亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種圖像無損壓縮和圖像解壓縮方法

文檔序號:7956159閱讀:364來源:國知局
專利名稱:一種圖像無損壓縮和圖像解壓縮方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖像壓縮技術(shù)領(lǐng)域,特別是涉及一種圖像無損壓縮和解壓縮方法。
背景技術(shù)
隨著多媒體信息的傳播在人們的生活中起著越來越重要的作用,在很多情況下,需要同時傳輸?shù)臄?shù)據(jù)量非常大,對傳輸速率的要求也越來越高。在許多領(lǐng)域,如在無線顯示系統(tǒng)中,隨著顯示解析度的提高,在高清顯示情況下需要傳輸?shù)臄?shù)據(jù)率非常大,一幅1280×1024×24bits×30幀的圖像,每秒的數(shù)據(jù)率為922Mbps。如果不對圖像進行壓縮,對于如此高的速率,即便使用高速超寬帶(Ultra Wide Band,UWB)無線技術(shù)也將難以實現(xiàn)。因此對圖像進行適度的壓縮對于多媒體信息的傳輸是必不可少的。
所謂壓縮,就是對要處理的圖像源數(shù)據(jù)用一定的規(guī)則進行變換和組合,保留不確定的信息,去掉可推知的確定信息,以達到用盡可能少的代碼或符號來表示盡可能多的圖像數(shù)據(jù)信息的目的。通常,壓縮是通過編碼來實現(xiàn)的,換句話說,壓縮過程就是編碼過程,解壓縮過程就是解碼過程。
圖像的壓縮基本基于以下兩點1.圖像信息存在著很大的冗余度,數(shù)據(jù)之間存在著相關(guān)性,如相鄰象素之間色彩基本相同。
2.人的視覺對于邊緣急劇變化不敏感,人眼具有對圖像的亮度敏感高、對色度敏感低的特點。
根據(jù)這兩點特征就可以壓縮圖像數(shù)據(jù),由此發(fā)展出圖像壓縮的兩種常用方法無損壓縮和有損壓縮。
無損壓縮是將相同的或相似的數(shù)據(jù)或數(shù)據(jù)特征歸類,使用較少的數(shù)據(jù)量描述原始數(shù)據(jù),達到減少數(shù)據(jù)量的目的。無損壓縮是對文件本身的壓縮,和其它數(shù)據(jù)文件的壓縮一樣,無損壓縮對文件的數(shù)據(jù)存儲方式進行優(yōu)化,采用某種算法表示重復(fù)的數(shù)據(jù)信息,文件可以完全還原,不會影響文件內(nèi)容,對于數(shù)碼圖像而言,也就不會使圖像細節(jié)有任何損失。
不同的無損壓縮編碼方法對于不同的信源其壓縮效率是不同的。常用的無損壓縮編碼方法有游程編碼(run-length encoding,RLE)。
游程編碼(run-length encoding,RLE)是壓縮一個圖像文件最簡單的方法之一。具體做法就是把一系列的重復(fù)值(例如圖像像素的灰度值)用一個單獨的值再加上一個計數(shù)值來取代。例如有這樣一個字母序列aabbbccccccccdddddd,對它進行游程編碼的結(jié)果是2a3b8c6d。前一位表示字母的個數(shù),后一位表示具體的字母。如果是圖像數(shù)據(jù)序列55555533330222222211,對它進行游程編碼的結(jié)果是6543107221,其中,編碼位中的第一位代碼是“6”,它表示游程長度,即有連續(xù)6個像素點具有相同的像素值;“6”后面的“5”表示這6個像素的像素值均為5,依次類推。對比游程編碼前后的代碼數(shù)可以發(fā)現(xiàn),原來用20位代碼表示的20個圖像數(shù)據(jù),現(xiàn)在只用10位代碼就表示了20個圖像數(shù)據(jù)。數(shù)據(jù)量被壓縮了一倍。
現(xiàn)有的多媒體靜止圖像數(shù)據(jù)壓縮國際標準(Join Photographic experts,JPEG)中的游程編碼是是對8×8子塊離散余弦變換系數(shù)點陣進行游程編碼。
現(xiàn)有的活動圖像及其伴音的壓縮編碼標準(Moving Picture Expert Group,MPEG)及運動靜止圖像壓縮技術(shù)(Motion-JPEG,M-JPEG)也采用游程編碼技術(shù),其是以余弦變換(DCT)為基礎(chǔ),對其變換的系數(shù)量化后,再進行游程編碼。
但是,這些常用技術(shù)編碼算法復(fù)雜,計算量大,實現(xiàn)起來非常復(fù)雜,而且由于需要采用專用的壓縮和解壓縮芯片,成本很高。對于僅包含很少幾個灰度級的圖像,特別是二值圖像的壓縮比較有效,而對于彩色圖像處理的效果不是很佳。在某些情況下如相鄰數(shù)據(jù)中相同數(shù)據(jù)的個數(shù)很少的時候甚至?xí)斐蓴?shù)據(jù)膨脹。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述缺陷而提供一種圖像無損壓縮方法和圖像解壓縮方法,其既簡單,不需要專用芯片,又適用于彩色圖像的壓縮。
本發(fā)明的圖像無損壓縮方法,包括以下步驟
步驟A,從原始圖像數(shù)據(jù)的第一行列開始,本行列的原始像素值與相鄰的下一行列原始像素值進行邏輯異或,得到下一行列的異或像素值;步驟B,在原始像素值和異或像素值中選擇,并將選擇的像素值進行游程編碼,在包頭中加上異或標志并輸出。
本發(fā)明的圖像解碼方法,包括以下步驟步驟A,解行列的游程編碼;步驟B,解異或,并輸出。
本發(fā)明的有益效果是本發(fā)明提供了一種新的通用圖像無損壓縮和圖像解壓縮方法,該方法在盡可能提高其壓縮比的同時,其實現(xiàn)復(fù)雜度也非常低,編碼算法簡單,計算量小,不需要采用專用的壓縮和解壓縮芯片,實現(xiàn)成本低。而且對于圖像,包括二值圖像和彩色圖像都有較佳的處理效果,不會造成數(shù)據(jù)膨脹。


圖1為本發(fā)明的圖像無損壓縮方法的實施例二具體例子的流程圖;圖2為本發(fā)明的圖像解壓縮方法的具體例子的流程圖。
具體實施例方式
下面結(jié)合附圖1和附圖2及具體實施例對本發(fā)明再作進一步詳細的說明。
本發(fā)明基于的理論依據(jù)是利用視頻圖像相鄰兩行或者列的數(shù)據(jù)的相關(guān)性,相鄰下兩行或者列的數(shù)據(jù)通過異或操作后提高壓縮率。
在本實施例中,本發(fā)明特別是以數(shù)據(jù)編碼信息以行為序列而進行描述,但本發(fā)明同樣適用以列為序列的情況。
實施例一基于上述思想,本發(fā)明實施例一的圖像無損壓縮的方法具體包括以下步驟步驟A從第一行開始,將原始圖像數(shù)據(jù)中相鄰兩行第N行和第N+1行的原始像素值進行邏輯異或,得到第N+1行的異或像素值;步驟B將第N+1行的異或像素值進行游程編碼,并在包頭中增加異或標志后傳輸;所述異或標志是一個標志位表示,1代表該結(jié)果是原始像素值異或后的游程編碼,0表示該結(jié)果是非異或的原始像素值的游程編碼。
步驟C重復(fù)所述步驟A和步驟B,對原始圖像數(shù)據(jù)的原始像素值重復(fù)執(zhí)行邏輯異或,直到第M行結(jié)束;通過最多每隔M行就對該行的原始像素值而不是異或像素值進行一次游程編碼,在包頭中增加異或標志并傳輸,防止因前面某一行傳輸過程中異或像素值的數(shù)據(jù)包丟失而對下面一系列行的顯示產(chǎn)生影響,進一步提高系統(tǒng)的魯棒性。
較佳地,所述M的值為10,即每隔10就對該行的原始像素值進行一次游程編碼,在包頭中增加異或標志后傳輸。
步驟D從第M+1行開始,重復(fù)步驟A~C,直到最后一行。
較佳地,在上述步驟之前進一步包括,將原始圖像中第一行的原始像素值進行游程編碼,在包頭中增加異或標志后傳輸。
下面通過一個簡單的例子來進行說明例如原來三行數(shù)據(jù)分別為1 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 8此時,數(shù)據(jù)量為24。
但是通過相鄰兩行的異或操作后數(shù)據(jù)變?yōu)? 2 3 4 5 6 7 80 0 0 0 0 0 0 00 0 0 0 0 0 0 0再通過游程編碼后變?yōu)? (0) 2 (0) 3 (0) 4 (0) 5 (0) 6 (0) 7 (0) 8 (0)0 (7)0 (7)數(shù)據(jù)量變?yōu)?0。
實施例二本發(fā)明實施例二的圖像無損壓縮方法具體包括以下步驟
步驟A′從第一行開始,將原始圖像數(shù)據(jù)中相鄰兩行第N行和第N+1行的原始像素值進行邏輯異或,得到第N+1行的異或像素值;步驟B′將第N+1行的異或像素值和該行的原始像素值分別進行游程編碼,并分別計算壓縮比;所述壓縮比是指壓縮前的圖像數(shù)據(jù)量與壓縮后的圖像數(shù)據(jù)量之比。
步驟C′將第N+1行的異或像素值的游程編碼的壓縮比與該行的原始像素值的游程編碼的壓縮比進行比較,對壓縮比較大的像素值的游程編碼,加上異或標志后傳輸。
所述異或標志可以用一個標志位表示,1代表該結(jié)果是原始像素值異或后的游程編碼,0表示該結(jié)果是非異或的原始像素值的游程編碼。
步驟C′還包括下列步驟步驟C1′如果該行的異或像素值的游程編碼的壓縮比大于該行的原始像素值的游程編碼的壓縮比,則對異或像素值的游程編碼在包頭中增加異或標志1,否則繼續(xù);步驟C2′對原始像素值的游程編碼的包頭中增加異或標志0。
比較壓縮比后根據(jù)所傳輸?shù)氖窃枷袼刂颠€是異或像素值而加上異或標志,使得在解碼時能夠識別所傳輸?shù)氖窃枷袼刂颠€是異或像素值。
步驟D′重復(fù)所述步驟A′~C′,對原始圖像數(shù)據(jù)的原始像素值重復(fù)執(zhí)行邏輯異或,直到最后一行結(jié)束。
較佳地,在上述步驟A′之前進一步包括,將原始圖像中第一行的原始像素值進行游程編碼,在包頭中增加異或標志,并直接傳輸。
下面舉一個具體的例子來說明上述過程,該過程的流程圖如圖1所示,具體步驟如下例如一幅原始圖像有M行,N表示該圖像的某一行值。
步驟S1將原始圖像中第一行的原始像素值進行游程編碼,在包頭中增加異或標志,并傳輸。
步驟S2將原始圖像中N+1行的原始像素值RGB(N+1)和N行的原始像素值RGBN進行邏輯異或,得到該行的異或像素值RGBX(N+1);步驟S3將N+1行的異或像素值RGBX(N+1)和N+1行的原始像素值RGB(N+1)分別進行游程編碼,并分別計算壓縮比CX(N+1)和C(N+1);步驟S4對S3得到的壓縮比CX(N+1)和C(N+1)進行比較,如果CX(N+1)大于C(N+1),則對N+1行的異或像素值RGBX(N+1)的游程編碼在包頭中增加異或標志1,并傳輸;否則對N+1行的原始像素值RGB(N+1)的游程編碼在包頭中增加異或標志0,并傳輸。
N值從2到M,每一行執(zhí)行一次上述步驟S2到S4,直到最后一行。
本發(fā)明的無損壓縮算法既可用于對黑白圖像的壓縮,也可用于對彩色圖像的壓縮。
彩色圖像目前最常用的是RGB色彩空間表示方法。本發(fā)明的無損壓縮方法在處理采用RGB色彩空間表示方法表示的圖像時,對像素值進行游程編碼可以采用以下兩種方法1.RGB像素值在一起游程編碼把一個像素的RGB值作為一個整體數(shù)據(jù),與下一個像素的RGB整體值進行比較,如果數(shù)據(jù)相等,則游程加1。編碼后只有一組數(shù)據(jù)。
原始像素值的表示方式為R1G1B1R2G2B2R3G3B3。
2.RGB像素值分開游程編碼把每一個像素值的RGB差分成R、G、B三個數(shù)據(jù),R數(shù)據(jù)利用游程編碼編成一組R數(shù)據(jù);G數(shù)據(jù)利用游程編碼編成一組G數(shù)據(jù);B數(shù)據(jù)利用游程編成一組數(shù)據(jù)。這樣編碼后就變成三組數(shù)據(jù)。
三組數(shù)據(jù)的形式分別為R1R2R3G1G2G3B1B2B3下面進一步詳細描述本發(fā)明的圖像解壓縮方法,其包括以下步驟步驟100當接收到圖像數(shù)據(jù)后,從第一行開始,將圖像數(shù)據(jù)中的像素值中的行數(shù)據(jù)解游程編碼;當解壓縮端接收到圖像數(shù)據(jù)后,從第一行開始,將行數(shù)據(jù)解游程編碼,其過程是壓縮方法的相反過程,在本實施例中不再詳細描述。
步驟200根據(jù)異或標志判斷是否需要解異或;如果需要,解異或,并輸出數(shù)據(jù);否則直接輸出數(shù)據(jù)。
解異或方法是與本行與上一行再次進行異或運算。
步驟300重復(fù)執(zhí)行上述步驟100和步驟200,直到最后一行結(jié)束。
下面舉一個具體的例子來說明上述過程,該過程的流程圖如圖2所示,具體步驟如下例如一幅編碼后的圖像有M行,N表示該圖像的某一行值。
步驟S1′輸入該圖像的N行數(shù)據(jù);步驟S2′對該行數(shù)據(jù)解游程編碼;步驟S3′根據(jù)異或標志判斷是否需要解異或;如果需要,與上一行進行異或運算,并輸出異或后的數(shù)據(jù);否則直接輸出該行數(shù)據(jù)。
N值從1到M,每一行執(zhí)行一次上述步驟S1到S3。
為了驗證本方法,我們對6組視頻數(shù)據(jù)(每組500幀,隨機抓取)進行壓縮仿真。每幀視頻大小為1024×768*2=1.5MB,所以每組數(shù)據(jù)大小為750MB,經(jīng)過本方法壓縮后每組大小分別為159MB,240MB,224MB,262MB,206MB,177MB,壓縮率分別為21.2%,32.0%,29.9%,34.9%,27.5%,23.6%,平均壓縮率為28.2%。
一般地,無線傳輸芯片的底層數(shù)據(jù)帶寬為660Mbps,實際數(shù)據(jù)帶寬約400Mbps,這樣需要的壓縮率為85%,實驗證明本發(fā)明的壓縮率最大不超過65%,平均值在50%以下,可以滿足帶寬要求。
雖然我們的發(fā)明是在無線視頻傳輸?shù)谋尘跋聦崿F(xiàn)的,但是這種方法不僅僅用于無線視頻傳輸,也可以適用于對任何圖像和視頻的處理,是一種通用的無損壓縮方法。
最后說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解,可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當中。
權(quán)利要求
1.一種圖像無損壓縮方法,包括以下步驟步驟A,從原始圖像數(shù)據(jù)的第一行列開始,本行列的原始像素值與相鄰的下一行列原始像素值進行邏輯異或,得到下一行列的異或像素值;步驟B,在原始像素值和異或像素值中選擇,并將選擇的像素值進行游程編碼,在包頭中加上異或標志并輸出。
2.如權(quán)利要求1所述的圖像無損壓縮方法,其特征在于,所述的行列為行或列。
3.如權(quán)利要求1或2所述的圖像無損壓縮方法,其特征在于,原始圖像中第一行列的原始像素值進行游程編碼,在包頭中增加異或標志,并直接傳輸。
4.如權(quán)利要求1或2所述的圖像無損壓縮方法,所述步驟B包括步驟B1,對原始像素值進行游程編碼,并計算壓縮比;步驟B2,對異或后的像素值進行游程編碼,并計算壓縮比;步驟B3,對壓縮比進行比較,傳輸壓縮比高的像素值的游程編碼。
5.如權(quán)利要求1或2所述的圖像無損壓縮方法,所述步驟B包括每隔N行列對原始像素值進行游程編碼,并輸出。
6.如權(quán)利要求5所述的圖像無損壓縮方法,其特征在于,所述N的值為10。
7.如權(quán)利要求1或2所述的圖像無損壓縮方法,其特征在于,對RGB像素值進行游程編碼時將RGB像素值在一起游程編碼或?qū)GB像素值分開游程編碼。
8.一種圖像解碼方法,包括以下步驟步驟A,解行列的游程編碼;步驟B,解異或,并輸出。
9.如權(quán)利要求8所述的圖像解碼方法,其特征在于,所述的行列為行或列。
10.如權(quán)利要求8或9所述的圖像解碼方法,所述步驟B包括步驟B1,根據(jù)異或標志判斷是否需要解異或;步驟B2,如果需要,解異或并輸出;否則,直按輸出。
11.如權(quán)利要求8或9所述的圖像解碼方法,其特征在于,所述解異或方法是與相鄰行列進邏輯異或。
全文摘要
本發(fā)明公開了一種圖像無損壓縮方法,包括以下步驟從原始圖像數(shù)據(jù)的第一行列開始,本行列的原始像素值與相鄰的下一行列原始像素值進行邏輯異或,得到下一行列的異或像素值;在原始像素值和異或像素值中選擇,并將選擇的像素值進行游程編碼,在包頭中加上異或標志并輸出。本發(fā)明還公開了一種圖像解碼方法,包括以下步驟解行列的游程編碼;解異或,并輸出。本發(fā)明在盡可能提高其壓縮比的同時,其實現(xiàn)復(fù)雜度也非常低,編碼算法簡單,計算量小,不需要采用專用的壓縮和解壓縮芯片,實現(xiàn)成本低。
文檔編號H04N7/26GK101039374SQ20061005739
公開日2007年9月19日 申請日期2006年3月14日 優(yōu)先權(quán)日2006年3月14日
發(fā)明者郭子華, 王桐, 江臻 申請人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1