[發(fā)明專利]一種基于VivadoHLS實現(xiàn)的CABAC流水線編碼方法在審
| 申請?zhí)枺?/td> | 201710070543.4 | 申請日: | 2017-02-09 |
| 公開(公告)號: | CN106851276A | 公開(公告)日: | 2017-06-13 |
| 發(fā)明(設(shè)計)人: | 趙亦工;孫睿 | 申請(專利權(quán))人: | 西安電子科技大學(xué) |
| 主分類號: | H04N19/13 | 分類號: | H04N19/13;H04N19/70 |
| 代理公司: | 北京挺立專利事務(wù)所(普通合伙)11265 | 代理人: | 葉樹明 |
| 地址: | 710071 陜西省*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 vivadohls 實現(xiàn) cabac 流水線 編碼 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及的是圖像處理技術(shù)領(lǐng)域,具體的說是一種基于Vivado HLS實現(xiàn)的CABAC流水線編碼方法。
背景技術(shù)
以X264、openh_264為代表的軟件版H.264標(biāo)準(zhǔn)編碼器已經(jīng)非常成熟,而實時的硬件視頻壓縮實現(xiàn)上技術(shù)還不夠成熟,目前,以海思為代表的H.264視頻壓縮專用芯片已經(jīng)走向市場,而這些芯片存在的問題的是應(yīng)用定制性過強(qiáng),應(yīng)用不夠靈活,實時壓縮環(huán)節(jié)往往是作為圖像處理系統(tǒng)的一個子模塊,這些處理芯片要么是不好與整個系統(tǒng)兼容,專用芯片需要單獨設(shè)計電路與其它系統(tǒng)互聯(lián),要么是成本過高,一個小型的圖像處理系統(tǒng)整體造價都沒有一個芯片的成本高,往往會更好。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的缺陷和不足,提供了一種基于Vivado HLS實現(xiàn)的CABAC流水線編碼方法,基于FPGA平臺設(shè)計開發(fā)了H.264標(biāo)準(zhǔn)熵編碼的關(guān)鍵環(huán)節(jié)CABAC模塊,可以根據(jù)不同的需要靈活修改配置,調(diào)整資源,以適應(yīng)各種情況下的視頻壓縮熵編碼需求。
為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
一種基于Vivado HLS實現(xiàn)的CABAC流水線編碼方法,其步驟如下:
1、初始化算術(shù)編碼變量與上下文模型;
2、常規(guī)編碼階段劃分,常規(guī)編碼階段劃分為6步:上下文模型的讀取、編碼區(qū)間的劃分、上下文模型的更新、正規(guī)化過程、字節(jié)碼流的生成、碼流輸出;
3、編碼階段按流水線布置;
4、在Vivado HLS上實現(xiàn)設(shè)計;
5、為編碼過程添加指令;
6、編寫測試用例;
7、高級綜合;
8、C與RTL級聯(lián)合仿真。
進(jìn)一步,所述上下文模型的讀取步驟是:根據(jù)上下文模型的索引值從數(shù)組pState[460]中讀取上下文模型,它的概率狀態(tài)為pStateIdx,最大概率符號為valMPS,最小概率符號為1-valMPS。
進(jìn)一步,所述區(qū)間劃分的步驟是:取上次編碼結(jié)果codIRange的前3位,與pStateIdx一起構(gòu)成的坐標(biāo),查表得到當(dāng)發(fā)生LPS時,編碼區(qū)間寬度值codIRangeLPS,默認(rèn)輸入的binVal等于valMPS,并執(zhí)行發(fā)生MPS時的操作:令codIRange減去codIRangeLPS,然后再判斷輸入的binVal是否等于上下文模型中的MPS,如果等于,則區(qū)間劃分結(jié)束,如果不等于,則執(zhí)行發(fā)生LPS時的操作:令上次編碼的結(jié)果codILow疊加當(dāng)前的codIRange,再給codIRange賦以新值codIRangeLPS。
進(jìn)一步,所述上下文模型的更新步驟是:CABAC事先設(shè)計好了概率狀態(tài)轉(zhuǎn)移表,以當(dāng)前的概率狀態(tài)為坐標(biāo),查表即可得到新的概率狀態(tài),將新的概率狀態(tài)賦給對應(yīng)的上下文模型。
進(jìn)一步,所述正規(guī)化過程的步驟是:判斷區(qū)間劃分結(jié)果是否在預(yù)先設(shè)置的合理區(qū)間范圍內(nèi),如果在,則不執(zhí)行任何操作,如果不在,則計算需要擴(kuò)大的倍數(shù),這里擴(kuò)大的倍數(shù)都是2的冪次,所以只用對codIRange和codILow進(jìn)行左移操作即可,左移的位數(shù)累加到變量firstbitflag中。
進(jìn)一步,所述字節(jié)碼流的生成步驟是:判斷firstbitflag是否大于等于8,如果是,則截取codILow的高8位(有時可能是高9或10位)作為碼字,并且firstbitflag減8(或者9,10),繼續(xù)累加下次正規(guī)化過程的移位數(shù),如果不是,則跳過接下來的碼流輸出環(huán)節(jié)。
進(jìn)一步,所述碼流輸出的步驟是:判斷上一步生成的碼字是否等于255,如果是,則bitOutstanding累加1,如果不是,則bitOutstanding賦值為0,由于算術(shù)編碼過程中,當(dāng)前生成的碼流可能超過8位,需要向上一個生成的8位字節(jié)碼流進(jìn)位,所以在輸出碼字的過程中,我們單獨設(shè)置一個緩沖字節(jié),存放當(dāng)前生成的碼字,使其在碼流輸出階段不必輸出,等待下一次生成新的碼字,疊加新碼字的進(jìn)位再輸出,然后輸出bitOutstanding個溢出碼流再疊加進(jìn)位之后的碼字,最后新的碼字將再次放入這個緩沖字節(jié)中。
本發(fā)明的有益效果為:
1、CABAC編碼速度快,可以實現(xiàn)2個時鐘周期處理一個二進(jìn)值bin。
2、節(jié)省資源,F(xiàn)PGA芯片的平均LUT使用情況為7000左右。
3、開發(fā)周期時間短,算法效果在FPGA上運行的效果很快就能得到,無需編寫專門的RTL級硬件描述語言。
4、應(yīng)用靈活,容易移植,不用過多考慮與其他模塊兼容特性。
附圖說明
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安電子科技大學(xué),未經(jīng)西安電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710070543.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 互動業(yè)務(wù)終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強(qiáng)現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預(yù)報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設(shè)備實現(xiàn)方法及其實現(xiàn)裝置
- 用于基于上下文的自適應(yīng)二進(jìn)制算術(shù)譯碼位流的多級解碼的架構(gòu)
- 每時鐘CABAC編碼采用2個BIN的視頻編碼器
- 圖像處理裝置和方法
- 用于上下文自適應(yīng)二進(jìn)制算術(shù)譯碼的上下文數(shù)目縮減
- 用于對視頻數(shù)據(jù)進(jìn)行編碼和解碼的方法和裝置
- 一種基于CPU+GPU異構(gòu)平臺實現(xiàn)HEVC中的CABAC的并行方法
- 一種基于CABAC的H.264/AVC加密視頻隱寫方法
- 解碼數(shù)據(jù)值序列的方法、數(shù)據(jù)解碼裝置及視頻接收機(jī)
- 一種基于HEVC的殘差編碼吞吐率優(yōu)化系統(tǒng)及方法
- 視頻編碼和解碼中的仿射模式信令





