1. 程式人生 > >H.264---編碼架構分析

H.264---編碼架構分析

一、編碼架構分析 

 編碼器有兩條資料通道:前向通道和重建通道。在前向通道中,編碼器的輸入是幀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’就是最後解碼輸出影象