本公开涉及一种用于实时播放的方法、装置、电子设备和介质。
背景技术:
目前直播的技术方案通常是固定实物机位,由现场总摄像导演负责,根据现场的情况管理多台摄像机进行拍摄以及摄像机之间的视角切换。然而,这种方案的应用场景十分有限,只能在预先计划的大型现场应用(例如球赛,晚会等)。
随着自媒体的发展,用户直播产生的影响不断增大。观看者可以任意地选择直播者观看该直播者直播的内容。然而,在一些场景下,由一个直播者拍摄得到的视频经常不能令人满意。
技术实现要素:
本公开的一个方面提供了一种用于实时播放的方法,包括获得观看对象针对目标对象的播放请求,获得与所述播放请求相关的视频流数据集,所述视频流数据集包括多个视频流数据,所述多个视频流数据来源于多个采集所述目标对象实时视频的采集对象,所述观看对象不同于所述采集对象,在不同时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据,以及输出所述目标视频流数据。
可选地,所述在不同的时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据,包括在第一时间段,基于选择策略从所述视频流数据集中确定第一视频流数据作为目标视频流数据,当前所述第一视频流数据的清晰度高于所述视频流数据集中的其他视频流数据,在第二时间段,基于选择策略从所述视频流数据集中确定第二视频流数据作为目标视频流数据,当前所述第二视频流数据的清晰度高于所述视频流数据集中的其他视频流数据,其中,所述第一视频流数据与所述第二视频流数据来源于相同或者不同的采集对象。
可选地,所述在不同的时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据,包括在第一时间段,基于选择策略从所述视频流数据集中确定第一视频流数据作为目标视频流数据,在第二时间段,基于选择策略从所述视频流数据集中确定第二视频流数据作为目标视频流数据。
其中,所述第一视频流数据与所述第二视频流数据来源于不同的采集对象,并且,相对于所述目标对象,所述第一视频流数据的内容与所述第二视频流数据的内容满足以下条件中的一种或多种:所述第一视频流数据的内容与所述第二视频流数据的内容具有时间和空间上的连续性;相对于所述目标对象,所述第二视频流数据的采集角度优于所述第一视频流数据的采集角度;所述第二视频流数据的清晰度高于第一视频流数据。
可选地,所述在不同时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据,包括获得所述观看对象的个性化信息,在不同时间段,基于所述个性化信息分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据。
可选地,所述方法还包括处理所述视频流数据集中的第一部分视频流数据,以确定所述目标对象的运动状态,基于所述目标对象的运动状态,确定所述视频流数据集中在第三时段内采集视角满足第一条件的第三视频流数据,在所述第三时段内输出所述第三视频流数据。
可选地,所述方法还包括基于所述视频流数据集中的第二部分视频流数据,构建针对所述目标对象的三维模型,以便生成包含所述三维模型的多媒体信息,输出包含所述三维模型的多媒体信息。
可选地,所述方法还包括获得第四视频流数据以及所述采集对象采集所述第四视频流数据的采集信息,在所述采集信息满足第二条件的情况下,将所述第四视频流数据加入所述视频流数据集。
本公开的另一个方面提供了一种用于实时播放的装置,包括第一获得模块、第二获得模块、确定模块以及输出模块。第一获得模块,用于获得观看对象针对目标对象的播放请求。第二获得模块,用于获得与所述播放请求相关的视频流数据集,所述视频流数据集包括多个视频流数据,所述多个视频流数据来源于多个采集所述目标对象实时视频的采集对象,所述观看对象不同于所述采集对象。确定模块,用于在不同时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据。输出模块,用于输出所述目标视频流数据。
本公开的另一个方面提供了一种电子设备,包括处理器以及存储器。存储器上存储有计算机可读指令,所述指令被处理器执行时使得处理器实现如上所述的方法。
本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1a和图1b示意性示出了根据本公开的实施例的用于实时播放的方法的示例性场景;
图2示意性示出了根据本公开实施例的用于实时播放的方法的流程图;
图3示意性示出了根据本公开另一实施例的用于实时播放的方法的流程图;
图4示意性示出了根据本公开实施例的用于实时播放的装置的框图;以及
图5示意性示出了根据本公开实施例的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
图1a和图1b示意性示出了根据本公开实施例的用于实时播放的方法的应用场景。需要注意的是,图1a和图1b所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
在如图1a所示意的示例性场景中,警察逮捕犯罪嫌疑人,围观群众纷纷拿出手机、平板电脑等终端设备进行拍照和录像。由于5g技术的快速发展,网络传输速度的大幅提高。进行录像的用户可以通过网络实时分享录制的视频流数据,形成直播。在同一场景中,可能存在多个用户直播同一内容。观看者可以通过网络获得该些视频流数据中的至少一个,从而能够实时观看该场景下的人物以及发生的事件。
在本公开实施例中,作为拍摄对象的警察和犯罪嫌疑人即为上下文中描述的目标对象,在现场实时拍摄并上传视频流数据的终端设备即为上下文中描述的采集对象,观看者使用的终端设备即为上下文中描述的观看对象。
本公开的另一些示例性实施例可以涉及与明星相关的场景,例如粉丝接机、明星开发布会或者其他明星粉丝聚集的场景。在该些场景中,明星可以作为目标对象,拍摄并实时上传视频流数据的粉丝可以是采集者,在事件地点以外通过网络观看直播的用户可以为狂热粉丝,却不能到现场的观看者。
如图1b所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
根据本公开实施例,采集对象和观看对象可以实现为如图1b所示的终端设备101、102、103中的任意一个,通过网络104和服务器105的作用实现视频流数据的相互传输。例如,多个采集对象可以将视频流数据通过网络104上传到服务器105,多个观看对象可以通过网络104从服务器105处下载视频流数据。
需要说明的是,本公开实施例所提供的用于实时播放的方法一般可以由服务器105执行。相应地,本公开实施例所提供的用于实时播放的装置一般可以设置于服务器105中。
应该理解,图1b中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的用于实时播放的方法的流程图。
如图2所示,该方法包括操作s210~s230。
在操作s210,获得观看对象针对目标对象的播放请求。
根据本公开实施例,观看对象可以根据用户的输入或者根据推荐算法,或者通过以上二者的结合,获得某一目标对象的信息,从而可以生成针对该目标对象的播放请求。或者,服务器可以向观看对象提供多个视频流信息,通过用户对视频流信息的选择,从被选择的视频流信息中确定目标对象,从而生成针对目标对象的播放请求。在本公开实施例中,可以根据用户的选择先向用户提供一个视频流信息,在合适的时机,可以根据所确定的目标对象智能地切换为其他视频流信息。
在操作s220,获得与所述播放请求相关的视频流数据集,所述视频流数据集包括多个视频流数据,所述多个视频流数据来源于多个采集所述目标对象实时视频的采集对象,所述观看对象不同于所述采集对象。
根据本公开实施例,多个视频流数据为多个采集对象采集得到并上传的视频流数据。同一视频流数据集中的视频流数据具有相同的特征。例如,同一视频流数据集中的视频流数据可以是针对同一目标对象的一个或多个视频流数据。由采集对象采集的视频流数据可以提供给观看对象播放,以便观看者观看。
在操作s230,在不同时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据。根据本公开实施例,选择策略例如可以是基于视频流数据的清晰度、视角信息、观看者的个性化信息等从视频流数据集中选择视频流数据以提供给观看者的策略。
在操作s240,输出所述目标视频流数据。
本公开实施例的方法通过整合多个视频流数据得到视频流数据集,在不同时段基于选择策略从视频流数据集中选择合适的视频流数据提供给观看对象,可以在实时播放的过程中实现智能地切换,改善用户体验。
根据本公开实施例,所述在不同的时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据,包括在第一时间段,基于选择策略从所述视频流数据集中确定第一视频流数据作为目标视频流数据,当前所述第一视频流数据的清晰度高于所述视频流数据集中的其他视频流数据,在第二时间段,基于选择策略从所述视频流数据集中确定第二视频流数据作为目标视频流数据,当前所述第二视频流数据的清晰度高于所述视频流数据集中的其他视频流数据,其中,所述第一视频流数据与所述第二视频流数据来源于相同或者不同的采集对象。
在本公开实施例中,选择策略采用清晰度策略,在不同的时间段,例如第一时间段和第二时间段,都采用该时间段内具有最高清晰度的视频流数据作为选择出的视频流数据。该方法可以在多个时间段自动地选择清晰度最高的视频流数据集提供给用户。例如,在第一时间段,第一视频流数据的清晰度是最高的,在第二时间段,第一视频流数据的清晰度降低,或者第一视频流数据由于不再关注该目标对象而被移除到该视频流数据集之外,或者,已有的第二视频流数据的清晰度超过第一视频流数据,又或者,第二视频流数据是在第二时间段新引入的视频流数据,并且该第二视频流数据的清晰度高于第一视频流数据。在满足以上任意一种情况时,可以选出在第二时间段具有最高清晰度的第二视频流数据,以供观看者观看。
根据本公开实施例,所述在不同的时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据,包括在第一时间段,基于选择策略从所述视频流数据集中确定第一视频流数据作为目标视频流数据,在第二时间段,基于选择策略从所述视频流数据集中确定第二视频流数据作为目标视频流数据。其中,所述第一视频流数据与所述第二视频流数据来源于不同的采集对象。
在本公开实施例中,可以并非选择具有最高清晰度的视频流数据,而是可以按照如下多种子策略独立地采用或相互结合地采用,以确定出选择出的视频流数据:
(1)所述第二视频流数据的清晰度高于第一视频流数据。
与前述实施例不同的是,如果在第二时间段存在一个视频流数据的清晰度高于在第一时间段采用的第一视频流数据,则可能采用该第二视频流数据在第二时间段输出,而第二视频流数据未必是第二时间段中清晰度最高的视频流数据。该策略可以结合其他策略使用,例如采集角度等,从而兼顾清晰度维度和其他维度,提高观看者的观看体验。
(2)相对于所述目标对象,所述第二视频流数据的采集角度优于所述第一视频流数据的采集角度。
根据本公开实施例,采集角度是否相对较优可以通过多种方法确定。
例如,可以通过训练人工智能模型,并通过人工智能模型确定哪一个视频流数据的采集角度更优。该人工智能模型例如可以直接通过大量样本训练,例如根据不同视频流数据的点赞量确定是否具有更优的采集角度。作为示例性的实施方式之一,该人工智能模型也可以实现为如下几个部分,目标对象识别子模型、最佳视角确定子模型以及最佳视频流数据确定子模型。其中,目标对象识别子模型经过训练例如可以用于根据视频流数据集中的视频流数据确定目标对象;最佳视角确定子模型经过训练例如可以用于识别目标对象的正面,并确定从该目标对象的正面采集的视角为最佳视角;最佳视频流数据确定子模型经过训练例如可以根据该最佳视角,从视频流数据集中确定具有与最佳视角最接近的采集角度的视频流数据。
又如,可以通过定义多种条件,每种条件可以设置相应的权重,以检查表的方式确定每个视频流数据的得分,从而确定视频流数据的采集视角是否更优。其中,多种条件例如可以包括是否从目标对象的正面采集,采集目标对象的角度是平视、俯视或者仰视,是否具有合适的视野范围等等。例如,在存在视频流数据1、2、3的情况下,根据视频流数据的实际情况和设定的条件及其权重,通过下表计算不同视频流数据的得分,可以确定具有最佳视角的视频流数据为视频流数据1。
(3)相对于所述目标对象,所述第一视频流数据的内容与所述第二视频流数据的内容具有时间和空间上的连续性。
根据本公开实施例,在由第一视频流数据切换到其他视频流数据的过程中,还可能考虑的是内容具有时间和空间上的连续性,例如,第一时间段与第二时间段是相邻的两个时间段,那么目标对象在第一时间段结束时在第一视频流数据中所处的位置可以与目标对象在第二时间段开始时在第二视频流数据中所处的位置一致或接近,避免了目标对象在视频流数据切换过程中经常发生位置的突变,提高观看者的用户体验。
根据本公开实施例,所述在不同时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据,包括获得所述观看对象的个性化信息,在不同时间段,基于所述个性化信息分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据。例如,在采集角度大致满足需求的视频流数据中,有些观看者倾向于视野更开阔的视频流数据,有些观看者倾向于清晰度更高的视频流数据,可以获得用户的个性化信息,可以基于该个性化信息从视频流数据集中确定供观看者观看的视频流数据。
图3示意性示出了根据本公开另一实施例的用于实时播放的方法的流程图。
如图3所示,该方法在图2所示意的基础上还可以包括操作s310~s330。
在操作s310,处理所述视频流数据集中的第一部分视频流数据,以确定所述目标对象的运动状态。
例如,某一重要人物通过某一公共区域时,可以具有相对稳定的速度,通过在现场的多个直播者的采集对象采集的视频流数据,可以确定目标对象的运动状态,例如可以包括运动速度、加速度和运动方向等。
其中,所使用的第一部分视频流数据可以是视频流数据集中的全部视频流数据,也可以是视频流数据集中的部分更符合运行状态分析需求的视频流数据。
在操作s320,基于所述目标对象的运动状态,确定所述视频流数据集中在第三时段内采集视角满足第一条件的第三视频流数据。
根据本公开实施例,在确定目标对象的运动状态后,可以确定未来的一个或多个时段内采集视角较好的视频流数据。该第三时段可以是未来的任意一个时段,可以是与当前时段相邻的时段,也可以是与当前时段不相邻的时段。根据运动状态,可以确定目标对象在第三时段时所处的大致位置,还一些场景下,还可以包括目标对象的朝向,从而可以根据采集者所处的位置确定在第三时段时具有更好的采集角度的视频流数据作为第三视频流数据。第一条件例如可以包括是否从正面采集,是否为平视采集,是否具有更大的视野等等。该第一条件用于选择出具有更好的采集角度的视频流信息。
在操作s330,在所述第三时段内输出所述第三视频流数据。
本公开实施例的方法可以基于目标对象的运动信息预测未来时段内具有更好视角的视频流数据,从而可以在目标对象移动过程中快速且连续地切换视频流数据,保持观看目标对象的最佳体验。
根据本公开实施例,所述方法还包括基于所述视频流数据集中的第二部分视频流数据,构建针对所述目标对象的三维模型,以便生成包含所述三维模型的多媒体信息,输出包含所述三维模型的多媒体信息。例如,通过视频流数据集中的多个具有不同采集角度的视频流数据,可以将目标对象合成为三维模型,例如可以通过虚拟现实(vr)或增强显示(ar)的方式呈现给观看者,进一步地提高观看者的观看体验。其中,用于合成三维模型的第二部分视频流数据可以是视频流数据集中的全部视频流数据,也可以是视频流数据集中的部分更符合合成三维模型需求的视频流数据,该第二部分视频流数据可以与第一部分视频流数据相同、部分相同或者不同。
根据本公开实施例,所述方法还包括获得第四视频流数据以及所述采集对象采集所述第四视频流数据的采集信息,在所述采集信息满足第二条件的情况下,将所述第四视频流数据加入所述视频流数据集。根据本公开实施例,服务器可以维护视频流数据集,包括从视频流数据集中新增或删除一条视频流数据等。
例如,视频流数据集可以是针对同一目标对象的视频流数据集,该目标对象例如是某个人、某个物体、某事件等等。在有新的视频流数据,例如第四视频流数据,上传到服务器的情况下,如果该视频流数据针对的目标对象与某一视频流数据集中的视频流数据针对的目标对象相同,则可以将其归类到该视频流数据集中。可以根据采集该第四视频流数据的采集对象的采集信息确定第四视频流数据针对的目标对象。其中,采集信息例如可以包括地理信息、网络信息、时间信息等。例如,某视频流数据集的目标对象为在某地举办的演唱会,则可以根据时间信息和地理信息确定采集对象是否处在演唱会现场,若处在演唱会现场,则确定该第四视频流信息针对的目标对象与该视频流数据集的目标对象相同。即,可以通过时间信息和地理信息判断采集对象是否处于目标对象现场确定目标对象是否相符。类似地,地理信息可以替换成网络信息或者结合地理信息和网络信息,由于移动终端设备通常需要通过基站接入互联网,因此,接入的基站可以用于确定或核实地理信息。
本公开实施例还可以包括若视频流数据集中存在一个视频流数据不符合该视频流数据集的规则,可以将该视频流数据从该视频流数据集中删除,以避免对观看者观看目标对象造成干扰。例如,一个直播者从某个包括目标对象的现场离开时,采集的其他内容与目标对象无关,服务器可以将该视频流数据从视频流数据集中删除。
基于同一构思,本公开还提供了一种用于实时播放的装置,下面参照图4对本公开实施例的用于实时播放的装置进行说明。
图4示意性示出了根据本公开实施例的用于实时播放的装置400的框图。
如图4所示,该用于实时播放的装置400包括第一获得模块410、第二获得模块420、确定模块430以及输出模块440。该装置400可以执行上面参考图2~图3描述的各种方法。
第一获得模块410,例如执行上文参考图2所描述的操作s210,用于获得观看对象针对目标对象的播放请求。
第二获得模块420,例如执行上文参考图2所描述的操作s220,用于获得与所述播放请求相关的视频流数据集,所述视频流数据集包括多个视频流数据,所述多个视频流数据来源于多个采集所述目标对象实时视频的采集对象,所述观看对象不同于所述采集对象。
确定模块430,例如执行上文参考图2所描述的操作s230,用于在不同时间段,基于选择策略分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据。
输出模块440,例如执行上文参考图2所描述的操作s240,用于输出所述目标视频流数据。
根据本公开实施例,该确定模块430可以用于在第一时间段,基于选择策略从所述视频流数据集中确定第一视频流数据作为目标视频流数据,当前所述第一视频流数据的清晰度高于所述视频流数据集中的其他视频流数据,在第二时间段,基于选择策略从所述视频流数据集中确定第二视频流数据作为目标视频流数据,当前所述第二视频流数据的清晰度高于所述视频流数据集中的其他视频流数据,其中,所述第一视频流数据与所述第二视频流数据来源于相同或者不同的采集对象。
根据本公开实施例,该确定模块430可以用于在第一时间段,基于选择策略从所述视频流数据集中确定第一视频流数据作为目标视频流数据,在第二时间段,基于选择策略从所述视频流数据集中确定第二视频流数据作为目标视频流数据。其中,所述第一视频流数据与所述第二视频流数据来源于不同的采集对象,并且,相对于所述目标对象,所述第一视频流数据的内容与所述第二视频流数据的内容满足以下条件中的一种或多种:所述第一视频流数据的内容与所述第二视频流数据的内容具有时间和空间上的连续性;相对于所述目标对象,所述第二视频流数据的采集角度优于所述第一视频流数据的采集角度;所述第二视频流数据的清晰度高于第一视频流数据。
根据本公开实施例,该确定模块430可以用于获得所述观看对象的个性化信息,在不同时间段,基于所述个性化信息分别从所述视频流数据集中确定至少一个视频流数据作为目标视频流数据。
根据本公开实施例,该确定模块430还可以用于处理所述视频流数据集中的第一部分视频流数据,以确定所述目标对象的运动状态,基于所述目标对象的运动状态,确定所述视频流数据集中在第三时段内采集视角满足第一条件的第三视频流数据。该输出模块440还可以用于在所述第三时段内输出所述第三视频流数据。
根据本公开实施例,该装置400还可以包括构建模块,用于基于所述视频流数据集中的第二部分视频流数据,构建针对所述目标对象的三维模型,以便生成包含所述三维模型的多媒体信息,所述输出模块440用于输出包含所述三维模型的多媒体信息。
根据本公开实施例,该装置400还可以包括维护模块,用于获得第四视频流数据以及所述采集对象采集所述第四视频流数据的采集信息,在所述采集信息满足第二条件的情况下,将所述第四视频流数据加入所述视频流数据集。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获得模块410、第二获得模块420、确定模块430、输出模块440、构建模块以及维护模块中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获得模块410、第二获得模块420、确定模块430、输出模块440、构建模块以及维护模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获得模块410、第二获得模块420、确定模块430、输出模块440、构建模块以及维护模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图5示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括处理器510和计算机可读存储介质520。该计算机系统500可以执行根据本公开实施例的方法。
具体地,处理器510例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器510还可以包括用于缓存用途的板载存储器。处理器510可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质520,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;等等。
计算机可读存储介质520可以包括计算机程序521,该计算机程序521可以包括代码/计算机可执行指令,其在由处理器510执行时使得处理器510执行根据本公开实施例的方法或其任何变形。
计算机程序521可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序521中的代码可以包括一个或多个程序模块,例如包括521a、模块521b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器510执行时,使得处理器510可以执行根据本公开实施例的方法或其任何变形。
根据本公开实施例,第一获得模块410、第二获得模块420、确定模块430、输出模块440、构建模块以及维护模块中的至少一个可以实现为参考图5描述的计算机程序模块,其在被处理器510执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。