(信号与信息处理专业论文)h264解码器在dm642上的移植和优化.pdf_第1页
(信号与信息处理专业论文)h264解码器在dm642上的移植和优化.pdf_第2页
(信号与信息处理专业论文)h264解码器在dm642上的移植和优化.pdf_第3页
(信号与信息处理专业论文)h264解码器在dm642上的移植和优化.pdf_第4页
(信号与信息处理专业论文)h264解码器在dm642上的移植和优化.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(信号与信息处理专业论文)h264解码器在dm642上的移植和优化.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 h 2 6 4 是i t u t ( 国际电信联盟) 在h 2 6 3 基础上制定的新的低码率视频编码标准。h 2 6 4 由于采 用了4 4 的整型d c t 运算,先进的帧内预测,先进熵编码c a v l c t l c a b a c ,可选的基于1 4 ( 1 8 ) 象素的运动估计和运动补偿,多模式的运动矢量估计以及网络适应能力等先进的技术,因此与以往 的视频编解码标准相比,在相同的码率下,h 2 6 4 具有更佳的图像质量,返使得h ,2 6 4 在无线通信和 网络传输等低码率视频应用领域得到更为广泛的应用。 论文首先对h 2 6 4 视频编解码标准傲了详细的介绍,然后着重对h2 6 4 的j m 8 1 解码器的优化方 法进行了讨论。 h2 6 4 编解码标准的优良性能是以增加算法复杂度为代价的,我们重点对j m 8 1 解码器进行了优 化,以提高解码器总体性能。j m 8 1 解码器的移植和优化是基于w i n t e c h 公司i p t v d k - 6 4 2 开发板的。 因此我们对i p t v d k 6 4 2 开发板做了详细的介绍,并以此作为基础详细讨论了将h 2 6 f 视频编解码 标准的j m s i 移植到d s p 平台并进行优化的过程。在优化过程中,重点对数据结构和程序结构进行 了调整,并对部分程序代码进行了修正,主要包括:d c t 和i d c t 模块的修正,全零块的判断,四 分之一插值模块的修正和去块效应滤波器模块的修正等。 测试结果表孵,在对图像质量影响不大的条件下,优亿算法提高7 r m 8 1 解码嚣在d s p 平台上的 运行速度。 最后,论文对移植和优化工作进行了总结,并对进一步优化的方向和方法给出了建议。 关键谣:h2 6 4 ,解码嚣,d c t ,1 d c t ,d s p ,优化 a b s t r a c t b a s e do nh 2 6 3 + + ,h 2 6 4i st h el a t e s tl o w b i t r a t ed i g i t a lv i d e oc o m p r e s s i o ns t a n d a r dc o n s t i t u t e db yt h e i t u t ( i n t e r n a t i o n a lt e l e c o m m u n i c a t i o n su n i o n ) c o m p a r e dw i t ht h ep r i o rd i g i t a lv i d e oc o m p r e s s i o n s t a n d a r d h 2 6 4h a sm u c hh e u e rq u a l i t yo w i n gt ot h ea d o p t i o no fa d v a n c e dc o d i n gt e c h n i q u e ss u c ha s4x4 i n t e g r a ld ct c o n t e x t - b a s e da d a p t i v ea r i t h m e t i cc o d i n g ( c a b a c ) a n du n i v e r s a lv a r i a b l el e n g t hc o d i n g ( u v l c ) ,a d v a n c e di n t r ap r e d i c t i o n ,1 4p i x e la c c u r a c ym o t i o ne s t i m a t i o na n dm o t i o nc o m p e n s a t i o na n d m u l t i p l em o t i o n v e c t o rm o d e s s oh 2 6 4h a sam u c hb r o a d e rf o r e g r o u n di na p p l i c a t i o n ss u c ha sw i r e l e s s c o m m u n i c a t i o na n dv i d e ot r a n s m i s s i o no v e rt h en e t w o r k s t h i sd i s s e r t a t i o nf i r s tg i v e sad e t a i l e di n t r o d u c t i o no ft h es t a n d a r dh2 6 4 ,a n dt h e np u t sg r e a te m p h a s i s o nt h eo p t i m i z a t i o no f j m 8 1d e c o d e r h 2 6 4a c h i e v e sb e t t e rp e r f o r m a n c e sa tt h ec o s to fe n l a r g i n gc o m p u t i n gc o n s u m p t i o n w ep u te m p h a s i s o nt h eo p t i m i z a t i o no fj m 8 1d e c o d e ri no r d e rt oa c h i e v eh i g h e rp e r f o r m a n c e t h ei m p l e m e n ta n d o p t i m i z a t i o no fj m 8 1d e c o d e ri sb a s e do ni p t v d k - 6 4 2m a d eb yw i n t e c hd i g i t a l ,s ow eg i v ead e t a i l e d i n t r o d u c t i o na b o u t1 p t v d k - 6 4 2 ,t h ed s pi m p l e m e n t a t i o no fj m 8 1a n do p t i m i z i n gt h ed e c o d e rb a s e do n d s p d u r i n gt h eo p t i m i z a t i o n ,w ef o c u so nt h em o d i f i c a t i o no fd a t as t r u c t u r ea n dp r o g r a ms t r u c t u r ea n d r e w r i t es o m ep a r to ft h ec o d e ,i n c l u d i n gd c ta n di d c tm o d u l e ,j u d g m e n to fz e r ob l o c km o d u l e ,1 4 i n t e r p o l a t i o nm o d u l ea n dl o o pf i l t e rm o d u l e t h et e s tr e s u l t ss h o wt h a tt h eo p t i m i z e da l g o r i t h m sh i g h l ys p e e du pt h ej m 8 1d e c o d i n gp r o g r a mw h i l e m a i n t a i n i n gt h ev i d e oq u a l i t y f i n a l l y ,as u m m a r yo ft h ea c c o m p l i s h e dw o r k ,t h ed i r e c t i o na n dm e t h o do ff u r t h e ro p t i m i z a t i o n sa r e a l s op r e s e n t e di nt h ed i s s e r t a t i o n k e yw o r d s :h 2 6 4 ,d e c o d e gd ct i d ct ,d s p , o p t i m i z a t i o n 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取碍 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 己在论文中作了明确的说明并表示了谢意。 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 研究生签名:曼赵建 一导师签名: 日期:加3 p , 第一章绪论 第一章绪论 1 1 视频压缩的发展历史及其主要应用l l l l s l 随着计算机技术的不断发展,视频、音频的数字化已经成为信息技术发展的方向。然而视频数字 化产生的大量数据也给视频信号传输和处理带来了困难,例如按c c i r 6 0 1 建议,普通质量的电视信号 数字视频的码率约为2 1 6 m b i t s ,而高清晰度电视h d t v 则在1 2 g b i t s 以上。对如此高的数据量进行存 储和实时处理开销已经十分巨大,更不用说在现有的网络上进行传输。因此对视频码流进行压缩编 码,对编码后的结果进行存储和传输才是比较好的解决途径。 对于视频压缩编码的研究早在上世纪4 0 年代就开始了,1 9 4 8 年出现了第一个编码理论一脉冲编码 调制( p u l s ec o d i n gm o d u l a t i o n ,简称p c m ) 理论。同年,s h a n n o n 首次提出并建立了信息率失真 函数的概念;1 9 5 9 年,s h a n n o n 进一步确立了码率失真理论,以上工作确立了信息编码的理论基 础。信息编码可以看作是第一代视频压缩编码,它主要包括预测编码、变换编码、熵编码及运动 补偿等技术,比较有代表性的第一代视频压缩编码有9 0 年代由运动图像专家组提出的m p e g 1 、 m p e g 2 。国际电信联盟提出的h 2 6 1 、h 2 6 3 。由于信息编码是建立在s h a n n o n 信息论基础之上的, 以经典集合论为工具,用概率统计来描述信源,其压缩思想基于数据统计特性,因此只能去除数据 两余,属于低层压缩编码的范畴。从8 0 年代后期开始,随着视频压缩编码相关学科及新兴学科的 迅速发展,产生了新一代的视频压缩技术,新的压缩编码思想由基于像素和像素块逐渐转变为基于 内容。进入9 0 年代中后期以后产生了第二代视频压缩编码,它充分考虑了人眼视觉特性及信源特性, 通过去除信源内容冗余来实现数据压缩。具有代表性的就是运动图像专家组的m p e g - 4 。除此之外, 第二代视频压缩编码技术还包括基于分形的编码、基于模型的编码、基于区域分割的编码和基于 神经网络的编码等。但从目前来看,第二代视频压缩编码仍处于研究阶段。例如,分形法中的 图像分割、迭代函数代码的获得非常困难。模型法则仅限于人头像等基本的视频图像。神经网 络方法发展的也不是十分成熟。这几种视频压缩编码的进一步发展还有赖于新的数学方法的产 生和其它相关学科的进步。但由于第二代压缩编码拥有巨大的压缩潜力。因此对其的研究从未 停止过。 目前视频压缩的应用主要体现在多媒体存储,多媒体传输两个方面,多媒体存储主要体现在如果 采用更高压缩比的编码方式,那么在容量有限的存储介质上,可以存放更多的视频信息。多媒体传 输主要是通过有线或无线网络传送音视频编码码流,例如互联网新闻发布,视频点播,远程教育, 远程医疗,视频监控,电子商务,多媒体邮件,可视电话和视频会议等。其中视频点播系统可以使 用户通过交互式的方式获得电视节目,从视频服务中心下行至用户的视频压缩码流可以达多j 4 0 0 m b p s 以上。视频监控是视频压缩应用的另外一大领域,远端的监视摄像机不断采集视频码流,对视频码 流的压缩编码可以由p c 机来完成,但由于远端的情况复杂,条件受限,实际应用中对视频码流的压 缩大多采用专用d s p 芯片来完成。可视电话和视频会议也是视频压缩应用的主要方面,目前新的视 频压缩编解码标准所支持的码率能低t 6 4 k b p s ,压缩比达到数百倍,完全可以在公用电话线上传输, 并且还能获得令人满意的图像质量。综上我们可以看到随着人们对于视频需求的不断增长,视频压 缩技术必将成为未来多媒体技术的重要组成部分。 1 2 视频压缩的基本原理【6 1 由于图像数据之间存在着一定的冗余,所以使得数据的压缩成为可能。信息论的创始人s h a n n o n 提出把数据看作是信息和冗余度的组合。所谓冗余度,是由于同幅图像的各像素之间或者图像的 帧与帧之间存在着很大的相关性,可利用一些编码的方法删除它们,从而达到减少冗余压缩数据的 目的。通常,视频数据本身存在这样几种冗余: 第一章绪论 ( 1 ) 空间上的冗余:视频图像同一帧内楣邻象素之问的相关性。 ( 2 ) 时间上的冗余:活动图像前后帧之问存在着较大的相关性。特别是在前景运动不大,背景静 止的条件下,例如可视电话,视频会议等。 ( 3 ) 信息上的冗余:根据信息论。使用相同的码长来表示不同概率出现的符号会造成b i t 数的浪费、 熵的增加。采用变长码可以明显改善效率。 另外人跟对于图像的失真也存在一定的不敏感,将图像的失真度控制在人眼能接受的范围之内 也可以实现视频压缩。 因此对数字图像进行压缩通常利用以下几个基本原理 ( 1 ) 在图像的同一帧内的相邻像素之闻、活动图像的相邻帧的对应像素之间往往存在很强的相关 性。去除或减少这些相关性,也就去除或减少图像信息中的冗余度,即实现了对数字图像的压缩。 ( 2 ) 对图像进行合适的编码,使之最接近信源图像的信息熵,达到图像压缩的目的。 ( 3 ) 人的视觉通常对于边缘急剧变化不敏感,对颜色分辨力弱,利用这些特征可以在相应部分适当 降低编码精度,即扩大量化步长,但人的视觉上并不感觉到图像质量的明显下降,从而达到对数字 图像压缩的目的。 依据上述原理,图像编码的过程可以概括为三个步骤,变换,量化和熵编码。 变换的目的在于利用图像数据时间、空间上的冗余度,通过变换改变图像数据的相关特性,使之 有利于压缩编码。通常的做法是通过预测把对象素本身的编码转换为对象素差值的编码这样所需 要的b i t 数会减少很多。 量化是利用人视觉的不敏感特性,综合考虑视觉需求和码率的限制,对变换后的数据进行再压缩。 量化会造成信息的丢失,是有损压缩,量化的引入是图像编码产生失真的根源,进行量化过程以后 的编码是有损编码。量化失真和高压缩比是图像压缩的对立面。但在大多数情况下。人是图像信息 的最终接受者,如果把量化以后的失真控制在人能接受的范围以内,这样的量化是可以接受的。 熵编码的作用在于消除符号冗余度,它一般不产生失真。最理想的情况是使输出码流的平均码长 等于量化后数据的信息熵,这种编码不存在任何冗余。 以上三个过程是互相联系互相制约的,数据压缩就在于灵活运用三种编码技术,在保证一定主观 图像质量的前提下,得到尽可能大的数据压缩比。 1 3 h 2 6 x 系列视频压缩编码标准 2 1 1 3 1 随着计算机运行速度,大规模集成电路和数据压缩技术的提高,多媒体编解码技术得到了迅速发 展。国际标准化组织( 1 s o ) 以及国际电信联盟( i t u ) 先后制定了一系列的视频编码标准,主要有 h 2 6 1 ,m p e g i ,m p e g 2 ,h 2 6 3 m p e g 4 和h 2 6 4 等。其中h2 6 1 ,m p e g i ,m p e g 2 ,h 2 6 3 , h 2 6 4 采用的主要是预测编码,变换编码,熵编码以及运动补偿。以下简要介绍h 2 6 x 系列视频压缩 编码标准。 1 3 1h 2 6 1 h2 6 1 是l t u t 于1 9 8 4 1 9 8 9 年制定的针对可视电话和视频会议等业务的视频压缩标准,目的是在 窄带综合业务数字网( n i s d n ) 上实现p 6 4 k b p s 的双向声像业务,其中p = l 3 0 。因此h 2 6 1 3 7 被 称作p 6 4 k b p s 视昕业务的视频编解码器。h 2 6 j 只支持c i f 和q c l f 两种图像格式,在这两种格式下图 像的水平和垂直色度信号分辨率是亮度信号的二分之一。c i fj f f l q c l f 的亮度信号y 的分辨率分别为 2 第一章绪论 3 5 2 x 2 8 8 像素和1 7 6 x 1 4 4 像素,色度信号c r 和c b 分别为1 7 6 x 1 4 4 像素和8 8 x 7 2 像素。两种格式均为 逐行扫描,c i f 格式的扫描帧频率是3 0 f s q c i f 格式为1 5 或7 5 f ,s 。通常c i f 格式用于视频会议, q c i f 格式用于可视电话。 h 2 6 1 采用了帧间编码来减少时间的冗余,变换编码来减少空间冗余,因此具有压缩比高,算法 复杂度低等优点。h 2 6 1 中仅使用l 帧和p 帧,格式为每一对l 帧之间包含3 个p 帧。在i 帧和p 帧 中每6 个8 x 8 的象素块( b l o c k ) 组成一个宏块( m a c r o b l o c k ) ,每个宏块包含4 个亮度块和2 个色度块。每一个宏块都有一个类字段,用来说明该宏块是帧内编码,还是帧问编码。一定数量的 宏块构成一个块组宏块组,若干块组构成一帧图像。以c i f 图像为例,每帧图像由1 2 个宏块组成。 1 3 2h 2 6 3 1 9 9 5 年由i t u t 制定的h2 6 3 标准是在h 2 6 1 的基础上加以改进而形成的,可以以低于6 4 k b p s 的码 率传输。当然,h 2 6 3 也可以用于大于6 4 k b p s 的信道,此时能够获得比h 2 6 1 质量更好的复原图像。 h 2 6 3 特别适用于无线网络、p s t n 和因特网等环境下的视频传输,为了进一步挖掘编码的效率, l t u t 对h 2 6 3 进行了多次补充,并于1 9 9 8 年制定了h 2 6 3 + ,2 0 0 0 年制定了h 2 6 3 + + 。h 2 6 3 编码的 基本框架与h 2 6 1 不同之处在于: ( 1 ) h 2 6 1 仅支持q c i f ,c i f 格式,而h 2 6 3 支持包括s u b - c i f ,q c i f ,c i f ,4 c i f ,1 6 c i f 在内 的五种图像格式。 ( 2 ) h 2 6 3 的宏块组格式与h 2 6 1 不同。在h 2 6 3 中,每个宏块组包括k x l 6 行象素,k 由图像分 辨率决定,对于低分辨率的s u b - - c i f ,q c i f ,a f 格式 k = 1 ;对于分辨率较高的4 c i f ,k = 2 ,1 6 c i f , k = 4 。 ( 3 ) h 2 6 3 的运动估计采用半像素精度,同时又增加了不受限制运动矢量、基于语法的算术编码模 式、先进的预测模式和p b 帧模式等4 种可选编码模式。 由于采取了上述改进,h 2 6 3 与h 2 6 l 相比,在性能上有较大改进。在小于6 4 k b p s 时,h 2 6 3 的 p s n r ( 峰值信噪比) 比h 2 6 1 要增大3 4 d b 。换句话说,在相同的质量下,所用b i t 数与h 2 6 1 相 比减少5 0 以上。 1 3 3h 2 6 3 + ,h 2 6 3 + + 1 9 9 8 年。l t u - t 公布了h 2 6 3 改进版本( 又称为h ,2 6 3 + ) 。h 2 6 3 + 与h 2 6 3 相比。改进了一个可 选模式( 大运动矢量模式) ,另外又新增了了1 2 个可选的参考模式,采用这些模式,可以使h 2 6 3 编码器在压缩码率,抗错能力,可扩展性方面获得更佳的性能。在2 0 0 0 年,i t u t 又公布了h 2 6 3 + + , 与h 2 6 3 + 相比,又新增了3 种可选的高级模式,以进一步改善性能。 1 3 4h 2 6 4 h 2 6 4 标准是由l t u t 的视频编码专家组和i s o f l e c 的活动图像专家组共同成立的联合视频小组 ( j v t ) 于2 0 0 3 年公布的,定名为h 2 6 4 m p e g 4p a r t1 0 ,官方的叫法是先进视频编码( a d v a n c e d v i d e o c o d i n g ,a v c ) 。h ,2 6 4 是在j t u - th 2 6 l 标准基础上提出的,它继承了h 。2 6 3 ,m p e g l ,m p e g 2 和 m p e g 4 的优点,在沿用运动补偿加变换编码的混合结构基础上,增添了: 先进熵编码c a v l c 和c a b a c 。 可选的i 4 ( 1 8 ) 象索的运动估计。 多模式的运动矢量估计。 4 x 4 的整型d c t 运算。 帧内预测。 网络适应能力。 3 第一章绪论 这些改进进一步提高了编码算法的压缩效率和图像播放质量。与以往标准相比,在相同失真率条 件下h 2 6 4 的编码效率提高了5 0 左右。 1 3 5h 2 6 4 解决方案实例1 9 1 加拿大的一家企业u b v i d e o 提供的h 2 6 4 解决方案目前是t i 官方网站上推荐的一款成功的解决 方案。u b v i d e o 的工程人员采用t m s 3 2 0 d m 6 4 2 数字信号处理芯片作为平台,重点实现和优化了 m a i np r o n i e 的编解码器。作为当时世界上第一例h 2 6 4m a i np r o f i l e t 麸a 式实时解码器,这款解决方案 很轻松达到了解码3 0 帧每秒以上的性能,解码图像的尺寸达到了7 2 0 x 3 6 0 。 另外一家美国企业w w 通信公司则基于1 1 的c 6 4 x 和d m 6 4 x 两个系列的d s p 实现了h 2 6 4 的 b a s e l i n e 编解码系统。系统实现h 2 6 4 的码率要比实现h 2 6 3 和m p e g - 4 少5 0 ,同时能获得比h 2 6 3 + , m p e g - 4 以及w m 9 更好的图像质量。编码端和解码端加起来总延时不超过15 0 m s ,系统可以实现解码 2 5 帧每秒的7 2 0 x 5 7 6 的p a l 制式图像或者3 0 帧每秒的7 2 0 x 4 8 0 的n t s c 制式图像。 这在一定程度上要归功于t id s p 的高性能,但更重要的还是基于h 2 6 4 本身特有的编解码方式, 使其可以在高速和优良画质之间达到完美的平衡。 1 4d s p 芯片的发展现状和应用 d s p 数字信号处理芯片是上世9 8 0 年代出现的种全新高速处理器,主要应用在数据通信,语音 图像处理领域,如通用调制解调器,无线通信终端,数字电视等。随着技术的发展,d s p 的应用也 越来越广泛。目h , 前j d s p 在宽带通信。数字控制,数字音频,数字视频市场上已经开始占据主角地位。 目前主流的视频处理d s p 芯片主要有: ( 1 ) p h i l i p s 公司的p n x l 3 0 0 和p n x l 5 0 0 系列 p n x l 3 0 0 是t m l 3 0 0 的改进版,大规模应用于视频监控产品中。目前其主要型号有:p n x l 3 0 2 ( 2 0 0 m h z ) ,p n x l 3 0 l ( 1 8 0 m h z ) ,p n x l 3 1 1 ( 1 6 6 m h z ,低功耗) ,p n x l 3 0 0 ( 1 4 3 m h z ) , p n x l 3 0 3 ( 1 6 6 m h z ) p n x l 5 0 0 是p n x l 3 0 0 的换代产品,其处理能力更加强大。相对于p n x l 3 0 0 ,p n x l 5 0 0 增加了 许多新的功能,如:网络接口,i d e 接口,视频输出( 1 9 2 0 x t 0 8 0 ) ,视频滤波和d e - i n t e r l a c e 处 理,2 1 ) 图形加速器,内嵌看门狗和两个r e s e t 管脚。目前p n x l 5 0 0 的主要型号有:p n x l 5 0 0 e ( 2 4 3 m h z ) ,p n x l 5 0 1 e ( 2 6 6 m h z ) ,p n x l 5 0 2 e ( 3 0 0 m h z ) ,p n x l 5 0 3 e ( 3 5 0 z ) ,p n x l 5 】1 e ( 2 6 6 m h z ,低功耗) 。如表1 1 所示: 表1 1p n x l 3 0 0 和p n x l 5 0 0 p n x 1 3 0 0p n x 1 5 0 0 主频速度 1 4 3 2 0 0 m h z2 4 3 3 5 0 m h z 内存支持 1 8 4 m h zs d r a m2 0 0 m h zd d r 内存支持大小2 - 3 2 m b1 6 2 5 6 m b 视频输入精度 8 b i t1 0 b i t 视频输入口 1 个2 个 视频输出口 1 个 2 个 功耗2 9 4 w n y ! 一 i b s = 3 i 1 一 i 1 b s 囝l i b s = 1 图2 - 4 块边缘强度的分类判断 若将图2 3 细分到每个象素点,则如图2 - 5 所示,图中实线是滤波边界。 垂直边缘 水平边缘 p 3l a o l p oq o0 1 吐 醴 d 3 口2 坼 q 啦 a e 图2 - 5 水平与垂直滤波边界的划分 这是垂直和水平两种边缘的情况,一般说来块效应是由运动补偿和量化步长不一致造成的,但在 一帧图像内部,图像本身也存在着物体轮廓的真实边界。如何区分这两者也关系到重建后的图像的 质量一般情况下,物体轮廓的真实边界两侧象素的梯度要比块效应边缘两侧的象素梯度大。因此 在h 2 6 4 的去块效应滤波模块中给定了两个门限,分别代表4 x 4 块的块间边界门限口和块内边界门 限。如果边界两侧象素的梯度高于边界门限,就认为是真实物体轮廓。若低于门限,就认为是方 块效应的边界。即必须要满足式( 2 1 ) 中至少一个,才进行滤波。 2 第三章d m 6 4 2 处理器性能分析及其软件开发平台的建立 l p o q o l a l p l 一p o l ( 2 - 1 ) 1 9 1 - q 0 i 1 2 p 1 ) 1 a p 2 = c ,i p ( q 2 + ( ( q o + p 0 + 1 ) 1 2 9 1 ) 1 ( 2 - 2 ) p 1 = c 坳( p l + a p l ) q 1 = c l 妒( 9 1 + 9 1 ) 如果经过门限卢判断,还需要块内滤波修改p 1 ,q l 的值,则如式( 2 3 ) 所示: 卸1 = c l i p ( p 2 + ( ( q 0 + p 0 + 1 ) 1 - 2 p 1 ) 1 a p 2 = c l i p ( q 2 + ( ( q o + p 0 + 1 ) 1 2 9 1 ) 1 ( 2 - 3 ) p 1 = c l i p ( p l + a p l ) a l = c l 勿( 9 1 + a 9 1 ) 在对方块效应较大的帧内编码解码的情况下,需要使用较强的滤波器来进行处理。除了上述几个 象素值之外,还增加了对p 2 ,q 2 这两个象素点的修正。从而避免由于块间象素调整过大引起的块内 的方块效应。此时采用的滤波器为4 抽头和5 抽头滤波器。驯:l p o - q o i 1 ) + 2 时进 行块间的强滤波,如果同时需要块内滤波,则对于亮度分量如式( 2 - 4 ) 所示: p o = ( p 2 + 2 p 1 + 2 p o + 2 9 0 + 9 1 + 4 ) 3 p 1 = ( p 2 + p l + p o + q o + 2 ) 2 ( 2 - 4 ) p 2 = ( 2 p 3 + 3 p 2 + p l + p o + q o + 4 ) 3 对于色度分量或者不需要进行块内滤波的亮度分量则如式( 2 5 ) 所示: p o = ( 2 p l + p o + q l + 2 ) 2 对于q 块的处理与p 块相同。 去块效应滤波器应用的一个例子如图2 - 5 所示,量化步长分别为3 2 和3 6 。 ( 2 5 ) 第三章d m 6 4 2 处理器性能分析及其软件开发平台的建立 原始图像 重建图像q p = - 3 2 无滤波重建图像q p = 3 2 有滤波 原始图像 重建图像q p = 3 6 无滤波重建图像q p = - 3 6 有滤波 图2 - 5 去块效应滤波器应用示倒【1 3 】 2 3 2 整型d c t 和i d c t 变换和h a d a m a r d 正反变换【1 6 1 在h 2 6 4 之前的各种视频压缩标准中,如m p e g 1 ,m p e g - 2 ,h 2 6 1 ,h 2 6 3 等都是采用8 x 8 的 传统d c t 和i d c t 变换。在h 2 6 4 中采用的则是基于4 x 4 的整型d c t 和i d c t 变换。在介绍整型 d c t 和i d c t 变换前有必要对h 2 6 4 中宏块的编码划分模式做一个介绍。如图2 - 6 所示,h 2 6 4 中的 4 x 4 的整型d c t 和i d c t 是针对所有4 x 4 残差数据的,特别的在当前1 6 x 1 6 的宏块是帧内预测或者 当前宏块是4 x 4 的色度预测时,还要将d c t 变换后每个4 x 4 块的左上角的d c 系数取出构成一个单 独的4 x 4 矩阵或2 x 2 矩阵,对这种矩阵再次进行h a d a m a r d 变换。每个4 x 4 块的d c 系数被取出后, 块内的d c 都设为0 。 l u m a ( h c r 图2 - 6h 2 6 4 中的亮度和色度的残差系数块 1 6 】 4 x 4 的整型d c t 和1 d c t 变换针对的就是o 1 5 ,1 8 2 1 和2 2 2 5 这些宏块。 1 4 第三章d m 6 4 2 处理器性能分析及其软件开发平台的建立 传统的d c t 变换如式( 2 - 6 ) 所示 l 口 ,i6 y = a x a 。= i l 口 l c 其中:口= ,6 = 冉c o s ( i f ) ,c = 再c o s ( 警) 传统的d c t 在处理视频编解码时主要存在以下问题 ( 2 - 6 ) ( 1 ) 运算精度不够:由于变换中存在无理数,这样不得不对变换后的系数进行量化,从而导致反 变换后不能精确恢复原始数据。当编码器和解码器使用的算法不能很好的匹配时,就使得用作编码 器参考帧的本地解码图像和解码器最终输出的解码图像不一致,产生了参考帧的偏移,这就是常见 的m i s m a t c h 的问题。 ( 2 ) 运算过于复杂:由于变换中多次使用小数乘法,导致d c t 运算十分耗时。 h 2 6 4 中的整型d c t 变换对传统d c t 的定义做了修改,如式( 2 7 ) 所示: y = ( c x c 7 1 0 e = 其中:d = c b 0 4 1 1l1 ldd一1l l一1 11i x d一1 l d j l1l d 、 1d一11l l 1 一d l1 ii 固 1 1 l 叫j j ( 2 - 7 ) e 为缩放矩阵,符号。表示( ( 捌c 7 ) 中的每个元素与e 中相同位置的元素对应相乘。为了简化 变换运算,可以将d 近似为i 2 ,同时为了保持变换的正交性,b 也需要相应变化: 口= ,6 = 冉,d = 。这样一来在矩阵c 的第二行第四行和矩阵c 7 第二列和第四列都出现了1 2 , 会使精度下降,故将其变为1 ,而在缩放矩阵e 中除2 作为补偿。最终的整型d c t 变换如式( 2 8 ) 所示: f f l 111 y c ,嬲j 。耻ll 21 1 _ 2 。 l l1 1 1 1 l l l 之2 1 反变换如式( 2 9 ) 所示: l21 111 111 1 21 5 a b 2 b 2 4 口6 ,2 b 2 4 a 2 口6 2 a 2 a b 2 a b 2 b 2 4 a b 2 b 2 4 ( 2 - 8 ) 叫刭 吨 叼 口 0 o 叶而 一旧 旧 旧一 r 1j 口而口吖 口叶q 6口f 叫而 1j 的舻即 矿曲矿曲 曲舻的舻 矿西矿曲 2 2i口6 口6 口 口 。l 固 、, 1j ,之:一 第三章d m 6 4 2 处理器性能分析及其软件开发平台的建立 h 1 1锄-1 x ( y 吡) c f 2 瞄- i 1 孙 整型d c t 和 d c t 变换矩阵分别如式( 2 1 0 ) 所示 ( 2 - 1 0 ) 对于宏块l ,1 6 ,1 7 来说,它们是帧内预测模式下亮度块和所有模式下色度块的直流分量矩阵。 对于亮度块帧内预测模式,由于宏块的象素是通过周围的象素预测得到的,故经过d c t 变换后得到 的d c 系数还有很大的相关性,因此还要对其进行4 x 4 的h a d a m a r d 变换。如式( 2 1i ) 所示: ( 2 一1 1 ) 其q a x 是1 6 个亮度d c 系数组成的矩阵,y 是变换的结果。在解码端要进行1 反h a d a m a r d 变换。如 式( 2 1 2 ) 所示: x = i:y ( 2 - 1 2 ) 对于经过d c t 变换的色度分量。它的直流分量构成一个2 2 的矩阵,同样要进:f t h a d a m a r d 变换。 如式( 2 1 3 ) 所示: 州: ( 2 - 1 3 ) 其中w 是4 个色度d c 系数组成的矩阵,y 是变换后的结果。在解码端要进行反h a d a m a r d 变换。如 式( 2 1 4 ) 所示: ,矿= 11 。 y :! 。 ,矿= b ! 。 y 01 , ( 2 ,。, 我们可以看到二阶和因阶的h a d a m a r d 正反变换矩阵是一致的。 这样的d c t ; i i d c t 变换以及h a d a m a r d i e 反仅用整数加减法和移位操作即可实现,在不考虑量化 影响的情况下,解码端可以准确地恢复编码端的输入,编解码两端不会出现m j s m a l c h 现象。代价则 1 6 ) 9 - 2 1,j ( 1 土2 1 1 一 -1:o,上:o一 一=! n 的护舻 矿曲矿动的舻驴 驴小的 。l 圆y 1,j 一,弓 ,o o ,一:o ,;i叫0 一日 之,o o o 2,o 之 一陀一 = h 1,j l l l l 一 1 l l 一 一1 l l 1 1 一 一 i 1 ,。l x 1,j 1 l l 一1 一 l l 1 一 一1 1 l l 1 一 一 一一 = y 1,j o o y 第三章d m 6 4 2 处理器性能分析及其软件开发平台的建屯 是压缩性能的略微下降。变换中缩放矩阵的乘法运算可以被整合到量化过程中,从而降低了整个运 算的乘法数。此外,该变换是针对4 x 4 块进行的,相对于以往8 x 8 的变换,有助于减少块效应。 2 3 3 运动补偿 1 7 11 1 8 1 在h 2 6 4 标准中,对于运动的处理主要有两方面。一个是编码端的运动估计,它是对物体从上一 帧到当前帧的位移方向作出估计。形成运动矢量,我们称之为运动估计。另一个是按照运动矢量, 在上一帧图像基础上作出位移,完成对当前帧图像的估计和重建,这就是所谓的运动补偿。解码端 的运动补偿是h 2 6 4 标准解码模块的重要组成部分,因为它需要用到前若干帧的信息,所以在解码端 通常会有帧缓存设计。运动补偿主要针对的是p 帧和b 帧。假设运动物体在第n 1 帧时位于图像的 ( x 0 。y o ) 处,在第n 帧运动到( x l ,y 1 ) 处,如图2 - 7 所示: 图2 - 7 运动补偿示意图 此时若直接将两帧图像相减,由于( x l ,y 1 ) 点的物体与第n 1 帧相同位置上的背景相关性很小, 故得到的差值会很大。同理第n - 1 帧上的运动物体( x 0 ,y 0 ) 与第n 帧上的相同位置的背景的差值也很 大,不利于量化编码。因此我们考虑运用运动估计出来的运动矢量( d x ,d y ) 将第n 帧的运动物体移 回到( x 0 ,y 0 ) 附近然后再与第n 1 帧相减,此时得到的差值较小,便于后面进行的量化和变换编码。 p 帧正是运用了这种方法,可以提供比i 帧更高的压缩率。b 帧的处理形式与p 帧类似,只不过b 帧用到 的是前后若干帧的信息。 在解码端,运动矢量和残差系数编码是一起传递过来的,解码端本地也缓存有前若干帧图像。 当解码得出残差系数后,依据解码本地缓存的前一帧或多帧图像可以恢复出不包含运动矢量的当前 帧,再结合运动矢量,就可以恢复出当前帧的图像。 2 3 4 熵编码的解码1 1 2 1 1 1 5 | 1 2 6 1 h 2 6 4 有两种熵编码的方式,基于上下文的自适应变长码( c a v l c ,c o n t e x t b a s e da d a p t i v e v a r i a b l el e n g t hc o d i n g ) 和基于上下文的自适应二进制算术编码( c a b a c ,c o n t e x t b a s e da d a p t i v e b i n a r ya r i t h m e t i cc o d i n g ) 。 在c a v l c 中,不同语法单元的码表的选择依赖于已经传输的单元,利用相邻块间非零系数的 个数相关和零系数集中在高频段等特性,采用从高频开始的逆向扫描方式,充分挖掘了数据的统计 特性,提高了压缩比。码表的设计符合相应的统计规律,它的编码效率比简单的v l c 编码要高。 c a b a c 算术编码是一种高效的熵编码方案,它的每个符号所对应的码长被认为是分数。由于 1 7 第三章d m 6 4 2 处理器性能分析及其软件开发平台的建立 当前的编码与以前编码的结果有关,所以它考虑的是信源符号序列整体的概率特性,而不是单个符 号的概率特性,因而它能够更大程度地逼近信源的极限熵,降低码率。在c a b a c 中,每编码一个 符号,编码器就会自动调整对信源概率模型的估计,随后的符号就在这个更新了的概率模型基础上 进行编码。这实际上是一种动态的编码过程。显然,与c a v l c 编码中预先设定好若干概率模型的 方法比较起来,c a b a c 有更大的灵活性,可以获得更好的编码性能,可以降低大约1 0 码率。 c a b a c 编码流程如图2 2 0 所示: 自适应二值算术编码器 崾悍 图2 - 2 0c a b a c 流程陲1 1 3 3 】 码表应当常驻内存,这样可以提高解码速度,以c a v l c 编码方式的解码为例,码表的存储结 构是二维的,码表的内容是是码字,两个下标代表解码后的两个语法元素n u m b e ro fc o e f f i c i e n t s 和 n u m b e ro f t r a i l i n gl s 。对于二维表的查找,若通过下标查找内容比较容易,通过内容查找下标就有可 能需要遍历整张表。步骤如下: ( 1 ) 取出表中的一个码字 ( 2 ) 根据码字的长度从码流中取出相应的长度 ( 3 )比较码字和取出的字符串是否相同,若相同则找到码字,否则重复步骤( 1 ) 由上我们可以看到不管是解码哪种编码方式,传统的查找码字方法都有可能需要遍历整个码表, 为了改善查找表的性能,可以从两方面入手。一是c a v l c 码表通常由若干个0 ,一个l 和o 3 个 信息码组成,因此可以根据前缀0 的多少对码表进行分类,然后用信息位进行判断。二是也可以根 据c a v l c 中的码字没有相同的前缀这一特点,将码表的存储结构c a - - 维改为树状结构,构造一个二 叉树,对二叉树进行遍历。 1 8 第三章d m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论