一种具有超高压缩比的图像数据压缩方法
技术领域
本发明涉及图像处理和信息安全传输技术领域,尤其是图像数据压缩方法,该方法通过对压缩后的图片进行算法处理,还原出原始的多幅图片。为了减少图像的存储空间或节省传输信道的带宽,对图像进行压缩处理。
背景技术
数字化视频信号的数据量是非常大的,比如,一幅具有中等分辨(640*480)的真彩色图像(24b/像素),它的数据量约为7.37Mb/帧,一个100M(Byte)的硬盘只能存放100帧图像。若要达到每秒25帧的全动态显示要求,每秒需要的数据量是184Mb,而且要求系统的数据传输率必须达到184Mb。因此,如果不对数据量庞大的视频信号进行处理,计算机系统几乎无法对它进行存取和交换。
随着数字通信技术和计算机技术的发展,数字压缩技术也已日臻成熟,适合各种场合的压缩方法不断产生。目前常用的压缩编码方法可以分为两大类:一类是无损压缩法,又称无失真压缩法或冗余压缩法。这种无损压缩去掉了数据中的冗余,但这些冗余是可以重新插入到数据中的,因此,无损压缩是可逆的过程。另一类是有损压缩法,又称为有失真压缩法或熵压缩法。这种有损压缩法压缩了熵,会减少信息量。因为熵定义为平均信息量,而损失的信息是不能再恢复的,因此这种压缩是不可逆的。无损压缩法由于不会产生失真,因此在多媒体技术中一般用于文本、数据的压缩,它能保证完全地恢复原始数据。但是,这种方法的压缩比较低,压缩比一般在2:1—5:1之间。有损压缩法由于允许有一定程度的失真,可用于对图像、声音、动态视频等数据的压缩。
目前,随着数学领域中新算法和理论的成熟,如小波变换理论、分形理论、神经网络理论等,更新更好的图像数据压缩方案不断地涌现。其中,压缩感知理论的出现,将传统的奈奎斯特采样定理这一金科玉律打破,人们可以通过对少量数据的采样来还原出完整的图像,这也预示着数据压缩比也将得到极大地提高。
发明内容
本发明的目的在于提供一种具有超高压缩比的图像数据压缩方法,该方法压缩比显著提高;压缩后图像经过TwIST算法反演出原始图像与压缩前图像对比保真度高。
本发明的目的是这样实现的:
一种具有超高压缩比的图像数据压缩方法,特点是该方法包括以下具体步骤:
步骤1:采集若干幅不同的原始图像;
步骤2:对若干幅不同的原始图像进行编码,形成若干幅编码图像;
步骤3:对若干幅编码图像在空间进行叠放,形成具有三维数据结构的图像;
步骤4:对三维数据结构的图像进行投影压缩,使得三维数据结构的图像成为一幅二维图像,此时的二维图像包含了原来所有二维原始图像的信息;
步骤5:通过TwIST算法对压缩后的二维图像进行解码,还原为若干幅不同的原始图像。所述对若干幅不同的原始图像进行编码,具体为:
a1:对若干幅不同的原始图像采用相同的编码矩阵进行编码;
a2:对若干幅不同的原始图像采用不同的编码矩阵进行编码。
所述对若干幅编码图像在空间进行叠放,按以下进行操作:
b1:编码矩阵相同的图像,要求每一幅编码后的图像在前后放置时有位置偏移,即前后叠放时后一幅较之前一幅有一个向下的位置移动,采用每次偏移一个像素的距离;
b2:编码矩阵不同的图像,直接前后依次叠放,无需上下位置偏移。
所述对三维数据结构的图像进行投影压缩是将叠放的三维图像沿着排列方向投影压缩到同一个平面上,则将三维数据的图像变为二维图像。
本发明针对要存储的若干幅图像,先对其进行编码,然后再叠放成具有三维数据结构的图像,接着对其沿着叠放的方向进行投影压缩后输出,输出的图像即压缩后的图像,最后通过解码过程能够重构出原始的图像。
数据压缩比为衡量数据压缩器压缩效率的质量指标,是指数据被压缩的比例。本发明中图像数据压缩比的定义如下:
其中,Nx×Ny为每幅原始图像的像素个数,Nz为排列三维结构的层次,也即图像的总张数;Ncol×Nrow为压缩后输出的像素个数。
原则上,进行压缩的原始图像的张数越多,这些图像的数据压缩比也会越高。
本发明的优点是:
⑴数据压缩比可以显著提高;
(2)压缩后图像经过TwIST算法反演出原始图像与压缩前图像对比保真度高;
(3)图像重构算法简单,实现容易,更关键的是还原度较好。
附图说明
图1为本发明的流程图;
图2为发明实施例对九幅静态图片压缩反演的示意图;
图3为本发明实施例具体实施过程示意图;
图4为本发明实施例叠放后图像的投影图。
具体实施方式
本发明公开了一种具有超高压缩比的图像数据压缩方法,参阅图1所示,本发明涉及的过程主要包括编码、叠放、压缩和解码。
以下结合附图和实施例进一步详细阐述本发明。
实施例
在本实施例中,处理九幅事先获得的静态的人脸灰度图像,每一幅图像的像素均为150*150。按照前述方法对其进行相关操作,如图2所示,左图(a)是原始图像,右图(b)为重构图像。对比原始图像和重构图像,在获得同样信息的时候,原始图像需要保存九幅图片的大小,而压缩后的图像只需保存一幅最终的压缩图像,大大提高了数据压缩比。
下面结合图3对本实施例的具体过程进行阐述。
如图3(a)所示,有九幅图像数据需要传输,每一幅图像的像素为150*150。先对每一幅图像X(i)进行编码,码文为C(i),对九幅不同的原始图像X(i)进行编码,具体为:
a1:对九幅不同的原始图像采用相同的编码矩阵进行编码;
a2:对九幅不同的原始图像采用不同的编码矩阵进行编码。
编码后得到的图像分别为Y(i),其中i的取值为1,2,3……9。接着将九幅编码后的图像Y(i)沿着第三个方向进行叠放,对九幅编码图像在空间进行叠放,按以下进行操作:
b1:编码矩阵相同的图像,要求每一幅编码后的图像在前后放置时有位置偏移,即前后叠放时后一幅较之前一幅有一个向下的位置移动,采用每次偏移一个像素的距离;
b2:编码矩阵不同的图像,直接前后依次叠放。
然后投影,对三维数据结构的图像进行投影压缩是将叠放的三维图像沿着排列方向投影压缩到同一个平面上,则将三维数据的图像变为二维图像。
最后可以压缩成一幅可通过算法复原的图像y。在这边,引入叠放算符A,投影算符P,整个过程可以从数学上表示为(令PAC=O):
Y=CX
y=PAY=PACX=OX
这就回归到了典型的压缩感知领域的反转问题。如图3(b)所示,在得到压缩图像y的基础上,结合编码的码文C(i),可以通过TwIST算法进行解码,最终还原出原始图像的信息。
虽然编码码文针对不同的图像信息进行编码的原理相同,但是编码矩阵的相同与否会决定在叠放时是否需要进行一个像素的位置偏移,所以下面按照编码C(i)是否相同分两种情况进一步阐述,分别对应图4中(a)偏移,(b)不偏移的两种叠放方式:
(1)编码C(i)相同
此时,九幅图片共享一个码文,也即图像同一个像素被编码的系数相同,在排列时要求将每一幅图片进行相应的偏移,否则压缩后的图像无法根据码文进行反转。最终压缩后的图片的像素应该为Ncol×Nrow=Nx×(Ny+Nz-1),
则相应的数据压缩比为:
(2)编码C(i)不同
当编码C(i)不同时,在对编码后的图片进行叠放时不需要进行偏移,直接在第三个方向上进行前后放置即可。压缩后的图片的像素和压缩前每幅图像的像素一样,相应的数据压缩比为:
在实际应用中,将编码C(i)设置为同一值占用的存储空间更小,而且可以对众多图像信息进行批量处理,是一种更高效率的数据压缩方式。在信息编码学中,可以一端人为进行编码后传递压缩后的图像,另一端采用算法进行解码还原;在图像成像领域,可以借助条纹相机的时间偏移特性实现图像的叠放,进一步通过内置的CCD成像屏实现图像的压缩,最终也是回归到算法进行一个图像的动态过程还原。不管是静态的多幅图像,还是单一场景的动态过程图,本发明都可以压缩信息存储的空间,具有超高的数据压缩比。
根据压缩感知理论(CS)的基础,类似于这种线性反转问题都是可以通过某种优化算法求出一个最优解的。结合TwIST算法,可以高保真度地重构出原始图像的信息。至此,本发明的可行性和优越性已经得到了充分证明,以上是9幅图片的压缩与解压缩的过程,当原始图像的数据越多时,就可以得到越高的数据压缩比。