MPEG2TS流基本概念和數(shù)據(jù)結(jié)構(gòu)_第1頁
MPEG2TS流基本概念和數(shù)據(jù)結(jié)構(gòu)_第2頁
MPEG2TS流基本概念和數(shù)據(jù)結(jié)構(gòu)_第3頁
MPEG2TS流基本概念和數(shù)據(jù)結(jié)構(gòu)_第4頁
MPEG2TS流基本概念和數(shù)據(jù)結(jié)構(gòu)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、(1)ES-ElementaryStreams(原始流),對視頻、音頻信號及其他數(shù)據(jù)進行編碼壓縮后的數(shù)據(jù)流稱為原始流。原始流包括訪問單元,比如視頻原始流的訪問單元就是一副圖像的編碼數(shù)據(jù)。PES-PacketizedElementaryStreams(分組的原始流),原始流形成的分組稱為PES分組,是用來傳遞原始流的一種數(shù)據(jù)結(jié)構(gòu)節(jié)目是節(jié)目元素的集合。節(jié)目元素可能是原始流,這些原始流有共同的時間基點,用來做同步顯示。傳輸流和節(jié)目流TS-TransportStream翻譯為傳輸流PS-ProgramStream翻譯為節(jié)目流PS用來傳輸和保存一道節(jié)目的編碼數(shù)據(jù)或其他數(shù)據(jù)。PS的組成單位是PES分組。T

2、S用來傳輸和保存多道節(jié)目的編碼數(shù)據(jù)或其他數(shù)據(jù),TS的組成單位是節(jié)目。PS適用于不容易發(fā)生錯誤的環(huán)境,以及涉及到軟件處理的應(yīng)用,典型應(yīng)用如DVD光盤的文件存儲TS適用于容易發(fā)生錯誤的環(huán)境,典型應(yīng)用就是數(shù)字電視信號的傳輸。TS和PS是可以互相轉(zhuǎn)換的,比如從TS中抽取一道節(jié)目的內(nèi)容并產(chǎn)生有效的PS是可能。傳輸流分組和PES分組原始流分成很多PES分組,保持串行順序,一個PES分組只包含一個原始流的編碼數(shù)據(jù)。PES分組長度很大,最大可為64K字節(jié)。PES分組分為分組首部(eader)和有效負載(payload)。有效負載指跟隨在首部字節(jié)之后的字節(jié)。首部的前4個字節(jié)構(gòu)成分組的起始碼,標識了該分組所屬原始

3、流的類型和ID號。TS分組也就是傳輸流數(shù)據(jù)形成的數(shù)據(jù)包。每個TS分組長度為188字節(jié),包括“分組首部”和“有效負載,前4個字節(jié)是分組首部,包含了這個分組的一些信息。有些情況下需要更多的信息時,需在后面添加“調(diào)整字段(adaptionfield)。兩者之間的關(guān)系:PES分組是插入到TS分組中的,每個PES分組首部的第一字節(jié)就是TS分組有效負載的第一字節(jié)。一個PID值的TS分組只帶有來自一個原始流的數(shù)據(jù)。PSI全稱ProgramSpecificInformation,意為節(jié)目專用信息。傳輸流中是多路節(jié)目復(fù)用的,那么,怎么知道這些節(jié)目在傳輸流中的位置,區(qū)分屬于不同節(jié)目呢?所以就還需要一些附加信息,這

4、就是PSI。PSI也是插入到TS分組中的,它們的PID是特定值。MPEG-2中規(guī)定了4個PSI,包括PAT(節(jié)目關(guān)聯(lián)表),CAT(條件訪問表),PMT(節(jié)目映射表),NIT(網(wǎng)絡(luò)信息表),這些PSI包含了進行多路解調(diào)和顯示節(jié)目的必要的和足夠的信息。應(yīng)用中可能包括更多的信息,比如DVB-T中定義了SDT(服務(wù)描述表),EIT(環(huán)境信息表),BAT(節(jié)目組相關(guān)表),TDT(時間日期表)等,統(tǒng)稱為DVB-SI(服務(wù)信息)。PSI的PID是特定的,含PSI的數(shù)據(jù)包必須周期性的出現(xiàn)在傳輸流中。PMT(ProgramMapTable)節(jié)目映射表PMT所在分組的PID由PAT指定,所以要先解出PAT,再解P

5、MT。PMT中包含了屬于同一節(jié)目的視頻、音頻和數(shù)據(jù)原始流的PID。找到了PMT,解多路復(fù)用器就可找到一道節(jié)目對應(yīng)的每個原始流的PID,再根據(jù)原始流PID,去獲取原始流。PAT(ProgramAssociationTable)節(jié)目關(guān)聯(lián)表PAT所在分組的PID=0PAT中列出了傳輸流中存在的節(jié)目流PAT指定了傳輸流中每個節(jié)目對應(yīng)PMT所在分組的PIDPAT的第一條數(shù)據(jù)指定了NIT所在分組的PID,其他數(shù)據(jù)指定了PMT所在分組的PID。CAT(ConditionalAccessTable)條件訪問表CAT所在分組的PID=1CAT中列出了條件控制信息(ECM)和條件管理信息(EMM)所在分組的PID

6、。CAT用于節(jié)目的加密和解密NIT(NetworkInformationTable)網(wǎng)絡(luò)信息表NIT所在分組的PID由PAT指定NIT提供一組傳輸流的相關(guān)信息,以及于網(wǎng)絡(luò)自身特性相關(guān)的信息,比如網(wǎng)絡(luò)名稱,傳輸參數(shù)(如頻率,調(diào)制方式等)。NIT一般是解碼器內(nèi)部使用的數(shù)據(jù),當然也可以做為EPG的一個顯示數(shù)據(jù)提供給用戶做為參考。幾種PSI之間的關(guān)系,如下圖所示:首先PAT中指定了傳輸流中所存在的節(jié)目,及每個節(jié)目對應(yīng)的PMT的PID號。比如Program1對應(yīng)的PMT的PID=22,然后找到PID=22的TS分組,解出PMT,得到這個節(jié)目中包含的原始流的PID,再根據(jù)原始流的PID去找相應(yīng)的TS分組,

7、獲取原始流的數(shù)據(jù),然后就可以送入解碼器解碼了。數(shù)據(jù)結(jié)構(gòu)(1)TS分組前面提到,TS分組由188個字節(jié)構(gòu)成,其結(jié)構(gòu)如下:transport_packet()TOC o 1-5 h zsync_byte/8transport_error_indicator/1payload_unit_start_indicator/1transport_priority/1PID/13transport_scrambling_control/2adaptation_field_control/2continuity_counter/4if(adaptation_field_control=10|adaptatio

8、n_field_control=11)adaptation_field()if(adaptation_field_control=01|adaptation_field_control=11)for(i=0;iN;i+)data_byte/8前面32bit的數(shù)據(jù)即TS分組首部,它指出了這個分組的屬性。sync_byte同步字節(jié),固定為0 x47,表示后面的是一個TS分組,當然,后面包中的數(shù)據(jù)是不會出現(xiàn)0 x47的transport_error_indicator傳輸錯誤標志位,一般傳輸錯誤的話就不會處理這個包了payload_unit_start_indicator這個位功能有點復(fù)雜,字面意思

9、是有效負載的開始標志,根據(jù)后面有效負載的內(nèi)容不同功能也不同,后面用到的時候再說。transport_priority傳輸優(yōu)先級位,1表示高優(yōu)先級,傳輸機制可能用到,解碼好像用不著。PID這個比較重要,指出了這個包的有效負載數(shù)據(jù)的類型,告訴我們這個包傳輸?shù)氖鞘裁磧?nèi)容。前面已經(jīng)敘述過。transport_scrambling_control加密標志位,表示TS分組有效負載的加密模式。TS分組首部(也就是前面這32bit)是不應(yīng)被加密的,00表示未加密。adaption_field_control翻譯為調(diào)整字段控制,表示TS分組首部后面是否跟隨有調(diào)整字段和有效負載。01僅含有效負載,10僅含調(diào)整字段

10、,11含有調(diào)整字段和有效負載。為00的話解碼器不進行處理??辗纸M沒有調(diào)整字段continuity_counter個4bit的計數(shù)器,范圍0-15,具有相同的PID的TS分組傳輸時每次加1,到15后清0。不過,有些情況下是不計數(shù)的。如下:(1)TS分組無有效負載(2)復(fù)制的TS分組和原分組這個值一樣(3)后面講到的一個標志discontinuity_indicator為1時adaptation_field()調(diào)整字段的處理data_byte有效負載的剩余部分,可能為PES分組,PSI,或一些自定義的數(shù)據(jù)。(2)PAT數(shù)據(jù)結(jié)構(gòu)如下:program_association_section()tabl

11、e_id/8section_syntax_indicator/10/1/2/12/16/2/5/1/8/8/16/3reservedsection_lengthtransport_stream_idreservedversion_numbercurrent_next_indicatorsection_numberlast_section_numberfor(i=0;iN;i+)program_numberreservedif(program_number=0)network_PID/13/13/32elseprogram_map_PIDCRC_32table_id固定為0 x00,標志是該表是

12、PATsection_syntax_indicator段語法標志位,固定為1section_length表示這個字節(jié)后面有用的字節(jié)數(shù),包括CRC32。假如后面的字節(jié)加上前面的字節(jié)數(shù)少于188,后面會用0XFF填充。假如這個數(shù)值比較大,則PAT會分成幾部分來傳輸。transport_stream_id該傳輸流的ID,區(qū)別于一個網(wǎng)絡(luò)中其它多路復(fù)用的流。version_number范圍0-31,表示PAT的版本號,標注當前節(jié)目的版本這是個非常有用的參數(shù),當檢測到這個字段改變時,說明TS流中的節(jié)目已經(jīng)變化了,程序必須重新搜索節(jié)目current_next_indicator表示發(fā)送的PAT是當前有效還是

13、下一個PAT有效。section_number分段的號碼。PAT可能分為多段傳輸,第一段為00,以后每個分段加1,最多可能有256個分段last_section_number最后一個分段的號碼program_number節(jié)目號network_PID網(wǎng)絡(luò)信息表(NIT)的PID,網(wǎng)絡(luò)信息表提供了該物理網(wǎng)絡(luò)的一些信息,和電視臺相關(guān)的。節(jié)目號為0時對應(yīng)的PID為network_PIDprogram_map_PID節(jié)目映射表的PID,節(jié)目號大于0時對應(yīng)的PID,每個節(jié)目對應(yīng)一個CRC_32CRC32校驗碼上面program_number,network_PID,program_map_PID是循環(huán)出現(xiàn)

14、的。program_number等于0時對應(yīng)network_PID,program_number等于其它值時對應(yīng)program_map_PID。PMTPMT數(shù)據(jù)結(jié)構(gòu)如下:TS_program_map_section()table_id/8stream_type指示了PID為elementary_PID的PES分組中原始流的類型,比如視頻流,音頻流等,見后面的表section_syntax_indicator/10/1reservedsection_lengthprogram_numberreservedversion_numbercurrent_next_indicatorsection_nu

15、mberlast_section_numberreservedPCR_PIDreserved4program_info_lengthfor(i=0;iN;i+)descriptor()for(i=0;iN1;i+)stream_typereservedelementary_PIDreservedES_info_lengthfor(i=0;iN2;i+)descriptor()CRC_32table_id固定為0 x02,/2/12/16/2/5/1/8/8/3/13/12/8/3/13/4/12/32標志是該表是PMT。section_syntax_indicatorsection_lengthversion_number上四個字段意思和PAT相同,可參考上面解釋current_next_indicator以section_numberlast_section_number以上兩個字段意思和PAT相同,不過值都固定為0 xOO,我覺得這樣的原因可能是因為PMT不需要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論