CN102622774B - 起居室电影创建 - Google Patents

起居室电影创建 Download PDF

Info

Publication number
CN102622774B
CN102622774B CN201210020792.XA CN201210020792A CN102622774B CN 102622774 B CN102622774 B CN 102622774B CN 201210020792 A CN201210020792 A CN 201210020792A CN 102622774 B CN102622774 B CN 102622774B
Authority
CN
China
Prior art keywords
scene
electronic equipment
performer
film
environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210020792.XA
Other languages
English (en)
Other versions
CN102622774A (zh
Inventor
A·福勒
R·波特
A·A-A·基普曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102622774A publication Critical patent/CN102622774A/zh
Application granted granted Critical
Publication of CN102622774B publication Critical patent/CN102622774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及起居室电影创建。公开了起居室电影创建的系统和方法。可使用包括深度相机的系统来执导、捕捉和编辑电影。可通过将起居室内的普通对象用作虚拟道具来创建虚拟电影集合。系统能够使用深度相机来捕捉演员的运动并能够基于此来生成电影。因此,不需要演员佩戴任何专门的标记来检测他们的运动。导演可从“虚拟相机”的角度查看各场景并记录那些场景以供以后编辑。

Description

起居室电影创建
技术领域
本发明涉及创建电影的技术,尤其涉及在诸如起居室之类的环境中创建电影的技术。
背景技术
用户能够使用便携式摄像机来制作家庭电影已有一些时间了。最近,诸如蜂窝式电话之类的电子设备可允许用户制作短电影。然而,这些设备在创建、执导和编辑电影的能力方面具有限制。同样,制作任何种类的动画电影的能力对于许多人而言可能非常难。
在过去,诸如计算机游戏和多媒体应用之类的计算应用使用控制器、遥控器、键盘、鼠标等来允许用户操纵游戏角色或应用的其他方面。一些甚至可允许用户将内容创建至某种程度。然而,创建内容的能力可能被隐藏在工具的复杂集合之后。而且,一些技术主要涉及角色定制,因此不允许对诸如电影之类的内容的较丰富的开发。
发明内容
在此公开了提供起居室电影创建的系统和方法。可使用包括深度相机的系统来执导、捕捉和编辑电影。该系统能够使用深度相机来捕捉演员的运动并能够基于此来生成电影。因此,不需要演员佩戴任何专门的标记来检测他们的运动。可基于起居室内的普通对象用作虚拟道具来生成虚拟电影集合。在此公开了涉及执导、捕捉和编辑电影的其他方面。
一个实施例包括可在具有深度相机的运动捕捉系统内实施的方法。该方法包括使用深度相机来收集诸如起居室之类的环境的深度信息。环境中的演员的模型基于深度信息而被生成和跟踪。电影的场景基于对演员的模型的跟踪而被生成。该系统响应于用户命令基于场景创建电影。
一个实施例包括在诸如起居室之类的环境中创建电影的系统。该系统可包括深度相机、耦合到该深度相机的一个或多个处理器以及耦合到该一个或多个处理器的计算机存储介质。计算机存储介质具有存储在其上的指令,当在一个或多个处理器上执行这些指令时使得该一个或多个处理器使用深度相机来收集环境的深度信息。处理器使用深度相机使用无标记的技术来捕捉环境中的演员的运动。场景由处理器基于所捕捉到的演员的运动来生成。处理器确定环境中要用作虚拟取景器的电子设备的一个或多个位置。这些位置可在一时间段与该场景相关联。处理器从电子设备在一个或多个位置处的角度生成场景的一个版本,并向该电子设备提供该场景的该版本。
一个实施例包括包含以下的方法。使用深度相机来收集环境的深度信息,并基于该深度信息来生成环境的模型。基于深度信息生成虚拟电影集合。使用深度信息来开发环境中的演员的骨架模型。在一时间段跟踪该骨架模型。基于虚拟电影集合和对骨架模型的跟踪来生成场景。针对跟踪骨架模型的时间段确定要用作虚拟取景器的电子设备的一个或多个位置。从电子设备在该一个或多个位置的每一个处的角度生成场景的一个版本,并向电子设备提供场景的该版本。从电子设备处接收记录场景的请求。针对该时间段存储描述了对骨架模型的跟踪和电子设备的一个或多个位置的元数据。
提供本发明内容以便以简化形式介绍在以下详细描述中进一步描述的概念精选。本发明内容不旨在标识所要求保护主题的关键或必要特征,也不旨在用于帮助确定所要求保护主题的范围。此外,所要求保护的主题并不受限于解决在本公开任何部分提到的任何或全部缺点的实现。
附图说明
图1A示出用于提供起居室电影创建的目标识别、分析和跟踪系统的示例实施例。
图1B示出用于提供联网的起居室电影创建的目标识别、分析和跟踪系统的示例实施例。
图2示出了可在目标识别、分析和跟踪系统中使用的捕捉设备的示例实施例。
图3A示出了可用于在目标识别、分析和跟踪系统中解释一个或多个姿势的计算环境的示例实施例。
图3B示出了可用于在目标识别、分析和跟踪系统中解释一个或多个姿势的计算环境的另一示例实施例。
图4示出了从图1A-2的目标识别、分析和跟踪系统中已生成的用户的骨架映射。
图5是用于提供起居室电影创建的当前技术的实施例的操作的高级流程图。
图6是将虚拟道具合并到电影中的过程的实施例的流程图。
图7描绘了开发演员的模型的过程的流程图。
图8是重新目标化演员的模型的过程的一个实施例的流程图。
图9是创建电影的过程的一个实施例的流程图。
图10是在电子设备处查看场景的过程的一个实施例的流程图。
图11是从被拍摄的电影处捕捉场景的过程的一个实施例的流程图。
图12是编辑电影的过程的一个实施例的流程图。
具体实施方式
在此公开了提供起居室电影创建的系统和方法。可使用包括深度相机的系统来执导、捕捉和编辑电影。可通过将起居室内的普通对象用作虚拟道具来创建电影集合。例如,可将起居室内的长椅在显示屏上表示成虚拟集合中的岩石。电影导演可在起居室内到处移动对象以创建和修改将在其中拍摄场景的虚拟集合。系统可生成房间的3D模型,并确定对虚拟道具应呈现什么图像。还可在不使用起居室内的对象的情况下创建虚拟集合。例如,可在显示屏上示出沙滩或太空船的虚拟集合。导演可通过例如“抓住”棕榈树并移动它来修改这个虚拟集合。系统能够使用深度相机来捕捉演员的运动并能够基于此来生成电影。因此,不需要演员佩戴任何专门的标记来检测他们的运动。为了允许电影制作方面的较好的自由度,可将人类演员的动作重新目标化成非人类。例如,可将人类演员表示成电影中的动物。导演可将用作“虚拟相机”的电子设备的放置于要捕捉场景的有利地点。系统可检测虚拟相机的定位,并确定如何从该有利地点生成场景。注意,不需要使用虚拟相机来记录场景。相反,来自深度相机的深度和/或RGB数据可被用作电影的主题。注意,可存在多个虚拟相机,使得导演可从多个角度查看和捕捉场景。系统还可用于编辑电影。作为一个示例,深度相机可用于允许用户输入命令以编辑电影。
图1A示出用于在诸如起居室之类的环境中创建电影的系统10。系统10可以指目标识别、分析和/或跟踪系统10,它可用于识别、分析和/或跟踪诸如用户18之类的人类目标。一般而言,系统10包括计算环境12、深度相机系统20和显示器16。深度相机系统20可包括用于确定深度信息的相机以及RGB相机。注意,RGB相机可以是与深度相机系统20分开的组件。深度相机系统20可用于收集电影将基于的数据。
在这个示例中,用户18是正在创建的电影中的演员。因此,用户18在此还可被称作演员。系统10能够使用深度相机20来捕捉用户的移动并能够基于此来生成电影。因此,可基于深度信息来生成电影。注意,来自RGB相机的诸如视频数据之类的其他数据也可用于生成电影。显示器16至少部分地基于由深度相机系统20所捕捉到的信息描绘了场景19。注意,术语“场景”可以指在某一时间段上发生的动作。例如,电影中的“场景”可以指在一时间段上发生的动作。场景19可具有顺序地呈现的多个数据帧。
在这个示例中,演员18在场景19中被重新目标化成怪物17。系统10可以以模仿演员18的动作的方式来呈现怪物17。通过“重新目标化”演员,它意味着场景19包括基于演员18但以某一方式被修改或增加的某一元素。在重新目标化的一些实施例中,系统10基于深度信息来开发演员18的骨架模型,并随后将该骨架模型映射到某一非人类的骨架模型。然后,可将诸如毛皮、眼睛、衣服之类的特征覆盖在该非人类的骨架模型上。
房间还可具有可用作虚拟道具的各种对象。在这个示例中,环境中的椅子13被呈现为场景19中的房子21。可以理解,系统10通过允许将各种现实世界对象用作不同种类的道具来允许“虚拟电影集合”的创建。
因此,场景19中的至少一些元素可以是计算机创建的图形。然而,如上所述,场景19也可以是基于视频数据的。例如,取代重新目标化演员18,来自RGB相机的实际视频数据可用于表示场景19中的演员18。通过视频数据也可将其他对象表示在场景19中。
导演11和摄影人员15也被描绘,他们中的每一个都手持可用作虚拟相机的电子设备14。通过虚拟相机,它意味着设备14实际上不可捕捉视频,但是可用于向用户显示从该电子设备14的有利地点处场景19将如何显现。系统10可确定正由导演11手持的电子设备14的位置和方向,使得能够确定从该角度场景19将如何显现。系统10可随后向导演的电子设备14传送一信号,使得导演11能够查看从导演的角度场景19将如何显现。在这个示例中,导演11可以看见怪物17在房子21的前面。注意,导演11可查看到该场景是实时的。因此,如果演员18正移动他的/她的手臂,则导演11可看见怪物17正移动它的“手臂”。注意,导演11可在房间内到处移动,以测试出不同的相机角度将如何显现。同样,系统10可对摄像人员15的电子设备14执行类似的功能。
电子设备14可以是任何电子设备14,诸如蜂窝电话、笔记本计算机等。一般而言,电子设备14具有用于查看场景19的某一类型的显示屏。注意,电子设备14本身并不需要捕捉任何视频等,虽然这是一种可能性。相反,生成场景19所基于的数据可以从深度相机系统20处收集到。电子设备14可具有确定设备14在房间内的位置和方向的一个或多个传感器。
在一个实施例中,导演11或摄像人员15可使用电子设备来捕捉场景19。换言之,导演11可决定从所选择的相机角度记录场景19。作为一个示例,导演11在电子设备14上既输入使系统10对描述演员的移动的元数据的进行记录的输入也输入电子设备14的位置和方向。然后,可使用该元数据基于一个或多个所记录的场景19来编辑电影。
现将讨论系统10的一个实施例的进一步细节。用于实现本技术的硬件包括目标识别、分析和跟踪系统10,该系统10可用于识别、分析和/或跟踪诸如用户18之类的人类目标。目标识别、分析和跟踪系统10的各个实施例包括用于执行游戏或诸如电影创建和编辑之类的其他应用的计算环境12。计算环境12可包括硬件组件和/或软件组件,使得计算环境12可用于执行游戏应用和非游戏应用。在一个实施例中,计算环境12可包括诸如标准化处理器、专用处理器、微处理器之类的处理器,该处理器可执行存储在处理器可读的存储设备上的用于执行此处所描述的过程的指令。
系统10还包括捕捉设备20,捕捉设备20用于捕捉与捕捉设备所感测的一个或多个用户和/或对象有关的图像和音频数据。在各实施例中,捕捉设备20可以用于捕捉与一个或多个用户的移动、姿势和话音相关的信息,所述信息被计算环境接收并且被用于创建或编辑电影。以下更详细地解释计算环境12和捕捉设备20的示例。
目标识别、分析和跟踪系统10的实施例可以连接到具有显示器的音频/视觉设备16。设备16可以例如是可向用户提供游戏或应用视觉和/或音频的电视机、监视器、高清电视机(HDTV)等。例如,计算环境12可包括诸如图形卡之类的视频适配器和/或诸如声卡之类的音频适配器,这些适配器可提供与游戏或其他应用程序相关联的音频/视觉信号。音频/视觉设备16可以从计算环境12接收音频/视觉信号,并且然后可以向用户18输出与该音频/视觉信号相关联的游戏或应用程序视觉和/或音频。根据一个实施例,音频/视觉设备16可经由例如S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆、分量视频电缆等连接到计算环境12。
系统10及其组件的合适的示例在以下共同待审的专利申请中找到,这些专利申请全部特此通过引用结合于此:于2009年5月29日提交的名称为“EnvironmentAnd/OrTargetSegmentation(环境和/或目标分割)”的美国专利申请序列号12/475,094;于2009年7月29日提交的名称为“AutoGeneratingaVisualRepresentation”(自动生成视觉表示)”的美国专利申请序列号12/511,850;于2009年5月29日提交的名称为“GestureTool(姿势工具)”的美国专利申请序列号12/474,655;于2009年10月21日提交的名称为“PoseTrackingPipeline(姿态跟踪流水线)”的美国专利申请序列号12/603,437;于2009年5月29日提交的名称为“DeviceforIdentifyingandTrackingMultipleHumansOverTime(用于随时间标识和跟踪多个人类的设备)”的美国专利申请序列号12/475,308;于2009年10月7日提交的名称为“HumanTrackingSystem(人类跟踪系统)”的美国专利申请序列号12/575,388;于2009年4月13日提交的名称为“GestureRecognizerSystemArchitecture(姿势识别器系统体系结构)”的美国专利申请序列号12/422,661;于2009年2月23日提交的名称为“StandardGestures(标准姿势)”的美国专利申请序列号12/391,150;以及于2009年5月29日提交的名称为“GestureTool(姿势工具)”的美国专利申请序列号12/474,655。
图1A的示例示出了被包含在诸如起居室之类的单个环境中的系统。然而,在一些情况下,不同的演员18可以在不同的物理位置处。在一个实施例中,目标识别、分析和跟踪系统10被联网到远程目标识别、分析和跟踪系统10,以允许各演员18在不同的位置处。图1B示出了用于使用联网的拍摄环境来创建电影的系统。在这个示例中,两个目标识别、分析和跟踪系统10a、10b通过网络240而连接。网络240可以是诸如因特网之类的广域网(WAN)。网络240可以是(或包括)诸如IEEE1394或蓝牙之类的局域网(LAN)。网络240实际上可以由一个或多个网络组成。
因此,一个系统10a可以监控演员18并收集运动数据和/或深度信息,其可以通过网络240而被传送到其他系统10b。系统10a还可以收集并传输RGB数据。系统10b也可以监控演员18并收集运动数据以及RGB数据。系统10b可以基于来自用户的编辑命令使用来自任何来源的运动数据(以及可能的RGB数据)来生成电影。这可允许在分开的位置处拍摄电影的分开的场景。然而,还可允许在分开的位置处拍摄同一个场景,其中在两个或更多位置处收集到的数据被合并以形成单个场景。数据的合并可由系统10响应于来自用户的编辑命令来执行。
图2示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20的示例实施例。在一个示例实施例中,捕捉设备20可被配置成经由任何合适的技术来捕捉具有可包括深度值的深度图像的视频,这些技术包括例如飞行时间、结构化光、立体图像等。根据一个实施例,捕捉设备20可以将所计算的深度信息组织成“Z层”,或与从深度相机沿其视线延伸的Z轴垂直的层。
如图2所示,捕捉设备20可包括图像相机组件22。根据一个示例性实施例,图像相机组件22可以是可捕捉场景的深度图像的深度相机。深度图像可以包括所捕捉场景的二维(2-D)像素区域,其中2-D像素区域中的每个像素都可表示深度值,比如例如所捕捉场景中的对象距相机的以厘米、毫米等为单位的长度或距离。
如图2所示,根据一示例性实施例,图像相机组件22可以包括可用于捕捉场景的深度图像的IR光组件24、三维(3-D)相机26、和RGB相机28。例如,在飞行时间分析中,捕捉设备20的IR光组件24可以将红外光发射到场景上,并且然后可以使用传感器(未示出)、例如用3-D相机26和/或RGB相机28来检测从场景中的一个或多个目标和物体的表面后向散射的光。
在一些实施例中,可以使用脉冲红外光,使得可以测量出射光脉冲与相应入射光脉冲之间的时间,并且将其用于确定从捕捉设备20到场景中的目标或物体上的特定位置的物理距离。附加地,在其他示例性实施例中,可以将出射光波的相位与入射光波的相位相比较来确定相移。该相移然后可以用于确定从捕获设备20到目标或物体上的特定位置的物理距离。
根据另一示例性实施例,可以使用飞行时间分析来通过经由包括例如快门式光脉冲成像在内的各种技术分析反射光束随时间的强度来间接地确定从捕捉设备20到目标或物体上的特定位置的物理距离。
在另一示例性实施例中,捕捉设备20可以使用结构化光来捕捉深度信息。在此类分析中,图案化光(即,被显示为诸如网格图案或条纹图案之类的已知图案的光)可经由例如IR光组件24投影到场景上。在落到场景中的一个或多个目标或物体的表面上以后,作为响应,图案可以变为变形的。图案的这样的变形可以被例如3-D相机26和/或RGB相机28捕捉,并且随后可被分析以确定从捕捉设备20到目标或物体上的特定位置的物理距离。
根据另一实施例,捕捉设备20可包括可以从不同的角度观察场景的两个或更多个在物理上分开的相机,以获取可以被解析以生成深度信息的视觉立体数据。在另一示例实施例中,捕捉设备20可使用点云数据(pointclouddata)和目标数字化技术来检测用户的特征。
捕捉设备20还可包括一个或多个话筒30。话筒30可以包括可接收声音并将其转换成电信号的换能器或传感器。根据一个实施例,话筒30可用于减少目标识别、分析和跟踪系统10中的捕捉设备20与计算环境12之间的反馈。附加地,话筒30可用于接收也可由用户提供的音频信号,以控制可由计算环境12执行的诸如游戏应用、非游戏应用等之类的应用。
在一示例性实施例中,捕捉设备20还可包括可与图像相机组件22有效通信的处理器32。处理器32可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令可包括用于接收深度图像的指令、用于确定合适的目标是否可包括在深度图像中的指令、用于将合适的目标转换成该目标的骨架表示或模型的指令、或任何其他合适的指令。
捕捉设备20还可包括存储器组件34,存储器组件34可存储可由处理器32执行的指令、3-D相机或RGB相机捕捉到的图像或图像的帧、或任何其他合适的信息、图像等。根据一个示例性实施例,存储器组件34可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图2所示,在一实施例中,存储器组件34可以是与图像相机组件22和处理器32进行通信的单独的组件。根据另一个实施例,可将存储器组件34集成到处理器32和/或图像相机组件22中。在一个实施例中,捕捉设备20不是具有处理器32,而是具有用于处理来自光传感器的信息的应用专用集成电路(ASIC)。
如图2所示,捕捉设备20可经由通信链路36与计算环境12进行通信。通信链路36可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线802.11b、802.11g、802.11a或802.11n连接等的无线连接。根据一个实施例,计算环境12可以经由通信链路36向捕捉设备20提供时钟,该时钟可用于确定何时捕捉例如场景。
附加地,捕捉设备20可以通过通信链路36向计算环境12提供深度信息和由例如3-D相机26和/或RGB相机28捕捉到的图像、以及可以由捕捉设备20生成的骨架模型。存在用于判断由捕捉设备20检测到的目标或对象是否与人类目标相对应的各种已知技术。骨架映射技术因而可用于确定该用户的骨架上的各个点,手、腕、肘、膝、鼻、踝、肩的关节,以及骨盆与脊椎相交之处。其他技术包括:将图像变换成人的人体模型表示以及将图像变换成人的网格模型表示。
然后,可以将骨架模型提供给计算环境12,使得计算环境可以执行各种动作。在一些实施例中,执行重新目标化,使得以不同于他们的实际外表的方式来呈现演员。在一些实施例中,系统10基于例如已从骨架模型中识别出的用户的姿势来确定在计算机环境上执行的应用中要执行的那些控制。例如,如图2所示,计算环境12可包括用于确定用户何时执行了预定义姿势的姿势识别引擎190。还示出了电影编辑引擎192,该电影编辑引擎允许用户通过自然的输入(例如,语音命令和/或姿势)来输入命令。
图3A示出了可用于创建和编辑电影以及其他目的的计算环境的示例实施例。该计算环境可用于图1A、图1B或图2的计算环境12。图3A的计算环境是多媒体控制台100,其可用于游戏应用。如图3A所示,多媒体控制台100包括具有一级高速缓存102、二级高速缓存104和闪存ROM106的中央处理单元(CPU)101。一级高速缓存102和二级高速缓存104临时存储数据,并且因此减少存储器访问周期的数量,由此改进处理速度和吞吐量。CPU101可被提供为具有一个以上的核,并且由此具有附加的一级高速缓存102和二级高速缓存104。闪存ROM106可存储在多媒体控制台100通电时引导过程的初始阶段期间加载的可执行代码。
图形处理单元(GPU)108和视频编码器/视频编解码器(编码器/解码器)114形成用于高速和高分辨率图形处理的视频处理流水线。经由总线从GPU108向视频编码器/视频编解码器114运送数据。视频处理流水线向A/V(音频/视频)端口140输出数据,用于传输至电视机或其他显示器。存储器控制器110连接到GPU108,以便于处理器对各种类型的存储器112(诸如,但不限于RAM)的访问。
多媒体控制台100包括优选地在模块120上实现的I/O控制器122、系统管理控制器123、音频处理单元124、网络接口控制器126、第一USB主控制器128、第二USB主控制器130以及前面板I/O子部件330。USB控制器126和128用作可选的外围控制器142(1)-142(2)、无线适配器148、和外置存储器设备146(例如闪存、外置CD/DVDROM驱动器、可移动介质等)的主机。网络接口124和/或无线适配器148提供对网络(例如,因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中的任何一种。
提供系统存储器143来存储在引导过程期间加载的应用数据。提供媒体驱动器144,且其可包括DVD/CD驱动器、硬盘驱动器、或其他可移动媒体驱动器等。媒体驱动器144可以是对多媒体控制器100内置的或外置的。应用数据可经由媒体驱动器144访问,以供多媒体控制台100执行、回放等。媒体驱动器144经由诸如串行ATA总线或其他高速连接(例如IEEE1394)等总线连接到I/O控制器120。
系统管理控制器122提供与确保多媒体控制台100的可用性相关的各种服务功能。音频处理单元123和音频编解码器132形成具有高保真度和立体声处理的相应音频处理流水线。音频数据经由通信链路在音频处理单元123与音频编解码器132之间传输。音频处理流水线将数据输出到A/V端口140,以供外置音频播放器或具有音频能力的设备再现。
前面板I/O子部件130支持暴露在多媒体控制台100的外表面上的电源按钮150和弹出按钮152、以及任何LED(发光二极管)或其他指示器的功能。系统供电模块136向多媒体控制台100的组件供电。风扇138冷却多媒体控制台100内的电路。
CPU101、GPU108、存储器控制器110、以及多媒体控制台100内的各种其他组件经由一条或多条总线互连,该总线包括串行和并行总线、存储器总线、外围总线、以及使用各种总线体系结构中的任一种的处理器或局部总线。作为示例,这些架构可以包括外围部件互连(PCI)总线、PCI-Express总线等。
当多媒体控制台100通电时,应用数据可从系统存储器143加载到存储器112和/或高速缓存102、104中,并且可在CPU101上执行。应用可在导航到多媒体控制台100上可用的不同媒体类型时呈现提供一致的用户体验的图形用户界面。在操作中,媒体驱动器144中所包含的应用和/或其他媒体可从媒体驱动器144启动或播放,以将附加功能提供给多媒体控制台100。
多媒体控制台100可通过简单地将该系统连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看电影、或听音乐。然而,在通过网络接口124或无线适配器148可用的宽带连接集成的情况下,多媒体控制台100还可作为更大网络社区中的参与者来操作。
当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(诸如,16MB)、CPU和GPU周期的保留量(诸如,5%)、网络带宽的保留量(诸如,8kbs),等等。因为这些资源是在系统引导时间保留的,所保留的资源对于应用视角而言是不存在的。
具体而言,存储器保留量优选地足够大,以包含启动内核、并发系统应用程序和驱动程序。CPU保留量优选地为恒定,使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。
对于GPU保留,通过使用GPU中断来调度代码以将弹出窗口呈现为覆盖图,从而显示由系统应用程序生成的轻量消息(例如,弹出窗口)。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在完整的用户界面被并发系统应用使用的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率和引起TV重新同步。
在多媒体控制台100引导且系统资源被保留之后,执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源内执行的一组系统应用中。操作系统内核标识出作为系统应用线程或者游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU101上运行,以便提供对应用而言一致的系统资源视图。调度是为了使在控制台上运行的游戏应用的高速缓存分裂最小化。
当并发系统应用需要音频时,由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所描述的)在系统应用活动时控制游戏应用的音频级别(例如,静音、衰减)。
输入设备(例如,控制器142(1)和142(2))由游戏应用和系统应用共享。输入设备不是保留资源,而是在系统应用和游戏应用之间切换以使其各自具有设备的焦点。应用管理器优选控制输入流的切换,而无需知道游戏应用的知识,并且驱动器维护关于焦点切换的状态信息。相机26、28和捕捉设备20可为控制台100定义附加输入设备。
图3B示出了可以是图1A-2中所示出的计算环境12的计算环境220的另一示例实施例。计算系统环境220只是合适的计算环境的一个示例,并且不旨在对当前公开的主题的使用范围或功能提出任何限制。也不应该将计算环境220解释为对示例性操作环境220中示出的任一组件或其组合有任何依赖性或要求。在一些实施例中,各个所示的计算元素可包括被配置成实例化本公开的特定方面的电路。例如,本公开中使用的术语电路可包括被配置成通过固件或开关来执行功能的专用硬件组件。在其他示例实施例中,术语“电路”可包括通过体现可操作以执行功能的逻辑的软件指令来配置的通用处理单元、存储器等。在电路包括硬件和软件的组合的示例实施例中,实施者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。
在图3B中,计算环境220包括计算机241,该计算机241通常包括各种计算机可读介质。计算机241可以被连接到深度相机系统20,以接收例如骨架数据和其他元数据,从这些数据可创建和编辑电影。
计算机可读介质可以是能被计算机241访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器222包括诸如ROM223和RAM260之类的易失性和/或非易失性存储器形式的计算机存储介质。包含诸如在启动期间帮助在计算机241内的元件之间传输信息的基本例程的基本输入/输出系统224(BIOS)通常储存储在ROM223中。RAM260通常包含处理单元259可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图3B示出了操作系统225、应用程序226、其它程序模块227和程序数据228。应用程序226的一个示例是用于向用户呈现如在此所解释的交互性故事体验的故事应用226。图3B还包括图形处理器单元(GPU)229,该图形处理器单元229具有用于高速度和高分辨率的图形处理和存储的相关联的视频存储器230。GPU229可通过图形接口231连接到系统总线221。
计算机241也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图3B示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器238,对可移动、非易失性磁盘254进行读写的磁盘驱动器239,以及对诸如CDROM或其它光学介质等可移动、非易失性光盘253进行读写的光盘驱动器240。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器238通常通过诸如接口234之类的不可移动存储器接口连接到系统总线221,并且磁盘驱动器239和光盘驱动器240通常通过诸如接口235之类的可移动存储器接口连接到系统总线221。
以上讨论并在图3B中示出的驱动器及其相关联的计算机存储介质为计算机241提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图3B中,例如,硬盘驱动器238被示为存储操作系统258、应用程序257、其他程序模块256和程序数据255。注意,这些组件可与操作系统225、应用程序226、其他程序模块227和程序数据228相同,也可与它们不同。在此操作系统258、应用程序257、其他程序模块256以及程序数据255被给予了不同的编号,以说明至少它们是不同的副本。用户可通过诸如键盘251和定点设备252(通常称为鼠标、跟踪球或触摸垫)之类的输入设备将命令和信息输入计算机241。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口236连接到处理单元259,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。相机26、28和捕捉设备20可为控制台100定义附加输入设备。监视器242或其他类型的显示设备也通过诸如视频接口232之类的接口连接至系统总线221。除了监视器以外,计算机还可包括诸如扬声器244和打印机243之类的其他外围输出设备,它们可通过输出外围接口233来连接。
计算机241可使用到一个或多个远程计算机(诸如,远程计算机246)的逻辑连接而在联网环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点,且通常包括许多或所有以上相对于计算机241描述的元件,尽管在图3B中仅示出了存储器存储设备247。图3B中所示的逻辑连接包括局域网(LAN)245和广域网(WAN)249,但也可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机241通过网络接口或适配器245连接到LAN237。当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因特网等WAN249建立通信的其他手段。调制解调器250可以是内置的或外置的,可经由用户输入接口236或其他适当的机制连接到系统总线221。在联网环境中,相对于计算机241所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图3B示出了远程应用程序248驻留在存储器设备247上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。
图4描绘了可从捕捉设备20生成的用户的示例骨架映射。在该实施例中,标识出各个关节和骨骼:每只手302、每个前臂304、每个肘306、每个大臂308、每个肩310、每个髋312、每条大腿314、每个膝316、每条小腿318、每个足320、头322、躯干324、脊椎的顶部326和底部328以及腰330。在跟踪更多点的情况下,可标识出附加的特征,比如手指或脚趾的骨骼和关节,或面部的各个特征,如鼻和眼。
图5是提供电影创建的过程500的一实施例的操作的高级流程图。过程500可由系统10或另一个系统来执行。出于说明的目的,将作出对图1A、图1B和图2的示例系统10的参考,但过程500并不限于该示例。在步骤502,使用深度相机收集环境的深度信息。例如,使用深度相机系统20来收集深度信息。由于过程500可用于电影的创建,因此该信息可随时间而收集。为了讨论的目的,在步骤502中数据收集发生在某一“时间段”上。注意,步骤504-508发生在该相同的时间段上。在一个实施例中,系统10基于深度信息来维护房间的3D模型。在一些实施例中,步骤502包括收集RGB数据。例如,RGB相机28可用于收集可在电影中使用的视频数据。作为一个示例,视频数据可以是MPEG流。
可以将深度信息下采样到较低的处理分辨率,使得其可以更容易地用较少的计算开销来使用和处理。另外,可从深度信息中移除和/或平滑掉一个或多个高变度和/或含噪声的深度值;可填入和/或重构缺少的和/或移除的深度信息的部分;和/或可对所接收的深度信息执行任何其他合适的处理,使得该深度信息可用于生成诸如骨架模型之类的模型。
在步骤504中,基于深度信息来开发环境中的演员18的模型。在一个实施例中,模型是骨架模型。注意,可在无需演员佩戴任何专门的标记的情况下开发模型。可存储这个模型以供以后使用。
在步骤506中,使用深度信息来跟踪演员的模型。诸如,该跟踪可在步骤502中所指的“时间段”上发生。以下讨论了跟踪演员的模型的进一步细节。
在步骤508中,至少基于对演员的模型的跟踪来生成场景。注意,“场景”可包括多个数据帧。例如,场景可包括每秒30个数据帧。场景可以基于除对骨架模型的跟踪以外的信息。在一些实施例中,房间内的对象被用作场景的虚拟道具。例如,参考图1A,椅子13被呈现为房子21,且演员18被呈现为怪物17。在这个示例中,椅子13被用作虚拟道具。以下讨论了与虚拟道具一起工作的进一步细节。在这个示例中,演员18被重新目标化。以下讨论的重新目标化演员18的进一步细节。诸如,重新目标化演员18并不是必须的。在场景中可使用来自RGB相机28的视频数据。因此,可从计算机生成的图形、视频数据或其结合生成场景。
在步骤510中,系统10响应于用户命令至少基于该场景来创建电影。对电影的创建包括允许用户执导、捕捉和编辑电影。在一些实施例中,向由导演11或其他人所手持的电子设备提供场景的一个版本。该版本可以来自电子设备14的角度。因此,电子设备14可用作“虚拟取景器”。在一些实施例中,步骤510包括响应于来自电子设备14的请求而捕捉场景。例如,导演11可在电子设备14上作出选择,使得电子设备14指令系统10场景应该被记录。在一些实施例中,步骤508包括允许用户使用系统10编辑电影。以下讨论了允许用户执导、捕捉和编辑电影的进一步细节。
图6是将虚拟道具合并到电影中的过程600的一个实施例的流程图。一般而言,过程600允许导演11将某些对象用作电影中的道具。过程600是在生成场景时可使用的一个技术。因此,过程600提供了过程500的步骤508的一个实施例的更多细节。在步骤602中,系统10从导演11或其他用户处接收将环境中的对象用作道具的请求。在一个实施例中,这包括系统10拍摄房间的“静止照片”,并在显示器16上显示该静止照片。因此,最初用户可在显示器16上看见诸如椅子13之类的对象。如果期望,用户可以令系统“重新目标化”椅子13,使得该椅子被表示成某一其他对象。系统10可具有可能对象的库,以供用户从中进行选择。在用户选择了“虚拟对象”后,系统10可随后将该虚拟对象显示在显示器上供用户查看。用户可随后能够通过例如修改诸如大小、颜色、形状之类的属性来修改虚拟道具。系统10随后在将现实世界中的对象链接至它的时候存储这个信息,使得在用户移动该现实世界的对象的情况下系统10可跟踪对象的位置。注意,步骤602可在过程500之前在初始设置期间发生。
在步骤602的初始设置阶段之后,可经过了一些时间。在步骤604中,在“拍摄”场景同时,系统10基于在过程500中从深度相机处收集到的深度信息确定环境的3D模型。在步骤606中,系统10确定现实世界对象在该3D模型中的位置(或多个位置)。由于对象可在拍摄期间移动,系统10可跟踪该对象。
在步骤608,系统基于现实世界对象的位置将虚拟道具结合在电影中。参考图1的示例,系统10可将房子21结合到显示器16上的场景19中。
在一个实施例中,在至少部分地不使用起居室内的对象的情况下创建虚拟集合。例如,用户可能希望具有沙滩背景的电影。系统10可在不依赖于起居室内的任何对象的情况下创建沙滩的集合。系统10可将这个集合显示在各显示屏(例如,显示器16、电子设备14上的显示器等)中的任何一个上。在一个实施例中,这是计算机生成的场景。导演11可通过例如“抓住”虚拟道具并移动它来修改虚拟集合。例如,导演11可指向显示器16上的棕榈树。系统10可使用深度相机来确定导演正指向什么。虚拟道具可被突出显示在显示器上,但是这并不是必需的。导演11可随后作出抓住动作,并移动该虚拟道具。同样,系统可使用深度相机来跟踪导演的移动,以确定虚拟道具要移动到哪里。图7描绘了开发和跟踪演员18的模型的过程700的流程图。过程700是过程500的步骤504-506的一个实施例。该示例方法可以使用例如深度相机系统20来实现。可以扫描演员18来生成模型,比如骨架模型、网格人类模型、或人的任何其他合适的表示。在步骤702处,访问深度信息(例如,深度图像)。这可以是来自步骤502或过程500的深度信息。深度图像可以是深度值的矩阵。该矩阵的每一个元素可表示环境的一区域。深度值可定义从深度相机20到该区域中的对象的距离。该矩阵中的元素可以被称为像素。
在判定步骤704处,确定深度图像是否包括人类目标。这可以包括对深度图像中的每一个目标或物体进行泛色填充,将该目标或物体与图案进行比较以判断深度图像是否包括人类目标。例如,可以如上文所描述的那样将深度图像的选定区域或点中的像素的各种深度值进行比较,以确定可以定义目标或对象的边缘。可基于所确定的边缘来对Z层的可能Z值进行泛色填充。例如,与确定的边缘相关联的像素和该边缘内的区域的像素可以彼此相关联,以定义可以与图案相比较的捕捉区域中的目标或对象,这在下面将更详细地描述。
如果判定步骤704为真,则执行步骤706。如果判断步骤704为假,则在步骤702处访问附加的深度信息。
每一个目标或对象与其比较的图案可包括一个或多个数据结构,这些数据结构具有共同地定义人的典型身体的变量集合。可以将与例如视野内的人类目标和非人类目标的像素相关联的信息与变量进行比较,以标识人类目标。在一个实施例中,可以基于身体部位,对该集合中的每一个变量赋予权重。例如,图案中的诸如头和/或肩之类的各种身体部位可以具有与其相关联的权重值,这些权重值可以大于诸如腿之类的其他身体部位的权重值。根据一个实施方式,当将目标与变量进行比较以判断目标是否可能是人类以及哪些目标可能是人类时,可以使用权重值。例如,变量和目标之间具有较大的权重值的匹配与具有较小权重值的匹配相比可产生目标是人类的更大似然性。
步骤706包括扫描人类目标以寻找身体部位。可以扫描人类目标,以提供与人的一个或多个身体部位相关联的诸如长度、宽度等等之类的测量值,以提供该人的准确模型。在一示例实施例中,人类目标可以被隔离,并且可以创建人类目标的位掩模来扫描一个或多个身体部位。可以通过例如对人目标进行泛色填充来创建位掩模,以便人类目标可以与捕捉区域元素中的其他目标或对象分离。然后,可以对于一个或多个身体部位分析位掩码,以生成人类目标的模型,如骨架模型、网格人类模型等等。
步骤708包括生成人类目标的模型。在一个实施方式中,可以使用由扫描的位掩模确定的测量值来定义骨架模型中的一个或多个关节。一个或多个关节被用来定义对应于人类的身体部位的一个或多个骨头。一般而言,每个身体部位可被表征为定义骨架模型的关节和骨骼的数学向量。身体部位在关节处可以相对于彼此移动。模型可以包括描述用户的头的旋转的信息,使得得知用户的耳朵的取向。
在步骤710中,通过每秒钟多次更新人的位置来跟踪模型。随着用户在物理空间中移动,使用来自深度相机系统的信息来调整骨架模型,以使该骨架模型表示人。可选地,用户18可佩戴惯性传感器;然而,惯性传感器并不是必须的。如果使用了惯性传感器,则来自惯性传感器的数据也可以用于跟踪用户。具体而言,可将一个或多个力施加到骨架模型的一个或多个受力方面,以将骨架模型的姿态调整成更加紧密地对应于物理空间中的人类目标的姿态。一般而言,可使用用于跟踪一个或多个人的运动的任何已知技术。
注意,可以使用过程700多于一次,以生成单个场景。以这种方式,可基于多次经过来构成场景,其中演员18通过每一次经过扮演不同的角色。例如,过程700可用于在各个非重叠的时间段上跟踪用户18。系统10可将所跟踪的演员18的模型合并到场景中,其中在该场景中演员的运动在时间上重叠。作为一个示例,可针对不同的时间段中的每一个跟踪不同的骨架模型。每一个骨架模型可对应于不同的角色。
图8是重新目标化演员18的模型的过程800的一个实施例的流程图。可在基于演员18的模型生成场景时使用过程800。因此,过程800是过程500的步骤508的一个实施例。在一个实施例中,过程800创建跟踪演员18的行为的非人类图像。注意,在过程800之前,用户可能已经通知系统10应如何重新目标化演员18。例如,用户输入命令(可能用姿势或语音)来指令系统10应该将演员18重新目标化成老虎。同时,在过程800之前,可能已开发了演员18的模型。例如,可能移执行了过程700来开发骨架模型。
在步骤802中,访问重新设定的目标对象。例如,系统10基于用户的将演员18重新目标化成老虎或怪物的在先请求来访问已存储的信息。
在步骤804中,执行重新目标化。在一个实施例中,系统10将骨架模型映射成重新设定目标的骨架模型。例如,怪物相对于演员18而言可具有非常长的手臂。因此,在步骤804中可修改手臂骨头的长度。在一些情况下,可修改关节角度。例如,可缩短怪物的头部,并将其相对于演员的头部的实际位置向下调整一角度。在重新映射之后,可将各种纹理覆盖在经重新映射的骨架模型上。覆盖纹理可包括添加诸如头发、衣服、皮肤之类的特征。这些元素可以与或者可以不与演员18的特征相关。例如,怪物所穿的衣服可以与演员18所穿的衣服不具有任何相关性。
图9是响应于用户命令基于场景创建电影的过程900的一个实施例的流程图。过程900是过程500的步骤510的一个实施例。过程900描述了基于场景来创建电影的高级细节。如上所述,场景19可以指在某一时间段上发生的动作,并可包括顺序呈现的多个数据帧。
在步骤902,场景19被呈现在电子设备14上,使得导演11可查看场景19。注意,可从导演11的角度呈现场景19。同样,导演11可实时地查看场景19。例如,参考图1A,导演11从电子设备14的角度查看场景19。在一种情况下,电子设备14被用作虚拟取景器,以允许导演11、摄像人员15等确定合适的相机角度。
在步骤904中,由系统10响应于来自电子设备14的请求而捕捉场景19。步骤904在一旦确定已发现了合适的相机角度以后,允许导演11(或其他人)捕捉场景19。在一个实施例中,在步骤904中捕捉描述了场景(例如,骨架数据)以及相机位置的元数据。以下描述进一步的细节。
如由判定步骤906所指示的,导演11可捕捉如所期望的那么多的场景19。在步骤908中,使用系统10来编辑电影。编辑允许用户基于所有捕捉到的场景来创建电影。如所述的,在一些实施例中,用户使用可被系统10识别的语音命令和/或姿势来输入编辑命令。
图10是在电子设备14处查看场景19的过程1000的一个实施例的流程图。过程1000是过程900的步骤902的一个实施例。在步骤1002,确定电子设备14在环境中的位置。例如,系统10确定导演的电子设备14的位置。注意,该位置可包括在3D空间中的定位以及方向。
可使用多种技术来确定电子设备14的位置。此外,可基于各种类型的数据来确定该位置。一个示例是使深度相机系统20标识出电子设备14的3D坐标。用于实现这个的一个技术是基于骨架数据来跟踪导演的手的位置。在这种情况下,导演11可通知系统10电子设备14在例如导演的右手中。作为一个替换例,系统10可能能够基于模式识别来识别电子设备14。在这种情况下,导演11可通知系统10存在某种类型的电子设备14正被使用。系统10可指令导演11在某一定位处拿着电子设备14,使得系统10可学习来识别该电子设备14。系统10可通过将起居室显示在显示器16上并突出显示目标区域来将向导演11传达该定位。定位电子设备14的另一种方式是在电子设备14上放置系统10能够检测的标记。
在一个实施例中,电子设备14运行允许它被用作场景19的虚拟的预查看器的应用。这个应用可被配置成与系统10进行通信以发送帮助确定电子设备14的位置的信息。例如,电子设备14可以具有能够被发送至系统10的GPS数据、指南针数据和/或加速计数据。加速计数据可用于确定电子设备14相对于地板倾斜了什么角度。这可用于确定虚拟取景器正指向的那个角度。GPS数据可用于确定电子设备14在房间内的定位。
在步骤1004中,可从电子设备14的角度确定场景19的一个版本。注意,为了允许该场景被导演实时地查看,这可以被实时地执行。在过程500中创建的场景19可以是从深度相机系统20的角度的。在一些实施例中,系统10存储诸如房间的3D模型和演员18的模型之类的元数据。房间的3D模型可包括诸如要用作虚拟道具的对象的3D坐标之类的信息。演员18的模型可包括基于时间的骨架数据。通过这个信息,系统10能够确定场景19从电子设备14的角度将如何显现。
在步骤1006中,场景19的将该版本传送给电子设备14。一般地,这将是通过无线传输的,但是有线传输可以被使用。该传输可使用诸如802.11、蓝牙、蜂窝电话传输之类的各种机制。
在步骤1008中,将场景19的该版本显示在电子设备14上。可使用电子设备14上的前面提到的应用来与系统10进行通信,以接收场景19的该版本并将场景19呈现在显示器上。如前所述,场景19的该版本可以是实时的版本。正如术语“实时”之前被使用的那样,可存在由于系统10生成场景19的该版本所花费的时间的某一小延迟、传输延迟、呈现延迟或其他可能的延迟。
在一些实施例中,步骤1008包括呈现经重新目标化的演员。例如,导演11可在看电子设备14上的显示器时看到演员18被重新目标化成了Godzilla(哥斯拉)。更具体的,导演11可以看到Godzilla正基于演员的运动而实时地移动。
由于导演11可改变电子设备14的位置,过程1000可返回至步骤1002以再次确定电子设备14的位置。随后可执行确定、传送和从电子设备14的角度显示场景19的其他步骤。过程1000可响应于用户输入指令系统10记录应该结束的命令而结束。
图11是捕捉正被拍摄的电影的场景的过程1100的一个实施例的流程图。过程1100是过程900的步骤904的一个实施例。过程1100可以响应于记录场景19的请求而被执行。因此,过程1100可响应于进行记录的请求而开始,并响应于停止记录的请求而结束。在步骤1102中,接收来自电子设备14的记录场景19的元数据的请求。例如,电子设备14可能响应于来自导演11的命令而正在运行允许它与系统10进行通信的应用。
在步骤1104,系统10存储描述了演员18的模型的元数据。作为一个示例,骨架数据被存储。附加的元数据可继续被存储,直到用户请求记录停止为止。元数据还可包括描述了要用作虚拟道具的对像的位置的数据。
在步骤1106,系统10存储描述了电子设备14的位置的元数据。作为一个示例,电子设备14的3D坐标被存储。附加的元数据可继续被存储,直到用户请求记录停止为止。因此,系统10可存储各自包含3D位置和时间值的数据对。元数据还可包括描述了电子设备14的方向的数据(例如,指南针数据、加速计数据等)。
在步骤1108中,系统10接收停止记录场景的请求。如上所述,该请求可来自电子设备14。
图12是编辑电影的过程1200的一个实施例的流程图。过程1200是过程900的步骤906的一个实施例。过程1200允许用户使用诸如姿势和语音命令之类的自然用户输入来编辑电影。过程1200可响应于进入编辑模式的用户请求而开始。多种技术可用于进入编辑模式。在一个实施例中,用户作出一个或多个姿势,这些姿势可被系统12解释成进入编辑模式的请求。
在步骤1202中,访问电影的一个或多个场景的已存储的元数据。例如,访问在一次或多次执行过程900时所存储的元数据。注意,可访问许多不同的元数据的集合,使得许多不同的场景可被编辑。系统10可呈现至少一些场景的快照,以允许用户选择场景来进行编辑。
在步骤1204,深度相机系统20接收被系统12解释成编辑命令的输入。注意,深度相机系统20可以具有可允许用户输入语音命令的一个或多个话筒。例如,用户可指向这些场景中的一个,并说“selectscene(选择场景)”或“playscene(播放场景)”。在查看了各个场景之后,用户可选择某些场景并对其进行排序以供顺序的呈现。系统12也可允许用户对场景作出修改。例如,在查看了场景之后,用户可决定被重新目标化成狮子的演员18应该更换为被重新目标化成老虎。为了进行重新目标化,用户可说“re-targetasatiger(重新目标化成老虎)”。作为响应,系统12可播放演员被重新目标化成老虎的场景。为了实现这个,系统12可访问演员18的骨架模型、将其重新映射成老虎的骨架、以及覆盖老虎的特征。用户还可改变场景的角度。例如,用户可说“zoomin(放大)”或“zoomout(缩小)”来使系统12创建具有不同的变焦级别的场景的版本。用户还可将音乐覆盖在场景中。这些只是可能的编辑可能性中的一些;存在许多其他的编辑可能性。
本发明系统的前述详细描述是出于说明和描述的目的而提供的。这并不旨在穷举本发明系统或将本发明系统限于所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。选择所述实施例以最好地解释本发明系统的原理及其实践应用,从而允许本领域技术人员能够在各种实施例中并采用各种适于所构想的特定用途的修改来最好地利用本发明系统。本发明系统的范围旨在由所附权利要求书来定义。

Claims (7)

1.一种在具有深度相机的系统中的方法,包括:
使用处于第一现实世界位置的所述深度相机来收集环境的深度信息;
使用所述深度信息来生成所述环境中的演员的骨架模型;
使用所述深度信息来跟踪所述骨架模型;
基于对所述演员的所述骨架模型的跟踪生成场景,其中生成场景包括重新目标化所述骨架模型以创建跟踪所述演员的行为的非人类图像;以及
响应于用户命令基于所述场景创建电影;
其中所述响应于用户命令基于所述场景创建电影包括:
实时地向电子设备提供所述场景,针对一时间段确定所述电子设备在所述环境中的一个或多个现实世界位置,其中所述电子设备在所述环境中的一个或多个现实世界位置不同于所述第一现实世界位置;
针对所述时间段从所述电子设备的角度生成所述场景的一个版本;以及
向所述电子设备传送所述场景的所述版本。
2.如权利要求1所述的方法,其特征在于,所述响应于用户命令基于所述场景创建电影包括:
接收来自所述电子设备的记录所述场景的请求;
针对所述时间段存储描述了对所述演员的所述骨架模型的跟踪的第一元数据;以及
针对所述时间段存储描述了所述电子设备在所述环境中的所述一个或多个现实世界位置的第二元数据。
3.如权利要求1所述的方法,其特征在于,所述生成场景还包括:
接收使用所述环境中的对象来用作虚拟道具的请求;
基于所述深度信息确定所述对象在所述环境的3D模型中一个或多个位置;以及
基于所述对象在所述3D模型中的一个或多个位置将虚拟道具合并到所述场景中。
4.如权利要求1所述的方法,其特征在于,所述生成场景还包括:
生成虚拟场景;以及
将所述演员放置在所述虚拟场景中。
5.如权利要求1所述的方法,其特征在于,所述响应于用户命令基于所述场景创建电影包括:
经由所述深度相机接收输入以编辑所述电影;
访问描述了根据权利要求1所述的方法来生成的多个场景的已存储的元数据;以及
经由所述深度相机接收输入命令,以基于所述已存储的元数据编辑所述电影。
6.一种用于创建电影的方法,所述方法包括:
使用处于第一现实世界位置的深度相机来收集环境的深度信息;
基于所述深度信息来生成和跟踪所述环境中的演员的骨架模型,所述骨架模型使用所述深度相机来捕捉所述演员的运动;
基于所述骨架模型生成场景,其中生成场景包括重新目标化所述演员的骨架模型以创建跟踪所述演员的行为的非人类图像;
确定要用作虚拟取景器的电子设备的一个或多个现实世界位置,所述一个或多个现实世界位置在一时间段与所述场景相关联,并且所述电子设备的一个或多个现实世界位置不同于所述第一现实世界位置;
从所述电子设备在所述一个或多个现实世界位置处的角度生成所述场景的一个版本;以及
向所述电子设备提供所述场景的所述版本。
7.如权利要求6所述的方法,其特征在于,还包括:
接收来自所述电子设备的记录所述场景的元数据的请求;
存储描述了所捕捉到的所述演员的运动的第一元数据;以及
存储描述了所述电子设备的所述一个或多个现实世界位置的第二元数据。
CN201210020792.XA 2011-01-31 2012-01-30 起居室电影创建 Active CN102622774B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/017,750 2011-01-31
US13/017,750 US8866898B2 (en) 2011-01-31 2011-01-31 Living room movie creation

Publications (2)

Publication Number Publication Date
CN102622774A CN102622774A (zh) 2012-08-01
CN102622774B true CN102622774B (zh) 2016-01-27

Family

ID=46562675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210020792.XA Active CN102622774B (zh) 2011-01-31 2012-01-30 起居室电影创建

Country Status (3)

Country Link
US (1) US8866898B2 (zh)
CN (1) CN102622774B (zh)
HK (1) HK1172984A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8649554B2 (en) 2009-05-01 2014-02-11 Microsoft Corporation Method to control perspective for a camera-controlled computer
US8884949B1 (en) * 2011-06-06 2014-11-11 Thibault Lambert Method and system for real time rendering of objects from a low resolution depth camera
US11232626B2 (en) 2011-12-21 2022-01-25 Twenieth Century Fox Film Corporation System, method and apparatus for media pre-visualization
US9799136B2 (en) * 2011-12-21 2017-10-24 Twentieth Century Fox Film Corporation System, method and apparatus for rapid film pre-visualization
US10585478B2 (en) 2013-09-13 2020-03-10 Nod, Inc. Methods and systems for integrating one or more gestural controllers into a head mounted wearable display or other wearable devices
US10139914B2 (en) * 2013-09-13 2018-11-27 Nod, Inc. Methods and apparatus for using the human body as an input device
KR102192704B1 (ko) * 2013-10-22 2020-12-17 엘지전자 주식회사 영상 출력 장치
US9823749B2 (en) 2014-02-21 2017-11-21 Nod, Inc. Location determination and registration methodology for smart devices based on direction and proximity and usage of the same
CN105183005A (zh) * 2015-08-25 2015-12-23 李尔 场景虚拟装置及控制方法
CN105513114B (zh) * 2015-12-01 2018-05-18 深圳奥比中光科技有限公司 三维动画生成的方法和装置
US10739989B2 (en) * 2016-10-04 2020-08-11 Wipro Limited System and method for customizing a presentation
ES2812851T3 (es) * 2016-11-01 2021-03-18 Previble AB Dispositivo de previsualización
CN107066095B (zh) * 2017-03-31 2020-09-25 联想(北京)有限公司 一种信息处理方法及电子设备
US10510174B2 (en) 2017-05-08 2019-12-17 Microsoft Technology Licensing, Llc Creating a mixed-reality video based upon tracked skeletal features
US10775897B2 (en) * 2017-06-06 2020-09-15 Maxell, Ltd. Mixed reality display system and mixed reality display terminal
CN107509068A (zh) * 2017-09-13 2017-12-22 北京迪生数字娱乐科技股份有限公司 虚拟摄影前期制作方法和系统
US11341725B2 (en) * 2018-09-27 2022-05-24 Apple Inc. Intermediary emergent content
CN110442239B (zh) * 2019-08-07 2024-01-26 泉州师范学院 基于动作捕捉技术的梨园戏虚拟现实再现方法
CN114984585A (zh) * 2020-04-17 2022-09-02 完美世界(重庆)互动科技有限公司 一种生成游戏角色的实时表情图片的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1226328A (zh) * 1996-08-02 1999-08-18 微软公司 虚拟电影摄影方法和系统
CN1910619A (zh) * 2003-12-19 2007-02-07 Td视觉有限公司 三维视频游戏系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209181B2 (en) 2000-03-08 2007-04-24 Mitchell Kriegman System and method for compositing of two or more real images in a cinematographic puppetry production
US7113618B2 (en) 2001-09-18 2006-09-26 Intel Corporation Portable virtual reality
US8072470B2 (en) * 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
US7391424B2 (en) 2003-08-15 2008-06-24 Werner Gerhard Lonsing Method and apparatus for producing composite images which contain virtual objects
WO2006047610A2 (en) 2004-10-27 2006-05-04 Cinital Method and apparatus for a virtual scene previewing system
US9327191B2 (en) * 2006-05-08 2016-05-03 Nintendo Co., Ltd. Method and apparatus for enhanced virtual camera control within 3D video games or other computer graphics presentations providing intelligent automatic 3D-assist for third person viewpoints
US8339402B2 (en) 2006-07-16 2012-12-25 The Jim Henson Company System and method of producing an animated performance utilizing multiple cameras
US20080158242A1 (en) 2007-01-03 2008-07-03 St Jacques Kimberly Virtual image preservation
US7970176B2 (en) * 2007-10-02 2011-06-28 Omek Interactive, Inc. Method and system for gesture classification
US20090280897A1 (en) * 2008-01-14 2009-11-12 Simon Fitzmaurice Method and Apparatus for Producing Interactive Video Content
KR101335346B1 (ko) 2008-02-27 2013-12-05 소니 컴퓨터 엔터테인먼트 유럽 리미티드 장면의 심도 데이터를 포착하고, 컴퓨터 액션을 적용하기 위한 방법들
US8113991B2 (en) * 2008-06-02 2012-02-14 Omek Interactive, Ltd. Method and system for interactive fitness training program
US9185361B2 (en) * 2008-07-29 2015-11-10 Gerald Curry Camera-based tracking and position determination for sporting events using event information and intelligence data extracted in real-time from position information
US20100110069A1 (en) 2008-10-31 2010-05-06 Sharp Laboratories Of America, Inc. System for rendering virtual see-through scenes
US7899321B2 (en) 2009-03-23 2011-03-01 James Cameron Stereo camera with automatic control of interocular distance
US8237771B2 (en) * 2009-03-26 2012-08-07 Eastman Kodak Company Automated videography based communications
US9299184B2 (en) * 2009-04-07 2016-03-29 Sony Computer Entertainment America Llc Simulating performance of virtual camera
WO2010129721A2 (en) 2009-05-05 2010-11-11 Mixamo, Inc. Distributed markerless motion capture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1226328A (zh) * 1996-08-02 1999-08-18 微软公司 虚拟电影摄影方法和系统
CN1910619A (zh) * 2003-12-19 2007-02-07 Td视觉有限公司 三维视频游戏系统

Also Published As

Publication number Publication date
HK1172984A1 (zh) 2013-05-03
US20120194645A1 (en) 2012-08-02
US8866898B2 (en) 2014-10-21
CN102622774A (zh) 2012-08-01

Similar Documents

Publication Publication Date Title
CN102622774B (zh) 起居室电影创建
CN102665838B (zh) 用于确定和跟踪目标的肢端的方法和系统
JP5859456B2 (ja) プレゼンテーション用カメラ・ナビゲーション
CN102332090B (zh) 划分在视野内的焦点区域
CN102414641B (zh) 改变显示环境内的视图视角
CN102549619B (zh) 人类跟踪系统
CN102289564B (zh) 来自多个视听源的信息的合成
CN102947777B (zh) 用户跟踪反馈
CN102129551B (zh) 基于关节跳过的姿势检测
CN102413885B (zh) 用于对运动捕捉应用模型跟踪的系统和方法
CN102413414B (zh) 用于扩展现实的高精度3维音频的系统和方法
CN102184009B (zh) 跟踪系统中的手位置后处理精炼
CN102385237B (zh) 基于结构化光和立体视觉的深度相机
JP5576932B2 (ja) キャラクターにアニメーションまたはモーションを加えるシステムおよび方法
TWI531396B (zh) 用於推動互動故事的自然使用者輸入
CN102129293B (zh) 在运动捕捉系统中跟踪用户组
CN102448566B (zh) 骨架以外的姿势
CN102576466A (zh) 用于跟踪模型的系统和方法
CN102681657A (zh) 交互式内容创建
CN102314595A (zh) 用于改善话音识别的rgb/深度相机
CN102156658B (zh) 对象的低等待时间呈现
CN102207771A (zh) 推断参与运动捕捉系统的用户意图
CN102362293A (zh) 链接动画
TW201246088A (en) Theme-based augmentation of photorepresentative view
CN102184020A (zh) 用于操纵用户界面的姿势和姿势修改

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1172984

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1172984

Country of ref document: HK