專利名稱:一種圖像數(shù)據(jù)無損壓縮的編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖像數(shù)據(jù)無損壓縮的編碼方法,屬于數(shù)字圖像無損壓縮技術(shù)領(lǐng)域。
背景技術(shù):
在信息環(huán)境中,信息大部分是以數(shù)字化的方式表示、存儲和傳輸?shù)?,其中圖像占了絕大部分。但是數(shù)字化的圖像需要占用巨大的空間,為了對圖像數(shù)據(jù)進行有效的處理、存儲和傳輸,必須對圖像數(shù)據(jù)進行壓縮存儲。因此,數(shù)字圖像信息壓縮編碼也就成為多媒體信息處理中的關(guān)鍵技術(shù)之一。如何在保證無損的前提下盡可能提高圖像的壓縮效率,對于與圖像有關(guān)的應(yīng)用而言,具有非常重要的意義。赫夫曼方法是前綴即時碼中編碼效率最優(yōu)的編碼方法,其對信源的統(tǒng)計特性沒有特殊要求,對編碼設(shè)備的要求也比較簡單,綜合性能優(yōu)于香農(nóng)碼和費諾碼。但其解碼過程需通過碼表匹配來實現(xiàn),因此解碼效率低下。一些次優(yōu)編碼方法,如機碼,B2碼以及移位碼等,雖然編解碼效率得到提高,但編碼形式固定、單一,對信源的統(tǒng)計特性有特殊要求,壓縮效率較低。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)存在的問題提出一種圖像數(shù)據(jù)無損壓縮的編碼方法,該方法具有靈活性強,算法簡單,易于實現(xiàn),編解碼效率高。為了達到上述目的,本發(fā)明采用下述技術(shù)方案
一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于,該方法具體步驟如下
(1)、從原始圖像逐行讀取數(shù)據(jù)生成圖像矩陣見X/3,從圖像矩陣見X/3中生成橫向一階差分矩陣毛和縱向一階差分矩陣Un ;
(2)、從橫向一階差分矩陣毛Χ/3和縱向一階差分矩陣 ;Χ/3中生成混合一階差分矩陣 IVaxn和混合一階差分矩陣子塊的狀態(tài)二值碼流々;
(3)從混合一階差分矩陣中逐行提取元素符號,0表示正號,1表示負號,生成混合一階差分矩陣的符號二值碼流^和非負混合一階差分矩陣乙ΧΛ ;
(4)、統(tǒng)計非負混合一階差分矩陣乙Χ/3中各元素出現(xiàn)的個數(shù),生成元素個數(shù)統(tǒng)計數(shù)組J;
(5)、從元素個數(shù)統(tǒng)計數(shù)組J中生成元素映射數(shù)組Ts,依元素映射數(shù)組Ts對非負混合一階差分矩陣乙ΧΛ中各元素重新分配數(shù)值;
(6)、對元素個數(shù)統(tǒng)計數(shù)組J分別進行7=0,1,2,3,4次數(shù)據(jù)合并,建立5組統(tǒng)計數(shù)組禮,4,為,4,小和對應(yīng)的5組組號數(shù)組&,/^^,/^,^ ;
(7)、依次對5組統(tǒng)計數(shù)組^d1,為乂3,A和5組組號數(shù)組^,/^,巧,巧,廠4,統(tǒng)計編碼截斷階數(shù)P分別為1,2,3,…,32階下的編碼比特數(shù),選取編碼比特數(shù)最小時的合并次數(shù)&和編碼截斷階數(shù)&;
(8)、逐行提取非負混合一階差分矩陣乙Χ/3元素,依次放入數(shù)組中,依步驟(7)選取的2個參數(shù),即合并次數(shù)qc和編碼截斷階數(shù)&,對數(shù)組中各元素進行合并與編碼,生成一次壓縮編碼二值碼流T1 ;
(9)、統(tǒng)計一次壓縮編碼二值碼流T1中連續(xù)0和連續(xù)1的長度,得到一次壓縮編碼二值碼流7;的長度分布數(shù)組Z ;
(10 )、用長度分布數(shù)組L的長度商數(shù)組Q和余數(shù)二值碼流R表示長度分布數(shù)組L,實現(xiàn)二次編碼壓縮,生成二次編碼二值碼流T2。本發(fā)明的一種圖像數(shù)據(jù)無損壓縮的編碼方法具有如下特點
(1)、該方法能根據(jù)圖像數(shù)據(jù)的統(tǒng)計特征選取壓縮量最大情形下所對應(yīng)的數(shù)據(jù)合并次數(shù)7與編碼截斷階數(shù)/7,依所選合并次數(shù)和編碼截斷階數(shù)構(gòu)造一種即時編碼,靈活性強,算法簡單,易于實現(xiàn),編碼效率高;(2)、該方法的一次壓縮編碼表的構(gòu)成簡單,對于數(shù)值小于編碼截斷階數(shù)的壓縮元素,由編碼前綴,即1元即時碼表示,對于數(shù)值大于等于編碼截斷階數(shù)的壓縮元素,由編碼前綴和編碼后綴聯(lián)合表示;(3)、該方法的一次壓縮編碼表的主要部分為其前綴編碼,前綴編碼可按位平面層面分解,并依位平面層面擺放,基于圖像數(shù)據(jù)的連續(xù)性,這種二值碼流的層面擺放方式為后續(xù)的二次壓縮編碼提供可能,兩次編碼后的整體壓縮效率高;(4)、該方法的編碼前綴及編碼后綴結(jié)構(gòu)統(tǒng)一,解碼過程無需匹配,解碼效率尚ο
圖1是本發(fā)明的一種圖像數(shù)據(jù)無損壓縮的編碼方法的流程圖; 圖2是生成混合一階差分矩陣方法示意圖3是數(shù)組在合并次數(shù)Clc和編碼截斷階數(shù)&下的編碼表;
圖4是序列按位平面層面的分解圖。
具體實施例方式下面結(jié)合附圖和256級灰度的任意圖像,對本發(fā)明作進一步描述。如圖1所示,本發(fā)明的一種圖像數(shù)據(jù)無損壓縮的編碼方法,其具體步驟如下 步驟(1)、從原始圖像逐行讀取數(shù)據(jù)生成圖像矩陣見Χ/3,從圖像矩陣凡Χ/3中生成橫向一
階差分矩陣毛ΧΛ與縱向一階差分矩陣,具體如下
從寬為 ,高為《的原始圖像中逐行提取圖像象素值,將提取所得象素值置入圖像矩陣 Din乂η 中,其中^m乂η,
分別計算第i行、第J·列處的橫向一階差分值^7與縱向一階差分值_7",具體計算公式如下
Xij^di-Cli J^1 , 1=1, 2,... ,m, J=2, 3, ···,/ (1)
,"=""-£/ .,1=2, 3, '",m, J=I, 2, — ,η(2)
其中,A7為橫向一階差分矩陣毛ΧΛ在( ,Ι)處的橫向一階差分值,Λ7為縱向一階差分矩陣乙在處的縱向一階差分值,橫向一階差分矩陣毛ΧΛ中第1列差分元素值、 縱向一階差分矩陣Ymxn中第1行差分元素值的具體計算公式如下
Xn=Cln-Cl^l 1 , i=2, 3, ... ,m(3)橫向一階差分矩陣毛ΧΛ和縱向一階差分矩陣Y—第1行第1列差分元素值置為0 ; 步驟(2)、從橫向一階差分矩陣毛Χ/3和縱向一階差分矩陣 ;χ/3中生成混合一階差分矩陣和混合一階差分矩陣子塊的狀態(tài)二值碼流從具體如下
對橫向一階差分矩陣毛ΧΛ和縱向一階差分矩陣Y—按4X4大小的子塊劃分,各得 ( Χ )/16個子塊,分別計算橫向一階差分矩陣毛Χ/3和縱向一階差分矩陣Y…相同位置子塊元素絕對值之和,取絕對值之和最小的子塊對應(yīng)的各個元素置入混合一階差分矩陣相同位置子塊處,生成一階混合差分矩陣^^^Ctj^Im,參見附圖2,對橫向一階差
+3 /+3 +3 /+3
分矩陣毛和縱向一階差分矩陣γ…相同位置子塊,記民=ΣΣΚ·Ι, =ΣΣΙιΙ
u=4 v—ju=4 v=J
,若式s冬,則將橫向一階差分矩陣毛ΧΛ子塊數(shù)據(jù)置入混合一階差分矩陣相同位置子
塊處,此時子塊的狀態(tài)標記為0 ;若式 >乓,則將縱向一階差分矩陣ι;Χ/3子塊數(shù)據(jù)置入混合
一階差分矩陣相同位置子塊處,此時子塊的狀態(tài)標記為1,將子塊的狀態(tài)標記O或1依次置入子塊的狀態(tài)二值碼流々中;
步驟(3)、從混合一階差分矩陣中逐行提取元素符號,O表示正號,1表示負號,生成混合一階差分矩陣的符號二值碼流S和非負混合一階差分矩陣乙ΧΛ,具體如下
從混合一階差分矩陣(XJO7)wxfl中逐行提取矩陣的各元素符號,正號元素記為 0,負號元素記為1,依次將符號元素O或1置入一階混合差分矩陣的符號二值碼流&對混合一階差分矩陣各元素取絕對值,生成非負混合一階差分矩陣 ( I xYij I ‘
步驟(4)、統(tǒng)計非負混合一階差分矩陣乙X/3中各元素出現(xiàn)的個數(shù),生成元素個數(shù)統(tǒng)計數(shù)組兒具體如下
統(tǒng)計非負混合一階差分矩陣乙中各元素出現(xiàn)的個數(shù),按元素出現(xiàn)次數(shù)的大小置入元素個數(shù)統(tǒng)計數(shù)組J=Wj1,…,/O中,其中/7。彡A彡…彡&,/7。J1,…,化分別對應(yīng)非負混合一階差分矩陣乙Xfl=(Iuo7I)i^中元素值aQ,ai,a2,…,出現(xiàn)的個數(shù), 0彡6彡255,其中e 1 +, ,…,aj,表示非負混合一階差分矩陣乙X/3中任一點元素值僅在集合{
步驟(5)、從元素個數(shù)統(tǒng)計數(shù)組J中生成元素映射數(shù)組〔,依元素映射數(shù)組&對非負混合一階差分矩陣乙ΧΛ各元素重新分配數(shù)值,具體如下
依次將元素個數(shù)統(tǒng)計數(shù)組
權(quán)利要求
1.一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于,包括如下步驟(1)、從原始圖像逐行讀取數(shù)據(jù)生成圖像矩陣見X/3,從圖像矩陣見X/3中生成橫向一階差分矩陣毛和縱向一階差分矩陣Un ;(2)、從橫向一階差分矩陣毛Χ/3和縱向一階差分矩陣 ;Χ/3中生成混合一階差分矩陣 IVaxn和混合一階差分矩陣子塊的狀態(tài)二值碼流々;(3)從混合一階差分矩陣中逐行提取元素符號,0表示正號,1表示負號,生成混合一階差分矩陣的符號二值碼流^和非負混合一階差分矩陣乙ΧΛ ;(4)、統(tǒng)計非負混合一階差分矩陣乙Χ/3中各元素出現(xiàn)的個數(shù),生成元素個數(shù)統(tǒng)計數(shù)組J;(5)、從元素個數(shù)統(tǒng)計數(shù)組J中生成元素映射數(shù)組Ts,依元素映射數(shù)組Ts對非負混合一階差分矩陣乙ΧΛ中各元素重新分配數(shù)值;(6)、對元素個數(shù)統(tǒng)計數(shù)組J分別進行7=0,1,2,3,4次數(shù)據(jù)合并,建立5組統(tǒng)計數(shù)組禮,4,為,4,小和對應(yīng)的5組組號數(shù)組&,/^^,/^,^ ;(7)、依次對5組統(tǒng)計數(shù)組^d1,為乂3,A和5組組號數(shù)組^,/^,巧,巧,廠4,統(tǒng)計編碼截斷階數(shù)P分別為1,2,3,…,32階下的編碼比特數(shù),選取編碼比特數(shù)最小時的合并次數(shù)&和編碼截斷階數(shù)&;(8)、逐行提取非負混合一階差分矩陣乙Χ/3元素,依次放入數(shù)組中,依步驟(7)選取的 2個參數(shù),即合并次數(shù)qc和編碼截斷階數(shù)&,對數(shù)組A中各元素進行合并與編碼,生成一次壓縮編碼二值碼流T1 ;(9)、統(tǒng)計一次壓縮編碼二值碼流T1中連續(xù)0和連續(xù)1的長度,得到一次壓縮編碼二值碼流7;的長度分布數(shù)組Z ;(10 )、用長度分布數(shù)組L的長度商數(shù)組Q和余數(shù)二值碼流R表示長度分布數(shù)組L,實現(xiàn)二次編碼壓縮,生成二次編碼二值碼流T2。
2.如權(quán)利要求1所述的一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于在(2)中所述的從橫向一階差分矩陣毛ΧΛ和縱向一階差分矩陣υ…中生成混合一階差分矩陣和混合一階差分矩陣子塊的狀態(tài)二值碼流隊具體如下對橫向一階差分矩陣毛ΧΛ和縱向一階差分矩陣Y—按4X4大小的子塊劃分,分別計算相同位置兩差分矩陣子塊元素絕對值之和,取絕對值之和最小的子塊對應(yīng)的各個元素置入混合一階差分矩陣相同位置子塊處,生成一階混合差分矩陣^;x^Ctj^IM, +3 /+3對橫向一階差分矩陣毛ΧΛ和縱向一階差分矩陣相同位置子塊,記\ =ΣΣΙχ-Ι'a=a" ν=/i+3 j+3巧=111)^1, ^ <R,則將橫向一階差分矩陣毛子塊數(shù)據(jù)置入混合一階差分矩陣u=i ν= j·^K 丨相同位置子塊處,此時子塊的狀態(tài)標記為0 ;若^ ,則將縱向一階差分矩陣ι;Χ/3子塊數(shù)據(jù)置入混合一階差分矩陣相同位置子塊處,此時子塊的狀態(tài)標記為1,將子塊的狀態(tài)標記0或1依次置入子塊的狀態(tài)二值碼流々中。
3.如權(quán)利要求1所述的一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于在(4)中所述的統(tǒng)計非負混合一階差分矩陣乙ΧΛ中各元素出現(xiàn)的個數(shù),生成元素個數(shù)統(tǒng)計數(shù)組兒具體如下統(tǒng)計非負混合一階差分矩陣乙中各元素出現(xiàn)的個數(shù),按元素出現(xiàn)次數(shù)的大小置入元素個數(shù)統(tǒng)計數(shù)組J=Wj1,…,/O中,其中/7。彡&彡…彡&,/7。J1,…,化分別對應(yīng)非負混合一階差分矩陣乙Xfl=(Iuo7I)i^中元素值 , ,馬,…,出現(xiàn)的個數(shù), 0彡e彡255,其中I ¢= ! , 而,…,義},表示非負混合一階差分矩陣乙中任一點元素值1炒"1僅在集合I如h,a2,…,ae}中取值。
4.如權(quán)利要求1所述的一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于在(5)中所述的從元素個數(shù)統(tǒng)計數(shù)組J中生成元素映射數(shù)組Ts,依元素映射數(shù)組Ts對非負混合一階差分矩陣乙X/3各元素重新分配數(shù)值,具體如下依次將元素個數(shù)統(tǒng)計數(shù)組4=(/^/^…,Tii,…,ne、中巧所對應(yīng)的非負一階混合差分矩陣乙中元素&,置入元素映射數(shù)組A中,生成元素映射數(shù)組&=( , ,...’ ’…’ ae), 逐行提取非負混合一階差分矩陣乙ΧΛ各元素Ιχλ.,.Ι,I^7I為非負混合一階差分矩陣乙中第i行第J·列元素,如果,一階非負混合差分矩陣乙ΧΛ中第i行第J·列元素值 Xyi7I置為左,其中 是映射數(shù)組G=(a。,ai,a2,…,ae)中的第左+1個元素,0彡左彡e。
5.如權(quán)利要求1所述的一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于在步驟(6)中所述的對步驟(4)所得元素個數(shù)統(tǒng)計數(shù)組J分別進行g(shù)=0, 1,2,3,4次數(shù)據(jù)合并,建立5組統(tǒng)計數(shù)組禮,4,為,Λ,Α和對應(yīng)的5組組號數(shù)組/^,Λ,廠2,巧,廠4,具體如下為論述方便,假定e=255,則 0次合并統(tǒng)計數(shù)組^1M= (^,巧,…,/ 255); 0次合并組號數(shù)組/^=(0,1,2,…,255);1 次合并統(tǒng)計數(shù)組A= (/ 。+/ ” n2+n3-, n25i+n255)= (4,ηΙ...Μτ ); 丄次合并組號數(shù)組/^⑴,丨^,…,口 ); 2次合并統(tǒng)計數(shù)組為=(/7。+/^+ η執(zhí),··· 2次合并組號數(shù)組巧=(0,1,2,…,63); 3次合并統(tǒng)計數(shù)組式=(/^+/^+…切7,…, 3次合并組號數(shù)組巧=(0,1,2,…,31); 4次合并統(tǒng)計數(shù)組A=(^c)+A+…切15,… 4次合并組號數(shù)組廠4=(0,1,2,...,15), 其中,^為步驟(4)所述元素個數(shù)統(tǒng)計數(shù)組,組號數(shù)組&中元素&經(jīng)左+1次合并后對應(yīng)到組號數(shù)組/。中元素round[ai/2],round為取整函數(shù),0彡*彡3。
6 .如權(quán)利要求1所述的一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于在上述步驟 (7)中所述的依次對5組統(tǒng)計數(shù)組^d1,為,義乂4和5組組號數(shù)組/^,Λ,6,A,A,統(tǒng)計編碼截斷階數(shù)P分別為1,2,3,…,32階下的編碼比特數(shù),選取編碼比特數(shù)最小時的合并次數(shù)& 和編碼截斷階數(shù)&,具體如下編碼截斷階數(shù)P為可用1元即時二進制碼0,10,110,…,1L··· 10,分別表示元素 0,1,2,…,/7-1,其中,11··· 10由/7-1個1和1個0組成,大于/7-1的元素的二進制碼,由/7 個1的二進制碼組成其前綴,由力位二進制碼組成其后綴,其中參數(shù)力由公式(6)確定,,η252+η252,+ η25Α+1 255) = ¢^0' 2'-' ‘ ftSi); , 248切249+...切255) = ( 0 > ^ · · ■ - 31); , 240+ 241 + - · + 255) = (.4fiIi);如果編碼截斷階數(shù)為P,合并次數(shù)為q,對圖像矩陣Dn^n編碼占用的比特數(shù)G為 o=4 +24 +^..+ P4-i +(p+b)(4+4^+'''+^+^xmxn+Bo(n)+Βι (β)+爲(wèi)(X)(5)其中,BM為步驟(2)所述子塊的狀態(tài)二值碼流々占用比特數(shù)維為步驟(3)所述混合一階差分矩陣元素的符號二值碼流S占用比特數(shù).MO為步驟(5)所述元素映射數(shù)組7;占用比特數(shù),對應(yīng)的組號元素為JiL ,參數(shù)力按如下公式確定
7..如權(quán)利要求1所述的一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于在上述步驟 (8)所述的逐行提取非負混合一階差分矩陣乙X/3元素,依次放入數(shù)組中,依步驟(7)選取的2個參數(shù),即合并次數(shù)&和編碼截斷階數(shù)&,對數(shù)組A中各元素進行合并與編碼,生成一次壓縮編碼二值碼流T1,具體如下逐行提取矩陣Zmxn= (|χΛ·, I U元素,依次放入數(shù)組萬中,E的表達式為 E=(\xyn\, \xy12\, ···, Uy^, I^2J, I^22I, 丨炒」,…,\xy ml\, I^ffl2I, ···,丨)’按步驟(7)所選合并次數(shù)義,對數(shù)組中各元素整除,商置入數(shù)組,余數(shù)置入數(shù)組&,\中各余數(shù)的二進制表示位數(shù)為&位,對數(shù)組&f中各元素進行編碼,小于&的
8.如權(quán)利要求1所述的一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于在上述步驟(9)中所述的統(tǒng)計一次壓縮編碼二值碼流Ti中連續(xù)0和連續(xù)1的長度,得到一次壓縮編碼二值碼流Ti的長度分布數(shù)組Z,具體如下統(tǒng)計步驟(8) —次壓縮編碼二值碼流Ti中0段和1段的長度,得到長度分布數(shù)組 L~ (-/^j J2^ …,八)ο
9.如權(quán)利要求1所述的一種圖像數(shù)據(jù)無損壓縮的編碼方法,其特征在于在上述步驟(10)中所述的用長度分布數(shù)組Z的長度商數(shù)組。和余數(shù)二值碼流/P表示長度分布數(shù)組Z, 實現(xiàn)二次編碼壓縮,生成二次編碼二值碼流r2,具體如下對長度分布數(shù)組^= (Λ,Λ,…,厶)中各元素按公式(7)計算,得到長度商數(shù)組。和余數(shù)二值碼流/ ,其中g(shù)round((7^1)/2, (72+l)/2,…,(7,+1)/2)(7)round表示取整函數(shù),余數(shù)置入余數(shù)二值碼流TP=(力工,力2,…,bn…,br、中,其中,當(dāng) (Λ+1)/2為偶數(shù)時,力,.為0,當(dāng)(Λ+1)/2為奇數(shù)時,、為1,長度商數(shù)組Q中元素為1時,編碼為0或1,如果該原始長度由0組成,則編碼為0,如果該原始長度由1組成,則編碼為1 ;為2時,編碼為00或11,如果該原始長度由0組成,則編碼為00,如果該原始長度由1組成,則編碼為11 ;以此類推,如某二值碼流串0111111000111111111111,其長度分布數(shù)組Z=(l,6,3,12),長度商數(shù)組0編碼為 011100111111,余數(shù)二值碼流為 0101,將長度商數(shù)組Q的二進制編碼與余數(shù)二值碼流組合后,生成二次編碼二值碼流τ2。
全文摘要
本發(fā)明公開了一種圖像數(shù)據(jù)無損壓縮的編碼方法,它主要包括從圖像矩陣中提取一階混合差分矩陣;依一階混合差分矩陣元素的統(tǒng)計分布,確定合并次數(shù)與編碼截斷階數(shù);根據(jù)合并次數(shù)與編碼截斷階數(shù)對一階混合差分矩陣元素進行一次編碼,實現(xiàn)一次壓縮;對一次壓縮編碼二值碼流進行二次編碼,實現(xiàn)二次編碼壓縮。該方法能根據(jù)圖像數(shù)據(jù)的統(tǒng)計特征選取壓縮量最大情形下所對應(yīng)的數(shù)據(jù)合并次數(shù)q與編碼截斷階數(shù)p,依所選合并次數(shù)和編碼截斷階數(shù)構(gòu)造一種即時編碼,靈活性強,算法簡單,易于實現(xiàn),編碼效率高;該方法的一次壓縮編碼表的構(gòu)成簡單;該方法的編碼前綴及編碼后綴結(jié)構(gòu)統(tǒng)一,解碼過程無需匹配,解碼效率高。
文檔編號H04N7/26GK102547295SQ20121004070
公開日2012年7月4日 申請日期2012年2月22日 優(yōu)先權(quán)日2012年2月22日
發(fā)明者劉萬, 宋奧, 王忠元, 饒珺, 高健 申請人:上海大學(xué)