現在是一個資訊爆炸的時代,因為科技日新月異,通訊越來越發達,透過視訊與聲音的傳遞使人與人間的距離越來越近,聲音與視訊將穿透每一個人之生活圈。但聲音與視訊的資料量相當龐大,比如說標準NTSC視訊解析度為720×480、24bits True Color 16777216色之畫面所佔之記憶容量為:
720×480×24×8 = 8294400 Bits
= 1013 KBytes
如果按目前視訊播放的標準,每秒播放30個畫面的計算,每秒鐘所播放的資料為:1013K×30×8=242.4Mbps。面對如此龐大的資料量之儲存與傳輸問題,壓縮的技術就顯得相當的重要了,各種壓縮技術就由此發展出來。
各種影音光碟之物理容量皆有其上限,例如單面單層之DVD容量為4.7GB,單面單層之CD-ROM容量為650MB;只有透過視訊壓縮技術才能將視訊資料量降低,才有辦法使有限之碟片容量容納135分鐘之影片資料。因此,DVD與VCD採用了MPEG1&2壓縮標準做為其視訊資料之儲存格式。本文將就各種視訊壓縮技術之壓縮原理與效能做一簡單介紹 。
影音光碟規格與視訊壓縮規格之演變
過去十餘年間,如(圖一)所示,有微軟、ITU與ISO/MPEG-Committee等兩個國際組織推出不同之視訊壓縮標準。ITU先後製定了H.261、H.263與H.263++等規格,ISO/MPEG-Committee也曾推出MPEG-1/4等技術,西元1994年ITU與ISO/MPEG-Committee合作推出MPEG-2/H.262規格,成為DVD影音光碟與ATSC廣播系統所採用之壓縮標準。公元2002年,ITU與ISO/MPEG-Committee再度合作推出H.264/MPEG-4-Part10規格,其壓縮效能可達MPEG-2之三倍,是目前學界與工業界競相研究使用之先進影音壓縮標準。在ITU與ISO/MPEG-Committee推出H.264/MPEG-4-Part10規格時,微軟也將其所研發之WMV-9壓縮技術搭配Window Media player播放軟體,在個人電腦平台大量使用。
在1993年MPEG-1規格制定完成時,使用MPEG-1壓縮標準之VCD影音光碟規格也同時推出;1994年MPEG-2壓縮標準推出,1996年使用MPEG-2壓縮標準之DVD-Video規格誕生,而延用至今。2002年H.264與WMV-9壓縮規格推出後,FVD-Video、HD-DVD-Video與BD-Video等高畫質影音光碟規格相繼採用此兩種壓縮標準。由此可見,視訊壓縮標準與影音光碟規格之發展有高度之相關;今日之趨勢已進入以H.264與WMV-9為主流之時代;本文接著也將針對MPEG-2、H.264與WMV-9之技術效能差異進行比較。
MPEG-2、WMV-9與H.264壓縮規格所使用之基本技術比較
視訊壓縮方法是用於去除空間軸與時間軸上的多餘資訊,以達成資料量縮減之目的。不同的壓縮規格,使用不同的技術以去除多餘資訊,而MPEG-2、WMV-9與H.264等規格之差異在於使用不同之基本壓縮技術。茲就不同壓縮規格所使用之基本壓縮技術比較如(表一)所示。
表一 各種壓縮規格所使用之基本壓縮技術比較
基本技術 規格 |
運動估測技術 |
編碼方法 |
空間軸編碼方法 |
MPEG-2 |
(1) Fixed block size (2) 1/2 Pixel motion vector |
2D-VLC |
8x8 DCT Transform |
WMV -9 |
(1) Variable block size (2) 1/4 pixel motion vector |
a)3D-VLC b)Two layer Huffman Coding |
8x8 、 4x8 、 8x4 、 4x4 Integer Tansform |
H.264 |
(1) Variable block size (2) 1/8 pixel motion vector |
a) UVLC b) CABAC |
4x4 Integer Transform |
運動估測技術之比較
運動估測技術上之主要差異有下列兩點:
- (1)運算方塊大小之不同;
- (2)運動向量之精度差異。
《圖四 使用WMV-9與MPEG-2壓縮方法對慢動作節目編碼之Rate-distortion效能比較》 |
|
在MPEG-2之視訊壓縮規格中,運動估測所用之運算方塊大小是固定的16×16像素,而運動向量之最大精度達1/2像素。在WMV-9之視訊壓縮規格中,其運動向量之最大精度由1/2像素提升至1/4像素,其運動估測所用之運算方塊大小之選擇可為16×16像素或8×8像素。H.264規格再將運動向量之最大精度提升至1/8像素,且運動估測所用之運算方塊大小可為16×16、8×16、16×8、8×8、8×4、4×8與4×4等七種模式。高精度之運動向量與多選擇性之運動估測運算方塊尺寸可使壓縮效能提高,但也增加了編碼過程之運算量。WMV-9與H.264規格之壓縮效能可達MPEG-2之三倍,但其解碼運算量也達MPEG-2之三至五倍。主要的差異皆來自運動估測方法之不同。
《圖五 使用WMV-9與MPEG-2壓縮方法對慢動作節目編碼之Rate-distortion效能比較》 |
|
編碼方法的比較
視訊壓縮規格皆使用可變長度編碼(Variable length Coding)方法對各種數值做編碼,所謂可變長度編碼就是將不同的符號(symbol)以不同長度之Binary code作代表。如(圖二)所示之DCT係數,在一個數之後跟隨幾個零,構成一組(Run,Level),即以不同的VLC碼對應之,稱為2D-VLC。而其中的Run是指在每一個非零係數之前的連續0的個數,Level指的是該非零係數的位階值(及大小值),最後還會跟著一個位元用以編碼該非零係數的符號,最後再以查表的方式將符號(symbol)轉換成二元碼(Binary Codes)。
MPEG-2規格即使用圖二之2D-VLC編碼技巧。在WMV-9的VLC編碼規格中捨去圖二中間之「End of Block」編碼,增設Last Flag將2D-VLC擴大成如圖二最右邊所示之3D-VLC。3D-VLC對每一個符號(symbol)編碼出一組(Last,Run,Level),與2D-VLC最主要的差異就是多出了Last欄位,該欄位用一個位元來標示在該非零係數之後是否還有其他的非零係數(0代表後頭還有非零係數,1代表之後沒有其他的非零係數)。在H.264的編碼方法上有兩種編碼方法供編碼器做選擇:可變長度編碼(UVLC)及前文參考之適應性二元算術編碼(CABAC),其中UVLC對於發生機率比較高的符號以較短的碼加以編碼,這些碼都是以查表的方式運作,所以在編碼端及解碼端的編碼表要一致。
而CABAC與UVLC最大的不同點,在於其編碼方法是具有適應性(adaptive),所謂的適應性是指對於編碼過程中各個符號(symbol)出現的機率會一直動態地去統計並更新,以(圖三)來說明CABAC的運作流程:輸入訊號經過Context Modeling後會先產生內文(Context),之後將其二元化,接下來就是整個算術編碼的核心,Probability Estimation負責動態地去估算機率,此機率值將會是算術編碼最重要的輸入參數,有此機率值Coding Engine就會將所有的符號(symbol)加以編碼。分析兩者的優缺點,CABAC由於一直動態地計算更新符號出現的機率,可以將資訊作適應性的調整並達到最佳的資料壓縮率,然而如此也付出了運算量增加的代價,及執行效率上不如UVLC來得快速的缺點。
《圖六 WMV-9與H.264壓縮方法之Rate-distortion效能比較》 |
|
空間軸編碼方法的比較
在空間軸編碼方面,MPEG-2、WMV-9與H.264皆使用頻域之DCT系數編碼,所不同者在於MPEG-2使用浮點運算之DCT轉換,H.264與WMV-9使用整數點運算之DCT轉換,MPEG-2之轉換運算方塊為8×8,而H.264/AVC則使用4×4的轉換,用來消除區塊邊緣的ringing artifact以及discontinuity,但是影像中的趨勢(trend)和結構(texture),尤其是週期性的結構(periodic texture)使用較大的Block size會有較好的保存效果,因此在WMV-9允許多種的Block size可供選擇(包含8×8、4×8、8×4以及4×4的尺寸),其中針對Intra picture的frame level是固定使用8×8的尺寸,而Inter picture則可以選擇4×8、8×4或4×4的尺寸。另外,WMV-9可選擇在不同的level(frame、macroblock、block)做標記,例如在frame-level中標記使用8×8的尺寸做轉換後,在同一frame中就都使用同樣的尺寸來做轉換,而在macroblock及block level中也是一樣的規則。此特點使在同樣壓縮比之下,WMV-9之解壓縮視訊畫質優於H.264。
編碼效能比較
在後述的實驗結果中,分別將WMV-9、MPEG-2與H.264編碼效果做比較,以說明其編碼性能:
WMV-9與MPEG-2之編碼性能比較
WMV-9只需要使用MPEG-2所使用資料量之50%,即可達到比MPEG-2更優良視訊效果之壓縮視訊節目。(圖四)與(圖五)分別比較在快動作與慢動作節目中,解壓縮視訊節目之PSNR值之差異。在相同PSNR的條件下,WMV-9使用的資料量是MPEG-2之30%~45%。
《圖七 WMV-9與H.264壓縮方法之Rate-distortion效能比較》 |
|
WMV-9與H264之編碼效能比較
若是以rate-distration之性能來評比WMV-9與H.264,WMV-9與H.264的特性是非常相近的。在(圖六)與(圖七)的實驗結果中,圖六中H.264較好,圖七則是WMV-9勝出。然而,若以視覺效果來比較,WMV-9在幾次公開實驗評比中(如C’T Magazine之公開評比),WMV-9皆比H.264優勝。
以建置解碼器的運算複雜度來比較如(表二),WMV-9所需之運算量不及H.264所需運算量之50%。
表二 WMV-9與H.264壓縮方法之運算複雜度比較
Sequence |
Millions of ARM cycles/second |
WMV9 |
H.264/AVC |
Foreman |
27 |
70.0 |
News |
17 |
45.9 |
Container |
19 |
45.5 |
Silent |
18 |
50.8 |
Glasgow |
25 |
48.5 |
Average |
21.2 |
52.14 |
結論
新一代的壓縮規格WMV-9與H.264之壓縮效能遠高於DVD-Video規格所用之MPEG-2規格。WMV-9視訊編碼技術具有優於H.264等級規格之壓縮編碼效能,卻沒有H.264之高運算複雜性,目前已在PC平台廣泛使用。編碼器與播放器軟體皆易於取得,播放晶片也已經開始普及,使用WMV-9編解碼技術之FVD播放機也開始大量銷售,它可望在未來與FVD共同成為下世代影音光碟之主流技術。
(作者為工研院光電所資訊存取技術組經理)
|
|
本文在H.264碼率控制機制的基礎上,提出了一種基於平均絕對差(MAD)比率的跳幀演算法。該演算法將圖像的MAD比率和緩衝器占用量作為跳幀判別標準,為運動劇烈的圖像保留緩衝器空間。實驗結果表明,本演算法一方面可以有效地降低緩衝器的占用量和節省編碼時間,從而在硬體方面表現為降低對緩衝器大小等方面的要求,達到降低成本的目的。
相關介紹請見「H.264碼率控制中基於MAD比率的選擇性跳幀演算法」一文。 |
|
H.264,或者MPEG-4第十部分,是由ITU-T視頻編碼專家組(VCEG)和ISO/IEC運動圖像專家組(MPEG)聯合組成的聯合視頻組(JVT)提出的高度壓縮數字視頻編解碼器標準。ITU-T的H.264標準和ISO/IECMPEG-4第10部分(正式名稱是ISO/IEC 14496-10)在編解碼技術上是相同的,這種編解碼技術也被稱為AVC,即高級視頻編碼(Advanced Video Coding)。你可在「H.264/MPEG-4 AVC介紹」一文中得到進一步的介紹。 |
|
中國官方決議以AVS(Audio Video coding Standard)為其國內標準,理由是AVS屬大陸自主的智慧財產權,使用AVS來取代MPEG-4、H.264等應用需求,包括電子產品與廣播營運等,將能在數年內省下數千萬美元的技術授權花費,如此大陸的產品製造商、內容營運商,及末端消費者等都將受益。在「中國拱AVS Codec成市場標準」一文為你做了相關的評析。 |
|
|
|
|
|
美國Media Excel公司使用可將MPEG-2 HDTV影像即時轉換成H.264(MPEG-4 AVC) SDTV影像的轉換器,進行了傳輸編碼(編碼格式轉換)演示。相關介紹請見「從MPEG-2到H.264的即時轉換」一文。 |
|
InterVideo表示,其H.264編解碼器(CODEC)支援Nvidia公司的GeForce 6和7系列圖形處理器提供的新PureVideo H.264解碼加速技術。該公司的H.264編解碼器、應用程式、示例應用程式代碼和文檔將透過授權提供給OEM、系統整合商和其他第三方機構。你可在「新款CODEC支援Nvidia的H.264解碼加速技術」一文中得到進一步的介紹。 |
|
Nvidia將推出全新的Nvidia PureVideo 高解析度影像處理技術,提供H.264數位視訊解碼的支援。H.264也被稱做Advanced Video Codec(AVC)或MPEG-4 Part 10,是Blu-ray Disc(BD)與High Definition DVD(HD DVD)等下一代影音格式。在「NVIDIA 推出最新PureVideo 影像處理技術支援H.264解碼」一文為你做了相關的評析。 |
|
|
|