用于在虚拟视图中渲染对象的方法和系统与流程

文档序号:18061996发布日期:2019-07-03 03:08阅读:209来源:国知局
用于在虚拟视图中渲染对象的方法和系统与流程

本申请要求于2017年12月20日提交的美国专利申请no.15/385191的优先权,其全部内容通过引用整体并入本文。

本发明涉及虚拟环境以及用于使对象在虚拟相机的虚拟视图中交互的系统和方法。本发明还涉及用于在虚拟视图中渲染对象的计算机可读介质和自组织。



背景技术:

当在物理世界中操作物理相机时,相机操作者可以看到在物理相机周围的其它物理对象(例如,场上的人)并选择不与物理对象发生碰撞。另外,场上的人可以看到物理相机和相机操作者,并选择不与相机或操作者发生碰撞。在相机操作者控制虚拟相机(其为在物理世界的虚拟重建中虚拟地存在的相机)的系统中,同样的可供性(affordance)不存在。

虚拟相机系统的目的是捕获模拟物理相机的相机镜头(camerafootage),但没有物理相机与现实世界中的对象非常接近的实际问题。在一些情况下,物理相机会干扰场景中发生的事情。虚拟相机系统的目标是在保持物理相机的视觉特点的同时充分利用虚拟相机的优点。例如,如果相机操作者希望,那么虚拟相机系统可以能够用感兴趣的对象填充视场。

虚拟相机系统通常与剪切平面(clippingplane)相关联,例如近剪切平面和远剪切平面。剪切平面典型地被定向为与虚拟相机的图像平面平行,并且对于近剪切平面来说被定位成靠近虚拟相机并且对于远剪切平面来说被定位成距离远。剪切平面对虚拟相机的视场提供约束并定义对象网格的多边形在哪里变得对虚拟相机可见并被虚拟相机渲染。近剪切平面的距离被设置为既允许对象接近虚拟相机,同时又不使对象出现大幅度失真。在实践中,相机操作者难以知道这个距离并将感兴趣的对象保持在近剪切平面的正前方。经常地,当对象通过剪切平面时,虚拟相机视图中的对象常常与近剪切平面碰撞并且对象的网格被切片。虚拟相机最终仅渲染对象的网格的一部分,同时还渲染对象网格的内部的一部分。对象与剪切平面的碰撞是不期望的结果,尤其是如果虚拟相机系统旨在产生逼真的相机镜头的话。

物理世界中的人无法感测虚拟相机的位置,因此会无顾忌地与虚拟相机发生碰撞。对于控制虚拟相机的相机操作者也是如此。可能经由监视器屏幕控制虚拟相机的相机操作者将具有降低的上下文感知(contextawareness)并且将无法感测虚拟相机周围的对象。缺乏上下文感知意味着对象可以从后面穿过虚拟相机。这些对象最初是从相机操作者看不到的,并且当对象通过虚拟相机的近剪切平面时,立即填充虚拟相机的视场。当试图在虚拟相机的视场中组成另一个对象时,立即填充虚拟相机视图的侵入对象导致中断。

存在解决虚拟对象明显地被剪切平面剪切的需求。还存在提出一种减少由突然出现在靠近虚拟相机的帧中的对象造成的破坏性遮挡的方法的需求。

视频游戏产业遇到了类似的问题,并且已经开发出标准方法来解决上述问题。一种已知的方法实现对象周围的碰撞半径,其确保对象在第一地点不会相互碰撞。使用碰撞半径导致在对象与相机碰撞时相机反弹对象;不期望地调整相机操作者的构图。另一种已知方法在对象通过相机周围的距离阈值时使对象淡出(fadeout)。这种方法同等对待所有对象,因此从相机前面穿过相机的对象将从与从后面穿过相机的对象相同的距离淡出。



技术实现要素:

本发明的一个目的是基本上克服或至少改善当前布置的至少一个缺点。

本公开的一个方面提供了一种用于生成虚拟视图视频的方法,该方法包括:基于虚拟相机的视场内的对象的轨迹和对象沿着轨迹的位置来确定要被应用于对象的过渡效果;以及在对象的可见性基于所确定的过渡效果被修改的情况下生成虚拟视图视频,以在显示设备上显示。

在一些方面,轨迹是预测的轨迹。

在一些方面,过渡效果是对象的显示、不显示、淡入(fadein)、淡出、透明度、颜色变换、混合、亮度、饱和度、纹理和样式之一。

在一些方面,基于虚拟视图中的其它对象来确定过渡效果。

在一些方面,确定过渡效果还包括确定对象的遮挡量度随时间的变化。

在一些方面,遮挡量度是对象对虚拟视图的遮挡的评估。

在一些方面,基于对象的轨迹确定遮挡量度的变化。

在一些方面,如果在虚拟视图中有多于一个对象,那么逐个对象地确定遮挡量度的变化。

在一些方面,基于对象相对于虚拟视图的尺寸来确定遮挡量度。

在一些方面,基于对象的类型确定过渡效果。

在一些方面,基于对象相对于与虚拟视图相关联的剪切平面的位置来确定过渡效果。

在一些方面,基于对象在虚拟视图中的时间量来确定过渡效果。

在一些方面,通过将对象在虚拟视图中的时间量与阈值进行比较来确定过渡效果。

在一些方面,基于遮挡量度满足阈值而应用过渡效果。

在一些方面,过渡效果在遮挡量度满足第一阈值时被应用,并且在遮挡量度满足第二阈值时完成。

在一些方面,基于遮挡量度满足至少一个阈值而应用过渡效果,并且基于对象与虚拟视图中的另一个对象交互而修改该至少一个阈值。

在一些方面,过渡效果是视觉效果。

在一些方面,对象沿着视场内的对象的轨迹的位置被预测。

本公开的另一方面提供了一种非瞬态计算机可读介质,其上存储有用于生成虚拟视图视频的程序,该程序包括:用于基于虚拟相机的视场内的对象的轨迹和对象沿着轨迹的位置来确定要被应用于对象的过渡效果的代码;以及用于在对象的可见性基于所确定的过渡效果被修改的情况下生成虚拟视图视频以在显示设备上显示的代码。

本公开的另一方面提供了用于生成虚拟视图视频的装置,该装置被配置为:基于虚拟相机的视场内的对象的轨迹和对象沿着轨迹的位置来确定要被应用于对象的过渡效果;以及在对象的可见性基于所确定的过渡效果被修改的情况下生成虚拟视图视频,以在显示设备上显示。

本公开的另一方面提供了一种系统,包括:多个图像捕获设备;以及用于存储数据的存储器和计算机可读介质;以及处理器,耦合到存储器,用于执行计算机程序,处理器经由网络与多个图像捕获设备通信,该程序具有用于以下操作的指令:基于虚拟相机的视场内的对象的轨迹和对象沿着轨迹的位置来确定要被应用于对象的过渡效果;以及在对象的可见性基于所确定的过渡效果被修改的情况下生成虚拟视图视频,以在显示设备上显示。

本公开的另一方面提供了一种在虚拟视图中渲染对象的计算机实现的方法,该方法包括:确定对象的遮挡量度随时间的变化,该遮挡量度是对象对虚拟视图的遮挡的评估,遮挡量度的变化是基于对象的轨迹来确定的;基于遮挡量度的变化确定对象的过渡效果,该过渡效果是视觉效果;以及应用所确定的过渡效果来渲染对象,所确定的过渡效果在对象沿着轨迹移动时根据对象的位置来应用。

在一些方面,轨迹是预测的轨迹。

在一些方面,过渡效果是对象的显示、不显示、淡入、淡出、透明度、颜色变换、混合、亮度、饱和度、纹理和样式之一。

在一些方面,基于虚拟视图中的其它对象来确定过渡效果。

在一些方面,如果在虚拟视图中有多于一个对象,那么逐个对象地确定遮挡量度的变化。

在一些方面,基于对象相对于虚拟视图的尺寸来确定遮挡量度。

在一些方面,基于对象的类型确定过渡效果。

在一些方面,基于对象相对于与虚拟视图相关联的剪切平面的位置来确定过渡效果。

在一些方面,基于对象在虚拟视图中的时间量来确定过渡效果。

在一些方面,通过将对象在虚拟视图中的时间量与阈值进行比较来确定过渡效果。

在一些方面,基于遮挡量度满足阈值而应用过渡效果。

在一些方面,过渡效果在遮挡量度满足第一阈值时被应用,并且在遮挡量度满足第二阈值时完成。

在一些方面,基于遮挡量度满足至少一个阈值而应用过渡效果,并且基于对象与虚拟视图中的另一个对象交互而修改该至少一个阈值。

本公开的另一方面提供了一种非瞬态计算机可读介质,其上存储有用于在虚拟视图中呈现对象的程序,该程序包括:用于确定对象的遮挡量度随时间的变化的代码,该遮挡量度是对象对虚拟视图的遮挡的评估,遮挡量度的变化是基于对象的轨迹来确定的;用于基于遮挡量度的变化确定对象的过渡效果的代码,该过渡效果是视觉效果;以及用于应用所确定的过渡效果来渲染对象的代码,所确定的过渡效果在对象沿着轨迹移动时根据对象的位置来应用。

本公开的另一方面提供了用于在虚拟视图中渲染对象的装置,该装置被配置为:确定对象的遮挡量度随时间的变化,该遮挡量度是对象对虚拟视图的遮挡的评估,遮挡量度的变化是基于对象的轨迹来确定的;基于遮挡量度的变化确定对象的过渡效果,该过渡效果是视觉效果;以及应用所确定的过渡效果来渲染对象,所确定的过渡效果在对象沿着轨迹移动时根据对象的位置来应用。

本公开的另一方面提供了一种系统,包括:多个图像捕获设备;以及用于存储数据的存储器和计算机可读介质;处理器,耦合到存储器以执行计算机程序,处理器经由网络与所述多个图像捕获设备通信,所述程序具有用于以下操作的指令:使用从多个图像捕获设备接收的数据生成虚拟视图;确定虚拟视图中的对象的遮挡量度随时间的变化,该遮挡量度是对象对虚拟视图的遮挡的评估,遮挡量度的变化是基于对象的轨迹来确定的;基于遮挡量度的变化确定对象的过渡效果,该过渡效果是视觉效果;以及应用所确定的过渡效果来渲染对象,所确定的过渡效果在对象沿着轨迹移动时根据对象的位置来应用。

附图说明

现在将参考以下附图描述本发明的一个或多个实施例,其中:

图1示出了围绕体育场的联网摄像机的系统的示例,该摄像机将视频数据馈送到处理系统;

图2示出了虚拟相机的示例;

图3示出了根据一个示例实施例的、在虚拟视图中渲染对象的方法的示意流程图;

图4示出了确定如图3的方法中使用的遮挡量度的方法的示意性流程图;

图5示出了绘制虚拟相机的视场中的对象的遮挡轮廓的示例图;

图6a至6d示出了当对象从虚拟相机前方接近时基于遮挡量度应用过渡效果的示例;

图7a至7d示出了当对象从虚拟相机后方接近时基于遮挡量度应用过渡效果的示例;

图8a至8d示出了当对象从虚拟相机后方接近时基于遮挡量度应用过渡效果的替代示例;

图9a至9d示出了当对象与虚拟相机的视场垂直地接近并靠近虚拟相机时基于遮挡量度应用过渡效果的示例场景;

图10a至10d示出了当对象与虚拟相机的视场垂直地接近并远离虚拟相机时基于遮挡量度应用过渡效果的示例场景;

图11a至11d示出了当对象远离虚拟相机跨虚拟相机的视场移动时基于遮挡量度应用过渡效果的示例场景;

图12a到12d示出了当两个对象在虚拟相机前面交互时渲染对象的示例场景;以及

图13a和13b形成通用计算机系统的示意性框图,在该通用计算机系统上可以实践所描述的布置。

具体实施方式

本公开涉及虚拟环境以及当虚拟对象靠近虚拟相机和近剪切平面时虚拟对象如何与虚拟相机的视场交互。所描述的布置涉及如果确定遮挡反映相机操作者的可能意图,那么允许对象遮挡视场的大部分。

本文描述的布置旨在用于表演舞台的上下文中,如图1中所例示的。如图1中所示,系统100包括假设以大致矩形、椭圆形或圆形的比赛场地为中心的场馆110,允许场馆110被一圈或多圈相机120a至120x围绕。如图1中所看到的,场馆110包括单圈相机120a至120x。多个相机120a至120x中的每一个相对于场馆110位于预定位置。在所描述的布置中,场馆110是运动场,但是在其它布置中,场馆110可以是音乐舞台、剧院、公共或私人场所。在图1的示例中,运动场110包含至少一个对象140。对象140可以是一个或多个人、球、车辆或任何结构。

图1中所示的相机120a至120x被同步以在相同时刻获取帧,从而从大量视点同时捕获运动场110上的所有点。在一些变体中,不采用图1中所示的整圈相机120a至120x,而是采用场馆110的整个周边的一些子集。当提前已知某些视点是不必要的时,不使用整圈相机的布置可能是有利的。

在经由网络连接1321(参见图13a)变得对处理单元1305可用之前,由相机120a至120x捕获的视频帧在其中一个相机(例如相机120a)附近经受处理和临时存储(参见图13a和13b)。处理单元1305从控制器180接收控制输入,控制器180指定运动场110内的虚拟相机150的位置、朝向、变焦和可能其它模拟的相机特征。控制器180通常由系统100的用户操作,并且可以是适于设置相机120a至120x的参数的任何控制器。如图13a中所看到的,处理单元1305在计算机模块1301内配置。但是,在替代实现方式中,可以使用分开的视频处理单元来实现所描述的布置。

处理单元1305(也称为处理器)被配置为基于来自围绕运动场110的相机120a-120x的对处理单元1305可用的视频流合成或生成指定的虚拟相机视图190。

短语“虚拟相机”涉及具有以计算方式导出的功能的相机。该功能通过诸如物理相机(诸如相机120a至120x)之间的内插或通过使用来自围绕场景的物理相机(120a-120x)的数据构建的建模3d场景的渲染来以计算方式导出,而不是简单地任何单个物理相机的输出。虚拟相机涉及使用从一个或多个物理相机获得的像素数据来渲染虚拟视图,例如视频序列。虚拟视图涉及虚拟相机的视场。物理相机120a至120x可以是能够捕获图像或视频数据的任何图像捕获设备,例如数字相机或摄像机。相机120a至120x优选地是适于生成广播视频的高分辨率相机,例如用于体育广播。

虚拟相机位置输入可以由人类虚拟相机操作者生成,并且基于来自诸如操纵杆、鼠标(诸如图13a中的鼠标1303)或类似控制器(诸如控制器180)(包括含有多个输入部件的专用控制器)之类的用户接口设备的输入。可替代地,可以基于游戏玩法的分析来完全自动地生成虚拟相机位置。混合控制配置也是可能的,其中相机定位的一些方面由人类操作者指导而其它方面由自动算法指导。例如,粗略定位可以由人类操作者执行,而包括稳定化和路径平滑的精确定位由在处理器1305上执行的自动算法执行。

处理单元1305被配置为使用本领域中已知的基于图像的渲染方法来实现帧合成,即,渲染虚拟相机视图。基于图像的渲染方法基于对来自已知几何布置的一组相机的像素数据进行采样并将采样的像素信息组合为合成帧。除了对所请求的帧的基于样本的渲染之外,处理单元1305还可以被配置为根据需要执行区域的合成、3d建模、绘画或内插,从而覆盖采样缺陷以创建高质量视觉外观的帧。处理器1305还可以被配置为针对所请求的视点以帧质量或者相机覆盖的完整性的形式提供反馈,使得生成相机位置控制信号的控制器设备180可以知道处理系统100的实际界限。由处理单元1305创建或渲染的虚拟视图190的视频流随后可以被提供给制作台(未绘出)。视频流在制作台处一起被编辑以形成广播视频。可替代地,视频流可以在未编辑的情况下被广播或者存储以供稍后编译。

由上述系统100提供的灵活性给出了先前在诸如体育报道之类的广播传输中未预料到的第二组问题。例如,虚拟相机150可以自由地在运动场110上移动位置和/或朝向,而不需要物理对象或相机操作者处于特定位置。另外,如上所述,可以发生虚拟视图中对象的剪切。

如上所述,与虚拟相机相关的一些已知方法定义阈值距离以避免剪切。通过定义阈值距离,难以同时解决允许感兴趣的对象填充视场以及防止从虚拟相机后方接近的对象填充视场并遮挡任何可能感兴趣的对象的问题。

图13a和13b描绘了通用计算机系统1300,在其上可以实践所描述的各种布置。

如图13a中所看到的,计算机系统1300包括:计算机模块1301;输入设备,诸如键盘1302、鼠标指针设备1303、扫描仪1326、相机1327和麦克风1380;以及输出设备,包括打印机1315、显示设备1314和扬声器1317。计算机模块1301可以使用外部调制器-解调器(调制解调器)收发器设备1316来经由连接1321与通信网络1320进行通信。通信网络1320可以是广域网(wan),诸如互联网、蜂窝电信网络或专用wan。在连接1321是电话线的情况下,调制解调器1316可以是传统的“拨号”调制解调器。可替代地,在连接1321是高容量(例如,电缆)连接的情况下,调制解调器1316可以是宽带调制解调器。无线调制解调器也可以用于与通信网络1320的无线连接。

计算机模块1301通常包括至少一个处理器单元1305,以及存储器单元1306。例如,存储器单元1306可以具有半导体随机存取存储器(ram)和半导体只读存储器(rom)。计算机模块1301还包括多个输入/输出(i/o)接口,包括:耦合到视频显示器1314、扬声器1317和麦克风1380的音频-视频接口1307;耦合到键盘1302、鼠标1303、扫描仪1326、相机1327、控制器180以及可选地操纵杆或其它人类接口设备(未示出)的i/o接口1313;以及用于外部调制解调器1316和打印机1315的接口1308。在一些实现方式中,调制解调器1316可以结合在计算机模块1301内,例如在接口1308内。计算机模块1301还具有本地网络接口1311,其允许计算机系统1300经由连接1323耦合到称为局域网(lan)的局域通信网络1322。如图13a中所示,本地通信网络1322还可以经由连接1324耦合到广域网1320,连接1324通常包括所谓的“防火墙”设备或类似功能的设备。本地网络接口1311可以包括以太网电路卡、无线布置或ieee802.11无线布置;但是,可以为接口1311实践许多其它类型的接口。

i/o接口1308和1313可以提供串行和并行连接性中的任一者或两者,前者通常根据通用串行总线(usb)标准实现并且具有对应的usb连接器(未示出)。存储设备1309被提供并且通常包括硬盘驱动器(hdd)1310。也可以使用其它存储设备,诸如软盘驱动器和磁带驱动器(未示出)。通常提供光盘驱动器1312以充当非易失性数据源。诸如光盘(例如,cd-rom、dvd、蓝光盘)、usb-ram、便携式外部硬盘驱动器和软盘之类的便携式存储器设备可以用作系统1300的适当数据源。

计算机模块1301的部件1305至1313通常经由互连总线1304并且以导致相关领域技术人员已知的计算机系统1300的传统操作模式的方式进行通信。例如,处理器1305使用连接1318耦合到系统总线1304。同样,存储器1306和光盘驱动器1312通过连接1319耦合到系统总线1304。可以在其上实践所描述的布置的计算机的示例包括ibm-pc和兼容机、sunsparcstations、applemactm或类似的计算机系统。

所描述的方法可以使用计算机系统1300来实现,其中将要描述的图3和4的处理可以被实现为在计算机系统1300内可执行的一个或多个软件应用1333。特别地,图3和4的方法的步骤由软件1333中的指令1331(参见图13b)实现,这些指令在计算机系统1300内被执行。软件指令1331可以被形成为一个或多个代码模块,每个代码模块用于执行一个或多个特定任务。软件还可以被划分为两个分开的部分,其中第一部分和对应的代码模块执行所描述的方法,第二部分和对应的代码模块管理第一部分与用户之间的用户界面。

例如,软件可以存储在计算机可读介质中,包括下面描述的存储设备。软件从计算机可读介质加载到计算机系统1300中,然后由计算机系统1300执行。具有记录在计算机可读介质上的这种软件或计算机程序的计算机可读介质是计算机程序产品。计算机程序产品在计算机系统1300中的使用优选地产生用于实现所描述的布置的有利装置。

软件1333通常存储在hdd1310或存储器1306中。软件从计算机可读介质加载到计算机系统1300中,并由计算机系统1300执行。因此,例如,软件1333可以存储在由光盘驱动器1312读取的光学可读盘存储介质(例如,cd-rom)1325上。具有记录在其上的这种软件或计算机程序的计算机可读介质是计算机程序产品。计算机程序产品在计算机系统1300中的使用优选地产生用于实现所描述的方法的装置。

在一些情况下,在一个或多个cd-rom1325上编码并且经由相应的驱动器1312读取的应用程序1333可以被提供给用户,或者可替代地可以由用户从网络1320或1322读取。另外,还可以将软件从其它计算机可读介质加载到计算机系统1300中。计算机可读存储介质是指为计算机系统1300提供所记录的指令和/或数据以供执行和/或处理的任何非瞬态有形存储介质。这种存储介质的示例包括软盘、磁带、cd-rom、dvd、blu-raytm盘、硬盘驱动器、rom或集成电路、usb存储器、磁光盘或诸如pcmcia卡之类的计算机可读卡等等,无论这些设备是在计算机模块1301的内部还是外部。也可以参与向计算机模块1301配备软件、应用程序、指令和/或数据的瞬态或非有形计算机可读传输介质的示例包括无线电或红外传输信道以及到另一个计算机或联网设备的网络连接、以及互联网或内联网,包括电子邮件传输和在网站等上记录的信息。

可以执行上面提到的应用程序1333的第二部分和对应的代码模块以实现要在显示器1314上渲染或以其它方式表示的一个或多个图形用户界面(gui)。通过通常键盘1302和鼠标1303的操纵,计算机系统1300和应用的用户可以以在功能方面适合的方式操纵界面,以向与(一个或多个)gui相关联的应用提供控制命令和/或输入。还可以实现其它形式的在功能方面适合的用户界面,诸如利用经由扬声器1317输出的语音提示和经由麦克风1380输入的用户语音命令的音频接口。

图13b是处理器1305和“存储器”1334的详细示意性框图。存储器1334表示可以由图13a中的计算机模块1301访问的所有存储器模块(包括hdd1309和半导体存储器1306)的逻辑集合。

当计算机模块1301最初上电时,执行上电自检(post)程序1350。post程序1350通常存储在图13a的半导体存储器1306的rom1349中。诸如存储软件的rom1349之类的硬件设备有时被称为固件。post程序1350检查计算机模块1301内的硬件以确保正常运行,并且通常检查处理器1305、存储器1334(1309、1306)和通常也存储在rom1349中的基本输入-输出系统软件(bios)模块1351以便正常工作。一旦post程序1350成功运行,bios1351就激活图13a的硬盘驱动器1310。硬盘驱动器1310的激活使得驻留在硬盘驱动器1310上的引导加载程序1352经由处理器1305执行。这将操作系统1353加载到ram存储器1306中,操作系统1353在ram存储器1306上开始操作。操作系统1353是可由处理器1305执行的系统级应用,以履行各种高级功能,包括处理器管理、存储器管理、设备管理、存储管理、软件应用接口和通用用户接口。

操作系统1353管理存储器1334(1309、1306)以确保在计算机模块1301上运行的每个进程或应用具有在其中执行而不与分配给另一个进程的存储器冲突的足够的存储器。此外,必须适当使用图13a的系统1300中可用的不同类型的存储器,以便每个进程可以有效地运行。因而,聚合的存储器1334不旨在示出如何分配存储器的特定片段(除非另有说明),而是提供计算机系统1300可访问的存储器的一般视图以及如何使用这些存储器。

如图13b中所示,处理器1305包括多个功能模块,包括控制单元1339、算术逻辑单元(alu)1340,以及有时称为高速缓冲存储器的本地或内部存储器1348。高速缓冲存储器1348通常在寄存器区段中包括多个存储寄存器1344-1346。一条或多条内部总线1341在功能上互连这些功能模块。处理器1305通常还具有一个或多个接口1342,用于使用连接1318经由系统总线1304与外部设备通信。存储器1334使用连接1319耦合到总线1304。

应用程序1333包括指令序列1331,其可以包括条件分支和循环指令。程序1333还可以包括在程序1333的执行中使用的数据1332。指令1331和数据1332分别存储在存储器位置1328、1329、1330和1335、1336、1337中。取决于指令1331的相对尺寸和存储器位置1328-1330,特定指令可以存储在单个存储器位置中,如存储器位置1330中所示的指令所绘出的。可替代地,可以将指令分段为多个部分,每个部分存储在分开的存储器位置中,如存储器位置1328和1329中所示的指令片段所描绘的。

一般而言,处理器1305被给予在其中执行的指令集。处理器1305等待处理器1305通过执行另一个指令集对其作出反应的后续输入。每个输入可以从多个源中的一个或多个提供,包括:由输入设备1302、1303中的一个或多个生成的数据,通过网络1320、1302之一从外部源接收的数据,从存储设备1306、1309之一检索到的数据,或从插入对应读取器1312的存储介质1325检索到的数据,全部在图13a中绘出。在一些情况下,执行指令集可以导致数据的输出。执行还可以涉及将数据或变量存储到存储器1334。

所描述的布置使用输入变量1354,其存储在存储器1334中的对应存储器位置1355、1356、1357中。所描述的布置产生输出变量1361,其存储在存储器1334中的对应存储器位置1362、1363、1364中。中间变量1358可以存储在存储器位置1359、1360、1366和1367中。

参考图13b的处理器1305,寄存器1344、1345、1346、算术逻辑单元(alu)1340和控制单元1339一起工作以执行针对构成程序1333的指令集中的每条指令执行“提取、解码和执行”循环所需的微操作的序列。每个提取、解码和执行循环包括:

提取操作,其从存储器位置1328、1329、1330提取或读取指令1331;

解码操作,其中控制单元1339确定提取出了哪条指令;以及

执行操作,其中控制单元1339和/或alu1340执行指令。

此后,可以针对下一条指令执行另一个提取、解码和执行循环。类似地,可以执行存储循环,控制单元1339通过该存储循环将值存储或写入存储器位置1332。

图3和4的处理中的每个步骤或子处理与程序1333的一个或多个片段相关联,并由一起工作的处理器1305中的寄存器区段1344、1345、1347、alu1340和控制单元1339执行,以对程序1333的所述片段的指令集中的每条指令执行提取、解码和执行循环。

所描述的方法可以可替代地在专用硬件(诸如执行图3和4的功能或子功能的一个或多个集成电路)中实现。这种专用硬件可以包括图形处理器、数字信号处理器或一个或多个微处理器和相关联的存储器。

图2是在所描述的布置中使用的虚拟相机210(类似于虚拟相机150)的正交绘图。虚拟相机210具有视场250。视场250受到边缘220、近剪切平面230和远剪切平面240的限制。进入视场250的对象变得对虚拟相机210可见。近剪切平面230设置在靠近虚拟相机210的深度处,而远剪切平面240设置在相对远离相机210的深度处。即使虚拟相机210具有远剪切平面240,所描述的布置也涉及近剪切平面230。为了便于参考,所有以下表示仅关于近剪切位置(例如近剪切平面230)来描绘虚拟相机(例如虚拟相机210)。

绕运动场110移动的对象可以在相机操作者不知情的情况下从任何方向进入虚拟相机210的视场250,导致遮挡破坏相机操作者对预期感兴趣对象的组帧。

所描述的布置涉及用于基于从对象的轨迹和虚拟相机的视场导出的被确定的遮挡量度来渲染虚拟视图中的对象的方法。将过渡效果应用于对象确保虚拟相机在对象被近剪切平面剪切时不渲染对象。在确定遮挡量度时,所描述的布置允许破坏性地遮挡视场的对象具有所应用的过渡效果,这减少了破坏性的遮挡。在本公开的上下文中,破坏性遮挡涉及遮挡潜在的感兴趣对象或遮挡超过视场的预定部分,例如视场的50%。

图3示出了在虚拟相机视场中渲染对象的方法300。方法300通常被实现为应用1333的一个或多个模块,存储在硬盘驱动器1310上并在处理器1305的控制下执行。

方法300在获得步骤310处开始。在步骤310处,获得反映虚拟相机210的视场220的数据。在图1的示例中,视场数据由处理器1305使用从物理相机120a至120x接收的视频数据、根据虚拟相机的构造来获得。视场数据被更新以反映相机操作者利用来自控制器180的输入数据(如果适当的话)对物理相机120a至120x的参数所做的改变。

方法300在处理器1305的执行下从步骤310继续到获得步骤320。在步骤320处,获得对象在运动场110上的位置数据。在一种布置中,对象是体育场上的人。在其它布置中,对象不是人,而可以是球或车辆或某种其它类型的对象。用于获得对象的位置数据的一种方法是通过固定到对象的跟踪设备(未示出)。跟踪设备包括gps接收器,该gps接收器通过无线连接(例如ieee802.11或rfid)将对象的坐标发送到中心位置。在替代布置中,可以从视频帧的重建中提取位置数据,例如使用相机120a-120x的阵列和对应的视图。应用1333使用光学字符识别(ocr)从诸如姓名和玩家号码之类的对象中提取识别特征。在替代布置中,可以从构建的3d模型中提取位置数据。当场馆为空时系统100可以初始起动,从而提供基线。一旦对象进入场馆并在3d模型中表示,当前3d模型与基线3d模型之间的差异就指示对象的位置。在其它布置中,应用1333遵循基于对象尺寸、移动速度和位置的一组规则来对在模型中识别出的对象的类型进行分类。例如,在场馆上和上方快速移动的相对小的对象被分类为球,而沿着地面移动的大约1.7m高的中型对象被分类为人。

方法300在处理器1305的执行下从步骤320继续到确定步骤330。在步骤330处,确定对象的轨迹。存在用于确定对象轨迹的多种实现方式。在一种布置中,应用133生成先前捕获的事件的虚拟重建(重放),其中对象的移动是已知的。在另一种布置中,应用133实时(实况)生成虚拟重建,其中对象的轨迹是预测轨迹。预测轨迹例如基于当前轨迹、使用当前位置和当前速度和速率、然后在时间上向前推断来确定。

方法300在处理器1305的执行下从步骤330继续到确定步骤340。在步骤340处,确定对象的遮挡量度。下面关于图4描述如步骤340所实现的确定遮挡量度的方法400。在确定遮挡量度时,步骤340还操作为选择作为视觉效果的过渡效果。

方法300在处理器1305的执行下从步骤340继续到应用步骤350。在步骤350处,基于所确定的遮挡量度将过渡效果应用于对象。根据沿着轨迹移动的对象的位置来应用过渡效果。应用过渡效果操作为在虚拟视图(诸如视图190)中渲染对象。在一种布置中,将透明度过渡效果应用于对象。但是,其它布置应用过渡效果之一或组合,诸如选择是显示还是不显示、淡入、淡出、改变或变换颜色变换、混合、亮度、饱和度、纹理、视觉效果或对象的样式。过渡效果还可以基于对象的类型和对象的相对尺寸。例如,透明度过渡效果可以用于人,纹理过渡效果可以用于像目标柱这样的结构,并且颜色过渡效果可以用于球。

图4示出了用于确定对象的遮挡量度的方法400。方法400通常被实现为应用1333的一个或多个模块,存储在硬盘驱动器1310上并在处理器1305的控制下执行。

方法400在确定步骤410处开始。在步骤410处,针对对象被预测存在于其中的虚拟相机视场的每个帧确定对象的遮挡率。遮挡率与对象遮挡场景背景的比率相关。

遮挡率是(通过对象跟踪方法)逐个对象地确定的,就好像所讨论的对象是视图中仅有的对象一样。在逐个对象地确定遮挡率时,遮挡率的确定不受主要对象前面的其它对象的影响,从而可能影响观看者对造成多少遮挡的印象。

方法400从步骤410继续到生成步骤420。在步骤420处,应用1333执行为基于遮挡率随时间的改变而生成遮挡简档,也称为遮挡量度。遮挡轮廓(量度)表示对虚拟视图被对象遮挡的评估。基于对象的轨迹来确定遮挡轮廓的变化。关于图5描述了遮挡轮廓的各方面。由于遮挡率涉及对象遮挡虚拟视图的比率,因此遮挡轮廓与对象的尺寸相关。

方法400从步骤420继续到指派步骤430。在步骤430处,基于遮挡轮廓将遮挡量度指派给对象。例如,所选择的遮挡量度可以与表示虚拟相机的数据相关联地存储在存储器1309中。方法400在步骤430之后结束。

图5示出了遮挡轮廓的图500的示例。图500绘制了对象相对于视场的遮挡率随时间的改变。x轴501映射时间。可以关于多个帧或标准时间码来测量时间。y轴502基于遮挡率来绘制遮挡量。线503通过剖析对象的遮挡随时间的改变来表示遮挡轮廓。线504指示自从对象具有大于零的遮挡直到对象达到峰值遮挡的时间量。

线504的一端的箭头509指示遮挡轮廓的末端超出图500的界限。线505指示自从对象的峰值遮挡到对象的遮挡达到零(例如,完全被剪切平面230剪切掉)的时间量。由线504和505指示的时间相加以确定对象在视场250中的总时间。由线504和505指示的时间量用于确定对象的遮挡量度。两条点线506和507分别表示上限遮挡阈值和下限遮挡阈值。上限遮挡阈值506和下限遮挡阈值507通常通过用户测试特定上下文(例如体育的类型)或场馆来确定。上限遮挡阈值506和下限遮挡阈值507用于将过渡效果应用于对象。

图6a至6d示出了示例场景,其中对象(在这种情况下是人)从虚拟相机的视场内接近虚拟相机。

图6a示出了场景600的俯视图。对象601正以轨迹602接近虚拟相机603。虚拟相机603具有视场660。点a605、点b606、点c607和点d608各自分别表示对象601沿着轨迹602移动的连续时刻。点a605、点b606、点c607涉及对象601在相机603的近剪切平面604前面的时刻。点d604涉及当对象601已穿过近剪切平面604的时刻。为了便于参考,虚拟相机视图的远剪切平面从图6a中排除(并且从图7a到12a类似)。

作为参考,序列620(图6b)示出了当对象601在点a605、点b606、点c607和点d608处并且未实践所描述的布置时由虚拟相机601捕获或渲染的视频帧。序列620的帧a621、帧b622、帧c623和帧d624分别示出在点a、点b、点c和点d(605至608)处接近虚拟相机603的对象625(与对象601对应)。对象625在帧c623和d624之间的帧中被近剪切平面604可见地剪切。

图6c示出了作为执行步骤420的结果的对象601的遮挡轮廓的对应图630。遮挡轮廓631示出了对象601所造成的相对于视场660的随时间变化的遮挡量。由于对象601已经在相机603的视场中,因此在轮廓631的开始处存在少量遮挡。图6a的点a605、点b606、点c607和点d608分别在遮挡轮廓631上表示为标记a632、标记b633、标记c634和标记d635。标记c634表示在对象601开始被剪切平面604剪切之前的峰值遮挡的时刻,导致对象的遮挡的降低。标记d635表示对象601的遮挡达到零并且对象601被完全剪切到视图之外的时刻。如图6c中所示,遮挡轮廓(量度)631表示对象601对虚拟视场的遮挡的评估,并且基于对象601的轨迹602确定轮廓631的变化。

步骤430的执行基于遮挡轮廓631中确定的变化向对象指派遮挡量度。由线636和637指示的时间量的相加确定了对象在视场660中的总时间。在图6a至6d的场景中,应用1333执行为在通过隐藏由剪切平面604造成的任何对象剪切来应用过渡效果之前允许对象尽可能多地遮挡视场660。通过确定由线636指示的时间量,允许对象尽可能多地遮挡视场。如果由线636指示的时间量高于预定阈值(例如,1秒),那么对象601在视场660中具有已建立的存在并且继续存在,直到达到应用过渡效果的时间。通常通过系统100的用户测试来确定预定阈值。一旦在步骤430处确定了对象的过渡效果,就在步骤350处使用遮挡阈值638和639来应用过渡效果。步骤430操作为通过选择诸如透明度之类的过渡效果以及何时在由虚拟相机603生成的视频序列中应用过渡效果来指派遮挡量度。

在执行步骤350时应用过渡效果涉及遮挡阈值638和639(类似于图5的遮挡阈值506和507)。在图6a至6d的示例中,当遮挡轮廓631在标记b633处越过上限遮挡阈值638时,应用1333开始过渡效果,并在标记c634处完成过渡效果。在图6a至6d的示例中,在标记d635处不使用过渡效果。因而,当对象601沿着轨迹602移动时,根据对象601的位置应用过渡效果。

序列650(图6d)示出了当对象601处于点a605、点b606、点c607和点d608处并且应用所描述的布置时由虚拟相机603捕获的帧。序列650的帧651、帧b652、帧c653和帧d654分别示出了接近虚拟相机603的对象655(与对象601对应)。作为执行步骤350的结果,在帧b652中,对象655是可见的,并且在帧c653中,对象656(与655对应)具有应用的过渡效果,从而对于观看者是透明且不可察觉的(由点线指示)。在帧c653和帧d654之间,对象601被剪切,但是虚拟相机603不渲染对象601,因为对象601是透明的。

图7a至7d示出了示例场景,其中对象(在这种情况下是人)从虚拟相机后方接近虚拟相机进入虚拟相机的视场。

图7a示出了场景700的俯视图。对象701以轨迹702接近虚拟相机703。虚拟相机703具有视场760。点a705、点b706、点c707和点d708各自分别表示对象701在沿着轨迹702移动时的连续时刻。点a705涉及对象701在虚拟相机703的近剪切平面704后方的时刻。点b706、点c707和点d708涉及当对象701已穿过近剪切平面704的时刻。

作为参考,图7b中的序列720示出了当对象701分别位于点a705、点b706、点c707和点d708处并且未实践所描述的布置时由虚拟相机703捕获的视频帧。序列720的帧721、帧b722、帧c723和帧d724分别示出进入视场760并移动远离虚拟相机703的对象725(与对象701对应)。对象725在帧a721和b722之间的帧中被近剪切平面704可见地剪切。

图7c示出了作为执行步骤420的结果的对象701的遮挡轮廓的对应图730。遮挡轮廓731示出了对象701所造成的随时间变化的遮挡量。点a705、点b706、点c707和点d708分别在遮挡轮廓731上表示为标记a732、标记b733、标记c734和d标记735。当对象701从视场760之外开始时,轮廓731以零遮挡开始,如点a732所表示的。标记b734表示在对象701进入视场760并且停止被剪切平面704剪切之后的峰值遮挡的时刻。

步骤430执行为通过针对人701选择过渡效果来指派遮挡量度。在步骤430处将由线736和737指示的时间量相加确定对象701在视场760中的总时间。在图7a至7d中,所描述的布置操作为隐藏由进入视场760的对象701造成的任何对象剪切,而且防止对象701在进入视场760时造成破坏性遮挡。应用133基于由线736指示的时间量确定对象701将造成破坏性遮挡。如果由线736指示的时间量低于阈值(例如,1秒),那么步骤430的执行确定对象(701)在视场760中的突然出现会对视场760造成干扰。过渡效果被指派以逐步将对象701引入视场760。因而,基于对象701相对于剪切平面740的位置确定过渡效果。

一旦确定了过渡效果,就在步骤350处使用遮挡阈值738和739应用过渡效果。在图7a至7d的示例中,在步骤350处,当遮挡轮廓731满足第一阈值要求(在标记c734处越过上限遮挡阈值738)时开始应用过渡效果,并且当遮挡轮廓满足第二阈值要求(在标记d735处越过下限阈值)时完成过渡效果的应用。

图7d的序列750示出了当对象701在点a705、点b706、点c707和点d708处并且实践所描述的布置时由虚拟相机703渲染的视频帧751至754。序列750的帧751、帧b752、帧c753和帧d754分别示出了从后方接近虚拟相机703然后移动远离虚拟相机703的对象755(与对象701对应)。作为执行步骤350的结果,在帧c753中,对象755被渲染为对于观看者是透明或不可察觉的(由点线指示),并且在帧d754中,对象756(与对象755对应)是可见的。在帧b752和帧c753之间,对象701被剪切,但是虚拟相机703不渲染对象701,因为对象701具有应用的过渡效果,从而基本上透明或不可见。

图8a至8d示出了示例场景,其中对象(在这种情况下是人)从相机后方接近虚拟相机、对角地进入虚拟相机的视场。

图8a示出了场景800的俯视图。对象801(人)正以轨迹802接近虚拟相机803。相机803具有视场860。点a805、点b806、点c807和点d808各自分别表示对象801沿着轨迹802移动的连续时刻。点a805表示对象801在近剪切平面804后方的时刻。点b806、点c807和点d808表示对象801已穿过近剪切平面804的时刻。

作为参考,图8b中的序列820示出了当对象801位于点a805、点b806、点c807和点d808并且未实践所描述的方法时由虚拟相机803捕获的视频帧。序列820的帧a821、帧b822、帧c823和帧d824分别示出了对角地进入视场860并且移动远离虚拟相机803的对象825(与对象801对应)。在帧a821和帧b822之间的帧中,对象825被近剪切平面804可见地剪切。

图8c示出了作为执行步骤420的结果的对象801的遮挡轮廓的对应图830。遮挡轮廓831示出了对象801在视场860中造成的随时间变化的遮挡量。图8a的点a805、点b806、点c807和点d808分别在遮挡轮廓831上表示为标记a832、标记b833、标记c834和标记d835。当对象801从视场860之外开始时,轮廓831以零遮挡开始,如点a832所表示的。标记b834表示在对象801进入视场860并且停止被剪切平面804剪切之后的峰值遮挡的时刻。

方法400继续到步骤430以确定对象701的过渡效果。在步骤430处由线836和837指示的时间量的相加确定了对象801处于视场860中的总时间。在图8a至8d的示例中,所描述的布置操作为选择过渡效果以隐藏由进入视场860的对象801造成的任何对象剪切。在图8a至8b中,对象不会造成破坏性遮挡,因为即使由线836指示的时间量低于时间阈值(例如,图8c中的1秒),峰值遮挡(标记b833)也在可接受的限度内。可接受的限度涉及低于上限遮挡阈值838发生的遮挡。

在步骤350处应用所选择的过渡效果。一旦应用1333确定了对象801的过渡效果,就使用遮挡阈值838和839来应用过渡效果。在步骤350处,当遮挡轮廓831的峰值在遮挡阈值838以下时,应用1333在标记b833处开始过渡效果。当遮挡轮廓831在标记c834处越过下限阈值839时,应用1333完成过渡。因而,基于遮挡轮廓(量度)831满足至少一个阈值来应用过渡效果。

图8d中的序列850示出了当实践所描述的布置时当对象801处于点a805、点b806、点c807和点d808时由虚拟相机803捕获的视频帧。序列850的帧a851、帧b852、帧c853和帧d854分别示出了对角地进入视场860并且移动远离相机803的对象855(与对象801对应)。作为执行步骤350的结果,对对象855应用过渡效果,以使对象855在帧b852中不可见(由点线指示)并且对象856在帧c853中可见。在帧a851和帧b852之间,对象855被剪切,但是相机803不渲染对象855,因为所选择的过渡效果涉及成为透明或不可见。

图9a至9d示出了示例场景,其中对象(在这种情况下是人)正在相对靠近虚拟相机处跨虚拟相机的视场移动。

图9a示出了场景900的俯视图。对象901以轨迹902接近虚拟相机903。虚拟相机903具有视场960。点a905、点b906和点c907各自分别表示对象901沿着轨迹902移动的连续时刻。点a905表示对象901进入视场960的时刻。点b906表示对象901完全出现在视场960中的时刻。点c907表示对象901离开视场960的时刻。

作为参考,图9b中的序列920示出了当对象801处于点a905、点b906和点c907处并且未实践所描述的布置时由虚拟相机703捕获的视频帧。序列920的帧a921、帧b922和帧c923分别示出了进入视场960并在点a905、点b906和点c907处跨视场960移动的对象924(与对象901对应)。对象925快速进入然后离开视场960,造成帧a921、帧b922和帧c923中的遮挡。

图9c示出了作为执行步骤420的结果的对象901的遮挡轮廓的图930。遮挡轮廓931示出了对象901在视场960中造成的随时间变化的遮挡量。点a905、点b906和点c907分别在遮挡轮廓931上表示为标记a932、标记b933和标记c934。标记b933表示在对象901进入视场960之后的峰值遮挡的时刻。

步骤430执行为将过渡效果指派给对象701。在步骤430处由线936和937指示的时间量的相加确定了对象901处于视场960中的总时间。在图9a至9d的示例中,所描述的布置操作为防止对象901在进入视场960时造成破坏性遮挡。应用1333通过确定遮挡轮廓931超过上限遮挡阈值938来确定对象1333将造成破坏性遮挡。在确定对象901将造成遮挡之后,由线936和937指示的时间量被组合以确定总时间低于最小出现阈值(例如1秒)。由于遮挡轮廓831指示对象901将造成遮挡并且将相对快速地进入和离开视场960,因此应用1333选择不将对象901过渡到视场960中。过渡效果基于对象901处于与视场960相关联的虚拟视图中的时间量来有效地确定。另外,通过将对象处于虚拟视图中的时间量与阈值1秒进行比较来确定过渡效果。在一些布置中,可以通过用户或观众测试来确定阈值。步骤430操作为应用“不显示”的过渡效果,或者在一些布置中应用透明度的过渡效果。

执行步骤350以应用所确定的透明度。图9d中的序列950示出了当对象901处于点a905、点b906和点c907并且实践所描述的布置时由虚拟相机903捕获的视频帧。作为执行步骤350的结果,在帧a951、帧b952和帧c953中,对象954被渲染为透明的(如点线954所指示的)。在图9d的示例中,过渡效果被应用于序列950中的所有帧,而不是遮挡轮廓831在遮挡阈值938和939之间的那些帧。

图10a至10d示出了示例场景,其中对象(在这种情况下是球)在靠近相机处跨相机的视场移动。

图10a示出了场景1000的俯视图。对象1001(球)以轨迹1002接近虚拟相机1003。虚拟相机1003具有视场1060。点a1005、点b1006和点c1007各自分别表示球1001沿着轨迹1002移动的连续时刻。点a1005涉及对象1001进入视场1060的时刻。点b1006表示对象1001完全出现在视场1060中的时刻。点c1007涉及对象离开视场1060的时刻。虚拟相机1003具有近剪切平面1004。点a1005、点b1006和点c1007都在剪切平面1004之外。

作为参考,图10b示出了当对象1001位于点a1005、点b1006和点c1007并且未实践所描述的布置时由虚拟相机1003捕获的视频帧的序列1020。序列1020的帧a1021、帧b1022和帧c1023分别示出了进入视场1060并在点a1005、点b1006和点c1007处跨视场移动的对象1024(与球1001对应)。对象1024快速进入然后离开视场1060。

图10c示出了作为执行步骤420的结果的对象1001的遮挡轮廓的图1030。遮挡轮廓1031示出了对象1001所造成的随时间变化的遮挡量。图10a的点a1005、点b1006和点c1007分别在遮挡轮廓1031上表示为标记a1032、标记b1033和标记c1034。标记b1034表示在对象1001进入视场1060之后的峰值遮挡的时刻。

步骤430执行为向球1001指派过渡效果或过渡。在步骤430处由线1036和1037指示的时间量的相加确定了对象1001处于视场1060中的总时间。由标记b1033指示的峰值遮挡量低于上限遮挡阈值1138,指示对象1001不造成负面遮挡。不管对象1001处于视场1060中的相对短的时间量,都不会造成负面遮挡。对象1001一进入视场1060,应用1333就指派过渡效果以使对象1001可见。

图10d的序列1050示出了当对象1001处于图10a的点a1005、点b1006和点c1007处并且实践所描述的布置时由虚拟相机1003捕获的视频帧。作为执行步骤350的结果,对象1054(与球1001对应)在序列1050的帧a1051、帧b1052和帧c1053中的每个中均被渲染为可见(显示)。

图11a至11d示出了示例场景,其中对象(在这种情况下是人)正在远离虚拟相机处跨虚拟相机的视场移动。

图11a示出了场景1100的俯视图。对象1101(人)正以轨迹1102接近虚拟相机1103。虚拟相机1103具有视场1160。点a1105、点b1106和点c1107各自分别表示对象1103沿着轨迹1102移动的连续时刻。点a1105涉及对象进入视场1160的时刻。点b1106涉及对象1101完全出现在视场1160中的时刻。点c1107涉及对象1101离开视场1160的时刻。

作为参考,图11b示出了当对象1101处于点a1105、点b1106和点c1107处并且未实践所描述的布置时由虚拟相机1103捕获的视频帧序列。序列1120的帧a1121、帧b1122和帧c1123分别示出进入视场1160并在点a1105、点b1106和点c1107处跨视场1160移动的对象1124(与人1101对应)。对象1124进入然后离开视场1160,没有造成破坏性遮挡。

图11c示出了作为执行步骤420的结果的对象1101的遮挡轮廓的图1130。遮挡轮廓1131示出了对象1101所造成的随时间变化的遮挡量。图11a的点a1105、点b1106和点c1107分别在遮挡轮廓1131上表示为标记a1132、标记b1133和标记c1134。标记b1133表示在对象1101进入视场1160之后的峰值遮挡的时刻。

执行步骤430以指派或确定针对人1101的过渡效果。由线1136和1137指示的时间量的相加确定了对象1101处于视场1160中的总时间。由标记b1133指示的峰值遮挡量低于上限遮挡阈值1138,指示对象1101不造成破坏性遮挡。由于不造成破坏性遮挡,因此对象1101一进入视场1160,步骤430就执行以确定过渡效果以使对象1101可见。

图11d的序列1150示出了当实践所描述的布置时当对象1101处于点a1105、点b1106和点c1107时由相机1103捕获的视频帧。作为执行步骤350的结果,对象1154(与对象1101对应)在序列1150中的帧a1151、b1152和c1153中的每一个中被渲染为可见。

图12a至12d示出了在虚拟相机的视场中在朝着彼此的轨迹上存在两个对象的示例场景。所确定的轨迹可能导致两个对象之间的交互。第一对象是从虚拟相机的前方接近虚拟相机进入视场的人。第二对象是从相机的后方接近虚拟相机进入视场的人。应用1333执行以通过确定每个对象的轨迹来确定两个对象将如何彼此交互并且轨迹将相交。

图12a示出了场景1200的俯视图。第一对象1201(人)从后方以轨迹1202接近虚拟相机1205。虚拟相机1205具有视场1260。第二对象1203从前方以轨迹1204接近虚拟相机1205。点a1207、点b1208和点c1209各自分别表示与沿着轨迹1202移动的对象中的第一对象1201相关的连续时刻。点a1207涉及对象1201位于相机1205的近剪切平面1204后方的时刻。点b1208和点c1209涉及对象1201已穿过近剪切平面1204的时刻。

作为参考,图12b中的序列1220示出了在未实践所描述的布置时由相机1205从点a1207、点b1208和点c1209捕获的视频帧。序列1220的帧a1221仅示出了在视场1260中的第二对象1225(与人1203对应)。序列1220的帧b1222示出了在进入视场1260之后在第二对象1225前方的第一对象1224(与人1201对应)。在帧a1221和帧b1222之间,第一对象1224的剪切在由虚拟相机1205渲染的视频数据中是可见的。序列1220的帧c1223示出了第一和第二对象1224和1225的交互。

为了单独对待对象1201和1203,第一对象1201具有以与关于图7a至7d描述的人701类似的方式选择和应用的过渡效果。使用与图6a至6d中描述的方法类似的方法,为第二对象1203指派和应用过渡效果。如果图6a至6d和图7a至7d中使用的方法被同时实现,那么虚拟相机1205将在时刻c1209捕获替代帧c-alt1226。在交互点c1209的点处,第一对象1227(与对象1224对应)对于观看者是不可见的,而第二对象1225对于观看者是可见的。在图12a至12d中,单独对待对象1201和1203将产生不利的结果。

图12c示出了作为执行步骤420的结果的图12a的第一对象1201和第二对象1203的遮挡轮廓的图1230。第一对象1201的遮挡轮廓1231示出了对象1201所造成的随时间变化的遮挡量。图12a的点a1207、点b1208和点c1209分别在遮挡轮廓1231上表示为标记a1233、标记b1234和标记c1235。当第一对象1201在视场1260之外开始时,轮廓1231以零遮挡开始,如点a1233所表示的。标记b1234表示在对象1201进入视场1260并且停止被剪切平面1206剪切之后的峰值遮挡的时刻。

应用1333执行步骤430以指派或选择过渡效果。由线1236和1237指示的时间量的相加确定了对象1201处于视场1260中的总时间。在图12a至12d的示例中,应用1333执行为选择并应用过渡效果,以首先隐藏由进入视场1260的第一对象1201造成的任何对象剪切。应用1333还执行为选择和应用过渡效果,以防止第一对象1201在进入视场1260时造成破坏性遮挡,而且确保第一对象1201在两个对象1201和1203之间的交互的时刻之前可见。在先前描述的示例中提到的上限和下限遮挡阈值基于彼此交互的对象而被修改。应用133在步骤430处执行为将上限遮挡阈值1238修改为不再剪切第一对象1201的点。应用133还执行为将下限阈值1239修改为由标记c1235表示的交互点处的遮挡水平。因而,基于由虚拟相机1205渲染的虚拟视图中的其它对象来确定过渡效果。

一旦为第一对象1201指派了过渡效果,在步骤350处应用1333就使用修改后的遮挡阈值1238和1239应用过渡效果。在图12a至12b的示例中,在步骤350处,在与上限遮挡阈值1238相符的标记b1234处应用过渡效果。应用1333在由标记c1235表示的交互点处完成过渡效果。标记c现在与下限遮挡阈值1238相符。在图12a至12d的示例中,基于满足修改后的阈值的遮挡轮廓531来应用过渡效果。

图12d示出了当对象1203处于点a1207、点b1208和点c1209并且实践所描述的布置时由虚拟相机1205捕获的视频帧序列。帧a1251仅示出了在视场1260中的第二对象1254(与对象1203对应)。帧b1252示出了在进入视场1260之后在第二对象1203前方基本透明或不可见的第一对象1255(与人1201对应)。帧c1253示出了在视场1260中可见交互的第一对象1256和第二对象1254。

所描述的布置适用于计算机和数据处理行业,特别是适用于广播行业,诸如直播行业。

在上述实现方式中确定遮挡轮廓并选择和应用过渡效果时,所描述的布置提供了在生成虚拟视图时减少剪切效应的优点。结果渲染的虚拟视图(例如视频数据)通常对观看者来说不那么不和谐。另外,通过使用遮挡轮廓,根据对象的具体轨迹来选择过渡效果。拍摄环境的上下文(诸如场馆110中的对象140)得到维持。控制器180的操作者的工作量有效地减少,因为操作者不需要在还有捕获引人入胜的镜头的任务的同时经常管理虚拟相机在相机视场内外的对象周围的位置和接近度。

前面仅描述了本发明的一些实施例,并且可以在不脱离本发明的范围和精神的情况下对其进行修改和/或改变,这些实施例是说明性而非限制性的。

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