一种JPG图片有损压缩方法和装置
- 国知局
- 2024-09-11 14:49:53
本发明涉及图像处理领域,具体涉及一种jpg图片有损压缩方法和装置。
背景技术:
1、随着网络技术的飞速发展,人们越来越依赖于在线存储和传输图片,因此图片压缩在现代数字生活中扮演着至关重要的角色。它能有效减小图片文件的大小,从而加快上传和下载速度,提高网络浏览的流畅性。此外,对于存储容量有限的设备,图片压缩也显得尤为必要,它能节省宝贵的存储空间,让用户在有限的空间内保存更多的图片。压缩技术也能在不损失太多图像质量的前提下,对图片进行优化处理,满足用户在不同场合下的使用需求。
2、图片压缩对空间缩减的效果显著,这主要体现在图片在内存中的表示大小与存储为最常用的jpg或png文件的大小之间的对比上。图片在内存中的表示大小通常指的是其原始数据所占用的空间。这些原始数据包括了图像的每一个像素点以及其颜色、亮度等详细信息,因此往往占据较大的空间。在磁盘上,对于jpg格式,它采用了有损压缩的方式,通过牺牲一定的图像质量来换取更小的文件大小;而png格式则采用了无损压缩的方式,能够在保持图像质量的前提下进行压缩。
3、尽管png和jpg格式使用的压缩方法大大缩减图像数据所占用的空间。但由于图片相较于文本,其本身含有大量的信息,因此像png使用的无损压缩算法依旧无法将图片占用的空间压缩到令人满意的大小。而jpg使用的有损压缩算法很难做到图像质量和占用空间的两全。jpg格式较大的压缩率可以使图片的占用空间大大减小,但会导致图像的清晰度发生不可接收的损失。况且jpg格式作为一个通用的压缩方式,必须谨慎地平衡压缩速度和空间大小,因此无法胜任侧重占用空间的场景。
4、现有的新型技术更多地采用机器学习的方法压缩图片。随着机器学习和深度学习技术的不断进步,机器学习,特别是深度学习,可以学习图像的特征和模式,并使用这些知识来更高效地压缩图像。通过训练深度神经网络模型,可以将图像转换为更小的尺寸,同时保持图像的质量和细节。目前已经有一些基于机器学习的图像压缩方法被提出并取得了很好的效果。例如,基于卷积神经网络(cnn)的方法可以学习图像的特征,并将这些特征用于图像压缩。此外,还有一些基于生成对抗网络(gan)的方法,可以生成高质量的压缩图像。
5、然而在实践中应用机器学习压缩图片仍面临重重困难。一方面,使用机器学习压缩一张图片需要大量的计算资源进行训练和推理,这可能导致在处理大量图片时耗费大量时间。另一方面,机器学习模型的性能很大程度上依赖于训练数据,如果训练数据与实际应用场景中的数据分布不一致,可能会导致模型性能下降。最重要的是,机器学习模型将图片压缩成一个二进制文件,对该文件的解压和读取需要使用同一个模型。这样对企业来说,应用机器学习压缩图片时就不得不改变既有的服务的数据流,同时巨大的机器学习模型也限制了图片压缩服务的大量部署。一些企业试图在不改变jpg图片存储格式且接受一定图像质量损失的基础上进一步压缩图片文件的大小。
技术实现思路
1、本技术的目的在于针对上述提到的技术问题提出一种jpg图片有损压缩方法和装置。
2、第一方面,本发明提供了一种jpg图片有损压缩方法,包括以下步骤:
3、获取待压缩的jpg图片并读取待压缩的jpg图片的rgb数据;
4、将待压缩的jpg图片输入目标检测模型,得到目标检测结果,根据目标检测结果对待压缩的jpg图片中的每个像素赋予对应的权重,得到权重矩阵;
5、对rgb数据进行处理,得到dct变换后的数据;
6、采用权重矩阵对dct变换后的数据进行加权量化,得到量化后的数据;
7、将量化后的数据进行标准编码,得到压缩后的jpg图片。
8、作为优选,根据目标检测结果对待压缩的jpg图片中的每个像素赋予对应的权重,得到权重矩阵,具体包括:
9、遍历待压缩的jpg图片中的每个像素,目标检测结果包含至少一个目标区域,根据目标检测结果判断待压缩的jpg图片中的其中一个像素是否被至少一个目标区域覆盖,若是则将其中一个像素对应的权重赋予第一权重值,否则将其中一个像素对应的权重赋予第二权重值,第一权重值和第二权重值的取值范围为1~64的整数且第一权重值大于第二权重值;
10、将待压缩的jpg图片中的每个像素对应的权重作为权重矩阵的每个元素,构造出权重矩阵。
11、作为优选,目标检测模型包括vgg16模型。
12、作为优选,对rgb数据进行处理,得到dct变换后的数据,具体包括:
13、对rgb数据进行格式转换和边界填充,得到ycbcr数据,并划分处理单元;
14、对ycbcr数据中的cb通道和cr通道进行下采样,得到采样后的数据;
15、对采样后的数据进行dct变换,得到dct变换后的数据。
16、作为优选,采用权重矩阵对dct变换后的数据进行加权量化,得到量化后的数据,具体包括:
17、获取压缩参数,根据压缩参数生成y通道的量化表,将y通道的量化表中频率为0~m的分值调整降低,其余频率的分值保持不变,得到调整后的量化表;
18、对每个处理单元内的所有像素对应的权重计算其算术平均数的取整值,并调整相邻的处理单元的权重使相邻的处理单元的权重的差不超过1,得到每个处理单元对应的权重;
19、将dct变换后的数据与调整后的量化表中的对应的分值相除,得到量化后的处理单元;
20、遍历每个处理单元,基于每个处理单元对应的权重对量化后的处理单元中的所有频率的分值进行分段调整,得到量化后的数据。
21、作为优选,遍历每个处理单元,基于每个处理单元对应的权重对量化后的处理单元中的所有频率的分值进行分段调整,具体包括:
22、设处理单元对应的权重为w;
23、针对每个处理单元,响应于确定量化后的处理单元中的其中一个频率大于或等于0且小于w,则其中一个频率的分值保持不变;
24、响应于确定量化后的处理单元中的其中一个频率大于或等于max(w,32),则将其中一个频率的分值设置为0;
25、针对w小于32的处理单元,将量化后的处理单元中的频率大于或等于w且小于32的分值从小到大进行排序并进行分组,将组内的若干个分值均设置为组内的若干个分值的平均值。
26、第二方面,本发明提供了一种jpg图片有损压缩装置,包括:
27、数据读取模块,被配置为获取待压缩的jpg图片并读取待压缩的jpg图片的rgb数据;
28、目标检测模块,被配置为将待压缩的jpg图片输入目标检测模型,得到目标检测结果,根据目标检测结果对待压缩的jpg图片中的每个像素赋予对应的权重,得到权重矩阵;
29、数据处理模块,被配置为对rgb数据进行处理,得到dct变换后的数据;
30、加权量化模块,被配置为采用权重矩阵对dct变换后的数据进行加权量化,得到量化后的数据;
31、编码模块,被配置为将量化后的数据进行标准编码,得到压缩后的jpg图片。
32、第三方面,本发明提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
33、第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
34、第五方面,本发明提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
35、相比于现有技术,本发明具有以下有益效果:
36、(1)本发明提出的jpg图片有损压缩方法对生成的量化表进行调整,尽最大可能降低关键的低频dct频率的损失,使得图片在更高压缩率下相较于一般的jpg图片具有更好的图像质量,同时保持图像大小相近。
37、(2)本发明提出的jpg图片有损压缩方法利用目标检测模型对待压缩的jpg图片进行目标检测,以区别待压缩的jpg图片的不同部分,减小图片占用空间,同时不丢失重要信息。对于常见拍摄的1mb以上的照片,本发明提出的jpg图片有损压缩方法相较于标准的jpg压缩方法额外减少了50%的文件大小。
38、(3)本发明提出的jpg图片有损压缩方法将目标检测方法应用于传统的jpg图片压缩流程。不同于完全使用机器学习压缩图片的方法,本发明不改变文件的格式,也即不需要解压操作,不需要任何外部工具即可打开查看,该特点可以让企业不需要改变服务的数据流,并能够大量部署。
本文地址:https://www.jishuxx.com/zhuanli/20240911/292254.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表