視訊編碼技術各家爭鳴 網路串流效能決勝負

2008-01-15
資料壓縮(Data Compression)方法對資料的儲存與傳送具有很大的幫助,因為資料型態上的差異所致,並非全部的資料壓縮概念均適用在多媒體領域,不過基本概念卻都可類推適用。
一般簡單的數位資料壓縮方法有下列三種:
截斷法(Truncation)
  此法的實作簡單,其運作原理乃利用減少每個像素的位元數,來降低資料容量,但缺點是將使整個影像的解析度喪失。
色彩搜尋法(Color Lookup Table, CLUT)
  將畫素值與色彩數值表建立索引關係,並利用查表的方式建立色彩。
行程編碼法(Run Length Coding, RLC)
  RLC方法是種利用字符的重複次數,作為表示的一種壓縮方法,如一個222227000511111字串,其採用RLC壓縮後可得2571035115。利用次數重複可截短的優勢,RLC對重複次數2以上的字符有良好的壓縮效能,但不適用在不足2的重複字符,如12345678若採RLC壓縮後會得到1121314151617181,不但沒縮短反而因加入記錄長度資料的關係使壓縮變長。

視訊壓縮技術各有千秋  

有了資料壓縮概念後,便可檢視現今視訊編、解碼器(Codec)之間的異同點所在,了解未來的發展趨勢。  

VC-1不只是微軟(Microsoft)在Windows Media Player 9(WMV9)系列中所實作的Codec標準。它是由SMPTE(Society of Motion Picture and Television Engineers)標準化後,微軟將其實作在WMV9系列中的Codec標準;其Codec稱為WMV9/VC-1。在VC-1的相關手冊裡,除SMPTE 421M詳細描述完整的整個位元串流語法(Bit Stream Syntax)之外,另兩個文件SMPTE RP227及SMPTE RP228則分別描述了VC-1的傳送與會談模式。利用這些完備的文件,將有助於視訊內容的遞送與媒體互通性之維持。根據文件可以了解VC-1可很容易處理高畫質電視(HDTV)的1920×1080畫素,且Bit Rate可達6M~30Mbit/s,並可擁有更高的解析度2048×1536,讓最大位元限制為135Mbit/s。  

在VC-1的基本功能裡,包含區塊式(Block-based)的移動補償(Motion Compensation, MC)以及與MPEG-1及H.261相似的空間轉換策略。不過在VC-1裡仍有一些與之前的Codec不同的架構設計,這些架構設計不只出現在VC-1中,也出現在H.264/AVC的規範裡。其簡述如下:

應用領域範圍廣
  VC-1有大量的版本(Profiles)及層級(Levels),可以支援各種不同型態的視訊種類。VC-1的不同版本決定Codec所應該具備的特色,同時也決定該Codec所可能擁有的運算複雜度。
移動補償機制
  傳統預測畫面的形成,主要依據資料的區塊或是巨集區塊(Macroblock, MB),並利用其於X、Y軸之位移形成的移動向量來表示資料移動。在MC裡面將使用二種濾器(Filters),分別為雙線性(Bilinear)濾器與雙立方體(Bicubic)濾器,而VC-1可支援的次畫素資訊可達四分之一畫素。
適應性區塊大小轉換
  其支援的區塊轉換種類有8×8、8×4、4×8或4×4。
明暗補償(Fading Compensation)
  視訊因為編碼的關係,往往會產生忽明忽暗的情形。VC-1內含明暗度補償,可預測明暗度不均的狀況並利用其他方法進行調整,此特性可有效改善壓縮品質。
迴圈濾器(Loop Filtering)
  與H.264/AVC相同,VC-1也使用In-loop的去塊狀濾器(Deblocking Filter),嘗試移除區塊邊界所產生的不連續區塊情形。
每秒16位元轉換
  基於16位元DSP的實作考量,為降低解碼器的運作複雜度,VC-1使用16位元的轉換將可容易實作在一些具備16位元處理器的DSP之上。
交錯式編碼(Interlace Coding)
  交錯式視訊在電視廣播的使用非常廣泛,在此種視訊型態中,VC-1可利用其畫面特徵達到最有效的壓縮效能改善。
上述新增功能使VC-1的品質和效能和MPEG-2、H.263距離拉開,並欲與H.264/AVC一較高下,爭奪下一代視訊編碼標準之寶座。

而VC-1與H.264/AVC的異同點為何?以及採用何種編碼規範較好?可從以下兩點進行討論。  

從品質及應用層面進行比較可以發現,因為VC-1可支援的最大Bit Rate超過MPEG-2,並提供各種不同版本滿足視訊工作室的要求,因此在壓縮效能無法辨別的情況下,VC-1一開始在此方面較H.264/AVC更具有應用上的優勢。但此差距已隨著H.264 FRExt版本的釋出而逐步縮小,目前差異已逐漸消弭。  

從運作效能的差異點切入,在某些方面H.264/AVC因為使用的算數編碼演算法過於複雜,導致在無線網路的應用上略輸VC-1一籌。根據3GPP研究報告指出,VC-1的MP版本(Main Profile)運算複雜度比H.264/AVC SP版本(Simple Profile)要少25%,因此可不須再看H.264/AVC MP版本的運算複雜度。不過此方面的差異已有許多學者提出精簡版的H.264/AVC方法,VC-1與H.264/AVC之間的運算複雜度差異也將逐漸縮小。  

AVS標準自成一格  

2002年,中國軍方資訊研究所宣布建立一套可用於行動多媒體、廣播應用與DVD等領域的視訊編碼標準,其稱為影音標準(Audio Video Standard, AVS)。在AVS的結構其可概分為兩大部分,分別是AVS-M與AVS 1.0。前者主要用於行動視訊,後者則應用於廣播與DVD領域。細看AVS標準其實與H.264標準非常類似,但在交錯式模式中的Frame/Field Coding只能在Frame-Level下執行。尤其是AVS-M的規範中幾乎與H.264/AVC SP版本重疊,但只支援循序式(Progressive)視訊而沒有B Frames,且在平均效能上性能也比H.264/AVC SP版本略遜一籌。  

視訊標準難分軒輊  

根據上述資料不難發現VC-1、H.264/AVC及AVS版本間的差異所在,這往往也是選擇Codec的主要依據,因為VC-1在開發之初已將許多因素考量進去,所以一開始就顯得比H.264/AVC占上風。而此現象可追溯自開發的過程檢視,VC-1有微軟團隊及強大資金支持,所以在開始時將規模弄大;反觀H.264/AVC的參與者多為學術單位與專業人士,然後摻雜一些相關業者人員,在團隊組成上略顯複雜,因此工作方向形成先建立團隊默契與基礎後再慢慢改進,但後來所呈現的視訊品質其實已相差無幾。正因如此,一些業者在一開始時以VC-1為開發標準者不在少數,如台灣主導的紅光高畫質影音光碟(Forward Versatile Disc, FVD)標準即是採用VC-1為視訊標準壓縮技術。  

雖然VC-1一開始已大致妥善,但仍有許多人選擇H.264/AVC標準,其中最重要的有兩點原因,首先,VC-1與H.264 FRExt在視訊品質與其應用領域上處於勢均力敵地位,因此不論採用何者均較之前的Codec為佳,不過在轉換技術上,H.264/AVC似乎較VC-1更具前瞻性。另外,Codec除能產生好的視訊品質與高效率的壓縮效能外,還要能與目前的商品化產品相容並方便系統升級。在IP網路上的許多視訊應用標準,均採ITU-T的相關規範如H.323系統,因此對於這些系統廠商而言,採用H.264/AVC架構升級本身的H.263 Codec自然比採用VC-1架構更能獲得成功及互通性。  

雖然選擇數位系統上的視訊Codec有許多考量因素,其中最重要的因素為應用領域的視訊品質要求,而其他次要因素則包含解析度、位元速率、色彩深度、運算複雜度等;表1為近代較重要的視訊編、解碼器之比較,透過比較將能大致了解這些Codec之間的差異點。

表1 近代視訊編、解碼器之比較
技術特性 / codec種類 MPEG-4 H.264/AVC WMV9/VC-1 ACS
空間內部預測
預測模式 Frame與Field Frame與Field Frame與Field Frame與Field
去塊狀濾器 Post In-loop In-loop In-loop
畫面編碼型態 I、P、B畫面 I、P、B畫面 I、P、B畫面 I、P、B畫面
熵編碼 VLC UVLC、CAVLC、CABAC 多表VLC 適應性VLC
轉換 8×8DCT 4×4與8×8整數轉換 4×4、8×4、4×8、8×8DCT 8×8整數轉換
向量區塊大小 16×16、8×8 16×16、16×8、8×16、8×8、8×4、4×8與4×4 16×16、8×8 16×16、16×8、8×16、8×8、8×4、4×8與4×4

視訊應用更廣 技術推陳出新  

數位影像與視訊編碼的研究源自1950年代,而轉換技術的發展到1970年代才出現。到了1984年N. Ahmed與T. Natrajan等人更發表著名的區塊式離散餘弦轉換(Block-based Discrete Cosine Trans-form)研究報告,且同一時間移動補償預測及錯誤編碼的研究亦開始進行。到了1985年這些技術逐漸成熟,並出現了移動補償與DCT混合系統(MC/DCT System)的概念,直至今天此概念主導了視訊產業發展二十幾年,從歷史觀點來看,當時的研究就是未來的發展。離散小波轉換(Discrete Wavelet Transform, DWT)研究也是如此,從1980年代DWT的研究迄今,此技術已被廣泛使用在各領域,新一代多媒體Codec也幾乎都以DWT取代行之有年的DCT法,如JPEG2000、H.264/AVC或MPEG-4。新一代的視訊Codec除具備優質的影音品質外,更須考量網路產品的應用,尤其是在無線網路上,因為網路通訊將慢慢主導科技的發展取向與合作模式,因此未來的視訊標準發展應該至少將出現下列幾種特徵,包含分散式視訊編碼方法/平行視訊編碼方法、分散式網路串流服務能力、錯誤強固性、模組化功能、高度複雜性、全方位網路與家庭娛樂平台應用、品質維持能力、穩定性、SoC晶片化等。以下將針對其中幾個較為重要的發展趨勢進行討論。  

在編碼概念從畫素到物件方面,為使視訊媒體具有更大的可編輯性與互動性,視訊編碼的概念趨勢從畫素的處理演變成為物件(Objects)之間的處理與識別。在此演進下包含分節編碼概念(Segmentation-based Coding)、精靈編碼法(Sprite Coding)與物件式編碼法(Object-based Coding)是主要的概念,分述如下:

分節編碼
  採用分節式的編碼方法,主要目的為達到高壓縮效能,一些現行Codec運作概念乃從此概念所延伸,如MP與MC概念。
精靈編碼
  分節編碼法可延伸發展出精靈編碼法,精靈編碼法又稱動景編碼法(Panorama Coding),其屬MPEG-4物件式編碼策略之一。其運作之基本概念,在於將視訊畫面分解成活動之前景畫面與靜態背景畫面,並可利用周邊畫素的移動分析與預測策略,來重建前景與背景分開的畫面。
物件式編碼
  這種編碼方式嘗試從畫面中去辨識語意上的物件,如場景中的車子,並利用周遭的2D、3D物件模型來表示屬性,這種物件式編碼可視為動景編碼法之延伸。
接著,從符合網路要求與使用者限制的角度切入,有關網路要求與使用者限制的問題,主要發生在網路裝置的適合性、封包傳送錯誤與無線網路上的應用上,可從網路與裝置的適合性、克服傳送錯誤及無線網路的應用三方面進行討論。  

在網路與裝置的適合性方面,目前許多多媒體應用均與網路有關,並且終端使用者的硬體條件通常處於傳送者未知狀態;網路頻寬和客戶端能力常屬正面比例關係,要能達到客戶之服務等級(SLA)狀態,通常與可使用之網路頻寬、顯示畫面的大小、運算能力等因素有關。若傳送端傳送的媒體型態未能配合網路現狀及用戶端限制,將可能產生網路不能傳或是用戶端無法解碼的困境。要解決上述問題可從嵌入式編碼法與轉碼(Transcoding)進行。  

所謂嵌入式編碼法,就是在上述問題的解決上,有許多嵌入式的編碼策略被提出;這些策略的主要目的在於從傳送端產生一個適合的影像或視訊的二進位描述串流,以協助網路或解碼器可以更精確的分配網路頻寬資源,或終端使用者的裝置限制;JPEG2000標準為嵌入式編碼法的最佳案例。  

之前所提的方法皆為直接調整法,除此之外,亦可利用轉碼方式先針對解碼的視訊影像資料,預先轉碼成所要的解析度或減少畫速(Frame Rate),以降低所可能使用的網路頻寬。如將4Mbit/s的MPEG-2檔案轉碼成1Mbit/s的MPEG-4格式。  

在克服傳送錯誤方面,IP網路上不論是網路串流(Streaming)或是廣播視訊,都無法避免封包遺失的問題,此問題對壓縮視訊封包而言會比較嚴重,尤其是搭配安全編碼系統時。在此情況下,將使整體視訊品質下降達顯著差異的程度;而要克服傳送錯誤的方法,主要有錯誤隱藏(Error Concealment)、來源編碼強固性策略或來源與通道編碼強固性策略。  

至於在無線網路的應用中,H.264/AVC因為運算複雜度太高,致使連H.264/AVC SP版本要在無線裝置上使用時仍頗為困難。主要因為無線網路應用裝置的資訊處理能力有限,低運算複雜度及低耗電性的視訊演算法是主要訴求。  

工業視訊標準的設立與應用,處處可見廠商廝殺,但最後決定權仍掌握在市場與使用者手上。未來新一代視訊編碼標準不論是MPEG-5、H.265或是VC-N也好,除優異的視訊品質與壓縮效能外,網路功能將可能成為考量重點,而未來的多媒體晶片(Multi-media IC)不但會落實IP Core的概念,隨意通訊與分享能力也會實現人類對影音效果永無止境的要求。

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!