CN109308723A - 一种图像压缩方法及装置 - Google Patents
一种图像压缩方法及装置 Download PDFInfo
- Publication number
- CN109308723A CN109308723A CN201710605703.0A CN201710605703A CN109308723A CN 109308723 A CN109308723 A CN 109308723A CN 201710605703 A CN201710605703 A CN 201710605703A CN 109308723 A CN109308723 A CN 109308723A
- Authority
- CN
- China
- Prior art keywords
- image
- result
- fragment
- mask matrix
- compression
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例提供了一种图像压缩方法及装置,所述方法包括:对图像进行分片;对所述每一分片,计算其最小包络矩形;对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵;对所述每一分片,对所述mask矩阵进行采样编码;对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩;根据所有分片的压缩结果得到所述图像的第一压缩结果,能够有效地表征非线性特征,并提升图像的压缩率。
Description
技术领域
本发明涉及图像压缩领域,特别涉及一种图像压缩方法。
背景技术
目前的图像编码都是基于宏块的,这样会有比较明显的边界效应,像webp,bpg,是基于预测和宏块编码的,无法表征非线性的部分。
发明内容
为了解决上述问题,本发明实施例提供了一种图像压缩方法。
根据本发明的第一方面,提供了一种图像压缩方法,所述方法包括:
对图像进行分片;
对所述每一分片,计算其最小包络矩形;
对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵;
对所述每一分片,对所述mask矩阵进行采样编码;
对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩;
根据所有分片的压缩结果得到所述图像的第一压缩结果。
根据本发明的第二方面,提供了一种图像压缩装置,包括:
分片单元,用于对图像进行分片;
最小包络矩形计算单元,用于对所述每一分片,计算其最小包络矩形;
mask矩阵计算单元,用于对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵;
采样单元,用于对所述每一分片,对所述mask矩阵进行采样编码;
第一压缩单元,用于对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩;
第一合并单元,用于根据所有分片的压缩结果得到所述图像的第一压缩结果。
本发明实施例提供一种对图像进行分片并对每片的形状进行压缩的方法,能够有效地表征非线性特征,并提升图像的压缩率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的方法流程图;
图2是本发明实施例提供的方法流程图;
图3是本发明实施例提供的装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种图像压缩方法,如图1所示,所述方法包括:
步骤102,对图像进行分片。
可以采用任意方式对图像进行分片,例如通过深度学习方法进行分片,或者通过SLIC算法进行分片,本发明实施例对具体的分片方法不加限定。
步骤104,对所述每一分片,计算其最小包络矩形。
具体的,包括:
获取所述分片中的每个像素点的坐标值(x,y);
获取所有横坐标中的最大值xmax和最小值xmin;
获取所有纵坐标中的最大值ymax和最小值ymin;
由(xmax,ymax)、(xmax,ymin)、(xmin,ymax)、(xmin,ymin)四点所组成的矩形就是所述分片的最小包络矩形。
步骤106,对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵。
具体的,对于所述最小包络矩形中的每一像素,如果该像素的取值不为空,则所述mask矩阵中与该像素对应的值为1,否则,所述mask矩阵中与该像素对应的值为0。
步骤108,对所述每一分片,对所述mask矩阵进行采样编码。
具体的,通过采样建立所述mask矩阵的图像金字塔,直到所述图像金字塔的顶层只有1个像素为止。图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。
本发明实施例中采用逐级采样,直到所述图像金字塔的顶层只有1个像素为止。示例性的,假设原始图像的分辨率为512×512,对其进行第一次采样后得到分辨率为256×256的图像,再次采样后得到分辨率为128×128的图像,再次采样后得到分辨率为64×64的图像,再次采样后得到分辨率为32×32的图像,再次采样后得到分辨率为16×16的图像,再次采样后得到分辨率为8×8的图像,再次采样后得到分辨率为4×4的图像,再次采样后得到分辨率为2×2的图像,再次采样后最终得到分辨率为1×1的图像,即图像金字塔顶层的只有1个像素的图像。
步骤110,对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩。
具体的,对于每个图像金字塔,处理方法如下:
首先,从所述图像金字塔的最顶层开始,通过该层对图像金字塔的下一层进行预测,得到预测结果。
具体的,使用该层的像素值对图像金字塔的下一层的像素进行填充,得到所述预测结果。示例性的,假设最顶层的1×1的像素取值为1,则通过填充得到的下一层2×2像素图像的预测结果为:
其次,根据所述预测结果与所述mask矩阵进行对比,得到比对结果。
具体的,将所述预测结果与所述mask矩阵中对应的像素位置的值进行比较,示例性的假设上述2×2像素图像对应的mask矩阵取值为:
则将(1)与(2)进行比较,得到的对比结果为1110(此处以1代表真,以0代表假)。
再次,根据所述mask矩阵对所述预测结果进行修正,得到修正后的预测结果:
最后,根据所述修正后的预测结果(3),采用上述方法对图像金字塔的下一层进行预测和比较,得到对比结果和修正后的预测结果,如此循环,直至所述图像金字塔的最底层。
最终,根据所述图像金字塔的顶层与其他每一层的比对结果得到所述图像金字塔对应的通道的二进制编码串。
对所述二进制编码串进行压缩。
示例性的,可以采用算术编码的方式对所述二进制编码串进行压缩,本发明实施例对具体的压缩方法不加限定。
步骤112,根据所有分片的压缩结果得到所述图像的第一压缩结果。
具体的,合并所有分片的压缩结果,得到所述图像的第一压缩结果。本发明实施例对具体的合并方法不加限制。
进一步地,在步骤102之后,还包括:
对所述每一分片的每个颜色通道进行压缩。
具体的,所述颜色通道包括:RGB通道或者YUV通道,如果该图像的颜色空间为RGB颜色空间,则该图像的三个通道分别为R、G、B通道,如果该图像的颜色空间为YUV颜色空间,则该图像的三个通道分别为Y、U、V通道。
合并所有分片的所有颜色通道的压缩结果,得到所述图像的第二压缩结果。
将所述第一压缩结果和所述第二压缩结果合并为所述图像的压缩结果。
本发明实施例提供一种对图像进行分片并对每片的形状进行压缩的方法,能够有效地表征非线性特征,并提升图像的压缩率。
实施例二
本发明实施例提供了一种图像压缩方法,如图1所示,所述方法包括:
步骤102,对图像进行分片。
可以采用任意方式对图像进行分片,例如通过深度学习方法进行分片,或者通过SLIC算法进行分片,本发明实施例对具体的分片方法不加限定。
步骤104,对所述每一分片,计算其最小包络矩形。
具体的,包括:
获取所述分片中的每个像素点的坐标值(x,y);
获取所有横坐标中的最大值xmax和最小值xmin;
获取所有纵坐标中的最大值ymax和最小值ymin;
由(xmax,ymax)、(xmax,ymin)、(xmin,ymax)、(xmin,ymin)四点所组成的矩形就是所述分片的最小包络矩形。
步骤106,对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵。
具体的,对于所述最小包络矩形中的每一像素,如果该像素的取值不为空,则所述mask矩阵中与该像素对应的值为1,否则,所述mask矩阵中与该像素对应的值为0。
步骤108,对所述每一分片,对所述mask矩阵进行采样编码。
具体的,通过采样建立所述mask矩阵的图像金字塔,直到所述图像金字塔的顶层只有1个像素为止。图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。
本发明实施例中采用逐级采样,直到所述图像金字塔的顶层只有1个像素为止。示例性的,假设原始图像的分辨率为512×512,对其进行第一次采样后得到分辨率为256×256的图像,再次采样后得到分辨率为128×128的图像,再次采样后得到分辨率为64×64的图像,再次采样后得到分辨率为32×32的图像,再次采样后得到分辨率为16×16的图像,再次采样后得到分辨率为8×8的图像,再次采样后得到分辨率为4×4的图像,再次采样后得到分辨率为2×2的图像,再次采样后最终得到分辨率为1×1的图像,即图像金字塔顶层的只有1个像素的图像。
步骤110,对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩。
具体的,对于每个图像金字塔,处理方法如下:
首先,从所述图像金字塔的最顶层开始,通过该层对图像金字塔的下一层进行预测,得到预测结果。
具体的,使用该层的像素值对图像金字塔的下一层的像素进行填充,得到所述预测结果。示例性的,假设最顶层的1×1的像素取值为1,则通过填充得到的下一层2×2像素图像的预测结果为:
其次,根据所述预测结果与所述mask矩阵进行对比,得到比对结果。
具体的,将所述预测结果与所述mask矩阵中对应的像素位置的值进行比较,示例性的假设上述2×2像素图像对应的mask矩阵取值为:
则将(1)与(2)进行比较,得到的对比结果为1110(此处以1代表真,以0代表假)。
再次,根据所述mask矩阵对所述预测结果进行修正,得到修正后的预测结果:
最后,根据所述修正后的预测结果(3),采用上述方法对图像金字塔的下一层进行预测和比较,得到对比结果和修正后的预测结果,如此循环,直至所述图像金字塔的最底层。
最终,根据所述图像金字塔的顶层与其他每一层的比对结果得到所述图像金字塔对应的通道的二进制编码串。
对所述二进制编码串进行压缩。示例性的,可以采用算术编码的方式对所述二进制编码串进行压缩,本发明实施例对具体的压缩方法不加限定。
步骤112,根据所有分片的压缩结果得到所述图像的第一压缩结果。
具体的,合并所有分片的压缩结果,得到所述图像的第一压缩结果。本发明实施例对具体的合并方法不加限制。
进一步地,在步骤102之后,还包括:
对所述每一分片的每个颜色通道进行压缩。
具体的,所述颜色通道包括:RGB通道或者YUV通道,如果该图像的颜色空间为RGB颜色空间,则该图像的三个通道分别为R、G、B通道,如果该图像的颜色空间为YUV颜色空间,则该图像的三个通道分别为Y、U、V通道。
所述对所述每一分片的每个颜色通道进行压缩包括:
对所述颜色通道的每一行做DCT(Discrete Cosine Transform,离散余弦变换)变换,得到变换后的结果。
具体的,所述对所述颜色通道的每一行做DCT变换,得到变换后的结果包括:
获取所述分片中每行的像素个数。
示例性的,假设所述分片共有i行,则每行的像素个数记为ni。
对于所述每行像素做DCT变换,得到中间变换结果。
示例性的,计算公式如下:
对所述中间变换结果乘以得到变换结果。
对所述分片进行90°转置。
获取转置后的所述分片中每行的像素个数。
示例性的,假设所述分片共有j行,则每行的像素个数记为nj。
对于所述每行像素做DCT变换,得到中间变换结果。
示例性的,计算公式如下:
对所述中间变换结果乘以得到变换结果。
获取所述分片对应的mask矩阵,即对于所述分片对应的最小包络矩形中的每一像素,如果该像素的取值不为空,则所述mask矩阵中与该像素对应的值为1,否则,所述mask矩阵中与该像素对应的值为0。
对所述mask矩阵,也按照上述方法进行DCT变换,得到对应的变换结果。
以所述分片的变换结果除以所述mask矩阵的变换结果得到所述分片的所述通道的最终变换结果。
对所述最终变换结果进行量化、编码,得到压缩后的结果。
合并所有分片的所有颜色通道的压缩结果,得到所述图像的第二压缩结果。
将所述第一压缩结果和所述第二压缩结果合并为所述图像的压缩结果。
本发明实施例提供一种图像压缩方法,基于每个图像分片的形状对DCT变换进行优化,相比传统的DCT变换压缩方法,能够有效的提升图像的压缩率。
实施例三
本发明实施例提供了一种图像压缩方法,如图2所示,所述方法包括:
步骤202,对图像进行分片。
可以采用任意方式对图像进行分片,例如通过深度学习方法进行分片,或者通过SLIC算法进行分片,本发明实施例对具体的分片方法不加限定。
步骤204,对所述每一分片,计算其最小包络矩形。
具体的,包括:
获取所述分片中的每个像素点的坐标值(x,y);
获取所有横坐标中的最大值xmax和最小值xmin;
获取所有纵坐标中的最大值ymax和最小值ymin;
由(xmax,ymax)、(xmax,ymin)、(xmin,ymax)、(xmin,ymin)四点所组成的矩形就是所述分片的最小包络矩形。
步骤206,对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵。
具体的,对于所述最小包络矩形中的每一像素,如果该像素的取值不为空,则所述mask矩阵中与该像素对应的值为1,否则,所述mask矩阵中与该像素对应的值为0。
步骤208,对所述每一分片,对所述mask矩阵进行采样编码。
具体的,通过采样建立所述mask矩阵的图像金字塔,直到所述图像金字塔的顶层只有1个像素为止。图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。
本发明实施例中采用逐级采样,直到所述图像金字塔的顶层只有1个像素为止。示例性的,假设原始图像的分辨率为512×512,对其进行第一次采样后得到分辨率为256×256的图像,再次采样后得到分辨率为128×128的图像,再次采样后得到分辨率为64×64的图像,再次采样后得到分辨率为32×32的图像,再次采样后得到分辨率为16×16的图像,再次采样后得到分辨率为8×8的图像,再次采样后得到分辨率为4×4的图像,再次采样后得到分辨率为2×2的图像,再次采样后最终得到分辨率为1×1的图像,即图像金字塔顶层的只有1个像素的图像。
步骤210,对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩。
具体的,对于每个图像金字塔,处理方法如下:
首先,从所述图像金字塔的最顶层开始,通过该层对图像金字塔的下一层进行预测,得到预测结果。
具体的,使用该层的像素值对图像金字塔的下一层的像素进行填充,得到所述预测结果。示例性的,假设最顶层的1×1的像素取值为1,则通过填充得到的下一层2×2像素图像的预测结果为:
其次,根据所述预测结果与所述mask矩阵进行对比,得到比对结果。
具体的,将所述预测结果与所述mask矩阵中对应的像素位置的值进行比较,示例性的假设上述2×2像素图像对应的mask矩阵取值为:
则将(1)与(2)进行比较,得到的对比结果为1110(此处以1代表真,以0代表假)。
再次,根据所述mask矩阵对所述预测结果进行修正,得到修正后的预测结果:
最后,根据所述修正后的预测结果(3),采用上述方法对图像金字塔的下一层进行预测和比较,得到对比结果和修正后的预测结果,如此循环,直至所述图像金字塔的最底层。
最终,根据所述图像金字塔的顶层与其他每一层的比对结果得到所述图像金字塔对应的通道的二进制编码串。
对所述二进制编码串进行压缩。示例性的,可以采用算术编码的方式对所述二进制编码串进行压缩,本发明实施例对具体的压缩方法不加限定。
步骤212,根据所有分片的压缩结果得到所述图像的第一压缩结果。
具体的,合并所有分片的压缩结果,得到所述图像的第一压缩结果。本发明实施例对具体的合并方法不加限制。
步骤214,按照预设规则对步骤202中的分片进行合并,得到合并后的新的分片。
具体的,可以根据各个分片的边界将相邻的分片进行合并,本发明对具体的合并方法不加限制。
步骤216,对每一个所述新分片,按照步骤204到步骤212的方法进行处理,得到所述图像的中间压缩结果。
步骤218,比较步骤212中的第一压缩结果和步骤216中的中间压缩结果,选择较优的结果为所述图像的新的第一压缩结果。
步骤220,重复步骤214至步骤218,直至收敛,以收敛后的压缩结果为所述图像的第一压缩结果。
进一步地,在步骤202之后,还包括:
对所述每一分片的每个颜色通道进行压缩。
具体的,所述颜色通道包括:RGB通道或者YUV通道,如果该图像的颜色空间为RGB颜色空间,则该图像的三个通道分别为R、G、B通道,如果该图像的颜色空间为YUV颜色空间,则该图像的三个通道分别为Y、U、V通道。
所述对所述每一分片的每个颜色通道进行压缩包括:
对所述颜色通道的每一行做DCT(Discrete Cosine Transform,离散余弦变换)变换,得到变换后的结果。
具体的,所述对所述颜色通道的每一行做DCT变换,得到变换后的结果包括:
获取所述分片中每行的像素个数。
示例性的,假设所述分片共有i行,则每行的像素个数记为ni。
对于所述每行像素做DCT变换,得到中间变换结果。
示例性的,计算公式如下:
对所述中间变换结果乘以得到变换结果。
对所述分片进行90°转置。
获取转置后的所述分片中每行的像素个数。
示例性的,假设所述分片共有j行,则每行的像素个数记为nj。
对于所述每行像素做DCT变换,得到中间变换结果。
示例性的,计算公式如下:
对所述中间变换结果乘以得到变换结果。
获取所述分片对应的mask矩阵,即对于所述分片对应的最小包络矩形中的每一像素,如果该像素的取值不为空,则所述mask矩阵中与该像素对应的值为1,否则,所述mask矩阵中与该像素对应的值为0。
对所述mask矩阵,也按照上述方法进行DCT变换,得到对应的变换结果。
以所述分片的变换结果除以所述mask矩阵的变换结果得到所述分片的所述通道的最终变换结果。
对所述最终变换结果进行量化、编码,得到压缩后的结果。
合并所有分片的所有颜色通道的压缩结果,得到所述图像的第二压缩结果。
将所述第一压缩结果和所述第二压缩结果合并为所述图像的压缩结果。
本发明实施例提供一种图像压缩方法,通过对图像分片的合并、比较压缩结果来选择最优的分片方式,从而能够更好地提升图像的压缩率。
实施例四
本发明实施例提供了一种图像压缩方法,如图2所示,所述方法包括:
步骤202,对图像进行分片。
可以采用任意方式对图像进行分片,例如通过深度学习方法进行分片,或者通过SLIC算法进行分片,本发明实施例对具体的分片方法不加限定。
步骤204,对所述每一分片,计算其最小包络矩形。
具体的,包括:
获取所述分片中的每个像素点的坐标值(x,y);
获取所有横坐标中的最大值xmax和最小值xmin;
获取所有纵坐标中的最大值ymax和最小值ymin;
由(xmax,ymax)、(xmax,ymin)、(xmin,ymax)、(xmin,ymin)四点所组成的矩形就是所述分片的最小包络矩形。
步骤206,对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵。
具体的,对于所述最小包络矩形中的每一像素,如果该像素的取值不为空,则所述mask矩阵中与该像素对应的值为1,否则,所述mask矩阵中与该像素对应的值为0。
步骤208,对所述每一分片,对所述mask矩阵进行采样编码。
具体的,通过采样建立所述mask矩阵的图像金字塔,直到所述图像金字塔的顶层只有1个像素为止。图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。
本发明实施例中采用逐级采样,直到所述图像金字塔的顶层只有1个像素为止。示例性的,假设原始图像的分辨率为512×512,对其进行第一次采样后得到分辨率为256×256的图像,再次采样后得到分辨率为128×128的图像,再次采样后得到分辨率为64×64的图像,再次采样后得到分辨率为32×32的图像,再次采样后得到分辨率为16×16的图像,再次采样后得到分辨率为8×8的图像,再次采样后得到分辨率为4×4的图像,再次采样后得到分辨率为2×2的图像,再次采样后最终得到分辨率为1×1的图像,即图像金字塔顶层的只有1个像素的图像。
步骤210,对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩。
具体的,对于每个图像金字塔,处理方法如下:
首先,从所述图像金字塔的最顶层开始,通过该层对图像金字塔的下一层进行预测,得到预测结果。
具体的,使用该层的像素值对图像金字塔的下一层的像素进行填充,得到所述预测结果。
其次,根据所述预测结果与所述mask矩阵进行对比,得到比对结果。
通常来说,通过上述填充方法得到的预测结果中大部分的像素都是与mask矩阵中对应的像素相一致的,有可能出现不一致的地方大多出现在用于填充的填充层中的图像边界处,因为在这些边界处像素的取值可能会出现突变。利用这种特性,可以加快对比的速度。
具体的,计算该层图像金字塔的边界,获取所述预测结果中与所述边界对应的像素,将这些(这个)像素与所述mask矩阵中对应的像素位置的值进行比较,得到相应的对比结果,对于处于非边界处的像素,直接设置其比对结果为真。
再次,根据所述mask矩阵对所述预测结果进行修正,得到修正后的预测结果;
最后,根据所述修正后的预测结果,采用上述方法对图像金字塔的下一层进行预测和比较,得到对比结果和修正后的预测结果,如此循环,直至所述图像金字塔的最底层。
最终,根据所述图像金字塔的顶层与其他每一层的比对结果得到所述图像金字塔对应的通道的二进制编码串。
对所述二进制编码串进行压缩。示例性的,可以采用算术编码的方式对所述二进制编码串进行压缩,本发明实施例对具体的压缩方法不加限定。
步骤212,根据所有分片的压缩结果得到所述图像的第一压缩结果。
具体的,合并所有分片的压缩结果,得到所述图像的第一压缩结果。本发明实施例对具体的合并方法不加限制。
步骤214,按照预设规则对步骤202中的分片进行合并,得到合并后的新的分片。
具体的,可以根据各个分片的边界将相邻的分片进行合并,本发明对具体的合并方法不加限制。
步骤216,对每一个所述新分片,按照步骤204到步骤212的方法进行处理,得到所述图像的中间压缩结果。
步骤218,比较步骤212中的第一压缩结果和步骤216中的中间压缩结果,选择较优的结果为所述图像的新的第一压缩结果。
步骤220,重复步骤214至步骤218,直至收敛,以收敛后的压缩结果为所述图像的第一压缩结果。
进一步地,在步骤202之后,还包括:
对所述每一分片的每个颜色通道进行压缩。
具体的,所述颜色通道包括:RGB通道或者YUV通道,如果该图像的颜色空间为RGB颜色空间,则该图像的三个通道分别为R、G、B通道,如果该图像的颜色空间为YUV颜色空间,则该图像的三个通道分别为Y、U、V通道。
所述对所述每一分片的每个颜色通道进行压缩包括:
对所述颜色通道的每一行做DCT(Discrete Cosine Transform,离散余弦变换)变换,得到变换后的结果。
具体的,所述对所述颜色通道的每一行做DCT变换,得到变换后的结果包括:
获取所述分片中每行的像素个数。
示例性的,假设所述分片共有i行,则每行的像素个数记为ni。
对于所述每行像素做DCT变换,得到中间变换结果。
示例性的,计算公式如下:
对所述中间变换结果乘以得到变换结果。
对所述分片进行90°转置。
获取转置后的所述分片中每行的像素个数。
示例性的,假设所述分片共有j行,则每行的像素个数记为nj。
对于所述每行像素做DCT变换,得到中间变换结果。
示例性的,计算公式如下:
对所述中间变换结果乘以得到变换结果。
获取所述分片对应的mask矩阵,即对于所述分片对应的最小包络矩形中的每一像素,如果该像素的取值不为空,则所述mask矩阵中与该像素对应的值为1,否则,所述mask矩阵中与该像素对应的值为0。
对所述mask矩阵,也按照上述方法进行DCT变换,得到对应的变换结果。
以所述分片的变换结果除以所述mask矩阵的变换结果得到所述分片的所述通道的最终变换结果。
对所述最终变换结果进行量化、编码,得到压缩后的结果。
合并所有分片的所有颜色通道的压缩结果,得到所述图像的第二压缩结果。
将所述第一压缩结果和所述第二压缩结果合并为所述图像的压缩结果。
本发明实施例提供一种图像压缩方法,通过获取边缘的方式加快对所述图像金字塔每一层的预测速度,能够有效的提升图像的压缩速度。
实施例五
本发明实施例提供了一种图像压缩装置,如图3所示,所述装置包括:
分片单元302,对图像进行分片。
可以采用任意方式对图像进行分片,例如通过深度学习方法进行分片,或者通过SLIC算法进行分片,本发明实施例对具体的分片方法不加限定。
最小包络矩形计算单元304,对所述每一分片,计算其最小包络矩形。
具体的,包括:
获取所述分片中的每个像素点的坐标值(x,y);
获取所有横坐标中的最大值xmax和最小值xmin;
获取所有纵坐标中的最大值ymax和最小值ymin;
由(xmax,ymax)、(xmax,ymin)、(xmin,ymax)、(xmin,ymin)四点所组成的矩形就是所述分片的最小包络矩形。
mask矩阵计算单元306,对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵。
具体的,对于所述最小包络矩形中的每一像素,如果该像素的取值不为空,则所述mask矩阵中与该像素对应的值为1,否则,所述mask矩阵中与该像素对应的值为0。
采样单元308,对所述每一分片,对所述mask矩阵进行采样编码。
具体的,通过采样建立所述mask矩阵的图像金字塔,直到所述图像金字塔的顶层只有1个像素为止。图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。
本发明实施例中采用逐级采样,直到所述图像金字塔的顶层只有1个像素为止。示例性的,假设原始图像的分辨率为512×512,对其进行第一次采样后得到分辨率为256×256的图像,再次采样后得到分辨率为128×128的图像,再次采样后得到分辨率为64×64的图像,再次采样后得到分辨率为32×32的图像,再次采样后得到分辨率为16×16的图像,再次采样后得到分辨率为8×8的图像,再次采样后得到分辨率为4×4的图像,再次采样后得到分辨率为2×2的图像,再次采样后最终得到分辨率为1×1的图像,即图像金字塔顶层的只有1个像素的图像。
第一压缩单元310,对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩。
具体的,对于每个图像金字塔,处理方法如下:
首先,从所述图像金字塔的最顶层开始,通过该层对图像金字塔的下一层进行预测,得到预测结果。
具体的,使用该层的像素值对图像金字塔的下一层的像素进行填充,得到所述预测结果。示例性的,假设最顶层的1×1的像素取值为1,则通过填充得到的下一层2×2像素图像的预测结果为:
其次,根据所述预测结果与所述mask矩阵进行对比,得到比对结果。
具体的,将所述预测结果与所述mask矩阵中对应的像素位置的值进行比较,示例性的假设上述2×2像素图像对应的mask矩阵取值为:
则将(1)与(2)进行比较,得到的对比结果为1110(此处以1代表真,以0代表假)。
再次,根据所述mask矩阵对所述预测结果进行修正,得到修正后的预测结果:
最后,根据所述修正后的预测结果(3),采用上述方法对图像金字塔的下一层进行预测和比较,得到对比结果和修正后的预测结果,如此循环,直至所述图像金字塔的最底层。
最终,根据所述图像金字塔的顶层与其他每一层的比对结果得到所述图像金字塔对应的通道的二进制编码串。
对所述二进制编码串进行压缩。
示例性的,可以采用算术编码的方式对所述二进制编码串进行压缩,本发明实施例对具体的压缩方法不加限定。
第一合并单元312,根据所有分片的压缩结果得到所述图像的第一压缩结果。
具体的,合并所有分片的压缩结果,得到所述图像的第一压缩结果。本发明实施例对具体的合并方法不加限制。
进一步地,所述装置还包括:
第二压缩单元314,对所述每一分片的每个颜色通道进行压缩。
具体的,所述颜色通道包括:RGB通道或者YUV通道,如果该图像的颜色空间为RGB颜色空间,则该图像的三个通道分别为R、G、B通道,如果该图像的颜色空间为YUV颜色空间,则该图像的三个通道分别为Y、U、V通道。
第二合并单元316,合并所有分片的所有颜色通道的压缩结果,得到所述图像的第二压缩结果。
第三合并单元318,将所述第一压缩结果和所述第二压缩结果合并为所述图像的压缩结果。
本发明实施例提供一种对图像进行分片并对每片的形状进行压缩的装置,能够有效地表征非线性特征,并提升图像的压缩率。
Claims (9)
1.一种图像压缩方法,其特征在于,所述方法包括:
对图像进行分片;
对所述每一分片,计算其最小包络矩形;
对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵;
对所述每一分片,对所述mask矩阵进行采样编码;
对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩;
根据所有分片的压缩结果得到所述图像的第一压缩结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述最小包络矩形计算对应的mask矩阵包括:
对于所述最小包络矩形中的每一像素,如果该像素的取值不为空,则所述mask矩阵中与该像素对应的值为1,否则,所述mask矩阵中与该像素对应的值为0。
3.根据权利要求1所述的方法,其特征在于,所述对所述mask矩阵进行采样编码包括:
通过采样建立所述mask的图像金字塔,直到所述图像金字塔的顶层只有1个像素为止。
4.根据权利要求3所述的方法,其特征在于,所述根据所述mask矩阵和所述采样编码进行压缩包括:
从所述图像金字塔的最顶层开始,通过该层对图像金字塔的下一层进行预测,得到预测结果;
根据所述预测结果与所述mask矩阵进行对比,得到比对结果;
根据所述mask矩阵对所述预测结果进行修正,得到修正后的预测结果;
根据所述修正后的预测结果迭代地对图像金字塔的下一层进行预测和比较,得到对比结果和修正后的预测结果,直至所述图像金字塔的最底层;
根据所述图像金字塔的顶层与其他每一层的比对结果得到所述图像金字塔对应的mask矩阵的二进制编码串;
对所述二进制编码串进行压缩。
5.根据权利要求4所述的方法,其特征在于,通过该层对图像金字塔的下一层进行预测,得到预测结果包括:
使用该层的像素值对图像金字塔的下一层的像素进行填充,得到所述预测结果。
6.根据权利要求4所述的方法,其特征在于,所述根据所述预测结果与所述mask矩阵进行对比,得到比对结果包括:
对于所述预测结果中的每一个像素,计算其对应的mask值;
如果所述mask值与所述mask矩阵中对应的值相同,则对比结果为真;
否则,对比结果为假。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述每一分片的每个颜色通道进行压缩;
合并所有分片的所有颜色通道的压缩结果,得到所述图像的第二压缩结果;
将所述第一压缩结果和所述第二压缩结果合并为所述图像的压缩结果。
8.一种图像压缩装置,其特征在于,包括:
分片单元,用于对图像进行分片;
最小包络矩形计算单元,用于对所述每一分片,计算其最小包络矩形;
mask矩阵计算单元,用于对所述每一分片,根据所述最小包络矩形计算对应的mask矩阵;
采样单元,用于对所述每一分片,对所述mask矩阵进行采样编码;
第一压缩单元,用于对所述每一分片,根据所述mask矩阵和所述采样编码进行压缩;
第一合并单元,用于根据所有分片的压缩结果得到所述图像的第一压缩结果。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二压缩单元,用于对所述每一分片的每个颜色通道进行压缩;
第二合并单元,用于合并所有分片的所有颜色通道的压缩结果,得到所述图像的第二压缩结果;
第三合并单元,用于将所述第一压缩结果和所述第二压缩结果合并为所述图像的压缩结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710605703.0A CN109308723A (zh) | 2017-07-26 | 2017-07-26 | 一种图像压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710605703.0A CN109308723A (zh) | 2017-07-26 | 2017-07-26 | 一种图像压缩方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109308723A true CN109308723A (zh) | 2019-02-05 |
Family
ID=65201717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710605703.0A Pending CN109308723A (zh) | 2017-07-26 | 2017-07-26 | 一种图像压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109308723A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030072366A1 (en) * | 2001-09-20 | 2003-04-17 | Stmicroelectronics S.R.L. | Process and system for the compression of digital video signals, a system and a computer program product therefor |
US20040096117A1 (en) * | 2000-03-08 | 2004-05-20 | Cockshott William Paul | Vector quantization of images |
CN103065336A (zh) * | 2013-01-23 | 2013-04-24 | 中国矿业大学(北京) | 图像方向金字塔的编码方法 |
CN103455624A (zh) * | 2013-09-16 | 2013-12-18 | 湖北文理学院 | 一种轻量级全球多维遥感影像网络地图服务实现方法 |
CN106097251A (zh) * | 2016-06-22 | 2016-11-09 | 深圳信息职业技术学院 | 非均匀稀疏采样视频超分辨率方法 |
-
2017
- 2017-07-26 CN CN201710605703.0A patent/CN109308723A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040096117A1 (en) * | 2000-03-08 | 2004-05-20 | Cockshott William Paul | Vector quantization of images |
US20030072366A1 (en) * | 2001-09-20 | 2003-04-17 | Stmicroelectronics S.R.L. | Process and system for the compression of digital video signals, a system and a computer program product therefor |
CN103065336A (zh) * | 2013-01-23 | 2013-04-24 | 中国矿业大学(北京) | 图像方向金字塔的编码方法 |
CN103455624A (zh) * | 2013-09-16 | 2013-12-18 | 湖北文理学院 | 一种轻量级全球多维遥感影像网络地图服务实现方法 |
CN106097251A (zh) * | 2016-06-22 | 2016-11-09 | 深圳信息职业技术学院 | 非均匀稀疏采样视频超分辨率方法 |
Non-Patent Citations (2)
Title |
---|
TIAN-HU YU; JIANHUA CHEN; S.K. MITRA: "The contrast pyramid based image code", 《PROCEEDINGS OF INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》 * |
赵毅力等: "使用游程编码和SIMD指令集的快速图像融合", 《计算机辅助设计与图形学学报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7110370B2 (ja) | ビデオ符号化のための機械学習モデルの量子化パラメータに適用される非線形関数の使用 | |
CN110024393A (zh) | 用于视频译码的低复杂度符号预测 | |
WO2015120823A1 (zh) | 使用多种形式的参考像素存储空间的图像压缩方法和装置 | |
CN110800299B (zh) | 用于对图像数据的块进行熵代码化的扫描顺序自适应 | |
CN108605142A (zh) | 用于视频译码的多遍不可分开的变换 | |
CN104244007A (zh) | 基于任意形状匹配的图像压缩方法和装置 | |
CN108702517A (zh) | 使用优化的紧凑多遍变换的高效变换编码 | |
CN106576163A (zh) | 用于调色板模式译码的从先前行复制 | |
KR101354014B1 (ko) | 코딩 구조 | |
CN105338352A (zh) | 一种视频编码中自适应反量化方法及装置 | |
WO2016180129A1 (zh) | 预测模式选择方法、装置及设备 | |
Minaee et al. | Screen content image segmentation using sparse-smooth decomposition | |
KR20210003238A (ko) | 비디오 샘플들의 변환된 블록을 인코딩 및 디코딩하기 위한 방법, 장치 및 시스템 | |
CN111837140A (zh) | 视频代码化的感受野一致卷积模型 | |
WO2020190297A1 (en) | Using rate distortion cost as a loss function for deep learning | |
CN104021523B (zh) | 一种基于边缘分类的图像超分辨率放大的方法 | |
WO2020046434A1 (en) | Lossy image compression using palettization of locally mixed colors | |
TW201432584A (zh) | 圖像的識別方法、電子裝置與電腦程式產品 | |
CN110996101A (zh) | 一种视频编码的方法和装置 | |
US11212527B2 (en) | Entropy-inspired directional filtering for image coding | |
Zemliachenko et al. | Prediction of compression ratio in lossy compression of noisy images | |
CN107005702A (zh) | 用于处理数字图像的块的系统和方法 | |
AU2024200562A1 (en) | Tool selection for feature map encoding vs regular video encoding | |
CN109308723A (zh) | 一种图像压缩方法及装置 | |
CN113489976A (zh) | 预测编码方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190205 |
|
WD01 | Invention patent application deemed withdrawn after publication |