懒人李冰

记录我的生活、学习

H.264/AVC 视频编码:工具、性能和复杂性

摘要

H.264/AVC 是 ISO/IEC 运动图像专家组与 ITU-T 视频编码专家组合作的产物,是最新的视频编码标准。这项标准化工作的目标是提高压缩效率、交互式(视频电话)和非交互式应用(广播、流媒体、存储、视频点播)的网络友好视频表示。与以前的标准相比,H.264/AVC 在较宽的比特率和视频分辨率范围内提供高达 50% 的压缩效率增益。与以前的标准相比,解码器的复杂度是 MPEG-2 的 4 倍,是 MPEG-4 的 2 倍。本文概述了 H.264/AVC 的新工具、特性和复杂性。

1. 引言

ITU-T 的新视频编码标准建议,H.264/AVC,是视频编码标准序列中的最新标准。这些先前的标准反映了视频压缩的技术进步以及视频编码对不同应用和网络的适应性。应用范围从可视电话(H.261)到消费者 CD 视频(MPEG-1)以及标准清晰度或高清晰度电视(MPEG-2)的广播。用于视频通信的网络包括诸如 PSTN(H.263、MPEG-4)或 ISDN(H.261)之类的交换网络和诸如 ATM(MPEG-2、MPEG-4)、因特网(H.263、MPEG-4)或移动网络(H.263、MPEG-4)之类的分组网络。有线调制解调器、XDSL 和 UMTS 等新网络技术的重要性,对新的视频编码标准 H.264/AVC 产生了需求,针对交互式应用(如要求低延迟系统的视频电话)和非交互式应用(如存储、广播,标准清晰度电视的流媒体,其重点是高编码效率)时,必须特别考虑性能。将H.264/AVC 视频编码工具(如多参考帧、1/4 像素运动补偿、去块滤波或整数变换等)与以前的视频编码标准相比,H.264/AVC 在标准话视频编码的发展过程中带来了最多的算法不连续性。同时,H.264/AVC 在编码性能上实现了五年前还没有预见到的飞跃。2001 年 12 月,ITU-T 和 MPEG 的视频专家成立了联合视频团队(JVT)来开发这个 H.264/AVC 视频编码标准,这使得这一进展成为可能。H.264/AVC 于 2003 年 3月定稿,并于 2003 年 5 月获得 ITU-T 的批准。

现代视频通信使用的数字视频(从相机捕捉或使用适当的工具(如动画软件)合成)。在可选的预处理步骤(图1)中,发送者可以选择使用格式转换或增强技术对视频进行预处理。然后编码器对视频进行编码,并将视频表示为位流。在通过通信网络传输比特流之后,解码器解码视频,视频在可选的后处理步骤之后显示,后处理步骤可以包括格式转换、滤波以一致编码伪影、错误隐藏或视频增强。

该标准定义了位流的语法和语义,以及解码器在将位流解码为视频时需要执行的处理。因此,视频解码器制造商只能在成本和硬件要求等领域展开竞争。可选的解码视频的后处理是不同制造商将提供竞争工具以创建针对目标应用优化的解码前视频流的另一个领域。该标准没有定义如何进行编码或其他视频预处理,从而使制造商能够在成本、编码效率、错误恢复能力或硬件要求等领域与编码器竞争。同时,位流和解码器的标准化保留了任何通信标准互操作性的基本要求。

为了在不同的环境中进行高效的传输,不仅需要提高编码效率,而且还需要将编码后的视频无缝、方便地集成到所有当前和未来的协议和网络体系结构中。这包括尽最大努力交付的公共互联网,以及预计将成为新视频编码标准主要应用的无线网络。

本文给出了H.264/AVC的工作原理、性能和硬件需求。第 2 节介绍了标准化视频编码方案的概念。在第 3 节中,我们介绍了 H.264/AVC 在视频编码性能方面取得这一进展的主要工具。视频编码器优化不是标准的一部分。然而,编码器的成功使用需要第 4 节中介绍的编码器控制知识。H.264/AVC 可用于具有非常不同约束的不同应用,如计算资源、错误恢复能力和视频分辨率。第 5 节描述了 H.264/AVC 的 profiles 和 levels,这些 profiles 和 level 允许解码器复杂度适应不同的应用。在第 6 节中,我们比较了 H.264/AVC 和以前的视频编码标准的编码效率和硬件复杂度。H.264/AVC 使用了许多国际专利,第 7 节解释了 H.264/AVC 商业使用的当前许可模式。编码视频表示或比特流对不同传输网络的适配,通常在先前 MPEG 标准或诸如 H.320 或 H.324 的单独标准中的系统规范中定义。然而,只有网络适配和视频编码的紧密结合才能带来视频通信系统的最佳性能。因此,H.264/AVC 由两个概念层组成。视频编码层(VCL)定义视频的有效表示,网络适配层(NAL)将 VCL 表示转换为适合特定传输层或存储介质的格式。对于像 H.320、H.324 或 MPEG-2 这样的电路交换传输,NAL 将编码视频作为包含起始码的有序字节流传送,使得这些传输层和解码器能够可靠且简单地识别比特流的结构。对于像 RTP/IP 或 TCP/IP 这样的分组交换网络,NAL 在没有这些起始码的情况下以分组的形式传送编码视频。