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

        ?

        可重構(gòu)陣列處理器上HEVC流水線并行化設(shè)計與實現(xiàn)*

        2023-10-25 01:12:18謝曉燕崔馨月
        傳感器與微系統(tǒng) 2023年10期
        關(guān)鍵詞:流水線編碼器處理器

        趙 靜,蔣 林,朱 筠,謝曉燕,楊 坤,崔馨月

        (1.西安郵電大學(xué) 電子工程學(xué)院,陜西 西安 710121;2.西安科技大學(xué) 安全科學(xué)與工程學(xué)院,陜西 西安 710600;3.西安郵電大學(xué) 計算機學(xué)院,陜西 西安 710121)

        0 引 言

        為適應(yīng)不同高級應(yīng)用場景下的視頻編碼需求,新一代高效視頻編碼(high efficiency video coding,HEVC)標準引入了諸多新技術(shù),來提高編碼效率[1]。但是,分辨率和壓縮性能的提升伴隨著計算復(fù)雜性和編碼時間的急劇增加,這對高清視頻的實時處理提出了巨大的挑戰(zhàn),在保證視頻圖像質(zhì)量的前提下如何節(jié)省編碼時間成為學(xué)者們的研究熱點[2,3]。

        硬件解決方案因其高性能、低功耗等優(yōu)點成為實現(xiàn)HEVC編碼器的主流趨勢,主要包括3 種類型:第1 種是中央處理器(CPU)/圖像處理器(graphic processing unit,GPU)架構(gòu)[4],將部分高計算強度負載轉(zhuǎn)移到GPU上,但其大多數(shù)難以實現(xiàn)細粒度的并行,無法滿足逐漸嚴苛的編碼時間需求;第2種是在專用集成電路和現(xiàn)場可編程門陣列(field programmable gate array,F(xiàn)PGA)中實現(xiàn)[5,6],雖然可以解決計算效率低的問題,但應(yīng)用發(fā)生變化時,需要重新設(shè)計電路,靈活性較差;第3種是基于可重構(gòu)陣列處理器的解決方案[7],F(xiàn)PGA是一種細粒度的可重構(gòu)器件,雖然在設(shè)計時不可避免地受到可用資源和頻率的限制,但可重構(gòu)陣列處理器可以根據(jù)視頻圖像不同的需求,對處理單元邏輯功能和連接方式進行靈活配置,具有較好的靈活性和擴展性。

        面對海量像素數(shù)據(jù)、高復(fù)雜度視頻編碼算法和苛刻的實時性要求,除了具有性能優(yōu)越的硬件配置之外,基于硬件資源協(xié)調(diào)分配的并行優(yōu)化算法設(shè)計也很重要。文獻[6]的優(yōu)化算法極大地提高了吞吐量,然而,高復(fù)雜性的優(yōu)化算法引入了13%的編碼開銷,優(yōu)化代價較大。文獻[7~9]重點針對編碼器內(nèi)的單個算法進行優(yōu)化,實現(xiàn)編碼速度或圖像質(zhì)量的提升。但這些大多數(shù)都是針對局部算法的優(yōu)化,性能提升效果有限。

        本文引入軟件流水線思想,提出一種基于可重構(gòu)陣列處理器的HEVC算法流水線并行實現(xiàn)方案。將所有編碼塊級的子任務(wù)組織成流水線的形式,將其并行映射在不同處理單元簇上,并進行全局的流水線并行化設(shè)計,使得編碼塊可以同時被處理,從而減少硬件的等待時間。該方法在不引入其他額外硬件開銷、不降低視頻圖像質(zhì)量的同時,實現(xiàn)編碼效率提升66%。

        1 可重構(gòu)陣列處理器與HEVC并行性分析

        1.1 可重構(gòu)陣列處理器

        項目組前期研發(fā)的可重構(gòu)陣列處理器結(jié)構(gòu)如圖1 所示[10,11]。每個處理單元組(processing element group,PEG)由4 ×4的輕核處理單元(processing element,PE)陣列、存儲單元和高速交換開關(guān)構(gòu)成。全局控制器利用H-tree傳輸網(wǎng)絡(luò)向PE陣列下發(fā)配置信息,對計算資源進行管理和控制。數(shù)據(jù)輸入存儲器(data input memory,DIM)和數(shù)據(jù)輸出存儲器(data output memory,DOM)用來存放待編碼視頻圖像的原始數(shù)據(jù)和處理結(jié)果。

        可重構(gòu)陣列處理器中豐富的計算資源為視頻編碼提供了強大的算力,可重構(gòu)配置的計算系統(tǒng)使用靈活的高速計算結(jié)構(gòu)來執(zhí)行并行處理,以適應(yīng)視頻算法的多樣性,有效提高HEVC編碼器計算效率。

        1.2 編碼算法的并行性分析

        HEVC映射方案包含幀內(nèi)環(huán)路和幀間環(huán)路,每個算法映射在不同的PEG上,如圖2 所示。幀內(nèi)預(yù)測算法從DIM中讀取原始數(shù)據(jù),將計算得到的殘差值作為輸出傳遞給離散余弦變換(discrete cosine transform,DCT)算法,并將最優(yōu)預(yù)測值傳遞給求和模塊,去塊(deblocking,DB)濾波算法將編碼塊處理結(jié)果存入DOM。幀間環(huán)路主要包含整數(shù)運動估計(integer motion estimation,IME)、運動補償(motion compensation,MC)、DCT算法、求和模塊和DB算法。

        圖2 HEVC映射方案

        各編碼算法具有不同的數(shù)據(jù)流特性,結(jié)合可重構(gòu)陣列處理器分析不同算法的并行加速方案如下:

        1)幀內(nèi)預(yù)測算法:各種預(yù)測模式的計算過程相互獨立,將其映射在不同的PE上,采取多種預(yù)測模式并行處理的加速方案。

        2)DCT算法:主要包含變換、量化、反量化和反變換這4個步驟,每個步驟映射在不同的PE 上,則至少需要4 個PE來共同完成。1個PEG共有16個PE,因此,將輸入數(shù)據(jù)流劃分為4組,采取4路并行的方式。

        3)DB濾波算法:DB 濾波算法需將像素塊劃分為2 部分,分別進行濾波操作,且濾波過程中無數(shù)據(jù)依賴關(guān)系,采取2路并行的方式可以使得這2部分像素同時進行處理。

        4)MC算法:各像素點的插值計算過程相互獨立,因此,將輸入數(shù)據(jù)分發(fā)到不同PE中,同一時間進行多個像素點的插值計算。

        5)IME算法:IME中進行4個參考塊的SAD值計算,其計算過程相互獨立,可以采取4路并行的方式加速計算。

        1.3 HEVC流水線并行性分析

        在非流水線編碼方式下,只有將該編碼塊的處理結(jié)果存入DOM并產(chǎn)生復(fù)位信號后,才可以開始處理下一編碼塊。因此,每個PEG有超過1/2的時間處于等待狀態(tài),沒有充分發(fā)揮PEG可獨立并行運行的優(yōu)勢,存在硬件資源浪費問題,過長的等待時間也極大限制了HEVC效率。

        軟件流水線技術(shù)將編碼塊處理過程劃分為不同的階段,每個階段對應(yīng)不同的執(zhí)行單元,各執(zhí)行單元并行工作的方式增大子任務(wù)的吞吐量,從而縮短完成總?cè)蝿?wù)所需要的時間?;诳芍貥?gòu)陣列處理器的HEVC視頻編碼器具有分簇執(zhí)行的特點,即不同算法對應(yīng)不同的PEG,具備流水線并行化的基本條件。假設(shè)編碼一幀圖像是總?cè)蝿?wù),則每個編碼塊的處理過程可以看作是不同的子任務(wù)。

        2 HEVC流水線并行優(yōu)化設(shè)計實現(xiàn)

        2.1 基于編碼塊的HEVC流水段劃分

        幀內(nèi)和幀間環(huán)路的流水級設(shè)計如表1 所示。HEVC編碼器在每個流水線周期均讀取一個新的編碼塊并開始它的處理流程。流水線周期,即編碼塊沿流水線移動的時間間隔,取決于運行時間最長的算法。當(dāng)流水線處于滿載狀態(tài)時,PE利用率最高,相較于之前同一時間周期內(nèi)只能處理1個編碼塊,流水線編碼器的幀內(nèi)環(huán)路可以同時處理4個編碼塊;幀間環(huán)路可以同時處理5個編碼塊。

        表1 HEVC的流水段劃分

        2.2 HEVC算法的自動循環(huán)設(shè)計

        流水線的正常工作要求各執(zhí)行單元必須具有自動循環(huán)處理子任務(wù)的能力,即每個算法模塊完成一個編碼塊處理結(jié)果的傳輸之后,程序自動跳轉(zhuǎn)到頭部重新開始執(zhí)行,進行下一個編碼塊的處理。

        以DCT算法為例,其在PE 陣列上的并行映射結(jié)果如圖3 所示,PE00 將編碼塊的像素分為4 組并分別發(fā)送到PE10、PE20和PE30,每組4 個橫向PE 間采用鄰接互聯(lián)的數(shù)據(jù)傳遞方式完成處理流程,最后由PE03將處理結(jié)果傳輸給下一個模塊。此時,PE03在其本地存儲器的510 號地址存儲1個數(shù)字作為結(jié)束標志,該簇中的其他PE運行結(jié)束后循環(huán)檢測該標志,若能檢測到則跳轉(zhuǎn)到程序首行,開始下一編碼塊的處理;若沒有檢測到則繼續(xù)等待,直到檢測成功。

        圖3 DCT算法在PEG11 上的并行映射

        2.3 基于握手機制的流水線調(diào)度

        HEVC流水線的調(diào)度過程如圖4 所示,當(dāng)前PEG 在向下一級算法所在的PEG傳遞處理結(jié)果前,需要確保其處于空閑狀態(tài)。算法運行結(jié)束時在特定的地址空間存儲一個數(shù)字作為握手信號,其他算法通過檢測該握手信號是否存在來判斷該算法的運行狀態(tài)。當(dāng)握手成功時,代表算法處于空閑狀態(tài),此時可以向其PE傳輸數(shù)據(jù)。各流水段算法在首次執(zhí)行時,其對應(yīng)的處理元簇必定為空閑狀態(tài),故不需要檢測握手信號,可直接開始執(zhí)行。

        圖4 流水線調(diào)度過程

        2.4 數(shù)據(jù)沖突問題的解決方案

        由于環(huán)路的數(shù)據(jù)流向在幀內(nèi)預(yù)測算法處存在分支,而同一PEG內(nèi)存儲空間不能在同一流水線周期內(nèi)重復(fù)使用,否則最后存入的數(shù)據(jù)會覆蓋掉先前存儲的數(shù)據(jù),從而導(dǎo)致流水線在求和模塊產(chǎn)生數(shù)據(jù)沖突。

        為了解決這個問題,采用輪詢存儲方法,將可能產(chǎn)生沖突的數(shù)據(jù)按標簽分開存儲,不同的標簽對應(yīng)不同的編碼塊和存儲位置,編碼塊循環(huán)存儲在不同的空間。在幀內(nèi)環(huán)路中,求和模塊處于流水線的第三級,因此,該算法所在的PEG01內(nèi)最多可能存儲3 個編碼塊的最優(yōu)預(yù)測數(shù)據(jù),所以設(shè)置3個標簽,從而避免了流水線設(shè)計引起的數(shù)據(jù)沖突。

        3 實驗結(jié)果與性能分析

        3.1 仿真驗證方案與結(jié)果分析

        為了檢驗本文提出方案的正確性和可行性,基于可重構(gòu)陣列處理器進行仿真驗證。首先,使用仿真軟件將測試數(shù)據(jù)轉(zhuǎn)換為二進制的形式存入DIM 中,并將指令通過平臺專用的翻譯器轉(zhuǎn)換為陣列處理器可以識別的二進制指令,存入對應(yīng)PE陣列的指令存儲器中,完成初始化工作。然后使用基于標準的驗證軟件進行仿真驗證,Xilinx 公司的ISE14.7 開發(fā)環(huán)境進行綜合,選用BEE4 系列開發(fā)板XC6VLX550T進行FPGA 測試[12]。實驗表明,編碼器的工作頻率為153.6 MHz,電路規(guī)模為164553Flip—flops,測試結(jié)果如圖5所示,其中,圖5(a)~(c)為幀內(nèi)環(huán)路的測試結(jié)果,圖5(d)~(f)為幀間環(huán)路的測試結(jié)果,均具有良好的可視效果。

        圖5 測試結(jié)果

        為了驗證所提方案適用于各種不同類型的視頻圖像,選取不同類別的標準測試序列進行編碼測試,表2 為改進前后方案的性能比較。加速比S為改進前后執(zhí)行時間的比率,衡量并行化的性能效果,計算如式(1)所示,T1和Tn分別為流水線并行前和并行后的處理器運行時間

        表2 改進前后性能對比

        結(jié)果顯示,流水線并行方案的平均加速比約2.92,圖像的編碼時間比改進之前平均減少了66%,節(jié)省了大量的編碼時間,編碼器性能得到明顯提升。

        3.2 性能分析比較

        本文基于可重構(gòu)陣列處理器的HEVC編碼器充分利用了編碼單元內(nèi)細粒度并行性和可重構(gòu)特性,同時引入流水線設(shè)計,獲得了較高的加速比。文獻[13]通過設(shè)計模式?jīng)Q策的并行架構(gòu)實現(xiàn)編碼器加速,雖然硬件開銷很小,但其編碼時間相比本文較長。圖6為本文方案與文獻[13]的方案對不同分辨率視頻圖像的處理時間,灰色折線代表的是加速比。可以看出,本文方案相對于文獻[13]獲得了普遍的加速,對高清視頻圖像的處理時間節(jié)約了18%,運行時間整體較短,并且受分辨率影響較小。

        圖6 處理速度的比較

        峰值信噪比(peak signal to noise ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity,SSIM)是2 種常用的評估視頻圖像質(zhì)量的指標。選取5組測試序列,在全I幀配置下進行測試,結(jié)果如表3所示,平均SSIM值為0.994 1;與HM16.8 相比,PSNR值平均增加了0.021 9 dB,基本保持不變。結(jié)果表明,本文方案在編碼時間得到提高的同時,視頻圖像質(zhì)量也得到了保證。

        表3 與HM16.8 的視頻圖像質(zhì)量對比

        4 結(jié)束語

        本文分析HEVC算法的數(shù)據(jù)相關(guān)性,結(jié)合可重構(gòu)陣列處理器的工作特性,對不同處理元簇上的編碼算法進行自動循環(huán)設(shè)計,并基于握手機制設(shè)計流水線調(diào)度方式,實現(xiàn)了HEVC流水線并行化映射。此外,采用輪詢存儲方法避免了圖像重建模塊的數(shù)據(jù)沖突。該方案在FPGA平臺上的工作頻率可達153.6 MHz,對比改進前方案的執(zhí)行時間減少了約66%。在保證視頻圖像質(zhì)量不降低和不消耗更多硬件資源的前提下,實現(xiàn)了視頻編碼速度的提升。

        猜你喜歡
        流水線編碼器處理器
        Gen Z Migrant Workers Are Leaving the Assembly Line
        流水線
        基于FPGA的同步機軸角編碼器
        基于PRBS檢測的8B/IOB編碼器設(shè)計
        報廢汽車拆解半自動流水線研究
        JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
        電子器件(2015年5期)2015-12-29 08:42:24
        Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
        ADI推出新一代SigmaDSP處理器
        汽車零部件(2014年1期)2014-09-21 11:41:11
        多總線式光電編碼器的設(shè)計與應(yīng)用
        呼嚕處理器
        小青蛙報(2014年1期)2014-03-21 21:29:39
        аⅴ资源天堂资源库在线| 亚洲第一页视频在线观看| 一区二区三区中文字幕p站| 高清不卡一区二区三区| 香蕉色香蕉在线视频| 日本高清中文一区二区三区| 熟女肥臀白浆一区二区| 国产ww久久久久久久久久| 四虎影永久在线观看精品| 成人午夜视频在线观看高清| 富婆猛男一区二区三区| 亚洲看片lutube在线观看| 狠狠色噜噜狠狠狠97影音先锋| 亚洲中文字幕日本日韩| 波多野结衣中文字幕久久| 无码av免费永久免费永久专区| 国产精品丝袜美腿诱惑| 新婚少妇无套内谢国语播放| 色偷偷888欧美精品久久久 | 97精品一区二区视频在线观看 | 区无码字幕中文色| 国产一区二区av在线免费观看| 美女高潮黄又色高清视频免费 | 日韩一二三四精品免费| 亚洲三级香港三级久久| 伊人久久大香线蕉av色| 精精国产xxxx视频在线| 台湾自拍偷区亚洲综合| 精品人妻少妇av中文字幕| 国产自偷自偷免费一区| 亚洲欧美日韩精品高清| 精品亚洲一区中文字幕精品| 狠狠色噜噜狠狠狠777米奇小说| 国产在线观看入口| 丰满少妇又爽又紧又丰满动态视频| 妃光莉中文字幕一区二区| 男女啪啪永久免费观看网站| 色综合色综合久久综合频道| 国产精品毛片av毛片一区二区| 精品久久久久久成人av| 成年女人A级毛片免|