CN102163077A - 使用碰撞体来捕捉屏幕对象 - Google Patents

使用碰撞体来捕捉屏幕对象 Download PDF

Info

Publication number
CN102163077A
CN102163077A CN2011100432707A CN201110043270A CN102163077A CN 102163077 A CN102163077 A CN 102163077A CN 2011100432707 A CN2011100432707 A CN 2011100432707A CN 201110043270 A CN201110043270 A CN 201110043270A CN 102163077 A CN102163077 A CN 102163077A
Authority
CN
China
Prior art keywords
collision body
user
definition
captured
collision
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
CN2011100432707A
Other languages
English (en)
Other versions
CN102163077B (zh
Inventor
P·托塞尔
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 CN102163077A publication Critical patent/CN102163077A/zh
Application granted granted Critical
Publication of CN102163077B publication Critical patent/CN102163077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • 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
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • 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
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • A63F2300/6054Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands by generating automatically game commands to assist the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/643Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

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

Abstract

本发明公开了使用碰撞体来捕捉屏幕对象的方法和装置。公开了一种用于向用户提供捕捉移动的屏幕对象时的误差余量,同时创建用户正在完全控制屏幕上活动的假象的系统。该系统可创建被附连到一个或多个捕捉对象且围绕该一个或多个捕捉对象的一个或多个“碰撞体”,这些碰撞体可用于捕捉移动的屏幕上目标对象。取决于移动的目标对象的矢量速度以及捕捉对象和目标对象之间的距离,和/或碰撞体的强度,目标对象的航线可被更改为拉向捕捉对象并由其捕捉。

Description

使用碰撞体来捕捉屏幕对象
技术领域
本发明设计运动捕捉系统,尤其设计运动捕捉系统中的屏幕对象捕捉。
背景技术
在过去,诸如计算机游戏和多媒体应用等计算应用程序使用控制命令来允许用户操纵游戏人物或应用的其他方面。通常,此类控制命令使用例如控制器、遥控器、键盘、鼠标等来输入。近来,计算机游戏和多媒体应用已开始使用照相机和软件姿势识别引擎来提供人机接口(“HCI”)。使用HCI,检测、解释用户移动和姿势并将其用于控制游戏人物或应用的其他方面。
在玩游戏和其他此类应用中,生成用户可用他或她的移动来控制的屏幕上玩家表示或化身。此类游戏或应用的一个常见方面是用户需要执行导致屏幕上化身与移动的虚拟对象接触并捕捉该虚拟对象的移动。常见的游戏示例包括接住移动的虚拟球,或在英式足球(英国的足球)中用用户的脚接触移动的球。给定物理的骨架跟踪的精确性质,以及在3D真实世界空间和虚拟2D屏幕空间的不同参考帧之间协调手眼动作的难度,在玩游戏期间在3D空间中执行导致化身捕捉虚拟的移动屏幕对象的运动是特别困难的。
发明内容
本发明的技术一般涉及向用户提供捕捉移动的屏幕对象时的误差余量,同时创建用户正在完全控制屏幕上的活动的假象的系统。本系统可创建附连到捕捉对象的一个或多个碰撞体(collision volume),这些碰撞体可用于捕捉移动的屏幕上目标对象。捕捉对象可以是身体部位,如手或脚,但不必如此。在各实施例中,取决于移动的目标对象的矢量速度以及捕捉对象和目标对象之间的距离,目标对象的航线可被更改为拉向捕捉对象并由其捕捉。由于屏幕上对象可能快速移动且航线纠正可能较小,因此对目标对象的航线的更改可能难以或不可能被用户感知。由此,看上去用户正确地执行了捕捉目标对象所需的移动。
在各实施例中,本发明的技术包括耦合到用于捕捉用户运动的捕捉设备的计算环境。使用该系统,该技术执行生成供用户使用第二虚拟对象来捕捉第一虚拟对象的误差余量的步骤,该第一虚拟对象在显示画面上移动。该方法包括以下步骤:在第二对象周围定义碰撞体,确定第一对象是否在碰撞体内经过,以及如果确定第一对象在碰撞体内经过,则调整第一对象的路径以便与第二对象碰撞。
在另一实施例中,该方法包括确定第一对象的速度和方向的步骤。该方法还至少部分地基于给定位置处第一对象和第二对象之间的距离以及第一对象在该给定位置处的速度来确定是否调整第一对象的路径以便与第二对象碰撞。此外,该方法包括如果确定至少速度与给定位置处第一和第二对象之间的距离之比超过了阈值比率,则调整第一对象的路径以便与第二对象碰撞。
在还有一个实施例中,该方法包括确定第一对象的速度和方向,以及基于以下各项来确定是否调整第一对象的路径以便与第二对象碰撞的步骤:i)第二对象和第一对象的给定位置之间的距离,ii)第一对象在给定位置处的速度,以及iii)由第一对象的移动路径和给定位置处第一和第二对象之间的线定义的参考角。此外,该方法包括如果确定速度和参考角的组合与给定位置处第一和第二对象之间的距离之比超过了阈值比率,则调整第一对象的路径以便与第二对象碰撞。
附图说明
图1示出了用户正在玩游戏的系统的示例实施例。
图2示出了可在本发明的技术的系统中使用的捕捉设备的示例实施例。
图3A示出了可在本发明的技术的系统中用于解释移动的计算环境的示例实施例。
图3B示出了可在本发明的技术的系统中用于解释移动的计算环境的另一示例实施例。
图4示出了从图2的系统生成的用户的骨架映射。
图5示出了用户试图捕捉移动对象。
图6示出了用于调整移动对象的方向以便被用户捕捉的碰撞体。
图7示出了用户捕捉对象。
图8是用于调整移动对象的方向以便被用户捕捉的碰撞体的替换实施例。
图9是根据本发明的技术的第一实施例的捕捉引擎的操作的流程图。
图10是根据本发明的技术的第二实施例的捕捉引擎的操作的流程图。
图11是根据本发明的技术的第三实施例的捕捉引擎的操作的流程图。
图12示出了粘附到不是用户身体的一部分的对象的碰撞体。
具体实施方式
现在将参考图1-12来描述本发明的技术的各实施例,本发明的技术一般涉及向用户提供捕捉移动的屏幕对象时的误差余量,同时创建用户正在完全控制屏幕上活动的假象的系统。在一个一般的实施例中,本系统可创建被附连到一个或多个捕捉对象且围绕该一个或多个捕捉对象的一个或多个“碰撞体”,这些碰撞体可用于捕捉移动的屏幕上目标对象。捕捉对象可以是身体部位,如手或脚,但不必如此。取决于移动的目标对象的矢量速度以及捕捉对象和目标对象之间的距离,目标对象的航线可被更改为拉向捕捉对象并由其捕捉。
在其他实施例中,该碰撞体可类似于捕捉对象周围的磁场,其具有从碰撞体的中心向外逐渐减小的吸引力。在此类实施例中,碰撞体在目标对象的给定位置处的强度也可影响对象的航线是否被调整以便被捕捉。
在以下描述的实施例的任一个中,屏幕上对象可能快速移动和/或航线纠正可能较小。由此,对目标对象的航线的任何更改可能难以或不可能被用户感知。由此,看上去用户正确地执行了捕捉目标对象所需的移动。
最初参考图1-2,用于实现本发明的技术的硬件包括可用于识别、分析和/或跟踪诸如用户18等的人类目标的系统10。系统10的各实施例包括用于执行游戏或其他应用的计算环境12,以及用于从游戏或其他应用提供音频和视觉表示的视听设备16。系统10还包括用于检测设备20捕捉的用户的移动和姿势的捕捉设备20,计算环境接收并使用该移动和姿势来控制游戏或其他应用。这些组件中的每一个都会在以下详细描述。
如图1所示,在一示例实施例中,在计算环境12上执行的应用可以是用户18可能正在玩的橄榄球(美式足球)游戏。例如,计算环境12可使用视听设备16来提供移动的球21的视觉表示。计算环境12还可使用视听设备16来提供用户18可通过他的或她的移动来控制的玩家化身14的视觉表示。用户18可在真实空间中作出移动,并且这些移动如下所述地由系统10来检测和解释,使得玩家化身14模仿用户的屏幕上移动。
例如,用户18可看见屏幕上移动的虚拟球21,且在真实空间中作出移动以将其化身的脚定位在球的路径中以便捕捉该球。如此处所使用的术语“捕捉”指的是例如球21等屏幕上目标对象接触到例如化身的脚等屏幕上捕捉对象。术语“捕捉”不具有时间方面。捕捉对象可捕捉目标对象,使得对象之间的接触持续不多于一个瞬间,或者对象可在捕捉时保持与彼此接触,直到发生某一其他动作来分开对象。
捕捉对象可以是各种身体部位的任一种,或者不是化身的身体的任何部位的对象。例如,用户18可以手持诸如球拍等对象,该对象可作为捕捉对象来对待。可以跟踪并利用玩家手持球拍的运动来控制电子运动游戏中的屏幕上球拍。各种各样的其他对象可被抓握、穿戴或以其他方式附连到用户的身体,这些对象可作为捕捉对象来对待。在其他实施例中,捕捉对象完全不需要与用户的身体相关联。作为以下参考图12描述的一个示例,篮圈可以是用于捕捉目标对象(例如,篮球)的捕捉对象。关于捕捉对象和目标对象的进一步细节在下文中解释。
图2示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20的示例实施例。关于与本发明的技术一起使用的捕捉设备的进一步细节在题为“Device For Identifying And Tracking Multiple Humans Over Time”(用于随时间标识和跟踪多个人的设备)的共同待审的专利申请第12/475,308号中有阐述,该申请通过整体引用结合于此。然而,在一示例实施例中,捕捉设备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还可包括话筒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中。
如图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,使得计算环境可跟踪骨架模型并呈现与该骨架模型相关联的化身。计算环境然后可在屏幕上将化身24显示为模仿用户18在真实空间中的移动。具体地,相机26、28和设备20以骨架模型及其相关联的移动的形式捕捉的真实空间数据可被转发到计算环境,计算环境解释骨架模型数据并在与用户18的位置相同的位置呈现化身24,且该化身具有与用户18相似的运动。尽管与本发明的技术不相关,但计算环境还可将某些用户位置或移动解释为姿势。具体地,计算环境12可接收用户移动或位置骨架数据,并将该数据与所存储的姿势库进行比较来确定用户移动或位置是否与预定义姿势相对应。如果是,则计算环境12执行与该姿势相关联地存储的动作。
图3A示出了可在系统10中用于解释位置和移动的计算环境的示例实施例。诸如以上参考图1A-2描述的计算环境12等计算环境可以是诸如游戏控制台等多媒体控制台100。如图3A所示,多媒体控制台100包括具有一级高速缓存102、二级高速缓存104和闪存ROM 106的中央处理单元(CPU)101。一级高速缓存102和二级高速缓存104临时存储数据并因此减少存储器访问周期数,由此改进处理速度和吞吐量。CPU 101可以设置成具有一个以上的核,以及由此的附加的一级和二级高速缓存102和104。闪存ROM 106可存储在多媒体控制台100通电时在引导过程的初始化阶段加载的可执行代码。
图形处理单元(GPU)108和视频编码器/视频编解码器(编码器/解码器)114形成用于高速、高分辨率图形处理的视频处理流水线。数据经由总线从GPU108输送到视频编码器/视频编解码器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内的电路。
CPU 101、GPU 108、存储器控制器110、和多媒体控制台100内的各个其它组件经由一条或多条总线互连,包括串行和并行总线、存储器总线、外围总线、和使用各种总线架构中任一种的处理器或局部总线。作为示例,这种架构可以包括外围部件互连(PCI)总线、PCI-Express总线等。
当多媒体控制台100通电时,应用程序数据可从系统存储器143加载到存储器112和/或高速缓存102、104中并在CPU 101上执行。应用可呈现在导航到多媒体控制台100上可用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中,媒体驱动器144中包含的应用和/或其他媒体可从媒体驱动器144启动或播放,以向多媒体控制台100提供附加功能。
多媒体控制台100可通过将该系统简单地连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看电影、或听音乐。然而,随着通过网络接口124或无线适配器148可用的宽带连接的集成,多媒体控制台100还可作为较大网络社区中的参与者来操作。
当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可以包括存储器保留(例如,16MB)、CPU和GPU周期(例如,5%)、网络带宽(例如,8kbs)等。因为这些资源是在系统引导时保留的,所以所保留的资源对应用而言是不存在的。
具体地,存储器保留较佳地足够大,以包含启动内核、并发系统应用和驱动程序。CPU保留较佳地为恒定,使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。
对于GPU保留,通过使用GPU中断来显示由系统应用生成的轻量消息(例如,弹出窗口),以调度代码来将弹出窗口呈现为覆盖图。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图较佳地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率,也就不会引起TV重新同步。
在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用来提供系统功能。系统功能被封装在一组在上述所保留的系统资源中执行的系统应用中。操作系统内核标识是系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU 101上运行,以便为应用提供一致的系统资源视图。进行调度是为了把由在控制台上运行的游戏应用所引起的高速缓存破坏最小化。
当并发系统应用需要音频时,则由于时间敏感性而异步调度音频处理给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频级(例如,静音、衰减)。
输入设备(例如,控制器142(1)和142(2))由游戏应用和系统应用共享。输入设备不是所保留的资源,但却在系统应用和游戏应用之间切换以使其各自具有设备的焦点。应用管理器较佳地控制输入流的切换,而无需知晓游戏应用的知识,并且驱动程序维护有关焦点切换的状态信息。相机26、28和捕捉设备20可定义控制台100的附加输入设备。
图3B示出了用于在系统10中解释一个或多个位置或移动的计算环境220的另一示例实施例,该计算环境可以是图1A-2所示的计算环境12。计算系统环境220只是合适的操作环境的一个示例,并且不旨在对所公开的主题的使用范围或功能提出任何限制。也不应该将计算环境220解释为对示例性操作环境220中示出的任一组件或其组合有任何依赖性或要求。在某些实施例中,所描绘的各种计算元件可包括被配置成实例化本发明的具体方面的电路。例如,本公开中使用的术语电路可包括被配置成执行固件或开关的功能的专用硬件组件。在其他示例实施例中,术语“电路”可包括由具体化可操作来执行功能的逻辑的软件指令来配置的通用处理单元等。在电路包括硬件与软件组合的示例实施方式中,实现者可编写实施逻辑的源代码且该源代码可被编译成可由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。因此,对于硬件实现还是软件实现的选择是设计选择之一并留给实现者。
在图3B中,计算环境220包括计算机241,其通常包括各种计算机可读介质。计算机可读介质可以是能由计算机241访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器222包括诸如ROM 223和RAM 260等易失性和/或非易失性存储器形式的计算机存储介质。基本输入/输出系统224(BIOS)包括如在启动时帮助在计算机241内的元件之间传输信息的基本例程,它通常储存在ROM 223中。RAM 260通常包含处理单元259可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非局限,图3B示出了操作系统225、应用程序226、其它程序模块227和程序数据228。
计算机241还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图3B示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器238,对可移动、非易失性磁盘254进行读写的磁盘驱动器239,以及对诸如CD ROM或其它光学介质等可移动、非易失性光盘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连接至LAN 237。当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因特网等WAN 249建立通信的其他装置。调制解调器250可以是内置或外置的,它可以经由用户输入接口236或其他适当的机制连接至系统总线221。在网络化环境中,关于计算机241所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非限制,图3B示出了远程应用程序248驻留在存储器设备247上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其他手段。
图4描绘了可从捕捉设备20生成的用户的示例骨架映射。在该实施例中,标识各种关节和骨骼:每一手302、每一前臂304、每一肘306、每一二头肌308、每一肩310、每一髋312、每一大腿314、每一膝316、每一前腿318、每一脚320、头322、躯干324、脊椎的顶部326和底部328、以及腰330。在跟踪多个点的情况下,可标识另外的特征,如手指或脚趾的骨骼和关节,或脸部的各个特征,如鼻和眼。
根据本发明的技术,上述身体部位中的一个或多个可被指定为具有附连的碰撞体400的捕捉对象。尽管碰撞体400被示为与脚320b相关联,但可以理解,图4所示的身体部位中的任一个可具有与其相关联的碰撞体。在各实施例中,碰撞体400是球体,且以其所关联的身体部位为中心。可以理解,在其他实施例中,碰撞体可以是其他形状的体,且不需要以相关联的身体部位为中心。碰撞体400的大小在各实施例中可以变化,并且当存在一个以上碰撞体400且每一碰撞体与一不同的身体部位相关联时,不同的碰撞体400可以是不同大小。
一般而言,系统10可以被示为使用三个参考系来工作。第一个参考系是用户在其中移动的真实世界3D空间。第二个参考系是3D机器空间,其中计算环境使用运动方程来定义用户以及游戏或其他应用所创建的虚拟对象的3D位置、速度和加速度。第三个参考系是2D屏幕空间,其中用户的化身和其他对象在显示画面中呈现。计算环境CPU或图形卡处理器将对象的3D机器空间位置、速度和加速度转换成2D屏幕空间位置、速度和加速度,且使用这些2D屏幕空间位置、速度和加速度来在视听设备16上显示对象。
在3D机器空间中,用户的化身或其他对象可以改变其景深,以便在2D屏幕空间上的前景和背景之间移动。当在2D屏幕空间中显示对象时存在一缩放因子用于3D机器空间中的景深的变化。该缩放因子将背景中的对象显示得比前景中的相同对象小,由此创建了深度感。可以理解,在碰撞体400处于不同景深时,与身体部位相关联的碰撞体的大小可以按相同方式缩放。即,尽管从3D机器空间的视角来看碰撞体的大小保持恒定,但随着景深的增加,其在2D屏幕空间中将变得更小。碰撞体在屏幕上是不可见的。但是对于在景深中更深的捕捉/目标对象,在目标对象受到碰撞体影响的捕捉对象和目标对象之间的最大屏幕距离将在2D屏幕空间中按缩放因子减小。
用户知道当用户能够将他或她的身体以使得计算环境将该用户的3D机器空间身体解释为在移动对象的路径内的方式来定位时,捕捉该移动对象。当移动对象的3D机器空间位置匹配用户的身体的3D机器空间位置时,用户捕捉该对象且计算环境使该移动对象停下来。如果计算环境感测到移动对象错过了身体部位(其位置在3D机器空间中不相交),则移动对象继续经过身体部位。一般而言,碰撞体400用于在用户正试图捕捉目标对象时提供误差余量,使得即使用户未将捕捉对象定位在与移动对象的路径相交的精确位置,该移动目标对象也被捕捉。
碰撞体的操作的示例在以下结合图5-8的图示以及图9-11的流程图来解释。图5示出了在3D机器空间中附连到用户404上的捕捉对象402的碰撞体400的呈现。本示例中的捕捉对象402是用户的脚320b。图5还包括目标对象406,其在本示例中是足球。目标对象406以矢量速度v移动,该矢量速度表示目标对象406的3D机器空间速度。
用户可能期望在捕捉对象402上捕捉目标对象406。在图5的示例中,用户可能希望在他的脚320b上捕捉目标对象足球406。假定目标对象406继续沿着相同的矢量速度(不弯曲或改变航线)移动,且假定用户没有做出进一步的移动,则在图5中目标对象将错过用户的脚320b(没有被脚320b捕捉到)。
然而,根据本发明的技术,计算环境12还可包括此处称为捕捉引擎190(图2)的软件引擎。捕捉引擎190检查目标对象406相对于捕捉对象402的矢量速度,且如果满足某些准则,则捕捉引擎调整目标对象406的航线以使其与捕捉对象402相连并被捕捉对象402捕捉。捕捉引擎190可用于根据各种方法来纠正目标对象的路径。以下更详细地解释了多个这样的方法。
图9是捕捉引擎190的一个简单实施例的流程图。在步骤500,捕捉引擎将碰撞体400附连到捕捉对象402。关于哪些对象是具有附连到其上的碰撞体的捕捉对象的确定在下文中解释。在捕捉引擎190的该实施例中,在目标对象406在碰撞体400的外边界内经过的任何时刻,调整目标对象406的路径,以使得目标对象406与碰撞体400所附连到的捕捉对象402相连并被该捕捉对象402捕捉。
在步骤502,捕捉引擎190确定目标对象406是否在碰撞体400的边界内经过。如上所述,计算环境12保持在3D机器空间内移动的对象的位置和速度信息。该信息包括描述移动目标对象的速度的矢量方向和标量大小(即速率)的运动方程。计算环境12还可将对象标记为目标对象406。具体地,在移动对象可能未被捕捉的情况下,它将不被标记为目标对象,而能被捕捉的移动对象被标记为目标对象。由此,仅那些能够被捕捉的对象受捕捉引擎190的影响。
在步骤506,在引擎190检测到目标对象406进入碰撞体400的边界时,该引擎可沿着碰撞体400内朝向捕捉对象402的矢量来调整对象406的方向。该简单实施例忽略了目标对象的速率、目标对象的方向和碰撞体的强度。该实施例的捕捉引擎190仅查看目标对象406是否进入碰撞体400。如果是,则纠正其路径,使得它在碰撞体400内与捕捉对象402相连。在被捕捉对象402捕捉之后,目标对象在步骤508停下来。
该实施例中目标对象406的路径可以在进入碰撞体400时被突然纠正来将其朝向捕捉对象402重定向。或者,目标对象406的路径可被逐渐纠正,使得该对象从其原始矢量向捕捉对象402弯曲。速率可以在一旦对象进入碰撞体400时被调整,并且更改其方向,也可以不被调整。在各实施例中,碰撞体的大小可能足够小,使得将目标对象的路径更改为与捕捉对象相连不被用户看见或不容易被用户看见。
图10示出了捕捉引擎190的另一实施例。除了以下描述的附加步骤504之外,图10的捕捉引擎与以上关于图9描述的相同,且以上对步骤500、502、506和508的描述适用于图10。在图10中,在检测碰撞体400内的目标对象406的步骤502之后,该实施例还包括确定目标对象是否比阈值速率行进得更快或更慢的步骤504。如果对象比该速率行进得更快,则不纠正其航线。然而,如果目标对象406比阈值速率行进得更慢,则在步骤506如上所述地纠正其航线。图10的实施例背后的概念是以较高速度行进的对象具有较大的动量,且较不可能更改其航线。阈值速率可由游戏应用的作者来任意选择。
除了速度的速率分量之外,图10的实施例还考虑了目标对象406相对于捕捉对象402的接近角。例如,当进入碰撞体时,在目标对象的给定位置,可在目标对象的路径与从碰撞体的中心向外的半径之间定义一参考角。在该参考角是90°的情况下,目标对象406与捕捉对象402切向地行进,且较不可能被捕捉。另一方面,在该参考角接近180°的情况下,目标对象已经几乎沿着到中心的半径进入碰撞体,且更有可能调整其航线以便被捕捉。
由此,图10的实施例可使用一阈值,该阈值是捕捉对象402行进的速率和指示目标对象406进入碰撞体400的入射角的参考角的组合。该阈值可以被任意选择来产生实用结果,其中如果速率太高和/或参考角接近90°,则目标对象不被捕捉。
图11是描述捕捉引擎的另一实施例的流程图,其中碰撞体具有随着远离其中心而逐渐减小的吸引力。尽管这些力是不可见的,但该碰撞体在图5-7中示出。吸引力可以远离中心线性地或指数地减小。这允许系统在数学上实现类似于磁场或万有引力系统的系统。即,目标对象406越接近地经过捕捉对象402,目标对象406就越有可能被拉向捕捉对象402。
在一个实施例中,碰撞体内距离中心(捕捉对象)的所有距离可具有相关联的吸引力。这些力随着远离中心而减小。吸引力可以是方向无关的。即,对于碰撞体400中位于离中心给定距离处的所有点的吸引力将是相同的,不管该点在空间中相对于中心的定向如何。或者,吸引力可以是方向相关的。由此,从第一方向进入碰撞体400且距离中心为给定距离的目标对象406与距离中心为相同距离、但从第二方向进入碰撞体400的另一目标对象406相比将遇到更大的吸引力。吸引力是相关的一个实施例可以例如用于使得接近用户前方的对象比从用户背后接近用户的对象更有可能被捕捉。
图11的实施例还可考虑目标对象的矢量速度,即,其速率和方向。矢量速度与更改其航线所需的力成比例。由此,以较高速率行进的目标对象较不可能受给定吸引力影响。同样,该实施例中使用了移动对象的方向。在碰撞体400内以较切向的角经过的目标对象406相比以较垂直的角进入碰撞体400的目标对象406而言需要较大的吸引力来更改其航线。
现在参考图11,在步骤510,分配碰撞体400来如上所述地捕捉对象,并且在步骤512,捕捉引擎190检查目标对象406是否在碰撞体的边界内经过。步骤516和518检查目标对象406在碰撞体400内的航线是否要被更改,且因此步骤512可以在替换实施例中被省略。
在步骤516,捕捉引擎确定在目标对象的所计算的位置处施加到目标对象406上的吸引力。这可以按照描述力随着离源生成中心的距离增加的变化的已知方程来完成。在步骤520,捕捉引擎确定是否朝向捕捉对象402来调整目标对象406的位置。该确定是基于在目标对象406的位置处所计算的吸引力相比于目标对象406的矢量速度来做出的。在步骤520可使用若干方案来确定是否朝向捕捉对象调整目标对象的矢量速度。
在一个这样的方案中,捕捉引擎可确定将目标对象406的矢量速度改变为具有穿过捕捉对象402的方向的矢量速度所需的力。为了进行这一计算,本发明的技术向目标对象406分配任意质量。在各实施例中,可以选择与为碰撞体选择的吸引力相一致的质量。即,对于所选的碰撞体吸引力,选择这样的质量:该质量不会太高以致于目标对象的方向很少得到纠正,且不会太低以致于目标对象的方向自动得到纠正。所选质量可用于本系统中使用的所有目标对象。或者,可向不同对象分配不同质量。在这些情况下,在矢量速度相同的情况下,具有较大质量的目标对象406与具有较小质量的对象406相比较不可能调整其航线。
捕捉引擎190接着可将更改目标对象406的航线的力与目标对象406处的吸引力进行比较。如果在步骤520中吸引力大于重定向目标对象406所需的力,则在步骤524调整目标对象406的方向以使其与捕捉对象402相交。这一情况在图6中示出。另一方面,如果吸引力小于重定向目标对象406所需的力,则在步骤520不调整目标对象406的方向以使其与捕捉对象402相交。
捕捉引擎190可以每一预设时间段一次地重复执行上述步骤。循环时间周期可以例如在每秒30到60次之间,但是在其他实施例中可以比这一周期更频繁或更不频繁。因此,尽管一次通过上述步骤可能偶尔会没有纠正目标对象406的航线,但下一次通过上述步骤可导致目标对象406的航线被纠正。这会在例如以下情况下发生时发生,例如下一次通过该循环时,目标对象的路径使其在碰撞体400内更接近捕捉对象402且因此,目标对象402上的吸引力增大到超过调整目标对象406的矢量速度所需的力的点。
假定在步骤520调整了目标对象406的路径,在与捕捉对象402相交且被捕捉对象402捕捉之后,在步骤528,目标对象406停下来。这一情况在图7中示出。
给定以上公开内容,本领域的技术人员将认识到可用于对给定目标对象矢量速度和碰撞体吸引力确定是否调整目标对象406的路径的其他方案。作为一个另外的示例,可省略碰撞体的概念,且捕捉引擎只检查目标对象406和捕捉对象402的距离。这一实施例可在上述任一实施例中使用。例如,关于图8的实施例,代替检测目标对象406何时在碰撞体的边界内经过,捕捉引擎可以只查看目标对象406是否在捕捉对象的任意选择的阈值距离内经过。
碰撞体的概念可以类似的从图10和11的实施例中省略。在图10和11中,捕捉引擎可以查看目标对象406是否在捕捉对象的阈值距离内经过,且可进一步查看在该距离处目标对象的速率。更一般而言,捕捉引擎可查看目标对象406的速率相对于目标对象和捕捉对象之间的空间的比率,且如果该比率超过阈值比率,则可调整该对象的航线来穿过捕捉对象402。上述参考角也可与上述捕捉对象的速率相组合来计入该阈值比率。
在上述实施例中,只要目标对象406的路径被纠正,目标对象就在捕捉对象402上被捕捉。在另一实施例中,捕捉引擎在确定目标对象406是否在捕捉对象上被捕捉时可以进一步查看捕捉对象402的速度。具体地,如果捕捉对象402正在以高于阈值速率的速率移动,或者以远离目标对象的经调整的方向或与该经调整的位置横向的方向上移动,则捕捉对象402可能不捕捉目标对象406。在该实施例中,上述因素必然会导致目标对象406的航线被调整,且捕捉对象402的速度必须低于阈值以使目标对象406被捕捉。
在关于图11所描述且包括碰撞体400的实施例中,碰撞体400施加的吸引力从捕捉对象402向外连续(线性地或指数地)减小。在另一实施例中,吸引力可从中心向外不连续地减小。即,吸引力以离散阶减小。这一情况在图8中示出。该实施例中的碰撞体400可包括多个离散体积力区400a、400b、400c等,其中每一区中的吸引力是恒定的,但是各区之间的吸引力变化(从中心向外减小)。图8所示的碰撞区400可根据以上关于图11描述的流程图来操作。图8所示的力区的数量作为示例,在本实施例的其他示例中可以有更多或更少力区。
上述图5-8示出了其中捕捉对象402是脚、且目标对象406是球的一个示例。可以理解,在其他实施例中,捕捉对象402可以是任何身体部位,以便具有附连的碰撞体。手和脚是捕捉对象402的显而易见的示例,但是可以想到任何身体部位可以是具有附连的碰撞体的捕捉对象。即使在正常地不被认为能够捕捉对象的情况下,游戏应用也可例如包括在身体部位上具有尼龙搭扣、粘合剂等的用户,从而允许身体部位来捕捉对象。此外,目标对象406可以是能够被捕捉的任何移动对象。
在上述图5-8中,捕捉对象402也被示为附连到身体部位。在其他示例中,捕捉对象402不需要附连到身体部位。例如,用户可手持诸如球拍等也被显示在视听设备16上的对象来击中移动的目标对象。在该示例中,捕捉对象402是球拍的线绳部分。图12示出了3D机器空间中的用户404在篮圈402处投射目标对象球406的进一步图示。在该示例中,捕捉对象402是篮圈420,且其具有附连的碰撞体400。图12的示例还示出除了碰撞体400的吸引力和目标对象406的矢量速度之外,其他力可作用于目标对象406。例如,在图12中,捕捉引擎190(或系统10的其他方面)也可模拟重力来随时间更改球的初始速度矢量V0。诸如重力等这些其他力可以进一步作为上述吸引力对比目标对象的矢量速度的分析的一部分来包括,并且被计入该分析中。
由此,如上所述,根据本发明的技术的捕捉引擎190在用户移动中构建某种误差余量以便在游戏应用中捕捉对象。尽管以上相对于游戏应用描述了本发明的技术,但可以理解,本发明的技术可以在除了游戏应用之外的软件应用中使用,在此类软件应用中,用户协调其在3D真实空间中的移动来捕捉出现在其显示器上的2D屏幕空间中的移动对象。
在各实施例中,捕捉引擎还能够确定哪些对象要被指定为要将碰撞体400附连到其上的捕捉对象402。在某些应用中,捕捉对象可在游戏应用中明确定义。例如,在图12的篮球实施例中,篮圈420可自动被分配一碰撞体。在其他实施例中,可能捕捉目标对象的所有身体部位或其他对象可被分配碰撞体。
在又一实施例中,对碰撞体的分配可能不是预定义的,而是可被动态创建和移除。在一个这样的实施例中,捕捉引擎可取决于呈现给用户的潜在对象交互来动态地将碰撞体附连到对象。例如,在图5-8中,在目标对象足球406飞向用户404的情况下,捕捉引擎可确定可能捕捉目标对象406的所有对象,然后向这些对象分配碰撞体400。在图5-8的示例中,捕捉引擎可将碰撞体分配给用户的双脚。给定用户与目标对象足球406的路径的相对位置,捕捉引擎还可确定用户有可能在用户的头后方捕捉目标对象足球。如果是这样,则捕捉引擎可进一步将一碰撞体附连到用户的头和/或颈。作为该分配的一部分,捕捉引擎可以从游戏应用接收关于哪些对象可能用于捕捉接近的对象的数据。
在再一实施例中,捕捉引擎可传感用户的移动,并内插用户正在试图移动哪一身体部位来捕捉接近的对象。在这一实施例中,捕捉引擎可以将碰撞体单独分配给该对象。
本发明系统的前述详细描述是出于说明和描述的目的而提供的。这并不旨在穷举本发明系统或将本发明系统限于所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。选择所述实施例以最好地解释本发明系统的原理及其实践应用,从而允许本领域技术人员能够在各种实施例中并采用各种适于所构想的特定用途的修改来最好地利用本发明系统。本发明系统的范围旨在由所附权利要求书来定义。

Claims (15)

1.一种在包括计算环境(12)的系统中的方法,所述计算环境耦合到用于捕捉用户运动的捕捉设备(20),所述方法生成误差余量以供用户使用第二虚拟对象(402)来捕捉第一虚拟对象(406),所述第一虚拟对象(406)在显示画面(16)上移动,所述方法包括:
(a)定义围绕所述第二对象(402)的碰撞体(400);
(b)确定(步骤502)所述第一对象(406)是否在所述碰撞体(400)内经过;以及
(c)如果在所述步骤(b)中确定所述第一对象(406)在所述碰撞体(400)内经过,则调整(步骤506)所述第一对象(406)的路径以便与所述第二对象(402)碰撞。
2.如权利要求1所述的方法,其特征在于,所述定义碰撞体的步骤(a)包括将所述碰撞体定义为围绕所述第二对象的球体,且所述第二对象在所述球体的中心的步骤。
3.如权利要求1所述的方法,其特征在于,所述定义围绕所述第二对象的碰撞体的步骤(a)包括定义围绕所述计算环境使用的用户的表示的一个或多个身体部位的碰撞体的步骤。
4.如权利要求1所述的方法,其特征在于,所述定义围绕所述第二对象的碰撞体的步骤(a)包括定义围绕所述显示画面上与所述用户隔开的一个或多个对象的碰撞体的步骤。
5.一种在包括计算环境(12)的系统中的方法,所述计算环境耦合到用于捕捉用户运动的捕捉设备(20),所述方法生成误差余量以供用户使用第二虚拟对象(402)来捕捉第一虚拟对象(406),所述第一虚拟对象(406)在显示画面(16)上移动,所述方法包括:
(a)确定(步骤502、504)所述第一对象(406)的速率和方向;
(b)至少部分地基于给定位置处所述第一对象和第二对象(406、402)之间的距离以及所述第一对象在所述给定位置处的速率来确定是否调整所述第一对象(406)的路径以便与所述第二对象(402)碰撞;
(c)如果在所述步骤(c)中确定至少所述速率与所述给定位置处所述第一对象和第二对象(406、402)之间的距离之比超过了阈值比率,则调整所述第一对象(406)的路径以便与所述第二对象(402)碰撞。
6.如权利要求5所述的方法,其特征在于,还包括定义围绕所述第二对象的碰撞体的步骤。
7.如权利要求5所述的方法,其特征在于,所述定义围绕所述第二对象的碰撞体的步骤(a)包括定义围绕所述用户的身体部位的碰撞体的步骤。
8.如权利要求5所述的方法,其特征在于,所述定义围绕所述第二对象的碰撞体的步骤(a)包括定义围绕与所述用户的身体隔开的对象的碰撞体的步骤。
9.如权利要求5所述的方法,其特征在于,所述步骤(c)确定调整所述第一对象的路径以便与所述第二对象碰撞的机率随着所述第一对象行进的速率的增大而减小。
10.如权利要求5所述的方法,其特征在于,所述步骤(c)确定调整所述第一对象的路径以便与所述第二对象碰撞的机率随着所述第二对象进入所述碰撞体的角度的增大而增大。
11.一种用于计算环境(12)的处理器可读存储介质(112、238),所述计算环境耦合到用于捕捉用户运动的捕捉设备(20),所述存储介质对处理器(101、259)编程以便执行一种生成误差余量以供用户使用第二虚拟对象(402)来捕捉第一虚拟对象(406)的方法,所述第一虚拟对象(406)在显示画面(16)上移动,所述方法包括:
(a)确定(步骤520)所述第一对象(406)的速率和方向;
(b)基于以下各项确定(步骤520)是否调整所述第一对象(406)的路径以便与所述第二对象(402)碰撞:
i)所述第二对象(402)与所述第一对象(406)的给定位置之间的距离,
ii)所述第一对象(406)在所述给定位置处的速率,以及
iii)由所述第一对象的移动路径与所述给定位置处所述第一对象和第二对象之间的线定义的参考角;以及
(c)如果在所述步骤(b)中确定所述速率和所述参考角的组合与所述给定位置处所述第一对象和第二对象(406、402)之间的距离之比超过了阈值比率,则调整所述第一对象(406)的路径以便与所述第二对象(402)碰撞。
12.如权利要求11所述的处理器可读存储介质,其特征在于,还包括定义围绕所述第二对象的碰撞体的步骤。
13.如权利要求12所述的处理器可读存储介质,其特征在于,所述碰撞体对所述第一对象施加由所述第二对象与所述第一对象的给定位置之间的距离定义的吸引力。
14.如权利要求13所述的处理器可读存储介质,其特征在于,所述碰撞体施加吸引力的步骤包括施加随半径增加而线性或指数地减小的吸引力的步骤。
15.如权利要求11所述的处理器可读存储介质,其特征在于,还包括如果所述第一对象移动的速率低于阈值水平,则在所述第一对象处将所述第二对象停下来的步骤。
CN201110043270.7A 2010-02-16 2011-02-15 使用碰撞体来捕捉屏幕对象 Active CN102163077B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/706,580 US20110199302A1 (en) 2010-02-16 2010-02-16 Capturing screen objects using a collision volume
US12/706,580 2010-02-16

Publications (2)

Publication Number Publication Date
CN102163077A true CN102163077A (zh) 2011-08-24
CN102163077B CN102163077B (zh) 2014-07-23

Family

ID=44369307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110043270.7A Active CN102163077B (zh) 2010-02-16 2011-02-15 使用碰撞体来捕捉屏幕对象

Country Status (2)

Country Link
US (1) US20110199302A1 (zh)
CN (1) CN102163077B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407696A (zh) * 2014-11-06 2015-03-11 北京京东尚科信息技术有限公司 移动设备的虚拟球模拟及控制的方法
CN105597325A (zh) * 2015-10-30 2016-05-25 广州银汉科技有限公司 协助瞄准的方法与系统
CN106215419A (zh) * 2016-07-28 2016-12-14 腾讯科技(深圳)有限公司 碰撞控制方法及装置
CN106598233A (zh) * 2016-11-25 2017-04-26 北京暴风魔镜科技有限公司 基于手势识别的输入方法及输入系统
CN108404402A (zh) * 2014-03-21 2018-08-17 三星电子株式会社 用于防止主体间冲突的方法和设备
CN109597480A (zh) * 2018-11-06 2019-04-09 北京奇虎科技有限公司 人机交互方法、装置、电子设备及计算机可读存储介质
US10905944B2 (en) 2014-03-21 2021-02-02 Samsung Electronics Co., Ltd. Method and apparatus for preventing a collision between subjects
CN112546631A (zh) * 2020-12-23 2021-03-26 上海米哈游天命科技有限公司 一种角色控制方法、装置、设备及存储介质
CN112642155A (zh) * 2020-12-23 2021-04-13 上海米哈游天命科技有限公司 一种角色控制方法、装置、设备及存储介质

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8593488B1 (en) * 2010-08-11 2013-11-26 Apple Inc. Shape distortion
EP2620849B1 (en) * 2010-09-22 2019-08-28 Shimane Prefectural Government Operation input apparatus, operation input method, and program
US9123316B2 (en) * 2010-12-27 2015-09-01 Microsoft Technology Licensing, Llc Interactive content creation
WO2013002373A1 (ja) * 2011-06-30 2013-01-03 株式会社明治 食品開発支援装置、食品開発方法、食品製造方法、食育支援装置及び食育方法
US10139985B2 (en) 2012-06-22 2018-11-27 Matterport, Inc. Defining, displaying and interacting with tags in a three-dimensional model
US9786097B2 (en) * 2012-06-22 2017-10-10 Matterport, Inc. Multi-modal method for interacting with 3D models
US10163261B2 (en) 2014-03-19 2018-12-25 Matterport, Inc. Selecting two-dimensional imagery data for display within a three-dimensional model
US20140018169A1 (en) * 2012-07-16 2014-01-16 Zhong Yuan Ran Self as Avatar Gaming with Video Projecting Device
US9819878B2 (en) 2012-07-20 2017-11-14 Rakuten, Inc. Moving-image processing device, moving-image processing method, and information recording medium
JP2014228943A (ja) * 2013-05-20 2014-12-08 日本電産エレシス株式会社 車両用外界センシング装置、その軸ズレ補正プログラム及びその軸ズレ補正方法
CN104134226B (zh) * 2014-03-12 2015-08-19 腾讯科技(深圳)有限公司 一种虚拟场景中的声音模拟方法、装置及客户端设备
GB201409764D0 (en) 2014-06-02 2014-07-16 Accesso Technology Group Plc Queuing system
US11900734B2 (en) 2014-06-02 2024-02-13 Accesso Technology Group Plc Queuing system
CN106814846B (zh) * 2016-10-24 2020-11-10 上海青研科技有限公司 一种vr中基于视线和碰撞体交点的眼动分析方法
US10445947B2 (en) * 2017-08-01 2019-10-15 Google Llc Methods and apparatus for interacting with a distant object within a virtual reality environment
US11176288B2 (en) 2017-08-25 2021-11-16 Microsoft Technology Licensing, Llc Separation plane compression
US11589939B2 (en) * 2017-10-30 2023-02-28 Intuitive Surgical Operations, Inc. Systems and methods for guided port placement selection
US10430016B2 (en) * 2017-12-22 2019-10-01 Snap Inc. Augmented reality user interface control
JP6548776B1 (ja) * 2018-04-20 2019-07-24 株式会社Cygames プログラム、電子装置、方法、及びシステム
CN113625988B (zh) * 2021-08-06 2023-08-22 网易(杭州)网络有限公司 音量调整方法、装置、设备及存储介质
CN114797106A (zh) * 2022-03-29 2022-07-29 北京字跳网络技术有限公司 图像处理方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093582A (zh) * 2006-06-19 2007-12-26 索尼株式会社 动作捕捉装置和动作捕捉方法、以及动作捕捉程序
CN101147188A (zh) * 2005-01-21 2008-03-19 格斯图尔泰克股份有限公司 基于运动的跟踪
US20080225041A1 (en) * 2007-02-08 2008-09-18 Edge 3 Technologies Llc Method and System for Vision-Based Interaction in a Virtual Environment
US7627139B2 (en) * 2002-07-27 2009-12-01 Sony Computer Entertainment Inc. Computer image and audio processing of intensity and input devices for interfacing with a computer program
CN101952818A (zh) * 2007-09-14 2011-01-19 智慧投资控股67有限责任公司 基于姿态的用户交互的处理

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4645458A (en) * 1985-04-15 1987-02-24 Harald Phillip Athletic evaluation and training apparatus
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4796997A (en) * 1986-05-27 1989-01-10 Synthetic Vision Systems, Inc. Method and system for high-speed, 3-D imaging of an object at a vision station
US5184295A (en) * 1986-05-30 1993-02-02 Mann Ralph V System and method for teaching physical skills
US4751642A (en) * 1986-08-29 1988-06-14 Silva John M Interactive sports simulation system with physiological sensing and psychological conditioning
US4809065A (en) * 1986-12-01 1989-02-28 Kabushiki Kaisha Toshiba Interactive system and related method for displaying data to produce a three-dimensional image of an object
US4817950A (en) * 1987-05-08 1989-04-04 Goo Paul E Video game control unit and attitude sensor
US4901362A (en) * 1988-08-08 1990-02-13 Raytheon Company Method of recognizing patterns
US4893183A (en) * 1988-08-11 1990-01-09 Carnegie-Mellon University Robotic vision system
JPH02199526A (ja) * 1988-10-14 1990-08-07 David G Capper 制御インターフェース装置
US4925189A (en) * 1989-01-13 1990-05-15 Braeunig Thomas F Body-mounted video game exercise device
US5229756A (en) * 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
JPH03103822U (zh) * 1990-02-13 1991-10-29
US5101444A (en) * 1990-05-18 1992-03-31 Panacea, Inc. Method and apparatus for high speed object location
US5534917A (en) * 1991-05-09 1996-07-09 Very Vivid, Inc. Video image based control system
US5417210A (en) * 1992-05-27 1995-05-23 International Business Machines Corporation System and method for augmentation of endoscopic surgery
US5295491A (en) * 1991-09-26 1994-03-22 Sam Technology, Inc. Non-invasive human neurocognitive performance capability testing method and system
US6054991A (en) * 1991-12-02 2000-04-25 Texas Instruments Incorporated Method of modeling player position and movement in a virtual reality system
US5875108A (en) * 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US5999908A (en) * 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
US5320538A (en) * 1992-09-23 1994-06-14 Hughes Training, Inc. Interactive aircraft training system and method
IT1257294B (it) * 1992-11-20 1996-01-12 Dispositivo atto a rilevare la configurazione di un'unita' fisiologicadistale,da utilizzarsi in particolare come interfaccia avanzata per macchine e calcolatori.
US5495576A (en) * 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
JP2799126B2 (ja) * 1993-03-26 1998-09-17 株式会社ナムコ ビデオゲーム装置及びゲーム用入力装置
US5405152A (en) * 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5423554A (en) * 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
JP3419050B2 (ja) * 1993-11-19 2003-06-23 株式会社日立製作所 入力装置
JP2552427B2 (ja) * 1993-12-28 1996-11-13 コナミ株式会社 テレビ遊戯システム
US5597309A (en) * 1994-03-28 1997-01-28 Riess; Thomas Method and apparatus for treatment of gait problems associated with parkinson's disease
US5385519A (en) * 1994-04-19 1995-01-31 Hsu; Chi-Hsueh Running machine
US5524637A (en) * 1994-06-29 1996-06-11 Erickson; Jon W. Interactive system for measuring physiological exertion
US6714665B1 (en) * 1994-09-02 2004-03-30 Sarnoff Corporation Fully automated iris recognition system utilizing wide and narrow fields of view
US5516105A (en) * 1994-10-06 1996-05-14 Exergame, Inc. Acceleration activated joystick
US5638300A (en) * 1994-12-05 1997-06-10 Johnson; Lee E. Golf swing analysis system
US5594469A (en) * 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US5913727A (en) * 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
JP3481631B2 (ja) * 1995-06-07 2003-12-22 ザ トラスティース オブ コロンビア ユニヴァーシティー イン ザ シティー オブ ニューヨーク 能動型照明及びデフォーカスに起因する画像中の相対的なぼけを用いる物体の3次元形状を決定する装置及び方法
US5702323A (en) * 1995-07-26 1997-12-30 Poulton; Craig K. Electronic exercise enhancer
US6073489A (en) * 1995-11-06 2000-06-13 French; Barry J. Testing and training system for assessing the ability of a player to complete a task
US6430997B1 (en) * 1995-11-06 2002-08-13 Trazer Technologies, Inc. System and method for tracking and assessing movement skills in multidimensional space
US6219032B1 (en) * 1995-12-01 2001-04-17 Immersion Corporation Method for providing force feedback to a user of an interface device based on interactions of a controlled cursor with graphical elements in a graphical user interface
US5641288A (en) * 1996-01-11 1997-06-24 Zaenglein, Jr.; William G. Shooting simulating process and training device using a virtual reality display screen
US6173066B1 (en) * 1996-05-21 2001-01-09 Cybernet Systems Corporation Pose determination and tracking by matching 3D objects to a 2D sensor
US5877803A (en) * 1997-04-07 1999-03-02 Tritech Mircoelectronics International, Ltd. 3-D image detector
US6215898B1 (en) * 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
JP3077745B2 (ja) * 1997-07-31 2000-08-14 日本電気株式会社 データ処理方法および装置、情報記憶媒体
US6188777B1 (en) * 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US6720949B1 (en) * 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
EP0905644A3 (en) * 1997-09-26 2004-02-25 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
WO1999019828A1 (en) * 1997-10-15 1999-04-22 Electric Planet, Inc. Method and apparatus for performing a clean background subtraction
AU9808298A (en) * 1997-10-15 1999-05-03 Electric Planet, Inc. A system and method for generating an animatable character
US6072494A (en) * 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6181343B1 (en) * 1997-12-23 2001-01-30 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
US6077201A (en) * 1998-06-12 2000-06-20 Cheng; Chau-Yang Exercise bicycle
US20010008561A1 (en) * 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US6681031B2 (en) * 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6950534B2 (en) * 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US7036094B1 (en) * 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
DE69936620T2 (de) * 1998-09-28 2008-05-21 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zum Segmentieren von Handgebärden
DE69840608D1 (de) * 1998-12-16 2009-04-09 3Dv Systems Ltd Selbsttastende photoempfindliche oberfläche
US6570555B1 (en) * 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
US6363160B1 (en) * 1999-01-22 2002-03-26 Intel Corporation Interface using pattern recognition and tracking
US7003134B1 (en) * 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information
US6503195B1 (en) * 1999-05-24 2003-01-07 University Of North Carolina At Chapel Hill Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction
US6873723B1 (en) * 1999-06-30 2005-03-29 Intel Corporation Segmenting three-dimensional video images using stereo
US6738066B1 (en) * 1999-07-30 2004-05-18 Electric Plant, Inc. System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display
US7050606B2 (en) * 1999-08-10 2006-05-23 Cybernet Systems Corporation Tracking and gesture recognition system particularly suited to vehicular control applications
US6663491B2 (en) * 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
EP1152261A1 (en) * 2000-04-28 2001-11-07 CSEM Centre Suisse d'Electronique et de Microtechnique SA Device and method for spatially resolved photodetection and demodulation of modulated electromagnetic waves
US6731799B1 (en) * 2000-06-01 2004-05-04 University Of Washington Object segmentation with background extraction and moving boundary techniques
US7227526B2 (en) * 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US7058204B2 (en) * 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
US7039676B1 (en) * 2000-10-31 2006-05-02 International Business Machines Corporation Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session
DE10106023A1 (de) * 2001-02-09 2002-08-29 Fraunhofer Ges Forschung Verfahren und Vorrichtung zur Kollisionserkennung von Objekten
US6539931B2 (en) * 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
US6798415B2 (en) * 2001-06-21 2004-09-28 Intel Corporation Rendering collisions of three-dimensional models
US6937742B2 (en) * 2001-09-28 2005-08-30 Bellsouth Intellectual Property Corporation Gesture activated home appliance
KR100987638B1 (ko) * 2002-04-24 2010-10-13 신세다이 가부시끼가이샤 게임 시스템
US7170492B2 (en) * 2002-05-28 2007-01-30 Reactrix Systems, Inc. Interactive video display system
US7710391B2 (en) * 2002-05-28 2010-05-04 Matthew Bell Processing an image utilizing a spatially varying pattern
US7348963B2 (en) * 2002-05-28 2008-03-25 Reactrix Systems, Inc. Interactive video display system
US7489812B2 (en) * 2002-06-07 2009-02-10 Dynamic Digital Depth Research Pty Ltd. Conversion and encoding techniques
WO2005041579A2 (en) * 2003-10-24 2005-05-06 Reactrix Systems, Inc. Method and system for processing captured image information in an interactive video display system
EP1743277A4 (en) * 2004-04-15 2011-07-06 Gesturetek Inc MONITORING OF BI-MANUAL MOVEMENTS
US7704135B2 (en) * 2004-08-23 2010-04-27 Harrison Jr Shelton E Integrated game system, method, and device
KR20060070280A (ko) * 2004-12-20 2006-06-23 한국전자통신연구원 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법
EP1849123A2 (en) * 2005-01-07 2007-10-31 GestureTek, Inc. Optical flow based tilt sensor
WO2006099597A2 (en) * 2005-03-17 2006-09-21 Honda Motor Co., Ltd. Pose estimation based on critical point analysis
KR101403172B1 (ko) * 2005-05-17 2014-06-03 퀄컴 인코포레이티드 방위-감응 신호 출력
US20080026838A1 (en) * 2005-08-22 2008-01-31 Dunstan James E Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games
US7701439B2 (en) * 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
JP5395323B2 (ja) * 2006-09-29 2014-01-22 ブレインビジョン株式会社 固体撮像素子
US7729530B2 (en) * 2007-03-03 2010-06-01 Sergey Antonov Method and apparatus for 3-D data input to a personal computer with a multimedia oriented operating system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627139B2 (en) * 2002-07-27 2009-12-01 Sony Computer Entertainment Inc. Computer image and audio processing of intensity and input devices for interfacing with a computer program
CN101147188A (zh) * 2005-01-21 2008-03-19 格斯图尔泰克股份有限公司 基于运动的跟踪
CN101093582A (zh) * 2006-06-19 2007-12-26 索尼株式会社 动作捕捉装置和动作捕捉方法、以及动作捕捉程序
US20080225041A1 (en) * 2007-02-08 2008-09-18 Edge 3 Technologies Llc Method and System for Vision-Based Interaction in a Virtual Environment
CN101952818A (zh) * 2007-09-14 2011-01-19 智慧投资控股67有限责任公司 基于姿态的用户交互的处理

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10905944B2 (en) 2014-03-21 2021-02-02 Samsung Electronics Co., Ltd. Method and apparatus for preventing a collision between subjects
CN108404402B (zh) * 2014-03-21 2021-07-20 三星电子株式会社 用于防止主体间冲突的方法和设备
CN108404402A (zh) * 2014-03-21 2018-08-17 三星电子株式会社 用于防止主体间冲突的方法和设备
CN104407696B (zh) * 2014-11-06 2016-10-05 北京京东尚科信息技术有限公司 移动设备的虚拟球模拟及控制的方法
CN104407696A (zh) * 2014-11-06 2015-03-11 北京京东尚科信息技术有限公司 移动设备的虚拟球模拟及控制的方法
CN105597325A (zh) * 2015-10-30 2016-05-25 广州银汉科技有限公司 协助瞄准的方法与系统
CN106215419A (zh) * 2016-07-28 2016-12-14 腾讯科技(深圳)有限公司 碰撞控制方法及装置
CN106215419B (zh) * 2016-07-28 2019-08-16 腾讯科技(深圳)有限公司 碰撞控制方法及装置
US10751626B2 (en) 2016-07-28 2020-08-25 Tencent Technology (Shenzhen) Company Limited Collision control method and apparatus, and storage medium
CN106598233A (zh) * 2016-11-25 2017-04-26 北京暴风魔镜科技有限公司 基于手势识别的输入方法及输入系统
CN109597480A (zh) * 2018-11-06 2019-04-09 北京奇虎科技有限公司 人机交互方法、装置、电子设备及计算机可读存储介质
CN112546631A (zh) * 2020-12-23 2021-03-26 上海米哈游天命科技有限公司 一种角色控制方法、装置、设备及存储介质
CN112642155A (zh) * 2020-12-23 2021-04-13 上海米哈游天命科技有限公司 一种角色控制方法、装置、设备及存储介质
CN112546631B (zh) * 2020-12-23 2023-03-03 上海米哈游天命科技有限公司 一种角色控制方法、装置、设备及存储介质
CN112642155B (zh) * 2020-12-23 2023-04-07 上海米哈游天命科技有限公司 一种角色控制方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN102163077B (zh) 2014-07-23
US20110199302A1 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
CN102163077B (zh) 使用碰撞体来捕捉屏幕对象
CN102129551B (zh) 基于关节跳过的姿势检测
CN102414641B (zh) 改变显示环境内的视图视角
CN102356373B (zh) 虚拟对象操纵
CN102323855B (zh) 具有可变刚度的可再成形的连接器
CN102129293B (zh) 在运动捕捉系统中跟踪用户组
KR101658937B1 (ko) 제스처 숏컷
US8451278B2 (en) Determine intended motions
JP5859456B2 (ja) プレゼンテーション用カメラ・ナビゲーション
CN102193624B (zh) 用于基于姿势的用户界面的物理交互区
CN102448561B (zh) 姿势教练
CN102301311B (zh) 标准姿势
CN102156658B (zh) 对象的低等待时间呈现
CN102622774B (zh) 起居室电影创建
CN102314595A (zh) 用于改善话音识别的rgb/深度相机
CN102222431A (zh) 基于机器的手语翻译器
CN102221883A (zh) 自然用户界面的主动校准
CN103038727A (zh) 骨架关节识别和跟踪系统
CN102576466A (zh) 用于跟踪模型的系统和方法
CN102448566A (zh) 骨架以外的姿势
CN102184009A (zh) 跟踪系统中的手位置后处理精炼
CN102207771A (zh) 推断参与运动捕捉系统的用户意图
CN102301315A (zh) 姿势识别器系统架构
CN102129292A (zh) 在运动捕捉系统中识别用户意图
CN102332090A (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: 20150506

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

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.