CN116055728A - 图片的压缩方法及压缩装置 - Google Patents
图片的压缩方法及压缩装置 Download PDFInfo
- Publication number
- CN116055728A CN116055728A CN202310037374.XA CN202310037374A CN116055728A CN 116055728 A CN116055728 A CN 116055728A CN 202310037374 A CN202310037374 A CN 202310037374A CN 116055728 A CN116055728 A CN 116055728A
- Authority
- CN
- China
- Prior art keywords
- picture
- compression
- target
- preset
- format
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种图片的压缩方法及压缩装置,属于图片处理技术领域,所述压缩方法包括:根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略;通过所述第一压缩策略对所述第一图片进行压缩处理,以获得目标图片;若所述目标图片与所述第一图片的相似度值大于或等于预设的第一阈值,则保存所述目标图片。本申请在对图片进行高效压缩的同时能够保证图片的视觉质量,提升用户的视觉体验。
Description
技术领域
本申请涉及图片处理技术领域,特别涉及一种图片的压缩方法及压缩装置。
背景技术
随着互联网技术的发展,安卓(Android)系统中各种应用程序(application,App)的功能越来越多,应用程序安装包(Android application package,APK)的体积也变得越来越大。安装包中通常包含大量的图片,对安装包的体积具有较大的影响。为了减小安装包的体积,可以在APP开发阶段对各类格式的原始图片进行压缩处理,以实现APK体积的缩小,最终实现APP在安装时间、运行时内存、图片加载速率等方面的性能的提升。
相关技术中,首先获取安装包中的待压缩图片,之后通过哈夫曼压缩算法等各类方法对图片进行压缩,直至图片的体积小于或者等于预设的阈值之后,将压缩处理之后的图片保存至目标文件夹中。上述图片的压缩方法仅从图片的体积这一单一维度来对压缩进行控制,其主要通过所设置的体积大小阈值来判断图片是否需要再次进行压缩处理,在此过程中并未考虑多次压缩对于图片视觉质量的影响,由此可能造成压缩后的图片的视觉质量较差,导致用户的视觉体验也较差。
发明内容
本申请提供了一种图片的压缩方法及压缩装置,在对图片进行高效压缩的同时能够保证图片的视觉质量,提升用户的视觉体验。
第一方面,提供了一种图片的压缩方法,包括:
根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略;
通过所述第一压缩策略对所述第一图片进行压缩处理,以获得目标图片;
若所述目标图片与所述第一图片的相似度值大于或等于预设的第一阈值,则保存所述目标图片。
在一种可能的设计中,所述通过所述第一压缩策略对所述第一图片进行压缩处理,包括:
通过预设的第一子策略对所述第一图片进行压缩处理,以获得中间图片;
若所述中间图片与所述第一图片的相似度值大于或等于所述第一阈值,则通过预设的第二子策略对所述中间图片进行压缩处理,以获得所述目标图片。
在一种可能的设计中,所述压缩方法还包括:
若所述目标图片与所述第一图片的相似度值小于所述第一阈值,则保存所述中间图片。
在一种可能的设计中,所述压缩方法还包括:
若所述目标图片与所述第一图片的相似度值小于所述第一阈值,则保存所述第一图片。
在一种可能的设计中,所述根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略之前,所述压缩方法还包括:
确定所述第一图片的元数据中不包含指示字段,所述指示字段用于指示图片已完成压缩处理;
所述保存所述目标图片之前,所述压缩方法还包括:
将所述指示字段写入所述目标图片的元数据中。
在一种可能的设计中,所述根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略之前,所述压缩方法还包括:
遍历待提交的所有文件内容,以获取至少一张待处理图片的路径,所述至少一张待处理图片包括所述第一图片。
在一种可能的设计中,所述根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略,包括:
根据所述第一图片的图片格式以及所述第一图片的透明通道的信息确定出所述第一压缩策略。
在一种可能的设计中,所述第一压缩策略包括进行图片位数压缩、去除图片的元数据以及转换图片格式中的至少一种。
第二方面,提供了一种图片的压缩装置,包括:
确定单元,用于根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略;
压缩单元,用于通过所述第一压缩策略对所述第一图片进行压缩处理,以获得目标图片;
保存单元,用于在所述目标图片与所述第一图片的相似度值大于或等于预设的第一阈值时,保存所述目标图片。
在一种可能的设计中,所述压缩单元具体用于:
通过预设的第一子策略对所述第一图片进行压缩处理,以获得中间图片;
若所述中间图片与所述第一图片的相似度值大于或等于所述第一阈值,则通过预设的第二子策略对所述中间图片进行压缩处理,以获得所述目标图片。
在一种可能的设计中,所述保存单元还用于:
若所述目标图片与所述第一图片的相似度值小于所述第一阈值,则保存所述中间图片。
在一种可能的设计中,所述保存单元还用于:
若所述目标图片与所述第一图片的相似度值小于所述第一阈值,则保存所述第一图片。
在一种可能的设计中,所述确定单元还用于:
确定所述第一图片的元数据中不包含指示字段,所述指示字段用于指示图片已完成压缩处理;
所述压缩装置还包括:
写入单元,用于将所述指示字段写入所述目标图片的元数据中。
在一种可能的设计中,所述压缩装置还包括:
获取单元,用于遍历待提交的所有文件内容,以获取至少一张待处理图片的路径,所述至少一张待处理图片包括所述第一图片。
在一种可能的设计中,所述确定单元具体用于:
根据所述第一图片的图片格式以及所述第一图片的透明通道的信息确定出所述第一压缩策略。
在一种可能的设计中,所述第一压缩策略包括进行图片位数压缩、去除图片的元数据以及转换图片格式中的至少一种。
第三方面,提供了一种图片的压缩装置,包括:处理器;存储器;以及计算机程序,其中所计算机程序被存储在所述存储器中,当所述计算机程序被所述处理器执行时,使得所述压缩装置执行上述第一方面中的任意一种可能设计所提供的压缩方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中的任意一种可能设计所提供的压缩方法。
第五方面,提供了一种芯片系统,包括处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片系统的电子设备执行上述第一方面中任一种可能设计所提供的压缩方法。
第六方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中任一种可能设计所提供的压缩方法。
需要说明的是,上述计算机程序代码可以全部或者部分存储在第一存储介质上,其中第一存储介质可以与处理器封装在一起的,也可以与处理器单独封装,本申请对此不作具体限定。
由于单一的压缩策略无法保证对不同格式的图片均能够具有较高的压缩效率,根据本申请提供的压缩方法,当获取到某张待压缩图片(即第一图片)之后,首先根据第一图片的格式从预设的多个压缩策略中选择匹配的压缩策略(即第一压缩策略),不同格式的图片可以使用不同的压缩策略进行压缩,由此能够确保各种格式的图片均能够具有较高的压缩效率。这样,当对APP开发阶段的项目文件夹中包含的不同格式的多个待压缩图片进行批量的压缩处理时,有利于提高整体的图片压缩效率,进而能够有效降低文件夹(安装包)的体积。
进一步地,根据本申请实施例提供的压缩方法,压缩处理后获得的图片(即目标图片)并不是一定会被保存起来,而是需要进行相似度值的验证,当压缩前后的两张图片的相似度值大于或等于预设的第一阈值时才能够被保存起来,此时可以使用目标图片来取代第一图片以降低安装包的体积,而当压缩前后的两张图片的相似度值小于预设的第一阈值时,可以保存第一图片而不保存目标图片。由此在对图片进行高效压缩的同时能够保证图片的视觉质量,有利于提升用户的视觉体验。
本申请实施例提供的压缩方法在保证图片视觉质量一定的前提下,png格式图片的普遍压缩率可以达到65%-75%,jpg格式图片的普遍压缩率可达50-70%,gif格式图片的普遍压缩率可达10%-20%。相较于其他Android平台在图片实际加载过程中进行压缩优化处理的方案,本方案从项目的源头解决了图片压缩处理的问题,有着更好的普适性。
附图说明
图1是本申请实施例提供的图片的压缩方法的一例的流程图。
图2是本申请实施例提供的图片的压缩方法的另一例的流程图。
图3是本申请实施例提供的图片的压缩方法的再一例的流程图。
图4是本申请实施例提供的图片的压缩方法的再一例的流程图。
图5是本申请实施例提供的图片的压缩方法的再一例的流程图。
图6是本申请实施例提供的图片的压缩方法的再一例的流程图。
图7是本申请实施例提供的图片的压缩方法的再一例的流程图。
图8是本申请实施例提供的图片的压缩装置的示意性框图。
图9是本申请实施例提供的图片的压缩装置的结构框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
本文中术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请实施例首先提供一种图片的压缩方法,该压缩方法在对图片进行高效压缩的同时能够保证图片的视觉质量,提升用户的视觉体验。
图1是本申请实施例提供的图片的压缩方法100的一例的流程图。如图1所示,本申请实施例提供的压缩方法100可应用于台式计算机、服务器、笔记本电脑、平板电脑、智能手机等任意的电子设备中,但不限于此。压缩方法100的执行主体可以是电子设备或者电子设备内部的处理器或者芯片。压缩方法100包括步骤110-步骤150。
步骤110,电子设备根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略,其中,所述第一图片可以为至少一张待处理图片中的一张,例如可以是其中的任意一张。
步骤120,电子设备通过该第一压缩策略对第一图片进行压缩处理,以获得目标图片;
步骤130,电子设备判断目标图片与第一图片的相似度值是否大于或等于预设的第一阈值,若是,则进入步骤140,若否,则进入步骤150。
步骤140,电子设备保存目标图片。
步骤150,电子设备保存第一图片。
为了减小安装包的体积,在项目开发阶段,电子设备可以对项目文件夹中的各类格式的原始图片进行压缩处理。在这里,待处理图片可以包括一张或者多张,并且其中包括第一图片,电子设备可以按照一定的顺序对这至少一张待处理图片进行压缩处理。当电子设备对其中的第一图片进行处理时,电子设备可以首先根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略,并使用第一压缩策略来对第一图片进行压缩处理,以获得目标图片。该第一压缩策略与第一图片的图片格式相互匹配,通过第一压缩策略对第一图片进行压缩具有较佳的压缩效率,即此时目标图片具有较小的体积。
电子设备进一步判断目标图片与第一图片的相似度值是否大于或等于预设的第一阈值,这里的第一阈值可以根据实际需求预先设定好,例如第一阈值可以是70%~90%,具体可以为75%、80%或者85%等,但不限于此。若目标图片与第一图片的相似度值大于或等于预设的第一阈值,说明目标图片相对于第一图片(即压缩后的图片相对于原始图片)的视觉质量(视觉体验)比较接近,图片的视觉质量并未受到比较大的影响,此时电子设备可以将目标图片保存至预先设置好的目标文件夹中(输出目标图片),通过目标图片来取代第一图片,进而能够减小安装包的体积。若目标图片与第一图片的相似度值小于预设的第一阈值时,说明目标图片相对于第一图片的视觉质量受到了比较大的影响(损失),此时应当以保证图片的视觉质量为前提,可以将第一图片保存至预先设置好的目标文件夹中(输出第一图片),而不保存目标图片。
由于单一的压缩策略无法保证对不同格式的图片均能够具有较高的压缩效率,根据本申请提供的压缩方法100,当获取到某张待压缩图片(即第一图片)之后,首先根据第一图片的格式从预设的多个压缩策略中选择匹配的压缩策略(即第一压缩策略),不同格式的图片可以使用不同的压缩策略进行压缩,由此能够确保各种格式的图片均能够具有较高的压缩效率。这样,当对APP开发阶段的项目文件夹中包含的不同格式的多个待压缩图片进行批量的压缩处理时,有利于提高整体的图片压缩效率,进而能够有效降低项目文件夹(安装包)的体积。
进一步地,根据本申请实施例提供的压缩方法100,压缩处理后获得的图片(即目标图片)并不是一定会被保存起来,而是需要进行相似度值的验证,当压缩前后的两张图片的相似度值大于或等于预设的第一阈值时才能够被保存起来,此时可以使用目标图片来取代第一图片以降低安装包的体积,而当压缩前后的两张图片的相似度值小于预设的第一阈值时,可以保存第一图片而不保存目标图片。由此在对图片进行高效压缩的同时能够保证图片的视觉质量,有利于提升用户的视觉体验。
本申请实施例提供的压缩方法100在保证图片视觉质量一定的前提下,png格式图片的普遍压缩率可以达到65%-75%,jpg格式图片的普遍压缩率可达50-70%,gif格式图片的普遍压缩率可达10%-20%。相较于其他Android平台在图片实际加载过程中进行压缩优化处理的方案,本方案从项目的源头解决了图片压缩处理的问题,有着更好的普适性。
可选地,第一图片的图片格式可以是jpg、png或者gif中的任一种,但不限于此。例如第一图片的图片格式还可以是psd、tif、bmp、pcx、tga、exif、fpx、svg、cdr、pcd、dxf、ufo、eps、ai、raw、WMF、webp、avif或者apng等。
在步骤110中,电子设备可以根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略,本申请对电子设备具体如何确定出第一压缩策略不作特殊限定,例如可以根据预设的算法或者逻辑来进行确定。在本申请实施例中,电子设备可以根据预先设置好的图片格式与压缩策略的映射关系来确定出第一压缩策略。
例如,多个图片格式与多个预设的图片压缩策略可以一一对应,电子设备可以首先确定第一图片的图片格式,之后根据上述对应关系从多个预设的图片压缩策略中确定出第一压缩策略。
再例如,也可以是多种图片格式对应其中的一个图片压缩策略,此时该图片压缩策略适用于多种不同的图片格式。
再例如,也可以是1种图片格式对应其中的多个图片压缩策略,此时多个图片压缩策略适用于同一种图片格式。进一步地,电子设备可以选择其中任意一种,或者进一步结合图片的其他信息(例如属性信息)来确定选择其中的具体哪一个压缩策略。
表1是图片格式与压缩策略的映射关系表。作为一个具体的示例,若电子设备确定第一图片的图片格式为格式#1,则根据表1中的内容可以确定第一压缩策略为压缩策略#1。若电子设备确定第一图片的图片格式为格式#2,则根据表1中的内容可以确定第一压缩策略为压缩策略#2。若电子设备确定第一图片的图片格式为格式#3或者格式#4,则根据表1中的内容可以确定第一压缩策略为压缩策略#3。
表1:
若电子设备确定第一图片的图片格式为格式#5,则根据表1中的内容可以确定第一压缩策略为压缩策略#4或者压缩策略#5。电子设备可以选择上述二者中的任意一个作为第一压缩策略,或者进一步结合第一图片的其他信息来确定选择其中的具体哪一个作为第一压缩策略。
作为一种可能的实现方式,可以根据第一图片的图片格式以及第一图片的透明通道的信息确定出第一压缩策略。在这里,第一图片的透明通道的信息可以包括是否存在透明通道、是否存在不必要的透明通道等信息。
具体地,对于png等格式的图片来说,可以简单分为包含透明通道和不包含透明通道两种类型,包含透明通道的png格式图片在预览时周围一圈的内容显示是可以透明的,这类图片的透明通道是必要的。然而,对于某些png格式图片,其图片中包含了透明通道,但是在显示时并不没有透明显示的需求,那么这种透明通道就是非必要的。
图片文件在存储时是按照像素点为小单位存储的,所谓的位数就是一个像素点在存储时使用了多少位byte。一张典型的带有透明通道的png格式图片的一个像素点需要32位数据分别存储RGBA,其中A即为透明通道存储所需的空间。也就是说,带有透明通道的png图片是32位的,若每个像素点透明通道存储的数据均为FF(即不透明)则该张图片为包含不必要的透明通道的图片。电子设备可以通过上述信息,并且结合第一图片的格式来从多个压缩策略中确定出第一压缩策略。
这里的图片压缩策略可以包括能够对图片进行压缩处理的任意的方法、算法(例如前述的哈夫曼压缩算法)、方式或者步骤等,本申请对此不作特殊限定。
可选地,这里的图片压缩策略可以包括进行图片位数压缩、去除图片的元数据以及转换图片格式中的一种或者多种。
例如,可以通过预设的算法将32位或者24位的图片压缩成8位或者16位的图片。
再例如,可以去除图片的部分不必要的元数据。
在这里,图片的元数据是描述图片特征的一些数据,包括图片的作者、日期等信息。可以通过去除部分元数据实现对图片的压缩。这里所谓的不必要的元数据可以是预设的算法通过一定的逻辑进行验证的。例如,可以将图片的xmp、exif等元数据块的内容去除。
再例如,可以通过转换图片格式来实现对图片的压缩。比如可以将png格式的图片转换成jpg或者无损webp格式。经过测试,png格式的图片进行webp格式的转换以后可以进一步减少图片的体积。
可选地,电子设备可以由本地安装的软件或者工具来实现对第一图片的压缩处理,也可以由在线图片压缩工具来实现对第一图片的压缩处理。也就是说,这里预设的图片压缩策略可以包括电子设备调用本地程序或者调用在线程序(工具)来实现对第一图片的压缩。
例如,可以由tinyPng、PNGCrush、packJPG、pngquant或者gifsicle等工具来实现对第一图片的压缩。
作为一个具体的示例,在线图片压缩工具tinyPng是这些处理工具里面压缩效果(包括压缩率以及压缩后图片质量)较好的一个工具,因此可以通过tinyPng来对第一图片进行压缩。此时电子设备可以发送Http请求至tinyPng,请求消息中可以携带第一图片,tinyPng对第一图片进行压缩处理以后得到目标图片,并且将目标图片返回至电子设备。
在步骤120-步骤140中,电子设备通过确定出的第一压缩策略对第一图片进行压缩处理,以获得目标图片,若目标图片与第一图片的相似度值大于或等于预设的第一阈值,则保存目标图片。
在这里,相似度值能够表征目标图片与第一图片的相似度,相似度值越大,则说明处理前后的两张图片的越相似,二者的视觉质量(视觉体验)也越接近。可以通过直方图、感知哈希等任意的图片相似度对比算法来计算得到该相似度值。
在本申请实施例中,可以通过结构相似性(structural similarity,SSIM)来计算得到该相似度值。换句话说,本申请中的相似度值可以为SSIM值。SSIM是一种用来衡量图片相似度的指标,也可用来判断图片压缩后的质量。相较于其它算法,SSIM算法立足于人眼的视觉感官,可以更好地衡量图片处理之后人眼看上去的感觉。
图2是本申请实施例提供的图片的压缩方法的另一例的流程图。下面结合附图2对本申请实施例提供的压缩方法作进一步介绍,图2与图1中的相同步骤可参见前述对图1的相关介绍,本实施例中不在赘述。
步骤101,电子设备遍历待提交的所有文件内容,以获取至少一张待处理图片的路径。
具体地,代码版本管理远程仓库保存Android项目代码的最终版本,在通过版本管理工具向远程库同步代码应当保证本次提交中的所有图片均经过压缩处理,不允许未处理的图片被同步至远程库。此时电子设备可以遍历待提交的所有文件内容,以获取至少一张待处理图片的路径(例如相对路径),进而能够确定需要进行压缩处理的图片的数量以及其保存路径。电子设备可以按照一定的顺序对多张待处理图片依次进行处理。
可选地,这里的待提交的所有文件内容,可以是整个Android项目文件,即整个Android项目中所有图片均未进行压缩处理,此时需要对项目中包含的所有图片均进行一次处理(全量式处理)。
具体地,首先以递归的形式遍历项目初始目录,获取项目中以drawable开头的文件夹路径(在递归的过程中剔除build文件夹下符合条件的文件夹)。其次,依次遍历目标文件夹中各文件内容,通过文件后缀名判断文件是否为图片,获取到的jpg、png、gif等格式图片资源的路径即为待处理图片路径。
可选地,针对Android项目中的图片可能已经经过了一次全量处理,这里的待提交的所有文件内容可以是后续提交的添加、替换的文件内容。
此时可以通过第三方代码版本控制工具获取本次提交中涉及到的所有文件的路径,随后遍历这些文件路径,通过文件后缀名判断文件是否为图片,获取到的jpg、png、gif等格式的图片资源的路径即为待处理图片路径。
步骤102,电子设备确定第一图片的元数据中是否包含指示字段,该指示字段用于指示图片已完成压缩处理(即该图片被进行过压缩处理)。若第一图片的元数据中包含该指示字段,则说明第一图片已经经过了一次处理,无需再次进行处理,此时可以进入步骤103。若第一图片的元数据中不包含该指示字段,说明第一图片还未进行过压缩处理,此时进入步骤110。
可选地,这里的指示字段可以是isModifiedByTPImageHandler字段,也可以是其他字段。这里的指示字段可以包括1个或者多个字节或比特。
步骤103,处理下一张图片。即按照同样的压缩方法来对其余的待处理图片进行压缩处理,直至所有图片均被压缩处理完成。
步骤110,电子设备根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略,其中,所述第一图片为至少一张待处理图片中的任意一张。
步骤120,电子设备通过该第一压缩策略对第一图片进行压缩处理,以获得目标图片;
步骤130,电子设备判断目标图片与第一图片的相似度值是否大于或等于预设的第一阈值,若是,则进入步骤131,若否,则进入步骤150。
步骤131,电子设备将该指示字段写入目标图片的元数据内。通过前述的指示字段的验证,以后处理完成后写入指示字段的步骤,能够确保图片压缩处理的“唯一性”,防止图片经过多次压缩处理后图片质量持续下降。
步骤140,电子设备保存写入指示字段后的目标图片。
步骤150,电子设备保存第一图片。
图3是本申请实施例提供的图片的压缩方法的另一例的流程图。下面结合附图3对本申请实施例提供的压缩方法作进一步介绍,图3与图1中的相同步骤可参见前述对图1的相关介绍,本实施例中不在赘述。
步骤110,电子设备根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略,其中,所述第一图片为至少一张待处理图片中的任意一张。
步骤120,具体包括步骤121、步骤122以及步骤123。
步骤121,电子设备通过预设的第一子策略对第一图片进行压缩处理,以获得中间图片;
步骤122,电子设备确定中间图片与第一图片的相似度值是否大于或等于第一阈值,若是,则进入步骤123。若否,则进入步骤150,电子设备保存第一图片。
步骤123,电子设备通过预设的第二子策略对中间图片进行压缩处理,以获得目标图片。
也就是说,第一压缩策略可以包括第一子策略和第二子策略在内的多个子策略,在确保压缩后的图片具备足够的图片质量的前提下,能够对图片进行多次压缩(例如两次或者两次以上),由此能够进一步提高压缩效率,降低目标图片的体积。
可选地,第一子策略和第二子策略可以相同也可以不同。
可选地,第一子策略可以包括进行图片位数压缩、去除图片的元数据以及转换图片格式中的一种或者多种。
可选地,第二子策略可以包括进行图片位数压缩、去除图片的元数据以及转换图片格式中的一种或者多种。
例如,第一子策略可以为通过本地或者在线工具对第一图片进行图片位数压缩和去除图片的元数据,以获得中间图片。第二子策略可以为对中间图片进行格式转换以获得目标图片。
再例如,第一子策略可以为对第一图片进行格式转换以获得中间图片,第二子策略可以为通过本地或者在线工具对第中间图片进行图片位数压缩和去除图片的元数据,以获得目标图片。
步骤130,电子设备判断目标图片与第一图片的相似度值是否大于或等于预设的第一阈值,若是,则进入步骤140,若否,则进入步骤160。
步骤140,电子设备保存目标图片。
步骤160,电子设备保存中间图片。中间图片为第一图片经过第一子策略压缩后得到的图片,其满足对图片视觉质量的要求,在目标图片不满足视觉质量要求的前提下,可以将中间图片保存至预设的目标文件夹内,以替代第一图片。
下面结合具体的示例来对本申请实施例提供的压缩方法作进一步介绍。后续实施例提供的压缩方法200、压缩方法300、压缩方法400以及压缩方法500可以看作是对前述压缩方法100的进一步说明,是压缩方法100的一个更加具体且下位的实施例。
图4是本申请实施例提供的图片的压缩方法200的流程图。如图4所示,压缩方法200包括步骤201-步骤225。
步骤201,图片处理开始;
步骤202,获取待处理图片的路径清单;
步骤203,按照预设顺序进行某张图片(即第一图片)的处理;
步骤204,确定图片是否为png格式,若是,则进入步骤205。
步骤205,确定png格式的图片是否包含透明通道,若是,则进入步骤206。
步骤206,确定是否包含不必要的透明通道(即继续判断该透明通道存在的必要性,也即判断该png图片是否是32位且透明通道的数值是否均为FF),若是,则进入步骤207。
步骤207,将png格式的图片转换成jpg格式的图片(即将第一图片压缩为中间图片)。
步骤208,计算处理前后图片的相似度值(即计算中间图片与第一图片的相似度值,例如SSIM值)。
步骤209,确定相似度值是否大于相似度阈值(即前述的第一阈值),若是,则进入步骤210,若否,则进入步骤224,保存原有图片(即保存第一图片)。
步骤210,发送Http请求至tinyPng,即建立http连接,将图片传输至tinyPng,通过其内部算法进行位数的压缩与元数据的去除(即将中间图片压缩为目标图片)。
步骤211,计算处理前后图片的相似度值(即计算目标图片与第一图片的相似度值)。
步骤212,确定相似度值是否大于相似度阈值(即前述的第一阈值),若是,则进入步骤213,若否,则进入步骤225,保存经过步骤207处理之后得到的图片(即保存中间图片)。
步骤213,保存处理之后的图片(即保存目标图片)。
步骤214,若步骤205中确定png格式的图片不包含透明通道,或者步骤206中确定不包含不必要的透明通道(即透明通道的数值是必要的),则发送Http请求至tinyPng,即建立http连接,将图片传输至tinyPng,通过其内部算法进行位数的压缩与元数据的去除(即将第一图片压缩为中间图片)。
步骤215,计算处理前后图片的相似度值(即计算中间图片与第一图片的相似度值,例如SSIM值)。
步骤216,确定相似度值是否大于相似度阈值(即前述的第一阈值),若是,则进入步骤217,若否,则进入步骤224,保存原有图片(即保存第一图片)。
步骤217,将png格式的图片转换成无损webp格式的图片(即将中间图片压缩为目标图片)。之后进入步骤211,计算处理前后图片的相似度值(即计算目标图片与第一图片的相似度值)。之后进入步骤212,确定相似度值是否大于相似度阈值(即前述的第一阈值),若是,则进入步骤213,保存处理之后的图片(即保存目标图片);若否,则进入步骤225,保存经过步骤214处理之后得到的图片(即保存中间图片)。
步骤218,若步骤204中确定图片不是png格式,则确定图片是否为jpg格式。若是,则进入步骤210,发送Http请求至tinyPng,即建立http连接,将图片传输至tinyPng,通过其内部算法进行位数的压缩与元数据的去除(即将第一图片压缩为目标图片)。之后进入步骤211,计算处理前后图片的相似度值(即计算目标图片与第一图片的相似度值);之后进入步骤212,确定相似度值是否大于相似度阈值(即前述的第一阈值),若是,则进入步骤213,保存处理之后的图片(即保存目标图片)。若否,则进入步骤225,保存原有图片(即保存第一图片)。
步骤219,若步骤218中确定图片格式不是jpg,则进一步确定图片格式是否为gif。若是,则进入步骤220,若否,则返回步骤203。
步骤220,使用gifsicle进行压缩(即将第一图片压缩为目标图片)。
步骤221,使用gifsicle抽取压缩前后图片的第一帧图片(gif格式的图片通常具有多帧图片,这里也可以对应抽取相同的任意一帧图片)。之后进入步骤211,计算处理前后图片的相似度值(即计算目标图片与第一图片的相似度值);之后进入步骤212,确定相似度值是否大于相似度阈值(即前述的第一阈值),若是,则进入步骤213,保存处理之后的图片(即保存目标图片)。若否,则进入步骤225,保存原有图片(即保存第一图片)。
步骤222,确定图片是否全部处理完毕。若是,则进入步骤223,若否,则返回步骤203。
步骤223,图片处理结束。
图5是本申请实施例提供的图片的压缩方法300的流程图。如图5所示,压缩方法300包括步骤301-步骤306。
步骤301,开始处理图片。
步骤302,获取待处理图片的相对路径。
步骤303,确定该图片的元数据中是否包含isModifiedByTPImageHandler字段(即前述的指示字段),若是则返回步骤302,若否则进入步骤304。
步骤304,按照预设的图片压缩策略进行图片压缩处理(即将第一图片压缩为目标图片,具体处理过程可参见前述压缩方法100)。
步骤305,向处理之后的图片的元数据块中写入isModifiedByTPImageHandler字段(即向目标图片的元数据中写入指示字段)。
步骤306,图片处理结束。
具体地,压缩方法300主要说明了本申请实施例提供的图片处理唯一性策略。经过大量图片测试验证,上述图片处理策略若对同一张图片进行多次处理,会造成图片视觉质量的持续下降,最终导致图片无法通过UI部门的审核,因此在图片处理过程中应当避免对已经处理过图片的二次处理。为了实现上述功能,图片的处理流程中涉及对图片元数据(即保存在图片中描述图片特性的数据)的处理。在处理图片之前,获取图片元数据块中的数据,遍历其中的内容,判断其是否包含isModifiedByTPImageHandler字段,若包含,则说明这张图片已经被处理过,本次无需处理,并进行下一张图片的处理;若不包含,则说明这张图片没有被处理过,按照上述压缩策略进行处理,在处理完毕后需要向图片的元数据块中写入isModifiedByTPImageHandler字段。
图6是本申请实施例提供的图片的压缩方法400的流程图。如图6所示,压缩方法400包括步骤401-步骤407。
步骤401,开始获取图片路径(例如可以是相对路径);
步骤402,确定启动方式是全量还是增量,若是全量,则进入步骤403。
步骤403,搜寻项目初始目录下以drawable开头的文件夹(过滤build文件夹下的内容)。
步骤404,遍历文件夹下的各文件,获取jpg、png、gif格式文件路径。
步骤405,若确定启动方式是增量,则通过第三方库版本控制工具获取本次提交中所有文件的路径。
步骤406,遍历所有文件路径,获取jpg、png、gif格式文件路径。
具体地,压缩方法400主要说明了本申请实施例提供的快速查询待处理图片路径策略。按照图片处理的需求,快速查询待处理图片路径策略可以分为全量式和增量式两种。其中,全量式主要针对目标Android项目中所有图片均为未进行任何处理,需要对项目中包含的所有图片均进行一次处理;增量式处理主要针对目标Android项目中图片已经经过了一次全量处理,处理后续添加、替换的图片即可。
全量式处理流程如下:首先以递归的形式遍历项目初始目录,获取项目中以drawable开头的文件夹路径(在递归的过程中剔除build文件夹下符合条件的文件夹)。其次,依次遍历目标文件夹中各文件内容,通过文件后缀名判断文件是否为图片,获取到的jpg、png、gif格式图片资源的路径即为待处理图片路径。
增量式处理流程如下:通过第三方代码版本控制工具获取本次代码提交中涉及到的所有文件的路径,随后遍历这些文件路径,通过文件后缀名判断文件是否为图片,获取到的jpg、png、gif格式图片资源的路径即为待处理图片路径。
图7是本申请实施例提供的图片的压缩方法500的流程图。如图7所示,压缩方法500包括步骤501-步骤514。
步骤501,开始提交代码至远程库。
步骤502,Git pre-commit触发,清空resultcode文件内容并运行名为tpimagehandler的Gradle task。
步骤503,TPImageHandler启动。
步骤504,获取待处理图片文件清单。
步骤505,是否有需要处理的图片,若是则进入步骤506。
步骤506,开始压缩处理图片。
步骤507,确定图片处理过程中是否发生错误,若否则进入步骤508。
步骤508,向Resultcode.txt文件写入0。
步骤509,将图片相对路径写入globalProcessed。
步骤510,若步骤507中确定图片处理过程发生错误,则向Resultcode.txt文件写入1。
步骤511,确定所有图片是否处理完毕,若是则进入步骤512,若否则返回步骤504。
步骤512,Git add后重新提交,即返回步骤502。
步骤513,若步骤505中确定没有需要处理的图片,则确定resultcode文件内容是否为空,若是(即不包含“1”),则进入步骤514,否则返回步骤512。
步骤514,增量式图片处理成功,允许本次Commit。
具体地,压缩方法500主要说明了本申请实施例提供的图片处理绝对性策略。由于代码版本管理远程仓库保存的是项目代码的最终版本,在通过版本管理工具向远程库同步代码应当保证本次提交中的图片均经过处理,不允许未处理的图片被同步至远程库,因此应当保证图片处理的绝对性。
图片处理的绝对性通过代码版本控制工具的钩子函数来实现,通过撰写相关的钩子脚本拦截代码提交的请求,在清空Resultcode.txt文件中的内容之后触发处理图片的任务。该任务执行之后,首先通过上述图片路径获取策略判断本次提交中是否存在需要进行处理的图片,若不存在,Resultcode.txt文件中内容为空,则放行本次提交,提交成功;若存在,则按照上述图片压缩策略对相关图片进行处理。在处理的过程中,若程序未发生错误,则在各张图片的处理之后,向ResultCode.txt文件中写入0,表示本张图片处理成功;若程序发生错误,向ResultCode.txt文件中写入1,表示本次图片处理失败,然后脚本会按照ResultCode中的内容显示不同的提示内容,包括“图片处理成功,请add后重新提交”以及“图片处理失败,请重新处理”。最后,无论图片是否处理成功,均需添加后重新提交,再次进行上述流程,直至待处理图片均经过成功处理。
上文结合图1至图7详细描述了本申请实施例提供的图片的压缩方法,下面结合图8、图9详细描述本申请实施例的图片的压缩装置。应理解,图8、图9所示的压缩装置能够实现图1-图7所示的方法流程中的一个或者多个的步骤。为避免重复,在此不再详细赘述。
图8是本申请实施例提供的图片的压缩装置800的示意性框图。如图8所示,该压缩装置800包括确定单元810、压缩单元820、保存单元830、写入单元840以及获取单元850。
确定单元810,用于根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略;
压缩单元820,用于通过所述第一压缩策略对所述第一图片进行压缩处理,以获得目标图片;
保存单元830,用于在所述目标图片与所述第一图片的相似度值大于或等于预设的第一阈值时,保存所述目标图片。
在一种可能的设计中,所述压缩单元820具体用于:
通过预设的第一子策略对所述第一图片进行压缩处理,以获得中间图片;
若所述中间图片与所述第一图片的相似度值大于或等于所述第一阈值,则通过预设的第二子策略对所述中间图片进行压缩处理,以获得所述目标图片。
在一种可能的设计中,所述保存单元830还用于:
若所述目标图片与所述第一图片的相似度值小于所述第一阈值,则保存所述中间图片。
在一种可能的设计中,所述保存单元830还用于:
若所述目标图片与所述第一图片的相似度值小于所述第一阈值,则保存所述第一图片。
在一种可能的设计中,所述确定单元810还用于:
确定所述第一图片的元数据中不包含指示字段,所述指示字段用于指示图片已完成压缩处理;
所述压缩装置还包括:
写入单元840,用于将所述指示字段写入所述目标图片的元数据中。
在一种可能的设计中,所述压缩装置还包括:
获取单元850,用于遍历待提交的所有文件内容,以获取至少一张待处理图片的路径,所述至少一张待处理图片包括所述第一图片。
在一种可能的设计中,所述确定单元810具体用于:
根据所述第一图片的图片格式以及所述第一图片的透明通道的信息确定出所述第一压缩策略。
在一种可能的设计中,所述第一压缩策略包括进行图片位数压缩、去除图片的元数据以及转换图片格式中的至少一种。
具体地,该压缩装置800可对应于根据本申请实施例提供的压缩方法100-压缩方法500中的电子设备,或配置于电子设备中的芯片。该压缩装置800可以包括用于执行图1-图7中电子设备执行的方法的各个单元。并且,该压缩装置800中的各单元和上述其他操作和/或功能分别为了实现压缩方法100-压缩方法500的相应流程,各单元执行上述相应步骤的具体过程在压缩方法100-压缩方法500中已经详细说明,为了简洁,在此不再赘述。
本申请实施例还提供了一种图片的压缩装置900,图9是本申请实施例提供的压缩装置900的结构框图。如图9所示,压缩装置900包括处理器910以及存储器920,上述各个器件可以通过一个或者多个总线930连接。
压缩装置900还包括计算机程序921,计算机程序921被存储在存储器920中,当该计算机程序921被处理器910执行时,使得压缩装置900执行上述图1-图7所示的压缩方法100-压缩方法500。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应实体器件的功能描述,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行上述图1-图7所示的压缩方法100-压缩方法500。
本申请实施例还提供了一种计算机程序产品,包括:计算机程序代码,当所述计算机程序代码在电子设备上运行时,使得所述电子设备执行上述图1-图7所示的压缩方法100-压缩方法500。
本申请实施例还提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的电子设备执行上述图1-图7所示的压缩方法100-压缩方法500。
通过以上实施方式的描述,所属技术领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明。实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
应该理解到,本申请所提供的几个实施例中所揭露的装置和流程,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的。例如,模块或单元的划分,仅仅为一种逻辑功能划分。实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置。另外,一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是物理上分开的,也可以不是物理上分开的。作为单元显示的部件可以是一个物理单元或多个物理单元。即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要,选择其中的部分或者全部单元来实现本方案的目的。
另外,本申请各个实施例中的各功能单元,可以集成在一个处理单元中;也可以单独物理存在;还可以是部分单元集成在一个单元中,部分单元单独物理存在。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元若以软件功能单元的形式实现,并作为独立的产品销售或使用时,则可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例技术方案的全部或部分可以以软件产品的形式体现出来。该软件产品存储在一个存储介质中。该软件产品包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请提供的上述各个实施例的全部或部分(比如,任意特征的部分或全部),均可以任意地、相互地组合或结合使用。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种图片的压缩方法,其特征在于,包括:
根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略;
通过所述第一压缩策略对所述第一图片进行压缩处理,以获得目标图片;
若所述目标图片与所述第一图片的相似度值大于或等于预设的第一阈值,则保存所述目标图片。
2.根据权利要求1所述的压缩方法,其特征在于,所述通过所述第一压缩策略对所述第一图片进行压缩处理,包括:
通过预设的第一子策略对所述第一图片进行压缩处理,以获得中间图片;
若所述中间图片与所述第一图片的相似度值大于或等于所述第一阈值,则通过预设的第二子策略对所述中间图片进行压缩处理,以获得所述目标图片。
3.根据权利要求2所述的压缩方法,其特征在于,所述压缩方法还包括:
若所述目标图片与所述第一图片的相似度值小于所述第一阈值,则保存所述中间图片。
4.根据权利要求1或2所述的压缩方法,其特征在于,所述压缩方法还包括:
若所述目标图片与所述第一图片的相似度值小于所述第一阈值,则保存所述第一图片。
5.根据权利要求1-3中任一项所述的压缩方法,其特征在于,所述根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略之前,所述压缩方法还包括:
确定所述第一图片的元数据中不包含指示字段,所述指示字段用于指示图片已完成压缩处理;
所述保存所述目标图片之前,所述压缩方法还包括:
将所述指示字段写入所述目标图片的元数据中。
6.根据权利要求1-3中任一项所述的压缩方法,其特征在于,所述根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略之前,所述压缩方法还包括:
遍历待提交的所有文件内容,以获取至少一张待处理图片的路径,所述至少一张待处理图片包括所述第一图片。
7.根据权利要求1-3中任一项所述的压缩方法,其特征在于,所述根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略,包括:
根据所述第一图片的图片格式以及所述第一图片的透明通道的信息确定出所述第一压缩策略。
8.根据权利要求1-3中任一项所述的压缩方法,其特征在于,所述第一压缩策略包括进行图片位数压缩、去除图片的元数据以及转换图片格式中的至少一种。
9.一种图片的压缩装置,其特征在于,包括:
确定单元,用于根据第一图片的图片格式从多个预设的图片压缩策略中确定出第一压缩策略;
压缩单元,用于通过所述第一压缩策略对所述第一图片进行压缩处理,以获得目标图片;
保存单元,用于在所述目标图片与所述第一图片的相似度值大于或等于预设的第一阈值时,保存所述目标图片。
10.一种图片的压缩装置,其特征在于,包括:
处理器;
存储器;
以及计算机程序,其中所计算机程序被存储在所述存储器中,当所述计算机程序被所述处理器执行时,使得所述存储设备执行如权利要求1至8中任一项所述的压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310037374.XA CN116055728A (zh) | 2023-01-10 | 2023-01-10 | 图片的压缩方法及压缩装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310037374.XA CN116055728A (zh) | 2023-01-10 | 2023-01-10 | 图片的压缩方法及压缩装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116055728A true CN116055728A (zh) | 2023-05-02 |
Family
ID=86129164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310037374.XA Pending CN116055728A (zh) | 2023-01-10 | 2023-01-10 | 图片的压缩方法及压缩装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055728A (zh) |
-
2023
- 2023-01-10 CN CN202310037374.XA patent/CN116055728A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649905B2 (en) | Method and apparatus for storing data | |
CN102571709A (zh) | 文件上传的方法、客户端、服务器及系统 | |
US11409766B2 (en) | Container reclamation using probabilistic data structures | |
US10817470B2 (en) | Cloud file transmission method, terminal, and cloud server | |
CN110389859B (zh) | 用于复制数据块的方法、设备和计算机程序产品 | |
CN107729541A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN108958755B (zh) | 一种应用程序安装包的生成方法、装置及电子设备 | |
CN112286457B (zh) | 对象重删方法、装置、电子设备及机器可读存储介质 | |
CN108363727B (zh) | 一种基于zfs文件系统的数据存储方法及装置 | |
CN114020522A (zh) | 数据备份方法、装置、电子设备及系统 | |
WO2021109850A1 (zh) | 一种pdf文件去重存储方法及系统 | |
CN116055728A (zh) | 图片的压缩方法及压缩装置 | |
CN111414339A (zh) | 一种文件的处理方法、系统、装置、设备及介质 | |
CN115033544A (zh) | 一种基于关系数值的数据压缩方法、装置、设备和介质 | |
CN115665137A (zh) | 一种数据处理方法及装置 | |
CN113505153B (zh) | 一种基于iOS系统的备忘录备份方法和相关设备 | |
CN104715059A (zh) | 一种数据处理方法和装置 | |
CN115563055A (zh) | 一种ofd文档合并与拆分的方法、系统和存储介质 | |
US11343272B2 (en) | Proof of work based on compressed video | |
CN111382379B (zh) | 一种导入带图片的配置数据的方法及终端 | |
CN113687920A (zh) | 一种分布式系统的对象策略操作方法、装置及设备 | |
CN113342813A (zh) | 键值数据处理方法、装置、计算机设备及可读存储介质 | |
WO2020088211A1 (zh) | 压缩数据、解压缩数据的方法和相关装置 | |
US20240248626A1 (en) | Method, device, and computer program product for data deduplication | |
CN113704176B (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 |