




已阅读5页,还剩49页未读, 继续免费阅读
(通信与信息系统专业论文)h264视频编码器中的率失真优化与汇编优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要摘要本文的主要工作是对编码器进行优化,提高其计算效率以节省编码时间,提高视频编码应用的实时性。文中首先对视频编码相关的基础理论知识进行了介绍,并在此基础之上详细阐述了h 2 6 4 标准中与本文相关的技术细节,如“类d c t 变换”的推导,量化处理的过程,率失真优化的基本方法等。本文中所使用的优化方法主要是在率失真优化和汇编优化两个方面。在率失真框架下,对帧内预测模式选择使用了分类的方法进行优化,同时对信道模拟的流程进行了优化。与原有的方法相比,获取了约4 0 左右的时间节省。在汇编优化方面,使用i n t e l 为多媒体应用推出的m m x 指令集对原有部分代码进行替换。主要对“类d c t 变换,、量化、s a d 值计算等使用汇编方法进行了优化,获得了明显的性能提升。最后,使用多种测试序列对优化后的程序进行实际编码测试,结果表明这些方法在对视频质量降低很小的前提下能够有效提高编码器的性能。关键词:视频编码h 2 6 4 率失真优化m m xa b s t r a c ta b s t r a c tt h ep u r p o s e so ft h i st h e s i sa r ei m p r o v i n gt h ec o m p u t a t i o ne f f i c i e n c ya n de n h a n c et h ep e r f o r m a n c eo fv i d e oe n c o d e ri nr e a l t i m ea p p l i c a t i o n f i r s t l y , t h i st h e s i si n t r o d u c e st h eb a s i cp r i n c i p l eo fv i d e oc o d i n g , a n dt h e nd i s c u s s e ss o m et e c h n o l o g i e si nd e t a i l t h es u b s t a n c ei n c l u d e st h er e a s o n i n go fd c tt r a n s f o r m i n g ,t h ep r o c e s s i n go fq u a n t i z a t i o n ,t h eb a s i cr a t e d i s t o r t i o no p t i m i z a t i o nm e t h o d sa n ds oo n t h i st h e s i sf o c u s e so nt w oa s p e c t so fo p t i m i z a t i o n , t h eo n ei sr a t e - d i s t o r t i o no p t i m i z a t i o na n dt h eo t h e ri sa s s e m b l yo p t i m i z a t i o n i no r d e rt oo p t i m i z et h ep r o c e s s i n go fm o d ed e c i s i o n t h ep r e d i c t i o nm o d e sa r ed i v i d e di n t os e v e r n lg r o u p su n d e rt h ef r a m e w o r ko fr a t e d i s t o r t i o no p t i m i z a t i o n a tt h es a m et i m e ,t h eo r d e ro fc h a n n e ls i m u l a t i o ni sc h a n g e dt os a v et h ec o s to ft i m e t h et e s tr e s u l t ss h o wt h a ti tc a l lb r i n ga b o u t4 0 t i m er e d u c e sc o m p a r e dt ot h eo r i g i n a lm e t h o d a tt h ea s p e c to fa s s e m b l yo p t i m i z a t i o n ,s o m ecc o d e sa r er e p l a c e db ya s s e m b l yc o d e sw i t hm m xi n s t r u c t i o n s t h eu s a g eo fm m xi n s t r u c t i o ns e t sg r e a t l yi m p r o v e st h ec o m p u t a t i o ne f f i c i e n c ya n dt h ep e r f o r m a n c eo fh 2 6 4v i d e oe n c o d e r f i n a l l y , t h eo p t i m i z e de n c o d e ri st e s t e dw i t hs e v e r a ld i f f e r e n ts t a n d a r dt e s t i n gs e q u e n c e s t h er e s u l t ss h o wt h a tt h eu s i n go ft h e s em e t h o d sg r e a t l ye n h a n c e dt h ep e r f o r m a n c eo ft h ee n c o d e rw i t hl i t t l ei m a g eq u a l i t yd r o p p i n g k e y w o r d :v i d e oc o d i n gh 2 6 4r a t e d i s t o r t i o no p t i m i z a t i o nm m x创新性声明本人声明所望交的论文足我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知。除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或掼写过的研究成果:也不包含为获得西安电子科技大学或其它教育机构的学位或征郫而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在沦文中做了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切相关责任。小人签名:形走炜关于论文使用授权的说明) 棚a 移本人先企了解西安电子科技人学仃关保留和使川学位沦文的规定,即:研究q i 丑:校攻凄学何j n j m 论文工作的知识产权忡位属p q 安f ur 科技人学。本人保“e 毕业高校后,发表论义和使川论文一l = 作成果时焉名单位仍然为p q ,支i 巳予科技大学。学校有权保刚送交论文的复印件,允许查阅和借阅论文:学校“j 以公白论文的全i l j 或部分内容,j 叮以允i ,i :采刚影印、缩印或j e 它复印丁段保存沦义( 保密的论文在解南后遵循此规定) 。本人签名:导师签名f _ l 期知 ,如嗍坦z :! ! z 翌一姆一、乏第一章绪论第一章绪论1 1 研究背景近些年来,移动通信和因特网技术得到迅猛的发展,单一的语音和数据通信已经不能满足人们的需求,而对于数字视频及图像的传输业务的需求随之大幅度增加。相比较于其它类型的( 如文本,语音等) 信息传输,视频传输需要更多的带宽,为了在带宽受限的条件下传输视频信息,必须对视频信息进行压缩处理。2 0世纪9 0 年代以来,j p e g 、h 2 6 3 、m p e g 1 、m p e g 2 等图像多媒体编码标准相继出台,它们成功应用于多种场合,但由于自身性能的局限,还达不到很满意的效果。随着技术的不断进步,提出了新的视频编码标准h 2 6 4 1 “。h 2 6 4 标准使运动图像压缩技术上升到了一个更高的阶段,在较低带宽上提供高质量的图像传输是h 2 6 4 的应用亮点。原始数字视频信息的数据量是非常巨大的,以4 :4 :4 采样的n t f s 制式c l f 格式的彩色数字电视信号的数据量可达到6 0 8 m b p s 。这要求数字视频信号在传输之前必须进行压缩,尽可能地消除信息的冗余,减少信号的数据量。数掘的压缩是通过信源编码来实现的,信源编码可以分为无失真信源编码和限失真信源编码两大类。对于前者,要求编码后的码字能够无失真地还原原始信号,而对于后者,允许还原后的信号存在一定程度失真。对于数字视频信号来说,无失真编码所需要的比特数是非常巨大的,因而压缩效率不高,这对于存储或传输束说都是不现实的。在多数情况下适当的失真是可以接受的,适度的失真能够换取比特率的大幅下降,提供更高的压缩比,因而数字视频信号多采用限失真编码。限失真编码理论所研究的主要问题是:如何在失真度不超过某一确定值的条件下,使编码所需的比特数最少,即在给定失真度的条件下如何获得最大的数据压缩率。目前,限失真数字视频编码主要采用了线性预测和变换编码两种技术。用线性预测的方法对图像信号编码是1 9 5 2 年由贝尔实验室首先提出的,1 9 6 6 年对从理论上系统地提出了实用的编码方法,1 9 6 9 年进行了线性预测编码的实际实验。此后,出现了各种改进的帧内、帧i 日j 线性预测编码方法和自适应预测编码方法1 2 l 【3 1 ,这些方法也已经在很多的视频编码标准之中得到了广泛应用。视频质量和压缩效率是一对矛盾体,高的压缩效率必然会降低视频的质量,如何在这两者之间进行权衡取舍就是率失真理论要解决问题。视频编码率失真优化策略的主要内容是在编码比特率不超过信道速率的条件下,如何选择最佳的编码模式,使得失真度为最小,即在视频质量与压缩率之问进行折中。率失真优化方法的引入提升了视频编码的质量,但与此同时也造成了计算复杂度的上升。这就带来两个需要解决的问题,2h 2 6 4 视频码器中的率失真优化与汇编优化即率失真优化方法的改进和编码器计算效率的提高。本文对模式选择和信道模拟做了优化,以降低率失真优化方法的计算复杂度,同时使用汇编方法对原代码进行相应的优化,以提高其计算效率。1 2 优化方法介绍h 2 6 4 视频编码标准在视频质量上的提升得益于其引入的许多新技术,但与此同时也对计算性能提出了更高的要求,给视频编码的实时应用带来了困难。因而需要对h 2 6 4 视频编码器进行优化,降低计算复杂度,提高其计算效率。对h 2 6 4 视频编码器的总体优化主要包括两方面的内容:程序模块化的设计和数据结构的设计。程序模块化设计时既要考虑模块的独立性,又要考虑模块的完整性,各模块的功能完整独立且互不重叠。合理的数据结构既有利于提高数据访问的速度,又有利于程序在不同的平台之间进行移植。目前,针对h 2 6 4 实时编码器的研究主要有以下几个方面:1 算法优化算法级的优化是目 j i 做的最多的,针对h 2 6 4 视频编码器中最为耗时的模块进行优化,最主要的方面就是对运动估计算法进行优化。研究表明【4 l ,在使用一个参考帧时,运动估计的计算时间约占整个编码时| 丑j 的6 0 左右,因而提高运动估计的速度就可以大幅度提高编码的速度。常见的运动估计算法有三步搜索( t s s ) 、菱形搜索( d s ) 、六边形搜索、非对称十字形多层次六边形格点搜索( u m h e x a g o n s )和增强像素区域搜索( e p z s ) 等。在运动估计新算法的研究方顽成果辈出,这些不断出现的新算法大大提高了搜索的效率,降低了运动估计的时延。运动估计算法优化只是针对某一局部进行的,并不能获取全局性能的最优化。随着运动搜索技术的不断进步,运动估计耗时在整个编码过程中所占据的比例越束越低,运动估计以外的其它部分的瓶颈效应丌始有所显现出来。2 结构优化软件结构优化是一种很有效的方法。将软件模块化,确定输入流和输出流,对数据流向进行分析和优化,同时对已有的结构进行修改,减少不必要的操作。对软件结构进行优化有以下要求:划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。一个模块的作用范围应在其控制范围之内,且判定所在的模块应与其影响的模块在层次上尽量靠近。一个模块的作用范围指该模块内一个判定影响的所有模块的集合。一个模块的控制范围是指模块本身以及其所有下属模块( 直接或间接从属于它的模块) 的集合。第一章绪论3软件结构的深度、宽度、扇入、扇出应适当。模块的大小应适中。模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。对于视频编码器而占,其整体框架是已经确定的,但是在各具体的模块实现上还是有改进的空间。3 指令优化汇编代码的执行效率是非常高的,使用汇编代码对耗时的模块进行优化可以进一步提高其计算效率。在视频数据的处理过程中,存在着大量的变换、矩阵运算,这些计算有着高度的重复性。同时视频信号的取值在0 2 5 5 的范围之内,只需要8 b i t 就足以表示。在目前的3 2 位处理器之上,其运算效率显然是很低的。针对这些多媒体数据处理所具有的特点,i n t e l 公司基于s i m d 技术推出了m m x 、s s e 等汇编指令,它们非常适合于多媒体应用,能够充分利用处理器资源,提高数据运算的并行性和实时性。在进行指令优化的时候,一般可以先进行c 代码的优化,主要是进行代码的功能精简、数据结构的优化、循环的优化、代码的并行处理等,并尽量使所写的代码标准化。在c 代码优化完成以后,可以使用诸如v t u n e 或t r u c t i m e 之类的性能分析软件进行分析,找出瓶颈所在,再使用m m x 等指令进行汇编优化。依据以上的基本方法,本文在率失真框架之下对h 2 6 4 视频编码器进行了优化,同时在保持h 2 6 4 视频编码器高性能的前提下,使用汇编方法提高其编码的实时性也是本文讨论的内容。1 3 论文结构论文总共分为六部分:第一章绪论:介绍相关的背景、常用的优化方法和论文的总体结构。第二章视频编码理论基础:介绍视频编码的基本概念和编解码器的基本框架结构,同时对h 2 6 4 标准做了较为详细的介绍。第三章h 2 6 4 中的率失真优化:首先介绍了率失真的相关知识,并根据作者的工作重点,对帧内模式选择和信道模拟部分做了优化。第四章h 2 6 4 中的汇编优化:对m m x 指令集做了简要的介绍,并以此为依据,对“类d c t 变换”、s a d 计算和量化等做了分析与优化。第五章首先介绍了优化评价的标准和用于测试的序列,然后在各自对应的不同情况下对个序列进行编码测试,最后对获得的结果进行了分析。第六章总结与展望:论文总结,对已完成的工作、存在的不足和今后的改进方向作了论述。第一二章视频编码的理论基础第二章视频编码的理论基础5目前,数字化的信息带来了“信息爆炸”,这些信息的数据量是非常巨大的。例如,对于i t u r 所推荐并已经广泛应用的b t 6 0 1 5 ( 一种关于电视机产生的数字转换视频信号的格式) ,它的视频信号的亮度分量和色度分量分别以1 3 5 m h z和6 7 5 m h z 进行采样,产生4 :2 :2 的y :c b :c t 信号,已采样数字信号的总比特率将达到2 1 6 m b p s l 5 1 。这无论对于目前的传输或是存储条件来说,无疑都是很困难的,因此必须采取有效的压缩技术,降低信息的数据量。2 1 1 彩色空间2 1 视频编码的基本概念y 七,r + t g g + k b b( 2 1 1这罩,k ,、k 。、k 是加权因子,且七,+ 七。+ k 一1 。 c b b l , c r r y( 2 - 2 )l c 窖昌g l ,t + t 。+ t 。是一个常数,一个分量能够从另外的两个分量中计算出来,因而只要表6h 2 6 4 视频码器中的率失真优化与汇编优化优点,就是可以利用人眼视觉系统对颜色的敏感程度低于对亮度的敏感程度的特点,对c b 和c r 分量采用比y 分量更低的分辨率。这样,在采用不同的彩色空间之后,就可以获得数据量的压缩。在存储或传输时,需要从r g b 空问转换到y c b c r 空间,在显示图像的时候,需要再次的转换回r g b 空间。r g b 与y c b c r 之间的转换关系由式( 2 - 3 ) 和式( 2 4 )给出。f y k r r + 0 一心- k ,) g + k b bi卜兰c 肛y ,l c r | 兰c 肛y ,r 。y + 生生c ro 5g;y一2kb(1-kb)cb一掣c,(2-4)k1-k1 一吒一,屯一,b ;y + 兰笠o0 5在国际电信联盟i t u ( 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 nu n i o n ) 推荐的b t 6 0 1中定义k 6t o 1 1 4 和七,= 0 2 9 9 。2 1 2 采样格式在一个y u v 图像中,每个像素点有三个8 比特的值,分别对应y 、u 、v 三个分量。人眼对亮度分量信息y 更敏感,因此可以对色度分量u 、v 使用下采样( d o w ns a m p l i n g ) ,同时保持很好的图像质量。下采样可以用x :x :x 的格式来表示,其中第一个数字表示亮度采样的数目,用作参考,通常设定为4 ;第二个和第三个数字表示色度采样的数目,它的值与y 的值相关。根据应用的不同,人们可以采取不同的色度分量下采样方法栩。一种方法是色度分量在水平方向和垂直方向分别进行因子为2 的下采样;另一种方法是只在水平方向进行因子为2 的下采样,而在垂直方向不进行下采样。如图2 1 所示,4 :4 :4 方式表示像素点的三个分量( y 、c r 、c b ) 有相同的分辨率,即在每一个像素位置处,三个分量都各自有一个采样值。因而,4 :4 :4 方式保持有色度部分的完全精度。在4 :2 :2 方式下,色度分量在水平方向只有亮度分量一半的精度,但是在垂直方向却有和亮度分量相同的精度( 在水平方向上,每四个亮度采样值对应着两个c f 和两个c b 色度分量) 。4 :2 :0 方式则是色度分量在水平方向和垂直方第一二章视频编码的理论基础7向均为亮度分量的精度的一半。冷嗡镰q嗡o 嫱0涵。通。嗡哂嗡嗡油。汹oo oo o嗡嗡嗡嗡嫱。镰o汹。哂。嫱qq q嫱。汹oo o oo4 :4 :44 :2 :24 :2 :0图2 1 几种不同的采样方式例如,对于分辨率为7 2 0 x 5 7 6 的图像,亮度分量的分辨率为7 2 0 x 5 7 6 ,每个采样值用8 b i t 表示,则对4 :4 :4 格式,色度分量c r 、c b 的分辨率均为7 2 0 x5 7 6 ,每个采样值用8 b i t 表示,总的比特数为7 2 0 5 7 6 8 3 = 9 9 5 3 2 8 0 :对于4 :2 :0格式,色度分量c f 、c b 的分辨率均为3 6 0 2 8 8 ,每个采样值用8 b i t 表示,总的比特数为7 2 0 5 7 6 8 + 3 6 0 x 2 8 8 8 2 = 4 9 7 6 6 4 0 。这样,在对图像不进行任何数学计算处理的前提下,就使图像的数据量减少了5 0 。2 1 3 视频格式实际应用中,在图像与视频信号压缩和传输之前,一般都要先将其转换为一种中间格式,通常称之为通用中间格式( c i f :c o m m o ni n t e r m e d i a t ef o r m a t ) 。常用的格式有五种,分别是:s q c i f 、q c i f 、c i f 、4 c i f 和1 6 c i f 。以m n 表示图像的大小,对以上这几种图像格式进行采样,亮度分量使用全分辨率采样,即每行n个像素,每幅图像m 行。色度分量进行1 4 分辨率采样,即每行n 2 个像素,每幅图像m 2 行。针对这几种格式的m ,n ,m 2 和n 2 值如表2 1 所示。帧分辨率的选择取决于应用、存储或传输的能力,如4 c i f 适合于标准清晰度电视和d v d 视频,c i f 和q c i f 适合于视频会议,q c i f 或s q c i f 适合于移动多媒体应用。表2 1 几种常用的视频格式视频格式亮度分辨率色度分辨率行列行列s o c i f1 2 89 66 44 8o c l f1 7 61 4 48 87 2c i f3 5 22 8 81 7 61 4 44 c l f7 0 45 7 63 5 22 8 81 6 c l f1 4 0 81 1 5 27 0 45 7 68h 2 6 4 视频码器中的率失寅优化与汇编优化2 2 1 编码器基本框架2 2 视频压缩编码的基本框架视频编码器的组成在很大程度上是由视频序列建模所采用的信源模型确定的。视频编码器寻求用它的信源模型描述视频序列的内容。信源模型可做出图像序列的像素之间在时间和空间上的相关性假设,它也可以考虑物体形状和运动的影响。在编码器中,首先用信源模型的参数描述数字化的视频序列。如果我们使用像素统计独立的信源模型,那么这种信源模型的参数就是每个像素的亮度和色度的幅度。另一方面,如果我们把一个场景描述成几个物体的模型,那么参数就是各个物体的形状、纹理和运动。接下来,信源模型参数被量化成有限的符号集,量化参数取决于比特率与失真度问所期望的折中。最后,用无损编码技术把量化参数映射成二迸制码字,产生的比特流在通信信道上进行传输。解码器反向进行编码器的二进制编码和量化过程,重新得到信源模型的量化参数。然后,解码器的图像合成算法用信源模型的量化参数计算解码视频帧。把一个场景描述成几个物体的模型,把各个物体的形状、纹理和运动作为参数进行编码,是第二代视频编码的主要特点。这种利用人眼视觉特性的第二代视频编码思想由k e n tm 于1 9 8 5 年提出。经过多年的发展,在2 0 世纪9 0 年代又发展了基于模型的视频编码方法。在m p e g 4 中,就采用了这一技术,首次使用了对象的概念,如视频对象( v 0 :v i d e oo b j e c t ) 、音频对象( a o :a u d i oo b j e c t ) 等。这种以内容为中心的描述方法嗍更符合人的一t l , 理特性,从而不仅能获得比现有以像素为基础的标准更优越的压缩性能,也为应用提供了各种新的功能。这种方法虽然可以获得更高的压缩比,但复原图象质量不尽如人意。这是因为我们对人眼视觉特性的了解仍然较为肤浅,且各种对象分割算法也有许多需要改进之处。同时,这也要求更为复杂的计算,对于当i i 的条件来说,还有一定的困难。目前,为国际标准( 如h 2 6 3 、m p e g 1 和m p e g 2 等) 所采用并得到广泛应用的视频编码核心算法是:运动估计,运动补偿+ d c t + 量化+ 熵编码。运动估计运动补偿用于消除图像序列的时问相关性,对帧问预测差值进行d c t 变换以消除空问相关性,再在变换域中对得到的系数进行量化,最后对量化后的系数再进行熵编码。这就是传统基于块的变换和预测帽结合的混合编码方法。在此,我们以h 2 6 4为例,给出编码器的基本框图,如图2 2 所示。我们先对编码器和解码器的组成结构嘲做以简单的介绍。h 2 6 4 并没有明确地规定一个编码器应该如何实现,只是规定了已编码视频比特流的句法和该比特流的解码方法,具有较大的灵活性。h 2 6 4 和其它视频编码标准( 如h 2 6 3 、m p e g - 1和m p e g 2 等) 中的编码器功能块的组成并没有什么区别,他们之间的差别主要第二章视频编码的理论基础在于各功能块的细节。9图2 2h 2 6 4 编码器框图在图2 2 中,输入的图像帧或场e 以宏块为单位被编码器处理。预测编码时,其预测值p r e d ( 图中用p 表示) 由当前s l i c e 中已编码的参考图像经过运动补偿后得到,其中一一,表示参考图像。预测值p r e d 和当i 舅块相减后得到一个残差块d ,经过块变换和量化后,产生一组系数z ,再经熵编码,和解码所需的一些信息起组成一个压缩后的码流,通过n a l 供传输和存储使用。为了提供预测用的参考图像,编码器必须能够进行图像的重构。因此要将残差图像经过逆量化和逆变换得到d :,将其与预测值p 相加,得到“一( 未经滤波的帧) ,再通过环路滤波之后便得到了重构图像,用作参考图像。2 2 2 解码器基本框架倒2 3 h 2 6 4 解码器由编码器n a i l 输出的h 2 6 4 压缩比特流,在解码器端作为输入信号。经过熵解码后得到量化后的一组变换系数x ,再经过逆量化、逆变换得到残差值d :。利用从该比特流中解码得到的头信息,解码器就可以产生一个预测块p r e d ,它和编码器中的原始p r e d 是相同的。当该解码器产生的p r e d 与残差值d :相加以后,就得到了u f i ,再经过环路滤波,最后就得到了重构图像一,这个就是最后的解码输出图像。由图2 3 我们可以看到,解码器的实现过程与编码器中的参考图像重构过程是基本致的。1 0h 2 6 4 视频码器中的率失真优化与汇编优化2 3h 2 6 4 编码标准介绍h 2 6 4 和以前的其它标准一样,也是采用d p c m 加变换编码【1 0 l 的混合编码模式。但它在各个部分采用了改进的技术方案和新的算法,使整体的压缩性能有了较大的提升【“l 。2 3 1h 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 和n a l 来完成,这样的结构便于信息的封装和对信息进行更好的优先级控制。v c l 层包括基于块的运动补偿混合编码和一些新特性。n a l 单元包括自己的头部信息、段结构信息和实际载荷信息,即上层的v c l 数据。v c l 和n a l 概念在编码器上的体现如图2 4所示。2 3 2 图像分块纂l视频编码层v c l辅| 留箕留0 焉悄景l 数据分割( 对s u c e )ij 篓g网络提取层n a lh 3 2 0h 3 2 3r t p l pm p e g - 2e l c图2 4 h 2 6 4 编码器的v c l 和n a l在基于块的视频编码标准中,图像都是分块来进行处理的【1 2 l 。一帧图像分成多个1 6 1 6 大小的小图像,将这样的1 6 1 6 大小的图像称之为宏块( m a c r ob l o c k ,m b ) 。根据f i 面提到的图像格式,可知一个宏块中的图像信息包括1 6 1 6 的亮度信号y 的信息,8 8 的色差信号u 的信息和8 8 的色差信号v 的信息。通常将8 8 大小的图像称之为块( b l o c k ) ,这样一个宏块就包含了4 个亮度块,2 个色差块。如图2 5 所示。第二章视频编码的理论基础霸二鹪1 6 x 1 6 的宏块+ 豳+ 圈1 18 x 8 的色差块u8 8 的色差块v4 个8 x 8 的亮度块图2 5 宏块的组成结构示意图类似于h 2 6 3 中的宏块组( g o b :g r o u po f b l o c k ) ,宏块将以不同的方式组织到多个分片( s l i c e ) 中去,不同的是在每幅图像中s l i c e 的划分方式更为灵活。如图2 6 所示为q c i f 格式图像划分为s l i c e 的一种方式。iliiil到c e = 1ill吲e e ;垃i幽2 6 未使朋f m o 时图像划分s l i c e 的一种方式每个s l i c e 包含有足够的信息,可以被独立的解码,这有利于抑制错误的蔓延,提高了解码的容错能力。h 2 6 4 支持5 种s l i c e 的编码类型;帧内编码的i - s l i c e ;帧间编码前向预测的p s l i c e 及双向预测的b s l i c e ;还有实现在不同码率的码流中进行切换的s p s l i c e 及s 1 s l i c e 。针对实时应用中易受干扰的信道传输,h 2 6 4 还支持一种有效的错误掩盖模式,即“灵活的宏块组织”( f m o ) ,通过设置宏块次序映射表将图像中的宏块以不同的组织方式分配到一个或几个s l i c eg r o u p 中,每个s l i c eg r o u p 被单独传输。若一个s l i c eg r o u p 在传输中丢失,属于已接收的其它s l i c eg r o u p 并在空间上与其相邻的宏块采样可用束进行有效的错误掩盖。f m o 模式打乱了原宏块顺序,降低了编码效率,增加了时延,但增强了抗误码性能。f m o 有多种模式,从矩形模式到规则的散卸模式或是完全随机的散布模式。图2 7 给出了两个f m o 模式的例子。l l c e 口h h - 似、i t n l11s虻c 目n u 【1 2口_iii15 2 5 。e r u u | “。iiifs k c 苎f t “p 1i图2 7 使用f m o 模式时q c l f 图像的两种s l i c e 划分1 2h 2 6 4 视频码器中的率失真优化与汇编优化构成s l i c e 层以下的宏块又有多种划分模式,与现有其它标准所支持的1 6 x1 6块和8 8 块分区模式相比较,h 2 6 4 支持更多的宏块分区模式,可将宏块分区为从1 6 x1 6 到4 x 4 共7 种块形式,对图像的帧内、帧间编码都是基于各种尺寸的像素块进行处理的。2 3 3 帧内预测预测编码是根据过去( 或将来) 的参考像素值来预测当前的像素值,称为预_ j ! 煲0值,然后对当前的像素值与预测值之差进行编码。由于差值小,相应的表示位数减少,从而达到数据压缩的目的。常见的预测编码方法包括d p c m 编码和运动补偿预测编码两种【”i 。运动补偿预测编码的基本思想是把一幅动态图像看成是由静态部分和运动部分叠加而成。静态部分可以重复使用上一帧的数据,而对运动部分则设法确定其位移量来实现运动部分的预测,即进行运动补偿之后再进行帧间预测。运动补偿预测编码着眼于减小帧与帧之问的时间冗余度,是目l j i 提高视频压缩效率最有效的编码方法,在现有的视频编码标准中得到广泛应用。和其它的视频编码标准一样,h 2 6 4 也使用了预测编码技术。在以往的标准中,只是对p 帧的编码使用了预测方法,即帧间预测,对i 帧的编码并没有采用预测技术。h 2 6 4 在编码i 帧时,也采用了预测方法,即帧内预测。简单地说,帧内预测编码就是用周围邻近的像素值来预测当前的像素值,然后对预测残差进行编码,这就充分利用了空间相关性,提高了编码的效率。这种预测是基于块进行的,对于亮度分量( h m a ) ,块的大小可以在1 6 1 6 和4 x 4 之问选择,1 6 x1 6 的块大小对应有4 种预测模式,4 x 4 块大小对应有9 种预测模式;对于色度分量( c h r o m a ) ,预测是对整个8 8 块进行的,有4 种预测模式。除了d c 预测外,其他每种预测模式对应不同方向上的预测。1 4 x 4 亮度预测模式4 x4 块的亮度预测有9 种模式【1 4 l ,分别对应数值0 8 。图2 8 ( a ) 给出了进行预测操作所需的相邻块的像素,图2 8 ( b ) 给出了每种预测模式的方向,图2 8 ( c ) 给出了每种预测模式的操作示意图。下面以其中的三种模式作为例子来具体说明其预测操作。模式0 :垂直预测,在a ,b ,c ,d 可用的前提下可进行垂直预测,预测值为a e fa m ab f 一,= = bc gko cd - h ;,一p d( 2 - 5 )模式2 :直流预测第二章视频编码的理论基础mabcde fohijkl( a ) 点像素分布0 ( v e r l i c a l )划彦砀77c( b ) 预测模式1m o r i z o n t a l )2 d c l( c ) 4 4 块的9 种帧内预测模式图2 8 帧内预测0 ( v e r t i c a l )1 ( h o r i z o n t a l )2 ( d c )3 ( p l a n e )定图2 9 1 6 x 1 6 亮度预测一1 4h 2 6 4 视频码器中的率失真优化与汇编优化若a ,b ,c ,d ,i ,j ,k ,l 均可用,则预测值为a b - 一o i p l + b + c + d + ,+ ,+ k + 工+ 4 ) ) 3若a ,b ,c ,d 可用,但i ,j ,k ,l 为不可用,则预测值为a i b 年i o i p _ + 口+ c + d + 2 ) ) 2若j ,j ,k ,l 可用,但a ,b ,c ,d 为不可用,则预测值为a 薯b - _ o t p = u + ,+ k + 工+ 2 ) 2若i ,j ,k ,l 为不可用,且a ,b ,c ,d 也不可用,则预测值为ab一一op一128(26)模式3 :在a ,b ,c ,d ,e ,f ,g ,h 可用的前提下,进行左下对角预测,其预测值为:口= + 2 b + c + 2 ) 2bm e ;+ 2 c + d + 2 ) 2c 一,一i ;【c4 - 2 d + e + 2 ) 2d g = ,t m 一d4 - 2 e + f + 2 ) 2h - km n 一位+ 2 f + g + 2 ) 2f o 一( f + 2 g + 日+ 2 ) 2p i 【g + 3 h + 2 j 2( 2 7 )2 1 6 1 6 亮度预测模式对1 6 1 6 的宏块进行预测时有4 种可选模式,如图2 9 所示。在垂直( v e r t i c a l )模式和水平( h o r i z o n t a l ) 模式下,宏块的亮度值分别由当前宏块的上面一行和左边一列的亮度值来直接预测。在直流( d c ) 模式下,宏块的亮度值由当前宏块的上面一行和左边一列亮度值取平均进行预测。在平面( p l a n e ) 模式下,宏块的亮度值由当前宏块的上面一行和左边一列亮度值在一个平面方程式上预测。3 8 8 色度预测模式对于色度采样块,只有一种8 8 预测块尺寸,它具有和1 6 x1 6 类似的预测模式,但预测模式值的顺序不同。o 对应于直流预测模式( d c ) ,1 对应于水平预测模式( h o d z o n t a l ) ,2 对应于垂直预测模式( v e r t i c a l ) ,3 对应于平面预测模式( p l a n e ) 。一个宏块所关联的两个色度块必须具有相同的预测模式。2 3 4 帧问预测帧问编码对已编码的视频帧或场进行运动补偿来建立预测模型。与之前的编码标准相比较,h 2 6 4 的重要区别在于可以支持多种块尺寸( 从1 6 1 6 到4 4 ) ,第一二章视频编码的理论基础并且具有更为精细的运动矢量精度( 在亮度分量中是1 4 像素精度,在色度分量中是1 8 像素精度) 。1 树结构运动补偿每个宏块的亮度采样可有四种分裂方式:1 个1 6 x1 6 、2 个8 1 6 、2 个1 6 8或4 个8 x 8 块,如果选择了8 8 的分裂模式,宏块中的4 个8 8 子宏块还可以采用4 种方式进一步分裂:1 个8 8 、2 个4 8 、2 个8 4 或4 个4 4 子块。这样对于一个宏块而言,就有许多种不同的分割结果。这种将宏块分裂为可变尺寸子块进行运动补偿的方法称为树结构运动补偿。个宏块最多可以分成1 6 个子块,每个子块都需要一个单独的运动矢量,并且每个运动矢量和分裂方式的选择都需要进行编码和传输。针对特定环境,一个宏块被分割的块数越多,则可能对每一小块有更好的补偿效果,使预测残差减小,降低编码速率,但同时要求编码更多的运动矢量,提高了编码速率;反之,若宏块分割的块数少( 如只分割成1 块或2 块) ,则需要传输的运动矢量少,但预测残差又会较大。如何选择分割尺寸将会影响压缩效率,一般而言,在图像平滑区域应该使用较大的分割尺寸( 对应较少的分割块数) ,而在图像细节处用较小的分割尺寸。宏块中的色度分量( c b 和c r ) 在水平和垂直方向上的分辨率是亮度分量的一半,每个色度块可以采用与亮度块相同的分裂方式,只是分裂尺寸在水平和垂直方向上都是亮度分量的一半。例如亮度分量中1 个8 1 6 的分裂对应于色度分量中1 个4 8 的分裂,而亮度分量中1 个4 8 的分裂对应于色度分量中1 个2 4的分裂。因此运动矢量( 每个分裂有一个运动矢量) 的水平和垂直分量用于色度块预测时要处以2 。2 运动矢量帧日j 编码宏块中的每个分裂或子宏块分裂,都是利用参考帧中一个相同尺寸的区域进行预测的。两个区域的运动矢量对于亮度分量具有1 4 像素精度,而对于色度分量具有1 8 的像素精度。在参考帧中,处于亚采样位置处的亮度样值和色度样值是并不存在的,因此这些样值需要采用相邻的编码样值进行插值以后得到。在参考图像中,首先生成1 2 像素点位置的亮度样值。每个1 2 样值与两个整数像素样值相邻,可以通过一个权值为( 1 3 2 ,一5 3 2 ,5 8 ,5 8 ,一5 焰2 ,1 3 2 )的六阶f i r 滤波器,从整数像素样值插值获得,如图2 1 0 所示。例如,1 2 样值b可以用水平方向上的6 个整数像素样值e 、f 、g 、h 、,和i ,计算得到:b = ,d “_ r l d ( ( e 一5 f + 2 0 g + 2 0 h 一5 i + j ) 3 2 )( 2 8 )类似地,h 可以通过4 、c 、g 、m 、r 和r 插值得到。当计算出所有在水平或垂直方向上与整数像素样值相邻的1 2 样值后,剩下的1 2 样值可以通过6 个1 6h 2 6 4 视频码器中的率失真优化与汇编优化水平或垂直方向上的1 2 样值得到,这6 个1 2 样值就是由第一步计算得到的样值。例如,可以通过c c 、d d 、h 、n i 、e p 和插值得到( 无论,是由水平插值还是垂直插值得到的,他们的结果都是相同的。此外,在计算j 时,h 和小都没有进行舍入操作) 。六阶插值滤波器比较复杂,但是能够得到准确地的插值结果,因此可以提高运动补偿的性能。莲c c耋( ;。f一_d dlaa a8麓2! “d g “adehii 1p丽bc 隧fgjkmqfs 闻曼g g。是th hu|一e ep 。量。:一:打q图2 1 01 2 亮度样值的插值当得到所有的1 2 样值以后,1 4 样值可以通过线性插值得到。如图2 1 l 所示。与整数像素相邻的1 4 像素的样值可以通过水平方向或垂直方向上的1 2 像素值进行线性插值获得,例如a r o u n d ( ( g + b ) 2 )( 2 9 )而剩余的1 4 像素样值可以通过一对处于对角线位置的1 2 像素样值进行线性插值得到。例如,e 可以由b 和h 插值得到。第二章视频编码的理论基础回卫如团墨圈回团圆同罔黼1 7ig 口h蕾eg ,丛j倦eprmsn 图2 1 11 4 亮度样值的插值在亮度分量中具有1 ,4 像素精度的运动矢量在色度分量中需要1 8 像素精度的运动矢量( 设采样方式为4 :2 :0 ) 。在色度分量中,位于整数像素之间以1 8 采样间隔为单位的插值样值可以通过线性插值得到,如图2 1 2 所示。图2 1 21 1 8 色度样值插值每个亚采样位置处的样值a 是其周围整数样值a 、b 、c 和d 的线性组合,即口一r o u n d ( 1 6 4 * ( 8 一出) ( 8 一d y ) a + d x ( 8 一d r ) b + ( 8 一t 扛) d r c + d x d y d d( 2 1 0 )在上图中,d x 。2 ,d r 一3 ,所以口;r o u n d ( 1 3 0 a + 1 0 b + 1 7 c + 6 0 6 4 ) 。2 3 5 变换和量化图像变换编码的基本概念是将空间域里描述的图像,经过某种变换在变换域进行描述,达到改变能量分布的目的,使图像能量在空间域的分散分布变为在变换团圆田1 8h 2 6 4 视频码器中的率失真优化与汇编优化域的能量相对集中的分布。这样有利于进一步采用其他的处理方式,如“之”字形( z i g z a g ) 扫描、自适应量化、变长编码等,从而获得对图像信息量的有效压缩。常见的变换编码有d f f ,d c t ,d w t ( 离散小波变换) 等。目前绝大多数视频编码标准采用的都是基于变换的混合编码算法。变换将在空间域内以像素值形式表示的图像信息变换到变换域中,以变换系数的形式加以表示。显然,如果变换选择得当的话,所得的变换系数之间的相关性要明显小于原像素值之间的相关性,从而达到去除图像冗余度的目的。变换后再根据人眼的视觉特性,即人眼对高频信息不如低频信息敏感的特点,对不同的变换系数进行不同步长的量化,便可以进一步实现有效的数据压缩。根据要编码的残差数据的类型,h 2 6 4 采用了三种不同的变换方式:如果采用1 6 x1 6 的帧内宏块预测模式,则对4 x 4 块的亮度直流系数采用h a d a m a r d 变换;对2 2 色度块的直流系数采用h a d a m a r d 变换:对于其它所有的4 5 4 残差数据块采用“类d c t 变换”。宏块中的数掘依照图2 1 3 所示的顺序进行传输。如果在1 61 6 帧内预测模式下进行宏块编码,则该块被标注为“一1 ”,表示变换后每个44 亮度块的直流系数首先被传输,接下按顺序传输图中所示的o 1 5 亮度残差块。然后对从c b 和c r 色度分量中提取出的直流系数所组成的2 2 块( 块1 6 、1 7 ) 进行传输,最后传输的是色度残差块1 8 2 5 。淞淞c rl u m a图2 1 3 宏块中残筹块的扫描顺序在完成运动补偿之后,要对4 4 残差数据块进行变换。h 2 6 4 的变换是基于d c t 的,但是它有一些本质的不同:所有的操作都采用整数运算,在解码的时候可以无失真重构;在编码和解码的反变换中可以保证准确匹配;变换的核心部分仅采用1 6 位的加法和移位操作就可以实现;缩放乘法( s c a l i n g第一二章视频编码的理论基础1 9m u l t i p l i c a t i o n ,变换的一部分) 融入到量化中,降低了整体数据的乘法量。1 类4 x 4 d c t 变换d c t 变换是仅次于k - l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校车出车前安全知识培训课件记录
- 交通安全试题及答案
- 北京面部面诊知识培训班课件
- 校园安全知识培训课件会议
- 校园安全知识培训方案课件
- 花卉速写考试题及答案
- 屈光不正试题及答案
- 法院书记面试题及答案
- 体位操作考试题及答案
- 2025年甘肃省兰州新区兰新能源科技集团有限公司招聘考试笔试试题(含答案)
- 二手车寄售合同
- 武汉市纳帕溪谷剩余产品价格策略及3月份销售策略报告
- 2024-2030年钻石行业市场调研及前景趋势预测报告
- 景区植物管理办法
- 市场推广活动场地租赁协议书
- 数据平台成本控制-洞察及研究
- 2025年辽宁省中考英语真题(原卷版)
- 手足口病完整课件
- 安徽合肥市第三十八中学2024-2025学年七年级下学期期末质量检测英语试卷(含答案无听力原文及音频)
- 项目评审专家管理办法
- YS/T 285-2012铝电解用预焙阳极
评论
0/150
提交评论