本文的目的在於給出有關MPEGl和MPEG2視頻編碼算法及標準的概述、以及它們在視頻通信中的作用。論文的正文是這樣安 排的:首先回顧了與MPEG視頻壓縮標準有關的那些基本概念和技術:接著較詳細地敘述了MPEGl和MPEG2的視頻編碼算法;最 後的內容為標準中與其應用有關的一些特征。
MPEG視頻壓縮算法的基本原理
一般說來,在幀內以及幀與幀之間,眾多的視頻序列均包含很大的統計冗餘度和主觀冗餘度。視頻源碼的最終目標是:通過挖掘 統計冗餘度和主觀冗餘度,來降低存儲和傳送視頻信息所需的比特 率;並采用嫡編碼技術,以便編製出"最小信息組"一個實用的 編碼方案,是在編碼特性(具有足夠質量的高壓縮)與實施複雜性 之間的一種折衷。對於MPEG壓縮算法的開發來講,計及到這些標準的壽命周期應考慮到現代超大規模集成電路技術的能力,這一點 是最重要的。 根據應用的要求,我們也許會想到視頻數據的"無損失"編碼 和"有損失"編碼"無損失"編碼的目的在於:在保持原圖像質量(即解碼後的圖像質量等同於編碼前的圖像質量)情況下,來減 少需要存儲和傳送的圖像或視頻數據。與此相反,"有損失"編碼 技術(該技術跟MPEG-l和MPEG2視頻標準未來的應用有關) 的目的是,去符合給定的存儲和傳送比特串。重要的一些應用包 括;利用限定的帶寬或很窄的帶寬,通過通信頻道采傳送視頻信 息;有效地存儲視頻信息。在這些應用中,高的視頻壓縮是以降低視頻質量的辦法來實施的,即跟編碼以前的原始圖像相比,解碼後 的圖像"客觀"質量有所降低(也就是取原始圖像和再現圖像之間 的均方差,作為評定客觀圖像質量的標準)頻道的目標比特率越低;那麼視頻所必須進行的壓縮率就越大,通常可察覺的編碼人工產物也越多。有損失編碼技術的最終目的是:在指定的目標比特串 條件下,獲取最佳的圖像標準。這裏應服從"客觀"或"主觀"上的最佳標準。這裏應該指出,圖像的降級程度(指客觀降低以及可 察覺到的人工產物的數量)取決於壓縮技術的複雜性--對於結構 簡單的畫麵和視頻活動少的圖像來講,就是采用簡單的壓縮技術,也許能獲得根本不帶可察覺人工產物的良好的再現圖像
(A)MPEG視頻編碼器源模式
MPEG數字視頻編碼技術實質上是一種統計方法。在時間和空 間方向上,視頻列通常包含統計冗餘度。MPEG壓縮技術所依賴的 基本統計特性為像素之間(interpel)的相關性,這裏包含這樣一個設想:即在各連續幀之間存在簡單的相關性平移運動。這裏假定: 一個特殊畫麵上的像素量值,可以(采用幀內編碼技術)根據同幀 附近像素來加以預測,或者可以(采用幀間技術)根據附件幀中的像素來加以預測。直覺告訴我們:在某些場合,如一個視頻序列鏡 頭變化時,各附近幀中像素之間的時間相關性就很小,甚至消失 -這時,該視頻鏡頭就成為一組無相關牲的靜止畫麵的組合。在這種情況下,可采用幀內編碼技術來開發空間相關性,來實現有效 的數據壓縮,MPEG壓縮算法采用離散餘弦變換(DCT)編碼技 術,以8×8像素的畫麵塊為單位,有效地開發同一麵麵各附近像索之間的空間相關性。
然而,若附近幀中各像素間具有較大的相關 性時,也就是說兩個連續幀的內容很相似或相同時,就可以采用應 用時間預測(幀間的運動補償預測)的幀間DPCM編碼技術。在多種MPEG視頻編碼方案中,若將時間運動補償預測路剩餘空間信息 的變換碼自適應地結合起來,就能實現數據的高壓縮(視頻的 DPCM/DCT混合編碼) 圖1給出了一個畫麵的帕內像素問相關性特性的舉例,這裏采用了一個非常簡單,但很有價值的統計模式。這個假設的簡單模式已包括了許多"典型"畫麵的一些基本的相關特性,也就是指相鄰像素間的高度相關性,以及隨著像素間距的增大相關性的單值衰減特性。我們以後將利用這一模式來展示變換區域編碼的一些特性。 圖1一些"典型"畫麵的像素間的空間相關性,是應用具有 高度像素間相關性的AR(1)GaussMarkov畫麵模式來加以計算的。變量X和Y分別表示像素之間在畫麵水平和垂直方向上的距離
(B)二次取樣和內插法
幾乎所有本論文中所敘述的視頻編碼技術,在編碼之前,均大量地進行了二次取樣和量化工序。二次取樣的基本概念是想減少輸 入視頻的Dimension 水平Dimension和或垂直Dimension),並在進行編碼處理之前先對像素進行編號。值得注意的是:在有些應用場 合,在時間方向上也對視頻進行二次取樣,以便在編碼之前降低幀 頻。在接收機端,已解碼圖像是通過內插法來加以顯示的。這一方法可以認為是一種最簡單的壓縮技術,這種壓縮技術利用了人眼特 有的生理特姓,因而去除了視頻數據中的含有的主觀冗餘度-即 與色度信號的變化相比,人眼對亮度信號的變化更靈敏。故眾多 MPEG編碼方案首先將畫麵分成YUV與量信號(一個亮度分量和 二個色度分量)接著,相對於亮度分量,對色度分量進行二次取 樣,對於一些特殊應用,有一個Y:U:V比率(即對於MPEG-2 標準,采用4:1:1或4:2:2.
(C)運動補償預測
運動補償預測是一個有力的工具,以便減小幀間的時間冗餘度;並作為用於時間DPCM編碼的預測技術,這一工具在MPEGl 和MPEG2視頻編碼標準中得到廣泛應用。運動補償概念是以對視頻幀間運動的估算為基礎的,也就是說,若視頻鏡頭中所有物體均在空間上有一位移,那麼用有限的運動參數(如對於像素的平移運 動,可用運動矢量來描述)來對幀間的運動加以描述。在這一簡單例子中,一個來自前編碼幀的運動補償預測像素,就能給出一個有 效像素的最佳預測。通常,預測誤差和運動矢量均傳送至接收機。 然而,將一個運動信息對每一個編碼畫麵像素進行編碼,這既不值得也沒有這個必要。由於一些運動矢量之間的空間相關性通常較 高,有時可以這樣認為:一個運動矢量代表一個相鄰像素塊的運 動。為了做到這一點,畫麵一般劃分成一些不連接的像素塊(在 MPEGl和MPEG2標準中一個像素塊為16×16像素),對於每一個 這樣的像素塊,隻對一個運動矢量進行估算、編碼和傳送(圖2)。 在MPEG壓縮算法中,運動補償預測技術用來減少幀間的時間冗餘度,隻對預測誤差畫麵(原始畫麵與運動補償預測畫麵之間的 差別)加以編碼。
總的來說,由於采用依據於前編碼幀的預測,與 圖l中所示的幀內相關性相比較,待編碼的運動補償幀間誤差圖像 中像素之間的相關性就差了。 圖2用於運動補償的塊匹配法:在待編碼的第N有效幀中,為每一個畫麵塊估算一個運動矢量(mv)該運動矢量針對前已編碼 的第N-l幀中同樣大小的一個參照畫麵塊。運動補償預測誤差是 這樣計算的:在帶有前幀參照塊中運動飄移對應物的麵麵塊中,減去一個像素。
(D)變換或編碼
二十年來,人們已對變換編碼進行了大量的研究,它已成為用於靜止畫麵編碼和視頻編碼的一種非常流行的壓縮方法。變換編碼 的目的在於去掉幀內或幀間誤差圖像內容的相關性,對變換係數進 行編碼,不是對畫麵的原始像素進行編碼。為此,輸入畫麵被分成不連接的b像素的畫麵塊(即N×N像素)。以一個線性、可分離的 和單元前向變換為基礎,本變換可表示為一個矩陣操作,采用一個N×N變換矩陣A,采獲取N×N變換係數C。 C=AbAt 這裏AT表示變換矩陣A的一種移項式。注意:這種變換是可逆的, 原因是,采用線性和可分離的反向變換,可以再現原始的N×N個 b像素的畫麵塊. b=AtCa 利用許多可能的方法,應用於較小的由8×8像素組成的畫麵 塊的離散餘弦變換(DCT)已成為一種最佳的變換,用於靜止畫麵 和視頻編碼。事實上,由於基於DCT的方法具有較高的抗相關性能,並能獲得快速DCT算法,適用於實時應用,已在大多數畫麵 和視頻編碼標準中加以使用。VLSI技術的運行速率適合較廣泛的 視頻應用範圍,故已商業化。 變換編碼的主要目的是使盡量多的變換係數足夠的小,使它仍無效(從統計和主觀測量角度來看)。同時,應盡量減小係數之間 的統計相關性,目的在於減少對剩餘係數進行編碼所需的比特數 量。 圖3示出了幀內DCT係數8×8像素塊的方差(能量),這裏是以圖1中已討論過的簡單的統計模式設想為基礎的。此處,每一個 係數的方差,表示了係數(大量幀的乎均值)的可變性。與方差大 的係數相比,方差小的係數在畫麵像素塊再現時意義就不大了。如圖3中所示,一般來說,為了獲得畫麵像素塊的有用的近似再現,隻要將少量DCT係數傳送給接收機就行。然而,那些最高有效位 DCT係數集中在左上角(低DCT係數),麵隨著距離的增加,係數 的有效牲就逐步下降。這意味著:與較低位的係數相比,較高位的 DCT係數在畫麵像素塊再現時的重要性就差一些。采用運動補償預測,DCT變換的結果是,使DCT定義域中的時間DPCM信號實現 筒單的再現-這實質上繼承了這種相似的統計相關性,如以DCT 定義域中的這個DPCM信號來再現圖2中的幀內信號(雖然能量有 所減少)-這就是為什麼為了使幀間壓縮獲得成功MPEG算法要采用DCT編碼的原因 圖3圖示了DCT係數的方差分布情況,典型地計算了大量的畫麵塊而獲得的平均值。DCT係數方差計算是以圖1中的統計模式為 基礎的。U和V分別該8×8塊中水平和垂直畫麵變換域變量。大 多數總方差集中在DCDC了係數周圍(U=0,v=0) DCT跟離散傅裏葉變換很接近,而認識到以下這點是重要的, 即可以對DCT係數加以頻率說明,使其更接近於DFTo在畫麵塊 內,低位的Dcr係數與較低的空間頻率有關而高位的DCT係數與較高的頻率有關。
這一特性在MPEG編碼方案中被加以應用,以 便去除畫麵數據中所包含的主觀冗餘度,這一切是以人類視覺係統 標準為基礎的。由於跟較高空間頻率有關的再現誤差比較,觀眾對較低空間頻率的再現誤差更加敏感,故在給定比特率情況後,為了 要改進解碼畫麵的視覺質量往往根據視覺(感覺量化)對係數進 行頻率自適應加權(量化) 上述兩種技術-時間運動補償預測和變換域編碼-的結合,被認為是MPEG編碼標準的關鍵點 MPEG算法的第三個特 點是這兩種技術的處理是較小的畫麵塊(典型情況是:在16×16 像素上進行運動補償,在8×8像素上進行DCT編碼)。由於這個原因,MPEG編碼算法通常又叫作基於畫麵塊的DPCM/DCT混合算法.
MPEG-1:一個通用標準-一個應用於數字存儲媒體
(最高速率達1.5Mb/s)的活動圖像和伴音的編碼標準
由MPEG-1開發出來的視頻壓縮技術的應用範圍很廣,包 括從CD-ROM上的交互係統,到電信網絡上的視頻傳送 MPEG1視頻編碼標準被認為是一個通用標準。為了支持多種應用,可有用戶來規定多種多樣的輸人參數,包括靈活的圖像尺寸和幀 頻。MPEG推薦了一組係統規定的參數:每一個MPEG-l兼容解碼器至少必須能夠支持視頻源參數,最佳可達電視標準:包括每行最小應有720個像素,每個圖像起碼應有576行,每秒最少不低於 30幀,及最低比特率為1.86Mb/s,標準視頻輸入應包括非隔行掃 描視頻圖像格式。應該指出:但並不是說,MPEGl的應用就限製於這一係統規定的參數組。根據JPiG和H。261活動,已開發出MPEG-l視頻算法。當 時的想法是:盡量保持與CCITT H.261標準的共同性,這樣,支 持兩個標準的做法就似乎可能。當然,MPEGl主要目標在於多媒體CD-ROM的應用,這裏需要由編碼器和解碼器支持的附加函數牲。由MPEGl提供的重要特性包括:基於幀的視頻隨機存取,通過壓縮比特流的快進/快退搜索,視頻的反向重放,及壓縮比特流的編輯能力。