关于视频压缩技术的系统考虑

时间:2011-09-03

  1  前言

  随着信息世界的变短发展,数字视频产品需求近些年出现猛增。主流应用包括视频通信、安全监控与工业自动化,而热门的要算娱乐应用,如 DVD、HDTV、卫星电视、高清(HD)机顶盒、因特网视频流、数码相机与 HD 摄像机、视频光盘库(video jukebox)、高端显示器(LCD、等离子显示器、DLP)以及个人摄像机等。众多精彩的新应用目前也处于设计或前期部署中,例如针对家庭与手持设备及地面/卫星标准(DVB-T、DVB-H、DMB)的高清 DVD(蓝光/HD-DVD)和数字视频广播、高清视频电话、数码相机以及IP机顶盒。由于手持终端计算能力的提高以及电池技术与高速无线连接的发展,终产品的移动性与集成性也在不断提高。

  频压缩是所有令人振奋的、新型视频产品的重要动力。压缩-解压(编解码)算法可以实现数字视频的存储与传输。典型的编解码器要么采用行业标准,如 MPEG2、MPEG4、H.264/AVC 与 AVS,要么采用专有算法,如 On2、Real Video、Nancy与Windows Media Video(WMV)等。编解码技术在过去十年中不断改进。的编解码技术(H.264/AVC与VC-1)代表着第三代视频压缩技术。这两种编解码技术利用如可编程DSP与ASIC等低成本IC的处理能力,都能够达到极高的压缩比。不过,为具体应用选择正确的编解码器并优化其实时处理仍然是一项巨大的挑战。的设计必须权衡压缩效率及可用的计算能力。此外,如何在计算能力有限的情况下获得压缩效率也是一门大学问。

  本文我们要讨论的就是关于视频压缩技术的一些问题。首先概述视频编码的主要概念,同时介绍传统压缩标准。然后我们重点介绍其中包括 H.264/AVC、WMV9/VC-1与AVS 等在内的编解码技术的功能,此外,还将深入探讨压缩能力与复杂性之间的权衡。,讨论市场中可能会影响主流视频编解码器未来的实时处理与主要趋势。

  2  视频压缩挑战

  数字视频的主要挑战在于原始或未压缩的视频需要存储或传输大量数据。例如,标准清晰度的NTSC视频的数字化一般是每秒30帧速率,采用 4:2:2 YcrCb 及 720(480,其要求超过 165Mbps 的数据速率。保存 90 分钟的视频需要110GB空间,或者说超过标准DVD-R存储容量的25倍。即使是视频流应用中常用的低分辨率视频也需要超过 36.5Mbps 的数据速率,这是ADSL或3G无线等宽带网络速度的许多倍。目前的宽带网可提供1~10Mbps的持续传输能力。显然数字视频的存储或传输需要采用压缩技术。

  视频压缩的目的是对数字视频进行编码——在保持视频质量的同时占用尽可能少的空间。编解码技术理论依据为信息理论的数学原理。不过,开发实用的编解码技术需要艺术性的精心考虑。

  3  压缩权衡

  在选择数字视频系统的编解码技术时需要考虑诸多因素。主要因素包括应用的视频质量要求、传输通道或存储介质所处的环境(速度、时延、错误特征)以及源内容的格式。同样重要的还有预期分辨率、目标比特率、色彩深度、每秒帧数以及内容和显示是逐行扫描还是隔行扫描。压缩通常需要在应用的视频质量要求与其他需求之间做出取舍。首先,用途是存储还是单播、多播、双向通信或广播?对于存储应用,到底有多少可用的存储容量以及存储时间需要多久?对于存储之外的应用,比特率是多少?对于双向视频通信,时延容差或容许的端到端系统延迟是多少?如果不是双向通信,内容需要在脱机状态提前完成编码还是需要实时编码?网络或存储介质的容错能力如何?根据基本目标应用,不同压缩标准以不同方式处理这些问题的权衡。

  另一方面是需要权衡编解码实时处理的成本。如H.264/AVC或WMV9/VC-1等能够实现较高压缩比的新算法需要更高的处理能力,这会影响编解码器件的成本、系统功耗以及系统内存。

  4  标准化机构

  在视频编解码技术定义方面有两大标准机构。国际电信联盟(ITU)致力于电信应用,已经开发了用于低比特率视频电话的 H.26x标准,其中包括 H.261、H.262、H.263与 H.264;国际标准化组织(ISO)主要针对消费类应用,已经针对运动图像压缩定义了MPEG标准。MPEG标准包括 MPEG1 、MPEG2 与 MPEG4。图1说明了视频编解码标准的发展历程。

  MPEG与ISO根据基本目标应用往往做出稍有不同的取舍。有时它们也会开展合作,如:联合视频小组(JVT),该小组定义了 H.264 编解码技术,这种技术在 MPEG 系列中又被称为 MPEG4-Part 10 或 MPEG4 视频编解码 (AVC)。我们在本文中将这种联合标准称为 H.264/AVC。同样,H.262对应 MPEG2,而 H.263 基本规范类(Baseline Profile)技术在原理方面与MPEG4简单类(Simple Profile)编解码技术存在较多重复。

  标准对编解码技术的普及至关重要。出于规模经济原因,用户根据可承受的标准寻找相应产品。由于能够保障厂商之间的互操作性,业界乐意在标准方面进行投资。而由于自己的内容可以获得较长的生命周期及广泛的需求,内容提供商也对标准青睐有加。尽管几乎所有视频标准都是针对少数特定应用的,但是在能够适用的情况下,它们在其他应用中也能发挥优势。

  图1:ITU 与 MPEG 标准的发展历程

  为了实现更好的压缩及获得新的市场机遇,ITU与MPEG一直在不断发展压缩技术和开发新标准。中国近开发了一种称为 AVS 的国家视频编码标准,我们在后面也会做一介绍。目前正在开发的标准包括 ITU/MPEG 联合可扩展视频编码 (Joint Scalable Video Coding)(对 H264/ AVC 的修订)和MPEG 多视角视频编码(Multi-view Video Coding)。另外,为了满足新的应用需求,现有标准也在不断发展。例如,H.264近定义了一种称为高拓展 (Fidelity Range Extensions)的新模式,以满足新的市场需求,如数字编辑、HD-DVD 与无损编码等。

  除了ITU 与ISO开发的行业标准以外,还出现了几种专用于因特网流媒体应用、广受欢迎的专有解决方案,其中包括 Real Networks Real Video (RV10)、Microsoft Windows Media Video 9 (WMV9) 系列、ON2 VP6 以及 Nancy。由于这些格式在内容中得到了广泛应用,因此专有编解码技术可以成为业界标准。2003年9月,微软公司向电影与电视工程师学会(SMPTE)提议在该机构的支持下实现 WMV9 位流与语法的标准化。该提议得到了采纳,现在 WMV9已经被SMPTE作为VC-1实现标准化。

  5  视频编码原理

  我们感兴趣的所有视频标准都采用基于模块的处理方式。每个宏模块一般包含4个8(8的光度块和2个8(8的色度块(4:2:0 色度格式)。视频编码基于运动补偿预测(MC)原理错误!未找到引用源。,变换与量化及熵编码。图 2 说明的是一种典型的、基于运动补偿的视频编解码技术。在运动补偿中,通过预测与编码的视频帧处于同一区域的视频帧中各宏模块的像素来实现压缩。例如,背景区域通常在各帧之间保持不变,因此不需要在每个帧中重新传输。运动估计(ME)是确定当前帧——即与它相似的参考帧的16(16区域中每个MB 的过程。ME 通常是视频压缩中消耗性能的功能。有关当前帧中各模块相似区域相对位置的信息("运动矢量")被发送至解码器。

  MC之后的残差部分分为8(8的模块,各模块综合利用变换编码、量化编码与可变长度编码技术进行编码。变换编码(如:离散余弦变换或 DCT" target="_blank">DCT)利用残差信号中的空间冗余。量化编码可以消除感知冗余 (perceptual redundancy)并且降低编码残差信号所需要的数据量。可变长度编码利用残差系数的统计性质。通过 MC 进行的冗余消除过程在解码器中以相反过程进行,来自参考帧的预测数据与编码后的残差数据结合在一起产生对原始视频帧的再现。

  图 2:标准运动补偿视频编码

  在视频编解码器中,单个帧可以采用三个模式中的一个进行编码 —— 即 I、P 或 B 帧模式(见图 3)。几个称为 Intra(I) 的帧单独编码,无需参考任何其他帧(无运动补偿)。某些帧可以利用 MC 编码,以前一个帧为参考(前向预测)。这些帧称为预测帧 (P)。

  B帧或双向预测帧通过之前的帧以及当前帧的后续帧进行预测。B 帧的优势是能够匹配堵塞在采用前向预测的上一帧中的背景区域。双向预测通过平衡前向及后向预测可以降低噪声。在编码器中采用这种功能会要求更多处理量,因为必须同时针对前向及后向预测执行 ME,而这会明显使运动估计计算需求加倍。为了保存两个参考帧,编码器与解码器都需要更多内存。B 帧工具需要更复杂的数据流,因为相对采集及显示顺序而言,帧不按顺序解码。这个特点会增加时延,因此不适合实时性较高的应用。B 帧不用于预测,因此可以针对某些应用进行取舍。例如,在低帧速应用中可以跳过它们而不会影响随后 I 与 P 帧的解码。

  图3:I、P 与 B 帧间预测图示

  6  传统视频编码标准

  H.261

  ITU编制的H.261标准是个主流视频压缩标准。H.261标准是为ISDN设计,主要针对实时编码和解码设计,压缩和解压缩的信号延时不超过150ms,码率px64kbps(p=1~30)。

  H.261标准主要采用运动补偿的帧间预测、DCT变换、自适应量化、熵编码等压缩技术。 只有I帧和P帧,没有B帧,运动估计只到像素级。支持两种图像扫描格式:QCIF和CIF。

  基于标准块的编码终产生模块化视频。H.261标准利用环路滤波避免这种现象。在模块边缘采用的简单2D FIR滤波器用于平滑参考帧中的量化效应。必须同时在编码器及解码器中地对每个比特应用上述滤波。

  MJPEG

  MJPEG(Motion JPEG)压缩技术,主要是基于静态视频压缩发展起来的技术,它的主要特点是基本不考虑视频流中不同帧之间的变化,只单独对某一帧进行压缩。   MJPEG压缩技术可以获取清晰度很高的视频图像,可以动态调整帧率、分辨率。但由于没有考虑到帧间变化,造成大量冗余信息被重复存储,因此单帧视频的占用空间较大,目前流行的MJPEG技术的也只能做到3K字节/帧,通常要8~20K!

  MPEG-1/2

  MPEG-1标准用于数字存储体上活动图像及其伴音的编码,其数码率为1.5Mb/s。 MPEG-1的视频原理框图和H.261的相似。

  MPEG-1视频压缩技术的特点:1. 随机存取;2. 快速正向/逆向搜索;3 .逆向重播;4. 视听同步;5. 容错性;6. 编/解码延迟。MPEG-1视频压缩策略:为了提高压缩比,帧内/帧间图像数据压缩技术必须同时使用。帧内压缩算法与JPEG压缩算法大致相同,采用基于DCT的变换编码技术,用以减少空域冗余信息。帧间压缩算法,采用预测法和插补法。预测误差可在通过DCT变换编码处理,进一步压缩。帧间编码技术可减少时间轴方向的冗余信息。

  MPEG-2被称为“21世纪的电视标准”,它在MPEG-1的基础上作了许多重要的扩展和改进,但基本算法和MPEG-1相同。

  H.263

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

  H.263标准是甚低码率的图像编码国际标准,它一方面以H.261为基础,以混合编码为,其基本原理框图和H.261十分相似,原始数据和码流组织也相似;另一方面,H.263也吸收了MPEG等其它一些国际标准中有效、合理的部分,如:半像素的运动估计、PB帧预测等,使它性能优于H.261。

  H.263使用的位率可小于64Kb/s,且传输比特率可不固定(变码率)。H.263支持多种分辨率: SQCIF(128x96)、 QCIF、CIF、4CIF、16CIF。

  与H.261和H.263相关的国际标准;

  与H.261有关的国际标准;

  H.320:窄带可视电话系统和终端设备;

  H.221:视听电信业务中64~1 920Kb/s信道的帧结构;

  H.230:视听系统的帧同步控制和指示信号;

  H.242:使用直到2Mb/s数字信道的视听终端的系统。

  与H.263有关的国际标准;

  H.324:甚低码率多媒体通信终端设备;

  H.223:甚低码率多媒体通信复合协议;

  H.245:多媒体通信控制协议;

  G.723.1.1:传输速率为5.3Kb/s和6.3Kb/s的语音编码器。

  JVT

  新一代的视频压缩标准JVT是由ISO/IEC MPEG和ITU-T VCEG成立的联合视频工作组(Joint Video Team),致力于新一代数字视频压缩标准的制定。

  JVT标准在ISO/IEC中的正式名称为:MPEG-4 AVC(part10)标准;在ITU-T中的名称:H.264(早期被称为H.26L)

  MPEG-4

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

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

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

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

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

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

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

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

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

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

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

  MPEG-4标准并非是MPEG-2的替代品,它着眼于不同的应用领域。MPEG-4的制定初衷主要针对视频会议、可视电话超低比特率压缩(小于64Kb/s)的需求。在制定过程中,MPEG组织深深感受到人们对媒体信息,特别是对视频信息的需求由播放型转向基于内容的访问、检索和操作。

  MPEG-4与前面提到的JPEG、MPEG-1/2有很大的不同,它为多媒体数据压缩编码提供了更为广阔的平台,它定义的是一种格式、一种框架,而不是具体算法,它希望建立一种更自由的通信与开发环境。于是MPEG-4新的目标就是定义为:支持多种多媒体的应用,特别是多媒体信息基于内容的检索和访问,可根据不同的应用需求,现场配置解码器。编码系统也是开放的,可随时加入新的有效的算法模块。应用范围包括实时视听通信、多媒体通信、远地监测/监视、VOD、家庭购物/娱乐等。

  工具与压缩增益

  当我们查看 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  H.264/ MPEG4-AVC

  从简单来说H.264就是一种视频编码技术,与微软的WMV9都属于同一种技术也就是压缩动态图像数据的“编解码器”程序。

  一般来说,如果动态图像数据未经压缩就使用的话,数据量非常大,容易造成通信线路故障及数据存储容量紧张。因此,在发送动态图像时、或者把影像内容保存在DVD上时、以及使用存储介质容量较小的数码相机或相机手机拍摄映像时,就必须使用编解码器。虽然编解码器有许多种类,但DVD-Video与微波数字电视等使用的主要是MPEG2,数码相机等摄像时主要使用MPEG4。

  既然作为压缩视频编码技术,H.264的作用对视频的压缩了。我们熟悉的MPEG2也就是常用的DVD视频编码技术已经比较落后。

  对于希望看到的HDTV的节目如果播放时间在2小时左右的话,使用MPEG2只能压缩至30GB,而使用H.264、WMV9这样的高压缩率编解码器,在画质丝毫不降的前提下可压缩到15GB以下。   上面的例子可以看出H.264的技术优势了,一般来说H.264的数据压缩率在MPEG2的2倍以上、MPEG4的1.5倍以上。从理论上来说,在相同画质、相同容量的情况下,可比目前的DVD光盘多保存2倍以上时间的影像。有望作为电影与音乐会等映像内容与便携设备的编解码器广泛使用。预计支持该技术的产品与服务将于2004年内问世。

  大家是否都能记得当年的视频解压卡,也就是我们说的DVD/VCD解压缩卡,这个东西的原理很简单,就是板卡上安装了DSP芯片,而这个芯片的功能就是用来针对特殊格式的编码进行解压缩,当后来显卡的性能逐渐增强可以满足视频播放需要的时候,视频解压缩卡也就消失的不见了。

  而ATI的做法就是的R520 VPU内就包含了H.264解码技术,这种特殊的算法直接交给显卡VPU来运算,而不是完全交给CPU处理,这样就可以解放出CPU进行更多其他复杂的运算。   H.264集中了以往标准的优点,在许多领域都得到突破性进展,使得它获得比以往标准好得多整体性能:

  - 和H.263+和MPEG-4 SP相比多可节省50%的码率,使存储容量大大降低;

  - H.264在不同分辨率、不同码率下都能提供较高的视频质量;

  - 采用“网络友善”的结构和语法,使其更有利于网络传输。

  H.264采用简洁设计,使它比MPEG4更容易推广,更容易在视频会议、视频电话中实现,更容易实现互连互通,可以简便地和G.729等低比特率语音压缩组成一个完整的系统。

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

  H.264/AVC 在压缩效率方面取得了巨大突破,一般情况下达到 MPEG-2及 MPEG-4简化类压缩效率的大约 2 倍。在 JVT进行的正式测试中,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 级滤波器进行更新。

  整数变换:采用 DCT 的早期标准必须为逆变换的固点实施来定义舍入误差的容差范围。编码器与解码器之间的 IDCT 失配造成的漂移是质量损失的根源。H.264 利用整数 4(4 空域变换解决了这一问题——这种变换是 DCT 的近似值。4(4 的小区块还有助于减少阻塞与振铃失真。

  量化与变换系数扫描:变换系数通过标量量化方式得到量化,不产生加大的死区。与之前的标准类似,每个 MB 都可选择不同的量化步长,不过步长以大约 12.5%的复合速率增加,而不是固定递增。同时,更精细的量化步长还可以用于色度成分,尤其是在粗劣量化光度系数的情况下。

  熵编码:与根据所涉及的数据类型提供多个静态 VLC 表的先前标准不同,H.264 针对变换系数采用上下文自适应 VLC,同时针对所有其他符号采用统一的 VLC (Universal VLC) 方法。主类还支持新的上下文自适应二进制算术编码器 (CABAC)。CAVLC 优于以前的 VLC 实施,不过成本却比VLC高。

  加权预测:它利用前向和后向预测的加权总和建立对双向内插宏模块的预测,这样可以提高场景变化时的编码效率,尤其是在衰落情况下。

  保真度范围扩展

  2004 年 7 月,H.264 标准增加了称为保真度范围扩展(FRExt)的新修订。这次扩展在H.264中添加了一整套工具,而且允许采用附加的色域、视频格式和位深度。另外还增加了对无损帧间编码与立体显示视频的支持。FRExt 修订版在 H.264中引入了4种新类,即:

  * High Profile (HP):用于标准 4:2:0色度采样,每分量8位彩色。

  * High 10 Profile (Hi10P):用于更高清晰度视频显示的标准4:2:0 色度采样,10位彩色。

  * High 4:2:2 10 bit color profile (H422P):用于源编辑功能。

  * High 4:4:4 12 bit color profile (H444P):品质的源编辑与色彩保真度,支持视频区域的无损编码以及与新的整数色域变换(从RGB到YUV及黑色)。

  在新的应用领域中,H.264 HP 对广播与 DVD 尤为有利。某些试验显示出 H.264 HP的性能比MPEG2提高了3倍。下面介绍 H.264 HP中引入的主要附加工具。

  自适应残差块大小与整数 8变换:用于变换编码的残差块可以在8与 4之间切换。引入了用于8块的新16位整数变换。较小的块仍然可以采用以前的4变换。

  8亮度帧内预测:增加了8种模式,除之前的16和4块以外,使亮度内部宏模块还能够对8块进行帧内预测。

  量化加权:用于量化8变换系数的新量化加权矩阵。

  单色:支持黑/白视频编码。

  8  Windows Media Video 9 /VC-1

  Windows Media 是提供网上音乐与视频预订服务与视频流的主要格式。微软公司于 2002 年推出了 Windows Media Video 9 系列编解码器,实现了视频压缩效率的显着提高。WMV9 另外还作为 VC-1 在 SMPTE 中实现了标准化。

  与H.264 类似,它包含许多编码工具,不过种类有所不同。除了支持半象素双线性插值之外,WMV9 的 ME 还允许 1/4 象素双立方插值(采用 4 抽头近似双立方滤波器)。另外它还包含与 H.264 类似的环内去块滤波器,不过滤波器和决策细节不同。其他部分功能包括:

  多个VLC表:WMV9 主类包含多套针对不同类型内容进行优化的 VLC 表。这些表可以在帧级切换,以适应输入视频的特征。

  DCT/IDCT变换切换:WMV9 支持多种 DCT 块大小,包括:8(8、8(4、4(8 和 4(4。其采用专用的 16 位整数变换与逆变换。

  量化:采用一般基于步长的量化和死区量化。死区量化可以在低比特率时实现显着节省。

  另一个有趣的功能是能够在涉及衰落的情况下采用明确的衰落补偿。它可以提高这些情况下运动补偿的质量。

  WMV9/VC-1 在性能方面与 MPEG-2 和 MPEG-4 简化类相比有显着提高,相对于 H.264,其知觉质量感受也非常[13]。不过,在提供相似压缩效率情况下,WMV9/VC-1 与 H.264 主类相比复杂性要求较低。WMV9 广泛应用于个人电脑环境,而且已经成为互联网消费设备中的重要技术。WMV9/VC-1 在好莱坞和独立制片业正日益受宠,多部电影的发行开始采用WMV9/VC-1 进行编码,以实现 PC DVD 上的高清晰播放。此外,WMV9 已经作为新兴的 HD-DVD 格式压缩选项实现了标准化。

  9  AVS

  2002年,中国信息产业部成立的音视频技术标准(AVS)工作组宣布准备针对移动多媒体、广播、DVD等应用编写一份国家标准。该视频标准称为 AVS [14],由两个相关部分组成 - 针对移动视频应用的 AVS-M 和针对广播与 DVD 的 AVS1.0。AVS 标准与 H.264 相似。

  AVS1.0同时支持隔行和逐行扫描模式。AVS中P帧可以利用2帧的前向参考帧,同时允许 B 帧采用前后各一个帧。在隔行模式下,4 个场可以用作参考。可以仅在帧级执行隔行模式中的帧/场编码,这一点与 H.264 不同,其中允许此选项的 MB 级自适应。AVS 具有与 H.264相似的环路滤波器,可以在帧级关闭。另外,B 帧还无需环路滤波器。帧内预测是以 8块为单位进行。MC 允许对亮度块进行1/4象素补偿。ME的块大小可以是16或8。变换方式是基于16位的8整数变换(与WMV9相似)。VLC 是基于上下文自适应 2D 运行/级别编码。采用 4 个不同的 Exp-Golomb 编码。用于每个已量化系数的编码自适应到相同8块中前面的符号。由于 Exp-Golomb 表是参数化的表,因此表较小。用于逐行视频序列的 AVS 1.0 的视频质量在相同比特率时稍逊于 H.264 主类。

  AVS-M 主要针对移动视频应用,与 H.264 基本规范存在交叉。它仅支持逐行视频、I与P帧,不支持 B 帧。主要 AVS-M 编码工具包括基于4块的帧内预测、1/4 象素运动补偿、整数变换与量化、上下文自适应 VLC 以及高度简化的环路滤波器。与H.264基本规范相似,AVS-M 中的运动矢量块大小降至4,因此 MB 可拥有多达 16 个运动矢量。采用多帧预测,但仅支持 2 个参考帧。此外,AVS-M 中还定义了 H.264 HRD/SEI 消息的子集。AVS-M的编码频率约为 0.3dB,在相同设置下稍逊于 H.264 基本规范,而解码器的复杂性却降低了大约20%。

  10  各编解码器的功能与工具对比

  表1概述我们介绍的视频标准采用的主要压缩功能与工具。

  表 1:标准编解码器中的主要压缩功能

  11  市场趋势与应用

  视频压缩正在市场中催生数量日益增长的数字视频产品。采用数字视频压缩技术的终端设备范围广泛,从电池驱动的便携设备到高性能基础设备。表 2 概述部分应用、主要需求、采用的典型视频编解码器及其在这些应用中的发展趋势。

  表 2:标准应用采用的典型编解码器与发展趋势

  12  实时实现

  数字视频的处理器解决方案取决于具体的目标应用。TI 拥有可支持多种标准并满足主要设计及系统约束需求的各种 DSP。TI 的解决方案范围广泛,其中包括低功耗 c5000 DSP 与移动OMAP 应用处理器、高性能 c6000 DSP 与视频优化的高性能 DM64x 和 DM644x 数字媒体处理器。目前倍受关注的处理器之一是未面世的 DM6446,我们将在本节中进行介绍。

  德州仪器(TI)的DM系列处理器专门针对高端视频系统的需求而设计。该系列的处理器是功能强大的 DM6446[15],其采用了 TI 的达芬奇 (DaVinci) 技术[16]。DM6446 的双内核架构兼具 DSP 和 RISC 技术优势,集成了时钟频率达 594MHz 的 c64x+ DSP 内核与 ARM926EJ-S内核。新一代 c64x+ DSP 是 TMS320C6000(tm)DSP平台中性能的定点 DSP,并建立在 TI 开发的第二代高性能 VLIW 架构的增强版之上。c64x+ 与前代 C6000 DSP 平台代码兼容。DM644x 等可编程数字媒体处理器可以支持所有的现有业界标准以及采用单个可编程数字媒体处理器的专有视频格式。DM6446 还具有片上内存,包括一个 2 级高速缓存和众多具有视频专用功能的外设。DM6446 还包含一种视频/影像协处理器 (VICP),用于减轻相关算法(如:JPEG、H.264、MPEG4 与 VC-1)的 DSP 内核繁重的视频与影像处理负担,从而使更多的 DSP MIPS 能够用于视频后处理或者其他并行运行等功能。

  表3说明 DM6446 在各种标准下保持 D1 (720(480) 分辨率大约所需要的频率。

  表3:单片TI DM6446 平台处理 D 1 30fps(720(480)、YUV 4:2:0 性能所需要频率典型值。

  表解码器性能数据是针对差情况下的比特流。解码器性能随所采用功能组合的变化而变化。上述例子中假定为高品质的编码。DM6446 上的 c64x+ 可达到 594MHz 的时钟频率。

  其中要我们注意的是所显示的编码频率数据是根据现有/计划实施而得出的典型测试数据。另外,编码器负载随目标应用不同而存在显着差异。压缩标准规定需要的语法与可用的工具,不过许多算法结果取决于具体实施情况。主要变量包括:比特率控制算法、单通道与多通道编码、I/B/P 帧比率、运动搜索范围、运动搜索算法、以及选用的个别工具与模式。这种灵活性允许我们在计算负载和改进质量之间做出不同取舍。显然所有编码器都可以采用或高或低的频率实现不同的视频质量水平。

  13  结论

  随着技术的不断发展,越来越多的视频压缩标准可以针对具体终应用提供越来越高的压缩效率和越来越丰富的工具。另外,向网络化连接发展的趋势意味着许多产品越来越需要支持多种标准。多种标准和专有算法的流行也使我们难以选择单个标准,尤其是在硬件决策经常超前于产品部署的情况下。不仅如此,每个视频编码算法都提供丰富的工具与功能选择,以平衡压缩效率的复杂性。工具和功能的选择是与特定应用和用例息息相关的重复过程。由于必须支持的编解码器数量的增多以及针对具体解决方案和应用而对编解码器进行优化的选择范围更为广泛,因此在数字视频系统中采用灵活的媒体处理器是大势所趋。


  
上一篇:解析I/O并行口直接驱动LED显示
下一篇:浅谈Android游戏开发之详解SQLite存储

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料