视频压缩理论及其技术发展
2008-10-10
作者:高 韬1,赵建涛3,刘正光1,张
摘 要:简要介绍了视频压缩理论以及相关标准,并探讨了视频压缩编码的未来发展方向,最后介绍了视频压缩技术的硬件实现与发展。
关键词:视频压缩 视频技术 视频编码
利用人的视觉获取的信息称为视频信息,视频信息的表现形式是视频信号。一般而言,视频信号的信息量大,传输网络所需要的带宽相对较宽。例如,一路高清新电视信号,由于其信息量巨大,不压缩需1Gb/s。可见,视频信息虽然具有直观性﹑确定性等优越特点,但要传输包含视频信息的信号却需要较高的网络带宽,所以视频信号在传输前要先进行压缩编码,然后再在网络上进行传输。
目前,视频编码" title="视频编码">视频编码采用的方式一般分为基于波形的编码和基于内容的编码[1]。基于波形的编码采用了把预测编码和变换编码组合起来的基于块的混合编码方法。为了减少编码的复杂性,使视频编码的操作易于执行,采用混合编码方法时,首先把一幅图像分成固定大小的块,然后对块进行压缩编码处理。
基于内容的编码首先把视频帧分成对应于不同物体的区域,然后分别对其进行编码。具体来说,即对不同物体的形状﹑运动和纹理进行编码。在最简单的情况下,利用二维轮廓描述物体的形状;利用运动矢量描述其运动状态;而纹理则用颜色的波形进行描述。
视频压缩标准及其发展
ITU-T于1989年发布了第一个视频编码标准H.261,随后陆续发布了H.263﹑H.263+﹑H.263++等视频编码标准。ISO的下属运动图像专家组也发布了MPEG-1﹑MPEG-2﹑MPEG-4等数字电视压缩编码的国际标准。下面对这些标准进行简要介绍。
H.261标准主要应用于ISDN网上的视频会议,是第一个采用现代编码算法的通用视频标准,为以后众多标准提供了理论基础。H.261编码器的原理图如图1所示。

H.261的输入视频格式主要支持CIF和QCIF,只有按帧的工作方式。对于一个编码帧,分成16×16的宏块" title="宏块">宏块进行处理。对于每一个帧间编码的宏块,采用运动估计" title="运动估计">运动估计,运动估计范围为(-15,15),仅支持整像素运动估计。对于帧内编码宏块和对于帧间编码宏块的运动位移误差按8×8块进行DCT变换﹑量化﹑Z扫描和VLC编码。H.261采用两种量化器,对帧内编码的DCT直流系数用步长为8的均匀量化器进行量化,其他系数采用带死区的均匀量化器,量化器步长可以从2~62选择。
H.261的码流结构采用分层结构。从上到下依次是图片层﹑块组层﹑宏块层和块层。采用块组的目的是为了抵抗误码的传播,即当一个块组的数据丢失时并不影响下一个快组。宏块层包括宏块类型﹑运动矢量和CBP码等信息。块层包括具体的8×8块DCT变换系数。
H.263是为了支持低速率传输而制定的标准,主要面向低码率的视频应用,可以支持在电话线上传输可视电话和会议电视。由于公用电话网和无线网上的传输速率仍然有限,而且误码率较高,因此提出了H.263+和H.263++,以满足高压缩效率和强信道容错能力的要求。它们在提高编码效率的同时,提高了码流对有误码信道的容错能力。H.263标准提出了变块运动估计﹑多帧参考运动补偿等先进视频压缩技术,对日后提出的视频编码标准产生很大影响。
MPEG-1是为满足视频存储媒体的应用而提出的视频压缩标准。在典型的MCPC框架基础上应用了半像素的双向预测技术,与H.261相比具有更好的编码质量和更高的压缩比。
MPEG-2使用了场﹑帧联合的编码结构,支持高质量的音频编码和高分辨率图像。提供从广播级TV到HDTV的视频编码,并提供多种可分级编码模式。目前在高清晰电视领域有广泛的应用。
MPEG-4于1999年正式成为国际标准。与以前的标准相比,MPEG-4更加注重多媒体系统的交互性和灵活性。MPEG-4引入了基于对象﹑内容的编码技术,在理论上具有更高的压缩效率。但是对视频对象进行自动分割目前仍有较大困难,尚未实现真正的面向对象的编码技术。
H.264是ITU和ISO联合制定的一个新的视频编码标准,于2003年在国际上正式颁布。与以往的视频编码标准相比, H.264采用了很多新的技术,例如采用了7种不同的宏块分割方法,从而形成7种不同的帧间预测模式。H.264支持1/4像素精度的运动矢量并采用树状结构的运动补偿策略,每个宏块可进行分割和亚分割。H.264还支持多参考帧模式,即允许编码器使用多于一帧的先前帧用于运动估计,以降低帧间预测误差。此外H.264还引入了SI和SP图像编码类型,以支持视频流间切换。H.264还采用了帧内预测编码技术和4×4整数变换以及方块滤波技术来提高压缩比和图像质量。
H.264的提出是视频压缩编码领域的一个里程碑,其优越的压缩性能必将在数字广播电视﹑实时视频通信﹑视频流媒体传递等多个方面发挥重要作用。目前对H.264的研究与改进成为视频压缩学术界广泛研究的课题之一。
视频压缩未来发展方向
基于小波" title="小波">小波变换的视频压缩编码
小波压缩技术在消除DCT变换中所特有的方块化效应和飞蚊噪声方面有良好的率失真品质,所以基于小波的视频压缩研究一直在不断进行。基于小波的视频编码技术可以分为三类[2][3]:(1)空间域运动补偿的小波变换" title="小波变换">小波变换(MC-DWT);(2)小波域运动补偿(DWT-MC);(3)具有或者不具有运动估计的三维小波变换。不同的运动估计算法、量化方案和熵编码方法可应用于这三类编码技术的任何一类。
MC-DWT视频编码方案是在空间域进行运动估计和运动补偿来消除时间冗余,对其误差图像以及帧内图像采用小波变换进行编码消除空间冗余。与传统的基于DCT的混合编码的主要差别在于对补偿帧差的处理,它用整域小波变换代替分块DCT变换。块运动补偿技术影响视频编码性能,与其他运动补偿技术相比,采用重叠块运动补偿技术(OBMC)可以有效地消除方块效应,同时能够降低补偿帧差的能量,提高运动补偿效率,改善视频编码器的性能。因此近年来基于空域运动补偿的混合小波视频编码广泛采用OBMC技术。
DWT-MC视频编码方案是先使用整域小波变换消除空间冗余,再通过小波域的运动估计和运动补偿技术消除时间冗余,最后对变换域的补偿残差进行小波压缩编码。由于小波分解内在的多分辨结构,在小波域内很容易执行多分辨运动估计和运动补偿(MRMC),同传统的时域运动估计相比可以节省大量的搜索匹配时间。
具有或者不具有运动估计的三维小波变换编码方案根据是否具有运动估计可大致分为两类:纯三维小波变换(3DWC)和具有运动补偿的三维小波变换(MC-3DWC)。对于不具有运动估计的就是纯粹的三维小波变换,由帧内二维和帧间一维变换联合实现,因此这两部分实现的不同顺序就构成了两种三维小波变换的实现方法。第一种是先对各帧进行帧内二维小波变换,然后对变换后的结果进行时间轴上的一维小波变换;第二种方法则是先进行时间轴上的一维小波变换,然后再对变换后的各帧进行二维小波变换。三维小波变换编码算法中典型的有:Chang和Pearlman的3DEZW算法[4],Kim和Pearlman的3DSPIHT算法[5]以及Vass和Chai等人的3DSLCCA算法[6]。
总体来看,目前小波视频压缩技术远不及小波图像压缩技术成熟。小波视频压缩研究之所以滞后于小波图像压缩研究,不仅因为小波视频研究的进展有赖于小波图像的研究和信号维数的提高,还由于视频压缩的应用背景与图像压缩的应用背景有很大的不同。由于视频应用实时性的原因,视频压缩算法要对压缩算法的复杂度和压缩效率作综合考虑。实际上,推动小波视频压缩研究不断深入的主要技术因素有两个,一个是小波图像压缩技术研究,另一个是运动补偿技术研究。另外,不断激增的商业需求也在不断刺激小波视频压缩理论和应用研究的不断深入。
立体视频编码与多视点视频编码
立体视频编码是视频编码发展方向之一,它在平面信息外增加了深度的信息,数据量非常庞大。
立体视频编码也有两种类型的方法:第一种是基于波形的,它组合了运动补偿预测和位差补偿预测。所谓位差估计即在两幅不同的图像中寻找对应的点,对预测残差图像﹑位差和运动矢量进行编码。第二种是基于物体的,它直接对成像物的三维结构和运动进行编码,当物体结构简单时,可以获得非常高的压缩比。
多视角视频是由一个场景的不同视角的二维平面视频组成,除了每个视角视频在时间和空间上存在冗余之外,同一时间不同视角之间还存在冗余信息。多视角视频编码预测结构通常采用GoGOP预测结构。在GoGOP预测结构中,所有的GOP被分成两类:基本GOP和增强GOP。基本GOP中的图像只能参考当前GOP中的解码图像;而增强GOP中的图像既可以参考当前GOP中的解码图像,也可以参考相邻视角中GOP的解码图像。这种预测结构适用于低时延的随机访问,编码效率也比较高。
目前,针对立体视频编码,MPEG-2和H.264分别给出了参考方案。JVT针对多视点视频编码,提供了JMVM参考代码[7]。立体视频编码目前已经有实际应用,多视点视频编码由于算法复杂度高,目前还处于理论研究阶段。
视频压缩硬件实现及最新发展
视频压缩的硬件实现
视频压缩目前已经在许多产品中得到应用,包括DVD、数字电视、可视电话、互联网视频、拍照手机、PDA和摄像机等。不同的产品有不同的需求:帧的大小、帧速率、视频质量、位速率以及所采用的压缩标准等各不相同。目前实际应用中广泛采用的是H.263和MPEG-4压缩标准,本文分别对其典型实现方式进行介绍。
基于H.263协议的GD6829
GD6829是高度集成的单片视频编解码芯片。该芯片以纯硬件设计方式实现,符合ITU-T H.263协议标准,可支持高品质的运动图像在Internet中实时传输[9]。
为了达到高质量的视频编码和解码,GD6829采用了许多先进的技术及高性能的硬件,采用专用的模块实现运动预测、运动补偿、离散傅立叶变换(DCT)、反离散傅立叶变换(IDCT)、量化、反量化、Z-Z扫描、变长编解码(VLD)、智能帧率控制等,外部采用2M×16bit的SDRAM。目前GD6829支持图像在4种格式下编解码同步进行: QCIF、CIF、VGA和4CIF格式,其中QCIF、CIF格式下帧率可达100f/s,VGA、4CIF格式下帧率可达25f/s。GD6829的工作电压使用3.3V,I/O口兼容3.3V和5.0V,采用208引脚的PQFP封装。
视频输入采用CCIR-601或CCIR-656 YUV(8-bit)4:2:2逐行/隔行输入。支持QCIF(176×144)、QVGA(320×240)、CIF(352×288)、VGA(640×480)、4CIF(704×576)和D1(720×576)等视频分辨率格式。帧速率支持1~25f/s(4CIF、VGA、D1)或者1~100f/s(CIF,QVGA)。
GD6829内置PCI接口控制器,通过外部处理器支持USB2.0传输,支持8位/16位地址/数据的异步并行接口,通过外部处理器支持Ethernet输出。视频缓存:2M×32bit或4M×16bit PC1000 SDRAM。
基于GD6829的视频压缩硬件设计框图如图2所示。

视频输入可以使用数字CMOS摄像头或NTSC/PAL视频信号,经过一个视频转换器,从8位或16位的数据总线上以YcbCr 4:2:2的格式送给GD6829,输入的视频数据转换成QCIF、QVGA、CIF、4CIF或D1格式,再采用H.263协议对视频数据进行压缩。处理过的视频数据流经网络模块处理后进行传输。
基于MPEG-4协议的IME6400
INTIME公司的MPEG-4编码芯片IME6400是一款高性能的单片多通道MPEG-4数字压缩编码芯片,它支持多种编码模式和比特率控制,并提供了丰富的外围硬件接口[10]。芯片内部带有图像压缩硬核,外挂8MB SDRAM配合工作。其外部HOST接口有四种模式,由MODE引脚来决定。如果选用异步模式,则IME6400对输入的视频音频流进行压缩和复合,产生MPEG-4的系统流,然后经过输出端口大小为1KB的FIFO缓冲进行数据的输出。当FIFO满,其GPIO0脚就产生一个下降沿的中断通知主机读取FIFO中的数据,主机通过读IME6400 HOST端口的EncodedStream寄存器完成对数据的读取,外部主机通过写一个不同的值到USER4寄存器来通知IME6400数据传输已完成。其系统结构图如图3所示。

应用IME6400硬件设计的MPEG-4压缩和嵌入式系统可以使监控系统的性能大大提高,主要表现在:录像和预览同样清晰的全动态码率最大可控制在200MB/h;压缩速度更快,实时流播放时无滞后延迟,最小延迟可以小于1s;输出视频流的画面可达720×480(30f/s)或720×576(25f/s)。
视频压缩的硬件实现发展趋势
视频压缩的硬件实现最初采用可编程DSP或现成芯片(ASSP)的方法。可编程DSP的优势在于具有较好的适应性。当有新的要求时,可通过软件设计进行修改,然后再移植到DSP。缺点在于执行速度低于现成芯片。现成芯片视频处理速度高,但是适应性差,只支持单一的压缩方式,当有新的要求时,要重新设计芯片,时间开销和花费都较大。
目前,新的H.264压缩技术逐渐成为主流。像H.264这样的高复杂度并且不断改进的视频压缩算法,采用单纯的DSP或者设计专用芯片实现起来都十分困难。较为有效的方法是采用DSP+FPGA实现。如图4所示。

其中DSP用于帧内预测﹑变换﹑量化﹑码率控制和反量化等操作。这些操作易于编程实现,并且可编程DSP还提供了优化策略。视频压缩中最耗时的运动估计和运动补偿以及最终的熵编码通过设计FPGA来实现,提高压缩编码速度。通过DSP+FPGA,可实现复杂的编码操作,并具有良好的实时性,在实际中得到广泛应用。
视频处理新技术:达芬奇技术
尽管视频压缩在实际中有广泛的应用前景,但对开发人员而言是一项艰巨的任务。因为实施数字视频是极其复杂的过程。在着手开发算法之前,开发人员必须先弄懂不断修改的多媒体标准。不仅如此,现有的数字视频实施往往涉及特定平台,而且开发人员必须在手工代码调试方面进行大量投入。近期TI公司推出的达芬奇技术使开发人员能够在无需任何DSP代码编程的情况下也能为应用引入数字视频功能。
达芬奇技术充分利用了数字信号处理与集成电路专业技术来提供片上系统(SoC),这种系统针对灵活的数字视频应用而进行了精心优化,拥有先进的性能并集成了可编程数字信号处理器(DSP)内核、ARM处理器以及视频加速协处理器。凭借高效的处理能力、存储器、I/O 带宽、平衡的内部互连以及专用外设组合,基于达芬奇技术的SoC能够以最低的成本为视频应用提供理想的核心动力。
目前,TI公司提供的最新基于达芬奇技术的多媒体芯片TMS320C6455,具有2MB的L2内存,工作频率1GHz,是目前较先进的视频图像多媒体器件。基于TMS320C6455的高速视频编解码架构如图5所示。

其中一片TMS320C6455专门用于运动估计和运动补偿,另外一片用于分块﹑DCT变换﹑熵编码和量化等操作,这样做极大提高了视频编码速度[8]。TMS320DM642用于用户端的视频解码操作,最后通过THS8200形成最终图像。
本文简要介绍了视频压缩理论以及相关标准,并探讨了视频压缩编码的未来发展方向,最后介绍了视频压缩技术的硬件实现。使读者对视频压缩编码有一定的了解,并有助于进一步的深入研究。
参考文献
[1] 毕厚杰.新一代视频压缩编码标准—H.264/AVC.北京:人民邮电出版社,2005.
[2] WANG Y,OSTERMANN J,ZHANG Y Q.Video processing and Communications.Prentice Hall,USA.2002:284-285.
[3] 张宗平,刘贵忠.基于小波的视频图像压缩研究进展.电子学报,2002,30(6):883-889.
[4] CHANG Y,PEARLMAN W A.Three-dimensional subband coding using the zero-tree method[J].Proc.SPIE,1997:1302-1312.
[5] KIM B J,PEARLMAN W A.An embedded wavelet video coder using three-dimensional set partitioning in hierarchical trees(SPIHT)[J].Proc.Data Compression Conf,1997:251-260.
[6] Vass J,Chai B B,et al.3DSLCCA a highly scalable very low bit rate software-only wavelet video codec Proc[J].IEEE Workshop Multimedia Signal Processing,Los Angeles CA,1998:474-479.
[7] VETRO A,SU Y,KIMATA H,et al.Joint multiview video model JMVM 2.0.ITU-T and ISO/IEC Joint Video Team,
Document JVTU207,Nov.2006,http://ftp3.itu.int/av-arch/ jvt-site/2006 10 Hangzhou/JVT-U207.zip.
[8] DSP分区视频编码白皮书.TI公司.2007.
[9] Single Chip H.263 Encoder Support PCI/Ethernet/USB Output.杭州高特信息技术有限公司.
[10] IME6400 firmware manual.Intime Corporation.2003.
