第一范文网 - 专业文章范例文档资料分享平台

中文版白皮书H.264MPEG4 Part 10 White Paper (3)

来源:用户分享 时间:2020-06-26 本文由亦难幸福 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1. 引言

联合视频工作组(JVT)正在定案一个新的自然视频图像编码(压缩)标准。新标准[1]被称为H.264或称作MPEG-4 Part 10、“高级视频编码(AVS)”。这篇文档描述了H.264中以P-片来进行帧间预测编码的方法。

帧间预测从一个或多个之前已经编码的视频帧中生成一个预测模型。这个模型由对参考帧中的采样进行漂移产生(运动补偿预测)。AVC CODEC 使用基于块的运动补偿,与从H.261以来的主要编码标准中采用的规则相同。然而,它与早期标准有着重要的区别:(1) 支持多种块大小(最小4X4)的预测;(2) 细粒度的次像素运动矢量(量度分量可精确到1/4像素)。

2 树结构的运动补偿

AVC对亮度采样支持16X16到4X4之间多种块大小的运动补偿。每个宏块(16X16采样)的亮度分量能以Figure 2-1中所示的4种方式分割:16X16,16X8,8X16或8X8.每个细分区域是一个宏块分区。如果选择8X8分割模式,宏块内的四个8X8宏块分区都能够以4种方式再次分割,如图Figure 2-2所示:8X8,8X4,4X8或4X4(称作宏块子分区)。这些分区和子分区使得每个宏块内都可以有很多种组合方式。这种将宏块分割成不同大小运动补偿子块的方法称作树结构运动补偿。

每个分区或子分区都有一个独立的运动矢量。每个运动矢量必须编码并传输;另外,分区(分割方式)的选择也必须被编码到压流的比特流中。选择大的分区(如16X16,16X8,8X16)意味着只需很少的比特来标记运动矢量的选择和分区的类型;然而,运动补偿残差可能包含了大量的帧中高细节部分信息。选择一个小的分区大小(8X4,4X4等等)可以在运动补偿后得到一个较小的残差,但它需要更多的比特来标记运动矢量和分区的类型。因此分区大小的选择对压缩效果有着很大的影响。通常情况下,一个大的分区适用于帧内分布均匀的区域而一个小的分区将有利于细节区域的描述。

宏块(Cr和Cb)中每个色度分量的分辨率为亮度分量的一半。每个色度块和亮度块的分割方式相同,只是分区大小是水平和垂直方向的分辨率的一半(如一个8X16亮度分区对应一个4X8的色度分区;一个8X4亮度分区对应一个4X2的色度分区)。每个运动矢量(每个分区一个)的水平和垂直分量运用到色度块上时减半。

例:Figure 2-3显示了一个残留帧(未经过运动补偿)。AVC参考编码器为帧的每个部分选择了“最好的”分区大小。这种分区大小尽量减小编码残差和运动矢量。为每个区域选择的宏块分区显示在残留帧上(图示)。在帧间变化很小的区域(残留帧上显示为灰色)采用16X16分区方式;在运动的细节描述部分(残留帧上显示为黑色或白色)采用较小的分区效果更好。

3. 次像素运动矢量

帧间编码宏块的每个分区根据参考图片中的一个相同大小的区域预测。两个区域间的偏移(运动矢量)的分辨率(亮度分量)为1/4像素。次像素位置的亮度和色度采样在参考图片中不存在,所以它们必须通过对附近的图像采样进行插补来创建。Figure 3-1给出了一个例子。当前帧(a)中的一个4X4的子分区根据参考图像的一个邻近区域来预测。如果运动矢量的水平和垂直分量为整数(b),则参考块中的相关采样实际已经存在(灰点)。如果一个或两个向量分量都为分数值(c),预测采样(灰点)根据参考帧中相邻采样(白点)间的插补产生。

次像素运动补偿的效果明显优于整数像素补偿,但是却增加了复杂性。1/4像素精度效果优于半像素精度。

在亮度分量中,半像素位置的次像素采样首先产生,它使用一个6头有限脉冲响应滤波器(6-tap Finite Impulse Response filter)从邻近的整数像素采样中插值。这意味着每个半像素采样是6个邻近整数采样的加权和。一旦所有的半像素采样可用,每个1/4像素采样通过对相邻的半像素和整数像素使用双线性插值得到。如果视频源采样比是4:2:0,色度分量需使用1/8像素采样(与亮度的1/4像素采样对应)。这些采样通过对整数像素的色度采样进行插值(线性插值)得到。

4. 运动矢量预测

为每个分区编码一个运动矢量需要大量的比特,特别是在选择小的分区的时候。通常情况下邻近分区的运动矢量都高度相关,所以每个运动矢量可以通过相邻并且之前已经编码的分区的矢量预测。预测矢量MVp基于之前已计算出的运动矢量产生。当前矢量和预测矢量间的差异MVD被编码并传输。预测矢量MVp的生成方法取决于运动补偿块的大小和相邻矢量是否可用。“基本”预测值是当前分区或子分区相邻上部和对角线方向右下和相邻左侧的宏块分区或子分区的运动矢量的中间值。如果(a)选择16X8或8X16的分区并且(或者)(b)有些邻近分区不可用作预测值,则预测值会作出改变。如果当前宏块被跳过(未传输),则会产生一个预测矢量,即使宏块以16X16分区模式编码。

在解码器中,预测矢量MVp以相同的方式形成并加到解码后的矢量差异MVD中。若有跳过宏块,则这里没有解码矢量(MVD),这时会根据MVp的规模产生一个运动补偿宏块。 5. 参考资料

1 ITU-T Rec. H.264 / ISO/IEC 11496-10, “Advanced Video Coding”, Final Committee Draft, Document JVTG050,March 2003 变换和量化

1. 引言

联合视频工作组(JVT)正在定案一个新的自然视频图像编码(压缩)标准。新标准[1]被称为H.264或称作MPEG-4 Part 10、“高级视频编码(AVS)”。这篇文档描述了标准所定义或隐含的变换和量化过程。

每个残差宏块被传输,量化并编码。之前的标准如MPEG-1,MPEG-2,MPEG-4和H.263使用了8X8离散余弦变换(DCT)作为基本变换。H.264的基本规范使用三种变换,采用何种变换取决于被编码的残差数据:(1)对宏块内部(以16X16模式预测)的亮度直流系数4X4数组进行变换。(2)对(任何宏块中的)色度直流系数2X2数组进行变换(3)对所有其它的4X4块的残差数据进行变换。如果使用了“自适应块大小变换”选项,则根据运动补偿块大小(4X8,8X4,8X8,16X8等等)选择更进一步的变换。

宏块中的数据以图Figure 1-1中所示顺序进行传输。如果宏块以16X16帧内模式编码,则标注为“-1”的块(包含每个4X4亮度块的直流系数)首先被传输。然后,亮度残差块0-15按所示顺序传输(16X16宏块内部直流系数被设为0)。块16和块17各自包含一个来自色度分量Cb和Cr的2X2排列。最后,色度残差块18-25(直流系数为0)被发送。

2. 4X4残差变换和量化(块0-15,18-25)

在运动补偿预测和帧内预测后对4X4残差数据块(在Figure 1-1中标志为0-15和18-25)使用这个变换。这个变换基于DCT但是有一些基本的区别: (1) 它是一个整数变换(所有的操作可以用整数算术进行,没有降低精

度)。 (2) 逆变换在H.264标准中已经被充分描述,如果这个描述被正确的继

承,那么编码器与解码器之间不应该存在不匹配。 (3) 变换的核心部分是没有乘法的,即它只需进行加、减和移位。 (4) 一个缩放乘法(完整变换的一部分)被融入到量化器中(减少了总

的乘法次数)。 变换和量化的整个过程可以使用16位整数算术来进行,并且每个系数只乘一次,没有降低精度。

2.1 从4X4 DCT推出的整数变换 对一个输入阵列X进行4X4 DCT变换:

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证中文版白皮书H.264MPEG4 Part 10 White Paper (3)全文阅读和word下载服务。

中文版白皮书H.264MPEG4 Part 10 White Paper (3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1103940.html(转载请注明文章来源)

相关推荐:

热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top