新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 一種基于FPGA高性能H.264變換量化結構設計

        一種基于FPGA高性能H.264變換量化結構設計

        作者: 時間:2009-07-03 來源:網絡 收藏

        2.2 模塊(DCT/Hadamard)及反模塊
        (iDCT/iHadamard反變換)設計由DCT變換矩陣可以推導得出:

        本文引用地址:http://www.104case.com/article/192007.htm


        同樣:Y01~Y03以及Y20~Y23也可將式(5)展開得到。同理可得:


        由前述的變換算法分析可知,Hadamard變換和DCT變換的核心變換矩陣只存在是否乘以2的差別,因此將式(5)和(7)中的cr換成Hi,且2變為1,由此可得到Hadamard變換。
        在實際的硬件電路中,乘以2和除以2的操作都可以通過移位來實現。此外,DCT正向變換與Hadamard變換在整個變換過程中不是同時進行操作,因此將 DCT正向變換與Hadamard變換結合到一起,并分時復用,以是否乘2來區分當前是哪種變換。同時采用16個殘差數據同時輸入,輸出8位變換數據,每 2個時鐘輸出一個4×4塊的變換結果。這樣既充分利用了硬件資源,又能一次性處理一個4×4殘差塊的全部16個數據,確保了效率。DCT變換和 Hadamard變換的核心變換均可用快速蝶形算法實現,如圖2所示。

        對iDCT反向變換和iHadamard反變換的核心變換進行分析,原理與上述相似。
        2.3 量化及反量化模塊設計
        整個量化及反量化模塊全部采用乘法器、加法器和移位操作來實現,并采用內部的兩個ROM來分別存放正反量化的乘法因子MF和尺度因子V。
        由于變換模塊輸出是8位,因此量化模塊采用8數據輸入,每2個時鐘輸出一個4×4塊的量化結果。反量化模塊也是采用8數據輸入,且每2個時鐘輸出一個4×4塊的反量化結果。

        3 時序分析及硬件調試驗證
        該結構設計全部采用VHDL編寫程序,使用ISE環境下的XST進行綜合,綜合頻率達到112 MHz。該設計采用的是Xilinx公司生產的XC2V1500,并使用在線邏輯分析儀Chipscope來觀察量化輸出數據 (quant_out_i)和反變換后的殘差輸出數據(inv_dct_i);圖3所示為反變換后的殘差輸出數據(inv_dct_i)。輸入數據采用數值相同的4×4塊,因此輸出數據也完全相同。波形顯示:每次輸出8個數據;對于一個宏塊的16個亮度4×4塊進行處理時,可在45個時鐘內完成變換量化 (包括AC/DC)用于編碼,在91個時鐘內完成變換量化反變換反量化一系列操作得到用于重建的殘差,在236個時鐘內完成對一個宏塊的殘差數據從輸入到反變換輸出重建值的完整過程。

        4 結 語
        提出的這種H.變換量化結構完全基于實現,每一個時鐘輸出8個數據,每2個時鐘得出對一個4×4塊處理的最終結果。一方面采用流水線操作,對16個數據并行處理提高了數據的處理速度,另一方面分時復用技術又在一定程度上節省了硬件資源。相比文獻中只實現了部分功能,本文實現了從殘差輸入經變換量化、反變換反量化得到用于重建的殘差值這一系列完整的操作,并保證了在一定的數據處理速度下對資源的優化處理,適合用于H..編碼器硬件加速。


        上一頁 1 2 下一頁

        關鍵詞: FPGA 264 性能 變換

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西乡县| 陵水| 澄江县| 大荔县| 云安县| 辛集市| 美姑县| 西安市| 江孜县| 平陆县| 沈阳市| 赞皇县| 合肥市| 陆河县| 新蔡县| 巨野县| 石台县| 汝阳县| 宁海县| 新闻| 广河县| 武穴市| 西峡县| 乾安县| 蓝田县| 获嘉县| 景东| 靖西县| 河间市| 仁寿县| 岳西县| 隆昌县| 和政县| 陵川县| 宁津县| 当阳市| 咸宁市| 习水县| 浪卡子县| 永州市| 桂阳县|