TS各個表 與 SECTION 的解析 CAS原理

轉自:http://blog.sina.com.cn/s/blog_6b94d5680101r5l6.html

TS各個表 與 SECTION 的解析 CAS原理


   
TS流,通過一個個的TS包來傳送;TS包可以是傳送PSI SI等各表的數據包,也可以是傳送節目音視頻數據(攜帶的PES包:音視頻基本流包)的包;TS攜帶 PSISI等表的數據時,各個表以各表對應的Section語法格式做爲傳輸單元存放到TS包中 以便傳輸;
TS包,有一個TS包的PID,系統就是根據這個PID來找對應的TS包;對於包含音視頻數據(PES包)的TS包,系統通過TS的PID找到對應TS數據包,提取其中的數據組合成節目的音視頻;對於攜帶PSISI等數據的TS包,系統通過TS的PID找到對應TS數據包,提取各個PSI SI數據表格,用來指導系統;
   因此其中部分PID用來固定傳輸某些數據內容;如下
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
    有了TS的PID後, 如果TS包攜帶的是PSISI等表格的Section數據時,有時還不能確定該PID的TS包中攜帶的數據是什麼,SDT BAT ST等表傳送時,都用的是PID爲0X0011的TS數據包,對於這種攜帶PSI SISection單元的TS包,對應的數據(表的Section語法中)還有一個TABLE_ID字段,用來可以確定是具體的什麼表,如下圖
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
每不同的表中,我們看錶的SECTION語法,都會看到descriptor()字樣,descriptor()表示的也是一個語法結構,他具體對應的語法結構,由他內部的descriptortag字段決定,各個表的具體的定義,可以參見13818對應的定義,其中這裏面還可以有用戶的自定義描述符,可見下表:
the descriptors declared or defined within the present document,giving the descriptors-tag values andthe intendedplacement within the SI tables. This does not imply that their usein other tables is restricted. PSI SI表中包含什麼descriptor,就用對應的語法去解!當然用戶自定義的由用戶自定義去解!!!
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

  



PSI(ProgramSpecific Information)
PAT (Program AssociationTable)節目關聯表
PMT(Program MapTable)節目映射表
CAT(Conditional AccessTable)條件接收表
SI(ServiceInformation) 
NIT(Network InformationTable)網絡信息表
SDT(Service Discription Table)業務描述信息表
BAT(Bouquet AssociationTable)業務羣信息表
EIT(Event InformationTable)節目事件信息表
TDT(Time and Data Table)日期時間表
事件 event
   一組給定了起始時間和結束時間、屬於同一業務的基本廣播數據流。例如:一場足球比賽的半場、新聞快報或娛樂表演的第一部分
節目 programme
由廣播者提供的一個或多個連續的事件。例如:新聞廣播,娛樂廣播。
網絡 network
一個傳輸系統,可以傳輸一組MPEG-2傳輸流(TS)。例如:某個有線電視系統中的所有數字頻道
業務 service
在廣播者的控制下,可以按照時間表分步廣播的一系列節目,我們也稱之個頻道,口語中也稱之爲節目 
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
節目關聯表PAT
PAT定義了一個TS流中所有的節目,PATPID0x0000,他是PSI信息的根節點。要查找節目播放信息必須從PAT開始。
PAT中包含了TS中所有節目的完整列表,每個表項包括ServiceIDPMT(用於播放)PID
PAT中ServiceID 爲0的表項表示NIT。
節目映射表PMT
 PMT提供了一個節目的ServiceID和用於播放的所有資源信息,例如音視頻PIDPCR,字幕PID等。
 簡單的說,PMT完整的描述了一路節目是由哪些PES組成,給播放提供相應的資源。
•  PATPMT 關係
條件訪問表CAT
CAT提供了在一個或多個CA系統及其授權管理信息,用於節目的解擾工作。
如果在一個TS中任何原始流進行了加密處理,那麼在TS中一定要插入CAT
CAT中,最重要的字段就是CA_descriptor()段。下面將簡單講述一下該描述段
CA_descriptor用來表示含有ECM或者是EMM信息的TSPID,即CA_PID
CA_descriptor出現在PMT中時,CA_PID指向含有與訪問控制信息(ECM)相關的節目包。
CA_descriptor出現在CAT中時,CA_PID指向含有與授權管理信息(EMM)相關的節目包。
CA_descriptor中幾個重要的字段如下:
CA_system_ID:該字段表示適用於相關ECM/EMM流的CA系統類型。其值是用戶定義的。
CA_PID:該字段表示傳送流包的PID,此包中含有由相應的CA_system_ID指明的CA系統的ECMEMM信息,由CA_PID指明的包的內容(ECMEMM)所在的上下文決定,既由TS中的PMTCAT或節目流中的stream_id字段決定。
NIT
NIT描述了一個DVB傳輸通道的所有物理參數,包括下列信息:
傳輸路徑(衛星、電纜、地面)
接收頻率
調製類型
誤碼保護
傳輸參數
機頂盒在掃描或變換信道時,可以存儲一個物理信道的所有參數,便於以後很快跳回該信道。
信道中也可以傳送相鄰或其他信道的傳輸參數,使得信道轉換靈活快捷。
如果NIT中的傳輸參數與實際不符,會對許多接收設備,如機頂盒,產生不可預知的影響。
如果NIT中的傳輸頻率與實際接收頻率不同,許多接收設備在沒有任何原因提示的情況下,不產生任何圖像和聲音。
SDT
SDT包含對TS流中節目(服務)的更多詳細描述:
節目名稱,如CNN,CBS,Eurosport,ARD,ZDF,BBC,ACB,SBS等等
在提供節目PID的同時,SDT對用戶提供了文本信息。
通過提供文本列表,使得接收設備操作靈活。
BAT,與SDT密切相關:
BATSDTPID相同,只是tableID不同。
SDT描述一個物理信道的節目結構。
BAT描述幾個或大量物理信道的節目結構。
BAT
BAT表是由DVB定義的,是一個SI表,因此它是一個全局表,一個數字電視系統只對應一個BAT表,其table_id=0X4A
一個節目類別對應一個段。爲了讓受衆能更方便地在衆多的節目中尋找出自己喜歡的節目,往往需要提供一種把衆多的節目頻道進行分類的方法(一個類相當一個節目組)。
例如把電影頻道歸爲“家庭影院”的類別,把電視連續劇歸爲“電視劇場”的類別等等,BAT表就提供了這一功能,每一個類別都用一個bouquet_id來標識。它包括了節目業務名稱(類別)及節目組所包含的節目清單(節目列表)。BAT表在SI信息中屬於可選表 
EIT
EIT(eventinformation table)
DVB中的EPG(electronicprogram guide)
包含一天或一週內所有廣播的計劃開始和結束時間。
結構非常靈活,允許傳送大量附加信息
不是所有機頂盒都支持這一特性
事件信息表EIT按時間順序提供每一個業務所包含的事件的信息。按照不同table_id有四類EIT
1) 現行傳輸流,當前/後續事件信息=table_id="0x4E"
2) 其它傳輸流,當前/後續事件信息=table_id="0x4F"
3) 現行傳輸流,事件時間表信息=table_id="0x50" "0x5F"
4) 其它傳輸流,事件時間表信息=table_id="0x60" "0x6F"
現行傳輸流的所有EIT子表都有相同的transport_stream_idoriginal_network_id
TDT/TOT
機頂盒操作還需要傳輸當前時鐘和當前日期,分兩步:
TDT(time&datetable)
傳送GMTUTC
即零度子午線的當前時刻
TOT(timeoffset table)
傳送不同時區各自適當的時間偏移量
TDTTOT中的信息如何計算以及計算到什麼程度,取決於機頂盒的軟件
對廣播時間信息的完全支持還需要機頂盒得到當前的位置信息:
對擁有多個時區的國家,如澳大利亞和美國,這個問題尤其重要。
其它表
運行狀態表(RST)
運行狀態表給出了事件的狀態(運行/非運行)。運行狀態表更新這些信息,允許自動適時切換事件。
填充表(ST)
填充表用於使現有的段無效,例如在一個傳輸系統的邊界。
選擇信息表(SIT)
選擇信息表僅用於碼流片段(例如,記錄的一段碼流)中,它包含了描述該碼流片段的業務信息的概要數據。
間斷信息表(DIT)
間斷信息表僅用於碼流片段(例如,記錄的一段碼流)中,它將插入到碼流片段業務信息間斷的地方。

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
================================
TS流的形成:前段音視頻數據經過音視頻編碼器後音視頻數據流ES,ES經過分組器(打包器)形成一個個的分組,即PES(音視頻數據流ES的分組包,PacketES,PES最長一般爲188個字節);音視頻PES再經過複合器,從而形成傳輸流TS,傳輸流以傳輸流分組(TS Packet);TSPacket中的有效數據既可以是PES(音視頻ES分組包),也可以是PSI等信息數據,這個由TSPacket中的PID來指定負荷數據的類型;SI各表格是以SECTION爲單位放到TSPacket中,因此不同的表格就要按標準遵循對應SECTION的語法;比如PMT表,PMT可能包含多個節目的描述,因此它可能會被劃分爲多個SECTION放到TSPacket中,遵循的語法就是TS_program_map_section() ;
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理


TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
【通過碼流分析工具的查看,800來個 PID爲0X191的401節目的PMT SECTION TS包都是一樣的】
根據TS Packet 的語法,可以簡要分析下上面的數據包:
同步字節段:0X47(8bit)
傳輸錯誤指示字符段:0(1bit)
有效負載數據單元起始指示符字段:1(1bit)
傳輸優先級字段:0(1bit)
PID:0x191(13bit)(PAT表中指定該PID的TS包爲包含PMT SECTION數據的TS包)
傳輸加擾控制字段:(0x0)(2bit)
調整字段控制字段:0x01(無調整字段,只有有效負載)(2bit)
連續性計數器字段:(4bit)
數據字節字段:這些數據 有可能是PES包,有可能是PSISECTION (由PID決定),如果沒有調整字段,從這開始就是負載數據了;
  若是PES數據,則這些負載數據通過PES分組語法來解析;
  若是PSISECTION數據,則通過SECTION語法來解釋,可通過第一個table_id來確定是哪一個表的SECTION;如下表:【要知道PMT表須先知道PAT表】
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

Programassociation Table
The Program Association Table provides the correspondencebetween a program_number and the PID valueof the Transport Stream packets which carry the programdefinition. The program_number is the numeric label associated witha program. 
The overall table is contained in oneor more sections with the following syntax.It may be segmented to occupy multiplesections 
Programassociation section[PAT section syntax]
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

table_id :
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

CAS原理:
  條件接收(CA)系統(CAS)是數字電視廣播(DVB)實行收費所必須採用的系統,也是數字電視平臺不可缺少的部分,CAS負責完成用戶授權控制與管理信息的獲取、生成、加密、發送以及節目調度控制等工作,保證只有已被授權的用戶才能收看節目,從而保護節目製作商和廣播運營商的利益。
  在DVB前端,CAS將通過加擾器節目級複用器複用後的節目內容,即MPEG-2/DVB視頻、音頻和輔助數據傳輸流(TS),與一個加擾僞隨機序列做XOR運算,這個僞隨機加擾序列就是控制字發生器提供的控制字CW
  CW被業務密鑰(SK加密處理後授權控制信息(ECM)數據流中傳送SK被用戶個人分配密鑰(PDK加密處理後,在授權管理信息EMM數據流中傳送,PDK存放在用戶智能卡(Smard Card)中
   已加擾的MPEG-2/DVB視頻、音頻和輔助數據傳輸流(TS)、ECM、EMM數據流、節目說明信息(PSI)和業務信息(SI)等數據流,經複用後,從發送端經傳輸信道傳送給接收端機頂盒(STB)。
   對於已經繳費的用戶,其智能卡會被授權,STB從接收到的已加擾傳輸流中,解複用出ECM和EMM數據流後送給智能卡,智能卡首先讀取PDK,用PDK對EMM解密得到SK,再用SK對ECM解密得到CW,利用CW由解擾器對已加擾傳輸流(TS)進行解擾後,再進行節目級解複用
   TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理

TS各個表 <wbr>與 <wbr>SECTION <wbr>的解析 <wbr>CAS原理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章