Kinesis在802.11上实现视频
作者:余智 来源:中国计算机报 添加时间:2006-5-21 14:59:06由于无线信道具有容量有限、差错率高以及时变和不对称传播的特性,而视频应用需要消耗大量带宽,对差错敏感又不容许延时,这就迫使无线视频系统去动态地适应网络资源中的变化。在最近几年中,很多人在研究无线网络上的视频传输,并取得了一定的进展,包括在IEEE802.11标准中提出的传输协议性能,以及在包交换基础结构网络上的实时视频通信。但是,到目前为止还没有提到支持IP多点广播扩展的、用于IEEE802.11特别是无线局域网(WLAN)的视频会议系统。而Kinesis的出现无疑使研究又前进了一步。
Kinesis应运而生
多媒体通信和无线通信网络领域最近得到了空前的发展,计算机网络上的视频会议系统已经逐渐成为现实。由于数字通信业务的不断推陈出新,引发了对新的协同工作的需求,新的设备应该允许远距离的用户去共享实时的视频、音频和数据。
第一批业务是为电路交换环境建立的,更准确地说是用于N-ISDN信道。由于普通工作站的处理速度得以提高以及应用新的压缩算法,从而更好地利用了可用带宽,使得在包交换网络上的实时业务出现迅速增长。
而Kinesis是一种支持多点广播传输和在IEEE802.11 WLAN上的H.263+编码序列的实时视频系统。它组成了一个应用层,并完全符合RFC1889的传输协议,在按该协议实现的编解码器提供了必要的反馈信息,以保持对话的QoS的控制。Kinesis面向对象设计,使得它可以根据软件质量的因素获得可扩展的适用结构。换句话说,它可以很容易地适应于其他协议。
编码基础:ITU-T的建议H.263和H.263+
多媒体通信系统,特别是视频的应用,对高容量的数据进行操作并要求大量的可用带宽。由于这些业务在不断增长,但无线网络上的传输率仍然有限,这就要求新的编码标准应该具有更高的压缩率。1996年,ITU-T提出的H.263可以达到上述要求。它的编码结构基于H.261,但能够在低比特率的情况下改进图像质量。
而H.263+是第一个被特别设计用来在不同网络技术上进行工作的国际化视频编码标准。它提供了12种可选模式,用于在易于发生差错和无QoS保证的网络中提高图像质量。
尽管H.263+的差错弹性模式主要是为有线网络设计的,但是它对于无线网络也很有帮助。由于对无线网络上的视频会议业务的需求在不断增长,国际标准化组织将此对编码技术进行了优化。
RTP/RTCP打包方案
为了在传输协议(例如UDP)上传送实时的H.263+视频序列,就有必要把H.263+编码器输出端的比特流转换成为一个打包的序列。传统的TCP和UDP业务对于实时应用来说并不适用:TCP的重发延时太长,而UDP又没有端到端的保证或内在的流控制。这样就出现了对QoS进行折衷管理的面向应用的协议,它作为一种可选的解决方案将促使人们致力于实时传输层协议这一领域的研究。
实时传输协议的发展在IETF的音频和视频传输组(AVT)的管理下顺利进行。AVT的建议RFC1889规定了一种实时传输协议(RTP),它提供了端到端的传输业务,譬如负载类型识别、序列编号以及加时间戳等特性。
AVT的RFC1889也定义了一个控制协议来对QoS进行监视,并可在一次对话中传送参与者的信息。控制包在一次对话中周期性地(具有很小的时间变化用来避免突发传输现象的发生)向所有参与者传送,它使用的是与数据包同样的分布机制。最重要的控制包是发送报告(SR)和接收报告(RR),后者为QoS控制提供了必需的反馈信道,使所有的接收报告得到了分析,而且包丢失的统计、包延时抖动和往返行程时间也得到了计算。因而,实时传输协议(RTP)在包交换网络上得到了广泛应用。
802.11支撑
在最近的几年中,对用于便携式和移动计算机通用连接的需求得到不断增长。为了提供这样的通用操作性,IEEE802.11工作组为WLAN建议了PHY和MAC标准规范。
802.11结构包含了一些组件,它们彼此间互相作用,用于向更高层提供一个支持站点移动性的WLAN。802.11的PHY层规定了三种不同的传输技术,直接序列传播频谱(DSSS)、跳频传播频谱(FHSS)和扩散的红外线(DIR)。目前,Kinesis中使用的802.11 WM接口在2.4GHz频带处实现了DSSS,它在一个BSS中为所有站使用了一个单独的传播序列。在IEEE 802.11 MAC子层协议中的基本接入方法是分布式协调功能(DCF)。该功能应用一种竞争业务对媒质接入进行组织,这是一种CSMA/CA方案,叫DFWMAC。除了DCF以外,802.11还合并了点协调功能(PCF),特殊的WLAN只支持DCF方案。
理论分析和仿真结果显示,IEEE802.3 MAC接入方案胜过在802.11中建议的DCF接入方案。这些性能的差异在请求发送(RTS)帧和清除发送(CTS)帧被用于克服隐藏终端而产生的冲突问题时,会变得更明显。这些不利的条件使得在无线包交换网络上实现视频会议成为一个挑战。
Kinesis实现实时视频
Kinesis是在无线包交换网络上的实时数字视频传输系统,它是由Cordoba大学的数字通信实验室开发出来的。
在模块识别和设计时,数据流原理对于处理与流相似的多媒体数据的应用是非常有用的。从应用这个原理而来的各类层次包括了RTP编解码器、多点广播网络连接、媒体编解码器、视频生产者和消费者等。Kinesis把这些基本建造块的功能组织成一个统一的应用软件结构。
该结构已经在一个GNU/Linux操作系统上成功实现了。其基础硬件包括桌面型和膝上型计算机,它们安装了工作在2.4GHz频带的DSSS 11Mb/s 802.11WLAN适配器和视频捕捉设备。
结构组成
构成Kinesis模块组的主要目的是提供实时的传输和表示功能。它不仅把注意力集中在通过网络连接模块应用间的数据流,而且还集中在应用内的实时流。其目的是使Kinesis成为用于分布式视听应用的一般通信结构。
说明了Kinesis中一个视频对话的一般结构。视频数据流的网络传输是在对话模块的基础上组织的,这与RTP对话类似。这个对话模块包括:
(1)与RTP对话的两个网络接入点进行通信的两个多点广播连接,一个用于数据(RTP),一个用于控制(RTCP)。
(2)一个RTP编解码器,它把媒体序列转换成为协议数据单元,并通过网络连接模块传输已编码的包。
RTP协议编解码器也负责产生和初始化本地和远程对话成员的特征提取信号,以及产生和处理接收者和发送者的统计。采用一种特征提取和负载规范文件来定义负载类型和媒质(例如视频)参数。
根据RFC1889,只有一个媒质类型在一个RTP对话中进行传送,但是如果多个媒体都在被使用的话,便可以同时参与到多个对话中去。这样,如果音频和视频在会议中都被使用的话,将产生这个对话模块的两个实例,每一个都具有自己的协议编解码结构和网络连接。对话对象对协议编解码器和对话成员的操作进行调整,并且对基础的多点广播网络连接进行管理。
生产者和消费者模块在概念上非常简单,因为它们只负责提供和获取多媒体数据。Kinesis中的视频生产者提供了通过用于Linux层(V4L和V4L2)视频设备进行通信的所有必需机制。生产者负责根据对话参数来建立和初始化输入设备、捕捉模块和帧速率。一旦设置并运行,生产者的唯一任务就是捕捉并对媒体对象排队(譬如视频帧),直到它们被获取。另一方面,Kinesis对话中的每个成员都有一个由消费者对象管理的相关视频窗口。消费者读取视频对象、调整颜色,并可对比例、抖动和颜色空间变换进行操作,以用于在显示器上更新视觉信息。所有这些操作都利用了系统范围的图像信息和设备,这是由系统GUI模块提供的。
另外,时间管理器负责触发时间管理程序,成员管理器有效地对成员序列表进行更新,系统GUI负责为显示状态和结构组件的行为提供图形化的服务。
实验结果
该系统的功能由一系列的实验得到了证实。实验中使用了H.263+解码器,它符合实验要求,并与Kinesis静态连接,此外还包括Pentium II和Pentium III的桌面型和膝上型PC计算机,它们装有工作在2.4GHz频带的DSSS 11Mb/s 802.11 WM 接口和视频捕捉设备。
实验中把重点集中在无线环境中的两种普通的情况:第一种情况是包含一个固定站和两个便携式站的一个特殊网络;第二种情况中还包括了移动站。对于每种情况来说,都使用了帧内和帧间编码的QCIF序列。以往,很高的包丢失率会导致差分编码技术的性能较差,但现在,144kb/s的帧内编码序列允许在两种环境下,在802.11无线网络上进行高质量的视频会议。
结论
Kinesis已经在不同的工作条件下进行了测试,它在H.263+帧内编码视频序列上具有优良的结果。
由帧间视频编码技术获得的实验结果建议,还需要提供新的协议以确保在无线多点广播环境中传输的可靠性,在这种环境中包的丢失率比有线环境中高得多。换句话说,或者目前的实时传输协议应该进行修改,或者需要重新设计上层协议,以便用于无线多点广播。本文对实时传输协议做了有益的工作,正如前面所说,Kinesis的高度模块化结构能够很容易地适应于其他协议。
站内搜索