CN110489123B - 一种编译的预处理方法、编译装置及存储介质 - Google Patents
一种编译的预处理方法、编译装置及存储介质 Download PDFInfo
- Publication number
- CN110489123B CN110489123B CN201810462978.8A CN201810462978A CN110489123B CN 110489123 B CN110489123 B CN 110489123B CN 201810462978 A CN201810462978 A CN 201810462978A CN 110489123 B CN110489123 B CN 110489123B
- Authority
- CN
- China
- Prior art keywords
- data
- multimedia
- compiled
- compressed
- multimedia data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种编译的预处理方法、编译装置及存储介质,应用于信息处理技术领域。在本实施例的方法中,编译装置会在接收到编译请求后,对该编译请求对应的待编译多媒体的数据的预处理过程,即先对待编译多媒体的数据进行压缩,然后根据对应的第一压缩率判断该待编译多媒体的数据是否能压缩,如果能,用压缩后的第一压缩后多媒体数据替换待编译多媒体的数据,以进行编译。这样,后续编译过程中编译的多媒体的数据都是经过压缩的多媒体数据,所占空间较少;且编译装置通过在接收到编译请求后,直接自动地触发对待编译多媒体的数据的预处理,避免了人工预先处理待编译多媒体的数据而造成的漏压缩或重复压缩。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种编译的预处理方法、编译装置及存储介质。
背景技术
编译是指将某种语言的对象文件转化为二进制语言的目的程序,使得机器可识别且执行目标程序,比如将对应用程序安装文件的编译等。其中,在对应用程序安装文件的编译过程中,需要用到较多的多媒体数据,比如图像数据和音频数据等,而多媒体数据会占较大的空间,为了减少最终形成的安装文件所占的空间,需要先对多媒体数据进行预处理,比如压缩。
现有的预处理方法中,主要是通过人工的方法,将编译过程中所需的多媒体数据拖到第三方多媒体数据的压缩平台,比如图像优化(imageOptimize)等多媒体数据压缩的工具软件中进行处理。
但是现有的预处理都是人为工作,需要人工将多媒体数据输入到第三方多媒体数据的压缩平台,较为繁琐,且人工容易有疏漏,比如漏多媒体数据或重复压缩多媒体数据等。
发明内容
本发明实施例提供一种编译的预处理方法、编译装置及存储介质,实现了在编译过程中自动化地对待编译多媒体的数据进行预处理。
本发明实施例第一方面提供一种编译的预处理方法,包括:
当接收到编译请求,获取所述编译请求对应的待编译多媒体的数据;
按照第一预置压缩算法对待编译多媒体的数据进行压缩,得到第一压缩后多媒体数据;
根据所述第一压缩后多媒体数据,确定所述第一压缩后多媒体数据对应的第一压缩率;
如果所述第一压缩率大于第一预置值,用所述第一压缩后多媒体数据替换所述待编译多媒体的数据,以进行编译。
本发明实施例第二方面提供一种编译装置,包括:
多媒体获取单元,用于当接收到编译请求,获取所述编译请求对应的待编译多媒体的数据;
压缩单元,用于按照第一预置压缩算法对待编译多媒体的数据进行压缩,得到第一压缩后多媒体数据;
压缩率确定单元,用于根据所述第一压缩后多媒体数据,确定所述第一压缩后多媒体数据对应的第一压缩率;
替换单元,用于如果所述第一压缩率大于第一预置值,用所述第一压缩后多媒体数据替换所述待编译多媒体的数据,以进行编译。
本发明实施例第三方面提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面所述的编译的预处理方法。
本发明实施例第四方面提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的编译的预处理方法。
可见,在本实施例的方法中,编译装置会在接收到编译请求后,对该编译请求对应的待编译多媒体的数据的预处理过程,即先对待编译多媒体的数据进行压缩,然后根据对应的第一压缩率判断该待编译多媒体的数据是否能压缩,如果能,用压缩后的第一压缩后多媒体数据替换待编译多媒体的数据,以进行编译。这样,后续编译过程中编译的多媒体的数据都是经过压缩的多媒体数据,所占空间较少;且编译装置通过在接收到编译请求后,直接触发对待编译多媒体的数据的预处理,避免了人工预先处理待编译多媒体的数据而造成的漏压缩或重复压缩。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种编译的预处理方法的流程图;
图2是本发明应用实施例提供的一种编译的预处理方法的流程图;
图3是本发明应用实施例中对待编译图片的数据进行预处理的流程图;
图4是本发明应用实施例中对待编译图片的数据进行压缩的示意图;
图5是本发明实施例提供的一种编译装置的结构示意图;
图6是本发明实施例提供的另一种编译装置的结构示意图;
图7是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种编译的预处理方法,主要是应用在编译装置将对象文件编译成目标程序的过程中,当编译装置发起编译的流程时,可以自动发起地对待编译多媒体的数据的预处理。具体地:
当接收到编译请求,获取所述编译请求对应的待编译多媒体的数据;按照第一预置压缩算法对待编译多媒体的数据进行压缩,得到第一压缩后多媒体数据;根据所述第一压缩后多媒体数据,确定所述第一压缩后多媒体数据对应的第一压缩率;如果所述第一压缩率大于第一预置值,用所述第一压缩后多媒体数据替换所述待编译多媒体的数据,以进行编译。
这样,后续编译过程中编译的多媒体的数据都是经过压缩后的多媒体数据,所占空间较少;且编译装置通过在接收到编译请求后,直接自动地触发对待编译多媒体的数据的预处理,避免了人工预先处理待编译多媒体的数据而造成的漏压缩或重复压缩。
本发明实施例提供一种编译的预处理方法,主要是编译装置所执行的方法,针对对象文件中包括待编译多媒体的数据(比如图像数据和/或音频数据等)的情况,本实施例的流程图如图1所示,包括:
步骤101,当接收到编译请求,获取编译请求对应的待编译多媒体的数据。
可以理解,用户可以操作编译装置,使得编译装置触发对目标程序的编译流程。比如,编译装置可以显示编译界面,在该编译界面上包括对象文件的输入接口,及编译流程的触发接口,这样用户可以从对象文件的输入接口输入需要编译的对象文件,该对象文件可以包括代码文件,还可以包括音频数据,和图像数据等多媒体数据;当用户通过对象文件的输入接口输入对象文件后,可以操作编译流程的触发接口,使得编译装置接收到对于编译流程的触发接口的操作信息,则编译装置确定接收到编译请求。该编译请求用于请求编译装置对上述对象文件进行编译。
由于在对象文件中会包括多种类型的文件,在本实施例中,编译装置需要遍历对象文件中的各种类型的文件,将待编译多媒体的数据提取出来进行预处理。例如,待编译多媒体的数据中可以包括:待编译图片中多个像素点的信息(比如像素值和坐标信息等),待编译图片的标识信息,及其色彩通道信息(比如alpha通道)等图像数据。
需要说明的是,编译装置可以等待将对象文件中包括的所有待编译多媒体的数据都提取出来,然后再针对每个待编译多媒体的数据,执行如下步骤102到104;或者,编译装置在将对象文件中的一个待编译多媒体的数据提取出来后,即可针对该待编译多媒体的数据执行如下步骤102到104,实现了对多个待编译多媒体的数据并行的预处理,从而提高了处理效率。其中一个待编译多媒体可以指一个待编译图片或者一个待编译音频信号。
步骤102,按照第一预置压缩算法对待编译多媒体的数据进行压缩,得到第一压缩后多媒体数据。
这里,第一预置压缩算法主要是去掉待编译多媒体的数据中的冗余描述信息,头信息等,及对一些冗余色彩通道(比如alpha通道等)进行优化,最终得到的第一压缩后多媒体数据中保留了待编译多媒体的数据中的重要信息,比如各个像素点的信息(比如像素值和坐标值等信息)。如果待编译多媒体的数据为待编译图片的数据,则第一预置压缩算法可以是图片定量(pngquant),optipng,pngcrush等开源的压缩算法。
步骤103,根据第一压缩后多媒体数据,确定第一压缩后多媒体数据对应的第一压缩率。
这里的第一压缩率可以是将待编译多媒体的数据大小a与第一压缩后多媒体数据大小b的差值,与待编译多媒体的数据大小a的比值,即(a-b)/a,作为第一压缩后多媒体数据对应的第一压缩率。
步骤104,如果第一压缩率大于第一预置值,用第一压缩后多媒体数据替换待编译多媒体的数据,以进行编译。
这里,如果第一压缩率较小,比如小于或等于第一预置值(比如3%),说明待编译多媒体的数据中需要压缩的冗余信息较少,这样如果通过第一预置压缩算法对待编译多媒体的数据进行压缩,就不能保证最终得到的第一压缩后多媒体数据的质量。因此,编译装置会保留待编译多媒体的数据不变,在后续编译过程中,直接对待编译多媒体的数据进行编译。
如果第一压缩率较大,比如大于第一预置值,说明待编译多媒体的数据中的冗余信息比较多,可压缩空间比较大,通过上述第一预置压缩算法后,第一压缩后多媒体数据相对于待编译多媒体的数据来说,虽然第一压缩后多媒体数据的大小变小,但是质量能得到保证,因此,可以用第一压缩后多媒体数据来替换待编译多媒体的数据。
因此,在一种情况下,编译装置会用第一压缩后多媒体数据直接替换待编译多媒体的数据,在后续编译过程中,对该第一压缩后多媒体数据进行编译。
在另一种情况下,如果第一压缩率大于第一预置值,且第一压缩率与第一预置值的差值大于第二预置值,即第一压缩率远大于第一预置值,则编译装置还会对上述替换后的第一压缩后多媒体数据进行再次压缩,具体地:
编译装置可以采用第二预置压缩算法对第一压缩后多媒体数据进行压缩得到第二压缩后多媒体数据,并确定第二压缩后多媒体数据的第二压缩率,如果第二压缩率小于或等于第一预置值,保留第一压缩后多媒体数据不变,以对第一压缩后多媒体数据进行编译。而如果该第二压缩率大于第一预置值,则可以用第二压缩后多媒体数据再次替换第一压缩后多媒体数据;然后再采用第三预置压缩算法对第二压缩后多媒体数据进行压缩,从而再根据对应的压缩率确定是否需要对第二压缩后多媒体数据进行再次压缩,这样依次类推,直到最终替换的多媒体数据不能再次压缩为止,或者直到预处理次数达到预置次数为止。
其中,第二预置压缩算法和第三预置压缩算法是与第一预置压缩算法不同的算法,都是无损压缩算法等。
可见,在本实施例的方法中,编译装置会在接收到编译请求后,对该编译请求对应的待编译多媒体的数据的预处理过程,即先对待编译多媒体的数据进行压缩,然后根据对应的第一压缩率判断该待编译多媒体的数据是否能压缩,如果能,用压缩后的第一压缩后多媒体数据替换待编译多媒体的数据,以进行编译。这样,后续编译过程中编译的多媒体数据都是已经压缩过的多媒体数据,所占空间较少;且编译装置通过在接收到编译请求后,直接自动地触发对待编译多媒体的数据的预处理,避免了人工预先处理待编译多媒体的数据而造成的漏压缩或重复压缩。
在一个具体的实施例中,编译装置在接收到编译请求后,可以先判断本地是否储存有对待编译多媒体的数据进行预处理的可执行信息,如果储存有,则执行上述步骤101到104,即执行获取待编译多媒体的数据,得到第一压缩后多媒体数据,确定第一压缩率及用第一压缩后多媒体数据替换待编译多媒体的数据的步骤。
如果未储存,编译装置可以进行用户提示,该用户提示用于提示在本地装载可执行信息;当编译装置根据用户提示获取到可执行信息,加载获取的可执行信息,即将获取的可执行信息缓存到编译装置的内存,并执行上述步骤101到104,即执行获取待编译多媒体的数据,得到第一压缩后多媒体数据,确定第一压缩率及用第一压缩后多媒体数据替换待编译多媒体的数据的步骤。其中,编译装置可以从网络服务器获取相应的可执行信息,或者从编译装置外接的存储装置获取到可执行信息。
其中,可执行信息是指编译装置可以识别和执行的信息,该可执行信息主要是对待编译多媒体的数据进行预处理的各个步骤的信息,而对待编译多媒体的数据的预处理过程即上述步骤101到104。
编译装置在判断本地是否储存有对待编译多媒体的数据进行预处理的可执行信息时,具体地判断本地的暂时性存储介质及永久性存储介质中是否储存有对待编译多媒体的数据进行预处理的可执行信息。具体地:先确定编译装置的暂时性存储介质(即内存)中是否缓存有该可执行信息,如果有缓存,则确定本地储存有可执行信息;如果未缓存,进一步地,编译装置要确定本地的永久性存储介质(比如硬盘)中是否储存有可执行信息,如果未储存,即在暂时性存储介质和永久性存储介质中都未储存可执行信息,则确定本地未储存有可执行信息,如果有储存,则需要先将永久性存储介质中的可执行信息加载到暂时性存储介质中,才能执行上述步骤101到104。
以下以一个具体的实例来说明本发明中编译的预处理方法,本实施例的方法主要应用于对应用程序的安装文件(即目标程序)进行编译的过程中,由编译装置所执行的方法,且在本实施例中待编译多媒体具体为待编译图片,流程如图2所示,具体包括:
步骤201,用户操作编译装置,使得编译装置显示编译界面,在编译界面上包括对象文件的输入接口及编译流程的触发接口,用户通过输入接口输入待编译多媒体的数据(具体为待编译图片的数据)和代码文件等,并操作编译流程的触发接口,这样编译装置会接口到编译请求,该编译请求用于请求编译装置对输入的待编译图片的数据和代码文件进行编译。
步骤202,编译装置在确定需要编译待编译图片的数据时,会扫描本地存储中是否储存有对待编译图片的数据进行预处理的可执行信息,如果在编译装置的内存缓存有该可执行信息,则执行步骤205;如果在编译装置的永久性存储介质中(硬盘中)储存有该可执行信息,则执行步骤203;如果在本地存储中未储存有该可执行信息,则执行步骤204。
步骤203,编译装置需要加载该可执行信息,即将可执行信息缓存到编译装置的内存中,然后再执行步骤205。
步骤204,编译装置进行用户提示,该用户提示用于提示在本地装载可执行信息,当编译装置根据用户提示获取到可执行信息,加载获取的可执行信息,然后再执行步骤205。
步骤205,编译装置执行该可执行信息,即针对每个待编译图片的数据,先确定该待编译图片的数据是否需要进行至少一次压缩,如果需要压缩,则进行至少一次压缩后,得到最终压缩图片的数据,并用最终压缩的数据替换该待编译图片的数据;如果不需要压缩待编译图片的数据,则保留待编译图片的数据不变。
步骤206,编译装置在针对每个待编译图片的数据都进行预处理后,会根据编译请求进行编译,其中编译的对象文件中有些待编译图片的数据已被上述步骤205得到的最终压缩图片的数据进行替换,这样最终得到的应用程序的安装文件所占用的空间会最大程度地得到减少。
其中,上述步骤205中,编译装置对待编译图片的数据进行预处理时,可以按照如下步骤来试下,流程图如图3所示,包括:
步骤301,编译装置针对某一待编译图片的数据,采用一个预置压缩算法压缩待编译图片的数据,得到压缩后图片数据。
步骤302,编译装置计算压缩后图片数据的压缩率为待编译图片的数据大小与压缩后图片数据的大小的差值,再与待编译图片的数据大小的比值。
步骤303,编译装置判断压缩率是否大于第一预置值,如果是,则执行步骤304;如果小于或等于第一预置值,则保留待编译图片的数据不变,并执行步骤305。
步骤304,编译装置用压缩后图片数据替换待编译图片的数据,则该压缩后图片数据为替换后图片的数据;然后再采用另一预置压缩算法对替换后图片数据进行压缩得到另一压缩后图片数据,并针对另一压缩后图片数据返回执行步骤302。
步骤305,编译装置确定是否对所有的待编译图片的数据都进行了预处理,如果是,则结束流程,如果不是,则针对另一待编译图片的数据,返回执行步骤301。
例如图4所示为对某一待编译图片的数据,即原始图片的数据(originpng)的预处理过程,首先编译装置可以使用无损压缩算法,即图片定量(pngquant)算法对原始图片的数据进行压缩得到一次压缩后图片数据后,直接用一次压缩后图片数据替换原始图片的数据。
进一步地,编译装置可以使用另一种压缩算法,比如图片粉碎(pngcrush)算法再次对一次压缩后图片数据进行压缩得到二次压缩后图片数据,如果二次压缩后图片数据的压缩率小于或等于第一预置值,说明不能用另一种压缩算法对一次压缩后图片数据进行二次压缩,可以继续使用又一种压缩算法,比如optipng对一次压缩后图片数据进行压缩得到三次压缩后图片数据,并根据三次压缩后图片数据的压缩率判断是否能使用又一种压缩算法对一次压缩后图片数据进行压缩,如果能,可以将三次压缩后图片数据作为到最终压缩后图片的数据,如果不能,直接将一次压缩后图片数据作为最终压缩后图片的数据。
如果二次压缩后图片数据的压缩率大于第一预置值,可以使用另一种压缩算法对一次压缩后图片数据进行二次压缩;进而编译装置可以继续使用又一种压缩算法,比如optipng对二次压缩后图片数据进行压缩得到三次压缩后图片数据,并根据三次压缩后图片数据的压缩率判断是否能使用又一种压缩算法对二次压缩后图片数据进行压缩,如果能,可以将三次压缩后图片数据作为到最终压缩后图片的数据,如果不能,直接将二次压缩后图片数据作为最终压缩后图片的数据。
本发明实施例还提供一种编译装置,其结构示意图如图5所示,具体可以包括:
多媒体获取单元10,用于当接收到编译请求,获取所述编译请求对应的待编译多媒体的数据;
压缩单元11,用于按照第一预置压缩算法对所述多媒体获取单元10获取的待编译多媒体的数据进行压缩,得到第一压缩后多媒体数据;
压缩率确定单元12,用于根据所述压缩单元11得到的第一压缩后多媒体数据,确定所述第一压缩后多媒体数据对应的第一压缩率;
替换单元13,用于如果所述压缩率确定单元12确定的第一压缩率大于第一预置值,用所述第一压缩后多媒体数据替换所述待编译多媒体的数据,以进行编译。
进一步地,所述替换单元13,还用于如果所述第一压缩率小于或等于所述预置值,保留所述待编译多媒体的数据不变,以对所述待编译多媒体的数据进行编译。
进一步地,上述压缩单元11,还用于如果所述第一压缩率大于所述第一预置值,且所述第一压缩率与所述第一预置值的差值大于第二预置值,采用第二预置压缩算法对所述第一压缩后多媒体数据进行压缩得到第二压缩后多媒体数据;所述压缩率确定单元12,还用于确定所述第二压缩后多媒体数据的第二压缩率;所述替换单元13,还用于如果所述第二压缩率大于所述第一预置值,用所述第二压缩后多媒体数据替换所述第一压缩后多媒体数据,以对所述第二压缩后多媒体数据进行编译。
可见,在本实施例的编译装置会在接收到编译请求后,对该编译请求对应的待编译多媒体的数据的预处理过程,即先通过压缩单元11对待编译多媒体的数据进行压缩,然后替换单元13根据对应的第一压缩率判断该待编译多媒体的数据是否能压缩,如果能,用压缩后的第一压缩后多媒体数据替换待编译多媒体的数据,以对第一压缩后多媒体数据进行编译。这样,后续编译过程中编译的多媒体的数据都是经过压缩的多媒体数据,所占空间较少;且编译装置通过在接收到编译请求后,直接自动地触发对待编译多媒体的数据的预处理,避免了人工预先处理待编译多媒体的数据而造成的漏压缩或重复压缩。
参考图6所示,在一个具体的实施例中,编译装置除了可以包括如图5所示的结构外,还可以包括可执行判断单元14和加载单元15,具体地:
可执行判断单元14,用于在接收到编译请求之后,判断本地是否储存有对所述待编译多媒体的数据进行预处理的可执行信息,如果是,则通知所述多媒体获取单元10获取待编译多媒体的数据。
加载单元15,用于如果可执行判断单元14确定本地未储存有对所述待编译多媒体的数据进行预处理的可执行信息,进行用户提示,所述用户提示用于提示在本地装载所述可执行信息;根据所述用户提示获取所述可执行信息,加载所述可执行信息,并通知所述多媒体获取单元10获取待编译多媒体的数据。
本发明实施例还提供一种终端设备,其结构示意图如图7所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
具体地,在存储介质22中储存的应用程序221包括编译的预处理的应用程序,且该程序可以包括上述编译装置中的多媒体获取单元10,压缩单元11,压缩率确定单元12,替换单元13,可执行判断单元14及加载单元15,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的编译的预处理的应用程序对应的一系列操作。
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由编译装置所执行的步骤可以基于该图7所示的终端设备的结构。
本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如上述编译装置所执行的编译的处理方法。
本发明实施例还提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如上述编译装置所执行的编译的预处理方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的编译的预处理方法、编译装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种编译的预处理方法,其特征在于,包括:
当接收到编译请求,获取所述编译请求对应的待编译多媒体的数据;
按照第一预置压缩算法对待编译多媒体的数据进行压缩,得到第一压缩后多媒体数据;
根据所述第一压缩后多媒体数据,确定所述第一压缩后多媒体数据对应的第一压缩率;
如果所述第一压缩率大于第一预置值,用所述第一压缩后多媒体数据替换所述待编译多媒体的数据,以进行编译;如果所述第一压缩率小于或等于所述第一预置值,保留所述待编译多媒体的数据不变,以对所述待编译多媒体的数据进行编译;
所述方法还包括:如果所述第一压缩率大于所述第一预置值,且所述第一压缩率与所述第一预置值的差值大于第二预置值,采用第二预置压缩算法对所述第一压缩后多媒体数据进行压缩得到第二压缩后多媒体数据,确定所述第二压缩后多媒体数据的第二压缩率;
如果所述第二压缩率小于或等于第一预置值,保留所述第一压缩后多媒体数据不变,以对所述第一压缩后多媒体数据进行编译;如果所述第二压缩率大于所述第一预置值,用所述第二压缩后多媒体数据替换第一压缩后多媒体数据,用第三预置压缩算法对所述第二压缩后多媒体数据进行压缩,再根据对应的压缩率确定是否需要对再次压缩后多媒体数据进行压缩,直到最终替换的多媒体数据不能再次压缩为止,其中,所述第二预置压缩算法和第三预置压缩算法是与第一预置压缩算法不同的算法。
2.如权利要求1所述的方法,其特征在于,所述接收到编译请求之后,所述方法还包括:
判断本地是否储存有对所述待编译多媒体的数据进行预处理的可执行信息,如果是,则执行获取待编译多媒体的数据,得到第一压缩后多媒体数据,确定第一压缩率及用第一压缩后多媒体数据替换待编译多媒体的数据的步骤。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
如果本地未储存有对所述待编译多媒体的数据进行预处理的可执行信息,进行用户提示,所述用户提示用于提示在本地装载所述可执行信息;
根据所述用户提示获取所述可执行信息,加载所述可执行信息,并执行获取待编译多媒体的数据,得到第一压缩后多媒体数据,确定第一压缩率及用第一压缩后多媒体数据替换待编译多媒体的数据的步骤。
4.如权利要求2所述的方法,其特征在于,所述判断本地是否储存有对所述待编译多媒体的数据进行预处理的可执行信息,具体包括:判断本地的暂时性存储介质及永久性存储介质中是否储存有对所述待编译多媒体的数据进行预处理的可执行信息;
如果所述本地的暂时性存储介质及永久性存储介质中都未储存所述可执行信息,则本地未储存有所述可执行信息。
5.如权利要求4所述的方法,其特征在于,如果本地的暂时性存储介质未储存所述可执行信息,而本地的永久性存储介质中储存所述可执行信息,则将所述可执行信息加载到所述暂时性存储介质中,并执行所述获取待编译多媒体的数据,得到第一压缩后多媒体数据,确定第一压缩率及用第一压缩后多媒体数据替换待编译多媒体的数据的步骤。
6.一种编译装置,其特征在于,包括:
多媒体获取单元,用于当接收到编译请求,获取所述编译请求对应的待编译多媒体的数据;
压缩单元,用于按照第一预置压缩算法对待编译多媒体的数据进行压缩,得到第一压缩后多媒体数据;
压缩率确定单元,用于根据所述第一压缩后多媒体数据,确定所述第一压缩后多媒体数据对应的第一压缩率;
替换单元,用于如果所述第一压缩率大于第一预置值,用所述第一压缩后多媒体数据替换所述待编译多媒体的数据,以进行编译;如果所述第一压缩率小于或等于所述预置值,保留所述待编译多媒体的数据不变,以对所述待编译多媒体的数据进行编译;
所述压缩单元,还用于如果所述第一压缩率大于所述第一预置值,且所述第一压缩率与所述第一预置值的差值大于第二预置值,采用第二预置压缩算法对所述第一压缩后多媒体数据进行压缩得到第二压缩后多媒体数据;
所述压缩率确定单元,还用于确定所述第二压缩后多媒体数据的第二压缩率;
所述替换单元,还用于如果所述第二压缩率小于或等于第一预置值,保留所述第一压缩后多媒体数据不变,以对所述第一压缩后多媒体数据进行编译;如果所述第二压缩率大于所述第一预置值,用所述第二压缩后多媒体数据替换所述第一压缩后多媒体数据,以对所述第二压缩后多媒体数据进行编译;
所述压缩单元,还用于用第三预置压缩算法对所述第二压缩后多媒体数据进行压缩,再根据对应的压缩率确定是否需要对再次压缩后多媒体数据进行压缩,直到最终替换的多媒体数据不能再次压缩为止,其中,所述第二预置压缩算法和第三预置压缩算法是与第一预置压缩算法不同的算法。
7.如权利要求6所述的装置,其特征在于,还包括:
可执行判断单元,用于在接收到编译请求之后,判断本地是否储存有对所述待编译多媒体的数据进行预处理的可执行信息,如果是,则通知所述多媒体获取单元获取待编译多媒体的数据。
8.如权利要求7所述的装置,其特征在于,还包括:
加载单元,用于如果本地未储存有对所述待编译多媒体的数据进行预处理的可执行信息,进行用户提示,所述用户提示用于提示在本地装载所述可执行信息;根据所述用户提示获取所述可执行信息,加载所述可执行信息,并通知所述多媒体获取单元获取待编译多媒体的数据。
9.一种存储介质,其特征在于,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如权利要求1至5任一项所述的编译的预处理方法。
10.一种终端设备,其特征在于,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至5任一项所述的编译的预处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810462978.8A CN110489123B (zh) | 2018-05-15 | 2018-05-15 | 一种编译的预处理方法、编译装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810462978.8A CN110489123B (zh) | 2018-05-15 | 2018-05-15 | 一种编译的预处理方法、编译装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489123A CN110489123A (zh) | 2019-11-22 |
CN110489123B true CN110489123B (zh) | 2022-04-05 |
Family
ID=68545255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810462978.8A Active CN110489123B (zh) | 2018-05-15 | 2018-05-15 | 一种编译的预处理方法、编译装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489123B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414308B (zh) * | 2020-03-26 | 2023-08-22 | 抖音视界有限公司 | 应用程序包的处理方法和应用程序的运行方法、装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795583B1 (en) * | 1999-11-24 | 2004-09-21 | General Electric Company | Image data compression employing embedded compression and decompression codes |
CN105243638A (zh) * | 2015-09-25 | 2016-01-13 | 腾讯科技(深圳)有限公司 | 一种上传图像的方法和装置 |
CN105630999A (zh) * | 2015-12-28 | 2016-06-01 | 华为技术有限公司 | 服务器压缩数据的方法和装置 |
CN106325838A (zh) * | 2015-06-24 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 应用程序编译流程的图片处理方法及装置 |
CN107465413A (zh) * | 2017-07-07 | 2017-12-12 | 南京城市职业学院 | 一种自适应数据压缩系统及其方法 |
-
2018
- 2018-05-15 CN CN201810462978.8A patent/CN110489123B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795583B1 (en) * | 1999-11-24 | 2004-09-21 | General Electric Company | Image data compression employing embedded compression and decompression codes |
CN106325838A (zh) * | 2015-06-24 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 应用程序编译流程的图片处理方法及装置 |
CN105243638A (zh) * | 2015-09-25 | 2016-01-13 | 腾讯科技(深圳)有限公司 | 一种上传图像的方法和装置 |
CN105630999A (zh) * | 2015-12-28 | 2016-06-01 | 华为技术有限公司 | 服务器压缩数据的方法和装置 |
CN107465413A (zh) * | 2017-07-07 | 2017-12-12 | 南京城市职业学院 | 一种自适应数据压缩系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110489123A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10719909B2 (en) | Image loading method and device | |
JP2022519855A (ja) | ビデオストリーム復号方法、装置、端末機器およびプログラム | |
JP6465569B2 (ja) | 画像処理方法、および画像処理装置 | |
CN111031346A (zh) | 一种增强视频画质的方法和装置 | |
CN110830807B (zh) | 图像压缩方法、装置及存储介质 | |
CN107734336B (zh) | 一种视频存储空间的压缩方法及装置 | |
US11057626B2 (en) | Video processing device and method for determining motion metadata for an encoded video | |
CN109862365B (zh) | 图像数据处理方法及装置 | |
CN110489123B (zh) | 一种编译的预处理方法、编译装置及存储介质 | |
CN112163468A (zh) | 基于多线程的图像处理方法及装置 | |
US20160248834A1 (en) | Algorithmic transcoding | |
CN111091146B (zh) | 图片相似度获取方法、装置、计算机设备及存储介质 | |
EP3605338B1 (en) | Apparatus, program, & computer-implemented image processing method for predicting execution performance metrics | |
CN108595178B (zh) | 一种基于hook的数据采集方法、装置及设备 | |
US8375371B2 (en) | Importance-based call graph construction | |
KR101920998B1 (ko) | 그레이 영상에서 연결 구성요소 라벨링을 통한 컨투어 추출 장치 및 방법 | |
CN112153388A (zh) | 一种图像压缩方法、装置及相关设备 | |
CN111679835A (zh) | 应用程序处理方法、装置、终端及存储介质 | |
CN113179261B (zh) | 视频流处理方法及装置、存储介质和平台服务器 | |
CN104462422A (zh) | 对象的处理方法及装置 | |
KR102264920B1 (ko) | 영상 식별 장치, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체 | |
CN110931021A (zh) | 一种音频信号处理方法及装置 | |
CN110718285B (zh) | 数据归档方法、系统、装置和存储介质 | |
CN110517252B (zh) | 一种视频检测方法及装置 | |
CN108322820B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |