Mpeg2 視頻編碼概述

        近年來,電視領域裏發生了一系列巨大的變化,會議電視、VCD、數字電視以及高清晰度電視(HDTV)等新技術和新系統正迅速走進我們的生活。與傳統的模擬電視相比,這些新系統的突出特點是採用了全數字的圖像/聲音處理技術。隨着這些數字電視系統的日益成熟和不斷髮展,針對不同的應用領域,一系列相應的數字視頻音頻編碼標準也迅速地被制定並不斷得到完善,其中包括: 應用於會議電視及可視電話的H.261,用於靜止圖像壓縮的JPEG,用於VCD的MPEG-1和用於廣播電視、DVD以及HDTV的MPEG-2。與此同時,數字演播室標準及數字電視的質量評價標準也被制定出來。與其它幾種標準相比,MPEG-2制定的時間稍晚,但卻具有以下幾個突出特點:所支持的圖像分辨率最高,包括符合ITU-RRec.601(CCIR601)格式的標準分辨率的數字電視和更高分辨率的HDTV。支持包括高速體育運動在內的活動圖像。所支持的應用最爲廣泛,既包括存儲媒體中的DVD,廣播電視中的數字廣播電視和HDTV,還可應用於交互式的點播視頻(VOD)和準點播視頻(NVOD),此外,還能夠適配於ATM這種新興的寬帶通信網。

         本文着重介紹一下MPEG-2的標準組成結構,演播室標準,質量評價標準,特別是視頻壓縮技術。

MPEG簡介
PEG是活動圖像專家組(MovingPictureExportsGroup)的縮寫,於1988年成立。目前MPEG已頒佈了兩個活動圖像及聲音編碼的正式國際標準,分別稱爲MPEG-1和MPEG-2。

MPEG-1標準是:在數字存儲介質中實現對活動圖像和聲音的壓縮編碼,編碼碼率最高爲每秒1.5兆比特,標準的正式規範在ISO/IEC11172中。MPEG-1所支持的輸入圖像格式是SIF格式。SIF有525/625兩種格式:352x240x30和352x288x25。MPEG-1是一個開放的,統一的標準,在商業上獲得了巨大的成功。儘管其圖像質量僅相當於VHS視頻的質量,還不能滿足廣播級的要求,但已廣泛應用於VCD等家庭視像產品中。

MPEG-2標準是:針對標準數字電視和高清晰度電視在各種應用下的壓縮方案和系統層的詳細規定,編碼碼率從每秒3兆比特~100兆比特,標準的正式規範在ISO/IEC13818中。MPEG-2不是MPEG-1的簡單升級,MPEG-2在系統和傳送方面作了更加詳細的規定和進一步的完善。MPEG-2特別適用於廣播級的數字電視的編碼和傳送,被認定爲SDTV和HDTV的編碼標準。MPEG-2還專門規定了多路節目的復分接方式。此外,MPEG-2還兼顧了與ATM信元的適配問題。

MPEG-2標準
MPEG-2標準目前分爲9個部分,統稱爲ISO/IEC13818國際標準。各部分的內容描述如下:
一部分-ISO/IEC13818-1,System:系統,描述多個視頻,音頻和數據基本碼流合成傳輸碼流和節目碼流的方式。
二部分-ISO/IEC13818-2,Video:視頻,描述視頻編碼方法。
三部分-ISO/IEC13818-3,Audio:音頻,描述與MPEG-1音頻標準反向兼容的音頻編碼方法。
四部分-ISO/IEC13818-4,Compliance:符合測試,描述測試一個編碼碼流是否符合MPEG-2碼流的方法。
五部分-ISO/IEC13818-5,Software:軟件,描述了MPEG-2標準的第一、二、三部分的軟件實現方法。
六部分-ISO/IEC13818-6,DSM-CC:數字存儲媒體-命令與控制,描述交互式多媒體網絡中服務器與用戶間的會話信令集。
上六個部分均已獲得通過,成爲正式的國際標準,並在數字電視等領域中得到了廣泛的實際應用。此外,MPEG-2標準還有三個部分:第七部分規定不與MPEG-1音頻反向兼容的多通道音頻編碼;第八部分現已停止;第九部分規定了傳送碼流的實時接口。

1990年成立的ATM視頻編碼專家組與MPEG在ISO/IEC13818標準的第一和第二兩個部分進行了合作,因此上述兩個部分也成爲ITU-T的
標準,分別爲:ITU-TRec.H.220系統和ITU-TRec.H.262視頻。
下面我們主要討論一下MPEG視頻編碼系統,即ISO/IEC13818-2部分。MPEG-2視頻編碼

 MPEG-2視頻編碼標準是一個分等級的系列,按編碼圖像的分辨率分成四個“級(Levels)”;按所使用的編碼工具的集合分成五個“類(Profiles)”。“級”與“類”的若干組合構成MPEG-2視頻編碼標準在某種特定應用下的子集:對某一輸入格式的圖像,採用特定集合的壓縮編碼工具,產生規定速率範圍內的編碼碼流。在20種可能的組合中,目前有11種是已獲通過的,稱爲MPEG-2適用點。
- 我們知道,當前模擬電視存在着PAL、NTSC和SECAM三大制式並存的問題,因此,數字電視的輸入格式標準試圖將這三種制式統一起來,形成一種統一的數字演播室標準,這個標準就是CCIR601,現稱ITU-RRec.BT601標準。MPEG-2中的四個輸入圖像格式“級”都是基於這個標準的。低級(LowLevel)的輸入格式的像素是ITU-RRec.BT601格式的1/4,即352x240x30(代表圖像幀頻爲每秒30幀,每幀圖像的有效掃描行數爲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的五個“類”中,較高的“類”意味着採用較多的編碼工具集,對編碼圖像進行更精細的處理,在相同比特率下將得到較好的圖像質量,當然實現的代價也較大。較高類編碼除使用較低類的編碼工具外,還使用了一些較低類沒有使用的附加工具,因此,較高類的解碼器除能解碼用本類方法編碼的圖像外,也能解碼用較低類方法編碼的圖像,即MPEG-2的“類”之間具有後向兼容性。簡單類(SimpleProfile)使用最少的編碼工具。主類(MainProfile)除使用所有簡單類的編碼工具外,還加入了一種雙向預測的方法。信噪比可分級類(SNRScalableProfile)和空間可分級類(SpatiallyScalableProfile)提供了一種多級廣播的方式,將圖像的編碼信息分爲基本信息層和一個或多個次要信息層。基本信息層包含對圖像解碼至關重要的信息,解碼器根據基本信息即可進行解碼,但圖像的質量較差。次要信息層中包含圖像的細節。廣播時對基本信息層加以較強的保護,使其具有較強的抗干擾能力。這樣,在距離較近,接收條件較好的情況下,可以同時收到基本信息和次要信息,恢復出高質量的圖像;而在距離較遠,接收條件較差的條件下,仍能收到基本信息,恢復出圖像,不至造成解碼中斷。高級類(HighProfile)實際上應用於比特率更高,要求更高的圖像質量時,此外,前四個類在處理Y,U,V時是逐行順序處理色差信號的,高級類中還提供同時處理色差信號的可能性。

目前的標準數字電視採用的是MP@ML主類和主級,而HDTV採用的是MP@HL主類和高級。下面,我們以MP@ML爲例來說明一下MPEG-2視頻編碼系統原理及關鍵技術。

MPEG-2視頻編碼系統原理及關鍵技術
 概括地說,MPEG-2圖像壓縮的原理是利用了圖像中的兩種特性:空間相關性和時間相關性。一幀圖像內的任何一個場景都是由若干像素點構成的,因此一個像素通常與它周圍的某些像素在亮度和色度上存在一定的關係,這種關係叫作空間相關性;一個節目中的一個情節常常由若干幀連續圖像組成的圖像序列構成,一個圖像序列中前後幀圖像間也存在一定的關係,這種關係叫作時間相關性。這兩種相關性使得圖像中存在大量的冗餘信息。如果我們能將這些冗餘信息去除,只保留少量非相關信息進行傳輸,就可以大大節省傳輸頻帶。而接收機利用這些非相關信息,按照一定的解碼算法,可以在保證一定的圖像質量的前提下恢復原始圖像。一個好的壓縮編碼方案就是能夠最大限度地去除圖像中的冗餘信息。

MPEG-2中編碼圖像被分爲三類,分別稱爲I幀,P幀和B幀。

----I幀圖像採用幀內編碼方式,即只利用了單幀圖像內的空間相關性,而沒有利用時間相關性。I幀主要用於接收機的初始化和信道的獲取,以及節目的切換和插入,I幀圖像的壓縮倍數相對較低。I幀圖像是週期性出現在圖像序列中的,出現頻率可由編碼器選擇。

 P幀和B幀圖像採用幀間編碼方式,即同時利用了空間和時間上的相關性。P幀圖像只採用前向時間預測,可以提高壓縮效率和圖像質量。P幀圖像中可以包含幀內編碼的部分,即P幀中的每一個宏塊可以是前向預測,也可以是幀內編碼。B幀圖像採用雙向時間預測,可以大大提高壓縮倍數。值得注意的是,由於B幀圖像採用了未來幀作爲參考,因此MPEG-2編碼碼流中圖像幀的傳輸順序和顯示順序是不同的。

MPEG-2的編碼碼流分爲六個層次。
 從上至下依次爲:視頻序列層(Sequence),圖像組層(GOP:GroupofPicture),圖像層(Picture),像條層(Slice),宏塊層(MacroBlock)和像塊層(Block)。從圖1中可以看到,除宏塊層和像塊層外,上面四層中都有相應的起始碼(SC:StartCode),可用於因誤碼或其它原因收發兩端失步時,解碼器重新捕捉同步。因此一次失步將至少丟失一個像條的數據。

 序列指構成某路節目的圖像序列,序列起始碼後的序列頭中包含了圖像尺寸,寬高比,圖像速率等信息。序列擴展中包含了一些附加數據。爲保證能隨時進入圖像序列,序列頭是重複發送的。

 序列層下是圖像組層,一個圖像組由相互間有預測和生成關係的一組I、P、B圖像構成,但頭一幀圖像總是I幀。GOP頭中包含了時間信息。

 圖像組層下是圖像層,分爲I、P、B三類。PIC頭中包含了圖像編碼的類型和時間參考信息。

 圖像層下是像條層,一個像條包括一定數量的宏塊,其順序與掃描順序一致。MP@ML中一個像條必須在同一宏塊行內。

 像條層下是宏塊層。MPEG-2中定義了三種宏塊結構:4:2:0宏塊4:2:2宏塊和4:4:4宏塊,分別代表構成一個宏塊的亮度像塊和色差像塊的數量關係。

 4:2:0宏塊中包含四個亮度像塊,一個Cb色差像塊和一個Cr色差像塊;4:2:2宏塊中包含四個亮度像塊,二個Cb色差像塊和二個Cr色差像塊;4:4:4宏塊中包含四個亮度像塊,四個Cb色差像塊和四個Cr色差像塊。這三種宏塊結構實際上對應於三種亮度和色度的抽樣方式。

 在進行視頻編碼前,分量信號R、G、B被變換爲亮度信號Y和色差信號Cb、Cr的形式。4:2:2格式中亮度信號的抽樣頻率爲13.5MHz,兩個色差信號的抽樣頻率均爲6.75MHz,這樣空間的抽樣結構中亮度信號爲每幀720x576樣值,Cb,Cr都爲360x576樣值,即每行中每隔一個像素對色差信號抽一次樣,如圖3所示,○代表Y信號的抽樣點,×代表Cb,Cr信號的抽樣點。

 4:4:4格式中,亮度和色差信號的抽樣頻率都是13.5MHz,因此空間的抽樣結構中亮度和色差信號都爲每幀720x576樣值。而4:2:0格式中,亮度信號的抽樣頻率13.5MHz,空間的抽樣結構中亮度信號爲每幀720x576樣值,Cb,Cr都爲360x288樣值,即每隔一行對兩個色差信號抽一次樣,每抽樣行中每隔一個像素對兩個色差信號抽一次樣。

 通過上述分析不難計算出,4:2:0格式中,每四個Y信號的像塊空間內的Cb,Cr樣值分別構成一個Cb,Cr像塊;4:2:2格式中,每四個Y信號的像塊空間內的Cb,Cr樣值分別構成兩個Cb,Cr像塊;而4:4:4格式中,每四個Y信號的像塊空間內的Cb,Cr樣值分別構成四個Cb,Cr像塊。相應的宏塊結構正是以此基礎構成的。

 宏塊層之下是像塊層,像塊是MPEG-2碼流的最底層,是DCT變換的基本單元。MP@ML中一個像塊由8x8個抽樣值構成,同一像塊內的抽樣值必須全部是Y信號樣值,或全部是Cb信號樣值,或全部是Cr信號樣值。另外,像塊也用於表示8x8個抽樣值經DCT變換後所生成的8x8個DCT係數。

在幀內編碼的情況下,編碼圖像僅經過DCT,量化器和比特流編碼器即生成編碼比特流,而不經過預測環處理。DCT直接應用於原始的圖像數據。

 在幀間編碼的情況下,原始圖像首先與幀存儲器中的預測圖像進行比較,計算出運動矢量,由此運動矢量和參考幀生成原始圖像的預測圖像。而後,將原始圖像與預測像素差值所生成的差分圖像數據進行DCT變換,再經過量化器和比特流編碼器生成輸出的編碼比特流。

 可見,幀內編碼與幀間編碼流程的區別在於是否經過預測環的處理。
MPEG-2視頻壓縮方案中包含以下關鍵技術環節:
1、餘弦變換DCT
 DCT是一種空間變換,在MPEG-2中DCT以8x8的像塊爲單位進行,生成的是8x8的DCT係數數據塊。DCT變換的最大特點是對於一般的圖像都能夠將像塊的能量集中於少數低頻DCT係數上,即生成8x8DCT係數塊中,僅左上角的少量低頻係數數值較大,其餘係數的數值很小,這樣就可能只編碼和傳輸少數係數而不嚴重影響圖像質量。
 DCT不能直接對圖像產生壓縮作用,但對圖像的能量具有很好的集中效果,爲壓縮打下了基礎。

2、量化器
 量化是針對DCT變換系數進行的,量化過程就是以某個量化步長去除DCT係數。量化步長的大小稱爲量化精度,量化步長越小,量化精度就越細,包含的信息越多,但所需的傳輸頻帶越高。不同的DCT變換系數對人類視覺感應的重要性是不同的,因此編碼器根據視覺感應準則,對一個8x8的DCT變換塊中的64個DCT變換系數採用不同的量化精度,以保證儘可能多地包含特定的DCT空間頻率信息,又使量化精度不超過需要。DCT變換系數中,低頻係數對視覺感應的重要性較高,因此分配的量化精度較細;高頻係數對視覺感應的重要性較低,分配的量化精度較粗,通常情況下,一個DCT變換塊中的大多數高頻係數量化後都會變爲零。

3、之型掃描與遊程編碼
 DCT變換產生的是一8x8的二維數組,爲進行傳輸,還須將其轉換爲一維排列方式。有兩種二維到一維的轉換方式,或稱掃描方式:之型掃描(Zig-Zag)和交替掃描,其中之型掃描是最常用的一種。由於經量化後,大多數非零DCT係數集中於8x8二維矩陣的左上角,即低頻分量區,之型掃描後,這些非零DCT係數就集中於一維排列數組的前部,後面跟着長串的量化爲零的DCT係數,這些就爲遊程編碼創造了條件。
- 遊程編碼中,只有非零係數被編碼。一個非零係數的編碼由兩部分組成:前一部分表示非零係數前的連續零係數的數量(稱爲遊程),後一部分是那個非零係數。這樣就把之型掃描的優點體現出來了,因爲之型掃描在大多數情況下出現連零的機會比較多,遊程編碼的效率就比較高。當一維序列中的後部剩餘的DCT係數都爲零時,只要用一個“塊結束”標誌(EOB)來指示,就可結束這一8x8變換塊的編碼,產生的壓縮效果是非常明顯的。

4、熵編碼
 量化僅生成了DCT係數的一種有效的離散表示,實際傳輸前,還須對其進行比特流編碼,產生用於傳輸的數字比特流。簡單的編碼方法是採用定長碼,即每個量化值以同樣數目的比特表示,但這種方法的效率較低。而採用熵編碼可以提高編碼效率。熵編碼是基於編碼信號的統計特性,使得平均比特率下降。遊程和非零係數既可獨立的,也可聯合的作熵編碼。熵編碼中使用較多的一種是霍夫曼編碼,MPEG-2視頻壓縮系統中採用的就是霍夫曼編碼。霍夫曼編碼中,在確定了所有編碼信號的概率後生產一個碼錶,對經常發生的大概率信號分配較少的比特表示,對不常發生的小概率信號分配較多的比特表示,使得整個碼流的平均長度趨於最短。

5、信道緩存
 由於採用了熵編碼,產生的比特流的速率是變化的,隨着視頻圖像的統計特性變化。但大多數情況下傳輸系統分配的頻帶都是恆定的,因此在編碼比特流進入信道前需設置信道緩存。信道緩存是一緩存器,以變比特率從熵編碼器向裏寫入數據,以傳輸系統標稱的恆定比特率向外讀出,送入信道。緩存器的大小,或稱容量是設定好的,但編碼器的瞬時輸出比特率常明顯高於或低於傳輸系統的頻帶,這就有可能造成緩存器的上溢出或下溢出。因此緩存器須帶有控制機制,通過反饋控制壓縮算法,調整編碼器的比特率,使得緩存器的寫入數據速率與讀出數據速率趨於平衡。緩存器對壓縮算法的控制是通過控制量化器的量化步長實現的,當編碼器的瞬時輸出速率過高,緩存器將要上溢時,就使量化步長增大以降低編碼數據速率,當然也相應增大了圖像的損失;當編碼器的瞬時輸出速率過低,緩存器將要下溢出時,就使量化步長減小以提高編碼數據速率。

6、運動估計
 運努估計使用於幀間編碼方式時,通過參考幀圖像產生對被壓縮圖像的估計。運動估計的準確程度對幀間編碼的壓縮效果非常重要。如果估計作的好,那麼被壓縮圖像與估計圖像相減後只留下很小的值用於傳輸。運動估計以宏塊爲單位進行,計算被壓縮圖像與參考圖像的對應位置上的宏塊間的位置偏移。這種位置偏移是以運動矢量來描述的,一個運動矢量代表水平和垂直兩個方向上的位移。運動估計時,P幀和B幀圖像所使用的參考幀圖像是不同的。P幀圖像使用前面最近解碼的I幀或P幀作參考圖像,稱爲前向預測;而B幀圖像使用兩幀圖像作爲預測參考,稱爲雙向預測,其中一個參考幀在顯示順序上先於編碼幀(前向預測),另一幀在顯示順序上晚於編碼幀(後向預測),B幀的參考幀在任何情況下都是I幀或P幀。

7、運動補償
 利用運動估計算出的運動矢量,將參考幀圖像中的宏塊移至水平和垂直方向上的相對應位置,即可生成對被壓縮圖像的預測。在絕大多數的自然場景中運動都是有序的。因此這種運動補償生成的預測圖像與被壓縮圖像的差分值是很小的。數字圖像質量的主觀評價

 主觀評價的條件包括:評價小組結構,觀察距離,測試圖像,環境照度和背景色調等。評價小組由一定人數觀察人員構成,其中專業人員與非專業人員各佔一定比例。觀察距離爲顯示器對角線尺寸的3-6倍。測試圖像有若干具有一定圖像細節和運動的圖像序列構成。主觀評價反映的是許多人對圖像質量統計評價的平均值。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章