CN110782389B - 一种图像数据字节对齐方法和终端 - Google Patents
一种图像数据字节对齐方法和终端 Download PDFInfo
- Publication number
- CN110782389B CN110782389B CN201910898571.4A CN201910898571A CN110782389B CN 110782389 B CN110782389 B CN 110782389B CN 201910898571 A CN201910898571 A CN 201910898571A CN 110782389 B CN110782389 B CN 110782389B
- Authority
- CN
- China
- Prior art keywords
- image data
- byte
- buffer
- bytes
- terminal
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Image Input (AREA)
- Image Processing (AREA)
Abstract
本申请提供一种图像数据字节对齐方法和终端,所述方法包括:获取第一图像数据;在第一图像数据中存在杂质字节的情况下,将第一图像数据中的杂质字节剔除,获得第二图像数据;确定终端的缓存器的类型;根据终端的缓存器的类型,判断第二图像数据是否为字节对齐的图像数据;如果第二图像数据为非字节对齐的图像数据,对第二图像数据进行字节对齐处理,获得第三图像数据;将第三图像数据存储至缓存器内。这样,从内存中读取的图像数据即为不含杂质字节的,且经过字节对齐处理的图像数据,进而无需进行图像数据的拷贝操作以及杂质字节的剔除操作,节省了内存。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种图像数据字节对齐方法和终端。
背景技术
应用(Application,APP)的页面越来越复杂,所展示的内容也越来越丰富,在APP的页面中展示网络图片已经很常见。为在APP的页面展示网络图片,相关技术中的处理方式为获取相应的图像数据,并将该图像数据保存在内存中。在需要在APP的页面展示图片的情况下,可以从内存中读取图像数据,获得相应的图片。然后将所获得的图片展示在APP的页面中。
然而,通过Instrument的TimeProfile查看中央处理器(Central ProcessingUnit,CPU)的消耗情况可以发现,通过上述方式加载图片的时候,应用程序需要使用到CA::Render::copy_image方法。这是由于从内存中读取的图像数据中存在杂质字节,如果不将这些杂质字节去除就会影响图片的展示。在从内存中读取的图像数据中存在杂质字节的情况下,为了去除杂质字节,可以通过核心动画(Core Animation)先拷贝一份图像数据,然后在拷贝的图像数据中将杂质字节去除,进而进行图片的显示。
但是采用此方式,虽然能够实现图片显示,但是每显示一张图片,内存中都需要相应存储杂质字节去除前和去除后两张图像,从而会造成内存的浪费。
发明内容
本申请提供了一种图像数据字节对齐方法和终端,以解决相关技术中,每显示一张图片,内存中都需要相应存储杂质字节去除前和去除后两张图像,从而会造成内存的浪费的问题。
第一方面,本申请提供一种图像数据字节对齐方法,应用于终端,所述方法包括:
获取第一图像数据;
在所述第一图像数据中存在杂质字节的情况下,将所述第一图像数据中的杂质字节剔除,获得第二图像数据;
确定所述终端的缓存器的类型;
根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据;
如果所述第二图像数据为非字节对齐的图像数据,对所述第二图像数据进行字节对齐处理,获得第三图像数据;
将所述第三图像数据存储至所述缓存器内。
可选的,所述根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据,包括:
根据所述终端的缓存器的类型,确定所述缓存器对应的第一字节块,其中,所述第一字节块包含第一数量个字节;
判断所述第二图像数据的图像字节数是否为所述第一数量的M倍,其中,M为正整数;
如果所述第二图像数据的图像字节数为所述第一数量的M倍,确定所述第二图像数据为字节对齐的图像数据;
如果所述第二图像数据的图像字节数不为所述第一数量的M倍,确定所述第二图像数据为非字节对齐的图像数据。
可选的,所述对所述第二图像数据进行字节对齐处理,包括:
将所述第二图像数据的图像字节数调整为所述第一数量的N倍,其中,N为正整数。
可选的,在所述将所述第三图像数据存储至所述缓存器内的步骤之前,所述方法还包括:
根据所述终端的缓存器的类型,确定所述缓存器对应的第二字节块,其中,所述第二字节块包含第二数量个字节;
根据所述第二字节块以及所述第三图像数据的图像字节数,将所述第三图像数据划分为P块第四图像数据,其中,P为整数,且P>0;
所述将所述第三图像数据存储至所述缓存器内,包括:
将所述P块第四图像数据存储至所述缓存器内。
可选的,在所述将所述P块第四图像数据存储至所述缓存器内的步骤之后,所述方法还包括:
从所述缓存器内读取所述P块第四图像数据;
利用所读取的所述P块第四图像数据,生成目标图片;
显示所述目标图片。
第二方面,本申请还提供一种终端,包括:
获取模块,用于获取第一图像数据;
剔除模块,用于在所述第一图像数据中存在杂质字节的情况下,将所述第一图像数据中的杂质字节剔除,获得第二图像数据;
第一确定模块,用于确定所述终端的缓存器的类型;
判断模块,用于根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据;
处理模块,用于如果所述第二图像数据为非字节对齐的图像数据,对所述第二图像数据进行字节对齐处理,获得第三图像数据;
存储模块,用于将所述第三图像数据存储至所述缓存器内。
可选的,所述判断模块包括:
第一确定子模块,用于根据所述终端的缓存器的类型,确定所述缓存器对应的第一字节块,其中,所述第一字节块包含第一数量个字节;
判断子模块,用于判断所述第二图像数据的图像字节数是否为所述第一数量的M倍,其中,M为正整数;
第二确定子模块,用于如果所述第二图像数据的图像字节数为所述第一数量的M倍,确定所述第二图像数据为字节对齐的图像数据;
第三确定子模块,用于如果所述第二图像数据的图像字节数不为所述第一数量的M倍,确定所述第二图像数据为非字节对齐的图像数据。
可选的,所述处理模块具体用于将所述第二图像数据的图像字节数调整为所述第一数量的N倍,其中,N为正整数。
可选的,所述终端还包括:
第二确定模块,用于根据所述终端的缓存器的类型,确定所述缓存器对应的第二字节块,其中,所述第二字节块包含第二数量个字节;
划分模块,用于根据所述第二字节块以及所述第三图像数据的图像字节数,将所述第三图像数据划分为P块第四图像数据,其中,P为整数,且P>0;
所述存储模块具体用于将所述P块第四图像数据存储至所述缓存器内。
可选的,所述终端还包括:
读取模块,用于从所述缓存器内读取所述P块第四图像数据;
生成模块,用于利用所读取的所述P块第四图像数据,生成目标图片;
显示模块,用于显示所述目标图片。
第三方面,本发明还提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现上述图像数据字节对齐方法。
第四方面,本发明还提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,当终端的至少一个处理器执行所述计算机程序时,终端执行上述图像数据字节对齐方法。
由以上技术方案可知,本申请提供一种图像数据字节对齐方法和终端,所述方法包括:获取第一图像数据;在所述第一图像数据中存在杂质字节的情况下,将所述第一图像数据中的杂质字节剔除,获得第二图像数据;确定所述终端的缓存器的类型;根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据;如果所述第二图像数据为非字节对齐的图像数据,对所述第二图像数据进行字节对齐处理,获得第三图像数据;将所述第三图像数据存储至所述缓存器内。这样,在第一图像数据中存在杂质字节的情况下,可以将第一图像数据中的杂质字节剔除,获得第二图像数据。如果第二图像数据为非字节对齐的图像数据,还可以对第二图像数据进行字节对齐处理,获得第三图像数据,并将第三图像数据存储至缓存器内。此时从内存中读取的图像数据即为不含杂质字节的,且经过字节对齐处理的图像数据,进而无需进行图像数据的拷贝操作以及杂质字节的剔除操作,节省了内存。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种图像数据字节对齐方法的流程图;
图2为本申请提供的另一种图像数据字节对齐方法的流程图;
图3为本申请提供的一种终端的结构图;
图4为本申请提供的另一种终端的结构图;
图5为本申请提供的另一种终端的结构图;
图6为本申请提供的另一种终端的结构图;
图7为本申请提供的电子设备的硬件结构示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
参见图1,图1是本申请提供的一种图像数据字节对齐方法的流程图,应用于终端。
如图1所示,包括以下步骤:
步骤101、获取第一图像数据。
在步骤101中,可以获取第一图像数据。假设该第一图像数据包含100个字节,即该第一图像数据包含100Byte。
步骤102、在所述第一图像数据中存在杂质字节的情况下,将所述第一图像数据中的杂质字节剔除,获得第二图像数据。
在步骤102中,在第一图像数据中存在杂质字节的情况下,可以将第一图像数据中的杂质字节剔除,获得第二图像数据。例如,假设第一图像数据中存在20个杂质字节,则可以将这20个杂质字节剔除,获得80个字节的第二图像数据。
步骤103、确定所述终端的缓存器的类型。
在步骤103中,可以确定终端的缓存器的类型。需要说明的是,对于缓存器来说,存储形式都是以字节块的形式进行存储的,而字节块的大小跟缓存器的类型有关。例如,ARMv7对应的字节块大小为32Byte;A9对应的字节块大小为64Byte等等。在A9下CoreAnimation是按64Byte(也就是8个字,8Byte/字)作为一个字节块去读取、存储和渲染。假设终端的缓存器的类型为A9,即此时终端的缓存器是以64Byte为一个字节块去取数据的。
步骤104、根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据。
在步骤104中,可以根据终端的缓存器的类型,判断第二图像数据是否为字节对齐的图像数据。
例如,可以根据终端的缓存器的类型,确定缓存器对应的第一字节块。其中,第一字节块包含第一数量个字节。例如,由步骤103可知,终端的缓存器的类型为A9,则缓存器对应的第一字节块包含64个字节,即此时第一数量为64。然后,可以判断第二图像数据的图像字节数是否为第一数量的M倍。其中,M为正整数。如果第二图像数据的图像字节数为第一数量的M倍,则可以确定第二图像数据为字节对齐的图像数据;如果第二图像数据的图像字节数不为第一数量的M倍,则可以确定第二图像数据为非字节对齐的图像数据。例如,此时第一数量为64,且由步骤102可知,第二图像数据包含80个字节。此时,第二图像数据的图像字节数80不为第一数量64的整数倍。因此,可以判定第二图像数据为非字节对齐的图像数据。
步骤105、如果所述第二图像数据为非字节对齐的图像数据,对所述第二图像数据进行字节对齐处理,获得第三图像数据。
在步骤105中,如果第二图像数据为非字节对齐的图像数据,可以对第二图像数据进行字节对齐处理,获得第三图像数据。
例如,可以将第二图像数据的图像字节数调整为第一数量的N倍。其中,N为正整数。由步骤104可知,第一数量为64,且包含80个字节的第二图像数据为非字节对齐的图像数据。可以将第二图像数据的图像字节数调整为第一数量64的1倍,获得第三图像数据。此时第三图像数据中仅包含64个字节,第二图像数据中的16个字节被丢弃掉。
步骤106、将所述第三图像数据存储至所述缓存器内。
在步骤106中,获得第三图像数据之后,可以将第三图像数据存储至缓存器内。
需要说明的是,相关技术中,在从内存中读取的图像数据中存在杂质字节的情况下,为了去除杂质字节,需要通过Core Animation先拷贝一份图像数据,然后在拷贝的图像数据中将杂质字节去除,进而进行图片的显示。因此,但是采用此方式,虽然能够实现图片显示,但是每显示一张图片,内存中都需要相应存储杂质字节去除前和去除后两张图像,从而会造成内存的浪费。并且将图像的计算过程放在了图像的显示流程中,影响了展示的时间。
而在本申请中,在第一图像数据中存在杂质字节的情况下,可以将第一图像数据中的杂质字节剔除,获得第二图像数据。如果第二图像数据为非字节对齐的图像数据,还可以对第二图像数据进行字节对齐处理,获得第三图像数据,并将第三图像数据存储至缓存器内。此时从内存中读取的图像数据即为不含杂质字节的,且经过字节对齐处理的图像数据,进而无需进行图像数据的拷贝操作以及杂质字节的剔除操作,节省了内存和进行拷贝的时间。
本申请提供的一种图像数据字节对齐方法,应用于终端。获取第一图像数据;在所述第一图像数据中存在杂质字节的情况下,将所述第一图像数据中的杂质字节剔除,获得第二图像数据;确定所述终端的缓存器的类型;根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据;如果所述第二图像数据为非字节对齐的图像数据,对所述第二图像数据进行字节对齐处理,获得第三图像数据;将所述第三图像数据存储至所述缓存器内。这样,在第一图像数据中存在杂质字节的情况下,可以将第一图像数据中的杂质字节剔除,获得第二图像数据。如果第二图像数据为非字节对齐的图像数据,还可以对第二图像数据进行字节对齐处理,获得第三图像数据,并将第三图像数据存储至缓存器内。此时从内存中读取的图像数据即为不含杂质字节的,且经过字节对齐处理的图像数据,进而无需进行图像数据的拷贝操作以及杂质字节的剔除操作,节省了内存和进行拷贝的时间。
参见图2,图2是本申请提供的另一种图像数据字节对齐方法的流程图,应用于终端。如图2所示,包括以下步骤:
步骤201、获取第一图像数据。
在步骤201中,可以获取第一图像数据。假设该第一图像数据包含129个字节,即该第一图像数据包含129Byte。
步骤202、在所述第一图像数据中存在杂质字节的情况下,将所述第一图像数据中的杂质字节剔除,获得第二图像数据。
在步骤202中,在第一图像数据中存在杂质字节的情况下,可以将第一图像数据中的杂质字节剔除,获得第二图像数据。例如,假设第一图像数据中存在20个杂质字节,则可以将这20个杂质字节剔除,获得109个字节的第二图像数据。
步骤203、确定所述终端的缓存器的类型。
在步骤203中,可以确定终端的缓存器的类型。需要说明的是,对于缓存器来说,存储形式都是以字节块的形式进行存储的,而字节块的大小跟缓存器的类型有关。例如,ARMv7对应的字节块大小为32Byte;A9对应的字节块大小为64Byte等等。在A9下CoreAnimation是按64Byte(也就是8个字,8Byte/字)作为一个字节块去读取、存储和渲染。假设终端的缓存器的类型为A9,即此时终端的缓存器是以64Byte为一个字节块去取数据的。
步骤204、根据所述终端的缓存器的类型,确定所述缓存器对应的第一字节块,其中,所述第一字节块包含第一数量个字节。
在步骤204中,可以根据终端的缓存器的类型,确定缓存器对应的第一字节块。其中,第一字节块包含第一数量个字节。例如,由步骤203可知,终端的缓存器的类型为A9,则缓存器对应的第一字节块包含64个字节,即此时第一数量为64。
步骤205、判断所述第二图像数据的图像字节数是否为所述第一数量的M倍,其中,M为正整数。
在步骤205中,可以判断第二图像数据的图像字节数是否为第一数量的M倍。其中,M为正整数。即可以判断第二图像数据的图像字节数109是否为第一数量64的整数倍。
步骤206、如果所述第二图像数据的图像字节数为所述第一数量的M倍,确定所述第二图像数据为字节对齐的图像数据。
在步骤206中,如果第二图像数据的图像字节数为第一数量的M倍,可以确定第二图像数据为字节对齐的图像数据。即如果第二图像数据的图像字节数为第一数量64的整数倍,可以确定第二图像数据为字节对齐的图像数据。
步骤207、如果所述第二图像数据的图像字节数不为所述第一数量的M倍,确定所述第二图像数据为非字节对齐的图像数据。
在步骤207中,如果第二图像数据的图像字节数不为第一数量的M倍,可以确定第二图像数据为非字节对齐的图像数据。即如果第二图像数据的图像字节数不为第一数量64的整数倍,可以确定第二图像数据为非字节对齐的图像数据。此时,由于第二图像数据的图像字节数109不为第一数量64的整数倍,因此,可以确定第二图像数据为非字节对齐的图像数据。
步骤208、如果所述第二图像数据为非字节对齐的图像数据,对所述第二图像数据进行字节对齐处理,获得第三图像数据。
在步骤208中,如果第二图像数据为非字节对齐的图像数据,可以对第二图像数据进行字节对齐处理,获得第三图像数据。
可选的,所述对所述第二图像数据进行字节对齐处理,包括:
将所述第二图像数据的图像字节数调整为所述第一数量的N倍,其中,N为正整数。
例如,可以将第二图像数据的图像字节数调整为第一数量的N倍。其中,N为正整数。由步骤204可知,第一数量为64;且由步骤207可知,包含109个字节的第二图像数据为非字节对齐的图像数据。因此,可以将第二图像数据的图像字节数调整为第一数量64的1倍,获得第三图像数据。此时第三图像数据中仅包含64个字节,第二图像数据中的45个字节被丢弃掉。
可选的,在所述将所述第三图像数据存储至所述缓存器内的步骤之前,所述方法还包括:
根据所述终端的缓存器的类型,确定所述缓存器对应的第二字节块,其中,所述第二字节块包含第二数量个字节;
根据所述第二字节块以及所述第三图像数据的图像字节数,将所述第三图像数据划分为P块第四图像数据,其中,P为整数,且P>0;
所述将所述第三图像数据存储至所述缓存器内,包括:
将所述P块第四图像数据存储至所述缓存器内。
需要说明的是,还可以根据终端的缓存器的类型,确定缓存器对应的第二字节块。其中,第二字节块包含第二数量个字节。由步骤203可知,终端的缓存器的类型为A9,则缓存器对应的第二字节块可以包含8个字节,即此时第二数量为8。然后,可以根据第二字节块以及第三图像数据的图像字节数,将第三图像数据划分为P块第四图像数据。其中,P为整数,且P>0。例如,可以根据第二字节块以及第三图像数据的图像字节数64,将第三图像数据划分为8块第四图像数据,且每块第四图像数据均包含8个字节,即每块第四图像数据均包含8Byte。接下来,可以将P块第四图像数据存储至缓存器内,即可以将8块第四图像数据存储至缓存器内。这样,可以将第三图像数据划分为P块第四图像数据,并将P块第四图像数据存储至缓存器内。即可以通过第二字节块去创建实体,此实体就是CPU读取数据时所访问的实体。可以节省读取实体时CPU周期,即可以节省读取entryData时CPU周期。其中,entryData即为P块第四图像数据中的任意一块第四图像数据。读取操作更高效。
步骤209、将所述第三图像数据存储至所述缓存器内。
在步骤209中,可以将第三图像数据存储至缓存器内,即可以将P块第四图像数据存储至缓存器内。
可选的,在所述将所述P块第四图像数据存储至所述缓存器内的步骤之后,所述方法还包括:
从所述缓存器内读取所述P块第四图像数据;
利用所读取的所述P块第四图像数据,生成目标图片;
显示所述目标图片。
可以从缓存器内读取P块第四图像数据,并利用所读取的P块第四图像数据,生成目标图片。最终,可以显示目标图片。
需要说明的是,相关技术中,从内存中读取图像数据时,是通过随机读取的方式。即可以先从内存中随机读取预设数量个字节的图像数据,然后在剩下的图像数据中再随机读取预设数量个字节的图像数据,读取效率较低。
而在本申请中,可以预先将第三图像数据划分为P块第四图像数据,并将P块第四图像数据存储至缓存器内。这样,从内存中读取图像数据时,可以有规律的一块一块的读取图像数据,读取效率较高。
本申请提供的图像数据字节对齐方法,应用于终端。在第一图像数据中存在杂质字节的情况下,可以将第一图像数据中的杂质字节剔除,获得第二图像数据。如果第二图像数据为非字节对齐的图像数据,还可以对第二图像数据进行字节对齐处理,获得第三图像数据,并将第三图像数据存储至缓存器内。此时从内存中读取的图像数据即为不含杂质字节的,且经过字节对齐处理的图像数据,进而无需进行图像数据的拷贝操作以及杂质字节的剔除操作,节省了内存和进行拷贝的时间。进一步的,可以将第三图像数据划分为P块第四图像数据,并将P块第四图像数据存储至缓存器内。即可以通过块去创建实体,此实体就是CPU读取数据时所访问的实体。可以节省读取实体时CPU周期,使读取操作更高效。
参见图3,图3是本申请提供的一种终端的结构图。如图3所示,终端300包括获取模块301、剔除模块302、第一确定模块303、判断模块304、处理模块305和存储模块306,其中:
获取模块301,用于获取第一图像数据;
剔除模块302,用于在所述第一图像数据中存在杂质字节的情况下,将所述第一图像数据中的杂质字节剔除,获得第二图像数据;
第一确定模块303,用于确定所述终端的缓存器的类型;
判断模块304,用于根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据;
处理模块305,用于如果所述第二图像数据为非字节对齐的图像数据,对所述第二图像数据进行字节对齐处理,获得第三图像数据;
存储模块306,用于将所述第三图像数据存储至所述缓存器内。
可选的,如图4所示,所述判断模块304包括:
第一确定子模块3041,用于根据所述终端的缓存器的类型,确定所述缓存器对应的第一字节块,其中,所述第一字节块包含第一数量个字节;
判断子模块3042,用于判断所述第二图像数据的图像字节数是否为所述第一数量的M倍,其中,M为正整数;
第二确定子模块3043,用于如果所述第二图像数据的图像字节数为所述第一数量的M倍,确定所述第二图像数据为字节对齐的图像数据;
第三确定子模块3044,用于如果所述第二图像数据的图像字节数不为所述第一数量的M倍,确定所述第二图像数据为非字节对齐的图像数据。
可选的,所述处理模块305具体用于将所述第二图像数据的图像字节数调整为所述第一数量的N倍,其中,N为正整数。
可选的,如图5所示,所述终端还包括:
第二确定模块307,用于根据所述终端的缓存器的类型,确定所述缓存器对应的第二字节块,其中,所述第二字节块包含第二数量个字节;
划分模块308,用于根据所述第二字节块以及所述第三图像数据的图像字节数,将所述第三图像数据划分为P块第四图像数据,其中,P为整数,且P>0;
所述存储模块306具体用于将所述P块第四图像数据存储至所述缓存器内。
可选的,如图6所示,所述终端还包括:
读取模块309,用于从所述缓存器内读取所述P块第四图像数据;
生成模块3010,用于利用所读取的所述P块第四图像数据,生成目标图片;
显示模块3011,用于显示所述目标图片。
终端300能够实现图1和图2的方法实施例中终端实现的各个过程,为避免重复,这里不再赘述。且终端300可以实现在第一图像数据中存在杂质字节的情况下,可以将第一图像数据中的杂质字节剔除,获得第二图像数据。如果第二图像数据为非字节对齐的图像数据,还可以对第二图像数据进行字节对齐处理,获得第三图像数据,并将第三图像数据存储至缓存器内。此时从内存中读取的图像数据即为不含杂质字节的,且经过字节对齐处理的图像数据,进而无需进行图像数据的拷贝操作以及杂质字节的剔除操作,节省了内存和进行拷贝的时间。进一步的,可以将第三图像数据划分为P块第四图像数据,并将P块第四图像数据存储至缓存器内。即可以通过块去创建实体,此实体就是CPU读取数据时所访问的实体。可以节省读取实体时CPU周期,使读取操作更高效。
图7为本发明实施例提供的电子设备的硬件结构示意图。如图7所示,该电子设备,包括:
存储器701,用于存储程序指令;
处理器702,用于调用并执行所述存储器中的程序指令,以实现上述实施例中所述的图像数据字节对齐方法。具体可以参见前述实施例中的相关描述。
本实施例中,处理器702和存储器701可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
本发明实施例还提供了一种可读存储介质,包括:所述可读存储介质中存储有计算机程序,当终端的至少一个处理器执行所述计算机程序时,终端执行上述实施例中所述的图像数据字节对齐方法。
所述的可读存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于ReactNative框架程序中的端间数据同步装置、电子设备及可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。
Claims (10)
1.一种图像数据字节对齐方法,应用于终端,其特征在于,所述方法包括:
获取第一图像数据;
在所述第一图像数据中存在杂质字节的情况下,将所述第一图像数据中的杂质字节剔除,获得第二图像数据;
确定所述终端的缓存器的类型;
根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据;
如果所述第二图像数据为非字节对齐的图像数据,对所述第二图像数据进行字节对齐处理,获得第三图像数据;
将所述第三图像数据存储至所述缓存器内;
所述对所述第二图像数据进行字节对齐处理,包括:
将所述第二图像数据的图像字节数调整为第一数量的N倍,其中,N为正整数,所述第一数量为第一字节块包含的字节数量,所述第一字节块为所述缓存器对应的字节块。
2.如权利要求1所述的方法,其特征在于,所述根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据,包括:
根据所述终端的缓存器的类型,确定所述缓存器对应的第一字节块;
判断所述第二图像数据的图像字节数是否为所述第一数量的M倍,其中,M为正整数;
如果所述第二图像数据的图像字节数为所述第一数量的M倍,确定所述第二图像数据为字节对齐的图像数据;
如果所述第二图像数据的图像字节数不为所述第一数量的M倍,确定所述第二图像数据为非字节对齐的图像数据。
3.如权利要求1至2中任一项所述的方法,其特征在于,在所述将所述第三图像数据存储至所述缓存器内的步骤之前,所述方法还包括:
根据所述终端的缓存器的类型,确定所述缓存器对应的第二字节块,其中,所述第二字节块包含第二数量个字节;
根据所述第二字节块以及所述第三图像数据的图像字节数,将所述第三图像数据划分为P块第四图像数据,其中,P为整数,且P>0;
所述将所述第三图像数据存储至所述缓存器内,包括:
将所述P块第四图像数据存储至所述缓存器内。
4.如权利要求3所述的方法,其特征在于,在所述将所述P块第四图像数据存储至所述缓存器内的步骤之后,所述方法还包括:
从所述缓存器内读取所述P块第四图像数据;
利用所读取的所述P块第四图像数据,生成目标图片;
显示所述目标图片。
5.一种终端,其特征在于,包括:
获取模块,用于获取第一图像数据;
剔除模块,用于在所述第一图像数据中存在杂质字节的情况下,将所述第一图像数据中的杂质字节剔除,获得第二图像数据;
第一确定模块,用于确定所述终端的缓存器的类型;
判断模块,用于根据所述终端的缓存器的类型,判断所述第二图像数据是否为字节对齐的图像数据;
处理模块,用于如果所述第二图像数据为非字节对齐的图像数据,对所述第二图像数据进行字节对齐处理,获得第三图像数据;
存储模块,用于将所述第三图像数据存储至所述缓存器内;
所述处理模块具体用于将所述第二图像数据的图像字节数调整为第一数量的N倍,其中,N为正整数,所述第一数量为第一字节块包含的字节数量,所述第一字节块为所述缓存器对应的字节块。
6.如权利要求5所述的终端,其特征在于,所述判断模块包括:
第一确定子模块,用于根据所述终端的缓存器的类型,确定所述缓存器对应的第一字节块;
判断子模块,用于判断所述第二图像数据的图像字节数是否为所述第一数量的M倍,其中,M为正整数;
第二确定子模块,用于如果所述第二图像数据的图像字节数为所述第一数量的M倍,确定所述第二图像数据为字节对齐的图像数据;
第三确定子模块,用于如果所述第二图像数据的图像字节数不为所述第一数量的M倍,确定所述第二图像数据为非字节对齐的图像数据。
7.如权利要求5至6中任一项所述的终端,其特征在于,所述终端还包括:
第二确定模块,用于根据所述终端的缓存器的类型,确定所述缓存器对应的第二字节块,其中,所述第二字节块包含第二数量个字节;
划分模块,用于根据所述第二字节块以及所述第三图像数据的图像字节数,将所述第三图像数据划分为P块第四图像数据,其中,P为整数,且P>0;
所述存储模块具体用于将所述P块第四图像数据存储至所述缓存器内。
8.如权利要求7所述的终端,其特征在于,所述终端还包括:
读取模块,用于从所述缓存器内读取所述P块第四图像数据;
生成模块,用于利用所读取的所述P块第四图像数据,生成目标图片;
显示模块,用于显示所述目标图片。
9.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1~4任一项所述的图像数据字节对齐方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当终端的至少一个处理器执行所述计算机程序时,终端执行权利要求1~4任一项所述的图像数据字节对齐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910898571.4A CN110782389B (zh) | 2019-09-23 | 2019-09-23 | 一种图像数据字节对齐方法和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910898571.4A CN110782389B (zh) | 2019-09-23 | 2019-09-23 | 一种图像数据字节对齐方法和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110782389A CN110782389A (zh) | 2020-02-11 |
CN110782389B true CN110782389B (zh) | 2023-09-15 |
Family
ID=69383800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910898571.4A Active CN110782389B (zh) | 2019-09-23 | 2019-09-23 | 一种图像数据字节对齐方法和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110782389B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116796685B (zh) * | 2023-08-07 | 2024-02-09 | 深圳云豹智能有限公司 | 数据拼接模块及数据传递方法、介质、电子设备、芯片 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3216238C1 (de) * | 1982-04-30 | 1983-11-03 | Siemens AG, 1000 Berlin und 8000 München | Datenverarbeitungsanlage mit virtueller Teiladressierung des Pufferspeichers |
DE19612418A1 (de) * | 1996-03-28 | 1997-10-02 | Oce Printing Systems Gmbh | Verfahren zum Zugriff auf Quelldaten eines Quellbildes |
EP1111904A2 (en) * | 1999-12-20 | 2001-06-27 | Texas Instruments Incorporated | Digital camera system and method |
CN1599412A (zh) * | 2003-09-18 | 2005-03-23 | 明基电通股份有限公司 | 处理彩色图像数据的方法 |
CN1864410A (zh) * | 2003-10-04 | 2006-11-15 | 皇家飞利浦电子股份有限公司 | 处理图像数据的方法和设备 |
CN101882112A (zh) * | 2010-06-25 | 2010-11-10 | 北京中星微电子有限公司 | 四字节字的读取处理方法与装置、解码器 |
CN102521141A (zh) * | 2011-12-01 | 2012-06-27 | 福州瑞芯微电子有限公司 | 一种紧凑存储图像数据的读取装置及方法 |
CN102521793A (zh) * | 2011-12-01 | 2012-06-27 | 福州瑞芯微电子有限公司 | 实现节省图像存储空间的存储控制装置和方法 |
CN104572573A (zh) * | 2014-12-26 | 2015-04-29 | 深圳市国微电子有限公司 | 数据存储方法、存储模块和可编程逻辑器件 |
CN104618717A (zh) * | 2013-11-05 | 2015-05-13 | 瑞昱半导体股份有限公司 | 行与块的整合转换方法及其计算机可读取存储介质 |
CN105824580A (zh) * | 2016-03-18 | 2016-08-03 | 福州瑞芯微电子股份有限公司 | 录像文件写方法和录制设备 |
CN107608714A (zh) * | 2017-09-30 | 2018-01-19 | 广州酷狗计算机科技有限公司 | 字节对齐方法、装置及计算机可读存储介质 |
CN108377394A (zh) * | 2018-03-06 | 2018-08-07 | 珠海全志科技股份有限公司 | 视频编码器的图像数据读取方法、计算机装置及计算机可读存储介质 |
CN109325901A (zh) * | 2017-07-31 | 2019-02-12 | 深圳市中兴微电子技术有限公司 | 一种实现图像处理的方法及装置 |
CN109947364A (zh) * | 2019-02-01 | 2019-06-28 | 浙江蓝点动力科技有限公司 | 一种用于flash/eeprom中的实时数据存储方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1272312A (en) * | 1987-03-30 | 1990-07-31 | Arthur Gary Ryman | Method and system for processing a two-dimensional image in a microprocessor |
-
2019
- 2019-09-23 CN CN201910898571.4A patent/CN110782389B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3216238C1 (de) * | 1982-04-30 | 1983-11-03 | Siemens AG, 1000 Berlin und 8000 München | Datenverarbeitungsanlage mit virtueller Teiladressierung des Pufferspeichers |
DE19612418A1 (de) * | 1996-03-28 | 1997-10-02 | Oce Printing Systems Gmbh | Verfahren zum Zugriff auf Quelldaten eines Quellbildes |
EP1111904A2 (en) * | 1999-12-20 | 2001-06-27 | Texas Instruments Incorporated | Digital camera system and method |
CN1599412A (zh) * | 2003-09-18 | 2005-03-23 | 明基电通股份有限公司 | 处理彩色图像数据的方法 |
CN1864410A (zh) * | 2003-10-04 | 2006-11-15 | 皇家飞利浦电子股份有限公司 | 处理图像数据的方法和设备 |
CN101882112A (zh) * | 2010-06-25 | 2010-11-10 | 北京中星微电子有限公司 | 四字节字的读取处理方法与装置、解码器 |
CN102521141A (zh) * | 2011-12-01 | 2012-06-27 | 福州瑞芯微电子有限公司 | 一种紧凑存储图像数据的读取装置及方法 |
CN102521793A (zh) * | 2011-12-01 | 2012-06-27 | 福州瑞芯微电子有限公司 | 实现节省图像存储空间的存储控制装置和方法 |
CN104618717A (zh) * | 2013-11-05 | 2015-05-13 | 瑞昱半导体股份有限公司 | 行与块的整合转换方法及其计算机可读取存储介质 |
CN104572573A (zh) * | 2014-12-26 | 2015-04-29 | 深圳市国微电子有限公司 | 数据存储方法、存储模块和可编程逻辑器件 |
CN105824580A (zh) * | 2016-03-18 | 2016-08-03 | 福州瑞芯微电子股份有限公司 | 录像文件写方法和录制设备 |
CN109325901A (zh) * | 2017-07-31 | 2019-02-12 | 深圳市中兴微电子技术有限公司 | 一种实现图像处理的方法及装置 |
CN107608714A (zh) * | 2017-09-30 | 2018-01-19 | 广州酷狗计算机科技有限公司 | 字节对齐方法、装置及计算机可读存储介质 |
CN108377394A (zh) * | 2018-03-06 | 2018-08-07 | 珠海全志科技股份有限公司 | 视频编码器的图像数据读取方法、计算机装置及计算机可读存储介质 |
CN109947364A (zh) * | 2019-02-01 | 2019-06-28 | 浙江蓝点动力科技有限公司 | 一种用于flash/eeprom中的实时数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110782389A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021421B (zh) | 一种加速网页渲染的方法及装置 | |
US20100067867A1 (en) | System and method for searching video scenes | |
CN110544214A (zh) | 一种图像修复方法、装置及电子设备 | |
CN110648136B (zh) | 共识与交易同步的并行处理方法、装置和电子设备 | |
CN109389659A (zh) | Ppt中数学公式的渲染方法、装置、存储介质及终端设备 | |
CN112579595A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN110717050B (zh) | 一种知识图谱数据库的访问方法及装置 | |
CN110782389B (zh) | 一种图像数据字节对齐方法和终端 | |
CN111383038A (zh) | 移动终端的广告展示方法、装置、移动终端和储存介质 | |
CN108280135B (zh) | 实现数据结构可视化的方法、装置和电子设备 | |
CN113286174A (zh) | 视频抽帧方法、装置、电子设备、计算机可读存储介质 | |
CN110059135B (zh) | 一种数据同步方法和装置 | |
CN111381905B (zh) | 一种程序处理方法、装置及设备 | |
CN116185545A (zh) | 一种页面渲染的方法及装置 | |
US11288776B2 (en) | Method and apparatus for image processing | |
CN112907198B (zh) | 业务状态流转维护方法、装置及电子设备 | |
CN114257868A (zh) | 视频制作方法、装置、设备和存储介质 | |
CN109656805B (zh) | 用于业务分析的代码链路的生成方法、装置及业务服务器 | |
CN109857632B (zh) | 测试方法、装置、终端设备及可读存储介质 | |
CN109544664B (zh) | 动画数据处理方法、装置、电子设备及可读存储介质 | |
CN112035656A (zh) | 文档快速预览的方法、装置、计算机设备及介质 | |
CN113535338A (zh) | 用于数据接入的交互方法、系统、存储介质及电子设备 | |
CN116263792B (zh) | 一种复杂互联网数据爬取的方法及系统 | |
CN110795094A (zh) | 一种页面组件引用方法以及页面组件引用装置 | |
CN113434219B (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 |