(计算机系统结构专业论文)视频编解码算法的并行研究.pdf_第1页
(计算机系统结构专业论文)视频编解码算法的并行研究.pdf_第2页
(计算机系统结构专业论文)视频编解码算法的并行研究.pdf_第3页
(计算机系统结构专业论文)视频编解码算法的并行研究.pdf_第4页
(计算机系统结构专业论文)视频编解码算法的并行研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机系统结构专业论文)视频编解码算法的并行研究.pdf.pdf 免费下载

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

文档简介

l 一 要表现在使用不同块大小和多个参考帧的l 4 像素运动估计、帧内预测、d c t 变换、熵 编码和环路滤波等方面,使用单处理器的编码速度已经不能满足视频的实时传输和大规 模的共享要求,因此分析视频编码的并行结构和研究并行算法是实现实时h 2 6 4 视频应 用的必要方法。 论文的目的是对x 2 6 4 实现多线程并行编码优化,提高编码速度,增强x 2 6 4 实时性。 以x 2 6 4 编码器作为研究对象,在重点分析了片级多线程并行编码算法和帧间宏块级并行 编码算法基础上,通过研究得出帧间宏块级多线程并行编码算法需要对多帧图像进行并 行编码,在系统中需保存与多帧图像编码有关的参考帧图像数据,所以占用大量的内存。 同时通过实验证明,在编码码率相对恒定的条件下,帧间宏块级多线程并行编码算法比 片级多线程并行编码算法具有更高的编码速度。根据两种算法的特点,本论文提出可以 将两种算法结合进行多粒度并行编码算法研究。 另外,本论文结合h 2 6 4 编码标准对x 2 6 4 编码器进行了分析与研究,在重点分析了宏 块间数据依赖关系的情况下,针对帧间宏块级多线程并行编码的特点,本论文提出了一 种基于帧间和帧内宏块级的多线程并行编码算法。该算法在原有的帧间宏块级多线程并 行编码的基础上,遵循宏块之间的空间相关性,为i 帧内每行宏块创建单独的线程,实 现了帧间和帧内宏块级并行编码,达到了多粒度并行的效果。实验结果表明,该算法在 视频序列能够有效的编码和保持峰值信噪比变化不大的情况下,提高了编码的加速比, 从而加强了视频编码的实时性。 关键词:h 2 6 4 ;多线程;并行编码;x 2 6 4 ;片级;帧间宏块级;帧内宏块级:加 速比 a b s t r a c t a b s t r a c t h 2 6 4d e v e l o p e db yt h e ta c h i e v e su pt o5 0 i m p r o v e m e n ti n c o d i n ge f f i c i e n c y c o m p a r e d 诵t l lp r e v i o u ss t a n d a r d s ,b u tt h ec o m p u t a t i o n a lc o m p l e x i t yi sa l s oi n c r e a s e dm o r e t h a n4t i m e s ,b e c a u s em a n yn e wf e a t u r e sa r ea p p e n d e d ,i n c l u d i n gq u a r t e r - p i x e lm o t i o n e s t i m a t i o n 谢t l lv a r i a b l eb l o c ks i z e sa n dm u l t i p l er e f e r e n c ef l a m e s ,i n t r a - p r e d i c t i o n , i n t e g e r t r a n s f o r m a t i o nb a s e do nd i s c r e t ec o s i n et r a n s f o r m ,c o n t e x t - b a s e da d a p t i v eb i n a r ya r i t h m e t i c c 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 ev a r i a b l el e n g t hc o d i n g ( c a v l c ) a n di n l o o p d e b l o c k i n gf i l t e ra n ds oo n e n c o d i n gs p e e du s i n gas i n g l ep r o c e s s o rc a nn o tm e e tr e a l - t i m e t r a n s m i s s i o no fv i d e oa n dl a r g e - s c a l es h a r i n gr e q u i r e m e n t s t h e r e f o r e ,f o rr e a l t i m eh 2 6 4 v i d e oa p p l i c a t i o n , a n a l y z i n gt h ep a r a l l e ls t r u c t u r ea n dr e s e a r c h i n gt h ep a r a l l e la l g o r i t h ma r e n e c e s s a r y t h ep a p e r sp u r p o s ei st oa c h i e v eo p t i m i z i n gf o rx 2 6 4m u l t i t h r e a dp a r a l l e l c o d i n g , a c c e l e r a t et h ee n c o d i n gs p e e da n de n h a n c et h ee n c o d e r sr e a l t i m ea b i l i t y t a k i n gx 2 6 4c o d e r 缎r e s e a r c h i n go b j e c t , t h i sp a p e rf o c u s e so nt h es l i c e - l e v e la n di n t e r - f r a m em a c r o b l o c k 1 e v e l m u l t i - t h r e a dp a r a l l e lc o d i n ga l g o r i t h m b e c a u s eo ft h en e e df o rp a r a l l e lm u l t i f r a m ei m a g e c o d i n g ,i n t e r - f r a m em a c r o b l o c k l e v e lm u l t i - t h r e a dp a r a l l e lc o d i n ga l g o r i t h mn e e d st os t o r e t h em u l t i - f r a m ei m a g ec o d i n gd a t ao ft h er e f e r e n c ef r a m ei nt h es y s t e m , s oi tt a k e sal o to f m e m o 巧m e a n w h i l e ,t h ee x p e r i m e n t a lr e s u l t si l l u s t r a t et h a tt h ei n t e r f r a m em a c r o b l o e k - l e v e l m u l t i t h r e a dp a r a l l e lc o d i n ga l g o r i t h mp o s s e s s e sh i g h e re n c o d i n gs p e e d u pt h a ns l i c e l e v e l w h i l et h e c o d i n gr a t e i s r e l a t i v e l yc o n s t a n t c o n s i d e r i n gt h ec h a r a c t e r i s t i co ft h et w o a l g o r i t h m s ,t h ep a p e rp r o p o s e st or e s e a r c ht h em u l t i - g r a n u l a r i t yp a r a l l e lc o d i n ga l g o r i t h m c o m b i n i n g 、加t l lt h et w om e t h o d s i na d d i t i o n , t h i sp a p e rs t u d i e st h ex 2 6 4e n c o d e ro nt h eb a s i co fat h o r o u g hk n o w l e d g e a b o u th 2 6 4s t a n d a r d ,i nt h ec o n t e x to ft h ed a t ad e p e n d e n c i e so fr e l a t e dm a c r o b l o c k sw h i c hi s m a i n l ya n a l y z e d ,c o n s i d e r i n gt h ec h a r a c t e r i s t i co fp a r a l l e lc o d i n ga l g o r i t h mb a s e do n m a c r o b l o c k - l e v e lo fi n t e r - f r a m e ,t h ep a p e rp r o p o s e san e wm u l t i - t h r e a d p a r a l l e lc o d i n g a l g o r i t h m o nt h e b a s i so ft h eo r i g i n a l m u l t i t h r e a d p a r a l l e la l g o r i t h mo fi n t e r - f r a m e m a c r o b l o c k - l e v e la n df o l l o w i n gt h e s p a t i a lc o r r e l a t i o nc o n d i t i o n s ,t h ea l g o r i t h mw h i c h c r e a t e sat h r e a df o re a c hr o wi nif r a m e ,i m p l e m e n t st h ep a r a l l e le n c o d i n go fi n t e r - f r a m ea n d i n t r a - f r a m em a c r o b l o c k - l e v e la n da c h i e v e st h ee f f e c to fm u l t i - g r a n u l a r i t y p a r a l l e l t h e e x p e r i m e n t a lr e s u l t si l l u s t r a t et h a tt h ep r o p o s e da l g o r i t h mi m p r o v e st h ee n c o d i n gs p e e d u p w h i l et h ev i d e os e q u e n c ea r ee f f e c t i v e l ye n c o d e da n dt h ep s n rh o l d sb a s i c a l l yu n c h a n g e d , a n dt h er e a l t i m ee n c o d i n gi se n h a n c e d k e y w o r d s :h 2 6 4 ;m u l t i - t h r e a d ;p a r a l l e lc o d i n g ;x 2 6 4 ;s l i c e l e v e l ;i n t e r - f r a m e m a c r o b l o c k - l e v e l ;i n t r a - f r a m em a c r o b l o c k - l e v e l ;s p e e d u p i i 2 2 3 片( s l i c e ) 、片组( s l i c eg r o u p ) 6 2 2 4 宏块( m b ) 、子宏块( s u b _ m b ) 7 2 3h 2 6 4 的编码图及其关键技术8 2 3 1 帧内预测8 2 3 2 帧间预测1 0 2 3 3 变换和量化1 l 2 3 4 熵编码1 2 2 3 5 环路滤波器( l o o pf i l t e r ) 1 2 2 4 本章小结1 3 第三章x 2 6 4 视频编码过程分析1 5 3 1x 2 6 4 编码器1 5 3 2 1 x 2 6 4 控制台应用程序1 5 3 2 2 1 i b x 2 6 4 编码库1 6 3 3 本章小结2 0 第四章x 2 6 4 多线程并行编码算法2 1 4 1 多线程2 1 4 1 1 线程2 l 4 1 2 线程的优先级2 1 4 1 3 线程的实现2 l 4 1 4 线程的同步2 2 4 2x 2 6 4 并行编码的可行性和必要性2 2 4 3x 2 6 4 并行策略2 3 i i l 1 1 2 3 3 5 5 5 6 6 i 目录 4 4x 2 6 4 多线程编码并行化研究2 3 4 4 1g o p 级并行方法分析2 3 4 4 2f r a m e 级并行方法分析2 4 4 4 3s l i c e 级并行方法分析2 5 4 4 4m b 级并行方法分析2 6 4 5 片级和帧间宏块级两种并行方法实验结果与分析2 7 4 6 本章小结3 0 第五章帧间与帧内宏块级x 2 6 4 并行编码算法3 l 5 1 在w i n d o w s 上实现p t h r e a d 版本的x 2 6 4 编译过程3 l 5 2 帧间和帧内宏块级x 2 6 4 并行编码算法3 l 5 2 1 帧内宏块间的依赖关系3 l 5 2 2 算法描述3 1 5 2 3 算法实现步骤3 2 5 2 4 实验结果及其分析3 4 5 3 本章小结3 7 第六章总结与展望3 9 6 1 本文总结3 9 6 2 展望3 9 致谢4 l 参考文献4 2 附录:作者在攻读硕士学位期间发表的论文4 6 第一章绪论 第一章绪论帚一早三百y 匕 1 1 视频编码并行处理的研究背景 人们对视频图像的清晰度、音频的质量以及对外面抗干扰能力要求的不断提高,数 字电视在近几年内得到了飞速的发展,第三代网络通信系统( 3 g ) 的出现以及i p 网络 的发展,网络带宽的增加,使得多媒体业务在有线和无线网络下都有了更大的需求。但 是这些需求的满足必须依赖于高效的压缩技术和高效的编码速度。 h 2 6 4 a v c t l 】视频编码标准是国际电信联盟( i t u t ) 和国际化标准组织( i s o i e c ) 共同指定的最新编码标准,因具有高效的编码效率和良好的网络适应性等特点,使其在 实时视频流媒体服务、视频会议和视频通信等领域得到了广泛的应用。但在它提高了压 缩效率的同时,也带来了计算的复杂度,单核下的串行编解码的编解码速度不能满足对 实时传输和大规模资源共享的要求。目前,所有的c p u 架构都在向多核化方向发展1 2 】, 例如i n t e l ,a m d 的x 2 6 ,i b m 的p o w e r p c 等,跟传统的单核c p u 相比,多核c p u 具 有更强的并行处理能力和更高的计算密度【3 】。在此背景下只有充分发挥视频编码的并行 性才能使h 2 6 4 更好的面向实时应用。 视频编码的并行性处理作为提高编码速度的一种首选技术,国内外的研究人员分别 从视频编码本身的性能和多核架构方面寻求并行策略。对多个视频可以使用并行硬件进 行并行处理,但单独的视频需要编写并行程序来实现,比如使用m p i 并行程序设计环境 【4 】,于是开发多核下的h 2 6 4 的多线程并行编码算法,在实时视频编码中被广泛的使用 【5 】 o 1 2 视频编码并行处理研究的目的和意义 近几年来人们的娱乐生活更加丰富多彩,对多媒体技术、网络电视和视频会议等的 要求不断提高,同时对视频编解码速度和播放的质量也提出了很高的要求,而视频信息 具有很大的数据量,必须要进行视频的压缩处理,而h 2 6 4 标准能够以较低的数据速率 传送基于i p 的视频流,同时能够保证视频的质量和压缩的效率以及抗误码率。在同等 视频质量下,它比h 2 6 3 节省了5 0 的码纠6 7 】,因此h 2 6 4 编码标准就代表着视频编 码的发展趋势,研究其关键技术有利于视频向高质量低码率方向发展。 h 2 6 4 为了能够得到更高的压缩效率,提出了很多新的编码技术,但因为这些编码 技术也大大的增加了其算法的复杂度,所以仅从单处理器的角度出发难以满足对实时编 码和图像质量的要求,因此对h 2 6 4 的并行研究、寻找可并行的策略是当今国际研究的 热点和难点,也使得对高计算复杂度的h 2 6 4 编码算法进行并行优化成为了人们研究最 佳的选择。人们基于不同的平台也提出了像任务流水、线程级并行和不同粒度的数据级 并行等的并行算法【8 。1 们。 h 2 6 4 标准的语法结构将其划分为不同的层次结构,根据这个特点针对不同的层次 采取不同的并行处理以提高视频编码速度是一种容易实现的方法,也顺应了当今多核处 理器和多线程技术的发展。x 2 6 4 作为一个被广泛使用的h 2 6 4 编码器,比较注重实用 江南大学硕士学位论文 性,同时也实现了指令级并行,在此基础上实现多线程并行编码将很大程度上提高视频 编码的效率。 本文主要从x 2 6 4 的不同编码层次入手,研究其不同层次上的并行编码方法,分别 在多核处理器上测试了s l i c e 级和帧间宏块级并行编码算法的加速比,在此基础上结合 帧内宏块之间的数据相关性,提出了帧间和帧内宏块的x 2 6 4 并行编码策略,进一步提 高了视频编码的速度,向实时视频传输和满足共享的要求更走进了一步。 1 3 视频编码并行处理国内外研究现状 随着h 2 6 4 编码效率的提高,同时其编码算法的计算复杂度和计算量也变大【1 1 1 ,由 于单核的处理器的计算能力已经很难满足实时编解码的要求,所以对h 2 6 4 编码算法实 行并行处理成了当今学术界研究的热点,所以研究视频的可并行粒度,寻找可并行的策 略是目前重要的课题【l 引。 在h 2 6 4 视频编解码算法中存在不同层次的并行,因此从数据级上实现并行算法是 当今视频编码并行研究的一大课题。i n t e l 公司的y k c h e n 等人主要是以片级和帧级为 粒度在具有超线程技术的4 i n t e lx e o n 处理器系统上开发线程级并行,通过对数据域的划 分来实现多线程的编码算法,其实验结果表明能够获得3 7 4 4 5 3 倍的加速比【l3 1 。 上海交通大学的刘凌志等人设计了一种并行结构的h - 2 6 4 并行帧内预测器,通过专 门的硬件模块来完成某些复杂度较大的运算过程,在分析了1 7 种帧内预测值求解算法 的基础上,利用其算法的相似性,将所有运算单元全部集中到一个运算单元中,该运算 单元可以根据预测模式的不同对输入的数据安排相应的运算模块及数据通路,同时达到 资源最优化利用,当同时安排4 个并行运算单元时,在5 0 5 m h z 时钟时,可以实时处 理7 2 0 * 4 8 0 ,3 0 帧s 的图像i l 引。 首尔大学的的专家们在c e l l 平台上宏块的并行处理进行了分析,通过对宏块部分的 时耗分析,发现宏块编码的分析部分占整个编码的8 4 ,于是提出应该把宏块分析部分 进行并行处理,通过实验结果可以看出通过此种方法获得了较高的加速比,但急需对 h 2 6 4 的编码进行并行实现【l5 1 。 对于g o p 级并行编码,巴伦西亚科技大学( t e c h n iu n i v e r s i t yo f v a l e n c i a ) 的研究 人员通过m p i 开发工具对其进行了研究,其本质上是通过增加并行处理器的个数来提高 编码的速度,并不能很好的体现根据编码程序中所存在的特性来并行处理视频编码以达 到编码性能的提高【1 6 1 。因此g o p 级并行多用于非实时的并行处理,不作为本文研究的 重点。而英国拉夫堡大学( l o u g h b o r o u g hu n i v e r s i t y ) 的研究人员主要实现了在m p e g 2 、 m p e g 4 编码标准的宏块级上的并行处理和对h 2 6 4 标准的片级上的并行【1 7 ,l 引。 c h e ne ta 1 提出了使用多线程技术在解码过程中并行处理几个b 帧的策吲1 9 】,但是 因为在p 帧之间一般有不多于2 或3 个b 帧,因此限制了多线程数目。v a ld e r t o le ta 1 研究了在帧间实现宏块级并行,同时提出了将帧级并行和帧间宏块级并行联合进行并行 编码实施【l3 1 。a m a l d oa z e v e d o 等人提出了在由n x pt r i m e d i at m 3 2 7 0 组成的嵌入式多 核处理器架构上实现3 d w a v e 策略,实验结果表明对h 2 6 4 并行模式的实施效果非常好, 提高了加速比【2 0 1 。 2 第一章绪论 由国内外研究的现状可以看出,对h 2 6 4 并行编码方法的研究中,片级和g o p 并 行研究成果最多,其方法也比较成熟,对于帧级并行策略虽然国内外已经提出了许多策 略,但由于h 2 6 4 编码性能的限制,并未得到充分的发展,对于宏块级并行算法,国外 很多专家在近几年的时间里提出了很多编码的策略【2 1 1 ,通过实验也取得了较高的加速 比,但是在多粒度融合方面的并行编码策略有待进一步成熟,多粒度的并行编码方法必 将成为视频编解码并行研究的重点。针对h 2 6 4 编码的复杂性,在实现了其指令级并行 的基础上,本文提出了将s l i c e 级和帧间宏块级融合,进行多线程并行编码;另外本文 也实现了将帧间宏块级和帧内宏块级结合实现多线程并行编码,通过实验数据表明,提 高了视频编码的加速比。 1 4 本论文的组织结构 第一章绪论。介绍视频编码并行处理研究的背景和研究的目的及其意义,指出了 视频编码并行处理的国内外研究现状。 第二章视频压缩编码标准h 2 6 4 介绍。简要介绍了h 2 6 4 编码标准和其编码的层 次结构( g o p 、f r a m e 、s l i c e 和m b ) ,同时分析了h 2 6 4 的编码流程图及其与其他标准 所不同的关键的技术,为本算法的实现提供理论基础。 第三章x 2 6 4 实现h 2 6 4 a v c 视频编码分析。此章主要介绍了x 2 6 4 视频编码的过 程,从函数入手重点阐述了帧层、片层和宏块层编码的流程,为并行编码算法的实现提 供了理论的基石。 第四章x 2 6 4 多线程并行编码的算法。此章首先介绍多线程的相关知识以及x 2 6 4 采用多线程并行编码的可行性和必要性;其次介绍主要的x 2 6 4 多线程并行编码策略, 主要包括g o p 级并行方法、f r a m e 级并行方法、s l i c e 级并行方法和宏块级并行方法; 最后重点研究了s l i c e 级多线程并行编码算法和帧间宏块级并行编码算法,通过实验对 两种算法的性能进行了研究,结果表明,在编码码率相对恒定的条件下,帧间宏块级多 线程并行编码算法比片级并行编码具有更高的编码速度,但因其需要对多帧图像进行并 行编码,在系统中需保存与多帧图像编码有关的参考帧图像数据,所以占用大量的内存, 所以提出将两种算法结合进行多线程并行编码算法研究。 第五章帧间与帧内宏块级x 2 6 4 并行编码算法。重点介绍了帧间和帧内宏块级 x 2 6 4 多线程并行编码算法及其实现过程,分别在q c i f 和c i f 格式下对算法进行实现, 并得测试其相应的加速比,通过实验表明,与帧间宏块级并行编码算法相比,在图像质 量基本不变的前提下,提过了加速比,加快了视频编码的速度。 第六章总结与展望。总结本论文的研究内容和所做的工作,指出视频编码并行处 理方面存在的问题以及未能实现的任务,针对问题明确了未来的研究目标和继续需要做 的工作。 1 5 本章小结 随着人类社会已经进入了数字信息时代,人们对高清电视和数字视频广播等各方面 的要求也不断的提高,所以通过研究并行策略来提高视频的高效压缩和实时传输是当今 3 江南大学硕士学位论文 社会的主流。本章主要阐述了视频编码并行处理研究的背景、视频编码并行处理研究的 目的和意义以及其国内外的研究现状,最后简单介绍了本论文的组织结构。 第二章视频压缩编码标准h 2 6 4 介绍 第二章视频压缩编码标准h 2 6 4 介绍 2 1h 2 6 4 编码标准 国际电信联盟h 2 6 4 是i s o i e c 的活动图像编码专家组( m o t i o np i c t u r ee x p e r t s g r o u p ,m p e g ) 和国际电信联盟( 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 ,i t u t ) 的 视频编码专家组( v i d e oc o d ee x p e r t sg r o u p ,v c e g ) 组成的联合视频组( j o i n tv i d e o t e a m ,j v t ) 开发的一个新的数字视频编码标准,和以前的标准类似,它的编码模式也 是d p c m 加变换编码。 制订h 2 6 4 的主要目标主要有两个:具有良好的网络亲和力,即可适用于各种传输 网络:得到高的视频压缩比。因此h 2 6 4 标准由视频编码层( v i d e oc o d i n gl a y e r ,v c l ) 和网络提取层( n e t w o r ka b s t r a c t i o nl a y e r ,n a l ) 组成。v c l 中主要包括v c l 编码器 和v c l 解码器,主要功能是进行视频数据压缩编码和解码,它包括运动补偿、变换编 码、熵编码等压缩单元。n a l 则用于为v c l 提供一个统一接口,此接口是与网络无关 的,它负责对视频数据进行封装打包然后使其在网络中传送,它通常采用统一的数据格 式,包括单个字节的包头信息、多个字节的视频数据与组帧、逻辑信道信令、序列结束 信号、定时信息等。包头中包含存储标志和类型标志,存储标志和类型标志分别用于指 示当前数据不属于被参考的帧和指示图像数据的类型【2 2 1 。 2 2h 2 6 4 编码层次概述 h 2 6 4 中对视频序列划分如图2 1 中的编码层次:图像组( g o p ) 、图像( p i e ) 、片组( s l i e g r o u p ) 、片( s l i c e ) 、宏块( m b ) 、子块( s 州b ) 和块( b l o c k ) 【2 2 1 ,其分层结构主要是针对传 输中的错误掩码,在有误码发生时可以提高图像重建的性能。这几种层次结构的特点是 不一样,因此决定其可以使用不同的并行策略来实现压缩效率的提高。 图2 - 1h 2 6 4 视频编码层次 f i g 2 一lv i d e oc o d i n gl a y e ro ft i 2 6 4 5 江南大学硕士学位论文 2 2 1 图像组( g o p ) 视频序列首先划分为一系列图像组,每个图像组包括i 、p 、b 三种图像且数目一般 取固定值,每个图像组的帧结构一般也是相同的。假设b 帧数为2 ,每个图像组可排成 i b b p b b p 序列,它的排列顺序将会一直维持到视频结束。图像组第一个图像叫做i d r 图像,i d r 图像都是i 图像,每个g o p 只能有一个i d r 图像,i d r 图像之后的图像永 远不会引用i d r 图像之前的图像的数据来解码,这就为g o p 之间的并行提供了可行性。 编码效果与图像组的长度有关,在一定的范围内,长度值越大,压缩效率越高,因 为每个图像组中会有更多的b 帧和p 帧。但是g o p 也不能取太大的值,这样会导致编 码质量下降,尤其针对场景切换和运动较剧烈的视频序列的情况。另外,如果在一个图 像组中出现了严重的丢包或者其他原因引起的数据错位,只有通过获得重新同步,才能 减少误码的发生,所以要折中考虑。 2 2 2 图像( p i e ) h 2 6 4 支持帧、场、帧场自适应编码,采用场编码时,一帧图像分为顶场和底场两 部分,分别进行编码。在h 2 6 4 协议中图像是一个集合概念,顶场、底场、帧都称为图 像,因此对于i 帧、p 帧、b 帧等等,实际上都是我们把图像概念的具体化和细小化, 即我们提到的“帧”通常指不分场的图像团】。 一幅图像根据组成它的片的类型来分,可以分为表2 1 中的八种类型。我们平常指 的i 帧和i d r 帧是p r i m a r y _ p i e _ t y p e 值为0 的图像,p 帧是p r i m a r y _ p i e _ t y p e 值为1 的图 像,b 帧是p r i m a r y值为2 的图像。_ p i e 表2 - 1 基本的图像类型 t a b 2 1p r i m a r yp i c t u r et y p e p r i m a r y _ p i e _ t y p e出现在基本编码图像中的s l i c e _ t y p e 值 0i 1 i ,p 2 i ,p ,b 3s i 4 s i ,s p 5 i ,s i 6i ,s i ,p ,s p 7 i ,s i ,p ,s p ,b 由于在h 2 6 4 中存在双向预测,视频编码过程中必须要存在两个参数:图像序列号 ( p o c ) 和帧编号( f r a m en u m ) ,视频序列中每一幅图像都要按照顺序进行编码,这 个顺序不一定是编码顺序,为了使解码器能正常解码并显示,h 2 6 4 中使用f r a m en u m 表示图像序列的编码顺序,p o c 表示图像的显示顺序。 2 2 3 片( s l i c e ) 、片组( sl i c eg r o u p ) 一个视频图像可编码成一个或更多个片,每片宏块数不一定固定,但至少包含一个 宏块且为整数个宏块【2 4 1 。片是h 2 6 4 中最大的编码单元,片与片之间是独立的,每一片 的预测不能以其他片中的宏块为参考图像,这样可以限制误码的扩散和传输。编码片共 6 第二章视频压缩编码标准h 2 6 4 介绍 有5 种不同的类型,如表2 1 所示,其中s p 用于不同编码流之间的切换,它包含p 宏 块和或i 宏块,是扩展档次中的必备功能【2 3 】。s i 片包含了一种特殊类型的编码宏块, 叫做s i 宏块,s i 片也用于扩展档次中。 片的语法结构如图2 2 所示,片头规定了片的类型、该片属于哪个图像、有关的参 考图像等;片的数据包含一系列的编码宏块( m b ) ,和或跳编码( 不编码) 数据【2 3 1 。 图2 - 2片的句法结构 f i g 2 - 2s y n t a c ti est r u c t u r eo ft h es1i c e 片组中包含一个或多个片,片组用来指示片到图像的映射关系,解码端按照片组映 射方式将解码宏块恢复成整个图像。根据编码图像的特点映射方式包括交错、散落、 b o x o u t 、光栅扫描、手绢和显示【2 3 】,但在基本档次的情况下,一幅图像一般只划分为 一个片。 2 2 4 宏块( 岫) 、子宏块( s u b m b ) 一幅编码图像通常被划分成若干个宏块,每个宏块都是由一个1 6 x 1 6 亮度像素和一 个8 x 8 c b 和一个8 x 8 c r 彩色像素块组成【2 3 1 。宏块位于片中,各种片中允许出现的宏块类 型如表2 2 所示。因为大小为1 6 x 1 6 的宏块是h 2 6 4 标准中的基本编码单位,编码的过 程就是对其进行编码的过程。h 2 6 4 编码器从片的左顶块开始,按照从左到右、从上到 下的光栅扫描的顺序依次对各个宏块进行编码。 表2 - 2 片中的宏块类型 t a b 2 - 2m a c r o b l o c kt y p eo ft h es li c e 片类型允许出现的宏块种类 i ( s l i c e ) i 宏块 p ( s l i c e )p 宏块、i 宏块 b ( s l i c e )b 宏块、i 宏块 s i ( s l i c e )s i 宏块、i 宏块 s p ( s l i c e )p 宏块、i 宏块 一个宏块又可以被分成不同的子块,即1 6 x 1 6 、1 6 x 8 、8 x 1 6 或8 x 8 亮度像素块( 以 及彩色像素) ;8 x 8 的子宏块则可再分割成各种子宏块,即8 x 8 、8 x 4 、4 x 8 或4 x 4 亮度像 素块( 以及附带的彩色像素) 【2 3 1 。这种多模式的灵活和细致的划分,有利于对不同的图 像区域进行不同的编码预测,提高了运动估计的精确程度。 每个宏块包括头单元和残差数据,其语法结构如图2 3 所示,其宏块的句法单元如 表2 3 所示。 7 江南大学硕士学位论文 m b _ t y p e m b _ p r e d 编码残差数据 图2 - 3 宏块的句法结构 f i g 2 3s y n t a c t i cs t r u c t u r eo f t h em a c r o b l o c k 表2 3 宏块的句法单元 t a b 2 3s y n t a c t i cu n i to f t h em a c r o b l o c k m b _ t y r 圮确定该m b 是帧内或帧间编码模式,确定该m b 分割的尺寸 m b _ p r e d确定帧内预测模式,确定其参考图像,每一宏块分割的差分编码 的运动矢量( 帧间宏块,除8 x 8 宏块分割的帧内m b ) s u b _ m b _ p r e d( 只对8 x 8 m b 分割的帧内m b ) 确定每一子宏块的子宏块分割、 每一宏块分割的参考图像,每一宏块子分割的差分编码运动矢量 c o d e d _ b l o c k _ p a t t e r n指出哪个8 x 8 块( 亮度和彩色) 包含编码变换系数 m b _ q p _ d e l t a量化参数的改变值 r e s i d u a l 预测后对应残差图像取样的编码变化系数 2 3h 2 6 4 的编码图及其关键技术 与早期的标准( h 2 6 1 ,m p e g - 1 ,h 2 6 2 ,h 2 6 3 ,m p e g - 4 a s p ) 类似,h 2 “也是 基于块的混合编码,基本的算法是通过帧内预测消除空域冗余,通过帧间预测和运动补 偿消除时域冗余,经过变化编码消除频域冗余,其编码器的功能组成图如图2 4 所示, 基本的功能模块包括如下:预测、变换、量化、熵编码没有根本的改变,但在每个功能 模块的细节上都有重要的改变,这些变化就是h 2 6 4 的关键技术。 图2 - 4h 2 6 4 视频编码结构 f i g 2 - 4v i d e oc o d i n gs t r u c t u r ef o ri t 2 6 4 2 3 1 帧内预测 与直接对宏块本身编码相比,h 2 6 4 的帧内预测利用帧内相邻宏块间的空间冗余性, 对宏块进行编码时从周围的宏块( 当前宏块上边和左边的宏块,这些宏块已经被编码) 预测该宏块的值,这样能以更少的比特率来描述宏块,尤其在变化平坦的区域,利用帧 内预测可以更大的提高编码效率。 8 第二章视频压缩编码标准h 2 6 4 介绍 h 2 6 4 提供了9 种4 x 4 的亮度块的预测模式【2 5 】,这些预测如表2 4 所示,它们提供了 8 种可能的预测方向,如图2 4 所示。如图2 5 所示,由像素a ,b ,c ,p 组成的块 位于当前编码的宏块中。而像素a ,b ,c ,h 以及i ,j ,k ,l ,q 则是已解码的 相邻像素,它们用来预测当前4 x 4 块。 表2 4 帧内4 x 4 预测模式 t a b 2 4i n t r ap r e d i c t i o nm o d eo f4 x 4 预测模式编号预测模式( 方向) 方向描述 o 竖直方向上的预测 1 水平方向上的预测 2 d c ,低频部分,一个数值可用来预测整个4 x 4 块 3 对角线方向,方向朝向左下 4 对角线方向,方向朝向右下 5 竖直偏右方向上的预测 6 水平偏下方向上的预测 7 竖直偏左方向上的预测 8 水平偏上方向上的预测 辽 尹 侈: 刀 i t 1、 图2 - 5 帧内4 x 4 模式的8 种预测方向 f i g 2 - 5e i g h t “p r e d i c t i o nd i r e c t i o n s ”f o ri n t r a 4 x 4p r e d i c t i o n abcdefg h 图2 - 6 利用相邻的像素预测4 x 4 块 f i g 2 - 6i n t r a 一4 x 4p r e d i c ti o ni sc o n d u c t e df o rs a m p l e sa po fab l o c ku si n gs a m p l e sa - q 相对于适合于表现图像细节部分的帧内4 x 4 模式来说,对于图像的平滑区,多用帧 内1 6 x 1 6 预测模式。该模式可预测整个宏块的亮度分量,这种预测共支持4 种预测模式 2 5 1 ,如表2 5 所示。 9 q i j k l 江南大学硕士学位论文 表2 - 5 帧内1 6 x 1 6 预测模式 t a b 2 - 5i n t r ap r e d i c t i o nm o d eo f1 6 x 1 6 预测模式编号预测模式( 方向) 方向描述 o 竖直方向上的预测 l 水平方向上的预测 2 d c ,低频部分,宏块每条边界上的1 6 个p i x e ! 用来预测宏块 3 平面预测 每个帧内编码宏块的8 x 8 色度成分由已经编码的左上方的色度像素预测而得,两种 色度成分通常用同一种预测模式。4 种预测模式类似于帧内1 6 x 1 6 宏块的4 种预测模式, 只是模式编号不同【2 6 1 。其中模式0 表示d c ,模式l 表示水平,模式2 表示垂直,模式 3 表示平面。 2 3 2 帧间预测 帧间预测是利用先前编码帧的重建图像作为参考,对当前图像进行预测编码的一种 方式,用于降低图像的时域相关性。它把参考图像的抽样点通过运动矢量的补偿作为当 前图像抽样值的参考。与以前的标准相比,h 2

温馨提示

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

评论

0/150

提交评论