• 沒有找到結果。

第三章 H.264 視訊編碼標準與位元率控制

3.1 H.264 視訊編碼標準介紹

3.1.2 H.264 編碼系統架構

H.264 的系統架構,如圖 3.1 所示,總共包含網路抽象層(network abstraction layer: NAL) 與視訊編碼層(video coding layer: VCL)兩層,NAL 主要負責將 VCL 所輸出的編碼資料,也就是原始位元序列負載(raw byte sequence payload: RBSP) 格式化並加以封裝,封裝成適當大小的封包單位(NAL-unit: NALU),所以一段視 訊序列經由 H.264 編碼過後,將分成許多個 NALU 封包在網路上傳輸,而為了 要區隔每個 NALU,依據 H.264 的編碼格式,如圖 3.2 所示,在每個 NALU 前加 上長度為 4 個 byte 且值固定為 0×00000001 的起始碼(start code),使得解碼時能 做判斷。且 H.264 的 NAL 提供許多種的封裝格式,包括 MP4、MPEG-2、H.32x、

IP 網路、傳輸串流等,NAL 將依該傳輸協定附加其檔頭資訊後進行傳輸。此外,

NAL 還有一個重要的功能,當網路發生壅塞導致封包錯誤時,則傳輸層協定會 在 reference flag 作設定,而接收端 VCL 收到這種 NAL 的封包時,將進行糾錯,

在解壓縮的同時也會將錯誤修正回來,具有高的抗錯能力,使 H.264 適合相當多 的媒體串流或行動通訊的應用。

圖 3.2、H.264 檔案格式示意圖

圖 3.3、H.264 VCL 系統方塊示意圖

而 VCL 主要負責視訊壓縮流程的部分,如圖 3.3 所示,其架構主要包含畫 框內預測(intra prediction)、畫面間預測(inter prediction)包含運動估測(motion estimation: ME)和運動補償(motion compensation: MC)、整數餘弦轉換(integer cosine transform: ICT)、反整數餘弦轉換(inverse integer cosine transform: IICT)、量 化(quantize: Q)、反量化(inverse quantize: IQ)、熵編碼(entropy coding)、去方塊濾

波器(deblocking filter)及位元控制器模組(rate control module)包括位元控制(rate control: RC)和位元控制緩衝器(RC buffer)。其中熵編碼包含適應性變動長度編碼 法(context-based adaptive variable-length code: CAVLC)及適應性二元算術編碼 (context-based adaptive binary arithmetic coding: CABAC)兩種編碼方式,而我們是 採用 CAVLC。首先當前畫面(current frame)進來,並將影像切成 16×16 大小的 MB 作為編碼的單位,接下來利用畫框內預測或畫框間預測之運動估測找到最佳的模 式,其中畫框內提供 9 種 4×4 亮度預測模式(luma prediction mode)、4 種 16×16 亮度預測模式(luma prediction mode)和 4 種 8×8 彩度預測模式(chroma prediction mode),而畫框間提供 7 種不同的預測模式,而後將去除影像之間的相似性來得 到所謂的差值影像(residual),並以 4×4 的方塊利用 ICT 與量化去除影像視覺的冗 餘,其中量化時透過位元率控制器找出適合的量化參數,最後使用熵編碼編成位 元流(bitstream),並存放在位元緩衝器中控制輸出,而後以 NALU 的資料形式傳 送。而另一方面,為了要提供畫框間預測時 ME 做使用,將方才量化後的資料透 過 IQ 與 IICT 且經由 DF 處理後,將資料儲存在參考畫面的儲存器中,以便提供 下一次畫框間預測使用。

在 H.264 標準中,為了從畫框內或畫框間預測模式中選出每塊 MB 的最佳預 測模式(best mode),所使用的量測數學工具會依不同的預測模式而改變,不同的 RDO 所使用到的位元率-失真成本(rate-distortion cost: RD cost)計算公式,如表 3.2 所示,其中 J 代表 RD cost,λ 為 lagrange multiplier),Rate 代表位元率,經由畫 框間預測及畫框內預測兩者各自選出的最佳模式後,兩者必須再透過 Jmode比較,

才能決定出當前 MB 的最佳模式。詳細的 H.264 畫框內和畫框外預測編碼請參 考文獻[2]。

表 3.2、H.264 最佳模式選擇的數學工具表

圖 3.4、H.264 位元率控制系統示意圖

相關文件