關於MPEG
導引
MPEG是一個歷史悠久的壓縮系統,針對動態的視訊可以達到高效率的壓縮以大量的降低所需儲存或傳送的資料量。透過空間上的轉換去除冗餘的資訊,再配合時間的估測和補償可以達成非常驚人的壓縮效率這也是MPEG視訊標準一直受到矚目的原因。以下將介紹其編碼歷史。
MPEG-1
MPEG-1制定於1992年,為工業級標準而設計,可適用於不同帶寬的設備,如CD-ROM、Video-CD、CD-i。它可針對SIF標準解析度(對於NTSC為352x240;對於PAL為352x288)的圖象進行壓縮,傳輸速率為1.5Mbits/sec,每秒播放30張,具有CD音質,畫質基本上與VHS相當。MPEG-1的編碼速率最高可達4-5Mbits/sec,但隨著速率的提高,其解碼後的圖像品質有所降低。
MPEG-1也被用於數字電話網路上的視頻傳輸,如非對稱數位用戶線路(ADSL),視頻點播(VOD),以及教育網路等。同時,MPEG-1也可被用做記錄媒體或是在Internet上傳輸音訊。
圖1.1 MPEG視訊編碼流程
上圖是MPEG視訊編碼的基本流程,主要有三個步驟,其中最重要的部份是畫面內編碼 (Intra-frame coding) 或 畫面間編碼 (Inter-frame coding)。
A.畫面內編碼
畫面內編碼就是一種轉換編碼 (Transform Coding) 。MPEG視訊壓縮標準定義將美個畫面分割成8*8像素 (Pixel) 大小的數個區塊
(Block),以區塊做為基本的像素轉換編碼單位,其目的為降低處理程序的延遲及複雜性。為了降低像素間的相關性,每個區塊個別做離散餘弦轉換。將空間信號轉換成頻率信號,轉換後信號能量大部份集中在少數的低頻係數上,只有少數部份能量會分布在高頻係數上。隨後的量化程序,能方便及有效地達成資料壓縮的目的,而且人類的
視覺系統對高頻訊號改變的敏感度較小,對於低頻訊號的改變反而比
較容易辨別,所以對於不同頻率的量化位階 (Quantization Step Size) 大小的選擇,也是視訊編碼的重要關鍵之一。
B.畫面間編碼
在連續的畫面間,相同的位置周圍的像素值有很高的相關性,移動估測與移動補償主要在消除時間上像素的相關性,達到降低位元率的目的。而移動估測主要是以大區塊 (Marcoblock)
為處理單位,以區塊比對 (Block Match) 的方式實施,如圖1.2,畫面分割成數個大區塊,欲編碼的畫面 frame n 會去前一張或後一張重建的參考畫面
frame n-1 的固定搜尋區域 (Search Area) 內做區塊比對,假始能在重建畫面 frame n-1 中找到一個很相似的大區塊,則將大區塊
間的移動向量進行編碼,並且將兩個大區塊間的差異值傳送到量化程序處理,若找不到相似的大區塊,則直接送到量化程序處理。
圖1.2 MPEG移動預估
C.MPEG編碼原理
MPEG定義了三種畫面的編碼模式,分別為I畫面、P畫面與B畫面。B畫面在解碼的時候,需要參考P畫面和I畫面,而這些被參考的畫面,需要先被編碼與傳送,隨後再接著傳送B畫面。所以編碼的順序與顯示的順序會不一樣,例如圖1.3。
圖1.3 畫面間的編碼與顯示之順序
•I畫面(Intra-coded Pictures):
僅使用畫面內的資料進行編碼,在解碼時,無需參考其它畫面的資料,可以單獨進行解碼。I畫面是一視訊序列或一畫面群組的第一張,隨後在畫面群組裡的P畫面與B畫面都會參考到它的資料,所以在網路傳輸時需要特別保護其畫面資料的遺失,以免造成隨後畫面影
像品質的損害。I畫面是由數個Intra模式編碼的大區塊 (Marcoblock) 所組成。
•P畫面(Predictive Coded Pictures):
在解碼時,使用到參考畫面 (Reference Picture) 的資料,這些參考畫面為前面撥放過的I畫面或P畫面,而參考的位置以移動預估所產生的移動向量來表示。P畫面由數個Intra模式編碼與預測模式編碼的大區塊(Predictive
Coded Marcoblocks) 所組成。
•B畫面(Bidirectionally Predicted Pictures):
在解碼時,會使用到前面或後面參考畫面的資料。如同P畫面一樣,畫面資訊在參考畫面找不到相似的大區塊時,會使用Intra模式編碼。
MPEG-2
MPEG-2制定於1994年,設計目標是高級工業標準的圖像品質以及更高的傳輸率。MPEG-2所能提供的傳輸率在3-10Mbits/sec間,其在NTSC規格下的解析度可達720x486,MPEG-2也可提供並能夠提供廣播級的畫質和CD級的音質。MPEG-2的音訊編碼可提供左右中及兩個環繞聲道,以及一個加重低音聲道,和多達7個伴音聲道(DVD
可有8種語言配音的原因)。由於MPEG-2在設計時的巧妙處理,使得大多數MPEG-2解碼器也可播放MPEG-1格式的數據,如VCD。
同時,由於MPEG-2的出色性能表現,已能適用於HDTV,使得原打算為HDTV設計的MPEG-3,還沒出世就被拋棄了。(MPEG-3要求傳輸速率在20Mbits/sev~40Mbits/sec間,但這將使畫面有輕度扭曲)。而現在網絡上大行其道的數位音樂格式MP3並不是MPEG-3,而是MPEG-1的第三層(MPEG-1
Layer3)。除了做為DVD的指定標準外,MPEG-2還可用於為廣播、有線電視網、電纜網絡以及衛星直播(Direct Broadcast Satellite)提供廣播級的數位視頻。
MPEG-2的另一特點是,其可提供一個較廣的範圍改變壓縮比,以適應不同畫面品質,儲存容量,以及頻寬的要求。對於最終用戶來說,由於現存電視機解析度限制,MPEG-2所帶來的高清晰度畫面質量(如DVD畫面)在電視上效果並不明顯,倒是其音訊特性(如加重低音、多伴音聲道等)更引人注目。
MPEG-4
A.淺談MPEG-4
MPEG-4是目前一種相當好的影像壓縮規格,畫質佳所佔的空間也小。但是在壓縮和播放的硬體需求上相當的高,一般而言播放上需要時脈500MHz以上的CPU,若要做到即時壓縮,則可能需要1.5GHz以上才有辦法做到。最後,MPEG-4提供相當彈性的規格,可以因使用需求來調整bit
rate的大小而有不同的壓縮程度,私人收藏影片時可以用較大的資料量,做網路即時撥放時可以用較小的資料量,這使得MPEG-4的用途相當廣泛。相較於MPEG-1與MPEG-2,MPEG-4的規格制定標準主要是向MPEG-2看齊,不過在資料流量的大小則遠低於MPEG-2,在畫面上有MPEG-2的高解析度,聲音上支援到8聲道以及96KHz的高取樣頻率,如此高品質而低流量所需付出的代價,就是硬體的能力必須有相當的的水準,無論是在編碼或解碼。
B.細談MPEG-4
MPEG-4於1998年11月公佈,原預計1999年1月投入使用的國際標準MPEG-4不僅是針對一特定比率下的視訊、音訊編碼,更加注重多媒體系統的交互性和靈活性。MPEG的專家們正在為MPEG-4的制定努力工作。MPEG-4標準主要應用於視訊電話(Video
Phone)、視訊電子郵件(Video Email)和電子新聞(Electronic News)等,其傳輸速率要求較低,在4800-64000bits/sec之間,解析度為176x144。MPEG-4利用很窄的頻寬,通過重建技術,壓縮和傳輸數據,以求以最少的數據獲得最佳的圖像品質。
與MPEG-1和MPEG-2相比,MPEG-4的特點是其更適於交互AV服務以及遠程監控。MPEG-4是第一個使你由被動變為主動(不再只是觀看,允許你加入其中,即有互動性)的動態圖象標準;它的另一個特點是其綜合性;從根源上說,MPEG-4試圖將自然物體與人造物體相融合(視覺效果意義上的)。
在MPEG-4中,AV物件有著重要的地位。MPEG-4對AV物件的操作主要有:
1 採用AV物件來表示聽覺、視覺或者視聽組合內容。
2 允許組合已有的AV物件來生成複合的AV物件,並由此生成AV場景。MPEG-4採用SNHC的方法來組織這些AV物件。
3 允許對AV物件的數據靈活地多路合成與同步,以便選擇合適的網路來傳輸這些AV物件數據。
4 允許接收端的用戶在AV場景中對AV物件進行交互操作。
5 MPEG-4支援AV物件之智慧財產權與保護。
MPEG編碼
A.基本編碼方式
Video coding除了把video資料轉為共通的語言,另外就是排除過多的video data。過多的Data包括兩種,一種為spatial,這種指的是video前後兩張frame的關聯性。另一種為temporal,指的是過多的frame的呈現。可以用離散餘弦轉換(DCT)來排除過多的相關聯frame的資料;而temporal
redundancy可用motion estimation及compensation來加以摒除。
B.Blocks & Macroblocks
Video在進行壓製之前會把畫面切成一塊一塊的,叫做block。一個block由8X8 pixels所構成。六個block構成一個macroblock(MB)
C.DCT離散餘弦轉換
DCT操作能以矩陣表示為Y=CTXC ,X為原來image block , Y為轉換後所得的係數,而C,for an 8X8 image block,定義為
CMN=kn cos[ π],Where kn = when n=0, kn=1/2 otherwise
D.視訊物件平面 ( Video Object Plane,VOP )
MPEG-4 視訊標準大致的架構已經成型,一個畫面將可視為是由多個視訊物件 ( Video Object ) 所組成,如此將可提供很高的使用者互動性,用以開發更多的應用。使用者可自由存取操作這些視訊物件,而組成自己想要的畫面。
圖1.4 互動式視訊畫面:左圖為原畫面,右圖為使用者調整過的畫面
每一個視訊物件還可分層 ( Layer ) :基礎層 ( Base Layer ) 提供較低的解析度,增強層 ( Enhancement Layer )
提供較高的解析度。每一層由真正影像的實體: 視訊物件平面 ( Video Object Plane,VOP ) 所構成,視訊物件平面則包含了物件形狀 (
shape ) 和材質 ( texture ) 的資料。