一种视频合成方法和系统
技术领域
本说明书涉及数据处理技术领域,特别涉及一种视频合成方法和系统。
背景技术
随着多媒体技术的发展,视频制作已广泛应用在人们的生活中。视频制作是对图片、视频、音频等素材进行重组编码而生成新的视频。不同的个人或运营商因目的的不同对制作的视频可能有不同的需求,因此,期望提供一种视频合成方法和系统,以满足多样化的视频制作需求。
发明内容
本说明书的一个方面提供一种视频合成方法。所述方法包括:获取视频文件;基于所述视频文件生成多个视频片段;基于第一预设条件从所述多个视频片段中获取候选视频片段;对所述候选视频片段进行组合以生成目标数量个片段集合,所述目标数量个片段集合满足第二预设条件,所述第二预设条件包括所述目标数量个片段集合中任意两个片段集合之间的差异大于预设差异阈值;对于所述目标数量个片段集合中的每个片段集合,基于该片段集合合成一个目标视频。
在一些实施例中,所述第二预设条件包括所述目标数量个片段集合中任意两个片段集合之间的候选视频片段组合差异度大于预设差异阈值。
在一些实施例中,对于任意两个片段集合,基于以下方法确定两者之间的候选视频片段组合差异度:为所述候选视频片段中的每一个赋予标识字符;对于所述目标数量个片段集合中的每个片段集合,基于该片段集合中候选视频片段及其标识字符,确定对应于该片段集合的字符串;将所述任意两个片段集合对应的字符串之间的编辑距离确定为所述候选视频片段组合差异度。
在一些实施例中,所述第一预设条件包括以下中的至少一种:目标视频的总时长、目标视频所包含的镜头画面数量、目标视频包含指定镜头画面、目标视频包含指定对象。
在一些实施例中,所述指定对象包括人物、物品、以及标志中的至少一种;所述基于第一预设条件从所述多个视频片段中获取候选视频片段包括:利用机器学习模型确定所述多个视频片段中的每一个是否包含指定对象;将所述多个视频片段中包含指定对象的视频片段确定为所述候选视频片段。
在一些实施例中,所述第一预设条件包括目标视频中镜头画面的绑定约束条件,所述绑定约束条件反映至少两个指定镜头画面在目标视频中的关联关系;所述基于第一预设条件从所述多个视频片段中获取候选视频片段包括:从所述多个视频片段中确定包含指定镜头画面的视频片段;基于所述关联关系将包含指定镜头画面的视频片段组合,以作为一个候选视频片段。
本说明书的另一个方面提供一种视频合成方法,所述方法由至少一个处理器执行,所述方法包括:获取视频文件;基于所述视频文件生成多个视频片段;基于所述多个视频片段随机生成多个候选片段集合;其中,所述多个候选片段集合满足第二预设条件,所述第二预设条件包括所述多个候选片段集合中任意两个候选片段集合之间的差异大于预设差异阈值;基于第一预设条件从所述多个候选片段集合中筛选出目标数量个片段集合;对于所述目标数量个片段集合中的每个片段集合,基于该片段集合合成一个目标视频。
在一些实施例中,所述第二预设条件包括所述多个候选片段集合中任意两个候选片段集合之间的视频片段组合差异度大于预设差异阈值。
在一些实施例中,所述第一预设条件包括以下中的至少一种:目标视频的总时长、目标视频所包含的镜头画面数量、目标视频包含指定镜头画面、目标视频包含指定对象。
本说明书的另一方面提供一种视频合成系统。所述系统包括:获取模块,用于获取视频文件;拆分模块,用于基于所述视频文件生成多个视频片段;筛选模块,用于基于第一预设条件从所述多个视频片段中获取候选视频片段;组合模块,用于对所述候选视频片段进行组合以生成目标数量个片段集合,所述目标数量个片段集合满足第二预设条件,所述第二预设条件包括所述目标数量个片段集合中任意两个片段集合之间的差异大于预设差异阈值;视频合成模块,用于对于所述目标数量个片段集合中的每个片段集合,基于该片段集合合成一个目标视频。
本说明书的另一方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如前所述的方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书的一些实施例所示的视频合成场景的示意图;
图2是根据本说明书的一些实施例所示的视频合成方法的示例性流程图;
图3是根据本说明书的另一些实施例所示的视频合成方法的示例性流程图;
图4是根据本说明书的一些实施例所示的视频合成系统的示意图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
虽然本说明书对根据本说明书的实施例的系统中的某些模块或单元做出了各种引用,然而,任何数量的不同模块或单元可以被使用并运行在客户端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书的一些实施例所示的视频合成场景的示意图。
如图1所示,视频合成场景100中可以包括用户终端110以及服务器130。
用户终端110可以用于输入和/或获取数据或信息。在一些实施例中,用户可以通过用户终端110生成或获取视频文件120。例如,用户可以使用用户终端110的摄像头录制影像并存储为视频文件120,或通过用户终端110从视频类软件下载视频文件120。在一些实施例中,用户可以通过用户终端110输入目标视频的约束条件。在一些实施例中,用户可以通过用户终端110获取或浏览合成的目标视频160。在一些实施例中,用户终端110可以包括但不限于智能手机110-1、平板电脑110-2、笔记本电脑110-3等中的一种或几种的组合。
服务器130可以用于管理资源以及处理来自视频合成系统至少一个组件或外部数据源(例如,云数据中心)的数据和/或信息。例如,服务器130可以对从用户终端110获取的视频文件120进行相关处理,以合成目标视频160。在一些实施例中,服务器130可以是一个服务器,也可以是一个服务器群组。服务器群组可以是集中式的,例如数据中心,或分布式的,例如一个分布式系统。在一些实施例中,服务器130可以是本地的,或远程的。在一些实施例中,服务器130可以包括处理设备。处理设备可以处理与视频合成相关的信息和/或数据以执行本说明书中描述的一个或多个功能。在一些实施例中,处理设备可以包括一个或多个处理器(例如,单晶片处理器或多晶片处理器)。
本说明书实施例提供一种视频合成系统,可以通过对视频文件120进行拆分、筛选、组合、裁剪、美化等一种或多种的组合操作合成满足需求的目标视频。在一些实施例中,服务器130可以通过对视频文件120进行拆分获得多个视频片段140,基于视频时长、视频内容等约束条件从多个视频片段140中筛选出一个或多个候选视频片段,通过对候选视频片段进行组合获得彼此之间差异满足预设阈值的目标数量个片段集合150,基于片段集合150生成目标数量个合成视频160。在一些实施例中,服务器130可以通过对拆分获得的多个视频片段140随机组合获得多个彼此之间差异满足预设阈值的候选片段集合,基于视频时长、视频内容等约束条件从候选片段集合中筛选出目标数量个片段集合150,基于目标数量个片段集合150生成目标数量个合成视频160。在一些实施例中,本说明书实施例提供的视频合成方法和/或系统可以用于宣传视频的合成,例如,可以基于预先拍摄的用于产品、或文化、或公益等宣传的视频文件,通过拆分、筛选、美化、合成等操作对视频文件进行处理生成多样化的宣传视频。关于视频合成的更多内容可以参见本说明书其他部分(例如,图2-图4及其相关描述),在此不再赘述。
图2是根据本说明书的一些实施例所示的视频合成方法的示例性流程图。
如图2所示,视频合成方法200可以在处理设备(如服务器130)实现。其包括:
步骤210,获取视频文件,基于视频文件生成多个视频片段。在一些实施例中,步骤210可以由获取模块410和/或拆分模块420执行。
视频文件是指用于目标视频合成的待处理视频。在一些实施例中,视频文件可以包括MPEG、AVI、ASF、MOV、3GP、WMV、DivX、XviD、RM、RMVB、FLV/F4V等各种格式的视频文件。在一些实施例中,视频文件可以包括但不限于宣传视频、个人录制视频、影音影像、网络视频等。本说明书实施例中,视频文件主要是指拍摄的且尚未编辑的用于宣传的视频。在一些实施例中,处理设备可以从用户终端110、开源数据库、系统存储设备等渠道获取视频文件,本说明书对此不做限制。在一些实施例中,处理设备可以通过直接或间接的方式获取视频文件,例如,直接获取用户上传的视频文件,或基于用户输入的链接获取视频文件。
视频片段是指包含视频文件中的部分内容的短视频,例如,视频片段可以为3秒、4秒、或5秒等的短视频。在一些实施例中,视频片段可以包括一个或多个镜头画面。一个镜头画面是指拍摄的视频文件中从前一个光学转换到后一个光学转换之间的一个连续的完整片段的画面,或拍摄视频文件时摄像机从启动到静止这期间不间断摄取的一段画面的总和。例如,若视频文件中第一个画面是海边,接着画面切换为一个女孩在喝酸奶,再接着切换为女孩在海上冲浪,则女孩在喝酸奶为一个镜头画面,其前面一段为一个镜头画面,其后面一段为一个镜头画面。为更清楚的理解,本说明书实施例中,将以一个视频片段中包含一个镜头画面为例进行描述。
在一些实施例中,可以基于视频文件中包含的镜头画面生成视频片段。例如,一个视频文件包含5个镜头画面,则可以生成5个视频片段。在一些实施例中,可以通过人工或机器对视频文件进行拆分生成多个视频片段。例如,操作员基于视频文件中镜头画面的数量手动剪辑,或利用训练好的机器学习模型根据预设的条件(如镜头画面数量、时长等)将视频文件拆分为多个视频片段。在一些替代性实施例中,处理设备还可以基于时间窗获取从视频文件中截取的多个视频片段,本说明书对视频片段的拆分手段不做限制。
步骤220,基于第一预设条件从多个视频片段中获取候选视频片段。在一些实施例中,步骤220可以由筛选模块430执行。
第一预设条件可以用于反映对目标视频的内容和/或时长的要求。例如,第一预设条件可以包括但不限于对目标视频的总时长、目标视频所包含的镜头画面数量、目标视频包含指定镜头画面、目标视频包含指定对象等一种或多种信息的要求。目标视频所包含的镜头画面数量可以为相同或不同的镜头画面数量。与多个句子组成段落或文章类似,多个镜头画面的组合可以构成一个新的视频,以表达更加详细的内容信息。所述指定对象包括人物、物品、或标志等一种或多种的组合。例如,人物可以为活动/产品代言人,物品可以为对应的产品,标志可以为产品商标、地域标识等。目标视频包含指定镜头画面以及对象,可以实现对特定内容的宣传。例如,指定镜头画面可以是待宣传产品的特写镜头,指定对象可以是待宣传产品的商标等。在一些实施例中,第一预设条件可以由用户指定、或由视频合成系统基于目标视频需要产生的宣传效果自动确定。
在一些实施例中,处理设备可以从多个视频片段中筛选出满足第一预设条件的确定为候选视频片段。在一些实施例中,处理设备可以根据视频片段的时长和镜头画面确定候选视频片段。例如,若第一预设条件为目标视频需包含3个镜头画面且总时长为40秒,则可以筛选3个分别包含不同镜头画面且时长总和为40秒的视频片段,例如,15秒的视频片段1、15秒的视频片段2、10秒的视频片段3,为候选视频片段。在一些实施例中,处理设备可以根据视频片段包含的镜头画面确定候选视频片段。例如,若第一预设条件为目标视频需包含“海上冲浪”的镜头画面,则可以筛选一个或多个镜头画面为“海上冲浪”的视频片段为候选视频片段。在一些实施例中,处理设备可以根据视频片段中包含的对象以及视频时长确定候选视频片段。例如,若第一预设条件为目标视频中需包含3个镜头画面,以及包含“××地区”的标志,且目标视频总时长不得超过70秒,可以先筛选出包含“××地区”标志的视频片段4为一个候选视频片段,然后根据视频片段4的时长,如为20秒,再筛选两个使得视频总时长不超过70秒的视频片段为候选视频频段,如分别为30秒的视频片段5和20秒的视频片段6。在一些实施例中,满足第一预设条件中任意一个要求的候选视频片段可以为一个或多个。例如,满足指定镜头画面要求的候选视频片段可以为3个,满足指定对象要求的候选视频片段可以为5个等。相应地,满足第一预设条件的候选视频片段可以为一组或多组。
可以理解的是,上述内容仅为示例,在一些实施例中,第一预设条件可以包括对目标视频的一个或多个要求,在包含多个要求的情况下,对满足每个要求的视频片段的筛选可以为任意合理的顺序,本说明书对此不做限制。
在一些实施例中,处理设备可以利用机器学习模型确定候选视频片段。例如,可以利用训练好的机器学习模型确定多个视频片段中的每一个是否包含指定对象,将所述多个视频片段中包含指定对象的视频片段确定为候选视频片段。在一些实施例中,训练好的机器学习模型的输入可以为视频片段,输出可以为视频片段包含的对象,或视频片段是否包含指定对象的二分类结果,本说明书对此不做限制。在一些替代性实施例中,可以通过其他可行的方式确定候选视频片段,本说明书对此不做限制。
在一些实施例中,第一预设条件可以包括目标视频中镜头画面的绑定约束条件。所述绑定约束条件可以反映至少两个指定镜头画面在目标视频中的关联关系,例如,关联关系可以是指定镜头画面a与指定镜头画面b必须在目标视频中同时出现,或在目标视频中指定镜头画面a必须出现在指定镜头画面b之前等。在一些实施例中,处理设备可以从多个视频片段中确定包含指定镜头画面的视频片段,基于关联关系将包含指定镜头画面的视频片段组合,以作为一个候选视频片段。例如,若绑定约束条件为镜头画面a在目标视频中必须出现在镜头画面b之前,则可以将镜头画面a与镜头画面b组合,并将镜头画面a放置在镜头画面b之前,或标注镜头画面a与镜头画面b的先后顺序,以作为一个候选视频片段。通过将满足绑定约束条件的镜头画面组合为一个候选视频片段,可以帮助在后续处理过程中将其作为整体进行处理,以提高视频合成的效率。
步骤230,对候选视频片段进行组合以生成目标数量个片段集合。在一些实施例中,步骤230可以由组合模块440执行。
目标数量个片段集合中的每个片段集合为由一个或多个候选视频片段组合的可以同时满足第一预设条件和/或其他条件的,可以直接用于合成目标视频的片段集合。其他条件可以包括但不限于对目标视频的边框、字幕、色调、饱和度、背景音乐等一种或多种组合的要求。例如,目标数量个片段集合中可以包括上述视频片段1、视频片段2、视频片段3组合的片段集合1,视频片段4、视频片段5、视频片段6组合的片段集合2,视频片段1、视频片段2、视频片段3、视频片段4组合的片段集合3等。
在一些实施例中,目标数量个片段集合满足第二预设条件。第二预设条件可以包括目标数量个片段集合中任意两个片段集合之间的差异大于预设差异阈值。在一些实施例中,任意两个片段集合之间的差异可以为任意两个片段集合之间的候选视频片段组合差异度。在一些实施例中,可以通过对视频片段进行标识确定片段集合之间的差异度。具体地,可以对每个候选视频片段赋予不同的标识字符,对于目标数量个片段集合中的每个片段集合,基于该片段集合中候选视频片段及其标识字符,确定对应于该片段集合的字符串,然后将任意两个片段集合对应的字符串之间的编辑距离确定为候选视频片段组合差异度。其中,编辑距离可以反映两个字符串之间不同字符的数量,编辑距离越小,对应的不同字符数量越少,表示两个片段集合之间差异度越小。例如,若视频片段1标识字符为A,视频片段2标识字符为B,视频片段3标识字符为C,视频片段4标识字符为D,则片段集合1对应字符串为ABC,片段集合3对应字符串为ABCD,片段集合1与片段集合3之间的编辑距离为1,即差异度为1。在一些替代性实施例中,片段集合之间的差异可以通过其他合理的方式实现,本说明书对此不做限制。
在一些实施例中,任意两个片段集合之间的差异可以为任意两个片段集合之间的候选视频片段组合和/或该两个片段集合之间的候选视频片段与边框、字幕、色调等其他条件的组合差异度。例如,片段集合4可以包括视频片段1、视频片段2、边框1、字幕1,片段集合5可以包括视频片段1、视频片段2、边框2、字幕2,片段集合4与片段集合5的差异度可以为边框与字幕的差异,例如差异度为2。
在一些实施例中,片段集合的目标数量可以任意正整数,例如,1个、3个、5个、8个、10个等。在一些实施例中,可以将候选视频片段随机组合为N个候选片段集合,基于第二预设条件从N个候选片段集合中筛选目标数量个片段集合。通过筛选目标数量个满足第二预设条件的片段集合,可以使得基于目标数量个片段集合生成具有不同的内容展现效果的目标数量个目标视频,进而达到不同的宣传效果。
步骤240,对每个片段集合,基于该片段集合合成一个目标视频。在一些实施例中,步骤240可以由视频合成模块450执行。
对于目标数量个片段集合中的每个片段集合,可以基于该片段集合合成一个目标视频。对应地,目标数量个片段集合可以合成目标数量个目标视频。在一些实施例中,可以基于片段集合中每个视频片段的镜头画面的衔接性合成目标视频。例如,展现内容为白天的视频片段可以放置在展现内容为夜晚的视频片段之前。在一些实施例中,可以基于待宣传产品或信息的宣传文案合成目标视频。例如,用于宣传垃圾分类的视频,其宣传文案可以为先展现不分类可能产生的恶果,接着展现分类的益处,最后展现分类方法,则可以根据片段集合中每个视频片段包含的内容按照该宣传文案中展现内容的顺序合成目标视频。
合成的目标数量个目标视频可以分批或同时投放。在一些实施例中,可以基于每个目标视频的宣传效果调整第一预设条件、和/或第二预设条件、和/或其他预设条件。宣传效果可以根据用户反馈、播放量、评价、人群执行情况(如,产品销售量、垃圾分类结果等)等获得,本说明书对此不做限制。
应当注意的是,上述有关方法200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对方法200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤220中,可以分别筛选出满足每个目标视频要求的视频片段为候选视频片段,相应地,步骤230中,可以分别选出任意一个或多个要求下的其中一个候选视频片段进行组合,获得片段集合。
图3是根据本说明书的另一些实施例所示的视频合成方法的示例性流程图。
如图3所示,方法300可以通过处理设备(如服务器130)实现,其包括步骤310、步骤320、步骤330以及步骤340。其中,步骤310,获取视频文件基于视频文件生成多个视频片段,步骤340,对每个片段集合,基于该片段集合合成一个目标视频,分别对应于方法200中步骤210和步骤240,更多内容可以参见图2及其相关描述,在此不再赘述。视频合成方法300中步骤320与步骤330不同于方法200中步骤220和步骤230,具体地:
步骤320,基于多个视频片段随机生成多个候选片段集合。在一些实施例中,步骤320可以由组合模块440执行。
处理设备可以对多个视频片段进行随机组合,生成候选片段集合。在一些实施例中,处理设备可以对步骤310中获得的部分视频片段进行随机组合,生成M(M大于或等于目标数量)个候选片段集合。在一些实施例中,处理设备可以对步骤310中获得的所有视频片段进行组合,从中筛选出M(M大于或等于目标数量)个组合确定为候选片段集合,或将所有组合确定为候选片段集合。一个候选片段集合中可以包括一个或多个视频片段。
在一些实施例中,所述多个候选片段集合满足第二预设条件。所述第二预设条件包括所述多个候选片段集合中任意两个候选片段集合之间的差异大于预设差异阈值。预设差异阈值可以为任意大于0的正整数,例如,1、2等。在一些实施例中,第二预设条件可以包括所述多个候选片段集合中任意两个候选片段集合之间的视频片段组合差异度大于预设差异阈值。关于第二预设条件的更多内容可以参见图2及其相关描述,在此不再赘述。
步骤330,基于第一预设条件从多个候选片段集合中筛选出目标数量个片段集合。在一些实施例中,步骤330可以由筛选模块430执行。
第一预设条件可以包括但不限于目标视频的总时长、目标视频所包含的镜头画面数量、目标视频包含指定镜头画面、目标视频包含指定对象等一种或多种的组合。关于第一预设条件的更多内容可以参见图2及其相关描述,在此不再赘述。在一些实施例中,处理设备可以基于候选片段集合整体确定目标数量个片段集合。例如,可以筛选视频片段的时长总和和/或镜头画面数量满足第一预设条件的候选片段集合为目标数量个片段集合中的一个或多个。在一些实施例中,处理设备可以基于每个候选片段集合中视频片段包含的内容确定目标数量个片段集合。例如,可以利用训练好的机器学习确定候选片段集合中视频片段是否包含指定对象,基于确定结果筛选包含指定对象的候选片段集合为目标数量个片段集合中的一个或多个。训练好的机器学习模型的输入可以为候选片段集合,或候选片段集合中的视频片段,对应地,输出可以为候选片段集合是否包含指定对象,或视频片段是否包含指定对象,本说明书对此不做限制。
应当注意的是,上述实施例的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对方法300进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,步骤330、340中,处理设备可以先基于候选片段集合合成多个候选视频,然后基于第一预设条件从候选视频中筛选出满足要求的合成视频为目标视频。
图4是根据本说明书的一些实施例所示的视频合成系统的示意图。
如图4所示,视频合成系统400可以包括获取模块410、拆分模块420、筛选模块430、组合模块440以及视频合成模块450。
获取模块410可以用于获取视频文件。
拆分模块420可以用于基于视频文件生成多个视频片段。
筛选模块430可以用于基于第一预设条件从多个视频片段中获取候选视频片段。在一些实施例中,筛选模块430可以用于基于第一预设条件从多个候选片段集合中筛选出目标数量个片段集合。
在一些实施例中,组合模块440可以用于对候选视频片段进行组合以生成目标数量个片段集合。在一些实施例中,组合模块440可以用于基于多个视频片段随机生成多个候选片段集合。在一些实施例中,所述目标数量个片段集合或所述多个候选片段集合满足第二预设条件。所述第二预设条件包括目标数量个片段集合(或多个候选片段集合)中任意两个片段集合(或候选片段集合)之间的差异大于预设差异阈值。
视频合成模块450可以用于基于目标数量个片段集合中的每个片段集合合成目标视频。
更多关于模块的描述可以参见本说明书其他地方(例如,图2、图3及其相关描述),在此不再赘述。需要注意的是,以上对于视频合成系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)基于片段集合之间的差异确定目标数量个片段集合,可以确定多个具有不同内容表现效果的目标视频,提高生成的目标视频的多样性;(2)整个目标视频的生成无需人工操作,提高了视频合成效率。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。