一种DVB频道的快速切换方法以及设备和系统与流程

文档序号:12279749阅读:514来源:国知局
一种DVB频道的快速切换方法以及设备和系统与流程

本发明涉及媒体技术领域,尤其涉及一种基于DVB系统的DVB频道的快速切换方法、用户设备及DVB系统。



背景技术:

DVB(Digital Video Broadcasting,数字视频广播)是由DVB项目维护的一系列国际承认的数字电视公开标准。DVB项目是一个由300多个成员组成的工业组织,它是由欧洲电信标准化组织(European Telecommunications Standards Institute,ETSI),欧洲电子标准化组织(European Committee for Electro technical Standardization,CENELEC)和欧洲广播联盟(European Broadcasting Union,EBU)联合组成的联合专家组(Joint Technical Committee,JTC)发起的。DVB的宗旨是要设计一个通用的数字电视系统,在此系统内的各种传输方式之间的转换有最简单的方式,尽可能的增加通用性。DVB标准提供了一套完整的、适用于不同媒介的数字电视系统规范。DVB数字广播传输系统利用了包括卫星、有线、地面、SMATV、MNDSD在内的所有通用电视广播传输媒体。它们分别对应的DVB标准:DVB-S、DVB-C、DVB-T、DVB-SMATV、DVB-MS和DVB-MC。

随着视频技术的发展和应用,相较与之前仅关注服务质量(Quality of Service,QoS)的指标,体验质量(Quality of Experience,QoE)的应用与认可越来越广泛。QoE是是从普通用户体验的角度评定设备或网络的性能,而不是采用业界通常使用的各种专业指标,比如时延、丢包率和抖动等。由于其良好的结果直观性,并容易被非专业人士理解,所以QoE的各种指标得到了广泛认可和应用。而频道切换时间就是QoE中的一项重要指标,但是目前DVB频道切换时间,依赖于目标频道的频点搜索和锁定,而频点搜索和锁定的时间比较长,一般大于2秒,导致频道切换速度较慢,用户体验不佳。



技术实现要素:

有鉴于此,有必要提供一种基于DVB的频道快速切换方法、设备及系统,减少用户设备频道切换的等待时间,提升频道切换速度。

第一方面,本发明实施例提供一种DVB频道的快速切换方法,应用于用户设备侧,包括:接收用户发起的频道切换请求,所述频道切换请求包括目标频道标识;根据所述目标频道标识搜索确定所述目标频道的频点;根据所述频道切换请求向FCC服务器发送单播请求,所述单播请求包括所述目标频道标识;接收FCC服务器发送的所述目标频道的单播传输流;根据所述目标频道的频点接收DVB网络侧发送的所述目标频道的广播传输流;判断所述广播传输流与所述单播传输流同步时,向所述FCC服务器发送同步通知以指示所述FCC服务器停止发送所述目标频道的单播传输流。

本发明实施例的DVB频道快速切换方法,在现有DVB系统架构中引入FCC服务器,利用FCC服务器单播辅助广播的方式,向用户终端快速发送单播传输流,确保用户设备快速显示图象,缩短频道切换时间,提升频道切换速度,提升用户体验。

在一种可能的实施方式中,用户设备还解析从DVB网络侧接收到的所述目标频道的广播传输流,确定所述广播传输流中的每一个TS包的播放时间标记PTS值,以用于后续同步判断。

在一种可能的实施方式中,用户设备还解析从FCC服务器接收的单播RTP报文,并获取所述RTP报文中每一个RTP包所携带的TS包的PTS范围值,以用于后续同步判断。

在一种可能的实施方式中,用户设备根据获得的单播TS包的PTS值与广播TS包的PTS值判断所述广播传输流中当前接收的TS包的PTS值是否在所述单播传输流当前接收的RTP包的PTS范围值内,若判断结果为是,则确定所述广播传输流与所述单播传输流同步。

该实施方式中,用户设备分别解析广播TS包与单播TS包,获取每个TS包的PTS值用于同步判断,能够保证同步判断的准确性,保证用户终端无缝切换到广播传输流,防止视频抖动,进一步提升用户体验。

第二方面,本发明实施例提供一种DVB频道的快速切换方法,应用在DVB网络侧,该包括:接收用户设备发送的单播请求,所述单播请求包括目标频道标识;根据所述目标频道标识,向所述用户设备发送所述目标频道的单播传输流;向所述用户设备发送所述目标频道的广播传输流;接收用户设备发送的同步通知;根据所述同步通知判断所述广播传输流与所述单播传输流同步时,停止向所述用户设备发送所述目标频道的单播传输流。

在一种可能的实施方式中,所述同步通知携带所述用户设备接收的所述广播传输流的首个TS包的PTS值用于FCC服务器进行同步判断。

在一种可能的实施方式中,FCC服务器获取所述单播传输流待发送的TS包的PTS值,比较所述待发送的TS包的PTS值与所述广播传输流的首个TS包的PTS值是否相同,若比较结果为是,则判断所述所述广播传输流与所述单播传输流同步。

该实施方式中,FCC服务器根据用户终端上报的首个TS包PTS值与本地待发送的TS包的PTS值判断广播传输流与单播传输流是否同步,判断方式简单,结果准确,减少不必要的单播流传输,提升设备的使用性能。

第三方面,提供一种用户设备,包括:通信接口,用于接收用户发起的频道切换请求,所述频道切换请求包括目标频道标识;处理器,用于根据所述目标频道标识确定所述目标频道的频点;所述通信接口,还用于根据所述频道切换请求向FCC服务器发送单播请求,所述单播请求包括所述目标频道标识;所述通信接口还用于接收所述FCC服务器发送的所述目标频道的单播传输流;还根据所述目标频道的频点接收DVB网络侧发送的所述目标频道的广播传输流;所述通信接口还用于在所述处理器判断所述广播传输流与所述单播传输流同步时,向所述FCC服务器发送同步通知以指示所述FCC服务器停止发送所述目标频道的单播传输流。

在一种可能的实施方式中,所述处理器还用于解析接收到的所述目标频道的广播传输流,确定所述广播传输流中的每一个传输流TS包的播放时间标记PTS值。

在一种可能的实施方式中,所述处理器还用于解析单播传输流RTP报文,获取所述RTP报文中每一个RTP包所携带的TS包的PTS范围值。

在一种可能的实施方式中,所述处理器还用于判断所述广播传输流中当前接收的TS包的PTS值是否在所述单播传输流当前接收的RTP包的PTS范围值内,若判断结果为是,则确定所述广播传输流与所述单播传输流同步。

第四方面,提供另外一种用户设备,包括:收发单元,用于接收用户发起的频道切换请求,所述频道切换请求包括目标频道标识;DVB控制单元,用于根据所述目标频道标识确定所述目标频道的频点,锁定所述频点,控制所述收发单元从DVB网络侧接收所述目标频道的广播传输流;FCC控制单元,用于根据所述频道切换请求向FCC服务器发送单播请求,所述单播请求包括所述目标频道标识,控制所述收发单元接收FCC服务器发送的所述目标频道的单播传输流;判断单元,用于判断所述广播传输流与所述单播传输流同步时,控制所述收发单元向所述FCC服务器发送同步通知以指示所述FCC服务器停止发送所述目标频道的单播传输流。

在一种可能的实施方式中,该用户设备还包括PTS解析单元,用于解析接收到的所述目标频道的广播传输流,确定所述广播传输流中的每一个TS包的播放时间标记PTS值。

在一种可能的实施方式中,该用户设备还包括RTP解析单元,用于解析单播传输流的RTP报文,获取所述RTP报文中每一个RTP包所携带的TS包的PTS范围值。

在一种可能的实施方式中,该用户设备还包括判断单元,用于判断所述广播传输流中当前接收的TS包的PTS值是否在所述单播传输流当前接收的RTP包的PTS范围值内,若判断结果为是,则确定所述广播传输流与所述单播传输流同步。

第五方面,提供一种DVB系统,包括:直播编码器,用于从节目源接收目标频道的节目信号,对所述节目信号进行编码处理,输出所述目标频道的传输流;直播转发系统,与所述直播编码器相连,用于接收从所述直播编码器输出的所述目标频道的传输流,将所述传输流封装为RTP报文后,转发给FCC服务器;FCC服务器,与所述直播转发系统相连,用于接收所述直播转发系统转发的RTP报文,还用于接收用户设备发送的单播请求,所述单播请求包括目标频道标识,根据所述目标频道标识,向所述用户设备发送所述目标频道的单播传输流;还用于接收用户设备发送的同步通知,根据所述同步通知判断广播传输流与所述单播传输流同步时,停止向所述用户设备发送所述目标频道的单播传输流;调制复用设备,与所述直播编码器相连,用于从所述直播编码器接收所述目标频道的传输流,将所述传输流进行调制和复用后通过广播方式发送给所述用户设备。

第六方面,本发明实施例提供一种FCC服务器,包括:通信接口和处理器,通信接口用于接收用户设备发送的单播请求,所述单播请求包括目标频道标识,还用于根据所述目标频道标识,向所述用户设备发送所述目标频道的单播传输流,进一步的通信接口还用于接收用户设备发送的同步通知,处理器用于根据所述同步通知判断所述广播传输流与所述单播传输流同步是否同步,若判断所述广播传输流与所述单播传输流同步,控制所述通信接口停止向所述用户设备发送所述目标频道的单播传输流。

第七方面,本发明实施例提供一种FCC服务器,包括:

收发单元,用于接收直播转发系统转发的RTP报文,还用于接收用户设备发送的单播请求,所述单播请求包括目标频道标识;FCC控制单元,用于根据所述用户设备的单播请求,控制收发单元向用户设备发送该目标频道以I帧起的单播传输流;判断单元,用于在收发单元接收到用户设备发送的同步同时后,根据所述同步通知判断广播传输流与所述单播传输流同步时,控制收发单元停止向所述用户设备发送所述目标频道的单播传输流

第八方面,本发明实施例提供了一种计算机存储介质,用于储存为上述用户设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

第九方面,本发明实施例提供了一种计算机存储介质,用于储存为上述FCC服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

本发明实施例的DVB频道快速切换方法,在现有DVB系统架构中引入FCC服务器,利用FCC服务器单播辅助广播的方式,向用户终端快速发送单播传输流,确保用户设备快速显示图象,缩短频道切换时间,提升频道切换速度,提升用户体验。

附图说明

图1为本发明实施例的DVB网络架构图;

图2为本发明实施例的用户设备的结构示意图;

图3为本发明实施例的另一用户设备的结构示意图;

图4A为本发明实施例的FCC服务器的结构示意图;

图4B为本发明实施例的另一FCC服务器的结构示意图;

图5为本发明实施例的DVB频道的快速切换方法网络交互流程图;

图6为本发明实施例的频道快速切换过程中FCC服务器发流的方法示意图;

图7为本发明实施例的频道快速切换过程中PTS的计算方法示意图;

图8为RTP报文头数据结构示意图;

图9为RTP报文扩展头数据结构示意图;

图10为PTS数据结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步描述。

图1为本发明实施例的DVB网络架构图。

如图1所示,本发明实施例为了解决DVB频道的快速切换问题,在现有的DVB网络架构中新增了直播转发(Media Relay Function,MRF)子系统103 和快速频道切换(FCC)服务器104。MRF子系统103主要用于对TS流进行RTP协议封装、平抑DF(Delay Factor)值、前向纠错(Forward Error Correction,FEC)编码等,向FCC服务器提供可靠的RTP流。FCC服务器104用于利用单播辅助广播的方式,缩短频道切换速度,FCC服务器缓存从MRF子系统接收的RTP流,在收到用户设备的FCC服务请求后,直接向用户设备推送自I帧起的单播传输流,确保用户设备快速显示图象,缩短频道切换时间。除以上新增的两个子系统外,该DVB系统还包括:

直播编码器101,用于从节目源(卫星或有线信号中)接收到节目直播信号后转换为IP协议的媒体流(比如TS流),从而使节目直播信号能够通过IP网络进行传输。

调制复用设备102,用于从直播编码器101获取节目的TS流,对TS流进行多路复用处理、信道编码和调制后广播给用户设备104。

具体的,调制复用设备102包括:正交振幅调制(Quadrature Amplitude Modulation,QAM)器和复用器(Multiplex,MUX),MUX主要用于将多路电视节目进行复用后传输。QAM作为DVB系统的前端设备,接收来自编码器、复用器等设备的TS流,进行RS编码(里所码,Reed-solomon codes)、卷积编码和QAM数字调制,输出的射频信号后可以直接通过有线电视网传送给用户设备。

用户设备105,用于从调制复用设备102接收广播的频道的TS流进行解码播放。具体的,用户设备105可以是机顶盒,或者其他支持DVB相关标准的用户终端,比如智能手机、平板电脑等设备。特别的,在本发明实施例中,机顶盒需要同时具有DVB和IP双模功能,既能够从调制复用设备接收广播的频道TS流,也能从FCC服务器接收单播的RTP流。

需要注意的是,以上说明仅示范性列出了本发明方案中DVB网络架构中的部分网络设备和功能实体,在实际的组网架构中该DVB网络还可以包括其他符合DVB系列规范的其他网络功能实体。

下面进一步对本发明实施例中的用户设备进行介绍。图2为本发明实施例的用户设备的结构示意图,如图2所示:本发明实施例中的用户设备200包括:

收发单元201,用于接收用户发起的频道切换请求,所述频道切换请求包括目标频道标识;

DVB控制单元202,用于根据所述目标频道标识确定所述目标频道的频点,锁定所述频点,控制收发单元201从DVB系统接收所述目标频道的广播传输流;

FCC控制单元203,用于根据所述频道切换请求向FCC服务器发送单播请求,所述单播请求包括所述目标频道标识,控制所述收发单元201接收FCC服务器发送的所述目标频道的单播传输流;

判断单元204,用于判断所述广播传输流与所述单播传输流同步时,控制所述收发单元201向所述FCC服务器发送同步通知以指示所述FCC服务器停止发送所述目标频道的单播传输流。

可选的,该用户设备200还进一步包括PTS解析单元205,用于解析接收到的所述目标频道的广播传输流,确定所述广播传输流中的每一个TS包的播放时间标记PTS值。

可选的,该用户设备200还包括RTP解析单元206,用于解析从FCC服务器接收到的RTP报文,获取所述RTP报文中每一个RTP包所携带的TS包的PTS范围值。

可选的,判断单元204具体可用于根据PTS解析单元205获取的广播传输流中TS包的PTS值以及RTP解析单元206获取的单播传输流中TS包的PTS范围值判断所述广播传输流中当前接收的TS包的PTS值是否在所述单播传输流当前接收的RTP包的PTS范围值内,若判断结果为是,则确定所述广播传输流与所述单播传输流同步。

可选的,该用户设备200还可以包括缓存单元207,用于缓存从DVB系统接收到的目标频道的广播传输流,并缓存该广播传输流中每个TS报的PTS值。

需要注意的是,该用户设备200的各个功能模块既可以通过硬件实现,也可以通过软件功能模块,或者软件功能模块结合硬件实现。

下面结合附图3对本发明实施例的另一用户设备作进一步说明。

图3为本发明实施例的另一用户设备的结构示意图,如图3所示,该用户设备300包括:

至少一个处理器301,通信总线302,存储器303以及至少一个通信接口304。

处理器301可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。

通信总线302可包括一通路,在上述组件之间传送信息。所述通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。

存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,所述存储器303用于存储执行本发明方案的应用程序代码,并由处理器301来控制执行。所述处理器301用于执行所述存储器303中存储的应用程序代码。

在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU,例如图3中的CPU0和CPU1。

在具体实现中,作为一种实施例,用户设备300可以包括多个处理器,例如图3中的处理器301和处理器308。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,用户设备300还可以包括输出设备305和输入设备306。输出设备305和处理器301通信,可以以多种方式来显示信息。例如,输出设备305可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备306和处理器301通信,可以以多种方式接受用户的输入。例如,输入设备306可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的用户设备300可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,用户设备300可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、机顶盒、智能电视、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图3中类似结构的设备。本发明实施例不限定用户设备300的类型。

在本发明实施例的DVB频道的快速切换方法中,如上所述的用户设备300的各个部件具体分工如下:

通信接口304,用于接收用户发起的频道切换请求,所述频道切换请求包括目标频道标识;

处理器301,用于根据所述目标频道标识确定所述目标频道的频点;

所述通信接口304,还用于根据所述频道切换请求向FCC服务器发送单播请求,所述单播请求包括所述目标频道标识;

所述通信接口304还用于接收所述FCC服务器发送的所述目标频道的单播传输流;还根据所述目标频道的频点接收DVB系统发送的所述目标频道的广播传输流;

所述通信接口304还用于在所述处理器301判断所述广播传输流与所述单播传输流同步时,向所述FCC服务器发送同步通知以指示所述FCC服务器停止发送所述目标频道的单播传输流。

具体的,所述处理器301还用于解析接收到的所述目标频道的广播传输流,确定所述广播传输流中的每一个传输流TS包的播放时间标记PTS值;

所述处理器301还用于解析单播传输流中的RTP报文,获取所述RTP报文中每一个RTP包所携带的TS包的PTS范围值。所述处理器301还用于判断所述广播传输流中当前接收的TS包的PTS值是否在所述单播传输流当前接收的RTP包的PTS范围值内,若判断结果为是,则确定所述广播传输流与所述单播传输流同步。

需要注意的是,该用户设备300在本发明实施例的DVB频道的快速切换方法中的具体实现,进一步在下文中结合方法实施例进行说明。

下面结合附图对本发明实施例中的FCC服务器作进一步介绍,图4A为本发明实施例的FCC服务器的结构示意图,如图4A所示,FCC服务器400A可包括:

收发单元401A,用于从MRF系统通过单播或者组播的方式接收节目的RTP流,还用于接收用户设备发送的包含目标频道标识的单播请求;

FCC控制单元402A,用于根据所述用户设备的单播请求,控制收发单元401A向用户设备发送该目标频道以I帧起的单播传输流;

判断单元403A,用于在收发单元401A接收到用户设备发送的同步同时后,根据所述同步通知判断广播传输流与所述单播传输流同步时,控制收发单元401A停止向所述用户设备发送所述目标频道的单播传输流。

可选的,该FCC服务器还包括:

RTP解析单元404A,用于用于解析从MRF收到RTP报文,将RTP报文分解为TS包;

PTS解析单元405A,用于解析从分解的TS包,获取每一个TS包的PTS值;

缓存单元406A,用于根据TS包的PID分类缓存解析后的TS包及每一TS 包的PTS值。

判断单元403A,还用于获取所述单播传输流待发送的TS包的PTS值,根据用户设备上报的广播传输流的首个TS包PTS值判断该广播传输流与单播传输流是否同步,若同步,则控制收发单元401A停止向所述用户设备发送所述目标频道的单播传输流。

可选的,该FCC服务器还可以包括RTP封装单元407A,用于对解析后的TS包,通过扩展RTP包头的方式,进行重新封装后发送给用户设备。详细实现过程参考图6和图7。

下面结合附图对本发明实施例中的FCC服务器作进一步介绍,图4B为本发明实施例的FCC服务器的结构示意图,如图4所示,FCC服务器400B可包括:

包括至少一个处理器401B,通信总线402B,存储器403B以及至少一个通信接口404B。

处理器401B可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。

通信总线402B可包括一通路,在上述组件之间传送信息。所述通信接口404B,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。

存储器402B可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,所述存储器403B用于存储执行本发明方案的应用程序代码,并由处理器401B来控制执行。所述处理器401B用于执行所述存储器403B中存储的应用程序代码。

在具体实现中,作为一种实施例,处理器401B可以包括一个或多个CPU,例如图4B中的CPU0和CPU1。

在具体实现中,作为一种实施例,FCC服务器400B可以包括多个处理器,例如图4中的处理器401B和处理器408B。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,FCC服务器400B还可以包括输出设备405B和输入设备406B。输出设备405B和处理器401B通信,可以以多种方式来显示信息。例如,输出设备405B可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备406B和处理器401B通信,可以以多种方式接受用户的输入。例如,输入设备406B可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的FCC服务器400B可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,FCC服务器400B可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图4B中类似结构的设备。本发明实施例不限定FCC服务器400B的类型。

在本发明实施例的DVB频道快速切换方法中,该FCC服务器的各部件具体分工可如下:

通信接口404B可用于接收用户设备发送的单播请求,所述单播请求包括目标频道标识,还用于根据所述目标频道标识,向所述用户设备发送所述目标频道的单播传输流,进一步的通信接口404B还用于接收用户设备发送的同步通知,

处理器401B可用于根据所述同步通知判断所述广播传输流与所述单播传输流同步是否同步,若判断所述广播传输流与所述单播传输流同步,控制所述通信接口404B停止向所述用户设备发送所述目标频道的单播传输流。

需要注意的是,该FCC服务器在本发明实施例的DVB频道的快速切换方法中的具体实现,进一步在下文中结合方法实施例进行说明。

下面结合附图,以用户设备为机顶盒(STB)为例对本发明实施例的DVB频道的快速切换方法作详细说明。

图5为本发明实施例的DVB频道的快速切换方法信令交互流程图,如图5所示,该方法包括如下步骤:

501、用户通过遥控器向STB发起频道切换请求,该频道切换请求中包括目标频道的标识。

需要注意的是,目标频道标识可以是目标频道的频道号,也可以是通过红外或者其他遥控器发送的目标频道的信号标识,机顶盒可以根据该信号标识与内置的频道列表确定目标频道的频道号。

502、STB根据目标频道的标识搜索目标频道的频点;

503、STB向FCC服务器以RTCP消息的形式发起FCC请求消息RSR,携带STB的IP地址和RTCP的端口(port)以及目标频道标识。

504、FCC服务器向STB返回FCC请求响应消息RSI,携带目标频道的单播传输流的第一个RTP包序号和频道码率。

505、FCC服务器从缓存的目标频道的TS流中的某个I帧开始以1.N倍速率发单播传输流给STB,具体流程参考图6的进一步说明。

506、FCC服务器发送完缓存的TS流后,发送同步通知消息SCN给STB。

507、后续FCC服务器以1.0倍速率转发从直播转发系统MRF接收的目标

频道的RTP报文给STB。

FCC服务器转发MRF的RTP报文时,也需要按照PID分类缓存TS,并计算每个TS的PTS值,用扩展头封装RTP,发送给STB,每个RTP包的扩展头包含该RTP包携带的TS包的PTS范围值,具体实现方式参考图6的进一步说明。

508、STB锁定到目标频道的对应频点。

509、从DVB侧的广播设备,如:调制复用设备,接收广播的传输流。

510、STB提取并计算该广播传输流中的每个TS包的PTS值,STB比较DVB侧的当前TS包的PTS值是否在当前RTP报文携带的TS包的PTS范围值内。如果在此范围内,则:

511、发送FCC同步通知响应报文SCR给FCC服务器,并携带通过广播传输流接收的第一个TS包的PTS值给FCC服务器,记为DVB_TS_PTS。

512、FCC服务器继续向STB发单播传输流,同时比较当前要发送的TS包的PTS值是否与DVB_TS_PTS相同,相同,则停止发送单播流,不足部分用TS空包补充。这时,单播传输流和广播传输流就无缝对接成功,FCC服务器就停止向STB发送单播传输流了,后续STB就继续从DVB侧接收广播传输流进行解码播放。

本发明实施例的DVB频道快速切换方法,在现有DVB系统架构中引入FCC服务器,利用FCC服务器单播辅助广播的方式,向用户终端快速发送以I帧开始的单播传输流,确保用户设备快速显示图象,缩短频道切换时间,提升频道切换速度,提升用户体验。

图6为本发明实施例的频道快速切换过程中FCC服务器向用户设备发流的方法示意图,如图6所示:

FCC服务器在向STB发送目标频道的单播传输流之前,首先,FCC服务器需要将从直播转发系统接收的目标频道的RTP报文解析成TS包后进行重新封装成RTP报文,FCC服务器将TS包重新封装为RTP报文时,需要扩展RTP报文头,如图8所示。

其中X=1,标识RTP头有扩展。扩展头如图9所示:

其中TAG=1000,表示是本RTP报文包含的TS包的PTS范围值。PTS1-Low是RTP包中第一个TS包的PTS值的0-31位,PTS1-High是RTP包中第一个TS包的PTS值的32-63位,PTS2-Low是RTP包中最后一个TS包的PTS值的0-31位,PTS1-High是RTP包中最后一个TS包的PTS值的32-63位。

具体的重新封装过程如下:

FCC服务器收到从直播转发系统发送的RTP报文后,将该RTP报文分解成TS包,并按照每个TS包的PID进行分类缓存,同时还需分别计算RTP报文中每个TS包对应的PTS,并将其插入到相应PID的TS包队列,并记录最后一个RTP包的序号LAST_RTP_SN,例如:LAST_RTP_SN=1005。

具体的PTS计算过程参考图7的说明。

需要注意的是,PID是用于指示分组负载数据中存储的数据类型,如视频包、音频包等。

如下步骤为FCC服务器向STB发送单播传输流的具体步骤,该步骤包括:

601、FCC服务器接收STB发送的FCC服务请求消息,请求消息中携带目标频道的标识;

602、FCC服务器在视频缓存队列查找目标频道的最近的I帧,具体实现过程如下:

6021、FCC服务器计算当前PID队列中所有音轨最大PTS值,计为LAST_AUDIO_PTS。

6022、FCC服务器在视频队列中查找PTS小于LAST_AUDIO_PTS的第一个I帧,其PTS计为I_FRAME_PTS,并用指针pVideoTSP指向该I帧所在的TS包。

6023、FCC服务器根据I_FRAME_PTS在音轨i的TS包队列中查找PTS最近的TS包,并用指针pAudioTSP[i]指向该TS包。

6024、FCC服务器计算音视频TS包队列中pVideoTSP和pAudioTSP[i]指针之后的TS包的个数,计为TOTAL_ES_TSP_COUNT。

603、FCC服务器用扩展的RTP封装缓存的TS包,并以1.N倍速率发送RTP报文给STB,具体实现方式如下:

6031、FCC服务器计算当前待传输的音视频TS包(包括PAT/PMT 2个TS包)需要多少个RTP报文来承载:

RTP_COUNT=ceil((TOTAL_ES_TSP_COUNT+2)/TSPS_PER_RTP_PACKET)

6032、FCC服务器计算第一个RTP报文的包序号:

CURRENT_RTP_SN=LAST_RTP_SN–RTP_COUNT+1;

6033、FCC服务器取PAT/PMT的TS包,并从音视频TS包队列中取5个TS包总共7个TS包构成一个RTP包,包序号为CURRENT_RTP_SN;将这个RTP报文发送给机顶盒后,将这个RTP报文加入一个已发RTP包队列(用于重传);

6034、FCC服务器计算当前RTP报文的包序号;

CURRENT_RTP_SN++;

6035、循环,直到音视频TS包队列均为空:

a)FCC服务器从音视频TS包队列中取7个TS包组成RTP报文(如果不足7个TS包,则可以用空TS包填充),RTP包序号为CURRENT_RTP_SN;

b)FCC服务器将新生成的RTP报文发送给机顶盒;

c)FCC服务器将新生成的RTP报文添加到已发RTP包列表(用于重传);

d)FCC服务器计算当前RTP报文的包序号;CURRENT_RTP_SN++;

6036、循环,直到CURRENT_RTP_SN=LAST_RTP_SN:

a)生成7个TS空包组成RTP报文,RTP包序号为CURRENT_RTP_SN;

b)FCC服务器将新生成的RTP报文发送给机顶盒;

c)FCC服务器将新生成的RTP报文添加到已发RTP包列表(用于重传);

d)CURRENT_RTP_SN++;

604、FCC服务器发送完缓冲区的TS流后,以1.0倍速将接收的RTP报文处理并转发给机顶盒。

605、FCC服务器通过PTS值判断本地TS流与DVB侧的TS流是否同步。同步后FCC服务器停止发送单播流给STB,具体方式可参加图5步骤507-508的说明。

需要注意的是,如上对FCC服务器向机顶盒发流的过程说明中的部分步骤图示并未在图6中体现,如步骤602、604等。

下面对PTS的提取和计算方法进一步进行说明,图7为本发明实施例的频道快速切换过程中PTS的计算方法示意图,该方法包括:

701、获取每个TS包的PID信息。

具体的,由于PAT报文的PID固定为0,可以据此先获取PAT报文,然后根据PAT能够得到PMT的PID信息,再根据PAT/PMT报文就能识别出视频PID和EIT的PID。

下面对本步骤的涉及的几个概念予以说明:

PAT:(Program Association Table,节目关联表),解码工作总是通过寻找PAT表开始。PAT给出了构成传送流中各个节目业务的PMT(节目映射表)的PID(包识别符),同时,也给出了NIT(网络信息表)的PID号,根据列出的PID,接收端就可以获得所有的PMT表。

PMT:(Program Map Table,节目映射表),PMT表指出了组成节目业务(Service)的各个码流的PID号,并对各路码流进行描述。PMT描述了当前TS流中节目的视、音频PES流的PID,PMT的个数等于当前TS流中节目的个数。通过PMT,可以从传输流中提取指定节目的基本流并予以解码重放。

EIT(Event Information Table,事件信息表),按时间顺序提供每一个节目业务中包含的节目段的信息,它提供事件的的名称,开始时间,时间长度,运行状态等。

PID:(Packet Identity,数据组识别符),具有唯一的整数值,可以识别传送码流中的单元,例如表、数据、或者一节目的音频。

702、按照PID分类缓存TS包。

具体的,按照各个TS包的PID,将不同PID标识的TS包分类缓存成不同的包队列,比如:视频TS包队列、音频TS包队列、PAT/PMT包队列等。

703、计算每个TS包的PTS,具体实现过程如下:

7031、获取PES包的标题所在TS包。

具体的,对应视频TS包,如果其pay_load_unix_start_indicator字段值为1,且TS负载的前24位为0x000001,说明此TS报文承载的是PES包的标题,则获取该TS包。

7032、提取该TS包的PTS值。

如果PES标题的PTS_DTS_Flags是10或11,提取PTS信息,如图10所示:

7033、以该TS包对应的PTS值为基准,计算后续每个TS包的PTS值。

因为,两个PES包间的所有TS包的PTS值都是一样的,所以以PES包的PTS为基准,将该PES包与下一个PES包间的TS包的PTS值都计为该PES包的PTS值。

7034、当TS包的负载再次包含PES包的标题时,重新提取PES标题所在TS包携带的PTS值,作为后续TS包的PTS计算基准。

需要注意是的,该方法既适用FCC服务器对PTS的提取和计算也适用用户终端对PTS的提取和计算。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1