




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章
图像编码标准的进展中国矿业大学信电学院主要内容
6.1视频图像编码标准
6.2MPEG-1视频编码和解码6.3基于对象的视频编码标准MPEG-4
6.4H.264视频编码标准6.1视频图像编码标准视频压缩编码标准的制定工作主要由ISO和ITU完成。
ITU(国际电信联盟)制定:针对实时视频通信应用,如视频会议和可视电话等
H.26x系列标准,如H.261,H.263,H.264ISO(国际标准化组织)和IEC(国际电工委员会)制定:针对视频数据的存储(DVD等),广播电视和视频流的网络传输等
MPEG系列标准,如MPEG1,MPEG2,MPEG4,MPEG7
视频编码标准体系结构组成:系统层:规定视频数据、声音数据及其它相关数据等如何组织成一复合比特流;如何同步等。视频层:规定电视数据的编码和解码。音频层:规定声音数据的编码和解码。应用层:这个标准详细说明如何测试比特数据流和解码器是否满足MPEG-1前3个部分中所规定的要求。这些测试可由厂商和用户实施。软件模拟:这部分内容只是一个技术报告,给出用软件执行MPEG-1标准前3部分结果。
H.26X系列和MPEG系列标准的差异从标准体系结构角度,H.26X系列侧重于视频层,将系统层、音频层等问题放在其他标准中。而MPEG系列标准涵盖整个多媒体系统,更便于形成完整应用体系。从整体编码技术发展角度,H.26X系列侧重于视频图像的高效编码传输,而MPEG系列在确保音视频信息高效压缩同时,还注重应用层面上各种功能的增加。6.1.1MPEG系列标准MPEG是活动图像专家组(MovingPictureExpertGroup)的缩写,1988年成立,任务是负责开发数字图像和声音的编码、解码和两者同步等标准。目前已经开发和正在开发的MPEG标准有:
MPEG-1:1.5Mbps,中等数据率;VCD和MP3MPEG-2:10Mbps,高数据率;数字电视和DVDMPEG-3:起初为HDTV设计,后来合到MPEG2。
MPEG-4:低于64kbps甚低数据率,交互式多媒体应用标准
MPEG-7:多媒体内容描述接口标准一、MPEG-1编码标准MPEG-1是MPEG第一阶段的成果,1993年公布,编号为ISO/IEC11172。它规定视频信息与伴音信息经压缩之后的数据速率上限为1.5Mbps(其中视频约1.2Mbps,音频约0.3Mbps),从而可以在CD-ROM、硬盘、可写光盘、数字音频磁带等介质上进行存储,也可以在局域网、ISDN上进行视频与伴音信息的传输。
目前市场上用的MP3和VCD以及数字电话网络上的视频传输为MPEG-1。
应用二、MPEG-2广播系统压缩编码标准1994年11月公布,编号为ISO/IEC13818全称为“运动图像及其伴音的编码”,主要针对高清晰度数字电视(HDTV)所需要的视频及其伴音信号,传输速率为1.5~100Mbit/s,与MPEG-1兼容。应用目前市场上用的高清晰度电视HDTV和DVD都采用MPEG-2标准。简介
MPEG-2保证与MPEG-1视频体系向下兼容,
但做了相应扩展:
能支持有效隔行扫描(先扫描每帧图像奇数行,再扫描偶数行)格式。MPEG-2规定了4种图像的运动预测和补偿方式,即基于帧的预测模式、基于场的预测模式、168的运动补偿以及双场预测模式。以改进对运动较快物体预测准确性和提高压缩比。
支持编码的可分级性。即空间可分级性、时间可分级性以及信噪比SNR可分级性。
采用更高色度信号采样。除4:2:0外,还支持4:2:2和4:4:4格式的图像。图像分辨率(列行)帧/秒三、MPEG-4基于对象的低码率压缩标准
MPEG-4标准定义:
MPEG-4标准为“甚低数据传输率,小于64Kbps的电视图像和伴音编码的国际标准”。为了适应在窄带宽(一般为小于64Kbps)通信线路上对动态图像进行传输。
1999年发布,编号为ISO/IEC14496,支持多种多媒体应用,特别是多媒体信息基于内容的访问,可根据应用的不同要求,现场配置编码器。
MPEG-4标准显著特点:
①MPEG-4标准既可用于4Mbit/s的高码率的视频压缩编码,又可用于5~64kbit/s的低码率的视频压缩编码;既可用于传统的矩形帧图像,又可用于任意形状的视频对象压缩编码。②MPEG-4采用基于对象的编码。是对图像中的内容进行编码。即编码对象为AV(音视频)对象。
MPEG-4视频信息的表示结构MPEG-4编码器是基于对象的视频编码器。视频对象VO:指视频序列中用户可访问/操作的个体视频对象平面VOP:指视频对象在某一时刻(即在某一帧画面)中的描述场景中感兴趣的物体对象或内容的图像区。VOP是MPEG-4视频编码器进行编码的基本单位。VOP具有形状、运动和纹理等属性。
MPEG-4视频画面的编码该结构把场景表示为具有实际意义的对象VOP的组合。画面中的每个VOP分别编码后再复合在一起,成为该画面的压缩比特流。视频对象在某一时刻(在某一帧画面)中的“象”称为视频对象平面VOP编码过程中将VOP独立进行处理。每个VOP的形状、运动及纹理信息在一个VOP层独立编码、存储和传输。视频对象的编码结构
MPEG-4应用可能用于三个领域:①数字电视;②交互式图形应用;③交互式多媒体领域等等。最热门应用为利用MPEG-4的高压缩率和高图像还原质量来把DVD里的MPEG-2视频文件转换为体积更小的视频文件。
四、MPEG-7多媒体内容描述接口MPEG7正式名称叫做“多媒体内容描述接口”,其目标是支持各种类型多媒体信息的基于内容的高效快速检索,2000年发布。MPEG-7建立在MPEG-4基础上,期望用很少特征就能对图像内容进行检索。例如对图形,只要很少几条线就可以找到包括该特征的相应图形、商标等MPEG-7标准重点在于影音内容的描述和定义,以明确的资料结构和语法来定义影音资料内容,通过MPEG7格式定义信息,使用户可有效搜索、过滤和定义想要的影音资料。
MPEG-7将规范一组“描述子”,用于描述各种多媒体信息,也将对定义其他描述子以及结构的方法进行标准化。这些描述与其内容关联,允许快速有效地搜索用户感兴趣的资料。
6.1.2H.26x系列标准一、H.261标准H.261标准是由ITU-T最早制定的关于视频编码的国际标准。H.261也称为p64—“p64Kbit/s视听业务的视频编/解码器”。其中p为一可变参数,取值范围为130,覆盖了整个ISDN基群信道速率。H.261主要应用目标为可视电话和会议电视,提供QCIF和CIF两种图像格式。当p=1或2时,支持QCIF格式每秒帧数较低可视电话。QCIF格式的色度信号分辨率为8872,亮度信号分辨率为176144。
当p6时,可支持通用中间格式(CIF格式)每秒帧数较高的视频会议。CIF格式色度信号分辨率为172144,亮度信号分辨率为352288。
H.261混合编码(DPCM/DCT)方案:H.261核心技术是混合编码算法—运动补偿帧间预测编码、基于DCT的变换编码、统计编码(可变长熵编码)H.261建议的混合编码器结构该编码器根据需要可工作在不同模式:
帧间编码模式(帧间前向预测编码模式)在帧间模式时,双向选择开关都打到下边。输入信号与存储在帧存中的经过运动补偿的前一帧信号(即当前输入信号的预测值)进行相减,差值(即预测误差)经DCT,量化并进行可变字长VLC编码后输出。
从图中可看到,在反馈环中有一个解码器即量化后的预测误差经反量化和反DCT后,然后再加上经运动补偿的前一帧(即当前输入信号的预测值),作为输入的下一帧信号的预测值。
帧内编码模式在帧内模式时,双向选择开关都打到上边。输入信号直接跳过减法器,经DCT量化和可变字长编码VLC输出,这时运动检测和运动补偿不再起作用,只作帧内处理。
H.261视频数据比特流:H.261把视频数据比特流分成4层:图像层(Picture)、宏块组层(GOB)、宏块层(MB)和子块层(Block)。H.261的输入图像信源格式规定为通用中间格式CIF。按4:1:1的比例进行抽样。CIF格式下的图像的层次结构:每帧图像包含12个GOB每个GOB包含33个MB每个MB包含4个亮度数据块和各1个Cr和Cb每个B包含88像素其中每个B包含88像素,由变换系数和块结束符组成。GOB和MB都是以一定顺序存放的。图像复用编码器把上述层次数据按一定方式连列起来,就构成1帧数据流。编码图如下:
H.261解码器框图:二、H.263标准H.263建议即“甚低码率的视频编码”建议草案。甚低码率指小于64Kbps。H.263建议仍采用H.261建议的混合编码器。H.263基本编码方法与H.261相同,但增加了一些功能,有:①半个像素精度的运动估计;②不受限的运动矢量;③先进预测模式;
④PB-帧模式。⑤基于语法的算术编码。半个像素精度的运动估计半像素位移点像素值由双线性内插求得,解码器具有运动补偿能力,可与编码器所采用的可选功能相互配合,以提高预测精度,降低编码速率。运动矢量预测范围是-16~+15.5运动矢量不受限在默认状态下,运动矢量对应参考块必须定义在参考帧内。在H.263标准中,允许运动矢量指向图像外,边界像素用于对不存在的像素进行预测。有利于改进图像分辨率较低情况下的运动补偿性能。采用高级预测模式通常划分子块大小为1616.
在某些宏块中编码器可用4个88子块的运动矢量来进行运动补偿.由于重叠块的运动补偿可减少方块效应,较大改善图像质量。可选择PB帧模式H.263把两帧待编码图像作为一个整体联合编码,即一个宏块MB由6个P块和6个B块共12个像素块组成,可在不过多增加码率前提下显著提高解码图像帧率。I帧:帧内编码帧P帧:前向预测编码帧B帧:双向预测内插编码帧三、H.264标准JVT(JointVideoTeam)
是由国际标准化组
织运动图像专家组(ISO
MPEG)和国际电信联
盟视频编码专家组
(ITU-TVCEG)成立的
联合视频工作组,致力于
开发面向未来IP和无线环境下的视频压缩标准。在ISO/IEC中的正式名称为:MPEG-4Part10AVC在ITU-T中的名称为:H.264/AVC
(advancedvideocoding)
H.264主要内容早期的88子块的DCT变换转成44的整数变换与量化基于空域的帧内预测。H.263或MPEG4采用基于变换域的帧内预测。¼像素的运动估计。以往采用整像素或半像素运动估计,灵活选择运动补偿块大小,共支持1616、168、816、88、84、48、44等7种大小的块。多参考帧预测方法。H.264支持前向或后向预测。熵编码采用自适应变长编码或自适应算术编码。采用自适应环内消块效应滤波器。各种编码标准的主要技术和应用目标编码标准制定组织目标码率主要压缩技术主要应用目标JPEGISO/IEC2~30倍DCT主观量化Zig-Zag扫描熵编码Internet图像服务数字照相图像和视频编辑JPEG2000ISO/IEC2~50倍小波变换EBCOTROI编码空间可分级码流质量可分级码流改进算术编码容错编码Internet图像服务数字照相图像和视频编辑打印医学图像移动应用彩色传真卫星图像传输编码标准制定组织目标码率主要压缩技术主要应用目标MPEG-1ISO/IEC1.5MbpsDCT主观量化Zig-Zag扫描熵编码运动补偿预测双向运动补偿半像素运动估计CD-ROM视盘消费视频视频记录MPEG-2ISO/IEC1.5Mbps~100MbpsMPEG-1所有技术基于帧/场运动补偿空间可分级码流时间可分级码流质量可分级码流容错编码数字TV、HDTV高质量视频传输、存储卫星TV、CATVDVB/DVD视频编辑编码标准制定组织目标码率主要压缩技术主要应用目标MPEG-4ISO/IEC8kbps~35MbpsMPEG-2所有技术Wavelet零树扫描高级运动补偿重叠运动补偿视相关可扩展编码位图形状编码Sprite编码脸部动画动态网格编码Internet交互视频可视编辑内容管理消费视频专业级视频2D/3D计算机图形移动通信编码标准制定组织目标码率主要压缩技术主要应用目标H.261ITU-TP×64kbpsP:1~30DCT自适应量化Zig-Zag扫描熵编码运动补偿预测整像素运动估计差错控制编码ISDN视频会议H.263ITU-T8kbps~1.5MbpsH.261全部技术双向运动补偿半像素运动估计高级运动补偿重叠运动补偿可选算术编码无限制运动预测可视电话桌面可视电话桌面可视会议移动可视电话网络视频6.2MPEG1视频压缩标准基本概念画面类型编解码过程编码细节视频语法系统层简介
MPEG-1标准组成:
MPEG-1系统:规定视频数据、声音数据及其它相关数据等如何组织成一复合比特流;如何同步等。
MPEG-1视频:规定电视数据的编码和解码。
MPEG-1声音:规定声音数据的编码和解码。
MPEG-1一致性:这个标准详细说明如何测试比特数据流和解码器是否满足MPEG-1前3个部分中所规定的要求。这些测试可由厂商和用户实施。
MPEG-1软件模拟:这部分内容只是一个技术报告,给出用软件执行MPEG-1标准前3部分结果。输入图像格式与图像类型一部电影被视为一个视频序列,由许多幅图像组成。每幅图像包括3个分量:一个亮度分量Y和两个色度分量Cb和Cr。亮度分量包括黑白图像,色度分量包括色调和饱和度每个分量为一矩形采样数组,数组每行称为光栅行每个像素为3个分量采样的集合。“宏块”概念:在选择一种压缩模式时,宏块(MB)是最小数据单位。在MPEG中,宏块(MB)由4个88的亮度(Y)像素块(即16像素16行)和两个在空间位置上与之相应的88色度(Cr和Cb)像素块组成。亮度像素X和色度像素定位MPEG主要采用离散DCT变换将6个B块变换成不相关值,然后对其结果进行量化编码。MPEG处理图像为以“条带”(slice)形式组织起来,每一条带由一组(按光栅扫描顺序)的宏块组成(至少含有一个宏块)。输入图像的格式:MPEG-1输入视频信号采用源输入格式(SIF,SourceInputFormat)。采用(Y,Cr,Cb)颜色空间—对应为数字化的一个亮度信号Y和两个色差信号(Cr,Cb),且要求亮度信号和色差信号在垂直和水平方向按2:1进行抽样。抽样点的水平位置在两个亮度像素之间。采样格式为4:2:0MPEG-1最大的图像尺寸只能是352288(对应于25Hz帧频)画面类型:帧内编码帧(Intra-pictures,I帧)前向预测编码帧(Predictedpictures,P帧)双向预测编码帧(Bidirectionallypredicted
pictures,B帧)DC编码帧(DC-codedpictures,D帧)I帧应用帧内编码的方法实现压缩,编码时没有参考视频序列中的其他帧而独立进行压缩编码。支持随机存取,但压缩比低,编码方式和JPEG编码方式十分相似。一般把每个GOP第一帧图像为I帧。I帧只能利用其相关性作帧内编码。将I帧进行DCT变换、量化和Huffman编码后必须传送。画面类型:画面类型:P帧P帧是运动主体在与I帧相隔一定时间,在同一背景上已有明显变化的画面。P帧以前面I帧作为参考,与I帧相同信息不发送,只传送主体变化差值,这样省略大部分细节信息。P帧采用具有运动补偿的前向预测,即用过去最近的前一个内帧I或前一个预测帧P进行预测编码,对预测误差有条件传送。画面类型:B帧B帧用来传送在I帧、P帧间的画面,它只反映I帧、P帧间的运动主体变化情况。B帧在重放时既可参考I帧内容,也参考P帧内容,称为双向预测帧。B帧在预测时,可使用前一个或后一个帧作参考帧,也可使用前、后两个图像作参考帧。但B帧本身不作参考帧使用,可采用帧内编码或前向预测或后向预测,或双向预测编码方法来编码。B帧不被用于其他B帧或P帧的运动补偿预测。画面类型:D帧类似于I帧。
D帧仅使用画面中每个子块的DC(直流)系数进行编码,全部是帧内编码,用作正/反向快速搜索。D帧单独进行编码与存储(仅MPEG-1使用)。不能用于对其他帧的预测中,定义它的目的是提供一种快速搜索的方法,一般不常见。下图为一个8画面的视频序列中,三种主要类型帧的关系。Ip1Bp2Bp3Pp4Bp5Bp6Pp7Ip8p1和p8为I帧,p4和p7为P帧,剩下的为B帧。p4利用p1进行运动补偿预测编码,p7利用p4进行运动补偿预测编码。p2利用p1进行前向运动补偿预测编码;p3利用p1和p4进行双向运动补偿预测编码;p5利用p4进行前向运动补偿预测编码;p6利用p4和p7进行双向运动补偿预测编码。MPEG中对于P帧和B帧的使用没有任何要求采用B帧可以获得最高的压缩比。但单纯增加I帧和P帧之间的B帧并不能获得更好的压缩比,因为B帧与相应的I帧和P帧的时间距离增大,时间相关性降低,降低了运动补偿预测的性能。编码过程MPEG标准并没有定义特定的编码过程,只是定义了编码比特流的语法和解码过程。基于以上要求,可以通过下图来表示一个MPEG编码器的功能。MPEG-1编码过程图预处理帧存+DCTQQ-1IDCT+调整器帧存运动补偿运动估计VLC缓存器输入输出-编码过程关键技术:帧序重排:在编码器端需要对输入图像重新排序,对按显示顺序输入的图像序列,经过帧序重排后成为按编码顺序排列。然后按I、P和B帧分别进行编码。
运动估计和补偿
比特流缓冲器
其他部分图像压缩首先需要处理I帧图像,然后是对应的前向预测图像P,在两者的基础上才处理B图像。MPEG编码器算法允许选择I图像的频率和位置。I图像的频率是指每秒钟出现I图像的次数,位置是指时间方向上帧所在的位置。
一个典型的I、P、B图像安排如图所示。编码参数为:帧内图像I的距离为N=15,预测图像P的距离为M=3。宏块的编码:帧内图像I的压缩编码算法帧内图像I压缩编码采用类似JPEG压缩算法。它采用了三种技术:活动图像补偿算法、DCT变换编码和熵编码。帧内图像I的压缩编码1将图像进行颜色空间变换。如将RGB空间转换为YCrCb空间表示的图像。2将图像划分成宏块,每个宏块包含16×16个像素点,每个宏块根据图像子采样进一步划分成8×8的图块。如采用4:1:1的图像子采样,则一个宏块包括4个Y块,1个Cr块和1个Cb块。3对每个图块进行离散余弦变换(DCT)。DCT变换后经过量化的交流系数按照Z字形排序,然后再使用无损压缩技术进行编码。DCT变换后经过量化的直流系数用差分脉冲编码(DPCM),交流分量系数用行程长度编码(RLE),形成中间编码格式。4最后用哈夫曼(Huffman)编码或者用算术编码。预测图像P的压缩编码算法编码图像宏块MPI是参考图像宏块MRJ的最佳匹配块,对它们的差值进行彩色空间转换,并作4:1:1的子采样得到Y,Cr和Cb分量值,然后仿照JPEG压缩算法对差值进行编码,计算出的移动矢量也要进行霍夫曼编码双向预测图像B的压缩编码算法双向预测图像B的压缩编码算法与预测图像P的算法类似。过去的参考图像和将来的参考图像是为了进行双向的运动补偿预测。解码过程:预测画面+差分画面=重建画面输入速率固定,但画面数据量很大,必须要设缓冲分路器负责语法、语义检查,对宏块解码,解出运动矢量、量化步长等IDCT输出的是I画面及P画面和B画面的差分画面保存I画面及P画面,生成预测画面(P,B)画面重排序后输出送显示器(帧速固定)
DCT系数的编码细节编码的过程:I帧:DCT变换→量化→编码PB帧:预测→求帧差→DCT变换→量化→编码DCT变换:帧内编码模式下,采样为8位无符号数。帧间编码模式下,采样为9位有符号数,因为差值有可能为负值。经过DCT变换后,用一个12位的有符号整数表示量化:
MPEG规定了默认的量化表,也可以应用自定义
的量化表
帧内编码取整通常是取最近的整数;
帧间编码是截断非整数到接近的小于其值的整数量化不是简单的DCT系数除以一个量化系数,还牵涉一个称为量化阶(quantizer_scale)的比例因子量化阶(quantizer_scale)
:MPEG参数,整
数,范围1~31,影响量化结果和压缩性能,
编码器随时可以改变该值,在压缩码流中必须
插入一个特殊码字来表示它量化:
帧内量化公式:
帧间量化公式:816192226272934161622242729343719222627293434382222262729343740222627293235404826272932354048582627293438465669272935384656698316161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616默认的内部量化矩阵默认的非内部量化矩阵量化系数编码
I帧宏块的DC系数计算差值(P:前一块的同一类型的DC系数)查表5.5确定差值量值等级,发出它的码字若ΔDC为负值,将它的补码减去1(反码)发出表示差值最低有效位的二进制数,其位数等于量值等级差值量值等级就是对差值ΔDC的符号和幅度值编码所需要的位数,每个量值等级都赋予一个码字例:
亮度差值ΔDC=5,色度差值ΔDC=-35可用3位表示,量值等级为3,发送码字101发出表示幅值5的最少的3位二进制码1013可用2位表示,量值等级为2,发送码字11-3的正码10,反码为00,发出00表5.5(亮度和色度)DC系数的码字Y码C码量值等级幅值范围100000000011-1,101102-3,-2,2,31011103-7,...,-4,4,...,711011104-15,...,-8,8,...,15...............1111110111111108-255,...,-128,128,...,255量化系数编码
I帧宏块的AC系数
Z形扫描成若干00…X编码单元,表示为“游程-等级”形式:0的游程,等级为X的绝对大小查表5.6或5.7得游程-等级码字;并在其后附加非零X的符号位(1:负数;0:正数)表中没有列出的游程等级组合编码:ESC码+6位表示游程长度的码+8位(或16位)表示等级值的码块尾“EOB”码例:8×8的量化系数矩阵如下:127020000000000000-100000001000000000000000000000000000000000000000Z形扫描:00-1020001EOB3个游程等级码:(2,-1),(1,2),(3,1),EOB查表:01011000110000111010表5.6变长的游程-等级码字游程/等级码字码长0/1(first)1s20/1(next)11s30/20100s51/2000110s72/10101s53/100111s6量化系数编码
PB帧宏块量化系数编码寻找全零宏块的游程,采样宏块地址增量来编码对于非全零的宏块,定义编码块模式(CBP),6位二进制变量,每一位对应宏块6个分量块中某块是否全零,全零块通过CBP中相应的一位来辨识,非零块采用表5.6中的码字来编码。非零块的编码码字:第一个非零系数的游程等级码为(0,1)时编码为1s,不会与EOB码字冲突,因为EOB不可能是这种块的第一个码字;其他游程等级码为(0,1)时,非零系数用11s(next,表5.6)编码视频语法:MPEG-1的视频语法主要是用于确定和控制视频序列压缩的一些参数。MPEG比特流遵守一种层次的数据结构,这层次结构由下列6层组成:(1)图像序列层,即活动图像序列。由若干图像组
组成序列。
(2)图像组GOP,由任意部分图像序列来组成图像
组。(3)图像层,指图像组GOP中任一帧图像。
(4)条带层,由一帧图像中的几个宏块组成,主要用于误差恢复。
(5)宏块层,一个宏块由
四个88的亮度(Y)块
和两个88的色差
(Cr,Cb)块组成。
(6)块层,一个88的
像素区域称为一个块。
块是最小的DCT单位。视频流的各层系统层简介:
系统层功能⑴将多个基本流(视频流、音频流、数据流)复合成单一的串行比特流。⑵保证基本流之间的同步。⑶保证信源与信宿之间的同步。⑷可随机存取,便于加工。⑸速率可控。
系统层解决的问题⑴A/V同步(Audio/Video)同步。编码时以STC为基准,为每一帧画面、每一帧声音均附加一个PTS值,解码时即按此指定时间播放,从而达到A/V同步的目的。⑵编码器/解码器同步。解码器的本地STC值,受控于音频FTS值,不断进行更新与校正。⑶复合流速率控制。解码器通过把SCR值与本地STC值比较,发出反馈信号,可能的话,控制输入流速度。MPEG复合比特流示意图
系统层编码器系统层编码器中系统时钟STC是频率为90Hz的计时器,PTS和SCR是系统的绝对时间。下图为MPEG-1系统层编码器框图6.3基于对象的视频编码标准MPEG-4*第一代视频编码技术:基于帧、块和像素的编码把视频序列按时间先后分成一系列的帧,每一帧图像分成宏块进行运动补偿和编码。如MPEG-1,MPEG-2,H.261,H.263第二代视频编码技术:基于非像素的编码,即基于区域或基于对象的编码区域为一幅图像中具有相同特性的多个片段;对象为一幅图像中表征有含义的实体的一组区域。如MPEG-4
MPEG-4的背景
技术发展的趋势与应用要求的提高:
音视频内容越来越多,且很多是计算机生成(合成)的;视频信息的传送将扩展到所有网络,无线通信不仅用于语音,而且将应用于数据和视频;对音视频信息交互处理和应用的要求不断增长(Highinteractivity)
电信、计算机、影视广播领域正逐步融合,相互渗透。例如:单向AV终端向交互式AV服务发展,固定宽带和移动窄带环境的结合,频道传输与存储媒体传输的任意组合(interoperation)
MPEG-4的背景
MPEG-1和MPEG-2的不足:
基于像素和像素块进行编码,不能对图像的内容进行查询、编辑和选择播放等操作,交互性较差;
无法在同一场景中集成自然媒体与人造(合成)媒体;不支持超链(hyperlinking)
不提供对低码率应用的支持,将图像分成固定大小的块,在高压缩比的情况下会产生严重的块效应;MPEG-4的编码机制是基于1616像素块来设计的。6.3.1AV对象MPEG-4标准中定义的中心概念是AV对象。MPEG-4标准的基本内容:围绕者AV对象的编码、存储、传输和组合而制定的,高效率地编码、组织、存储和传输AV对象。MPEG-4标准试图达到两个目标:低比特率下的多媒体通信和多媒体通信的综合。
MPEG-4对AV对象的操作主要有:⑴用AV对象来表示听觉、视觉或者视听组合内容。⑵允许组合已有的AV对象来生成复合的AV对象,并由此生成AV场景。MPEG-4采用SNHC(合成—自然混合编码,Synthetic—NaturalHybridCoding)的方法来组织这些AV对象。⑶允许对AV对象的数据灵活地多路合成与同步,以便选择合适的网络来传输这些AV对象数据。⑷允许接收端的用户在AV场景中对AV对象进行交互。⑸MPEG-4支持AV对象知识产权与保护。6.3.2MPEG-4标准构成1.DMIF,多媒体传送整体框架使得在不同传送技术和不同传送媒体上都可以存取、播放、同步不同媒体的不同内容,提供一个能满足各种网络应用的公共接口,力争既满足现代网络的要求,又能适应未来网络的要求。主要解决交互网络中、广播环境下以及磁盘应用中多媒体应用的操作问题。通过DMIF,MPEG-4可以建立起具有特殊品质服务的信道和面向每个基本流的带宽。2.音频编码MPEG-4支持自然声音(如语音和声乐)和合成声音(如MIDI)的编码。MPEG-4的音频部分将音频的合成编码和自然声音的编码相结合,并支持音频的对象特征。支持2kbit/s~64kbit/s的自然声音编码。合成声音编码。引入两个编码技术:文本到语音(Text-to-Speech)的编码和乐谱驱动合成编码技术。是一种基于知识库的参数编码。3.视频编码MPEG-4支持自然视觉对象编码和合成视觉对象编码。合成的视觉对象包括2D、3D动画和人面部表情动画等。自然视觉对象编码对于静止图像,采用零树小波算法提供高压缩比,同时提供多达11级的空间分辨率和质量的可伸缩性。对于运动视频对象编码,采用形状编码来支持对象编码,视频编码方框图如下:MPEG-4视频编码方框图4.数据平面MPEG-4中的数据平面分为两部分:传输关系部分和媒体关系部分。为了使基本流和AV对象在同一场景中出现,MPEG-4引用了对象描述(OD)和流图桌面(SMT)概念。OD传输的是与特殊AV对象相关的基本流的信息流图。桌面把每一个流与一个CAT(ChannelAssociationTag)相连,CAT可实现该流的顺利传输。5.缓冲区管理和实时识别MPEG-4定义了一个系统解码模式SDM,描述了一种理想的处理比特流。6.场景描述场景描述主要用于描述各AV对象在一具体AV场景坐标下如何组织与同步等问题,同时还有AV对象与AV场景的知识产权保护等问题。场景描述以二进制格式BIFS表示,与AV对象一起传输、编码。6.3.3MPEG-4的结构和语法MPEG-4的视频码流提供了对视频场景的分层描述。分层的每一级都可以通过码流中被称为初始码的特殊码值进行访问。⒈视频对象序列(VS,VideoObjectSequence)完整的MPEG-4场景可以包括任何二维(2D)或三维(3D),自然合成对象以及它们的增强层。⒉视频对象(VO,VideoObject)一个视频对象对应着场景中的一个特定对象,可以是任意形状的对象,也可以是一个矩形帧。用来描述场景的分层级为:⒊视频对象层(VOL,VideoObjectLayer)根据应用具体要求,每一个视频对象都可以用分级(用空间或时间分级)或不分级的方式进行编码,用视频对象层来表征。VOL包括基本层和增强层。基本层只有一个,增强层可以有多个,每一层表示一种分辨率。分辨率可以从粗糙到精细。⒋视频对象平面组(GOV,GroupofVideoObjectPlanes)GOV可以提供对码流的随机访问点,GOV是任选的。⒌视频对象平面(VOP,VideoObjectPlane)一个VOP是对一个视频对象的时间采样,包括视频对象的运动参数,形状信息和纹理数据,对VOP编码就是针对某一时刻该帧画面VO的形状、运动、纹理等信息进行编码。一个普通的视频帧可以用矩形的VOP来表征。MPEG-4的视频码流逻辑结构图6.3.4形状编码MPEG4允许对图象序列中具有任意形状的视频对象进行编码。在MPEG4标准中,VO的形状信息有两类:二值形状信息和灰度形状信息。⒈灰度形状信息灰度形状信息主要是给出像素的透明度。每一个像素在0~255之间取值。0表示完全透明的像素,255表示完全不透明的像素。采用基于块的运动补偿DCT方法,为有损编码。⒉二值形状信息二值形状信息用0,1表示VOP形状。0表示该像素在VOP区域外,1表示在VOP区域之内。对二值形状信息进行编码时可以采用基于块的运动补偿技术,可以是无损编码,可以是有损编码.6.3.5运动信息编码MPEG4采用运动估计和补偿技术来去除帧间的时间冗余度。采用的是VOP结构。VOP有三种编码模式:
运动估计:前提:只有对P-VOP和B-VOP编码需运动估计。场景被分成固定位置和尺寸的块,估计时假定块内各部分的运动程度一致。仅仅对VOP边框中的宏块进行运动估计。方法:如果一个宏块完全位于一个VOP内,采用基于1616像素宏块或88像素块运动估计,只有一个运动矢量,以半像素精度进行计算。如果一个宏块只有一部分位于VOP内,采用修正块匹配技术估计运动矢量,匹配误差仅仅计算该宏块属于VOP的那些像素的绝对误差之和。当参考块位于VOP边界上时,采用重复填补技术给位于VOP外的那些像素指定值,然后利用填补后的像素值计算绝对误差和。6.3.6纹理编码纹理:由许多相互接近、互相编织的元素构成的,并且具有一定程度的规律性或周期性。VOP的纹理信息包含在视频信号的亮度分量Y和两个色度分量U、V中。纹理编码主要目的:压缩数据量VOP纹理编码的对象可以是帧内编码模式的I-VOP,也可以是帧间编码模式B-VOP或P-VOP运动补偿后的预测误差。纹理编码流程编码方法基本上仍采用基于8×8像素块的DCT方法在帧内编码模式中,位于VOP内的像素块,采用经典DCT方法;位于VOP之外的像素块则不进行编码;对于部分在VOP内,部分在VOP外的像素块则采用图像填充技术获取VOP之外的像素值,之后再进行DCT编码。外接矩形框边界宏块VOP内部宏块外部宏块外推(完整子块)矩形框在帧间编码模式中,将属于在VOP最小矩形框内但又不属于VOP的像素填充对VOP最小矩形框划分宏块,检测宏块是否有运动无运动,为静止宏块,不用编码,只需传送一个标志位运动过大,采用帧内方式编码有运动,进行运动估计,然后进行帧间编码求残差、DCT、量化、对残差及运动矢量编码VOP纹理编码过程图VOP纹理DTC量化系数预测系数扫描可变长编码码流⒈边界宏块边界宏块指横跨VOP边界,包含任意形状纹理数据的宏块。需要采用填补技术将这些形状扩展为矩形宏块,亮度分量以1616像素块为单位进行,色度分量以88像素块为单位进行。
低通外推填补技术①计算VOP内各个块所含像素均值,作为填补值.N表示VOP内各个宏块所含像素数.②填补后,利用下列“十”字平均运算对上步的填充值进行修正(外推)。R和c分别表示位于VOP边界外宏块的像素行、列位置。计算从宏块的左上角f
0,0开始,一行行进行直到计算完右下角像素为止。⒉DCT变换采用二维基于8×8像素块的DCT变换对内部规划纹理块和填补后的边界块进行编码。⒊系数量化采用有损压缩方法。两种量化方法:①根据系数的空间频率调整量化步长;②对所有系数采用相同量化步长。量化方法是用量化系数除以量化步长。⒋系数预测利用相邻块的预测可以进一步降低量化系数的平均能量。预测时可以利用上面的块、左边的块或左上角的块。
DC预测:只对DC系数进行预测,预测可根据A块或C块的DC系数。
AC预测:根据所选候选块同位置处的系数预测当前第一块或第一列的系数,通过适当调整量化步长来解决量化误差问题。相邻块B侯选块C侯选块A当前块⒌系数扫描和游程编码对系数先扫描将二维数据转换成一维数据,然后进行游程编码。扫描方式:①Zig-zag扫描:系数以对角线方式读出;②水平方向的轮流扫描:系数以水平方式读出;③垂直方向的轮流扫描:系数以垂直方式读出;DC预测方式决定了扫描方式。如果没有DC预测,采用Zig-zag扫描;如果水平或垂直方向有DC预测,采用水平或垂直方向的轮流扫描游程编码:利用两个不同的VLC码表,根据量化器的值确定采用哪个VLC表。⒍隔行扫描编码用于视频内容是隔行扫描的。纹理编码可以采用场DCT模式或帧DCT模式,以宏块为单位进行转换。①帧DCT编码:每一个色度块由两场扫描行交替组成。对色度块总是采用帧DCT模式进行编码。②场DCT编码:每一个色度块由两场中的一场扫描行组成。对亮度块总是采用场DCT模式进行编码。⒎静态纹理采用一种基于小波变换的静态编码技术,对AC子带和DC子带分别编码,采用零树算法和算术编码对小波系数进行量化编码。九、应用情况目前,MPEG4在多媒体传输、存储等领域具有广泛应用:①低比特率下的多媒体通信,如视频电话、视频电子邮件等;②互联网上的视频流与可视游戏、虚拟会议等;③数字电视、动态图像、万维网(WWW)等;④实时多媒体监控;⑤基于内容存储和检索的多媒体系统;⑥基于面部表情模拟的虚拟会议;⑦DVD上的交互多媒体应用;⑧电影电视后期制作。6.4H.264/AVC视频编码标准6.4.1概述JVT是由国际标准化组
织运动图像专家组(ISO
MPEG)和国际电信联
盟视频编码专家组
(ITU-TVCEG)成立的
联合视频工作组(Joint
VideoTeam),致力于
开发低比特率视频标准。JVT标准于2003年推出H.264/AVC标准。在ISO/IEC中的正式名称为:MPEG-4Part10在ITU-T中的名称为:H.264/AVC
根据应用范围,H.264主要分为三档:①基本档次(BaselineProfile):使用I片和P片帧内和帧间编码,支持基于上下文自适应变长熵编码(CAVLC)。主要适用于低时延实时应用场合。②主要档次(MainProfile):支持B片的帧间编码和采用加权预测的帧内编码,支持基于上下文自适应算术编码(CABAC)。主要针对时延要求不高但压缩率和质量要求比较高的场合。③扩展档次(ExtentedProfile):支持基本档次所有特性,但不支持CABAC,主要用于各种网络的视频流传输。6.4.2H.264/AVC视频编码器H.264以宏块作为基本处理单元,主要针对Y:U:V=4:2:0采样的视频序列进行压缩编码。H.264采用预测加变换编码的混合编码结构。变换编码基于4×4大小的块进行,一个16×16宏块将包含16个亮度块和8个色度块。对所有宏块的亮度和色度信号进行空间和时间预测,然后对预测的残差信号进行变换、量化和熵编码。H.264将一视频图像编码成一个或多个片(slice),一个片由一系列按光栅扫描顺序排列的宏块构成,每片包含整数个宏块或一副图像的全部宏块。H.264采用帧内/帧间编码模式,每个图像片的编码模式选择有:①I片(Islice):只包括I宏块,运用片内预测方法进行编码。采用帧内预测编码方式。②P片(Pslice):包括P宏块,也可以包括I宏块。I宏块使用I片中编码方法,P宏块使用帧间预测编码。③B片(Bslice):包括B宏块,也可以包括I宏块。B宏块使用双向预测,利用时间轴上先于和后于当前编码帧图像作为参考帧。
H.264编码框架图①当前帧Fn是以16×16宏块大小为处理单位进行编码处理的。可采用帧内预测编码或帧间预测编码。在任一种模式下,都要基于重建帧形成一个P宏块。在帧内模式下,P宏块的值等于对于当前帧Fn进行编码、解码。在帧间模式下,P宏块的值等于以一个或多个参考帧预测后经过运动补偿后的值。预测P宏块与当前帧宏块相减后产生的残差信号Dn,经过4×4的整数变换、量化、排序后,再经熵编码得到输出比特流。输出比特流下传到网络提取层NAL进行网络传输或存储。②在编码端的帧的重建路径:经过量化后输出的值X经过反量化、反变换后产生一个宏块,再加上预测宏块P,形成重建宏块。再引入环路滤波以减小或消除块变换造成的块效应。
H.264解码框架图在解码端,从网络提取单元中接收到传输比特流,提取数据部分经过熵解码、排序、反量化和反变换后产生的值(和在编码端的值一样)。在解码端,利用从传输比特流中提取的头部信息形成预测宏块P(和编码端一样)。P和相加产生
经过环路滤波器后形成重建宏块。注意:在编码端进行帧重建的目的是为了确保编码端和解码端都用相同的参考帧来形成预测宏块P。如果不是,则编码端形成的预测宏块P和解码端形成的预测宏块P值不同,而导致编码端和解码端的错误。6.4.4帧内预测编码在H.264中,当编码I图像时,提出了在空间域上的帧内预测方法,即利用已编码重建的相邻块对当前块进行预测,再对预测误差进行变换编码。对于亮度块,可选择4×4和16×16两种尺寸:
4×4亮度块有9种可选的帧内预测模式;
16×16亮度块有4种可选的帧内预测模式。对于色度块,选择8×8尺寸:
16×16色度块有4种可选的帧内预测模式。一、4×4亮度信号帧内预测4×4亮度块共有9种帧内预测模式:序号预测模式名称0垂直预测模式1水平预测模式2直流预测模式3左下方向对角线预测模式4右下方向对角线预测模式5垂直—向右预测模式6水平—向下预测模式7垂直—向左预测模式8水平—向上预测模式当使用帧内4×4模式时,16×16宏块划分成16个4×4子块,每个子块的16个值a~p都从空间上相邻的13个重建样值A~M预测而来。MABCDEFGHIabcdJefghKijklLmnop预测块与相邻块的关系1.预测块计算⑴垂直预测模式如果已编码重建的A~D与预
测块在同一片中,且预测块
采用垂直预测模式,则有:a=e=i=m=Ab=f=i=n=Bc=g=k=o=Cd=h=l=p=D⑵水平预测模式如果已编码重建的I~L与预测
块在同一片中,且预测块采
用水平预测模式,则有:a=b=c=d=Ie=f=g=h=Ji=j=k=l=Km=n=o=p=L⑶直流预测模式如果已编码重建的A~D、I~L与预测块在同一片中,则:如果只有I~L与预测块在同一
片中,则:如果只有A~D与预测块在同一
片中,则:如果A~D、I~L与预测块不在同一片中,则:⑷左下对角线预测模式如果已编码重建的A~D、E~H与预测块在同一片中,则有:⑸
右下对角线预测模式如果已编码重建的A~D、I~M与预测块在同一片中,则有:⑹
垂直—向右预测模式⑺水平—向下预测⑻垂直—向左预测⑼水平—向上预测2.预测模式编码*当前宏块采用4×4帧内预测模式需要将其选择预测模式编码传输。计算当前块C的最佳预测模式已编码块A和B位于当前块C上方
和左方,设PA、PB为A和B块的最佳帧内预测模
式,PC为当前块C最佳帧内预测模式,则有:ABCIf(A、B均有效)…A、B与C在同一片中或都是4×4帧内编码模式
PC=min(PA,PB)…块C最合适模式为A、B预测模式最小值ElsePC=2…否则块C最合适模式为直流预测模式当前块最佳预测模式标志位
ust_most_probable_mode作为当前块最佳预测模式标志位变量,以指定是否使用最佳模式。如果“ust_most_probable_mode”=1,则当前块采用最佳预测模式;如果“ust_most_probable_mode”=0,则发送参数变量remaining_mode_selector,以指出模式变化。如果remaining_mode_selector比PC小,则预测模式设置为remaining_mode_selector;否则预测模式设置为(remaining_mode_selector+1)。二、16×16亮度信号帧内预测16×16亮度块共有4种帧内预测模式:序号预测模式名称0垂直预测模式1水平预测模式2直流预测模式3平面预测模式设P[i,j](i,j=0,…,15)代表当前块的值。其中P[-1,-1]对应当前块左上角的值,P[-1,j]对应当前块左边的值,P[i,-1]对应当前块上方的值。⑴垂直预测模式如果已编码重建的P[i,-1]与预
测块在同一片中,则预测块
采用垂直预测模式,则有:⑵水平预测模式如果已编码重建的P[-1,j]与预
测块在同一片中,则预测块
采用水平预测模式,则有:⑶直流预测模式如果已编码重建的P[i,-1],
P[-1,j](i,j=0,…,15)与
预测块都不在同一片中:如果只有P[-1,j](j=0,…,15)
与预测块在同一片:如果只有P[i,-1](i=0,…,15)与预测块在同一片:如果已编码重建的P[i,-1],P[-1,j](i,j=0,…,15)与预测块都在同一片中,则:⑷平面预测模式如果已编码重建的P[i,-1],P[-1,j]
(i,j=0,…,15)与预测块都在同一片中:式子中:b,c代表上边缘和左边缘值的变化强度,正值说明从左到右或从上到下的值有增大趋势。同样,帧内16×16预测模式信息也必须包含在语法流中进行编码传输。三、8×8色度信号帧内预测8×8色度块共有4种帧内预测模式:序号预测模式名称0直流预测模式1水平预测模式2垂直预测模式3平面预测模式与16×16亮度预测模式类似,只是模式编号不同。注意:①色度帧内预测模式中直流预测模式是以4×4的块为单位进行的;②选择色度帧内预测模式的信息可以直接进行编码传输。四、帧内预测模式的选择采用拉格朗日率失真优化RDO策略进行最优编码模式选择。通过遍历所有可能编码模式,寻找率失真最小的那一种作为最优编码模式。步骤:①计算当前4×4块和重建4×4块之间差值的平方和SSD,以及相应编码比特率。②分别计算9种帧内4×4模式的率失真值J:
其中,为拉格朗日因子,QP为量化参数,R为所选模式相应编码比特率。③对宏块中16个4×4块重复①②步骤,获得每一个
4×4块最佳预测模式和相应的最小率失真值。
通常选取具有最小率失真值的模式作为最佳4×4
帧内预测模式。④将计算得到的16个4×4块最小率失真值相加得到
当前宏块在帧内4×4下的率失真值。⑤按类似方法分别计算当前宏块在4种帧内16×16
模式下的率失真值,选择宏块率失真值最小模式
为最佳16×16帧内预测模式。⑥根据步骤④⑤中最小宏块率失真值,选择宏块采
用4×4或16×16帧内预测模式。⑦对8×8色度宏块的帧内预测模式,方法类似。6.4.5帧间预测编码H.264帧间编码在现有标准帧间编码框架上增加一些新技术:①可变尺寸块运动补偿;②1/4像素精度的运动估计;③多参考帧运动补偿一、可变尺寸块运动补偿合理地将图像分块有利于解决提高搜索速度和增加估计精度这一对矛盾。通常情况下,对于一帧图像中变换缓慢的背景部分,采用较大的分块可减少搜索次数但不降低估计精度;对于变化剧烈的运动物体,采用较小的块能够提高估计精度。
H.264采用树结构运动补偿,利用了各种不同大小和形状的块分割模式:一个16×16亮度宏块有16×16、16×8、8×16、8×8四种分割方法;对于8×8分割,进一步划分为8×8、8×4、4×8、4×4共4种形状子块。根据运动补偿采用块尺寸不同,宏块编码模式分为四种:对于16×16、16×8、8×16三种块尺寸模式按照一个16×16块、两个16×8块和两个8×16块进行运动补偿。对于8×8块尺寸模式按照4个8×8块进行运动补偿,而每一个8×8子块有4中可能子模式,分别按照一个8×8块、两个8×4块和两个4×8块及4个4×4块进行运动补偿。对应于划分的每一个分块或子块都对应一个运动矢量MV,这个运动矢量和块的形状信息要编码传输。对于色度信号,宏块分割方法同亮度块一样,只是尺寸减半。例如,亮度分量中的8×16模式对应色度分量中4×8模式,而且色度块运动矢量也对应亮度块运动矢量的各个分量的一半。二、多参考帧运动补偿通常用于很多自然场景的周期变换以及镜头在两个场景中交替转换等情况下。
基本思想:对某一个块进行运动估计时,编码器会从过去的一个或多个刚编码过的参考帧中选定一帧作为参考帧,并指出是哪个帧被用于预测,以获得更好预测效果。多参考帧的引入给运动估计带来更大灵活性,提高估计精度,降低码率。但由于具有多个参考帧,因此需要更大存储空间。同时,在运动估计时,需要遍历当前所有参考帧,运算量加大。三、四分之一像素运动估计H.264对于亮度信号采用四分之一像素精度的运动估计,对于色度块,运动估计精度可达到八分之一。
整数和非整数样点值预测①当运动矢量水平和垂直分量都是整数,参考块中样值存在,预测值可直接由参考图像中对应样点值组成。②当运动矢量水平和垂直分量一个或两个分量为非整数,参考块中处于非整数位置处亮度和色度样点值不存在,预测值需要利用在参考帧中与其相邻的样点值进行插值运算得到。问题:如何获得半像素处和四分之一位置处的预测值呢?在参考帧中非整数位置插值运算图中A、B、C、D、E、F等为整数像素点;b、h、m、s、aa、bb、cc、dd等为半像素点;a、c、d、n、f、i、k和q等为四分之一像素点。思想:半像素处值通过对水平和垂直方向的相邻整像素使用一个权系数为(1,-5,20,20,-5,1)的6阶FIR滤波器滤波得到,四分之一像素处值通过计算相邻样值均值得到。
半像素样值生成。例如b和h:先通过6阶FIR滤波器滤波后得到中间值b1,h1,然后b1,h1除以32舍入取整(0~255之内)作为该点的值。round()为取整函数,输出值等于输入最近整数。例如j:依据邻近水平方向(或垂直方向)6个半像素点值通过6阶FIR滤波器滤波后得到中间值j1,再除以1024舍入取整(0~255之内)作为该点的值。其中m1,s1为m,s通过6阶FIR滤波器滤波后得到的中间值。
四分之一像素样值生成对于在水平和垂直方向上与一个整像素点或与两个半像素点相邻的四分之一点的求取是通过对相邻两像素取均值得到。如a,c,d,n,f,I,k,q
对于其他四分之一像素点如e,g,p,r的求取是通过对最近位于对角线上两个半像素点取平均后得到。对于色度分块,其运动估计精
度可达八分之一,非整像素位置
的值通过双线性插值得到。根据八分之一像素的运动矢量求得相应偏移量dx,dy,S-dx,S-dy通过下式获取对应位置估计值:四、运动矢量预测基本思想:利用空间上已编码的相邻分块的相关性,对当前分块的运动矢量进行预测,最后编码时只对运动矢量的预测值MVP与实际运动矢量差值MVD进行编码传输,减少用于传输运动矢量信息所需要的比特数。
子块分割尺寸相同或不同时相邻块的选择设E为当前宏块或子块,A、B、C分别代表与块E相邻的左、上、右上已编码宏块或子块。如果E的左侧是多于1个子块分割,取其中最上的一个为A;如果E的上方是多于1个子块分割,取其中最左的一个为B。BCAE分割尺寸相同时相邻块选择分割尺寸不同时相邻块选择运动矢量预测算法设VA、VB、VC代表A、B、C块运动矢量,VE为E块运动矢量预测值:对于E块的816的分割,左边部分运动矢量预测值等于VA,右边部分运动矢量预测值等于VC。对于E块的168的分割,上面部分运动矢量预测值等于VB,右边部分运动矢量预测值等于VA。对于E块为其他形状块的运动矢量预测算法:采用“中值预测”算法,原理为:如果B、C块均不存在或在片边界之外,则VE=VA;如果A、C块均不存在或在片边界之外,则VE=VB;如果A、B块均不存在或在片边界之外,则VE=VC;否则VE=median(VA,VB,VC),取三者中值。得到运动适量估计值MVP后,可利用它来定位搜索中心。注意:用于预测当前块的运动矢量的空间相邻块必须与当前块采用同样参考帧。6.4.6十字优先菱形搜索1.NCDS算法—十字菱形搜索算法NCDS算法根据现实中视
频序列的运动矢量中心
分布特性而提出的。大约
有80%运动矢量集中在搜
索中心周围搜索半径r=2
的范围内,并且在此范围
内,位于十字中心上的运
动矢量处于主导地位。如图,约有71.76%的MV集中在中心3×3(A+B+D)范围内,其中约69%MV集中在十字中心(A+B)位置上。NCDS算法的搜索模板形状:■小十字模板□﹢■大十字模板NCDS搜索过程:①用小十字模板SCSP在搜索区域中心及周围4个点进行搜索匹配,如果最佳匹配块位置在十字模板中心,则结束搜索;否则,继续第二步。②以第一步得到位置为中心,构建新SCSP模板(已考察过点不再处理)。如果最佳匹配块位置在十字模板中心,则结束搜索;否则,继续第三步。③考察以搜索起点(0,0)为中心的LCSP模板中3个位于十字方向上未考虑过的值,确定是否需要更新搜索中心。④以上一步得到位置为搜索中心,采用大钻石模板LDSP进行搜索,如果最佳匹配块位置位于当前搜索中心,则转入第五步;否则,更新当前搜索中心,重复本步骤。⑤以上一步得到位置为搜索中心,采用小钻石模板SDSP进行搜索,则搜索到最佳匹配块位置为最终匹配位置。举例:第一步搜索停止MV为(0,0)第一步搜索停止MV为(-1,0)上图中,NCDS算法搜索点数分别为5和8。对于运动内容大都是静止或运动较缓慢的视频序列来说,出现以上两种情况的概率比较多。在上图中,搜索点数共19点,匹配位置从第一步到第五步的变换为(-1,0)(-2,0)(-2,0)(-2,0)(-2,-1)在上图中,搜索点数共24点,匹配位置从第一步到第六步的变换为(-1,0)(-1,-1)(-1,-1)
(-3,-1)(-3,-1)(-3,-2)2.基于梯度的十字优先菱形搜索算法*快速运动搜索算法减少搜索点数的关键在于确定搜索模板的形状以及尽早地中止搜索过程。
基于梯度的十字优先菱形搜索算法的改进之处:①利用运动矢量预测技术使搜索中心接近真实匹配位置,从而以该搜索中心为起点的十字菱形搜索在头两步结束概率增大。并且,通过事先设定的门限值来确定当前中心位置是否为最佳匹配位置进一步减少搜索步骤。②在进行菱形搜索时仅仅考察符合当前搜索梯度方向的点。同时,遵循先考察十字方向,再对角方向原则,进一步减少搜索步骤。
基于梯度的十字优先菱形搜索算法步骤:①通过相邻块的运动矢量来预测当前块运动矢量,以确定搜索的起始中心位置。②计算当前中心位置处的求和绝对误差SAD值,与门限T比较,如果小于T,则当前位置为最佳匹配位置,结束搜索;否则,进入下一步。门限T的取值为:③以搜索起点(0,0)为中心,采用小十字模板SCSP进行搜索匹配,如果最佳匹配块位置在(0,0),则结束搜索;否则,继续第4步。④以第一步得到位置为中心,构建新SCSP模板(已考察过点不再处理)。如果最佳匹配块位置在搜索起点,则结束搜索;否则,继续第5步。⑤考察以搜索起点(0,0)为中心的大十字模板LCSP中3个位于十字方向上未考虑过的值,确定是否需要更新搜索中心。⑥以上一步得到位置为搜索中心,根据上一步搜索方向考察相应大钻石模板LDSP中1个(当前中心位置是上次搜索的十字方向)或2个(当前位置为上次搜索对角线方向)十字方向上的点进行搜索,如果最佳匹配块位置在当前搜索中心,则进入第8步;否则,继续第7步。⑦根据当前中心位置相对于上次搜索中心位置来选定相应LDSP模板对角线方向的1个点(当前位置为上次搜索对角线方向)或2个点(当前中心位置是上次搜索的十字方向)进行考察,确定当前位于十字方向上的最优匹配位置是否需要更新。无论结果如何,本步骤结束后都将以当前得到的最优匹配位置为中心点,重复第6步和第7步,直到从第6步跳出。⑧以得到最优匹配位置为搜索中心,采用小钻石模板SDSP进行搜索,则搜索到的最优匹配位置为最终的匹配位置。举例:上图中,所需要搜索点数共15点,匹配位置变化为:(-1,0)(-2,0)(-2,0)(-2,0)(-2,-1)上图中,所需要搜索点数共19点,匹配位置变化为:(-1,0)(-1,-1)(-3,-1)(-3,-1)(-3,-2)6.4.7整数变换及量化
宏块中的残差块及其传送顺序先传送标注为-1的块(只适用于当前块编码模式为16×16帧内模式),每个4×4子块包含直流系数;再传送标记为0~15块;然后传送标记为18~25块数据。0~15号4×4子块在16×16帧内模式下DC系数为0;16、17号块是色度分量Cb、Cr的直流系数;18~25块中设置直流系数为0。一、4×4整数离散余弦变换主要讨论4×4整数DCT变换原理:4×4DCT正变换公式为:其中,则有:A=BCAT=CTBT符号代表矩阵对应同一位置的元素相乘。对b,d值调整:对矩阵进行尺度变换,调整系数矩阵E,则有:“整数DCT正变换”公式变换核整数DCT反变换公式由于变换核与Ef乘法可以和量化过程合并,所以:实际DCT输出为:二、量化和反量化1.量化H.264标准支持52个量化步长,用量化参数QP来索引量化步长Qstep。表QP和Qstep关系可看出,量化参数QP每增加6,Qstep增加1倍;QP每增加1,Qstep近似增加12.5%。当QP取最小值0时,代表最精细的量化;当QP取最大值51时,代表最粗糙的量化。对于色度编码,一般使用与亮度编码同样的量化步长。H.264草案把色度的QP最大值大约限制在亮度QP最大值的80%范围内。规定亮度QP的最大值是51;色度QP的最大值是39。令Zij表示量化后系数,Yij表示经过整数DCT变换后系数,则有:由于变换核W作为实际DCT变换的输出,与Ef乘法可以和量化过程合并,则进一步表示有:PF为矩阵Ef中元素,表示对应矩阵Ef不同位置关系,如下表:round为四舍五入函数为整个量化过程避免除法运算,进一步表示有:其中:qbits的取值:当0QP5,qbits=15;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 毕业生实习与就业三方合同协议样本
- 2025年中国城市园林绿化工程行业市场运行态势报告2025
- 技术合作协议合同模板:助力供需双方创新发展
- 2025年中国儿童奶行业基于产业痛点研究与战略决策咨询报告
- 2025年山东宏海重工有限公司企业信用报告
- 2025年两轮滑板车市场调研报告
- 2025年中国压差压力变送器行业市场前景预测及投资价值评估分析报告
- 2025年中国种子行业市场全景调查及投资研究报告
- 2025年中国康乐健身球行业市场前景预测及投资价值评估分析报告
- 2025年中国铸铁管行业市场发展深度调查及投资战略可行性报告
- 销售团队就该这样管:五星评定销售管理实战指南
- 餐饮服务单位食品安全主体责任清单
- 2023年电力二十五项重点反事故措施考试题库(浓缩500题)
- 机械零件的修复技术概述课件
- 辐射与防护学习通课后章节答案期末考试题库2023年
- 第七章-民族乐派与印象主义-2课件
- 项目部行政工作报告
- 存货盘点安排通知盘点工作计划书物资盘点计划方案
- 药店保健食品管理制度
- 文件盒侧面标签模板
- (36)-第十七章第五节先天性甲状腺功能减退症
评论
0/150
提交评论