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

基于熵編碼器的存儲優化和二值化器改進

2021-07-09 17:19:32許詩卉
現代計算機 2021年14期
關鍵詞:優化

許詩卉

(上海交通大學電子信息與電氣工程學院,上海 200240)

0 引言

H.266/VVC 作為目前最新的視頻編碼標準,比上一代H.265/HEVC 提高50%的壓縮率[1]。在VVC 中,視頻聯合視頻專家組(JVET,Joint Video Experts Team)依然選用CABAC(Context-Based Adaptive Binary Arith?metic Coding)作為熵編碼的唯一算法。

CABAC 編碼器一般選用DSP(Digital Signal Pro?cessing)、FPGA(Field Programmable Gate Array)和ASIC(Application-Specific Integrated Circuits)等技術實現。其中DSP 的性能存在爭議[21],根據文獻[21-22]ASIC 的處理速度平均比FPGA 快3-5 倍,因此專用的ASIC 設計已經成為視頻編碼器實現的主要解決方案。

近年來,有很多改進方案通過提高并行度[5,8,11,13]來提高熵編碼的吞吐率,例如Z.Liu[12]采用2 bin 并行的重歸一化操作,Wei Fei[5]將四個BAE(算術編碼引擎,Binary Arithmetic Encoding)單元級聯從而實現4bins/cycle 的吞吐率。但是這種結構會使關鍵路徑長度增加2-4 倍。另外一些學者試圖從面積或功耗的角度降低成本[6,9],例如A.L.d.M.Martins 等人[9]將一元碼和FL(定長編碼,Fixed Length)編碼引擎級聯實現EGk(K 階指數哥倫布編碼,Kth Exp-Golomb)二值化編碼,平均可以節省50%的硬件資源,但是也需要犧牲一半的頻率。目前還沒有關于針對系統級的存儲優化和架構優化層面提高吞吐量方面的研究。

本文提出基于塊合并的數據重排技術,通過對待編碼語法元素的排布方式進行優化合并,可以節省69%的存儲空間。此外還提出基于語法元素分組的二值化選擇管理技術,通過調整二值化架構把編碼時鐘的占比率提高了20.13%。該方案在TSMC 28nm 工藝下綜合得到的最高頻率是480MHz,可以處理1.47bins/cycle。

1 CABAC編碼器的硬件架構

如圖1 所示,視頻編碼架構包括幀內預測、幀間預測、變換/量化、環路濾波、熵編碼等模塊。作為視頻編碼的最后環節,熵編碼根據隨機過程的統計信息進行預測編碼,是一種無損壓縮算法。經過熵編碼處理待編碼語法元素(SE),但可能會消耗整個處理時間的24%以上[2]。

圖1 視頻編碼架構

熵編碼過程包括3 個主要步驟:①二值化(BZR,Binarization);②上下文建模與更新(Context Modeling and Updating);③二進制算術編碼(BAE,)Binary Arith?metic Encoding。圖2 是我們的熵編碼器架構。在這種結構中EC_CTRL 主要負責編碼控制,CABAC_BZR 負責對語法元素進行二值化;CTX_INIT、CTA_MAG 共同完成上下文初始化與更新工作,上下文數據存儲在CTX_RAM 里;BAE 模塊將bin 字符串編碼成bit 流后通過SP(Stream Packer)打包輸出。中間插入buffer 平衡BZR 和BAE 的速度。

上述架構中EC_CTRL 需要和CABAC_BZR 進行交互握手,得到響應信號后再向下編碼下一個語法元素,交互信號需要額外2 個cycle 來實現,會增加硬件電路中的氣泡。與此同時,由于傳統設計中基于塊劃分的存儲結構,存儲待編碼語法元素的RAM 空間利用率比較低,一個字長(64bit)的最低利用率僅有6.25%,也存在優化空間。

2 基于塊合并的高效存儲方式

在ASIC 設計里普遍采用基于塊劃分的存儲方式,根據CU(Coding Unit)、PU(Prediction Unit)、TU(Trans?form Unit)等的劃分情況,把單個Unit 內的語法元素進行合并(即單個字內存儲的語法元素不能跨越CUPUTU 的劃分邊界)。這樣:在Intra 模式下,1 個CTU 最多需要存儲的非殘差語法元素的個數為:1CTU+2SAO+64×(1CU+1TT+6RC)=515(x64bit);在In?ter 模式下,對于單向預測的PB 塊最小尺寸為4×8 和8×4,對于雙向預測的PB 塊,最小尺寸為8×8,為此最多需要存儲的非殘差語法元素的個數為:1CTU+2SAO+64×(2PU+1TT+6RC)=579(x64bit)。無論在Intra 還是Inter 模式下,最多需要存儲的殘差語法元素的個數為:64×64×16×1.5/256=384。為此,硬件實現時需要兩塊RAM,一塊大小為579×64 Bit 用來存放一個CTU 的非殘差語法元素,一塊大小為384×256 Bit 用來存放一個CTU 的殘差語法元素。

在對多個視頻測試序列中的語法元素進行統計分析后,與TU 相關的語法元素(存放在TT(Transform Tree)和RC(Residual Coding)中)占總數據量的72.97%~83.12%,他們的存儲效率與塊尺寸有極大的相關性,具體數值如表1 和表2 所示。理想情況下TT 和RC對存儲空間的平均利用率為10.49%。綜上所述,本文決定對TT 和RC 兩個部分進行存儲優化。

表1 TT 部分存儲空間利用率

表2 RC 部分存儲空間利用率

分析表1 和表2 中的數據可得小于16x16 的塊存儲空間利用率不足25%,小于8×8 的塊存儲利用率剛好是6.25%。HEVC 中編碼塊基于四叉樹進行劃分,因此當合并塊的個數是4 的倍數或者是16 的倍數時更有利于硬件結構的實現。基于上述特性,本文選擇16×16 尺寸作為分界點,對于大于等于16×16 的CU 塊和TU 塊依然基于塊劃分存儲語法元素,對于小于16×16的塊把它們的信息一律合并到一個字長里(64bit),為了尋址方便,在單個字長內采用等分的方式,即有效信息中間會存在若干bit 的保留位。

經過優化后的存儲器非殘差語法元素采用64bit位寬的RAM:在Intra 模式下,最多需要1CTU+2SAO+64CU+16TT+7RC+16×1.5RC=114(個字);在Inter 模式下,對于單向預測的PB 塊最小尺寸為4×8 和8×4,對于雙向預測的PB 塊,最小尺寸為8×8,為此最多需要1CTU+2SAO+64×2PU+16TT+7RC+16×1.5RC=178(個字)。存儲殘差語法元素的空間不變。綜上所述,優化后的設計在硬件實現時需要兩塊RAM,一塊大小為178×64 Bit 用來存放一個CTU 的非殘差語法元素,一塊大小為384×256 Bit 用來存放一個CTU 的殘差語法元素。和優化前的相比,存儲非殘差語法元素的RAM 比原來節省69%的存儲空間。

3 基于語法元素分組的二值化選擇管理技術

H.265 里一共用到5 種二值化方式:一元碼(Unary)、截斷一元碼(TU,Truncated Unary)、截斷萊斯碼(TR,Truncated Rice Binarization)、定長編碼(FL,Fixed Length)、K 階指數哥倫布編碼(EGk,Kth Exp-Golomb)。H.266 除了上述幾種二值化方式外新增截斷二元碼(TB,Truncated Binary)。其中FL、TR、EGK 等模塊可以被多個語法元素共用,其他用特殊方式進行二值化的語法元素,比如H.265 里的part_mode(PM)等需要單獨模塊來處理。二值化模塊的結構如圖3 所示。

圖3 二值化模塊

如圖3 所示,在基于語法元素分組的設計結構中所有語法元素的二值化都在CABAC_BZR 模塊進行,A.B.Hmida[7]和N.Neji 等人[15]的設計也也基于該結構。如圖2 中所示,控制模塊和二值化模塊之間通過二相握手協議進行交互,控制模塊向CABAC_BZR 塊發送編碼請求信號cabac_req,待編碼完成后CA?BAC_BZR 模塊將二值化后的數據發送到Buffer 進行緩存,并且向CTRL 模塊返回響應信號cabac_ack,CTRL 模塊接到cabac_ack 信號后可以進入下一個狀態,即每次二值化最少需要2 個cycle 完成。FL 二值化只需要根據各個語法元素的cMax 值對數據做拼接操作,交互信號使每個bin 都有至少1 個cycle 氣泡。經統計,H.265 里一共有56 種語法元素,其中用FL 方式二值化的有39 種,即69.64%的語法元素都需要消耗額外1 個cycle 來進行二值化;H.266 里一共有111種語法元素,其中用FL 二值化的有76 個即68.46%的語法元素都需要消耗額外1 個cycle 執行二值化編碼,氣泡總數相當可觀。

本課題通過對二值化架構進行微調整,把FL 編碼提到語法元素的預處理模塊(如圖4 所示),這樣用FL方式編碼的語法元素可以經過選擇器篩選后直接送入Buffer 中等待后續模塊的處理,有效減少了上述由握手信號帶來的額外時鐘消耗,使編碼時鐘占比率提高了20.13%。

圖4 改進后的熵編碼器結構

4 實驗結果

本文用Verilog 語言實現了如圖3 中所述的編碼器架構,用Cadence NCsim 工具進行電路仿真和功能驗證,并通過的Cadence Genus 工具進行邏輯綜合,綜合過程基于TSMC 28nm 的工藝庫。表3 中列出了本文實驗結果以及和之前工作的比較。

表3 與其他論文的結果對比

仿真過程的輸入激勵由官方測試模型HM16.20 獲得,用Perl 語言編碼的腳本對得到的測試激勵進行處理,調整成第2 小節中我們需要的順序。

如表3 所示,所提出的架構平均每個周期編碼1.47 個bin,最高工作頻率為480MHz,編碼器的吞吐量可以達到706Mbits/s,遠遠大于2560×1600@60fps 的視頻序列實時編碼時所需要的423.44Mbits/s[8]時的吞吐率。如圖5 所示為歸一化后的面積效率對比,可以看到本文設計的面積效率是文獻[8]中設計的1.73 倍。

圖5 面積效率對比

5 結語

本文提出了基于HEVC 視頻編碼標準的CABAC編碼器的硬件設計,并且提出了非殘差語法元素的存儲優化方案,使該RAM 可以節省掉69%的硬件資源。同時優化后的架構可以將編碼時鐘占比率提高20.13%,跟以往設計相比可以實現1.73 倍的面積效率。

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 国产精品自拍露脸视频| 91色在线观看| 国产无码精品在线| a色毛片免费视频| 国产91av在线| 国产91无码福利在线| 国产乱子伦手机在线| 欧美视频二区| 亚洲色图欧美在线| 依依成人精品无v国产| 九九久久99精品| 亚洲国产亚洲综合在线尤物| 日本福利视频网站| 岛国精品一区免费视频在线观看| 丁香五月激情图片| 久久久久久久久18禁秘| 国产精品久久久久久久伊一| 日本久久网站| 91福利在线观看视频| 一级黄色网站在线免费看| 国产精品99在线观看| 亚洲天堂视频在线观看免费| 激情无码字幕综合| 91精品伊人久久大香线蕉| 91麻豆精品国产91久久久久| 国产特级毛片| 国产高清色视频免费看的网址| 国产国拍精品视频免费看| 91精品国产91久久久久久三级| 欧美亚洲国产日韩电影在线| 好久久免费视频高清| 亚洲精品国产乱码不卡| 欧美无专区| 欧美精品二区| 国产成人精品男人的天堂| 久久青草视频| 国产精品无码作爱| 无码国产伊人| 69视频国产| 日韩成人在线一区二区| 国产综合在线观看视频| 中文字幕亚洲另类天堂| 白丝美女办公室高潮喷水视频| 国产精品夜夜嗨视频免费视频| 香蕉网久久| 久久这里只精品国产99热8| 天天色综网| 欧美日韩国产综合视频在线观看| 九色综合伊人久久富二代| 色妞永久免费视频| 亚洲精品第五页| 日本不卡在线播放| 亚洲综合婷婷激情| 成人一区专区在线观看| 国产全黄a一级毛片| 98精品全国免费观看视频| 色妺妺在线视频喷水| 亚洲香蕉在线| 亚洲美女高潮久久久久久久| 中文字幕免费视频| 伊人精品成人久久综合| yjizz视频最新网站在线| 色综合久久88| 狠狠色丁香婷婷综合| 性色一区| 国产精品无码作爱| 久久久久久尹人网香蕉| 亚洲国产精品国自产拍A| 国产又黄又硬又粗| 2048国产精品原创综合在线| 91精品国产综合久久不国产大片| 午夜啪啪网| 国产后式a一视频| 国产成人高清精品免费5388| 免费观看精品视频999| 日韩人妻无码制服丝袜视频| 欧美日韩中文字幕二区三区| 亚洲婷婷六月| 午夜免费视频网站| 日韩精品一区二区深田咏美| 精品视频一区二区三区在线播| 青青操视频在线|