亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        HEVC標(biāo)準(zhǔn)中整數(shù)變換的FPGA實(shí)現(xiàn)

        2014-09-18 00:16:16普建龍吳景東
        電視技術(shù) 2014年19期
        關(guān)鍵詞:移位時(shí)鐘運(yùn)算

        普建龍,吳景東

        (福州大學(xué)工業(yè)控制研究所,福建福州350108)

        2010年,由ITU-T和ISO/IEC的專(zhuān)家聯(lián)合成立的JCT-VC(Joint Collaborative Team-Video Coding)開(kāi)始著手于下一代視頻壓縮標(biāo)準(zhǔn)HEVC的研發(fā)[1]。HEVC目標(biāo)是在H.264/AVC擴(kuò)展檔次的基礎(chǔ)上,提高50%的壓縮率,然而其計(jì)算量和復(fù)雜度也大大增加[2],非常不利于其在硬件上的實(shí)施。

        HEVC標(biāo)準(zhǔn)于2013年1月發(fā)布,有關(guān)HEVC中整數(shù)DCT在FPGA上實(shí)現(xiàn)的研究還比較少。Belghith和Park在文獻(xiàn)[3-4]中設(shè)計(jì)的結(jié)構(gòu)只能支持部分TU塊,其MCM單元沒(méi)有采用任何優(yōu)化方法。這兩種架構(gòu)的時(shí)延也較大,不利于高清視頻的實(shí)時(shí)處理。Shen在文獻(xiàn)[5]中為IDCT(Inverse DCT)設(shè)計(jì)了能適應(yīng)各種TU塊的結(jié)構(gòu),但每個(gè)周期只能處理4個(gè)樣本點(diǎn)。其復(fù)用了同一個(gè)1-D IDCT結(jié)構(gòu),時(shí)延變大。對(duì)大TU塊,該結(jié)構(gòu)直接使用乘法操作,功耗大。Meher在文獻(xiàn)[6]中設(shè)計(jì)的結(jié)構(gòu)將數(shù)據(jù)都進(jìn)行了裁減,準(zhǔn)確性下降,容易出現(xiàn)數(shù)據(jù)漂移現(xiàn)象。劉毅在文獻(xiàn)[7]中的設(shè)計(jì),支持非方形的TU塊,而這已經(jīng)被最新的標(biāo)準(zhǔn)去除了。

        為了克服上述缺點(diǎn),本文提出了一種能自適應(yīng)各種TU塊的硬件架構(gòu),去除了原MCM中的常規(guī)乘法,并最大限度地找出復(fù)用單元,節(jié)省硬件資源。同時(shí),按照HEVC標(biāo)準(zhǔn)[8]要求,最大限度地保證數(shù)據(jù)的準(zhǔn)確性。實(shí)驗(yàn)表明,該結(jié)構(gòu)每個(gè)周期能處理32個(gè)樣本,最大時(shí)延只有32個(gè)時(shí)鐘周期,在184 MHz的時(shí)鐘頻率下,能實(shí)時(shí)處理60 f/s(幀/秒)、采樣率為4∶2∶0的UHD視頻序列。

        1 硬件架構(gòu)總體設(shè)計(jì)

        整個(gè)算法采用6個(gè)模塊,如圖1所示。圖中,粗箭頭表示數(shù)據(jù)的流向,細(xì)箭頭表示控制信號(hào),復(fù)位和時(shí)鐘信號(hào)在此省略。下面對(duì)各個(gè)模塊進(jìn)行簡(jiǎn)要介紹。

        圖1 硬件架構(gòu)的總體設(shè)計(jì)

        Control模塊產(chǎn)生控制信號(hào),控制整個(gè)流水線的進(jìn)行。TU_size設(shè)置為0~3,分別標(biāo)記本次運(yùn)算時(shí)TU的大小(4×4~32×32)。同時(shí)用TU_size來(lái)設(shè)置enable1控制信號(hào)(包括 enable1_8,enable1_16,enable1_32),以選擇DCT_1中用于當(dāng)前TU塊的運(yùn)算單元。mode記錄上一個(gè)參與運(yùn)算的TU塊的大小,并設(shè)置enable2控制信號(hào)(包括 enable2_8,enable2_16,enable2_32),選擇 DCT_2中的運(yùn)算單元。require表示當(dāng)前TU塊中的數(shù)據(jù)全部計(jì)算完畢,可以重新設(shè)置TU_size并輸入一組新的數(shù)據(jù)。在Control單元中,還有兩個(gè)標(biāo)記信號(hào):flag和flag_permission。flag由TU_size和mode中較大的數(shù)據(jù)決定,用于標(biāo)記計(jì)算本TU塊所需要的周期。flag_permission控制本TU計(jì)算過(guò)程中,有多少次數(shù)據(jù)是有效的,無(wú)效的數(shù)據(jù)用0填充。h_v信號(hào)控制轉(zhuǎn)置模塊是按照行還是按列存儲(chǔ)。cnt則用來(lái)記錄正在處理的數(shù)據(jù)將存放在第幾行或者第幾列。

        PN_1和PN_2分別對(duì)DCT_1和DCT_2模塊輸出的數(shù)據(jù)進(jìn)行整理。當(dāng)計(jì)算的TU塊為4×4時(shí),PN_1和PN_2的輸出數(shù)據(jù)p_out0~3分別等于DCT_1和DCT_2輸出數(shù)據(jù)中的y0,y8,y16,y24,其他輸出數(shù)據(jù)都設(shè)為0。當(dāng) TU 塊為8×8時(shí),p_out0~7 對(duì)應(yīng)y0,y4,y8,y12,y16,y20,y24,y28,其他的也都是0。對(duì)于16×16和32×32的TU塊,PN_1和PN_2的輸入輸出方法也符合類(lèi)似規(guī)律。

        DCT_1,DCT_2和Transpose是本文的主要研究工作,將在下文詳細(xì)介紹。

        2 DCT模塊設(shè)計(jì)

        類(lèi)似于H.264/AVC,HEVC采用了整數(shù)DCT,在簡(jiǎn)化運(yùn)算的同時(shí),避免了視頻圖像的漂移現(xiàn)象。HEVC具有靈活的塊結(jié)構(gòu),能準(zhǔn)確適應(yīng)各種分辨率的視頻序列。TU塊是變換的基本單元,目前支持4×4,8×8,16×16和32×32四種大?。?]。較大的塊能更有效地處理高清視頻中相對(duì)平滑的區(qū)域。

        HEVC中2-D(1-Dimensional)DCT也可以轉(zhuǎn)換為兩個(gè)1-D DCT來(lái)計(jì)算。1-D DCT模塊對(duì)應(yīng)圖1中DCT_1和DCT_2。其區(qū)別在于輸入數(shù)據(jù)的位數(shù)。DCT_1的輸入數(shù)據(jù)為9位,即預(yù)測(cè)圖像與原圖像的殘差數(shù)據(jù),DCT_2的輸入數(shù)據(jù)為16位,是經(jīng)過(guò)了1-D DCT之后的數(shù)據(jù)。數(shù)據(jù)在1-D DCT運(yùn)算的過(guò)程中需要裁減,以保證輸出的數(shù)據(jù)是16位。16位的數(shù)據(jù)既保持了數(shù)據(jù)的準(zhǔn)確度,又能保證Transpose模塊大小適中[1]。

        2.1 DCT總體結(jié)構(gòu)

        圖2詳細(xì)描述了1-D DCT模塊的設(shè)計(jì)?!埃迹肌焙汀埃荆尽狈謩e表示算術(shù)左移和算術(shù)右移。B4,B8,B16,B32分別表示輸入 Transform4×4,Transform8×8,Transform16×16,Transform32×32單元的數(shù)據(jù)的位數(shù),不包括符號(hào)位。這些參數(shù)的使用,不僅簡(jiǎn)化了設(shè)計(jì)過(guò)程(DCT_1模塊通過(guò)簡(jiǎn)單的參數(shù)配置就能用于DCT_2模塊),而且能保證被處理數(shù)據(jù)的準(zhǔn)確性。圖中有3個(gè)enable信號(hào)(包括enable8,enable16和enable32),由TU塊的大小決定其取值,分別控制 Transform8×8,Transform16×16和Transform32×32三個(gè)單元的輸入數(shù)據(jù)。如果enable信號(hào)為1,則對(duì)應(yīng)單元選擇蝶形加法器,否則使用移位器。由于任何大小的TU塊在變換時(shí)都會(huì)調(diào)用Transform4×4單元,故該單元無(wú)需enable信號(hào)。該結(jié)構(gòu)利用了HEVC標(biāo)準(zhǔn)中變換核[8]的特性,使較大的TU塊在做變換時(shí),能復(fù)用較小TU塊的變換單元。

        圖2 DCT模塊的詳細(xì)設(shè)計(jì)

        經(jīng)過(guò)綜合后,DCT_1和DCT_2模塊中各單元所占資源如表1所示。各單元寄存器使用量為0,未在表中列出。表1中同時(shí)列舉了文獻(xiàn)[7]中的資源使用情況,其在Altera CycloneII上進(jìn)行了綜合。可以看到,本文的資源使用量明顯減少。

        表1 本結(jié)構(gòu)和文獻(xiàn)[7]中DCT模塊中各單元資源占用量

        2.2 MCM單元和加法樹(shù)

        乘法運(yùn)算在FPGA中資源占用量和能耗非常大,所以要將所有的矩陣乘法運(yùn)算換成移位和加法操作,以減少硬件資源,縮小設(shè)計(jì)面積。

        MCM算法在其他有關(guān)整數(shù)DCT的文獻(xiàn)中也有較多的應(yīng)用,下文以最復(fù)雜的單元來(lái)詳細(xì)介紹MCM單元的優(yōu)化過(guò)程。假設(shè)輸入MCM32單元的數(shù)據(jù)為M,表2中xM表示x與M的乘積。為了書(shū)寫(xiě)方便,假設(shè)移位操作的優(yōu)先級(jí)比加法操作高。

        表2 常規(guī)方法MCM32單元運(yùn)算量

        由表中數(shù)據(jù)可知,若無(wú)單元復(fù)用,該MCM32單元需要移位操作46次,加法操作37次。通過(guò)仔細(xì)分析移位和加法操作,可以發(fā)現(xiàn),該運(yùn)算中許多單元都是可以復(fù)用的。下面對(duì)該結(jié)構(gòu)進(jìn)行一些改進(jìn),用一些臨時(shí)變量保留復(fù)用單元的值,并在之后的運(yùn)算中直接使用,如表3所示,正體部分表示臨時(shí)變量。

        統(tǒng)計(jì)結(jié)果表明,經(jīng)過(guò)優(yōu)化后,MCM32單元只需進(jìn)行10次移位和14次加法操作,分別節(jié)省了78.3%和62.2%的運(yùn)算量。

        MCM單元計(jì)算出的結(jié)果,還要經(jīng)過(guò)加法樹(shù)AddTree的處理。由于兩個(gè)位數(shù)較少的數(shù)相加,綜合后得到的加法器資源消耗更少,故對(duì)上述15個(gè)數(shù)采用不同的位數(shù)來(lái)存儲(chǔ),每次計(jì)算時(shí)選擇位數(shù)較少的兩個(gè)數(shù)進(jìn)行加法操作。

        表3 改進(jìn)后MCM32單元運(yùn)算量

        3 Transpose模塊

        Transpose模塊在整個(gè)設(shè)計(jì)中至關(guān)重要,它使得DCT_1和DCT_2模塊能夠同時(shí)進(jìn)行運(yùn)算。具體實(shí)現(xiàn)時(shí),采用標(biāo)準(zhǔn)測(cè)試程序HM12.1[9]中的方法,先按列計(jì)算一維(1-D)的DCT,其結(jié)果再按行進(jìn)行第二維的DCT運(yùn)算。具體流程如圖3所示。

        圖3 Transform模塊數(shù)據(jù)處理流程

        Transpose模塊中寄存器初始化為0,并假設(shè)當(dāng)前處理的是32×32大小的TU塊。首先輸入一列數(shù)據(jù),經(jīng)過(guò)DCT_1模塊之后,將數(shù)據(jù)按列存放于Transpose模塊中,如圖3中1所示。32個(gè)時(shí)鐘周期之后,數(shù)據(jù)填滿(mǎn)Transpose模塊中的寄存器,如圖3中2所示。該階段表明當(dāng)前TU塊經(jīng)過(guò)DCT_1模塊運(yùn)算完畢,Transpose模塊中存放著用于DCT_2模塊運(yùn)算的數(shù)據(jù),并且Control模塊可以接收一組新的數(shù)據(jù)用于DCT_1模塊計(jì)算。如圖3中3所示,按行取出用于DCT_2模塊的數(shù)據(jù),新接收的數(shù)據(jù)依然按列在DCT_1中運(yùn)算,但結(jié)果按行來(lái)存儲(chǔ)。運(yùn)用脈沖觸發(fā)的特性,每次存取操作都可在一個(gè)周期內(nèi)完成。當(dāng)Transpose模塊中原來(lái)的數(shù)據(jù)被取完之后,新的TU塊經(jīng)過(guò)DCT_1模塊運(yùn)算的結(jié)果也就保存在Transpose模塊之中了,如圖3中4所示。之后重復(fù)上述操作就可以實(shí)現(xiàn)兩個(gè)DCT模塊的流水線操作。

        此處需要解決一個(gè)問(wèn)題:上述示例中,如果第2次輸入的TU塊大小為4×4,理應(yīng)只需4個(gè)時(shí)鐘周期就能完成1-D DCT運(yùn)算(在DCT_1模塊中),但是Transpose模塊中存放的32×32的矩陣,需要32個(gè)周期取出,若此時(shí)更新了TU塊,并輸入新的數(shù)據(jù),則Transpose中剩余的數(shù)據(jù)就會(huì)因被覆蓋而丟失。為了防止該現(xiàn)象發(fā)生,在Control模塊中設(shè)置了一個(gè)mode值,如第1節(jié)所述,該值用來(lái)記錄上次參與DCT運(yùn)算的TU塊的大小。通過(guò)比較TU_size和mode的值來(lái)設(shè)計(jì)flag標(biāo)記信號(hào),控制本次變換所需的周期。所以上述示例中,第2次輸入的4×4的TU塊實(shí)際需要經(jīng)過(guò)32個(gè)時(shí)鐘周期才算完成了1-D DCT的運(yùn)算過(guò)程。

        Transpose模塊由1 024個(gè)16位的寄存器組構(gòu)成,用有限狀態(tài)機(jī)(Finite-State Machine,F(xiàn)SM)控制數(shù)據(jù)的行列轉(zhuǎn)換。經(jīng)過(guò)綜合后,ALUT使用量為11 800,寄存器使用量為16 384。

        4 實(shí)驗(yàn)結(jié)果

        實(shí)驗(yàn)所用代碼通過(guò)Verilog HDL編寫(xiě),并在Altera Arria GX EP1AGX90EF1152C上進(jìn)行綜合。

        本結(jié)構(gòu)綜合后的數(shù)據(jù)如表4所示,其他相關(guān)文獻(xiàn)給出的數(shù)據(jù)也在表中列出,以便對(duì)比。因相關(guān)文獻(xiàn)中沒(méi)有具體說(shuō)明或者未使用相應(yīng)資源,表中有些數(shù)據(jù)未給出。DCT和IDCT的區(qū)別在標(biāo)準(zhǔn)[8]中有詳細(xì)闡述,此處將IDCT的文獻(xiàn)也列出,作為參考。

        從表4可以發(fā)現(xiàn),相對(duì)于Belghith,Park,Shen設(shè)計(jì)的結(jié)構(gòu),本結(jié)構(gòu)具有明顯的優(yōu)勢(shì),不僅能支持各種TU塊,而且具有較高的吞吐率。Meher的結(jié)構(gòu)綜合后的數(shù)據(jù)同樣比較優(yōu)越,但其在計(jì)算過(guò)程中,直接忽略數(shù)據(jù)的低比特位,導(dǎo)致數(shù)據(jù)的準(zhǔn)確性下降。

        實(shí)驗(yàn)表明,在不明顯增加資源占用量的情況下,本結(jié)構(gòu)的時(shí)延更小,數(shù)據(jù)處理能力更強(qiáng)。在184 MHz的時(shí)鐘下,即使是最壞的情況,本結(jié)構(gòu)也能實(shí)時(shí)處理60 f/s的UHD視頻序列。

        表4 資源占用量對(duì)比

        5 結(jié)論

        本文針對(duì)FPGA的特性,通過(guò)充分優(yōu)化MCM和AddTree單元以減少資源使用量。兩個(gè)DCT模塊采用參數(shù)配置的方法,配合enable信號(hào)來(lái)選擇移位和加減法操作,能最大限度地保持?jǐn)?shù)據(jù)的準(zhǔn)確性。文中設(shè)計(jì)了一種新的Transpose模塊,使得兩個(gè)1-D DCT模塊能同時(shí)運(yùn)算,并能適應(yīng)各種TU塊的變換。該結(jié)構(gòu)將數(shù)據(jù)處理時(shí)延控制在32個(gè)時(shí)鐘周期內(nèi),處理能力和實(shí)用性更強(qiáng)。

        :

        [1] HAN G J,OHM J R,HAN W J,et al.Overview of the high efficiency video coding(HEVC)standard[J].IEEE Trans.Circuits and Systems for Video Technology,2012(22):1649-1668.

        [2]蔡曉霞,崔巖松,鄧中亮,等.下一代視頻編碼標(biāo)準(zhǔn)關(guān)鍵技術(shù)[J].電視技術(shù),2012,36(2):80-84.

        [3] BELGHITH F,LOUKIL H,MASMOUDI N.Efficient hardware architecture of a modified 2-D transform for the HEVC standard[J].International Journal of Computer Science and Application,2013,2(4):1308-1312.

        [4] PARK J S,NAM W J,HAN S M,et al.2-D large inverse transform(16x16,32x32)for HEVC(High Efficiency Video Coding)[J].Journal of Semiconductor Technology and Science,2012,12(2):203-211.

        [5] SHEN S,SHEN W,F(xiàn)AN Y,et al.A Unified 4/8/16/32-point integer IDCT architecture for multiple video coding standards[C]//Proc.International Conference on Multimedia and Expo(ICME).Melbourne:IEEE Press,2012:788-793.

        [6] MEHER P K,PARK S Y,MOHANTY B K,et al.Efficient integer DCT architectures for HEVC[J].IEEE Trans.Circuits and Systems for Video Technology,2013,24(1):1-11.

        [7]劉毅,羅軍,黃啟俊,等.HEVC整數(shù)DCT變換與量化的FPGA實(shí)現(xiàn)[J].電視技術(shù),2013,37(11):12-14.

        [8] International Telecommunication Union.Recommendation ITU -T H.265[EB/OL].[2014-02-10].http://www.itu.int/rec/T-RECH.265-201304-I,.

        [9] Joint Collaborative Team on Video Coding(JCT-TV).HEVC Test Model HM-12.1 [EB/OL].[2014-02-20].https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-12.1.

        猜你喜歡
        移位時(shí)鐘運(yùn)算
        重視運(yùn)算與推理,解決數(shù)列求和題
        別樣的“時(shí)鐘”
        古代的時(shí)鐘
        有趣的運(yùn)算
        再生核移位勒讓德基函數(shù)法求解分?jǐn)?shù)階微分方程
        大型總段船塢建造、移位、定位工藝技術(shù)
        Σ(X)上權(quán)移位算子的不變分布混沌性
        “整式的乘法與因式分解”知識(shí)歸納
        有趣的時(shí)鐘
        撥云去“誤”學(xué)乘除運(yùn)算
        亚洲VA中文字幕欧美VA丝袜| 亚洲精品国产精品乱码在线观看| 国产乱妇无乱码大黄aa片| 日日碰狠狠添天天爽超碰97| 妞干网中文字幕| 隔壁人妻欲求不满中文字幕| 国产日产欧产精品精品蜜芽| 久久人人爽人人爽人人av| 亚洲VA不卡一区| 国产三级视频在线观看国产| 天堂网av一区二区三区在线观看| 亚洲精品www久久久| 中文字幕第七页| 啪啪视频免费看一区二区| 国产高潮流白浆视频在线观看| 亚洲加勒比久久88色综合| 色爱区综合激情五月综合小说| 国产在线白浆一区二区三区在线| 东京热加勒比久久精品| 国产一区二区三区在线电影| 国产精品二区在线观看| 国产人成在线免费视频| 国产亚洲精品品视频在线| 少妇私密会所按摩到高潮呻吟 | 亚洲午夜无码AV不卡| 日韩一区二区三区人妻中文字幕| 亚洲成av人片不卡无码| 精品无码人妻一区二区三区| A阿V天堂免费无码专区| 亚洲天堂av一区二区三区不卡 | 国产av一区二区三区丝袜| 国产区一区二区三区性色| 日本做受120秒免费视频| 久久AⅤ无码精品为人妻系列| 永久免费在线观看蜜桃视频 | 在线播放中文字幕一区二区三区| 精品久久久少妇一区二区| 欧美精品videossex少妇| 亚洲日韩精品久久久久久| 色窝窝在线无码中文| 亚洲国产精品夜男人天堂|