一种图像压缩方法、装置、电子设备及存储介质

文档序号:156338 发布日期:2021-10-26 浏览:35次 >En<

阅读说明:本技术 一种图像压缩方法、装置、电子设备及存储介质 (Image compression method and device, electronic equipment and storage medium ) 是由 黄云 于 2021-07-21 设计创作,主要内容包括:本发明实施例公开了一种图像压缩方法、装置、电子设备及存储介质。该图像压缩方法可以具体包括以下步骤:获取待压缩图像;确定所述待压缩图像的目标编码组;其中,所述目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;根据所述目标编码组中的所述第一编码方法和/或所述第三编码方法对所述待压缩图像进行编码压缩处理,得到编码结果参数;根据所述目标编码组中的所述第二编码方法对所述编码结果参数中的目标编码结果参数再次进行编码压缩处理。本发明实施例的技术方案能够实现图像的无损压缩,提高图像压缩速率和图像压缩比例,进而提高图像的压缩效果。(The embodiment of the invention discloses an image compression method, an image compression device, electronic equipment and a storage medium. The image compression method may specifically include the steps of: acquiring an image to be compressed; determining a target coding group of the image to be compressed; wherein the target encoding group comprises a first encoding method and a second encoding method, and/or a third encoding method and a second encoding method; performing coding compression processing on the image to be compressed according to the first coding method and/or the third coding method in the target coding group to obtain a coding result parameter; and coding and compressing the target coding result parameters in the coding result parameters again according to the second coding method in the target coding group. The technical scheme of the embodiment of the invention can realize the lossless compression of the image, improve the image compression rate and the image compression ratio and further improve the image compression effect.)

一种图像压缩方法、装置、电子设备及存储介质

技术领域

本发明实施例涉及图像处理技术领域,尤其涉及一种图像压缩方法、装置、电子设备及存储介质。

背景技术

图像压缩的目的是以尽量少的比特数表征图像,同时尽可能好的保持复原图像的质量,使它符合预定应用场合的要求。

现有图像压缩方法包括无损图像压缩方法和有损图像压缩方法。然而现有有损图像压缩方法的图像压缩比例较高,会造成图像的压缩失真,使得图像压缩效果较差;现有无损图像压缩方法的图像压缩速率较慢,图像压缩比例较低,且压缩后的图像压缩效果较差。

发明内容

本发明实施例提供一种图像压缩方法、装置、电子设备及存储介质,能够实现图像的无损压缩,提高图像压缩速率和图像压缩比例,进而提高图像的压缩效果。

第一方面,本发明实施例提供了一种图像压缩方法,包括:

获取待压缩图像;

确定所述待压缩图像的目标编码组;其中,所述目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;

根据所述目标编码组中的所述第一编码方法和/或所述第三编码方法对所述待压缩图像进行编码压缩处理,得到编码结果参数;

根据所述目标编码组中的所述第二编码方法对所述编码结果参数中的目标编码结果参数再次进行编码压缩处理。

第二方面,本发明实施例还提供了一种图像压缩装置,包括:

待压缩图像获取模块,用于获取待压缩图像;

目标编码组确定模块,用于确定所述待压缩图像的目标编码组;其中,所述目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;

编码结果参数获取模块,用于根据所述目标编码组中的所述第一编码方法和/或所述第三编码方法对所述待压缩图像进行编码压缩处理,得到编码结果参数;

编码压缩处理模块,用于根据所述目标编码组中的所述第二编码方法对所述编码结果参数中的目标编码结果参数再次进行编码压缩处理。

第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的图像压缩方法。

第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的图像压缩方法。

本发明实施例通过获取待压缩图像,确定待压缩图像的目标编码组,且目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;再根据目标编码组中的第一编码方法和/或第三编码方法对待压缩图像进行编码压缩处理,从而得到编码结果参数,以根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,解决现有无损压缩方法的图像压缩速率慢、图像压缩比例低、且压缩后的图像压缩效果差等问题,实现图像的无损压缩,提高图像压缩速率和图像压缩比例,进而提高图像的压缩效果。

附图说明

图1是本发明实施例一提供的一种图像压缩方法的流程图;

图2是本发明实施例二提供的一种图像压缩方法的流程图;

图3是本发明实施例二提供的二叉树形式的取值范围权重排序路径结果的示意图;

图4是本发明实施例三提供的一种图像压缩方法的流程图;

图5是本发明实施例四提供的一种图像压缩装置的示意图;

图6为本发明实施例五提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。

另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将地各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

本发明实施例的说明书和权利要求书及附图中的术语“第一”、“第二”和“第三”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

实施例一

图1是本发明实施例一提供的一种图像压缩方法的流程图,本实施例可适用于采用一个编码方法对图像进行编码压缩处理得到编码参数后,再利用另外一个编码方法进一步对编码参数再次进行编码处理,以实现对图像的整体编码压缩处理的情况,该方法可以由图像压缩装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在执行本方法的电子设备中。如图1所示,图像压缩方法具体可以包括以下步骤:

S110、获取待压缩图像。

其中,待压缩图像可以是需要进行压缩的图像,例如可以是人像图像,也可以是车辆图像,或者还可以是风景图像等,本发明实施例对待压缩图像的具体图像内容并不进行限制。

在本发明实施例中,获取待压缩图像可以是获取数据库中存储的待压缩图像,也可以是获取实时拍摄的待压缩图像等,本发明实施例对此并不进行限制。

S120、确定所述待压缩图像的目标编码组;其中,所述目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法。

其中,目标编码组可以是对待压缩图像进行压缩的多个编码方法构成的组。第一编码方法可以是对待压缩图像进行压缩的一种编码方法,例如可以是行程编码方法或算术编码方法等,本发明实施例对此并不进行限制。第二编码方法可以是对待压缩图像进行压缩的另一种编码方法,例如可以是哈夫曼编码方法或香农编码等,本发明实施例对此并不进行限制。第三编码方法可以是对待压缩图像进行压缩的又一种编码方法,例如可以是差分编码方法或统计编码等,本发明实施例对此并不进行限制。

在本发明实施例中,在获取待压缩图像之后,可以进一步确定待压缩图像的目标编码组,以便确定对待压缩图像进行编码压缩处理时所采用的编码方法。具体的,可以将第一编码方法和第二编码方法作为第一编码组,将第三编码方法和第二编码方法作为第二编码组,则目标编码组可以包括第一编码组或第二编码组,或者,目标编码组还可以同时包括第一编码组和第二编码组。

S130、根据所述目标编码组中的所述第一编码方法和/或所述第三编码方法对所述待压缩图像进行编码压缩处理,得到编码结果参数。

其中,编码压缩处理可以是对待压缩图像进行编码压缩处理,以实现待压缩图像的压缩。编码结果参数可以是对待压缩图像进行编码压缩处理后得到的编码结果中的参数。

在本发明实施例中,在确定待压缩图像的目标编码组之后,可以进一步根据目标编码组中的第一编码方法和第三编码方法中的至少一种方法对待压缩图像进行编码压缩处理,从而得到编码结果,进而得到编码结果中的编码结果参数。示例性的,如果采用行程编码方法对待压缩图像进行编码压缩处理,那么编码压缩处理后得到的编码结果是(L1,Data),其中L1表示连续相同像素点的像素点个数,Data表示连续相同像素点的像素值,则编码结果参数可以包括L1和Data中的至少一项。如果采用差分编码方法对待压缩图像进行编码压缩处理,那么编码压缩处理后得到的编码结果是(L2,Base,Differ[,Differ*]),其中L2表示连续不同像素点的像素点个数,Base表示连续不同像素点中的像素值基值,Differ表示像素点与前一个像素点之间的像素值差值,则编码结果参数可以包括L2、Base和Differ中的至少一项。

S140、根据所述目标编码组中的所述第二编码方法对所述编码结果参数中的目标编码结果参数再次进行编码压缩处理。

其中,目标编码结果参数可以是编码结果参数中的任意一个或多个参数,本发明实施例对此并不进行限制。

在本发明实施例中,在得到编码结果参数之后,可以进一步根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,从而提高待压缩图像的压缩比例。示例性的,根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,可以是根据哈夫曼编码方法对行程编码方法的编码结果参数L1再次进行编码压缩处理,或者也可以是根据哈夫曼编码方法对差分编码方法的编码结果参数L2再次进行编码压缩处理等,本发明实施例对此并不进行限制。

本实施例的技术方案,通过获取待压缩图像,确定待压缩图像的目标编码组,且目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;再根据目标编码组中的第一编码方法和/或第三编码方法对待压缩图像进行编码压缩处理,从而得到编码结果参数,以根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,解决现有无损压缩方法的图像压缩速率慢、图像压缩比例低、且压缩后的图像压缩效果差等问题,实现图像的无损压缩,提高图像压缩速率和图像压缩比例,进而提高图像的压缩效果。

实施例二

图2是本发明实施例二提供的一种图像压缩方法的流程图,本实施例是对上述各技术方案的进一步细化,给出了根据目标编码组中的第一编码方法和第三编码方法对待压缩图像进行编码压缩处理,以及根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理的多种具体可选的实现方式。本实施例中的技术方案可以与上述一个或多个实施例中的各个可选方案结合。如图2所示,该方法可以包括如下步骤:

S210、获取待压缩图像。

S220、确定所述待压缩图像的目标编码组;其中,所述目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法。

S230、对所述待压缩图像进行区域分割,得到所述待压缩图像的前景图像和背景图像。

其中,区域分割可以是对待压缩图像进行区域分割。前景图像可以是待压缩图像中前景物体的图像。背景图像可以是待压缩图像中背景物体的图像。

在本发明实施例中,在确定待压缩图像的目标编码组之后,可以进一步对待压缩图像进行区域分割,以得到待压缩图像的前景图像和背景图像。

可选的,以对背景图像单一且前景复杂的人像图像进行压缩为应用场景,对待压缩图像进行区域分割,可以是根据分割阈值T对待压缩图像进行分割,以得到待压缩图像的前景图像和背景图像。

示例性的,首先根据已知分割阈值T1对待压缩图像进行分割,得到待压缩图像的前景图像F1和背景图像B1。为降低错分概率,对已知分割阈值T1进行修正。如果待压缩图像的图像大小为M*N,则图像中像素点的灰度值小于分割阈值T1的像素点的个数,也即前景图像的像素点的个数记作N0,像素点的灰度值大于分割阈值T1的像素点的个数,也即背景图像的像素点的个数记作N1。其次,根据前景图像F1计算前景图像F1的像素点的个数占整幅图像的比例ω0和前景图像F1的像素点的灰度值均值μ0;其中,可以根据公式:ω0=N0/M*N计算得到前景图像F1的像素点的个数占整幅图像的比例。根据背景图像B1计算背景图像B1的像素点的个数占整幅图像的比例ω1和背景图像B1的像素点的灰度值均值μ1;其中,可以根据公式:ω1=N1/M*N计算得到背景图像的像素点的个数占整幅图像的比例。再次,根据ω0、μ0、ω1和μ1确定类间方差g,并采用遍历的方法得到使类间方差g最大的阈值Tmax;其中,可以根据公式:g=ω0ω1(μ0-μ1)^2计算得到类间方差。最后,将最大阈值Tmax作为分割阈值T。在得到分割阈值T之后,即可根据分割阈值T对待压缩图像进行分割,以得到待压缩图像的前景图像和背景图像,从而降低对待压缩图像进行分割时的错分概率。

S240、根据所述第一编码方法对所述背景图像进行编码压缩处理,得到第一编码结果参数。

其中,第一编码结果参数可以是编码压缩处理后得到的一个编码结果参数,例如可以是行程编码结果中的L1参数等,本发明实施例对此并不进行限制。

在本发明实施例中,在得到待压缩图像的背景图像之后,可以进一步根据第一编码方法对背景图像进行编码压缩处理,从而得到第一编码结果参数。示例性的,在得到待压缩图像的背景图像之后,可以进一步根据行程编码方法对背景图像进行编码压缩处理,则可以得到编码结果(L1,Data),也即第一编码结果参数可以包括L1和Data中的至少一项。

S250、根据所述第三编码方法对所述前景图像进行编码压缩处理,得到第二编码结果参数。

其中,第二编码结果参数可以是编码压缩处理后得到的另一个编码结果参数,例如可以是差分编码结果中的L1参数等,本发明实施例对此并不进行限制。

在本发明实施例中,在得到待压缩图像的前景图像之后,可以进一步根据第三编码方法对前景图像进行编码压缩处理,从而得到第二编码结果参数。示例性的,在得到待压缩图像的前景图像之后,可以进一步根据差分编码方法对前景图像进行编码压缩处理,则可以得到编码结果(L2,Base,Differ[,Differ*]),也即第二编码结果参数可以包括L2、Base和Differ中的至少一项。

S260、根据所述目标编码组中的所述第二编码方法对所述编码结果参数中的目标编码结果参数再次进行编码压缩处理。

在本发明实施例的一个可选实施方式中,第一编码结果参数可以包括第一目标编码结果参数和第一非目标编码结果参数;根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,可以包括:确定第一目标编码结果参数的第一取值范围;根据第一目标编码结果参数的第一取值范围确定第二编码方法对第一目标编码结果参数的第一参数编码结果;确定第一目标编码结果参数的二进制取值;根据第一参数编码结果和第一目标编码结果参数的二进制取值生成第一目标编码结果参数的第一目标编码结果。

其中,第一目标编码结果参数可以是第一编码结果参数中的一个目标编码结果参数,例如可以是行程编码结果参数中的L1参数,本发明实施例对此并不进行限制。第一非目标编码结果参数可以是第一编码结果参数中的一个非目标编码结果参数,例如可以是行程编码结果参数中的Data参数,本发明实施例对此并不进行限制。第一取值范围可以是第一目标编码结果参数对应的一个取值范围,例如可以是行程编码结果参数中L1参数的取值范围[0,15]、[16,255]或[256,8*1024-1]等,本发明实施例对此并不进行限制。第一参数编码结果可以是根据第二编码方法对第一目标编码结果参数进行编码压缩处理得到的一个参数编码结果,例如可以是根据哈夫曼编码对行程编码结果参数中的L1参数进行编码压缩处理得到的00、01或10等参数编码结果,本发明实施例对此并不进行限制。第一目标编码结果参数的二进制取值可以是满足第一参数编码结果对应的二进制位数的第一目标编码结果参数的二进制取值。示例性的,如果第一目标编码结果参数L1的十进制数是3,则第一参数编码结果00对应的二进制位数为4bits,第一目标编码结果参数L1的二进制取值为4bits的二进制数0011。第一目标编码结果可以是第一目标编码结果参数的一个编码结果,例如可以是行程编码结果参数中L1参数的编码结果。

具体的,在根据第一编码方法对背景图像进行编码压缩处理得到第一编码结果参数之后,可以进一步确定第一编码结果参数中的第一目标编码结果参数和第一非目标编码结果参数,并确定第一目标编码结果参数的第一取值范围,从而根据第一目标编码结果参数的第一取值范围确定第二编码方法对第一目标编码结果参数的第一参数编码结果,再确定第一目标编码结果参数的二进制取值,从而根据第一参数编码结果和第一目标编码结果参数的二进制取值生成第一目标编码结果参数的第一目标编码结果。

示例性的,如果第一编码结果参数是行程编码结果参数L1和Data,则可以确定L1为第一目标编码结果参数,Data为第一非目标编码结果参数。如果L1的值为4,也即L1的取值范围是[0,15],则可以确定第一参数编码结果为00,此时可以用4bits来表示L1的二进制取值,也即L1的二进制取值可以是0100,从而得到第一目标编码结果000100。如果L1的值为18,也即L1的取值范围是[16,255],则可以确定第一参数编码结果为01,此时可以用8bits来表示L1的二进制取值,也即L1的二进制取值可以是00010010,从而得到第一目标编码结果0100010010。如果L1的值为378,也即L1的取值范围是[256,8*1024-1],则可以确定第一参数编码结果为10,此时可以用13bits来表示L1的二进制取值,也即L1的二进制取值可以是0000101111010,从而得到第一目标编码结果100000101111010。如果L1的取值不在上述范围内,则可以确定第一参数编码结果为11,此时可以用32bits来表示L1的二进制取值。

需要说明的是,如果第一非目标编码结果参数是行程编码结果参数Data,则不需要对该参数再次进行编码压缩处理。

在本发明实施例的一个可选实施方式中,第二编码结果参数可以包括第二目标编码结果参数和第二非目标编码结果参数;根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,可以包括:确定第二目标编码结果参数的第二取值范围;其中,第二取值范围与第一取值范围不同;根据第二目标编码结果参数的第二取值范围确定第二编码方法对第二目标编码结果参数的第二参数编码结果;确定第二目标编码结果参数的二进制取值;根据第二参数编码结果和第二目标编码结果参数的二进制取值生成第二目标编码结果参数的第二目标编码结果。

其中,第二目标编码结果参数可以是第二编码结果参数中的一个目标编码结果参数,例如可以是差分编码结果中的L2参数,本发明实施例对此并不进行限制。第二非目标编码结果参数可以是第二编码结果参数中的一个非目标编码结果参数,例如可以差分编码结果中的Base参数或Differ参数等,本发明实施例对此并不进行限制。第二取值范围可以是第二目标编码结果参数对应的一个取值范围,例如可以是差分编码结果中L2参数的取值范围[0,255]、[256,8*1024-1]或[8*1024,128*1024-1]等,本发明实施例对此并不进行限制。第二参数编码结果可以是根据第二编码方法对第二目标编码结果参数进行编码压缩处理得到的一个参数编码结果,例如可以是根据哈夫曼编码对差分编码结果参数中的L2参数进行编码压缩处理得到的00、01或10等参数编码结果,本发明实施例对此并不进行限制。第二目标编码结果参数的二进制取值可以是满足第二参数编码结果对应的二进制位数的第二目标编码结果参数的二进制取值。示例性的,如果第二目标编码结果参数L2的十进制数是3,且第二参数编码结果00对应的二进制位数为8bits,则第二目标编码结果参数L2的二进制取值为8bits的二进制数00000011。第二目标编码结果可以是第二目标编码结果参数的一个编码结果,例如可以是差分编码结果中L2参数的编码结果。

具体的,在根据第三编码方法对前景图像进行编码压缩处理得到第二编码结果参数之后,可以进一步确定第二编码结果参数中的第二目标编码结果参数和第二非目标编码结果参数,并确定第二目标编码结果参数的第二取值范围,从而根据第二目标编码结果参数的第二取值范围确定第二编码方法对第二目标编码结果参数的第二参数编码结果,再确定第二目标编码结果参数的二进制取值,从而根据第二参数编码结果和第二目标编码结果参数的二进制取值生成第二目标编码结果参数的第二目标编码结果。应当理解的是,第二取值范围和第一取值范围不同。

示例性的,如果第二编码结果参数是差分编码结果参数L2、Base和Differ,则可以确定L2为第二目标编码结果参数,Base和Differ为第二非目标编码结果参数。如果L2的值为39,也即L2的取值范围是[0,255],则可以确定第二参数编码结果为00,此时可以用8bits来表示L2的二进制取值,也即L2的二进制取值可以是00100111,从而得到第二目标编码结果0000100111。如果L2的值为268,也即L2的取值范围是[256,8*1024-1],则可以确定第二参数编码结果为01,此时可以用13bits来表示L2的二进制取值,也即L2的二进制取值可以是0000100001100,从而得到第二目标编码结果010000100001100。如果L2的取值范围是[8*1024,128*1024-1],则可以确定第二参数编码结果为10,此时可以用17bits来表示L2的二进制取值,也即L2的二进制取值可以是17位的二进制数,从而得到第二目标编码结果“10+17位二进制数”。如果L2的取值不在上述范围内,则可以确定第二参数编码结果为11,此时可以用32bits来表示L2的二进制取值。

在本发明实施例的一个可选实施方式中,第二非目标编码结果参数可以包括目标强化编码结果参数;在根据第二参数编码结果和第二目标编码结果参数的二进制取值生成第二目标编码结果参数的第二目标编码结果之后或同时,还可以包括:确定目标强化编码结果参数各个比特值对应的第三取值范围;其中,不同比特值对应的第三取值范围之间不存在交叉取值范围;确定各第三取值范围对应的取值范围权重;按照取值范围权重由大到小的顺序对各第三取值范围对应的比特值进行排序,得到二叉树形式的取值范围权重排序路径结果;其中,取值范围权重排序路径结果的各个分支设置对应的编码数值;根据目标强化编码结果参数赌赢的目标比特值和取值范围权重排序路径结果确定目标强化编码结果参数的第三目标编码结果。

其中,目标强化编码结果参数可以是第二非目标编码结果参数中的任意一个编码结果参数,例如可以是差分编码结果中的Differ参数,本发明实施例对此并不进行限制。比特值可以用于唯一表示目标强化编码结果参数的取值,例如,可以用比特值0表示取值为-1的目标强化编码结果参数,用比特值10表示取值为-2的目标强化编码结果参数,本发明实施例对此并不进行限制。第三取值范围可以是目标强化编码结果参数对应的一个取值范围,例如可以是差分编码结果中Differ参数的取值范围[-1,0]、[-3,-2]或[1,2]等,本发明实施例对此并不进行限制。交叉取值范围可以是任意两个取值范围中存在的相同取值。取值范围权重可以是根据实验样本统计得到的取值范围对应的权重,本发明实施例并不对取值范围权重的具体数值进行限制。取值范围权重排序路径结果可以是根据取值范围权重由大到小的顺序进行排序之后得到的二叉树形式的路径结果,本发明实施例对此并不进行限制。编码数值可以是取值范围权重排序路径结果的各个分支设置对应的二进制编码数值,本发明实施例对此并不进行限制。目标比特值可以是目标强化编码结果参数对应的比特值。第三目标编码结果可以是目标强化编码结果参数的一个编码结果,例如可以是差分编码结果中Differ参数的编码结果。

具体的,在根据第二参数编码结果和第二目标编码结果参数的二进制取值生成第二目标编码结果参数的第二目标编码结果之后或同时,可以进一步对第二非目标编码结果参数中的目标强化编码结果参数进行编码压缩处理。也即确定目标强化编码结果参数各个比特值对应的第三取值范围,且不同比特值对应的第三取值范围之间不存在交叉取值范围,再确定各第三取值范围对应的取值范围权重,以按照取值范围权重由大到小的顺序对各第三取值范围对应的比特值进行排序,得到二叉树形式的取值范围权重排序路径结果,且取值范围权重排序路径结果的各个分支可以设置对应的编码数值,从而可以根据目标强化编码结果参数对应的目标比特值,以及目标比特值在取值范围权重排序路径结果中对应的编码数值确定目标强化编码结果参数的第三目标编码结果。

在现有技术中,如果差分编码结果中Differ参数的取值范围为[-1,0],则Differ参数的比特值需要1bit进行表示;如果Differ参数的取值范围为[-2,1],则Differ参数的比特值需要2bit进行表示;如果Differ参数的取值范围为[-4,3],则Differ参数的比特值需要3bit进行表示;由此,依次将Differ参数的取值范围与Differ参数的比特值需要的二进制位数进行对应。然而,该方法存在很多空间的浪费。例如,Differ参数的取值范围为[-2,1]时,包含了[-1,0]的取值范围,也即Differ参数的取值为-1时,可以用比特值1来表示,也可以用比特值10来表示。

在本发明实施例中,通过确定目标强化编码结果参数各个比特值对应的第三取值范围,并确保不同比特值对应的第三取值范围之间不存在交叉取值范围,从而提高了空间的利用率,进而提高了图像压缩的压缩比例。

示例性的,如果目标强化编码结果参数是差分编码中的Differ参数,则Differ参数的比特值的位数、第三取值范围和取值范围权重之间的映射表可以如表1所示。也即,如果Differ参数的取值为2,且Differ参数的比特值可以为01,也即比特值占2bits,则Differ参数的第三取值范围对应的取值范围权重位21.39%。

表1比特值所占的位数、第三取值范围、取值范围权重映射表

比特值所占的位数 第三取值范围 取值范围权重
1bit [-1,0] 11.56%
2bits [-3,-2]&[1,2] 21.39%
3bits [-7,-4]&[3,6] 22.73%
4bits [-15,-8]&[7,14] 28.28%
5bits [-31,-16]&[15,30] 16%
6bits [-63,-32]&[31,62] 0.03%
7bits [-127,-64]&[63,126] 0.003%
8bits 其他 0.007%

图3是本发明实施例二提供的二叉树形式的取值范围权重排序路径结果的示意图,如图3所示,占4bits的比特值对应的编码数值为0,占3bits的比特值对应的编码数值为10,占5bits的比特值对应的编码数值为110,占2bits的比特值对应的编码数值为1110,占1bits的比特值对应的编码数值为11110,占6bits的比特值对应的编码数值为111110,占7bits的比特值对应的编码数值为1111111,占8bits的比特值对应的编码数值为1111110。从而可以得到第三目标编码结果可以是“编码数值+Differ参数的目标比特值”。也即,如果Differ参数的取值为2,且对应的目标比特值是01,则目标比特值对应的编码数值为1110,也即第三目标编码结果为111001。

需要说明的是,如果第二非目标编码结果参数是差分编码结果参数Base,则不需对该参数再次进行编码压缩处理。

本实施例的技术方案,通过获取待压缩图像,确定待压缩图像的目标编码组,且目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;再对待压缩图像进行区域分割,得到待压缩图像的前景图像和背景图像,以根据第一编码方法对背景图像进行编码压缩处理,得到第一编码结果参数,根据第三编码方法对前景图像进行编码压缩处理,得到第二编码结果参数,从而根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,解决现有无损压缩方法的图像压缩速率慢、图像压缩比例低、且压缩后的图像压缩效果差等问题,实现图像的无损压缩,提高图像压缩速率和图像压缩比例,进而提高图像的压缩效果。

实施例三

图4是本发明实施例三提供的一种图像压缩方法的流程图,本实施例是对上述各技术方案的进一步细化,给出了根据目标编码组中的第一编码方法或第三编码方法对待压缩图像进行编码压缩处理,以及根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理的多种具体可选的实现方式。本实施例中的技术方案可以与上述一个或多个实施例中的各个可选方案结合。如图4所示,该方法可以包括如下步骤:

S410、获取待压缩图像。

S420、确定所述待压缩图像的目标编码组;其中,所述目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法。

S430、确定所述待压缩图像的各个像素块;其中,所述像素块由连续相同像素值的像素点构成。

其中,像素块可以是由一个或多个像素点构成,一个像素块中包括的像素点的像素值均相同。示例性的,如果待压缩图像的像素点的像素值表示为“aaacdddd”,则“aaa”可以为一个像素块,“c”可以为一个像素块,“dddd”可以为一个像素块。

在本发明实施例中,在确定待压缩图像的目标编码组之后,还可以进一步确定待压缩图像的由连续相同像素值的像素点构成的像素块。

S440、将所述像素块中像素点的数量大于或等于预设像素点阈值的像素块筛选为目标像素块。

其中,预设像素点阈值可以是预设的像素点数量的阈值。目标像素块可以是像素点的数量大于或等于预设像素点阈值的像素块。

在本发明实施例中,在确定待压缩图像的各个像素块之后,可以进一步根据像素块中像素点的数量判断像素块是否为目标像素块,如果像素块中像素点的数量大于或等于预设像素点阈值,则可以确定该像素块为目标像素块;否则可以确定该像素块不是目标像素块。可选的,预设像素点阈值的数值可以为5。

S450、根据所述第一编码方法对所述目标像素块进行编码压缩处理,得到第一编码结果参数。

在本发明实施例中,在确定目标像素块之后,可以进一步根据第一编码方法对目标像素块进行编码压缩处理,从而得到第一编码结果参数。示例性的,在确定目标像素块之后,可以进一步根据行程编码方法对目标像素块进行编码压缩处理,则可以得到编码结果(L1,Data),也即第一编码结果参数可以包括L1和Data中的至少一项。

S460、根据所述第三编码方法对非目标像素块进行编码压缩处理,得到第二编码结果参数。

其中,非目标像素块可以是像素点的数量小于预设像素点阈值的像素块。

在本发明实施例中,在确定目标像素块之后,可以进一步确定非目标像素块,再根据第三编码方法对非目标像素块进行编码压缩处理,从而得到第二编码结果参数。示例性的,在确定目标像素块之后,可以确定非目标像素块,再根据差分编码方法对非目标像素块进行编码压缩处理,则可以得到编码结果(L2,Base,Differ[,Differ*]),也即第二编码结果参数可以包括L2、Base和Differ中的至少一项。

S470、根据所述目标编码组中的所述第二编码方法对所述编码结果参数中的目标编码结果参数再次进行编码压缩处理。

在本发明实施例的一个可选实施方式中,第一编码结果参数可以包括第一目标编码结果参数和第一非目标编码结果参数;根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,可以包括:确定第一目标编码结果参数的第一取值范围;根据第一目标编码结果参数的第一取值范围确定第二编码方法对第一目标编码结果参数的第一参数编码结果;确定第一目标编码结果参数的二进制取值;根据第一参数编码结果和第一目标编码结果参数的二进制取值生成第一目标编码结果参数的第一目标编码结果。

具体的,在根据第一编码方法对目标像素块进行编码压缩处理得到第一编码结果参数之后,可以进一步确定第一编码结果参数中的第一目标编码结果参数和第一非目标编码结果参数,并确定第一目标编码结果参数的第一取值范围,从而根据第一目标编码结果参数的第一取值范围确定第二编码方法对第一目标编码结果参数的第一参数编码结果,再确定第一目标编码结果参数的二进制取值,从而根据第一参数编码结果和第一目标编码结果参数的二进制取值生成第一目标编码结果参数的第一目标编码结果。

在本发明实施例的一个可选实施方式中,第二编码结果参数可以包括第二目标编码结果参数和第二非目标编码结果参数;根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,可以包括:确定第二目标编码结果参数的第二取值范围;其中,第二取值范围与第一取值范围不同;根据第二目标编码结果参数的第二取值范围确定第二编码方法对第二目标编码结果参数的第二参数编码结果;确定第二目标编码结果参数的二进制取值;根据第二参数编码结果和第二目标编码结果参数的二进制取值生成第二目标编码结果参数的第二目标编码结果。

具体的,在根据第三编码方法对非目标像素块进行编码压缩处理得到第二编码结果参数之后,可以进一步确定第二编码结果参数中的第二目标编码结果参数和第二非目标编码结果参数,并确定第二目标编码结果参数的第二取值范围,从而根据第二目标编码结果参数的第二取值范围确定第二编码方法对第二目标编码结果参数的第二参数编码结果,再确定第二目标编码结果参数的二进制取值,从而根据第二参数编码结果和第二目标编码结果参数的二进制取值生成第二目标编码结果参数的第二目标编码结果。应当理解的是,第二取值范围和第一取值范围不同。

在本发明实施例的一个可选实施方式中,第二非目标编码结果参数包括目标强化编码结果参数;在根据第二参数编码结果和第二目标编码结果参数的二进制取值生成第二目标编码结果参数的第二目标编码结果之后或同时,还可以包括:确定目标强化编码结果参数各个比特值对应的第三取值范围;其中,不同比特值对应的第三取值范围之间不存在交叉取值范围;确定各第三取值范围对应的取值范围权重;按照取值范围权重由大到小的顺序对各第三取值范围对应的比特值进行排序,得到二叉树形式的取值范围权重排序路径结果;其中,取值范围权重排序路径结果的各个分支设置对应的编码数值;根据目标强化编码结果参数对应的目标比特值和取值范围权重排序路径结果确定目标强化编码结果参数的第三目标编码结果。

具体的,在根据第二参数编码结果和第二目标编码结果参数的二进制取值生成第二目标编码结果参数的第二目标编码结果之后或同时,可以进一步对第二非目标编码结果参数中的目标强化编码结果参数进行编码压缩处理。也即确定目标强化编码结果参数各个比特值对应的第三取值范围,且不同比特值对应的第三取值范围之间不存在交叉取值范围,再确定各第三取值范围对应的取值范围权重,以按照取值范围权重由大到小的顺序对各第三取值范围对应的比特值进行排序,得到二叉树形式的取值范围权重排序路径结果,且取值范围权重排序路径结果的各个分支可以设置对应的编码数值,从而可以根据目标强化编码结果参数对应的目标比特值,以及目标比特值在取值范围权重排序路径结果中对应的编码数值确定目标强化编码结果参数的第三目标编码结果。

在上述技术方案的基础上,在根据目标编码组中的第一编码方法或第三编码方法对待压缩图像进行编码压缩处理之后,还可以包括:确定第一编码方法的第一编码标识和第二编码方法的第二编码标识;在第一编码结果参数中添加第一编码标识;在第二编码结果参数中添加第二编码标识。

其中,第一编码标识可以用于标识第一编码方法,例如可以用0标识行程编码方法。第二编码标识可以用于标识第二编码方法,例如可以用1标识差分编码方法。本发明实施例对此并不进行限制。

具体的,在根据目标编码组中的第一编码方法或第三编码方法对待压缩图像进行编码压缩处理之后,还可以进一步确定第一编码方法的第一编码标识和第二编码方法的第二编码标识,并在第一编码结果参数中添加第一编码标识,在第二编码结果参数中添加第二编码标识,以便通过标识符号确定编码方法。示例性的,如果行程编码的编码结果为(L1,Data),则在第一编码结果参数中添加第一编码标识之后的行程编码的编码结果可以为(0,L1,Data)。如果差分编码的编码结果为(L2,Base,Differ[,Differ*]),则在第二编码结果参数中添加第二编码标识之后的差分编码的编码结果可以为(1,L2,Base,Differ[,Differ*])。

这样设置的好处在于,通过在编码结果参数中添加标识,可以更准确的通过标识确定对待压缩图像进行编码压缩处理时所采用的编码方法。

本实施例的技术方案,通过获取待压缩图像,确定待压缩图像的目标编码组,且目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;确定待压缩图像的各个像素块,且像素块由连续相同像素值的像素点构成,并将像素块中像素点的数量大于或等于预设像素点阈值的像素块筛选为目标像素块,从而根据第一编码方法对目标像素块进行编码压缩处理,得到第一编码结果参数,根据第三编码方法对非目标像素块进行编码压缩处理,得到第二编码结果参数;再根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,解决现有无损压缩方法的图像压缩速率慢、图像压缩比例低、且压缩后的图像压缩效果差等问题,实现图像的无损压缩,提高图像压缩速率和图像压缩比例,进而提高图像的压缩效果。

实施例四

图5是本发明实施例四提供的一种图像压缩装置的示意图,如图5所示,所述装置包括:待压缩图像获取模块510、目标编码组确定模块520、编码结果参数获取模块530以及编码压缩处理模块540,其中:

待压缩图像获取模块510,用于获取待压缩图像;

目标编码组确定模块520,用于确定所述待压缩图像的目标编码组;其中,所述目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;

编码结果参数获取模块530,用于根据所述目标编码组中的所述第一编码方法和/或所述第三编码方法对所述待压缩图像进行编码压缩处理,得到编码结果参数;

编码压缩处理模块540,用于根据所述目标编码组中的所述第二编码方法对所述编码结果参数中的目标编码结果参数再次进行编码压缩处理。

可选的,编码结果参数获取模块530,可以进一步用于:

对所述待压缩图像进行区域分割,得到所述待压缩图像的前景图像和背景图像;根据所述第一编码方法对所述背景图像进行编码压缩处理,得到第一编码结果参数;根据所述第三编码方法对所述前景图像进行编码压缩处理,得到第二编码结果参数。

可选的,编码结果参数获取模块530,还可以进一步用于:

确定所述待压缩图像的各个像素块;其中,所述像素块由连续相同像素值的像素点构成;将所述像素块中像素点的数量大于或等于预设像素点阈值的像素块筛选为目标像素块;根据所述第一编码方法对所述目标像素块进行编码压缩处理,得到第一编码结果参数;根据所述第三编码方法对非目标像素块进行编码压缩处理,得到第二编码结果参数。

可选的,第一编码结果参数可以包括第一目标编码结果参数和第一非目标编码结果参数;编码压缩处理模块540,可以进一步用于:

确定所述第一目标编码结果参数的第一取值范围;根据所述第一目标编码结果参数的第一取值范围确定所述第二编码方法对所述第一目标编码结果参数的第一参数编码结果;确定所述第一目标编码结果参数的二进制取值;根据所述第一参数编码结果和所述第一目标编码结果参数的二进制取值生成所述第一目标编码结果参数的第一目标编码结果。

可选的,第二编码结果参数可以包括第二目标编码结果参数和第二非目标编码结果参数;编码压缩处理模块540,还可以进一步用于:

确定所述第二目标编码结果参数的第二取值范围;其中,所述第二取值范围与第一取值范围不同;根据所述第二目标编码结果参数的第二取值范围确定所述第二编码方法对所述第二目标编码结果参数的第二参数编码结果;确定所述第二目标编码结果参数的二进制取值;根据所述第二参数编码结果和所述第二目标编码结果参数的二进制取值生成所述第二目标编码结果参数的第二目标编码结果。

可选的,第二非目标编码结果参数可以包括目标强化编码结果参数;编码压缩处理模块540,还可以进一步具体用于:

确定所述目标强化编码结果参数各个比特值对应的第三取值范围;其中,不同比特值对应的所述第三取值范围之间不存在交叉取值范围;确定各所述第三取值范围对应的取值范围权重;按照所述取值范围权重由大到小的顺序对各所述第三取值范围对应的比特值进行排序,得到二叉树形式的取值范围权重排序路径结果;其中,所述取值范围权重排序路径结果的各个分支设置对应的编码数值;根据所述目标强化编码结果参数对应的目标比特值和所述取值范围权重排序路径结果确定所述目标强化编码结果参数的第三目标编码结果。

可选的,编码结果参数获取模块530,还可以进一步具体用于:

确定所述第一编码方法的第一编码标识和所述第二编码方法的第二编码标识;在所述第一编码结果参数中添加所述第一编码标识;在所述第二编码结果参数中添加所述第二编码标识。

本实施例的技术方案,通过获取待压缩图像,确定待压缩图像的目标编码组,且目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;再根据目标编码组中的第一编码方法和/或第三编码方法对待压缩图像进行编码压缩处理,从而得到编码结果参数,以根据目标编码组中的第二编码方法对编码结果参数中的目标编码结果参数再次进行编码压缩处理,解决现有无损压缩方法的图像压缩速率慢、图像压缩比例低、且压缩后的图像压缩效果差等问题,实现图像的无损压缩,提高图像压缩速率和图像压缩比例,进而提高图像的压缩效果。

上述图像压缩装置可执行本发明任意实施例所提供的图像压缩方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的图像压缩方法。

由于上述所介绍的图像压缩装置为可以执行本发明实施例中的图像压缩方法的装置,故而基于本发明实施例中所介绍的图像压缩方法,本领域所属技术人员能够了解本实施例的图像压缩装置的具体实施方式以及其各种变化形式,所以在此对于该图像压缩装置如何实现本发明实施例中的图像压缩方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中图像压缩方法所采用的装置,都属于本申请所欲保护的范围。

实施例五

图6为本发明实施例五提供的一种电子设备的结构示意图。如图6所示,该电子设备包括处理器610、存储器620、输入装置630和输出装置640;电子设备中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;电子设备中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线连接为例。

存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的图像压缩方法对应的程序指令/模块(例如,图像压缩装置中的待压缩图像获取模块510、目标编码组确定模块520、编码结果参数获取模块530以及编码压缩处理模块540)。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的图像压缩方法:获取待压缩图像;确定所述待压缩图像的目标编码组;其中,所述目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;根据所述目标编码组中的所述第一编码方法和/或所述第三编码方法对所述待压缩图像进行编码压缩处理,得到编码结果参数;根据所述目标编码组中的所述第二编码方法对所述编码结果参数中的目标编码结果参数再次进行编码压缩处理。

存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置630可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。

实施例六

本发明实施例六还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的图像压缩方法:获取待压缩图像;确定所述待压缩图像的目标编码组;其中,所述目标编码组包括第一编码方法和第二编码方法,和/或,第三编码方法和第二编码方法;根据所述目标编码组中的所述第一编码方法和/或所述第三编码方法对所述待压缩图像进行编码压缩处理,得到编码结果参数;根据所述目标编码组中的所述第二编码方法对所述编码结果参数中的目标编码结果参数再次进行编码压缩处理。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnly Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable Read OnlyMemory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于场景自适应的视频编码方法和装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类