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

HEVC 中CABAC 解碼器的硬件設計與實現

2016-12-05 05:13:44袁星范蔡敏
電子設計工程 2016年22期
關鍵詞:設計

袁星范,蔡敏

(華南理工大學 電子與信息學院,廣東 廣州510640)

HEVC 中CABAC 解碼器的硬件設計與實現

袁星范,蔡敏

(華南理工大學 電子與信息學院,廣東 廣州510640)

基于上下文自適應二進制算術編碼(CABAC)是HEVC中采用的一種高效熵編碼,具有很高的壓縮比,但實現結構復雜,且很難并行化。本文設計了一個高性能的CABAC解碼器,并對單周期解碼1bit的硬件結構進行了優化,同時采用流水線結構,進一步提高了解碼性能。采用0.18 μm CMOS工藝,綜合后面積為48K個邏輯門,工作頻率為250 MHz,解碼速度達到1 bit/cycle,適用于高清視頻領域。

CABAC;HEVC;二進制算術編碼;硬件設計

隨著高清視頻應用日益增加,對視頻壓縮性能提出了更高的要求。因此,2010年4月國際電信聯盟電信標準化部門(IUT-T)的視頻編碼專家組(VCEG)和國際標準化組織(ISO)的動態圖像專家組(MPEG)組建視頻編碼聯合組(JCT-VC),聯手制定了新一代視頻編碼標準HEVC。HEVC采用CABAC的熵編碼方式,獲得了高的壓縮效率,但實現結構復雜,諸多的迭代運算,加上各級之間的相關特性使其很難并行化[1-3],在硬件實現上占用較多的面積并且速度較慢。

文中設計了一個高性能的CABAC解碼器,通過對單周期解碼1bit的結構進行改進,優化了面積和關鍵路徑等特性,提高了解碼性能。該設計采用Verilog HDL進行建模和仿真,并利用Synopsys公司的相關工具進行了面積和時序分析。

1 CABAC解碼流程

HEVC中,CABAC的解碼流程如圖1所示。主要由三部分組成:上下文模型,二進制算術編碼和反二值化。

圖1 CABAC解碼框圖

1.1上下文模型

語法元素使用的上下文概率模型都被唯一的概率模型索引號ctxIdx標識,每一個ctxIdx與兩個概率模型變量有關:最大概率符號MPS和概率狀態索引pstate。MPS表示待解碼bit最可能出現的符號,取值為0或1;反之,LPS表示待解碼bit最不可能出現的符號。CABAC中為LPS設定了64個值,pstate與LPS概率值一一對應,在獲得初始概率模型變量后,就可以對符號進行二進制算術編碼和概率模型參數的自適應更新。當MPS出現時,當前概率模型的pstate變大;當LPS出現時,當前概率模型的pstate變小;當概率模型的pstate為0時,表明MPS和LPS概率相同,若再出現LPS,則MPS和LPS必須交換[4]。

1.2二進制算術編碼

二進制算術解碼根據給定的概率模型對區間進行遞歸的劃分,由兩個變量進行描述:范圍Range(R)和偏移量Offset (O)。Range表示當前解碼區間的長度,Offset表示當前從碼流中讀取的bit串表示的實數在解碼區間中的相對位置。每解碼一個bit,R和O都要進行更新,同時,根據當前解碼出來的值更新上下文模型。經過區間劃分后R變得小于256時,就需要進行重新歸一化過程[5-7]。此外,還有兩種特殊情況下的解碼方式:旁路解碼和終止解碼。

1.3反二值化

在HEVC中,常用的二值化方法有截斷萊斯二元化(TR),K階指數哥倫布二元化(EGK),定長二元化(FL)和查表法。反二值化是將二進制算術解碼得到的二元串(bin_string),采用相應的二值化方法得到當前所解語法元素的值,其中每一個這種反二值化后的符號稱之為bin。

2 CABAC的硬件設計

文中CABAC解碼器硬件設計的總圖框圖如圖2所示,主要由四大模塊構成,分別是CABAC Controller模塊、Con-Binarization Controller模塊、Context Cache模塊和 Arithmetic Decoder模塊。

圖2 CABAC硬件設計整體框圖

2.1CABAC Controller模塊

該模塊利用當前相鄰的宏塊信息 (Neighbor information)和已解碼的語法元素值(SE_value),確定下一個需要進行解碼的語法元素類型(syntax_type)。主要由狀態機(FSM),語法元素緩存器(SE_buffer)和解碼控制器(Decode_control)三部分組成,如圖3所示。其中FSM是CABAC的核心控制部分,控制整個解碼流程,該模塊主要輸出結果是需要進行解碼的syntax_type;SE_buffer用來存儲 FSM輸出的 syntax_type和Context.

Cache模塊的控制信號;Decode_control用來控制輸出,把解碼后的信息傳遞給視頻解碼器中CABAC的下一環節。

圖3 CABAC Controller結構圖

2.2Con-Binarization Controller模塊

Con-Binarization Controller模塊包含反二值化(Con-Binarization)和上下文模型選擇(Context Select)兩部分,如圖4所示。Context Select模塊利用輸入的syntax_type和bin_string的索引號(binIdx)確定其概率模型索引號ctxIdx,另外一個重要的輸出信號ctx_idx用來確定所選概率模型的存儲地址;Con-Binarization模塊除了選擇相應的二值化方法進行反二值化外,還包括對bin_string進行串匹配以決定是否完成一個語法元素的解碼,若匹配成功則輸出一個語法元素,并根據碼流語法規定進行ctxIdx的更新,用來選擇下一個bin的概率模型。

圖4 Con-Binarization Controller結構圖

2.3Context Cache模塊

在CABAC的解碼過程中,每解碼完一比特,就會對它所用的上下文模型(context)進行更新,以實現 對視頻流實時統計特性的跟蹤。Context Cache模塊的組成如圖5所示。為了減少數據在SRAM、上下文緩存器(context buffer)和乒乓緩存器(cache0,cache1)之間的交換頻率,context buffer必須要存儲所有的context,乒乓緩存器根據ctx_idx從context buffer中讀取 context和存儲更新的 context。在解碼時,cache0和cache1只有一個處于工作模式用來解碼當前的語法元素,另外一個用來讀取下一個語法元素的context。乒乓緩存器后的選擇器(MUX)用來確定cache0和cache1哪一個處于工作模式,利用transIdxLps,transIdxMps和TabRLPSFULL3個查找表來進行概率模型索引和概率值得更新,最終得到3個變量RLPS,shift_bitLPS,new_RLPS的值作為Arithmetic Decoder模塊的輸入參數。

圖5 Context Cache結構圖

2.4Arithmetic Decoder模塊

本模塊是CABAC的主要模塊,用來實現自適應的二進制算術編碼,輸出的是解碼出來的 bin_string。主要包括Decode_decision、Decode_bypass和 Decode_terminate 3個模塊,其內部結構如圖6所示。對本模塊的硬件優化主要是針對Decode_decision模塊,是Arithmetic Decoder模塊的核心部分。由于傳統CABAC解碼結構各級之間的強相關性[8-11],使得區間劃分,bin裁決,重歸一化只能串行工作,嚴重影響了解碼速率。下面詳述本設計中采用的4種優化方案,如圖7所示。

圖6 Arithmetic Decoder結構圖

圖7 Decode_decision模塊的優化

1)猜測執行

猜測執行是把所有可能的輸入值對應的結構都計算出來,在前級計算的同時后級按所有可能的輸入并行的進行后級計算,再以前級計算結束的結果選擇后級計算結果中正確的那個,實現前后兩級的并行化。在此設計中,把bin裁決的結果作為最佳猜測對象,由于裁決結果位寬只占一個比特,且處于CABAC解碼器的關鍵路徑中,驅動電路只需復制兩份,即MPS和LPS同時獨立的進行解碼,最后根據真實的bin裁決結果進行選通。

2)局部查找表優化

局部查找表優化是指將LPS解碼部分的歸一化運算并入到查找表TabRLPS中,其實質是當面積在可以接受的范圍內,以面積來換速度。

3)邏輯平衡

LPS對應的區間長度RLPS是由查找表TabRLPS得到的,索引值為R的次高兩位(R[7:6])和pstate,由于R[7:6]處于bin解碼的關鍵路徑中,而pstate不是,所以先查索引值pstate,再通過R[7:6]進行結果選擇,來緩解R端輸入時序比較緊張的局面[12-14]。

4)運算順序優化

采用如下公式來交換兩個減法的運算順序使得bin裁決的輸出對各輸入端達到均衡。其中OLPS表示bin裁決結果為LPS時,更新的O值。

2.5流水線設計

CABAC解碼器采用三級流水線結構,第一級流水線FSM控制哪個語法元素要進行解碼和產生相應的上下文模型索引;第二級流水線從SE_buffer中獲取語法元素,從Context Cache中取出context并鎖存起來;第三級流水線進行當前比特的算術解碼,解碼后的bin_string進行反二值化得到相應語法元素的值。采用流水線設計,使解碼時語法元素的延時減少了。提高了解碼速度,同時,對硬件實現的時序也有利。

3 CABAC解碼器的硬件實現

根據上文CABAC解碼器的硬件結構,采用Verilog HDL進行建模,并使用NC_verilog進行了驗證,采用Synopsys公司的Design Compiler進行綜合,綜合面積為48K個邏輯門;Prime Time進行靜態時序分析,沒有時序違規;工作頻率為250 MHz,解碼速度達到1 bit/cycle,滿足高清視頻需求。

4 結束語

文中通過對面積、關鍵路徑等優化,設計了一個高性能的CABAC解碼器硬件結構,并采用流水線設計,顯著提高了CABAC的解碼速度,充分利用了存儲空間,在高清視頻解碼器中具有很大的應用價值[15]。

[1]陳杰,丁丹丹,虞露.高清CABAC解碼器的優化設計與實現[J].計算機工程,2012,38(23):273-276.

[2]Chen Jianwen,Chang Chengru,Lin Youlong.A hardware accelerator for context-based adaptive binary arithmetic Decoding in H.264/AVC[J].IEEE Transactions on Circuits and Systems for Video Technology,2005,15(5):4525-4528.

[3]盛懷亮,林濤.全高清CABAC視頻解碼器的設計與實現[J].計算機工程,2008,34(19):236-228.

[4]萬帥,楊付正.新一代高效視頻編碼H.265/HEVC:原理、標準與實現[M].北京:電子工業出版社,2014.

[5]VIVIENNE S,MADHUKAR B.High throughput CABAC entropy coding in HEVC[J].IEEE TCSVT,2012,22(12):1778-1791.

[6]TSAI C H,TANG C S,CHEN L G.A flexible fully hardware CABAC encoder for UHDTV H.264/avc high profile video[J]. IEEE Trans Consumer Electronics,2012,58(4):1329-1337.

[7]Marpe D,Wiegand T.H.264/MPEG4-AVC Fidelity Range Extensions:Tools,Profile,Performance,and Application Areas[C]// Proc.of IEEE International Conference on Image Processing. San Diego,USA:IEEE Press,2005.

[8]Yu W,He Y.A high performance CABAC decoding architecture[J].IEEE Trans.Consum.Electron.,2005,51(4):1352-1359.

[9]Zhang P.Fast CABAC decoding architecture[J].Electronics Letters,2008,44(24):1394-1395.

[10]胡海明,李金良.基于上下文的自適應二階二進制算術編碼算法[J].計算機工程與設計,2006,27(17):3267-3269.

[11]Zhang P.Fast CABAC decoding architecture[J].Electronics Letters,2008,44(24):1394-1395.

[12]朱敏,劉雷波,王星,等.一種CABAC解碼引擎的芯片實現[J].電路與系統學報,2013,18(2):6-11.

[13]張秀麗,萬忠,鮑程紅.基于碼頭分組的CAVLC解碼算法優化[J].電路與系統學報,2009,14(3):126-130.

[14]Yi Y,Park I C.High-speed H.264/AVC CABAC decoding [J].IEEE Trans.Circuits Syst.Video Technol.,2007,17(4): 490-494.

[15]陳潛,楊秀芝.高清H.264 CABAC解碼器的優化設計[J].有限電視技術,2014(9):46-49.

Hardware design and implementation of CABAC decoder in HEVC

YUAN Xing-fan,CAI Min
(School of Electronics and Information,South China University of Technology,Guangzhou 510640,China)

context based adaptive binary arithmetic encoding(CABAC)is a kind of high efficient entropy encoding used in HEVC,which has a high compression ratio,but it is complex and difficult to be parallel.In this paper,a high performance CABAC decoder is designed,and the hardware structure of the single cycle decoding 1bit is optimized,and the pipeline structure is used to improve the decoding performance.With the 0.18 μm CMOS process,the integrated area is 97K logic gates,the working frequency is 250MHz,the decoding speed reaches 1bit/cycle,which is suitable for the field of HD video.

CABAC;HEVC;binary arithmetic encoding;hardware design

TN4

A

1674-6236(2016)21-0057-03

2015-11-18稿件編號:201511174

袁星范(1991—),男,湖南益陽人,碩士研究生。研究方向:數字芯片設計。

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 69国产精品视频免费| 996免费视频国产在线播放| 亚洲国产AV无码综合原创| 秋霞国产在线| 久久国产精品嫖妓| a网站在线观看| 亚洲精品国产综合99| AV在线麻免费观看网站| 亚洲国产午夜精华无码福利| 国产在线麻豆波多野结衣| 国产哺乳奶水91在线播放| 五月婷婷综合网| 亚洲品质国产精品无码| 欧美成人国产| 一本二本三本不卡无码| 亚洲色图在线观看| 69精品在线观看| 免费A级毛片无码免费视频| 久久久久免费看成人影片| 91九色视频网| yjizz视频最新网站在线| 日本成人福利视频| 国产在线一区视频| 欧美一区精品| 久久综合一个色综合网| 亚洲欧美极品| 国产91丝袜| 成人年鲁鲁在线观看视频| 亚洲国产精品日韩av专区| 狂欢视频在线观看不卡| 又大又硬又爽免费视频| 久久a级片| 中国国产A一级毛片| 亚洲综合经典在线一区二区| 欧美精品v| 欧美成人精品在线| 中文国产成人精品久久一| 国产福利小视频在线播放观看| 五月激情婷婷综合| 国产成人毛片| 国产一级一级毛片永久| 亚洲动漫h| 99热国产这里只有精品无卡顿"| 亚洲欧洲日韩国产综合在线二区| 漂亮人妻被中出中文字幕久久| 国产丝袜无码一区二区视频| 国产一在线| 国产一区成人| 免费在线播放毛片| 成人午夜精品一级毛片| 日本精品视频一区二区| 在线观看无码a∨| 毛片网站免费在线观看| 人妻一本久道久久综合久久鬼色| 无码日韩人妻精品久久蜜桃| 青青草原偷拍视频| 中字无码av在线电影| 黄色一级视频欧美| 久久天天躁狠狠躁夜夜2020一| 亚洲天堂视频在线免费观看| 国产在线高清一级毛片| 久久福利网| 九九香蕉视频| 亚洲九九视频| 日韩毛片免费| 国产一区二区三区视频| www.91在线播放| 青青操国产视频| 色一情一乱一伦一区二区三区小说 | 国产成人永久免费视频| 国产导航在线| 国产三级国产精品国产普男人| 狠狠操夜夜爽| 国产精品成人免费视频99| 亚洲精品第一页不卡| 色欲国产一区二区日韩欧美| 九九热视频精品在线| 免费看a毛片| 精品無碼一區在線觀看 | 国产乱人免费视频| 一级看片免费视频| 爆乳熟妇一区二区三区|