一種基于FPGA高性能H.264變換量化結(jié)構(gòu)設計-設計應用_第1頁
一種基于FPGA高性能H.264變換量化結(jié)構(gòu)設計-設計應用_第2頁
一種基于FPGA高性能H.264變換量化結(jié)構(gòu)設計-設計應用_第3頁
一種基于FPGA高性能H.264變換量化結(jié)構(gòu)設計-設計應用_第4頁
一種基于FPGA高性能H.264變換量化結(jié)構(gòu)設計-設計應用_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯一種基于FPGA高性能H.264變換量化結(jié)構(gòu)設計-設計應用摘要:H.264作為的視頻編碼標準具有很高的壓縮性能,對它的研究具有重要的意義。根據(jù)H.264的變換量化算法設計一種基于FPGA的高性能變換量化處理結(jié)構(gòu),該結(jié)構(gòu)采用流水線操作和分時復用技術(shù)。結(jié)果顯示,該設計既節(jié)省了資源,又保證了效率;能夠同時處理整個4×4塊的全部16個殘差輸入數(shù)據(jù),并在236個時鐘內(nèi)完成對1個宏塊的殘差數(shù)據(jù)從輸入到反變換輸出重建值的完整變換量化過程。它的處理速度和性能大大提高,可用于硬件加速。

0引言

H.264高效的編碼效率是以其高復雜性為代價的,因此制約了它在高分辨率、實時處理等方面的應用。而FPGA器件采用流水控制策略和并行處理方式,可為H.264復雜的編碼模塊提供硬件加速引擎。變換量化模塊在H.264編碼算法中被頻繁調(diào)用。因此研究在盡量合理控制其資源消耗的前提下,提高變換量化模塊的工作頻率及處理數(shù)據(jù)的吞吐量,并完成變換量化一系列完整功能的變換量化結(jié)構(gòu)具有重要的實際意義,也成為當前研究的首要問題。H.264.變換是基于DCT的,其全部采用整數(shù)DCT變換,這樣就避免了正變換和反變換的失配問題,既不丟失解碼精度,也適合于FPGA硬件實現(xiàn)。

1算法原理及分析

1.1變換算法及分析

H.264變換是整數(shù)DCT變換,該算法實現(xiàn)了編碼端和解碼端反變換之間的零匹配,從而減少了解碼精度的丟失。通常H.264變換編碼以4×4塊為單位,變換矩陣如下:

當變換矩陣中a=1時,為DCT正向變換矩陣Cf,;若將DCT正向變換矩陣Cf,中所有的2變?yōu)?,并保持所有符號不變,則變成Hadamard變換矩陣Hi;若將以上矩陣中所有的2變?yōu)?,并使a=1/2,保持所有符號不變,則為DCT反向變換矩陣CTi。

1.2量化算法及分析

H.264的分級標量量化器支持多達52個量化步長QSTep,用量化參數(shù)QP進行索引。范圍廣闊的量化步長能夠靈活準確地控制比特速率和質(zhì)量之間的平衡。

在整數(shù)算法中,量化過程可以用以下運算來實現(xiàn):

式中:W為殘差系數(shù);表示二進制右移;幀內(nèi)塊和幀間塊f分別為2qbits/3,2qbits/6;MF為乘法因子,其值可根據(jù)W(i,j)在矩陣中不同的位置和量化參數(shù)QP的不同,查乘法因子表得到。

系數(shù)z的反量化方式如下:

式中:尺度因子V可根據(jù)Z(i,j)在矩陣中不同的位置和量化參數(shù)QP的不同,查尺度因子表得到。

2FPGA硬件設計及實現(xiàn)

2.1變換量化硬件整體結(jié)構(gòu)

在H.264編碼器中經(jīng)過預測后得到的殘差數(shù)據(jù)經(jīng)過變換T、量化Q后的數(shù)據(jù)分為兩路:一路經(jīng)過重排序Recoder后用于熵編碼;另一路為重建通路,經(jīng)過反量化Q-1、反變換T-1后與預測值P相加得到重建值,用于后面的宏塊的預測編碼。

H.264編碼標準中,在幀內(nèi)預測方式下,首先對16×16宏塊(亮度分量)的1*×4塊進行DCT變換,然后提取出DC系數(shù)組成一個4×4DC塊;對于這個4×4Dc塊要先進行Hadamard變換,然后量化。在重建通路中需要注意:對于4×4DC塊,要先進行反Hadamard變換,再進行反量化,目的是使反變換的動態(tài)范圍;再依據(jù)這個4×4DC塊中16個數(shù)值對反量化后的16×16宏塊進行反DCT變換。對于色度分量的DC系數(shù)也是一樣需要經(jīng)過進一步變換。H.264變換量化整體結(jié)構(gòu)主要分為4大模塊,其框圖如圖1所示。

結(jié)構(gòu)框圖中DC_reg是一組用于存儲所有的DC系數(shù)值的寄存器,使用兩個同步FIFO存儲反量化后的AC系數(shù),等待DC系數(shù)反變換反量化完畢以后,再一起送人的反DCT變換模塊中進行處理。兩個同步FIFO在時鐘控制下先后進行寫操作,其中一個存儲4×4塊反量化輸出的其中兩行數(shù)據(jù),另一個在下一時鐘存儲這個4×4塊反量化輸出的另兩行數(shù)據(jù)。讀取時,則同時對兩個FIFO進行讀操作,即一個時鐘內(nèi)這個4×4塊的反量化后的全部16個數(shù)值同時出現(xiàn)在反變換模塊的輸入端。

2.2變換模塊(DCT/Hadamard變換)及反變換模塊

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

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

由前述的變換算法分析可知,Hadamard變換和DCT變換的變換矩陣只存在是否乘以2的差別,因此將式(5)和(7)中的cr換成Hi,且2變?yōu)?,由此可得到Hadamard變換。

在實際的硬件電路中,乘以2和除以2的操作都可以通過移位來實現(xiàn)。此外,DCT正向變換與Hadamard變換在整個變換過程中不是同時進行操作,因此將DCT正向變換與Hadamard變換結(jié)合到一起,并分時復用,以是否乘2來區(qū)分當前是哪種變換。同時采用16個殘差數(shù)據(jù)同時輸入,輸出8位變換數(shù)據(jù),每2個時鐘輸出一個4×4塊的變換結(jié)果。這樣既充分利用了硬件資源,又能性處理一個4×4殘差塊的全部16個數(shù)據(jù),確保了效率。DCT變換和Hadamard變換的變換均可用快速蝶形算法實現(xiàn),如圖2所示。

對iDCT反向變換和iHadamard反變換的變換進行分析,原理與上述相似。

2.3量化及反量化模塊設計

整個量化及反量化模塊全部采用乘法器、加法器和移位操作來實現(xiàn),并采用FPGA內(nèi)部的兩個ROM來分別存放正反量化的乘法因子MF和尺度因子V。

由于變換模塊輸出是8位,因此量化模塊采用8數(shù)據(jù)輸入,每2個時鐘輸出一個4×4塊的量化結(jié)果。反量化模塊也是采用8數(shù)據(jù)輸入,且每2個時鐘輸出一個4×4塊的反量化結(jié)果。

3時序分析及硬件調(diào)試驗證

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

4結(jié)語

提出的這種H.264變換量化結(jié)構(gòu)完全基于FPGA實現(xiàn),每一個時鐘輸出8個數(shù)據(jù),每2個時鐘得出對一個4×4塊處理的終結(jié)果。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論