用于对象的行为翻译器的制作方法

文档序号:6480566阅读:249来源:国知局
专利名称:用于对象的行为翻译器的制作方法
技术领域
本发明涉及用于对象的行为翻译器。具体地但不排他地涉及下述的行为翻译器,该行为翻译器使得能够将虚拟对象的行为从与第一人口统计组相关的行为翻译为与另一人口统计组相关的等效行为。
背景技术
行为翻译器被构造用来将对象自动产生的行为从与一个人口统计组相关的行为翻译为与另一人口统计组相关的行为。行为翻译器由此使得虚拟对象的参与虚拟环境的一个观察者能够感知到行为符合一人口行为组的虚拟对象,其可能与参与相同虚拟环境的另一观察者所感知的行为不同。人口统计组是具有独特文化的任意人群,例如具有独特的宗教、政治、社会、语言、种族、国家,以及/或者其他特性的人群。
用于产生对象行为的方法和装置的示例构成了本发明人的同时待审的PCT专利申请“APPARATUS AND METHOD FOR GENERATING BEHAVIOUR INAN OBJECT”的主题,可以如在此所述对该对象实现行为翻译器。尽管本发明并不限于此,但是特别感兴趣的一种应用是对虚拟代理(agent)或对象产生传达肢体语言的自主行为,该虚拟代理或对象例如是可以在其中有来自不同文化背景的多个人类用户参与的虚拟环境中进行翻译的化身(avator)。
特别地,肢体语言根据文化而不同。可以从“PeoplewatchingTheDesmond Morris Guide to Body Language”,ISBN0099429780中获得有关肢体语言的更多信息,在此通过引用并入其全部内容。
动画对象,无论是虚拟的(例如化身)还是机器人(例如宠物“玩具”),都在其行为方面变得越来越复杂。具体地,顾客要求诸如化身和动画代理的虚拟对象能够表达更多的实际行为。在本发明的上下文中,化身被定义为用户在虚拟环境中的任意适当形式的可视表示。动画代理是基于智能软件的代理,用于在虚拟环境中和用户进行交互,或者用于交互娱乐。类似地,动画代理可以采用任意适当的形式。
当对象能够具有动画行为时,希望相对不擅长编程的用户具有使该对象的行为个人化的能力。当用户例如在组设置中寻求产生个性的感觉,以丰富该对象所扮演的角色,或者反映该用户自己的个性时尤其如此。
为了使对象让人类用户更加感兴趣,如果可以为对象提供个性,即,如果可以由用户来修改行为,则希望具有用户所期望的特定特性。
为了满足这些要求,用于产生动画对象的行为的行为模型变得越来越复杂。由于相对不擅长编程的用户缺乏对表示行为模型的复杂程序进行处理以及对支持该行为的代码进行修改所需的专业知识,所以当他们希望修改对象的行为时,会产生冲突。
本领域中已知的用于产生对象的自主行为并为对象提供个性的技术的应用有限。通常,当向非本领域的个人提供适当的手段来修改对象的行为并支持该对象的复杂行为时,实现了较差的折衷。如果用户希望实时修改对象的行为,则尤其如此。

发明内容
本发明希望提供一种行为翻译器,其用于将对象自主产生的行为从符合一个标准集合的行为翻译成符合另一标准集合的行为,该行为翻译器消除和/或减少了上述现有技术中的已知缺点。不同的标准集合可以包括表示不同文化和/或人口统计组的标准。
通过附加独立权利要求来提供本发明的多个方面,其中如下所述,优选特征表现为从属权利要求。
本发明的第一方面希望提供一种行为翻译器,该行为翻译器被构造为由虚拟对象的行为控制器使用,该翻译器用于将表示符合第一人口统计组的行为的信息映射为符合第二人口统计组的行为,该行为翻译器包括用于接收输入的装置;用于对所述输入进行处理,以使所接收的输入与符合第一人口统计组的对象的行为相关联的装置;以及用于将根据所接收的输入而获得的行为映射到产生符合第二人口统计组的行为的输出。
优选地,在行为控制器的控制下,使用用于产生对象行为的方法来产生翻译后的行为,该方法包括以下步骤接收与一个或更多个行为动作相关联的输入;根据用于产生对象行为的行为框架,通过所述输入来推断多个行为参数值;根据所推断的多个行为参数值获得输出;以及使用根据这些参数值获得的输出来产生对象的等效行为。
优选地,所述行为框架具有内部柔性(flexible)结构。
优选地,该框架包括行为节点的等级。
优选地,该框架是动态柔性的。
优选地,所接收的输入与多个行为动作相关联,并且通过所述多个行为动作输入的组合来确定所推断的各个参数值。
优选地,所述输入包括与产生该行为动作的输出直接相关联的至少一个行为参数值的集合,其中在推断步骤,推断至少一个或更多个其它行为参数值,根据这些行为参数值得到进一步的输出,以产生与该行为动作等效的行为。
优选地,该框架包括多个节点,每一个节点都与下述的函数相关联,该函数对一个或更多个参数进行运算,以提供用于修改对象的行为特性的输出。
优选地,通过用于对一个或更多个行为参数值进行运算的函数而产生的输出为动画系统提供输入,以产生该行为。
优选地,该函数对唯一分配给节点的至少一个行为参数值进行运算。
优选地,该函数对至少一个行为参数值进行运算,该至少一个行为参数值是可以由该框架的任意节点使用的全局参数值。
优选地,所述全局参数值与对象的情绪状态相关联,其中对通过框架节点的输出提供的对象的行为特性进行修改,以表示该对象的情绪。
优选地,根据输入使用对与个人特点相关联的内部参数值进行运算的函数来产生输出的节点影响对象的行为特性。
优选地,在该框架的输出节点处接收该输入,并且所接收的输入包括与产生行为动作的输出直接相关联的一个或更多个参数值的集合,并且在推断进一步参数值的步骤中,根据已经确定的参数值的集合来执行逆映射,以推断该框架的内部节点的进一步的多个行为参数值。
优选地,在接收输入的步骤中,在框架的全局参数节点处接收输入,并且网络的节点将所接收的输入映射到一个或更多个其他节点,来为框架的一个或更多个其他节点推断多个行为参数值。
优选地,在产生对象的等效行为的步骤中,在有关节的对象中产生该等效行为。
优选地,在产生对象的等效行为的步骤中,该等效行为包括面部表情行为。
优选地,对象的等效行为包括以预定顺序执行的多个行为动作。
优选地,对象的等效行为包括以随机顺序执行的多个行为动作。
优选地,该行为动作在某一时间段执行。
优选地,所述多个行为动作中的一个或更多个同时执行。
优选地,该行为包括选自包括以下各项在内的组的行为动作注视、四肢运动、说话、姿态、姿势、语调、点头、对象之间的距离、行为礼节。
优选地,根据对象的行为动作获得所接收的输入,该行为动作是通过人类用户对该对象的直接操控而引起的。
另选地,根据与该对象交互的另一对象的行为动作来获得所接收的输入。
优选地,该对象是在虚拟环境中进行操作的虚拟对象,其中所接收的输入是通过在该虚拟环境中与该对象交互的另一虚拟对象的行为动作而得到的。
优选地,所接收的输入包括与行为控制器的用户所执行的行为动作相关联的输入。
优选地,该方法还包括以下步骤将作为输入接收的行为动作翻译为在文化方面等效的行为动作;以及产生与该文化方面等效的行为动作等效的行为。
优选地,使用用于推断对象的行为控制器的多个内部参数值的方法来产生翻译后的行为,该方法包括以下步骤接收表示行为动作的输入;根据所述接收的输入推断与该对象的等效行为动作相对应的至少一个输出值的集合;以及根据所述至少一个输出值的集合推断所述多个内部参数中的每一个的值,其中对所述多个内部参数中的每一个推断的值通过行为控制器产生输出,从而产生与该等效行为动作等效的行为。
优选地,使用用于产生对象行为的方法来产生翻译后的行为,该方法包括根据以上方面推断对象的行为控制器的多个参数值,并且还包括使用所述推断的多个参数值来产生与所述等效行为相关联的所述输出值的集合;以及使得所述有关节的对象执行所述行为。
优选地,使用用于控制有关节对象的行为的方法来产生翻译后的行为,该方法包括以下步骤使用用于向对象的行为控制器提供输入的行为设计界面,向与该对象的行为特性相关联的行为参数集合赋值,每一个所述行为参数集合都包括影响行为特性的至少一个参数;利用由行为简档(profile)限定的默认值,使该参数集合中的每一个参数与通过对所赋的值执行一函数而获得的参数值相关联;将所述参数值输入到对象的行为控制器;根据所述输入推断出由行为控制器产生的输出;使该输出与对象的行为动作相关联;以及使对象执行该行为动作。
优选地,该函数是恒等函数。
优选地,通过下述行为来产生翻译后的行为,该行为已经通过使用用于直接操控对象以控制其行为的方法而产生,该方法包括以下步骤操控对象以执行行为动作;向行为框架的输出节点提供表示该行为动作的输入,该输出节点还用来提供用于产生对象的等效行为的输出,在该行为框架内对该框架的输出节点所接收的输入进行映射,以得到该框架的其他行为节点的至少一个参数值的集合;根据所得到的至少一个参数值的集合推断输出值的集合,该输出值的集合将产生对象的其他等效行为。
优选地,响应于接收到与行为动作相关联的输入,实时产生对象的行为。
优选地,所述对象是设置在虚拟环境中的虚拟对象。
另选地,所述对象是机器人对象。该对象可以是玩具。
优选地,使用包括用于产生对象行为的行为控制器的装置来产生翻译后的行为,该控制器包括用于接收与行为动作相关联的输入的装置;用于通过所述输入根据用来产生对象行为的行为框架来推断多个行为参数值的装置;用于根据所推断的多个行为参数值来获得输出的装置;以及使用根据所述参数值得到的输出来产生对象的等效行为的装置。
优选地,用于产生等效行为的装置包括用于将根据所述参数值得到的输出转发给动画系统的装置,该动画系统用于对该输出进行操作,以使对象进行适当行为的动画。
优选地,接收装置包括用于从该对象的行为框架外部的源接收至少一个参数值作为输入的装置。
优选地,用于推断多个行为参数值的装置包括节点的框架,每一个行为节点都用于将至少一个输入参数值映射为至少一个输出参数值。
优选地,至少一个节点用于对选自包括以下参数的组的至少一个参数值进行映射对行为框架中的每个节点定义的参数;在该行为框架的每个节点内定义的参数;以及在该行为框架外部定义的参数。
优选地,用于接收输入的所述装置被设置用来接收来自行为设计界面的输入,该行为设计界面包括用于使得能够向行为参数集合赋值的装置,该行为参数集合包括根据该对象的行为框架定义的至少一个行为参数;以及用于通过预定函数对赋给该行为参数集合的值进行运算,以确定内部参数的值的装置。
优选地,所述对象是用于在虚拟环境中进行操作的虚拟对象。
优选地,以下述方式提供来自所述行为控制器的输出,该方式使得该输出适于由另一对象的行为控制器作为输入接收。
优选地,该行为控制器还包括翻译单元,用于将所接收的根据符合第一文化的行为得到的输入映射为符合第二文化的输入。
优选地,该行为控制器还包括翻译单元,用于将符合第一预定文化的行为输出映射为符合第二预定文化的行为输出。
优选地,所述对象是用于在从虚拟环境组中选择的任意一个虚拟环境中进行操作的虚拟对象,该虚拟环境组包括虚拟计算机游戏、虚拟在线会议、在线游戏、在线聊天室、化身招待会议、化身辅导会议、基于化身的调解环境、基于化身的销售环境、在线协作环境、在线顾客关系管理环境。
优选地,使用包括行为设计界面的装置来产生翻译后的行为,该界面包括用于使得能够向行为参数集合赋值的装置,该参数集合包括与该对象的行为特性相关联的至少一个参数值,其中提供使用该界面所赋的值作为如以上任一方面中所述的装置的输入。
优选地,该输入装置用于接收输入,该输入包括与产生行为动作的输出直接相关联的至少一个行为参数值的集合,其中用于进行推断的装置被设置用来推断至少一个或更多个其他行为参数值,通过这些行为参数得到进一步的输出,以产生与该行为动作等效的行为。
优选地,该输出装置接收输入,该输入包括与下述输出直接相关联的至少一个行为参数值的集合,该输出与对象的直接操控相对应。
优选地,用户向该装置提供输入。另选地,软件代理向该装置提供输入。
优选地,使用其上存储有至少一个计算机程序的集合的设备来产生翻译后的行为,该至少一个计算机程序的集合可以在该设备上执行,以使得该设备用作以上任意方面所限定的装置。
优选地,使用网络来产生翻译后的行为,该网络包括能够相互进行通信的多个所述设备,各个设备都用于远程访问所述至少一个计算机程序的集合的一部分,以使得能够通过所述至少一个计算机程序的集合来控制在所述其他设备的环境中进行操作的对象。
优选地,使用用于在包括节点框架的行为控制器的控制下产生对象行为的方法来产生翻译后的行为,该方法包括以下步骤至少一个节点接收与行为动作相关联的输入;所述至少一个节点中的每一个将所接收的输入映射为输出;使用所述输出为该框架内的其他节点推断多个行为参数值;使用所述推断的行为参数值对所接收的输入进行映射,以通过用于产生该对象的等效行为的行为控制器来提供输出。
优选地,使用用于在行为控制器的控制下产生对象行为的方法来产生翻译后的行为,该方法包括以下步骤接收与行为动作相关联的输入;将所述接收的输入映射为与该对象的等效行为相对应的至少一个输出值的集合;根据用于产生该对象行为的行为框架,通过所述至少一个输出值的集合来推断多个行为参数值;以及通过将所述参数值加载到行为控制器中,来使用这些参数值产生对象的等效行为。
优选地,所推断的参数随时间而改变。
本发明的另一方面涉及一种计算机程序产品,其包括一个或更多个计算机程序的集合,这些计算机程序用于执行指令集合,以执行本发明以上方法方面中的步骤。
优选地,由于对象的等效行为可以包括以预定顺序执行的多个行为动作,所以即使在由相对不精通本领域的用户来提供复杂的行为的情况下,也可以对更复杂的行为进行翻译。更优选地,可以将随时间而变化的行为参数合并到行为控制器中,以提供更加真实的自主动画行为。
优选地,通过具有根据输入来推断随后可以用来产生对象的等效动作的内部参数值的能力,根据本发明的行为翻译器能够使用下述产生行为的方法利用由用户或另一应用提供的相对简单的数据输入来产生对象的复杂行为。
优选地,可以产生复杂的行为,该复杂的行为可以包括一个以上的行为动作,这些行为动作中的两个或更多个可以同时执行。例如,可以对诸如化身的有关节对象的行为进行控制,以同时执行该化身的姿势和凝视行为。例如,该化身可以在捡起物体时自动看着该物体,或者另选地,作为另一个示例,如果一化身不敢响应于具有侵略性的另一个化身,则该胆小的化身可能同时改变姿势和凝视,耸肩并向下看。
优选地,本发明提供了一种装置,用于通过增加用户可以在聊天室的虚拟介质中传达的表情的数量,来提高用户的聊天室经验,并且提供了一种在符合不同人口统计组的标准的集合之间翻译表情的方法。肢体语言的存在(具体地,当通过同时执行诸如姿势和凝视的两个或更多个行为动作时)使得化身更加生动和人性化,并提高了它们交流的质量。
然而,在产生更复杂的行为时,对所产生的自动行为进行增强的行为中的微小的人口统计组和/或文化差异在另一人口统计组/文化中可能不具有相同的内容。优选地,在此所述的产生行为的方法使得能够根据对象的观察者的文化和/或人口统计组来产生行为动作,并且在由来自不同人口统计组/文化的观察者观看对象的情况下,将该行为自动地翻译为符合不同文化/人口统计组的标准的等效行为。这使得在由属于一个人口统计/文化组的观察者进行感知时,相对于由另一组中的观察者感知的行为动作,对象执行了不同的/更少或更多的行为动作。
因此,本发明优选地使得一组化身能够调整它们的行为,以使每个化身都可以按照适当的方式对其他化身的肢体语言做出反应。
对于本领域的技术人员而言,显然可以按照任意适当的方式将从属权利要求中所述的优选特征与以上方面中的任意方面适当地进行组合。


下面将参照附图,仅以示例的方式来说明本发明的优选实施例,附图中图1A示意性地表示了本发明的第一实施例;图1B示意性地表示了图1A所示的行为设计用户界面的放大视图;图2A更详细地表示了图1A所示的两个化身的中立姿势;图2B表示当Bill化身具有较高的男子气概时两个化身的姿势;图2C表示当Bill化身具有较高的挑逗性时两个化身的姿势;图2D表示当Bill化身具有较低的挑逗性时两个化身的姿势;图2E表示当BOB化身具有较高的putUpon和聆听级别以及较低的domSub级别时两个化身的姿势;图3表示根据本发明的行为体系结构的示意性概要图;图4表示根据本发明实施例的行为模型的分级层次;图5是根据本发明实施例的对象的行为控制器的简化框架的示意图;图6是诸如图5和7中所示的体系结构的框架中的行为节点的示意图;图7是根据本发明另一实施例的比图5所示的更加复杂的用于对象的行为控制器的框架的示意图;图8是示意性地表示根据本发明的产生对象行为的方法中的实时步骤以及离线简档和形容词(adjective)设计的流程图;图9A是表示行为框架如何产生根据本发明的等效行为的流程图;图9B是表示用户如何控制化身的肢体运动以对赋给行为控制器的特定行为参数的值进行重新赋值的流程图;图10A示意性地表示执行了问候行为动作的化身;图10B示意性地表示执行了与图10A所示等效的问候行为动作的化身;以及图10C示意性地表示执行了与图10A和图10B所示等效的另一问候行为动作的化身。
具体实施例方式
下面参照附图来说明发明人当前构想的本发明的最佳实施方式。然而,对于本领域的普通技术人员而言,很明显,本发明的说明仅是示例性的,并且并不旨在将本发明仅限制为所述实施例。
根据本发明一个实施例的行为翻译器是使用用于产生以下参照附图所述的行为的方法和装置来实现的。
下面参照附图中的图1A,示出了本发明的第一实施例,其包括用于产生、推断和设计化身和虚拟角色的肢体语言的工具。本发明的该实施例是对互联网聊天室以及计算机游戏型环境等中的虚拟对象的行为特性进行控制的具体应用。
在图1A中,示出了计算机设备1。假定该计算机设备1由不具备高级计算机编程技能的人类用户(未示出)来操作。“计算机设备”一词用于暗示可以安装在可视显示器上的具有数据处理能力的任意设备,例如游戏控制台、个人数字助理,以及诸如移动电话的移动通信设备等。
计算机设备1具有可视显示装置2,例如监视器,该可视显示装置2具有显示器3。用户可以采用任意适当的操纵(navigate)装置(例如鼠标或键盘(未示出))来操纵显示器3。其他实施例可以包括诸如铁笔、轨迹板,以及游戏杆的操纵工具,可以以等效的方式来使用它们。
显示器3包括其中运行虚拟环境应用的窗口4。窗口4中显示有包含虚拟对象的虚拟环境。为了清楚起见,在本发明的该优选实施例的上下文中仅讨论两个虚拟对象。如图1A所示,这两个虚拟对象是包括能够进行动画的两个化身5、6的有关节对象。这里,也将化身5称为Bob,而将化身6称为Bill。尽管Bill和Bob具有图1A所示的实施例中的有关节形式,但是虚拟对象也可以是无关节的,例如包括可以扭曲以显示情绪等的面部。因此,行为的基准包括对象的面部表情行为以及任意形式的行为,而与对象的形式无关。
尽管虚拟对象5、6被构造为能够半自主地动画(这种情况下,它们需要来自用户的至少某些输入),但是也可以对虚拟对象5、6中的至少一个进行离线编程,以使用根据本发明其他实施例的行为控制器自主地进行操作。在本发明的上下文中,离线是指当虚拟对象未在它们的虚拟环境中执行动画行为,或者当这种行为暂停或中断,而在继续之前进行离线编程时,对行为控制器进行编程。
下面返回图1A,虚拟环境中的虚拟对象5、6包括两个人类化身。然而,本领域的技术人员可以理解,虚拟对象可以采用的形式可以根据情况而发生相当大的改变。例如,根据其角色,虚拟对象可以是动物或者能够进行动画的任意其他的有关节对象。有关节一词在此定义为包括能够彼此相对运动的部分,例如,肢体或关节。
显示器3还显示行为设计用户界面7。行为设计用户界面7包括相对于虚拟环境窗口4的独立窗口。行为设计用户界面7使得用户能够向行为控制器提供输入,以通过一个或多个虚拟对象5、6来产生行为。行为设计用户界面应用可以包括应用的包括行为控制器的部分,或者可以作为与包括该行为控制器的应用连接的独立软件应用的一部分来提供。行为控制器包括根据预定行为框架设置的连接节点的集合,该框架中的每个节点都基于多个参数将输入映射为输出。下面详细说明行为控制器。
在图1A中,用户通过使用行为设计用户界面的轨迹条9中的滑块8适当地选择行为参数值,来对两个虚拟对象5、6进行控制。为了清楚起见,图1A中仅标出了用于男子气概行为参数设置的轨迹条和滑块。然而,下面参照图1B,示出了图1A的行为设计用户界面的放大图。
行为设计界面图1B更详细地示出了图1A的行为设计用户界面7。如图1B所示,行为设计用户界面7为用户提供了在图1A的虚拟环境窗口4中进行交互的虚拟对象Bob和Bill中的每一个的菜单选择范围。在本发明的另选实施例中,用户可以对该环境中的其他虚拟对象的行为进行较少的直接控制,但是为了简单,这里假定用户希望对Bob和Bill都进行直接影响。然而,即使在没有提供对另一虚拟对象的直接控制的情况下,用户仍然可以间接影响其他虚拟对象的行为,如下面将详细说明的。
在图1B中,为了清楚起见,仅标出了用于选择轨迹条9a、11a中的标有挑逗性的行为参数设置的值的滑动条8、10。
如图1B所示的行为设计用户界面7包括两个行为简档9a至9h和11a至11h。所示的每个行为简档都包括“形容词”集合或与虚拟对象的特定行为特性相关联的等效行为参数集合。如图1B所示,行为参数集合包括挑逗性9a、11a;友善性9b、11b;男子气概(9c,11c);其他爱好(9d,11d);悲哀(9e,11e);自傲(9f,11f);害羞(9g,11g)以及优越感(9h,11h)。
用户可以构造包含行为参数集合的不同选择的其他行为简档。还可以修改多个个体行为参数中的每一个的特性,该多个个体行为参数包括行为参数集合。通过行为控制器的行为框架来限定行为参数集合的设计,以集中修改预定的行为特性。因此,参数集合设计是比简单选择哪些行为参数集合来形成参数简档需要更多技能的任务。参数集合可以仅包括单个参数。例如,其值可以对行为框架内的所有行为节点的输出产生影响的全局参数,或者其值仅对框架的单个行为节点的输出产生影响的内部参数。
返回图1B,轨迹条9a至9h和11a至11h的轨道长度表示用户可以通过定位滑动条8或9来选择的可能值的范围。应该理解,在图1B中,为清楚起见,仅标注了第一挑逗性行为参数设置的滑动条。在其他另选实施例中,可以使用其他的值选择装置,例如,单选按钮、下拉窗口等,或者直接输入控制数据。然而,使用滑动条和轨迹条是特别优选的,因为这使得能够容易地向参数赋予连续范围的值,而不会不适当地使用户偏移主画面显示虚拟环境窗口4。
图1B所示的值为虚拟对象5、6提供了与各个所显示的行为参数设置相对应的中立姿态,这些参数已经由用户赋予了值0。在图2A中更清楚地示出了这种情况,图2A示出了图1A所示的两个虚拟对象的中立姿态以及图1A和1B中所示的对应行为参数设置值。
图2B示出了用户如何通过移动用于虚拟对象6(Bill)的男子气概轨迹条中的滑块来直接影响Bill的行为,以及间接影响Bob的行为。在图2B中,用户使用男子气概行为参数设置轨迹条中的滑块赋值14,并且Bill显示通过用于Bill的行为控制器而产生的行为。Bill的行为控制器已经根据用户输入,通过获取该输入并通过行为框架对其进行传播,以向框架的行为输出节点赋予合适的值,来推断出需要哪种等效的男子气概行为。
Bill的行为控制器已经通过所赋予的男子气概值14推断出图2B所示实施例中的等效行为动作包括Bill保持男子气概姿势。可以获得多种男子气概姿势,以及其他男子气概行为,例如男子气概手势、凝视、姿态、面部表情等。Bill的行为控制器还向反映Bill的男子气概行为动作的Bob的行为控制器输出一个或更多个值。该输出包括要由Bob执行的行为动作,该行为动作表示他对Bill的男子气概的反应。
Bob的行为控制器接收根据Bill的行为动作而获得的输入,该输入使得Bob的行为控制器能够有效地解释由Bill的行为所传达的肢体语言。该输入可以表示包括对Bill的男子气概行为的响应的行为动作,例如,将改变由Bob的行为框架产生的行为的一个或更多个参数值。另选地,Bob可以仅接收表示Bill的行为的参数值指示,并且Bob的行为控制器可以根据由Bill提供的参数值来推断出哪些输出值与该响应相对应。然后,Bob的行为控制器能够根据这些输出值推断出其他行为参数值(这些行为参数值将在Bob的行为框架中产生与该响应等效的行为),并使用这些行为参数值产生输出,然后执行该行为。如图2A所示,其包括Bob在Bill面前采取顺从姿态。
通过以上所述的方式,用户能够通过改变虚拟对象6的行为参数设置值,间接地修改虚拟对象5的行为。假定Bob具有更顺从的姿态,而无需用户直接将Bob的轨迹条移动到顺从位置。一个虚拟对象(Bob)的行为控制器对另一虚拟对象(Bill)的行为所传达的肢体语言进行解释。这已经通过第一对象的控制器产生由另一对象的行为控制器所接收的输出得以实现,该另一对象传达了表示肢体语言的信息。随后通过另一虚拟对象的行为控制器推断出适当的内部行为参数值,这些内部行为参数值对另一虚拟对象的行为进行修改。对于本领域的技术人员,很明显,如果每个虚拟对象都具有用于接收输入的适当行为控制器,则可以将肢体语言信息传达给一个以上的虚拟对象。
在图2A所示的本发明的实施例中,与角色Bob(虚拟对象6)相对应的行为框架的参数值并不受赋予给Bill的值的直接影响,并且Bob的显示滑块值并不改变。然而,在本发明的其他实施例中,也可以自动更新滑块值以反映它们的新值。
图2C示出了在本发明的一个实施例中,如何将一个虚拟对象的肢体语言传达给另一虚拟对象,以建立适当的行为响应。在图2C中,在图2B所示的行为之后,Bill的用户为男子气概赋予值1,并为挑逗性赋予值10。此时,Bill的行为控制器产生自动行为,例如图2C所示,使Bill伸手并接触Bob的手臂。Bob的行为控制器将Bill的肢体语言解释为表示他缺少男子气概且更加友善,以及伸手接触Bob的动作因此是友善的并没有恶意。例如,这可以通过使用Bob的行为控制器已接收的输入将由Bill的控制器提供的参数值解释为表示Bill是友善的来实现。因此,与显示防御行为(例如,如果Bill以敌对的方式接触Bob,则产生防御行为)相反,Bob采取低防御姿态,并略微前倾,而不是保持顺从姿态。看到Bob为低度防御,用户此时可以将Bill的挑逗性和男子气概的级别设定为较低值,如图2D所示,这导致了两个化身的更加友善的行为。
如图2A至2D所示,用户无需表示特定的肢体移动或文本中的关键字以表示行为动作,行为控制器响应于所赋的行为参数设置值,实时自主地产生适当的行为。
优选地,通过将行为设计用户界面7设置为窗口型软件应用,可以根据用户需求来改变所显示的界面范围。在图2E中,Bob的行为简档在行为设计用户界面窗口7中可见,并且对于Bob显示了不同的行为简档,其包括与图2A至2D中的行为简档中所示不同的行为参数集合。
在图2E中,用户为Bob赋予了较高的聆听行为参数设置值、一样高的putUpon行为参数设置值。图2E所示的其他参数设置包括touchyFeely、domSub等。对Bob赋予了相对低的domSub值。Bob的行为控制器使用这些值产生了适于这些值的行为,因此,Bill采取直立的姿势,而Bob采取更顺从的姿势。
附图的图3示意性地表示了本发明的行为控制器如何根据行为模型30来产生对象的行为。行为模型30定义了对象的特定行为框架31,该行为框架31管理如何使用该框架所接收的输入来产生特定的行为,例如姿势32、手势33、面部运动34、凝视35。行为框架31包括多个节点,并稍后对其进行详细说明(参见图5和7的行为框架的示例)。
可以从各种外部和内部源获得框架31的输入。例如,从外部环境/事件36、从其他角色37、从其他情绪暗示38、从预定简档39。框架31本身也可以用于设计特定的简档40,所得到的简档39随后向框架31提供输入,以修改赋予框架节点的一个或更多个行为参数的值。
在用户直接操控化身或使用行为设计用户界面41直接输入值的情况下,可以利用通过移动而赋予该框架31的姿势32、手势33、面部34以及凝视34行为输出节点的值,直接向框架31提供输入。该框架随后推断行为动作的适当值,并且用户界面/跟踪系统40随后使用该动画系统产生适当的动作。
利用动画子系统43,集中地使用由姿势、手势、面部和凝视行为节点的输出值来适当地产生动画行为。可以通过任何适当的动画应用,例如,诸如Quake引擎的计算机游戏引擎或者诸如SGI的Open Inventor库的基于场景图的计算机图形系统来提供所使用的动画子系统。
行为模型体系结构下面将参照附图的图4,图中示意性地表示了根据本发明的分层等级行为模型的分级结构。
图4示出了本发明的优选实施例,其中该行为模型的功能包括五层第一层,其在功能上涉及用于限定行为模型51的框架中的行为节点的设计;第二层,其在功能上涉及行为体系结构本身52a的设计并涉及“内容创建”52b(其涉及通过本领域技术人员进行的与输出行为相对应的实际动画等的创建);第三层,其在功能上涉及行为形容词(等效地,为行为参数集合)53的设计;第四层,其在功能上涉及参数值选择机制,例如图4所示,滑块功能54a,涉及行为简档54b的设计,并涉及通过直接操控虚拟对象54c来直接向该模型提供输入;以及最后的第五层,其涉及实时控制55。
在本发明的其他实施例中,可以在行为设计和控制体系结构中提供更多层的复杂结构,然而,如果要支持实时控制,则本发明的优选实施例最少需要5层。
与该行为模型的层连接所需的专业知识的级别和/或信息量通常取决于框架的具体特征或者用户想要修改的功能。例如,对模块的上层(例如,层4和5)的连接需要用户部分相对少的专业知识,即,任何人都可以根据本发明的该方面对虚拟对象进行实时控制。然而,希望设计节点类型(即,对行为等级的级别1的连接)的用户可能是专业程序员。
图4所示的行为模型与Scerri & Ydrèn的已知多层行为设计和控制体系结构(参见下文)的不同之处在于,层数(其增大了复杂度)和模型中包括实时控制(例如,参见Scerri和Ydrèn[End User Specificationof RoboCup Teams,RoboCup-99,Robot Soccer World Cup III,Springer-Verlag Lecture Notes in Computer Science(2000)],以获得该简单多层体系结构的更多细节)。除了具有更加复杂的分级结构,以及实现实时控制功能的能力以外,其他的区别特征包括提供了行为参数推断方案,该方案使得能够根据所输入的参数值内部推断出行为框架的行为参数值。因此,当用户输入与行为特性相关联的一个或更多个行为参数值的集合,或者操控对象以产生特定的行为动作时,可以使用所接收的输入来产生包括一个或更多个行为动作的其他等效行为。以下将更详细地说明该行为参数推断系统。
在图4中,设计节点型层51涉及对与动画控制系统连接的输出节点的设计。通常,输出节点的输出由该节点的其他部分使用,以使虚拟对象进行动画。该动画系统包含多个参数,这些参数控制其产生的行为。输出节点对于动画系统的每一个参数具有一个输出,并且将该参数直接设定为该输出的值。例如,在姿势节点的情况下,根据各个基本姿势的权重,作为一组基本姿势的组合而产生新的姿势。姿势与运动组合系统按照其权重的比例组合在一起。姿势节点对于各个姿势都具有与其权重相对应的输出。其他输出行为在参数和行为之间具有更复杂的映射。例如,可以通过程序员(通常非常精通其技术领域)创建该节点类型的子类型,然后通过在运行时将该新类型添加至该体系结构的框架中来创建输出节点,该节点可以用于在行为控制器定义中从文件进行读取。在本发明的其他实施例中,输出节点调整其输出以适应正在使用的动画系统。
通常需要对用户进行训练,使其在对行为设计模型的层2的体系结构设计52a或内容创建52b特征进行修改之前熟悉该行为框架。层2包括用于创建特定应用的虚拟对象的框架。其包括对行为控制器的设计以及对输出节点的内容的设计。例如,输出节点可以被设计为产生基于预先存在的运动或其他内容的行为。许多输出行为都基于某些预先存在的动画和类似内容,例如,姿势模型基于一组预先存在的姿势,而面部表情模型基于一组预先存在的面部表情。这可以由专业设计人员使用商业3D建模工具来创建。
通常通过设计规范文件(例如,XML文件或者可以手工编辑的其他合适的文件类型(可能是特殊设计的文件类型))来指定行为控制器的设计。在另选实施例中,由于行为控制器具有图形结构,所以可以提供简单的图形编辑工具,以对设计规范文件进行编辑。当对设计规范文件进行了编辑时,可以使用上述行为框架将其编译(complied)到控制器中。
图4中的形容词设计层53和滑块54a、简档设计52a、直接操控52c,以及层3、4和5的实时控制特征用于使普通技能的用户能够定制对象的行为。具体地,用户可以通过设计行为简档来与层3和4进行连接,如以下参照附图的图8进行的详细说明。
行为控制器下面参照附图的图5,该图示出了根据本发明第一实施例的虚拟对象的行为控制器的框架60。在图5中,行为控制器的框架60包括多个计算节点,用于将来自一个或更多个源的输入映射为一个或更多个输出。框架60内的节点包括用于提供外部输入的节点61,该外部输入例如是可以从其他虚拟对象的行为得到的输入;全局参数节点62,其提供可以由框架中的所有节点访问(直接或间接)的全局框架参数及其相关的输入值;行为节点63a、63b、63c、63d,通过名称对这些行为节点进行标识,并且这些行为节点与特定节点内部的一个或更多个值相关联;以及输出节点64、65,其可以包括外部输出节点64或行为输出节点65,外部输出节点64输出可以外部使用(例如,由其他虚拟对象的行为控制器使用)的参数值,行为输出节点65提供由行为动画机制使用的参数值,以产生提供适当行为的虚拟对象的实际所需动画。从编程的角度来看,每一个参数都由名称-值对构成,例如,纹理名称以及所赋予的数值。所使用的行为模型的精确体系结构确定了行为控制器的框架60的形式。
在图5中,框架60包括多个行为节点63a、b、c、d,它们的功能是根据多个参数将多个输入映射为多个输出。图5示意性示出了外部输入61和全局参数输入62如何集中地向行为节点63a、b、c、d提供输入。节点63a、d还从节点63b、c接收输入。
外部输入61包括与环境和其他对象相关的高级信息,例如,其他角色的友善或顺从程度。
全局参数输入62包括虚拟对象的高级属性,这些高级属性影响虚拟对象的行为,并且修改由各个行为节点确定的特定行为。例如,全局参数值可以包括诸如对象的情绪或态度(例如愉快或友善)的特征。再次简要地参照图1B,标出了多个行为参数设置,以表示各种全局参数,例如角色有多友善或者有多害羞。
输入到行为控制器框架内的行为节点63a、b、c、d的每个全局参数名称-值对都产生一个或更多个数值输出。这些数值输出随后作为外部输出节点64的外部输出进行传送,或者与输出节点65的行为输出相关联。
外部输出64包括与外部输入等效的信息,例如虚拟对象有多友善或多顺从。作为外部输出而提供的参数名称-值对传达肢体语言信息。当该外部输入由其他虚拟对象接收时,其使得能够推断出其他虚拟对象的内部行为参数,该内部行为参数对其他虚拟对象的行为进行修改。通过匹配具有相同名称的名称—值对,使一个控制器的外部输出与提供给其他虚拟对象的行为控制器的外部输入相互关联。
每个行为输出节点65都产生与行为动作相对应的输出。从编程的角度来看,行为输出节点65包括行为节点63a、b、c、d的子类型(在面向对象方面),并执行与从参数到行为相类似的从输入到输出的映射。行为输出节点65产生可以由该输出节点的其他部分使用,以使该角色进行动画的输出。例如,在姿势输出节点中,存在一组基本姿势以及用于各个基本姿势的参数,根据这些基本姿势来产生新的姿势。根据对象的关节角度(作为欧拉角)来存储姿势的实际表达。通过使用姿势的参数作为权重,对与基本姿势相对应的角度执行加权求和,来产生新的姿势。将所产生的角度直接传送给基本几何表达中的对应变换。
框架中的行为节点的结构和功能下面参照图6,该图示出了图5的行为节点63d的放大视图。图6示意性地表示了行为节点可以如何使用来自多个不同源的输入。如图6所示,行为节点63d能够接收多达3种不同类型的输入,这些输入由行为节点根据其内部参数设置沿前向方向映射为一个或更多个输出。在图6中,对行为节点63d的输入可以来自另一行为节点(例如节点63b、c)的输出;来自由一个或更多个全局参数名称-值对提供的输入62;和/或来自该框架外部的源的外部输入61。可以根据交互规则的预定设置,通过与该对象进行交互的另一对象来产生外部输入61。可以通过该节点来修改对行为节点的外部输入。例如,如果输入超出可接受范围,则可以忽略该输入,或者将其限制为最大或最小值。另选地,如果外部输入表示根据与用户的文化不同的文化执行的动作,则可以首先对该外部输入进行适当的修改,以保证该框架实际上使用与用户自己的文化中的适当行为相对应的外部输入,来修改用户的虚拟对象的响应。
图6还示出了行为节点如何可以使其功能颠倒并执行逆映射。无论何时通过框架以与行为节点的输出相对应的级别接收到输入时,都执行逆映射。例如,当用户直接操控对象,以与行为节点65的输出等效的级别对框架提供输入时,会产生这种情况。于是,所接收的“输出”为通过框架进行的逆映射的起始点,每一个内部行为节点都具有以上述方式(以下将更加详细地说明)推断出的参数值,直到最终确定该框架(用于产生所接收的“输出”)的全局参数值为止。
在前向或后向方向上,该框架中的各个行为节点都能够根据该节点的功能,基于多个参数将一个或更多个输入映射为一个或更多个输出。
前向映射在前向映射的情况下,以多项和的形式Oi=ΣjTij]]>给出由对象的行为控制器提供的输出,其中各个项Tij是多个因子的乘积Tij=∏kFijk,]]>其中各个因子是内部参数或节点的输入。如上所述,对节点的输入可以来自另一节点的输出,为全局赋予整个体系结构的参数,或者为来自另一体系结构(即,来自另一对象的行为控制器)的外部输入。
例如,可以使用具有值1.2的全局参数“友善”(表示该角色本质友善)对角色进行设置,该角色也可以从另一角色接收具有值1.5的外部输入“快乐”(表示该另一角色快乐)。在节点内将这些值相乘,以产生具有值1.8的输出“靠近”(表示该角色应该对其他角色采取靠近的姿势)。然后将该输出传送至其他节点,这些其他节点确定该角色应该通过组合两个基本姿势(向前倾和朝向另一角色)来实现该动作。应该根据该“靠近”输出来计算这两个姿势的权重,并将其传送给用于产生新姿势的动画系统。
下面参照图7,该图更加详细地示出了根据本发明第二实施例的行为控制器的框架。在图7中,行为节点包括直接均衡、支配因子、直接差异、响应、支配差异、从属关系、状态、快乐、亲近、空间填充(spacefling),以及放松。行为输出节点65包括面部表情、高级姿势节点、凝视、手势以及姿势。其他实施例可以包括更多的行为输出节点,例如语调、语速、重音等。
尽管图7中示意性示出的框架的复杂性比图5所示的简化框架的要高,但是可以构造更复杂的框架来适应本发明的特定应用和实施例。为了使用户能够修改对象根据其行为框架而产生的行为,构造了包括一个或更多个行为参数的集合的行为形容词,这极大地简化了用户需要提供的输入级别。
行为形容词的示例包括图1B中所示的那些,其中各个虚拟对象5、6的行为简档包括以下形容词挑逗性、友善性、男子气概、其他爱好、悲哀、自傲、害羞,以及优越感。这些行为形容词中的每一个都包括行为参数集合,并且在行为设计用户界面中,通常通过简单的文本名称或短语来表示。通常,“形容词”名称直观地描述了该“形容词”修改的行为方面,以便于用户识别。可以对行为参数集合中的各个参数赋予初始值或默认值,可以通过函数对其进行运算,并且可以结合任意的外部输入的值对其进行运算。例如,该函数可以是简单的线性代数函数,或者简单地将用户赋给行为参数集合的任意值放大预定量。另选地,该函数可以是“恒等”函数,仅返回所输入的值。
图7中示意性示出的框架表示用于执行非口头、个人内在行为的多个方面的本发明的实施例。行为控制器增强了虚拟对象(例如,在线会议或计算机游戏/聊天室场景中的角色)之间的交互,并且使得它们看上去更加可信。具体地,该框架对于半自主化身(即,用户并不具体指示化身的每个行为动作)有用。
由于化身的许多应用涉及个人内在行为,所以适当的非口头行为极大地增强了它们的应用。在图7中,行为控制器对多个个人内在态度进行编码,并潜在地控制多个输出,这些输出产生动画,例如姿势和凝视行为。控制系统基于Argyle提出的理论(Michael Argyle(1988)BodilyCommunication 2ndedition,Routledge)以及Mehrabian提出的理论(Albert Mehrabian (1972)Nonverbal Communication,Aldine-Atherton)。Argyle提出对非口头行为影响最大的人际关系的两个方面亲密和支配—顺从。可以如下所述将其建模为自我平衡动机。与Mehrabian所提出的非口头行为从属关系(爱好)的三个维度相关,显示为微笑、身体靠近和接触、力量/状态,通过放松或紧张以及响应来显示,通过总的身体动作来显示。响应维度是可选的,并且在图7所示的行为控制器中没有实现,但其基于这些量。
在图7中,当Argyle的直接和支配维度与Mehrabian的从属关系和状态维度紧密相关时,它们在体系结构方面相关联。将Mehrabian的维度建模为直接由直接和支配代理确定的行为节点。直接和支配被建模为自我平衡动机。
通过直接均衡和支配因子节点,根据虚拟对象的全局参数和来自任意其他虚拟对象的外部输入来计算变量的期望值。增大期望亲密度的因子包括角色有多友善、它有多喜欢其他角色(全局参数)以及其他角色有多快乐(外部输入)。降低期望亲密度的因子包括该角色有多害羞,以及其他角色有多占优势。所有这些因子都具有可以根据其简档在角色之间变化的权重。期望支配因子是两个角色之间的状态的期望差异,其也取决于多个其他因子。直接差异是期望直接与实际直接之间的差异,其由其他角色有多么亲密(外部输入)来确定,如果实际直接为Ia,而期望直接为Id,则直接差异为ΔI=Id-Ia对于支配的公式是类似的,虽然因子不同。本发明的其他实施例中实现了行为响应的第三维。
在本发明的该实施例中,角色的行为按照高级类型行为进行定义快乐、接近、空间填充、放松。这些用作等级的动机级别和动作产生级别之间的媒介。快乐是一般的愉快行为,例如笑脸,而相反的可能是反对或侵略性手势。它是从属关系的表示(喜欢或不喜欢)。快乐在姿势上没有许多表达,但是一个示例是“歪头”,其中角色将头向其他角色侧倾斜,这通常被解释为友好的姿势。接近是社交距离(靠近),包括身体距离以及诸如身体朝向或相互注视。低社交距离是高从属关系的结果。在姿势方面表示为诸如前倾或接触其他角色的多种方式。高社交距离与此相反,并且可以表示为向远离方向倾斜以及扭转整个身体。空间填充是例如通过姿势或者更加扩张或相反的手势,使得自己的空间更大或更小的倾向。示例姿势包括伸展至最大高度或者分腿站立或坐下。高空间填充与支配相关,低空间填充与顺从相关。放松是低度身体紧张,主要与姿势相关,并且还与其他类型的行为有关。高放松是支配状态的迹象,并且可以表示为姿势的不对称。
在本发明的该实施例中,存在多个高级姿势节点,用于将高级行为因子转换为实际姿势。每一种姿势都具有一个高级姿势节点。每一种姿势都取决于一个或更多个高级行为类型。将高级行为类型的值与权重相乘,以产生姿势的值。这确定了角色执行该姿势的程度。权重取决于角色简档,因此不同的角色对于相同的高级行为会产生不同的姿势。然后将该姿势的值传送给姿势输出节点。姿势输出节点存储该姿势的实际表达。这是根据关节角度的表达。使用姿势的值作为权重对与各个姿势相对应的关节角度求和,并且其结果为角色的实际姿势,将该结果直接传送给基本几何表达。
图8示出了虚拟对象的行为产生的特定阶段。这些阶段包括第一,设计一个或更多个行为形容词;第二,设计包括多个行为形容词的行为简档;第三,由用户对简档中的行为形容词进行赋值;最后,通过行为控制器产生随后的行为。形容词和简档设计阶段通常离线进行,而用户输入和通过行为控制器产生行为可以实时地动态进行,尽管用户在虚拟环境中为在线状态。
在本发明的上下文中,形容词包括一个或更多个行为参数的集合。选择行为控制器的框架中的哪个行为参数影响了行为特性是相对专业的任务。然而,通过提供形容词,减少了数据量和行为设计界面的用户的理解要求。以上参照图7说明了用于对行为参数进行赋值的形容词设计70和默认值的选择71。
简档设计与进行形容词设计所需的知识水平相反,选择哪个形容词应该包含在对象72的行为简档中与构造形容词所需的知识水平相比并不是复杂的任务。行为简档的设计阶段使得用户能够使用行为设计界面来选择哪个行为特征与用户想要控制的对象的行为相关。
行为简档因此由一个或更多个形容词构成。形容词可以包括单个全局或者唯一赋予的行为节点参数值,或者各种类型的参数名称-值中的一个或多个的多种类型。通过这种方式,用户可以为行为控制器设置内部和/或全局参数。在本发明的一个实施例中,行为简档包括两部分,这两部分都使用参数名称-值对来表述。第一部分说明了对象的整体个性(个性一词在此用于表示对象的总体性格)。第二部分包括态度名称值的集合。在本发明的一个实施例中,“个性”部分中的每个形容词都包括全局参数,而“态度”部分中的每个形容词都包括唯一的行为节点参数。
态度包括虚拟对象的行为变化的多个方面,其他虚拟对象根据这些方面与该虚拟对象进行交互。例如,虚拟对象对一个角色可以比对另一角色更加友善。态度包括角色(或角色集合)的名称和参数值集合,该参数值集合仅在与该角色进行交互时才被载入。在本文中,态度为“形容词”的形式,因为其包括由至少一个行为参数名称-值对构成的集合。
行为简档的态度参数部分包括用于交互中存在的各个命名对象的至少一个参数值的集合。这些值被载入行为框架的参数中,以产生适当的行为。也可以对一类对象,或者单个对象的参数值的集合(例如,用于“陌生人”类别的对象的参数值)进行赋值,以反映出该对象不喜欢该化身以前没有遇到过的其他化身的事实。
参数的值可以任意适当的方式进行设定。认为以下两种方式非常合适。第一,可以通过使用节点名称、参数名称,以及用于设定参数的值指定框架参数,来直接指定值。第二,多个框架参数可以与在此所述的被称为“形容词”的数据结构相关联,在此已定义的“形容词”一词是指包括该行为框架的一个或更多个行为参数的集合。用户可以为形容词选择的值的可能范围可以包括在简档设计阶段73中(或者另选地,其可以构成形容词设计阶段的一部分)。
最后,当用户已经为“形容词”赋了值时(步骤74),在步骤75中确定该集合中的每个参数的实际值,并作为在形容词设计阶段定义的默认值的函数给出每个参数的实际值(步骤73),并且用户将该值赋给形容词(步骤74)。
例如,用户可以为表示“快乐”的行为参数设置“形容词”赋值“10”。当将行为简档读入行为控制器时,对于已通过形容词设计(步骤70、71)确定的所有参数,随后将用户为“快乐”赋的值“10”翻译为实际参数值,以构造参数集合“快乐”,该实际值是通过对与该形容词相关的输入值进行运算的函数来确定的。
通过简档翻译文件来确定哪些参数集中包括行为参数集合。该简档翻译文件定义每个行为参数集合并与每个“形容词”名称(或者该行为参数集合的某些等效名称或短语,即直观上与参数集合所修改的行为特征相关联的名称)相关联。该简档翻译文件还定义了属于该行为参数集合的至少一个参数。总之,由行为模型使用的各个参数中的最终值都是在简档中所赋的值和/或赋给行为参数集合的值的函数。
用户可以通过多种方式修改简档。例如,对代码进行文本编辑、使用滑块或者通过直接操控虚拟对象来赋值,以下将详细进行说明。
现返回图8,提供用户为对象的行为形容词所赋的值作为该对象的行为控制器的输入。该行为控制器随后获取该输入,并通过该输入推断应该为哪个参数赋哪个值,以产生适当的行为输出(步骤75、76、77、78)。图9A中更加详细地示意性表示了将所接收的输入用于产生对象的行为的机制。
图9A示出了框架操作的两种方式。第一,该框架可以仅使用前向映射来进行操作,在设定了诸如外部输入的高级输入或者全局参数或形容词时会出现这种情况。在这种情况下,框架前向运行,仅在节点处根据输入产生输出(也参见图6),并执行前向映射,直到确定了输出节点的值为止。
第二,该框架可以在输出改变而不是输入改变时执行逆映射(再次参见图6)。例如,当直接操控对象时。然而,也可以接收多个输入以执行这两种映射,逆映射可以通过直接映射来影响输出,所以,在本发明的某些实施例中,首先执行这种映射。
下面参照图9A,行为控制器接收输入(步骤81)。如果在输入节点(例如在与外部输入参数或全局参数相对应的框架中的高级节点)接收到了输入(步骤81),则随后在所连接节点的行为控制器的框架内对该输入进行前向映射(步骤83),以产生特定输出(步骤83),该特定输出用于向动画系统提供值,以产生所期望的行为(步骤85)。所期望的行为包括与输入处表示的行为等效的行为。然而,该等效行为可能更加复杂和/或包括更多动作,其中某些动作可以同时和/或顺序执行。
逆映射如果相反地从诸如该对象的直接操控的源接收到输入,则所接收的输入与产生该框架的输出节点中的一个或更多个的输出(与动画系统相结合)的行为等效。在这种情况下,在一个或更多个输出节点处接收到输入(步骤81),并通过行为框架进行第一逆映射,以确定哪种输入值会导致要产生的这种输出(步骤82b)。
该逆映射需要推断出该框架中的所有相关节点的参数值,直到推断出将产生这种行为的全局参数为止(步骤84、85)。保留所获得的这些参数值,用于前向映射处理,该前向映射处理从所推断出的全局参数值开始并用于产生其他行为。结果,尽管仅使用了一个动作来提供直接输入,控制器所产生的行为也可以比原始直接操控的输入更加丰富和复杂,并且可以包括一个或更多个行为动作,或者甚至一系列的行为动作。以下再次对其进行更加详细的说明。
前向映射例如,考虑其中行为设计界面为一个或更多个全局参数赋值的本发明的实施例,例如,全局参数表示诸如化身的虚拟对象的特定情绪,以及可能的特定节点具体参数值,例如,表示该化身对另一虚拟对象的态度。下面参照图7和图9A,通过行为框架中的适当节点来接收输入62(步骤82a),然后通过内部行为节点63由行为框架进行映射(步骤83),例如,参照图7,可以首先通过直接平衡和支配因子节点对该参数值进行映射,然后是直接差异、响应,以及支配差异节点,其随后前向映射至从属关系和状态节点,以及快乐、接近、空间填充以及放松节点,直到抵达输出节点65为止。在图7所示的本发明的实施例中,输出节点包括面部表情、高级姿势节点(并且其进一步映射至姿势节点)、凝视,以及手势节点,其中的每一个都产生可以提供给适当的动画系统以使化身进行动画并产生适当行为的输出。当通过框架对输入进行前向映射时,提供全局参数作为对该框架中的其他节点的输入,这使得能够得到次级行为变化。这些全局参数值由此使得能够通过化身来执行更复杂的行为。
直接操控在图7所示的本发明的实施例中,输出节点包括面部表情、高级姿势节点(并且其进一步映射至姿势节点)、凝视,以及手势节点,其中的每一个都产生能够提供给适当的动画系统以使化身进行动画并产生适当行为的输出。现在参照图9,考虑其中例如用户对化身的姿势进行直接操控(例如,通过点击该化身的手臂,步骤90)以接触另一化身的手臂(步骤91)的示例。这在框架的姿势节点处产生了特定的输入(步骤92)。
可以将通过化身产生这种行为的全局参数值设定为仅在希望对其他化身友善时才进行该操作。行为控制器通过该框架的相关节点根据由姿势节点产生的值执行逆映射(步骤93),直到抵达该框架的全局参数输入节点为止,其中可以推断出全局行为参数“友善”的适当输入值(参见步骤93)。这些全局参数值随后用于通过该框架来开始前向映射。
例如,该逆映射还为该框架中的其他行为参数值(例如快乐和放松)赋值(参见图7)。根据所推断出的全局参数值执行前向映射(步骤94),使用所赋的值来产生更多的输出(步骤95),该更多的输出产生其他行为(步骤96)。例如,赋给快乐和放松的值可以在面部表情的输出节点处产生另外的行为,这导致化身微笑。还可以产生其他行为,例如将凝视改变为看着其他化身的脸部,并且可以产生诸如握手的手势以跟随接触手臂的动作。因此,尽管用户仅直接操控化身的姿势来接触另一化身的手臂,但是行为控制器解释了用户提供给化身的肢体语言,从而推断出该化身对其他化身友善并希望和该化身打招呼,并因此产生适当的行为。
总之,通过根据作为输入接收的信息推断出更多信息,使用逆映射而产生的行为可以包括一个或更多个行为动作,这些行为动作可按顺序执行或随机执行,并且可以同时执行诸如凝视、姿态、运动等的一个或更多个行为动作。这极大地提高了对象所表现的行为的复杂度,同时还为用户提供了非常简单的控制机制。以下详细说明推断机制。
可以由用户使用鼠标点击虚拟对象的身体部分,然后将身体部分拖动到新的位置,对虚拟对象进行直接操控来实现直接操控。可以通过对于本领域的技术人员来说公知的任何适当的方式,使用其他计算机操纵工具或工具的组合,例如,光标和键盘、操纵杆、轨迹球、指示器等对虚拟对象进行操控。在通过行为控制器控制真实对象的本发明的实施例中,用户可能希望通过手直接改变对象的姿势。该运动的特征(可能包括该运动的位移或速度)以及在运动过程中靠近其他对象等,将确定向行为控制器输入哪种输出。
这样,用户能够通过虚拟对象来表示特定的期望动作,并且行为框架于是能够外推出更多的行为动作,这些行为动作与用户指示为所期望的行为一致。新的输出参数值可以用于再现用户指示的动作以及适合于不同环境的类似运动。此外,随后可以将参数设置保存为行为简档,或者作为随后可以由用户用来构建行为简单的形容词。因为儿童可以容易地对玩具进行编程使之执行复杂的行为,所以直接操控对象以触发更复杂行为的产生对于对象是玩具的情况特别有用。
下面详细说明虚拟对象的行为控制器的行为框架推断内部和全局参数的方式。
行为推断方案用于限定行为控制器的操作的行为框架的结构使得能够使用逆映射,例如,当用户直接操控该虚拟对象时,根据到该框架的输入来推断出内部参数值。再次参照图9A,考虑行为控制器接收从该框架外部的源获得的输入的情况。其中输入与输出直接相关,例如,如果通过直接操控获得,则需要执行逆映射,以产生用于进行前向映射的全局参数值。使用以下概述的行为推断方案来执行该逆映射。
输入的外部源可以通过该对象的环境来确定。例如,该输入可以包括另一对象提供给该对象的信息。另选地,其可以包括来自另一对象的行为控制器的输出。另选地,其可以包括来自用户的输入,例如,通过用户携带的运动传感器提供的数据。另选地,其可以包括由用户直接输入的值,或者通过行为设计用户界面的输入。该输入可以提供另一对象的肢体语言的表示,在这种情况下,该信息可以用于推断适当的响应。
当通过行为控制器接收到了输入(步骤80)时,所接收的输入值与对象的输出值相关联(步骤81)。这是通过使用针对各种不同类型的行为输出节点的特殊目的的映射来执行的。当已在输出节点处执行了该初始映射时,通过整个框架执行逆映射,以推断出节点的内部参数和全局参数。这是通过使用为行为框架中的每个节点的各个受影响输出而建立的公式来实现的Tij=ΠkFijk]]>其中各个因子是内部参数或者节点的输入。
这样,输出的每一项Tij具有使其与该输出的其他项Tij相区别的可分解因子。项Tij包括可分解因子,其可以是诸如内部参数值的内部值或者全局参数值。在这种情况下,可分解因子被简单地重新赋予一新值。如果从另一节点输入该可分解因子,则通过形成一组新的公式来重复该处理,以表示来自源节点的输入。输出处的变化由此在节点的分级中向上传播,直到可以通过内部或全局参数来表示该可分解因子为止。
每一项Tij都具有两个可分解参数第一个用于在推断实时控制的内部状态时进行分解,而另一个用于简档编辑。
每一个节点根据可分解因子的输出为Oi=ΣjfijSij]]>其中fij是不可分解因子的总和,而Sij是可分解因子。然后使用适当的线性代数方法来分解该线性方程。例如,如果用户执行多次编辑函数,则以矩阵形式存在一系列的线性方程o=Fs其中o是每次编辑的输出的向量,F是不可分解因子的矩阵(可能取决于上下文,例如外部输入的不同设置或者随时间变化的参数),而s是可分解因子的向量。由于在F不是方阵的所有情况下存在一个以上的精确解,所以可以使用伪逆方法来寻找最小平方解。
s=F+o该方法使得能够推断出单个节点的参数。为了推断出节点的参数直到没有与输出直接连接的分级,提供可分解因子中的某些作为节点的输入而不是内部参数。这些输入可以是外部输入、全局参数或者其他节点的输出。外部输入不能是可分解参数。在求解过程中直接设定全局参数的值。
如果该输入是另一节点的输出,则分解需要对其他节点进行分解,这可以通过创建包括该节点和向该节点提供输入的任意节点在内的公式的系统来实现。在这种情况下,另外的节点向其他节点提供输出,因此要求解的公式优选地表示为以下形式0=ΣjfijSij-Oi]]>要根据给定输出节点的输出来确定每个行为节点。
实时控制在其中行为分级的最后一层使得用户能够向对象实时地提供复杂行为的本发明的实施例中,用户可能希望从多种源向行为控制器提供输入,或者希望使用任意单个对象的一个以上的行为设计界面。例如,或者提供输入的其他设备可以包括使用运动跟踪器(例如位于用户的头部和/或身体上)。用户可以同时操作两个或更多个控制设备,以减小操作负荷。所使用的控制设备利用形容词的使用来设置行为模型中的特定参数,以保证用户无需持续控制虚拟对象的身体的所有部分,而是仅需要不时地对有限数量的部分进行操控。
无论是通过直接操控获得还是通过用于跟踪用户的传感器获得,对象的行为产生可以使用适当的接口装置传送给行为控制器的信息。当该信息表示与特定行为输出节点的参数值等效的参数值时,行为控制器通过该框架执行逆映射,以对需要通过该虚拟对象产生该特定行为的相关参数进行内部赋值。这使得对象能够产生与这些参数相关的其他行为。例如,用户可以使对象的手臂进行动画,以接触另一角色的手臂,如图2C所示。该框架将推断出该手势与高值的挑逗性相对应。这随后会导致其他挑逗行为,例如向前倾并微笑。
参数值可以表示多种行为模式,例如“友善”,其可以与在使用跟踪器的情况下的用户行为相对应。在本发明的该实施例中没有使用任何统计机制来推断用户的行为,因为推断机制简单地求解了与虚拟对象的操控相关的代数方程,以确定表示何种类型的行为。当认为是“友善”行为时,该框架再现出更宽范围的友善行为。该更宽范围的行为超过了用户预期实时地直接控制的范围,例如,可以通过该框架使虚拟对象微笑,尽管事实上用户仅通过操控化身进行握手来表示该化身友善。如果没有提供输入,则该框架使得虚拟对象能够继续自主地动作。这使得不熟悉该行为设计用户界面的用户变得更习惯于该虚拟环境,并且可以学习该环境,而不必试图从刚开始就操控该虚拟对象。这提供了非常容易使用的界面,甚至适用于非常小的儿童。
附图所示的行为控制系统基于支持非口头行为的本发明的实施例。然而,在本发明的总体上下文中,行为被表示为分别通过特定参数进行修改的身体动作和/或声音动作。例如,诸如肢体语言的身体动作可以通过对象的当前内部状态(例如,该对象是否害怕)来修改。可以通过诸如音调的参数来修改声音动作。在该上下文中,“行为”一词可以定义为作为对特定激励的受控或非受控(自发的)响应而产生的一个或更多个动作。行为包括长期典型特征(例如,胆小或好斗)以及更加短暂、情绪化的特征(例如,开心或伤心)。
本发明的非口头行为实施例的示例使用亲密和支配-顺从的概念对人际关系进行建模。在本实施例中,行为控制系统产生非口头动作,以表示多种程度的特定属性,例如从属关系、力量/状态,这些属性反映了双方之间的亲密和支配/顺从级别。例如,通过适当行为表现(例如,通过诸如微笑、身体靠近和/或接触等的动作)来表示从属关系。力量/状态例如可以通过姿势中所表现的放松或紧张来表示。可以表示的其他非口头动作包括由一般的身体动作表现的响应。在该上下文中,图1B所示的参数值在本发明的实施例中是预定的情绪/个人内在参数,例如与从属关系相对应的“友善”和“其他爱好”,或者与支配相对应的“男子气概”或“自傲”。
本发明的其他实施例上述实施例主要说明了虚拟对象的受控行为。然而,即使在以上说明中没有明确描述,在此所述的行为控制概念也可以很容易扩展到对非虚拟的,即,真实或有形对象的控制,因此,对于本领域的技术人员来讲,很容易将本发明扩展至真实和虚拟对象的行为。
本发明的以上实施例具有实质上为静态的行为框架。在静态框架中,当用户设定了参数值时,该参数值就保持该值直到被重置为止。通过随时间而改变参数可以产生更多的自主动画。为了产生真实动画,将该框架修改为包括时变参数。
行为框架可以支持不同类型的时变参数。例如,随机变化的参数可以提供偶然的姿势变化,而不同的类型可以产生更加可预测的动画。这种参数可能需要更加复杂的技术来执行逆映射,所以在本发明的最佳方式中没有考虑。然而,通过控制参数变化的任意定时的变更,可以获得更加真实的姿势变化。
本发明的另一动画实施例需要提供多个简档,这些简档随时间而相互改变或者内插。这将一次改变一组参数。实现本发明的该实施例的一种方式是在动画方面作为关键帧提供多个简档并在它们之间进行内插。
实现更多动画的另一方式是使用有限状态机系统来控制角色,其中每一种状态都附有简档。状态会由于环境中的事件或者该角色的内部因素而发生改变,并且当输入新状态时,载入其简档。
本发明的其他实施例具有其他类型的输出节点。例如,在本发明的一个实施例中,可以仅提供姿势节点作为输出节点。该输出节点提供了从参数到行为的简单映射,为每个姿势而存在的参数以及这些参数的值提供了姿势之间的内插。可以将该模型应用于其他类型的行为,例如可以按照相同的方式对运动片段进行内插。然而,更复杂的行为需要更复杂的映射,这增大了根据行为推断出内部参数的后向映射的复杂度。
解决该问题有多种方法。第一种是忽略它并且使可以产生行为的某些输出节点继续而不是解决该问题。只要存在可以控制的其他类型的行为,这就是可行的选择。可以忽略某些方面,因为它们对于用户进行控制(例如凝视)来说太难了。另一种方法是为每一种类型的输出节点提供手工映射。这非常耗时。最后的方法是使用某种学习方案来学习映射,例如Bayesian或神经网络。
本发明的一个实施例组合了有限状态机扩展和统计Bayesian网络扩展。在该实施例中,网络中的每个节点都具有多个状态,每个状态都具有不同的内部参数设置以及在输入和输出之间的这种不同映射。在本实施例中,节点处于给定状态的可能性取决于其他节点的状态,以及全局参数或其他节点的输出。于是,该框架具有两种不同类型的节点间关系。一种是连续的,如在节点之间具有连续值参数的当前系统的情况。
另一种是离散的,节点处于一组离散状态之一。给予两种信息相等的重视,因为某些行为特征本质是离散的,而其他行为不是。例如,某人可以交叉手臂或者不交叉,并且某人可以正在交谈或者没有在交谈,每种情况50%的概率不是非常有意义。然而,其他行为特征本质上是连续的,例如,对象应该能够在开心和发怒之间随时间而连续变化,而并不是作为离散步骤序列来进行。
在本发明的这些实施例中,不同的方法适用于推断各种类型的信息。这里所述的框架确实适于连续数据,而Bayesian网络可以推断出一组离散状态的概率。在本发明的某些实施例中,行为框架的扩展使得可以组合用于推断信息的两种方法。
以上参照附图进行说明的方法是非统计的,并且可以在各个节点的状态已知时用于推断连续状态。在其中组合了两种推断方法的本发明的其他实施例中,可以预先使用Bayesian网络,并且可以将节点状态以及它们之间的概率关系视为Bayesian网络,并用于根据输出推断各个节点的状态。无论被视为Bayesian还是连续网络,网络的拓扑将保持相同。当这些因素适当时,可以根据人类行为的数据自动学习该系统的内部参数。
在本发明的其他实施例中,上述用于设计简档的方法可以扩展为大量示例,以学习基于真实数据的内部参数的集合。Bayesian学习技术可用于学习概率关系。同时该系统的参数可以基于来自真实人的数据,并且可以更加准确地反映出理论上很难捕捉的人的行为。
下面说明本发明的一个实施例,其中用户通过在线聊天室进行交互。在本实施例中,允许用户使用肢体语言以及向行为控制器提供输入的文本来表达自己。这同样适用于诸如其中化身表示人类辅导员的在线辅导的本发明的实施例,以及其他虚拟环境,例如在线调解、在线会议(即,其中通过一组虚拟对象来交换信息)、在线协作(即,其中通过一组虚拟对象来执行任务),以及在线商业环境(例如,化身出售房屋)。
肢体语言包括通过在所述框架内设计的体系结构自主产生的行为,通过使用来自简档的预定情绪/个人内在参数的集合来产生该行为。用户使用标准台式PC来访问该系统。用户用来向行为控制器提供输入的计算机操纵设备限于在这种环境下通常可用的设备,例如鼠标和键盘。键盘用于输入文本而鼠标可用于控制角色运动。由于用户大部分希望专注于输入文本,所以对角色运动的控制是偶然的。一个输入(例如,通过行为设计用户界面)将导致对角色总体行为而不是单个运动的校正,因此充分利用了少量的用户输入。这可以通过根据该输入推断出情绪/个人内在参数而容易地实现。通过当前图形聊天系统中所使用的“图释”来执行化身的情绪的更直接的输入。这些可以直接设定全局参数。
本发明的另一实施例通过进一步包括由用户的运动提供的输入,对以上实施例进行了扩展。例如,家用计算机通常具有带有廉价的视频相机,其可以用来通过特定的输出节点执行面部跟踪,该特定输出节点向行为控制器提供输入,该输入用于推断用户的状态。
通过允许用户编辑其化身的简档,上述本发明的实施例允许用户定制其化身的行为。对于最终用户,必需尽可能地以用户友善的方式来执行该操作,并且图1A至2E所示的实施例尤其适用于使用通过行为设计用户界面提供的一组滑块来编辑形容词。
本发明具有许多应用,包括国际化身会议,其可以按照类似于聊天室的方式来实现。在这种情况下,捕捉与会者的实际肢体语言更加重要,尤其对于商业谈判。这可以通过具有更复杂的肢体跟踪系统来实现,该系统包括高质量的用户面部跟踪。也可以利用诸如语调的其他线索来推断用户的状态。行为控制器的框架可以更加复杂,以保证正确地推断每个用户的行为。
在计算机游戏环境中使用的本发明的实施例中,可以通过用户对其角色的命令来产生富于表情的肢体语言,并推断出其角色处于何种内部状态。可以通过多种方式来执行用户输入,例如如上所述,用户可以直接操控角色的姿势。另选地,可以使用大幅度行为来推断例如动作的选择、是否与某人交谈或词语选择。当推断出该行为框架的全局参数时,可以使游戏中的角色对其进行响应。优选地,本发明提供了一种行为设计工具,其使得游戏设计者能够使用强大但直觉的工具对角色的行为设计进行精细控制。
在其中对象需要执行角色的本发明的实施例中,用户使用设计界面创建的简档可以用来保证行为适于该角色,以及保证内部状态的任意推断都反映了对其行为进行了推断的对象的角色。
机器人应用尽管上述实施例尤其与虚拟环境相关,但是下述的概念可以在真实世界,尤其是例如机器人玩具中得到应用为用户提供简单的输入设备,以操纵能够产生复杂、持续行为的行为控制器。因此,本发明的其他实施例为用户提供了简单的机制,用于产生机器人对象的复杂行为,尤其是诸如玩具娃娃的有关节机器人对象。
这种实施例使得儿童可以为机器人宠物或玩具提供复杂特性,而仅需要对分配给行为简档的直观标签进行操控。在这种应用中,行为设计用户界面可以设置为远程控制型设备。于是,可以无线地提供行为控制信息以指示机器人设备的适当动作。行为控制器可以被设置为接口设备的一部分(仅将动画指令发送给机器人设备),或者设置为机器人设备本身的一部分,或者设置为随后对机器人设备的行为指令进行中继的代理设备的一部分。
在本发明的其他实施例中,制造或生产线环境中使用的机器人设备可能类似地需要使用诸如在此所述的分级行为模型框架来控制其行为,并且行为设计用户界面可以具有行为选项,这些行为选项是根据机器人设备要执行的任务的更多任务细节。根据这些机器人设备的情况,可以通过有线或无线连接来远程控制这些机器人设备。例如,在生产线中,可以通过有线通信链路来控制机器人设备,而在水下环境中,海下机器人可能需要无线通信链路和/或有线通信链路。
优选地,提供了对复杂机器人行为使用行为设计界面控制的简化。这在机器人对象必须通过需要用户实时控制的某种级别的自主/半自主行为来执行紧急任务的应用中显得尤其重要。分级行为框架用于产生和控制有关节对象的自主和半自主行为。行为控制器用于接收与行为动作相关的输入,以使用该框架来推断多个行为参数值,并且在将这些参数值载入到行为控制器中时,使用这些参数值产生该有关节对象的等效行为,以产生与该等效行为相对应的输出。该等效行为可以再现所输入的行为动作,和/或包括一个或更多个其他行为动作,这些其他行为动作可以同时执行,或者作为动作序列的一部分来执行。
行为翻译上述推断方案使得能够确定虚拟代理或化身的内部状态的模型,其将行为控制器的应用扩展为包括在不同文化行为之间进行翻译的能力。
例如,在化身用作个人虚拟代理的情况下,对于在诸如网络会议的在线环境中与来自不同文化背景的用户进行交互的用户来说,可能不希望直接表达该用户的实际动作和情绪的能力。
本发明的这种实施例可以被修改为包括在输入或输出阶段通过行为控制器来翻译行为。这可以通过以下操作来实现使用与一种文化相对应的行为框架来产生外部输入;以及使用与另一种文化相对应的不同框架根据该外部输入再现该行为。除非两个框架相同,否则使用与不同文化相对应的不同简档。
这也可以如下来实现包括翻译单元,其使得能够将行为控制器所接收的与对应于第一文化的行为动作相关联的输入第一翻译为与不同的第二文化中的等效行为动作相关联的输入。类似地,可以实现一种翻译单元,其从与符合第二文化的行为相对应的行为控制器的输出行为节点接收输出,并将其翻译为第一文化。
该翻译单元可以配备控制器,用于实现从一种文化到另一种文化的肢体语言翻译。可用来实现这种操作的一种机制是通过将表示肢体语言片段的含义的高级参数与不同简档一同使用,来产生不同文化环境下的不同肢体语言。这将保证其他观察者可以感知在其自身文化中该参与者的化身的肢体语言。因此,可以通过文化A的观察者将特定行为输入该系统,并且通过与文化A相对应的简档将其解释为友善行为。随后将友善参数发送至机器组,该机器组中具有包含与文化B相对应的简档的机器。该机器将产生不同的但具有文化B中的友善含义的行为。
如果提供了等效自主装置来将对象的符合一组标准的行为显示映射为符合另一组标准的行为显示,则无需在行为翻译器的所有实施例中实现用于产生对象行为的方法和装置的以上实施例。通过用于产生该行为的系统和/或通过向观察者显示该行为的系统来实现该映射。
在通过作为产生化身行为的系统的一部分而提供的行为翻译器来实现映射的实施例中,行为系统必须产生与所表示的人口统计组一致的行为动作。这可以通过以下操作来实现通过一个或更多个约束的集合来表示人口统计组,这些约束用于对该系统产生的行为进行修改;以及/或者通过一个或更多个规则来表示人口统计组,这些规则将为其他人口统计组产生的行为映射到该人口统计组。
在行为翻译器设置在观察者系统上的实施例中,该翻译器接收输入,该输入包括用于产生行为的行为系统的输出。行为翻译器随后可以包括一组规则,用于在显示观察者的系统时,将表示对象的一个或更多个行为动作的输入翻译为适于在观察者的系统上设计的人口统计组的要由该对象执行的行为(其可以包括忽略任意动作或者为其他人口统计组产生一个或更多个等效行为动作)。
行为翻译器可以在任意虚拟环境中实现,在该虚拟环境中,可以将符合一人口群体内的一个人口统计组的虚拟对象(例如,诸如化身的虚拟动画有关节对象)的行为动作和/或所显示的特性映射为符合另一人口统计组的等效行为动作和/或所显示的特性。
在虚拟环境中,例如,行为翻译器通过发送与行为的高级含义相关的信息,而不是与诸如在此所述的行为框架的各个参数相关的单独输入,在化身之间对行为(尤其是表情行为)进行翻译。可以根据虚拟对象显示该行为之前产生的行为来推断出该“高级”含义,并将其用于产生行为框架的参数值,或者可以根据通过用户界面提供的输入来直接或间接地确定这些参数值。在这两种情况下,可以根据一个人口统计组本地产生行为,以及根据不同人口统计组远程产生行为,因为用于产生行为的两个行为简档将不同。另选地,可以仅推断出高级行为,并且可以将其发送至远程地点,在那里进行适当的翻译。
由于在此所述的产生行为的方法能够处理高级行为信息,所以可以在不同形态之间进行翻译,即,在不同类型的行为动作之间进行翻译。
因此,可以将英语手势翻译为日文中的语调,反之亦然。另一个示例是,如果诸如将手指尖放在一起的手势用于表示“你们在谈论什么手势”,则与在一人口统计组中做手姿势表达以及而另一人口统计组完全忽略不同,可以在一个人口统计组中根据该行为进行发声。
还可以利用一些发声说明来翻译行为的高级含义。例如在特定的人口统计组中,如果两个化身参与在线会议,并且一个化身向另一化身表示了完全不同的行为,则因为后一化身是第一个化身的老板/直接上级,所以会产生这种情况。在其他人口统计组中不能执行这种不同行为。为了对来自后一人口统计组的观察者说明两个化身的状态,如果第一化身通过发声来告诉另一化身它们的关系,则会有帮助。无需为共享它们自己的人口统计组中的相同行为动作的观察者提供该附加信息。
根据本发明的行为翻译器的实施例可以在以下虚拟环境中实现,该虚拟环境是使用分布式计算环境来实现的。该分布式计算环境使得多个用户能够参与该虚拟环境。每个用户都能够设置下述的应用,该应用使得他们能够参与该虚拟环境,从而使得用户能够感知虚拟环境中的动画对象(例如,化身)的行为,因为其符合由用户分配的指定人口统计组。
在本发明的一个实施例中,本地地进行行为翻译(即,在支持用户应用的平台上)。另选地,可以远程实现行为翻译(例如,在支撑其化身行为进行了翻译的用户的应用的平台上)。
本发明的一个实施例提供了一种行为翻译器,其适于使其中多个化身进行交互的虚拟环境的各个观察者可以感知到根据不同人口统计组的不同行为。该人口统计组(对其产生了感知行为)可以由符合用户指定的人口统计组的化身的行为控制器来确定,并且由该化身表示,或者符合由虚拟环境中的化身的观察者所指定的人口统计组。
因此,在多人参与虚拟环境并且每个人都与一个或更多个化身相关联的情况下,每个人可以使其化身与特定的人口统计组相关联。可以将这种情况添加到化身的行为控制器的简档中。另选地,无论在产生化身的行为的行为系统中是否指定了人口统计组,每个观察者都可以确保他们能够在下述的平台上观察到的化身的表达将特定的行为动作翻译为符合该观察者的人口统计组的等效行为动作,该平台支持使得观察者能够观察和/或参与虚拟世界的应用。
下面将参照本发明的实施例对图10A、B、C进行说明。考虑以下情况执行翻译,以使得由参与虚拟会议环境的用户A(未示出)控制的化身想要表现出类似于友好问候的行为。在图10A中,用户指定了应当根据英语人口统计组来显示行为。随后对行为控制器的高级“问候行为”输出进行修改,以产生包括化身摘帽在内的行为动作。这些行为动作符合包含在用于生成与第一人口统计组相关联的化身的行为的行为系统中的规则集合/简档。虚拟环境中的另一参与者可以指定不同的人口统计组,例如“美国”,并且因此他们将感知该“问候行为”,以包括摆手(参见图10B)。另一用户可以表示不同的人口统计组(例如,日本),其中可能需要更加正式的问候来传达友好的情感。该用户将观察到该化身鞠躬作为友好问候(图10C中示意性地示出)。这些不同的用户可以参与相同的在线会议,但是每一个都将简单地感知到进行了友好问候,而与他们的不同文化无关。
在以上实施例中,为化身产生的行为可以简单地表示要执行问候动作,并且行为生成器的输出被传送给每个应用,这些应用使得用户能够参与下述的虚拟环境,其中根据该用户的偏好进行本地翻译。每个系统都使得用户能够参与以下虚拟环境,该虚拟环境具有行为翻译器,用于使所接收的由行为控制器提供的行为输出适度,并本地显示反映由用户指定的人口统计组的图像。另选地,考虑用户已指定的人口统计组,用户的系统可以与实际产生该化身(其可以位于远程系统)的行为的行为控制器交换信息。该信息可以用于修改在用户的系统上产生的行为。在这种情况下,由用户的本地系统接收的输入无需在本地系统上进行翻译,并且使得能够直接显示行为,该行为将被用户感知为适于该用户已指定的人口统计组。
如果当提供多个化身以进行化身会议时,提供了适当的问候行为等,则尤其有帮助。WO 9954822和WO 9930494中更详细地说明了化身会议,在此通过引用并入其内容。
在包括虚拟会议的本发明的实施例中,在多个化身参与虚拟世界环境的情况下,如果会议的环境可以用来修改行为,则是有用的。例如,如果参与在线学习环境,则如果表示学生的化身在发言之前/请求提问时举手,并且如果执行教学任务的化身通过指向该举手的化身来表示该化身可以发言,则是有帮助的。用于虚拟教学环境的适当行为可以与用于其他虚拟环境(例如,正式商业会议虚拟环境,其中与状态相关的行为并不适合)的行为完全不同。在本发明的另一实施例中,翻译还可以受到任务环境的影响,例如虚拟教室内的老师/学生以及其他虚拟环境中的老师/学生交互。其他依赖于环境的文化/人口统计组行为(可以对其进行翻译)的示例包括当儿童化身进入虚拟环境的一部分(例如,房间)时成人化身的反应,在这种情况下,不同的人口统计组可以显示不同的反应。
需要不同文化之间的行为翻译的动作示例包括OK手势(用食指和拇指的“O”手势或其他含义)。这对于英国人意味着OK,但是对于法国人,如果他没有微笑,则表示“零”或“无价值的”。对于日本人,它可以表示“金钱”。另一个手势是用食指轻叩鼻子的侧面在英国,这可以表示阴谋或秘密,而在意大利这可以表示小心或危险。另一个在一种文化中提高化身行为,而在另一种文化中不会被理解的动作是轻拍下巴(其中手位于化身下巴的下方,然后向前突出)。这在法国可以解释为侮辱,而在北意大利可以表示诸如“迷路”或“你令我很烦”的情绪。相反,在南意大利的特定部分,它不再是无礼的,而是仅表示“不”或“我不想”的情绪。
因此本发明提供了一种装置,用于在无论何时所显示的行为可以将不同的语义传达给不同的人口统计组时,对行为动作(该词包括行为显示)进行翻译。具体地,在语义变化很大,而导致由行为动作传达的语义发生改变的情况下。例如,在许多人口统计组中,点头表示是。但是在其他人口统计组中,其可能表示否。此外,可以根据人口统计组来修改行为动作,例如通过可以从抬头或低头开始的点头。翻译可以从一个行为到多个行为动作,反之亦然。
为了反映各种行为动作,可以对提交给在此所述的行为框架的简档进行修改,以反映适当的人口统计行为规则。人口统计组的示例包括可以通过各种特征(在本发明的适当实施例中,其可以表示为行为简档)识别的文化,这些特征例如包括,政治特征、种族特征、国家特征、宗教特征,以及社会阶层、角色/职业、背景。可以在虚拟环境中修改人口统计组,以反映角色的任务,例如,如果该角色是虚拟世界的“皇室”成员,则这表示社会阶层较高。如果是牧师,则在某些人口统计组中这也表示高的社会阶层,而在其他人口统计组中这可能表示非常低的社会阶层。因此,根据人口统计组,如果牧师与“皇室”成员进行交互,则为参与该交互的牧师角色产生的自主/半自主行为有很大的不同。
可以翻译的行为动作包括多种动作,例如姿势、语调、发言方式、手势、凝视、点头、执行特定行为动作时两个化身彼此的接近、姿态、反映行为礼节的动作(例如,问候)、反映虚拟世界中的社会状态的动作、反映要在虚拟世界中执行的任务的动作。问候型行为的示例包括去除服饰的一部分,诸如脱帽、鞠躬,或者对坐着的另一化身打招呼、坐或躺的姿势(其也可以反映该化身在虚拟世界中的社会状态)。与社会状态相关的行为动作的示例包括依赖于虚拟世界环境中存在的其他人的行为,例如,如果存在化身的老板,则该化身会更加屈从,或者观察到更加正式的行礼,并且在某些人口统计组中更加正式的行礼是商业交互的标准,而在其他人口统计组中,不经常执行这种正式行为。
行为显示可以包括修改化身的外观,以包括种族忠诚,例如在表示文化或人口统计组,以及服饰的外观的情况下,可以通过身体艺术来表示,例如,在与来自不同文化的同事一起参加在线会议时,穿着一种形式的服饰的女性化身可能希望被感知为穿着不同的服饰。行为翻译器还可以根据化身所表示的性别(男/女)等,以及根据该化身要担任的角色(例如,教师、父母、孩子、老板、奴才等)来翻译行为。
在行为翻译器被设置为用于翻译真实对象行为的装置的情况下,真实对象的示例为机器人,例如,机器人侍者和/或机器人导游。例如,如果为了增加游客对博物馆或其他感兴趣的景点的体验而提供机器人导游,则如果可以根据与该机器人导游进行交互的一个或更多个人的人口统计组来改变机器人导游的行为,则是有利的。
对于本领域的技术人员,显然可以通过硬件和/或软件的适当组合来实现本发明,并且硬件和软件的组合并不旨在由上述特定部分来限定。此外,可以通过在一个或更多个设备上运行的一个或更多个计算机程序的集合来实现本发明。这些设备可以分布在通信网络中。
因此将以下重复的摘要的文本并入本说明书一种行为翻译器,其被构造为由虚拟对象的行为控制来使用,该翻译器用于将表示符合第一人口统计组的行为的信息映射为符合第二人口统计组的行为。该行为翻译器包括用于接收输入的装置;用于对所述输入进行处理,以使所接收的输入与符合第一人口统计组的对象的行为相关联的装置;以及用于将通过所接收的输入而得到的行为映射为产生符合第二人口统计组的行为的输出的装置。
权利要求
1.一种行为翻译器,其被构造为由对象的行为控制器来使用,该翻译器用于将表示符合第一人口统计组的行为的信息映射为符合第二人口统计组的行为,该行为翻译器包括用于接收输入的装置;用于对所述输入进行处理,以使所接收的输入与符合所述第一人口统计组的对象的行为相关联的装置;以及用于将通过所接收的输入而得到行为映射为产生符合所述第二人口统计组的行为的输出的装置。
2.根据权利要求1所述的行为翻译器,其中人口统计组包括国家、宗教、社会阶层、职业或社会背景。
3.根据权利要求1或2所述的行为翻译器,其中所述对象是参与虚拟环境的虚拟对象。
4.根据权利要求3所述的行为翻译器,其中所述虚拟对象在虚拟环境中进行操作,该虚拟环境包括由以下各项构成的虚拟环境组中的任意一个虚拟计算机游戏、虚拟在线会议、在线游戏、在线聊天室、化身宴会会议;化身辅导会议;基于化身的调解环境;基于化身的销售环境;在线协作环境;在线顾客关系管理环境。
5.根据权利要求3或4所述的行为翻译器,其中所述虚拟对象包括化身,并且所述第一人口统计组包括由远离所述虚拟环境中的另一参与者的所述虚拟环境中的一参与者指定的人口统计组,其中所述第二人口统计组由所述另一参与者指定。
6.根据权利要求5所述的行为翻译器,其中两个参与者分别观察同时根据各自的指定人口统计组进行动作的化身。
7.根据以上任意一项权利要求所述的行为翻译器,其中接收所述信息作为所述行为控制器的输入。
8.根据以上任意一项权利要求所述的行为翻译器,其中提供所述信息作为所述行为控制器的输出。
9.根据以上任意一项权利要求所述的行为翻译器,其用于翻译以下行为动作中至少一种姿势;语调;手势;凝视;在对象之间的交互过程中的对象接近;以及礼节;表示社会状态的动作。
10.根据以上任意一项权利要求所述的行为翻译器,其中所述对象包括虚拟环境中的虚拟角色,其中所述翻译器用于根据所指定的人口统计组对该虚拟对象的外观进行翻译。
11.根据权利要求10所述的行为翻译器,其中所翻译的外观包括一个或多个服饰和/或所述虚拟角色穿戴服饰的方式。
12.根据以上任意一项权利要求所述的行为翻译器,其中所述行为是使用行为控制器产生的。
13.根据以上任意一项权利要求所述的行为翻译器,其中用于接收输入的所述装置用于接收与一个或更多个行为动作相关联的输入,该一个或更多个行为动作与所述第一人口统计组相关联。
14.根据权利要求13所述的行为翻译器,其中用于进行处理的所述装置包括用于根据设置用来产生所述对象的等效行为的行为框架,从所述输入推断出多个行为参数值的装置;以及用于根据所推断的多个行为参数值中获得输出的装置。
15.根据权利要求14所述的行为翻译器,其中所述映射装置包括下述的装置,该装置用于通过将根据所推断的多个行为参数值获得的输出映射为用于将所述一个或更多个行为动作翻译为与所述第二人口统计组相关联的等效行为的输出来产生所述对象的所述等效行为。
16.根据以上任意一项权利要求所述的行为翻译器,其中所述等效行为传达与下述行为动作相同的情绪,该行为动作与所述第一人口统计组相关联。
17.根据以上任意一项权利要求所述的行为翻译器,其中所述等效行为包括不执行行为动作。
18.根据以上任意一项权利要求所述的行为翻译器,其中所述等效行为包括一系列行为动作。
19.根据权利要求14至18中的任意一项所述的行为翻译器,其中所述框架具有内部柔性结构。
20.根据权利要求14至19中的任意一项所述的行为翻译器,其中所述框架包括行为节点的分级。
21.根据权利要求14至20中的任意一项所述的行为翻译器,其中所述框架是动态柔性的。
22.根据以上任意一项权利要求所述的行为翻译器,其中所接收的输入与多个行为动作相关联,并且所推断的各个参数值都是通过所述多个行为动作输入的组合来确定的。
23.根据以上任意一项权利要求所述的行为翻译器,其中响应于接收到与行为动作相关联的输入而实时地产生所述对象的行为。
24.根据以上任意一项权利要求所述的行为翻译器,还包括行为控制器,用于产生对象的行为,其中用于接收输入的所述装置包括用于接收与行为动作相关联的输入的装置;用于处理所接收的输入的所述装置包括用于根据用来产生所述对象的行为的行为框架从所述输入推断出多个行为参数值的装置;并且其中用于产生输出的所述装置包括用于根据所推断的多个行为参数值来获得输出的装置,并且其中所述翻译器还包括用于使用根据所述参数值获得的输出,产生所述对象的等效行为的装置。
25.根据权利要求24所述的行为翻译器,其中用于产生等效行为的所述装置包括用于将根据所述参数值获得的输出传送给动画系统的装置,该动画系统用于对所述输出进行操作,以使所述对象对所述适当行为进行动画。
26.根据权利要求25所述的行为翻译器,其中所述接收装置包括用于从所述对象的行为框架外部的源接收至少一个参数值作为输入的装置。
27.根据权利要求24至26所述的行为翻译器,其中用于推断多个行为参数值的装置包括节点框架,每个行为节点都用于将至少一个输入参数值映射为至少一个输出参数值。
28.根据权利要求27所述的行为翻译器,其中至少一个节点用于对从包括以下参数的组中选择的至少一个参数值进行映射对所述行为框架中的各个节点定义的参数;在所述行为框架的各个节点中定义的参数;以及在所述行为框架外部定义的参数。
29.根据权利要求14至28中的任意一项所述的行为翻译器,其中用于接收输入的所述装置用于从行为设计界面接收输入,该行为设计界面包括用于使得能够对行为参数集合赋值的装置,该行为参数集合包括根据所述对象的行为框架而定义的至少一个行为参数;以及用于通过预定函数对赋给所述行为参数集合的值进行运算,以确定所述内部参数的值的装置。
30.根据权利要求24至29中的任意一项所述的行为翻译器,其中所述行为翻译器是所述行为控制器中的组件,并且包括翻译单元,该翻译单元用于将所接收的从符合第一文化的行为得到的输入映射为符合第二文化的输入。
31.根据权利要求24至30中的任意一项所述的行为翻译器,其中所述行为翻译器包括翻译单元,用于将符合第一预定文化的行为输出映射为符合第二预定文化的行为输出。
32.根据以上任意一项权利要求所述的行为翻译器,其中用户向所述翻译器提供所述输入。
33.根据以上任意一项权利要求所述的行为翻译器,其中软件代理向所述翻译器提供所述输入。
34.一种设备,被构造为在其上存储有至少一个计算机程序的集合,这些计算机程序可以在该设备上运行,以使该设备用作权利要求1至33中的任意一项所限定的翻译器。
35.一种方法,用于将虚拟环境中的行为从符合一个人口统计组的行为翻译为符合另一人口统计组的行为,其中该虚拟环境中的所感知的行为是在行为控制器的控制下产生的对象行为,该方法包括以下步骤接收与一个或更多个行为动作相关联的输入;根据用于产生对象行为的行为框架通过所述输入来推断多个行为参数值;根据所推断的多个行为参数值获得输出;使用根据所述参数值获得的输出来产生对象的等效行为;以及将产生符合第一人口统计组的行为动作的输入翻译为与另一人口统计组相关联的等效行为。
36.一种方法,用于在行为控制器的控制下产生对象的行为,该行为控制器包括节点框架并被设置为由根据权利要求1至33中的任意一项所述的行为翻译器来使用,该方法包括以下步骤至少一个节点接收与行为动作相关联的输入;所述至少一个节点中的每一个将所接收的输入映射为输出;使用所述输出为所述框架内的其他节点推断多个行为参数值;以及使用所述推断出的行为参数值对所接收的输入进行映射,以通过产生对象的等效行为的所述行为控制器来提供输出。
37.一种方法,用于在行为控制器的控制下产生对象的行为,该行为控制器被设置为由根据权利要求1至33中的任意一项所述的行为翻译器来使用,该方法包括以下步骤接收与行为动作相关联的输入;将所述接收的输入映射为与对象的等效行为相对应的至少一个输出值的集合;根据用于产生对象行为的行为框架,通过所述至少一个输出值的集合来推断多个行为参数值;以及通过将所述行为参数值载入所述行为控制器,来使用这些参数值产生对象的等效行为。
38.根据权利要求35至37中的任意一项所述的方法,其中所推断的参数是时变的。
39.一个或更多个计算机程序的集合,这些计算机程序形成一指令集合,该指令集合的执行使得一个或更多个计算机系统执行权利要求35至37中的任意一项所述的方法。
40.一种用于对象的行为控制器的行为翻译设备,该设备包括用于将表示符合第一文化的行为的信息映射为符合第二文化的行为的装置。
41.根据权利要求40所述的行为翻译设备,其中通过所述行为控制器接收所述信息作为输入。
42.根据权利要求40或41所述的行为翻译设备,其中通过所述行为控制器提供所述信息作为输出。
全文摘要
一种行为翻译器,其被构造为由虚拟对象的行为控制来使用,该翻译器用于将表示符合第一人口统计组的行为的信息映射为符合第二人口统计组的行为。该行为翻译器包括用于接收输入的装置;用于对所述输入进行处理,以使所接收的输入与符合第一人口统计组的对象的行为相关联的装置;以及用于将通过所接收的输入而获得的行为映射为产生符合第二人口统计组的行为的输出的装置。
文档编号G06T17/00GK1764890SQ200480007940
公开日2006年4月26日 申请日期2004年3月24日 优先权日2003年3月25日
发明者丹尼尔·巴兰, 马尔科·吉利斯 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1