2)節目流(PS)
將具有共同時(shí)間基準的一個(gè)或多個(gè)PES組合(復合)而成的單一的數據流稱(chēng)為節目流(Program Stream)。PS包的結構如圖3所示。
由圖3可見(jiàn),PS包由包頭、系統頭、PES包3部分構成。包頭由PS包起始碼、系統時(shí)鐘基準(SCR-System Clock Reference)的基本部分、SCR的擴展部分和PS復用速率4部分組成。
PS包起始碼用于識別數據包所屬數據流的性質(zhì)及序號。
SCR的基本部分是1個(gè)33 bit的數,由MPEG-1與MPEG-2兼容共用。SCR擴展部分是1個(gè)9 bit的數,由MPEG-2單獨使用。SCR是為了解決壓縮編碼圖像同步問(wèn)題產(chǎn)生的。因為,I、B、P幀經(jīng)過(guò)壓縮編碼后,各幀有不同的字節數;輸入解碼器的壓縮編碼圖像的幀順序I1P4B2B3P7B5B6I10B8B9 中的P4、I10幀,需要經(jīng)過(guò)重新排序緩存器延遲后,才能重建編碼輸入圖像的幀順序I1B2B3P4B5B6P7B8B9I10;視頻ES與音頻ES是以前后不同的視頻與音頻的比例交錯傳送的。以上3條均不利于視音頻同步。所以,為解決同步問(wèn)題,提出在統一系統時(shí)鐘(SSTC-Single System Time Clock)條件下,在PS包頭插入時(shí)間標志SCR的方法。整個(gè)42 bit字寬的SCR,按照MPEG規定分布在寬為33 bit的1個(gè)基礎字及寬為9 bit的1個(gè)擴展區中。由于MPEG-1采用了相當于33 bit字寬的90kHz的時(shí)間基準,考慮到兼容,對節目流中的SCR也只用33 bit。為了提高PAL或NTSC已編碼節目再編碼的精確性,MPEG-2將時(shí)間分解力由90kHz提高到27MHz光柵結構,使通過(guò)TS時(shí)標中的9 bit 擴展區后,精確性會(huì )更高。具體方法是將9 bit用作循環(huán)計數器,計數到300時(shí),迅速向33 bit基本區轉移,同時(shí)將擴展區計數器復原,以便由基本區向擴展區轉移時(shí)重新計數。將42 bit作為時(shí)間標志插入PS包頭的第5到第10個(gè)字節,表明SCR字段最后1個(gè)字節離開(kāi)編碼器的時(shí)間。在系統目標解碼(STD-System Target Decoder)輸入端,通過(guò)對27MHz的統一系統時(shí)鐘(SSTC)取樣后提取。顯然,在編碼端,STC不僅產(chǎn)生了表明視音頻正確的顯示時(shí)間PTS和解碼時(shí)間DTS,而且也產(chǎn)生了表明STC本身瞬時(shí)值的時(shí)間標記SCR。在解碼端,應相應地使SSTC再生,并正確應用時(shí)間標志,即通過(guò)鎖相環(huán)路(PLL-Phase Lock Loop),用解碼時(shí)本地用SCR相位與輸入的瞬時(shí)SCR相位鎖相比較,確定解碼過(guò)程是否同步,若不同步,則用這個(gè)瞬時(shí)SCR調整27MHz時(shí)鐘頻率。每個(gè)SCR字段的大小各不相同,其值是由復用數據流的數據率和SSTC的27MHz時(shí)鐘頻率確定的??梢?jiàn),采用時(shí)間標志PTS、DTS 和SCR,是解決視音頻同步、幀的正確顯示次序、STD緩存器上溢或下溢的好方法。
PS復用速率用于指示其速率大小。

系統頭由系統頭起始碼、系統頭長(cháng)度、速率界限范圍、音頻界限范圍、各種標志指示、視頻界限范圍、數據流識別、STD緩存器界限標度、STD緩存器尺寸標度、(視頻,音頻,或數據)流識別等10個(gè)部分組成。各種標志部分由固定標志指示、約束系統參數數據流(CSPS-Constrained System Parameter Stream)指示、系統音頻鎖定標志指示、系統視頻鎖定標志指示4個(gè)部分組成。其中,CSPS是對圖像尺寸、速率、運動(dòng)矢量范圍、數據率等系統參數的限定指示。
顯然,PS的形成分兩步完成:其一是將視頻ES、音頻ES、其他ES分別打包成視頻PES包、音頻PES包、其他PES包:使每個(gè)PES包內只能存在1種性質(zhì)的ES;每個(gè)PES包的第一個(gè)AU的包頭可包含PTS和DTS;每個(gè)PES包的包頭都有用于區別不同性質(zhì)ES的數據流識別碼。這一切,使解復用和不同ES之間同步重放成為可能。其二是通過(guò)PS復用器將PES包復用成PS包,即將每個(gè)PES包再細分為更小的PS包。PS包頭含有從數字存儲媒介(DSM-Digital storage Medium)進(jìn)入系統解碼器各個(gè)字節的解碼專(zhuān)用時(shí)標,即預定到達時(shí)間表,它是時(shí)鐘調整和緩存器管理的參數。典型PS解碼器如圖4所示,圖中示意了數字視頻解碼器輸出的、符合ITU-R. 601標準的視頻數據幀順序I1B2B3P4B5B6P7B8B9I10,與數字視頻編碼器輸出的數字視頻編碼ES幀順序I1P4B2B3P7B5B6I10B8B9二者之間的關(guān)系。圖中PS解復用器實(shí)際上是系統解復用器和拆包器的組合,即解復用器將MPEG-2 的PS分解成一個(gè)個(gè)PES包,拆包器將PES包拆成視頻ES和音頻ES,最后輸入各自的解碼器。系統頭提供數據流的系統特定信息,包頭與系統頭共同構成一幀,用于將PES包數據流分割成時(shí)間上連續的PS包??梢?jiàn),一個(gè)經(jīng)過(guò)MPEG-2編碼的節目源是由一個(gè)或多個(gè)視頻ES和音頻ES構成的,由于各個(gè)ES共用1個(gè)27MHz的時(shí)鐘,可保證解碼端視音頻的同步播出。例如,一套電影經(jīng)過(guò)MPEG-2編碼,轉換成1個(gè)視頻ES和4個(gè)音頻ES。顯然,PS包長(cháng)度比較長(cháng)且可變,用于無(wú)誤碼環(huán)境,適合于節目信息的軟件處理及交互多媒體應用。但是,PS包越長(cháng),同步越困難;在丟包時(shí)數據的重新組成,也越困難。顯然,PS用于存儲(磁盤(pán)、磁帶等)、演播室CD-I、MPEG-1數據流。

3) 傳輸流(TS)
將具有共同時(shí)間基準或具有獨立時(shí)間基準的一個(gè)或多個(gè)PES組合而成的單一的數據流稱(chēng)為傳輸流(Transport Stream)。TS實(shí)際是面向數字化分配媒介(有線(xiàn)、衛星、地面網(wǎng))的傳輸層接口。對具有共同時(shí)間基準的兩個(gè)以上的PES先進(jìn)行節目復用,然后再對相互可有獨立時(shí)間基準的各個(gè)PS進(jìn)行傳輸復用,即將每個(gè)PES再細分為更小的TS包,TS包結構如圖5所示。

由圖5可見(jiàn),TS包由包頭、自適應區和包數據3部分組成。每個(gè)包長(cháng)度為固定的188 B,包頭長(cháng)度占4 B,自適應區和包數據長(cháng)度占184 B。184 B為有用信息空間,用于傳送已編碼的視音頻數據流。當節目時(shí)鐘基準(PCR-Program Clock Reference)存在時(shí),包頭還包括可變長(cháng)度的自適應區,包頭的長(cháng)度就會(huì )大于4 B??紤]到與通信的關(guān)系,整個(gè)傳輸包固定長(cháng)度應相當于4個(gè)ATM包??紤]到加密是按照8 B順序加擾的,代表有用信息的自適應區和包數據的長(cháng)度應該是8 B的整數倍,即自適應區和包數據為23×8 B =184 B。
TS包的包頭由如圖所示的同步字節、傳輸誤碼指示符、有效載荷單元起始指示符、傳輸優(yōu)先、包識別(PID-Packet Identification)、傳輸加擾控制、自適應區控制和連續計數器8個(gè)部分組成。其中,可用同步字節位串的自動(dòng)相關(guān)特性,檢測數據流中的包限制,建立包同步;傳輸誤碼指示符,是指有不能消除誤碼時(shí),采用誤碼校正解碼器可表示1bit 的誤碼,但無(wú)法校正;有效載荷單元起始指示符,表示該數據包是否存在確定的起始信息;傳輸優(yōu)先,是給TS包分配優(yōu)先權;PID值是由用戶(hù)確定的,解碼器根據PID將TS上從不同ES來(lái)的TS包區別出來(lái),以重建原來(lái)的ES;傳輸加擾控制,可指示數據包內容是否加擾,但包頭和自適應區永遠不加擾;自適應區控制,用2 bit表示有否自適應區,即(01)表示有有用信息無(wú)自適應區,(10)表示無(wú)有用信息有自適應區,(11)表示有有用信息有自適應區,(00)無(wú)定義;連續計數器可對PID包傳送順序計數,據計數器讀數,接收端可判斷是否有包丟失及包傳送順序錯誤。顯然,包頭對TS包具有同步、識別、檢錯及加密功能。
TS包自適應區由自適應區長(cháng)、各種標志指示符、與插入標志有關(guān)的信息和填充數據4部分組成。其中標志部分由間斷指示符、隨機存取指示符、ES優(yōu)化指示符、PCR標志、接點(diǎn)標志、傳輸專(zhuān)用數據標志、原始PCR標志、自適應區擴展標志8個(gè)部分組成。重要的是標志部分的PCR字段,可給編解碼器的27MHz時(shí)鐘提供同步資料,進(jìn)行同步。其過(guò)程是,通過(guò)PLL,用解碼時(shí)本地用PCR相位與輸入的瞬時(shí)PCR相位鎖相比較,確定解碼過(guò)程是否同步,若不同步,則用這個(gè)瞬時(shí)PCR調整時(shí)鐘頻率。因為,數字圖像采用了復雜而不同的壓縮編碼算法,造成每幅圖像的數據各不相同,使直接從壓縮編碼圖像數據的開(kāi)始部分獲取時(shí)鐘信息成為不可能。為此,選擇了某些(而非全部)TS包的自適應區來(lái)傳送定時(shí)信息。于是,被選中的TS包的自適應區,可用于測定包信息的控制bit和重要的控制信息。自適應區無(wú)須伴隨每個(gè)包都發(fā)送,發(fā)送多少主要由選中的TS包的傳輸專(zhuān)用時(shí)標參數決定。標志中的隨機存取指示符和接點(diǎn)標志,在節目變動(dòng)時(shí),為隨機進(jìn)入I幀壓縮的數據流提供隨機進(jìn)入點(diǎn),也為插入當地節目提供方便。自適應區中的填充數據是由于PES包長(cháng)不可能正好轉為T(mén)S包的整數倍,最后的TS包保留一小部分有用容量,通過(guò)填充字節加以填補,這樣可以防止緩存器下溢,保持總碼率恒定不變。
4) 節目特定信息(PSI)
由上述可知,1個(gè)TS包由固定的188B組成,用于傳送已編碼視音頻數據流的有用信息占用184B空間。但是,還需要傳輸節目隨帶信息及解釋有關(guān)TS特定結構的信息(元數據),即節目特定信息(PSI-Program Specific Information)。用于說(shuō)明:1個(gè)節目是由多少個(gè)ES組成的;1個(gè)節目是由哪些個(gè)ES組成的;在哪些個(gè)PID情況下,1個(gè)相應的解碼器能找到TS中的各個(gè)數據包。這對于由不同的數據流復用成1個(gè)合成的TS是1個(gè)決定性的條件。為了重建原來(lái)的ES,就要追蹤從不同ES來(lái)的TS包及其PID。因此,一些映射結構(Mapping Mechanism),如節目源結合表(PAT)和節目源映射表(PMT)兩種映射結構,會(huì )以打包的形式存在于TS上,即借助于PSI傳輸一串描述了各種ES的表格來(lái)實(shí)現。MPEG認為,可用4個(gè)不同的表格作出區別:
● 節目源結合表(PAT-Program Association Table):在每個(gè)TS上都有一個(gè)PAT,用于定義節目源映射表。用MPEG指定的PID(00)標明,通常用PID=0表示 。
● 條件接收表(CAT-Conditional Access Table):用于準備解密數據組用的信息,如加密系統標識、存取權的分配、各個(gè)碼序的發(fā)送等。用MPEG指定的PID(01)標明,通常用PID=1表示。
● 節目源映射表(PMT-Program Map Table):在TS上,每個(gè)節目源都有一個(gè)對應的PMT,是借助裝入PAT中節目號推導出來(lái)的。用于定義每個(gè)在TS上的節目源(Program),即將TS上每個(gè)節目源的ES及其對應的PID信息、數據的性質(zhì)、數據流之間關(guān)系列在一個(gè)表里。解碼器要知道分配節目的ES的總數,因為MPEG總共允許256個(gè)不同的描述符,其中ISO占用64個(gè),其余由用戶(hù)使用。
● 網(wǎng)絡(luò )信息表(NIT- Network Information Table):可傳送網(wǎng)絡(luò )數據和各種參數,如頻帶、轉發(fā)信號、通道寬度等。MPEG尚未規定,僅在節目源結合表(PAT)中保留了1個(gè)既定節目號“0”(Program-0)。
有了PAT及 PMT這兩種表,解碼器就可以根據PID將TS上從不同的ES來(lái)的TS包分別出來(lái)。
節目特定信息(PSI)的結構,如圖6所示。根據PID將TS上從不同的ES來(lái)的TS包分別出來(lái)可分兩步進(jìn)行:其一是從PID=0的PAT上找出帶有PMT的那個(gè)節目源,如Program-1,或Program-2;其二是從所選擇的PMT中找到組成該節目源的各個(gè)ES的PID,如從Program-1箭頭所指的PMT-1中ES-2所對應的Audio-1的PID為48,或從Program-2箭頭所指的PMT-2中ES-1所對應的Video的PID為16。同樣,Program-1的MAP的PID為22,ES-1所對應的Video的PID為54;Program-2的PMT-2中ES-2所對應的Audio-1的PID為81,ES-1所對應的Video的PID為16,MAP的PID為33;PAT的PID為0;CAT授權管理信息(EMM-Entitlement Management Message)的PID為1。這樣,就追蹤到了TS上從不同的ES來(lái)的TS包及其PID,如圖6所示的TS上不同ES的TS包的PID分別為48、16、22、21、54、0、16、33、1。顯然,解碼器根據PID將TS上從不同的ES來(lái)的TS包分別出來(lái)的過(guò)程,也可以從圖7的TS雙層解復用結構圖中得到解釋。要注意,MPEG-2的TS是經(jīng)過(guò)節目復用和傳輸復用兩層完成的:在節目復用時(shí)加入了PMT;在傳輸復用時(shí)加入PAT。所以,在節目解復用時(shí),就可以得到PMT,如圖7中的ES (MAP) (PMT-1)和ES (MAP) (PMT-2);在傳輸解復用時(shí),就可以得到PAT,如圖7中的PS-MAP。將圖6與圖7對照,就可以知道解碼器是如何追蹤到TS上從不同的ES來(lái)的TS包及其PID的。(未完待續)


聯(lián)系客服