JP2024019911A - ヘッドマウントディスプレイおよび画像表示方法 - Google Patents
ヘッドマウントディスプレイおよび画像表示方法 Download PDFInfo
- Publication number
- JP2024019911A JP2024019911A JP2022122680A JP2022122680A JP2024019911A JP 2024019911 A JP2024019911 A JP 2024019911A JP 2022122680 A JP2022122680 A JP 2022122680A JP 2022122680 A JP2022122680 A JP 2022122680A JP 2024019911 A JP2024019911 A JP 2024019911A
- Authority
- JP
- Japan
- Prior art keywords
- image
- display
- projection plane
- head
- mounted display
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 27
- 238000001514 detection method Methods 0.000 claims description 23
- 230000033001 locomotion Effects 0.000 claims description 16
- 230000004397 blinking Effects 0.000 claims description 3
- 210000005252 bulbus oculi Anatomy 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 19
- 210000001508 eye Anatomy 0.000 description 17
- 230000008859 change Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 230000007613 environmental effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 6
- 210000003128 head Anatomy 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000036544 posture Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 201000003152 motion sickness Diseases 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 210000000744 eyelid Anatomy 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 206010025482 malaise Diseases 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/361—Reproducing mixed stereoscopic images; Reproducing mixed monoscopic and stereoscopic images, e.g. a stereoscopic image overlay window on a monoscopic image background
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8082—Virtual reality
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0179—Display position adjusting means not related to the information to be displayed
- G02B2027/0187—Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Optics & Photonics (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
【課題】立体視を実現するディスプレイにおいて、撮影画像を適切に表示させる。【解決手段】ヘッドマウントディスプレイにおいてステレオカメラ110は実空間を撮影する。撮影画像は、床274に対応する部分312と、仮想的な球310の内面とを含む投影面に投影する。床のポイント318の像は投影面上でも同じ位置に投影され、物体300の像はポイント316に投影される。投影された画像を、ユーザの視点に対応する仮想カメラ260aなどから見た状態を描画することにより表示画像を生成する。【選択図】図12
Description
この発明は、立体視を実現するヘッドマウントディスプレイ、および画像表示方法に関する。
対象空間を自由な視点から鑑賞できる画像表示システムが普及している。例えばヘッドマウントディスプレイにパノラマ映像を表示し、ヘッドマウントディスプレイを装着したユーザの視線方向に応じた画像が表示されるようにしたシステムが開発されている。ヘッドマウントディスプレイにおいて、視差を有するステレオ画像を左目用、右目用として表示させることにより、ユーザには表示された画像が立体的に見え、画像世界への没入感を高めることができる。
また実空間を撮影するカメラをヘッドマウントディスプレイに設け、その撮影画像にコンピュータグラフィクスを合成することにより、拡張現実や複合現実を実現する技術も実用化されている。当該撮影画像はまた、密閉式のヘッドマウントディスプレイに表示させることにより、ユーザが周囲の様子を確認したり、ゲームのプレイエリアを設定したりする際にも有用となる。
ヘッドマウントディスプレイにリアルタイムの撮影画像を表示させる場合、ステレオ画像をどのように生成するかが問題になる。具体的には、元の撮影画像の視点を、表示世界を見るユーザの視点に変換したり、当該視点からの視差を与えたりする処理が適切でないと、撮影画像が不自然に見えたり、プレイエリアを設定しづらかったりすることが起こり得る。場合によっては、映像酔いなどユーザの体調不良につながる危険もある。
本発明はこうした課題に鑑みてなされたものであり、その目的は、ヘッドマウントディスプレイなど立体視を実現するディスプレイにおいて、撮影画像を適切に表示させる技術を提供することにある。
上記課題を解決するために、本発明のある態様はヘッドマウントディスプレイに関する。このヘッドマウントディスプレイは、搭載されたカメラによる撮影画像のデータを取得する撮影画像取得部と、表示対象の仮想3次元空間に設定された投影面に撮影画像を表し、それを仮想カメラから見てなる像を描画することにより、当該撮影画像を含む表示画像を生成する表示画像生成部と、投影面を状況に応じて変化させる投影面制御部と、表示画像を出力する出力部と、を備えたことを特徴とする。
本発明の別の態様は画像表示方法に関する。この画像表示方法はヘッドマウントディスプレイが、搭載されたカメラによる撮影画像のデータを取得するステップと、表示対象の仮想3次元空間に設定された投影面に撮影画像を表し、それを仮想カメラから見てなる像を描画することにより、当該撮影画像を含む表示画像を生成するステップと、投影面を状況に応じて変化させるステップと、表示画像のデータを表示パネルに出力するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、ヘッドマウントディスプレイなど立体視を実現するディスプレイにおいて、撮影画像を適切に表示させることができる。
図1はヘッドマウントディスプレイ100の外観例を示す。この例においてヘッドマウントディスプレイ100は、出力機構部102および装着機構部104で構成される。装着機構部104は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド106を含む。出力機構部102は、ヘッドマウントディスプレイ100をユーザが装着した状態において左右の目を覆うような形状の筐体108を含み、内部には装着時に目に正対するように表示パネルを備える。
筐体108内部にはさらに、ヘッドマウントディスプレイ100の装着時に表示パネルとユーザの目との間に位置し、画像を拡大して見せる接眼レンズを備える。ヘッドマウントディスプレイ100はさらに、装着時にユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。またヘッドマウントディスプレイ100はモーションセンサを内蔵し、ヘッドマウントディスプレイ100を装着したユーザの頭部の並進運動や回転運動、ひいては各時刻の位置や姿勢を検出する。
ヘッドマウントディスプレイ100はさらに、筐体108の前面に、実空間を左右の視点から撮影するステレオカメラ110を備える。本実施の形態では、ステレオカメラ110が撮影している動画像を、少ない遅延で表示させることにより、ユーザが向いた方向の実空間の様子をそのまま見せるモードを提供する。以後、このようなモードを「シースルーモード」と呼ぶ。例えばヘッドマウントディスプレイ100は、コンテンツの画像を表示していない期間を自動でシースルーモードとする。
これによりユーザは、コンテンツの開始前、終了後、中断時などに、ヘッドマウントディスプレイ100を外すことなく周囲の状況を確認できる。シースルーモードはこのほか、ユーザが明示的に操作を行ったことを契機に開始させてもよいし、プレイエリアの設定時やユーザがプレイエリアから逸脱した時など、状況に応じて、開始させたり終了させたりしてよい。
ここでプレイエリアは、ヘッドマウントディスプレイ100により仮想世界を見ているユーザが動き回ることのできる実世界の範囲であり、例えば周囲の物に衝突することなく安全な移動が保証される範囲である。なお図示する例でステレオカメラ110は、筐体108の前面下方に設けられているが、その配置は特に限定されない。またステレオカメラ110以外のカメラが設けられていてもよい。
ステレオカメラ110による撮影画像は、コンテンツの画像としても利用できる。例えばカメラの視野にある実物体に合わせた位置、姿勢、動きで、仮想オブジェクトを撮影画像に合成して表示することにより、拡張現実(AR:Augmented Reality)や複合現実(MR:Mixed Reality)を実現できる。また撮影画像を表示に含めるか否かによらず、撮影画像を解析し、その結果を用いて、描画するオブジェクトの位置、姿勢、動きを決定づけることもできる。
例えば、撮影画像にステレオマッチングを施すことにより、被写体の像の対応点を抽出し、三角測量の原理で被写体までの距離を取得してもよい。あるいはVisual SLAM(Simultaneous Localization and Mapping)など周知の技術により、周囲の空間に対するヘッドマウントディスプレイ100、ひいてはユーザの頭部の位置や姿勢を取得してもよい。Visual SLAMは、カメラが搭載された移動体の自己位置推定と環境地図の作成を、撮影画像を用いて同時に行う技術である。これらの処理により、ユーザの視点の位置や視線の向きに対応する視野で仮想世界を描画し表示させることができる。
図2は、本実施の形態における画像表示システムの構成例を示す。画像表示システム10において、ヘッドマウントディスプレイ100は、無線通信またはUSB Type-Cなどの周辺機器を接続するインターフェースによりコンテンツ処理装置200に接続される。コンテンツ処理装置200は、さらにネットワークを介してサーバに接続されてもよい。その場合、サーバは、複数のユーザがネットワークを介して参加できるゲームなどのオンラインアプリケーションをコンテンツ処理装置200に提供してもよい。
コンテンツ処理装置200は、基本的に、コンテンツを処理して表示画像を生成し、ヘッドマウントディスプレイ100に送信することで表示させる情報処理装置である。典型的にはコンテンツ処理装置200は、ヘッドマウントディスプレイ100を装着したユーザの頭部の位置や姿勢に基づき視点の位置や視線の方向を特定し、それに対応する視野で表示画像を生成する。例えばコンテンツ処理装置200は、電子ゲームを進捗させつつ、ゲームの舞台である仮想世界を表す画像を生成し、VR(仮想現実:Virtual Reality)を実現する。
本実施の形態においてコンテンツ処理装置200が処理するコンテンツは特に限定されず、上述のとおりARやMRであってもよいし、映画などあらかじめ表示画像が制作されているものであってもよい。
図3は、本実施の形態の画像表示システム10におけるデータの経路を模式的に示している。ヘッドマウントディスプレイ100は上述のとおり、ステレオカメラ110と表示パネル122を備える。表示パネル122は、液晶ディスプレイや有機ELディスプレイなどの一般的な表示機構を有するパネルである。本実施の形態において表示パネル122は、ユーザの左目および右目に正対する左右の領域に、動画像のフレームを構成する左目用および右目用の画像をそれぞれ表示する。
左目用画像と右目用画像を、両眼の間隔に対応する視差を有するステレオ画像とすることにより、表示対象を立体的に見せることができる。表示パネル122は、左目用のパネルと右目用のパネルを左右に並べてなる2つのパネルで構成してもよいし、左目用画像と右目用画像を左右に接続した画像を表示する1つのパネルであってもよい。
ヘッドマウントディスプレイ100はさらに、画像処理用集積回路120を備える。画像処理用集積回路120は例えば、CPUを含む様々な機能モジュールを搭載したシステムオンチップである。なおヘッドマウントディスプレイ100はこのほか、上述のとおりジャイロセンサ、加速度センサ、角加速度センサなどのモーションセンサや、DRAM(Dynamic Random Access Memory)などのメインメモリ、ユーザに音声を聞かせるオーディオ回路、周辺機器を接続するための周辺機器インターフェース回路などが備えられてよいが、ここでは図示を省略している。
図では、ステレオカメラ110が撮影した画像を表示に含めるケースにおける、2通りのデータ経路を矢印で示している。ARやMRを実現する場合、一般にはステレオカメラ110による撮影画像を、コンテンツを処理する主体に取り込み、そこで仮想オブジェクトと合成して表示画像を生成する。図示する画像表示システム10においてコンテンツを処理する主体はコンテンツ処理装置200のため、矢印Bに示すように、ステレオカメラ110で撮影された画像は、画像処理用集積回路120を経て一旦、コンテンツ処理装置200に送信される。
そして仮想オブジェクトが合成されるなどしてヘッドマウントディスプレイ100に返され、表示パネル122に表示される。一方、シースルーモードの場合、矢印Aに示すように、ステレオカメラ110で撮影された画像を、画像処理用集積回路120で表示に適した画像に補正したうえ表示パネル122に表示させることができる。矢印Aの経路によれば、矢印Bの経路と比較しデータの伝送経路が格段に短くなるため、画像の撮影から表示までの時間を短縮できるとともに、伝送に要する消費電力を軽減させることができる。
ただし本実施の形態におけるシースルーモードのデータ経路を矢印Aに限定する主旨ではない。つまり矢印Bの経路を採用し、ステレオカメラ110により撮影された画像を、一旦、コンテンツ処理装置200に送信してもよい。そして、コンテンツ処理装置200側で表示画像として補正したうえで、ヘッドマウントディスプレイ100に返すことで表示に至る構成としてもよい。
いずれにしろ本実施の形態では好適には、ステレオカメラ110による撮影画像を行単位など1フレームより小さい単位で順次、パイプライン処理することにより、表示までの時間を最小限にする。これにより、頭部の動きに対し映像が遅れて表示され、ユーザが違和感や映像酔いを覚える可能性を低くする。
図4は、ヘッドマウントディスプレイ100の表示世界を形成する3次元空間と、撮影画像から生成される表示画像の関係を説明するための図である。なお以後の説明では、シースルーモードか否かによらず、表示画像に変換された撮影画像をシースルー画像と呼ぶ。図の上段は、表示画像生成時に構成される仮想的な3次元空間(以後、表示世界と呼ぶ)を俯瞰した状態を示している。仮想カメラ260a、260bは、表示画像を生成するための仮想的なレンダリングカメラであり、ユーザの左視点、右視点に対応する。図の上方向が奥行き方向(仮想カメラ260a、260bからの距離)を表す。
シースルー画像268a、268bは、ヘッドマウントディスプレイ100前方の室内の様子をステレオカメラ110が撮影した画像に対応し、左目用、右目用の表示画像の1フレーム分を示している。当然、ユーザが顔の向きを変化させれば、シースルー画像268a、268bの視野も変化する。シースルー画像268a、268bを生成するため、ヘッドマウントディスプレイ100は例えば、表示世界における所定の距離Diに撮影画像264を配置する。
より詳細にはヘッドマウントディスプレイ100は、例えば仮想カメラ260a、260bをそれぞれ中心とする半径Diの球の内面に、ステレオカメラ110が撮影した左視点、右視点の撮影画像264を表す。そしてヘッドマウントディスプレイ100は、仮想カメラ260a、264bから撮影画像264を見てなる像を描画することにより、左目用、右目用のシースルー画像268a、268bを生成する。
これにより、ステレオカメラ110による撮影画像264は、表示世界を見るユーザの視点での画像に変換される。また同じ被写体の像は、左目用のシースルー画像268aでは右寄りに、右目用のシースルー画像268bでは左寄りに表れる。左視点、右視点の撮影画像は元々、視差を持って撮影されているため、シースルー画像268a、268bにおいても、被写体の像はその実際の位置(距離)に応じて、様々なずれ量で表れる。これによりユーザは、被写体の像に距離感を知覚する。
このように、撮影画像264を一様な仮想面上に表し、それをユーザに対応する視点から見た状態を表示画像とすると、被写体の配置や構造を正確にトレースした3次元の仮想世界を構築せずとも、奥行き感のある撮影画像を表示できる。また撮影画像264を表す面(以後、投影面と呼ぶ)を仮想カメラ260から所定距離を保つ球面とすれば、方角によらず想定される範囲に存在する物の像を、一様な品質で表すことができる。結果として、小さい処理負荷での低遅延性と臨場感を両立させることができる。一方、このような手法によれば、投影面の設定によって像の見え方が変化し、状況によっては不都合が生じる可能性がある。
図5は、投影面を球面としたときの問題点を説明するための図である。同図は、図4の上段に示した表示世界の3次元空間を側面から見た様子であり、左右の仮想カメラのうち一方の仮想カメラ260aとともに、ステレオカメラ110のうち対応する側のカメラを示している。上述のとおり、ステレオカメラ110で撮影された画像を、投影面272に投影し、それを仮想カメラ260aから見た様子を表示画像とする。この例で投影面272は例えば、仮想カメラ260aを中心とする半径2mの球の内面である。
仮想カメラ260aとステレオカメラ110はヘッドマウントディスプレイ100、ひいてはユーザの頭部の動きに連動する。室内の環境でステレオカメラ110の視野に床274が入ると、例えば床上のポイント276の像は、投影面272において、ステレオカメラ110からポイント276への視線280が交差する位置278に投影される。これを仮想カメラ260aから見た表示画像では、本来は視線282の方向にあるべきポイント276が、視線284の方向に表され、結果としてユーザには、距離Dだけ手前のポイント286のように見えてしまう。
またポイント276が遠くにあるほど、投影面272上でステレオカメラ110からの視線280が交差する位置278が高くなる。その像を仮想カメラ260aから見ると、通常の透視投影において生じる、距離に対する像高の変化より大きい変化で像が高くなる。このためユーザには、床がせり上がっているように見えてしまう。このような現象は、ステレオカメラ110と仮想カメラ260aの光学中心および光軸方向の差によって生じる。また床や天井など、奥行き方向に延伸する面の像ほど不自然さが強調されやすい。
そこで本実施の形態では、状況に応じて撮影画像の投影面を変化させる。図6は、本実施の形態において設定される投影面の一例を説明するための図である。同図は図5と同様、表示世界の3次元空間を側面から見た様子であるが、投影面290を実世界での床274の上面に対応する面としている。ここで「対応する面」とは、仮想カメラ260aから見て同じ位置、範囲、姿勢にある面を意味する。ただし表示世界に設定する投影面290はヘッドマウントディスプレイ100が認識している床274の面に基づき決定され、床274の実際の上面との厳密な一致を必須とする主旨ではない。
投影面290を床274の上面に対応させると、ステレオカメラ110による撮影画像におけるポイント292の像は、表示世界においても投影面290上の同じ位置に表される。これを仮想カメラ260aから見れば、同じ方向の同じ位置にそのポイント292があるように見える。つまり表示画像上、床の像は床の位置に表されることになり、手前側で縮んで見えたり、奥側でせり上がって見えたりすることなく、自然な床として視認させることができる。この態様によれば、見た目の自然さばかりでなく、床の像に合わせてコンピュータグラフィクスを合成する場合に、床の像が正確でなかったり視点によって像が変化したりすることにより、両者がずれて見えるのを防ぐ効果もある。
このように、撮影画像を表示させる状況によって物体に与えられる優先度や、物体の特性に応じて、投影面を適応的に設定することにより、簡易な処理であっても十分な品質で画像を表示できる。すなわち投影面は状況によって様々でよく、天井など床以外の物の面に対応させてもよいし、図5で示したような、物体と独立に設定した面と組み合わせたり、両者を切り替えて用いたりしてもよい。物体と独立に設定した面を用いる場合、当該面のサイズや形状を変化させてもよい。
図7は、ヘッドマウントディスプレイ100の内部回路構成を示す。ヘッドマウントディスプレイ100は、CPU(Central Processing Unit)136、GPU(Graphics Processing Unit)138、メインメモリ140、表示部142を含む。これらの各部はバス152を介して相互に接続されている。バス152にはさらに、音声出力部144、通信部146、モーションセンサ148、ステレオカメラ110、および記憶部150が接続される。なおバス152の構成は限定されず、例えば複数のバスをインターフェースで接続した構成としてもよい。
CPU136は、記憶部150に記憶されているオペレーティングシステムを実行することによりヘッドマウントディスプレイ100の全体を制御する。またCPU136は、記憶部150から読み出されてメインメモリ140にロードされた、あるいは通信部146を介してダウンロードされた、各種プログラムを実行する。GPU138は、CPU136からの描画命令にしたがって画像の描画や補正を行う。メインメモリ140は、RAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
表示部142は、図3で示した表示パネル122を含み、ヘッドマウントディスプレイ100を装着したユーザの眼前に画像を表示する。音声出力部144は、ヘッドマウントディスプレイ100の装着時にユーザの耳に対応する位置に設けたスピーカーやイヤホンで構成され、ユーザに音声を聞かせる。
通信部146は、コンテンツ処理装置200との間でデータを送受するためのインターフェースであり、Bluetooth(登録商標)など既知の無線通信技術、あるいは有線通信技術により通信を実現する。モーションセンサ148はジャイロセンサ、加速度センサ、角加速度センサなどを含み、ヘッドマウントディスプレイ100の傾き、加速度、角速度などを取得する。ステレオカメラ110は、図1で示したとおり、周囲の実空間を左右の視点から撮影するビデオカメラの対である。記憶部150はROM(Read Only Memory)などのストレージで構成される。
図8は、本実施の形態におけるヘッドマウントディスプレイ100の機能ブロックの構成を示している。図示する機能ブロックは、ハードウェア的には、図7に示した回路構成で実現でき、ソフトウェア的には、記憶部150からメインメモリ140にロードした、データ入力機能、データ保持機能、画像処理機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
またヘッドマウントディスプレイ100は、図示した以外の機能を有していてもよい。さらに、図示する機能ブロックのうちの一部は、コンテンツ処理装置200が備えていてもよい。ヘッドマウントディスプレイ100において、画像処理部70は、図3の画像処理用集積回路120によって実現し得る。
ヘッドマウントディスプレイ100において画像処理部70は、撮影画像のデータを取得する撮影画像取得部72、撮影画像の投影面を制御する投影面制御部76、表示画像のデータを生成する表示画像生成部74、および、表示画像のデータを出力する出力制御部78を備える。画像処理部70はさらに、実物体の表面を検出する物体表面検出部80、環境地図のデータを格納する物体表面データ記憶部82、プレイエリアを設定するプレイエリア設定部84、プレイエリアのデータを格納するプレイエリア記憶部86、およびシースルーモードなどの表示モードを制御する表示モード制御部88を備える。
撮影画像取得部72は、ステレオカメラ110から撮影画像のデータを所定のフレームレートで取得する。投影面制御部76は、撮影画像を含む表示画像を生成する期間において、当該撮影画像の投影面を状況に応じて変化させる。投影面制御部76は例えば、撮影画像の表示目的やユーザの注目対象に応じて投影面を決定する。一例として投影面制御部76は、プレイエリアを設定している期間や、ゲーム実行中にプレイエリアを示す必要が生じたときに、図6で示したように投影面を床面に対応させる。
これにより、床の像が不自然に見えたり、プレイエリアを示すグラフィクスが床の像と乖離して見えたりする可能性を低くする。投影面を変化させることにより像を自然に見せたりグラフィクスとの融合を精度よく行ったりする対象は床に限らず、天井、コントローラ、家具などいかなる物体でもよい。またそのような目的で決定する投影面は、物体そのものに対応させるのに限らず、物体と独立に設定した仮想的な面であってもよい。
発生し得る各種状況における最適な投影面の情報は、事前に論理上、あるいは実験などにより求めておき、投影面制御部76の内部メモリに格納しておく。運用時、投影面制御部76は、発生した状況に対応づけられた投影面を特定し、表示画像生成部74に通知する。なお投影面を物体表面に対応させる場合、投影面制御部76は、物体検出の結果を利用して投影面の位置、形状、姿勢の少なくともいずれかを指定する。あるいはそれらのデータの規定値を物体ごとにあらかじめ準備しておき、投影面制御部76はそれを用いて投影面を指定してもよい。
表示画像生成部74は、シースルーモードなど撮影画像を表示に含める期間において、投影面制御部76から通知された投影面に撮影画像を投影したうえ、それを仮想カメラから見た様子を表示画像として生成する。この際、表示画像生成部74は、ヘッドマウントディスプレイ100の位置や姿勢を、撮影画像の解析結果やモーションセンサの計測値に基づき所定のレートで取得し、それに応じて仮想カメラの位置や姿勢を決定する。
表示画像生成部74は、そのようにして生成したシースルー画像にコンピュータグラフィクスを重畳させ、各種情報を提示したりARやMRなどのコンテンツ画像を生成したりしてよい。表示画像生成部74はまた、VRなど撮影画像を含まないコンテンツ画像を生成してよい。コンテンツ画像を生成する場合は特に、コンテンツ処理装置200が当該機能の少なくとも一部を担ってよい。
出力制御部78は、表示画像のデータを所定のフレームレートで表示画像生成部74から取得し、表示に必要な処理を施して表示パネル122に出力する。当該表示画像は、左目用、右目用の画像対で構成される。出力制御部78は、接眼レンズを介して見たときに歪みのない画像が視認されるように、歪曲収差や色収差を打ち消す方向に表示画像を補正してよい。出力制御部78はそのほか、表示パネル122に対応する各種データ変換を行ってよい。
物体表面検出部80は、実世界においてユーザの周囲にある実物体の面を検出する。例えば物体表面検出部80は、物体表面上の特徴点分布を3次元空間に表した環境地図のデータを生成する。この場合、物体表面検出部80は、撮影画像取得部72から撮影画像のデータを逐次取得し、上述したVisual SLAMを実行して環境地図のデータを生成する。Visual SLAMは、ステレオ画像から抽出した対応点に基づき、物体表面の特徴点の3次元位置座標を取得するとともに、時系列順のフレームにおいて特徴点を追跡することにより、ステレオカメラ110の位置姿勢と環境地図を並行して取得する技術である。ただし物体表面検出部80が行う検出手法や、検出結果の表現形式は特に限定されない。
物体表面データ記憶部82は、物体表面検出部80による検出結果を示すデータ、例えば環境地図のデータを格納する。投影面制御部76は、投影面を対応させるべき物体表面の位置や構造を、物体表面データから取得し、それに応じて投影面を適切に決定する。プレイエリア設定部84は、ゲームなどのアプリケーションの実行に先立ち、プレイエリアを設定する。プレイエリア設定部84はまず、物体表面検出部80との連携により、ユーザの周囲にある家具や壁などの面を特定し、それらに衝突する恐れのない床面の範囲をプレイエリアとして決定する。
プレイエリア設定部84はさらに、一旦決定したプレイエリアの範囲や境界を表すグラフィクスをシースルー画像に重畳させてなる表示画像を、表示画像生成部74に生成させ表示させることにより、ユーザによるプレイエリアの編集操作を受け付けてよい。そしてプレイエリア設定部84は、図示しない入力装置などを介したユーザ操作の内容を取得し、それに応じてプレイエリアの形状を変更する。プレイエリア記憶部86は、そのように決定されたプレイエリアのデータを格納する。
表示モード制御部88は、ヘッドマウントディスプレイ100の表示モードを制御する。表示モードは、大きくはシースルーモードとコンテンツ画像表示モードに分けられるが、ステレオカメラ110による撮影画像を表示に含める状況(モード)として細分化すると、例えば次のようなものがある。
a.ユーザがヘッドマウントディスプレイを装着した直後やコンテンツを実行していない期間
b.プレイエリアの編集操作を行っている期間
c.VRゲームなどのコンテンツ実行中、プレイエリアからの逸脱に係る警告をユーザに与えるとき
d.コンテンツ画像がARやMRの場合
b.プレイエリアの編集操作を行っている期間
c.VRゲームなどのコンテンツ実行中、プレイエリアからの逸脱に係る警告をユーザに与えるとき
d.コンテンツ画像がARやMRの場合
aの状況では、表示画像生成部74は、シースルー画像のみを表示画像とすることにより、ユーザが周囲の状況を確認したり、コントローラを手にとったりするのを支援する。あるいは表示画像生成部74は、コントローラの位置を示す図形をシースルー画像に重畳させることで、ユーザがコントローラを見つけやすいようにしてもよい。
bの状況では、表示画像生成部74は、プレイエリアの境界を表したグラフィクスをシースルー画像に重畳させ表示画像とする。これにより、実世界においてプレイエリアが及ぶ範囲をユーザに確認させたり、グラフィックスの変形操作をユーザから受け付け、プレイエリアの編集を可能にしたりする。
cの状況は、VRゲームなどを実行中、ユーザがプレイエリアの境界に一定以上、近づいたり、プレイエリアの外に出てしまったりしたときに発生する。この場合、表示画像生成部74は例えば、元のコンテンツ画像からシースルー画像へ表示を切り替え、プレイエリアの境界を表すグラフィクスを重畳させる。これによりユーザは、自分の位置を確認しつつ安全な場所に移動したうえでゲームを再開できる。dの状況では、表示画像生成部74は、シースルー画像上の被写体の像に合うように仮想オブジェクトを合成したコンテンツ画像を生成する。
表示モード制御部88は、これらの状況の契機に係る信号を、図示しないヘッドマウントディスプレイ装着センサ、入力装置、プレイエリア設定部84、コンテンツ処理装置200などから取得する。そして適宜、各種モードの開始や終了を判定し、対応する表示画像の生成を表示画像生成部74に要求する。あるいは表示モード制御部88は、ユーザの位置を追跡してプレイエリアのデータと照合することにより、cの状況の開始や終了を判定し、対応する表示画像の生成を表示画像生成部74に要求してもよい。ユーザの位置情報は、ステレオカメラ110による撮影画像の解析結果やモーションセンサの計測値などに基づき取得できる。
投影面制御部76は、表示モード制御部88が判定する各種モードの開始や終了のタイミングで、必要に応じて撮影画像の投影面を変化させる。なお投影面制御部76は、上述したモードの全てで投影面を変化させてもよいし、一部のモードでのみ、投影面を変化させてもよい。また本実施の形態において投影面を変化させる状況は上記の表示モードに限らない。
例えばユーザの着目対象が変化したら、当該対象物体に合わせて投影面を切り替えてもよい。ユーザの着目対象は、表示画像の中心にある物としてもよいし、注視点検出器によって厳密に特定してもよい。またARやMRを実現する場合、主たる仮想オブジェクトの近傍にある実物体を着目対象と推定してもよい。また投影面制御部76から投影面の切り替えが要求された際、表示画像生成部74は、投影面の切り替えを表示画像に徐々に反映させるアニメーションの表示期間を設けてもよい。このような遷移期間を設けることで、像の見た目が急に変化することによる違和感を軽減できる。
あるいは表示画像生成部74は、ユーザが瞬きをする期間を捉え、そのタイミングで投影面を切り替えてもよい。当該期間の検出には、ヘッドマウントディスプレイ100が備える図示しない注視点検出器を利用できる。注視点検出器は、赤外線などの参照光をユーザの眼に照射し、その反射光を撮影することにより、眼球の動きに基づき視線の向く位置を特定する一般的な装置である。この場合、表示画像生成部74は、ユーザの眼球の撮影画像に基づき、瞼が閉じ始めるタイミングを検出し、当該タイミングから、瞬きに要する一般的な時間内に投影面を切り替える。このようにしても、像の見た目が変化する瞬間が視認されづらくなる。
次に、投影面を床に対応させる代表的な状況として、プレイエリアの設定処理について説明する。図9は、プレイエリア設定部84がプレイエリアを設定する処理手順を示すフローチャートである。このフローチャートは、ユーザがヘッドマウントディスプレイ100を装着し、プレイエリアの初期設定または再設定を要求したときに開始される。これに応じてプレイエリア設定部84は、ステレオカメラ110による撮影画像の取得を開始する(S10)。
次にプレイエリア設定部84は、物体表面検出部80との連携によりプレイエリアを検出する(S12)。詳細には、プレイエリア設定部84はまず、表示画像生成部74を介して表示パネル122にシースルー画像を表示させたうえ、周囲を見回すようユーザに促すメッセージを提示させる。ユーザがシースルー画像を見ながら、周囲を見回したり移動したりすることにより、床、家具、壁などが映る撮影画像が取得される。物体表面検出部80は当該撮影画像を用いて実物体の面を検出し、環境地図などのデータを生成する。
プレイエリア設定部84は、ヘッドマウントディスプレイ100が備える加速度センサの出力と撮影画像のフレームとの対応に基づき、検出された物体の面のうち、重力と垂直な面を特定することで床を検出する。さらにプレイエリア設定部84は、床面を基準としてユーザの周囲に存在する家具や壁などの障害物の面を特定する。プレイエリア設定部84は、それらの障害物の面で囲まれた領域の内側に、プレイエリアの境界面を設定する。表示画像生成部74は、S12の処理において終始、シースルー画像を表示させてよい。
次にプレイエリア設定部84は、床面の高さ調整の操作をユーザより受け付ける(S14)。この際、表示画像生成部74は、床面を示すオブジェクトをシースルー画像に重畳させることにより、S12で検出された床面の高さを明示する。ユーザが必要に応じて当該オブジェクトを上下させると、プレイエリア設定部84はそれを受け付け、データ上の床面の高さを更新する。
続いてプレイエリア設定部84は、必要に応じて床面の高さを更新したプレイエリアの様子をユーザに提示する(S16)。この際、表示画像生成部74は、プレイエリアである床の範囲やその境界面を示すオブジェクトを、シースルー画像に重畳させた表示画像を生成し表示させる。そしてプレイエリア設定部84は、プレイエリアを調整する操作をユーザより受け付ける(S18)。例えばプレイエリア設定部84は、プレイエリアを示すオブジェクトを広げたり狭めたり、変形させたりする操作を受け付ける。ユーザがそのような調整操作を行うと、プレイエリア設定部84はそれを受け付け、プレイエリアのデータを修正したうえ、プレイエリア記憶部86に格納する(S20)。
図10は、図9のS16において提示されるプレイエリアのオブジェクトを例示している。プレイエリアオブジェクト60は、床面部62と境界面部64を含む。床面部62は、床面におけるプレイエリアの範囲を表す。境界面部64はプレイエリアの境界面を表し、例えば床面に対し垂直に交わる面で構成される。床面部62と境界面部64は例えば、半透明の格子形状のオブジェクトとして表す。
表示画像生成部74は実際には、図示するようなプレイエリアオブジェクト60を、シースルー画像と融合するように重畳させて表示画像とする。図9のS14において床面の高さ調整を受け付ける際も、表示画像生成部74は、床面を示すオブジェクトをシースルー画像に重畳させて表示画像とする。これらの状況において表示画像生成部74は、3次元の表示世界(ワールド座標系)に対し、重畳表示すべきオブジェクトを配置して描画する一方、シースルー画像は投影面に投影した撮影画像に基づき描画する。
そのため投影面が適切でないと、床面の撮影画像とオブジェクトが重なって見えず、ユーザが各種調整に手間取ったり、正確な調整ができなかったりすることがあり得る。本実施の形態では、少なくとも床面を調整対象としている期間、あるいはそれ以外の期間であってもユーザが床に着目していることが明らかな期間は、投影面を床に対応させる。これにより像が正確に表され、ユーザは違和感なく容易に精度のよい調整を行える。
一方、投影面を床のみに対応させた場合、床以外の物の像に悪影響が及ぶことが考えられる。図11は、本実施の形態において投影面を床のみに対応させた場合の問題点を説明するための図である。同図は図6と同様、表示世界の3次元空間を側面から見た様子であり、投影面290を床274の上面に対応させている。この例では、ヘッドマウントディスプレイ100、ひいてはステレオカメラ110の近傍に、物体300が存在することを想定している。物体300は例えば、ユーザが把持しているゲームコントローラである。
投影面290を床274のみに対応させると、物体300の像は、ステレオカメラ110から見て視線304の先の、はるか遠方に投影されてしまう。これを仮想カメラ260aで見た場合、本来は視線302の方向に見えるべき像が、視線306の先の遠方に見えるような表示画像が生成されることになる。物体300がステレオカメラ110に近いほど、また視野の上方にあるほど、このような乖離が大きくなる。
上述のaの状況において、ユーザがコントローラを手にとりたい場合や、コントローラを示す図形をシースルー画像に重畳表示させる場合などは、ユーザがコントローラの距離感をつかみにくかったり、図形と像がずれたりして、余計に手間取ることにもなり得る。そこで投影面制御部76は、複数種類の面を組み合わせることにより、位置や特性の異なる複数の物体が存在しても、極力乖離なく見せるようにする。
図12は、複数種類の面を組み合わせて投影面とする態様を説明するための図である。同図は図11と同様、表示世界の3次元空間を側面から見た様子を示しているが、投影面は太線で示すように、床274上面に対応させる部分312と、球310の内面部分とで構成される。球310の内面部分は図5で示したのと同様、仮想カメラ260aを中心とした仮想的な面である。床274のうち、投影面を対応させる部分312は、球310の内側の領域である。結果として投影面は、平面と球内面を組み合わせた連続面となる。
両者の接合部分314は、角度が不連続に変化し像にアーティファクトが生じないよう、曲面で滑らかにつないでよい。このような投影面によれば、ステレオカメラ110による撮影画像中、物体300の像は、球310の内面部分のポイント316付近に投影される。これを仮想カメラ260aから見た表示画像では、図11のケースと比較し、物体300の像の見かけの位置が、相対的に実際の物体300の位置の近くに表される。
それと同時に、撮影画像中の床274のうち、少なくとも投影面が床274と対応している部分312の像は、表示画像において変形なく表される。例えば床274上のポイント318の像は、仮想カメラ260aから見ても同じ位置にあるように見える。このように床面と球面を組み合わせて投影面とすることにより、床の像を適正に見せるとともに、物体300の像の見かけの位置を、実際の位置に近づけることができる。この例では、2つの物体に合わせて2種類の面を組み合わせたが、組み合わせる面の種類は3つ以上でもよい。
プレイエリアの設定時など床の像を優先する場合、投影面制御部76は、球310の半径を5.0mなどと大きくすれば、正確に表される床の範囲を広げることができる。ただしこの場合、半径が大きいほど物体300の像の見かけの位置が、実際の物体300の位置から遠くなる。物体300をコントローラとし、ユーザにそれを持たせたり、その位置を図形で表したりする状況では、コントローラの像が優先される。
この場合、投影面制御部76は、コントローラが存在する可能性の高い範囲を踏まえ、球310の半径を0.8mなどと小さくすることにより、コントローラの像の見かけの位置が実物と乖離しないようにできる。このように床の像の重要性が低い状況においては、投影面制御部76は、床274に対応させる部分312を投影面から除外し、球310の内面のみとしてもよい。
投影面制御部76は、存在確率が高い範囲を物体ごとに設定したデータを内部で保持し、優先度が高い物体の特性や存在確率に合わせて、投影面の球の半径を変化させてもよい。また投影面制御部76は、撮影画像に映る物体の位置情報を取得し、それに応じて球の半径を決定してもよい。例えば投影面制御部76は、物体表面検出部80が生成する環境地図などのデータに基づき、物体の実際の位置を取得し、それに応じて球の半径を変化させてもよい。なおこのように仮想的に形成する投影面の形状は球に限らず、平面や円柱などでもよいし、それらのいずれか2つ以上を組み合わせてもよい。
投影面を床などの物体自体に対応させる場合、投影面制御部76は基本的には、環境地図などに基づき実際に検出された面を投影面とする。しかしながら環境地図は3次元空間における特徴点の分布であり、類似の物が存在する場合など、物体の面を誤検出する可能性がある。そこで投影面制御部76は、存在確率の高い範囲を物体ごとに設定したデータを内部で保持し、検出された物体の面が当該範囲から外れている場合、面の位置を調整し、可能な限り適正化させてもよい。
図13は、投影面制御部76が、投影面を対応させる床面の高さを調整する態様を説明するための図である。図6と同様、ステレオカメラ110によって、ポイント320を含む床274が撮影されたとする。一方、環境地図などに基づき、異なる高さの面324が床と誤検出されると、ポイント320の像は、面324上のポイント322に投影される。これを仮想カメラ260aから見た表示画像では、ポイント320の像はポイント326にあるように表されてしまう。
上述したプレイエリアの設定処理において、ユーザが床の高さを調整すれば、本来の床274の位置が取得される。すなわちユーザの調整操作により、ヘッドマウントディスプレイ100の基準点(図では仮想カメラ260aの中心)から床面までの距離が、最初に検出した距離Hから実際の距離Htに修正される。ところが検出した際の距離Hが真値Htから大きく外れていると、床の高さ調整を受け付ける画面においても不自然な像となり、調整に手間取ったり正確な調整が行えなかったりする。
例えば面積の広いテーブルを床と誤認した場合、距離Hが数十cmになる。その高さの面324に投影した撮影画像を仮想カメラ260aから見た表示画像では、透視投影から逸脱した現実的でない床の像が表されることもある。そこで投影面制御部76は、床として検出した面324までの距離Hに下限Huを設け、H<Huの場合には、H=Huに調整する。すなわち床までの距離HがHu以上であることを保証する。
一例として距離Hの下限Hu=0.5mとした場合、投影面制御部76は、最初に検出した床面の距離Hが0.4mであれば、当該面の高さを0.1m下げることにより、H=0.5mとする。このような調整により、ユーザによる床の高さ調整を受け付ける画面においても、その他の状況においても、およそ床に見える水平面として像を表すことができる。
上述のとおりこのような調整は床面に限らず、天井や壁などその他の物にも適用できる。この場合、投影面制御部76は、投影面と対応させることが想定される物体ごとに、その存在確率が高い範囲に応じて、位置の適正範囲、つまり上限および下限の少なくともどちらかの設定データを保持する。そして投影面制御部76は、実際に検出された位置が適正範囲に収まるように調整したうえで投影面とする。
図14は、床面の検出および調整の期間におけるシースルー画像の表示手順を示すフローチャートである。このフローチャートは、例えば図9で示したプレイエリアの設定処理と並行して実施される。まず表示画像生成部74は、ステレオカメラ110による撮影画像の取得を開始する(S30)。初期段階では床面が検出されていないため、投影面制御部76は、あらかじめ定められた暫定的な投影面を設定する(S32)。例えば図12で示した、床274の上面と球310の内面を組み合わせて投影面とする場合、球310の半径を5.0m、ヘッドマウントディスプレイ100と床の距離Hを1.5mとする。
このような設定により、約5.0mの距離までの床の像が少ない誤差で表されるとともに、床より上にある物の像を、極力近景として表すことができる。表示画像生成部74は当該暫定的な投影面に対し撮影画像を投影し(S34)、それを仮想カメラから見た状態を表す表示画像を生成したうえ、表示制御部を介して表示パネルに出力する(S36)。床の高さの設定値を変更する必要がない限り、表示画像生成部74は後続のフレームについて、同じ投影面に画像を投影し表示画像を生成し続ける(S38のN、S42のN、S34、S36)。
この期間にユーザが、周囲の空間を適切に見回すことにより、様々な撮影画像のフレームが収集される。物体表面検出部80は当該撮影画像を用いて、実世界に存在する物体の面を検出する。プレイエリア設定部84が、検出された面から床を特定した結果、床の高さの設定値を更新する必要が生じたら(S38のY)、投影面制御部76はそれに従い投影面を変更する(S40)。例えば投影面制御部76は、投影面を構成する球の半径は5.0mのままとし、投影面に対応させる床の高さの設定値のみを変化させる。
表示画像生成部74は、変更された投影面に撮影画像を投影し、表示画像を生成、出力する(S42のN、S34、S36)。これにより床面の像の正確性が増す。この段階でプレイエリア設定部84は、物体表面の検出結果を用いて決定したプレイエリアの範囲を表すオブジェクトを、シースルー画像に重畳させ、床面の高さ調整をユーザに促す。ユーザが調整操作を行い、新たに床の高さの設定値を変更する必要が生じたら(S38のY)、投影面制御部76は、調整結果に合わせて投影面を変更する(S40)。
この場合も投影面制御部76は、投影面を構成する球の半径は変更せず、投影面に対応させる床の高さの設定値のみを変化させればよい。これにより、プレイエリアを構成する床面の高さが正確に設定されるとともに、表示上も床の像がさらに正確に表される。なおS40において投影面が変更されたら、表示画像生成部74は上述のとおり、複数フレームにわたり遷移の状態をアニメーション表示するなどの措置により、床の像が急激に変化しないようにすることが望ましい。
また物体表面の検出過程においては、検出される床の高さが変動することが考えられる。投影面制御部76は当該変動に合わせて投影面の設定を変化させてよい。一方、表示画像生成部74は、投影面の変化を即時に反映させず、畳み込み演算などにより緩やかに変化させることにより、床の像が不自然に変動しないようにすることが望ましい。S34~S40の処理を、表示モード制御部88が、プレイエリアの設定処理における表示モードの終了を判定するまで続行し(S42のN)、表示モードの終了が判定されたら、当該モードでの表示処理を終了させる(S42のY)。
以上述べた本実施の形態によれば、ヘッドマウントディスプレイが備えるカメラによる撮影画像を、状況に応じて変化させた投影面に表し、それを仮想カメラから見た状態の表示画像を生成する。これにより、簡易な処理で低遅延に撮影画像を表示できるとともに、各状況において重要となる被写体の像を優先して精度よく立体視させることができる。また撮影画像にコンピュータグラフィクスを重畳して表示させる場合にも、両者を乖離なく表すことができる。
例えばプレイエリアの設定においては、投影面を床面に対応させることにより、違和感のない床の像を表示できるとともに、プレイエリアを表すグラフィクスを床の像と融合させやすくなる。これによりユーザは、床の高さやプレイエリアの調整を、容易に精度よく行える。また投影面の形状、位置、サイズを可変とすることにより、被写体が検出済みか否か、検出後や調整後の位置、存在確率の高い範囲など、細かい状況に対し高い柔軟性で投影面を適応させることができる。これにより低遅延性と精度を両立させ、全体として高品質なユーザ体験を実現できる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
10 画像表示システム、 70 画像処理部、 72 撮影画像取得部、 74 表示画像生成部、 76 投影面制御部、 78 出力制御部、 80 物体表面検出部、 82 物体表面データ記憶部、 84 プレイエリア設定部、 86 プレイエリア記憶部、 88 表示モード制御部、 100 ヘッドマウントディスプレイ、 110 ステレオカメラ、 120 画像処理用集積回路、 122 表示パネル、 136 CPU、 138 GPU、 200 コンテンツ処理装置。
Claims (14)
- 搭載されたカメラによる撮影画像のデータを取得する撮影画像取得部と、
表示対象の仮想3次元空間に設定された投影面に前記撮影画像を表し、それを仮想カメラから見てなる像を描画することにより、当該撮影画像を含む表示画像を生成する表示画像生成部と、
前記投影面を状況に応じて変化させる投影面制御部と、
前記表示画像を出力する出力部と、
を備えたことを特徴とするヘッドマウントディスプレイ。 - 前記投影面制御部は所定の状況において、前記投影面の少なくとも一部を、実世界に存在する物体の表面に対応させることを特徴とする請求項1に記載のヘッドマウントディスプレイ。
- 前項投影面制御部は所定の状況において、実世界に存在する物体の表面に対応する面と、前記物体と独立に設定した面とを含む前記投影面を設定することを特徴とする請求項1または2に記載のヘッドマウントディスプレイ。
- 前記投影面制御部は所定の状況において、前記投影面の少なくとも一部を、実世界の床面に対応させることを特徴とする請求項1または2に記載のヘッドマウントディスプレイ。
- ユーザの可動範囲を規定するプレイエリアを設定するプレイエリア設定部をさらに備え、
前記表示画像生成部は、前記投影面に表した前記撮影画像からなる表示画像に、前記プレイエリアを示すオブジェクトを重畳させることを特徴とする請求項4に記載のヘッドマウントディスプレイ。 - 前記撮影画像に基づき前記物体の表面を検出する物体表面検出部をさらに備え、
前記投影面制御部は、前記投影面のうち前記物体の表面に対応させる部分を、前記物体の表面の検出結果に基づき決定することを特徴とする請求項2に記載のヘッドマウントディスプレイ。 - 前記投影面制御部は、前記物体の表面が未検出の期間において、前記投影面のうち前記物体の表面に対応させる部分を、当該物体に対応づけられた規定値に基づき設定することを特徴とする請求項6に記載のヘッドマウントディスプレイ。
- 前記投影面制御部は、前記物体の表面の検出結果が示す面の位置を、当該物体に対応づけられた適正範囲に収まるように調整したうえで前記投影面を決定することを特徴とする請求項6または7に記載のヘッドマウントディスプレイ。
- 前記投影面制御部は、前記投影面の少なくとも一部を、仮想的な球の内面とするとともに、状況に応じて前記球の半径を変化させることを特徴とする請求項1または2に記載のヘッドマウントディスプレイ。
- 前記投影面制御部は、前記撮影画像に映る複数の物体のうち優先度が高い物体の特性に応じて、前記球の半径を決定することを特徴とする請求項9に記載のヘッドマウントディスプレイ。
- 前記表示画像生成部は、前記投影面の切り替えにおいて、当該切り替えを前記表示画像に徐々に反映させる遷移期間を設けることを特徴とする請求項1または2に記載のヘッドマウントディスプレイ。
- 前記表示画像生成部は、ユーザの眼球の撮影画像に基づき瞬きの開始を検出することにより、瞬きの期間に前記投影面を切り替えることを特徴とする請求項1または2に記載のヘッドマウントディスプレイ。
- 搭載されたカメラによる撮影画像のデータを取得するステップと、
表示対象の仮想3次元空間に設定された投影面に前記撮影画像を表し、それを仮想カメラから見てなる像を描画することにより、当該撮影画像を含む表示画像を生成するステップと、
前記投影面を状況に応じて変化させるステップと、
前記表示画像のデータを表示パネルに出力するステップと、
を含むことを特徴とする、ヘッドマウントディスプレイによる画像表示方法。 - 搭載されたカメラによる撮影画像のデータを取得する機能と、
表示対象の仮想3次元空間に設定された投影面に前記撮影画像を表し、それを仮想カメラから見てなる像を描画することにより、当該撮影画像を含む表示画像を生成する機能と、
前記投影面を状況に応じて変化させる機能と、
前記表示画像のデータを表示パネルに出力する機能と、
をヘッドマウントディスプレイが備えるコンピュータに実現させることを特徴とするコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022122680A JP2024019911A (ja) | 2022-08-01 | 2022-08-01 | ヘッドマウントディスプレイおよび画像表示方法 |
US18/358,903 US20240036327A1 (en) | 2022-08-01 | 2023-07-25 | Head-mounted display and image displaying method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022122680A JP2024019911A (ja) | 2022-08-01 | 2022-08-01 | ヘッドマウントディスプレイおよび画像表示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024019911A true JP2024019911A (ja) | 2024-02-14 |
Family
ID=89665222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022122680A Pending JP2024019911A (ja) | 2022-08-01 | 2022-08-01 | ヘッドマウントディスプレイおよび画像表示方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240036327A1 (ja) |
JP (1) | JP2024019911A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11948043B2 (en) * | 2021-06-02 | 2024-04-02 | Apple Inc. | Transparent insert identification |
-
2022
- 2022-08-01 JP JP2022122680A patent/JP2024019911A/ja active Pending
-
2023
- 2023-07-25 US US18/358,903 patent/US20240036327A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240036327A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6632443B2 (ja) | 情報処理装置、情報処理システム、および情報処理方法 | |
CN106062826B (zh) | 图像生成装置以及图像生成方法 | |
US11184597B2 (en) | Information processing device, image generation method, and head-mounted display | |
JP2020537383A (ja) | ヘッドマウントディスプレイ追跡システム | |
US11277603B2 (en) | Head-mountable display system | |
US20190045125A1 (en) | Virtual reality video processing | |
EP3070513A1 (en) | Head-mountable display system | |
JP2017097122A (ja) | 情報処理装置および画像生成方法 | |
US10277814B2 (en) | Display control method and system for executing the display control method | |
WO2017213070A1 (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP2019121224A (ja) | プログラム、情報処理装置、及び情報処理方法 | |
US20240036327A1 (en) | Head-mounted display and image displaying method | |
WO2023064875A1 (en) | Microphone array geometry | |
WO2020017435A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US11187895B2 (en) | Content generation apparatus and method | |
JP6306083B2 (ja) | 仮想空間を提供する方法、プログラム、および記録媒体 | |
JP2024061769A (ja) | 情報処理装置および警告提示方法 | |
US20190089899A1 (en) | Image processing device | |
WO2019063962A1 (en) | GENERATION OF MOTION SIGNALS | |
GB2571286A (en) | Virtual reality | |
JP2024015868A (ja) | ヘッドマウントディスプレイおよび画像表示方法 | |
JP2019145161A (ja) | プログラム、情報処理装置、及び情報処理方法 | |
WO2022255058A1 (ja) | 情報処理装置および画像生成方法 | |
US20240033618A1 (en) | Information processing apparatus and image generating method | |
WO2023149126A1 (ja) | 情報処理装置および情報処理方法 |