• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
     首頁 > 新聞 > 專家觀點 >

    H.264/AVC視頻編碼變換量化核的硬件設(shè)計

    2012-01-17 00:00:00   作者:   來源:   評論:0  點擊:



      摘要:基于H.264/AVC視頻編碼標(biāo)準(zhǔn),完成了編碼模塊中的4×4整數(shù)變換量化核的分析和硬件實現(xiàn)的優(yōu)化設(shè)計。通過三種優(yōu)化設(shè)計處理后,在硬件開銷改變不大的情況下,使4×4整數(shù)變換量化核的最高工作頻率相比優(yōu)化前的30.7MHz提高了82%,達(dá)到55.8MHz,為H.264/AVC視頻編碼標(biāo)準(zhǔn)的硬件實現(xiàn)提供了參考。
      隨著數(shù)字化視頻技術(shù)在視頻電話、視頻會議、DVD以及高清晰度數(shù)字電視等方面的應(yīng)用,視頻壓縮標(biāo)準(zhǔn)也隨之不斷發(fā)展。ITU-T制定的H.26x系列和ISO/IEC制定的MPEG-x系列,是視頻領(lǐng)域中兩大獨(dú)立的主流視頻壓縮標(biāo)準(zhǔn)。2003年,這些組織又聯(lián)合推出新的視頻壓縮標(biāo)準(zhǔn)H.264/MPEG-4 -10AVC,簡稱H.264/AVC。H.264/AVC采用一系列新的壓縮方法[1],可獲得更好的壓縮效果,其壓縮率達(dá)到以往標(biāo)準(zhǔn)的1.5~2倍[2]。因此,基于這一標(biāo)準(zhǔn)的相關(guān)研究和硬件實現(xiàn)具有重要的意義。視頻壓縮硬件實現(xiàn)的關(guān)鍵是編解碼模塊,其中尤以編碼模塊最為核心。本文主要研究編碼模塊中的4×4整數(shù)變換量化核,提出硬件實現(xiàn)的優(yōu)化方法,并采用Verilog HDL語言進(jìn)行硬件設(shè)計和綜合。
      14×4整數(shù)變換量化核的原理
      在以前的視頻編碼標(biāo)準(zhǔn)如MPEG-2和H.263中,對于預(yù)測的殘差數(shù)據(jù)都是采用8×8離散余弦變換(DCT)[1]作為變換的基本運(yùn)算操作;而在H.264/AVC編碼標(biāo)準(zhǔn)中,則采用類似DCT變換形式的基于4×4像素塊的整數(shù)變換。由于變換塊的尺寸縮小,運(yùn)動物體的劃分更精確,而且運(yùn)動物體邊緣處的銜接誤差大為減小。
      對于整數(shù)變換方式,4×4像素塊的變換公式[3]為:
    \

      式中,(CXCT)是二維變換核,Ef是縮放因子矩陣,符號表示CXCT矩陣?yán)锏拿總元素和Ef矩陣中相同位置的元素相乘,a=1/2,b=
    \
    為了更有效地壓縮數(shù)據(jù),需要利用量化的方法對變換后的數(shù)據(jù)進(jìn)行有損壓縮。同時,由于整數(shù)變換需要利用矩陣行向量的歸一化因子進(jìn)行系數(shù)縮放處理,為降低變換的運(yùn)算量,在H.264/AVC標(biāo)準(zhǔn)中將變換的系數(shù)縮放并進(jìn)行量化運(yùn)算處理,避免了復(fù)雜的實數(shù)運(yùn)算和除法運(yùn)算,更有利于硬件的實現(xiàn)。
      對于量化方式,正向量化運(yùn)算可由如下公式[3]實現(xiàn):
    \

      式中,Zij為量化后的系數(shù);Wij為變換矩陣W=CXCT中的元素;MF=
    \
    ·2q,PF稱為縮放系數(shù),根據(jù)元素在陣列塊中的不同位置,其取值如表1所示,Qstep為量化步長,由0至51共52個量化參數(shù)QP決定,QP增加1,Qstep增加12.5%;q=15+QP/6,QP/6取整數(shù);對于幀內(nèi)宏塊f取2q/3,幀間宏塊f取2q/6。需要指出的是,MF的值可根據(jù)PF和QP的取值經(jīng)簡單計算得到,并可形成表格,通過查表方式便可實現(xiàn)硬件運(yùn)算,并有效地提高了運(yùn)算速度。
    \

      24×4整數(shù)變換量化核的優(yōu)化設(shè)計
      為進(jìn)一步提高硬件運(yùn)算速度,減少硬件開銷,設(shè)計中采用了如下優(yōu)化方法:
      (1)在求取變換陣W=CXCT時,根據(jù)變換的對稱性,將X的列變換(矩陣左乘)與行變換(矩陣右乘)分開實現(xiàn),把二維變換分割為兩次一維變換,并采用快速堞形算法[4]來實現(xiàn)。一維變換的快速算法實現(xiàn)如圖1所示,其中的列變換可用如下算式表示:
    \

      (2)針對不同運(yùn)算的位寬需要,設(shè)計專用的加法器和乘法器。本文對整數(shù)變換中的加法器采用三級流水線加法器,實現(xiàn)9位加法,每級流水線完成三位超前進(jìn)位加法,將邏輯延遲限制在三位加法器之內(nèi)。圖2給出了9位加法器的流水線實現(xiàn)框圖。選用EPF10K10LC84-3作為適配器件,經(jīng)過Synplify Pro 7.3綜合,結(jié)果表明這種加法器具有較優(yōu)的最高工作頻率和硬件開銷。如表2所示, 常規(guī)加法器的最高工作頻率為37.0MHz,消耗資源卻為28LC,而經(jīng)過優(yōu)化的三級流水線加法器在消耗資源增加不多的情況下,其最高工作頻率相比常規(guī)加法器提高了257%,達(dá)到94.5MHz。
    \


      (3)對于f的計算,在不影響運(yùn)算精度的情況下本文采用近似處理。為了避免除法運(yùn)算,將f的計算式變形,即:
      f=2q/3=(215/3)×2m≈[(215+1)/3]×2m≈10923×2m
      式中, m取值為0~8,具體由相應(yīng)的QP給出。由于f在完成加法運(yùn)算后其結(jié)果還需左移q位,所以計算精度不會受影響。這樣,對f的計算只需進(jìn)行移位操作。
      34×4整數(shù)變換量化核硬件實現(xiàn)
      基于上述算法原理及其設(shè)計,本文首先對4×4整數(shù)變換量化模塊進(jìn)行C語言編程,驗證了該模塊所采用算法的正確性。然后采用Verilog HDL語言描述4×4整數(shù)變換和量化核(幀內(nèi)模式)的硬件功能,并通過仿真軟件Modelsim SE 5.7進(jìn)行功能仿真,驗證了該模塊輸出結(jié)果與設(shè)計要求相一致。最后采用Synplify Pro7.3綜合工具,并以Altera公司的Stratix系列FPGA作為主要目標(biāo)適配器件進(jìn)行綜合。
      4×4整數(shù)變換量化核的二大子模塊的綜合結(jié)果如表3所示,表中同時給出經(jīng)本文優(yōu)化設(shè)計前后的綜合結(jié)果作為對比。可見,經(jīng)本文采用的三種優(yōu)化設(shè)計處理后,在硬件開銷改變不大情況下,變換子模塊的最高工作頻率達(dá)到59.4MHz,是未優(yōu)化前的1.73倍,而量化子模塊的最高工作頻率達(dá)到55.8MHz,是未優(yōu)化前的1.82倍。4×4整數(shù)變換量化核的最高工作頻率取各子模塊的最低頻率,這樣其優(yōu)化后的最高工作頻率是55.8MHz,相比優(yōu)化前的30.7MHz提高了82%。
    \

      本文對H.264/AVC協(xié)議中的4×4整數(shù)變換量化核從算法原理到硬件實現(xiàn)進(jìn)行了分析和設(shè)計。采用自頂向下的Verilog HDL設(shè)計流程,實現(xiàn)了4×4整數(shù)變換量化核硬件功能的優(yōu)化設(shè)計,模塊的最高工作頻率提高了82%,為H.264/AVC視頻編碼標(biāo)準(zhǔn)的硬件實現(xiàn)提供了參考。

    《電子技術(shù)應(yīng)用》

    相關(guān)閱讀:

    分享到: 收藏

    專題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 久治县| 哈密市| 甘洛县| 香格里拉县| 灌云县| 天峻县| 花莲县| 普安县| 呼玛县| 佛坪县| 沁源县| 延川县| 玛纳斯县| 贵州省| 长泰县| 明水县| 双城市| 绥棱县| 遂宁市| 沽源县| 福清市| 若尔盖县| 澎湖县| 天等县| 安阳市| 茌平县| 景谷| 古田县| 苏尼特左旗| 镇平县| 苗栗市| 恩平市| 同心县| 比如县| 四子王旗| 壤塘县| 喀喇沁旗| 延川县| 大化| 政和县| 循化| http://444 http://444 http://444 http://444 http://444 http://444