JPWO2019130992A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JPWO2019130992A1
JPWO2019130992A1 JP2019562896A JP2019562896A JPWO2019130992A1 JP WO2019130992 A1 JPWO2019130992 A1 JP WO2019130992A1 JP 2019562896 A JP2019562896 A JP 2019562896A JP 2019562896 A JP2019562896 A JP 2019562896A JP WO2019130992 A1 JPWO2019130992 A1 JP WO2019130992A1
Authority
JP
Japan
Prior art keywords
sight
line
user
candidate
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019562896A
Other languages
English (en)
Other versions
JP6970757B2 (ja
Inventor
敬幸 古田
敬幸 古田
雄太 樋口
雄太 樋口
和輝 東
和輝 東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of JPWO2019130992A1 publication Critical patent/JPWO2019130992A1/ja
Application granted granted Critical
Publication of JP6970757B2 publication Critical patent/JP6970757B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/38Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory with means for controlling the display position
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0464Positioning
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一実施形態に係る情報処理装置10は、HMD1を装着したユーザに対応付けられた仮想空間V上のユーザオブジェクト21の動作を制御する情報処理装置であって、実空間で検出されたユーザの頭部及び目の動作情報を取得する動作情報取得部12と、動作情報に基づいて、ユーザオブジェクト21の仮視線31を決定する仮視線決定部13と、仮視線31と仮想空間V上の一以上のオブジェクトとの位置関係に基づいて、ユーザオブジェクト21の視線を制御する視線制御部14と、視線制御部14により制御されたユーザオブジェクト21の視線が反映された画像であって、HMD1に表示される画像を生成する画像生成部15と、を備える。

Description

本発明の一側面は、情報処理装置に関する。
従来、HMD(Head Mounted Display)等を装着したユーザに、あたかも当該ユーザが仮想空間上に存在するかのような視界を提供することにより、仮想空間に没入させる仮想現実(VR:Virtual Reality)と呼ばれる技術が知られている。このようなVR技術では、例えば、ユーザの動作(例えば頭部及び手等の身体の一部の動作)に連動するユーザオブジェクト(アバター、キャラクタ等)が、仮想空間上に生成され、ユーザの動作に応じて制御される。そして、ユーザオブジェクトから見た視界を示す画像がHMDに表示されることにより、あたかも仮想空間上にユーザオブジェクトとして存在しているかのような体験が、ユーザに提供される。
例えば、特許文献1には、仮想空間上のユーザ間のコミュニケーション(ユーザオブジェクトを介したコミュニケーション)を促進させるために、ユーザの実際の頭部又は目の動作と仮想空間上のユーザオブジェクトの頭部又は目の動作とを連動させる手法が開示されている。
特開2017−55851号公報
しかしながら、上述した手法のようにユーザの実際の動作(頭部又は目の動き)をユーザオブジェクトにそのまま反映させることは、仮想空間上のユーザ間のコミュニケーションの円滑化を図る上で必ずしも望ましいとはいえない。例えば、センサ等によって検出されたユーザの頭部又は目の動きに検出誤差が生じる場合がある。この場合、上述した手法では、ユーザの実際の動作(顔の向き及び目線等)とユーザオブジェクトの動作との間にずれが生じてしまう。
そこで、本発明の一側面は、仮想空間上のユーザ間のコミュニケーションをより一層円滑化できる情報処理装置を提供することを目的とする。
本発明の一側面に係る情報処理装置は、表示装置を装着したユーザに対応付けられた仮想空間上のユーザオブジェクトの動作を制御する情報処理装置であって、実空間で検出されたユーザの頭部及び目の動作情報を取得する動作情報取得部と、動作情報に基づいて、ユーザオブジェクトの仮視線を決定する仮視線決定部と、仮視線と仮想空間上の一以上のオブジェクトとの位置関係に基づいて、ユーザオブジェクトの視線を制御する視線制御部と、視線制御部により制御されたユーザオブジェクトの視線が反映された画像であって、表示装置に表示される画像を生成する画像生成部と、を備える。
本発明の一側面に係る情報処理装置によれば、実際に検出されたユーザの頭部及び目の動作情報に基づいて、一旦ユーザオブジェクトの仮視線が決定される。そして、仮視線と仮想空間上の一以上のオブジェクトとの位置関係に基づいて、ユーザオブジェクトの視線が制御され、表示装置に表示される画像が生成される。このような処理によれば、実際に検出されたユーザの視線(動作情報)をそのままユーザオブジェクトの視線に適用する場合と比較して、より自然な方向を向くように制御されたユーザオブジェクトの視線をユーザに提示できる。その結果、ユーザオブジェクトを介した仮想空間上のユーザ間のコミュニケーションをより一層円滑化できる。
本発明の一側面によれば、仮想空間上のユーザ間のコミュニケーションをより一層円滑化できる情報処理装置を提供することができる。
一実施形態に係る情報処理装置の機能構成を示す図である。 仮想空間の一例を概略的に示した図である。 情報処理装置の動作の一例を示すフローチャートである。 図3のフローチャートのS4の手順の一例を示すフローチャートである。 ユーザオブジェクトの視線制御の一例を説明するための図である。 ユーザオブジェクトの視線制御の一例を説明するための図である。 ユーザオブジェクトの視線制御の一例を説明するための図である。 仮視線に基づいて決定されるオブジェクト抽出範囲の一例を示す図である。 情報処理装置のハードウェア構成の一例を示すブロック図である。
以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。
図1は、本発明の一実施形態に係る情報処理装置10の機能構成を示す図である。情報処理装置10は、ゲーム空間及びチャット空間等の任意のVRコンテンツが展開される仮想空間を、ユーザに装着されたHMD(Head Mounted Display)1(表示装置)を介してユーザに提供する装置である。情報処理装置10は、仮想空間上のユーザオブジェクトの動作(特に視線)を制御する。
本実施形態では、同一の仮想空間上に複数のユーザの各々によって操作される複数のユーザオブジェクト(アバター、キャラクタ等)が存在する場合について説明する。この場合、情報処理装置10によって制御された各ユーザオブジェクトの視線は、各ユーザに装着されたHMD1に表示される画像(映像)に反映される。その結果、各ユーザは、HMD1に表示されるユーザオブジェクトの視線(例えばユーザオブジェクトの頭部の向き、目の位置等により表現されるユーザオブジェクトの視線)に基づいて、他のユーザの視線を把握することができる。ただし、後述する情報処理装置10の処理は、同一の仮想空間上に一人のユーザのユーザオブジェクトのみが存在する場合にも適用され得る。この場合、情報処理装置10によって制御されたユーザオブジェクトの視線は、例えば仮想空間上で当該ユーザオブジェクトを第三者視点から撮影及び記録した映像等に反映される。
図1に示されるように、情報処理装置10は、通信部11と、動作情報取得部12と、仮視線決定部13と、視線制御部14と、画像生成部15と、を備えている。情報処理装置10は、例えば、複数のユーザの各々によって装着された複数のHMD1と通信可能なゲーム端末、パーソナルコンピュータ、タブレット端末等である。ただし、情報処理装置10の実装形態は、特定の形態に限定されない。例えば、情報処理装置10は、HMD1と同じ装置に内蔵されたコンピュータ装置であってもよい。また、情報処理装置10は、インターネット等の通信回線を介して複数のユーザの各々のHMD1(又は各HMD1の動作を制御する各コンピュータ端末)と通信可能なサーバ装置等であってもよい。また、情報処理装置10は、物理的に単一の装置によって構成されてもよいし、複数の装置によって構成されてもよい。例えば、情報処理装置10は、一部の機能(例えば、画像生成部15の機能)が各HMD1の動作を制御するコンピュータ端末により実現され、他の機能が当該コンピュータ端末と通信可能なサーバ装置により実現される分散システムとして構成されてもよい。
HMD1は、ユーザの身体(例えば頭部)に装着される表示装置である。HMD1は、例えば、ユーザの頭部に装着された状態においてユーザの各目の前に画像(左目用画像及び右目用画像)を表示する表示部を備えている。左目用画像と右目用画像とに互いに異なる画像(映像)が表示されることにより、立体的な画像(3次元画像)がユーザによって認識される。なお、上述した表示部は、眼鏡型、ヘルメット型等のようなユーザの身体に装着される本体部と一体的に構成されたディスプレイであってもよいし、HMD1の本体部と着脱自在なデバイス(例えば、本体部に取り付けられるスマートフォン等の端末のディスプレイ)が、上記表示部として機能してもよい。
HMD1は、例えば、ユーザの頭部(すなわち、HMD1)の位置、向き(傾き)、速度、加速度等を検出可能なセンサ(例えば、加速度センサ、角速度センサ、地磁気センサ、ジャイロセンサ等)を備えている。HMD1は、このようなセンサにより検出されたユーザの頭部の動作(位置、向き、速度、加速度等)の情報を、ユーザの頭部の動作情報として定期的に情報処理装置10に送信する。
また、HMD1は、例えば、ユーザの目の動作(例えば、黒目部分の位置及び動き等)を検出する赤外線カメラ等のセンサを備えている。当該センサは、例えば、公知のアイトラッキング機能を有するセンサである。当該センサは、例えば、ユーザの右目及び左目に照射した赤外光の角膜等からの反射光を受けることで、各眼球の動作を検出する。HMD1は、上述のようにして検出されるユーザの目の動作情報を、定期的に情報処理装置10に送信する。
また、HMD1は、当該HMD1を装着したユーザの音声を入力するためのマイク(不図示)と、各ユーザの音声等を出力するスピーカー(不図示)と、を付属品として備えている。マイクにより取得された音声は、情報処理装置10に送信される。また、スピーカーは、情報処理装置10から受信した他ユーザの音声等を出力する。このようなマイク及びスピーカーにより、複数ユーザ間で会話(チャット)を行うことが可能となっている。なお、マイク及びスピーカーは、HMD1と一体型のデバイスであってもよいし、HMD1とは異なるデバイスであってもよい。
通信部11は、有線又は無線の通信ネットワークを介して、HMD1(HMD1の付属品であるマイク、スピーカー、コントローラ等を含む)等の外部装置との間でデータを送受信する。本実施形態では、通信部11は、上述のようにHMD1において取得されたユーザの頭部及び目の動作情報を、HMD1から受信する。また、通信部11は、後述する画像生成部15により生成された画像をHMD1に送信する。この処理により、HMD1において、後述する視線制御部14により制御されたユーザオブジェクトの視線が反映された仮想空間の画像が表示される。また、通信部11は、上述したマイクに入力された各ユーザの音声を受信すると共に、受信された各ユーザの音声を各ユーザのスピーカーに送信する。このような処理により、ユーザ間で音声が共有され、上述したチャットが実現される。
動作情報取得部12は、実空間で検出されたユーザの頭部及び目の動作情報を取得する。本実施形態では、動作情報取得部12は、通信部11によって各HMD1から受信された各ユーザの頭部及び目の動作情報を取得する。
仮視線決定部13は、動作情報取得部12により取得されたユーザの動作情報に基づいて、当該ユーザに対応付けられたユーザオブジェクトの仮視線を決定する。ユーザオブジェクトは、例えば、ユーザによって操作されるキャラクタ及びアバター等である。例えば、仮視線決定部13は、ユーザの頭部及び目の動作情報を仮想空間上のユーザオブジェクトの頭部及び目の動作として対応付けることにより、仮想空間上のユーザオブジェクトの仮視線を決定する。ユーザオブジェクトの仮視線は、例えば、視線方向(視軸)及び視点(注視点)の少なくとも一方を含む情報である。なお、仮視線決定部13の処理は、複数のユーザの各々について行われる。その結果、各ユーザに対応付けられた各ユーザオブジェクトの仮視線が決定される。
視線制御部14は、仮視線決定部13により決定されたユーザオブジェクトの仮視線と仮想空間上の一以上のオブジェクトとの位置関係に基づいて、ユーザオブジェクトの視線を制御する。視線制御部14の処理は、仮視線決定部13の処理と同様に、ユーザ毎(ユーザオブジェクト毎)に実行される。
例えば、視線制御部14は、仮視線と仮想空間上のオブジェクトとの距離を示す指標値を算出し、当該指標値と所定の閾値とを比較する。所定の閾値は、例えば、予め情報処理装置10にセットされている値である。所定の閾値は、固定値であってもよいし、ユーザ等の操作によって変更可能な可変値であってもよい。視線制御部14は、当該指標値が当該閾値以下となるオブジェクトである候補オブジェクトが存在するか否かを判定し、候補オブジェクトが存在する場合、当該候補オブジェクトを向くようにユーザオブジェクトの視線を制御する。
図2は、複数(ここでは3人)のユーザに対応付けられたユーザオブジェクト21(21A〜21C)を含む仮想空間Vの一例を概略的に示した図である。以下、ユーザオブジェクト21Aの視線を制御する場合に着目して、上述した視線制御部14の処理について説明する。
図2の例は、3体のユーザオブジェクト21が同一の長机の前に座って会話をしている状況を示している。長机の上には、ユーザオブジェクト21とは異なる物体(ここでは、カード状の物体)を示す2つの物体オブジェクト22(22A,22B)が置かれている。ここでは一例として、ユーザオブジェクト21Aの視線方向(視軸)を示す仮視線31が、長机における物体オブジェクト22Aの手前の位置に向けられている。仮視線31の基点31aは、一例として、ユーザオブジェクト21Aの左右の両目の中間点に設定されている。また、各オブジェクト(ユーザオブジェクト21B,21C及び物体オブジェクト22A,22B)には、ユーザオブジェクト21Aの視線を向ける候補となる位置を示す候補点Pが設定されている。なお、1つのオブジェクトには、当該オブジェクトに設定された複数の部位(例えばユーザオブジェクト21の顔、胴体、腕等の身体部位)に対応する複数の候補点Pが設定されてもよい。本実施形態では、ユーザオブジェクト21には、当該ユーザオブジェクト21の顔に対応する部分に候補点Pが設定されている。物体オブジェクト22には、当該物体オブジェクト22の中心位置に候補点Pが設定されている。
この場合、例えば、視線制御部14は、仮視線31とユーザオブジェクト21(ここでは一例としてユーザオブジェクト21C)との距離を示す指標として、仮視線31の基点31aからユーザオブジェクト21の候補点Pに向けた仮想視線32と仮視線31とがなす角度θ1を算出する。例えば、視線制御部14は、仮想空間Vにおける水平方向において仮想視線32と仮視線31とがなす角度θ1(すなわち、角度θ1の水平成分)と、仮想空間Vにおける垂直方向(鉛直方向)において仮想視線32と仮視線31とがなす角度θ1(すなわち、角度θ1の垂直成分)とを算出し、角度θ1及び角度θ1に基づいて角度θ1を算出する。同様に、視線制御部14は、仮視線31と物体オブジェクト22(ここでは一例として物体オブジェクト22A)との距離を示す指標として、仮視線31の基点31aから物体オブジェクト22の候補点Pに向けた仮想視線33と仮視線31とがなす角度θ2を算出する。例えば、視線制御部14は、仮想空間Vにおける水平方向において仮想視線33と仮視線31とがなす角度θ2(すなわち、角度θ2の水平成分)と、仮想空間Vにおける垂直方向(鉛直方向)において仮想視線33と仮視線31とがなす角度θ2(すなわち、角度θ2の垂直成分)とを算出し、角度θ2及び角度θ2に基づいて角度θ2を算出する。
そして、視線制御部14は、これらの指標値(角度θ1,θ2)と所定の閾値Thとを比較する。そして、視線制御部14は、角度θ1,θ2が閾値Th以下となるオブジェクトを候補オブジェクトとして抽出する。図2の例において、「θ2<Th<θ1」が成立する場合、物体オブジェクト22Aは、候補オブジェクトとして抽出される一方で、ユーザオブジェクト21Cは、候補オブジェクトとして抽出されない。物体オブジェクト22Aが候補オブジェクトとして抽出された場合、視線制御部14は、物体オブジェクト22A(物体オブジェクト22Aの候補点P)を向くようにユーザオブジェクト21Aの視線を制御する。すなわち、視線制御部14は、ユーザオブジェクト21Aの視線を仮想視線33に一致させる。
視線制御部14は、上述のようにして抽出される候補オブジェクトが複数存在する場合、各候補オブジェクトの種別及び状態の少なくとも一方に基づいて、一の候補オブジェクトを選択し、当該一の候補オブジェクトを向くようにユーザオブジェクト21Aの視線を制御する。例えば、各オブジェクトには、オブジェクトの種別及び状態の少なくとも一方に基づく優先度が設定されている。視線制御部14は、候補オブジェクトが複数存在する場合、各候補オブジェクトに設定された優先度に基づいて、ユーザオブジェクト21Aの視線を向ける先となる候補オブジェクトを決定する。そして、視線制御部14は、ユーザオブジェクト21Aの視線を向ける先として決定された候補オブジェクトを向くようにユーザオブジェクト21Aの視線を制御し得る。
例えば、仮想空間V上で動いている物体オブジェクト22(以下「動くオブジェクト」ともいう。)には、仮想空間V上で動いていない物体オブジェクト22(以下「静止オブジェクト」ともいう。)よりも高い優先度が設定される。このような優先度の設定は、仮想空間V上において活性化しているオブジェクト(動くオブジェクト)は、静止オブジェクトよりもユーザから注目される可能性が高いという考え方に基づいている。
また、発話しているユーザに対応付けられたユーザオブジェクト21(以下「発話オブジェクト」ともいう。)には、発話していないユーザに対応付けられたユーザオブジェクト21(以下「非発話オブジェクト」ともいう。)よりも高い優先度が設定される。このような優先度の設定は、発話オブジェクトは、非発話オブジェクトよりもユーザから注目される可能性が高いという考え方に基づいている。
例えば、視線制御部14は、ユーザオブジェクト21に対応付けられたユーザがマイクに所定の大きさ以上の音量の音声を入力している状態(発話状態)であるか否かに基づいて、当該ユーザオブジェクト21が発話オブジェクトであるか否かを判定し得る。ここで、発話状態であるか否かは、例えば、所定の大きさ以上の音量の音声が前回入力されたときから所定時間(例えば、予め設定された秒数等)が経過したか否かに基づいて判定され得る。すなわち、視線制御部14は、所定の大きさ以上の音量の音声が前回入力されたときから所定時間が経過している場合には、発話状態でないと判定し、所定の大きさ以上の音量の音声が前回入力されたときから所定時間が経過していない場合には、発話状態であると判定する。ただし、発話状態であるか否かの判定方法は、上記方法に限定されない。例えば、発話しているユーザ(或いは、これから発話しようとするユーザ)は、図示しないコントローラ等の明示的な操作によって、自身のステータスを発話状態に切り替えてもよい。この場合、視線制御部14は、各ユーザに設定されているステータスに基づいて、発話状態であるか否かを判定できる。
本実施形態では一例として、以下の優先度順が設定されている。また、本実施形態では、視線制御部14は、非発話オブジェクトをユーザオブジェクト21Aの視線を向ける候補から除外する。ただし、視線制御部14は、非発話オブジェクトをユーザオブジェクト21Aの視線を向ける候補に含めてもよい。
1.動くオブジェクト
2.発話オブジェクト
3.静止オブジェクト
4.非発話オブジェクト
視線制御部14は、優先度が高い候補オブジェクトがユーザオブジェクト21Aの視線を向ける先として優先的に選択されるように制御する。このような制御の一例(図4参照)については後述する。なお、同じ優先度が設定された複数の候補オブジェクト(すなわち、オブジェクトの種別及び状態が同一の候補オブジェクト同士)が存在する場合には、視線制御部14は、上述した指標値(角度θ1,θ2)が最小の候補オブジェクトを、ユーザオブジェクト21Aの視線を向ける先として選択してもよい。
また、視線制御部14は、ユーザオブジェクト21Aに対応付けられたユーザが発話中であるか否かを判定し、当該ユーザが発話中である場合には、発話中のユーザに対応付けられたユーザオブジェクト(すなわち、発話オブジェクト)について予め定められた制御内容に基づいて、ユーザオブジェクト21Aの視線を制御してもよい。例えば、ユーザオブジェクト21Aの視線は、発話者(例えば発表者等)として適切なふるまいとなるように、予め設定された特別な制御内容に基づいて制御されてもよい。例えば、ユーザオブジェクト21Aの仮視線31が一定範囲内に固定されている場合(例えば、仮視線31の単位時間当たりの変化量が予め定められた閾値以内である場合)には、視線制御部14は、ユーザオブジェクト21Aの仮視線31をそのままユーザオブジェクト21Aの制御後の視線として採用してもよい。一方、ユーザオブジェクト21Aの仮視線31が一定範囲内を超えて変化する場合(例えば、仮視線31の単位時間当たりの変化量が上記閾値を超える場合(仮視線31が大きくふらつく場合))には、視線制御部14は、各ユーザオブジェクト21B,21Cに対して順に視線を送るように、ユーザオブジェクト21Aの視線を制御してもよい。
画像生成部15は、視線制御部14により制御されたユーザオブジェクト21Aの視線が反映された画像(各HMD1に表示される画像)を生成する。例えば、画像生成部15は、視線制御部14により制御されたユーザオブジェクト21Aの視線(視線方向及び/又は視点)と各HMD1に画像に表示されるユーザオブジェクト21Aの顔の向き及び目(黒目の位置)等により特定される視線(視線方向及び/又は視点)とが一致するように調整された画像を生成する。画像生成部15により生成された画像は、通信部11を介して各HMD1に出力される。このような処理により、視線制御部14によって制御されたユーザオブジェクト21Aの視線が反映された画像が、各HMD1を介して各ユーザに提示される。
次に、図3〜図6を参照して、情報処理装置10の動作の一例について説明する。なお、図3及び図4に示すフローチャートは、図2に示されるユーザオブジェクト21Aの視線制御を行う場合に着目した処理を示している。他のユーザに対応付けられたユーザオブジェクト21B,21Cの視線制御については、ユーザオブジェクト21Aの視線制御と同様であるため、説明を省略する。
図3に示されるように、まず、情報処理装置10が、複数のユーザによって共有される仮想空間V(図2参照)を生成する(ステップS1)。具体的には、各ユーザに対応付けられたユーザオブジェクト21及び物体オブジェクト22等が初期位置に配置された仮想空間Vが生成される。続いて、動作情報取得部12は、通信部11を介して、各HMD1から受信された各ユーザの頭部及び目の動作情報を取得する(ステップS2)。続いて、仮視線決定部13は、動作情報取得部12により取得されたユーザの動作情報に基づいて、当該ユーザに対応付けられたユーザオブジェクト21(ここでは、ユーザオブジェクト21A)の仮視線31を決定する。続いて、視線制御部14は、仮視線決定部13により決定されたユーザオブジェクト21Aの仮視線31と仮想空間V上の一以上のオブジェクト(他のユーザオブジェクト21及び物体オブジェクト22)との位置関係に基づいて、ユーザオブジェクト21Aの視線を制御する(ステップS4)。
図4を参照して、ステップS4の詳細な処理手順の一例について説明する。図4に示される処理手順は、上述した優先度順に従ってユーザオブジェクト21Aの視線を向ける先となる候補オブジェクトを選択するような判定手順の一例である。
図4に示されるように、まず、視線制御部14は、処理対象となるユーザオブジェクト21Aに対応付けられたユーザが発話中であるか否かを判定する(ステップS41)。ユーザが発話中である場合(ステップS41:YES)、視線制御部14は、上述したような予め定められた制御内容に基づいて、ユーザオブジェクト21Aの視線を制御する(ステップS42)。例えば、ユーザオブジェクト21Aの仮視線31が一定範囲内に固定されている場合には、視線制御部14は、ユーザオブジェクト21Aの仮視線31をそのままユーザオブジェクト21Aの制御後の視線として採用する。一方、ユーザオブジェクト21Aの仮視線31が一定範囲内を超えて変化する場合(ふらつく場合)には、視線制御部14は、各ユーザオブジェクト21B,21Cに対して順に視線を送るように、ユーザオブジェクト21Aの視線を制御する。このような処理により、ユーザオブジェクト21Aの視線は、発話者として適切なふるまいとなるように制御される。
一方、ユーザが発話中ではない場合(ステップS41:NO)、視線制御部14は、仮視線31と仮想視線33(基点31aと物体オブジェクト22の候補点Pとを結ぶ線分)とがなす角度θ2が閾値Th以下となる動くオブジェクトが存在するか否かを判定する(ステップS43)。上記判定条件を満たす動くオブジェクト(候補オブジェクト)が存在する場合(ステップS43:YES)、視線制御部14は、上記判定条件を満たす動くオブジェクト(上記判定条件を満たす動くオブジェクトが複数存在する場合には、角度θ2が最小の動くオブジェクト)の候補点Pに、ユーザオブジェクト21の視線を向ける。すなわち、視線制御部14は、ユーザオブジェクト21の視線を、基点31aと当該動くオブジェクトの候補点Pとを結ぶ仮想視線33に一致させる。
図5は、物体オブジェクト22Aがユーザオブジェクト21Cによって保持され、ユーザオブジェクト21Cの手が動かされることにより物体オブジェクト22Aが動いている状態を示している。この場合、物体オブジェクト22Aは、動くオブジェクトであると判定される。この例において、仮視線31と仮想視線33(基点31aと物体オブジェクト22Aの候補点Pとを結ぶ線分)とがなす角度θ2が閾値Th以下である場合には、物体オブジェクト22Aは、ステップS43の判定条件を満たす。その場合、視線制御部14は、ユーザオブジェクト21の視線を上記仮想視線33に一致させる。
一方、「θ2≦Th」を満たす動くオブジェクトが存在しない場合(ステップS43:NO)、視線制御部14は、仮視線31と仮想視線32(基点31aとユーザオブジェクト21の候補点Pとを結ぶ線分)とがなす角度θ1が閾値Th以下となる発話オブジェクトが存在するか否かを判定する(ステップS45)。上記判定条件を満たす発話オブジェクト(候補オブジェクト)が存在する場合(ステップS45:YES)、視線制御部14は、上記判定条件を満たす発話オブジェクト(上記判定条件を満たす発話オブジェクトが複数存在する場合には、角度θ1が最小の発話オブジェクト)の候補点Pに、ユーザオブジェクト21の視線を向ける。すなわち、視線制御部14は、ユーザオブジェクト21の視線を、基点31aと当該発話オブジェクトの候補点Pとを結ぶ仮想視線32に一致させる。
図6は、ユーザオブジェクト21Bが非発話オブジェクトである一方で、ユーザオブジェクト21Cが発話オブジェクトである状態を示している。この例において、仮視線31と仮想視線32(基点31aとユーザオブジェクト21Cの候補点Pとを結ぶ線分)とがなす角度θ1が閾値Th以下である場合には、ユーザオブジェクト21Cは、ステップS45の判定条件を満たす。したがって、この場合には、視線制御部14は、ユーザオブジェクト21の視線を上記仮想視線32に一致させる。
一方、「θ1≦Th」を満たす発話オブジェクトが存在しない場合(ステップS45:NO)、視線制御部14は、仮視線31と仮想視線33(基点31aと物体オブジェクト22の候補点Pとを結ぶ線分)とがなす角度θ2が閾値Th以下となる静止オブジェクトが存在するか否かを判定する(ステップS47)。上記判定条件を満たす静止オブジェクトが存在する場合(ステップS47:YES)、視線制御部14は、上記判定条件を満たす静止オブジェクト(上記判定条件を満たす静止オブジェクトが複数存在する場合には、角度θ2が最小の静止オブジェクト)の候補点Pに、ユーザオブジェクト21の視線を向ける。
上述した図2において、物体オブジェクト22Aは、静止オブジェクトである。この例において、仮視線31と仮想視線33(基点31aと物体オブジェクト22Aの候補点Pとを結ぶ線分)とがなす角度θ2が閾値Th以下である場合には、物体オブジェクト22Aは、ステップS47の判定条件を満たす。したがって、この場合には、視線制御部14は、ユーザオブジェクト21の視線を上記仮想視線33に一致させる。なお、図2の例では、基点31aと物体オブジェクト22Bの候補点Pとを結ぶ線分と仮視線31とがなす角度(以下「角度A」という。)も閾値Th以下となる可能性がある。ただし、この場合にも、角度θ2の方が角度Aよりも小さいため、視線制御部14は、物体オブジェクト22Aを、ユーザオブジェクト21の視線を向ける先として選択する。
一方、「θ2≦Th」を満たす静止オブジェクトが存在しない場合(ステップS47:NO)、視線制御部14は、仮視線31をユーザオブジェクト21Aの視線とする(ステップS49)。すなわち、視線制御部14は、ユーザオブジェクト21Aの視線を仮視線31に一致させる。
続いて、図3に戻り、画像生成部15は、視線制御部14により制御されたユーザオブジェクト21Aの視線が反映された画像(各HMD1に表示される画像)を生成する(ステップS5)。画像生成部15により生成された各ユーザ用の画像(すなわち、各ユーザに対応付けられたユーザオブジェクト21の視界に応じた画像)は、例えば、通信部11を介して各HMD1に送信され、各HMD1において表示される。これにより、各ユーザは、HMD1に表示された画像を通じて、視線制御部14により制御されたユーザオブジェクト21Aの視線を認識する。
以上述べた情報処理装置10によれば、実際に検出されたユーザの頭部及び目の動作情報に基づいて、一旦ユーザオブジェクト21Aの仮視線31が決定される。そして、仮視線31と仮想空間V上の一以上のオブジェクト(本実施形態では、他のユーザオブジェクト21及び物体オブジェクト22)との位置関係に基づいて、ユーザオブジェクト21Aの視線が制御され、HMD1に表示される画像が生成される。このような処理によれば、実際に検出されたユーザの視線(動作情報)をそのままユーザオブジェクト21Aの視線に適用する場合と比較して、より自然な方向を向くように制御されたユーザオブジェクト21Aの視線をユーザ(本実施形態では、各ユーザオブジェクト21A〜21Cに対応付けられた各ユーザ)に提示できる。その結果、ユーザオブジェクト21Aを介した仮想空間V上のユーザ間のコミュニケーションをより一層円滑化できる。
また、視線制御部14は、仮視線31とオブジェクトとの距離を示す指標値(本実施形態では角度θ1,θ2)を算出し、指標値と所定の閾値Thとを比較し、指標値が閾値Th以下となるオブジェクトである候補オブジェクトが存在する場合、当該候補オブジェクトを向くようにユーザオブジェクト21の視線を制御する。上記構成により、仮視線31とオブジェクトとの距離が所定の基準よりも近い候補オブジェクトを向くようにユーザオブジェクト21の視線が制御される。この処理により、ユーザオブジェクト21に対応付けられたユーザが注目している可能性が高いと推定されるオブジェクト(候補オブジェクト)を向くように、ユーザオブジェクト21Aの視線を固定することができる。このため、実際に検出されたユーザの視線(動作情報)をそのままユーザオブジェクト21の視線に適用する場合に生じ得るユーザオブジェクト21の視線のずれ(ユーザの頭部又は目の動作の検出誤差に基づくずれ)及びユーザオブジェクト21の視線のふらつき等を抑制できる。その結果、画像生成部15により生成される画像(映像)において、より自然且つスムーズなユーザオブジェクト21の視線を表現でき、ユーザオブジェクト21を介したユーザ間のコミュニケーションの円滑化を図ることができる。
補足すると、ユーザがあるオブジェクト(例えば発話オブジェクト)の方向を見ている場合において、HMD1に搭載されたセンサ等によって検出された当該ユーザの頭部又は目の動作情報に検出誤差が生じ得る。この場合、上記動作情報に基づく視線(すなわち、仮視線31)を当該ユーザに対応付けられたユーザオブジェクト21の視線としてそのまま適用してしまうと、上記検出誤差がそのままユーザオブジェクト21の視線にも影響を与えることとなる。すなわち、上記検出誤差の分だけユーザオブジェクト21の視線に誤差が生じることにより、ユーザオブジェクト21の視線が上記発話オブジェクトを向く方向からずれてしまう。一方、情報処理装置10(特に視線制御部14)の処理によれば、このような検出誤差を吸収し、ユーザオブジェクト21の視線を、ユーザが注目している可能性が高いと考えられるオブジェクト(この例では、上記発話オブジェクト)を向くように制御することが可能となる。
また、あるユーザ(第1ユーザ)に対してHMD1を介して提供される視界画像に他のユーザ(第2ユーザ)に対応付けられたユーザオブジェクト21を表示させるためには、当該視界画像を生成する情報処理装置10は、第2ユーザの動作情報を受信し、当該動作情報に基づいて第2ユーザに対応付けられたユーザオブジェクト21の動作を制御する必要がある。ここで、第2ユーザの動作情報の受信又は制御についての遅延(通信遅延、処理遅延等)が生じた場合、実際の第2ユーザの動作と当該第2ユーザに対応付けられたユーザオブジェクト21の動作との間に時間差が生じるおそれがある。また、遅延によって処理の一部が省略されることにより、当該ユーザオブジェクト21の顔の向き及び目線等が不連続に変化する(突然大きく変化する)といった違和感のある映像が第1ユーザに提供されるおそれもある。一方、情報処理装置10(視線制御部14)の処理によれば、実際のユーザの視線(すなわち、仮視線31)が若干ふらつく場合であっても、ユーザオブジェクト21の視線を、候補オブジェクトを向く方向に固定することができる。このような処理により、ユーザオブジェクト21の視線のふらつきを抑制し、相手ユーザに不安感を与えてしまうことを抑制できる。その結果、ユーザ間のコミュニケーションの円滑化を図ることができる。さらに、情報処理装置10の上述した制御によれば、第2ユーザの頭部又は目の動作と当該第2ユーザに対応付けられたユーザオブジェクト21の動作(視線)とを完全に連動させる必要がない。つまり、情報処理装置10の制御によれば、第2ユーザの視線(仮視線31)が候補オブジェクトから大きく外れてしまわない限り、ユーザオブジェクト21の視線を候補オブジェクトを向く方向に固定することができる。この間、第2ユーザの頭部又は目の実際の動作をユーザオブジェクト21の動作(視線)に反映させる必要がない。これにより、プロセッサ、メモリ等のハードウェア資源の処理負荷及び使用量を効果的に低減できる。
なお、本実施形態では、仮視線31と仮想視線32,33とがなす角度θ1,θ2が指標値として用いられたが、指標値はこれ以外の値であってもよい。例えば、視線制御部14は、角度θ1の代わりに、角度θ1の水平成分(角度θ1)又は垂直成分(角度θ1)のみを用いて上記の判定を行ってもよい。すなわち、視線制御部14は、上述した角度θ1と閾値Thとを比較する代わりに、角度θ1の水平成分(角度θ1)又は垂直成分(角度θ1)と所定の閾値とを比較することにより、候補オブジェクトを抽出してもよい。同様に、視線制御部14は、角度θ2の代わりに、角度θ2の水平成分(角度θ2)又は垂直成分(角度θ2)のみを用いて上記の判定を行ってもよい。すなわち、視線制御部14は、上述した角度θ2と閾値Thとを比較する代わりに、角度θ2の水平成分(角度θ2)又は垂直成分(角度θ2)と所定の閾値とを比較することにより、候補オブジェクトを抽出してもよい。また、仮視線決定部13が、上述したユーザの頭部及び目の動作情報に基づいて、ユーザの視線方向だけでなく視点(注視点)も含む仮視線を決定する場合には、当該視点とオブジェクト(オブジェクトに設定された候補点P)との距離(例えば、仮想空間V上における直線距離)が指標値として用いられてもよい。
また、視線制御部14は、候補オブジェクトが複数存在する場合、各候補オブジェクトの種別及び状態の少なくとも一方に基づいて、一の候補オブジェクトを選択し、当該一の候補オブジェクトを向くようにユーザオブジェクト21の視線を制御する。上記構成により、候補オブジェクトが複数存在する場合に、候補オブジェクトの種別及び状態の少なくとも一方に基づいて、ユーザオブジェクト21の視線を向ける先となる候補オブジェクトを適切に決定することができる。
また、動くオブジェクト(仮想空間V上で動いている物体を示す物体オブジェクト22)には、静止オブジェクト(仮想空間V上で動いていない物体を示す物体オブジェクト22)よりも高い優先度が設定されており、視線制御部14は、候補オブジェクトが複数存在する場合、優先度に基づいてユーザオブジェクト21の視線を向ける先となる候補オブジェクトを決定し、決定された候補オブジェクトを向くようにユーザオブジェクト21の視線を制御する。上記構成によれば、動くオブジェクトは静止オブジェクトよりもユーザの目を惹く可能性が高いという本発明者の知見に基づき、ユーザが注目している可能性が高いオブジェクトを向くように、ユーザオブジェクト21の視線を制御することができる。なお、同じ優先度が設定された複数の候補オブジェクト(すなわち、オブジェクトの種別及び状態が同一の候補オブジェクト同士)が存在する場合には、例えば、視線制御部14は、これらの複数の候補オブジェクトのうち上述した指標値(角度θ1,θ2)が最小の候補オブジェクトを、ユーザオブジェクト21の視線を向ける先として選択してもよい。上記処理によっても一の候補オブジェクトが決定されない場合には、視線制御部14は、例えば比較処理が行われた順序等の任意の指標に基づいて一の候補オブジェクトを決定してもよい。このような処理により、ユーザオブジェクト21の視線を向ける先となる候補オブジェクトを適切に決定することができる。
また、発話オブジェクト(発話しているユーザに対応付けられたユーザオブジェクト21)には、非発話オブジェクト(発話していないユーザに対応付けられたユーザオブジェクト21)よりも高い優先度が設定されている。上記構成によれば、発話オブジェクトは非発話オブジェクトよりもユーザの目を惹く可能性が高いという本発明者の知見に基づき、ユーザが注目している可能性が高いオブジェクトを向くように、ユーザオブジェクト21の視線を制御することができる。
なお、上記実施形態の説明に用いたブロック図(図1)は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線で)接続し、これら複数の装置により実現されてもよい。
例えば、上記実施形態における情報処理装置10は、上記実施形態の情報処理装置10の処理を行うコンピュータとして機能してもよい。図9は、本実施形態に係る情報処理装置10のハードウェア構成の一例を示す図である。上述の情報処理装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、及びバス1007等を含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニット等に読み替えることができる。情報処理装置10のハードウェア構成は、図9に示された各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
情報処理装置10における各機能は、プロセッサ1001、メモリ1002等のハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタ等を含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、及び/又はデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、情報処理装置10の視線制御部14は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、図1に示した他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)等の少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)等と呼ばれてもよい。メモリ1002は、上記実施形態に係る情報処理方法(例えば図3及び図4のフローチャートに示される手順等)を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュール等を保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)等の光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップ等の少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバ、その他の適切な媒体であってもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等ともいう。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサ等)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプ等)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001及びメモリ1002等の各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、情報処理装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更された態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
[変形例1]
例えば、視線制御部14は、オブジェクトの大きさに基づいて指標値又は閾値を調整してもよい。図7は、仮想空間Vにおいて、幅がw1、高さがh1の矩形状の物体オブジェクト22Cと、幅がw2(<w1)、高さがh2(<h1)の矩形状の物体オブジェクト22Dとが互いに隣接している状態を示している。なお、図7は、視線制御の対象となるユーザオブジェクト21から見た仮想空間Vの画像(視界)を概略的に示している。ここで、物体オブジェクト22C,22Dには、それぞれの中心点に候補点Pが設定されている。また、この例では、上記ユーザオブジェクト21の仮視線31は視点(注視点)P0を示す情報を含んでおり、視線制御部14は、視点P0と各オブジェクトの候補点Pとの距離d1,d2を上記実施形態で説明した指標値として使用する。
視点P0と物体オブジェクト22Cの候補点Pとの距離d1、及び視点P0と物体オブジェクト22Dの候補点Pとの距離d2について、「d1>Th」と「d2<Th」とが成立する場合、物体オブジェクト22Dが、ユーザオブジェクト21の視線を向ける先の候補オブジェクトとして決定される。また、「d1<Th」と「d2<Th」とが成立する場合にも、「d1>d2」であるため、物体オブジェクト22Dがユーザオブジェクト21の視線を向ける先の候補オブジェクトとして決定される。しかし、図7に示されるように、ユーザオブジェクト21の視点P0は実際には物体オブジェクト22Cの縁部に位置している。すなわち、ユーザオブジェクト21に対応するユーザは、物体オブジェクト22Dではなく、物体オブジェクト22Cを見ている可能性が高い。
そこで、このような場合に物体オブジェクト22Cがユーザオブジェクト21の視線を向ける先の候補オブジェクトとして適切に決定されるように、例えば、視線制御部14は、指標値となるd1,d2を以下のように調整してもよい。すなわち、視線制御部14は、例えば下記(式1)及び(式2)により、物体オブジェクト22C,22Dの大きさ(ここでは、物体オブジェクト22C,22Dの半径(対角線の長さの半分))に基づいて、以下のように調整された指標値d1new,d2newを算出する。
d1new=d1−√(w1+h1)/2 …(式1)
d2new=d2−√(w2+h2)/2 …(式2)
このように調整された指標値d1newを用いることにより、「d1new<Th」が成立する可能性が高くなる。また、物体オブジェクト22Cの上記半径「√(w1+h1)/2」は、物体オブジェクト22Dの上記半径「√(w2+h2)/2」よりも大きく、「d1new<d2new」が成立する。したがって、「d1new<Th」と「d2new<Th」とが成立する場合であっても、物体オブジェクト22Cが物体オブジェクト22Dよりも優先的に、ユーザオブジェクト21の視線を向ける先の候補オブジェクトとして決定される。
なお、上記例において、指標値d1,d2ではなく、物体オブジェクト22C,22Dに対して個別に閾値を調整してもよい。例えば、視線制御部14は、物体オブジェクト22Cの指標値d1との比較を、閾値Thではなく下記(式3)により算出される閾値Th1を用いて行ってもよい。同様に、視線制御部14は、物体オブジェクト22Dの指標値d2との比較を、閾値Thではなく下記(式4)により算出される閾値Th2を用いて行ってもよい。
Th1=Th+√(w1+h1)/2 …(式3)
Th2=Th+√(w2+h2)/2 …(式4)
このように調整された閾値Th1,Th2を用いることにより、物体オブジェクト22のサイズ(ここでは上記半径)が大きい程、判定条件が緩和されることになる。すなわち、物体オブジェクト22のサイズが大きい程、候補オブジェクトとして抽出されるための条件(「d1≦Th1」又は「d2≦Th2」)を満たす可能性が高くなる。なお、「d1≦Th1」及び「d2≦Th2」の両方が成立する場合、視線制御部14は、例えば「d1−Th1」と「d2−Th2」とを比較することにより、ユーザオブジェクト21の視線を向ける先の候補オブジェクトを決定してもよい。具体的には、視線制御部14は、「d1−Th1<d2−Th2」である場合には、物体オブジェクト22Cをユーザオブジェクト21の視線を向ける先の候補オブジェクトとして決定し、「d1−Th1>d2−Th2」である場合には、物体オブジェクト22Dをユーザオブジェクト21の視線を向ける先の候補オブジェクトとして決定すればよい。このようにすれば、上述した指標値d1new,d2newを用いる場合と同様の制御結果が得られる。
変形例1によれば、オブジェクト(ここでは物体オブジェクト22)の大きさを考慮して指標値(ここでは、d1,d2)又は閾値Thを調整し、調整後の指標値又は閾値に基づいて候補オブジェクトの判定を行うことができる。その結果、より適切なオブジェクト(候補点P)を向くように、ユーザオブジェクト21の視線を制御することが可能となる。
なお、上述したような指標値又は閾値の調整を行う代わりに、予め各オブジェクト(物体オブジェクト22)に対して、当該オブジェクトの大きさに応じた数の候補点Pが設定されてもよい。例えば、候補点Pを一定間隔毎に設定した場合、物体オブジェクト22のサイズが大きい程、多くの候補点Pが設定されることになる。その結果、図7の例のように物体オブジェクト22の中心点にのみ候補点Pが設定される場合の上述したような問題を回避できる。ただし、視線制御部14の処理において、候補点P毎に比較が必要となるため、候補点の数を増やした場合には、比較回数が増大する。一方、上述したような指標値又は閾値の調整を行った場合には、候補点Pの数をなるべく少なくして視線制御部14の処理量を抑制しつつ、候補オブジェクトを適切に決定できる。
[変形例2]
また、視線制御部14は、ユーザオブジェクト21の視線を向ける先として決定された候補オブジェクトが動くオブジェクトである場合、当該候補オブジェクトの移動態様に基づいて、ユーザオブジェクト21の視線を当該候補オブジェクトに向けるか否かを決定してもよい。例えば、動くオブジェクトである候補オブジェクトが、単位時間当たりに一定の距離以上移動する移動態様である場合(例えば、所定の閾値距離を所定の閾値速度以上で移動する場合)、ユーザの動作情報から得られた視線(仮視線31)と調整後の視線(当該候補オブジェクトを向く視線)とが瞬間的に大きく乖離してしまうことになる。また、極めて高速に移動するオブジェクトの動きに実際のユーザの視線が完全に追従することは、ほとんどない(又は不可能である)。
そこで、視線制御部14は、候補オブジェクトの移動態様が上記のような条件を満たす場合には、ユーザオブジェクト21の視線を当該候補オブジェクトに向けないようにしてもよい。すなわち、視線制御部14は、ユーザオブジェクト21の視線を当該候補オブジェクトに追従させないようにしてもよい。この場合、視線制御部14は、例えば過去所定期間における当該候補オブジェクトの位置から、直近の候補オブジェクトの移動範囲を導出し、当該移動範囲の中心点にユーザオブジェクト21の視点を固定してもよい。
変形例2によれば、候補オブジェクトの移動態様に基づいて、ユーザオブジェクト21の視線が不自然な視線(上記例では、高速移動している候補オブジェクトに完全追従するような視線)となることを抑制することができる。
[変形例3]
また、視線制御部14は、仮視線31に基づいて仮想空間Vの一部を構成する範囲を決定し、当該範囲に含まれるオブジェクトを抽出し、仮視線31と抽出されたオブジェクトとの位置関係に基づいて、ユーザオブジェクト21の視線を制御してもよい。図8は、仮視線31に基づいて決定されるオブジェクトの抽出範囲の一例を示している。図8の例では、視線制御部14は、仮視線31の視点P0から半径rの球状領域を、上述した範囲Rとして決定している。この例では、当該範囲Rに含まれるユーザオブジェクト21C及び物体オブジェクト22E,22F,22G(これらの候補点P)が、ユーザオブジェクト21の視線を向ける先の候補として抽出される。そして、これ以外のオブジェクトについては、ユーザオブジェクト21の視線を向ける先の候補から除外され、上述した閾値の比較等の処理は行われない。
変形例3によれば、仮想空間V上に複数のオブジェクトが存在する場合に、計算対象となるオブジェクト(ユーザオブジェクト21の視線を向ける先の候補)を絞り込むことにより、視線制御部14の計算量を抑制することができる。その結果、処理の高速化、使用メモリ量の削減等を図ることができる。なお、上述した範囲Rは一例であり、例えば、仮視線31の視点P0の先に発話オブジェクトが存在する場合には、当該発話オブジェクトの候補点Pを中心とする半径rの球状領域等が、上述した範囲Rの代わりに用いられてもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャート等は、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能等を意味するよう広く解釈されるべきである。
また、ソフトウェア、命令等は、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)等の有線技術及び/又は赤外線、無線及びマイクロ波等の無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報及び信号等は、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップ等は、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
また、本明細書で説明した情報、パラメータ等は、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
上述したパラメータに使用される名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」との両方を意味する。
「含む(include)」、「含んでいる(including)」、及びそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「又は(or)」及び「或いは(or)」は、排他的論理和ではないことが意図される。
本明細書において、文脈又は技術的に明らかに1つのみしか存在しない装置であることが示されていなければ、複数の装置をも含むものとする。
本明細書で使用する「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「決定」したとみなす事等を含み得る。また、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「決定」したとみなす事等を含み得る。また、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)等した事を「決定」したとみなす事を含み得る。つまり、「決定」は、何らかの動作を「決定」したとみなす事を含み得る。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
1…HMD(表示装置)、10…情報処理装置、12…動作情報取得部、13…仮視線決定部、14…視線制御部、15…画像生成部、21,21A,21B,21C…ユーザオブジェクト、22,22A,22B,22C,22D,22E,22F,22G…物体オブジェクト、31…仮視線、θ1,θ2…角度(指標値)、V…仮想空間。

Claims (9)

  1. 表示装置を装着したユーザに対応付けられた仮想空間上のユーザオブジェクトの動作を制御する情報処理装置であって、
    実空間で検出された前記ユーザの頭部及び目の動作情報を取得する動作情報取得部と、
    前記動作情報に基づいて、前記ユーザオブジェクトの仮視線を決定する仮視線決定部と、
    前記仮視線と前記仮想空間上の一以上のオブジェクトとの位置関係に基づいて、前記ユーザオブジェクトの視線を制御する視線制御部と、
    前記視線制御部により制御された前記ユーザオブジェクトの視線が反映された画像であって、前記表示装置に表示される画像を生成する画像生成部と、
    を備える情報処理装置。
  2. 前記視線制御部は、前記仮視線と前記オブジェクトとの距離を示す指標値を算出して前記指標値と所定の閾値とを比較し、前記指標値が前記閾値以下となる前記オブジェクトである候補オブジェクトが存在する場合、前記候補オブジェクトを向くように前記ユーザオブジェクトの視線を制御する、
    請求項1に記載の情報処理装置。
  3. 前記視線制御部は、前記候補オブジェクトが複数存在する場合、各前記候補オブジェクトの種別及び状態の少なくとも一方に基づいて、一の前記候補オブジェクトを選択し、当該一の前記候補オブジェクトを向くように前記ユーザオブジェクトの視線を制御する、
    請求項2に記載の情報処理装置。
  4. 前記仮想空間上で動いている物体を示すオブジェクトには、前記仮想空間上で動いていない物体を示すオブジェクトよりも高い優先度が設定されており、
    前記視線制御部は、前記候補オブジェクトが複数存在する場合、前記優先度に基づいて前記ユーザオブジェクトの視線を向ける先となる前記候補オブジェクトを決定し、決定された前記候補オブジェクトを向くように前記ユーザオブジェクトの視線を制御する、
    請求項3に記載の情報処理装置。
  5. 発話しているユーザに対応付けられたオブジェクトには、発話していないユーザに対応付けられたオブジェクトよりも高い優先度が設定されており、
    前記視線制御部は、前記候補オブジェクトが複数存在する場合、前記優先度に基づいて前記ユーザオブジェクトの視線を向ける先となる前記候補オブジェクトを決定し、決定された前記候補オブジェクトを向くように前記ユーザオブジェクトの視線を制御する、
    請求項3に記載の情報処理装置。
  6. 前記視線制御部は、前記オブジェクトの大きさに基づいて前記指標値又は前記閾値を調整する、
    請求項2〜5のいずれか一項に記載の情報処理装置。
  7. 前記視線制御部は、前記候補オブジェクトが前記仮想空間上で動いているオブジェクトである場合、当該候補オブジェクトの移動態様に基づいて、前記ユーザオブジェクトの視線を当該候補オブジェクトに向けるか否かを決定する、
    請求項2〜6のいずれか一項に記載の情報処理装置。
  8. 前記視線制御部は、前記ユーザオブジェクトに対応付けられた前記ユーザが発話中であるか否かを判定し、前記ユーザが発話中である場合には、発話中のユーザに対応付けられたユーザオブジェクトについて予め定められた制御内容に基づいて、前記ユーザオブジェクトの視線を制御する、
    請求項1〜7のいずれか一項に記載の情報処理装置。
  9. 前記視線制御部は、前記仮視線に基づいて前記仮想空間の一部を構成する範囲を決定し、前記範囲に含まれる前記オブジェクトを抽出し、前記仮視線と抽出された前記オブジェクトとの位置関係に基づいて、前記ユーザオブジェクトの視線を制御する、
    請求項1〜8のいずれか一項に記載の情報処理装置。
JP2019562896A 2017-12-26 2018-11-30 情報処理装置 Active JP6970757B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017249037 2017-12-26
JP2017249037 2017-12-26
PCT/JP2018/044297 WO2019130992A1 (ja) 2017-12-26 2018-11-30 情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2019130992A1 true JPWO2019130992A1 (ja) 2020-12-17
JP6970757B2 JP6970757B2 (ja) 2021-11-24

Family

ID=67067238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019562896A Active JP6970757B2 (ja) 2017-12-26 2018-11-30 情報処理装置

Country Status (3)

Country Link
US (1) US11282481B2 (ja)
JP (1) JP6970757B2 (ja)
WO (1) WO2019130992A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019154511A1 (en) * 2018-02-09 2019-08-15 Pupil Labs Gmbh Devices, systems and methods for predicting gaze-related parameters using a neural network
US11393251B2 (en) 2018-02-09 2022-07-19 Pupil Labs Gmbh Devices, systems and methods for predicting gaze-related parameters
EP3750028B1 (en) 2018-02-09 2022-10-19 Pupil Labs GmbH Devices, systems and methods for predicting gaze-related parameters
EP3979896A1 (en) 2019-06-05 2022-04-13 Pupil Labs GmbH Devices, systems and methods for predicting gaze-related parameters
CN110968194A (zh) * 2019-11-28 2020-04-07 北京市商汤科技开发有限公司 交互对象的驱动方法、装置、设备以及存储介质
JP7380365B2 (ja) * 2020-03-19 2023-11-15 マツダ株式会社 状態推定装置
US20240069702A1 (en) * 2021-01-21 2024-02-29 Sony Group Corporation Information processing apparatus and information processing method
US11681364B1 (en) * 2021-06-29 2023-06-20 Amazon Technologies, Inc. Gaze prediction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153146A (ja) * 1995-09-28 1997-06-10 Toshiba Corp 仮想空間表示方法
JPH11161815A (ja) * 1997-07-02 1999-06-18 Sega Enterp Ltd 立体視の表示装置及びその画像処理を行うプログラムを記録した記録媒体
JP2000020753A (ja) * 1998-07-07 2000-01-21 Mitsubishi Electric Corp 仮想空間制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6706473B2 (ja) 2015-09-14 2020-06-10 株式会社コーエーテクモゲームス 情報処理装置、表示制御方法、及び表示制御プログラム
US10762688B2 (en) * 2016-02-17 2020-09-01 Sony Corporation Information processing apparatus, information processing system, and information processing method
GB2571027B (en) * 2016-11-24 2022-08-10 Groove X Inc Autonomously acting robot that changes pupil
US10438394B2 (en) * 2017-03-02 2019-10-08 Colopl, Inc. Information processing method, virtual space delivering system and apparatus therefor
JP6276882B1 (ja) * 2017-05-19 2018-02-07 株式会社コロプラ 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
CN110998718A (zh) * 2017-08-01 2020-04-10 索尼公司 信息处理设备和信息处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153146A (ja) * 1995-09-28 1997-06-10 Toshiba Corp 仮想空間表示方法
JPH11161815A (ja) * 1997-07-02 1999-06-18 Sega Enterp Ltd 立体視の表示装置及びその画像処理を行うプログラムを記録した記録媒体
JP2000020753A (ja) * 1998-07-07 2000-01-21 Mitsubishi Electric Corp 仮想空間制御装置

Also Published As

Publication number Publication date
US11282481B2 (en) 2022-03-22
JP6970757B2 (ja) 2021-11-24
US20200335065A1 (en) 2020-10-22
WO2019130992A1 (ja) 2019-07-04

Similar Documents

Publication Publication Date Title
JP6970757B2 (ja) 情報処理装置
US11366516B2 (en) Visibility improvement method based on eye tracking, machine-readable storage medium and electronic device
US11747618B2 (en) Systems and methods for sign language recognition
US10861242B2 (en) Transmodal input fusion for a wearable system
EP3612878B1 (en) Multimodal task execution and text editing for a wearable system
US10223832B2 (en) Providing location occupancy analysis via a mixed reality device
EP2972559B1 (en) Methods and apparatus for displaying images on a head mounted display
US9798517B2 (en) Tap to initiate a next action for user requests
KR20190038900A (ko) 단어 흐름 주석
CN110908501B (zh) 人工现实中防止视场遮挡的显示不透明度控制
JPWO2018155026A1 (ja) 情報処理装置、情報処理方法、及びプログラム
KR20200040716A (ko) 시선 추적을 이용한 시인성 개선 방법, 저장 매체 및 전자 장치
US20180285645A1 (en) Setting a personal status using augmented reality
KR20240096625A (ko) Ar 디바이스 및 ar 디바이스 제어 방법
NZ792193A (en) Sensory eyewear

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211029

R150 Certificate of patent or registration of utility model

Ref document number: 6970757

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150