本公开涉及人工智能技术领域,具体而言,涉及一种弹幕信息处理方法、弹幕信息处理装置、电子设备及计算机可读存储介质。
背景技术:
随着人工智能技术的发展,游戏直播中的弹幕互动氛围是培养直播用户高活跃的重要参数指标。
相关技术中,用户发送的弹幕信息默认为全平台通用的快捷弹幕,弹幕信息的针对性较弱,且不便于用户及时准确地发送弹幕信息。
鉴于此,本领域亟需开发一种新的弹幕信息处理方法。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:
本公开实施例提供了一种弹幕信息处理方法、弹幕信息处理装置、电子设备及计算机可读存储介质,进而至少在一定程度上能够触发合适的弹幕信息,避免了使用通用弹幕信息的步骤,提高了发送弹幕信息的准确性和及时性,也增加了弹幕信息的针对性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供了一种弹幕信息处理方法,包括:获取图像数据中的待处理图像;对所述待处理图像进行场景识别以确定所述待处理图像所属的场景标签,所述场景标签用于表示图像所属的场景类别;将与所述场景标签关联的可选弹幕信息作为候选弹幕信息,并显示所述候选弹幕信息。
根据本公开实施例的一个方面,提供了一种弹幕信息处理装置,包括:图像获取模块,用于获取图像数据中的待处理图像;场景识别模块,用于对所述待处理图像进行场景识别以确定所述待处理图像所属的场景标签,所述场景标签用于表示图像所属的场景类别;弹幕信息确定模块,用于将与所述场景标签关联的可选弹幕信息作为候选弹幕信息,并显示所述候选弹幕信息。
在本公开的一些实施例中,基于前述方案,所述装置还包括:素材获取模块,用于获取图像素材以及所述图像素材的场景画面类别;模型训练模块,用于根据所述图像素材以及所述场景画面类别对一深度学习模型进行训练,以得到用于识别所述待处理图像所属的场景的识别模型。
在本公开的一些实施例中,基于前述方案,所述素材获取模块包括:素材获取控制单元,用于确定所述图像素材所需的特征区域,并将包含所述特征区域的图像作为所述图像素材,所述特征区域所述特征区域包含用于表征所述图像素材所属场景类别的特征。
在本公开的一些实施例中,基于前述方案,所述素材获取控制单元包括:区域分类单元,用于截取所述特征区域,并对所述特征区域进行分类;图像扩充单元,用于对每一类别所述特征区域进行扩充操作,以得到各类别下新的所述图像素材,所述扩充操作包括对比度变换以及增加噪声信息中的至少一种。
在本公开的一些实施例中,基于前述方案,所述模型训练单元包括:大小调整单元,用于对所述图像素材的大小进行调整;格式转换单元,用于将调整后的图像素材进行随机排序,并对所述随机排序后的图像素材进行格式转换,以得到预设格式的文件;训练控制单元,用于将所述预设格式的文件以及所述场景画面类别输入所述深度学习模型进行训练,以得到所述识别模型。
在本公开的一些实施例中,基于前述方案,所述场景识别模块包括:图像筛选单元,若所述待处理图像的地址在预设队列中的停留时间超过时间阈值,则丢弃所述待处理图像;关联识别单元,用于将所述图像数据中的剩余图像进行多帧关联识别,以确定所述剩余图像所属的所述场景标签。
在本公开的一些实施例中,基于前述方案,所述关联识别单元被配置为:使用一致性哈希路由,将属于同一个所述图像数据的所述剩余图像路由到相同进程中;在所述相同进程中存储针对所述图像数据的上一次识别结果,并结合所述上一次识别结果对所述剩余图像进行所述多帧关联识别。
在本公开的一些实施例中,基于前述方案,所述弹幕信息确定模块包括:第一触发模块,用于若检测到所述图像数据中当前播放的图像与所述场景标签表示的目标场景画面相同,则显示所述候选弹幕信息。
在本公开的一些实施例中,基于前述方案,所述弹幕信息确定模块包括:时刻确定模块,用于确定所述场景标签表示的目标场景画面对应的目标时刻;第二触发模块,用于若检测到所述图像数据播放至所述目标时刻,则显示所述候选弹幕信息。
在本公开的一些实施例中,基于前述方案,所述时刻确定模块被配置为:获取所述场景标签表示的所述目标场景画面的时间戳信息,并根据所述时间戳信息确定所述目标时刻,所述时间戳信息用于表示所述目标场景画面显示的时间。
在本公开的一些实施例中,基于前述方案,所述弹幕信息确定模块包括:可选弹幕生成模块,用于根据所述场景标签生成多个可选弹幕信息,并从所述多个可选弹幕信息中确定所述候选弹幕信息进行展示。
在本公开的一些实施例中,基于前述方案,所述可选弹幕生成模块被配置为:响应于用户对弹幕控件的操作,从所述多个可选弹幕信息中确定所述所述场景标签关联的所述候选弹幕信息进行展示。
根据本公开实施例的一个方面,提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的弹幕信息处理方法。
根据本公开实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的弹幕信息处理方法。
在本公开的一些实施例所提供的技术方案中,从图像数据获取待处理图像,以识别待处理图像的场景标签进而确定待处理图像所属的场景类别;进一步地,根据场景标签触发符合场景标签的候选弹幕信息。本公开的技术方案,一方面,将从图像数据中获取的待处理图像进行场景识别以识别出待处理图像对应的场景标签,能够根据确定的场景标签引导用户提高发送弹幕的行为,提高了弹幕信息的使用率。另一方面,根据场景标签,自动触发针对场景标签表示的场景类别的候选弹幕信息,能够针对性触发合适的弹幕信息,避免了使用平台通用的弹幕信息的步骤,提高了发送弹幕信息的准确性和及时性,也增加了弹幕信息的多样性和针对性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了相关技术中用于实现弹幕信息处理方法的系统架构的示意图;
图2示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图;
图3示意性示出了本公开实施例中的一种弹幕信息处理方法的流程示意图;
图4示意性示出了根据本公开的一个实施例的模型训练的流程示意图;
图5示意性示出了根据本公开的一个实施例的获得图像素材的流程示意图;
图6示意性示出了根据本公开的一个实施例的确定目标场景画面的界面示意图;
图7示意性示出了根据本公开的一个实施例的配置候选弹幕信息的界面示意图;
图8示意性示出了根据本公开的一个实施例的弹幕信息处理方法的界面示意图;
图9示意性示出了根据本公开的一个实施例的交互过程的示意图;
图10示意性示出了根据本公开的一个实施例的客户端显示的候选弹幕信息的界面示意图;
图11示意性示出了本公开实施例中的一种弹幕信息处理装置的框图;
图12示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1中示意性示出了发明人提供的一种弹幕信息处理方法对应的直播过程中的候选弹幕信息。如图1中所示,以游戏类主播的直播视频为例,在主播胜利时提供的候选弹幕信息基本相同,具体如图1中的图a所示的主播胜利时的快捷弹幕文案。主播失败时提供的候选弹幕信息也基本相同,具体如图1中的图b所示的主播牺牲失败时的快捷弹幕文案。图1所示的候选弹幕信息的显示画面,主要是以每个平台通用的弹幕信息供用户选择和发送,具有一定的局限性且有可能不能准确针对某个场景画面或者是针对某个时刻,用户体验较差。
鉴于上述方案中存在的问题,本公开实施例首先提出了一种弹幕信息处理方法,本公开实施例中的弹幕信息处理方法可以用于任意的能够发送弹幕信息的处理场景,例如直播视频、视频网站中播放或者是播放的其他类型的视频或者是图像流中的弹幕处理场景等等。弹幕信息指的是用户在观看视频或者是直播等图像数据时,通过弹幕按键或者是其他控件输入的针对图像数据而发表的意见或者是评论等等。弹幕信息可以通过文本形式、语音形式或者是其他形式(例如表情方式)展示在客户端呈现的图像数据中的任意位置,且弹幕信息可以根据用户的触发时间来显示。本公开实施例中,弹幕信息例如可以为直播中的弹幕信息,具体可以为“这波稳了”等等。
图2示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图。
如图2所示,系统架构200可以包括第一端201、网络202、第二端203。其中,第一端201可以为客户端,客户端具体可以是便携式计算机、台式计算机、智能手机、智能电视等具有显示屏幕的终端设备,用于通过安装应用程序或者是登录网址以显示视频内容以及在视频内容的显示画面上显示一些弹幕信息。客户端的数量可以为一个或者是多个,且多个客户端可以执行同样的功能。网络202用以在第一端201和第二端203之间提供通信链路的介质。网络202可以包括各种连接类型,例如有线通信链路、无线通信链路等等,在本公开实施例中,第一端201和第二端203之间的网络202可以是有线通信链路,例如可以通过串口连接线提供通信链路,也可以是无线通信链路,通过无线网络提供通信链路。第二端202可以是客户端,也可以是服务器,只要其上部署有处理器且能够执行处理操作即可。其中,当第二端为客户端时,第二端可以与第一端的客户端相同,也可以不同。当第二端为服务器时,服务器可以为本地服务器或远程服务器,也可以是其他能够提供存储功能或者处理功能的产品例如云服务器,还可以是多个服务器组成的服务器集群等,本公开实施例在此不做特殊限定。
应该理解,图2中的第一端、网络和第二端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的第一端、网络和第二端。
在本公开的一个实施例中,对图像数据中的多个待处理图像进行处理,以确定出对应的目标场景画面以及对应的场景标签;根据目标场景画面的具体内容对弹幕信息进行配置,得到针对该目标场景画面的比较准确的候选弹幕信息并显示候选弹幕信息。
需要说明的是,本公开实施例所提供的弹幕信息处理方法可以完全由第二端203(服务器)执行,也可以完全由第一端201(客户端)执行,也可以部分由第一端执行,部分由第二端执行,此处对弹幕信息处理方法的执行主体不做特殊限定。相应地,弹幕信息处理装置可设置于第二端203中或设置于第一端201中。
图3示意性示出了根据本公开的一个实施例的弹幕信息处理方法的流程图,本公开实施例中以该弹幕信息处理方法由服务器执行为例进行说明。参照图3所示,该弹幕信息处理方法至少包括步骤s310至步骤s330,其中:
在步骤s310中,获取图像数据中的待处理图像;
在步骤s320中,对所述待处理图像进行场景识别以确定所述待处理图像所属的场景标签,所述场景标签用于表示图像所属的场景类别;
在步骤s330中,将与所述场景标签关联的可选弹幕信息作为候选弹幕信息,并显示所述候选弹幕信息。
本公开实施例的技术方案,一方面,将从图像数据中获取的待处理图像进行识别以识别出待处理图像对应的场景标签,能够根据确定的场景标签引导用户提高发送弹幕的行为,提高了弹幕信息的使用率。另一方面,根据场景标签,自动触发针对场景标签的候选弹幕信息,能够针对性触发合适的弹幕信息,避免了使用平台通用的弹幕信息的步骤,提高了发送弹幕信息的准确性和及时性,也增加了弹幕信息的多样性和针对性。
接下来,结合附图对本公开实施例中的弹幕信息处理方法进行详细介绍。
在步骤s310中,获取图像数据中的待处理图像。
在本公开的一个实施例中,图像数据例如可以包括视频流或者是图片流等等,本公开实施例中以图像数据为视频流为例进行说明。视频流通常为视频片段,视频片段可以为任意长度的片段,例如1秒或者是几秒等等,一般而言,视频流可以包括多帧(如每秒24帧等)的待处理图像。本公开实施例中,根据内容,图像数据可以为游戏视频、体育视频、影视视频、小视频、综艺视频、mv(musicvideo)视频等;根据类型,图像数据可以为视频网站中正在播放的互联网视频流,也可以为本地视频流,还可以为直播平台中正在进行的直播视频流,此处以图像数据为正在进行的直播视频流为例进行说明。
在本公开的一个实施例中,可以对视频流进行传输,以便于在操作界面上播放和显示视频流。在图像数据为直播平台中正在进行的直播视频流时,直播可以为游戏类直播,也可以为影视类直播、生活类直播以及综合类直播等等,本公开实施例中以游戏类直播为例进行说明。
获取图像数据中的待处理图像,具体可以为从图像数据中截取待处理图像,也可以为获取事先设定好的图像数据中的待处理图像。本公开实施例中,以从图像数据中截取待处理图像为例进行说明。可以每秒从图像数据中截取对应的图像作为待处理图像。具体地,可按照预定的指令自动截取每秒的图像,预定的指令例如可以为检测到图像数据中的时间发生变化,当然也可以为其他指令。通过步骤s310,可以得到图像数据对应的多张待处理图像。
在步骤s320中,对所述待处理图像进行场景识别以确定所述待处理图像所属的场景标签,所述场景标签用于表示图像所属的场景类别。
本公开实施例中,可以对待处理图像进行场景识别,以得到待处理图像对应的场景以及对应的场景标签。场景识别指的是确定待处理图像属于哪个场景的过程。场景标签用于表示图像所处的场景的类别,即图像属于哪一个特定的场景。场景标签具体可以为每种类型的场景画面所对应的标识,场景标签可以用文字标识或者是其他类型的标识来表示,且不同类别的场景对应的场景标签不同。例如标签a对应场景类别1,标签b对应场景类别2等等。
本公开实施例中,场景标签在描述图像所处的场景类别时,其场景可以为目标场景画面的场景。目标场景画面可以理解为精彩画面,且目标场景画面包括多种不同的类别,精彩画面具体可以通过场景画面的精彩程度来衡量。精彩程度是一个相对的概念,可以用于反映分帧图像或者视频对于用户的注意力刺激程度、用于用户的引导力度、本身的信息丰富度或者对于视频内容的代表性等。精彩程度可以为虚拟对象的状态参数达到一定程度、虚拟对象执行的动作的程度或者是游戏中的胜负程度等等,例如包括但不限于速度参数的程度、位置参数的程度、技能参数的程度、虚拟对象胜利后失败等等。举例而言,虚拟对象为赛车时,目标场景画面可以为速度参数达到预设速度、位置参数达到预设位置、高度参数满足预设高度中的一种或多种。再举例而言,虚拟对象为虚拟角色时,目标场景画面可以为该虚拟角色使用技能或者是使用武器、虚拟角色胜利、虚拟角色失败等等。当然,场景标签在描述图像所处的普通场景画面的类别也在本公开的保护范围之内。普通场景画面指的是无需通过场景画面的精彩程度来衡量的场景。
在识别待处理图像所属的目标场景画面的场景类别以及对应的场景标签时,可以根据识别模型来执行,也可以通过其他合适的方式来执行,本公开实施例中以经过识别模型来识别为例进行说明。为了保证识别结果的准确性,本实例实施例中,在经过识别模型进行识别之前,首先可对该识别模型进行训练,以得到性能较好的训练好的识别模型。
图4中示意性示出对模型进行训练的流程图,参考图4中所示,主要包括以下步骤:
在步骤s410中,获取图像素材以及所述图像素材的场景画面类别。
本公开实施例中,图像素材指的是用于对识别模型进行训练的图像,这些图像可以为游戏应用中已经出现过的历史图像,且图像素材的数量可以为多个。图像素材可以为与要识别的图像相关的图像,从而保障训练过程的速度和准确性。例如,要识别游戏应用1中的目标场景画面1,则图像素材可以为与游戏应用1对应的多个图像。图像素材的场景画面类别用于具体表示图像素材的场景画面属于哪一类场景画面,且类别可以为多个,例如图像素材1的场景画面类别为目标场景画面中的“胜利”场景画面,图像素材2的场景画面类别为目标场景画面中的“失败”场景画面。
图5中示意性示出了获取图像素材的流程示意图,参考图5中所示,主要包括以下步骤s510和步骤s520,且步骤s510和步骤s520是步骤s410的具体实现方式,其中:
在步骤s510中,确定所述图像素材所需的特征区域。
本公开实施例中,特征区域指的是包含用于表征所述图像素材所属场景类别的特征的区域,可以通过这些特征区域来判断图像素材是否属于目标场景画面以及属于哪一种场景类别。特征区域例如可以包括但不限于技能所在区域、虚拟角色头像所在区域等等。需要说明的是,图像中可以存在特征区域,也可以不存在特征区域,此处不作具体限定。特征区域具体可以由人工根据事先认定的属于目标场景画面的事件而确定,事件例如可以包括游戏中正在发生的事件过程(例如击杀)或者是技能,还可以包括与该事件相关的虚拟对象(虚拟角色或英雄)以及交互对象(攻击对象)。
举例而言,参考图6中所示,可以将显示画面中的区域1,区域2以及区域3均确定图像素材所需的特征区域。在确定代表目标场景画面的特征区域后,可以将确定的特征区域进行标注。标注的方式可以为方框或者是其它形式,并且可以标注出每一个特征区域的位置坐标。需要说明的是,对于所有的图像,均可以人工标注特征区域,以便于对图像进行筛选。
在步骤s520中,将包含所述特征区域的图像作为所述图像素材。
本公开实施例中,对于不存在特征区域的图像而言,由于其中不存在可参考性,因此可以将这些不存在特征区域的图像删除,以能够减少无关图像对获取素材的干扰,进而避免这些图像对整个训练过程的影响,提高准确率。
对于存在特征区域的图像而言,可将包含特征区域的图像作为图像素材。继续参考图5中所示,将包含特征区域的图像作为图像素材的主要过程包括步骤s521和步骤s522,其中:
在步骤s521中,截取所述特征区域,并对所述特征区域进行分类。
本公开实施例中,在截取特征区域时,可以使用ffmpeg(fastforwardmpeg)按照每秒一张的速度来截取特征区域。ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,其提供了录制、转换以及流化音视频的完整解决方案。为了提高效率,此处可通过一个自动化工具来批量处理多个视频中的包含特征区域的图像。在进行分类时,可按照虚拟对象、技能、交互对象等等来分类。与此同时,可以定义好每种类型对应的配置文件,以处理不同特征区域的目标场景画面。
在步骤s522中,对每一类别所述特征区域进行扩充操作,以得到所述类别下新的所述图像素材,所述扩充操作包括对比度变换以及增加噪声信息中的至少一种。
本公开实施例中,在将包含特征区域的图像进行分类后,可以对已经分类的各类别的图像分别进行扩充操作。扩充操作可以为只执行对比度变换,也可以为只执行增加噪声信息,还可以为同时执行对比度变换和增加噪声信息两种操作。本公开实施例中以扩充操作包括对比度变换和增加噪声信息为例进行说明。具体地,可对特征区域进行对比度变换以实现图像增强。对比度变换是一种通过改变图像像元的亮度值来改变图像像元的对比度,从而改善图像质量的图像处理方法,具体可将图像中过于集中的像元分布区域(亮度值分布范围)拉开扩展,扩大图像反差的对比度,增强图像表现的层次性。举例而言,可以使用pythonimgaug对上述图像进行对比度变换。也可以使用增加噪声信息的方式对分类后的每一个类别的特征区域进行扩充,从而得到每个类别下新的图像素材,且增加噪声可以提高鲁棒性。进一步地,可将扩充操作得到的所有类别下新的图像素材作为需要的图像素材(即将对比度变换后以及增加噪声信息中至少一种操作后的包含特征区域的所有图像作为新的图像素材),以根据各类别下新的图像素材完成对识别模型的训练过程。
接下来,在步骤s420中,根据所述图像素材以及所述场景画面类别对一深度学习模型进行训练,以得到用于识别所述待处理图像所属的场景的识别模型。
本公开实施例中,深度学习模型可以为用于识别目标场景画面的任意合适的模型,例如神经网络模型等等。识别模型可以用于识别待处理图像所属的场景,例如待处理图像1属于场景1还是场景2等等。为了提高训练速度,本公开实施例中使用的框架为caffe(convolutionalarchitectureforfastfeatureembedding,快速特征嵌入的卷积结构)框架。caffe是一种开源软件框架,内部提供了一套基本的编程框架,或者说一个模板框架,用以实现gpu并行架构下的深度卷积神经网络、深度学习等算法,可以按照框架定义各种各样的卷积神经网络的结构,并且可以在此框架下增加自己的代码,设计新的算法,且该框架只能够使用卷积网络,即所有框架都是在基于卷积神经网路的模型上进行的。
在caffe框架下,使用的深度学习模型为轻量级模型,例如可以包括但不限于mobilenet、squeezenet、shufflenet等等,本公开实施例中以深度学习模型为squeezenet模型为例进行说明。该神经网络对模型进行了深度压缩,参数数量比alexnet模型显著降低了参数,减少50倍;如果再加上神经网络压缩deepcompression技术,压缩比可以达到461倍。采用轻量级模型,可减少网络的空间,降低计算量。
在根据图像素材以及场景画面类别对一深度学习模型进行训练,以得到训练好的识别模型的过程中,主要包括以下步骤:步骤一、对图像素材的大小进行调整。具体地,可以将图像素材的宽和高重新设置为256。步骤二、将调整后的图像素材进行随机排序,并对所述随机排序后的图像素材进行格式转换,以得到预设格式的文件。预设格式的文件指的是caffe框架中的lmdb(lightningmemory-mappeddatabase,快如闪电的内存映射数据库)文件,将所有的图像转换成一致的数据格式有利于读取,且lmdb文件读取的效率更高,而且支持不同程序同时读取,有利于提高磁盘io利用率。具体地,可以通过caffe框架中的convcert_imageset将所有的图像转为lmdb文件。在转换文件格式的过程中,可将图像素材进行随机排序,并且将随机排序后的图像素材按照乱序进行格式转换,即打乱图像的顺序,不按照图像的原有的先后顺序进行转换,而是在当前图像处理完成后,处理另一个可以立即处理的图像,而不是等待与当前图像相邻的下一个图像。可避免上一个图像处理完成后,下一个图像尚未到达而引起的处理器的等待时间,从而可以提高处理效率,并且可以避免误操作。步骤三、将所述预设格式的文件以及所述场景画面类别输入所述深度学习模型,以得到所述训练好的识别模型。具体地,在进行格式转换得到预设格式的文件即lmdb文件后,可以将预设格式的文件以及图像素材对应的场景画面的类别输入深度学习模型,以实现对深度学习模型的训练过程,从而得到训练好的识别模型。
训练识别模型的具体过程可以包括:获取人工标注的多个图像的特征区域,根据人工标注的多个图像确定图像素材以及各图像素材对应的场景画面类别;将图像素材以及场景画面类别作为深度学习模型的输入对深度学习模型进行训练,以不断调整深度学习模型的权重,直至通过深度学习模型得到的某个图像属于场景画面类别的结果与人工设定的场景画面类别一致为止。
需要说明的是,在训练过程中,可使用gpu机器以及深度学习芯片p40,通过微调深度学习模型的卷积输出层参数,适配需要识别的类数的方式进行训练。此处需要识别的类数可以包括事件或者是技能、与该事件相关的虚拟对象以及交互对象对应的所有目标场景画面的总类别数,以便于将任意图像输入模型后都可识别出属于哪一种类型的目标场景画面。当然,使用其他深度学习芯片例如p100也在本公开实施例的保护范围之内。
本公开实施例中,在得到训练好的识别模型后,可将步骤s310中获取的图像数据中的待处理图像输入至该识别模型中,分析每个待处理图像所属的场景,以确定待处理图像属于目标场景画面中的哪一种场景标签或者是代表哪一种目标场景画面。某个游戏中有哪些目标场景画面是事先设定好的,且目标场景画面可以包括多个不同的类型,例如虚拟角色使用武器、虚拟角色使用技能、虚拟角色跳跃、虚拟角色胜利以及虚拟角色失败等等。
识别模型可以为squeezenet模型,其模型结构可以包括卷积层-firemodule-卷积层-softmax。firemodule由两层构成,分别是压缩卷积层squeeze和扩展卷积层expand。其中的压缩卷积层部分是卷积核为1*1的卷积层,后面的扩展卷积层部分是由1*1以及3*3的两个卷积层共同构成的。在通过压缩卷积层和扩展卷积层之后,可将得到的特征图featuremap通过concat进行拼接操作。基于此,首先可以截取待处理图像中的特征区域,然后通过squeezenet模型对待处理图像中的特征区域进行第一层卷积,然后依次通过压缩卷积层和扩展卷积层对第一层卷积后的待处理图像进行特征提取,再进行后续的卷积和归一化过程,以确定待处理图像的场景标签。基于此,可以通过训练好的识别模型来确定输入的待处理图像属于某一种场景标签的概率,即待处理图像属于哪一种类型的目标场景画面。举例而言,当待处理图像1属于目标场景画面1的概率大于某一个阈值,例如0.8时,可以认为待处理图像1对应于目标场景画面1。进一步地,可为该目标场景画面添加场景标签,例如标签a。此处的场景标签用于表示每个待处理图像对应的目标场景画面所属的场景类型,目标场景画面例如可以包括但不限于为单杀场景、漂移场景、战亡场景或者是胜利场景的场景画面等。
本公开实施例中,squeezenet模型对模型进行了深度压缩,参数数量比alexnet模型显著降低,减少50倍;如果再加上神经网络压缩deepcompression技术,压缩比可以达到461倍。采用轻量级模型,可减少网络的空间,降低计算量,能够更准确更快速地识别待处理图像对应的目标场景画面以及场景标签。
需要说明的是,在通过训练好的识别模型进行识别的过程中,由于图像处理操作是一个耗时的操作,如果直接进行图像识别,耗时较长,系统吞吐量较低,识别失败,导致整个链条都失败。因此可通过预设队列对待处理图像进行场景识别。预设队列指的是rocketmq,其是一款分布式、队列模型的消息中间件。引入rocketmq后,能够应用解耦合,避免调用接口失败导致整个过程失败;可异步处理图像,减少系统同步阻塞瓶颈,降低延迟,同时增加吞吐量;并且能够流量削峰,防止流量过大,导致应用系统挂掉的情况。
在通过预设队列进行图像识别的过程中,具体包括以下步骤:若待处理图像的地址在预设队列中的停留时间超过时间阈值,则丢弃待处理图像;将图像数据中的剩余图像进行多帧关联识别,以确定所述剩余图像所属的所述场景标签。也就是说,在系统引导的时候开启的守护进程的服务daemon可以消费预设队列中的消息,在取出预设队列中的消息之后,则发送给专门用于图像处理的服务svr来进行图像处理。在图像处理过程中,服务daemon也会做限流的操作,同时会判断待处理图像的地址在预设队列中的停留时间,即url(uniformresourcelocator,统一资源定位符)在预设队列中存留的时间。url是互联网上标准资源的地址,互联网上的每个文件都有一个唯一的url,它包含的信息指出文件的位置以及浏览器应该怎么处理它。如果某一个待处理图像的地址在预设队列中的时间过长,例如超过时间阈值5秒,可认为该待处理图像发生延迟,或者是该待处理图像可能已经显示过,因此可以直接将该待处理图像丢弃而不再做识别处理,以保证识别准确性,以及减少计算量。
剩余图像指的是在丢弃待处理图像后,整个图像数据中剩余的待处理图像。可以对图像数据中的剩余图像进行多帧关联识别,多帧关联识别的过程包括:使用一致性哈希路由,将属于一个图像数据的剩余图像路由到相同进程中;在所述相同进程中存储针对所述图像数据的上一次识别结果,并结合上一次识别结果对剩余图像进行所述多帧关联识别。本公开实施例中,可一致有序地将多帧识别进行关联,而不是孤立的处理一帧的一张图像,以保持视频识别的连续性。为了满足多帧关联识别,可使用一致性哈希路由,将属于同一个图像数据(例如同一个直播视频流)的待处理图像,一致性路由到同一个服务svr的同一个进程中,并在同一个进程中存储该图像数据的上一次识别结果,从而进行关联识别。具体地,为了做到一致性哈希路由,可使用l5的一致性哈希,以图像数据的直播节目的pid(packetidentifier,标志码传输包)为主键key进行一致性哈希,保证同一个图像数据一定路由到同一个服务svr上,从而实现多帧关联识别。上一次识别结果指的是每一种类别中上一次识别的目标场景画面,该上一次的识别结果可以用于对剩余图像的识别结果进行确认和检验。例如在执行击杀技能时,可以设置一个阈值,当虚拟对象击杀交互对象的数量大于该阈值时,才可以认为该击杀操作有效。通过将同一个图像数据的上一次的识别结果与剩余图像的识别结果进行比较,可以准确地确定识别结果是否有效,提高识别的准确性。
本公开实施例中,可使用一个基于opencv(opensourcecomputervisionlibrary,跨平台的计算机视觉库)的识别引擎,加载训练得到的caffe模型,将识别环境部署在v4-8-100cpu机器进行图像识别。由于图像处理时间大概在50-100ms,基本可以实时的处理每秒得到的待处理图像。举例而言,参考图6中所示,通过训练好的识别模型,可以确定2019年6月18日12:00获取的待处理图像属于目标场景画面“二连击破”,并确定其场景标签为“二连击破”。
接下来,在步骤s330中,将与所述场景标签关联的可选弹幕信息作为候选弹幕信息,并显示所述候选弹幕信息。
本公开实施例中,在识别到待处理图像对应的目标场景画面后可以为其添加相应的场景标签,进而可以根据场景标签来生成该场景标签表示的目标场景画面对应的可选弹幕信息,从可选弹幕信息中确定候选弹幕信息并显示候选弹幕信息。此处生成的可选弹幕信息可以为一个类别的目标场景画面或一个场景标签对应的弹幕集合。具体可以为供用户选择的多个快捷弹幕标签以及弹幕引导语,且场景标签不同,对应的快捷弹幕标签和弹幕引导语可以相同,也可以不同。具体地,可以根据目标场景画面的具体内容,配置对应的弹幕引导语和快捷弹幕标签。参考图7中所示,对于目标场景画面为“2杀”而言,弹幕引导语可以为“主播2杀6吗?”,快捷弹幕标签可以为“这波稳了”、“6666”等等。在配置快捷弹幕信息时,可以对其数量进行限定,也可以不限定,此处不做特殊限定。最终展示在客户端的操作界面上的候选弹幕信息可以为生成的可选弹幕信息中的部分或者是全部,具体可由用户触发和选择。
进一步地,可以检测是否接收到用户对弹幕控件的操作,弹幕控件可以为多个弹幕快捷弹幕标签所在区域以及弹幕引导语所在区域中的至少一种。用户对弹幕控件的操作可以为点击操作、双击操作或者是按压操作等等。在检测到用户对弹幕控件的操作时,可以响应于用户对弹幕控件的操作,从配置的所有可选弹幕信息中选择部分或者是全部可选弹幕信息作为该场景标签的候选弹幕信息,以进行显示。
显示所述候选弹幕信息可以包括以下两种方式:方式一、根据场景标签对应的目标场景画面来触发和确定;方式二、根据场景标签对应的目标场景画面的目标时刻来触发和确定。
首先对方式一进行说明。由于图像数据一般在客户端播放,且图像数据会有1秒以上的延迟,也就是说,同一个场景画面可能先在后台出现,延迟1秒以上展示在客户端。基于此,在播放图像数据的过程中,对当前播放的图像进行截图,以识别该当前播放的图像是否为场景标签表示的目标场景画面。即,可以判断图像数据的当前播放的图像是否与目标场景画面相同,或者是判断图像数据是否播放至上述确定的目标场景画面,从而根据判断结果来触发弹幕信息。具体包括以下两种情形:情形一、若所述图像数据播放至场景标签表示的目标场景画面,则显示所述场景标签表示的目标场景画面关联的所述候选弹幕信息。也就是说,如果图像数据中当前播放的图像与确定的场景标签表示的目标场景画面相同,则说明播放至识别到的目标场景画面,此时可以触发符合该场景标签的候选弹幕信息。
在触发候选弹幕信息时,首先可获取目标场景画面的多个可选弹幕信息,例如“这波稳了”、“6666”等等。进一步地,可以检测是否接收到用户对弹幕控件的操作。在检测到用户对弹幕控件的操作时,可以响应于用户对弹幕控件的操作,从配置的所有可选弹幕信息中选择部分或者是全部可选弹幕信息作为该场景标签的候选弹幕信息,以进行显示。举例而言,如果检测到了对某一个可选弹幕信息,例如快捷弹幕标签1所在区域的点击操作,则可以触发将该快捷弹幕标签1作为符合该场景标签表示的目标场景画面的候选弹幕信息,并在操作界面的任意位置上进行展示。
情形二、若所述图像数据的当前播放的图像未播放至所述目标场景画面,则不触发场景标签关联的所述候选弹幕信息。即,如果图像数据当前播放的图像与目标场景画面不同,则可以认为当前播放的图像不属于场景标签表示的目标场景画面,因此不触发符合该场景标签候选弹幕信息,但是可以触发通用的弹幕信息等等。
本公开实施例中,一方面,能够针对不同场景标签代表的目标场景画面触发合适的弹幕信息,避免了使用平台通用的弹幕信息的步骤,也增加了弹幕信息的多样性和针对性,进一步提高了用户体验。另一方面,能够在图像数据中当前播放的图像与目标场景画面一致时,及时地根据目标场景画面触发合适的弹幕信息,提高了发送弹幕信息的准确性和及时性。
接下来,对方式二进行说明。由于每个视频流中可以设置有时间戳信息以及其它表示顺序的标识(例如图像的帧号),因此可以根据图像的帧号或者是播放时刻等来显示候选弹幕信息。本公开实施例中以通过图像数据的播放时刻来触发候选弹幕信息为例进行说明。具体而言,在通过步骤s320识别到待处理图像的场景标签之后,可确定该场景标签代表的目标场景画面对应的目标时刻,并且可以下发该目标时刻,以便于根据图像数据是否播放至目标时刻的判断结果,自动触发针对场景标签代表的目标场景画面的弹幕信息。通过这种方式,能够针对当前播放的图像触发合适的弹幕信息,避免了使用平台通用的弹幕信息的步骤,提高了发送弹幕信息的准确性和及时性,也增加了弹幕信息的多样性和针对性,进一步提高了用户体验。
具体而言,与根据目标场景画面的触发方式类似,可以在播放图像数据的过程中,对图像数据中的待处理图像进行识别,以确定该待处理图像为目标场景画面中的哪一种场景标签。在确定场景标签之后,则进一步获取该待处理图像对应的目标场景画面的目标时刻。目标时刻具体可以根据图像数据中目标场景画面的时间戳信息进行确定,其中,时间戳信息用于表示目标场景画面显示的时间,具体可以为一个字符序列,用于唯一地标识某一时刻的时间。例如图像数据播放的时间戳为2019年6月18日12:00。再例如,若确定2019年6月18日12:00时的待处理图像属于目标场景画面“二连击破”,则确定目标时刻为2019年6月18日12:00。
在播放图像数据的过程中,确定图像数据当前播放的时刻后,可将当前播放的时刻与确定的目标时刻进行对比,以确定图像数据是否播放至目标时刻或者当前播放的时刻是否与目标时刻的时间戳信息重合。进一步地,可以根据判断结果来触发候选弹幕信息,具体包括以下两种情形:情形一、若所述图像数据播放至所述目标时刻,则触发所述场景标签表示的目标场景画面关联的所述候选弹幕信息。也就是说,如果图像数据中当前播放的时间戳信息与目标时刻相同,则说明图像数据播放至识别到的目标时刻,此时可以触发符合该场景标签的目标场景画面的候选弹幕信息。
在触发候选弹幕信息时,首先可获取目标时刻的多个可选弹幕信息,例如“这波稳了”、“6666”等等。进一步地,可以在检测到用户对弹幕控件的操作时,触发与该弹幕控件对应的可选弹幕信息作为符合标场景画面的候选弹幕信息,并进行展示。
情形二、若所述图像数据未播放至所述目标时刻,即图像数据中当前播放的时刻未达到目标时刻或当前播放的时刻已经超过目标时刻,则不触发场景标签表示的目标场景画面关联的候选弹幕信息。如果图像数据当前播放的时刻与目标时刻不同,则可以认为播放的场景画面不属于目标场景画面,因此不触发符合场景标签的候选弹幕信息,但是此时可以触发通用的弹幕信息等等。
本公开实施例中,可以接收确定的目标时刻,并且可以根据图像数据是否播放至目标时刻确定是否触发符合场景标签代表的目标场景画面的候选弹幕信息。一方面,能够在当前播放的时刻与目标时刻一致时,针对目标场景画面触发合适的弹幕信息,避免了使用平台通用的弹幕信息的步骤,也增加了弹幕信息的多样性和针对性,进一步提高了用户体验。另一方面,能够在图像数据播放至目标时刻时,及时地触发弹幕信息,提高了发送弹幕信息的准确性和及时性。
需要说明的是,对于直播视频流而言,可以只根据识别到的目标场景画面,在图像数据当前播放的图像为目标场景画面时来触发符合目标场景画面的候选弹幕信息。也可以识别待处理图像的目标场景画面,在识别到目标场景画面时确定目标时刻,并在图像数据当前播放的时刻与目标时刻一致时来触发符合目标场景画面的候选弹幕信息。通过目标时刻来触发,能够提高效率以及准确率。除此之外,还可以只通过当前播放的时刻是否满足目标时刻来触发候选弹幕信息。
对于网站视频流而言,可以在图像数据当前播放的图像为目标场景画面时来触发符合目标场景画面的候选弹幕信息。也可以在图像数据当前播放的时刻与目标时刻一致时来触发符合目标场景画面的候选弹幕信息,而不对目标场景画面进行识别和检测,此处对此不做特殊限定。
图8示意性示出了整个弹幕信息处理方法的界面示意图,参考图8中所示,首先识别时刻,进一步弹出相应弹幕引导语及弹幕标签,最后显示快捷弹幕。图9示意性示出了整个交互过程的示意图,参考图9中所示,客户端识别图像数据播放的时刻,此处的时刻可以理解为某一种目标场景画面(即精彩时刻的场景类型),例如时刻1、时刻2、时刻3直至时刻n等n个精彩时刻。服务器确定每个时刻相关的弹幕引导语以及快捷弹幕标签;例如,时刻1对应弹幕引导语1和快捷弹幕标签1,时刻2对应弹幕引导语2和快捷弹幕标签2,时刻3对应弹幕引导语3和快捷弹幕标签3,时刻n对应弹幕引导语3和快捷弹幕标签3。用户在客户端触发快捷弹幕标签以及弹幕引导语组成的弹幕信息,以使得在客户端的操作界面上进行展示,客户端上最终显示弹幕信息的操作界面可以如图10所示。参考图10中所示,不同的目标场景画面,对应的快捷弹幕标签以及弹幕引导语可以不同,以更符合当前的场景画面,从而使得弹幕信息更准确。
本公开实施例中的技术方案,利用图像识别技术确定直播流中待处理图像的所属的目标场景画面的场景标签,并在直播流当前播放的图像与目标场景画面一致时触发符合该场景标签的候选弹幕信息。能够引导提高用户发送弹幕的行为,降低弹幕发送成本。并且提高了直播间的互动氛围,对直播间活跃性,用户粘性产生积极的影响。另外,本公开实施例中无需游戏特别提供接口开发,可以为全平台通用能力,可以不断扩充并应用于各种游戏直播场景中,提高了便捷性、通用性以及应用范围。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的弹幕信息处理方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的弹幕信息处理方法的实施例。
图11示意性示出了根据本公开的一个实施例的弹幕信息处理装置的框图。
参照图11所示,根据本公开的一个实施例的弹幕信息处理装置1100,包括:图像获取模块1101、场景识别模块1102、弹幕信息确定模块1103。其中,图像获取模块1101,用于获取图像数据中的待处理图像;场景识别模块1102,用于对所述待处理图像进行场景识别以确定所述待处理图像所属的场景标签,所述场景标签用于表示图像所属的场景类别;弹幕信息确定模块1103,用于将与所述场景标签关联的可选弹幕信息作为候选弹幕信息,并显示所述候选弹幕信息。
在本公开的一些实施例中,所述装置还包括:素材获取模块,用于获取图像素材以及所述图像素材的场景画面类别;模型训练模块,用于根据所述图像素材以及所述场景画面类别对一深度学习模型进行训练,以得到用于识别所述待处理图像所属的场景的识别模型。
在本公开的一些实施例中,所述素材获取模块包括:素材获取控制单元,用于确定所述图像素材所需的特征区域,并将包含所述特征区域的图像作为所述图像素材,所述特征区域所述特征区域包含用于表征所述图像素材所属场景类别的特征。
在本公开的一些实施例中,所述素材获取控制单元包括:区域分类单元,用于截取所述特征区域,并对所述特征区域进行分类;图像扩充单元,用于对每一类别所述特征区域进行扩充操作,以得到各类别下新的所述图像素材,所述扩充操作包括对比度变换以及增加噪声信息中的至少一种。
在本公开的一些实施例中,所述模型训练单元包括:大小调整单元,用于对所述图像素材的大小进行调整;格式转换单元,用于将调整后的图像素材进行随机排序,并对所述随机排序后的图像素材进行格式转换,以得到预设格式的文件;训练控制单元,用于将所述预设格式的文件以及所述场景画面类别输入所述深度学习模型进行训练,以得到所述训练好的识别模型。
在本公开的一些实施例中,所述场景识别模块包括:图像筛选单元,若所述待处理图像的地址在预设队列中的停留时间超过时间阈值,则丢弃所述待处理图像;关联识别单元,用于将所述图像数据中的剩余图像进行多帧关联识别,以确定所述剩余图像所属的所述场景标签。
在本公开的一些实施例中,所述关联识别单元被配置为:使用一致性哈希路由,将属于同一个所述图像数据的所述剩余图像路由到相同进程中;在所述相同进程中存储针对所述图像数据的上一次识别结果,并结合所述上一次识别结果对所述剩余图像进行所述多帧关联识别。
在本公开的一些实施例中,所述弹幕信息确定模块包括:第一触发模块,用于若检测到所述图像数据中当前播放的图像与所述场景标签表示的目标场景画面相同,则显示所述候选弹幕信息。
在本公开的一些实施例中,所述弹幕信息确定模块包括:时刻确定模块,用于确定所述场景标签表示的目标场景画面对应的目标时刻;第二触发模块,用于若检测到所述图像数据播放至所述目标时刻,则显示所述候选弹幕信息。
在本公开的一些实施例中,所述时刻确定模块被配置为:获取所述场景标签表示的所述目标场景画面的时间戳信息,并根据所述时间戳信息确定所述目标时刻,所述时间戳信息用于表示所述目标场景画面显示的时间。
在本公开的一些实施例中,所述弹幕信息确定模块包括:可选弹幕生成模块,用于根据所述场景标签生成多个可选弹幕信息,并从所述多个可选弹幕信息中确定所述候选弹幕信息进行展示。
在本公开的一些实施例中,所述可选弹幕生成模块被配置为:响应于用户对弹幕控件的操作,从所述多个可选弹幕信息中确定所述所述场景标签关联的所述候选弹幕信息进行展示。
图12示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(centralprocessingunit,cpu)1201,其可以根据存储在只读存储器(read-onlymemory,rom)1202中的程序或者从储存部分1208加载到随机访问存储器(randomaccessmemory,ram)1203中的程序而执行各种适当的动作和处理。在ram1203中,还存储有系统操作所需的各种程序和数据。cpu1201、rom1202以及ram1203通过总线1204彼此相连。输入/输出(input/output,i/o)接口1205也连接至总线1204。
以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)等以及扬声器等的输出部分1207;包括硬盘等的储存部分1208;以及包括诸如lan(localareanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执行本申请的系统中限定的各种功能。在一些实施例中,计算机系统1100还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(machinelearning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在早期的传统机器学习时代,人们需要精心设计如何从数据中提取有用的特征,设计针对特定任务的目标函数,再利用一些通用的优化算法来搭建机器学习系统。在深度学习崛起之后,人们很大程度上不再依赖于精心设计的特征,而让神经网络去自动学习有用的特征。在本公开实施例中,可以根据神经网络自动提取特征,并识别待处理图像的场景标签,进而便于自动触发与该场景标签关联的弹幕信息进行显示。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。