发明内容
本发明的目的是提供一种不必为保证自我角色和用户的配合,而对虚拟世界进行空间、环境、人机互动形式等进行限制的人机互动方法及设备;或不必为保证自我角色如现实般可充分进行自由活动,而对虚拟世界进行空间限制、环境限制、人机互动形式等进行限制的人机互动方法及设备。
为了便于理解本发明,特对所涉及的各术语进行如下名词解释。
(一)自我角色:指在虚拟世界中,可被用户操控的,并被用户认为是自己的虚拟角色,可是人类或任意活动物方。
(二)活动部位:在某些情况下,用户并非全部部位的活动都可以控制我自我角色相应部位的活动,尤其当自我角色为非人类时,并没有用户身上的某些部位,因此本发明所指的“活动部位”是指用户身体上的部位,该部位对应于自我角色可被控制的部位。另一方面,当自我角色的活动部位数多于用户实际的活动部位数时,则采用本发明介绍的其他方法;另外 本文所称的活动部位也可指活动关节,所述活动关节并非仅限于骨架连接处,它泛指人体上可活动的任何部位,如整个上臂上的任一点或点组合。
特别指出本发明所称的
手掌:如图7所示手掌1包括手腕11在内的所有手掌上的关节,如手指12,在评估手掌动作时,手掌中的各关节可以单独评估控制指令,同时可以使其中一个或多个关节可以控制自我角色的手掌的相应关节进行动作。
脚掌:如图7所示脚掌2包括脚腕21在内的所有脚掌2上的关节,如脚指头22,在评估脚掌动作时,脚掌中的各关节可以单独评估控制指令,同时可以使其中一个或多个关节可以控制自我角色的脚掌的相应关节进行动作。
另外经实验我们发现,当自我角色与用户在头部、包括手腕的手掌、包括脚腕的脚掌其中的一处或多处部位执行相同运动幅度的动作,用户更容易掌握本发明的控制方法。
(三)用户允许微动作方案:当用户实施的动作方案中包含一个或一个组微动作时,可以对虚拟角色发出一控制指令,则该动作方案称之为用户允许微动作方案;这里可对动作方案进行条件限制,所述条件尤其包括限定不发出命令的情形(即 用户动作符合不发出命令情形的或不符合发出命令情形的,该动作不对自我角色发出命令);当用户的多个部位动作时,可优选关联于自我角色头部的运动矢量和视觉矢量,所述运动矢量如:速度、位移等;所述视觉矢量如:自我角色的体积变化、视野篇幅大小变化等。
使确保实现本发明目的的前提下,使用户在操控过程中,不离开操控台的方法主要包括:
1、至少考虑两个或以上不同部位的命令发出顺序,即 当多个活动部位的符合发出动作指令时,尤其考虑1个或1个以上部位的命令发出。
(四)微动作:用户发出比自己期望幅度值小的动作,且该动可让自我角色发出与用户期望值相同幅度的动作,具体表现为:先规定一动作幅度上限为Mm,且使Mm小于用户的运动极限; 就该动作规定自我角色对应的虚拟动作幅度上限为Nm(一般情况下,使Nm≥用户的运动极限),且Nm>Mm;设在t时间点上用户执行该动作的幅度为Mt,对应自我角色的虚拟动作幅度为Nt,则满足:当Mt≥M时Nt=N、当Mt<M时N>Nt>Mt;当系统通过上述规则放大用户动作的,称被依上述规则放大的用户动作为微动作。
如先规定:用户手臂抬起5度时,自我角色则完全抬起手臂,当用户抬手臂的角度大于5度,自我角色均完全抬起手臂,这里,我们称5度为用户执行抬手臂的最大幅度,显然用户手臂不仅可以抬5度;再规定:用户期望将手抬高30度,而实际上只抬高1度的动作;所述微动作一般表现如:手臂微动、脚微曲,另外应针对不同部位规定幅度上限(即 不同部位的幅度上限有所不同),再者 优选使相应部位相对于默认位置的位移上限小于10cm。
动作放大:为了力求用户的真实感受,及在互动过程的同步需求,设定以下三个规则:
一、 命令优先规则
至少使两个指标具有不同的优先级(如:位移指标和力度指标),本发明优选方案中,使力度指标的放大指令优先于位移指标的放大命令。
二、与人体感动能力匹配规则
1、在人体感知能力范围内, 使自我角色至少放大执行微动作的位移指标和力度指标;
2、 当超过人体感知能力范围,使自我角色至少放大执行微动作的速度指标、位移指标和力度指标。
这里尤其指出:
1)用户执行某允许动作时,实际的运动极限均大于该允许动作的最大幅度,而为了更有效实现本技术效果,虚拟世界过程采用动作放大系统时,最好通过对用户肢体的限制只允许其进行小幅度的微动作;
2)某些部位,有时需执行微动作,有时不需要执行微动作;
3)为了使用户动作都不离开操控台,可使用户的幅度上限规定小至满足:位移指标小于3cm。
三、 其他规则
1、至少有一个活动部位,当用户朝背向操控位方向的动作被放大的比例不小于其他方向被放大的比例,优先选择大于其他方向被放大的比例。
(五)虚拟允许动作方案:虚拟世界赋予自我角色或虚拟世界中器具可以进行的动作或动作方案,所述动作方案包括连续的动作组合、动作力度、速度等。
(六)评价动作幅度的指标可以是涉及执行允许微动作方案的活动部位的位移、角度、速度、弧度、振动频率(反复执行某同一动作的频率)、姿势变化等,特别指出:评价一个动作幅度可以同时涉及两个或以上指标;上述各指标可以根据任意现有技术或公识常识规定,如:所述角度可以是被跟踪部位在两个时间点上的夹角等,对应的用户允许微动作方案可规定:当用户以最大幅度M完成任一微动作时,躯干上除手掌和脚掌外的任意相邻的两部份的角度变化值小于30度。如:某允许微动作方案涉及上臂和下臂的角度,在实施该动作的前后角度为120度和140度,则该相邻两部份的夹角变化值就为+20度。显然用户和自我角色的形态(姿势)并不要求相同或类似。
(七)反向动作:自我角色所在的虚拟世界场景执行与用户发出的指令具有矢量值相同但方向相反的矢量动作;所述矢量动作可以是任意时间点上相对于默认点的位移变化、相对于默认体积值的体积变化,如图1所示:以矢量动作为纵坐标,以时间为横坐标建立坐标系,则用户发出的指令与自我角色所在的虚拟世界场景对应曲线图以横坐标呈轴对称关系,如:从时间点t1到时间点t2,用户要自我角色朝东南方向前进5米时,只要在该时间段上使自我角色所在场景向西北方向移动5米就可实现;再如:从时间点t1到时间点t2,用户要自我角色全身等比例变大2倍,则自我角色所在场景在相同时间段缩小两倍,这里尤其指出:用户的变身或变形指令里,判断原则可以是包括眼睛大小和\或双眼间距的变化,这里的眼睛大小变化可以从所获得视野变化进行评估;如果眼睛及双眼间距没有变化,则场景在体积上不会变化,即 场景的体积矢量动作与自我角色的眼睛及双眼间距离的体积矢量动作具有:矢量值相同、方向相反的关系。
为实现上述发明目的,本发明技术方案为:
一、 提供一种用户无需离开控制台,尤其无需在“操控位”上发生位移,而连续执行对自我角色进行各种控制的方法,该方法可满足:不必为保证自我角色和用户的配合,而对虚拟世界进行空间、环境、人机互动形式等进行限制。
本发明是对用户动作通过“先限制而后放大”的方法实现上述技术效果,该方法包括:
使用户通过实施用户允许微动作方案以控制虚拟环境中的自我角色实施相应的虚拟允许动作方案;
在以下部位中至少有两个或以上部位涉及执行允许微动作方案:头部、脖子、腰部、上臂、下臂、宽部、上腿、下腿、手掌和脚掌;
控制用户身上至少两处不同部位被放大比例方案,以实现虚拟角色的任意活动,用户都无需离开控制台。
优化方案1:
本发明可提供持续动作命令,当用户持续对弹性装置作用时,用户可保持转身等动作。因此用户可在任意姿势下控制自我角色的任意动作方案。本发明所述最大幅度M优选正负5度以内。
优化方案2:
限制用户肢体的活动幅度,使被限制的相应部分能完全执行微动作而身体不离开所在位置,对所述限制方案还可作以下一个或多个优化:
1) 当虚拟世界中的任一物方作用于自我角色的某部位或某些部位时,用户的相应部位会根据该物方动作特征被作用;
2) 当自我角色作用于虚拟世界任一物方时,首先根据自我角色的动作特征及该物方的即时状态,判断的自我角色被反作用的部位及反作用效果,使用户相应的部位以等因子效果被作用;
3) 可根据自我角色的疲劳程度或最大运动能力,使用户的相应部位受到相应比例且用户能接受的载荷作用。
二、 虚拟世界接收用户指令的方法:
它是通过动作定位点控制系统确定用户进行的动作,通过相关动作确定用户发出的指令内容,继而控制自我角色对就活动部位的活动。
所述动作定位点控制系统:是在用户身上或道具上设有1个或1个以上的定位感应件,通过各定位感应件的位置(三维坐标)随时间的变化,从而可确定用户在任意时间上的姿势或在某段时间内的动作变化。
以下逐一介绍本技术方案所涉及“定位感应件位置的变化确定方法”、“通过定位感应件位置变化控制自我角色动作的方法”和“定位感应件或其变化与自我角色动作或活动部位的对应方法”。
(一) 定位感应件位置的变化确定方法包括以下骤:
1) 建一虚拟三维坐标系,并确定三个或三个以上的且不在同一直线上的距离测定点在该坐标系中的坐标;
2) 测定定位感应件分别到上述各距离测定点的距离,从而计算出各定位感应件在任意时间点上的三维坐标。
(二) 通过定位感应件位置变化控制自我角色动作的方法是针对虚拟世界赋予自我角色A1、A2…An共计n个可单独活动部位,按以下两种情形控制:
1) 当该N个活动部位均可在用户身上找到对应活动部位进行对应,则在用户在各对应活动部位上分别设置N1、N2…Nn共N个定位感应件,并跟踪在任意时间点t时,N1、N2…Nn三维位置变化; 使各定位感应件的三维位置变化,控制自我角色相应部位进行相关动作;
2) 当该N个活动部位不能完全在用户身上找到对应活动部位进行对应时,假设存在若干不能找到对应关系的活动部位Mx,先使用户的活动部位Nx可选择控制自我角色的Mx1、Mx1 …Mxs共s个活动部位,并采用选择法和组合法中一种或全部来选择控制具体的活动部位Mx;所述选择法是指活动部位Nx确定对应控制活动部位后,可以单独直接控制;所述组合法是指,当需更换活动部位时,可通过第3命令或利用其他活动部位共同选择执行不同的活动部位,如:用户的手臂可以选择控制自我角色的手臂和翅膀,所述活动部位设为脚指,当脚指蜷起时,则用户控制翅膀,松开则控制手臂;所述第3命令指某命令菜单时,会跳出选择界面,通过选择确定要控制活动部位。
“通过定位感应件位置变化控制自我角色动作的方法”还包括对用户的身体和道具上划分可动部和不可动部,并对可动部分别设定位感应件;其中道具和虚拟世界中物品或器具对应,使得操做道具时,就可使虚拟世界中的相应物品或器具被相应操做,其实 换句话说 就是用定位感应件控制相应虚拟世界中的东西(人或物)。
(三) 定位感应件或其变化与自我角色动作或活动部位的对应方法是使用户不同关节上的定位感应件均具有不同的区别特征,并通过不同的区别特征对应自我角色的活动部位或不同动作。
所述区别特征是在定位感应件上的不同涂点密度或涂点规则。
三、 它还包括嗅觉系统、触觉系统和体力疲劳的随机设障系统中一种或多种:
当系统识别自我角色的越疲劳,则相应部位上的设障机构对该部位的负载就越大,用户执行该动作就越难,实之具有类同的感觉,游戏更真实。
四、 本发明还介绍了一种适用于上述虚拟世界方法的穿套式定点控制设备”:
它包括手掌套件、手臂套件、头部套件、脚掌套件、腿部套件、臀部套件和腰部套件;各套件上均设有一个或一个以上感应定位点。
它还满足:每根手指头的三个关节、手腕关节、手肘关节、肩膀关节、头上任意不在同一直线上的三点、每根脚指头的一个关节、脚脖子关节、小腿、大腿、臀部、脊椎中点上均设有一个或一个以上感应定位点。
本设备旨在通过定位于用户身上的各感应定位点的位置完全确定任一时间点上用户的位置和姿势,本设备也未局限于上述感应定位点在上述关节的分配方案。
五、 本发明还提供了一种用户看到自己的身体进入虚拟世界的方法:
实现方法是同时采用置身系统、全景系统和场景移动系统,以下逐一介绍各系统。
(一) 所述场景移动系统,利用虚拟世界中自我角色所在场景的反向矢量动作,使用户有正进行各种移动或变身(身体缩小或放大或形状变化)的错觉。
所述自我角色所在场景的确定方法包括:
1) 直接或间接在用户头部设有能与头部同步发生位移的定位件;所述定位件上至少有不在同一直线的三点在虚拟世界的位置可确定,从而确定出用户的头部在虚拟世界中的位置及面部朝向;
2) 通过用户头部在虚拟世界中的位置及面部朝向确定虚拟世界画面。
所述反向动作,是使虚拟世界中自我角色所在场景执行与自我角色头部方向相反而矢量值相同的矢量动作,且两者在分别以同一矢量动作和时间为坐标轴的坐标系中,其矢量动作时间图以时间坐标轴呈轴对称关系。
(二) 所述全景系统,使用户只能看到虚拟世界中的场景,而看不到现实中的场景,且虚拟世界场景覆盖用户的全部视觉范围;本系统尤其指用户配带全3D眼镜,眼镜上屏幕及其虚拟世界画面均覆盖用户的全部视觉范围。
(三) 所述置身系统,满足用户和自我角色在虚拟世界中的位置相同且用户身体与自我角色活动同步,使用户想看自己身体时,均能看到虚拟世界中自己的各种动作。
上述技术方案的有益之处在于:
本发明因为用户的身体无需离开所在位置,因此在操作过程中,均可躺着或坐着,因而用户可长时间轻松自如完成各项操控,而不会因为体力不支,而被迫中止;因此适应人群极广,凡身体有活动肌能的人都可以通过本发明进行相应的人机互动;尤其是本发明采用了选择法和组合法,使身体残疾的人士,通过有活动肌能的部位经组合应用,以达到控制自我角色自由活动用户本已缺失活动肌能的部位。
该方法可极大延长用户活动时间或减小运动能耗,这里的活动尤其指用户能实现且生活中可经常执行的复杂动作,如跳健美操,打蓝球等而非仅含单一动作(如:跑步),假设一用户的跳某一健美操只能坚持20分钟,而通过本发明控制自我角色跳相同健美操的,该用户可坚持远超超过20分钟。
因用户采用微动作控制自我角色,因此可以完成各种现实中无法完成的各种动作,如使自我角色执行如图3所示的下腰时,同时还出拳的动作。
本发明介绍的“动作放大系统”,可使用户身体无需发生位移或者仅发生微小位移就可以实现全部虚拟世界赋予的全部功能或能力,使得用户在虚拟世界全程中均只在同一处操控位上,同时还便于实现用户的运动部位和虚拟世界人物运动部位一致,使用户容易上手。
本发明介绍的三点定位法,使机算机能人体无法感知的速度,使自我角色与用户同步实施各项动作,因此解决画面滞后的问题,继而使用户更自如长时间完成人机互动,当然更不会出现用户头晕的情形。
本发明介绍的“穿套式定点控制设备”,可使用户直接穿戴后,身体各部份的动作,均可控制对应“感应定位点”进行相关命令,从而使用户看到自己或自己在虚拟世界中操控的器械进行相关动作,该设备的运用,有效缩短用户在进入虚拟世界前的准备时间,简易所需的准备工序,从而用户通过很便捷的方式就可进行虚拟世界。
本发明介绍的“感应定位点系统”,可使系统通过跟踪各定位点发生的各矢量变化(包括:位移、速度、方向)以控制自我角色动作;本方案可有效简化“穿套式定点控制设备”,使之纯以机械结构,而无需配备任何电子系统,可避免电子短路给用户带来身体伤害;同时 由于用户在使用过程中,各定位点均被定位于用户身上的各对应部位,且用户只实施微动作,因此各定位点移动位移因非常小,因此可实现设备零损害,以保证设备的使用寿命。
本发明介绍的“选择法”和“组合法”,可实现自我角色上活动部位数大于感应定位点数。
通过本发明可实现自我角色“可如用户在现实般”充分、自由动作。
下面结合附图和具体实施例对本发明作进一步的说明。
具体实施方式
实施例1 一种人机互动的控制方法
一种人机互动的控制方法,它建立了《用户微动作数据库》与《自我角色虚拟动作数据库》;并规定了《动作放大规则》和《人机互动规则》。
所述《用户微动作数据库》还包括《用户允许微动作方案数据库》。
1、用户微动作数据库
1.1)以头部、脖子、腰部、上臂、下臂、宽部、上腿、下腿、手掌和脚掌为关键字建立数据库;旨在确定用户身上可控制自我角色动作的活动部位。
1.2)就活动部位的动作幅度规定评价指标,包括:位移、相邻关节角度变化值、移动速度、抖动频率等;旨在具体规定活动部位发出命令的形式。
1.3)规定各评价指标的上限;通过规定不同部位的幅度上限,以协助确保用户无需离开“操控位”而可而连续执行任意控制动作。
2、用户允许微动作方案数据库
2.1)规定不发出控制命令的情形。
2.2)规定发出特技的情形条件;指当用户执行符合条件的动作或动作组合时,自我角色执行特技动作等;尤其指出条件规定的权限可开放,以便不同用户根据自己习惯制定。
3、自我角色虚拟动作数据库
3.1)对应于用户活动部位规定自我角色的虚拟动作部位,即自我角色身上可被控制的部位。
3.2)虚拟动作部位的动作参数:移位、速度、力度;根据不同虚拟动作部位的动作幅度确定相对用户活动部位运动幅度的放大倍数。
4、人机互动规则
使《用户微动作数据库》与《自我角色虚拟动作数据库》以如下关系关联:
4.1) 《用户微动作数据库》的“活动部位”关联于《自我角色虚拟动作数据库》的“虚拟动作部位”。
4.2) 《用户微动作数据库》的“活动部位评价指标”关联于《自我角色虚拟动作数据库》的“虚拟动作部位的动作参数”。
5、动作放大规则
5.1) 通过《用户微动作数据库》的“规定不同评价指标的上限”的限制《人机互动规则》的4.1)条款。
5.2) 微动作规则:设定用户或虚拟世界道具执行任一允许动作的最大幅度Mm、对应虚拟世界中人或物的执行相应的允许动作的最大幅度为Nm、在t时间点上用户或虚拟世界道具执行该允许动作的幅度为Mt,对应虚拟世界中人或物的执行相应的允许动作的幅度为Nt,则该系统满足:当Mt≥Mm时,Nt=Nm;当Mt<Mm时,Nm>Nt>Mt。
5.3) 用户不离开操控台的执行方案:
1) 确定用户身上可发出命令的部位N集合,确定其中需执行微动作的活动部位N1集合;并规定N1集合中各部位执行微动作的情形X1;
2) 确定自我角色可被控制的部位M集合,及M集合中各部位与N集合中各部位的对应关系;
3) 确定在一种或多种X1情形下, N1集合中各部位被 M集合中相应部位的放大比例方案(所述部位可以是组合形式,如:两个或多个部位组成一个部位组,可通过对其形状或分布或移动速度进行评价幅度);
4) 跟踪并识别N集合中的各部位执行允许微动作方案; 并根据步骤3)使自我角色执行虚拟允许动作。
至少有一套允许微动作方案规定了用户身上n1个活动部位需执行微动作,n2个活动部位不执行微动作,其中n1≥2, n2≥0;相应的
步骤1)在部位N集合中,增加规定不需执行微动作的部位N2集合;
步骤3)增加就N2集合中各个部位确定M集合中的对应部位,并规定N2集合中各部位与M集中相应部位执行相同动作幅度或缩小动作幅度;
步骤2)中就N1集合中的部位还规定了不执行微动作的情形X2;
步骤3)还规定了在X2情形下,各个部位N1对相应部位M应执行相同动作幅度或缩小动作幅度;
步骤4)中跟踪并识别N集合执行允许微动作方案的方法是:跟踪识别N集合中各活动部位对应的肌肉的活动情况,以确定用户的活动意图。
至少有两处可以实施微动作的活动部位在实施同一套允许微动作方案时,至少具有以下一个特征:
1) 被自我角色放大的比例方案不同;
2) 可执行微动作的动作幅度上限不同;
3) 评价可执行微动作的动作幅度的指标不同;
4) 对应自我角色允许动作的最大幅度不同;
5) 对应自我角色的动作幅度上限不同;
6) 评价对应自我角色的动作幅度的指标不同。
为实现用户不离开操控台,应首先考虑自我角色与虚拟环境中的物方(如地面)接触时,而可以使自我角色发生位移的部位(腿或脚掌),并通过微动作规则放大用户相应部位的动作。
上述可以一套允许微动作方案中规定了不同部位的放大比例。
上述可以有多套允许微动作,各套允许微动作就相同活动部位规定了不同的方大比例。
5.4)根据动作组合、自我角色状态及虚拟世界环境共同触发情形命令:
动作组合为函数M1,函数M1的变量为活动部位的动作幅度;
自我角色状态为函数M2,函数M2的变量包括自我角色的动能或动量;
虚拟世界环境为函数M3,函数M2的变量包括与自我角色接触的物方动能或动量,所述物方包括地面等可以使自我角色发生位移的接触环境。
通过计算X(M1、M2、M3)判断虚拟角色应执行的放大比例方案;
以任意部位Sn规定进行微动作的情形X1集合,即 符合X1集合中任意情形xn的,系统都将根据微动作放大方案使自我角角色执行虚拟动作;
规定任意xn情形下,评价S动作的幅度指标位移s,如:当X(M1、M2、M3)符合“走路情形”,自我角色对Sn的放大比例为x1或f(x1);当X(M1、M2、M3)符合“后踢情形”,自我角色对Sn的放大比例为x2或f(x2)。用户通过坐在控制台上进行人机互动与躺在控制台上的放大方案可不以同,上述函数中设有可调参数,该可调参数由用户自行调整。
6、为了确保人机互动的同步,本实施例还提供了一人机同步系统,所述人机同步系统包括:用户微动作识别系统、微动作匹配命令规则系统。
6.1)所述用户微动作识别系统:它就用户身体或道具规定活动部位和非活动部位,并在不同活动部位分别设有具有区别特征的定位感应件 ;建一虚拟三维坐标系,并在三个或三个以上的且不在同一直线上的已知坐标点上固置测距装置;具体识别方法如下:
a) 在任意时间点上,测量定位感应件分别到上述各距离测定点的距离,从而计算出各定位感应件的三维坐标;
b) 通过跟踪各定位感应件的位置(三维坐标)随时间的变化,以确定用户在任意时间上的姿势或在某段时间内的动作变化。
本实施例中所述用户微动作识别系统旨在对用户肢体运动的时时跟踪,它也可以在任一活动部位上设有2个或 2个以上定位感应件,其中至少两点在x、y、z轴上的坐标值均不相同,使该活动部位在某时间段内的水平转角或竖直转角可确定。
6.2)所述微动作匹配命令规则系统:用户通过控制肢体动作,而使肢体上感应定位点发生一定规则的位移变化,而匹配于自我角色的动作方案,它包括:
规则1:
具体包括:“定位感应件或其变化与自我角色动作或活动部位的对应方法”和“定位感应件或其变化与自我角色动作或活动部位的对应方法”,以下逐一介绍。
规则1.1 通过定位感应件的位置变化控制自我角色动作的方法:
是针对虚拟世界赋予自我角色A1、A2…An共计n个可单独活动部位A,就其中任一可单独活动部位Ax设有Ax1、Ax2…Axm共计m种允许动作,Axx为其中任一允许动作,按以下两种情形控制。
情形1 当该n个活动部位均可在用户身上找到对应活动部位进行对应时:
1) 在用户身上的n个可单独活动部位上分别固定A1’、A2’…An’共计n个感应定位点A’, 跟踪在任意时间点t时,任一感应定位点Ax’的三维位置变化,并匹配属于Ax1’、Ax2’…Axm’共计m种中的哪种活动规则,设Axx’为其中任一活动规则。
2) 使自我角色的可单独活动部位A一一对应于用户身上的感应定位点A’,任一可单独活动部位Ax的允许动作Axx可在并仅在感应定位点Ax’按Axx’活动规则动作时被启动,如:Ax发生的位移随在各时间点上的变化一一对应于Ax’ 发生的位移随在各时间点上的变化,再如:Ax实施的力度强弱对应于Ax’所对应关节弯曲度及该关节抖动频率,Ax使用力度达最大值的条件在于:当用户的Ax’达到最大幅度;另外 Ax还应考虑对应于Ax’的紧张程度、运动速度和执行时间,以实现用户更自然操控虚拟世界,且使自我角色的运动尽量符合自然规律。
3) 本实施例所述的关节旨在通过定位于用户身上的各感应定位点的位置完全确定任一时间点上用户的位置和姿势,这里本发明人特别列举其中之一可以满足此目的的关节总和:每根手指头的三个关节、手腕关节、手肘关节、肩膀关节、头上任意不在同一直线上的三点、每根脚指头的一个关节、脚脖子关节、小腿、大腿、臀部、脊椎中点。
情形2 当该n个活动部位不能完全在用户身上找到对应活动部位进行对应时:
假设存在若干不能找到对应关系的活动部位Ay,先使用户的活动部位Ay’可选择控制其中的Ay1、Ay2…Ays共s个活动部位Ay,并采用选择法和组合法中一种或全部来选择控制具体的活动部位Ay;所述选择法是指活动部位Ay’确定对应控制活动部位后,可以单独直接控制;所述组合法是指,当需更换活动部位时,可通过第3命令或利用其他活动部位共同选择执行不同的活动部位,如:用户的手臂可以选择控制自我角色的手臂和翅膀,所述活动部位设为脚指,当脚指蜷起时,则用户控制翅膀,松开则控制手臂;所述第3命令指某命令菜单时,会跳出选择界面,通过选择确定要控制活动部位。
另外 通过定位感应件位置变化控制自我角色动作的方法还包括对用户的身体和道具上划分可动部和不可动部,并对可动部分别设定位感应件;其中道具和虚拟世界中物品或器具对应,使得操做道具时,就可使虚拟世界中的相应物品或器具被相应操做,其实 换句话说 就是用定位感应件控制相应虚拟世界中的东西(人或物)。
规则1.2 定位感应件或其变化与自我角色动作或活动部位的对应方法:
使用户不同关节上的定位感应件均具有不同的区别特征,并通过不同的区别特征对应自我角色的活动部位或不同动作。
所述区别特征是在定位感应件上的不同涂点密度或涂点规则,如涂点密度为d或具有涂点规则1的定位感应件发生位置变化时,自我角色的某活动部位就执行相应的允许动作;涂点密度或涂点规则可以通过盖章实现。
规则2:
不促发命令的规则。
本实施例中优选不促发命令的规则,当然也可以是促发命令的规则。
本实施例所述的感应定位点可以适用以下两种方案:
1) 将能被探测涂料作为感应定位点涂在肌肉的敏感点上,通过肌肉的紧张程度和运动速度,使各股肉上的感应定位点能判断用户的意图,从而有效对虚拟世界发出相应指令;
2) 将感应定位点固设于穿套式定点控制设备的各活动部位上,可使用户直接穿戴后,身体各部份的动作,均可控制对应“感应定位点”进行相关命令,从而使用户看到自己或自己在虚拟世界中操控的器械进行相关动作,该设备的运用,有效缩短用户在进入虚拟世界前的准备时间,简易所需的准备工序,从而用户通过很便捷的方式就可进行虚拟世界。
上述两方案并不局限于“动作放大系统”,尤其针对不要求用户身体发生位移的玩虚拟世界,如:赛车虚拟世界。
本实施例中穿套式定点控制设备也可以在设备中植入控制器,使操控器感知各定位点发生的各矢量变化(包括:位移、速度、方向);但结合本发明介绍的“感应定位点系统”,可可有效简化“穿套式定点控制设备”,使之纯以机械结构,而无需配备任何电子系统,由于虚拟世界过程中,用户各部位仅进行微动作,因此可做设备零损害,即保证设备的使用寿命,又可避免所电子系统中可能的电子短路给用户带来身体伤害。
本实施例中穿套式定点控制设备包括手掌套件、手臂套件、头部套件、脚掌套件、腿部套件、臀部套件和腰部套件;各套件上均设有一个或一个以上感应定位点。
它还满足:每根手指头的三个关节、手腕关节、手肘关节、肩膀关节、头上任意不在同一直线上的三点、每根脚指头的一个关节、脚脖子关节、小腿、大腿、臀部、脊椎中点上均设有一个或一个以上感应定位点。
本设备旨在通过定位于用户身上的各感应定位点的位置完全确定任一时间点上用户的位置和姿势,本设备也局限于上述感应定位点在上述关节的分配方案。
7、为提高仿生效果,本实施例还提供了一人机互动系统,它包括:反作用感知装置和被作用感知装置;所述人机互动系统主要用于修正:用户的最大允许微动作幅度Mm,与自我角色的最大虚拟允许动作幅度Nm的比值Mm/Nm;并使Mm/Nm值比常态大 即反作用感知装置和被作用感知装置工作时,Nm根据以下情形等因子减小。
7.1) 当人机互动由自我角色促发,则按以下方法实现:
7.1.1)锁定用户想要作用的目标
方法一:
利用用户眼睛定位装置,当用户的视线方向经过某物方且肢体或道具的作用方向朝向该物方时,给系统作出该肢体或道具要作用于该物方的指令;则系统发出提令,自我角色已锁定该目标;其中用户的视线方向的跟踪可采用如:专利号为“02829315.0”的《跟踪扭转的眼睛的方向和位置》,或者任意的现有技术。
方法二:
通过对眼睛图像采集装置准确判断用户锁定的主要目标,其中眼睛图像采集装置可能过多种现有技术实现,如专利号为“200610072961.9”的《眼睛图像采集装置》。
7.1.2)该动作作用于目标后,自我角色因被反作用而必然存在的“动作速度”“动作幅度”变化;系统通过反作用感知装置提搞对用户相应的限制负载向用户反馈,或者改变相应部位的虚拟最大幅度,使用户看到自我角色的效果,而通过视觉产生反作用感知装置相同或类似的错觉。
7.1.3)计算目标被作用后的形态变化,包括形变(姿势变化,不可还原的变形,尤其指破坏)、动能变化情况(动能值+动能方向)。
7.2)当人机互动由虚拟世界中的其他物方作用于自我角色,而使自我角色被动进入互动,则按以下方法实现:
7.2.1)当自我角色被作用并产生作用效果时,自动锁定实施作用的物方为目标;
7.2.2)自我角色被作用而产生的作用效果指:自我角色被作用后的形态变化、动能变化;自我角色被作用而产生的作用效果通过被作用感觉装置反馈给用户,或者改变相应部位的虚拟最大幅度,使用户看到自我角色的效果,而通过视觉产生被作用感知装置相同或类似的错觉。
以下以实例介绍:
如自我角色要攻击一个游戏角色,首先锁定目标,当自我角色打出一拳,作用到对方运动的手臂,而受到对方手臂的反作力,这里尤其指出:不管对方有没朋格挡,只要自我角色碰到目标,根据作用力与反作用力的原理,自我角色必然会受到反作用力;这里当目标进行格挡时,自我角色还受到目标格挡用手臂的作用,则叠加被作用感知装置的设置效果。
尤其指出:
1) 为确保动作放大系统的有效性,自我角色的允许动作执行条件并非感应定位点在某时间上的位置,而是相对上一时间点上的位置变化。
2) 距离测定点是固定不动的,或者其坐标可计算而确定。
3) 有些虚拟世界,为了减小电脑资源的占用,只给自我角色很特定的几个动作,这种情况下,应满足用户某些部位的动作或组合动作,就应可以控制自我角色进行一连惯的允许动作。
4) 动作放大系统和动作定位点控制系统可以组合运用,也可单独使用。
5) 本发明还包括语音控制系统,使得用户可以通过语音发出指令以控制自我角色的允许动作及虚拟世界的各项基本操作,如:退出、保存。本系统还包括语音识别系统,如可以对用户的声音预先录入,并匹配各项指令。
其他说明:
用户准备就绪后,睁眼会发现自己在上一次退出虚拟世界时所在的位置,各种动作所带来的场景的变化,完全从该位置为起始点。
本虚拟世界允许自我角色具有变形能力当变形后需要控制的部位大于人的关节数 怎么办?可以采用“选择法”,当执行选择命令动作时,可以选择某关节控制虚拟世界中对像的具体运动部位;也可以采用“组合法”,即 两个或两个以上关节同时执行某特定动作时,也可以起到相同效果。
本虚拟世界方法还允许用户具有隔空取物等超能力,该指令的启动条件是: 用户手臂上的感应定位点集在同一直线上,手掌上的感应定位点集成爪状并朝向该物品;而虚拟世界判断吸力的大小,则可先预定自我角色吸力最大值,而取值的条件可以是手指抖动的频率,当频率减小,则吸力对应减小。
当虚拟世界接到用户这一意图,就会计算并比较吸力与物品被吸的难度,当物品的重力太大或被原所在位置的吸附力太大,就要求用户“抓的力度”加大,这时手指的弯曲程度就会加强,而手指的抖动加剧,而使手指上的感应定位点抖动加剧,电脑就会接到用户吸力加强,从而进一步判断能否完成吸收。
定位感应件与所要控制的部位如何对应?如果每个关节都对应一个定位感应件,在有丰富允许动作的虚拟世界里就需要用户进行长时间的准备才可能进入虚拟世界,为此 本发明还提供了穿套式定点控制设备”,用户只需配带对应的手套、脚套、支架套和头盔,就可以操控绑覆在全身的每处关节上的感应定位点,因此极具实用性。
由于采用动作放大法,用户有身体和自我角色各肢体位置和姿势并没有完全对应,因此不能单以感应定位点的位置确定,但两者的头部(由其是眼睛)在虚拟世界中的位置和朝向是相同的。那如何说明用户也能在虚拟世界确定坐标?首先 用户的视觉通过眼镜获得,那眼镜在虚拟世界的坐标是可确定的,因为眼球与眼镜的相对位置始终不变,因此,用户眼球在虚拟世界的坐标可定。
实施例2 一种人机互动的控制方法
赋予自我角色具有超能力,包括以下步骤:
1) 创建自我角色除放大用户体能以外的超能力虚拟允许动作方案;
2) 跟踪用户允许微动作变化,确定自我角色超能力虚拟允许动作的作用目标;
3) 评价在实施超能力虚拟允许动作时,自我角色的超能力机能值,使被作用目标等因子作形态变化。
本实施例所述的形态变化包括位置、形状、状态、物质变化,其中形状包括变形、流状、颗粒状间的变化等;状态变化包括:气态、固态、液态间的转变等;位置包括:位移、运动速度、加速度等运动情况变化。
本发明所述虚拟环境至少还设有未来环境、过去环境、梦境其中一种或多种虚拟环境。
本发明可开放用户在虚拟环境中重设物方参数的权限,使用户可自行构建、调整、删除虚拟环境。因此使用户极易现将想像物实体化,相对于传统工具具有不可想象的超越。
实施例3:在空间设计或空间样品的观摩的运用
包括以下步骤:
1) 就空间设计或空间样品进行3d建模;
2) 控制自我角色在空间设计或空间样品的3D建模内实施虚拟动作。
实施例4:在电影拍摄的运用
包括以下步骤:
1) 对电影场景进行3D建模;
2) 使演员控制自我角色在所述的3D建模内实施虚拟动作;
3) 录制3D建模内所需场景及自我角色实施虚拟动作的画面。
实施例5:在模拟实验上的运用
包括以下步骤:
1) 收录已知自然规律,并建立运算法则f[x1(x11、…x1m…x1n)、x2(x21、x22…x2m…x2n)…xk(xn1、xn2…xkm…xnn)]= y1(y11、y12…y1m…y1n)、y2(y21、y22…y2m…y2n)…ys(yn1、yn2…ysm…ynn),其中xk是规律发生前的反应主体,xnn 是xk的计算参数;ys是规律发生后的新主体,ynn 是ys的计算参数;k、m、s均取值1到n,f是规律是运算公式;
2) 使自我角色调整xk的xnn值至用户设定值;
3) 控制自我角色在虚拟环境中就xk进行f1动作;
4) 根据所述运算法则计算并记录ys及其ynn值。
本实施例中,当实验需要就一个规律的多次反应,或多个规律的多次反应,则根据需要重复执行步骤2)-4)。
该实验方法,不仅不会产生伤害用户风险,而且零成本、实验精度极高。
实施例6:在旅游上的运用
包括如下步骤:
1) 对旅游区进行3d建模;
2)控制自我角色在所述3D建模内实施虚拟动作。
实施例7 :一种人机互动控制系统
它包括:显示虚拟世界的成像设备、操控台、用户允许微动作方案的识别捕捉设备和控制用户与自我角色动作同步的同步控制系统。
所述操控台设有操控位和设障系统,所述设障系统设有限位机构,通过限位机构限制用户肢体的活动幅度,使被限制的相应部位能以最大幅度M实施允许动作,同时确保用户无需离开“操控位”而可连续执行任意控制动作。
所述用户允许微动作方案的识别捕捉设备,满足本系统可跟踪并识别用户执行微动作。
所述同步控制系统满足:
1) 对应于用户活动部位规定自我角色的虚拟动作部位,并确定各虚拟动作部位的动作幅度相对于用户活动部位运动幅度的放大倍数;
2) 规定用户允许微动作方案设有用户或道具执行该微动作的最大幅度M、对应自我角色执行相应允许动作的最大幅度为N,且M小于用户相应活动部位的运动极限,设在t时间点上用户执行该微动作的幅度为Mt,对应自我角色执行相应允许动作的幅度为Nt,则满足:当Mt≥M时,Nt=N;当Mt<M时,N>Nt>Mt; 所述用户允许微动作方案还满足:用户在虚拟世界全程中均只在同一处操控位上而无需离开操控位;
3) 所述虚拟允许动作方案是指虚拟世界赋予自我角色或虚拟世界中器具进行的动作或动作方案。
显示虚拟世界的成像设备使虚拟世界的画面覆盖用户的视角,并且用户在人机互动过程中只能看到虚拟世界的动画而看不到自己的身体。
所述识别捕捉设备设有多个具有不同的区别特征的定位感应件,以使计算机可识别定位点所对应用户部位。
它还包括一穿套式定点控制设备,包括手掌套件、手臂套件、头部套件、脚掌套件、腿部套件、臀部套件和腰部套件中一种或多种;各套件上均设有一个或一个以上定位感应件。
所述设障系统还设有反作用感知装置和/或被作用感知装置。
通过所述被作用感知装置,使虚拟世界中的任一物方作用于自我角色的某部位或某些部位时,设障系统会根据该物方动作特征作用于用户的相应部位上。
通过所述反作用感知装置,使自我角色作用于虚拟世界任一物方时,设障系统首先根据自我角色的动作特征及该物方的即时状态,判断的自我角色被反作用的部位及反作用效果,所述设障系统则以等因子效果作用于用户相应的部位上。
所述设障系统满足可根据自我角色的疲劳程度或最大运动能力,改变所述反作用感知装置和所述被作用感知装置对用户的荷载。
它还包括嗅觉系统、触觉系统和体力疲劳的随机设障系统中一种或多种。
实施例8 :一种人机互动的控制系统
它包括:置身系统、全景系统、场景移动系统、动作判断系统和动作放大系统。
A. 动作判断系统:可采用现有技术,如申请号“97198214.7”所介绍的技术方案。
B. 动作放大系统:详见实施例1 。
C. 全景系统:
所述全景系统是指虚拟世界过程中,虚拟世界画面始终覆盖用户的全部视觉范围,使用户只能看到虚拟世界中的场景,而看不到现实中的场景;眼镜上屏幕及其虚拟世界画面均覆盖用户的全部视觉范围;该技术可采用现有技术如专利号为为“200810066897.2”的《一种集成了CMMB接收模块的移动视频眼镜》。
D. 置身系统:
所述置身系统,满足用户和自我角色在虚拟世界中的位置相同,且用户身体活动与自我角色活动同步,使用户看自我角色的身体时,会误以为是自己的现实中的身体;用户身体活动与自我角色活动同步的方法是通过动作定位点控制系统确定用户进行的动作,通过相关动作确定用户发出的指令内容,继而控制自我角色对就活动部位的活动。
E. 场景移动系统:
所述场景移动系统,利用虚拟世界中自我角色所在场景的反向动作,使用户有正进行各种移动或变身(身体缩小或放大或形状变化)的错觉;所述自我角色所在场景的确定方法包括:
1) 直接在用户头部设有能与头部同步发生位移的定位件;所述定位件上设有不在同一直线的三个定位感应件,所述定位感应件满足在虚拟世界的位置可确定,从而确定出用户的头部在虚拟世界中的位置及面部朝向;
2) 通过用户头部在虚拟世界中的位置及面部朝向确定虚拟世界画面。
本实施例中定位件的安装位置重点在满足可与头部同步发生位置,因此还可以安装在用户头部上的各种器具。
本实施例中用户与自我角色在脸部运用的同步关系也可以采用动作放大系统。
本实施例为使虚拟世界更逼真,包括嗅觉系统、触觉系统和体力疲劳等随机设障系统中一种或多种。
所述体力疲劳的随机设障系统,可结合穿套式定点控制设备,如脚掌套件上连接一可伸缩的推进机构、 手掌套件内设一可收缩的手握器。
所述设障系统包括反作用感知装置和被作用感知装置;所述被作用感知装置满足:当虚拟世界中的任一物方作用于自我角色的某部位或某些部位时,设障系统会根据该物方动作特征作用于用户的相应部位上;反作用感知装置满足:当自我角色作用于虚拟世界任一物方时,系统首先根据自我角色的动作特征及该物方的即时状态,判断的自我角色被反作用的部位及反作用效果,所述设障系统则以等因子效果作用于用户相应的部位上。所述设障系统根据自我角色的疲劳程度或最大运动能力,改变反作用感知装置和被作用感知装置对用户的荷载。
以下通过实例介绍:
虚拟世界前要先将用户固定在某操控位上(如:床上),用户动作任一肢体,在虚拟世界中的对应人物则执行完全的动作,目的 在于用户执行任何一动作都可以在同一处操控位进行,动作后,身体所在位置也不会变化,从而减少用户的运动空间。
让用户躺在或坐在控制台上,使设障系统限制用户各躯干的最大活动范围,如:脚板装置弹性接触用户的脚板;手臂限位装置以过盈配合套于用户手臂上。
所述设障机构设于在用户允许动作的部位上方,在常态下使设障机构与用户的躯干保持一定距离(称为自由空间),使用户各部位在不接触到设障机构的情况下,可不受作用进行任意微动作;所述设障机构设有弹性荷载活动区(称为荷载空间),当用户的躯干与设障机构接触,并继续往弹力反方向运动时,相应部位需克服弹力做功。它的功能对应如下:
1) 用户在自由空间和荷载空间的可移动的总和对应于用户的最大允许微动作幅度;
2) 当用户躯干作用于设障机构,同时其动作符合机算机识别命令时;自我角色持续执行虚拟允许动作,如:连续转身;
3) 当用户促发人机互动时,设障机构表现为目标对用户的反作用;
4) 当自我角色被虚拟世界中的物方作用时,设障机构缩小自由空间,并作用于用户的相应躯干;
5) 当自我角色运动能力值提升时,设障机构的负载减小;
6) 当自我角色运动能力值减弱时,如:疲劳时,设障机构的负载提高。
本发明的视频设备并不限于通过眼睛观看的设施,如专利号为“00820024.6”的《人体电子植入体及其人工视觉系统》已经给出了通非眼睛使大脑获得图像的方法。
以下给出一种现有技术(申请号:201110065915.7)介绍实现对用户动作的捕捉,及通过捕捉到的信息对自我角色进行控制(特别指出该现有技术并不能解决本发明目的,也未披露本发明的关键技术:1、规定微动作的上限,2、规定不同部位的不同放大比例,以使用户无需离开操控台而实现对自我角色的任意操制)。
如图2 所示,图像相机组件23可包括可用于捕捉场景的深度图像的红外(IR)光组件25 、三维(3-D )相机26、和RGB(视觉图像)相机28。例如,在飞行时间分析中,捕捉设备20的IR光组件25可将红外光发射到场景上,然后可使用传感器(未示出),使用例如3-D 照相机26和/或RGB照相机28,来检测来自场景中的一个或多个目标和物体的表面的反向散射光。在某些实施例中,可以使用脉冲式红外光从而可以测量出射光脉冲和相应的入射光脉冲之间的时间差并将其用于确定从捕捉设备20到场景中的目标或对象上的特定位置的物理距离。另外,在其他示例实施例中,可将入射光波的相位与出射光波的相位进行比较来确定相移。然后可以使用相移来确定从捕捉设备到对象或目标上的特定位置的距离。
捕捉设备20还可包括存储器组件34,存储器组件34可存储由处理器32执行的指令、3-D 相机和/或RGB相机所捕捉的图像或图像的帧、或任何其他合适的信息、图像等等。根据一示例实施方式,存储器组件34 可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图2 所示,在一个实施方式中,存储器组件34 可以是与图像捕捉组件22和处理器32进行通信的单独的组件。
如图2 所示,捕捉设备20可经由通信链路36与计算系统12进行通信。通信链路36可以是包括例如USB 连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线802.11b、802.11g、802.11a 或802.11n 连接等无线连接。根据一个实施方式,计算系统12 可经由通信链路36 向捕捉设备20 提供可用于确定例如何时捕捉场景的时钟。另外,捕捉设备20 将由例如3-D 相机26 和/或RGB 相机28 捕捉的深度信息和视觉(例如,RGB )图像经由通信链路36 提供给计算系统12。在一个实施方式中,深度图像和视觉图像以每秒30 帧的速率传送。计算系统12 然后可使用该模型、深度信息、以及所捕捉的图像来例如控制诸如游戏或文字处理程序等的应用和/或动画化自我角色或屏上人物。
计算系统12 包括深度图像处理和骨架跟踪模块50,该模块使用深度图像来跟踪可由深度相机检测的一个或多个人。深度图像处理和骨架跟踪模块50 向应用196 提供跟踪信息,该应用可以是视频游戏、生产性应用、通信应用或其他软件应用等。音频数据和视觉图像数据也被提供给应用52 和深度图像处理和骨架跟踪模块50。应用52 将跟踪信息、音频数据和视觉图像数据提供给识别器引擎54。在另一实施例中,识别器引擎54 从深度图像处理和骨架跟踪模块50 直接接收跟踪信息,并从捕捉设备20 直接接收音频数据和视觉图像数据。
识别器引擎54 与过滤器60、62、64、……、66 的集合相关联,每一过滤器包括关于可由捕捉设备20 检测的任何人或对象执行的姿势、动作或状况的信息。例如,来自捕捉设备20 的数据可由过滤器60、62、64、……、66来处理,以便标识一个用户或一组用户何时执行了一个或多个姿势或其他动作。那些姿势可与应用52 的各种控制、对象或状况相关联。由此,计算环境12 可借助过滤器使用识别器引擎54 来解释移动。
图2 的捕捉设备20 向计算系统12 提供RGB 图像(或其他格式或色彩空间的视觉图像)和深度图像。深度图像可以是多个观测到的像素,其中每个观测到的像素具有观测到的深度值。例如,深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D 像素区域中的每一像素可具有深度值,如所捕捉的场景中的对象距捕捉设备的距离。
系统将使用RGB 图像和深度图像来跟踪用户的动作。例如,系统将使用深度图像来跟踪人的骨架。可以使用许多方法来使用深度图像跟踪人的骨架。使用深度图像跟踪骨架的一个合适的示例在2009年10月21日提交的Craig 等人发明的美国专利申请12/603,437“Pose Tracking Pipeline(姿势跟踪流水线)”(此后称为‘437申请’,)中提供,该专利申请整体通过引用结合于此。‘437申请’的过程包括获取深度图像,对数据进行降采样,移除和/或平滑高变度噪声数据,标识并移除背景,以及将前景像素中的每一个分配给身体的不同部位。基于这些步骤,系统将使一模型拟合到该数据并创建骨架。该骨架将包括一组关节和这些关节之间的连接。图3 示出了具有15个关节(j0、jl、j2、j3、j4 、j5、j6、j7、j8、j9、j10、jll、j12、jl3 和j14 )的示例骨架。这些关节中的每一个表示骨架中该骨架可以在x、y、z 方向上枢转的位置或身体上关注的位置。也可使用用于跟踪的其他方法。合适的跟踪技术也在以下四个美国专利申请中公开,所有这些申请都通过整体引用结合于此:2009年5月29日提交的美国专利申请12/475,308“Device for Identifying and Tracking MultipleHumans Over Time (用于随时间标识并跟踪多个人类的设备)”; 2010 年1月29日提交的美国专利申请12/696,282“Visual Based Identity Tracking (基于视觉的身份跟踪)”; 2009 年12月18日提交的美国专利申请12/641,788 “MotionDetection Using Depth Images(使用深度图像的运动检测)”;以及2009年10月7日提交的美国专利申请12/575,388“Human Tracking System (人类跟踪系统)”。
(图2 所示的计算系统12 的)识别器引擎54 包括多个过滤器60、62、64、……、66 来标识姿势或动作。过滤器包括定义姿势、动作或状况以及该姿势、动作或状况的参数或元数据的信息。例如,包括一只手从身体背后到身体前方的运动的投掷可被实现为包括表示用户的一只手从身体背后到身体前方的运动的信息的姿势,该移动将由深度相机来捕捉。然后可为该姿势设定参数。在姿势是投掷的情况下,参数可以是该手必须达到的阈值速度、该手必须行进的距离(绝对的,或相对于用户的整体大小)、以及识别器引擎对发生了该姿势的置信评级。用于姿势的这些参数可以随着时间在各应用之间、在单个应用的各上下文之间、或在一个应用的一个上下文内变化。
过滤器可以是模块化的或是可互换的。在一个实施例中,过滤器具有多个输入(这些输入中的每一个具有一类型)以及多个输出(这些输出中的每一个具有一类型)。第一过滤器可用具有与第一过滤器相同数量和类型的输入和输出的第二过滤器来替换而不更改识别器引擎体系结构的任何其他方面。例如,可以有用于驾驶的第一过滤器,该第一过滤器取骨架数据作为输入并输出与该过滤器相关联的姿势正在发生的置信度以及转向角。在希望用第二驾驶过滤器来替换该第一驾驶过滤器的情况下一一这可能是因为第二驾驶过滤器更高效且需要更少的处理资源― 则可以通过简单地用第二过滤器替换第一过滤器来这样做,只要第二过滤器具有相同的输入和输出一骨架数据类型的一个输入,以及置信度类型和角度类型的两个输出。
过滤器不需要具有参数。例如,返回用户的高度的“用户高度”过滤器可能不允许任何可调节的参数。替换的“用户高度”过滤器可具有可调节参数,如在确定用户的高度时是否考虑用户的鞋、发型、头饰以及体态。
对过滤器的输入可包括诸如关于用户的关节位置的关节数据、在关节处相交的骨所形成的角度、来自场景的RGB 色彩数据、以及用户的某一方面的变化速率等内容。来自过滤器的输出可包括诸如正作出给定姿势的置信度、作出姿势运动的速度、以及作出姿势运动的时间等内容。
识别器引擎54 可具有向过滤器提供功能的基本识别器引擎。在一实施例中,识别器引擎54 实现的功能包括跟踪所识别的姿势和其他输入的随时间输入(input - over - time)存档、隐马尔可夫模型实现(其中模型化系统被假定为马尔可夫过程 - 其中当前状态封装了确定将来状态所需的任何过去状态信息,因此不必为此目的而维护任何其他过去状态信息的过程 - 该过程具有未知参数,并且隐藏参数是从可观察数据来确定的)、以及求解姿势识别的特定实例所需的其他功能。
过滤器60、62、64、……、66在识别器引擎54 之上加载并实现,并且可利用识别器引擎54 提供给所有过滤器60、62、64、……、66的服务。在一个实施例中,识别器引擎54 接收数据来确定该数据是否满足任何过滤器60、62、64、……、66的要求。由于这些所提供的诸如解析输入等服务是由识别器引擎54 一次性提供而非由每一过滤器60、62、64、……、66提供的,因此这一服务在一段时间内只需被处理一次而不是在该时间段对每一过滤器处理一次,因此减少了确定姿势所需的处理。
应用52 可使用识别器引擎54 所提供的过滤器60、62、64、……、66,或者它可提供其自己的、插入到识别器引擎54 中的过滤器。在一实施例中,所有过滤器具有启用该插入特性的通用接口。此外,所有过滤器可利用参数,因此可使用以下单个姿势工具来诊断并调节整个过滤器系统。
关于识别器引擎54 的更多信息可在2009 年4月13日提交的美国专利申请12/422,661“Gesture Recognizer System Architecture(姿势识别器系统体系结构)”中找到,该申请通过整体引用合并于此。关于识别姿势的更多信息可在2009 年2月23日提交的美国专利申请12/391,150“Standard Gestures (标准姿势)”;以及2009年5月29日提交的美国专利申请12/474,655“Gesture Tool(姿势工具)”中找到,这两个申请都通过整体引用结合于此。
图4 示出了计算系统的一示例实施例,该计算系统用于跟踪应用所显示的自我角色或其他屏幕上对象的运动和/或动画化(或以其他方式更新)自我角色或其他屏幕上对象的计算系统12 。所描述的计算系统12 等的计算系统可以是诸如游戏控制台等的多媒体控制台100 。如图4 所示,多媒体控制台100 具有含有一级高速缓存102 、二级高速缓存104 和闪存R0M(只读存储器)106 的中央处理单元(CPU ) 101 。一级高速缓存102 和二级高速缓存104 临时存储数据并因此减少存储器访问周期数,由此改进处理速度和吞吐量。CPU 101 可以设置成具有一个以上的核,以及由此的附加的一级和二级高速缓存102 和104 。闪存ROM 106 可存储在多媒体控制台100 通电时在引导进程初始化阶段加载的可执行代码。
图形处理单元(GPU) 108 和视频编码器/视频编解码器(编码器/解码器)114 形成用于高速、高分辨率图形处理的视频处理流水线。数据经由总线从图形处理单元108 输送到视频编码器/视频编解码器114。视频处理流水线将数据输出到A/V (音频/视频)端口140 以传输到电视机或其他显示器。存储器控制器110 连接到GPU 108 以方便处理器访问各种类型的存储器112,诸如但不局限于RAM (随机存取存储器)。
多媒体控制台100 包括较佳地在模块115上实现的I/0 控制器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/0 子部件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可经由USB控制器126或其他接口来定义控制台100的附加输入设备。
图4 的系统中的任一个或不同计算系统可用于实现图2 的计算系统12 。如上所述,计算系统12 确定用户的运动,并采用这些检测到的运动来控制视频游戏或其他应用。例如,用户的运动可用于控制视频游戏中的自我角色和/或对象。在某些实施例中,系统可同时跟踪多个用户,并允许多个用户的运动控制应用。
上述视频游戏系统将使用深度图像和/或视觉图像来跟踪用户和对象。该跟踪随后被用来更新应用(例如,视频游戏)。因此,用户可通过使用用户的身体和/或用户周围的物体的移动来操纵游戏人物或应用的其它方面。例如,用户的运动可用于确定虚拟世界中的自我角色的移动。自我角色将执行与用户相同(或相似)的动作。在某些情形中,自我角色将执行用户正在执行的动作;然而,自我角色将以相比于用户的运动被放大的方式来执行该动作。
图5 是描述用于在用户和应用之间的交互期间提供放大的运动的过程的一个实施例的流程图。在以下讨论中,视频游戏将被用作应用的一个示例。然而,图5的过程也适用于其它类型的应用。在图5的步骤302,系统将使用(如上所述的)深度相机和/或视频相机来传感用户的运动。在步骤304 ,系统将确定预期动作。例如,系统将识别姿势的开始或预定义动作的开始。预定义动作的一个示例是跳或蹲。也可包括其他动作。在一个实施例中,如上所述地跟踪骨架,以便标识指示跳或蹲或其它动作的特定关节的运动。在某些实施例中,系统将不能从所发送的运动中确定预期动作。在一个实施例中,如上所讨论的,系统通过使用过滤器60、62、64、……、66 ,结合识别器引擎54 (见图2)来识别/确定用户的动作。
在步骤306,系统确定预期动作是否是能被放大的动作。系统将被配置成使得某些动作能被放大而其它动作不能被放大。在一个实施例中,仅跳和蹲能被放大。在另一实施例中,仅跳、蹲、手臂摆动、猛击和投掷能被放大。在其它实施例中,其它动作集能被放大。
如果预期动作不是能被放大的动作,则在步骤314,系统将与用户交互而不放大任何动作。如果预期动作是能被放大的动作,则在步骤308,确定应用的上下文是否适合放大。例如,系统将基于正在玩的视频游戏的上下文来确定放大动作是否适当。例如,如果视频游戏中的自我角色在洞穴或具有非常低的天花板的房间中,且用户执行了跳跃,则放大该跳跃不是适当的。如果应用的上下文不适合放大,则应用将与用户交互(步骤314)而不放大用户的动作。然而,如果上下文适合放大用户的动作,则在步骤310,系统将创建描绘该自我角色执行与用户相同的移动的动画;然而,该自我角色的移动相比于用户将被放大,所有这些都是响应于传感用户的运动来进行的。在一个实施例中,用户的动作的放大量将按照与用户的运动的幅度成比例的因子,这将在下文中描述。另外,在一个实施例中,将创建动画来与用户的动作同步,使得自我角色将在用户开始和停止用户的动作的同时开始和停止该动画。另外,在步骤312,系统将向用户提供与所传感的用户的运动的幅度成比例的音频/视觉反馈。出于本文的目的,“音频/视觉”包括仅音频、仅视觉、或音频和视觉的组合。在步骤314,系统将继续与用户交互。图5 的过程可被连续重复。
尽管图5 以顺序的次序示出了各步骤,但这些步骤可以按不同次序来执行。另外,且有可能,系统将同时执行这些步骤中的许多步骤。例如,在步骤314 ,应用与用户交互能在执行其它步骤302-312的同时发生。在一个实施例中,与用户交互的步骤314 在执行图5 的整个时间期间执行。在某些实施例中,步骤302 的运动传感被连续地执行,并且在确定预期动作时,可执行动作302 -312。另外,步骤310 和312 可被同时执行,使得该动画被实时地创建并显示。另外,步骤310-312可与传感用户的对应运动(步骤302)同时执行,使得该动画与用户的动作同步地显示。
图6 是描述用于创建描绘放大的移动的动画和音频/视觉反馈的过程的一个实施例的流程图。图6 的过程是图5 的步骤310 的一个示例实现。在图6 的步骤502 ,系统将确定移动的幅度。在一个实施例中,步骤502 包括确定速度、速率、加速度、距离和/或定时信息。在一个示例中,系统将确定在时间段P 期间用户动作的距离的单位量。在一个示例中,P 可以是一秒;然而,可使用其它时间段。距离单位可以是米、厘米、英寸等。
在步骤504,系统将访问比例参数。例如,系统将采用要用作乘数的数字来创建对应于用户的动作的、自我角色的移动的放大。在一个实施例中,该乘数可以是整数。在其它实施例中,可使用更复杂的数学函数来标识适当的乘数。该乘数可以基于用户的动作的幅度、应用的上下文和/或其它环境状况。在一个实施例中,系统将存储要评估的一组乘数或数学等式/关系。该组乘数或数学等式/关系在步骤504 中访问。步骤506 包括从步骤504 中访问的该组乘数或数学等式/关系中确定放大的幅度。
在步骤508,系统将基于步骤506 中所确定的放大幅度和图5 的步骤302 中所传感的用户的动作来为自我角色确定移动数据。在步骤510,系统将基于步骤508中所确定的移动数据来绘制自我角色移动。自我角色的移动将相比于所传感的用户的运动按照与所确定的用户动作的幅度成比例的因子来放大。
在步骤512,系统将提供与移动幅度成比例的音频/视觉反馈。在一个实施例中,系统将做出其音高或音调基于在步骤506 所确定的放大的幅度/因子来变化的声音,该放大幅度/因子本身基于用户的动作的幅度。在其它实施例中,系统可在动作的开头、期间或结束提供视觉反馈。例如,如果用户跳跃且自我角色做出更高的跳跃,则当自我角色落地时,地面可与放大幅度/因子成比例地摇晃。或者,自我角色的头发可在风中吹起,其中风具有基于放大幅度/因子的速度。音频/视觉反馈的其它示例包括跳跃顶部的云、跳跃离地之处飞起的鸭子、落地时的重击声、跳跃者离地之处的脚印等等。这些视觉反馈中的任一个可基于放大幅度/因子来变化。例如,改变鸭子飞起的量、改变人群的大小、改变落地时的重击声的音量15/音高/音调、和/或改变脚印的大小。
尽管图6按某一次序示出了各步骤,但图6的这些步骤可以按与所描绘的不同的步骤来执行。另外,图6的许多步骤可同时执行。例如,在一个实施例中,确定移动数据(步骤508)和绘制自我角色(步骤510)可连续执行,而放大幅度可在动作的开头确定。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。本发明的范围旨在由所附权利要求书来定义。