JP2024125698A - ヘッドマウントディスプレイおよび画像表示方法 - Google Patents
ヘッドマウントディスプレイおよび画像表示方法 Download PDFInfo
- Publication number
- JP2024125698A JP2024125698A JP2023033693A JP2023033693A JP2024125698A JP 2024125698 A JP2024125698 A JP 2024125698A JP 2023033693 A JP2023033693 A JP 2023033693A JP 2023033693 A JP2023033693 A JP 2023033693A JP 2024125698 A JP2024125698 A JP 2024125698A
- Authority
- JP
- Japan
- Prior art keywords
- image
- display
- projection surface
- mounted display
- projection
- 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 35
- 230000008859 change Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 18
- 230000001133 acceleration Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 57
- 238000010586 diagram Methods 0.000 description 25
- 230000033001 locomotion Effects 0.000 description 17
- 210000003128 head Anatomy 0.000 description 15
- 230000000007 visual effect Effects 0.000 description 13
- 238000001914 filtration Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 206010025482 malaise Diseases 0.000 description 1
- 201000003152 motion sickness Diseases 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000007480 spreading 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/02—Viewing or reading apparatus
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B30/00—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
- G02B30/20—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- 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/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
- H04N13/279—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
-
- 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/366—Image reproducers using viewer tracking
-
- 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/366—Image reproducers using viewer tracking
- H04N13/373—Image reproducers using viewer tracking for tracking forward-backward translational head movements, i.e. longitudinal movements
-
- 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/366—Image reproducers using viewer tracking
- H04N13/376—Image reproducers using viewer tracking for tracking left-right translational head movements, i.e. lateral movements
-
- 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/366—Image reproducers using viewer tracking
- H04N13/378—Image reproducers using viewer tracking for tracking rotational head movements around an axis perpendicular to the screen
-
- 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/366—Image reproducers using viewer tracking
- H04N13/38—Image reproducers using viewer tracking for tracking vertical translational head movements
-
- 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/366—Image reproducers using viewer tracking
- H04N13/383—Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Optics & Photonics (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】立体視を実現するディスプレイにおいて、撮影画像を適切に表示させる。【解決手段】ヘッドマウントディスプレイの画像処理部70において、撮影画像取得部72はステレオカメラ110による撮影画像を取得し、状態情報取得部84は撮影画像を用いてヘッドマウントディスプレイ100と周囲の実物体の位置情報を取得する。投影面制御部76は、ユーザと実物体の距離分布に基づき投影面を制御する。表示画像生成部80は、投影面に撮影画像を投影し、表示用仮想カメラから見た様子を表す表示画像を生成する。【選択図】図9
Description
この発明は、立体視を実現するヘッドマウントディスプレイ、および画像表示方法に関する。
対象空間を自由な視点から鑑賞できる画像表示システムが普及している。例えばヘッドマウントディスプレイにパノラマ映像を表示し、ヘッドマウントディスプレイを装着したユーザの視線方向に応じた画像が表示されるようにしたシステムが開発されている。ヘッドマウントディスプレイにおいて、視差を有するステレオ画像を左目用、右目用として表示させることにより、ユーザには表示された画像が立体的に見え、画像世界への没入感を高めることができる。
また実空間を撮影するカメラをヘッドマウントディスプレイに設け、その撮影画像にコンピュータグラフィクスを合成することにより、拡張現実(AR:Augmented Reality)や複合現実(MR:Mixed Reality)を実現する技術も実用化されている。当該撮影画像はまた、遮蔽型のヘッドマウントディスプレイに表示させることにより、ユーザが周囲の様子を確認したり、ゲームのプレイエリアを設定したりする際にも有用となる。
ヘッドマウントディスプレイにリアルタイムの撮影画像を表示させる場合、ステレオ画像をどのように生成するかが問題になる。具体的には、元の撮影画像の視点を、表示世界を見るユーザの視点に変換したり、当該視点からの視差を与えたりする処理が適切でないと、撮影画像が不自然に見えたり、プレイエリアを設定しづらかったりすることが起こり得る。場合によっては、映像酔いなどユーザの体調不良につながる危険もある。
本発明はこうした課題に鑑みてなされたものであり、その目的は、ヘッドマウントディスプレイなど立体視を実現するディスプレイにおいて、撮影画像を適切に表示させる技術を提供することにある。
上記課題を解決するために、本発明のある態様はヘッドマウントディスプレイに関する。このヘッドマウントディスプレイは、搭載されたカメラによる撮影画像のデータを取得する撮影画像取得部と、ユーザと実物体の距離の分布に応じて、表示対象の仮想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やMRを実現できる。また撮影画像を表示に含めるか否かによらず、撮影画像を解析し、その結果を用いて、描画するオブジェクトの位置、姿勢、動きを決定づけることもできる。
例えば、撮影画像にステレオマッチングを施すことにより、被写体の像の対応点を抽出し、三角測量の原理で被写体までの距離を取得してもよい。あるいは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は例えば、表示世界における所定の距離Riに撮影画像264を配置する。
例えばヘッドマウントディスプレイ100は、仮想カメラ260a、260bをそれぞれ中心とする半径Riの球の内面に、ステレオカメラ110が撮影した左視点、右視点の撮影画像264を表すことが考えられる。そしてヘッドマウントディスプレイ100は、仮想カメラ260a、264bから撮影画像264を見てなる像を描画することにより、左目用、右目用のシースルー画像268a、268bを生成する。
これにより、ステレオカメラ110による撮影画像264は、表示世界を見るユーザの視点での画像に変換される。また同じ被写体の像は、左目用のシースルー画像268aでは右寄りに、右目用のシースルー画像268bでは左寄りに表れる。左視点、右視点の撮影画像は元々、視差を持って撮影されているため、シースルー画像268a、268bにおいても、被写体の像はその実際の位置(距離)に応じて、様々なずれ量で表れる。これによりユーザは、被写体の像に距離感を知覚する。
このように、撮影画像264を仮想的な面上に表し、それをユーザに対応する視点から見た状態を表示画像とすると、被写体の配置や構造を正確にトレースした3次元の仮想世界を構築せずとも、奥行き感のある撮影画像を表示できる。また撮影画像264を表す面(以後、投影面と呼ぶ)を仮想カメラ260から所定距離を保つ球面とすれば、実世界に存在する物の像を、方角によらず一様な品質で表すことができる。結果として、小さい処理負荷での低遅延性と臨場感を両立させることができる。一方、このような手法によれば、投影面の設定によって仮想カメラ260からの視差が変化し、物の位置が実際と異なって見える箇所が表れ得る。
図5は、表示上の物の位置に対する投影面の影響を説明するための図である。同図(a)および(b)はそれぞれ、図4の上段に示した表示世界の3次元空間を、上側および右側から見た様子を模式的に示しており、投影面274を、ユーザの頭部を中心とする球面としている。上述のとおり、ステレオカメラ110を構成する左カメラ270a、右カメラ270bで撮影された画像は、投影面274にそれぞれ投影され、仮想カメラ260a、260bにより左右視点の表示画像に変換される。
例えば実世界においてユーザの正面にある実物体276は、左カメラ270aによる撮影画像では像278aとして表され、右カメラ270bによる撮影画像では像278bとして表される。ここで例えば(a)に示すように、仮想カメラ260a、260b、ひいてはユーザの両目の間隔が、ステレオカメラ110の左カメラ270a、右カメラ270bの間隔より狭いとすると、投影面274上での像278a、278bの見かけの視差は、実物体276を直接見たときの本来の視差より広くなる。
その結果、表示画像を見たユーザには、実物体276が実際より手前にあるように知覚される(表示上物体280)。定性的には、図示するように実物体276が投影面274より手前にあれば、表示上物体280は実際より近くにあるように見える。逆に実物体が投影面274より奥にあれば、表示上物体280は実際より遠くにあるように見える。
また(b)に示すように、仮想カメラ260a、260b、ひいてはユーザの視点が、ステレオカメラ110(左カメラ270a、右カメラ270b)より上方にあるとすると、表示上物体280は実際より高い位置にあるように見える。定性的には、図示するように実物体276が投影面274より手前にあれば、表示上物体280は実際より高い位置に見え、逆に実物体276が投影面274より奥にあれば、表示上物体280は実際より低い位置に見える。
ステレオカメラ110と仮想カメラ260a、260bが図示した以外の位置関係を有していても、左右のカメラの間隔や位置の差に起因して、表示上物体280の位置ずれが発生し得る。またその位置ずれは、投影面274が実物体276から乖離するほど大きくなる。そこで本実施の形態では、投影面を実物体に極力近づけることにより、全体的に位置ずれの少ないシースルー画像を生成する。
図6は、投影面を実物体に合わせて設定した場合の、表示上の物の位置について説明するための図である。図の表し方は図5と同様であるが、投影面290は、ヘッドマウントディスプレイ100(厳密には仮想カメラ260a、260b)から実物体276までの距離に応じて設定する。図では実物体276の周囲に存在する実物体292も示しており、投影面290は基本的に、それらに沿うような面とする。
投影面290によれば、実物体276の像は、本来の実物体276と同じ距離に形成される。したがって(a)に示すように仮想カメラ260a、260bの間隔がステレオカメラ110の左カメラ270a、右カメラ260bの間隔と異なっていても、像の見かけの距離は、実物体276を直接見たときの本来の距離と同じとなる。また(b)に示すように、仮想カメラ260a、260bの高さがステレオカメラ110(左カメラ270a、右カメラ270b)と異なっていても、像の見かけの高さは実物体276と同じとなる。
原理的には、表示画像の画素の粒度で、ユーザの周囲に存在する全ての物の位置に合わせて投影面を設定することにより、ディスプレイを介さずに実世界を見ているのと同じ状態を作り出せる。しかしながらユーザが動いたり視野が変化したりするのを許容する場合は特に、視野内の実物体までの距離を逐次測定し、リアルタイムかつ詳細に投影面に反映させていくには膨大な処理負荷が生じ、ユーザの動きに表示が追随しないなど別の問題が発生し得る。また距離の測定値に誤差やノイズが生じると、投影面が影響を受け、表示上の像が突然変形するなど却って不自然に見えてしまうことも考えられる。
そこで本実施の形態では、投影面の設定根拠となる実物体までの距離の解像度をある程度抑えつつ、適切に平滑化した面を投影面として設定することにより、少ない処理負荷でも位置ずれの少ないシースルー画像を安定的に表示できるようにする。この際、例えば図の(b)に示す投影面294のように、一部の投影面については、距離の測定値によらず、想定される実物体の性質に合った位置や形状で固定の面を設定することにより、処理の負荷をより抑えるとともに、距離の測定精度が表示画像全体へ与える影響を抑える。
図の例で投影面294は、天井の像を投影する面として設定される。例えば投影面294は、仮想カメラ260a、260bからの距離が1.5mの球面とする。床や壁など、およその位置や形状が判明している実物体についても同様に、それぞれの特性に合わせて投影面を設定できる。これにより、それらの実物体の距離が測定されなくとも、撮影画像をおよそ適切な位置に投影できる。また距離の測定精度が悪化しても、その影響を受けないため、表示画像全体が歪むような誤差の伝搬を回避できる。さらに天井の場合は特に、物が設置されるなどによる凹凸の変化が起きにくいため、投影面を一様な面としても位置ずれが視認されにくい。
実物体の距離の計測値に応じて投影面を設定する場合、上述したVisual SLAMの結果を流用することで、さらに処理負荷の増大を抑えられる。図7は、Visual SLAMの原理を概説するための図である。カメラ22は移動体に設けられ、視野範囲の実空間26を、位置や姿勢を変えながら動画撮影している。ここで、ある時刻に撮影されたフレーム20aと、時間Δt後に撮影されたフレーム20bで、同じ実物体上のポイント24を表す特徴点28a、28bが抽出されたとする。なお撮影画像中の特徴点は、コーナー検出法等の公知の手法で検出できる。
各フレーム平面における、対応する特徴点28a、28bの位置座標のずれは、時間Δtにおけるカメラ22の位置と姿勢の変化に依存する。具体的には、カメラ22の回転運動および並進運動による変化分を表す行列をそれぞれR、Tとし、各時刻のカメラ22からポイント24までの3次元ベクトルをP1、P2とすると、次の関係式が成り立つ。
P1=R・P2+T
P1=R・P2+T
この関係を利用し、時間的に前後する2つのフレームにおける、対応する特徴点を複数抽出して連立方程式を解くことにより、その間のカメラ22の位置と姿勢の変化を特定できる。また導出結果の誤差を再帰的計算で最小化する処理により、ポイント24など、実空間26における実物体表面の3次元情報を、環境地図として生成できる。なおカメラ22をステレオカメラ110とすると、ポイント24等の3次元位置座標は、各時刻で独立して求められるため、対応点の抽出などの演算がより容易になる。
またVisual SLAMのアルゴリズムは多数、提案されており、そのいずれを採用しても構わない。いずれにしろ図示する原理によれば、動画像のフレームレートと同じレートで、カメラ22の位置や姿勢を導出できるとともに、検出された特徴点の単位で、実物体の3次元位置座標を求めることができる。本実施の形態においては、当該Visual SLAMにより逐次生成されるデータを利用して、実物体までの距離を所定のレートで取得し、投影面に反映させる。
図8は、ヘッドマウントディスプレイ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)などのストレージで構成される。
図9は、本実施の形態におけるヘッドマウントディスプレイ100が備える、画像処理部の機能ブロックの構成を示している。図示する機能ブロックは、ハードウェア的には、図8に示した回路構成で実現でき、ソフトウェア的には、記憶部150からメインメモリ140にロードした、データ入力機能、データ保持機能、画像処理機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
またヘッドマウントディスプレイ100は、図示した以外の機能を有していてもよい。さらに、図示する機能ブロックのうちの一部は、コンテンツ処理装置200が備えていてもよい。ヘッドマウントディスプレイ100において、画像処理部70は、図3の画像処理用集積回路120によって実現し得る。
ヘッドマウントディスプレイ100において画像処理部70は、ステレオカメラ110やモーションセンサ148から各種データを取得するデータ取得部71、撮影画像の投影面を制御する投影面制御部76、投影面の位置情報の分布を記憶する投影面マップ記憶部78、表示画像のデータを生成する表示画像生成部80、および、表示画像のデータを出力する出力制御部82を備える。画像処理部70はさらに、ヘッドマウントディスプレイ100や実物体の状態情報を逐次取得する状態情報取得部84、実物体の位置に係るデータを格納する物体情報記憶部86、仮想オブジェクトを配置するオブジェクト配置部88、および、仮想オブジェクトのデータを格納するオブジェクトデータ記憶部90を備える。
データ取得部71は、ステレオカメラ110やモーションセンサ148が継続的に取得している各種データを、所定のレートで取得する。詳細にはデータ取得部71は、撮影画像取得部72とセンサデータ取得部74を備える。撮影画像取得部72は、ステレオカメラ110による撮影画像のデータを所定のフレームレートで取得する。センサデータ取得部74は、モーションセンサ148による加速度や角加速度などの計測値のデータを所定のレートで取得する。
状態情報取得部84は、撮影画像取得部72から撮影画像のデータを逐次取得し、上述したVisual SLAMを実行してヘッドマウントディスプレイ100の位置や姿勢、周囲にある実物体の3次元位置情報など、実世界における物体の状態を所定のレートで取得する。状態情報取得部84はまた、センサデータ取得部74からモーションセンサ148による計測値を逐次取得し、Visual SLAMによる解析結果と統合することにより、状態情報の精度を高めてよい。
なお上述した状態情報を逐次取得できる限り、状態情報取得部84が行う実物体の検出手法や、検出結果の表現形式は特に限定されない。例えば状態情報取得部84は、TOF(Time Of Flight)により実物体までの距離を検出してもよい。TOFは、赤外線などの参照光の照射から、反射光の観測までの経過時間に基づき、被写体の距離を求める周知の技術である。物体情報記憶部86は、状態情報取得部84により取得された、実物体の3次元位置情報、例えば環境地図のデータを格納する。状態情報取得部84は最新の取得データに基づき、物体情報記憶部86に格納されたデータを適宜更新、修正してよい。
投影面制御部76は、シースルー画像を含む表示画像を生成する期間において、撮影画像の投影面を制御する。投影面制御部76は基本的に、物体情報記憶部86に格納された実物体の位置情報と、状態情報取得部84が取得しているヘッドマウントディスプレイ100の位置情報に基づき、ヘッドマウントディスプレイ100から実物体までの距離を求め、それに対応するように投影面を設定する。結果として、ユーザが動くなどして実物体との距離に変化が生じると、投影面もそれに応じて変化する。ただし上述のとおり、天井など所定の実物体に対応する一部の投影面については、固定とするなど設定規則を異ならせてよい。
投影面制御部76は、ヘッドマウントディスプレイ100、ひいてはユーザの頭部を中心とし、視野より広い所定範囲の方位(好適には全方位)に対し投影面の位置の分布を表した投影面マップを生成し、投影面マップ記憶部78に格納する。全方位など広い方位に対し投影面の位置情報を準備しておくことにより、ユーザが突然振り向くなど視野が急に変化しても、投影対象の領域を変化させるのみで最新の撮影画像を適切に投影でき、表示までの遅延を最小限にできる。
投影面マップに表される投影面の位置情報の表現形式は、ヘッドマウントディスプレイ100(あるいは左右の仮想カメラ)からの距離値を一意に定めるパラメータであればよく、距離値自体でなくてよい。例えば位置情報は、ヘッドマウントディスプレイ100から投影面までの距離の逆数で表してもよい。距離の逆数は、左右の画像に生じる視差と比例するため、距離の変動におけるスケールファクタの面で都合がよい。すなわち近くにある物は、距離の少しの変動で視差が大きく変化し、見かけの距離感も大きく影響を受けるのに対し、遠くにある物は、距離の変動幅が同じでも距離感への影響が小さい。
投影面の位置情報を距離の逆数で表すことにより、実物体の遠近に応じて投影面の調整幅の単位を最適化でき、距離の取得精度に対して頑健性のある投影面を安定して設定できる。なお投影面制御部76は好適には、ユーザ自身の手など、実空間において動きを有する実物体の位置情報を投影面設定の根拠から除外する。これにより、動く物に影響されて投影面が変動し、表示画像の広い範囲に影響が及ぶのを防止できる。
オブジェクト配置部88は、シースルー画像に仮想オブジェクトの像を合成する期間において、表示すべき仮想オブジェクトを表示世界の3次元空間に配置する。ARやMRを実現する場合、オブジェクト配置部88は、物体情報記憶部86から実物体の3次元位置情報を取得し、それに対応するように、仮想オブジェクトの3次元での位置や姿勢を決定する。オブジェクトデータ記憶部90は、表示すべき仮想オブジェクトの配置規則や3次元モデルのデータを格納する。
表示画像生成部80は、シースルーモードなど撮影画像を表示に含める期間において、投影面マップ記憶部78から最新の投影面マップを読み出し、対応する投影面を生成する。そして表示画像生成部80は、撮影画像取得部72から取得した撮影画像を、当該投影面上に投影する。そして表示画像生成部80は、状態情報取得部84が取得した、ヘッドマウントディスプレイ100の位置や姿勢の情報に応じて仮想カメラを設定し、投影した撮影画像を仮想カメラから見た様子をシースルー画像として表す。
シースルー画像に仮想オブジェクトの像を合成する場合、表示画像生成部80は、オブジェクト配置部88が配置した仮想オブジェクトを、仮想カメラから見た様子をコンピュータグラフィクスとして表し合成する。表示画像生成部80はまた、VRなど撮影画像を含まないコンテンツ画像を生成してよい。AR、MR、VRなどのコンテンツ画像を生成する場合は特に、図示する機能の少なくとも一部をコンテンツ処理装置200が担ってよい。
出力制御部82は、表示画像のデータを所定のフレームレートで表示画像生成部80から取得し、表示に必要な処理を施して表示パネル122に出力する。当該表示画像は、左目用、右目用の画像対で構成される。出力制御部82は、接眼レンズを介して見たときに歪みのない画像が視認されるように、歪曲収差や色収差を打ち消す方向に表示画像を補正してよい。出力制御部82はそのほか、表示パネル122に対応する各種データ変換を行ってよい。
次に、以上の構成によって実現できるヘッドマウントディスプレイ100の動作を説明する。図10は、ヘッドマウントディスプレイ100の画像処理部70が、シースルー画像を含む表示画像を生成、出力する処理手順を示すフローチャートである。このフローチャートは、ユーザがヘッドマウントディスプレイ100を装着した状態で、シースルー画像の表示が必要となった段階で開始される。
これに応じてデータ取得部71は、ステレオカメラ110による撮影画像と、モーションセンサ148による計測値(センサデータ)の取得を開始する(S10)。状態情報取得部84は、撮影画像のデータを用いてVisual SLAMを実行し、ヘッドマウントディスプレイ100の位置や姿勢の追跡と環境地図の生成を開始する(S12)。一方、投影面制御部76は、所定の投影面マップを初期状態として準備する(S14)。
例えば投影面制御部76は、全方位で同じ位置情報の値を有する投影面マップを初期状態として設定する。これは投影面の初期状態を球の内面としていることに対応する。このとき球の半径は、一般的なプレイエリアの範囲などを考慮し2mなどとする。そして投影面制御部76は、投影面マップを更新するか否かを決定し、更新する場合(S16のY)、物体情報記憶部86に格納される実物体の3次元位置情報とヘッドマウントディスプレイ100の位置情報に基づき、投影面マップを更新する(S18)。
投影面制御部76は例えば、ヘッドマウントディスプレイ100、すなわちユーザの頭部の速度が、動いていると見なせる所定値以上の期間に限り、投影面マップの更新を決定する。ユーザが動いている期間は多くの場合、ヘッドマウントディスプレイ100と実物体との距離に変化があるため、投影面の更新が必要となる。ユーザが静止している期間であっても、Visual SLAMの処理により実物体の3次元情報は適宜更新、修正され得るが、それを即座に投影面に反映させると、静止しつつ画像に注目しているユーザが表示の変化に気づく可能性が高くなる。
ユーザが動いている期間に限定して投影面マップを更新することにより、ユーザに気づかれずに表示を適正化させることができる。ユーザが静止しており投影面マップを更新しない期間においては(S16のN)、投影面制御部76はS18の更新処理をスキップする。表示画像生成部80は、最新の投影面マップに基づき仮想的な投影面を導出し、直近で得られた撮影画像を投影する(S20)。
そして表示画像生成部80は、ヘッドマウントディスプレイ100の位置および姿勢に対応する仮想カメラから、投影後の撮影画像を見た様子を表示画像として表したうえ、出力制御部82を介して表示パネル122に出力する(S22)。シースルー画像に仮想オブジェクトの像を合成する場合、表示画像生成部80はさらに、オブジェクト配置部88が配置した仮想オブジェクトを仮想カメラから見た様子を描画し、シースルー画像と合成する。
また上述のとおり、出力制御部82はS22において、ヘッドマウントディスプレイ100の接眼レンズの歪みに応じた補正を施すなど必要な処理を行ってよい。シースルー画像を含む画像の表示を停止させる必要がなければ(S24のN)、投影面制御部76は必要に応じて投影面マップを更新し、表示画像生成部80はそれを用いて表示画像を生成し出力する処理を繰り返す(S16、S18、S20、S22)。
撮影画像のフレームが順次収集されVisual SLAMが進捗するにつれ、実物体の位置情報が新たに取得されたり、修正されたりする。投影面制御部76はそれに応じて投影面マップを更新することにより、周囲にある実物体の位置に対応する投影面が構築される。特徴点が乏しい壁などの実物体に対応する投影面については、初期状態から更新されない可能性もあるが、初期状態の投影面を適切に設定しておくことにより、更新の有無によらず極力不自然さの少ない画像を表示できる。
また投影面制御部76は、後述するフィルタリング処理により、投影面の急な凹凸を抑えるように投影面マップを更新していく。これにより、投影面の凹凸に起因し、シースルー画像における像が不連続になったり歪んだりしないようにする。ユーザ操作などにより、シースルー画像を含む画像の表示を停止させる必要が生じたら、画像処理部70は図示する処理を終了させる(S24のY)。
図11は、投影面マップのデータ形式としてキューブマップを用いる例を説明するための図である。(a)は方位(緯度、経度)を変数とする極座標系とキューブマップの面の関係を示している。キューブマップの面302は、任意の半径を有する極座標系300に外接する仮想的な立方体を構成する面である。極座標系300の中心は、ヘッドマウントディスプレイ100の重心など、頭部の位置として設定される所定の代表点304とする。
極座標系300においてある方位を表す座標306は、代表点304から座標306への直線がキューブマップの面302で交わる位置308にマッピングされる。(b)は、キューブマップの面302を6面の展開図で示している。キューブマップの面302における2次元の位置座標は、代表点304からの方位と一対一の関係を有する。つまりキューブマップの各画素に対しパラメータの値を表すことにより、方位とパラメータが対応づけられる。
このようなキューブマッピング技術は、パノラマ画像を2次元データに展開する手段の一つとして知られている。本実施の形態では、キューブマップの画素値を投影面の位置情報とした投影面マップを生成する。ただし投影面マップのデータ形式はキューブマップに限定されず、例えば極座標系を用いてもよいし、円柱面やトーラス面などパノラマ画像を表現する手法のいずれを応用してもよい。ただしキューブマップはその他の表現形式と比較し、演算やデータ読み出しにかかる負荷が低く、境界条件の調整も容易である。
なお投影面の位置情報は、マップ上に離散的に表すのに限らず、方位に対する連続関数で表してもよい。例えば投影面制御部76は、実物体の3次元位置座標に球面調和関数をフィッティングさせ投影面の位置情報としてもよい。この場合、位置情報をキューブマップなどの2次元分布で表す態様に比べ、次数によっては演算負荷が減る可能性がある。またデータを格納するためのメモリ容量や読み出しにかかる負荷を軽減できる。
キューブマップを用いる場合、投影面制御部76はまず、代表点304を始点に、実物体310表面に検出された特徴点の3次元位置座標までの距離Rとその方位を求める。そして投影面制御部76は、それらのデータに基づき、マップ上の各画素に対応する離散的な方位に対し投影面の位置情報を決定し、マップ平面に書き込む。投影面マップの解像度は、例えばキューブマップの各面に対し64×64画素などとする。
実物体310の特徴点が、マップに位置情報を表すべき方位にあるとは限らないため、投影面制御部76は周囲の特徴点の位置座標を用いて、所定の方位の位置情報をフィルタ処理により導出する。さらに投影面制御部76は、時間方向にもフィルタ処理を施して投影面の位置情報を決定することにより、新たに得られた実物体の位置座標や距離の測定値のノイズなどにより投影面が急に変化しないようにする。
なおコンテンツの処理などにおいて、検出された離散的な3次元位置座標に基づき、実物体の3次元モデルを構築する場合、投影面制御部76は、当該3次元モデルの情報を用いて投影面マップを生成してもよい。この場合、ヘッドマウントディスプレイ100から実物体までの距離が高密度に得られるため、投影面マップの解像度もより高くできる。これにより、実物体の表面形状に合致するような投影面を生成できる一方、投影面の細かい凹凸により表示画像にアーチファクトが発生しやすくなる。
定性的には、実物体の実際の位置や表面形状と投影面との一致度合いを高めるほど、像の距離感を正確に表現できるようになる一方、その形状に歪みやノイズが表れやすくなる。そこで投影面制御部76は、投影面の位置情報の勾配の変化(2階微分)が所定範囲内に収まるように、JOR法(Jacobi Over Relaxation Method)等を用いて投影面マップにフィルタ処理を施す。
図12は、投影面制御部76が投影面マップに施すフィルタ処理の例を説明するための図である。(a)、(b)の上段は、投影面マップにおける位置情報p(例えばヘッドマウントディスプレイ100からの距離の逆数)の、横方向(x方向)の変化例を、下段は、投影面マップのうち対応する領域の2次元(x方向、y方向)の画素列を模式的に示している。
(a)に示すフィルタリング前の位置情報分布では、位置x1とx2近傍で位置情報pが大きく変化することにより、隣接する画素で勾配の変化が大きくなる。これに対し投影面制御部76は(b)に示すように、位置情報pの変化を周囲の画素に波及させて勾配の変化を所定値以下に抑えつつ、変化の波及範囲wが所定値内に収まるようにフィルタ処理を施す。例えば投影面制御部76は、次の漸化式を所定回数、実行する。
ここでPは、投影面マップにおける全画素の位置情報pを1次元の数列で表した位置情報ベクトルである。Aは位置情報ベクトルPの各要素(各位置情報p)のラプラシアン、すなわちx方向、y方向の2階微分の和を求めるための行列である。つまり(A・P)は実質的には、マップ平面の各画素に対し4近傍のラプラシアンフィルタを適用した結果を表す。
ωは、ヘッドマウントディスプレイ100が動いている期間にのみ、フィルタリング操作を有効とするための係数である。例えばヘッドマウントディスプレイ100の速度が、静止していると見なせる所定範囲内にあればω=0、それ以外であればω=1とする。ただしヘッドマウントディスプレイ100の速度に応じてωを0から1まで漸増させることにより、速度の境界値付近での連続性を担保してもよい。係数ωにより、ユーザが静止し、表示画像を注視している可能性の高い期間に投影面が調整され、表示画像が不自然に動いて見えないようにする。なおヘッドマウントディスプレイ100が静止しているか否かの判定に用いるパラメータ(係数ωを制御するパラメータ)は、ヘッドマウントディスプレイ100の速度に限らず、ヘッドマウントディスプレイ100の角速度または加速度としてもよいし、速度、角速度、加速度の2つ以上の組み合わせとしてもよい 。
Dは、各位置情報のラプラシアンに応じて、フィルタ処理による調整量をそれぞれ制御するための対角行列である。図13は、i番目の位置情報piのラプラシアンΔpiの変化に対する、対応する対角要素Diの変化の例を示している。この例では要素Diは、Δpiがしきい値Lth以下のときは0、しきい値Lthを越えたら、Δpiの増加に応じて漸増し1で飽和する値としている。ただしΔpiに対する要素Diの変化は線形に限らない。このようなDiを対角要素とする行列Dによれば、対応する位置情報piの勾配の変化が大きいときは大きい幅で位置情報piの調整がなされ、しきい値Lth以下に収まった時点で調整が停止する。
投影面制御部76はフィルタ処理を所定の頻度で実施し、1回のフィルタ処理において上記漸化式を所定回数、適用することにより、位置情報pの変化を周囲の画素に波及させ勾配の変化を均していく。例えば投影面制御部76は、1/30秒ごとにフィルタ処理を実行し、1回のフィルタ処理で上記演算を最大8回実施する。
このようなフィルタ処理により、投影面マップにおける位置情報pの勾配の変化は、およそしきい値Lthより小さい値に均される。また漸化式の演算回数に上限を設けることにより、凹凸の波及範囲を限定する。これにより、実物体までの距離の分布を踏襲しつつ、急な凹凸を抑えた投影面を生成でき、およそ正しい距離感でアーチファクトの少ない画像を表示できる。キューブマップを用いた場合、各面を構成する位置情報は連続したメモリ領域に格納される。したがって位置情報ベクトルPの生成が容易であり高速演算を実現しやすい。
なおしきい値Lthは、周囲の環境や表示の目的などに応じて適正値をあらかじめ設定しておく。ここでしきい値Lthは、投影面マップ全体で固定値としてもよいし、マップ平面で分布を設けてもよい。例えば、多少のアーチファクトより投影面の位置合わせ精度を優先したい実物体の像の領域については、しきい値Lthを他の領域より大きくしてもよい。
図14は、表示画像生成部80が投影面マップから投影面を生成する処理を説明するための図である。表示画像において物の距離を正確に表現するには、仮想カメラ260a、260bのそれぞれに対し、視点から実物体までの距離に応じて投影面を設定する必要がある。一方、投影面制御部76は(a)に示すように、ヘッドマウントディスプレイ100の重心など、ユーザの頭部320として設定される所定の代表点を中心とした投影面322を想定して投影面マップを生成する。
つまり投影面マップは、ユーザの頭部320からの方位に対して投影面322までの距離を示す情報である。そのため例えば、頭部320から破線矢印方向の投影面までの距離dhは、投影面マップから即座に得られる。一方、左カメラ270a、右カメラ270bから同じ方向における投影面322までの距離dl、drを取得するには、いくらかの幾何学計算が必要になる。GPU138を用いて表示画像の生成までを画素単位で並列処理する場合は特に、このような計算が処理負荷を増大させる。
そこで本実施の形態では、(b)に示すように、頭部320を中心として得られる投影面322を、仮想カメラ260a、260bの視点からの投影面に流用する。すなわち表示画像生成部80は、投影面マップを、仮想カメラ260a、260bの視点からの方位に対する位置情報と見なし、投影面324a、324bを生成する。結果として生成される投影面324a、324bは、図示するように、元の投影面322を、仮想カメラ260a、260bの視点が中心となるように平行移動させた面となる。
このようにすると、各仮想カメラ260a、260bからの方位に対して即座に、投影面までの距離(例えば距離dl’、dr’)が得られるため、投影面の生成を高速に行え、表示までの遅延を抑えられる。距離dl’、dr’は、本来の投影面までの距離dl、drとは異なるが、上述のフィルタ処理により投影面を滑らかにしておくことで、その誤差が表示画像に与える影響を少なくできる。
図15は、本実施の形態でシースルー画像に合成する仮想オブジェクトを例示している。プレイエリアオブジェクト60は、床面部62と境界面部64を含む。床面部62は、床面におけるプレイエリアの範囲を表す。境界面部64はプレイエリアの境界面を表し、例えば床面に対し垂直に交わる面で構成される。床面部62と境界面部64は例えば、半透明の格子形状のオブジェクトとして表す。
表示画像生成部80は実際には、図示するようなプレイエリアオブジェクト60を、シースルー画像と融合するように重畳させて表示画像とする。このため状態情報取得部84は、撮影画像やセンサデータに基づき実際の床面を検出する。例えば状態情報取得部84は、センサデータに含まれる加速度センサの出力と撮影画像との対応に基づき、検出された物体の面のうち、重力と垂直な面を特定することで床面を検出する。さらに状態情報取得部84は、床面を基準としてユーザの周囲に存在する家具や壁などの障害物の面を特定し、それらの面で囲まれた領域の内側に、プレイエリアの境界面を設定する。
オブジェクト配置部88は、プレイエリアに対応する床面に対し床面部62を配置し、プレイエリアの境界面に境界面部64を配置する。表示画像生成部80は、これまで述べたようにシースルー画像を生成し、同じ仮想カメラから見たプレイエリアオブジェクト60の様子を描画して合成する。これにより、ユーザはゲームの開始前などに、周囲を見回しながらプレイエリアを確認できる。表示画像生成部80はさらに、床面部62により表される、検出された床面の高さや、境界面部64により表されるプレイエリア境界を調整するユーザ操作を受け付けてもよい。
ユーザが必要に応じて調整操作を行うと、オブジェクト配置部88は、それに応じて適宜、床面部62や境界面部64の配置を更新し、表示画像生成部80により表示画像へ反映させる。これらの状況において、シースルー画像における床面や周囲の実物体の像の距離感が実際と乖離していると、プレイエリアオブジェクト60とも乖離して見え、ユーザが混乱したり適切な調整ができなかったりすることが考えられる。
これを踏まえ投影面制御部76は、投影面の少なくとも一部を、検出された実際の床面に沿った位置および形状としてもよい。例えば投影面制御部76は、ゲームの開始前などプレイエリアを設定している期間において、ユーザの直下に存在し検出された高さを有する、床面に対応する面を投影面の一部として生成する。当該床面に対応する面は例えば、ユーザを中心に所定距離内の範囲とする。これにより、撮影画像において床が視野に入っている間は、少なくとも床の像が、対応する投影面に投影される。
このとき投影面制御部76は、それ以外の方位の範囲については、これまで述べたように特徴点の位置情報に基づき投影面を設定してよい。あるいは天井や壁など、特徴点が乏しい面やおよその位置や形状が判明している面については、固定の投影面を導入してもよい。床面を優先した投影面を設けることにより、場合によっては、その範囲にある物の像が歪んで見えたり距離がずれて見えたりする可能性があるが、床面部62と床の像の一致が保証されることにより、ユーザにとってプレイエリアの認識や調整が容易になる。
図16は、シースルー画像と投影面の組み合わせを例示している。(a)、(b)は異なる投影面を経て、それぞれ生成されたシースルー画像であり、投影面までの距離を表す等高線を重畳させている。ここで(a)の投影面は、これまで述べた手法で実物体の特徴点に合わせて生成された面、(b)の投影面は、ユーザの直下から2m以内の範囲を床面に合わせ、それ以外を球面としている。
(a)の例では、視線方向に延びる部屋の奥行きを反映するように、画像中央で距離が最大になるとともに、視線の右下に置かれた椅子の影響を反映した形状の投影面が形成されている。この場合、生成される左右視点のシースルー画像では、椅子や壁など部屋の全体が適切な距離感で表現される。(b)の例では、少なくとも近景の床については、正しい距離感で歪みのない像を表現できる。このためプレイエリアオブジェクトの像と合成した際、両者のずれが視認されにくくなる。
以上述べた本実施の形態によれば、ヘッドマウントディスプレイが備えるカメラによる撮影画像を、ユーザから実物体までの距離の分布に対応するように生成した面に投影し、それを仮想カメラから見た状態の表示画像を生成する。この際、実物体の位置情報として、ヘッドマウントディスプレイの追跡処理で得られる情報を利用する。これにより処理負荷の増大を抑えつつ、実世界を直接見た状態に近い距離感で、実物体の像を視認させることができる。
また実物体の距離の分布に基づき、フィルタリング処理を経由して滑らかな投影面を生成する。これにより、検出された実物体の距離の分布に急な凹凸や誤差が生じていても、表示画像への影響を小さくできる。また実物体の位置情報取得の粒度が粗くても適切に全天周の投影面を生成できるため、急な振り向きなどユーザの任意の動きに表示を対応させることができる。さらにユーザの頭を中心として投影面の位置情報を生成しておき、仮想カメラを中心とした投影面に流用しても大きな誤差が生じないため、投影面の位置情報生成の処理負荷を抑えられる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
10 画像表示システム、 70 画像処理部、 72 撮影画像取得部、 74 センサデータ取得部、 76 投影面制御部、 78 投影面マップ記憶部、 80 表示画像生成部、 82 出力制御部、 84 状態情報取得部、 86 物体情報記憶部、 88 オブジェクト配置部、 90 オブジェクトデータ記憶部、 100 ヘッドマウントディスプレイ、 110 ステレオカメラ、 120 画像処理用集積回路、 122 表示パネル、 136 CPU、 138 GPU、 200 コンテンツ処理装置。
Claims (13)
- 搭載されたカメラによる撮影画像のデータを取得する撮影画像取得部と、
ユーザと実物体の距離の分布に応じて、表示対象の仮想3次元空間に投影面を設定する投影面制御部と、
前記投影面に前記撮影画像を表し、それを仮想カメラから見てなる像を描画することにより、当該撮影画像を含む表示画像を生成する表示画像生成部と、
前記表示画像のデータを表示パネルに出力する出力部と、
を備えたことを特徴とするヘッドマウントディスプレイ。 - 前記投影面制御部は、ユーザの頭部を中心とする所定範囲の方位に対し前記投影面の位置情報の分布を表した投影面マップを、前記距離の分布の変化に応じて更新し、
前記表示画像生成部は、前記投影面マップに基づき生成した投影面に前記撮影画像を表すことを特徴とする請求項1に記載のヘッドマウントディスプレイ。 - 前記投影面制御部は前記投影面マップとして、ユーザの頭部を中心とする仮想的な立方体の面で構成されるキューブマップに、前記投影面の位置情報の分布を表すことを特徴とする請求項2に記載のヘッドマウントディスプレイ。
- 前記投影面制御部は、前記投影面マップにおいて、前記投影面の位置情報を、ユーザの頭部から投影面までの距離の逆数で表すことを特徴とする請求項2または3に記載のヘッドマウントディスプレイ。
- 前記撮影画像に基づき前記ヘッドマウントディスプレイと実物体の3次元位置情報を逐次取得する状態情報取得部をさらに備え、
前記投影面制御部は、前記3次元位置情報の変化に基づき前記投影面マップを更新することを特徴とする請求項2または3に記載のヘッドマウントディスプレイ。 - 前記投影面制御部は、ユーザの頭部の速度、角速度、加速度の少なくとも1つが所定値以上の期間に限定して、前記投影面マップを更新することを特徴とする請求項5に記載のヘッドマウントディスプレイ。
- 前記投影面制御部は、前記投影面の一部として、前記3次元位置情報の変化によらず前記仮想3次元空間において固定の面を設定することを特徴とする請求項5に記載のヘッドマウントディスプレイ。
- 前記投影面制御部は、前記投影面マップにおいて、前記位置情報を表す数値の2階微分値を軽減させるフィルタ処理を、所定の頻度で実施することを特徴とする請求項2または3に記載のヘッドマウントディスプレイ。
- 前記状態情報取得部はさらに、実世界にある床面の高さを検出し、
前記投影面制御部は、ユーザの直下に存在し検出された高さを有する所定の距離内の面を、前記投影面の一部とすることを特徴とする請求項5に記載のヘッドマウントディスプレイ。 - ユーザの可動範囲を規定するプレイエリアを示す仮想オブジェクトを、前記床面に対応させて配置するオブジェクト配置部をさらに備え、
前記表示画像生成部は、前記投影面に表した前記撮影画像からなる表示画像に、前記プレイエリアを示す仮想オブジェクトの像を合成することを特徴とする請求項9に記載のヘッドマウントディスプレイ。 - 前記表示画像生成部は、前記投影面マップを、左右の前記仮想カメラの視点からの方位に対する位置情報と見なすことにより、各仮想カメラに対し前記投影面を生成することを特徴とする請求項2または3に記載のヘッドマウントディスプレイ。
- 搭載されたカメラによる撮影画像のデータを取得するステップと、
ユーザと実物体の距離の分布に応じて、表示対象の仮想3次元空間に投影面を設定するステップと、
前記投影面に前記撮影画像を表し、それを仮想カメラから見てなる像を描画することにより、当該撮影画像を含む表示画像を生成するステップと、
前記表示画像のデータを表示パネルに出力するステップと、
を含むことを特徴とする、ヘッドマウントディスプレイによる画像表示方法。 - 搭載されたカメラによる撮影画像のデータを取得する機能と、
ユーザと実物体の距離の分布に応じて、表示対象の仮想3次元空間に投影面を設定する機能と、
前記投影面に前記撮影画像を表し、それを仮想カメラから見てなる像を描画することにより、当該撮影画像を含む表示画像を生成する機能と、
前記表示画像のデータを表示パネルに出力する機能と、
をヘッドマウントディスプレイが備えるコンピュータに実現させることを特徴とするコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023033693A JP2024125698A (ja) | 2023-03-06 | 2023-03-06 | ヘッドマウントディスプレイおよび画像表示方法 |
PCT/JP2024/005094 WO2024185428A1 (ja) | 2023-03-06 | 2024-02-14 | ヘッドマウントディスプレイおよび画像表示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023033693A JP2024125698A (ja) | 2023-03-06 | 2023-03-06 | ヘッドマウントディスプレイおよび画像表示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024125698A true JP2024125698A (ja) | 2024-09-19 |
Family
ID=92674568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023033693A Pending JP2024125698A (ja) | 2023-03-06 | 2023-03-06 | ヘッドマウントディスプレイおよび画像表示方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024125698A (ja) |
WO (1) | WO2024185428A1 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3493147B1 (en) * | 2016-07-29 | 2021-04-07 | Sony Corporation | Image processing device and image processing method |
WO2019193696A1 (ja) * | 2018-04-04 | 2019-10-10 | 株式会社ソニー・インタラクティブエンタテインメント | 基準画像生成装置、表示画像生成装置、基準画像生成方法、および表示画像生成方法 |
US11451758B1 (en) * | 2020-02-12 | 2022-09-20 | Meta Platforms Technologies, Llc | Systems, methods, and media for colorizing grayscale images |
JP2023016226A (ja) * | 2021-07-21 | 2023-02-02 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、情報処理方法およびコンピュータプログラム |
-
2023
- 2023-03-06 JP JP2023033693A patent/JP2024125698A/ja active Pending
-
2024
- 2024-02-14 WO PCT/JP2024/005094 patent/WO2024185428A1/ja unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024185428A1 (ja) | 2024-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11016297B2 (en) | Image generation apparatus and image generation method | |
US10269139B2 (en) | Computer program, head-mounted display device, and calibration method | |
EP3712840A1 (en) | Method and system for generating an image of a subject in a scene | |
US11854171B2 (en) | Compensation for deformation in head mounted display systems | |
JP2017174125A (ja) | 情報処理装置、情報処理システム、および情報処理方法 | |
US10681276B2 (en) | Virtual reality video processing to compensate for movement of a camera during capture | |
CN111007939A (zh) | 一种基于深度感知的虚拟现实系统空间定位方法 | |
CN103517060A (zh) | 一种终端设备的显示控制方法及装置 | |
US11302023B2 (en) | Planar surface detection | |
CN108153417B (zh) | 画面补偿方法及采用该方法的头戴式显示装置 | |
CN110969706B (zh) | 增强现实设备及其图像处理方法、系统以及存储介质 | |
JP2016192029A (ja) | 画像生成システム及びプログラム | |
JP2024019911A (ja) | ヘッドマウントディスプレイおよび画像表示方法 | |
US11050993B2 (en) | Image generating apparatus and image generating method | |
WO2024185428A1 (ja) | ヘッドマウントディスプレイおよび画像表示方法 | |
WO2024185429A1 (ja) | ヘッドマウントディスプレイおよび画像表示方法 | |
CN114020150A (zh) | 图像显示方法、装置、电子设备及介质 | |
CN108881892B (zh) | 用于桌面式虚拟现实系统的防眩晕方法、系统 | |
JP6378794B1 (ja) | 画像処理装置、画像処理プログラム、及び、画像処理方法 | |
US20240278113A1 (en) | Display image generation device and image display method | |
JP7465133B2 (ja) | 情報処理装置、情報処理方法 | |
US20170052684A1 (en) | Display control apparatus, display control method, and program | |
US10999567B2 (en) | Image generating apparatus and image generating method | |
JP2024015868A (ja) | ヘッドマウントディスプレイおよび画像表示方法 | |
JP2024034143A (ja) | 情報処理装置および情報処理方法 |