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
主站蜘蛛池模板: 日韩免费毛片视频| 久久综合九色综合97婷婷| 青青操视频免费观看| 欧美第二区| 91蜜芽尤物福利在线观看| 欧美激情网址| 成人在线观看一区| 国产资源站| 欧美第二区| 国产精品爆乳99久久| 亚洲精品无码在线播放网站| 狠狠综合久久| 99久视频| 国产成人av一区二区三区| 久久久久久久久亚洲精品| 国产亚洲现在一区二区中文| 韩日免费小视频| 欧美在线网| 国内熟女少妇一线天| 日韩国产黄色网站| 国产素人在线| 国产精品美人久久久久久AV| 国产亚卅精品无码| 日本午夜精品一本在线观看| 日韩视频免费| 欧美亚洲国产一区| 五月婷婷丁香综合| 国产91丝袜在线播放动漫| 亚洲成人黄色网址| 国产拍揄自揄精品视频网站| 亚洲成AV人手机在线观看网站| 成年人视频一区二区| 国产精品爽爽va在线无码观看 | 国产精品亚洲αv天堂无码| 亚洲欧美自拍一区| 国产SUV精品一区二区| 国产福利免费在线观看| 国产精品福利导航| 九九九国产| 欧美精品一二三区| 国产免费a级片| 国产福利一区二区在线观看| 久久精品国产91久久综合麻豆自制| 午夜啪啪网| 一级毛片免费不卡在线 | 国产丰满大乳无码免费播放| 国产精品冒白浆免费视频| 91无码人妻精品一区| 中文字幕欧美日韩高清| 看你懂的巨臀中文字幕一区二区| 伊人色综合久久天天| 蜜桃臀无码内射一区二区三区| 中文字幕乱码中文乱码51精品| 国模极品一区二区三区| 国产精品手机在线播放| 免费无码网站| 亚洲日本一本dvd高清| 国产亚洲欧美另类一区二区| 中文字幕亚洲电影| 毛片网站在线播放| 亚洲精品无码不卡在线播放| 毛片视频网址| 九九热精品在线视频| 亚洲自偷自拍另类小说| 亚洲日韩国产精品无码专区| 国产91小视频在线观看| 91福利一区二区三区| 亚洲人成影院在线观看| 国产高清毛片| 在线精品亚洲国产| 日本免费福利视频| 国产精品天干天干在线观看 | 孕妇高潮太爽了在线观看免费| 亚洲女同一区二区| 成人午夜视频网站| 亚洲福利一区二区三区| 自慰高潮喷白浆在线观看| 日本一区二区三区精品国产| 国产喷水视频| 欧美精品在线免费| 最新国产网站| 久久精品国产91久久综合麻豆自制 |