Duanxx的HEVC學習(三)HEVC編碼框架(一)框架說明

從編碼框架上來看,HEVC和H264在整體框架差不多,此處只分析HEVC的VCL(Video Coding Layer)。和之前的視頻編碼協議一樣HEVC的VCL使用的是混合編碼技術:inter-/intrapicture prediction and 2-D transform coding。粗魯的說就是HEVC把圖片內靜態壓縮、圖片間的動態壓縮、以及碼流層的壓縮等等能使用的壓縮都使用了,就成了混合壓縮編碼技術。

         下圖是這個Encoder的編碼框架:

         在這個編碼框架圖中,虛線代表的是控制信息,實線代表的是數據流,Encoder最終的輸出是編碼完成後的碼流。關於輸入的視頻文件分析可參見《Duanxx的HEVC學習(一)輸入視頻文件YUV文件的分析》。

  

 我在這裏將整個Encoder分成了主要的四個區域塊,此處僅僅簡要的說明一下這四個區域分別是什麼,在後面文章中會詳細的說明其由來。

         (1)代表的是預測模塊,包括幀內預測和幀間預測,幀內預測用於消除空間冗餘;幀間預測則主要用於消除時間上的冗餘。幀內預測所使用的幀我們稱爲I幀;幀間預測所使用的幀分爲P幀和B幀,P幀指的是向前預測幀,而B幀指的是雙向預測幀。

         (2)代表的是變換和量化,在(2)模塊的左邊有一個特殊的數據處理符號,這個符號下面還有一個減號,此處代表的是求殘差,就是說,我們從(1)模塊中得到的預測後的圖片和原始圖片的差值,稱爲殘差。可以看到,變換和量化的輸入就是剛剛得到的殘差

         (3)這個一個完整的解碼器,包括反量化、反變換、濾波。之所以編碼器中要有一個完整的解碼器,是因爲編碼器中最重要的是模塊(1)預測模塊,而做預測是要有參考幀的,基於已有的參考幀纔可以對當前幀做幀內或者幀間預測。爲了實現編碼器和解碼器的一致性(簡單點說,就是我們用電腦或者其他的什麼東東看HEVC的視頻的時候,我們得到HEVC的比特流後,只需要一個解碼器就可以了,通過解碼器,我們得到一幅幅的圖片,解碼器在解碼的時候其參考圖片是前面已解碼的圖片,爲了預測的準確性,編碼器和解碼器做預測的時候所參考的圖片必須是一樣的,所以在編碼器中寸在了一個完整的解碼器,這個解碼器的作用就是爲了實現參考幀的一致性)。

         (4)這個模塊是從碼流的視角進一步對視頻流壓縮,主要是消除編碼冗餘。

         

發佈了28 篇原創文章 · 獲贊 142 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章