﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-My C++-随笔分类-DTV</title><link>http://www.cppblog.com/finehai/category/11238.html</link><description>当时只道是寻常~</description><language>zh-cn</language><lastBuildDate>Sat, 22 Aug 2009 12:06:41 GMT</lastBuildDate><pubDate>Sat, 22 Aug 2009 12:06:41 GMT</pubDate><ttl>60</ttl><item><title>DTV相关概念及技术</title><link>http://www.cppblog.com/finehai/archive/2009/08/21/93999.html</link><dc:creator>Bluesea</dc:creator><author>Bluesea</author><pubDate>Fri, 21 Aug 2009 02:40:00 GMT</pubDate><guid>http://www.cppblog.com/finehai/archive/2009/08/21/93999.html</guid><wfw:comment>http://www.cppblog.com/finehai/comments/93999.html</wfw:comment><comments>http://www.cppblog.com/finehai/archive/2009/08/21/93999.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/finehai/comments/commentRss/93999.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/finehai/services/trackbacks/93999.html</trackback:ping><description><![CDATA[<p><strong>一、DTV名词<br></strong><br>ECM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其全称为Entitlement Control Message(授权控制信息)，其意思就是&#8220;与条件收视（CA）有关的控制信息&#8221;。</p>
<p>EMU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是英文Emulator的缩写，意思是仿真器，在卫星接收领域指使用硬件或软件模拟有条件接收认证环节的环境</p>
<p>EMM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;英文为：Entitlement Management Message，它的中文含义为&#8220;授权管理信息&#8221;，通俗说就是&#8220;与更改收视卡内容有关的管理信息&#8221;。 EMM含有要求收视卡更改数&nbsp; 据所需的子命令和数据信息。 为对抗破解，这些信息采用了复杂的方法进行了加密。</p>
<p><br>AU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Auto update, 自动升级授权信息</p>
<p>Hops&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;链路数目</p>
<p>CA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有条件接收系统。常用CA有瑞士Nagravision,英国NDS、法国Canal+与Viacess、荷兰Workcrypt与Irdeto等；国内有清华同方、算通等</p>
<p>CAID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有条件接收系统标识,通俗的说就是加密系统商的代号</p>
<p>EMMG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EMM发生器，产生针对用户的信息EMM（也称E信息）。其授予用户何时能收看何节目的权限，是用户收视权管理的一个重要部分。为防止EMM信息被破译，一些重要的EMM需加密后传送，用户端必须解密后才可使用。</p>
<p>PPUA</p>
<p>CW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Control wold 控制字</p>
<p>PID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 分组识别符</p>
<p>EPG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 电子节目时间表</p>
<p>KEY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;秘匙</p>
<p>Procotol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通讯协议</p>
<p>ZAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 经常来回切换的一组频道</p>
<p>Frequency&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 转发器下行频率</p>
<p>FEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前向纠错比</p>
<p>Bouquets&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在DreamBox中是指用户自己定义的一组节目的集合,例如体育节目频道 sports ,电影节目频道 movies,便于分类查寻频道。</p>
<p>POL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Polarisation LNB 极化方式</p>
<p>SatcoDX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 卫星数据信息的一种协议,包含卫星经度，转发器数据等几乎所有的信息，可以与接收机通讯自动更新这些信息.</p>
<p>SymbolRate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 符码率</p>
<p>service&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在卫星领域一般指频道或者频道的提供商</p>
<p>TID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 转发器ID<br>SID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 频道顺序编号<br>PID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 频道包含的各种数据ID,包括以下内容：</p>
<p>VID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;视频ID <br>AUD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;音频ID<br>PMT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;节目映射表<br>PCR<br>CAID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 加密系统代码4字节<br>ECM<br>EMM <br>PRV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;加密系统的代码6个字节<br>TTX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;附加的文本信息<br>AC3&nbsp;&nbsp;AC#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数字音频ID</p>
<p><br>传输流的包长为固定的188个字节，包含TS头、适配域和净荷数据。TS头是由同步字节、标志比特、指示比特、PID加上其他诸如 纠错的定时的信息组成的。其中PID用于区别不同的流和不同的节目特定信息（PSI）。一共有五种不同的PSI：节目关联表（PAT），节目映射表 （PMT）,网络信息表（NIT）,条件接收表（CAT）,数字存储媒体命令与控制（DSM-CC）。</p>
<p>数字电视与传统模拟电视节目选择的方式完全不同， 传统电视的每一个频道对应一个节目，只要调到相应的频率， 就可以看到节目。 而在数字电视信号中，一路码流对应多路节目，使用复用技术就可以做到了。一个物理的频道只能给出包含多路节目的一路传输流。要观看其中的某一路节目，还必 须从该传输流中提取出该路节目的压缩包，然后再进行解码。 所以怎样从众多的传输流中，选中一路节目播放，就变得很复杂。在mpeg-2的传输流(Transport Stream)中，节目专用信息PSI（Program Specific Information），就是规定不同节目和节目中的不同成分如何复用成一个统一的码流。以PSI为基础可以提供一个码流的构成，从而帮助用户对节目进 行选择。DVB中的服务信息SI(Service Information)则对此进行了进一步的扩展，加入了一些对用户有用的信息，标示节目的类型，服务商，节目的相互关系等。正确的了解mpeg-2的 PSI以及DVB的SI的结构，及其在节目组织，选择中的应用，可以正确理解service information在DVB解码中的地位。对于我们做好对数字节目的复用，也能起到帮助作用。</p>
<p><br><font color=#ff0000><strong><font color=#000000>二、MPEG-2 TS中的PSI<br></font></strong><br></font>PSI信息主要包括以下的表：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PAT（Program Association Table）：节目群丛表，该表的PID是固定的0x0000，它的主要作用是指出该传输流ID，以及该路传输流中所对应的几路节目流的 MAP 表和网络信息表的PID。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PMT（Program Map Table）：节目映射表，该表的PID是由PAT提供给出的。通过该表可以得到一路节目中包含的信息，例如，该路节目由哪些流构成和这些流的类型（视 频，音频，数据），指定节目中各流对应的PID，以及该节目的PCR所对应的PID。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NIT（Network Information Table）：网络信息表，该表的PID是由PAT提供给出的。NIT的作用主要是对多路传输流的识别，NIT提供多路传输流，物理网络及网络传输的相关 的一些信息，如用于调谐的频率信息以及编码方式。调制方式等参数方面的信息。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CAT（Conditional Access Table）：条件访问表，PID － 0x0001。<br>除了上述的几种表外，mpeg-2还提供了私有字段，用于实现对MPEG-2的扩充。<br></p>
<p><strong><br>三、DVB中的SI<br></strong><br>Mpeg-2的PSI中提供了不少的相关节目组成和相互关系的信息，从而使得在接收端可以正确的对多路传输流进行分解。但是这些信息在实际使用时仍显得不够，为此在DVB中采用SI对PSI信息进行了进一步的扩展。除了在PSI中的信息之外，DVB还定义了一些其他的一些表。<br>SI的主要用途有：<br>a、根据NIT，PAT，PMT等信息可以进行自动的频道调谐；<br>b、更方便的对节目进行选择和定位；<br>c、实现电子节目指南EPG(Electronic Program Guide)，等等。<br><br>PSI中的信息基本上都是与当前码流相关的，即它们所涉及的内容都与当前码流中的部分信息相关。与PSI不同的是，SI的信息可以包括不在当前码流中的一些服务和事件，允许用户进行更多的选择和了解更多的其他服务信息。<br><br>DVB规定携带SI信息的传输包必须用指定的PID，指定的PID如下表：<br><br>TABLE TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PID Value<br>PAT 0X0000 <br>CAT 0X0001<br>TSDT 0X0002<br>RESERVED 0X0003 TO 0X000F<br>NIT，ST 0X0010<br>SDT，BAT，ST 0X0011 <br>EIT，ST 0X0012 <br>RST，ST 0X0013 <br>TDT，TOT，ST 0X0014 <br>Network Synchroniztion 0X0015 <br>Reserved for future use 0X0016 TO 0X001B<br>Inband signaling 0X001C<br>Measurement 0X001D<br>DIT 0X001E <br>SIT 0X001F <br><br><font color=#0000ff>在该表中可以看到同一个PID可以对应不同的表，要把这样的表区分开来，需要进一步找到TableID 进行识别。</font></p>
<p>TableID表如下：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>Value Description <br>0x00 Program_association_section<br>0x01 Conditional_access_section<br>0x02 Program_map_section<br>0x03 Transport_stream_description_section<br>0x04 TO 0x3F Reserved<br>0x40 Network_information_section-actual_network<br>0x41 Network_information_section-other_network<br>0x42 Service_description_section-actual_transport_stream<br>0x43 TO 0x45 Reserved for future use<br>0x46 Service_description_section-other_transport_stream<br>0x47 TO 0x49 Reserved for future use<br>0x4A Bouquet_association_section<br>0x4B TO 0x4D Reserved for future use<br>0x4E Event_information_section-actual_transport_stream,P/F<br>0x4F Event_information_section-other_transport_stream,P/F<br>0x50 TO 0x5F Event_information_section-actual_transport_stream,schedule<br>0x60 TO 0x6F Event_information_section-other_transport_stream,schedule<br>0x70 Time_data_section<br>0x71 Running_status_section<br>0x72 Stuffing_section<br>0x73 Time_offset_section<br>0x74 TO 0x7D Reserved for future use<br>0x7E Discontinuity_information_section<br>0x7F Selection_information_section<br>0x80 TO 0xFE User defined<br>0xFF Reserved<br><br>有了这两个ID我们可以在码流中找到我们想要的任何一张表。<br><br><strong>SI主要包括以下一些信息表：<br></strong><br>NIT（Network Information Table）：NIT的作用主要是对多路传输流的识别，NIT提供多路传输流，物理网络及网络传输的相关的一些信息，如用于调谐的频率信息以及编码方式。调制方式等参数方面的信息。根据此信息设置IRD（Integrated Receiver Decoder）可以进行多路传输流之间的切换。 <br>SDT（Service Description Table）：用于描述系统中各路节目的名称，该节目的提供者，是否有相应的时间描述表等方面的信息。该表可以描述当前传输流，也可以描述其他的传输流，这由TableID进行区分。<br>EIT（Event Information Table）：该表示对某一路节目的更进一步的描述。它提供事件的的名称，开始时间，时间长度，运行状态等。<br>TDT（Time and Data Table）：该表提供当前的时间信息，该表用来对IRD的解码时钟进行更新<br>BAT（Bouquet Association Table）：该表提供一系列类似节目的集合。这些节目可以不在同一个传输流中，利用该表可以很方便的进行相关节目或某一类节目的浏览和选择。<br>RST（Running Status Table）：该表提供某一具体事件的的运行状态，可用于按时自动的切换到指定的事件<br>TOT（Time Offset Table）：该表提供当地时间与TDT之间的关系，该表与TDT配合使用。<br>TSDT（Transport Stream Description Table）：由PID0x0002标识,提供传输流的一些参数.<br>ST（Stuffing Table）：该表表明其内容是无效的，只是作为填充字节。</p>
<p>那么，我们如何运用DVB中的SI 信息表呢？<br></p>
<p><strong><br>1、网络信息表（NIT）<br></strong><br>网络信息表提供一组传输流以及相应的调谐信息。NIT在IRD（整合接收解码器）启动程序中用到，并且调谐信息可以存储到不变的存储器中。NIT还可以用来标志调谐信息的变化。NIT遵从如下规定：<br>a、当前的传输系统必须包含NIT。<br>b、当且仅当NIT包含可用的传输系统描述符，当前传输系统才是有效的。这就指定了NIT包含有效信息的条件。在一些广播传输系统边界，TS中的NIT也被允 许用来描述广播频道中的早期的网络。IRD不得不选择一个不同的机制来获得当前传输系统的相应的调谐信息。例如，一个卫星IRD接受到当前传输系统的一个 卫星传输系统描述符，那么这个描述符被视为有效，如果一个电缆IRD接收到当前传输系统的一个电缆传输系统描述符也是有效的，但是，如果电缆IRD接收到 当前传输系统的一个卫星传输系统描述符，那么这个描述符对于这个IRD就是无效的。<br>c、如果当前传输系统一个有效的NIT在SI比特流中出现，那么这个NIT应当列出当前传输系统中所有的TS。<br>d、SI流每10秒钟应当至少包含8个TS包来传输NIT或者空包。这个规定简化了广播传输边界中NIT的复位（replacement）。使用这样的复位机制，使得本地频率控制使用低廉设备成为可能。<br>SI 使用两个标志来描述传输系统。它们分别是network_id和original_network_id。后者用来作为一个TS中的一个服务的唯一标志符，即使这个TS被传送到了其他的传输系统之中。<br>一个TS可以被path： original_network_id/transport_stream_id唯一标识。<br>一个服务可以被path： original_network_id/transport_stream_id/service_id唯一标识。<br>显然，network_id不在这个 path之内。另外，每个original_network_id中都有不同的service_id。当一个服务（同一个TS内）被传送到另一个传输系统 后，只有network_id改变了，original_network_id不受影响。<br>下面举个例子，考虑如下情况：有两个服务（A和B），它们源于两个不同的传输系统并且碰巧有相同的service_id和transport_stream_id，它们被传输到一个新的传输系统。<br>在 这个例子中，这两个服务被安排在新network中的不同的TS中。如果这两个服务被放在同一个TS中，那么必须修改服务的ID号，因为在同一个TS中一 个service_id不能够分配给多个服务，并且一个TS仅仅可以对应一个original_network_id。<br><br><strong>2、BAT信息<br></strong><br>BAT提供一组服务，这些服务提供了一个基础，IRD在这些基础之上向用户展示有效的服务。BAT的传输是可选的。下面的规则提高了SI比特流的连贯性并且简化了IRD的工作。<br>SI比特流应当在每个BAT子表中列出集锦的所有服务。<br>注意：一个服务可以属于多个bouquet。这一规定使得IRD可以通过不同的TS得到一个服务。<br>如果IRD将bouquet中服务信息提供给用户，那么列在bouquet中的服务就得到保证，否则一些服务将会丢失。一个bouquet可以把不同网络传输的多个TS中的服务集中起来。如果BAT中所有服务都被列在SDT中，IRD对bouquet中所有服务信息的访问将会变得容易。同样的，如果NIT信 息给出所有TS中service的容量，IRD对service的访问将会变得容易。<br><br><strong>3、SDT信息<br></strong><br>SDT用来罗列TS中service的名称以及其他参数。每一个TS中都有一个独立的SDT子表。为了提高对service的采集，定义了下列规则：<br>强制传输当前TS的SDT。<br>SDT列出的SI比特流至少包括TS中所有服务。<br>另外：<br>当前TS（例如table_id=0x46）中SDT描述其他TS时，应当列出这个TS的所有service。<br>强烈推荐service_id，在一个network中一旦把一个service_id分配给了一个特定的服务，那么这个service_id将不再变化，以便于IRD实现收藏频道列表之类的功能。<br></p>
<p><strong>4.&nbsp;&nbsp;&nbsp;&nbsp; EIT 信息<br></strong><br>事件信息表用来传递当前的，将来的甚至更远的未来的事件的信息。每个Service都有自己独立的EIT子表。<br><br>4.1&nbsp;&nbsp;&nbsp;&nbsp; EIT Present/Following 信息（一下简称EIT P/F）<br><br>下列规则简化了EIT P/F信息的获得。SI规范规定EIT段最大部超过4096字节。<br>SI 流中的每个Service都有两段来描述EIT Present/Following，section_number 0x00用来描述当前事件，section_number 0x01描述下一个事件。这些约束不适用于NVOD引用的Service，这些Service在每段中可能有多个事件描述，并且在EIT Present/Following中可能有更多的段。推荐提供事件描述event_id的升序排列。<br>在一个section中，SI可以用最多4096个字节来描述一个单独的事件。<br>对于当前事件有如下规定：<br>a、同一时刻最多只有一个当前事件。<br>b、当存在一个当前事件时，该事件应当被描述在EIT Present/Following的section0中。<br>c、当前事件中的running_status应当被给出。如下表：</p>
<p>e、在同一时刻，最多有一个following event。<br>f、如果following event存在，该事件应当在EIT Present/Following的section1中。<br>g、如果following event不存在，则传输一个section1为空的EIT Present/Following。<br>h、following event的running_status应当给出，如下表：</p>
<p>事件的持续时间和EIT持续时间一样，必须包含事件被置为&#8220;not running&#8221;或者&#8220;pausing&#8221;。事件的开始时间和EIT start_time一样，应当是整个事件的开始时间，而不是从pause恢复后的时间。<br>注 意：一个事件的开始时间加上它的持续时间可能比following event的开始时间要小。换句话说，允许事件之间有间隔。在这种情况下，following event被看作是间隔后的事件。这个事件应当编在EIT Present/Following的section1中。<br>注意：开始时间和持续时间都是预定的。一些广播服务提供商可能会更新这些信息。而另一些则更愿意保持开始时间不变。例如为了避免名为&#8220;8点新闻&#8221;的事件被误解，把信息中的开始时间从8：01：23改为8：00：00。<br><br>4.2&nbsp;&nbsp;&nbsp;&nbsp; EIT Schedule信<br>1）EIT Schedule结构<br>遵从如下规则：<br>a、EIT/Schedule分配了16个table_id，0x50-0x5F给当前TS，0x60-0x6F给其它TS，这些id按照时间顺序排列；<br>b、子表下的256个section被分为32段（segment），每8个section一个段（segment）。Segment＃1，从section0到7，segment＃2，从section8到15，等等；<br>c、每段包含三个小时内开始的事件信息；<br>d、段内事件信息按照时间排列；<br>e、 如果一个段（segment）有n节（section），而n&lt;8，这个信息必须放在段中前n个节中，还要显式指明最后一节的位置：S0＋n－1 （S0是段中第一节），这个值在EIT的segment_last_section_number中。例如，第二段只有两节，那么 segment_last_section_number包含值8＋2－1＝9；<br>f、如果段中有节的话，段的segment_last_section_number应当有值s0＋7；<br>g、完全空的段通过空节（不含任何loop over事件）表示，段的vsegment_last_section_number值为s0＋0；<br>h、段中事件的安排遵从一个时间t0。<br>t0是通用时间坐标（Universal Time Coordinated（UTC））的&#8220;last midnight&#8221;。<br>举个例子：UTC-6的下午5点，就是UTC-0的下午11点，即从&#8220;last midnight&#8221;算起23小时。因此对于UTC-6，t0就是前一天的下午6点；<br>i、 table_id 0x50（对其它TS是0x60）的第0段，包含从午夜（UTC时间）到&#8220;今天&#8221;02：59：59（UTC时间）（三个小时）的事件信息。第1段包含从 03：00：00到05：59：59（UTC时间）的事件信息，依此类推。这就意味着，第一个子表包含从&#8220;今天&#8221;UTC午夜时间算起前4天的信息；<br>j、last_section_number用来指明子表的结束位置；<br>k、last_table_id用来指明整个EIT/Schedule结构的结束位置；<br>l、与过去事件相关的段可以用空段代替，参见g规则；<br>m、EIT/Schedule包含的事件定义中的running_status应当设为&#8220;为定义&#8221;即0x00；<br>n、EIT/Schedule表不适用于NVOD涉及的服务，因为这些服务带有未定义开始时间的事件；<br><br>2）EIT 加密<br>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<br>consisting of one private stream），PMT包含一个或多个CA_descriptor来验证相关的CA码流。为达到这个目的，在DVB应用程序中service_id的值0xFFFF被保留。</p>
<p>目前国际上数字高清晰度电视传输系统中采用的调制技术主要有：四相移相键控（QPSK）、多电平正交幅度调制（MQAM）、多电平残留边带 调制（MVSB）和正交频分复用调制（OFDM）。在有线电视中主要采用MQAM调制方式。QAM调制是一种节省频带的数字调幅方法（16QAM的频谱利 用率为4(bit/s)/Hz,64QAM的频谱利用率为6(bit/s)/Hz），有较高的信噪比。QAM调制方法在2400bit/s以上的中、高速 调制中常被采用，广泛应用于有线电视的下行传输及HDTV的地面广播传输中。</p>
<p><strong>&nbsp;<br>四、加解扰技术</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 加解扰技术用于对数字节目进行加密解密，其基本原理是采用加扰控制字加密传输的方法，用户端利用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就可以将扰的传输流进行解扰。加解扰技术分为同密和多密技术。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 同密技术是将两家或两家以上的条件接收（CA）系统应用于同一网络平台之中，对有线电视台来说是实现技术的选择和一种竞争的环境。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 多密技术要求机顶盒采用CI技术，实现同一机顶盒可接收不同CA系统加密节目。从用户角度来讲，不会因购买哪一家CA的机顶盒而受到限制，用户还有选择其CA服务的可能性。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<br><strong>五、复用与解复用技术</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 整个复用过程可以描述为2个不同层次的复用。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &#183;节目层复用：视频流、音频流和资料流通过复用器复用成一个节目的传送比特流。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &#183;系统层复用：多个节目的传送位流通过复用器复用成系统比特流。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通过这两级复用所生成的都是标准的MPEG-2的TS码流。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;解复用单元由专用处理器构成，负责对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解包后的压缩 音频、视频流数据交送音频和视频解码单元处理。</p>
<img src ="http://www.cppblog.com/finehai/aggbug/93999.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/finehai/" target="_blank">Bluesea</a> 2009-08-21 10:40 <a href="http://www.cppblog.com/finehai/archive/2009/08/21/93999.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mp3音频格式</title><link>http://www.cppblog.com/finehai/archive/2009/07/18/90450.html</link><dc:creator>Bluesea</dc:creator><author>Bluesea</author><pubDate>Sat, 18 Jul 2009 11:42:00 GMT</pubDate><guid>http://www.cppblog.com/finehai/archive/2009/07/18/90450.html</guid><wfw:comment>http://www.cppblog.com/finehai/comments/90450.html</wfw:comment><comments>http://www.cppblog.com/finehai/archive/2009/07/18/90450.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/finehai/comments/commentRss/90450.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/finehai/services/trackbacks/90450.html</trackback:ping><description><![CDATA[<p>音频</p>
<p>现实世界的音频是模拟量，我们要将这个量转化为数字量的方法是三步：</p>
<p>抽样，量化，编码。</p>
<p>抽样，就是一秒钟要抽取的模拟量的数目，这里就完成了模拟量的时间离散，一秒抽几次 就是sample rate 抽样率 单位是Hz，这里得到的是离散模拟信号，常用的音频抽样率如下：</p>
<p>8KHz;16KHz;32KHz;44.1KHz;48KHz;</p>
<p>量化就是从空间上离散，对上边每个抽样的sample进行量化，将离散模拟信号转化为离散数字信号，比如将一个sample转化为16bit，采样深度 就是 bits per sample。</p>
<p>那么 最后数字信号的码率 ＝ 采样率*采样深度&nbsp;&nbsp;&nbsp; bits/second = samples/second&nbsp; * bits/sample</p>
<p>比特率就表示一秒钟传输的音频的1 ，0比特数目。一般有率都是表示一秒钟内传输的数据量。</p>
<p>&nbsp;</p>
<p>音频的其他参数：声道可以分为2，5.1声道</p>
<p>第三步就是编码，根据有损无损方式，可以分为两类，</p>
<p>audio code：</p>
<p>PCM-A Law;PCM-Mu Law;G.723.1;G.729;MPEG Audio;G.726@40K;G.726@32K;G.726@24K;G.726@16K</p>
<p>下面对各种音频格式做以介绍（一般音频格式都是与它的编码格式有关的）：</p>
<p>常用的有wav，pcm这两个是无损压缩方式，wav就是记录了音频的wave的波形，pcm是Pulse&nbsp;code modulation.</p>
<p>1wma(windows media audio)视窗媒体音频。微软的音频压缩技术，音质类似mp3，能以mp3一半的技术完成。通过安装wmp（windows media player）来播放。&nbsp;</p>
<p>2mp3应用最广的有损压缩（MPEG Audio Layer 3），它使用了CBR,VBR,ABR.</p>
<p>CBR(constant bit rate)整个<a onclick="javascript:tagshow(event, '%CE%C4%BC%FE');" href="javascript:;" target=_self><u><strong><font color=#000000>文件</font></strong></u></a>的比特率都是一样的。不同复杂程度的音频都用相同的码率，缺点视复杂段落音质差，优点是文件尺寸固定。</p>
<p>VBR(virable bit rate)将一首歌的复杂部分用高比特率编码，简单部分用低比特率编码，使复杂程度与体积之间平衡。优点是整首歌都能达到我们的音质要求，缺点是编码无法估计压缩出来的体积大小。</p>
<p>ABR(average bit rate)以每秒50帧为一段，低频和不敏感频率使用相对低的流量，高频和大动态表现时使用高流量，可以作为VBR和CBR的一种这种选择。</p>
<p>3.ADPCA(adaptive differential pulse code modulation)自适应差分脉冲编码。有损压缩。压缩比很高。当音质一般。</p>
<p>4.AAC（advanced audio coding 高级音频编码）mpeg2一部分，它对立体声，噪音优化，多媒体控制，码流效果音扫描高级特性。支持多种语言和比特率，更高解码效率，acc可以在比mp3文件缩小30％前提下提供更好的音质。</p>
<p>5asf（advanced streaming format 高级流动格式）主要时支持音频网络传输</p>
<p>&nbsp;</p>
<p>ps：视频格式常用的size有</p>
<p>80x60;88x72;160x120;176x144;320x240;352x240;352x288;640x480;704x480;704x576;720x576;</p>
<img src ="http://www.cppblog.com/finehai/aggbug/90450.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/finehai/" target="_blank">Bluesea</a> 2009-07-18 19:42 <a href="http://www.cppblog.com/finehai/archive/2009/07/18/90450.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>