本发明涉及计算机技术领域,特别涉及一种图像压缩方法及装置。
背景技术:
随着互联网技术的快速发展,为满足不同用户的文件传输需求,图像文件的格式也越发丰富。
目前,为缩小文件体积以方便传输,可以将原始文件有损压缩为jpg格式,或无损压缩为png格式。
但是,现有的图像压缩方法只能单一支持有损压缩或单一支持无损压缩,不能支持自定义图像压缩率。
技术实现要素:
本发明提供了一种图像压缩方法及装置,能够支持自定义图像压缩率。
为了达到上述目的,本发明是通过如下技术方案实现的:
一方面,本发明提供了一种图像压缩方法,包括:
获取包括有至少一个像素点的待压缩图像文件对应的原始位图数据;
根据所述原始位图数据中的每一个所述像素点对应的至少三类数据值,设置对应的至少三层数据层,其中,每一层所述数据层中包括有每一个所述像素点对应的一类数据值;
针对每一层所述数据层,分别设置其中的每一个数据值对应的空间几何体,以得到该数据层对应的数据空间结构;
针对每一个所述数据空间结构,均执行:在判断出该数据空间结构中的任意至少两个相邻的空间几何体相关联时,将相关联的空间几何体进行压缩处理,以生成压缩后的数据空间结构;
判断设定的图像压缩率是否对应于无损压缩,若是,输出所述压缩后的数据空间结构,否则,根据所述图像压缩率,对所述压缩后的数据空间结构进行相应程度的抹除处理,并输出抹除后的数据空间结构。
进一步地,所述至少三类数据值包括:R(red,红)值、G(green,绿)值和B(blue,蓝)值,或,R值、G值、B值和alpha通道值;
所述空间几何体为正方体,且所述正方体的8个顶点顺序标记有该正方体对应的数据值的八位二进制数。
进一步地,所述在判断出该数据空间结构中的任意至少两个相邻的空间几何体相关联时,将相关联的空间几何体进行压缩处理,包括:在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体相同时,将该两个空间几何体相堆叠,在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体间的几何体表面相同时,将该两个空间几何体相融合。
进一步地,所述在判断出该数据空间结构中的任意至少两个相邻的空间几何体相关联时,将相关联的空间几何体进行压缩处理,包括:在判断出该数据空间结构中的位于同一列的任意两个相邻的空间几何体相同时,将该两个空间几何体相堆叠,在判断出该数据空间结构中的位于同一列的任意两个相邻的空间几何体间的几何体表面相同时,将该两个空间几何体相融合。
进一步地,所述图像压缩率为1至100中的任一数值,其中,100对应于无损压缩,1至99中的任一数值均对应于有损压缩;
通过所述将相关联的空间几何体进行压缩处理,得到相应的已压缩空间几何体;
对应地,所述压缩后的数据空间结构中,包括有第一数量的所述已压缩空间几何体和第二数量的未压缩空间几何体,且所述第一数量和所述第二数量不同时为0;
所述根据所述图像压缩率,对所述压缩后的数据空间结构进行相应程度的抹除处理,包括:所述图像压缩率为99时,将所述未压缩空间几何体进行抹除;所述图像压缩率为1至98中的任一目标数值时,将所述未压缩空间几何体和所述已压缩空间几何体中的目标已压缩空间几何体进行抹除,其中,所述目标已压缩空间几何体由数量不多于目的数值的空间几何体经压缩处理而得到,且所述目的数值为100减去所述目标数值的差值。
进一步地,针对每一层所述数据层,每一个所述像素点在所述图像文件中的相对位置,与该像素点对应的数据值在该数据层中的相对位置保持一致;且其中的每一个数据值在该数据层中的相对位置,与该数据值对应的空间几何体在相应数据空间结构中的相对位置保持一致。
进一步地,所述获取包括有至少一个像素点的待压缩图像文件对应的原始位图数据,包括:初始化预先设置的多维化图像处理模块,利用所述多维化图像处理模块读取包括有至少一个像素点的待压缩图像文件,并根据所述图像文件的文件格式对应的算法,对所述图形文件进行转换,以获取到所述图像文件对应的原始位图数据。
另一方面,本发明提供了一种图像压缩装置,包括:
获取单元,用于获取包括有至少一个像素点的待压缩图像文件对应的原始位图数据;
数据层设置单元,用于根据所述原始位图数据中的每一个所述像素点对应的至少三类数据值,设置对应的至少三层数据层,其中,每一层所述数据层中包括有每一个所述像素点对应的一类数据值;
数据空间结构设置单元,用于针对每一层所述数据层,分别设置其中的每一个数据值对应的空间几何体,以得到该数据层对应的数据空间结构;
数据空间结构压缩单元,用于针对每一个所述数据空间结构,均执行:在判断出该数据空间结构中的任意至少两个相邻的空间几何体相关联时,将相关联的空间几何体进行压缩处理,以生成压缩后的数据空间结构;
处理单元,用于判断设定的图像压缩率是否对应于无损压缩,若是,输出所述压缩后的数据空间结构,否则,根据所述图像压缩率,对所述压缩后的数据空间结构进行相应程度的抹除处理,并输出抹除后的数据空间结构。
进一步地,所述数据空间结构压缩单元,具体用于在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体相同时,将该两个空间几何体相堆叠,在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体间的几何体表面相同时,将该两个空间几何体相融合。
进一步地,所述数据空间结构压缩单元,具体用于在判断出该数据空间结构中的位于同一列的任意两个相邻的空间几何体相同时,将该两个空间几何体相堆叠,在判断出该数据空间结构中的位于同一列的任意两个相邻的空间几何体间的几何体表面相同时,将该两个空间几何体相融合。
进一步地,所述图像压缩率为1至100中的任一数值,其中,100对应于无损压缩,1至99中的任一数值均对应于有损压缩;
所述数据空间结构压缩单元,具体用于通过执行所述将相关联的空间几何体进行压缩处理,得到相应的已压缩空间几何体;
对应地,所述压缩后的数据空间结构中,包括有第一数量的所述已压缩空间几何体和第二数量的未压缩空间几何体,且所述第一数量和所述第二数量不同时为0;
所述处理单元,具体用于所述图像压缩率为99时,将所述未压缩空间几何体进行抹除;所述图像压缩率为1至98中的任一目标数值时,将所述未压缩空间几何体和所述已压缩空间几何体中的目标已压缩空间几何体进行抹除,其中,所述目标已压缩空间几何体由数量不多于目的数值的空间几何体经压缩处理而得到,且所述目的数值为100减去所述目标数值的差值。
进一步地,所述获取单元,具体用于初始化预先设置的多维化图像处理模块,利用所述多维化图像处理模块读取包括有至少一个像素点的待压缩图像文件,并根据所述图像文件的文件格式对应的算法,对所述图形文件进行转换,以获取到所述图像文件对应的原始位图数据。
本发明提供了一种图像压缩方法及装置,获取包括有至少一个像素点的待压缩图像文件的原始位图数据,并根据其中的各像素点的至少三类数据值,设置对应的至少三层数据层;针对每一层数据层,分别设置其中的各数据值对应的空间几何体,以得到该数据层对应的数据空间结构;针对每一个数据空间结构,将其中的相关联的空间几何体进行压缩处理;在判断出设定的图像压缩率对应于无损压缩时,输出压缩后的数据空间结构,否则,根据图像压缩率对压缩后的数据空间结构进行相应程度的抹除处理,并输出抹除后的数据空间结构。基于设定的图像压缩率,可以对图像文件执行相应处理,以达到图像压缩的效果。因此,本发明能够支持自定义图像压缩率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种图像压缩方法的流程图;
图2是本发明一实施例提供的一种空间几何体相堆叠的示意图;
图3是本发明一实施例提供的一种空间几何体相融合的示意图;
图4是本发明一实施例提供的另一种图像压缩方法的流程图;
图5是本发明一实施例提供的一种图像压缩装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种图像压缩方法,可以包括以下步骤:
步骤101:获取包括有至少一个像素点的待压缩图像文件对应的原始位图数据。
步骤102:根据所述原始位图数据中的每一个所述像素点对应的至少三类数据值,设置对应的至少三层数据层,其中,每一层所述数据层中包括有每一个所述像素点对应的一类数据值。
步骤103:针对每一层所述数据层,分别设置其中的每一个数据值对应的空间几何体,以得到该数据层对应的数据空间结构。
步骤104:针对每一个所述数据空间结构,均执行:在判断出该数据空间结构中的任意至少两个相邻的空间几何体相关联时,将相关联的空间几何体进行压缩处理,以生成压缩后的数据空间结构。
步骤105:判断设定的图像压缩率是否对应于无损压缩,若是,输出所述压缩后的数据空间结构,否则,根据所述图像压缩率,对所述压缩后的数据空间结构进行相应程度的抹除处理,并输出抹除后的数据空间结构。
本发明实施例提供了一种图像压缩方法,获取包括有至少一个像素点的待压缩图像文件的原始位图数据,并根据其中的各像素点的至少三类数据值,设置对应的至少三层数据层;针对每一层数据层,分别设置其中的各数据值对应的空间几何体,以得到该数据层对应的数据空间结构;针对每一个数据空间结构,将其中的相关联的空间几何体进行压缩处理;在判断出设定的图像压缩率对应于无损压缩时,输出压缩后的数据空间结构,否则,根据图像压缩率对压缩后的数据空间结构进行相应程度的抹除处理,并输出抹除后的数据空间结构。基于设定的图像压缩率,可以对图像文件执行相应处理,以达到图像压缩的效果。因此,本发明实施例能够支持自定义图像压缩率。
在本发明的一个实施例中,所述至少三类数据值包括:R值、G值和B值,或,R值、G值、B值和alpha通道值;
所述空间几何体为正方体,且所述正方体的8个顶点顺序标记有该正方体对应的数据值的八位二进制数。
详细地,图像文件对应的原始位图数据可以包括:图像文件的分辨率、图像文件中的各像素点的RGB值,以及各像素点的alpha通道值等。其中,alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息。
假设待压缩图像文件的分辨率为500像素×500像素,可以说明该图像文件的每一行均包括有500个像素点,每一列均包括有500个像素点,该图像文件共包括有250000个像素点。其中,每一个像素点均对应存在一个RGB值。当然,特定情况下,每一个像素点还可以对应存在一个alpha通道值。
在本发明一个实施例中,当每一个像素点的至少三类数据值包括:R值、G值和B值时,建立的三层数据层可以分别为R数据层、G数据层、B数据层。其中,R数据层包括有每一个像素点的R值,G数据层包括有每一个像素点的G值,B数据层包括有每一个像素点的B值。
对应地,当每一个像素点的至少三类数据值中还包括有alpha通道值时,建立的数据层还可以包括alpha通道数据层,其中,该数据层包括有每一个像素点的alpha通道值。
详细地,对于RGB值,或称颜色值来说,可以由24位来表示一个像素点的颜色值,其中,该颜色值包括三个字节,且一字节8位。例如,纯红色的颜色值写作二进制就是:11111111 00000000 00000000,纯绿色的颜色值写作二进制就是:00000000 11111111 00000000,纯蓝色的颜色值写作二进制就是:00000000 00000000 11111111。
以纯红色的某一像素点为例来说,其R值为11111111、G值为00000000、B值为00000000,故R值对应的正方体的8个顶点上的标记值均为1,G值对应的正方体的8个顶点上的标记值均为0,B值对应的正方体的8个顶点上的标记值均为0。
详细地,对于每一层数据层,通过设置该数据层中的每一个数据值对应的空间几何体,如可以为上述正方体,可以建立该数据层对应的由各空间几何体组成的数据空间结构。
优选地,在本发明一个实施例中,针对每一层所述数据层,每一个所述像素点在所述图像文件中的相对位置,与该像素点对应的数据值在该数据层中的相对位置保持一致;且其中的每一个数据值在该数据层中的相对位置,与该数据值对应的空间几何体在相应数据空间结构中的相对位置保持一致。
举例来说,若图像文件中的第一行第二列处的像素点a1b2为纯红色,该像素点a1b2的颜色值二进制为11111111 00000000 00000000,则建立的与R值对应的数据层中,第一行第二列处的数据值a1b2为11111111,同时,建立的与该数据层对应的数据空间机构中,第一行第二列处的空间几何体a1b2的8个顶点均标记为1。
本发明实施例中,通过将任一像素点在图像文件中的相对位置、该像素点的数据值在相应数据层中的相对位置、该数据值对应的空间几何体在相应数据空间结构中的相对位置保持一致,能够便于图像文件压缩处理过程中相关数据的记录、各数据层和各数据空间结构的规律性创建、以及压缩操作和对应的解压缩操作的执行。
在本发明一个实施例中,为了说明一种压缩数据空间结构的可能实现方式,所以,所述在判断出该数据空间结构中的任意至少两个相邻的空间几何体相关联时,将相关联的空间几何体进行压缩处理,包括:在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体相同时,将该两个空间几何体相堆叠,在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体间的几何体表面相同时,将该两个空间几何体相融合。
详细地,对于任一图像文件来说,两个相邻像素点的RGB值相同的情况较为常见。对于RGB值相同的两个相邻像素点,建立的数据空间结构中,对应地两个相邻空间几何体相同,故可以将其相堆叠。这一空间几何体相堆叠的实现方式可以如图2所示。在图2中,两个完全相同的空间几何体可以堆叠为同一空间几何体。
当然,基于同样的实现原理,任意相邻的两个空间几何体相同时,均可以相堆叠。如此,连续相邻的n个空间几何体均相同时,可以堆叠为一个空间几何体。对应地,基于记录的堆叠信息,在对压缩后的图像文件解压缩时,可以根据该堆叠信息对相堆叠的空间几何体进行顺序展开。
对应地,建立的数据空间结构中,两个相邻的空间几何体间的几何体表面相同时,可以将其相融合。这一空间几何体相融合的实现方式可以如图3所示。在图3中,左侧空间几何体和右侧空间几何体间的几何体表面上的4个标记值呈镜面对称,故可以将两者相融合。融合前的两个空间几何体的标记值均为8个,融合后的空间几何体的标记值为12个,较融合前相应减少4个。
当然,基于同样的实现原理,任意相邻的两个空间几何体间的几何体表面相同时,均可以相融合。如此,若连续相邻的n个空间几何体中,任意相邻的两个空间几何体间的几何体表面均相同时,该n个空间几何体可以融合为一个整体的空间几何体。对应地,基于记录的融合信息,在对压缩后的图像文件解压缩时,可以根据该融合信息对相融合的空间几何体进行顺序展开。
详细地,为便于堆叠信息和融合信息的记录,以及便于图像文件解压缩时,堆叠后的空间几何体和融合后的空间几何体实现快速准确的分解,如上所述的堆叠操作和融合操作均基于同一行或同一列进行执行。
本发明实施例中,压缩数据空间结构的可能实现方式是基于同一行进行执行的。
在本发明一个实施例中,基于上述内容,在对数据空间结构中的每一行进行压缩后,针对压缩后的数据空间结构的每一列,利用相同的实现原理,可以进一步对该每一列进行再次压缩,即同一列中任意两个相邻的空间几何体相同时,将其相堆叠,同一列中任意两个相邻的空间几何体间的几何体表面相同时,将其相融合。
对应地,在本发明一个实施例中,为了说明另一种压缩数据空间结构的可能实现方式,所以,所述在判断出该数据空间结构中的任意至少两个相邻的空间几何体相关联时,将相关联的空间几何体进行压缩处理,包括:在判断出该数据空间结构中的位于同一列的任意两个相邻的空间几何体相同时,将该两个空间几何体相堆叠,在判断出该数据空间结构中的位于同一列的任意两个相邻的空间几何体间的几何体表面相同时,将该两个空间几何体相融合。
本发明实施例中,压缩数据空间结构的可能实现方式是基于同一列进行执行的,相应的执行过程与基于同一列的执行过程可以基于相同的实现原理,故在此不做重复赘述。
在本发明一个实施例中,基于上述内容,在对数据空间结构中的每一列进行压缩后,针对压缩后的数据空间结构的每一行,利用相同的实现原理,可以进一步对该每一行进行再次压缩,即同一行中任意两个相邻的空间几何体相同时,将其相堆叠,同一行中任意两个相邻的空间几何体间的几何体表面相同时,将其相融合。
本发明实施例中,根据压缩过程的实现顺序,在执行相应的解压缩操作时,可以根据与该实现顺序相反的顺序依次解压缩,以获得原始的数据空间结构,进而获得原始的图像文件。
在本发明一个实施例中,为了说明一种根据图像压缩率对压缩后的数据空间结构进行相应程度抹除处理的可能实现方式,所以,所述图像压缩率为1至100中的任一数值,其中,100对应于无损压缩,1至99中的任一数值均对应于有损压缩;
通过所述将相关联的空间几何体进行压缩处理,得到相应的已压缩空间几何体;
对应地,所述压缩后的数据空间结构中,包括有第一数量的所述已压缩空间几何体和第二数量的未压缩空间几何体,且所述第一数量和所述第二数量不同时为0;
所述根据所述图像压缩率,对所述压缩后的数据空间结构进行相应程度的抹除处理,包括:所述图像压缩率为99时,将所述未压缩空间几何体进行抹除;所述图像压缩率为1至98中的任一目标数值时,将所述未压缩空间几何体和所述已压缩空间几何体中的目标已压缩空间几何体进行抹除,其中,所述目标已压缩空间几何体由数量不多于目的数值的空间几何体经压缩处理而得到,且所述目的数值为100减去所述目标数值的差值。
详细地,对相关联的空间几何体进行压缩处理,要求该相关联的空间几何体的个数为至少两个。若某一空间几何体与相邻的任一空间几何体均不相关联,故其不能被压缩,故可以作为未压缩空间几何体存在于压缩后的数据空间结构中。
详细地,图像压缩率为1至100中的任一数值,100对应于无损压缩,1至99均对应于有损压缩。其中,数值越高,被抹除的已压缩空间几何体越少,图像文件的损失率相对越低。
举例来说,若确定的图像压缩率为100,100对应于无损压缩,故不执行抹除处理,保留所有的未压缩空间几何体,即单个的原空间几何体。
若确定的图像压缩率为99,则可以将所有的未压缩空间几何体抹除掉。
若确定的图像压缩率为90,则不仅可以将所有的未压缩空间几何体抹除掉,同时可以将由不多于10个空间几何体经压缩处理而得到的已压缩空间几何体抹除掉。例如,若存在9个相邻的空间几何体相关联,可以将该9个空间几何体压缩为一个已压缩空间几何体。图像压缩率为90,需要将该已压缩空间几何体抹除掉。
如此,综合来说,若确定的图像压缩率为1至98中的任一数值X时,可以将所有的未压缩空间几何体抹除掉,以及将由不多于Y个空间几何体经压缩处理而得到的已压缩空间几何体抹除掉。其中,Y=100-X。
在本发明一个实施例中,为了说明一种获取原始位图数据的可能实现方式,所以,所述获取包括有至少一个像素点的待压缩图像文件对应的原始位图数据,包括:初始化预先设置的多维化图像处理模块,利用所述多维化图像处理模块读取包括有至少一个像素点的待压缩图像文件,并根据所述图像文件的文件格式对应的算法,对所述图形文件进行转换,以获取到所述图像文件对应的原始位图数据。
详细地,可以预先建立多维化图像处理模块。当需要获取原始位图数据时,首先初始化该多维化图像处理模块,以读取需要处理的待压缩图像文件。其中,初始化工作可以包括数据空间的创建、相关参数的初始化设定,如设定数据空间的大小等。
通过读取图像文件,可以确定该图形文件的文件格式,故可以选择该文件格式对应的算法,将该图像文件转换为原始位图数据。详细地,不同的文件格式可以对应于不同的算法。
如图4所示,本发明一个实施例提供了另一种图像压缩方法,具体包括以下步骤:
步骤401:初始化预先设置的多维化图像处理模块,利用多维化图像处理模块读取包括有至少一个像素点的待压缩图像文件。
详细地,初始化工作可以包括数据空间的创建、相关参数的初始化设定,如设定数据空间的大小等。
步骤402:根据图像文件的文件格式对应的算法,对图形文件进行转换,以获取图像文件对应的原始位图数据。
详细地,原始位图数据可以包括:图像文件的分辨率、图像文件中的各像素点的RGB值,以及各像素点的alpha通道值等。例如,本发明实施例中的原始位图数据可以包括分辨率、各像素点的RGB值。
详细地,不同的文件格式通常对应于不同的算法。
步骤403:根据原始位图数据中的每一个像素点对应的三类数据值,设置对应的三层数据层,其中,每一层数据层中包括有每一个像素点对应的一类数据值。
详细地,每一个像素点对应的三类数据值可以为R值、G值、B值。其中,根据每一个像素点的R值可以设置一层数据层,根据每一个像素点的G值可以设置另一层数据层,根据每一个像素点的B值可以设置又一层数据层。
步骤404:针对每一层数据层,分别设置其中的每一个数据值对应的空间几何体,以得到该数据层对应的数据空间结构。
详细地,该空间几何体可以为正方体,且正方体的8个顶点顺序标记有该正方体对应的数据值的八位二进制数。
详细地,针对每一层数据层,每一个像素点在图像文件中的相对位置,与该像素点对应的数据值在该数据层中的相对位置保持一致;且其中的每一个数据值在该数据层中的相对位置,与该数据值对应的空间几何体在相应数据空间结构中的相对位置保持一致。
步骤405:针对每一个数据空间结构,均执行:在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体相同时,将其相堆叠,在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体间的几何体表面相同时,将其相融合,以生成压缩后的数据空间结构,其中,该压缩后的数据空间结构中包括有第一数量的已压缩空间几何体和第二数量的未压缩空间几何体。
详细的,通过将相关联的空间几何体进行压缩处理,可以得到相应的已压缩空间几何体。对应地,压缩后的数据空间结构中,可以包括有第一数量的已压缩空间几何体和第二数量的未压缩空间几何体,且第一数量和第二数量不同时为0。
步骤406:判断设定的图像压缩率是否对应于无损压缩,若是,输出压缩后的数据空间结构,否则,执行步骤407。
详细地,图像压缩率可以为1至100中的任一数值,其中,100对应于无损压缩,1至99中的任一数值均对应于有损压缩。
步骤407:在确定出图像压缩率为99时,将第二数量的未压缩空间几何体进行抹除,图像压缩率为1至98中的任一目标数值时,将第二数量的未压缩空间几何体和第一数量的已压缩空间几何体中的目标已压缩空间几何体进行抹除,并输出抹除后的数据空间结构。
详细地,目标已压缩空间几何体,可以由数量不多于目的数值的空间几何体经压缩处理而得到,且目的数值为100减去目标数值的差值。
综上所述,本发明实施例可以使用多维化技术以通过分割图像色彩分段信息来达成图像文件压缩的目的。这一实现方式不仅可以提高图像文件的无损压缩率,亦可以根据实际需要而灵活选择输出文件的质量,因此在处理和保存各种图像文件,如证件扫描文件或相关照片时,可以最大程度的保证图像内容的真实性和完整性,在金融、安全等相关行业中具有极大的市场价值。
如图5所示,本发明一个实施例提供了一种图像压缩装置,包括:
获取单元501,用于获取包括有至少一个像素点的待压缩图像文件对应的原始位图数据;
数据层设置单元502,用于根据所述原始位图数据中的每一个所述像素点对应的至少三类数据值,设置对应的至少三层数据层,其中,每一层所述数据层中包括有每一个所述像素点对应的一类数据值;
数据空间结构设置单元503,用于针对每一层所述数据层,分别设置其中的每一个数据值对应的空间几何体,以得到该数据层对应的数据空间结构;
数据空间结构压缩单元504,用于针对每一个所述数据空间结构,均执行:在判断出该数据空间结构中的任意至少两个相邻的空间几何体相关联时,将相关联的空间几何体进行压缩处理,以生成压缩后的数据空间结构;
处理单元505,用于判断设定的图像压缩率是否对应于无损压缩,若是,输出所述压缩后的数据空间结构,否则,根据所述图像压缩率,对所述压缩后的数据空间结构进行相应程度的抹除处理,并输出抹除后的数据空间结构。
在本发明一个实施例中,所述至少三类数据值包括:R值、G值和B值,或,R值、G值、B值和alpha通道值;
所述空间几何体为正方体,且所述正方体的8个顶点顺序标记有该正方体对应的数据值的八位二进制数。
在本发明一个实施例中,针对每一层所述数据层,每一个所述像素点在所述图像文件中的相对位置,与该像素点对应的数据值在该数据层中的相对位置保持一致;且其中的每一个数据值在该数据层中的相对位置,与该数据值对应的空间几何体在相应数据空间结构中的相对位置保持一致。
在本发明一个实施例中,所述数据空间结构压缩单元504,具体用于在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体相同时,将该两个空间几何体相堆叠,在判断出该数据空间结构中的位于同一行的任意两个相邻的空间几何体间的几何体表面相同时,将该两个空间几何体相融合。
在本发明一个实施例中,所述数据空间结构压缩单元504,具体用于在判断出该数据空间结构中的位于同一列的任意两个相邻的空间几何体相同时,将该两个空间几何体相堆叠,在判断出该数据空间结构中的位于同一列的任意两个相邻的空间几何体间的几何体表面相同时,将该两个空间几何体相融合。
在本发明一个实施例中,所述图像压缩率为1至100中的任一数值,其中,100对应于无损压缩,1至99中的任一数值均对应于有损压缩;
所述数据空间结构压缩单元504,具体用于通过执行所述将相关联的空间几何体进行压缩处理,得到相应的已压缩空间几何体;
对应地,所述压缩后的数据空间结构中,包括有第一数量的所述已压缩空间几何体和第二数量的未压缩空间几何体,且所述第一数量和所述第二数量不同时为0;
所述处理单元505,具体用于所述图像压缩率为99时,将所述未压缩空间几何体进行抹除;所述图像压缩率为1至98中的任一目标数值时,将所述未压缩空间几何体和所述已压缩空间几何体中的目标已压缩空间几何体进行抹除,其中,所述目标已压缩空间几何体由数量不多于目的数值的空间几何体经压缩处理而得到,且所述目的数值为100减去所述目标数值的差值。
在本发明一个实施例中,所述获取单元501,具体用于初始化预先设置的多维化图像处理模块,利用所述多维化图像处理模块读取包括有至少一个像素点的待压缩图像文件,并根据所述图像文件的文件格式对应的算法,对所述图形文件进行转换,以获取到所述图像文件对应的原始位图数据。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上所述,本发明的各个实施例至少具有如下有益效果:
1、本发明实施例中,获取包括有至少一个像素点的待压缩图像文件的原始位图数据,并根据其中的各像素点的至少三类数据值,设置对应的至少三层数据层;针对每一层数据层,分别设置其中的各数据值对应的空间几何体,以得到该数据层对应的数据空间结构;针对每一个数据空间结构,将其中的相关联的空间几何体进行压缩处理;在判断出设定的图像压缩率对应于无损压缩时,输出压缩后的数据空间结构,否则,根据图像压缩率对压缩后的数据空间结构进行相应程度的抹除处理,并输出抹除后的数据空间结构。基于设定的图像压缩率,可以对图像文件执行相应处理,以达到图像压缩的效果。因此,本发明实施例能够支持自定义图像压缩率。
2、本发明实施例中,可以使用多维化技术以通过分割图像色彩分段信息来达成图像文件压缩的目的。这一实现方式不仅可以提高图像文件的无损压缩率,亦可以根据实际需要而灵活选择输出文件的质量,因此在处理和保存各种图像文件,如证件扫描文件或相关照片时,可以最大程度的保证图像内容的真实性和完整性,在金融、安全等相关行业中具有极大的市场价值。
3、本发明实施例中,通过将任一像素点在图像文件中的相对位置、该像素点的数据值在相应数据层中的相对位置、该数据值对应的空间几何体在相应数据空间结构中的相对位置保持一致,能够便于图像文件压缩处理过程中相关数据的记录、各数据层和各数据空间结构的规律性创建、以及压缩操作和对应的解压缩操作的执行。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。