H264视频压缩编码标准

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SLIDE1H.264/AVCH.264/AVC编解码器H.264/AVC的结构帧内预测帧间预测变换与量化SLIDE2H.264/AVCH.264/AVC编解码器H.264/AVC的结构帧内预测帧间预测变换与量化SLIDE3H.264/AVC编解码器H.264编解码器特点H.264并不明确地规定一个编解码器如何实现,而是规定了一个编码的视频比特流的句法,和该比特流的解码方法,各个厂商的编码器和解码器在此框架下应能够互通,在实现上具有较大灵活性,而且有利于相互竞争。SLIDE4H.264/AVC编解码器H.264编码器–编码器采用的仍是变换和预测的混合编码法。输入的帧或场Fn以宏块为单位被编码器处理。首先,按帧内或帧间预测编码的方法进行处理。–如果采用帧内预测编码,其预测值PRED(图中用P表示)是由当前片中前面已编码的参考图像经运动补偿(MC)后得出,其中参考图像用F’n-1表示。为了提高预测精度,从而提高压缩比,实际的参考图像可在过去或未来(指显示次序上)已编码解码重建和滤波的帧中进行选择。–预测值PRED和当前块相减后,产生一个残差块Dn,经块变换、量化后产生一组量化后的变换系数X,再经熵编码,与解码所需的一些边信息(如预测模式量化参数、运动矢量等)一起组成一个压缩后的码流。–正如上述,为了提供进一步预测用的参考图像,编码器必须有重建图像的功能。因此必须使残差图像经反量化、反变换后得到的Dn’与预测值P相加,得到uFn’(未经滤波的帧)。为了去除编码解码环路中产生的噪声,为了提高参考帧的图像质量,从而提高压缩图像性能,设置了一个环路滤波器,滤波后的输出Fn’即重建图像可用作参考图像。SLIDE5H.264/AVC编解码器H.264解码器–由图1可知,由编码器的NAL输出一个压缩后的H.264压缩比特流。由图2,经熵解码得到量化后的一组变换系数X,再经反量化、反变换,得到残差Dn’。利用从该比特流中解码出的头信息,解码器就产生一个预测块PRED,它和编码器中的原始PRED是相同的。当该解码器产生的PRED与残差Dn’相加后,就产生uFu’,再经滤波后,最后就得到滤波后的Fn’,这个Fn’就是最后的解码输出图像。SLIDE6H.264/AVC编解码器Fn当前TQ重排序T-1Q-1熵编码F'n-1参考F'n重建滤波ME帧内预测MC帧内预测选择-+++帧间帧内XDnD'nNALuF'nP图1H.264编码器SLIDE7H.264/AVC编解码器图2H.264解码器T-1Q-1F'n-1参考F'n重建滤波帧内预测MC++帧间帧内uF'nP重排序熵编码XNALSLIDE8H.264/AVCH.264/AVC编解码器H.264/AVC的结构帧内预测帧间预测变换与量化SLIDE9H.264/AVC的结构名词解释–场和帧视频的一场或一帧可用来产生一个编码图像。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。SLIDE10H.264/AVC的结构名词解释–宏块、片:一个编码图像通常划分成若干宏块组成,一个宏块由一个16×16亮度像素和附加的一个8×8Cb和一个8×8Cr彩色像素块组成。每个图象中,若干宏块被排列成片的形式。–I片只包含I宏块,P片可包含P和I宏块,而B片可包含B和I宏块。–I宏块利用从当前片中已解码的像素作为参考进行帧内预测。–P宏块利用前面已编码图象作为参考图象进行帧内预测,–一个帧内编码的宏块可进一步作宏块的分割:即16×16、16×8、8×16或8×8亮度像素块(以及附带的彩色像素);如果选了8×8的子宏块,则可再分成各种子宏块的分割,其尺寸为8×8、8×4、4×8或4×4亮度像素块(以及附带的彩色像素)。–B宏块则利用双向的参考图象(当前和未来的已编码图象帧)进行帧内预测。。SLIDE11H.264/AVC的结构档次和级–H.264规定了三种档次,每个档次支持一组特定的编码功能,并支持一类特定的应用。–1)基本档次:利用I片和P片支持帧内和帧间编码,支持利用基于上下文的自适应的变长编码进行的熵编码(CAVLC)。主要用于可视电话、会议电视、无线通信等实时视频通信;–2)主要档次:支持隔行视频,采用B片的帧间编码和采用加权预测的帧内编码;支持利用基于上下文的自适应的算术编码(CABAC)。主要用于数字广播电视与数字视频存储;–3)扩展档次:支持码流之间有效的切换(SP和SI片)、改进误码性能(数据分割),但不支持隔行视频和CABAC。主要用于网络的视频流,如视频点播–图3为H.264各个档次具有的不同功能,可见扩展档次包括了基本档次的所有功能,而不能包括主要档次的。每一档次设置不同参数(如取样速率、图像尺寸、编码比特率等),得到编解码器性能不同的级。SLIDE12H.264/AVC的结构图3H.264档次SLIDE13H.264/AVC的结构编码数据格式–H.264支持4:2:0的逐行或隔行视频的编码和解码。SLIDE14H.264/AVC的结构参考图像–可从一组前面或后面已编码图像中选出一个或两个与当前最匹配的图像作为帧间编码间的参数图像,–H.264中最多可从15个参考图像中进行选择,选出最佳的匹配图像。–对于P片中帧间编码宏块可从表“0”中选择参数图像;对于B片中的帧间编码宏块和宏块分割的预测,可从表“0”和“1”中选择参考图像。SLIDE15H.264/AVC的结构片和片组–片一个视频图像可编码成一个或更多个片,每片包含整数个宏块(MB),即每片至少一个MB,最多时每片包含整个图像的宏块。设片的目的是为了限制误码的扩散和传输,使编码片相互间是独立的。某片的预测不能以其它片中的宏块为参考图像,这样某一片中的预测误差才不会传播到其它片中去。编码片共有5种不同类型,I片、P片、B片外,还有SP片和SI片。其中SP(切换P)是用于不同编码流之间的切换。SLIDE16H.264/AVC的结构图4片的句法结构SLIDE17H.264/AVC的结构片和片组–片组片组是一个编码图象中若干MB的一个子集,它可包含一个或若干个片。–在一个片组中,每片的MB按光栅扫描次序被编码,如果每幅图象仅取一个片组,则该图象中所有的MB均按光栅扫描次序被编码。–还有一种片组,叫灵活宏块次序(FMO),它可用灵活的方法,把编码MB序列映射到解码图象中MB的分配用MB到片组之间的映射来确定,它表示每一个MB属于哪个片组。表1为MB到片组的各种映射类型。SLIDE18H.264/AVC的结构表1MB到片组的映射类型名称描述0交错MB游程被依次分配给每一块组(图8)1散乱每一片组中的MB被分散在整个图象中(图9)2前景和背景例见图103Box-out从帧的中心开始,产生一个箱子,其MB属于片组0,其它MB属于片组(图11)4光栅扫描片组0包含按光栅扫描次序从顶-左的所有MB,其余MB属片组1(图11)5手绢片组0包含从顶-左垂直扫描次序的MB,其余MB属片组1(图11)6显式每一Mbslice_group_id,用于指明它的片组(即MB映射完全是用户定义的)SLIDE19H.264/AVC的结构图5交错型片组图6散乱型片组图7前景和背景型片组SLIDE20H.264/AVC的结构图8片组SLIDE21H.264/AVCH.264/AVC编解码器H.264/AVC的结构帧内预测帧间预测变换与量化SLIDE22帧内预测–在帧内预测模式中,预测块P是基于已编码重建块和当前块形成的。对亮度像素而言,P块用于4×4子块或者16×16宏块的相关操作。4×4亮度子块有9种可选预测模式,独立预测每一个4×4亮度子块,适用于带有大量细节的图像编码;16×16亮度块有4种预测模式,预测整个16×16亮度块,适用于平坦区域图像编码;色度块也有4种预测模式,类似于16×16亮度块预测模式。编码器通常选择使P块和编码块之间差异最小的预测模式。SLIDE23帧内预测4×4亮度预测模式–如图6.14所示,4×4亮度块的上方和左方像素A~M为已编码和重构像素,用作编解码器中的预测参考像素。a~p为待预测像素,利用A~M值和9种模式实现。其中模式2(DC预测)根据A~M中已编码像素预测,而其余模式只有在所需预测像素全部提供才能使用。图6.15箭头表明了每种模式预测方向。对模式3~8,预测像素由A~M加权平均而得。例如,模式4中,d=round(B/4+C/2+D/4)。SLIDE24帧内预测图1SLIDE25帧内预测a)b)图2a)利用像素A-M对方块中a-p像素进行帧内4×4预测b)帧内4×4预测的8个预测方向SLIDE26帧内预测图34×4亮度块预测模式SLIDE27帧内预测Example:4x4块,9种预测模式(0-8)对于当前块的最佳模式是:模式7(vertical-right)SLIDE28帧内预测图4SLIDE29帧内预测16×16亮度预测模式–宏块的全部16×16亮度成分可以整体预测,有4种预测模式,如表2和图5所示。图516×16预测模式SLIDE30帧内预测表216×16预测模式模式描述模式0(垂直)由上边像素推出相应像素值模式1(水平)由左边像素推出相应像素值模式2(DC)由上边和左边像素平均值推出相应像素值模式3(平面)利用线形“plane”函数及左、上像素推出相应像素值,适用于亮度变化平缓区域SLIDE31帧内预测图616×16宏块图6.19帧内16×16预测块图7帧内16×16预测块举例:图6给出了一个左上方像素已编码的亮度宏块。图7给出了4种预测模式预测结果。其中模式3最匹配原始宏块。帧内16×16模式适用于图像平坦区域预测。SLIDE32帧内预测8×8色度块预测模式–每个帧内编码宏块的8×8色度成分由已编码左上方色度像素预测而得,两种色度成分常用同一种预测模式。–4种预测模式类似于帧内16×16预测的4种预测模式,只是模式编号不同。其中DC(模式0)、水平(模式1)、垂直(模式2)、平面(模式3)。SLIDE33帧内预测•帧内预测模式帧内预测模式编码•例如:如果A块和B块的最优预测模式均是预测模式2,那么,最可能当前块C的最优预测模式是模式2图8帧内预测模式编码SLIDE34帧内预测对于当前块C,编解码器按照如下方法计算probablepredictionmode=min{predictionmodeofA,predictionmodesofB}当A(或者B)的预测模式不可用时,predictionmodeofA=2.例如A和B块的预测模式分别为3和1mostprobablemodeforblockC=1SLIDE35帧内预测编码器为每个4x4块发送一个标记flag,解码器按照如下方式解码Ifflag==1,predictionmode=most_probable_modeIfflag==0Ifrem_intra4×4_pred_modemost_probable_modepredictionmode=rem_intra4×4_pred_modeelsepredictionmode=rem_intra4×4_pred_mode+1•这样表示9中预测模式只需要8个值(0to7)SLIDE36帧内预测SLIDE37H.264/AVCH.264/AVC编解码器H.264/AVC的结构帧内预测帧间预测变换与量化SLIDE38帧间预测树状结构运动补偿–每个宏块(16×16像素)可以4种方式分割:一个16×16,两个16×8,两个8×16,四个8×8。其运动补偿也相应有四种。而8×8分割还可以有四种方式的分割:一个8×8,两个4×8或两个8×4及4个4×4。这种分割下的运动补偿则称为树状结构运动补偿。SLIDE39帧间预测图1宏块分割SLIDE40帧间预测树状结构运动补偿–每个分割或子宏块都有一个独立的运动补偿。每个MV必须被编码、传输,分割的选择也需编码到压缩比特流中。对大的分割尺寸而言,MV选择和分割类型只需少量的比特,但运动补偿残差在多细节区域能量将非常高。小尺寸分割运动补偿残差能量低,但需要较多的比特表征MV和分割选择。分割尺寸

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功