999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

HEVC中率失真優化算法的動態可重構實現*

2021-03-01 03:33:42謝曉燕鄧軍勇劉新闖胡傳瞻
計算機工程與科學 2021年2期
關鍵詞:指令優化方法

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

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

1 引言

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

使用專用硬件進行率失真優化算法的實現方式主要有2種:針對特定規模和針對固定大小編碼塊的硬件設計。針對特定規模的硬件設計雖然能滿足算法實現的需要,但是結構固定,不能根據處理速度的需求改變硬件實現的規模。文獻[3]提出一種支持8路并行的率失真優化實現方法,可同時進行8種預測模式的計算,在減少計算時間的同時增加了硬件資源的消耗;文獻[4]設計了一種支持3路并行的率失真優化結構,雖然減少了資源消耗,但每次只能進行3種模式的并行計算,若選擇模式增加,計算時間會大幅增加。針對固定大小預測塊的實現方法雖然能減少硬件的資源消耗,但固定塊大小的預測方式降低了編碼壓縮效率,文獻[5-7]均設計了一種支持4×4大小預測塊的率失真優化算法的硬件結構,雖然減少了資源消耗,提升了計算精度,但該設計對于平坦圖像的計算量增加,且僅針對4×4大小的預測塊。文獻[8-10]所設計的硬件結構雖然支持不同大小的預測塊、預測模式齊全的率失真優化算法,但硬件實現過于復雜,資源消耗大。通過專用硬件實現率失真優化算法,雖然提升了性能,減少了算法的執行時間,但資源消耗過多,靈活性較差,難以針對不同的應用需求進行靈活切換??芍貥嬯嚵刑幚砥髂軌蚋鶕煌曨l圖像處理需求,靈活配置處理元邏輯功能和處理元之間的連接方式,既具有一定的靈活性,又具有計算的高效性。

因此,本文基于項目組前期研究的視頻陣列處理器,提出一種動態可重構的率失真優化實現方法,將不同配置的率失真優化算法初始化在可重構陣列的指令存儲中,基于上下文切換的重構機制及指令下發網絡,實現不同規模、不同大小預測塊的率失真優化算法之間的動態重構,并且可以根據計算時間和視頻質量的不同需求,對陣列結構的規模和執行模式進行重新調度。

2 率失真優化算法分析

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

J=SATD(s,p)+λmodeRmode

(1)

其中,SATD(s,p)為經過幀內預測后得到的殘差塊的SATD,s表示原始像素值,p表示預測像素值,Rmode是編碼當前模式所需要的比特數,λ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)。這種劃分方式雖然提高了率失真優化算法對最優模式選擇的準確性,但針對不同大小的預測塊進行計算時,需要重復遍歷35種預測模式,大大增加了從最小塊到最大塊遞歸計算的復雜度。

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

3 率失真優化算法的動態可重構實現

3.1 動態重構機制

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

Figure 2 Structure of context switched array processor

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

3.2 率失真優化算法的并行化設計

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

Figure 3 Mapping map of rate distortion optimization algorithm

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

3.3 率失真優化算法可重構實現

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

Figure 5 Mapping map of pattern reconfiguration

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

Figure 4 Statistics of block division under different test sequences

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

4 幀內預測模式的重構實現

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

5 實驗結果及性能分析

5.1 測試方法及結果

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

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

Figure 6 Run time to complete a frame of image

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

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

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

Figure 7 Test results

Table 1 Reconfigurable switching cycles

5.2 性能分析

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

Table 2 Coding performance analysis

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

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

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

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

Table 3 Structural comparison

Table 4 Parallelism comparison

Table 5 Test performance analysis

6 結束語

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

猜你喜歡
指令優化方法
聽我指令:大催眠術
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 萌白酱国产一区二区| 日韩在线欧美在线| 九九九精品成人免费视频7| 欧美在线一二区| 伊人久久大香线蕉成人综合网| 国产一区二区网站| 国产精品白浆无码流出在线看| 69国产精品视频免费| 日韩国产黄色网站| 色成人综合| 91精品国产自产在线观看| 综合色天天| 国产成人综合在线观看| 欧美国产另类| 亚洲精品大秀视频| 乱人伦视频中文字幕在线| 亚洲第一网站男人都懂| 亚洲中文字幕23页在线| 国产精品xxx| 国产高清在线观看| 成人av手机在线观看| 制服无码网站| 不卡网亚洲无码| 亚洲第一国产综合| 婷婷六月综合网| 在线视频一区二区三区不卡| 国产精品漂亮美女在线观看| 免费毛片a| 国产乱子伦一区二区=| 三上悠亚在线精品二区| 亚洲品质国产精品无码| 久久夜夜视频| 欧美成人国产| 欧美怡红院视频一区二区三区| 精品久久国产综合精麻豆| 2021无码专区人妻系列日韩| 亚洲欧美国产五月天综合| 国产一区免费在线观看| 亚洲二区视频| 国产欧美在线观看一区| 久久99国产乱子伦精品免| 97在线观看视频免费| 国产成人一区二区| 欧美在线伊人| 免费人成视网站在线不卡| 成人午夜免费观看| 国产精品林美惠子在线观看| 亚洲浓毛av| 中文字幕日韩久久综合影院| 国产91线观看| 日韩成人免费网站| 欧美精品亚洲精品日韩专区va| 91 九色视频丝袜| 国产h视频免费观看| 国产在线自在拍91精品黑人| 视频在线观看一区二区| 5388国产亚洲欧美在线观看| 日韩av无码精品专区| 国产亚洲精品自在线| 亚洲婷婷丁香| 国产91高跟丝袜| a欧美在线| 91免费国产高清观看| 欧美成人看片一区二区三区| 波多野结衣一区二区三区四区| 亚洲无码A视频在线| 国产 日韩 欧美 第二页| 国产欧美日韩va另类在线播放| 国内精自线i品一区202| 日本爱爱精品一区二区| 成人年鲁鲁在线观看视频| 一本一道波多野结衣av黑人在线| 丰满人妻久久中文字幕| 国产高清免费午夜在线视频| 91一级片| 亚洲aⅴ天堂| 青青青伊人色综合久久| 色综合手机在线| 青草视频网站在线观看| 九九久久精品免费观看| 无码国产偷倩在线播放老年人| 91麻豆国产视频|