2012.06.25 08:02

認識 VP8 影像編碼:整合 HTML5 更小更漂亮、挑戰 H.264 地位

ADVERTISEMENT

由 Google 所領導的影像 codec:VP8,想要靠著與 HTML5 的整合,以及對手機、平板電腦等,運算能力較低的手持裝置最佳化,提供無專利問題的解決方案,來挑戰龍頭霸主的地位。

目前影像codec(編碼、解碼器)仍以H.264為主流規格,無論手機、平板電腦,或是YouTube,甚至是藍光影片光碟,都將H.264列入支援清單,儼然成為當代影像codec霸主。

在2012年3月舉辦的MWC(Mobile World Congress,世界移動通訊大會)中,Qualcomm展示了下一代影像codec H.265,它的代號是HEVC(High Effciency Video Codec,高效率影像編碼解碼器),從名字上聽起來比代號為AVC(Advance Video Codec,先進影像編碼解碼器)的H.264還要威猛。

ADVERTISEMENT

不過這項技術目前還在發展階段,第1版的委員會版草案於2012年2月才剛拍板定案,依據其發展規劃,最終版本的國際版草案預定於2013年1月制定,至於推出正式版則沒有明確的時間表,H.264似乎還有一段長路要走。

影像技術大事紀 年份 VP8大事紀
Louis Le Prince展示人類史上第一部電影 1888  
  1992 On2 Technologies公司成立
發表MPEG-1 1993  
MPEG-2發表,DVD問市 1995 首款編碼器TrueMotion S發表
MPEG-4發表 1998 Google成立
MPEG-4 Part10(H.264)發表 2000 TrueMotion VP3發表,隨後改以VP做為系列名稱
  2005 VP7發表,並獲Skype採用
HD DVD、藍光光碟問市 2006  
中國藍光高清光碟(CBHD)標準發表 2007  
HD DVD退出市場 2008 VP8發表
YouTube提供1080p影片服務 2009  
  2010 Google收購On2 Technologies
  2011 VP8函數庫libvpx發表
H.265第一版草案發表 2012 正式版libvpx發表

挑戰者出現

但在H.265正式登場之前的這段空窗期,H.264可能要面臨一項新的挑戰。由Google所領導的影像codec:VP8,想要靠著與HTML5的整合,以及對手機、平板電腦等,運算能力較低的手持裝置最佳化,提供無專利問題的解決方案,來挑戰H.264龍頭霸主的地位。VP8 最早由On2 Technologiesis開發,於2008年9月13日首度釋出,其目地在於取代自家上一代產品VP7。不過Google在2010年收購On2 Technologiesis,這項技術便轉為Google所有。

走向免費之路

這一連串發展的轉捩點在2010年3月12日,自由軟體基金會(Free Software Foundation)發表了一封公開信,呼籲Google使用HTML5和VP8,取代Adobe Flash Player和H.264,成為YouTube使用的影片格式。

ADVERTISEMENT

在聽到了自由軟體基金會的聲音後,Google於同年5月19日釋出免費的VP8 codec函數庫libvpx,經過數次改版後,libvpx終於在2012年1月27發佈第1個穩定版本1.0.0版。至於解碼方面,除了可以使用libvpx進行軟體解碼外,WebM專案的硬體小組也設計了VP8的硬體解碼器,無償提供給晶片廠商使用。

以WebM之名闖江湖

在影片封裝容器方面,Google制定了專屬的影片容器:WebM,它以Matroska(MKV)封裝格式為基礎,並搭配Vorbis音訊(Ogg使用的編碼方式),這樣好處是所有技術都是免費、自由的,不會產生專利權或權利金等問題。

VP8主打網路應用

最初在制定VP8標準時,其功能設計的焦點就在網路應用上,由於網路的頻寬將成為品質的一大限制,因此VP8選擇了頻寬先決的開發方向,以較低的品質來彌補頻寬的不足。

ADVERTISEMENT

VP8的設計重心放在尖峰訊噪比(Peak Signal to Noise Ratio,PSNR)為30dB至45dB之間的表現,根據Google所釋出的官方文件,在這個尖峰訊噪比區間的影像品質,大約在「尚堪入目」(watchable)到「目視無損」(visually lossless)之間。

YUV 4:2:0是什麼意思

由於人的眼睛對亮度比較敏感,對彩度比較遲鈍,因此在處理影像的時候,往往會減少對色彩抽樣的數量,以節省儲存空間。YUV的色彩格式是將顏色分為3種分量,以Y表示亮度(Luma),U、V表示色度(Chroma),並可透過公式轉換成RGB色彩格式。

最基本的YUV取樣方式就是對所有像素皆進行取樣,這種方式稱為YUV 4:4:4,名稱中的3個數字分別表示U、V分量的水平寬度參考值、第1行取樣數目、第2行取樣數目。如果是YUV 4:2:2的話,代表在寬度為4個像素的區塊中,只取2個取樣,每個2 x 1像素區塊共用一個色度取樣,而YUV 4:2:0則是更進一步精簡掉第2行的取樣,讓2 x 2像素區塊共用一個色度取樣。

ADVERTISEMENT

▲以4 x 4的像素區塊為例,無論使用哪種方法,亮度都會採集16個取樣。在色度方面,YUV 4:4:4也是採集16個取樣,YUV 4:2:2、YUV 4:2:0則是分別將取樣數降低至8個、4個。

從圖中可以清處看到,YUV 4:2:0可以把色度取樣數從16縮減至4,原本相較於YUV 4:4:4需要對4 x 4像素區塊進行3種分量共48個取樣,YUV 4:2:0只需24個取樣(16+4+4),可以節省一半的資料空間。

如果將網路應用的平台拉到手機或平版電腦等,效能相對薄弱的手持終端裝置上的話,除了會面臨資料流量的問題,也得盡量節省解碼時所需要耗費的硬體資源。VP8可以將經過熵編碼(entropy encode)處理的資料,切割成許多可平行處理的區塊,只要在編碼時付出些微的效能衝擊,就能夠讓多核心處理器,在解碼時發揮多工優勢,並確保單核心處理器的效能,不會因此受到影響。

仍具應用彈性

VP8除了更貼近低頻寬網路,也沒有冷落了高階應用。VP8在制定規格時,將色彩取樣定為8-bit YUV 4:2:0,採用循序(progressive)掃瞄,並將解析度上限定為16383 x 16383,VP8也希望能夠藉由其高效率的解碼能力,以及能屈能伸的編碼彈性,讓手持裝置到效能強大的桌上型電腦一體適用。不過VP8卻有個矛盾的地方,它不具有類似H.264的範本(profile)設計。

範本的用意是針對不同的播放設備,制定其效能足以負擔的編碼設定,如果播放設備性能較弱,可能就要犧牲壓縮效率(如降低品質)以求得播放流暢。廠商在規劃產品時,就可以依據效能表現,限制該產品所支援的範本,明確地區隔出能流暢播放的檔案。希望能在網路平台及手持裝置一展長才的VP8,反倒不具有這項功能,讓人覺得有些怪異。

延伸閱讀:

(後面還有:VP8的3大特色)

ADVERTISEMENT