新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 视频压缩技术的系统考虑

视频压缩技术的系统考虑

作者:时间:2012-12-01来源:网络收藏

解码最初对于通用处理器及 DSP 具有很高的处理要求。优化的固定功能 解码器开发已问世,由于使用量较高,成本已逐渐降低。MPEG2 证明低成本芯片解决方案的供应是视频编解码标准成功和普及的关键。

H.263

H.263[5] 在 H.261 之后得到开发,主要是为了以更低的比特率实现更高的质量。其主要目标之一是基于普通 28.8Kbps 电话调制解调器的视频。目标分辨率是 SQCIF (128(96)~CIF (352(288)。其基本原理与 H.261 大同小异。

H.263 的运动矢量在两个方向上允许是 1/2 的倍数(“半像素”),参考图像以数字方式内插到更高的分辨率。这种方法可以提高 MC 精度及压缩比。MV 可采用更大的范围。为不同方案提供许多新的选项,包括:

* 4 个运动矢量——每个块采用一个运动矢量,而非整个 MB 采用单个运动矢量。

* 3D VLC:Huffman 编码——将块结束 (EOB) 指示符与每个运行级别对结合在一起。这种功能主要用于低比特率,这时大多时候只有一、两个编码系数。

尽管存在这些功能,但是仍然很难在普通电话线上实现理想的视频质量,而且目前基于标准调制解调器的可视电话仍然是一个难题。不过,由于 H.263 一般情况下可提供优于 H.261 的效率,它成为了电视会议首选的算法,但是,为了兼容旧系统,仍然需要支持 H.261。H.263 逐渐发展成为了 H.263+,其增加了可选的附件,为提高压缩并实现分组网的鲁棒性提供支持。H.263 及其附件构成了MPEG-4 中许多编码工具的核心。

MPEG-4

MPEG-4[6] 由 ISO 提出,以延续 的成功。一些早期的目标包括:提高容错能力以支持无线网、对低比特率应用进行更好的支持、实现各种新工具以支持图形对象及视频之间的融合。大部分图形功能并未在产品中受到重视,相关实施主要集中在改善低比特率压缩及提高容错性上。.

MPEG-4 简化类 (SP) 以H.263为基础,为改善压缩增加了新的工具,包括:

无限制的运动矢量:支持对象部分超出帧边界时的预测。

可变块大小运动补偿:可以在 16(16 或 8(8 粒度下进行运动补偿。

上下文自适应帧内 DC/AC 预测:可以通过当前块的左右相邻块预测 DC/AC 系数。

扩展量化 AC 系数的动态范围,支持高清视频:从 H.263 的 [-127:127] 到 [-2047, 2047]。

增加了容错功能,以支持丢包情况下的恢复,包括:

片断重同步 (Slice Resynchronization):在图像内建立片断 (slice),以便在出现错误后更快速的进行重新同步。与 MPEG-2 数据包大小不同,MPEG4 数据包大小与用于描述 MB 的比特数量脱离了联系。因此,不管每个 MB 的信息量多少,都可以在位流中按相同间隔进行重新同步。

数据分割:这种模式允许利用唯一的运动边界标记将视频数据包中的数据分割成运动部分和 数据部分。这样就可以实现对运动矢量数据更严格的检查。如果出现错误,我们可以更清楚地了解错误之处,从而避免在发现错误情况下抛弃所有运动数据。

可逆 VLC:VLC 编码表允许后向及前向解码。在遇到错误时,可以在下一个slice进行同步,或者开始编码并且返回到出现错误之处。

新预测 (NEWPRED):主要用于在实时应用中实现快速错误恢复,这些应用中的解码器在出现丢包情况下采用逆向通道向解码器请求补充信息。

MPEG-4 高级简化类 (ASP) 以简化类为基础,增加了与 MPEG-2 类似的 B 帧及隔行工具(用于Level 4 及以上级别)。另外它还增加了四分之一像素运动补偿及用于全局运动补偿的选项。MPEG-4 高级简化类比简化类的处理性能要求更高,而且复杂性与编码效率都高于 MPEG-2。

MPEG-4 最初用于因特网数据流,例如,已经被 Apple 的 QuickTime 播放器采用。MPEG-4 简化类目前在移动数据流中得到广泛应用。MPEG-4 ASP 是已经流行的专有 DivX 编解码器的基石。

工具与压缩增益

当我们查看 H.261、MPEG1、MPEG2 与 H.263 视频编解码技术中引入的功能时,明显可以发现几种基本技巧提供了大部分压缩增益。图 4 说明这些技巧及其相关效果。与 4 个运动矢量以及四分之一像素运动补偿等工具相比,运动补偿(整数像素与半像素)的效果显然更为突出。

图 4:基本技巧的效果:1) 无 MC;2) 增加 Skip 模式构成 CR 编码器;3) 仅允许零 MV;4) 允许整数像素 MC;5) 允许半像素 MC;6) 允许 4-MV;7) 允许四分之一像素MC。如欲了解有关详细说明,敬请参见 [7]。

7. / MPEG4-AVC

视频编码技术在过去几年最重要的发展之一是由 ITU 和 ISO/IEC 的联合视频小组 (JVT) 开发了 /MPEG-4 AVC[8] 标准。在发展过程中,业界为这种新标准取了许多不同的名称。ITU 在 1997 年开始利用重要的新编码工具处理 H.26L(长期),结果令人鼓舞,于是 ISO 决定联手 ITU 组建 JVT 并采用一个通用的标准。因此,大家有时会听到有人将这项标准称为 JVT,尽管它并非正式名称。ITU 在 2003 年 5 月批准了新的 标准。ISO 在 2003 年 10 月以 MPEG-4 Part 10、高级视频编码或 AVC 的名称批准了该标准。

H.264/AVC 在压缩效率方面取得了巨大突破,一般情况下达到 MPEG-2 及 MPEG-4 简化类压缩效率的大约 2 倍。在 JVT 进行的正式测试中 [9],H.264 在 85 个测试案例中有 78% 的案例实现 1.5 倍以上的编码效率提高,77% 的案例中达到 2 倍以上,部分案例甚至高达 4 倍。H.264 实现的改进创造了新的市场机遇,如:

* 600Kbps 的 VHS 品质视频。可以通过 ADSL 线路实现视频点播。

* 高清晰电影无需新的激光头即可适应普通 DVD。

H.264 标准化时支持三个类别:基本类、主类及扩展类。后来一项称为高保真范围扩展 (FRExt) 的修订引入了称为高级类的 4 个附加类。在初期主要是基本类和主类引起了大家的兴趣。基本类降低了计算及系统内存需求,而且针对低时延进行了优化。由于 B 帧的内在时延以及 CABAC 的计算复杂性,因此它不包括这两者。基本类非常适合可视电话应用以及其他需要低成本实时编码的应用。

主类提供的压缩效率最高,但其要求的处理能力也比基本类高许多,因此使其难以用于低成本实时编码和低时延应用。广播与内容存储应用对主类最感兴趣,它们是为了尽可能以最低的比特率获得最高的视频质量。

尽管 H.264 采用与旧标准相同的主要编码功能,不过它还具有许多与旧标准不同的新功能,它们一起实现了编码效率的提高。图 5 的编码器框图总结了其主要差别,概述如下:

帧内预测与编码:H.264 采用空域帧内预测技术来预测相邻块邻近像素的 Intra-MB 中的像素。它对预测残差信号和预测模式进行编码,而不是编码块中的实际像素。这样可以显著提高帧内编码效率。

帧间预测与编码:H.264 中的帧间编码采用了旧标准的主要功能,同时也增加了灵活性及可操作性,包括适用于多种功能的几种块大小选项,如:运动补偿、四分之一像素运动补偿、多参考帧、通用 (generalized) 双向预测和自适应环路去块。

可变矢量块大小:允许采用不同块大小执行运动补偿。可以为小至 4(4 的块传输单个运动矢量,因此在双向预测情况下可以为单个 MB 传输多达 32 个运动矢量。另外还支持 16(8、8(16、8(8、8(4 和 4(8 的块大小。降低块大小可以提高运动细节的处理能力,因而提高主观质量感受,包括消除较大的块化失真。

四分之一像素运动估计:通过允许半像素和四分之一像素运动矢量分辨率可以改善运动补偿。

多参考帧预测:16 个不同的参考帧可以用于帧间编码,从而可以改善视频质量的主观感受并提高编码效率。提供多个参考帧还有助于提高 H.264 位流的容错能力。值得注意的是,这种特性会增加编码器与解码器的内存需求,因为必须在内存中保存多个参考帧。

自适应环路去块滤波器:H.264 采用一种自适应解块滤波器,它会在预测回路内

对水平和垂直区块边缘进行处理,用于消除块预测误差造成的失真。这种滤波通常是基于 4(4 块边界为运算基础,其中边界各边的 3 个像素可通过 4 级滤波器进行更新。



评论


相关推荐

技术专区

关闭