2011/10/14

視訊壓縮標準概述

眼睛是靈魂之窗,視覺是未來人類獲取資訊最主要的感觀,視頻資料為多媒體資訊中資料量最龐大的一員,此領域已成為目前世界上技術開發和研究的焦點,儲存視訊資料需要最複雜的壓縮技術,同時也代表壓縮與解壓縮時需要較多的CPU時間,目前業界已經制定出許多處理影像訊號壓縮及編碼的技術。
MPEG 的標準由 ISO (International Standards Organization) 所制定,全名為 Moving Pictures Experts Group,這些團隊制定了包括 MPEG1、MPEG2、MPEG4 等標準。
MPEG1 制定於1993年,主要用途為:視訊會議、影像電話、電腦遊戲與CD-ROM。MPEG1被設計來支援大部份的影像與 CD-ROM 的音效,傳輸速度為 1.5 Mbps (30 fps),對類比視訊到數位視訊儲存的產生重大革新。
由於MPEG1壓縮率過低,畫質不如傳統類比視訊儲存媒介,故沒有過多久,MPEG2的標準於1994年被制定出來,MPEG-2 相容於 MPEG-1。MPEG-2是一個非常優秀的壓縮演算標準,加強 MPEG-1 影像品質不足的地方。因此,MPEG2更能昇任其它工作環境,例如:DVD、HDTV、視訊廣播。隨著半導體技術的提升,MPEG2的軟硬體壓縮設備更為低廉,MPEG2直至今日仍佔據視訊壓縮主流角色。
隨著行動裝置以及大尺寸薄型顯示裝置的普及,更合適的MPEG4標準在1998年被提出,包含第十部份的H.264,目前仍持續在增訂中,主要的應用用途比較廣,制定了由低速裝置到高速裝置所有應用標準,包括了視訊會議、影音郵件、無線裝置等等,支援的傳輸速度為 8Kbps ~ 35Mbps。
本章對於目前使用量最多的視訊壓縮技術MPEG2做一個概述,最後簡介目前地表最強大的壓縮技術─H.264如何對視訊壓縮後的畫質有大符度的改善。

視訊編碼概念
當一個二維亮度函數被取樣、量化而變成數位影像時,就會產生很大的資料。事實上,這個資料可能會大到無法進行儲存,處理與通訊傳輸。例如:一張512x512 pixel,8 位元/pixel,3 顏色的影像所需的儲存空間為:512*512*8*3/8約786432個位元組。一段數位視訊若以640x480,每秒15 張,90 分鐘的一段全彩數位視
訊而言,其需要的頻寬為:
640*480(pixels/frame)*3(bytes/pixel)*15(frames/sec) =13824000 bytes/sec=13.18 MB/sec
而所需的儲存空間為13.18*90*60=69.50GB。顯然地,這樣的儲存方式極不具經濟效益,且若直接在網路上的傳輸視訊資料,所耗費的頻寬對絕大部分的人而言根本是無法負擔的。對於數位視訊的高儲存空間,不但儲存是一個問題,傳輸更是一個不可能的任務,因此我們需要將資料壓縮。資料壓縮的目的是減少表示數位資料所需的資料量,可能是減少表示一個訊息所需要之訊號空間量,或者是傳送該訊息所需之頻寬。對於數位視訊而言,有許多的技術被運用來壓縮視訊。

由於連續視訊是一連串靜止畫面所組成,相臨的畫面間會有極大的相似性,因此會產生時間域冗餘(temporal redundancy),若先計算前後畫面間不同的地方,只對不同的地方做編碼,如此就可以達到減少資料量的目的。

再者,同一張的畫面中,鄰近的像素間相關性也極高,會有空間域冗餘(spatial redundancy),我們可以利用此特性來進一步的壓縮,其次是我們觀察人對視訊的感覺,發現人眼的反應相當差,我們將畫面間人眼不易察覺的資訊去除,雖然會失去資料的完整性,但人眼是無法辦別的。最後使用非失真壓縮技術再來對資料做編碼,以最有效率的方式來儲存這些資訊。
1.1 取樣方式
人類視覺系統對於亮度較彩度為敏感,故在視訊之儲存上,常將亮度分離出來,更甚者,使用較多空間儲存亮度資料。例如ITU-R recommendation BT.601定義色差表示法的運算式如表6.1,其中R為紅色,G為綠色,B為藍色,也就是亮度三原色,Y為亮度,可以看出綠色代表的是比較亮的色彩原色,Cb與Cr分別是藍色與紅色的色度通道。

MPEG-2支援隔行掃描和逐行掃描。在逐行掃描模式下,編碼的基本單元是Frame。在隔行掃描模式下,基本編碼可以是Frame,也可以是場(field)。

原始輸入影像首先被轉換到YCbCr顏色空間。其中Y是亮度通道,Cb和Cr是兩個色度通道。對於每一通道,首先採用塊分割,然後形成macroblock,macroblock構成了編碼的基本單元。每一個macroblock再分割成8x8的小塊。色度通道分割成小塊的數目取決於初始參數設定。例如,在常用的4:2:0格式下,每個色度macroblock只採樣出一個小塊,所以三個通道macroblock能夠分割成的小塊數目是4+1+1=6個。

1.2 動態評估
為了取得高壓縮比效果, MPEG 採用了複合式多種壓縮技巧,首先是以區塊為基礎的動態補償 (block-based motion compensation) 方法,利用前一畫面至目前畫面內容之預測 (prediction) ,或是由前一畫面其下移畫面至目前畫面內容之內插預測 (interpolation prediction),計算預測的誤差值 (差異值) 。

因為連續的畫面間通常存在有極大的相關性,如果我們把像素的運動軌跡都可以描述出來,那麼我們只需要編碼、並送出第一個畫面及軌跡的資訊即可。相鄰畫面間的差易性極小,若顏色深度為8bit,共256色階時,相減之後在全部位置上同時加上128。事實上我們是以區塊為基礎來描述運動的向量,我們稱為動作向量(motion vector)。利用動作向量可以幫助我們做畫面間的動作補償(motion compensation)。

沒有留言:

張貼留言