蔣 林, 楊 倩, 鄧軍勇, 郭佳樂
(1.西安郵電大學 電子工程學院, 陜西 西安 710121; 2.西安郵電大學 計算機學院, 陜西 西安 710121)
HEVC去方塊濾波中濾波邊界的確定與實現
蔣林1, 楊倩2, 鄧軍勇1, 郭佳樂1
(1.西安郵電大學 電子工程學院, 陜西 西安 710121;2.西安郵電大學 計算機學院, 陜西 西安 710121)
摘要:針對HEVC中去方塊濾波的邊界確定問題,提出一種并行確定方法。該方法通過從每個8×8像素塊提取出Depth、TransformIdx和PartMode等3個參數索引信息,給出去方塊濾波邊界的確定條件;基于動態可編程可重構體系結構,使用3個處理元來并行確定濾波邊界。實驗結果表明,該方法判斷變換單元和預測單元邊界的加速比是1個處理元的1.56倍,頻率可達155.966MHz,有效降低了執行時間,提高視頻編碼效率。
關鍵詞:高效視頻編碼;去方塊濾波;邊界確定
高效視頻編碼(HighEfficiencyVideoCoding,HEVC)標準[1]是新一代視頻壓縮編碼標準。相比H.264/AVC標準[2],其在保證相同視頻質量的前提下可以降低50%左右的比特率[3],已廣泛用于通信、娛樂、抗震救災等視覺相關領域。
圖像邊界塊的不連續性是影響圖像模糊、視頻質量不高的主要因素。在HEVC中,去方塊濾波僅對變換單元(TransformUnit,TU)或者預測單元(PredictionUnit,PU)邊界中的8×8塊邊界進行濾波處理。采用基于塊的混合編碼框架,可以減弱方塊效應,提高圖像的主觀質量和壓縮效率[4-6]。HEVC去方塊濾波首先要確定濾波邊界,適當的基濾波邊界的確定方法,可以在保證相同性能和比特率的條件下提高編碼性能[7]。本文擬在動態可編程可重構陣列結構上,利用文獻[7]的濾波邊界確定方法,實現確定濾波邊界算法的并行化映射。
1HEVC中邊界的確定
HEVC的圖像劃分模式[8-9]是將一幅圖像劃分成大小相同的64×64編碼樹單元(CodingTreeUnit,CTU),對于每個64×64的CTU,按照四叉樹的遞歸方式進行劃分。根據深度參數Depth(取值范圍0~3)判斷當前編碼單元(CodingUnit,CU)是否需要進一步劃分成更小的編碼單元。圖1是深度參數對應的四叉樹劃分結構。與CU邊界確定方法類似,根據參數TransformIdx(取值范圍0~3)進行TU邊界的確定。

圖1 四叉樹劃分結構
PU有Skip、Intra和Inter等3種劃分模式,根據參數索引PartMode(取值范圍0~7)來確定該邊界是否是PU邊界,圖2所示為HEVC中PU的劃分模式。

圖2 HEVC中PU的劃分模式
2去方塊濾波邊界的確定與實現
2.1去方塊濾波邊界的確定條件
HEVC采用遞歸劃分的方法遍歷所有的像素塊進行濾波邊界的確定,計算復雜度硬件實現的難度很大。根據去方塊濾波只處理8×8塊大小的PU或者TU邊界,給出去方塊濾波邊界的確定條件。
對于64×64大小的CTU,當下列條件中任何一個條件成立時,該邊界是TU邊界。
(1)Depth=0,TransformIdx=3;
(2)Depth=1,TransformIdx=2;
(3)Depth=2,TransformIdx=1;
(4)Depth=3。
對于垂直邊界而言,當下列條件中任何一個條件成立時,該邊界是PU邊界。
(1)Depth=1,PartMode=6/7;
(2)Depth=2,PartMode=2/3。
對于水平邊界而言,當下列條件中任何一個成立時,該邊界是PU邊界。
(1)Depth=1,PartMode=4/5;
(2)Depth=2,PartMode=1/3。
2.2動態可編程可重構陣列結構
視頻陣列處理器系統結構是由1 024個輕核處理元(ProcessingElement,PE)鄰接互連成的動態可編程可重構陣列結構。該陣列結構包含64個簇,每個簇包含16個PE,每個PE采用load/store模式的RISC架構,按照取指、譯碼、執行、寫返回4級流水線結構進行執行。圖3所示為輕核處理元PE的邏輯實現示意圖。

圖3 PE邏輯結構
每個PE內部包含512×32大小的指令存儲單元、512×16大小的數據存儲單元、12個本地寄存器(R1-R7,R12-R15)和4個共享寄存器(RE、RS、RW、RN),各個PE之間通過4個共享寄存器實現東南西北4個方向之間數據的交互,圖4所示為3個PE的鄰接互連示意圖。

圖4 PE的鄰接互連示意圖
以PE01左邊的數據通過寄存器R10傳遞到PE00中寄存器R3為例說明數據的交互機制。當在PE01取指單元取出指令,譯碼單元對指令進行解析,當目的寄存器號rd_num==4'd10時,執行請求信號wo_exu_wr有效,PE00處理元中與此信號相連的的信號ei_w_r高有效,處理元PE01中需要傳遞的數據通過信號wo_exu_data傳遞到ei_data,當PE00中信號ei_w_r高有效時,將傳遞來的數據寫入PE00的寄存器R3中,PE01其他3個方向數據的交互與此類似。
2.3濾波邊界確定的實現過程
在動態可編程可重構陣列結構中采用1個PE確定去塊濾波邊界的流程如圖5所示。
從圖5中可以看出濾波邊界的確定過程在1個PE順序中執行并且需要經過多次分支判斷,這降低了執行效率。

圖5 1個PE確定濾波邊界的流程
在動態可編程可重構陣列結構中使用3個輕核處理元(PE00、PE01、PE02)確定濾波邊界的流程如圖6所示。
采用3個PE并行確定濾波邊界的具體操作步驟如下。
步驟1直接從8×8大小的塊中提取出Depth、TransformIdx、PartMode參數信息,將提取出的參數信息依次存放在PE01本地數據存儲單元中,存儲地址為1~3,將邊界類型變量EDGT_TYPE的值(取值范圍0~1,0表示處理垂直邊界,1表示處理水平邊界)存放在PE02本地數據存儲單元的1號地址中。
sequence(adcresultb0,10); sequence(adcresultb1,10);
步驟2從PE01本地數據存儲單元中取出Depth、TransformIdx、PartMode參數信息,依次存放到寄存器R1、R2、R4中,通過共享寄存器RW將參數Depth和TransformIdx信息傳遞到PE00中,最后將參數Depth、PartMode信息通過共享寄存器RE傳遞到PE02中。
步驟3PE00在等待共享寄存器RW的數據到來之前,將立即數3、2、1依次存放到PE00本地寄存器R4、R5、R6中,然后根據PE01傳遞來的參數Depth和TransformIdx,在PE00中判斷濾波邊界是否是TU邊界,如果滿足確定條件,則將1賦給PE00寄存器R15,否則R15置為0。同時,PE02在等待共享寄存器RE的數據到來之前,從PE02的本地數據存儲單元中取出變量EDGT_TYPE的值放入寄存器R3中,并將PartMode的取值(0~7)存入相應的寄存器中,接著根據PE01傳遞的參數Depth和PartMode在PE02中判斷濾波邊界是否是PU邊界,如果滿足確定條件,則PE02數據存儲單元中2號地址數據置為1,否則置為0。

圖6 3個PE確定濾波邊界的流程
3實驗結果及分析
3.1仿真結果及分析
根據動態可編程可重構陣列結構的設計原理,搭建建模仿真平臺,時鐘周期為20ns。在該建模仿真平臺上,針對8×8大小的編碼單元CU,采用1個PE和3個PE的仿真結果如表1所示。

表1 仿真結果統計
表1中指令數表示程序運行時實際執行的指令條數[10]。采用1個處理元(PE00)判斷TU和PU邊界,總指令數表示TU和PU邊界確定時所需的指令條數;指令數表示判斷TU和PU邊界確定所需要執行的最多指令數。
采用3個處理元(PE00、PE01和PE02)確定TU和PU邊界時,PE01順序加載數據,不存在分支判斷類指令,所以總指令數和實際執行的指令數相同;PE00和PE02需要分別接收從PE01中通過鄰接互連方式傳遞來的數據,然后分別在PE00和PE02中進行TU邊界和PU邊界的確定。根據TU和PU邊界成立的條件可以看出,PE00和PE02中存在許多分支判斷類指令,所以在PE00和PE02中確定TU和PU邊界所需執行的實際指令數小于總指令數。

表2 各個PE的CPU執行時間
根據Amdahl定律[12],將1個任務分配到3個處理器中進行并行操作時,假設串行計算部分所占的比重為s,則加速比

(1)
從式(1)可知,當1個任務全部可以并行化,即s=0時,加速比sp達到最大值3。通過對去方塊濾波算法的分析,仍然存在需要加載索引信息并且通過鄰接互連機制將索引信息傳遞給相鄰處理元等串行執行的操作,所以實際加速比sp小于3。根據表2實測數據,并行化的加速比sp為1.56。結果表明,該設計并行處理的性能提高了1.56倍,有效降低了執行時間。
3.2硬件測試結果及分析
采用ISE14.7工具對設計電路進行綜合,資源占用情況如圖7所示。

圖7 綜合后資源占用情況
將電路下載到ZYNQ系列芯片XC7Z045ffg900-2進行測試,通過Chipscope捕獲待測信號cur_pc,結果如圖8所示。
結果表明:使用3個處理元工作的頻率達到155.966MHz,占用了1 570個SliceRegisters和4 215個SliceLUTs,編碼效率提高。

圖8 采用3個PE實現結果
4結語
并行化確定HEVC中去方塊濾波邊界的方法,從8×8塊中提取出的參數索引信息Depth、TransformIdx、PartMode以及變量EDGE_TYPE,基于動態可編程可重構陣列結構,使用3個處理元PE可以并行確定出濾波邊界。實驗結果表明,使用3個PE判斷PU和TU邊界的加速比約是1個PE的1.56倍,頻率達到155.966MHz,有效降低了編碼執行時間,提高編碼效率。
參考文獻
[1]VIVIENNESze,MADHUKARBudagavi,etal.HighEfficiencyVideoCoding(HEVC)[M].Berlin:Springer, 2015:171-206.
[2]畢厚杰. 新一代視頻壓縮編碼標準[M].北京:人民郵電出版社, 2005:129-135.
[3]SULLIVANGJ,OHMJR,HANWJ,etal.OverviewoftheHighEfficiencyVideoCoding(HEVC)Standard[J].IEEETransactionsonCircuits&SystemsforVideoTechnology, 2012, 22(12):1649-1668.DOI:10.1109/TCSVT.2012.2221191.
[4]NORKINA,BJONTEGAARDG,FULDSETHA,etal.HEVCDeblockingFilter[J].Circuits&SystemsforVideoTechnologyIEEETransactionson, 2012, 22(12):1746-1754.DOI:10.1109/TCSVT.2012.2223053.
[5]FANGCC,CHENIW,CHANGTS.Ahardware-efficientdeblockingfilterdesignforHEVC[C]// 2015IEEEInternationalSymposiumonCircuitsandSystems(ISCAS).Lisbon:IEEE,2015:1786-1789.DOI:10.1109/ISCAS.2015.7169001.
[6]SHENW,SHANGQ,SHENS,etal.Ahigh-throughputVLSIarchitecturefordeblockingfilterinHEVC[C]// 2013IEEEInternationalSymposiumonCircuitsandSystems(ISCAS).Beijing:IEEE,2013:673-676.DOI:10.1109/ISCAS.2013.6571936.
[7]KANGR,ZHOUW,HUANGX,etal.AnefficientdeblockingfilteralgorithmforHEVC[C]// 2014IEEEChinaSummit&InternationalConferenceonSignalandInformationProcessing(ChinaSIP).Xi’an:IEEE, 2014:379-383.DOI:10.1109/ChinaSIP.2014.6889268.
[8]KIMIK,MINJ,LEET,etal.BlockPartitioningStructureintheHEVCStandard[J].IEEETransactionsonCircuits&SystemsforVideoTechnology, 2012, 22(12):1697-1706.DOI:10.1109/TCSVT.2012.2223011.
[9]田小平,田永召.面向交互應用的HEVC編碼性能分析[J].西安郵電大學學報,2014,19(3):6-11.DOI:10.13682/j.issn.2014.03.002.
[10]DAVIDA.PATTERSON.計算機組成與設計硬件/軟件接口[M].北京:機械工業出版社, 2007:158-179.
[11]SCHAFERH,NIEBNERM,KEINERTB,etal.StateoftheArtReportonReal-timeRenderingwithHardwareTessellation[C/OL]//LEFEBVRES,SPAGNUOLOM.Eurographics2014:StateoftheArtReports. [s.l.]:TheEurographicsAssociation, 2014:93-117[2015-10-10].http://dx.doi.org/10.2312/egst.20141037.
[12]JUURLINKBHH,MEENDERINCKCH.Amdahl’slawforpredictingthefutureofmulticoresconsideredharmful[J].AcmSigarchComputerArchitectureNews, 2012, 40(2):1-9.DOI:10.1145/2234336.2234338.
[責任編輯:祝劍]
DeterminationandimplementationoffilteringboundaryfordeblockingfilterinHEVC
JIANGLin1,YANGQian2,DENDJunyong1,GUOJiale1
(1.SchoolofComputerScienceandTechnology,Xi’anUniversityofPostsandTelecommunications,Xi’an710121,China;2.SchoolofElectronicEngineering,Xi’anUniversityofPostsandTelecommunications,Xi’an710121,China)
Abstract:A parallel method is proposed to determine the boundaries of deblocking filter in HEVC. This method extracts the information such as Depth, TransformIdx and PartMode from each 8×8 block to provide the decision condition of the boundaries for deblocking filter. Based on the dynamical, programmable and reconfigurable architecture, this method uses three processing elements to determine the filter boundaries. Experiment results show that compared with the way by using a single PE, this method can increase the speedup of judging PU and TU boundaries about 1.56 times, and the frequency can reach up to 155.966 MHz according to FPGA testing. All these can effectively reduce the execution time and improve the efficiency of video coding.
Keywords:High Efficiency Video Coding(HEVC),deblocking filter,boundary decision
doi:10.13682/j.issn.2095-6533.2016.03.017
收稿日期:2015-12-10
基金項目:國家自然科學基金資助項目(61272120);陜西省自然科學基金資助項目(2015JM6326)
作者簡介:蔣林(1970-),男,博士,教授,從事專用集成電路設計研究。E-mail:jl@xupt.edu.cn 楊倩(1989-),女,碩士研究生,研究方向為計算機應用技術。E-mail:1294855670@qq.com
中圖分類號:TN919.81
文獻標識碼:A
文章編號:2095-6533(2016)03-0099-06