2)節(jié)目流(PS) 將具有共同時(shí)間基準(zhǔn)的一個(gè)或多個(gè)PES組合(復(fù)合)而成的單一的數(shù)據(jù)流稱為節(jié)目流(Program Stream)。PS包的結(jié)構(gòu)如圖3所示。 由圖3可見(jiàn),PS包由包頭、系統(tǒng)頭、PES包3部分構(gòu)成。包頭由PS包起始碼、系統(tǒng)時(shí)鐘基準(zhǔn)(SCR-System Clock Reference)的基本部分、SCR的擴(kuò)展部分和PS復(fù)用速率4部分組成。 PS包起始碼用于識(shí)別數(shù)據(jù)包所屬數(shù)據(jù)流的性質(zhì)及序號(hào)。 SCR的基本部分是1個(gè)33 bit的數(shù),由MPEG-1與MPEG-2兼容共用。SCR擴(kuò)展部分是1個(gè)9 bit的數(shù),由MPEG-2單獨(dú)使用。SCR是為了解決壓縮編碼圖像同步問(wèn)題產(chǎn)生的。因?yàn)?,I、B、P幀經(jīng)過(guò)壓縮編碼后,各幀有不同的字節(jié)數(shù);輸入解碼器的壓縮編碼圖像的幀順序I1P4B2B3P7B5B6I10B8B9 中的P4、I10幀,需要經(jīng)過(guò)重新排序緩存器延遲后,才能重建編碼輸入圖像的幀順序I1B2B3P4B5B6P7B8B9I10;視頻ES與音頻ES是以前后不同的視頻與音頻的比例交錯(cuò)傳送的。以上3條均不利于視音頻同步。所以,為解決同步問(wèn)題,提出在統(tǒng)一系統(tǒng)時(shí)鐘(SSTC-Single System Time Clock)條件下,在PS包頭插入時(shí)間標(biāo)志SCR的方法。整個(gè)42 bit字寬的SCR,按照MPEG規(guī)定分布在寬為33 bit的1個(gè)基礎(chǔ)字及寬為9 bit的1個(gè)擴(kuò)展區(qū)中。由于MPEG-1采用了相當(dāng)于33 bit字寬的90kHz的時(shí)間基準(zhǔn),考慮到兼容,對(duì)節(jié)目流中的SCR也只用33 bit。為了提高PAL或NTSC已編碼節(jié)目再編碼的精確性,MPEG-2將時(shí)間分解力由90kHz提高到27MHz光柵結(jié)構(gòu),使通過(guò)TS時(shí)標(biāo)中的9 bit 擴(kuò)展區(qū)后,精確性會(huì)更高。具體方法是將9 bit用作循環(huán)計(jì)數(shù)器,計(jì)數(shù)到300時(shí),迅速向33 bit基本區(qū)轉(zhuǎn)移,同時(shí)將擴(kuò)展區(qū)計(jì)數(shù)器復(fù)原,以便由基本區(qū)向擴(kuò)展區(qū)轉(zhuǎn)移時(shí)重新計(jì)數(shù)。將42 bit作為時(shí)間標(biāo)志插入PS包頭的第5到第10個(gè)字節(jié),表明SCR字段最后1個(gè)字節(jié)離開(kāi)編碼器的時(shí)間。在系統(tǒng)目標(biāo)解碼(STD-System Target Decoder)輸入端,通過(guò)對(duì)27MHz的統(tǒng)一系統(tǒng)時(shí)鐘(SSTC)取樣后提取。顯然,在編碼端,STC不僅產(chǎn)生了表明視音頻正確的顯示時(shí)間PTS和解碼時(shí)間DTS,而且也產(chǎn)生了表明STC本身瞬時(shí)值的時(shí)間標(biāo)記SCR。在解碼端,應(yīng)相應(yīng)地使SSTC再生,并正確應(yīng)用時(shí)間標(biāo)志,即通過(guò)鎖相環(huán)路(PLL-Phase Lock Loop),用解碼時(shí)本地用SCR相位與輸入的瞬時(shí)SCR相位鎖相比較,確定解碼過(guò)程是否同步,若不同步,則用這個(gè)瞬時(shí)SCR調(diào)整27MHz時(shí)鐘頻率。每個(gè)SCR字段的大小各不相同,其值是由復(fù)用數(shù)據(jù)流的數(shù)據(jù)率和SSTC的27MHz時(shí)鐘頻率確定的??梢?jiàn),采用時(shí)間標(biāo)志PTS、DTS 和SCR,是解決視音頻同步、幀的正確顯示次序、STD緩存器上溢或下溢的好方法。 系統(tǒng)頭由系統(tǒng)頭起始碼、系統(tǒng)頭長(zhǎng)度、速率界限范圍、音頻界限范圍、各種標(biāo)志指示、視頻界限范圍、數(shù)據(jù)流識(shí)別、STD緩存器界限標(biāo)度、STD緩存器尺寸標(biāo)度、(視頻,音頻,或數(shù)據(jù))流識(shí)別等10個(gè)部分組成。各種標(biāo)志部分由固定標(biāo)志指示、約束系統(tǒng)參數(shù)數(shù)據(jù)流(CSPS-Constrained System Parameter Stream)指示、系統(tǒng)音頻鎖定標(biāo)志指示、系統(tǒng)視頻鎖定標(biāo)志指示4個(gè)部分組成。其中,CSPS是對(duì)圖像尺寸、速率、運(yùn)動(dòng)矢量范圍、數(shù)據(jù)率等系統(tǒng)參數(shù)的限定指示。 顯然,PS的形成分兩步完成:其一是將視頻ES、音頻ES、其他ES分別打包成視頻PES包、音頻PES包、其他PES包:使每個(gè)PES包內(nèi)只能存在1種性質(zhì)的ES;每個(gè)PES包的第一個(gè)AU的包頭可包含PTS和DTS;每個(gè)PES包的包頭都有用于區(qū)別不同性質(zhì)ES的數(shù)據(jù)流識(shí)別碼。這一切,使解復(fù)用和不同ES之間同步重放成為可能。其二是通過(guò)PS復(fù)用器將PES包復(fù)用成PS包,即將每個(gè)PES包再細(xì)分為更小的PS包。PS包頭含有從數(shù)字存儲(chǔ)媒介(DSM-Digital storage Medium)進(jìn)入系統(tǒng)解碼器各個(gè)字節(jié)的解碼專用時(shí)標(biāo),即預(yù)定到達(dá)時(shí)間表,它是時(shí)鐘調(diào)整和緩存器管理的參數(shù)。典型PS解碼器如圖4所示,圖中示意了數(shù)字視頻解碼器輸出的、符合ITU-R. 601標(biāo)準(zhǔn)的視頻數(shù)據(jù)幀順序I1B2B3P4B5B6P7B8B9I10,與數(shù)字視頻編碼器輸出的數(shù)字視頻編碼ES幀順序I1P4B2B3P7B5B6I10B8B9二者之間的關(guān)系。圖中PS解復(fù)用器實(shí)際上是系統(tǒng)解復(fù)用器和拆包器的組合,即解復(fù)用器將MPEG-2 的PS分解成一個(gè)個(gè)PES包,拆包器將PES包拆成視頻ES和音頻ES,最后輸入各自的解碼器。系統(tǒng)頭提供數(shù)據(jù)流的系統(tǒng)特定信息,包頭與系統(tǒng)頭共同構(gòu)成一幀,用于將PES包數(shù)據(jù)流分割成時(shí)間上連續(xù)的PS包??梢?jiàn),一個(gè)經(jīng)過(guò)MPEG-2編碼的節(jié)目源是由一個(gè)或多個(gè)視頻ES和音頻ES構(gòu)成的,由于各個(gè)ES共用1個(gè)27MHz的時(shí)鐘,可保證解碼端視音頻的同步播出。例如,一套電影經(jīng)過(guò)MPEG-2編碼,轉(zhuǎn)換成1個(gè)視頻ES和4個(gè)音頻ES。顯然,PS包長(zhǎng)度比較長(zhǎng)且可變,用于無(wú)誤碼環(huán)境,適合于節(jié)目信息的軟件處理及交互多媒體應(yīng)用。但是,PS包越長(zhǎng),同步越困難;在丟包時(shí)數(shù)據(jù)的重新組成,也越困難。顯然,PS用于存儲(chǔ)(磁盤(pán)、磁帶等)、演播室CD-I、MPEG-1數(shù)據(jù)流。 3) 傳輸流(TS) 將具有共同時(shí)間基準(zhǔn)或具有獨(dú)立時(shí)間基準(zhǔn)的一個(gè)或多個(gè)PES組合而成的單一的數(shù)據(jù)流稱為傳輸流(Transport Stream)。TS實(shí)際是面向數(shù)字化分配媒介(有線、衛(wèi)星、地面網(wǎng))的傳輸層接口。對(duì)具有共同時(shí)間基準(zhǔn)的兩個(gè)以上的PES先進(jìn)行節(jié)目復(fù)用,然后再對(duì)相互可有獨(dú)立時(shí)間基準(zhǔn)的各個(gè)PS進(jìn)行傳輸復(fù)用,即將每個(gè)PES再細(xì)分為更小的TS包,TS包結(jié)構(gòu)如圖5所示。 由圖5可見(jiàn),TS包由包頭、自適應(yīng)區(qū)和包數(shù)據(jù)3部分組成。每個(gè)包長(zhǎng)度為固定的188 B,包頭長(zhǎng)度占4 B,自適應(yīng)區(qū)和包數(shù)據(jù)長(zhǎng)度占184 B。184 B為有用信息空間,用于傳送已編碼的視音頻數(shù)據(jù)流。當(dāng)節(jié)目時(shí)鐘基準(zhǔn)(PCR-Program Clock Reference)存在時(shí),包頭還包括可變長(zhǎng)度的自適應(yīng)區(qū),包頭的長(zhǎng)度就會(huì)大于4 B??紤]到與通信的關(guān)系,整個(gè)傳輸包固定長(zhǎng)度應(yīng)相當(dāng)于4個(gè)ATM包??紤]到加密是按照8 B順序加擾的,代表有用信息的自適應(yīng)區(qū)和包數(shù)據(jù)的長(zhǎng)度應(yīng)該是8 B的整數(shù)倍,即自適應(yīng)區(qū)和包數(shù)據(jù)為23×8 B =184 B。 TS包的包頭由如圖所示的同步字節(jié)、傳輸誤碼指示符、有效載荷單元起始指示符、傳輸優(yōu)先、包識(shí)別(PID-Packet Identification)、傳輸加擾控制、自適應(yīng)區(qū)控制和連續(xù)計(jì)數(shù)器8個(gè)部分組成。其中,可用同步字節(jié)位串的自動(dòng)相關(guān)特性,檢測(cè)數(shù)據(jù)流中的包限制,建立包同步;傳輸誤碼指示符,是指有不能消除誤碼時(shí),采用誤碼校正解碼器可表示1bit 的誤碼,但無(wú)法校正;有效載荷單元起始指示符,表示該數(shù)據(jù)包是否存在確定的起始信息;傳輸優(yōu)先,是給TS包分配優(yōu)先權(quán);PID值是由用戶確定的,解碼器根據(jù)PID將TS上從不同ES來(lái)的TS包區(qū)別出來(lái),以重建原來(lái)的ES;傳輸加擾控制,可指示數(shù)據(jù)包內(nèi)容是否加擾,但包頭和自適應(yīng)區(qū)永遠(yuǎn)不加擾;自適應(yīng)區(qū)控制,用2 bit表示有否自適應(yīng)區(qū),即(01)表示有有用信息無(wú)自適應(yīng)區(qū),(10)表示無(wú)有用信息有自適應(yīng)區(qū),(11)表示有有用信息有自適應(yīng)區(qū),(00)無(wú)定義;連續(xù)計(jì)數(shù)器可對(duì)PID包傳送順序計(jì)數(shù),據(jù)計(jì)數(shù)器讀數(shù),接收端可判斷是否有包丟失及包傳送順序錯(cuò)誤。顯然,包頭對(duì)TS包具有同步、識(shí)別、檢錯(cuò)及加密功能。 TS包自適應(yīng)區(qū)由自適應(yīng)區(qū)長(zhǎng)、各種標(biāo)志指示符、與插入標(biāo)志有關(guān)的信息和填充數(shù)據(jù)4部分組成。其中標(biāo)志部分由間斷指示符、隨機(jī)存取指示符、ES優(yōu)化指示符、PCR標(biāo)志、接點(diǎn)標(biāo)志、傳輸專用數(shù)據(jù)標(biāo)志、原始PCR標(biāo)志、自適應(yīng)區(qū)擴(kuò)展標(biāo)志8個(gè)部分組成。重要的是標(biāo)志部分的PCR字段,可給編解碼器的27MHz時(shí)鐘提供同步資料,進(jìn)行同步。其過(guò)程是,通過(guò)PLL,用解碼時(shí)本地用PCR相位與輸入的瞬時(shí)PCR相位鎖相比較,確定解碼過(guò)程是否同步,若不同步,則用這個(gè)瞬時(shí)PCR調(diào)整時(shí)鐘頻率。因?yàn)?,?shù)字圖像采用了復(fù)雜而不同的壓縮編碼算法,造成每幅圖像的數(shù)據(jù)各不相同,使直接從壓縮編碼圖像數(shù)據(jù)的開(kāi)始部分獲取時(shí)鐘信息成為不可能。為此,選擇了某些(而非全部)TS包的自適應(yīng)區(qū)來(lái)傳送定時(shí)信息。于是,被選中的TS包的自適應(yīng)區(qū),可用于測(cè)定包信息的控制bit和重要的控制信息。自適應(yīng)區(qū)無(wú)須伴隨每個(gè)包都發(fā)送,發(fā)送多少主要由選中的TS包的傳輸專用時(shí)標(biāo)參數(shù)決定。標(biāo)志中的隨機(jī)存取指示符和接點(diǎn)標(biāo)志,在節(jié)目變動(dòng)時(shí),為隨機(jī)進(jìn)入I幀壓縮的數(shù)據(jù)流提供隨機(jī)進(jìn)入點(diǎn),也為插入當(dāng)?shù)毓?jié)目提供方便。自適應(yīng)區(qū)中的填充數(shù)據(jù)是由于PES包長(zhǎng)不可能正好轉(zhuǎn)為T(mén)S包的整數(shù)倍,最后的TS包保留一小部分有用容量,通過(guò)填充字節(jié)加以填補(bǔ),這樣可以防止緩存器下溢,保持總碼率恒定不變。 4) 節(jié)目特定信息(PSI) 由上述可知,1個(gè)TS包由固定的188B組成,用于傳送已編碼視音頻數(shù)據(jù)流的有用信息占用184B空間。但是,還需要傳輸節(jié)目隨帶信息及解釋有關(guān)TS特定結(jié)構(gòu)的信息(元數(shù)據(jù)),即節(jié)目特定信息(PSI-Program Specific Information)。用于說(shuō)明:1個(gè)節(jié)目是由多少個(gè)ES組成的;1個(gè)節(jié)目是由哪些個(gè)ES組成的;在哪些個(gè)PID情況下,1個(gè)相應(yīng)的解碼器能找到TS中的各個(gè)數(shù)據(jù)包。這對(duì)于由不同的數(shù)據(jù)流復(fù)用成1個(gè)合成的TS是1個(gè)決定性的條件。為了重建原來(lái)的ES,就要追蹤從不同ES來(lái)的TS包及其PID。因此,一些映射結(jié)構(gòu)(Mapping Mechanism),如節(jié)目源結(jié)合表(PAT)和節(jié)目源映射表(PMT)兩種映射結(jié)構(gòu),會(huì)以打包的形式存在于TS上,即借助于PSI傳輸一串描述了各種ES的表格來(lái)實(shí)現(xiàn)。MPEG認(rèn)為,可用4個(gè)不同的表格作出區(qū)別: ● 節(jié)目源結(jié)合表(PAT-Program Association Table):在每個(gè)TS上都有一個(gè)PAT,用于定義節(jié)目源映射表。用MPEG指定的PID(00)標(biāo)明,通常用PID=0表示 。 ● 條件接收表(CAT-Conditional Access Table):用于準(zhǔn)備解密數(shù)據(jù)組用的信息,如加密系統(tǒng)標(biāo)識(shí)、存取權(quán)的分配、各個(gè)碼序的發(fā)送等。用MPEG指定的PID(01)標(biāo)明,通常用PID=1表示。 ● 節(jié)目源映射表(PMT-Program Map Table):在TS上,每個(gè)節(jié)目源都有一個(gè)對(duì)應(yīng)的PMT,是借助裝入PAT中節(jié)目號(hào)推導(dǎo)出來(lái)的。用于定義每個(gè)在TS上的節(jié)目源(Program),即將TS上每個(gè)節(jié)目源的ES及其對(duì)應(yīng)的PID信息、數(shù)據(jù)的性質(zhì)、數(shù)據(jù)流之間關(guān)系列在一個(gè)表里。解碼器要知道分配節(jié)目的ES的總數(shù),因?yàn)镸PEG總共允許256個(gè)不同的描述符,其中ISO占用64個(gè),其余由用戶使用。 ● 網(wǎng)絡(luò)信息表(NIT- Network Information Table):可傳送網(wǎng)絡(luò)數(shù)據(jù)和各種參數(shù),如頻帶、轉(zhuǎn)發(fā)信號(hào)、通道寬度等。MPEG尚未規(guī)定,僅在節(jié)目源結(jié)合表(PAT)中保留了1個(gè)既定節(jié)目號(hào)“0”(Program-0)。 有了PAT及 PMT這兩種表,解碼器就可以根據(jù)PID將TS上從不同的ES來(lái)的TS包分別出來(lái)。 節(jié)目特定信息(PSI)的結(jié)構(gòu),如圖6所示。根據(jù)PID將TS上從不同的ES來(lái)的TS包分別出來(lái)可分兩步進(jìn)行:其一是從PID=0的PAT上找出帶有PMT的那個(gè)節(jié)目源,如Program-1,或Program-2;其二是從所選擇的PMT中找到組成該節(jié)目源的各個(gè)ES的PID,如從Program-1箭頭所指的PMT-1中ES-2所對(duì)應(yīng)的Audio-1的PID為48,或從Program-2箭頭所指的PMT-2中ES-1所對(duì)應(yīng)的Video的PID為16。同樣,Program-1的MAP的PID為22,ES-1所對(duì)應(yīng)的Video的PID為54;Program-2的PMT-2中ES-2所對(duì)應(yīng)的Audio-1的PID為81,ES-1所對(duì)應(yīng)的Video的PID為16,MAP的PID為33;PAT的PID為0;CAT授權(quán)管理信息(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。顯然,解碼器根據(jù)PID將TS上從不同的ES來(lái)的TS包分別出來(lái)的過(guò)程,也可以從圖7的TS雙層解復(fù)用結(jié)構(gòu)圖中得到解釋。要注意,MPEG-2的TS是經(jīng)過(guò)節(jié)目復(fù)用和傳輸復(fù)用兩層完成的:在節(jié)目復(fù)用時(shí)加入了PMT;在傳輸復(fù)用時(shí)加入PAT。所以,在節(jié)目解復(fù)用時(shí),就可以得到PMT,如圖7中的ES (MAP) (PMT-1)和ES (MAP) (PMT-2);在傳輸解復(fù)用時(shí),就可以得到PAT,如圖7中的PS-MAP。將圖6與圖7對(duì)照,就可以知道解碼器是如何追蹤到TS上從不同的ES來(lái)的TS包及其PID的。(未完待續(xù)) |
|
來(lái)自: lvgs > 《數(shù)字電視》