一種用于Rice無(wú)損數(shù)據(jù)壓縮的快速編碼選項(xiàng)選擇方法
【專利摘要】本發(fā)明公開(kāi)了一種用于Rice無(wú)損數(shù)據(jù)壓縮的快速編碼選項(xiàng)選擇方法,先對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理轉(zhuǎn)換為適合進(jìn)行壓縮的數(shù)據(jù)塊,然后將預(yù)處理后數(shù)據(jù)經(jīng)過(guò)自適應(yīng)熵編碼器選擇合適的編碼選項(xiàng)進(jìn)行數(shù)據(jù)壓縮,此編碼選項(xiàng)選擇方法通過(guò)計(jì)算數(shù)據(jù)塊的算術(shù)和,根據(jù)算術(shù)和來(lái)進(jìn)行編碼選項(xiàng)選擇。當(dāng)選擇分裂樣本值編碼選項(xiàng)時(shí),將數(shù)據(jù)塊的平均值取2為底的對(duì)數(shù),并將對(duì)數(shù)結(jié)果進(jìn)行四舍五入取整,用得到的整數(shù)作為分裂樣本值編碼的參數(shù)。本發(fā)明具有較低的計(jì)算復(fù)雜度,不受源數(shù)據(jù)的影響,并且實(shí)現(xiàn)簡(jiǎn)單,能達(dá)到較好的壓縮效果。
【專利說(shuō)明】—種用于Rice無(wú)損數(shù)據(jù)壓縮的快速編碼選項(xiàng)選擇方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)壓縮處理中一種用于Rice無(wú)損數(shù)據(jù)壓縮的快速編碼選項(xiàng)選擇方法。
【背景技術(shù)】
[0002]隨著現(xiàn)代社會(huì)對(duì)信息存儲(chǔ)和通信的需求越來(lái)越大,通常需要對(duì)信息數(shù)據(jù)進(jìn)行壓縮,以減少冗余、占有的存儲(chǔ)空間和傳輸?shù)臄?shù)據(jù)量。在醫(yī)學(xué)和航空領(lǐng)域等特殊應(yīng)用場(chǎng)合,原始數(shù)據(jù)蘊(yùn)含的信息十分珍貴,需采用無(wú)損數(shù)據(jù)壓縮算法。
[0003]Rice無(wú)損數(shù)據(jù)壓縮編碼算法是國(guó)際空間數(shù)據(jù)系統(tǒng)咨詢委員會(huì)(CCSDS)推薦的無(wú)損數(shù)據(jù)壓縮標(biāo)準(zhǔn)的核心算法。它是一種特殊的霍夫曼編碼方法,對(duì)局部信息熵范圍較寬的數(shù)據(jù)都有效且可以自適應(yīng),在編碼時(shí)不需要構(gòu)造碼表,卻能提供與使用多個(gè)霍夫曼碼表相同的功能。對(duì)于一些灰度值呈特殊分布的圖像數(shù)據(jù),Rice算法性能優(yōu)于霍夫曼編碼和算術(shù)編碼,因而該編碼方法在無(wú)損數(shù)據(jù)壓縮領(lǐng)域引起了重視。
[0004]Rice算法中給出四類編碼選項(xiàng),分別是零塊編碼、二次擴(kuò)展編碼、無(wú)壓縮編碼和分裂樣本值編碼,其中分裂樣本值編碼方式根據(jù)參數(shù)的不同取值又有許多形式。為了提高壓縮比,降低復(fù)雜度,Rice算法需要在上述四類編碼選項(xiàng)中選擇合適的編碼選項(xiàng),這就是編碼選項(xiàng)選擇。編碼選項(xiàng)選擇方法是Rice算法的核心部分,它決定了算法的執(zhí)行速度和復(fù)雜度。
[0005]現(xiàn)有的選擇方法特點(diǎn)是:在進(jìn)行分裂樣本值編碼時(shí),需要遍歷所有分裂樣本值編碼參數(shù),比較編碼后的數(shù)據(jù)量,從中選擇使數(shù)據(jù)量最小的編碼參數(shù)。這些方法存在著復(fù)雜度較大且不固定、運(yùn)行速度較慢等問(wèn)題。
【發(fā)明內(nèi)容】
[0006]鑒于上述現(xiàn)有方法所存在的問(wèn)題,本發(fā)明提供了一種用于Rice無(wú)損數(shù)據(jù)壓縮的快速編碼選項(xiàng)選擇方法,可以快速進(jìn)行編碼選項(xiàng)的選擇,從而提高整個(gè)無(wú)損數(shù)據(jù)壓縮的效率和性能。
[0007]本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的。
[0008]本發(fā)明提供了一種用于Rice無(wú)損數(shù)據(jù)壓縮的快速編碼選項(xiàng)選擇方法,包括:
[0009]A、將輸入的二進(jìn)制比特?cái)?shù)據(jù)進(jìn)行預(yù)處理,形成數(shù)據(jù)塊,計(jì)算整個(gè)數(shù)據(jù)塊的算術(shù)和;
[0010]B、根據(jù)數(shù)據(jù)塊的算術(shù)和來(lái)選擇合適的編碼選項(xiàng);
[0011]C、將數(shù)據(jù)塊用編碼選項(xiàng)對(duì)應(yīng)的編碼方法進(jìn)行編碼。
[0012]所述步驟A包括:
[0013]Al、將輸入的每η個(gè)連續(xù)的二進(jìn)制比特?cái)?shù)據(jù)形成一個(gè)數(shù)據(jù)樣本,J個(gè)數(shù)據(jù)樣本形成一個(gè)數(shù)據(jù)塊;
[0014]Α2、根據(jù)η值來(lái)確定分裂樣本值編碼選項(xiàng)的最大參數(shù)K ;[0015]A3、計(jì)算每個(gè)數(shù)據(jù)塊的J個(gè)數(shù)據(jù)的算術(shù)和T。
[0016]所述步驟B包括:
[0017]B1、如果T=0,則選擇零塊壓縮選項(xiàng),否則執(zhí)行Β2 ;
[0018]B2、如果T〈0.5 X J+1,則選擇二次擴(kuò)張編碼選項(xiàng),否則執(zhí)行Β3 ;
[0019]B3、如果T≥JX2K+°_5,則選擇不壓縮選項(xiàng),否則執(zhí)行B4 ;
[0020]B4、選擇分裂樣本值編碼選項(xiàng),先計(jì)算數(shù)據(jù)和的平均值b=T/J,再計(jì)算k’ =1g2 (b),取k’四舍五入后的整數(shù)k作為分裂樣本值編碼的參數(shù)。
[0021]由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明給出的選擇方法的實(shí)現(xiàn)方式簡(jiǎn)單,不需要逐一遍歷所有分裂樣本值編碼參數(shù),從而有效地縮短了數(shù)據(jù)壓縮的時(shí)間,降低了整個(gè)算法的計(jì)算復(fù)雜度。
【專利附圖】
【附圖說(shuō)明】
[0022]圖1為本發(fā)明所述方法的流程圖。
【具體實(shí)施方式】
[0023]本發(fā)明中使用對(duì)數(shù)運(yùn)算加快編碼選項(xiàng)的選擇過(guò)程。此發(fā)明中選擇的編碼選項(xiàng)參數(shù)會(huì)在最佳選擇參數(shù)左右波動(dòng),本發(fā)明所述的方法的具體實(shí)現(xiàn)方式如圖1所示,具體包括:
[0024]步驟11:將輸入的每η個(gè)連續(xù)的二進(jìn)制比特?cái)?shù)據(jù)形成一個(gè)數(shù)據(jù)樣本,J個(gè)數(shù)據(jù)樣本形成一個(gè)數(shù)據(jù)塊;
[0025]步驟12:根據(jù)η值來(lái)確定分裂樣本值編碼選項(xiàng)的最大參數(shù)K ;
[0026]步驟13:計(jì)算每個(gè)數(shù)據(jù)塊的J個(gè)數(shù)據(jù)的算術(shù)和T ;
[0027]步驟14:如果Τ=0,則選擇零塊壓縮選項(xiàng),否則執(zhí)行步驟15 ;
[0028]步驟15:如果T〈0.5XJ+1,則選擇二次擴(kuò)張編碼選項(xiàng),否則執(zhí)行步驟16 ;
[0029]步驟16:如果T≥JX2K+0.5,則選擇不壓縮選項(xiàng),否則執(zhí)行步驟17 ;
[0030]步驟17:選擇分裂樣本值編碼選項(xiàng),先計(jì)算數(shù)據(jù)和的平均值b=T/J,再計(jì)算k’ =1g2 (b),取k’四舍五入后的整數(shù)k作為分裂樣本值編碼的參數(shù)。
[0031]步驟18:將數(shù)據(jù)塊用編碼選項(xiàng)對(duì)應(yīng)的編碼方法進(jìn)行編碼。
[0032]現(xiàn)在以一個(gè)無(wú)損數(shù)據(jù)壓縮系統(tǒng)進(jìn)行說(shuō)明,該系統(tǒng)中,η取值為8,J取值為16。
[0033]輸入一串二進(jìn)制比特流:
[0034]00001111000000000000100000001000000010000000100000001000000010000000100000001111000001110000011100000111000001110000011100000000......[0035]執(zhí)行步驟11:將輸入的每8個(gè)連續(xù)的二進(jìn)制比特?cái)?shù)據(jù)形成一個(gè)數(shù)據(jù)樣本,16個(gè)數(shù)據(jù)樣本形成一個(gè)數(shù)據(jù)塊:15,0,8,8,8,8,8,8,8,15,7,7,7,7,7,0 ;
[0036]執(zhí)行步驟12,根據(jù)η=8來(lái)確定分裂樣本值編碼選項(xiàng)的最大參數(shù)Κ=5 ;
[0037]執(zhí)行步驟13,計(jì)算每個(gè)數(shù)據(jù)塊的J個(gè)數(shù)據(jù)的算術(shù)和Τ=121 ;
[0038]執(zhí)行步驟14,不滿足Τ=0,則轉(zhuǎn)至執(zhí)行步驟15 ;
[0039]執(zhí)行步驟15,不滿足T〈0.5 X J+1,則轉(zhuǎn)至執(zhí)行步驟16 ;
[0040]執(zhí)行步驟16,不滿足T≥JX2K+0.5,則轉(zhuǎn)至執(zhí)行步驟17 ;
[0041]執(zhí)行步驟17,選擇分裂樣本值編碼選項(xiàng),先計(jì)算數(shù)據(jù)和的平均值b為7.5625,再計(jì)算k’為2.9189, k’四舍五入后的整數(shù)為參數(shù)k為3 ;
[0042]執(zhí)行步驟18,將數(shù)據(jù)塊用參數(shù)為3的分裂樣本值編碼方法進(jìn)行編碼,可得編碼結(jié)果為:
[0043]0110101010101010101111111111000000000000000000000000IIIIIIIIIIIIIIIII1000
【權(quán)利要求】
1.一種用于Rice無(wú)損數(shù)據(jù)壓縮的快速編碼選項(xiàng)選擇方法,其特征在于,包括: A、將輸入的二進(jìn)制比特?cái)?shù)據(jù)進(jìn)行預(yù)處理,形成數(shù)據(jù)塊,計(jì)算整個(gè)數(shù)據(jù)塊的算術(shù)和; B、根據(jù)數(shù)據(jù)塊的算術(shù)和來(lái)選擇合適的編碼選項(xiàng); C、將數(shù)據(jù)塊用編碼選項(xiàng)對(duì)應(yīng)的編碼方法進(jìn)行編碼。
2.根據(jù)權(quán)利要求1所述的一種用于Rice無(wú)損數(shù)據(jù)壓縮的快速編碼選項(xiàng)選擇方法,其特征在于,所述步驟A進(jìn)一步包括: Al、將輸入的每η個(gè)連續(xù)的二進(jìn)制比特?cái)?shù)據(jù)形成一個(gè)數(shù)據(jù)樣本,J個(gè)數(shù)據(jù)樣本形成一個(gè)數(shù)據(jù)塊; Α2、根據(jù)η值來(lái)確定分裂樣本值編碼選項(xiàng)的最大參數(shù)K ; A3、計(jì)算每個(gè)數(shù)據(jù)塊的所有J個(gè)數(shù)據(jù)樣本的算術(shù)和Τ。
3.根據(jù)權(quán)利要求1所述的一種用于Rice無(wú)損數(shù)據(jù)壓縮的快速編碼選項(xiàng)選擇方法,其特征在于,所述步驟B進(jìn)一步包括: B1、如果T=O,則選擇零塊壓縮選項(xiàng),否則執(zhí)行Β2 ; Β2、如果T〈0.5 X J+1,則選擇二次擴(kuò)張編碼選項(xiàng),否則執(zhí)行Β3 ; Β3、如果T > JX2K+°_5,則選擇不壓縮選項(xiàng),否則執(zhí)行Β4 ; B4、選擇分裂樣本值編碼選項(xiàng),先計(jì)算數(shù)據(jù)和的平均值b=T/J,再計(jì)算k’ =1g2 (b),取k’四舍五入后的整數(shù)k作為分裂樣本值編碼的參數(shù)。
【文檔編號(hào)】H03M7/00GK103746701SQ201410018935
【公開(kāi)日】2014年4月23日 申請(qǐng)日期:2014年1月16日 優(yōu)先權(quán)日:2014年1月16日
【發(fā)明者】吳皓威, 歐靜蘭, 趙俊波, 郭金超, 王琪, 姜懿, 仲元紅, 楊力生 申請(qǐng)人:重慶大學(xué)