数据轮播发送端软件设计

2010-04-29 12:07:00来源:DVBCN数字电视中文网 作者:何宇清、王成优热度:
0 引言

随着数字技术、网络技术和多媒体技术的发展,广播电视系统正在向全面数字化的方向发展,数字化后的广播电视网络不仅可以传输视频、音频等信息,而且还可以传输包括图像、文字、数据等各种信息在内的多媒体综合信息,这类广播业务与音视频节目毫无关系,是数字电视广播的新应用。2004年3月,国家广电总局发布了《数字电视系统中的数据广播规范》(GY/T 201-2004)[1],根据不同的应用类型定义了五种数据封装格式,分别是数据管道、数据流、多协议封装、数据轮播和对象轮播。本文利用该标准中数据轮播(DC, Data Carousel)的数据封装方法,实现了对天气预报、交通信息、股票信息等数据信息的广播。

1 数据轮播基本原理

数据轮播是一种支持服务器端周期性地传输数据模块到用户端的数据广播业务。其中的数据模块是重复循环广播的,如果客户端希望接收数据轮播中的特定或指定模块,只需要在该模块广播时接收即可。

1.1 数据轮播标准

我国在制订数据轮播标准时,主要采用了欧洲的DVB(Digital Video Broadcasting)标准[2-5]。在DVB规范中,信源部分采用的是MPEG-2国际标准[6],MPEG-2在系统层详细定义了音视频数据的传输方法[7],同时简单定义了非音视频数据的传输方法。ISO/IEC13818-6[8]数字存储媒体的命令和控制(DSM-CC, Digital Storage Media Command & Control)是数据广播的重要基础。

1.2 数据轮播中数据的组织方式

数据轮播规范规定了数据从发送端到接收端的循环传输方法。同一个数据轮播中的数据是以模块(Module)的形式组织的,模块是已知大小的,模块又被分成数据块(Block)。如果业务需要,模块可以组成一个模块群(Group),多个模块群还可以组成超群(Super Group)。

1.3 数据轮播中的四种信息

在数据轮播标准中,采用了DSM-CC规范中的四种信息:(1) 下载数据块消息DDB (DownloadDataBlock);(2) 下载指示消息DII(DownloadInfoIndication);(3) 下载服务器初始化消息DSI(DownloadServerInitiate);(4) 下载取消消息DownloadCancel。其中,需要传输的数据封装在DDB中,控制信息封装在DSI、DII和DownloadCancel中。在DSI消息中,主要描述一个超群中一个或多个群的信息,这些信息包括组成超群的群的数目(NumberOfGroups)、每个群的群号(group_id),群的大小(group_size),还可以描述每个群的属性,比如采用Name_descriptor进行群的名字描述等等。在DII消息中,主要描述一个群中一个或多个模块的信息。包括该模块群中传输的数据块的大小(blockSize),该群中模块的个数(NumberOfModules),同时逐个描述该群中每个模块的信息,模块信息主要包括模块号(Module_id),模块的大小(module_size)以及模块的版本号(module_version),另外,在模块信息中(moduleInfobyte)还可以采用描述子对模块属性进行描述。

1.4 数据轮播中数据的三次封装

(1) 将轮播数据存入DDB消息的负载中,相应的控制信息放入DII和DSI消息中;
(2) 将上一步获得的DDB、DII和DSI消息按照DSM-CC section的封装规范进行封装;
(3) 将得到的DSM-CC表按照MPEG-2中对private section的处理方法封装成TS流。
经过这三次封装,轮播数据就可以在数据广播网络中传输了。

1.5 数据轮播的结构

数据轮播中有两种基本结构:一层的数据轮播和两层的数据轮播。一层数据轮播拥有一个控制层DII,该控制层描述了单个群。当需要两层控制信息时,DSI消息用于描述超群中的不同的群,DSI消息的用途和单层数据轮播中的用途一样。在本设计中采用一层的数据轮播结构。

2 软件设计

本软件主要分为以下几个部分:用户界面部分,SI信息表生成部分,数据模块封装部分,控制信息生成部分以及TS流封装部分。它们的具体结构如图1所示。


图1 软件设计总体结构
下面对主要的SI信息和DSM-CC表进行设计。

2.1 DDB的设置和消息封装

此部分将文件数据信息打包成DDB,并封装成DSM-CC分段(section)。在此次封装中,table_id=0x3C,说明DSM-CC分段中存放的是DDB消息。数据轮播对文件的大小是有限制的,因为DSI、DII和DDB是封装在DSM-CC分段中传输的,标准中规定每个分段不能超过[FS:Page]4KB,以分段的大小为4096 B计算,DDB中的最大数据净荷为4066 B。同样可以计算出,一个分段可以容纳的群、模块的数目。一个分段最多可以容纳238个群或192个模块。并且每个模块最多可以包含256个DDB,因此一个模块的最大容量为4066×256 B。标准中规定,每个模块被分割为一个或多个数据块,这些数据块是封装在DDB中的,每个DDB消息具有相同的大小(除最后一个数据块的大小可能比较小以外)。在本设计中,采用了一个文件对应一个模块,一个DSM-CC分段对应一个DDB的数据组织方法。

(1) 如果播发文件小于4066 B,则只用一个DDB(或一个DSM-CC分段)就可以存放下,将table_id_extension设置为此消息的moduleid,last_section_number=blockNumber=0。并将生成的DDB文件以moduleid为名存储到指定的硬盘目录下。
(2) 如果文件大于4066 B但小于4 066×256 B,则需要对文件进行分块。根据文件的大小,计算分成的块的数量,并对每一块进行DSM-CC分段封装,并且有section_number=blockNumber。注意,除最后一块外(最后一块的大小可能小于4066 B),所有块的大小均为4066 B。当对所有的块封装完毕后,这样就完成了DDB的整个DSM-CC分段的封装。

2.2 DII的设置和消息封装

广播网络中模块的传输参数由DII消息来传送,在一个DII消息中可以传输同一个数据轮播的多个模块的传输参数。此部分将控制信息打包成DDB,并封装成DSM-CC分段。在此次封装中,table_id=0x3B,说明DSM-CC分段中存放的是DII消息。因为DII消息是作为顶级控制信息,transactionId=0x0000;downloadId的值同DDB中downloadId字段的值相同,在本软件设计中,可以根据实际情况自行设定模块个数,例如当有6个模块时,numberOfModules=0x0110。

2.3 SI信息的生成

在数据轮播中,SI信息主要包括NIT、SDT、PAT以及PMT,按顺序分别介绍如下。

(1) NIT表的设置

NIT表被分成网络信息段(network_information_section)。任何构成NIT表的段,都要由PID为0x0010的TS包传输。描述本地网络的NIT表所有段的table_id=0x40。original_network_id 和 transport_stream_id 两个标识符相结合唯一确定了网络中的TS流。

(2) SDT表的设置

SDT表被分成业务描述段(service_description_section)。任何构成SDT表的段,都要由PID为0x0011的TS包传输。描述本地网络的SDT表所有段的table_id=0x42。数据广播信息是通过SDT表中的data_broadcast_descriptor进行描述的,该描述符用于识别数据成分的类型并提供数据成分的文本描述,它所对应的descriptor_tag=0x64。

data_broadcast_descriptor含有数据广播的特征信息,如数据广播的类型、播发比特率等信息。对于数据轮播来说data_broadcast_id=0x0006。data_broadcast_descriptor中的component_tag与PMT中的stream_identifier_descriptor中的component_tag具有相同的值,通过二者的关系可获得数据轮播的PID。

(3) PAT表的设置

PAT表提供一节目号和包含此节目定义的传送流分组的PID之间的关联。PAT表的节目关联分段(program_association_section)都要由PID为0x0000的TS包传输。PAT分段的table_id=0x00。

(4) PMT表的设置

PMT表提供节目号码与组成它们的原始流之间的映射。任何构成SDT表的段,在标准中没有具体规定,其PID是私自定义的。在数据轮播中,stream_identifier_descriptor有效地建立了component_tag与PID的关联,可确定模块所在的PID;

将预播发文件中的数据作为TS流的负载并加上一定的表头和引导表(NIT表、SDT表、PAT表、PMT表和DSM-CC表(DII表、DSI表和DDB表)),形成完整的TS流,然后通过码流输出卡输出至复用器进行码流复用就可以在数据广播网络中传输了。

3 软件实现

发送端把预播发文件进行打包,定制TS流的软件是在Visual C++环境编程下实现的,程序的主界面如图2所示。


图2 数据轮播TS流生成系统界面

该界面主要由四个部分组成:

(1) 参数部分:[FS:Page]参数部分共有四部分组成,分别为网络参数、传输系统参数、节目参数和数据轮播参数等,这些参数的值在TS流中是不确定的,需要由播发端在播发时设置。
(2) 预播发文件部分:在这部分中,指定需要封装成TS流的播发文件目录路径,本设计中可以播发任意类型的文件,例如天气预报、列车时刻表、航班信息、股票信息、房产信息、医疗信息等。
(3) TS流存放路径:确定生成TS流的名称和存放位置。
(4) 控制按钮部分:主要有两个按钮:生成TS流和退出;生成TS流按钮主要负责将选择的文件按照上面所介绍的各个表的设置方法将(2)中指定目录中的所有文件封装成完整的TS流文件;退出按钮用于退出操作界面。

运行发送端生成TS流的程序,可以得到封装好的、完整的TS流文件。用已有的分析软件EPGDump分析生成的TS流,分析结果如图3所示。


图3 对TS流的分析结果


4 结论

本文首先介绍了数据广播中的数据轮播规范,接着详细论述了数据轮播中的数据封装方式,并在Visual C++环境下设计软件实现了数据轮播发送端播发文件的TS流封装。结果表明,本文设计的软件系统能按照我国数据广播标准的要求,正确地对轮播数据进行封装,生成的TS流文件是完全符合数据广播标准的。数据广播是数字电视广播的重要组成部分,随着电视广播从模拟向数字化的过渡,数据广播在广播电视事业中的作用和影响也会越来越大。

参考文献

[1] GY/T 201-2004, 数字电视系统中的数据广播规范 [S], 国家广播电影电视总局, 2004.03.
[2] ETSI EN 300 468 V1.5.1, Digital Video Broadcasting (DVB) Specification for Service Information (SI) in DVB systems [S], 2003.05.
[3] ETSI TR 101 211 V1.6.1, Digital Video Broadcasting (DVB) Guidelines on implementation and usage of Service Information (SI) [S], 2004.05.
[4] TR.101.202.V1.1.1, Digital Video Broadcasting (DVB) Implementation guidelines for Data Broadcasting [S], 1999.02.
[5] EN 301 192 V1.3.1, Digital Video Broadcasting (DVB) Specification for data broadcasting [S], 2003.05.
[6] 钟玉琢, 王琦, 赵黎等. MPEG-2运动图像压缩编码国际标准及MPEG的新进展 [M], 北京: 清华大学出版社, 2002
[7] ISO/IEC 13818-1, Generic Coding of Moving Picture and Associated Audio: systems [S], 1994.
[8] ISO/IEC 13818-6, Generic Coding of Moving Picture and Associated Audio: Digital Storage Media Command & Control [S], 1996.06.

作者:天津大学电子信息工程学院 何宇清、王成优

责任编辑:chengxi

为您推荐

论数据和对象轮播协议在数据广播应用中的优劣

1引言: 数字技术为广播技术带来了一场深刻的革命。在数字电视技术取得成功之后,人们发现,这种革命的意义可能不仅仅是数字电视本身,而且它为任何数字信息广播开启了大门。通过这扇大门,数字广播技术将在未来信息社会中扮演十分重要的角色。算通公司在多年的数据广播系统的研发和实施过程中,积累了比较丰富的经验,现就数据轮播和对象轮播两种协议在当前数据广播应用中的优劣作一简单的比较。2协议简介2.1DVB数据广播标准整体架构

佳创获批组建广东省数字电视工程技术中心

DVBCN消息近日,广东省科技厅、发改委和经贸委联合发布通知(粤科规划字[2009]189号),批准佳创视讯组建“广东省数字电视综合业务平台工程技术研究开发中心”。近期,广东省科技厅、发改委和经贸委组成的联合专家组对佳创视讯的研究开发能力进行了认真的考察,听取了佳创视讯的可行性论证报告,实地察看了企业的科研设施以及开展的数字电视技术开发情况。经过考察与讨论,专家组认为,佳创视讯在数字电视的技术研发与业务应用方面具有很强的实力,掌握了数字电视的核心技术,具有稳定的数字电视研发团队,并且在资金、设备等方面都有较强的优势,完全符合广东省工程技术研发中心的设立条件,同意组建广东省数字电视综合业务平台工

数据广播技术及应用发展

数据广播系统从起步到现在已有八年时间,通过中国数据广播公司及各地方网络营运公司的支持,数据广播系统技术从实验到实用取得飞速的发展,东太公司参与许多营运公司的数据广播建设,通过这些数据广播系统的建立及发展用户取得一定的经验。下面就DVB数据广播的技术及发展提出几点看法。1数据广播发展历史随着通信技术、多媒体技术及计算机技术的发展,数据广播系统作为一数据通信方式也不断向前发展,从最初的VBI、QPSK到现在的DVB—C;传输速率不断的提高(VBI200K、QPSK1.5M、DVB38M);传输内容发生改变,从最初的文本信息,到现在的网站、多媒体及音视频信息。同时通过其发展过程中不断的营运及市场的检

胶南市数字电视前端与数据广播系统招标采购公告

DVBCN消息,近日记者从青岛建通工程招标咨询中心获悉,胶南市广播电视局的数字电视前端与数据广播系统招标公开招标正式开始。据介绍,此次开标时间:2010年3月2日。相关具体内容如下:青岛建通工程招标咨询有限公司(以下称招标公司)受胶南市广播电视局的委托,就其数字电视前端系统项目及其相关服务以公开招标形式组织采购,欢迎符合条件的供应商参加报价。一、项目编号:JN2010CK1002二、项目名称:胶南市广播电视局数字电视前端系统三、项目采购内容:第一包:前端硬件平台一套(数字卫星接收机、编码器、复用器、加扰器、QAM调制器、混合器、前端网管及相关附件);第二包:数据广播系统(含股票信息系统)一套(