[發(fā)明專(zhuān)利]基于霍夫曼編碼的編碼方法、譯碼方法及應(yīng)用在審
| 申請(qǐng)?zhí)枺?/td> | 201810998614.1 | 申請(qǐng)日: | 2018-08-29 |
| 公開(kāi)(公告)號(hào): | CN109104199A | 公開(kāi)(公告)日: | 2018-12-28 |
| 發(fā)明(設(shè)計(jì))人: | 江正忠 | 申請(qǐng)(專(zhuān)利權(quán))人: | 重慶物奇科技有限公司;上海物麒科技有限公司 |
| 主分類(lèi)號(hào): | H03M7/40 | 分類(lèi)號(hào): | H03M7/40 |
| 代理公司: | 重慶強(qiáng)大凱創(chuàng)專(zhuān)利代理事務(wù)所(普通合伙) 50217 | 代理人: | 隋金艷 |
| 地址: | 401120 重慶市渝*** | 國(guó)省代碼: | 重慶;50 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 霍夫曼編碼 獨(dú)立序列 霍夫曼編碼序列 卷積神經(jīng)網(wǎng)絡(luò) 編碼步驟 編碼單元 編碼序列 編碼裝置 模塊獲取 輸入序列 順次連接 譯碼效率 影響譯碼 解壓縮 放入 譯碼 占位 搜尋 輸出 壓縮 應(yīng)用 | ||
本發(fā)明公開(kāi)了一種基于霍夫曼編碼的編碼方法,包括了編碼步驟,對(duì)輸入序列以第一指定長(zhǎng)度為編碼單元進(jìn)行霍夫曼編碼;以及補(bǔ)長(zhǎng)步驟,用于從霍夫曼編碼模塊獲取由編碼值組成的霍夫曼編碼序列,并以第二指定長(zhǎng)度作為邊界,如果最后一個(gè)編碼值輸入無(wú)法被放入到W長(zhǎng)度的獨(dú)立序列以?xún)?nèi),就將該編碼值放到下一個(gè)第二指定長(zhǎng)度的獨(dú)立序列內(nèi),而在當(dāng)前獨(dú)立序列內(nèi)剩余的長(zhǎng)度全部補(bǔ)入不影響譯碼結(jié)果的占位碼,最終輸出由多個(gè)長(zhǎng)度為第二指定長(zhǎng)度的獨(dú)立序列順次連接而成的編碼序列。本發(fā)明還公開(kāi)了相應(yīng)的基于霍夫曼編碼的編碼裝置,以及一種壓縮解壓縮方法和卷積神經(jīng)網(wǎng)絡(luò)中的應(yīng)有,具有不必對(duì)邊界進(jìn)行搜尋,大大提高了譯碼效率的效果。
背景技術(shù)
霍夫曼(Huffman)編碼是一種無(wú)損的熵編碼,廣泛應(yīng)用于數(shù)字音視頻等信息壓縮。
霍夫曼編碼是對(duì)輸入序列按概率進(jìn)行分類(lèi),較高概率用較少的bit來(lái)編碼,較低概率則用較多bit編碼。在譯碼時(shí),需要一個(gè)編碼映射表格,將每個(gè)編碼值在表格中進(jìn)行搜索,以還原成原來(lái)的數(shù)據(jù)序列。這樣一種編碼方式在數(shù)據(jù)序列中有較多冗余時(shí),能獲得較好的壓縮比。
以二值霍夫曼編碼為例,假定存儲(chǔ)序列存在較多相同值,我們可以利用霍夫曼編碼原則對(duì)將數(shù)據(jù)分為兩類(lèi):一類(lèi)是常數(shù)值MFV(most frequently value),一般是對(duì)存儲(chǔ)矩陣進(jìn)行搜索,找到最經(jīng)常出現(xiàn)的值,這類(lèi)值會(huì)映射為編碼值“0”,僅僅占用1bit;另一類(lèi)是非MFV值,該類(lèi)值會(huì)映射在其加一個(gè)前導(dǎo)的“1”,作為其分類(lèi)標(biāo)志。當(dāng)然也有使用相反編碼邏輯的情況,這只是使用習(xí)慣的區(qū)別。
將輸入序列每16bit為一編碼單位為例子,假定0x1010是最常出現(xiàn)的值,它映射為bit0,那么下面的序列映射關(guān)系是:
0x1010----1’b0
0x4567----{1’h1,16’h4567}
0x1010----1’b0
0x1234----{1’h1,16’h1234}
0x1010----1’b0
0x1010----1’b0
霍夫曼譯碼的實(shí)現(xiàn)則與此過(guò)程相反,對(duì)于每一個(gè)長(zhǎng)度為W的輸入序列,需要從第一個(gè)bit進(jìn)行搜索,將其與編碼映射表進(jìn)行匹配,獲得第一個(gè)輸出;同時(shí)更新輸入序列W,將已經(jīng)譯碼完的bit丟棄,進(jìn)行新的字搜索。
由此可見(jiàn),由于是一種變長(zhǎng)度編碼,霍夫曼編碼的譯碼通常情況下是串行的,前后的譯碼值存在依賴(lài),下一個(gè)字的搜索起點(diǎn)取決于上一個(gè)字的譯碼結(jié)果,因此并不適合并行譯碼,進(jìn)而不利于以很高的吞吐率進(jìn)行譯碼,也不利于硬件高效率實(shí)現(xiàn)。
現(xiàn)有技術(shù)中,提出了利用霍夫曼邊界碼將原始的霍夫曼編碼分割為多個(gè)互不依賴(lài)的數(shù)據(jù)序列,譯碼時(shí)通過(guò)搜尋該邊界碼來(lái)找到每一個(gè)數(shù)據(jù)序列并輸入到不同的譯碼器中,從而可以實(shí)現(xiàn)各個(gè)數(shù)據(jù)序列并行的進(jìn)行譯碼。
然而,高速傳輸和處理系統(tǒng)都是流水線實(shí)現(xiàn),霍夫曼邊界碼速度再快,也很難跟上處理器或主設(shè)備(master)的速度。另外,當(dāng)一個(gè)霍夫曼譯碼器的譯碼層時(shí)機(jī)(decode layertiming)不滿(mǎn)足系統(tǒng)帶寬需求時(shí),通常會(huì)引入流水線(pipeline)的設(shè)計(jì),而由此引入的延遲(latency)會(huì)導(dǎo)致地址跳轉(zhuǎn)時(shí)流水線的清空及地址“回退”,而如果沒(méi)有可預(yù)測(cè)的邊界,地址回退或重計(jì)算幾乎不可能,現(xiàn)有技術(shù)中即便是使用了編譯碼,但由于霍夫曼編碼是變長(zhǎng)度的,所以每個(gè)互不依賴(lài)的數(shù)據(jù)序列的長(zhǎng)度也是不確定的,即便使用了邊界碼,也是通過(guò)搜選來(lái)進(jìn)行邊界確定,其邊界仍然是不可預(yù)測(cè)的。
發(fā)明內(nèi)容
本發(fā)明意在提供一種編碼方法,使得用于并行譯碼的霍夫曼編碼序列的邊界可以預(yù)測(cè),進(jìn)而可在硬件中實(shí)現(xiàn)快速高效的并行譯碼。
一種基于霍夫曼編碼的編碼方法,包括以下內(nèi)容:
編碼步驟:對(duì)輸入序列以第一指定長(zhǎng)度為編碼單元進(jìn)行霍夫曼編碼;
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于重慶物奇科技有限公司;上海物麒科技有限公司,未經(jīng)重慶物奇科技有限公司;上海物麒科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810998614.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
H03M 一般編碼、譯碼或代碼轉(zhuǎn)換
H03M7-00 把用給定序列的數(shù)字或給定數(shù)目的數(shù)字來(lái)表示信息的碼,轉(zhuǎn)換到用不同序列的數(shù)字或不同數(shù)目的數(shù)字來(lái)表示相同信息的碼
H03M7-02 .轉(zhuǎn)換到加權(quán)代碼或相反轉(zhuǎn)換,即對(duì)一數(shù)字的加權(quán)與該數(shù)字在信息組或代碼字中的位置有關(guān)
H03M7-14 .轉(zhuǎn)換到非加權(quán)代碼或相反轉(zhuǎn)換
H03M7-26 .轉(zhuǎn)換到隨機(jī)碼或相反轉(zhuǎn)換
H03M7-28 .可編程序結(jié)構(gòu),即代碼轉(zhuǎn)換器所包括的設(shè)備其算符是可變的,以調(diào)整轉(zhuǎn)換程序
H03M7-30 .壓縮
- 一種實(shí)現(xiàn)霍夫曼譯碼的方法和裝置
- 一種基于部分霍夫曼樹(shù)的數(shù)據(jù)壓縮編碼方法
- 圖像數(shù)據(jù)的霍夫曼解碼裝置和方法
- 利用預(yù)先霍夫曼編碼決定對(duì)匹配字符串或反向指針執(zhí)行霍夫曼編碼程序的硬件數(shù)據(jù)壓縮器
- 直接對(duì)LZ77引擎輸出的標(biāo)記進(jìn)行霍夫曼編碼程序的硬件數(shù)據(jù)壓縮器
- 針對(duì)Lloyd-Max量化器的最優(yōu)熵編碼方法
- 基于霍夫曼編碼的編碼裝置、譯碼裝置及系統(tǒng)
- 編碼方法及系統(tǒng)、解碼方法及系統(tǒng)、編解碼方法及系統(tǒng)
- 基于霍夫曼編碼的深度圖壓縮方法、解壓縮方法及編碼器
- 一種霍夫曼編碼方法、系統(tǒng)及設(shè)備
- 視頻編碼中的圖像幀編組
- 基于小波域和獨(dú)立主成份分析的盲視頻水印方法
- 基于多載波的獨(dú)立訓(xùn)練序列信道分配方法及移動(dòng)通信系統(tǒng)
- 一種風(fēng)電場(chǎng)風(fēng)速時(shí)間序列預(yù)測(cè)方法
- 用于整形數(shù)據(jù)序列概率分布的裝置和方法
- 基于霍夫曼編碼的編碼裝置、譯碼裝置及系統(tǒng)
- 基于霍夫曼編碼的編碼方法、譯碼方法及應(yīng)用
- 用于電能質(zhì)量擾動(dòng)類(lèi)型識(shí)別的序列對(duì)序列模型建立方法
- 一種模塊化冰箱主機(jī)確定方法、裝置及模塊化冰箱
- 一種紅蘑醬的制備工藝及其制備裝置
- 終端卷積神經(jīng)網(wǎng)絡(luò)的處理方法、裝置、存儲(chǔ)介質(zhì)及處理器
- 一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像深度估計(jì)方法
- 卷積神經(jīng)網(wǎng)絡(luò)的生成方法及裝置
- 一種卷積神經(jīng)網(wǎng)絡(luò)硬件模塊部署方法
- 卷積神經(jīng)網(wǎng)絡(luò)的處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法及裝置
- 一種基于通道數(shù)搜索卷積神經(jīng)網(wǎng)絡(luò)的方法
- 卷積神經(jīng)網(wǎng)絡(luò)處理方法、裝置和電子系統(tǒng)
- 一種基于空洞卷積循環(huán)神經(jīng)網(wǎng)絡(luò)的聲音事件檢測(cè)方法
- 基于稀疏卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)方法及檢測(cè)裝置





