(57)【要約】      （修正有）【課題】ゲーム装置のユーザと、拡張現実３Ｄ画像内でゲーム装置のスクリーン上に現れるバーチャルエージェントとの、高度なコミュニケーションプロセスを提供する。【解決手段】プロセッサにより実行される方法は、カメラからの画像を受け取り、マシンビジョン処理を用いて実世界オブジェクトを前記画像中に認識し、スクリーン上に、該実世界オブジェクトとバーチャルエージェントを含んだ拡張現実（ＡＲ）場面を表示し、受け取ったユーザ入力から単純化したユーザ意思を引き出し、該ユーザ入力に反応して、バーチャルエージェントをＡＲ場面内でアニメーションさせ、アニメーションは、単純化したユーザ意思に依存する。ユーザ入力から単純化したユーザ意思を引き出すことは、ユーザ入力をユーザーフレーズに変換し、ユーザーフレーズ中でセマンティック素子を決定し、セマンティック素子を単純化したユーザ意思に変換することを含む。【選択図】図８
2020198065.tif 000002
【特許請求の範囲】
【請求項１】
演算装置のプロセッサにより実行される方法であって、該方法は、
カメラからの画像を受け取り、
少なくとも一つの実世界オブジェクトを前記画像中に認識し、
スクリーン上に、少なくとも一つの実世界オブジェクトとバーチャルエージェントを含んだ拡張現実（ＡＲ）場面を表示し、
ユーザ入力を受け取り、
該ユーザ入力から単純化したユーザ意思を引き出し、
該ユーザ入力に反応して、バーチャルエージェントに前記ＡＲ場面内でリアクションを起こさせ、該リアクションは、前記単純化したユーザ意思に依存する、ように構成される。
【請求項２】
請求項１記載の方法において、該方法は、更に、オブジェクトデータベースを調べて、前記少なくとも一つの実世界オブジェクトの特性を取得し、前記リアクションは更に、該少なくとも一つの実世界オブジェクトの特性に依存する。
【請求項３】
請求項１又は２に記載の方法において、前記ユーザ入力から単純化したユーザ意思を引き出すことは、前記ユーザ入力をユーザフレーズに変換し、該ユーザフレーズを前記単純化したユーザ意思に変換することを含む。
【請求項４】
請求項３記載の方法において、前記ユーザ入力は、受け取った発話を含み、前記ユーザ入力をユーザフレーズに変換することは、スピーチ−テキストプロセスを前記受け取った発話に適用して、１セットの単語からなる前記ユーザフレーズを得ることを含む。
【請求項５】
請求項３記載の方法において、前記ユーザ入力はテキストを含み、前記ユーザ入力をユーザフレーズに変換することは、スペルチェック、文法チェック及び翻訳のうち少なくとも一つを実行して、１セットの単語からなる前記ユーザフレーズを得ることを含む。
【請求項６】
請求項３記載の方法において、前記ユーザフレーズを前記単純化したユーザ意思に変換することは、少なくとも一つのセマンティック素子を前記ユーザフレーズ内で決定し、該少なくとも一つのセマンティック素子を前記単純化したユーザ意思に変換することを含む。
【請求項７】
請求項６記載の方法において、前記少なくとも一つのセマンティック素子は、少なくとも一つの、意思表現とセマンティックオブジェクトタグを有する。
【請求項８】
請求項６記載の方法において、前記少なくとも一つのセマンティック素子は、意思表現とセマンティックオブジェクトタグを有する。
【請求項９】
請求項８記載の方法において、前記少なくとも一つのセマンティック素子を前記単純化したユーザ意思に変換することは、（ｉ）意思データベースから、前記意思表現に関連する意思を取得する、（ｉｉ）オブジェクトデータベースから前記セマンティックオブジェクトタグに関連するオブジェクト表現を取得する、及び（ｉｉｉ）前記オブジェクト表現に関連する意思と前記オブジェクト表現を連結して前記単純化したユーザ意思を生成することを含む。
【請求項１０】
請求項６記載の方法において、前記少なくとも一つのセマンティック素子を前記ユーザフレーズ内で決定することは、前記ユーザフレーズ内にある少なくとも一つの意思表現を認識するために、意思表現を格納する意思データベースを参照することを含む。
【請求項１１】
請求項１０記載の方法において、前記少なくとも一つのセマンティック素子を前記ユーザフレーズ内で決定することは、前記ユーザフレーズ内にある少なくとも一つのセマンティックオブジェクトタグを認識するために、セマンティックオブジェクトタグを格納するオブジェクトデータベースを参照することを含む。
【請求項１２】
請求項１１記載の方法において、意思データベースは、意思表現と対応する意思の間の関連を格納しており、前記オブジェクトデータベースはセマンティックオブジェクトタグと対応するオブジェクト表現の間の関連を格納しており、前記少なくとも一つのセマンティック素子を前記単純化したユーザ意思に変換することは、（ｉ）ユーザフレーズ内にあると認められる意思表現に関連する前記意思を、前記意思データベースから取得し、（ｉｉ）ユーザフレーズ内にあると認められるセマンティックオブジェクトタグに関連するオブジェクト表現を前記オブジェクトデータベースから取得し、（ｉｉｉ）前記意思と前記オブジェクト表現を連結して前記単純化したユーザ意思を生成することを含む。
【請求項１３】
請求項１２記載の方法において、該方法は更に、カメラ視野中にあるオブジェクトに対応する、オブジェクトデータベースから取得したオブジェクト表現を要求することを含む。
【請求項１４】
請求項６記載の方法において、少なくとも一つのセマンティック素子は、複数の意思表現を含む。
【請求項１５】
請求項１４記載の方法において、前記複数の意思表現は、コマンドと挨拶を含む。
【請求項１６】
請求項１５記載の方法において、該方法は、更に、ユーザフレーズを単純化したユーザ意思に変換する際に、挨拶よりもコマンドを優先させることを含む。
【請求項１７】
請求項８記載の方法において、前記少なくとも一つのセマンティック素子を単純化したユーザ意思に変換することは、（ｉ）意思データベースから前記意思表現と関連した意思を取得し、（ｉｉ）オブジェクトデータベースから、前記セマンティックオブジェクトタグに関連した複数のオブジェクト表現を取得する、該オブジェクト表現は、前記ＡＲ場面の異なるオブジェクトに対応しており、（ｉｉｉ）前記意思と前記複数のオブジェクト表現を連結して、前記単純化したユーザ意思を生成することを含む。
【請求項１８】
請求項２記載の方法において、前記少なくとも一つの実世界オブジェクトの特性は、該実世界オブジェクトの形状を含み、前記リアクションは、前記バーチャルエージェントを動かし、その動作中に、前記バーチャルエージェントの形を前記実世界オブジェクトの形状に一致させることを含む。
【請求項１９】
請求項１乃至１７記載の方法のうち、いずれか１項記載の方法において、少なくとも一つの実世界オブジェクトを前記画像中に認識することは、マシンビジョン処理を前記画像に適用することを含む。
【請求項２０】
請求項１乃至１９記載の方法のうち、いずれか１項記載の方法において、該方法は、更に、前記バーチャルエージェントと前記実世界オブジェクトのバーチャルモデルを有する３Ｄバーシャル世界を維持することを含む。
【請求項２１】
請求項１乃至２０記載の方法のうち、いずれか１項記載の方法において、前記リアクションは、更に該バーチャルエージェントの特別な行動タイプに依存することを含む。
【請求項２２】
請求項２１記載の方法において、前記リアクションはバーチャルエージェントをアニメーションさせることを含み、該アニメーションさせることは、データベースにアクセスして前記バーチャルエージェントの特別な行動タイプを取得し、行動ツリーに適用して該バーチャルエージェントをどのようにアニメーションさせるかを決定することを含む。
【請求項２３】
請求項６記載の方法において、前記少なくとも一つのセマンティック素子は、データベース内でコマンドと関連している意思表現を有し、前記リアクションは、前記コマンドの実行を想起させる外見的な動きを見せるように前記バーチャルエージェントをアニメーションさせることを含む。
【請求項２４】
請求項２３記載の方法において、前記リアクションは、バーチャルエージェントのアニメーションで、前記外見的な動きを先行させ、前記コマンドを認識したことを示すようにすることを含む。
【請求項２５】
請求項９記載の方法において、記リアクションは、３Ｄバーチャル空間でのバーチャルエージェントと前記オブジェクト表現に関連したオブジェクト間の距離に依存した要素を有する。
【請求項２６】
請求項９記載の方法において、前記リアクションは、３Ｄバーチャル空間でのバーチャルエージェントと前記オブジェクト表現に関連したオブジェクトの特性間の距離に依存した要素を有する。
【請求項２７】
請求項１乃至２６記載の方法のうち、いずれか１項記載の方法において、前記リアクションは、単純化したユーザ意思の少なくとも一つの、前の例に依存する成分を有する。
【請求項２８】
コンピュータ可読指示を含んだコンピュータ可読媒体であり、ゲーム装置の少なくとも一つのプロセッサにより前記指示が読まれ、実行されると、前記ゲーム装置はビデオゲームにおいて以下の方法を実行するが、該方法は、
カメラからの画像を受け取り、
マシンビジョン処理を用いて、少なくとも一つの実世界オブジェクトを前記画像中に認識し、
スクリーン上に、少なくとも一つの実世界オブジェクトとバーチャルエージェントを含んだ拡張現実（ＡＲ）場面を表示し、
ユーザ入力を受け取り、
該ユーザ入力から単純化したユーザ意思を引き出し、
該ユーザ入力に反応して、バーチャルエージェントを前記ＡＲ場面内でアニメーションさせ、該アニメーションは、前記単純化したユーザ意思に依存する、ように構成される。
【請求項２９】
コンピュータ可読指示を含んだコンピュータ可読媒体であり、ゲーム装置の少なくとも一つのプロセッサにより前記指示が読まれ、実行されると、前記ゲーム装置はビデオゲームにおいて以下の方法を実行するが、該方法は、請求項１乃至２７の内、いずれか１項に記載の方法である。
【請求項３０】
少なくとも一つのプロセッサと該プロセッサにより実行される指示を格納したメモリを有するゲーム装置であり、ユーザからの入力を受け取るように構成された少なくとも一つの入力装置、ユーザに出力を提供するように構成された少なくとも一つの出力装置、前記受け取った入力に反応して出力を生成するインタラクティブコンピュータプログラムを実行するために、メモリ内の前記指示を実行するように構成された少なくとも一つのプロセッサを有し、前記インタラクティブコンピュータプログラムは、少なくとも一つのプロセスを有する、
該プロセスは、
カメラからの画像を受け取り、
マシンビジョン処理を用いて、少なくとも一つの実世界オブジェクトを前記画像中に認識し、
スクリーン上に、少なくとも一つの実世界オブジェクトとバーチャルエージェントを含んだ拡張現実（ＡＲ）場面を表示し、
ユーザ入力を受け取り、
該ユーザ入力から単純化したユーザ意思を引き出し、
該ユーザ入力に反応して、バーチャルエージェントを前記ＡＲ場面内でアニメーションさせることを含み、該アニメーションは、前記単純化したユーザ意思に依存する、ように構成される。
【請求項３１】
少なくとも一つのプロセッサと該プロセッサにより実行される指示を格納したメモリを有するゲーム装置であり、ユーザからの入力を受け取るように構成された少なくとも一つの入力装置、ユーザに出力を提供するように構成された少なくとも一つの出力装置、前記受け取った入力に反応して出力を生成するインタラクティブコンピュータプログラムを実行するために、メモリ内の前記指示を実行するように構成された少なくとも一つのプロセッサを有し、前記インタラクティブコンピュータプログラムは、請求項１乃至２７の内、いずれか１項に記載の方法を実行するプログラムである。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータゲームに関わり、特に拡張現実を使うインタラクティブコンピュータゲームに関する。
【背景技術】
【０００２】
拡張現実は、実際の世界の映像と架空オブジェクトの描写との混合を可能とすることで、コンピュータゲームの世界を変えた。しかし、そうしたゲームでは、実際の世界の映像から表面（ＡＲ平面）を検知することがあるが、バーチャルエージェントとのユーザのコミュニケーション能力が関係している限りにおいて、限界がある。このことは、ゲームの興趣をそぐものであり、購買意欲の低下にもつながるものである。
【発明の概要】
【０００３】
本発明は、とりわけ、ゲーム装置のユーザが、拡張現実３Ｄ画像内でゲーム装置のスクリーン上に現れるバーチャルエージェントと、コミュニケーションし、これにより自然言語を通して見かけ上制御することができる、ゲーム装置により実行されるバーチャルエージェントコミュニケーションプロセスである。そしてバーチャルエージェントは実世界オブジェクト及びその特性や位置が装置のメモリに格納されているバーチャルオブジェクトと相互に「交流」する。これは、バーチャルエージェントとのより高度なコミュニケーション特徴であり、ここに提供されたものは、消費者を引きつけ、多くの消費者をゲーム出版者にもたらす。
【０００４】
即ち、演算装置のプロセッサにより実行される方法であって、該方法は、カメラからの画像を受け取り、マシンビジョン処理を用いて少なくとも一つの実世界オブジェクトを前記画像中に認識し、スクリーン上に、少なくとも一つの実世界オブジェクトとバーチャルエージェントを含んだ拡張現実（ＡＲ）場面を表示し、ユーザ入力を受け取り、ユーザ入力から単純化したユーザ意思を引き出し、そして、該ユーザ入力に反応して、バーチャルエージェントに前記ＡＲ場面内でリアクションを呈示させ、該リアクションは、前記単純化したユーザ意思に依存するものである。
【０００５】
第２の広い観点は、コンピュータ可読指示を含んだコンピュータ可読格納媒体を提供するものであり、ゲー装置の少なくとも一つのプロセッサにより読まれ、実行されると、ゲーム装置にビデオゲーム内で以下の方法を実行させる。該方法は、カメラからの画像を受け取り、マシンビジョン処理を用いて少なくとも一つの実世界オブジェクトを前記画像中に認識し、スクリーン上に、少なくとも一つの実世界オブジェクトとバーチャルエージェントを含んだ拡張現実（ＡＲ）場面を示し、ユーザ入力を受け取り、ユーザ入力から単純化したユーザ意思を引き出し、そして、該ユーザ入力に反応して、バーチャルエージェントにＡＲ画面内で反応させる。リアクション（反応）は、前記単純化したユーザ意思に依存するものである。
【０００６】
第３の広い観点は、少なくとも一つのプロセッサと該プロセッサにより実行される指示を格納したメモリを有するゲーム装置を提供するものであり、ユーザからの入力を受け取るように構成された少なくとも一つの入力装置、ユーザに出力を提供するように構成された少なくとも一つの出力装置、前記受け取った入力に反応して出力を生成するインタラクティブコンピュータプログラムを実行するために、メモリ内の前記指示を実行するように構成された少なくとも一つのプロセッサを有し、前記インタラクティブコンピュータプログラムは、少なくとも一つのプロセスを有する。該プロセスは、カメラからの画像を受け取り、マシンビジョン処理を用いて少なくとも一つの実世界オブジェクトを前記画像中に認識し、スクリーン上に、少なくとも一つの実世界オブジェクトとバーチャルエージェントを含んだ拡張現実（ＡＲ）場面を示し、ユーザ入力を受け取り、ユーザ入力から単純化したユーザ意思を引き出し、そして、該ユーザ入力に反応して、バーチャルエージェントをＡＲ画面内で反応（リアクション）させる。該反応（リアクション）は、前記単純化したユーザ意思に依存するものである。
これらの観点及び他の観点、更に多様な実施例の特徴は、添付した図面を参照した以下の記述から明らかになる。
【図面の簡単な説明】
【０００７】
【図１】図１は、非限定的な実施例による、バーチャルエージェントとのコミュニケーション過程を持った、インタラクティブなコンピュータゲームを実行するゲーム装置を示すブロック図。
【図２】図２は、非限定的な実施例による、インタラクティブなバーチャルエージェントのいるスクリーンショットを示す図。
【図３Ａ】図３Ａは、非限定的な実施例による、パーソナリティパラメータデータベースの内容を概念的に示す図。
【図３Ｂ】図３Ｂは、非限定的な実施例による、オブジェクトデータベースの内容を概念的に示す図。
【図３Ｃ】図３Ｃは、非限定的な実施例による、オブジェクトデータベースの内容を概念的に示す図。
【図４】図４は、非限定的な実施例による、意思データベースの内容を概念的に示す図。
【図５】図５は、非限定的な実施例による、バーチャルエージェントとのコミュニケーション過程のステップを示すフローチャート。
【図６】図６は、非限定的な実施例による、バーチャルエージェントとのコミュニケーション過程のステップの一つに対応するサブステップを示すフローチャート。
【図７Ａ】図７Ａは、非限定的な実施例による、ユーザーフレーズを単純化したユーザ意思に変換する過程を示す模式図。
【図７Ｂ】図７Ｂは、非限定的な実施例による、ユーザーフレーズを単純化したユーザ意思に変換する過程を示す模式図。
【図８】図８は、ゲーム装置のような演算装置のプロセッサにより実行される方法を示すフローチャート。
【図９Ａ】図９Ａは、ユーザーフレーズとセマンティック素子間の対応を示す図。
【図９Ｂ】図９Ｂは、セマンティック素子と単純化したユーザ意思間の対応を示す図。
【図９Ｃ】図９Ｃは、図９Ａと図９Ｂの組み合わせを示す図。
【図１０】図１０は、非限定的な実施例による、パーソナリティパラメータデータベースでの行動タイプによって、アニメーションさせる行動ツリーを示すフローチャート。
【図１１】図１１は、単純化したユーザ意思の多様な組み合わせに対応するために使用される複数の行動ツリーを示すデータベースの概念図。
【０００８】
前述の図面は、非限定的なものであり、以下の記述で述べられる多様な観点や特徴を示すものである。
【発明を実施するための形態】
【０００９】
図１に示すように、ゲーム装置１は、コンピュータゲームを実行するゲームコンソール又はタブレットのようなものである。コンピュータゲームは、最低限、メモリ４に格納されたコンピュータ可読指示で規定されるインタラクティブコンピュータプログラムであり、少なくとも一つのプロセッサ２により読まれて実行される。少なくとも一つのプロセッサ２は、一つ以上の中央処理装置（ＣＰＵ）及び／又は一つ以上のグラフィック処理装置（ＧＰＵ）を有する。バス８は、少なくとも一つのプロセッサ２とメモリ４間の通信を行う。
【００１０】
単純な非限定的な実施例では、コンピュータ可読指示により規定されたインタラクティブコンピュータプログラムはゲームプロセス（又はゲームループ）及びレンダリングプロセスを含み、それらは少なくとも一つのプロセッサ２により実行される。
【００１１】
レンダリングプロセスは、ゲームループに対しては非同期的である（特に、グラフィック処理装置が−ＧＰＵによって行われる時は）。しかし、最終的な出力はフレームバッファ（ピクセルのアレイ）であり、通常のフレームレート（２４ｆｐｓ、３０ｆｐｓ、６０ｆｐｓ）でスクリーン５に表示される。入出力（即ち、ＤＡＣ−デジタル音声変換）を扱う他のハードウエアと共に、スピーカ１１を介した音声出力は（ＣＰＵ上の）メインスレッド上のゲームループで管理される。スクリーン５とスピーカ１１は、入出力インターフェース（Ｉ／Ｏ）７及びバス８を介して少なくとも一つのプロセッサ２に接続されている。画像と音は多様なゲームオブジェクトに関連しており、それらの特性及び位置はメモリ４に格納されている。ゲームオブジェクトの例には、プレイヤキャラクタ（ＰＣ）やノンプレイヤキャラクタ（ＮＰＣ）が含まれる。
【００１２】
ゲームオブジェクトのそれぞれは、３Ｄバーチャル空間内での特性及び位置のセットにより特徴つけられており、メモリ４に格納されている。ゲームオブジェクトの位置は、３Ｄバーチャル空間内のゲームオブジェクトにより占有される一セットの座標としてエンコードされる。ゲームオブジェクトに関する特性のセットには、ゲームオブジェクトの記述も含まれる。ゲームオブジェクトの特性のセットには、該ゲームオブジェクトが実際の世界のオブジェクトであるか、又はバーチャルオブジェクトであるかの指標も含まれる。実際の世界のオブジェクトは実際の世界に存在するゲームオブジェクト（ユーザの物理世界、例えば、カメラで撮った物など）を表し、最終的にメモリ４内に維持される３Ｄバーチャル空間内に配置される。一方、バーチャルオブジェクトは、３Ｄバーチャル空間内にのみ存在するゲームオブジェクトを表す。
【００１３】
ユーザ３は、少なくとも一つの入力装置（例えば、ジョイスティック、タッチスクリーン５，キーボード、コントローラ、マイクロフォン９，カメラ６及び／又はジェスチャーの一つ以上）を介してユーザ入力を行う。少なくとも一つの入力装置がＩ／Ｏ７及びバス８を介して少なくとも一つのプロセッサ２に接続されている。ゲーム過程（時として「ゲームループ」又は「ゲームロジック」とも呼ばれる）を実行する際の一部として、ユーザ３から受け取った入力は、処理され、メモリ１０４に格納されたゲームオブジェクトの特性及び位置を変化させることがある。この変化したデータがゲーム及びレンダループ／プロセスにより処理されると、スクリーン５にリンダリングされる画像を変化させ、スピーカ１１から生成される新しい音に変化が生じる。これらの出力が、少なくとも一つの入力装置を介した更なる入力をユーザが行って反応することを誘発する。
【００１４】
ＣＰＵゲームループの一部として、少なくとも一つのプロセッサ２は、カメラ６又はゲーム装置１に接続され又は一体化された他のイメージ装置からの画像のタイムシーケンスを取得／検索することができる。少なくとも一つのプロセッサ２は、２Ｄカメラ画像（カメラ６で撮った）内で見つけたオブジェクトを３Ｄバーチャル空間内に登録し、２Ｄカメラ画像をバーチャルオブジェクトと共に並べて表示することが出来る（即ち、３Ｄバーチャル空間内のバーチャルオブジェクトの一部の２Ｄ表現としてレンダリングする、即ち、カメラ／視野の円錐台２５内に現れるこれらのものを３Ｄバーチャル空間に適用する）。結果的に合成され、レンダリングされた画像は、拡張現実（ＡＲ）画面とされ、ユーザ３に、あるバーチャルオブジェクトがカメラ６の視野（ＦＯＶ）内に実際にあるかのような印象を与える。カメラ６それ自体は、３Ｄバーチャル空間で位置を持つ。
【００１５】
得られたカメラ画像は、少なくとも一つのプロセッサがコンピュータビジョンアルゴリズムを使って特定化することのできる機械認識可能実世界オブジェクトを含む。特に、少なくとも一つのプロセッサ２は、コンピュータビジョンアルゴリズムを実行して、得られた画像の一つ以上の視点から、形、色及び／又はテクスチャ（パターン）を吟味して既知のオブジェクトを特定するように試みる。コンピュータビジョンアルゴリズムの出力とカメラデータ及び実世界のＡＲ表現を組み合わせることで、実世界のオブジェクトに関する３Ｄ形状及び位置を演算することが可能となる。こうして、実世界オブジェクトは３Ｄバーチャル空間に正確に登録することができる。これにより、スクリーン上で合成画像内にバーチャルオブジェクトをレンダリンして示す際に、レンダリングプロセスにより考慮されるべき３Ｄバーチャル空間内の実世界オブジェクトの輪郭や障壁を定義することができる。
【００１６】
図２に、ＡＲ画面として、ゲーム装置１のスクリーン５上の例示画像の例を示す。この合成画像は、カメラ６によって撮られた２Ｄ画像（実世界オブジェクトを含んでいる）とバーチャル世界（複数のバーチャルオブジェクトを含んでいる）のレンダリングされたグラフィック表現を混ぜたものであり、３Ｄバーチャル空間内でカメラ視点からの画像である。
【００１７】
ＡＲ画面の実世界オブジェクトの一つは、２３０で示されたテーブルであり、ユーザ３の視点である。実世界オブジェクトの他の一つは、２４０で示されたカウチ／ソファであり、ユーザ３の視点である。カウチ／ソファ２４０は、テーブル２３０よりもカメラ６からは遠い距離であるため、３Ｄバーチャル空間内では、カメラ６の位置からそれだけ離れた位置となっている。
【００１８】
ＡＲ画面の２１０で示されたものはサッカーボールであり、３Ｄバーチャル空間内で定義されたバーチャルオブジェクトの一つであり、ユーザ３の視点である。ＡＲ画面の他のバーチャルオブジェクトの一つは、２００で示された「バーチャルエージェント」と言われるものである。
【００１９】
バーチャルエージェント２００は、他のバーチャルオブジェクトと同様に、３Ｄバーチャル空間内で座標を占める。加えてグラフィカルなリアリティを与えるために、バーチャルエージェント２００は、動けるように多少リアルな「身体」を持つようにレンダリングされ、表情を表すことが出来るように、多少リアルな「顔」を持つようにレンダリングされている。声による特徴付けもバーチャルエージェント２００に関連している。ある例では、バーチャルエージェント２００は、人間、動物、アンドロイド又は完全な空想物の形を取る。
【００２０】
図８は、ゲーム装置１の少なくとも一つのプロセッサ２により実行される方法のフローチャートである。特に、メモリ４は、コンピュータ可読指示のサブセットを格納しており、それは少なくとも一つのプロセッサ２により実行される。
【００２１】
ステップ８１０で、画像（又はフレームレートでの連続画像）をカメラ６から受け取る。この例では、画像は少なくとも一つの実世界オブジェクトを有しているが、この事実は、少なくとも一つのプロセッサには知られていない。従って、ステップ８２０で、マシンビジョン処理が、画像内での少なくとも一つの実世界オブジェクトを認識するために使用される。ステップ８２０の結果、実世界オブジェクトは３Ｄバーチャル空間内に配置される。ステップ８３０では、実世界オブジェクトとバーチャルエージェント２００のレンダリングされたグラフィック画像（表現）を含んだ合成画像がスクリーン５に表示される。これを、「ＡＲ画面」と称する。
【００２２】
ステップ８４０では、「バーチャルエージェントコミュニケーションプロセス」、即ち、バーチャルエージェント２００とのコミュニケーションのための処理が実行される。これは、図５を参照して説明する。一般的に、バーチャルエージェントコミュニケーションプロセスの実施例によると、バーチャルエージェント２００は、動作（アニメーション）して（即ち、ゲーム装置１のスクリーン５上で画像が変化するようにレンダリングされる）、ゲーム装置１のユーザ３から受け取ったユーザーフレーズに「反応（リアクション）」する外見を与えるようにする。バーチャルエージェント２００のアニメーションはバーチャルエージェント２００のパーツの明らかな「動き」を含むものであり、バーチャルオブジェクト及び実世界オブジェクトを含むゲームオブジェクトの特性（例えば、寸法、位置及び他の特性）を考慮したものである。特に、ユーザ入力に対するリアクションにおけるバーチャルエージェント２００のアニメーションは、ＡＲ画面に存在するものとしてマシンビジョン処理で検出された全ての実世界オブジェクトに適用される。
【００２３】
バーチャルエージェント２００のリアクションは、該バーチャルエージェント２００に関連する一つ以上の「パーソナリティパラメータ」の機能である。図３Ａに、パーソナリティパラメータデータベース３１０に格納されたパーソナリティパラメータを示す。限定されない例では、バーチャルエージェント２００に関連するパーソナリティパラメータはバーチャルエージェント２００の行動タイプのリストから選択され、それらは、「スポーティ」、「間抜け」、「乱暴者」、「怠け者」、「怒りっぽい」などである。与えられたバーチャルエージェントは一つ以上のパーソナリティーと関連しており、これらのパーソナリティパラメータは、要素が変化することで動的に変わりうる（例えば、時間と共に）。
【００２４】
バーチャルエージェントに関連するパーソナリティパラメータは、バーチャルエージェント２００をどのようにアニメーションさせるかの指示を与えることに使用される。ある実施例では、パーソナリティパラメータは、バーチャルエージェント２００の表情や動作をどのように調整するかを、一般的に示す。例えば、行動タイプが「スポーティ」を含んだパーソナリティパラメータの場合、バーチャルエージェント２００のアニメーションは、バーチャルエージェント２００に素早い、身体的な動作を発揮させる。
【００２５】
ある実施例では、パーソナリティパラメータは、多様な状況において、バーチャルエージェント２００の表情や動作をどのように調整するかを示す。例えば、行動タイプが「不従順」を含む場合、オブジェクトをとってくるようなコマンドに対して、バーチャルエージェント２００は、それを遠くに投げて、それで自分一人で遊んだり、全く別のものをとってきたりなどの動作を示す。
【００２６】
ある実施例では、パーソナリティパラメータは、バーチャルエージェント２００を最初の場所でアニメーションさせるかどうかについても示す。
【００２７】
バーチャルエージェント２００は、声による特徴付けにも関連する。声による特徴付けは、パーソナリティパラメータデータベース３１０に格納されている。バーチャルエージェント２００に関連する声による特徴付けは、バーチャルエージェント２００に関連するオーディオ出力をどのように調整するかを示す。一つの限定されない実施例では、声による特徴付けを、バーチャルエージェント２００に特有のＬＰＣパラメータセットとしてエンコードする。
【００２８】
３Ｄバーチャルスペースにおけるオブジェクトトラッキングを容易にするために、図３Ｂおよび３Ｃ示す、オブジェクトデータベース３２０が設けられる。オブジェクトデータベース３２０は、多様な実世界オブジェクトとバーチャルオブジェクトに関連するデータフィールドを保持する。この目的のために、一つのデータフィールド３２０Ａは固有オブジェクトＩＤ（オブジェクトＩＤ）であり、他のデータフィールド３２０Ｂはゲームオブジェクトが実世界オブジェクトであるかバーチャルオブジェクトであるかを示す。
【００２９】
追加的に、図３Ｂ（図には示さないが）に示すように、他のデータフィールド３２０Ｃが３Ｄバーチャルスペースにおけるゲームオブジェクトの位置を示す（例えば、Ｘ、Ｙ、Ｚ座標および／又はゲームレベル、ゾーン、又は他のオブジェクトとの関連）。カメラデータにコンピュータビジョンアルゴリズムを適用して実世界のＡＲ（バーチャル）表現を持った出力を組み合わせると、実世界オブジェクトの３Ｄ形状と位置を演算することができる。他の実施例では、オブジェクトの位置データは、各オブジェクトのより一般的な特性を格納する他のデータベースに置くこともでき、そこでは、位置データは、一つの特性である。更に、追加的なデータフィールド３２０Ｄが各ゲームオブジェクトと関連しており、それはカメラ／視野円錐台２５内のゲームオブジェクトの位置を示している。しかし、このフィールドは、それが含む情報がバーチャル３Ｄスペース内のカメラの位置（およびカメラの向いた方向）から、３Ｄバーチャルスペースにおけるゲームオブジェクトの位置と組み合わせて導き出すことができるので、省略することができる。
【００３０】
データフィールド３２０Ｅが、更に各ゲームオブジェクトと関連しており、それは該ゲームオブジェクトに関連する一つ以上の「セマンティックオブジェクトタグ」を示す。特定のゲームオブジェクトと関連するセマンティックオブジェクトタグは、特定のゲームオブジェクトを潜在的に指定する、言葉での表現（もし、ユーザーの言葉にあるのなら）である。こうした言葉での表現には、異なる抽象化のレベルにおいて、意味的に等しいものや同義語も含まれる。例えば、ユーザが白い色のピアノ（それがバーチャルであるかリアルであるかに関わりなく）として認識するゲームオブジェクトは、複数のセマンティックオブジェクトタグと関連付けられており、それらは、「ピアノ」、「キーボード」、「楽器」、「家具」および「大きな白いオブジェクト」などである。他の実施例では、ユーザがトランペットとして認識するゲームオブジェクトは、複数のセマンティックオブジェクトタグと関連付けられており、それらは、「トランペット」、「楽器」および「金属オブジェクト」である。このことは、同じゲームオブジェクトに関して多数のセマンティックタグがあり得、同じセマンティックタグ（この場合、「楽器」）を持つ多数のゲームオブジェクトもあり得る。
【００３１】
ある場合には、特定のゲームオブジェクトについてのセマンティックオブジェクトタグは、動的に変わることがある。例えば、該特定のゲームオブジェクトとの関連が、現在カメラ６の円錐台の中（又は外）にたまたまある他のオブジェクトに依存するような場合である。例えば、セマンティックオブジェクトタグ「部屋で一番大きなオブジェクト」は、時間が異なると、異なるオブジェクトと関連付けられる。それは、カメラ６の円錐台視野の中に何が有るかによる。オブジェクトデータベース３２０を管理（特に、セマンティックオブジェクトタグと実世界オブジェクト又はバーチャルオブジェクトとの関連）するバックグランドプロセスは、少なくとも一つのプロセッサ２により実行される。
【００３２】
ユーザ３がバーチャルエージェント２００と「コミュニケーション」する時に使用されるユーザーフレーズは、ほとんど無限である。しかし、ゲームプレイ中は、こうした多くの可能性があるにも関わらず、ユーザ３は限られた数の潜在的な意思の一つを伝えることに関心がある。意思は、多様な挨拶、指令（例えば、取れ、攻撃、・・・）及び承認である。特定の意思を伝えるために、ユーザ３は言葉を使用する。特に、ユーザ３は、（音声又は書いて）ある言語表現（「意思表現」という）を入力し、それらはユーザーフレーズ内に戦略的に配置される。例えば、ユーザがバーチャルエージェント２００に対するコマンドである意思を伝えるために、ユーザ入力３は、必須の文章中に、他動詞を含んだ意思表現を含ませる（「get」、「sit」、「bring」、「push」...)。
【００３３】
図４に、多様な意思をリスト化した意思データベース４１０を示す。各特定の意思は、いくつかの可能性のある意思表現に割り当てられ、それがユーザーフレーズに現れると、特定の意思を伝えるものとして解釈される。与えられた意思と関連した意思表現は、意思データベース４１０内に言葉及び音節として格納され、英語又は日本語のような与えられた言語内での共通の用語として現れる。多様な言語を使用することは、より広いユーザーベースを提供するが、与えられた時間でユーザが実際に使用する言語数は限られている。デフォルト言語を選択する際には、例えば、地理的な位置又は装置のＩＰアドレスのようなパラメータをベースにローカライズするとよい。他の実施例では、意思表現は、意思データベース４１０内に音素として格納することもできる（ユーザが口頭で入力する場合）。
【００３４】
バーチャルエージェントコミュニケーションプロセス（図８のステップ８４０）を、図５を参照して詳細に説明する。
【００３５】
ステップ５１０：バーチャルエージェントコミュニケーションプロセスは、ユーザ３からのユーザ入力を受け取ることで開始され、ユーザ入力から単語を含んだユーザーフレーズ（例えば、「ボールを取ってこい”go get the ball”」）を決定する。ユーザ入力は口頭（例えば、マイクロフォン９を介して）又は、テキスト（例えば、キーボード又はタッチスクリーン５）で入力される。ユーザ入力がテキストで入力された場合には、バーチャルエージェントコミュニケーションプロセスは、スペルチェック、文法チェック及び／又はテキストの翻訳を行い、単語を含んだユーザーフレーズを得る。ユーザ入力が口頭（即ち、発話）で入力された場合には、バーチャルエージェントコミュニケーションプロセスは、ユーザ３が発話を開始したかを検知し、スピーチ−テキストプロセス（例えば、スピーチＡＰＩ）を、引き続いて受け取った音に適用し、ユーザーフレーズを得る。多様なタイプの言語処理を、発声された単語を適宜特定するために使用することができる。これには、翻訳及び同義語参照などに加えて、多様な言語支援、会話認識及び話者認識技術が用いられる。また、ネイティブスピーチＡＰＩを使用すると、オーディオファイルをリモートサーバに送る必要がなくなる。ある実施例では、ステップ５１０は、複数の記録を作成することが出来、各記録は、異なるユーザのフレーズ（即ち、単語の異なるセット）及び関連する信頼度を含んでいる。
【００３６】
ステップ５２０：バーチャルエージェントコミュニケーションプロセスは、ユーザーフレーズを「単純化したユーザ意思」に変換することを含む。特に、図６に詳細を示すように、このユーザーフレーズの変換は以下のステップを含むものである。
【００３７】
サブステップ６１０：少なくとも一つのセマンティック素子をユーザーフレーズ内の単語から決定する。
【００３８】
特に、少なくとも一つのセマンティック素子は、一つ以上の意思表現及び／少なくとも一つのセマンティックオブジェクトタグを含む。従って、このステップは、ユーザーフレーズ内に、意思データベース４１０に格納された多様な意思表現及び／又はオブジェクトデータベース３２０に格納された多様なセマンティックオブジェクトの少なくとも一つを認識しようとする。例えば、図５に示すように、ユーザーフレーズの「ボールを取ってこい”go get the ball”」の場合、セマンティック素子は、意思表現[取ってこい（go get）]及びセマンティックオブジェクトタグ[ボール（ball）]である。場合により、意思表現又はセマンティックオブジェクトタグにマッチしないユーザーフレーズの単語は、無視される。例えば、ユーザーフレーズ「どうかボールを取っていただけませんか“Could you please fetch the ball”」において、セマンティック素子は、意思表現「取って[fetch]」とセマンティックオブジェクトタグ「ボール[ball]」であり、ユーザーフレーズ内の他の全ての単語は余計なものとされる。
【００３９】
非限定的な例において、図９Ａでは、いくつかのユーザーフレーズとそこから導き出される対応するセマンティック素子の非限定的な例を示す。
【００４０】
サブステップ６２０：サブステップ６１０で決定されたセマンティック素子から単純化したユーザ意思を組み立てる。単純化したユーザ意思は、ゲーム装置１のメモリ４内に格納される。例えば図５では、（意思データベース４１０内に格納された多対１マッピングに基づいて）意思（検索コマンド）に変換された意思表現[取ってこい（go get）]及び、（オブジェクトデータベース３２０内に格納された多対１マッピングに基づいて）オブジェクト表現（オブジェクトＺ）に変換されたセマンティックオブジェクトタグ[ボール（ball）]を示す。
【００４１】
非限定的な例において、図９Ｂでは、セマンティック素子と、これらセマンティック素子から組み立てることの出来る単純化したユーザ意思の例を示す。図９Ｃは、図９Ａと９Ｂの組み合わせであり、ユーザーフレーズ、ユーザーフレーズから導かれる対応するセマンティック素子及びその結果としての単純化したユーザ意思を示す。
【００４２】
例えば、サブステップ６１０で決定されたセマンティック素子は単一の意思表現（挨拶（greeting）など）を含む。この場合、サブステップ６２０で出力された「単純化したユーザ意思」は、意思データベース４１０から決定されたこの単一の意思表現に関連した意思である。例えば、図９Ｃの行９１０Ｄは、ユーザーフレーズ「Hi!」に基づいて、単純化したユーザ意思は意思「挨拶（greeting）」を含んでいる。
【００４３】
他の例では、サブステップ６１０で決定されたセマンティック素子は一つの意思表現及び一つ以上のセマンティックオブジェクトタグを含む（オブジェクトを取る（to fetch an object)のコマンドのように）。（意思データベース４１０から得た）対応する一つ以上の意思及び（オブジェクトデータベース３２０から得た）対応する一つ以上のオブジェクト表現は組み合わされて（例えば、連結されて）単純化したユーザ意思を形成する。例えば、図９Ｃの行９１０Ｂは、意思「攻撃（attack）」とオブジェクト表現「オブジェクトＹ（object Y）」を含んでいる。
【００４４】
３Ｄ世界では、オブジェクト表現マップが同じセマンティックオブジェクトタグとなる多数のオブジェクトがあることから（例えば、前述したように、セマンティックオブジェクトタグ「楽器」に潜在的に関連する多数のオブジェクト）、単純化したユーザ意思に含まれると判断する前に、当該オブジェクトがある基準に適合することを確認するための検証ステップが実行される。そうした基準には、該オブジェクトがカメラ／視野円錐台２５内に現れているという条件が含まれる。
【００４５】
他の例においてもなお、サブステップ６１０で決定されたセマンティック素子は一つ以上の意思表現（例えば、ユーザが挨拶（greeting）とコマンドの両方を入力したとき）を含むものであり、こうした場合、（意思データベース４１０から得られた）対応する単一の意思が、限定的な優先順位付けロジック又はヒューリスティックにより単純化したユーザ意思内に保存される。例えば、二つの意思表現があり、一つは、取る（fetch）コマンドに関連した意思であり、もう一つは、挨拶（greeting）に関連した意思であるとき（例えば、“Hi! Could you please fetch the ball”）、処理ロジックは、挨拶よりも取る（fetch）コマンドを優先し、取る（fetch）コマンドだけが、単純化したユーザ意思内に保持される。例えば、図９Ｃの行９１０Ｅでは、単純化したユーザ意思は、（play）及び（piano）を含んだセマンティック素子があるにも関わらず、意思（インタラクトコマンド（interact command））となる。
【００４６】
単純化したユーザ意思におけるオブジェクト表現は、実世界及びバーチャルオブジェクトの両方に対応し、スクリーン５に表示され、それらは３Ｄバーチャル空間内で共存することを認識すべきである。従って、バーチャルエージェント２００は、外見的には、バーチャルオブジェクトばかりか実世界オブジェクトを認識し、やりとりするようになっている。一方、実世界オブジェクトはカメラ６により捉えられた画像に単に現れることで人間のユーザ３には明らかであり、それらは最初にマシンビジョンアルゴリズムによって適正に認識され、バーチャルエージェント２００が外見的にそれらを認識してやりとりする前に、３Ｄバーチャル空間内に配置される（図８のステップ８００）。なお、このやりとりは、オブジェクトデータベース３２０から得た、実世界オブジェクトの特定の特性に依存する。
【００４７】
意思表現又はセマンティックオブジェクトタグがユーザのフレーズに
見つからなかった場合には、単純化したユーザ意思は、「不知」又は「不全」と見なされる（また、このことは、例えばバーチャルエージェント２００が「肩をすくめる」リアクションを引き出すかもしれない−バーチャルエージェント２００による、この及び他のリアクションは、以下に述べる）。例えば、図９Ｃの行９１０Ｆを参照。
【００４８】
矛盾があった場合（例えば、セマンティックオブジェクトタグがカメラ／視野円錐台２５内に無いオブジェクトに関するものなど）は、単純化したユーザ意思は、「無効」と見なされる。反対に、矛盾が維持され、矛盾しているにもかかわらず、セマンティックオブジェクトタグが単純化したユーザ意思に現れることもある。この場合、結果としての単純化したユーザ意思が無意味に見えるかもしれない（例えば、スクリーン上に見えないゲームオブジェクトに関するなど）が、これはユーモア又は興味ある状態に繋がるものとして許すことが可能である。
【００４９】
いくつかの場合、同じセマンティックオブジェクトタグは多数のオブジェクト表現に変換される。例えば、図７Ａに示すように、セマンティックオブジェクトタグ「楽器」は、オブジェクトＺ１（例えば、ユーザ３が「トランペット」と知覚したもの）と、オブジェクトＺ２（例えば、ユーザ３が「ピアノ」と知覚したもの）が共に、視野円錐台２５内にある場合、両オブジェクト間で明確にすることは出来ない。セマンティックオブジェクトタグ「楽器」に対する少なくとも一つの表現は、これにより二つのオブジェクト表現を含む（「オブジェクトＺ１」と「オブジェクトＺ２」）。例えば、図９Ｃの行９１０Ｃを見ると、ユーザのフレーズは単一の「本（book）」を言っているが、単純化したユーザ意思は、二つのオブジェクト表現、即ち「オブジェクトＺ３」と「オブジェクトＺ４」を含んでいる。
【００５０】
ステップ５１０で、それぞれ異なるユーザフレーズ（異なる信頼レベルで）で複数の記録が生成された場合、ステップ５２０（単純化したユーザ意思への変換）は、それぞれのユーザーフレーズについて行われることを認識すべきである。複数の異なる記録から生成された単純化したユーザ意思は、結局同じものとすることが出来る。複数の記録から生じた共通の単純化したユーザ意思に関連した信頼レベルは、オリジナルの記録の信頼レベルの和となる。結果的に合計された信頼レベルを比較することで、後のステップで使用する一つの単純化したユーザ意思を選択することが出来る。こうして、バーチャルエージェントコミュニケーションプロセスは、ユーザ入力の異なるそれぞれの記録に関して得られた複数の候補としての単純化したユーザ意思の中から有力な一つの単純化したユーザ意思を選択するステップを有する。
【００５１】
ステップ５３０：バーチャルエージェントコミュニケーションプロセスは、単純化したユーザ意思をバーチャルエージェント２００の「リアクション」に変換する。実施例では、多くの単純化したユーザ意思の多様性は、多様な幅のリアクションを生み出す。リアクションは、音声の出力ばかりか、バーチャルエージェント２００（又は一つ以上の小道具／他の仲介者）のアニメーション、移動／移し替えなどが含まれる。これはユーザ３にとっての楽しみであり、更なるユーザ入力を引き出し、バーチャルエージェント２００との「コミュニケーション」を試みることとなる。
【００５２】
単純化したユーザ意思がコマンドを伝えた場合、バーチャルエージェント２００はアニメーションされ、該コマンドの実行を伝える明確な動きを示す。単純化したユーザ意思が特定のゲームオブジェクトに関連するコマンドを伝えた場合、バーチャルエージェント２００はアニメーションされ、該コマンドの実行を伝える特定のゲームオブジェクトに関連するバーチャルエージェント２００の明確な動きを示す。
【００５３】
例えば、図７Ｂに示すのは、単純化したユーザ意思「取得コマンド[オブジェクトＺ]」がユーザーフレーズ「ボールを取ってこい（Go get the ball）から出てきた場合である。単純化したユーザ意思は意思「取得コマンド」及びオブジェクト表現「オブジェクトＺ」を含む。この単純化したユーザ意思は、オブジェクト表現Ｚのゲームオブジェクトを取るコマンドを意味する。そこでバーチャルエージェント２００をアニメーションさせて単純化したユーザ意思に対するリアクションを示し、これによりバーチャルエージェント２００がカメラ位置からゲームオブジェクトへ向けて移動することとなる。ゲームオブジェクト（例えば、ボール）は、実世界オブジェクト（例えば実世界のボール）又はバーチャルオブジェクト（例えば、バーチャルボール）でもよい。例えば、オブジェクトＺがバーチャルボールの場合、バーチャルエージェント２００はバーチャルボールの位置に行ってそれをカメラ位置にまで持ってくるようにアニメーションされる。逆に、オブジェクトＺが実世界ボールの場合、バーチャルエージェント２００は実世界ボールの位置に行こうと苦闘するようにアニメーションされるが、オブジェクトＺは実世界オブジェクトなのでカメラ位置に持ってくることは出来ない。しかし、ある場合には、デジタルフォトマニュピレーションソフトウェアが実世界ボールをＡＲ場面から「消去」して、該実世界ボールと似たバーチャルオブジェクトを生成して、該生成されたバーチャルボールをバーチャルエージェント２００にカメラ位置まで「持って」来させるようにすることも出来る。
【００５４】
実施例では、ゲーム装置１のスクリーン５上で、承認のジェスチャー（頭を頷かせるような）を示すためにバーチャルエージェント２００をアニメーションすることが、「リアクション」を示すためにバーチャルエージェント２００をアニメーションすることに先行される。逆に、不承認のジェスチャーを示すためにバーチャルエージェント２００をアニメーションすることが、バーチャルエージェントのリアクションに先行することもある。
【００５５】
スクリーン５上にレンダリングして（及び／又はスピーカ１１を介して）、単純化したユーザ意思を示すためのバーチャルエージェント２００をアニメーションすることは、多様な要素により影響される。
【００５６】
ａ）単純化したユーザ意思に対するリアクションの中でのバーチャルエージェント２００のアニメーションは、パーソナリティパラメータデータベース３１０から得たバーチャルエージェント２００に関連するパーソナリティパラメータ／行動タイプと一致した動作パターンを含んでいる。結果として、バーチャルエージェント２００は、ユーザ３が興味と楽しみを感じる、特別の身体の動き及び／又は表情を発揮するようにアニメーションされる。
【００５７】
例えば、バーチャルエージェント２００の行動タイプが「スポーティ」の場合、バーチャルエージェント２００がボールを取り戻すように言われた時、ボールを持ってくるアニメーションに代えて、バーチャルエージェント２００がボールを投げるアニメーションにして、ボールが投げられたようにレンダリングする。逆に、バーチャルエージェント２００の行動タイプが「不服従」の場合、バーチャルエージェント２００は協力を断るようにアニメーションされる（例えば、最初の場所からボールに向かわず、不服従を伝えるために頭を横に振る）。もちろん、これらは行動タイプの一例であり、他の場合も当然ある。
【００５８】
単純化したユーザ意思に対する多様なリアクションを多様な行動タイプについて体系化する一つの方法は、「行動ツリー」のシステムを使用することであり、その例を図１０に示す。具体的には、この単純な行動ツリー１０００は単純化したユーザ意思「取得コマンド」、「オブジェクト」を扱うものであり、特定のゲームオブジェクトを取ってくるコマンドとして解釈されたユーザ入力の結果である。行動ツリー１０００はメモリ４内に格納された数百から数千のツリーの一つである（図１１参照）。
【００５９】
この行動ツリーによると、ステップ１０１０は、単純化したユーザ意思で明らかになったオブジェクトをバーチャルエージェントが持っているかどうかを決定し、もし持っている場合には、ステップ１０２０に入り、そうで無い場合には、ステップ１０３０に入る。バーチャルエージェントが特定のゲームオブジェクトを持っているかどうかの決定は、ゲームロジックにより知ることが出来る。ステップ１０２０又は１０３０が実行されるか否かに関わりなく、同じ質問がなされる。即ち、バーチャルエージェントの行動タイプは、不服従であるか否かであるが、単純化したユーザ意思で明らかになったオブジェクトをバーチャルエージェントが持っているか否かで、出力は異なる。
【００６０】
こうして、バーチャルエージェントがオブジェクトを持っていて不服従の場合、少なくとも一つのプロセッサは、（予め準備されている）断り／背を向けるアニメーションを実行する。バーチャルエージェントがオブジェクトを持っていて不服従でない場合、少なくとも一つのプロセッサは、バーチャルエージェントがオブジェクトをカメラの方に持ってくるアニメーションを行う。バーチャルエージェントがオブジェクトを持っておらず、不服従の場合、少なくとも一つのプロセッサは、「嘲り」アニメーションを実行する（ここでは、バーチャルエージェントがユーザ３を嘲り、うわべでは、コマンドが理論的ではいことを指摘する）。バーチャルエージェントがオブジェクトを持っておらず、不服従でない場合、少なくとも一つのプロセッサは、「困惑」アニメーションを実行する（うわべでは、本当に取ってくるものが無いことを表現する）。
【００６１】
シーケンシャルな二値出力問題としてモデル化する代わりに、ステップ１０１０、１０２０、１０３０は行動スイッチケースとしてモデル化することができる。再度強調するが、行動ツリー１０００は単純化された行動ツリーをモデル化しており、もっと複雑な行動ツリーが当業者には、実行可能である。例えば、行動ツリーは、バーチャルエージェントの物理的な特性（例えば、大きさ）などにより分岐を持つことも可能である。
【００６２】
こうして、それぞれの行動ツリーのセットアップ及びどのように異なる行動タイプを扱うかは、バーチャルエージェントの物理的な特性による、あるアニメーションのきっかけとなる追加的な行動タイプを含めて、各バーチャルエージェントに「パーソナリティー」を与えることであり、同じ行動が一貫して同じ行動タイプとして実行されるようにするものであることが明らかである。
【００６３】
バーチャルエージェントに関連する行動タイプは多様なものがあり、また関連する行動タイプも時間と共に変化しうる点を考慮すべきである。例えば、バーチャルエージェントは行動タイプ「スポーティ」及び行動タイプ「不服従」と関連することができる。仮に、バーチャルエージェントがお気に入りの食べ物を与えられると（ゲームロジックによる）、「スポーティ」行動タイプは変わらないが、「不服従」行動タイプは、バーチャルエージェントが癒やされるにつれ削除されても良い。各行動タイプ又は行動タイプの組み合わせは、単純化したユーザ意思の異なる組み合わせについての行動ツリーに沿った異なるパスへのトリガーとなる。
【００６４】
関連する行動ツリーはユーザの行動を通して変わりうる。例えば、バーチャルエージェントがスクリーン５上に現れている場所を何度もタッピングすると、バーチャルエージェントの行動タイプが「イライラ」となり（又は変化し）、関連する行動ツリーの内容によるが、単純化したユーザ意思の異なる組み合わせに関する他の一連のアニメーションとなることもある。
【００６５】
上記した実施例では、行動タイプは二値的であり、即ち、バーチャルエージェントはスポーティか、そうでないか、不服従であるか、そうでないかである。他の実施例では、行動タイプは等級付けされており、例えば、スポーツ性や不服従性は程度の問題（１から１０までの等級）とすることができ、同じ行動タイプでも、レベルが異なれば行動ツリーの分岐が異なるようになるかもしれない。
【００６６】
ｂ）単純化したユーザ意思は曖昧性の解消が求められる。例えば、ユーザーフレーズが単一のセマンティックオブジェクトタグを含むものとされても、ステップ５２０では、いくつかのオブジェクトのうち、ユーザ３が特定しようとしたのは何かを確認することが出来ないことから、単純化したユーザ意思は複数のオブジェクト表現を含むかもしれない。異なる言い方をすると、バーチャルエージェントコミュニケーションプロセスは、サブステップ６２０の出力でのセマンティックオブジェクトタグの数がサブステップ６１０の出力でのオブジェクト表現の数よりも少ないことを決定することができ、これが曖昧性の解消が要求される兆しである。この点では、いくつかの選択が可能である。一つの実施例では、バーチャルエージェントコミュニケーションプロセスが、ランダムに、要求される数のオブジェクト表現を選択するようにしてもよい。他の実施例では、バーチャルエージェントコミュニケーションプロセスが、パーソナリティパラメータに基づいて要求される数のオブジェクト表現を選択することが出来る。他の方法も、当業者であれば可能である。
【００６７】
例えば、ユーザーフレーズから得られた表現が[「取る（fetch）」「ボール（ball）」]
であり、結果として得られた単純化したユーザ意思が[「検索コマンド」「オブジェクトＡ」「オブジェクトＢ」]の場合を考えると、これは両オブジェクトＡ及びＢが検索用の候補であるが、バーチャルエージェント２００により検索されるべき唯一のオブジェクトがあることを示している。オブジェクトＡ及びＢがセマンティックオブジェクトタグ「ボール」に関連するが、ここでオブジェクトＡは、クリスタルボールであり（セマンティックオブジェクトタグ「クリスタルボール」に関連つけられている）、オブジェクトＢはサッカーボールである（セマンティックオブジェクトタグ「サッカーボール」に関連つけられている）（ここでこれらのオブジェクトが実世界オブジェクトであるかバーチャルオブジェクトであるかは重要ではない）。
【００６８】
一つの実施例では、セマンティックオブジェクトタグの数がオブジェクト表現よりも少ない決定を行った、バーチャルエージェントコミュニケーションプロセスは、オブジェクトＡ又はオブジェクトＢをランダムに選択してバーチャルエージェント２００のリアクションに導入する。例えば、視野に複数のケーキがあり、単純化したユーザ意思「食べる（eat）」「ケーキ（cake）」を扱うには、バーチャルエージェントコミュニケーションプロセスは、バーチャルエージェントが食べるケーキを一つ選択するか、バーチャルエージェントコミュニケーションプロセスは、「ケーキ」としてタグつけられた全てのオブジェクトについて作用する。これも単純化したユーザ意思それ自体の曖昧性の解消である（例えば、「食べる（eat）」「ケーキ（cake）」対「食べる（eat）」「全てのケーキ（all cakes）」）。
【００６９】
他の実施例では、バーチャルエージェントコミュニケーションプロセスは、どのオブジェクトをバーチャルエージェント２００のリアクションに導入するかを選択する際に、バーチャルエージェント２００の行動タイプを考慮する。例えば、バーチャルエージェントの行動タイプが「スポーティ」の場合を考える。「ボール」を取るように指示されたバーチャルエージェント２００について、バーチャルエージェントコミュニケーションプロセスは、オブジェクトデータベース３２０内のオブジェクトＡ及びＢのそれぞれに関連する多様なセマンティックオブジェクトタグを見る。バーチャルエージェントコミュニケーションプロセスは、オブジェクトＡ（クリスタルボール）に関連するセマンティックオブジェクトタグ及びオブジェクトＢ（サッカーボール）に関連するセマンティックオブジェクトタグの「スポーツ性」要素を評価することでこのステップを実行する。これはキーワード又はフレーズについてのサーチをする処理アルゴリズムにより行われる（個々のスポーツについて、どれがクリスタルボールよりもサッカーボールと関連性が高いか）。その結果、オブジェクトＢに関連するセマンティックオブジェクトタグがオブジェクトＡに関連するセマンティックオブジェクトタグよりも大きなスポーツ性が期待されるものとする。こうして、オブジェクトＢ（サッカーボール）が、バーチャルエージェント２００のリアクションに導入されるべきものとして選択される。
【００７０】
限定的なものではないが、上記した曖昧性の解消の例は、どのようにこの概念を他の多くの場面に適用することが出来るかを、当業者が理解する助けになる。
【００７１】
ｃ）単純化したユーザ意思が特定のゲームオブジェクトのオブジェクト表現を含む場合、バーチャルエージェント２００のリアクションは、その特定のゲームオブジェクトが実世界オブジェクトであるか又はバーチャルオブジェクトであるかによって変わる。例えば、一般的に、バーチャルオブジェクトの位置は、バーチャル３Ｄ空間内で勝手に変わり得るが、実世界オブジェクトの位置は一般的に変わらない。他の例を見る。
【００７２】
特定の非現実的な実施例において、椅子を考えてみると、仮に椅子がバーチャルオブジェクトであると、ゲームロジックは、該モデルの正確な知識を持ち、エージェントの相互作用に使用するアンカーを手動で自由に配置することができる。バーチャルエージェントは、例えば、椅子を机の後ろから脇に出して、それに座ることが出来る（両方とも３Ｄバーチャル世界では「生きて」いるので、共に、移動が可能である）。
【００７３】
一方、椅子が実世界オブジェクトであると、仮想的に取り扱うことは出来ない。バーチャルエージェントをその椅子に座ったように見せるには、バーチャルエージェントは、この実世界オブジェクトを理解した（例えば、どれくらいの大きさか、その向きは、バーチャルエージェントが座れる表面はどこか）ゲームロジックが与えた椅子に座るように見せる形でアニメーションされなければならない。
【００７４】
同様に、特定の非現実的な実施例において、実世界のカップからバーチャルストローで飲む場合を考える。まずバーチャルエージェントをカップの上に位置させて、（バーチャル）ストローをカップの中におおよそで入れるため、カップの上端及び中間が何処にあるのかを見積もる必要がある。もし、カップによる閉塞（ストローとカップとの前後関係の表現）が望まれるのならば、例えば、Ｚバッファに手動でビットを書き込むことで行うことができる。
【００７５】
しかし、カップがバーチャルカップの場合には、カップの位置及び向きは知られており、ゲームロジックは、カップ及びストロー間の相互作用に関するモデル上に、アンカーを手動で自由に置くことができる。閉塞は既知の３Ｄレンダリング及びＺバッファを介した閉塞により行われる。
【００７６】
こうして、実世界オブジェクトの次元性は、探求され又は見積もられる。また、バーチャルエージェントは、この探求され又は見積もられた位置／実世界オブジェクトの次元性と一致させられ、この探求され又は見積もられた位置／実世界オブジェクトの次元性は変更されない。バーチャルオブジェクトは、この探求され又は見積もられた位置／実世界オブジェクトの次元性に応じて、その形及び／又は位置を変更する。それは相手がバーチャルオブジェクトの場合とは異なる。バーチャルオブジェクトの位置／次元性は、望まれるリアクションにより変わりうる。
【００７７】
ｄ）単純化したユーザ意思が、特定のゲームオブジェクト（バーチャルオブジェクト又は実世界オブジェクト）に関連するオブジェクト表現を含んでいる場合、単純化したユーザ意思に対するバーチャルエージェント２００のリアクションは、３Ｄバーチャル空間でのバーチャルエージェント２００とゲームオブジェクトの間の距離に依存した要素を有する。
【００７８】
ｅ）単純化したユーザ意思が、特定のゲームオブジェクト（バーチャルオブジェクト又は実世界オブジェクト）に関連するオブジェクト表現を含んでいる場合、バーチャルエージェント２００のリアクションは、特定のゲームオブジェクトの特性と一致する要素を有する。例えば、特定のゲームオブジェクトの一つの特性は温度である。バーチャルエージェントコミュニケーションプロセスは、特定のゲームオブジェクトの温度が閾値を超えており（そしてバーチャルエージェント２００が該特定のゲームオブジェクトに近接している）場合、バーチャルエージェント２００のリアクションを、焼かれるリアクションをシミュレートするものとし、身体を震わせて該特定のゲームオブジェクトから立ち去るようなアニメーションも含ませる。
【００７９】
ｆ）単純化したユーザ意思に対するバーチャルエージェント２００のリアクションは該単純化したユーザ意思のより早い例に依存する要素を持つこともできる。例えば、単純化したユーザ意思が新たに入力されたユーザ入力に基づいて繰り返された場合（例えば、２，３，４回かそれ以上）、バーチャルエージェント２００は苛立ちを表現するようにアニメーションされる（例えば、ある表情又は「ボディランゲージ」を介して）。また、バーチャルエージェント２００の行動が「苛立った」ものに変わることもあり、これは同じ効果を生じる。即ち、バーチャルエージェント２００は苛立って、苛立ちを表現するようにアニメーションされる。
【００８０】
バーチャルエージェント２００のリアクションは、パーソナリティパラメータデータベース３１０に格納された声による特徴付けに関連した、音声フレーズ又は発話を含むことも出来る。
【００８１】
単純化したユーザ意思が「不知」又は「無効」と見なされた場合、バーチャルエージェント２００は困惑を表現するようにアニメーションされ（例えば、肩をすくめる）、それは愉快なものではなく、ユーザ３に彼又は彼女が提供した入力の解釈に何らかの誤りが生じていることを明確に示すものとなる。
【００８２】
メモリ４内に格納されたバーチャルエージェント２００の特性の一つに、例えば「通常」又は「聞く」などの、モードオペレーションがある。上記した記述は、バーチャルエージェント２００にとって「通常」モードのオペレーションである。ユーザ３が口頭での発話を開始したとする。バーチャルエージェントコミュニケーションプロセスの一部として、少なくとも一つのプロセッサはユーザーフレーズの開始を検出することができる（これは、マイクロフォン９が意味のある、例えばある閾値より上の入力を受け取った時に検出することができる）。この場合、バーチャルエージェント２００のモードのオペレーションは「聞く」に変わる。この時点で、任意的なステップ５１５が実行され（図５参照）、これによりバーチャルエージェントコミュニケーションプロセスはバーチャルエージェント２００が「聞く」様子を示す追加的なアニメーションを行う。これは、単純化したユーザ意思が決定される前に行われる。例えば、バーチャルエージェント２００が「耳」を持った生物としてイラストされていると、ステップ５１５は、バーチャルエージェント２００の耳を「立てる」ようにアニメーションして、注意が高められた状態を示す。追加的なステップ５１５を行わない場合には、バーチャルエージェント２００はスクリーン上でデフォルト動作を行うようにアニメーションされる（例えば、興味が無いか、うんざりしたように見えるように）。一旦、完全なユーザ入力を受け取ると、バーチャルエージェント２００のオペレーションモードは「通常」に切り替わり、生物の耳は「立っていない」状態となる。
【００８３】
上記したバーチャルエージェントコミュニケーションプロセスは、拡張現実にセットされたオブジェクトの言葉ベースの制御を行うことを探求するユーザを満足させるものと、当業者は考える。しかし、提案した手法は、与えられた発話を本当に理解する能力の中でのより洗練された自然言語処理よりも限られたものとなり、その結果、演算コスト及び実際の金銭的なコスト（統合コスト、外注トレーニングなど）の両方の点で、よりコスト効果が高くなっている。
【００８４】
プロセッサが動作又はプロセスを実行するように「構成」されていると述べたとき、これは、プロセッサがコンピュータ可読指示が格納された装置メモリから読み出したコンピュータ可読指示を実行することで動作又はプロセスの実行がなされる、という意味である。
【００８５】
ここでは、ある実施例を記述したものであり、以下に記載したクレームで規定される、本発明の範囲内の多様な変形があり得るものである。
【図１】
2020198065.tif 000003
【図２】
2020198065.tif 000004
【図３Ａ】
2020198065.tif 000005
【図３Ｂ】
2020198065.tif 000006
【図３Ｃ】
2020198065.tif 000007
【図４】
2020198065.tif 000008
【図５】
2020198065.tif 000009
【図６】
2020198065.tif 000010
【図７Ａ】
2020198065.tif 000011
【図７Ｂ】
2020198065.tif 000012
【図８】
2020198065.tif 000013
【図９Ａ】
2020198065.tif 000014
【図９Ｂ】
2020198065.tif 000015
【図９Ｃ】
2020198065.tif 000016
【図１０】
2020198065.tif 000017
【図１１】
2020198065.tif 000018