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