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

        ?

        HEVC中率失真優(yōu)化算法的動態(tài)可重構(gòu)實現(xiàn)*

        2021-03-01 03:33:42謝曉燕鄧軍勇劉新闖胡傳瞻
        計算機工程與科學 2021年2期
        關(guān)鍵詞:指令處理器重構(gòu)

        楊 坤,蔣 林,謝曉燕,鄧軍勇,劉新闖,胡傳瞻

        (1.西安郵電大學電子工程學院,陜西 西安 710121;2.西安科技大學集成電路實驗室,陜西 西安 710054;3.西安郵電大學計算機學院,陜西 西安 710121)

        1 引言

        與H.264/AVC編碼技術(shù)相比,HEVC(High Efficiency Video Coding)幀內(nèi)預測模式由原有的9種增加到35種,即DC 模式(模式0)、Planar模式(模式1)和33種角度預測模式(模式2~模式35)。率失真優(yōu)化算法作為幀內(nèi)預測模式選擇的判別依據(jù),每一次模式選擇都涉及一個完整的編碼過程,是幀內(nèi)編碼過程中最復雜的算法之一[1]。針對如此高復雜度的計算,僅僅從算法角度進行優(yōu)化無法滿足實時視頻編碼的需求,所以國內(nèi)外學者已經(jīng)開始把視頻算法向?qū)S糜布限D(zhuǎn)移[2],通過硬件實現(xiàn)率失真優(yōu)化算法已經(jīng)成為一種趨勢。

        使用專用硬件進行率失真優(yōu)化算法的實現(xiàn)方式主要有2種:針對特定規(guī)模和針對固定大小編碼塊的硬件設(shè)計。針對特定規(guī)模的硬件設(shè)計雖然能滿足算法實現(xiàn)的需要,但是結(jié)構(gòu)固定,不能根據(jù)處理速度的需求改變硬件實現(xiàn)的規(guī)模。文獻[3]提出一種支持8路并行的率失真優(yōu)化實現(xiàn)方法,可同時進行8種預測模式的計算,在減少計算時間的同時增加了硬件資源的消耗;文獻[4]設(shè)計了一種支持3路并行的率失真優(yōu)化結(jié)構(gòu),雖然減少了資源消耗,但每次只能進行3種模式的并行計算,若選擇模式增加,計算時間會大幅增加。針對固定大小預測塊的實現(xiàn)方法雖然能減少硬件的資源消耗,但固定塊大小的預測方式降低了編碼壓縮效率,文獻[5-7]均設(shè)計了一種支持4×4大小預測塊的率失真優(yōu)化算法的硬件結(jié)構(gòu),雖然減少了資源消耗,提升了計算精度,但該設(shè)計對于平坦圖像的計算量增加,且僅針對4×4大小的預測塊。文獻[8-10]所設(shè)計的硬件結(jié)構(gòu)雖然支持不同大小的預測塊、預測模式齊全的率失真優(yōu)化算法,但硬件實現(xiàn)過于復雜,資源消耗大。通過專用硬件實現(xiàn)率失真優(yōu)化算法,雖然提升了性能,減少了算法的執(zhí)行時間,但資源消耗過多,靈活性較差,難以針對不同的應用需求進行靈活切換。可重構(gòu)陣列處理器能夠根據(jù)不同視頻圖像處理需求,靈活配置處理元邏輯功能和處理元之間的連接方式,既具有一定的靈活性,又具有計算的高效性。

        因此,本文基于項目組前期研究的視頻陣列處理器,提出一種動態(tài)可重構(gòu)的率失真優(yōu)化實現(xiàn)方法,將不同配置的率失真優(yōu)化算法初始化在可重構(gòu)陣列的指令存儲中,基于上下文切換的重構(gòu)機制及指令下發(fā)網(wǎng)絡,實現(xiàn)不同規(guī)模、不同大小預測塊的率失真優(yōu)化算法之間的動態(tài)重構(gòu),并且可以根據(jù)計算時間和視頻質(zhì)量的不同需求,對陣列結(jié)構(gòu)的規(guī)模和執(zhí)行模式進行重新調(diào)度。

        2 率失真優(yōu)化算法分析

        率失真優(yōu)化算法的關(guān)鍵研究內(nèi)容是如何得到編碼碼率和編碼失真,傳統(tǒng)的率失真優(yōu)化算法中,要想得到失真和碼率需要經(jīng)過一系列復雜操作[11],編碼復雜、計算量大,如圖1所示。HEVC使用哈達瑪變換來計算率失真代價,這一率失真優(yōu)化算法為:

        J=SATD(s,p)+λmodeRmode

        (1)

        其中,SATD(s,p)為經(jīng)過幀內(nèi)預測后得到的殘差塊的SATD,s表示原始像素值,p表示預測像素值,Rmode是編碼當前模式所需要的比特數(shù),λmode是拉格朗日因子。SATD是指將殘差信號進行哈達瑪變換后再求各元素絕對值之和。

        Figure 1 Block diagram of rate distortion optimization algorithm

        HEVC采用遞歸分割四叉樹的方法將編碼樹單元CTU(Coding Tree Unit)分割成不同大小的編碼單元CU(Coding Unit)、預測單元PU(Prediction Unit)和變換單元TU(Transform Unit)。這種劃分方式雖然提高了率失真優(yōu)化算法對最優(yōu)模式選擇的準確性,但針對不同大小的預測塊進行計算時,需要重復遍歷35種預測模式,大大增加了從最小塊到最大塊遞歸計算的復雜度。

        而可重構(gòu)陣列處理器結(jié)合了專用硬件的計算性能和通用處理器的靈活性,能夠根據(jù)當前視頻序列的特點,動態(tài)配置所需要的硬件結(jié)構(gòu),率失真優(yōu)化算法的可重構(gòu)實現(xiàn)既能保證算法的靈活切換,又能減少硬件資源的消耗。因此,在可重構(gòu)陣列處理器上實現(xiàn)率失真優(yōu)化算法是解決計算復雜的一種有效方法。

        3 率失真優(yōu)化算法的動態(tài)可重構(gòu)實現(xiàn)

        3.1 動態(tài)重構(gòu)機制

        為了滿足率失真優(yōu)化算法靈活切換的需求,使用可重構(gòu)視頻陣列處理器來進行算法的映射實現(xiàn)[12]。全局控制器為可重構(gòu)機制的核心部分,其上層為主機接口,下層為多個處理元簇PEG(Process Element Group)組成的陣列處理器,每個PEG包含 16個處理元PE(Process Element)。當處理器資源有限卻有多個算法需要進行映射時,為了減少硬件資源消耗,將不同配置的算法指令初始化在同一PE不同的指令存儲中,如圖2所示。這種基于上下文切換的重構(gòu)機制能夠根據(jù)用戶需求在多個算法之間進行切換,最終使用戶能夠管理和控制資源。

        Figure 2 Structure of context switched array processor

        全局控制器通過在主機接口和陣列處理器之間形成一個H型的層次化的編程網(wǎng)絡,在確保每一條指令都能同時到達PE的同時,實現(xiàn)對陣列資源的控制和管理。當主機接口對陣列處理器進行訪問時,全局控制器收到來自主機接口的總線信息,總線信息包含地址位信息、標志位信息和指令信息。其中標志位信息用于判斷執(zhí)行數(shù)據(jù)反饋、指令下發(fā)還是配置調(diào)用;地址位信息完成每一個PE的地址劃分,保證不同的PE對應不同的地址;指令信息用來決定PE所執(zhí)行的指令。通過地址信息、標志信息和指令信息共同決定每個PE在某時刻所執(zhí)行的特定指令。基于上下文切換的重構(gòu)機制,將不同配置的率失真優(yōu)化算法指令初始化在同一PE不同的指令存儲中,通過配置調(diào)用、指令反饋和指令下發(fā)操作來實現(xiàn)率失真優(yōu)化算法在視頻陣列處理器上的動態(tài)重構(gòu)。

        3.2 率失真優(yōu)化算法的并行化設(shè)計

        由于在進行率失真優(yōu)化算法的計算過程中,不同預測模式之間相互獨立,因此可以通過并行計算來減少算法的計算時間。本文提出的基于可重構(gòu)陣列的率失真優(yōu)化實現(xiàn)方法,采用4條路徑和8條路徑并行的方式,進行幀內(nèi)預測模式選擇的率失真優(yōu)化算法的并行映射。圖3為4條路徑并行的率失真優(yōu)化算法的映射圖。

        Figure 3 Mapping map of rate distortion optimization algorithm

        具體的執(zhí)行過程如下所示:首先將不同預測模式經(jīng)過幀內(nèi)預測后所求得的殘差值和碼率分別加載到PE00、PE01、PE02和PE03中;分別在PE10、PE11、PE12和PE13中計算各個模式下的SATD值;在計算SATD值的同時,分別在PE30、PE31、PE32和PE33中計算率失真優(yōu)化算法中所需要的系數(shù)λ;待SATD值和系數(shù)λ計算完成后,通過鄰接互聯(lián)寄存器,將所求得的SATD和λ傳入PE20、PE21、PE22和PE23中,并通過移位和加法運算得到各個模式下所需要的率失真代價RD-cost(Rate Distortion-Cost);通過比較選出具有最小RD-cost值的模式,即代表選擇出的最優(yōu)預測模式。

        3.3 率失真優(yōu)化算法可重構(gòu)實現(xiàn)

        規(guī)模重構(gòu)是指率失真優(yōu)化算法在不同陣列規(guī)模上的重構(gòu)實現(xiàn),以滿足針對計算時間和視頻質(zhì)量的不同需求選擇不同的陣列規(guī)模。首先在4×4規(guī)模的陣列中,將4條路徑并行的算法指令初始化到指令存儲器中的0~254號地址中;在8×4規(guī)模的陣列中,將8條路徑并行的率失真優(yōu)化算法指令初始化到指令存儲器的255~511號地址中。然后獲取算法計算時所需的數(shù)據(jù),進行4路并行的率失真優(yōu)化算法的計算。如應用需求對處理速度要求高,則基于上下文切換的重構(gòu)機制,全局控制器下發(fā)配置調(diào)用指令,執(zhí)行存放在255~511號地址中的8路并行的率失真優(yōu)化算法指令,進行8路并行計算。在通過配置調(diào)用進行配置切換的同時,也可通過全局控制器進行指令下發(fā),將多路并行的算法指令下發(fā)到陣列中去,實現(xiàn)率失真優(yōu)化算法在不同規(guī)模的可重構(gòu)陣列上的靈活切換。

        Figure 5 Mapping map of pattern reconfiguration

        HEVC 采用遞歸分割四叉樹的方法把塊分割成不同大小的編碼塊[13],塊重構(gòu)可以實現(xiàn)不同塊大小的率失真優(yōu)化算法的動態(tài)重構(gòu)。在HM16.0官方軟件下對不同測試序列下的CU劃分進行統(tǒng)計,結(jié)果如圖4所示。

        Figure 4 Statistics of block division under different test sequences

        從圖4中可以看出,8×8大小的編碼塊被選擇的平均概率為67%,16×16大小的編碼塊被選擇的平均概率為23%。因此,本文主要選用8×8和16×16大小的編碼塊進行塊重構(gòu)切換。首先將8×8大小編碼塊的算法指令初始化到指令存儲器中的0~254號地址中,將16×16大小編碼塊的指令初始化到指令存儲器的255~511號地址中。然后獲取算法計算時所需的數(shù)據(jù),默認進行8×8大小編碼塊的率失真優(yōu)化算法的計算,如若不滿足CU的劃分模式,則全局控制器下發(fā)配置調(diào)用指令,執(zhí)行初始化在255~511號地址中的8×8大小編碼塊的率失真優(yōu)化算法。也可進行指令下發(fā),將4×4~32×32大小編碼塊的率失真算法指令下發(fā)到陣列中去,根據(jù)用戶的需求,實現(xiàn)不同塊大小的率失真優(yōu)化算法在可重構(gòu)陣列上的靈活切換。

        4 幀內(nèi)預測模式的重構(gòu)實現(xiàn)

        HEVC通過率失真優(yōu)化選擇出最優(yōu)的預測模式后,根據(jù)最優(yōu)的結(jié)果判斷幀內(nèi)環(huán)路最終執(zhí)行哪一種預測模式。同時發(fā)送反饋指令,使可重構(gòu)陣列處理器可以根據(jù)收集到的反饋信息進行指令下發(fā),通過指令下發(fā)網(wǎng)絡發(fā)送最優(yōu)的預測模式指令,完成不同模式的重構(gòu)。如圖5所示,本文使用8×4規(guī)模大小的可重構(gòu)陣列來進行幀內(nèi)環(huán)路的重構(gòu)實現(xiàn),PEG00為幀內(nèi)預測過程,PEG01為率失真優(yōu)化過程。分析HEVC軟件HM16.0在不同測試序列下選擇的模式,結(jié)果顯示Planar模式、DC模式、垂直模式、水平模式、角度模式18 被選中的概率共占94.34%,因此本文選取了這5種預測模式來進行模式預測。在計算這5種預測模式的率失真優(yōu)化算法時,若最優(yōu)模式分別為Planar模式、DC模式、垂直模式、水平模式、角度模式18,則將結(jié)果分別存到PEG01中PE33的數(shù)據(jù)存儲器中的0,1,2,3,4號地址中。通過指令下發(fā)網(wǎng)絡下發(fā)反饋指令,讀出PEG01中PE33的數(shù)據(jù)存儲器中的地址數(shù)據(jù),從而判斷最終執(zhí)行哪一種預測模式,指令下發(fā)網(wǎng)絡再下發(fā)相應的預測模式指令,進行后續(xù)的計算。

        5 實驗結(jié)果及性能分析

        5.1 測試方法及結(jié)果

        為了驗證本文提出的可重構(gòu)實現(xiàn)方法的可行性,基于可重構(gòu)陣列結(jié)構(gòu)進行驗證。方法如下:首先將所需要的測試數(shù)據(jù)存入片外存儲,然后將并行方案的指令初始化到指令存儲器中,最后在可重構(gòu)陣列結(jié)構(gòu)上通過Questasim 進行仿真驗證,通過XILINX公司的ISE14.7開發(fā)環(huán)境對設(shè)計進行綜合,得到相應的網(wǎng)表文件,并分析其性能。最后在參考軟件HM16.0中測試編碼性能,并將本文方法放入幀內(nèi)環(huán)路中,在可重構(gòu)陣列處理器測試平臺上進行驗證測試[14]。實驗結(jié)果表明,工作頻率為156.62 MHz,電路規(guī)模為87 632 Flip-flops,本文方法在可重構(gòu)處理器測試平臺上具有良好的可視效果。

        圖6統(tǒng)計了高清測試序列Beauty_1920×1080.yuv使用不同大小編碼塊的率失真優(yōu)化算法,完成一幀圖像的運行時間。

        Figure 6 Run time to complete a frame of image

        首先將測試序列通過Matlab軟件轉(zhuǎn)換成可重構(gòu)陣列結(jié)構(gòu)能識別的二進制數(shù)值,并將該數(shù)據(jù)放入可重構(gòu)視頻陣列的輸入存儲器中,分別通過配置調(diào)用和指令下發(fā)這2種方式進行測試驗證。結(jié)果顯示,運行時間最長為17.6×10-3s,幀率為56 fps,滿足1920×1080@30 fps視頻序列的實時編碼要求,可以看出本文提出的可重構(gòu)實現(xiàn)方法能夠適應高清視頻圖像。

        表1統(tǒng)計了不同配置的率失真優(yōu)化算法通過不同方式進行重構(gòu)切換的總周期數(shù)以及重構(gòu)所占的時鐘周期數(shù)。通過表1可以看出,不論是相同大小編碼塊還是不同大小編碼塊的率失真優(yōu)化算法,通過配置調(diào)用或指令下發(fā)這2種方式進行重構(gòu)切換時,重構(gòu)所占的時鐘周期數(shù)都很小,不會對算法執(zhí)行的總周期數(shù)產(chǎn)生較大的影響。以4×4大小的塊切換8×8大小的塊為例,平均重構(gòu)僅占14個時鐘周期,僅占總執(zhí)行時間的1.0%。因此,本文提出的可重構(gòu)實現(xiàn)方法可以實現(xiàn)快速切換。

        以標準測試序列:carphone_qcif、salesman_qcif和silent_qcif為例,使用本文的可重構(gòu)率失真優(yōu)化實現(xiàn)方法作為幀內(nèi)預測模式選擇的判別依據(jù),在BeeCube公司的BEE4搭建的可重構(gòu)視頻陣列處理器測試平臺上進行驗證測試,如圖7所示為一個完整I幀的測試結(jié)果。其中,圖7a為測試序列carphone_qcif在可重構(gòu)視頻陣列處理器上的測試結(jié)果,圖7b為測試序列salesman_qcif在可重構(gòu)視頻陣列處理器上的測試結(jié)果,圖7c為測試序列si-lent_qcif在可重構(gòu)視頻陣列處理器上的測試結(jié)果。由圖7可見,測試結(jié)果具有良好的可視效果。

        Figure 7 Test results

        Table 1 Reconfigurable switching cycles

        5.2 性能分析

        本文在參考軟件HM16.0上對編碼性能進行測試,使用6組不同視頻內(nèi)容的測試序列在全I幀的配置下的實驗結(jié)果如表2所示,通過M33標準代碼計算得出BD-rate和BD-PSNR。通過表2可以得出,平均BD-PSNR為5.786%,平均BD-rate為-0.483 3 dB。

        Table 2 Coding performance analysis

        實驗所設(shè)計的可重構(gòu)陣列處理器用Verilog HDL語言描述,以標準測試序列akiyo_qcif作為測試序列在Questasim 10.1d工具下進行功能仿真驗證,采用XILINX公司的ISE14.7開發(fā)環(huán)境進行綜合,選用BEEcube公司的BEE4系列開發(fā)板進行FPGA測試,結(jié)果如表3所示。本文所提出的可重構(gòu)實現(xiàn)方法,支持各個塊大小的率失真優(yōu)化算法,使用測試序列akiyo_qcif進行測試,實現(xiàn)32×32塊大小下的算法判別時,花費4 831個時鐘周期。

        從表3中可以得到,在吞吐量相同的情況下,與文獻[3]方法的結(jié)構(gòu)設(shè)計相比,本文方法的結(jié)構(gòu)設(shè)計在支持大小為4×4~32×32的編碼塊的同時,最高主頻相差不大,且支持動態(tài)可重構(gòu);文獻[10]方法的結(jié)構(gòu)設(shè)計的吞吐量比本文方法的結(jié)構(gòu)設(shè)計更優(yōu),但編碼性能相比本文的設(shè)計較差,在時鐘周期數(shù)基本相同的情況下,最高主頻增加了56%;文獻[15]方法的結(jié)構(gòu)設(shè)計雖然可以支持任意大小的PU,硬件資源消耗較少,但十分耗費時鐘周期;文獻[16]方法的結(jié)構(gòu)設(shè)計的吞吐量優(yōu)于本文的設(shè)計,并且執(zhí)行過程中僅僅消耗892個時鐘周期,但相比于本文方法的結(jié)構(gòu)設(shè)計,其編碼性能較差,且硬件資源消耗增加了150%;文獻[17]方法的結(jié)構(gòu)設(shè)計引入了頭比特估計的方法,簡化了率失真優(yōu)化算法計算的過程,但其硬件設(shè)計不能靈活實現(xiàn)不同塊算法之間的切換,本文方法的結(jié)構(gòu)設(shè)計與之相比,在吞吐量相同的情況下,雖然編碼性能有所降低,但硬件資源減少了8.2%,執(zhí)行的時鐘周期數(shù)減少了16.5%,可以實現(xiàn)不同配置算法之間的快速切換。

        表4為可同時進行多種預測模式處理的并行度對比。本文的可重構(gòu)實現(xiàn)方法支持4~8路并行的處理方式,可以根據(jù)應用處理速度的需求的不同進行選擇,在并行方式的選擇上比文獻[3,4,16,17]方法更加靈活。

        使用本文方法作為幀內(nèi)預測模式的判斷依據(jù),選取了5組測試序列在BEEcube公司的BEE4系列開發(fā)板搭建的可重構(gòu)陣列處理器測試平臺上進行驗證測試。峰值信噪比PSNR(Peak Signal to Noise Ratio)和結(jié)構(gòu)相似性SSIM(Structural Similarity Index Measurement)是2種常用的圖像質(zhì)量評價指標。對一個完整I幀的測試結(jié)果圖像進行分析,如表5所示,相比在HM16.0測試一個完整I幀的結(jié)果,本文方法的平均PSNR值增加了3.223 dB,平均SSIM值為0.999 3。

        Table 3 Structural comparison

        Table 4 Parallelism comparison

        Table 5 Test performance analysis

        6 結(jié)束語

        本文針對基于視頻陣列處理器HEVC靈活的編碼塊增加了率失真優(yōu)化算法硬件實現(xiàn)的難度,難以實現(xiàn)陣列規(guī)模和不同塊的靈活切換的問題,提出一種支持動態(tài)可重構(gòu)的率失真優(yōu)化實現(xiàn)方法。該方法基于上下文切換的重構(gòu)機制,能夠靈活地對不同配置算法進行切換,并且最大限度地利用可重構(gòu)陣列處理器。實驗結(jié)果表明,本文方法對于率失真優(yōu)化算法的可重構(gòu)實現(xiàn),可以達到實時處理的需求,可以快速實現(xiàn)不同規(guī)模、不同塊大小算法之間的靈活切換。對比文獻[17]方法,在支持多個塊大小的情況下,本文方法使用的硬件資源減少了8.2%,算法執(zhí)行的時鐘周期數(shù)減少了16.5%,最突出的優(yōu)點是可以根據(jù)計算時間和視頻質(zhì)量的不同需求,對陣列結(jié)構(gòu)的規(guī)模和執(zhí)行模式進行重新調(diào)度。

        猜你喜歡
        指令處理器重構(gòu)
        聽我指令:大催眠術(shù)
        長城敘事的重構(gòu)
        攝影世界(2022年1期)2022-01-21 10:50:14
        北方大陸 重構(gòu)未來
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        北京的重構(gòu)與再造
        商周刊(2017年6期)2017-08-22 03:42:36
        論中止行為及其對中止犯的重構(gòu)
        Imagination的ClearCallTM VoIP應用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
        ADI推出新一代SigmaDSP處理器
        汽車零部件(2014年1期)2014-09-21 11:41:11
        呼嚕處理器
        小青蛙報(2014年1期)2014-03-21 21:29:39
        一区二区三区精品婷婷| 爆乳熟妇一区二区三区霸乳| 国产午夜福利100集发布| 亚洲粉嫩高潮的18p| 在线人妻无码一区二区| 亚洲成a人片77777kkkkk| 亚洲精品中文字幕码专区| 中文字字幕在线中文乱码解| 国产午夜免费高清久久影院| 亚洲av日韩av无码污污网站| 亚洲一区二区三区日本久久九| 一本大道久久a久久综合| 精品人妻中文字幕一区二区三区| 日本女优中文字幕亚洲| 红桃av一区二区三区在线无码av| 久久久久亚洲av成人无码 | 国产极品少妇一区二区| 轻点好疼好大好爽视频| 久久久久国产一区二区三区| 亚洲两性视频一三区| 日韩国产有码精品一区二在线| 网站在线观看视频一区二区| 男人添女人囗交做爰视频| v一区无码内射国产| 六月丁香久久| 日本一区二区不卡超清在线播放| 96中文字幕一区二区| 亚洲最大成人网站| 一品二品三品中文字幕| 综合网自拍| 特黄三级一区二区三区| 熟女人妻一区二区三区| 亚洲国产精品成人精品无码区在线| 免费a级毛片永久免费| 日韩我不卡| 少妇被日到高潮的视频| 九九久久精品国产免费av| 人妻无码一区二区三区免费| 欧美成年黄网站色视频| 日韩一区二区不卡av| 女同欲望一区二区三区|