(57)【特許請求の範囲】
【請求項１】
ＣＧエージェントを表示する表示部側の単眼カメラを利用して、人物の位置を推定し、
推定した位置に設置した仮想カメラの姿勢を、該仮想カメラの視野が前記表示部に整合する姿勢に制御し、
前記ＣＧエージェントの表示位置が前記単眼カメラの位置と一致するように、前記仮想カメラの位置と姿勢の少なくとも一方を補正し、
前記単眼カメラによる撮像画像から特定の対象物を検出し、
前記対象物の方向を定める状態に前記ＣＧエージェントを制御し、
前記表示部に、前記ＣＧエージェントを含む仮想世界を、前記仮想カメラの位置と姿勢に基づき前記表示部の位置に射影変換して得られる画像を表示する、
処理をコンピュータが実行することを特徴とするＣＧエージェント表示方法。
【請求項２】
前記補正する処理は、前記仮想カメラの光軸と垂直に又は前記表示部と平行に前記仮想カメラを移動させることにより前記仮想カメラの位置を補正する請求項１に記載のＣＧエージェント表示方法。
【請求項３】
前記補正する処理は、前記仮想カメラを回転させることにより前記仮想カメラの姿勢を補正する請求項１又は２に記載のＣＧエージェント表示方法。
【請求項４】
前記対象物を表す画像領域の大きさに基づいて、前記単眼カメラから前記対象物に向かう方向を定める第１の方向を前記ＣＧエージェントが前記対象物を指し示す方向を定める第２の方向に補正する処理、
を含む請求項１から３のいずれか１項に記載のＣＧエージェント表示方法。
【請求項５】
前記対象物の大きさが特定可能な場合、画像処理技術を利用して前記対象物の位置を推定する処理と、
前記単眼カメラから前記対象物に向かう方向を定める第１の方向を、推定した位置を前記ＣＧエージェントが指し示す方向を定める第２の方向に補正する処理と、
を含む請求項１から３のいずれか１項に記載のＣＧエージェント表示方法。
【請求項６】
ＣＧエージェントを表示する表示部側の単眼カメラを利用して、人物の位置を推定し、
推定した位置に設置した仮想カメラの姿勢を、該仮想カメラの視野が前記表示部に整合する姿勢に制御し、
前記ＣＧエージェントの表示位置が前記単眼カメラの位置と一致するように、前記仮想カメラの位置と姿勢の少なくとも一方を補正し、
前記単眼カメラによる撮像画像から特定の対象物を検出し、
前記対象物の方向を定める状態に前記ＣＧエージェントを制御し、
前記表示部に、前記ＣＧエージェントを含む仮想世界を、前記仮想カメラの位置と姿勢に基づき前記表示部の位置に射影変換して得られる画像を表示する、
処理をコンピュータに実行させることを特徴とするＣＧエージェント表示プログラム。
【請求項７】
ＣＧエージェントを表示する表示部側の単眼カメラを利用して、人物の位置を推定する推定手段と、
推定した位置に設置した仮想カメラの姿勢を、該仮想カメラの視野が前記表示部に整合する姿勢に制御する第１の制御手段と、
前記ＣＧエージェントの表示位置が前記単眼カメラの位置と一致するように、前記仮想カメラの位置と姿勢の少なくとも一方を補正する補正手段と、
前記単眼カメラによる撮像画像から特定の対象物を検出する検出手段と、
前記対象物の方向を定める状態に前記ＣＧエージェントを制御する第２の制御手段と、を備え、
前記表示部が、前記ＣＧエージェントを含む仮想世界を、前記仮想カメラの位置と姿勢に基づき前記表示部の位置に射影変換して得られる画像を表示する、
ことを特徴とする情報処理端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ＣＧエージェント表示方法、ＣＧエージェント表示プログラム、及び情報処理端末に関する。
【背景技術】
【０００２】
コンピュータグラフィックス（Computer Graphics：ＣＧ）による仮想のキャラクタを、コンピュータを操作するためのインターフェイスとして利用するＣＧエージェントが知られている（例えば特許文献１参照）。人（例えば幼児など）がコンピュータとコミュニケーションを図る際に、機械としてのコンピュータと直接的にコミュニケーションを図るよりも擬人的な振る舞いをするＣＧエージェントを媒介させた方が多くの場合で親しみ易い場合がある。ＣＧエージェントはコンピュータによって形成された３次元空間である仮想世界に存在し、コミュニケーションに含まれる音声やコンピュータに搭載されたカメラからの画像に基づいて、複雑な検索処理などを代行したり、擬人的な振る舞いを行ったりする。
【０００３】
一方、仮想世界を、人の視線を光軸とする仮想カメラから撮像した画像に射影変換してディスプレイに表示するFISH TANK VIRTUAL REALITY（FISH TANK VR：フィッシュタンクバーチャルリアリティ）も知られている（例えば非特許文献１参照）。仮想世界に対象物が存在する場合、FISH TANK VRを利用することで対象物を擬似的に３次元に表示することができ、対象物の存在感を高めることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３６６２７１号公報
【非特許文献】
【０００５】
【非特許文献１】コリン・ウェア(Colin Ware)、外１名、「フィッシュ・タンク・バーチャル・リアリティ (FISH TANK VIRTUAL REALITY)」、[online]、１９９３年４月、インターチ(INTERCHI)、[平成２７年４月１７日検索]、インターネット<URL:ｈｔｔｐ：／／ｊｈｃ．ｕｎｈ．ｅｄｕ／ｖｉｓｌａｂ／ＰＤＦｓ／ＦｉｓｈＴａｎｋＶＲ．ｐｄｆ>.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、単眼カメラを搭載した携帯型の情報処理端末（例えばスマートフォンなど）にＣＧエージェントを表示し、人とコンピュータとのコミュニケーションを図る場合に、特定の対象物が人とＣＧエージェントの間を横切って単眼カメラに向かって一直線に飛んでくると、対象物に対する人の反応とＣＧエージェントの反応が整合しない場合がある。
【０００７】
一例を挙げると、人が情報処理端末を右斜め前に視る位置に立ち、人の左手側の位置から対象物が単眼カメラに向かって一直線に近づいてきた場合、ＣＧエージェントに向けた人の視線を横切る前までは人は自身の左側に対象物が存在すると認識し、視線を横切った後では人は自身の右側に対象物が存在すると認識する。一方、ＣＧエージェントは単眼カメラからの撮像画像に基づいて対象物を検出するものの、撮像画像内では対象物の位置は変化しないため、ＣＧエージェントは常に自身の右側（人の左側）に対象物が存在すると認識する。すなわち、人のＣＧエージェントに対する視線を横切った後において人の反応とＣＧエージェントの反応との関係が不適切になる場合がある。
【０００８】
そこで、１つの側面では、ＣＧエージェントの反応を適切に制御するＣＧエージェント表示方法、ＣＧエージェント表示プログラム、及び情報処理端末を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本明細書に開示のＣＧエージェント表示方法は、ＣＧエージェントを表示する表示部側の単眼カメラを利用して、人物の位置を推定し、推定した位置に設置した仮想カメラの姿勢を、該仮想カメラの視野が前記表示部に整合する姿勢に制御し、前記ＣＧエージェントの表示位置が前記単眼カメラの位置と一致するように、前記仮想カメラの位置と姿勢の少なくとも一方を補正し、前記単眼カメラによる撮像画像から特定の対象物を検出し、前記対象物の方向を定める状態に前記ＣＧエージェントを制御し、前記表示部に、前記ＣＧエージェントを含む仮想世界を、前記仮想カメラの位置と姿勢に基づき前記表示部の位置に射影変換して得られる画像を表示する、処理をコンピュータが実行することを特徴とするＣＧエージェント表示方法である。
【００１０】
本明細書に開示のＣＧエージェント表示プログラムは、ＣＧエージェントを表示する表示部側の単眼カメラを利用して、人物の位置を推定し、推定した位置に設置した仮想カメラの姿勢を、該仮想カメラの視野が前記表示部に整合する姿勢に制御し、前記ＣＧエージェントの表示位置が前記単眼カメラの位置と一致するように、前記仮想カメラの位置と姿勢の少なくとも一方を補正し、前記単眼カメラによる撮像画像から特定の対象物を検出し、前記対象物の方向を定める状態に前記ＣＧエージェントを制御し、前記表示部に、前記ＣＧエージェントを含む仮想世界を、前記仮想カメラの位置と姿勢に基づき前記表示部の位置に射影変換して得られる画像を表示する、処理をコンピュータに実行させることを特徴とするＣＧエージェント表示プログラムである。
【００１１】
本明細書に開示の情報処理端末は、ＣＧエージェントを表示する表示部側の単眼カメラを利用して、人物の位置を推定する推定手段と、推定した位置に設置した仮想カメラの姿勢を、該仮想カメラの視野が前記表示部に整合する姿勢に制御する第１の制御手段と、前記ＣＧエージェントの表示位置が前記単眼カメラの位置と一致するように、前記仮想カメラの位置と姿勢の少なくとも一方を補正する補正手段と、前記単眼カメラによる撮像画像から特定の対象物を検出する検出手段と、前記対象物の方向を定める状態に前記ＣＧエージェントを制御する第２の制御手段と、を備え、前記表示部が、前記ＣＧエージェントを含む仮想世界を、前記仮想カメラの位置と姿勢に基づき前記表示部の位置に射影変換して得られる画像を表示する、ことを特徴とする情報処理端末である。
【発明の効果】
【００１２】
本明細書に開示のＣＧエージェント表示方法、ＣＧエージェント表示プログラム、及び情報処理端末によれば、ＣＧエージェントの反応を適切に制御することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、ＣＧエージェントについて説明するための図である。
【図２】図２は、ディスプレイを介した実世界と仮想世界との関係の一例を説明するための平面図である。
【図３】図３は、情報処理端末のハードウェア構成の一例である。
【図４】図４は、情報処理端末のブロック図の一例である。
【図５】図５は、単眼カメラに向けて対象物が移動してきた場合の平面図である。
【図６】図６は、ＣＧエージェントの表示例である。
【図７】図７は、ＣＧエージェントが誤った姿勢をとる原因を説明するための図である。
【図８】図８は、ＣＧエージェントが正しい姿勢をとるための措置を説明するための図である。
【図９】図９（ａ）は、手法１の一例を説明するための平面図である。図９（ｂ）は、単眼カメラで撮像された撮像画像の一例である。図９（ｃ）は、ディスプレイに表示されるＣＧエージェントの一例である。
【図１０】図１０は、手法１に係る情報処理端末の動作の一部を例示するフローチャートである。
【図１１】図１１は、手法１に係る情報処理端末の別の動作の一部を例示するフローチャートである。
【図１２】図１２は、手法１に係る情報処理端末の別の動作の一部を例示するフローチャートである。
【図１３】図１３は、手法２の一例を説明するための平面図である。
【図１４】図１４は、手法２に係る情報処理端末の動作の一部を例示するフローチャートである。
【図１５】図１５は、手法３の一例を説明するための平面図である。
【図１６】図１６は、手法３に係る情報処理端末の動作の一部を例示するフローチャートである。
【図１７】図１７は、仮想カメラを平行移動する補正の一例である。
【図１８】図１８は、仮想カメラを平行移動する補正の他の一例である。
【図１９】図１９は、仮想カメラを回転する補正の一例である。
【図２０】図２０は、手法４の一例を説明するための平面図である。
【図２１】図２１は、手法５の一例を説明するための平面図である。
【図２２】図２２は、計算手法の一例を説明するための平面図である。
【図２３】図２３は、ＣＧエージェントの表示例である。
【発明を実施するための形態】
【００１４】
以下、本件を実施するための形態について図面を参照して説明する。
【００１５】
図１は、ＣＧエージェントＱについて説明するための図である。
ＣＧエージェントＱは、情報処理端末１００の本体正面部１１０に表示される。より詳しくは、本体正面部１１０に含まれるディスプレイ１００ＩにＣＧエージェントＱが表示される。ＣＧエージェントＱは仮想世界に存在しており、図１に示すように、物理的な身体を有していない。また、情報処理端末１００は、例えばＣＧエージェントＱと人物Ｐとの目線が整合するように台座２００の上に載置される。これにより、人物ＰがＣＧエージェントＱを見上げたり見下ろしたりしないで済む。尚、情報処理端末１００としては、例えばスマートフォン、タブレット端末、ノート型ＰＣといった携帯型の情報処理端末がある。また、情報処理端末１００を台座２００に載置せずに壁面（不図示）に立てかけるようにしてもよい。
【００１６】
さらに、図１に示すように、情報処理端末１００には単眼カメラ１００Ｇが搭載されている。より詳しくは、単眼カメラ１００Ｇはディスプレイ１００Ｉ側であって、ディスプレイ１００Ｉ部分と異なる部分に配置されている。その部分において、単眼カメラ１００Ｇは本体正面部１１０の中央に配置されている。したがって、図１に示すように、単眼カメラ１００Ｇは例えばディスプレイ１００Ｉの上端中央の上側に配置されている。尚、単眼カメラ１００Ｇの配置は、本体正面部１１０の中央から左右にずれていてもよい。単眼カメラ１００Ｇは撮像領域内を撮像し、撮像した領域内を画像により表した撮像画像を取得する。詳細は後述するが、情報処理端末１００は撮像画像に基づいてＣＧエージェントＱの姿勢などを制御する。例えば、撮像画像に人物Ｐが含まれている場合、情報処理端末１００はＣＧエージェントＱの視線を人物Ｐに向けたり、ＣＧエージェントＱの腕を動かしたりする。これにより、人物Ｐの注意がＣＧエージェントＱに誘導される。このように、人物ＰとＣＧエージェントＱが相互に作用するインタラクションが実現される。
【００１７】
図２は、ディスプレイ１００Ｉを介した実世界Ｒと仮想世界Ｖとの関係の一例を説明するための平面図である。本実施形態ではFISH TANK VRを採用している。このため、実世界Ｒに存在する人物Ｐから見て、ディスプレイ１００Ｉの反対側には固定された仮想世界Ｖが広がっている。人物Ｐの視野はディスプレイ１００Ｉの画面と一致しており、人物Ｐの視線はＣＧエージェントＱに向けられている。この場合、ＣＧエージェントＱは、ディスプレイ１００Ｉ上に投影画像Ｑ１として表示される。すなわち、人物Ｐの視線とディスプレイ１００Ｉとが交差する位置に投影画像Ｑ１は表示される。これは、仮想世界Ｖを水槽（フィッシュタンク）と仮定し、ＣＧエージェントＱを例えば魚と仮定し、ディスプレイ１００Ｉを水槽の中を覗く窓と仮定すると、人物Ｐが窓から水槽の中を泳ぐ魚を覗き込む場合と類似する。この場合、窓に映る魚の位置は投影画像Ｑ１の表示位置に一致する。そして、人物Ｐが単眼カメラ１００Ｇの撮像領域内で移動すると、投影画像Ｑ１の表示位置は変化する。例えば、人物Ｐが単眼カメラ１００Ｇの真正面に移動すると、投影画像Ｑ１の表示位置は単眼カメラ１００Ｇの位置に変化する。
【００１８】
続いて、図３を参照して、情報処理端末１００のハードウェア構成について説明する。
【００１９】
図３は、情報処理端末１００のハードウェア構成の一例である。図３に示すように、情報処理端末１００は、Central Processing Unit（ＣＰＵ）１００Ａ、Random Access Memory（ＲＡＭ）１００Ｂ、Read Only Memory（ＲＯＭ）１００Ｃ、Electrically Erasable Programmable Read Only Memory（ＥＥＰＲＯＭ）１００Ｄ及び通信回路１００Ｅを含んでいる。通信回路１００Ｅにはアンテナ１００Ｅ´が接続されている。通信回路１００Ｅに代えて通信機能を実現するＣＰＵが利用されてもよい。
【００２０】
また、情報処理端末１００は、スピーカー１００Ｆ、単眼カメラ１００Ｇ、タッチパネル１００Ｈ、表示部としてのディスプレイ１００Ｉ、及びマイク１００Ｊを含んでいる。単眼カメラ１００Ｇは、例えばComplementary Metal Oxide Semiconductor（ＣＭＯＳ）やCharge Coupled Device（ＣＣＤ）を用いた撮像素子とレンズなどの光学系とを含んでいる。ＣＰＵ１００Ａ、・・・、マイク１００Ｊは、内部バス１００Ｋによって互いに接続されている。少なくともＣＰＵ１００ＡとＲＡＭ１００Ｂとが協働することによってコンピュータが実現される。
【００２１】
上述したＲＡＭ１００Ｂには、ＲＯＭ１００ＣやＥＥＰＲＯＭ１００Ｄに記憶されたプログラムがＣＰＵ１００Ａによって格納される。格納されたプログラムをＣＰＵ１００Ａが実行することにより、後述する各種の機能が実現され、また、各種の動作が実行される。尚、プログラムは後述するフローチャートに応じたものとすればよい。
【００２２】
続いて、図４を参照して、情報処理端末１００の機能の詳細について説明する。
【００２３】
図４は、情報処理端末１００のブロック図の一例である。情報処理端末１００は、図４に示すように、情報処理部１２０を含んでいる。情報処理部１２０は、顔検出部１０１と、推定手段としての位置推定部１０２と、検出手段としての対象検出部１０３とを含んでいる。また、情報処理部１２０は、第２の制御手段としてのエージェント制御部１０４と、第１の制御手段及び補正手段としての仮想カメラ制御部１０５と、射影変換部１０６と、描画部１０７とを含んでいる。
【００２４】
顔検出部１０１は、単眼カメラ１００Ｇで撮像された撮像画像を受け付け、撮像画像内に人物Ｐの顔が含まれているか否かを判断する。具体的には、顔検出部１０１は、顔認証技術（又は顔識別技術）を利用して、撮像画像内に人物Ｐの顔が含まれているか否かを判断する。一例を挙げると、顔検出部１０１は、撮像画像から輝度の不連続な変化を示すエッジ等の特徴点を抽出し、抽出した特徴点の分布に基づいて人物Ｐの顔の輪郭を特定する。そして、顔検出部１０１は、特定した輪郭に基づいて人物Ｐの顔を検出する。また、別の例を挙げると、顔検出部１０１は、人物Ｐの顔を表すテンプレート画像と撮像画像との相関を示す相関係数を求め、求めた相関係数が所定の値以上となる画像領域を人物Ｐの顔として検出する。人物Ｐの顔を表すテンプレート画像は、例えばＲＯＭ１００ＣやＥＥＰＲＯＭ１００Ｄに予め記憶される。
【００２５】
位置推定部１０２は、顔検出部１０１が撮像画像内に人物Ｐの顔が含まれていると判断した場合、人物Ｐの位置を推定する。具体的には、位置推定部１０２は、顔検出部１０１が検出した顔の大きさ（例えば画素数）に基づいて、人物Ｐの位置を推定する。顔の大きさは成人であれば１９〜２４センチ程度と一定の大きさであるため、例えば、顔検出部１０１が検出した顔の大きさが撮像画像内の大部分を占有していれば、人物Ｐの位置は情報処理端末１００の近くであると推定することができる。逆に、顔検出部１０１が検出した顔の大きさが撮像画像内をほとんど占有していなければ、人物Ｐの位置は情報処理端末１００から遠く離れていると推定することができる。したがって、撮像画像内を占有する顔部分の画像領域と情報処理端末１００（より詳しくは単眼カメラ１００Ｇ）から離れた人物Ｐの位置との関係を特定する情報を情報処理端末１００が備えていれば、位置推定部１０２は、顔の大きさに基づいて、人物Ｐの位置を推定することができる。
【００２６】
対象検出部１０３は、単眼カメラ１００Ｇで撮像された撮像画像を受け付け、撮像画像内に特定の対象物が含まれているか否かを判断する。具体的には、対象検出部１０３は、画像処理技術に基づいて、動的な対象物が含まれているか否かを判断する。ここで、一定の大きさを有する顔とは異なり、動的な対象物の大きさはさまざまであるため、撮像画像内を占有する対象物の領域が小さいからといって必ずしも情報処理端末１００から離れた位置に対象物が存在するとは限らない。このため、対象検出部１０３は例えば時系列な２枚の撮像画像から差分画像を求め、差分画像から輝度の変化が顕著な２つの画像領域を特定し、特定した画像領域同士に対しパターン認識（又はパターンマッチング）を実行する。そして、対象検出部１０３は、特定した画像領域同士が同じであると判断した場合、又は特定した画像領域同士が拡大率又は縮小率だけが異なり模様や形状が同じであると判断した場合、対象検出部１０３は、撮像画像内に動的な対象物が含まれていると判断する。尚、対象検出部１０３は、特定した２つの画像領域の色が同じである場合に、撮像画像内に動的な対象物が含まれていると判断するようにしてもよい。
【００２７】
エージェント制御部１０４は、ＣＧエージェントＱの位置を移動させたり、姿勢や視線といった状態を制御したりする。例えば、位置推定部１０２によって人物Ｐの位置が推定された場合、エージェント制御部１０４は人物Ｐの位置を取得し、取得した位置に視線を向けるようにＣＧエージェントＱの体の向きを変更する。尚、エージェント制御部１０４は、体の向きを変更せずに、ＣＧエージェントＱに対し首を回したり目を動かしたりすることにより取得した位置に視線を向けさせてもよい。また、エージェント制御部１０４は、対象検出部１０３によって対象物が検出された場合、撮像画像内における人物Ｐとの相対位置に応じてＣＧエージェントＱに異なる姿勢をとらせる。例えば、エージェント制御部１０４は、撮像画像内において人物Ｐの右側に対象物が存在すると判断した場合、ＣＧエージェントＱの右腕を上げさせる。逆に、エージェント制御部１０４は、撮像画像内において人物Ｐの左側に対象物が存在すると判断した場合、ＣＧエージェントＱの左腕を上げさせる。これにより、人物ＰはＣＧエージェントＱが動的な対象物に反応していると認識する。
【００２８】
仮想カメラ制御部１０５は、位置推定部１０２から取得した位置に仮想カメラを設置したり、仮想カメラの姿勢を制御したりする。仮想カメラ制御部１０５が仮想カメラを設置すると、人物Ｐの視点と仮想カメラの撮像位置は一致する。また、仮想カメラ制御部１０５は、設置した仮想カメラの姿勢を、該仮想カメラの視野がディスプレイ１００Ｉに整合する姿勢に制御する。これにより、人物Ｐの位置から見たディスプレイ１００Ｉと仮想カメラの撮像位置から撮像したディスプレイ１００Ｉは一致する。
【００２９】
射影変換部１０６は、仮想カメラの位置及び姿勢を取得し、取得した位置及び姿勢並びに射影変換に基づいて、ディスプレイ１００Ｉに投影する画像を決定する。射影変換とは、ある角度から見た画像を別の角度から見た画像に変換することである。例えば、情報処理端末１００の真正面から人物Ｐがディスプレイ１００Ｉに表示される仮想世界Ｖを見た場合と情報処理端末１００を右斜め前に見る位置から人物Ｐがディスプレイ１００Ｉに表示される仮想世界Ｖを見た場合とでは見え方が相違する。このため、人物Ｐが同じ仮想世界Ｖをどの角度から見ても整合するように、射影変換部１０６は、ディスプレイ１００Ｉに投影する仮想世界Ｖの画像を決定する。この結果、例えば情報処理端末１００の真正面からでは仮想世界Ｖの右隅奥が見ることができない場合に、人物Ｐが情報処理端末１００を右斜め前に見る位置に移動すると、ディスプレイ１００Ｉに表示される仮想世界Ｖの画像は射影変換され、ディスプレイ１００Ｉを通じて仮想世界Ｖの右隅奥を見ることが可能となる。
【００３０】
描画部１０７は、射影変換部１０６により決定された画像をディスプレイ１００Ｉに描画する。これにより、ディスプレイ１００ＩにはＣＧエージェントＱを含む仮想世界Ｖの画像が表示される。
【００３１】
次に、本件の実施形態を説明する前に、実施形態と対比する比較例について図５から図８までを参照して説明する。
【００３２】
図５は、単眼カメラ１００Ｇに向けて対象物１０が移動してきた場合の平面図である。図６は、ＣＧエージェントＱの表示例である。図７は、ＣＧエージェントＱが誤った姿勢をとる原因を説明するための図である。図８は、ＣＧエージェントＱが正しい姿勢をとるための措置を説明するための図である。
【００３３】
まず、図５に示すように、人物Ｐの視野がディスプレイ１００Ｉに一致し、人物Ｐの位置が単眼カメラ１００Ｇを右斜め前に見る位置であり、人物Ｐの視線がＣＧエージェントＱに向けられている状態を仮定する。ここで、人物Ｐの左手側の位置から対象物１０（例えばテニスボール）が単眼カメラ１００Ｇに向かって一直線に近づいてきた場合、人物Ｐの視線を横切る前までの区間Ａでは人物Ｐは自身の左側に対象物１０が存在すると認識する。そして、人物Ｐの視線を横切った後の区間Ｂでは人物Ｐは自身の右側に対象物１０が存在すると認識する。
【００３４】
一方、ＣＧエージェントＱは単眼カメラ１００Ｇからの撮像画像に基づいて対象物１０を検出する。しかしながら、撮像画像内では対象物１０の位置は変化しないため、ＣＧエージェントＱは区間Ａでも区間Ｂでも自身の右側（人物Ｐの左側）に対象物１０が存在すると認識する。すなわち、区間Ｂにおいて人物Ｐの反応とＣＧエージェントＱの反応との関係が不適切になる。人物Ｐの認識と整合する認識をＣＧエージェントＱが行った場合、ＣＧエージェントＱの正しい姿勢は、図６（ａ）に示すように、区間Ａにおいて右腕を上げる姿勢であり、区間Ｂにおいて左腕を上げる姿勢である。ところが、人物Ｐの認識と異なる認識をＣＧエージェントＱが行った場合、ＣＧエージェントＱは、図６（ｂ）に示すように、区間Ａにおいて右腕を上げる姿勢をとるものの、区間Ｂにおいても左腕を上げる姿勢をとらずに右腕を上げたままの姿勢をとる。すなわち、区間ＢにおいてＣＧエージェントＱは誤った姿勢をとる。
【００３５】
このように、ＣＧエージェントＱが誤った姿勢をとる原因を、図７を参照して具体的に説明する。図７に示すように、まず、人物Ｐの前に広がる領域を、ＣＧエージェントＱ（不図示）に向けられる人物Ｐの視線Ｌ１を境界として人物Ｐの左側の領域２１と人物Ｐの右側の領域２２とに分割する。次に、単眼カメラ１００Ｇの前に広がる領域を、人物Ｐに向けられる単眼カメラ１００Ｇの光軸Ｌ２を境界として人物Ｐの左側の領域３１と右側の領域３２とに分割する。
【００３６】
このように、領域２１，２２，３１，３２に分割した場合、人物Ｐの視線Ｌ１と単眼カメラ１００Ｇの光軸Ｌ２とディスプレイ１００Ｉによって形成される領域４１は、人物Ｐから見ると領域２２に属する。一方、領域４１は単眼カメラ１００Ｇから見ると領域３１に属する。すなわち、人物Ｐから見ても単眼カメラ１００Ｇから見ても領域４１は右側に存在する。このため、領域４１に対象物１０が入ってくると、人物Ｐは自身の右側に対象物１０が存在すると正しく認識するものの、ＣＧエージェントＱも自身の右側に対象物１０が存在すると誤った認識する。すなわち、ＣＧエージェントＱをディスプレイ１００Ｉに投影した投影画像Ｑ１の表示位置が単眼カメラ１００Ｇと一致していない場合に、ＣＧエージェントＱは誤った姿勢をとる。
【００３７】
逆に、図８に示すように、投影画像Ｑ１の表示位置が単眼カメラ１００Ｇと一致している場合、領域４１は形成されず、ＣＧエージェントＱは正しい姿勢をとることができる。したがって、以下に説明する本実施形態では、ＣＧエージェントＱのディスプレイ１００Ｉ上の表示位置を単眼カメラ１００Ｇに一致させる具体的な手法１〜５について説明する。これにより、少なくとも左右認識のレベルでＣＧエージェントＱが誤った姿勢をとる可能性が消失する。
【００３８】
（手法１）
図９（ａ）は、手法１の一例を説明するための平面図である。図９（ｂ）は、単眼カメラ１００Ｇで撮像された撮像画像の一例である。図９（ｃ）は、ディスプレイ１００Ｉに表示されるＣＧエージェントＱの一例である。手法１では、図９（ａ）に示すように、ＣＧエージェントＱの位置と単眼カメラ１００Ｇの位置とを一致させる。これにより、ＣＧエージェントＱをディスプレイ１００Ｉに投影しても、投影画像Ｑ１（不図示）の表示位置は単眼カメラ１００Ｇと一致する。人物Ｐは単眼カメラ１００Ｇの撮像領域内でどのように移動しようとも、人物Ｐの視線は単眼カメラ１００Ｇの位置に固定されたＣＧエージェントＱに向けられる。したがって、図７を参照して説明した領域４１は形成されない。このため、対象物１０が単眼カメラ１００Ｇに向かって一直線に近づいてきても、対象物１０が人物Ｐの視線を横切らないため、ＣＧエージェントＱは正しい姿勢をとることができる。
【００３９】
図１０は、手法１に係る情報処理端末１００の動作の一部を例示するフローチャートである。より詳しくは、図１０は仮想カメラ５０の制御に関するフローチャートを示している。図１０に示すように、顔検出部１０１は単眼カメラ１００Ｇで撮像された撮像画像（図９（ｂ）参照）を受け付けると（ステップＳ１０１）、顔を検出したか否かを判断する（ステップＳ１０２）。顔検出部１０１は顔を検出したと判断した場合（ステップＳ１０２：ＹＥＳ）、位置推定部１０２は、顔検出部１０１が検出した顔の大きさに基づいて、人物Ｐの位置を推定する（ステップＳ１０３）。ステップＳ１０３の処理が完了すると、次いで、仮想カメラ制御部１０５は、図９（ａ）に示すように、推定した位置に仮想カメラ５０を設置し（ステップＳ１０４）、仮想カメラ５０の姿勢を、その視野がディスプレイ１００Ｉに整合する姿勢に制御する（ステップＳ１０５）。尚、顔検出部１０１は顔を検出しなかったと判断した場合（ステップＳ１０２：ＮＯ）、処理を終了する。
【００４０】
図１１は、手法１に係る情報処理端末１００の別の動作の一部を例示するフローチャートである。より詳しくは、図１１はＣＧエージェントＱの制御に関するフローチャートを示している。尚、図１１に示すフローチャートは、図１０に示すフローチャートより前に実行されてもよいし、図１０に示すフローチャートと並列して実行されるようにしてもよい。
【００４１】
図１１に示すように、対象検出部１０３は単眼カメラ１００Ｇで撮像された撮像画像（図９（ｂ）参照）を受け付けると（ステップＳ２０１）、対象物１０を検出したか否かを判断する（ステップＳ２０２）。対象検出部１０３は対象物１０を検出しなかったと判断した場合（ステップＳ２０２：ＮＯ）、処理を終了する。一方、対象検出部１０３は対象物１０を検出したと判断した場合（ステップＳ２０２：ＹＥＳ）、エージェント制御部１０４は、ＣＧエージェントＱの位置を単眼カメラ１００Ｇの位置に固定する（ステップＳ２０３）。ステップＳ２０３の処理が完了すると、次いで、エージェント制御部１０４は対象物１０の角度を取得する（ステップＳ２０４）。
【００４２】
具体的には、エージェント制御部１０４は、図９（ｂ）に示すように、撮像画像を左側の画像領域と右側の画像領域とに分割し、対象物１０がどこに存在するか判断する。例えば対象物１０が左側の画像領域と右側の画像領域との境界に存在すれば、対象物１０は単眼カメラ１００Ｇの真正面に存在すると判断でき、エージェント制御部１０４は対象物の角度「０°」を取得する。例えば、対象物１０が右側の画像領域の右端に存在すれば、対象物１０は単眼カメラ１００Ｇの画角の右側の境界上に存在すると判断できる。したがって、例えば単眼カメラ１００Ｇが画角「１２０°」であれば、エージェント制御部１０４は対象物の角度「＋６０°」を取得する。逆に、対象物１０が左側の画像領域の左端に存在すれば、対象物１０は単眼カメラ１００Ｇの画角の左側の境界上に存在すると判断できる。この場合、エージェント制御部１０４は対象物の角度「−６０°」を取得する。例えば、対象物１０が左側の画像領域と右側の画像領域との境界と右側の画像領域の右端（又は左側の画像領域の左端）との間に存在すれば、エージェント制御部１０４はその位置に応じた対象物の角度を取得する。
【００４３】
ステップＳ２０４の処理が完了すると、次いで、エージェント制御部１０４は取得した角度に応じた方向を定める状態にＣＧエージェントＱを制御する（ステップＳ２０５）。例えば、エージェント制御部１０４は、正の値を有する角度を取得した場合、図９（ｃ）に示すように、ＣＧエージェントＱの右腕を上げさせる。逆に、負の値を有する角度を取得した場合、ＣＧエージェントＱの左腕を上げさせる。尚、エージェント制御部１０４によるＣＧエージェントＱに対するこのような制御に代えて、エージェント制御部１０４は取得した角度に応じた方向を向けさせる視線にＣＧエージェントＱを制御してもよい。すなわち、対象物１０の方向を定める状態にＣＧエージェントを制御する形態であれば、エージェント制御部１０４はＣＧエージェントＱの姿勢を制御してもよいし視線を制御してもよい。
【００４４】
図１２は、手法１に係る情報処理端末１００の別の動作の一部を例示するフローチャートである。より詳しくは、図１２は射影変換と描画に関するフローチャートを示している。尚、図１２に示すフローチャートは、図１０及び図１１に示すフローチャートが実行された後に実行される。図１２に示すように、射影変換部１０６は射影変換によりディスプレイ１００Ｉに投影する仮想世界Ｖの画像を決定し（ステップＳ３０１）、描画部１０７は決定した仮想世界Ｖの画像をディスプレイ１００Ｉに描画する（ステップＳ３０２）。これにより、ＣＧエージェントＱの投影画像Ｑ１を含む仮想世界Ｖの画像がディスプレイ１００Ｉに表示される。このように、手法１によれば少なくとも左右認識のレベルでＣＧエージェントＱが正しい姿勢を簡易にとることができる。
【００４５】
（手法２）
図１３は、手法２の一例を説明するための平面図である。手法２では、図１３に示すように、単眼カメラ１００Ｇの位置に投影画像Ｑ１が映るように、仮想世界Ｖの中でＣＧエージェントＱを移動させる。ＣＧエージェントＱの移動は、左右認識のレベルを考慮すれば、人物Ｐ（又は仮想カメラ５０）の位置と単眼カメラ１００Ｇの位置を結ぶ軸Ｋ上であればどの位置への移動であってもよい。しかしながら、移動量を減らすためには、軸Ｋに近い場所にＣＧエージェントＱを移動させることが好ましい。例えば単眼カメラ１００Ｇを中心にＣＧエージェントＱを回転移動させたり、軸Ｋへの垂線上を移動させたりするようにしてもよい。ＣＧエージェントＱが移動する際には、移動の不自然さを軽減するために、ＣＧエージェントＱを歩かせたり、アニメーションを入れたりするなど、適切な演出を伴わせて移動させるようにしてもよい。
【００４６】
手法２により、ＣＧエージェントＱをディスプレイ１００Ｉに投影しても、投影画像Ｑ１の表示位置は単眼カメラ１００Ｇと一致する。人物Ｐが単眼カメラ１００Ｇの撮像領域内で移動すると、人物Ｐの位置と単眼カメラ１００Ｇの位置とを結ぶ軸Ｋ上にＣＧエージェントＱが移動する。手法２の場合も、図７を参照して説明したように、領域４１は形成されない。このため、対象物１０が単眼カメラ１００Ｇに向かって一直線に近づいてきても、対象物１０が人物Ｐの視線を横切らないため、ＣＧエージェントＱは正しい姿勢をとることができる。
【００４７】
図１４は、手法２に係る情報処理端末１００の動作の一部を例示するフローチャートである。より詳しくは、図１４はＣＧエージェントＱの制御に関するフローチャートを示している。尚、仮想カメラ５０の制御に関するフローチャートは、図１０を参照して説明したフローチャートと同一であるため省略する。また、射影変換と描画に関するフローチャートも、図１２を参照して説明したフローチャートと同一であるため省略する。
【００４８】
図１４に示すように、対象検出部１０３は単眼カメラ１００Ｇで撮像された撮像画像（図９（ｂ）参照）を受け付けると（ステップＳ４０１）、対象物１０を検出したか否かを判断する（ステップＳ４０２）。対象検出部１０３は対象物１０を検出したと判断した場合（ステップＳ４０２：ＹＥＳ）、エージェント制御部１０４は、推定した位置を位置推定部１０２から取得する（ステップＳ４０３）。一方、対象検出部１０３は対象物１０を検出しなかったと判断した場合（ステップＳ４０２：ＮＯ）、処理を終了する。ステップＳ４０３の処理が完了すると、次いで、エージェント制御部１０４は対象物１０の角度を取得する（ステップＳ４０４）。手法２における対象物１０の角度の取得は手法１と同じである。
【００４９】
ステップＳ４０４の処理が完了すると、エージェント制御部１０４は取得した位置と単眼カメラ１００Ｇの位置とを結ぶ軸Ｋ上にＣＧエージェントＱを移動させる（ステップＳ４０５）。ステップＳ４０５の処理が完了すると、次いで、エージェント制御部１０４は取得した角度に応じた方向を定める状態にＣＧエージェントＱを制御する（ステップＳ４０６）。手法１でも説明したように、エージェント制御部１０４は、正の値を有する角度を取得した場合、ＣＧエージェントＱの右腕を上げさせる（図９（ｃ）参照）。逆に、負の値を有する角度を取得した場合、ＣＧエージェントＱの左腕を上げさせる。このように、手法２によっても少なくとも左右認識のレベルでＣＧエージェントＱが正しい姿勢をとることができるが、特に手法１と対比して、ＣＧエージェントＱの配置が制限されない点で手法１と比べて有益である。尚、手法１でも説明したように、エージェント制御部１０４はＣＧエージェントＱの姿勢を制御してもよいし視線を制御してもよい。
【００５０】
（手法３）
図１５は、手法３の一例を説明するための平面図である。手法３では、図１５に示すように、ＣＧエージェントＱの仮想世界Ｖ内の位置を変更せずに、仮想世界Ｖと実世界Ｒの関係を変更することにより、ＣＧエージェントＱの投影画像Ｑ１を単眼カメラ１００Ｇの位置に移動させる。ＣＧエージェントＱを含む仮想世界Ｖを移動させる点で手法３は手法２と相違する。手法３によっても、図７を参照して説明した領域４１は形成されない。このため、対象物１０が単眼カメラ１００Ｇに向かって一直線に近づいてきても、対象物１０が人物Ｐの視線を横切らないため、ＣＧエージェントＱは正しい姿勢をとることができる。
【００５１】
図１６は、手法３に係る情報処理端末１００の動作の一部を例示するフローチャートである。より詳しくは、図１６は仮想カメラ５０の制御に関するフローチャートを示している。尚、ＣＧエージェントＱの制御に関するフローチャートは、図１１を参照して説明したフローチャートからステップＳ２０３の処理を除いたフローチャートである。また、射影変換と描画に関するフローチャートは、図１２を参照して説明したフローチャートと同一であるため省略する。
【００５２】
図１６に示すように、顔検出部１０１は単眼カメラ１００Ｇで撮像された撮像画像（図９（ｂ）参照）を受け付けると（ステップＳ５０１）、顔を検出したか否かを判断する（ステップＳ５０２）。顔検出部１０１は顔を検出したと判断した場合（ステップＳ５０２：ＹＥＳ）、位置推定部１０２は、顔検出部１０１が検出した顔の大きさに基づいて、人物Ｐの位置を推定する（ステップＳ５０３）。一方、顔検出部１０１は顔を検出しなかったと判断した場合（ステップＳ５０２：ＮＯ）、処理を終了する。ステップＳ５０３の処理が完了すると、次いで、仮想カメラ制御部１０５は、推定した位置に仮想カメラ５０を設置し（ステップＳ５０４）、仮想カメラ５０の姿勢を、その視野がディスプレイ１００Ｉに整合する姿勢に制御する（ステップＳ５０５）。この結果、図９（ａ）を参照して説明したように、人物Ｐの位置に仮想カメラ５０が設置され、仮想カメラ５０の姿勢が、仮想カメラ５０の視野がディスプレイ１００Ｉに整合する姿勢に決定される。
【００５３】
ステップＳ５０５の処理が完了すると、仮想カメラ制御部１０５はＣＧエージェントＱの表示位置が単眼カメラ１００Ｇの位置と一致するように仮想カメラ５０の位置・姿勢を補正する（ステップＳ５０６）。より詳しくは、仮想カメラ制御部１０５は、図１５に示すように、ＣＧエージェントＱの投影画像Ｑ１の表示位置が単眼カメラ１００Ｇの位置と一致するように仮想カメラ５０の位置と姿勢の少なくとも一方を補正する。
【００５４】
一例を挙げると、図１７に示すように、仮想カメラ５０の視線Ｍと垂直な方向に平行移動することにより仮想カメラ５０の位置を補正する。人物Ｐから見ると、人物Ｐの移動に応じて単眼カメラ１００Ｇを中心に回転するように仮想世界Ｖが平行移動しているように見える。また、別の例を挙げると、図１８に示すように、仮想カメラ５０をディスプレイ１００Ｉと平行な方向に平行移動することにより仮想カメラ５０の位置を補正する。人物Ｐから見ると、人物Ｐの移動に応じて仮想世界Ｖがディスプレイ１００Ｉに平行にスライドしているように見える。さらに、別の例を挙げると、図１９に示すように、仮想カメラ５０の位置を固定して、回転のみにより仮想カメラ５０の姿勢を補正する。人物Ｐから見ると、人物Ｐの移動に応じて仮想世界Ｖが単眼カメラ１００Ｇを中心に円弧を描くように回転しているように見える。尚、図１７及び図１８は平行移動のみによる補正を示し、図１９は回転のみによる補正を示しているが、移動は平行移動に限定されず、また、移動と回転を組み合わせて補正するようにしてもよい。
【００５５】
このように、手法３によっても少なくとも左右認識のレベルでＣＧエージェントＱが正しい姿勢をとることができるが、特に手法２と対比して、ＣＧエージェントＱが仮想世界Ｖの中で移動しないため、仮想世界ＶとＣＧエージェントＱとの関係を維持することができる。
【００５６】
（手法４）
図２０は、手法４の一例を説明するための平面図である。図２０に示すように、ディスプレイ１００Ｉ上のＣＧエージェントＱの投影画像Ｑ１の表示位置に応じて、単眼カメラ１００Ｇを移動させる。手法４によっても、図７を参照して説明した領域４１が形成されず、少なくとも左右認識のレベルでＣＧエージェントＱが正しい姿勢をとることができる。尚、単眼カメラ１００Ｇの移動は、例えばモーターなどを利用して単眼カメラ１００Ｇを移動させる単眼カメラ制御部を情報処理端末１００に含めればよい。描画部１０７がディスプレイ１００Ｉに対する描画を終えた後に、単眼カメラ制御部が単眼カメラ１００Ｇを移動させればよい。
【００５７】
（手法５）
図２１は、手法５の一例を説明するための平面図である。手法５では、図２１に示すように、情報処理端末１００に手動で移動可能な単眼カメラ１００Ｇを搭載する。例えば学習用コンテンツを説明するＣＧエージェントＱが表示される場合に、図２１に示すように、ＣＧエージェントＱの表示位置は所定の位置に固定されていることが多く、また、学習者もほぼ動かないことが多い。このような場合、事前に単眼カメラ１００Ｇを手動でＣＧエージェントＱの表示位置に合わせることにより、ＣＧエージェントＱが適切に対象物１０の方向を指し示すことができる。
【００５８】
一例として、学習用コンテンツが積み木を使った幼児向けコンテンツであり、ＣＧエージェントＱが幼児に目の前の積み木を指し示す場合を説明する。この場合、事前に単眼カメラ１００Ｇを手動でＣＧエージェントＱの表示位置に合わせておけば、ＣＧエージェントＱが指し示す積み木と幼児が認識する積み木が一致しないという事態は回避される。
【００５９】
（その他の手法）
続いて、図２２及び図２３を参照して、ＣＧエージェントＱが指し示す方向に関する計算手法について説明する。
図２２は、計算手法の一例を説明するための平面図である。図２３は、ＣＧエージェントＱの表示例である。上述したように、ＣＧエージェントＱが指し示す方向については、左右認識のレベルで一致のみを目的とした場合には、単眼カメラ１００Ｇで撮像された撮像画像に基づいて取得した方向を使用すればよい。
【００６０】
しかしながら、より違和感をなくすために、ＣＧエージェントＱが指し示す方向をエージェント制御部１０４が補正するようにしてもよい。ここで、図２２に示すように、ＣＧエージェントＱの投影画像Ｑ１が単眼カメラ１００Ｇと同じ位置に表示されている状態で、ＣＧエージェントＱから対象物１０を実際に見る場合を考える。この場合、ＣＧエージェントＱを中心として人物Ｐの視線Ｌ１と後述する境界６０とにより形成される角度Ｘで示す範囲内にＣＧエージェントＱが指し示す方向Ｌ３が存在する。撮像画像に基づいて取得した方向（具体的には単眼カメラ１００Ｇの位置から対象物１０の位置に向かう方向Ｓ）をそのままＣＧエージェントＱが指し示す方向（具体的にはＣＧエージェントＱの位置を基点とする方向Ｓに平行な方向Ｔ）として使用する場合、ＣＧエージェントＱが指し示す方向Ｌ３は角度Ｘの境界６０を示している。つまり、対象物１０が無限遠方に存在する場合について指し示す方向が計算されている。このため、ＣＧエージェントＱが指し示す方向Ｌ３について、ある程度の距離を仮定した補正を入れる方が望ましい。
【００６１】
ここで、単眼カメラ１００Ｇの真正面（角度「０°」）を基準とする人物Ｐの角度をα、対象物１０の角度をβとした場合、指し示すべき角度Θは以下の数式（１）により表すことができる。
Θ＝β＋（α―β）×Ｃ  （０＜Ｃ≦１）・・・（１）
ここで、Ｃは補正を決定する係数であり、０より大きく１以下の間の値をとる。この値を適切にとることにより、違和感のない方向を指し示すことができる。例えばＣが０に近づくほど、方向Ｌ３は境界６０に近づく。逆にＣが１に近づくほど、方向Ｌ３は視線Ｌ１に近づく。すなわち、対象物１０を表す画像領域の大きさ（例えば画素数）に応じて係数Ｃを変化させることで、ＣＧエージェントＱが指し示す方向Ｌ３は角度Ｘの範囲内で対象物１０の位置に向くように変化する。
【００６２】
例えば、図２２において、対象物１０が単眼カメラ１００Ｇから遠方に離れた第１の位置Ｚ１にある場合には、図２３（ａ）に示すように、ＣＧエージェントＱは対象物１０がある位置Ｚ１を指し示す姿勢をとる。その後、対象物１０が単眼カメラ１００Ｇに向かって近づき、対象物１０が例えば単眼カメラ１００Ｇの位置と第１の位置Ｚ１との間の位置Ｚ２にある場合には、図２３（ｂ）に示すように、ＣＧエージェントＱは対象物１０がある位置Ｚ２を指し示す姿勢をとる。さらに、位置Ｚ２から対象物１０が単眼カメラ１００Ｇに近接する位置Ｚ３に到来した場合には、図２３（ｃ）に示すように、ＣＧエージェントＱは対象物１０がある位置Ｚ３を指し示す姿勢をとる。このように、対象物１０の位置に応じた違和感のない方向を指し示すことができる。
【００６３】
また、撮像画像から顔を検出する場合と同様に、対象物１０の大きさが事前に特定可能な場合には、画像処理技術を利用して、単眼カメラ１００Ｇで撮像された撮像画像に基づいて単眼カメラ１００Ｇの位置を原点とする対象物１０の位置を推定することができる。例えば、対象物１０がテニスボールであれば規格により対象物１０の大きさが事前に特定される。対象物１０が昆虫であれば昆虫の種類により対象物１０の大凡の大きさが事前に特定される。ここで、図２２に示すように、推定した対象物１０の位置と単眼カメラ１００Ｇの位置との距離をＤ、ＣＧエージェントＱの位置と単眼カメラ１００Ｇの位置との距離をｄ、α―βをＸとした場合、指し示すべき角度Θを以下の数式（２）によっても表すことができる。
Θ＝（Ｘ−π／２）
＋ａｔａｎ（（Ｄ−ｄ・ｃｏｓ（π―Ｘ））／（ｄ・ｓｉｎＸ））・・・（２）
このように、ＣＧエージェントＱが指し示す方向Ｌ３を補正することで、単眼カメラ１００Ｇを利用して左右認識のレベルを一致させつつ、対象物１０までの距離Ｄに基づいてある程度正確な方向をＣＧエージェントＱが指し示すことができる。
【００６４】
以上説明したように、本実施形態によれば、３次元位置を計測可能なステレオカメラといった高価な撮像機器を利用せずに、安価な単眼カメラ１００Ｇを利用してＣＧエージェントＱの反応を少なくとも左右認識レベルで適切に制御することができる。そして、ＣＧエージェントＱが指し示す方向Ｌ３を補正することにより、ある程度正確な方向をＣＧエージェントＱが指し示すことが可能になる。このように、人物Ｐに対して、ＣＧエージェントＱが実世界Ｒを共有しているような感覚を与えることができ、実世界ＲにおけるＣＧエージェントＱの存在感が増す。そのため、人物Ｐへの提案、促し、教育といった働きかけの効果が向上する。
【００６５】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００６６】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）ＣＧエージェントを表示する表示部側の単眼カメラを利用して、人物の位置を推定し、推定した位置に設置した仮想カメラの姿勢を、該仮想カメラの視野が前記表示部に整合する姿勢に制御し、前記ＣＧエージェントの表示位置が前記単眼カメラの位置と一致するように、前記仮想カメラの位置と姿勢の少なくとも一方を補正し、前記単眼カメラによる撮像画像から特定の対象物を検出し、前記対象物の方向を定める状態に前記ＣＧエージェントを制御する、処理をコンピュータが実行するＣＧエージェント表示方法。
（付記２）前記補正する処理は、前記仮想カメラの光軸と垂直に又は前記表示部と平行に前記仮想カメラを移動させることにより前記仮想カメラの位置を補正する付記１に記載のＣＧエージェント表示方法。
（付記３）前記補正する処理は、前記仮想カメラを回転させることにより前記仮想カメラの姿勢を補正する付記１又は２に記載のＣＧエージェント表示方法。
（付記４）前記対象物を表す画像領域の大きさに基づいて、前記単眼カメラから前記対象物に向かう方向を定める第１の方向を前記ＣＧエージェントが前記対象物に向ける方向を定める第２の方向に補正する処理、を含む付記１から３のいずれか１項に記載のＣＧエージェント表示方法。
（付記５）前記対象物の大きさが特定可能な場合、画像処理技術を利用して前記対象物の位置を推定する処理と、前記単眼カメラから前記対象物に向かう方向を定める第１の方向を、推定した位置に前記ＣＧエージェントが向ける方向を定める第２の方向に補正する処理と、を含む付記１から３のいずれか１項に記載のＣＧエージェント表示方法。
（付記６）ＣＧエージェントを表示する表示部側の単眼カメラを利用して、人物の位置を推定し、推定した位置に設置した仮想カメラの姿勢を、該仮想カメラの視野が前記表示部に整合する姿勢に制御し、前記ＣＧエージェントの表示位置が前記単眼カメラの位置と一致するように、前記仮想カメラの位置と姿勢の少なくとも一方を補正し、前記単眼カメラによる撮像画像から特定の対象物を検出し、前記対象物の方向を定める状態に前記ＣＧエージェントを制御する、処理をコンピュータに実行させるためのＣＧエージェント表示プログラム。
（付記７）ＣＧエージェントを表示する表示部側の単眼カメラを利用して、人物の位置を推定する推定手段と、推定した位置に設置した仮想カメラの姿勢を、該仮想カメラの視野が前記表示部に整合する姿勢に制御する第１の制御手段と、前記ＣＧエージェントの表示位置が前記単眼カメラの位置と一致するように、前記仮想カメラの位置と姿勢の少なくとも一方を補正する補正手段と、前記単眼カメラによる撮像画像から特定の対象物を検出する検出手段と、前記対象物の方向を定める状態に前記ＣＧエージェントを制御する第２の制御手段と、を備える情報処理端末。
（付記８）前記補正手段は、前記仮想カメラの光軸と垂直に又は前記表示部と平行に前記仮想カメラを移動させることにより前記仮想カメラの位置を補正する付記７に記載の情報処理端末。
（付記９）前記補正手段は、前記仮想カメラを回転させることにより前記仮想カメラの姿勢を補正する付記７又は８に記載の情報処理端末。
（付記１０）前記第２の制御手段は、前記対象物を表す画像領域の大きさに基づいて、前記単眼カメラから前記対象物に向かう方向を定める第１の方向を前記ＣＧエージェントが前記対象物に向ける方向を定める第２の方向に補正する付記７から９のいずれか１項に記載の情報処理端末。
（付記１１）前記第２の制御手段は、前記対象物の大きさが特定可能な場合、画像処理技術を利用して前記対象物の位置を推定し、前記単眼カメラから前記対象物に向かう方向を定める第１の方向を、推定した位置に前記ＣＧエージェントが向ける方向を定める第２の方向に補正する付記７から９のいずれか１項に記載の情報処理端末。
【符号の説明】
【００６７】
１００  情報処理端末
１０１  顔検出部
１０２  位置推定部
１０３  対象検出部
１０４  エージェント制御部
１０５  仮想カメラ制御部
１０６  射影変換部
１０７  描画部
Ｐ  人物
Ｑ  ＣＧエージェント
【図１】
0006645058.tif 000002
【図２】
0006645058.tif 000003
【図３】
0006645058.tif 000004
【図４】
0006645058.tif 000005
【図５】
0006645058.tif 000006
【図６】
0006645058.tif 000007
【図７】
0006645058.tif 000008
【図８】
0006645058.tif 000009
【図９】
0006645058.tif 000010
【図１０】
0006645058.tif 000011
【図１１】
0006645058.tif 000012
【図１２】
0006645058.tif 000013
【図１３】
0006645058.tif 000014
【図１４】
0006645058.tif 000015
【図１５】
0006645058.tif 000016
【図１６】
0006645058.tif 000017
【図１７】
0006645058.tif 000018
【図１８】
0006645058.tif 000019
【図１９】
0006645058.tif 000020
【図２０】
0006645058.tif 000021
【図２１】
0006645058.tif 000022
【図２２】
0006645058.tif 000023
【図２３】
0006645058.tif 000024