一种基于可逆变长码的图像无损压缩方法和系统与流程

文档序号:11292572阅读:377来源:国知局
一种基于可逆变长码的图像无损压缩方法和系统与流程

本发明属于图像处理领域,更具体地,涉及一种基于可逆变长码的图像无损压缩方法和系统。



背景技术:

在大多数的空间探测技术中,将传感器采集到的图像传输到地面进行研究是必不可少的。空间图像传感器采集到的图像一般具有高分辨率、巨幅面、多波段的特点,直接导致海量的图像数据和很高的原始码速率,因此图像压缩技术对于图像传输是至关重要的。

常见的数据压缩技术包括无损压缩和有损压缩两类。有损压缩是在牺牲像元精度的情况下可以达到较高的压缩比;而无损压缩提供了不丢失信息的压缩技术,可以从压缩数据准确无误地恢复原始图像,但压缩比不高。在信息细节要求较高的系统中,采用有损压缩可能导致丢失重要信息,必须采用无损压缩。

目前空间应用中最常见的图像无损压缩算法是基于预测的无损压缩算法。基于预测的无损压缩算法针对图像局部区域像素间冗余关系,利用预测器来减小输入图像的图像熵,实现图像信息的数据压缩。这种算法具有很低的实现复杂性,并能取得较好的压缩效果。但是当图像数据采取基于预测的无损压缩算法时,传输编码码流中某一位的误码不仅造成对应像素的灰度信息错误,还会对所有后续码流的解码结果产生影响,这样会形成误码的扩散,导致恢复出来的信号面目全非。当基于预测的无损压缩算法采用变长编码时,误码造成的损害更严重,因为变长编码会使得差错扩散到以下各行,使以后的各点图像数据发生错误,并使图像数据个数发生错误,影响程度取决于出错像素所在的位置。所以缺乏误码容忍能力是基于预测的无损压缩算法主要的缺点。

图像数字通信中,当信道传输误码率超过一定限度,要保障正常通信,必须对误码实施纠错处理,这需要将信息进行信道编码,即在信息码元序列中加入监督码元。但是,当图像数据量很大时,监督码元的加入会造成较大的数据冗余,会大大降低压缩的效率。同时,因为信道编码是对待传输的压缩码流进行编码,所以它们虽然具有较强的检纠错能力,但是仍然会使得接收端的压缩数据存在一定的误码率,进而影响解压缩图像数据的质量。

由此可见,现有技术中基于预测的无损压缩图像的压缩比较低、误像素率较高、解压缩图像数据的质量差,无法适应远距离大数据量图像的无损压缩和传输。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于可逆变长码的图像无损压缩方法和系统,其目的在于基于可逆变长码构造编码码表,进而对图像进行压缩,得到图像压缩码流,利用图像压缩码流,基于可逆变长码,设计解码码表进而得到解压缩后的图像,由此解决压缩图像的压缩比较低、误像素率较高、解压缩图像数据的质量差,无法适应远距离大数据量图像的无损压缩和传输的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于可逆变长码的图像无损压缩方法,包括图像无损压缩和图像解压缩部分:

图像无损压缩部分包括:

(s1)对待压缩图像的每一行像素点进行差分处理得到像素点差分值,基于可逆变长码,利用像素点差分值构造待压缩图像每一行的编码码表,并得到码表信息;

(s2)对待压缩图像的首行像素点,保留所有像素点灰度值并进行编码,得到首行编码码流,对待压缩图像的非首行像素点,利用待压缩图像的上一行的编码码表进行编码,得到非首行编码码流;

(s3)在每一行编码码流后加上行尾标志信息和该行的码表信息,得到图像压缩码流,传输至图像解压缩部分;

图像解压缩部分包括:

(t1)接收图像压缩码流,对首行图像压缩码流直接获取首行像素点灰度值并计算差分值,再基于可逆变长码,利用首行像素点差分值设计解码码表,对非首行图像压缩码流,根据行尾标志信息依次获取码表信息和非首行编码码流;

(t2)对非首行编码码流,利用上一行解码码表进行解码,得到当前行像素点差分值,并基于可逆变长码,利用当前行像素点差分值设计当前行的解码码表,直至得到所有非首行像素点差分值;

(t3)根据像素点差分值,得到图像像素点灰度值信息,进而得到解压缩后的图像。

进一步的,步骤(s1)还包括设置码字之间的最小距离,进而限制编码码表中码字之间的相似度。

优选的,设置码字之间的最小距离是设置码字间的最小汉明距离d,构造码字过程中保证所选码字之间的汉明距离不小于d,通常d≥3。

由于在图像无损压缩过程中利用汉明距离限制了码字之间的相似度,有效地降低了试错法纠正误码过程中码字混淆的可能性,进一步提高了试错法纠正误码的可靠性。

进一步的,码表信息包括码表参数和像素点差分值,码表参数包括码字构造初始值、像素点差分值个数、像素点差分值的表示位数,像素点差分值包括符号位和像素点差分值的绝对值。

进一步的,步骤(t2)包括:

(t21)对非首行编码码流,利用上一行解码码表进行双向解码,得到解码结果,若解码结果无误则进入步骤(t23),若解码结果有误,则非首行编码码流存在误码,进入步骤(t22);

(t22)对存在误码的非首行编码码流,利用码表信息和双向解码结果进行防误码扩散和误码纠正处理,得到误码纠正后的解码结果;

(t23)解码结果为当前行像素点差分值,并基于可逆变长码,利用当前行像素点差分值设计当前行的解码码表,直至得到所有非首行像素点差分值。

进一步的,步骤(t21)还包括根据解码正确的判定标准判断解码结果是否有误,所述解码正确的判定标准为:双向解码后得到的像素点差分值相同,像素点个数等于图像列数,且双向解码过程中不存在码字无对应像素点差分值的情况。

进一步的,步骤(t22)中防误码扩散的具体实现方式为:对存在误码的非首行编码码流,根据上一行码表信息,进行第二次双向解码,得到第二次解码结果,当第二次双向解码结果无误,直接将第二次双向解码结果作为解码结果;当第二次双向解码结果有误,利用利用步骤(t21)所得双向解码结果对图像行数据进行部分恢复。

进一步的,对图像行数据进行部分恢复的具体实现方式为:在双向解码过程中,通过正序解码中间结果确定第一个误码区域[0,ef],通过逆序解码中间结果确定最后一个误码区域[eb,l-1],其中,l是该行编码码流的总比特数,ef为第一个误码区域的右边界,eb为最后一个误码区域的左边界;按照第一个误码区域和最后一个误码区域对图像行数据进行部分恢复。

进一步的,解码中间结果包括:解码过程中第一次出现码字无对应像素点差分值情况时,码字末尾对应在该行编码码流中的位置p;解码过程中,当得到的像素点个数大于图像列数n时,第n个像素点对应码字末尾在该行编码码流中的位置q。

进一步的,误码纠正包括:当图像编码码流中误码只出现在一个像素点差分值对应的码字内时,误码区域为[eb,ef];在误码区域利用试错法进行双向解码,得到k组疑似像素点差分值,利用疑似像素点差分值得到疑似像素点灰度值;第m行疑似像素点灰度值与第m-1行像素点灰度值之间线性相关系数ρm,m-1为:

其中1≤m<m,0≤i≤n-1,m为图像行数,i′m,i表示第m行第i列的疑似像素点灰度值,im-1,i表示第m-1行第i列的像素点灰度值;表示第m行疑似像素点灰度值的平均值,表示第m-1行像素点灰度值的平均值;

选取线性相关系数最大的一组疑似像素点差分值作为当前行解码结果。

按照本发明的另一方面,提供了一种基于可逆变长码的图像无损压缩系统,包括图像无损压缩模块和图像解压缩模块:

图像无损压缩模块包括:

编码码表子模块,用于对待压缩图像的每一行像素点进行差分处理得到像素点差分值,基于可逆变长码,利用像素点差分值构造待压缩图像每一行的编码码表,并得到码表信息;

编码码流子模块,用于对待压缩图像的首行像素点,保留所有像素点灰度值并进行编码,得到首行编码码流,对待压缩图像的非首行像素点,利用待压缩图像的上一行的编码码表进行编码,得到非首行编码码流;

压缩码流子模块,用于在每一行编码码流后加上行尾标志信息和该行的码表信息,得到图像压缩码流,传输至图像解压缩部分;

图像解压缩模块包括:

解码码表子模块,用于接收图像压缩码流,对首行图像压缩码流直接获取首行像素点灰度值并计算差分值,再基于可逆变长码,利用首行像素点差分值设计解码码表,对非首行图像压缩码流,根据行尾标志信息依次获取码表信息和非首行编码码流;

解码子模块,用于对非首行编码码流,利用上一行解码码表进行解码,得到当前行像素点差分值,并基于可逆变长码,利用当前行像素点差分值设计当前行的解码码表,直至得到所有非首行像素点差分值;

解压缩子模块,用于根据像素点差分值,得到图像像素点灰度值信息,进而得到解压缩后的图像。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)由于采用了图像行内差分处理,有效减少了图像行内像素间的信息冗余,并将预测信息相关性控制在图像行内以防止误码扩散;同时由于利用图像上一行像素点的编码码表对当前行进行编码,充分利用了可逆变长码的双向译码特性,结合弱噪声图像行间像素点灰度值高度正相关的特性,减少了图像压缩码流的冗余,本发明得到的压缩图像的压缩比高、误像素率低、解压缩图像数据的质量高,利用图像压缩码流,基于可逆变长码,设计解码码表进而得到解压缩后的图像,可用于远距离大数据量图像的无损压缩和传输。

(2)优选的,由于在图像无损压缩过程中设置码字之间的最小距离,进而限制编码码表中码字之间的相似度,有效地降低了试错法纠正误码过程中码字混淆的可能性,进一步提高了试错法纠正误码的可靠性。

(3)优选的,由于采用了两次双向解码以及部分恢复图像行数据的方法,有效地抑制了误码的扩散,减少了图像像素的损失;同时,采用试错法对误码区域进行假设性恢复,对于图像行编码码流中仅出现一个误码的情形,能有效实现图像的复原,解决了由于信道误码造成信宿端图像解压缩后错误扩散的问题。

附图说明

图1是本发明实施例提供的一种基于可逆变长码的图像无损压缩方法的流程图;

图2是本发明实施例1的图像无损压缩处理流程图

图3是本发明实施例1中的待压缩图像;

图4为本发明实施例1中图像首行压缩码流格式示意图;

图5为本发明实施例1中图像行码表信息格式示意图;

图6为本发明实施例1的防误码扩散的处理流程图;

图7为本发明实施例1的误码纠正的处理流程图;

图8为本发明实施例1中受误码扩散影响的解压缩图像;

图9为本发明实施例1中防误码扩散后的解压缩图像;

图10为本发明实施例1中误码纠正后的解压缩图像。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,一种基于可逆变长码的图像无损压缩方法,包括图像无损压缩和图像解压缩部分:

图像无损压缩部分包括:

(s1)对待压缩图像的每一行像素点进行差分处理得到像素点差分值,基于可逆变长码,利用像素点差分值构造待压缩图像每一行的编码码表,并得到码表信息;

(s2)对待压缩图像的首行像素点,保留所有像素点灰度值并进行编码,得到首行编码码流,对待压缩图像的非首行像素点,利用待压缩图像的上一行的编码码表进行编码,得到非首行编码码流;

(s3)在每一行编码码流后加上行尾标志信息和该行的码表信息,得到图像压缩码流,传输至图像解压缩部分;

图像解压缩部分包括:

(t1)接收图像压缩码流,对首行图像压缩码流直接获取首行像素点灰度值并计算差分值,再基于可逆变长码,利用首行像素点差分值设计解码码表,对非首行图像压缩码流,根据行尾标志信息依次获取码表信息和非首行编码码流;

(t2)对非首行编码码流,利用上一行解码码表进行解码,得到当前行像素点差分值,并基于可逆变长码,利用当前行像素点差分值设计当前行的解码码表,直至得到所有非首行像素点差分值;

(t3)根据像素点差分值,得到图像像素点灰度值信息,进而得到解压缩后的图像。

进一步的,步骤(s1)还包括设置码字之间的最小距离,进而限制编码码表中码字之间的相似度。

优选的,设置码字之间的最小距离是设置码字间的最小汉明距离d,构造码字过程中保证所选码字之间的汉明距离不小于d,通常d≥3。

由于在图像无损压缩过程中利用汉明距离限制了码字之间的相似度,有效地降低了试错法纠正误码过程中码字混淆的可能性,进一步提高了试错法纠正误码的可靠性。

进一步的,码表信息包括码表参数和像素点差分值,码表参数包括码字构造初始值、像素点差分值个数、像素点差分值的表示位数,像素点差分值包括符号位和像素点差分值的绝对值。

进一步的,步骤(t2)包括:

(t21)对非首行编码码流,利用上一行解码码表进行双向解码,得到解码结果,若解码结果无误则进入步骤(t23),若解码结果有误,则非首行编码码流存在误码,进入步骤(t22);

(t22)对存在误码的非首行编码码流,利用码表信息和双向解码结果进行防误码扩散和误码纠正处理,得到误码纠正后的解码结果;

(t23)解码结果为当前行像素点差分值,并基于可逆变长码,利用当前行像素点差分值设计当前行的解码码表,直至得到所有非首行像素点差分值。

进一步的,步骤(t21)还包括根据解码正确的判定标准判断解码结果是否有误,所述解码正确的判定标准为:双向解码后得到的像素点差分值相同,像素点个数等于图像列数,且双向解码过程中不存在码字无对应像素点差分值的情况。

进一步的,步骤(t22)中防误码扩散的具体实现方式为:对存在误码的非首行编码码流,根据上一行码表信息,进行第二次双向解码,得到第二次解码结果,当第二次双向解码结果无误,直接将第二次双向解码结果作为解码结果;当第二次双向解码结果有误,利用利用步骤(t21)所得双向解码结果对图像行数据进行部分恢复。

进一步的,对图像行数据进行部分恢复的具体实现方式为:在双向解码过程中,通过正序解码中间结果确定第一个误码区域[0,ef],通过逆序解码中间结果确定最后一个误码区域[eb,l-1],其中,l是该行编码码流的总比特数,ef为第一个误码区域的右边界,eb为最后一个误码区域的左边界;按照第一个误码区域和最后一个误码区域对图像行数据进行部分恢复。

进一步的,假设第一个误码区域正序解码得到第1~n1个像素点的差分值,根据行首像素点灰度值和第1~n1-1个像素点的差分值,获得图像该行第0~n1-1个像素点的灰度值;假设最后一个误码区域逆序解码得到第n2~n-1个像素点的差分值,根据图像行末尾像素点的灰度值和第n2+1~n-1个像素点的差分值,获得图像该行第n2+1~n-1个像素点的灰度值,其中,n表示图像列数,n1表示第一个误码区域正序解码得到的最后一个像素点,n2表示最后一个误码区域逆序解码得到的第1个像素点。

进一步的,解码中间结果包括:解码过程中第一次出现码字无对应像素点差分值情况时,码字末尾对应在该行编码码流中的位置p;解码过程中,当得到的像素点个数大于图像列数n时,第n个像素点对应码字末尾在该行编码码流中的位置q。

进一步的,正序解码中间结果为pf、qf,逆序解码中间结果为pb、qb,对于码流中存在多个误码的情况,通常有ef<eb,则第一个误码区域的右边界为:

ef=min{pf,qf}

最后一个误码区域的左边界为:

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

而当ef≥eb时,表明误码只存在于一个像素对应的码字内,则按ef=l-1-min{pb,qb}和eb=min{pf,qf}部分恢复图像行数据。

进一步的,误码纠正包括:当图像编码码流中误码只出现在一个像素点差分值对应的码字内时,误码区域为[eb,ef];在误码区域利用试错法进行双向解码,得到k组疑似像素点差分值,利用疑似像素点差分值得到疑似像素点灰度值;第m行疑似像素点灰度值与第m-1行像素点灰度值之间线性相关系数ρm,m-1为:

其中1≤m<m,0≤i≤n-1,m为图像行数,i′m,i表示第m行第i列的疑似像素点灰度值,im-1,i表示第m-1行第i列的像素点灰度值;表示第m行疑似像素点灰度值的平均值,表示第m-1行像素点灰度值的平均值;

选取线性相关系数最大的一组疑似像素点差分值作为当前行解码结果。

实施例1

如图2所示,本发明提供了一种基于对称可逆变长码的图像无损压缩方法,包括以下步骤:

(1)图像行内差分处理步骤:

在信源端对如图3所示512×512大小的待压缩图像的每一行作如下处理:首像素点保持原始灰度值,其他像素点灰度值依次前向差分。设某图像行原始像素集为u={u0,u1,u2,u3,…,ucol-1},其中,uk表示第k个像素点灰度值,col为图像列数,k=0,1,2,…,col-1,则差分后该行像素集为u′={u0,u1-u0,u2-u1,u3-u2,…,ucol-1-ucol-2}。且对于图像首行而言,需保留原始像素点灰度值,用于图像首行数据的直传编码;而图像首行的像素点差分值则用于编码码表设计。进行步骤(2);

(2)编码码表逐行设计步骤:

在信源端,对图像每一行除首像素外的所有像素差分值进行统计,基于对称可逆变长码构造图像每一行的编码码表,设置最小汉明距离d=3,并设计一个备用码字,进行步骤(3);

(3)图像首行直传编码步骤:

在信源端先判断是否为图像首行数据,如果是则对图像首行所有像素的灰度值按照图像原始量化位数(b0=12)生成编码码流,并连续保存3份后得到如图4所示的图像首行压缩码流,再进行传输,转步骤(6);否则进行步骤(4);

(4)图像逐行编码步骤:

在信源端从图像第二行开始,利用步骤(2)所得图像上一行的编码码表,对当前行像素数值(包括首像素点灰度值和其他像素差分值)进行编码,进行步骤(5)。其中编码操作包括以下步骤:

(4.1)图像行首像素点灰度值按照图像原始量化位数(b0=12)生成码流,并连续传输3份;

(4.2)图像行其他像素点差分值的编码,都依赖于图像上一行的编码码表,对于码表中存在的像素点差分值,直接将像素点差分值对应的码字作为其编码结果;对于码表中不存在的像素点差分值,将其码字定义为“备用码字+3份像素点差分值按照数据类型长度(b1=16)生成的码流+备用码字”格式;

(4.3)图像行尾像素的灰度值按照图像原始量化位数(b0=12)生成码流,并连续传输3份。

(5)图像行尾标志信息编码步骤:

在信源端从图像第二行开始,在每一行编码码流的末尾加上行尾标志信息。其中,行尾标志信息由2个行尾定位单元组成,每个行尾定位单元由16比特的行尾搜索字段和16比特的行尾循环定位字段组成,且2份行尾定位单元的行尾搜索字段完全相同,均为0x96、0x1a;行尾循环定位字段不同,分别为0x82、0x5d,0xc1、0x2e。进行步骤(6);

(6)图像行码表信息编码步骤:

在信源端,在图像每一行的码流后加上该行的码表信息再传输进行步骤(7)。如图5所示,码表信息由码表构造所需关键参数和图像行像素点差分值构成,且码表构造所需关键参数需连续保存3份。其中,图像行像素点差分值包括符号位和图像行像素点差分值的绝对值;码表构造所需关键参数包括码字构造初始值、图像行像素点差分值个数、图像行像素点差分值的表示位数,这三个参数的长度的具体计算方法如下:

假设码表构造初始值的表示位数为x比特,图像行像素点差分值个数n的表示位数为y比特,图像行像素点差分值的表示位数为m,值m的表示位数为z比特,图像原始量化位数为q,图像列数为c,图像行像素差分值的正数最大值为max,负数最小值为min,则有

本实施例中,以图像首行为例,q=12,c=512,max=1020,min=-1016,则有x=4,y=9,z=4,m=11。

(7)图像首行数据提取步骤:

在信宿端,先判断是否为图像首行码流,如果是则首先按照比特长度3×col×b0=3×512×12=18432从编码码流中提取3份图像首行编码码流,然后按照比特位根据3选2的原则选出图像首行数据,然后转步骤(9);否则进行步骤(8);

(8)图像行编码码流提取步骤:

在信宿端,首先根据图像行尾标志信息逐行提取图像行压缩码流,然后按3(x+y+z)+mn比特长度提取图像行码表信息,再以固定比特长度3b0=3×12=36从后继压缩码流中提取3份图像行尾像素点灰度值的码字,按照比特位根据3选2的原则确定图像行尾像素点灰度值;此后剩余的压缩码流即为待解码的图像行编码码流,进行步骤(10);

本实施例得到图像压缩比为2.0672621,压缩码流大小为190211字节=1521688比特。本实施例选取压缩码流第656001比特位进行翻转,模拟误码情形进行抗误码解压缩方法说明。

(9)图像行解码码表设计步骤:

在信宿端先判断是否为图像尾行,如果是则转步骤(14);否则对该图像行按照信源端编码码表设计的方法进行解码码表设计,进行步骤(10);

(10)图像行双向解码步骤:

在信宿端从图像第二行开始,利用步骤(9)所得图像上一行的解码码表,对当前行编码码流进行双向解码,进行步骤(11)。具体包括以下步骤:

(10.1)从图像行编码码流中按照3b0=3×12=36比特长度提取3份图像当前行首像素点码字,并按照比特位根据3选2的原则选出图像当前行首像素点灰度值;

(10.2)利用步骤(9)所得图像上一行的解码码表,对图像当前行编码码流的后继码流分别进行正序解码和逆序解码,得到对应的解码结果。解码的具体方法如下:若提取得的码字存在于解码码表中,则码字对应的图像像素点差分值即为该像素的解码结果;若提取到的码字为备用码字,则直接从后继编码码流中提取3b1=3×16=48比特长度的3份该像素数值的码流信息,然后对这3份码流信息按照对应比特位3选2的原则选出该像素点差分值。

(11)误码判断步骤:

在信宿端,根据解码正确的判定标准,比较步骤(10)所得双向解码结果,判断该编码码流是否解码无误,码流内是否存在误码,若存在误码则进行步骤(12),否则转步骤(9);

本实施例中,对图像第201行的编码码流进行解码时,正序解码得到的像元个数为508,逆序解码得到的像元个数为513,二者均不等于图像列数512,表示该行图像编码码流中存在误码。

(12)防误码扩散步骤:

在信宿端对步骤(11)确定存在误码的编码码流,利用步骤(8)所得图像上一行的码表信息以及步骤(10)所得双向解码结果进行防误码扩散处理,再进行步骤(13)。如图6所示,防误码扩散包括以下子步骤:

(12.1)图像行编码码流第二次解码:首先根据步骤(8)所得图像上一行的码表信息,按照信源端编码码表设计的方法构造解码码表;然后按照步骤(10.2)所述解码的具体方法,对存在误码的图像当前行编码码流进行第二次双向解码,得到对应的解码结果;

(12.2)误码检测:根据解码正确的判定标准,对步骤(12.1)所得双向解码结果进行检测,判断解码是否正确。

(12.3)部分恢复图像行数据:当第二次双向解码过程正确时,直接将第二次双向解码结果作为图像行解码结果;当两次双向解码结果均存在错误时,利用步骤(10.2)所得双向解码结果对图像行数据进行部分恢复,具体步骤包括:

(12.3.1)在每一行图像编码码流双向解码过程中,通过正序解码中间结果确定第一个误码在该行图像编码码流中所在区域[0,ef],通过逆序解码中间结果确定最后一个误码在该行图像编码码流中所在区域[eb,l-1],l是该行编码码流的总比特数。

本实施例中,图像行编码码流中仅存在一个误码且l=2704,则按ef=2332和eb=2392部分恢复图像行数据。其中图像行编码码流中[0,ef]正序解码出的像素数值为第1~423个像素点差分值,[eb,2703]逆序解码出的像素数值为第438~511像素点差分值;

(12.3.2)根据图像行首灰度值和第1~422个像素解码的差分值,获得图像该行第0~422个像素点灰度值;

(12.3.3)根据图像行末尾像素(即第511个像素)的灰度值和第439~511像素的差分值,反向差分获得图像该行第439~511像素点灰度值。

(13)误码纠正步骤:

在信宿端利用对称可逆变长码解码的特点及图像特征,对存在误码的码流进行误码纠正处理,然后进行步骤(9)。如图7所示,误码纠正包括以下子步骤:

(13.1)误码区域确定:当图像该行编码码流中误码只出现在一个像素对应的码字内时,利用解码中间结果确定在该行编码码流中的误码区域为[le,re]。其中,误码区域的左边界为le=l-1-min{pb,qb},右边界为re=min{pf,qf};

本实施例中,le=2332,re=2392,l=2704。

(13.2)试错法双向解码:当图像该行编码码流中仅存在一个误码时,根据步骤(13.1)所述误码区域[2332,2392],逐比特翻转该行图像编码码流中的对应位,得到对应61组新的编码码流,然后按照步骤(10.2)所述解码的具体方法分别对这61组编码码流进行双向解码,得到61组解码结果,根据解码正确的判定标准,选出了7组疑似当前行图像数据,分别对应的比特位是第2350、2356、2363、2365、2376、2379、2381比特位;

(13.3)图像行间相关性分析:首先将步骤(13.2)所述7组疑似当前行图像数据转换成对应疑似当前行图像灰度值,然后分别计算其与上一行图像灰度值之间的线性相关系数,得到的结果分别为-0.29557、0.98013、-0.29439、0.97943、0.97453、0.98055、-0.29886。

(13.4)误码定位及图像行数据恢复:选取线性相关系数最大的一组疑似图像当前行数据作为图像当前行解码结果,其对应的所翻转的比特位即为误码位置。在本实施例中,最大线性相关系数为0.98055,对应的比特位为第2379位。

(14)全图恢复步骤:

在信宿端对图像除首行外的其他行,根据图像行首像素点灰度值以及图像行解码结果,正序恢复当前行图像灰度值信息,然后按照图像行号,从上至下拼接还原成完整图像。

本实施例中,在不进行防误码扩散和误码纠正处理时,得到受误码扩散影响的解压缩图像如图8所示,误像素率为32.85599%。防误码扩散后的解压缩图像如图9所示,误像素率为0.00648%;误码纠正后的解压缩图像如图10所示,误像素率为0%。

图像无损压缩系统中两个重要的指标是:压缩比和误像素率。压缩比越大,代表压缩后的数据量越小,压缩效率越好;误像素率越低,表示图像解压缩后和原始图像越接近,图像信息恢复得越好,信息保持率越高。因此,本发明利用图像信息实现了误码检纠错机制,有效地解决了由于信道误码造成信宿端图像解压缩后错误扩散的问题,图像无损压缩及解压缩算法应在提高图像压缩比的同时,增加防误码扩散和误码纠正机制,降低误像素率,保证地面接收图像的质量,以适应远距离大数据量图像的无损压缩和传输。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1