数字视频广播(DVB)是由欧洲制定的一套
数字电视标准的统称。它 基于MPEG2的压缩标准来传输音视频数据,并在其中加入自己的扩展。 DVB提供从数字电视广播系统端、机顶盒端、以及二者之间的传输协议 的标准。主要包括
卫星电视标准DVB-S、
有线电视标准DVB-C、地面无 线电视标准DVB-T等三方面。另外,DVB也包括基于数字电视的交互平 台标准,即,多媒体家庭平台(MHP)。目前,DVB是世界上应用最广泛的 数字电视标准。
DVB使用DVB业务信息(SI)来为终端用户提供业务信息。DVB SI 的一个重要用途是提供足够的信息以产生
电子节目指南(EPG)。DVB SI 是基于事件的。一个事件定义为在某个频道、某个时间段内的节目。如果 是一个节目的分阶段播放,或同一个节目在不同频道或不同的时间段播 放,则被视为不同的事件。使用事件概念有一定的限制,事件不能很好地 反映现在中国的广播习惯,不能反映用户的喜好倾向,并且对节目时间或 频道的变更不能进行处理。
为解决DVB SI的不足之处,国际上提出了TV-Anytime(即时电视)。 TV-Anytime适合于广播电视台、节目制作者以及消费电子业等多方面的需 求;为具有录制功能的接收设备提供了一个可行的EPG解决方案,并由 于其多种新特征的引入,多种增值服务也应运而生。应用TV-Anytime开 发EPG已经逐步为越来越多的人所关注。
TV-Anytime是基于节目的。分多个阶段播放的节目,可以被看成是一 个节目,只是具有不同的部分而已。在不同频道或时间段重复播放的节目, 被当作一个节目。这样不仅可以以较好的形式来表示节目,而且数据的冗 余度降低,减少了需要传输的数据量。
另外,DVB SI主要概念是服务/网络表,而TV-Anytime主要概念则 是元数据、节目参考、
位置解析等。TV-Anytime与DVB SI之间有相互交 迭的部分,即事件信息表(DVB SI EIT)。EIT是在DVB上传输的,而 TV-Anytime可在DVB、ARIB和因特网上传输。
TV-Anytime的主要概念是内容参考标识符CRID(Content Reference IDentifier)、元数据、节目参考、位置解析,他们都是以XML格式进行描 述。在单方向网络环境下,为了更有效的利用带宽,TV-Anytime标准使用 二进制压缩标准,对以XML格式描述的TV-Anytime数据进行封装,进而 在网络上进行传输。
封装方法是,将各个XML格式的描述段进行分段划分(Fragment),对 所得分段数据进行压缩编码(Encode),对编码以后的分段信息进行封装 (Encapsulate),将封装以后的数据装载在一个容器中(Container),进而进行 传输。另外,为了提供TV-Anytime的初始化信息,还提供一个TVA-INIT 消息。因此,二进制封装以后的TV-Anytime就是由一个TVA-INIT消息, 以及若干个容器(Container)组成。
有关本发明的前述及其它技术内容、特点与功效,通过以下结合参考 附图的优选实施例的详细说明,将会更加清楚。
为了清楚起见,下面首先对TV-Anytime的主要内容进行描述。
TV-Anytime的主要内容包括元数据,节目参考,CRID,和位置解析。
元数据定义了节目、节目组和电视节目安排表的描述。元数据主要有 实例描述元数据和内容描述元数据。前者包含已发布的节目的时间安排信 息(但没有内容的描述),实际的节目安排可能会有所变化;后者给出了有 关节目的描述信息。
节目参考CRID以与播出时间和频道无关的方式,为节目和节目组提 供内容。通过CRID将节目描述与其在电视节目安排中的相应位置建立联 系。通常,节目和节目组可以分配一个CRID。
节目可以被分割成多个片断,广播电台可以发布对节目的不同片断的 描述。
CRID具有确定性,这是由其表示方式决定的,因为DNS域名也是确 定的。同样的节目内容可以有多个CRID。
位置解析就是查找位置信息表,得到节目播放时间和频道信息的过 程。对于节目的位置解析,根据元数据可以得到节目的CRID,根据CRID 就可以查找位置信息表,最终得到节目播放的时间和频道的信息。
在数字电视中,所有的音、视频
信号和数据信息经过编码后,在进入 传输系统前,必须按照MPEG-2标准打包,形成固定长度的传送流(TS) 包,包长为188字节或204字节。
根据本发明,将各个数据容器的传输与TVA-INIT消息的传输分离 开来,并添加一个描述符,用于描述传输数据容器的方法。具体如下:
将实际的TV-Anytime数据,即各个数据容器,用DVB中现有的数 据/文件传输机制,从前端传输到终端;
在DVB中增加两个描述符,一个用于描述TV-Anytime数据的初始 化参数,即TVA-INIT;另一个用于描述传输各个数据容器的传输参数; 这两个新增的描述符,必须同时出现在用于描述某一个TV-Anytime服务 的表(Table)中,例如出现在服务描述表(SDT)中,也可以出现在新增的表中。
因而,可由该上述即时电视描述表获得TV-Anytime数据的引用,进 而获得TV-Anytime数据本身。
下面结合图1说明根据本发明的实施例,在DVB网络中传输 TA-Anytime业务的流程。
首先,在数字视频广播系统的前端,系统对要传输的数据进行初始化。 为了在DVB网络中传输TA-Anytime业务,需要将TV-Anytime的描述分 离成数据容器和TA-Anytime的初始化消息分开传输。在本实施例中,假 设TA-Anytime原始数据经过压缩编码和封装,例如,形成了容器1、容器 2、容器3等三个数据文件,并假设系统采用
数据轮播方式传输数据。该 TV-Anytime应用的初始化信息TVA_INIT封装在TVA_INIT消息中。在本 实施例中,容器中的数据可以是不同的电影或电视节目的元数据,但本发 明不限于此,也可以是其它数据。
在系统前端,将TVA_INIT消息封装在TV-Anytime初始化描述符 TVA_INIT_Descriptor中。此后,根据承载数据容器的基本流等信息,组 成基于数据轮播的传输协议描述符transport_protocol_descriptor。系统前端 将上述两个描述符组织在一起,放入一个业务描述表(SDT)的子表中, 并放到网上向客户端传输。
在客户端(例如,机顶盒STB)接收该SDT子表。描述符解码器根 据该子表提取出TV-Anytime初始化描述符和传输协议描述符。根据 TV-Anytime初始化描述符TVA_INIT_Descriptor来初始化TV-Anytime解 码器的处理环境(即时电视解码器);通过分析传输协议描述符 transport_protocol_descriptor来初始化客户端基于数据轮播的接收环境(缓 存装置)。就是说,在接收端包括描述符解码器和即时电视解码器。描述 符解码器用于从接收到的即时电视描述表中提取即时电视初始化参数和 即时电视的数据容器的传输协议信息。即时电视解码器在接收到即时电视 的相应数据容器后,按照即时电视的解码机制处理数据容器。
为了进行传输,系统端将三个数据容器1-3组织进数据轮播的传输机 制。客户端的数据轮播的缓存装置,发现三个容器的传输以后,将他们下 载,缓存在本地
存储器中。缓存完成后,该缓存装置将有容器到达的消息 报告给TV-Anytime解码器。TV-Anytime解码器在得到相应的容器以后, 再按照本身机制进行处理。另外,TV-Anytime处理程序可以通过
硬件装置 实现,也可以通过
软件或软件与硬件的组合来自实现。
上面结合数据轮播的方式描述了TV-Anytime业务的传输过程。应该 指出,本发明不限于此,也可采用其它传输方式,例如,对象轮播,IP, HTTP等方式。由于TV-Anytime业务可以看作是一个基于DVB的数据业 务,因此它的相关数据就可以使用DVB已经具有的数据业务传输机制在 系统端与终端之间传输。
下面对本发明中增加的描述符进行详细说明。
业务信息表传送的信息都是通过描述符(descriptor)的形式给出的。 每个描述符都以descriptor_tag(用于唯一标识descriptor的类型)和 descriptor_length开始。不同的描述符用于描述不同业务信息表中承载的信 息
1.TV-Anytime初始化描述符
下面的表1中给出了初始化描述符TVA_NIT_Descriptor的语法结构。
表1 TVA的初始化描述符的语法 语法 位数 助记符 TVA_INIT_descriptor(){ descriptor_tag descriptor_length TVA_init() } 8 8 uimsbf uimsbf uimsbf
descriptor_tag:8位整数字段,此值描述该描述符为TV-Anytime初 始化描述符;
descriptor_length:8位字段,表示在该域之后字节的总数。
TVA-init():为单向环境中即时电视的系统概要中定义的TVA Init Message。该信息用于描述一个解码器的初始化参数信息,该解码器用于 解码TV-Anytime元数据的分段封装的数据流(TV-Anytime metadata fragment stream)。该消息必须在任何解码发生之前,传输到终端。
2.传输协议描述符
传输协议描述符概述
在DVB系统中,数据业务的传输主要有IP/HTTP/对象轮播(OC)/数据 轮播(DC)等方式。因为可以将TV-Anytime业务看作是一个基于DVB的数 据业务,因此它的相关数据就可以使用DVB已经具有的数据业务传输机 制来在系统端与终端之间传输。
因此,在定义传输协议描述符时,有必要考虑各种可能的数据业务传 输机制。在这里,主要参考了MHP1.1.1(ETSI TS 102 812v1.2.1)中的应用 信令(Application Signalling)中的应用信息描述表(Application Information Table)中的传输协议描述符(Transport Protocol Descriptor)。对其扩展了数据 轮播的描述符,并与其兼容。应该指出,本发明不限于此,也可应用于其 它传输协议描述符。
下面的表2给出了传输协议描述符。
表2传输协议描述符的语法 语法 位数 助记符 transport_protocol_descriptor(){ descriptor_tag descriptor_length protocol_id transport_protocol_label for(i=0;i<N;i++){ selector_byte } } 8 8 16 8 8 uimsbf uimsbf uimsbf uimsbf uimsbf
descriptor_tag:8位整数字段,此值为0x02表示传输协议描述符。
protocol_id:16位字段,此域表示传输应用的传输协议的标识符, protocol_id的值见下面的表3。
表3传输协议ID protocol_id 描述 0x0000 预留 0x0001 对象轮播 0x0002 多协议封装的IP 0x0003 交互通道中的HTTP协议 0x0004 数据轮播 0x0005-0x00FF 预留使用 0x0100-0xFFFF 本标准中没有定义
transport_protocol_label:8位字段,在AIT段中唯一地指示一个传输 协议,应用描述符通过此值找到传输应用的传输连接。
selecto_byte:8位字段,补充协议专用信息。它的语义见表4。
表4选择器的语义 protocol_id 选择器数据 0x0000 预留 0x0001 见ETSI TS 102 812v1.2.1 0x0002 见ETSI TS 102 812v1.2.1 0x0003 见ETSI TS 102 812v1.2.1 0x0004 见“通过DC传输” 0x0005-0xFFFF 本标准中没有定义
通过数据轮播(DC)传输
当protocol_id的值为0x0004时,在传输协议描述符中的selector_byte 语法结构见表8。
表5通过DC传输的selector_byte的语法 语法 位数 助记符 remote_connection reserved_future_use if(remote_connection==″1″){ original_network_id transport_stream_id service_id } component_tag 1 7 16 16 16 8 bslbf bslbf uimsbf uimsbf uimsbf uimsbf
component_tag:8位字段,指示传输应用的主要业务分量,所指示的 分量是承载着数据轮播的DSI的基本流。
remote_connection:如果传输连接不是由承载此 transport_protocol_descriptor描述符的业务而是其他业务提供,则此值为1, 这时其后的3个域original_network_id、transport_stream_id、service_id应该 包含在selector_byte中,如果传输连接就是由承载当前 transport_protocol_descriptor描述符的业务提供,则此值为0。
original_network_id:16位字段,指示提供传输连接的传送流业务信息 (SI)的初始网络ID。
transport_stream_id:16位字段,指示提供传输连接的传送流的MPEG传 送流ID。
service_id:16位字段,指示提供传输连接业务的服务ID。
下面说明TV-Anytime数据传输时的实现。
在传输协议描述符中
指定的相关引用中,传输TV-Anytime分段数据, 包括数据容器(Data Container)与索引容器(Index Container)。
IP/HTTP/OC:每一个封装完了的数据集作为一个文件对象,直接将这 些数据文件作为传输对象,利用每种传输机制来传输即可。接收端,按照 标准方式接收即可;
DC:整个TV-Anytime分段(Fragment)数据的传输,用一个DII消 息来传输;每一个封装完了的数据集作为一个数据模
块,在DII信息中, 用一个moduleId及其相应的描述符来描述;对于大型文件,如一个模块 放不下的文件,可以将其分成若干个子模块,使用模块链接描述符将其连 接起来。在包含该文件的子目录对应的DII中对应于该文件的几个子模块 使用相同的名字描述符,同时对几个子模块使用恰当的模块链接描述符来 确定它们的连接顺序。例如文件文件1被分为三个子模块:文件11、文件 12、文件13。ModuleId分别为0、1、2。它们的名字描述符都为“文件”, 模块链接描述符的position分别为0x00(第一个位置)、0x01(中间位置) 和0x02(最后的位置),模块链接描述符的moduleId分别为0(将被忽略)、 1、2。
至此已结合优选实施例对本发明进行了详细描述。通过在现有的DVB 网络上传输即时电视业务,可以产生多种增值服务。例如因特网上的内容 向导、远程控制,虚拟电视频道等。
虽然参考优选实施例对本发明进行了描述,本发明并不局限于此,而 仅由所附
权利要求限定,本领域技术人员在不脱离本发明精神的情况下可 对本发明的实施例进行各种改变和改进。