启播加速方法、装置及计算机可读取存储介质转让专利

申请号 : CN201810958331.4

文献号 : CN110858827A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王钺

申请人 : 浙江宇视科技有限公司

摘要 :

本发明实施例提供了一种启播加速方法、装置及计算机可读取存储介质。其中,所述方法应用于电子设备,且电子设备内预先创建一软件解码器,所述方法包括:将解封装后的视频流分别发送至硬件解码器的处理队列及软件解码器的处理队列,以使软、硬件解码器同时对视频流进行解码;当软件解码器解码出视频流的第一个I帧数据时,通过显示单元输出显示所述第一个I帧数据;若在预设时间内获得硬件解码器解码出所述视频流,播放基于所述硬件解码器解码出的视频流生成的多媒体数据。并行使用软硬解码器进行解码,缩短了解码器切换过程中所占用的时间,避免在需要软硬解码器切换时出现卡顿,提高视频流的首张画面输出效率。

权利要求 :

1.一种启播加速方法,应用于电子设备,所述电子设备包括硬件解码器及显示单元,其特征在于,所述电子设备预先创建一软件解码器,所述启播加速方法包括:将解封装后的视频流分别发送至所述硬件解码器的处理队列及所述软件解码器的处理队列,以使所述硬件解码器与所述软件解码器同时对所述视频流进行解码;

当所述软件解码器解码出所述视频流的第一个I帧数据时,通过所述显示单元输出显示所述第一个I帧数据;

若在预设时间内获得所述硬件解码器解码出所述视频流,播放基于所述硬件解码器解码出的所述视频流生成的多媒体数据。

2.如权利要求1所述的启播加速方法,其特征在于,所述启播加速方法还包括:若在所述预设时间内获得所述硬件解码器解码出所述视频流,则关闭所述软件解码器,以释放出系统资源。

3.如权利要求1所述的启播加速方法,其特征在于,所述启播加速方法还包括:若在所述预设时间内未获得所述硬件解码器解码出所述视频流或者获得由所述硬件解码器解码生成的解码失败信号,则播放基于所述软件解码器解码出的所述视频流生成的多媒体数据。

4.如权利要求3所述的启播加速方法,其特征在于,在播放所述多媒体数据之前,所述方法还包括:将解封装后的音频流进行音频解码;

根据所述电子设备的需求参数调整所述音频流;

当所述硬件解码器在预设时间内解码出所述视频流时,根据调整后的所述音频流及所述硬件解码器解码出的所述视频流,生成所述多媒体数据;

当所述硬件解码器在预设时间内未解码出所述视频流或者获得由所述硬件解码器解码生成的解码失败信号时,根据调整后的所述音频流及所述软件解码器解码出的所述视频流,生成所述多媒体数据。

5.如权利要求4所述的启播加速方法,其特征在于,所述根据调整后的所述音频流及所述硬件解码器解码出的所述视频流的步骤,包括:基于所述需求参数,对所述硬件解码器解码出的所述视频流进行处理;

将调整后的所述音频流与处理后的所述视频流同步,生成所述多媒体数据。

6.如权利要求1所述的启播加速方法,其特征在于,所述通过所述显示单元输出显示所述第一个I帧数据的方式包括:获取所述软件解码器解码出所述第一个I帧数据对应的YUV数据;

根据所述电子设备的需求参数,对所述第一个I帧数据的YUV数据进行处理;

调用所述显示单元的渲染接口对处理后的所述YUV数据进行输出显示。

7.一种启播加速装置,应用于电子设备,所述电子设备包括硬件解码器及显示单元,其特征在于,所述电子设备预先创建一软件解码器,所述启播加速装置包括:解码模块,用于将解封装后的视频流分别发送至所述硬件解码器的处理队列及所述软件解码器的处理队列,以使所述硬件解码器与所述软件解码器同时对所述视频流进行解码;

输出模块,用于当所述软件解码器解码出所述视频流的第一个I帧数据时,通过所述显示单元输出显示所述第一个I帧数据;

播放模块,用于若在预设时间内获得所述硬件解码器解码出所述视频流,播放基于所述硬件解码器解码出的所述视频流生成的多媒体数据。

8.如权利要求7所述的启播加速装置,其特征在于,所述启播加速装置还包括:进程管理模块,用于若在所述预设时间内获得所述硬件解码器解码出所述视频流,则关闭所述软件解码器,以释放出系统资源。

9.如权利要求7所述的启播加速装置,其特征在于,所述播放模块还用于:若在所述预设时间内未获得所述硬件解码器解码出所述视频流或者获得由所述硬件解码器解码生成的解码失败信号,则播放基于所述软件解码器解码出的所述视频流生成的多媒体数据。

10.一种计算机可读取存储介质,其上存储有计算机指令,其特征在于,该些计算机指令被处理器执行时实现权利要求1至权利要求6中任意一项所述方法的步骤。

说明书 :

启播加速方法、装置及计算机可读取存储介质

技术领域

[0001] 本发明涉及播放技术领域,具体而言,涉及一种启播加速方法、装置及计算机可读取存储介质。

背景技术

[0002] 随着通信技术的进步,视频数据的传输也越来越便捷。视频数据的观看不再局限于特定的设备,可移动的电子设备已成为用户观看视频数据的首选。使用移动的电子设备观看视频数据无需限制用户观看的时间、地点等,为用户带来了极大的便利,特别是对于安防领域的监控视频而言。
[0003] 视频数据被传输前均需要进行编码,以便于传输。待电子设备接收到视频数据后再对视频数据进行解码并播放。然而,电子设备预先并不了解接收到的视频数据的编码方式,因此,启播过程中对其进行解码需花费大量时间。在大量的数据解码的过程中,用户需要一直等待,显然不能满足用户对观看实时性的要求,甚至影响用户的观看体验。

发明内容

[0004] 本发明的目的在于提供一种启播加速方法、装置及计算机可读取存储介质,用以改善上述问题。
[0005] 为了实现上述目的,本发明实施例采用的技术方案如下:
[0006] 第一方面,本发明实施例提供了一种启播加速方法,应用于电子设备,所述电子设备包括硬件解码器及显示单元,所述电子设备预先创建一软件解码器,所述启播加速方法包括:将解封装后的视频流分别发送至所述硬件解码器的处理队列及所述软件解码器的处理队列,以使所述硬件解码器与所述软件解码器同时对所述视频流进行解码;当所述软件解码器解码出所述视频流的第一个I帧数据时,通过所述显示单元输出显示所述第一个I帧数据;若在预设时间内获得所述硬件解码器解码出所述视频流,播放基于所述硬件解码器解码出的所述视频流生成的多媒体数据。
[0007] 第二方面,本发明实施例提供了一种启播加速装置,应用于电子设备,所述电子设备包括硬件解码器及显示单元,所述电子设备预先创建一软件解码器,所述启播加速装置包括:解码模块,用于将解封装后的视频流分别发送至所述硬件解码器的处理队列及所述软件解码器的处理队列,以使所述硬件解码器与所述软件解码器同时对所述视频流进行解码;输出模块,用于当所述软件解码器解码出所述视频流的第一个I帧数据时,通过所述显示单元输出显示所述第一个I帧数据;播放模块,用于若在预设时间内获得所述硬件解码器解码出所述视频流,播放基于所述硬件解码器解码出的所述视频流生成的多媒体数据。
[0008] 第三方面,本发明实施例提供了一种计算机可读取存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现前述启播加速方法的步骤。
[0009] 与现有技术相比,本发明实施例提供了一种启播加速方法,所述电子设备预先创建一软件解码器,所述启播加速方法通过将解封装后的视频流分别发送至所述硬件解码器的处理队列及所述软件解码器的处理队列,使硬件解码器与软件解码器同时对所述视频流进行解码,并在软件解码器解码出所述视频流的第一个I帧数据时,直接采用显示单元输出显示,无需等待完整的视频流的解码完成。此过程,由于软件解码器可解码的类型比较广,采用软件解码器可以更快的解码出第一个I帧数据,从而提高图像输出速度,使用户快速看到视频流的第一帧画面,缓解用户等待焦躁的心理,提高用户的观看体验。在预设时间内获得所述硬件解码器解码出所述视频流,播放基于所述硬件解码器解码出的所述视频流生成的多媒体数据,借助软件解码器可更可靠更快的解码出整个视频流的特性,缩短输出显示第一个I帧数据画面到正常播放视频数据的时间,提高用户的观看体验。
[0010] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0011] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0012] 图1为本发明实施例提供的电子设备的示意图。
[0013] 图2为本发明实施例提供的一种启播加速方法的步骤流程图。
[0014] 图3为本发明实施例提供的另一种启播加速方法的步骤流程图。
[0015] 图4为本发明实施例提供的启播加速方法的步骤流程图的另一部分。
[0016] 图5为本发明实施例提供的一种启播加速装置的示意图。
[0017] 图标:100-电子设备;111-存储器;112-处理器;113-通信单元;114-显示单元;115-硬件解码器;200-启播加速装置;201-解码模块;202-输出模块;203-播放模块;204-进程管理模块。

具体实施方式

[0018] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019] 相关技术中,为了解决视频数据启播过程中需要等待时间长的问题,当前主要采用的方式包括:
[0020] 1、优先使用硬件解码器,利用其工作表现良好的特性,缩短视频数据解码时长。但是,当视频码流与硬件解码器兼容性出现问题时,释放硬件解码器资源,然后创建软件解码器,重新对视频数据进行解码。然而,软件解码器创建过程中不可避免的需要重新对视频数据进行加载,解析等操作。用户只能等待软件解码器就绪。影响用户体验。
[0021] 2、使用平滑码流切换技术。即电子设备在启动过程中选择存储在服务端的同一个视频的低码率视频资源进行播放。在视频开始播放后,再选择时机切换到正常码流的视频源。通过这种方式来达到加速画面输出的效果。但是,这种方式需要服务端的介入来提供同一个视频多码率资源。同时电子设备本身也要针对平滑码流切换做相应的处理。对MP4等无法动态切换码率的视频格式支持的不好。
[0022] 针对上述情况,本发明实施例提供一种启播加速方法及装置。
[0023] 图1示出本发明较佳实施例提供的电子设备100的方框示意图。优选地,上述电子设备100为可移动的电子设备100,例如,笔记本电脑、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)等。上述电子设备100包括启播加速装置200、存储器111、处理器112、通信单元113、显示单元114及硬件解码器115。
[0024] 所述存储器111、处理器112、通信单元113、显示单元114以及硬件解码器115各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述实现数据存储方法的软件包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器111中或固化在所述电子设备100的操作系统(Operating System,OS)中的软件功能模块。所述处理器112用于执行所述存储器111中存储的可执行模块。
[0025] 其中,所述存储器111可以是,但不限于,随机存取存储器111(Random Access Memory,RAM),只读存储器111(Read  Only  Memory,ROM),可编程只读存储器111(Programmable Read-Only  Memory,PROM),可擦除只读存储器111(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器111(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器111用于存储程序或者数据。例如,启播加速装置200对应的功能模块、预先创建的软件解码器对应的功能模块。
[0026] 所述通信单元113用于通过所述网络建立所述电子设备100与其它通信终端之间的通信连接,并用于接收视频数据。
[0027] 应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
[0028] 第一实施例
[0029] 请参考图2,图2为本发明较佳实施例提供的一种启播加速方法的流程图。该启播加速方法可以应用于电子设备100,用于提高视频数据在电子设备100上启播过程中的图像输出效率。上述启播加速方法包括以下步骤:
[0030] 步骤S101,将解封装后的视频流分别发送至所述硬件解码器115的处理队列及所述软件解码器的处理队列。
[0031] 在本发明实施例中,电子设备100接收到待播放的视频数据后,对其进行解封装处理,以获得视频流和音频流。具体地,解封处理过程中对视频数据的视频流和音频流进行识别并拆分。
[0032] 进一步地,将视频流分别放入硬件解码器115的处理队列及所述软件解码器的处理队列,启动硬件解码器115与所述软件解码器同时对视频流进行解码。需要说明的是,上述处理队列可以是(First Input First Output,FIFO)队列,以便解码器依次对视频流的每一帧图像数据进行解码处理。
[0033] 步骤S102,当软件解码器解码出所述视频流的第一个I帧数据时,通过所述显示单元114输出显示所述第一个I帧数据。
[0034] 在本发明实施例中,软件解码器在对格式的兼容性以及解码的灵活度方面均表现十分优异,软件解码器在解码视频流的过程中可以快速确定与视频流格式兼容的解码方式。也正因为其可以快速的确定与视频流格式兼容的解码方式,因此,软件解码器可以较硬件解码器115更快的解码出视频流的第一个I帧数据。当软件解码器解码出第一个I帧数据后,通过显示单元114输出显示第一个I帧数据,以便于在硬件解码器115成功解码出视频流之前,输出显示视频流的第一个I帧数据,提高图像输出的效率。缓解用户等待视频数据播放的时长,提高观看体验。需要说明的是,相关技术中,对视频数据的输出显示通常需要完成对视频流的解码,而本实施例中,在软件解码器解码出第一个I帧数据后,便强行输出显示解码出该I帧数据并由显示单元114进行输出显示。也就是,在相同外部条件下可以比相关技术中的启播方式更早的输出显示首张画面。
[0035] 可选地,输出显示解码得到的第一个I帧数据的步骤可以是:
[0036] (1)将获取所述软件解码器解码出所述第一个I帧数据对应的所述YUV数据。具体的,可以是将第一个I帧数据传入空BUFFER中,再将其对应的YUV数据刷新出来。需要说明的是,YUV是一种颜色编码方法。常使用在各个视频处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。
[0037] (2)根据所述电子设备100的需求参数,对所述第一个I帧数据的YUV数据进行处理。可选地,上述电子设备100的需求参数可以是电子设备100中播放平台的支持格式、尺寸及画面角度等。对应的,对YUV数据进行处理可以是进行支持格式调整、裁剪、画面旋转等。
[0038] (3)调用所述显示单元114的渲染接口对处理后的所述YUV数据输出显示。
[0039] 步骤S103,若在预设时间内获得所述硬件解码器115解码出视频流,播放基于所述硬件解码器115解码出的所述视频流生成的多媒体数据。
[0040] 在本发明实施例中,步骤S102和步骤S103为并行的两个步骤,之间并无特定的先后顺序。在电子设备100实际执行本发明实施例提供的启播加速方法时,由于解码出第一帧I帧数据与解码出视频流之间存在的时间差,步骤S102通常会先于步骤S103之前被触发。
[0041] 在本发明实施例中,随着硬件解码器115日渐完善,支持的媒体格式虽然有限但也越来越丰富,其凭借极低的功耗和良好的稳定性,为解码视频流的首选方案。相较于软件解码器而言,硬件解码器115在解码出视频流的速度快于软件解码器。因此,电子设备100优选选择由硬件解码器115解码出的视频流生成用于播放的视频数据。可选地,可以是硬件解码器115完成对视频流的解码时长属于预设时间时,基于硬件解码器115解码出的视频流生成多媒体数据。可选地,上述预设时间可以是硬件解码器115正常完成视频流解码的时长。也就是,硬件解码器115的解码时长在该预设时间内,且该硬件解码器115没有生成解码失败信号,则可以认为硬件解码器115还在正常运行,可以继续等待其解码出视频流。如果,硬件解码器115的解码时间超出预设时间或者生成了报错指令,则确认硬件解码器115解码失败。
[0042] 进一步地,在预设时间内获得硬件解码器115解码出来的视频流后,流程进入步骤S104。
[0043] 步骤S104,关闭所述软件解码器。
[0044] 在本发明实施例中,软件解码器解码并输出显示第一帧I帧数据后,会继续按照正常的方式解码视频流。但是,一旦硬件解码器115在预设时间内解码出视频流,则此时已无需软件解码器继续对视频流进行解码。因此,关闭该软件解码器,以释放出软件解码器占用的系统资源,节约系统资源,提高整个电子设备100的运行效率。
[0045] 进一步地,为了避免硬件解码器115与视频流的格式不兼容,反复启用硬件解码器115进行解码造成对解码时间的浪费。如图3所示,本发明实施例提供的启播加速方法还可以包括:
[0046] 步骤S105,若在预设时间内未获得所述硬件解码器115解码出所述视频流或者获得由所述硬件解码器115解码生成的解码失败信号,则播放基于所述软件解码器解码出的所述视频流生成的多媒体数据。
[0047] 在本发明实施例中,步骤S103与步骤S105之间也没有必然的先后顺序,但二者之间属于并列关系。需要说明的是,硬件解码器115在预设时间内均未解码出视频流或者解码过程中生成了解码失败信号,均意味着硬件解码器115解码失败。由于软件解码器与硬件解码器115是同时对视频流进行解码,且软件解码器在解码出第一个I帧数据后依然会继续正常的对视频流进行解码。因此,确认硬件解码器115对视频流解码失败后,可以由硬件解码器115平滑地切换至软件解码器,获取软件解码器解码出的视频流,并生成多媒体数据,以便进行播放。相较于相关技术中,在确定硬件解码器115对视频流解码失败后,才新创建软件解码器,由新创建的软件解码器重启对视频流的解码,因此,相较于相关技术提供的方案而言,本发明实施例提供的方法可以节省大量等待时间。避免软硬解码器之间切换出现卡顿现象,影响用户的观看体验。
[0048] 进一步地,为了得到基于解码出的所述视频流生成的多媒体数据,如图4所示,在播放所述多媒体数据之前,所述方法还包括:
[0049] 步骤S201,将解封装后的音频流进行音频解码。
[0050] 在本发明实施例中,可以采用软件解码器对解封后的音频流进行音频解码。
[0051] 步骤S202,根据所述电子设备100的需求参数调整所述音频流。
[0052] 在本发明实施例中,上述需求参数可以是电子设备100内安装的播放视频数据的平台的支持需求参数,例如,可以包括支持格式、声道、播放速率等。并据此对应调整音频流,以便音频流可以被播放。
[0053] 步骤S203,当所述硬件解码器115在预设时间内解码出所述视频流时,根据调整后的所述音频流及所述硬件解码器115解码出的所述视频流,生成所述多媒体数据。
[0054] 在本发明实施例中,可以先基于需求参数,对硬件解码器115解码出的所述视频流进行处理。可选地,上述电子设备100的需求参数可以是电子设备100中播放平台的支持格式、尺寸及画面角度等。对应的,对硬件解码器115解码出的视频流进行处理可以是进行支持格式调整、裁剪、画面旋转等。
[0055] 再将调整后的所述音频流与处理后的所述视频流同步,生成所述多媒体数据。
[0056] 步骤S204,当所述硬件解码器115在预设时间内未解码出所述视频流或者获得由所述硬件解码器115解码生成的解码失败信号时,根据调整后的所述音频流及所述软件解码器解码出的所述视频流,生成所述多媒体数据。
[0057] 在本发明实施例中,可以先基于需求参数,对软件解码器解码出的所述视频流进行处理。可选地,上述电子设备100的需求参数可以是电子设备100中播放平台的支持格式、尺寸及画面角度等。对应的,对软件解码器解码出的视频流进行处理可以是进行支持格式调整、裁剪、画面旋转等。
[0058] 再将调整后的所述音频流与处理后的所述视频流同步,生成所述多媒体数据。
[0059] 第二实施例
[0060] 本发明实施例还提供与上述方法相对应的一种启播加速装置200,该启播加速装置200应用于电子设备100,该启播加速装置200中的细节方案可以参照上述方法来实现,如图5所示,上述启播加速装置200可以包括:
[0061] 解码模块201,用于将解封装后的视频流分别发送至所述硬件解码器115的处理队列及所述软件解码器的处理队列,以使所述硬件解码器115与所述软件解码器同时对所述视频流进行解码。
[0062] 输出模块202,用于当所述软件解码器解码出所述视频流的第一个I帧数据时,通过所述显示单元114输出显示所述第一个I帧数据。
[0063] 播放模块203,用于若在预设时间内获得所述硬件解码器115解码出所述视频流,播放基于所述硬件解码器115解码出的所述视频流生成的多媒体数据。
[0064] 优选地,播放模块203还用于在所述预设时间内未获得所述硬件解码器115解码出所述视频流或者获得由所述硬件解码器115解码生成的解码失败信号,则播放基于所述软件解码器解码出的所述视频流生成的多媒体数据。
[0065] 进程管理模块204,用于若在所述预设时间内获得所述硬件解码器115解码出所述视频流,则关闭所述软件解码器,以释放出系统资源。
[0066] 本发明实施例还揭示了一种计算机可读取存储介质,其上存储有计算机程序,所述计算机程序被处理器112执行时实现本发明前述实施例揭示的启播加速方法。
[0067] 综上所述,本发明提供的一种启播加速方法、装置及计算机可读取存储介质。上述启播加速方法、装置及计算机可读取存储介质均可应用于电子设备,所述电子设备包括硬件解码器及显示单元,所述电子设备预先创建一软件解码器,所述启播加速方法包括:将解封装后的视频流分别发送至所述硬件解码器的处理队列及所述软件解码器的处理队列,以使所述硬件解码器与所述软件解码器同时对所述视频流进行解码;当所述软件解码器解码出所述视频流的第一个I帧数据时,通过所述显示单元输出显示所述第一个I帧数据;若在预设时间内获得所述硬件解码器解码出所述视频流,播放基于所述硬件解码器解码出的所述视频流生成的多媒体数据。并行使用软硬解码器进行解码,缩短了解码器切换过程中所占用的时间,避免在需要软硬解码器切换时出现卡顿,提高视频流的首张画面输出效率。
[0068] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0069] 另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0070] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0071] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0072] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0073] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。