在过去20年里,在用户需求的推动下,视频技术获得了突飞猛进的发展,从广播电视、家用录像系统的普及,逐步过渡到基于数字视频技术的应用。
通常可以将数字视频应用分为实时应用和非实时应用,前者包括电视节目(现场直播)和基于Internet 的流视频(Steaming Video)的实时传输播放,后者包括各种本地存储视频的播放,如DVD。
涉及数字视频通信的技术包括视频压缩/解压、各种网络传输协议,同时还包括视频服务器操作系统、应用层QoS、媒体同步机制等。
在本文中我们将首先讨论视频压缩技术,然后讨论视频通信技术,包括数字电视和基于ATM和SDL技术与 MPGE-2视频的传输,我们的重点将放在基于Internet的视频流应用。另外,伴随蜂窝移动通信技术的发展,蜂窝移动视频传输也逐渐成为可能,我们也将简单介绍这方面的发展。
一、 数字视频压缩SMPTE(运动图像和电视工程师协会)和IEEE开发和管理非压缩的数字视频标准。这些标准包括:PAL、NTSC和SECAM标准分辨率的电视广播用数字视频标准CCIR-601;传输CCIR-601的SMPTE 259M;传输HDTV的SMPTE 292M。为了利用廉价的低比特率链路进行数字视频信号传输,或者存储数字形式的现场视频,必须对原始数字视频信号进行高效的压缩编码。
1、数字视频通信
对编码器的要求由于应用领域的差别,对视频编码器有不同的要求,共同的基本要求是:算法复杂度要尽可能小、算法处理的时间尽可能短、性价比尽可能高。综合不同的应用,这些要求可以分为:
(1)为了获得可以接受的视觉质量,视频编码器对带宽的要求要尽可能的小;
(2)对实时视频流通信,必须提供有界的端到端时延,以便视频分组可以及时到达解码器解码和显示;
(3)对于Internet带宽动态变化和蜂窝移动通信信道特性随机变化的通信网络,分组丢失不可避免,视频编码器应当能够处理分组的丢失;
(4)有些装置要求较低的能量消耗,如蜂窝移动电话,这些装置上的解码器应当简单;
(5)有些应用要求提供VCR一样的功能,如暂停、快退等,视频编解码器应当提供这些功能。
2、视频编码器基本结构
目前有很多高效的压缩算法投入实际应用,这些标准大多采用了基于运动补偿结合变换的压缩方案。用作运动补偿的块的大小在不同的标准中定义不一,从4×4到16×16像素。同样,从简单的1/2像素精确的双线空域内插到复杂的空时滤波技术,预测滤波器的实现也变化很大。运动估计后的剩余部分进行能量压缩的正交变换。对于这类变换,大多数标准的视频编码器都采用了8×8的DCT核。变换后的系数经过量化并送入无损统计编码器。为了与解码器保持同步,编码器复制了部分解压环(Loop),即反 量化、反变换、运动补偿引擎和自适应去块滤波器(Adaptive Deblocking Filter)。为了将输出的比特率控制在确定的范围内,采用速率控制算法选择量化步长,同时提供空域预处理器和运动补偿引擎的输入信息。
上述运动补偿混合编码器没有考虑编码速率的可伸缩性(Scalability),只能生成单速率的编码视频流,仅适用于在点对点的稳定信道上传输,而不能满足其他通信方 式的需要,如组播(Multicast)和多接入的通信。为了扩展其应用范围,人们提出了很多特殊的可伸缩模式(Scalability Mode)。可伸缩的视频编码器将原始视频流划分成多个子流(Sbustream),其中一个压缩子流是基本子流(Base Substream),基本压缩子流可以独立解码以提供粗糙的视觉质量,或者是较小的图像尺寸和较低视频帧刷新率。其他压缩子流是增强子流,增强子流只能和基本子流一起解码,但可以提供更好的质量。所有完整的子流可以提供最高的视觉质量。
为了灵活适应不同接入链路带宽和时延的要求,针对MPEG-4提出了一种新的可伸缩编码机制,称为FGS(Fine Granularity Scalability)。一个FGS编码器将原始视频序列压缩成两个子流,即基本层比特流和增强层比特流。一种FGS的变体是PFGS (Progressive FGS)。PFGS可能有多个增强层,从而具有更精细的比特率步长伸缩性和更好的误码弹性(Resilience)。
3、视频压缩标准
视频编码标准主要由 ITU-T和ISO/IEC开发。前者已经发布了视频会议标准H.261、 H.262、 H.263,并且准备进行远期编码标准H.263L的开发,以期望获得更大的编码效率。ISO/IEC的标准系列是大家熟悉的MPEG家族。包括:
(1) MPEG-1(1988~1992),可以提供最高达1.5Mbps的数字视频,只支持逐行扫描;
(2)MPEG-2(1990~1994),支持的带宽 范围从2Mbps到超过20Mbps,MPEG-2后向兼容MPEG-1,但增加了对隔行扫描的支持,并有更大的伸缩性和灵活性;
(3)MPEG-4 (1994~1998),支持逐行扫描和隔行扫描,是基于视频对象的编码标准,通过对象识别提供了空间的可伸缩性;
(4)MPEG-7 (1996~2000),是多媒体内容描述接口,与前述标准集中在音频/视频内容的编码和表示不同,它集中在对多媒体内容的描述。
除了上述通用标准外,还存在很多专用格式,比较流行的有:C-Cube的M-JPEG、Intel的IVI(tm)(Indeo Video Interactive)、Apple的QuickTime(tm)、Microsoft的 Media Player(tm)和RealNetworks的RealPlayer(tm)。