(57)【要約】  一実施形態に係る情報処理装置１０は、ＨＭＤ１を装着したユーザに対応付けられた仮想空間Ｖ上のユーザオブジェクト２１の動作を制御する情報処理装置であって、実空間で検出されたユーザの頭部及び目の動作情報を取得する動作情報取得部１２と、動作情報に基づいて、ユーザオブジェクト２１の仮視線３１を決定する仮視線決定部１３と、仮視線３１と仮想空間Ｖ上の一以上のオブジェクトとの位置関係に基づいて、ユーザオブジェクト２１の視線を制御する視線制御部１４と、視線制御部１４により制御されたユーザオブジェクト２１の視線が反映された画像であって、ＨＭＤ１に表示される画像を生成する画像生成部１５と、を備える。
2019130992.tif 000002
【特許請求の範囲】
【請求項１】
表示装置を装着したユーザに対応付けられた仮想空間上のユーザオブジェクトの動作を制御する情報処理装置であって、
実空間で検出された前記ユーザの頭部及び目の動作情報を取得する動作情報取得部と、
前記動作情報に基づいて、前記ユーザオブジェクトの仮視線を決定する仮視線決定部と、
前記仮視線と前記仮想空間上の一以上のオブジェクトとの位置関係に基づいて、前記ユーザオブジェクトの視線を制御する視線制御部と、
前記視線制御部により制御された前記ユーザオブジェクトの視線が反映された画像であって、前記表示装置に表示される画像を生成する画像生成部と、
を備える情報処理装置。
【請求項２】
前記視線制御部は、前記仮視線と前記オブジェクトとの距離を示す指標値を算出して前記指標値と所定の閾値とを比較し、前記指標値が前記閾値以下となる前記オブジェクトである候補オブジェクトが存在する場合、前記候補オブジェクトを向くように前記ユーザオブジェクトの視線を制御する、
請求項１に記載の情報処理装置。
【請求項３】
前記視線制御部は、前記候補オブジェクトが複数存在する場合、各前記候補オブジェクトの種別及び状態の少なくとも一方に基づいて、一の前記候補オブジェクトを選択し、当該一の前記候補オブジェクトを向くように前記ユーザオブジェクトの視線を制御する、
請求項２に記載の情報処理装置。
【請求項４】
前記仮想空間上で動いている物体を示すオブジェクトには、前記仮想空間上で動いていない物体を示すオブジェクトよりも高い優先度が設定されており、
前記視線制御部は、前記候補オブジェクトが複数存在する場合、前記優先度に基づいて前記ユーザオブジェクトの視線を向ける先となる前記候補オブジェクトを決定し、決定された前記候補オブジェクトを向くように前記ユーザオブジェクトの視線を制御する、
請求項３に記載の情報処理装置。
【請求項５】
発話しているユーザに対応付けられたオブジェクトには、発話していないユーザに対応付けられたオブジェクトよりも高い優先度が設定されており、
前記視線制御部は、前記候補オブジェクトが複数存在する場合、前記優先度に基づいて前記ユーザオブジェクトの視線を向ける先となる前記候補オブジェクトを決定し、決定された前記候補オブジェクトを向くように前記ユーザオブジェクトの視線を制御する、
請求項３に記載の情報処理装置。
【請求項６】
前記視線制御部は、前記オブジェクトの大きさに基づいて前記指標値又は前記閾値を調整する、
請求項２〜５のいずれか一項に記載の情報処理装置。
【請求項７】
前記視線制御部は、前記候補オブジェクトが前記仮想空間上で動いているオブジェクトである場合、当該候補オブジェクトの移動態様に基づいて、前記ユーザオブジェクトの視線を当該候補オブジェクトに向けるか否かを決定する、
請求項２〜６のいずれか一項に記載の情報処理装置。
【請求項８】
前記視線制御部は、前記ユーザオブジェクトに対応付けられた前記ユーザが発話中であるか否かを判定し、前記ユーザが発話中である場合には、発話中のユーザに対応付けられたユーザオブジェクトについて予め定められた制御内容に基づいて、前記ユーザオブジェクトの視線を制御する、
請求項１〜７のいずれか一項に記載の情報処理装置。
【請求項９】
前記視線制御部は、前記仮視線に基づいて前記仮想空間の一部を構成する範囲を決定し、前記範囲に含まれる前記オブジェクトを抽出し、前記仮視線と抽出された前記オブジェクトとの位置関係に基づいて、前記ユーザオブジェクトの視線を制御する、
請求項１〜８のいずれか一項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一側面は、情報処理装置に関する。
【背景技術】
【０００２】
従来、ＨＭＤ（Head  Mounted  Display）等を装着したユーザに、あたかも当該ユーザが仮想空間上に存在するかのような視界を提供することにより、仮想空間に没入させる仮想現実（ＶＲ：Virtual  Reality）と呼ばれる技術が知られている。このようなＶＲ技術では、例えば、ユーザの動作（例えば頭部及び手等の身体の一部の動作）に連動するユーザオブジェクト（アバター、キャラクタ等）が、仮想空間上に生成され、ユーザの動作に応じて制御される。そして、ユーザオブジェクトから見た視界を示す画像がＨＭＤに表示されることにより、あたかも仮想空間上にユーザオブジェクトとして存在しているかのような体験が、ユーザに提供される。【０００３】
例えば、特許文献１には、仮想空間上のユーザ間のコミュニケーション（ユーザオブジェクトを介したコミュニケーション）を促進させるために、ユーザの実際の頭部又は目の動作と仮想空間上のユーザオブジェクトの頭部又は目の動作とを連動させる手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−５５８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した手法のようにユーザの実際の動作（頭部又は目の動き）をユーザオブジェクトにそのまま反映させることは、仮想空間上のユーザ間のコミュニケーションの円滑化を図る上で必ずしも望ましいとはいえない。例えば、センサ等によって検出されたユーザの頭部又は目の動きに検出誤差が生じる場合がある。この場合、上述した手法では、ユーザの実際の動作（顔の向き及び目線等）とユーザオブジェクトの動作との間にずれが生じてしまう。【０００６】
そこで、本発明の一側面は、仮想空間上のユーザ間のコミュニケーションをより一層円滑化できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面に係る情報処理装置は、表示装置を装着したユーザに対応付けられた仮想空間上のユーザオブジェクトの動作を制御する情報処理装置であって、実空間で検出されたユーザの頭部及び目の動作情報を取得する動作情報取得部と、動作情報に基づいて、ユーザオブジェクトの仮視線を決定する仮視線決定部と、仮視線と仮想空間上の一以上のオブジェクトとの位置関係に基づいて、ユーザオブジェクトの視線を制御する視線制御部と、視線制御部により制御されたユーザオブジェクトの視線が反映された画像であって、表示装置に表示される画像を生成する画像生成部と、を備える。【０００８】
本発明の一側面に係る情報処理装置によれば、実際に検出されたユーザの頭部及び目の動作情報に基づいて、一旦ユーザオブジェクトの仮視線が決定される。そして、仮視線と仮想空間上の一以上のオブジェクトとの位置関係に基づいて、ユーザオブジェクトの視線が制御され、表示装置に表示される画像が生成される。このような処理によれば、実際に検出されたユーザの視線（動作情報）をそのままユーザオブジェクトの視線に適用する場合と比較して、より自然な方向を向くように制御されたユーザオブジェクトの視線をユーザに提示できる。その結果、ユーザオブジェクトを介した仮想空間上のユーザ間のコミュニケーションをより一層円滑化できる。
【発明の効果】
【０００９】
本発明の一側面によれば、仮想空間上のユーザ間のコミュニケーションをより一層円滑化できる情報処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る情報処理装置の機能構成を示す図である。
【図２】仮想空間の一例を概略的に示した図である。
【図３】情報処理装置の動作の一例を示すフローチャートである。
【図４】図３のフローチャートのＳ４の手順の一例を示すフローチャートである。
【図５】ユーザオブジェクトの視線制御の一例を説明するための図である。
【図６】ユーザオブジェクトの視線制御の一例を説明するための図である。
【図７】ユーザオブジェクトの視線制御の一例を説明するための図である。
【図８】仮視線に基づいて決定されるオブジェクト抽出範囲の一例を示す図である。
【図９】情報処理装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。
【００１２】
図１は、本発明の一実施形態に係る情報処理装置１０の機能構成を示す図である。情報処理装置１０は、ゲーム空間及びチャット空間等の任意のＶＲコンテンツが展開される仮想空間を、ユーザに装着されたＨＭＤ（Head  Mounted  Display）１（表示装置）を介してユーザに提供する装置である。情報処理装置１０は、仮想空間上のユーザオブジェクトの動作（特に視線）を制御する。
【００１３】
本実施形態では、同一の仮想空間上に複数のユーザの各々によって操作される複数のユーザオブジェクト（アバター、キャラクタ等）が存在する場合について説明する。この場合、情報処理装置１０によって制御された各ユーザオブジェクトの視線は、各ユーザに装着されたＨＭＤ１に表示される画像（映像）に反映される。その結果、各ユーザは、ＨＭＤ１に表示されるユーザオブジェクトの視線（例えばユーザオブジェクトの頭部の向き、目の位置等により表現されるユーザオブジェクトの視線）に基づいて、他のユーザの視線を把握することができる。ただし、後述する情報処理装置１０の処理は、同一の仮想空間上に一人のユーザのユーザオブジェクトのみが存在する場合にも適用され得る。この場合、情報処理装置１０によって制御されたユーザオブジェクトの視線は、例えば仮想空間上で当該ユーザオブジェクトを第三者視点から撮影及び記録した映像等に反映される。
【００１４】
図１に示されるように、情報処理装置１０は、通信部１１と、動作情報取得部１２と、仮視線決定部１３と、視線制御部１４と、画像生成部１５と、を備えている。情報処理装置１０は、例えば、複数のユーザの各々によって装着された複数のＨＭＤ１と通信可能なゲーム端末、パーソナルコンピュータ、タブレット端末等である。ただし、情報処理装置１０の実装形態は、特定の形態に限定されない。例えば、情報処理装置１０は、ＨＭＤ１と同じ装置に内蔵されたコンピュータ装置であってもよい。また、情報処理装置１０は、インターネット等の通信回線を介して複数のユーザの各々のＨＭＤ１（又は各ＨＭＤ１の動作を制御する各コンピュータ端末）と通信可能なサーバ装置等であってもよい。また、情報処理装置１０は、物理的に単一の装置によって構成されてもよいし、複数の装置によって構成されてもよい。例えば、情報処理装置１０は、一部の機能（例えば、画像生成部１５の機能）が各ＨＭＤ１の動作を制御するコンピュータ端末により実現され、他の機能が当該コンピュータ端末と通信可能なサーバ装置により実現される分散システムとして構成されてもよい。
【００１５】
ＨＭＤ１は、ユーザの身体（例えば頭部）に装着される表示装置である。ＨＭＤ１は、例えば、ユーザの頭部に装着された状態においてユーザの各目の前に画像（左目用画像及び右目用画像）を表示する表示部を備えている。左目用画像と右目用画像とに互いに異なる画像（映像）が表示されることにより、立体的な画像（３次元画像）がユーザによって認識される。なお、上述した表示部は、眼鏡型、ヘルメット型等のようなユーザの身体に装着される本体部と一体的に構成されたディスプレイであってもよいし、ＨＭＤ１の本体部と着脱自在なデバイス（例えば、本体部に取り付けられるスマートフォン等の端末のディスプレイ）が、上記表示部として機能してもよい。
【００１６】
ＨＭＤ１は、例えば、ユーザの頭部（すなわち、ＨＭＤ１）の位置、向き（傾き）、速度、加速度等を検出可能なセンサ（例えば、加速度センサ、角速度センサ、地磁気センサ、ジャイロセンサ等）を備えている。ＨＭＤ１は、このようなセンサにより検出されたユーザの頭部の動作（位置、向き、速度、加速度等）の情報を、ユーザの頭部の動作情報として定期的に情報処理装置１０に送信する。
【００１７】
また、ＨＭＤ１は、例えば、ユーザの目の動作（例えば、黒目部分の位置及び動き等）を検出する赤外線カメラ等のセンサを備えている。当該センサは、例えば、公知のアイトラッキング機能を有するセンサである。当該センサは、例えば、ユーザの右目及び左目に照射した赤外光の角膜等からの反射光を受けることで、各眼球の動作を検出する。ＨＭＤ１は、上述のようにして検出されるユーザの目の動作情報を、定期的に情報処理装置１０に送信する。
【００１８】
また、ＨＭＤ１は、当該ＨＭＤ１を装着したユーザの音声を入力するためのマイク（不図示）と、各ユーザの音声等を出力するスピーカー（不図示）と、を付属品として備えている。マイクにより取得された音声は、情報処理装置１０に送信される。また、スピーカーは、情報処理装置１０から受信した他ユーザの音声等を出力する。このようなマイク及びスピーカーにより、複数ユーザ間で会話（チャット）を行うことが可能となっている。なお、マイク及びスピーカーは、ＨＭＤ１と一体型のデバイスであってもよいし、ＨＭＤ１とは異なるデバイスであってもよい。
【００１９】
通信部１１は、有線又は無線の通信ネットワークを介して、ＨＭＤ１（ＨＭＤ１の付属品であるマイク、スピーカー、コントローラ等を含む）等の外部装置との間でデータを送受信する。本実施形態では、通信部１１は、上述のようにＨＭＤ１において取得されたユーザの頭部及び目の動作情報を、ＨＭＤ１から受信する。また、通信部１１は、後述する画像生成部１５により生成された画像をＨＭＤ１に送信する。この処理により、ＨＭＤ１において、後述する視線制御部１４により制御されたユーザオブジェクトの視線が反映された仮想空間の画像が表示される。また、通信部１１は、上述したマイクに入力された各ユーザの音声を受信すると共に、受信された各ユーザの音声を各ユーザのスピーカーに送信する。このような処理により、ユーザ間で音声が共有され、上述したチャットが実現される。
【００２０】
動作情報取得部１２は、実空間で検出されたユーザの頭部及び目の動作情報を取得する。本実施形態では、動作情報取得部１２は、通信部１１によって各ＨＭＤ１から受信された各ユーザの頭部及び目の動作情報を取得する。
【００２１】
仮視線決定部１３は、動作情報取得部１２により取得されたユーザの動作情報に基づいて、当該ユーザに対応付けられたユーザオブジェクトの仮視線を決定する。ユーザオブジェクトは、例えば、ユーザによって操作されるキャラクタ及びアバター等である。例えば、仮視線決定部１３は、ユーザの頭部及び目の動作情報を仮想空間上のユーザオブジェクトの頭部及び目の動作として対応付けることにより、仮想空間上のユーザオブジェクトの仮視線を決定する。ユーザオブジェクトの仮視線は、例えば、視線方向（視軸）及び視点（注視点）の少なくとも一方を含む情報である。なお、仮視線決定部１３の処理は、複数のユーザの各々について行われる。その結果、各ユーザに対応付けられた各ユーザオブジェクトの仮視線が決定される。
【００２２】
視線制御部１４は、仮視線決定部１３により決定されたユーザオブジェクトの仮視線と仮想空間上の一以上のオブジェクトとの位置関係に基づいて、ユーザオブジェクトの視線を制御する。視線制御部１４の処理は、仮視線決定部１３の処理と同様に、ユーザ毎（ユーザオブジェクト毎）に実行される。
【００２３】
例えば、視線制御部１４は、仮視線と仮想空間上のオブジェクトとの距離を示す指標値を算出し、当該指標値と所定の閾値とを比較する。所定の閾値は、例えば、予め情報処理装置１０にセットされている値である。所定の閾値は、固定値であってもよいし、ユーザ等の操作によって変更可能な可変値であってもよい。視線制御部１４は、当該指標値が当該閾値以下となるオブジェクトである候補オブジェクトが存在するか否かを判定し、候補オブジェクトが存在する場合、当該候補オブジェクトを向くようにユーザオブジェクトの視線を制御する。
【００２４】
図２は、複数（ここでは３人）のユーザに対応付けられたユーザオブジェクト２１（２１Ａ〜２１Ｃ）を含む仮想空間Ｖの一例を概略的に示した図である。以下、ユーザオブジェクト２１Ａの視線を制御する場合に着目して、上述した視線制御部１４の処理について説明する。
【００２５】
図２の例は、３体のユーザオブジェクト２１が同一の長机の前に座って会話をしている状況を示している。長机の上には、ユーザオブジェクト２１とは異なる物体（ここでは、カード状の物体）を示す２つの物体オブジェクト２２（２２Ａ，２２Ｂ）が置かれている。ここでは一例として、ユーザオブジェクト２１Ａの視線方向（視軸）を示す仮視線３１が、長机における物体オブジェクト２２Ａの手前の位置に向けられている。仮視線３１の基点３１ａは、一例として、ユーザオブジェクト２１Ａの左右の両目の中間点に設定されている。また、各オブジェクト（ユーザオブジェクト２１Ｂ，２１Ｃ及び物体オブジェクト２２Ａ，２２Ｂ）には、ユーザオブジェクト２１Ａの視線を向ける候補となる位置を示す候補点Ｐが設定されている。なお、１つのオブジェクトには、当該オブジェクトに設定された複数の部位（例えばユーザオブジェクト２１の顔、胴体、腕等の身体部位）に対応する複数の候補点Ｐが設定されてもよい。本実施形態では、ユーザオブジェクト２１には、当該ユーザオブジェクト２１の顔に対応する部分に候補点Ｐが設定されている。物体オブジェクト２２には、当該物体オブジェクト２２の中心位置に候補点Ｐが設定されている。
【００２６】
この場合、例えば、視線制御部１４は、仮視線３１とユーザオブジェクト２１（ここでは一例としてユーザオブジェクト２１Ｃ）との距離を示す指標として、仮視線３１の基点３１ａからユーザオブジェクト２１の候補点Ｐに向けた仮想視線３２と仮視線３１とがなす角度θ１を算出する。例えば、視線制御部１４は、仮想空間Ｖにおける水平方向において仮想視線３２と仮視線３１とがなす角度θ１ｈ（すなわち、角度θ１の水平成分）と、仮想空間Ｖにおける垂直方向（鉛直方向）において仮想視線３２と仮視線３１とがなす角度θ１ｖ（すなわち、角度θ１の垂直成分）とを算出し、角度θ１ｈ及び角度θ１ｖに基づいて角度θ１を算出する。同様に、視線制御部１４は、仮視線３１と物体オブジェクト２２（ここでは一例として物体オブジェクト２２Ａ）との距離を示す指標として、仮視線３１の基点３１ａから物体オブジェクト２２の候補点Ｐに向けた仮想視線３３と仮視線３１とがなす角度θ２を算出する。例えば、視線制御部１４は、仮想空間Ｖにおける水平方向において仮想視線３３と仮視線３１とがなす角度θ２ｈ（すなわち、角度θ２の水平成分）と、仮想空間Ｖにおける垂直方向（鉛直方向）において仮想視線３３と仮視線３１とがなす角度θ２ｖ（すなわち、角度θ２の垂直成分）とを算出し、角度θ２ｈ及び角度θ２ｖに基づいて角度θ２を算出する。
【００２７】
そして、視線制御部１４は、これらの指標値（角度θ１，θ２）と所定の閾値Ｔｈとを比較する。そして、視線制御部１４は、角度θ１，θ２が閾値Ｔｈ以下となるオブジェクトを候補オブジェクトとして抽出する。図２の例において、「θ２＜Ｔｈ＜θ１」が成立する場合、物体オブジェクト２２Ａは、候補オブジェクトとして抽出される一方で、ユーザオブジェクト２１Ｃは、候補オブジェクトとして抽出されない。物体オブジェクト２２Ａが候補オブジェクトとして抽出された場合、視線制御部１４は、物体オブジェクト２２Ａ（物体オブジェクト２２Ａの候補点Ｐ）を向くようにユーザオブジェクト２１Ａの視線を制御する。すなわち、視線制御部１４は、ユーザオブジェクト２１Ａの視線を仮想視線３３に一致させる。
【００２８】
視線制御部１４は、上述のようにして抽出される候補オブジェクトが複数存在する場合、各候補オブジェクトの種別及び状態の少なくとも一方に基づいて、一の候補オブジェクトを選択し、当該一の候補オブジェクトを向くようにユーザオブジェクト２１Ａの視線を制御する。例えば、各オブジェクトには、オブジェクトの種別及び状態の少なくとも一方に基づく優先度が設定されている。視線制御部１４は、候補オブジェクトが複数存在する場合、各候補オブジェクトに設定された優先度に基づいて、ユーザオブジェクト２１Ａの視線を向ける先となる候補オブジェクトを決定する。そして、視線制御部１４は、ユーザオブジェクト２１Ａの視線を向ける先として決定された候補オブジェクトを向くようにユーザオブジェクト２１Ａの視線を制御し得る。
【００２９】
例えば、仮想空間Ｖ上で動いている物体オブジェクト２２（以下「動くオブジェクト」ともいう。）には、仮想空間Ｖ上で動いていない物体オブジェクト２２（以下「静止オブジェクト」ともいう。）よりも高い優先度が設定される。このような優先度の設定は、仮想空間Ｖ上において活性化しているオブジェクト（動くオブジェクト）は、静止オブジェクトよりもユーザから注目される可能性が高いという考え方に基づいている。
【００３０】
また、発話しているユーザに対応付けられたユーザオブジェクト２１（以下「発話オブジェクト」ともいう。）には、発話していないユーザに対応付けられたユーザオブジェクト２１（以下「非発話オブジェクト」ともいう。）よりも高い優先度が設定される。このような優先度の設定は、発話オブジェクトは、非発話オブジェクトよりもユーザから注目される可能性が高いという考え方に基づいている。
【００３１】
例えば、視線制御部１４は、ユーザオブジェクト２１に対応付けられたユーザがマイクに所定の大きさ以上の音量の音声を入力している状態（発話状態）であるか否かに基づいて、当該ユーザオブジェクト２１が発話オブジェクトであるか否かを判定し得る。ここで、発話状態であるか否かは、例えば、所定の大きさ以上の音量の音声が前回入力されたときから所定時間（例えば、予め設定された秒数等）が経過したか否かに基づいて判定され得る。すなわち、視線制御部１４は、所定の大きさ以上の音量の音声が前回入力されたときから所定時間が経過している場合には、発話状態でないと判定し、所定の大きさ以上の音量の音声が前回入力されたときから所定時間が経過していない場合には、発話状態であると判定する。ただし、発話状態であるか否かの判定方法は、上記方法に限定されない。例えば、発話しているユーザ（或いは、これから発話しようとするユーザ）は、図示しないコントローラ等の明示的な操作によって、自身のステータスを発話状態に切り替えてもよい。この場合、視線制御部１４は、各ユーザに設定されているステータスに基づいて、発話状態であるか否かを判定できる。
【００３２】
本実施形態では一例として、以下の優先度順が設定されている。また、本実施形態では、視線制御部１４は、非発話オブジェクトをユーザオブジェクト２１Ａの視線を向ける候補から除外する。ただし、視線制御部１４は、非発話オブジェクトをユーザオブジェクト２１Ａの視線を向ける候補に含めてもよい。
１．動くオブジェクト
２．発話オブジェクト
３．静止オブジェクト
４．非発話オブジェクト
【００３３】
視線制御部１４は、優先度が高い候補オブジェクトがユーザオブジェクト２１Ａの視線を向ける先として優先的に選択されるように制御する。このような制御の一例（図４参照）については後述する。なお、同じ優先度が設定された複数の候補オブジェクト（すなわち、オブジェクトの種別及び状態が同一の候補オブジェクト同士）が存在する場合には、視線制御部１４は、上述した指標値（角度θ１，θ２）が最小の候補オブジェクトを、ユーザオブジェクト２１Ａの視線を向ける先として選択してもよい。
【００３４】
また、視線制御部１４は、ユーザオブジェクト２１Ａに対応付けられたユーザが発話中であるか否かを判定し、当該ユーザが発話中である場合には、発話中のユーザに対応付けられたユーザオブジェクト（すなわち、発話オブジェクト）について予め定められた制御内容に基づいて、ユーザオブジェクト２１Ａの視線を制御してもよい。例えば、ユーザオブジェクト２１Ａの視線は、発話者（例えば発表者等）として適切なふるまいとなるように、予め設定された特別な制御内容に基づいて制御されてもよい。例えば、ユーザオブジェクト２１Ａの仮視線３１が一定範囲内に固定されている場合（例えば、仮視線３１の単位時間当たりの変化量が予め定められた閾値以内である場合）には、視線制御部１４は、ユーザオブジェクト２１Ａの仮視線３１をそのままユーザオブジェクト２１Ａの制御後の視線として採用してもよい。一方、ユーザオブジェクト２１Ａの仮視線３１が一定範囲内を超えて変化する場合（例えば、仮視線３１の単位時間当たりの変化量が上記閾値を超える場合（仮視線３１が大きくふらつく場合））には、視線制御部１４は、各ユーザオブジェクト２１Ｂ，２１Ｃに対して順に視線を送るように、ユーザオブジェクト２１Ａの視線を制御してもよい。
【００３５】
画像生成部１５は、視線制御部１４により制御されたユーザオブジェクト２１Ａの視線が反映された画像（各ＨＭＤ１に表示される画像）を生成する。例えば、画像生成部１５は、視線制御部１４により制御されたユーザオブジェクト２１Ａの視線（視線方向及び／又は視点）と各ＨＭＤ１に画像に表示されるユーザオブジェクト２１Ａの顔の向き及び目（黒目の位置）等により特定される視線（視線方向及び／又は視点）とが一致するように調整された画像を生成する。画像生成部１５により生成された画像は、通信部１１を介して各ＨＭＤ１に出力される。このような処理により、視線制御部１４によって制御されたユーザオブジェクト２１Ａの視線が反映された画像が、各ＨＭＤ１を介して各ユーザに提示される。
【００３６】
次に、図３〜図６を参照して、情報処理装置１０の動作の一例について説明する。なお、図３及び図４に示すフローチャートは、図２に示されるユーザオブジェクト２１Ａの視線制御を行う場合に着目した処理を示している。他のユーザに対応付けられたユーザオブジェクト２１Ｂ，２１Ｃの視線制御については、ユーザオブジェクト２１Ａの視線制御と同様であるため、説明を省略する。
【００３７】
図３に示されるように、まず、情報処理装置１０が、複数のユーザによって共有される仮想空間Ｖ（図２参照）を生成する（ステップＳ１）。具体的には、各ユーザに対応付けられたユーザオブジェクト２１及び物体オブジェクト２２等が初期位置に配置された仮想空間Ｖが生成される。続いて、動作情報取得部１２は、通信部１１を介して、各ＨＭＤ１から受信された各ユーザの頭部及び目の動作情報を取得する（ステップＳ２）。続いて、仮視線決定部１３は、動作情報取得部１２により取得されたユーザの動作情報に基づいて、当該ユーザに対応付けられたユーザオブジェクト２１（ここでは、ユーザオブジェクト２１Ａ）の仮視線３１を決定する。続いて、視線制御部１４は、仮視線決定部１３により決定されたユーザオブジェクト２１Ａの仮視線３１と仮想空間Ｖ上の一以上のオブジェクト（他のユーザオブジェクト２１及び物体オブジェクト２２）との位置関係に基づいて、ユーザオブジェクト２１Ａの視線を制御する（ステップＳ４）。
【００３８】
図４を参照して、ステップＳ４の詳細な処理手順の一例について説明する。図４に示される処理手順は、上述した優先度順に従ってユーザオブジェクト２１Ａの視線を向ける先となる候補オブジェクトを選択するような判定手順の一例である。
【００３９】
図４に示されるように、まず、視線制御部１４は、処理対象となるユーザオブジェクト２１Ａに対応付けられたユーザが発話中であるか否かを判定する（ステップＳ４１）。ユーザが発話中である場合（ステップＳ４１：ＹＥＳ）、視線制御部１４は、上述したような予め定められた制御内容に基づいて、ユーザオブジェクト２１Ａの視線を制御する（ステップＳ４２）。例えば、ユーザオブジェクト２１Ａの仮視線３１が一定範囲内に固定されている場合には、視線制御部１４は、ユーザオブジェクト２１Ａの仮視線３１をそのままユーザオブジェクト２１Ａの制御後の視線として採用する。一方、ユーザオブジェクト２１Ａの仮視線３１が一定範囲内を超えて変化する場合（ふらつく場合）には、視線制御部１４は、各ユーザオブジェクト２１Ｂ，２１Ｃに対して順に視線を送るように、ユーザオブジェクト２１Ａの視線を制御する。このような処理により、ユーザオブジェクト２１Ａの視線は、発話者として適切なふるまいとなるように制御される。
【００４０】
一方、ユーザが発話中ではない場合（ステップＳ４１：ＮＯ）、視線制御部１４は、仮視線３１と仮想視線３３（基点３１ａと物体オブジェクト２２の候補点Ｐとを結ぶ線分）とがなす角度θ２が閾値Ｔｈ以下となる動くオブジェクトが存在するか否かを判定する（ステップＳ４３）。上記判定条件を満たす動くオブジェクト（候補オブジェクト）が存在する場合（ステップＳ４３：ＹＥＳ）、視線制御部１４は、上記判定条件を満たす動くオブジェクト（上記判定条件を満たす動くオブジェクトが複数存在する場合には、角度θ２が最小の動くオブジェクト）の候補点Ｐに、ユーザオブジェクト２１の視線を向ける。すなわち、視線制御部１４は、ユーザオブジェクト２１の視線を、基点３１ａと当該動くオブジェクトの候補点Ｐとを結ぶ仮想視線３３に一致させる。
【００４１】
図５は、物体オブジェクト２２Ａがユーザオブジェクト２１Ｃによって保持され、ユーザオブジェクト２１Ｃの手が動かされることにより物体オブジェクト２２Ａが動いている状態を示している。この場合、物体オブジェクト２２Ａは、動くオブジェクトであると判定される。この例において、仮視線３１と仮想視線３３（基点３１ａと物体オブジェクト２２Ａの候補点Ｐとを結ぶ線分）とがなす角度θ２が閾値Ｔｈ以下である場合には、物体オブジェクト２２Ａは、ステップＳ４３の判定条件を満たす。その場合、視線制御部１４は、ユーザオブジェクト２１の視線を上記仮想視線３３に一致させる。
【００４２】
一方、「θ２≦Ｔｈ」を満たす動くオブジェクトが存在しない場合（ステップＳ４３：ＮＯ）、視線制御部１４は、仮視線３１と仮想視線３２（基点３１ａとユーザオブジェクト２１の候補点Ｐとを結ぶ線分）とがなす角度θ１が閾値Ｔｈ以下となる発話オブジェクトが存在するか否かを判定する（ステップＳ４５）。上記判定条件を満たす発話オブジェクト（候補オブジェクト）が存在する場合（ステップＳ４５：ＹＥＳ）、視線制御部１４は、上記判定条件を満たす発話オブジェクト（上記判定条件を満たす発話オブジェクトが複数存在する場合には、角度θ１が最小の発話オブジェクト）の候補点Ｐに、ユーザオブジェクト２１の視線を向ける。すなわち、視線制御部１４は、ユーザオブジェクト２１の視線を、基点３１ａと当該発話オブジェクトの候補点Ｐとを結ぶ仮想視線３２に一致させる。
【００４３】
図６は、ユーザオブジェクト２１Ｂが非発話オブジェクトである一方で、ユーザオブジェクト２１Ｃが発話オブジェクトである状態を示している。この例において、仮視線３１と仮想視線３２（基点３１ａとユーザオブジェクト２１Ｃの候補点Ｐとを結ぶ線分）とがなす角度θ１が閾値Ｔｈ以下である場合には、ユーザオブジェクト２１Ｃは、ステップＳ４５の判定条件を満たす。したがって、この場合には、視線制御部１４は、ユーザオブジェクト２１の視線を上記仮想視線３２に一致させる。
【００４４】
一方、「θ１≦Ｔｈ」を満たす発話オブジェクトが存在しない場合（ステップＳ４５：ＮＯ）、視線制御部１４は、仮視線３１と仮想視線３３（基点３１ａと物体オブジェクト２２の候補点Ｐとを結ぶ線分）とがなす角度θ２が閾値Ｔｈ以下となる静止オブジェクトが存在するか否かを判定する（ステップＳ４７）。上記判定条件を満たす静止オブジェクトが存在する場合（ステップＳ４７：ＹＥＳ）、視線制御部１４は、上記判定条件を満たす静止オブジェクト（上記判定条件を満たす静止オブジェクトが複数存在する場合には、角度θ２が最小の静止オブジェクト）の候補点Ｐに、ユーザオブジェクト２１の視線を向ける。
【００４５】
上述した図２において、物体オブジェクト２２Ａは、静止オブジェクトである。この例において、仮視線３１と仮想視線３３（基点３１ａと物体オブジェクト２２Ａの候補点Ｐとを結ぶ線分）とがなす角度θ２が閾値Ｔｈ以下である場合には、物体オブジェクト２２Ａは、ステップＳ４７の判定条件を満たす。したがって、この場合には、視線制御部１４は、ユーザオブジェクト２１の視線を上記仮想視線３３に一致させる。なお、図２の例では、基点３１ａと物体オブジェクト２２Ｂの候補点Ｐとを結ぶ線分と仮視線３１とがなす角度（以下「角度Ａ」という。）も閾値Ｔｈ以下となる可能性がある。ただし、この場合にも、角度θ２の方が角度Ａよりも小さいため、視線制御部１４は、物体オブジェクト２２Ａを、ユーザオブジェクト２１の視線を向ける先として選択する。
【００４６】
一方、「θ２≦Ｔｈ」を満たす静止オブジェクトが存在しない場合（ステップＳ４７：ＮＯ）、視線制御部１４は、仮視線３１をユーザオブジェクト２１Ａの視線とする（ステップＳ４９）。すなわち、視線制御部１４は、ユーザオブジェクト２１Ａの視線を仮視線３１に一致させる。
【００４７】
続いて、図３に戻り、画像生成部１５は、視線制御部１４により制御されたユーザオブジェクト２１Ａの視線が反映された画像（各ＨＭＤ１に表示される画像）を生成する（ステップＳ５）。画像生成部１５により生成された各ユーザ用の画像（すなわち、各ユーザに対応付けられたユーザオブジェクト２１の視界に応じた画像）は、例えば、通信部１１を介して各ＨＭＤ１に送信され、各ＨＭＤ１において表示される。これにより、各ユーザは、ＨＭＤ１に表示された画像を通じて、視線制御部１４により制御されたユーザオブジェクト２１Ａの視線を認識する。
【００４８】
以上述べた情報処理装置１０によれば、実際に検出されたユーザの頭部及び目の動作情報に基づいて、一旦ユーザオブジェクト２１Ａの仮視線３１が決定される。そして、仮視線３１と仮想空間Ｖ上の一以上のオブジェクト（本実施形態では、他のユーザオブジェクト２１及び物体オブジェクト２２）との位置関係に基づいて、ユーザオブジェクト２１Ａの視線が制御され、ＨＭＤ１に表示される画像が生成される。このような処理によれば、実際に検出されたユーザの視線（動作情報）をそのままユーザオブジェクト２１Ａの視線に適用する場合と比較して、より自然な方向を向くように制御されたユーザオブジェクト２１Ａの視線をユーザ（本実施形態では、各ユーザオブジェクト２１Ａ〜２１Ｃに対応付けられた各ユーザ）に提示できる。その結果、ユーザオブジェクト２１Ａを介した仮想空間Ｖ上のユーザ間のコミュニケーションをより一層円滑化できる。
【００４９】
また、視線制御部１４は、仮視線３１とオブジェクトとの距離を示す指標値（本実施形態では角度θ１，θ２）を算出し、指標値と所定の閾値Ｔｈとを比較し、指標値が閾値Ｔｈ以下となるオブジェクトである候補オブジェクトが存在する場合、当該候補オブジェクトを向くようにユーザオブジェクト２１の視線を制御する。上記構成により、仮視線３１とオブジェクトとの距離が所定の基準よりも近い候補オブジェクトを向くようにユーザオブジェクト２１の視線が制御される。この処理により、ユーザオブジェクト２１に対応付けられたユーザが注目している可能性が高いと推定されるオブジェクト（候補オブジェクト）を向くように、ユーザオブジェクト２１Ａの視線を固定することができる。このため、実際に検出されたユーザの視線（動作情報）をそのままユーザオブジェクト２１の視線に適用する場合に生じ得るユーザオブジェクト２１の視線のずれ（ユーザの頭部又は目の動作の検出誤差に基づくずれ）及びユーザオブジェクト２１の視線のふらつき等を抑制できる。その結果、画像生成部１５により生成される画像（映像）において、より自然且つスムーズなユーザオブジェクト２１の視線を表現でき、ユーザオブジェクト２１を介したユーザ間のコミュニケーションの円滑化を図ることができる。
【００５０】
補足すると、ユーザがあるオブジェクト（例えば発話オブジェクト）の方向を見ている場合において、ＨＭＤ１に搭載されたセンサ等によって検出された当該ユーザの頭部又は目の動作情報に検出誤差が生じ得る。この場合、上記動作情報に基づく視線（すなわち、仮視線３１）を当該ユーザに対応付けられたユーザオブジェクト２１の視線としてそのまま適用してしまうと、上記検出誤差がそのままユーザオブジェクト２１の視線にも影響を与えることとなる。すなわち、上記検出誤差の分だけユーザオブジェクト２１の視線に誤差が生じることにより、ユーザオブジェクト２１の視線が上記発話オブジェクトを向く方向からずれてしまう。一方、情報処理装置１０（特に視線制御部１４）の処理によれば、このような検出誤差を吸収し、ユーザオブジェクト２１の視線を、ユーザが注目している可能性が高いと考えられるオブジェクト（この例では、上記発話オブジェクト）を向くように制御することが可能となる。
【００５１】
また、あるユーザ（第１ユーザ）に対してＨＭＤ１を介して提供される視界画像に他のユーザ（第２ユーザ）に対応付けられたユーザオブジェクト２１を表示させるためには、当該視界画像を生成する情報処理装置１０は、第２ユーザの動作情報を受信し、当該動作情報に基づいて第２ユーザに対応付けられたユーザオブジェクト２１の動作を制御する必要がある。ここで、第２ユーザの動作情報の受信又は制御についての遅延（通信遅延、処理遅延等）が生じた場合、実際の第２ユーザの動作と当該第２ユーザに対応付けられたユーザオブジェクト２１の動作との間に時間差が生じるおそれがある。また、遅延によって処理の一部が省略されることにより、当該ユーザオブジェクト２１の顔の向き及び目線等が不連続に変化する（突然大きく変化する）といった違和感のある映像が第１ユーザに提供されるおそれもある。一方、情報処理装置１０（視線制御部１４）の処理によれば、実際のユーザの視線（すなわち、仮視線３１）が若干ふらつく場合であっても、ユーザオブジェクト２１の視線を、候補オブジェクトを向く方向に固定することができる。このような処理により、ユーザオブジェクト２１の視線のふらつきを抑制し、相手ユーザに不安感を与えてしまうことを抑制できる。その結果、ユーザ間のコミュニケーションの円滑化を図ることができる。さらに、情報処理装置１０の上述した制御によれば、第２ユーザの頭部又は目の動作と当該第２ユーザに対応付けられたユーザオブジェクト２１の動作（視線）とを完全に連動させる必要がない。つまり、情報処理装置１０の制御によれば、第２ユーザの視線（仮視線３１）が候補オブジェクトから大きく外れてしまわない限り、ユーザオブジェクト２１の視線を候補オブジェクトを向く方向に固定することができる。この間、第２ユーザの頭部又は目の実際の動作をユーザオブジェクト２１の動作（視線）に反映させる必要がない。これにより、プロセッサ、メモリ等のハードウェア資源の処理負荷及び使用量を効果的に低減できる。
【００５２】
なお、本実施形態では、仮視線３１と仮想視線３２，３３とがなす角度θ１，θ２が指標値として用いられたが、指標値はこれ以外の値であってもよい。例えば、視線制御部１４は、角度θ１の代わりに、角度θ１の水平成分（角度θ１ｈ）又は垂直成分（角度θ１ｖ）のみを用いて上記の判定を行ってもよい。すなわち、視線制御部１４は、上述した角度θ１と閾値Ｔｈとを比較する代わりに、角度θ１の水平成分（角度θ１ｈ）又は垂直成分（角度θ１ｖ）と所定の閾値とを比較することにより、候補オブジェクトを抽出してもよい。同様に、視線制御部１４は、角度θ２の代わりに、角度θ２の水平成分（角度θ２ｈ）又は垂直成分（角度θ２ｖ）のみを用いて上記の判定を行ってもよい。すなわち、視線制御部１４は、上述した角度θ２と閾値Ｔｈとを比較する代わりに、角度θ２の水平成分（角度θ２ｈ）又は垂直成分（角度θ２ｖ）と所定の閾値とを比較することにより、候補オブジェクトを抽出してもよい。また、仮視線決定部１３が、上述したユーザの頭部及び目の動作情報に基づいて、ユーザの視線方向だけでなく視点（注視点）も含む仮視線を決定する場合には、当該視点とオブジェクト（オブジェクトに設定された候補点Ｐ）との距離（例えば、仮想空間Ｖ上における直線距離）が指標値として用いられてもよい。
【００５３】
また、視線制御部１４は、候補オブジェクトが複数存在する場合、各候補オブジェクトの種別及び状態の少なくとも一方に基づいて、一の候補オブジェクトを選択し、当該一の候補オブジェクトを向くようにユーザオブジェクト２１の視線を制御する。上記構成により、候補オブジェクトが複数存在する場合に、候補オブジェクトの種別及び状態の少なくとも一方に基づいて、ユーザオブジェクト２１の視線を向ける先となる候補オブジェクトを適切に決定することができる。
【００５４】
また、動くオブジェクト（仮想空間Ｖ上で動いている物体を示す物体オブジェクト２２）には、静止オブジェクト（仮想空間Ｖ上で動いていない物体を示す物体オブジェクト２２）よりも高い優先度が設定されており、視線制御部１４は、候補オブジェクトが複数存在する場合、優先度に基づいてユーザオブジェクト２１の視線を向ける先となる候補オブジェクトを決定し、決定された候補オブジェクトを向くようにユーザオブジェクト２１の視線を制御する。上記構成によれば、動くオブジェクトは静止オブジェクトよりもユーザの目を惹く可能性が高いという本発明者の知見に基づき、ユーザが注目している可能性が高いオブジェクトを向くように、ユーザオブジェクト２１の視線を制御することができる。なお、同じ優先度が設定された複数の候補オブジェクト（すなわち、オブジェクトの種別及び状態が同一の候補オブジェクト同士）が存在する場合には、例えば、視線制御部１４は、これらの複数の候補オブジェクトのうち上述した指標値（角度θ１，θ２）が最小の候補オブジェクトを、ユーザオブジェクト２１の視線を向ける先として選択してもよい。上記処理によっても一の候補オブジェクトが決定されない場合には、視線制御部１４は、例えば比較処理が行われた順序等の任意の指標に基づいて一の候補オブジェクトを決定してもよい。このような処理により、ユーザオブジェクト２１の視線を向ける先となる候補オブジェクトを適切に決定することができる。
【００５５】
また、発話オブジェクト（発話しているユーザに対応付けられたユーザオブジェクト２１）には、非発話オブジェクト（発話していないユーザに対応付けられたユーザオブジェクト２１）よりも高い優先度が設定されている。上記構成によれば、発話オブジェクトは非発話オブジェクトよりもユーザの目を惹く可能性が高いという本発明者の知見に基づき、ユーザが注目している可能性が高いオブジェクトを向くように、ユーザオブジェクト２１の視線を制御することができる。
【００５６】
なお、上記実施形態の説明に用いたブロック図（図１）は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及び／又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び／又は論理的に結合した１つの装置により実現されてもよいし、物理的及び／又は論理的に分離した２つ以上の装置を直接的及び／又は間接的に（例えば、有線及び／又は無線で）接続し、これら複数の装置により実現されてもよい。
【００５７】
例えば、上記実施形態における情報処理装置１０は、上記実施形態の情報処理装置１０の処理を行うコンピュータとして機能してもよい。図９は、本実施形態に係る情報処理装置１０のハードウェア構成の一例を示す図である。上述の情報処理装置１０は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、及びバス１００７等を含むコンピュータ装置として構成されてもよい。
【００５８】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニット等に読み替えることができる。情報処理装置１０のハードウェア構成は、図９に示された各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００５９】
情報処理装置１０における各機能は、プロセッサ１００１、メモリ１００２等のハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信、メモリ１００２及びストレージ１００３におけるデータの読み出し及び／又は書き込みを制御することで実現される。
【００６０】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタ等を含む中央処理装置（ＣＰＵ：Central  Processing  Unit）で構成されてもよい。
【００６１】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュール、及び／又はデータを、ストレージ１００３及び／又は通信装置１００４からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、情報処理装置１０の視線制御部１４は、メモリ１００２に格納され、プロセッサ１００１で動作する制御プログラムによって実現されてもよく、図１に示した他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、１つのプロセッサ１００１で実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
【００６２】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  ＲＯＭ）、ＲＡＭ（Random  Access  Memory）等の少なくとも１つで構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）等と呼ばれてもよい。メモリ１００２は、上記実施形態に係る情報処理方法（例えば図３及び図４のフローチャートに示される手順等）を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュール等を保存することができる。
【００６３】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）等の光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク（例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク）、スマートカード、フラッシュメモリ（例えば、カード、スティック、キードライブ）、フロッピー（登録商標）ディスク、磁気ストリップ等の少なくとも１つで構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２及び／又はストレージ１００３を含むデータベース、サーバ、その他の適切な媒体であってもよい。
【００６４】
通信装置１００４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等ともいう。
【００６５】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサ等）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、ＬＥＤランプ等）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００６６】
また、プロセッサ１００１及びメモリ１００２等の各装置は、情報を通信するためのバス１００７で接続される。バス１００７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００６７】
また、情報処理装置１０は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つで実装されてもよい。
【００６８】
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更された態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【００６９】
［変形例１］
例えば、視線制御部１４は、オブジェクトの大きさに基づいて指標値又は閾値を調整してもよい。図７は、仮想空間Ｖにおいて、幅がｗ１、高さがｈ１の矩形状の物体オブジェクト２２Ｃと、幅がｗ２（＜ｗ１）、高さがｈ２（＜ｈ１）の矩形状の物体オブジェクト２２Ｄとが互いに隣接している状態を示している。なお、図７は、視線制御の対象となるユーザオブジェクト２１から見た仮想空間Ｖの画像（視界）を概略的に示している。ここで、物体オブジェクト２２Ｃ，２２Ｄには、それぞれの中心点に候補点Ｐが設定されている。また、この例では、上記ユーザオブジェクト２１の仮視線３１は視点（注視点）Ｐ０を示す情報を含んでおり、視線制御部１４は、視点Ｐ０と各オブジェクトの候補点Ｐとの距離ｄ１，ｄ２を上記実施形態で説明した指標値として使用する。
【００７０】
視点Ｐ０と物体オブジェクト２２Ｃの候補点Ｐとの距離ｄ１、及び視点Ｐ０と物体オブジェクト２２Ｄの候補点Ｐとの距離ｄ２について、「ｄ１＞Ｔｈ」と「ｄ２＜Ｔｈ」とが成立する場合、物体オブジェクト２２Ｄが、ユーザオブジェクト２１の視線を向ける先の候補オブジェクトとして決定される。また、「ｄ１＜Ｔｈ」と「ｄ２＜Ｔｈ」とが成立する場合にも、「ｄ１＞ｄ２」であるため、物体オブジェクト２２Ｄがユーザオブジェクト２１の視線を向ける先の候補オブジェクトとして決定される。しかし、図７に示されるように、ユーザオブジェクト２１の視点Ｐ０は実際には物体オブジェクト２２Ｃの縁部に位置している。すなわち、ユーザオブジェクト２１に対応するユーザは、物体オブジェクト２２Ｄではなく、物体オブジェクト２２Ｃを見ている可能性が高い。
【００７１】
そこで、このような場合に物体オブジェクト２２Ｃがユーザオブジェクト２１の視線を向ける先の候補オブジェクトとして適切に決定されるように、例えば、視線制御部１４は、指標値となるｄ１，ｄ２を以下のように調整してもよい。すなわち、視線制御部１４は、例えば下記（式１）及び（式２）により、物体オブジェクト２２Ｃ，２２Ｄの大きさ（ここでは、物体オブジェクト２２Ｃ，２２Ｄの半径（対角線の長さの半分））に基づいて、以下のように調整された指標値ｄ１ｎｅｗ，ｄ２ｎｅｗを算出する。
ｄ１ｎｅｗ＝ｄ１−√（ｗ１２＋ｈ１２）／２  …（式１）
ｄ２ｎｅｗ＝ｄ２−√（ｗ２２＋ｈ２２）／２  …（式２）
【００７２】
このように調整された指標値ｄ１ｎｅｗを用いることにより、「ｄ１ｎｅｗ＜Ｔｈ」が成立する可能性が高くなる。また、物体オブジェクト２２Ｃの上記半径「√（ｗ１２＋ｈ１２）／２」は、物体オブジェクト２２Ｄの上記半径「√（ｗ２２＋ｈ２２）／２」よりも大きく、「ｄ１ｎｅｗ＜ｄ２ｎｅｗ」が成立する。したがって、「ｄ１ｎｅｗ＜Ｔｈ」と「ｄ２ｎｅｗ＜Ｔｈ」とが成立する場合であっても、物体オブジェクト２２Ｃが物体オブジェクト２２Ｄよりも優先的に、ユーザオブジェクト２１の視線を向ける先の候補オブジェクトとして決定される。
【００７３】
なお、上記例において、指標値ｄ１，ｄ２ではなく、物体オブジェクト２２Ｃ，２２Ｄに対して個別に閾値を調整してもよい。例えば、視線制御部１４は、物体オブジェクト２２Ｃの指標値ｄ１との比較を、閾値Ｔｈではなく下記（式３）により算出される閾値Ｔｈ１を用いて行ってもよい。同様に、視線制御部１４は、物体オブジェクト２２Ｄの指標値ｄ２との比較を、閾値Ｔｈではなく下記（式４）により算出される閾値Ｔｈ２を用いて行ってもよい。
Ｔｈ１＝Ｔｈ＋√（ｗ１２＋ｈ１２）／２  …（式３）
Ｔｈ２＝Ｔｈ＋√（ｗ２２＋ｈ２２）／２  …（式４）
【００７４】
このように調整された閾値Ｔｈ１，Ｔｈ２を用いることにより、物体オブジェクト２２のサイズ（ここでは上記半径）が大きい程、判定条件が緩和されることになる。すなわち、物体オブジェクト２２のサイズが大きい程、候補オブジェクトとして抽出されるための条件（「ｄ１≦Ｔｈ１」又は「ｄ２≦Ｔｈ２」）を満たす可能性が高くなる。なお、「ｄ１≦Ｔｈ１」及び「ｄ２≦Ｔｈ２」の両方が成立する場合、視線制御部１４は、例えば「ｄ１−Ｔｈ１」と「ｄ２−Ｔｈ２」とを比較することにより、ユーザオブジェクト２１の視線を向ける先の候補オブジェクトを決定してもよい。具体的には、視線制御部１４は、「ｄ１−Ｔｈ１＜ｄ２−Ｔｈ２」である場合には、物体オブジェクト２２Ｃをユーザオブジェクト２１の視線を向ける先の候補オブジェクトとして決定し、「ｄ１−Ｔｈ１＞ｄ２−Ｔｈ２」である場合には、物体オブジェクト２２Ｄをユーザオブジェクト２１の視線を向ける先の候補オブジェクトとして決定すればよい。このようにすれば、上述した指標値ｄ１ｎｅｗ，ｄ２ｎｅｗを用いる場合と同様の制御結果が得られる。
【００７５】
変形例１によれば、オブジェクト（ここでは物体オブジェクト２２）の大きさを考慮して指標値（ここでは、ｄ１，ｄ２）又は閾値Ｔｈを調整し、調整後の指標値又は閾値に基づいて候補オブジェクトの判定を行うことができる。その結果、より適切なオブジェクト（候補点Ｐ）を向くように、ユーザオブジェクト２１の視線を制御することが可能となる。
【００７６】
なお、上述したような指標値又は閾値の調整を行う代わりに、予め各オブジェクト（物体オブジェクト２２）に対して、当該オブジェクトの大きさに応じた数の候補点Ｐが設定されてもよい。例えば、候補点Ｐを一定間隔毎に設定した場合、物体オブジェクト２２のサイズが大きい程、多くの候補点Ｐが設定されることになる。その結果、図７の例のように物体オブジェクト２２の中心点にのみ候補点Ｐが設定される場合の上述したような問題を回避できる。ただし、視線制御部１４の処理において、候補点Ｐ毎に比較が必要となるため、候補点の数を増やした場合には、比較回数が増大する。一方、上述したような指標値又は閾値の調整を行った場合には、候補点Ｐの数をなるべく少なくして視線制御部１４の処理量を抑制しつつ、候補オブジェクトを適切に決定できる。
【００７７】
［変形例２］
また、視線制御部１４は、ユーザオブジェクト２１の視線を向ける先として決定された候補オブジェクトが動くオブジェクトである場合、当該候補オブジェクトの移動態様に基づいて、ユーザオブジェクト２１の視線を当該候補オブジェクトに向けるか否かを決定してもよい。例えば、動くオブジェクトである候補オブジェクトが、単位時間当たりに一定の距離以上移動する移動態様である場合（例えば、所定の閾値距離を所定の閾値速度以上で移動する場合）、ユーザの動作情報から得られた視線（仮視線３１）と調整後の視線（当該候補オブジェクトを向く視線）とが瞬間的に大きく乖離してしまうことになる。また、極めて高速に移動するオブジェクトの動きに実際のユーザの視線が完全に追従することは、ほとんどない（又は不可能である）。
【００７８】
そこで、視線制御部１４は、候補オブジェクトの移動態様が上記のような条件を満たす場合には、ユーザオブジェクト２１の視線を当該候補オブジェクトに向けないようにしてもよい。すなわち、視線制御部１４は、ユーザオブジェクト２１の視線を当該候補オブジェクトに追従させないようにしてもよい。この場合、視線制御部１４は、例えば過去所定期間における当該候補オブジェクトの位置から、直近の候補オブジェクトの移動範囲を導出し、当該移動範囲の中心点にユーザオブジェクト２１の視点を固定してもよい。
【００７９】
変形例２によれば、候補オブジェクトの移動態様に基づいて、ユーザオブジェクト２１の視線が不自然な視線（上記例では、高速移動している候補オブジェクトに完全追従するような視線）となることを抑制することができる。
【００８０】
［変形例３］
また、視線制御部１４は、仮視線３１に基づいて仮想空間Ｖの一部を構成する範囲を決定し、当該範囲に含まれるオブジェクトを抽出し、仮視線３１と抽出されたオブジェクトとの位置関係に基づいて、ユーザオブジェクト２１の視線を制御してもよい。図８は、仮視線３１に基づいて決定されるオブジェクトの抽出範囲の一例を示している。図８の例では、視線制御部１４は、仮視線３１の視点Ｐ０から半径ｒの球状領域を、上述した範囲Ｒとして決定している。この例では、当該範囲Ｒに含まれるユーザオブジェクト２１Ｃ及び物体オブジェクト２２Ｅ，２２Ｆ，２２Ｇ（これらの候補点Ｐ）が、ユーザオブジェクト２１の視線を向ける先の候補として抽出される。そして、これ以外のオブジェクトについては、ユーザオブジェクト２１の視線を向ける先の候補から除外され、上述した閾値の比較等の処理は行われない。
【００８１】
変形例３によれば、仮想空間Ｖ上に複数のオブジェクトが存在する場合に、計算対象となるオブジェクト（ユーザオブジェクト２１の視線を向ける先の候補）を絞り込むことにより、視線制御部１４の計算量を抑制することができる。その結果、処理の高速化、使用メモリ量の削減等を図ることができる。なお、上述した範囲Ｒは一例であり、例えば、仮視線３１の視点Ｐ０の先に発話オブジェクトが存在する場合には、当該発話オブジェクトの候補点Ｐを中心とする半径ｒの球状領域等が、上述した範囲Ｒの代わりに用いられてもよい。
【００８２】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャート等は、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００８３】
入出力された情報等は特定の場所（例えば、メモリ）に保存されてもよいし、管理テーブルで管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００８４】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：true又はfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００８５】
本明細書で説明した各態様／実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。
【００８６】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能等を意味するよう広く解釈されるべきである。
【００８７】
また、ソフトウェア、命令等は、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）等の有線技術及び／又は赤外線、無線及びマイクロ波等の無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【００８８】
本明細書で説明した情報及び信号等は、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップ等は、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【００８９】
なお、本明細書で説明した用語及び／又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【００９０】
また、本明細書で説明した情報、パラメータ等は、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
【００９１】
上述したパラメータに使用される名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。
【００９２】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」との両方を意味する。
【００９３】
「含む（include）」、「含んでいる（including）」、及びそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える（comprising）」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「又は（or）」及び「或いは（or）」は、排他的論理和ではないことが意図される。
【００９４】
本明細書において、文脈又は技術的に明らかに１つのみしか存在しない装置であることが示されていなければ、複数の装置をも含むものとする。
【００９５】
本明細書で使用する「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「決定」は、例えば、判定（judging）、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)（例えば、テーブル、データベースまたは別のデータ構造での探索）、確認(ascertaining)した事を「決定」したとみなす事等を含み得る。また、「決定」は、受信(receiving)（例えば、情報を受信すること）、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)（例えば、メモリ中のデータにアクセスすること）した事を「決定」したとみなす事等を含み得る。また、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)等した事を「決定」したとみなす事を含み得る。つまり、「決定」は、何らかの動作を「決定」したとみなす事を含み得る。
【００９６】
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
【符号の説明】
【００９７】
１…ＨＭＤ（表示装置）、１０…情報処理装置、１２…動作情報取得部、１３…仮視線決定部、１４…視線制御部、１５…画像生成部、２１，２１Ａ，２１Ｂ，２１Ｃ…ユーザオブジェクト、２２，２２Ａ，２２Ｂ，２２Ｃ，２２Ｄ，２２Ｅ，２２Ｆ，２２Ｇ…物体オブジェクト、３１…仮視線、θ１，θ２…角度（指標値）、Ｖ…仮想空間。
【図１】
2019130992.tif 000003
【図２】
2019130992.tif 000004
【図３】
2019130992.tif 000005
【図４】
2019130992.tif 000006
【図５】
2019130992.tif 000007
【図６】
2019130992.tif 000008
【図７】
2019130992.tif 000009
【図８】
2019130992.tif 000010
【図９】
2019130992.tif 000011
【国際調査報告】
2019130992.tif 000012
2019130992.tif 000013
2019130992.tif 000014