H 264 編碼架構分析

2022-09-08 09:36:07 字數 955 閱讀 3425

一、編碼架構分析

編碼器有兩條資料通道:前向通道和重建通道。在前向通道中,編碼器的輸入是幀fn,每幀是以16x16畫素大小的巨集塊單元組成的,每個巨集塊進行幀內或幀間**編碼。幀間**的參考幀為前一幀fn『,實際上,參考幀的數量可以多達五幀。當前塊減去其**塊p得到殘差dn,dn經過塊變換和量化得到量化係數x,對量化變換係數進行重編碼和熵編碼,得到的係數以及一些用於解碼的附加資訊(例如巨集塊**模式、量化步長、運動向量資訊等)經由網路抽象層nal(network abstraction layer)進行傳輸和儲存。

在重建通道中,塊量化係數x經反量化和反變換後產生殘差塊dn'(由於量化過程引入誤差,dn』與先前的dn並不一致)。**塊p與dn'相加構成重建塊ufn『,再引入濾波器減少塊效應得到fn』,fn'可被用作幀間參考影象。在編碼器中引入重建通道的目的是為了是編碼器和解碼器使用相同的參考幀來構成**塊p,否則,**塊p在編碼器和解碼器中將不一致,這將造成誤差積累火編解碼器間的「漂移」。

me表示運動估計(mononestinladon),mc表示運動補償。這個只在幀間**中用到。

如果採用幀間**編碼,其**值p是由當前片中前面已編碼的參考影象(f'n-1)經運動補償(mc)後得出.

二、解碼架構分析

由編碼器的nal輸出乙個壓縮後的h.264壓縮位元流。經熵解碼重排序後得到一組變換係數x,再經過反量化、反變換得到殘差dn'。利用利用從該位元流中解碼出的頭資訊,解碼器就產生乙個**快p,它和編碼器的原始塊是相同的,當該解碼器產生的p與殘差dn'相加後,就產生ufu',再經濾波後,最後就得到濾波後的fn『,這個fn』就是最後解碼輸出影象

h264編碼分析 哥倫布編碼

1 首先h264為什麼選用哥倫布編碼?因為h264協議為了節省bits,沒有規定字段表示資料字段長度 資料字段可以根據自身的實際值,可長可短,這樣可以大程度上的節省bit。2 無符號指數哥倫布編碼如何編碼的?在實際資料前面有幾個0就表示,有效資料位數是多少,理解為長度字段,然後資料數值 數值 1,因...

H264編碼原理

條件 1.yuv格式為yuv420 2.解析度為640 480 3.幀率為15 建議碼流500kbps,通過計算可以得到h264壓縮比約為1 100。gop中幀與幀之間的差別小 有失真壓縮包括幀內壓縮和幀間壓縮,幀內壓縮解決的是空域資料冗餘問題,幀間壓縮解決的是時域資料冗餘的問題。無失真壓縮包括dc...

H264編碼原理

前言 h264是新一代的編碼標準,以高壓縮高質量和支援多種網路的流 傳輸著稱,在編碼方面,我理解的他的理論依據是 參照一段時間內影象的統計結果表明,在相鄰幾幅影象畫面中,一般有差別的畫素只有10 以內的點,亮度差值變化不超過2 而色度差值的變化只有1 以內。所以對於一段變化不大影象畫面,我們可以先編...