基于终端配合的IPTV频道切换改进方案蒋耀宇(中国联通沈阳分公司网络优化中心110003)摘要:IPTV业务的应用随着网络技术的进步得到了极大的发展。频道切换时间作为影响直播业务QoS(QualityofService)的关键因素之一,是大规模应用IPTV服务必须要解决的问题之一。本文在总结目前主要频道切换方案的基础上,提出了一种改进的由终端设备与服务器配合的频道切换方案。本方案在媒体传输过程中使用了一个临时通道加快流媒体的传输速度,在传输终端上采用双缓冲区存储媒体数据,实现了各个频道快速切换的需求,最后对本方案性能做了简要分析。关键词:IPTV;频道切换;终端配合1引言IPTV业务应用随着网络技术的飞速进步得到了逐步的推广。直播业务作为IPTV的基础业务,频道切换时延是其业务质量的重要指标之一。频道切换时间指从用户提交频道切换请求,到被请求频道的画面在电视屏幕上显示给用户所需要的时间。目前有线电视的频道切换时间在0.5秒左右,数字电视的切换时间要比有线电视稍长一些,大概在1秒左右。在对用户的调研结果显示,IPTV业务中,用户能够接受的频道切换时间上限为2秒,超过2秒用户就会有明显的滞后感。由于网络带宽的限制,IPTV的直播频道服务采用组播方式,频道源仅向用户发送当前正在播放的视频源,当用户想要切换频道时,就要经过一系列的请求处理和数据传输才能切换到下一个频道。这样IPTV的频道切换时延就难以满足2秒的需求。2当前主要研究方案分析频道切换时间一般由以下几个部分构成:(1)频道信息获取时间:改时间可以通过预先下载频道对应的EPG(ElectronicProgramGuide电子节目单)文件而省略;(2)获得第1个I帧的时间(T1):工程中编码器I帧间隔一般设为2-3秒,因此获得第1个I帧的平均时间为1-1.5秒;(3)终端编码器重新初始化时间:由于其一般在几十毫秒级,且可以与接受I帧的同时进行,因此可以忽略;(4)终端缓存延时播放时间(T2):一般为1-2秒;由此可知,影响频道切换时间的主要是T1和T2,对频道切换的改进也主要在这两个方面。当前对频道切换的研究主要集中在系统架构上。2.1基于视频典型帧提取的快速频道切换技术方案该方案的基本思路是在用户切换频道时,快速提供给用户一个简短的新频道的典型帧序列,从而改善用户对IPTV频道切换的时延感觉。需要在系统网络侧增加一个直播处理的服务器,该服务器实时接收并处理所有直播频道的数据。在用户切换频道时,终端在退出正常组播的同时,向直播处理服务器发出请求。直播处理服务器则相应并快速提供给用户一个简短的新频道的典型帧序列。该典型帧序列到达终端缓冲区后,即可被解码和输出。待正常新频道的数据包到达终端缓冲区后,终端解码和输出新频道的数据。如果典型帧就是新频道当前时刻前的视频帧,或者与当前时刻的视频帧接近,那么在用户体验上就会感到切换是平滑的,改善用户的感知度。此方案在正常数据包到达终端之前,先由直播处理服务器向终端发送典型帧,此典型帧并不能保证与正常新频道的数据包保持连续一致,会在终端出现画面不连续的情况;而且增加了一个直播处理服务器,增加了网络的复杂性。2.2基于重传通道的频道切换该方案在终端和流媒体服务器之间建立并保持一条常设的TCP重传通道。终端先通过重传通道从流媒体服务器的缓存中,以大于解码速度的码速得到最近或次近的I帧及后续帧序列,这样得到的码流将比组播流至少滞后一个I帧,而终端在接收到第1个I帧后,随即开始输出视频而不等待缓存。此时,由于传输速度大于解码速度,因此终端的解码缓存将逐渐被充满,且会逐渐把流媒体服务器的缓存消耗殆尽。为此,在单播流发送最新的码流数据时(此时单播码流已经比组播流超前),需指示终端切换为接收组播流。由于开始接收的组播数据与原单播数据重复,因而被丢弃,直至接收到序列号新数据,这样就达到了平滑衔接。此方案终端组播流的切换需要流媒体服务器来通知,组播流与单播流是否已经重合服务器并不能确定,而且增加了流媒体服务器的负担;同时需要一条常设的TCP通道,当用户数量很大时会占用大量带宽资源。3改进的终端与流媒体服务器配合的频道切换方案以上的改进方案主要集中在网络侧,对服务器进行完善,终端上的具体播放情况服务器并不知晓,而且IPTV终端总是处于被动地位。而IPTV终端(包括机顶盒)都是智能终端,有很高的性能,本文重点就是让终端在频道切换的改进上发挥主动作用。3.1总体方案综合2.1,2.2节介绍的切换方案,本文提出一种终端与媒体服务器相配合的频道切换方案,基本结构如图1所示。媒体服务器IPTV终端组播流临时单播流图1基本结构图基本思路是:每次进行频道切换时,服务器与终端之间除了建立正常的组播通道用于发送正常的直播媒体流,还要建立一条临时性的单播通道,此通道用于快速建立播放过程,是临时性的。临时通道何时释放由终端根据媒体接收情况通知服务器,终端如何判断,将在下一节说明。单播通道将流媒体服务器缓存中的帧序列,以尽可能快的速度发送到终端,如果缓存空之后还没有收到终端的释放请求,则按正常速度发送。频道切换具体过程如图2所示。用户终端媒体服务器请求临时单播流加入新的组播组接收组播流接收临时单播流显示新频道显示新频道显示新频道频道切换请求请求释放临时单播流判断哪路流具备显示条件比较两路流是否已重合图2频道切换流程图首先获取新频道的媒体信息,此信息可以事先从EPG(ElectricProgramGuide,电子节目单)解析得到,信息中包含新频道的组播地址,同时包含一个单播地址。用户请求频道切换时,终端首先退出原来的组播组,然后从本地数据中获得新频道的组播地址,通过IGMP向宽带接入设备加入到新的组播组,开始接收直播媒体流;同时向服务器发送会话请求,建立单播通道。会话建立后,终端开始同时接收直播和单播媒体流。终端分别为组播流和单播流建立两个独立的缓冲区,两个缓冲区中的数据哪个能够更快具有显示的条件,就使用哪个的内容进行解码显示给用户。同时,进行比较两个流的数据包,当检测到两个缓冲区中的数据已经达到完全重合,则确定可以断开单播流,向服务器发送请求,释放临时单播通道,删除单播流。此时,频道切换过程结束,进入正常的直播阶段。3.2切换过程在终端的实现为环节网络的延迟和抖动的影响,需要在IPTV终端中引入缓冲区。在终端的播放过程为服务器发送的数据流通过网络到达播放终端的缓冲区,然后再送到解码回放模块进行解码和显示,通常启动一个接收线程来完成视频数据的接收,启动一个解码回放线程来进行视频数据的解码和回放。为了实现本文提出的快速切换方案,我们为组播流和单播流设置两个独立的缓冲区,同时接收两路媒体流。需要启动一个比较线程进行两路媒体的比较,此线程开始的任务是判断哪路流先具备显示条件,就将哪个缓冲区数据送往解码模块。判断的依据是哪路流首先接收到I帧,因为I帧采用镇内编码方式,即只利用单帧图像内的空间相关性,没有利用时间相关性,解码时不需要参考其它帧就可以进行独立的解码显示。虽然理论上临时单播流会最先具备显示条件,但进行一次判断还是必要的,因为两路流经过不同的IP路由,由于网络状况不同,不能保证单播流一定会先到达。然后线程比较两个缓冲区的数据是否已经重合,因为MPEG2是我国现在的高清数字电视的标准,媒体数据使用TS(TransportStream)流发送,可以通过比较每一帧数据的DTS(decodingtime-stamp,解码时间戳)实现。比较流程图如图3所示。分别找到第一个I帧比较DTS,PTS单播流小?组播流连接到解码器:关闭单播流单播流连接到解码比较数据是否重合组播流连接到解码器:关闭单播流开始结束组播流临时单播流否是否是图3缓冲数据比较流程图当两个缓冲区的数据重合后,向服务器发送请求,释放临时单播流,将组播流数据送往解码器,比较线程结束。3.3方案性能分析在整体结构上,新方案为了使终端以最快的速度接收到新频道的媒体流,在切换开始时,增加一条临时单播通道,通过此单播通道,服务器将媒体数据直接送给终端,能够满足快速显示的要求。单播通道是临时性的,虽然在频道切换的2s内终端网络上流量短暂增加,但等切换完成正常播放后,单播通道释放,数据流量很快恢复到正常状态。从整个网络上来看,由于每个用户切换频道的行为是随机的,大量用户同时切换的概率很小,所以,与文献[3]中提出的方案需要保持一个常设TCP重传通道相比,整个网络上数据流量的增加有限。从临时单播通道释放的时机上看,终端在频道切换过程中,始终在比较两路媒体流,一旦发现媒体流已重合,即通知服务器,请求释放单播流。服务器接收到终端的释放请求,说明终端上的两路流确实已经重合了,同时也提升了终端在频道切换过程中的作用。3.4实验数据本项工作研究的重点放在终端侧,方案要求的终端特性已经实现,而所需的流媒体服务器还在开发阶段,因此实验所需的流媒体服务器采用开源的VideoLANServer(VLS)软件。VLS只能发送正常的组播TS(TransportStream)流,方案要求的临时单播流采用正常单播流代替,由于数据帧不是纯粹的I帧,测得的频道切换时间会比方案的实际切换时间要长。实验50次的平均频道切换时间为1.187s,除极个别情形下切换时间出现较大波动外,绝大多数情形下切换时间在1.0-1.4s之间,符合IPTV频道切换时间的上限要求。4结束语本文在总结当前主要频道切换方案的基础上,提出了一种终端与流媒体服务器配合的频道切换方案,该方案利用IPTV终端性能高的特点,将频道切换的部分功能由终端实现,提高了频道切换的速度,减轻了服务器负担,同时临时性的单播通道也减少了网络流量。本方案需要终端配合,对终端的性能有一定的要求。当然,本方案还存在很多需要改进的地方,例如终端缓冲区的控制、判断缓冲区数据帧重合的比较算法等,需要不断完善和优化。参考文献:[1]罗斯青.一种改进的IPTV快速频道切换技术方案.电信科学,2007,10:22-25[2]刘文冈,喻莉.IPTV中基于用户行为改进频道切换时延的策略.微计算机信息,2007,10-3:143-135