CN104394412A - 一种基于转换压缩的最大误差图像压缩方法 - Google Patents

一种基于转换压缩的最大误差图像压缩方法 Download PDF

Info

Publication number
CN104394412A
CN104394412A CN201410713005.9A CN201410713005A CN104394412A CN 104394412 A CN104394412 A CN 104394412A CN 201410713005 A CN201410713005 A CN 201410713005A CN 104394412 A CN104394412 A CN 104394412A
Authority
CN
China
Prior art keywords
row
matrix
transpression
data
approximation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410713005.9A
Other languages
English (en)
Other versions
CN104394412B (zh
Inventor
黎彤亮
李晓云
黄世中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
APPLICATION MATHEMATICS INSTITUTE, HEBEI ACADEMY OF SCIENCES
Original Assignee
SHIJIAZHUANG DEVELOPMENT ZONE JIKE SHANGSHI SCI-TECH Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHIJIAZHUANG DEVELOPMENT ZONE JIKE SHANGSHI SCI-TECH Co Ltd filed Critical SHIJIAZHUANG DEVELOPMENT ZONE JIKE SHANGSHI SCI-TECH Co Ltd
Priority to CN201410713005.9A priority Critical patent/CN104394412B/zh
Publication of CN104394412A publication Critical patent/CN104394412A/zh
Application granted granted Critical
Publication of CN104394412B publication Critical patent/CN104394412B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种基于转换压缩的最大误差图像压缩方法,所述方法首先进行第一级行转换压缩,并存储生成的近似值(均值)以及细节分量(转换系数);然后对新生成的近似值部分进行第一级列转换压缩,同时存储相应的近似值和细节分量;之后交替地对新生成的近似值进行下一级行、列的转换压缩,直到只剩下一个近似值为止,得到最终的压缩矩阵;最后利用近似值和细节分量进行数据重构。本发明采用基于最大误差准则的图像压缩方法,因此可以保证数据重构后每一点的误差都在给定范围内,便于后续查询。同对比文献中基于最大误差准则的图像压缩方法相比,该方法不仅缩短了压缩时间,而且提高了图像的压缩比以及重构质量。

Description

一种基于转换压缩的最大误差图像压缩方法
技术领域
本发明涉及一种图像数据的转换压缩及数据重构方法,属于电通信技术领域。
背景技术
随着信息技术的发展,图像信息被广泛应用于多媒体通讯以及计算机系统中。图像数据的显著特点是信息量大。庞大的信息量显然给数据的处理带来了“存不下”、“查不快”、”算不准”的难题。尽管信道传输带宽不断加宽,磁盘以及硬盘等存储器容量越来越大,但是依然不能够解决数据量庞大的根本问题,而数据压缩技术能够节省数据存储空间,并且能够提高数据传输的效率。
对于图像来说,一般使用的都是有损压缩技术。传统的图像压缩技术都是以均方误差准则为基础的一类算法,只能保证整体数据的平均误差在一定范围内,而对于每一点的重构误差则不可预测和控制,因此该类算法不能够直接用于后续数据的查询。
目前,人们已经提出了基于最大误差的图像压缩方法,即能够保证图像质量又能有效控制每一点数据误差的图像压缩方法,但是算法的时间复杂度较高,压缩比较低,并且图像的重构质量并不理想。如有的学者将预测编码方法应用于误差可控的图像压缩方法中,利用相邻已知像素来预测当前像素值,结合给定的误差限来对预测误差进行量化。这种方法利用已经处理过的数据来预测当前像素值,会使预测性能下降,从而导致图像重构质量的下降。有的学者利用小波变换的方法,将像素域的误差限制转换成对小波大纲中系数的限制,并采用动态规划策略来确定系数阈值的选取,然而所述算法的时间复杂度较高,为O(N2BlogB),其中N代表原始数据大小,B代表小波大纲的大小。如有的学者认为以往小波大纲中系数的选取都是从小波分解系数中选取的,这不是必须的也不能保证得到最好质量的小波大纲,因此他们提出了一种非限定小波大纲技术,该技术的算法复杂度为多项式复杂度。近期有的学者提出了转换压缩方法,所述算法同样是一种非限定小波大纲技术,算法的时间复杂度得到进一步降低,为O(N),但是所述算法在图像压缩的应用上还不够有效,其压缩时间、图像重构质量以及压缩比都有待进一步改善。
发明内容
本发明的目的在于针对现有技术之弊端,提供一种基于转换压缩的最大误差图像压缩方法,以提高图像压缩比和重构质量,缩短图像的压缩时间。
本发明所述问题是通过以下述技术方案实现的:
一种基于转换压缩的最大误差图像压缩方法,所述方法首先进行第一级行转换压缩,并存储生成的近似值(均值)以及细节分量(转换系数);然后对新生成的近似值部分进行第一级列转换压缩,同时存储相应的近似值和细节分量;之后交替地对新生成的近似值进行下一级行、列的转换压缩,直到只剩下一个近似值为止,得到最终的压缩矩阵;最后利用近似值和细节分量进行数据重构。
上述基于转换压缩的最大误差图像压缩方法,所述压缩矩阵的生成步骤如下:
a.第一级行转换压缩
①对于由n×n个像素构成的原始矩阵:
d 11 . . . d 1 j . . . d 1 n . . . . . . . . . d i 1 . . . d ij . . . d in . . . . . . . . . d n 1 . . . d nj . . . d nn ;
根据给定的误差限Δ将每个像素数据扩展成数据区间的形式,原始矩阵的第i行数据[di1…dij…din]扩展后变为其中 d ‾ ij = d ij - Δ , d ‾ ij = d ij + Δ ; 其中i为行数,j为列数;
②判断每一行中相邻的两个数据区间(j为奇数)是否具有交集,如果数据区间不存在交集,则按照下式计算细节分量b:
b = ( d ‾ ij + d ‾ ij ) - ( d ‾ i ( j + 1 ) + d ‾ i ( j + 1 ) ) 4 ;
如果数据区间存在交集,则令细节分量b=0,
然后按照下式计算出近似值的区间
d ‾ = max ( d ‾ ij - b , d ‾ i ( j + 1 ) + b ) d ‾ = min ( d ‾ ij - b , d ‾ i ( j + 1 ) + b )
其中,max表示求最大值,min表示求最小值;
③将计算出的近似值区间存储于原始矩阵的处,将细节分量b存储于原始矩阵的处,其中m1代表原始矩阵中每一行的数据个数(此处m1=n),
对原始矩阵的每一行进行转换压缩并存储,得到第一级行转换压缩矩阵;
b.第一级列转换压缩
①判断第一级行转换压缩矩阵中近似值区间部分每一列相邻的两个近似值区间(i为奇数)是否有交集,
如果数据区间不存在交集,则按照下式计算细节分量b:
b = ( d ‾ ij + d ‾ ij ) - ( d ‾ ( j + 1 ) j + d ‾ ( j + 1 ) j ) 4 ;
如果数据区间存在交集,则令细节分量b=0,
然后按照下式计算出近似值区间
d ‾ = max ( d ‾ ij - b , d ‾ ( j + 1 ) j + b ) d ‾ = min ( d ‾ ij - b , d ‾ ( j + 1 ) j + b ) ;
②将计算出的近似值区间存放于本级行转换压缩矩阵的处,将计算出的细节分量b存储于本级行转换压缩矩阵的的位置,m2代表本级行转换压缩矩阵中每一列近似值区间的个数(此处m2=n),
对第一级行转换压缩矩阵的近似值区间部分的每一列完成列转换压缩和存储,得到第一级列转换压缩矩阵;
c.交替地对新生成矩阵的近似值区间部分进行行、列转换压缩,并且在接下来的行转换压缩过程中,需要将细节分量b存储于前一级列转换压缩矩阵的处,其中m'1代表前一级列转换压缩矩阵中每一行近似值区间的个数,直到只剩下一个近似值区间为止,然后取剩余近似值区间内的任意一个值作为原始矩阵的最终近似值,生成的最终矩阵即为压缩矩阵。
上述基于转换压缩的最大误差图像压缩方法,所述数据重构的具体步骤如下:
对于压缩矩阵:
d 11 . . . d 1 j . . . d 1 n . . . . . . . . . d i 1 . . . d ij . . . d in . . . . . . . . . d n 1 . . . d nj . . . d nn ;
按照与其生成过程相反的顺序,从左上角开始交替进行列还原和行还原,直至对n×n个像素进行行还原后就实现了数据的重构,所述列还原和行还原的具体方法如下:
①每一级列还原的计算重构数据的通式如下:
d ^ ij = d ^ ( i + 1 2 ) j + d ( i + 1 + m 3 2 ) j ′ , d ^ ( i + 1 ) j = d ^ ( i + 1 2 ) j - d ( i + 1 + m 3 2 ) j ′ ;
式中,分别为本级列还原矩阵中存放位置为(i,j)、((i+1),j)的重构数据,i为奇数;为在前一级行还原矩阵中存放位置在的重构数据,当进行第一级列还原时,为压缩矩阵中存放位置为处的数据;为在前一级行还原矩阵中位置为的数据,当进行第一级列还原时,为在压缩矩阵中位置为的数据;m3为前一级行还原矩阵中需要还原的矩阵部分中每一列的数据个数,当进行第一级列还原时,m3为压缩矩阵中需要还原的矩阵部分每一列的数据个数;
②每一级行还原的计算重构数据的通式如下:
d ^ ij = d ^ i ( j + 1 2 ) + d i ( j + 1 + m 4 2 ) ′ , d ^ i ( j + 1 ) = d ^ i ( j + 1 2 ) - d i ( j + 1 + m 4 2 ) ′ ;
式中,分别为在本级行还原矩阵中存放位置为(i,j)、(i,(j+1))的重构数据,j为奇数;为在本级列还原矩阵中存放位置为处的重构数据;为在本级列还原矩阵中存放位置为处的数据;m4为本级列还原矩阵中需要还原的矩阵部分每一行的数据个数。
本发明采用基于最大误差准则的图像压缩方法,因此可以保证数据重构后每一点的误差都在给定范围内,便于后续查询。同对比文献中的基于转换压缩的图像压缩方法相比,所述方法不仅缩短了压缩时间,而且提高了图像的压缩比以及重构质量。
附图说明
下面结合附图对本发明作进一步详述。
图1是Δ=2下的转换压缩实例;其中,(a)为原始数据,(b)为数据扩展,(c)为第一级行转换压缩矩阵,(d)为第一级列转换压缩矩阵,(e)为第二级行转换压缩矩阵,(f)为第二级列转换压缩矩阵,(g)为压缩矩阵;
图2是数据重构过程;其中,(a)为压缩矩阵,(b)为第一级列还原矩阵,(c)为第一级行还原矩阵,(d)为第二级列还原矩阵,(e)为第二级行还原矩阵;
图3是三幅原始测试图像;
图4是相同误差限下图像压缩比对比图;
图5是相同压缩比下图像峰值信噪比对比;
图6是对比文献中算法的重构图像;
图7是本发明的重构图像;
图8是相同压缩比下不同图像的压缩时间对比。
文中所用符号为:Δ为误差限,dij为由n×n个像素构成的原始矩阵中第i行第j列的像素数据,b为细节分量,在进行第一级行转换压缩时m1为原始矩阵中每一行的数据个数,在接下来的行转换压缩中m'1代表前一级列转换压缩矩阵中每一行中近似值区间的个数,m2为本级行转换压缩矩阵中每一列近似值区间的个数,d'ij为压缩矩阵中第i行第j列的数据,分别为本级列还原矩阵中存放位置为(i,j)、((i+1),j)的重构数据,为在前一级行还原矩阵中存放位置在的重构数据,当进行第一级列还原时,为压缩矩阵中存放位置为处的数据,为在前一级行还原矩阵中位置为的数据,当进行第一级列还原时,为在压缩矩阵中位置为的数据,m3为前一级行还原矩阵中需要还原的矩阵部分中每一列的数据个数,当进行第一级列还原时,m3为压缩矩阵中需要还原的矩阵部分每一列的数据个数。分别为在本级行还原矩阵中存放位置为(i,j)、(i,(j+1))的重构数据,为在本级列还原矩阵中存放位置为处的重构数据,为在本级列还原矩阵中存放位置为处的数据;m4为本级列还原矩阵中需要还原的矩阵部分每一行的数据个数。
具体实施方式
本发明涉及的是一种基于转换压缩的最大误差图像压缩方法,所述算法能够缩短压缩时间、提高图像的压缩比以及重构质量。本发明是通过以下技术方案实现的。首先进行第一级行转换压缩,将生成的近似值(均值)以及细节分量(转换系数)进行相应的存储;然后对新生成的近似值部分进行第一级列转换压缩,同时存储相应的近似值和细节分量;交替的对新生成的近似值进行下一级行、列的转换压缩,直到只剩下一个近似值为止;最后可利用近似值和细节分量进行数据重构。
具体技术方案如下:
一、第一级行转换压缩
首先对由n×n的像素构成的原始矩阵进行第一级行转换压缩,生成第一级行转换压缩矩阵。所述原始矩阵(1)如下:
d 11 . . . d 1 j . . . d 1 n . . . . . . . . . d i 1 . . . d ij . . . d in . . . . . . . . . d n 1 . . . d nj . . . d nn - - - ( 1 )
其中i为行数,j为列数。
以[di1…dij…din]的行转换压缩为例:
(1)将原始数据根据给定的误差限Δ扩展成数据区间的形式:
其中 d ‾ ij = d ij - Δ , d ‾ ij = d ij + Δ ;
(2)对相邻的两个数据区间如(j为奇数)进行判断,判断其是否具有交集。
如果数据区间不存在交集,需要按照公式(2)计算出转换系数,也称作细节分量:
b = ( d ‾ ij + d ‾ ij ) - ( d ‾ i ( j + 1 ) + d ‾ i ( j + 1 ) ) 4 ;
再按照公式(3)计算出近似值的区间,即对应的交集其交集计算公式:
d ‾ = max ( d ‾ ij - b , d ‾ i ( j + 1 ) + b ) d ‾ = min ( d ‾ ij - b , d ‾ i ( j + 1 ) + b ) - - - ( 3 )
其中,max表示求最大值,min表示求最小值。
如果数据区间存在交集,此时细节分量为0,即:
b=0  (4)
近似值区间为:
d ‾ = max ( d ‾ ij , d ‾ i ( j + 1 ) ) d ‾ = min ( d ‾ ij , d ‾ i ( j + 1 ) ) - - - ( 5 )
(3)将计算出的近似值区间存储于原始矩阵(1)的处。将计算出的细节分量存储于原始矩阵(1)的处,m1代表原始矩阵中每一行的数据个数。
按照步骤一的(1)、(2)、(3)步可对每一行进行行转换压缩并存储,生成的矩阵为第一级行转换压缩矩阵。
二、第一级列转换压缩
对第一级行转换压缩矩阵中的近似值区间部分进行第一级列转换压缩,生成第一级列转换压缩矩阵。
(1)判断第一级行转换压缩矩阵中近似值区间部分每一列相邻的两个近似值区间是否有交集。假设相邻的数据区间为(i为奇数)。
如果数据区间不存在交集,需要按照公式(6)计算出细节分量:
b = ( d ‾ ij + d ‾ ij ) - ( d ‾ ( j + 1 ) j + d ‾ ( j + 1 ) j ) 4 - - - ( 6 )
再按照公式(7)计算出近似值区间,即对应的交集其交集计算公式:
d ‾ = max ( d ‾ ij - b , d ‾ ( j + 1 ) j + b ) d ‾ = min ( d ‾ ij - b , d ‾ ( j + 1 ) j + b ) - - - ( 7 )
如果数据区间存在交集,此时细节分量为0,即:
b=0(8)
近似值区间为:
d ‾ = max ( d ‾ ij , d ‾ ( j + 1 ) j ) d ‾ = min ( d ‾ ij , d ‾ ( j + 1 ) j ) - - - ( 9 )
(2)将计算出的近似值区间存放于本级行转换压缩矩阵的处。将计算出的细节分量存储于本级行转换压缩矩阵的的位置,m2代表本级行转换压缩矩阵中每一列近似值区间的个数。
按照步骤二的(1)、(2)步可对第一级行转换压缩矩阵的近似值区间部分的每一列完成列转换压缩和存储,生成的矩阵为第一级列转换压缩矩阵。
三、交替进行行、列转换压缩
进行完第一级列转换压缩之后,由于图像矩阵数据量很大,需要交替的对新生成矩阵的近似值区间部分进行行、列转换压缩,直到只剩下一个近似值区间为止。
(1)对生成的第一级列转换压缩矩阵中的近似值区间部分进行第二级行转换压缩,生成第二级行转换压缩矩阵。
首先判断第一级列转换压缩矩阵的近似值区间部分每一行中相邻的两个近似值区间是否有交集,然后分别计算出近似值区间和细节分量并存储,方法与步骤一的(2)、(3)步相同,不同的是此时需要将细节分量b存储于前一级列转换压缩矩阵的处,其中m'1代表前一级列转换压缩矩阵中每一行近似值区间的个数。
(2)对生成的第二级行转换压缩矩阵中的近似值区间部分进行第二级列转换压缩,生成第二级列转换压缩矩阵。方法与步骤二的(1)、(2)步相同,此时m2同样代表本级行转换压缩矩阵中每一列的近似值区间的个数。
(3)按照步骤三(1)、(2)步交替的对新生成的近似值区间进行行与列的转换压缩,直到只剩下一个近似值区间为止。
(4)此时可以取近似值区间内的任意一个值作为最终的近似值,生成的最终矩阵即为压缩矩阵。
在本发明中压缩比定义为原始数据个数与压缩矩阵中非零值个数之比。
数据压缩实例:
图1是该发明的数据转换压缩过程。图1(a)是原始数据,误差限Δ=2。
(1)首先对每一个原始数据进行数据扩展,此实例中给定误差限Δ=2,因此第一行的原始数据[12,4,7,9]进行扩展后变为[[12-2,12+2],[4-2,4+2],[7-2,7+2],[9-2,9+2]],即[[10,14],[2,6],[5,9],[7,11]]。第2-4行可以按照同样方法进行扩展,扩展的结果见图2(b)。
(2)其次进行第一级行转换压缩。以第一行数据区间[[10,14],[2,6],[5,9],[7,11]]为例:首先对第一对数据区间[10,14]、[2,6]进行压缩,由于两个数据区间没有交集,需根据公式(2)计算细节分量由于i=1,j=1,m1=4,因此该细节分量应存储于 ( i , j + 1 + m 1 2 ) = ( 1,3 ) 处。再根据公式(3)计算得 d ‾ = max ( 10 - 4,2 + 4 ) = 6 , d ‾ = min ( 14 - 4,6 + 4 ) = 10 可求得近似值区间 ( d ‾ , d ‾ ) = ( 6,10 ) , 此近似区间应存储于 ( i , j + 1 2 ) = ( 1,1 ) 处。
接下来对[5,9],[7,11]进行转换压缩。由判断知两个数据区间存在交集,根据公式(5)计算出二者的交集为[7,9],由于此时i=1,j=3,m1=4,因此该近似区间应存储于处,而此时细节分量不需要计算,只需要用0代替即可,同时存储于处。
对2-4行都可以按照此方式进行计算和存储,得到第一级行转换压缩矩阵,见图1(c)。
(3)第三步是进行第一级列转换压缩。如图1(c)所示,此时矩阵的左半部分存储的是近似值区间,接下来需要对该近似值区间部分进行列转换压缩。以第一列为例:此时第一列中相邻的第一对数据区间为[6,10]、[1.5,5.5],首先判断二者没有交集,按照公式(6)计算细节分量由于i=1,j=1,m2=4,因此该细节分量应存储于处,由公式(7)得:
d ‾ = max ( 6 - 2.25,1.5 + 2.25 ) = 3.75 , d ‾ = min ( 10 - 2.25,5.5 + 2.25 ) = 7.75 , 可求得近似值区间此近似区间应存储于处。
接下来对[3.5,7.5]、[4,8]进行压缩,由判断知两个区间存在交集,按照公式(9)计算得二者的交集为[4,7.5],此时i=3,j=1,m2=4,因此该近似区间应存储于处,此时细节分量不需要计算,只需要用0代替即可,同时存储于处。
对第二列只需要按照相同的办法就可以进行压缩,生成第一级列转换压缩矩阵,见图1(d)。
(4)对第一级列转换压缩矩阵的近似值区间部分进行第二级行转换压缩,生成第二级行转换压缩矩阵。
对图1(d)所示的近似值部分进行第二级行转换压缩:对[3.75,7.75]与[7,9]进行判断,二者存在交集[7,7.75],此时i=1,j=1,m1'=2,应将该近似值区间存储于处,细节分量值为0,存储于处。同理可求出第二行近似值区间[4,7.5]、[6,7.5]的压缩结果。最终结果见图1(e)所示。
(5)对第二级行转换压缩矩阵的近似值区间部分进行第二级列转换压缩,生成第二级列转换压缩矩阵。
对图1(e)所示结果进行第二级列转换压缩:对[7,7.75]与[6,7.5]进行判断,二者存在交集[7,7.5],此时i=1,j=1,m2=2,应将近似值区间存储于处,细节分量值为0,存储于处。最终结果见图1(f)所示。
(5)进行完第二级列转换压缩之后,只剩下一个近似值区间,因此不需要再进行下一级转换压缩,只需要计算出最终的近似值即可,在此例中,选取了近似值区间[7,7.5]的中间值7.25,最终压缩矩阵见图1(g)所示。
四、数据重构
压缩矩阵如下所示:
d 11 ′ . . . d 1 j ′ . . . d 1 n ′ . . . . . . . . . d i 1 ′ . . . d ij ′ . . . d in ′ . . . . . . . . . d n 1 ′ . . . d nj ′ . . . d nn ′ - - - ( 10 )
每一级列还原的计算重构数据的通式如下:
d ^ ij = d ^ ( i + 1 2 ) j + d ( i + 1 + m 3 2 ) j ′ - - - ( 11 )
d ^ ( i + 1 ) j = d ^ ( i + 1 2 ) j + d ( i + 1 + m 3 2 ) j ′ - - - ( 12 )
式中,分别为本级列还原矩阵中存放位置为(i,j)、((i+1),j)的重构数据,i为奇数;为在前一级行还原矩阵中存放位置在的重构数据,当进行第一级列还原时,为压缩矩阵(10)中存放位置为处的数据为在前一级行还原矩阵中位置为的数据,当进行第一级列还原时,为在压缩矩阵(10)中位置为的数据;m3为前一级行还原矩阵中需要还原的矩阵部分中每一列的数据个数,当进行第一级列还原时,m3为压缩矩阵(10)中需要还原的矩阵部分每一列的数据个数;
每一级行还原的计算重构数据的通式如下:
d ^ ij = d ^ i ( i + 1 2 ) + d i ( i + 1 + m 4 2 ) ′ - - - ( 13 )
d ^ i ( j + 1 ) = d ^ i ( j + 1 2 ) + d i ( j + 1 + m 4 2 ) ′ - - - ( 14 )
式中,分别为在本级行还原矩阵中存放位置为(i,j)、(i,(j+1))的重构数据,j为奇数;为在本级列还原矩阵中存放位置为处的重构数据;为在本级列还原矩阵中存放位置为处的数据;m4为本级列还原矩阵中需要还原的矩阵部分每一行的数据个数;
(1)第一级列还原:对压缩矩阵(10)的2×1矩阵 d 11 ′ d 21 ′ 部分进行列还原,根据重构公式(11)与(12)可进行重构,此时公式(11)、(12)中的i为奇数,m3=2:
d ^ 11 = d ^ ( 1 + 1 2 ) 1 + d ( 1 + 1 + 2 2 ) 1 ′ = d 11 ′ + d 21 ′
d ^ 21 = d ^ ( 1 + 1 2 ) 1 + d ( 1 + 1 + 2 2 ) 1 ′ = d 11 ′ + d 21 ′
分别存储在压缩矩阵(10)的(1,1)、(2,1)的位置,其余位置数据不变,构成第一级列还原矩阵。
(2)第一级行还原:对第一级列还原矩阵的2×2部分 d ^ 11 d 12 ′ d ^ 21 d 22 ′ 进行行还原,根据重构公式(13)与(14)可进行重构,此时公式(13)、(14)中的j为奇数,m4=2:
d ^ 11 = d ^ 1 ( 1 + 1 2 ) + d 1 ( 1 + 1 + 2 2 ) ′ = d ^ 11 + d 12 ′
d ^ 12 = d ^ 1 ( 1 + 1 2 ) - d 1 ( 1 + 1 + 2 2 ) ′ = d ^ 11 - d 12 ′
d ^ 21 = d ^ 2 ( 1 + 1 2 ) + d 2 ( 1 + 1 + 2 2 ) ′ = d ^ 21 + d 22 ′
d ^ 22 = d ^ 2 ( 1 + 1 2 ) + d 2 ( 1 + 1 + 2 2 ) ′ = d ^ 21 - d 22 ′
分别存储在第一级列还原矩阵的(1,1)、(1,2)、(2,1)、(2,2)的位置,其余位置数据不变,构成第一级行还原矩阵。
(3)再对第一级行还原矩阵中的4×2矩阵部分进行第二级列还原,还原方法同上述数据重构中的第(1)步。
如此交替重复,直至对n×n矩阵部分进行行还原后就实现了数据重构。
数据重构实例:
数据重构过程:
(1)首先对如图2(a)所示的压缩矩阵,进行第一级列还原。
如图2(a)所示,黑框内是需要进行还原的部分。此时i=1,j=1,m3=2,根据重构公式(11)、(12)得:
d ^ 11 = d ^ ( 1 + 1 2 ) 1 + d ( 1 + 1 + 2 2 ) 1 ′ = d 11 ′ + d 21 ′ = 7.25 + 0 = 7.25
d ^ 21 = d ^ ( 1 + 1 2 ) 1 - d ( 1 + 1 + 2 2 ) 1 ′ = d 11 ′ - d 21 ′ = 7.25 - 0 = 7.25
分别存储在压缩矩阵的(1,1)、(2,1)的位置,其余位置数据不变,构成第一级列还原矩阵,如图2(b)所示。
(2)接下来对图2(b)黑框所示部分进行第一级行还原。此时i≤2,j=1,m4=2;根据重构公式(13)、(14)得:
d ^ 11 = d ^ 1 ( 1 + 1 2 ) + d 1 ( 1 + 1 + 2 2 ) ′ = d ^ 11 + d 21 ′ = 7.25 + 0 = 7.25
d ^ 12 = d ^ 1 ( 1 + 1 2 ) - d 1 ( 1 + 1 + 2 2 ) ′ = d ^ 11 - d 12 ′ = 7.25 - 0 = 7.25
d ^ 21 = d ^ 2 ( 1 + 1 2 ) + d 2 ( 1 + 1 + 2 2 ) ′ = d ^ 21 + d 21 ′ = 7.25 + 0 = 7.25
d ^ 22 = d ^ 2 ( 1 + 1 2 ) - d 2 ( 1 + 1 + 2 2 ) ′ = d ^ 21 - d 22 ′ = 7.25 - 0 = 7.25
分别存储在第一级列还原矩阵的(1,1)、(1,2)、(2,1)、(2,2)的位置,其余位置数据不变,构成第一级行还原矩阵,如图2(c)所示。
(3)进行完第一级行还原之后,由于还没有完全还原所有数据,因此需要进行第二级列还原。如图2(c)所示,黑框内是需要进行还原的部分。此时i<4且i为奇数,j≤2,m3=4;
根据重构公式(11)、(12)得:
d ^ 11 = d ^ 11 + d 31 ′ = 7.25 + 2.25 = 9.5 , d ^ 21 = d ^ 11 - d 31 ′ = 7.25 - 2.25 = 5 ;
d ^ 31 = d ^ 21 + d 41 ′ = 7.25 + 0 = 7.25 , d ^ 41 = d ^ 21 - d 41 ′ = 7.25 - 0 = 7.25 ;
d ^ 12 = d ^ 12 + d 32 ′ = 7.25 + 0 = 7.25 , d ^ 22 = d ^ 12 - d 32 ′ = 7.25 - 0 = 7.25 ;
d ^ 32 = d ^ 22 + d 42 ′ = 7.25 + 0 = 7.25 , d ^ 42 = d ^ 22 - d 42 ′ = 7.25 - 0 = 7.25 .
分别存储于第一级行还原矩阵的(1,1)、(2,1)、(3,1)、(4,1)、(1,2)、(2,2)、(3,2)、(4,2)位置,其余位置数据不变,构成第二级列还原矩阵,如图2(d)所示。
(4)接下来需要对图2(d)黑框所示部分进行第二级行还原,最终可完成所有数据的重构。此时i≤4,j<4且j为奇数,m4=4。根据重构公式(13)、(14)得:
d ^ 11 = d ^ 11 + d 13 ′ = 9.5 + 4 = 13.5 , d ^ 12 = d ^ 11 - d 12 ′ = 9.5 - 4 = 5.5 ;
d ^ 13 = d ^ 12 + d 12 ′ = 7.25 + 0 = 7.25 , d ^ 14 = d ^ 12 - d 14 ′ = 7.25 - 0 = 7.25 ;
d ^ 21 = d ^ 21 + d 23 ′ = 5 - 5.25 = 2.5 , d ^ 22 = d ^ 21 - d 23 ′ = 5 + 2.5 = 7 . 5 ;
d ^ 23 = d ^ 22 + d 24 ′ = 7.25 + 3.5 = 10.75 , d ^ 24 = d ^ 22 - d 24 ′ = 7.25 - 3.5 = 3.75 ;
d ^ 31 = d ^ 31 + d 33 ′ = 7.25 - 2.5 = 4.75 , d ^ 32 = d ^ 31 - d 33 ′ = 7.25 + 2.5 = 9.75 ;
d ^ 33 = d ^ 32 + d 34 ′ = 7.25 - 3 . 5 = 3 . 75 , d ^ 34 = d ^ 32 - d 34 ′ = 7.25 + 3.5 = 10.75 ;
d ^ 41 = d ^ 41 + d 43 ′ = 7.25 + 4 = 11.25 , d ^ 42 = d ^ 41 - d 43 ′ = 7.25 - 4 = 3.25 ;
d ^ 43 = d ^ 42 + d 44 ′ = 7.25 + 0 = 7.25 , d ^ 44 = d ^ 42 - d 44 ′ = 7.25 - 0 = 7.25 .
将上述所有重构数据存放于第二级列还原矩阵的相应位置,构成第二级行还原矩阵,也就是最终的还原矩阵,如图2(e)所示。
(5)以上步骤可完成数据的重构,重构后数据每一点的误差为: - 1.5 - 1.5 - 0.25 1.75 - 1.5 - 1.5 0.25 0.25 - 1.75 - 1.75 - 1.75 - 1.75 - 1.25 - 1.25 - 0.25 0.75 , 可见每一点的误差都小于给定的误差限Δ=2。
实验对比结果:
对比文献采用《On multidimensional wavelet synopses for maximum errorbounds》,该文献在图像中应用转换压缩时,采用的是对2×2的不重叠矩阵进行转换压缩,而在转换压缩过程中,第一步同样是进行数据扩展,第二步进行数据区间交集的判断,判断的标准是四个数据区间是否存在交集,如果不存在交集需要存储1个近似区间和3个细节分量值,而本发明的转换算法在进行图像压缩时,只需要判断相邻2个数据区间是否有交集,如果不存在交集,需要存储1个近似值和1个细节值,如果存在交集只需要存储1个均值即可。这样处理的好处就是区分更细致,本发明的方法更细致更有效,因此可以提高图像的压缩比以及重构质量。
图3是原始测试图像,其图像分辨率分别为256×256、512×512、1024×1024。
(1)相同误差限下图像压缩比对比
图4是在相同误差限下图像压缩比的对比图,图中1代表本发明的压缩方法,2代表对比文献中的压缩方法。从图中可看到对于不同分辨率的图像,两种压缩方法的压缩比均随着误差限的增大而增大,并且在相同的误差限下本发明的算法所实现的压缩比均大于对比文献中压缩方法的压缩比。因此本发明的压缩方法可以提高图像的压缩比。
(2)相同压缩比下峰值信噪比对比
图5是两种压缩方法在相同压缩比下,图像峰值信噪比(PSNR)的对比图,图中3代表本发明的压缩方法,4代表对比文献中的压缩方法。为了得到相同的压缩比,在此处采用的是反复试验的方法,给一个任意的Δ值,比如值为Δ1。从实验结果看此时的图像压缩比CR1与预期的图像压缩比CR的关系:如果CR1=CR,说明此时Δ1正是所需要的误差限;如果CR1>CR,那么说明Δ1取值较大,应该减小Δ1;如果CR1<CR,那么说明Δ1取值较小,应该增大Δ1;通过多次反复试验,最终可得到适合的Δ值,使其满足预期的图像压缩比。
一般评价压缩图像与原始图像相似度的测量参数为PSNR。PSNR值越大,表明图像相似度越高,图像质量越好。从图5中可以看到在三种不同分辨率的图像下,随着压缩比的增大,两种压缩方法得到的图像PSNR都在降低,并且本发明的算法,在相同的压缩比下所实现的图像PSNR均大于对比文献中的压缩方法所实现的图像PSNR,因此利用本发明的算法可以提高图像的重构质量。
图6、图7分别是对比文献与本发明的压缩方法的重构图像,分别选取了在同一副图像达到相同压缩比情况下的重构图像的对比图。从图中可以看出在相同的压缩比下,本发明的图像重构质量的确高于对比文献中的压缩方法的图像重构质量,与图5所示结果一致。
(3)算法压缩时间对比
图8是在相同压缩比下不同图像的压缩时间对比图,图中5为对比文献中压缩方法的压缩时间,6为本发明的压缩方法的压缩时间。从图中可看出利用本发明的算法,可大大降低算法的压缩时间,最多能降低到对比文献中算法压缩时间的1/10,因此利用本发明的算法可以降低压缩时间。

Claims (3)

1.一种基于转换压缩的最大误差图像压缩方法,其特征是,所述方法首先进行第一级行转换压缩,并存储生成的近似值(均值)以及细节分量(转换系数);然后对新生成的近似值部分进行第一级列转换压缩,同时存储相应的近似值和细节分量;之后交替地对新生成的近似值进行下一级行、列的转换压缩,直到只剩下一个近似值为止,得到最终的压缩矩阵;最后利用近似值和细节分量进行数据重构。
2.根据权利要求1所述的基于转换压缩的最大误差图像压缩方法,其特征是,所述压缩矩阵的生成步骤如下:
a.第一级行转换压缩
①对于由n×n个像素构成的原始矩阵:
根据给定的误差限将每个像素数据扩展成数据区间的形式,原始矩阵的第i行数据扩展后变为,其中;其中i为行数,j为列数;
②判断每一行中相邻的两个数据区间(j为奇数)是否具有交集,如果数据区间不存在交集,则按照下式计算细节分量b:
如果数据区间存在交集,则令细节分量
然后按照下式计算出近似值的区间
    其中,max表示求最大值,min表示求最小值;
③将计算出的近似值区间存储于原始矩阵的处,将细节分量b存储于原始矩阵的处,其中m 1代表原始矩阵中每一行的数据个数,此处m 1=n
对原始矩阵的每一行进行转换压缩并存储,得到第一级行转换压缩矩阵;
b.第一级列转换压缩
①判断第一级行转换压缩矩阵中近似值区间部分每一列相邻的两个近似值区间(i为奇数)是否有交集,
如果数据区间不存在交集,则按照下式计算细节分量b: 
如果数据区间存在交集,则令细节分量
然后按照下式计算出近似值区间
②将计算出的近似值区间存放于本级行转换压缩矩阵的处,将计算出的细节分量b存储于本级行转换压缩矩阵的的位置,m 2代表本级行转换压缩矩阵中每一列近似值区间的个数(此处m 2=n),
对第一级行转换压缩矩阵的近似值区间部分的每一列完成列转换压缩和存储,得到第一级列转换压缩矩阵;
c.交替地对新生成矩阵的近似值区间部分进行行、列转换压缩,并且在接下来的行转换压缩过程中,需要将细节分量b存储于前一级列转换压缩矩阵的处,其中代表前一级列转换压缩矩阵中每一行近似值区间的个数,直到只剩下一个近似值区间为止,然后取剩余近似值区间内的任意一个值作为原始矩阵的最终近似值,生成的最终矩阵即为压缩矩阵。
3.根据权利要求1或2所述的基于转换压缩的最大误差图像压缩方法,其特征是,所述数据重构的具体步骤如下:
对于压缩矩阵:
按照与其生成过程相反的顺序,从左上角开始交替进行列还原和行还原,直至对n×n个像素进行行还原后就实现了数据的重构,所述列还原和行还原的具体方法如下:
每一级列还原的计算重构数据的通式如下:
式中,分别为本级列还原矩阵中存放位置为的重构数据,i为奇数;为在前一级行还原矩阵中存放位置在的重构数据,当进行第一级列还原时,为压缩矩阵中存放位置为处的数据;为在前一级行还原矩阵中位置为的数据,当进行第一级列还原时,为在压缩矩阵中位置为的数据;m 3为前一级行还原矩阵中需要还原的矩阵部分中每一列的数据个数,当进行第一级列还原时,m 3为压缩矩阵中需要还原的矩阵部分每一列的数据个数;
②每一级行还原的计算重构数据的通式如下:
式中,分别为在本级行还原矩阵中存放位置为(i,j)、(i,(j+1))的重构数据,j为奇数;为在本级列还原矩阵中存放位置为处的重构数据;为在本级列还原矩阵中存放位置为处的数据;m 4为本级列还原矩阵中需要还原的矩阵部分每一行的数据个数。
CN201410713005.9A 2014-11-29 2014-11-29 一种基于转换压缩的最大误差图像压缩方法 Active CN104394412B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410713005.9A CN104394412B (zh) 2014-11-29 2014-11-29 一种基于转换压缩的最大误差图像压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410713005.9A CN104394412B (zh) 2014-11-29 2014-11-29 一种基于转换压缩的最大误差图像压缩方法

Publications (2)

Publication Number Publication Date
CN104394412A true CN104394412A (zh) 2015-03-04
CN104394412B CN104394412B (zh) 2017-12-12

Family

ID=52612240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410713005.9A Active CN104394412B (zh) 2014-11-29 2014-11-29 一种基于转换压缩的最大误差图像压缩方法

Country Status (1)

Country Link
CN (1) CN104394412B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108648155A (zh) * 2018-05-07 2018-10-12 河北省科学院应用数学研究所 基于压缩域的图像增强方法及终端设备
CN108717687A (zh) * 2018-05-07 2018-10-30 河北省科学院应用数学研究所 基于转换压缩的图像增强方法及终端设备
CN110134813A (zh) * 2019-05-16 2019-08-16 河北省科学院应用数学研究所 图像检索方法、图像检索装置及终端设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7400772B1 (en) * 2003-05-20 2008-07-15 Sandia Corporation Spatial compression algorithm for the analysis of very large multivariate images
CN101431676A (zh) * 2008-12-08 2009-05-13 哈尔滨工程大学 带有最大压缩比寻优的几何不变矩图像压缩方法
CN104346819A (zh) * 2014-11-10 2015-02-11 石家庄开发区冀科双实科技有限公司 基于限定小波大纲的最大误差图像压缩方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7400772B1 (en) * 2003-05-20 2008-07-15 Sandia Corporation Spatial compression algorithm for the analysis of very large multivariate images
CN101431676A (zh) * 2008-12-08 2009-05-13 哈尔滨工程大学 带有最大压缩比寻优的几何不变矩图像压缩方法
CN104346819A (zh) * 2014-11-10 2015-02-11 石家庄开发区冀科双实科技有限公司 基于限定小波大纲的最大误差图像压缩方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHANG Q,ET AL: "On Multidimensional Wavelet Synopses for Maximum Error Bounds", 《DASFAA 2009 PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON DATABASE SYSTEMS FOR ADVANCED APPLICATIONS》 *
李晓云 等: "L∞准则的最大误差图像压缩算法", 《中国图象图形学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108648155A (zh) * 2018-05-07 2018-10-12 河北省科学院应用数学研究所 基于压缩域的图像增强方法及终端设备
CN108717687A (zh) * 2018-05-07 2018-10-30 河北省科学院应用数学研究所 基于转换压缩的图像增强方法及终端设备
CN110134813A (zh) * 2019-05-16 2019-08-16 河北省科学院应用数学研究所 图像检索方法、图像检索装置及终端设备

Also Published As

Publication number Publication date
CN104394412B (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN111754403B (zh) 一种基于残差学习的图像超分辨率重构方法
CN106991646B (zh) 一种基于密集连接网络的图像超分辨率方法
CN109903228B (zh) 一种基于卷积神经网络的图像超分辨率重建方法
CN109993096B (zh) 一种面向视频目标检测的光流多层帧特征传播及聚合方法
CN112884851B (zh) 基于展开迭代优化算法的深度压缩感知网络的构建方法
CN102332153B (zh) 基于核回归的图像压缩感知重构方法
CN104867119B (zh) 基于低秩矩阵重建的结构性缺失图像填充方法
CN109920013B (zh) 基于渐进式卷积测量网络的图像重构方法及装置
CN103369326B (zh) 适于高性能视频编码标准hevc的变换编码器
CN103473797B (zh) 基于压缩感知采样数据修正的空域可缩小图像重构方法
CN103338379B (zh) 一种基于机器学习的立体视频客观质量评价方法
CN104732535A (zh) 一种约束稀疏的非负矩阵分解方法
CN105787867A (zh) 基于神经网络算法的处理视频图像的方法和装置
CN103473744B (zh) 基于变权重式压缩感知采样的空域可缩小图像重构方法
CN108419083B (zh) 一种图像多级小波全子带压缩感知编码方法
Zhu et al. Generative adversarial image super‐resolution through deep dense skip connections
CN114677304A (zh) 一种基于知识蒸馏和深度神经网络的图像去模糊算法
CN104394412A (zh) 一种基于转换压缩的最大误差图像压缩方法
CN111986085A (zh) 一种基于深度反馈注意力网络系统的图像超分辨率方法
CN104282310A (zh) 一种针对MP3Stego隐写后的音频的隐写检测方法
CN111325697B (zh) 一种基于张量本征变换的彩色图像修复方法
CN113674172A (zh) 一种图像处理方法、系统、装置及存储介质
Niu et al. Machine learning-based framework for saliency detection in distorted images
CN113222998A (zh) 基于自监督低秩网络的半监督图像语义分割方法及装置
CN112288690A (zh) 一种融合多尺度多层级特征的卫星影像密集匹配方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Li Tongliang

Inventor after: Li Xiaoyun

Inventor after: Huang Shizhong

Inventor after: Pang Chaoyi

Inventor before: Li Tongliang

Inventor before: Li Xiaoyun

Inventor before: Huang Shizhong

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LI TONGLIANG LI XIAOYUN HUANG SHIZHONG TO: LI TONGLIANG LI XIAOYUN HUANG SHIZHONG PANG CHAOYI

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20161215

Address after: 050081 friendship Street, Shijiazhuang, Hebei, No. 46

Applicant after: APPLICATION MATHEMATICS INSTITUTE, HEBEI ACADEMY OF SCIENCES

Address before: 050081 Shijiazhuang, Hebei Province Bridge West Friendship South Street, No. 1, Hebei Academy of Sciences building, No. 46

Applicant before: Shijiazhuang Development Zone Jike Shangshi Sci-Tech Co., Ltd.

GR01 Patent grant
GR01 Patent grant