首页 / 专利库 / 图形技术 / 图像互换格式 / 图像互换格式文件的播放方法及装置

图像互换格式文件的播放方法及装置

阅读:486发布:2020-05-25

专利汇可以提供图像互换格式文件的播放方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 图像互换格式 文件的播放方法及装置,属于互联网技术领域。方法包括:获取至少一个待播放的GIF文件;解析GIF文件中第一 帧 图像的图像数据;根据解析的GIF文件中第一帧图像的图像数据显示GIF文件的第一帧图像,解析GIF文件中剩余图像的图像数据及每帧图像的播放时间;根据解析的GIF文件中每帧图像的图像数据及每帧图像的播放时间生成GIF文件对应的动画数据,播放GIF文件对应的动画数据。本发明通过解析GIF文件中第一帧图像的图像数据并显示,再根据解析出的数据生成动画数据并播放。由于可以提前展示第一帧图像,并根据当前需要对GIF文件进行解析,因此,减少了播放时延,提高了播放效率。,下面是图像互换格式文件的播放方法及装置专利的具体信息内容。

1.一种图像互换格式文件的播放方法,其特征在于,所述方法包括:
获取至少一个待播放的图像互换格式GIF文件;
解析所述GIF文件中第一图像的图像数据;
根据解析的所述GIF文件中第一帧图像的图像数据显示所述GIF文件的第一帧图像,并解析所述GIF文件中剩余图像的图像数据及每帧图像的播放时间;
根据解析的所述GIF文件中每帧图像的图像数据及每帧图像的播放时间生成所述GIF文件对应的动画数据,并播放所述GIF文件对应的动画数据;
所述解析所述GIF文件中第一帧图像的图像数据,包括:
当所述GIF文件为多个时,将多个GIF文件发送至第一线程,由所述第一线程根据每个GIF文件的优先级解析每个GIF文件中第一帧图像的图像数据;
解析所述GIF文件中剩余图像的图像数据及每帧图像的播放时间,包括:
通过所述第一线程将解析后的多个GIF文件发送至第二线程,由所述第二线程按照每个GIF文件的优先级解析每个GIF文件中剩余图像的图像数据及每帧图像的播放时间。
2.根据权利要求1所述的方法,其特征在于,所述解析所述GIF文件中第一帧图像的图像数据之后,还包括:在本地存储解析的所述GIF文件中第一帧图像的图像数据;
所述解析所述GIF文件中剩余图像的图像数据及每帧图像的播放时间之后,还包括:在本地存储解析出的所述GIF文件中剩余图像的图像数据及每帧图像的播放时间。
3.根据权利要求2所述的方法,其特征在于,所述在本地存储解析出的所述GIF文件中剩余图像的图像数据及每帧图像的播放时间之后,还包括:
获取播放所述GIF文件的请求,根据所述请求从本地读取所述GIF文件中每帧图像的图像数据及每帧图像的播放时间;
根据读取的所述GIF文件中每帧图像的图像数据及每帧图像的播放时间生成所述GIF文件对应的动画数据,并播放所述GIF文件对应的动画数据。
4.根据权利要求1或3所述的方法,其特征在于,所述播放所述GIF文件对应的动画数据之后,还包括:
如果检测到屏幕滑动,则显示所述GIF文件的第一帧图像,并在检测到所述屏幕停止滑动时,播放所述GIF文件对应的动画数据。
5.一种图像互换格式文件的播放装置,其特征在于,所述装置包括:
获取模,用于获取至少一个待播放的图像互换格式GIF文件;
第一解析模块,用于解析所述GIF文件中第一帧图像的图像数据;
显示模块,用于根据解析的所述GIF文件中第一帧图像的图像数据显示所述GIF文件的第一帧图像;
第二解析模块,用于解析所述GIF文件中剩余图像的图像数据及每帧图像的播放时间;
生成模块,用于根据解析的所述GIF文件中每帧图像的图像数据及每帧图像的播放时间生成所述GIF文件对应的动画数据;
播放模块,用于播放所述GIF文件对应的动画数据;
所述第一解析模块,用于当所述GIF文件为多个时,将多个GIF文件发送至第一线程,由所述第一线程根据每个GIF文件的优先级解析每个GIF文件中第一帧图像的图像数据;
所述第二解析模块,用于通过所述第一线程将解析后的多个GIF文件发送至第二线程,由所述第二线程按照每个GIF文件的优先级解析每个GIF文件中剩余图像的图像数据及每帧图像的播放时间。
6.根据权利要求5所述的装置,其特征在于,所述装置,还包括:
第一存储模块,用于在本地存储解析的所述GIF文件中第一帧图像的图像数据;
第二存储模块,用于在本地存储解析出的所述GIF文件中剩余图像的图像数据及每帧图像的播放时间。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,还用于获取播放所述GIF文件的请求;
所述生成模块,还用于根据所述请求从本地读取所述GIF文件中每帧图像的图像数据及每帧图像的播放时间,并根据读取的所述GIF文件中每帧图像的图像数据及每帧图像的播放时间生成所述GIF文件对应的动画数据;
所述播放模块,还用于播放所述GIF文件对应的动画数据。
8.根据权利要求5或7所述的装置,其特征在于,所述显示模块,还用于当检测到屏幕滑动时,显示所述GIF文件的第一帧图像;
所述播放模块,还用于在检测到所述屏幕停止滑动时,播放所述GIF文件对应的动画数据。

说明书全文

图像互换格式文件的播放方法及装置

技术领域

[0001] 本发明涉及互联网技术领域,特别涉及一种GIF(Graphics Interchange Format,图像互换格式)文件的播放方法及装置。

背景技术

[0002] 随着互联网的普及和网络技术的发展,特别是移动互联网应用发展迅速,网页中显示的内容越来越丰富的同时,越来越多的人也选择上网浏览网页获取信息。现在大部分网页一般都包含文本、图像、视频等内容,并且这些内容在网页中显示都有一定的文件格式。其中,网页显示的图像对应的文件格式中有一种格式为GIF格式,GIF格式的图像最显著的特点是能展示动态的画面,比其他格式的图像表现的内容更加丰富生动,因此,网络中用来展现GIF格式的图像的GIF文件越来越多。如何播放GIF文件,成为了提升用户浏览体验的其中一个关键。
[0003] 现有技术提供的一种GIF文件的播放方法为:在需要播放网页中的GIF文件时,首先将网页中的GIF文件进行解析,解析出GIF文件中多图像的图像数据及每帧图像的播放时间,再根据解析出的多帧图像的图像数据及每帧图像的播放时间生成动画数据,最后在网页中播放生成的动画数据。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 由于现有技术是在解析出GIF文件中多帧图像的图像数据及每帧图像的播放时间,并根据解析出的多帧图像的图像数据及每帧图像的播放时间生成动画数据后,再播放生成的动画数据,导致播放生成的动画数据之前需要一定的延迟时间,影响用户对GIF文件的浏览体验,且播放GIF文件时需要的时间较长,播放效率不高。

发明内容

[0006] 为了解决现有技术的问题,本发明实施例提供了如下技术方案:
[0007] 一方面,提供了一种图像互换格式文件的播放方法,所述方法包括:
[0008] 获取至少一个待播放的图像互换格式GIF文件;
[0009] 解析所述GIF文件中第一帧图像的图像数据;
[0010] 根据解析的所述GIF文件中第一帧图像的图像数据显示所述GIF文件的第一帧图像,并解析所述GIF文件中剩余图像的图像数据及每帧图像的播放时间;
[0011] 根据解析的所述GIF文件中每帧图像的图像数据及每帧图像的播放时间生成所述GIF文件对应的动画数据,并播放所述GIF文件对应的动画数据。
[0012] 另一方面,提供了一种图像互换格式文件的播放装置,所述装置包括:
[0013] 获取模,用于获取至少一个待播放的图像互换格式GIF文件;
[0014] 第一解析模块,用于解析所述GIF文件中第一帧图像的图像数据;
[0015] 显示模块,用于根据解析的所述GIF文件中第一帧图像的图像数据显示所述GIF文件的第一帧图像;
[0016] 第二解析模块,用于解析所述GIF文件中剩余图像的图像数据及每帧图像的播放时间;
[0017] 生成模块,用于根据解析的所述GIF文件中每帧图像的图像数据及每帧图像的播放时间生成所述GIF文件对应的动画数据;
[0018] 播放模块,用于播放所述GIF文件对应的动画数据。
[0019] 本发明实施例提供的技术方案带来的有益效果是:
[0020] 通过解析获取到的GIF文件中第一帧图像的图像数据并显示GIF文件的第一帧图像,之后再解析当前需要展示的GIF文件剩下的数据,并根据解析出的数据生成动画数据后,再播放生成的动画数据。由于可以提前展示GIF文件的第一帧图像,在根据需要对GIF文件进行继续解析,而不需要等待所有的图像解析完毕在进行动画数据的播放,因此,减少了播放时延,提高了播放效率,进而能够提升用户浏览体验。附图说明
[0021] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022] 图1是本发明实施例一提供的图像互换格式文件的播放方法流程图
[0023] 图2是本发明实施例二提供的图像互换格式文件的播放方法流程图;
[0024] 图3是本发明实施例三提供的图像互换格式文件的播放装置结构示意图;
[0025] 图4是本发明实施例三提供的图像互换格式文件的播放装置结构示意图;
[0026] 图5是本发明实施例四提供的终端的结构示意图。

具体实施方式

[0027] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0028] 实施例一
[0029] 本发明实施例提供了一种图像互换格式文件的播放方法,该方法可以应用于播放GIF文件的终端,该终端包括但不限于手机、计算机、平板电脑等等,本实施例不对终端的具体形式进行限定。参见图1,本实施例提供的方法流程包括:
[0030] 101:获取至少一个待播放的图像互换格式GIF文件;
[0031] 102:解析GIF文件中第一帧图像的图像数据;
[0032] 解析GIF文件中第一帧图像的图像数据,包括:
[0033] 当GIF文件为多个时,将多个GIF文件发送至第一线程,由第一线程根据每个GIF文件的优先级解析每个GIF文件中第一帧图像的图像数据;
[0034] 解析所GIF文件中剩余图像的图像数据及每帧图像的播放时间,包括:
[0035] 通过第一线程将解析后的多个GIF文件发送至第二线程,由第二线程按照每个GIF文件的优先级解析每个GIF文件中剩余图像的图像数据及每帧图像的播放时间。
[0036] 作为一种优选实施例,解析GIF文件中第一帧图像的图像数据之后,还包括:
[0037] 在本地存储解析的GIF文件中第一帧图像的图像数据;
[0038] 作为一种优选实施例,解析GIF文件中剩余图像的图像数据及每帧图像的播放时间之后,还包括:
[0039] 在本地存储解析出的GIF文件中剩余图像的图像数据及每帧图像的播放时间。
[0040] 作为一种优选实施例,在本地存储解析出的GIF文件中剩余图像的图像数据及每帧图像的播放时间之后,还包括:
[0041] 获取播放GIF文件的请求,根据请求从本地读取GIF文件中每帧图像的图像数据及每帧图像的播放时间;
[0042] 根据读取的GIF文件中每帧图像的图像数据及每帧图像的播放时间生成GIF文件对应的动画数据,并播放GIF文件对应的动画数据。
[0043] 作为一种优选实施例,播放GIF文件对应的动画数据之后,还包括:
[0044] 如果检测到屏幕滑动,则显示GIF文件的第一帧图像,并在检测到屏幕停止滑动时,播放GIF文件对应的动画数据。
[0045] 103:根据解析的GIF文件中第一帧图像的图像数据显示GIF文件的第一帧图像,并解析GIF文件中剩余图像的图像数据及每帧图像的播放时间;
[0046] 104:根据解析的GIF文件中每帧图像的图像数据及每帧图像的播放时间生成GIF文件对应的动画数据,并播放GIF文件对应的动画数据。
[0047] 作为一种优选实施例,播放GIF文件对应的动画数据之后,还包括:
[0048] 如果检测到屏幕滑动,则显示GIF文件的第一帧图像,并在检测到屏幕停止滑动时,播放GIF文件对应的动画数据。
[0049] 本实施例提供的方法,通过解析获取到的GIF文件中第一帧图像的图像数据并显示GIF文件的第一帧图像,之后再解析当前需要展示的GIF文件剩下的数据,并根据解析出的数据生成动画数据后,再播放生成的动画数据。由于可以提前展示GIF文件的第一帧图像,在根据需要对GIF文件进行继续解析,而不需要等待所有的图像解析完毕在进行动画数据的播放,因此,减少了播放时延,提高了播放效率,进而能够提升用户浏览体验。
[0050] 实施例二
[0051] 结合上述实施例一的内容,本发明实施例提供了一种图像互换格式文件的播放方法,该方法可以应用于IOS手机平台。当然,本实施例提供的方法还可以应用于播放GIF文件的除IOS手机平台之外的其他终端,该其他终端包括但不限于计算机、平板电脑等等,本实施例不对终端的具体形式进行限定。参见图2,本实施例提供的方法流程包括:
[0052] 201:获取至少一个待播放的GIF文件;
[0053] 具体地,本实施例不对获取至少一个待播放的GIF文件的方式进行限定,包括但不限于终端在浏览器网页中的GIF文件时,终端可以向对应的服务器发送获取GIF文件的请求,当对应的服务器接收到终端发送的获取GIF文件请求后,根据该请求向终端返回待播放的GIF文件。在实际获取GIF文件时,可以获取一个或者多个GIF文件,本实施例不对获取的GIF文件的数量作具体限定。
[0054] 例如,终端上安装了浏览器,当用户打开某一网页时,该网页包含了许多的GIF文件,浏览器需要获取这些GIF文件并进行显示。此时,浏览器所在的终端通过浏览器向存储该网页的服务器发送获取GIF文件的请求,服务器接收到终端的请求后,将终端请求的GIF文件发送至终端,终端由此获取到请求的GIF文件。
[0055] 202:解析GIF文件中第一帧图像的图像数据;
[0056] 针对该步骤,本实施例不对解析GIF文件中第一帧图像的图像数据的方式进行限定,具体实施时,可预先设置一个第一线程,通过该第一线程对获取到的GIF文件进行解析,以解析得到该GIF文件的第一帧图像的图像数据。
[0057] 作为一种优选方案,当需要解析的GIF文件为多个时,本实施例提供的方法中,可将多个GIF文件发送至第一线程,由第一线程解析每个GIF文件中第一帧图像的图像数据。
[0058] 其中,第一线程在解析多个GIF文件时,可按照一定的优先顺序对多个GIF文件进行解析。具体实施时,包括但不限于预先建立一个第一线程对应的第一处理队列,该第一处理队列用来存放待解析的GIF文件,按照GIF文件优先级的顺序从第一处理队列中选取一个GIF文件进行解析。例如,根据GIF文件展示给用户的优先级将多个GIF文件在第一处理队列的位置进行排序,在排序时,即将要播放的GIF文件的优先级较高,将其放在第一处理队列靠前的位置。因此,采用此方式在后续对GIF文件进行解析时,能保证当前解析的GIF文件是需要优先播放的GIF文件,以优先展示。
[0059] 当然,除了采用上述对多个GIF文件进行解析的方式外,在具体实施时还可以采用其他方式解析多个GIF文件,本实施例对此不作具体限定。此外,关于解析出的GIF文件的第一帧图像的图像数据中包含的信息,本实施例同样不作具体限定,包括但不限于GIF文件的第一帧图像的大小、图片描述信息等等。
[0060] 进一步地,为了在下次播放解析过的GIF文件时能够实现GIF文件的快速播放,本实施例提供的方法在第一线程解析完多个GIF文件中第一帧图像的图像数据之后,还可以在本地存储解析的GIF文件中第一帧图像的图像数据。其中,在本地存储解析的GIF文件中第一帧图像的图像数据的方式可以采用如下方法:
[0061] 预先在本地设置一个第一缓存队列,该第一缓存队列用来存储第一线程解析完毕的GIF文件中的第一帧图像的图像数据。在设置第一缓存队列时,可预先为第一缓存队列设置容纳数量,并对第一缓存队列存储的多个GIF文件中第一帧图像的图像数据设置优先级,如将最近进行展示的GIF文件对应的第一帧图像的图像数据在第一缓存队列设置为最高级。当第一缓存队列中存储的数据数量达到容纳数量时,可将优先级较低的GIF文件对应的第一帧图像的图像数据从第一缓存队列中删除。
[0062] 例如,第一缓存队列的容纳数量为3,终端在10点30分展示了GIF文件1,解析得到GIF文件1的第一帧图像的图像数据为GIF_1,在10点31分展示了GIF文件2,解析得到GIF文件2的第一帧图像的图像数据为GIF_2,在10点32分展示了GIF文件3,解析得到GIF文件3的第一帧图像的图像数据为GIF_3。此时最近进行展示的GIF文件为GIF文件3,因此,根据上述算法,三个GIF文件对应的第一帧图像的图像数据在第一缓存队列中的优先级由高到低的顺序为:GIF_3、GIF_2、GIF_1。此时终端若在10点33分展示了GIF文件4,解析得到GIF文件4的第一帧图像的图像数据为GIF_4。由于第一缓存队列容纳的图像数据的数量为3,则在对GIF文件4的第一帧图像的图像数据进行存储时,需要从第一缓存队列中删除一个图像数据。在本例中,由于GIF文件1相对于另外三个GIF文件展示的时间较早,因而此时将GIF文件1对应的第一帧图像的图像数据GIF_1从第一缓存队列中删除即可。删除GIF文件1对应的第一帧图像的图像数据GIF_1后,第一缓存队列中存储的图像数据的优先级由高到低的顺序为:GIF_4、GIF_3、GIF_2。
[0063] 当然,除上述存储GIF文件的第一帧图像的图像数据的方式外,还可以选择其他方式进行存储,本实施例对此不作具体限定。
[0064] 203:根据解析的GIF文件中第一帧图像的图像数据显示GIF文件的第一帧图像;
[0065] 具体地,在上述步骤中,第一线程解析每个GIF文件中第一帧图像的图像数据后,终端可以根据解析出的GIF文件中第一帧图像的图像数据,在网页界面中显示GIF文件的第一帧图像。
[0066] 需要说明的是,终端在对GIF文件中第一帧图像的图像数据进行显示时,若确定之前已解析过该GIF文件的第一帧图像的图像数据,并将其进行了存储,则此时可不用再次解析该GIF文件中第一帧图像的图像数据,直接读取存储的该GIF文件对应的第一帧图像的图像数据,并根据读取的第一帧图像的图像数据显示GIF文件对应的第一帧图像即可,由此提升播放GIF文件的速度。
[0067] 204:解析GIF文件中剩余图像的图像数据及每帧图像的播放时间;
[0068] 针对该步骤,为了后续能够成功播放GIF文件,本实施例提供的方法通过上述步骤202和步骤203解析GIF文件的第一帧图像的图像数据,并显示GIF文件的第一帧图像后,需要进一步解析GIF文件中剩余图像的图像数据及每帧图像的播放时间。关于解析GIF文件中剩余图像的图像数据及每帧图像的播放时间的方式,本实施例不作具体限定。
[0069] 具体地,可预先设置一个第二线程,通过第二线程对GIF文件中剩余图像的图像数据及每帧图像的播放时间进行解析。进一步地,当第一线程对多个GIF文件进行解析后,可将第一线程解析后的多个GIF文件发送至第二线程,由第二线程解析每个GIF文件中剩余图像的图像数据及每帧图像的播放时间。
[0070] 其中,第二线程解析的数据即为GIF文件中除第一帧图像的图像数据之外的其它剩余图像的图像数据及每帧图像的播放时间。该第二线程在解析剩余图像的图像数据及每帧图像的播放时间,可按照一定的优先顺序对多个GIF文件的剩余图像的图像数据及每帧图像的播放时间进行解析。具体实施时,包括但不限于预先建立一个第二线程对应的第二处理队列,该第二处理队列用来存放待解析的GIF文件的未解析数据。例如,根据GIF文件展示给用户的优先级将多个GIF文件的未解析数据在第二处理队列的位置进行排序,在排序时,即将要播放的GIF文件的优先级较高,则可将该GIF文件的未解析数据放在第二处理队列靠前的位置。因此,采用此方式在后续对GIF文件的未解析数据进行解析时,能保证当前解析的GIF文件是需要优先播放的GIF文件,以优先展示。
[0071] 当然,除了采用上述对多个GIF文件的剩余图像的图像数据及每帧图像的播放时间进行解析的方式外,在具体实施时还可以采用其他方式进行解析,本实施例对此不作具体限定。此外,关于解析出的GIF文件的剩余图像的图像数据中包含的信息,本实施例同样不作具体限定,包括但不限于除GIF文件的第一帧图像之外的其它帧图像的大小、图片描述信息等等。
[0072] 进一步地,为了在下次播放解析过的GIF文件时能够实现GIF文件的快速播放,本实施例提供的方法在第二线程在解析完GIF文件中剩余图像的图像数据及每帧图像的播放时间之后,还可以在本地存储解析的GIF文件中剩余图像的图像数据及每帧图像的播放时间。其中,在本地存储解析的GIF文件中剩余图像的图像数据及每帧图像的播放时间的方式可以采用如下方法:
[0073] 预先在本地设置一个第二缓存队列,该第二缓存队列用来存储第二线程解析完毕的GIF文件中剩余图像的图像数据及每帧图像的播放时间。在设置第二缓存队列时,可预先为第二缓存队列设置容纳数量,并对第二缓存队列存储的解析后的多个GIF文件剩余图像的图像数据及每帧图像的播放时间设置优先级,如将最近进行展示的GIF文件对应的剩余图像的图像数据及每帧图像的播放时间在第二缓存队列设置为最高级。当第二缓存队列中存储的数据数量达到容纳数量时,可将优先级较低的GIF文件对应的剩余图像的图像数据及每帧图像的播放时间从第二缓存队列中删除。在具体操作时,可参照步骤202中第一缓存队列中数据的存储方式进行实施。另外,该步骤在存储GIF文件剩余图像的图像数据及每帧图像的播放时间时,可根据解析出的数据的特性,将解析出的数据存储成不同类型的文件。例如,将每帧图像的大小描述信息和每帧图像的播放时间存到一个GIF描述信息文件中,将每帧图像的图像数据存到图像信息文件中。
[0074] 当然,除上述存储GIF文件的剩余帧图像的图像数据及每帧图像的播放时间的方式外,还可以采取其他方式进行存储,本实施例对此不作具体限定。
[0075] 205:根据解析的GIF文件中每帧图像的图像数据及每帧图像的播放时间生成GIF文件对应的动画数据,并播放GIF文件对应的动画数据。
[0076] 具体地,终端按照上述各个步骤对获取到的GIF文件进行解析,得到GIF文件的每帧图像的图像数据及播放时间后,可根据解析的GIF文件中每帧图像的图像数据及每帧图像的播放时间生成GIF文件对应的动画数据,并播放GIF文件对应的动画数据。关于根据解析的GIF文件中每帧图像的图像数据及每帧图像的播放时间生成GIF文件对应的动画数据的方式,本实施例不作具体限定。
[0077] 需要说明的是,若之前已经解析过获取到的GIF文件,并在本地存储了该GIF解析出的GIF文件中每帧图像的图像数据及每帧图像的播放时间,则此时可直接从本地读取该GIF文件对应的每帧图像的图像数据及每帧图像的播放时间,并根据读取到的该GIF文件对应的每帧图像的图像数据及每帧图像的播放时间,生成GIF文件对应的动画数据。最后,播放该GIF文件对应的动画数据即可,而不用对该GIF文件再次解析,由此提升播放GIF文件的速度。
[0078] 进一步地,在播放GIF文件对应的动画数据时,每帧图片播放时长都不同,可用的播放动画数据的控件有:在IOS系统中,IOS控件ImageView自带的Animation,CABasicAnimation和CAKeyframeAnimation,CABasicAnimation需要为每一帧设置动画,每帧都设置,需要时间较长,CAKeyframeAnimation需要计算从上一帧到下一帧的变换矩阵,计算变换矩阵时间较长,综上所述得出展示图片的IOS控件ImageView自带的Animation效率最高,因此,本实施例提供的方法可采用IOS控件ImageView自带的Animation播放GIF文件对应的动画数据。当然,也可以采用其他控件播放GIF文件对应的动画数据,以实现GIF文件的播放,本实施例不对播放GIF文件对应的动画数据的具体控件进行限定。
[0079] 作为一种优选实施例,在播放GIF文件对应的动画数据时,如果有多个GIF文件对应的动画数据,可预先在本地设置一个第三缓存队列,该第三缓存队列用来存储生成的GIF文件对应的动画数据。在设置第三缓存队列时,可预先为第三缓存队列设置容纳数量,并对第三缓存队列存储的多个GIF文件对应的动画数据设置优先级,如将最近进行展示的动画数据在第三缓存队列设置为最高级。当第三缓存队列中存储的动画数据数量达到容纳数量时,可将优先级较低的动画数据从队列中删除。当然,还可以采取其他算法对第三缓存队列中存储的动画数据的优先级进行设置,本实施例对此不作具体限定。
[0080] 进一步地,由于播放多个GIF文件时需要占用很大的CPU资源,因此,本实施例提供的方法在检测到屏幕滑动时,仅显示GIF文件的第一帧图像。当检测到屏幕停止滑动时,再播放GIF文件对应的动画数据。由此在不影响用户浏览体验的前提下,减少播放GIF文件对应的动画数据的次数,从而节省资源。
[0081] 本实施例提供的方法,通过解析获取到的GIF文件中第一帧图像的图像数据并显示GIF文件的第一帧图像,之后再解析当前需要展示的GIF文件剩下的数据,并根据解析出的数据生成动画数据后,再播放生成的动画数据。由于可以提前展示GIF文件的第一帧图像,在根据需要对GIF文件进行继续解析,而不需要等待所有的图像解析完毕在进行动画数据的播放,因此,减少了播放时延,提高了播放效率,进而能够提升用户浏览体验。
[0082] 实施例三
[0083] 本发明实施例提供了一种图像互换格式文件的播放装置,该装置用于执行上述实施例一或实施例二提供的方法。参见图3,该装置包括:
[0084] 获取模块301,用于获取至少一个待播放的图像互换格式GIF文件;
[0085] 第一解析模块302,用于解析GIF文件中第一帧图像的图像数据;
[0086] 显示模块303,用于根据解析的GIF文件中第一帧图像的图像数据显示GIF文件的第一帧图像;
[0087] 第二解析模块304,用于解析GIF文件中剩余图像的图像数据及每帧图像的播放时间;
[0088] 生成模块305,用于根据解析的GIF文件中每帧图像的图像数据及每帧图像的播放时间生成GIF文件对应的动画数据;
[0089] 播放模块306,用于播放GIF文件对应的动画数据。
[0090] 作为一种优选实施例,第一解析模块302,用于当GIF文件为多个时,将多个GIF文件发送至第一线程,由第一线程根据每个GIF文件的优先级解析每个GIF文件中第一帧图像的图像数据。
[0091] 作为一种优选实施例,第二解析模块304,用于通过第一线程将解析后的多个GIF文件发送至第二线程,由第二线程按照每个GIF文件的优先级解析每个GIF文件中剩余图像的图像数据及每帧图像的播放时间。
[0092] 作为一种优选实施例,参见图4,该图像互换格式文件的播放装置,还包括:
[0093] 第一存储模块307,用于在本地存储解析的GIF文件中第一帧图像的图像数据;
[0094] 第二存储模块308,用于在本地存储解析出的GIF文件中剩余图像的图像数据及每帧图像的播放时间。
[0095] 作为一种优选实施例,获取模块301,还用于获取播放GIF文件的请求。
[0096] 作为一种优选实施例,生成模块305,还用于根据请求从本地读取GIF文件中每帧图像的图像数据及每帧图像的播放时间,并根据读取的GIF文件中每帧图像的图像数据及每帧图像的播放时间生成GIF文件对应的动画数据。
[0097] 作为一种优选实施例,播放模块306,还用于播放GIF文件对应的动画数据。
[0098] 作为一种优选实施例,显示模块303,还用于当检测到屏幕滑动时,显示GIF文件的第一帧图像。
[0099] 作为一种优选实施例,播放模块306,还用于在检测到屏幕停止滑动时,播放GIF文件对应的动画数据。
[0100] 本实施例提供的装置,通过解析获取到的GIF文件中第一帧图像的图像数据并显示GIF文件的第一帧图像,之后再解析当前需要展示的GIF文件剩下的数据,并根据解析出的数据生成动画数据后,再播放生成的动画数据。由于可以提前展示GIF文件的第一帧图像,在根据需要对GIF文件进行继续解析,而不需要等待所有的图像解析完毕在进行动画数据的播放,因此,减少了播放时延,提高了播放效率,进而能够提升用户浏览体验。
[0101] 实施例四
[0102] 本发明实施例提供了一种终端,请参考图5,其示出了本发明实施例所涉及的终端的结构示意图,该终端可以用于实施上述实施例中提供的图像互换格式文件的播放方法。具体来讲:
[0103] 终端500可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0104] RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
[0105] 存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器
120的访问
[0106] 输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0107] 显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板
141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图5中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
[0108] 终端500还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端500移动到边时,关闭显示面板141和/或背光。作为运动传感器的一种,重加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0109] 音频电路160、扬声器161,传声器162可提供用户与终端500之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端500的通信。
[0110] WiFi属于短距离无线传输技术,终端500通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块170,但是可以理解的是,其并不属于终端500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0111] 处理器180是终端500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
[0112] 终端500还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0113] 尽管未示出,终端500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于执行以下操作的指令:
[0114] 获取至少一个待播放的图像互换格式GIF文件;
[0115] 解析所述GIF文件中第一帧图像的图像数据;
[0116] 根据解析的所述GIF文件中第一帧图像的图像数据显示所述GIF文件的第一帧图像,并解析所述GIF文件中剩余图像的图像数据及每帧图像的播放时间;
[0117] 根据解析的所述GIF文件中每帧图像的图像数据及每帧图像的播放时间生成所述GIF文件对应的动画数据,并播放所述GIF文件对应的动画数据。
[0118] 假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
[0119] 当所述GIF文件为多个时,将多个GIF文件发送至第一线程,由所述第一线程根据每个GIF文件的优先级解析每个GIF文件中第一帧图像的图像数据;
[0120] 解析所述GIF文件中剩余图像的图像数据及每帧图像的播放时间,包括:
[0121] 通过所述第一线程将解析后的多个GIF文件发送至第二线程,由所述第二线程按照每个GIF文件的优先级解析每个GIF文件中剩余图像的图像数据及每帧图像的播放时间。
[0122] 在第一种或第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
[0123] 解析所述GIF文件中第一帧图像的图像数据之后,还包括:在本地存储解析的所述GIF文件中第一帧图像的图像数据;
[0124] 所述解析所述GIF文件中剩余图像的图像数据及每帧图像的播放时间之后,还包括:在本地存储解析出的所述GIF文件中剩余图像的图像数据及每帧图像的播放时间。
[0125] 在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
[0126] 在本地存储解析出的所述GIF文件中剩余图像的图像数据及每帧图像的播放时间之后,还包括:
[0127] 获取播放所述GIF文件的请求,根据所述请求从本地读取所述GIF文件中每帧图像的图像数据及每帧图像的播放时间;
[0128] 根据读取的所述GIF文件中每帧图像的图像数据及每帧图像的播放时间生成所述GIF文件对应的动画数据,并播放所述GIF文件对应的动画数据。
[0129] 在第一种或第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
[0130] 播放所述GIF文件对应的动画数据之后,还包括:
[0131] 如果检测到屏幕滑动,则显示所述GIF文件的第一帧图像,并在检测到所述屏幕停止滑动时,播放所述GIF文件对应的动画数据。
[0132] 本发明实施例提供的终端,通过解析获取到的GIF文件中第一帧图像的图像数据并显示GIF文件的第一帧图像,之后再解析当前需要展示的GIF文件剩下的数据,并根据解析出的数据生成动画数据后,再播放生成的动画数据。由于可以提前展示GIF文件的第一帧图像,在根据需要对GIF文件进行继续解析,而不需要等待所有的图像解析完毕在进行动画数据的播放,因此,减少了播放时延,提高了播放效率,进而能够提升用户浏览体验。
[0133] 需要说明的是:上述实施例提供的图像互换格式文件的播放装置在播放图像互换格式文件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像互换格式文件的播放装置、终端与图像互换格式文件的播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0134] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0135] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0136] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈