近年來,電視領(lǐng)域里發(fā)生了一系列巨大的變化,會議電視、VCD、數(shù)字電視以及高清晰度電視(HDTV)等新 技術(shù)和新系統(tǒng)正迅速走進(jìn)我們的生活。與傳統(tǒng)的模擬電視相比,這些新系統(tǒng)的突出特點是采用了全數(shù)字的圖像/聲音處理技術(shù)。隨著這些數(shù)字電視系統(tǒng)的日益成熟和不斷發(fā)展,針對不同的應(yīng)用領(lǐng)域,一系列相應(yīng)的數(shù)字視頻音頻編碼標(biāo)準(zhǔn)也迅速地被制定并不斷得到完善,其中包括:應(yīng)用于會議電視及可視電話的H.261,用于靜止圖像壓縮的JPEG,用于VCD的MPEG-1和用于廣播電視、DVD以及HDTV的MPEG-2。與此同時,數(shù)字演播室標(biāo)準(zhǔn)及數(shù)字電視的質(zhì)量評價標(biāo)準(zhǔn)也被制定出來。與其它幾種標(biāo)準(zhǔn)相比,MPEG-2制定的時間稍晚,但卻具有以下幾個突出特點:所支持的圖像分辨率最高,包括符合ITU-RRec.601(CCIR601)格式的標(biāo)準(zhǔn)分辨率的數(shù)字電視和更高分辨率的HDTV。支持包括高速體育運動在內(nèi)的活動圖像。所支持的應(yīng)用最為廣泛,既包括存儲媒體中的DVD,廣播電視中的數(shù)字廣播電視和HDTV,還可應(yīng)用于交互式的點播視頻(VOD)和準(zhǔn)點播視頻(NVOD),此外,還能夠適配于ATM這種新興的寬帶通信網(wǎng)。
本文著重介紹一下MPEG-2的標(biāo)準(zhǔn)組成結(jié)構(gòu),演播室標(biāo)準(zhǔn),質(zhì)量評價標(biāo)準(zhǔn),特別是視頻壓縮技術(shù)。MPEG MPEG是活動圖像專家組(MovingPictureExportsGroup)的縮寫,于1988年成立。目前MPEG已頒布了兩個活動圖像及聲音編碼的正式國際標(biāo)準(zhǔn),分別稱為MPEG-1和MPEG-2。
MPEG-1標(biāo)準(zhǔn)是:在數(shù)字存儲介質(zhì)中實現(xiàn)對活動圖像和聲音的壓縮編碼,編碼碼率最高為每秒1.5兆比特,標(biāo)準(zhǔn)的正式規(guī)范在ISO/IEC11172中。MPEG-1所支持的輸入圖像格式是SIF格式。SIF有525/625兩種格式:352x240x30和352x288x25。MPEG-1是一個開放的,統(tǒng)一的標(biāo)準(zhǔn),在商業(yè)上獲得了巨大的成功。盡管其圖像質(zhì)量僅相當(dāng)于VHS視頻的質(zhì)量,還不能滿足廣播級的要求,但已廣泛應(yīng)用于VCD等家庭視像產(chǎn)品中。MPEG-2標(biāo)準(zhǔn)是:針對標(biāo)準(zhǔn)數(shù)字電視和高清晰度電視在各種應(yīng)用下的壓縮方案和系統(tǒng)層的詳細(xì)規(guī)定,編碼碼率從每秒3兆比特~100兆比特,標(biāo)準(zhǔn)的正式規(guī)范在ISO/IEC13818中。MPEG-2不是MPEG-1的簡單升級,MPEG-2在系統(tǒng)和傳送方面作了更加詳細(xì)的規(guī)定和進(jìn)一步的完善。MPEG-2特別適用于廣播級的數(shù)字電視的編碼和傳送,被認(rèn)定為SDTV和HDTV的編碼標(biāo)準(zhǔn)。MPEG-2還專門規(guī)定了多路節(jié)目的復(fù)分接方式。此外,MPEG-2還兼顧了與ATM信元的適配問題。
MPEG-2標(biāo)準(zhǔn)
MPEG-2標(biāo)準(zhǔn)目前分為9個部分,統(tǒng)稱為ISO/IEC13818國際標(biāo)準(zhǔn)。各部分的內(nèi)容描述如下:第一-ISO/IEC13818-1,System:系統(tǒng),描述多個視頻,音頻和數(shù)據(jù)基本碼流合成傳輸碼流和節(jié)目碼流的方式 第二-ISO/IEC13818-2,Video:視頻,描述視頻編碼方法。第三部分-ISO/IEC13818-3,Audio:音頻,描述與MPEG-1音頻標(biāo)準(zhǔn)反向兼容的音頻編碼方法。
第五部分-ISO/IEC13818-5,Software:軟件,描述了MPEG-2標(biāo)準(zhǔn)的第一、二、三部分的軟件實現(xiàn)方法。
第六部分-ISO/IEC13818-6,DSM-CC:數(shù)字存儲媒體-命令與控制,描述交互式多媒體網(wǎng)絡(luò)中服務(wù)器與用戶間的會話信令集。
以上六個部分均已獲得通過,成為正式的國際標(biāo)準(zhǔn),并在數(shù)字電視等領(lǐng)域中得到了廣泛的實際應(yīng)用。此外,MPEG-2標(biāo)準(zhǔn)還有三個部分:第七部分規(guī)定不與MPEG-1音頻反向兼容的多通道音頻編碼;第八部分現(xiàn)已停止;第九部分規(guī)定了傳送碼流的實時接口。1990年成立的ATM視頻編碼專家組與MPEG在ISO/IEC13818標(biāo)準(zhǔn)的第一和第二兩個部分進(jìn)行了合作,因此上述兩個部分也成為ITU-T的標(biāo)準(zhǔn),分別為:ITU-TRec.H.220系統(tǒng)和ITU-TRec.H.262視頻。
下面我們主要討論一下MPEG視頻編碼系統(tǒng),即ISO/IEC13818-2部分。MPEG-2視頻編碼
MPEG-2視頻編碼標(biāo)準(zhǔn)是一個分等級的系列,按編碼圖像的分辨率分成四個“級(Levels)”;按所使用的編碼工具的集合分成五個“類(Profiles)”。“級”與“類”的若干組合構(gòu)成MPEG-2視頻編碼標(biāo)準(zhǔn)在某種特定應(yīng)用下的子集:對某一輸入格式的圖像,采用特定集合的壓縮編碼工具,產(chǎn)生規(guī)定速率范圍內(nèi)的編碼碼流。在20種可能的組合中,目前有11種是已獲通過的,稱為MPEG-2適用點。我們知道,當(dāng)前模擬電視存在著PAL、NTSC和SECAM三大制式并存的問題,因此,數(shù)字電視的輸入格式標(biāo)準(zhǔn)試圖將這三種制式統(tǒng)一起來,形成一種統(tǒng)一的數(shù)字演播室標(biāo)準(zhǔn),這個標(biāo)準(zhǔn)就是CCIR601,現(xiàn)稱ITU-RRec.BT601標(biāo)準(zhǔn)。MPEG-2中的四個輸入圖像格式“級”都是基于這個標(biāo)準(zhǔn)的。低級(LowLevel)的輸入格式的像素是ITU-RRec.BT601格式的1/4,即352x240x30(代表圖像幀頻為每秒30幀,每幀圖像的有效掃描行數(shù)為240行,每行的有效像素為352個),或352x288x25。低級之上的主級(MainLevel)的輸入圖像格式完全符合ITU-RRec.BT601格式,即720x480x30或720x576x25。主級之上為HDTV范圍,基本上為ITU-RRec.BT601格式的4倍,其中1440高級(High-1440Level)的圖像寬高比為4:3,格式為1440x1080x30,高級(HighLevel)的圖像寬高比為16:9,格式為1920x1080x30。
在MPEG-2的五個“類”中,較高的“類”意味著采用較多的編碼工具集,對編碼圖像進(jìn)行更精細(xì)的處理,在相同比特率下將得到較好的圖像質(zhì)量,當(dāng)然實現(xiàn)的代價也較大。較高類編碼除使用較低類的編碼工具外,還使用了一些較低類沒有使用的附加工具,因此,較高類的解碼器除能解碼用本類方法編碼的圖像外,也能解碼用較低類方法編碼的圖像,即MPEG-2的“類”之間具有后向兼容性。簡單類(SimpleProfile)使用最少的編碼工具。主類(MainProfile)除使用所有簡單類的編碼工具外,還加入了一種雙向預(yù)測的方法。信噪比可分級類(SNRScalableProfile)和空間可分級類(SpatiallyScalableProfile)提供了一種多級廣播的方式,將圖像的編碼信息分為基本信息層和一個或多個次要信息層?;拘畔影瑢D像解碼至關(guān)重要的信息,解碼器根據(jù)基本信息即可進(jìn)行解碼,但圖像的質(zhì)量較差。次要信息層中包含圖像的細(xì)節(jié)。廣播時對基本信息層加以較強的保護(hù),使其具有較強的抗干擾能力。這樣,在距離較近,接收條件較好的情況下,可以同時收到基本信息和次要信息,恢復(fù)出高質(zhì)量的圖像;而在距離較遠(yuǎn),接收條件較差的條件下,仍能收到基本信息,恢復(fù)出圖像,不至造成解碼中斷。高級類(HighProfile)實際上應(yīng)用于比特率更高,要求更高的圖像質(zhì)量時,此外,前四個類在處理Y,U,V時是逐行順序處理色差信號的,高級類中還提供同時處理色差信號的可能性。
目前的標(biāo)準(zhǔn)數(shù)字電視采用的是MP@ML主類和主級,而HDTV采用的是MP@HL主類和高級。下面,我們以MP@ML為例來說明一下MPEG-2視頻編碼系統(tǒng)原理及關(guān)鍵技術(shù)。MPEG-2視頻編碼系統(tǒng)原理及關(guān)鍵技術(shù)
概括地說,MPEG-2圖像壓縮的原理是利用了圖像中的兩種特性:空間相關(guān)性和時間相關(guān)性。一幀圖像內(nèi)的任何一個場景都是由若干像素點構(gòu)成的,因此一個像素通常與它周圍的某些像素在亮度和色度上存在一定的關(guān)系,這種關(guān)系叫作空間相關(guān)性;一個節(jié)目中的一個情節(jié)常常由若干幀連續(xù)圖像組成的圖像序列構(gòu)成,一個圖像序列中前后幀圖像間也存在一定的關(guān)系,這種關(guān)系叫作時間相關(guān)性。這兩種相關(guān)性使得圖像中存在大量的冗余信息。如果我們能將這些冗余信息去除,只保留少量非相關(guān)信息進(jìn)行傳輸,就可以大大節(jié)省傳輸頻帶。而接收機利用這些非相關(guān)信息,按照一定的解碼算法,可以在保證一定的圖像質(zhì)量的前提下恢復(fù)原始圖像。一個好的壓縮編碼方案就是能夠最大限度地去除圖像中的冗余信息。
MPEG-2中編碼圖像被分為三類,分別稱為I幀,P幀和B幀。
----I幀圖像采用幀內(nèi)編碼方式,即只利用了單幀圖像內(nèi)的空間相關(guān)性,而沒有利用時間相關(guān)性。I幀主要用于接收機的初始化和信道的獲取,以及節(jié)目的切換和插入,I幀圖像的壓縮倍數(shù)相對較低。I幀圖像是周期性出現(xiàn)在圖像序列中的,出現(xiàn)頻率可由編碼器選擇。
P幀和B幀圖像采用幀間編碼方式,即同時利用了空間和時間上的相關(guān)性。P幀圖像只采用前向時間預(yù)測,可以提高壓縮效率和圖像質(zhì)量。P幀圖像中可以包含幀內(nèi)編碼的部分,即P幀中的每一個宏塊可以是前向預(yù)測,也可以是幀內(nèi)編碼。B幀圖像采用雙向時間預(yù)測,可以大大提高壓縮倍數(shù)。值得注意的是,由于B幀圖像采用了未來幀作為參考,因此MPEG-2編碼碼流中圖像幀的傳輸順序和顯示順序是不同的。
MPEG-2的編碼碼流分為六個層次。
從上至下依次為:視頻序列層(Sequence),圖像組層(GOP:GroupofPicture),圖像層(Picture),像條層(Slice),宏塊層(MacroBlock)和像塊層(Block)。從圖1中可以看到,除宏塊層和像塊層外,上面四層中都有相應(yīng)的起始碼(SC:StartCode),可用于因誤碼或其它原因收發(fā)兩端失步時,解碼器重新捕捉同步。因此一次失步將至少丟失一個像條的數(shù)據(jù)。
序列指構(gòu)成某路節(jié)目的圖像序列,序列起始碼后的序列頭中包含了圖像尺寸,寬高比,圖像速率等信息。序列擴展中包含了一些附加數(shù)據(jù)。為保證能隨時進(jìn)入圖像序列,序列頭是重復(fù)發(fā)送的。
序列層下是圖像組層,一個圖像組由相互間有預(yù)測和生成關(guān)系的一組I、P、B圖像構(gòu)成,但頭一幀圖像總是I幀。GOP頭中包含了時間信息。
圖像組層下是圖像層,分為I、P、B三類。PIC頭中包含了圖像編碼的類型和時間參考信息。
圖像層下是像條層,一個像條包括一定數(shù)量的宏塊,其順序與掃描順序一致。MP@ML中一個像條必須在同一宏塊行內(nèi)。
像條層下是宏塊層。MPEG-2中定義了三種宏塊結(jié)構(gòu):4:2:0宏塊4:2:2宏塊和4:4:4宏塊,分別代表構(gòu)成一個宏塊的亮度像塊和色差像塊的數(shù)量關(guān)系。
4:2:0宏塊中包含四個亮度像塊,一個Cb色差像塊和一個Cr色差像塊;4:2:2宏塊中包含四個亮度像塊,二個Cb色差像塊和二個Cr色差像塊;4:4:4宏塊中包含四個亮度像塊,四個Cb色差像塊和四個Cr色差像塊。這三種宏塊結(jié)構(gòu)實際上對應(yīng)于三種亮度和色度的抽樣方式。
在進(jìn)行視頻編碼前,分量信號R、G、B被變換為亮度信號Y和色差信號Cb、Cr的形式。4:2:2格式中亮度信號的抽樣頻率為13.5MHz,兩個色差信號的抽樣頻率均為6.75MHz,這樣空間的抽樣結(jié)構(gòu)中亮度信號為每幀720x576樣值,Cb,Cr都為360x576樣值,即每行中每隔一個像素對色差信號抽一次樣,如圖3所示,○代表Y信號的抽樣點,×代表Cb,Cr信號的抽樣點。
4:4:4格式中,亮度和色差信號的抽樣頻率都是13.5MHz,因此空間的抽樣結(jié)構(gòu)中亮度和色差信號都為每幀720x576樣值。而4:2:0格式中,亮度信號的抽樣頻率13.5MHz,空間的抽樣結(jié)構(gòu)中亮度信號為每幀720x576樣值,Cb,Cr都為360x288樣值,即每隔一行對兩個色差信號抽一次樣,每抽樣行中每隔一個像素對兩個色差信號抽一次樣。
通過上述分析不難計算出,4:2:0格式中,每四個Y信號的像塊空間內(nèi)的Cb,Cr樣值分別構(gòu)成一個Cb,Cr像塊;4:2:2格式中,每四個Y信號的像塊空間內(nèi)的Cb,Cr樣值分別構(gòu)成兩個Cb,Cr像塊;而4:4:4格式中,每四個Y信號的像塊空間內(nèi)的Cb,Cr樣值分別構(gòu)成四個Cb,Cr像塊。相應(yīng)的宏塊結(jié)構(gòu)正是以此基礎(chǔ)構(gòu)成的。
宏塊層之下是像塊層,像塊是MPEG-2碼流的最底層,是DCT變換的基本單元。MP@ML中一個像塊由8x8個抽樣值構(gòu)成,同一像塊內(nèi)的抽樣值必須全部是Y信號樣值,或全部是Cb信號樣值,或全部是Cr信號樣值。另外,像塊也用于表示8x8個抽樣值經(jīng)DCT變換后所生成的8x8個DCT系數(shù)。
在幀內(nèi)編碼的情況下,編碼圖像僅經(jīng)過DCT,量化器和比特流編碼器即生成編碼比特流,而不經(jīng)過預(yù)測環(huán)處理。DCT直接應(yīng)用于原始的圖像數(shù)據(jù)。
在幀間編碼的情況下,原始圖像首先與幀存儲器中的預(yù)測圖像進(jìn)行比較,計算出運動矢量,由此運動矢量和參考幀生成原始圖像的預(yù)測圖像。而后,將原始圖像與預(yù)測像素差值所生成的差分圖像數(shù)據(jù)進(jìn)行DCT變換,再經(jīng)過量化器和比特流編碼器生成輸出的編碼比特流。可見,幀內(nèi)編碼與幀間編碼流程的區(qū)別在于是否經(jīng)過預(yù)測環(huán)的處理。
MPEG-2視頻壓縮方案中包含以下關(guān)鍵技術(shù)環(huán)節(jié):
1、離散余弦變換DCT
DCT是一種空間變換,在MPEG-2中DCT以8x8的像塊為單位進(jìn)行,生成的是8x8的DCT系數(shù)數(shù)據(jù)塊。DCT變換的最大特點是對于一般的圖像都能夠?qū)⑾駢K的能量集中于少數(shù)低頻DCT系數(shù)上,即生成8x8DCT系數(shù)塊中,僅左上角的少量低頻系數(shù)數(shù)值較大,其余系數(shù)的數(shù)值很小,這樣就可能只編碼和傳輸少數(shù)系數(shù)而不嚴(yán)重影響圖像質(zhì)量。DCT不能直接對圖像產(chǎn)生壓縮作用,但對圖像的能量具有很好的集中效果,為壓縮打下了基礎(chǔ)。
2、量化器
量化是針對DCT變換系數(shù)進(jìn)行的,量化過程就是以某個量化步長去除DCT系數(shù)。量化步長的大小稱為量化精度,量化步長越小,量化精度就越細(xì),包含的信息越多,但所需的傳輸頻帶越高。不同的DCT變換系數(shù)對人類視覺感應(yīng)的重要性是不同的,因此編碼器根據(jù)視覺感應(yīng)準(zhǔn)則,對一個8x8的DCT變換塊中的64個DCT變換系數(shù)采用不同的量化精度,以保證盡可能多地包含特定的DCT空間頻率信息,又使量化精度不超過需要。DCT變換系數(shù)中,低頻系數(shù)對視覺感應(yīng)的重要性較高,因此分配的量化精度較細(xì);高頻系數(shù)對視覺感應(yīng)的重要性較低,分配的量化精度較粗,通常情況下,一個DCT變換塊中的大多數(shù)高頻系數(shù)量化后都會變?yōu)榱恪?/span>
3、之型掃描與游程編碼
DCT變換產(chǎn)生的是一8x8的二維數(shù)組,為進(jìn)行傳輸,還須將其轉(zhuǎn)換為一維排列方式。有兩種二維到一維的轉(zhuǎn)換方式,或稱掃描方式:之型掃描(Zig-Zag)和交替掃描,其中之型掃描是最常用的一種。由于經(jīng)量化后,大多數(shù)非零DCT系數(shù)集中于8x8二維矩陣的左上角,即低頻分量區(qū),之型掃描后,這些非零DCT系數(shù)就集中于一維排列數(shù)組的前部,后面跟著長串的量化為零的DCT系數(shù),這些就為游程編碼創(chuàng)造了條件。
游程編碼中,只有非零系數(shù)被編碼。一個非零系數(shù)的編碼由兩部分組成:前一部分表示非零系數(shù)前的連續(xù)零系數(shù)的數(shù)量(稱為游程),后一部分是那個非零系數(shù)。這樣就把之型掃描的優(yōu)點體現(xiàn)出來了,因為之型掃描在大多數(shù)情況下出現(xiàn)連零的機會比較多,游程編碼的效率就比較高。當(dāng)一維序列中的后部剩余的DCT系數(shù)都為零時,只要用一個“塊結(jié)束”標(biāo)志(EOB)來指示,就可結(jié)束這一8x8變換塊的編碼,產(chǎn)生的壓縮效果是非常明顯的。
4、熵編碼
量化僅生成了DCT系數(shù)的一種有效的離散表示,實際傳輸前,還須對其進(jìn)行比特流編碼,產(chǎn)生用于傳輸?shù)臄?shù)字比特流。簡單的編碼方法是采用定長碼,即每個量化值以同樣數(shù)目的比特表示,但這種方法的效率較低。而采用熵編碼可以提高編碼效率。熵編碼是基于編碼信號的統(tǒng)計特性,使得平均比特率下降。游程和非零系數(shù)既可獨立的,也可聯(lián)合的作熵編碼。熵編碼中使用較多的一種是霍夫曼編碼,MPEG-2視頻壓縮系統(tǒng)中采用的就是霍夫曼編碼?;舴蚵幋a中,在確定了所有編碼信號的概率后生產(chǎn)一個碼表,對經(jīng)常發(fā)生的大概率信號分配較少的比特表示,對不常發(fā)生的小概率信號分配較多的比特表示,使得整個碼流的平均長度趨于最短。
5、信道緩存
由于采用了熵編碼,產(chǎn)生的比特流的速率是變化的,隨著視頻圖像的統(tǒng)計特性變化。但大多數(shù)情況下傳輸系統(tǒng)分配的頻帶都是恒定的,因此在編碼比特流進(jìn)入信道前需設(shè)置信道緩存。信道緩存是一緩存器,以變比特率從熵編碼器向里寫入數(shù)據(jù),以傳輸系統(tǒng)標(biāo)稱的恒定比特率向外讀出,送入信道。緩存器的大小,或稱容量是設(shè)定好的,但編碼器的瞬時輸出比特率常明顯高于或低于傳輸系統(tǒng)的頻帶,這就有可能造成緩存器的上溢出或下溢出。因此緩存器須帶有控制機制,通過反饋控制壓縮算法,調(diào)整編碼器的比特率,使得緩存器的寫入數(shù)據(jù)速率與讀出數(shù)據(jù)速率趨于平衡。緩存器對壓縮算法的控
制是通過控制量化器的量化步長實現(xiàn)的,當(dāng)編碼器的瞬時輸出速率過高,緩存器將要上溢時,就使量化步長增大以降低編碼數(shù)據(jù)速率,當(dāng)然也相應(yīng)增大了圖像的損失;當(dāng)編碼器的瞬時輸出速率過低,緩存器將要下溢出時,就使量化步長減小以提高編碼數(shù)據(jù)速率。
6、運動估計
運動估計使用于幀間編碼方式時,通過參考幀圖像產(chǎn)生對被壓縮圖像的估計。運動估計的準(zhǔn)確程度對幀間編碼的壓縮效果非常重要。如果估計作的好,那么被壓縮圖像與估計圖像相減后只留下很小的值用于傳輸。運動估計以宏塊為單位進(jìn)行,計算被壓縮圖像與參考圖像的對應(yīng)位置上的宏塊間的位置偏移。這種位置偏移是以運動矢量來描述的,一個運動矢量代表水平和垂直兩個方向上的位移。運動估計時,P幀和B幀圖像所使用的參考幀圖像是不同的。P幀圖像使用前面最近解碼的I幀或P幀作參考圖像,稱為前向預(yù)測;而B幀圖像使用兩幀圖像作為預(yù)測參考,稱為雙向預(yù)測,其中一個參考幀在顯示順序上先于編碼幀(前向預(yù)測),另一幀在顯示順序上晚于編碼幀(后向預(yù)測),B幀的參考幀在任何情況下都是I幀或P幀。
7、運動補償
利用運動估計算出的運動矢量,將參考幀圖像中的宏塊移至水平和垂直方向上的相對應(yīng)位置,即可生成對被壓縮圖像的預(yù)測。在絕大多數(shù)的自然場景中運動都是有序的。因此這種運動補償生成的預(yù)測圖像與被壓縮圖像的差分值是很小的。數(shù)字圖像質(zhì)量的主觀評價
主觀評價的條件包括:評價小組結(jié)構(gòu),觀察距離,測試圖像,環(huán)境照度和背景色調(diào)等。評價小組由一定人數(shù)觀察人員構(gòu)成,其中專業(yè)人員與非專業(yè)人員各占一定比例。觀察距離為顯示器對角線尺寸的3-6倍。測試圖像有若干具有一定圖像細(xì)節(jié)和運動的圖像序列構(gòu)成。主觀評價反映的是許多人對圖像質(zhì)量統(tǒng)計評價的平均值。