一种处理图像的方法及图像处理装置制造方法及图纸

技术编号:9336438 阅读:75 留言:0更新日期:2013-11-13 16:52
本发明专利技术公开了一种处理图像的方法及图像处理装置。该方法包括:A、读取图像文件,设置映射图像文件中当前待绘制帧的索引;B、获取索引映射的当前待绘制帧并进行解码,得到当前待绘制帧中各像素点信息,缓存至内存中预先设置的第一图像缓存中;C、清空当前待绘制帧的上一帧的上一帧所在的图像缓存,根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中;D、触发将绘制后的帧绘制到图形界面进行显示,并将设置的索引更新。应用本发明专利技术,可以降低缓存图像所需的内存容量、提高处理效率。

【技术实现步骤摘要】
一种处理图像的方法及图像处理装置
本专利技术涉及图像绘制领域,特别涉及一种处理图像的方法及图像处理装置。
技术介绍
图像是常用的一种互联网应用,可以提供给用户直观的感受,用以增强用户的应用体验,因而在各领域中得到了广泛的应用。图像包括动画以及视频,以动画为例,图像互换格式(GIF,GraphicsInterchangeFormat)是一种常见的动画格式,预先设置好的动画文件需要在客户端进行解码、绘制等处理,然后输出至图像界面进行显示。现有技术中,处理GIF动画显示的方法一般是通过对获取的GIF文件中包含的GIF帧进行解码,获取各GIF帧中包含的像素点信息,并将解码得到的像素点信息在内存中进行缓存,然后根据缓存的像素点信息以及组成动画的每帧的配置属性,分别进行逐帧绘制并缓存在内存中,最后,在绘制好所有帧后,根据动画的显示设置,依序将内存中已绘制的帧绘制到图形界面进行展示(播放),从而实现动画显示处理。由上述可见,现有处理GIF动画显示的方法,由于需要将解码得到的像素点信息以及已绘制的用于组成动画的每一帧在内存中进行缓存,因而,会占用大量的内存空间,对内存容量的需求大,例如,如果GIF动画包含200帧,则内存中需要缓存200帧的像素点信息以及已绘制的200帧。这对于内存容量较小的客户端来说,缓存动画不仅占用了容量本就有限的内存空间,也使得由于内存被占用过多,动画绘制的速度下降,处理GIF动画所需的时间延长,处理效率低。
技术实现思路
有鉴于此,本专利技术的主要目的在于提出一种处理图像的方法,降低缓存图像所需的内存容量、提高处理效率。本专利技术的另一目的在于提出一种图像处理装置,降低缓存图像所需的内存容量、提高处理效率。为达到上述目的,本专利技术提供了一种处理图像的方法,该方法包括:A、读取图像文件,设置映射图像文件中当前待绘制帧的索引;B、获取索引映射的当前待绘制帧并进行解码,得到当前待绘制帧中各像素点信息,缓存至内存中预先设置的第一图像缓存中;C、清空当前待绘制帧的上一帧的上一帧所在的图像缓存,根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中;D、触发将绘制后的帧绘制到图形界面进行显示,并将设置的索引更新。一种图像处理装置,该装置包括:索引映射模块、图像缓存模块以及辅助线程绘制模块,其中,索引映射模块,用于读取图像文件,设置映射图像文件中当前待绘制帧的索引;接收索引更新信息,将将设置的索引更新;图像缓存模块,用于在内存中设置第一图像缓存;辅助线程绘制模块,用于获取索引映射模块中索引映射的当前待绘制帧并进行解码,获取当前待绘制帧中各像素点信息,缓存至图像缓存模块中的第一图像缓存中;清空当前待绘制帧的上一帧的上一帧所在的图像缓存,根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中;触发将绘制后的帧输出至显示模块,并向索引映射模块输出索引更新信息。由上述的技术方案可见,本专利技术提供的一种处理图像的方法及图像处理装置,通过索引映射的设置及更新,利用三份缓存图像作为中介,对待显示的帧在内存中进行实时绘制,使得缓存图像所需的内存容量小,从而使得客户端具有更多的内存执行图像绘制,提高了图像处理效率。附图说明图1为本专利技术实施例处理图像的方法流程示意图。图2为本专利技术实施例处理图像的方法具体流程示意图。图3为本专利技术实施例图像处理装置结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本专利技术作进一步地详细描述。现有处理GIF图像的方法,需要将图像文件中每帧的像素点信息以及已绘制的每一帧在内存中进行缓存,并在绘制好所有帧后,再依序将已绘制的帧绘制到图形界面进行显示,使得处理图像所需的内存容量大,图像绘制的处理效率低。本专利技术实施例中,考虑到在图像绘制(播放)过程中,当前显示的帧只与绘制的上一帧以及当前待绘制帧的配置属性相关,以及,图像绘制为依序逐帧显示,通过在内存中分别设置用于缓存当前待绘制帧解码后得到的像素点信息的第一图像缓存,以及,用于缓存与当前待绘制帧的配置属性相关的第二图像缓存和第三图像缓存,对待显示的帧在内存中进行实时绘制,然后再绘制到图形界面进行显示,从而实现占用内存较低的GIF图像处理。图1为本专利技术实施例处理图像的方法流程示意图。参见图1,该流程包括:步骤101,读取图像文件,设置映射图像文件中当前待绘制帧的索引;步骤102,获取索引映射的当前待绘制帧并进行解码,得到当前待绘制帧中各像素点信息,缓存至内存中预先设置的第一图像缓存中;步骤103,清空当前待绘制帧的上一帧的上一帧所在的图像缓存,根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中;步骤104,触发将绘制后的帧绘制到图形界面进行显示,并将设置的索引更新。下面举具体实施例,对本专利技术做进一步说明。图2为本专利技术实施例处理图像的方法具体流程示意图。参见图2,该流程包括:步骤201,读取图像文件,设置映射图像文件中当前待绘制帧的索引;本步骤中,制作图像文件属于现有技术,具体可参见相关技术文献,在此不再赘述。本专利技术实施例中,涉及将制作的图像文件在客户端进行解码绘制后,在图形界面上进行显示。图像文件存储在本地,例如,本地磁盘、闪存、磁盘阵列等,这样,无需占用内存容量。本专利技术实施例中,如果需要对远程的图像文件进行图像处理,可以先将远程的图像文件下载到本地进行存储。索引映射图像文件中当前待绘制帧(图像)的位置,帧在图像文件中的位置可以通过统一资源定位器信息进行表示。较佳地,帧的格式为GIF,所应说明的是,当然,实际应用中,帧的格式也可以是其它图像格式,不同的图像格式只是具有不同的绘制算法,但可以按照本专利技术实施例的方法进行处理。步骤202,在内存中设置第一图像缓存、第二图像缓存以及第三图像缓存;本步骤中,通过读取本地存储的图像文件的描述信息,获取图像文件中帧的数据信息,例如,帧的宽度信息、高度信息、透明色信息、全局色表信息、绘制方式信息、该帧至下一帧的延迟信息等,并根据帧的宽度信息(最大宽度信息)以及高度信息(最大高度信息)分别设置第一图像缓存、第二图像缓存以及第三图像缓存,并将第一图像缓存记为P,第二图像缓存记为A,第三图像缓存记为B,其中,第一图像缓存用于缓存后续对当前待绘制帧解码后得到的像素点信息,第二图像缓存和第三图像缓存分别用于缓存与当前待绘制帧的配置属性相关的上一帧。通过调用辅助线程用于解码图像帧,关于调用辅助线程的流程,具体可参见相关技术文献,在此不再赘述。步骤203,获取索引映射的当前待绘制帧并进行解码,得到当前待绘制帧中各像素点信息,缓存至第一图像缓存中;本步骤中,根据建立的索引获取索引映射的帧,根据该帧的数据信息,例如,色表信息、绘制方式信息、该帧至下一帧的延迟信息等,进行解码,获取该帧中每一像素点的信息,将解码得到的各像素点的信息缓存至创建的第一图像缓存P中。解码的方式可以是通过内存拷贝,关于解码的流程,具体可参见相关技术文献。步骤204,清空缓存已绘制的上一帧的上一帧所在的图像缓存;本步骤中,已绘制的上一帧是指当前待绘制帧的上一帧,已绘制的上一帧以及已绘制的本文档来自技高网...
一种处理图像的方法及图像处理装置

【技术保护点】
一种处理图像的方法,其特征在于,该方法包括:A、读取图像文件,设置映射图像文件中当前待绘制帧的索引;B、获取索引映射的当前待绘制帧并进行解码,得到当前待绘制帧中各像素点信息,缓存至内存中预先设置的第一图像缓存中;C、清空当前待绘制帧的上一帧的上一帧所在的图像缓存,根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中;D、触发将绘制后的帧绘制到图形界面进行显示,并将设置的索引更新。

【技术特征摘要】
1.一种处理图像的方法,其特征在于,该方法包括:预先在内存中设置用于缓存当前待绘制帧的上一帧以及当前待绘制帧的上一帧的上一帧的第二图像缓存以及第三图像缓存;A、读取图像文件,设置映射图像文件中当前待绘制帧的索引;B、获取索引映射的当前待绘制帧并进行解码,得到当前待绘制帧中各像素点信息,缓存至内存中预先设置的第一图像缓存中;C、清空当前待绘制帧的上一帧的上一帧所在的图像缓存,根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中;D、触发将绘制后的帧绘制到图形界面进行显示,并将设置的索引更新为映射当前待绘制帧的下一帧,返回执行步骤B。2.如权利要求1所述的方法,其特征在于,在所述清空当前待绘制帧的上一帧的上一帧所在的图像缓存之前,进一步包括:从第二图像缓存和第三图像缓存中,根据帧标识识别出存储有当前待绘制帧的上一帧的上一帧所存储的帧内容的图像缓存。3.如权利要求1所述的方法,其特征在于,所述清空当前待绘制帧的上一帧的上一帧所在的图像缓存包括:如果缓存的当前待绘制帧的上一帧使用的是第二图像缓存,则清空缓存有当前待绘制帧的上一帧的上一帧的第三图像缓存;如果缓存的当前待绘制帧的上一帧使用的是第三图像缓存,则清空缓存有当前待绘制帧的上一帧的上一帧的第二图像缓存。4.如权利要求3所述的方法,其特征在于,所述根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中包括:如果缓存的当前待绘制帧的上一帧使用的是第二图像缓存,如果配置属性为恢复背景色属性,则根据第一图像缓存中缓存的各像素点的信息,进行绘制后缓存到第三图像缓存中;如果配置属性为无指定配置/不做配置属性,则将第二图像缓存中的帧与第一图像缓存中的帧进行叠加绘制后缓存到第三图像缓存中;如果缓存的当前待绘制帧的上一帧使用的是第三图像缓存,如果配置属性为恢复背景色属性,则根据第一图像缓存所缓存的各像素点的信息进行绘制,绘制后缓存到第二图像缓存中;如果配置属性为无指定配置/不做配置属性,则将第三图像缓存中的帧与第一图像缓存中的帧进行叠加绘制后缓存到第二图像缓存中。5.如权利要求4所述的方法,其特征在于,所述将第二图像缓存中的帧与第一图像缓存中的帧进行叠加绘制包括:获取第二图像缓存中的像素点信息,如果像素点信息为非透明,则进行叠加绘制后的像素点颜色为第二图像缓存中该像素点颜色;如果像素点信息为透明,则进行叠加绘制后的像素点颜色为第一图像缓存中相应位置的像素点颜色。6.如权利要求1所述的方法,其特征在于,所述触发将绘制后的帧绘制到图形界面进行显示包括:计算绘制当前待绘制帧的时延,如果计算得到的时延大于零,在延迟计算得到的时延后,触发将缓存在清空的所述第二图像缓存或第三图像缓存中的帧绘制到图形界面进行显示;如果计算得到的时延小于或等于零,实时触发将缓存在清空的所述第二图像缓存或第三图像缓存中的帧绘制到图形界面进行显示。7.如权利要求6所述的方法,其特征在于,所述计算绘制当前待绘制帧的时延包括:获取上一帧绘制完的时间点;获取显示绘制的当前待绘制帧设置的延迟时...

【专利技术属性】
技术研发人员:万鑫
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1