• 沒有找到結果。

H.264/AVC壓縮標準

在文檔中 H.264/AVC之資訊隱藏技術 (頁 16-20)

第二章 文獻探討

第二節 H.264/AVC壓縮標準

第二節 H.264/AVC壓縮標準

H.264/AVC/MPEG-4 Part10 [21] 是由 ITU-T [22] 視 訊 編 碼 專 家 小 組 (VCEG) 和 ISO/IEC [23]動態圖像專家小組(MPEG)聯合組成的聯合視訊團隊(Joint Video Team)提出 的高度壓縮數位視訊編解碼器標準。

此新格式在ITU-T組織中命名為H.264。在ISO組織中則納入MPEG-4 Part10在編解碼 技術上是相同的,在研究上通常合併稱為 H.264/AVC。希望能達到編碼效率的增加和 極佳的視訊品質,此編解碼技術也被稱為進階視訊編碼 (Advanced Video Coding,簡稱 AVC)。

視訊壓縮的標準由兩大標準組織所制定,一為ISO/IEC的動態圖像專家組織(Moving Picture Experts Group,MPEG)[23],制定的標準有MPEG-1、MPEG-2、MPEG-4、MPEG-7、

MPEG-21;另一為ITU-T的視頻編碼專家組織(Video Coding Experts Group,VCEG)[22],

其制定的標準有H.261、H.262、H.263、H.264,其中H.262與H.264為兩大組織所共同制 定,目前H.264為最新的視訊壓縮標準。

H.264視訊壓縮標準[24],於相關研究顯示H.264/AVC與MPEG-2及MPEG-4相較之下 [25],無論是壓縮率或視訊品質皆有大幅的提升,其優異的性能倍受關注,且H.264/AVC 將視訊編碼層(Video Coding Layer,VCL)與網路提取層(Network Abstraction Layer,NAL) 的概念引進[26][27],以往視訊標準著重的是壓縮效能部分,而H.264/AVC包含一個內建 的NAL網路協定適應層,藉由NAL來提供網路的狀態,可以讓VCL有更好的編解碼彈性 與糾錯能力,使得H.264/AVC非常適用於多媒體串流(Multimedia streaming)及行動電視 (Mobile TV)的相關應用。圖2.1[34]為ITU-T與ISO/IEC MPEG標準的演進。

7

圖2. 1:ITU-T與ISO/IEC MPEG標準的演進

一. 網路提取層(NAL)

H.264壓縮標準最大的特色是將網路提取層的概念引進,它是以NAL封包為單位的方 式來做為VCL編解碼的運算單位,可以將NAL當成是一個專作封裝(Packaging)的模組,

用來將VCL壓縮過的位元流(Bitstream)封裝成適當大小的封包單位(NAL-unit),並在 NAL-unit Header中的NAL-unit Type欄位記錄此封包的型式,每種型式分別對應到VCL 中不同的編解碼工具。此外,NAL有一個重要的功能,即為當網路擁塞時,可能會造成 封包錯誤或接收順序錯誤,傳輸層協定會在Reference Flag作設定的動作,當接收端收到 此NAL封包時,便會知道要進行糾錯運算,在解壓縮的同時嘗試將錯誤修正回來。

一個完整的H.264 bitstream是由許多個NAL-units所組成的,也可將此bitstream稱為 NAL unit stream,NAL unit stream的層級架構如圖2.2[34]所示,一個NAL unit stream內可 以包含多個壓縮視訊序列(coded video sequence),一個單獨的壓縮視訊序列即表示一部 影片,壓縮視訊序列是由許多Access unit所組成,一個Access unit可完整解碼出一張 Frame。

在 一 個 壓 縮 視 訊 序 列 中 , 第 一 個 Access unit 必 須 為 IDR(Instantaneous Decoding Refresh) Access unit,此unit即表示畫面內容全採intra prediction,可以完全以本身資訊即 可解碼出影像,不需參考其他的Access unit資訊,而每一個Access unit即是由多個 NAL-unit所組成,在H.264標準中規範了12種的NAL-unit型式,可以將其分類為VCL NAL-unit及Non-VCL NAL-unit兩類,其中VCL NAL-unit其內容皆為影像編碼的資訊,

8

而Non-VCL NAL-unit則有兩種,一為Parameter Sets,另一為Supplemental Enhancement Information (SEI),Parameter Sets主要是描述整個壓縮視訊序列的參數,例如:長寬比例、

影像顯現的時間點(Timestamp)、相關解碼所需的參數…等,Parameter Sets內的資訊相當 重要,若在傳輸時產生錯誤,可能會造成影像無法解碼;而SEI可以存放影片簡介、版權 宣告、使用者自行定義的資料…等。

圖2. 2:NAL unit stream的層級架構

二. 視訊編碼層(VCL)

H.264視訊壓縮[24][25]的原理即是消除空間與時間的冗餘性(Redundancy),來達到 壓縮的目的,H.264透過畫面內預測(Intra-Prediction)來消除畫面內(Intra frame) 的空間冗 餘性,以畫面間預測(Inter-Prediction)來消除畫面與畫面間的冗餘性,在做過預測後將差 餘影像進行空間轉換(Transform)與量化(Quantize),並將轉換與量化後的係數進行編碼。

視訊編碼技術是藉由移除影片中的冗餘(Redundancy)以減少資料量,大多數的視訊編碼 (包括H.264/AVC的主要應用)都是屬於失真(Lossy)的演算法,也就是說,我們以視覺上 品質的好壞,而不以資料的絕對正確做為編碼的最終目的。失真的壓縮演算法相較於無 失真(Lossless)的壓縮演算法,其壓縮倍率較高,而且碼率─失真取捨(Rate-distortion tradeoff)的彈性較大。

在H.264視訊編碼中,採用類似MPEG視訊編碼標準,H.264採用三種方式來壓縮一 個畫面,依據是否採用畫面間編碼與移動估計時參考畫面的選擇,有 I、P、B 三種不 同的畫面類型。其中畫面群(Group of pictures:GOP)每一個畫面群以 I 畫面為開頭,

由一張 I 畫面及數張 P 及 B 畫面所組成,這些 I、P、B 畫面的排列與數目比例並不

9

10

在文檔中 H.264/AVC之資訊隱藏技術 (頁 16-20)

相關文件