H.264視頻解碼芯片中與濾波相關的存儲器的設計
摘要:本文對H.264 解碼芯片中的濾波部分所需的數據、數據的存取及芯片中所用到的存儲器做了深入的分析,同時涉及到DRAM 及SRAM 的設計,并支持宏塊級幀場自適應。為了實現H.264 解碼芯片中的數據的快速存取,本文提出了對數據存儲的一種優化方法,通過此方法可完全達到濾波過程中對大量數據的處理。試驗表明此種方法能節約存儲器的資源并滿足H.264 濾波中對大數據量處理的需求。
本文引用地址:http://www.104case.com/article/202464.htmH.264 作為新一代的視頻編碼標準有著優異的性能,廣泛應用于視頻會議、視頻點播、數字電視廣播、數字視頻存儲以及消費電子等多個領域。與H.263或MPEG-4 相比,同等圖像質量下,碼率能降低一半左右,但是算法復雜度高。
H.264 標準在低碼率的情況下能產生高質量的畫面,主要就是采用了自適應的環路濾波。H.264 采用了基于樹狀結構的塊的運動補償,基于塊的運動補償能很好地降低碼率, 但這同時也引起了方塊效應。
由此H.264 采用了一種自適應的濾波算法,能夠很好地降低方塊效應, 但同時也帶來了極大的運算復雜度。在H.264 中,濾波后的數據將作為下一幀的參考幀,因此又稱為環路濾波。研究表明:在H.264 解碼過程中其中運動補償(MC)約占30%,環路濾波(DF)約占20%的解碼時間,因此很好的設計MC 與DF 對解碼器的性能至關重要。
1 濾波過程用到的數據
H.264 中, 在MBAFF 情況下的解碼中宏塊都是以宏塊對的形式出現。因此在存儲數據的時候也考慮到以一個宏塊對的數據為單位進行存儲。在一個宏塊對中, 濾波時整個過程中需要操作的數據如圖1 所示。其中每一個小方塊表示一個4×4 像素的block,在濾mb_up 宏塊時需要用到up 所指的數據,本次設計支持MBAFF,在濾波過程中需要進行幀與場的轉化,因此要用到上面二行的block。在濾波最左邊的block時需要用到圖中left 所指示的一列數據。
圖1 濾波中的數據
評論