CN102448565A - 将骨架数据实时重新定标到游戏化身 - Google Patents

将骨架数据实时重新定标到游戏化身 Download PDF

Info

Publication number
CN102448565A
CN102448565A CN2010800246887A CN201080024688A CN102448565A CN 102448565 A CN102448565 A CN 102448565A CN 2010800246887 A CN2010800246887 A CN 2010800246887A CN 201080024688 A CN201080024688 A CN 201080024688A CN 102448565 A CN102448565 A CN 102448565A
Authority
CN
China
Prior art keywords
user
end effect
avatar
joint
effect thing
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.)
Granted
Application number
CN2010800246887A
Other languages
English (en)
Other versions
CN102448565B (zh
Inventor
A·A·基普曼
K·兹努达
J·N·马戈利斯
S·W·西姆斯
N·D·伯顿
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN102448565A publication Critical patent/CN102448565A/zh
Application granted granted Critical
Publication of CN102448565B publication Critical patent/CN102448565B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

在此揭示了用于在应用运行时期间生成化身模型的技术。该化身模型可从由捕捉设备捕捉的图像生成。可定位末端效应物反向运动学可被用来确定化身模型中的其他节点的位置。

Description

将骨架数据实时重新定标到游戏化身
背景技术
诸如计算机游戏、多媒体应用等许多计算应用包括使用典型的运动捕捉技术来动画化的化身或人物。例如,在开发高尔夫球游戏时,可以将专业高尔夫球手带入具有运动捕捉设备的工作室,该运动捕捉设备包括例如朝向工作室中的特定点的多个照相机。专业高尔夫球手然后可以装备具有多个点指示器的运动捕捉套装,这些点指示器可以用照相机来配置并由照相机跟踪,以使得照相机可捕捉例如专业高尔夫球手的运动。这些运动然后能够在开发高尔夫球游戏期间被应用于化身或人物。当完成高尔夫球游戏后,化身或人物然后能够在执行高尔夫球游戏期间用专业高尔夫球手的运动来动画化。不幸的是,典型的运动捕捉技术是昂贵的,依靠特定应用的开发,并且不包括与应用的实际玩家或用户相关联的运动。
发明内容
本发明的一个示例性实施例描述了一种方法。在该示例中,该方法包括但不限于,在应用的实时执行期间,接收化身末端效应物的位置;化身末端效应物被设置到使用用户末端效应物的位置计算的位置;用户末端效应物的位置先前从用户的图像生成;并在应用的实时执行期间,确定化身模型关节的位置以获得化身模型解剖学上可能的姿态,该化身模型关节的位置至少从该化身末端效应物的位置确定。除了上述方面,构成本公开的一部分的权利要求、附图、以及文本还描述了其他方面。
本发明的一个示例性实施例描述了一种方法。在该示例中,该方法包括但不限于,执行视频游戏;基于从视频游戏接收的信息加载化身模型,该化身模型包括化身末端效应物和多个化身节点;接收用户末端效应物的位置信息;在视频游戏实时执行期间,确定化身末端效应物的位置,其中化身末端效应物的位置使用用户末端效应物的位置信息来计算;接收用户末端效应物的第二位置信息;在视频游戏实时执行期间,将化身末端效应物的位置更新到第二位置,其中化身末端效应物的位置使用用户末端效应物的第二位置信息来计算;并且在视频游戏实时执行期间,确定化身节点的位置来获得化身模型解剖学上可能的姿态,其中姿态维持化身末端效应物的已更新位置。除了上述方面,构成本公开的一部分的权利要求、附图、以及文本还描述了其他方面。
本发明的一个示例性实施例描述了一种方法。在该示例中,该方法包括但不限于,从图像生成用户模型,其中用户模型包括用户末端效应物;在应用的运行时执行期间,将用户末端效应物映射到化身模型;在应用的运行时执行期间,设置化身关节的位置来获得模型的解剖学上可能的姿态;并且在应用的运行时执行期间,基于对用户模型的改变,修改化身末端效应物的位置和化身关节。除了上述方面,构成本公开的一部分的权利要求、附图、以及文本还描述了其他方面。
本领域技术人员之一可理解,本公开的一个或更多个方面可包括但不限于用于实现本公开的本文所提及的各方面的电路和/或编程;该电路和/或编程实质上可以是配置成实现本文所提及的方面的硬件、软件和/或固件的任何组合,这取决于系统设计者的设计选择。
以上是发明内容,并且因此必然包含细节的简化、一般化及省略。本领域技术人员将明白,本发明内容只是说明性的并且决不旨在是限制性的。
附图说明
图1描绘其中可实现本发明的各方面的示例多媒体控制台。
图2描绘其中可实现本发明的各方面的示例计算机系统。
图3示出目标识别、分析和跟踪系统的配置的一示例实施例。
图4示出目标识别、分析和跟踪系统的配置的一示例实施例。
图5示出耦合到计算环境的捕捉设备的一示例实施例。
图6示出了示例用户模型。
图7示出了示例化身模型。
图8A示出了用户模型。
图8B示出了可能已经从用户模型中生成的化身模型。
图9示出了示例化身。
图10描绘了用于实施本公开的各方面的操作过程。
图11描绘了图10的操作过程的替换实施例。
图12描绘了用于实施本公开的各方面的操作过程。
图13描绘了图12的操作过程的替换实施例。
图14用于实施本公开的各方面的操作过程。
图15描绘了图14的操作过程的替换实施例。
具体实施方式
如本文中将描述的,用户可通过执行一个或多个姿势和/或移动来控制在诸如游戏控制台、计算机等计算环境上执行的应用和/或动画化化身或屏幕上人物。根据一个实施例,姿势和/或移动可由例如捕捉设备来检测。例如,捕捉设备可捕捉场景的深度图像并且将图像发送到计算环境。可生成模型,该模型可被用来在应用中动画化化身。
图1和2示出了其中可实现本发明的示例计算环境。本领域的技术人员可以理解,计算环境可具有参照图1的多媒体控制台100和图2的计算机系统200描述的组件中的一部分或全部。
贯穿本公开使用的术语电路可包括诸如专用集成电路、硬件中断控制器、硬盘驱动器、网络适配器、图形处理器、基于硬件的视频/音频编解码器等硬件组件,以及用于操作这些硬件的固件/软件。术语电路还可包括被配置成通过固件或通过开关集来以特定方式执行功能的微处理器,或一个或多个逻辑处理器,例如,多核通用处理单元的一个或多个核。此示例中的逻辑处理器可以通过从存储器,例如,RAM、ROM、固件等中加载的体现可操作以执行功能的逻辑的软件指令来配置。在其中电路包括硬件和软件的组合的示例实施例中,实现者可以编写具体化逻辑的源代码,该源代码随后被编译成可由逻辑处理器执行的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件的组合之间几乎没有差别的地步,因而选择硬件还是软件来实现功能只是一个设计选择。因此,由于本领域的技术人员可以理解软件进程可被变换成等效的硬件结构,且硬件结构本身可被变换成等效的软件进程,因此选择硬件实现或是软件实现对本发明是无关紧要的且留给了实现者。
图1示出了计算环境的示例实施例,其可被用来动画化图4的目标识别、分析和跟踪系统所显示的屏幕上人物或化身。如此计算环境可以是诸如游戏控制台之类的多媒体控制台100。如图1所示,多媒体控制台100具有可含有1级高速缓存102、2级高速缓存104,和闪存ROM(只读存储器)106的逻辑处理器101。1级高速缓存102和2级高速缓存104临时存储数据,并因此减少存储器访问周期数,由此改进处理速度和吞吐量。逻辑处理器101可以设置成具有一个以上的内核,以及由此的附加的1级和2级高速缓存102和104。闪存ROM 106可存储在多媒体控制台100通电时引导过程的初始阶段期间加载的可执行代码。
图形处理单元(GPU)108和视频编码器/视频编解码器(编码器/解码器)114形成用于高速和高分辨率图形处理的视频处理流水线。经由总线从图形处理单元108向视频编码器/视频编解码器114运送数据。视频处理流水线向A/V(音频/视频)端口140输出数据,用于传输至电视或其他显示器。存储器控制器110连接到GPU 108以方便处理器访问各种类型的存储器112,诸如但不局限于RAM(随机存取存储器)。
多媒体控制台100包括较佳地在模块118上实现的I/O控制器120、系统管理控制器122、音频处理单元123、网络接口控制器124、第一USB主控制器126、第二USB控制器128和前面板I/O子部件130。USB控制器126和128用作外围控制器142(1)-142(2)、无线适配器148、和外置存储器设备146(例如闪存、外置CD/DVD ROM驱动器、可移动介质等)的主机。网络接口124和/或无线适配器148提供对网络(例如,因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中任何一种。
提供系统存储器143来存储在引导过程期间加载的应用数据。提供介质驱动器144,且其可包括DVD/CD驱动器、硬盘驱动器、或其他可移动介质驱动器等。介质驱动器144可以是对多媒体控制器100内置的或外置的。应用数据可经由介质驱动器144访问,以由多媒体控制台100执行、回放等。介质驱动器144经由诸如串行ATA总线或其他高速连接(例如IEEE 1394)等总线连接到I/O控制器120。
系统管理控制器122提供涉及确保多媒体控制台100的可用性的各种服务功能。音频处理单元123和音频编解码器132形成具有高保真度和立体声处理的对应的音频处理流水线。音频数据经由通信链路在音频处理单元123与音频编解码器132之间传输。音频处理流水线将数据输出到A/V端口140以供外置音频播放器或具有音频能力的设备再现。
前面板I/O子部件130支持暴露在多媒体控制台100的外表面上的电源按钮150和弹出按钮152以及任何LED(发光二极管)或其他指示器的功能。系统供电模块136向多媒体控制台100的组件供电。风扇138冷却多媒体控制台100内的电路。
逻辑处理器101、GPU108、存储器控制器110、和多媒体控制台100内的各种其他组件经由一条或多条总线互连,总线包括串行和并行总线、存储器总线、外围总线、和使用各种总线架构中任一种的处理器或局部总线。作为示例,这些架构可以包括外围部件互连(PCI)总线、PCI-Express总线等。
当多媒体控制台100通电时,应用数据可从系统存储器143加载到存储器112和/或高速缓存102、104中并在逻辑处理器101上执行。应用可呈现在导航到多媒体控制台100上可用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中,介质驱动器144中包含的应用和/或其他介质可从介质驱动器144启动或播放,以向多媒体控制台100提供附加功能。
多媒体控制台100可通过将该系统简单地连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看电影、或听音乐。然而,随着通过网络接口124或无线适配器148可用的宽带连接的集成,多媒体控制台100还可作为更大网络社区中的参与者来操作。
当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(诸如,16MB)、CPU和GPU周期的保留量(诸如,5%)、网络带宽的保留量(诸如,8kbs),等等。因为这些资源是在系统引导时间保留的,所保留的资源对于应用视角而言是不存在的。
具体而言,存储器保留优选地足够大,以包含启动内核、并发系统应用和驱动程序。CPU保留优选地为恒定,使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。
对于GPU保留,通过使用GPU中断来调度代码来将弹出窗口呈现为覆盖图以显示由系统应用生成的轻量消息(例如,弹出窗口)。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率并引起TV重新同步。
在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源中执行的一组系统应用中。操作系统内核标识是系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在逻辑处理器101上运行,以便为应用提供一致的系统资源视图。进行调度是为了把由在控制台上运行的游戏应用所引起的高速缓存分裂最小化。
当并发系统应用需要音频时,则由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平(例如,静音、衰减)。
输入设备(例如,控制器142(1)和142(2))由游戏应用和系统应用共享。输入设备不是保留资源,而是在系统应用和游戏应用之间切换以使其各自具有设备的焦点。应用管理器较佳地控制输入流的切换,而无需知晓游戏应用的知识,并且驱动程序维护有关焦点切换的状态信息。相机26、28和捕捉设备306可为控制台100定义额外的输入设备。
现在参考图2,描绘了示例性计算系统200。计算机系统200可包括逻辑处理器202,如执行核。尽管示出了一个逻辑处理器202,但在其他实施例中,计算机系统200可具有多个逻辑处理器,例如每一处理器基板有多个执行核,和/或各自可具有多个执行核的多个处理器基板。如图所示,各种计算机可读存储介质210可由一系统总线互联,系统总线将各种系统组件耦合到逻辑处理器202。系统总线可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。在示例实施例中,计算机可读存储介质210可以包括例如随机存取存储器(RAM)204、存储设备206(例如电机硬盘驱动器、固态硬盘驱动器等)、固件208(例如闪速RAM或ROM)、以及可移动存储设备218(例如CD-ROM、软盘、DVD、闪速驱动器、外部存储设备等)。本领域的技术人员应当理解,可使用其他类型的计算机可读存储介质,如磁带盒、闪存卡、数字视频盘、柏努利盒式磁带等,来存储数据。
计算机可读存储介质提供对计算机可读指令、数据结构、程序模块、和计算机200的其它数据的存储。基本输入/输出系统(BIOS)220可被存储在固件208中,它包含帮助在诸如启动期间在计算机系统200内的各元件之间传递信息的基本例程。若干个应用和操作系统222可被存储在固件208、存储设备206、RAM 204,和/或可移动存储设备218上,并且可由逻辑处理器202来执行。
可由计算机200通过输入设备216接收命令和信息,其可包括但不限于,键盘和定点设备、操纵杆,和/或图5的捕捉设备306。其他输入设备可包括麦克风、扫描仪,等。这些和其他输入设备常通过耦合到系统总线的串行端口接口连接到逻辑处理器202,但也可通过其他接口连接,如并行端口、游戏端口或通用串行总线(USB)。显示器或其他类型的显示设备也可经由诸如视频适配器等可以是图形处理器212的一部分或可连接到图形处理器112的接口来连接到系统总线。除了显示器之外,计算机通常包括其他外围输出设备(未示出),如扬声器和打印机。图1的示例性系统还可包括主适配器、小型计算机系统接口(SCSI)总线和连接到SCSI总线的外部存储设备。
计算机系统200可使用至一个或多个远程计算机,如远程计算机,的逻辑连接在网络化环境中操作。远程计算机可以是另一计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点,并且通常可包括上面关于计算机系统200所述的许多或全部元件。
当在LAN或WAN联网环境中使用时,计算机系统100可通过网络接口卡214(NIC)连接至LAN或WAN。NIC 214(可以是内部或外部的)可以连接到系统总线。在联网环境中,相对于计算机系统100所描述的程序模块或其部分可被储存在远程存储器存储设备中。可以理解,所描述的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其他手段。此外,虽然构想本公开的许多实施例尤其适用于计算机化的系统,然而在本文中没有任何表述旨在将本公开限于那些实施例。
图3和4示出伴随用户302玩拳击游戏的目标识别、分析和跟踪系统300的配置的示例实施例。在一示例实施例中,目标识别、分析和跟踪系统300可用于识别、分析和/或跟踪诸如用户302等的人类目标。
如图3所示,目标识别、分析及跟踪系统300可包括计算环境304。计算环境304可以是计算机、游戏系统或控制台等,包括类似图1和2中描述的那些组件。
如图3所示,目标识别、分析及跟踪系统300还可包括捕捉设备306。捕捉设备306可以是例如照相机,所述照相机可用于在视觉上监视诸如用户302等的一个或多个用户从而可以捕捉、分析并跟踪一个或多个用户所执行的姿势和/或移动,来执行应用中的一个或多个控制命令或动作和/或动画化化身或屏幕上人物,如将在下面更详细地描述的。
根据一个实施例,目标识别、分析及跟踪系统300可连接到可向诸如用户302等用户提供游戏或应用视觉和/或音频的视听设备320,如电视机、监视器、高清电视机(HDTV)等。例如,计算环境304可包括诸如图形卡等视频适配器和/或诸如声卡等音频适配器,这些适配器可提供与游戏应用、非游戏应用等相关联的视听信号。视听设备320可从计算环境304接收视听信号,然后可向用户302输出与该视听信号相关联的游戏或应用视觉和/或音频。根据一个实施例,视听设备320可经由例如,S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆等连接到计算环境304。
如图3和4所示,在一示例实施例中,在计算环境304上执行的应用可以是用户302可能正在玩的拳击游戏。例如,计算环境304可使用视听设备320来向用户302提供拳击对手338的视觉表示。计算环境304还可使用视听设备320来提供用户302可通过他的或她的移动来控制的玩家化身324的视觉表示。例如,如图3所示,用户302可在物理空间中挥拳来使得玩家化身324在游戏空间中挥拳。因此,根据一示例实施例,目标识别、分析和跟踪系统300的计算环境304和捕捉设备306可用于识别和分析物理空间中用户302的重拳从而使得该重拳可被解释为对游戏空间中的玩家化身324的游戏控制和/或该重拳的运动可用于动画化游戏空间中的玩家化身324。
用户302的其他移动也可被解释为其他控制命令或动作,和/或用于动画化玩家化身324,如上下快速摆动、闪避、滑步、封堵、用拳猛击或挥动各种不同的有力重拳的控制命令。此外,某些移动可被解释为可对应于除控制玩家化身324之外的动作的控制。例如,玩家可以使用移动来结束、暂停或保存游戏、选择级别、查看高分、与朋友交流等。另外,用户302的全范围运动可以用任何合适的方式来获得、使用并分析以与应用进行交互。
在示例实施例中,诸如用户302的人类目标控制化身324以与应用中的对象进行交互。例如,用户302可伸手拿游戏中的对象以使用该对象。在此示例中,目标识别、分析和跟踪系统300可被配置来允许化身324拿起该对象并在游戏中使用该对象。在特定示例中,用户的化身324可拿起并握住电子运动游戏中使用的球拍。
根据其他示例实施例,目标识别、分析及跟踪系统300还可用于将目标移动解释为游戏领域之外的操作系统和/或应用控制。例如,事实上操作系统和/或应用的任何可控方面可由诸如用户302等目标的移动来控制。
图5示出可在目标识别、分析及跟踪系统300中使用的捕捉设备306的示例实施例。根据一示例实施例,捕捉设备306可被配置成经由任何合适的技术,包括例如飞行时间、结构化光、立体图像等来捕捉包括深度图像的带有深度信息的视频,该深度信息可包括深度值。根据一实施例,捕捉设备306可将深度信息组织为“Z层”或者可与从深度相机沿其视线延伸的Z轴垂直的层。
如图5所示,捕捉设备306可包括图像相机组件502。根据一个示例实施例,图像相机组件502可以是可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米等计的、所捕捉的场景中的对象距相机的长度或距离。
如图5所示,根据一示例实施例,图像相机组件502可包括可用于捕捉场景的深度图像的IR光组件524、三维(3-D)相机526、和RGB相机528。例如,在飞行时间分析中,捕捉设备306的IR光组件524可以将红外光发射到场景上,然后,可以使用传感器(未示出),用例如3-D相机526和/或RGB相机528,来检测从场景中的一个或多个目标和物体的表面反向散射的光。在某些实施例中,可以使用脉冲红外光,使得可以测量出射光脉冲和相应的入射光脉冲之间的时间差并将其用于确定从捕捉设备306到场景中的目标或物体上的特定位置的物理距离。附加地,在其他示例实施例中,可将出射光波的相位与入射光波的相位进行比较来确定相移。然后可以使用该相移来确定从捕捉设备到目标或物体上的特定位置的物理距离。
根据另一示例实施例,可使用飞行时间分析,通过经由包括例如快门式光脉冲成像在内的各种技术来分析反射光束随时间的强度变化以间接地确定从捕捉设备306到目标或物体上的特定位置的物理距离。
在另一示例实施例中,捕捉设备306可使用结构化光来捕捉深度信息。在这一分析中,图案化光(即,被显示为诸如网格图案或条纹图案等已知图案的光)可经由例如IR光组件524被投影到场景上。在落到场景中的一个或多个目标或物体的表面上时,作为响应,图案可变形。图案的这种变形可由例如3-D相机526和/或RGB相机528来捕捉,然后可被分析来确定从捕捉设备到目标或物体上的特定位置的物理距离。
根据另一实施例,捕捉设备306可包括两个或更多个物理上分开的相机,这些相机可从不同角度查看场景以获得视觉立体数据,该视觉立体数据可被解析以生成深度信息。
捕捉设备306还可包括话筒530。话筒530可包括可接收声音并将其转换成电信号的换能器或传感器。根据一个实施例,话筒530可以被用来减少目标识别、分析及跟踪系统300中的捕捉设备306和计算环境304之间的反馈。另外,话筒530可用于接收也可由用户提供的音频信号,以控制可由计算环境304执行的诸如游戏应用、非游戏应用等应用。
在示例实施例中,捕捉设备306还可以包括可与图像相机组件502进行可操作的通信的逻辑处理器532。捕捉设备306还可以包括存储器组件534,该存储器组件534可以存储可以由处理器532执行的指令、由3-D相机或RGB相机捕捉到的图像或图像的帧、或任何其他合适的信息、图像等等。根据一个示例实施例,存储器组件534可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘或任何其他合适的存储组件。如图5所示,在一个实施例中,存储器组件534可以是与图像捕捉组件520和逻辑处理器532进行通信的单独的组件。根据另一实施例,存储器组件534可被集成到处理器532和/或图像捕捉组件520中。
捕捉设备306可被配置来获取由例如,捕捉设备306的3-D相机426和/或RGB相机528捕捉到的场景的图像或帧。在示例实施例中,深度图像可包括所捕捉的场景中的人类目标和一个或多个非人类目标,诸如墙壁、桌子、监视器等。深度图像可包括多个观测到的像素,其中每一观测到的像素具有与其相关联的观测到的深度值。例如,深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米等计的、所捕捉的场景中的对象或目标距捕捉设备的长度或距离。在一示例实施例中,深度图像可被着色从而使得深度图像的像素的不同颜色对应于人类目标和非人类目标离捕捉设备的不同距离。例如,根据一个实施例,深度图像中与最接近捕捉设备的目标相关联的像素可用红色和/或橙色阴影来着色,而深度图像中与较远的目标相关联的像素可用绿色和/或蓝色阴影来着色。
另外,如上所述,捕捉设备可将包括深度图像的所计算的深度信息组织成“Z层”,即可垂直于从相机沿着其视线延伸到观察者的Z轴的层。可基于所确定的边缘来对Z层的可能Z值进行泛色填充。例如,与所确定的边相关联的像素以及该所确定的边内的区域的像素可互相关联来定义可与模式进行比较的场景中的目标或对象。如以下所描述,图像可接着被用来生成用户的骨架模型。
继续图5的一般描述,捕捉设备306可以经由通信链路536与计算环境304通信。通信链路536可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线802.11b、802.11g、802.11a或802.11n连接等的无线连接。根据一个实施例,计算环境304可以经由通信链路536向捕捉设备306提供时钟,可以使用该时钟来确定何时捕捉例如场景。
另外,捕捉设备306可经由通信链路536向计算环境304提供深度信息和由例如3-D相机526和/或RGB相机528捕捉的图像,和/或可由捕捉设备306生成的骨架模型。计算环境304然后可使用该模型、深度信息、以及所捕捉的图像来例如控制诸如游戏或文字处理程序等的应用和/或动画化化身或屏幕上人物。
例如,如图5所述,计算环境304可包括应用560、模型库570、映射系统580,和/或反向运动学系统509。通常,元件560-590的每一个可通过电路实现,并且为了解释方便将元件560-590表示为分立元件,在其他实施例中,结合元件560-590描述的功能的一些或全部可由相同或不同电路执行。
通常,应用560可以是视频游戏或任何其他包含化身的应用。在一实施例中,计算环境304可包括可存储不同化身的模型库570。可在应用中动画化化身以匹配由目标识别、分析和跟踪系统300捕捉的用户运动。特定示例可包括,包括怪物人物模型和该怪物的一系列默认姿态的模型库570。怪物人物模型可被用来定义在此特定应用中怪物看起来如何。化身可被用来生成具有特定姿态的怪物的游戏内副本。在一个示例实施例中,模型库570可与应用560相关联,然而在其他实施例中模型库570可从应用560分离而仅被应用560使用。
继续图5的描述,映射系统580可被配置来将反映用户空间中的用户位置的用户模型映射到从模型库570获得的化身模型。例如,在下文中更详细地描述,用户模型可被生成为包括节点。用户模型中的每个节点可与用户的一部分相关联,例如,一些节点可以是关节节点,如,代表两个或更多骨骼交互的位置的节点,或诸如手的附属肢体。节点可以由互连相连接,例如,骨骼,并且可以建立定义类似树的父子系统的分级关系。父节点本身可以是子并且可以连接到其他节点。在特定示例中,手腕可以是肘之子,而肘可以是肩之子。该递归关系可以继续到一个或多个根节点,其可被用作基准框架,用于从用户模型到化身模型映射节点。通常,模型可包括末端效应物,其为层级结构内的任何节点,动画设计者想要直接安置这些节点来,例如,与环境交互。例如,手、脚,和头是典型的末端效应物。然而,动画设计者可能希望依据应用在特定情况中操作肩、膝或胸甲。
如前实施例中所述,化身模型700可具有至少一个根节点,并且可以使用化身的根节点以及用户模型600的对应的一个(或多个)根节点建立关系。可以从用户模型节点的位置计算出化身节点的位置。例如,可获取末端效应物的父节点和祖父节点的位置信息,并且可在对应的父节点和祖父节点之间建立关系。
除了映射系统580,图5示出了反向运动学系统590。通常,反向运动学被用来基于分级结构中给定节点的位置来确定节点的一组位置。例如,由于用户模型是从较少标记系统生成的,一些节点角度可能没有被接收,或者化身可能具有远多于用户模型的节点。因此,在示例实施例中,反向运动学系统590可被使用。反向运动学系统590可从映射系统580接收末端效应物位置,并且可生成至少模拟了末端效应物的位置的化身模型的姿态。在一些实施例中,除末端效应物以外的位置可被用来模拟用户模型的姿态。反向运动学系统590的输出可被馈送到应用560,在那里可使用标准动画来混合或修改它。
在示例实施例中,反向运动学系统590可接收一组希望的末端效应物位置/定向目标作为输入。从该组,反向运动学系统590可提供允许这些目标相遇的一组节点角度。反向运动学问题与正向运动学问题紧密相关,其可由以下等式简单描述:
x=f(θ)        (1)
在此等式中,末端效应物位置的矢量x可以通过某个(通常复杂且几乎总是非线性)函数f与全部的关节角度的矢量θ相关。因此,反向运动学等式可由以下描述:
θ=f-1(x)      (2)
从这一点,其中有许多方法来求解该系统。在示例实施例中,可用基于雅可比行列式的线性化技术来求解等式2,然而本发明不限于求解IK等式的任何特定方式。
通常,雅可比行列式IK包含关于当前感兴趣姿态的问题的线性化。为此,可构建一雅可比矩阵作为全部末端效应物维度相对于全部关节角度的导数的矩阵。
x · = J ( θ ) θ · - - - ( 3 )
J ( θ ) i , j = dx i dθ j - - - ( 4 )
如果用户模型是非冗余人物骨架(末端效应物维度等于关节角度维度,在线性代数术语中,我们具有相同数量的等式作为未知),那么反向运动学系统590可被配置来使用标准矩阵求逆来求解IK问题:
θ · = J - 1 ( θ ) x · - - - ( 5 )
然而,在一些示例实施例中,标准矩阵求逆不可被使用是因为存在无穷多关节角度速度
Figure BPA00001479661000134
对于给定末端效应物速度
Figure BPA00001479661000135
其满足等式5。在这些情况中,代替标准矩阵可使用替换矩阵,以获得根据某性能准则的“最佳”解。在一实施例中,该准则为最少均方误差,并且可使用Moore-Penrose伪逆(用上标+来表示)来求解它。例如,可描述对于被破坏的系统的解,并且特解和齐次解两者之和,这可以被表示为:
θ · = J + ( θ ) x · + ( 1 - J + ( θ ) J ( θ ) ) y - - - ( 6 )
这里,(1-J+(θ)J(θ))是零空间投影,且y是不对末端效应物的速度作出贡献但允许我们利用骨架中的任何冗余性的任意矢量。
在一实施例中,矢量
Figure BPA00001479661000142
可被用来控制末端效应物位置且矢量y被用作驱动姿态以匹配源骨架关节角度(倘若它们不干扰末端效应物定位)。
图6示出了可由目标识别、分析和跟踪系统300生成的用户模型。例如,可配置目标识别、分析和跟踪系统300来从由捕捉设备306获取的深度图像生成模型600。在此示例中,目标识别、分析和跟踪系统300可以通过对深度图像中的每一个目标或对象进行泛色填充并将每一个经泛色填充的目标或对象与同处于各种位置或姿态的人类的身体模型相关联的图案进行比较,确定深度图像是否包括对应于例如诸如以上参考图3-4描述的用户302等用户的人类目标。然后可以隔离并扫描匹配图案的经泛色填充的目标或对象以确定包括例如对各身体部位的度量的各个值。根据一示例实施例,然后可基于该扫描来生成模型,诸如骨架模型、网格模型等。例如,根据一个实施例,可通过扫描来确定的度量值可被存储在可用于定义模型中的一个或多个关节的一个或多个数据结构中。可以使用一个或多个关节来定义可以对应于人类的身体部位的一个或多个骨骼。
继续图6的描述,模型600可包括可将例如人类目标表示为三维模型的一个或多个数据结构。每个身体部位可被表征为定义模型600的节点和互连的数学矢量。如图6所示,模型600可包括一个或多个节点,诸如关节j1-j18。根据一示例实施例,关节j1-j18中的每一个可使得在这些关节之间定义的一个或多个身体部位能相对于一个或多个其他身体部位移动。例如,表示人类目标的模型可包括多个刚性和/或可变形身体部位,这些身体部位由一个或多个诸如“骨骼”等结构件来定义,而关节j1-j18位于毗邻骨骼的交叉点处。关节j1-18可使得与骨骼和关节j1-j18相关联的各个身体部位能够彼此独立地移动。例如,如图6中所示的,在关节j7与j11之间定义的骨骼可对应于前臂,该前臂可独立于例如在关节j15与j17之间定义的骨骼(可对应于小腿)而移动。
如上所述,每一个身体部位都可被表征为具有定义图6所示的关节和骨骼的X值、Y值和Z值的数学矢量。在一示例实施例中,与图6所示的骨骼相关联的矢量的相交可定义与关节j1-j18相关联的相应点。
通常,目标识别、分析和跟踪系统300从用户捕捉移动,该移动可用于调节模型。例如,诸如以上描述的捕捉设备306等捕捉设备可以捕捉可用于调整模型的场景的多个图像,如深度图像、RGB图像等。根据一实施例,可基于所定义的频率来观察或捕捉每一图像。例如,捕捉设备可每毫秒、每微秒等观察或捕捉一次场景的新图像。在接收到每一图像后,可将与特定图像相关联的信息与和模型相关联的信息进行比较来确定用户是否已经执行了移动。例如,在一个实施例中,该模型可被光栅化成诸如合成深度图像等合成图像。合成图像中的像素可以与和每一接收到的图像中的人类目标相关联的像素进行比较来确定所接收的图像中的人类目标是否已移动。
根据一示例实施例,可以基于在合成图像和所接收的图像之间比较的像素来计算一个或多个力矢量。可向诸如该模型的关节等一个或多个受力方面施加或映射一个或多个力,来将该模型调整成更接近地对应于物理空间中的人类目标或用户姿态的姿态。例如,模型可以如上所述基于在各时间点接收到的深度图像中观测和捕捉到的在各个点处的用户移动或姿势来调节。在特定示例中,当用户抬起他或她的左臂时可捕捉图像。图像跟踪系统可应用一个或多个力矢量或调节该用户模型600来拟合用户的姿态。
图7示出了示例化身模型700,其可包括可将例如人类目标表示为三维模型的一个或多个数据结构。可由映射系统580通过将用户模型600的节点映射到化身模型700的节点上来生成化身模型700。在所描绘的实施例中,化身模型700可具有类似用户模型600的构架,然而,化身模型可具有与用户模型600略微不同的架构或节点分层结构。此外,化身模型700可具有比用户模型多的节点,或它可能比用户模型600更大或更小。在所描绘的示例中,化身模型更矮和更宽。与以上类似,每个身体部位可被表征为定义化身模型700的节点和互连的数学矢量。
可配置映射系统580来在应用560实时执行期间接收用户节点的位置,并将它们重新映射到化身节点。在一实施例中,化身模型700可具有根节点并且可在其与用户模块的根节点之间建立关系。例如,模型库570可包括定义在运行时要被使用的关系的信息。使用该关系,化身节点的位置可从用户节点的位置中计算出来。
图8A示出了用户模型600且图8B示出了可能已经从模型600中生成的化身模型700。例如,在图8A中,用户模型600可被生成为他或她左臂挥动。映射系统580可被用来调整用户模型600的大小以拟合,例如,图8B的更小的化身模型700。在一实施例中,例如,节点j12可以是末端效应物且其位置可被馈入反向运动学系统590。反向运动学系统590可确定j8的位置,使得化身模型摆出解剖学上可能的姿态并且仍然够得到末端效应物的位置。如图所述,在一些实施例中,由于化身700是不同大小的这一事实,化身700的姿态可能不匹配于用户模型600的姿态。例如,化身700的手臂可能比用户模型600的手臂更直以够到位置。
图9示出了可能从化身模型700动画化得到的化身或游戏人物900的一示例实施例。如图9所示,可对化身或游戏人物700动画化来模拟对以上所描述的所跟踪的模型600捕捉的挥手运动。例如,图8A和8B中所示模型600的关节j8和j12以及它们之间定义的骨骼可被映射到左肘关节j8′和左手腕关节j12′。化身或游戏人物900可接着被动画化为姿态902。
以下是描绘过程实现的一系列流程图。为便于理解,流程图被组织成使得初始流程图通过总体“大图”视点来演示各实现,并且后续的流程图提供进一步的附加物和/或细节。此外,本领域的技术人员可以理解,虚线所描绘的操作流程被认为是任选的。
图10它示出了用于实施本发明的各方面的操作过程,包括操作1000、1002,和1004。如图所示,操作1000启动操作过程,并且操作1002示出在应用实时执行期间接收化身末端效应物的位置,化身末端效应物被设置到使用用户末端效应物计算所得的位置,用户末端效应物的位置先前从用户的图像生成。例如,转向图5,在本发明的一实施例中,从用户的图像生成的数据,例如,用户模型600,可被用来在诸如视频游戏的应用560执行期间,生成化身末端效应物的位置。例如,计算环境304可包括映射系统580,其可被用来例如,将根节点用作基准点,将节点从用户模型600映射到化身模型700。数据结构中的每个节点可具有可以是例如与其父的偏移(包括长度值、垂直角度,和水平角度)的位置。在另一实施例中,每个节点可以具有空间内的地理坐标,例如X值、Y值,和Z值。在此示例实施例中,映射系统580可接收标识用户的末端效应物的位置的信息。
在一实施例中,用户末端效应物的位置可从存储在计算环境304的存储器RAM、ROM中的图像生成。在该实施例中,捕捉设备306可使用照相机组件502捕捉用户302的图像。该图像可被用来使用上述技术生成用户模型600。
继续对图10的描述,操作1004示出了在应用的实时执行期间,确定化身模型关节的位置以获得化身模型的解剖学上可能的姿态,化身模型关节的位置至少从化身末端效应物的位置确定。例如,继续上述示例,一旦映射系统580获取应用空间中的末端效应物的位置,该位置可被馈送到反向运动学系统190。反向运动学系统590可被配置为使用上述技术确定考虑末端效应物的位置的化身的姿态。
在一实施例中,反向运动学系统590可使用定义可由各节点执行的移动的信息来确定模型的解剖学上可能的姿态。例如,代表肘的节点可与定义在该节点可能的两个移动的信息相关联:类似铰链的弯曲和伸直,以及将前臂翻转的移动。反向运动学系统590可使用此信息来生成基于此信息有效的节点的位置,并允许末端效应物够到所希望的位置。
现在转向图11,其示出图10的操作过程的替换实施例,包括操作1106-1118。现在转到操作1106,它示出了确定特定化身模型关节的方向以至少逼近用户关节的方向,用户关节的方向从由用户图像生成的数据获得。例如,在一实施例中,用户模型600可被生成并存储在存储器中。在此示例中,用户模型600可具有标识出末端效应物以外的节点的位置的信息。例如,末端效应物可以是手,且用户模型可能具有代表用户的肘和用户的肩的节点的位置信息。映射系统580可被执行并且这些附加节点的坐标可被变换为化身模型700的位置。这些位置,以及末端效应物的位置可接着被发送到反向运动学系统590。反向运动学系统590可接着确定考虑关于其他节点的位置信息的化身模型700的姿态。在此示例中,反向运动学系统590可被区分优先级以正确地定位末端效应物,并尝试匹配任何其它节点的方向,无需移动末端效应物。因此,在一些示例实施例中,反向运动学系统590能够准确放置节点以模拟用户的方向,或可将节点放置为逼近用户的方向。
继续图11的描述,操作1108示出了从用户的图像生成用户模型,用户模型包括用户末端效应物的位置。例如,在该实施例中,可使用上面结合图5和6描述的技术生成用户模型。在此示例实施例中,用户模型600可包括可通过互连(例如骨骼)连接的节点,例如,末端效应物和多个关节。
转向操作1110,它示出了生成动画流,动画流包括模型关节的位置和末端效应物的位置;并将动画流发送到图形处理器。例如,在一实施例中,化身模型700可被用来生成动画流。在该示例中,动画流可被变换为,例如,图元并发送到图形处理器。图形处理器可接着执行该图元,使用化身模型呈现存储器中游戏中的人物,并接着将指示已呈现的人物的信息发到视听设备320。
继续图11的描述,操作1112示出了一实施例,其中确定化身模型关节的位置包括,但不限于,确定特定化身模型关节与特定用户关节不相关联,其中在数据不包括特定用户关节的位置信息时特定化身模型关节与特定用户关节不相关联;并将特定化身模型关节的位置设置为逼近默认位置。例如,在一实施例中,信息可被存储在定义化身模型的默认姿态和化身模型中的关节的位置信息的模型库570中。例如,可将化身模型与定义形成类似“T”的姿态的关节的位置的信息相关联。模型库570也可能包括各其他姿态,诸如奔跑或走路姿态或示出化身握住物体的姿态。在该示例中,可向反向运动学系统590馈送末端效应物的位置以及被捕捉的任何关节的位置。反向运动学系统590也可接收定义了系统缺乏其位置信息的关节的默认位置的信息。例如,右膝可能是感兴趣的关节,然而已捕捉的图像可能不具有右膝的任何信息或者因各种原因信息不可用。在此示例中,默认位置信息可由反向运动学系统590使用,来生成考虑默认位置的化身模型的姿态。
在此示例中,可由映射系统580基于用户模型600和模型库570中的模型之间的比较来选择默认位置。在该示例中,定义末端效应物和任何关节的已知位置的信息可与库比较,并可使用具有最佳拟合的默认模型。默认的关节位置可被发送到反向运动学系统590中用于任何未知用户关节。
在一示例实施例中,反向运动学系统590可被配置来使用优先级设定来确定如何摆化身模型的姿势。例如,末端效应物可与将它们标识为最高优先级的信息相关联。在此情况中,反向运动学系统590将对将末端效应物拟合到希望的点区分优先级。映射系统580具有关于其的信息的关节可被设置到低于末端效应物的优先级级别。在此情况中,反向运动学系统590可尝试将这些关节拟合到至少类似用户模型关节但是不与末端效应物的定位冲突的位置。最后,可以拟合没有信息被接收到的关节。在此情况中,反向运动学系统590将尝试将这些关节拟合到至少类似默认位置但是不与末端效应物的定位冲突的位置。
继续图11的描述,操作1114示出了在应用的执行期间,接收来自应用的对于化身模型的请求,并在应用的执行期间,从模型的库中选择化身模型。例如,在一实施例中,模型的类型可在应用被执行时从模型库570中加载。在该示例实施例中,应用可定义将要被使用模型的类型,例如似人的模型、马模型、龙模型等。映射系统580可接收定义将要被使用的模型的类型的请求,并从模型库570中选择化身模型。
映射系统580还可基于从应用给予它的参数调整化身模型的大小。例如,模型可以是某一大小,应用可请求大许多倍或小许多倍的模型。在此情况中,应用可指定所想要的大小并且映射系统580可适当缩放该模型。
操作1116示出了在特定用户关节和特定模型关节之间生成关系;并且生成将用户末端效应物耦合到用户关节以拟合化身模型的大小的互连。在一实施例中,映射系统580可包括将特定关节映射到模型的已知关节的信息。例如,每个模型可具有映射到用户膝盖、手腕、脚踝、肘部,或其他特定关节的节点。可在这些节点和化身模型700的节点之间建立关系。一旦关系被建立,可生成互连(例如,骨骼)来将模型中的各节点链接在一起。映射系统580可获得用户模型节点的位置,并且计算化身模型节点的位置。化身模型节点然后可被馈送到反向运动学系统590以生成模型的姿态。
继续图11的描述,操作1118示出了将用户末端效应物映射到具有与用户不同的骨架构造的化身模型。例如,在一实施例中,模型可具有不同于用户的骨架构造。在此示例中,化身模型可以不具有似人的骨架构造。例如,化身模型可具有半人马(部分人部分马的神话生物)的构造。因此,在该示例中,化身模型具有不同于人类的骨骼或关节。在该实施例中,映射系统580可包括定义人类的各节点和半人马的节点之间关系的信息。例如,人类的腿的节点可被映射到半人马的全部四条腿,而用户的手臂可被映射到半人马的手臂。
转向图12,它示出了包括操作1200-1214的操作过程。操作1200开始操作过程,并且操作1202示出执行视频游戏。例如,在一实施例中,应用160可以是视频游戏。该视频游戏可被配置来使用目标识别、分析和跟踪系统300来确定在游戏中如何动画化化身。
继续图12的描述,操作1204示出了基于从视频游戏接收的信息加载化身模型,该化身模型包括化身末端效应物和多个化身节点。例如,在一实施例中,化身模型可在视频游戏被执行时从模型库570中加载。在该示例实施例中,视频游戏可向计算环境304发送信号,指示它使用什么类型的化身模型,例如似人模型、马模型、龙模型等。映射系统580可接收定义将要被使用的模型的类型的请求,并从模型库570中选择模型。
映射系统580还可基于从视频游戏给予它的参数调整化身模型的大小。例如,化身模型可以是某一大小,应用可请求大许多倍或小许多倍的化身模型。在此情况中,应用可指定所想要的大小并且映射系统580可适当缩放该模型。
继续图12的描述,操作1206示出接收用户末端效应物的位置信息。例如,在一实施例中,捕捉设备306可使用上述技术捕捉用户302的图像,并且可从该图像生成用户模型。
模型中的每个节点可具有可以是例如与其父的偏移(包括长度值、垂直角度,和水平角度)的位置。在另一实施例中,每个节点可以具有空间内的地理坐标,例如X值、Y值,和Z值。在此示例实施例中,映射系统580可接收标识已由动画设计者选择的用户的末端效应物的位置的信息。例如,用户的3D模型可连同从基准点(例如根节点)延伸的坐标系统一起被存储在存储器中。末端效应物的位置可被跟踪且坐标可被存储在存储器中。
继续图12的描述,操作1208在视频游戏实时执行期间,确定化身末端效应物的位置,其中化身末端效应物的位置是使用用户末端效应物的位置信息来计算的。例如,映射系统580可被配置来在视频游戏实时执行期间,接收用户末端效应物的位置并将其重新映射到合适的化身末端效应物。例如,在一实施例中,化身可具有根节点,并且可使用化身的根节点和用户模型的根节点建立关系。使用该关系,化身末端效应物的位置可从用户末端效应物的位置中计算出来。在另一实施例中,其他节点的位置可被用来确定化身末端效应物的位置。例如,可获取末端效应物的父节点和祖父节点的位置信息,并且可在对应的父节点和祖父节点之间建立关系。使用该关系,化身末端效应物的位置可从用户末端效应物的位置中计算出来。
转到操作1210,它示出了接收用户末端效应物的第二位置信息。某点之后,例如5ms之后,或以捕捉设备可获取新图像且已更新模型可被生成的速度,照相机可捕捉用户302的图像并且映射系统580可接收标识用户的末端效应物的已更新位置的信息。例如,用户的3D模型可连同从基准点(例如根节点)延伸的坐标系统一起被存储在存储器中。末端效应物的第二位置可被跟踪且坐标可被存储在存储器中。
操作1212接着示出,在视频游戏实时执行期间,将化身末端效应物的位置更新到第二位置,其中化身末端效应物的位置使用用户末端效应物的第二位置信息来计算。例如,映射系统580可被配置来在视频游戏实时执行期间,接收用户末端效应物的已更新位置并更新合适的化身末端效应物的位置。
操作1214示出了,在视频游戏实时执行期间,确定化身节点的位置,以获得化身模型的解剖学上可能的姿态,其中姿态维持化身末端效应物的已更新位置。例如,末端效应物的已更新位置可被馈送到反向运动学系统590,且该系统可确定没有被动画设计者直接放置的化身节点(诸如关节和/或任何末端效应物)的位置。反向运动学系统590可被配置为使用上述技术确定与化身末端效应物的位置匹配的化身模型的姿态。例如,代表肘的节点可与定义在该节点可能的两个移动(类似铰链的弯曲和伸直,以及将前臂翻转的移动)的信息相关联。反向运动学系统590可使用此信息来生成基于此信息有效的节点的位置,并仍然允许末端效应物够到所希望的位置。因此,该示例中的末端效应物可被定位在正确位置,然而化身模型中的其他节点可能不需要反映用户模型的方向。
现在转向图13,其示出图12的操作过程的替换实施例,包括操作1316-1322。操作1316示出了由照相机捕捉用户的图像;生成包括用户末端效应物的用户模型;并从用户模型确定用户末端效应物的位置信息。例如,在一实施例中,捕捉设备306可用来捕捉图像。在该示例中,目标识别、分析和跟踪系统300可捕捉图像并用它生成用户模型600。用户模型600可被存储在存储器中,并且映射系统580可被执行来确定末端效应物的位置。
继续图13的描述,细化1318示出了在一实施例中,化身模型包括非人类化身模型。类似于上述,在一实施例中,化身可具有非似人骨架构造和/或不同节点分级结构,例如非似人构造可包括具有与人类相当的部位不同的运动范围的节点,或构造可具有以不同于似人的方式连接的更多或更少节点。例如,化身可以是有四条手臂和鳍的海怪。在该示例中,用户模型600上代表用户手臂的节点可被映射到四条手臂,映射到用户的腿的节点可被映射到鳍。在该示例中,由于用户腿的节点可以这样的方式映射到化身的鳍上:当用户提起放下他的腿时使得鳍向后向前。
继续图13的描述,操作1320示出将特定模型关节的方向设置为至少逼近用户关节的方向,用户关节的方向从所生成的用户模型确定。例如,在一实施例中,用户模型可被生成并存储在存储器中。在此示例中,用户模型可具有标识出末端效应物以外的节点的位置的信息。例如,末端效应物可以是手,且用户模型可能具有代表用户的肘和用户的肩的节点的位置信息。映射系统580可被执行并且这些附加节点的坐标可被变换为化身的位置。
继续图13的描述,操作1322示出了从化身模型生成动画流;并将动画流与预定义的动画混合。例如,在一实施例中,化身模型700可被用来生成动画流。动画设计者可将预定义的动画添加到动画流,以向动画添加附加效果。例如,预定义动画可包括呼吸动画。动画可与化身混合使得在呈现时化身显得在呼吸。一旦动画流最终确定,其可被变换为,例如,图元并发送到图形处理器。图形处理器可接着执行该图元,呈现存储器中的化身,并且已呈现的化身可被发送到监视器。
现在转向图14,它示出了包括操作1400-1410的操作过程。操作1400开始过程,且操作1402示出从图像生成用户模型,其中用户模型包括用户末端效应物。例如,在一实施例中,图5的目标识别、分析和跟踪系统300可被用来捕捉图像。在该示例中,目标识别、分析和跟踪系统300可捕捉图像并用它生成用户模型600。用户模型600可被存储在存储器中,并且映射系统580可被执行来确定末端效应物的位置。
数据结构中的每个节点可具有可以是例如与其父的偏移(包括长度值、垂直角度,和水平角度)的位置。在另一实施例中,每个节点可以具有空间内的地理坐标,例如X值、Y值和Z值。在此示例实施例中,映射系统580可接收标识已由动画设计者选择的用户的末端效应物的位置的信息。例如,用户的3D模型可连同从基准点(例如根节点)延伸的坐标系统一起被存储在存储器中。末端效应物的位置可被跟踪且坐标可被存储在存储器中。
继续图14的描述,操作1404示出了在应用运行时执行期间,将用户末端效应物映射到化身模型。例如,可配置映射系统580来在应用560实时执行期间接收用户末端效应物的位置,并将它们重新映射到化身末端效应物。例如,在一实施例中,化身模型700可具有根节点,并且可使用化身的根节点和用户模型的根节点建立关系。类似于上面结合图5和6的描述,使用该关系,可从用户末端效应物的位置计算化身末端效应物的位置。
继续图14的描述,操作1406示出了在应用运行时执行期间,设置化身关节的位置以获得模型的解剖学上可能的姿态。例如,末端效应物的位置可被馈送到反向运动学系统590,且该系统可确定没有被动画设计者直接放置的化身节点(诸如关节和/或任何末端效应物)的位置。反向运动学系统590可被配置为使用上述技术来确定与化身末端效应物的位置匹配的模型的姿态。反向运动学系统590可使用此信息来生成基于此信息有效的节点的位置,并仍然允许末端效应物够到所希望的位置。因此,该示例中的末端效应物可被定位在正确位置,然而化身模型中的其他节点可能不需要反映用户模型的方向。
继续图14的描述,操作1408示出了在应用的运行时执行期间,基于对用户模型的改变来修改化身末端效应物的位置和化身关节。例如,映射系统580可被配置来接收用户模型末端效应物的已更新位置信息,且反向运动学系统590可被配置为基于对用户模型的改变来生成关节的已更新位置。在一实施例中,用户模型可例如,每5ms或以捕捉设备可获取新图像且已更新模型可被生成的速度发生改变。在该示例中,执行环境12可被配置为基于对用户模型的改变来修改化身。
现在转向图15,其示出操作过程1400的替换实施例,包括操作1510-1520。例如,操作1410示出将特定化身关节的方向设置为逼近用户关节的方向,用户关节的方向从用户模型中获得。例如,在一实施例中,用户模型可被生成并存储在存储器中。在此示例中,用户模型可具有标识出末端效应物以外的节点的位置的信息。例如,末端效应物可以是手,且用户模型可能具有代表用户的肘和用户的肩的节点的位置信息。映射系统580可被执行并且这些附加节点的坐标可被变换为化身模型的位置。这一个或多个位置,以及末端效应物的位置可接着被发送到反向运动学系统190。反向运动学系统590可被执行,并且可以确定考虑关于其他节点的位置信息的化身的姿态。在此示例中,反向运动学系统590可被区分优先级以正确地定位末端效应物,并尝试匹配节点的方向,无需移动末端效应物。因此,在一些示例实施例中,反向运动学系统590能够准确放置节点或可将节点放置为逼近用户的方向。
继续图15的描述,操作1512示出了从化身模型生成动画流;并将动画流与预定义的动画混合。例如,在一实施例中,化身模型可被用来生成动画流。动画设计者可将预定义的动画添加到动画流,以向动画添加附加效果。例如,预定义动画可包括呼吸动画。动画可与化身模型混合使得在呈现时化身显得在呼吸。一旦动画流最终确定,其可被变换为,例如,图元并发送到图形处理器。图形处理器可接着执行该图元,呈现存储器中的化身,并且已呈现的化身可被发送到监视器。
转到操作1514,其示出了确定特定化身关节与特定用户关节不相关联,其中当用户模型不包括特定用户关节的位置信息时特定化身关节不与特定用户关节相关联;并将特定化身关节设置到默认位置。例如,在一实施例中,信息可被存储在定义化身模型的默认姿态和化身模型中的关节的位置信息的模型库570中。例如,可将化身模型与定义形成类似“T”的姿态的关节的位置的信息相关联。模型库570也可包括各其他姿态,诸如奔跑或走路姿态或握住某些普通物体的姿态。在该示例中,可向反向运动学系统590馈送末端效应物的位置以及被捕捉的任何关节的位置。反向运动学系统590也可接收定义了系统缺乏其位置信息的关节的默认位置的信息。例如,右膝可能是感兴趣的关节,然而已捕捉的图像可能不具有右膝的任何信息或者因各种原因信息不可用。在此示例中,默认位置信息可由反向运动学系统590使用,来生成考虑默认位置的模型的姿态。
在此示例中,可由映射系统580基于用户模型600和模型库570中的模型之间的比较来选择默认位置。在该示例中,定义末端效应物和任何关节的已知位置的信息可与库比较,并可使用具有最佳拟合的默认模型。默认的关节位置可被发送到反向运动学系统590中用于任何未知用户关节。
在一示例实施例中,反向运动学系统590可被配置来使用优先级设定来确定如何摆化身模型的姿势。例如,末端效应物可与将它们标识为最高优先级的信息相关联。在此情况中,反向运动学系统590将对将末端效应物拟合到希望的点区分优先级。映射系统580具有关于其的信息的关节可被设置到低于末端效应物的优先级级别。在此情况中,反向运动学系统590可尝试拟合这些关节,或如果这样做将改变任何末端效应物的位置则不拟合这些关节。最后,可以拟合没有信息被接收到的关节。在此情况中,反向运动学系统590将尝试拟合这些关节,但将不改变任何末端效应物或系统具有位置信息的任何关节的位置。
继续图15的描述,操作1516示出接收定义由应用使用的化身类型的信息;并在应用执行期间,基于定义由应用使用的化身类型的信息从化身模型的库中选择化身模型。例如,在一实施例中,化身模型可在应用被执行时从模型库570中加载。在该示例实施例中,应用可请求模型,例如似人模型、马模型、龙模型等。映射系统580可接收定义将要被使用的模型的类型的请求,并可从模型库570中选择模型。
映射系统580还可基于从应用给予它的参数调整模型的大小。例如,模型可以是某一大小,应用可请求大许多倍或小许多倍的模型。在此情况中,应用可指定所想要的大小并且映射系统580可适当缩放该模型。
继续图15的描述,操作1518示出调整将用户末端效应物耦合到关节的互连的大小,以拟合化身模型的大小。在一实施例中,映射系统580可包括将特定关节映射到模型的已知关节的信息。例如,每个模型可具有映射到用户膝盖、手腕、脚踝、肘部,或其他特定关节的节点。可在这些节点和用户模型600的节点之间建立关系。一旦在用户模型600的节点和化身模型700中的节点之间建立关系,例如骨骼的互连可被生成以将化身700中的各种节点链接在一起。在这一点上,映射系统580可获得用户模型节点的位置,并且计算化身模型节点的位置。化身模型节点然后可被馈送到反向运动学系统590以生成模型的姿态。
继续图15的描述,操作1520示出了将用户末端效应物映射到具有与用户模型不同的骨架构造的化身模型。类似于上述,在一实施例中,化身可具有非似人骨架构造和/或不同节点分级结构,例如非似人构造可包括具有与人类相当的部位不同的运动范围的节点,或构造可具有以不同于似人的方式连接的更多或更少节点。
上述详细描述通过示例和/或操作图阐明了系统和/或过程的各种实施例。就这些框图和/或示例包含一个或多个功能和/或操作而言,本领域技术人员将理解,这些框图或示例中的每一功能和/或操作都可由各种各样的硬件、软件、固件、或实际上其任意组合来单独地和/或共同地实现。
尽管示出和描述了此处所描述的本主题的特定方面,但是,对于本领域的技术人员显而易见的是,基于此处的原理,在不偏离此处所描述的主题以及其广泛的方面的情况下,可以作出更改和修改,因此,所附权利要求书将包含在它们的范围内,所有这样的更改和修改都将在此处所描述的主题的真正的精神和范围内。

Claims (15)

1.一种系统,包括:
用于在应用的实时执行期间接收化身末端效应物(图7的j1,j11,j12,j17,或j18)的位置的电路(304),所述化身末端效应物(图7的j1,j11,j12,j17,或j18)被设置到使用用户末端效应物(图6的j1,j11,j12,j17,或j18)所计算的位置,所述用户末端效应物(图6的j1,j11,j12,j17,或j18)的位置是从先前用户的图像中生成的;以及
用于在应用的实时执行期间确定化身模型关节(图7的j2-j10和j13-j16)的位置以获取化身模型(702)的解剖学上可能的姿态的电路(590),所述化身模型关节(图7的j2-j10和j13-j16)的位置至少从所述化身末端效应物(图7的j1,j11,j12,j17,或j18)的位置来确定。
2.如权利要求1所述的系统,其特征在于,所述用于确定化身模型关节的位置的电路还包括:
用于确定特定化身模型关节的方向以至少逼近用户关节的方向的电路,所述用户关节的方向从由用户图像生成的数据获得。
3.如权利要求1所述的系统,其特征在于,还包括:
用于从用户的图像生成用户模型的电路,所述用户模型包括所述用户末端效应物的位置。
4.如权利要求1所述的系统,其特征在于,还包括:
用于生成动画流的电路,所述动画流包括所述化身模型关节的位置和所述末端效应物的位置;以及
用于将所述动画流发送到图形处理器的电路。
5.如权利要求1所述的系统,其特征在于,所述用于确定化身模型关节的位置的电路还包括:
用于确定特定化身模型关节与特定用户关节不相关联的电路,其中在数据不包括特定用户关节的位置信息时特定化身模型关节与特定用户关节不相关联;以及
用于将特定化身模型关节的位置设置为逼近默认位置的电路。
6.如权利要求1所述的系统,其特征在于,还包括:
用于在应用执行期间从所述应用接收对化身模型的请求的电路;以及
用于在应用执行期间从模型的库选择化身模型的电路。
7.如权利要求1所述的系统,其特征在于,还包括:
用于生成特定用户关节和特定模型关节之间的关系的电路;以及
用于生成将用户末端效应物与用户关节耦合的互连以拟合所述化身模型的大小的电路。
8.如权利要求1所述的系统,其特征在于,还包括:
用于将用户末端效应物映射到具有与所述用户不同的骨架构造的化身模型的电路。
9.如权利要求1所述的系统,其特征在于,还包括:
用于生成包括用户末端效应物的用户模型的电路;以及
用于从所述用户模型确定所述用户末端效应物的位置的电路。
10.如权利要求1所述的系统,其特征在于,所述化身模型包括非人类化身模型。
11.如权利要求1所述的系统,其特征在于,还包括:
用于接收定义由应用使用的化身类型的信息的电路;以及
用于在应用执行期间基于定义了由应用使用的化身类型的信息从化身模型的库中选择化身模型的电路。
12.如权利要求1所述的系统,其特征在于,还包括:
用于调整将用户末端效应物与关节耦合的互连的大小以拟合所述化身模型的大小的电路。
13.如权利要求1所述的系统,还包括:
用于将用户末端效应物映射到具有与所述用户模型不同的骨架构造的化身模型的电路。
14.一种方法,包括:
执行视频游戏(304);
基于从所述视频游戏接收的信息加载化身模型(570),所述化身模型(700)包括化身末端效应物(图7的j1)和多个化身关节(图7的j2-j10和j13-j16);
接收用户末端效应物(图6的j1)的位置信息;
在所述视频游戏实时执行期间,确定化身末端效应物(图7的j1)的位置,其中所述化身末端效应物(图7的j1)的位置使用用户末端效应物(图6的j1)的位置信息来计算;
接收所述用户末端效应物(图6的j1)的第二位置信息;
在所述视频游戏实时执行期间,将化身末端效应物(图7的j1)的位置更新到第二位置,其中化身末端效应物(图7的j1)的位置使用所述用户末端效应物(图6的j1)的第二位置信息来计算;以及
在所述视频游戏实时执行期间,确定所述化身关节(图7的j2-j10和j13-j16)的位置以获取所述化身模型(700)的解剖学上可能的姿态,其中所述姿态维持所述化身末端效应物(图7的j1)的已更新位置。
15.根据权利要求14所述的方法,其特征在于,还包括:
将特定模型关节的方向设置为至少逼近用户关节的方向,所述用户关节的方向从已生成的用户模型中确定。
CN201080024688.7A 2009-05-29 2010-05-26 将骨架数据实时重新定标到游戏化身的系统和方法 Expired - Fee Related CN102448565B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18250509P 2009-05-29 2009-05-29
US61/182,505 2009-05-29
US12/548,251 US20100302253A1 (en) 2009-05-29 2009-08-26 Real time retargeting of skeletal data to game avatar
US12/548,251 2009-08-26
PCT/US2010/036192 WO2010138582A2 (en) 2009-05-29 2010-05-26 Real time retargeting of skeletal data to game avatar

Publications (2)

Publication Number Publication Date
CN102448565A true CN102448565A (zh) 2012-05-09
CN102448565B CN102448565B (zh) 2014-09-17

Family

ID=43219710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080024688.7A Expired - Fee Related CN102448565B (zh) 2009-05-29 2010-05-26 将骨架数据实时重新定标到游戏化身的系统和方法

Country Status (8)

Country Link
US (1) US20100302253A1 (zh)
EP (1) EP2435148A4 (zh)
JP (1) JP5639646B2 (zh)
KR (1) KR20120020138A (zh)
CN (1) CN102448565B (zh)
BR (1) BRPI1014402A2 (zh)
RU (1) RU2011148374A (zh)
WO (1) WO2010138582A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105056524A (zh) * 2015-07-16 2015-11-18 王正豪 一种网游角色控制互动实现方法
CN105338369A (zh) * 2015-10-28 2016-02-17 北京七维视觉科技有限公司 一种在视频中实时合成动画的方法和装置
CN108389247A (zh) * 2017-02-03 2018-08-10 索尼公司 用于生成真实的带绑定三维模型动画的装置和方法
WO2019242454A1 (zh) * 2018-06-21 2019-12-26 华为技术有限公司 一种物体建模运动方法、装置与设备
WO2020063758A1 (en) * 2018-09-26 2020-04-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Game Picture Display Method and Apparatus, Storage Medium and Electronic Device
CN111494911A (zh) * 2020-04-21 2020-08-07 江苏省人民医院(南京医科大学第一附属医院) 一种基于激光式动作捕捉系统的传统功法评估系统
CN112802163A (zh) * 2021-02-03 2021-05-14 网易(杭州)网络有限公司 游戏中的动画调整方法、装置以及电子终端

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8599206B2 (en) * 2010-05-25 2013-12-03 Disney Enterprises, Inc. Systems and methods for animating non-humanoid characters with human motion data
US20120117514A1 (en) * 2010-11-04 2012-05-10 Microsoft Corporation Three-Dimensional User Interaction
US8722657B2 (en) 2010-11-23 2014-05-13 Abbvie Inc. Salts and crystalline forms of an apoptosis-inducing agent
CN106943743B (zh) * 2011-02-11 2024-04-26 漳州市阿思星谷电子科技有限公司 一种人机互动控制方法
US9259643B2 (en) 2011-04-28 2016-02-16 Microsoft Technology Licensing, Llc Control of separate computer game elements
US8702507B2 (en) 2011-04-28 2014-04-22 Microsoft Corporation Manual and camera-based avatar control
US9724600B2 (en) * 2011-06-06 2017-08-08 Microsoft Technology Licensing, Llc Controlling objects in a virtual environment
US9628843B2 (en) * 2011-11-21 2017-04-18 Microsoft Technology Licensing, Llc Methods for controlling electronic devices using gestures
ES2661377T3 (es) 2012-09-26 2018-03-28 Children's National Medical Center Herramienta de ligadura para anastomosis con clip de medio lazo
JP2014068714A (ja) * 2012-09-28 2014-04-21 Kitasato Institute 関節角度測定システム
WO2014131197A1 (en) * 2013-03-01 2014-09-04 Microsoft Corporation Object creation using body gestures
EP3068301A4 (en) 2013-11-12 2017-07-12 Highland Instruments, Inc. Analysis suite
US9536138B2 (en) 2014-06-27 2017-01-03 Microsoft Technology Licensing, Llc Dynamic remapping of components of a virtual skeleton
US20160110044A1 (en) * 2014-10-20 2016-04-21 Microsoft Corporation Profile-driven avatar sessions
US10973440B1 (en) * 2014-10-26 2021-04-13 David Martin Mobile control using gait velocity
US20170193289A1 (en) * 2015-12-31 2017-07-06 Microsoft Technology Licensing, Llc Transform lightweight skeleton and using inverse kinematics to produce articulate skeleton
JP6756236B2 (ja) 2016-10-31 2020-09-16 富士通株式会社 アクション指示プログラム、アクション指示方法及び画像生成装置
CN107050848B (zh) * 2016-12-09 2021-06-15 深圳市元征科技股份有限公司 基于体域网的体感游戏实现方法以及装置
CA3045908A1 (en) * 2016-12-13 2018-06-21 DeepMotion, Inc. Improved virtual reality system using multiple force arrays for a solver
JP7389032B2 (ja) 2017-12-14 2023-11-29 マジック リープ, インコーポレイテッド 仮想アバタのコンテキストベースのレンダリング
JP6506443B1 (ja) * 2018-04-27 2019-04-24 株式会社 ディー・エヌ・エー 画像生成装置及び画像生成プログラム
JP2022500795A (ja) * 2018-07-04 2022-01-04 ウェブ アシスタンツ ゲーエムベーハー アバターアニメーション
JP7196487B2 (ja) * 2018-09-19 2022-12-27 大日本印刷株式会社 コンテンツ作成装置
US10984575B2 (en) 2019-02-06 2021-04-20 Snap Inc. Body pose estimation
EP3953857A4 (en) * 2019-04-12 2022-11-16 INTEL Corporation TECHNOLOGY TO AUTOMATICALLY IDENTIFY THE FRONT BODY ORIENTATION OF INDIVIDUALS IN REAL-TIME MULTICAMERA VIDEO STREAMS
US11420331B2 (en) * 2019-07-03 2022-08-23 Honda Motor Co., Ltd. Motion retargeting control for human-robot interaction
JP2021016547A (ja) 2019-07-19 2021-02-15 株式会社スクウェア・エニックス プログラム、記録媒体、物体検出装置、物体検出方法及び物体検出システム
US11321891B2 (en) * 2020-04-29 2022-05-03 Htc Corporation Method for generating action according to audio signal and electronic device
US11615592B2 (en) 2020-10-27 2023-03-28 Snap Inc. Side-by-side character animation from realtime 3D body motion capture
US11660022B2 (en) 2020-10-27 2023-05-30 Snap Inc. Adaptive skeletal joint smoothing
US11748931B2 (en) 2020-11-18 2023-09-05 Snap Inc. Body animation sharing and remixing
US11734894B2 (en) * 2020-11-18 2023-08-22 Snap Inc. Real-time motion transfer for prosthetic limbs
CN114742984B (zh) * 2022-04-14 2023-04-21 北京数字冰雹信息技术有限公司 一种动态三维模型的编辑方法及装置
US20240233268A9 (en) * 2022-10-19 2024-07-11 Qualcomm Incorporated Virtual representation encoding in scene descriptions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020135581A1 (en) * 2001-03-26 2002-09-26 Russell Ryan S. Method and system for controlling an avatar using computer vision
US20040046736A1 (en) * 1997-08-22 2004-03-11 Pryor Timothy R. Novel man machine interfaces and applications
US20050031166A1 (en) * 2003-05-29 2005-02-10 Kikuo Fujimura Visual tracking using depth data
CN1764931A (zh) * 2003-02-11 2006-04-26 索尼电脑娱乐公司 实时运动捕捉的方法和设备
JP2006185109A (ja) * 2004-12-27 2006-07-13 Hitachi Ltd 画像計測装置及び画像計測方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09330424A (ja) * 1996-06-07 1997-12-22 Matsushita Electric Ind Co Ltd 3次元骨格構造の動き変換装置
JP4169222B2 (ja) * 1998-04-24 2008-10-22 株式会社バンダイナムコゲームス 画像生成装置及び情報記憶媒体
JP4704622B2 (ja) * 2001-07-30 2011-06-15 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP3866168B2 (ja) * 2002-07-31 2007-01-10 独立行政法人科学技術振興機構 多重構造を用いた動作生成システム
US20070098250A1 (en) * 2003-05-01 2007-05-03 Delta Dansk Elektronik, Lys Og Akustik Man-machine interface based on 3-D positions of the human body
US20050215319A1 (en) * 2004-03-23 2005-09-29 Harmonix Music Systems, Inc. Method and apparatus for controlling a three-dimensional character in a three-dimensional gaming environment
US20060139355A1 (en) * 2004-12-27 2006-06-29 Seyoon Tak Physically based motion retargeting filter
US7573477B2 (en) * 2005-06-17 2009-08-11 Honda Motor Co., Ltd. System and method for activation-driven muscle deformations for existing character motion
US7995065B2 (en) * 2005-09-23 2011-08-09 Samsung Electronics Co., Ltd. Animation reproducing apparatus and method
US7859540B2 (en) * 2005-12-22 2010-12-28 Honda Motor Co., Ltd. Reconstruction, retargetting, tracking, and estimation of motion for articulated systems
WO2008151421A1 (en) * 2007-06-11 2008-12-18 Darwin Dimensions Inc. User defined characteristics for inheritance based avatar generation
WO2008151424A1 (en) * 2007-06-11 2008-12-18 Darwin Dimensions Inc. Metadata for avatar generation in virtual environments
US7872653B2 (en) * 2007-06-18 2011-01-18 Microsoft Corporation Mesh puppetry
US8615383B2 (en) * 2008-01-18 2013-12-24 Lockheed Martin Corporation Immersive collaborative environment using motion capture, head mounted display, and cave

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040046736A1 (en) * 1997-08-22 2004-03-11 Pryor Timothy R. Novel man machine interfaces and applications
US20020135581A1 (en) * 2001-03-26 2002-09-26 Russell Ryan S. Method and system for controlling an avatar using computer vision
CN1764931A (zh) * 2003-02-11 2006-04-26 索尼电脑娱乐公司 实时运动捕捉的方法和设备
US20050031166A1 (en) * 2003-05-29 2005-02-10 Kikuo Fujimura Visual tracking using depth data
JP2006185109A (ja) * 2004-12-27 2006-07-13 Hitachi Ltd 画像計測装置及び画像計測方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105056524A (zh) * 2015-07-16 2015-11-18 王正豪 一种网游角色控制互动实现方法
CN105338369A (zh) * 2015-10-28 2016-02-17 北京七维视觉科技有限公司 一种在视频中实时合成动画的方法和装置
CN108389247A (zh) * 2017-02-03 2018-08-10 索尼公司 用于生成真实的带绑定三维模型动画的装置和方法
WO2019242454A1 (zh) * 2018-06-21 2019-12-26 华为技术有限公司 一种物体建模运动方法、装置与设备
US11436802B2 (en) 2018-06-21 2022-09-06 Huawei Technologies Co., Ltd. Object modeling and movement method and apparatus, and device
WO2020063758A1 (en) * 2018-09-26 2020-04-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Game Picture Display Method and Apparatus, Storage Medium and Electronic Device
CN111494911A (zh) * 2020-04-21 2020-08-07 江苏省人民医院(南京医科大学第一附属医院) 一种基于激光式动作捕捉系统的传统功法评估系统
CN112802163A (zh) * 2021-02-03 2021-05-14 网易(杭州)网络有限公司 游戏中的动画调整方法、装置以及电子终端
CN112802163B (zh) * 2021-02-03 2023-09-15 网易(杭州)网络有限公司 游戏中的动画调整方法、装置以及电子终端

Also Published As

Publication number Publication date
WO2010138582A2 (en) 2010-12-02
US20100302253A1 (en) 2010-12-02
RU2011148374A (ru) 2013-06-10
CN102448565B (zh) 2014-09-17
BRPI1014402A2 (pt) 2016-04-05
JP5639646B2 (ja) 2014-12-10
WO2010138582A3 (en) 2011-02-24
KR20120020138A (ko) 2012-03-07
JP2012528398A (ja) 2012-11-12
EP2435148A2 (en) 2012-04-04
EP2435148A4 (en) 2017-09-06

Similar Documents

Publication Publication Date Title
CN102448565B (zh) 将骨架数据实时重新定标到游戏化身的系统和方法
CN102665838B (zh) 用于确定和跟踪目标的肢端的方法和系统
CN102596340B (zh) 用于将动画或运动应用到角色的系统和方法
CN102549619B (zh) 人类跟踪系统
CN102576466B (zh) 用于跟踪模型的系统和方法
CN102448562B (zh) 用于跟踪模型的系统和方法
CN102413885B (zh) 用于对运动捕捉应用模型跟踪的系统和方法
US9972137B2 (en) Systems and methods for augmented reality preparation, processing, and application
CN102301398A (zh) 身体扫描
CN102129293B (zh) 在运动捕捉系统中跟踪用户组
CN102194105B (zh) 用于人体跟踪的代表训练数据
CN102414641B (zh) 改变显示环境内的视图视角
CN102193624B (zh) 用于基于姿势的用户界面的物理交互区
CN102135798B (zh) 仿生学运动
CN102129709A (zh) 可视化深度
CN102184009B (zh) 跟踪系统中的手位置后处理精炼
CN102448563B (zh) 用于处理场景的深度信息的方法和设备
CN103608844A (zh) 全自动动态关节连接的模型校准
CN102576463A (zh) 用于移除图像的背景的系统和方法
CN102741885A (zh) 装饰显示环境
CN102362293A (zh) 链接动画
CN102129152A (zh) 具有集成vcsel阵列的深度投影仪系统
CN102622774A (zh) 起居室电影创建
CN102591456B (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

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

Effective date of registration: 20150430

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140917

Termination date: 20180526

CF01 Termination of patent right due to non-payment of annual fee