オブジェクトで行動を生成するための装置及び方法
関節のあるオブジェクトで自律行動及び半自律行動を生成、制御するために階層行動フレームワークが使用される。行動コントローラは行動アクションと関連付けられる入力を受け取り、前記フレームワークを使用して複数の行動パラメータ値を推論し、同等な行動に対応する出力を生成するために前記行動コントローラにロードされるときに前記パラメータ値を使用して前記関節のあるオブジェクトで同等な行動を生成するように構成される。前記同等な行動は前記入力した行動アクションを再生し、及び/又は同時に又はアクションのシーケンスの一部として実行されてよい、1つ又は複数の他の行動アクションを含んでよい。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オブジェクトで行動を生成するための方法及び装置に関する。本発明はそれに制限されないが、特に重要な1つの応用例は、例えばアバターなどの仮想エージェントつまりオブジェクトにおいて身体言語を伝達する自律行動の生成である。
【背景技術】
【0002】
動画オブジェクトは、(アバターなどの)仮想であるのか、(例えば、ペット「玩具」などの)ロボット利用であるのかに関係なく、その行動においてますます精密になってきている。特に、アバター及び動画エージェントなどの仮想オブジェクトによるさらに現実的な行動に対する消費者の要求がある。本発明において、アバターは、任意の適切な形を取る、仮想環境におけるユーザの視覚的な表現であると定義される。動画エージェントは、仮想環境におけるユーザとの対話に、あるいは対話型娯楽に使用されるインテリジェントソフトウェアベースのエージェントである。同様に、動画エージェントは任意の適切な形を取ってよい。
【0003】
オブジェクトが動画行動を有することができるとき、プログラミングに相対的に熟練していないユーザが前記オブジェクトの行動を個人化する能力を有することが望ましい。これは、特に、ユーザが例えば、グループセッティングで個人的特徴の感覚を生じさせること、オブジェクトが果たしている役割を強化すること、又はユーザ自身の個性を反映することを求めているときに当てはまる。オブジェクトをその人間のユーザにとってさらに興味深くするために、それは、個性がオブジェクトに提供できる場合、つまり行動が、ユーザが望ましいと感じる特定の特色を有するようにユーザによって修正できる場合に望ましい。
【0004】
これらの要求を満たすために、動画オブジェクトにおいて行動を生成するために使用される行動モデルはますます複雑になってきている。これは、プログラミングにおいて相対的に未熟なユーザがオブジェクトの行動を修正することを希望するときに、彼らには行動モデルを表す複雑なプログラムとインタフェースを取り、行動の基礎を成すコードを修正するために必要な専門的知識が欠けているため、矛盾を生じさせる。
【0005】
当技術分野ですでに周知であるオブジェクトにおいて自律的な行動を生成し、オブジェクトに個性を与える技法はその実用性において制限されている。一般的には、オブジェクトの行動を修正するための適切な手段を未熟な個人に与え、オブジェクトによる複雑な行動をサポートするときには不出来な妥協に至る。これは特に、ユーザがリアルタイムでオブジェクトの行動を修正することを望むときにそうなる。
【0006】
未熟なユーザがアバターなどの仮想オブジェクトの行動を修正できるようにするための限られた手段は当技術分野で開示されている。例えば、Brush IIらによる米国特許第5,884,029号「さまざまなユーザにより制御される他のアバターと対話するインテリジェントな仮想オブジェクト、つまりアバターとのユーザ対話(User interaction with intelligent virtual objects, avatars, which interact with other avatars controlled by different users)」では、ユーザがアバターなどのインテリジェント仮想オブジェクトに個性をプログラミングできるようにする方法及び装置が開示されている。この例では、アバターの個性は、アバターが事前にプログラミングされた応答のセットを使用して半自律的に外部の刺激に反応できるようにすることにより作成される。特に未熟なユーザはどの個性の特色が自律的な行動を定義するのかを選択できないため、また未熟なユーザはリアルタイムでアバターの個性を修正できないため、この方法は多くの理由から有効性が限られている。
【0007】
Ballらによる米国特許第6,212,502号「コンピュータユーザインタフェースから感情及び個性をモデル化し、投影すること(Modelling and Projecting Emotion and Personality from a Computer User Interface)」では、仮想世界のユーザの経験を強化するために、ユーザの予想される情動状態を判断し、パーソナルアバターでユーザの情動行動を表現する方法が開示されている。ユーザはアバターの行動が自分自身の行動と異なることを希望する場合にアバターの行動に介入し、制御することができないため、この方法の有効性は制限されている。
【0008】
Lilesらによる米国特許第5,880,731号「オンラインチャットセッションにおける自動ジェスチャ及び制限付き対話を備えたアバターの使用(Use of avatars with automatic gesturing and bounded interaction in on-line chat session)」では、ユーザは、アバターがそれ以外の場合イナクティブであるときにアバターが自律的に機能するための特定のしぐさを限られたメニューから選択できる。個性が、アバターがユーザの制御下で意図的なアクションを実行していないときにときおり自動的に表示される選択されたしぐさを含むため、ユーザの意図的な制御下でのアクションを強化するために行動に対する修正は行われない。
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、前述された当技術分野で既知である不利な点を未然に防ぐ、及び/又は軽減するオブジェクトで自律的な行動を生成するための装置及び方法を提供しようと努める。
【課題を解決するための手段】
【0010】
本発明の第1の態様によると、動作コントローラの制御下でオブジェクトのために行動を生成する方法が提供され、前記方法は行動アクションと関連付けられる入力を受け取るステップと、オブジェクトによる行動を生成するように構成される行動フレームワークに従って前記入力から複数の行動パラメータ値を推論するステップと、前記推論した複数の行動パラメータ値から出力を引き出すステップと、前記パラメータ値から引き出される出力を使用してオブジェクトによる同等な行動を生成するステップとを含む。
【0011】
本発明の第2の態様によると、オブジェクトのために行動コントローラの複数の内部パラメータ値を推論する方法が提供され、前記方法は、行動アクションを表す入力を受け取るステップと、オブジェクトによる同等な行動アクションに対応する少なくとも1つの出力値の集合を前記受け取った入力から推論するステップと、前記複数の内部パラメータごとに、少なくとも1つの出力値の前記集合から値を推論するステップとを含み、前記複数の内部パラメータごとに推論される前記値が行動コントローラによる出力を生じさせ、その結果前記同等な行動アクションに同等な行動を生じさせる。
【0012】
本発明の第3の態様によると、オブジェクトで行動を生成する方法が提供され、前記方法は第2の態様の方法に従ってオブジェクトのために行動コントローラの複数のパラメータ値を推論することを備え、前記方法は、前記推論した複数のパラメータ値を使用して前記同等な行動と関連付けられる出力値の前記集合を生成することと、前記関節のあるオブジェクトに前記行動を実施させることとをさらに含む。
【0013】
本発明の第4の態様によると、関節のあるオブジェクトの行動を制御する方法が提供され、前記方法は行動コントローラに対する入力をオブジェクトに与えるように構成される行動設計インタフェースを使用してオブジェクトの行動特徴と関連付けられる行動パラメータ集合に値を指定し、それぞれの前記行動パラメータ集合が行動特徴に影響を及ぼす少なくとも1つのパラメータを含むステップと、行動プロファイルによって定められるデフォルト値とともに指定値に対して関数を実行することにより得られるパラメータ値とパラメータ集合の中の各パラメータを関連付けるステップと、オブジェクトのための行動コントローラにパラメータ値を入力するステップと、前記入力から前記行動コントローラによって生成される出力を推論するステップと、オブジェクトによる行動アクションと出力を関連付けるステップと、オブジェクトに行動アクションを実行させるステップとを含む。
【0014】
本発明の第5の態様によると、1台又は複数台のコンピュータに本発明の方法態様のいずれか1つを実行させるための命令の集合を備えるコンピュータプログラム、つまり一式のコンピュータプログラムを備えるコンピュータプログラム製品が提供される。
【0015】
本発明の第6の態様によると、オブジェクトで行動を生成するように構成される行動コントローラを備える装置が提供され、前記コントローラは、行動アクションと関連付けられる入力を受け取るための手段と、オブジェクトによる行動を生成するように構成される行動フレームワークに従って前記入力から複数の行動パラメータ値を推論するための手段と、前記推論した複数の行動パラメータ値から出力を引き出すための手段と、前記パラメータ値から引き出される出力を使用してオブジェクトにより同等な行動を生成するための手段とを備える。
【0016】
本発明の第7の態様によると、行動設計インタフェースを備える装置が提供され、前記インタフェースは値の行動パラメータ集合への指定を可能にするように構成される手段を備え、前記パラメータ集合はオブジェクトの行動特徴に関連付けられる少なくとも1つのパラメータ値を含み、前記インタフェースを使用して指定される値は第6の態様による装置への入力として提供される。
【0017】
本発明の第8の態様によると、一式の少なくとも1つのコンピュータプログラムをその上に記憶させるように構成される装置が提供され、前記一式の少なくとも1つのコンピュータプログラムは、装置を本発明の第6の態様又は第7の態様による装置として機能させるように装置で実行可能である。
【0018】
本発明の第9の態様によると、互いと通信することができるように構成される複数のコンピュータ型装置を備えるネットワークが提供され、前記装置の少なくとも1台は本発明の第8の態様による装置を備え、前記他の装置は、前記他の装置の環境の中で動作しているオブジェクトを前記一式の少なくとも1つのコンピュータプログラムによって制御できるように、前記一式の少なくともコンピュータプログラムの少なくとも一部に遠隔にアクセスするように構成される。
【0019】
本発明の第10の態様によると、オブジェクトをその行動を制御するために直接的に操作する方法が提供され、前記方法は、行動アクションを実行するためにオブジェクトを操作するステップと、オブジェクトによる同等な行動を生成するために使用される出力を提供するようにも構成される、行動フレームワークの出力ノードに行動アクションを表す入力を提供するステップと、フレームワークの他の行動ノードのための少なくとも1つのパラメータ値の集合を引き出すためにフレームワーク内の行動フレームワークの出力ノードにより受信される入力をマップするステップと、オブジェクトによる他の同等な行動を生成する出力値の集合を、引き出された少なくとも1つのパラメータ値から推論するステップとを含む。
【0020】
本発明の第11の態様によると、ノードのフレームワークを備える行動コントローラの制御下でオブジェクト内で行動を生成する方法が提供され、前記方法は、少なくとも1つのノードが行動アクションと関連付けられる入力を受け取り、それぞれの前記少なくとも1つのノードが受け取った入力を出力にマッピングするステップと、前記出力を使用してフレームワーク内の他のノードのための複数の行動パラメータ値を推論するステップと、オブジェクトによる同等な行動を生成する行動コントローラによる出力を提供するために前記推論した行動パラメータ値を使用して受け取った入力をマッピングするステップとを含む。
【0021】
本発明の第12の態様によると、行動コントローラの制御下でオブジェクト内で行動を生成する方法が提供され、前記方法は、行動アクションと関連付けられた入力を受け取るステップと、オブジェクトによる同等な行動に対応する少なくとも1つの出力値の集合に前記受け取った入力をマッピングするステップと、オブジェクトによる行動を生成するように構成される行動フレームワークに従って少なくとも1つの出力値の前記集合から複数の行動パラメータ値を推論するステップと、前記パラメータ値を使用してオブジェクト内で同等な行動を、これらを行動コントローラにロードすることにより生成するステップとを含む。
【0022】
本発明の第13の態様によると、仮想環境に参加する1人又は複数人のユーザの観察の下で複数の仮想オブジェクトが対話するように構成される仮想環境が提供され、仮想環境における前記複数の仮想オブジェクトのそれぞれ1つが仮想環境内の他の仮想オブジェクトの1つ又は複数の行動アクションの内の1つ又は複数から引き出される1つ又は複数の入力を使用する行動システムを使用して生成される半自律的な行動を表示する。
【0023】
好ましくは、仮想環境に参加する各ユーザは行動システムに入力を提供することにより生成される半自律的な行動を制御できる。
【0024】
本発明の別の態様は前記態様の仮想環境をサポートするように構成されるプラットホームを提供し、前記プラットホームは前記入力を提供するために仮想環境に参加する前記1人又は複数人のユーザの内の1人に手段を提供する。
【0025】
好ましくは、ユーザは表示された行動設計インタフェースを介して前記入力を提供し、受け取った入力は前記行動システムにより生成される行動を制御するように構成される行動コントローラによって処理される。
【0026】
行動システムは、任意の前記態様による行動コントローラ及び任意の前記態様による行動フレームワークを備えてよい。
【0027】
有利なことに、システムは、オブジェクトの行動コントローラのための行動変換装置を提供できるようにし、前記装置は第1の文化に適合する行動を表す情報を第2の文化に適合する行動にマップするための手段を備える。好ましくは、情報は行動コントローラによる入力として受け取られる。好ましくは、情報は行動コントローラによる出力として提供される。
【0028】
有利なことに、オブジェクトによる同等な行動が所定のシーケンスで実行される複数の行動アクションを備えてよいため、さらに複雑な行動は相対的に未熟なユーザにより提供されてよい。さらに有利なことには、さらに現実的な自律的に動画化された行動を提供するために、時間依存性の行動パラメータが行動コントローラの中に組み込まれてよい。
【0029】
有利なことに、オブジェクトによる同等なアクションを生成するために使用できる内部パラメータ値を入力から推論する能力を有することにより、行動を生成する方法は、オブジェクト内で複雑な行動を生成するためのユーザによる相対的に簡単なデータ入力を可能にする。
【0030】
有利なことに、複数の行動アクションを備えてよい複雑な行動が生成されてよく、その内の2つ又は3つ以上は同時に実行されてよい。例えば、アバターなどの関節のあるオブジェクトの行動は、前記アバターの姿勢行動と視線方向行動の両方とも同時に実行されるように制御されてよい。例えば、アバターはオブジェクトを拾い上げるときにオブジェクトを自動的に見ることができる、あるいは代わりに別の例としては、アバターが攻撃的である別のアバターに反応して気が小さい場合、内気なアバターは背をすぼめ、目をふせたままにするために姿勢と視線方向の両方とも変更してよい。
【0031】
有利なことに、本発明はチャットルームの仮想媒体の中でユーザが伝達できる表現の量を増すことによってユーザのためのチャットルーム経験を改善するための手段を提供する。身体言語の存在は、特に姿勢及び視線方向などの2つ又は3つ以上の行動アクションの同時実行によって伝達されるときにアバターをより実物の人間そっくりにし、彼らのコミュニケーションの質を改善する。有利なことに本発明により、アバターのグループは、各アバターが他のアバターの身体言語に適切に反応するように自らの行動を調整できる。
【0032】
従属請求項に述べられるような好ましい特徴は、当業者に明白な任意の適切な方法で前記態様のいずれかと適切に結合されてよい。
【0033】
本発明の好ましい実施形態は、添付図面を参照してここでほんの一例として説明される。
【発明を実施するための最良の形態】
【0034】
現在発明者が現在本発明の最良と考える形態は、ここで添付図面を参照して説明される。しかしながら、本発明の説明がほんの一例にすぎないこと、及び本発明が説明される実施形態だけに制限されることを目的としていないことが当業者にとって明らかとなるであろう。
【0035】
ここで添付図面の図1Aを参照すると、アバター及び仮想キャラクタのために身体言語を生成し、推論し、設計するためのツールを備える本発明の第1の実施形態が示されている。本発明のこの実施形態は、インターネットのチャットルーム及びコンピュータゲーム型環境等の行動特徴を制御するために特に有効である。
【0036】
図1Aでは、コンピュータ装置1が示されている。コンピュータ装置1は、高水準のコンピュータプログラミング技能を有していない可能性がある人間のユーザ(図示せず)によって操作されると仮定される。コンピュータ装置という用語は、携帯電話等の移動通信機器だけではなく、ゲームコンソール、パーソナルデジタルアシスタントなどの視覚表示装置にも取り付けることのできるデータ処理能力を有する任意の装置を含むために使用される。
【0037】
コンピュータ装置1は、例えばディスプレイ3を有するモニタなどの視覚表示手段2を備える。任意の適切なナビゲーション手段は、例えば、マウス又はキーボード(図示せず)などのディスプレイ3をナビゲーションするためにユーザによって利用されてよい。他の実施形態は、同等に使用されてよいスタイラス、トラックパッド、及びジョイスティックなどのナビゲーションツールを含んでよい。
【0038】
ディスプレイ3は、仮想環境アプリケーションがその中で実行しているウィンドウ4を含む。仮想環境は仮想オブジェクトを含むウィンドウ4に表示される。明確にするために、本発明のこの好ましい実施形態では2つの仮想オブジェクトしか説明されない。図1Aに図示されるように、2つの仮想オブジェクトは、動画化することができる。2つのアバター5、6を備える関節のあるオブジェクトである。アバター5はここではボブとも呼ばれ、アバター6もビルと呼ばれる。ビルとボブは図1に図示される実施形態において多関節形式を有するが、仮想オブジェクトが、例えば感情等を表示するためにねじれる顔を備えるために多関節ではない可能性もある。したがって対象となる行動は、オブジェクトの形式に関係なく顔で表現される行動及びオブジェクトによる任意の形式の行動を含む。
【0039】
仮想オブジェクト5、6は半自律的に動画化できるように構成されている(その場合、それらはユーザから少なくとも何らかの入力を必要とするであろう)が、仮想オブジェクト5、6の少なくとも1つが本発明の他の実施形態に従って行動コントローラを使用して自律的に機能するようにオフラインでプログラミングされることが可能である。本発明のでは、オフラインは、仮想オブジェクトがその仮想環境において動画化された行動(animated behavioural)を実行していないとき、あるいはこのような行動(behavioral)がオフラインプログラミングが再開される前に発生する間に休止されるか、中断されるときに行動コントローラをプログラミングすることを指す。
【0040】
ここで図1Aに戻ると、仮想環境の中の仮想オブジェクト5、6は2つの人間アバターを含む。しかしながら、仮想オブジェクトが取ってよい形式がコンテキストに応じて大幅に変化する場合があることが当業者により理解されるであろう。例えば、その役割に応じて、仮想オブジェクトは動物又は動画化できる任意の他の関節のあるオブジェクトであってよい。関節のあるという用語は、例えば四肢及び/又は関節など、互いを基準にして移動できる部分から構成されていることとしてここに定義される。
【0041】
ディスプレイ3は行動設計ユーザインタフェース7も示す。行動設計ユーザインタフェース7は仮想環境ウィンドウ4に別個のウィンドウを備える。行動設計ユーザインタフェース7は、ユーザが仮想オブジェクト5、6の1つ又は複数による行動を生成するために行動コントローラに入力を提供できるようにする。行動設計ユーザインタフェースアプリケーションは、行動コントローラを含むアプリケーションの部分を備えてよい、あるいはそれは行動コントローラを含むアプリケーションとインタフェースをとるように構成される別個のソフトウェアアプリケーションの一部として提供されてよい。行動コントローラは所定の行動フレームワークに従って構成される接続されたノードの集合を備え、フレームワークの各ノードはいくつかのパラメータに基づいて入力を出力にマップする。行動コントローラはここに以下にさらに詳細に説明される。
【0042】
図1Aでは、ユーザは行動設計ユーザインタフェースのトラッカバー9でスライダ8を使用して行動パラメータ値を適切に選択することにより両方の仮想オブジェクト5、6を管理する。明確にするために図1Aには男っぽさの行動パラメータ集合のためのトラッカバーとスライダだけに番号が付けられている。しかしながら、ここで図1Bを参照すると、図1Aの行動設計ユーザインタフェースの拡大図が示されている。
【0043】
(行動設計インタフェース)
図1Bは図1Aの行動設計ユーザインタフェース7をさらに詳細に示す。図1Bが示すように、行動設計ユーザインタフェース7は、図1Aの仮想環境ウィンドウ4で対話している仮想オブジェクトボブとビルのそれぞれのための一連のメニュー選択肢をユーザに与える。本発明の代替実施形態では、ユーザは環境における他の仮想オブジェクトの行動をより直接的に管理しない可能性があるが、簡単にするためにここではユーザがボブとビルの両方ともに直接的な影響を及ぼすことを希望すると仮定される。しかしながら、別の仮想オブジェクトを直接的に管理しない場合でも、さらに詳細に説明されるようにユーザは間接的に他の仮想オブジェクトの行動に依然として影響を及ぼす場合がある。
【0044】
図1Bで明確にするために、トラッカレーン9a、11aで軽薄さと呼ばれる行動パラメータ集合の値を選択するためのスライドバー8、10だけに番号が付けられている。
【0045】
図1Bに図示されるような行動設計ユーザインタフェース7は2つの行動プロファイル9aから9h及び11aから11hを備える。図示されている各行動プロファイルは、「形容詞」の集合、つまり仮想オブジェクトのある特定の行動特徴と関連付けられる同等に行動パラメータ集合を備える。図1Bに図示されるように、行動パラメータ集合は軽薄さ9a、11a、親しみやすさ9b、11b、男っぽさ(9c、11C)、他の好み(otherLiking)(9d、11d)、悲しい(9e、11e)、自惚れ(9f、11f)、はにかみ(9g、11g)及び優位点(superioritytoOther)(9h、11h)を含む。
【0046】
ユーザは、行動パラメータ集合の別の選択を含む他の行動プロファイルを構築できる。行動パラメータ集合を備える複数の個々の行動パラメータの特性を修正することも可能である。行動パラメータ集合の設計は所定の行動特徴を集合的に修正するために行動コントローラの行動フレームワークによって定義される。したがって、パラメータ集合設計は、どの行動パラメータ集合が行動プロファイルを形成するのかに関する簡略な選択よりさらに多くの技能を必要とするタスクである。パラメータ集合は単一のパラメータを構築できるにすぎない。例えば、その値が行動フレームワークの中のすべての行動ノードの出力に影響を及ぼすことがあるグローバルパラメータ、あるいはその値がフレームワークの単一の行動ノードだけの出力に影響を及ぼす内部パラメータ。
【0047】
図1Bに戻ると、トラッカレーン9aから9h及び11aから11hのトラック長は、ユーザがスライドバー8又は9を位置決めすることによって選択できる一連の考えられる値を表す。明確にするために、第1の軽薄さ行動パラメータ集合のスライドバーだけが図1Bで付けられていることが理解されるであろう。他の実施形態では、例えばラジオボタン、ドロップダウンウィンドウ等、あるいは制御データを直接的に入力する他の値選択手段が使用されてよい。しかしながら、これによりユーザをメインスクリーンディスプレイ仮想環境ウィンドウ4から不当に逸らすことなく連続範囲の値をパラメータに容易に指定できるため、スライド式バーとトラッカの使用は特に好ましい。
【0048】
図2Bに図示される値は、仮想オブジェクト5、6に、ユーザにより値ゼロが指定されたそれぞれの表示されている行動パラメータ集合に対応する中立的なスタンスを与える。これは、図1Aに示される2つの仮想オブジェクトの中立的な姿勢及び図1Aと図1Bに示される対応する行動パラメータ集合値を示す図2Aにさらに明確に示される。
【0049】
図2Bは、ユーザが仮想オブジェクト6(ビル)の男っぽさトラッカバーでスライダを移動することによりビルの行動にどのように直接的に影響を及ぼしたのか、及びボブの行動にどのように間接的に影響を及ぼしたのかを示している。図2Bでは、ユーザは男っぽさ行動パラメータ集合トラッカレーンのスライダを使用して14という値を指定し、ビルはビルの行動コントローラによって生成される行動を表示する。ビルの行動コントローラは、この入力を取り、フレームワークの行動出力ノードに適切な値を指定するためにそれを行動フレームワークを通して伝搬することによってユーザ入力からどのような同等な男っぽさ行動が必要とされるのかを推論した。
【0050】
ビルの行動コントローラは、14という指定された男っぽさの値から、図2Bに図示される実施形態では男っぽさの姿勢を維持しているビルを含む同等な行動アクションを推論した。種々の男っぽさの姿勢が結果として生じ、男っぽいしぐさ、視線方向、スタンス、顔の表情等の他の男っぽさの行動も生じる。ビルの行動コントローラは、ビルの男っぽさ行動アクション(複数の場合がある)を反映するボブの行動コントローラに1つ又は複数の値も出力する。この出力は、ビルの男っぽさの行動に対するボブの反応を示す、ボブにより実行される行動アクションを含む。
【0051】
ボブの行動コントローラは、ボブの行動コントローラがビルの行動により伝達される身体言語を効果的に解釈できるようにするビルの行動アクションから引き出される入力を受け取る。この入力は、ビルの男っぽさの行動に対する反応を含む行動アクション、例えば、ボブの行動フレームワークによって生成される行動を修正する1つ又は複数のパラメータ値を表現できる。代わりに、ボブはビルの行動を示すパラメータ値の表示だけを受け取り、ボブの行動コントローラはビルにより提供されるパラメータ値から、どの出力値がこの反応に対応するであろうかを推論できるであろう。その結果、ボブの行動コントローラはこれらの出力値から、ボブの行動フレームワーク内で反応に対する同等な行動を生成するであろう他の行動パラメータ値を推論することができ、これらの行動パラメータ値を使用して出力を生成し、次にこの行動を実行する。図2Aに図示されるように、これはボブがビルの前で服従する姿勢を採ることを含む。
【0052】
前述されたような方法で、ユーザは仮想オブジェクト6のための行動パラメータ集合値を変更することによって仮想オブジェクト5の行動を間接的に修正できる。ボブは、ユーザが服従する位置にボブのトラッカバーを直接的に移動しなくても、より服従するスタンスを採った。一方の仮想オブジェクト(ボブ)の行動コントローラは、他方の仮想オブジェクト(ビル)の行動によって伝達される身体言語を解釈した。これは身体言語を示す情報を伝達する他のオブジェクトの行動コントローラによって受け取られる出力を生成する第1のオブジェクトの行動コントローラによって達成された。適切な内部行動パラメータ値は、次に、他の仮想オブジェクトの行動を修正する他の仮想オブジェクトのための行動コントローラによって推論される。各仮想オブジェクトが入力を受け取るように構成される適切な行動コントローラを有するのであれば、身体言語情報が複数の仮想オブジェクトに伝達できることが当業者には明らかとなるであろう。
【0053】
図2Aに図示される本発明の実施形態では、キャラクタのボブ(仮想オブジェクト6)に対応する行動フレームワークのパラメータ値はビルに指定される値によって直接的に影響を及ぼされず、ボブのために表示されたスライダ値はその値を変更しない。しかしながら、本発明の他の実施形態では、スライダ値はその新しい値を反映するために自動的に更新できる。
【0054】
図2Cは、本発明の一実施形態では、仮想オブジェクトの内の1つの身体言語が適切な行動応答をセットアップするために他の仮想オブジェクトにどのように伝達できるのかを示す。図2Bに図示される行動に続いて起こる図2Cでは、ビルのユーザは1という値を男っぽさに指定し、10という値を軽薄さに指定した。ビルの行動コントローラは、図2Cに図示されるように手を伸ばしてボブの腕に触れるビルを動画化するなど、自動行動を生成する。ボブの行動コントローラはビルの身体言語を、彼がより男っぽくなく、より親しみやすいことを示しており、したがって手を伸ばしてボブに触れるというアクションが敵意を抱いているのではなく、親しみやすいと解釈する。これは、例えば、ビルが親しみやすいことを示すとしてビルのコントローラによって提供されるパラメータ値を解釈するためにボブの行動コントローラが受け取った入力を使用することによって達成できる。その結果、ビルが敵意をもってボブに触れた場合に起こる可能性のある(例えば)防御的な行動を表示する代わりに、ボブは代わりにより防御的ではない姿勢を採り、服従的な姿勢を維持するよりむしろわずかに前方に傾く。ボブがより防御的ではないと分かると、ユーザは、図2Dに図示されるようにビルの軽薄さと男っぽさのレベルをより低い値に設定することができ、両方のアバターによるより親しみやすい行動を生じさせる。
【0055】
図2Aから図2Dに図示されるように、どの点においても、ユーザは特定の体の移動を示したり、行動アクションを示すためにテキストを入力する必要はなく、行動コントローラはリアルタイムで指定された行動パラメータ設定値に反応して自律的に適切な行動を生成する。
【0056】
有利なことに、ウィンドウ型ソフトウェアアプリケーションとして行動設計ユーザインタフェース7を提供することによって、インタフェースが見える範囲はユーザ要件に応じて変えることができる。図2Eでは、ボブの行動プロファイルは行動設計ユーザインタフェースウィンドウ7で可視であり、図2Aから図2Dの行動プロファイルに示されるものとは異なる行動パラメータ集合を含む別の行動プロファイルがボブのために示されている。
【0057】
図2Eでは、ボブはユーザによって傾聴行動パラメータセットの高い値、つまりputUpon行動パラメータ集合の等しく高い値を指定されている。図2Eに示される他の行動パラメータ集合はtouchyFeely、domSub等を含む。ボブは、domSubの相対的に低い値を指定されている。これらの値はこれらの値に適切である行動を生じさせるためにボブの行動コントローラによって使用され、その結果ビルは直立した姿勢を有し、ボブはより服従する姿勢を有する。
【0058】
添付図面の図3は、本発明の行動コントローラが行動モデル30に従ってオブジェクトの行動をどのようにして生成するのかを概略して示す。行動モデル30は、例えば姿勢32、しぐさ33、顔の動き34、視線方向35などの特定の行動を生成するためにフレームワークによって受け取られる入力がどのように使用されるのかを支配するオブジェクトの特殊な行動フレームワーク31を定義する。行動フレームワーク31は多くのノードを備え、以下にさらに詳細に説明される(行動フレームワークの例については、図5と図7を参照すること)。
【0059】
フレームワーク31に対する入力は、多岐に渡る外部ソースと内部ソースから引き出すことができる。例えば、外部コンテキスト/イベント36から、他の文字37から、他のムード合図38から、他の所定のプロファイル39からである。フレームワーク31自体も特定のプロファイル40を設計するために使用することができ、結果として生じるプロファイル39は次に1つ又は複数のフレームワークノードの行動パラメータに指定される値を修正するためにフレームワーク31に入力を提供する。
【0060】
ユーザがアバターを直接的に操作する、あるいは行動設計ユーザインタフェース41を使用して値を直接的に入力する場合、入力は、姿勢32、しぐさ33、顔34、及び視線方向34のフレームワークの行動出力ノードに対する移動によって指定される値によってフレームワーク31に直接的に提供できる。フレームワークは、次に行動アクションのための適切な値を推論し、ユーザインタフェース/追跡調査システム40は次に動画システムを使用して適切なアクションを生じさせる。
【0061】
集合的に、姿勢、しぐさ、顔、及び目の行動ノードにより出力される値は動画サブシステム41を使用して適切に動画化された行動を生じさせるために使用される。使用される動画サブシステムは、Quakeエンジンなどのコンピュータゲームエンジン、又はSGIのオープンインベンタ(Open Inventor)ライブラリなどのシーングラフに基づいたコンピュータグラフィックシステムなどの任意の適切な動画アプリケーションによって提供できる。
【0062】
(行動モデルアーキテクチャ)
ここで添付図面の図4を参照すると、本発明による層化された階層行動モデルの階層構造が概略で示されている。
【0063】
図4は行動モデルの機能性が、5つの層、つまり行動モデル51を定義するフレームワーク内の行動ノードの設計に機能上関係する第1の層と、行動アーキテクチャ自体52aの設計に、及び(技能のある技術者による、出力行動に対応する実際の動画等の作成に関係する)「コンテンツ作成」52bに機能上関係する第2の層と、行動形容詞(同等に、行動パラメータ集合)53の設計に機能上関係する第3の層と、例えば図4に示されるようにスライダ機能54aなどのパラメータ値選択機構に、行動プロファイル54bの設計に、及び仮想オブジェクト54cの直接的な操作によるモデルの中への入力の直接的な提供に機能上関係する第4の層と、最終的にはリアルタイム制御55に関係する第5の層を備える本発明の好ましい実施形態を示す。
【0064】
本発明の他の実施形態では、複雑なより多くの層が行動設計制御アーキテクチャで提供できるが、リアルタイム制御がサポートされなければならない場合には、5つの層は本発明の好ましい実施形態によって必要とされる最小である。
【0065】
行動モデルの層とインタフェースをとるために必要とされる特殊化された知識及び/又は情報量のレベルは、概して、ユーザが修正しようと努めるフレームワークの特殊な特徴又は関数に依存する。例えば、モデルの上位層(例えば層4と層5)へのインタフェースはユーザの側での専門知識を相対的にほとんど必要としない。つまり誰もが本発明のこの態様に従って仮想オブジェクトのリアルタイム制御を実行できる。しかしながら、ノードタイプを設計する(つまり、行動階層のレベル1とのインタフェースをとる)ことを希望するユーザは専門家プログラマとである可能性が高い。
【0066】
図4に図示される行動モデルは、(複雑度を増す)層の数と、モデルにおけるリアルタイム制御の包含の両方においてScerri及びYdren(下記参照)の既知の多層構造行動設計制御アーキテクチャとは異なる(例えば、多層構造アーキテクチャについての詳細は、Scerri及びYdren[RoboCupチーム、RoboCup−99、ロボットサッカーワールドカップIIIのエンドユーザ仕様、シュプリンガー出版コンピュータサイエンスにおける講義ノート(2000)(End User Specification of RoboCup Teams, RoboCup-99,Robot Soccer World Cup III, Springer-Verlag Lecture Notes in Computer Science(2000))]を参照すること)。より複雑な階層構造を有することと、リアルタイム制御機能性を実現する能力に加えて、他の際立った特徴は、行動フレームワークの行動パラメータ値を入力されたパラメータ値から内部的に推論できるようにする行動パラメータ推論方式の提供を含む。このようにして、ユーザは行動特徴と関連付けられる1つ又は複数の行動パラメータ値の集合を入力するとき、あるいはある特殊な行動アクションを生じさせるためにオブジェクトを操作するとき、受け取られた入力は1つ又は複数の行動アクションを備える他の同等な行動を生成するために使用できる。この行動パラメータ推論システムはここに以下にさらに詳細に説明される。
【0067】
図4では、設計ノード型層51は動画制御システムとのインタフェースをとる出力ノードの設計に関する。通常、出力ノードの出力は仮想オブジェクトを動画化するためにノードの他のセクションにより使用される。動画システムは、それが生じさせる行動を制御するいくつかのパラメータを含む。出力ノードは動画システムのパラメータごとに1つの出力を有し、そのパラメータは出力の値に直接的に設定される。例えば、姿勢ノードのケースでは、新しい姿勢は基準姿勢ごとの加重に基づいて基準姿勢の集合の組み合わせとして生成される。姿勢はその重量に比例して運動結合システムとともに混合される。姿勢ノードはその重量に対応する姿勢ごとに出力を有する。他の出力行動はパラメータと行動の間でさらに複雑なマッピングを有するであろう。例えば、出力ノードは、ノード型のサブタイプを作成する(概してきわめて技術で技能のある)プログラマによって、及び実行時にアーキテクチャのフレームワークに新しい型を追加することによって作成でき、ノードはファイルからの定義を行動コントローラに読み込むために使用できる。本発明の他の実施形態では、出力ノードは使用されている動画システムと合うようにその出力を適合させる。
【0068】
ユーザは、一般的には、行動設計モデルの層2のアーキテクチャ設計52a又はコンテンツ作成52b特徴を修正する前に行動フレームワークに精通するように訓練を受ける必要がある。層2はある特定のアプリケーションのために仮想オブジェクトを作成するためのフレームワークを備える。それは、行動コントローラの設計及び出力ノードのためのコンテンツの設計を含む。例えば、出力ノードは事前に存在する運動又は他のコンテンツに基づいた行動を生じさせるように設計できる。多くの出力行動はいくつかの既存の動画及び類似するコンテンツに基づく。例えば、姿勢モデルは既存の姿勢の集合に基づき、顔の表情モジュールは既存の顔の表情の集合に基づくであろう。これらは市販されている3Dモデリングツールを使用して技能のある設計者によって作成できる。
【0069】
行動コントローラの設計は、通常、手で編集できる、設計仕様ファイル、例えばXMLファイル、又は他の適切なファイルタイプ(おそらく特別に設計されるファイルタイプ)によって指定される。行動コントローラはグラフ構造を有するので、単純なグラフィック編集ツールが代替実施形態の設計仕様ファイルを編集するために提供されてよい。いったん設計仕様ファイルが編集されると、それは前述された行動フレームワークを使用してコントローラにコンパイルできる。
【0070】
図4の層3、4及び5の形容詞設計層53とスライダ54a、プロファイル設計52b、直接操作52c及びリアルタイム制御機能は、概して未熟なユーザがオブジェクトの行動をカスタマイズできるようにするために構成される。特に、ユーザは添付図面の図8を参照して以下にここにさらに詳しく説明されるように行動プロファイルを設計する手段によって層3と4とインタフェースをとることができる。
【0071】
(行動コントローラ)
ここで添付図面の図5を参照すると、本発明の第1の実施形態による仮想オブジェクトのための行動コントローラのフレームワーク60が示されている。図5では、行動コントローラのフレームワーク60は、1つ又は複数のソースから1つ又は複数の出力に入力をマップするいくつかの計算ノードを備える。フレームワーク60内のノードは、例えば他の仮想オブジェクトの行動から引き出されてよい入力を提供するノードなどの外部入力61、グローバルフレームワークパラメータと、(直接的又は間接的のどちらかで)フレームワーク内のすべてのノードによってアクセス可能であるその関連入力値を提供するグローバルパラメータノード62、名前によって特定され、特殊なノードにとって内部の1つ又は複数のああいと関連付けられる行動ノード63a、63b、63c、63d、及び(例えば他の仮想オブジェクトの行動コントローラによる使用のために)外部で使用できるパラメータ値を出力する外部出力ノード64を備えてよい出力ノード64、65、又は適切な行動を提供する仮想オブジェクトの実際の所望される動画を生じさせるために行動動画機構によって使用されるパラメータ値を提供する行動出力ノード65を含む。プログラミングの観点から、各パラメータは、例えば指定された数値付きのテキスト名などの名前−値組から構成される。使用される行動モデルの正確なアーキテクチャは、行動コントローラのフレームワーク60の形式を決定する。
【0072】
図5では、フレームワーク60は、その機能がいくつかのパラメータに基づいていくつかの出力にいくつかの入力をマップすることであるいくつかの行動ノード63a、b、c、dを備える。図5は、外部入力61とグローバルパラメータ入力62がどのようにして集合的に行動ノード63a、63b、63c、63dに入力を提供するのかを概略的に示す。ノード63a、dは、ノード63b、cから入力を追加で受け取る。
【0073】
外部入力61は、例えば、他のキャラクタが親しみやすい、又は服従的である程度などの、環境と他のオブジェクトについての高水準情報を含む。
【0074】
グローバルパラメータ入力62は、その行動に影響を及ぼし、各行動ノードによって決定される特殊な行動を修正する仮想オブジェクトの高水準属性を備える。例えば、グローバルパラメータ値は、例えば幸福な又は親しみやすいなどのオブジェクトのムード又は態度などの特徴を備えてよい。簡略に図1Bを参照し直すと、複数の動作パラメータ集合が、キャラクタがどれほど親しみやすいのか、あるいはどれほど内気なのかなどの多様なグローバルパラメータを示すために名付けられている。
【0075】
行動コントローラフレームワークの中の行動ノード63a、63b、63c、63dに入力される各グローバルパラメータ名−値組は1つ又は複数の数値出力を生成する。これらの数値出力は、次に、外部出力ノード64による外部出力として渡されるか、あるいは出力ノード65によって行動出力と関連付けられるのどちらかである。
【0076】
外部出力64は、例えば仮想オブジェクトがどれほど親しみやすいか、あるいは服従的であるのかなど、外部入力に同等な情報を備える。外部出力として提供されるパラメータ名−値の組は身体言語情報を伝達する。この外部出力が他の仮想オブジェクト(複数の場合がある)によって受け取られると、それにより他の仮想オブジェクト(複数の場合がある)の行動を修正する他の仮想オブジェクト(複数の場合がある)の内部行動パラメータを推論できる。あるコントローラによる外部出力は、同じ名称を有する名称−値組を一致させることにより他の仮想オブジェクト(複数の場合がある)の行動コントローラ(複数の場合がある)に提供される外部入力と相互に関連付けられる。
【0077】
各行動出力ノード65は、行動アクションに対応する出力を生じさせる。プログラミングの観点から、行動出力ノード65は行動ノード63a、63b、63c、63dの(オブジェクト指向の意味での)サブタイプを備え、パラメータから行動にマップするために出力への入力の同様なマップを実行する。行動出力ノード65は出力ノードの他の部分によってキャラクタを動画化するために使用できる出力を生じさせる。例えば、姿勢出力ノードでは、新しい姿勢が生成される基準姿勢の集合、及び基準姿勢ごとのパラメータがある。姿勢の実際の表現はオブジェクトの関節角度に関して(オイラー角度として)記憶される。新しい姿勢は、重量として姿勢のパラメータを使用して基準姿勢に対応する角度に対して加重総計を実行することにより生成される。これらの生成された角度は基礎を成す幾何学的な表現における対応する変形に直接的に至る。
【0078】
(フレームワーク内の行動ノードの構造及び機能)
ここで図6を参照すると、図5の行動ノード63dの拡大図が示されている。図6は複数の異なるソースからの入力が行動ノードによってどのようにして使用されてよいのかを概略して示している。図6に図示されるように、行動ノード63dはその内部パラメータ集合に基づいて1つ又は複数の出力に行動ノードによって前方方向でマップされる最高3つの異なる種類の入力を受け取ることができる。図6では、行動ノード63dへの入力は例えばノード63b、63cなどの別の行動ノードから、1つ又は複数のグローバルパラメータ名値組によって提供される入力62から、及び/又はフレームワークの外のソースからの外部入力61からの出力から生じることがある。外部入力61は、対話規則の所定の組に従ってオブジェクトが対話している別のオブジェクトによって生成されてよい。行動ノードに対する外部入力はノードによって修正されてよい。例えば、入力は、入力が許容範囲を超えて拡張する場合には、無視される、あるいは最大値又は最小値に制限されてよい。代わりに、外部入力がユーザの文化に異なる文化に従って実行されるアクションを表す場合、外部入力は、ユーザ自身の文化における適切な行動に対応する外部入力が、事実上ユーザの仮想オブジェクトによる反応を修正するためにフレームワークによって使用されることを確実にするために、最初に適切に修正されてよい。
【0079】
図6は、行動ノードがどのようにしてその機能性を逆転し、逆転マップを実行するのかも示している。逆転マップは、入力が行動ノードの出力に対応するレベルにあるフレームワークによって受け取られると必ず実行される。これは、例えば、ユーザが、これが行動ノード65への出力に同等なレベルでのフレームワークに入力を提供するためにオブジェクトを直接的に操作するときに発生する可能性がある。その結果、この受け取られた「出力」はフレームワークを通る逆転マップの開始点となり、各内部行動ノードはそのパラメータ値を、最終的に受け取られた「出力」を生じさせるフレームワークのためのグローバルパラメータ値も決定されるまで、ここに以下に詳しく説明される方法で推論される。
【0080】
前方方向又は後方方向のどちらかで、フレームワーク内の各行動ノードは、ノードの機能に従っていくつかのパラメータに基づいて1つ又は複数の出力に1つ又は複数の入力をマップすることができる。
【0081】
(前方マップ)
前方マップのケースでは、出力は、各項Tijがいくつかの因数
【数1】
【0082】
の積であり、各因数が内部パラメータ又はノードの入力のどちらかであるいくつかの項
【数2】
【0083】
の総計として示されたオブジェクトのための行動コントローラによって提供される。前記に示されたように、ノードへの入力は別のノードからの出力として生じ、アーキテクチャ全体に大局的に指定されるパラメータであるか、あるいは外部入力であり、別のアーキテクチャから(つまり他のオブジェクトの行動コントローラから)生じてよい。
【0084】
例えば、キャラクタは(キャラクタが生まれつき親しみやすいことを示す)値1.2のグローバルパラメータ「親しみやすさ」で設定でき、それは(他のキャラクタが愉快であることを示す)1.5という値の別のキャラクタから外部入力「気持ちのいい態度」も受け取るであろう。これらは(キャラクタが他のキャラクタに対して親しい姿勢をとるべきであることを示す)値1.8の出力「親しい」を生じさせるためにノード内でともに乗算されるであろう。この出力は次に、キャラクタが、前方に傾く、及び他のキャラクタに向かうという2つの基準姿勢を結合することによってこれを達成すべきであると判断する可能性のある他のノードに渡されるであろう。これらの2つの姿勢の重み付けは、「親しい」出力から計算され、新しい姿勢を生成するであろう動画システムに渡されるであろう。
【0085】
ここで図7を参照すると、本発明の第2の実施形態による行動コントローラのためのフレームワークの概略図がより詳しく示されている。図7では、行動ノードは緊急性の平衡、優勢性要因、緊急性の差異、反応性、優勢性差異、親近感、ステータス、気持ちのいい態度、近接さ、空間の関係(space fling)及びくつろぎを含む。行動出力ノード65は顔の表情、高水準の姿勢ノード、視線方向、しぐさ及び姿勢を含む。他の実施形態はさらに発話の調子、速度、強勢等の行動出力ノードを含んでよい。
【0086】
図7に概略して示されるフレームワークの複雑さは図5に示される単純なフレームワークより高いが、より複雑なフレームワークは本発明の特殊な応用例及び実施形態に合うように構築されてよい。ユーザがその行動フレームワークに従って生成されるオブジェクトの行動を修正できるようにするために、1つ又は複数の行動パラメータの集合を備える行動形容詞が、これが、ユーザが供給することを必要とされる入力のレベルを大幅に簡略するため構築される。
【0087】
行動形容詞の例は、各仮想オブジェクト5、6の行動プロファイルが、軽薄さ、親しみやすさ、男っぽさ、他の好み(otherLiking)、悲しい、自惚れ、はにかみ及び優位点(superioritytoOther)という形容詞を含む図1Bに示される例を含む。これらの行動形容詞のそれぞれは行動パラメータ集合を備え、概して単純なテキスト名又は句によって行動設計ユーザインタフェースで表現される。通常、「形容詞」名称は、ユーザによる認識を容易にするために、直感的に前記「形容詞」が修飾する行動のその態様を説明する。行動パラメータ集合の中の各パラメータは、関数によって作用できる初期値又はデフォルト値を指定され、任意の外部入力された値と併せて作用されてよい。例えば、関数は単純な一次代数関数であってよい、あるいは所定量分、行動パラメータ集合にユーザによって指定される任意の値を単にスケーリングする(scale)ことであってよい。代わりに、関数はちょうど入力された値を戻す「恒等」関数であってよい。
【0088】
図7に概略で示されるフレームワークは、非言語的な個人内(intra−personal)動作の多様な態様を実行するための本発明の態様を表す。行動コントローラは例えばオンライン会議又はコンピュータゲーム/チャットルームシナリオのキャラクタなど、仮想オブジェクト間の対話を強化し、それらをより信用できるように見えるようにすることができる。特にフレームワークは半自律的な(つまり、ユーザがアバターの各行動アクションを具体的に決定しない)アバターにとって有効である。
【0089】
アバターの使用の多くは個人内の(intra−personal)動作を含むので、適切な非言語的な行動はそれらの使用を大幅に強化する。図7では、行動コントローラは多くの個人内(intra−personal)態度を符号化し、姿勢及び視線方向行動などの動画を生じさせるいくつかの出力を潜在的に制御する。制御システムはArgyle(Michael Argyle(1988)身体伝達第2版(Bodily Communication 2nd edition、Routledge)によって、及びMehrabian(Albert Mehrabian(1972)非言語的伝達(Nonverbal Communication、Aldine−Atherton)によって提案される理論に基づいている。Argyleは、非言語的な行動、親密さと優勢性−服従に対して最大の影響を及ぼす個人間の関係の2つの態様を提案している。これらは後述されるように恒常的動機としてモデル化できる。これらに関係して、Mehrabianは、微笑むこと、物理的な接近と接触、権威/ステータスなどの事柄で表示され、くつろぎ又は緊張と反応性で表示され、一般的な物理的な活性化で表示される非言語的活動親近感(好み)の三つの次元を提案した。反応性の次元はオプションであり、それ以外の場合これらの量に基づく図7に示される行動コントローラでは実現されていない。
【0090】
図7では、緊急性及び優勢性のArgyleの次元はMehrabianの親近感とステータスの次元に密接に関連付けられているため、それらはアーキテクチャで関連付けられる。Mehrabianの次元は緊急性エージェントと優勢性エージェントにより直接的に決定される行動ノードとしてモデル化される。緊急性及び優勢性は恒常的動機としてモデル化される。
【0091】
変数の所望される値は、仮想オブジェクトのグローバルパラメータ及び任意の他の仮想オブジェクトからの外部入力に基づいて緊急性平衡及び優勢性因数ノードによって計算される。所望される親密さを強める因数は、キャラクタがどれほど親しみやすいか、それが他のキャラクタをどれほど好きか(グローバルパラメータ)及び他のキャラクタがどれのど快適であるのか(外部入力)を含む。それを減ずる因数はキャラクタがどれほど内気か、及び他のキャラクタがどれほど優勢であるのかである。これらの因数のすべてはそれらのプロファイルに基づいてキャラクタごとに異なる可能性のある重み付けを有する。所望される優勢性の因数はやはりいくつかの他の因数に依存する2つのキャラクタ間のステータスの所望される差異である。緊急性差異は所望される緊急性と実際の緊急性の間の差異となり、実際の緊急性がIaであり、所望される緊急性がId1である場合に他のキャラクタがどの程度親密であるのか(外部入力)によって決定され、前記緊急性差異は以下のとおりである。
【0092】
ΔI=Id−Ia
優勢性の方程式は、因数は言うまでもなく異なっているが類似している。行動反応性の第3の次元は本発明の他の実施形態で実現される。
【0093】
本発明のこの実施形態では、キャラクタの行動は高水準タイプの行動、つまり気持ちのいい態度、近接さ、空間の充填、くつろぎに関して定義される。これらは階層の動機レベルとアクションを形成するレベルの間の中間物として動作する。反対はしかめっ面のしぐさ又は攻撃的なしぐさである可能性があるが、気持ちのいい態度は微笑んでいる顔などの一般的な愉快な態度である。それは親近感(好きか、嫌いか)の表現である。気持ちのいい態度は姿勢で多くの表現を有さないが、一例は、他のキャラクタではこれが通常親しみやすい姿勢として解釈されるとき、キャラクタがその頭を側面に傾ける「頭をかしげること」である。近接差は、物理的な距離を含む社会的な距離(親密さ)であるが、体の向きや相互の視線などのことも含む。低い社会的な距離は高い親近感の結果である。それは、前方に傾く又は他のキャラクタにふれるなどの多くの方法で姿勢で表現される。高い社会的な距離は反対であり、体を逸らすとして表現できるが、体全体の向きをかえることとしても表現できる。空間の充填は、例えば姿勢又はさらに多くの又はさらに少ない拡大しぐさによって自分自身をさらに大きく又はさらに小さくする傾向である。姿勢の例は完全な高さに体を起こすこと、又は足を離して立っている又は座っていることを含む。高い空間充填は優勢性と関連付けられ、低い空間充填は服従と関連付けられる。くつろぎはおもに姿勢であるが、他の種類の行動とも関連付けられる低い体の緊張である。高いくつろぎは優勢なステータスのしるしであり、姿勢の非対称性によって表すことができる。
【0094】
本発明のこの実施形態では、高レベルの行動因数を実際の姿勢に変換するいくつかの高水準姿勢ノードがある。姿勢ごとに1つの高水準姿勢がある。それぞれが高水準行動タイプの1つ又は複数に依存している。高水準行動タイプの値は、姿勢のための値を生成するために重み付けにより乗算される。これは、キャラクタが姿勢を実行している程度を決定する。重み付けはキャラクタプロファイルに依存し、その結果異なるキャラクタが同じ高水準行動のためにさまざまな姿勢を生じさせるであろう。姿勢の値は次に姿勢出力ノードに渡される。これは姿勢の実際の表現を記憶している。これは関節角度という点での表現である。各姿勢に対応する関節角度は重みとして姿勢の値を使用して総計され、結果は根本的な幾何学的な表現に直接的に渡されるキャラクタの実際の姿勢である。
【0095】
図8は、仮想オブジェクトの動作の生成における特定の段階を示している。含まれている前記段階は、最初に、1つ又は複数の行動形容詞の1つ又は複数の設計であり、第2に複数の行動形容詞を備える行動プロファイルの設計であり、第3にユーザによるプロファイル内での行動形容詞の値の指定であり、最後に行動コントローラによる行動の以後の生成である。行動コントローラによる行動のユーザ入力及び生成はユーザが仮想環境でオンラインである間にリアルタイムで動的に発生することがあるのに対し、形容詞及びプロファイル設計段階は概してオフラインで発生する。
【0096】
本発明では、形容詞は1つ又は複数の行動パラメータの集合を含む。行動コントローラのフレームワークの中のどの行動パラメータが行動特徴に影響を及ぼすのかの選択は相対的に技能のあるタスクである。しかしながら形容詞を提供することによって、行動設計インタフェースのユーザに必要とされるデータと理解の量は削減される。形容詞設計70及び行動パラメータを指定するためのデフォルト値71の選択は、図7を参照してすでに前述されている。
【0097】
(プロファイル設計)
形容詞設計をセットアップするために必要とされる知識のレベルと対照的に、オブジェクト72の行動プロファイルにどの形容詞が含まれなければならないのかの選択は形容詞を構築するために必要とされる知識のレベルに比較してより複雑ではないタスクである。行動プロファイルの設計段階により、ユーザは、前記ユーザが行動設計インタフェースを使用して制御しようと努めるオブジェクト(複数の場合がある)の行動にどの行動特徴が関連しているのかを選択できるようにする。
【0098】
したがって、行動プロファイルは1つ又は複数の形容詞から構成される。形容詞は単一のグローバルパラメータ値、又は一意に指定された行動ノードパラメータ値、あるいは複数のパラメータ名−値タイプの各タイプの1つ又は複数(a plurality of one or more of each type of parameter name−value types)を含んでよい。このようにして、ユーザは行動コントローラのための内部パラメータ及び/又はグローバルパラメータを設定できる。本発明のある実施形態では、行動プロファイルは2つのセクションを備え、その両方ともパラメータ名−値組を使用して説明される。第1のセクションはオブジェクトの全体的な個性を説明する(個性という用語はここではオブジェクトの一般的な気質を表すために使用される)。第2のセクションは属性名値の集合を備える。本発明の一実施形態では、「態度」セクションの各形容詞は一意の行動ノードパラメータ(複数の場合がある)を備えるのに対して、「個性」セクションの各形容詞はグローバルパラメータ(複数の場合がある)を備える。
【0099】
態度は、仮想オブジェクトによって他の仮想オブジェクトがどれと対話しているのかに基づいて変化する仮想オブジェクトの行動の態様を備える。例えば、仮想オブジェクトは別のキャラクタよりあるキャラクタとより親しい可能性がある。態度はキャラクタの名称(又はキャラクタの集合)及びそのキャラクタと対話するときにだけロードされるパラメータ値の集合から構成される。これに関連して、態度は、それが少なくとも1つの行動パラメータ名−値組から構成される集合を備えるという点で「形容詞」の形式である。
【0100】
行動プロファイルの態度パラメータセクションは、対話に存在するそれぞれの指名されるオブジェクトごとの少なくとも1つのパラメータ値の集合を含む。これらの値は適切な行動を生成するために行動フレームワークのパラメータにロードされる。例えばクラス「見知らぬ人」のオブジェクトのパラメータ値など、オブジェクトのクラス、つまり個々のオブジェクトのためのパラメータ値の集合も、オブジェクトが、アバターが以前遭遇したことがない他のアバターを好まないという事実を反映するために指定することもできる。
【0101】
パラメータは任意の適切な方法でその値が設定される可能性がある。2つの方法はきわめて適切と考えられる。第1に、値はノード名、パラメータ名、及びパラメータを設定する値を使用してフレームワークパラメータを指定することによって直接的に指定できる。第2に、複数のフレームワークパラメータはここに、すでに行動フレームワークの1つ又は複数の行動パラメータを備える集合を指すためにここに定義される「形容詞」と呼ばれるすでに説明されたデータ構造で関連付けられてよい。ユーザが形容詞に選択してよい一連の考えられる値は、プロファイル設計段階73に含まれてよい(又は代わりにそれは形容詞設計段階の一部を形成してよい)。
【0102】
最後に、いったんユーザによって「形容詞」に値が指定されると(ステップ74)、集合の中の各パラメータの実際の値はステップ75で決定され、形容詞設計段階の間に定義されるデフォルト値(ステップ73)とユーザによって形容詞に指定される値(ステップ74)の関数として与えられる(given by)。
【0103】
例えば、ユーザは「幸せ」と示される行動パラメータ集合「形容詞」に「10」という値を指定してよい。行動プロファイルが行動コントローラの中に読み込まれると、「幸せ」についてユーザによって指定される値「10」は、次に、パラメータ集合「幸せ」を構成するために形容詞設計によって決定された(ステップ70、71)すべてのパラメータ(複数の場合がある)のための実際のパラメータ値に変換され、実際の値は形容詞と関連付けられる入力値に作用する関数により決定される。
【0104】
どのパラメータが集合的に行動パラメータ集合を構成するのかは、プロファイル変換ファイルによって決定される。プロファイル変換ファイルは各行動パラメータ集合を定義し、それぞれを「形容詞」名(又は行動パラメータ集合のための何らかの同等な名称又は句、つまりパラメータ集合が修正する行動特性と直感的に関連付けられる名称)と関連付ける。プロファイル変換ファイルは、行動パラメータ集合に属するとして少なくとも1つのパラメータも定義する。要約すれば、行動モデルによって使用される各パラメータの最終的な値は、プロファイルで指定される値、及び/又は行動パラメータ集合に指定される値の関数である。
【0105】
ユーザがプロファイルを修正できる複数の方法がある。例えば、符号をテキスト編集すること、スライダを使用して、あるいはさらに詳しく後述される、仮想オブジェクトの直接的な操作によって値を指定することである。
【0106】
ここで図8に戻ると、オブジェクトのための行動形容詞にユーザによって指定される値はオブジェクトの行動コントローラに対する入力として提供される。行動コントローラは、次に入力を取り、適切な行動出力を生じさせるために、それからどのパラメータに、どの値が指定されるのかを推論する(ステップ75、76、77、78)。オブジェクトによる行動を生成するために受け取られる入力が使用される機構が図9Aにさらに詳しく概略で示されている。
【0107】
図9Aは、フレームワークが動作する2つの方法を示している。第1に、フレームワークは、外部入力又はグローバルパラメータ又は形容詞などの高水準入力が設定されると発生する、前方マッピングだけを使用して動作できる。このケースでは、フレームワークは前方に実行され、出力ノードの値が決定されるまで、ノードで入力から出力を生成し、(図6も参照すること)前方マッピングを実行するにすぎない。
【0108】
第2に、フレームワークは、入力よりむしろ出力が変更されると逆転マッピングを実行するように動作できる(やはり図6も参照すること)。例えば、オブジェクトの直接的な操作が発生するときである。しかしながら、複数の入力が両方のマッピングを実行するために受け取られることもあるが、逆転マッピングは直接的なマッピングによる出力に影響を及ぼすことがあり、したがって本発明のいくつかの実施形態ではこれは最初に実行される。
【0109】
ここで図9Aを参照すると、行動コントローラは入力を受け取る(ステップ81)。入力が例えば外部入力パラメータ又はグローバルパラメータに対応するフレームワーク内の高水準ノードでなど、入力ノードで受け取られる場合(ステップ81)、入力は次に所望される行動を生成するために動画システムに値を提供するために使用される(ステップ85)特定の出力を生じさせるために(ステップ83)接続されたノード(ステップ83)の行動コントローラのフレームワーク内で前方にマップされる。所望される行動は入力で示される行動に同等な行動を含む。しかしながら、同等な行動はさらに複雑であってよい、及び/又はさらに多くのアクションを備えてよく、その内のいくつかは同時に及び/又はシーケンスで実行されてよい。
【0110】
(逆転マップ)
代わりに、入力がオブジェクトの直接的な操作などのソースから受け取られる場合には、受け取られる入力は、フレームワークの出力ノードの1つ又は複数が(動画システムと併せて)生じるであろう出力の行動と同等である。この場合、入力は出力ノードの1つ又は複数で受け取られ(ステップ81)、最初に、どの入力値がこのような出力を生じさせる(ステップ82b)のかを決定するために行動フレームワークを通して逆転マップされる。
【0111】
この逆転マップは、このような行動を生じさせるであろうグローバルパラメータが推論されるまで、フレームワークのすべての関連するノードに、それらのパラメータ値を推論させることを必要とする(ステップ84、85)。これらの誘導されたパラメータ値は推論されたグローバルパラメータ値から開始する前方マッププロセスのために保持され、他の行動を生成するために使用される。結果として、ただ1つのアクションが直接的な入力を提供するために使用されたが、コントローラにより生じる行動はオリジナルの直接的に操作された入力よりはるかに豊富且つ複雑な場合があり、1つ又は複数の行動アクション、又は行動アクションのシーケンスを備えることがある。これは再びさらに詳細に後述される。
【0112】
(前方マップ)
例えば、行動設計インタフェースが1つ又は複数のグローバルパラメータ、例えば、別の仮想オブジェクトに対するアバターの態度を表すおそらく特定のノードに特殊なパラメータ値だけではなく、例えばアバターなどの仮想オブジェクトの特定のムードを表すグローバルパラメータなどの1つ又は複数のグローバルパラメータにも値を指定する発明の実施形態を考える。ここで図7と図9Aの両方を参照すると、入力62は行動フレームワークの適切なノードによって受け取られ(ステップ82a)、次に内部行動ノード63を通して行動フレームワークによってマップされる(ステップ83)(例えば、図7に戻って参照すると、パラメータ値は緊急性平衡ノードと優勢性因数ノードを通して最初にマップされ、次に、出力ノード65に達するまで親近感ノードとステータスノード、及び気持ちのよい態度、近接、空間充填及びくつろぎのノードに前方にマップできる緊急性差異ノード、反応性ノード及び優勢性差異ノードにマップされてよい。図7に示される本発明の実施形態では、出力ノードは顔の表情、高水準姿勢ノード(及びこれはさらに姿勢ノードにマップする)、視線方向、及びしぐさノードを備え、そのそれぞれはアバターを動画化させ、適適切な行動を生成させるために適切な動画システムに提供できる出力を生成する。入力がフレームワークを通して前方にマップされるとき、グローバルパラメータは、二次的な行動変化を誘導できるようにするフレームワークの中の他のノードに対する入力として提供される。これらのグローバルパラメータ値は、次にさらに複雑な行為をアバターによって実行できるようにする。
【0113】
(直接的な操作)
図7に図示される本発明の実施形態では、出力ノードは顔の表情、高水準姿勢ノード(及びこれはさらに姿勢ノードにマップする)、視線方向、及びしぐさノードを備え、そのそれぞれはアバターを動画化させ、適切な行動を生成させるために適切な動画システムに提供できる出力を生成する。ここで再び9を参照すると、ユーザが例えば別のアバターの腕に触れるために(例えばアバターのアームをクリックすることによって、ステップ90)アバターの姿勢を直接的に操作する例を考える(ステップ91)。これはフレームワークの姿勢ノードで特定の入力を生じさせる(ステップ92)。アバターによってこのような動作を生じさせるであろうグローバルパラメータ値は、他のアバターに対する親しみやすさが意図されるときにだけこのようにするためにセットアップされてよい。行動コントローラは、フレームワークのグローバルパラメータ入力ノードに達するまで姿勢ノードによって生じる値(ステップ93)からフレームワークの関連するノードを通って戻る姿勢ノードにより生じる値から逆転マップを実行し、グローバル行動パラメータ「軽薄さ」のための適切な入力値を推論できる(ステップ93を参照すること)。これらのグローバルパラメータ値は次にフレームワークを通る前方向マップを開始するために使用される。
【0114】
逆転マップは、例えば気持ちのいい態度とくつろぎになど、フレームワーク内の他の行動パラメータ値にも値を指定するであろう。推論されたグローバルパラメータ値から順方向マップ(ステップ94)を実行すると、指定される値は他の行動を生成する(ステップ96)複数の出力(ステップ95)を生成するために使用される。例えば、気持ちのいい態度とくつろぎに指定される値は、アバターが微笑む結果となる、顔の表情のための出力ノードで追加行動を生じさせることができる。他方のアバターの顔を見るために視線方向を変更するなどの他の行動も生成されてよく、握手などのしぐさが腕に触れることに続くように生成されてよい。このようにして、ユーザは別のアバターの腕に触れるためにアバターの姿勢を直接的に操作したにすぎないが、行動コントローラは、ユーザが、アバターが他のアバターに対して親しみやすく、アバターに挨拶することを希望し、相応して適切な行動を生成することを推論するために、ユーザがアバターに与えた身体言語を解釈した。
【0115】
要約すれば、入力として受け取られる情報からさらに多くの情報を推論することによって、逆転マップを使用して生成される行動は、シーケンスとして又は無作為に実行できる1つ又は複数の行動アクションを備える場合があり、視線方向、スタンス、運動等の1つ又は複数のアクションは同時に実行できる。これは、ユーザに非常に簡略な制御機構も提供する一方、オブジェクトにより示される行動の複雑さを大幅に高める。推論機構はさらに詳細に後述される。
【0116】
直接的な操作は、ユーザが仮想オブジェクトの体の部分をクリックし、次に体の部分を新しい位置にドラッグするためにマウスを使用して仮想オブジェクトを直接的に操作することによって達成できる。他のコンピュータナビゲーションツール、又はカーソルとキーボード、ジョイスティック、トラックボール、ポインタ等のツールの組み合わせは仮想オブジェクト操作するために、当業者に明らかであるように任意の適切な方法で使用できる。
【0117】
実際のオブジェクトが行動コントローラによって制御される本発明の実施形態では、ユーザが手でオブジェクトの姿勢を直接的に変更することを望むことがある。運動中の他のオブジェクトに対するその近接さだけではなく変位及び又は移動の速度を含んでよいこの運動の特徴も、どの入力が行動コントローラに供給されるのかを決定するであろう。
【0118】
このようにして、ユーザは仮想オブジェクトによって特殊な所望されるアクションを示すことができ、行動フレームワークは、次に、ユーザが示した行動と一貫している所望される複数の行動アクションを外挿することができる。新しい出力パラメータ値は、ユーザによって示されるアクションだけではなく、さまざまな環境に適切である類似した運動も複製するために使用できる。さらにパラメータ設定値は、行動プロファイルに、又は行動プロファイルを構築するために次にユーザが使用できる形容詞として保存することができる。より複雑な行動の生成をトリガするためのオブジェクトの直接的な操作は、子供は複雑な行動を実行するために玩具を容易にプログラミングできるため、オブジェクトが玩具である場合に特に有効である。
【0119】
仮想オブジェクトの行動コントローラのための行動フレームワークが内部パラメータとグローバルパラメータを推論する方法がここでさらに詳細に説明される。
【0120】
(行動推論方式)
行動コントローラの動作を定義する行動フレームワークの構造により、例えばユーザが仮想オブジェクトを直接的に操作するときに、内部パラメータ値は逆転マップを使用してフレームワーク内に入力から推論できるようにする。再び図9Aを参照し直すと、行動コントローラがフレームワークに外部のソースから引き出される入力を受け取るケースを考える。入力が直接的に出力と関連付けられる場合、例えば、直接的な操作によって引き出される場合、逆転マップは前方マップのためにグローバルパラメータ値をシードする(seed)ために実行される必要がある。この逆転マップは、下記に概略される行動推論方式を使用して実行される。
【0121】
入力の外部ソースはオブジェクトの環境により決定できるであろう。例えば、入力は、別のオブジェクトがオブジェクトに対して投じられた情報を備えてよい。代わりに、それは別のオブジェクトの行動コントローラからの出力を備えてよい。代わりに、それは例えばユーザに取り付けられる運動センサによって提供されるデータなどの、ユーザからの入力を備えてよい。代わりに、それはユーザからの直接的に入力される値、又は行動設計ユーザインタフェースを介した入力を備えてよい。入力は別のオブジェクトの身体言語の表示を提供でき、そのケースでは情報は適切な応答を推論するために使用できる。
【0122】
いったん入力が行動コントローラによって受け取られる(ステップ80)と、受け取られた入力値は次にオブジェクトの出力値と関連付けられる(ステップ81)。これは行動出力ノードのそれぞれ異なるタイプごとに特殊目的マップを使用して実行される。いったんこの初期のマッピングが出力ノードで実行されると、逆転マップはノードの内部パラメータ及びグローバルパラメータを推論するためにフレームワーク全体を通して実行される。これは行動フレームワーク内の各ノードの影響を受けた出力ごとにセットアップされる方程式を使用して達成され、
【数3】
【0123】
ここでは各因数は内部パラメータ又はノードの入力のどちらかである。
【0124】
このようにして、出力の各項Tijは、それを出力の他の項Tijから区別する解決できる因数を有する。項Tijは内部パラメータ値又はグローバルパラメータ値などの内部値であってよい解決できる因数を含む。このような環境では、解決できる因数には単に新しい値が指定し直されるだけである。解決できる因数が別のノードから入力される場合、処理はソースノードからの入力を表すための方程式の新しい集合を形成して繰り返される。出力での変更は、このようにして解決可能な因数を内部パラメータ又はグローバルパラメータによって表現できるまでにノードの階層を上方へ伝搬される。
【0125】
各項Tijは、2つの解決可能なパラメータを有する。つまりリアルタイムの制御のために内部状態を推論するときに解決のために使用され、他方はプロファイル編集のために使用される。
【0126】
解決可能な因数という点での各ノードの出力は以下のとおりであり、
【数4】
【0127】
ここではfijは解決不可の因数の総計であり、Sijは解決可能な因数である。この一次方程式は、適切な線形代数方法を使用して解かれる。例えばユーザがいくつかの編集機能を実行した場合、一次方程式のシーケンスが行列形式で存在し、
o=Fx
そこではoは編集のそれぞれの出力のベクタであり、Fは例えば外部入力又は時間変化するパラメータのさまざまな設定値などの(文脈に依存する可能性がある解決不可の因数の行列であり、sは解決できる因数のベクトルである。Fが二乗ではないすべてのケースにおいて複数の正確な解決策があるであろうため、擬似反転方法が最小二乗解を見つけるために使用できる。
【0128】
s=F*0
この方法は単一ノードのパラメータを推論できるようにする。出力に直接的に接続されない階層のさらに上にノードのためのパラメータを推論するために、解決可能な因数のいくつかは内部パラメータよりむしろノードの中へ入力として提供される。前記入力は外部入力、グローバルパラメータ又は他のノードの出力のいずれかである場合がある。外部入力が解決可能なパラメータであることはできない。グローバルパラメータはそれらの値を解決プロセスの間に直接的に設定させる。
【0129】
入力が別のノードの出力である場合には、解は他のノードのための解決を必要とし、それは、そのノード及びそのノードに入力を提供するあらゆるノードを含む、方程式のシステムをセットアップすることにより達成できる。このケースでは、追加ノードは他のノードに対する出力を提供し、したがって解決される方程式は
【数5】
【0130】
の形で最もよく表現され、各行動ノードは既定の出力ノードの出力から決定される。
【0131】
(リアルタイム制御)
行動階層の中の最終層によりユーザがリアルタイムで複雑な行動をオブジェクトに提供できるようになる本発明の実施形態では、ユーザは種々のソースから行動コントローラに入力を提供する、あるいは任意の個別オブジェクトのために複数の行動設計インタフェースを使用することを希望することがある。例えば、又は入力を提供する他のデバイスは、例えばユーザの頭部及び/又は体の上で運動トラッカを使用することを含んでよい。2つ又は3つ以上の制御装置は操作上の負担を削減するためにユーザによって同時に操作されてよい。使用される制御装置は、ユーザが仮想オブジェクトの体のすべての部分をつねに制御することを必要するのではなく、ときどき限られた数の部分を操作する必要があるにすぎないことを確実にするために行動モデルで特定のパラメータを設定するために形容詞の使用を利用する。
【0132】
直接的な操作によって引き出されるのか、あるいはユーザを追跡調査するセンサによって引き出されるのかに関係なく、オブジェクトの行動は適切なインタフェース機構を使用して行動コントローラに渡すことができる情報を生成する。情報が特定の行動出力ノードのパラメータ値に同等であるパラメータ値を表現するとき、行動コントローラは仮想オブジェクトによるその特定の行動を生じさせるために必要とされる関連のあるパラメータに値を内部で指定するためにフレームワークを通して逆転マップを実行する。これによりオブジェクトはこれらのパラメータと関連付けられる他の行動を生成できる。例えば、ユーザは図2Cに示されるような別のキャラクタの腕に触るためにオブジェクトの腕を動画する可能性がある。フレームワークは、このしぐさが軽薄さの高い値に対応すると推論する。したがって、これは例えば前に傾く又は微笑むなどの他の軽薄な行動を生じさせるであろう。
【0133】
パラメータ値は、トラッカが使用される場合にユーザの行動に対応する可能性のある、「親しみやすさ」などの幅広い行動パターンを表すことができる。推論機構はどのような種類の行動が表現されているのかを決定するために仮想オブジェクトの操作に関連する代数方程式を解くだけなので、本発明のこの実施形態におけるユーザの行動を推論するために確率論的な機構は使用されない。いったん「親しみやすい」行動として認識されると、フレームワークはさらに幅広い範囲の親しみやすい行動を複製する。このより幅広い範囲の行動は、ユーザがリアルタイムで直接的に制御することを期待される内容を超えている。例えば、仮想オブジェクトは、ユーザが握手をするためにアバターを操作することによってアバターが親しみやすいことを示したに過ぎないという事実にも関わらず、フレームワークにより微笑むように誘導されてよい。入力が提供されない場合、フレームワークにより仮想オブジェクトは自律的に行動し続けることができる。これにより、行動設計ユーザインタフェースに不案内なユーザは仮想環境にさらに慣れ、仮想オブジェクトをもともとの始めから操作しようと試みる必要なくその環境について学習できるようにする。これは、非常に低い年齢の子供にも適した、きわめて使いやすいインタフェースを提供する。
【0134】
添付図面に示されるような行動制御システムは非言語的な行動をサポートする発明の実施形態に基づいている。しかしながら本発明全体として、行動は、それぞれが特定のパラメータによって修正される物理的なアクション及び/又は音声アクションによって表現される。例えば、身体言語などの物理的なアクションは、例えばオブジェクトが恐れているかどうかなど、オブジェクトの現在の内部の状態により修正されてよい。音声アクションは例えば音の高さなどのパラメータによって修正できる。これに関連して、用語「行動」は特定の刺激に対する制御された、又は制御されない(反射性)反応として生成される1つ又は複数のアクションとして定義できる。行動はより一時的な感情の特色(例えば、幸せ又は悲しい)だけではなく長期の特徴特色(例えば臆病又は攻撃的)も含む。
【0135】
本発明の非言語的行動の実施形態の一例は、親密さ及び優勢性−服従の概念を使用して個人間の関係性をモデル化する。本実施形態では、行動制御システムは、関係者の間の親密さと優勢性/服従のレベルを反映する親近感、権威/ステータスなどの特定の属性の多様な程度を示すために非言語的な活動を生じさせる。親近感は、例えば微笑む、物理的な接近及び/又は触ることなどの活動によって適切な行動のディスプレイにより表現される。権威/ステータスは、例えば姿勢における表示されたくつろぎ又は緊張によって表現できる。表現できる他の非言語的活動は一般的な物理的な活性化によって表示される応答性を含む。これに関連して、図1Bに図示されるパラメータ値は、本発明のこの実施形態では、親近感又は「男っぽさ」に対応する「親しみやすさ」と「他の好み(otherLiking)」、又は優勢性に対応する「自惚れ」などの所定の感情の/個人内(intra−personal)パラメータである。
【0136】
(発明の他の実施形態)
ここに前述された実施形態はおもに制御されている仮想オブジェクトの行動を説明している。しかしながら、ここに説明される行動制御の概念は、たとえ前記説明で明示的に説明されていなくても容易に非仮想、つまり現実のつまり実体のあるオブジェクトの制御に及び、本発明は当業者により理解されるように、相応して実在のオブジェクトと仮想オブジェクトの両方の行動に及ぶ。
【0137】
本発明の前記実施形態は本質的に静的である行動フレームワークを有していた。静的なフレームワークでは、パラメータ値は、ユーザによっていったん設定されると、それはリセットされるまでその値に設定されたままである。より自律的な動画は経時的にパラメータを変えることにより製作できる。本物の動画を作成するには、フレームワークは時間依存性のパラメータを含むように修正される。
【0138】
さまざまな種類の時間依存性パラメータは行動フレームワークによりサポートできる。例えば、無作為に変化するパラメータは、異なる種類がより予測可能な動画を生じさせることができる一方、ときおりの姿勢のシフトを提供できるであろう。このようなパラメータは逆転マップを実行するためのより精密な技法が必要であり、従って、本発明の最良の形態として考えられない。しかしながらパラメータ変更のあらゆるタイミングの改変を制御することによって、より現実的な姿勢シフトが得られてよい。
【0139】
本発明の別の動画化された実施形態は、いくつかのプロファイルの提供を必要とする。これは1回の進行で(one’s go)パラメータの集合を改変するであろう。本発明のこのような実施形態を実現する1つの方法は、動画の感覚で重要なフレームとしてプロファイルを提供し、それらの間で補間することである。さらに多くの動画を実現する別の方法は、それぞれの状態がプロファイルを付着される有限状態機械システムを使用してキャラクタを制御することである。この状態は、世の中の出来事、キャラクタの内部因数のために変化し、新しい状態が入力されると、そのプロファイルがロードされる。
【0140】
本発明の他の実施形態は他の種類の出力ノードを有する。例えば、本発明の一実施形態では、出力ノードとして姿勢ノードだけを提供できる。この出力ノードはパラメータから行動に簡単なマッピングを提供し、パラメータは姿勢ごとに存在し、これらのパラメータの値は姿勢の間で補間を提供する。このモデルは、例えば運動の部分が同じように補間できるであろう他の種類の行動に適用できるであろう。しかしながらより複雑な行動は、内部パラメータを推論するために行動から過去に遡ってマッピングするという複雑さを増すさらに複雑なマッピングを必要とする。
【0141】
この問題に対する多様な手法がある。第1は、それを無視し、将来的にであるが、解かれていない行動を生じさせることができるいくつかの出力ノードを有することである。これは制御できる他の種類の行動がある限り実行可能なオプションである。いくつかの態様は、例えば視線方向など、ユーザが制御するには困難すぎるため無視できる。別の手法は、出力モードのタイプごとに手作りのマッピングを提供することである。これは多大な時間を要する。最後の方法は、例えばベイジアンネットワーク又はニューラルネットワークなど、マッピングを学習するために何らかの種類の学習方式を使用することであろう。
【0142】
本発明の一実施形態は、有限状態機械拡張と確率論的ベイジアンネットワーク拡張を組み合わせる。ネットワーク内の各ノードはこの実施形態でいくつかの状態を有し、それぞれの状態は異なる内部パラメータ設定値、及び入力と出力の間でこのように異なるマッピングを有する。この実施形態では、ノードが既定の状態にある確率は他のノードの状態と、グローバルパラメータ又は他のノードの出力に依存するであろう。次に、フレームワークはノード間に2つの異なったタイプの相互関連を有する。一方はノード間を移動する連続評価パラメータで現在のシステムのように連続的である。他方はノードが離散状態の集合の内の1つである個別的である。他方の行動はそうではないが、いくつかの行動特徴は当然個別的であるため両方のタイプの情報には等しい重要性が与えられる。例えば、腕を組む、又は腕を組まないのどちらかであり、一方は会話中であるか、又は会話中ではなく、どちらのケースも50%はあまり意味がない。しかしながら、他の行動特徴は当然連続的であり、例えばオブジェクトは、経時的に幸せであると怒っているの間で連続的に変化することができ、個別的なステップのシーケンスとして変化できるはずはない。
【0143】
異なる方法は本発明のこのような実施形態で各種の情報を推論するために適している。ベイジアンネットワークが個別的な状態の集合の確率を推論できるのに対し、ここに提示されるフレームワークは不確実性のない連続的なデータに有効である。本発明のいくつかの実施形態では、行動フレームワークに対する拡張により情報を推論するための両方の方法を結合できる。
【0144】
添付図面に関して前述された方法は非確率論的であり、各ノードの状態が既知であるときに連続的な状態を推論するために使用できる。両方の推論方法が結合される本発明の他の実施形態では、ベイジアンネットワークは事前に使用でき、ノード状態及びそれらの間のその確率関係はベイジアンネットワークとして処理し、出力から各ノードの状態を推論するために使用できる。ネットワークのトポロジは、それがベイジアンネットワークとして処理されるのか、連続的なネットワークとして処理されるのかに関係なく同じままとなるであろう。いったんこれらの要素が所定の位置にあると、システムの内部パラメータは人々の行動に関するデータから自動的に学習できる。
【0145】
本発明の他の実施形態では、プロファイルを設計するための前述された方法は、現実のデータに基づいている内部パラメータの集合を学習するために多数の例に拡張できる。ベイジアン学習技法は、確率関係性を学習するために使用できる。これを用いると、システムのパラメータは現実の人からのデータに基づくことができるため、理論的に捕捉するのが非常に困難である人々の行動をさらに正確に反映できる。
【0146】
ユーザがオンラインチャットルームを介して対話する本発明の実施形態がここで説明される。この実施形態では、ユーザは行動コントローラに入力を提供するテキストだけではなく身体言語を用いて自らを表現できる。これは、オンライン仲介、オンライン会議(つまり情報が仮想オブジェクトのグループによって交換されなければならない)、オンライン共同制作(つまりタスクが仮想オブジェクトのグループによって交換されなければならない)、及びオンライン商環境(例えばアバター販売室)などの他の仮想環境だけではなく、アバターが人間のカウンセラーを表すオンラインカウンセリングなどの本発明の実施形態にも適している。
【0147】
身体言語は、行動を生成するためにプロファイルから所定の感情/個人内パラメータの集合を使用することによって、説明されるフレームワーク内の設計されるアーキテクチャによって自律的に生成される行動を備える。ユーザは標準的なデスクトップPCを使用してシステムにアクセスする。行動コントローラに入力を提供するためにユーザによって使用されるコンピュータナビゲーション装置は、例えばマウスとキーボードなどのこのような環境で一般的に使用可能なものに限られている。キーボードはテキストを入力するために使用され、マウスはキャラクタの運動を制御するために使用できる。ユーザは大抵の場合テキストを入力することに集中したいため、キャラクタ移動の制御はときおりとなるであろう。(例えば、行動設計ユーザインタフェースを介した)1つの入力は、単一の運動よりむしろキャラクタの全体的な行動への補正を生じさせ、このようにして少量のユーザ入力を活用する。これは、その入力から感情/個人内部(intra−personal)パラメータを推論することによって容易に達成される。アバターの感情のより直接的な入力は現在のグラフィックチャットシステムで使用される「感情」を通して行われる。これらは直接的にグローバルパラメータを設定できる。
【0148】
本発明の別の実施形態は、ユーザの運動によって提供される入力をさらに含むことによって前記実施形態を拡張する。例えば、家庭用コンピュータは多くの場合、行動コントローラに、ユーザの状態を推論するために使用される入力を提供する特殊化された出力ノードを通して顔の追跡調査を実行するように装置できる安価なビデオカメラを有している。
【0149】
前述された本発明の実施形態により、ユーザは、彼らがそのアバターのプロファイルを編集できるようにすることによりそのアバターの行動をカスタマイズできる。エンドユーザの場合、これは可能な限りユーザフレンドリな方法で行われなければならず、図1Aから図2Eに図示される実施形態は、行動設計ユーザインタフェースにより提供されるスライダの集合を使用して形容詞を編集することに特に適している。
【0150】
本発明には、チャットルームのための方法に類似した方法で実現できる国際アバター会議を含む多くの応用例がある。このケースでは、特に商談のために参加者の実際の身体言語を捕捉することはさらに重要である。これは、ユーザの高品質顔追跡調査を含むより精密な身体追跡調査システムを有することによって実行できるであろう。声のトーンなどの他の合図もユーザの状態を推論するために使用できるであろう。行動コントローラのフレームワークは、各ユーザの行動が正しく推論されることを確実にするために、さらに複雑化できる。
【0151】
(行動変換)
ここに前述された推論方式により、異なる文化的な行動の間で変換する能力を含むように行動コントローラの応用例を拡大する仮想エージェントつまりアバターの内部状態のモデルを決定できる。例えば、アバターがウェブミーティングなどのオンライン環境における異なる文化背景のユーザと対話するユーザのための個人的な仮想エージェントとして機能しているケースでは、ユーザの実際の移動及び感情を直接的に表現する能力は望ましくない可能性がある。
【0152】
本発明のこのような実施形態は、入力段階又は出力段階どちらかで行動コントローラによって行動を変換することを含むように修正されてよい。これは、一方の文化に対応する行動フレームワークを使用して外部出力を生成し、他方の文化に対応する別のフレームワークを使用してこの外部出力から行動を作成し直すことによって達成できるであろう。それ以外の場合、2つのフレームワークは同じとなるであろうが、さまざまな文化に対応するさまざまなプロファイルを使用できるであろう。
【0153】
これは、また、第1の文化に対応する行動アクションに関連付けられる行動コントローラによって受け取られる入力を、第2の異なる文化における同等な行動アクションに関連付けられる入力に最初に変換できるようにする変換要素を含むことによっても達成できる。同様に、第2の文化に従った動作に対応する行動コントローラの出力行動ノードから出力を受け取り、これを第1の文化に変換して戻す変換要素を実現することが可能である。
【0154】
変換要素は、ある文化から別の文化に身体言語の変換を実現するためにコントローラ内で設けることができる。これを達成できる1つの機構は、異なる文化事情で異なる身体言語を生成するために異なるプロファイルとともに使用される1つの身体言語の意味を表す高水準パラメータによってである。これは、他の観察者が参加者のアバターの身体言語を独自の文化で知覚することを確実にするであろう。したがって特定の行動は文化Aの観察者によってシステムに入力され、文化Aに対応するプロファイルによって親しみやすい行動として解釈されるであろう。親しみやすさパラメータは、次に文化Bに対応するプロファイルを含む機械で機械集合に渡されるであろう。この機械は異なる行動であるが、文化Bにおける親しみやすさの意味を有するものを生成するであろう。
【0155】
コンピュータゲーム環境で使用するために構成される本発明の実施形態では、過剰な身体言語が生成でき、自分達のキャラクタのためのユーザコマンド、つまりそのキャラクタの内部状態がどうであるのかからも推論される。ユーザ入力は多くの方法で実行することができ、例えば、前述されたように、ユーザはキャラクタの姿勢を直接的に操作できるであろう。代わりに、さらに大規模な行動は、誰かに話し掛けるかどうか又は選ばれた言葉に関わらず、例えばアクションの推論に使用することができる。行動フレームワークのためのグローバルパラメータが推論されると、ゲームのキャラクタをこれらに反応させることができる。有利なことに、本発明は、ゲーム設計者が強力であるが直感的なツールを使用してキャラクタの行動の設計を細かく制御できるようにする行動設計ツールを提供する。
【0156】
オブジェクトが役割を果たす必要がある本発明の実施形態では、ユーザが設計インタフェースを使用して作成するプロファイルは、行動が役割に適切であること、及び内部状態の推論が、その行動が推論されるオブジェクトの役割を反映することを確実にするために使用できる。
【0157】
(ロボット利用応用例)
前述された実施形態は特に仮想環境に関連しているが、複雑な継続している行動を生成できる行動コントローラとのインタフェースをとるためにユーザに単純な入力装置を提供するという概念は現実世界、特にロボット利用玩具に応用例を有する。したがって、本発明の他の実施形態は、ユーザが、ロボットオブジェクトの複雑な動作、特におもちゃの人形などの特に関節のあるロボット的なオブジェクトで複雑な行動を生成するための単純な機構を提供する。
【0158】
このような実施形態は、行動プロファイルに指定された直感的なラベルの操作だけを必要とする一方、例えば子供が精密なキャラクタをロボット利用のペット又は玩具に提供できるようにする。このような応用例では、行動設計ユーザインタフェースはリモコン制御型装置として提供されてよい。行動制御情報は次にロボット装置による適切な処置を指示するために無線で提供できる。行動コントローラは、動画指示がロボット装置にだけ伝送されるインタフェースデバイスの一部、又はロボット装置自体の一部又は次に行動指示をロボット装置に中継するプロキシ装置の一部のどちらかとして提供されてよい。
【0159】
本発明の他の実施形態において、製造又は生産ラインの状況で使用されるロボット装置は、ここに説明されているような階層行動モデルフレームワークを使用して同様にその行動を制御することを必要とし、行動設計ユーザインタフェースは、ロボット利用装置が実行しなければならないタスクに応じてさらに特殊な役割をする行動オプションを提示してよい。このようなロボット装置はその状況に応じて、結線接続又は無線接続のどちらかで遠隔制御されてよい。水中用の環境では海中ロボットが無線通信リンク及び/又は有線通信リンクを必要としてよいのに対し、例えば、生産ラインでは、ロボット利用装置は有線通信リンクを介して制御されてよい。
【0160】
有利なことに、本発明は、ロボットオブジェクトが、ユーザによるリアルタイム制御を必要とする何らかのレベルの自律的/半自律的な行動によりスピードが重視されるタスクを実行しなければならない応用例で特に重要である、複雑なロボット行動に優る使用が簡単な行動設計インタフェースを提供する。
【0161】
本発明がハードウェア及び/又はソフトウェアの適切な組み合わせによって実現でき、ハードウェアとソフトウェアの前記組み合わせが前述された特定の区分によって限定されることを目的としないことが当業者に明らかになるであろう。さらに、本発明が1つ又は複数の装置で実行中の1つ又は複数のコンピュータプログラムのセットで実現されることが可能である。装置は通信網全体で分散されてよい。
【0162】
仮想環境におけるエンティティの行動が前記仮想環境内の1つ又は複数の他のエンティティの存在により影響を及ぼされている本発明の実施形態では、他の仮想エンティティの総計的な影響を判断し、前記総計的な影響を、そのとき影響を受けているエンティティの行動コントローラに対する高水準入力として使用することが可能であることも当業者に明らかになるであろう。これは、たとえアバターに影響を与えている仮想環境内の他のエンティティの1つ又は複数の、あるいはすべてが、その行動が影響を受けているアバターの観察者にとって存在しない場合にも発生する場合がある。例えば、アバターが他のエンティティのグループを教えており、前記他のエンティティが彼らがその行動により飽きていることを示す場合、教示を行っているアバターはさらに動画化された行動を採用する、及び/又は自律的にその視聴者の関心を引き上げるために自分たちのトーンの変形物及び大きさを増やす可能性がある。これにより、ユーザは、たとえスピーカが自分の仮想視聴者のすべてをじかに観察できない場合にも、例えばオンライン会議での関心を維持することができる。通常、総計的な影響は、その行動が影響を受けているエンティティの行動コントローラへの入力として処理された出力を提供する前に、処理方式に従って他のエンティティの行動コントローラによって提供される出力を処理することにより決定するであろう。例えば、他のエンティティの内の1つ又は複数により提供される出力ごとの平均パラメータ値は、その行動が他のエンティティによって影響を受けているエンティティの行動コントローラへの入力として使用される前に(すべてのエンティティが特定のパラメータ値に寄与することはできないが)決定されてよい。
【0163】
要約書の本文は以下に説明の一部として再現される。
【0164】
階層行動フレームワークは関節のあるオフジェクトにおける自律的及び半自律的な行動を生成し、制御するために使用される。行動コントローラは行動アクションに関連付けられる入力を受け取り、フレームワークを使用して複数の行動パラメータ値を推論し、同等な行動に対応する出力を生成するために行動コントローラにロードされるときにパラメータ値を使用して関節のあるオブジェクト内で同等な行動を生成するように構成される。同等な行動は入力された行動アクションを再現する、及び/又は同時にあるいはアクションのシーケンスの一部として実行されてよい1つ又は複数の他の行動アクションを含んでよい。
【図面の簡単な説明】
【0165】
【図1A】本発明の第1の実施形態を概略して示す図である。
【図1B】図1Aに図示される行動設計ユーザインタフェースの拡大図を概略して示す図である。
【図2A】図1Aに示されるような両方のアバターの中立の姿勢をさらに詳細に示す図である。
【図2B】ビル(Bill)アバターが高い男っぽさを有するときの2つのアバターの姿勢を示す図である。
【図2C】ビルアバターが高い軽薄さを有するときの2つのアバターの姿勢を示す図である。
【図2D】ビルアバターが低い軽薄さを有するときの2つのアバターの姿勢を示す図である。
【図2E】ボブ(BOB)アバターが高いレベルのputUponと傾聴と低いレベルのdomSubを有するときの2つのアバターの姿勢を示す図である。
【図3】本発明による行動アーキテクチャの概略概要を示す図である。
【図4】本発明のある実施態様による行動モデルの階層を示す図である。
【図5】本発明の実施形態によるオブジェクトのための行動コントローラの単純化したフレームワークの概略図である。
【図6】図5と図7に示されるようなアーキテクチャのフレームワーク内の行動ノードの概略図である。
【図7】本発明の別の態様によるオブジェクトのための、図5に示されるものよりさらに精密な行動コントローラ用フレームワークの概略図である。
【図8】本発明によるオブジェクト内で行動を生成する方法でリアルタイムステップと、オフラインプロファイル、及び形容詞設計を概略して示す流れ図である。
【図9A】行動フレームワークがどのようにして本発明による同等な行動を生成するのかを示す流れ図である。
【図9B】行動コントローラの特殊な行動パラメータに指定される値を指定し直すためにユーザがどのようにしてアバターの体を操作できるのかを示す流れ図である。
【技術分野】
【0001】
本発明は、オブジェクトで行動を生成するための方法及び装置に関する。本発明はそれに制限されないが、特に重要な1つの応用例は、例えばアバターなどの仮想エージェントつまりオブジェクトにおいて身体言語を伝達する自律行動の生成である。
【背景技術】
【0002】
動画オブジェクトは、(アバターなどの)仮想であるのか、(例えば、ペット「玩具」などの)ロボット利用であるのかに関係なく、その行動においてますます精密になってきている。特に、アバター及び動画エージェントなどの仮想オブジェクトによるさらに現実的な行動に対する消費者の要求がある。本発明において、アバターは、任意の適切な形を取る、仮想環境におけるユーザの視覚的な表現であると定義される。動画エージェントは、仮想環境におけるユーザとの対話に、あるいは対話型娯楽に使用されるインテリジェントソフトウェアベースのエージェントである。同様に、動画エージェントは任意の適切な形を取ってよい。
【0003】
オブジェクトが動画行動を有することができるとき、プログラミングに相対的に熟練していないユーザが前記オブジェクトの行動を個人化する能力を有することが望ましい。これは、特に、ユーザが例えば、グループセッティングで個人的特徴の感覚を生じさせること、オブジェクトが果たしている役割を強化すること、又はユーザ自身の個性を反映することを求めているときに当てはまる。オブジェクトをその人間のユーザにとってさらに興味深くするために、それは、個性がオブジェクトに提供できる場合、つまり行動が、ユーザが望ましいと感じる特定の特色を有するようにユーザによって修正できる場合に望ましい。
【0004】
これらの要求を満たすために、動画オブジェクトにおいて行動を生成するために使用される行動モデルはますます複雑になってきている。これは、プログラミングにおいて相対的に未熟なユーザがオブジェクトの行動を修正することを希望するときに、彼らには行動モデルを表す複雑なプログラムとインタフェースを取り、行動の基礎を成すコードを修正するために必要な専門的知識が欠けているため、矛盾を生じさせる。
【0005】
当技術分野ですでに周知であるオブジェクトにおいて自律的な行動を生成し、オブジェクトに個性を与える技法はその実用性において制限されている。一般的には、オブジェクトの行動を修正するための適切な手段を未熟な個人に与え、オブジェクトによる複雑な行動をサポートするときには不出来な妥協に至る。これは特に、ユーザがリアルタイムでオブジェクトの行動を修正することを望むときにそうなる。
【0006】
未熟なユーザがアバターなどの仮想オブジェクトの行動を修正できるようにするための限られた手段は当技術分野で開示されている。例えば、Brush IIらによる米国特許第5,884,029号「さまざまなユーザにより制御される他のアバターと対話するインテリジェントな仮想オブジェクト、つまりアバターとのユーザ対話(User interaction with intelligent virtual objects, avatars, which interact with other avatars controlled by different users)」では、ユーザがアバターなどのインテリジェント仮想オブジェクトに個性をプログラミングできるようにする方法及び装置が開示されている。この例では、アバターの個性は、アバターが事前にプログラミングされた応答のセットを使用して半自律的に外部の刺激に反応できるようにすることにより作成される。特に未熟なユーザはどの個性の特色が自律的な行動を定義するのかを選択できないため、また未熟なユーザはリアルタイムでアバターの個性を修正できないため、この方法は多くの理由から有効性が限られている。
【0007】
Ballらによる米国特許第6,212,502号「コンピュータユーザインタフェースから感情及び個性をモデル化し、投影すること(Modelling and Projecting Emotion and Personality from a Computer User Interface)」では、仮想世界のユーザの経験を強化するために、ユーザの予想される情動状態を判断し、パーソナルアバターでユーザの情動行動を表現する方法が開示されている。ユーザはアバターの行動が自分自身の行動と異なることを希望する場合にアバターの行動に介入し、制御することができないため、この方法の有効性は制限されている。
【0008】
Lilesらによる米国特許第5,880,731号「オンラインチャットセッションにおける自動ジェスチャ及び制限付き対話を備えたアバターの使用(Use of avatars with automatic gesturing and bounded interaction in on-line chat session)」では、ユーザは、アバターがそれ以外の場合イナクティブであるときにアバターが自律的に機能するための特定のしぐさを限られたメニューから選択できる。個性が、アバターがユーザの制御下で意図的なアクションを実行していないときにときおり自動的に表示される選択されたしぐさを含むため、ユーザの意図的な制御下でのアクションを強化するために行動に対する修正は行われない。
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、前述された当技術分野で既知である不利な点を未然に防ぐ、及び/又は軽減するオブジェクトで自律的な行動を生成するための装置及び方法を提供しようと努める。
【課題を解決するための手段】
【0010】
本発明の第1の態様によると、動作コントローラの制御下でオブジェクトのために行動を生成する方法が提供され、前記方法は行動アクションと関連付けられる入力を受け取るステップと、オブジェクトによる行動を生成するように構成される行動フレームワークに従って前記入力から複数の行動パラメータ値を推論するステップと、前記推論した複数の行動パラメータ値から出力を引き出すステップと、前記パラメータ値から引き出される出力を使用してオブジェクトによる同等な行動を生成するステップとを含む。
【0011】
本発明の第2の態様によると、オブジェクトのために行動コントローラの複数の内部パラメータ値を推論する方法が提供され、前記方法は、行動アクションを表す入力を受け取るステップと、オブジェクトによる同等な行動アクションに対応する少なくとも1つの出力値の集合を前記受け取った入力から推論するステップと、前記複数の内部パラメータごとに、少なくとも1つの出力値の前記集合から値を推論するステップとを含み、前記複数の内部パラメータごとに推論される前記値が行動コントローラによる出力を生じさせ、その結果前記同等な行動アクションに同等な行動を生じさせる。
【0012】
本発明の第3の態様によると、オブジェクトで行動を生成する方法が提供され、前記方法は第2の態様の方法に従ってオブジェクトのために行動コントローラの複数のパラメータ値を推論することを備え、前記方法は、前記推論した複数のパラメータ値を使用して前記同等な行動と関連付けられる出力値の前記集合を生成することと、前記関節のあるオブジェクトに前記行動を実施させることとをさらに含む。
【0013】
本発明の第4の態様によると、関節のあるオブジェクトの行動を制御する方法が提供され、前記方法は行動コントローラに対する入力をオブジェクトに与えるように構成される行動設計インタフェースを使用してオブジェクトの行動特徴と関連付けられる行動パラメータ集合に値を指定し、それぞれの前記行動パラメータ集合が行動特徴に影響を及ぼす少なくとも1つのパラメータを含むステップと、行動プロファイルによって定められるデフォルト値とともに指定値に対して関数を実行することにより得られるパラメータ値とパラメータ集合の中の各パラメータを関連付けるステップと、オブジェクトのための行動コントローラにパラメータ値を入力するステップと、前記入力から前記行動コントローラによって生成される出力を推論するステップと、オブジェクトによる行動アクションと出力を関連付けるステップと、オブジェクトに行動アクションを実行させるステップとを含む。
【0014】
本発明の第5の態様によると、1台又は複数台のコンピュータに本発明の方法態様のいずれか1つを実行させるための命令の集合を備えるコンピュータプログラム、つまり一式のコンピュータプログラムを備えるコンピュータプログラム製品が提供される。
【0015】
本発明の第6の態様によると、オブジェクトで行動を生成するように構成される行動コントローラを備える装置が提供され、前記コントローラは、行動アクションと関連付けられる入力を受け取るための手段と、オブジェクトによる行動を生成するように構成される行動フレームワークに従って前記入力から複数の行動パラメータ値を推論するための手段と、前記推論した複数の行動パラメータ値から出力を引き出すための手段と、前記パラメータ値から引き出される出力を使用してオブジェクトにより同等な行動を生成するための手段とを備える。
【0016】
本発明の第7の態様によると、行動設計インタフェースを備える装置が提供され、前記インタフェースは値の行動パラメータ集合への指定を可能にするように構成される手段を備え、前記パラメータ集合はオブジェクトの行動特徴に関連付けられる少なくとも1つのパラメータ値を含み、前記インタフェースを使用して指定される値は第6の態様による装置への入力として提供される。
【0017】
本発明の第8の態様によると、一式の少なくとも1つのコンピュータプログラムをその上に記憶させるように構成される装置が提供され、前記一式の少なくとも1つのコンピュータプログラムは、装置を本発明の第6の態様又は第7の態様による装置として機能させるように装置で実行可能である。
【0018】
本発明の第9の態様によると、互いと通信することができるように構成される複数のコンピュータ型装置を備えるネットワークが提供され、前記装置の少なくとも1台は本発明の第8の態様による装置を備え、前記他の装置は、前記他の装置の環境の中で動作しているオブジェクトを前記一式の少なくとも1つのコンピュータプログラムによって制御できるように、前記一式の少なくともコンピュータプログラムの少なくとも一部に遠隔にアクセスするように構成される。
【0019】
本発明の第10の態様によると、オブジェクトをその行動を制御するために直接的に操作する方法が提供され、前記方法は、行動アクションを実行するためにオブジェクトを操作するステップと、オブジェクトによる同等な行動を生成するために使用される出力を提供するようにも構成される、行動フレームワークの出力ノードに行動アクションを表す入力を提供するステップと、フレームワークの他の行動ノードのための少なくとも1つのパラメータ値の集合を引き出すためにフレームワーク内の行動フレームワークの出力ノードにより受信される入力をマップするステップと、オブジェクトによる他の同等な行動を生成する出力値の集合を、引き出された少なくとも1つのパラメータ値から推論するステップとを含む。
【0020】
本発明の第11の態様によると、ノードのフレームワークを備える行動コントローラの制御下でオブジェクト内で行動を生成する方法が提供され、前記方法は、少なくとも1つのノードが行動アクションと関連付けられる入力を受け取り、それぞれの前記少なくとも1つのノードが受け取った入力を出力にマッピングするステップと、前記出力を使用してフレームワーク内の他のノードのための複数の行動パラメータ値を推論するステップと、オブジェクトによる同等な行動を生成する行動コントローラによる出力を提供するために前記推論した行動パラメータ値を使用して受け取った入力をマッピングするステップとを含む。
【0021】
本発明の第12の態様によると、行動コントローラの制御下でオブジェクト内で行動を生成する方法が提供され、前記方法は、行動アクションと関連付けられた入力を受け取るステップと、オブジェクトによる同等な行動に対応する少なくとも1つの出力値の集合に前記受け取った入力をマッピングするステップと、オブジェクトによる行動を生成するように構成される行動フレームワークに従って少なくとも1つの出力値の前記集合から複数の行動パラメータ値を推論するステップと、前記パラメータ値を使用してオブジェクト内で同等な行動を、これらを行動コントローラにロードすることにより生成するステップとを含む。
【0022】
本発明の第13の態様によると、仮想環境に参加する1人又は複数人のユーザの観察の下で複数の仮想オブジェクトが対話するように構成される仮想環境が提供され、仮想環境における前記複数の仮想オブジェクトのそれぞれ1つが仮想環境内の他の仮想オブジェクトの1つ又は複数の行動アクションの内の1つ又は複数から引き出される1つ又は複数の入力を使用する行動システムを使用して生成される半自律的な行動を表示する。
【0023】
好ましくは、仮想環境に参加する各ユーザは行動システムに入力を提供することにより生成される半自律的な行動を制御できる。
【0024】
本発明の別の態様は前記態様の仮想環境をサポートするように構成されるプラットホームを提供し、前記プラットホームは前記入力を提供するために仮想環境に参加する前記1人又は複数人のユーザの内の1人に手段を提供する。
【0025】
好ましくは、ユーザは表示された行動設計インタフェースを介して前記入力を提供し、受け取った入力は前記行動システムにより生成される行動を制御するように構成される行動コントローラによって処理される。
【0026】
行動システムは、任意の前記態様による行動コントローラ及び任意の前記態様による行動フレームワークを備えてよい。
【0027】
有利なことに、システムは、オブジェクトの行動コントローラのための行動変換装置を提供できるようにし、前記装置は第1の文化に適合する行動を表す情報を第2の文化に適合する行動にマップするための手段を備える。好ましくは、情報は行動コントローラによる入力として受け取られる。好ましくは、情報は行動コントローラによる出力として提供される。
【0028】
有利なことに、オブジェクトによる同等な行動が所定のシーケンスで実行される複数の行動アクションを備えてよいため、さらに複雑な行動は相対的に未熟なユーザにより提供されてよい。さらに有利なことには、さらに現実的な自律的に動画化された行動を提供するために、時間依存性の行動パラメータが行動コントローラの中に組み込まれてよい。
【0029】
有利なことに、オブジェクトによる同等なアクションを生成するために使用できる内部パラメータ値を入力から推論する能力を有することにより、行動を生成する方法は、オブジェクト内で複雑な行動を生成するためのユーザによる相対的に簡単なデータ入力を可能にする。
【0030】
有利なことに、複数の行動アクションを備えてよい複雑な行動が生成されてよく、その内の2つ又は3つ以上は同時に実行されてよい。例えば、アバターなどの関節のあるオブジェクトの行動は、前記アバターの姿勢行動と視線方向行動の両方とも同時に実行されるように制御されてよい。例えば、アバターはオブジェクトを拾い上げるときにオブジェクトを自動的に見ることができる、あるいは代わりに別の例としては、アバターが攻撃的である別のアバターに反応して気が小さい場合、内気なアバターは背をすぼめ、目をふせたままにするために姿勢と視線方向の両方とも変更してよい。
【0031】
有利なことに、本発明はチャットルームの仮想媒体の中でユーザが伝達できる表現の量を増すことによってユーザのためのチャットルーム経験を改善するための手段を提供する。身体言語の存在は、特に姿勢及び視線方向などの2つ又は3つ以上の行動アクションの同時実行によって伝達されるときにアバターをより実物の人間そっくりにし、彼らのコミュニケーションの質を改善する。有利なことに本発明により、アバターのグループは、各アバターが他のアバターの身体言語に適切に反応するように自らの行動を調整できる。
【0032】
従属請求項に述べられるような好ましい特徴は、当業者に明白な任意の適切な方法で前記態様のいずれかと適切に結合されてよい。
【0033】
本発明の好ましい実施形態は、添付図面を参照してここでほんの一例として説明される。
【発明を実施するための最良の形態】
【0034】
現在発明者が現在本発明の最良と考える形態は、ここで添付図面を参照して説明される。しかしながら、本発明の説明がほんの一例にすぎないこと、及び本発明が説明される実施形態だけに制限されることを目的としていないことが当業者にとって明らかとなるであろう。
【0035】
ここで添付図面の図1Aを参照すると、アバター及び仮想キャラクタのために身体言語を生成し、推論し、設計するためのツールを備える本発明の第1の実施形態が示されている。本発明のこの実施形態は、インターネットのチャットルーム及びコンピュータゲーム型環境等の行動特徴を制御するために特に有効である。
【0036】
図1Aでは、コンピュータ装置1が示されている。コンピュータ装置1は、高水準のコンピュータプログラミング技能を有していない可能性がある人間のユーザ(図示せず)によって操作されると仮定される。コンピュータ装置という用語は、携帯電話等の移動通信機器だけではなく、ゲームコンソール、パーソナルデジタルアシスタントなどの視覚表示装置にも取り付けることのできるデータ処理能力を有する任意の装置を含むために使用される。
【0037】
コンピュータ装置1は、例えばディスプレイ3を有するモニタなどの視覚表示手段2を備える。任意の適切なナビゲーション手段は、例えば、マウス又はキーボード(図示せず)などのディスプレイ3をナビゲーションするためにユーザによって利用されてよい。他の実施形態は、同等に使用されてよいスタイラス、トラックパッド、及びジョイスティックなどのナビゲーションツールを含んでよい。
【0038】
ディスプレイ3は、仮想環境アプリケーションがその中で実行しているウィンドウ4を含む。仮想環境は仮想オブジェクトを含むウィンドウ4に表示される。明確にするために、本発明のこの好ましい実施形態では2つの仮想オブジェクトしか説明されない。図1Aに図示されるように、2つの仮想オブジェクトは、動画化することができる。2つのアバター5、6を備える関節のあるオブジェクトである。アバター5はここではボブとも呼ばれ、アバター6もビルと呼ばれる。ビルとボブは図1に図示される実施形態において多関節形式を有するが、仮想オブジェクトが、例えば感情等を表示するためにねじれる顔を備えるために多関節ではない可能性もある。したがって対象となる行動は、オブジェクトの形式に関係なく顔で表現される行動及びオブジェクトによる任意の形式の行動を含む。
【0039】
仮想オブジェクト5、6は半自律的に動画化できるように構成されている(その場合、それらはユーザから少なくとも何らかの入力を必要とするであろう)が、仮想オブジェクト5、6の少なくとも1つが本発明の他の実施形態に従って行動コントローラを使用して自律的に機能するようにオフラインでプログラミングされることが可能である。本発明のでは、オフラインは、仮想オブジェクトがその仮想環境において動画化された行動(animated behavioural)を実行していないとき、あるいはこのような行動(behavioral)がオフラインプログラミングが再開される前に発生する間に休止されるか、中断されるときに行動コントローラをプログラミングすることを指す。
【0040】
ここで図1Aに戻ると、仮想環境の中の仮想オブジェクト5、6は2つの人間アバターを含む。しかしながら、仮想オブジェクトが取ってよい形式がコンテキストに応じて大幅に変化する場合があることが当業者により理解されるであろう。例えば、その役割に応じて、仮想オブジェクトは動物又は動画化できる任意の他の関節のあるオブジェクトであってよい。関節のあるという用語は、例えば四肢及び/又は関節など、互いを基準にして移動できる部分から構成されていることとしてここに定義される。
【0041】
ディスプレイ3は行動設計ユーザインタフェース7も示す。行動設計ユーザインタフェース7は仮想環境ウィンドウ4に別個のウィンドウを備える。行動設計ユーザインタフェース7は、ユーザが仮想オブジェクト5、6の1つ又は複数による行動を生成するために行動コントローラに入力を提供できるようにする。行動設計ユーザインタフェースアプリケーションは、行動コントローラを含むアプリケーションの部分を備えてよい、あるいはそれは行動コントローラを含むアプリケーションとインタフェースをとるように構成される別個のソフトウェアアプリケーションの一部として提供されてよい。行動コントローラは所定の行動フレームワークに従って構成される接続されたノードの集合を備え、フレームワークの各ノードはいくつかのパラメータに基づいて入力を出力にマップする。行動コントローラはここに以下にさらに詳細に説明される。
【0042】
図1Aでは、ユーザは行動設計ユーザインタフェースのトラッカバー9でスライダ8を使用して行動パラメータ値を適切に選択することにより両方の仮想オブジェクト5、6を管理する。明確にするために図1Aには男っぽさの行動パラメータ集合のためのトラッカバーとスライダだけに番号が付けられている。しかしながら、ここで図1Bを参照すると、図1Aの行動設計ユーザインタフェースの拡大図が示されている。
【0043】
(行動設計インタフェース)
図1Bは図1Aの行動設計ユーザインタフェース7をさらに詳細に示す。図1Bが示すように、行動設計ユーザインタフェース7は、図1Aの仮想環境ウィンドウ4で対話している仮想オブジェクトボブとビルのそれぞれのための一連のメニュー選択肢をユーザに与える。本発明の代替実施形態では、ユーザは環境における他の仮想オブジェクトの行動をより直接的に管理しない可能性があるが、簡単にするためにここではユーザがボブとビルの両方ともに直接的な影響を及ぼすことを希望すると仮定される。しかしながら、別の仮想オブジェクトを直接的に管理しない場合でも、さらに詳細に説明されるようにユーザは間接的に他の仮想オブジェクトの行動に依然として影響を及ぼす場合がある。
【0044】
図1Bで明確にするために、トラッカレーン9a、11aで軽薄さと呼ばれる行動パラメータ集合の値を選択するためのスライドバー8、10だけに番号が付けられている。
【0045】
図1Bに図示されるような行動設計ユーザインタフェース7は2つの行動プロファイル9aから9h及び11aから11hを備える。図示されている各行動プロファイルは、「形容詞」の集合、つまり仮想オブジェクトのある特定の行動特徴と関連付けられる同等に行動パラメータ集合を備える。図1Bに図示されるように、行動パラメータ集合は軽薄さ9a、11a、親しみやすさ9b、11b、男っぽさ(9c、11C)、他の好み(otherLiking)(9d、11d)、悲しい(9e、11e)、自惚れ(9f、11f)、はにかみ(9g、11g)及び優位点(superioritytoOther)(9h、11h)を含む。
【0046】
ユーザは、行動パラメータ集合の別の選択を含む他の行動プロファイルを構築できる。行動パラメータ集合を備える複数の個々の行動パラメータの特性を修正することも可能である。行動パラメータ集合の設計は所定の行動特徴を集合的に修正するために行動コントローラの行動フレームワークによって定義される。したがって、パラメータ集合設計は、どの行動パラメータ集合が行動プロファイルを形成するのかに関する簡略な選択よりさらに多くの技能を必要とするタスクである。パラメータ集合は単一のパラメータを構築できるにすぎない。例えば、その値が行動フレームワークの中のすべての行動ノードの出力に影響を及ぼすことがあるグローバルパラメータ、あるいはその値がフレームワークの単一の行動ノードだけの出力に影響を及ぼす内部パラメータ。
【0047】
図1Bに戻ると、トラッカレーン9aから9h及び11aから11hのトラック長は、ユーザがスライドバー8又は9を位置決めすることによって選択できる一連の考えられる値を表す。明確にするために、第1の軽薄さ行動パラメータ集合のスライドバーだけが図1Bで付けられていることが理解されるであろう。他の実施形態では、例えばラジオボタン、ドロップダウンウィンドウ等、あるいは制御データを直接的に入力する他の値選択手段が使用されてよい。しかしながら、これによりユーザをメインスクリーンディスプレイ仮想環境ウィンドウ4から不当に逸らすことなく連続範囲の値をパラメータに容易に指定できるため、スライド式バーとトラッカの使用は特に好ましい。
【0048】
図2Bに図示される値は、仮想オブジェクト5、6に、ユーザにより値ゼロが指定されたそれぞれの表示されている行動パラメータ集合に対応する中立的なスタンスを与える。これは、図1Aに示される2つの仮想オブジェクトの中立的な姿勢及び図1Aと図1Bに示される対応する行動パラメータ集合値を示す図2Aにさらに明確に示される。
【0049】
図2Bは、ユーザが仮想オブジェクト6(ビル)の男っぽさトラッカバーでスライダを移動することによりビルの行動にどのように直接的に影響を及ぼしたのか、及びボブの行動にどのように間接的に影響を及ぼしたのかを示している。図2Bでは、ユーザは男っぽさ行動パラメータ集合トラッカレーンのスライダを使用して14という値を指定し、ビルはビルの行動コントローラによって生成される行動を表示する。ビルの行動コントローラは、この入力を取り、フレームワークの行動出力ノードに適切な値を指定するためにそれを行動フレームワークを通して伝搬することによってユーザ入力からどのような同等な男っぽさ行動が必要とされるのかを推論した。
【0050】
ビルの行動コントローラは、14という指定された男っぽさの値から、図2Bに図示される実施形態では男っぽさの姿勢を維持しているビルを含む同等な行動アクションを推論した。種々の男っぽさの姿勢が結果として生じ、男っぽいしぐさ、視線方向、スタンス、顔の表情等の他の男っぽさの行動も生じる。ビルの行動コントローラは、ビルの男っぽさ行動アクション(複数の場合がある)を反映するボブの行動コントローラに1つ又は複数の値も出力する。この出力は、ビルの男っぽさの行動に対するボブの反応を示す、ボブにより実行される行動アクションを含む。
【0051】
ボブの行動コントローラは、ボブの行動コントローラがビルの行動により伝達される身体言語を効果的に解釈できるようにするビルの行動アクションから引き出される入力を受け取る。この入力は、ビルの男っぽさの行動に対する反応を含む行動アクション、例えば、ボブの行動フレームワークによって生成される行動を修正する1つ又は複数のパラメータ値を表現できる。代わりに、ボブはビルの行動を示すパラメータ値の表示だけを受け取り、ボブの行動コントローラはビルにより提供されるパラメータ値から、どの出力値がこの反応に対応するであろうかを推論できるであろう。その結果、ボブの行動コントローラはこれらの出力値から、ボブの行動フレームワーク内で反応に対する同等な行動を生成するであろう他の行動パラメータ値を推論することができ、これらの行動パラメータ値を使用して出力を生成し、次にこの行動を実行する。図2Aに図示されるように、これはボブがビルの前で服従する姿勢を採ることを含む。
【0052】
前述されたような方法で、ユーザは仮想オブジェクト6のための行動パラメータ集合値を変更することによって仮想オブジェクト5の行動を間接的に修正できる。ボブは、ユーザが服従する位置にボブのトラッカバーを直接的に移動しなくても、より服従するスタンスを採った。一方の仮想オブジェクト(ボブ)の行動コントローラは、他方の仮想オブジェクト(ビル)の行動によって伝達される身体言語を解釈した。これは身体言語を示す情報を伝達する他のオブジェクトの行動コントローラによって受け取られる出力を生成する第1のオブジェクトの行動コントローラによって達成された。適切な内部行動パラメータ値は、次に、他の仮想オブジェクトの行動を修正する他の仮想オブジェクトのための行動コントローラによって推論される。各仮想オブジェクトが入力を受け取るように構成される適切な行動コントローラを有するのであれば、身体言語情報が複数の仮想オブジェクトに伝達できることが当業者には明らかとなるであろう。
【0053】
図2Aに図示される本発明の実施形態では、キャラクタのボブ(仮想オブジェクト6)に対応する行動フレームワークのパラメータ値はビルに指定される値によって直接的に影響を及ぼされず、ボブのために表示されたスライダ値はその値を変更しない。しかしながら、本発明の他の実施形態では、スライダ値はその新しい値を反映するために自動的に更新できる。
【0054】
図2Cは、本発明の一実施形態では、仮想オブジェクトの内の1つの身体言語が適切な行動応答をセットアップするために他の仮想オブジェクトにどのように伝達できるのかを示す。図2Bに図示される行動に続いて起こる図2Cでは、ビルのユーザは1という値を男っぽさに指定し、10という値を軽薄さに指定した。ビルの行動コントローラは、図2Cに図示されるように手を伸ばしてボブの腕に触れるビルを動画化するなど、自動行動を生成する。ボブの行動コントローラはビルの身体言語を、彼がより男っぽくなく、より親しみやすいことを示しており、したがって手を伸ばしてボブに触れるというアクションが敵意を抱いているのではなく、親しみやすいと解釈する。これは、例えば、ビルが親しみやすいことを示すとしてビルのコントローラによって提供されるパラメータ値を解釈するためにボブの行動コントローラが受け取った入力を使用することによって達成できる。その結果、ビルが敵意をもってボブに触れた場合に起こる可能性のある(例えば)防御的な行動を表示する代わりに、ボブは代わりにより防御的ではない姿勢を採り、服従的な姿勢を維持するよりむしろわずかに前方に傾く。ボブがより防御的ではないと分かると、ユーザは、図2Dに図示されるようにビルの軽薄さと男っぽさのレベルをより低い値に設定することができ、両方のアバターによるより親しみやすい行動を生じさせる。
【0055】
図2Aから図2Dに図示されるように、どの点においても、ユーザは特定の体の移動を示したり、行動アクションを示すためにテキストを入力する必要はなく、行動コントローラはリアルタイムで指定された行動パラメータ設定値に反応して自律的に適切な行動を生成する。
【0056】
有利なことに、ウィンドウ型ソフトウェアアプリケーションとして行動設計ユーザインタフェース7を提供することによって、インタフェースが見える範囲はユーザ要件に応じて変えることができる。図2Eでは、ボブの行動プロファイルは行動設計ユーザインタフェースウィンドウ7で可視であり、図2Aから図2Dの行動プロファイルに示されるものとは異なる行動パラメータ集合を含む別の行動プロファイルがボブのために示されている。
【0057】
図2Eでは、ボブはユーザによって傾聴行動パラメータセットの高い値、つまりputUpon行動パラメータ集合の等しく高い値を指定されている。図2Eに示される他の行動パラメータ集合はtouchyFeely、domSub等を含む。ボブは、domSubの相対的に低い値を指定されている。これらの値はこれらの値に適切である行動を生じさせるためにボブの行動コントローラによって使用され、その結果ビルは直立した姿勢を有し、ボブはより服従する姿勢を有する。
【0058】
添付図面の図3は、本発明の行動コントローラが行動モデル30に従ってオブジェクトの行動をどのようにして生成するのかを概略して示す。行動モデル30は、例えば姿勢32、しぐさ33、顔の動き34、視線方向35などの特定の行動を生成するためにフレームワークによって受け取られる入力がどのように使用されるのかを支配するオブジェクトの特殊な行動フレームワーク31を定義する。行動フレームワーク31は多くのノードを備え、以下にさらに詳細に説明される(行動フレームワークの例については、図5と図7を参照すること)。
【0059】
フレームワーク31に対する入力は、多岐に渡る外部ソースと内部ソースから引き出すことができる。例えば、外部コンテキスト/イベント36から、他の文字37から、他のムード合図38から、他の所定のプロファイル39からである。フレームワーク31自体も特定のプロファイル40を設計するために使用することができ、結果として生じるプロファイル39は次に1つ又は複数のフレームワークノードの行動パラメータに指定される値を修正するためにフレームワーク31に入力を提供する。
【0060】
ユーザがアバターを直接的に操作する、あるいは行動設計ユーザインタフェース41を使用して値を直接的に入力する場合、入力は、姿勢32、しぐさ33、顔34、及び視線方向34のフレームワークの行動出力ノードに対する移動によって指定される値によってフレームワーク31に直接的に提供できる。フレームワークは、次に行動アクションのための適切な値を推論し、ユーザインタフェース/追跡調査システム40は次に動画システムを使用して適切なアクションを生じさせる。
【0061】
集合的に、姿勢、しぐさ、顔、及び目の行動ノードにより出力される値は動画サブシステム41を使用して適切に動画化された行動を生じさせるために使用される。使用される動画サブシステムは、Quakeエンジンなどのコンピュータゲームエンジン、又はSGIのオープンインベンタ(Open Inventor)ライブラリなどのシーングラフに基づいたコンピュータグラフィックシステムなどの任意の適切な動画アプリケーションによって提供できる。
【0062】
(行動モデルアーキテクチャ)
ここで添付図面の図4を参照すると、本発明による層化された階層行動モデルの階層構造が概略で示されている。
【0063】
図4は行動モデルの機能性が、5つの層、つまり行動モデル51を定義するフレームワーク内の行動ノードの設計に機能上関係する第1の層と、行動アーキテクチャ自体52aの設計に、及び(技能のある技術者による、出力行動に対応する実際の動画等の作成に関係する)「コンテンツ作成」52bに機能上関係する第2の層と、行動形容詞(同等に、行動パラメータ集合)53の設計に機能上関係する第3の層と、例えば図4に示されるようにスライダ機能54aなどのパラメータ値選択機構に、行動プロファイル54bの設計に、及び仮想オブジェクト54cの直接的な操作によるモデルの中への入力の直接的な提供に機能上関係する第4の層と、最終的にはリアルタイム制御55に関係する第5の層を備える本発明の好ましい実施形態を示す。
【0064】
本発明の他の実施形態では、複雑なより多くの層が行動設計制御アーキテクチャで提供できるが、リアルタイム制御がサポートされなければならない場合には、5つの層は本発明の好ましい実施形態によって必要とされる最小である。
【0065】
行動モデルの層とインタフェースをとるために必要とされる特殊化された知識及び/又は情報量のレベルは、概して、ユーザが修正しようと努めるフレームワークの特殊な特徴又は関数に依存する。例えば、モデルの上位層(例えば層4と層5)へのインタフェースはユーザの側での専門知識を相対的にほとんど必要としない。つまり誰もが本発明のこの態様に従って仮想オブジェクトのリアルタイム制御を実行できる。しかしながら、ノードタイプを設計する(つまり、行動階層のレベル1とのインタフェースをとる)ことを希望するユーザは専門家プログラマとである可能性が高い。
【0066】
図4に図示される行動モデルは、(複雑度を増す)層の数と、モデルにおけるリアルタイム制御の包含の両方においてScerri及びYdren(下記参照)の既知の多層構造行動設計制御アーキテクチャとは異なる(例えば、多層構造アーキテクチャについての詳細は、Scerri及びYdren[RoboCupチーム、RoboCup−99、ロボットサッカーワールドカップIIIのエンドユーザ仕様、シュプリンガー出版コンピュータサイエンスにおける講義ノート(2000)(End User Specification of RoboCup Teams, RoboCup-99,Robot Soccer World Cup III, Springer-Verlag Lecture Notes in Computer Science(2000))]を参照すること)。より複雑な階層構造を有することと、リアルタイム制御機能性を実現する能力に加えて、他の際立った特徴は、行動フレームワークの行動パラメータ値を入力されたパラメータ値から内部的に推論できるようにする行動パラメータ推論方式の提供を含む。このようにして、ユーザは行動特徴と関連付けられる1つ又は複数の行動パラメータ値の集合を入力するとき、あるいはある特殊な行動アクションを生じさせるためにオブジェクトを操作するとき、受け取られた入力は1つ又は複数の行動アクションを備える他の同等な行動を生成するために使用できる。この行動パラメータ推論システムはここに以下にさらに詳細に説明される。
【0067】
図4では、設計ノード型層51は動画制御システムとのインタフェースをとる出力ノードの設計に関する。通常、出力ノードの出力は仮想オブジェクトを動画化するためにノードの他のセクションにより使用される。動画システムは、それが生じさせる行動を制御するいくつかのパラメータを含む。出力ノードは動画システムのパラメータごとに1つの出力を有し、そのパラメータは出力の値に直接的に設定される。例えば、姿勢ノードのケースでは、新しい姿勢は基準姿勢ごとの加重に基づいて基準姿勢の集合の組み合わせとして生成される。姿勢はその重量に比例して運動結合システムとともに混合される。姿勢ノードはその重量に対応する姿勢ごとに出力を有する。他の出力行動はパラメータと行動の間でさらに複雑なマッピングを有するであろう。例えば、出力ノードは、ノード型のサブタイプを作成する(概してきわめて技術で技能のある)プログラマによって、及び実行時にアーキテクチャのフレームワークに新しい型を追加することによって作成でき、ノードはファイルからの定義を行動コントローラに読み込むために使用できる。本発明の他の実施形態では、出力ノードは使用されている動画システムと合うようにその出力を適合させる。
【0068】
ユーザは、一般的には、行動設計モデルの層2のアーキテクチャ設計52a又はコンテンツ作成52b特徴を修正する前に行動フレームワークに精通するように訓練を受ける必要がある。層2はある特定のアプリケーションのために仮想オブジェクトを作成するためのフレームワークを備える。それは、行動コントローラの設計及び出力ノードのためのコンテンツの設計を含む。例えば、出力ノードは事前に存在する運動又は他のコンテンツに基づいた行動を生じさせるように設計できる。多くの出力行動はいくつかの既存の動画及び類似するコンテンツに基づく。例えば、姿勢モデルは既存の姿勢の集合に基づき、顔の表情モジュールは既存の顔の表情の集合に基づくであろう。これらは市販されている3Dモデリングツールを使用して技能のある設計者によって作成できる。
【0069】
行動コントローラの設計は、通常、手で編集できる、設計仕様ファイル、例えばXMLファイル、又は他の適切なファイルタイプ(おそらく特別に設計されるファイルタイプ)によって指定される。行動コントローラはグラフ構造を有するので、単純なグラフィック編集ツールが代替実施形態の設計仕様ファイルを編集するために提供されてよい。いったん設計仕様ファイルが編集されると、それは前述された行動フレームワークを使用してコントローラにコンパイルできる。
【0070】
図4の層3、4及び5の形容詞設計層53とスライダ54a、プロファイル設計52b、直接操作52c及びリアルタイム制御機能は、概して未熟なユーザがオブジェクトの行動をカスタマイズできるようにするために構成される。特に、ユーザは添付図面の図8を参照して以下にここにさらに詳しく説明されるように行動プロファイルを設計する手段によって層3と4とインタフェースをとることができる。
【0071】
(行動コントローラ)
ここで添付図面の図5を参照すると、本発明の第1の実施形態による仮想オブジェクトのための行動コントローラのフレームワーク60が示されている。図5では、行動コントローラのフレームワーク60は、1つ又は複数のソースから1つ又は複数の出力に入力をマップするいくつかの計算ノードを備える。フレームワーク60内のノードは、例えば他の仮想オブジェクトの行動から引き出されてよい入力を提供するノードなどの外部入力61、グローバルフレームワークパラメータと、(直接的又は間接的のどちらかで)フレームワーク内のすべてのノードによってアクセス可能であるその関連入力値を提供するグローバルパラメータノード62、名前によって特定され、特殊なノードにとって内部の1つ又は複数のああいと関連付けられる行動ノード63a、63b、63c、63d、及び(例えば他の仮想オブジェクトの行動コントローラによる使用のために)外部で使用できるパラメータ値を出力する外部出力ノード64を備えてよい出力ノード64、65、又は適切な行動を提供する仮想オブジェクトの実際の所望される動画を生じさせるために行動動画機構によって使用されるパラメータ値を提供する行動出力ノード65を含む。プログラミングの観点から、各パラメータは、例えば指定された数値付きのテキスト名などの名前−値組から構成される。使用される行動モデルの正確なアーキテクチャは、行動コントローラのフレームワーク60の形式を決定する。
【0072】
図5では、フレームワーク60は、その機能がいくつかのパラメータに基づいていくつかの出力にいくつかの入力をマップすることであるいくつかの行動ノード63a、b、c、dを備える。図5は、外部入力61とグローバルパラメータ入力62がどのようにして集合的に行動ノード63a、63b、63c、63dに入力を提供するのかを概略的に示す。ノード63a、dは、ノード63b、cから入力を追加で受け取る。
【0073】
外部入力61は、例えば、他のキャラクタが親しみやすい、又は服従的である程度などの、環境と他のオブジェクトについての高水準情報を含む。
【0074】
グローバルパラメータ入力62は、その行動に影響を及ぼし、各行動ノードによって決定される特殊な行動を修正する仮想オブジェクトの高水準属性を備える。例えば、グローバルパラメータ値は、例えば幸福な又は親しみやすいなどのオブジェクトのムード又は態度などの特徴を備えてよい。簡略に図1Bを参照し直すと、複数の動作パラメータ集合が、キャラクタがどれほど親しみやすいのか、あるいはどれほど内気なのかなどの多様なグローバルパラメータを示すために名付けられている。
【0075】
行動コントローラフレームワークの中の行動ノード63a、63b、63c、63dに入力される各グローバルパラメータ名−値組は1つ又は複数の数値出力を生成する。これらの数値出力は、次に、外部出力ノード64による外部出力として渡されるか、あるいは出力ノード65によって行動出力と関連付けられるのどちらかである。
【0076】
外部出力64は、例えば仮想オブジェクトがどれほど親しみやすいか、あるいは服従的であるのかなど、外部入力に同等な情報を備える。外部出力として提供されるパラメータ名−値の組は身体言語情報を伝達する。この外部出力が他の仮想オブジェクト(複数の場合がある)によって受け取られると、それにより他の仮想オブジェクト(複数の場合がある)の行動を修正する他の仮想オブジェクト(複数の場合がある)の内部行動パラメータを推論できる。あるコントローラによる外部出力は、同じ名称を有する名称−値組を一致させることにより他の仮想オブジェクト(複数の場合がある)の行動コントローラ(複数の場合がある)に提供される外部入力と相互に関連付けられる。
【0077】
各行動出力ノード65は、行動アクションに対応する出力を生じさせる。プログラミングの観点から、行動出力ノード65は行動ノード63a、63b、63c、63dの(オブジェクト指向の意味での)サブタイプを備え、パラメータから行動にマップするために出力への入力の同様なマップを実行する。行動出力ノード65は出力ノードの他の部分によってキャラクタを動画化するために使用できる出力を生じさせる。例えば、姿勢出力ノードでは、新しい姿勢が生成される基準姿勢の集合、及び基準姿勢ごとのパラメータがある。姿勢の実際の表現はオブジェクトの関節角度に関して(オイラー角度として)記憶される。新しい姿勢は、重量として姿勢のパラメータを使用して基準姿勢に対応する角度に対して加重総計を実行することにより生成される。これらの生成された角度は基礎を成す幾何学的な表現における対応する変形に直接的に至る。
【0078】
(フレームワーク内の行動ノードの構造及び機能)
ここで図6を参照すると、図5の行動ノード63dの拡大図が示されている。図6は複数の異なるソースからの入力が行動ノードによってどのようにして使用されてよいのかを概略して示している。図6に図示されるように、行動ノード63dはその内部パラメータ集合に基づいて1つ又は複数の出力に行動ノードによって前方方向でマップされる最高3つの異なる種類の入力を受け取ることができる。図6では、行動ノード63dへの入力は例えばノード63b、63cなどの別の行動ノードから、1つ又は複数のグローバルパラメータ名値組によって提供される入力62から、及び/又はフレームワークの外のソースからの外部入力61からの出力から生じることがある。外部入力61は、対話規則の所定の組に従ってオブジェクトが対話している別のオブジェクトによって生成されてよい。行動ノードに対する外部入力はノードによって修正されてよい。例えば、入力は、入力が許容範囲を超えて拡張する場合には、無視される、あるいは最大値又は最小値に制限されてよい。代わりに、外部入力がユーザの文化に異なる文化に従って実行されるアクションを表す場合、外部入力は、ユーザ自身の文化における適切な行動に対応する外部入力が、事実上ユーザの仮想オブジェクトによる反応を修正するためにフレームワークによって使用されることを確実にするために、最初に適切に修正されてよい。
【0079】
図6は、行動ノードがどのようにしてその機能性を逆転し、逆転マップを実行するのかも示している。逆転マップは、入力が行動ノードの出力に対応するレベルにあるフレームワークによって受け取られると必ず実行される。これは、例えば、ユーザが、これが行動ノード65への出力に同等なレベルでのフレームワークに入力を提供するためにオブジェクトを直接的に操作するときに発生する可能性がある。その結果、この受け取られた「出力」はフレームワークを通る逆転マップの開始点となり、各内部行動ノードはそのパラメータ値を、最終的に受け取られた「出力」を生じさせるフレームワークのためのグローバルパラメータ値も決定されるまで、ここに以下に詳しく説明される方法で推論される。
【0080】
前方方向又は後方方向のどちらかで、フレームワーク内の各行動ノードは、ノードの機能に従っていくつかのパラメータに基づいて1つ又は複数の出力に1つ又は複数の入力をマップすることができる。
【0081】
(前方マップ)
前方マップのケースでは、出力は、各項Tijがいくつかの因数
【数1】
【0082】
の積であり、各因数が内部パラメータ又はノードの入力のどちらかであるいくつかの項
【数2】
【0083】
の総計として示されたオブジェクトのための行動コントローラによって提供される。前記に示されたように、ノードへの入力は別のノードからの出力として生じ、アーキテクチャ全体に大局的に指定されるパラメータであるか、あるいは外部入力であり、別のアーキテクチャから(つまり他のオブジェクトの行動コントローラから)生じてよい。
【0084】
例えば、キャラクタは(キャラクタが生まれつき親しみやすいことを示す)値1.2のグローバルパラメータ「親しみやすさ」で設定でき、それは(他のキャラクタが愉快であることを示す)1.5という値の別のキャラクタから外部入力「気持ちのいい態度」も受け取るであろう。これらは(キャラクタが他のキャラクタに対して親しい姿勢をとるべきであることを示す)値1.8の出力「親しい」を生じさせるためにノード内でともに乗算されるであろう。この出力は次に、キャラクタが、前方に傾く、及び他のキャラクタに向かうという2つの基準姿勢を結合することによってこれを達成すべきであると判断する可能性のある他のノードに渡されるであろう。これらの2つの姿勢の重み付けは、「親しい」出力から計算され、新しい姿勢を生成するであろう動画システムに渡されるであろう。
【0085】
ここで図7を参照すると、本発明の第2の実施形態による行動コントローラのためのフレームワークの概略図がより詳しく示されている。図7では、行動ノードは緊急性の平衡、優勢性要因、緊急性の差異、反応性、優勢性差異、親近感、ステータス、気持ちのいい態度、近接さ、空間の関係(space fling)及びくつろぎを含む。行動出力ノード65は顔の表情、高水準の姿勢ノード、視線方向、しぐさ及び姿勢を含む。他の実施形態はさらに発話の調子、速度、強勢等の行動出力ノードを含んでよい。
【0086】
図7に概略して示されるフレームワークの複雑さは図5に示される単純なフレームワークより高いが、より複雑なフレームワークは本発明の特殊な応用例及び実施形態に合うように構築されてよい。ユーザがその行動フレームワークに従って生成されるオブジェクトの行動を修正できるようにするために、1つ又は複数の行動パラメータの集合を備える行動形容詞が、これが、ユーザが供給することを必要とされる入力のレベルを大幅に簡略するため構築される。
【0087】
行動形容詞の例は、各仮想オブジェクト5、6の行動プロファイルが、軽薄さ、親しみやすさ、男っぽさ、他の好み(otherLiking)、悲しい、自惚れ、はにかみ及び優位点(superioritytoOther)という形容詞を含む図1Bに示される例を含む。これらの行動形容詞のそれぞれは行動パラメータ集合を備え、概して単純なテキスト名又は句によって行動設計ユーザインタフェースで表現される。通常、「形容詞」名称は、ユーザによる認識を容易にするために、直感的に前記「形容詞」が修飾する行動のその態様を説明する。行動パラメータ集合の中の各パラメータは、関数によって作用できる初期値又はデフォルト値を指定され、任意の外部入力された値と併せて作用されてよい。例えば、関数は単純な一次代数関数であってよい、あるいは所定量分、行動パラメータ集合にユーザによって指定される任意の値を単にスケーリングする(scale)ことであってよい。代わりに、関数はちょうど入力された値を戻す「恒等」関数であってよい。
【0088】
図7に概略で示されるフレームワークは、非言語的な個人内(intra−personal)動作の多様な態様を実行するための本発明の態様を表す。行動コントローラは例えばオンライン会議又はコンピュータゲーム/チャットルームシナリオのキャラクタなど、仮想オブジェクト間の対話を強化し、それらをより信用できるように見えるようにすることができる。特にフレームワークは半自律的な(つまり、ユーザがアバターの各行動アクションを具体的に決定しない)アバターにとって有効である。
【0089】
アバターの使用の多くは個人内の(intra−personal)動作を含むので、適切な非言語的な行動はそれらの使用を大幅に強化する。図7では、行動コントローラは多くの個人内(intra−personal)態度を符号化し、姿勢及び視線方向行動などの動画を生じさせるいくつかの出力を潜在的に制御する。制御システムはArgyle(Michael Argyle(1988)身体伝達第2版(Bodily Communication 2nd edition、Routledge)によって、及びMehrabian(Albert Mehrabian(1972)非言語的伝達(Nonverbal Communication、Aldine−Atherton)によって提案される理論に基づいている。Argyleは、非言語的な行動、親密さと優勢性−服従に対して最大の影響を及ぼす個人間の関係の2つの態様を提案している。これらは後述されるように恒常的動機としてモデル化できる。これらに関係して、Mehrabianは、微笑むこと、物理的な接近と接触、権威/ステータスなどの事柄で表示され、くつろぎ又は緊張と反応性で表示され、一般的な物理的な活性化で表示される非言語的活動親近感(好み)の三つの次元を提案した。反応性の次元はオプションであり、それ以外の場合これらの量に基づく図7に示される行動コントローラでは実現されていない。
【0090】
図7では、緊急性及び優勢性のArgyleの次元はMehrabianの親近感とステータスの次元に密接に関連付けられているため、それらはアーキテクチャで関連付けられる。Mehrabianの次元は緊急性エージェントと優勢性エージェントにより直接的に決定される行動ノードとしてモデル化される。緊急性及び優勢性は恒常的動機としてモデル化される。
【0091】
変数の所望される値は、仮想オブジェクトのグローバルパラメータ及び任意の他の仮想オブジェクトからの外部入力に基づいて緊急性平衡及び優勢性因数ノードによって計算される。所望される親密さを強める因数は、キャラクタがどれほど親しみやすいか、それが他のキャラクタをどれほど好きか(グローバルパラメータ)及び他のキャラクタがどれのど快適であるのか(外部入力)を含む。それを減ずる因数はキャラクタがどれほど内気か、及び他のキャラクタがどれほど優勢であるのかである。これらの因数のすべてはそれらのプロファイルに基づいてキャラクタごとに異なる可能性のある重み付けを有する。所望される優勢性の因数はやはりいくつかの他の因数に依存する2つのキャラクタ間のステータスの所望される差異である。緊急性差異は所望される緊急性と実際の緊急性の間の差異となり、実際の緊急性がIaであり、所望される緊急性がId1である場合に他のキャラクタがどの程度親密であるのか(外部入力)によって決定され、前記緊急性差異は以下のとおりである。
【0092】
ΔI=Id−Ia
優勢性の方程式は、因数は言うまでもなく異なっているが類似している。行動反応性の第3の次元は本発明の他の実施形態で実現される。
【0093】
本発明のこの実施形態では、キャラクタの行動は高水準タイプの行動、つまり気持ちのいい態度、近接さ、空間の充填、くつろぎに関して定義される。これらは階層の動機レベルとアクションを形成するレベルの間の中間物として動作する。反対はしかめっ面のしぐさ又は攻撃的なしぐさである可能性があるが、気持ちのいい態度は微笑んでいる顔などの一般的な愉快な態度である。それは親近感(好きか、嫌いか)の表現である。気持ちのいい態度は姿勢で多くの表現を有さないが、一例は、他のキャラクタではこれが通常親しみやすい姿勢として解釈されるとき、キャラクタがその頭を側面に傾ける「頭をかしげること」である。近接差は、物理的な距離を含む社会的な距離(親密さ)であるが、体の向きや相互の視線などのことも含む。低い社会的な距離は高い親近感の結果である。それは、前方に傾く又は他のキャラクタにふれるなどの多くの方法で姿勢で表現される。高い社会的な距離は反対であり、体を逸らすとして表現できるが、体全体の向きをかえることとしても表現できる。空間の充填は、例えば姿勢又はさらに多くの又はさらに少ない拡大しぐさによって自分自身をさらに大きく又はさらに小さくする傾向である。姿勢の例は完全な高さに体を起こすこと、又は足を離して立っている又は座っていることを含む。高い空間充填は優勢性と関連付けられ、低い空間充填は服従と関連付けられる。くつろぎはおもに姿勢であるが、他の種類の行動とも関連付けられる低い体の緊張である。高いくつろぎは優勢なステータスのしるしであり、姿勢の非対称性によって表すことができる。
【0094】
本発明のこの実施形態では、高レベルの行動因数を実際の姿勢に変換するいくつかの高水準姿勢ノードがある。姿勢ごとに1つの高水準姿勢がある。それぞれが高水準行動タイプの1つ又は複数に依存している。高水準行動タイプの値は、姿勢のための値を生成するために重み付けにより乗算される。これは、キャラクタが姿勢を実行している程度を決定する。重み付けはキャラクタプロファイルに依存し、その結果異なるキャラクタが同じ高水準行動のためにさまざまな姿勢を生じさせるであろう。姿勢の値は次に姿勢出力ノードに渡される。これは姿勢の実際の表現を記憶している。これは関節角度という点での表現である。各姿勢に対応する関節角度は重みとして姿勢の値を使用して総計され、結果は根本的な幾何学的な表現に直接的に渡されるキャラクタの実際の姿勢である。
【0095】
図8は、仮想オブジェクトの動作の生成における特定の段階を示している。含まれている前記段階は、最初に、1つ又は複数の行動形容詞の1つ又は複数の設計であり、第2に複数の行動形容詞を備える行動プロファイルの設計であり、第3にユーザによるプロファイル内での行動形容詞の値の指定であり、最後に行動コントローラによる行動の以後の生成である。行動コントローラによる行動のユーザ入力及び生成はユーザが仮想環境でオンラインである間にリアルタイムで動的に発生することがあるのに対し、形容詞及びプロファイル設計段階は概してオフラインで発生する。
【0096】
本発明では、形容詞は1つ又は複数の行動パラメータの集合を含む。行動コントローラのフレームワークの中のどの行動パラメータが行動特徴に影響を及ぼすのかの選択は相対的に技能のあるタスクである。しかしながら形容詞を提供することによって、行動設計インタフェースのユーザに必要とされるデータと理解の量は削減される。形容詞設計70及び行動パラメータを指定するためのデフォルト値71の選択は、図7を参照してすでに前述されている。
【0097】
(プロファイル設計)
形容詞設計をセットアップするために必要とされる知識のレベルと対照的に、オブジェクト72の行動プロファイルにどの形容詞が含まれなければならないのかの選択は形容詞を構築するために必要とされる知識のレベルに比較してより複雑ではないタスクである。行動プロファイルの設計段階により、ユーザは、前記ユーザが行動設計インタフェースを使用して制御しようと努めるオブジェクト(複数の場合がある)の行動にどの行動特徴が関連しているのかを選択できるようにする。
【0098】
したがって、行動プロファイルは1つ又は複数の形容詞から構成される。形容詞は単一のグローバルパラメータ値、又は一意に指定された行動ノードパラメータ値、あるいは複数のパラメータ名−値タイプの各タイプの1つ又は複数(a plurality of one or more of each type of parameter name−value types)を含んでよい。このようにして、ユーザは行動コントローラのための内部パラメータ及び/又はグローバルパラメータを設定できる。本発明のある実施形態では、行動プロファイルは2つのセクションを備え、その両方ともパラメータ名−値組を使用して説明される。第1のセクションはオブジェクトの全体的な個性を説明する(個性という用語はここではオブジェクトの一般的な気質を表すために使用される)。第2のセクションは属性名値の集合を備える。本発明の一実施形態では、「態度」セクションの各形容詞は一意の行動ノードパラメータ(複数の場合がある)を備えるのに対して、「個性」セクションの各形容詞はグローバルパラメータ(複数の場合がある)を備える。
【0099】
態度は、仮想オブジェクトによって他の仮想オブジェクトがどれと対話しているのかに基づいて変化する仮想オブジェクトの行動の態様を備える。例えば、仮想オブジェクトは別のキャラクタよりあるキャラクタとより親しい可能性がある。態度はキャラクタの名称(又はキャラクタの集合)及びそのキャラクタと対話するときにだけロードされるパラメータ値の集合から構成される。これに関連して、態度は、それが少なくとも1つの行動パラメータ名−値組から構成される集合を備えるという点で「形容詞」の形式である。
【0100】
行動プロファイルの態度パラメータセクションは、対話に存在するそれぞれの指名されるオブジェクトごとの少なくとも1つのパラメータ値の集合を含む。これらの値は適切な行動を生成するために行動フレームワークのパラメータにロードされる。例えばクラス「見知らぬ人」のオブジェクトのパラメータ値など、オブジェクトのクラス、つまり個々のオブジェクトのためのパラメータ値の集合も、オブジェクトが、アバターが以前遭遇したことがない他のアバターを好まないという事実を反映するために指定することもできる。
【0101】
パラメータは任意の適切な方法でその値が設定される可能性がある。2つの方法はきわめて適切と考えられる。第1に、値はノード名、パラメータ名、及びパラメータを設定する値を使用してフレームワークパラメータを指定することによって直接的に指定できる。第2に、複数のフレームワークパラメータはここに、すでに行動フレームワークの1つ又は複数の行動パラメータを備える集合を指すためにここに定義される「形容詞」と呼ばれるすでに説明されたデータ構造で関連付けられてよい。ユーザが形容詞に選択してよい一連の考えられる値は、プロファイル設計段階73に含まれてよい(又は代わりにそれは形容詞設計段階の一部を形成してよい)。
【0102】
最後に、いったんユーザによって「形容詞」に値が指定されると(ステップ74)、集合の中の各パラメータの実際の値はステップ75で決定され、形容詞設計段階の間に定義されるデフォルト値(ステップ73)とユーザによって形容詞に指定される値(ステップ74)の関数として与えられる(given by)。
【0103】
例えば、ユーザは「幸せ」と示される行動パラメータ集合「形容詞」に「10」という値を指定してよい。行動プロファイルが行動コントローラの中に読み込まれると、「幸せ」についてユーザによって指定される値「10」は、次に、パラメータ集合「幸せ」を構成するために形容詞設計によって決定された(ステップ70、71)すべてのパラメータ(複数の場合がある)のための実際のパラメータ値に変換され、実際の値は形容詞と関連付けられる入力値に作用する関数により決定される。
【0104】
どのパラメータが集合的に行動パラメータ集合を構成するのかは、プロファイル変換ファイルによって決定される。プロファイル変換ファイルは各行動パラメータ集合を定義し、それぞれを「形容詞」名(又は行動パラメータ集合のための何らかの同等な名称又は句、つまりパラメータ集合が修正する行動特性と直感的に関連付けられる名称)と関連付ける。プロファイル変換ファイルは、行動パラメータ集合に属するとして少なくとも1つのパラメータも定義する。要約すれば、行動モデルによって使用される各パラメータの最終的な値は、プロファイルで指定される値、及び/又は行動パラメータ集合に指定される値の関数である。
【0105】
ユーザがプロファイルを修正できる複数の方法がある。例えば、符号をテキスト編集すること、スライダを使用して、あるいはさらに詳しく後述される、仮想オブジェクトの直接的な操作によって値を指定することである。
【0106】
ここで図8に戻ると、オブジェクトのための行動形容詞にユーザによって指定される値はオブジェクトの行動コントローラに対する入力として提供される。行動コントローラは、次に入力を取り、適切な行動出力を生じさせるために、それからどのパラメータに、どの値が指定されるのかを推論する(ステップ75、76、77、78)。オブジェクトによる行動を生成するために受け取られる入力が使用される機構が図9Aにさらに詳しく概略で示されている。
【0107】
図9Aは、フレームワークが動作する2つの方法を示している。第1に、フレームワークは、外部入力又はグローバルパラメータ又は形容詞などの高水準入力が設定されると発生する、前方マッピングだけを使用して動作できる。このケースでは、フレームワークは前方に実行され、出力ノードの値が決定されるまで、ノードで入力から出力を生成し、(図6も参照すること)前方マッピングを実行するにすぎない。
【0108】
第2に、フレームワークは、入力よりむしろ出力が変更されると逆転マッピングを実行するように動作できる(やはり図6も参照すること)。例えば、オブジェクトの直接的な操作が発生するときである。しかしながら、複数の入力が両方のマッピングを実行するために受け取られることもあるが、逆転マッピングは直接的なマッピングによる出力に影響を及ぼすことがあり、したがって本発明のいくつかの実施形態ではこれは最初に実行される。
【0109】
ここで図9Aを参照すると、行動コントローラは入力を受け取る(ステップ81)。入力が例えば外部入力パラメータ又はグローバルパラメータに対応するフレームワーク内の高水準ノードでなど、入力ノードで受け取られる場合(ステップ81)、入力は次に所望される行動を生成するために動画システムに値を提供するために使用される(ステップ85)特定の出力を生じさせるために(ステップ83)接続されたノード(ステップ83)の行動コントローラのフレームワーク内で前方にマップされる。所望される行動は入力で示される行動に同等な行動を含む。しかしながら、同等な行動はさらに複雑であってよい、及び/又はさらに多くのアクションを備えてよく、その内のいくつかは同時に及び/又はシーケンスで実行されてよい。
【0110】
(逆転マップ)
代わりに、入力がオブジェクトの直接的な操作などのソースから受け取られる場合には、受け取られる入力は、フレームワークの出力ノードの1つ又は複数が(動画システムと併せて)生じるであろう出力の行動と同等である。この場合、入力は出力ノードの1つ又は複数で受け取られ(ステップ81)、最初に、どの入力値がこのような出力を生じさせる(ステップ82b)のかを決定するために行動フレームワークを通して逆転マップされる。
【0111】
この逆転マップは、このような行動を生じさせるであろうグローバルパラメータが推論されるまで、フレームワークのすべての関連するノードに、それらのパラメータ値を推論させることを必要とする(ステップ84、85)。これらの誘導されたパラメータ値は推論されたグローバルパラメータ値から開始する前方マッププロセスのために保持され、他の行動を生成するために使用される。結果として、ただ1つのアクションが直接的な入力を提供するために使用されたが、コントローラにより生じる行動はオリジナルの直接的に操作された入力よりはるかに豊富且つ複雑な場合があり、1つ又は複数の行動アクション、又は行動アクションのシーケンスを備えることがある。これは再びさらに詳細に後述される。
【0112】
(前方マップ)
例えば、行動設計インタフェースが1つ又は複数のグローバルパラメータ、例えば、別の仮想オブジェクトに対するアバターの態度を表すおそらく特定のノードに特殊なパラメータ値だけではなく、例えばアバターなどの仮想オブジェクトの特定のムードを表すグローバルパラメータなどの1つ又は複数のグローバルパラメータにも値を指定する発明の実施形態を考える。ここで図7と図9Aの両方を参照すると、入力62は行動フレームワークの適切なノードによって受け取られ(ステップ82a)、次に内部行動ノード63を通して行動フレームワークによってマップされる(ステップ83)(例えば、図7に戻って参照すると、パラメータ値は緊急性平衡ノードと優勢性因数ノードを通して最初にマップされ、次に、出力ノード65に達するまで親近感ノードとステータスノード、及び気持ちのよい態度、近接、空間充填及びくつろぎのノードに前方にマップできる緊急性差異ノード、反応性ノード及び優勢性差異ノードにマップされてよい。図7に示される本発明の実施形態では、出力ノードは顔の表情、高水準姿勢ノード(及びこれはさらに姿勢ノードにマップする)、視線方向、及びしぐさノードを備え、そのそれぞれはアバターを動画化させ、適適切な行動を生成させるために適切な動画システムに提供できる出力を生成する。入力がフレームワークを通して前方にマップされるとき、グローバルパラメータは、二次的な行動変化を誘導できるようにするフレームワークの中の他のノードに対する入力として提供される。これらのグローバルパラメータ値は、次にさらに複雑な行為をアバターによって実行できるようにする。
【0113】
(直接的な操作)
図7に図示される本発明の実施形態では、出力ノードは顔の表情、高水準姿勢ノード(及びこれはさらに姿勢ノードにマップする)、視線方向、及びしぐさノードを備え、そのそれぞれはアバターを動画化させ、適切な行動を生成させるために適切な動画システムに提供できる出力を生成する。ここで再び9を参照すると、ユーザが例えば別のアバターの腕に触れるために(例えばアバターのアームをクリックすることによって、ステップ90)アバターの姿勢を直接的に操作する例を考える(ステップ91)。これはフレームワークの姿勢ノードで特定の入力を生じさせる(ステップ92)。アバターによってこのような動作を生じさせるであろうグローバルパラメータ値は、他のアバターに対する親しみやすさが意図されるときにだけこのようにするためにセットアップされてよい。行動コントローラは、フレームワークのグローバルパラメータ入力ノードに達するまで姿勢ノードによって生じる値(ステップ93)からフレームワークの関連するノードを通って戻る姿勢ノードにより生じる値から逆転マップを実行し、グローバル行動パラメータ「軽薄さ」のための適切な入力値を推論できる(ステップ93を参照すること)。これらのグローバルパラメータ値は次にフレームワークを通る前方向マップを開始するために使用される。
【0114】
逆転マップは、例えば気持ちのいい態度とくつろぎになど、フレームワーク内の他の行動パラメータ値にも値を指定するであろう。推論されたグローバルパラメータ値から順方向マップ(ステップ94)を実行すると、指定される値は他の行動を生成する(ステップ96)複数の出力(ステップ95)を生成するために使用される。例えば、気持ちのいい態度とくつろぎに指定される値は、アバターが微笑む結果となる、顔の表情のための出力ノードで追加行動を生じさせることができる。他方のアバターの顔を見るために視線方向を変更するなどの他の行動も生成されてよく、握手などのしぐさが腕に触れることに続くように生成されてよい。このようにして、ユーザは別のアバターの腕に触れるためにアバターの姿勢を直接的に操作したにすぎないが、行動コントローラは、ユーザが、アバターが他のアバターに対して親しみやすく、アバターに挨拶することを希望し、相応して適切な行動を生成することを推論するために、ユーザがアバターに与えた身体言語を解釈した。
【0115】
要約すれば、入力として受け取られる情報からさらに多くの情報を推論することによって、逆転マップを使用して生成される行動は、シーケンスとして又は無作為に実行できる1つ又は複数の行動アクションを備える場合があり、視線方向、スタンス、運動等の1つ又は複数のアクションは同時に実行できる。これは、ユーザに非常に簡略な制御機構も提供する一方、オブジェクトにより示される行動の複雑さを大幅に高める。推論機構はさらに詳細に後述される。
【0116】
直接的な操作は、ユーザが仮想オブジェクトの体の部分をクリックし、次に体の部分を新しい位置にドラッグするためにマウスを使用して仮想オブジェクトを直接的に操作することによって達成できる。他のコンピュータナビゲーションツール、又はカーソルとキーボード、ジョイスティック、トラックボール、ポインタ等のツールの組み合わせは仮想オブジェクト操作するために、当業者に明らかであるように任意の適切な方法で使用できる。
【0117】
実際のオブジェクトが行動コントローラによって制御される本発明の実施形態では、ユーザが手でオブジェクトの姿勢を直接的に変更することを望むことがある。運動中の他のオブジェクトに対するその近接さだけではなく変位及び又は移動の速度を含んでよいこの運動の特徴も、どの入力が行動コントローラに供給されるのかを決定するであろう。
【0118】
このようにして、ユーザは仮想オブジェクトによって特殊な所望されるアクションを示すことができ、行動フレームワークは、次に、ユーザが示した行動と一貫している所望される複数の行動アクションを外挿することができる。新しい出力パラメータ値は、ユーザによって示されるアクションだけではなく、さまざまな環境に適切である類似した運動も複製するために使用できる。さらにパラメータ設定値は、行動プロファイルに、又は行動プロファイルを構築するために次にユーザが使用できる形容詞として保存することができる。より複雑な行動の生成をトリガするためのオブジェクトの直接的な操作は、子供は複雑な行動を実行するために玩具を容易にプログラミングできるため、オブジェクトが玩具である場合に特に有効である。
【0119】
仮想オブジェクトの行動コントローラのための行動フレームワークが内部パラメータとグローバルパラメータを推論する方法がここでさらに詳細に説明される。
【0120】
(行動推論方式)
行動コントローラの動作を定義する行動フレームワークの構造により、例えばユーザが仮想オブジェクトを直接的に操作するときに、内部パラメータ値は逆転マップを使用してフレームワーク内に入力から推論できるようにする。再び図9Aを参照し直すと、行動コントローラがフレームワークに外部のソースから引き出される入力を受け取るケースを考える。入力が直接的に出力と関連付けられる場合、例えば、直接的な操作によって引き出される場合、逆転マップは前方マップのためにグローバルパラメータ値をシードする(seed)ために実行される必要がある。この逆転マップは、下記に概略される行動推論方式を使用して実行される。
【0121】
入力の外部ソースはオブジェクトの環境により決定できるであろう。例えば、入力は、別のオブジェクトがオブジェクトに対して投じられた情報を備えてよい。代わりに、それは別のオブジェクトの行動コントローラからの出力を備えてよい。代わりに、それは例えばユーザに取り付けられる運動センサによって提供されるデータなどの、ユーザからの入力を備えてよい。代わりに、それはユーザからの直接的に入力される値、又は行動設計ユーザインタフェースを介した入力を備えてよい。入力は別のオブジェクトの身体言語の表示を提供でき、そのケースでは情報は適切な応答を推論するために使用できる。
【0122】
いったん入力が行動コントローラによって受け取られる(ステップ80)と、受け取られた入力値は次にオブジェクトの出力値と関連付けられる(ステップ81)。これは行動出力ノードのそれぞれ異なるタイプごとに特殊目的マップを使用して実行される。いったんこの初期のマッピングが出力ノードで実行されると、逆転マップはノードの内部パラメータ及びグローバルパラメータを推論するためにフレームワーク全体を通して実行される。これは行動フレームワーク内の各ノードの影響を受けた出力ごとにセットアップされる方程式を使用して達成され、
【数3】
【0123】
ここでは各因数は内部パラメータ又はノードの入力のどちらかである。
【0124】
このようにして、出力の各項Tijは、それを出力の他の項Tijから区別する解決できる因数を有する。項Tijは内部パラメータ値又はグローバルパラメータ値などの内部値であってよい解決できる因数を含む。このような環境では、解決できる因数には単に新しい値が指定し直されるだけである。解決できる因数が別のノードから入力される場合、処理はソースノードからの入力を表すための方程式の新しい集合を形成して繰り返される。出力での変更は、このようにして解決可能な因数を内部パラメータ又はグローバルパラメータによって表現できるまでにノードの階層を上方へ伝搬される。
【0125】
各項Tijは、2つの解決可能なパラメータを有する。つまりリアルタイムの制御のために内部状態を推論するときに解決のために使用され、他方はプロファイル編集のために使用される。
【0126】
解決可能な因数という点での各ノードの出力は以下のとおりであり、
【数4】
【0127】
ここではfijは解決不可の因数の総計であり、Sijは解決可能な因数である。この一次方程式は、適切な線形代数方法を使用して解かれる。例えばユーザがいくつかの編集機能を実行した場合、一次方程式のシーケンスが行列形式で存在し、
o=Fx
そこではoは編集のそれぞれの出力のベクタであり、Fは例えば外部入力又は時間変化するパラメータのさまざまな設定値などの(文脈に依存する可能性がある解決不可の因数の行列であり、sは解決できる因数のベクトルである。Fが二乗ではないすべてのケースにおいて複数の正確な解決策があるであろうため、擬似反転方法が最小二乗解を見つけるために使用できる。
【0128】
s=F*0
この方法は単一ノードのパラメータを推論できるようにする。出力に直接的に接続されない階層のさらに上にノードのためのパラメータを推論するために、解決可能な因数のいくつかは内部パラメータよりむしろノードの中へ入力として提供される。前記入力は外部入力、グローバルパラメータ又は他のノードの出力のいずれかである場合がある。外部入力が解決可能なパラメータであることはできない。グローバルパラメータはそれらの値を解決プロセスの間に直接的に設定させる。
【0129】
入力が別のノードの出力である場合には、解は他のノードのための解決を必要とし、それは、そのノード及びそのノードに入力を提供するあらゆるノードを含む、方程式のシステムをセットアップすることにより達成できる。このケースでは、追加ノードは他のノードに対する出力を提供し、したがって解決される方程式は
【数5】
【0130】
の形で最もよく表現され、各行動ノードは既定の出力ノードの出力から決定される。
【0131】
(リアルタイム制御)
行動階層の中の最終層によりユーザがリアルタイムで複雑な行動をオブジェクトに提供できるようになる本発明の実施形態では、ユーザは種々のソースから行動コントローラに入力を提供する、あるいは任意の個別オブジェクトのために複数の行動設計インタフェースを使用することを希望することがある。例えば、又は入力を提供する他のデバイスは、例えばユーザの頭部及び/又は体の上で運動トラッカを使用することを含んでよい。2つ又は3つ以上の制御装置は操作上の負担を削減するためにユーザによって同時に操作されてよい。使用される制御装置は、ユーザが仮想オブジェクトの体のすべての部分をつねに制御することを必要するのではなく、ときどき限られた数の部分を操作する必要があるにすぎないことを確実にするために行動モデルで特定のパラメータを設定するために形容詞の使用を利用する。
【0132】
直接的な操作によって引き出されるのか、あるいはユーザを追跡調査するセンサによって引き出されるのかに関係なく、オブジェクトの行動は適切なインタフェース機構を使用して行動コントローラに渡すことができる情報を生成する。情報が特定の行動出力ノードのパラメータ値に同等であるパラメータ値を表現するとき、行動コントローラは仮想オブジェクトによるその特定の行動を生じさせるために必要とされる関連のあるパラメータに値を内部で指定するためにフレームワークを通して逆転マップを実行する。これによりオブジェクトはこれらのパラメータと関連付けられる他の行動を生成できる。例えば、ユーザは図2Cに示されるような別のキャラクタの腕に触るためにオブジェクトの腕を動画する可能性がある。フレームワークは、このしぐさが軽薄さの高い値に対応すると推論する。したがって、これは例えば前に傾く又は微笑むなどの他の軽薄な行動を生じさせるであろう。
【0133】
パラメータ値は、トラッカが使用される場合にユーザの行動に対応する可能性のある、「親しみやすさ」などの幅広い行動パターンを表すことができる。推論機構はどのような種類の行動が表現されているのかを決定するために仮想オブジェクトの操作に関連する代数方程式を解くだけなので、本発明のこの実施形態におけるユーザの行動を推論するために確率論的な機構は使用されない。いったん「親しみやすい」行動として認識されると、フレームワークはさらに幅広い範囲の親しみやすい行動を複製する。このより幅広い範囲の行動は、ユーザがリアルタイムで直接的に制御することを期待される内容を超えている。例えば、仮想オブジェクトは、ユーザが握手をするためにアバターを操作することによってアバターが親しみやすいことを示したに過ぎないという事実にも関わらず、フレームワークにより微笑むように誘導されてよい。入力が提供されない場合、フレームワークにより仮想オブジェクトは自律的に行動し続けることができる。これにより、行動設計ユーザインタフェースに不案内なユーザは仮想環境にさらに慣れ、仮想オブジェクトをもともとの始めから操作しようと試みる必要なくその環境について学習できるようにする。これは、非常に低い年齢の子供にも適した、きわめて使いやすいインタフェースを提供する。
【0134】
添付図面に示されるような行動制御システムは非言語的な行動をサポートする発明の実施形態に基づいている。しかしながら本発明全体として、行動は、それぞれが特定のパラメータによって修正される物理的なアクション及び/又は音声アクションによって表現される。例えば、身体言語などの物理的なアクションは、例えばオブジェクトが恐れているかどうかなど、オブジェクトの現在の内部の状態により修正されてよい。音声アクションは例えば音の高さなどのパラメータによって修正できる。これに関連して、用語「行動」は特定の刺激に対する制御された、又は制御されない(反射性)反応として生成される1つ又は複数のアクションとして定義できる。行動はより一時的な感情の特色(例えば、幸せ又は悲しい)だけではなく長期の特徴特色(例えば臆病又は攻撃的)も含む。
【0135】
本発明の非言語的行動の実施形態の一例は、親密さ及び優勢性−服従の概念を使用して個人間の関係性をモデル化する。本実施形態では、行動制御システムは、関係者の間の親密さと優勢性/服従のレベルを反映する親近感、権威/ステータスなどの特定の属性の多様な程度を示すために非言語的な活動を生じさせる。親近感は、例えば微笑む、物理的な接近及び/又は触ることなどの活動によって適切な行動のディスプレイにより表現される。権威/ステータスは、例えば姿勢における表示されたくつろぎ又は緊張によって表現できる。表現できる他の非言語的活動は一般的な物理的な活性化によって表示される応答性を含む。これに関連して、図1Bに図示されるパラメータ値は、本発明のこの実施形態では、親近感又は「男っぽさ」に対応する「親しみやすさ」と「他の好み(otherLiking)」、又は優勢性に対応する「自惚れ」などの所定の感情の/個人内(intra−personal)パラメータである。
【0136】
(発明の他の実施形態)
ここに前述された実施形態はおもに制御されている仮想オブジェクトの行動を説明している。しかしながら、ここに説明される行動制御の概念は、たとえ前記説明で明示的に説明されていなくても容易に非仮想、つまり現実のつまり実体のあるオブジェクトの制御に及び、本発明は当業者により理解されるように、相応して実在のオブジェクトと仮想オブジェクトの両方の行動に及ぶ。
【0137】
本発明の前記実施形態は本質的に静的である行動フレームワークを有していた。静的なフレームワークでは、パラメータ値は、ユーザによっていったん設定されると、それはリセットされるまでその値に設定されたままである。より自律的な動画は経時的にパラメータを変えることにより製作できる。本物の動画を作成するには、フレームワークは時間依存性のパラメータを含むように修正される。
【0138】
さまざまな種類の時間依存性パラメータは行動フレームワークによりサポートできる。例えば、無作為に変化するパラメータは、異なる種類がより予測可能な動画を生じさせることができる一方、ときおりの姿勢のシフトを提供できるであろう。このようなパラメータは逆転マップを実行するためのより精密な技法が必要であり、従って、本発明の最良の形態として考えられない。しかしながらパラメータ変更のあらゆるタイミングの改変を制御することによって、より現実的な姿勢シフトが得られてよい。
【0139】
本発明の別の動画化された実施形態は、いくつかのプロファイルの提供を必要とする。これは1回の進行で(one’s go)パラメータの集合を改変するであろう。本発明のこのような実施形態を実現する1つの方法は、動画の感覚で重要なフレームとしてプロファイルを提供し、それらの間で補間することである。さらに多くの動画を実現する別の方法は、それぞれの状態がプロファイルを付着される有限状態機械システムを使用してキャラクタを制御することである。この状態は、世の中の出来事、キャラクタの内部因数のために変化し、新しい状態が入力されると、そのプロファイルがロードされる。
【0140】
本発明の他の実施形態は他の種類の出力ノードを有する。例えば、本発明の一実施形態では、出力ノードとして姿勢ノードだけを提供できる。この出力ノードはパラメータから行動に簡単なマッピングを提供し、パラメータは姿勢ごとに存在し、これらのパラメータの値は姿勢の間で補間を提供する。このモデルは、例えば運動の部分が同じように補間できるであろう他の種類の行動に適用できるであろう。しかしながらより複雑な行動は、内部パラメータを推論するために行動から過去に遡ってマッピングするという複雑さを増すさらに複雑なマッピングを必要とする。
【0141】
この問題に対する多様な手法がある。第1は、それを無視し、将来的にであるが、解かれていない行動を生じさせることができるいくつかの出力ノードを有することである。これは制御できる他の種類の行動がある限り実行可能なオプションである。いくつかの態様は、例えば視線方向など、ユーザが制御するには困難すぎるため無視できる。別の手法は、出力モードのタイプごとに手作りのマッピングを提供することである。これは多大な時間を要する。最後の方法は、例えばベイジアンネットワーク又はニューラルネットワークなど、マッピングを学習するために何らかの種類の学習方式を使用することであろう。
【0142】
本発明の一実施形態は、有限状態機械拡張と確率論的ベイジアンネットワーク拡張を組み合わせる。ネットワーク内の各ノードはこの実施形態でいくつかの状態を有し、それぞれの状態は異なる内部パラメータ設定値、及び入力と出力の間でこのように異なるマッピングを有する。この実施形態では、ノードが既定の状態にある確率は他のノードの状態と、グローバルパラメータ又は他のノードの出力に依存するであろう。次に、フレームワークはノード間に2つの異なったタイプの相互関連を有する。一方はノード間を移動する連続評価パラメータで現在のシステムのように連続的である。他方はノードが離散状態の集合の内の1つである個別的である。他方の行動はそうではないが、いくつかの行動特徴は当然個別的であるため両方のタイプの情報には等しい重要性が与えられる。例えば、腕を組む、又は腕を組まないのどちらかであり、一方は会話中であるか、又は会話中ではなく、どちらのケースも50%はあまり意味がない。しかしながら、他の行動特徴は当然連続的であり、例えばオブジェクトは、経時的に幸せであると怒っているの間で連続的に変化することができ、個別的なステップのシーケンスとして変化できるはずはない。
【0143】
異なる方法は本発明のこのような実施形態で各種の情報を推論するために適している。ベイジアンネットワークが個別的な状態の集合の確率を推論できるのに対し、ここに提示されるフレームワークは不確実性のない連続的なデータに有効である。本発明のいくつかの実施形態では、行動フレームワークに対する拡張により情報を推論するための両方の方法を結合できる。
【0144】
添付図面に関して前述された方法は非確率論的であり、各ノードの状態が既知であるときに連続的な状態を推論するために使用できる。両方の推論方法が結合される本発明の他の実施形態では、ベイジアンネットワークは事前に使用でき、ノード状態及びそれらの間のその確率関係はベイジアンネットワークとして処理し、出力から各ノードの状態を推論するために使用できる。ネットワークのトポロジは、それがベイジアンネットワークとして処理されるのか、連続的なネットワークとして処理されるのかに関係なく同じままとなるであろう。いったんこれらの要素が所定の位置にあると、システムの内部パラメータは人々の行動に関するデータから自動的に学習できる。
【0145】
本発明の他の実施形態では、プロファイルを設計するための前述された方法は、現実のデータに基づいている内部パラメータの集合を学習するために多数の例に拡張できる。ベイジアン学習技法は、確率関係性を学習するために使用できる。これを用いると、システムのパラメータは現実の人からのデータに基づくことができるため、理論的に捕捉するのが非常に困難である人々の行動をさらに正確に反映できる。
【0146】
ユーザがオンラインチャットルームを介して対話する本発明の実施形態がここで説明される。この実施形態では、ユーザは行動コントローラに入力を提供するテキストだけではなく身体言語を用いて自らを表現できる。これは、オンライン仲介、オンライン会議(つまり情報が仮想オブジェクトのグループによって交換されなければならない)、オンライン共同制作(つまりタスクが仮想オブジェクトのグループによって交換されなければならない)、及びオンライン商環境(例えばアバター販売室)などの他の仮想環境だけではなく、アバターが人間のカウンセラーを表すオンラインカウンセリングなどの本発明の実施形態にも適している。
【0147】
身体言語は、行動を生成するためにプロファイルから所定の感情/個人内パラメータの集合を使用することによって、説明されるフレームワーク内の設計されるアーキテクチャによって自律的に生成される行動を備える。ユーザは標準的なデスクトップPCを使用してシステムにアクセスする。行動コントローラに入力を提供するためにユーザによって使用されるコンピュータナビゲーション装置は、例えばマウスとキーボードなどのこのような環境で一般的に使用可能なものに限られている。キーボードはテキストを入力するために使用され、マウスはキャラクタの運動を制御するために使用できる。ユーザは大抵の場合テキストを入力することに集中したいため、キャラクタ移動の制御はときおりとなるであろう。(例えば、行動設計ユーザインタフェースを介した)1つの入力は、単一の運動よりむしろキャラクタの全体的な行動への補正を生じさせ、このようにして少量のユーザ入力を活用する。これは、その入力から感情/個人内部(intra−personal)パラメータを推論することによって容易に達成される。アバターの感情のより直接的な入力は現在のグラフィックチャットシステムで使用される「感情」を通して行われる。これらは直接的にグローバルパラメータを設定できる。
【0148】
本発明の別の実施形態は、ユーザの運動によって提供される入力をさらに含むことによって前記実施形態を拡張する。例えば、家庭用コンピュータは多くの場合、行動コントローラに、ユーザの状態を推論するために使用される入力を提供する特殊化された出力ノードを通して顔の追跡調査を実行するように装置できる安価なビデオカメラを有している。
【0149】
前述された本発明の実施形態により、ユーザは、彼らがそのアバターのプロファイルを編集できるようにすることによりそのアバターの行動をカスタマイズできる。エンドユーザの場合、これは可能な限りユーザフレンドリな方法で行われなければならず、図1Aから図2Eに図示される実施形態は、行動設計ユーザインタフェースにより提供されるスライダの集合を使用して形容詞を編集することに特に適している。
【0150】
本発明には、チャットルームのための方法に類似した方法で実現できる国際アバター会議を含む多くの応用例がある。このケースでは、特に商談のために参加者の実際の身体言語を捕捉することはさらに重要である。これは、ユーザの高品質顔追跡調査を含むより精密な身体追跡調査システムを有することによって実行できるであろう。声のトーンなどの他の合図もユーザの状態を推論するために使用できるであろう。行動コントローラのフレームワークは、各ユーザの行動が正しく推論されることを確実にするために、さらに複雑化できる。
【0151】
(行動変換)
ここに前述された推論方式により、異なる文化的な行動の間で変換する能力を含むように行動コントローラの応用例を拡大する仮想エージェントつまりアバターの内部状態のモデルを決定できる。例えば、アバターがウェブミーティングなどのオンライン環境における異なる文化背景のユーザと対話するユーザのための個人的な仮想エージェントとして機能しているケースでは、ユーザの実際の移動及び感情を直接的に表現する能力は望ましくない可能性がある。
【0152】
本発明のこのような実施形態は、入力段階又は出力段階どちらかで行動コントローラによって行動を変換することを含むように修正されてよい。これは、一方の文化に対応する行動フレームワークを使用して外部出力を生成し、他方の文化に対応する別のフレームワークを使用してこの外部出力から行動を作成し直すことによって達成できるであろう。それ以外の場合、2つのフレームワークは同じとなるであろうが、さまざまな文化に対応するさまざまなプロファイルを使用できるであろう。
【0153】
これは、また、第1の文化に対応する行動アクションに関連付けられる行動コントローラによって受け取られる入力を、第2の異なる文化における同等な行動アクションに関連付けられる入力に最初に変換できるようにする変換要素を含むことによっても達成できる。同様に、第2の文化に従った動作に対応する行動コントローラの出力行動ノードから出力を受け取り、これを第1の文化に変換して戻す変換要素を実現することが可能である。
【0154】
変換要素は、ある文化から別の文化に身体言語の変換を実現するためにコントローラ内で設けることができる。これを達成できる1つの機構は、異なる文化事情で異なる身体言語を生成するために異なるプロファイルとともに使用される1つの身体言語の意味を表す高水準パラメータによってである。これは、他の観察者が参加者のアバターの身体言語を独自の文化で知覚することを確実にするであろう。したがって特定の行動は文化Aの観察者によってシステムに入力され、文化Aに対応するプロファイルによって親しみやすい行動として解釈されるであろう。親しみやすさパラメータは、次に文化Bに対応するプロファイルを含む機械で機械集合に渡されるであろう。この機械は異なる行動であるが、文化Bにおける親しみやすさの意味を有するものを生成するであろう。
【0155】
コンピュータゲーム環境で使用するために構成される本発明の実施形態では、過剰な身体言語が生成でき、自分達のキャラクタのためのユーザコマンド、つまりそのキャラクタの内部状態がどうであるのかからも推論される。ユーザ入力は多くの方法で実行することができ、例えば、前述されたように、ユーザはキャラクタの姿勢を直接的に操作できるであろう。代わりに、さらに大規模な行動は、誰かに話し掛けるかどうか又は選ばれた言葉に関わらず、例えばアクションの推論に使用することができる。行動フレームワークのためのグローバルパラメータが推論されると、ゲームのキャラクタをこれらに反応させることができる。有利なことに、本発明は、ゲーム設計者が強力であるが直感的なツールを使用してキャラクタの行動の設計を細かく制御できるようにする行動設計ツールを提供する。
【0156】
オブジェクトが役割を果たす必要がある本発明の実施形態では、ユーザが設計インタフェースを使用して作成するプロファイルは、行動が役割に適切であること、及び内部状態の推論が、その行動が推論されるオブジェクトの役割を反映することを確実にするために使用できる。
【0157】
(ロボット利用応用例)
前述された実施形態は特に仮想環境に関連しているが、複雑な継続している行動を生成できる行動コントローラとのインタフェースをとるためにユーザに単純な入力装置を提供するという概念は現実世界、特にロボット利用玩具に応用例を有する。したがって、本発明の他の実施形態は、ユーザが、ロボットオブジェクトの複雑な動作、特におもちゃの人形などの特に関節のあるロボット的なオブジェクトで複雑な行動を生成するための単純な機構を提供する。
【0158】
このような実施形態は、行動プロファイルに指定された直感的なラベルの操作だけを必要とする一方、例えば子供が精密なキャラクタをロボット利用のペット又は玩具に提供できるようにする。このような応用例では、行動設計ユーザインタフェースはリモコン制御型装置として提供されてよい。行動制御情報は次にロボット装置による適切な処置を指示するために無線で提供できる。行動コントローラは、動画指示がロボット装置にだけ伝送されるインタフェースデバイスの一部、又はロボット装置自体の一部又は次に行動指示をロボット装置に中継するプロキシ装置の一部のどちらかとして提供されてよい。
【0159】
本発明の他の実施形態において、製造又は生産ラインの状況で使用されるロボット装置は、ここに説明されているような階層行動モデルフレームワークを使用して同様にその行動を制御することを必要とし、行動設計ユーザインタフェースは、ロボット利用装置が実行しなければならないタスクに応じてさらに特殊な役割をする行動オプションを提示してよい。このようなロボット装置はその状況に応じて、結線接続又は無線接続のどちらかで遠隔制御されてよい。水中用の環境では海中ロボットが無線通信リンク及び/又は有線通信リンクを必要としてよいのに対し、例えば、生産ラインでは、ロボット利用装置は有線通信リンクを介して制御されてよい。
【0160】
有利なことに、本発明は、ロボットオブジェクトが、ユーザによるリアルタイム制御を必要とする何らかのレベルの自律的/半自律的な行動によりスピードが重視されるタスクを実行しなければならない応用例で特に重要である、複雑なロボット行動に優る使用が簡単な行動設計インタフェースを提供する。
【0161】
本発明がハードウェア及び/又はソフトウェアの適切な組み合わせによって実現でき、ハードウェアとソフトウェアの前記組み合わせが前述された特定の区分によって限定されることを目的としないことが当業者に明らかになるであろう。さらに、本発明が1つ又は複数の装置で実行中の1つ又は複数のコンピュータプログラムのセットで実現されることが可能である。装置は通信網全体で分散されてよい。
【0162】
仮想環境におけるエンティティの行動が前記仮想環境内の1つ又は複数の他のエンティティの存在により影響を及ぼされている本発明の実施形態では、他の仮想エンティティの総計的な影響を判断し、前記総計的な影響を、そのとき影響を受けているエンティティの行動コントローラに対する高水準入力として使用することが可能であることも当業者に明らかになるであろう。これは、たとえアバターに影響を与えている仮想環境内の他のエンティティの1つ又は複数の、あるいはすべてが、その行動が影響を受けているアバターの観察者にとって存在しない場合にも発生する場合がある。例えば、アバターが他のエンティティのグループを教えており、前記他のエンティティが彼らがその行動により飽きていることを示す場合、教示を行っているアバターはさらに動画化された行動を採用する、及び/又は自律的にその視聴者の関心を引き上げるために自分たちのトーンの変形物及び大きさを増やす可能性がある。これにより、ユーザは、たとえスピーカが自分の仮想視聴者のすべてをじかに観察できない場合にも、例えばオンライン会議での関心を維持することができる。通常、総計的な影響は、その行動が影響を受けているエンティティの行動コントローラへの入力として処理された出力を提供する前に、処理方式に従って他のエンティティの行動コントローラによって提供される出力を処理することにより決定するであろう。例えば、他のエンティティの内の1つ又は複数により提供される出力ごとの平均パラメータ値は、その行動が他のエンティティによって影響を受けているエンティティの行動コントローラへの入力として使用される前に(すべてのエンティティが特定のパラメータ値に寄与することはできないが)決定されてよい。
【0163】
要約書の本文は以下に説明の一部として再現される。
【0164】
階層行動フレームワークは関節のあるオフジェクトにおける自律的及び半自律的な行動を生成し、制御するために使用される。行動コントローラは行動アクションに関連付けられる入力を受け取り、フレームワークを使用して複数の行動パラメータ値を推論し、同等な行動に対応する出力を生成するために行動コントローラにロードされるときにパラメータ値を使用して関節のあるオブジェクト内で同等な行動を生成するように構成される。同等な行動は入力された行動アクションを再現する、及び/又は同時にあるいはアクションのシーケンスの一部として実行されてよい1つ又は複数の他の行動アクションを含んでよい。
【図面の簡単な説明】
【0165】
【図1A】本発明の第1の実施形態を概略して示す図である。
【図1B】図1Aに図示される行動設計ユーザインタフェースの拡大図を概略して示す図である。
【図2A】図1Aに示されるような両方のアバターの中立の姿勢をさらに詳細に示す図である。
【図2B】ビル(Bill)アバターが高い男っぽさを有するときの2つのアバターの姿勢を示す図である。
【図2C】ビルアバターが高い軽薄さを有するときの2つのアバターの姿勢を示す図である。
【図2D】ビルアバターが低い軽薄さを有するときの2つのアバターの姿勢を示す図である。
【図2E】ボブ(BOB)アバターが高いレベルのputUponと傾聴と低いレベルのdomSubを有するときの2つのアバターの姿勢を示す図である。
【図3】本発明による行動アーキテクチャの概略概要を示す図である。
【図4】本発明のある実施態様による行動モデルの階層を示す図である。
【図5】本発明の実施形態によるオブジェクトのための行動コントローラの単純化したフレームワークの概略図である。
【図6】図5と図7に示されるようなアーキテクチャのフレームワーク内の行動ノードの概略図である。
【図7】本発明の別の態様によるオブジェクトのための、図5に示されるものよりさらに精密な行動コントローラ用フレームワークの概略図である。
【図8】本発明によるオブジェクト内で行動を生成する方法でリアルタイムステップと、オフラインプロファイル、及び形容詞設計を概略して示す流れ図である。
【図9A】行動フレームワークがどのようにして本発明による同等な行動を生成するのかを示す流れ図である。
【図9B】行動コントローラの特殊な行動パラメータに指定される値を指定し直すためにユーザがどのようにしてアバターの体を操作できるのかを示す流れ図である。
【特許請求の範囲】
【請求項1】
行動コントローラの制御下でオブジェクトのために行動を生成する方法であって、
1つ又は複数の行動アクションと関連付けられる入力を受け取るステップと、
前記オブジェクトによる行動を生成するように構成される行動フレームワークに従い前記入力から複数の行動パラメータを推論するステップと、
前記推論した複数の行動パラメータ値から出力を引き出すステップと、
前記パラメータ値から引き出される前記出力を使用して前記オブジェクトによる同等な行動を生成するステップと、
を備える、方法。
【請求項2】
前記フレームワークは内部的に柔軟な構造を有する、請求項1に記載の方法。
【請求項3】
前記フレームワークは行動ノードの階層を備える、請求項2に記載の方法。
【請求項4】
前記フレームワークは動的に柔軟である、請求項2又は3に記載の方法。
【請求項5】
受け取った入力が複数の行動アクションと関連付けられ、推論した各パラメータ値が前記複数の行動アクション入力の組み合わせにより決定される、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記入力は行動アクションを生成する出力と直接的に関連付けられる少なくとも1つの行動パラメータ値の集合を含み、推定するステップでは、追加の出力が行動アクションに同等な行動を生成するために引き出される、少なくとも1つ又は複数の他の行動パラメータ値が推論される、請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記フレームワークは複数のノードを備え、前記オブジェクトの特徴を修正する出力を提供するために、関数と関連付けられている各ノードが1つ又は複数のパラメータ値に作用する、請求項1から6のいずれか1項に記載の方法。
【請求項8】
1つ又は複数の行動パラメータ値に作用する関数によって生じる出力が、前記行動を生成するために動画システムに入力を提供する、請求項7に記載の方法。
【請求項9】
前記関数は、前記ノードに一意に指定される少なくとも1つの行動パラメータ値に作用する、請求項7に記載の方法。
【請求項10】
前記関数は、前記フレームワークの任意のノードによる使用のために入手可能なグローバルパラメータ値である少なくとも1つの行動パラメータ値に作用する、請求項7に記載の方法。
【請求項11】
前記グローバルパラメータ値は前記オブジェクトのムード状態と関連付けられ、前記フレームワークのノードの前記出力により提供される前記オブジェクトの前記行動の前記特徴が、前記オブジェクトの前記ムードを示すために修正される、請求項10に記載の方法。
【請求項12】
前記ノードは、前記オブジェクトの前記行動の前記特徴に影響を及ぼす個性特色に関連付けられる内部パラメータ値に作用する関数を使用して入力から出力を生成する、請求項9に記載の方法。
【請求項13】
前記入力は前記フレームワークの出力ノードで受け取られ、前記受け取った入力が前記行動アクションを生成する出力と直接的に関連付けられる1つ又は複数のパラメータ値の集合を備え、追加パラメータ値を推論するステップにおいて、前記フレームワークの前記内部ノードについて追加の複数の行動パラメータ値を推論するために、逆転マッピングがすでに決定されたパラメータ値の前記集合から実行される、請求項7に従属するときの請求項9から12のいずれか1項に記載の方法。
【請求項14】
入力を受け取るステップにおいて、入力が前記フレームワークのグローバルパラメータノードで受け取られ、前記ネットワークの前記ノードは、1つ又は複数の他のノードに対する前記受け取った入力を、前記フレームワークの前記1つ又は複数のノードのために複数の行動パラメータ値を推論するためにマップする、請求項1から13のいずれか1項に記載の方法。
【請求項15】
前記オブジェクトにおける同等な行動を生成するステップにおいて、前記同等な行動は関節のあるオブジェクトで生成される、請求項1に記載の方法。
【請求項16】
前記オブジェクト内で同等な行動を生成するステップにおいて、前記同等な行動は顔の表情の豊かな行動を含む、請求項1から15のいずれか1項に記載の方法。
【請求項17】
前記オブジェクトによる前記同等な行動は所定のシーケンスで実行される複数の行動アクションを含む、請求項1から16のいずれか1項に記載の方法。
【請求項18】
前記オブジェクトによる前記同等な行動は無作為な順序で実行される複数の行動アクションを含む、請求項17に記載の方法。
【請求項19】
前記行動アクションはある期間に渡って実行される、請求項16又は17に記載の方法。
【請求項20】
前記複数の行動アクションの1つ又は複数が同時に実行される、請求項16又は17に記載の方法。
【請求項21】
前記行動は、視線方向、四肢の動き、発話、スタンスを含むグループから取られる行動アクションを含む、請求項1から20のいずれか1項に記載の方法。
【請求項22】
前記受け取った入力は、人間ユーザによる前記オブジェクトの直接的な操作により誘発された前記オブジェクトの行動アクションから引き出される、請求項1から21のいずれか1項に記載の方法。
【請求項23】
前記受け取った入力は前記オブジェクトと対話する1つ又は複数の他のオブジェクトによる行動アクションから引き出される、請求項1から22のいずれか1項に記載の方法。
【請求項24】
前記オブジェクトは仮想環境で動作する仮想オブジェクトであり、前記受け取った入力は前記仮想環境の前記オブジェクトと対話する1つ又は複数の他の関節のある仮想オブジェクトにより行動アクションから引き出される、請求項23に記載の方法。
【請求項25】
前記1つ又は複数の他のオブジェクトのそれぞれから引き出される前記複数の入力が所定の処理方式に従って処理され、前記処理の前記結果が前記複数の行動パラメータ値を推論するために使用される、請求項23又は24に記載の方法。
【請求項26】
前記処理方式は前記複数の入力のそれぞれの平均を決定する、請求項25に記載の方法。
【請求項27】
前記受け取った入力は前記行動コントローラのユーザによって実行される行動アクションと関連付けられる入力を含む、請求項1から26のいずれか1項に記載の方法。
【請求項28】
前記方法は、入力として受け取られる行動アクションを文化的に同等な行動アクションに変換し、前記文化的に同等な行動アクションに同等な行動を生成するステップをさらに含む、請求項1から27のいずれか1項に記載の方法。
【請求項29】
関節のあるオブジェクトの前記行動を制御する方法であり、
前記方法は、
前記オブジェクトの行動コントローラに入力を提供するように構成される行動設計インタフェースを使用して前記オブジェクトの行動特徴と関連付けられる行動パラメータ集合に値を指定し、それぞれの前記行動パラメータ集合が前記行動特徴に影響を及ぼす少なくとも1つのパラメータを含むステップと、
行動プロファイルにより定められるデフォルト値を用いて前記指定値に対して関数を実行することにより得られるパラメータ値と、前記パラメータ集合の中の各パラメータを関連付けるステップと、
前記オブジェクトのための前記コントローラに前記パラメータ値を入力し、前記入力から、前記行動コントローラによって生成される出力を推論するステップと、
前記出力を前記オブジェクトによる行動アクションと関連付けるステップと、
前記オブジェクトに前記行動アクションを実行させるステップと、
を含む、方法。
【請求項30】
前記関数は恒等関数である、請求項29に記載の方法。
【請求項31】
オブジェクトを、その行動を制御するために直接的に操作する方法であって、
行動アクションを実行するために前記オブジェクトを操作するステップと、
前記行動アクションを表す入力を行動フレームワークの出力ノードに提供し、前記出力ノードが、前記オブジェクトによる同等な行動を生成するために使用される出力を提供するようにも構成されるステップと、
前記フレームワークの他の行動ノードのために少なくとも1つのパラメータ値の集合を引き出すために前記フレームワーク内で前記行動フレームワークの前記出力ノードにより受け取られる前記入力をマップするステップと、
前記オブジェクトによる他の同等な行動を生成する出力値の集合を、引き出された少なくとも1つのパラメータ値の前記集合から推論するステップと、
を含む、方法。
【請求項32】
前記オブジェクトのための行動コントローラのために複数の内部パラメータ値を推論する方法であって、
行動アクションを表す入力を受け取るステップと、
前記オフジェクトによる同等な行動アクションに対応する少なくとも1つの出力値の集合を前記受け取った入力から推論するステップと、
少なくとも1つの出力値の前記集合からそれぞれの前記複数の内部パラメータのための値を推論し、それぞれの前記複数の内部パラメータのために推論された前記値が、前記同等な行動アクションに同等な行動を生じさせる前記行動コントローラによる出力を生じさせるステップと、
を含む、方法。
【請求項33】
オブジェクト内で行動を生成する方法であって、請求項32に記載の前記方法に従ってオブジェクトのための行動コントローラのために複数のパラメータ値を推論することを含み、
前記推論した複数のパラメータ値を使用して前記同等な行動と関連付けられる出力値の前記集合を生成することと、
前記関節のあるオブジェクトに前記行動を実行させることと、
をさらに含む、方法。
【請求項34】
ノードのフレームワークを備える行動コントローラの制御下でオブジェクト内で行動を生成する方法であって、
少なくとも1つのノードが行動アクションと関連付けられる入力を受け取るステップと、
それぞれの前記少なくとも1つのノードが受け取った入力を出力にマップするステップと、
前記出力を使用して前記フレームワーク内の他のノードのための複数の行動パラメータ値を推論するステップと、
前記オブジェクトによる同等な行動を生成する前記行動コントローラによる出力を提供するために前記推論した行動パラメータ値を使用して前記受け取った入力をマップするステップと、
を含む、方法。
【請求項35】
行動コントローラの制御下でオブジェクト内で行動を生成する方法であって、
行動アクションに関連付けられる入力を受け取るステップと、
前記オブジェクトによる同等な行動に対応する少なくとも1つの出力値の集合に前記受け取った入力をマップするステップと、
前記オブジェクトによる行動を生成するように構成される行動フレームワークに従って少なくとも1つの出力値の前記集合から複数の行動パラメータ値を推論するステップと、
前記パラメータ値を使用して前記オブジェクト内で、前記行動コントローラにこれらをロードすることによって同等な行動を生成するステップと、
を含む、方法。
【請求項36】
前記行動フレームワークの前記パラメータが推論され、時間依存性である、請求項1から35のいずれか1項に記載の方法。
【請求項37】
推論した前記パラメータ値は時間依存性である、請求項1から36のいずれか1項に記載の方法。
【請求項38】
前記オブジェクトの前記行動は、行動アクションに関連付けられる入力を受け取ることに応えてリアルタイムで生成される、請求項1から37のいずれか1項に記載の方法。
【請求項39】
前記オブジェクトは仮想環境で提供される仮想オブジェクトである、請求項1から38のいずれか1項に記載の方法。
【請求項40】
前記オブジェクトはロボットオブジェクトである、請求項1から39のいずれか1項に記載の方法。
【請求項41】
前記オブジェクトは、
本物の玩具、
ゲームの中のキャラクタ、
アバター、
から構成されるオブジェクトの前記グループから選択される、請求項1から40のいずれか1項に記載の方法。
【請求項42】
オブジェクト内で行動を生成するように構成される行動コントローラであって、
行動アクションと関連付けられる入力を受信するための手段と、
前記オブジェクトによる行動を生成するように構成される行動フレームワークに従って前記入力から複数の行動パラメータ値を推論するための手段と、
前記推論した複数の行動パラメータ値から出力を引き出すための手段と、
前記パラメータ値から引き出される前記出力を使用して前記オブジェクトによる同等な行動を生成するための手段と、
を備える、コントローラ。
【請求項43】
同等な行動を生成するための前記手段は、前記適切な行動を前記オブジェクトにより動画化させるように前記出力に作用するように構成される動画化システムに、前記パラメータ値から引き出される前記出力を送るための手段を備える、請求項42に記載の行動コントローラ。
【請求項44】
前記受け取る手段は、前記オブジェクトの前記行動フレームワークにとって外部のソースからの少なくとも1つのパラメータ値を入力として受け取るための手段を含む、請求項42又は43に記載の行動コントローラ。
【請求項45】
複数の行動パラメータ値を推論するための前記手段はノードのフレームワークを備え、それぞれの行動ノードが少なくとも1つの出力パラメータ値に少なくとも1つの入力パラメータ値をマップするように構成される、請求項42から44のいずれか1項に記載の行動コントローラ。
【請求項46】
少なくとも1つのノードが、前記行動フレームワーク内のノードごとに定められるパラメータと、前記行動フレームワークの各ノード内で定められるパラメータと、前記行動フレームワークの外部で定められるパラメータを含む前記グループから採取される少なくとも1つのパラメータ値をマップするように構成される、請求項45に記載の行動コントローラ。
【請求項47】
入力を受け取るための前記手段は、行動設計インタフェースから入力を受け取るように構成され、前記行動設計インタフェースは、
前記オフジェクトの前記行動フレームワークに従って定められる少なくとも1つの行動パラメータを含む行動パラメータ集合への値の前記指定を可能にするように構成される手段と、
前記内部パラメータの前記値を決定するために所定の関数により前記行動パラメータ集合に指定される前記値に作用するように構成される手段と、
を備える、請求項42から46のいずれか1項に記載の行動設計インタフェース。
【請求項48】
前記オブジェクトは、仮想環境内で動作するように構成される仮想オブジェクトである、請求項42から47のいずれか1項に記載の行動コントローラ。
【請求項49】
前記行動コントローラからの出力は、別のオブジェクトの行動コントローラによる入力として受け取られるために適した形式で提供される、請求項42から48のいずれか1項に記載の行動コントローラ。
【請求項50】
前記行動コントローラは、第1の文化に一致する行動から引き出される受け取った入力を、第2の文化と一致する入力にマップするための変換要素をさらに備える、請求項42から50のいずれか1項に記載の行動コントローラ。
【請求項51】
前記行動コントローラは、第1の所定の文化と一致する行動出力を第2の所定の文化と一致する行動出力にマップするための変換要素をさらに備える、請求項42から50のいずれか1項に記載の行動コントローラ。
【請求項52】
前記オブジェクトは、
仮想コンピュータゲーム、仮想オンライン会議、オンラインゲーム、オンラインチャットルーム、アバターが主催する会議、アバターカウンセリング会議、アバターをベースにした仲介環境、アバターをベースにした販売環境、オンライン協力環境、オンライカスタマ関係管理環境、
から構成される、仮想環境の前記グループの内の任意の1つから取られる仮想環境内で動作するように構成される仮想オブジェクトである、
請求項42から51のいずれか1項に記載の行動コントローラ。
【請求項53】
入力を受け取るように構成される前記手段は、前記行動アクションを生成する出力と直接的に関連つけられる少なくとも1つの行動パラメータの集合を含む入力を受け取るように構成され、推論するための前記手段は、前記行動アクションに同等な行動を生成するために追加出力が引き出される少なくとも1つ又は複数の他の行動パラメータ値を推論するように構成される、請求項42から52のいずれか1項に記載の行動コントローラ。
【請求項54】
入力を受け取るように構成される前記手段は、前記オブジェクトの直接的な操作に対応する出力と直接的に関連付けられる少なくとも1つの行動パラメータ値の集合を含む入力を受け取る、請求項53に記載の行動コントローラ。
【請求項55】
ユーザが前記装置に前記入力を提供する、請求項42から54のいずれか1項に記載の行動コントローラ。
【請求項56】
ソフトウェアエージェントが前記装置に前記入力を提供する、請求項42から55のいずれか1項に記載の行動コントローラ。
【請求項57】
行動設計インタフェースであって、
行動パラメータ集合への値の前記指定を可能にするように構成された手段であって、前記パラメータ集合は前記オブジェクトの行動特徴と関連付けられる少なくとも1つのパラメータ値を含み、前記インタフェースを使用して指定される前記値は、請求項42から56のいずれか1項に記載の前記行動コントローラに入力として提供される手段と、
を備える、行動設計インタフェース。
【請求項58】
1組の少なくとも1つのコンピュータプログラムがその上に記憶されるように構成される装置であって、少なくとも1つのコンピュータプログラムの前記1組は、前記装置を請求項42から56のいずれか1項に記載の行動コントローラとして機能させるように前記装置で実行可能である、装置。
【請求項59】
1組の少なくとも1つのコンピュータプログラムがその上に記憶されるように構成される装置であって、少なくとも1つのコンピュータプログラムの前記1組は、前記装置を請求項57に記載の行動設計インタフェースとして機能させるように前記装置で実行可能である、装置。
【請求項60】
互いと通信できるように構成される複数のコンピュータ型装置を備えるネットワークであって、前記装置の内の少なくとも1台が請求項58又は59に記載の装置を備え、前記他の装置は、前記他の装置の環境内で動作するオブジェクトが前記1組の少なくとも1つのコンピュータプログラムによって制御できるようにするために、前記1組の少なくとも1つのコンピュータプログラムに遠隔でアクセスするように構成される、ネットワーク。
【請求項61】
1台又は複数台のコンピュータに、請求項1から41のいずれか1項に記載の方法のいずれか1つを実行させるための命令の集合を備える、コンピュータプログラム又は1組のコンピュータプログラムを備える、コンピュータプログラム製品。
【請求項62】
コンピュータプログラムをその上に記憶させるように構成される装置であって、前記コンピュータプログラムは、前記装置に、請求項1から41のいずれか1項に記載の方法で1つ又は複数のステップを実行させるように前記装置で実行可能である、装置。
【請求項63】
複数の仮想オブジェクトが仮想環境に参加する1人又は複数人のユーザの観察の下で対話するように構成される仮想環境であって、前記仮想環境の中の前記複数の仮想オブジェクトのそれぞれ1つが前記仮想環境の中の前記他の仮想オブジェクトの1つ又は複数の前記行動アクションの1つ又は複数から引き出される1つ又は複数の入力を使用して、行動システムを使用して生成される半自律的な行動を表示する、仮想環境。
【請求項64】
前記仮想環境に参加する各ユーザが、前記行動システムに入力を提供することにより生成される前記半自律的な行動を制御できる、請求項64に記載の仮想環境。
【請求項65】
請求項64に記載の前記仮想環境をサポートするように構成され、前記入力を提供するために前記仮想環境に参加する前記1人又は複数のユーザのための手段を提供する、プラットホーム。
【請求項66】
前記ユーザは表示される行動設計インタフェースを介して前記入力を提供し、前記受け取った入力は前記行動システムにより生成される前記行動を制御するように構成される行動コントローラによって処理される、請求項65に記載のプラットホーム。
【請求項1】
行動コントローラの制御下でオブジェクトのために行動を生成する方法であって、
1つ又は複数の行動アクションと関連付けられる入力を受け取るステップと、
前記オブジェクトによる行動を生成するように構成される行動フレームワークに従い前記入力から複数の行動パラメータを推論するステップと、
前記推論した複数の行動パラメータ値から出力を引き出すステップと、
前記パラメータ値から引き出される前記出力を使用して前記オブジェクトによる同等な行動を生成するステップと、
を備える、方法。
【請求項2】
前記フレームワークは内部的に柔軟な構造を有する、請求項1に記載の方法。
【請求項3】
前記フレームワークは行動ノードの階層を備える、請求項2に記載の方法。
【請求項4】
前記フレームワークは動的に柔軟である、請求項2又は3に記載の方法。
【請求項5】
受け取った入力が複数の行動アクションと関連付けられ、推論した各パラメータ値が前記複数の行動アクション入力の組み合わせにより決定される、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記入力は行動アクションを生成する出力と直接的に関連付けられる少なくとも1つの行動パラメータ値の集合を含み、推定するステップでは、追加の出力が行動アクションに同等な行動を生成するために引き出される、少なくとも1つ又は複数の他の行動パラメータ値が推論される、請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記フレームワークは複数のノードを備え、前記オブジェクトの特徴を修正する出力を提供するために、関数と関連付けられている各ノードが1つ又は複数のパラメータ値に作用する、請求項1から6のいずれか1項に記載の方法。
【請求項8】
1つ又は複数の行動パラメータ値に作用する関数によって生じる出力が、前記行動を生成するために動画システムに入力を提供する、請求項7に記載の方法。
【請求項9】
前記関数は、前記ノードに一意に指定される少なくとも1つの行動パラメータ値に作用する、請求項7に記載の方法。
【請求項10】
前記関数は、前記フレームワークの任意のノードによる使用のために入手可能なグローバルパラメータ値である少なくとも1つの行動パラメータ値に作用する、請求項7に記載の方法。
【請求項11】
前記グローバルパラメータ値は前記オブジェクトのムード状態と関連付けられ、前記フレームワークのノードの前記出力により提供される前記オブジェクトの前記行動の前記特徴が、前記オブジェクトの前記ムードを示すために修正される、請求項10に記載の方法。
【請求項12】
前記ノードは、前記オブジェクトの前記行動の前記特徴に影響を及ぼす個性特色に関連付けられる内部パラメータ値に作用する関数を使用して入力から出力を生成する、請求項9に記載の方法。
【請求項13】
前記入力は前記フレームワークの出力ノードで受け取られ、前記受け取った入力が前記行動アクションを生成する出力と直接的に関連付けられる1つ又は複数のパラメータ値の集合を備え、追加パラメータ値を推論するステップにおいて、前記フレームワークの前記内部ノードについて追加の複数の行動パラメータ値を推論するために、逆転マッピングがすでに決定されたパラメータ値の前記集合から実行される、請求項7に従属するときの請求項9から12のいずれか1項に記載の方法。
【請求項14】
入力を受け取るステップにおいて、入力が前記フレームワークのグローバルパラメータノードで受け取られ、前記ネットワークの前記ノードは、1つ又は複数の他のノードに対する前記受け取った入力を、前記フレームワークの前記1つ又は複数のノードのために複数の行動パラメータ値を推論するためにマップする、請求項1から13のいずれか1項に記載の方法。
【請求項15】
前記オブジェクトにおける同等な行動を生成するステップにおいて、前記同等な行動は関節のあるオブジェクトで生成される、請求項1に記載の方法。
【請求項16】
前記オブジェクト内で同等な行動を生成するステップにおいて、前記同等な行動は顔の表情の豊かな行動を含む、請求項1から15のいずれか1項に記載の方法。
【請求項17】
前記オブジェクトによる前記同等な行動は所定のシーケンスで実行される複数の行動アクションを含む、請求項1から16のいずれか1項に記載の方法。
【請求項18】
前記オブジェクトによる前記同等な行動は無作為な順序で実行される複数の行動アクションを含む、請求項17に記載の方法。
【請求項19】
前記行動アクションはある期間に渡って実行される、請求項16又は17に記載の方法。
【請求項20】
前記複数の行動アクションの1つ又は複数が同時に実行される、請求項16又は17に記載の方法。
【請求項21】
前記行動は、視線方向、四肢の動き、発話、スタンスを含むグループから取られる行動アクションを含む、請求項1から20のいずれか1項に記載の方法。
【請求項22】
前記受け取った入力は、人間ユーザによる前記オブジェクトの直接的な操作により誘発された前記オブジェクトの行動アクションから引き出される、請求項1から21のいずれか1項に記載の方法。
【請求項23】
前記受け取った入力は前記オブジェクトと対話する1つ又は複数の他のオブジェクトによる行動アクションから引き出される、請求項1から22のいずれか1項に記載の方法。
【請求項24】
前記オブジェクトは仮想環境で動作する仮想オブジェクトであり、前記受け取った入力は前記仮想環境の前記オブジェクトと対話する1つ又は複数の他の関節のある仮想オブジェクトにより行動アクションから引き出される、請求項23に記載の方法。
【請求項25】
前記1つ又は複数の他のオブジェクトのそれぞれから引き出される前記複数の入力が所定の処理方式に従って処理され、前記処理の前記結果が前記複数の行動パラメータ値を推論するために使用される、請求項23又は24に記載の方法。
【請求項26】
前記処理方式は前記複数の入力のそれぞれの平均を決定する、請求項25に記載の方法。
【請求項27】
前記受け取った入力は前記行動コントローラのユーザによって実行される行動アクションと関連付けられる入力を含む、請求項1から26のいずれか1項に記載の方法。
【請求項28】
前記方法は、入力として受け取られる行動アクションを文化的に同等な行動アクションに変換し、前記文化的に同等な行動アクションに同等な行動を生成するステップをさらに含む、請求項1から27のいずれか1項に記載の方法。
【請求項29】
関節のあるオブジェクトの前記行動を制御する方法であり、
前記方法は、
前記オブジェクトの行動コントローラに入力を提供するように構成される行動設計インタフェースを使用して前記オブジェクトの行動特徴と関連付けられる行動パラメータ集合に値を指定し、それぞれの前記行動パラメータ集合が前記行動特徴に影響を及ぼす少なくとも1つのパラメータを含むステップと、
行動プロファイルにより定められるデフォルト値を用いて前記指定値に対して関数を実行することにより得られるパラメータ値と、前記パラメータ集合の中の各パラメータを関連付けるステップと、
前記オブジェクトのための前記コントローラに前記パラメータ値を入力し、前記入力から、前記行動コントローラによって生成される出力を推論するステップと、
前記出力を前記オブジェクトによる行動アクションと関連付けるステップと、
前記オブジェクトに前記行動アクションを実行させるステップと、
を含む、方法。
【請求項30】
前記関数は恒等関数である、請求項29に記載の方法。
【請求項31】
オブジェクトを、その行動を制御するために直接的に操作する方法であって、
行動アクションを実行するために前記オブジェクトを操作するステップと、
前記行動アクションを表す入力を行動フレームワークの出力ノードに提供し、前記出力ノードが、前記オブジェクトによる同等な行動を生成するために使用される出力を提供するようにも構成されるステップと、
前記フレームワークの他の行動ノードのために少なくとも1つのパラメータ値の集合を引き出すために前記フレームワーク内で前記行動フレームワークの前記出力ノードにより受け取られる前記入力をマップするステップと、
前記オブジェクトによる他の同等な行動を生成する出力値の集合を、引き出された少なくとも1つのパラメータ値の前記集合から推論するステップと、
を含む、方法。
【請求項32】
前記オブジェクトのための行動コントローラのために複数の内部パラメータ値を推論する方法であって、
行動アクションを表す入力を受け取るステップと、
前記オフジェクトによる同等な行動アクションに対応する少なくとも1つの出力値の集合を前記受け取った入力から推論するステップと、
少なくとも1つの出力値の前記集合からそれぞれの前記複数の内部パラメータのための値を推論し、それぞれの前記複数の内部パラメータのために推論された前記値が、前記同等な行動アクションに同等な行動を生じさせる前記行動コントローラによる出力を生じさせるステップと、
を含む、方法。
【請求項33】
オブジェクト内で行動を生成する方法であって、請求項32に記載の前記方法に従ってオブジェクトのための行動コントローラのために複数のパラメータ値を推論することを含み、
前記推論した複数のパラメータ値を使用して前記同等な行動と関連付けられる出力値の前記集合を生成することと、
前記関節のあるオブジェクトに前記行動を実行させることと、
をさらに含む、方法。
【請求項34】
ノードのフレームワークを備える行動コントローラの制御下でオブジェクト内で行動を生成する方法であって、
少なくとも1つのノードが行動アクションと関連付けられる入力を受け取るステップと、
それぞれの前記少なくとも1つのノードが受け取った入力を出力にマップするステップと、
前記出力を使用して前記フレームワーク内の他のノードのための複数の行動パラメータ値を推論するステップと、
前記オブジェクトによる同等な行動を生成する前記行動コントローラによる出力を提供するために前記推論した行動パラメータ値を使用して前記受け取った入力をマップするステップと、
を含む、方法。
【請求項35】
行動コントローラの制御下でオブジェクト内で行動を生成する方法であって、
行動アクションに関連付けられる入力を受け取るステップと、
前記オブジェクトによる同等な行動に対応する少なくとも1つの出力値の集合に前記受け取った入力をマップするステップと、
前記オブジェクトによる行動を生成するように構成される行動フレームワークに従って少なくとも1つの出力値の前記集合から複数の行動パラメータ値を推論するステップと、
前記パラメータ値を使用して前記オブジェクト内で、前記行動コントローラにこれらをロードすることによって同等な行動を生成するステップと、
を含む、方法。
【請求項36】
前記行動フレームワークの前記パラメータが推論され、時間依存性である、請求項1から35のいずれか1項に記載の方法。
【請求項37】
推論した前記パラメータ値は時間依存性である、請求項1から36のいずれか1項に記載の方法。
【請求項38】
前記オブジェクトの前記行動は、行動アクションに関連付けられる入力を受け取ることに応えてリアルタイムで生成される、請求項1から37のいずれか1項に記載の方法。
【請求項39】
前記オブジェクトは仮想環境で提供される仮想オブジェクトである、請求項1から38のいずれか1項に記載の方法。
【請求項40】
前記オブジェクトはロボットオブジェクトである、請求項1から39のいずれか1項に記載の方法。
【請求項41】
前記オブジェクトは、
本物の玩具、
ゲームの中のキャラクタ、
アバター、
から構成されるオブジェクトの前記グループから選択される、請求項1から40のいずれか1項に記載の方法。
【請求項42】
オブジェクト内で行動を生成するように構成される行動コントローラであって、
行動アクションと関連付けられる入力を受信するための手段と、
前記オブジェクトによる行動を生成するように構成される行動フレームワークに従って前記入力から複数の行動パラメータ値を推論するための手段と、
前記推論した複数の行動パラメータ値から出力を引き出すための手段と、
前記パラメータ値から引き出される前記出力を使用して前記オブジェクトによる同等な行動を生成するための手段と、
を備える、コントローラ。
【請求項43】
同等な行動を生成するための前記手段は、前記適切な行動を前記オブジェクトにより動画化させるように前記出力に作用するように構成される動画化システムに、前記パラメータ値から引き出される前記出力を送るための手段を備える、請求項42に記載の行動コントローラ。
【請求項44】
前記受け取る手段は、前記オブジェクトの前記行動フレームワークにとって外部のソースからの少なくとも1つのパラメータ値を入力として受け取るための手段を含む、請求項42又は43に記載の行動コントローラ。
【請求項45】
複数の行動パラメータ値を推論するための前記手段はノードのフレームワークを備え、それぞれの行動ノードが少なくとも1つの出力パラメータ値に少なくとも1つの入力パラメータ値をマップするように構成される、請求項42から44のいずれか1項に記載の行動コントローラ。
【請求項46】
少なくとも1つのノードが、前記行動フレームワーク内のノードごとに定められるパラメータと、前記行動フレームワークの各ノード内で定められるパラメータと、前記行動フレームワークの外部で定められるパラメータを含む前記グループから採取される少なくとも1つのパラメータ値をマップするように構成される、請求項45に記載の行動コントローラ。
【請求項47】
入力を受け取るための前記手段は、行動設計インタフェースから入力を受け取るように構成され、前記行動設計インタフェースは、
前記オフジェクトの前記行動フレームワークに従って定められる少なくとも1つの行動パラメータを含む行動パラメータ集合への値の前記指定を可能にするように構成される手段と、
前記内部パラメータの前記値を決定するために所定の関数により前記行動パラメータ集合に指定される前記値に作用するように構成される手段と、
を備える、請求項42から46のいずれか1項に記載の行動設計インタフェース。
【請求項48】
前記オブジェクトは、仮想環境内で動作するように構成される仮想オブジェクトである、請求項42から47のいずれか1項に記載の行動コントローラ。
【請求項49】
前記行動コントローラからの出力は、別のオブジェクトの行動コントローラによる入力として受け取られるために適した形式で提供される、請求項42から48のいずれか1項に記載の行動コントローラ。
【請求項50】
前記行動コントローラは、第1の文化に一致する行動から引き出される受け取った入力を、第2の文化と一致する入力にマップするための変換要素をさらに備える、請求項42から50のいずれか1項に記載の行動コントローラ。
【請求項51】
前記行動コントローラは、第1の所定の文化と一致する行動出力を第2の所定の文化と一致する行動出力にマップするための変換要素をさらに備える、請求項42から50のいずれか1項に記載の行動コントローラ。
【請求項52】
前記オブジェクトは、
仮想コンピュータゲーム、仮想オンライン会議、オンラインゲーム、オンラインチャットルーム、アバターが主催する会議、アバターカウンセリング会議、アバターをベースにした仲介環境、アバターをベースにした販売環境、オンライン協力環境、オンライカスタマ関係管理環境、
から構成される、仮想環境の前記グループの内の任意の1つから取られる仮想環境内で動作するように構成される仮想オブジェクトである、
請求項42から51のいずれか1項に記載の行動コントローラ。
【請求項53】
入力を受け取るように構成される前記手段は、前記行動アクションを生成する出力と直接的に関連つけられる少なくとも1つの行動パラメータの集合を含む入力を受け取るように構成され、推論するための前記手段は、前記行動アクションに同等な行動を生成するために追加出力が引き出される少なくとも1つ又は複数の他の行動パラメータ値を推論するように構成される、請求項42から52のいずれか1項に記載の行動コントローラ。
【請求項54】
入力を受け取るように構成される前記手段は、前記オブジェクトの直接的な操作に対応する出力と直接的に関連付けられる少なくとも1つの行動パラメータ値の集合を含む入力を受け取る、請求項53に記載の行動コントローラ。
【請求項55】
ユーザが前記装置に前記入力を提供する、請求項42から54のいずれか1項に記載の行動コントローラ。
【請求項56】
ソフトウェアエージェントが前記装置に前記入力を提供する、請求項42から55のいずれか1項に記載の行動コントローラ。
【請求項57】
行動設計インタフェースであって、
行動パラメータ集合への値の前記指定を可能にするように構成された手段であって、前記パラメータ集合は前記オブジェクトの行動特徴と関連付けられる少なくとも1つのパラメータ値を含み、前記インタフェースを使用して指定される前記値は、請求項42から56のいずれか1項に記載の前記行動コントローラに入力として提供される手段と、
を備える、行動設計インタフェース。
【請求項58】
1組の少なくとも1つのコンピュータプログラムがその上に記憶されるように構成される装置であって、少なくとも1つのコンピュータプログラムの前記1組は、前記装置を請求項42から56のいずれか1項に記載の行動コントローラとして機能させるように前記装置で実行可能である、装置。
【請求項59】
1組の少なくとも1つのコンピュータプログラムがその上に記憶されるように構成される装置であって、少なくとも1つのコンピュータプログラムの前記1組は、前記装置を請求項57に記載の行動設計インタフェースとして機能させるように前記装置で実行可能である、装置。
【請求項60】
互いと通信できるように構成される複数のコンピュータ型装置を備えるネットワークであって、前記装置の内の少なくとも1台が請求項58又は59に記載の装置を備え、前記他の装置は、前記他の装置の環境内で動作するオブジェクトが前記1組の少なくとも1つのコンピュータプログラムによって制御できるようにするために、前記1組の少なくとも1つのコンピュータプログラムに遠隔でアクセスするように構成される、ネットワーク。
【請求項61】
1台又は複数台のコンピュータに、請求項1から41のいずれか1項に記載の方法のいずれか1つを実行させるための命令の集合を備える、コンピュータプログラム又は1組のコンピュータプログラムを備える、コンピュータプログラム製品。
【請求項62】
コンピュータプログラムをその上に記憶させるように構成される装置であって、前記コンピュータプログラムは、前記装置に、請求項1から41のいずれか1項に記載の方法で1つ又は複数のステップを実行させるように前記装置で実行可能である、装置。
【請求項63】
複数の仮想オブジェクトが仮想環境に参加する1人又は複数人のユーザの観察の下で対話するように構成される仮想環境であって、前記仮想環境の中の前記複数の仮想オブジェクトのそれぞれ1つが前記仮想環境の中の前記他の仮想オブジェクトの1つ又は複数の前記行動アクションの1つ又は複数から引き出される1つ又は複数の入力を使用して、行動システムを使用して生成される半自律的な行動を表示する、仮想環境。
【請求項64】
前記仮想環境に参加する各ユーザが、前記行動システムに入力を提供することにより生成される前記半自律的な行動を制御できる、請求項64に記載の仮想環境。
【請求項65】
請求項64に記載の前記仮想環境をサポートするように構成され、前記入力を提供するために前記仮想環境に参加する前記1人又は複数のユーザのための手段を提供する、プラットホーム。
【請求項66】
前記ユーザは表示される行動設計インタフェースを介して前記入力を提供し、前記受け取った入力は前記行動システムにより生成される前記行動を制御するように構成される行動コントローラによって処理される、請求項65に記載のプラットホーム。
【図1A】
【図1B】
【図2A】
【図2B】
【図2C】
【図2D】
【図2E】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図1B】
【図2A】
【図2B】
【図2C】
【図2D】
【図2E】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【公表番号】特表2006−525570(P2006−525570A)
【公表日】平成18年11月9日(2006.11.9)
【国際特許分類】
【出願番号】特願2006−506025(P2006−506025)
【出願日】平成16年3月24日(2004.3.24)
【国際出願番号】PCT/GB2004/001301
【国際公開番号】WO2004/086208
【国際公開日】平成16年10月7日(2004.10.7)
【出願人】(390028587)ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー (104)
【氏名又は名称原語表記】BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
【Fターム(参考)】
【公表日】平成18年11月9日(2006.11.9)
【国際特許分類】
【出願日】平成16年3月24日(2004.3.24)
【国際出願番号】PCT/GB2004/001301
【国際公開番号】WO2004/086208
【国際公開日】平成16年10月7日(2004.10.7)
【出願人】(390028587)ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー (104)
【氏名又は名称原語表記】BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
【Fターム(参考)】
[ Back to top ]