DVB業(yè)務(wù)信息PSI/SI綜述
一、SI信息的構(gòu)成
1、信息構(gòu)成
SI信息內(nèi)容是按照network(網(wǎng)絡(luò))→transport strem(傳輸流)→service(業(yè)務(wù))→event(事件)的分層順序描述,如圖1所示。SI數(shù)據(jù)信息是按照一定的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)的,這樣一來(lái)才能達(dá)到方便、快捷地進(jìn)行數(shù)據(jù)檢索和提取。SI數(shù)據(jù)主要有:網(wǎng)絡(luò)信息、傳輸流信息、業(yè)務(wù)信息、業(yè)務(wù)的事件信息等,并且大量的信息都是通過(guò)描述符來(lái)傳輸?shù)模钥捎脴?shù)狀鏈表來(lái)存儲(chǔ)數(shù)據(jù),構(gòu)成從網(wǎng)絡(luò)、傳輸流、業(yè)務(wù)、事件的樹(shù)狀結(jié)構(gòu)。機(jī)頂盒接收端的解析主要負(fù)責(zé)這些SI數(shù)據(jù)的重建。
在數(shù)字電視系統(tǒng)中,為了能有效地從眾多的數(shù)據(jù)包中組織起SI信息,而使用了很多的標(biāo)識(shí)。有Network_id(網(wǎng)絡(luò)標(biāo)識(shí))、Original_network_id(原始網(wǎng)絡(luò)標(biāo)識(shí))、Transport_stream_id(傳輸流標(biāo)識(shí))、Service id(業(yè)務(wù)標(biāo)識(shí))、eventid_id(事件標(biāo)識(shí))、Bouquet_id(業(yè)務(wù)群組標(biāo)識(shí))。這些標(biāo)識(shí)是作為信息查找定位用的,例如:要在一個(gè)TS里找出一個(gè)業(yè)務(wù)信息,就要知道這個(gè)業(yè)務(wù)信息在那個(gè)網(wǎng)絡(luò)里、在哪個(gè)TS里和這個(gè)業(yè)務(wù)信息在這個(gè)流里的標(biāo)識(shí),這樣一來(lái),通過(guò)層層過(guò)濾,就能精確地定位描述這個(gè)業(yè)務(wù)信息的位置,并把它們找出來(lái)進(jìn)行數(shù)據(jù)組織。圖1就非常清楚地表明了這種查找思路。
一個(gè)網(wǎng)絡(luò)信息由network_id來(lái)定位。
一個(gè)TS由network_id、Original_network_id、Transport_stream_id來(lái)定位,標(biāo)明這個(gè)流在那個(gè)網(wǎng)絡(luò)播發(fā),它原屬那個(gè)網(wǎng)絡(luò),并給它加上標(biāo)識(shí)。
一個(gè)業(yè)務(wù)由network_id、Original_network_id、Transport_stream_id、service_id來(lái)定位,標(biāo)明這個(gè)業(yè)務(wù)在那個(gè)網(wǎng)絡(luò)播發(fā),它原屬那個(gè)網(wǎng)絡(luò)和那個(gè)流,并給它加上標(biāo)識(shí)。這體現(xiàn)在SDT表中。
一個(gè)事件由network_id、Original_network_id、Transport_stream_id、service_id、event_id來(lái)定位,標(biāo)明這個(gè)事件在那個(gè)網(wǎng)絡(luò)播發(fā),它原屬那個(gè)網(wǎng)絡(luò)和那個(gè)流及那個(gè)業(yè)務(wù),并給它加上標(biāo)識(shí)。這體現(xiàn)在EIT表中。
據(jù)此,根據(jù)各個(gè)SI表的功能,各表的ID結(jié)構(gòu)如下:
NIT:network_id、Original_network_id、Transport_stream_id 、service_id。
SDT:Original_network_id、Transport_stream_id 、service_id。
EIT:Original_network_id、Transport_stream_id 、service_id、event_id。
BAT:bouquet_id 、Original_network_id 、Transport_stream_id 、service_id。
另外,還有一個(gè)PID(包標(biāo)識(shí)),它的作用是給每一個(gè)數(shù)據(jù)包打上一個(gè)標(biāo)記,TS承載有視頻數(shù)據(jù)、音頻數(shù)據(jù)、PSI和SI信息數(shù)據(jù)、圖文電視數(shù)據(jù)、字幕數(shù)據(jù)、數(shù)據(jù)廣播數(shù)據(jù)、交互業(yè)務(wù)數(shù)據(jù)、CA系統(tǒng)的控制信息數(shù)據(jù)等等,除了PSI和SI信息數(shù)據(jù)和CA系統(tǒng)的控制信息數(shù)據(jù)外,其他的數(shù)據(jù)的PID都是通過(guò)PMT表給出的,CA系統(tǒng)的控制信息數(shù)據(jù)的PID是由CAT表給出的,而承載了PSI和SI信息的各種表的PID值是固定分配的。如下表
表 PID值
PAT | 0X0000
CAT | 0X0001
TSDT | 0X0002
NIT、ST | 0X0010
SDT、BAT、ST | 0X0011
EIT、ST | 0X0012
RST、ST | 0X0013
TDT、TOT、ST | 0X0014
DIT | 0X001E
SIT | 0X001F
由于這些表是分配了固定的PID值,所以機(jī)頂盒就可以根據(jù)這些PID值來(lái)辨認(rèn)出是什么表,并讀取表中的描述參數(shù)來(lái)生成EPG信息和完成各種數(shù)據(jù)的組織、解碼出所需要的節(jié)目和信息。
2、表的構(gòu)成
表是組成SI信息的一種數(shù)據(jù)結(jié)構(gòu)。在TS中有很多不同節(jié)目的數(shù)據(jù)包,解碼器如何確定哪個(gè)數(shù)據(jù)包屬于某個(gè)節(jié)目?其答案就是在TS中的PSI和SI信息里,這些信息精確地指引出獲得某節(jié)目與該節(jié)目數(shù)據(jù)包的PID之間的關(guān)系。
由MPEG-2定義的TS里面,數(shù)據(jù)包攜帶了兩類信息:一是音、視頻等素材的數(shù)據(jù),二是PSI表。具有給定PID的數(shù)據(jù)包的有序排列就形成了TS流。PSI表里的承載的內(nèi)容主要是TS(本節(jié)目流)的描述參數(shù)。由MPEG-2定義的PSI主要包含有三個(gè)表:PAT、PMT、CAT。每個(gè)表都可作為一個(gè)或多個(gè)TS包的凈荷插入TS中傳送。

一個(gè)TS數(shù)據(jù)包的凈荷為188個(gè)字節(jié),當(dāng)一個(gè)PSI/SI表的字節(jié)長(zhǎng)度大于184字節(jié)時(shí),就要對(duì)這個(gè)表進(jìn)行分割,形成段(section)來(lái)傳送。分段機(jī)制主要是將一個(gè)數(shù)據(jù)表分割成多個(gè)數(shù)據(jù)段。在PSI/SI表到TS包的轉(zhuǎn)換過(guò)程中,段起到了中介的作用。由于一個(gè)數(shù)據(jù)包只有188字節(jié),而段的長(zhǎng)度是可變的,EIT表的段限長(zhǎng)4096字節(jié),其余PSI/SI表的段限長(zhǎng)為1024字節(jié)。因此,一個(gè)段要分成幾部分插入到TS包的凈荷中。如圖2所示。


(1024)時(shí),可把子表分割成兩個(gè)或更多個(gè)段, 并通過(guò)section_number來(lái)區(qū)分,如圖3-1所示。
l 對(duì)于EIT表的子表具有相同的table_id、oringinal_network_id、tansport_stream _id、 service_id和version_number。
以EIT表為例。EIT的PID是0X0012,當(dāng)它的table_id=0X4E時(shí),EIT描述的是在當(dāng)前TS中的當(dāng)前/后續(xù)(EIT present/following)事件信息;table_id=0X4F時(shí),EIT描述的是在其它TS中的當(dāng)前/后續(xù)(EIT present/following)事件信息。這兩個(gè)不同的描述形成了EIT的兩個(gè)表。每個(gè)表分為兩個(gè)段,一個(gè)段用來(lái)描述當(dāng)前正在播放的事件,另一個(gè)段用來(lái)描述即將播放的事件。此時(shí)兩個(gè)段的table_id、service_id、tansport_stream_id是相同的,但section_number不相同,section_number 0x00用來(lái)描述當(dāng)前事件,section_number 0x01描述下一個(gè)事件。
NIT表主要是提供有關(guān)物理網(wǎng)絡(luò)的信息,網(wǎng)絡(luò)信息表傳送本網(wǎng)絡(luò)以及與此有關(guān)的其它網(wǎng)絡(luò)的一些信息。每個(gè)網(wǎng)絡(luò)都有唯一的識(shí)別符(network_id)。網(wǎng)絡(luò)信息表主要攜帶:網(wǎng)絡(luò)識(shí)別符(Network_ID)、網(wǎng)絡(luò)名稱、傳輸系統(tǒng)參數(shù)(有線傳輸系統(tǒng)參數(shù)包括:頻率、調(diào)制方式、FEC外碼、符號(hào)率、FEC內(nèi)碼)、節(jié)目業(yè)務(wù)類型及Service_ID等信息。機(jī)頂盒只要調(diào)諧到攜帶NIT表的傳送流中,即可提取其它網(wǎng)絡(luò)的參數(shù),一般解碼器便可根據(jù)提取出來(lái)的信息,自動(dòng)搜索頻道。
這里說(shuō)一說(shuō)network_id和oringinal_network_id的分別。每個(gè)運(yùn)營(yíng)商都需要注冊(cè)唯一的network_id,假設(shè)中央電視臺(tái)的network_id=0X01,廣州電視臺(tái)的network_id=0X02 。當(dāng)中央電視臺(tái)直接播發(fā)自己的節(jié)目時(shí),network_id=oringinal_network_id,如果由廣州電視臺(tái)轉(zhuǎn)播中央電視臺(tái)的節(jié)目時(shí),那么network_id=0X02,oringinal_network_id=0X01。也就是說(shuō)oringinal_network_id等于節(jié)目原發(fā)運(yùn)營(yíng)商的network_id。
⑵ 業(yè)務(wù)描述表(SDT)的作用
SDT表是由DVB定義的,是一個(gè)SI表,因此它是一個(gè)全局表,一個(gè)數(shù)字電視系統(tǒng)對(duì)應(yīng)兩個(gè)SDT表,分別為當(dāng)前流(actual transport)表(table_id=0X42)和其他流(other transport)表(table_id=0X46)。每一個(gè)TS對(duì)應(yīng)一個(gè)子表(也有對(duì)應(yīng)多個(gè)子表的,如同一個(gè)TS但業(yè)務(wù)來(lái)自不同的original_network),通過(guò)tansport_stream_id和original_network_id來(lái)區(qū)分。圖4就是一個(gè)SDT表的構(gòu)成圖。從圖可看出,這個(gè)SDT表由兩個(gè)表組成,一個(gè)是當(dāng)前流表,只有一個(gè)子表;另一個(gè)是其他流表,由三個(gè)子表組成,每個(gè)流對(duì)應(yīng)一個(gè)子表。
SDT表用于描述系統(tǒng)中業(yè)務(wù)的名稱、業(yè)務(wù)提供者、是否有相應(yīng)的事件描述表等方面的信息;業(yè)務(wù)描述表可以描述當(dāng)前傳輸流,也可以描述其他傳輸流,這由表的Table_ID來(lái)區(qū)分。業(yè)務(wù)描述表提供了如下的信息:屬于哪一個(gè)節(jié)目業(yè)務(wù)群;節(jié)目業(yè)務(wù)的類型,如PAL、NTSC、SECAM、調(diào)頻廣播、圖文電視、準(zhǔn)視頻點(diǎn)播等;節(jié)目業(yè)務(wù)的提供者;可以接收該業(yè)務(wù)的國(guó)家和不可以接收該業(yè)務(wù)的國(guó)家;指向特定的鏈接信息;實(shí)現(xiàn)準(zhǔn)視頻點(diǎn)播的指導(dǎo)信息;實(shí)現(xiàn)多畫面的控制信息;指示使用的加密系統(tǒng);給出實(shí)現(xiàn)交互式回傳信道的電話號(hào)碼;提供多語(yǔ)種的節(jié)目業(yè)務(wù)名稱和廣播者以及私有數(shù)據(jù)。但最常用的是業(yè)務(wù)列表,即對(duì)業(yè)務(wù)名稱的描述,如中央1臺(tái)、廣州新聞臺(tái)、珠江臺(tái)等等。
⑶ 事件信息表(EIT)的作用
EIT表是由DVB定義的,是一個(gè)SI表,因此它是一個(gè)全局表,一個(gè)數(shù)字電視系統(tǒng)每一個(gè)業(yè)務(wù)對(duì)應(yīng)兩種EIT表。一是EIT present/following表(描述當(dāng)前事件/后續(xù)事件),一個(gè)業(yè)務(wù)對(duì)應(yīng)著一個(gè)EIT present/following表,EIT present/following表分為當(dāng)前流表(table_id=0X4E)和其他流表(table_id=0X4F),每一個(gè)流通常對(duì)應(yīng)6個(gè)(有6個(gè)業(yè)務(wù))EIT present/following子表,每個(gè)子表由兩個(gè)段組成,分別是EIT present段和EIT following段,section_number= 0x00的段描述當(dāng)前播放的事件, section_number= 0x01段描述后續(xù)播放事件,圖5所示。其他流表結(jié)構(gòu)與當(dāng)前流表相同;二是EIT schedule(時(shí)間表)表,一個(gè)業(yè)務(wù)最多可對(duì)應(yīng)16個(gè)EIT schedule表,那么每個(gè)流通常最多可對(duì)應(yīng)6(業(yè)務(wù)數(shù))×16=96個(gè)子表,每個(gè)子表由256個(gè)段組成(由于分段號(hào)是8個(gè)比特,所以最多只能有256個(gè)分段),。
對(duì)于EIT schedule表,它是用作描述一個(gè)業(yè)務(wù)在一段時(shí)間(可以是一天、一周,最大可以是64天,根據(jù)冗余帶寬來(lái)進(jìn)行設(shè)定)內(nèi)所播放的節(jié)目安排,節(jié)目的播出安排是以時(shí)間和節(jié)目簡(jiǎn)介作為描述的。時(shí)間及內(nèi)容是描述一個(gè)事件的最基本元素,例如:把一個(gè)業(yè)務(wù)所播放的每一個(gè)節(jié)目都看成是一個(gè)事件,那么每一個(gè)節(jié)目開(kāi)始播放的時(shí)間和播放時(shí)間的長(zhǎng)度及事件的內(nèi)容就是該事件的基本元素,EIT schedule子表就是用這一基本元素來(lái)描述每一個(gè)事件并產(chǎn)生某一段時(shí)間內(nèi)要發(fā)生的所有事件的列表,因此EIT schedule子表的信息量很大(EIT表的段限長(zhǎng)4096字節(jié)),由256個(gè)section組成,所以又引入了segment(片段)的概念。把256個(gè)段分成32個(gè)segment;一個(gè)segment由8個(gè)section(分段)組成,每個(gè)segment可以描述3個(gè)小時(shí)的事件信息,也就是說(shuō),一個(gè)EIT schedule表由32個(gè)片段組成,每個(gè)片段由8個(gè)分段組成,通過(guò)section_number來(lái)區(qū)分,那么每個(gè)子表可描述32*3=96小時(shí)(4天)的事件信息,由于一個(gè)業(yè)務(wù)最多可對(duì)應(yīng)著16個(gè)EIT schedule表,則對(duì)于一個(gè)業(yè)務(wù)來(lái)說(shuō)最多可以描述16(0X50----0X5F)*4=64天的事件信息。這里,segment相當(dāng)于一個(gè)事件組,section是事件組內(nèi)具體的一個(gè)事件。EIT schedule表也分為當(dāng)前流表(table_id=0X50---0X5F 共16個(gè))和其他流表(table_id=0X60---0X6F 共16個(gè)), EIT schedule表是可選的(即系統(tǒng)可以發(fā)送此表也可以不發(fā)送此表),事件信息按時(shí)間順序排列。
EIT表包含事件或節(jié)目的有關(guān)數(shù)據(jù),如事件的名稱、開(kāi)始時(shí)間、持續(xù)時(shí)間、運(yùn)行狀態(tài)等。事件信息表提供如下信息:節(jié)目段的標(biāo)識(shí)號(hào)、起始時(shí)間、持續(xù)時(shí)間、播放狀態(tài)、是否加密;指向特定信息的鏈接信息;節(jié)目段多語(yǔ)種的簡(jiǎn)短介紹;節(jié)目段的詳細(xì)介紹;兩段同樣節(jié)目段的時(shí)間偏移;基本碼流類型介紹,如視頻的幅型比、伴音的類型、字幕的類型等;使用的加密系統(tǒng)介紹;節(jié)目類型介紹,如電影/戲劇、新聞、綜藝、體育、少兒、音樂(lè)、藝術(shù)、社會(huì)政治、文教等;節(jié)目限定年齡的級(jí)別介紹;給出實(shí)現(xiàn)交互式回傳信道的電話號(hào)碼;為滿足各節(jié)目段的碼率而提供的緩存大小信息及私有數(shù)據(jù)。事件信息中提供了類似于廣播電視報(bào)所提供的節(jié)目表的內(nèi)容,根據(jù)EIT及其它表所提供的信息,可以做出各種EPG功能,如按節(jié)目類型檢索、按時(shí)間檢索及對(duì)某類節(jié)目的鎖定等。可以說(shuō)EIT表是提供EPG信息的主要表,也是結(jié)構(gòu)最復(fù)雜的SI表。
在EIT present/following表中,每一事件都用一個(gè)event_id來(lái)標(biāo)識(shí)它,每一個(gè)事件的順序關(guān)系(當(dāng)前正在發(fā)生的事件/后續(xù)發(fā)生的事件)就由EIT present/following來(lái)描述。
那么如何來(lái)識(shí)別當(dāng)前正在發(fā)生的事情和后續(xù)發(fā)生的事情呢?那是通過(guò)event_id來(lái)標(biāo)識(shí)的,如圖5所示。圖中event_id=0X49表示當(dāng)前正在發(fā)生的事件;event_id=0X4A表示后續(xù)發(fā)生的事件。那么在當(dāng)前事件完成進(jìn)入后續(xù)事件時(shí),此時(shí)的后續(xù)事件變成當(dāng)前事件,后續(xù)事件將由一個(gè)新的事件代替。這一變化是使用version_number來(lái)加以描述的。例如:
當(dāng)前播出 19:00----19:30 新聞聯(lián)播 event_id=0X49;
后續(xù)播出 19:31----20:00 動(dòng)畫片 event_id=0X4A,此時(shí)version_number=0
設(shè)新的后續(xù) 21:01---21:45 曲藝節(jié)目。當(dāng)新聞聯(lián)播完成后,則變化為:
當(dāng)前播出 19:31----20:00 動(dòng)畫片 event_id=0X49;
后續(xù)播出 21:01----21:45 曲藝節(jié)目 event_id=0X4A,此時(shí)version_number=1
圖6是由SDT表和EIT表所產(chǎn)生的EPG信息,圖7是由EIT表所產(chǎn)生的一個(gè)節(jié)目頻道的節(jié)目播出時(shí)間表。
EIT表是SI表中結(jié)構(gòu)最復(fù)雜的表,圖8是它的結(jié)構(gòu)圖。
機(jī)頂盒通常都有一個(gè)“節(jié)目指南”的按鈕,按動(dòng)它就可以讀取EIT schedule自表里的信息,顯示某一個(gè)業(yè)務(wù)在某段時(shí)間內(nèi)的所有事件列表。
⑷ 業(yè)務(wù)組關(guān)聯(lián)表(BAT)的作用
BAT表是由DVB定義的,是一個(gè)SI表,因此它是一個(gè)全局表,一個(gè)數(shù)字電視系統(tǒng)只對(duì)應(yīng)一個(gè)BAT表,其table_id=0X
BAT表還支持一個(gè)特別的描述符,稱為國(guó)家獲得性描述符。此描述符的意義是:運(yùn)營(yíng)商可能出于運(yùn)營(yíng)的需要,把一些業(yè)務(wù)提供給特定(國(guó)家)的人群收看,而不希望給其他(其他國(guó)家)的人群收看,那么,就可以利用國(guó)家獲得性這一描述符,在其他人群收看節(jié)目時(shí)不顯示這些業(yè)務(wù)。這個(gè)描述符同樣支持SDT表,不過(guò)在SDT 表中指的是某一個(gè)業(yè)務(wù),而不是一個(gè)業(yè)務(wù)組。所以,BAT表概括地說(shuō)是提供給不同觀眾不同組合節(jié)目的一種方法。
⑸ 其他表
對(duì)于PAT、PMT和CAT表,都是由MPEG-2定義的,是PSI里面的表,所以這三個(gè)表都不是全局表,它們存在在每一個(gè)TS中。PSI信息使用這3個(gè)表來(lái)定義碼流的結(jié)構(gòu),一個(gè)TS對(duì)應(yīng)一個(gè)PAT表;一個(gè)CA系統(tǒng)和一個(gè)TS對(duì)應(yīng)一個(gè)CAT表,CAT表的PID值總是1,每個(gè)CAT都只給出其所在流的EMM(包括攜帶組密鑰的EMM和攜帶產(chǎn)品密鑰的EMM)包的PID等信息;一個(gè)業(yè)務(wù)(節(jié)目頻道)對(duì)應(yīng)一個(gè)PMT表,一個(gè)TS對(duì)應(yīng)多個(gè)PMT(視流中所攜帶的業(yè)務(wù)數(shù)而定)且只對(duì)應(yīng)本流的業(yè)務(wù)。
PAT的PID是0,它是PSI信息的根,要查找信息時(shí)首先必須從PAT開(kāi)始,表中列出了傳送碼流中所有節(jié)目所對(duì)應(yīng)的PMT的PID,可根據(jù)這些PID找到相應(yīng)的PMT包。在PMT表中又可以找到與節(jié)目有關(guān)的所有基本碼流,如視頻、音頻、ECM和數(shù)據(jù)等有關(guān)信息的PID,然后把這些標(biāo)有這一PID的數(shù)據(jù)包組織起來(lái)通過(guò)解碼,把節(jié)目或數(shù)據(jù)還原出來(lái)。
以上PSI的幾個(gè)表和NIT表是解碼所必需的表,而SDT和EIT是構(gòu)成業(yè)務(wù)信息所必需的表。
SI還有其他的表,如:TDT表,稱為時(shí)間日期表,它給出了當(dāng)前的時(shí)間和日期的信息,有時(shí)也可作為機(jī)頂盒解碼時(shí)鐘的更新;RST表,稱為運(yùn)行狀態(tài)表,屬于可選表,它用于快速更新某節(jié)目或某些節(jié)目的運(yùn)行參數(shù),RST只有在狀態(tài)或節(jié)目變更時(shí)才發(fā)送一次;ST表,稱為填充表,屬于可選表,它用來(lái)替代不傳送的表。
⑹ 描述符
描述符是用來(lái)攜帶節(jié)目要素和TS流等的各種參數(shù)的信息結(jié)構(gòu)、語(yǔ)法與語(yǔ)義,描述符是PSI/SI表的構(gòu)成主體,PSI/SI表的主要意義就是傳送這些描述符,為機(jī)頂盒提供相關(guān)業(yè)務(wù)描述與運(yùn)行參數(shù),可以認(rèn)為SI表是舟而描述符是舟上的貨物。描述符的通用結(jié)構(gòu)都是以descriptor_tag (描述符標(biāo)記)字段與緊跟其后的descriptor_length(描述符長(zhǎng)度)字段開(kāi)始。每個(gè)SI表通常都使用特定的描述符,但也不限制這些描述符在其他表中使用。
描述符是隨使用它的SI表一起發(fā)送的。
描述符以及在它們的PSI/SI表中的位置見(jiàn)下表

在PSI/SI表里,我們通常都看到一個(gè)循環(huán)語(yǔ)句,如:
for(I=0;I<N;I++){
descriptor()
}
這個(gè)循環(huán)語(yǔ)句是用來(lái)引導(dǎo)機(jī)頂盒讀取描述參數(shù)用的,以SDT子表為例,由于一個(gè)SDT子表里面包含了對(duì)多個(gè)業(yè)務(wù)的描述,每個(gè)業(yè)務(wù)的都使用了Multilingual_service_name_descriptor和service_descriptor描述符,也就是說(shuō)一個(gè)SDT子表里同樣的描述符被使用了多次(也可以理解為,一個(gè)描述符里存有多個(gè)描述參數(shù)),通過(guò)循環(huán)語(yǔ)句來(lái)對(duì)描述符進(jìn)行重復(fù)有序的讀取,來(lái)提取里面的描述參數(shù),直到讀完為止。
網(wǎng)絡(luò)信息表(NIT)的段數(shù)據(jù)結(jié)構(gòu):
Netwok_information_section(){ 網(wǎng)絡(luò)信息段
Table_id 8bit 表標(biāo)識(shí)
Section_syntax_indicator 1bit 段序列指示(標(biāo)記位),此值=1時(shí),規(guī)定從section第43位開(kāi)始的5位是版本號(hào)
Reserved_future_use 1bit 保留將來(lái)使用字段
Reserved 2bit 保留字段
Section_length 12bit 段長(zhǎng)度
Network_id 16bit 網(wǎng)絡(luò)標(biāo)識(shí)
Reserved 2bit 保留字段
Version_number 5bit 表版本號(hào),作為表更新機(jī)制
Current_next_indicator 1bit 當(dāng)前/下一個(gè)有效指示位(標(biāo)記位),表示當(dāng)前表是否有效,如果Current_next_indicator為1,則當(dāng)前表有效;0表示當(dāng)前表無(wú)效.
Section_number 8bit 當(dāng)前段段號(hào)
Last_section_number 8bit 最后段號(hào)(反映了這個(gè)子表由多少個(gè)段組成,如其值為0X01那么表示這個(gè)子表由兩個(gè)段組成)
Reserved_future_use 4bit 保留將來(lái)使用字段
Network_description_length 12bit 網(wǎng)絡(luò)描述符長(zhǎng)度
For(I=0;I<N;I++){ 獲取網(wǎng)絡(luò)
Descriptor() 讀取網(wǎng)絡(luò)描述參數(shù)(網(wǎng)絡(luò)名稱描述符、連接描述符)
}
reserved_future_use 4bit 保留將來(lái)使用字段
transport_stream_loop_length 12bit 傳輸流循環(huán)長(zhǎng)度
for(I=0;I<N;I++){ 獲取傳輸流(整個(gè)系統(tǒng)的傳輸流)
transport_stream_id 16bit 傳輸流標(biāo)識(shí)
original_network_id 16bit 原始網(wǎng)絡(luò)標(biāo)識(shí)
reserved_future_use 4bit 保留將來(lái)使用字段
transport_descriptors_length 12bit 傳輸描述符長(zhǎng)度
for(j=0;j<N;j++){ 獲取傳輸流的描述子(有線傳送系統(tǒng)描述符、業(yè)務(wù)列表描述符等)
descriptor() 讀取描述參數(shù)
}
}
CRC_32 32bit 循環(huán)校驗(yàn)碼
}
posted on 2009-09-18 10:46 葉子 閱讀(2313) 評(píng)論(3) 編輯 收藏 引用 所屬分類: MPEG