(57)【特許請求の範囲】
【請求項１】
ノード（６２，６３，６４，６５）の行動フレームワーク（３１，６０）を備える行動コントローラの制御下でオブジェクトのために行動を生成する方法であって、少なくとも１つのノード（６３）は、前記ノード（６２，６３，６４，６５）の行動フレームワーク（３１，６０）を通して前方方向および逆転方向の両者で他のノード（６２，６３，６４，６５）に出力を提供するために入力をマップするように構成されており、少なくとも１つのノード（６２）は、グローバルフレームワークパラメータ値を指定するように構成されており、
１つ又は複数の行動アクションと関連付けられる入力を受け取るステップと、
前記行動フレームワーク（３１，６０）内の複数の行動ノード（６３）について、前記行動フレームワーク（３１，６０）に従い前記入力から各行動ノード（６３）の行動パラメータ値を推論するステップと、
前記行動フレームワーク（３１，６０）内の１つ又は複数のグローバルパラメータノード（６２）の１つ又は複数のグローバルフレームワークパラメータ値を前記行動パラメータ値の各々から推論するステップと、
前記行動フレームワーク（３１，６０）の各ノード（６２，６３，６４，６５）を通して前方方向に前記グローバルフレームワークパラメータ値をマップするステップと、
行動フレームワーク（３１，６０）の行動出力ノード（６５）のために、前記推論した複数の行動パラメータ値から出力を引き出すステップと、
引き出された前記出力を使用して前記オブジェクトによる同意義の行動を生成するステップと、
を備える、方法。
【請求項２】
前記行動フレームワーク（３１，６０）は内部的にフレキシブルに対応できる構造を有する、請求項１に記載の方法。
【請求項３】
前記行動フレームワーク（３１，６０）は行動ノード（６３）の階層を備えており、少なくとも１つの行動ノード（６３）は、
別の行動フレームワークの１つ又は複数の出力ノード（６４）から提供される入力ノード（６１）と、
別の行動ノード（６３）からのパラメータ値を含む入力と、
グローバルパラメータノード（６２）によって直接的又は間接的に提供される行動フレームワーク（３１，６０）のグローバルフレームワークパラメータ値を含む入力と
のグループから得られる複数の異なるソースから入力を受信するように構成されている、請求項１又は２に記載の方法。
【請求項４】
前記行動フレームワーク（３１，６０）は行動ノード（６３）の階層を備えており、各行動ノード（６３）は、別のオブジェクトの行動フレームワーク（３１，６０）内の入力ノード(６１)に外部出力ノード（６４）を通して出力を提供し、前記オブジェクトの前記行動の動画化を可能にする行動出力ノード（６５）を通して行動の出力を提供するように構成されている、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記行動フレームワーク（３１，６０）はダイナミックにフレキシブルに対応できる、請求項１から４のいずれか１項に記載の方法。
【請求項６】
受け取った入力が複数の行動アクションと関連付けられ、推論した各パラメータ値が前記複数の行動アクション入力の組み合わせにより決定される、請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記入力は行動アクションを生成する出力と直接的に関連付けられる少なくとも１つの行動パラメータ値の集合を含み、推論するステップでは、前記行動フレームワーク（３１，６０）を通して逆転マップを行うことによって少なくとも１つ又は複数の他の行動パラメータ値が推論され、行動アクションに対する追加の行動を生成するために別の出力が引き出される、請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記行動フレームワークは、前記オブジェクトの前記行動の特徴を修正する出力を提供するために１つ又は複数のパラメータ値を演算する関数と関連付けられた複数の行動ノード（６３）を備えており、前記関数は、前記オブジェクトのムード状態と関連付けられた少なくとも１つのグローバル行動パラメータ値を演算し、前記行動フレームワーク（３１，６０）の出力ノード（６５）からの出力により提供される前記オブジェクトの前記行動が、前記オブジェクトの前記ムードを示すために修正される、請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記行動フレームワーク（３１，６０）は、前記オブジェクトの前記行動の特徴を修正する出力を提供するために１つ又は複数のパラメータ値を演算する関数に関連付けられた複数の行動ノード（６３）を備えており、前記関数は、前記行動フレームワーク（３１，６０）の行動ノード(６３)に対して一意に指定される少なくとも１つの行動パラメータ値を演算し、前記入力から前記行動フレームワークの行動ノード（６３）によって生成される前記出力は、前記オブジェクトの前記行動の特徴に影響を及ぼす個性特色に関連付けられる内部パラメータ値を演算するために前記関数を使用する、請求項１から８のいずれか１項に記載の方法。
【請求項１０】
前記オブジェクトによる前記同意義の行動は所定のシーケンスで実行される複数の行動アクションを含む、請求項１から９のいずれか１項に記載の方法。
【請求項１１】
前記複数の行動アクションはある期間に渡って実行される、請求項１０に記載の方法。
【請求項１２】
前記複数の行動アクションの１つ又は複数が同時に実行される、請求項１０又は１１に記載の方法。
【請求項１３】
前記行動は、視線方向、四肢の動き、発話、スタンスを含むグループから取られる行動アクションを含む、請求項１から１２のいずれか１項に記載の方法。
【請求項１４】
前記受け取った入力は、人間ユーザによる前記オブジェクトの直接的な操作により誘発された前記オブジェクトの行動アクションから引き出される、請求項１から１３のいずれか１項に記載の方法。
【請求項１５】
前記入力は、入力ノード（６１）によって受け取られ、
前記オブジェクトと対話する１つ又は複数の他のオブジェクトによる行動アクションから引き出される、請求項１から１５のいずれか１項に記載の方法。
【請求項１６】
前記入力は、入力ノード（６１）によって受け取られ、
前記行動コントローラのユーザによって操作される行動アクションと関連付けられる入力を含む、請求項１から１５のいずれか１項に記載の方法。
【請求項１７】
前記１つ又は複数の行動アクションと関連付けられる入力を受け取るステップは、
前記オブジェクトの前記行動コントローラに入力を提供するように構成される行動設計インタフェースを使用して前記オブジェクトの行動特徴と関連付けられる行動パラメータ集合に値を指定し、それぞれの前記行動パラメータ集合が前記行動特徴に影響を及ぼす少なくとも１つのパラメータ値を含むステップと、
行動プロファイルにより定められるデフォルト値を用いて前記指定値に対して関数を実行することにより得られるパラメータ値と、前記パラメータ集合の中の各パラメータ値を関連付けるステップと、
前記オブジェクトのための前記行動コントローラに前記パラメータ値を入力するステップとを含み、
前記引き出された前記出力を使用して前記オブジェクトによる同意義の行動を生成するステップは、
前記出力を前記オブジェクトによる行動アクションと関連付けるステップと、
前記オブジェクトに前記行動アクションを実行させるステップと、
を含む、請求項１に記載の方法。
【請求項１８】
オブジェクトの行動を生成するように構成される行動コントローラであって、
少なくとも１つのノード（６３）はノード（６２，６３，６４，６５）の行動フレームワーク（３１，６０）を通して前方方向および逆転方向の両者で入力を出力にマップするように構成されており、少なくとも１つのノード（６２）はグローバルフレームワークパラメータ値を指定するように構成されている、ノード（６２，６３，６４，６５）の行動フレームワーク（３１，６０）と、
１つ又は複数の行動アクションと関連付けられる入力を受信するインタフェース手段と、
前記行動フレームワーク（３１，６０）内の複数の行動ノード（６３）について、前記行動フレームワーク（３１，６０）に従って前記入力から各ノード（６３）の行動パラメータ値を推論する手段と、
前記行動フレームワーク（３１，６０）内の１つ又は複数のグローバルパラメータノード（６２）の１つ又は複数のグローバルフレームワークパラメータ値を前記行動パラメータ値の各々から推論する手段と、
前記行動フレームワーク（３１，６０）の各行動ノード（６３）を通して前方方向に前記グローバルフレームワークパラメータ値をマップする手段と、
行動フレームワーク（３１，６０）の行動出力ノード（６５）のために、前記推論した複数の行動パラメータ値から出力を引き出す手段と、
引き出される前記出力を使用して前記オブジェクトによる同意義の行動を生成する手段と、
を備える、行動コントローラ。
【請求項１９】
前記同意義の行動を生成する手段は、適切な行動を前記オブジェクトにより動画化させるように前記出力に作用するように構成される動画化システムに、前記推論した行動パラメータ値から引き出される前記出力を送る手段を備える、請求項１８に記載の行動コントローラ。
【請求項２０】
前記行動コントローラからの出力は、別のオブジェクトの行動コントローラによる入力として受け取られるために適した形式で提供される、請求項１８又は１９のいずれか１項に記載の行動コントローラ。
【請求項２１】
前記行動コントローラは、身体言語行動を生成し、第１の文化の身体言語に一致する行動から引き出される受け取った入力を、第２の文化の身体言語と一致する入力にマップする身体言語変換要素をさらに備える、請求項１８から２０のいずれか１項に記載の行動コントローラ。
【請求項２２】
前記オブジェクトは、仮想環境内で動作するように構成される仮想オブジェクトである、請求項１８から２１のいずれか１項に記載の行動コントローラ。
【請求項２３】
前記オブジェクトは、
仮想コンピュータゲーム、仮想オンライン会議、オンラインゲーム、オンラインチャットルーム、アバターが主催する会議、アバターカウンセリング会議、アバターをベースにした仲介環境、アバターをベースにした販売環境、オンライン協力環境、オンライカスタマ関係管理環境、
から構成される、仮想環境のグループの内の任意の１つから取られる仮想環境内で動作するように構成される仮想オブジェクトである、
請求項２２に記載の行動コントローラ。
【請求項２４】
ソフトウェアエージェントが前記行動コントローラに前記入力を提供する、請求項１８から２３のいずれか１項に記載の行動コントローラ。
【請求項２５】
行動パラメータ集合への値の指定を可能にするように構成された手段を備える行動設計インタフェースであって、
前記行動パラメータ集合は前記オブジェクトの行動特徴と関連付けられる少なくとも１つのパラメータ値を含み、前記行動設計インタフェースを使用して指定される前記値は、請求項１８から２４のいずれか１項に記載の前記行動コントローラに入力として提供される、行動設計インタフェース。
【請求項２６】
少なくとも１つのコンピュータプログラムがその上に記憶されるように構成される装置であって、少なくとも１つのコンピュータプログラムは、前記装置を請求項１９から２３のいずれか１項に記載の行動コントローラとして機能させるように前記装置で実行可能である、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトで行動を生成するための方法及び装置に関する。本発明はそれに制限されないが、特に重要な１つの応用例は、例えばアバターなどの仮想エージェントつまりオブジェクトにおいて身体言語を伝達する自律行動の生成である。
【背景技術】
【０００２】
動画オブジェクトは、（アバターなどの）仮想であるのか、（例えば、ペット「玩具」などの）ロボット利用であるのかに関係なく、その行動においてますます精密になってきている。特に、アバター及び動画エージェントなどの仮想オブジェクトによるさらに現実的な行動に対する消費者の要求がある。本発明において、アバターは、任意の適切な形を取る、仮想環境におけるユーザの視覚的な表現であると定義される。動画エージェントは、仮想環境におけるユーザとの対話に、あるいは対話型娯楽に使用されるインテリジェントソフトウェアベースのエージェントである。同様に、動画エージェントは任意の適切な形を取ってよい。
【０００３】
オブジェクトが動画行動を有することができるとき、プログラミングに相対的に熟練していないユーザが前記オブジェクトの行動を個人化する能力を有することが望ましい。これは、特に、ユーザが例えば、グループセッティングで個人的特徴の感覚を生じさせること、オブジェクトが果たしている役割を強化すること、又はユーザ自身の個性を反映することを求めているときに当てはまる。オブジェクトをその人間のユーザにとってさらに興味深くするために、それは、個性がオブジェクトに提供できる場合、つまり行動が、ユーザが望ましいと感じる特定の特色を有するようにユーザによって修正できる場合に望ましい。
【０００４】
これらの要求を満たすために、動画オブジェクトにおいて行動を生成するために使用される行動モデルはますます複雑になってきている。これは、プログラミングにおいて相対的に未熟なユーザがオブジェクトの行動を修正することを希望するときに、彼らには行動モデルを表す複雑なプログラムとインタフェースを取り、行動の基礎を成すコードを修正するために必要な専門的知識が欠けているため、矛盾を生じさせる。
【０００５】
当技術分野ですでに周知であるオブジェクトにおいて自律的な行動を生成し、オブジェクトに個性を与える技法はその実用性において制限されている。一般的には、オブジェクトの行動を修正するための適切な手段を未熟な個人に与え、オブジェクトによる複雑な行動をサポートするときには不出来な妥協に至る。これは特に、ユーザがリアルタイムでオブジェクトの行動を修正することを望むときにそうなる。
【０００６】
未熟なユーザがアバターなどの仮想オブジェクトの行動を修正できるようにするための限られた手段は当技術分野で開示されている。例えば、Ｂｒｕｓｈ  ＩＩらによる米国特許第５，８８４，０２９号「さまざまなユーザにより制御される他のアバターと対話するインテリジェントな仮想オブジェクト、つまりアバターとのユーザ対話（User interaction with intelligent virtual objects, avatars, which interact with other avatars controlled by different users）」では、ユーザがアバターなどのインテリジェント仮想オブジェクトに個性をプログラミングできるようにする方法及び装置が開示されている。この例では、アバターの個性は、アバターが事前にプログラミングされた応答のセットを使用して半自律的に外部の刺激に反応できるようにすることにより作成される。特に未熟なユーザはどの個性の特色が自律的な行動を定義するのかを選択できないため、また未熟なユーザはリアルタイムでアバターの個性を修正できないため、この方法は多くの理由から有効性が限られている。
【０００７】
Ｂａｌｌらによる米国特許第６，２１２，５０２号「コンピュータユーザインタフェースから感情及び個性をモデル化し、投影すること（Modelling and Projecting Emotion and Personality from a Computer User Interface）」では、仮想世界のユーザの経験を強化するために、ユーザの予想される情動状態を判断し、パーソナルアバターでユーザの情動行動を表現する方法が開示されている。ユーザはアバターの行動が自分自身の行動と異なることを希望する場合にアバターの行動に介入し、制御することができないため、この方法の有効性は制限されている。
【０００８】
Ｌｉｌｅｓらによる米国特許第５，８８０，７３１号「オンラインチャットセッションにおける自動ジェスチャ及び制限付き対話を備えたアバターの使用（Use of avatars with automatic gesturing and bounded interaction in on-line chat session）」では、ユーザは、アバターがそれ以外の場合イナクティブであるときにアバターが自律的に機能するための特定のしぐさを限られたメニューから選択できる。個性が、アバターがユーザの制御下で意図的なアクションを実行していないときにときおり自動的に表示される選択されたしぐさを含むため、ユーザの意図的な制御下でのアクションを強化するために行動に対する修正は行われない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、前述された当技術分野で既知である不利な点を未然に防ぐ、及び／又は軽減するオブジェクトで自律的な行動を生成するための装置及び方法を提供しようと努める。
【課題を解決するための手段】
【００１０】
本発明の第１の態様によると、動作コントローラの制御下でオブジェクトのために行動を生成する方法が提供され、前記方法は行動アクションと関連付けられる入力を受け取るステップと、オブジェクトによる行動を生成するように構成される行動フレームワークに従って前記入力から複数の行動パラメータ値を推論するステップと、前記推論した複数の行動パラメータ値から出力を引き出すステップと、前記パラメータ値から引き出される出力を使用してオブジェクトによる同等な行動を生成するステップとを含む。
【００１１】
本発明の第２の態様によると、オブジェクトのために行動コントローラの複数の内部パラメータ値を推論する方法が提供され、前記方法は、行動アクションを表す入力を受け取るステップと、オブジェクトによる同等な行動アクションに対応する少なくとも１つの出力値の集合を前記受け取った入力から推論するステップと、前記複数の内部パラメータごとに、少なくとも１つの出力値の前記集合から値を推論するステップとを含み、前記複数の内部パラメータごとに推論される前記値が行動コントローラによる出力を生じさせ、その結果前記同等な行動アクションに同等な行動を生じさせる。
【００１２】
本発明の第３の態様によると、オブジェクトで行動を生成する方法が提供され、前記方法は第２の態様の方法に従ってオブジェクトのために行動コントローラの複数のパラメータ値を推論することを備え、前記方法は、前記推論した複数のパラメータ値を使用して前記同等な行動と関連付けられる出力値の前記集合を生成することと、前記関節のあるオブジェクトに前記行動を実施させることとをさらに含む。
【００１３】
本発明の第４の態様によると、関節のあるオブジェクトの行動を制御する方法が提供され、前記方法は行動コントローラに対する入力をオブジェクトに与えるように構成される行動設計インタフェースを使用してオブジェクトの行動特徴と関連付けられる行動パラメータ集合に値を指定し、それぞれの前記行動パラメータ集合が行動特徴に影響を及ぼす少なくとも１つのパラメータを含むステップと、行動プロファイルによって定められるデフォルト値とともに指定値に対して関数を実行することにより得られるパラメータ値とパラメータ集合の中の各パラメータを関連付けるステップと、オブジェクトのための行動コントローラにパラメータ値を入力するステップと、前記入力から前記行動コントローラによって生成される出力を推論するステップと、オブジェクトによる行動アクションと出力を関連付けるステップと、オブジェクトに行動アクションを実行させるステップとを含む。
【００１４】
本発明の第５の態様によると、１台又は複数台のコンピュータに本発明の方法態様のいずれか１つを実行させるための命令の集合を備えるコンピュータプログラム、つまり一式のコンピュータプログラムを備えるコンピュータプログラム製品が提供される。
【００１５】
本発明の第６の態様によると、オブジェクトで行動を生成するように構成される行動コントローラを備える装置が提供され、前記コントローラは、行動アクションと関連付けられる入力を受け取るための手段と、オブジェクトによる行動を生成するように構成される行動フレームワークに従って前記入力から複数の行動パラメータ値を推論するための手段と、前記推論した複数の行動パラメータ値から出力を引き出すための手段と、前記パラメータ値から引き出される出力を使用してオブジェクトにより同等な行動を生成するための手段とを備える。
【００１６】
本発明の第７の態様によると、行動設計インタフェースを備える装置が提供され、前記インタフェースは値の行動パラメータ集合への指定を可能にするように構成される手段を備え、前記パラメータ集合はオブジェクトの行動特徴に関連付けられる少なくとも１つのパラメータ値を含み、前記インタフェースを使用して指定される値は第６の態様による装置への入力として提供される。
【００１７】
本発明の第８の態様によると、一式の少なくとも１つのコンピュータプログラムをその上に記憶させるように構成される装置が提供され、前記一式の少なくとも１つのコンピュータプログラムは、装置を本発明の第６の態様又は第７の態様による装置として機能させるように装置で実行可能である。
【００１８】
本発明の第９の態様によると、互いと通信することができるように構成される複数のコンピュータ型装置を備えるネットワークが提供され、前記装置の少なくとも１台は本発明の第８の態様による装置を備え、前記他の装置は、前記他の装置の環境の中で動作しているオブジェクトを前記一式の少なくとも１つのコンピュータプログラムによって制御できるように、前記一式の少なくともコンピュータプログラムの少なくとも一部に遠隔にアクセスするように構成される。
【００１９】
本発明の第１０の態様によると、オブジェクトをその行動を制御するために直接的に操作する方法が提供され、前記方法は、行動アクションを実行するためにオブジェクトを操作するステップと、オブジェクトによる同等な行動を生成するために使用される出力を提供するようにも構成される、行動フレームワークの出力ノードに行動アクションを表す入力を提供するステップと、フレームワークの他の行動ノードのための少なくとも１つのパラメータ値の集合を引き出すためにフレームワーク内の行動フレームワークの出力ノードにより受信される入力をマップするステップと、オブジェクトによる他の同等な行動を生成する出力値の集合を、引き出された少なくとも１つのパラメータ値から推論するステップとを含む。
【００２０】
本発明の第１１の態様によると、ノードのフレームワークを備える行動コントローラの制御下でオブジェクト内で行動を生成する方法が提供され、前記方法は、少なくとも１つのノードが行動アクションと関連付けられる入力を受け取り、それぞれの前記少なくとも１つのノードが受け取った入力を出力にマッピングするステップと、前記出力を使用してフレームワーク内の他のノードのための複数の行動パラメータ値を推論するステップと、オブジェクトによる同等な行動を生成する行動コントローラによる出力を提供するために前記推論した行動パラメータ値を使用して受け取った入力をマッピングするステップとを含む。
【００２１】
本発明の第１２の態様によると、行動コントローラの制御下でオブジェクト内で行動を生成する方法が提供され、前記方法は、行動アクションと関連付けられた入力を受け取るステップと、オブジェクトによる同等な行動に対応する少なくとも１つの出力値の集合に前記受け取った入力をマッピングするステップと、オブジェクトによる行動を生成するように構成される行動フレームワークに従って少なくとも１つの出力値の前記集合から複数の行動パラメータ値を推論するステップと、前記パラメータ値を使用してオブジェクト内で同等な行動を、これらを行動コントローラにロードすることにより生成するステップとを含む。
【００２２】
本発明の第１３の態様によると、仮想環境に参加する１人又は複数人のユーザの観察の下で複数の仮想オブジェクトが対話するように構成される仮想環境が提供され、仮想環境における前記複数の仮想オブジェクトのそれぞれ１つが仮想環境内の他の仮想オブジェクトの１つ又は複数の行動アクションの内の１つ又は複数から引き出される１つ又は複数の入力を使用する行動システムを使用して生成される半自律的な行動を表示する。
【００２３】
好ましくは、仮想環境に参加する各ユーザは行動システムに入力を提供することにより生成される半自律的な行動を制御できる。
【００２４】
本発明の別の態様は前記態様の仮想環境をサポートするように構成されるプラットホームを提供し、前記プラットホームは前記入力を提供するために仮想環境に参加する前記１人又は複数人のユーザの内の１人に手段を提供する。
【００２５】
好ましくは、ユーザは表示された行動設計インタフェースを介して前記入力を提供し、受け取った入力は前記行動システムにより生成される行動を制御するように構成される行動コントローラによって処理される。
【００２６】
行動システムは、任意の前記態様による行動コントローラ及び任意の前記態様による行動フレームワークを備えてよい。
【００２７】
有利なことに、システムは、オブジェクトの行動コントローラのための行動変換装置を提供できるようにし、前記装置は第１の文化に適合する行動を表す情報を第２の文化に適合する行動にマップするための手段を備える。好ましくは、情報は行動コントローラによる入力として受け取られる。好ましくは、情報は行動コントローラによる出力として提供される。
【００２８】
有利なことに、オブジェクトによる同等な行動が所定のシーケンスで実行される複数の行動アクションを備えてよいため、さらに複雑な行動は相対的に未熟なユーザにより提供されてよい。さらに有利なことには、さらに現実的な自律的に動画化された行動を提供するために、時間依存性の行動パラメータが行動コントローラの中に組み込まれてよい。
【００２９】
有利なことに、オブジェクトによる同等なアクションを生成するために使用できる内部パラメータ値を入力から推論する能力を有することにより、行動を生成する方法は、オブジェクト内で複雑な行動を生成するためのユーザによる相対的に簡単なデータ入力を可能にする。
【００３０】
有利なことに、複数の行動アクションを備えてよい複雑な行動が生成されてよく、その内の２つ又は３つ以上は同時に実行されてよい。例えば、アバターなどの関節のあるオブジェクトの行動は、前記アバターの姿勢行動と視線方向行動の両方とも同時に実行されるように制御されてよい。例えば、アバターはオブジェクトを拾い上げるときにオブジェクトを自動的に見ることができる、あるいは代わりに別の例としては、アバターが攻撃的である別のアバターに反応して気が小さい場合、内気なアバターは背をすぼめ、目をふせたままにするために姿勢と視線方向の両方とも変更してよい。
【００３１】
有利なことに、本発明はチャットルームの仮想媒体の中でユーザが伝達できる表現の量を増すことによってユーザのためのチャットルーム経験を改善するための手段を提供する。身体言語の存在は、特に姿勢及び視線方向などの２つ又は３つ以上の行動アクションの同時実行によって伝達されるときにアバターをより実物の人間そっくりにし、彼らのコミュニケーションの質を改善する。有利なことに本発明により、アバターのグループは、各アバターが他のアバターの身体言語に適切に反応するように自らの行動を調整できる。
【００３２】
従属請求項に述べられるような好ましい特徴は、当業者に明白な任意の適切な方法で前記態様のいずれかと適切に結合されてよい。
【００３３】
本発明の好ましい実施形態は、添付図面を参照してここでほんの一例として説明される。
【発明を実施するための最良の形態】
【００３４】
現在発明者が現在本発明の最良と考える形態は、ここで添付図面を参照して説明される。しかしながら、本発明の説明がほんの一例にすぎないこと、及び本発明が説明される実施形態だけに制限されることを目的としていないことが当業者にとって明らかとなるであろう。
【００３５】
ここで添付図面の図１Ａを参照すると、アバター及び仮想キャラクタのために身体言語を生成し、推論し、設計するためのツールを備える本発明の第１の実施形態が示されている。本発明のこの実施形態は、インターネットのチャットルーム及びコンピュータゲーム型環境等の行動特徴を制御するために特に有効である。
【００３６】
図１Ａでは、コンピュータ装置１が示されている。コンピュータ装置１は、高水準のコンピュータプログラミング技能を有していない可能性がある人間のユーザ（図示せず）によって操作されると仮定される。コンピュータ装置という用語は、携帯電話等の移動通信機器だけではなく、ゲームコンソール、パーソナルデジタルアシスタントなどの視覚表示装置にも取り付けることのできるデータ処理能力を有する任意の装置を含むために使用される。
【００３７】
コンピュータ装置１は、例えばディスプレイ３を有するモニタなどの視覚表示手段２を備える。任意の適切なナビゲーション手段は、例えば、マウス又はキーボード（図示せず）などのディスプレイ３をナビゲーションするためにユーザによって利用されてよい。他の実施形態は、同等に使用されてよいスタイラス、トラックパッド、及びジョイスティックなどのナビゲーションツールを含んでよい。
【００３８】
ディスプレイ３は、仮想環境アプリケーションがその中で実行しているウィンドウ４を含む。仮想環境は仮想オブジェクトを含むウィンドウ４に表示される。明確にするために、本発明のこの好ましい実施形態では２つの仮想オブジェクトしか説明されない。図１Ａに図示されるように、２つの仮想オブジェクトは、動画化することができる。２つのアバター５、６を備える関節のあるオブジェクトである。アバター５はここではボブとも呼ばれ、アバター６もビルと呼ばれる。ビルとボブは図１に図示される実施形態において多関節形式を有するが、仮想オブジェクトが、例えば感情等を表示するためにねじれる顔を備えるために多関節ではない可能性もある。したがって対象となる行動は、オブジェクトの形式に関係なく顔で表現される行動及びオブジェクトによる任意の形式の行動を含む。
【００３９】
仮想オブジェクト５、６は半自律的に動画化できるように構成されている（その場合、それらはユーザから少なくとも何らかの入力を必要とするであろう）が、仮想オブジェクト５、６の少なくとも１つが本発明の他の実施形態に従って行動コントローラを使用して自律的に機能するようにオフラインでプログラミングされることが可能である。本発明のでは、オフラインは、仮想オブジェクトがその仮想環境において動画化された行動（ａｎｉｍａｔｅｄ  ｂｅｈａｖｉｏｕｒａｌ）を実行していないとき、あるいはこのような行動（ｂｅｈａｖｉｏｒａｌ）がオフラインプログラミングが再開される前に発生する間に休止されるか、中断されるときに行動コントローラをプログラミングすることを指す。
【００４０】
ここで図１Ａに戻ると、仮想環境の中の仮想オブジェクト５、６は２つの人間アバターを含む。しかしながら、仮想オブジェクトが取ってよい形式がコンテキストに応じて大幅に変化する場合があることが当業者により理解されるであろう。例えば、その役割に応じて、仮想オブジェクトは動物又は動画化できる任意の他の関節のあるオブジェクトであってよい。関節のあるという用語は、例えば四肢及び／又は関節など、互いを基準にして移動できる部分から構成されていることとしてここに定義される。
【００４１】
ディスプレイ３は行動設計ユーザインタフェース７も示す。行動設計ユーザインタフェース７は仮想環境ウィンドウ４に別個のウィンドウを備える。行動設計ユーザインタフェース７は、ユーザが仮想オブジェクト５、６の１つ又は複数による行動を生成するために行動コントローラに入力を提供できるようにする。行動設計ユーザインタフェースアプリケーションは、行動コントローラを含むアプリケーションの部分を備えてよい、あるいはそれは行動コントローラを含むアプリケーションとインタフェースをとるように構成される別個のソフトウェアアプリケーションの一部として提供されてよい。行動コントローラは所定の行動フレームワークに従って構成される接続されたノードの集合を備え、フレームワークの各ノードはいくつかのパラメータに基づいて入力を出力にマップする。行動コントローラはここに以下にさらに詳細に説明される。
【００４２】
図１Ａでは、ユーザは行動設計ユーザインタフェースのトラッカバー９でスライダ８を使用して行動パラメータ値を適切に選択することにより両方の仮想オブジェクト５、６を管理する。明確にするために図１Ａには男っぽさの行動パラメータ集合のためのトラッカバーとスライダだけに番号が付けられている。しかしながら、ここで図１Ｂを参照すると、図１Ａの行動設計ユーザインタフェースの拡大図が示されている。
【００４３】
（行動設計インタフェース）
図１Ｂは図１Ａの行動設計ユーザインタフェース７をさらに詳細に示す。図１Ｂが示すように、行動設計ユーザインタフェース７は、図１Ａの仮想環境ウィンドウ４で対話している仮想オブジェクトボブとビルのそれぞれのための一連のメニュー選択肢をユーザに与える。本発明の代替実施形態では、ユーザは環境における他の仮想オブジェクトの行動をより直接的に管理しない可能性があるが、簡単にするためにここではユーザがボブとビルの両方ともに直接的な影響を及ぼすことを希望すると仮定される。しかしながら、別の仮想オブジェクトを直接的に管理しない場合でも、さらに詳細に説明されるようにユーザは間接的に他の仮想オブジェクトの行動に依然として影響を及ぼす場合がある。
【００４４】
図１Ｂで明確にするために、トラッカレーン９ａ、１１ａで軽薄さと呼ばれる行動パラメータ集合の値を選択するためのスライドバー８、１０だけに番号が付けられている。
【００４５】
図１Ｂに図示されるような行動設計ユーザインタフェース７は２つの行動プロファイル９ａから９ｈ及び１１ａから１１ｈを備える。図示されている各行動プロファイルは、「形容詞」の集合、つまり仮想オブジェクトのある特定の行動特徴と関連付けられる同等に行動パラメータ集合を備える。図１Ｂに図示されるように、行動パラメータ集合は軽薄さ９ａ、１１ａ、親しみやすさ９ｂ、１１ｂ、男っぽさ（９ｃ、１１Ｃ）、他の好み（ｏｔｈｅｒＬｉｋｉｎｇ）（９ｄ、１１ｄ）、悲しい（９ｅ、１１ｅ）、自惚れ（９ｆ、１１ｆ）、はにかみ（９ｇ、１１ｇ）及び優位点（ｓｕｐｅｒｉｏｒｉｔｙｔｏＯｔｈｅｒ）（９ｈ、１１ｈ）を含む。
【００４６】
ユーザは、行動パラメータ集合の別の選択を含む他の行動プロファイルを構築できる。行動パラメータ集合を備える複数の個々の行動パラメータの特性を修正することも可能である。行動パラメータ集合の設計は所定の行動特徴を集合的に修正するために行動コントローラの行動フレームワークによって定義される。したがって、パラメータ集合設計は、どの行動パラメータ集合が行動プロファイルを形成するのかに関する簡略な選択よりさらに多くの技能を必要とするタスクである。パラメータ集合は単一のパラメータを構築できるにすぎない。例えば、その値が行動フレームワークの中のすべての行動ノードの出力に影響を及ぼすことがあるグローバルパラメータ、あるいはその値がフレームワークの単一の行動ノードだけの出力に影響を及ぼす内部パラメータ。
【００４７】
図１Ｂに戻ると、トラッカレーン９ａから９ｈ及び１１ａから１１ｈのトラック長は、ユーザがスライドバー８又は９を位置決めすることによって選択できる一連の考えられる値を表す。明確にするために、第１の軽薄さ行動パラメータ集合のスライドバーだけが図１Ｂで付けられていることが理解されるであろう。他の実施形態では、例えばラジオボタン、ドロップダウンウィンドウ等、あるいは制御データを直接的に入力する他の値選択手段が使用されてよい。しかしながら、これによりユーザをメインスクリーンディスプレイ仮想環境ウィンドウ４から不当に逸らすことなく連続範囲の値をパラメータに容易に指定できるため、スライド式バーとトラッカの使用は特に好ましい。
【００４８】
図２Ｂに図示される値は、仮想オブジェクト５、６に、ユーザにより値ゼロが指定されたそれぞれの表示されている行動パラメータ集合に対応する中立的なスタンスを与える。これは、図１Ａに示される２つの仮想オブジェクトの中立的な姿勢及び図１Ａと図１Ｂに示される対応する行動パラメータ集合値を示す図２Ａにさらに明確に示される。
【００４９】
図２Ｂは、ユーザが仮想オブジェクト６（ビル）の男っぽさトラッカバーでスライダを移動することによりビルの行動にどのように直接的に影響を及ぼしたのか、及びボブの行動にどのように間接的に影響を及ぼしたのかを示している。図２Ｂでは、ユーザは男っぽさ行動パラメータ集合トラッカレーンのスライダを使用して１４という値を指定し、ビルはビルの行動コントローラによって生成される行動を表示する。ビルの行動コントローラは、この入力を取り、フレームワークの行動出力ノードに適切な値を指定するためにそれを行動フレームワークを通して伝搬することによってユーザ入力からどのような同等な男っぽさ行動が必要とされるのかを推論した。
【００５０】
ビルの行動コントローラは、１４という指定された男っぽさの値から、図２Ｂに図示される実施形態では男っぽさの姿勢を維持しているビルを含む同等な行動アクションを推論した。種々の男っぽさの姿勢が結果として生じ、男っぽいしぐさ、視線方向、スタンス、顔の表情等の他の男っぽさの行動も生じる。ビルの行動コントローラは、ビルの男っぽさ行動アクション（複数の場合がある）を反映するボブの行動コントローラに１つ又は複数の値も出力する。この出力は、ビルの男っぽさの行動に対するボブの反応を示す、ボブにより実行される行動アクションを含む。
【００５１】
ボブの行動コントローラは、ボブの行動コントローラがビルの行動により伝達される身体言語を効果的に解釈できるようにするビルの行動アクションから引き出される入力を受け取る。この入力は、ビルの男っぽさの行動に対する反応を含む行動アクション、例えば、ボブの行動フレームワークによって生成される行動を修正する１つ又は複数のパラメータ値を表現できる。代わりに、ボブはビルの行動を示すパラメータ値の表示だけを受け取り、ボブの行動コントローラはビルにより提供されるパラメータ値から、どの出力値がこの反応に対応するであろうかを推論できるであろう。その結果、ボブの行動コントローラはこれらの出力値から、ボブの行動フレームワーク内で反応に対する同等な行動を生成するであろう他の行動パラメータ値を推論することができ、これらの行動パラメータ値を使用して出力を生成し、次にこの行動を実行する。図２Ａに図示されるように、これはボブがビルの前で服従する姿勢を採ることを含む。
【００５２】
前述されたような方法で、ユーザは仮想オブジェクト６のための行動パラメータ集合値を変更することによって仮想オブジェクト５の行動を間接的に修正できる。ボブは、ユーザが服従する位置にボブのトラッカバーを直接的に移動しなくても、より服従するスタンスを採った。一方の仮想オブジェクト（ボブ）の行動コントローラは、他方の仮想オブジェクト（ビル）の行動によって伝達される身体言語を解釈した。これは身体言語を示す情報を伝達する他のオブジェクトの行動コントローラによって受け取られる出力を生成する第１のオブジェクトの行動コントローラによって達成された。適切な内部行動パラメータ値は、次に、他の仮想オブジェクトの行動を修正する他の仮想オブジェクトのための行動コントローラによって推論される。各仮想オブジェクトが入力を受け取るように構成される適切な行動コントローラを有するのであれば、身体言語情報が複数の仮想オブジェクトに伝達できることが当業者には明らかとなるであろう。
【００５３】
図２Ａに図示される本発明の実施形態では、キャラクタのボブ（仮想オブジェクト６）に対応する行動フレームワークのパラメータ値はビルに指定される値によって直接的に影響を及ぼされず、ボブのために表示されたスライダ値はその値を変更しない。しかしながら、本発明の他の実施形態では、スライダ値はその新しい値を反映するために自動的に更新できる。
【００５４】
図２Ｃは、本発明の一実施形態では、仮想オブジェクトの内の１つの身体言語が適切な行動応答をセットアップするために他の仮想オブジェクトにどのように伝達できるのかを示す。図２Ｂに図示される行動に続いて起こる図２Ｃでは、ビルのユーザは１という値を男っぽさに指定し、１０という値を軽薄さに指定した。ビルの行動コントローラは、図２Ｃに図示されるように手を伸ばしてボブの腕に触れるビルを動画化するなど、自動行動を生成する。ボブの行動コントローラはビルの身体言語を、彼がより男っぽくなく、より親しみやすいことを示しており、したがって手を伸ばしてボブに触れるというアクションが敵意を抱いているのではなく、親しみやすいと解釈する。これは、例えば、ビルが親しみやすいことを示すとしてビルのコントローラによって提供されるパラメータ値を解釈するためにボブの行動コントローラが受け取った入力を使用することによって達成できる。その結果、ビルが敵意をもってボブに触れた場合に起こる可能性のある（例えば）防御的な行動を表示する代わりに、ボブは代わりにより防御的ではない姿勢を採り、服従的な姿勢を維持するよりむしろわずかに前方に傾く。ボブがより防御的ではないと分かると、ユーザは、図２Ｄに図示されるようにビルの軽薄さと男っぽさのレベルをより低い値に設定することができ、両方のアバターによるより親しみやすい行動を生じさせる。
【００５５】
図２Ａから図２Ｄに図示されるように、どの点においても、ユーザは特定の体の移動を示したり、行動アクションを示すためにテキストを入力する必要はなく、行動コントローラはリアルタイムで指定された行動パラメータ設定値に反応して自律的に適切な行動を生成する。
【００５６】
有利なことに、ウィンドウ型ソフトウェアアプリケーションとして行動設計ユーザインタフェース７を提供することによって、インタフェースが見える範囲はユーザ要件に応じて変えることができる。図２Ｅでは、ボブの行動プロファイルは行動設計ユーザインタフェースウィンドウ７で可視であり、図２Ａから図２Ｄの行動プロファイルに示されるものとは異なる行動パラメータ集合を含む別の行動プロファイルがボブのために示されている。
【００５７】
図２Ｅでは、ボブはユーザによって傾聴行動パラメータセットの高い値、つまりｐｕｔＵｐｏｎ行動パラメータ集合の等しく高い値を指定されている。図２Ｅに示される他の行動パラメータ集合はｔｏｕｃｈｙＦｅｅｌｙ、ｄｏｍＳｕｂ等を含む。ボブは、ｄｏｍＳｕｂの相対的に低い値を指定されている。これらの値はこれらの値に適切である行動を生じさせるためにボブの行動コントローラによって使用され、その結果ビルは直立した姿勢を有し、ボブはより服従する姿勢を有する。
【００５８】
添付図面の図３は、本発明の行動コントローラが行動モデル３０に従ってオブジェクトの行動をどのようにして生成するのかを概略して示す。行動モデル３０は、例えば姿勢３２、しぐさ３３、顔の動き３４、視線方向３５などの特定の行動を生成するためにフレームワークによって受け取られる入力がどのように使用されるのかを支配するオブジェクトの特殊な行動フレームワーク３１を定義する。行動フレームワーク３１は多くのノードを備え、以下にさらに詳細に説明される（行動フレームワークの例については、図５と図７を参照すること）。
【００５９】
フレームワーク３１に対する入力は、多岐に渡る外部ソースと内部ソースから引き出すことができる。例えば、外部コンテキスト／イベント３６から、他の文字３７から、他のムード合図３８から、他の所定のプロファイル３９からである。フレームワーク３１自体も特定のプロファイル４０を設計するために使用することができ、結果として生じるプロファイル３９は次に１つ又は複数のフレームワークノードの行動パラメータに指定される値を修正するためにフレームワーク３１に入力を提供する。
【００６０】
ユーザがアバターを直接的に操作する、あるいは行動設計ユーザインタフェース４１を使用して値を直接的に入力する場合、入力は、姿勢３２、しぐさ３３、顔３４、及び視線方向３４のフレームワークの行動出力ノードに対する移動によって指定される値によってフレームワーク３１に直接的に提供できる。フレームワークは、次に行動アクションのための適切な値を推論し、ユーザインタフェース／追跡調査システム４０は次に動画システムを使用して適切なアクションを生じさせる。
【００６１】
集合的に、姿勢、しぐさ、顔、及び目の行動ノードにより出力される値は動画サブシステム４１を使用して適切に動画化された行動を生じさせるために使用される。使用される動画サブシステムは、Ｑｕａｋｅエンジンなどのコンピュータゲームエンジン、又はＳＧＩのオープンインベンタ（Ｏｐｅｎ  Ｉｎｖｅｎｔｏｒ）ライブラリなどのシーングラフに基づいたコンピュータグラフィックシステムなどの任意の適切な動画アプリケーションによって提供できる。
【００６２】
（行動モデルアーキテクチャ）
ここで添付図面の図４を参照すると、本発明による層化された階層行動モデルの階層構造が概略で示されている。
【００６３】
図４は行動モデルの機能性が、５つの層、つまり行動モデル５１を定義するフレームワーク内の行動ノードの設計に機能上関係する第１の層と、行動アーキテクチャ自体５２ａの設計に、及び（技能のある技術者による、出力行動に対応する実際の動画等の作成に関係する）「コンテンツ作成」５２ｂに機能上関係する第２の層と、行動形容詞（同等に、行動パラメータ集合）５３の設計に機能上関係する第３の層と、例えば図４に示されるようにスライダ機能５４ａなどのパラメータ値選択機構に、行動プロファイル５４ｂの設計に、及び仮想オブジェクト５４ｃの直接的な操作によるモデルの中への入力の直接的な提供に機能上関係する第４の層と、最終的にはリアルタイム制御５５に関係する第５の層を備える本発明の好ましい実施形態を示す。
【００６４】
本発明の他の実施形態では、複雑なより多くの層が行動設計制御アーキテクチャで提供できるが、リアルタイム制御がサポートされなければならない場合には、５つの層は本発明の好ましい実施形態によって必要とされる最小である。
【００６５】
行動モデルの層とインタフェースをとるために必要とされる特殊化された知識及び／又は情報量のレベルは、概して、ユーザが修正しようと努めるフレームワークの特殊な特徴又は関数に依存する。例えば、モデルの上位層（例えば層４と層５）へのインタフェースはユーザの側での専門知識を相対的にほとんど必要としない。つまり誰もが本発明のこの態様に従って仮想オブジェクトのリアルタイム制御を実行できる。しかしながら、ノードタイプを設計する（つまり、行動階層のレベル１とのインタフェースをとる）ことを希望するユーザは専門家プログラマとである可能性が高い。
【００６６】
図４に図示される行動モデルは、（複雑度を増す）層の数と、モデルにおけるリアルタイム制御の包含の両方においてＳｃｅｒｒｉ及びＹｄｒｅｎ（下記参照）の既知の多層構造行動設計制御アーキテクチャとは異なる（例えば、多層構造アーキテクチャについての詳細は、Ｓｃｅｒｒｉ及びＹｄｒｅｎ［ＲｏｂｏＣｕｐチーム、ＲｏｂｏＣｕｐ−９９、ロボットサッカーワールドカップＩＩＩのエンドユーザ仕様、シュプリンガー出版コンピュータサイエンスにおける講義ノート（２０００）（End User Specification of RoboCup Teams, RoboCup-99,Robot Soccer World Cup III, Springer-Verlag Lecture Notes in Computer Science(2000)）］を参照すること）。より複雑な階層構造を有することと、リアルタイム制御機能性を実現する能力に加えて、他の際立った特徴は、行動フレームワークの行動パラメータ値を入力されたパラメータ値から内部的に推論できるようにする行動パラメータ推論方式の提供を含む。このようにして、ユーザは行動特徴と関連付けられる１つ又は複数の行動パラメータ値の集合を入力するとき、あるいはある特殊な行動アクションを生じさせるためにオブジェクトを操作するとき、受け取られた入力は１つ又は複数の行動アクションを備える他の同等な行動を生成するために使用できる。この行動パラメータ推論システムはここに以下にさらに詳細に説明される。
【００６７】
図４では、設計ノード型層５１は動画制御システムとのインタフェースをとる出力ノードの設計に関する。通常、出力ノードの出力は仮想オブジェクトを動画化するためにノードの他のセクションにより使用される。動画システムは、それが生じさせる行動を制御するいくつかのパラメータを含む。出力ノードは動画システムのパラメータごとに１つの出力を有し、そのパラメータは出力の値に直接的に設定される。例えば、姿勢ノードのケースでは、新しい姿勢は基準姿勢ごとの加重に基づいて基準姿勢の集合の組み合わせとして生成される。姿勢はその重量に比例して運動結合システムとともに混合される。姿勢ノードはその重量に対応する姿勢ごとに出力を有する。他の出力行動はパラメータと行動の間でさらに複雑なマッピングを有するであろう。例えば、出力ノードは、ノード型のサブタイプを作成する（概してきわめて技術で技能のある）プログラマによって、及び実行時にアーキテクチャのフレームワークに新しい型を追加することによって作成でき、ノードはファイルからの定義を行動コントローラに読み込むために使用できる。本発明の他の実施形態では、出力ノードは使用されている動画システムと合うようにその出力を適合させる。
【００６８】
ユーザは、一般的には、行動設計モデルの層２のアーキテクチャ設計５２ａ又はコンテンツ作成５２ｂ特徴を修正する前に行動フレームワークに精通するように訓練を受ける必要がある。層２はある特定のアプリケーションのために仮想オブジェクトを作成するためのフレームワークを備える。それは、行動コントローラの設計及び出力ノードのためのコンテンツの設計を含む。例えば、出力ノードは事前に存在する運動又は他のコンテンツに基づいた行動を生じさせるように設計できる。多くの出力行動はいくつかの既存の動画及び類似するコンテンツに基づく。例えば、姿勢モデルは既存の姿勢の集合に基づき、顔の表情モジュールは既存の顔の表情の集合に基づくであろう。これらは市販されている３Ｄモデリングツールを使用して技能のある設計者によって作成できる。
【００６９】
行動コントローラの設計は、通常、手で編集できる、設計仕様ファイル、例えばＸＭＬファイル、又は他の適切なファイルタイプ（おそらく特別に設計されるファイルタイプ）によって指定される。行動コントローラはグラフ構造を有するので、単純なグラフィック編集ツールが代替実施形態の設計仕様ファイルを編集するために提供されてよい。いったん設計仕様ファイルが編集されると、それは前述された行動フレームワークを使用してコントローラにコンパイルできる。
【００７０】
図４の層３、４及び５の形容詞設計層５３とスライダ５４ａ、プロファイル設計５２ｂ、直接操作５２ｃ及びリアルタイム制御機能は、概して未熟なユーザがオブジェクトの行動をカスタマイズできるようにするために構成される。特に、ユーザは添付図面の図８を参照して以下にここにさらに詳しく説明されるように行動プロファイルを設計する手段によって層３と４とインタフェースをとることができる。
【００７１】
（行動コントローラ）
ここで添付図面の図５を参照すると、本発明の第１の実施形態による仮想オブジェクトのための行動コントローラのフレームワーク６０が示されている。図５では、行動コントローラのフレームワーク６０は、１つ又は複数のソースから１つ又は複数の出力に入力をマップするいくつかの計算ノードを備える。フレームワーク６０内のノードは、例えば他の仮想オブジェクトの行動から引き出されてよい入力である外部入力を提供するノード６１、グローバルフレームワークパラメータと、（直接的又は間接的のどちらかで）フレームワーク内のすべてのノードによってアクセス可能であるその関連入力値とを提供するグローバルパラメータノード６２、名前によって特定され、特殊なノードにとって内部の１つ又は複数の値と関連付けられる行動ノード６３ａ、６３ｂ、６３ｃ、６３ｄ、及び（例えば他の仮想オブジェクトの行動コントローラによる使用のために）外部で使用できるパラメータ値を出力する外部出力ノード６４、又は適切な行動を提供する仮想オブジェクトの実際の所望される動画を生じさせるために行動動画機構によって使用されるパラメータ値を提供する行動出力ノード６５を含む、出力ノード６４、６５を含む。プログラミングの観点から、各パラメータは、例えば指定された数値付きのテキスト名などの名前−値組から構成される。使用される行動モデルの正確なアーキテクチャは、行動コントローラのフレームワーク６０の形式を決定する。
【００７２】
図５では、フレームワーク６０は、その機能がいくつかのパラメータに基づいていくつかの出力にいくつかの入力をマップすることであるいくつかの行動ノード６３ａ、ｂ、ｃ、ｄを備える。図５は、外部入力６１とグローバルパラメータ入力６２がどのようにして集合的に行動ノード６３ａ、６３ｂ、６３ｃ、６３ｄに入力を提供するのかを概略的に示す。ノード６３ａ、ｄは、ノード６３ｂ、ｃから入力を追加で受け取る。
【００７３】
外部入力６１は、例えば、他のキャラクタが親しみやすい、又は服従的である程度などの、環境と他のオブジェクトについての高水準情報を含む。
【００７４】
グローバルパラメータ入力６２は、その行動に影響を及ぼし、各行動ノードによって決定される特殊な行動を修正する仮想オブジェクトの高水準属性を備える。例えば、グローバルパラメータ値は、例えば幸福な又は親しみやすいなどのオブジェクトのムード又は態度などの特徴を備えてよい。簡略に図１Ｂを参照し直すと、複数の動作パラメータ集合が、キャラクタがどれほど親しみやすいのか、あるいはどれほど内気なのかなどの多様なグローバルパラメータを示すために名付けられている。
【００７５】
行動コントローラフレームワークの中の行動ノード６３ａ、６３ｂ、６３ｃ、６３ｄに入力される各グローバルパラメータ名−値組は１つ又は複数の数値出力を生成する。これらの数値出力は、次に、外部出力ノード６４による外部出力として渡されるか、あるいは出力ノード６５によって行動出力と関連付けられるのどちらかである。
【００７６】
外部出力６４は、例えば仮想オブジェクトがどれほど親しみやすいか、あるいは服従的であるのかなど、外部入力に同等な情報を備える。外部出力として提供されるパラメータ名−値の組は身体言語情報を伝達する。この外部出力が他の仮想オブジェクト（複数の場合がある）によって受け取られると、それにより他の仮想オブジェクト（複数の場合がある）の行動を修正する他の仮想オブジェクト（複数の場合がある）の内部行動パラメータを推論できる。あるコントローラによる外部出力は、同じ名称を有する名称−値組を一致させることにより他の仮想オブジェクト（複数の場合がある）の行動コントローラ（複数の場合がある）に提供される外部入力と相互に関連付けられる。
【００７７】
各行動出力ノード６５は、行動アクションに対応する出力を生じさせる。プログラミングの観点から、行動出力ノード６５は行動ノード６３ａ、６３ｂ、６３ｃ、６３ｄの（オブジェクト指向の意味での）サブタイプを備え、パラメータから行動にマップするために出力への入力の同様なマップを実行する。行動出力ノード６５は出力ノードの他の部分によってキャラクタを動画化するために使用できる出力を生じさせる。例えば、姿勢出力ノードでは、新しい姿勢が生成される基準姿勢の集合、及び基準姿勢ごとのパラメータがある。姿勢の実際の表現はオブジェクトの関節角度に関して（オイラー角度として）記憶される。新しい姿勢は、重量として姿勢のパラメータを使用して基準姿勢に対応する角度に対して加重総計を実行することにより生成される。これらの生成された角度は基礎を成す幾何学的な表現における対応する変形に直接的に至る。
【００７８】
（フレームワーク内の行動ノードの構造及び機能）
ここで図６を参照すると、図５の行動ノード６３ｄの拡大図が示されている。図６は複数の異なるソースからの入力が行動ノードによってどのようにして使用されてよいのかを概略して示している。図６に図示されるように、行動ノード６３ｄはその内部パラメータ集合に基づいて１つ又は複数の出力に行動ノードによって前方方向でマップされる最高３つの異なる種類の入力を受け取ることができる。図６では、行動ノード６３ｄへの入力は例えばノード６３ｂ、６３ｃなどの別の行動ノードから、１つ又は複数のグローバルパラメータ名値組によって提供される入力６２から、及び／又はフレームワークの外のソースからの外部入力６１からの出力から生じることがある。外部入力６１は、対話規則の所定の組に従ってオブジェクトが対話している別のオブジェクトによって生成されてよい。行動ノードに対する外部入力はノードによって修正されてよい。例えば、入力は、入力が許容範囲を超えて拡張する場合には、無視される、あるいは最大値又は最小値に制限されてよい。代わりに、外部入力がユーザの文化に異なる文化に従って実行されるアクションを表す場合、外部入力は、ユーザ自身の文化における適切な行動に対応する外部入力が、事実上ユーザの仮想オブジェクトによる反応を修正するためにフレームワークによって使用されることを確実にするために、最初に適切に修正されてよい。
【００７９】
図６は、行動ノードがどのようにしてその機能性を逆転し、逆転マップを実行するのかも示している。逆転マップは、入力が行動ノードの出力に対応するレベルにあるフレームワークによって受け取られると必ず実行される。これは、例えば、ユーザが、これが行動ノード６５への出力に同等なレベルでのフレームワークに入力を提供するためにオブジェクトを直接的に操作するときに発生する可能性がある。その結果、この受け取られた「出力」はフレームワークを通る逆転マップの開始点となり、各内部行動ノードはそのパラメータ値を、最終的に受け取られた「出力」を生じさせるフレームワークのためのグローバルパラメータ値も決定されるまで、ここに以下に詳しく説明される方法で推論される。
【００８０】
前方方向又は後方方向のどちらかで、フレームワーク内の各行動ノードは、ノードの機能に従っていくつかのパラメータに基づいて１つ又は複数の出力に１つ又は複数の入力をマップすることができる。
【００８１】
（前方マップ）
前方マップのケースでは、出力は、各項Ｔｉｊがいくつかの因数
【数１】
0004579904.tif 000002
【００８２】
の積であり、各因数が内部パラメータ又はノードの入力のどちらかであるいくつかの項
【数２】
0004579904.tif 000003
【００８３】
の総計として示されたオブジェクトのための行動コントローラによって提供される。前記に示されたように、ノードへの入力は別のノードからの出力として生じ、アーキテクチャ全体に大局的に指定されるパラメータであるか、あるいは外部入力であり、別のアーキテクチャから（つまり他のオブジェクトの行動コントローラから）生じてよい。
【００８４】
例えば、キャラクタは（キャラクタが生まれつき親しみやすいことを示す）値１．２のグローバルパラメータ「親しみやすさ」で設定でき、それは（他のキャラクタが愉快であることを示す）１．５という値の別のキャラクタから外部入力「気持ちのいい態度」も受け取るであろう。これらは（キャラクタが他のキャラクタに対して親しい姿勢をとるべきであることを示す）値１．８の出力「親しい」を生じさせるためにノード内でともに乗算されるであろう。この出力は次に、キャラクタが、前方に傾く、及び他のキャラクタに向かうという２つの基準姿勢を結合することによってこれを達成すべきであると判断する可能性のある他のノードに渡されるであろう。これらの２つの姿勢の重み付けは、「親しい」出力から計算され、新しい姿勢を生成するであろう動画システムに渡されるであろう。
【００８５】
ここで図７を参照すると、本発明の第２の実施形態による行動コントローラのためのフレームワークの概略図がより詳しく示されている。図７では、行動ノードは緊急性の平衡、優勢性要因、緊急性の差異、反応性、優勢性差異、親近感、ステータス、気持ちのいい態度、近接さ、空間の関係（ｓｐａｃｅ  ｆｌｉｎｇ）及びくつろぎを含む。行動出力ノード６５は顔の表情、高水準の姿勢ノード、視線方向、しぐさ及び姿勢を含む。他の実施形態はさらに発話の調子、速度、強勢等の行動出力ノードを含んでよい。
【００８６】
図７に概略して示されるフレームワークの複雑さは図５に示される単純なフレームワークより高いが、より複雑なフレームワークは本発明の特殊な応用例及び実施形態に合うように構築されてよい。ユーザがその行動フレームワークに従って生成されるオブジェクトの行動を修正できるようにするために、１つ又は複数の行動パラメータの集合を備える行動形容詞が、これが、ユーザが供給することを必要とされる入力のレベルを大幅に簡略するため構築される。
【００８７】
行動形容詞の例は、各仮想オブジェクト５、６の行動プロファイルが、軽薄さ、親しみやすさ、男っぽさ、他の好み（ｏｔｈｅｒＬｉｋｉｎｇ）、悲しい、自惚れ、はにかみ及び優位点（ｓｕｐｅｒｉｏｒｉｔｙｔｏＯｔｈｅｒ）という形容詞を含む図１Ｂに示される例を含む。これらの行動形容詞のそれぞれは行動パラメータ集合を備え、概して単純なテキスト名又は句によって行動設計ユーザインタフェースで表現される。通常、「形容詞」名称は、ユーザによる認識を容易にするために、直感的に前記「形容詞」が修飾する行動のその態様を説明する。行動パラメータ集合の中の各パラメータは、関数によって作用できる初期値又はデフォルト値を指定され、任意の外部入力された値と併せて作用されてよい。例えば、関数は単純な一次代数関数であってよい、あるいは所定量分、行動パラメータ集合にユーザによって指定される任意の値を単にスケーリングする（ｓｃａｌｅ）ことであってよい。代わりに、関数はちょうど入力された値を戻す「恒等」関数であってよい。
【００８８】
図７に概略で示されるフレームワークは、非言語的な個人内（ｉｎｔｒａ−ｐｅｒｓｏｎａｌ）動作の多様な態様を実行するための本発明の態様を表す。行動コントローラは例えばオンライン会議又はコンピュータゲーム／チャットルームシナリオのキャラクタなど、仮想オブジェクト間の対話を強化し、それらをより信用できるように見えるようにすることができる。特にフレームワークは半自律的な（つまり、ユーザがアバターの各行動アクションを具体的に決定しない）アバターにとって有効である。
【００８９】
アバターの使用の多くは個人内の（ｉｎｔｒａ−ｐｅｒｓｏｎａｌ）動作を含むので、適切な非言語的な行動はそれらの使用を大幅に強化する。図７では、行動コントローラは多くの個人内（ｉｎｔｒａ−ｐｅｒｓｏｎａｌ）態度を符号化し、姿勢及び視線方向行動などの動画を生じさせるいくつかの出力を潜在的に制御する。制御システムはＡｒｇｙｌｅ（Ｍｉｃｈａｅｌ  Ａｒｇｙｌｅ（１９８８）身体伝達第２版（Ｂｏｄｉｌｙ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ２ｎｄ  ｅｄｉｔｉｏｎ、Ｒｏｕｔｌｅｄｇｅ）によって、及びＭｅｈｒａｂｉａｎ（Ａｌｂｅｒｔ  Ｍｅｈｒａｂｉａｎ（１９７２）非言語的伝達（Ｎｏｎｖｅｒｂａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ、Ａｌｄｉｎｅ−Ａｔｈｅｒｔｏｎ）によって提案される理論に基づいている。Ａｒｇｙｌｅは、非言語的な行動、親密さと優勢性−服従に対して最大の影響を及ぼす個人間の関係の２つの態様を提案している。これらは後述されるように恒常的動機としてモデル化できる。これらに関係して、Ｍｅｈｒａｂｉａｎは、微笑むこと、物理的な接近と接触、権威／ステータスなどの事柄で表示され、くつろぎ又は緊張と反応性で表示され、一般的な物理的な活性化で表示される非言語的活動親近感（好み）の三つの次元を提案した。反応性の次元はオプションであり、それ以外の場合これらの量に基づく図７に示される行動コントローラでは実現されていない。
【００９０】
図７では、緊急性及び優勢性のＡｒｇｙｌｅの次元はＭｅｈｒａｂｉａｎの親近感とステータスの次元に密接に関連付けられているため、それらはアーキテクチャで関連付けられる。Ｍｅｈｒａｂｉａｎの次元は緊急性エージェントと優勢性エージェントにより直接的に決定される行動ノードとしてモデル化される。緊急性及び優勢性は恒常的動機としてモデル化される。
【００９１】
変数の所望される値は、仮想オブジェクトのグローバルパラメータ及び任意の他の仮想オブジェクトからの外部入力に基づいて緊急性平衡及び優勢性因数ノードによって計算される。所望される親密さを強める因数は、キャラクタがどれほど親しみやすいか、それが他のキャラクタをどれほど好きか（グローバルパラメータ）及び他のキャラクタがどれのど快適であるのか（外部入力）を含む。それを減ずる因数はキャラクタがどれほど内気か、及び他のキャラクタがどれほど優勢であるのかである。これらの因数のすべてはそれらのプロファイルに基づいてキャラクタごとに異なる可能性のある重み付けを有する。所望される優勢性の因数はやはりいくつかの他の因数に依存する２つのキャラクタ間のステータスの所望される差異である。緊急性差異は所望される緊急性と実際の緊急性の間の差異となり、実際の緊急性がＩａであり、所望される緊急性がＩｄ１である場合に他のキャラクタがどの程度親密であるのか（外部入力）によって決定され、前記緊急性差異は以下のとおりである。
【００９２】
ΔＩ＝Ｉｄ−Ｉａ
優勢性の方程式は、因数は言うまでもなく異なっているが類似している。行動反応性の第３の次元は本発明の他の実施形態で実現される。
【００９３】
本発明のこの実施形態では、キャラクタの行動は高水準タイプの行動、つまり気持ちのいい態度、近接さ、空間の充填、くつろぎに関して定義される。これらは階層の動機レベルとアクションを形成するレベルの間の中間物として動作する。反対はしかめっ面のしぐさ又は攻撃的なしぐさである可能性があるが、気持ちのいい態度は微笑んでいる顔などの一般的な愉快な態度である。それは親近感（好きか、嫌いか）の表現である。気持ちのいい態度は姿勢で多くの表現を有さないが、一例は、他のキャラクタではこれが通常親しみやすい姿勢として解釈されるとき、キャラクタがその頭を側面に傾ける「頭をかしげること」である。近接差は、物理的な距離を含む社会的な距離（親密さ）であるが、体の向きや相互の視線などのことも含む。低い社会的な距離は高い親近感の結果である。それは、前方に傾く又は他のキャラクタにふれるなどの多くの方法で姿勢で表現される。高い社会的な距離は反対であり、体を逸らすとして表現できるが、体全体の向きをかえることとしても表現できる。空間の充填は、例えば姿勢又はさらに多くの又はさらに少ない拡大しぐさによって自分自身をさらに大きく又はさらに小さくする傾向である。姿勢の例は完全な高さに体を起こすこと、又は足を離して立っている又は座っていることを含む。高い空間充填は優勢性と関連付けられ、低い空間充填は服従と関連付けられる。くつろぎはおもに姿勢であるが、他の種類の行動とも関連付けられる低い体の緊張である。高いくつろぎは優勢なステータスのしるしであり、姿勢の非対称性によって表すことができる。
【００９４】
本発明のこの実施形態では、高レベルの行動因数を実際の姿勢に変換するいくつかの高水準姿勢ノードがある。姿勢ごとに１つの高水準姿勢がある。それぞれが高水準行動タイプの１つ又は複数に依存している。高水準行動タイプの値は、姿勢のための値を生成するために重み付けにより乗算される。これは、キャラクタが姿勢を実行している程度を決定する。重み付けはキャラクタプロファイルに依存し、その結果異なるキャラクタが同じ高水準行動のためにさまざまな姿勢を生じさせるであろう。姿勢の値は次に姿勢出力ノードに渡される。これは姿勢の実際の表現を記憶している。これは関節角度という点での表現である。各姿勢に対応する関節角度は重みとして姿勢の値を使用して総計され、結果は根本的な幾何学的な表現に直接的に渡されるキャラクタの実際の姿勢である。
【００９５】
図８は、仮想オブジェクトの動作の生成における特定の段階を示している。含まれている前記段階は、最初に、１つ又は複数の行動形容詞の１つ又は複数の設計であり、第２に複数の行動形容詞を備える行動プロファイルの設計であり、第３にユーザによるプロファイル内での行動形容詞の値の指定であり、最後に行動コントローラによる行動の以後の生成である。行動コントローラによる行動のユーザ入力及び生成はユーザが仮想環境でオンラインである間にリアルタイムで動的に発生することがあるのに対し、形容詞及びプロファイル設計段階は概してオフラインで発生する。
【００９６】
本発明では、形容詞は１つ又は複数の行動パラメータの集合を含む。行動コントローラのフレームワークの中のどの行動パラメータが行動特徴に影響を及ぼすのかの選択は相対的に技能のあるタスクである。しかしながら形容詞を提供することによって、行動設計インタフェースのユーザに必要とされるデータと理解の量は削減される。形容詞設計７０及び行動パラメータを指定するためのデフォルト値７１の選択は、図７を参照してすでに前述されている。
【００９７】
（プロファイル設計）
形容詞設計をセットアップするために必要とされる知識のレベルと対照的に、オブジェクト７２の行動プロファイルにどの形容詞が含まれなければならないのかの選択は形容詞を構築するために必要とされる知識のレベルに比較してより複雑ではないタスクである。行動プロファイルの設計段階により、ユーザは、前記ユーザが行動設計インタフェースを使用して制御しようと努めるオブジェクト（複数の場合がある）の行動にどの行動特徴が関連しているのかを選択できるようにする。
【００９８】
したがって、行動プロファイルは１つ又は複数の形容詞から構成される。形容詞は単一のグローバルパラメータ値、又は一意に指定された行動ノードパラメータ値、あるいは複数のパラメータ名−値タイプの各タイプの１つ又は複数（ａ  ｐｌｕｒａｌｉｔｙ  ｏｆ  ｏｎｅ  ｏｒ  ｍｏｒｅ  ｏｆ  ｅａｃｈ  ｔｙｐｅ  ｏｆ  ｐａｒａｍｅｔｅｒ  ｎａｍｅ−ｖａｌｕｅ  ｔｙｐｅｓ）を含んでよい。このようにして、ユーザは行動コントローラのための内部パラメータ及び／又はグローバルパラメータを設定できる。本発明のある実施形態では、行動プロファイルは２つのセクションを備え、その両方ともパラメータ名−値組を使用して説明される。第１のセクションはオブジェクトの全体的な個性を説明する（個性という用語はここではオブジェクトの一般的な気質を表すために使用される）。第２のセクションは属性名値の集合を備える。本発明の一実施形態では、「態度」セクションの各形容詞は一意の行動ノードパラメータ（複数の場合がある）を備えるのに対して、「個性」セクションの各形容詞はグローバルパラメータ（複数の場合がある）を備える。
【００９９】
態度は、仮想オブジェクトによって他の仮想オブジェクトがどれと対話しているのかに基づいて変化する仮想オブジェクトの行動の態様を備える。例えば、仮想オブジェクトは別のキャラクタよりあるキャラクタとより親しい可能性がある。態度はキャラクタの名称（又はキャラクタの集合）及びそのキャラクタと対話するときにだけロードされるパラメータ値の集合から構成される。これに関連して、態度は、それが少なくとも１つの行動パラメータ名−値組から構成される集合を備えるという点で「形容詞」の形式である。
【０１００】
行動プロファイルの態度パラメータセクションは、対話に存在するそれぞれの指名されるオブジェクトごとの少なくとも１つのパラメータ値の集合を含む。これらの値は適切な行動を生成するために行動フレームワークのパラメータにロードされる。例えばクラス「見知らぬ人」のオブジェクトのパラメータ値など、オブジェクトのクラス、つまり個々のオブジェクトのためのパラメータ値の集合も、オブジェクトが、アバターが以前遭遇したことがない他のアバターを好まないという事実を反映するために指定することもできる。
【０１０１】
パラメータは任意の適切な方法でその値が設定される可能性がある。２つの方法はきわめて適切と考えられる。第１に、値はノード名、パラメータ名、及びパラメータを設定する値を使用してフレームワークパラメータを指定することによって直接的に指定できる。第２に、複数のフレームワークパラメータはここに、すでに行動フレームワークの１つ又は複数の行動パラメータを備える集合を指すためにここに定義される「形容詞」と呼ばれるすでに説明されたデータ構造で関連付けられてよい。ユーザが形容詞に選択してよい一連の考えられる値は、プロファイル設計段階７３に含まれてよい（又は代わりにそれは形容詞設計段階の一部を形成してよい）。
【０１０２】
最後に、いったんユーザによって「形容詞」に値が指定されると（ステップ７４）、集合の中の各パラメータの実際の値はステップ７５で決定され、形容詞設計段階の間に定義されるデフォルト値（ステップ７３）とユーザによって形容詞に指定される値（ステップ７４）の関数として与えられる（ｇｉｖｅｎ  ｂｙ）。
【０１０３】
例えば、ユーザは「幸せ」と示される行動パラメータ集合「形容詞」に「１０」という値を指定してよい。行動プロファイルが行動コントローラの中に読み込まれると、「幸せ」についてユーザによって指定される値「１０」は、次に、パラメータ集合「幸せ」を構成するために形容詞設計によって決定された（ステップ７０、７１）すべてのパラメータ（複数の場合がある）のための実際のパラメータ値に変換され、実際の値は形容詞と関連付けられる入力値に作用する関数により決定される。
【０１０４】
どのパラメータが集合的に行動パラメータ集合を構成するのかは、プロファイル変換ファイルによって決定される。プロファイル変換ファイルは各行動パラメータ集合を定義し、それぞれを「形容詞」名（又は行動パラメータ集合のための何らかの同等な名称又は句、つまりパラメータ集合が修正する行動特性と直感的に関連付けられる名称）と関連付ける。プロファイル変換ファイルは、行動パラメータ集合に属するとして少なくとも１つのパラメータも定義する。要約すれば、行動モデルによって使用される各パラメータの最終的な値は、プロファイルで指定される値、及び／又は行動パラメータ集合に指定される値の関数である。
【０１０５】
ユーザがプロファイルを修正できる複数の方法がある。例えば、符号をテキスト編集すること、スライダを使用して、あるいはさらに詳しく後述される、仮想オブジェクトの直接的な操作によって値を指定することである。
【０１０６】
ここで図８に戻ると、オブジェクトのための行動形容詞にユーザによって指定される値はオブジェクトの行動コントローラに対する入力として提供される。行動コントローラは、次に入力を取り、適切な行動出力を生じさせるために、それからどのパラメータに、どの値が指定されるのかを推論する（ステップ７５、７６、７７、７８）。オブジェクトによる行動を生成するために受け取られる入力が使用される機構が図９Ａにさらに詳しく概略で示されている。
【０１０７】
図９Ａは、フレームワークが動作する２つの方法を示している。第１に、フレームワークは、外部入力又はグローバルパラメータ又は形容詞などの高水準入力が設定されると発生する、前方マッピングだけを使用して動作できる。このケースでは、フレームワークは前方に実行され、出力ノードの値が決定されるまで、ノードで入力から出力を生成し、（図６も参照すること）前方マッピングを実行するにすぎない。
【０１０８】
第２に、フレームワークは、入力よりむしろ出力が変更されると逆転マッピングを実行するように動作できる（やはり図６も参照すること）。例えば、オブジェクトの直接的な操作が発生するときである。しかしながら、複数の入力が両方のマッピングを実行するために受け取られることもあるが、逆転マッピングは直接的なマッピングによる出力に影響を及ぼすことがあり、したがって本発明のいくつかの実施形態ではこれは最初に実行される。
【０１０９】
ここで図９Ａを参照すると、行動コントローラは入力を受け取る（ステップ８１）。入力が例えば外部入力パラメータ又はグローバルパラメータに対応するフレームワーク内の高水準ノードでなど、入力ノードで受け取られる場合（ステップ８１）、入力は次に所望される行動を生成するために動画システムに値を提供するために使用される（ステップ８５）特定の出力を生じさせるために（ステップ８３）接続されたノード（ステップ８３）の行動コントローラのフレームワーク内で前方にマップされる。所望される行動は入力で示される行動に同等な行動を含む。しかしながら、同等な行動はさらに複雑であってよい、及び／又はさらに多くのアクションを備えてよく、その内のいくつかは同時に及び／又はシーケンスで実行されてよい。
【０１１０】
（逆転マップ）
代わりに、入力がオブジェクトの直接的な操作などのソースから受け取られる場合には、受け取られる入力は、フレームワークの出力ノードの１つ又は複数が（動画システムと併せて）生じるであろう出力の行動と同等である。この場合、入力は出力ノードの１つ又は複数で受け取られ（ステップ８１）、最初に、どの入力値がこのような出力を生じさせる（ステップ８２ｂ）のかを決定するために行動フレームワークを通して逆転マップされる。
【０１１１】
この逆転マップは、このような行動を生じさせるであろうグローバルパラメータが推論されるまで、フレームワークのすべての関連するノードに、それらのパラメータ値を推論させることを必要とする（ステップ８４、８５）。これらの誘導されたパラメータ値は推論されたグローバルパラメータ値から開始する前方マッププロセスのために保持され、他の行動を生成するために使用される。結果として、ただ１つのアクションが直接的な入力を提供するために使用されたが、コントローラにより生じる行動はオリジナルの直接的に操作された入力よりはるかに豊富且つ複雑な場合があり、１つ又は複数の行動アクション、又は行動アクションのシーケンスを備えることがある。これは再びさらに詳細に後述される。
【０１１２】
（前方マップ）
例えば、行動設計インタフェースが１つ又は複数のグローバルパラメータ、例えば、別の仮想オブジェクトに対するアバターの態度を表すおそらく特定のノードに特殊なパラメータ値だけではなく、例えばアバターなどの仮想オブジェクトの特定のムードを表すグローバルパラメータなどの１つ又は複数のグローバルパラメータにも値を指定する発明の実施形態を考える。ここで図７と図９Ａの両方を参照すると、入力６２は行動フレームワークの適切なノードによって受け取られ（ステップ８２ａ）、次に内部行動ノード６３を通して行動フレームワークによってマップされる（ステップ８３）（例えば、図７に戻って参照すると、パラメータ値は緊急性平衡ノードと優勢性因数ノードを通して最初にマップされ、次に、出力ノード６５に達するまで親近感ノードとステータスノード、及び気持ちのよい態度、近接、空間充填及びくつろぎのノードに前方にマップできる緊急性差異ノード、反応性ノード及び優勢性差異ノードにマップされてよい。図７に示される本発明の実施形態では、出力ノードは顔の表情、高水準姿勢ノード（及びこれはさらに姿勢ノードにマップする）、視線方向、及びしぐさノードを備え、そのそれぞれはアバターを動画化させ、適適切な行動を生成させるために適切な動画システムに提供できる出力を生成する。入力がフレームワークを通して前方にマップされるとき、グローバルパラメータは、二次的な行動変化を誘導できるようにするフレームワークの中の他のノードに対する入力として提供される。これらのグローバルパラメータ値は、次にさらに複雑な行為をアバターによって実行できるようにする。
【０１１３】
（直接的な操作）
図７に図示される本発明の実施形態では、出力ノードは顔の表情、高水準姿勢ノード（及びこれはさらに姿勢ノードにマップする）、視線方向、及びしぐさノードを備え、そのそれぞれはアバターを動画化させ、適切な行動を生成させるために適切な動画システムに提供できる出力を生成する。ここで再び９を参照すると、ユーザが例えば別のアバターの腕に触れるために（例えばアバターのアームをクリックすることによって、ステップ９０）アバターの姿勢を直接的に操作する例を考える（ステップ９１）。これはフレームワークの姿勢ノードで特定の入力を生じさせる（ステップ９２）。アバターによってこのような動作を生じさせるであろうグローバルパラメータ値は、他のアバターに対する親しみやすさが意図されるときにだけこのようにするためにセットアップされてよい。行動コントローラは、フレームワークのグローバルパラメータ入力ノードに達するまで姿勢ノードによって生じる値（ステップ９３）からフレームワークの関連するノードを通って戻る姿勢ノードにより生じる値から逆転マップを実行し、グローバル行動パラメータ「軽薄さ」のための適切な入力値を推論できる（ステップ９３を参照すること）。これらのグローバルパラメータ値は次にフレームワークを通る前方向マップを開始するために使用される。
【０１１４】
逆転マップは、例えば気持ちのいい態度とくつろぎになど、フレームワーク内の他の行動パラメータ値にも値を指定するであろう。推論されたグローバルパラメータ値から順方向マップ（ステップ９４）を実行すると、指定される値は他の行動を生成する（ステップ９６）複数の出力（ステップ９５）を生成するために使用される。例えば、気持ちのいい態度とくつろぎに指定される値は、アバターが微笑む結果となる、顔の表情のための出力ノードで追加行動を生じさせることができる。他方のアバターの顔を見るために視線方向を変更するなどの他の行動も生成されてよく、握手などのしぐさが腕に触れることに続くように生成されてよい。このようにして、ユーザは別のアバターの腕に触れるためにアバターの姿勢を直接的に操作したにすぎないが、行動コントローラは、ユーザが、アバターが他のアバターに対して親しみやすく、アバターに挨拶することを希望し、相応して適切な行動を生成することを推論するために、ユーザがアバターに与えた身体言語を解釈した。
【０１１５】
要約すれば、入力として受け取られる情報からさらに多くの情報を推論することによって、逆転マップを使用して生成される行動は、シーケンスとして又は無作為に実行できる１つ又は複数の行動アクションを備える場合があり、視線方向、スタンス、運動等の１つ又は複数のアクションは同時に実行できる。これは、ユーザに非常に簡略な制御機構も提供する一方、オブジェクトにより示される行動の複雑さを大幅に高める。推論機構はさらに詳細に後述される。
【０１１６】
直接的な操作は、ユーザが仮想オブジェクトの体の部分をクリックし、次に体の部分を新しい位置にドラッグするためにマウスを使用して仮想オブジェクトを直接的に操作することによって達成できる。他のコンピュータナビゲーションツール、又はカーソルとキーボード、ジョイスティック、トラックボール、ポインタ等のツールの組み合わせは仮想オブジェクト操作するために、当業者に明らかであるように任意の適切な方法で使用できる。
【０１１７】
実際のオブジェクトが行動コントローラによって制御される本発明の実施形態では、ユーザが手でオブジェクトの姿勢を直接的に変更することを望むことがある。運動中の他のオブジェクトに対するその近接さだけではなく変位及び又は移動の速度を含んでよいこの運動の特徴も、どの入力が行動コントローラに供給されるのかを決定するであろう。
【０１１８】
このようにして、ユーザは仮想オブジェクトによって特殊な所望されるアクションを示すことができ、行動フレームワークは、次に、ユーザが示した行動と一貫している所望される複数の行動アクションを外挿することができる。新しい出力パラメータ値は、ユーザによって示されるアクションだけではなく、さまざまな環境に適切である類似した運動も複製するために使用できる。さらにパラメータ設定値は、行動プロファイルに、又は行動プロファイルを構築するために次にユーザが使用できる形容詞として保存することができる。より複雑な行動の生成をトリガするためのオブジェクトの直接的な操作は、子供は複雑な行動を実行するために玩具を容易にプログラミングできるため、オブジェクトが玩具である場合に特に有効である。
【０１１９】
仮想オブジェクトの行動コントローラのための行動フレームワークが内部パラメータとグローバルパラメータを推論する方法がここでさらに詳細に説明される。
【０１２０】
（行動推論方式）
行動コントローラの動作を定義する行動フレームワークの構造により、例えばユーザが仮想オブジェクトを直接的に操作するときに、内部パラメータ値は逆転マップを使用してフレームワーク内に入力から推論できるようにする。再び図９Ａを参照し直すと、行動コントローラがフレームワークに外部のソースから引き出される入力を受け取るケースを考える。入力が直接的に出力と関連付けられる場合、例えば、直接的な操作によって引き出される場合、逆転マップは前方マップのためにグローバルパラメータ値をシードする（ｓｅｅｄ）ために実行される必要がある。この逆転マップは、下記に概略される行動推論方式を使用して実行される。
【０１２１】
入力の外部ソースはオブジェクトの環境により決定できるであろう。例えば、入力は、別のオブジェクトがオブジェクトに対して投じられた情報を備えてよい。代わりに、それは別のオブジェクトの行動コントローラからの出力を備えてよい。代わりに、それは例えばユーザに取り付けられる運動センサによって提供されるデータなどの、ユーザからの入力を備えてよい。代わりに、それはユーザからの直接的に入力される値、又は行動設計ユーザインタフェースを介した入力を備えてよい。入力は別のオブジェクトの身体言語の表示を提供でき、そのケースでは情報は適切な応答を推論するために使用できる。
【０１２２】
いったん入力が行動コントローラによって受け取られる（ステップ８０）と、受け取られた入力値は次にオブジェクトの出力値と関連付けられる（ステップ８１）。これは行動出力ノードのそれぞれ異なるタイプごとに特殊目的マップを使用して実行される。いったんこの初期のマッピングが出力ノードで実行されると、逆転マップはノードの内部パラメータ及びグローバルパラメータを推論するためにフレームワーク全体を通して実行される。これは行動フレームワーク内の各ノードの影響を受けた出力ごとにセットアップされる方程式を使用して達成され、
【数３】
0004579904.tif 000004
【０１２３】
ここでは各因数は内部パラメータ又はノードの入力のどちらかである。
【０１２４】
このようにして、出力の各項Ｔｉｊは、それを出力の他の項Ｔｉｊから区別する解決できる因数を有する。項Ｔｉｊは内部パラメータ値又はグローバルパラメータ値などの内部値であってよい解決できる因数を含む。このような環境では、解決できる因数には単に新しい値が指定し直されるだけである。解決できる因数が別のノードから入力される場合、処理はソースノードからの入力を表すための方程式の新しい集合を形成して繰り返される。出力での変更は、このようにして解決可能な因数を内部パラメータ又はグローバルパラメータによって表現できるまでにノードの階層を上方へ伝搬される。
【０１２５】
各項Ｔｉｊは、２つの解決可能なパラメータを有する。つまりリアルタイムの制御のために内部状態を推論するときに解決のために使用され、他方はプロファイル編集のために使用される。
【０１２６】
解決可能な因数という点での各ノードの出力は以下のとおりであり、
【数４】
0004579904.tif 000005
【０１２７】
ここではｆｉｊは解決不可の因数の総計であり、Ｓｉｊは解決可能な因数である。この一次方程式は、適切な線形代数方法を使用して解かれる。例えばユーザがいくつかの編集機能を実行した場合、一次方程式のシーケンスが行列形式で存在し、
ｏ＝Ｆｘ
そこではｏは編集のそれぞれの出力のベクタであり、Ｆは（例えば外部入力又は時間変化するパラメータのさまざまな設定値など、文脈に依存する可能性がある）解決不可の因数の行列であり、ｓは解決できる因数のベクトルである。Ｆが二乗ではないすべてのケースにおいて複数の正確な解があるであろうため、擬似反転方法が最小二乗解を見つけるために使用できる。
【０１２８】
ｓ＝Ｆ＋ｏ
この方法は単一ノードのパラメータを推論できるようにする。出力に直接的に接続されない階層のさらに上にノードのためのパラメータを推論するために、解決可能な因数のいくつかは内部パラメータよりむしろノードの中へ入力として提供される。前記入力は外部入力、グローバルパラメータ又は他のノードの出力のいずれかである場合がある。外部入力が解決可能なパラメータであることはできない。グローバルパラメータはそれらの値を解決プロセスの間に直接的に設定させる。
【０１２９】
入力が別のノードの出力である場合には、解は他のノードのための解決を必要とし、それは、そのノード及びそのノードに入力を提供するあらゆるノードを含む、方程式のシステムをセットアップすることにより達成できる。このケースでは、追加ノードは他のノードに対する出力を提供し、したがって解決される方程式は
【数５】
0004579904.tif 000006
【０１３０】
の形で最もよく表現され、各行動ノードは既定の出力ノードの出力から決定される。
【０１３１】
（リアルタイム制御）
行動階層の中の最終層によりユーザがリアルタイムで複雑な行動をオブジェクトに提供できるようになる本発明の実施形態では、ユーザは種々のソースから行動コントローラに入力を提供する、あるいは任意の個別オブジェクトのために複数の行動設計インタフェースを使用することを希望することがある。例えば、又は入力を提供する他のデバイスは、例えばユーザの頭部及び／又は体の上で運動トラッカを使用することを含んでよい。２つ又は３つ以上の制御装置は操作上の負担を削減するためにユーザによって同時に操作されてよい。使用される制御装置は、ユーザが仮想オブジェクトの体のすべての部分をつねに制御することを必要するのではなく、ときどき限られた数の部分を操作する必要があるにすぎないことを確実にするために行動モデルで特定のパラメータを設定するために形容詞の使用を利用する。
【０１３２】
直接的な操作によって引き出されるのか、あるいはユーザを追跡調査するセンサによって引き出されるのかに関係なく、オブジェクトの行動は適切なインタフェース機構を使用して行動コントローラに渡すことができる情報を生成する。情報が特定の行動出力ノードのパラメータ値に同等であるパラメータ値を表現するとき、行動コントローラは仮想オブジェクトによるその特定の行動を生じさせるために必要とされる関連のあるパラメータに値を内部で指定するためにフレームワークを通して逆転マップを実行する。これによりオブジェクトはこれらのパラメータと関連付けられる他の行動を生成できる。例えば、ユーザは図２Ｃに示されるような別のキャラクタの腕に触るためにオブジェクトの腕を動画する可能性がある。フレームワークは、このしぐさが軽薄さの高い値に対応すると推論する。したがって、これは例えば前に傾く又は微笑むなどの他の軽薄な行動を生じさせるであろう。
【０１３３】
パラメータ値は、トラッカが使用される場合にユーザの行動に対応する可能性のある、「親しみやすさ」などの幅広い行動パターンを表すことができる。推論機構はどのような種類の行動が表現されているのかを決定するために仮想オブジェクトの操作に関連する代数方程式を解くだけなので、本発明のこの実施形態におけるユーザの行動を推論するために確率論的な機構は使用されない。いったん「親しみやすい」行動として認識されると、フレームワークはさらに幅広い範囲の親しみやすい行動を複製する。このより幅広い範囲の行動は、ユーザがリアルタイムで直接的に制御することを期待される内容を超えている。例えば、仮想オブジェクトは、ユーザが握手をするためにアバターを操作することによってアバターが親しみやすいことを示したに過ぎないという事実にも関わらず、フレームワークにより微笑むように誘導されてよい。入力が提供されない場合、フレームワークにより仮想オブジェクトは自律的に行動し続けることができる。これにより、行動設計ユーザインタフェースに不案内なユーザは仮想環境にさらに慣れ、仮想オブジェクトをもともとの始めから操作しようと試みる必要なくその環境について学習できるようにする。これは、非常に低い年齢の子供にも適した、きわめて使いやすいインタフェースを提供する。
【０１３４】
添付図面に示されるような行動制御システムは非言語的な行動をサポートする発明の実施形態に基づいている。しかしながら本発明全体として、行動は、それぞれが特定のパラメータによって修正される物理的なアクション及び／又は音声アクションによって表現される。例えば、身体言語などの物理的なアクションは、例えばオブジェクトが恐れているかどうかなど、オブジェクトの現在の内部の状態により修正されてよい。音声アクションは例えば音の高さなどのパラメータによって修正できる。これに関連して、用語「行動」は特定の刺激に対する制御された、又は制御されない（反射性）反応として生成される１つ又は複数のアクションとして定義できる。行動はより一時的な感情の特色（例えば、幸せ又は悲しい）だけではなく長期の特徴特色（例えば臆病又は攻撃的）も含む。
【０１３５】
本発明の非言語的行動の実施形態の一例は、親密さ及び優勢性−服従の概念を使用して個人間の関係性をモデル化する。本実施形態では、行動制御システムは、関係者の間の親密さと優勢性／服従のレベルを反映する親近感、権威／ステータスなどの特定の属性の多様な程度を示すために非言語的な活動を生じさせる。親近感は、例えば微笑む、物理的な接近及び／又は触ることなどの活動によって適切な行動のディスプレイにより表現される。権威／ステータスは、例えば姿勢における表示されたくつろぎ又は緊張によって表現できる。表現できる他の非言語的活動は一般的な物理的な活性化によって表示される応答性を含む。これに関連して、図１Ｂに図示されるパラメータ値は、本発明のこの実施形態では、親近感又は「男っぽさ」に対応する「親しみやすさ」と「他の好み（ｏｔｈｅｒＬｉｋｉｎｇ）」、又は優勢性に対応する「自惚れ」などの所定の感情の／個人内（ｉｎｔｒａ−ｐｅｒｓｏｎａｌ）パラメータである。
【０１３６】
（発明の他の実施形態）
ここに前述された実施形態はおもに制御されている仮想オブジェクトの行動を説明している。しかしながら、ここに説明される行動制御の概念は、たとえ前記説明で明示的に説明されていなくても容易に非仮想、つまり現実のつまり実体のあるオブジェクトの制御に及び、本発明は当業者により理解されるように、相応して実在のオブジェクトと仮想オブジェクトの両方の行動に及ぶ。
【０１３７】
本発明の前記実施形態は本質的に静的である行動フレームワークを有していた。静的なフレームワークでは、パラメータ値は、ユーザによっていったん設定されると、それはリセットされるまでその値に設定されたままである。より自律的な動画は経時的にパラメータを変えることにより製作できる。本物の動画を作成するには、フレームワークは時間依存性のパラメータを含むように修正される。
【０１３８】
さまざまな種類の時間依存性パラメータは行動フレームワークによりサポートできる。例えば、無作為に変化するパラメータは、異なる種類がより予測可能な動画を生じさせることができる一方、ときおりの姿勢のシフトを提供できるであろう。このようなパラメータは逆転マップを実行するためのより精密な技法が必要であり、従って、本発明の最良の形態として考えられない。しかしながらパラメータ変更のあらゆるタイミングの改変を制御することによって、より現実的な姿勢シフトが得られてよい。
【０１３９】
本発明の別の動画化された実施形態は、いくつかのプロファイルの提供を必要とする。これは１回の進行で（ｏｎｅ’ｓ  ｇｏ）パラメータの集合を改変するであろう。本発明のこのような実施形態を実現する１つの方法は、動画の感覚で重要なフレームとしてプロファイルを提供し、それらの間で補間することである。さらに多くの動画を実現する別の方法は、それぞれの状態がプロファイルを付着される有限状態機械システムを使用してキャラクタを制御することである。この状態は、世の中の出来事、キャラクタの内部因数のために変化し、新しい状態が入力されると、そのプロファイルがロードされる。
【０１４０】
本発明の他の実施形態は他の種類の出力ノードを有する。例えば、本発明の一実施形態では、出力ノードとして姿勢ノードだけを提供できる。この出力ノードはパラメータから行動に簡単なマッピングを提供し、パラメータは姿勢ごとに存在し、これらのパラメータの値は姿勢の間で補間を提供する。このモデルは、例えば運動の部分が同じように補間できるであろう他の種類の行動に適用できるであろう。しかしながらより複雑な行動は、内部パラメータを推論するために行動から過去に遡ってマッピングするという複雑さを増すさらに複雑なマッピングを必要とする。
【０１４１】
この問題に対する多様な手法がある。第１は、それを無視し、将来的にであるが、解かれていない行動を生じさせることができるいくつかの出力ノードを有することである。これは制御できる他の種類の行動がある限り実行可能なオプションである。いくつかの態様は、例えば視線方向など、ユーザが制御するには困難すぎるため無視できる。別の手法は、出力モードのタイプごとに手作りのマッピングを提供することである。これは多大な時間を要する。最後の方法は、例えばベイジアンネットワーク又はニューラルネットワークなど、マッピングを学習するために何らかの種類の学習方式を使用することであろう。
【０１４２】
本発明の一実施形態は、有限状態機械拡張と確率論的ベイジアンネットワーク拡張を組み合わせる。ネットワーク内の各ノードはこの実施形態でいくつかの状態を有し、それぞれの状態は異なる内部パラメータ設定値、及び入力と出力の間でこのように異なるマッピングを有する。この実施形態では、ノードが既定の状態にある確率は他のノードの状態と、グローバルパラメータ又は他のノードの出力に依存するであろう。次に、フレームワークはノード間に２つの異なったタイプの相互関連を有する。一方はノード間を移動する連続評価パラメータで現在のシステムのように連続的である。他方はノードが離散状態の集合の内の１つである個別的である。他方の行動はそうではないが、いくつかの行動特徴は当然個別的であるため両方のタイプの情報には等しい重要性が与えられる。例えば、腕を組む、又は腕を組まないのどちらかであり、一方は会話中であるか、又は会話中ではなく、どちらのケースも５０％はあまり意味がない。しかしながら、他の行動特徴は当然連続的であり、例えばオブジェクトは、経時的に幸せであると怒っているの間で連続的に変化することができ、個別的なステップのシーケンスとして変化できるはずはない。
【０１４３】
異なる方法は本発明のこのような実施形態で各種の情報を推論するために適している。ベイジアンネットワークが個別的な状態の集合の確率を推論できるのに対し、ここに提示されるフレームワークは不確実性のない連続的なデータに有効である。本発明のいくつかの実施形態では、行動フレームワークに対する拡張により情報を推論するための両方の方法を結合できる。
【０１４４】
添付図面に関して前述された方法は非確率論的であり、各ノードの状態が既知であるときに連続的な状態を推論するために使用できる。両方の推論方法が結合される本発明の他の実施形態では、ベイジアンネットワークは事前に使用でき、ノード状態及びそれらの間のその確率関係はベイジアンネットワークとして処理し、出力から各ノードの状態を推論するために使用できる。ネットワークのトポロジは、それがベイジアンネットワークとして処理されるのか、連続的なネットワークとして処理されるのかに関係なく同じままとなるであろう。いったんこれらの要素が所定の位置にあると、システムの内部パラメータは人々の行動に関するデータから自動的に学習できる。
【０１４５】
本発明の他の実施形態では、プロファイルを設計するための前述された方法は、現実のデータに基づいている内部パラメータの集合を学習するために多数の例に拡張できる。ベイジアン学習技法は、確率関係性を学習するために使用できる。これを用いると、システムのパラメータは現実の人からのデータに基づくことができるため、理論的に捕捉するのが非常に困難である人々の行動をさらに正確に反映できる。
【０１４６】
ユーザがオンラインチャットルームを介して対話する本発明の実施形態がここで説明される。この実施形態では、ユーザは行動コントローラに入力を提供するテキストだけではなく身体言語を用いて自らを表現できる。これは、オンライン仲介、オンライン会議（つまり情報が仮想オブジェクトのグループによって交換されなければならない）、オンライン共同制作（つまりタスクが仮想オブジェクトのグループによって交換されなければならない）、及びオンライン商環境（例えばアバター販売室）などの他の仮想環境だけではなく、アバターが人間のカウンセラーを表すオンラインカウンセリングなどの本発明の実施形態にも適している。
【０１４７】
身体言語は、行動を生成するためにプロファイルから所定の感情／個人内パラメータの集合を使用することによって、説明されるフレームワーク内の設計されるアーキテクチャによって自律的に生成される行動を備える。ユーザは標準的なデスクトップＰＣを使用してシステムにアクセスする。行動コントローラに入力を提供するためにユーザによって使用されるコンピュータナビゲーション装置は、例えばマウスとキーボードなどのこのような環境で一般的に使用可能なものに限られている。キーボードはテキストを入力するために使用され、マウスはキャラクタの運動を制御するために使用できる。ユーザは大抵の場合テキストを入力することに集中したいため、キャラクタ移動の制御はときおりとなるであろう。（例えば、行動設計ユーザインタフェースを介した）１つの入力は、単一の運動よりむしろキャラクタの全体的な行動への補正を生じさせ、このようにして少量のユーザ入力を活用する。これは、その入力から感情／個人内部（ｉｎｔｒａ−ｐｅｒｓｏｎａｌ）パラメータを推論することによって容易に達成される。アバターの感情のより直接的な入力は現在のグラフィックチャットシステムで使用される「感情」を通して行われる。これらは直接的にグローバルパラメータを設定できる。
【０１４８】
本発明の別の実施形態は、ユーザの運動によって提供される入力をさらに含むことによって前記実施形態を拡張する。例えば、家庭用コンピュータは多くの場合、行動コントローラに、ユーザの状態を推論するために使用される入力を提供する特殊化された出力ノードを通して顔の追跡調査を実行するように装置できる安価なビデオカメラを有している。
【０１４９】
前述された本発明の実施形態により、ユーザは、彼らがそのアバターのプロファイルを編集できるようにすることによりそのアバターの行動をカスタマイズできる。エンドユーザの場合、これは可能な限りユーザフレンドリな方法で行われなければならず、図１Ａから図２Ｅに図示される実施形態は、行動設計ユーザインタフェースにより提供されるスライダの集合を使用して形容詞を編集することに特に適している。
【０１５０】
本発明には、チャットルームのための方法に類似した方法で実現できる国際アバター会議を含む多くの応用例がある。このケースでは、特に商談のために参加者の実際の身体言語を捕捉することはさらに重要である。これは、ユーザの高品質顔追跡調査を含むより精密な身体追跡調査システムを有することによって実行できるであろう。声のトーンなどの他の合図もユーザの状態を推論するために使用できるであろう。行動コントローラのフレームワークは、各ユーザの行動が正しく推論されることを確実にするために、さらに複雑化できる。
【０１５１】
（行動変換）
ここに前述された推論方式により、異なる文化的な行動の間で変換する能力を含むように行動コントローラの応用例を拡大する仮想エージェントつまりアバターの内部状態のモデルを決定できる。例えば、アバターがウェブミーティングなどのオンライン環境における異なる文化背景のユーザと対話するユーザのための個人的な仮想エージェントとして機能しているケースでは、ユーザの実際の移動及び感情を直接的に表現する能力は望ましくない可能性がある。
【０１５２】
本発明のこのような実施形態は、入力段階又は出力段階どちらかで行動コントローラによって行動を変換することを含むように修正されてよい。これは、一方の文化に対応する行動フレームワークを使用して外部出力を生成し、他方の文化に対応する別のフレームワークを使用してこの外部出力から行動を作成し直すことによって達成できるであろう。それ以外の場合、２つのフレームワークは同じとなるであろうが、さまざまな文化に対応するさまざまなプロファイルを使用できるであろう。
【０１５３】
これは、また、第１の文化に対応する行動アクションに関連付けられる行動コントローラによって受け取られる入力を、第２の異なる文化における同等な行動アクションに関連付けられる入力に最初に変換できるようにする変換要素を含むことによっても達成できる。同様に、第２の文化に従った動作に対応する行動コントローラの出力行動ノードから出力を受け取り、これを第１の文化に変換して戻す変換要素を実現することが可能である。
【０１５４】
変換要素は、ある文化から別の文化に身体言語の変換を実現するためにコントローラ内で設けることができる。これを達成できる１つの機構は、異なる文化事情で異なる身体言語を生成するために異なるプロファイルとともに使用される１つの身体言語の意味を表す高水準パラメータによってである。これは、他の観察者が参加者のアバターの身体言語を独自の文化で知覚することを確実にするであろう。したがって特定の行動は文化Ａの観察者によってシステムに入力され、文化Ａに対応するプロファイルによって親しみやすい行動として解釈されるであろう。親しみやすさパラメータは、次に文化Ｂに対応するプロファイルを含む機械で機械集合に渡されるであろう。この機械は異なる行動であるが、文化Ｂにおける親しみやすさの意味を有するものを生成するであろう。
【０１５５】
コンピュータゲーム環境で使用するために構成される本発明の実施形態では、過剰な身体言語が生成でき、自分達のキャラクタのためのユーザコマンド、つまりそのキャラクタの内部状態がどうであるのかからも推論される。ユーザ入力は多くの方法で実行することができ、例えば、前述されたように、ユーザはキャラクタの姿勢を直接的に操作できるであろう。代わりに、さらに大規模な行動は、誰かに話し掛けるかどうか又は選ばれた言葉に関わらず、例えばアクションの推論に使用することができる。行動フレームワークのためのグローバルパラメータが推論されると、ゲームのキャラクタをこれらに反応させることができる。有利なことに、本発明は、ゲーム設計者が強力であるが直感的なツールを使用してキャラクタの行動の設計を細かく制御できるようにする行動設計ツールを提供する。
【０１５６】
オブジェクトが役割を果たす必要がある本発明の実施形態では、ユーザが設計インタフェースを使用して作成するプロファイルは、行動が役割に適切であること、及び内部状態の推論が、その行動が推論されるオブジェクトの役割を反映することを確実にするために使用できる。
【０１５７】
（ロボット利用応用例）
前述された実施形態は特に仮想環境に関連しているが、複雑な継続している行動を生成できる行動コントローラとのインタフェースをとるためにユーザに単純な入力装置を提供するという概念は現実世界、特にロボット利用玩具に応用例を有する。したがって、本発明の他の実施形態は、ユーザが、ロボットオブジェクトの複雑な動作、特におもちゃの人形などの特に関節のあるロボット的なオブジェクトで複雑な行動を生成するための単純な機構を提供する。
【０１５８】
このような実施形態は、行動プロファイルに指定された直感的なラベルの操作だけを必要とする一方、例えば子供が精密なキャラクタをロボット利用のペット又は玩具に提供できるようにする。このような応用例では、行動設計ユーザインタフェースはリモコン制御型装置として提供されてよい。行動制御情報は次にロボット装置による適切な処置を指示するために無線で提供できる。行動コントローラは、動画指示がロボット装置にだけ伝送されるインタフェースデバイスの一部、又はロボット装置自体の一部又は次に行動指示をロボット装置に中継するプロキシ装置の一部のどちらかとして提供されてよい。
【０１５９】
本発明の他の実施形態において、製造又は生産ラインの状況で使用されるロボット装置は、ここに説明されているような階層行動モデルフレームワークを使用して同様にその行動を制御することを必要とし、行動設計ユーザインタフェースは、ロボット利用装置が実行しなければならないタスクに応じてさらに特殊な役割をする行動オプションを提示してよい。このようなロボット装置はその状況に応じて、結線接続又は無線接続のどちらかで遠隔制御されてよい。水中用の環境では海中ロボットが無線通信リンク及び／又は有線通信リンクを必要としてよいのに対し、例えば、生産ラインでは、ロボット利用装置は有線通信リンクを介して制御されてよい。
【０１６０】
有利なことに、本発明は、ロボットオブジェクトが、ユーザによるリアルタイム制御を必要とする何らかのレベルの自律的／半自律的な行動によりスピードが重視されるタスクを実行しなければならない応用例で特に重要である、複雑なロボット行動に優る使用が簡単な行動設計インタフェースを提供する。
【０１６１】
本発明がハードウェア及び／又はソフトウェアの適切な組み合わせによって実現でき、ハードウェアとソフトウェアの前記組み合わせが前述された特定の区分によって限定されることを目的としないことが当業者に明らかになるであろう。さらに、本発明が１つ又は複数の装置で実行中の１つ又は複数のコンピュータプログラムのセットで実現されることが可能である。装置は通信網全体で分散されてよい。
【０１６２】
仮想環境におけるエンティティの行動が前記仮想環境内の１つ又は複数の他のエンティティの存在により影響を及ぼされている本発明の実施形態では、他の仮想エンティティの総計的な影響を判断し、前記総計的な影響を、そのとき影響を受けているエンティティの行動コントローラに対する高水準入力として使用することが可能であることも当業者に明らかになるであろう。これは、たとえアバターに影響を与えている仮想環境内の他のエンティティの１つ又は複数の、あるいはすべてが、その行動が影響を受けているアバターの観察者にとって存在しない場合にも発生する場合がある。例えば、アバターが他のエンティティのグループを教えており、前記他のエンティティが彼らがその行動により飽きていることを示す場合、教示を行っているアバターはさらに動画化された行動を採用する、及び／又は自律的にその視聴者の関心を引き上げるために自分たちのトーンの変形物及び大きさを増やす可能性がある。これにより、ユーザは、たとえスピーカが自分の仮想視聴者のすべてをじかに観察できない場合にも、例えばオンライン会議での関心を維持することができる。通常、総計的な影響は、その行動が影響を受けているエンティティの行動コントローラへの入力として処理された出力を提供する前に、処理方式に従って他のエンティティの行動コントローラによって提供される出力を処理することにより決定するであろう。例えば、他のエンティティの内の１つ又は複数により提供される出力ごとの平均パラメータ値は、その行動が他のエンティティによって影響を受けているエンティティの行動コントローラへの入力として使用される前に（すべてのエンティティが特定のパラメータ値に寄与することはできないが）決定されてよい。
【０１６３】
要約書の本文は以下に説明の一部として再現される。
【０１６４】
階層行動フレームワークは関節のあるオフジェクトにおける自律的及び半自律的な行動を生成し、制御するために使用される。行動コントローラは行動アクションに関連付けられる入力を受け取り、フレームワークを使用して複数の行動パラメータ値を推論し、同等な行動に対応する出力を生成するために行動コントローラにロードされるときにパラメータ値を使用して関節のあるオブジェクト内で同等な行動を生成するように構成される。同等な行動は入力された行動アクションを再現する、及び／又は同時にあるいはアクションのシーケンスの一部として実行されてよい１つ又は複数の他の行動アクションを含んでよい。
【図面の簡単な説明】
【０１６５】
【図１Ａ】本発明の第１の実施形態を概略して示す図である。
【図１Ｂ】図１Ａに図示される行動設計ユーザインタフェースの拡大図を概略して示す図である。
【図２Ａ】図１Ａに示されるような両方のアバターの中立の姿勢をさらに詳細に示す図である。
【図２Ｂ】ビル（Ｂｉｌｌ）アバターが高い男っぽさを有するときの２つのアバターの姿勢を示す図である。
【図２Ｃ】ビルアバターが高い軽薄さを有するときの２つのアバターの姿勢を示す図である。
【図２Ｄ】ビルアバターが低い軽薄さを有するときの２つのアバターの姿勢を示す図である。
【図２Ｅ】ボブ（ＢＯＢ）アバターが高いレベルのｐｕｔＵｐｏｎと傾聴と低いレベルのｄｏｍＳｕｂを有するときの２つのアバターの姿勢を示す図である。
【図３】本発明による行動アーキテクチャの概略概要を示す図である。
【図４】本発明のある実施態様による行動モデルの階層を示す図である。
【図５】本発明の実施形態によるオブジェクトのための行動コントローラの単純化したフレームワークの概略図である。
【図６】図５と図７に示されるようなアーキテクチャのフレームワーク内の行動ノードの概略図である。
【図７】本発明の別の態様によるオブジェクトのための、図５に示されるものよりさらに精密な行動コントローラ用フレームワークの概略図である。
【図８】本発明によるオブジェクト内で行動を生成する方法でリアルタイムステップと、オフラインプロファイル、及び形容詞設計を概略して示す流れ図である。
【図９Ａ】行動フレームワークがどのようにして本発明による同等な行動を生成するのかを示す流れ図である。
【図９Ｂ】行動コントローラの特殊な行動パラメータに指定される値を指定し直すためにユーザがどのようにしてアバターの体を操作できるのかを示す流れ図である。
【図１Ａ】
0004579904.tif 000007
【図１Ｂ】
0004579904.tif 000008
【図２Ａ】
0004579904.tif 000009
【図２Ｂ】
0004579904.tif 000010
【図２Ｃ】
0004579904.tif 000011
【図２Ｄ】
0004579904.tif 000012
【図２Ｅ】
0004579904.tif 000013
【図３】
0004579904.tif 000014
【図４】
0004579904.tif 000015
【図５】
0004579904.tif 000016
【図６】
0004579904.tif 000017
【図７】
0004579904.tif 000018
【図８】
0004579904.tif 000019
【図９Ａ】
0004579904.tif 000020
【図９Ｂ】
0004579904.tif 000021