功能描述:
MPEG-2系統(tǒng)是將視頻、音頻及其它數(shù)據(jù)基本流組合成一個(gè)或多個(gè)適宜于存儲(chǔ)或傳輸?shù)臄?shù)據(jù)流的規(guī)范,如圖1所示。符合ITU-R. 601標(biāo)準(zhǔn)的、幀次序?yàn)镮1B2B3P4B5B6P7B8B9I10數(shù)字視頻數(shù)據(jù)和符合AES/EBU標(biāo)準(zhǔn)的數(shù)字音頻數(shù)據(jù)分別通過(guò)圖像編碼和聲音編碼之后,生成次序?yàn)镮1P4B2B3 P7B5B6I10
B8B9視頻基本流(ES)和音頻ES。在視頻ES中還要加入一個(gè)時(shí)間基準(zhǔn),即加入從視頻信號(hào)中取出的27MHz時(shí)鐘。然后,再分別通過(guò)各自的數(shù)據(jù)包形成器,將相應(yīng)的ES打包成打包基本流(PES)包,并由PES包構(gòu)成PES。最后,節(jié)目復(fù)用器和傳輸復(fù)用器分別將視頻PES和音頻PES組合成相應(yīng)的節(jié)目流(PS)包和傳輸流(TS)包,并由PS包構(gòu)成PS和由TS包構(gòu)成TS。顯然,不允許直接傳輸PES,只允許傳輸PS和TS;PES只是PS轉(zhuǎn)換為TS或TS轉(zhuǎn)換為PS的中間步驟或橋梁,是MPEG數(shù)據(jù)流互換的邏輯結(jié)構(gòu),本身不能參與交換和互操作。

將MPEG-2壓縮編碼的視頻基本流(ES-Elementary Stream)數(shù)據(jù)分組為包長(zhǎng)度可變的數(shù)據(jù)包,稱為打包基本流(PES- Packetized
Elementary Stream)。廣而言之,PES為打包了的專用視頻、音頻、數(shù)據(jù)、同步、識(shí)別信息數(shù)據(jù)通道。所謂ES,是指只包含1個(gè)信源編碼器的數(shù)據(jù)流。即ES是編碼的視頻數(shù)據(jù)流,或編碼的音頻數(shù)據(jù)流,或其它編碼數(shù)據(jù)流的統(tǒng)稱。每個(gè)ES都由若干個(gè)存取單元(AU-Access Unit)組成,每個(gè)視頻AU或音頻AU都是由頭部和編碼數(shù)據(jù)兩部分組成的。將幀順序?yàn)镮1P4B2B3P7B5B6 的編碼ES,通過(guò)打包,就將ES變成僅含有1種性質(zhì)ES的PES包,如僅含視頻ES的PES包,僅含音頻ES的PES包,僅含其它ES的PES包。PES包的組成見(jiàn)圖2。
由圖2可見(jiàn),1個(gè)PES包是由包頭、ES特有信息和包數(shù)據(jù)3個(gè)部分組成。由于包頭和ES特有信息二者可合成1個(gè)數(shù)據(jù)頭,所以可認(rèn)為1個(gè)PES包是由數(shù)據(jù)頭和包數(shù)據(jù)(有效載荷)兩個(gè)部分組成的。
包頭由起始碼前綴、數(shù)據(jù)流識(shí)別及PES包長(zhǎng)信息3部分構(gòu)成。包起始碼前綴是用23個(gè)連續(xù)“0”和1個(gè)“1”構(gòu)成的,用于表示有用信息種類的數(shù)據(jù)流識(shí)別,是1個(gè)8 bit的整數(shù)。由二者合成1個(gè)專用的包起始碼,可用于識(shí)別數(shù)據(jù)包所屬數(shù)據(jù)流(視頻,音頻,或其它)的性質(zhì)及序號(hào)。例如:
比特序1 1 0 ×××××是號(hào)碼為××××的MPEG-2音頻數(shù)據(jù)流;
比特序1 1 1 0 ××××是號(hào)碼為××××的MPEG-2視頻數(shù)據(jù)流。
PES包長(zhǎng)用于包長(zhǎng)識(shí)別,表明在此字段后的字節(jié)數(shù)。如,PES包長(zhǎng)識(shí)別為2 B ,即2×8 = 16 bit字寬,包總長(zhǎng)為216-1=65535 B,分給數(shù)據(jù)頭9 B(包頭6 B + ES特有信息3 B ),可變長(zhǎng)度的包數(shù)據(jù)最大容量為65526 B。盡管PES包最大長(zhǎng)度可達(dá)(216 -1)=65535 B(Byte),但在通常的情況下是組成ES的若干個(gè)AU中的由頭部和編碼數(shù)據(jù)兩部分組成的1個(gè)AU長(zhǎng)度。1個(gè)AU相當(dāng)于編碼的1幅視頻圖像或1個(gè)音頻幀,參見(jiàn)圖2右上角從ES到PES的示意圖。也可以說(shuō),每個(gè)AU實(shí)際上是編碼數(shù)據(jù)流的顯示單元,即相當(dāng)于解碼的1幅視頻圖像或1個(gè)音頻幀的取樣。
ES特有信息是由PES包頭識(shí)別標(biāo)志、PES包頭長(zhǎng)信息、信息區(qū)和用于調(diào)整信息區(qū)可變包長(zhǎng)的填充字節(jié)4部分組成的PES包控制信息。其中,PES包頭識(shí)別標(biāo)志由12個(gè)部分組成:PES加擾控制信息、PES優(yōu)先級(jí)別指示、數(shù)據(jù)適配定位指示符、有否版權(quán)指示、原版或拷貝指示、有否顯示時(shí)間標(biāo)記(PTS-Presentation Time
Stamp)/解碼時(shí)間標(biāo)記(DTS-Decode Time
Stamp)標(biāo)志、PES包頭有否基本流時(shí)鐘基準(zhǔn)(ESCR-Elementary
Stream Clock Reference)信息標(biāo)志、PES包頭有否基本流速率信息標(biāo)志、有否數(shù)字存儲(chǔ)媒體(DSM)特技方式信息標(biāo)志、有否附加的拷貝信息標(biāo)志、PES包頭有否循環(huán)冗余校驗(yàn)(CRC-Cyclic Redundancy
Check)信息標(biāo)志、有否PES擴(kuò)展標(biāo)志。有擴(kuò)展標(biāo)志,表明還存在其它信息。如,在有傳輸誤碼時(shí),通過(guò)數(shù)據(jù)包計(jì)數(shù)器,使接收端能以準(zhǔn)確的數(shù)據(jù)恢復(fù)數(shù)據(jù)流,或借助計(jì)數(shù)器狀態(tài),識(shí)別出傳輸時(shí)是否有數(shù)據(jù)包丟失。
運(yùn)動(dòng)補(bǔ)償是一種大量、單調(diào)的運(yùn)算。為了能實(shí)現(xiàn)運(yùn)動(dòng)補(bǔ)償,采用了多級(jí)、多個(gè)運(yùn)算單元并行流水運(yùn)算的方式:
運(yùn)動(dòng)補(bǔ)償模塊的控制很復(fù)雜。實(shí)際設(shè)計(jì)時(shí)將它分成幾個(gè)子模塊:補(bǔ)償控制、補(bǔ)償?shù)刂樊a(chǎn)生、差分?jǐn)?shù)據(jù)提供以及補(bǔ)償運(yùn)算。這幾個(gè)子模塊直接采用硬件邏輯設(shè)計(jì)。其中補(bǔ)償控制是完成整個(gè)運(yùn)動(dòng)補(bǔ)償?shù)目刂,提供輸入控制信?hào)、輸出控制信號(hào)、緩存控制信號(hào)、預(yù)測(cè)數(shù)據(jù)和差分?jǐn)?shù)據(jù)等;補(bǔ)償?shù)刂樊a(chǎn)生用于生成預(yù)測(cè)數(shù)據(jù)在幀緩存中的地址及補(bǔ)償結(jié)果的寫(xiě)地址;差分?jǐn)?shù)據(jù)負(fù)責(zé)接收IDCT的結(jié)果,通過(guò)緩存在適當(dāng)時(shí)機(jī)提供補(bǔ)償使用;補(bǔ)償運(yùn)算則完成最終預(yù)測(cè)數(shù)據(jù)的計(jì)算。
|