用户交互分析模块的制作方法

文档序号:12071848阅读:314来源:国知局
用户交互分析模块的制作方法与工艺

至少部分地使用二维(2D)或三维(3D)计算机图形技术来生成当今产生的许多视频内容,包括但不限于电影、电视和有线节目以及游戏。例如,可通过以下方式生成在线多人游戏和现代动画电影的视频内容:使用由各种图形应用实现的各种计算机图形技术生成场景的2D或3D表示或模型,并且随后应用渲染技术来渲染场景的2D表示。作为另一实例,一些视频内容中的场景可通过使用绿屏或蓝屏技术拍摄现场演员并且使用一种或多种计算机图形技术填充背景和/或添加其他内容或效果来生成。

使用计算机图形技术生成场景可例如涉及生成场景的背景、生成场景的一个或多个对象、将背景和对象组合成场景的表示或模型,以及应用渲染技术以渲染场景的模型的表示作为输出。可根据包括但不限于对象框架或形状(例如,线框)、表面纹理和色彩的对象模型生成场景中的每个对象。场景的渲染可包括对场景应用全局操作或效果,诸如照明、反射、阴影和诸如雨、火、烟、灰尘和雾的模拟效果,并且还可包括针对场景中的对象应用诸如动画技术的其他技术。渲染通常生成作为场景的2D视频帧的输出序列,并且视频帧序列可根据需要接合、合并和编辑,以生成最终视频输出,例如电影或游戏序列。

附图说明

图1是根据至少一些实施方案的其中可实现交互分析方法和交互分析模块的示例性实时视频探索(RVE)系统的高级图示。

图2是根据至少一些实施方案的用于分析用户与视频内容的交互并且至少部分地基于分析提供定向内容或信息的方法的高级流程图。

图3是根据至少一些实施方案的用于分析用户与视频内容的交互并且至少部分地基于分析渲染新视频内容并流式传输新视频内容的方法的高级流程图。

图4是根据至少一些实施方案的用于分析用户与视频内容的交互并且将分析数据与从一个或多个源获得的客户端信息相关的方法的高级流程图。

图5A是根据至少一些实施方案的用于根据用户与视频内容的交互的分析确定用户组与视频内容之间的相关性并且至少部分地基于组相关性数据将内容或信息定向到特定用户的方法的高级流程图。

图5B是根据至少一些实施方案的用于至少部分地根据对特定用户与视频内容的交互的分析来将内容或信息定向到组的方法的高级流程图。

图6是示出根据至少一些实施方案的其中分析用户与视频内容的交互以确定用户与内容之间的相关性的示例性实时视频探索(RVE)系统和环境的框图。

图7是以图形示出根据至少一些实施方案的示例性基于计算机的多玩家游戏环境中的多玩家游戏的框图,其中可分析用户与游戏视频内容的交互以确定用户或玩家与内容之间的相关性。

图8是根据至少一些实施方案的交互分析服务的高级图示。

图9是根据至少一些实施方案的实时视频探索(RVE)系统的高级图示。

图10是根据至少一些实施方案的用于在预先记录的视频的回放期间实时地探索建模世界的方法的流程图。

图11是根据至少一些实施方案的用于在探索正回放的视频的同时与对象交互并渲染被操纵对象的新视频内容的方法的流程图。

图12是根据至少一些实施方案的用于在探索正回放的视频的同时修改并订购对象的方法的流程图。

图13是根据至少一些实施方案的用于在预先记录的视频的回放期间渲染和存储新视频内容的方法的流程图。

图14示出根据至少一些实施方案的示例性基于网络的RVE环境。

图15示出根据至少一些实施方案的其中使用流式传输服务来将渲染的视频流式传输到客户端的示例性基于网络的环境。

图16是示出其中可实现如本文描述的实施方案的示例性提供商网络环境的图。

图17是示出可在一些实施方案中使用的示例性计算机系统的框图。

虽然在本文中通过对若干实施方案和示意性附图举例的方式描述了实施方案,但本领域的技术人员应认识到,实施方案不限于所述实施方案或附图。应理解,附图和对其的详细描述并非旨在将实施方案限于所公开的特定形式,而相反,其意图在于涵盖落入由所附权利要求书限定的精神和范围内的所有修改、等效物和替代方案。本文中使用的标题仅用于组织目的,并且并不意图用于限制本说明书或权利要求书的范围。贯穿本申请所使用的词语“可”是在许可的意义上(即意指具有可能性)、而非强制的意义上(即意指必须)使用。类似地,词语“包括(include、including和includes)”表示包括但不限于。

具体实施方式

描述了用于收集、分析和利用用户与视频内容的交互的方法和设备的各种实施方案。可通过以下方式产生视频内容包括但不限于电影、电视和有线节目以及游戏的视频内容:使用二维(2D)或三维(3D)计算机图形技术来生成场景的2D或3D建模世界并且渲染建模世界的2D表示作为输出。2D或3D生产技术可用于例如根据计算机图形技术产生完全渲染的动画视频内容,以及用于产生部分渲染的视频内容,所述部分渲染的视频内容涉及使用绿屏或蓝屏技术拍摄真人表演并且使用计算机图形技术填充背景和/或添加其他内容或效果。

2D或3D图形数据可用于根据计算机图形技术在视频的场景中生成和渲染内容。对于给定场景,图形数据可包括但不限于2D或3D对象模型数据,诸如对象框或形状(例如,线框)、框架的包装、表面纹理和图案、色彩、动画模型等,所述2D或3D对象模型数据用于生成场景的对象的模型;一般场景信息,诸如表面、消失点、纹理、色彩、光源等;用于诸如照明、反射、阴影和诸如雨、火、烟、灰尘和雾的模拟效果的场景中的全局操作或效果的信息;以及通常可用于生成场景的建模世界和渲染世界的2D表示(例如,视频帧)作为视频输出的任何信息或数据。在一些实施方案中,2D或3D图形数据可包括用于渲染表示特定类型的装置、特定产品、特定产品品牌等的对象的数据。

实时视频探索(RVE)系统可利用此2D或3D图形数据和基于网络的计算资源和服务来使得用户能够从正播放到相应客户端装置的视频内对2D或3D建模世界进行交互式探索。图9至图13示出RVE方法、系统和设备的示例性实施方案。响应于用户与视频内容的交互以及视频内容内的交互,RVE系统可生成、渲染新视频内容并且将新视频内容流式传输到客户端装置。RVE系统可例如允许用户进入视频中的场景中,以便通过RVE客户端接口在建模世界中探索、操纵和修改视频内容。通过基于网络的计算资源可用的计算能力可允许RVE系统向用户与在相应客户端装置上观看的建模世界的交互提供低延迟响应,从而向用户提供响应和交互式探索体验。图14示出其中利用基于网络的计算资源来提供可用于实现如本文所述的RVE系统的视频内容的实时、低延迟渲染并流式传输的示例性网络环境。图15示出根据至少一些实施方案的其中使用流式传输服务来将渲染的视频流式传输到客户端的示例性基于网络的环境。图16示出可在其中实现如本文所述的RVE系统的实施方案的示例性提供商网络环境。图17是示出可在一些实施方案中使用的示例性计算机系统的框图。

描述交互分析方法和模块的实施方案,其可收集关于用户与实时视频探索(RVE)系统内的视频内容的交互的信息,分析所收集的信息以确定用户与视频内容之间的相关性,并且至少部分地基于所确定的相关性提供定向到特定用户或用户组的内容或信息。图1是根据至少一些实施方案的其中可实现交互分析方法和交互分析模块140的示例性实时视频探索(RVE)系统100的高级图示。图2至图5示出根据各种实施方案的可在图1的RVE系统100内实现的示例性交互分析方法。

如图1所示,在一些实施方案中,RVE系统100可包括一个或多个视频处理模块102,所述视频处理模块102将视频112从一个或多个源110回放到一个或多个RVE客户端120,接收与从相应RVE客户端120探索的场景内的视频内容的用户输入/交互122,响应于用户输入/交互122探索场景内的视频内容响应地从一个或多个源110获得的图形数据114生成或更新2D或3D模型,至少部分地根据所生成的模型渲染场景的新视频内容,并且将新渲染的视频内容(和音频,如果存在的话)作为RVE视频124内容递送到相应RVE客户端120。因此,用户不仅可观看视频112中的预先渲染的场景,而且可从不同的角度进入和探索场景,在建模世界的范围内随意地在场景中漫游,发现场景的在原始视频112中不可见的隐藏的对象和/或部分,并且探索、操纵和修改建模世界内的视频内容(例如,渲染的对象)。

如图1所示,在一些实施方案中,RVE系统100可包括交互分析模块140,所述交互分析模块140可收集或以其他方式获得交互数据142(例如,关于与RVE系统100内的视频内容的用户交互122的信息),并且分析交互数据142以确定用户与视频内容之间的相关性。在一些实施方案中,RVE系统100和/或一个或多个外部系统130可至少部分地基于从交互分析模块140输出的分析数据144中指示的所确定相关性来提供定向到特定用户或用户组的内容或信息。

针对其获得或收集交互数据142的用户交互122可例如包括例如根据如图10至图13所示的方法探索、操纵和/或修改如本文所述的2D或3D建模世界内的视频内容的交互。用户交互122可包括但不限于浏览、探索和观看建模世界的不同部分的交互以及观看、探索、操纵和/或修改建模世界内的渲染的对象或其他视频内容的交互。

特定用户与可从RVE系统100收集或以其他方式获得的视频内容的交互122的交互数据142可包括但不限于,用户的身份信息,特定用户选择探索视频112内的什么场景,用户观看或浏览视频112中的场景的建模世界的什么部分,用户在建模世界内观看什么视频内容(渲染的对象等),用户操纵或修改什么视频内容(例如,渲染的对象),用户如何操纵或修改视频内容,以及时间戳或可例如用于确定用户花费多长时间在特定视频内容或在特定活动、位置或取向或其他时间信息。在一些实施方案中,交互数据142可包括关于用户交互的其他数据或元数据,例如与特定RVE客户端120和/或与用户相关联的客户端装置的身份、位置、网络地址和能力相关的元数据。

在一些实施方案中,为了向用户提供定向内容,交互分析模块140可分析交互数据142中的信息以生成可例如包括用户与视频内容之间的相关性的指示的分析数据144,并且可将分析数据144提供到一个或多个视频处理模块102,例如RVE系统100的图形处理模块。RVE系统100可例如使用分析数据144来至少部分地基于分析数据144渲染定向到用户或组的新视频内容。

如图1所示,在一些实施方案中,至少一些分析数据144可直接提供到视频处理模块102。这可允许视频处理模块102至少部分地基于用户与当前正流式传输到用户的RVE客户端120的视频内容的交互122的分析来动态地渲染针对用户的新视频内容。换句话说,当用户正探索场景的建模世界时,用户与建模世界中的视频内容的交互122可被分析并且可用于动态地修改、添加或适配根据对用户的交互122的实时或近实时分析为场景渲染的新视频内容。

如图1所示,在一些实施方案中,代替或者除了直接向视频处理模块102提供分析数据144之外,可将至少一些分析数据144可写入或存储到一个或多个数据源110。例如,在一些实施方案中,数据源110可存储诸如用户账户和配置文件信息的用户信息。在一些实施方案中,可针对或从RVE系统100的用户收集诸如偏好、观看历史、购物历史、性别、年龄、位置和其他人口统计和历史信息的信息。此信息可用于生成和维护用户配置文件,其可例如存储到RVE系统100可访问的数据源110。在一些实施方案中,从对用户与一个或多个视频112中的视频内容的交互122的分析生成的分析数据144可用于创建、更新或添加到用户的配置文件。在一些实施方案中,当开始或在视频112的重放期间,可根据用户的身份访问用户配置文件,并且在一些实施方案中,可使用所述用户配置文件动态且不同地选择和渲染一个或多个场景的根据其相应配置文件定向到特定用户或用户组的新视频内容。因此,在一些实施方案中,流式传输到RVE客户端120的视频112可由视频处理模块102修改以包括从图形数据114渲染的新视频内容,所述新视频内容至少部分地基于用户与一个或多个先前观看的视频112中的视频内容的交互122的分析选择用于特定用户并定向到特定用户。

在一些实施方案中,交互分析模块140可将至少一些分析数据144提供到一个或多个外部系统130,例如一个或多个在线商家或一个或多个在线游戏系统。诸如在线商家的外部系统130可使用分析数据144来例如至少部分地基于分析数据144中指示的相关性提供定向到特定用户或用户组的内容或信息。例如,在线商家可使用分析数据144来通过一个或多个通信通道(例如通过商家的网站的网页、电子邮件、打印、广播或社交媒体通道等)为定向到特定客户或潜在客户的产品或服务提供广告或推荐。作为另一实例,在线游戏系统可使用分析数据144来至少部分地基于从用户通过RVE系统100与视频内容的交互生成的分析数据144来提供定向到特定用户或玩家的游戏内容。

在一些实施方案中,交互分析模块140可从一个或多个源获得或访问客户端信息132。源可包括但不限于RVE系统100和/或诸如在线商家的一个或多个外部系统130。客户端信息132可例如包括客户端身份和/或配置文件信息。客户端身份信息可例如包括姓名、电话号码、电子邮件地址、账户标识符、街道地址、邮寄地址、社交媒体账户等中的一个或多个。客户端配置文件信息可例如包括偏好、历史信息(例如,购买历史、观看历史、购物历史、浏览历史等)以及各种人口统计信息(例如,性别、年龄、位置、职业等)。

在一些实施方案中,在交互分析模块140对交互数据142进行分析之前、期间或之后,客户端信息132可与交互数据142相关以便将特定用户与视频内容的交互122与特定用户的客户端信息132相关联。在一些实施方案中,客户端信息132与交互数据142的这种关联性可由提供到RVE系统和/或外部系统130的分析数据144指示或包括在所述分析数据144中。

在一些实施方案中,与交互数据142相关联的客户端信息132可由RVE系统100使用连同交互数据142一起用于选择和渲染定向到特定用户或组的新视频内容。在一些实施方案中,与交互数据142相关联的客户端信息132可由一个或多个外部系统130使用来选择定向内容或信息并且将所述内容或信息提供到用户或组。例如,客户端信息132可提供用户配置文件信息(例如,购买历史、人口统计等),所述用户配置文件信息可由一个或多个外部系统130(诸如在线商家)使用来至少部分地基于交互分析数据144确定或选择定向信息、推荐或针对客户或潜在客户打广告。以下提供了与交互数据142相关联的客户端信息132的应用的非限制性实例。

例如,对交互数据142的分析可确定特定视频内容于特定用户之间的相关性,并且与用户的交互数据142相关联的客户端信息132可用于确定可用于选择用户的定向内容或信息的用户的其他偏好。作为另一实例,与用户的交互数据142相关联的客户端信息132可用于确定用户先前购买的一个或多个产品,并且用户的此购买历史可用于选择和提供用户的定向内容或信息。

作为另一实例,如客户端信息132中指示的用户的购买历史可指示用户已经拥有分析数据144与用户相关的特定产品。因此,代替向用户广告产品,可向用户广告产品的附件或选项。

作为另一实例,与交互数据142相关联的客户端信息132可用于将用户分组为人口统计或购买组,并且基于交互数据142的分析的特定用户对特定内容的偏好可扩展到组并且用于向组提供内容或信息。作为另一实例,用户的人口统计或购买组对特定内容的偏好可根据对交互数据142的分析来确定,并且扩展到根据客户端信息132被确定为在组中的其他用户,并且用于向其他用户提供定向内容或信息。

在一些实施方案中,与分析数据144中的交互数据142相关联的客户端信息132可代替或者还提供用户身份和寻址信息(例如,姓名、电子邮件地址、账户标识符、街道地址、社交媒体身份等),所述用户身份和寻址信息可由一个或多个外部系统130(诸如在线商家)使用来至少部分地基于交互分析数据144来引导或寻址定向信息或向客户或潜在客户打广告。

虽然图1示出作为RVE系统100的部件的交互分析模块140,但在一些实施方案中,交互分析模块140可在RVE系统100的外部实现,例如作为如图8所示的交互分析服务800。

图2是根据至少一些实施方案的用于分析用户与视频内容的交互并且至少部分地基于分析提供定向内容或信息的方法的高级流程图。图2的方法可例如在实时视频探索(RVE)系统中实现,例如如图1或图6所示。

如图2的200所指示的,RVE系统可从一个或多个客户端装置接收指示用户与视频内容的交互的输入。用户交互可例如包括例如根据如图10至图13所示的方法在如本文所述的2D或3D建模世界内探索、操纵和/或修改视频内容的交互。如图2的202所指示的,RVE系统可至少部分地基于用户与视频内容的交互,例如根据如图10至图13所示的方法,渲染新视频内容并将其发送到客户端装置。

如图2的204所指示的,可分析用户与视频内容的交互以便确定特定用户和/或用户组与特定视频内容之间的相关性。在一些实施方案中,交互分析模块可从RVE系统收集或以其他方式获得描述用户交互的数据。在一些实施方案中,交互分析模块可以是RVE系统的部件。然而,在一些实施方案中,交互分析模块可在RVE系统外部实现,例如作为交互分析服务。

收集的交互数据可包括但不限于:用户的身份信息,指示视频中的特定场景以及用户观看或浏览的来自场景的建模世界的部分的信息,指示用户在建模世界内观看什么视频内容(渲染的对象等)的信息,用户在建模世界内观看的信息,指示用户操纵或修改什么视频内容(例如,渲染的对象)的信息,以及指示用户如何操纵或修改视频内容的信息。在一些实施方案中,交互数据可包括其他信息,诸如时间戳或可例如用于确定用户关于特定视频内容或特定活动、位置或取向花费多长时间的其他时间信息。

在一些实施方案中,对用户与视频内容的交互的分析可涉及根据交互数据确定用户或用户组可能感兴趣或似乎偏好或喜欢的特定内容或内容类型。可通过用户交互的分析与用户或组相关的内容或内容类型可包括可在视频中渲染并且由用户使用如本文所述的RVE系统探索的任何内容或内容类型。例如,内容或内容类型可包括但不限于以下各项中的一种或多种:产品和装置的类型(例如,车辆、衣服、电器、智能电话、平板装置、计算机等);各种产品或装置的特定品牌、制造商、型号等;地方(例如城市、度假村、餐厅、景点、体育场馆、花园等);人物(例如,虚拟角色、演员、历史人物、体育人物、艺术家、音乐家等);活动(例如,骑自行车、赛车、烹饪、外出就餐、钓鱼、棒球等);运动队;艺术、文学、音乐的流派、类型或特定作品等;以及动物或宠物类型(一般的野生动物、鸟、马、猫、狗、爬行动物等)。注意,这些都是以实例的方式给出,并非意在进行限制。

以下提供了分析用户与各种视频内容的交互以确定用户或组与特定内容或内容类型之间的相关性的若干实例。注意,这些实例并非意在是限制性的。

作为实例,可分析交互数据以确定特定用户对特定对象或对象类型进行观看、选择、探索、操纵和/或修改,并且可为用户生成指示用户似乎对所述对象或对象类型感兴趣的分析数据。例如,对象可以是汽车的特定品牌和型号,并且用户与所述汽车的交互可指示用户似乎对所述品牌和型号感兴趣。作为另一个实例,用户与一个或多个视频中的一个或多个场景中的视频内容的交互可指示对对象类型的一般兴趣,所述对象类型诸如一般汽车、或由特定制造商制造的汽车、或诸如SUV或跑车的特定类型的汽车,或诸如1960年代的肌肉车的特定时代的汽车。这些各种兴趣可记录在用户的分析数据中。

作为另一实例,可分析交互数据以确定特定用户似乎对动画或真人秀或系列中的特定角色或者在不同的视频中以不同角色出现的特定现实生活男演员或女演员表现出兴趣。例如,用户可暂停视频以观看或获得关于特定虚拟角色的信息,或者操纵、修改或定制特定虚拟角色。此兴趣可记录在用户的分析数据中。

作为另一实例,可分析交互数据以确定特定用户似乎对特定位置或目的地感兴趣。例如,用户可暂停电影以探索出现在电影中的特定酒店、度假村或景点的3D建模世界。此兴趣可记录在用户的分析数据中。

在一些实施方案中,可通过RVE系统中的用户交互探索的视频内容可包括音频内容(例如,歌曲,声音效果,声音轨迹等)。在一些实施方案中,可分析交互数据以确定特定用户似乎对特定音频内容表现出兴趣。例如,用户可与视频交互以调查由特定艺术家或乐队记录的或者具有特定流派的音轨。这些音频兴趣可记录在用户的分析数据中。

在一些实施方案中,可分析交互数据以确定用户分组似乎感兴趣的特定内容或内容类型。例如,可根据用户配置文件信息确定用户组,所述用户配置文件信息包括但不限于由RVE系统维护和/或从一个或多个其他外部源获得的各种用户信息(例如,人口统计信息和/或诸如购买历史的历史信息)。例如,对交互数据的分析可确定出现在视频中的特定对象(诸如汽车的特定品牌和型号,或特定品牌或服装或附件)可能倾向于被特定地理区域和/或具有特定年龄和性别配置文件的用户(例如,21-35岁年龄组中的美国东北部的女性)观看、选择、探索、操纵和/或修改。由交互分析模块生成的分析数据可包括指示这些组兴趣类型的信息。

如图2的206所指示的,可至少部分地基于用户或用户组与视频内容之间的所确定相关性向特定用户或组提供定向内容或信息。在一些实施方案中,交互分析模块可向一个或多个系统提供至少一些分析数据。可向其提供分析数据的系统可包括但不限于RVE系统和/或诸如在线商家系统和在线游戏系统的外部系统。一个或多个系统可至少部分地基于如分析数据中指示的所确定相关性来提供定向到用户或用户组的内容或信息。

例如,从用户与当前正流式传输到一个或多个用户的视频的交互生成的分析数据可提供到RVE系统并且由RVE系统使用,以便动态地确定将定向到特定用户或组的视频内容并且将定向视频内容注入到当前正流式传输给用户的视频中。作为另一实例,从用户与视频的交互生成的分析数据可用于创建或添加到RVE系统的用户配置文件;用户的配置文件可由RVE系统访问并且在由RVE系统流式传输给用户时用于定制或针对视频内容。

作为另一实例,从用户与视频的交互生成的分析数据可提供到一个或多个外部系统,诸如在线商家或游戏系统。诸如在线商家的外部系统可例如使用分析数据来至少部分地基于分析数据中指示的相关性提供定向到特定用户或用户组的内容或信息。例如,在线商家可使用分析数据来通过一个或多个通信通道(例如通过商家的网站的网页、电子邮件或社交媒体通道)为定向到特定客户或潜在客户的特定服务、产品或产品类型提供广告或推荐。作为另一实例,在线游戏系统可使用分析数据来至少部分地基于从用户通过RVE系统与视频内容的交互生成的分析数据来提供定向到特定玩家的游戏内容。

图3是根据至少一些实施方案的用于分析用户与视频内容的交互并且至少部分地基于分析渲染新视频内容并流式传输新视频内容的方法的高级流程图。图3的方法可例如在实时视频探索(RVE)系统中实现,例如如图1或图6所示。

如图3的300所指示的,RVE系统可从一个或多个客户端装置接收指示用户与流式传输到客户端装置的视频的交互的输入。用户交互可例如包括例如根据如图10至图13所示的方法在如本文所述的2D或3D建模世界内探索、操纵和/或修改视频内容的交互。

如图3的302所指示的,交互分析模块可分析用户与流式传输的视频的交互以便确定特定用户或组与流式传输的视频的特定内容之间的相关性。在一些实施方案中,交互分析模块可从RVE系统收集或以其他方式获得描述各种用户与流式传输的视频内容的交互的数据并且分析收集的交互数据,例如参考图2的元素204所描述的。

如图3的304所指示的,RVE系统可至少部分地基于如分析数据中指示的用户或组与视频内容之间的所确定相关性来渲染定向到一个或多个用户的视频内容。交互分析模块可向RVE系统提供交互分析数据。例如,在一些实施方案中,交互分析模块可将至少一些分析数据直接提供到RVE系统的一个或多个视频处理模块。在一些实施方案中,代替或除了向RVE系统的视频处理模块提供分析数据之外,交互分析数据可用于更新RVE系统的用户配置文件,并且RVE系统的视频处理模块可访问用户配置文件以获得针对相应用户的更新交互分析数据。

在向一个或多个用户回放视频(例如,电影)之前或期间,RVE系统的视频处理模块可使用由交互分析模块提供的交互分析数据中指示的相关性来确定和获得特定用户或用户组的定向视频内容;定向视频内容可例如用于根据交互分析数据中指示的相关性动态且不同地渲染定向到特定用户或用户组的一个或多个场景中的一个或多个对象或其他视频内容。作为非限制性实例,如果特定用户或用户组的交互分析数据指示用户或组偏好汽车的特定品牌和型号,则可获得、渲染特定汽车的2D或3D模型并将其插入到视频中以便流式传输到用户或组。

如图3的306所指示的,RVE系统可将包括定向视频内容的视频流式传输到与定向用户相关联的一个或多个客户端装置。因此,至少部分地基于用户与先前流式传输的视频内容的交互,可向相同视频内容(例如,电影)的不同用户显示具有注入到场景中的不同渲染的定向对象的相同场景。

在至少一些实施方案中,RVE系统可利用基于网络的计算资源和服务,以便至少部分地根据交互分析数据中指示的相关性来实时地动态地渲染不同用户的新视频内容,并且将新渲染的视频内容作为视频流递送到相应的客户端装置。通过基于网络的计算资源可用的计算能力可允许RVE系统动态地渲染视频的任何给定场景,所述视频流式传输到用户或组以便至少部分地基于如交互分析数据中指示的用户和组与特定视频内容之间的相关性以许多不同的方式修改和观看。作为非限制性实例,可至少部分地基于对用户与视频内容的先前交互的分析向一个用户显示在正回放的预先记录的视频的场景中动态渲染的具有特定品牌、型号、色彩和/或选项包的汽车,而在另一用户观看同一场景时可向其显示具有不同品牌、型号、色彩或选项包的汽车。作为另一非限制性实例,可至少部分地基于对用户与视频内容的先前交互的分析向一个用户或组显示场景中的特定品牌或类型的个人计算装置、饮料或其他产品,而可向另一个用户或组显示不同的品牌或类型的装置或饮料。在一些实施方案中,还可至少部分地基于对用户与视频内容的先前交互的分析来动态地渲染除对象之外的其他视频内容。例如,至少部分地基于用户与视频内容的交互历史,可针对不同用户或组不同地渲染或生成场景中的背景、色彩、照明、全局或模拟效果或甚至音频。

图4是根据至少一些实施方案的用于分析用户与视频内容的交互并且将分析数据与从一个或多个源获得的客户端信息相关的方法的高级流程图。图4的方法可例如在实时视频探索(RVE)系统中实现,例如如图1或图6所示。

如图4的400所指示的,可收集用户与视频内容的交互并分析它以确定特定用户与特定视频内容之间的相关性。在一些实施方案中,交互分析模块可从RVE系统收集或以其他方式获得描述各种用户与流式传输的视频内容的交互的数据并且分析收集的交互数据,例如参考图2的元素204所描述的。

如图4的402所指示的,可从一个或多个源获得客户端信息。源可包括但不限于RVE系统和/或诸如在线商家的一个或多个外部系统。客户端信息可例如包括客户端身份和/或配置文件信息。客户端身份信息可例如包括姓名、电话号码、电子邮件地址、账户标识符、街道地址、邮寄地址、社交媒体账户等中的一个或多个。客户端配置文件信息可例如包括偏好、历史信息(例如,购买历史、观看历史、购物历史、浏览历史等)以及各种人口统计信息(例如,性别、年龄、位置、职业等)。

如图4的404所指示的,客户端信息可与交互分析数据相关。在一些实施方案中,在交互分析模块对交互数据进行分析之前、期间或之后,客户端信息可与交互数据相关以便将特定用户与视频内容的交互与特定用户的客户端信息相关联。在一些实施方案中,客户端信息与交互数据的这种关联性可由提供到RVE系统和/或一个或多个外部系统的分析数据指示或包括在所述分析数据中。

如图4的406所指示的,可将相关分析数据提供到一个或多个系统。可向其提供分析数据的系统可包括但不限于RVE系统和/或诸如在线商家和在线游戏系统的外部系统。系统可至少部分地基于相关分析数据来提供定向到用户或用户组的内容或信息。例如,在一些实施方案中,与交互数据相关联的客户端信息可由RVE系统使用连同交互数据一起用于选择和渲染针对定向到用户或组的新视频内容。在一些实施方案中,与交互数据相关联的客户端信息可由一个或多个外部系统使用来选择定向内容或信息并且将所述内容或信息提供到用户或组。例如,客户端信息可提供用户配置文件信息(例如,购买历史、人口统计等)以及用户身份和寻址信息,所述用户配置文件信息可由一个或多个外部系统使用来至少部分地基于交互分析数据确定或选择针对客户或潜在客户的产品或服务的定向信息、推荐或广告,所述用户身份和寻址信息可用于引导或寻址定向信息或向客户或潜在客户为产品或服务打广告。

图5A是根据至少一些实施方案的用于根据用户与视频内容的交互的分析确定用户组与视频内容之间的相关性并且至少部分地基于组相关性数据将内容或信息定向到特定用户的方法的高级流程图。图5A的方法可例如在实时视频探索(RVE)系统中实现,例如如图1或图6所示。

如图5A的500所指示的,可收集用户与视频内容的交互并分析它以确定特定用户与视频内容之间的相关性。在一些实施方案中,交互分析模块可从RVE系统收集或以其他方式获得描述各种用户与流式传输的视频内容的交互的数据并且分析收集的交互数据,例如参考图2的元素204所描述的。

如图5A的502所指示的,可根据交互分析数据确定用户组。例如,在一些实施方案中,可进一步分析交互分析数据,以便确定根据其与视频内容(例如特定场景或特定对象或场景内的角色)的交互对特定视频内容显示某种程度的兴趣的用户分组。在一些实施方案中,可例如根据从一个或多个源获得的客户端信息和/或用户配置文件进一步细化用户分组,以便基于购买历史、人口统计、偏好等确定细化分组。作为另一实例,可首先基于购买历史、人口统计、偏好等形成用户的分组,并且随后根据如通过对用户与视频内容的交互的分析确定的组中的用户与特定视频内容之间的相关性进行细化。在一些实施方案中,组配置文件可由各自包括定义相应用户组的信息的RVE系统或另一系统维护。

如图5A的504所指示的,可至少部分地基于所确定用户分组将内容或信息定向到特定用户。例如,如图1所示的RVE系统可将用户的配置文件(购买历史、人口统计、偏好等)与一个或多个组配置文件进行比较,以便确定用户可能适合(或不适合)的一个或多个分组,并且可至少部分地基于所确定的分组来选择、渲染定向视频内容并且将其插入到正流式传输给用户的视频中。

图5B是根据至少一些实施方案的用于至少部分地根据对特定用户与视频内容的交互的分析来将内容或信息定向到组的方法的高级流程图。图5B的方法可例如在实时视频探索(RVE)系统中实现,例如如图1或图6所示。

如图5B的550所指示的,可收集用户与视频内容的交互并分析它以确定特定用户与视频内容之间的相关性。在一些实施方案中,交互分析模块可从RVE系统收集或以其他方式获得描述各种用户与流式传输的视频内容的交互的数据,并且分析所收集的交互数据(例如如参考图2的元素204所描述的)以便基于特定用户的交互生成交互分析数据。

如图5B的552所指示的,可针对交互分析数据确定一个或多个目标用户组。例如,在一些实施方案中,目标组可以是游戏的一个或多个其他玩家或正与特定用户交互的视频的观看者。作为另一实例,在一些实施方案中,组配置文件可由各自包括定义相应用户分组的信息的RVE系统或另一系统维护,并且特定用户是其成员的一个或多个组可被确定为目标组。作为另一实例,可针对多个用户收集和分析交互分析数据,以便确定可共享与特定用户的兴趣类似的兴趣的用户的分组。在一些实施方案中,可根据从一个或多个源获得的客户端信息和/或用户配置文件确定可共享与特定用户的兴趣或特性类似的兴趣或特性的用户分组。客户端信息可例如包括购买历史、人口统计、偏好等。注意,组可包括一个、两个或更多个用户。

如图5B的554所指示的,可至少部分地基于特定用户的交互生成的交互分析数据将内容或信息定向到所确定用户组。例如,如图1所示的RVE系统可至少部分地基于如交互分析数据中指示的特定用户对特定视频内容的兴趣选择、渲染定向视频内容并且将所述定向视频内容插入到正流式传输到组中的一个或多个用户的视频中。作为另一实例,如图1所示的外部系统130可提供定向到用户组的关于如交互分析数据中指示的特定用户对特定视频内容的兴趣的内容或信息。

图6是示出根据至少一些实施方案的其中分析用户与视频内容的交互以确定用户与内容之间的相关性的实时视频探索(RVE)环境中的示例性RVE系统600的框图。在RVE系统600的一些实施方案中,用户690可例如根据如图10至图13中示出的方法探索、操纵和/或修改在预先记录的视频652的回放期间实时渲染的2D或3D建模世界中的视频内容。在RVE系统600的一些实施方案中,根据包括但不限于用户配置文件信息的用户信息,正回放到客户端装置680的视频652可用专门定向到与相应客户端装置680相关联的用户690的动态渲染的视频692内容替换。图14示出其中可利用基于网络的计算资源来提供可用于实现RVE系统600的视频内容的实时、低延迟渲染并流式传输的示例性网络环境。图16示出可在其中实现RVE系统600的实施方案的示例性提供商网络环境。图17是示出可在RVE系统600中的实施方案中使用的示例性计算机系统的框图。

在至少一些实施方案中,如图6所示的RVE环境可包括RVE系统600和一个或多个客户端装置680。RVE系统600可访问被示为视频源650的预先渲染的、预先记录的视频的一个或多个存储区或其他源。视频可包括但不限于电影、短片、漫画、商业广告以及电视和有线节目中的一个或多个。可从视频源650获得的视频可例如包括完全渲染的动画视频内容以及部分渲染的视频内容,所述部分渲染的视频内容涉及使用绿屏或蓝屏技术拍摄真人表演并且使用一种或多种计算机图形技术添加背景和/或其他内容或效果。

在一些实施方案中,除了视频帧序列之外,视频可包括其他数据,诸如音轨、视频元数据和帧分量。例如,在一些实施方案中,每个视频帧可具有或可对应于包括关于帧的信息的帧标签。视频元数据可包括但不限于帧的时间戳和场景信息。场景信息可包括关于场景中的对象和其他视频内容的信息,其可例如用于确定可用图形数据662动态替换的场景中的视频内容。在一些实施方案中,数字视频帧可由多个层组成,例如对应于场景中的对象或其他内容的一个或多个α掩模层,其被合成在一起以产生帧。在一些实施方案中,这些层可用于将图形数据662插入场景中。例如,可识别对应于场景中的特定对象的α掩膜,并且使用所述掩膜来用至少部分地根据从数据源660检索的图形数据662渲染的不同对象来替换场景中的默认或预先渲染的对象。

在一些实施方案中,RVE系统600可访问一个或多个存储区或示为数据源660的其他数据和信息源,所述数据和信息包括但不限于2D和3D图形数据。在一些实施方案中,数据源660可包括用于生成和渲染可从视频源650获得的至少一些预先记录的视频的场景的图形数据(例如,对象的2D和/或3D模型)。在一些实施方案中,数据源660还可包括其他图形数据,例如来自一个或多个外部系统630的图形数据、用户生成的图形数据、来自游戏或其他应用的图形数据等。数据源660还可存储或以其他方式提供包括但不限于关于用户690的数据和信息的其他数据和信息。

在一些实施方案中,RVE系统600可维护和/或访问用户信息670的存储区或其他源。用户信息670的非限制性实例可包括RVE系统600和/或外部系统630注册或账户信息、客户端装置680信息、名称、账号、联系信息、账单信息以及安全信息。在一些实施方案中,用户配置文件信息(例如,偏好、观看历史、购物历史、性别、年龄、位置以及其他人口统计和历史信息)可针对或从RVE系统600的用户收集,或者可从包括但不限于外部系统630的其他信息源或提供商访问。此用户配置文件信息可用于生成和维护相应用户690的用户配置文件;用户配置文件可被存储为用户信息670或存储在用户信息670中。当开始重放来自视频源650的视频652时或者在其重放期间,可例如根据用户690的身份从用户信息670源访问用户配置文件,并且可使用所述用户配置文件来使用从数据源660获得的图形数据662来动态且不同地渲染一个或多个场景中的一个或多个对象或其他视频内容,使得场景根据其相应用户配置文件定向到特定用户690。

在一些实施方案中,RVE系统600可包括RVE系统接口602、RVE控制模块604以及图形处理和渲染608模块。在一些实施方案中,图形处理和渲染可被实现为两个或更多个单独部件或模块。在一些实施方案中,RVE系统接口602可包括用于从客户端装置680上的RVE客户端682接收输入并且向其发送或流式传输输出的一个或多个应用编程接口(API)。在一些实施方案中,响应于观看者690选择视频652用于回放,图形处理和渲染608模块可从视频源650获得预先渲染的预先记录的视频652,根据需要处理视频652以生成输出视频692,并且通过RVE系统接口602将视频694流式传输到相应的客户端装置680。或者,在一些实施方案中,RVE系统600可例如根据节目安排来开始回放预先记录的视频654,并且一个或多个用户690可选择通过相应客户端装置680观看视频654的回放。

在一些实施方案中,针对给定用户690,图形处理和渲染608模块可例如根据用户的配置文件信息从一个或多个数据源660获得图形数据662,生成用户690根据图形数据662通过客户端装置680观看的视频652中的一个或多个场景的建模世界,渲染建模世界的2D表示以生成输出视频692,并且通过RVE系统接口602将实时渲染的视频作为视频流694发送到相应的客户端装置680。

在一些实施方案中,在其中用户690通过客户端装置680上的RVE客户端682的输入与视频696交互以探索、操纵和/或修改视频内容的RVE系统600事件期间,图形处理和渲染608模块可根据交互684从一个或多个数据源660获得图形数据662,至少部分地根据图形数据662和用户交互684生成场景的建模世界,渲染3D建模世界的2D表示以生成输出视频692,并且通过RVE系统接口602将实时渲染的视频作为视频流694流式传输到相应的客户端装置680。

在一些实施方案中,RVE系统600可包括RVE控制模块604,所述RVE控制模块604可通过RVE系统接口602从相应客户端装置680上的RVE客户端682接收输入和交互684,处理输入684,并且相应地引导图形处理和渲染608模块的操作。在至少一些实施方案中,可根据由RVE系统接口602提供的API接收输入和交互684。在至少一些实施方案中,RVE控制模块604还可从用户信息670源检索用户配置文件、偏好和/或其他用户信息,并且至少部分地根据用户的相应配置文件和/或偏好引导图形处理和渲染608模块选择图形数据662并渲染用户690的定向视频692内容。

在一些实施方案中,RVE系统600可通过至少一个交互分析模块640实现交互分析方法,以便例如收集关于用户与RVE系统600内的视频内容的交互684的数据642,分析收集的数据642以确定用户690与视频内容之间的相关性,并且至少部分地基于所确定相关性提供定向到特定用户或用户组的内容或信息。RVE系统600可例如实现如图2至图5所示的交互式分析方法中的一个或多个的实施方案。针对其获得或收集交互数据642的用户交互684可例如包括例如根据如图10至图13所示的方法在如本文所述的2D或3D建模世界内探索、操纵和/或修改视频内容的交互。用户交互684可包括但不限于浏览、探索和观看建模世界的不同部分的交互以及观看、探索、操纵和/或修改建模世界内的渲染的对象或其他视频内容的交互。

在一些实施方案中,交互分析模块640可从RVE控制模块604获得交互数据642,如图6所示。虽然在图6中未示出,但在一些实施方案中,交互分析模块640可替代地或另外地直接从RVE系统接口602获得交互数据642。在一些实施方案中,交互数据642可包括但不限于:用户690的身份信息,指示视频652中的特定场景以及用户观看或浏览的来自场景的建模世界的部分的信息,指示用户690在建模世界内观看什么视频内容(渲染的对象等)的信息,用户690在建模世界内观看的信息,指示用户690操纵或修改什么视频内容(例如,渲染的对象)的信息,以及指示用户如何操纵或修改视频内容的信息。在一些实施方案中,交互数据652可包括其他信息,诸如时间戳或可例如用于确定用户690关于特定视频内容或特定活动、位置或取向花费多长时间的其他时间信息。在一些实施方案中,交互数据642可包括关于用户交互的其他数据或元数据,例如与特定RVE客户端682和/或与用户690相关联的客户端装置680的身份、位置、网络地址和能力相关的元数据。

在一些实施方案中,为了向用户690提供定向内容,交互分析模块640可分析交互数据642中的信息以生成可例如包括用户690与视频内容之间的相关性的指示的分析数据644,并且可将分析数据644提供到RVE系统600的图形处理和渲染608模块。图形处理和渲染608模块可使用分析数据644来至少部分地基于分析数据644至少部分地根据定向到用户690或组的图形数据662渲染新视频内容692。

如图6所示,在一些实施方案中,至少一些分析数据644可通过RVE控制模块604直接提供到图形处理和渲染608模块。这可允许图形处理和渲染608模块至少部分地基于用户690与当前正流式传输到用户的RVE客户端682的视频内容的交互684的分析来动态地渲染针对用户的新视频内容。换句话说,当用户690正探索场景的建模世界时,用户与建模世界中的视频内容的交互684可被分析并且可用于动态地修改、添加或适配根据对用户的交互684的实时或近实时分析为场景渲染的新视频内容。

如图6所示,在一些实施方案中,代替或者除了通过RVE控制模块604直接向图形处理和渲染608模块直接提供分析数据644之外,在一些实施方案中,从分析用户与视频内容的交互684生成的分析数据644可用于创建、更新或添加到维护为用户信息670或维护在用户信息670中的用户配置文件。当开始重放来自视频源650的视频652时或者在其重放期间,可例如根据用户690的身份从用户信息670源访问672用户配置文件,并且可使用所述用户配置文件来使用从数据源660获得的图形数据662来动态且不同地渲染一个或多个场景中的一个或多个对象或其他视频内容,使得场景根据其相应用户配置文件定向到特定用户690。因此,流式传输到RVE客户端682的视频652可由RVE系统600修改以生成视频692,所述视频692包括从图形数据662渲染的定向视频内容,所述定向视频内容至少部分地基于用户与来自先前观看的视频652的视频内容的交互684的分析选择用于特定用户并定向到特定用户。

在一些实施方案中,交互分析模块640可向一个或多个外部系统630,例如一个或多个在线商家或在线游戏系统提供至少一些分析数据644。诸如在线商家的外部系统630可使用分析数据644来例如至少部分地基于分析数据644中指示的相关性提供定向到特定用户690或用户组的信息634。例如,在线商家可使用分析数据644来通过一个或多个通道(例如通过商家的网站的网页、电子邮件或社交媒体通道等)为定向到特定客户或潜在客户的产品或服务提供广告或推荐。作为另一实例,在一些实施方案中,外部系统630可使用分析数据644来确定或创建定向图形数据662,并且可将定向图形数据662(例如,特定产品的2D或3D模型)提供到数据源660以用于包括在定向到特定用户690或用户690组的视频692中。作为另一实例,在线游戏系统可使用分析数据644来至少部分地基于从用户通过RVE系统600与视频内容的交互生成的分析数据644来提供定向到特定用户或玩家或玩家组的游戏内容。

在一些实施方案中,交互分析模块640可从诸如在线商家的一个或多个外部系统630获得或访问客户端信息632。客户端信息632可例如包括客户端身份和/或配置文件信息。客户端身份信息可例如包括姓名、电话号码、电子邮件地址、账户标识符、街道地址、邮寄地址等中的一个或多个。客户端配置文件信息可例如包括偏好、历史信息(例如,购买历史、观看历史、购物历史、浏览历史等)以及各种人口统计信息(例如,性别、年龄、位置、职业等)。

在一些实施方案中,在交互分析模块640对交互数据642进行分析之前、期间或之后,客户端信息632可与交互数据642相关以便将特定用户与视频内容的交互684与特定用户的客户端信息632相关联。在一些实施方案中,客户端信息632与交互数据642的这种关联性可指示或包括在分析数据644中。在一些实施方案中,与分析数据644中的交互数据642相关联的客户端信息632可由RVE系统600使用,例如以至少部分地基于由客户端信息632指示的用户配置文件信息(例如,购买历史、人口统计等)选择和渲染定向到用户690或组的新视频内容。在一些实施方案中,与分析数据644中的交互数据642相关联的客户端信息632可提供用户配置文件信息(例如,购买历史、人口统计等),所述用户配置文件信息可由一个或多个外部系统630诸如在线商家使用来至少部分地基于交互分析数据644来引导定向信息或向客户或潜在客户为产品或服务打广告634。在一些实施方案中,与分析数据644中的交互数据642相关联的客户端信息632可代替或者还提供用户身份信息(例如,电子邮件地址、账户标识符、街道地址等),所述用户身份信息可由一个或多个外部系统630诸如在线商家使用来至少部分地基于交互分析数据644来引导定向信息或向客户或潜在客户为产品或服务打广告。

在至少一些实施方案中,RVE系统600可由实现至少模块或部件602、604、608和640的一个或多个计算装置(例如一个或多个服务器装置或主机装置)实现,并且还可包括一个或多个其他装置,包括但不限于例如存储可由RVE系统600使用的预先记录的视频、图形数据和/或其他数据和信息的存储装置。图17示出可在RVE系统600的一些实施方案中使用的示例性计算机系统。在至少一些实施方案中,计算装置和存储装置可被实现为基于网络的计算和存储资源,例如如图14所示。

然而,在一些实施方案中,RVE系统600的功能和部件可至少部分地在客户端装置680中的一个或多个上实现。例如,在一些实施方案中,至少一些客户端装置680可包括渲染部件或模块,其可执行流式传输到来自RVE系统600的客户端装置680的视频数据694的至少一些渲染。此外,在一些实施方案中,代替根据客户端服务器模型或其变型实现的RVE系统,其中诸如服务器的一个或多个装置托管RVE系统的大多数或全部功能,RVE系统可根据分布式或对等架构实现。例如,在对等架构中,如图6所示的RVE系统600的功能和部件中的至少一些可分布在一个、两个或更多个装置680中,所述装置680共同参与对等关系以实现和执行如本文所述的实时视频定向方法。

虽然图6示出与RVE系统600交互的两个客户端装置680和客户端690,但在至少一些实施方案中,RVE系统600可支持任意数量的客户端装置680。例如,在至少一些实施方案中,RVE系统600可以是基于网络的视频回放系统,其利用基于网络的计算和存储资源来支持数十、数百、数千或甚至更多的客户端装置680,其中许多视频由不同的观看者690通过不同的客户端装置680同时播放。在至少一些实施方案中,RVE系统600可根据例如如图14和图16所示的服务提供商的提供商网络技术和环境来实现,所述提供商网络技术和环境可实现可利用来动态且灵活地提供基于网络的计算和/或存储资源以支持用户基础的需求的波动的一种或多种服务。在至少一些实施方案中,为了支持增加的需求,可分配、配置、“旋转”并接线用于实现RVE系统600的一个或多个模块的另外实例(例如,图形处理和渲染模块608、RVE控制604模块、交互分析模块640等)的另外计算和/或存储资源或者未示出的其他部件(例如,负载平衡器、路由器等)。当需求减少时,不再需要的资源可“削减”并解除分配。因此,例如如图14和图16所示的在服务提供商的提供商网络环境上实现RVE系统600的实体可能仅需要支付所需要的资源的使用并且仅在需要它们时支付。

在至少一些实施方案中,RVE客户端系统可包括实现RVE客户端682的客户端装置680。RVE客户端682可实现RVE客户端接口(未示出),RVE客户端682可通过所述RVE客户端接口与RVE系统600的RVE系统接口602通信,例如根据由RVE系统接口602提供的一个或多个API。RVE客户端682可通过RVE客户端接口684接收从RVE系统600输入的视频流694,并且将视频696发送到客户端装置680的显示部件以显示以供观看。RVE客户端682还可从观看者690接收输入,例如与视频696的一个或多个场景中的内容交互的输入,以便探索、操纵和/或修改视频内容,并且通过RVE客户端接口将至少一些输入传送到RVE系统600。

客户端装置680可以是可根据装置上的RVE客户端682实现接收、处理和显示视频输入的各种装置(或装置的组合)中的任一个。客户端装置680可包括但不限于输入和输出部件和软件,观看者690可通过所述部件和软件与RVE系统600对接以使用如本文所述的各种RVE系统600方法实时回放和探索视频。客户端装置680可实现与装置680兼容的操作系统(OS)平台。可定制特定客户端装置680上的RVE客户端682和RVE客户端接口以支持特定装置680和装置680的OS平台的配置和能力。客户端装置680的实例可包括但不限于:联接到视频监视器或电视机的机顶盒,电缆盒,台式计算机系统,膝上型/笔记本计算机系统,平板机/平板装置,智能电话装置,游戏控制台以及手持或可佩戴视频观看装置。可佩戴装置可包括但不限于可佩戴在手腕、手臂或其他地方的眼镜或护目镜和“手表”等。

除了接收和显示视频696的能力之外,客户端装置680可包括可实现RVE控制(未示出)的一个或多个集成或外部控制装置和/或接口。可使用的控制装置的实例包括但不限于,诸如键盘和鼠标的常规光标控制装置,具有触摸功能的显示屏或触摸板,游戏控制器,远程控制单元或“遥控器”(诸如通常伴随消费者装置的那些),以及可被编程为与不同的消费者装置一起操作的“通用”遥控装置。另外,一些实现可包括语音激活的接口和控制技术。

注意,在图1至图6以及本文档中的其他地方,术语“用户”、“观看者”或“消费者”通常用于指通过客户端装置680参与RVE系统600环境以回放、探索、操纵和/或修改如本文所述的视频内容的实际人,而术语“客户端”(如在“客户端装置”和“RVE客户端”中)通常用于指通过其用户或观看者与RVE系统600交互以回放、探索、操纵和/或修改如本文所述的视频内容的硬件和/软件接口。

作为如图6所示的RVE系统600的操作的非限制性实例,例如响应于从客户端装置680接收的输入或根据节目安排,RVE控制模块604可引导图形处理和渲染608模块来开始将视频652或其一部分从视频源650回放到一个或多个客户端装置680。在将视频652回放到客户端装置680期间,RVE控制模块604可确定用户690(例如,用户690A和690B)的身份,根据他们的身份从观看者信息670访问用户的配置文件和偏好,并且至少部分地根据从用户信息670访问的用户的配置文件和/或偏好引导图形处理和渲染608模块以便渲染一个或多个场景中的特定内容(例如,特定对象)以便定向到特定用户690(例如,用户690A和690B)。作为响应,图形处理和渲染608模块可从数据源660获得图形数据662,并且使用图形数据662来渲染分别定向到观看者690A和690B的视频692A和692B。RVE系统接口602可将渲染的视频692A和692B作为视频流694A和694B流式传输到相应的客户端装置680A和680B。

在一些实施方案中,可在用户组(例如家庭或室友)的用户信息670中维护偏好和/或配置文件,并且RVE控制模块604可引导图形处理和渲染608模块获得定向到特定组的图形数据662以便根据组的偏好和/或配置文件生成并渲染定向到特定组的视频692。

注意,虽然图6示出两个客户端装置680和两个观看者690,但RVE系统600可用于同时生成并且向几十、几百、几千或更多个客户端装置680和观看者690渲染定向视频内容。在至少一些实施方案中,RVE系统600可利用基于网络的计算资源和服务(例如,流式传输服务)来确定用户配置文件和偏好,响应地获得图形数据,并且根据图形数据从图形数据生成或更新定向模型,用户配置文件或偏好,根据模型渲染新有定向视频内容692,并且实时或近实时地将新渲染的定向视频内容692作为定向视频流694递送到多个客户端装置680。通过基于网络的计算资源可用的计算能力以及通过流式传输协议提供的视频流式传输能力可允许RVE系统600在许多不同的客户端装置680上实时地向许多不同的用户690动态地提供个性化的视频内容。

游戏系统实现

虽然上文参考其中用户可交互地探索诸如电影和电视节目的预先记录的视频的内容的实时视频探索(RVE)系统大体上描述交互分析方法和模块的实施方案,但实施方案还可应用于游戏环境来分析游戏玩家在游戏宇宙内的交互,以便确定玩家与游戏视频内容之间的相关性并且至少部分地基于分析提供定向到特定用户或用户组的内容或信息。参考图1,RVE系统100可以是游戏系统,视频处理模块102可以是或可包括游戏引擎,RVE客户端可以是游戏客户端,并且用户可以是玩家或游戏玩家。

图7是以图形示出根据至少一些实施方案的示例性基于计算机的多玩家游戏环境中的多玩家游戏的框图,其中交互分析模块可分析用户与游戏视频内容的交互以确定用户或玩家与内容之间的相关性。在至少一些实施方案中,多玩家游戏环境可包括多玩家游戏系统700和一个或多个客户端装置720。多玩家游戏系统700存储游戏数据和信息,实现多玩家游戏逻辑,并且用作多玩家游戏的执行环境。在至少一些实施方案中,多玩家游戏系统700可包括实现多玩家游戏逻辑的一个或多个计算装置,例如一个或多个服务器装置,并且还可包括其他装置,包括但不限于存储游戏数据的存储装置760。然而,在一些实施方案中,游戏系统700的功能和部件可至少部分地在客户端装置720中的一个或多个上实现。游戏数据760可例如存储用于构造和渲染游戏环境/宇宙的持久和全局数据,诸如图形对象、模式等。游戏数据760可还存储特定玩家750的玩家信息,包括但不限于玩家的游戏系统注册信息700、游戏角色752信息、客户端装置720信息、个人信息(例如,姓名、账号、联系人信息等)、安全信息、偏好(例如,通知偏好)以及玩家配置文件。图17中示出可在多玩家游戏系统700中使用的示例计算装置。

客户端装置720可以是各种消费者装置中的任一种,包括但不限于台式计算机系统、膝上型/笔记本计算机系统、平板机/平板装置、智能电话装置、游戏控制台、手持游戏装置以及可佩戴游戏装置。可佩戴游戏装置可包括但不限于可佩戴在手腕、手臂或其他地方的游戏眼镜或护目镜和游戏“手表”等。因此,客户端装置720的范围可从配置为游戏系统的强大台式计算机到“瘦”移动装置,诸如智能电话、平板机/平板装置以及可佩戴装置。每个客户端装置720可实现与装置720兼容的操作系统(OS)平台。客户端装置720可包括但不限于用于多玩家游戏的输入和输出部件和客户端软件(游戏客户端722),通过所述输入和输出部件和客户端软件相应玩家750可参与当前正由多玩家游戏系统700执行的多玩家游戏会话。可定制特定客户端装置720上的游戏客户端722以支持特定装置720和装置720的OS平台的配置和能力。图17中示出可用作客户端装置720的示例计算装置。

在至少一些实施方案中,多玩家游戏系统700可实现在线多玩家游戏,并且多玩家游戏系统700可以是或可包括游戏提供商的网络上的一个或多个装置,所述一个或多个装置实现在线多玩家游戏逻辑并且作为或提供在线多玩家游戏的执行环境。在这些在线多玩家游戏环境中,游戏客户端720通常远离多玩家游戏系统700定位,并且通过中间网络或诸如因特网的网络的有线和/或无线连接访问游戏系统700。此外,客户端装置720通常可各自具有用于玩在线多玩家游戏的输入和输出能力。图16示出可在其中实现如本文所述的基于网络的游戏系统的实施方案的示例性提供商网络环境。

可在如图7所示的多玩家游戏环境中实现的多玩家游戏可从严格依照脚本的游戏到向游戏玩法引入不同数量的随机性的游戏变化。多玩家游戏例如可以是其中玩家750(通过他们的角色752)试图实现某一目标或克服某一障碍的游戏,并且可包括玩家750必须克服的多个级别。多玩家游戏例如可以是其中玩家750合作以实现目标或克服障碍的游戏,或者其中玩家750中的一个或多个作为团队或个人与一个或多个其他玩家750竞争的游戏。可替代地,多玩家游戏可以是其中玩家750可在没有任何特定目标的情况下在复杂游戏宇宙704内更加被动地探索和做出发现的游戏,或者是其中玩家750可主动修改游戏宇宙704内的环境的“世界构建”多玩家游戏。多玩家游戏可包括一切,从相对简单的二维(2D)休闲游戏,到更复杂的2D或三维(3D)动作或策略游戏,到复杂的3D大型多玩家在线游戏(MMOG),诸如可同时支持持续在线“世界”中的数百或数千名玩家的大型多玩家在线角色扮演游戏(MMORPG)。

在一些实施方案中,游戏系统700可通过至少一个交互分析模块740实现交互分析方法,以便例如收集关于玩家使用游戏客户端722与游戏宇宙704内的游戏内容的交互784的数据742,分析收集的数据742以确定玩家750与游戏内容之间的相关性,并且至少部分地基于玩家750与游戏内容之间的所确定相关性提供定向到特定玩家、用户或用户组的内容或信息。游戏系统700可例如实现如图2至图5所示的交互式分析方法中的一个或多个的实施方案。在一些实施方案中,交互分析模块740可从游戏逻辑/执行702获得交互数据742,如图7所示。针对其获得或收集交互数据742的玩家交互784可例如包括探索、操纵和/或修改游戏宇宙内的游戏内容的交互。玩家交互784可包括但不限于浏览、探索和观看游戏宇宙的不同部分的交互以及根据游戏客户端722观看、探索、操纵和/或修改游戏宇宙内的对象或其他游戏内容的交互。

在一些实施方案中,为了向玩家750或其他用户提供定向内容,交互分析模块740可分析交互数据742中的信息以生成可例如包括玩家750与游戏内容之间的相关性的指示的分析数据744,并且可将分析数据744提供到游戏逻辑/执行702模块。游戏逻辑/执行702模块可使用分析数据744来至少部分地基于分析数据744至少部分地根据定向到玩家750或玩家750组的游戏数据760渲染新游戏内容。

在一些实施方案中,交互分析模块740可向一个或多个外部系统730,例如一个或多个在线商家、其他游戏系统或RVE系统提供至少一些分析数据744。外部系统730可使用分析数据744来例如至少部分地基于分析数据744中指示的相关性提供定向到特定用户或用户组的信息734。例如,在线商家可使用分析数据744来通过一个或多个通道(例如通过商家的网站的网页、电子邮件或社交媒体通道等)为定向到特定客户或潜在客户的产品或服务提供广告或推荐。作为另一实例,在一些实施方案中,外部系统730可使用分析数据744来确定或创建定向数据,并且可将定向数据(例如,特定产品的2D或3D模型)提供到数据源)提供到游戏数据760以用于插入到游戏宇宙704中。作为另一实例,RVE系统可使用分析数据744来至少部分地基于从用户与游戏宇宙704中的游戏内容的交互生成的分析数据744来提供定向到特定用户或用户组的视频内容。

交互分析服务

虽然图1至图7示出作为RVE系统或游戏系统的部件的交互分析模块,但在一些实施方案中,交互分析功能的至少一部分可例如作为交互分析服务或通过交互分析服务在从其收集交互数据的系统的外部实现。图8是根据至少一些实施方案的交互分析服务和环境的高级图示。图2至图5示出根据各种实施方案的可在图8中示出的环境内实现的示例性交互分析方法。

如图8中所示,环境可包括一个或多个视频系统800。视频系统800可包括如图1和图6所示的一个或多个RVE系统和/或如图7所示的一个或多个游戏系统。每个视频系统800可从一个或多个视频和数据源810获得视频812和/或图形数据814,并且处理视频812和/或图形数据814以生成可例如流式传输到各种客户端820装置的视频824输出。每个视频系统800可从一个或多个客户端820装置接收指示用户与相应装置上的视频内容的交互822的输入。用户交互可例如包括探索、操纵和/或修改由视频系统800生成的并且在相应客户端820装置上显示的2D或3D建模世界内的视频内容的交互。视频系统800可至少部分地基于用户与视频内容的交互渲染新视频内容并将其发送到客户端820装置。

交互分析服务840可从视频系统800收集或以其他方式获得描述用户与视频内容的交互的数据842。在一些实施方案中,交互分析服务840还可从一个或多个源,例如从视频系统800或外部系统830获得客户端信息832。交互分析服务840可根据客户端信息832分析交互数据842以生成例如将特定用户或用户组与特定视频内容相关的分析数据844。在一些实施方案中,交互分析服务840可单独分析来自每个视频系统800的交互数据842以便针对每个系统800生成单独分析数据844。在一些实施方案中,代替或者除了单独分析数据842之外,交互分析服务840可共同分析来自视频系统800中的两个或更多个的交互数据842以生成组合的分析数据844。

交互分析服务840可向视频系统800中的一个或多个提供分析数据844。视频系统800可例如使用分析数据844来至少部分地基于分析数据844渲染定向到用户或组的新视频内容。在一些实施方案中,代替或者除了直接向视频系统800提供分析数据844之外,可将至少一些分析数据844可写入或存储到一个或多个数据源810。例如,分析数据844可用于更新存储在数据源810上的用户和/或组配置文件。在一些实施方案中,交互分析服务840可向一个或多个外部系统830提供至少一些分析数据844。外部系统130可例如使用分析数据844来至少部分地基于分析数据844中指示的相关性提供定向到特定用户或用户组的信息。例如,在线商家可使用分析数据844来通过一个或多个通道(例如通过商家的网站的网页、电子邮件或社交媒体通道等)为定向到特定客户或潜在客户的产品或服务提供广告或推荐。

在一些实施方案中,交互分析服务840可实现一个或多个应用编程接口(API),通过所述应用编程接口,视频系统800可向交互分析服务840提供交互数据842和其他信息,并且分析数据844可传送到视频系统800、外部系统830和/或视频和数据源810。在一些实施方案中,交互分析服务840可实现为提供商网络上的服务,例如如图14或图16所示的提供商网络。

示例性实时视频探索(RVE)系统和方法

这部分描述实时视频探索(RVE)系统和环境的示例实施方案,其中可实现如本文所述的交互分析方法和模块的实施方案以便分析用户与视频内容的交互,确定特定用户与特定内容之间的相关性,并且将分析数据提供到RVE系统或其他系统以用于通过一个或多个信道确定和提供针对特定用户或用户组的内容、广告、推荐或其他信息。注意,虽然在生成、呈现和探索三维(3D)视频内容的上下文中大体描述了实施方案,但实施方案还可应用于生成、呈现和探索二维(2D)视频内容的上下文中。

描述用于从预先渲染的视频内生成、呈现和探索三维(3D)建模世界的方法和设备的各种实施方案。包括但不限于电影的视频可通过以下方式产生:使用3D计算机图形技术生成场景的3D建模世界并且从选择的摄像机视点将3D建模世界的二维(2D)表示作为输出来渲染。在3D视频制作中,为每个场景确定场景内容(例如,3D对象、纹理、色彩、背景等),为每个场景预先选择摄像机观点或视角,根据3D计算机图形技术生成和渲染场景(每个表示3D世界),并且最终渲染的输出视频(例如,电影)包括3D世界的2D表示,其中每个场景的每个帧从固定的预先选择的摄像机观点和角度渲染和示出并具有固定的预定内容。因此,传统上,预先渲染的视频(例如,电影)的消费者从预先选择的摄像机观点和角度观看电影中的场景以及预定内容。

用于生成视频(例如,电影)的3D图形数据包括丰富的3D内容,所述丰富的3D内容在传统视频中未呈现给观看者,因为观看者从导演预先选择的视角观看渲染的视频中的场景,并且视频的所有观看者从相同的视角观看场景。然而,3D图形数据可以是可用的或可变为可用的,并且如果不可用,则可例如使用各种2D到3D建模技术从原始视频生成至少一些3D数据。

描述实时视频探索(RVE)方法和系统的实施方案,所述方法和系统可利用此3D图形数据来通过至少部分地根据3D图形数据实时生成和渲染新视频内容来使得能够从预先渲染的、预先记录的视频中的场景交互式探索3D建模世界。图9是根据至少一些实施方案的实时视频探索(RVE)系统10的高级图示。RVE系统10的实施方案可例如允许视频消费者(在本文中还被称为用户或观看者)通过RVE客户端30“进入”视频(例如,电影)中的场景,以便通过用户控制的自由漫游的“摄像机”探索3D建模世界的其余部分,所述“摄像机”允许用户改变3D建模世界中的观看位置和角度。

在至少一些实施方案中,RVE系统10可将视频从一个或多个源20回放到一个或多个RVE客户端30,接收从相应RVE客户端30探索的场景内的用户输入/交互,响应于用户输入/交互探索场景响应地从一个或多个源20获得的图形数据生成或更新3D模型,至少部分地根据3D模型渲染场景的新视频内容,并且将新渲染的视频内容(和音频,如果存在的话)作为RVE视频递送到相应RVE客户端30。因此,用户不仅可从导演预先选择的视角观看电影中的预先渲染的场景,而且可从不同的角度进入和探索场景,在3D建模世界的范围内随意地在场景中漫游,并且发现场景的在如记录的原始视频中不可见的隐藏的对象和/或部分。由RVE系统10输出到客户端30的RVE视频是已经根据两个输入处理和渲染的视频流,一个输入是用户的探索性输入,第二输入是从源20获得的记录的视频和/或图形数据。在至少一些实施方案中,RVE系统10可提供用于从RVE客户端装置30接收输入并且向其发送输出的一个或多个应用编程接口(API)。

由于探索和渲染3D世界在计算上是昂贵的,因此RVE系统10的至少一些实施方案可利用基于网络的计算资源和服务(例如,流式传输服务)来接收从RVE客户端30装置探索的场景内的用户输入/交互,响应于用户输入/交互响应地从3D数据生成或更新3D模型,从3D模型渲染场景的新视频内容,并且实时或近实时地并且以低延迟将新渲染的视频内容(并且在一些情况下还有音频)作为视频流递送到客户端装置。通过基于网络的计算资源可用的计算能力以及通过流式传输协议提供的视频和音频流式传输能力允许RVE系统10向用户与在相应客户端装置上观看的3D世界的交互提供低延迟响应,从而向用户提供响应和交互式探索体验。图14示出根据至少一些实施方案的其中利用基于网络的计算资源来提供视频内容的实时、低延迟渲染并流式传输的示例性RVE系统和环境。图15示出根据至少一些实施方案的其中使用流式传输服务来将渲染的视频流式传输到客户端的示例性基于网络的环境。图16示出可在其中实现如本文所述的RVE系统的实施方案的示例性提供商网络环境。图17是示出可在一些实施方案中使用的示例性计算机系统的框图。

除了允许用户暂停、进入、浏览并探索视频中的场景的3D建模世界之外,RVE系统10的至少一些实施方案还可允许用户修改场景,例如通过向场景添加、移除或修改各种图形效果,诸如透镜效果(例如,鱼眼、缩放、过滤等);照明效果(例如,照明、反射、阴影等);色彩效果(调色板、色彩饱和度等);或者各种模拟效果(例如,雨、火、烟、灰尘、雾等)。

除了允许用户暂停、进入、浏览、探索并甚至修改视频中的场景的3D建模世界之外,RVE系统10的至少一些实施方案还可允许用户发现、选择、探索并操纵用于生成视频内容的3D建模世界内的对象。RVE系统10的至少一些实施方案可实现允许用户更详细地观看和探索正被操纵和探索的所选择对象的特征、部件和/或附件的方法。RVE系统10的至少一些实施方案可实现允许用户与所选择对象的接口或所选择对象的部件的接口交互的方法。

除了允许用户探索场景并操纵场景内的对象之外,RVE系统10的至少一些实施方案可允许用户与所选择对象交互以定制对象或给对象配附件。例如,观看者可操纵所选择对象或与其交互,以便添加或移除附件,定制对象(改变色彩、纹理等),或者根据用户的偏好或期望以其他方式修改对象。在至少一些实施方案中,RVE系统10可提供接口,通过所述接口,用户可获得对象的另外信息,如果并且根据期望定制对象和/或给对象配附件,给予定制/配附件的对象一个或多个价格,并且如果期望则订购或购买所指定的对象。

RVE系统10的至少一些实施方案可允许用户创建和记录他们自己的诸如电影的视频的定制版本,和/或实时地将视频的定制版本流式传输或广播到一个或多个目的地。使用实施方案,视频或视频的部分的新版本可生成,并且可例如存储或记录到本地或远程存储装置,向朋友显示或与朋友共享,或者假定获得适当的权利和许可分享、分布或广播新视频内容可以其他方式记录、存储、共享、流式传输、广播或分布。

RVE系统10的至少一些实施方案可利用基于网络的计算资源和服务来允许多个用户通过RVE客户端30同时接收、探索、操纵和/或定制预先记录的视频。RVE系统10可例如将视频流广播到多个RVE客户端30,并且对应于RVE客户端30的用户可根据期望各自探索、操纵和/或定制视频。因此,在任何给定时间,两个或更多个用户可同时探索正实时回放的视频的给定场景,或者可同时从不同视角或不同定制观看场景,其中RVE系统10根据用户与视频的特定交互来交互地生成、渲染新视频并将其流式传输到的对应于用户的RVE客户端30。注意,正回放到RVE客户端30的视频可以是预先记录的视频,或者可以是由用户通过RVE客户端30之一生成的新视频,并且通过RVE系统10向一个或多个其他RVE客户端30“直播”。

虽然RVE系统10的实施方案通常被描述为生成场景和对象的3D模型并且使用3D图形技术从场景和3D对象的3D模型渲染视频,但实施方案还可应用于使用2D图形技术生成和渲染视频的2D模型和对象。

RVE系统10的至少一些实施方案可实现如本文所述的交互分析模块,或者可访问如本文所述的交互分析模块或与其集成。参考RVE系统10和RVE客户端30描述的RVE方法可用于例如暂停、进入、探索和操纵视频内容,而交互分析模块收集和分析描述用户与视频内容的交互的数据以便确定特定用户与特定视频内容之间的相关性,并且将分析数据提供到一个或多个系统,包括但不限于RVE系统10。

图10是根据至少一些实施方案并且参考图9的用于在预先记录的视频的回放期间实时地探索3D建模世界的方法的流程图。如1200处所指示的,RVE系统10可开始将预先记录的视频回放到至少一个客户端装置。例如,RVE系统10的RVE控制模块可引导视频回放模块响应于从客户端装置上的RVE客户端30接收到的选择输入开始将所选择视频从视频源20回放到客户端装置。可替代地,RVE系统10可开始从视频源20回放预先记录的视频,并且随后从一个或多个RVE客户端30接收加入回放以观看(并且可能探索)相应客户端装置上的视频内容的输入。

在将预先记录的视频回放到客户端装置期间,RVE系统10可从客户端装置上的RVE客户端30接收另外输入和交互。例如,可接收指示RVE事件的输入,其中用户暂停正回放到客户端装置的预先记录的视频,使得用户可探索当前场景。如1202处所指示的,RVE系统10可继续将预先记录的视频回放到客户端装置,直到如1204处所指示的视频结束,或者直到从RVE客户端30接收到引导RVE系统10暂停视频的RVE输入。在1202处,如果从RVE客户端30接收到请求视频暂停的RVE输入,则RVE系统10在当前场景暂停将视频回放到客户端装置,如1206处所指示的。

如1208处所指示的,当在场景处暂停预先记录的视频的回放时,RVE系统10可响应于来自客户端装置的探索输入获得3D数据并处理它以渲染场景的新视频,并且可将场景的新渲染的视频流式传输到客户端装置,如1210处所指示的。在至少一些实施方案中,RVE系统10可开始从3D数据生成场景的3D建模世界,渲染3D建模世界的2D表示,并且响应于如1202和1206处所指示的暂停事件将实时渲染的视频流式传输到相应客户端装置。可替代地,RVE系统10可开始从3D数据生成场景的3D建模世界,渲染3D建模世界的2D表示,并且在接收到从客户端装置接收的另外探索性输入时将实时渲染的视频流式传输到相应的客户端装置,所述另外探索性输入例如改变场景中的观看者的观看角度的输入,或者将观看者的视点移动通过场景的输入。响应于从客户端装置接收的指示用户正进一步探索场景的另外用户输入和交互,RVE系统10可根据当前用户输入和3D数据从3D建模世界渲染并流式传输场景的新视频,例如从由用户对客户端装置的当前输入指示的场景的3D建模世界内的特定位置和角度渲染的新视频。可替代地,在一些实施方案中,在1206处可不暂停视频,并且所述方法可在视频继续回放的同时执行元素1208和1210。

在至少一些实施方案中,除了允许用户暂停、进入、浏览并探索正回放的预先记录的视频中的场景之外,RVE系统10可允许用户修改场景,例如通过向场景添加、移除或修改图形效果,诸如透镜效果(例如,鱼眼、缩放等);照明效果(例如,照明、反射、阴影等);色彩效果(调色板、色彩饱和度等);或者各种模拟效果(例如,雨、火、烟、灰尘、雾等)。

如1212处所指示的,响应于探索性输入,RVE系统10可继续从3D建模世界渲染并流式传输场景的新视频,直到从客户端装置接收到指示用户想要恢复回放预先记录的视频的输入。如1214处所指示的,在接收到恢复回放输入时,RVE系统可恢复将预先记录的视频回放到客户端装置。回放可但不一定在1206处暂停回放的点处恢复。

在至少一些实施方案中,RVE系统10可利用基于网络的计算资源和服务(例如,流式传输服务)来从RVE客户端30接收与视频内容的用户输入/交互,响应于用户输入/交互响应地从3D数据生成或更新3D模型,从3D模型渲染场景的新视频内容,并且实时或近实时地将新渲染的视频内容(并且可能还有音频)作为视频流递送到客户端装置。通过基于网络的计算资源可用的计算能力以及通过流式传输协议提供的视频和音频流式传输能力可允许RVE系统10向用户与在客户端装置上观看的场景的3D世界的交互提供低延迟响应,从而向用户提供响应和交互式探索体验。

实时视频探索(RVE)系统的至少一些实施方案可实现允许用户发现、选择、探索和操纵用于生成视频内容(例如,电影中的场景或其他视频)的3D建模世界内的对象的方法。利用基于网络的计算资源和服务并且利用用于生成和渲染原始的先前渲染和记录的视频的丰富的3D内容和数据,RVE系统10可允许视频例如电影的观看者通过客户端装置上的RVE客户端30从视频中暂停并“进入”3D渲染的场景以便发现、选择、探索和操纵场景内的对象。例如,观看者可暂停场景处的电影并且与场景中的一个或多个3D渲染的对象交互。观看者可选择场景中的对象的3D模型,拉起关于所选择对象的信息或与所选择对象相关的信息,可视地探索对象,并且通常以各种方式操纵对象。

图11是根据至少一些实施方案并且参考图9的用于在探索正回放的预先记录的视频的同时与对象交互并渲染被操纵对象的新视频内容的方法的流程图。如1300处所指示的,RVE系统10可响应于从客户端装置接收的用于操纵场景中的对象的输入,暂停正回放到客户端装置的预先记录的视频的回放。在至少一些实施方案中,RVE系统10可从客户端装置接收选择在客户端装置上显示的场景中的对象的输入。作为响应,RVE系统10可暂停正回放的预先记录的视频,获得所选择对象的3D数据,根据获得的数据生成包括对象的新3D模型的场景的3D建模世界,并且渲染场景的新视频并将其流式传输到客户端装置。

注意,所选择对象实际上可以是可从3D模型渲染的任何东西。可在场景内建模、由实施方案选择和操纵的对象的非限制性实例包括:虚拟或真实的装置或对象,诸如车辆(汽车、卡车、摩托车、自行车等),计算装置(智能电话平板装置、膝上型计算机或笔记本等),娱乐装置(电视和立体声部件、游戏控制台等),玩具,运动器材,书籍,杂志,CD/专辑,艺术品(绘画,雕塑等)电器,工具,衣服和家具;虚拟或真实植物和动物;虚拟或真实的人物或角色;包装或制备的食品,杂货,消费品,饮料等;保健品(药品、肥皂、洗发水、牙刷、牙膏等);以及通常任何生活或非生活、制造或自然、真实或虚拟的对象、物体或实体。

如1302处所指示的,RVE系统10可从客户端装置接收指示用户正通过客户端装置与所选择对象交互的输入。如1304处所指示的,响应于交互式输入,RVE系统10可从3D建模世界渲染并流式传输场景的新视频,包括如由到客户端装置的交互式输入操纵或改变的对象的3D模型。

所选择对象的操纵的非限制性实例可包括拾取对象,移动场景中的对象,旋转对象好像对象被保持在观看者的手中,操纵对象的可移动部分,或者通常对可通过3D渲染技术模拟的对象的任何物理操纵。对象的操纵的其他实例可包括改变对象的渲染,诸如改变对象的照明、纹理和/或色彩,改变对象的不透明度,使得对象有点透明等。对象操纵的其他实例可包括打开和关闭房子或车辆上的门,打开和关闭家具上的抽屉,打开和关闭车辆上的行李箱或其他车厢,或者通常对可通过3D渲染技术模拟的对象的任何物理操纵。作为仅一个非限制性实例,用户可进入暂停的视频的场景中以从所有角度观看场景中的车辆,打开车门并进入车辆内部,打开控制台或贮物箱等。

如1306处所指示的,任选地,响应于对信息的请求,RVE系统10可获得所选择对象的信息并将其提供到客户端装置。例如,在一些实施方案中,用户可双击、右键点击或以其他方式选择对象来显示关于对象的信息窗口。作为另一实例,在一些实施方案中,用户可双击或右键选择的对象以调出对象选项的菜单,并从菜单中选择“显示信息”选项以获得对象信息。

可提供到选择的对象的关于所选择对象的信息或与之相关的信息的非限制性实例可包括与3D模型数据或与正回放的视频相关联并且可能与它们一起存储的描述性信息。另外,信息可包括信息或描述性网页、广告、制造商或零售商网站、评论、BLOG、粉丝网站等或者可包括到所述信息或描述性网页、广告、制造商或零售商网站、评论、BLOG、粉丝网站等的链接。通常,可用于给定对象的信息可包括与对象的3D模型数据或视频一起存储的任何相关信息,和/或来自各种其他源诸如网页或网站的相关信息。注意,可显示的“对象选项”列表可包括用于操纵所选择对象的各种选项,例如用于改变所选择对象的色彩、纹理或其他渲染特征的选项。这些选项中的至少一些可特定于对象的类型。

如1308处所指示的,响应于与场景中的对象的交互式输入,RVE系统10可继续渲染并流式传输场景的新视频。在至少一些实施方案中,RVE系统10可继续渲染并流式传输场景的新视频,直到从客户端装置接收到指示用户想要恢复回放预先记录的视频的输入。如1310处所指示的,在接收到恢复回放输入时,RVE系统可恢复将预先记录的视频回放到客户端装置。回放可但不一定在1300处暂停回放的点处恢复。

在一些实施方案中,当对象被选择用于操纵时,或者当用户对所选择对象执行特定操纵时,RVE系统10可访问另外和/或不同的3D图形应用和/或应用另外的或与最初用于生成和渲染正回放的视频的场景中的对象不同的3D图形技术,并且可根据不同的应用和/或技术渲染对象以用于探索和操纵。例如,RVE系统10可使用另外或不同的技术来添加或改善正被渲染以供用户探索和操纵的对象的纹理和/或照明。

在一些实施方案中,当对象被选择用于操纵时,或者当用户对所选择对象执行特定操纵时,RVE系统10可访问对象的与最初用于生成和渲染正回放的视频的场景中的对象的3D模型不同的3D模型,并且可从不同3D模型渲染对象的3D表示以供用户探索和操纵。不同的3D模型可以是对象的比最初用于渲染场景的模型更详细且更丰富的模型,并且因此可提供比不太详细的模型更细致的细节和更好的对象操纵水平。作为仅一个非限制性实例,用户可进入暂停的视频的场景中以观看、选择和探索场景中的车辆。响应于选择车辆以用于探索和/或操纵,RVE系统10可去车辆的制造商现场或某个其他外部源以访问车辆的详细3D模型数据,随后可对所述3D模型数据进行渲染以便向用户提供车辆的更详细的3D模型,而不是最初用于渲染视频的更简单、不那么详细并且可能不那么当前或最新的模型。

另外,RVE系统10的至少一些实施方案可实现允许用户更详细地观看和探索正被操纵和探索的所选择对象的特征、部件和/或附件的方法。例如,可允许用户放大所选择对象以更详细地观看所选择对象的特征、部件和/或附件。作为简单的非限制性实例,观看者可放大书架以观看书的标题,或者放大桌子以观看桌子上的杂志或报纸的封面。作为另一非限制性实例,观看者可选择和放大诸如记事本、屏幕或字母的对象以更详细地观看内容,并且甚至可读取对象上渲染的文本。作为另一非限制性实例,可选择、操纵和放大在场景的背景中渲染并因此未详细示出的计算装置,以便观看装置的屏幕或装置的配件以及接口部件诸如按钮、开关、端口和键盘上的精细细节或者甚至型号或部件号。作为另一非限制性实例,可选择、操纵和放大在场景的背景中渲染并因此未详细示出的汽车,以便观看汽车外部的精细细节。另外,观看者可打开门并进入车辆以观看内部部件和附件,诸如控制台、导航/GPS系统、音频设备、座椅、垫衬物等,或者打开车辆的发动机罩以观看发动机隔室。

除了允许用户选择和操纵如上文所述的场景中的对象之外,RVE系统10的至少一些实施方案可实现允许用户与所选择对象的接口或所选择对象的部件的接口交互的方法。作为装置以及可由RVE系统10模拟的与装置的交互的实例,观看者可以能够选择表示诸如蜂窝电话、智能电话、平板机或平板装置或膝上型计算机的计算或通信装置的渲染对象,并且与装置的渲染接口交互以模拟装置的实际操作。作为装置以及可由RVE系统10模拟的与装置的交互的另一实例,用户可进入在客户端装置上渲染的汽车,并且通过导航/GPS系统的接口的渲染的表示模拟汽车的控制台中的导航/GPS系统的操作。渲染的对象可适当地对用户的交互做出响应,例如通过响应于滑动或敲击事件而适当地更新触摸屏。响应于通过渲染的接口的用户交互的渲染的对象的反应可例如由RVE系统10根据对象类型和对象数据来模拟,或者可从对象的3D模型数据或其他对象信息编程、访问并与其一起存储。

在至少一些实施方案中,RVE系统10可利用基于网络的计算资源和服务(例如,流式传输服务)来接收用户对客户端装置上的场景中的对象的操纵,响应于用户输入响应地利用操纵的对象的修改的渲染生成或更新场景的3D模型,渲染场景的新视频,并且实时或近实时地将新渲染的视频作为视频流递送到客户端装置。通过基于网络的计算资源可用的计算能力以及通过流式传输协议提供的视频和音频流式传输能力可允许RVE系统10向用户与场景中的对象的交互提供低延迟响应,从而向用户提供对对象的响应和交互式操纵。

实时视频探索(RVE)系统10的至少一些实施方案可实现允许用户与所选择对象交互以定制对象或给对象配附件的方法。利用基于网络的计算资源和服务并且利用视频中的渲染的对象的3D数据,RVE系统10可允许视频例如电影的观看者通过客户端装置上的RVE客户端30从视频中暂停并“进入”3D渲染的场景以便发现、选择、探索和操纵场景内的对象。此外,针对可用选项来配附件或定制的场景中的3D绘制对象,观看者可操纵所选择对象或与其交互,以便添加或移除附件,定制对象(改变色彩、纹理等),或者根据用户的偏好或期望以其他方式修改对象。作为非限制性实例,用户可与场景的汽车的渲染交互以给汽车配附件或定制汽车。例如,用户可改变外部色彩,改变内部,将汽车从硬顶改变为敞篷车,并且添加、移除或更换诸如导航/GPS系统、音频系统、特殊轮子和轮胎等的附件。在至少一些实施方案中,并且针对至少一些对象,RVE系统10还可促进由用户通过客户端装置上的接口配附件或定制的对象(例如,汽车)的定价、购买或订购。

由于对对象的修改是在3D渲染的场景/环境中完成的,因此观看者可定制诸如汽车的对象和/或给其配附件,并且随后观看如在场景的3D世界中渲染的定制对象,其中照明、背景等针对定制对象完全渲染。在至少一些实施方案中,当视频被恢复时,用户修改的对象可留在场景中,并且对象在它出现在此场景和其他场景中时可利用对象的用户的修改的版本的渲染替换。使用汽车作为实例,观看者可例如通过将其从红色改变为蓝色或者从硬顶改变为敞篷车来定制汽车,并且随后在场景的3D建模世界中观看定制汽车,或者甚至使定制汽车用在一旦恢复的视频的其余部分中。

在RVE系统10的至少一些实施方案中,定制对象和/或给对象配附件的能力可针对至少一些对象链接到外部源,例如制造商、零售商和/或批发商信息和网站。RVE系统10可提供接口,或者可调用由制造商/零售商/批发商提供的外部接口,如果并且根据期望,用户可通过所述外部接口定制所选择对象(例如,汽车、计算装置、娱乐系统等)和/或给所选择对象配附件,给予定制/配附件的对象一个或多个价格,并且如果期望则订购或购买所指定的对象。

图12是根据至少一些实施方案并且参考图9的用于在探索正回放的视频的同时修改并且任选地订购对象的方法的流程图。如1400处所指示的,RVE系统10可响应于从客户端装置接收的用于操纵场景中的对象的输入,暂停正回放到客户端装置的预先记录的视频的回放。在至少一些实施方案中,RVE系统10可从客户端装置接收选择在客户端装置上显示的场景中的对象的输入。作为响应,RVE系统10可暂停正回放的预先记录的视频,获得所选择对象的3D数据,根据获得的数据生成包括对象的新3D模型的场景的3D建模世界,并且渲染场景的新视频并将其流式传输到客户端装置。

如1402处所指示的,RVE系统10可从客户端装置接收指示用户正通过客户端装置与所选择对象交互以修改(例如,配附件或定制)所选择对象的输入。作为响应,RVE系统10可获得用于给所选择对象配附件或修改所选择对象的另外3D数据,并且根据用户输入指定的修改生成包括对象的新3D模型的场景的新3D建模世界。如1404处所指示的,RVE系统10可从3D建模世界渲染并流式传输场景的新视频,包括如由到客户端装置的输入操纵的对象的3D模型。

如1406处所指示的,任选地,RVE系统10可从客户端装置接收请求关于被修改的对象的另外信息(例如定价、可用性、供应商、零售商等)的另外输入,和/或指示用户想要购买或订购如修改(或如果期望,最初渲染)的对象的另外信息。在至少一些实施方案中,响应于对另外信息的请求,RVE系统10可通过客户端装置向用户提供另外对象信息(例如,网站、链接、电子邮件、文档、广告、定价、评论等)。在至少一些实施方案中,响应于订购或购买物品的请求,RVE系统10可提供名称、位置、URL、链接、电子邮件地址、电话号码和/或指示用于订购或购买对象的一个或多个在线或实体源。在一些实施方案中,RVE系统10可提供购买接口,通过所述购买接口用户可订购如修改的对象。

如1408处所指示的,响应于与场景中的对象的交互,RVE系统10可继续渲染并流式传输场景的新视频。在至少一些实施方案中,RVE系统10可继续渲染并流式传输场景的新视频,直到从客户端装置接收到指示用户想要恢复回放预先记录的视频的输入。如1410处所指示的,在接收到恢复回放输入时,RVE系统可恢复将预先记录的视频回放到客户端装置。回放可但不一定在1400处暂停回放的点处恢复。

实时视频探索(RVE)系统10的至少一些实施方案可允许用户生成他们自己的视频的定制版本,诸如电影。所生成的视频可被记录以供稍后回放,或者可被流式传输或“直播”到其他端点或观看者。图13是根据至少一些实施方案并且参考图9的用于在预先记录的视频的回放期间渲染和存储新视频内容的方法的流程图。如1500处所指示的,RVE系统10可将预先记录的视频的至少一部分回放到RVE客户端30。如1502处所指示的,响应于来自RVE客户端30的输入,RVE系统10可处理和渲染视频中的一个或多个场景的视频。例如,在至少一些实施方案中,用户可暂停正回放的视频,改变场景的观看角度和/或观看位置,并且使用修改的观看角度和/或位置重新渲染场景或其一部分,例如使用如图10中描述的方法。作为另一实例,用户可操纵、修改、定制、配附件和/或重新布置一个或多个场景中的对象,例如如图11和图12中描述的。注意,这些方法中的一个或多个或这些方法中的两个或更多个的组合可用于修改给定场景或场景的部分。如1504处所指示的,RVE系统10可将场景的新渲染的视频流式传输到RVE客户端30。如1506处所指示的,可根据来自RVE客户端30的输入利用新渲染的视频替换正回放的视频的至少一部分。例如,可利用从修改的视角记录的和/或包括修改的内容的新渲染的场景替换原始视频中的一个或多个场景以生成原始视频的新版本。如1508处所指示的,可将修改的视频的至少一部分作为新视频内容提供到一个或多个视频目的地(例如,如图9所示的视频或数据源20)。如此产生的视频或视频的部分的新版本可例如记录或存储到本地或远程存储装置,向朋友显示或与朋友共享,或者假定获得适当的权利和许可分享或分布新视频内容可以其他方式存储、共享、流式传输、广播或分布。

示例性实时视频探索(RVE)网络环境

实现本文描述的各种方法中的一个或多个的实时视频探索(RVE)系统的实施方案可在服务提供商的上下文中实现,所述服务提供商将提供商网络上的虚拟化资源(例如,虚拟化计算资源、虚拟化存储资源、虚拟化数据库(DB)资源等)提供到服务提供商的客户端,例如如图14所示。提供商网络2500上的虚拟化资源实例可通过一个或多个提供商网络服务2502供应,并且可租用或租赁给服务提供商的客户端,例如实现提供商网络2502上的RVE系统2510的RVE系统提供商2590。提供商网络2500上的资源实例中的至少一些可以是根据硬件虚拟化技术实现的计算资源2522,所述硬件虚拟化技术使得多个操作系统能够同时在主机计算机上(即,作为主机上的虚拟机(VM))运行。其他资源实例(例如,存储资源2552)可根据向提供商网络的客户端提供各种类型或类别的存储的灵活存储能力的一种或多种存储虚拟化技术实现。其他资源实例(例如,数据库(DB)资源2554)可根据其他技术实现。

在至少一些实施方案中,提供商网络2500通过服务2502可使得能够将提供商网络2500的逻辑上隔离的部分作为提供商网络2500上的客户端专用网络供应给服务提供商的特定客户端。提供商网络2500上的客户端资源实例中的至少一些可在客户端的专用网络中供应。例如,在图14中,RVE系统2510可被实现为RVE系统提供商2590的专用网络实现或在其中实现,所述专用网络通过一个或多个服务2502供应在提供商网络2500上。

提供商网络2500通过服务2502可向客户端提供资源实例的灵活供应,其中虚拟化计算和/或存储资源实例或能力可响应于需求或用途的改变自动添加到提供商网络2500上的客户端配置或从其移除,从而使得客户端在提供商网络2500上的实现能够自动扩展以处理计算和/或数据存储需求。例如,响应于访问RVE系统2510的RVE客户端2582的数量的增加,一个或多个另外计算资源2522A、2522B、2522C和/或2522D可自动添加到RVE系统2510以回放和探索如本文所述的视频内容。如果并且当用途下降至阈值以下时,可移除不再必需的计算和数据存储资源。

在至少一些实施方案中,RVE系统提供商2590可通过到服务2502的应用编程接口(API)访问提供商网络2500的服务2502中的一个或多个,以便配置和管理提供商网络2500上的RVE系统2510,RVE系统2510包括多个虚拟化资源实例(例如,计算资源2522、存储资源2552、DB资源2554等)。

提供商网络服务2502可包括但不限于,用于供应计算资源2522的一个或多个硬件虚拟化服务,用于供应存储资源2552的一个或多个存储虚拟化服务,以及用于供应DB资源2554的一个或多个数据库(DB)服务。在一些实现中,RVE系统提供商2590可通过相应的API访问这些提供商网络服务2502中的两个或更多个,以便供应和管理RVE系统2510中的相应资源实例。然而,在一些实现中,RVE系统提供商2590可相反通过到服务2504的API访问单个服务(例如,流式传输服务2504),此服务2504随后可代表RVE系统提供商2590与一个或多个其他提供商网络服务2502交互以便供应RVE系统2510中的各种资源实例。

在一些实施方案中,提供商网络服务2502可包括用于创建、部署和管理数据流式传输应用(诸如提供商网络2500上的RVE系统2510)的流式传输服务2504。许多消费者装置(诸如个人计算机、桌子和移动电话)具有限制装置实时执行3D图形处理和渲染视频数据的能力的硬件和/或软件限制。在至少一些实施方案中,流式传输服务2504可用于实现、配置和管理RVE系统2510,所述RVE系统2510利用提供商网络2500的计算和其他资源来在提供商网络2500上实现视频的实时、低延迟的3D图形处理和渲染,并且实现用于接收RVE客户端2582输入并且用于将包括实时渲染的视频以及预先记录的视频的视频内容流式传输到相应RVE客户端2582的流式传输服务接口2520(例如,应用编程接口(API))。在至少一些实施方案中,流式传输服务2504可为RVE系统提供商2590管理服务器侧RVE系统2510逻辑、模块、部件和资源实例的部署、扩展、负载平衡、监视、版本管理以及故障检测和恢复。通过流式传输服务2504,RVE系统2510可动态地扩展以处理计算和存储需要,而不管RVE客户端2582实现在其上的装置的类型和能力如何。

在至少一些实施方案中,RVE客户端2582中的至少一些可实现如图15所示的RVE客户端接口2684,以便根据流式传输服务接口2520将用户输入和交互传送到RVE系统2510,并且接收并处理从流式传输服务接口2520接收的视频流和其他内容。在至少一些实施方案中,流式传输服务2504还可由RVE系统提供商2590利用来针对各种类型的客户端装置(例如,平板机、智能电话、台式计算机/笔记本计算机等)上的各种操作系统(OS)平台开发和构建RVE客户端2582。

参考图14,在至少一些实施方案中,可根据流式传输协议将包括但不限于视频内容的数据从流式传输服务接口2520流式传输到RVE客户端2582。在至少一些实施方案中,可根据流式传输协议将包括但不限于用户输入和交互的数据从RVE客户端2582发送到流式传输服务接口2520。在至少一些实施方案中,流式传输服务接口2520可从视频回放模块(未示出)和/或从渲染2560模块接收视频内容(例如,渲染的视频帧),根据流式传输协议打包视频内容,并且根据协议将视频流通过中间网络2570流式传输到相应RVE客户端2582。在至少一些实施方案中,RVE客户端2582的RVE客户端接口2684可从流式传输服务接口2520接收视频流,从流式传输协议中提取视频内容,并且将视频转发到相应客户端装置的显示部件以用于显示。

参考图14,RVE系统提供商2590可开发并部署RVE系统2510,利用一个或多个服务2502来配置和供应RVE系统2510。如图14所示,RVE系统2510可包括并且可实现为多个功能模块或部件,其中每个模块或部件包括一个或多个提供商网络资源。在这个实例中,RVE系统2510包括:包括计算资源2522A的流式传输服务接口2520部件;包括计算资源2522B的RVE控制模块2530;包括计算资源2522C的3D图形处理2540模块;包括计算资源2522D的3D图形渲染2560模块;以及包括存储资源2552和数据库(DB)资源2554的数据存储装置2550。注意,RVE系统2510可包括更多或更少的部件或模块,并且给定的模块或部件可被细分为两个或更多个子模块或子部件。还要注意,示出的模块或部件中的两个或更多个可组合;例如,3D图形处理2540模块和3D图形渲染2560模块可组合以形成组合的3D图形处理和渲染模块。

一个或多个计算资源2522可被供应和配置来实现RVE系统2510的各种模块或部件。例如,流式传输服务接口2520、RVE控制模块2530、3D图形处理2540模块以及3D图形渲染2560可各自被实现为一个或多个计算资源2522或者在一个或多个计算资源2522上实现。在一些实施方案中,两个或更多个计算资源2522可被配置来实现给定模块或部件。例如,两个或更多个虚拟机实例可实现RVE控制模块2530。然而,在一些实施方案中,给定模块的实例(例如,3D图形处理2540模块的实例或3D图形渲染2560模块的实例)可被实现为模块中示出的每个计算资源2522或者在所述计算资源2522上实现。例如,在一些实现中,每个计算资源2522实例可以是从实现存储在存储资源2552上的特定模块(例如3D图形处理2540模块)的机器图像旋转的虚拟机实例。

在至少一些实施方案中,计算资源2522可被特别地供应或配置来支持RVE系统2510的特定功能部件或模块。例如,3D图形处理2540模块的计算资源2522C和/或3D图形渲染模块2560的计算资源2522D可在包括用于3D图形功能的硬件支持(例如图形处理单元(GPU))的装置上实现。作为另一个实例,给定模块中的计算资源2522的前面可以是通过提供商网络服务2502供应的负载平衡器,所述负载平衡器执行跨模块中的多个计算资源实例2522的负载平衡。

在至少一些实施方案中,给定模块的计算资源2522中的不同计算资源可被配置来执行模块的不同功能。例如,3D图形处理2540模块的不同计算资源2522C和/或3D图形渲染模块2560的不同计算资源2522D可被配置来执行不同的3D图形处理功能或应用不同的3D图形技术。在至少一些实施方案中,3D图形处理2540模块和/或3D图形渲染模块2560的计算资源2522中的不同计算资源可配置有不同的3D图形应用。作为使用不同的3D图形处理功能、技术或应用的实例,当渲染将显示的视频内容的对象时,可获得对象的3D数据,需要根据特定功能、技术或应用来处理所述3D数据以便生成对象的3D模型和/或渲染对象的2D表示以供显示。

存储资源2552和/或DB资源2554可被配置和供应用于存储、访问和管理RVE数据,包括但不限于:预先记录的视频和使用RVE系统2510生成的新视频内容;3D数据和3D对象模型,以及其他3D图形数据,诸如纹理、表面和效果;用户信息和客户端装置信息;以及与视频和视频内容相关的信息和数据,诸如关于特定对象的信息。如上所述,存储资源2552还可存储RVE系统2510的部件或模块的机器图像。在至少一些实施方案中,包括但不限于视频、3D图形数据、对象数据和用户信息的RVE数据可从提供商网络2500上的RVE系统2510外部或提供商网络2500外部的一个或多个源或目的地访问,并且存储/提供到所述一个或多个源或目的地。

示例性流式传输服务实现

图15示出根据至少一些实施方案的其中使用流式传输服务2504来将渲染的视频和声音提供到RVE客户端的示例性基于网络的环境。在至少一些实施方案中,RVE环境可包括RVE系统2600和一个或多个客户端装置2680。RVE系统2600可访问被示为视频源2650的预先渲染的、预先记录的视频的存储区或其他源。在至少一些实施方案中,RVE系统10还可访问存储区或示出为数据源2660的其他数据和信息源,所述数据和信息包括但不限于3D图形数据和用户信息诸如观看者配置文件。

RVE系统2600可包括用于从RVE客户端2682接收输入并且向RVE客户端2682流式传输输出的前端流式传输服务接口2602(例如,应用编程接口(API)),以及用于存储和检索数据的后端数据接口2603,所述数据包括但不限于视频、对象、用户以及如本文所述的其他数据和信息。流式传输服务接口2602可例如根据如图14所示的流式传输服务2504实现。RVE系统2600还可包括视频回放和记录2606模块、3D图形处理和渲染2608模块以及RVE控制模块2604。

响应于用户选择视频用于回放,视频回放和记录2606模块可从视频源2650获得预先渲染的预先记录的视频,根据需要处理视频,并且通过流式传输服务接口2602将预先记录的视频流式传输到相应的客户端装置2680。在其中用户暂停正回放的视频、进入场景中并且探索并可能修改场景的RVE事件期间,3D图形处理和渲染2608模块可从一个或多个数据源2660获得3D数据,根据3D数据生成场景的3D建模世界,从用户控制的摄像机观点渲染3D建模世界的2D表示,并且通过流式传输服务接口2602将实时渲染的视频流式传输到相应的客户端装置2680。在至少一些实施方案中,新渲染的视频内容可通过视频回放和记录2606模块记录。

RVE系统2600还可包括RVE控制模块2604,所述RVE控制模块2604通过流式传输服务接口2602从相应客户端装置2680上的RVE客户端2682接收输入和交互,处理输入和交互,并且相应地引导视频回放和记录2606模块和3D图形处理和渲染2608模块的操作。在至少一些实施方案中,RVE控制模块2604还可跟踪视频回放和记录2606模块的操作。例如,RVE控制模块104可通过视频回放和记录2606模块跟踪给定视频的回放模块,使得RVE控制模块2604可确定哪个场景当前正回放到给定客户端装置。

在至少一些实施方案中,RVE客户端2682可将流式传输服务客户端接口实现为RVE客户端接口2684。用户与正回放到客户端装置2680的视频的交互例如通过使用在客户端装置2680上实现的RVE控件可根据流式传输服务接口2684和2602从客户端装置2680发送到RVE系统2600。不是在客户端装置2680上执行新3D内容的渲染,RVE系统2600的3D图形处理和渲染2608模块可生成和渲染正响应于从RVE客户端2680接收的用户输入实时探索的场景的新视频内容。流式传输服务接口2602可根据流式传输协议将视频内容从RVE系统2600流式传输到RVE客户端2682。在客户端装置2680处,RVE客户端接口2685接收流式传输的视频,从流式传输协议提取视频,并且将视频提供到RVE客户端2682,所述RVE客户端2682将视频显示给客户端装置2680。

示例性提供商网络环境

如本文所描述的包括实时视频探索(RVE)系统和方法、游戏系统和方法以及交互分析方法、模块和服务的系统和方法的实施方案可在服务提供商的上下文中实现,所述服务提供商将提供商网络上的资源(例如,计算资源、存储资源、数据库(DB)资源等)提供到服务提供商的客户端。图16示出其中可实现如本文所述的系统和方法的实施方案的示例性服务提供商网络环境。图16示意性地示出提供商网络2910的实例,所述提供商网络2910可通过中间网络2930、通过用户计算机2902a和2902b(其在本文中以单数形式可被称为一个计算机2902或以复数形式可被称为多个计算机2902)向用户2900a和2900b(其在本文中以单数形式可被称为一个用户2900或以复数形式可被称为多个用户2900)提供计算和其他资源。提供商网络2910可被配置来提供用于永久性地或根据需要执行应用的资源。在至少一些实施方案中,资源实例可通过一个或多个提供商网络服务2911供应,并且可租用或租赁给服务提供商的客户端,例如RVE或游戏系统提供商2970。提供商网络2910上的资源实例中的至少一些可根据硬件虚拟化技术来实现,所述硬件虚拟化技术使得多个操作系统能够同时在主机计算机(例如,主机2916)上(即,作为主机上的虚拟机(VM)2918)运行。

由提供商网络2910提供的计算资源可包括各种类型的资源,诸如网关资源、负载平衡资源、路由资源、网络资源、计算资源、易失性和非易失性存储器资源、内容递送资源、数据处理资源、数据存储资源、数据库资源、数据通信资源、数据流式传输资源等。每种类型的计算资源可以是通用的,或者可用于一些特定配置中。例如,数据处理资源可用作可被配置来提供各种服务的虚拟机实例。另外,资源的组合可通过网络可用并且可被配置为一个或多个服务。实例可被配置来执行应用,包括服务,诸如应用服务、媒体服务、数据库服务、处理服务、网关服务、存储服务、路由服务、安全服务、加密服务、负载平衡服务等。这些服务可配置有集合或定制应用,并且可在大小、执行、成本、延迟、类型、持续时间、可访问性以及任何其他维度上进行配置。这些服务可被配置为用于一个或多个客户端的可用基础设施,并且可包括被配置为平台或一个或多个客户端的软件的一个或多个应用。

这些服务可通过一个或多个通信协议可用。这些通信协议可包括例如超文本传输协议(HTTP)或非HTTP协议。这些通信协议还可包括例如更可靠的传输层协议,诸如传输控制协议(TCP);以及不太可靠的传输层协议,诸如用户数据报协议(UDP)。数据存储资源可包括文件存储装置、区块存储装置等。

每种类型或每种配置的计算资源可具有不同大小,诸如大型资源,其由许多处理器、大量存储器和/或较大存储容量组成;以及小型资源,其由较少处理器、更少量的存储器和/或更小的存储容量组成。例如,客户可选择分配许多如web服务器的小型处理资源和/或如数据库服务器的一个大型处理资源。

提供商网络2910可包括提供计算资源的主机2916a和2916b(其在本文中以单数形式可被称为一个主机2916或以复数形式可被称为多个主机2916)。这些资源可作为裸机资源或作为虚拟机实例2918a-d(其在本文中以单数形式可被称为一个虚拟机实例2918或以复数形式可被称为多个虚拟机实例2918)可用。虚拟机实例2918c和2918d是共享状态虚拟机(“SSVM”)实例。SSVM虚拟机实例2918c和2918d可被配置来执行如本文所述的RVE、游戏和交互分析方法的全部或任何部分。如应理解的,虽然图16中所示的特定实例在每个主机中包括一个SSVM 2918虚拟机,但这仅仅是实例。主机2916可包括多于一个SSVM 2918虚拟机或者可不包括任何SSVM 2918虚拟机。

虚拟化技术对于计算硬件的可用性对于为客户提供大规模的计算资源并且允许在多个客户之间有效且安全地共享计算资源提供了益处。例如,虚拟化技术可允许通过给每个用户提供由物理计算装置托管的一个或多个虚拟机实例而在多个用户之间共享物理计算装置。虚拟机实例可以是充当独特逻辑计算系统的特定物理计算系统的软件仿真。这种虚拟机实例在共享给定的物理计算资源的多个操作系统之间提供隔离。此外,一些虚拟化技术可提供跨越一个或多个物理资源的虚拟资源,诸如具有跨越多个不同物理计算系统的多个虚拟处理器的单个虚拟机实例。

参考图16,中间网络2930例如可以是链接网络中的公共可访问网络并且可能由各个不同方操作,诸如因特网。在其他实施方案中,中间网络2930可以是本地和/或限制网络,诸如完全或部分地不能被非特许用户访问的公司或大学网络。在另外其他的实施方案中,中间网络2930可包括具有对互联网的访问和/或从互联网进行的访问的一个或多个本地网络。

中间网络2930可提供对一个或多个客户端装置2902的访问。用户计算机2902可以是由用户2900或提供商网络2910的其他客户使用的计算装置。例如,用户计算机2902a或2902b可以是服务器、台式或膝上型个人计算机、平板计算机、无线电话、个人数字助理(PDA)、电子书阅读器、游戏控制台、机顶盒或能够通过有线和/或无线通信和协议访问提供商网络2910的任何其他计算装置。在一些实例中,用户计算机2902a或2902b可(例如,通过电缆调制解调器或数字用户线路(DSL))直接连接到互联网。尽管仅描绘了两个用户计算机2902a和2902b,但应理解可存在多个用户计算机。

用户计算机2902还可用于通过提供商网络服务2911配置由提供商网络2910提供的计算、存储和其他资源的方面。就这一点而言,提供商网络2910可提供网关或web接口,通过所述网关或web接口,可通过使用在用户计算机2902上执行的web浏览器应用程序来配置所述提供商网络2910的操作的各方面。可替代地,在用户计算机2902上执行的独立应用程序可访问由提供商网络2910的服务2911公开的应用编程接口(API)用于执行配置操作。还可利用用于配置提供商网络2910处可用的各种资源的操作的其他机制。

图16所示的主机2916可以是被适当地配置用于提供上文所述的计算资源的标准主机装置,并且可提供用于执行一个或多个服务和/或应用的计算资源。在一个实施方案中,计算资源可以是虚拟机实例2918。在虚拟机实例的实施例中,主机2916中的每一个可被配置来执行能够执行虚拟机实例2918的实例管理器2920a或2920b(其在本文中以单数形式可被称为一个实例管理器2920或以复数形式可被称为多个实例管理器2920)。例如,实例管理器2920可以是管理器或虚拟机监视程序(VMM)或被配置来允许在主机2916上执行虚拟机实例2918的另一类型的程序。如上文所讨论的,虚拟机实例2918中的每一个可被配置来执行应用或服务的全部或一部分。

在图16所示的示例性提供商网络2910中,路由器2914可用来互连主机2916a和2916b。路由器2914还可连接到网关2940,所述网关2940连接到中间网络2930。路由器2914可连接到一个或多个负载平衡器,并且可例如通过基于此类通信的特性(例如,包括源地址和/或目的地地址、协议标识符、大小、处理要求等的标头信息)和/或网络的特性(例如,基于网络拓扑、子网或分区等的路线)适当地转发数据包或其他数据通信来单独或组合地管理提供商网络2910内的通信。应理解,为了简单起见,示出了这个实例的计算系统和其他装置的各方面,而并未展示某些常规的细节。另外的计算系统和其他装置在其他实施方案中可被互连并且可以不同的方式互连。

在图16所示的示例性提供商网络2910中,还可采用主机管理器2915来至少部分地引导至主机2916a和2916b、来自主机2916a和2916b和/或主机2916a与2916b之间的各种通信。虽然图16描绘位于网关2940与主机管理器2915之间的路由器2914,但这是作为示例性配置给出的,并且不旨在进行限制。在一些情况下,例如,主机管理器2915可位于网关2940与路由器2914之间。在一些情况下,主机管理器2915可检查来自用户计算机2902的传入通信的部分,以确定一个或多个适当的主机2916来接收和/或处理传入的通信。主机管理器2915可基于诸如以下因素确定适当的主机以接收和/或处理传入的通信:与用户计算机2902相关联的身份、位置或其他属性;与通信相关联的任务的性质;与通信相关联的任务的优先级;与通信相关联的任务的持续时间;与通信相关联的任务的大小和/或估计资源使用以及许多其他因素。主机管理器2915可例如收集或以其他方式访问与各种任务相关联的状态信息和其他信息,以便例如帮助管理与此类任务相关联的通信和其他操作。

应理解,在图16中示出的网络拓扑已大大简化,并且可使用更多的网络和网络装置来互连本文所公开的各种计算系统。这些网络拓扑和装置对本领域那些技术人员来说应是明显的。

还应理解,在图16中所述的提供商网络2910仅以实例给出,并且可利用其他实现。另外,应理解,本文所公开的功能可以软件、硬件或软件与硬件的组合来实现。其他实现对本领域那些技术人员来说应是明显的。还应理解,主机、服务器、网关或其他计算装置可包括可交互并执行所述类型的功能的硬件或软件的任何组合,其包括但不限于台式计算机或其他计算机、数据库服务器、网络存储装置和其他网络装置、PDA、平板机、蜂窝电话、无线电话、寻呼机、电子管理器、互联网电器、基于电视的系统(例如,使用机顶盒和/或个人/数字视频记录器)、游戏系统和游戏控制器以及包括适当通信能力的各种其他消费品。此外,由所示出模块提供的功能可在一些实施方案中以较少的模块来组合或分布于另外的模块中。类似地,在一些实施方案中,可不提供所示出模块中的一些的功能和/或可使用其他另外的功能。

可鉴于以下条款对本公开的实施方案进行描述:

1.一种系统,其包括:

一个或多个计算装置,其被配置来实现实时视频探索(RVE)系统,所述实时视频探索(RVE)系统被配置来:

将视频流式传输到多个客户端装置;

从所述客户端装置中的一个或多个接收指示探索所述流式传输的视频的内容的用户交互的输入;并且

至少部分地基于探索所述流式传输的视频的所述内容的所述用户交互渲染新视频内容并将其流式传输到所述一个或多个客户端装置;

一个或多个计算装置,其被配置来实现交互分析模块,所述交互分析模块被配置来:

从所述RVE系统获得指示探索所述流式传输的视频的所述内容的至少一些所述用户交互的交互数据;

分析所述交互数据以确定用户或用户组与所述流式传输的视频的所述内容之间的相关性;并且

将指示所述确定的相关性的分析数据提供到一个或多个系统;

其中所述一个或多个系统被配置来至少部分地基于如所述分析数据中指示的所述确定的相关性来提供定向到特定用户或用户组的内容或信息。

2.如条款1所述的系统,其中所述一个或多个系统包括所述RVE系统,并且其中所述RVE系统还被配置来至少部分地基于如所述分析数据中指示的所述确定的相关性渲染定向到所述特定用户或用户组的新视频内容并将其流式传输到所述客户端装置中的相应客户端装置。

3.如条款1所述的系统,其中所述一个或多个系统中的至少一个被配置来至少部分地基于如所述分析数据中指示的所述确定的相关性来通过一个或多个通信通道提供定向到所述特定用户或用户组的特定产品或服务的信息、广告或推荐。

4.如条款1所述的系统,其中所述交互分析模块还被配置来使来自一个或多个源的客户端信息与所述交互数据相关以便使特定用户的交互数据与所述特定用户的客户端信息相关联,其中所述客户端信息包括多个用户的客户端身份信息和客户端配置文件信息,并且其中所述分析数据还指示所述客户端信息与所述交互数据之间的关联性。

5.如条款1所述的系统,其中所述交互分析模块被实现为提供商网络上的交互分析服务,其中根据所述服务的应用编程接口(API)从所述RVE系统获得所述交互数据,并且其中根据所述API将所述分析数据提供到所述一个或多个系统。

6.如条款5所述的系统,其中所述交互分析服务被配置来:

从至少一个另一RVE系统获得交互数据;

将来自所述RVE系统的所述交互数据组合并且分析所述组合的交互数据以便基于对所述组合的交互数据的所述分析确定用户或用户组与视频内容之间的相关性;并且

将指示基于所述组合的交互数据确定的所述相关性的分析数据提供到所述一个或多个系统中的至少一个。

7.如条款1所述的系统,其中所述交互分析模块是所述RVE系统的部件。

8.如条款1所述的系统,其中实现所述RVE系统的所述一个或多个计算装置位于提供商网络上,并且其中所述RVE系统被配置来利用所述提供商网络的一个或多个计算资源来在预先记录的视频回放到所述多个客户端装置期间实时执行所述渲染新视频内容并将其流式传输到所述一个或多个客户端装置。

9.一种方法,其包括:

通过在一个或多个计算装置上实现的视频系统从一个或多个客户端装置接收指示用户与发送到所述一个或多个客户端装置的视频内容的交互的输入;

至少部分地基于所述用户与所述视频的所述内容的交互渲染新视频内容并将其发送到所述一个或多个客户端装置;

通过交互分析模块分析所述用户与所述视频的所述内容的交互以确定至少一个用户与特定视频内容之间的相关性;以及

至少部分地基于所述确定的相关性提供定向到一个或多个特定用户的内容或信息。

10.如条款9所述的方法,其中所述至少部分地基于所述确定的相关性提供定向到一个或多个特定用户的内容或信息包括至少部分地基于所述确定的相关性渲染定向到所述一个或多个特定用户的视频内容并且将包括所述定向视频内容的视频发送到相应客户端装置。

11.如条款9所述的方法,其中所述视频系统是实时视频探索(RVE)系统,所述方法还包括:

通过所述交互分析模块更新由所述RVE系统维护的一个或多个用户的配置文件以便指示所述用户与特定视频内容之间的相关性;以及

至少部分地基于特定用户的配置文件通过所述RVE系统渲染定向到所述特定用户的新视频内容;以及

将包括所述定向视频内容的视频发送到所述特定用户的相应客户端装置。

12.如条款9所述的方法,其中所述至少部分地基于所述确定的相关性提供定向到一个或多个特定用户的内容或信息包括通过一个或多个通信通道向所述特定用户提供特定产品或服务的信息、广告或推荐。

13.如条款9所述的方法,其还包括使来自一个或多个源的客户端信息与所述用户交互相关以便使特定用户的交互与所述特定用户的客户端信息相关联,其中所述客户端信息包括多个用户的客户端身份信息和客户端配置文件信息。

14.如条款9所述的方法,其中所述视频系统是实时视频探索(RVE)系统或在线游戏系统。

15.如条款9所述的方法,其中所述交互分析模块被实现为交互分析服务,所述方法还包括:

通过所述交互分析服务从两个或更多个视频系统接收指示用户与视频内容的交互的交互数据;

通过所述交互分析模块分析所述接收的交互数据以确定特定用户或用户组与特定视频内容之间的相关性;以及

将指示所述确定的相关性的分析数据提供到一个或多个系统。

16.一种存储程序指令的非暂时性计算机可读存储介质,所述程序指令在一个或多个计算机上执行时致使所述一个或多个计算机实现实时视频探索(RVE)系统,所述实时视频探索(RVE)系统被配置来:

从一个或多个客户端装置接收指示用户与流式传输到所述一个或多个客户端装置的视频的交互的输入;

分析所述用户与所述流式传输的视频的交互以确定至少一个用户与所述流式传输的视频的特定内容之间的相关性;

至少部分地基于所述确定的相关性渲染定向到一个或多个用户的新视频内容;并且

将包括所述定向视频内容的视频流式传输到所述一个或多个用户的相应客户端装置。

17.如条款16所述的非暂时性计算机可读存储介质,其中根据所述RVE系统的应用编程接口(API)从所述一个或多个客户端装置接收所述输入。

18.如条款16所述的非暂时性计算机可读存储介质,其中所述定向视频内容对于所述多个客户端装置中的至少两个是不同的。

19.如条款16所述的非暂时性计算机可读存储介质,其中针对特定用户的所述定向视频内容包括至少部分地根据所述用户与所述流式传输的视频中的视频内容的交互的为所述用户选择的特定对象或对象类型的渲染。

20.如条款16所述的非暂时性计算机可读存储介质,其中所述RVE系统被配置来在预先记录的视频回放到所述多个客户端装置期间实时执行所述渲染新视频内容以及所述将包括所述定向视频内容的视频流式传输到相应客户端装置。

21.如条款16所述的非暂时性计算机可读存储介质,其中为了至少部分地基于所述确定的相关性渲染定向到一个或多个用户的新视频内容,所述RVE系统被配置来:

至少部分地根据所述确定的相关性确定一个或多个用户组;并且

至少部分地基于所述确定的用户组渲染定向到特定用户的新视频内容。

22.如条款16所述的非暂时性计算机可读存储介质,其中为了至少部分地基于所述确定的相关性渲染定向到一个或多个用户的新视频内容,所述RVE系统被配置来至少部分地基于特定用户与所述流式传输的视频的特定内容之间的所述确定的相关性渲染定向到一个或多个用户组的新视频内容。

说明性系统

在至少一些实施方案中,实现如本文所述的技术中的部分或全部的计算装置可包括通用计算机系统,诸如图17中所示的计算机系统3000,所述通用计算机系统包括一种或多种计算机可读介质或被配置来访问一种或多种计算机可读介质。在示出的实施方案中,计算机系统3000包括通过输入/输出(I/O)接口3030联接到系统存储器3020的一个或多个处理器3010。计算机系统3000还包括联接到I/O接口3030的网络接口3040。

在各种实施方案中,计算机系统3000可以是包括一个处理器3010的单处理器系统,或包括若干处理器3010(例如两个、四个、八个或另一合适数目)的多处理器系统。处理器3010可以是能够执行指令的任何合适处理器。例如,在各种实施方案中,处理器3010可以是实现各种指令集架构(ISA)中任一种架构的通用或嵌入式处理器,所述架构诸如x86、PowerPC、SPARC、或MIPS ISA或任何其他合适ISA。在多处理器系统中,每一个处理器3010通常可但不一定实现相同的ISA。

系统存储器3020可被配置来存储可由处理器3010访问的指令和数据。在各种实施方案中,系统存储器3020可使用任何合适存储器技术来实现,所述存储器技术诸如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/快闪型存储器或任何其他类型的存储器。在示出的实施方案中,实现一个或多个期望功能的程序指令和数据(诸如上文所述的那些方法、技术以及数据)显示成作为代码3025和数据3026存储在系统存储器3020内。

在一个实施方案中,I/O接口3030可被配置来协调处理器3010、系统存储器3020和装置中的任何外围装置之间的I/O流量,所述外围装置包括网络接口3040或其他外围接口。在一些实施方案中,I/O接口3030可执行任何必需协议、时序或其他数据变换以将来自一个部件(例如,系统存储器3020)的数据信号转换成适合于由另一个部件(例如,处理器3010)使用的格式。在一些实施方案中,I/O接口3030可包括对于通过各种类型的外围总线附接的装置的支持,所述外围总线例如像外围部件互连(PCI)总线标准或通用串行总线(USB)标准的变型。在一些实施方案中,I/O接口3030的功能可分到两个或更多个单独的部件中,例如像北桥和南桥。另外,在一些实施方案中,I/O接口3030的一些或所有功能,诸如到系统存储器3020的接口,可直接并入处理器3010中。

网络接口3040可被配置来允许数据在计算机系统3000与附接到一个或多个网络3050的其他装置3060(例如像其他计算机系统或装置)之间进行交换。在各种实施方案中,网络接口3040可支持通过任何合适有线或无线通用数据网络(例如像以太网网络类型)进行通信。另外,网络接口3040可支持通过电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、通过存储区域网络(诸如光纤通道SAN)或通过任何其他合适类型的网络和/或协议进行通信。

在一些实施方案中,系统存储器3020可以是计算机可读介质的一个实施方案,所述计算机可读介质被配置来存储如上文所述的用于实现对应方法和设备的实施方案的程序指令和数据。然而,在其他实施方案中,可在不同类型的计算机可读介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可读介质可包括非暂时性存储介质或存储器介质,诸如磁性介质或光学介质,例如通过I/O接口3030联接到计算机系统3000的磁盘或DVD/CD。非暂时性计算机可读存储介质还可包括可作为系统存储器3020或另一类型的存储器被包括在计算机系统3000的一些实施方案中的任何易失性或非易失性介质,诸如RAM(例如,SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等。此外,计算机可读介质可包括传输介质或信号(诸如电信号、电磁信号或数字信号),通过通信介质(诸如网络和/或无线链接)传送,所述通信介质诸如可通过网络接口3040来实现。

总结

各种实施方案还可包括在计算机可读介质上接收、发送或存储根据前面的描述而实现的指令和/或数据。一般来说,计算机可读介质可包括存储介质或存储器介质,诸如磁性或光学介质(例如磁盘或DVD/CD-ROM)、易失性或非易失性介质(诸如RAM(例如,SDRAM、DDR、RDRAM、SRAM等)、ROM等),以及传输介质或信号(诸如电信号、电磁信号或数字信号),通过通信介质(诸如网络和/或无线链接)传送。

在图中所示出并且在本文中所描述的各种方法表示方法的示例性实施方案。所述方法可以软件、硬件或其组合实现。方法的次序可改变,并且各种元素可添加、重新排序、组合、省略、修改等。

受益于本公开的本领域技术人员将清楚地知晓可做出各种修改和变化。旨在包括所有此类修改和变化,并且因此,以上描述应视为具有说明性而非限制性意义。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1