■陳柯霖
數字電視與傳統模擬電視在選擇節目的方式上是完全不同的,傳統模擬電視的每一個頻道對應一個節目,只要調到相應的頻率,就可以看到節目。而在數字電視信號中,由于復用技術的使用,一路傳輸流(以下簡稱TS:Transport Stream)可以包含多個節目,所以要觀看其中的某一個節目,就必須從TS 流中提取出這個節目的壓縮包,然后再進行解碼。那么當用戶用遙控器在數字電視機頂盒上選了一個節目,機頂盒是怎樣從眾多的傳輸流中,選中這個節目進行播放的呢?數字電視機頂盒中為了找到需要的碼流,識別不同的業務信息,需要在TS 流中加入一些引導信息,這就是本文中講到的有線數字電視中常用的PSISI 表。
在數字電視中,所有視頻、音頻、文字、圖片等都會經過數字化處理,形成數據,并按照MPEG-2【MPEG-2(ISO / IEC 13818):運動圖像及伴音編碼標準。1988年提出,1994年公布為國際標準,是專門針對數字電視的信源編碼標準】的標準打包,形成固定長度(188 個字節)的傳送包,然后將這些數據包進行復用,形成傳送TS。每個TS 流通常由多個節目及業務復用組成,對應一個8MHz 帶寬的頻道進行傳輸。為了使數字電視機頂盒能夠根據用戶的需要找到相應的碼流,識別不同的業務,在MPEG-2 中,專門定義了PSI(Program Specific Information)信息,其作用是從一個攜帶多個節目的TS 流中正確找到特定的節目;而由于系統中存在多個TS 流,所以在PSI 四個表的基礎上再增加了九個表,形成SI(Service Information)表。SI 表是對整個系統所有TS 流的描述,它使機頂盒的綜合接收解碼器(IRD)可以從TS 流中提取出所播出節目的節目列表和播出參數,以直觀的形式顯示給數字電視用戶,使得用戶可以方便地接收、選擇數字電視節目。
如圖1 所示為廣西數字電視中一個碼流的PSI/SI 信息表。
從圖1 中我們可以看到,PSI/SI表通過復用器插入到TS 流中,并用特定的PID(Packet ID 標志碼傳輸包,在數字電視復用系統中它的作用好比一份文件的文件名)進行標識。括號里顯示的PID 值即為前面表格的包標識符PID 值。PSI/SI 業務信息的包標識符PID 分配如表1 所示。
TS 流中具有相同PID 的不同信息表由表標識符table_id 來區分的,具體分配如表2 所示。
PSI 表的主要作用是使觀眾能從單TS 流中挑選出所需節目,機頂盒根據PSI 表所提供的必需的數據,即過濾出的PID 號,可以迅速將不同節目的視頻、音頻、數據信號分類,組合到一起,形成所需的節目并提供給觀眾。PSI 表主要由節目關聯表(PAT)、節目映射表(PMT)和條件接收表(CAT)組成。



其中節目關聯表PAT 表的PID為0x0000,它包括了該TS 流中的所有節目映射表即每個節目的PMT PID,傳輸流ID 等,PAT 表是解碼器解出一套節目時的第一步,它告訴解碼器PMT 表所在包的PID 值。
如圖2 所示,其中PAT 表包標識符PID 為0x0000,表標識符(table_id)為0x00,TS 流ID(transport_stream_id)為0x0098 即第152 個傳輸流。該PAT 表里面包含了PMT_PID 分別為0x0900、0x00901、0x00902、0x00903、0x00904、0x0600、0x0601、0x0602 在內的8個節目的PMT 信息,從中我們也可以看出第152 個傳輸流中包含了以上8 個節目。
節目映射表(PMT)中包括每個節目的基本碼流信息即視頻信息、音頻信息和同密的多家CA的ECM 授權控制信息。針對節目的加密情況,還含有CA_System_ID。如圖3 所示,以TS152 傳輸流中PMT_PID 為0x0900 的這個節目為例,分析其PMT 表。它的節目號program_number 為2111,PMT_PID 為0x0900,表標識符(table_id)為0x02,PCRPID 為0x0080,視頻PID 為0x028a,音頻(Streamtype0x04)PID 為0x0200。其 中MPEG-2 數字電視13818-2 視頻部分標準中規定視頻基本流類型(Streamtype)為0x02,13818-3 音頻部分標準中規定音頻基本流類型(Streamtype)為0x04。



條件接入表(CAT)針對具體CA 系統中的用戶的授權情況,含有標識具體CA 系統的CA_System_ID和用于獲取授權管理信息EMM 的索引EMM_Pid,通過這兩項內容就可以獲得用戶所在CA 系統的EMM(Entitlement Management Messages 授權管理信息)信息,從而達到節目解擾解密的目的。如圖4 所示,CAT表PID 為0x0001,table_id 為0x01,其中包括了同密的三家CA 系統。CA_System_ID 即為每家CA 系統的標示。
SI 表的主要作用是使服務提供商可以通過一個多節目流的大的傳輸流網絡為用戶提供節目和服務,它與PSI 表一起,讓機頂盒在整個傳輸流網絡中,分解出所有的節目。SI 表主要包括網絡信息表(NIT)、業務描述表(SDT)、事件信息表(EIT)、時間和日期表(TDT)、時間偏移表(TOT)、業務群關聯表(BAT)和運行狀態表(RST)等表信息。其中的NIT、SDT、EIT、TDT 是必需傳送的,本文主要對這幾個表進行解說,其它表則按照需要進行選擇傳送,本文中不再一一敘述。
NIT(Network Information Table)網絡信息表。它的PID 值恒為0x0010,包含了每個傳輸流的頻率信息,作用是表明網絡的物理結構和其特殊參數,使得機頂盒可以按照用戶的選擇以很少的延時或無延時地改變頻道、調諧參數,正確地解碼出TS。
SDT(Service Description Table)服務描述表。它的作用是定義網絡中有效的服務內容,如視頻、音頻、數據等。列出傳輸流的業務信息,如傳輸流中包含的節目名稱、節目類型等。
EIT(Event Information Table)事件信息表。它的作用是定義網絡中所有的事件,提供針對它們的描述,如每個節目的當前播出的節目名稱、播出開始時間、播出時間段、父母控制級別等信息和下一個播出節目相關信息。
TDT(Time and Date Table)時間信息表。這個表格里面包含了與機頂盒有關的時間信息,這些信息是實時更新的。
通過分析數字電視傳輸流中的PSI/SI 表,我們可以解決很多數字電視方面的問題。比如我們再來看一下文章開頭提到的問題,通過PSI/SI 表分析數字電視機頂盒接收某一個指定節目的流程。首先機頂盒從節目關聯表(PAT)中取得這個節目的節目映射表(PMT)的PID 值;然后從傳輸流中找出與此PID 值相對應的節目映射表(PMT),從這個節目映射表中獲得構成這個節目的基本碼流的PID 值,根據這個PID 值從傳輸流中濾出相應的視頻、音頻和數據等基本碼流,最后解碼復原為原始信號,我們就從家里的電視收看到了選中的節目。