郭 军,王 煜
(天津泰达有线电视网络有限公司 天津300456)
信息时代
IP互动电视快速频道切换的解决方案与实现
郭 军,王 煜
(天津泰达有线电视网络有限公司 天津300456)
采用单播方式的快速频道切换技术(ICC),通过独立的单播辅助频道来降低用户在频道切换时产生的缓冲延迟。通过仿真实验验证单播ICC频道切换速度的提升,同时验证单播ICC在大量用户收看相同频道时所形成的突发流量对网络带宽和服务器负载的影响。
IPTV 快速频道切换 组播 单播ICC
随着三网融合业务的快速发展,基于 IP部署的实时电视(IPTV)已经成为现实。IPTV是指通过对一系列视频服务(包括实时直播和视频点播)进行视频压缩,并通过一个 IP分组数据网络传输给用户。最近的一份研究显示,用户的IP流量(公共互联网和内网 IP)将以每年 57%的速度增长,这其中视频流量占有非常大的比例。因此,通过对 IP网络的设计优化来支撑视频流的长期增长是十分必要的。
本文描述的系统中,标清频道消耗2~3,Mbps带宽,而高清频道要消耗 8~10,Mbps带宽,系统中一共包含 200套境内及境外频道(其中标清 190套,高清10套)和大量的IPTV电视用户,因此IPTV会依据实际的网络条件来设计带宽分布。IPTV分为常态和瞬时两种流的需求模式,其中常态的带宽需求来自大量用户的累积,根据 IPTV网络结构中组播的技术模式,常态带宽需求对于骨干网的要求比较恒定,而瞬时带宽需求的来源是客户切换频道与大量的点播需求产生的。为了满足客户的用户体验,瞬时产生的网络带宽需求和后台视频服务器的I/O容量至关重要。
IPTV通常使用 IP组播来提供内容,每个电视频道使用不同的组播组。用户的终端设备(机顶盒STB)通过加入不同频道的组播组实现切换到具体电视频道。由于组播的机制,加入组播组需要一定时间,因此会在频道切换时产生延迟,更主要的导致延迟的原因是,终端设备需要等待接收一个 I-帧,然后填补新频道(新加入的组播组)的播放器Buffer。根据不同的网络环境,频道切换延迟可达到几秒钟,这会造成非常差的用户体验。相反,传统的广播或以同轴电缆为基础的模拟系统,采用广播的方式,机顶盒(STB)可以同时接收所有的频道,当用户切换频道时,机顶盒会立即调到新的频道上,并马上在屏幕上显示出来。因此,该系统中的频道变化时间最小,但系统对网络资源的使用造成了很大浪费。
为了尽量减少这种延迟,ICC(Instant Channel Change)技术解决方案被提出。在 IPTV系统切换频道时,希望最大限度地减少用户对延迟的体验。一种方法是当用户切换到一个新频道时,后台服务器发送一个完整的高比特率的单播流数据。高比特率可以提高终端播放器 Buffer的填充速率,与此同时单播流也会掩盖组播的加入延迟,ICC技术的出现使得用户得到更好的切换频道体验。
在数字电视环境中频道切换速度原理上就比在模拟系统中切换频道慢。延迟主要是用户在显示电视节目之前,要等待画面组(GOP)或关键帧启动而造成的。造成延迟的另一个原因是,客户端要缓存足够的帧,以防止缓冲区下溢。
单播 ICC技术为使延迟降至最短,由分发服务器(Distribution Servers)维护一个不断更新的循环缓冲区,其中包含所有视频流的内容。当用户终端向后台传输系统请求频道切换时,其中一台DServer会以I帧作为开始画面,以一个高于标准比特率的速率将缓存的视频流内容以单播的方式发送到用户终端设备。因为 DServer发送的视频流的第一帧始终是I帧,所以节省了用户终端等待I-frame的时间,如图1所示。同样,用户终端等待充分缓冲的时间也大为缩短,因为数据到达的速率比正常数据速率快,这使客户端开始播放缓存内容的时间能够早于直播服务器(Acquisition Server)发送过来的组播视频流。
图1 DServer工作原理Fig.1 Operating principle of DServer
当 DServer发送了足以满足用户终端设备播放的缓存内容后,便开始以标准的流比特率发送新的视频内容。这种突发的单播请求持续时间因流的内容、其相关联的 GOP间隔以及系统时钟/解码时间戳(STC/DTS)的最大延迟而异。一般说来,这些数值越小,单播ICC突发持续时间越短。目前系统中部署的视频流的突发持续时间在6~15,s之间。
DServer所需传输带宽根据预期的客户端活跃程度来设置。如果 10,000个客户端每天更改一次频道且时间各不相同,则无需在DServer中按照近似每个客户端每秒更改一次频道的情况来设置带宽。为每个单播 ICC突发保留的带宽越大,频道更改之间存在的重叠越小,但每个用户终端设备的可用带宽就必须越大。ICC频道切换机制如图2所示。
图2 单播ICC频道切换机制Fig.2 Mechanism of unicast ICC
图3显示了单播 ICC方案的动态缓冲机制。用户切换频道,同时 STB发送 Leave信息;STB向DServer发送单播请求;DServer收到请求后,开始向STB发送单播数据流,STB收到后立即开始缓冲;因为单播流以 I帧开始,所以 STB迅速在屏幕上显示高质量的视频内容;当STB缓冲到足够的视频数据,就开始向上层边缘路由器发送 JoinGroup消息;经过网络层的处理,AServer开始向新组播组发送组播视频流,同时STB收到组播视频流后开始缓冲;STB缓冲到足够的组播视频流,切断单播视频流的同时,在屏幕上无缝显示组播流视频。
图3 STB缓冲机制Fig.3 STB buffering mechanism
本次实验在 IPTV平台上引入视频源,并使用Cisco三层交换机与STB搭建的测试网络环境,测试了用户在单播 ICC机制下频道加入延迟和频道切换延迟。根据实验需求对交换设备进行配置以达到实际应用的仿真,并对实验数据进行分析。
3.1 仿真拓扑环境
实验拓扑首先从 IPTV互动电视系统中引入组播节目源,并从AServer将组播视频流引入测试交换机,同时使用测试交换机连接一台DServer,使用11台PC模拟用户终端设备 STB,其中 10台用于模拟真实用户,1台用于测试并安装 Wireshark软件抓取所有所需数据报并加以分析,实验拓扑如图4所示。
图4 单播ICC实验拓扑Fig.4 Topology of unicast ICC experiments
3.2 实验1:ICC与基本IPTV的比较
3.2.1 测试方法
测试场景1选取一台Cisco3750模拟一个小区,不同的STB代表不同的用户,使用一台开启ICC的STB以每15,s切换一个频道的频率收看所有200套节目,每次切换频道的操作就是一个离开组和加入组的过程,同时使用 Wireshark抓取数据报的具体数值,并与基本IPTV参数进行比较。
3.2.2 测试结论
从图5中可以看到开启单播ICC功能的STB的频道切换时间基本在 300~400,ms,如表 1所示,且抖动较小,较之 NOICC的频道切换速度稳定了许多,单播ICC的频道切换延迟较之基本IPTV提高了大概5倍左右。
图5 单播 ICC频道切换时间与基本 IPTV频道切换的比较Fig.5 Comparison between switching time of unicast ICC and basic IPTV channel changing
300~400,ms使得用户在切换频道时,基本没有定格或卡屏的感知,可迅速收看到想看的视频内容。
表1 频道延迟比较Tab.1 Comparison of channel changing delays
3.3 实验2:DServer的I/O
3.3.1 测试方法
本场景模拟黄金时段大量开启 ICC的用户同时切换频道 DServer的I/O负载情况。在 10个节点中随机抽取STB,在200个节目源随机切换频道,分别测试STB同时切换10~80个频道时DServer的I/O。
3.3.2 测试结论
如图 6所示,在单播 ICC的机制下,DServer的I/O肯定与频道切换的数量成正比,DServer的I/O会根据频道切换的次数而累积增加。
图6 单播ICC-DServer的I/OFig.6 I/O of unicast ICC-Dserver
根据单播 ICC的机制,本次实验只包含直播内容,DServer的I/O增加,必然会加大骨干带宽的使用率,虽然骨干网上运行的直播内容因为组播的原因比较恒定,但是点播业务的内容同样是单播,再加上DServer传送的单播视频,在用户使用高峰时期所占用的总带宽还是非常可观的。
单播 ICC方法确实减少了用户换台所需的时间。然而,这种解决方案设计的初衷是让并行的单播ICC请求数尽量小。当并行单播ICC请求较多时(例如在黄金时段,出现大量用户的单播请求),这种方法会给网络造成较大的负荷。此外,有限的 DServer的I/O容量也不得不支撑大量的同时传输的单播流,有可能需要ISP额外部署服务器来满足峰值需求。同样核心层与骨干网的带宽也必须在系统建设前期根据用户数量做好预估,在系统进入运营期,还要不断根据用户数的提升扩容DServer与网络带宽。
On Instant Channel Changing Solution for IP TV and Its Realization
GUO Jun,WANG Yu
(Tianjin TEDA Cable TV Network Co.,Ltd.,Tianjin 300456,China)
With adoption of the unicast Instant Channel Change(ICC)technology,an independent unicast auxiliary channel was used to reduce the buffering generated by users while switching channels. Through simulation experiments,the enhancement of unicast ICC speed was proved and the effect on network bandwidth and server load from Unicast ICC caused by burst traffic when large numbers of users are watching the same channel was verified.
IPTV;instant channel changing;multicast;unicast ICC
TN943.6
A
1006-8945(2014)06-0029-04
2014-05-09