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

        ?

        H.264中逆量化逆變換的高層次綜合實(shí)現(xiàn)*

        2016-12-03 05:12:06陳新偉孟祥剛李國峰
        電子技術(shù)應(yīng)用 2016年11期
        關(guān)鍵詞:延時時鐘系數(shù)

        陳新偉,孟祥剛,高 騰,陳 瑤,梁 科,李國峰

        (1.福建省信息處理與智能控制重點(diǎn)實(shí)驗(yàn)室,福建 福州350121;2.南開大學(xué) 電子信息與光學(xué)工程學(xué)院,天津 300350)

        H.264中逆量化逆變換的高層次綜合實(shí)現(xiàn)*

        陳新偉1,2,孟祥剛2,高 騰2,陳 瑤2,梁 科2,李國峰2

        (1.福建省信息處理與智能控制重點(diǎn)實(shí)驗(yàn)室,福建 福州350121;2.南開大學(xué) 電子信息與光學(xué)工程學(xué)院,天津 300350)

        逆變換與逆量化是H.264解碼器中的一個重要環(huán)節(jié),由于其算法復(fù)雜度較高,利用傳統(tǒng)的RTL方法設(shè)計(jì)其硬件電路需要消耗大量的設(shè)計(jì)時間并經(jīng)歷復(fù)雜的驗(yàn)證過程。提出了采用高層次綜合的方法進(jìn)行高效快速的逆變換逆量化硬件模塊設(shè)計(jì)。測試結(jié)果表明,該方法可以較快地得到針對FPGA平臺的逆變換逆量化硬件模塊,同時可對其設(shè)計(jì)空間進(jìn)行有效探索,得到滿足不同需求的硬件模塊。

        H.264解碼器;逆量化;逆變換;高層次綜合;設(shè)計(jì)空間探索

        0 引言

        H.264標(biāo)準(zhǔn)自公布以來,在視頻會議、數(shù)字電視、視頻監(jiān)控等領(lǐng)域中得到廣泛的使用。新一代視頻壓縮編碼標(biāo)準(zhǔn) H.264/AVC在以往標(biāo)準(zhǔn)的基礎(chǔ)上做了很大的改進(jìn),從而具有了很高的壓縮性能和網(wǎng)絡(luò)自適應(yīng)能力[1]。然而高壓縮性能是以較高的算法復(fù)雜度為代價(jià),尤其是變換與量化部分,其RTL代碼設(shè)計(jì)與在FPGA平臺上的實(shí)現(xiàn)也變得更為復(fù)雜。高層次綜合技術(shù)相對于傳統(tǒng)的RTL級設(shè)計(jì)能有效地降低硬件的設(shè)計(jì)復(fù)雜度,縮短設(shè)計(jì)周期。因其在算法硬件模塊開發(fā)上的高效性,高層次綜合工具已被廣泛應(yīng)用于復(fù)雜硬件項(xiàng)目開發(fā)中。

        本文的設(shè)計(jì)在 H.264標(biāo)準(zhǔn)基礎(chǔ)上,采用高層次綜合技術(shù),利用 C語言進(jìn)行算法描述,通過高層次綜合過程及其綜合優(yōu)化進(jìn)行硬件生成,完成符合設(shè)計(jì)需求的硬件模塊。

        1 高層次綜合技術(shù)

        高層次綜合技術(shù)可以將高級編程語言(C/C++等)的算法描述綜合成RTL級代碼,完成算法級到寄存器傳輸級的轉(zhuǎn)換。高層次綜合工具可以完成各個任務(wù)的寄存器分配、任務(wù)調(diào)度與綁定、狀態(tài)機(jī)生成等功能。基于Vivado_HLS高層次綜合的開發(fā)流程如圖1所示。首先將設(shè)計(jì)完成的C/C++算法實(shí)現(xiàn)代碼在 Vivado_HLS中進(jìn)行編譯,檢查語法錯誤并驗(yàn)證代碼的功能是否正確;之后,在增加相應(yīng)優(yōu)化設(shè)置的基礎(chǔ)上進(jìn)行綜合;綜合完成后進(jìn)行RTL協(xié)同仿真,驗(yàn)證硬件功能正確性及時序需求;如果不能滿足設(shè)計(jì)需求,則可重新更改優(yōu)化條件進(jìn)行綜合。得到正確的RTL代碼后可將其封裝成IP核或直接導(dǎo)出RTL代碼繼續(xù)通過Vivado或者ISE等RTL綜合工具完成傳統(tǒng) RTL設(shè)計(jì)流程[2]。

        相對于C/C++編程語言標(biāo)準(zhǔn),Vivado_HLS高層次綜合工具支持其大部分語法,但高層次綜合工具的輸出針對于具體硬件電路的設(shè)計(jì)[3],因此,需要系統(tǒng)級支持的動態(tài)內(nèi)存分配和二級指針等功能不能通過高層次綜合工具進(jìn)行綜合,算法設(shè)計(jì)中需要避免此類語法和底層函數(shù)的應(yīng)用。

        圖1 基于Vivado_HLS高層次綜合硬件開發(fā)流程

        2 H.264逆量化逆變換算法概述

        變換與量化是根據(jù)圖像像素之間的相關(guān)性來對數(shù)據(jù)進(jìn)行壓縮,不同量化參數(shù)的設(shè)置可以改變圖像像素的動態(tài)取值范圍。在H.264標(biāo)準(zhǔn)中對直流系數(shù)采用的是哈達(dá)瑪(Hardmard)變換,對殘差系數(shù)采用的是離散余弦變換(DCT),并且通過4×4分塊的DCT變換降低圖像的塊效應(yīng)[4]。量化部分采用的是標(biāo)量量化,采用移位方法進(jìn)行數(shù)據(jù)處理,從而避免除法與浮點(diǎn)數(shù)運(yùn)算。

        變換與量化是兩個相互獨(dú)立的過程,但在 H.264中,將兩個過程合并在一起進(jìn)行。其優(yōu)勢在于將DCT中的乘法運(yùn)算提取出來合并到量化過程中,于是變換部分只進(jìn)行整數(shù)的加法與移位運(yùn)算,而乘法運(yùn)算都在量化部分實(shí)現(xiàn),從而減少運(yùn)算量。因此逆變換逆量化模塊實(shí)現(xiàn)變換與量化的逆過程。

        H.264解碼器中的逆變換逆量化實(shí)現(xiàn)流程如圖2所示,對于含有直流(DC)分量的數(shù)據(jù),先對其中的 DC系數(shù)進(jìn)行逆哈達(dá)瑪變換,然后對 DC系數(shù)與交流(AC)系數(shù)進(jìn)行逆量化,然后對DC與AC系數(shù)進(jìn)行重組,對重組后的數(shù)據(jù)進(jìn)行逆變換(IDCT)。

        圖2 H.264逆變換逆量化實(shí)現(xiàn)流程

        對于AC系數(shù),逆量化方法如式(1)所示:

        對于幀內(nèi)16×16的亮度子塊的DC系數(shù),逆量化方法如式(2)所示:

        對于色度信號的DC系數(shù),量化方法如式(3):

        其中,QP表示量化系數(shù),QP的取值直接影響視頻壓縮比,QP取值越大,視頻壓縮的壓縮比越大,但信噪比會相應(yīng)降低。

        3 基于高層次綜合的設(shè)計(jì)

        3.1 算法實(shí)現(xiàn)

        逆變換逆量化環(huán)節(jié)在解碼器中所占的比重較大,同時該計(jì)算模塊在解碼過程中被頻繁調(diào)用,而逆量化部分大量的乘法運(yùn)算需要消耗大量的硬件資源。本設(shè)計(jì)的目標(biāo)是在資源消耗量控制在一定限度的前提下提供盡可能高的數(shù)據(jù)吞吐量。

        為了提高數(shù)據(jù)處理速度,達(dá)到硬件實(shí)現(xiàn)中對亮度信號(Luma)與色度信號(Chroma)的逆量化逆變換的并行執(zhí)行。算法實(shí)現(xiàn)過程中分別為其設(shè)計(jì)單獨(dú)的C函數(shù)并采用獨(dú)立接口。輸入數(shù)據(jù)包括幀內(nèi)16×16亮度塊、幀內(nèi)4× 4亮度塊以及2×2色度塊,根據(jù)輸入的數(shù)據(jù)類型選擇相應(yīng)的逆量化方法。

        對于算法中的逆變換部分,將二維數(shù)組的變換轉(zhuǎn)換成兩次一維變換:先對數(shù)據(jù)進(jìn)行一次行變換,對行變換后的數(shù)據(jù)進(jìn)行列變換。H.264逆量化逆變換算法實(shí)現(xiàn)偽代碼如算法1所示。對其中含有DC分量的數(shù)據(jù),先進(jìn)行逆哈達(dá)瑪變換,然后再分別對 DC、AC系數(shù)進(jìn)行逆量化;對于不含DC系數(shù)的數(shù)據(jù)則直接進(jìn)行逆量化。最后對量化后的數(shù)據(jù)進(jìn)行IDCT變換,輸出相應(yīng)的數(shù)據(jù)。

        算法 1H.264逆量化逆變換的HLS設(shè)計(jì)

        3.2 高層次綜合優(yōu)化

        3.2.1 循環(huán)展開

        對于C語言算法實(shí)現(xiàn)中的循環(huán)部分,默認(rèn)狀態(tài)下循環(huán)體內(nèi)的操作是順序執(zhí)行的。為達(dá)到性能要求,在設(shè)計(jì)中的循環(huán)部分插入循環(huán)展開綜合指示指令(UNROLL),高層次綜合工具在綜合過程中會將循環(huán)展開成并行的結(jié)構(gòu),在以資源消耗升高為代價(jià)的前提下使得單位時間內(nèi)執(zhí)行的操作數(shù)得到提升[5]。

        3.2.2 流水線優(yōu)化

        流水線優(yōu)化主要針對一系列順序執(zhí)行的任務(wù),將其綜合成多級流水線結(jié)構(gòu),從而提高數(shù)據(jù)吞吐量。對于本文的算法實(shí)現(xiàn),為了實(shí)現(xiàn)資源的充分利用并降低整體的計(jì)算延遲,在循環(huán)展開的基礎(chǔ)上,對相應(yīng)模塊的頂層或合適的位置加入了流水線(PIPLINE)優(yōu)化指令。

        3.2.3 數(shù)組分割

        設(shè)計(jì)中存在大量的數(shù)組運(yùn)算,默認(rèn)情況下這些數(shù)組在綜合中會使用成ROM或BRAM資源,由于ROM或BRAM一次能同時讀寫的數(shù)據(jù)個數(shù)有限,會造成運(yùn)算過程中的延時[6]。因此,在以上兩種優(yōu)化的基礎(chǔ)上,設(shè)計(jì)加入數(shù)組分割(ARRAY PARTATION)指令,從而指示高層次綜合工具將大型數(shù)組按輸入配置分割成多組小型數(shù)組,提升片上數(shù)據(jù)訪問速度,從而更好地配合數(shù)據(jù)計(jì)算的并行執(zhí)行。

        以上優(yōu)化處理的選擇,遵循綜合后分析輸出結(jié)果,進(jìn)行最直接優(yōu)化的方法。循環(huán)展開目的在于增加循環(huán)內(nèi)數(shù)據(jù)處理的并行度;流水線優(yōu)化用以提升并行后數(shù)據(jù)處理的吞吐量;數(shù)組分割目的在于流水線增強(qiáng)后提升數(shù)據(jù)訪問能力。

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

        本設(shè)計(jì)所使用的高層次綜合平臺采用 Xilinx Vivado_HLS 2014.4版本,目標(biāo)FPGA器件為Virtex-7系列的 xc7vx485tffg1761-2芯片,設(shè)置的時鐘約束條件為10 ns,算法實(shí)現(xiàn)采用C語言,目標(biāo)輸出語言為Verilog。

        經(jīng)過不同優(yōu)化方案后硬件模塊的資源占用與模塊執(zhí)行的時鐘延時如圖3所示。

        圖3 不同優(yōu)化方案下硬件模塊資源與時鐘延時綜合結(jié)果

        無優(yōu)化時,F(xiàn)PGA片上各種資源消耗量均為最低,但模塊數(shù)據(jù)處理的時鐘延時確最高。因代碼的主體以循環(huán)為主,為了在速度上得到較大的提升,最直接的方法就是將代碼中的循環(huán)展開,實(shí)現(xiàn)對數(shù)據(jù)的并行處理。而圖3中循環(huán)展開部分為對代碼中的不同部分進(jìn)行依次展開并得到綜合后的結(jié)果。

        由于反掃描模塊在每個計(jì)算支路上都被采用,因此對反掃描進(jìn)行循環(huán)展開有效地降低了模塊的時鐘延時數(shù)量,而沒有消耗更多的硬件資源。其原因歸結(jié)為反掃描部分只采用數(shù)據(jù)映射,因此其循環(huán)展開不消耗過多硬件卻使得映射并發(fā)的執(zhí)行。而算法中除了反掃描部分所呈現(xiàn)的映射外,還存在多個循環(huán)結(jié)構(gòu)實(shí)現(xiàn)的數(shù)據(jù)映射,對其進(jìn)行同樣展開,結(jié)果與上文分析相同。

        而對于 luma反量化和 chroma反量化部分,其計(jì)算單元主要以乘法為主,因此在進(jìn)行循環(huán)展開后,DSP單元的消耗量有所升高。但兩個循環(huán)的展開只分別降低了1.1%和0.4%的延時。這是由于這兩個部分分別是多個數(shù)據(jù)通路中某個通路的一個中間單元,因此這兩個模塊的循環(huán)展開只是降低了單個通路上的時鐘延遲,但對于頂層模塊的總體時鐘延遲沒有產(chǎn)生足夠影響。然而這不代表這兩個部分的循環(huán)展開優(yōu)化沒有作用,在后面的其他模塊展開后,這兩個模塊的優(yōu)化會配合其他的優(yōu)化而對數(shù)據(jù)通路的并行執(zhí)行起到明顯的作用。

        在以上優(yōu)化的基礎(chǔ)上,對每個數(shù)據(jù)通路上都需要進(jìn)行的IDCT模塊進(jìn)行循環(huán)展開。C代碼描述算法中多個計(jì)算通路可以調(diào)用同一IDCT函數(shù),然而在高層次綜合過程中,會將多個函數(shù)調(diào)用綜合為多個重復(fù)的相同功能模塊。因此在對IDCT模塊做循環(huán)展開后,時鐘延時數(shù)量得到了明顯降低,而IDCT模塊的主體是加減法和移位,因此循環(huán)展開后資源的消耗并沒有明顯增高。由于整個反量化和反變換模塊中,主要的計(jì)算消耗在于反量化模塊中的矩陣乘法,因此對矩陣乘法做循環(huán)展開,DSP單元的使用量產(chǎn)生大幅的提升。

        對Choma數(shù)據(jù)反量化模塊的循環(huán)展開,相對于Luma數(shù)據(jù)的反量化循環(huán)展開,資源消耗增加了57%,相對于Luma數(shù)據(jù)處理部分的增加更加明顯,其原因歸結(jié)為Chroma數(shù)據(jù)的位寬較寬。相對于Luma數(shù)據(jù)反量化單元的展開,時鐘延遲方面得到了明顯的降低,多條數(shù)據(jù)通路的循環(huán)展開,使得整體模塊的計(jì)算時鐘延遲得到了降低,這一結(jié)果與上文對Luma數(shù)據(jù)反量化單元的循環(huán)展開分析結(jié)果相吻合。

        最后對代碼中剩余部分的循環(huán)體進(jìn)行相應(yīng)的展開操作,對應(yīng)圖中的全展開的數(shù)據(jù)結(jié)果,對整體時鐘延時的提升不明顯,硬件資源消耗略有升高。

        循環(huán)的展開提高了數(shù)據(jù)處理的并行性,但是在硬件設(shè)計(jì)中數(shù)據(jù)路徑上的并行并不能使硬件處理性能得到最大提升,因此對設(shè)計(jì)中多處位置插入了流水線的優(yōu)化,從圖中時鐘延時曲線可以看出,流水線的加入使得時鐘延遲得到成倍的縮減,F(xiàn)F和 LUT的總量變化不大而DSP計(jì)算單元成倍增加——這是因?yàn)榉戳炕糠值挠?jì)算主體是乘法為主,而流水線的加入會強(qiáng)制打開循環(huán)結(jié)構(gòu),因此DSP數(shù)量急劇上升。

        4 結(jié)論

        本文采用高層次綜合硬件設(shè)計(jì)的方法,實(shí)現(xiàn)了H.264標(biāo)準(zhǔn)中反量化反變換部分的硬件部分設(shè)計(jì)。通過循環(huán)展開、流水線、數(shù)組分割優(yōu)化方案的加入,大大降低了計(jì)算所需的時間,對硬件模塊的設(shè)計(jì)空間進(jìn)行了探索。只對硬件模塊核心算法進(jìn)行C語言代碼實(shí)現(xiàn),從而得到RTL級硬件模塊輸出。極大地縮短了硬件設(shè)計(jì)的周期,提高了生產(chǎn)力。而且本文所呈現(xiàn)的設(shè)計(jì)思路不僅適用于本文所實(shí)現(xiàn)的反量化和反變換,同樣適用于其他各種硬件單元的設(shè)計(jì)。因此在未來的工作中,一方面將會繼續(xù)完成H.264中其他硬件單元的設(shè)計(jì),實(shí)現(xiàn)整體H.264標(biāo)準(zhǔn)的硬件實(shí)現(xiàn);另一方面,還會致力于各種復(fù)雜算法的高層次綜合實(shí)現(xiàn)與優(yōu)化。

        [1]FLEMING K,LIN C C,DAVE N,et al.H.264 decoder:A case study in multiple design points[C].MEMOCODE.IEEE,2008:165-174.

        [2]樊宗智,周煦林,劉彬.基于高層次綜合的 JPEG編碼器設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2015,32(6):1-4.

        [3]何賓.Xilinx_FPGA權(quán)威設(shè)計(jì)指南-Vivado 2014集成開發(fā)環(huán)境[M].北京:電子工業(yè)出版社,2015,2:348-403.

        [4]WANG T C,HUANG Y W,F(xiàn)ANG H C,et al.Parallel 4x4 2d transform and inverse transform architecture for mpeg-4 avc/h.264[C].ISCAS,vol.2.IEEE,2003:II-800.

        [5]Zhong Guanwen,Vanchinathan Venkataramani,Yun Liang,et al.Design space exploration of multiple loops on FPGAs using high level synthesis[C].2014 32nd IIEEE International Conference on Computer Design,Seoul,South Korea,2104:456-463.

        [6]張茉莉,楊海鋼,崔秀海,等.基于數(shù)組分塊的 FPGA高級綜合編譯優(yōu)化算法[J].計(jì)算機(jī)應(yīng)用研究,2013,30(11):3349-3352.

        High level synthesis implementation of inverse quantification and inverse transformation in H.264

        Chen Xinwei1,2,Meng Xianggang2,Gao Teng2,Chen Yao2,Liang Ke2,Li Guofeng2
        (1.Fujian Provincial Key Laboratory of Information Processing and Intelligent Control,F(xiàn)uzhou 350121,China;2.College of Information Technology and Optical Engineering,Nankai University,Tianjin 300350,China)

        Inverse transformation and inverse quantization is an important process in H.264 decoder,the complexity of the algorithm leads to a long design time and complex verification procedure when designing in conventional way with RTL language.High level synthesis in involved in this paper to illustrate efficient inverse transformation and inverse quantization hardware design.The results show that the design method in this paper could achieve the hardware block for the targeted FPGA platform efficiently and explore the design space of the hardware with different high level synthesis settings at the same time to fulfil the different requirements for different designs.

        H.264 decoder;inverse quantification;inverse transform;high level synthesis;design space exploration

        TN432

        A

        10.16157/j.issn.0258-7998.2016.11.005

        陳新偉,孟祥剛,高騰,等.H.264中逆量化逆變換的高層次綜合實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42 (11):25-28.

        英文引用格式:Chen Xinwei,Meng Xianggang,Gao Teng,et al.High level synthesis implementation of inverse quantification and inverse transformation in H.264[J].Application of Electronic Technique,2016,42(11):25-28.

        2016-07-11)

        陳新偉(1983-),男,博士,主要研究方向:信號處理、智能控制。

        福建省科技廳引導(dǎo)性項(xiàng)目(2015h0031)

        孟祥剛(1993-),男,碩士,主要研究方向:數(shù)字集成電路設(shè)計(jì)、高層次綜合設(shè)計(jì)。

        猜你喜歡
        延時時鐘系數(shù)
        別樣的“時鐘”
        基于級聯(lián)步進(jìn)延時的順序等效采樣方法及實(shí)現(xiàn)
        古代的時鐘
        這些待定系數(shù)你能確定嗎?
        打雪仗
        過年啦
        有趣的時鐘
        兩張圖弄懂照明中的“系數(shù)”
        中國照明(2016年6期)2016-06-15 20:30:14
        時鐘會開“花”
        Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
        日本高清www无色夜在线视频| 在线播放免费人成毛片乱码| 久久久久亚洲av综合波多野结衣| 内射人妻视频国内| 人人澡人人澡人人看添av| 国产精品爽爽va在线观看无码| 揄拍成人国产精品视频| a级毛片免费观看在线| 国产成人综合久久精品免费| 精品无码AⅤ片| 色婷婷亚洲一区二区在线| 亚洲精品中字在线观看| 欧美成人精品第一区| 白丝兔女郎m开腿sm调教室| 免费人成无码大片在线观看| 久久噜噜噜| 91色婷婷成人精品亚洲| 日本少妇又色又紧又爽又刺激| 精品久久亚洲中文字幕| 久久国产加勒比精品无码| 麻豆一区二区99久久久久| 亞洲綜合一區二區三區無碼| 亚洲AV无码成人精品区H| 国产亚洲一区二区精品| 亚洲中文字幕久久精品品| 亚洲精品一品区二品区三品区| 无码视频一区二区三区在线观看| 日韩一二三四精品免费| 中文字幕亚洲精品高清| 亚洲av毛片在线网站| 日韩日韩日韩日韩日韩| 乱码午夜-极国产极内射| 无码超乳爆乳中文字幕| 日日麻批视频免费播放器| 中文字幕免费人成在线网站 | 国模无码人体一区二区| 欧美成人网视频| 亚洲国产91高清在线| 亚洲乱码中文字幕久久孕妇黑人| 又湿又黄裸乳漫画无遮挡网站| 国产内射XXXXX在线|