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

2020-12-08 電子產品世界

摘 要:H.264作為最新的視頻編碼標準具有很高的壓縮性能,對它的研究具有重要的意義。根據H.264變換量化算法設計一種基於FPGA的高性能變換量化處理結構,該結構採用流水線操作和分時復用技術。結果顯示,該設計既節省了資源,又保證了效率;能夠同時處理整個4× 4塊的全部16個殘差輸入數據,並在236個時鐘內完成對1個宏塊的殘差數據從輸入到反變換輸出重建值的完整變換量化過程。它的處理速度和性能大大提高,可用於硬體加速。
關鍵詞:H.264;變換;量化;FPGA

本文引用地址:http://www.eepw.com.cn/article/192007.htm


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

1 算法原理及分析
1.1 變換算法及分析
H.264變換是整數DCT變換,該算法實現了編碼端和解碼端反變換之間的零匹配,從而減少了解碼精度的丟失。通常H.264變換編碼以4×4塊為單位,核心變換矩陣如下:


當核心變換矩陣中a=1時,為DCT正向變換矩陣Cf,;若將DCT正向變換矩陣Cf,中所有的2變為1,並保持所有符號不變,則變成Hadamard變換矩陣Hi;若將以上矩陣中所有的2變為1,並使a=1/2,保持所有符號不變,則為DCT反向變換矩陣CTi。
1.2 量化算法及分析
H.264的分級標量量化器支持多達52個量化步長Qstep,用量化參數QP進行索引。範圍廣闊的量化步長能夠靈活準確地控制比特速率和質量之間的平衡。
在整數算法中,量化過程可以用以下運算來實現:


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


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

2 FPGA硬體設計及實現
2.1 變換量化硬體整體結構
在H.264編碼器中經過預測後得到的殘差數據經過變換T、量化Q後的數據分為兩路:一路經過重排序Recoder後用於熵編碼;另一路為重建通路,經過反量化Q-1、反變換T-1後與預測值P相加得到重建值,用於後面的宏塊的預測編碼。
H.264編碼標準中,在幀內預測方式下,首先對16×16宏塊(亮度分量)的16個4×4塊進行DCT變換,然後提取出DC係數組成一個4×4 DC塊;對於這個4×4 Dc塊要先進行Hadamard變換,然後量化。在重建通路中需要注意:對於4×4 DC塊,要先進行反Hadamard變換,再進行反量化,目的是使反變換的動態範圍最大;再依據這個4×4 DC塊中16個數值對反量化後的16×16宏塊進行反DCT變換。對於色度分量的DC係數也是一樣需要經過進一步變換。H.264變換量化整體結構主要分為4大模塊,其框圖如圖1所示。

結構框圖中DC_reg是一組用於存儲所有的DC係數值的寄存器,使用兩個同步FIFO存儲反量化後的AC係數,等待DC係數反變換反量化完畢以後,再一起送人最後的反DCT變換模塊中進行處理。兩個同步FIFO在時鐘控制下先後進行寫操作,其中一個存儲4×4塊反量化輸出的其中兩行數據,另一個在下一時鐘存儲這個4×4塊反量化輸出的另兩行數據。讀取時,則同時對兩個FIFO進行讀操作,即一個時鐘內這個4×4塊的反量化後的全部16個數值同時出現在反變換模塊的輸入端。


相關焦點

  • 基於DSP和FPGA的機器人聲控系統設計與實現
    系統硬體分為語音信號的採集和播放,基於dsp的語音識別,fpga動作指令控制、步進電機及其驅動、dsp外接快閃記憶體晶片,jtag口仿真調試和鍵盤控制幾個部分。工作流程是麥克風將人的語音信號轉化為模擬信號,在經過音頻晶片tlv320aic23量化轉化成數位訊號輸入dsp.dsp完成識別後,輸出動作指令。 fpga根據dsp輸入的動作指令產生正確的正反轉信號和準確的脈衝給步進電機驅動晶片,驅動晶片提供步進電機的驅動信號,控制步進電機的轉動。片外flash用於存儲系統程序和語音庫並完成系統的上電加載。
  • 基於fpga二維小波變換核的實時可重構電路
    項目背景及可行性分析本文引用地址:http://www.eepw.com.cn/article/266432.htm  2.1 項目名稱及摘要:  基於fpga二維小波變換核的實時可重構電路  現場可編程門陣列為可進化設計提供了一個理想的模板
  • 基於FPGA的24點離散傅立葉變換結構設計
    摘要 基於Good—Thomas映射算法和ISE快速傅立葉變換IP核,設計了一種易於FPGA實現的24點離散傅立葉變換,所設計的24點DFT模塊採用流水線結構,主要由3個8點FFT模塊和1個3點DFT模塊級聯而成,並且兩級運算之間不需要旋轉因子,整個DFT
  • 一種基於FPGA的全光纖電流互感器控制電路設計
    相比之下,光纖電流互感器具有抗電磁幹擾能力強、絕緣可靠、測量精度高、結構簡單和體積小巧等諸多優點,是當前研究熱點。作為光纖電流互感器的核心部件,其檢測和控制電路對電流檢測精度和範圍具有非常重要的影響。光纖傳感頭將攜帶有相位差信息的光信號輸入到光電探測器(相位差與光電探測器輸出信號幅度成正比),光電探測器輸出的電壓信號首先進行隔直處理,再經過放大和濾波後,經A/D(模數轉換器)轉換為數位訊號,然後送入基於FPGA的數位訊號處理單元。
  • 基於FPGA高精度浮點運算器的FFT設計與仿真
    摘要 基於IEEE浮點表示格式及FFT算法,提出一種基2FFT的FPGA方法,完成了基於FPGA高精度浮點運算器的FFT的設計。利用VHDL語言描述了蝶形運算過程及地址產生單元,其仿真波形基本能正確的表示輸出結果。
  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    摘要 FIR濾波器的設計分為濾波器係數計算和濾波器結構的具體兩個部分。1 FIR的特點有限長單位衝激響應(FIR)濾波器的特點:(1)系統的單位衝激響應h(n)在有限個n值處不為零。(2)系統函數H(z)在|z|>0處收斂,極點全部在z=0處。(3)結構上主要是非遞歸結構,沒有輸出到輸入的反饋,但有些結構中也包含有反饋的遞歸部分。
  • 基於FPGA的高速卷積硬體設計及實現
    本文從實際工程應用出發,使用快速傅立葉變換(FFT)技術,探討卷積的高速硬體實現方法。本文引用地址:http://www.eepw.com.cn/article/148300.htm1 卷積算法的原理設線性時不變系統的衝激響應為h(n),則衝激響應和輸入δ(n)之間有關係
  • 基於Spartan-6 FPGA的Sinc3 Filter設計
    Sinc3濾波器的基本原理本文引用地址:http://www.eepw.com.cn/article/129009.htm  Σ-Δ ADC利用過採樣的方法將量化噪聲搬移到高頻段,後端再使用數字抽取濾波器將高頻噪聲濾除
  • 基於FPGA的無損圖像壓縮系統設計
    另外,離散小波變換(DWT)算法也常被用來放鬆對開環視頻編碼系統存儲空間和帶寬的要求。但是,這些算法大多對數據具有嚴重的依賴性並且編碼步驟較為複雜,因此限制了其在高速產品中的應用。快速高效無損圖像壓縮系統(FELICS)於1993年由P.G.howard提出[4],這是一種以編碼效率見長的無損圖像壓縮算法,並且編碼時對數據沒有依賴性,因此能應用在高速壓縮系統中[5-6]。幾種壓縮算法的壓縮比和壓縮時間對比如圖1所示,可以看出FELICS算法壓縮比適中,但壓縮效率的優勢較為明顯。
  • 基於FPGA的RCN226絕對式編碼器通信接口設計
    0 引言 光電碼盤是一種基本的位置、速度檢測反饋單元,非常廣泛地應用於變頻器、直流伺服、交流伺服等系統的閉環控制中。目前國內外高端交流伺服系統中普遍採用FPGA+DSP結構。DSP用來實現矢量變換和其它算法流程;FPGA用以實現解碼、A、B、 Z信號輸出、I/O擴展等功能,FPGA中尚有很多資源沒有得到充分利用。
  • 一種近距雷達目標檢測信號處理的FPGA實現
    將FPGA技術應用於近距雷達系統設計,構造高性能的數位訊號處理機,同時可以提高系統集成度,減小電路規模,從而提高可靠性。為獲得回波信號的功率譜數據,需要將FFT計算所得的迪卡爾坐標系下的複數形式變換到極坐標系下的模值和相角表示形式,也就是作複數求模運算。基於線性逼近的近似求模算法適合近距雷達這種實時性要求極高、運算精度要求適中的應用場合。
  • 基於FPGA的高效FIR濾波器設計與實現
    摘要: 給出了一種基於FPGA的數字濾波器的設計方法。該方法先通過MATLAB設計出一個具有具體指標的FIR濾波器, 再對濾波器係數進行處理, 使之便於在FPGA中實現, 然後採用基於分布式算法和CSD編碼的濾波器結構進行設計, 從而避免了乘法運算, 節約了硬體資源,其流水線的設計方式也提高了運行速度。Matlab和Modelsim仿真表明, 該設計功能正確, 能實現快速濾波。
  • 一種基於小波變換的新型壓縮編碼模型
    摘要: 本文針對基於內嵌編碼思想的嵌入式零樹編碼方案,並結合當前壓縮編碼方面的理論成果,提出了一種新的編碼模型,並進行了仿真實驗。實驗結果表明,所設計的編碼算法在信噪比和壓縮比方面都取得了良好的效果。引言信息是現代社會的主要特徵,而人們傳遞信息的重要媒介是圖像。
  • 基於FPGA實現多種小波變換
    引 言 基於提升框架的小波變換方法,利用FPGA 可編程特性可實現多種小波變換。提升框架(LS :Lifting Scheme) 是由Sweldens 等人在近幾年提出的一種小波變換方法,用它的框架結構能有效地計算DWT。對於較長的濾波器,LS 的操作次數比濾波器組的操作方式減少將近一半,更適合硬體實現。作者根據提升小波變換的框架式結構,利用FPGA 可完全重構的特點構造不同的小波變換核,以滿足不同應用場合的要求。
  • 基於FPGA IP核的FFT實現
    1 算法原理 FFT算法是基於離散傅立葉變換(DFT),如式(1)和式(2):本文引用地址:http://www.eepw.com.cn/article/188835.htm 算法的核心操作是蝶型運算,蝶型運算的速度直接影響著整個設計的速度。 基4頻域抽取FFT算法是指把輸出序列X(k)按其除4的餘數不同來分解為越來越短的序列,實現x(n)的DFT算法。
  • 基於FPGA的巴特沃茲IIR數字帶通濾波器設計
    本文以巴特沃思數字帶通濾波器為例,較為詳細地介紹了其設計和實現方法。給定巴特沃茲數字帶通濾波器的抽樣頻率為500Hz,上、下邊帶截止頻率分別為150Hz和30Hz.2.濾波器的系統模型雙線性變換法是在低通濾波器的基礎上採用頻率變換法把低通濾波器轉換成所需要濾波器的。據此方法,我們得到如下濾波器的系統模型:
  • 一種基於FPGA實現SRRC濾波及多速率變換模塊的方法介紹
    本文基於FPGA設計一種多速率變換器提高信號的採樣率,實現任意倍數的符號率變換(本文主要實現了上採樣變換,下採樣實現方法相同)。採用SRRC濾波與半帶(Half-band,HB)濾波器、級聯積分梳狀(Cascade Integrator Comb,CIC)濾波器、Farrow濾波級聯進行上採樣,實現平方根升餘弦濾波及信號任意倍數的上變頻處理。
  • 一種基於FPGA的實時紅外圖像預處理方法
    針對這一問題,提出一種基於FPGA的實時紅外圖像預處理方法。該方法採用了流水線技術來並行完成非均勻校正、空間濾波、直方圖統計等多個紅外圖像預處理算法,對系統結構進行了改進和優化。經過實驗測試驗證,該方法合理可行,能夠實時高效地完成紅外圖像預處理任務。與DSP圖像預處理系統相比可以節約將近50%的處理時間。
  • 基於FPGA的伺服驅動器分周比設計與實現
    為此提出一種基於FPGA的整數分周比實現方法。該方法邏輯結構簡單,配置靈活,易於擴展,具有很高的實用價值。  1 電子齒輪比與分周比  電子齒輪比與分周比是數控工具機和數控加工中心中一個很重要的概念。配合使用電子齒輪比和分周比功能,用戶可以方便地實現整數脈衝當量,從而避免中間計算出現量化誤差,在不修改G代碼的情況下,將代碼直接移植到配備不同電機編碼器線數或者不同螺距絲槓的工具機或者加工中心。  電子齒輪比和分周比可以按照下式計算求得。
  • 基於FPGA 的多用途提升小波變換核
    引 言本文引用地址:http://www.eepw.com.cn/article/189802.htm基於提升框架的小波變換方法,利用FPGA 可編程特性可實現多種小波變換。