一種基于slwe概率估計(jì)模型的自適應(yīng)區(qū)間編碼方法及解碼方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及利用隨機(jī)學(xué)習(xí)弱估計(jì)理論(SLWE)進(jìn)行信源概率估計(jì)的自適應(yīng)區(qū)間編 碼及解碼技術(shù)。
【背景技術(shù)】
[0002] 隨著信息產(chǎn)業(yè)和多媒體技術(shù)的蓬勃發(fā)展,每天產(chǎn)生的數(shù)據(jù)量越來(lái)越巨大,為了節(jié) 省存儲(chǔ)空間和傳輸帶寬,迫切需要各種數(shù)據(jù)壓縮技術(shù)的發(fā)展。熵編碼屬于數(shù)據(jù)壓縮技術(shù)中 的一種,也是很多國(guó)際壓縮標(biāo)準(zhǔn)中的關(guān)鍵一環(huán),在數(shù)據(jù)壓縮領(lǐng)域占有重要的地位。其理論基 礎(chǔ)為香農(nóng)的信息論,主要通過(guò)去除數(shù)據(jù)中的統(tǒng)計(jì)冗余達(dá)到壓縮數(shù)據(jù)的目的,可壓縮到的理 論極限為待壓縮數(shù)據(jù)的香農(nóng)熵。目前常見的熵編碼方法有Huffman編碼、算術(shù)編碼、區(qū)間編 碼等,其中算術(shù)編碼和區(qū)間編碼由于可以用小數(shù)位比特編碼每個(gè)字符,因而編碼性能更高, 二者中又因?yàn)閰^(qū)間編碼不受專利的限制,因而吸引了越來(lái)越多的人對(duì)其進(jìn)行研宄。
[0003] 除了編碼速度、存儲(chǔ)空間等工程實(shí)現(xiàn)方面的因素以外,理論上影響熵編碼性能的 關(guān)鍵在于編碼過(guò)程中編碼器對(duì)信源概率特性的估計(jì)與信源的實(shí)際情況是否一致,當(dāng)估計(jì)值 與真實(shí)情況完全一致時(shí),理論上能達(dá)到該信源的壓縮極限,即香農(nóng)熵值,熵編碼器中主要依 靠概率估計(jì)模型對(duì)信源進(jìn)行概率估計(jì)。對(duì)于區(qū)間編碼來(lái)說(shuō),依照概率估計(jì)過(guò)程中需要事先 遍歷全部待壓縮數(shù)據(jù)或僅依靠已經(jīng)編碼完的數(shù)據(jù),可分為靜態(tài)區(qū)間編碼和自適應(yīng)區(qū)間編 碼,其中自適應(yīng)模式由于不需要事先遍歷數(shù)據(jù),因而應(yīng)用范圍更廣。現(xiàn)階段的自適應(yīng)區(qū)間編 碼主要利用基于最大似然的參數(shù)估計(jì)思想,即以累積頻率逼近概率的方式對(duì)信源特性進(jìn)行 估計(jì),當(dāng)信源特性發(fā)生變化時(shí),其估計(jì)效果較差,影響最終的編碼性能,其根本原因是最大 似然參數(shù)估計(jì)法屬于強(qiáng)估計(jì)方法,算法收斂之后很難再隨環(huán)境改變。近年來(lái),一大類弱估計(jì) 算法的涌現(xiàn)為這一問(wèn)題的解決提供了新的思路,其中較具有代表性的一種弱估計(jì)算法為隨 機(jī)學(xué)習(xí)弱估計(jì)法(SLWE),它能有效地解決非平穩(wěn)環(huán)境下二項(xiàng)分布和多項(xiàng)分布的參數(shù)估計(jì)問(wèn) 題,并且估計(jì)方式簡(jiǎn)單,易于實(shí)現(xiàn)。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明是為了解決現(xiàn)有的區(qū)間編碼在信源特性不斷改變的環(huán)境下編碼性能降低 的問(wèn)題,從而提出一種基于SLWE概率估計(jì)模型的自適應(yīng)區(qū)間編碼方法及解碼方法。
[0005] 一種基于SLWE概率估計(jì)模型的自適應(yīng)區(qū)間編碼方法,
[0006]步驟一、統(tǒng)計(jì)信源的基本信息,所述基本信息包括:待編碼數(shù)據(jù)長(zhǎng)度BSIZE、符號(hào) 最大值ma、符號(hào)最小值mi、符號(hào)種類數(shù)N,所述各符號(hào)的種類分別用索引0,…,N-1表示;
[0007] 步驟二、初始化區(qū)間上界Rini和區(qū)間下界Lini,初始化各個(gè)符號(hào)占據(jù)的初始區(qū)間長(zhǎng) 度range[0],. ..,range[N-1],以數(shù)組形式保存,初始化區(qū)間規(guī)格化時(shí)的臨界閾值Range。;
[0008]步驟三、根據(jù)讀入字符計(jì)算累積區(qū)間長(zhǎng)度:初始化原始累積區(qū)間長(zhǎng)度Cumrange為 0,根據(jù)當(dāng)前待編碼字符索引j,計(jì)算累積區(qū)間長(zhǎng)度Cumrange;
[0009] 步驟四、編碼和區(qū)間規(guī)格化:根據(jù)當(dāng)前待編碼字符種類的索引對(duì)原始累積區(qū)間進(jìn) 行更新,當(dāng)更新后的累積區(qū)間長(zhǎng)度小于臨界閾值Rangejt,或以字節(jié)為單位比較更新后的 累積區(qū)間的上界和下界,當(dāng)上界和下界的高位字節(jié)相等時(shí),移出高位的字節(jié)作為輸出碼流, 同時(shí)對(duì)區(qū)間進(jìn)行規(guī)格化處理;并計(jì)算編碼后區(qū)間和編碼前區(qū)間的比值m;
[0010] 步驟五、更新概率估計(jì)表;根據(jù)SLWE算法對(duì)各字符所在區(qū)間的大小進(jìn)行更新,具 體過(guò)程如下:
[0011] 步驟五一、根據(jù)信源基本信息,設(shè)置最小概率Pmin,并根據(jù)當(dāng)前總區(qū)間大小Range 計(jì)算各字符所在區(qū)間的下限Rmin=Range,初始化學(xué)習(xí)因子A,定義變量Sum_range= 〇 ;
[0012] 步驟五二、根據(jù)公式:
[0013]range[i] -max(range[i] ?m?入,Rmin)
[0014]依次計(jì)算序號(hào)為i=0,. . .,N-l且i辛j的字符所占累積區(qū)間的大?。?br>[0015] 步驟五三、根據(jù)公式:
[0016]
【主權(quán)項(xiàng)】
1. 一種基于SLWE概率估計(jì)模型的自適應(yīng)區(qū)間編碼方法,其特征是: 步驟一、統(tǒng)計(jì)信源的基本信息,所述基本信息包括:待編碼數(shù)據(jù)長(zhǎng)度BSIZE、符號(hào)最大 值ma、符號(hào)最小值mi、符號(hào)種類數(shù)N,所述各符號(hào)的種類分別用索引0,…,N-I表示; 步驟二、初始化區(qū)間上界Rini和區(qū)間下界L ini,初始化各個(gè)符號(hào)占據(jù)的初始區(qū)間長(zhǎng)度 range[0],. . .,range[N-l],以數(shù)組形式保存,初始化區(qū)間規(guī)格化時(shí)的臨界閾值Range。; 步驟三、根據(jù)讀入字符計(jì)算累積區(qū)間長(zhǎng)度:初始化原始累積區(qū)間長(zhǎng)度Cumrange為0,根 據(jù)當(dāng)前待編碼字符索引j,計(jì)算累積區(qū)間長(zhǎng)度Cumrange ; 步驟四、編碼和區(qū)間規(guī)格化:根據(jù)當(dāng)前待編碼字符種類的索引對(duì)原始累積區(qū)間進(jìn)行更 新,當(dāng)更新后的累積區(qū)間長(zhǎng)度小于臨界閾值RangeJt,或以字節(jié)為單位比較更新后的累積 區(qū)間的上界和下界,當(dāng)上界和下界的高位字節(jié)相等時(shí),移出高位的字節(jié)作為輸出碼流,同時(shí) 對(duì)區(qū)間進(jìn)行規(guī)格化處理;并計(jì)算編碼后區(qū)間和編碼前區(qū)間的比值m ; 步驟五、更新概率估計(jì)表;根據(jù)SLWE算法對(duì)各字符所在區(qū)間的大小進(jìn)行更新,具體過(guò) 程如下: 步驟五一、根據(jù)信源基本信息,設(shè)置最小概率Pmin,并根據(jù)當(dāng)前總區(qū)間大小Range計(jì)算 各字符所在區(qū)間的下限Rmin= Range · pmin,初始化學(xué)習(xí)因子λ,定義變量Sum_range = 0 ; 步驟五二、根據(jù)公式: range [i] 一 max (range [i] · m · λ,Rmin) 依次計(jì)算序號(hào)為i = 〇,...,N-I且i辛j的字符所占累積區(qū)間的大??; 步驟五三、根據(jù)公式:
計(jì)算除了序號(hào)j的剩余字符所占區(qū)間的和; 步驟五四、根據(jù)公式: range[j] 一 Range_Sum_range 更新序號(hào)j字符所占的區(qū)間; 步驟六、根據(jù)步驟三至五的方式,對(duì)所有待編碼數(shù)據(jù)進(jìn)行編碼;當(dāng)已編碼字符數(shù)量等于 待編碼數(shù)據(jù)長(zhǎng)度BSIZE時(shí),則編碼結(jié)束,并移出映射區(qū)間內(nèi)所有的位。
2. -種基于SLWE概率估計(jì)模型的自適應(yīng)區(qū)間解碼方法,其特征是: 步驟A1、讀取信源基本信息文件,得到原數(shù)據(jù)長(zhǎng)度BSIZE、符號(hào)最大值ma、符號(hào)最小值 mi和符號(hào)種類數(shù)N ; 步驟A2、初始化區(qū)間上界Rini和區(qū)間下界Lini,初始化各個(gè)符號(hào)占據(jù)的初始區(qū)間長(zhǎng)度 range [0],. . .,range [N-1],以數(shù)組形式保存,初始化區(qū)間規(guī)格化時(shí)的臨界閾值Range。;以 字節(jié)為單位讀取碼流文件,得到初始標(biāo)識(shí)符tag ; 步驟A3、根據(jù)初始標(biāo)識(shí)符tag和當(dāng)前區(qū)間下界L以及各符號(hào)的區(qū)間長(zhǎng)度進(jìn)行解碼,解碼 過(guò)程中得到當(dāng)前符號(hào)的索引j ; 步驟A4、根據(jù)當(dāng)前符號(hào)的索引j更新原始區(qū)間,當(dāng)更新后區(qū)間長(zhǎng)度小于臨界閾值 RangeJt,或以字節(jié)為單位比較更新后的區(qū)間的上界和下界,當(dāng)上界和下界的高位字節(jié)相 等時(shí),移出碼流文件中高位的字節(jié)作為新的標(biāo)識(shí)符,同時(shí)對(duì)區(qū)間進(jìn)行規(guī)格化處理;并計(jì)算解 碼后區(qū)間和解碼前區(qū)間的比值m ; 步驟A5、更新概率估計(jì)表;根據(jù)SLWE算法對(duì)各字符所在區(qū)間大小進(jìn)行更新,具體過(guò)程 如下: 步驟A51、根據(jù)信源基本信息,設(shè)置最小概率pmin,并根據(jù)當(dāng)前總區(qū)間大小Range計(jì)算各 字符所在區(qū)間的下限Rmin= Range · pmin,初始化學(xué)習(xí)因子λ,定義變量Sum_range = O ; 步驟A52、根據(jù)公式: range [η] 一 max (range [η] · m · λ,Rmin) 依次計(jì)算序號(hào)為η = 0,. . .,Ν-1,η辛j且i辛j的字符所占區(qū)間的大??; 步驟A53、根據(jù)公式:
計(jì)算除了序號(hào)j的剩余字符所占區(qū)間的和; 步驟A54、根據(jù)公式: range[j] = Range-Sum_range 更新序號(hào)j字符所占的區(qū)間; 步驟A6、根據(jù)步驟A3至A5的方式,對(duì)所有待解碼數(shù)據(jù)進(jìn)行解碼;當(dāng)已解碼字符數(shù)量等 于原數(shù)據(jù)長(zhǎng)度BSIZE時(shí),則解碼結(jié)束。
【專利摘要】一種基于SLWE概率估計(jì)模型的自適應(yīng)區(qū)間編碼方法及解碼方法,涉及利用隨機(jī)學(xué)習(xí)弱估計(jì)理論(SLWE)進(jìn)行信源概率估計(jì)的自適應(yīng)區(qū)間編碼及解碼技術(shù)。它是為了解決現(xiàn)有的區(qū)間編碼在信源特性不斷改變的環(huán)境下編碼性能降低的問(wèn)題。本發(fā)明主要有兩點(diǎn)創(chuàng)新:一是在區(qū)間編碼中利用SLWE的思想設(shè)計(jì)信源概率估計(jì)模型,并通過(guò)設(shè)置區(qū)間的下限避免區(qū)間退化的情況發(fā)生,同時(shí)提高了編碼效率;二是在整個(gè)編解碼實(shí)現(xiàn)過(guò)程中用區(qū)間更新取代概率更新,避免了浮點(diǎn)相加運(yùn)算的舍入影響。本發(fā)明實(shí)現(xiàn)的區(qū)間編碼方法適合于信源特性非平穩(wěn)環(huán)境下的編碼,相比于傳統(tǒng)的基于最大似然思想進(jìn)行概率估計(jì)的區(qū)間編碼方法,編碼性能提升了2%到10%。
【IPC分類】H04N19-13
【公開號(hào)】CN104869397
【申請(qǐng)?zhí)枴緾N201510259883
【發(fā)明人】陳浩, 劉 東, 滑藝
【申請(qǐng)人】哈爾濱工業(yè)大學(xué)
【公開日】2015年8月26日
【申請(qǐng)日】2015年5月20日