(通信与信息系统专业论文)h264编码器的dsp实现与优化.pdf_第1页
(通信与信息系统专业论文)h264编码器的dsp实现与优化.pdf_第2页
(通信与信息系统专业论文)h264编码器的dsp实现与优化.pdf_第3页
(通信与信息系统专业论文)h264编码器的dsp实现与优化.pdf_第4页
(通信与信息系统专业论文)h264编码器的dsp实现与优化.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

摘要 在尽可能低的带宽下传输高质量的视频并能适应不同网络的传输要求一直是人们的追求 目标,为此i t u t 的视频编码专家组( v c e g ) 及i s o i e c 的活动图像专家组( m p e g ) 联合组成的 联合视频专家组( j v t ) 在2 0 0 3 年3 月公布了新一代的视频压缩标准,此标准被称为i t u t 的 h 2 6 4 协议或i s o i e c 的m p e g 4 的高级视频编码部分( a v c ) ,在相同编码质量下h 2 6 4 a v c 标准相对于h 2 6 3 标准能节省5 0 的码流,且其分层的设计思想提高了编码器对不同网络的 亲利性,所以自该标准推出以来就一直得到业界的广泛关注。但是标准的高复杂度也是目前视 频应用的主要制约因素,所以研究标准在d s p 上的实现及优化是非常有意义的。 本文从分析h 2 6 4 的核心技术开始,具体介绍了h 2 6 4 在提高编码效率上所采取的一系列 技术,这部分工作主要是基于对标准的研究和国内外文献的阅读;然后本文研究了多模式快速 选择方法,提出了快速多模式运动估计算法f f m m e ,并实验验证了该算法的有效性,在此基 础上实现了d m 6 4 2 平台上的h 2 6 4b a s e l i n e 编码器,并从程序员的角度对d s p 平台软件优化 的方法进行了细致的分析,这部分工作基丁大量的实验结果分析;最后本文给出了利用本文算 法实现的h 2 6 4 网络摄像机的性能分析,由实验结果可知,本文的编码器达到了实时应用的要 求,具有一定的应用价值。相信本文所做工作将对h 2 6 4 标准的实际应用和推广起到一定作用。 关键词:视频压缩编码;h 2 6 4 a v c ;d m 6 4 2 ;快速多模式运动估计 a b s t r a c t t r a n s m i t t i n gt h ev i d e oo fh i g h - q u a l i t yt h r o u g ht h en a r r o wb a n d w i d t ha n da d a p t i n gt ov a r i o u s n e t w o r k sa r ea l w a y sp u r s u i t so fp e o p l e s oan e wi n t e r n a t i o n a lv i d e oc o d i n gs t a n d a r dw a sr e l e a s e d o nm a r2 0 0 3 ,a n dw a sj o i n t l yb e i n gm a d eb yi r u tv i d e oc o d i n ge x p e r t sg r o u p ( v c e g ) a n d i s o i e cm o v i n gp i c t u r ee x p e r t sg r o u p ( m p e g ) ,n a m e da sj o i n tv i d e ot e a m ( j v t ) t h i ss t a n d a r dw a s k n o w na s1 1 1 u - tr e c o m m e n d a t i o nh 2 6 4a n da si s o i e c1 4 4 9 6 ( m p e g 一4 1p a r t1 0 c o m p a r e dw i t h o t h e rp r i o rv i d e oc o d i n gs t a n d a r d s ,s u c ha sm p e g - 2 ,m p e g 一4a s pa n dh 2 6 3 ,a b o u t5 0 b i t sc a l l b es a v e da n dm o r ea d a p t i v et ov a r i o u sn e t w o r k sw i t hd e s i g no f2 - l a y e r s h 2 6 4h a sb e e ng o t t e n m u c ha t t e n t i o nf r o mr e s e a r c ha r e aa n di n d u s t r ya l lt h r o u g h ,b u tt h eh i g h c o m p l e x i t yo fh 2 6 4h a s a l w a y sb e e naf a c t o ro f r e s t r i c t i o no f a p p l i c a t i o nm o s t l y , s ot os t u d yt h ei m p l e m e n ta n do p t i m i z a t i o n o f h 2 6 4b a s e do nd s pi ss i g n i f i c a n t i nt h i sp a p e r , b a s e do nt h er e s e a r c ho fs t a n d a r da n dr e a d i n go fm a g a z i n e s ,t h ek e yt e c h n o l o g i e s o fh 2 6 4a r ei n t r o d u c e df i r s t 。a n dt h et e c h n o l o g i e st oe n h a n c et h e e f f i c i e n c yo fe n c o d i n ga r e e m p h a s i z e do n ;t h e nt h ef a s tm u l t i - m o d ed e c i s i o na l g o r i t h me s p e c i a l l yf a s tm u l t i - m o d em o t i o n e s t i m a t i o n ( f m m e ) a l g o r i t h mi sp r o v i d e d ,a n ds o m ee x p e r i m e n t sa r ep r e s e n t b a s e do nt h e s e ,t h e b a s e l i n ee n c o d e ro nd m 6 4 2i si m p l e m e n t e d f r o mt h ep o i n to f v i e wo f p r o g r a m m e r , t h em e t h o d so f o p t i m i z a t i o no nd s p a r ea n a l y z e di nd e t a i l ,t h e s ep a r t s ,w h i c hb a s e do nr e s e a r c ho fe x p e r i m e n t s ;a t l a s t ,t h ep e r f o r m a n c eo fh 2 6 4n e t w o r kc a m e r ai sg i v e n ,a n df r o mt h er e s u l t so fe x p e r i m e n t ,t h i s e n c o d e r , w h i c hc a l lr e a l i z er e a l - t i m ec o d i n gh a sag o o dv a l u ei np r a c t i c e t h e r e f o r ew h a th a sb e e n s t u d i e ds h o u l db eap r o m o t i o nt om a k eh 2 6 4w o r ki np r a c t i c ea n di nw i d eu s e k e yw o r d s :v i d e oc o m p r e s s i o nc o d e ;h 2 6 4 a v c ;d m 6 4 2 ;f a s tm u l t i m o d em o t i o ne s t i m a t i o n 第一章绪论 第一章绪论 随着信息技术的发展,单一的语音通信已经不能满足人们的需求,人们对图像产品进入 普通消费领域寄予了厚望。多媒体通信的信息量大,尤其是视频信息,为了节约带宽,让更 多的多媒体信息在网络中传送,必须对视频信息进行高效的压缩,因此在低速信道上实现实 时动态视频编码技术是目前视频处理领域的一个研究热点。 从1 9 8 6 年起,1 s o 和i t u t 就开始致力于制定图像压缩编码方面的国际标准。针对活 动图像压缩编码制定的h 2 6 1 标准在1 9 9 0 年1 2 月获得通过,它是几十年图像编码研究成果 的集中体现,其后制定的几个标准,原理和技术思想都与h 2 6 1 一致。1 9 9 1 年,i s o 正式 推出m p e g 1 运动图像压缩国际标准,1 9 9 3 年又制定了m p e g 2 标准。为适应甚低码率可 视电话系统的发展需要,1 1 u ,t 在h 2 6 1 基础上改进的甚低码率视频图像编码国际标准h 2 6 3 于1 9 9 5 年7 月提出。随着市场对高性能视频业务的需求不断膨胀,特别是如何提高视频编 码技术对i p 网络、移动网络等不同网络的亲和性,由i t u t 的视频编码专家组( v c e g ) 及 i s 0 i e c 的活动图像专家组( m p e g ) 联合组成的联合视频专家组( j v t ) 在2 0 0 3 年3 月公布了新 叶t 的视频压缩标准此标准被称为i t u t 的h 2 6 4 协议或i s 0 i e c 的m p e g 4 的高级视频编 码部分。h 2 6 4 标准不仅显著提高了压缩比,而且增强了对不同网路的适应能力,自推出以 来,其优良的性能即得到业界的一致认可,可以预见h 2 6 4 将是i p t v 、移动视频等领域的 首选标准,所以对其实现技术的研究将大有可为。 1 1 视频压缩思想 研究发现,多媒体信息源,特别是视频图像信息源,其信息冗余度很高,若能去除这些 冗余数据,就可以使原始图像数据极大地减少,从而解决图像数据量巨大的问题。常见的 冗余信息类型如下: ( 1 ) 空间冗余 这是静态图像存在的最主要的一种数据冗余。例如一幅照片中有一块表面颜色均匀的区 域,在此区域中所有点的光强和色彩以及饱和度都是相同的,这种空间连贯性就是称为空间 相关或空间冗余。 ( 2 ) 时间冗余 这是序列图像( 电视图像、运动图像) 中经常包含的冗余。序列图像中的相邻帧往往包 含相同的背景和运动物体,只不过运动物体所在的空间位置略有不同。这种相邻帧间数据的 高度相关性就称为时间冗余。 ( 3 ) 信息熵冗余 也称为编码冗余。由信息论可知,为表示图像数据的一个像素点,只要按其信息熵的大 小分配相应比特数即可。而对于实际图像数据的每个像素,很难得到它的信息熵,因此一般 是对每个像素采用相同的比特数来表示,这样就必然存在冗余,这种冗余就称为信息熵冗余。 由于信息熵冗余和空间、时间冗余都决定于图像数据的统计特性,因此把它们统称为统计冗 余。 ( 4 ) 知识冗余 图像中所包含的某些信息与人们的一些先验知识有关,例如人脸的图像有固定的结构, 五官问的相互位置信息就是一些常识。这种冗余就称为知识冗余。 ( 5 ) 视觉冗余 h 2 6 4 编码器的d s p 实现与优化 豳1 1 图像编码原理框圈 1 2 数字视频编码标准的发尉1 】 制定罔像编码标准的国际组织主要有两个:i t u - t 和一i s o 一i e c , i t u t 的标准称为建议, 以字母排序,视频会议电视编码的标准在“h ”的子集里,如h 2 6 1 、h 2 6 2 和h 2 6 3 。i s 0 i e c 的标准按序号排列,负i t ! p e _ _ q - 1 相对应的是1 1 1 7 2 、竖竖一2 相对应的是1 3 8 1 3 。i t u - t 标准主要用于实时视频通信,如视频电视会议、可视电话等。i i i m p e g 标准主要用于广播电视、 d v i ) 和视频流媒体。大多数情况下,这两个标准组织独立制定不同的标准,然而新的标准| l2 6 4 是由j v t 联合制定的。 1 9 8 8 年,c c i t t 通过了h 2 6 1 建议,又称为“p 6 4 k b i t s 视听业务用的视频编解码”, h 2 6 1 建议是第一个视频图像编码的国际标准,具有覆盖整个i s d n 基群信道的功能,它的 应用目标是可视电话和会议电视。 1 9 9 1 年,i s 0 i e c 公布了m p e g 一1 标准,码率为1 5 n b j t s ,丰要应用于家用v c d 的视 频压缩。 1 9 9 4 年tm p e g 一2 h 2 6 2 标准推出。与m p e g 一1 一样,m p e 6 2 也是为数字视听信号提出 的压缩方法。它允许数据率高达1 0 0 f o i t s ,并且支持隔行扫描视频格式和许多高级性能, 包括支持h d t v ( 高清晰度电视) 。m p e 6 2 最主要的应用是通过卫星、电缆和地而频道进行视 频和音频数字传输。 1 9 9 5 年,h 2 6 3 建议推出,用于低于6 4 k b i t s 的低码率视频传输。该标准是h 2 6 1 的 重要发展,其原理框图与h2 6 1f 分相似,以混合编码为核心。原始视频数据也同样分成图 像层、块组层、宏块层和块层,但h 2 6 3 可以支持更多的图像格式:q c i f 、s u b o c i f 、c i f 、 4 c i f 和1 6 c i f ,并且没有限定每秒帧数,因此可以通过减少帧数来限制最大编码速率。其广 - 2 - 第一章绪论 泛应用于p s t n 信道中的可视电话、多媒体通信中。 1 9 9 7 年和2 0 0 0 年又分别公布了 l2 6 3 + 、h2 6 3 + + ,舔加了更多的可选模式。 1 9 9 9 年,i s o i e c 通过,m p e g 一4 ,也是针对低比特率视频图像编码方法提出的,它除 了定义视频压缩编码标准外还增强了多媒体通信的交互性和灵活性。基于内容的肝e g - 4 视频图像压缩编码主要包括3 个步骤:从原始视频数据流中分割出视频物体v o ( v i d e o o b j e c t ) ;分别对各个v 0 独立编码即对不同v 0 的三类信息( 运动信息、形状信息、纹理 信息) 分别编码,分配币i 刊的自马宇;将各个v 0 的码流复合成个符合) i p e g 一4 标准的比特 流。 2 0 0 3 年,i t u _ t 和i s o i e c 正式公布h 2 6 4 标准”,该标准使用了之前编码标准中所有成 熟和先进的编码技术,并采用了根多新兴技术来提高编码教率,如精确的i 帧帧内预测编码、 多参考帧及p 帧的多种分块运动预测、1 4 像索运动估汁、整数变换、增强的熵编码方法等, 这些特点使h 2 6 4 的编码效率相对h2 6 3 和柙e g 一2 有了大幅度提高 1 3 压缩编码的实时实现 当前对于视频编码的实现主要有咀下几种途径: 1基于p c 的软件实现 这种方案具有开发费用低,开友周期相对较短等优点,而且可使用现成的软件包,因此 是开发者广泛采用的一种方式。但是软件编码器的运行脱离不了计算机,计算机的性能优劣 对其影响很大,所以在使用上受到很多限制。 2 基于数字信号处理器( d s p 】实现 图像压缩编码从本质上柬说也是数字信导处理,而d s p 肯着比通用微处理器更适合数 字信号处理的优点。如采用改进的哈佛总线结构,内部有硬件乘法器、累加器,使用流水 线结构,具有良好的并行特性,并有专门设计的适台信号处理的指令系统等。d s p 芯片的 这些特点使得它非常适台用于不允许有延迟的实时应用领域,并日对于图像处理系统而言 一块d s p 芯片结合外围电路就能完成整个系统的功能。这种方案的好处是系统灵活,硬件 系统设计完成后,整个系统的升级仅仅是修改软件即可完成。 目前市场上的d s p 芯片以美国德卅仪器公司r n ) 的1 m s 3 2 0 系列为主流,t m s 3 2 0 系列 从t m 8 3 2 0 c 1 0 至c 2 0 ,c 3 0 ,c 4 0 ,c 5 0 ,c 8 0 ,c 2 0 0 0 ,c 5 0 0 0 ,c 6 0 0 0 ,c 8 0 0 0 己经形成了一个门 类齐全的大家族。 3 基于f p g a 开发a s i c 实现阻像压缩处理 由于f p g a 产品的发展,人们可以利用a l t e r a 公司、x i l i n x 等公司提供的产品,使用这 些公司提供的软件或v h d l 等开发语言,通过软件编程用碗件实见特定的图像压缩算法如 d c t 等。这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的 数字信号处理器,还是作为d s p 芯片的协处理器,目前这都是比较活跃的研究领域。 综台比较以上方案的忧缺点可知: 第种基于p c 的软件编码器使用比较方便,技术成熟,但是其过分依赖于计算机,使 用领域比较有限。 第二种方案非常适合于图像信号处理咀及通用信号处理,而且这一方案具有性能上的优 势和通用性的特点,使得其成为真正使d s p 技术实_ | ! | j 化的方法。另一方面,还由于d s p 芯 片价格的下降,使其应用领域不断扩展。 第= 种方案专用性比较强,开发代价比较大。 对于h 2 6 4 编码,由于其编码复杂度非常火,如果在普通p c 上实现,将占用c p u 的 大量时河,所以经过综合考虑我们选择基予t m s 3 2 0 d m 6 4 2 这款高性能的专用媒体处理器 大量时日 ,所以经过综合考虑我们选择基于t m s 3 2 0 d m 6 4 2 这款高性能的专用媒体处理器 3 h 2 6 4 编码器的d s p 实现与优化 来实现h 2 6 4 编码器。 1 。4 全文研究的意义和内容 对于视频压缩,经过多年的研究,人们朝着更高的压缩比,更小的失真度,更快的编解 码速度,更小的花费的方向不断努力,并且提出了许多实现方案。但是对于新一代视频标准 h 2 6 4 ,由于受其复杂度的限制,市场上还很少有成熟盼产品,国外有少数公司推出了基于 h 2 6 4 的硬件产品,其价格相当昂贵而质量散。因此对我们来说,开发具有自主知识产权 的h 2 6 4 视频编解码系统是一件极有意义的事。 本文在分析h 2 6 4 结构和d m 6 4 2 内部结构的基础上,研究如何结合硬件特性实现h 2 6 4 编码器并提高其实时性能,全文的结构如下: 第一章绪论 本章主要介绍了图像压缩的基本思想、相关压缩标准的发展及本课题的研究内容。 第二章h2 6 4 a v c 的关键技术 本章从h 2 6 4 的框架、h2 6 4 的码流结构、基本算法等几个方面详细介绍了h 2 6 4 标准, 并分析了造成计算复杂度增加的原因。 第三章编码方案的改进 本章从实现角度介绍了在h 2 6 4 编码方案上的改进,主要侧重于快速多模式运动估计、 快速帧内编码方法的研究。 第四章基于d m 6 4 2 的h 2 6 4 编码器优化 本章具体分析了d m 6 4 2 的硬件结构、软件开发平台,并研究了在系统级层次、存储空 间、程序代码级等方面的优化方法。 第五章h 2 6 4 网络编码平台的构建 本章描述了编码器的测试平台及h 2 6 4 编码器的实际应用,分析了本文完成的编码器系 统的编码性能。 第六章结束语 本章概括了全文工作,并指出进一步的研究重点。 4 第二章h 2 6 4 a v c 的关键技术 第二章h 2 6 4 a v c 的关键技术 h 2 6 4 的编解码框架与以前提出的标准如h 2 6 1 、h 2 6 3 及m p e g 一1 2 4 并无显著变化, 也是基于混台编码的方案:以运动矢量代表图像序列各帧的运动内容,使用前面己编码帧进 行运动估计和补偿或使用帧内预测技术,所得的图像残差值经过变换、量化、熵编码得到编 码流。所以,新标准的性能提升在于编码细节的技术方案改进及新算法的应用”1 。 为进一步提高鲁棒性,h 2 6 4 采用分层的结构设计:视频编码层和网络抽象层。其中视 频编码层主要描述要传输的视频数据所承载的视频内容,而网络抽象层则是考虑不同的网络 应用,如视频会议通信、 l3 2 x 连续包的视频传输或r t p u d p i p 的通信。 本章在分析常用编码技术的基础上介绍了h 2 6 4 的框架结构和核心技术。 2 1 基于波形的视频编码常用技术 视频编码常被分为:基于波形的编码、基于内容的编码。前者试图尽可能地表示各个像 素的颜色值,而不考虑一组像素可以表示一个物理实体。如混合编码框架中采用的将图像分 成固定大小的块,然后进行基于块的混合编码方法,如h 2 6 x 系列编码标准;而后者把视频 帧分成对应于不同物体的区域,并分别编码这些物体的运动、纹理、形状信息。本节的研究 对象是广泛应用的基于波形的编码方法9 ,该类编码方案均以基于块的预测编码为基础,对 编码残差进行变换编码,对编码系数进行_ 进制化形成编码流。 2 1 1 预测编码 预测编码的思想是:在编码时不是对一个像素直接编码,而是由同一帧或前一帧的相邻 像素值来预测它的值。这是因为时间或空间相邻像素都有很强的相关性,利用该特性对当前 像素值编码将节省很多的比特。图2 1 描述了一个一般的有损预测编码系统的编码器和解码 器框图。 图2 - 1 预测编码框图 s 和s p 分别表示原始样点和预测样点值,e p = s s p 和;p 表示原始预测误差和量化之 后的预测误差。预测编码的关键在于预测算法的选取,这与图像信号的概率分布很有关系。 实际工作中要根据大量的统计结果,采用简化的概率分布形式来设计最佳的预测器,有时还 使用自适应预测器,以便更好地描述图像信号的局部特性。 常见的预测方法有基于空间域的预测和基于运动补偿的时间域预测。 帧内预测是属于空域预测的一种。因为图像小范围内有极强的空间相关性,所以可以使 。e h2 6 4 编码器的d s p 实现与优化 用空间相邻的已编码像素点来预测当前像素点。设空间坐标为( f ,j ) 的像素灰度值为 f ( i ,) ,根据前面已经出现的像素值,采用某种方法对,( f ,j ) 进行预测得到的预测值为 夕( f ,) 。实际值与预测值之间的差值为 p o ,_ ,) = ( f ,) 一夕( ,) ( 2 1 ) 其中,e ( f ) 称为预测误差。对e ( f ,) 进行量化,得到量化值p ( f ,) 之后,再编码、发送。 接收端译码时的预测过程与发送端相同,若收发两端所用的预测器相同,在接收端即可恢 复f ( i ,) ,它是输入信号f ( i ,) 的近似值。如果不考虑噪声,f ( i ,) 和f q ,的误差 就是由发端量化器造成的。 运动补偿时间域预测是利用时间上相邻的前后帧之问的相关性,经过运动补偿来预测当 前像素点。对于f 时刻的像素点f ( x ,y ,t ) ,预测值f ( i ,j ) = f ( x + d 0 ) ,y + d ( y ) ,t 一) ,其 中( d ) ,d ( y ) ) 表示像素点从时刻f 到f 一的运动矢量,在视频编码中,帧f 称为当前帧,帧 t 一称为参考帧。 帧间预测中运动估计补偿有两个主要过程:第一个过程是对运动物体的位移作出估计, 即估计出运动物体从上一帧到当前帧位移的方向和像素数,也就是求出运动矢量 m v ( m o t i o n v e c t o r ) ,这个过程叫做运动估值( m o t i o n e s t i m a t i o n ) ;第二个过程是按照运动 矢量,将上一帧作位移,求出对当前帧的估计,这个过程称之为运动补偿( m o t i o n c o m p e n s a t i o n ) 。在实际的编码器中,运动矢量常常采用基于块的运动表示,即每个分块 对应一个m v 。 运动补偿预测编码着眼于减少帧间的时间冗余度,是提高视频压缩效率目前最有效的编 码方法,在现有的视频编码标准中得到了广泛应用,同时由于运动补偿预测编码的计算复 杂度很大,它也成为视频压缩中的关键环节与瓶颈。 2 1 2 变换编码 变换编码通常是将在空间域表示的信号通过正交变换到其他正交矢量构成的一个变换 域中表示,使变换后的系数之间相关性降低,然后再对变换后的信号进行压缩编码。一个好 的变换应该:( 1 ) 充分去除变换前系数的相关性,( 2 ) 将原始像素块的能量尽量压缩到少数的 几个变换系数。 图2 2 是变换编码的原理框图,其中g 表示输入的二进制图像,经过二维正交变换u 后 产生变换域中的变换系数a ,a 经过量化后得到a ,a 经过处理再压缩后送入传输信道。在 接收端经过译码器和逆变换后获得复原图像g 。l 述过程属于保真度图像编码。如果没有量 化这一环节,则属于信息保持图像编码。 常用的正交变换有离散傅立叶变换( d f t ) 、离散余弦变换( d c t ) 、离散卡洛变换( k l t ) 、 w a l s h - h a d a m a r d 变换( w h t ) 、小波变换( w a v e l e t ) 等。其中k l 变换后的各系数相关性 小,能量分布集中,忽略低值系数的误差小,一般认为是最佳变换,但其计算复杂度大,实 6 第二章h2 6 4 a v c 的关键技术 现困难,实际采用的主要是与k - l 变换性能最为接近的d c t 方法。为了避免在正变换、反 变换中的小数运算引起的运算误差,在h 2 6 4 中采用了性能相当的整数d c t 变换( i d c t ) , 具体在后续章节介绍。 发送端接收端 图2 2 变换编码原理框图 变换的作用是使空间域的能量重新分布,降低图像的相关性。正交变换本身并不能进行 码率压缩,因为正交变换( 如d c t ) 本身并没有抛弃变换后的高频系数分量。对于一个8 8 的图像块来说,输入的是6 4 个值,输出仍然是6 4 个值,只不过能量全部集中到了左上 角的直流和低频分量中,而右下角高频系数分量趋于0 。 所以要实现图像码率压缩必须选择适当的量化方法和比特分配方案。 2 1 3 量化及比特分配 所谓量化,即根据不同的要求,设置不同的量化等级,从而降低码率。 令,代表一个连续的标量,它可以是一个像素的幅值,也可以是变换系数。要用有限 的比特数来表示,那就只能用有限的量化电平或者说是有限的重建电平。对一个具体的, 指定三个电平中的一个,这个过程就叫量化。 令,代表量化后的f ,那么 f = q ( f ) = d q b i t s s i g n ( 乙) = j 劝( 彬,)( 2 - 1 7 ) q p = 0 1 3 1 0 75 2 4 3 8 0 6 6 q p 2 1 1 1 9 1 64 6 6 0 7 4 9 0 q p _ 2 1 0 0 8 24 1 9 46 5 5 4 q p 2 3 9 3 6 23 6 4 75 8 2 5 q p = 4 8 1 9 23 3 5 55 2 4 3 q p 2 5 7 2 8 22 8 9 34 5 5 9 表2 - 6 h 2 6 4 中m f 取值 偏移量,的作用是改善恢复图像的视觉效果,对帧内预测图像f = 2 和o 3 ,帧间预测 图像f = 2 o 6 。 3 ) d c t 直流系数的变换量化 如果当前图像宏块是色度块或帧内1 6 1 6 预测模式的亮度块,则需要将其中各图像块 的d c t 变换系数矩阵w 中的直流分量按照对应图像块的顺序排序,组成新的矩阵w d ,再对 w d 进行h a d a m a r d 变换及量化。 一1 8 第= 章h2 6 4 a v c 的关键技术 帧内1 6 1 6 的图像宏块巾有1 6 个4 x 4 图像亮度块,所以w d 为4 4 矩阵,组成元素为 各图像块d c t 的直流系数w 0 0 ,其排列如下图中( a ) 所示: 4 x 4h a d a m a r d ( a ) 帧内1 6 1 6 模式时的直流系数变换方案( b ) 2 2 亮度块的直流系数变换方案 圈2 1 6d c t 直流系数变换 对直流系数亮度块w d 的h a d a m a r d 变换为: 11 11 ! ,:- ,1k 1 111 ( 2 - 1 8 ) 对变换结果y o 的量化输出为: z d o m i = ( 瞻。一 纸。+ 2 ,) ,( q b i t s + 1 ) s i g n ( z o ( u ) ) = j 堙w ( ( u ) ) ( 2 _ 1 9 ) 其中,埘巧o o 、是位置为( o ,o ) 的m f 系数值。 色度块c r 、c b 为8 x 8 矩阵,均包含4 个4 x 4 图像色度块,所以w d 为2 x 2 矩阵,组成 元素为各对应色度块的d c t 的直流系数w o o ,其排列如图2 - 1 6 中( b ) 所示,对各个色度块 w d 的h a d a m a r d 变换为: = 一m ! 。 仁z 。, 对变换结果y d 的量化输出为: i z 叫f = ( 瞻一 纸o o ) + 2 ,) ( q b i t s + 1 ) s i g n ( z d ( u ) ) = s i g n ( w d ( u ) ) ( 2 - 2 1 ) 具体含义与亮度块的直流部分一致。 - 1 9 - h 2 6 4 编码器的d s p 实现与优化 2 3 3h 2 6 4 1 a v c 的熵编码方案 缺省的熵编码方案是在码流结构中,对除了量化变换系数外的所有语法元素使用的单一 有限扩展码字集。因此不需要对每个语法元素设计一个变长编码表,只是将其映射到按照统 计数据改变的单一码字( ( e x p - g o l o m bc o d e w o r d s ) 中。对于要传输的量化变换系数,h 2 6 4 a v c 支持两种熵编码方案:若使用基于上下文的变长编码( c a v l c ) ,它是根据前面己编 码传输的量化变换系数值的大小来选择接下来系数编码要使用的变长编码表。由于变长编码 表的设计是基于相应的统计条件,所以其性能要优于使用单一变长编码表。如果使用了基于 上下文的二进制算术编码( c a b a c ) 那熵编码的性能会进一步提高,对于c a v l c 及c a b a c 的原理可以参考文献 3 。 在h 2 6 4 a v c 中定义了如下几种描述字:根据h 2 6 4 a v c 图像编码的分层结构,设计 了不同的熵编码方案,从n a l 层到残羞数据的编码选择如下表所示: 誊薹_ _ _ ;薹登 _ _ 燮壅i 薹茎冀羞_ _ _ _ 薹l 薹笺誊羞鋈鍪薹i 夔篷鳖i 羹耋鎏- _ - _ _ 鎏重基i : 序列参数集及图像参数集 u f n l u e ( v ) s l i c e 层的语法元素 u ( n ) ,u e ( v ) s e ( v ) 宏块层的预测模式选择u e ( v ) 宏块层的c b p 参数 m e ( v ) 宏块层的量化参数 s e ( v ) 宏块层的参考帧索引t c f v l 运动矢量差值s e f v ) 图像残差数据 c e ( v 1 表2 - 7i t 2 6 4 中语法元素编码选择 其中c b p 即指c o d e db l o c k 2 a a t t e m ,因为宏块量化编码后会出现大量零系数情况,c b p 就指代宏块内那些4 x 4 是非全零的,各个描述子的含义如下表所示: u ( )无符号定长整数( n 比特) u e ( v )无符号指数g o l o m b 熵编码 s e ( v ) 有符号指数g o l o m b 熵编码 t e ( v )截断指数g o l o m b 熵编码 m e ( v )映射指数g o l o m b 熵编码 a e ( v ) 基于上下文的自适应二进制算术编码( c a b a c ) c e ( v )基于上下文的可变长编码犯a v l c l 表2 - 8 各描述子含义 2 3 4 率失真优化( r d o ) 技术 由2 _ 3l 的讨论可知,在h 2 6 4 中有很多的模式选择过程,如帧内编码中4 x 4 块的9 种 方向选择、帧间编码中7 种分块模式的选择等,那么如何才能在这些方法中选择最优的编码 方法呢,h 2 6 4 中采用了r d o ( r a t e - d i s t o r t i o no p t i m i z a t i o n ) 技术,很好的在编码图像质量即 失真度、码率之间进行了权衡,关于r d o 的原理可以参照文献 7 ,下面着重说明在h 2 6 4 中的应用。 对于宏块s ,模式j 。,拉格朗日模式选择公式为 第二章h 2 “a v c 的关键技术 , 伽( r ,t | q , 抑雎) = d 舰( s 女,女lq ) + 五删r ( 以,1 iq )( 2 2 2 ) 其中,d r ( s k ,l kl q ) 与r ( & ,ti o ) 分别表示经编码器的失真度和输出码率。 对于1 n t r a 模式,d ( s ,1 ) 按照如下计算 s s d = i s t x 川y 卜j ,【x 川y 】| ( 2 - 2 3 ) 扯,y ) 对于i n t e r 模式,其代价函数计算较为复杂,这是由于涉及到多种块模式的选择和运 动估计过程。给定拉格朗日常数厶。,宏块瓯的拉格朗日代价函数如下式: m ,= a r g 渤 d ( s t ,m ) + k ,。k ,。( 瓦,m ) ) ( 2 - 2 4 ) 其中,m 表示所有可能的编码模式,失真按下式计算: d ( s 。,m ) = 删y 卜s t x - 一m 一m y ? ,一m ,扩( 2 - 2 5 ) f ,) e p 2 1 时为s a d ;p = 2 时为s s d 。r m 。( ,m ) 包含了运动矢量( m ,m 。) 的比特和参 考帧鸭的比特开销。 拉格朗日常数由量化参数决定: 0 e - 1 2 五“。= o 8 5 2 3 ( 2 2 6 ) ,一j 以= 一1k 。 使用s a d 计算失真 使用s s d 计算失真 陀2 7 ) 我们对使用r d o 的编码器和未使用r d o 的编码器分别对f o r e m a n 序列进行了编码, 结果如表2 - 9 所示,可见使用r d o 后计算复杂度大大增加了,因为对每种模式都要编码得 到码流比特率r ,) 之后按照公式2 、2 2 来计算代价函数,而这种高复杂度的开销带来了比 特率的减少和p s n r 的改善。 q p = 2 0 o p _ 2 4 q p = 2 8 q p = 3 2 q p = 3 6 + 0 0 8 + o 0 5 + o 0 3 + o 1 4 + o 0 4 2 5 - 4 2 5 5 3 2 6 7 1 2 6 1 2 6 1 2 6 12 4 1 2 4 2 4 本章小结 表2 - 9 使用r d o 后的编码器性能比较 本章介绍了基于波形的视频编码的常用技术,在此基础上分析了h2 6 4 a v c 的编码框 2 1 h 2 6 4 编码器的d s p 实现与优化 架和码流结构,并对h 2 6 4 中的核心技术进行了介绍。可知h2 6 4 采用“回归基本”的简洁 设计,不用众多的选项,获得比h 2 6 3 + + 好得多的压缩性能,这在以上章节都进行了比较。 我们对j 、,t 发布的标准参考软件j m 8 6 流程优化后在p c 机上对f o r e m a n 序列进行了编码 测试,选择b a s e l i n e 编码,全搜索模式,f p s 表示编码速度,帧s 。统计如下表所示 表2 - 1 0h 2 6 4 编码结果统计 由上表可知编码器在编码速度上不到1 帧s ,远远达不到实时应用的要求,所以在设计h 2 6 4 编码器的时候必须对其复杂度要有充分认识,在复杂度和编码性能之间进行适当的权衡。 另外我们使用i n t e l 的性能分析工具v t u n e 对编码器性能进行了分析,得到图表如下, 图2 - 1 7v t u o e 的编码时间分析圈 从中可以看出模式选择( m o d e d e c i s i o n ) 过程占了总时间的8 3 ,是对整个编码器性能影 响最大的一部分,这是由于h2 6 4 中多模式的预测方式、多种分块的运动估计、高精度的运 动估计火大加剧了计算复杂度,所以在第三章中我们研究了编码器的瓶颈部分模式选择 中的一些算法改进。 2 2 第三章编码方案的改进 第三章编码方案的改进 第二章介绍了h 2 6 4 的编码原理和关键技术,新的编码技术使用带来了编码性能的提 升同时高复杂度的计算代价是编码器实现中的一大障碍,本章对编码器的核心部分:多模 式运动估计、帧内预测部分进行了优化,在编码质量相当的情况f 有效的提高了编码效率。 本文的软件优化是基于j 、玎的参考软件j m ( j o i n tm o d e l ) 8 6 9 j 版本进行的,缺省参数是 b a s e l i n e 编码、1 个参考帧、c a v l c ,选用三个不同复杂度的q c i f 格式序列:m o b i l e , m o t h e rd a u g h t e r ,f o r e m a n ,均为3 0 0 帧,帧率设为3 0 帧s ,比较结果中b r 表示比特率,单 位:k b i t s p s n r 表示峰值信噪比,单位:d b ,f p s 表示压缩速度,单位:帧s 。本章的测 试平台是基于p e n t i u m 42 4 gc p u 的普通p c 机。 3 1 运动估计的实现 在第21 1 节介绍了帧间预测的最重要的部分一运动估计( m o t i o ne s t i m a t i o n m e ) , 它是当前混合编码中的核心部分。因为空间上的压缩能把图像序列压缩几十倍,而时域上的 压缩能把图像序列压缩几百倍,而运动估计的实现去除了图像序列时域上的冗余( t e m p o r a l r e d u n d a n c y ) ,大大提高了视频压缩的效率,所以运动估计在整个视频压缩中起着至关重要 的作用。 3 1 1 基于块匹配的运动估计及匹配准则 运动估计的方法很多,基于空间域( 像素域) 的方法有基于块的匹配法、基于网格的匹 配法、像素递归法和光流法;基于频域的有相位相关法、小波域运动估计方法、d c t 域运动 估计方法。其中基于块匹配( b l o c km a t c ha l g o r i t h m ,b m a ) 的运动估计方法由于计算复杂 度小且利于硬件实现而被现有的编码标准广泛采用。 现有的视频编码标准多把图像帧划分为块( 宏块) 为单位来编码,b m a 就是找到当前 帧的块在上一帧( 或者其它帧) 中最优匹配的块的相对位置。这个相对位置称为运动矢量 ( m o t i o nv e c t o r , m v ) ,当前块和匹配块的差称为残差,这样只需要对运动矢量和残差编码 就可以在解码端恢复当前块的图像,从而达到了压缩的目的。 图3 - lb m a 中的块和搜索范围 2 3 h 2 6 4 编码器的d s p 实现与优化 图31 中,图像块大小为( m x n ) ,d x m a x 为水平方向可搜索最大位移,d y m x 为垂直 方向可搜索最大位移。那么基于块匹配的运动估计就是在上一帧( 或者其它帧) 的( m + 2 d x m a x ) , ( n + 2 d y m a x ) 搜索窗口中找到和当前块的最匹配的块,可用数学公式3 1 描述如下: m v = ( m v x ,m v y ) = ( x ,y ) r ( ( 朋,”) ,以一,( 聊+ x ,竹+ y ) ) = m a x ) ( 3 - 1 ) m 0 ,m 一1 】,竹 0 ,n l 】,x 【一d x m a x , d _ x m a x l 】,y - a y m a x ,d y m a x - 1 上式中,r 表示相关性评价函数,i 为整数,可正可负,分别称为前向运动估计和后向运 动估计,“( m ,n ) 表示当前帧图像的灰度值,fk 。( m + x ,n 吖) 表示参考帧图像的灰度值。x ,y 的精度越高匹配的越好,但是高精度必然带来高复杂度,目前标准中支持到1 8 像素精度。 在块匹配运动估计中,函数r 和匹配的效果紧密相关,我们称为匹配准则。在块匹配中, 通常有三种匹配准则【i j :规一化相关函数( n c c f ) ,均方误差( ( m s e ) 、平均绝对差( m a d ) 。 分别定义如下: 1 、归一化相关函数( n o r m a l i z e dc o s tc o r r e l a t i o nf u n c t i o n ) m , l ( m ,”) 以一。( m + + y ) c c f ( w ) 2i i 丝 矸丁f 1 ( 3 - 2 ) 1 五2 ( 删) ll 一1 2 ( m 恺”+ _ y ) i m = 1 月= i i m = ln = l i 2 、均方误差( m e a ns q u a r

温馨提示

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

评论

0/150

提交评论