打印

DVB-C数据广播系统概述[转]

[复制链接]
3167|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xwj|  楼主 | 2007-9-21 14:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

DVB-C数据广播系统概述
作者:北京广播学院信息工程学院 吴季遥 赵 渊    转贴自:中国广播电视技术网    点击数:9289
提  要:本文介绍DVB中有关数据广播的标准,讨论了如何通过IP OVER DVB 的方式将丰富的互联网资源通过DVB-C信道广播到用户家中,并对多协议封装MPE的实现方式进行了讨论和研究。
关键词:DVB-C DATA BROADCASTING(数据广播)  IP OVER DVB MPE(多协议封装)
 
1 数据广播简介
 
广播电视节目的数字化以及压缩技术、传输技术的发展使得现有的有线电视网络在传送原有的模拟节目之外,还有较大的余力传送数据业务,这就为基于有线网络的数据广播的发展提供了空间。数据广播是一种能够以很高的速度将文本、图形、视频、音频、数据等传输到诸如PC、机顶盒等智能设备的一项技术。数据广播服务商可以从因特网或其他途径获取大量的信息,通过数字广播信道,将丰富的多媒体信息送到用户家中,通过镜像存储,由用户按照需求取用。这种数据传播方式不仅信源丰富,传播广泛,而且还避免了信道拥堵,不能保存等短处,继广播电视和互联网之后称为第五媒体。
 
现在利用HFC网络开展数据业务一般有两种解决方案。一种是通过Cable Modem接入实现双向业务。另一种是通过数据广播提供单向业务,当然也可以利用其他回传信道(例如电话线等)实现准双向的接入。目前我国大多数有线网是单向的,如果采用Cable Modem接入则需要对有线网进行双向改造。而采用数据广播的方式则可以直接利用现有的HFC网络,有较大的可行性。
 
MPEG-2是的对运动图像及其伴音进行压缩的通用标准,在此基础上美国和欧洲都提出了自己的数字电视的标准,即ATSC和DVB。在ATSC和DVB中都有各自的关于数据广播的标准。由于DVB具有价格低廉、节约频率资源等优点,在我国受到了广泛的应用。 DVB主要有三种传输标准——DVB-S,DVB-T,DVB-C。在这里我们主要介绍基于DVB-C的数据广播。
 
 
2 DVB数据广播标准
图1给出了DVB数据广播规范的协议结构:
数据的传输是基于MPEG-2 TS流的,针对不同的应用类型,DVB定义了以下六种方式:
l         数据管道
l         数据流
l         多协议封装
l         数据传送带
l         对象传送带
用户自定义的服务
 


 
 
图1  DVB数据广播协议结构
 
如图1所示,数据广播标准针对不同的应用类型规定了不同的服务级别。数据管道标准对如何从MPEG-2 TS流中恢复数据并没有给出具体的细节,它只是简要描述了如何将数据放入MPEG-2 TS流的分组中去。数据流标准增加了更多的功能,特别是定时。这使得进行异步的数据广播、被同步的数据广播以及同步的数据广播变得可能。多协议封装、数据传送带、对象传送带标准都是建立在使用MPEG-2的DSM-CC帧结构的基础上。它是基于MPEG-2 ISO/IEC 13818-1中定义的MPEG-2中的私有部分。DVB增加的一些特定的信息以使该帧结构在DVB环境中工作,特别是同业务信息(SI)的结合。
 
下面我们将简要介绍这几种数据广播的方式:
(1)数据管道
 
数据广播规范中规定数据管道方式支持在DVB兼容的广播网络中传送简单的、异步的、端到端的数据。数据管道规定直接将需要广播的数据插入MPEG2-TS流的净荷中。
数据管道没有规定数据报分割和重组的方式。如果需要可以在应用部分规定,例如payload_unit_start_indicator可用于标志数据报的开始,而transport_priority可用于标志数据报结束,同时continuity_counter字段应符合MPEG-2标准。
 
(2)数据流
数据广播规范中规定数据流方式支持在DVB兼容的广播网络中传送面向流的、端到端的、异步的或同步的数据。需要广播的数据插入MPEG2中的PES分组中。对于异步数据流,如RS-232数据,没有任何定时的要求。同步数据流和被同步的数据流均是要求定时的数据流。同步数据流在接收端可以恢复其时钟和数据,如E1,T1;被同步的数据流可以实现与其他数据流的同步回放,如视频流、音频流。
 
(3)多协议封装
 
多协议封装方式支持使用通信协议传输数据报的数据广播业务。传输的数据报要按照DSM-CC方式封装。
 
多协议封装提供了在MPEG-2 TS流之上传送使用其他通信协议数据的一种机制。对传送IP协议的数据做了优化,但是也可以通过LLC/SNAP(Logical Link Control/Sub-Network Attachment Point逻辑链路控制层/子网附着点)封装方式传送使用其他协议的数据。它包括单播、组播以及广播方式。48bit的MAC地址用作接收机的地址。但是DVB并未规定如何将MAC地址分配给接收机。由于DVB网络的广播性质,数据的安全是十分重要的。封装协议支持对数据包的加密以及动态变换MAC地址以确保传送数据的安全。
 
(4)数据传送带
   
   数据传送带方式支持周期性的传输数据模块的数据广播业务。数据模块的长度已知并且可以从数据传送带中及时的更新、添加或者删除内容。模块可以分割为一组更小的模块,也可将多个模块组成一个超级模块。在接收端,如果想要获得特定模块中的内容,仅仅只需要等待该模块再次被广播。


图2 数据传送带实例
 
数据被装入称作模块的结构中。这些数据可能仅仅只是一系列文件的内容,如图2中的“文件1”,“文件2”,“文件3”。每个模块被分为一个或者多个按照DSM-CC Download Data Block语法定义的download data message净荷。图2中,每个下载信息仅被插入一次,且同一模块的多个下载数据块是按照顺序依次插入数据传送带的循环中的。但是并没有限制一个特定的信息是如何插入的,对插入的先后顺序以及插入的位置也未作规定。因此可以按照某一应用的最佳方式创建数据传送带,插入的次数和顺序也不是固定的,可以动态的变化。
 
数据要按照MPEG-2 DSM-CC中定义的DSM-CC数据传送带的方式进行传送。
 
(5)对象传送带
   
对象传送带方式支持需要周期性广播DSM-CC用户到用户数据对象的数据广播业务。DSM-CC对象传送带使用目录对象、文件对象和流对象。对象传送带方式将一组结构化的对象进行广播。实际的目录和内容都存放在服务器中。服务器只需要周期性的将需要广播的对象放入DVB兼容的MPEG-2 TS流中即可。
 
发送的目录对象和文件对象包含对象的内容,发送的流对象参考广播中的其他流对象。流对象中也可以包含在特定流中广播的DSM-CC事件的信息。DSM-CC事件可以广播规范的流数据也可以用于DSM-CC的申请触发。
   
   多个客户端可以通过周期的读取传送的循环数据恢复对象实现,从而在客户端模拟服务器端。循环对象提供客户端获取应用及这些应用内容的方式,从而好像与服务器端有交互式的连接。
 
 
3 IP OVER DVB
3.1 系统结构
IP OVER DVB系统融合了DVB和IP两种技术的优势,其系统结构如图3所示:
 


 
 
 
图3  IP OVER DVB-C 系统结构
前端各种信源服务器与DVB网关通过局域网的方式(例如以太网)相连,DVB网关的源可以是磁盘中的文件,也可以是动态的IP数据包和动态的证券信息。DVB网关的基本流程是侦听网上的IP数据报,根据设置滤出需要发送到用户端的IP数据包;按照DVB的标准将IP数据包封装成MPEG-2传输流,接着通过复用器同其他TS流(包括从编码器或者卫星转发器等得到的TS流)进行复用。再将复用后的TS流调制到某个模拟频道并同其他模拟节目混合在一起通过有线网络进行传输。
 
在接收端,用户通过安装在个人电脑上的DVB数据接收卡将从有线电视网中传来的符合DVB-C标准的有线电视信号并进行解调、纠错、解扰、解复用等处理,最后将数据存储到PC上。用户可以根据自己的需要定制不同的节目,让DVB数据接收卡有选择的进行接收。
 
在系统中,还可以加入CA模块,实现有条件接收。传统的模拟的电视节目采用的是广播的方式,只要用户端有接收设备就可以收看,对用户的管理和收费都比较困难。而数据广播系统中加入了用户管理系统和CA,在前端就可以方便的实现对接收端的控制,而且还拥有分级控制的能力,让普通的用户只能看到一般的节目,只有付费用户才能收到相应的信息。这种方式满足了用户个性化的需求,也为提供增值服务提供了必要的条件。
 
 
3.2在MPEG-2 TS流上传送IP数据业务
MPEG-2标准的系统部分描述了如何将视频、音频和数据流复用成一个或者多个适用于存储或传输的流。其中,传输流作为一种流,是专门针对在那些可能会出现显著错误的环境进行节目存储和传输而定义的。
 
 
 
 
 
 
传输流的包长为固定的188个字节,包含TS头、适配域和净荷数据。TS头是由同步字节、标志比特、指示比特、PID加上其他诸如纠错的定时的信息组成的。其中PID用于区别不同的流和不同的节目特定信息(PSI)。一共有五种不同的PSI:节目关联表(PAT),节目映射表(PMT),网络信息表(NIT),条件接收表(CAT),数字存储媒体命令与控制(DSM-CC)。
 
DVB规范中有三种基本的方法将IP数据插入MPEG-2的TS流中。图5说明IP数据的几种可能的接入方式。
 
(1)数据经过封装后在PES中传输,这种方式称为数据流。
(2)数据可以在DSM-CC中定义的段中传输,称为多协议封装(MPE)。
(3)可以使用一个自适应层协议将数据直接插入TS流中。这种方式称为数据管道。
 
MPEG-2为第一种和第二种方式提供了具体的实现方法,分割是自动实现的。而使用第三种方式则需要一个单独的层来实现分割与重组的机制。这是因为一个TS信元携带的净荷为184个字节。当需要传输更长的数据报时,就必需有一个自适应层的协议来实现数据报的重组和封装。
 
   在接收端,接收机要对收到的信元进行识别,以确定数据究竟是按照哪一种方式进行传输的,然后才能送入相应的模块进行处理。通过读取PID值可以完成识别的工作,PID位于PSI表的特定的PMT中。

 
 
 

  
                       图5  PSI结构和TS流的关系实例图
 
3.3 多协议封装MPE (Multiprotocol Encapsulation)
 
由于MPE方式专门为携带IP数据报进行了优化,因此我们将对它作详细的介绍。Multiprotocol encapsulation 多协议封装方式包含了一整套IP协议数据封装的解决方案,包括数据链路层的纠错校验以及TS包封装时的优化实现。MPE方式使用私有段传送IP数据报,并专门根据IEEE LAN/MAN标准制定了封装的方法。数据包被封装在datagram_section中,并与DSM-CC的私有数据的段格式兼容。datagram_section()结构可以有效地被映射到TS包的负载中进行传送。这种封装使用了MAC级的设备地址。地址格式遵循ISO/IEEE的LAN/MAN标准。图6明确直观地表示出IP数据包是如何被封装入DVB MPE datagram_section()中,之后再被分割,加上MPEG传输包头信息最终形成188字节的MPEG传输包的整个流程。

 
 
 
 
图6 IP数据进行DVB多协议封装的流程图
通过图6我们可以看出,IP数据多协议封装的整个过程大致分为下面几个步骤:
 
(1)对IP数据包进行分割
由于受用户端机顶盒硬件资源的限制,网络的最大传输单元MTU为1K字节。因此,datagram_section() 中的有效负载长度最大只能为1008字节。IP数据包大小可以达到65,536字节。要在datagram_section()中来传送IP数据包,必须将IP数据包分割成为不大于1008字节的片段再送到数据链路层。在数据链路层IP数据包片断被封装成为DVB多协议封装datagram_section()。同样的,当DVB MPE datagram_section()传送到接收端,解封装后的IP数据包片断将被重组形成一个完整的IP数据包。
 
(2)对分割好的IP数据包进行多协议封装
将分割好的IP数据包封装入DVB 多协议封装的datagram_section()中去,就要按照DVB标准规定的datagram_section()语法格式进行填充。datagram_section()的语法格式可以参照DVB标准相关部分,在这里不多作介绍。
 
(3)对封装后的DVB MPE datagram_section()进行分割
由于最终要将DVB MPE datagram_section() 封装到MPEG-2 TS 包中传输,而MPEG-2 TS 包的大小是固定188个字节的,所以要对DVB MPE datagram_section() 进行碎片化。MPEG-2 TS包的包头固定4个字节,所以DVB MPE datagram_section() 的碎片最大为184个字节。当DVB MPE datagram_section() 的最后一个碎片的长度不足184字节时,按照TS包的定义,将在后面加入填充比特使其负载达到184字节,但这样的同时就造成资源浪费。因此,我们利用剩余的空间装下一个DVB MPE datagram_section()。当MPEG-2 TS包中存在新的DVB MPE datagram_section() 时,需要重新定义TS头中的PUSI字段,并且加入一个NMP(Next Message Pointer)字段(1字节),用于指出下一个信息包在当前TS包中的开始位置。图7给出了具体的示例。

 
 
 
 

 
 

 
图7 NMP的作用
 
图7
PUSI=1表明有NMP存在;PUSI=0表明没有NMP存在。也就是当前TS包中如果有新的DVB MPE datagram_section(),则PUSI为1。但若DVB MPE datagram_section() 的起始是紧跟NMP的,则NMP=0。在插入NMP(Next Message Pointer)的TS包中,TS 包有效载荷为183个字节,碎片的大小也就要相应的置为183字节。
 
(4)分割好的DVB MPE datagram_section()映射到TS包的负载中
 
按照MPEG-2标准规定的格式进行填充。包括:获取该数据流的PID;continuity_counter值的递增;对于有DVB MPE datagram_section()在当前的MPEG-2 TS包中开始的,要设置PUSI域为‘1’,插入NMP字节,并对NMP字节进行合适的填充使其指向新的DVB MPE datagram_section()的开始字节。最后将已经碎片化的DVB MPE datagram_section()装入MPEG-2 TS包的有效载荷中。
 
(5)填充PSI和SI信息
 
节目专用信息PSI是在接收端用于MPEG-2对节目进行解码所需设置参数的信息,它包括有关视频、音频、数据的PID的规定,以及有关节目PID之间的关系(MPEG-2的PID总数为8191个)。MPEG-2规定了PSI信息有4个;节目相关表PAT(PAT表包的PID始终为0),节目映射表PMT,条件接收表CAT(CAT表包的PID值为1),网络信息表NIT。有着特定PID值的MPEG传输包组成了一个PID流,它将与视频流、音频流和其它数据PID流进行复用最终形成MPEG业务流。MPEG业务流将包含一个PMT PID流,这个PMT PID流包含了PMT。PMT用于识别组成MPEG业务的各种视频、音频、数据成分的PID值。通过多播MAC地址的映射,在PMT中将引入一个新的PMT描述符来识别每个数据PID流所装载的数据。多种业务流,连同一个包含PAT的PID为0的PID流,将被复用在一起形成MPEG TS流。PMT 中stream_type值为0x0D 的传送IP数据的MPEG服务流可以在PMT内包含一个专用的描述字符。这个描述字符帮助接收端解码器判断某个PID流包是否包含接收机感兴趣的IP数据。MAC地址的数量被限制在150个以内。这一数字对于一般PMT描述字符来说已经足够了(如语言,有条件接收等)。如果在特定PID流中包含着多于150个的MAC地址,或是有多个数据PID流,每个装载多个不同的IP数据包流,则可以定义一个MAC地址范围。通过这个MAC地址描述字符就可以快速、高效的解码,判断某一数据PID流是否装载所需要的IP数据,而不用将其解码为DVB MPE包后再进行软件的MAC过滤。利用硬件快速MAC过滤,比使用软件过滤简便,而且效率高。MAC地址描述字符可参看DVB标准有关部分。
 
    仅有MPEG-2的PSI信息,接收解码器并不能自动接收某一业务并提供相应的节目信息。因此在标准中还提供了额外的服务信息(Service Information:SI)作为PSI的补充,SI信息主要提供接收解码的设置信息,如节目的种类、节目的时间,节目的来源等。数据广播业务应该在SI信息中包含一个或多个数据广播描述字符data_broadcast_descriptor(见 EN 300 468 [2])。数据广播描述符语法结构可参看有关标准。
 
 
4  我国数据广播的现状和展望
当前在我国,广播电视传输覆盖网络已有相当大的规模,拥有很大的发展潜力。国家广播电视光缆传输干线网几乎覆盖全国,这为我国数据广播的发展带来极好的机遇,使得在广播电视宽带传输网络上建立中国数据广播平台,开展多媒体数据广播信息服务业务成为可能。我国有线电视正在从模拟到数字,从窄带到宽带,从单向到双向产生质的飞跃。由于有线电视网络频带宽,用户数量大,数据广播市场的潜力极为巨大。多年来,国内许多厂家投入巨大的人力、物力,致力于基于DVB-C 的数据广播技术的开发,已经取得十分可喜的成绩,许多厂家相继开发出多种实用的数据广播系统,分别在不同的地方有线电视网络上获得应用。
 
 
注:
我们可以看到:
DVB-C数据的传输是基于MPEG-2 TS流、通过IP数据包流来传输图像数据,
也就是说需要至少能把MPEG-2 解压出来的芯片,才可能显示出视频来
因此整体成本不会太低
--当然,消费类电器普及和量厂后,就会推出相应的ASIC,量一上去成本、价格就显著降低了:-)

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

xwj

288

主题

22797

帖子

35

粉丝