《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > H.265/HEVC熵解碼的分組并行流水線實(shí)現(xiàn)
H.265/HEVC熵解碼的分組并行流水線實(shí)現(xiàn)
電子技術(shù)應(yīng)用
王世豪,,周志剛,郭 旭,,殷先英,,薛曉娜,趙靖宇
(杭州電子科技大學(xué) 電子信息學(xué)院,,浙江 杭州 310018)
摘要: 針對(duì)高效視頻編碼(H.265/HEVC)中CABAC熵解碼模塊的高資源消耗和數(shù)據(jù)依賴(lài)性,,設(shè)計(jì)了一種多路并行的高效FPGA實(shí)現(xiàn)結(jié)構(gòu)。根據(jù)不同類(lèi)型語(yǔ)法元素特性,,采用分組并行數(shù)據(jù)調(diào)度方法,減少數(shù)據(jù)處理等待時(shí)間和內(nèi)部存儲(chǔ)器訪問(wèn)次數(shù),,同時(shí)利用流水線技術(shù)實(shí)現(xiàn)運(yùn)算加速,。評(píng)估驗(yàn)證結(jié)果表明,熵解碼模塊吞吐量可以達(dá)到1.64位元/時(shí)鐘周期,,滿(mǎn)足當(dāng)下超高清視頻實(shí)時(shí)解碼的要求,。
關(guān)鍵詞: H.265HEVC CABAC FPGA
中圖分類(lèi)號(hào):TN919.81 文獻(xiàn)標(biāo)志碼:A DOI: 10.16157/j.issn.0258-7998.223285
中文引用格式: 王世豪,周志剛,,郭旭,,等. H.265/HEVC熵解碼的分組并行流水線實(shí)現(xiàn)[J]. 電子技術(shù)應(yīng)用,,2023,49(10):59-64.
英文引用格式: Wang Shihao,,Zhou Zhigang,,Guo Xu,et al. Parallel pipeline implementation of H.265/HEVC entropy decoding[J]. Application of Electronic Technique,,2023,,49(10):59-64.
Parallel pipeline implementation of H.265/HEVC entropy decoding
Wang Shihao,Zhou Zhigang,,Guo Xu,,Yin Xianying,Xue Xiaona,,Zhao Jingyu
(School of Electronics and Information,, Hangzhou Dianzi University, Hangzhou 310018,, China)
Abstract: To reduce the high resource consumption and high data dependency of the CABAC entropy decoding module in the new generation of High Efficiency Video Coding (H.265/HEVC), a multiple parallel CABAC decoding hardware circuit architecture is designed. According to the characteristics of different types of grammar elements in the decoding process, grouped parallel data scheduling is used to reduce the waiting time and the number of internal memory accesses for data processing, while pipeline technology is used to achieve acceleration of the arithmetic module. The design results show that the entropy decoding module has a throughput of 1.84 bins/clock cycle, meeting the current requirements for real-time decoding of UHD video.
Key words : H.265/HEVC,;CABAC;FPGA

0 引言

與H.264/AVC相比,,視頻壓縮標(biāo)準(zhǔn)H.265/HEVC能夠在相同的圖像質(zhì)量下實(shí)現(xiàn)更低的碼率,,即更高的壓縮比[1]?;谏舷挛牡亩M(jìn)制自適應(yīng)算術(shù)編碼(Context-Adaptive Binary Arithmetic Coding, CABAC)是H.265/HEVC支持的熵編碼方案,。CABAC在熵編碼方案中具有極高的數(shù)據(jù)壓縮率,相對(duì)于另一種熵編碼方案基于上下文的自適應(yīng)可變長(zhǎng)編碼(Context-Adaptive Variable Length Coding, CAVLC),,在同等編碼質(zhì)量下,,CABAC可節(jié)約10%~15%的比特率。

在CABAC中,,上下文建模的保持與更新需要大量的計(jì)算和內(nèi)部存儲(chǔ)器件的訪問(wèn),。在解碼過(guò)程中,語(yǔ)法元素需要其前面的語(yǔ)法元素來(lái)確定上下文地址,,在每個(gè)binVal被解碼獲得時(shí),,解碼過(guò)程需要檢查流是否被更改或保持在相同的語(yǔ)法元素中。因此,,解碼過(guò)程比編碼過(guò)程具有更多的依賴(lài)性,。同時(shí),在標(biāo)準(zhǔn)的熵解碼流程中,,由于位流指針(binIdx)的存在,,導(dǎo)致熵解碼過(guò)程串行程度過(guò)高,占用了較長(zhǎng)的解碼時(shí)間,。導(dǎo)致CABAC模塊成為視頻解碼器的吞吐量瓶頸,。因此,,有必要針對(duì)以上問(wèn)題設(shè)計(jì)一種高并行、高吞吐量的硬件結(jié)構(gòu),。

目前CABAC解碼器的工作可以分為3類(lèi),,分別是基于流水線的時(shí)域并行性擴(kuò)展、基于單周期的多位解碼,、基于預(yù)測(cè)的解碼和基于子區(qū)間重排序的解碼,。文獻(xiàn)[2-3]通過(guò)流水線的方式擴(kuò)展時(shí)域并行性,但碼流之間的高數(shù)據(jù)依賴(lài)使反饋環(huán)路串行程度過(guò)高,,導(dǎo)致在流水線架構(gòu)中過(guò)多的時(shí)鐘冗余,。文獻(xiàn)[4-9]通過(guò)增加額外的解碼邏輯來(lái)增加每周期的解碼輸出位,但該種方法實(shí)現(xiàn)的時(shí)鐘速率較低,。文獻(xiàn)[8-9]通過(guò)使用基于預(yù)測(cè)解碼的方法節(jié)省了預(yù)存解碼信息的硬件開(kāi)銷(xiāo),,但帶來(lái)了額外的關(guān)鍵路徑延遲,且有較高的預(yù)測(cè)失誤懲罰,,導(dǎo)致了較低的吞吐量,。文獻(xiàn)[10]提出適用于HEVC的多路并行硬件CABAC解碼器架構(gòu)。該CABAC解碼器采用multi-bin解碼方式,,其吞吐量可達(dá)到3 026 Mbins/s,。這種結(jié)構(gòu)改進(jìn)算術(shù)編碼(子區(qū)間重排序),縮短了關(guān)鍵路徑,,但這種架構(gòu)前端的碼流控制容易出現(xiàn)性能瓶頸,。文獻(xiàn)[11]在算術(shù)編碼子區(qū)間重排序的基礎(chǔ)上,采用5級(jí)流水線的結(jié)構(gòu),,進(jìn)一步使用鎖存器來(lái)減少熵解碼的面積開(kāi)銷(xiāo),,布局布線后可實(shí)現(xiàn)峰值為1 696 Mbins/s的解碼性能。但使用子區(qū)間排序后,,編碼器和解碼器必須同時(shí)使用才能保證編解碼一致性,,實(shí)用性不高。

針對(duì)上述方法存在的不足,,本文根據(jù)CABAC解碼算法特點(diǎn)和FPGA硬件高并行的特性,,提出了一種多路并行的CABAC解碼器。通過(guò)將語(yǔ)法元素分組并行處理,,減少了內(nèi)部寄存器使用與訪問(wèn)次數(shù),,優(yōu)化了關(guān)鍵路徑,增加了CABAC解碼器的吞吐量,,并且在編碼端不需做任何特殊配置,所提出的結(jié)構(gòu)實(shí)用性很高,。



本文詳細(xì)內(nèi)容請(qǐng)下載:http://forexkbc.com/resource/share/2000005714




作者信息:

王世豪,,周志剛,,郭旭,殷先英,,薛曉娜,,趙靖宇

(杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018)

微信圖片_20210517164139.jpg

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。