http://blog.csdn.net/yangzhiloveyou/article/details/8709188 數(shù)字電視的TS包和TS流的組成和功能 綜合考慮幾下幾個因素: (1)包的長度不能過短,否則包頭開銷所占比例過大,, 導致傳輸效率下降 (2)包的長度不能過長,,否則在丟失同步的情況下恢復(fù)同步的 周期過長,導致較多的信息丟失 (3)其他環(huán)境相適配,,如糾錯編碼,,寬帶網(wǎng)等。 · TS包按功能分為鏈接頭,,適配域,,凈荷。 · 鏈接頭的長度固定,,4個字節(jié) · 適配域的長度從0字節(jié)到184字節(jié)可變,,可以沒有,也可以擴展到整個TS包 · 凈荷數(shù)據(jù)的長度從0字節(jié)到184字節(jié)可變,。 · 整個TS流是由許多長度為188字節(jié)的TS包周期性的排列而形成的,。 · 鏈接頭包含4個字節(jié)的內(nèi)容,主要負責TS包的同步,、各種ES流的表示,、TS包傳輸差錯的檢測和條件接收等功能。 · (1)包同步 · 是包中的第一個字節(jié),,TS包以固定的8bit的同步字節(jié)開始,,所有的TS傳送包,同步字都是唯一的OX47,,用于建立發(fā)送端和接收端包的同步,。 · (2)包差錯指示 · 用于從解碼器向分接器指示傳輸誤碼,。若這個比特被設(shè)置,,表示此TS包中所攜帶的凈荷信息有錯誤,,無法使用。 · (3)凈荷單元起始指示 · 標志PES包頭以及包含節(jié)目特定信息的表(PMT,,PAT)的頭是否出現(xiàn)在該包中,,在失步后的重新同步中起著重要的作用。 · (4)傳送優(yōu)先級 · 用于表示包中含有重要數(shù)據(jù),,應(yīng)予以優(yōu)先傳送,。 · 6)加擾控制 · 傳送信息通過加入擾碼來加密,各個基本碼流可以獨立進行加擾,。加擾控制字段說明TS包中的凈荷數(shù)據(jù)是否加擾,。如果加擾,標志出解擾的密匙,。 · (5)包標識符PID · PID是識別TS包的重要參數(shù),,用來識別TS包所承載的數(shù)據(jù)。在TS碼流生成時,,每一類業(yè)務(wù)(視頻,,音頻,數(shù)據(jù))的基本碼流均被賦予一個不同的識別號PID,,解碼器借助于PID判斷某一個TS包屬于哪一類業(yè)務(wù)的基本碼流,。 · (7)適配域控制 · 標志TS包是否有適配域存在,如果存在,,在其內(nèi)部是否有凈荷存在,。 · (8)循環(huán)計數(shù)器 · 用于對傳輸誤碼進行檢測。在發(fā)送端對所有的包都做0-15的循環(huán)計數(shù),,在接收終端,,如發(fā)現(xiàn)循環(huán)計數(shù)器的值有中斷,表明數(shù)據(jù)在傳輸中有丟失,。
· 適配域是一個可變長度的域,,它在TS包中是否存在,由適配域控制標識決定,。 · 功能:1,、同步和定時 · 2、隨機進入壓縮的碼流 · 3,、當?shù)毓?jié)目插入
· 在數(shù)字壓縮編碼系統(tǒng)中,,由于每個圖像的數(shù)據(jù)是不同的(圖像的編碼方法和復(fù)雜程度不同),這樣不可能從圖像數(shù)據(jù)的起始部分直接獲取定時信息,。 · 每隔一定的傳送時間,,在TS包適配域中傳送系統(tǒng)時鐘27MHz的一個采樣值給接收機,作為解碼器的時鐘基準信號,,稱為節(jié)目時鐘基準(PCR),。PCR通常每隔100ms至少傳送一次,。 隨機進入壓縮的碼流 · 在視頻碼流中存在I幀,B幀,,P幀三種編碼幀類型,,只有I幀編碼數(shù)據(jù)可以獨立進行解碼。 · 在節(jié)目調(diào)諧或節(jié)目更換時需要隨時進入音頻或視頻,,隨機進入應(yīng)該是I幀,,在I幀前面的視頻序列的頭部應(yīng)該有一個隨機進入點。 · 隨機進入指標就是表明隨機進入點的位置,。 · 在電視廣播中,,常需要進行本地節(jié)目和廣告的插入,在MPEG-2傳送系統(tǒng)中,,使用TS包適配域中的一些標志來支持,。插入節(jié)目的PCR值與插入前節(jié)目的PCR值是不同的,因此通知解碼器,,要盡快與插入節(jié)目建立同步關(guān)系,。 · 節(jié)目插入點必然是隨機進入點,但并不是所有的隨機進入點都適合作為節(jié)目插入點,。 · MPEG-2解碼器接收到MPEG-2 TS流時,,首先檢測包結(jié)構(gòu),在TS流中查找同步字節(jié): · 總是OX47,,總位于TS包開始位置,,固定間隔為188字節(jié)。 · 同時滿足這兩個條件,,可以確定同步,。 · 如果出現(xiàn)一個字節(jié)為47hex(OX47),解碼器將檢測這個字節(jié)前后n倍188字節(jié)的位置是否也是同步字節(jié),。 · 如果是,,則當前字節(jié)為同步字節(jié); · 否則,,當前字節(jié)只是碼流中偶爾出現(xiàn)的47hex,,不是同步字節(jié)。 · 接收端收到5個TS包之后開始同步,。 · 丟包3個之后解碼器即失步,。 · TS包中凈荷所承載的信息包括以下3種: · 1、視頻/音頻的PES包以及輔助數(shù)據(jù) · 2,、描述單路節(jié)目復(fù)用信息的節(jié)目映射表(PMT) · 3,、描述單路節(jié)目復(fù)用信息的節(jié)目關(guān)聯(lián)表(PAT) · · 1)系統(tǒng)復(fù)用時,對視頻和音頻的ES流進行打包,,形成視頻和音頻的PES流,,輔助數(shù)據(jù)不需要打成PES包. · (2)視頻和音頻的PES包以一幀編碼圖像為單位,,音頻PES包恒定長度,視頻PES包長度可變,。 · (3)PES包的長度通常都是遠大于TS包的長度,一個PES包必須由整數(shù)個TS包來傳送,,TS包沒裝滿的填充字節(jié),。 · (4)TS包長度固定,188字節(jié),,有效凈荷184字節(jié),。 · PMT表包含了與單路節(jié)目復(fù)用有關(guān)的節(jié)目信息,典型的構(gòu)成包括1路視頻ES流,,2-5路音頻ES流,,1路或多路輔助數(shù)據(jù)。 · 進行TS流復(fù)用時,,各路ES流被分配了唯一的PID,ES流域被分配的PID值間的關(guān)系構(gòu)成了一張表,,稱為節(jié)目映射表PMT。 · PMT完整描述了一路節(jié)目由哪些ES流組成,,他們的PID分別是什么,。 · MPEG-2傳送層中,傳送PMT表的碼流稱為控制碼流,,和其他ES流一樣,,在TS包的凈荷中傳送,分配唯一的PID. · PAT包含了與多路節(jié)目復(fù)用有關(guān)的控制信息,。 · PAT描述了系統(tǒng)級復(fù)用中傳送每路節(jié)目PMT的碼流的PID,。 · PAT作為一個獨立的碼流,裝載在TS包的凈荷中傳送,,分配唯一的PID,。傳送PAT的碼流的PID值定義為固定的數(shù)值“0”。 · 若復(fù)用時遇到有不同碼流的PID值相同,,則在進行系統(tǒng)復(fù)用時進行修改,,修改必須同時記錄在PAT和PMT中。 · 允許單路數(shù)字電視節(jié)目可由其中某些節(jié)目流任意組合構(gòu)成,,節(jié)目可根據(jù)需要ES碼流進行增加或刪除,。 · 允許對多路節(jié)目進行靈活復(fù)用,若其中某些節(jié)目流發(fā)生變化,,只需要將PAT和PMT做相應(yīng)修改即可,。 · 能夠在TS級上提供本地節(jié)目插入和條件接收等對廣播界非常重要的功能。 · · PAT – 每個TS流一個,,每隔0.5秒重復(fù),。 – 描述TS流中有多少個節(jié)目,。 – 包含該表的TS包的PID為0,便于識別,。 – PAT的payload中傳送特殊PID的列表,,每個PID對應(yīng)一個節(jié)目。 – 這些PID是描述每個獨立節(jié)目詳細信息的指針,。 – PID指向PMT表,。 · PMT – 對應(yīng)TS包有特殊的PID和特殊的payload。 – PMT的PID由PAT傳送,。 – 例如要接收節(jié)目3時,,先從PAT的payload中的所有PID列表中選出節(jié)目3的PID為1FF3hex,然后查找包頭中PID=1FF3hex的TS包,,就是節(jié)目3的PMT,。 – PMT包含該節(jié)目中所有ES流(視頻、音頻或數(shù)據(jù))的PID,。
· 一個節(jié)目可能有多個視頻和音頻流,,解碼器必須選擇2個PID,一個視頻流的PID(100hex),,一個音頻流的PID(200hex),。 · 此后解碼器只收集這些TS包,解復(fù)用,,重新組成PES包,,這些PES包再送到視頻或音頻解碼器。 · 傳輸過程中TS流的結(jié)構(gòu)也可能發(fā)生改變,。解碼端機頂盒,,如DVB-S,必須連續(xù)檢測TS流瞬時結(jié)構(gòu),,讀出PAT和PMT,,做自適應(yīng)調(diào)整。 · · PAT和PMT讀出以后,,用戶確定出一個節(jié)目的兩個PID: · 待解碼視頻信號的PID(如100hex) · 待解碼音頻信號的PID(如200hex) · 解碼器只處理這兩個PID的TS包: · 解復(fù)用過程中,,PID為100hex的所有TS包集合成視頻PES包,送到視頻解碼器,。 · 同樣,,PID為200hex的所有TS包重新集合成音頻PES包,送到音頻解碼器,。 如果ES流沒有加擾,,這時可以直接解碼。 · 對付費電視或許可證和地域限制等情況,ES流利用電子碼進行傳輸保護,。 – ES流利用各種方法進行混擾,,接收端必須配有附加硬件并授權(quán)。 – 附加硬件必須有TS流中合適的解擾和授權(quán)數(shù)據(jù),。 – 因此TS流中傳送一個特殊的表CAT(conditionalaccess table) · CAT提供了TS流其他數(shù)據(jù)包的PID,,該數(shù)據(jù)包傳送了解擾所需信息: – ECM(entitlement control message) · 用于傳送加擾碼 – EMM(entitlement management message) · 用于用戶管理 · 只有ES流本身可以加擾,TS包頭,、表格和adaptationfield不能加擾,。 · 解擾本身在MPEG解碼器以外的附加硬件設(shè)備進行,附加硬件與解擾方法相關(guān),,可以做成智能板卡通過CI(common interface)插入機頂盒。 · 在MPEG解碼器做進一步處理之前,,TS流在該硬件設(shè)備中循環(huán),。 · ECM和EMM的信息,以及用戶的個人碼可以將碼流解擾,。 – 亮度信號采樣頻率13.5MHz,,色度信號6.75MHz。27MHz是采樣頻率的倍數(shù),,作為發(fā)送端MPEG編碼器所有處理過程的參考或基本頻率,。 – 編碼器中27MHz振蕩器作為系統(tǒng)時鐘(STC)的輸入。 – STC是42bit計數(shù)器,,由27MHz時鐘計數(shù),,溢出后重新從0開始。 – 接收端也必須提供STC,,其27MHz振蕩器和42bit計數(shù)器必須與編碼器STC完全同步,。 MPEG碼流中需傳送參考信息——PCR(programclock reference),即在固定時刻將最新的STC計數(shù)器值復(fù)制到TS流中 · 碼流中傳送的PCR值必須足夠多,,有最大間隔的限制,;而且要相對準確,沒有抖動,。MPEG標準規(guī)定: – 每個節(jié)目PCR的最大間隔為40ms,。 – PCR的抖動小于±500ns。 · PCR如果出錯: – 本來應(yīng)該顯示彩色圖像,,卻顯示出黑白圖像,。 – TS流重復(fù)用時會出現(xiàn)抖動,因為TS包順序改變,,但其中PCR信息卻沒變,。經(jīng)常會有最大±30μs的PCR抖動,該問題許多機頂盒可以解決。 · PCR信息在相應(yīng)節(jié)目TS包的adaptation field中傳送,,而TS包類型的準確信息可以從PMT中獲得,。 · 節(jié)目時鐘同步以后,視音頻編碼就可以鎖定系統(tǒng)時鐘進行了,。 · 歐洲DVB項目組和美國ATSC項目組都定義了數(shù)字視音頻節(jié)目傳輸?shù)母郊有畔?,以便簡化機頂盒操作,使其更加人性化: – 在TS流中傳送節(jié)目名稱來分辨不同節(jié)目,; · MPEG-2為擴展留有空間,,在PSI、PMT和CAT之外,,TS流中還可以有private tables,,定義了用戶表的結(jié)構(gòu)以及如何將用戶表插入到TS流中。 |
|