映射虚拟环境的装置和方法

文档序号:1559152 发布日期:2020-01-21 浏览:14次 >En<

阅读说明:本技术 映射虚拟环境的装置和方法 (Apparatus and method for mapping virtual environment ) 是由 N.A.E.瑞安 H.A.D.斯宾塞 A.斯旺 S.A.圣约翰布里斯林 P.S.帕内萨 于 2019-07-11 设计创作,主要内容包括:一种映射虚拟环境的方法,包括步骤:获取视频游戏标题输出的第一视频图像序列;获取创建视频图像的对应游戏内虚拟相机位置序列;获取创建视频图像时视频游戏使用的深度缓存的对应深度缓存值序列;以及对于获取的序列的多个视频图像和对应的深度缓存值中的每一个,获取对应于与各个视频图像内的预定位置集相对应的所选预定深度值集的映射点;其中于每对深度值和视频图像位置,映射点具有基于深度值的到虚拟相机位置的距离,以及基于虚拟相机和各个视频图像位置的相对位置的位置,从而获取对应于第一视频图像序列的映射点的地图数据集。(A method of mapping a virtual environment, comprising the steps of: acquiring a first video image sequence output by a video game title; acquiring a corresponding in-game virtual camera position sequence for creating a video image; acquiring a depth cache value sequence corresponding to a depth cache used by a video game when a video image is created; and for each of a plurality of video images of the acquired sequence and corresponding depth buffer values, acquiring a mapping point corresponding to a selected set of predetermined depth values corresponding to a set of predetermined positions within the respective video image; wherein for each pair of a depth value and a video image position, the mapped point has a distance to the virtual camera position based on the depth value and a position based on the relative positions of the virtual camera and the respective video image position, thereby obtaining a map data set corresponding to the mapped point of the first video image sequence.)

映射虚拟环境的装置和方法

技术领域

本发明涉及映射虚拟环境的装置和方法。

背景技术

视频游戏的玩家通常需要帮助,要么在他们被卡住或想发现其它特征时继续游戏;要么提高他们现有的游戏,例如打破个人最佳分数。

一个帮助的来源可以是游戏环境的地图。然而,这样的地图制作起来很费力,尤其是在需要高层次的细节或者游戏环境很大的情况下。或者,游戏开发者可以从虚拟高海拔处的虚拟相机位置渲染游戏环境以创建地图,但反过来,这可能有环境中的单个特征太小或不清晰的缺点;通常在地图上,当距离要被缩放时,兴趣点和其它对象是不会被缩放的。

此外,整体环境的地图可能无法提供细节类型和/或使地图引人入胜的与用户体验的相关性。

同时,游戏内镜头的视频捕获以及视频创建者的评论(例如

Figure BDA0002126357080000011

上的浏览和快速游戏)作为指南或娱乐很受欢迎,但依赖于评论员提供所需信息和/或说明或演示观众想要的特定动作。对于一个给定的视频,是否能够提供相关的信息以满足观众的要求是不容易预测的,这会在观看视频不能透露想要的答案时导致沮丧。其中省略的信息可能是例如玩家在游戏内的位置。因此,这种视频对于想要获取视频游戏帮助的观看者的好处是非常多变的。

发明内容

本发明力图解决或减轻这些问题。

在第一方面,根据权利要求1提供了一种映射虚拟环境的方法。

在另一方面,根据权利要求16提供了一种娱乐设备。

本发明的其它各个方面和特征在所附权利要求中进行了定义。

附图说明

现在将参照附图以示例的方式描述本发明的实施例,其中:

图1是根据本发明实施例的可操作为视频记录装置、视频回放装置和事件分析仪中的一个或多个的娱乐设备的示意图。

图2是根据本发明实施例的包含视频记录装置、视频回放装置和事件分析仪的系统的示意图。

图3是根据本发明实施例的视频记录方法的流程图。

图4A和图4B说明了根据本发明实施例的视频图像和对应的深度缓存信息。

图5说明了根据本发明实施例的深度缓存信息和附加数据的图像编码方案。

图6是根据本发明实施例的视频回放方法的流程图。

图7说明了根据本发明实施例的统计上重要的游戏内事件的图形表示的视频增强。

图8是根据本发明实施例的事件分析方法的流程图。

图9至图12是根据本发明实施例的游戏镜头的视频记录的可能增强的示例说明。

图13是根据本发明实施例的映射虚拟环境的方法的流程图。

图14A和图14B说明了根据本发明实施例的获取视频图像中预定点集的深度信息的过程。

图14C说明了根据本发明实施例的地图空间中的映射点。

具体实施方式

公开了一种映射虚拟环境的装置和方法。在下面的描述中,为了提供对本发明实施例的透彻理解,提出了许多具体细节。然而,对于本领域技术人员来说,显然不需要使用这些具体细节来实施本发明。相反,为了清楚起见,在适当的情况下省略了本领域技术人员已知的特定细节。

图1示意性地说明了娱乐设备的总体系统结构。提供系统单元10,其具有可连接到该系统单元的各种***设备。

系统单元10包括加速处理单元(APU)20,该加速处理单元20是单独的芯片,其转而包括中央处理单元(CPU)20A和图形处理单元(GPU)20B。APU20可以访问随机存取存储器(RAM)单元22。

APU 20(可选地)通过I/O桥24与总线40通信,I/O桥24可能是APU20的分立元件或APU20的一部分。

连接到总线40的是数据存储组件,如硬盘驱动器37和可操作以访问兼容光盘36A上的数据的蓝光驱动器36。此外,RAM单元22可与总线40通信。

可选地也连接到总线40的是辅助处理器38。可以提供辅助处理器38来运行或支持操作系统。

系统单元10通过音频/视频输入端口31、以太网端口32、蓝牙无线链路33、Wi-Fi无线链路34或一个或多个通用串行总线(USB)端口35与***设备进行适当的通信。音频和视频可以通过AV输出39输出,例如HDMI端口。

***设备可包括单视场或立体相机41(例如PlayStation眼)、棒式视频游戏控制器42(例如PlayStation移动)、以及常规手持视频游戏控制器43(例如Dualshock4)、便携式娱乐设备44(例如

Figure BDA0002126357080000031

Figure BDA0002126357080000032

)、键盘45和/或鼠标46、媒体控制器47(例如遥控器)、以及耳机48。其它***设备可类似地考虑例如打印机或3D打印机(未示出)。

GPU 20B(可选地与CPU 20A一起)通过AV输出39生成用于输出的视频图像和音频。或者,其可以与音频处理器一起或者由音频处理器(未示出)生成音频。

视频和音频(可选地)可以呈现给电视51。在电视的支持下,视频可以是立体的。音频可以以例如立体声、5.1环绕声或7.1环绕声多种格式之一呈现给家庭影院系统52。视频和音频也可以呈现给用户60穿戴的头戴式显示单元53。

在操作中,娱乐设备默认为操作系统,例如freebsd9.0的变体。操作系统可以在CPU 20A、辅助处理器38或两者的混合体上运行。操作系统为用户提供图形用户界面,如PlayStation动态菜单。该菜单允许用户访问操作系统功能并选择游戏和其它内容(可选地)。

现在也参考图2,根据本发明的实施例,上述娱乐设备10可以在适当的软件指令下作为视频记录装置(210A)和/或视频回放装置(210B)运行。可选地,娱乐设备也可以作为事件分析仪220运行,与记录/回放角色分开或与记录角色集成。在其它实现中,事件分析仪可以是远程服务器,且/或视频回放装置可以是娱乐设备10的不同形式的设备,例如移动电话或平板电脑、PC、智能电视、机顶盒或不同种类的视频游戏控制台。

如果装置是单独的设备,则它们可以通过互联网进行通信(例如,使用以太网或WiFi端口32、34(视情况而定),或使用蜂窝移动数据)。

现在也转到图3,视频记录装置210A可根据以下视频记录方法操作,其中:

第一步骤S310包括记录视频游戏输出的第一视频图像序列。例如,PlayStation4通常将当前视频图像输出的视频保存在一个数据循环中,该数据循环允许存储游戏设置的最后N分钟,其中N可能是例如20分钟。随后,响应于用户输入、游戏内事件或预定事件,还可以通过网络将此视频数据复制到长期存储中,例如娱乐设备的磁盘驱动器或远程主机,以便在数据循环中重写时不会丢失。

第二步S320包括记录视频游戏使用的深度缓存的深度缓存值序列。娱乐设备在计算虚拟场景的哪些部分位于彼此前面并因此可能会在最终的渲染图像中相互遮挡时使用深度缓存。因此,它可以为渲染图像的每个像素提供深度数据。

在一个实施例中,渲染图像的对应像素的深度数据阵列反过来可被视为深度图像。因此,例如,8位或16位深度值可以存储为对应于渲染图像的8位或16位灰度图像。深度图像可以与对应的视频图像具有相同的分辨率,或者可以使用降低的分辨率版本(例如,50%的大小,具有1/4像素)。

因此,例如,对于具有三个8位数据通道(例如,对于红色、绿色和蓝色)的常规图像格式,8位深度值可以占用一个数据通道,或者16位深度值可以占用两个数据通道。

图4A示出了渲染图像,而图4B示出了两个数据通道中的对应深度图像。

因此,记录深度缓存值序列的步骤可以包括:对于所记录的深度缓存的每个实例,使用深度图像的多个图像数据通道中的至少一个来生成深度图像。

下文描述了用于记录深度缓存值序列的替代方法。

第三步S330包括记录用于生成视频图像的游戏内虚拟相机位置序列。虚拟相机位置是渲染输出视频图像时使用的相机位置。该位置可以定义为相对于游戏世界坐标系统、和/或相对于具有预定原点的全局坐标系统的绝对位置(例如,在后一种情况下,虚拟相机在第一个输出视频图像中的位置可以设置在原点,随后的相机位置相对于该原点)。或者,根据需要,可以提供附加的相机位置信息,例如位置处的相机方向/旋转、视场、焦距、最近的绘图距离、最远的绘图距离等中的一个或多个。

可以将虚拟相机位置数据记录为单独的数据流或与编码的深度数据相关联的元数据,如下文所述,但也可以通过在不用于记录深度缓存值的多个图像数据通道中的不同通道中对数据进行编码来记录。因此,例如,在使用红色和绿色通道编码深度数据的RGB图像中,蓝色通道可用于编码相机位置数据。因此,在本发明的实施例中,游戏内的虚拟相机位置数据被空间上作为高对比度块记录在各自的图像数据通道中。

同样可选地,如果游戏不是从第一人称的视角看的(即,当理论上玩家不在虚拟相机位置,但在屏幕上显示了一个虚拟人物),则可以使用相同的坐标方案或与用于记录虚拟相机位置数据相同的坐标方案记录玩家的位置,以及(可选地)他们的方向/旋转、速度、模式(如跑步/走路)和/或姿势中的一个或多个。同样,这可能是单独的数据流、元数据,或者编码在图像内(例如,与虚拟相机数据一起以类似的方式编码)。

在视频图像的彩色通道内编码深度数据的第一个示例中,图5示出了对于图4A中相同的图像、并对应于图4B中所示的深度数据的红色和绿色通道中编码深度数据的RGB图像,以及蓝色通道中的相机/玩家位置数据。对于图像的灰度复制,应当理解的是,块状特征表示蓝色通道中相机和玩家位置数据(可选地)等的空间编码。块尺寸可以对应于编码图像的宏块、也可以是取决于要编码的信息量的任意尺寸。块尺寸的下限将由在视频记录、托管/存储/流媒体(视情况而定)和游戏过程中使用的任何图像压缩/解压缩之后,可以可靠地恢复的块尺寸来定义。同样,对于图像的灰度再现,应当理解的是,地形中的条纹是由16位深度数据中的低8位在绿色通道中造成的,当16位距离值增加时,使得绿色值在0到255之间循环。在这个例子中,R、G和B通道的选择是任意的。因此,该补充数据可以作为与视频游戏输出的视频图像序列并行运行的第二图像序列提供。

然而,这种方案可能会受到经常出现在在线视频流中的更高的压缩率的影响。因此,现在描述用于记录深度缓存数据和其它数据(可选地)的优选替代方法集。

在本发明的实施例中,记录两个彩***;如先前所述的渲染和显示场景的彩***,以及编码16位深度数据的彩***,通常基于以下格式之一:

-在4:0:0单色以位深16位采样的使用Main 4:4:4:416帧内范本的H.265视频,或

-在4:4:4色度以位深16位采样的使用Main 4:4:4:416帧内范本的H.265视频,或

-类似格式的视频,例如4:0:0或4:4:416位的高吞吐量4:4:416帧内范本,

例如,在支持这些范本的任何HEVC版本、或等效编码方案中,和/或

-UCL彩***,其中16位深度缓存被转换为三个彩色通道(例如,RGB值),然后可以像普通视频一样使用H264、AV9、H265等进行存储。

如FabrizioPece、JanKautz和TimWeyrich中关于实景视频所述,UCL彩***能够对深度数据(视为彩色数据)进行弹性压缩;“为深度流适配标准视频编解码器”,EuroVR联合虚拟现实会议-EGVE(2011),编辑R.Blach,S.Coquillart,M.D'Cruz,A.Steed和G.Welch,其内容以引用方式并入本文中。

总之,在UCL彩***格式中,第一彩色通道的高8位是从16位深度数据的线性映射,以提供近似深度值。然后,第二和第三颜色通道也是应用于16位深度数据、并且周期至少是深度数据量化级别的两倍(例如,对于具有256个级别的8位深度,周期将小于等于512)、但具有不同的相位的映射(例如,三角波)。由于相位差,它们关于函数的空间周期对互补高分辨率深度信息进行编码。然后,可以通过在第一通道中反转映射来恢复深度信息,以提供粗略的深度值,并且然后取决于来自第一通道的值反转通常是第二和第三通道中的一个的映射,以获取用于调整粗略值的相对深度值。

在另一种可以类似地考虑的格式中,16位深度数据以有损的方式压缩到8位,并存储在第一颜色通道的高8位。然后,第一校正层(例如,原始深度层和第一颜色通道中数据的解压缩版本之间的差异)存储在第二颜色通道的高8位。最后,第二校正层(例如,原始深度层与使用校正层校正的第一颜色通道中数据的解压缩版本之间的差异)存储在第三颜色通道的高8位。或者,单个校正步骤的校正数据可以存储在第二和第三颜色通道之间各自的高8位。

换言之,无论采用哪种格式,8位的第一通道都提供粗略但全局的深度值,而8位的第二和第三通道提供更高分辨率的深度信息,以调整粗略估计。

同样,在这两种情况下,如果视频编解码器包括例如10位颜色深度,则每个通道中的8位对视频压缩更为鲁棒。

因此,值得注意的是,在这两种情况下,原始深度数据的16位存储为主机数据方案内的24位编码深度数据(例如RGB数据或类似数据,如YUV、YCOCG、YCBCR等),并且这些位优选地不包括主机数据方案中的最低有效位,尽管可以理解一些方案将不同数量的比特分配给不同的通道,因此可选地但不太优选地,至少一个但不是全部通道可以被编码的深度数据完全占用。当然,如果可以接受深度信息中的潜在错误,或者预期的压缩方案不会影响比特值(或者仅在视觉上可接受的程度影响),则编码的深度数据可以占据颜色通道的一些或全部的全部对应比特。

值得注意的是,虽然上述概述涉及颜色通道,但在一些颜色编码方案中,并非全部通道都对应于颜色本身(例如,通道可以指示亮度);然而,在每种情况下,作为整体的方案用于定义颜色空间中的点,并且在这种意义上,这些通道在本文中称为颜色通道,或者同样地称为颜色空间描述符通道。

应当理解的是,在三个通道中16位深度数据和8位压缩仅仅是示例性的。更一般地,在UCL彩***中,N比特深度数据(其中N通常为16)可以被编码为每个颜色空间描述符通道的M比特(其中M通常为8),并且通常M<P,其中P是主机数据方案中对应通道的本机比特深度,并且M优选地是1比特,或者更优选地是两比特,小于P。所使用的颜色通道的数量通常是三个(例如,YUV),但是可以是不同的(例如,CMYK)。

因此,更一般地,对深度缓存值序列进行编码包括在由所选视频方案使用的多个颜色空间描述符通道上编码第一比特深度的深度数据,使得第一通道将指示深度的数据编码到第一精确度水平。所述或每个后续通道将与第一通道的数据一起指示深度的数据编码到第二较高水平。通常,在该编码期间,将每个通道中的深度数据编码为比对应通道的比特长度较短的比特长度,尽管这不是必需的。

因此,渲染环境的彩***和深度数据的彩色编码视频都可以通过例如h.265之类的传统视频编码技术来编码和/或压缩,例如以便流式传输到一个或多个观看者,并且深度信息的量化通常将以与渲染的视频中的颜色数据的鲁棒性相同(或更多)的方式保持。

可选地,为了提供传输和同步的简易性,可以将两个视频编码为立体对(尽管不是这样)。第四步骤S340包括使用与虚拟相机位置和(可选地)游戏者位置类似的方案记录一个或多个游戏内事件及其各自的游戏内位置。将由设计者做出以这种方式记录何种游戏内事件的选择,但通常可包括一个或多个碰撞/角色死亡、超越/击败真实或基于计算机的对手、改变用户的游戏内状态(例如,更换装备的武器等,或在汽车中使用氮氧推进)以及玩家选择(例如,左转或右转以避开障碍物,或选择跳过它)。在后一种情况下,该选择可以与预定的游戏内决策点相关联,该预的游戏内决策点可以是基于位置的(例如,障碍物或路径选择),或者可以是逻辑的(例如,当使用游戏内角色导航对话树时)。在基于位置的选择的情况下,由于关于当用户回应选择时用户的变化,作出的选择可以与游戏内的决策点的位置而不是用户或相机的位置相关联,以协助随后对决策的分析。可替代地或另外地,这样的决策可以在由用户做出时、或者当游戏内决策点相对于虚拟相机处于最近的绘制位置时、或者与虚拟相机处于某个其它预定关系时(例如,在预定距离内)进行编码,以便提供关于哪个视频图像可以与选择数据相关联的可预测性,或者可以针对这两个时刻之间的每个图像编码选择数据(或类似地,对于相机和/或用户化身在游戏内决策点的预定距离内的任何视频帧)。除了位置特定事件之外,还可以记录正在进行的事件。因此,可选地,对于每个视频图像,当前用户输入(例如,按下的按钮或相关联的输入值)也可以以类似的方式记录,以提供用户与游戏的交互的近似记录,并且类似地,即使用户的游戏内位置(例如,化身位置)与相机位置不同,用户的游戏内位置也可以被视为正在进行的事件。如本文后面所述,虽然该记录步骤通常在游戏期间发生并且反映直接由游戏玩法引起的事件,但是可替代地或另外地,这种游戏内事件的记录步骤也可以发生在输出视频图像和其他数据之后,并且可选地在它们被广播/流式传输之后;也就是说,观看者随后使用与本文的技术兼容的查看器观看视频,其具有足够的信息可用于在事实之后定义他们自己的游戏内事件。然后可以共享这些信息,例如,通过重新发布更新的视频,或者适当地并且如下文所述,通过将它们发送到中央服务器。

如上所述,为视频游戏输出的视频图像序列中的每一个记录数据,但通常不作为输出视频图像序列本身的一部分记录,而是记录为并行数据序列,其中至少深度数据被编码为视频图像。

在优选的彩***编码方法中,本文中描述的在彩色数据通道内编码的其它信息(例如虚拟相机位置、以及(可选地)化身位置和/或游戏内事件位置)可以在颜色编码深度视频内(或者可能在渲染的输出的视频内,或者可能在两者中以提供冗余,或者跨越两者以减少或平衡各个开销,例如以帮助视频的同步流式传输)存储为单独的数据流。

例如,该数据可以存储在分别与两个视频中的一个相关联的一个或多个可扩展元数据平台流或类似物中。或者,所选择的视频方案可以包括可以容纳该数据的用户字段。

因此,在第五步骤S350中,将深度缓存值序列编码为第二视频图像序列;在第六步骤S360中,将游戏内虚拟相机位置序列与第一和第二视频图像序列(通常是第二视频图像序列)中的至少一个相关联。

在另一个可选步骤中,视频游戏的标识符也与一个或两个视频图像序列相关联(以及与同样编码的任何可选附加信息相关联,例如玩家位置、用户选择等)。

该标识符使得能够随后分析视频序列,而不需要基于图像识别从其记录视频序列的游戏。标识符可以简单地是纯文本游戏的名称,或者是与游戏相关联的唯一发行号。为简单起见,标识符可以对应于已经与游戏相关联的标识符,例如用于使用与主机视频游戏控制台相关联的管理服务来注册游戏的全部权。

可选地,一个或多个游戏内事件及其各自的游戏内位置与视频游戏的标识符相关联。

游戏内事件、它们各自的游戏内位置、以及用于视频游戏的标识符然后可以(可选地)上传到远程服务器,所述远程服务器可操作为事件分析仪220,其从用作视频记录装置的多个客户端设备接收到这样的数据,并识别数据的统计上的重要的特征,如下文所述。

游戏内事件及其各自的游戏内位置可以替代地或附加地与深度缓存值序列、游戏内虚拟相机位置序列以及补充图像序列的颜色通道内的视频游戏的标识符一起编码,从而(也)以这种方式将他们与视频游戏的标识符相关联。这允许游戏内事件的特定实例与特定视频记录相关联。

可选地,视频游戏(视频记录)的每个记录的图像序列可以具有唯一的视频ID,其可以(可选地)被发送到事件分析仪。然后可以将事件数据与唯一的视频ID相关联地发送到事件分析仪。随后,除了任何统计分析之外,事件分析仪可以(可选地)将事件数据发送回到向其发送唯一的视频ID的视频回放装置。

类似地,可选地,深度缓存值序列和/或游戏内虚拟相机位置序列以及任何其它可选数据(例如,玩家化身位置)也可以与唯一的视频ID相关联地上传到事件分析仪。

如果以这种方式上传全部补充数据,则可以将其作为如先前所述编码的并行视频记录提供给服务器,或者作为服务器以这种方式编码的单独数据元素。

随后,当视频回放装置传送在视频记录中找到的唯一视频ID时,它可以接收全部的补充数据,例如如前文所述编码的并行视频记录。

可选地或另外地,视频记录器可以首先将并行视频记录上传到在线主机(例如

Figure BDA0002126357080000101

),获取与托管记录相关联的URL,并在将其上传到在线主机之前,将该URL嵌入到游戏的视频记录的用户字段中。等效地,在将并行视频记录上传到在线主机之后,使用唯一的视频ID作为视频名称,视频记录器可以将视频ID嵌入视频记录的用户字段中,随后将其用作在线主机的搜索项。

在任一种情况下,只要唯一的视频ID或URL保持与原始视频相关联(例如,在视频的用户字段中),则被配置为实现本文公开的技术的视频回放装置可以通过以下任一方式访问所需的补充数据:通过从事件分析仪请求它,或从在线主机访问并行托管视频,而视频本身保持常规,并且能够通过常规或传统设备和应用程序处理和传输,而无需特别考虑处理和传输与这些技术有关的非标准补充数据。

现在转到图6,视频回放装置210B可以根据下面的视频回访方法操作,其中:

第一步骤S610包括获取视频游戏游戏会话的第一视频记录,包括视频图像序列。这可以通过任何合适的方式完成,例如下载视频文件,流式传输用于例如

Figure BDA0002126357080000103

之类的网络服务的视频流,或访问已经存在于回放装置的本地存储器(例如,HDD37或BD ROM 36/36A)中的视频记录。

第二步骤S620包括获取通过编码深度缓存值序列生成的第二视频记录(例如,本文中的H.265和UCL示例)。

第三步骤S630包括获取与至少一个已获取的视频记录相关联的游戏内虚拟相机位置序列。例如,作为提供有视频记录的数据文件、或元数据的扩展、或用户字段。也可以(可选地)包括例如化身位置和游戏内事件数据的附加数据。

或者,这种包括编码数据和/或一个或多个其它数据序列(相机位置,化身位置,事件位置等)的并行视频记录可以通过参考从接收的视频记录的数据字段获取并提交给事件分析仪服务器的唯一的视频ID、或者通过参考从接收的视频记录的数据字段获取的用于从数据托管服务访问数据的URL或搜索项来访问。

应当理解的是,补充数据可以整体下载,或者(可选地)以与视频游戏的视频记录相同的速率(以及适用的深度数据视频)进行流式传输,以便以实时的方式提供补充数据。可选地,补充数据可以以预定的帧偏移(例如,相对于视频游戏的视频记录提前1、2、3或更多帧)进行流式传输,以提供足够的处理时间以使处理过的信息准备好接收视频游戏的对应视频帧,和/或为补充数据提供任何平滑,平均或纠错功能,这将取决于补充数据的后续帧的接收。这可以通过在视频游戏的开始处用所需的预定数量的空白帧填充视频游戏的视频记录、或者将视频游戏的视频记录的游戏延迟所需的预定帧数来实现。如果将游戏镜头和深度视频编码为立体对,则也可以(可选地)实施这样的处理时间偏移,使得深度视频是在游戏镜头之前的预定的一个或多个帧。

如上所述,可选地,在该阶段可以获取游戏内事件数据,从而随后允许响应于游戏内事件本身的增强(例如,显示所采用的路径或用户评论)。

然而,可替代地或另外地,(可选地)可选步骤S635包括获取指示统计上重要的游戏内事件和游戏内事件位置的数据。如本文其它地方所述,该数据作为文件从事件分析仪获取,或者在回放期间流式传输到视频玩家。数据通常包括指示游戏内事件分析数据的数据,例如,与事件的重要性有关的数据以及(可选地)其它统计数据(以及通常也是事件的类型等,以帮助选择如何以图形方式表示事件)。

如上所述,记录何种游戏内时间的选择可由设计者做出,并且可以包含碰撞、角色死亡、超越或击败对手或实际上被对手超越或击败、改变用户的游戏内状态、玩家选择和/或玩家输入的一个或多个。如上所述,可以提供基于这些事件本身的增强。然而,可选地,可以如本文其它地方所描述的那样分析该数据,然后可以将与该分析相关的数据与事件位置相关联。

如果随后在显示特定游戏内位置的视频回放之前将数据下载为文件,则事件位置可用于决定何时使用事件分析数据,而替代地或另外地,当数据随后与视频游戏的记录的回放同步流式传输时,然后可以根据视频游戏的记录何时到达事件位置来流式传输事件分析数据,(可选地)按照记录的时刻从相机位置的预定偏移、或者(可选地)记录的时刻从玩家化身位置的预定偏移。

第四步骤S640然后包括基于相关联的游戏内虚拟相机位置和从第二深度视频获取的解码深度缓存值,计算第一视频记录(游戏镜头)的当前视频图像内对应于游戏内事件位置的位置。

因此,对于视频游戏的当前显示的视频图像,如果游戏内使用的相机的位置或全局坐标系是已知的,并且显示视频图像中的像素的深度数据是已知的或可以从相关的深度数据插值,则实际上可以确定视频游戏的当前显示的视频图像中的每个像素的游戏内或全局(X,Y,Z)坐标。因此,可以确定当前显示的视频图像内的游戏内事件的位置。

特别地,如果对于给定事件,当前显示视频图像中的对应X,Y坐标被确定为具有比事件的Z坐标更近的Z坐标,则实际上由视频图像内描绘的虚拟环境内的对象将该事件从显示的视频图像的当前视点遮挡。

使用该信息,在第五步骤S650,视频回放装置可以响应于计算出的位置,用游戏内事件的图形表示来增强当前视频图像。特别地,视频回放装置可以基于所显示的环境的元素当前是否在游戏内事件位置和视频呈现的视点之间来决定是否遮挡游戏内事件的图形表示中的一些或全部。例如,视频回放装置可以准备渲染简单的基于多边形的对象,例如四面体充当指针,然后在最终渲染中使用视频图像的Z值在四面体上执行所谓的z剔除,使得四面体看起来自然地嵌入到视频额环境中,从记录视频图像的虚拟相机的当前视点适当地遮挡。因此,该技术可以包括根据深度缓存值计算由视频图像的前景元素引起的在计算位置处的图形表示的任何遮挡。

回放装置可以不增加每个获取的游戏内事件。例如,观看者可能能够切换要显示的事件类型,或者设置事件阈值(例如,仅显示向分数添加超过阈值的事件)。同样地,取决于游戏设置,回放装置可以还显示出统计上重要的游戏内事件或子集,或仅显示统计上重要额事件或其子集。

图7示出了图4A的示例视频图像的这种增强。在该图中,示出了其它玩家的路径(例如,分别用红色或蓝色轨道示出特别快或特别慢的玩家)。对于灰度再现,每个轨道的具体含义对于理解本发明不是必需的。应当注意的是,如在扩展部分中所见,当轨道数据的Z位置超过视频图像内的特征的Z位置时,轨道消失在环境的特征之后。

图7还示出了简单的多边形对象(在这种情况下为四面体),其指示例如车辆刹车或制动之类的事件。应当理解,可以为此目的使用更加精细、视觉上吸引人且信息丰富、(可选地)具有它们的纹理的指示符对象,并且通常不同的对应图形表示将用于对应的不同事件类型。应当理解,可以应用其它图形效果,例如降低其x,y,z位置在预定方向上与指示符对象相交于一条线的视频像素的亮度,从而在视频游戏环境内创建出指示符对象的明显阴影,以及从而提高指示符对象的明显沉浸感。类似地,视频回放装置可以分析视频的有效分辨率或压缩率,并且降低指示符对象的有效分辨率以基本匹配(例如,通过像素化和/或模糊渲染对象),以便指示符对象看起来更像是背景视频图像的部分。

可选地,视频回放装置还可以获取与视频记录相关联的游戏内玩家位置序列。同样如先前所述,这可以在单独的文件或流中或编码在并行图像序列内。然后,增强阶段可以包括显示视频中的当前玩家位置与一个或多个事件位置之间的关系。这可以不同地采取指示玩家位置和事件位置之间的距离/倒计时值的形式,在玩家位置和事件位置之间添加线、箭头或路径,当玩家位置和事件位置之间的距离在预定阈值之内等时,仅显示或淡化与事件相关联的指示符对象。

现在转到图8,作为事件分析仪220运行的服务器可以根据以下事件分析方法操作,其中:

第一步骤S810包括分别从多个视频游戏设备(用作视频记录装置)接收视频游戏标识符和一个或多个相关联的游戏内事件及其各自的游戏内位置。因此,如本文先前所述,事件分析仪从多个视频游戏设备接收与识别游戏内发生的游戏内事件的特定视频游戏相关的数据。

如先前所述,可选地,事件分析仪可以接收由视频记录装置记录的任何其它补充数据以及唯一的视频记录ID。

然后,第二步骤S820包括对与视频游戏标识符相关联的游戏事件、及其各自的游戏内位置的一个或多个方面进行分析,以识别统计上重要的游戏内事件。

这可以例如通过对类似类型的多个事件进行地理空间分析来识别热点、冷点和指示该类事件或特定位置的事件的特定实例的玩家总集的行为的其它组统计数据。

地理空间分析的示例形式可以是已知的Getis-Ord-Gi*统计。该分析评估关于其邻居的特征,使得相似特征的聚类在全局评估方面获得重要性,并因此被识别为热点。如果需要,可以以相反的方式识别冷点。

可以通过对事件进行加权来选择事件的重要性方面。因此,例如,可以根据与每个点相关联的各个最终单圈时间来加权与用户在赛车游戏内应用制动的位置相关的游戏空间中的一组点。

然后,分析分别为每个点生成z分数(例如,其反映了多少邻居也具有高权重),以及p值,其指示该点是否是异常。

可以周期性地针对特定游戏标题执行这些分析,且/或响应于接收该游戏的更多数据(例如,在适当时接收1、10、100、1000、10000或100000个附加数据集之后)执行这些分析。

应当理解的是,可以取决于所使用的权重以这种方式单独分析事件或事件类型的不同方面。例如,可以关于圈数、或者是否完成了该圈、车辆类型、或用户的人口统计数据来分析制动事件。

为此,应当理解,视频记录装置也可以记录关于游戏的其它信息,其可以被称为会话数据;即不是游戏内的事件本身,而是关于游戏的信息,例如难度设置、玩家技能水平或使用的设备、在完成关卡后确定的最终结果(时间、分数、成就、排名等)等。在只有级别的一部分被视频记录的情况下,一旦达到该级别(或获取这些值的其它逻辑点),即使视频记录本身已经中断,视频记录装置也可以(可选地)将这些数据附加到视频记录中。这样的会话数据可以作为单独的文件存储或者以任何合适的方式编码在游戏视频记录或并行视频记录中。例如,会话数据可以作为一个或多个帧包括在并行视频记录的开始或结束处。

可选地,或除了这种地理空间分析之外,用户生成的事件标记或用户ID可以与特定上传的事件数据集相关联。

这允许事件分析仪提供对应于特定个体的事件数据,例如在与他们自己的用户ID相关联的用户的朋友列表上找到的示例玩家。以这种方式,可选地,或者除了更广泛的玩家群体的统计分析之外,来自回放的观看者的朋友的个体选择和事件可以被示为视频的增强,且/或地理空间分析仅限于他们的朋友团体。

这个原则也可以通过用户生成的标记扩展到部落、团队和其它自我识别的群组,这样,例如电子竞技团队可以仅通过重叠他们的表现数据来增强竞争对手发布的视频。

进一步扩展,可以针对不同的玩家群体多次执行地理空间分析,以基于位置(例如,国家统计数据)和人口统计数据(例如,年龄和性别)提供分析。这些信息通常可从与每个用户ID相关联的注册细节中获取。

在任何情况下,在分析之后,第三步骤S830包括从视频回放装置接收视频游戏标识符以及游戏内虚拟相机位置和游戏内玩家位置中的至少一个。

因此,除了从视频记录装置接收数据之外,事件分析服务器还从一个或多个视频回放装置接收数据请求。该请求识别视频中的视频游戏,以便事件分析仪知道要引用的数据集(尽管这可能是隐含的,例如,当事件分析服务器专用于支持一个游戏时,则向服务器发送请求的行为包含相关视频游戏和数据集的识别)。

请求还包括游戏内虚拟相机位置和游戏内玩家位置中的至少一个。取决于如何将数据传输回视频回放装置,这可以采用不同的形式。如果要下载对于整个级别的数据(或级别或区域的段/分支等),则级别的标识用于识别相机器/玩家的位置直到获取相关数据所需的程度。

同时,如果正在流式传输数据,则可以使用与视频流的显示帧(或者可选地,前面的预定数量的帧,以考虑访问和网络等待时间)相对应的相机/玩家的当前位置。这允许接收的数据流跟踪视频内事件的进度,由于每个用户如何玩游戏,以及它们遇到了何种事件(例如汽车碰撞或故障,而不是平稳驾驶),这有可能在各个视频之间是不同的,否则将预测哪些事件与当前视频显示相关是困难的。

应当理解的是,在基于每个级别和每个帧的位置更新之间,可以在该技术内采用多种方案,例如基于时间或距离的位置的周期性更新(例如,每N秒或没M米,其中N或M是预定值)。可选地,触发器可以由视频记录装置编码在视频本身内(例如,用户字段中的标记或值),对应于在游戏期间发生事件的时间,以便当在回放期间遇到这些时,对应的相机或玩家位置被发送到事件分析仪,以便接收有关对应事件的数据。

在任何事件中,作为响应,然后在第四步骤S840中,事件分析服务器选择与所接收到的视频游戏标识符相关联的、且具有在至少一个接收位置(如上所述,对应于级别、周期时间或距离、或当前或即将发生的视频帧)的预定距离内的游戏内位置的一个或多个识别的统计上重要的游戏内事件的相关分析数据。预定距离可以是视频游戏的绘制距离,使得事件的指示符对象可以看起来好像是游戏内渲染的一部分,但原则上可以是距接收位置的任何预定距离。

分析数据的选择可遵循一个或多个原则。例如,可以选择对事件具有最大意义的数据(例如,如果向用户提供向左或向右转的选择,并且95%的向右转的玩家完成该等级,而95%的向左转的玩家没有完成该等级,则决策事件的这一方面比60%的汽车右转和60%的摩托车向左转更重要)。或者,可以优先选择与视频中的玩家的明显选择/事件有关的数据。类似地,可以选择与由视频的观看者设置的偏好相关的数据,例如寻找最常见的事件、或最不常见的事件、或例如碰撞但不是超越的优选事件。

最后,在第五步骤S850中,事件分析服务器将指示游戏内事件分析数据及其游戏内位置的数据发送到视频回放装置。然后,如先前所述,视频回放装置可以使用该数据来构建视频的增强层,如图7所示。

应当理解的是,因为游戏内事件的位置本身受到游戏规则和环境的约束,所以事件分析服务器接收的累积事件数据对于该游戏将是一致的(例如,与超越相关的全部事件将是在与赛道相对应的位置上,或者至少在比赛中超越是合法的位置上)。结果,与事件分析数据相关联的位置以及与当前视频内的相机/玩家相关联的位置将彼此一致,并且即使事件分析服务器和视频回放装置可能不具有实际虚拟环境的任何显式知识/模型,视频内的游戏环境(如图7所示)也会因此看起来在游戏内自然地交互。

应当理解的是,原则上视频游戏控制台可以作为视频记录装置和视频回放装置操作,使得用户可以利用叠加在顶部的统计事件数据几乎立即查看他们自己的游戏。此外,视频游戏控制台原则上还可以作为事件分析服务器操作,例如分析一个用户(例如,专业电子竞技玩家)的游戏历史记录,以帮助他们识别他们游戏内的趋势。

还可以设想上述技术的变化。

例如,视频压缩通常有效地减少颜色位深度。这会产生略微平坦的颜色区域,但对大多数视频的影响有限。然而,如果颜色通道被用于编码深度数据,则此压缩可能会重要地影响深度数据。

可能的解决方案包括在通道内仅使用较高有效位(例如,8比特通道中仅6比特、或10比特通道中的8比特、或120比特通道中的10比特)。

另一个解决方案指出,如果在两个8位颜色通道上编码16位深度值(其分别具有受压缩影响的低有效位),则实际上深度值的中间有效位可能被破坏。然而,如果在两个颜色通道之间交替位(例如,使位1(深度)变为位1(绿色),位2(深度)变为位1(蓝色),位3(深度)变为位2(绿色),位4(深度)变为比特2(蓝色)等),那么在这种方式中深度数据的低有效位将受到压缩的影响。

接收到的分析数据的使用可以变化以适合已经视频化的游戏的风格。例如,在某些情况下提供简单说明玩家是否在游戏内的某些点采取受欢迎或不受欢迎的选择的评论可能适用,而许多与多个玩家的位置相关的图形复杂统计可能适用于另一个游戏。

类似地,事件分析服务器可以响应于接收视频游戏标识符提供图形数据(指示符几何形状、纹理等),使得视频回放装置具有图形资产以突出显示与视频中的特定游戏图形地保持一致的事件(因为视频回放装置可能没有自己安装的游戏,并且可能没有关于它的信息或资产)。

虽然描述涉及使用深度数据的并行视频记录,并且建议相机和事件数据等也在该并行视频记录的数据通道内编码,但原则上这样的数据可以包括在支持这些字段的视频编解码器的用户数据字段中,以便部分或全部数据直接包含在游戏的视频录制中。这可以是视频由已经调整到适应本技术的非传统服务托管的选项(例如,通过保留这样的数据字段,或者不对它们应用有损压缩)。

本文中描述的技术使得能够使用深度缓存和游戏内虚拟相机位置来在赛道或任何其它可穿越虚拟环境上叠加由不同玩家采用的路径(例如,如图7中所示)和其它信息。

应当理解,这些技术可以促进用于许多用途的游戏的视频记录的增强。例如,图形提供的评论和分析可以在电子竞技封面的顶部重叠。

其它示例包括用户可以将虚拟对象添加到用户视频的回放中。虚拟对象可以是例如具有文本的3D标注形式的标记或消息。通常,用户定义为其提供虚拟对象或图形效果的事后游戏内事件。

例如,在观看完成赛道的玩家的视频时,观众可能会在玩家进行跳跃的位置或指示跳跃的峰值高度处留下类似“好棒的跳跃!”的消息,如图9所示。在选择用于指示这样的事件的对象本身是3D的情况下,它们因此可以具有与视频内的环境一致的位置和方向,使得它们看起来好像是最初捕获的镜头的一部分。一个例子是由原始玩家或视频的后续观看者设置的指向隐藏的宝藏的箭头,如图10所示。

在另一个例子中,玩家或观众可以选择显示“死亡区”选项。“死亡区”可能在虚拟环境中显示为阴影空间(如图11中的阴影区域所示),并代表地图中大多数玩家被杀的区域。在游戏过程中,存储在深度视频中的深度数据可用于渲染死亡区域,使得它对于环境的当前视图以正确的深度显示。这可以由观看该玩家玩游戏的观众打开(例如,在电子竞技中)。

在另一示例中,以与关于图7所示的方式类似的方式,虚拟对象可以是成功玩家所采用的路径。在另一个实施例中,虚拟对象可以是指示例如游戏内敌人的位置的指示符。在又一个示例中,虚拟对象可以指示武器的有效范围(参见图12中将武器的有效性指示为距离的彩色编码条带)。例如,电子竞技的观众可能希望将其打开,以查看玩家被杀时敌人在哪里。

因此,更普遍地应当理解的是,原则上虽然可以在游戏期间记录游戏内事件以便增强视频,但是更一般地,游戏内事件以及因此虚拟对象或图形效果可以在记录生成之后与记录相关联(离线或在线),并以与游戏期间记录游戏内事件作为另一种可能的增强数据源或层的相同的方式处理。

因此,应当理解的是,在已经做出记录并由原始玩家将其输出之后,基于用户选择在当前图像内的何处放置游戏内事件,与视频的并行数据集、深度和相机位置兼容的视频查看器可以计算在记录中的何处定义附加的游戏内事件(例如上面提到的评论、对象、或区域、或其它重叠之一);该x,y位置又对应于距离各个视频图像中的相机视点的深度值(距离),因此允许在相关的数据内相对于与相机本身相同的参考点来将其定义(例如,以与其它游戏内事件数据相似的方式)。

应当理解的是,虽然这里参考“视频记录”和“视频图像序列”,但这些包括预先录制的视频(例如,上传到基于网络的主机或流媒体服务器)以及实况视频(同样,例如上传到流媒体服务器)。在任何一种情况下,增强获取的镜头的能力是基于游戏镜头的视频记录和深度数据和相机数据的并行记录的组合。

因此,例如,例如PS NOW的流式游戏服务可以输出彩***和深度编码视频,其可以用于在实况游戏内渲染虚拟对象。例如,本地控制台上的第二个玩家可以通过增强和/或在视觉上叙述第一个玩家的体验来参与。

应当理解的是,本文中描述的方法可以在适当地通过软件指令或通过包含或替换专用硬件而适用的传统硬件上执行。

因此,对传统等效设备的现有部分的所需适应可以以计算机程序产品的形式实现,该计算机程序产品包括处理器可实现指令,其存储在非暂时性机器可读介质中(例如,软盘、光盘、硬盘、PROM、RAM、闪存或这些或其它存储介质的任何组合),或者在硬件中实现为ASIC(专用集成电路)或FPGA(现场可编程门阵列)或适用于适应传统等效设备的其它可配置电路。单独地,这种计算机程序可以通过网络(例如以太网、无线网络、因特网或这些或其它网络的任何组合)上的数据信号传输。

因此,视频记录装置的硬件可以是传统的计算设备,例如在合适的软件指令下操作的PlayStation 4,其包括:记录处理器(例如,在合适的软件指令下操作的CPU 20A),其被配置为记录视频游戏输出到视频存储装置(例如,HDD 37)的第一视频图像序列,记录处理器被配置为(例如,通过适当的软件指令)记录视频游戏使用的深度缓存的深度缓存值序列,记录处理器被配置为(例如,通过适当的软件指令)记录用于产生视频图像的游戏内虚拟相机位置序列,并且记录处理器被配置为(例如,通过适当的软件指令)记录一个或多个游戏内事件及其各自的游戏内位置;视频生成处理器(例如,同样地,在合适的软件指令下操作的CPU 20A),其被配置为生成编码深度缓存值序列的第二视频图像序列;以及关联处理器,其被配置为(例如,通过适当的软件指令)将游戏内虚拟相机位置序列关联到第一和第二视频图像序列中的至少一个。在每种情况下,适当的软件指令适当地实现本文描述的方法和技术。

类似地,视频回放装置的硬件可以是传统的计算设备,例如在合适的软件指令下操作的PlayStation 4,其包括:回放处理器(例如,在合适的软件指令下操作的CPU 20A),其被配置为获取视频游戏会话的第一视频记录,包括视频图像序列,回放处理器被配置为(例如,通过适当的软件指令)获取通过编码深度缓存值序列生成的第二视频记录,回放处理器被配置为获取与至少一个获取的视频记录相关联的游戏内虚拟相机位置序列;分析处理器(例如,在合适的软件指令下操作的CPU 20A),其被配置为向事件分析仪提供游戏内虚拟相机位置,分析处理器被配置为(例如,通过适当的软件指令)获取指示统计上重要的游戏内事件和游戏内事件位置的数据;位置计算处理器(例如,在适当的软件指令下操作的CPU 20A),其被配置为取决于相关联的游戏内虚拟相机位置和解码的深度缓存值,计算与游戏内事件位置相对应的第一视频记录的当前视频图像内的位置;以及增强处理器(例如,在合适的软件指令下操作的CPU 20A和/或GPU 20B),其被配置为响应于计算的位置,利用统计上重要的游戏内事件的图形表示来增强当前视频图像。同样在每种情况下,适当的软件指令适当地实现本文描述的方法和技术。

最后,同样地,事件分析仪可以是传统的计算设备,例如在合适的软件指令下操作的服务器或PlayStation 4,包括:接收器(例如,在适当的软件指令下与CPU 20A一起操作的以太网端口32),其被配置为分别从多个视频记录装置接收视频游戏标识符和一个或多个相关的游戏内事件及其各自的游戏内位置;分析处理器(例如,在合适的软件指令下操作的CPU 20A),其被配置为对与视频游戏标识符相关联的游戏内事件的一个或多个方面及其各自的游戏内位置进行分析,以识别统计上重要的游戏内事件;接收器被配置为随后从视频回放装置接收视频游戏标识符以及游戏内虚拟相机位置和游戏内玩家位置中的至少一个;选择处理器(例如,在合适的软件指令下操作的CPU 20A),其被配置为选择与所接收的视频游戏标识符相关联的并且具有在至少一个接收位置的预定距离内的游戏内位置的一个或多个识别的统计上重要的游戏内事件;以及发送器(例如,在适当的软件指令下与CPU20A一起操作的以太网端口32),其被配置为将指示游戏内事件及其游戏内位置的数据发送到视频回放装置。同样在每种情况下,适当的软件指令适当地实现本文描述的方法和技术。

如先前所述,视频记录装置、视频回放装置和事件分析仪可以是三个单独的设备,或者可以是任何组合的两个单独的设备,或者是包括全部三个方面的单个设备。

因此,系统(200)可以包括如本文所述的视频记录装置、以及视频回放装置和事件分析仪中的一个或多个,作为单独的设备或在单个设备内。原则上,系统可以类似地包括如本文所述的视频回放装置以及事件分析仪。

应当理解的是,使用上述技术和装置提供了一种设施,其中用户可以记录他们自己的游戏设置并将其上传到可公开访问的主机,例如

Figure BDA0002126357080000211

Figure BDA0002126357080000212

(或者可能是例如属于视频游戏控制台的类型相关联的网络的管理员的专有主机),并且随后视频的观看者可以使用适于实现本文所述技术的设备或应用程序观看用户玩游戏的视频,该视频使用与其他玩家如何玩游戏相关的信息进行了增强,从而在游戏内为用户决策、成功和失败创造了环境,并且创造了更为丰富的观看体验。

如先前所述,对于游戏的玩家和潜在的该游戏的视频记录的观看者来说,有用的信息源是与游戏的用户体验相关的地图或类似的游戏的视频记录。

现在转到图13,为了解决或缓解该问题,一种映射虚拟环境的方法(例如图4A、图7、图9、图10至图12中所示的游戏环境)包括:

在第一步骤S1310中,获取视频游戏标题输出的第一视频图像序列,例如如先前所述,通过在运行游戏时直接从娱乐设备访问图像数据、或者从如本文所述生成的游戏的视频记录访问图像数据。

在第二步骤S1320中,获取创建视频图像的对应游戏内虚拟相机位置序列,例如如本文先前所述的,通过在运行游戏时直接从娱乐设备、或者从其输出图像的视频记录、或者从与视频记录相关联的数据、或者从嵌入在还包括深度信息的单独视频记录中的数据、或者通过用于将虚拟相机位置与对应的视频图像相关联的其他任何合适的装置访问相关数据。

在第三步骤S1330中,获取创建视频图像时视频游戏使用的深度缓存的对应深度缓存值序列,例如如本文先前所述的,通过在运行游戏时直接从娱乐设备、或者从与其输出图像的视频记录相关联的数据(例如,以单独的数据文件的形式或用于使用例如本文所述的任何合适的技术编码深度数据的第二视频记录)访问相关的深度缓存数据。

然后,在第四步骤S1340中,对于所获取的序列的多个视频图像和对应的深度缓存值中的每一个,子步骤S1342包括:获取对应于与各个视频图像内的预定位置集相对应的所选预定深度值集的映射点;其中,对于每对深度值和视频图像位置,映射点具有基于深度值的到虚拟相机位置的距离,以及基于虚拟相机和各自的视频图像位置的相对位置的位置。

可以通过计算与地图点的距离和方向相对应的地图位置来获取映射点,其中方向基于虚拟相机的光学中心与视频图像内的对应选择位置之间的差异,并且距离基于虚拟相机位置和与视频图像内的所选位置相对应的深度值。

图14A至图14C说明了获取包括图像中心线的像素的预定的位置集的过程。在图14A中,灰度图像元素对应于深度值,较暗的值更远。应当理解的是,这些元素的精确性质对于理解本发明并不重要。如上所述,预定的位置集1410是沿着图像的中心线的一组像素。该集可以采样全部像素或像素的子集,因此例如可以包括每N个像素,作为非限制性的例子,其中N可以是1、2、3、...10等。

上面的圆圈1420指示当前虚拟相机位置,并且下面的圆圈1430指示在2D映射的情况下的虚拟相机位置(例如,高度设置为零,或者在虚拟相机位置处等效地减去虚拟地面的当前水平)。在该示例中,虚拟相机的视场由从每个圆放射出的两条线之间的角度指示。

如图14B所示,获取预定集中的每个像素的对应深度值。应当理解的是,在深度值信息的分辨率小于图像分辨率的情况下,替代地可以使用与深度信息的有效分辨率相对应的每N个像素的规则采样。

如图14C所示,然后可以基于图像内的样本像素的相对位置和虚拟相机的位置以及获取的深度值在地图空间1450中识别地图点。

通常,相对于游戏内坐标系的原点生成地图。因此,可以基于虚拟相机在游戏坐标系中的位置以及来自虚拟相机的距离和方向来计算地图点,如由虚拟相机捕获的图像内的深度值和像素位置所指示的。

可选地,计算的方向还可以考虑虚拟相机的视场。具有不同视场的虚拟相机可能导致图像内的相同像素位置对应于远离虚拟相机的光轴的不同角度。或者,可以固定或假定视场,和/或视场的效果在计算中施加为了生成地图可以忽略的缩放因子。

类似地,计算的方向可以(可选地)进一步考虑虚拟相机的方向,使得样本像素相对于虚拟相机的光轴的表观方向被添加到相机自身的光轴方向上。在这种情况下,可以与虚拟相机的位置一起获取虚拟相机的方向。同样地,然而对于某些游戏,虚拟相机的方向可以是固定的或假定的,并且因此不需要附加的数据或计算来考虑它。

在任何情况下,从虚拟相机的视点在由所选图像像素指示的方向上、并且由对应的深度数据指示的距离上有效地投影地图点,并且地图点位于地图空间上的游戏内坐标系内。

因此,在连续的图像的过程中,获取对应于第一视频图像序列的地图点的地图数据集。

应当理解的是,图像数据、深度数据和虚拟相机位置(以及可选地,方向和视场),数据可以在运行时直接从游戏获取,或者可以从与游戏的视频记录相关联的使用本文描述的任何技术编码的编码数据获取。因此,可以通过在玩游戏时计算地图点、或者在根据本文所述的技术回放视频期间获取地图数据集。

还应当理解的是,如下文所述,可以使用本文所述的任何技术类似地与游戏的视频记录相关联地记录地图数据集,使得回放装置不必自己计算地图点。

如上所述,各个视频图像内的一个预定的样本位置集包括图像的中心线,其通常与虚拟相机的光轴相交。然而,更一般地,预定的位置集可以包括沿着图像中的一个或多个水平像素线的采样,例如中心线和位置以及中心线上方和下方的预定距离或比例、或(如果不使用中心线)相对于图像的顶部或底部的预定位置或比例处的预定位置或比例。

因此,例如,从图像底部向上25%的水平线可能捕获可能不包括在中心线中的地形的特征。同时,从图像底部向上75%的水平线可以捕获相关的空中特征或者可以从地图的俯视图中预期的其它特征,例如,中心线可以与树的树干相交,但不是与用户可能期望在地图中看到的树的分支/树冠相交。

在使用多条水平线来对图像进行采样的情况下,水平线的绝对、相对或等级高度可以与得到的地图点相关联。因此,在地图空间内的相同位置处生成地图点的情况下,可选地,可以仅保留与绝对、相对或等级最高水平线相关联的地图点。或者,如果具有不同的绝对、相对或等级高度,则可以保留相同位置处的多个地图点。

可替代地或另外地,各个视频图像内的一个预定的样本位置集位置包括视频图像区域上的采样分布位置。因此,例如,可以采样规则的像素阵列(例如,水平地每第N个像素,并且垂直地每个第M个像素,其中N可以如先前所述并且M可以类似)。显然,在深度信息的分辨率低于像素分辨率的情况下,则采样可以选择对应于深度信息的有效分辨率的像素。

在这种情况下,可以为地图空间内的图像帧生成点云,其中映射点的方向具有相对于视频游戏的光轴的高度以及左/右方向。因此,可以在地图空间内生成地图的3D表示。如果需要,这样的地图仍然可以以2D呈现(即忽略高度信息),但是(可选地),点云可以用作渲染映射区域的3D近似的基础。

可替代地或另外地,地图的预定2D区域内的点云中的最高高度值可以与地图点相关联地存储以给出高度值,其方式与上述用于在多个水平线上采样的方式类似。

可以包括在地图数据集中的附加信息包括虚拟相机的连续位置(例如,在第一人称视角游戏的情况下)和/或用户的化身的位置(例如,在第三人称视角游戏的情况下),这样也可以记录地图内的用户位置轨迹。

在本发明的实施例中,进一步的步骤包括:在各个视频图像内的预定的位置集处获取颜色信息,以及将获取的颜色信息与对应的生成的映射点相关联。

换句话说,地图上的点可以与视频游戏环境内相同颜色的对应点相关联,使得地图的后续图形显示能够与视频游戏环境相似,就好像从缩小比例的自上而下的视角所看到的。

为了辅助该过程,并再次参考图14C,应当理解的是,不仅映射点可以与屏幕上的对应点相关联,而且沿着从虚拟相机的光轴到映射点的投影线的点也可以与屏幕上的对应点相关联(如本文先前所述,可以基于相机位置、深度信息、以及从相机通过采样点到虚拟环境的视图方向来计算)。因此,参考图14C,虽然表示线的终止点的地图点具有与图像上的深度信息相对应的链接、与屏幕上的样本像素的位置和虚拟相机光轴相对应的方向(如上所述)、从虚拟相机位置1420放射出的线,应当理解的是,沿着这种线的点的颜色信息也是可用的,因为它们各自代表相机和终止点之间的清晰视线,并且可以针对地图内每个对应位置对这些线下方的任何显示表面的对应位置的颜色信息进行采样(例如,每个地图像素、或每P个地图像素,其中P可以是1、2、3、...10等)。

以这种方式,可以对在当前虚拟相机位置处可见的地形不显眼的颜色进行采样并用于对地图着色。

还应当理解的是,使用在图像中心线下方的合适位置的水平线位置、和/或在图像区域上使用样本分布、或者更一般地对不平行于虚拟地形的角度但在某个点与其汇聚的视线进行采样,将导致视线终止于虚拟环境的地面/地形。因此,在仅在终止点处捕获颜色信息的情况下,足以使用与地形相关的颜色信息填充地图、以及可能提升的特征(例如建筑物,树木等)。

因此,应当理解的是,该地图可以包括多种类型的数据,包括指示从虚拟相机通过预定样本位置集的视线的终止点的映射点数据,以及(可选地)在这些视线下方的可见地形元素的简单颜色数据,和/或类似(可选地)与映射点本身相关联的颜色数据。

如上所述,所得到的存储的颜色信息然后允许生成类似于在游戏内看到的环境的地图或地图界面,因为它有效地对所显示的环境的渲染纹理进行了采样并将这些纹理存储在地图数据内的对应位置处。

应当理解的是,虽然视频游戏本身可以使用该信息来生成反映用户在游戏内的个人和潜在唯一旅程以便在游戏期间显示的地图,潜在地,可以与本文先前描述的那种视频游戏图像的记录相关联地记录映射点、并且更一般地包括这种映射点的地图数据集、以及(可选地)本文所述的任何颜色信息。

因此,在本发明的实施例中,映射方法包括:使用本文所述的任何技术记录视频游戏输出的第一视频图像序列的步骤;使用本文所述的任何技术记录用于创建视频图像的对应的游戏内虚拟相机位置序列的步骤;使用本文所述的任何技术,在创建视频图像的同时记录视频游戏使用的深度缓存的对应深度缓存值序列的步骤;以及同样使用本文所述任何技术,记录关于例如事件数据、相机数据等的辅助数据的映射点的步骤;以及同样如本文先前所述,将游戏内虚拟相机位置序列、深度缓存值、以及映射点与第一视频图像序列的记录相关联的步骤。

如先前所述,用于记录深度缓存值的技术之一包括生成编码深度缓存值序列的第二视频图像序列。如先前所述,第二视频图像序列可以容纳对应的辅助数据,例如虚拟视频相机信息,包括位置和(可选地)方向、事件数据、和/或(应当理解的是)映射点、映射点高度信息、映射点颜色信息(和/或仅仅地图颜色信息)等。

然而,应当理解的是,可以替代地使用任何先前描述的任何技术,例如使用与第一视频图像序列的记录相关联的单独数据文件。

还应当理解的是,包括映射点、以及(可选地)映射点高度信息、映射点颜色信息和/或仅仅地图颜色信息的地图数据集可以在单个游戏实例期间生成(例如,与对应于游戏的该实例的视频序列直接关联),但是可以替代地或另外地,该地图数据集可以在娱乐设备本地存储,或者在服务器处远程存储,以便连续的游戏实例可以添加到该地图数据集,从而创建用户探索延伸到单个游戏实例之外的虚拟环境的累积记录。

可以组合从各个游戏实例获取的映射,因为它们共享共同的游戏内坐标系统。

应当理解的是,无论游戏的各个实例是来自相同用户还是来自相同的娱乐设备,情况也是如此。因此,在本发明的实施例中,可以组合来自多个用户的地图数据集,(可选地)其映射点、或更一般地除了空的或未填充的点之外的地图数据点与给定的用户相关联,使得可能偶尔交叉或重叠的多个地图可以由用户消除歧义。

以这种方式,例如,用户可以将他或她的地图与他们的朋友的地图进行比较,并且看到不同的朋友在哪里具有共享的或独特的体验。

类似地,以这种方式,娱乐设备或服务器可以通过聚合由该环境的多个探索者生成的地图数据集来编译更完整的环境地图(例如,如果环境是程序地生成的),否则该地图可能不容易映射。

因此,映射方法可以包括:获取使用源自相同视频游戏的单独实例的视频图像序列、虚拟相机位置和深度缓存值生成的一个或多个附加地图数据集。在这种情况下,“单独实例”可能同样意味着由相同用户在相同设备上玩视频游戏的单独实例、由不同用户在相同设备上玩视频游戏的单独实例、或者是(由任何用户)在不同设备上玩视频游戏的单独实例。很明显,当在不同的设备上玩游戏时,“视频游戏”本身可能是相同视频游戏标题的不同安装。

然后可以生成至少第一地图数据集的一些或全部映射点的图形表示,例如用于视频游戏输出。

上面的描述讨论了地图数据集的创建,更一般地,使用图像、深度信息、相机信息以及(可选地)其它信息(例如,直接从视频游戏本身获取的颜色信息)的地图数据集使用的映射数据点。然而,应当理解的是,如本文所述,可以使用本文所述的多种技术之一来为不依赖于源视频游戏本身的后续回放记录来自游戏的视频图像、以及深度信息、相机信息、以及(可选地)其它信息。

因此,应当理解的是,获取视频游戏标题输出的第一视频图像序列的步骤(S1310)、获取创建视频图像的对应的游戏内虚拟相机位置序列的步骤(S1320)、以及在创建视频图像时获取视频游戏使用的深度缓存的对应深度缓存值序列(S1330)的步骤都可以通过从视频游戏图像和相关文件(例如,如本文所述的编码深度信息的第二视频记录和其它辅助数据)的视频记录中检索该信息来实现。

因此,可以从第一视频记录获取视频图像序列,其中对应的虚拟相机位置和深度缓存值序列相关联。通常但不是必须的,如本文所述,对应的深度缓存值序列是从通过对深度缓存值序列进行编码而生成的第二视频记录获取的。

因此,使用该记录信息的回放装置可以类似地使用该数据获取映射点,并且如本文先前所述,可以通过从图像、深度和相机数据计算它们来构造等效地图数据集。然后,回放装置可以用地图数据增强记录信息的回放,或者单独地呈现它。

可选地或另外,也如本文先前所述,娱乐设备可以记录映射的数据集,如先前所述,其包括映射点和(可选地)高度数据、颜色数据等;或者更一般地,可以使用本文所述的任何合适的技术来仅仅记录映射点,作为类似于事件数据或相机数据的辅助数据,使得数据与包括视频图像序列的第一视频记录相关联,或者(可选地)与包括深度缓存值序列的第二视频记录相关联,通常通过编码在这些视频之一中。

以这种方式,有利地,至少对于与尚未被显示的图像数据相对应的地图的一部分(即,与在视频中显示的当前位置相对应的地图信息,访问否则将需要当前位置之前或之后的位置的图像/深度/相机信息的地图信息),映射点或地图数据集可以以这样的方式被包括,以使得回放装置可以访问映射点、以及(可选地)高度数据、颜色数据等。

因此,回放装置可以生成至少部分地图,包括至少第一地图数据集的一些或全部映射点的图形表示,用于与第一视频记录一起显示,其中部分地图可能对应于视频中尚未显示的场景。

通过显示实际上总结视频记录中的场景的一些或全部地图,可以将该地图用作用于控制视频记录的用户界面。

例如,在从起点A到终点B的旅程的视频记录中,地图将类似于在该旅程期间向用户显示的追随相机位置的路径。

因此,通过使用合适的用户界面,例如鼠标指针、滑块、或由操纵杆控制的刻度板,可以选择显示的地图上的位置。并且这个意图位置可以充当视频回放内所需位置的代替。

结果,可以通过选择其对应的相机位置与显示的地图上的选择位置最接近的视频帧来控制第一视频记录的回放位置。

以这种方式,例如,用户可以从起点A到终点B下载旅程的视频,并且用总结该旅程的地图来呈现(作为初始界面,或者作为(可选地)在视频回放旁边重叠或放置的叠加);然后,用户可以点击地图中的点,并且回放将跳转到视频记录的对应部分。

类似地,可以在地图上显示与给定的显示的视频帧相关联的当前相机位置,使得视频的观看者可以容易地将他们看到的内容与地图上的位置相关联。这还可以帮助用户导航视频的回放,例如,如果使用更传统的快进或倒带控制,而不是或同样是直接与地图交互。

如先前所讨论的,可以组合来自多个游戏实例的地图数据集。因此,虽然当前视频的回放可以使用与该视频相关联的地图数据,但是也可以访问来自其它游戏实例的地图数据集(例如,来自中央服务器)。要访问的典型地图数据集可以由相同用户赢得,但具有不同的分数或其它可测量的成就,或者由当前视频中也玩该游戏的玩家的朋友赢得,或者由也玩该游戏的当前视频的观看者的朋友赢得,或者被识别为可能对观看者感兴趣的其它玩家赢得,例如在游戏的本地、区域或全球排行榜顶部的玩家,或者在他们的记录中具有与当前视频记录中的事件数据不同的事件数据的玩家(例如,在当前显示的视频中,在当前显示位置附近没有相关的碰撞事件,但是另一视频在当前显示的位置附近确实具有相关的碰撞事件)。

可以容易地将来自这些附加玩家或游戏实例中的一个或多个的地图数据集的地图的至少一部分的图形显示与当前视频的地图一起包括,因为映射点共享相同的游戏内坐标系统。

因此,映射方法可以包括以下步骤:生成第一地图的至少一部分,第一地图包括至少第一地图数据集的一些或全部映射点的图形表示,用于与第一视频记录一起显示;以及生成第二地图的至少一部分,包括至少第二地图数据集的一些或全部映射点的图形表示,该第二地图数据集与由相同视频游戏标题输出的不同视频图像序列的不同视频记录相关联,并且共享相同的游戏内坐标系统;在第一视频记录的回放期间显示第一地图的至少一部分,显示部分至少包含与所显示的视频图像相关联的当前虚拟相机位置;以及如果第二地图的各个部分在游戏内坐标系统中位于当前虚拟相机位置的预定范围内,则在第一视频记录的回放期间显示第二地图的至少一部分。

以这种方式,当在另一可用视频中描绘的游戏出现在与当前视频相同或相似的虚拟游戏环境的区域中时,当前视频的观看者可以看到分开的地图出现(例如,对应于不同视频中的玩家移动的不同曲折轨迹)。

随后,在本发明的实施例中,回放装置可以检测用户是否与第二地图的显示部分交互,如果是,则切换到对应第二视频的回放。

以这种方式,当对应于这些视频的地图表明视频显示来自在彼此的接近阈值之内的虚拟环境的场景时,观看者可以通过在视频之间跳跃来从不同玩家的角度导航虚拟环境。

用户与第二地图的交互可以类似于它们与第一地图的交互,即第二视频在其虚拟相机位置最佳地对应于在第二地图上选择的位置的帧处开始。可替代地或另外地,用户可以指示在两个地图上的映射点之间或两个地图上的虚拟相机位置之间的最接近点处切换视频流的期望。因此,例如,当映射点或相机位置基本上相交时(即,如视频交叉路径中的各个玩家),用户可以指示切换视频流的期望。

这给予了观看者可以通过跳到他们各自的游戏内旅程中的对应位置处的不同玩家的记录来浏览游戏环境的视频记录的自由。

如先前所述,可以基于任何合理的标准从更广泛的材料库中选择地图和(通过扩展的)视频记录,例如由观看者的朋友或原始玩家的朋友制作的视频记录,或者由最高排名的玩家制作的视频记录,或者具有最多“喜欢”或其它观看者指示、批准等指示的视频记录。

一种可能性是多人在线游戏内的一组玩家各自记录他们自己的游戏视角,并将这些视频关联为一组。随后,使用本文所述的技术,可以根据适合于生成小组故事的叙述的规则来观看这些视频。因此,例如在死亡比赛游戏内,两个玩家聚集在一起使得他们的两个视频的地图相交,如果其中一个玩家杀死另一个,则如果用户正在观看获胜玩家的视频,则视频继续,而如果用户正在观看被击败的玩家的视频,则视频切换到两个玩家的对应相机位置是他们最接近的点处的胜利玩家的视频,可选地在杀死事件之后。在这种情况下,例如,还对事件信息进行编码以指示这种交互的性质。以类似的方式,在赛车游戏内,例如,视频回放可以切换到超过当前领先者的任何人。

如先前所述,应当理解的是,本文所述的方法可以在通过软件指令或通过包含或替换专用硬件合适地配置的适用的常规硬件上执行。因此,对传统等效设备的现有部分的所需配置可以以包括处理器可实现指令的计算机程序产品的形式实现,该指令由任何合适的装置存储或传送,如先前所述。

因此,例如,用于可操作以实现本文描述的映射技术的娱乐设备的硬件可以是传统的计算设备,例如在合适的软件指令下操作的PlayStation 4,其包括:视频数据处理器(例如,CPU 20A和/或GPU 20B),其被配置为(例如,通过合适的软件指令)获取视频游戏标题输出的第一视频图像序列;相机位置数据处理器(例如,CPU 20A和/或GPU 20B),其被配置为(例如,通过适当的软件指令)获取创建视频图像的对应游戏内虚拟相机位置序列;深度数据处理器(例如,CPU 20A和/或GPU 20B),其被配置为(例如,通过适当的软件指令)获取创建视频图像时视频游戏使用的深度缓存的对应深度缓存值序列;以及映射数据处理器(例如,CPU 20A和/或GPU 20B),其被配置为(例如,通过适当的软件指令)对于获取的序列的多个视频图像和对应的深度缓存值中的每一个,获取对应于与各个视频图像内的预定位置集相对应的所选预定深度值集的映射点;其中,对于每对深度值和视频图像位置,映射点具有基于深度值的与虚拟相机位置的距离、以及基于虚拟相机和各个视频图像位置的相对位置的位置,从而获取与第一视频图像序列相对应的映射点的地图数据集。

对本领域技术人员来说显而易见的是,与本文所述和权利要求保护的各种技术相对应的上述硬件的变型被认为是在本发明的范围内,包括但不限于:

预定的位置集,包括从通过各个图像的一条或多条水平线采样的像素;

预定的位置集,包括视频图像区域上的位置的采样分布;

颜色处理器(例如,CPU 20A和/或GPU 20B),被配置为在各个视频图像内的预定的位置集处获取颜色信息,并将颜色信息与对应的生成的映射点相关联;

如本文先前所述的硬件,被配置为记录视频游戏输出的第一视频图像序列,记录用于创建视频图像的对应游戏内虚拟相机位置序列,记录创建视频图像时视频游戏使用的深度缓存的对应深度缓存值序列(例如,通过生成编码深度缓存值序列的第二视频图像序列),以及记录映射点(并且可选地,映射颜色数据、高度数据等),以及将游戏中虚拟相机位置的序列、深度缓存值序列、以及映射点与第一视频图像序列的记录相关联;

地图处理器(例如,在合适的软件指令下操作的CPU 20A和/或GPU 20B),其被配置为获取使用源自相同视频游戏的单独实例的视频图像序列、虚拟相机位置和深度缓存值生成的一个或多个附加地图数据集;

图形输出处理器(例如,在合适的软件指令下操作的CPU 20A和/或GPU 20B),其被配置为生成至少第一地图数据集的一些或全部映射点的图形表示,用于视频游戏输出;

从第一视频记录获取的视频图像序列,其中对应的虚拟相机位置和深度缓存值序列相关联;

对应的深度缓存值序列是从第二视频记录中获取的,该第二视频记录是通过对深度缓存值序列进行编码而生成的;

映射点是从与包括视频图像序列的第一视频记录、或者包括深度缓存值序列的第二视频记录相关联的数据获取的;

地图界面处理器(例如,在合适的软件指令下操作的CPU 20A和/或GPU 20B),其被配置为生成地图的至少一部分,该第一地图包括至少第一地图数据集的一些或全部映射点的图形表示,用于与第一视频记录一起显示,使用用户界面在显示的地图上选择位置,并且通过选择其对应的相机位置与显示的地图上的选择位置最接近的视频帧来控制第一视频记录的回放位置;

地图界面处理器(例如,在合适的软件指令下操作的CPU 20A和/或GPU20B),其被配置为生成第一地图的至少一部分,该第一地图包括至少第一地图数据集的一些或全部映射点的图形表示,用于与第一视频记录一起显示,生成第二地图的至少一部分,该第二地图包括至少第二地图数据集的一些或全部映射点的图形表示,该第二地图数据集与由相同的视频游戏标题输出的不同视频图像序列的不同视频记录相关联,并且共享相同的游戏内坐标系统,在第一视频记录的回放期间显示第一地图的至少一部分,所显示部分至少包含与所显示的视频图像相关联的当前虚拟相机位置,并且如果第二地图的各个部分在游戏内坐标系统中的当前虚拟相机位置的预订范围内,则在第一视频记录的回放期间显示第二地图的至少一部分;以及

地图界面处理器被配置为检测用户是否与第二地图的显示部分交互,并且如果是这样,则切换到对应第二视频的回放。

40页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:虚拟形象直播方法和装置、服务器及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类