一、DTV名词
ECM 其全称为Entitlement Control Message(授权控制信息),其意思就是“与条件收视(CA)有关的控制信息”。
EMU 是英文Emulator的缩写,意思是仿真器,在卫星接收领域指使用硬件或软件模拟有条件接收认证环节的环境
EMM 英文为:Entitlement Management Message,它的中文含义为“授权管理信息”,通俗说就是“与更改收视卡内容有关的管理信息”。 EMM含有要求收视卡更改数 据所需的子命令和数据信息。 为对抗破解,这些信息采用了复杂的方法进行了加密。
AU Auto update, 自动升级授权信息
Hops 链路数目
CA 有条件接收系统。常用CA有瑞士Nagravision,英国NDS、法国Canal+与Viacess、荷兰Workcrypt与Irdeto等;国内有清华同方、算通等
CAID 有条件接收系统标识,通俗的说就是加密系统商的代号
EMMG EMM发生器,产生针对用户的信息EMM(也称E信息)。其授予用户何时能收看何节目的权限,是用户收视权管理的一个重要部分。为防止EMM信息被破译,一些重要的EMM需加密后传送,用户端必须解密后才可使用。
PPUA
CW Control wold 控制字
PID 分组识别符
EPG 电子节目时间表
KEY 秘匙
Procotol 通讯协议
ZAP 经常来回切换的一组频道
Frequency 转发器下行频率
FEC 前向纠错比
Bouquets 在DreamBox中是指用户自己定义的一组节目的集合,例如体育节目频道 sports ,电影节目频道 movies,便于分类查寻频道。
POL Polarisation LNB 极化方式
SatcoDX 卫星数据信息的一种协议,包含卫星经度,转发器数据等几乎所有的信息,可以与接收机通讯自动更新这些信息.
SymbolRate 符码率
service 在卫星领域一般指频道或者频道的提供商
TID 转发器ID
SID 频道顺序编号
PID 频道包含的各种数据ID,包括以下内容:
VID 视频ID
AUD 音频ID
PMT 节目映射表
PCR
CAID 加密系统代码4字节
ECM
EMM
PRV 加密系统的代码6个字节
TTX 附加的文本信息
AC3 AC# 数字音频ID
传输流的包长为固定的188个字节,包含TS头、适配域和净荷数据。TS头是由同步字节、标志比特、指示比特、PID加上其他诸如 纠错的定时的信息组成的。其中PID用于区别不同的流和不同的节目特定信息(PSI)。一共有五种不同的PSI:节目关联表(PAT),节目映射表 (PMT),网络信息表(NIT),条件接收表(CAT),数字存储媒体命令与控制(DSM-CC)。
数字电视与传统模拟电视节目选择的方式完全不同, 传统电视的每一个频道对应一个节目,只要调到相应的频率, 就可以看到节目。 而在数字电视信号中,一路码流对应多路节目,使用复用技术就可以做到了。一个物理的频道只能给出包含多路节目的一路传输流。要观看其中的某一路节目,还必 须从该传输流中提取出该路节目的压缩包,然后再进行解码。 所以怎样从众多的传输流中,选中一路节目播放,就变得很复杂。在mpeg-2的传输流(Transport Stream)中,节目专用信息PSI(Program Specific Information),就是规定不同节目和节目中的不同成分如何复用成一个统一的码流。以PSI为基础可以提供一个码流的构成,从而帮助用户对节目进 行选择。DVB中的服务信息SI(Service Information)则对此进行了进一步的扩展,加入了一些对用户有用的信息,标示节目的类型,服务商,节目的相互关系等。正确的了解mpeg-2的 PSI以及DVB的SI的结构,及其在节目组织,选择中的应用,可以正确理解service information在DVB解码中的地位。对于我们做好对数字节目的复用,也能起到帮助作用。
二、MPEG-2 TS中的PSI
PSI信息主要包括以下的表:
PAT(Program Association Table):节目群丛表,该表的PID是固定的0x0000,它的主要作用是指出该传输流ID,以及该路传输流中所对应的几路节目流的 MAP 表和网络信息表的PID。
PMT(Program Map Table):节目映射表,该表的PID是由PAT提供给出的。通过该表可以得到一路节目中包含的信息,例如,该路节目由哪些流构成和这些流的类型(视 频,音频,数据),指定节目中各流对应的PID,以及该节目的PCR所对应的PID。
NIT(Network Information Table):网络信息表,该表的PID是由PAT提供给出的。NIT的作用主要是对多路传输流的识别,NIT提供多路传输流,物理网络及网络传输的相关 的一些信息,如用于调谐的频率信息以及编码方式。调制方式等参数方面的信息。
CAT(Conditional Access Table):条件访问表,PID - 0x0001。
除了上述的几种表外,mpeg-2还提供了私有字段,用于实现对MPEG-2的扩充。
三、DVB中的SI
Mpeg-2的PSI中提供了不少的相关节目组成和相互关系的信息,从而使得在接收端可以正确的对多路传输流进行分解。但是这些信息在实际使用时仍显得不够,为此在DVB中采用SI对PSI信息进行了进一步的扩展。除了在PSI中的信息之外,DVB还定义了一些其他的一些表。
SI的主要用途有:
a、根据NIT,PAT,PMT等信息可以进行自动的频道调谐;
b、更方便的对节目进行选择和定位;
c、实现电子节目指南EPG(Electronic Program Guide),等等。
PSI中的信息基本上都是与当前码流相关的,即它们所涉及的内容都与当前码流中的部分信息相关。与PSI不同的是,SI的信息可以包括不在当前码流中的一些服务和事件,允许用户进行更多的选择和了解更多的其他服务信息。
DVB规定携带SI信息的传输包必须用指定的PID,指定的PID如下表:
TABLE TYPE PID Value
PAT 0X0000
CAT 0X0001
TSDT 0X0002
RESERVED 0X0003 TO 0X000F
NIT,ST 0X0010
SDT,BAT,ST 0X0011
EIT,ST 0X0012
RST,ST 0X0013
TDT,TOT,ST 0X0014
Network Synchroniztion 0X0015
Reserved for future use 0X0016 TO 0X001B
Inband signaling 0X001C
Measurement 0X001D
DIT 0X001E
SIT 0X001F
在该表中可以看到同一个PID可以对应不同的表,要把这样的表区分开来,需要进一步找到TableID 进行识别。
TableID表如下:
Value Description
0x00 Program_association_section
0x01 Conditional_access_section
0x02 Program_map_section
0x03 Transport_stream_description_section
0x04 TO 0x3F Reserved
0x40 Network_information_section-actual_network
0x41 Network_information_section-other_network
0x42 Service_description_section-actual_transport_stream
0x43 TO 0x45 Reserved for future use
0x46 Service_description_section-other_transport_stream
0x47 TO 0x49 Reserved for future use
0x4A Bouquet_association_section
0x4B TO 0x4D Reserved for future use
0x4E Event_information_section-actual_transport_stream,P/F
0x4F Event_information_section-other_transport_stream,P/F
0x50 TO 0x5F Event_information_section-actual_transport_stream,schedule
0x60 TO 0x6F Event_information_section-other_transport_stream,schedule
0x70 Time_data_section
0x71 Running_status_section
0x72 Stuffing_section
0x73 Time_offset_section
0x74 TO 0x7D Reserved for future use
0x7E Discontinuity_information_section
0x7F Selection_information_section
0x80 TO 0xFE User defined
0xFF Reserved
有了这两个ID我们可以在码流中找到我们想要的任何一张表。
SI主要包括以下一些信息表:
NIT(Network Information Table):NIT的作用主要是对多路传输流的识别,NIT提供多路传输流,物理网络及网络传输的相关的一些信息,如用于调谐的频率信息以及编码方式。调制方式等参数方面的信息。根据此信息设置IRD(Integrated Receiver Decoder)可以进行多路传输流之间的切换。
SDT(Service Description Table):用于描述系统中各路节目的名称,该节目的提供者,是否有相应的时间描述表等方面的信息。该表可以描述当前传输流,也可以描述其他的传输流,这由TableID进行区分。
EIT(Event Information Table):该表示对某一路节目的更进一步的描述。它提供事件的的名称,开始时间,时间长度,运行状态等。
TDT(Time and Data Table):该表提供当前的时间信息,该表用来对IRD的解码时钟进行更新
BAT(Bouquet Association Table):该表提供一系列类似节目的集合。这些节目可以不在同一个传输流中,利用该表可以很方便的进行相关节目或某一类节目的浏览和选择。
RST(Running Status Table):该表提供某一具体事件的的运行状态,可用于按时自动的切换到指定的事件
TOT(Time Offset Table):该表提供当地时间与TDT之间的关系,该表与TDT配合使用。
TSDT(Transport Stream Description Table):由PID0x0002标识,提供传输流的一些参数.
ST(Stuffing Table):该表表明其内容是无效的,只是作为填充字节。
那么,我们如何运用DVB中的SI 信息表呢?
1、网络信息表(NIT)
网络信息表提供一组传输流以及相应的调谐信息。NIT在IRD(整合接收解码器)启动程序中用到,并且调谐信息可以存储到不变的存储器中。NIT还可以用来标志调谐信息的变化。NIT遵从如下规定:
a、当前的传输系统必须包含NIT。
b、当且仅当NIT包含可用的传输系统描述符,当前传输系统才是有效的。这就指定了NIT包含有效信息的条件。在一些广播传输系统边界,TS中的NIT也被允 许用来描述广播频道中的早期的网络。IRD不得不选择一个不同的机制来获得当前传输系统的相应的调谐信息。例如,一个卫星IRD接受到当前传输系统的一个 卫星传输系统描述符,那么这个描述符被视为有效,如果一个电缆IRD接收到当前传输系统的一个电缆传输系统描述符也是有效的,但是,如果电缆IRD接收到 当前传输系统的一个卫星传输系统描述符,那么这个描述符对于这个IRD就是无效的。
c、如果当前传输系统一个有效的NIT在SI比特流中出现,那么这个NIT应当列出当前传输系统中所有的TS。
d、SI流每10秒钟应当至少包含8个TS包来传输NIT或者空包。这个规定简化了广播传输边界中NIT的复位(replacement)。使用这样的复位机制,使得本地频率控制使用低廉设备成为可能。
SI 使用两个标志来描述传输系统。它们分别是network_id和original_network_id。后者用来作为一个TS中的一个服务的唯一标志符,即使这个TS被传送到了其他的传输系统之中。
一个TS可以被path: original_network_id/transport_stream_id唯一标识。
一个服务可以被path: original_network_id/transport_stream_id/service_id唯一标识。
显然,network_id不在这个 path之内。另外,每个original_network_id中都有不同的service_id。当一个服务(同一个TS内)被传送到另一个传输系统 后,只有network_id改变了,original_network_id不受影响。
下面举个例子,考虑如下情况:有两个服务(A和B),它们源于两个不同的传输系统并且碰巧有相同的service_id和transport_stream_id,它们被传输到一个新的传输系统。
在 这个例子中,这两个服务被安排在新network中的不同的TS中。如果这两个服务被放在同一个TS中,那么必须修改服务的ID号,因为在同一个TS中一 个service_id不能够分配给多个服务,并且一个TS仅仅可以对应一个original_network_id。
2、BAT信息
BAT提供一组服务,这些服务提供了一个基础,IRD在这些基础之上向用户展示有效的服务。BAT的传输是可选的。下面的规则提高了SI比特流的连贯性并且简化了IRD的工作。
SI比特流应当在每个BAT子表中列出集锦的所有服务。
注意:一个服务可以属于多个bouquet。这一规定使得IRD可以通过不同的TS得到一个服务。
如果IRD将bouquet中服务信息提供给用户,那么列在bouquet中的服务就得到保证,否则一些服务将会丢失。一个bouquet可以把不同网络传输的多个TS中的服务集中起来。如果BAT中所有服务都被列在SDT中,IRD对bouquet中所有服务信息的访问将会变得容易。同样的,如果NIT信 息给出所有TS中service的容量,IRD对service的访问将会变得容易。
3、SDT信息
SDT用来罗列TS中service的名称以及其他参数。每一个TS中都有一个独立的SDT子表。为了提高对service的采集,定义了下列规则:
强制传输当前TS的SDT。
SDT列出的SI比特流至少包括TS中所有服务。
另外:
当前TS(例如table_id=0x46)中SDT描述其他TS时,应当列出这个TS的所有service。
强烈推荐service_id,在一个network中一旦把一个service_id分配给了一个特定的服务,那么这个service_id将不再变化,以便于IRD实现收藏频道列表之类的功能。
4. EIT 信息
事件信息表用来传递当前的,将来的甚至更远的未来的事件的信息。每个Service都有自己独立的EIT子表。
4.1 EIT Present/Following 信息(一下简称EIT P/F)
下列规则简化了EIT P/F信息的获得。SI规范规定EIT段最大部超过4096字节。
SI 流中的每个Service都有两段来描述EIT Present/Following,section_number 0x00用来描述当前事件,section_number 0x01描述下一个事件。这些约束不适用于NVOD引用的Service,这些Service在每段中可能有多个事件描述,并且在EIT Present/Following中可能有更多的段。推荐提供事件描述event_id的升序排列。
在一个section中,SI可以用最多4096个字节来描述一个单独的事件。
对于当前事件有如下规定:
a、同一时刻最多只有一个当前事件。
b、当存在一个当前事件时,该事件应当被描述在EIT Present/Following的section0中。
c、当前事件中的running_status应当被给出。如下表:
e、在同一时刻,最多有一个following event。
f、如果following event存在,该事件应当在EIT Present/Following的section1中。
g、如果following event不存在,则传输一个section1为空的EIT Present/Following。
h、following event的running_status应当给出,如下表:
事件的持续时间和EIT持续时间一样,必须包含事件被置为“not running”或者“pausing”。事件的开始时间和EIT start_time一样,应当是整个事件的开始时间,而不是从pause恢复后的时间。
注 意:一个事件的开始时间加上它的持续时间可能比following event的开始时间要小。换句话说,允许事件之间有间隔。在这种情况下,following event被看作是间隔后的事件。这个事件应当编在EIT Present/Following的section1中。
注意:开始时间和持续时间都是预定的。一些广播服务提供商可能会更新这些信息。而另一些则更愿意保持开始时间不变。例如为了避免名为“8点新闻”的事件被误解,把信息中的开始时间从8:01:23改为8:00:00。
4.2 EIT Schedule信
1)EIT Schedule结构
遵从如下规则:
a、EIT/Schedule分配了16个table_id,0x50-0x5F给当前TS,0x60-0x6F给其它TS,这些id按照时间顺序排列;
b、子表下的256个section被分为32段(segment),每8个section一个段(segment)。Segment#1,从section0到7,segment#2,从section8到15,等等;
c、每段包含三个小时内开始的事件信息;
d、段内事件信息按照时间排列;
e、 如果一个段(segment)有n节(section),而n<8,这个信息必须放在段中前n个节中,还要显式指明最后一节的位置:S0+n-1 (S0是段中第一节),这个值在EIT的segment_last_section_number中。例如,第二段只有两节,那么 segment_last_section_number包含值8+2-1=9;
f、如果段中有节的话,段的segment_last_section_number应当有值s0+7;
g、完全空的段通过空节(不含任何loop over事件)表示,段的vsegment_last_section_number值为s0+0;
h、段中事件的安排遵从一个时间t0。
t0是通用时间坐标(Universal Time Coordinated(UTC))的“last midnight”。
举个例子:UTC-6的下午5点,就是UTC-0的下午11点,即从“last midnight”算起23小时。因此对于UTC-6,t0就是前一天的下午6点;
i、 table_id 0x50(对其它TS是0x60)的第0段,包含从午夜(UTC时间)到“今天”02:59:59(UTC时间)(三个小时)的事件信息。第1段包含从 03:00:00到05:59:59(UTC时间)的事件信息,依此类推。这就意味着,第一个子表包含从“今天”UTC午夜时间算起前4天的信息;
j、last_section_number用来指明子表的结束位置;
k、last_table_id用来指明整个EIT/Schedule结构的结束位置;
l、与过去事件相关的段可以用空段代替,参见g规则;
m、EIT/Schedule包含的事件定义中的running_status应当设为“为定义”即0x00;
n、EIT/Schedule表不适用于NVOD涉及的服务,因为这些服务带有未定义开始时间的事件;
2)EIT 加密
EIT Schedule表格可以被加密。为了与条件接入相联系,必须分配一个service_id(=MPEG-2 program_number)来描述加密的EIT Schedule Tables,这个service_id在PSI中。EIT在PMT中定义,service_id看成由一个private stream组成的各种电视节目(The EIT is identified in the Program Map Table (PMT) section for this service_id as a programme
consisting of one private stream),PMT包含一个或多个CA_descriptor来验证相关的CA码流。为达到这个目的,在DVB应用程序中service_id的值0xFFFF被保留。
目前国际上数字高清晰度电视传输系统中采用的调制技术主要有:四相移相键控(QPSK)、多电平正交幅度调制(MQAM)、多电平残留边带 调制(MVSB)和正交频分复用调制(OFDM)。在有线电视中主要采用MQAM调制方式。QAM调制是一种节省频带的数字调幅方法(16QAM的频谱利 用率为4(bit/s)/Hz,64QAM的频谱利用率为6(bit/s)/Hz),有较高的信噪比。QAM调制方法在2400bit/s以上的中、高速 调制中常被采用,广泛应用于有线电视的下行传输及HDTV的地面广播传输中。
四、加解扰技术
加解扰技术用于对数字节目进行加密解密,其基本原理是采用加扰控制字加密传输的方法,用户端利用IC卡解密。在MPEG传输流中,与控制字传输相关的有两 个数据流:授权控制信息(ECMs)和授权管理信息(EMMs),由业务密钥(SK)加密处理后的控制字在ECMs中传送,其中还包括节目来源、时间、内 容分类和节目价格等节目信息。对控制字加密的业务密钥在授权管理中传送,且业务密钥在传送前要经过用户个人分配密钥(PDK)的加密处理,EMMs中还包 括地址和用户授权信息,如用户可以看的节目或时间段,用户付的收视费等。用户个人分配密钥(PDK)存放在用户的智能卡(SmartCard)中。在用户 端,机顶盒根据PMT和CAT表中的CA descriptor,获得EMM和ECM的PID值,然后,从TS流中过滤出ECMs和EMMs,并通过 SmartCard接口送给SmartCard。Smart Card首先读取用户个人分配密钥(PDK),用PDK对EMM解密,取出SK,然后利用SK对ECM进行解密,取出CW,并将CW通过Smart Card接口送给解扰引擎,解扰引擎利用CW就可以将扰的传输流进行解扰。加解扰技术分为同密和多密技术。
同密技术是将两家或两家以上的条件接收(CA)系统应用于同一网络平台之中,对有线电视台来说是实现技术的选择和一种竞争的环境。
多密技术要求机顶盒采用CI技术,实现同一机顶盒可接收不同CA系统加密节目。从用户角度来讲,不会因购买哪一家CA的机顶盒而受到限制,用户还有选择其CA服务的可能性。
五、复用与解复用技术
整个复用过程可以描述为2个不同层次的复用。
·节目层复用:视频流、音频流和资料流通过复用器复用成一个节目的传送比特流。
·系统层复用:多个节目的传送位流通过复用器复用成系统比特流。
通过这两级复用所生成的都是标准的MPEG-2的TS码流。
解复用单元由专用处理器构成,负责对MPEG-2的TS流和成包基本码流(PES)进行解析,恢复音视频解码器所需的码流,同时负责对传输错误进行标识。 传送系统使用了MPEG-2定义的固定长度为188个字节的传输流分组方式,这些分组是通过分组头中的分组标识(PID)来识别视频、音频或数据信息。传 输流中包含一个或多个节目,每个节目是由一个或多个复用在一起的基本码流构成的。在单路节目传送复用时,组成节目的传送码流的PID信息、码流中传输的应 用(如音频、视频等)标示符以及这些码流之间的关系等,由节目映射表(PMT)来表示。包含PMT的码流的PID号由在节目系统复用时定义的PID=0的 系统级控制码流所携带的节目关联表(PAT)来给出。PMT和PAT都是属于包含节目及系统信息的节目特定信息(PSI)的一部分。解复用器利用PID= 0的节目关联表(PAT)识别出携带所需节目映射表(PMT)的比特流的PID,然后从节目映射表(PMT)中获得构成节目的基本码流的PID号,通过设 置解复用器中的过滤器,来接收所需节目的传送码流。音视频基本码流在传送层中是以分组的基本流(PES)的形式传送的,对所选节目进行PES解包后的压缩 音频、视频流数据交送音频和视频解码单元处理。