欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于可逆變長(zhǎng)碼的圖像無(wú)損壓縮方法和系統(tǒng)與流程

文檔序號(hào):11292572閱讀:459來(lái)源:國(guó)知局
一種基于可逆變長(zhǎng)碼的圖像無(wú)損壓縮方法和系統(tǒng)與流程

本發(fā)明屬于圖像處理領(lǐng)域,更具體地,涉及一種基于可逆變長(zhǎng)碼的圖像無(wú)損壓縮方法和系統(tǒng)。



背景技術(shù):

在大多數(shù)的空間探測(cè)技術(shù)中,將傳感器采集到的圖像傳輸?shù)降孛孢M(jìn)行研究是必不可少的??臻g圖像傳感器采集到的圖像一般具有高分辨率、巨幅面、多波段的特點(diǎn),直接導(dǎo)致海量的圖像數(shù)據(jù)和很高的原始碼速率,因此圖像壓縮技術(shù)對(duì)于圖像傳輸是至關(guān)重要的。

常見(jiàn)的數(shù)據(jù)壓縮技術(shù)包括無(wú)損壓縮和有損壓縮兩類。有損壓縮是在犧牲像元精度的情況下可以達(dá)到較高的壓縮比;而無(wú)損壓縮提供了不丟失信息的壓縮技術(shù),可以從壓縮數(shù)據(jù)準(zhǔn)確無(wú)誤地恢復(fù)原始圖像,但壓縮比不高。在信息細(xì)節(jié)要求較高的系統(tǒng)中,采用有損壓縮可能導(dǎo)致丟失重要信息,必須采用無(wú)損壓縮。

目前空間應(yīng)用中最常見(jiàn)的圖像無(wú)損壓縮算法是基于預(yù)測(cè)的無(wú)損壓縮算法。基于預(yù)測(cè)的無(wú)損壓縮算法針對(duì)圖像局部區(qū)域像素間冗余關(guān)系,利用預(yù)測(cè)器來(lái)減小輸入圖像的圖像熵,實(shí)現(xiàn)圖像信息的數(shù)據(jù)壓縮。這種算法具有很低的實(shí)現(xiàn)復(fù)雜性,并能取得較好的壓縮效果。但是當(dāng)圖像數(shù)據(jù)采取基于預(yù)測(cè)的無(wú)損壓縮算法時(shí),傳輸編碼碼流中某一位的誤碼不僅造成對(duì)應(yīng)像素的灰度信息錯(cuò)誤,還會(huì)對(duì)所有后續(xù)碼流的解碼結(jié)果產(chǎn)生影響,這樣會(huì)形成誤碼的擴(kuò)散,導(dǎo)致恢復(fù)出來(lái)的信號(hào)面目全非。當(dāng)基于預(yù)測(cè)的無(wú)損壓縮算法采用變長(zhǎng)編碼時(shí),誤碼造成的損害更嚴(yán)重,因?yàn)樽冮L(zhǎng)編碼會(huì)使得差錯(cuò)擴(kuò)散到以下各行,使以后的各點(diǎn)圖像數(shù)據(jù)發(fā)生錯(cuò)誤,并使圖像數(shù)據(jù)個(gè)數(shù)發(fā)生錯(cuò)誤,影響程度取決于出錯(cuò)像素所在的位置。所以缺乏誤碼容忍能力是基于預(yù)測(cè)的無(wú)損壓縮算法主要的缺點(diǎn)。

圖像數(shù)字通信中,當(dāng)信道傳輸誤碼率超過(guò)一定限度,要保障正常通信,必須對(duì)誤碼實(shí)施糾錯(cuò)處理,這需要將信息進(jìn)行信道編碼,即在信息碼元序列中加入監(jiān)督碼元。但是,當(dāng)圖像數(shù)據(jù)量很大時(shí),監(jiān)督碼元的加入會(huì)造成較大的數(shù)據(jù)冗余,會(huì)大大降低壓縮的效率。同時(shí),因?yàn)樾诺谰幋a是對(duì)待傳輸?shù)膲嚎s碼流進(jìn)行編碼,所以它們雖然具有較強(qiáng)的檢糾錯(cuò)能力,但是仍然會(huì)使得接收端的壓縮數(shù)據(jù)存在一定的誤碼率,進(jìn)而影響解壓縮圖像數(shù)據(jù)的質(zhì)量。

由此可見(jiàn),現(xiàn)有技術(shù)中基于預(yù)測(cè)的無(wú)損壓縮圖像的壓縮比較低、誤像素率較高、解壓縮圖像數(shù)據(jù)的質(zhì)量差,無(wú)法適應(yīng)遠(yuǎn)距離大數(shù)據(jù)量圖像的無(wú)損壓縮和傳輸。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種基于可逆變長(zhǎng)碼的圖像無(wú)損壓縮方法和系統(tǒng),其目的在于基于可逆變長(zhǎng)碼構(gòu)造編碼碼表,進(jìn)而對(duì)圖像進(jìn)行壓縮,得到圖像壓縮碼流,利用圖像壓縮碼流,基于可逆變長(zhǎng)碼,設(shè)計(jì)解碼碼表進(jìn)而得到解壓縮后的圖像,由此解決壓縮圖像的壓縮比較低、誤像素率較高、解壓縮圖像數(shù)據(jù)的質(zhì)量差,無(wú)法適應(yīng)遠(yuǎn)距離大數(shù)據(jù)量圖像的無(wú)損壓縮和傳輸?shù)募夹g(shù)問(wèn)題。

為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種基于可逆變長(zhǎng)碼的圖像無(wú)損壓縮方法,包括圖像無(wú)損壓縮和圖像解壓縮部分:

圖像無(wú)損壓縮部分包括:

(s1)對(duì)待壓縮圖像的每一行像素點(diǎn)進(jìn)行差分處理得到像素點(diǎn)差分值,基于可逆變長(zhǎng)碼,利用像素點(diǎn)差分值構(gòu)造待壓縮圖像每一行的編碼碼表,并得到碼表信息;

(s2)對(duì)待壓縮圖像的首行像素點(diǎn),保留所有像素點(diǎn)灰度值并進(jìn)行編碼,得到首行編碼碼流,對(duì)待壓縮圖像的非首行像素點(diǎn),利用待壓縮圖像的上一行的編碼碼表進(jìn)行編碼,得到非首行編碼碼流;

(s3)在每一行編碼碼流后加上行尾標(biāo)志信息和該行的碼表信息,得到圖像壓縮碼流,傳輸至圖像解壓縮部分;

圖像解壓縮部分包括:

(t1)接收?qǐng)D像壓縮碼流,對(duì)首行圖像壓縮碼流直接獲取首行像素點(diǎn)灰度值并計(jì)算差分值,再基于可逆變長(zhǎng)碼,利用首行像素點(diǎn)差分值設(shè)計(jì)解碼碼表,對(duì)非首行圖像壓縮碼流,根據(jù)行尾標(biāo)志信息依次獲取碼表信息和非首行編碼碼流;

(t2)對(duì)非首行編碼碼流,利用上一行解碼碼表進(jìn)行解碼,得到當(dāng)前行像素點(diǎn)差分值,并基于可逆變長(zhǎng)碼,利用當(dāng)前行像素點(diǎn)差分值設(shè)計(jì)當(dāng)前行的解碼碼表,直至得到所有非首行像素點(diǎn)差分值;

(t3)根據(jù)像素點(diǎn)差分值,得到圖像像素點(diǎn)灰度值信息,進(jìn)而得到解壓縮后的圖像。

進(jìn)一步的,步驟(s1)還包括設(shè)置碼字之間的最小距離,進(jìn)而限制編碼碼表中碼字之間的相似度。

優(yōu)選的,設(shè)置碼字之間的最小距離是設(shè)置碼字間的最小漢明距離d,構(gòu)造碼字過(guò)程中保證所選碼字之間的漢明距離不小于d,通常d≥3。

由于在圖像無(wú)損壓縮過(guò)程中利用漢明距離限制了碼字之間的相似度,有效地降低了試錯(cuò)法糾正誤碼過(guò)程中碼字混淆的可能性,進(jìn)一步提高了試錯(cuò)法糾正誤碼的可靠性。

進(jìn)一步的,碼表信息包括碼表參數(shù)和像素點(diǎn)差分值,碼表參數(shù)包括碼字構(gòu)造初始值、像素點(diǎn)差分值個(gè)數(shù)、像素點(diǎn)差分值的表示位數(shù),像素點(diǎn)差分值包括符號(hào)位和像素點(diǎn)差分值的絕對(duì)值。

進(jìn)一步的,步驟(t2)包括:

(t21)對(duì)非首行編碼碼流,利用上一行解碼碼表進(jìn)行雙向解碼,得到解碼結(jié)果,若解碼結(jié)果無(wú)誤則進(jìn)入步驟(t23),若解碼結(jié)果有誤,則非首行編碼碼流存在誤碼,進(jìn)入步驟(t22);

(t22)對(duì)存在誤碼的非首行編碼碼流,利用碼表信息和雙向解碼結(jié)果進(jìn)行防誤碼擴(kuò)散和誤碼糾正處理,得到誤碼糾正后的解碼結(jié)果;

(t23)解碼結(jié)果為當(dāng)前行像素點(diǎn)差分值,并基于可逆變長(zhǎng)碼,利用當(dāng)前行像素點(diǎn)差分值設(shè)計(jì)當(dāng)前行的解碼碼表,直至得到所有非首行像素點(diǎn)差分值。

進(jìn)一步的,步驟(t21)還包括根據(jù)解碼正確的判定標(biāo)準(zhǔn)判斷解碼結(jié)果是否有誤,所述解碼正確的判定標(biāo)準(zhǔn)為:雙向解碼后得到的像素點(diǎn)差分值相同,像素點(diǎn)個(gè)數(shù)等于圖像列數(shù),且雙向解碼過(guò)程中不存在碼字無(wú)對(duì)應(yīng)像素點(diǎn)差分值的情況。

進(jìn)一步的,步驟(t22)中防誤碼擴(kuò)散的具體實(shí)現(xiàn)方式為:對(duì)存在誤碼的非首行編碼碼流,根據(jù)上一行碼表信息,進(jìn)行第二次雙向解碼,得到第二次解碼結(jié)果,當(dāng)?shù)诙坞p向解碼結(jié)果無(wú)誤,直接將第二次雙向解碼結(jié)果作為解碼結(jié)果;當(dāng)?shù)诙坞p向解碼結(jié)果有誤,利用利用步驟(t21)所得雙向解碼結(jié)果對(duì)圖像行數(shù)據(jù)進(jìn)行部分恢復(fù)。

進(jìn)一步的,對(duì)圖像行數(shù)據(jù)進(jìn)行部分恢復(fù)的具體實(shí)現(xiàn)方式為:在雙向解碼過(guò)程中,通過(guò)正序解碼中間結(jié)果確定第一個(gè)誤碼區(qū)域[0,ef],通過(guò)逆序解碼中間結(jié)果確定最后一個(gè)誤碼區(qū)域[eb,l-1],其中,l是該行編碼碼流的總比特?cái)?shù),ef為第一個(gè)誤碼區(qū)域的右邊界,eb為最后一個(gè)誤碼區(qū)域的左邊界;按照第一個(gè)誤碼區(qū)域和最后一個(gè)誤碼區(qū)域?qū)D像行數(shù)據(jù)進(jìn)行部分恢復(fù)。

進(jìn)一步的,解碼中間結(jié)果包括:解碼過(guò)程中第一次出現(xiàn)碼字無(wú)對(duì)應(yīng)像素點(diǎn)差分值情況時(shí),碼字末尾對(duì)應(yīng)在該行編碼碼流中的位置p;解碼過(guò)程中,當(dāng)?shù)玫降南袼攸c(diǎn)個(gè)數(shù)大于圖像列數(shù)n時(shí),第n個(gè)像素點(diǎn)對(duì)應(yīng)碼字末尾在該行編碼碼流中的位置q。

進(jìn)一步的,誤碼糾正包括:當(dāng)圖像編碼碼流中誤碼只出現(xiàn)在一個(gè)像素點(diǎn)差分值對(duì)應(yīng)的碼字內(nèi)時(shí),誤碼區(qū)域?yàn)閇eb,ef];在誤碼區(qū)域利用試錯(cuò)法進(jìn)行雙向解碼,得到k組疑似像素點(diǎn)差分值,利用疑似像素點(diǎn)差分值得到疑似像素點(diǎn)灰度值;第m行疑似像素點(diǎn)灰度值與第m-1行像素點(diǎn)灰度值之間線性相關(guān)系數(shù)ρm,m-1為:

其中1≤m<m,0≤i≤n-1,m為圖像行數(shù),i′m,i表示第m行第i列的疑似像素點(diǎn)灰度值,im-1,i表示第m-1行第i列的像素點(diǎn)灰度值;表示第m行疑似像素點(diǎn)灰度值的平均值,表示第m-1行像素點(diǎn)灰度值的平均值;

選取線性相關(guān)系數(shù)最大的一組疑似像素點(diǎn)差分值作為當(dāng)前行解碼結(jié)果。

按照本發(fā)明的另一方面,提供了一種基于可逆變長(zhǎng)碼的圖像無(wú)損壓縮系統(tǒng),包括圖像無(wú)損壓縮模塊和圖像解壓縮模塊:

圖像無(wú)損壓縮模塊包括:

編碼碼表子模塊,用于對(duì)待壓縮圖像的每一行像素點(diǎn)進(jìn)行差分處理得到像素點(diǎn)差分值,基于可逆變長(zhǎng)碼,利用像素點(diǎn)差分值構(gòu)造待壓縮圖像每一行的編碼碼表,并得到碼表信息;

編碼碼流子模塊,用于對(duì)待壓縮圖像的首行像素點(diǎn),保留所有像素點(diǎn)灰度值并進(jìn)行編碼,得到首行編碼碼流,對(duì)待壓縮圖像的非首行像素點(diǎn),利用待壓縮圖像的上一行的編碼碼表進(jìn)行編碼,得到非首行編碼碼流;

壓縮碼流子模塊,用于在每一行編碼碼流后加上行尾標(biāo)志信息和該行的碼表信息,得到圖像壓縮碼流,傳輸至圖像解壓縮部分;

圖像解壓縮模塊包括:

解碼碼表子模塊,用于接收?qǐng)D像壓縮碼流,對(duì)首行圖像壓縮碼流直接獲取首行像素點(diǎn)灰度值并計(jì)算差分值,再基于可逆變長(zhǎng)碼,利用首行像素點(diǎn)差分值設(shè)計(jì)解碼碼表,對(duì)非首行圖像壓縮碼流,根據(jù)行尾標(biāo)志信息依次獲取碼表信息和非首行編碼碼流;

解碼子模塊,用于對(duì)非首行編碼碼流,利用上一行解碼碼表進(jìn)行解碼,得到當(dāng)前行像素點(diǎn)差分值,并基于可逆變長(zhǎng)碼,利用當(dāng)前行像素點(diǎn)差分值設(shè)計(jì)當(dāng)前行的解碼碼表,直至得到所有非首行像素點(diǎn)差分值;

解壓縮子模塊,用于根據(jù)像素點(diǎn)差分值,得到圖像像素點(diǎn)灰度值信息,進(jìn)而得到解壓縮后的圖像。

總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:

(1)由于采用了圖像行內(nèi)差分處理,有效減少了圖像行內(nèi)像素間的信息冗余,并將預(yù)測(cè)信息相關(guān)性控制在圖像行內(nèi)以防止誤碼擴(kuò)散;同時(shí)由于利用圖像上一行像素點(diǎn)的編碼碼表對(duì)當(dāng)前行進(jìn)行編碼,充分利用了可逆變長(zhǎng)碼的雙向譯碼特性,結(jié)合弱噪聲圖像行間像素點(diǎn)灰度值高度正相關(guān)的特性,減少了圖像壓縮碼流的冗余,本發(fā)明得到的壓縮圖像的壓縮比高、誤像素率低、解壓縮圖像數(shù)據(jù)的質(zhì)量高,利用圖像壓縮碼流,基于可逆變長(zhǎng)碼,設(shè)計(jì)解碼碼表進(jìn)而得到解壓縮后的圖像,可用于遠(yuǎn)距離大數(shù)據(jù)量圖像的無(wú)損壓縮和傳輸。

(2)優(yōu)選的,由于在圖像無(wú)損壓縮過(guò)程中設(shè)置碼字之間的最小距離,進(jìn)而限制編碼碼表中碼字之間的相似度,有效地降低了試錯(cuò)法糾正誤碼過(guò)程中碼字混淆的可能性,進(jìn)一步提高了試錯(cuò)法糾正誤碼的可靠性。

(3)優(yōu)選的,由于采用了兩次雙向解碼以及部分恢復(fù)圖像行數(shù)據(jù)的方法,有效地抑制了誤碼的擴(kuò)散,減少了圖像像素的損失;同時(shí),采用試錯(cuò)法對(duì)誤碼區(qū)域進(jìn)行假設(shè)性恢復(fù),對(duì)于圖像行編碼碼流中僅出現(xiàn)一個(gè)誤碼的情形,能有效實(shí)現(xiàn)圖像的復(fù)原,解決了由于信道誤碼造成信宿端圖像解壓縮后錯(cuò)誤擴(kuò)散的問(wèn)題。

附圖說(shuō)明

圖1是本發(fā)明實(shí)施例提供的一種基于可逆變長(zhǎng)碼的圖像無(wú)損壓縮方法的流程圖;

圖2是本發(fā)明實(shí)施例1的圖像無(wú)損壓縮處理流程圖

圖3是本發(fā)明實(shí)施例1中的待壓縮圖像;

圖4為本發(fā)明實(shí)施例1中圖像首行壓縮碼流格式示意圖;

圖5為本發(fā)明實(shí)施例1中圖像行碼表信息格式示意圖;

圖6為本發(fā)明實(shí)施例1的防誤碼擴(kuò)散的處理流程圖;

圖7為本發(fā)明實(shí)施例1的誤碼糾正的處理流程圖;

圖8為本發(fā)明實(shí)施例1中受誤碼擴(kuò)散影響的解壓縮圖像;

圖9為本發(fā)明實(shí)施例1中防誤碼擴(kuò)散后的解壓縮圖像;

圖10為本發(fā)明實(shí)施例1中誤碼糾正后的解壓縮圖像。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。

如圖1所示,一種基于可逆變長(zhǎng)碼的圖像無(wú)損壓縮方法,包括圖像無(wú)損壓縮和圖像解壓縮部分:

圖像無(wú)損壓縮部分包括:

(s1)對(duì)待壓縮圖像的每一行像素點(diǎn)進(jìn)行差分處理得到像素點(diǎn)差分值,基于可逆變長(zhǎng)碼,利用像素點(diǎn)差分值構(gòu)造待壓縮圖像每一行的編碼碼表,并得到碼表信息;

(s2)對(duì)待壓縮圖像的首行像素點(diǎn),保留所有像素點(diǎn)灰度值并進(jìn)行編碼,得到首行編碼碼流,對(duì)待壓縮圖像的非首行像素點(diǎn),利用待壓縮圖像的上一行的編碼碼表進(jìn)行編碼,得到非首行編碼碼流;

(s3)在每一行編碼碼流后加上行尾標(biāo)志信息和該行的碼表信息,得到圖像壓縮碼流,傳輸至圖像解壓縮部分;

圖像解壓縮部分包括:

(t1)接收?qǐng)D像壓縮碼流,對(duì)首行圖像壓縮碼流直接獲取首行像素點(diǎn)灰度值并計(jì)算差分值,再基于可逆變長(zhǎng)碼,利用首行像素點(diǎn)差分值設(shè)計(jì)解碼碼表,對(duì)非首行圖像壓縮碼流,根據(jù)行尾標(biāo)志信息依次獲取碼表信息和非首行編碼碼流;

(t2)對(duì)非首行編碼碼流,利用上一行解碼碼表進(jìn)行解碼,得到當(dāng)前行像素點(diǎn)差分值,并基于可逆變長(zhǎng)碼,利用當(dāng)前行像素點(diǎn)差分值設(shè)計(jì)當(dāng)前行的解碼碼表,直至得到所有非首行像素點(diǎn)差分值;

(t3)根據(jù)像素點(diǎn)差分值,得到圖像像素點(diǎn)灰度值信息,進(jìn)而得到解壓縮后的圖像。

進(jìn)一步的,步驟(s1)還包括設(shè)置碼字之間的最小距離,進(jìn)而限制編碼碼表中碼字之間的相似度。

優(yōu)選的,設(shè)置碼字之間的最小距離是設(shè)置碼字間的最小漢明距離d,構(gòu)造碼字過(guò)程中保證所選碼字之間的漢明距離不小于d,通常d≥3。

由于在圖像無(wú)損壓縮過(guò)程中利用漢明距離限制了碼字之間的相似度,有效地降低了試錯(cuò)法糾正誤碼過(guò)程中碼字混淆的可能性,進(jìn)一步提高了試錯(cuò)法糾正誤碼的可靠性。

進(jìn)一步的,碼表信息包括碼表參數(shù)和像素點(diǎn)差分值,碼表參數(shù)包括碼字構(gòu)造初始值、像素點(diǎn)差分值個(gè)數(shù)、像素點(diǎn)差分值的表示位數(shù),像素點(diǎn)差分值包括符號(hào)位和像素點(diǎn)差分值的絕對(duì)值。

進(jìn)一步的,步驟(t2)包括:

(t21)對(duì)非首行編碼碼流,利用上一行解碼碼表進(jìn)行雙向解碼,得到解碼結(jié)果,若解碼結(jié)果無(wú)誤則進(jìn)入步驟(t23),若解碼結(jié)果有誤,則非首行編碼碼流存在誤碼,進(jìn)入步驟(t22);

(t22)對(duì)存在誤碼的非首行編碼碼流,利用碼表信息和雙向解碼結(jié)果進(jìn)行防誤碼擴(kuò)散和誤碼糾正處理,得到誤碼糾正后的解碼結(jié)果;

(t23)解碼結(jié)果為當(dāng)前行像素點(diǎn)差分值,并基于可逆變長(zhǎng)碼,利用當(dāng)前行像素點(diǎn)差分值設(shè)計(jì)當(dāng)前行的解碼碼表,直至得到所有非首行像素點(diǎn)差分值。

進(jìn)一步的,步驟(t21)還包括根據(jù)解碼正確的判定標(biāo)準(zhǔn)判斷解碼結(jié)果是否有誤,所述解碼正確的判定標(biāo)準(zhǔn)為:雙向解碼后得到的像素點(diǎn)差分值相同,像素點(diǎn)個(gè)數(shù)等于圖像列數(shù),且雙向解碼過(guò)程中不存在碼字無(wú)對(duì)應(yīng)像素點(diǎn)差分值的情況。

進(jìn)一步的,步驟(t22)中防誤碼擴(kuò)散的具體實(shí)現(xiàn)方式為:對(duì)存在誤碼的非首行編碼碼流,根據(jù)上一行碼表信息,進(jìn)行第二次雙向解碼,得到第二次解碼結(jié)果,當(dāng)?shù)诙坞p向解碼結(jié)果無(wú)誤,直接將第二次雙向解碼結(jié)果作為解碼結(jié)果;當(dāng)?shù)诙坞p向解碼結(jié)果有誤,利用利用步驟(t21)所得雙向解碼結(jié)果對(duì)圖像行數(shù)據(jù)進(jìn)行部分恢復(fù)。

進(jìn)一步的,對(duì)圖像行數(shù)據(jù)進(jìn)行部分恢復(fù)的具體實(shí)現(xiàn)方式為:在雙向解碼過(guò)程中,通過(guò)正序解碼中間結(jié)果確定第一個(gè)誤碼區(qū)域[0,ef],通過(guò)逆序解碼中間結(jié)果確定最后一個(gè)誤碼區(qū)域[eb,l-1],其中,l是該行編碼碼流的總比特?cái)?shù),ef為第一個(gè)誤碼區(qū)域的右邊界,eb為最后一個(gè)誤碼區(qū)域的左邊界;按照第一個(gè)誤碼區(qū)域和最后一個(gè)誤碼區(qū)域?qū)D像行數(shù)據(jù)進(jìn)行部分恢復(fù)。

進(jìn)一步的,假設(shè)第一個(gè)誤碼區(qū)域正序解碼得到第1~n1個(gè)像素點(diǎn)的差分值,根據(jù)行首像素點(diǎn)灰度值和第1~n1-1個(gè)像素點(diǎn)的差分值,獲得圖像該行第0~n1-1個(gè)像素點(diǎn)的灰度值;假設(shè)最后一個(gè)誤碼區(qū)域逆序解碼得到第n2~n-1個(gè)像素點(diǎn)的差分值,根據(jù)圖像行末尾像素點(diǎn)的灰度值和第n2+1~n-1個(gè)像素點(diǎn)的差分值,獲得圖像該行第n2+1~n-1個(gè)像素點(diǎn)的灰度值,其中,n表示圖像列數(shù),n1表示第一個(gè)誤碼區(qū)域正序解碼得到的最后一個(gè)像素點(diǎn),n2表示最后一個(gè)誤碼區(qū)域逆序解碼得到的第1個(gè)像素點(diǎn)。

進(jìn)一步的,解碼中間結(jié)果包括:解碼過(guò)程中第一次出現(xiàn)碼字無(wú)對(duì)應(yīng)像素點(diǎn)差分值情況時(shí),碼字末尾對(duì)應(yīng)在該行編碼碼流中的位置p;解碼過(guò)程中,當(dāng)?shù)玫降南袼攸c(diǎn)個(gè)數(shù)大于圖像列數(shù)n時(shí),第n個(gè)像素點(diǎn)對(duì)應(yīng)碼字末尾在該行編碼碼流中的位置q。

進(jìn)一步的,正序解碼中間結(jié)果為pf、qf,逆序解碼中間結(jié)果為pb、qb,對(duì)于碼流中存在多個(gè)誤碼的情況,通常有ef<eb,則第一個(gè)誤碼區(qū)域的右邊界為:

ef=min{pf,qf}

最后一個(gè)誤碼區(qū)域的左邊界為:

eb=l-1-min{pb,qb}

而當(dāng)ef≥eb時(shí),表明誤碼只存在于一個(gè)像素對(duì)應(yīng)的碼字內(nèi),則按ef=l-1-min{pb,qb}和eb=min{pf,qf}部分恢復(fù)圖像行數(shù)據(jù)。

進(jìn)一步的,誤碼糾正包括:當(dāng)圖像編碼碼流中誤碼只出現(xiàn)在一個(gè)像素點(diǎn)差分值對(duì)應(yīng)的碼字內(nèi)時(shí),誤碼區(qū)域?yàn)閇eb,ef];在誤碼區(qū)域利用試錯(cuò)法進(jìn)行雙向解碼,得到k組疑似像素點(diǎn)差分值,利用疑似像素點(diǎn)差分值得到疑似像素點(diǎn)灰度值;第m行疑似像素點(diǎn)灰度值與第m-1行像素點(diǎn)灰度值之間線性相關(guān)系數(shù)ρm,m-1為:

其中1≤m<m,0≤i≤n-1,m為圖像行數(shù),i′m,i表示第m行第i列的疑似像素點(diǎn)灰度值,im-1,i表示第m-1行第i列的像素點(diǎn)灰度值;表示第m行疑似像素點(diǎn)灰度值的平均值,表示第m-1行像素點(diǎn)灰度值的平均值;

選取線性相關(guān)系數(shù)最大的一組疑似像素點(diǎn)差分值作為當(dāng)前行解碼結(jié)果。

實(shí)施例1

如圖2所示,本發(fā)明提供了一種基于對(duì)稱可逆變長(zhǎng)碼的圖像無(wú)損壓縮方法,包括以下步驟:

(1)圖像行內(nèi)差分處理步驟:

在信源端對(duì)如圖3所示512×512大小的待壓縮圖像的每一行作如下處理:首像素點(diǎn)保持原始灰度值,其他像素點(diǎn)灰度值依次前向差分。設(shè)某圖像行原始像素集為u={u0,u1,u2,u3,…,ucol-1},其中,uk表示第k個(gè)像素點(diǎn)灰度值,col為圖像列數(shù),k=0,1,2,…,col-1,則差分后該行像素集為u′={u0,u1-u0,u2-u1,u3-u2,…,ucol-1-ucol-2}。且對(duì)于圖像首行而言,需保留原始像素點(diǎn)灰度值,用于圖像首行數(shù)據(jù)的直傳編碼;而圖像首行的像素點(diǎn)差分值則用于編碼碼表設(shè)計(jì)。進(jìn)行步驟(2);

(2)編碼碼表逐行設(shè)計(jì)步驟:

在信源端,對(duì)圖像每一行除首像素外的所有像素差分值進(jìn)行統(tǒng)計(jì),基于對(duì)稱可逆變長(zhǎng)碼構(gòu)造圖像每一行的編碼碼表,設(shè)置最小漢明距離d=3,并設(shè)計(jì)一個(gè)備用碼字,進(jìn)行步驟(3);

(3)圖像首行直傳編碼步驟:

在信源端先判斷是否為圖像首行數(shù)據(jù),如果是則對(duì)圖像首行所有像素的灰度值按照?qǐng)D像原始量化位數(shù)(b0=12)生成編碼碼流,并連續(xù)保存3份后得到如圖4所示的圖像首行壓縮碼流,再進(jìn)行傳輸,轉(zhuǎn)步驟(6);否則進(jìn)行步驟(4);

(4)圖像逐行編碼步驟:

在信源端從圖像第二行開始,利用步驟(2)所得圖像上一行的編碼碼表,對(duì)當(dāng)前行像素?cái)?shù)值(包括首像素點(diǎn)灰度值和其他像素差分值)進(jìn)行編碼,進(jìn)行步驟(5)。其中編碼操作包括以下步驟:

(4.1)圖像行首像素點(diǎn)灰度值按照?qǐng)D像原始量化位數(shù)(b0=12)生成碼流,并連續(xù)傳輸3份;

(4.2)圖像行其他像素點(diǎn)差分值的編碼,都依賴于圖像上一行的編碼碼表,對(duì)于碼表中存在的像素點(diǎn)差分值,直接將像素點(diǎn)差分值對(duì)應(yīng)的碼字作為其編碼結(jié)果;對(duì)于碼表中不存在的像素點(diǎn)差分值,將其碼字定義為“備用碼字+3份像素點(diǎn)差分值按照數(shù)據(jù)類型長(zhǎng)度(b1=16)生成的碼流+備用碼字”格式;

(4.3)圖像行尾像素的灰度值按照?qǐng)D像原始量化位數(shù)(b0=12)生成碼流,并連續(xù)傳輸3份。

(5)圖像行尾標(biāo)志信息編碼步驟:

在信源端從圖像第二行開始,在每一行編碼碼流的末尾加上行尾標(biāo)志信息。其中,行尾標(biāo)志信息由2個(gè)行尾定位單元組成,每個(gè)行尾定位單元由16比特的行尾搜索字段和16比特的行尾循環(huán)定位字段組成,且2份行尾定位單元的行尾搜索字段完全相同,均為0x96、0x1a;行尾循環(huán)定位字段不同,分別為0x82、0x5d,0xc1、0x2e。進(jìn)行步驟(6);

(6)圖像行碼表信息編碼步驟:

在信源端,在圖像每一行的碼流后加上該行的碼表信息再傳輸進(jìn)行步驟(7)。如圖5所示,碼表信息由碼表構(gòu)造所需關(guān)鍵參數(shù)和圖像行像素點(diǎn)差分值構(gòu)成,且碼表構(gòu)造所需關(guān)鍵參數(shù)需連續(xù)保存3份。其中,圖像行像素點(diǎn)差分值包括符號(hào)位和圖像行像素點(diǎn)差分值的絕對(duì)值;碼表構(gòu)造所需關(guān)鍵參數(shù)包括碼字構(gòu)造初始值、圖像行像素點(diǎn)差分值個(gè)數(shù)、圖像行像素點(diǎn)差分值的表示位數(shù),這三個(gè)參數(shù)的長(zhǎng)度的具體計(jì)算方法如下:

假設(shè)碼表構(gòu)造初始值的表示位數(shù)為x比特,圖像行像素點(diǎn)差分值個(gè)數(shù)n的表示位數(shù)為y比特,圖像行像素點(diǎn)差分值的表示位數(shù)為m,值m的表示位數(shù)為z比特,圖像原始量化位數(shù)為q,圖像列數(shù)為c,圖像行像素差分值的正數(shù)最大值為max,負(fù)數(shù)最小值為min,則有

本實(shí)施例中,以圖像首行為例,q=12,c=512,max=1020,min=-1016,則有x=4,y=9,z=4,m=11。

(7)圖像首行數(shù)據(jù)提取步驟:

在信宿端,先判斷是否為圖像首行碼流,如果是則首先按照比特長(zhǎng)度3×col×b0=3×512×12=18432從編碼碼流中提取3份圖像首行編碼碼流,然后按照比特位根據(jù)3選2的原則選出圖像首行數(shù)據(jù),然后轉(zhuǎn)步驟(9);否則進(jìn)行步驟(8);

(8)圖像行編碼碼流提取步驟:

在信宿端,首先根據(jù)圖像行尾標(biāo)志信息逐行提取圖像行壓縮碼流,然后按3(x+y+z)+mn比特長(zhǎng)度提取圖像行碼表信息,再以固定比特長(zhǎng)度3b0=3×12=36從后繼壓縮碼流中提取3份圖像行尾像素點(diǎn)灰度值的碼字,按照比特位根據(jù)3選2的原則確定圖像行尾像素點(diǎn)灰度值;此后剩余的壓縮碼流即為待解碼的圖像行編碼碼流,進(jìn)行步驟(10);

本實(shí)施例得到圖像壓縮比為2.0672621,壓縮碼流大小為190211字節(jié)=1521688比特。本實(shí)施例選取壓縮碼流第656001比特位進(jìn)行翻轉(zhuǎn),模擬誤碼情形進(jìn)行抗誤碼解壓縮方法說(shuō)明。

(9)圖像行解碼碼表設(shè)計(jì)步驟:

在信宿端先判斷是否為圖像尾行,如果是則轉(zhuǎn)步驟(14);否則對(duì)該圖像行按照信源端編碼碼表設(shè)計(jì)的方法進(jìn)行解碼碼表設(shè)計(jì),進(jìn)行步驟(10);

(10)圖像行雙向解碼步驟:

在信宿端從圖像第二行開始,利用步驟(9)所得圖像上一行的解碼碼表,對(duì)當(dāng)前行編碼碼流進(jìn)行雙向解碼,進(jìn)行步驟(11)。具體包括以下步驟:

(10.1)從圖像行編碼碼流中按照3b0=3×12=36比特長(zhǎng)度提取3份圖像當(dāng)前行首像素點(diǎn)碼字,并按照比特位根據(jù)3選2的原則選出圖像當(dāng)前行首像素點(diǎn)灰度值;

(10.2)利用步驟(9)所得圖像上一行的解碼碼表,對(duì)圖像當(dāng)前行編碼碼流的后繼碼流分別進(jìn)行正序解碼和逆序解碼,得到對(duì)應(yīng)的解碼結(jié)果。解碼的具體方法如下:若提取得的碼字存在于解碼碼表中,則碼字對(duì)應(yīng)的圖像像素點(diǎn)差分值即為該像素的解碼結(jié)果;若提取到的碼字為備用碼字,則直接從后繼編碼碼流中提取3b1=3×16=48比特長(zhǎng)度的3份該像素?cái)?shù)值的碼流信息,然后對(duì)這3份碼流信息按照對(duì)應(yīng)比特位3選2的原則選出該像素點(diǎn)差分值。

(11)誤碼判斷步驟:

在信宿端,根據(jù)解碼正確的判定標(biāo)準(zhǔn),比較步驟(10)所得雙向解碼結(jié)果,判斷該編碼碼流是否解碼無(wú)誤,碼流內(nèi)是否存在誤碼,若存在誤碼則進(jìn)行步驟(12),否則轉(zhuǎn)步驟(9);

本實(shí)施例中,對(duì)圖像第201行的編碼碼流進(jìn)行解碼時(shí),正序解碼得到的像元個(gè)數(shù)為508,逆序解碼得到的像元個(gè)數(shù)為513,二者均不等于圖像列數(shù)512,表示該行圖像編碼碼流中存在誤碼。

(12)防誤碼擴(kuò)散步驟:

在信宿端對(duì)步驟(11)確定存在誤碼的編碼碼流,利用步驟(8)所得圖像上一行的碼表信息以及步驟(10)所得雙向解碼結(jié)果進(jìn)行防誤碼擴(kuò)散處理,再進(jìn)行步驟(13)。如圖6所示,防誤碼擴(kuò)散包括以下子步驟:

(12.1)圖像行編碼碼流第二次解碼:首先根據(jù)步驟(8)所得圖像上一行的碼表信息,按照信源端編碼碼表設(shè)計(jì)的方法構(gòu)造解碼碼表;然后按照步驟(10.2)所述解碼的具體方法,對(duì)存在誤碼的圖像當(dāng)前行編碼碼流進(jìn)行第二次雙向解碼,得到對(duì)應(yīng)的解碼結(jié)果;

(12.2)誤碼檢測(cè):根據(jù)解碼正確的判定標(biāo)準(zhǔn),對(duì)步驟(12.1)所得雙向解碼結(jié)果進(jìn)行檢測(cè),判斷解碼是否正確。

(12.3)部分恢復(fù)圖像行數(shù)據(jù):當(dāng)?shù)诙坞p向解碼過(guò)程正確時(shí),直接將第二次雙向解碼結(jié)果作為圖像行解碼結(jié)果;當(dāng)兩次雙向解碼結(jié)果均存在錯(cuò)誤時(shí),利用步驟(10.2)所得雙向解碼結(jié)果對(duì)圖像行數(shù)據(jù)進(jìn)行部分恢復(fù),具體步驟包括:

(12.3.1)在每一行圖像編碼碼流雙向解碼過(guò)程中,通過(guò)正序解碼中間結(jié)果確定第一個(gè)誤碼在該行圖像編碼碼流中所在區(qū)域[0,ef],通過(guò)逆序解碼中間結(jié)果確定最后一個(gè)誤碼在該行圖像編碼碼流中所在區(qū)域[eb,l-1],l是該行編碼碼流的總比特?cái)?shù)。

本實(shí)施例中,圖像行編碼碼流中僅存在一個(gè)誤碼且l=2704,則按ef=2332和eb=2392部分恢復(fù)圖像行數(shù)據(jù)。其中圖像行編碼碼流中[0,ef]正序解碼出的像素?cái)?shù)值為第1~423個(gè)像素點(diǎn)差分值,[eb,2703]逆序解碼出的像素?cái)?shù)值為第438~511像素點(diǎn)差分值;

(12.3.2)根據(jù)圖像行首灰度值和第1~422個(gè)像素解碼的差分值,獲得圖像該行第0~422個(gè)像素點(diǎn)灰度值;

(12.3.3)根據(jù)圖像行末尾像素(即第511個(gè)像素)的灰度值和第439~511像素的差分值,反向差分獲得圖像該行第439~511像素點(diǎn)灰度值。

(13)誤碼糾正步驟:

在信宿端利用對(duì)稱可逆變長(zhǎng)碼解碼的特點(diǎn)及圖像特征,對(duì)存在誤碼的碼流進(jìn)行誤碼糾正處理,然后進(jìn)行步驟(9)。如圖7所示,誤碼糾正包括以下子步驟:

(13.1)誤碼區(qū)域確定:當(dāng)圖像該行編碼碼流中誤碼只出現(xiàn)在一個(gè)像素對(duì)應(yīng)的碼字內(nèi)時(shí),利用解碼中間結(jié)果確定在該行編碼碼流中的誤碼區(qū)域?yàn)閇le,re]。其中,誤碼區(qū)域的左邊界為le=l-1-min{pb,qb},右邊界為re=min{pf,qf};

本實(shí)施例中,le=2332,re=2392,l=2704。

(13.2)試錯(cuò)法雙向解碼:當(dāng)圖像該行編碼碼流中僅存在一個(gè)誤碼時(shí),根據(jù)步驟(13.1)所述誤碼區(qū)域[2332,2392],逐比特翻轉(zhuǎn)該行圖像編碼碼流中的對(duì)應(yīng)位,得到對(duì)應(yīng)61組新的編碼碼流,然后按照步驟(10.2)所述解碼的具體方法分別對(duì)這61組編碼碼流進(jìn)行雙向解碼,得到61組解碼結(jié)果,根據(jù)解碼正確的判定標(biāo)準(zhǔn),選出了7組疑似當(dāng)前行圖像數(shù)據(jù),分別對(duì)應(yīng)的比特位是第2350、2356、2363、2365、2376、2379、2381比特位;

(13.3)圖像行間相關(guān)性分析:首先將步驟(13.2)所述7組疑似當(dāng)前行圖像數(shù)據(jù)轉(zhuǎn)換成對(duì)應(yīng)疑似當(dāng)前行圖像灰度值,然后分別計(jì)算其與上一行圖像灰度值之間的線性相關(guān)系數(shù),得到的結(jié)果分別為-0.29557、0.98013、-0.29439、0.97943、0.97453、0.98055、-0.29886。

(13.4)誤碼定位及圖像行數(shù)據(jù)恢復(fù):選取線性相關(guān)系數(shù)最大的一組疑似圖像當(dāng)前行數(shù)據(jù)作為圖像當(dāng)前行解碼結(jié)果,其對(duì)應(yīng)的所翻轉(zhuǎn)的比特位即為誤碼位置。在本實(shí)施例中,最大線性相關(guān)系數(shù)為0.98055,對(duì)應(yīng)的比特位為第2379位。

(14)全圖恢復(fù)步驟:

在信宿端對(duì)圖像除首行外的其他行,根據(jù)圖像行首像素點(diǎn)灰度值以及圖像行解碼結(jié)果,正序恢復(fù)當(dāng)前行圖像灰度值信息,然后按照?qǐng)D像行號(hào),從上至下拼接還原成完整圖像。

本實(shí)施例中,在不進(jìn)行防誤碼擴(kuò)散和誤碼糾正處理時(shí),得到受誤碼擴(kuò)散影響的解壓縮圖像如圖8所示,誤像素率為32.85599%。防誤碼擴(kuò)散后的解壓縮圖像如圖9所示,誤像素率為0.00648%;誤碼糾正后的解壓縮圖像如圖10所示,誤像素率為0%。

圖像無(wú)損壓縮系統(tǒng)中兩個(gè)重要的指標(biāo)是:壓縮比和誤像素率。壓縮比越大,代表壓縮后的數(shù)據(jù)量越小,壓縮效率越好;誤像素率越低,表示圖像解壓縮后和原始圖像越接近,圖像信息恢復(fù)得越好,信息保持率越高。因此,本發(fā)明利用圖像信息實(shí)現(xiàn)了誤碼檢糾錯(cuò)機(jī)制,有效地解決了由于信道誤碼造成信宿端圖像解壓縮后錯(cuò)誤擴(kuò)散的問(wèn)題,圖像無(wú)損壓縮及解壓縮算法應(yīng)在提高圖像壓縮比的同時(shí),增加防誤碼擴(kuò)散和誤碼糾正機(jī)制,降低誤像素率,保證地面接收?qǐng)D像的質(zhì)量,以適應(yīng)遠(yuǎn)距離大數(shù)據(jù)量圖像的無(wú)損壓縮和傳輸。

本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
睢宁县| 奈曼旗| 民勤县| 遵义市| 新晃| 深圳市| 南皮县| 德昌县| 普兰店市| 昭觉县| 通榆县| 垦利县| 资中县| 饶河县| 鄂尔多斯市| 拜城县| 清苑县| 汉中市| 湄潭县| 通城县| 杨浦区| 辛集市| 榆林市| 永康市| 永仁县| 上高县| 红桥区| 苍山县| 华宁县| 兴仁县| 长治县| 宜兰市| 陵川县| 海林市| 龙游县| 财经| 珠海市| 瑞丽市| 扎赉特旗| 伊宁市| 明光市|