专利名称:基于感知器的彩色图像无损压缩方法
技术领域:
本发明涉及图像处理领域,设计和实现了一种基于神经网络感知器的彩色图像无损压缩方法。
由于图像像素之间存在有冗余信息,利用图像数据之间的相关性,通过重新编码,去除图像数据中的冗余信息,就可以达到图像压缩的目的。至于彩色图像可以看作是多分量的单色数据图像顺序扫描或插值扫描排列而成。
图1中(b)和(c)分别是标准图像(a)中各颜色平面内像素的自相关函数和各颜色平面之间像素的互相关函数。比较图(b)和图(c)可以看到,同一单色平面内相邻像素之间的相关性要高于不同单色平面内相应位置像素之间的相关性。对于图(a)来说,G平面与B平面像素之间的相关性要高于R与G或R与B之间的相关性。据彩色图像的这种特性,可以来设计彩色图像压缩方案。
针对于静止图像的无损压缩,国际组织ITU-T(InternationalTelecommunications Union--国际电信同盟)原名为CCITT(InternationalTelephone and Telegraph Consultative Committee---国际电话与电报顾问委员会)和ISO(国际标准化组织)/IEC(国际电工委员会)于1992年联合制定了无损压缩的国际标准,将基于DPCM(Differential Pulse Code Modulation---线性预测编码)的预测器和Huffman编码推荐为无损压缩编码算法JPEG标准的早期版本。但这些传统的DPCM或对其进行简单改进的固定模式的预测器,并不能得到完全不相关的预测数据。使得算法压缩比较低,特别是压缩时间较长,远不能满足当前应用的需要。
图像数据的无损压缩方案一般包括建模(modeling)和编码(coding)两个部分。算术编码方法的出现,可以将这两部分从概念上分开,对模型映射后的数据码字从概率上进行分配。而研究人员可以集中精力研究和设计各种高效的预测模型,从而使得无损压缩无论在压缩比和压缩效率上都比早期的JPEG标准算法得到很大的提高。JBIG/JPEG(联合图像专家组)委员会接纳的新标准JPEG-LS是采用LOCO-I(LOw COmplexity LOssless COmpressionfor Images)算法作为其核心内容的一种无损/近无损图像压缩算法。该算法采用二维预测,并通过引入上下文(Context)对预测值进行自适应校正,对得到的残差信号进行Golomb编码,当预测器发现有连续相同的像素时,就从正常模式切换到游程编码模式。这种算法对于一般图像压缩比可达2.5倍以上,压缩效率较高而受到广泛关注。但是JPEG-LS算法中的上下文模型(contextmodeling)增加了算法的复杂度。
本发明引入现有的神经网络中的感知器技术,通过感知器的自学习和自适应能力校正本发明提出的二维加权预测模型的参数,简化了预测模型部分的算法复杂度。熵编码部分中,考虑到目前常用的熵编码的方法主要有Huffman、算术编码、LZW等。这些熵编码虽然具有效好的编码较果,但其执行速度较慢。本发明采用了现有的RICE熵编码算法。该熵编码算法在对数据进行扫描过程中,就可以根据采样值实时进行计算和编码,无需求助于事先存贮的码表,提高了熵编码得速度。在编码过程中,它还具有自适应功能,以适应码长的变化。它的复杂度低,编码速度快,并且有较高的编码效率。
本发明的技术思路特征为1.针对颜色平面间的相关性,采用现有的无损颜色空间变换的方法,对目标图像进行图像预处理来去除颜色空间的相关性,从而可以有效的提高压缩比。
2.假设图像数据是按照从左至右、从上向下的顺序,依次输入三个经过空间变换后的颜色分量数据。由于同一分量相邻像素之间存在有很强的相关性,根据当前像素左上方四个相邻像素的加权值,可以通过本发明所提出的预测算法,获得当前像素的预测值。
3.如果这种预测值与当前的实际值很接近,则它们之间的差值称为预测残差。求取预测残差值,如果该值足够小,可使编码器用很短的码字对其进行编码。
4.实际算法中,得到预测残差值并没有直接进行编码,而是先经过了一个本发明所提出的映射过程。通过数据映射算法,减小了预测残差值的动态范围,使用于编码的预测残差信号的分布范围更加集中,从而可以获得更小的熵并获得更好的编码效果。
5.根据以上的映射后的预测残差值结果,判断预测残差是否小于给定的误差限8,如果映射后的预测残差值超出这个阈值,就需要修改预测加权系数,即实现基于感知器的自适应调整子程序。
6.在预测和编码过程中,采用了一种感知器的技术来自适应地校正二维加权预测模型的参数。通过感知器的自学习和自适应能力对预测残差值进行监视,如果其值超过设定的阈值,则进行自适应调整,使得整个编码过程中,预测残差值保持在一个很小的范围内,从而达到压缩的目的。
7.对映射后的预测残差值进行RICE编码。
本发明的技术方案参见图3、图4。这种基于感知器的彩色图像无损压缩方法,是由数码摄像机或其他的数字化仪器完成采集待处理的目标图像,并将目标图像的光学信号转换为数字信号图像输入到计算机进行处理、传输等操作。计算机处理主要是通过现有的USB接口软件,在现有的彩色图像无损压缩及神经网络中的感知器技术的基础上对图像进行压缩处理。处理后的结果图像输出到缓存器,可以直接在本地进行存储或通过网络存储设备进行远程传输等操作。本发明的特征在于它还包括下述步骤(1)计算机从USB等接口读入待处理的目标图像后保存在内存中;(2)对待压缩图像进行预处理,即对其进行现有的无损颜色空间变换;(3)采用一种二维加权预测模型对当前像素预测,求取预测残差值,对该预测残差值映射,其特征为这部分处理的流程图见图6中区域A。①为了对整个算法进行描述,假设图像采用RGB颜色空间并经过颜色空间变换的预处理。顺序输入颜色空间变换后的三个分量,即从左向右、从上向下依次顺序扫描和存放经过变换后的三个颜色分量的数据。图像(长度和宽度分别为H和B)中的像素用xk(i,j)来表示。这里i=0,1,...,B-1表示某个颜色平面中像素所在的行,j=0,1,...,H-1表示列,k=R,G,B,表示变换后像素所在的颜色平面。
由当前像素xk(i,j)左上方四个像素xk(i,j-1)、xk(i-1,j-1)、xk(i-1,j)、xk(i-1,j+1)(i表示行坐标,j表示列坐标)的加权值来预测当前值,它们的分布位置见图5,图中x1、x2、x3、x4为代表xk(i,j-1)、xk(i-1,j-1)、xk(i-1,j)、xk(i-1,j+1)四个像素,X为当前像素。判断被预测的像素是否是边缘点,当被预测像素处于第一列、最后一列或第一行时,则进行特殊处理,即对于图像边缘外不存在像素的值用缺省值替代;对当前像素xk(i,j)的预测值 公式为xk(i,j)‾=w1xk(i,j-1)+w2xk(i-1,j-1)+w3xk(i-1,j)+w4xk(i-1,j+1)---(1)]]>其中wp(p=1,2,3,4)为预测加权系数,设定其初值为wp=0.25,从而得到当前像素的预测值 ②由预测残差值公式②,得到预测残差值ΔΔ=xk(i,j)-xk(i,j)‾---(2)]]>如果在整个编码过程中,都能够保证预测很准,就可以始终得到足够小的预测残差值,从而有利于后续的熵编码。这部分处理过程的流程图见图6中区域C。③在获得预测残差之后对其进行预测残差映射方法为假定每个单色像素是经过8bit量化,则预测残差值的分布范围应是[-255,+255]。执行下面的映射算法,使预测残差值的分布范围变为
(这里预测残差值用X表示)。映射的整个流程见图7。
a)根据预测模型计算得到预测残差值X;b)当预测残差值X小于-128时,将其加上256或者当预测残差值X大于127时,将其减去256后得到一个新的预测残差值X1;c)新的预测残差值X1如果小于零将其按照X2=-X1×2-1,否则将其按照X2=2×X1得到映射后的预测残差值X2;d)输出映射后的预测残差值X2;通过数据映射算法,减小了预测残差值的动态范围,使用于编码的预测残差信号的分布范围更加集中,从而可以获得更小的熵并获得更好的编码效果;(4)根据以上映射后的预测残差结果,判断预测残差是否小于给定的误差限8,如果小于这个阈值则直接进行熵编码;如果预测残差值超出这个阈值,就需要修改预测加权系数,即实现基于感知器的自适应调整的子程序;(5)当进行基于感知器的自适应调整的子程序的特征如下
如果仅仅采用上述固定的预测模型,并不能保证在整个编码过程中预测值不发生偏移,从而使用于编码的预测残差发生漂移。在本发明所提出的算法中,采用了神经网络中的双层感知器来实时监视和自适应地调整预测残差值的漂移。
感知器的训练过程以及预测加权系数的修改方法如下双层感知器的网络结构如图2所示,它是由输入层和输出层组成。输入层的各个处理单元与输出层的每个处理单元互连,在每个连接中均附有权值,这些权值可以通过学习规则来调整。它的学习过程是改变神经元之间的连接强度的过程。
输出值可以由以下公式来表示y=f(Σp=1nwpxp)---(3)]]>其中,f(.)为激励函数,w1,w2...wn为从输入处理单元p(p=1,2,...,n)到输出处理单元的连接权值,w0为阈值,x1,x2...xn为处理单元p的输入,y为输出值;感知器的训练采用由一组样本组成的集合来进行,在训练期间,将这些样本重复送到感知器的输入层,通过调整连接权值使感知器的输出达到理想输出,其训练过程如下①初始化,给每个wp赋初值,赋给wp(t)以(-1,+1)区间的随机值;这里wp(t)表示t时刻第p个输入上的连接权值,1≤p≤n,w0(t)为t时刻的阈值;②连接权值的修正,输入一个样本X=(x1,x2...xn)和它的期望输出d;(a)按公式③计算网络实际输出y(t);(b)计算网络实际输出y(t)与期望输出d之间的误差d(t)=d-y(t) ④(c)修正各输入输出间的连接权值wpwp(t+1)=wp(t)+Δwp(t) ⑤
Δwp(t)=α×xp×d(t) (p=1,2,3,4) ⑥其中,α是增益,通常0≤α≤1,用于控制修正速度;Δwp(t)为t时刻连接权值wp的修正值,xp为当前输入的第p个像素值;③对每个样本重复步骤②,直至误差小于给定的误差限;学习结束后的神经网络将学习样本模式以连接权的形式记忆下来,当神经网络输入某一模式时,神经网络将以公式③计算输出值y,因此整个学习记忆过程就是根据实际输出与希望输出之间的误差调整参数wp,比较公式①和公式③可以看出,这里激励函数f(x)=x,公式③中的xp是当前输入的第p个像素值,wp是预测加权系数,y是预测值;感知器实时监视预测残差值,如果这个值在编码过程中超出了预先设定的阈值,则产生一个反馈信号到感知器,通过重新学习和调整wp,产生一组新的预测加权系数,实际图像编码过程中,公式为Δwp=α/128×xp×Δ(p=1,2,3,4)⑦其中,Δwp为t时刻连接权值wp的修正值,α=0.001为经验值,Δ为上一像素点的预测残差值;这样,预测器使用修正过的预测加权系数,得到更加准确的预测值;由于感知器有学习记忆、自适应调整连接权值的能力,这种模型显然有可能用来自适应调整图像压缩算法中的预测加权系数,获得比固定预测加权系数更高的压缩比。通过实际输出和希望输出之间的差值来自适应地调整预测加权系数,也就是感知器的学习过程。
感知器实时监视预测残差值,如果这个值在编码过程中超出了预先设定的阈值,则产生一个反馈信号到感知器,通过重新学习和调整wp,产生一组新的预测加权系数。采用公式⑤、⑥修改预测加权系数,这部分处理过程的流程图见图6中区域B。
可以看到在自适应调整算法中,感知器模型采用的是一种边学习边工作的模式,无需进行先期训练。对图像扫描一次,预测和编码同时完成。具有很高的执行效率;(6)采用现有的RICE熵编码算法对映射后的预测残差进行编码;(7)输出并保存图像压缩的码流。
当进行预处理,即对图像进行现有的无损颜色空间变换,其原理如下对于多分量(彩色)的图像,通过一定的无损颜色空间变换,可以在一定程度上去除颜色分量间的相关性,JPEG-LS、JPEG2000和其他彩色图像压缩方法都精心设计了颜色空间变换方法。本发明中的空间变换是根据公式①进行。其中,A1、A2、A3分别是变换前的三个颜色分量,A1’、A2’、A3’变换后得到的三个颜色分量值。 本发明所提的方法复杂度低于传统压缩方法,处理后的图像具有较高的压缩比,并在保持较高的压缩效果的同时,其压缩时间明显少于后者,具有较高的执行速度。熵编码部分中,采用了RICE熵编码算法,该熵编码算法在对数据进行扫描过程中,可以根据采样值实时进行计算和编码,无需求助于事先存贮的码表,提高了熵编码得速度。在编码过程中,它还具有自适应功能,以适应不同码长的变化。它的复杂度低,编码速度快,并有较高的编码效率。
具体实施中将图像传输到计算机后,在计算机中完成以下程序第一步图9是实施例的原始图像,即用户要压缩的图像(24色真彩,jpg格式)及其RGB各分量,图像大小为(142×107)。对该图像进行无损颜色空间变换,得到去除颜色分量间相关性后的结果图像(这一部分独立于主程序)。A1、A2、A3三个分量经处理后的结果分别对应为图10中a图、b图、c图所示;第二步打开上一步的结果图像。
第三步创建一个压缩文件,用来存放压缩后的数据。
第四步提取经过无损颜色空间变换的图像的图像信息。
第五步执行图像压缩算法子程序,具体步骤见图11的图象压缩算法流程图(1)读入一行数据,判断是否为边界点,若是边界点,则对其进行特殊处理,即对于图像边缘外不存在像素的值用缺省值替代;若不是边界点,则对预测器赋值,预测器的预测加权系数数组的初值为W[1]=0.375W[2]=0.375W[3]=0.125;W[4]=0.125。
(2)采用一种二维加权预测模型对当前像素预测,求取预测残差值,对该预测残差值映射①利用同一分量相邻像素之间存在有很强的相关性这一特点,根据当前像素左上方四个相邻像素(假设图像数据是按照从左至右、从上向下的顺序,依次输入三个经过无损颜色空间变换后的颜色分量数据),可以通过一定的预测算法,获得当前像素的预测值。
②计算预测值与实际值的差称为预测残差。当该值足够小时,使编码器用很短的码字对其进行编码;③对得到的预测残差进行残差映射处理。通过数据映射算法,减小了预测残差值的动态范围,使用于编码的预测残差信号的分布范围更加集中,从而可以获得更小的熵并获得更好的编码效果。(3)根据以上的映射后的预测残差值结果,判断预测残差是否小于给定的误差限8,如果映射后的预测残差值超出这个阈值,就需要修改预测加权系数,即调用基于感知器的自适应调整子程序。(4)进行基于感知器的自适应调整子程序。(5)对映射后的预测残差进行现有的RICE熵编码。
在此过程中,采用本发明提出的利用现有感知器技术来自适应地校正二维加权预测模型参数的方法。通过感知器的自学习和自适应能力对预测残差值进行监视,如果其值超过设定的阈值,则进行自适应调整并进行映射,使得整个编码过程中,预测残差值保持在一个很小的范围内,从而达到压缩的目的。自适应调整二维加权预测模型的参数的整个流程图见图6。在此取神经元数目n为1,输入节点数m为4,增益α为0.00001。
(6)判断是否到行尾,如果该行已经结束则保存当前行;否则,再次判断是否为边界点,重复上述步骤;(7)判断是否到列尾,若到列尾,则结束该子程序;否则重复(1)到(7)步;第六步打印“Mission completed!”、“CompressedCounter=编码后的字节数”、“See compressed data in file compress.dat”第七步关闭用户要压缩的文件以及经压缩后的文件。
第八步得到压缩后的文件,存储在本地的硬盘中,从而完成了对车库的监控记录存储。
为了检验本发明所提出的算法的性能,与文献中传统的Huffman算法、LZW算法、FELICS算法,特别是新的无损压缩标准JPEG-LS进行了比较。用于测试的图像全都是RGB空间的24位(每个像素分量8bits)彩色图像。包括两幅风景图像、一幅航空图像、一幅计算机合成图像。为了使结果更具有说明性,还选用了两幅标准彩色图像peppers和lena用于对比实验。Huffman算法、LZW算法和JPEG-LS算法的结果是通过运行从网页上下载的执行程序得到的,FELICS算法的结果是从文献Barequet R,Feder M.SICLICA simpleinter-color lossless image coder.In Proc.of data compression conference,Editedby J.A.Storer,Snowbird Utah,USA,March,1999,pp.500-510.中得到的。整个实验是在300MHz的Pentium II、内存为64M的PC机上用C语言完成的。
表1给出了对比压缩结果,它是用每个像素的位数来表示的(=8bit/压缩比)。从表1中可以看到,本发明所提的方法其压缩结果明显优于LZW算法和传统的Huffman算法,比FELICS算法的结果也好。虽然JPEG-LS的压缩结果要好于本发明算法的结果,但是二者的结果相当接近,特别是对于两幅风景图像(平滑的自然图像),本发明的结果只比JPEG-LS算法差3%左右。
从表2所示的压缩时间来看,本发明算法执行速度明显快于传统的Huffman和LZW算法,比低复杂性高效率的JPEG-LS算法也快13-17%。从算法的结构上比较,本算法和JPEG-LS在预测和编码部分都相当,但是JPEG-LS算法中增加了上下文模型(context modeling),其复杂度远大于本发明中所使用的感知器预测模型,虽然它提高了压缩比,但执行速度受到影响。表1压缩结果的比较
表2压缩时间的比较
权利要求
1.一种基于感知器的彩色图像无损压缩方法,是由数码摄像机或其他数字化仪完成采集待处理的目标图像,并将目标图像的光学信号转换为数字信号图像,计算机通过现有的USB、红外等接口读入图像,在计算机处理器中对图像进行处理,处理后的结果图像输出到缓存器,可以直接在本地进行存储或通过网络存储设备进行远程传输,本发明的特征在于它还包括下述步骤(1)计算机从USB等接口读入待处理的目标图像后保存在内存中;(2)对待压缩图像进行预处理,即对其进行现有的无损颜色空间变换;(3)采用一种二维加权预测模型对当前像素预测,求取预测残差值,对该预测残差值映射,其特征为①顺序输入颜色空间变换后的三个分量,即从左向右、从上向下依次顺序扫描和存放经过变换后的三个颜色分量的数据,图像(长度和宽度分别为H和B)中的像素用xk(i,j)来表示;由当前像素xk(i,j)左上方四个像素xk(i,j-1)、xk(i-1,j-1)、xk(i-1,j)、xk(i-1,j+1)(i表示行坐标,j表示列坐标)的预测加权系数来预测当前值;判断被预测的像素是否是边缘点,当被预测像素处于第一列、最后一列或第一行时,则进行特殊处理,即对于图像边缘外不存在像素的值用缺省值替代;对当前像素xk(i,j)的预测值 的计算公式为xk(i,j)‾=w1xk(i,j-1)+w2xk(i-1,j-1)+w3xk(i-1,j)+w4xk(i-1,j+1)---(1)]]>其中wp(p=1,2,3,4)为预测加权系数,设定其初值为wp=0.25,从而得到当前像素的预测值 ②由预测残差值公式②,得到预测残差值ΔΔ=xk(i-j)-xk(i,j)‾---(2)]]>③在获得预测残差之后对其进行预测残差映射的方法为假定每个单色像素是经过8bit量化,则预测残差值的分布范围应是[-255,+255],执行下面的映射算法,使其分布范围变为
(这里预测残差值用X表示),a)根据预测模型计算得到预测残差值X;b)当预测残差值X小于-128时,将其加上256或者当预测残差值X大于127时,将其减去256后得到一个新的预测残差值X1;c)新的预测残差值X1如果小于零将其按照X2=-X1×2-1,否则将其按照X2=2×X1得到映射后的预测残差值X2;d)输出映射后的预测残差值X2;(4)根据以上的映射后的预测残差值结果,判断预测残差是否小于给定的误差限8,如果映射后的预测残差值超出这个阈值,就需要修改预测加权系数,即实现基于感知器的自适应调整子程序;(5)当进行基于感知器的自适应调整子程序的特征如下使用现有技术中的神经网络中的双层感知器来实时监视和自适应地调整预测残差的漂移,输出值可以由以下公式来表示y=f(Σp=1nwpxp)---(3)]]>其中,f(.)为激励函数,w1,w2...wn为从输入处理单元p(p=1,2,...,n)到输出处理单元的连接权值,w0为阈值,x1,x2...xn为处理单元p的输入,y为输出值;感知器的训练采用由一组样本组成的集合来进行,在训练期间,将这些样本重复送到感知器的输入层,通过调整连接权值使感知器的输出达到理想输出,其训练过程如下①初始化,给每个wp赋初值,赋给wp(t)以(-1,+1)区间的随机值;这里wp(t)表示t时刻第p个输入上的连接权值,1≤p≤n,w0(t)为t时刻的阈值;②连接权值的修正,输入一个样本X=(x1,x2...xn)和它的期望输出d;(a)按公式③计算网络实际输出y(t);(b)计算网络实际输出y(t)与期望输出d之间的误差d(t)=d-y(t) ④(c)修正各输入输出间的连接权值wpwp(t+1)=wp(t)+Δwp(t)⑤Δwp(t)=α×xp×d(t) (p=1,2,3,4) ⑥其中,α是增益,通常0≤α≤1,用于控制修正速度;Δwp(t)为t时刻连接权值wp的修正值,xp为当前输入的第p个像素值;③对每个样本重复步骤②,直至误差小于给定的误差限;学习结束后的神经网络将学习样本模式以连接权的形式记忆下来,当神经网络输入某一模式时,神经网络将以公式③计算输出值y,因此整个学习记忆过程就是根据实际输出与希望输出之间的误差调整参数wp,比较公式①和公式③可以看出,这里激励函数f(x)=x,公式③中的xp是当前输入的第p个像素值,wp是预测加权系数,y是预测值;感知器实时监视预测残差值,如果这个值在编码过程中超出了预先设定的阈值,则产生一个反馈信号到感知器,通过重新学习和调整wp,产生一组新的预测加权系数,实际图像编码过程中,公式为Δwp=α/128×xp×Δ(p=1,2,3,4)⑦其中,Δwp为t时刻连接权值wp的修正值,α=0.001为经验值,Δ为上一像素点的预测残差值;这样,预测器使用修正过的预测加权系数,得到更加准确的预测值;(6)采用现有的RICE熵编码算法对映射后的预测残差进行编码;(7)输出并保存图像压缩的码流。
2.根据权利要求1所述的基于感知器的彩色图像无损压缩方法,其特征在于对待压缩图像进行预处理中所采用的无损颜色空间变换公式为 其中,A1、A2、A3分别是变换前的三个颜色分量,A1’、A2’、A3’变换后得到的三个颜色分量值。
全文摘要
一种基于感知器的彩色图像的无损压缩方法,涉及图像处理领域。本发明的特征在于具有以下处理步骤(1)计算机从USB等接口读入待处理的目标图像后保存在内存中;(2)对待压缩图像进行现有的无损颜色空间变换;(3)采用二维加权预测模型对当前像素预测,求取预测残差值;(4)根据映射后的预测残差值,判断是否小于给定的误差限,如果超出阈值就需要自适应调整。(5)采用现有的RICE熵编码;(6)输出并保存图像的压缩结果。本发明所提供的方法复杂度低于传统压缩方法,处理后的图像具有较高的压缩比,并且在保持较高的压缩效果的同时,其压缩时间明显少于后者,具有较高的执行速度。
文档编号G06N3/06GK1405735SQ02146768
公开日2003年3月26日 申请日期2002年11月8日 优先权日2002年11月8日
发明者贾克斌, 沈兰荪, 庄新月, 张鸿源, 徐遄 申请人:北京工业大学