l 引言
欧洲ETSI协会制定的数字电视广播DVB系列标准(DVB-T/C/S)不仅可传送数字电视 业务,还可提供数据广播业务[1-2]。DVB数据广播标准定义了7种数据广播方式,但此协议只规定了数据广播的下3层协议,并没有规定应用层数据业务是 如何封装的。实际应用中存在着各种类型的数据业务,包括流媒体业务、文件业务、互动信息等,对于这些应用,各公司和厂商都定义了自己的业务传输协议。目前 的应用协议及实现主要侧重于特定业务的应用,而不是针对于各种业务的综合设计与实现。
2 系统架构设计
2.1业务载体
为支持各种用户业务,提高系统的扩展性,系统将用户应用分成以下4种业务载体:
1)数字电视:以TS流形式传输的数字电视,包括高清数字电视和标清数字电视;
2)流媒体:用IP来承载的实时音视频流业务;
3)文件业务:以文件形式播发的业务,例如教学课件、图书、文档等;
4)消息业务:消息指不采用文件形式,直接传输数据内容的数据业务,例如即时通信、天气预报、政府公报,股票信息等。
这4种业务构成了系统最基本的业务载体,用户的各种业务都可以用这些业务载体来承载。
2.2 系统架构
整 个卫星广播系统组成如图1所示,包括数据广播中心、卫星传输系统和用户接收终端。数字电视、流媒体、文件数据、消息数据等各种类型的数据在数据广播中心完 成接入、汇集、封装及复用。复用后的信号进入卫星传输系统完成调制、上变频、功率放大,此时的射频信号通过卫星转发器转发供用户接收终端完成接收及处理。
|
系 统协议栈如图2所示。数字电视业务直接通过MPEG一2定义的TS包传输;由于广播是点到多点的单向传输,流媒体、文件及消息都通过UDP/IP协议进行 传输,IP包通过多协议封装(MPE)封装到TS包中。流媒体在UDP层之上,需要RTP/RTCP/RTSP等控制协议保证音视频流的服务质量。在 UDP层之上,根据不同的业务载体定义业务载体传输协议。
|
接收端的用户必须能够识别信道上传输各种媒体和数据信息,并下载所需信息,这就要业务载体传输协议来提供上述功能。业务载体传输协议包括以下几个部分:
1)MPEG-PSI[3]:是MPEG定义的协议,用于解析信道上传输的数字电视节目信息,包括信道上的节目数、各节目的音频和视频的PID、音视频所采用的编码方式等;
2)数据业务公共频道:给出了信道所传输业务的相关信息,例如某个文件传输的PID,IP和端口(Port)、文件名、文件大小等,接收模块获取这些信息之后去相应的位置获取文件;
3)文件传输协议:给出文件业务的传输格式; 4)消息传输协议:给出消息业务的传输格式。
业务载体传输协议格式参考了DVB-SI的协议格式,采用表(Table)的方式,以段(Section)为基本传输单位。一个表由多个段组成,每一段开始都有共同字段[1],标准的DVB-SI段帧头结构为
其中:Table_ID为表唯一的ID号;Section-syntax-indicator为此数据域固定设为l;Section-length为此段 的长度;Version-number为此表的版本号;Section-number为当前段的编号;Last-section-number为一个表中 最后一个段的编号;Current-next-indicator为表示当前的表是否有效。3 协议设计
3.1数据业务公共频道设计
接 收端在接收数据时,通过公共频道获知当前信道中传输数据的预报信息及定位信息,从而从信道中解出其所需要的数据,其功能类似于MPEG一2标准中的PAT 表。系统中的信息定位方法采用4级定位:TS流中的PID、广播IP地址、广播端口(Port)和Service_ID。在一个PID中可能传有多个IP 的数据,而相同IP的数据包的目的端口不一样,传输的内容也就不一样。对于各种业务,每个文件都有一个File_lD,每个消息通道都有一个Mes- sage_ID,每个流媒体都有一个stream_ID,这些ID统称为Service_ID。图3给出了数据业务的分级定位结构,将一个(PID, IP,Port,Service_ID)组合称为一个业务通道[4]。
|
公共频道的PID,IP,Port是已知的,接收端通过固定通道接收公共频道信息。公共频道协议的帧格式为
Data-type给出了业务的类型(文件业务、消息业务和流媒体业务)。PID,Broadcast_IP和Broadcast-Port分别给出了承 载业务的PID,IP地址和端口。Service-name给出了业务的名称。描述符Descriptors()给出了与业务相关的其他信息,例如,文件 业务还需要文件大小、文件类型、版本号等信息。CRC一32为段的CRC校验。用户在收到公共频道数据后,从中解析出当前信道中的数据广播内容,按(PID,IP,Poit,Seivice_jD去定位其所需要的数据并解析。
3.2文件传输协议
在文件传输协议中,为提高文件接收的成功率,发射端把文件拆分成文件块进行传输。每个文件块都有唯一的编号,表示此文件块在文件中的位置。同时为每一个文件块加上头和尾形成一个文件包,以此包为单位进行传输。图4显示了文件拆分和打包过程。
|
文件包的帧格式为
由于文件包是定长包,文件内容可能无法填满一个文件包,因此在文件包的末尾使用填充比特,同时用PackeLlength来指示此包中文件内容的长度,对数据包进行CRC校验。由 于信道存在误码,同一文件的每个文件包不一定是按顺序到达的。接收端每接收到一个包,根据文件包的编号判断此包是否收到过。如果没有收到过,则计算其校验 是否正确,如果不正确则丢弃;如果正确则根据编号加入到文件中。然后处理下一个接收到的包,直到文件的每个包都接收到或发射端不再发送文件为止。如果发送 结束但还有文件包没有收到,则丢弃整个文件,或暂时保存以等待以后可能的重传。图5给出了接收端文件接收软件的工作流程。
|
消息传输协议的帧格式为
Message_ID对应于公共频道中的Service_ID,消息业务是应用最为多样的业务载体,用户可根据需求传输不同的消息业务,这需要用户进一步定义应用层协议。4 系统实现
4.1数据广播中心设计 数据广播中心完成数据的接入、汇集、封装及复用,图6给出了广播中心的设计架构及软硬件划分。中心数据库由4个分数据库组成,包括文件数据库、信息数据 库、媒体数据库和电视节目数据库,分别存储文件、消息、流媒体和数字电视等不同类型的数据。数据广播协议封装完成文件业务和消息业务的协议封装。公共频道 服务器根据传输的业务实时生成公共频道信息。IP打包机完成对IP包的多协议封装,形成TS包。复用器完成多路TS的复接,形成单路TS流送至发送设备。 接入网关完成各种类型业务的接入。如果业务属于非实时业务,则数据被存到数据库中;如果业务要求实时传输,则数据绕过数据库直接送至相应的封装或复用模 块。控制模块完成整个广播中心的控制,主要完成数据广播的管理和控制,包括内容管理、带宽管理、优先级管理、接人控制等[ 5]。
|
4.2接收终端设计
图7给出了多业务数字广播系统接收端的架构及软硬件划分。中频信号被送至接收模块后,首先经过硬件的信道解调及解码;解复用模块对收到的TS流解复用;如果解复用之后的码流是经过加扰的,则需要经过解扰模块进行解扰;然后不同的业务被送至不同的处理模块。
|
数 字电视的音视频流被送至音视频解码模块进行解码,解码之后的原始音视频流通过播放模块播放。对于数据业务,IP解封装模块从特定PID的TS流中将含有公 共频道的IP包解封装出来。接收端从公共频道中获取当前信道中数据业务的信息,从中选取所需要的业务,并获得传输此业务的PID,IP及Port。然后控 制解复用模块解复用相应PID的TS包。IP解封装模块解封装这些TS包中的IP包,然后根据IP,Port和Service_ID接收所需要的数据。接 收端需要实时监控公共频道,以保证当信道中传输的业务发生变化时,公共频道能够及时删除过时的业务信息,增加新的业务信息。
5 系统测试结果
在系统测试时,为达到要求的服务质量,数字电视和流媒体采用独占带宽的形式,以保证低的延时抖动;对于文件、消息两种非实时业务采用共享带宽的形式。表1给出了系统的测试结果。
|
6 小结
笔者提出了一种利用DVB-S信道传输综合业务的数据广播系统,并给出了数据广播中心和多业务接收终端的设计。测试表明,系统能够实现多业务的综合数据广播,针对业务采取不同的传输策略,可以保证业务的传输质量。