(信息与通信工程专业论文)基于dm642的h264视频编码器优化与设计.pdf_第1页
(信息与通信工程专业论文)基于dm642的h264视频编码器优化与设计.pdf_第2页
(信息与通信工程专业论文)基于dm642的h264视频编码器优化与设计.pdf_第3页
(信息与通信工程专业论文)基于dm642的h264视频编码器优化与设计.pdf_第4页
(信息与通信工程专业论文)基于dm642的h264视频编码器优化与设计.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(信息与通信工程专业论文)基于dm642的h264视频编码器优化与设计.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位 仑文基于d m 6 4 2 的h 2 6 4 抛频编码器优化与设计 摘要 h 2 6 4 是删坷v c e g ( 视频编码专家组) 和i s o i e cm p e g ( 运动匿| 像专家组) 最新 的视频标准。与现有的视频标准相比,h 2 6 4 编码器能在保持相同图像质量的情况下,霄省 大约5 0 的码率。由于其良好的压缩效率和网络适应性,h 2 6 4 将在视频电话、数字电视j 播、视频流媒体服务、压缩视频存储等领域得到广泛的应用。 相对之前的标准,h 2 6 4 在v c l 层采用了丈量的先进预测技术和消除块效应滤波系统, 这些技术能有效地提高编码器的压缩性能,但是也大大地增加了运算复杂度。因此,如果降 低运算复杂度,提高编码速度是实现实时编码器的关键。本文主要研究h 2 6 4 编码器在 d m 6 4 2d s p 上的实现与优化。 文章士要分为三个部分:第一部分,介绍h 2 6 4 视频标准各主要模块的原理与实现。第 二部分,在算法上优化h 2 6 4 编码器,针对帧内编码部分,采用两种快速算法:简化的e p z s 和跳跃块检测方法。仿真结果证明这两种算法均能在基本不降低图像质量的前提下有效地提 高编码速度。第三部分,详细介绍了如何分别在c 语言、线性汇编和存储器分配等三个层面 优化程序。 【关键字】| 1 1 , 2 6 4 视频压缩d m 6 4 2 优化帧间编码e d m a 浙江大学硕上学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 a b s t r a c t h 2 6 4 a v ci sn e w e s tv i d e oc o d i n gs t a n d a r do ft h e u - tv i d e oc o d i n ge x p e r t sg r o u pa n d t h ei s o h e cm o v i n gp i c t u r ee x p e r t sg r o u p h 2 6 4c a ns a v ea p p r o x i m a t e l ya5 0 b i tr a t ef o r e q u i v a l e n tp e r c e p t u a lq u a l i t yr e l a t i v et ot h ee x i s t i n gs t a n d a r d s d u et ot h ea d v a n c e dc o m p r e s s i o n p e r f o r m a n c ea n dt h e n e t w o r k - f r i e n d l y ”n a t u r e ,h 2 6 4w i l lb ea d o p t e do v e rab r o a dv a r i e t yo f a p p l i c a t i o n ss u c ha sv i d e ot e l e p h o n e ,b r o a d c a s t , s t r e a m i n gs e r v i c e s ,s t o r a g ea n ds oo n c o m p a r ew i t hp r i o rs t a n d a r d s ,h 2 6 4a d o p t s al o to fa d v a n c e dt e c h n i q u e s ,w h i c hc a n e f f i c i e n t l yi m p r o v ev i d e oc o m p r e s s i o np e r f o r m a n c e b u tu n f o r t u n a i e l yt h e s et e c h n i q u e sa l s ow i l l i n c r e a s ec o m p u t a t i o n a lc o m p l e x i t yc o n s i d e r a b l y t h e r e f o r e ,r e d u c i n gc o m p u t a t i o n a lc o m p l e x i t y a n di m p r o v i n gc o d er a t eb e c a m ev e r yi m p o r t a n tf o rr e a l t i m ev i d ee n c o d e rd e s i g n t h i sp a p e r f o c u so nh 2 6 4v i d e oe n c o d e ri m p l e m e n t a t i o na n do p t i m i z a t i o nb a s e do nd m 6 4 2d s p t h ep a p e ri n c l u d e st h r e ep a r s :i nt h ef i r s t p a r t ,m a i nm o d u l e so fh 2 6 4s t a n d a r da r e i n t r o d u c e d i nt h es e c o n dp a r t ,t w of a s ta l g o r i t h m ( s i m p l i f i e de p z sa n ds k i p p e dm bd e t e c t ) i s p r o p o s e df o ri n t e rc o d i n g s i m u l a t i o nr e s u l t ss h o wt h a tt h e s ea l g o r i t h m sc a ni m p r o v ec o d er a t e e f f i c i e n t l y t h el a s tp a r t ,w ei n t r o d u c eh o wt oo p t i m i z a t i o np r o g r a mb a s e do ncl a n g u a g e ,l i n e a r a s s e m b l ya n dm e m o r ya l l o c a t i o n 【k e y w o r d s :h 2 6 4 , v i d e oc o m p r e s s i o n ,d m 6 4 2 ,o p t i m i z a t i o n ,i n t e rc o d i n g , e d m a i i 浙江火学硕士学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 第一章绪论 随着现代通信技术和业务的发展,人们对通信的需求已经由最初的单一语音需求转变为 对视频和音频的需求,以传送语音、数据、视频为一体的多媒体视频通信业务成为通信领域 发展的热点,以点到点或多点视音频通信为主要形式的可视电话、视频会议、远程医疗、远 程教育等服务得到越来越多的使用。 1 1 视频标准概述 视音频的编解码技术是视频通信中的关键技术。1 9 8 8 年肿坷颁布了h 2 6 1 1 l 建议草案, 该建议以混合编码为核心,奠定了现代视频编码的基础,此后出现了一系列的视频编码标准, 如u t 的h 2 6 2 羽、h 2 6 3 ”,i s o 的m p e g 1 f 州、m p e g 2 庐1 、m p e g 4 t 6 1 等。 h 2 6 1 作为最早的运动图像压缩标准,是u _ t 为1 s d n 开展可视电话、视频会议而制 定的,速率为6 4 k b i t s 的整数倍。它详细制定了视频编码的各个部分,包括运动补偿的帧间 预测、d c t 变换、量化、熵编码以及与固定速率的信道相适配的速率控制等部分。h 2 6 1 只支持两种格式:c i f 和q c i f ,每帧图像分成图像层、宏块组( 0 0 b ) 层、宏块( m b ) 层、块 ( b l o c k ) 层来处理。 h 2 6 3 是u - t 为低码流视频编码而设计的的一个标准草案。但实际上这个标准可用在 很宽的码流范围。它在许多应用中可以认为被用于取代h 2 6 1 。h 2 6 3 的编码算法与h 2 6 1 一样,但做了一些改善和改变,以提高性能和纠错能力。h 2 6 3 与h 2 6 1 相比增加了以下一 些功能“1 :( 1 ) 运动补偿使用半象素精度。( 2 ) 采用无限制的运动向量。( 3 ) 先进的预测模式。 ( 4 ) p - b 帧模式。( 5 ) 基于语法的算术编码。 1 9 9 8 年i u l _ t 推出了h 2 6 3 建议的第2 版h 2 6 3 + ”,相对于之前的版本,它提供了1 2 个新的可协商模式和其他特征,进一步提高了压缩编码性能。另外,h 2 6 3 + 对h 2 6 3 中的不 受限运动矢量模式进行了改进,加上1 2 个新增的可选模式,不仅提高了编码性能,而且增 强了应用的灵活性。h 2 6 3 + + 在1 - 1 2 6 3 + 基础上增加了3 个选项,这3 个选项为:选项u 、选 项v 和选项w ,主要是为了增强码流在恶劣信道上的抗误码性能同时为了提高增强编码 效率。 m p e g 是活动图像专家组聊o v i n g p i c t u r e e x p o r t s g r o u p ) l 懈,成立丁1 9 8 8 年,是为 数字视音频制定压缩标准的专家组,目前已提出m p e g - 1 ,m p e g 2 ,m p e g - 4 等标准。 1 浙江大学硕士学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 m p e g 1 标准于于1 9 9 2 年1 1 月通过,1 9 9 3 年8 月公布,用于传输1 , 5 m b i t s 数据传输率的 数字存储媒体运动图像及其伴音的编码。m p e g - 1 标准在h 2 6 1 编码算法的基础上改进、发 展,m p e g 1 改进的主要内容是增加了b 帧( 双向预测) 和图组( g o p ) 。这些改进具有更高的 压缩比,同时定义了编码算法中各工具层的语法,使视频的可操作性更灵活。m p e g 一1 标准 只规定了码流语法和解码过程,用户可以很好地利用这个语法的灵活性来设计质量非常高的 编码器和成本非常低的解码器。 1 9 9 4 年m p e g 组织推出m p e g 2 压缩标准,以实现视音频服务与应_ = | j 互操作的可能 性。m p e g 2 标准是针对标准数字电视和高清晰度电视在各种应用卜- 的压缩方案和系统层的 详细规定,m p e g 2 在系统和传送方面作了更加详细的规定和进一步的完善特别适用于广 播级的数字电视的编码和传送,被认定为s d t v 和h d t v 的编码标准。 运动图像专家组m p e g 于1 9 9 9 年2 月正式公布了m p e g - 4 ( i s o i e c l 4 4 9 6 ) 标准第一版 本。同年年底推出了m p e g - 4 第二版,且于2 0 0 0 年年初正式成为国际标准。m p e g - 4 的目 标是为视听( a u d i o v i d u a l ) 数据的编码和交互播放开发算法和工具,它是一个数据速率很 低的多媒体通信标准。m p e g - 4 算法的核心是支持基于内容的( c o n t e n t - b a s e d ) 的编码和解 码功能,也就是对场景中使用分割算法抽取的单独的物理对象进行编码和解码。 1 , 2 新一代视频标准h 2 6 4 的特点 h 2 6 4 a v c 是目前由r r u - t 的视频编码专家组( v c e g ) 及i s o i e c 的活动图像专家组 ( m p e g ) 大力发展研究的、适应于低码率传输的新一代压缩视频标准。2 0 0 3 年3 月由两个专 家组组成的联合视频专家组公布了这一压缩视频标准的最终草案,此标准被称为 r r u t 的h 2 6 4 1 9 1 协议或i s o i e c 的m p e g - 4 的高级视频编码部分。 h 2 6 4 和以前的标准一样,也是d p c m 加变换编码的混合编码模式。但它采用“回归 基本”的简洁设计,不用众多的选项,获得比h 2 6 3 + + 好得多的压缩性能。h 2 6 4 加强了对 各种信道的适应能力,采用“网络友好”的结构和语法,有利丁对误码和丢包的处理。而且, 应用目标范同较宽,满足不同速率、不同解析度以及不同传输( 存储) 场合的需求。 为适应各种网络环境和应用场合,h 2 6 4 定义了视频编码层( v c l ) 和网络提取层( n a l ) 1 0 l 。其中v c l 功能是进行视频编解码,包括运动补偿预测,变换编码和熵编码等功能;n a l 用于采用适当的格式对v c l 视频数据进行封装打包。h 2 6 4 编解码器的层结构如图1 - 1 所 不。 2 浙江大学硕士学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 图1 - 1h ,2 6 4 编码器结构 通过对传统的帧内预测、帧间预测、变换编码和熵编码等算法的改进,h 2 6 4 的编码效 率和图像质量比以往的标准提高了很多i 。 ( 1 )可变块大小:在进行帧间预测时h 2 6 4 可以灵活选择块的大小。在宏块( m b ) 划 分上h 2 6 4 在1 6 x 1 6 ,1 6 x 8 ,8 x 1 6 ,8 x 8 四种模式中选择最优的模式;当选中的最优划分模 式为8 x 8 时,又可进一步采用8 x 4 、4 x 8 、4 x 4 三种子宏块划分模式划分8 x 8 块,这样可以 使运动物体的划分更加精确,减小预测误差,提高编码效率。帧内预测一般采取两种亮度预 测模式:i n t r a4 x 4 和i n t r a1 6 x 1 6 。 ( 2 )多参考帧运动估值:以往的编解码技术在对p 帧( 场) 图像进行帧间预测时,只允 许以前一个1 图像或p 图像为参考帧,对b 图像进行预测时只允许以前后两个i 图像或p 图 像为参考图像。h 2 6 4 则打破了这些限制,允许在r e f e r e n c eb u f f e r 中的多个图像中选取一 个( p 预测方式) 或两个( b 预测方式) 图像作为参考图像,参考图像甚至可以烂采用双向预测 编码方式的图像。 ( 3 )高精度运动估值:在h 2 6 4 中亮度信号运动补偿预测的精度是1 ,4 像素。如果运动 矢量指向参考图像的整像素位置,预测值就是该位置上参考图像像素的值:否则使用6 阶 f i r 滤波器的线性内插获得l ,2 像素位置的预测值。通过取整数和1 2 像素位置像素值均值 的方式获得1 4 像素位置的值。显然采用高精度运动估计会进一步减小帧问预测误差。 ( 4 )参考图像的选取更加灵活:允许选取与当前图像更加匹配的图像为参考图像进行预 测,减小了预测误差,提高编码效率。 ( 5 )加权预测:允许编码器以一定的系数对运动补偿预测值进行加权,从而在一定的场 3 浙江人学硕士学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 景i - 可以提高图像质量。 ( 6 1 运动补偿循环内的消除块效应滤波器:为消除在预测和变换过程中引入的块效应, h 2 6 4 也采用了消除块效应滤波器,但与以往标准不同的是,h 2 6 4 的消除块效应滤波器位 于运动估计循环内部,可以利用消除块效应以后的图像去预测其它图像的运动,进一步提高 预测精度。滤波强度取决于宏块的预测方式、量化参数、运动矢量等。量化步长减小时,滤 波器的作_ | = j 也会相应降低。 在抗丢包和抗误码方面,h 2 6 4 采用参数集、片的使用、f m 0 f r e x i b l em a c r o b l o c k o r d e o 、冗余片等关键技术。大大提高了系统的抗丢包和抗误码性能。 ( 1 ) 参数集:以往视频编解码标准中g o b 、g o p 、图像等头信息是至关重要的,包含 这些信息的包的丢失常导致与这些信息相关的图像不能解码。为此h 2 6 4 将这些很少变化并 且对大量v c ln a l u 起作用的信息放在参数集中传送。参数集分为两种,即序列参数集和 图像参数集。为适应多种网络环境,参数集可以带内传送,也可以采用带外方式传送。参数 集及其灵活的传送方式会大大降低因关键的头信息丢失而造成错误发生的可能。为保证参数 集可靠地到达解码器端,可以采用重发的方式多次发送同一参数集,或传送多个参数集。 ( 2 ) 片( s l i c e ) 的使用:图像可以划分成一个或几个片。将图像划分为多个片,当某一 片不能正常解码时的空间视觉影响就会大大降低,而且片还提供了重同步点。 ( 3 ) f m o :通过f m o 可以进一步提高片的著错恢复能力。通过片组( s l i c eg r o u p ) 的 使用,f m o 改变了图像划分为片和宏块的方式。宏块到片组的映射定义了宏块属于哪一个 片组。利用f m o 技术,h 2 6 4 定义了七种宏块扫描模式。 ( 4 ) 冗余图像:为提高h 2 6 4 的解码器在发生数据丢失时的顽健性,可以采用传送冗余 图像的方式。当基本图像丢失时,可以通过冗余图像重构原图像。 ( 5 ) 帧内预测:h 2 6 4 借鉴了以往视频编解码标准在帧内预测上的经验,值得注意的是, 在h 2 6 4 中,i d r 图像可以使参考图像缓存无效。之后的图像在解码时不再参考i d r 图像 之前的图像,因而i d r 图像具有很好的重同步作用。在一些丢包和误码严重的信道中,可 以采取不定期传送i d r 图像的方式进一步提高h 2 6 4 的抗误码和抗丢包性能。 ( 6 ) 数据划分:由于运动矢量和宏块类型等信息相对于其他信息具有更高的重要性,因 而在h 2 6 4 中引入了数据划分的概念,将片中语义彼此相关的语法元素放在同一个划分中。 在h 2 6 4 中有三类不同的数据划分,三类数据划分分开传送,若第二类或第三类划分的信息 丢失,使用差错恢复工具仍然可以通过第一类划分中的信息对丢失信息进行适当恢复。 ( 7 )多参考帧运动估值:多参考帧运动估值的一个作用是可以提高编码器的编码效率, 4 浙江人学硕士学位论文基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 另一个作用是提高差错恢复能力。在有反馈的系统( 如采用r t p r t c p 作为应用层传输协议 的通信系统) 中,当编码器得知有图像丢失时,可以选择解码器已经正确接收的图像作为参 考图像。 ( 8 )为阻止错误在空间上的蔓延,解码器端可以指定当p 片或b 片中的宏块在做帧内 预测时不使用相邻的非帧内编码宏块作为参考。 f i 2 6 4 是在h 2 6 3 的基础上发展起来的,在技术上,它集中了以往标准的优点,并吸收了 标准制定中积累的经验“。与之前的标准相比,h 2 6 4 在大多数码率r 最多可节省5 0 的码 率。h 2 6 4 在所有码率下都能持续提供较高的视频质量。h 2 6 4 能工作在低延时模式以适应实 时通信的应爿j ( 如视频会议) ,同时又能很好地上作在没有延时限制的应用,如视频存储和以 服务器为基础的视频流式应用。另外,h 2 6 4 具有更强的错误处理能力,在l p 网络中山现数 据包丢失时或在较易发生误差的无线网络中出现误码时,h 2 6 4 具备处理这类问题所必需的 i :具。 1 3 本文的主要工作 h 2 6 4 由于其高效的编码压缩效率和良好的网络适应性,在实时视频通信、视频流媒体 服务、压缩视频存储等领域得到了广泛的应用。网此,研究h 2 6 4 编码器的实现与优化具有 现实的意义。 h 2 6 4 帧间编码时,运动估计的运算量- 耳总运算量的7 0 n 上,运动估计的效率将严重 影响编码器的速率。因此,本文首先研究快速运动估计算法在算法层面上对编码器进行优 化。另外,如何利用d m o t 2 提供的i n t r i n s i c s ( 内联函数) 指令和线性汇编指令对编码器中 的关键代码进行优化以及根据d m 6 4 2 的2 级c a c h e 结构和e d m a 特性对编码器代码和数 据在存储器的分配进行优化也是本文的重点。通过本文的工作,h 2 6 4 视频编码器在d m 6 4 2 d s p 硬件平台上编码c i f 格式的s t e f a n 图像序列,编码速度由原来的4 f s 提高到了1 6 f s 。 5 浙江大学硕士学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 第二章h 2 6 4 视频编码标准基本原理 h 2 6 4 中的v l c 层主要致力于获得较高的编码效率。h 2 6 4 相比之前的编码标准具有更 好的压缩效率,正是因为其v l c 层采用了更加先进的预测技术和消除块效应滤波系统。本 章主要介绍h 2 6 4 各个模块的基本原理和实现。 2 1h 2 6 4 视频编码器的基本框架 与先前的一些编码标准相比,h 2 6 4 标准继承了h 2 6 3 和m p e g i 2 4 视频标准协议的优 点,但在结构上并没有变化,只是在各个主要的功能模块内部使用了一些先进的技术,提高 了编码效率。其主要表现在:编码不再是基于8 x 8 的块进行,而是在4 x 4 大小的块上进行 残差的变换编码。所采用的变换编码方式也不再是d c t 变换,而是一种整数变换编码。采 用了编码效率更高的上下文自适应二进制算术编码( c a b a c ) ,同时与之相应的量化过程也 有区别。h 2 6 4 标准具有算法简单易于实现、运算精度高且不溢出、运算速度快、占用内存 小、消弱块效应等优点,是一种更为实用有效的图像编码标准。 h 2 6 4 标准仍采用 到像预测和变换编码相结合的编码结构,其编码器的基本结构如图 2 1 所示: 图2 - 1h 2 6 4 视频编码器结构图 编码器的工作过程可根据数据流分为前向通道和重建通道“。输入帧只的编码,是对 原始图像1 6 x 1 6 像素的宏块进行编码。宏块编码分为帧内编码和帧间编码。在任何情况下, 预测宏块p 都由重建帧获得。在帧内编码模式中,p 由当前帧中的已编码宏块经解码、重构 6 浙江大学硕上学位论文 革于d m 6 4 2 的h2 6 4 视频编码器优化与设计 第二章h 2 6 4 视频编码标准基本原理 h 2 6 4 中的v l c 层主要致力于获得较高的编码效率。h 2 6 4 相比之前的编码标准具有更 好的压缩效率,正是因为其v l c 层采用了更加先进的预测技术和消除块效应滤波系统。本 章主要介绍h 2 6 4 吾个模块的基本原理和实现。 2 1h 2 6 4 视频编码器的基本框架 b 先莳的一些编码标准相比h 2 6 4 标准继承了h 2 6 3 年口m p e g l u m 4 视频标准协议的优 点,但在结构上并没有变化,只是在各个主要的功能模块内部使用了一业先进的技术,提高 了编码效率。其主要表现在:编码不再是基于8 x 8 的块进行,而是在4 x 4 大小的块上进行 残差的变换编码。所采用的变换编码方式也不再足d c f 变换,而是种整数变换编码。采 用了编码效率更高的上i - k 自适戊一进制算术编码( c a b a c ) ,同时与之相麻的量化过程也 有区别。h 2 6 4 标准具有算法简单易于实现、运算精度高且不溢出、运算速度快、 用内存 小、消弱块效应等优点,是一种更为实用有效的图像编码标准。 h 2 6 4 标准仍采用图像预测和变换编码相结合的编码结构,其编码器的基奉结构如图 2 1 所示: 罔2 - 1h2 6 4 视频编码器结构图 编码器的工作过程可根据数据流分为前向通道和重建通道“。输入帧e 的编码,是对 原始图像1 6 x 1 6 像素的宏块进行编码。宏块编码分为帻内编码和帧间编码。在任何情况下, 预测宏块p 都由重建帧获得。在帧内编码模式中,p 由当前帧中的已编码宏块经解码、重构 预测宏块p 都由重建帧获得。在帧内编码模式中,p 由当前帧中的已编码宏块经解码、重构 6 浙江人学硕上学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 预测获得。如上图中的“。在帧闻编码模式下,p 由一个或多个参考帧经运动补偿预测获 得,如。以预测宏块p 与当前宏块e 的差值作为残差宏块见,经变换、量化后得到一 串变换参数x 。参数x 需要进行两方面的处理,一是重排序和熵变换处理,整个过程没有 反馈分量,故称为前向通道;二是反量化和逆变换处理,产生宏块噬,然后与宏块p 相加 得到重构宏块“,再经过一系列处理得到重建的参考帧一。,用于f 一帧的运动估计,因 此称为莺建通道。 2 2 , h 2 6 4 标准关键模块 h 2 6 4 的特征是:加大了预测部分的比重,通过改善预测误差而提高编码效率。h 2 6 4 标准区别于其他标准的主要技术: 1 )采用4 x 4 像素块的整数变换,反变换过程中没有匹配错误问题。 2 ) 运动补偿块大小采用可变形式,从1 6 x 1 6 ,1 6 x 8 ,8 1 6 ,8 8 ,8 x 4 ,4 x 8 , 4 4 中选择采用不同的块人小的运动矢量预测可以比单独1 6 x1 6 块的预测方法提高大于 1 5 的编码率。 3 ) 运动矢量的精度目前可达1 4 或1 8 像素,与整数精度的空间预测相比,可以提高 大于2 0 的编码率。 4 ) 采用多参考帧进行帧间预测,这样比单独参考帧方法可以节省5 到1 0 的传输码 率,并且有利于码流的错误恢复。 5 )为消除块效应,采用基于4 x 4 块边界的消除块效应滤波器,从而提高了图像的主 观质量。 6 )采用u v l c 编码( u n i v e r s a lv a r i a b l el e n g t hc o d e s ) 或者基于上下文的c a b a c 编 码算法( 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 cc o d i n g ) ,其中后者可以节省大约1 0 的 码率。 2 2 1 帧内预测 为了提高编码效率,在帧内编码【“1 中h 2 6 4 采用帧内预测模式,这样能够更好地消除 图像的空间冗余。预测分为4 x 4 子块和1 6 x 1 6 子块的两种模式。帧内预测的原理主要依据 图像中相邻宏块具有相似性的特点,因此通过已编码的宏块( 特别是在当前宏块左边和上方 7 浙江大学硕士学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优他与设计 的相邻宏块) 来预测当前宏块,然后对当前宏块与预测值的差值进行变换编码。 1 4 x 4 亮度预测模式 如图2 - 2 所示,4 x 4 亮度块的上方和左方像素a m 为已编码并重构的像素,用作编解 码中的预测参考像素。a 呻为代预测像素,利用a m 和9 种模式实现,如图2 - 3 。图中的箭 头表示各种模式的预测方向。d c 预测( 模式o ) 根据a ,m 可获得的情况进行修正。其余模式 n 8 ) 只有当所需要的采样值都能获得时才被采用。 i 酣1 雀i 百1 礤6 1 i f i i 玎一“| 图2 - 2 预测样点标记( 4 x 4 ) f 雠心d 血日2 阱)j 柑坤o n d 啪蛐4 i d i l g o n a l d 神日 犷酽渺 酽矿 图2 3 4 4 亮度帧内损授4 模式 模式0 ( 垂直) :由上方的采样值a 、b 、c 、d 垂直推出相应像素点。 模式1 ( 水平) :由左方采样值i 、j 、k 、l 水平推出相应像素点。 模式2 c ) :p 中所有的采样都用a d 和l i l 的均值预测。 模式3 ( d i a g o n a ld o w n l e f t ) :各子块预测值由采样点从右上方到左下方沿4 5 度方向插 值得到。 模式4 ( 0 i a g o n a ld o w n - r 岫c ) :各子块预测值由采样点从左上方到右下方沿4 5 度方向插 值得到。 模式5 ( v e r t i c a l - r i g h t ) :各子块预测值由采样点从左上方到右下方沿与垂直方向夹角 2 6 6 度插值得到。 模式6 0 - i o r i z o n t a l - d o w n ) :各子块预测值由采样点从左上方到右下方沿与水平方向夹角 2 6 6 度插值得到。 模式7 ( v e r t i c a l - l e f t ) :各子块预测值由采样点从右上方到左下方沿与垂直方向夹角2 6 6 度插值得到。 8 一阳一沁 e一薹ko魁纂 陛除丽 一jkl 浙江大学硕士学位论文基于d m 6 4 2 的h 2 6 4 = l | | l 频编码器优化与设计 模式8 ( h o r i z o n t a l u p ) :各子块预测值由采样点从左下方到右上方沿与水平方向夹角 2 6 6 度插值得到。 编码器将对每个块选择预测值和原始数据之间残差最小的一种预测模式。 2 1 6 x 1 6 亮度预测模式 宏块的1 6 1 6 亮度成分可以整体预测,共有4 种预测模式,如图2 - 4 所示。 0 v 剖此a l l 栅l z 0 删i斟d c a ( p l a n e ) 鏖藤藤 图2 4 1 6 1 6 预测模式 模式0 ( v e r t i c a l ) :由上边像素推山相应像素值。 模式l ( h o r i z o n t a l ) :由左边像素推出相麻像素值。 模式2 ( d c ) :由上边和左边像素推出相应像素值。 模式3 ( p i a n o :利用线性“p l a n e ”函数及左、上像素推出相应像素值。 3 8 x 8 亮度预测模式 每个帧内编码宏块的8 x 8 色度成分由己编码左上方色度像素的预测而得,两种色度成 分常用同一种预测模式。4 种预测模式类似于帧内1 6 1 6 预测的4 种预测模式只是模式 编码不同,其中d c 为模式0 ,水平为模式1 ,垂直为模式2 ,平面为模式3 。 4 对帧内预测模式的编码 4 x 4 块帧内编码预测模式的选择必须通知给解码器,这将潜在地需要大量的比特位。 然而,相邻4 4 块的预测模式具有很高的相关性”1 。例如a 、b 、c 分别为左边、上边和 当前块,如果已编码的4 4 块a 和b 采用模式2 进行预测,则对块e 来说最好的预测模式 也很有可能是模式2 。对每一个当前块e 编码器和解码器都计算参数m o s tp r o b a b l em o d e 。 如果a 和c 都采用帧内编码并且都在当前片断( s l i c c ) 内,m o s t _ r o b a b l e _ m o d e 是a 和c 的预 测模式中小的那个,否则m o s tp r o b a b l e _ m o d e 为2 ( d c 模式) 。 编码器对每个4 x 4 块设置一个标志位,u s e _ m o s tp r o b a b l e _ m o d e 。如果该位为1 ,则参 数m o s t _ p r o b a b l e _ m o d e 使用。如果该位为0 ,另一个参数r e m a i n i n g _ m o d e _ s e l e c t o r 被发送, 用来指出模式的变化。如果r e m a i n i n g _ m o d es e l e c t o r 小于当前的m o s t p m b a b l e _ m o d e ,则预 测模式设置为r e m a i n i n g _ m o d e , s e l e c t o r 。否则,设置为r e m a i n i n g _ m o d e _ s e l e c t o r + 1 。用这种 9 浙江大学硕士学位论义 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 方法,r e m a i n i n gm o d e _ s e l e c t o r 只需要8 种值( 0 - 7 ) 米表示当前帧内预侧模式( 0 - 8 ) 。 如果宏块采用1 6 1 6 帧内编码或色度块帧内编码,预测模式在宏块头中指出 m o s t _ p r o b a b l e _ m o d e 在这些情况中不使用。 2 2 2 帧间预测 帧间预测从已被编码的一帧或多帧中产生预测模板【1 6 1 1 ”】。这个模板是通过在参考帧中 进行采样点的平移得到的。在h 。2 6 4 中仍然采用了从h 2 6 1 起就被广泛运用的基于块的运动 补偿。和早期的标准不同的是h 2 6 4 支持更多更细的块大小划分以及亚象素运动矢虽估计 f 在亮度分量中采用了1 4 象素精度) 。 1 树状结构运动补偿 h 2 6 4 支持从1 6 1 6 到4 x 4 大小的多种亮度采样点块大小的运动补偿。每个1 6 1 6 的宏块能被划分成如图2 - 5 所示的四种形式。当划分方式为8 x 8 时,义可以进一步划分成 如图2 - 6 所示的4 种方式。这使得一个宏块能够为运动补偿提供多种划分方式,称为树状结 构运动补偿【捌。 8 8 x 1 88n 图2 - 5 宏块的划分方式 o 1 匿2 - 6 亚宏块的划分方式 每个分割或子宏块都有一个独立的运动补偿,每个运动运动矢量必须被编码、传输,分 割的选择也需编码压缩到比特流中。选择较大分块尺寸的划分方式( 1 6 x 1 6 ,1 6 x 8 ,8 x 1 6 ) 意味 着可以在运动矢量和分割类型的编码上花费较少的比特数,但运动补偿残差将会包含较多细 节信息。选择较小尺寸的划分方式( 8 4 ,4 4 等) 可以提供包含较少信息的残差,但在运 1 0 离 浙江大学硕十学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 动矢繁和分割类型的编码上花费较多。因此,选择合理的宏块划分方式对压缩性能有显著的 影响。在具体的执行中,可以采用率失真最优化的方式来进行划分。一般来说,对于帧内较 平滑的暖域选择比较大的块是合适的,而对于细节部分则应选择较小的块。 色度宏块的分辨率是亮度宏块的- t 。色度宏块的划分方式和其相应的亮度宏块一致, 其尺寸是相应色度宏块分块的一半。运动矢量的水平和垂直分量运用于色度块时麻相应减 半。 2 亚像素运动矢量 在h 2 6 3 中采用的是半像素精度的运动估计,而在i - i 2 6 4 中可以采用1 4 或者1 8 像素 精度的运动估值。在要求相同精度的情况下,h 2 6 4 使用1 4 或者1 8 像素精度的运动估计 后的残差要比h 2 6 3 采用半像素精度运动估计后的残差来得小。运动向量的位移精度对于亮 度分最是1 4 像素,对于色度分量是1 8 像素。当运动向量指向整数像素时,参考值就是对 应的采样值,否则需要通过邻近采样值插出所需的参考值。1 2 像素位置的参考值通过一维 的f i r 滤波器插出,1 4 像素位置的参考值由整数和1 2 像素位置的均值获得。对于色度分 量,参考值通过双向线性插值获得。这样在相同精度下,h 2 6 4 在帧间编码中所需的码率更 小,以复杂的算法为代价。此举可显著提高预测精度,从而提高压缩效率。 3 运动矢量的预测 由于编码运动矢量仍然需要消耗人量的比特数,尤其是当宏块划分较细时。同时,相邻 区域的运动矢量之间具有较强的相关性。因此,可以从临近区域的运动矢虽预测当前区域运 动矢量,再将残差编码。产生预测运动矢景m v p 依赖于运动补偿分块的大小和其相邻运动 矢量的可获得性。具体的预测方法如下: 如图2 - 7 ,假设e 为当前宏块或宏块分区或亚宏块分区,a 表示其左邻宏块分区或亚宏 块分区,b 代表其上邻宏块分区或亚宏块分区,c 代表其右上宏块分区或弧宏块分区。如e 左邻有多个宏块分区则选取其最上一分区为a ,相应的若e 上邻有多个宏块分区,则选取 其最左边一分区为b 。 除1 6 x 8 和8 1 6 两种分区方式外,其余分区的运动矢量均采用a 、b 、c 分区的运 动矢量的中间值预测。对1 6 8 宏块分区,则上面一个分区的预测运动矢量为b ,下面一个 分区的预测运动矢量为a 。对8 x1 6 宏块分区,其左边一个分区的运动矢量为a ,右边一 个分区的预测运动矢量为c 。若该宏块为s k i p 模式,这其预测运动矢量与1 6 1 6 一致。 1 1 浙江大学硕士学位论文基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 b c 4 81 8 x 8 a 8 x 4 e 1 6 x 1 8 2 2 3 变换与量化 图2 - 7 当前宏块分区和领近宏块分区 将图像的当前像素值与预测值相减,就形成了预测残差。残差内仍然含有空间冗余,为 了消除这种冗余,通常采用变换编码,即变换一量化一熵编码三步。变换并不压缩数据,它 只是消除数据中的相关性,或者说将数据中的冗余( 或相关性) 以一种便于随后进行熵编码的 方式表现出来。压缩是在熵编码步骤中完成的。此外为了进一步减少数据量,编码器还对变 换后的系数进行量化,它的实质是减少数据的取值范围以减少每一个符号的熵。它会造成信 息的损失,是有损编码的一个重要步骤,它也是控制图像率失真( r d ) 特性的一个主要手段。 在图像编码中,变换编码和量化从原理上讲是两个独立的过程。但在h 2 6 4 中,将两个过程 中的乘法合而为一,并进一步采用整数运算,减少了编解码的运算量,提高了图像压缩的实 时性口”。 图像编码中常用的变换是d c t ,因为它在某种条件下近似于理论上最优的k - l 变换。 但是如果直接采用d c t 的定义进行变换,会带来两个问题:一个是需要进行浮点数操作, 从而造成系统设计上的复杂性;第二,由于变换核都是无理数,而有限精度的浮点数不可能 精确地表示无理数,再加上浮点数的运算可能会引入舍入误差,这就使得在具体实现时会导 致编解码的失配( m i s m a t c h ) 。为了克服这些问题,h 2 6 4 采用整数d c r 变换,使得变换操作 仅用整数加减和移位操作就可以完成,这样既降低了没计复杂度,又避免了编解码的失配, 而由此带来的编码性能的减少微乎其微。h 2 6 4 使用了三种变换方式,根据残余数据类型的 不同来进行选择。帧内编码宏块的亮度d c 系数( 仅对1 6 x 1 6 预测模式有效) 采用4 4 的矩 阵,色度d c 系数采用2 2 的矩阵,对于其他的都采用4 x 4 的块来变换。宏块中的数据的 传输顺序图2 - 8 所示。如宏块预测模式为帧内1 6 x1 6 ,则首先传送编号为一1 的亮度d c 系 数矩阵。然后依次传送编号为0 - 1 5 的亮度残差数据,以及编号1 6 2 5 的色度d c 和色度残 浙江大学硕士学位论文 基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 差数据。 图2 - 8 宏块残差数据块传递次序 1 4 4 残差变换和量化( 块0 。1 5 ,1 8 - 2 5 ) 这种变换是针对运动补偿预测或者帧内预测后形成的4 x 4 残差块的。h 2 6 4 变换基于 d c q 变换的,但有一些基本的不同: ( 1 ) 这是一个整数变换( 所有的运算可以在不失精确度的情况下用整数米运算) ; ( 2 ) h 2 6 4 对反变换也作了详细的说明,在编码和解码之间不会出现很大的误差: ( 3 ) 核心变换可以不需要乘法,只用简单加法和移位来完成; ( 4 ) 缩放矩阵的乘法集成到了量化中降低了乘法的总次数; 一个4 4 的d c t 变换可以用式( 2 1 ) 实现: y :a x a 7 。 n bc 口-a c- b 口口 一c一6 一a口 6一cc 口4口 cc 一6 一a一口口 - bb - - c 其中n = 三,6 = 压c o s c ,c 。压c o s c 争 通过提取因子a 、b 可得到式( 2 2 ) : ( 2 1 ) 浙江大学硕士学位论文基于d m 6 4 2 的h 2 6 4 视频编码器优化与设计 】,;( c x c 7 ) o 11 1d 11 d一1 11 一d一1 11 1一吲睢 1 d 一11 一l1 1一d a 2a b a bb 2 a 2 b a bb 2 口2a b a bb 2 a 2a b 口bb 2 ( 2 2 ) 其中,d = c b ( 约等于0 4 1 4 ) 。符号“o ”表示( c x c 7 ) 结果中的每个元素乘以矩 阵e 中对应位置上的运算a 为了简化运算,d 取近似值0 5 ,同时为了保持变换的正交性, a 、b 、d 取以下值: a 。1 2 ,a 一三5 ,d = 三2v 对矩阵c 中的第2 行和第4 行,以及矩阵c 7 中的第2 列和第4 列元素乘以2 ,相应地 改造矩阵e 为e ,以保持( 2 2 ) 式成立,得到式( 2 3 ) : l ,一( c ,x c l 7 ) e , 11 21 l一1 1 2 11 12 11 2一lm 睢 11 12 1 2 11 a b 。一 2 b 2 _ _ 4 a b _ _ _ 2 b 2 。 4 其中,运算“ ”对每个矩阵元素只进行一次乘法,同时它将被归纳到量化运算中。 h 2 6 4 仍然使用了分级量化,支持5 2 个量化步长,并用量化参数来索引量化步长。量 化步长用o s t e p 表示,量化参数用q p 表示,q s t e p 和o p 之间的关系如

温馨提示

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

评论

0/150

提交评论