首页>>>技术>>>视像通信  视像通信产品

 

视频和图像编码技术进展探讨

无线、广域、宽带网上

钟玉琢 2002/05/27

  钟玉琢

  现任清华大学计算机系教授

  计算机应用学科博士生导师

  兼任中国计算机学会多媒体专委会主任

  北京大学计算机系兼职教授

  清华大学人机交互与媒体集成研究所副所长

  钟玉琢教授长期从事机器人视觉技术,智能计算机声、文、图一体化智能接口以及多媒体计算机技术等方面的教学和科研工作,多年来取得多项研究成果,曾荣获原机电部科技进步一等奖和二等奖、原教委科技进步二等奖、原国家科委863高技术研究发展计划“七五”和“八五”期间优秀个人奖和先进工作者奖、清华大学先进工作者奖以及教育工作者优秀奖。现在正在承担国家计委的“数字家电网络控制平台”,863智能计算机的多媒体数据压缩编码算法与实现技术,国家基金委的分布式层次结构视频服务器的关键技术研究等课题。

  目前正在研究的课题还有:MPEG-4和MPEG-7中的分割技术及基于内容检索技术;网络教学及远程教学中的课件点播技术(COD-Course Ware On Demand)。

  数字视频和图像压缩编码技术的研究,已历经半个世纪,在理论和工程上都取得了很多成果。进入20世纪90年代,在ISO和ITU等国际组织的协调下,对视频和图像编码的成果进行了收集、整理、综合和加工,制定了几个通用的压缩编码标准,包括适用于二值图像的JBIG、用于连续灰度和彩色静止图像的JPEG、用于64K视频传输的H.261、面向1.5M数字视频和音频传输及存储的MPEG-1、面向高品质数字视频和音频传输及存储的MPEG-2,以及适于低码率视频编码的H.263。这些标准的算法主要由四类技术混合构成,即运动补偿、正交变换、量化和熵编码,代表了20世纪90年代中前期视频和图像编码的研究水平。

  20世纪90年代中后期,Internet迅猛发展,无线通信也迅速在全球普及,因此人们开始有了在网络上传输视频和图像的愿望,于是视频和图像编码的目标也就从传统的面向存储变为现在的面向传输。在网络上传输视频和图像等多媒体信息除了要解决误码问题之外,最大的挑战在于用户可以获得的带宽在不停地变化。这主要是因为网络的异构性,即各子网的网络资源,包括处理能力、带宽、存储和拥塞控制策略等分布得很不平均,用户通过不同的通信子网传输数据会体验到非常不同的实际传输吞吐量、数据丢失率、传输延迟;另外由于现在的网络没有提供资源预留一类的协议保障,当网络拥塞发生时,多媒体数据流的有效传输带宽会突然降低,影响用户接收多媒体信息的质量和速度,甚至造成无法观看。

  为了适应网络带宽的变化,可扩展性编码的思想被提了出来。可扩展性编码就是将多媒体数据压缩编码成多个流,其中一个可以独立解码,它称为基本层码流;其它的码流称为增强层,它们不可以单独解码,而只能与基本层和它以前的增强层联合在一起解码,用来提高观看效果。可扩展性编码主要分为时域可扩展性编码、空域可扩展性编码和质量可扩展性编码。在这些策略中,编好的码流可以按层为单位截断,具有一定的网络带宽适应能力。

  新一代的视听对象编码的国际标准MPEG-4中的精细可扩展性(Fine Granular Scalable,FGS)视频编码更提供了完全可扩展的增强层码流,它可以在任何地点截断,具有极强的网络带宽适应能力。后来又提出了渐进的精细可扩展性(Progressive Fine Granular Scalable,PFGS)的编码方案,它保留了FGS的所有优良性能,并且把编码效率提高了将近1dB。

  最新的静止图像编码国际标准JPEG2000,它利用小波变换、位平面编码和基于上下文的算编码等一系列新技术,将图像编码的效率提高了一大步(同等质量下,JPEG2000的码流尺寸只有JPEGA的一半),并且提供可扩展性的码流。

  在当前的网络时代,视频和图像编码的目标从产生适合存储的固定尺寸的码流发展到产生适合一定的传输码率范围的可扩展性码流,因此今后的多媒体数据编码必然要支持可扩展性。当然,可扩展性编码现在还是一个很不成熟的领域,与不具有可扩展性的单层编码相比,它的编码效率还是比较低的(例如FGS的编码效率比MPEG-4非可扩展性编码低2~3dB)。如何将可扩展性编码的效率尽可能地逼近非可扩展性编码,是一个值得继续研究的问题。

分层可扩展性编码

  (Layered Scalable Coding)

  关于分层可扩展性编码的研究可以追溯到10年前,目前它已经被许多现行的国际压缩标准接纳,例如H.263+和MPEG-4。分层可扩展编码主要有三种:时域可扩展性、空域可扩展性和质量可扩展性。其中质量可扩展性也称为PSNR可扩展性,原因是视频质量通常用峰值信噪比(PSNR)来衡量。

  1.时域可扩展性(Temporal Scalability)

  时域可扩展性编码通常是通过在码流中添加B帧来实现的。B帧是使用与它在时间上最近邻的前后两个I帧或P帧来预测的,而自己并不作为任何其它帧的参考图像,因此在传输中丢弃B帧并不影响其它帧的质量,而仅仅降低帧率。图1是MPEG-4的时域可扩展性编码的示意图。

  图1 MPEG-4中的时域可扩展性编码

  2.空域可扩展性(Spatial Scalability)

  空域可扩展性编码是通过为视频中的每一帧都创建多分辨率的表示来实现的。当进行空域可扩展性编码时,原始视频首先通过下采样得到低分辨率的视频,编码得到基本层码流;然后编码原始视频和基本层视频的差生成增强层码流。不过空域可扩展性编码在视频传输中应用较少,因为任何一个用户都不能接收在前一个GOP中观看高分辨率视频,而到下一个GOP只能获得低分辨率视频。因此即使增强层在传输中被丢弃,客户端的解码器也要对低分辨率的图像进行插值,这实际上是一种质量可扩展性的特殊情形。图2为空域可扩展性编码的示意图。

  图2 空域可扩展性编码

  3.质量可扩展性(PSNR Scalability)

  质量可扩展性编码的思想和空域可扩展性编码很类似,只不过这里不需对原始视频进行下采样,而是进行一次很粗的量化形成基本层码流。然后对原始视频和基本层视频的差再进行一次量化,生成增强层码流;如果有多个增强层码流则重复上面的过程。图3是质量可扩展性编码的示意图。

  图3 质量可扩展性编码

适合网络传输的编码方案

  从以上可以看出,传统的视频编码方法不适合网络传输,其根本原因是它们的目标是将视频压缩成为适合一个或几个固定码率的码流,也就是说传统的视频编码是面向存储的。而由于网络的异构性和缺乏QoS保证,带宽在一个很大的范围内变化,因此面向网络传输的视频编码的目标是将视频压缩成为适合一个码率的范围。

  MPEG组织看到了网络传输对视频编码的新要求,于是开始征集精细的可扩展性视频编码方案。它的基本思想是将视频编码成一个可以单独解码的基本层码流和一个可以在任何地点截断的增强层码流,其中基本层码流适应最低的网络带宽,而增强层码流用来覆盖网络带宽变化的动态范围。世界各地的学者提出了许多解决方案,主要分为三类,分别使用DCT变换技术、小波变换技术和Matching Pursuit技术。最终从编码效率和复杂性两方面的考虑,精细可扩展性编码(FGSC)及渐进的精细可扩展性编码(PFGSC)被MPEG组织采纳。

  1. 精细的可扩展性编码

  MPEG-4的FGS主要有以下一些特性:第一,基本层使用基于分块运动补偿和DCT变换的编码方式达到网络传输的最低要求;第二,增强层使用位平面编码技术对DCT残差进行编码来覆盖网络带宽的变化范围;第三,每一帧的增强层码流可以在任何地点截断;第四,解码器重建的视频质量和收到并解码的比特数成正比。

  FGS的基本层编码和普通的MPEG-4非可扩展性编码相同,都是由运动估计、运动补偿、DCT变换、标量量化和变长编码(Variable Length Coding)组成。而在增强层编码时,从原始的DCT系数中减去基本层逆量化后重建的DCT系数值获得DCT残差,然后对每一个8×8的块按从上到下从左到右的顺序使用位平面进行编码。

  使用位平面编码的好处就是使得每一个系数的重要部分(较高的位)优先编码,这样在码流截断时就保证了解码器仍可以获得有关视频的重要信息,从而提供了精细可扩展的特性。

  一般的FGS只考虑了要编码系数的值,实际上FGS的应用是非常灵活的。例如我们可以对图像中比较感兴趣的前景部分优先编码,具体作法就是将图像中的某些块上移若干个位平面,就实现了对图像中感兴趣部分的优先传输。我们还可以对不同频率的DCT系数加以不同的权重,也就是对不同的DCT系数上移不同的位平面,从而满足人眼对不同频率成分的敏感程度。

  FGS还可以和时域可扩展性编码相结合(FGST),即对B帧中的DCT系数都使用位平面技术编码,这样FGST不仅保持了FGS的精细可扩展的特性,而且支持帧率的变化。

  FGS虽然具有优良的可扩展特性,但它也有致命的弱点,即效率太低。在同等码率下,FGS的质量要比MPEG-4中的非可扩展性编码低2~3dB(3个dB意味着码率翻一番),这是人们难以接受的。因此要想提高FGS的编码率,必须改善它用作运动预测和补偿的参考图像的质量。

  2. 渐进的精细可扩展性编码

  可以看出,质量可扩展性编码(我们对它的增强层使用位平面编码)和FGS编码分别走了两个级端,质量可扩展性编码保证了编码效率,因为它用同层的解码图像作参考,获得了较为准确的运动预测和补偿,但它对错误极为敏感,一旦某个增强层出现了错误,它后面的增强层都将无法解码,直到遇到下一个I帧为止;而FGS保证了对错误的恢复能力,它可以从前一帧增强层的任何错误恢复出来,但是由于参考图像质量低,因而效率不高。为了在编码效率和错误恢复能力之间取得一个权衡,后来有人提出了一种被称为渐进的精细可扩展性(Progressive Fine Granular Scalable,PFGS)的视频编码方案,在保持了FGS所具有的网络带宽自适应和错误恢复能力的同时,提高了编码效率将近1dB。

  但是,PFGS的编码效率和非可扩展性编码相比,还有1~2dB的差距。如何进一步提高它的性能,还是一个值得研究的问题。

取得的最新研究成果

  目前正在研究视频和图像的可扩展性编码,其主要成果有:

  1. 根据PFGS增强层各帧之间码率的不平衡性,研究了PFGS增强层的码率分配问题。首先提出了一个PFGS增强层多帧联合的率失真(Rate-Distortion,R-D)函数,然后我们根据这个率失真函数提出了一个局部最优的PFGS增强层码率分配算法。实验结果显示,和FGS中使用的码率平均分配算法相比,我们的算法不仅使视频解码质量更加平滑,而且将视频质量提高了0.3~0.5dB。另外,我们算法的复杂性很低,使得它非常适合于视频服务器使用。

  2.为了进一步压缩FGS和FPGS的基本层码流,我们将位平面编码技术和空域可扩展性视频编码相结合,提出了一种称为精细的空域可扩展性(Fine-Granularity Spatially Scalable,FGSS)的视频编码算法。这个方案具有质量精细变化的特性,即低分辨率和高分辨率的增强层码流都可以在任何地点截断,具有极强的网络带宽适应能力。

  此外,我们的算法还具有错误恢复功能,同时保持了空域可扩展性编码的多分辨率特性,它可以满足拥有不同网络带宽和不同分辨率接收设备的许多用户的需求。实验表明,在大多数码率条件下,FGSS的性能优于传统的空域可扩展性编码。

  3. 我们提出了一种基于块的细粒度可扩展(B-FGS)编码方法,这种编码方法比MPEG-4 FGS具有更多的灵活性,它能够支持区域级的动态码率分配,它是MPEG-4 FGS的一种改进。在基于块的FGS编码系统中,在视频流化传输服务器端,通过给属于感兴趣区域的空块分配更多的码率就可以实现选择性区域增强,而增强区域的选择是由传输策略决定的,由于B-FGS编码将区域增强从编码中分离出来,所以可以很好地支持区域级动态码率分配。

  同时,我们还较好地解决了B-FGS中均匀码率分配所造成的编码效率下降问题,实现了B-FGS编码中的快速最优码率分配,使其可以用于实时流媒体服务器中。

  上述编码方法可以和MPEG-7内容描述相结合,在低传输带宽时,实现重要区域的选择性增强,从而提高接收端视觉质量。

赛迪网 2002/05/27



相关链接:
从瑞福特公司看我国IP视频会议系统市场的发展 2002-05-20
会议电视系统解决方案 2002-05-20
将视频通讯带进中国人的生活 2002-05-20
高检采用VTEL设备建设会议电视系统 2002-05-20
评论:将视频通讯带进中国人的生活 2002-05-16

分类信息:     技术_视像通讯_文摘