JP7176520B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP7176520B2
JP7176520B2 JP2019535599A JP2019535599A JP7176520B2 JP 7176520 B2 JP7176520 B2 JP 7176520B2 JP 2019535599 A JP2019535599 A JP 2019535599A JP 2019535599 A JP2019535599 A JP 2019535599A JP 7176520 B2 JP7176520 B2 JP 7176520B2
Authority
JP
Japan
Prior art keywords
display
virtual object
user
information processing
processing apparatus
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.)
Active
Application number
JP2019535599A
Other languages
English (en)
Other versions
JPWO2019031005A1 (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.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
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 Sony Corp, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2019031005A1 publication Critical patent/JPWO2019031005A1/ja
Application granted granted Critical
Publication of JP7176520B2 publication Critical patent/JP7176520B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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/363Graphics controllers
    • 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/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0686Adjustment of display parameters with two or more screen areas displaying information with different brightness or colours
    • 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/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • 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/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/14Detecting light within display terminals, e.g. using a single or a plurality of photosensors
    • G09G2360/144Detecting light within display terminals, e.g. using a single or a plurality of photosensors the light being ambient light

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Studio Devices (AREA)

Description

本開示は、情報処理装置、情報処理方法及びプログラムに関する。
近年、情報処理技術および表示技術の発展に伴い、現実感のある映像を表示する技術が提供されるようになってきている。このような技術として、拡張現実(AR:Augmented Reality)技術がある。AR技術は、実世界に付加的な情報を重畳してユーザに提示する技術であり、AR技術によりユーザに提示される情報は、アノテーションとも呼ばれ、テキスト、アイコン又はアニメーション等、様々な形態の仮想オブジェクトとして可視化される。
上述のようなAR技術は、例えば、ユーザの頭部等に装着されるヘッドマウントディスプレイ(Head Mounted Display:以下、「HMD」と称する)等により具現化される。詳細には、HMDは、ユーザに装着された際にユーザの眼前に位置するディスプレイを有し、ユーザの眼前に上述の仮想オブジェクトを表示する。このようなHMDには、上記ディスプレイが非透過である非透過型と、上記ディスプレイが透過する透過型とがある。ディスプレイが透過型であった場合、上述の仮想オブジェクトは、ディスプレイを介してユーザが視認する実空間に重畳されるようにリアルタイムで表示される。AR技術によれば、このように仮想オブジェクトを表示することにより、ユーザに対して、仮想オブジェクトをあたかも実空間に存在する現実物体のように知覚させることができる。例えば、このような透過型のディスプレイを用いたHMDは、下記の特許文献1及び2に開示されている。さらに、これらHMDは、ユーザの頭部等に装着されることから、コンパクトな形態を有している。
特開2016-208380号公報 特開2016-157458号公報
一般的に、情報処理装置に搭載されるバッテリの容量には制限があり、それに伴いプロセッサ等の処理能力についても制限がある。従って、情報処理装置において、仮想オブジェクトの表示処理量が増加し、プロセッサの処理能力に余裕がなくなった場合、仮想オブジェクトの表示フレームレート等が低下することがある。なお、上述の仮想オブジェクトの表示処理量とは、仮想オブジェクトを表示する際に、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)において行われる処理の量を意味する。
そこで、本開示では、仮想オブジェクトの表示フレームレートの低下を避けることが可能な、新規且つ改良された情報処理装置、情報処理方法及びプログラムを提案する。
本開示によれば、ユーザに提示される仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させる制御部を備える、情報処理装置が提供される。
また、本開示によれば、ユーザに提示される仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させることを含む、情報処理方法が提供される。
さらに、本開示によれば、コンピュータを、ユーザに提示される仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させる制御部として機能させる、プログラムが提供される。
以上説明したように本開示によれば、仮想オブジェクトの表示フレームレートの低下を避けることが可能な情報処理装置、情報処理方法及びプログラムを提供することができる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の第1の実施形態に係る情報処理装置1の概要構成を説明するための図である。 同実施形態に係る情報処理装置1の詳細構成の一例を示すブロック図である。 同実施形態に係る仮想オブジェクト800の表示例を説明するための説明図(その1)である。 同実施形態に係る仮想オブジェクト800の表示例を説明するための説明図(その2)である。 同実施形態に係る仮想オブジェクト800の表示例を説明するための説明図(その3)である。 同実施形態に係る処理フローを示すフローチャート(その1)である。 同実施形態に係る処理フローを示すフローチャート(その2)である。 同実施形態に係る処理の一例を説明するための説明図(その1)である。 同実施形態に係る処理の一例を説明するための説明図(その2)である。 本開示の第1の実施形態に係る処理フローを示すフローチャート(その1)である。 同実施形態に係る処理フローを示すフローチャート(その2)である。 同実施形態に係る処理の一例を説明するための説明図である。 同実施形態の変形例に係る処理の一例を説明するための説明図である。 本開示の第3の実施形態に係る仮想オブジェクト810の表示例を説明するための説明図である。 同実施形態に係る処理フローを示すフローチャートである。 同実施形態に係る処理の一例を説明するための説明図である。 同実施形態の変形例1に係る処理の一例を説明するための説明図である。 同実施形態の変形例2に係る処理の一例を説明するための説明図である。 同実施形態の変形例3に係る処理の一例を説明するための説明図である。 本開示の一実施形態に係る情報処理装置900のハードウェア構成の一例を示したブロック図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書及び図面において、実質的に同一又は類似の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一又は類似の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、類似する構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
なお、以下の説明においては、「表示フレームレート」は、仮想オブジェクトの表示において、単位時間あたりに処理されるフレーム数(コマ数)を意味する。また、「認識フレームレート」は、所定の情報を認識する処理において、単位時間あたりに当該情報を検出するサンプリング回数を意味する。
なお、説明は以下の順序で行うものとする。
1.本開示の実施形態に係る情報処理装置の概要構成
2.本開示の技術的背景
3.第1の実施形態
3.1.第1の実施形態に係る情報処理装置の詳細構成
3.2.第1の実施形態に係る仮想オブジェクトの表示例
3.3.第1の実施形態に係る情報処理方法
4.第2の実施形態
4.1.第2の実施形態に係る情報処理方法
4.2.第2の実施形態の変形例
5.第3の実施形態
5.1.第3の実施形態に係る情報処理方法
5.2.第3の実施形態の変形例
6.まとめ
7.ハードウェア構成について
8.補足
<<1.本開示の実施形態に係る情報処理装置の概要構成>>
まず、本開示の実施形態に係る情報処理装置の概要について、図1を参照して説明する。図1は、本実施形態に係る情報処理装置1の概要構成を説明するための図である。図1に示すように、本実施形態に係る情報処理装置1は、例えば、ユーザ700の頭部に装着される眼鏡型のHMDにより実現される。すなわち、情報処理装置1は、ユーザ700に装着されるウェアラブル装置である。装着時にユーザ700の眼前に位置する眼鏡レンズ部分に相当する表示部16は、眼鏡レンズ部分の外側を視認することができる透過型、又は、眼鏡レンズ部分の外側を視認することができない非透過型ディスプレイであってもよい。なお、以下の説明においては、透過型ディスプレイの表示部16を持つHMDを「スマートアイグラス」と呼ぶ。
本実施形態に係る情報処理装置1は、表示部16に仮想オブジェクトを表示することにより、ユーザ700の眼前に仮想オブジェクトを提示することができる。なお、以下の説明においては、仮想オブジェクトとは、ユーザ700によって実空間に存在する現実物体のように知覚することができる仮想物体のことを意味する。さらに、本実施形態においては、情報処理装置1の一例であるHMDは、ユーザ700の両眼に対して仮想オブジェクトを表示する形態に限定されるものではなく、ユーザ700の片眼に対してのみ仮想オブジェクトを表示する形態を持っていてもよい。
例えば、情報処理装置1がスマートアイグラスである場合を例に説明すると、図1に示すようにユーザ700の頭部に装着された情報処理装置1は、ユーザ700の眼前に、左眼用と右眼用の一対の表示部16A及び表示部16Bが配置されるような構成を持つ。これら表示部16A、16Bには、例えば透過型ディスプレイが用いられ、情報処理装置1は、当該透過型ディスプレイの透過率を制御することで、表示をスルー状態、すなわち透明又は半透明の状態にできる。また、表示部16A、16Bがスルー状態となることで、情報処理装置1を眼鏡のように常時装着する場合であっても、ユーザ700は周囲の実空間を知覚することが可能であるため、ユーザ700の通常の生活に支障を与えることはない。さらに、表示部16A及び16Bは、スルー状態のまま、テキストや図等の画像を表示することができ、すなわち、拡張現実(AR)として、実空間に仮想オブジェクトを重畳して表示することができる。このような透過型ディスプレイは、例えば、ハーフミラーや透明な導光板を用いて、透明な導光部等からなる虚像光学系をユーザ700の眼前に保持し、当該虚像光学系の内側に仮想オブジェクトを表示させる。
なお、本実施形態においては、非透過型ディスプレイを用いた場合には、表示部16は、情報処理装置1に設けられた外向きカメラ120(詳細については、後述する)で撮像された実空間の撮像画像を表示しつつ、当該実空間の撮像画像に仮想オブジェクトを重畳表示してもよい。
さらに、本実施形態においては、表示部16は、ユーザ700の網膜に直接的に映像を投影するLED(Light Emitting Diode)光源等として実現されてもよい。すなわち、情報処理装置1は、プロジェクション型のHMDとして実現されてもよい。
また、表示部16には、多様なコンテンツが仮想オブジェクトとして表示され得る。仮想オブジェクトは、例えば、ユーザ700へ提示される情報を模式的に示すマーカ(標識等)や、マップ、現実物体を模式的に示す形状(人物、電話機、看板等)等であってもよい。さらに、仮想オブジェクトは、映画やビデオクリップ等の動画コンテンツ、デジタルスチルカメラ等で撮像された静止画コンテンツ、電子書籍等のデータ等であってもよい。すなわち、仮想オブジェクトとして表示され得るコンテンツとしては、表示対象となり得るあらゆるものを想定することができる。
情報処理装置1には、ユーザ700の周囲の実空間を撮像する外向きカメラ120が設けられている。詳細には、当該外向きカメラ120は、ユーザ700が情報処理装置1を装着した状態において、ユーザ700が視認する方向の実空間を撮像範囲として撮像するように、情報処理装置1に設置されている。なお、外向きカメラ120が複数設けられている場合、これら外向きカメラ120による視差情報からデプス画像(距離画像)を得ることができることから、情報処理装置1は、周囲の環境の情報、例えば、実空間に存在する実物体の形状及び位置関係等を認識することができる。
さらに、図1には図示していないが、情報処理装置1には、装着時にユーザ700の表情等を撮像する内向きカメラ122(図2 参照)が設けられていてもよい。詳細には、内向きカメラ122は、ユーザ700が情報処理装置1を装着した状態において、ユーザ700の表情やユーザ700の両眼を撮像範囲として撮像するように、情報処理装置1に設置されている。なお、内向きカメラ122が複数設けられている場合、情報処理装置1は、これら内向きカメラ122によって得られた視差情報から、ユーザ700の眼球の位置、瞳孔の位置、視線の向き、及び動き等を精度よく認識することができる。
また、図1には図示していないが、情報処理装置1には、音声等を取得するマイクロフォン124(以下、「マイク」と示す。)(図2参照)等の各種センサが設けられていてもよい。さらに、図1には図示していないが、情報処理装置1にはスピーカ18(図2参照)が設けられていてもよい。例えば、スピーカ18は、ユーザ700の左右の耳に対応する1対のイヤホンスピーカにいって実現されてもよい。また、このように、情報処理装置1に同種のセンサが複数設けられていてもよい。
図1には図示していないが、情報処理装置1には、ユーザ700により入力操作を行うためのボタンやスイッチ等(操作入力部の一例)が設けられていてもよい。さらに、情報処理装置1に対するユーザ700の入力操作としては、ボタン等に対する操作だけでなく、音声による入力、手又は頭部によるジェスチャ入力、視線による入力等の様々な入力方式を選択することができる。なお、これら各種の入力方式による入力操作は、情報処理装置1に設けられた各種センサ等により取得されることができる。
なお、本実施形態においては、情報処理装置1の形態は図1に示す例に限定されるものではない。例えば、情報処理装置1は、ヘッドバンド型のHMDや、ヘルメットタイプ(例えば、ヘルメットのバイザー部分がディスプレイに相当する)のHMDであってもよい。すなわち、本実施形態においては、情報処理装置1は、ユーザ700に装着されることができるウェアラブル装置であり、装着時にユーザ700の眼前に位置する表示部16を有していれば、特にその形態は限定されるものではない。なお、上述のヘッドバンド型は、ユーザ700の頭部の全周を回るバンドで装着されるタイプのことを意味する。また、当該ヘッドハンド型には、ユーザ700の側頭部だけでなく頭頂部を通るバンドを設ける場合も含まれる。
なお、先に説明したように、以下の説明においては、情報処理装置1が透過型ディスプレイを持つスマートアイグラスと呼ばれるHMDである場合を例に挙げて説明する。
<<2.本開示の技術的背景>>
以上、本実施形態に係る情報処理装置1の概要について説明した。続いて、このような情報処理装置1における技術的背景を説明する。
先に説明したように、本実施形態に係る情報処理装置1は、実空間に仮想オブジェクトを重畳表示する。そして、ユーザ700と情報処理装置1との間のインタラクションは、重畳表示された仮想オブジェクトを介して行うことが可能である。より具体的には、情報処理装置1は、ユーザ700の眼前に仮想オブジェクトを表示することにより、ユーザ700に所定の情報を提示することができる。さらに、ユーザ700は、仮想オブジェクトに触れる等の動作を行うことにより、情報処理装置1に対して操作を行うことができる。
さらに、表示される仮想オブジェクトは、仮想オブジェクトを介したユーザ700と情報処理装置1とのリアルタイムのインタラクションの実現をすべく、好適な表示形態、表示位置、及び表示タイミング等を持って表示される。このように表示することにより、ユーザ700は、仮想オブジェクトをあたかも実空間に存在する現実物体のように知覚することができ、ユーザ700は、直感的に仮想オブジェジェクトを介して情報処理装置1から提供される情報を理解することができる。さらに、ユーザ700は、情報処理装置1に対するインタラクションの方法を、仮想オブジェクトを介して直感的に理解し、当該仮想オブジェクトを利用して情報処理装置1に対して容易に操作を行うことができる。
しかしながら、仮想オブジェクトが好適なタイミングで表示されない表示フレームレートの低下や、フレーム落ちのようなスムーズではない仮想オブジェクトの表示が生じた場合には、仮想オブジェクトによりユーザ700に与えられる体験は、混乱等を生じさせる。その結果、ユーザ700と情報処理装置1との間には、仮想オブジェクトを介したリアルタイムのインタラクションの実現が難しくなる。言い換えると、仮想オブジェクトを介したユーザ700と情報処理装置1との間におけるリアルタイムのインタラクションの実現のためには、表示フレームレートの低下等を避けることが求められる。なお、上述のフレーム落ちとは、例えば、仮想オブジェクトが、現実物体と異なり、不自然に断続的に表示されていることをユーザ700が知覚することができるような表示状態であることを意味する。「フレーム落ち」は、「コマ落ち」とも呼ばれ、本来表示されるべきフレームが表示されずにスキップして、次に表示されるべきフレームが表示されることにより起きる。また、以下の説明においては、表示フレームレートの低下に、上記フレーム落ちが含まれるものとする。
ところで、上述のようなHMD等からなる情報処理装置1は、ユーザ700の頭部に装着されることから、コンパクトな形態を有している。情報処理装置1をコンパクトな形態にするために、情報処理装置1に搭載されるバッテリの容量には制限があり、それに伴いプロセッサ等の処理能力や処理による発熱許容量等についても制限が生じる。例えば、上述のような情報処理装置1においては、仮想オブジェクトの表示処理量が増加し、情報処理装置1の処理能力に余裕がなくなった場合、表示フレームレートの低下が生じることがある。言い換えると、情報処理装置1の処理能力に余裕がない状況においては、表示フレームレートの低下やフレーム落ち等が生じることがある。このような場合、表示フレームレートの低下等に起因して、仮想オブジェクトによりユーザ700に与えられる体験は不快感や混乱を生じさせ、仮想オブジェクトを介したユーザ700と情報処理装置1との間におけるリアルタイムのインタラクションの実現が難しくなる。
上述した表示フレームレートの低下は、透過型ディスプレイを有するスマートアイグラスである情報処理装置1以外にも、非透過型ディスプレイを有するHMDである情報処理装置1でも生じ得る。例えば、このような情報処理装置1においては、外向きカメラ120により撮像された実空間の撮像画像をリアルタイムに表示部16に表示しつつ、仮想オブジェクトを上記撮像画像に重畳表示する際に、仮想オブジェクトの表示フレームレートの低下が生じ得る。
そこで、上述のような技術背景を鑑みて、本発明者らは、仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、仮想オブジェクトの表示詳細度を動的に変化させる本開示の実施形態に係る情報処理装置1を創作するに至った。詳細には、当該情報処理装置1は、仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知した場合には、仮想オブジェクトの表示詳細度を変化させて情報処理装置1の処理能力において余裕を確保することにより、仮想オブジェクトの表示フレームレートの低下を避ける。その結果、当該情報処理装置1によれば、仮想オブジェクトを介したユーザ700と情報処理装置1との間におけるリアルタイムのインタラクションを実現することができる。なお、以下の説明においては、表示詳細度は、表示解像度等の表示の精細さを示す指標の総称を意味する。
<<3.第1の実施形態>>
以上、本開示の技術的背景について説明した。続いて、本開示の第1の実施形態について説明する。本実施形態においては、情報処理装置1は、仮想オブジェクトの表示処理量として仮想オブジェクトの表示位置を検知し、検知した表示位置に応じて、仮想オブジェクトの表示詳細度として表示解像度(表示のおける画素密度の指標)やエフェクト処理(表示に対して行う加工処理、例えば、シェーディング処理等)を動的変化させる。
例えば、ユーザ700から遠い位置に仮想オブジェクトが表示される場合には、実空間に存在する現実物体と同様に、仮想オブジェクトは小さく表示される。一方、ユーザ700から近い位置に仮想オブジェクトが表示される場合には、実空間に存在する現実物体と同様に、仮想オブジェクトは大きく表示される。そして、仮想オブジェクトの大きさに従って情報処理装置1における表示処理量は変化する。例えば、大きな仮想オブジェクトを表示させる際、仮想オブジェクトの表示処理量が増加し、情報処理装置1の処理能力に余裕がない状況になった場合には、表示フレームレートの低下を生じることがある。そこで、本実施形態においては、仮想オブジェクトの表示フレームレートの低下を生じさせる状態、すなわち、仮想オブジェクトの表示フレームレートの低下の原因ともなる仮想オブジェクトの表示位置を検知する。さらに、本実施形態においては、検知した表示位置に応じて仮想オブジェクトの表示解像度を変化させる。言い換えると、本実施形態においては、仮想オブジェクトのユーザ700からの表示距離が第1の距離である場合には、上記表示距離が上記第1の距離よりも小さい第2の距離であるような他の仮想オブジェクトよりも、表示詳細度を大きくする。このようにすることで、本実施形態によれば、情報処理装置1の処理能力において余裕を確保し、仮想オブジェクトの表示フレームレートの低下を避ける。
なお、以下の説明においては、仮想オブジェクトがユーザ700に非常に近い位置に表示される場合(例えば、ユーザ700から仮想オブジェクトの表示位置までの距離が0.8m未満である場合)には、仮想オブジェクトによる視覚疲労や「映像酔い」を防ぐために、仮想オブジェクトを半透明化する、又は、消去するというエフェクト処理を行う。
<3.1.第1の実施形態に係る情報処理装置の詳細構成>
まずは、本実施形態に係る情報処理装置1の詳細構成について図2を参照して説明する。図2は、本実施形態に係る情報処理装置1の詳細構成の一例を示すブロック図である。図2に示すように、情報処理装置1は、制御部10、センサ部12、記憶部14、表示部16、スピーカ18、通信部20、及び操作入力部22を主に有する。以下に、情報処理装置1の各機能部の詳細について説明する。
(制御部10)
制御部10は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置1内の動作全般を制御する。制御部10は、例えばCPU、GPUといったマイクロプロセッサの電子回路によって実現される。また、制御部10は、使用するプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、及び適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)等を含んでいてもよい。例えば、制御部10は、仮想オブジェクトの表示位置等に応じて、仮想オブジェクトの表示解像度等を動的に変化させるように制御する。詳細には、本実施形態に係る制御部10は、図2に示すように、情報取得部100、表示パラメータ計算部102、表示形式判断部104、及び出力制御部106として機能することができる。以下に、制御部10の各ブロックの詳細について説明する。
-情報取得部100-
情報取得部100は、後述するセンサ部12により検知された検知結果を用いてユーザ700又は当該ユーザ700の周囲の各種状態に関する情報を取得することができる。具体的には、情報取得部100は、例えば、ユーザ700の姿勢や状態を認識するユーザ姿勢認識エンジン、ユーザ700周辺の実空間におけるデプス情報を認識するデプス認識エンジン、ユーザ700の位置を同定するSLAM(Simultaneous Localization And Mapping)認識エンジンを含むことができる。さらに、情報取得部100は、ユーザ700の視線検知を行う視線認識エンジン、ユーザ700又はユーザ700の周囲の環境音の認識を行う音声認識エンジン、及び、情報処理装置1(ユーザ700)の絶対位置を認識する位置認識エンジン等を含むこともできる。また、情報取得部100は、実空間における現実物体を認識する実オブジェクト認識エンジン等を含んでもよい。なお、これらの認識エンジンはあくまでも一例であり、本実施形態はこれに限定されるものではない。
詳細には、ユーザ姿勢認識エンジンは、センサ部12により検知された検知結果を用いて、ユーザ700の頭部等の姿勢(身体に対する顔の向き、又は、傾きを含む)を認識する。例えば、ユーザ姿勢認識エンジンは、外向きカメラ120により撮像された撮像画像や、後述するジャイロセンサ126により取得されたジャイロ情報等を利用して、ユーザ700の姿勢等を認識する。また、ユーザ姿勢認識エンジンは、後述する加速度センサ128により取得された加速度情報や、後述する方位センサにより取得された方位情報等を利用して、ユーザ700の姿勢等を認識してもよい。なお、ユーザ700の姿勢等の認識アルゴリズムは一般的に知られているアルゴリズムを用いることができ、本実施形態においては特に限定されるものではない。
デプス認識エンジンは、センサ部12により検知された検知結果を用いて、ユーザ700の周囲の実空間におけるデプス情報を認識する。具体的には、デプス認識エンジンは、ToF(Time of Flight)方式を利用して、現実物体からの反射光の戻り時間の測定結果に基づいて、実空間におけるセンサ部12と現実物体との間の距離及び凹凸等の形状情報(デプス情報)を認識することができる。また、デプス認識エンジンは、複数の外向きカメラ120による異なる視点から同一の実空間を撮像対象とした複数の撮像画像上での現実物体の違い(両眼視差)に基づいて、実空間における現実物体の位置及び形状を認識してもよい。なお、デプス情報の認識アルゴリズムについては一般的に知られているアルゴリズムを用いることができ、本実施形態においては特に限定されるものではない。
SLAM認識エンジンは、センサ部12により検知された検知結果を用いて、情報処理装置1(ユーザ700)の自己位置の推定とユーザ700の周囲の実空間の地図作成を同時に行い、当該実空間における情報処理装置1の位置を同定する。例えば、SLAM認識エンジン(特に、Visual SLAM)は、外向きカメラ120により撮像された撮像画像に基づき、撮像された現実物体の3次元形状を逐次的に復元する。そして、SLAM認識エンジンは、復元結果を外向きカメラ120の位置及び姿勢の検知結果と関連付けることで、ユーザ700の周囲の実空間の地図の作成と、当該実空間における外向きカメラ120(ユーザ700)の位置及び姿勢の推定とを行う。なお、外向きカメラ120の位置及び姿勢については、例えば、センサ部12に設けられた加速度センサ128等の各種センサにより検知された検知結果に基づき、相対的な変化を示す情報として推定することも可能である。また、SLAM認識のアルゴリズムについては一般的に知られているアルゴリズムを用いることができ、本実施形態においては特に限定されるものではない。
なお、情報取得部100は、上述したデプス認識エンジンの認識結果及びSLAM認識エンジンの認識結果の両方に基づいて、空間認識(空間把握)を行い、ユーザ700の周囲の3次元の実空間における情報処理装置1(ユーザ700)の詳細位置を認識することもできる。
視線認識エンジンは、センサ部12により検知された検知結果を用いて、ユーザ700の視線検知を行う。例えば、視線認識エンジンは、内向きカメラ122により取得したユーザ700の眼球の撮像画像を解析して、ユーザ700の視線方向を認識する。なお、本実施形態においては、視線検知のアルゴリズムについては特に限定されるものではないが、例えば、目頭と虹彩の位置関係、又は、角膜反射と瞳孔の位置関係に基づいて、ユーザ700の視線方向を認識することが可能である。
音声認識エンジンは、センサ部12により検知された検知結果を用いて、ユーザ700、又は、ユーザ700の周囲の環境音の認識を行う。例えば、音声認識エンジンは、後述するマイク124により取得した収音情報に対してノイズ除去や音源分離等を行い、音声認識、形態素解析、音源認識、又は、騒音レベルの認識等を行うことが可能である。また、音声認識エンジンは、認識された音声情報から、所定の文言を抽出してもよい。
位置認識エンジンは、センサ部12により検知された検知結果を用いて、情報処理装置1(ユーザ700)の絶対位置を認識する。例えば、位置認識エンジンは、後述する位置測位部132により測位された位置情報、及び、予め取得した地図情報に基づいて、情報処理装置1の場所(例えば駅、学校、家等)を認識することができる。
実オブジェクト認識エンジンは、外向きカメラ120等により撮像された撮像画像等に基づいて、現実物体を認識する機能を有する。例えば、実オブジェクト認識エンジンは、外向きカメラ120により撮像された撮像画像から計算される現実物体の特徴量を、予め登録された現実物体の特徴量と照合することにより、現実物体の種類等を認識する。なお、上記特徴量は、例えば、SIFT(Scale-Invariant Feature Transform)法、又はRandom Ferns法などの公知の特徴量算出技術によって算出することができる。
なお、情報取得部100は、情報処理装置1における処理の状態を示す装置プロファイル(例えば、表示処理速度、センサ部12の検知状態、上述した各種認識エンジンにおける認識フレームレート等)を取得してもよい。さらに、情報取得部100は、仮想オブジェクトの表示を行うアプリケーションで定義された、仮想オブジェクトの表示位置、表示面積、表示個数、表示形態(例えば、仮想オブジェクトとして表示されるコンテンツの種別、表示される仮想オブジェクトの移動速度等)を取得してもよい。
-表示パラメータ計算部102-
表示パラメータ計算部102は、仮想オブジェクトの表示処理量の指標等を算出する。例えば、表示パラメータ計算部102は、情報取得部100が取得した、仮想オブジェクトの表示を行うアプリケーションで定義された、仮想オブジェクトの表示位置を用いて、ユーザ700からの仮想オブジェクトの表示位置までの距離を算出する。なお、本実施形態においては、表示パラメータ計算部102は、情報取得部100が取得した装置プロファイルを用いて、仮想オブジェクトの表示フレームレート等のような制御部10における処理の状態を示す指標等を算出してもよい。
-表示形式判断部104-
表示形式判断部104は、表示パラメータ計算部102による算出結果に基づいて、仮想オブジェクトの表示詳細度(例えば、解像度等)を設定する。さらに、表示形式判断部104は、表示パラメータ計算部102による算出結果に基づいて、仮想オブジェクトに対して行う表示エフェクト処理(例えば、透明化、テクスチャ変更等)を設定する。なお、表示形式判断部104が表示詳細度等を設定する際に上記算出結果と比較する閾値等は、事前に仮想オブジェクトを表示する試験を行い、その表示により生じる、情報処理装置1における処理の負荷や、ユーザ700が感じる表示品質に基づいて決定される。
-出力制御部106-
出力制御部106は、後述する表示部16に対して、表示形式判断部104の決定に基づいて仮想オブジェクトを表示させるように制御を行う。
(センサ部12)
センサ部12は、ユーザ700又はユーザ700の周辺環境(実空間)に関する各種情報を取得する機能を有する。例えば、センサ部12は、図2に示されるように、外向きカメラ120、内向きカメラ122、マイク124、ジャイロセンサ126、加速度センサ128、方位センサ130、位置測位部132、及び生体センサ134を主に含む。なお、上述したセンサは一例であり、本実施形態はこれに限定されるものではない。また、上述した各種センサは、センサ部12にそれぞれ複数設けられていてもよい。以下に、センサ部12に含まれる各センサの詳細について説明する。
-外向きカメラ120及び内向きカメラ122-
先に説明したように、外向きカメラ120はユーザ700の周囲の実空間を撮像し、内向きカメラ122はユーザ700の表情等を撮像し、撮像情報を上述の制御部10に出力する。詳細には、外向きカメラ120及び内向きカメラ122は、撮像レンズ、絞り、ズームレンズ、及びフォーカスレンズ等により構成されるレンズ系、当該レンズ系に対してフォーカス動作やズーム動作を行わせる駆動系を有する。さらに、外向きカメラ120及び内向きカメラ122は、上記レンズ系で得られる撮像光を光電変換して撮像信号を生成する固体撮像素子アレイ等をそれぞれ有する。なお、当該固体撮像素子アレイは、例えばCCD(Charge Coupled Device)センサアレイや、CMOS(Complementary Metal Oxide Semiconductor)センサアレイにより実現されてもよい。
-マイク124-
マイク124は、ユーザ700の音声や周囲の環境音を収音し、収音した音声情報を制御部10に出力する。例えば、マイク124は、ユーザ700が発声した指示を収音し、制御部10に出力する。例えば、制御部10は、マイク124から出力された音声情報を解析することにより、ユーザ700の指示を認識することができる。
-ジャイロセンサ126及び加速度センサ128-
ジャイロセンサ126は、例えば、3軸ジャイロセンサにより実現され、ユーザ700の運動による角速度(回転速度)を検知する。また、加速度センサ128は、例えば、3軸加速度センサ(Gセンサとも呼ばれる)により実現され、ユーザ700の運動による加速度を検知する。これらのセンサによる検知結果により、ユーザ700の動作を認識することができる。
-方位センサ130及び位置測位部132-
方位センサ130は、例えば、3軸地磁気センサ(コンパス)により実現され、絶対方向(方位)を検知する。なお、ここで、絶対方位とは、実空間における世界座標系(東西南北)における方位のことをいう。
位置測位部132は、外部からの取得信号に基づいて情報処理装置1(ユーザ700)の絶対位置を検知する。なお、ここで、絶対位置とは、実空間における世界座標系(経緯)における位置のことをいう。具体的には、位置測位部132は、例えばGPS(Global Positioning System)測位部により実現され、GPS衛星からの電波を受信して、情報処理装置1(ユーザ700)が存在する位置を検知し、検知した位置情報を制御部10に出力する。また、位置測位部132は、GPSの他、例えばWi-Fi(Wireless Fidelity、登録商標)、Bluetooth(登録商標)、携帯電話・PHS(Personal Handy‐phone System)・スマートフォン等との送受信、又は、近距離通信等により位置を検知するデバイスであってもよい。
-生体センサ134-
生体センサ134は、ユーザ700の各種生体情報を検知する。具体的には、生体センサ134は、例えば、ユーザ700の身体の一部に直接的又は間接的に装着され、ユーザ700の心拍数、血圧、脳波、呼吸、発汗、筋電位、皮膚温度、皮膚電気抵抗等を測定する1つ又は複数のセンサを含む。これら生体センサ134は、検知された生体情報を制御部10に出力する。
さらに、本実施形態に係るセンサ部12は、上述したセンサの他に、ユーザ700の周囲の環境温度を検知する温度センサ(図示省略)、ユーザ700の周囲の環境の明るさを検知する照度センサ(図示省略)等を含んでもよい。さらに、センサ部12は、ユーザ700の周囲の環境の大気圧を検知する気圧センサ(図示省略)、赤外線を検知する赤外線センサ(図示省略)、電波を検知する電波センサ(図示省略)等、様々なセンサを含んでもよい。
(記憶部14)
記憶部14は、上述した制御部10が各機能を実行するためのプログラムやパラメータを格納する。例えば、記憶部14は、情報取得部100による認識処理に用いる認識アルゴリズムや、表示形式判断部104で用いる各種閾値等を格納する。
(表示部16)
表示部16は、例えば、ホログラム光学技術を用いて表示を行うレンズ部(シースルータイプのディスプレイの一例)、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置等により実現される。
(スピーカ18)
スピーカ18は、上述した制御部10の制御に従って、音声信号等を再生する。例えば、スピーカ18は、ユーザ700の左右の耳に対応する1対のイヤホンスピーカ(図示省略)により実現されることができる。
(通信部20)
通信部20は、有線/無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部20は、例えば、有線LAN(Local Area Network)、無線LAN、Wi-Fi(登録商標)、赤外線通信、Bluetooth(登録商標)、近距離/非接触通信等の方式で、外部機器と直接又はネットワークアクセスポイント(図示省略)を介して通信することができる。なお、通信部20は、電波を検知する電波センサとして用いられてもよい。
(操作入力部22)
操作入力部22は、スイッチ、ボタン、又は、レバー等の物理的な構造を有する操作部材(図示省略)により実現される。例えば、ユーザ700は、操作入力部22に対して操作を行うことで、情報処理装置1に対して所望の入力を行うことができる。また、操作入力部22により入力された操作の内容は、上述した表示部16によって表示されてもよい。
以上、本実施形態に係る情報処理装置1の構成について具体的に説明したが、本実施形態に係る情報処理装置1の詳細構成は図2に示す例に限定されるものではない。例えば、情報処理装置1の制御部10の少なくとも一部の処理は、通信部20を介して接続するクラウド上のサーバ(図示省略)において行われてもよい。
<3.2.第1の実施形態に係る仮想オブジェクトの表示例>
以上、本実施形態に係る情報処理装置1の詳細構成について説明した。続いて、このような情報処理装置1による仮想オブジェクトの表示例について、図3から図5を参照して説明する。図3から図5は、本実施形態に係る仮想オブジェクト800の表示例を説明するための説明図である。
本実施形態に係る情報処理装置1は、例えば、ユーザ700が所定の動作を行ったことをセンサ部12が検知したことにより、仮想オブジェクト800を表示することができる。図3に示すように、情報処理装置1は、センサ部12により、ユーザ700が自身の足元を見るようにユーザ700の頭部が下方に向いたことを検知した場合には、ユーザ700の足元に重畳するように仮想オブジェクト800を表示する。当該仮想オブジェクト800は、ユーザ700の位置情報を示すマップの形態を持つ仮想オブジェクト800であり、詳細には、マップである仮想オブジェクト800上に仮想のマーカ600を併せて表示することにより、ユーザ700の現在位置を示している。情報処理装置1は、このような仮想オブジェクト800を実空間に重畳して表示することにより、ユーザ700に対して情報(ここでは、ユーザ700の位置情報)を提示することができる。従って、ユーザ700は、このように表示される仮想オブジェクト800を介して、情報処理装置1により提示された情報を直感的に把握することができる。
なお、本実施形態においては、ユーザ700の頭部の向きを検知した場合だけでなく、ユーザ700の頭部の動き(例えば、首振り、うなずき等)を検知したことにより、情報処理装置1は仮想オブジェクト800を表示してもよい。さらに、情報処理装置1は、歩行、走行、停止等のユーザ700の身体全体の動作を検知したことにより、仮想オブジェクト800を表示してもよい。また、情報処理装置1は、外向きカメラ120等を利用して、ユーザ700の手の所定の動き(例えば、手をかざす、手を振る、手を伸ばす等のジェスチャ)を検知したことにより、仮想オブジェクト800を表示してもよい。
さらに、本実施形態においては、情報処理装置1は、実空間における所定の現実物体に対してユーザ700が興味を持って見ていることをユーザ700の視線認識によって検知したことにより、仮想オブジェクト800を表示してもよい。また、情報処理装置1は、ユーザ700が所定の文言を発話したことを検知したことにより、もしくは、ユーザ700が操作入力部22に対して操作を行ったことを検知したことにより、仮想オブジェクト800を表示してもよい。
また、本実施形態に係る情報処理装置1は、例えば、情報処理装置1が所定の状態になったことにより、仮想オブジェクト800を表示することができる。例えば、図4に示すように、情報処理装置1は、外部装置からの音声通話のための無線通信を検知したことにより、ユーザ700の周囲に位置する壁面(現実物体)602に重畳するように、電話機の形態を持つ仮想オブジェクト800を表示する。当該仮想オブジェクト800は、ユーザ700に対して音声通話を受信した旨の情報を直感的に把握させるために、電話機の形状を持っており、表示と併せて所定の着信音を出力することにより、情報処理装置1は、ユーザ700に上記情報を提示することができる。さらに、例えば、情報処理装置1は、外向きカメラ120等を利用して、ユーザ700の手702が図4に示される仮想オブジェクト800に伸びたことを検知したことにより、音声通話を行う処理に移行してもよい。
なお、本実施形態においては、情報処理装置1が音声通話のための無線通信を検知した場合だけでなく、情報処理装置1は、ユーザ700の近傍に位置する人物が携帯する携帯端末からの無線通信を検知したことにより、仮想オブジェクト800を表示してもよい。さらに、情報処理装置1は、既に表示した仮想オブジェクト800に対するユーザ700の所定の動作(例えば、仮想オブジェクト800に触れる、つかむ等)を検知したことにより、情報処理装置1で行う処理を変化させたり、表示する仮想オブジェクトの形態を変化させたりしてもよい。
また、本実施形態に係る情報処理装置1は、例えば、情報処理装置1(ユーザ700)が所定のエリアに入ったことを検知したことにより、仮想オブジェクト800を表示することもできる。例えば、図5に示すように、情報処理装置1は、位置測位部132により所定のエリアに入ったことを検知したことにより、ユーザ700の周囲の実空間に重畳するように、通行禁止を通知するテープの形態を持つ仮想オブジェクト800を表示する。
なお、本実施形態においては、情報処理装置1が所定のエリアに入ったことを検知した場合だけでなく、例えば、情報処理装置1は、ユーザ700が所定の現実物体(例えば、図5においては、自動車604)に近づいたことを検知したことにより、仮想オブジェクト800を表示してもよい。
このように、本実施形態においては、情報処理装置1が所定の状況等を検知したことにより、仮想オブジェクト800を実空間に重畳するように表示することができる。なお、仮想オブジェクト800は、内向きカメラ122等を利用して検知したユーザ700の視野範囲に基づいて、ユーザ700が確実に視認できるような位置に表示される。さらに、所定の情報を提示するための仮想オブジェクト800を表示させる際には、情報処理装置1は、当該情報に応じて適切な位置に仮想オブジェクトを表示させる。例えば、情報処理装置1が道路上に陥没が生じていることからユーザ700に対して注意喚起する情報を提示させようとする状況について説明する。この場合、情報処理装置1は、ユーザ700が陥没地点に仮想オブジェクトが位置しているよう知覚することができるように、陥没地点に仮想オブジェクト800を表示する。
<3.3.第1の実施形態に係る情報処理方法>
以上、本実施形態に係る仮想オブジェクト800の表示例について説明した。続いて、本実施形態に係る情報処理方法について、図6A、図6B、図7及び図8を参照して説明する。図6A及び図6Bは、本実施形態に係る処理フローを示すフローチャートである。また、図7及び図8は、本実施形態に係る処理の一例を説明するための説明図である。図6A及び図6Bに示すように、本実施形態に係る情報処理方法には、ステップS100からステップS132までの複数のステップが含まれている。以下に、本実施形態に係る方法に含まれる各ステップの詳細を説明する。
先に説明したように、例えば、情報処理装置1は、ユーザ700が所定の動作を行った等が検知した場合には、仮想オブジェクトの表示処理を開始する。なお、以下に説明するフローは、表示する仮想オブジェクトの表示フレーム毎に行われ、表示フレームが変わるごとに繰り返されることとなる。
(ステップS100)
情報取得部100は、センサ部12により検知された検知結果を用いて、ユーザ700又は当該ユーザ700の周囲の各種状態に関する情報を取得する。また、情報取得部100は、仮想オブジェクトの表示を行うアプリケーションで定義された、仮想オブジェクトの表示位置等の情報を取得する。さらに、表示パラメータ計算部102は、取得した表示位置の情報に基づき、ユーザ700から仮想オブジェクトの表示位置までの表示距離を算出する。仮想オブジェクトの表示距離は、例えば、予め仮想オブジェクトの表示を行うアプリケーションで定義された表示位置と、上述したSLAM等によって取得した情報処理装置1(ユーザ700)の自己位置情報とに基づいて算出することができる。
(ステップS102)
表示形式判断部104は、上記ステップS100で算出された表示距離を予め設定された閾値αと比較する。具体的には、表示形式判断部104が、算出された表示距離がα(例えば、3m)以上であると判断した場合には、ステップS104へ進む。一方、算出された表示距離がα未満であると判断した場合には、ステップS108へ進む。
(ステップS104)
表示形式判断部104は、仮想オブジェクトの表示解像度を最高ランク(例えば、960×768ピクセル)に設定する。
(ステップS106)
表示形式判断部104は、表示する仮想オブジェクトに対するエフェクト処理を通常モードに設定する。例えば、通常モードにおいては、仮想オブジェクトは、実空間の現実物体のように3次元表示されるように加工処理される。
(ステップS108)
表示形式判断部104は、上記ステップS100で算出された表示距離を予め設定された閾値α、βと比較する。具体的には、表示形式判断部104は、算出された表示距離が、α未満、且つ、β(例えば、1.5m)以上であると判断した場合には、ステップS110へ進む。一方、算出された表示距離がβ未満であると判断した場合には、ステップS114へ進む。
(ステップS110)
表示形式判断部104は、仮想オブジェクトの表示解像度を高ランク(例えば、640×480ピクセル)に設定する。このように、ステップS104に比べて表示解像度を低くすることにより、表示処理量を減らすことができる。
(ステップS112)
表示形式判断部104は、ステップS106と同様に、表示する仮想オブジェクトに対するエフェクト処理を通常モードに設定する。
(ステップS114)
表示形式判断部104は、上記ステップS100で算出された表示距離を予め設定された閾値β、γと比較する。具体的には、表示形式判断部104は、算出された表示距離がβ未満、且つ、γ(例えば、0.8m)以上であると判断した場合には、ステップS116へ進む。一方、算出された表示距離がγ未満であると判断した場合には、ステップS120へ進む。
(ステップS116)
表示形式判断部104は、仮想オブジェクトの表示解像度を中ランク(例えば、384×240ピクセル)に設定する。
(ステップS118)
表示形式判断部104は、仮想オブジェクトに対するエフェクト処理をワイヤーフレームモードに設定する。例えば、ワイヤーフレームモードにおいては、仮想オブジェクトは、ワイヤーフレームを用いて立体的に表示されるように加工処理される。言い換えると、ワイヤーフレームモードにおいては、仮想オブジェクトは、線だけで表現される立体図形として表示される(例えば、図10の仮想オブジェクト806a)。このように、ワイヤーフレームにより仮想オブジェクトを表示することにより、上述の3次元表示に比べて表示処理量を減らすことができる。
(ステップS120)
表示形式判断部104は、上記ステップS100で算出された表示距離を予め設定された閾値γ、σと比較する。具体的には、表示形式判断部104は、算出された表示距離がγ未満、且つ、σ(例えば、0.35m)以上であると判断した場合には、ステップS122へ進む。一方、算出された表示距離がσ未満であると判断した場合には、ステップS128へ進む。
(ステップS122)
表示形式判断部104は、仮想オブジェクトの表示解像度を低ランク(例えば、192×120ピクセル)に設定する。
(ステップS124)
表示形式判断部104は、仮想オブジェクトに対するエフェクト処理を半透明モードに設定する。例えば、半透明モードにおいては、仮想オブジェクトは、実空間が透かして見える半透明な図形として表示されるように加工処理される。このように、仮想オブジェクトを半透明で表示することにより、上述の3次元表示に比べて表示処理量を減らすことができる。
(ステップS126)
表示形式判断部104は、仮想オブジェクトの表示形式を3次元表示から2次元表示に設定変更する。従って、仮想オブジェクトは、平面的な2次元図形として表示されることとなる。このように、仮想オブジェクトを2次元図形で表示することにより、3次元表示に比べて表示処理量を減らすことができる。
(ステップS128)
表示形式判断部104は、上記ステップS100で算出された表示距離がσ未満であることを確認する。
(ステップS130)
表示形式判断部104は、仮想オブジェクトに対するエフェクト処理を消去モードに設定する。例えば、消去モードにおいては、仮想オブジェクトは表示されない。
(ステップS132)
出力制御部106は、これまでの一連のステップにおいて表示形式判断部104が設定した表示解像度及びエフェクト処理に従って仮想オブジェクトが表示されるように、表示部16に対して制御を行う。そして、表示部16は、アプリケーションで定義した表示ルールに加えて、表示形式判断部104が設定した表示解像度及びエフェクト処理に従って、仮想オブジェクトを表示する。さらに、仮想オブジェクトの表示フレームの表示が完了したら、次の表示フレームの表示処理を行うために、ステップS100へ戻る。
なお、上述の説明においては、仮想オブジェクトの表示フレーム毎にフローを繰り返すものとして説明したが、本実施形態はこれに限定されるものではない。例えば、情報処理装置1での処理状態が変化したことを検知したことにより、もしくは、ユーザ700の状態が変化したことを検知したことにより、フローを繰り返してもよく、特に限定されるものではない。
なお、本実施形態においては、上述した図6A、図6B及び図7に示される閾値α、β、γ、σの値、設定される表示解像度及びエフェクト処理の内容については、上述の値等に限定されるものではない。本実施形態においては、仮想オブジェクトの表示フレームレートを好適に維持しつつ、ユーザ700から見た仮想オブジェクトの表示品質を好適に維持することができる閾値等であれば、適宜選択することが可能である。また、エフェクト処理についても、例えば、表示する仮想オブジェクトの透明度のレベルを変化させてもよく、もしくは、仮想オブジェクトの表示形式を2次元表示から3次元表示に設定変更してもよい。
さらに、上述のフローにおいては、表示距離が長い場合(例えば、表示距離が3m以上)には、仮想オブジェクトの表示解像度を高くしているが、本実施形態においてはこれに限定されるものではない。例えば、表示距離が長い場合、すなわち、ユーザ700から遠い位置に仮想オブジェクトが表示される場合には、ユーザ700は仮想オブジェクトの表示品質の違いを知覚し難くなることから、表示解像度を中ランクや低ランクに設定してもよい。
上述のフローにおける処理を模式的に示した図が図7である。図7は、ユーザ700から仮想オブジェクトの表示位置までの表示距離に応じて、表示される人物画像の仮想オブジェクトの大きさ及び表示解像度が変化していることを模式的に示す。例えば、表示距離が短い場合(例えば、0.8m程度)には、大きく、且つ、表示解像度が低い仮想オブジェクト802aが表示される。当該仮想オブジェクト802aは、図7に示されているように、全体的にぼやけて、薄く表示されている。また、例えば、表示距離が中程度である場合(例えば、1.5m程度)には、上記仮想オブジェクト802aと比べて、小さく、且つ、高い表示解像度を持つ仮想オブジェクト802bが表示される。さらに、表示距離が長い場合(例えば、3m程度)には、上記仮想オブジェクト802bと比べて、小さく、且つ、高い表示解像度を持つ仮想オブジェクト802cが表示される。なお、図7に示されているように、仮想オブジェクト802aの大きさ(表示面積)は、ユーザ700に近いほどより拡大し、これによって遠近感が表現され得る。言い換えると、本実施形態においては、仮想オブジェクトの表示距離が第1の距離である場合、当該仮想オブジェクトの表示面積を、表示距離が第1の距離よりも小さい第2の距離である他の仮想オブジェクトよりも大きくすることにより、ユーザ700は遠近感を感じることができる。すなわち、遠近感を表現するために、表示距離が近くなるほど仮想オブジェクトのサイズを拡大することとなる。そこで、本実施形態においては、上述の際の表示面積の拡大に伴って増加する表示処理量を抑制するように、解像度を制御する。
上述のフローによる、仮想オブジェクトの表示の一例について、図8を参照して説明する。図8の左側に示すように、ユーザ700から遠い位置に、仮想オブジェクト804aが実空間における現実物体である自動車604に重畳して表示されている。そして、ユーザ700が上記自動車604に近づくように移動した場合には、仮想オブジェクトの表示位置とユーザ700との間の表示距離が縮まることとなる。従って、このような場合には、図8の右側に示すように、仮想オブジェクト804bは、仮想オブジェクト804aと比べて大きいものの、低い表示解像度をもつように表示される。さらに、仮想オブジェクト804bは、実空間の現実物体(例えば、自動車604)が透かして見える半透明な図形として表示される。
表示位置が近いことに起因して大きな仮想オブジェクトを表示させる際には、仮想オブジェクトの表示処理量が増加し、情報処理装置1の処理能力に余裕がなくなり、表示フレームレートの低下が生じることがある。そこで、本実施形態においては、表示処理量を増加させる原因ともなる仮想オブジェクトの表示位置を検知し、検知した表示位置に応じて、仮想オブジェクトの表示解像度等を動的に変化させる。このようにすることで、本実施形態によれば、表示フレームレートが低下する前に、情報処理装置1の処理能力において余裕を確保し、表示フレームレートの低下の発生を避けることができる。従って、本実施形態によれば、仮想オブジェクトの表示フレームレートを好適に維持しつつ、ユーザ700から見た仮想オブジェクトの品質を好適に維持することができる。その結果、本実施形態によれば、仮想オブジェクトを介したユーザ700と情報処理装置1との間におけるリアルタイムのインタラクションを実現することができ、ユーザ700に対して有意義な体験を提供することができる。加えて、本実施形態によれば、仮想オブジェクトの表示解像度等を動的に変化させることにより、情報処理装置1における表示処理量を減らし、ひいては消費電力を減らすことができる。その結果、本実施形態によれば、バッテリ容量を小さくすることも可能となり、よりコンパクトな情報処理装置1を提供することができる。
<<4.第2の実施形態>>
上述した本開示の第1の実施形態においては、表示距離に応じて仮想オブジェクトの表示解像度等を動的に変化させていた。しかしながら、本開示の実施形態においては、表示距離だけでなく、仮想オブジェクトの他の表示処理量に応じて、仮想オブジェクトの表示解像度等を変化させてもよい。そこで、本開示の第2の実施形態においては、仮想オブジェクトの表示面積に応じて、仮想オブジェクトの表示解像度等を変化させる。先に説明したように、仮想オブジェクトの大きさに従って情報処理装置1における表示処理量は変化する。従って、例えば大きな仮想オブジェクトを表示させる際には、表示処理量が増加し、情報処理装置1の処理能力に余裕がなくなり、表示フレームレートの低下が生じることがある。そこで、本実施形態においては、仮想オブジェクトの表示フレームレートの低下を生じさせる状態、すなわち、仮想オブジェクトの表示フレームレートの低下の原因ともなる仮想オブジェクトの表示面積を検知する。さらに、本実施形態においては、検知した表示面積に応じて、仮想オブジェクトの表示解像度等を変化させる。従って、本実施形態によれば、情報処理装置1の処理能力において余裕を確保し、仮想オブジェクトの表示フレームレートの低下を避けることができる。以下に、本実施形態の詳細について説明する。
なお、第2の実施形態に係る情報処理装置1の詳細構成については、第1の実施形態と共通するため、ここでは説明を省略する。
<4.1.第2の実施形態に係る情報処理方法>
第2の実施形態に係る情報処理方法について、図9A、図9B、及び図10を参照して説明する。図9A及び図9Bは、本実施形態に係る処理フローを示すフローチャートである。また、図10は、本実施形態に係る処理の一例を説明するための説明図である。図9A及び図9Bに示すように、本実施形態に係る情報処理方法には、ステップS200からステップS232までの複数のステップが含まれている。以下に、本実施形態に係る情報処理方法に含まれる各ステップの詳細を説明する。なお、以下の説明においては、第1の実施形態と異なる点のみを説明し、第1の実施形態と共通する点については、説明を省略する。
なお、以下の説明においては、仮想オブジェクトの表示面積割合とは、表示部16が表示可能な表示面積に対する、表示する当該仮想オブジェクトの表示面積の割合を意味する。
情報処理装置1は、仮想オブジェクトの表示処理を開始する。なお、以下に説明するフローは、第1の実施形態と同様に、表示する仮想オブジェクトの表示フレーム毎に行われ、表示フレームが変わるごとに繰り返されることとなる。
(ステップS200)
情報取得部100は、センサ部12により検知された検知結果を用いて、ユーザ700又は当該ユーザ700の周囲の各種状態に関する情報を取得する。また、情報取得部100は、仮想オブジェクトの表示を行うアプリケーションで定義された、仮想オブジェクトの表示面積等の情報を取得する。さらに、表示パラメータ計算部102は、取得した表示面積の情報に基づき、上記表示面積割合を算出する。
(ステップS202)
表示形式判断部104は、上記ステップS200で算出された表示面積割合を予め設定された閾値αと比較する。具体的には、表示形式判断部104が、算出された表示面積割合がα%(例えば、10%)未満であると判断した場合には、ステップS204へ進む。一方、算出された表示面積割合がα%以上であると判断した場合には、ステップS208へ進む。
(ステップS204、ステップS206)
図6Aに示される第1の実施形態のステップS104及びステップS106と同様の処理を実施する。
(ステップS208)
表示形式判断部104は、上記ステップS200で算出された表示面積割合を予め設定された閾値α、βと比較する。具体的には、表示形式判断部104は、算出された表示面積割合がα%以上、且つ、β%(例えば、20%)未満であると判断した場合には、ステップS210へ進む。一方、算出された表示面積割合がβ%以上と判断した場合には、ステップS214へ進む。
(ステップS210、ステップS212)
図6Aに示される第1の実施形態のステップS110及びステップS112と同様の処理を実施する。
(ステップS214)
表示形式判断部104は、上記ステップS200で算出された表示面積割合を予め設定された閾値β、γと比較する。具体的には、表示形式判断部104は、算出された表示面積割合がβ%以上、且つ、γ%(例えば、30%)未満であると判断した場合には、ステップS216へ進む。一方、算出された表示面積割合がγ%以上であると判断した場合には、ステップS220へ進む。
(ステップS216、ステップS218)
図6Aに示される第1の実施形態のステップS116及びステップS118と同様の処理を実施する。
(ステップS220)
表示形式判断部104は、上記ステップS200で算出された表示面積割合を予め設定された閾値γ、σと比較する。具体的には、表示形式判断部104は、算出された表示面積割合がγ%以上、且つ、σ%(例えば、50%)未満であると判断した場合には、ステップS222へ進む。一方、算出された表示面積割合がσ%以上であると判断した場合には、ステップS228へ進む。
(ステップS222、ステップS224、ステップS226)
図6Aに示される第1の実施形態のステップS122、ステップS124及びステップS126と同様の処理を実施する。
(ステップS228)
表示形式判断部104は、上記ステップS200で算出された表示面積割合がσ%以上であることを確認する。
(ステップS230、ステップS232)
図6Aに示される第1の実施形態のステップS130及びステップS132と同様の処理を実施する。
なお、本実施形態においても、第1の実施形態と同様に、上述した図9A及び図9Bに示される閾値α、β、γ、σの値、設定される表示解像度及びエフェクト処理の内容については、上述の値等に限定されるものではない。本実施形態においては、仮想オブジェクトの表示フレームレートを好適に維持しつつ、ユーザ700から見た仮想オブジェクトの品質を好適に維持することができる閾値等であれば、適宜選択することが可能である。
上述のフローにおける処理を模式的に示した図が図10である。図10は、仮想オブジェクトの表示面積に応じて、表示される球形の仮想オブジェクトの表示解像度や表示形式(ワイヤーフレーム表示)が変化していることを模式的に示す。例えば、仮想オブジェクトの表示面積が大きい場合には、表示解像度が低く、且つ、ワイヤーフレーム表示による球形の仮想オブジェクト806aが表示される。また、表示面積が中程度の場合には、仮想オブジェクト806aに比べて表示解像度が高く、且つ、球形に非常に近似したポリゴン形状を持つ仮想オブジェクト806bが表示される。さらに、表示面積が小さい場合には、仮想オブジェクト806bに比べて表示解像度が高く、且つ、球形の形状を持つ仮想オブジェクト806cが表示される。
以上のように、大きな仮想オブジェクトを表示させる際には、仮想オブジェクトの表示処理量が増加し、情報処理装置1の処理能力に余裕がなくなり、表示フレームレートの低下が生じることがある。そこで、本実施形態においては、表示処理量を増加させる原因ともなる仮想オブジェクトの表示面積を検知し、検知した表示面積に応じて、仮想オブジェクトの表示解像度等を動的に変化させる。このようにすることで、本実施形態によれば、表示フレームレートが低下する前に、情報処理装置1の処理能力において余裕を確保し、表示フレームレートの低下の発生を避けることができる。
<4.2.第2の実施形態の変形例>
上述した第2の実施形態においては、表示面積に応じて仮想オブジェクトの表示解像度等を動的に変化させていた。しかしながら、先に説明したように、本実施形態においては、仮想オブジェクトの他の表示処理量に応じて、仮想オブジェクトの表示解像度等を変化させてもよい。例えば、以下に説明する変形例においては、表示する仮想オブジェクトの個数に応じて、仮想オブジェクトの表示解像度等を変化させる。詳細には、仮想オブジェクトの表示個数に従って情報処理装置1における表示処理量は変化する。従って、多くの仮想オブジェクトを表示させる際には、表示処理量が増加し、情報処理装置1の処理能力に余裕がなくなり、表示フレームレートの低下が生じることがある。そこで、本変形例においては、仮想オブジェクトの表示フレームレートの低下の原因ともなる仮想オブジェクトの表示個数に応じて、仮想オブジェクトの表示解像度等を変化させる。従って、本変形例によれば、情報処理装置1の処理能力において余裕を確保し、仮想オブジェクトの表示フレームレートの低下を避けることができる。
以下に、図11を参照して、本変形例の詳細について説明する。図11は、第2の実施形態の変形例に係る処理の一例を説明するための説明図であり、詳細には仮想オブジェクトの表示個数に応じて、表示される球形の仮想オブジェクトの表示解像度や表示形式(ワイヤーフレーム表示)が変化していることを模式的に示す。図11に示すように、仮想オブジェクトの表示個数が多い場合(例えば、6個以上の場合)には、表示解像度が低く、且つ、ワイヤーフレーム表示による球形の仮想オブジェクト808aが表示される。また、表示個数が中程度の場合(例えば、6個未満3個以上の場合)には、仮想オブジェクト808aに比べて表示解像度が高く、且つ、球形に非常に近似したポリゴン形状を持つ仮想オブジェクト808bが表示される。さらに、表示個数が少ない場合(例えば、3個未満の場合)には、仮想オブジェクト808bに比べて表示解像度が高く、且つ、球形の形状を持つ仮想オブジェクト808cが表示される。
また、本変形例においては、仮想オブジェクトの種別(テキストデータ、物体、動画、記号等)に従って情報処理装置1における表示処理量は変化することから、仮想オブジェクトの種別に応じて、仮想オブジェクトの表示解像度等を変化させてもよい。具体的には、仮想オブジェクトが動画像である場合には、仮想オブジェクトが記号である場合に比べて、表示処理量が多くなる。そこで、本変形例においては、仮想オブジェクトが動画像である場合には、仮想オブジェクトの表示解像度等を低くする。
また、本変形例においては、仮想オブジェクトがユーザ700の眼前で移動するものであれば、仮想オブジェクトの移動速度に従って情報処理装置1における表示処理量は変化することから、移動速度に応じて仮想オブジェクトの表示解像度等を変化させてもよい。具体的には、仮想オブジェクトが高速で移動する場合には、仮想オブジェクトが低速で移動する場合に比べて表示処理量が多くなる。そこで、本変形例においては、仮想オブジェクトが高速で移動する場合には、仮想オブジェクトの表示解像度等を低くする。
<<5.第3の実施形態>>
上述した第1及び第2の実施形態においては、仮想オブジェクトの表示距離等に応じて仮想オブジェクトの表示解像度等を動的に変化させていた。しかしながら、本開示の実施形態においては、上述のような仮想オブジェクトの表示処理量だけでなく、制御部10による処理の状態に応じて、仮想オブジェクトの表示解像度等を動的に変化させてもよい。
例えば、表示させようとする仮想オブジェクトが複雑な処理を必要とする複雑な形状であった場合には、情報処理装置1における処理は増加する。この場合、先に説明したように、情報処理装置1の処理能力に余裕がない状況になり、表示フレームレートの低下が生じることがある。
より具体的な例を、図12を参照して説明する。図12は、本実施形態に係る仮想オブジェクト810の表示例を説明するための説明図であり、詳細には、実空間に重畳して表示された仮想オブジェクト810を示している。図12に示すように、ユーザ700の眼前に表示された仮想オブジェクト810に対して、ユーザ700が自身の手702を伸ばしている。このような状況においては、ユーザ700に対して仮想オブジェクト810があたかも実空間に存在する現実物体のように知覚させるようにするため、仮想オブジェクト810は、ユーザ700の手702の後ろを位置しているように表示される。すなわち、ユーザ700の手702が、仮想オブジェクト810の手前に位置して、仮想オブジェクト810の一部を遮蔽しているように、仮想オブジェクト810は表示される。なお、以下の説明においては、このようにユーザ700の手702等により仮想オブジェクト810の一部又は全体が遮蔽されている状態を「手遮蔽」と呼ぶ。そして、情報処理装置1は、手遮蔽された仮想オブジェクト810を表示するために、以下のように表示処理を行う。まず、情報処理装置1は、仮想オブジェクトを表示するためのアプリケーションで定義した仮想オブジェクトの形状と、外向きカメラ120等により撮像された手702の画像とを取得する。次に、情報処理装置1は、取得した情報を用いて、手702によって遮蔽される部分を上記定義された仮想オブジェクトの形状から抜き取った形状を持つ仮想オブジェクト810を生成し、生成した当該仮想オブジェクト810の表示を行う。このような表示処理は、表示処理量が大きく、情報処理装置1には大きな負荷となるため、仮想オブジェクトの表示フレームレートの低下が生じる。
そこで、本実施形態においては、処理の状態が情報処理装置1の処理能力の限界に近づいたことをリアルタイムで検知し、検知した結果に基づき、仮想オブジェクトの表示解像度等を動的に変化させる。より具体的には、本実施形態においては、情報処理装置1の処理の状態を示す指標として表示フレームレートを検知する。詳細には、仮想オブジェクトの表示フレームレートが高い場合には、情報処理装置1の処理能力に余裕があることを示し、一方、表示フレームレートが低い場合には、情報処理装置1の処理能力に余裕がないことを示す。すなわち、表示フレームレートは、情報処理装置1の処理の状態を示す指標として用いることができる。なお、本実施形態においては、表示フレームレートとして、1秒間あたりのフレーム数を指標として用いることから、以下の説明においては、表示フレームレートをFPS(Frames Per Second)と称する。そこで、本実施形態においては、FPSに応じて、仮想オブジェクト810の表示解像度等を動的に変化させる。詳細には、FPSが高い場合には、情報処理装置1の処理能力に余裕があることを意味することから、仮想オブジェクトの表示解像度等を高く設定することができる。一方、FPSが低い場合には、情報処理装置1の処理能力に余裕があることを意味することから、仮想オブジェクトの表示解像度等を低く設定する。このように、本実施形態においては、FPSの低下を直接的に検知し、検知したFPSに応じて、仮想オブジェクトの表示解像度等を変化させて情報処理装置1の処理能力において余裕を確保し、今後の表示フレームにおけるFPSの低下を避けることができる。以下に、本実施形態の詳細について説明する。
なお、第3の実施形態に係る情報処理装置1の詳細構成については、第1の実施形態と共通するため、ここでは説明を省略する。
<5.1.第3の実施形態に係る情報処理方法>
第3の実施形態に係る情報処理方法について、図13及び図14を参照して説明する。図13は、本実施形態に係る処理フローを示すフローチャートである。また、図14は、本実施形態に係る処理の一例を説明するための説明図である。図13に示すように、本実施形態に係る情報処理方法には、ステップS300からステップS328までの複数のステップが含まれている。以下に、本実施形態に係る情報処理方法に含まれる各ステップの詳細を説明する。なお、以下の説明においては、第1の実施形態と異なる点のみを説明し、第1の実施形態と共通する点については、説明を省略する。
情報処理装置1は、仮想オブジェクトの表示処理を開始する。なお、以下に説明するフローは、表示する仮想オブジェクトの表示フレーム毎に行われ、表示フレームが変わるごとに繰り返されることとなる。
(ステップS300)
情報取得部100は、センサ部12により検知された検知結果を用いて、ユーザ700又は当該ユーザ700の周囲の各種状態に関する情報を取得する。また、情報取得部100は、情報処理装置1の処理の状態を示す表示処理速度を取得する。さらに、情報取得部100は、併せて他の装置プロファイル(例えば、上述した各種認識エンジンにおける認識フレームレート等)を取得してもよく、すなわち、情報取得部100が取得する装置プロファイルは、情報処理装置1の処理の状態を示す情報であれば特に限定されない。
(ステップS302)
表示パラメータ計算部102は、ステップS300で取得された表示処理速度に基づき、仮想オブジェクトのFPSを算出する。
(ステップS304)
表示形式判断部104は、前回算出したFPSとステップS302で今回算出したFPSとの差が所定の範囲(例えば、10)を超えているかどうかを判断する。例えば、表示形式判断部104は、上記差が10を超えていると判断した場合には、ステップS304へ進み、一方、上記差が10以下であると判断した場合には、ステップS326へ進む。
(ステップS306)
表示形式判断部104は、上記ステップS302で算出されたFPSを予め設定された閾値αと比較する。具体的には、表示形式判断部104が、算出されたFPSがα(例えば、60)以上であると判断した場合には、ステップS308へ進む。一方、算出されたFPSがα未満であると判断した場合には、ステップS312へ進む。
(ステップS308、ステップS310)
図6Aに示される第1の実施形態のステップS104及びステップS106と同様の処理を実施する。
(ステップS312)
表示形式判断部104は、上記ステップS302で算出されたFPSを予め設定された閾値α、βと比較する。具体的には、表示形式判断部104は、算出されたFPSがα未満、且つ、β(例えば、30)以上であると判断した場合には、ステップS314へ進む。一方、算出されたFPSがβ未満であると判断した場合には、ステップS318へ進む。
(ステップS314、ステップS316)
図6Aに示される第1の実施形態のステップS110及びステップS112と同様の処理を実施する。
(ステップS318)
表示形式判断部104は、上記ステップS302で算出されたFPSを予め設定された閾値β、γと比較する。具体的には、表示形式判断部104は、算出されたFPSがβ未満、且つ、γ(例えば、20)以上と判断した場合には、ステップS320へ進む。一方、算出されたFPSがγ未満と判断した場合には、ステップS324へ進む。
(ステップS320、ステップS324)
ステップS320として図6Aに示される第1の実施形態のステップS116と同様の処理を行い、ステップS324として図6Bに示される第1の実施形態のステップS130と同様の処理を行う。
(ステップS326)
表示形式判断部104は、前回設定した表示解像度及びエフェクト処理を維持する。
(ステップS328)
図6Bに示される第1の実施形態のステップS132と同様の処理を実施する。
なお、上述の説明においては、仮想オブジェクトの表示フレーム毎に前回算出されたFPSとの差に応じて、表示解像度等の各種設定を変化させるかどうかを判断しているが、本実施形態はこれに限定されるものではない。例えば、前回の設定から所定の時間経過した場合や、ユーザ700の移動が検知された場合や、仮想オブジェクトの表示位置がユーザ700の視野範囲からはずれたことを検知した場合に、各種設定を変化させるかどうかの判断を行ってもよい。
また、本実施形態においては、第1の実施形態と同様に、上述した図13に示される閾値α、β、γの値、設定される表示解像度及びエフェクト処理の内容については、上述の値等に限定されるものではない。本実施形態においては、仮想オブジェクトのFPSを好適に維持しつつ、ユーザ700から見た仮想オブジェクトの表示品質が好適に維持することができる閾値等であれば、適宜選択することが可能である。
上述のフローにおける処理を模式的に示した図が図14である。図14は、FPSに応じて、人物画像の仮想オブジェクトの表示解像度が変化していることを模式的に示す。例えば、FPSが高い場合には、表示解像度が高い仮想オブジェクト812aが表示される。また、例えば、FPSが中程度である場合には、上記仮想オブジェクト812aと比べて低い表示解像度を持つ仮想オブジェクト812bが表示される。さらに、FPSが低い場合には、上記仮想オブジェクト812bと比べて低い表示解像度を持つ仮想オブジェクト812cが表示される。
以上のように、本実施形態においては、FPSによって、情報処理装置1の処理能力に余裕があるか否かを判断することができることから、FPSに応じて、仮想オブジェクトの表示解像度等を動的に変化させる。従って、本実施形態によれば、情報処理装置1の処理能力において余裕を確保し、今後の表示フレームにおけるFPSの低下を避けることができる。
本実施形態においては、情報処理装置1(制御部10)の処理能力が、少なくとも仮想オブジェクトの表示処理とユーザ700の周囲等の各種状態を認識するための認識エンジンによる認識処理とに分配されている場合には、認識の処理に分配した処理能力の状態に応じて、仮想オブジェクトの表示詳細度を変化させてもよい。また、ユーザ700の要求等に応じて、表示処理と認識処理とに分配される情報処理装置1の処理能力の割合が変化する場合には、それぞれに分配される割合に応じて仮想オブジェクトの表示詳細度を変化させてもよい。
さらに、本実施形態においては、FPSに応じて仮想オブジェクトの表示解像度等を変化させるだけでなく、装置プロファイルから得られる処理の状態に関する情報に応じて、仮想オブジェクトの表示解像度等を動的に変化させてもよい。例えば、装置プロファイルから、ユーザ700又は当該ユーザ700の周囲の各種状態を認識するための認識エンジンによる認識フレームレートを取得し、認識フレームレートに応じて、仮想オブジェクトの表示解像度等を動的に変化させてもよい。
<5.2.第3の実施形態の変形例>
上述した本開示の第3の実施形態においては、FPSに応じて仮想オブジェクトの表示解像度を動的に変化させていた。しかしながら、本実施形態においては、表示解像度を変化させることに限定されるものではなく、仮想オブジェクトの他の表示詳細度を変化させてもよい。以下に、本実施形態の変形例として、仮想オブジェクトの表示詳細度の様々な例について説明する。
(変形例1)
変形例1においては、FPSに応じて仮想オブジェクトのエフェクト処理としてシェーディング処理を動的に変化させる。以下に、図15を参照して本変形例の詳細を説明する。図15は、変形例1に係る処理の一例を説明するための説明図である。
詳細には、図15の左側に示すように、FPSが高い場合には、情報処理装置1の処理能力に余裕があることを意味することから、仮想オブジェクトを例えばフォーンシェーディング法により表示する。フォーンシェーディング法とは、立体的な物体表面での光の反射モデルを用いて仮想オブジェクトにおける陰影計算を行い、陰影計算に基づいて、仮想オブジェクトを表示するための各ピクセルの色彩等を設定する。このようなフォーンシェーディング法を用いることにより、仮想オブジェクト814aは、あたかも実空間に存在する現実物体のように表示される。なお、上記フォーンシェーディング法による陰影計算は、情報処理装置1における処理量(負荷)が高い。従って、本変形例においては、情報処理装置1の処理能力に余裕がある場合に、フォーンシェーディング法を用いて仮想オブジェクトを表示する。
また、図15の中央に示すように、FPSが中程度である場合には、情報処理装置1の処理能力に多少の余裕があるため、仮想オブジェクトを例えばグローシェーディング法により表示する。グローシェーディング法とは、ポリゴン形状を持つ仮想オブジェクトの表面での光の反射モデルを用いて仮想オブジェクトにおける陰影計算を行い、陰影計算に基づいて、仮想オブジェクトを表示するための各ピクセルの色彩等を設定する。このようなグローシェーディング法を用いることにより、上記仮想オブジェクト814aに比べて見た目の品質が低下するものの、仮想オブジェクト814bは立体的な物体のように表示される。なお、仮想オブジェクト814bをポリゴン形状と仮定して陰影計算を行うことから、グローシェーディング法はフォーンシェーディング法に比べて情報処理装置1における処理量(負荷)が低い。従って、本変形例においては、情報処理装置1の処理能力に多少の余裕がある場合に、負荷の少ないグローシェーディング法を用いて仮想オブジェクトを表示する。
さらに、図15の右側に示すように、FPSが低い場合には、情報処理装置1の処理能力に余裕がないため、仮想オブジェクトを例えばフラットシェーディング法により表示する。フラットシェーディング法とは、粗いポリゴン形状の仮想オブジェクトの面毎に光の反射モデルを用いて仮想オブジェクトにおける陰影計算を行い、陰影計算に基づいて、仮想オブジェクトを構成する面毎の色彩等を設定する。このようなフラットシェーディング法を用いることにより、仮想オブジェクト814cは上記仮想オブジェクト814bに比べて見た目の品質が低下する。しかしながら、本変形例においては、情報処理装置1の処理能力に余裕がない場合であっても、フラットシェーディング法はグローシェーディング法に比べて情報処理装置1における処理量(負荷)が低いことから、FPSが低下することを避けることができる。
(変形例2)
変形例2においては、FPSに応じて、球状の仮想オブジェクトのエフェクト処理として、表示形式を3次元表示から、フレームワイヤー表示、2次元表示へと動的に変化させる。以下に、図16を参照して本変形例の詳細を説明する。図16は、変形例2に係る処理の一例を説明するための説明図である。
詳細には、図16の左側に示すように、FPSが高い場合には、情報処理装置1の処理能力に余裕があることを意味することから、仮想オブジェクト816aを例えばあたかも実空間に存在する現実物体のように3次元表示させる。
また、図16の中央に示すように、FPSが中程度である場合には、情報処理装置1の処理能力に多少の余裕があるため、仮想オブジェクト816bを例えばワイヤーフレーム表示により表示する。当該仮想オブジェクト816bは、ワイヤーフレームにより、頂点の数が多い、球形に近似したポリゴン形状を持っていることから、上記仮想オブジェクト816aに比べて見た目の品質が低下するものの、立体的な物体のように表示される。このようなワイヤーフレーム表示は、上述の3次元表示に比べて表示処理量(負荷)を減らすことができる。従って、本変形例においては、情報処理装置1の処理能力に多少の余裕がある場合に、負荷の少ないワイヤーフレーム表示を用いて仮想オブジェクトを表示する。
FPSがさらに低下した場合には、情報処理装置1の処理能力に余裕がなくなりつつあることから、球状の仮想オブジェクト816cを、ワイヤーフレームにより上記仮想オブジェクト816bに比べて頂点の数が少ないポリゴン形状で表示する。このように頂点の数が少ないポリゴン形状で表示することにより、より表示処理量(負荷)を減らすことができる。従って、本変形例においては、情報処理装置1の処理能力に余裕がなくなりつつある場合には、ワイヤーフレーム表示の状態を変化させて、詳細には、より負荷の少ない頂点の数が少ないポリゴン形状で仮想オブジェクトを表示する。
さらに、図16の右側に示すように、FPSが非常に低い場合には、情報処理装置1の処理能力に余裕がないため、仮想オブジェクト816dを2次元で表示する。このように仮想オブジェクトを2次元で表示することにより、3次元表示等に比べて表示処理量(負荷)を減らすことができる。このような2次元表示を用いることにより、仮想オブジェクト816dは上記仮想オブジェクト816cに比べて見た目の品質が低下する。しかしながら、本変形例においては、情報処理装置1の処理能力に余裕がない場合であっても、2次元表示により情報処理装置1における処理量(負荷)が低くなることから、表示フレームレートの低下を避けることができる。
なお、本開示の実施形態及び変形例においては、変化させる仮想オブジェクトの他の表示詳細度として、上述のシェーディング処理等だけでなく、仮想オブジェクトのテクスチャ(仮想オブジェクトの質感)、表示濃度、透明度、明度等を挙げることができる。
(変形例3)
上述した本開示の実施形態及び変形例においては、仮想オブジェクトの表示処理量や処理の状態に応じて、仮想オブジェクトの表示詳細度を動的に変化させていた。さらに、これら実施形態及び変形例においては、ユーザ700の状態をも加味して、仮想オブジェクトの表示詳細度を動的に変化させてもよい。そこで、このような変形例の1つとして、ユーザ700の視線方向に応じて、仮想オブジェクトの表示解像度を変化させる変形例3を、図17を参照して説明する。図17は、変形例3に係る処理の一例を説明するための説明図である。
ここで、これまで説明した実施形態等において、仮想オブジェクトの表示処理量や処理の状態に応じて、仮想オブジェクトの表示解像度を低下させた場合を検討する。例えば、図17に示すように、表示された仮想オブジェクト818が手紙等の文字コンテンツである場合には、表示解像度を低下させて表示させるとユーザ700によって仮想オブジェクト818内の文字を解読できない場合がある。一方、このように文字が解読できないことを考慮して表示解像度を高くした場合には、表示処理量が増加し、情報処理装置1の処理能力に余裕がなくなり、表示フレームレートの低下が生じることとなる。そこで、本変形例においては、仮想オブジェクト818の全体の表示解像度を高くするのではなく、ユーザ700の視線方向を検知し、当該視線の先に位置する仮想オブジェクト818の部分においてのみ表示解像度を高くする。すなわち、本変形例においては、制御部10は、文字コンテンツのように相対的に高い識別要求度が求められる仮想オブジェクト(第2の仮想オブジェクト)をユーザ700が注視していると判定された場合には、当該仮想オブジェクトの表示解像度(表示詳細度)を、他の仮想オブジェクト(例えば、高い識別要求度が求められない、図形等のような仮想オブジェクト)(第1の仮想オブジェクト)をユーザ700が注視していると判定された場合よりも、高くする。このようにすることで、本変形例によれば、表示処理量を抑えて、表示フレームレートの低下を避けつつ、ユーザ700により仮想オブジェクト818を介して提示された情報を容易に知覚できるような表示品質を維持することができる。なお、本変形例においては、相対的に高い識別要求度を有する仮想オブジェクトは文字コンテンツに限定されるものではなく、任意に設定されることができる。
詳細には、情報処理装置1は、ユーザ700の視線方向を例えば内向きカメラ122による撮像画像を用いて検知する。そして、情報処理装置1は、当該検知結果に基づいて、表示されている低表示解像度の仮想オブジェクト818のうち、ユーザ700の視線の先に位置する仮想オブジェクトの部分818aの表示解像度を高く設定する。より具体的には、ユーザ700の視線の先が、当該仮想オブジェクト818の部分818aにあることを検知した場合には、部分818aにおける表示解像度を高め、部分818aにおける文字(図17の例では、「Dear Mr.Smith」)をユーザ700が解読できるようにする。一方、ユーザ700の視線の先に位置していない、仮想オブジェクト818の他の部分818bについては、部分818aに比べて表示解像度が低い。従って、ユーザ700は、部分818bに文字がなにかしら表示されていることを知覚することができるものの、具体的に文字を解読することができない。
このように、本変形例においては、ユーザ700が所望する仮想オブジェクト818の部分818aを鮮明に表示し、ユーザ700が所望していない他の仮想オブジェクト818の部分818bを不鮮明に表示する。従って、本変形例によれば、表示処理量を抑えて表示フレームレートの低下を避けつつ、ユーザ700により仮想オブジェクト818を介して提示された情報を容易に知覚できるような表示品質を維持することができる。
なお、本変形例においては、ユーザ700の視線の先が部分818bに移動した場合には、情報処理装置1は、部分818aの表示解像度を低下させ、部分818bの表示解像度を高くする。また、本変形例においては、同時に複数の仮想オブジェクトが表示されている場合には、ユーザ700の視線方向に応じて、各仮想オブジェクトの表示解像度を変化させてもよい。
また、本変形例においては、ユーザ700の視線方向に応じて、仮想オブジェクトの表示解像度変化させることに限定されるものではなく、例えば、ユーザ700の手702が伸びた方向に応じて、仮想オブジェクトの表示解像度を変化させてもよい。詳細には、同時に複数の仮想オブジェクトが表示されている場合、ユーザ700が手を伸ばした先に位置する仮想オブジェクトを他の仮想オブジェクトに比べて高い表示解像度で表示する。このように、本変形例においては、上述した実施形態等と組み合わせて、ユーザ700の状態に応じて、仮想オブジェクトの表示詳細度を動的に変化させてもよい。
<<6.まとめ>>
以上説明したように、本開示の実施形態及び変形例においては、仮想オブジェクトの表示フレームレート(FPS)の低下を生じさせる状態を検知し、検知した結果に応じて、仮想オブジェクトの表示詳細度を動的に変化させる。このようにして、本実施形態等によれば、情報処理装置1の処理能力において余裕を確保し、表示フレームレートの低下の発生を避けることができる。すなわち、本実施形態等によれば、仮想オブジェクトの表示フレームレートを好適に維持しつつ、ユーザ700から見た仮想オブジェクトの品質を好適に維持することができる。その結果、本実施形態によれば、仮想オブジェクトを介したユーザ700と情報処理装置1との間におけるリアルタイムのインタラクションを実現することができ、ユーザ700に対して有意義な体験を提供することができる。
加えて、本実施形態等によれば、仮想オブジェクトの表示詳細度を動的に変化させることにより、情報処理装置1における表示処理量を減らし、ひいては消費電力を減らすことができる。その結果、本実施形態等によれば、バッテリ容量を小さくすることも可能となり、よりコンパクトな情報処理装置1を提供することもできる。
なお、これまで説明した本開示の実施形態及び変形例については互いに組み合わせて実施することもできる。また、上述の説明においては、透過型ディスプレイを持つスマートアイグラスに適用した場合を例として挙げたが、本開示の実施形態においてはこれに限定されるものではなく、例えば、非透過型ディスプレイを持つHMDに適用することもできる。
<<7.ハードウェア構成について>>
図18は、本開示の一実施形態に係る情報処理装置900のハードウェア構成の一例を示したブロック図である。図18では、情報処理装置900は、上述の情報処理装置1のハードウェア構成の一例を示している。
情報処理装置900は、例えば、CPU950と、ROM952と、RAM954と、記録媒体956と、入出力インタフェース958と、操作入力デバイス960とを有する。さらに、情報処理装置900は、表示デバイス962と、音声出力デバイス964と、通信インタフェース968と、センサ980とを有する。また、情報処理装置900は、例えば、データの伝送路としてのバス970で各構成要素間を接続する。
(CPU950)
CPU950は、例えば、CPU、GPU等の演算回路で構成される、1又は2以上のプロセッサや、各種処理回路等で構成され、情報処理装置900全体を制御する制御部(例えば、上述の制御部10)として機能する。具体的には、CPU950は、情報処理装置900において、例えば、上述の情報取得部100、表示パラメータ計算部102、表示形式判断部104、及び出力制御部106等の機能を果たす。
(ROM952及びRAM954)
ROM952は、CPU950が使用するプログラムや演算パラメータ等の制御用データ等を記憶する。RAM954は、例えば、CPU950により実行されるプログラム等を一時的に記憶する。
(記録媒体956)
記録媒体956は、上述の記憶部14として機能し、例えば、本実施形態に係る情報処理方法に係るデータや、各種アプリケーション等様々なデータを記憶する。ここで、記録媒体956としては、例えば、ハードディスク等の磁気記録媒体や、フラッシュメモリ等の不揮発性メモリが挙げられる。また、記録媒体956は、情報処理装置900から着脱可能であってもよい。
(入出力インタフェース958、操作入力デバイス960、表示デバイス962、音声出力デバイス964)
入出力インタフェース958は、例えば、操作入力デバイス960や、表示デバイス962等を接続する。入出力インタフェース958としては、例えば、USB(Universal Serial Bus)端子や、DVI(Digital Visual Interface)端子、HDMI(High-Definition Multimedia Interface)(登録商標)端子、各種処理回路等が挙げられる。
操作入力デバイス960は、例えば上述の操作入力部22として機能し、情報処理装置900の内部で入出力インタフェース958と接続される。
表示デバイス962は、例えば上述の表示部16として機能し、情報処理装置900に備えられ、情報処理装置900の内部で入出力インタフェース958と接続される。表示デバイス962としては、例えば、液晶ディスプレイや有機ELディスプレイ(Organic Electro‐Luminescence Display)等が挙げられる。
音声出力デバイス964は、例えば上述のスピーカ18として機能し、例えば、情報処理装置900に備えられ、情報処理装置900の内部で入出力インタフェース958と接続される。
なお、入出力インタフェース958が、情報処理装置900の外部の操作入力デバイス(例えば、キーボードやマウス等)や外部の表示デバイス等の、外部デバイスと接続することも可能であることは、言うまでもない。
また、入出力インタフェース958は、ドライブ(図示省略)と接続されていてもよい。当該ドライブは、磁気ディスク、光ディスク、又は半導体メモリなどのリムーバブル記録媒体のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。当該ドライブは、装着されているリムーバブル記録媒体に記録されている情報を読み出して、RAM954に出力する。また、当該ドライブは、装着されているリムーバブル記録媒体に記録を書き込むこともできる。
(通信インタフェース968)
通信インタフェース968は、例えば通信ネットワーク(図示省略)を介して(あるいは、直接的に)、他の外部装置と、無線または有線で通信を行うための通信部20として機能する。ここで、通信インタフェース968としては、例えば、通信アンテナ及びRF(Radio Frequency)回路(無線通信)や、IEEE802.15.1ポート及び送受信回路(無線通信)、IEEE802.11ポート及び送受信回路(無線通信)、あるいはLAN(Local Area Network)端子及び送受信回路(有線通信)等が挙げられる。
(センサ980)
センサ980は、上述のセンサ部12として機能する。さらに、センサ980は、照度センサ等の各種のセンサをさらに含んでもよい。
以上、情報処理装置900のハードウェア構成の一例を示した。なお、情報処理装置900のハードウェア構成は、図18に示す構成に限られない。詳細には、上記の各構成要素は、汎用的な部材を用いて構成してもよいし、各構成要素の機能に特化したハードウェアにより構成してもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
例えば、情報処理装置900は、接続されている外部の通信デバイスを介して外部装置等と通信を行う場合や、スタンドアローンで処理を行う構成である場合には、通信インタフェース968を備えていなくてもよい。また、通信インタフェース968は、複数の通信方式によって、1又は2以上の外部装置と通信を行うことが可能な構成を有していてもよい。また、情報処理装置900は、例えば、記録媒体956や、操作入力デバイス960等を備えない構成をとることも可能である。
また、本実施形態に係る情報処理装置900は、例えばクラウドコンピューティング等のように、ネットワークへの接続(または各装置間の通信)を前提とした、複数の装置からなるシステムに適用されてもよい。つまり、上述した本実施形態に係る情報処理装置900は、例えば、複数の装置により本実施形態に係る情報処理方法に係る処理を行う情報処理システムとして実現することも可能である。
<<8.補足>>
また、以上に説明した実施形態は、例えば、コンピュータを本実施形態に係る情報処理装置として機能させるためのプログラム、及びプログラムが記録された一時的でない有形の媒体を含むことができる。また、上記プログラムをインターネット等の通信回線(無線通信も含む)を介して頒布してもよい。
さらに、上述した各実施形態の処理における各ステップは、必ずしも記載された順序に沿って処理されなくてもよい。例えば、各ステップは、適宜順序が変更されて処理されてもよい。また、各ステップは、時系列的に処理される代わりに、一部並列的に又は個別的に処理されてもよい。さらに、各ステップの処理方法についても、必ずしも記載された方法に沿って処理されなくてもよく、例えば、他の機能ブロックによって他の方法で処理されていてもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、又は上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)ユーザに提示される仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させる制御部を備える、情報処理装置。
(2)前記制御部は、検知した前記仮想オブジェクトの表示処理量に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させる、上記(1)に記載の情報処理装置。
(3)前記制御部は、前記ユーザから前記仮想オブジェクトの表示位置までの表示距離に応じて、前記仮想オブジェクトの前記表示詳細度を変化させる、上記(2)に記載の情報処理装置。
(4)前記制御部は、前記表示距離が第1の距離である場合、前記表示距離が前記第1の距離よりも小さい第2の距離である場合よりも、前記表示詳細度を大きくする、上記(3)に記載の情報処理装置。
(5)前記制御部は、前記表示距離が前記第1の距離である場合、前記表示距離が前記第2の距離である場合よりも、前記仮想オブジェクトの表示面積を大きくする、上記(4)に記載の情報処理装置。
(6)前記仮想オブジェクトを表示する表示部を更に備え、前記制御部は、前記表示部の表示面積に対する前記仮想オブジェクトの表示面積の割合に応じて、前記仮想オブジェクトの前記表示詳細度を変化させる、上記(2)に記載の情報処理装置。
(7)前記制御部は、前記仮想オブジェクトの表示個数に応じて、前記仮想オブジェクトの前記表示詳細度を変化させる、上記(2)に記載の情報処理装置。
(8)前記制御部は、前記仮想オブジェクトの種別に応じて、前記仮想オブジェクトの前記表示詳細度を変化させる、上記(2)に記載の情報処理装置。
(9)前記制御部は、検知した前記制御部における処理の状態に応じて、前記仮想オブジェクトの前記表示詳細度を動的に変化させる、上記(1)に記載の情報処理装置。
(10)前記制御部は、前記仮想オブジェクトの前記表示フレームレートに応じて、前記仮想オブジェクトの前記表示詳細度を変化させる、上記(9)に記載の情報処理装置。
(11)前記制御部は、前記ユーザ又は前記ユーザの周囲の状態を認識する認識フレームレートに応じて、前記仮想オブジェクトの前記表示詳細度を変化させる、上記(9)に記載の情報処理装置。
(12)前記制御部は、当該制御部の処理能力を少なくとも前記仮想オブジェクトの表示の処理と前記認識の処理とに分配し、前記認識の処理に分配した前記処理能力に応じて、前記仮想オブジェクトの前記表示詳細度を変化させる、上記(11)に記載の情報処理装置。
(13)前記制御部は、検知した前記ユーザの状態に応じて、前記仮想オブジェクトの前記表示詳細度を動的に変化させる、上記(9)~(11)のいずれか1つに記載の情報処理装置。
(14)前記仮想オブジェクトは、第1の仮想オブジェクトと、前記第1の仮想オブジェクトよりも高い識別要求度を有する第2の仮想オブジェクトとを含み、前記制御部は、前記第2の仮想オブジェクトを前記ユーザが注視していると判定した場合には、前記第1の仮想オブジェクトを前記ユーザが注視していると判定した場合よりも、前記第2の仮想オブジェクトの前記表示詳細度を高くする、上記(13)に記載の情報処理装置。
(15)前記制御部は、前記仮想オブジェクトの表示解像度及び前記仮想オブジェクトに対するエフェクト処理のうちの少なくとも一方を変化させる、上記(1)に記載の情報処理装置。
(16)前記制御部は、前記エフェクト処理として、前記仮想オブジェクトに対するシェーディング処理の変更、前記仮想オブジェクトのワイヤーフレーム表示の状態の変更、前記仮想オブジェクトの2次元表示と3次元表示との間の変更、及び、前記仮想オブジェクトの透明度の変更のうちの少なくとも1つを行う、上記(15)に記載の情報処理装置。
(17)前記情報処理装置は、前記ユーザの頭部に装着されるウェアラブル装置であって、装着時に前記ユーザの眼前に位置する表示部をさらに備える、上記(1)に記載の情報処理装置。
(18)前記表示部は透過型ディスプレイであって、前記表示部は、前記仮想オブジェクトを実空間に重畳して表示する、上記(17)に記載の情報処理装置。
(19)ユーザに提示される仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させることを含む、情報処理方法。
(20)コンピュータを、ユーザに提示される仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させる制御部として機能させる、プログラム。
1、900 情報処理装置
10 制御部
12 センサ部
14 記憶部
16、16A、16B 表示部
18 スピーカ
20 通信部
22 操作入力部
100 情報取得部
102 表示パラメータ計算部
104 表示形式判断部
106 出力制御部
120 外向きカメラ
122 内向きカメラ
124 マイク
126 ジャイロセンサ
128 加速度センサ
130 方位センサ
132 位置測位部
134 生体センサ
600 マーカ
602 壁面
604 自動車
700 ユーザ
702 手
800、802a~c、804a~b、806a~c、808a~c、810、812a~c、814a~c、816a~d、818 仮想オブジェクト
818a、b 部分
950 CPU
952 ROM
954 RAM
956 記録媒体
958 入出力インタフェース
960 操作入力デバイス
962 表示デバイス
964 音声出力デバイス
968 通信インタフェース
970 バス
980 センサ

Claims (8)

  1. ユーザに提示される仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させる制御部を備え、
    前記制御部は、前記ユーザ又は前記ユーザの周囲の状態を認識する認識フレームレートに応じて、前記仮想オブジェクトの前記表示詳細度を動的に変化させる、
    情報処理装置。
  2. 前記制御部は、当該制御部の処理能力を少なくとも前記仮想オブジェクトの表示の処理と前記認識の処理とに分配し、前記認識の処理に分配した前記処理能力に応じて、前記仮想オブジェクトの前記表示詳細度を変化させる、請求項に記載の情報処理装置。
  3. 前記制御部は、検知した前記ユーザの状態に応じて、前記仮想オブジェクトの前記表示詳細度を動的に変化させる、請求項に記載の情報処理装置。
  4. 前記仮想オブジェクトは、第1の仮想オブジェクトと、前記第1の仮想オブジェクトよりも高い識別要求度を有する第2の仮想オブジェクトとを含み、
    前記制御部は、前記第2の仮想オブジェクトを前記ユーザが注視していると判定した場合には、前記第1の仮想オブジェクトを前記ユーザが注視していると判定した場合よりも、前記第2の仮想オブジェクトの前記表示詳細度を高くする、
    請求項に記載の情報処理装置。
  5. 前記情報処理装置は、前記ユーザの頭部に装着されるウェアラブル装置であって、
    装着時に前記ユーザの眼前に位置する表示部をさらに備える、請求項1~4のいずれか1項に記載の情報処理装置。
  6. 前記表示部は透過型ディスプレイであって、
    前記表示部は、前記仮想オブジェクトを実空間に重畳して表示する、請求項に記載の情報処理装置。
  7. コンピュータが、ユーザに提示される仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させることを含み、
    前記コンピュータが、前記ユーザ又は前記ユーザの周囲の状態を認識する認識フレームレートに応じて、前記仮想オブジェクトの前記表示詳細度を動的に変化させる、
    情報処理方法。
  8. コンピュータを、ユーザに提示される仮想オブジェクトの表示フレームレートの低下を生じさせる状態を検知し、検知した結果に応じて、前記仮想オブジェクトの表示詳細度を動的に変化させる制御部として機能させる、プログラムであって、
    前記制御部は、前記ユーザ又は前記ユーザの周囲の状態を認識する認識フレームレートに応じて、前記仮想オブジェクトの前記表示詳細度を動的に変化させる、
    プログラム。
JP2019535599A 2017-08-08 2018-05-10 情報処理装置、情報処理方法及びプログラム Active JP7176520B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017152893 2017-08-08
JP2017152893 2017-08-08
PCT/JP2018/018103 WO2019031005A1 (ja) 2017-08-08 2018-05-10 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2019031005A1 JPWO2019031005A1 (ja) 2020-07-09
JP7176520B2 true JP7176520B2 (ja) 2022-11-22

Family

ID=65272825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019535599A Active JP7176520B2 (ja) 2017-08-08 2018-05-10 情報処理装置、情報処理方法及びプログラム

Country Status (5)

Country Link
US (1) US11244496B2 (ja)
EP (1) EP3667622B1 (ja)
JP (1) JP7176520B2 (ja)
CN (1) CN110998666B (ja)
WO (1) WO2019031005A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11721307B1 (en) 2018-11-02 2023-08-08 Meta Platforms Technologies, Llc Beam-racing pixel generation in a display engine
US11625848B2 (en) * 2020-01-30 2023-04-11 Unity Technologies Sf Apparatus for multi-angle screen coverage analysis
US20230222738A1 (en) * 2020-05-25 2023-07-13 Sony Group Corporation Information processing apparatus, information processing method, and program
EP4184444A4 (en) * 2020-07-17 2023-12-20 Sony Group Corporation IMAGE PROCESSING DEVICE, IMAGE PROCESSING METHOD AND PROGRAM
EP4217831A1 (en) * 2020-09-22 2023-08-02 Apple Inc. Attention-driven rendering for computer-generated objects
JP6976395B1 (ja) * 2020-09-24 2021-12-08 Kddi株式会社 配信装置、配信システム、配信方法及び配信プログラム
JP7529950B2 (ja) 2020-11-25 2024-08-07 株式会社Nttドコモ 情報処理システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000296261A (ja) 1999-04-13 2000-10-24 Namco Ltd ゲーム装置及び情報記憶媒体
JP2001229402A (ja) 2000-02-16 2001-08-24 Mitsubishi Electric Corp 3次元画像表示装置、3次元画像表示方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002503854A (ja) 1998-02-17 2002-02-05 サン・マイクロシステムズ・インコーポレーテッド ポリゴンのためのグラフィックス・システム・パフォーマンスの推定
JP2002279449A (ja) 2001-03-19 2002-09-27 Mitsubishi Electric Corp 3次元空間データ送信表示装置、3次元空間データ送信方法、3次元空間データ送信方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004355131A (ja) 2003-05-27 2004-12-16 Canon Inc 複合現実感映像生成方法及び複合現実感画像生成装置
JP2016110565A (ja) 2014-12-10 2016-06-20 富士通株式会社 表示制御方法、情報処理プログラム、及び情報処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3785700B2 (ja) * 1995-12-18 2006-06-14 ソニー株式会社 近似化方法および装置
JP2004086508A (ja) 2002-08-26 2004-03-18 Alpine Electronics Inc 3次元形状データに基づく動画の表示制御方法及びナビゲーション装置
US9529195B2 (en) * 2014-01-21 2016-12-27 Osterhout Group, Inc. See-through computer display systems
TW201604586A (zh) * 2014-07-31 2016-02-01 精工愛普生股份有限公司 顯示裝置、顯示裝置之控制方法、及程式
JP6646361B2 (ja) 2015-04-27 2020-02-14 ソニーセミコンダクタソリューションズ株式会社 画像処理装置、撮像装置、画像処理方法およびプログラム
JP6798106B2 (ja) * 2015-12-28 2020-12-09 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2016157458A (ja) 2016-03-31 2016-09-01 ソニー株式会社 情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002503854A (ja) 1998-02-17 2002-02-05 サン・マイクロシステムズ・インコーポレーテッド ポリゴンのためのグラフィックス・システム・パフォーマンスの推定
JP2000296261A (ja) 1999-04-13 2000-10-24 Namco Ltd ゲーム装置及び情報記憶媒体
JP2001229402A (ja) 2000-02-16 2001-08-24 Mitsubishi Electric Corp 3次元画像表示装置、3次元画像表示方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002279449A (ja) 2001-03-19 2002-09-27 Mitsubishi Electric Corp 3次元空間データ送信表示装置、3次元空間データ送信方法、3次元空間データ送信方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004355131A (ja) 2003-05-27 2004-12-16 Canon Inc 複合現実感映像生成方法及び複合現実感画像生成装置
JP2016110565A (ja) 2014-12-10 2016-06-20 富士通株式会社 表示制御方法、情報処理プログラム、及び情報処理装置

Also Published As

Publication number Publication date
US20210142552A1 (en) 2021-05-13
EP3667622B1 (en) 2023-08-23
CN110998666A (zh) 2020-04-10
JPWO2019031005A1 (ja) 2020-07-09
US11244496B2 (en) 2022-02-08
EP3667622A1 (en) 2020-06-17
WO2019031005A1 (ja) 2019-02-14
EP3667622A4 (en) 2020-07-29
CN110998666B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
JP7176520B2 (ja) 情報処理装置、情報処理方法及びプログラム
US12008151B2 (en) Tracking and drift correction
CN108027652B (zh) 信息处理设备、信息处理方法以及记录介质
JP6246829B2 (ja) ヘッドマウントディスプレイのリソース管理
WO2016203792A1 (ja) 情報処理装置、情報処理方法及びプログラム
US20150170418A1 (en) Method to Provide Entry Into a Virtual Map Space Using a Mobile Device's Camera
US20200202161A1 (en) Information processing apparatus, information processing method, and program
US20180219975A1 (en) Sharing Mediated Reality Content
US20190064528A1 (en) Information processing device, information processing method, and program
WO2019150880A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US11004273B2 (en) Information processing device and information processing method
JP2017182247A (ja) 情報処理装置、情報処理方法、およびプログラム
JP7400721B2 (ja) 情報処理装置、情報処理方法及びプログラム
EP2706508B1 (en) Reducing latency in an augmented-reality display
US11442543B1 (en) Electronic devices with monocular gaze estimation capabilities

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220804

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: 20221011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221024

R151 Written notification of patent or utility model registration

Ref document number: 7176520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151