JP7409307B2 - ヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラム - Google Patents

ヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラム Download PDF

Info

Publication number
JP7409307B2
JP7409307B2 JP2020531224A JP2020531224A JP7409307B2 JP 7409307 B2 JP7409307 B2 JP 7409307B2 JP 2020531224 A JP2020531224 A JP 2020531224A JP 2020531224 A JP2020531224 A JP 2020531224A JP 7409307 B2 JP7409307 B2 JP 7409307B2
Authority
JP
Japan
Prior art keywords
calibration
image
display device
head
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020531224A
Other languages
English (en)
Other versions
JPWO2020017327A1 (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 JPWO2020017327A1 publication Critical patent/JPWO2020017327A1/ja
Application granted granted Critical
Publication of JP7409307B2 publication Critical patent/JP7409307B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • 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
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • 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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • 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/0693Calibration of display systems
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2356/00Detection of the display position w.r.t. other display screens
    • 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/145Detecting light within display terminals, e.g. using a single or a plurality of photosensors the light originating from the display screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Studio Devices (AREA)

Description

本開示は、ヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラムに関し、特に、ホーム環境下において、ユーザが意識することなくキャリブレーションを実行し、適切にカメラパラメータを推定できるようにしたヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラムに関する。
カメラを含むセットアップにおいては、光学系の歪みや撮像方向のずれ等が生じており、この歪みやずれに対応するパラメータを事前に測定(推定)することにより、撮像された画像に対して適用することで、適切な画像が得られる。
このセットアップのパラメータ推定の既存手法は、多くの場合、一回の初期測定のみを想定している。その中には、ディスプレイなどに既知のパターンをカメラで撮像し、撮像結果に基づいてパラメータを推定するものである。
例えば、表示装置に既知のパターンを表示し、表示された既知のパターンを撮像した撮像画像を使用することでカメラキャリブレーションを実現する技術が提案されている(特許文献1参照)。
ところが、その後、セットアップに変形や変化が発生した場合、それらの手法では、再度キャリブレーションが必要となる。
すなわち、キャリブレーションが工場などで行われる場合、出荷後、ユーザ宅内などのホーム環境にて、衝撃などによるカメラセットアップの変形が起こった時、再度キャリブレーションを行うには工場へと再出荷する必要がある。この様な事態を避けるためにも、ユーザが、ホーム環境下(在宅環境下)でキャリブレーションを実行して、これらのパラメータを再度推定できるようにする必要がある。
特開2000-350239号公報
しかしながら、ホーム環境下を想定している幾つかの既存手法ではパラメータ推定のための特殊な物体を別途用意する必要があった。また、多くの手法では、特殊な手順を含むプロセスを必要とするため、ユーザがそれらのプロセスの実行を嫌がり、キャリブレーションそのものを行わない可能性があった。
また、特許文献1においては、ユーザとディスプレイとの位置関係などの状況により撮像される既知のパターンの変化には対応しておらず、適切にカメラパラメータを推定することができない恐れがあった。
本開示は、このような状況に鑑みてなされたものであり、特に、ホーム環境下において、ユーザが意識することなくキャリブレーションを実行し、適切にカメラパラメータを推定する。
本開示の一側面のヘッドマウントディスプレイは、表示部と、外部を撮像する撮像部と、キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理部とを含み、前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に基づいて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成するヘッドマウントディスプレイである。
本開示の一側面のヘッドマウントディスプレイの制御方法は、表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの制御方法であって、キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理部とを含み、前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に基づいて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成するヘッドマウントディスプレイの制御方法である。
本開示の一側面のプログラムは、表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイを制御するコンピュータを、キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理部として機能させ、前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成するプログラムである。
本開示の一側面の情報処理装置は、表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイにコンテンツを供給する情報処理装置であって、キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理部とを含み、前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成する情報処理装置である。
本開示の一側面の表示装置は、表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの前記撮像部のキャリブレーション画像を表示する表示装置であって、キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理部とを含み、前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成する表示装置である。
本開示の一側面においては、キャリブレーションに適したキャリブレーション画像が生成され、外部表示機器に表示され、キャリブレーション画像が撮像させられ、撮像されたキャリブレーション画像に基づいて、カメラパラメータが推定され、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、撮像方向と、前記外部表示機器の表面の方向とのなす角に基づいて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズが調整されて生成される。
本開示の一側面によれば、特に、ホーム環境下において、ユーザが意識することなくキャリブレーションを実行し、適切にカメラパラメータを推定することが可能となる。
本開示のキャリブレーションシステムの構成例を説明する図である。 本開示の第1の実施の形態のキャリブレーション処理の概要を説明する図である。 HMDと表示装置との距離に応じたキャリブレーションパターンの表示例を説明する図である。 HMDと表示装置との位置関係に応じたキャリブレーションパターンの表示例を説明する図である。 第1の実施の形態のHMDの構成例を説明する図である。 第1の実施の形態の情報処理装置の構成例を説明する図である。 第1の実施の形態の表示装置の構成例を説明する図である。 第1の実施の形態のキャリブレーション処理を説明するフローチャートである。 第1の実施の形態のキャリブレーションパターン表示状態確認処理を説明するフローチャートである。 第1の変形例の概要を説明する図である。 第1の変形例のキャリブレーションパターン表示状態確認処理を説明するフローチャートである。 第2の変形例の概要を説明する図である。 第2の変形例のキャリブレーション処理を説明するフローチャートである。 第3の変形例の概要を説明する図である。 第3の変形例のキャリブレーションパターン表示状態確認処理を説明するフローチャートである。 第2の実施の形態の情報処理装置の構成例を説明する図である。 第2の実施の形態のキャリブレーション処理を説明するフローチャートである。 第3の実施の形態の表示装置の構成例を説明する図である。 第3の実施の形態のキャリブレーション処理を説明するフローチャートである。 汎用のパーソナルコンピュータの構成例を説明する図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.本開示のキャリブレーションシステムの概要
2.第1の実施の形態
3.第1の変形例
4.第2の変形例
5.第3の変形例
6.第2の実施の形態
7.第3の実施の形態
8.ソフトウェアにより実行させる例
<<1.本開示のキャリブレーションシステムの概要>>
<キャリブレーションシステムの構成例>
図1を参照して、本開示の技術を適用したキャリブレーションシステムの概要について説明する。
図1は、本開示のキャリブレーションシステムの構成例を示している。図1のキャリブレーションシステム11は、HMD(Head Mounted Display)31、情報処理装置32、およびディスプレイからなる表示装置33より構成され、HMD31に設けられたカメラ31aのカメラパラメータをキャリブレーションにより推定(測定)するシステムである。
図1のキャリブレーションシステム11は、通常の動作において、例えば、ゲーム機等のコンテンツを表示する装置として機能する。より詳細には、情報処理装置32は、VR(Virtual Reality)画像、またはAR(Augmented Reality)画像からなるコンテンツを、ユーザ21に装着されたHMD31に出力し、表示させる。
また、キャリブレーションシステム11は、ユーザが、装着したHMD31に表示される画像を視聴しながら、例えば、ゲームを楽しんでいる間に、ユーザが意識することなく、HMD31に搭載されたカメラ31aのキャリブレーションを実行し、カメラ31aのカメラパラメータを推定(測定)する。
すなわち、キャリブレーションシステム11は、本来の機能であるゲーム機としての機能を実現させている間に、バックグラウンドにおいて、キャリブレーション処理を実行する。
より具体的には、例えば、図2の状態St1で示されるように、キャリブレーション処理を実行する際、キャリブレーションシステム11は、表示装置33に対してキャリブレーションを実行するための、表示装置33上のどの位置に表示されるかが既知のキャリブレーションパターンとして、例えば、複数の方形状のマーカからなる画像やチェッカフラグ柄の画像を表示する。尚、マーカの形状は、既知の形状であれば、方形以外の所定の形状であってもよいし、既知の配色パターンなどであってもよい。
このとき、HMD31のカメラ31aは、表示装置33に表示されたキャリブレーションパターンを撮像すると共に、HMD31が、カメラ31aにより撮像されたキャリブレーションパターンの画像に基づいて、カメラ31aのカメラパラメータを推定(測定)する。
また、キャリブレーション処理が実行されるとき、キャリブレーションシステム11のHMD31は、同時に、図2の状態St2で示されるようなVR画像や、図2の状態St3で示されるようなAR画像を表示して、ユーザ21に提示する。
このように、キャリブレーションシステム11は、ゲーム機として機能している間に、バックグラウンドでキャリブレーション処理を実行し、カメラ31aのカメラパラメータを推定(測定)する。
ここで、求められるカメラパラメータは、例えば、表示装置33を起点としたカメラ31aのセットアップの位置および姿勢の情報、カメラ31aの内部パラメータ(ディストーション、焦点距離、光学中心等)の情報、カメラ31aが複数に存在する場合、カメラ31a間の位置姿勢の情報、および、カメラ31aのホワイトバランスを含めたカラー情報等である。ただし、ホワイトバランスを含めたカラー情報のカメラパラメータを推定(測定)する場合、キャリブレーションパターンは、例えば、RGB画像とする必要がある。
結果として、ユーザ21は、HMD31を装着して、情報処理装置32を利用してゲームを楽しんでいる間に、キャリブレーションについて意識することなく、キャリブレーションが実行されて、適切にカメラパラメータを推定(測定)することが可能となる。
尚、図2の状態St2,St3で示されるように、VR画像が表示されている状態や、AR画像が表示されている状態については、HMD31を装着したユーザが、視聴する画像のイメージを示したものであり、現実の表示状態を示したものとは異なる。
<HMDとディスプレイとの距離に応じたキャリブレーションパターンの表示例>
HMD31に設けられたカメラ31aは、例えば、HMD31を装着したユーザ21の顔の正面方向を撮像する。したがって、HMD31が、図1で示されるように、ユーザ21の頭部に装着された状態で、表示装置33の方向に顔を向けると、表示装置33を撮像する。
また、HMD31には、ユーザ21の頭部に装着されるとき、ユーザ21の目を覆うようにディスプレイ(図示せず)が設けられており、そのディスプレイにゲーム等のコンテンツであるVR画像やAR画像が表示される。
このような構成により、ユーザ21が、HMD31に表示されるVR画像またはAR画像を視聴する動作と、カメラ31aがユーザ21の正面方向を撮像する動作とは、完全に独立した動作となるが、視聴方向についても、撮像方向についても、ユーザ21の動作に連動して変化する。
また、上述した構成により、ユーザ21は、HMD31を装着している間については、自らの視聴方向と表示装置33との位置関係を認識することはできない場合もあるので、カメラ31aと表示装置33との位置関係は、様々な状態が想定される。
例えば、HMD31を装着したユーザ21の顔の正面方向と表示装置33の表示面とが正対する位置に存在する場合、HMD31と表示装置33とが所定の距離よりも近い位置に存在するときと、所定の距離よりも遠いときとでは、カメラ31aにより撮像される表示装置33に表示されたキャリブレーションパターンに変化が生じる。
すなわち、HMD31を装着したユーザ21の顔の正面方向と表示装置33の表示面の正面方向とが正対する場合であって、HMD31と表示装置33とが所定の距離に存在するときには、カメラ31aにより撮像されるキャリブレーションパターンを構成するマーカの大きさが適切なサイズであり、複数のマーカの境界を適切に認識することができる。
尚、ここでは、キャリブレーションパターンが、複数の方形状のマーカが配置される画像であるものとして説明するが、それ以外の画像であってもよく、例えば、白色および黒色の複数の方形状のマーカが密集した状態で交互に配置されたチェッカフラグ柄の画像であってもよい。
これに対して、HMD31を装着したユーザ21の顔の正面方向と表示装置33の表示面の正面方向とが正対する場合であって、HMD31と表示装置33とが所定の距離よりも遠い位置に存在するとき、カメラ31aにより撮像されるキャリブレーションパターンを構成するマーカの大きさは、所定の距離であるときよりも小さくなり、例えば、マーカの境界が潰れるなどして、マーカの位置を適切に認識することができない可能性がある。
マーカの位置(特に方形状のマーカの場合、その境界の位置)が適切に認識できない状態になると、キャリブレーションにより、適切なカメラパラメータが推定(測定)できない恐れがある。
そこで、図1のキャリブレーションシステム11においては、HMD31と表示装置33との距離に応じて、表示装置33に表示されるキャリブレーションパターンを構成するマーカのサイズを変化させて表示する。
すなわち、図3の上部で示されるように、HMD31と表示装置33との距離が、所定の距離D1であるような場合、カメラ31aにより撮像される表示装置33の画像は、例えば、画像P1となる。画像P1の場合、キャリブレーションパターンを構成する方形状のマーカがアレイ状に配置されており、マーカの水平方向のサイズがデフォルトとなるサイズdであり、カメラパラメータの推定(測定)に適切であるものとする。
これに対して、HMD31と表示装置33との距離が、所定の距離よりも遠い距離であるような場合、キャリブレーションパターンを構成するマーカの水平方向のサイズは、サイズdよりも小さくなり、カメラパラメータの推定(測定)に不適切なサイズとなる恐れがある。
そこで、図1のキャリブレーションシステム11においては、HMD31と表示装置33との距離に応じてキャリブレーションパターンを構成するマーカのサイズを変化させて表示する。すなわち、例えば、図3の下部で示されるように、HMD31と表示装置33との距離が、所定の距離D1よりも遠い距離D2であるような場合、カメラ31aにより撮像される画像は、例えば、画像P2となるように、キャリブレーションパターンを構成するマーカの水平方向のサイズを大きく表示する。
このようにすることで、画像P2におけるキャリブレーションパターンを構成するマーカのサイズdは、図3の上部で示されるように、HMD31と表示装置33との距離が距離D1であるときと同様のサイズdとなり、カメラパラメータの推定(測定)に適切なサイズにすることが可能となる。
これにより、HMD31と表示装置33との距離によらず、キャリブレーションパターンを構成するマーカのサイズを適切なサイズにすることが可能となるので、HMD31と表示装置33との距離によらず、適切なサイズのキャリブレーションパターンを表示することが可能となる。
結果として、適切にカメラパラメータを推定(測定)することが可能となる。
<HMDの撮像方向とディスプレイとの位置関係に応じたキャリブレーションパターンの表示例>
また、例えば、HMD31を装着したユーザ21の顔の正面方向と表示装置33の表示面の正面方向とが正対せず、例えば、HMD31のカメラ31aが、表示装置33の正面方向に対して左右のいずれかの斜め方向から表示装置33を撮像する場合、HMD31の撮像方向と表示装置33との位置関係に応じて、カメラ31aにより撮像される表示装置33に表示されたキャリブレーションパターンに変化が生じる。
すなわち、HMD31を装着したユーザ21の顔の正面方向が、表示装置33の表示面の正面方向に対して左右のいずれか斜め方向から表示装置33を撮像する場合、正面方向から撮像する場合に比べて、キャリブレーションパターンを構成するマーカの水平方向のサイズが小さくなる。
結果として、カメラ31aにより撮像されるキャリブレーションパターンを構成するマーカの水平方向の大きさが小さくなり、例えば、撮像されたキャリブレーションパターンのマーカの境界が潰れるなどして、マーカの位置を適切に認識することができない状況になることが考えられる。
マーカの位置が適切に認識できない状態になると、キャリブレーション処理により、適切なカメラパラメータが求められない恐れがある。
そこで、図1のキャリブレーションシステム11においては、HMD31を装着したユーザ21の顔の正面方向と、表示装置33の表示面の正面方向との位置関係に応じて、表示装置33に表示されるキャリブレーションパターンを構成するマーカの水平方向のサイズを変化させて表示する。
すなわち、図4の左部の画像Pt11で示されるように、表示装置33に表示されるキャリブレーションパターンがチェッカフラグ柄の画像である場合、HMD31を装着したユーザ21の顔の正面方向と、表示装置33の正面方向とが一致した状態で撮像されるとき、チェッカフラグ柄のキャリブレーションパターンの白または黒の方形部が、マーカとして機能し、マーカが規則正しく配置された状態の画像として撮像される。従って、図4の左部においては、適切にキャリブレーションを実行することが可能となり、結果として、適切にカメラパラメータが求められる。
しかしながら、表示装置33の正面方向に対して、例えば、右斜め方向からカメラ31aにより表示装置33に表示されたキャリブレーションパターンを撮像すると、例えば、図4の中央部の画像Pt11’で示されるような画像が撮像される。
すなわち、画像Pt11’で示されるように、撮像されたキャリブレーションパターンのチェッカフラグ柄におけるマーカの水平方向のサイズは、正面方向から撮像された場合の画像Pt11におけるマーカよりも水平方向のサイズが小さくなり、適切なマーカのサイズではなくなる可能性がある。
そこで、図1のキャリブレーションシステム11においては、HMD31の撮像方向が、表示装置33の正面方向に対して右斜め方向から撮像するような場合、図4の右部の画像Pt12で示されるように、キャリブレーションパターンを構成するマーカの水平方向のサイズを大きくして、マーカの水平方向のサイズが、キャリブレーション処理において適切なサイズになるように表示装置33に表示させる。
これにより、HMD31の撮像方向と表示装置33との位置関係によらず、キャリブレーションパターンを構成するマーカのサイズを適切なサイズにすることが可能となる。結果として、HMD31におけるカメラ31aの撮像方向と表示装置33との位置関係によらず、適切にキャリブレーションを実行させることが可能となり、カメラパラメータを適切に推定(測定)することが可能となる。
<<2.第1の実施の形態>>
<HMDの構成例>
次に、図5を参照して、図1のキャリブレーションシステム11を構成するHMD31の構成例について説明する。
HMD(Head Mounted Display)31は、ユーザ21の頭部に巻き付けられるように装着され、ユーザ21の左右の目を覆うように設けられた表示部54により、情報処理装置32より供給されるVR画像またはAR画像からなるコンテンツを表示してユーザ21に視聴させる。
また、HMD31は、コンテンツを表示する処理と並行してキャリブレーション処理を実行し、設けられたカメラ31aにより表示装置33に表示されるキャリブレーションパターンを撮像し、撮像された画像に基づいて、カメラパラメータを推定(測定)する。
より具体的には、HMD31は、制御部51、通信部52、撮像部53、表示部54、記憶部55、ドライブ56、およびリムーバブル記憶媒体57より構成され、それらが、相互にバス60を介して電気的に接続された構成とされている。
制御部51は、プロセッサやメモリより構成されており、HMD31の動作の全体を制御する。
また、制御部51は、キャリブレーション処理部71、およびコンテンツ表示処理部72を備えている。
キャリブレーション処理部71は、撮像部53により撮像される、表示装置33に表示されたキャリブレーションパターンの画像に基づいたマーカ認識もしくは、SLAM(Simultaneous Localization and Mapping)により推定される位置および姿勢の情報に基づいて、キャリブレーション処理を実行し、カメラ31aである撮像部53のカメラパラメータを推測(測定)する。尚、位置および姿勢の推定については、撮像部53により撮像された画像に加えて、IMU(Inertial Measurement Unit)の測定結果を組み合わせたSLAMによる推定により、より高精度に求めるようにしてもよい。また、位置および姿勢の推定については、IMU単体で求めるようにしてもよいし、GPS(Global Positioning System)やGNSS(Global Navigation Satellite System)などを用いて求めるようにしてもよい。
コンテンツ表示処理部72は、通信部52を介して情報処理装置32より供給されるコンテンツのデータを取得して、VR画像、またはAR画像を表示部54に表示する。
通信部52は、制御部51により制御され、有線(または無線(図示せず))により、LAN(Local Area Network)などに代表される通信ネットワークを介して、情報処理装置32との間で各種のデータやプログラムを送受信する。
撮像部53は、HMD31に装着されたカメラ31aに対応するものである。また、撮像部53は、CMOS(Complementary Metal Oxide Semiconductor)やCCD(Charge Coupled Device)などからなるイメージセンサであり、ユーザ21により装着された状態において、ユーザ21の正面前方を撮像し、撮像した画像を制御部51に出力する。
表示部54は、HMD31のユーザ21の両眼を覆うように設けられたディスプレイであり、例えば、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)などからなる。表示部54は、制御部51のコンテンツ表示処理部72により制御されて、情報処理装置32より供給されるコンテンツのデータに基づいて、VR画像、またはAR画像を表示する。
尚、表示部54は、AR画像を投影して表示するような場合については、透過型ディスプレイ、または非透過型ディスプレイのいずれであってもよいが、必要に応じて、左右のいずれかの眼を覆うような構造のディスプレイであってもよい。
記憶部55は、制御部51により制御され、HDD(Hard Disk Drive)、SSD(Solid State Drive)、または、半導体メモリなどからなり、各種のデータおよびプログラムを書き込む、または、読み出す。
ドライブ56は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体57に対してデータを読み書きする。
<情報処理装置の構成例>
次に、図6を参照して、情報処理装置32の構成例について説明する。
情報処理装置32は、HMD31に対してVR画像またはAR画像などからなるコンテンツを供給して表示させると共に、HMD31から供給されるキャリブレーションパターンの表示サイズなどを制御するパラメータ(以下、単に、キャリブレーションパラメータとも称する)を表示装置33に供給する。
情報処理装置32は、制御部91、通信部92、記憶部93、ドライブ94、およびリムーバブル記憶媒体95より構成され、それらが、バス96を介して相互に電気的に接続された構成とされている。
制御部91は、プロセッサやメモリより構成されており、情報処理装置32の動作の全体を制御する。
通信部92は、制御部91により制御され、有線(または無線(図示せず))により、LAN(Local Area Network)などに代表される通信ネットワークを介して、HMD31、および表示装置33との間で各種のデータやプログラムを送受信する。
記憶部93は、制御部91により制御され、HDD(Hard Disk Drive)、SSD(Solid State Drive)、または、半導体メモリなどからなり、各種のデータおよびプログラムを書き込む、または、読み出す。
ドライブ94は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体95に対してデータを読み書きする。
より詳細には、制御部91は、例えば、記憶部93またはリムーバブル記憶媒体95に記憶されているVR画像またはAR画像からなるコンテンツのデータを読み出し、通信部92を制御してHMD31に供給し、表示させる。
また、制御部91は、通信部92を制御して、HMD31より供給されるキャリブレーションパターンの表示画像の情報を取得すると共に、表示装置33に供給して表示させる。
<表示装置の構成例>
次に、図7を参照して、表示装置33の構成例について説明する。
表示装置33は、情報処理装置32を介して、HMD31より供給されるキャリブレーションパラメータに基づいた表示形式でキャリブレーションパターンを表示させる。
表示装置33は、制御部111、通信部112、表示部113、記憶部114、ドライブ115、およびリムーバブル記憶媒体116を備えており、それらがバス117を介して電気的に接続された構成とされている。
制御部111は、プロセッサやメモリより構成されており、表示装置33の動作の全体を制御する。
また、制御部111は、表示制御部131を備えている。表示制御部131は、通信部12を介して、HMD31より供給されるキャリブレーションパラメータに基づいて、キャリブレーションパターンに処理を施して表示する。キャリブレーションパターンは、例えば、方形状のマーカを所定の間隔で、アレイ状に複数に配置した画像や、白色および黒色の方形状のマーカがアレイ状に複数に配置されたチェッカフラグ柄の画像であるが、予め位置やサイズが分かっている形状のマーカであれば、その他のマーカが複数に配置されるような画像であってもよい。
通信部112は、制御部111により制御され、有線(または無線(図示せず))により、LAN(Local Area Network)などに代表される通信ネットワークを介して、情報処理装置32との間で各種のデータやプログラムを送受信する。
表示部113は、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)などからなり、制御部111の表示制御部131により制御されて、情報処理装置32を介してHMD31より供給されるキャリブレーションパターンの表示に係るパラメータに基づいた形式でキャリブレーションパターンを表示する。
記憶部114は、制御部111により制御され、HDD(Hard Disk Drive)、SSD(Solid State Drive)、または、半導体メモリなどからなり、各種のデータおよびプログラムを書き込む、または、読み出す。
ドライブ115は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体116に対してデータを読み書きする。
<第1の実施の形態におけるキャリブレーション処理>
次に、図8のフローチャートを参照して、第1の実施の形態におけるキャリブレーション処理について説明する。
ステップS41において、情報処理装置32の制御部91は、記憶部93またはリムーバブル記憶媒体95に記憶されているコンテンツを構成する表示画像のデータを読み出し、通信部92を制御して、HMD31に供給する。
ステップS11において、HMD31における制御部51のコンテンツ表示処理部72は、通信部52を制御して、情報処理装置32より供給されるコンテンツを構成する表示画像のデータを取得すると共に、コンテンツのデータに基づいて、VR画像、またはAR画像からなるコンテンツを表示部54に表示する。
この処理により、HMD31を装着したユーザ21は、表示部54に表示されるVR画像、またはAR画像からなるコンテンツを視聴することができる状態になる。
ステップS12において、撮像部53(カメラ31a)は、HMD31を装着したユーザ21の前方の風景を撮像し、撮像した画像を制御部51に出力する。
ステップS13において、制御部51のキャリブレーション処理部71は、撮像部53により撮像された画像を解析し、表示装置33が撮像されているか否かを判定する。キャリブレーション処理部71は、例えば、撮像された画像内における物体検出により表示装置33の形状が含まれているか否かに基づいて、表示装置33が撮像されているか否かを判定する。
ステップS13において、例えば、表示装置33が撮像されているとみなされた場合、処理は、ステップS14に進む。
ステップS14において、キャリブレーション処理部71は、通信部52を制御して、情報処理装置32を介して、表示装置33に対してキャリブレーションの開始を指示する。
ステップS42において、情報処理装置32の制御部91は、通信部92を制御して、HMD31よりキャリブレーションの開始が指示されたか否かを判定する。ステップS42において、ステップS14の処理によりキャリブレーションの開始が指示された場合、処理は、ステップS43に進む。
ステップS43において、制御部91は、通信部92を制御して、表示装置33に対してキャリブレーションの開始を指示する。
ステップS71において、表示装置33における制御部111の表示制御部131は、通信部112を制御して、情報処理装置32を介して、HMD31からのキャリブレーションの開始の指示が供給されてきたか否かを判定する。ステップS71において、キャリブレーションの開始が指示された場合、処理は、ステップS72に進む。
ステップS72において、表示制御部131は、記憶部114またはリムーバブル記憶媒体116に記憶されているキャリブレーションパターンの画像データを読み出して表示部113において表示させる。この際、表示制御部131は、読み出したキャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズの状態で表示させる。
すなわち、HMD31のカメラ31aに対応する撮像部53において、表示装置33が撮像されると、キャリブレーションが開始されて、デフォルトのマーカサイズからなるキャリブレーションパターンが表示装置33に表示される。
一方、ステップS15において、キャリブレーション処理部71は、撮像部53により撮像される画像に基づいて、表示装置33によりキャリブレーションパターンが撮像されたか否かを判定し、撮像されるまで、同一の処理を繰り返す。
ステップS15において、上述した一連の処理により表示装置33の表示部113にキャリブレーションパターンが表示されることにより、撮像部(カメラ31a)によりキャリブレーションパターンが撮像されたとみなされた場合、処理は、ステップS16に進む。
ステップS16において、キャリブレーション処理部71は、キャリブレーションパターン表示状態確認処理を実行し、撮像部53により撮像されたキャリブレーションパターンの表示状態を確認する。より詳細には、キャリブレーション処理部71は、キャリブレーションパターンが、キャリブレーションに適している状態であるか否かを判定し、適していない場合、図3,図4を参照して説明したように、キャリブレーションに適したキャリブレーションパターンを表示装置33において表示するためのサイズなどを設定し、対応するキャリブレーションパラメータを算出する。
尚、キャリブレーションパターン表示状態確認処理については、図9のフローチャートを参照して、詳細を後述する。
ステップS17において、キャリブレーション処理部71は、キャリブレーションパターン表示状態確認処理により、撮像されたキャリブレーションパターンがキャリブレーションに適した状態であると判定されたか否かを判定する。ステップS17において、撮像されたキャリブレーションパターンがキャリブレーションに適していない場合、処理は、ステップS18に進む。
ステップS18において、キャリブレーション処理部71は、通信部52を制御して、情報処理装置32を介して表示装置33に対して、キャリブレーションパターン表示状態確認処理により算出されたキャリブレーションパラメータを送信し、処理は、ステップS15に戻る。
ステップS44において、情報処理装置32の制御部91は、通信部92を制御して、HMD31から表示装置33に対するキャリブレーションパラメータが供給されたか否かを判定する。そして、ステップS44において、表示装置33に対するキャリブレーションパラメータが供給された場合、処理は、ステップS45に進む。
ステップS45において、制御部91は、通信部92を制御して、表示装置33に対して、キャリブレーションパラメータを送信する。
ステップS73において、表示装置33における制御部111の表示制御部131は、通信部112を制御して、HMD31から情報処理装置32を介して送信される、キャリブレーションパラメータが供給されたか否かを判定する。そして、ステップS73において、キャリブレーションパラメータが供給された場合、処理は、ステップS74に進む。
ステップS74において、表示制御部131は、通信部92を制御して、キャリブレーションパラメータを取得し、デフォルトで記憶されているキャリブレーションパターンに対してキャリブレーションパラメータに応じた処理を施して、表示部113に表示する。
すなわち、図3を参照して説明したように、HMD31が、表示装置33に対して所定の距離よりも遠い場合については、キャリブレーションパラメータに基づいて、マーカのサイズを大きく表示する。また、HMD31が、表示装置33に対して所定の距離である場合については、キャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズにする。さらに、HMD31が、表示装置33に対して所定の距離よりも近い場合については、キャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズよりも小さなサイズで表示する。
また、図4を参照して説明したように、HMD31が、表示装置33の表示部113の表示面に対して左右方向に存在するような場合については、キャリブレーションパターンにおけるマーカの水平方向のサイズを大きくする。また、HMD31が、表示装置33の表示部113の表示面に対して正面に存在するような場合については、キャリブレーションパターンにおけるマーカの水平方向のサイズをデフォルトのサイズで表示する。
このように表示されるマーカのサイズを調整することにより、撮像部53により撮像されたキャリブレーションパターンにおけるマーカのサイズを常に適切なサイズにすることが可能となり、結果として、常にキャリブレーションに適した状態でキャリブレーションパターンを表示することが可能となる。
ステップS44,S73において、キャリブレーションパラメータが送信されない場合、ステップS45,S74の処理がスキップされる。
また、ステップS46において、制御部91は、キャリブレーションの完了がHMD31より通知されたか否かを判定し、通知されない場合、処理は、ステップS44に戻る。すなわち、キャリブレーションが完了するまで、ステップS44乃至S46の処理が繰り返される。
さらに、ステップS75において、表示制御部131は、キャリブレーションの完了が情報処理装置32を介してHMD31より通知されたか否かを判定し、通知されない場合、処理は、ステップS73に戻る。すなわち、キャリブレーションが完了するまで、ステップS73乃至S75の処理が繰り返される。
また、HMD31においては、ステップS17において、撮像されたキャリブレーションパターンがキャリブレーションに適しているとみなされない限り、ステップS15乃至S18の処理が繰り返される。これにより、情報処理装置32においては、ステップS44乃至S46の処理が繰り返され、表示装置33においては、ステップS73乃至S75の処理が繰り返され、キャリブレーションパラメータが繰り返し設定されて、キャリブレーションパターンのマーカの表示サイズが、HMD31と表示装置との位置関係に応じて変化し続ける。
ステップS17において、撮像部53により撮像されたキャリブレーションパターンがキャリブレーションに適しているとみなされた場合、処理は、ステップS19に進む。
ステップS19において、キャリブレーション処理部71は、撮像されたキャリブレーションパターンに基づいて、撮像部53であるカメラ31aのカメラパラメータを推定(測定)し、求められたカメラパラメータを撮像部53により撮像された画像に反映する。
ここで、求められるカメラパラメータは、例えば、表示装置33の表示部113を起点としたカメラ31a(撮像部53)のセットアップの位置および姿勢の情報、カメラ31a(撮像部53)の内部パラメータ(ディストーション、焦点距離、光学中心等)の情報、カメラ31a(撮像部53)が複数に存在する場合、カメラ31a(撮像部53)間の位置姿勢の情報、および、カメラ31a(撮像部53)のホワイトバランスを含めたカラー情報等である。ただし、ホワイトバランスを含めたカラー情報のカメラパラメータを推定(測定)する場合、キャリブレーションパターンは、例えば、RGBの各色を含む画像から構成される必要がある。
ステップS20において、キャリブレーション処理部71は、通信部52を制御して、情報処理装置32を介して、表示装置33に対してキャリブレーションの完了を通知する。
これにより、ステップS46において、キャリブレーションが完了したことが通知されたとみなされて、処理は、ステップS47に進む。
ステップS47において、制御部91は、通信部92を制御して、表示装置33に対してキャリブレーションの完了を通知する。
さらに、ステップS75において、キャリブレーションが完了したことが通知されたとみなされて、処理は、ステップS76に進む。
ステップS76において、表示制御部131は、通信部112を制御して、キャリブレーションの完了の通知を取得し、表示部113におけるキャリブレーションパターンの表示を終了する。
ステップS21において、キャリブレーション処理部71は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS11に戻り、それ以降の処理が繰り返される。尚、ステップS13において、表示装置33が撮像されていないとみなされた場合、処理は、ステップS21に進む。
また、ステップS48において、制御部91は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS41に戻り、それ以降の処理が繰り返される。尚、ステップS42において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップS48に進む。
さらに、ステップS77において、表示制御部131は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS71に戻り、それ以降の処理が繰り返される。尚、ステップS71において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップS77に進む。
そして、ステップS21,S48,S77のそれぞれにおいて、終了が指示されると、キャリブレーション処理が終了する。
以上の処理により、VR画像やAR画像からなるコンテンツがHMD31の表示部54に表示された状態であるので、ユーザ21は、コンテンツを視聴している状態であるが、この状態とは独立してカメラ31a(撮像部53)のカメラパラメータのキャリブレーション処理が実現される。
結果として、ユーザ21が意識することなく、カメラ31a(撮像部53)のカメラパラメータを推定(測定)することが可能となる。また、この際、表示装置33に表示され、撮像部53により撮像されるキャリブレーションパターンの表示サイズが、HMD31(カメラ31a)と表示装置33との位置関係に応じて、キャリブレーションに適したサイズに調整された状態で表示されることになるので、適切なカメラパラメータの推定(測定)を実現することが可能となる。
<キャリブレーションパターン表示状態確認処理>
次に、図9のフローチャートを参照して、キャリブレーションパターン表示状態確認処理について説明する。
ステップS91において、キャリブレーション処理部71は、撮像部53により撮像された画像に基づくSLAMによりHMD31自身の位置および姿勢の情報を取得(推定)する。
ステップS92において、キャリブレーション処理部71は、HMD31と表示装置33の位置および姿勢の情報に基づいて、現在のキャリブレーションパラメータにより表示されるキャリブレーションパターンが、キャリブレーションに適しているか否かを判定する。
ここで、表示装置33の位置および姿勢、サイズ、および解像度の情報については、予め取得して、記憶部55に記憶されていることを前提とするが、例えば、情報処理装置32を介して、表示装置33の型式番号などに基づいて取得するようにしてもよいし、ユーザ21により入力されるようにしてもよい。また、キャリブレーション処理部71は、HMD31の位置と姿勢の情報を取得しているので、カメラ31aである撮像部53により撮像されている画像内の表示装置33の位置と姿勢(表示部113の表示面の方向)を検出するようにしてもよい。
これらにより、キャリブレーション処理部71は、HMD31と表示装置33との位置関係を認識することができる。
また、キャリブレーションパターンは、HMD31からキャリブレーションパラメータの供給がない場合、デフォルトの位置およびサイズで表示されるので、キャリブレーション処理部71は、撮像された画像内におけるキャリブレーションパターンのマーカのサイズを推定することができる。
さらに、以降の処理において、キャリブレーションパラメータを表示装置33に供給したときでも、供給したキャリブレーションパラメータは既知であるので、このときも、キャリブレーション処理部71は、カメラ31aにより撮像された画像内におけるキャリブレーションパターンのマーカの位置およびサイズを推定することができる。
これらの情報から、キャリブレーション処理部71は、現状のキャリブレーションパラメータにより表示されるキャリブレーションパターンが撮像部53により撮像された画像内におけるマーカのサイズがキャリブレーションに適しているか否かを判定することができる。
ステップS92において、表示装置33に表示されているキャリブレーションパターンのマーカのサイズがキャリブレーションに適していないと判定された場合、処理は、ステップS93に進む。
ステップS93において、キャリブレーション処理部71は、表示装置33において現在表示されているキャリブレーションパターンのマーカのサイズがキャリブレーションに適していないものとみなし、現在のHMD31と表示装置33との位置関係に基づいて、適切なマーカのサイズを設定する。
すなわち、キャリブレーション処理部71は、例えば、図3を参照して説明したように、所定の距離よりも離れているときには、キャリブレーションパターンのマーカのサイズをデフォルトのサイズよりも大きく設定する。
また、キャリブレーション処理部71は、例えば、図4を参照して説明したように、表示装置33の表示部113の表示面の正面方向に対して所定の角度をなす位置に存在し、撮像されたキャリブレーションパターンのマーカの水平方向のサイズよりも小さくなる場合、所定の角度をなす方向である水平方向のサイズを大きく設定する。
同様に、キャリブレーション処理部71は、表示装置33の表示部113の表示面の正面方向に対して垂直方向に対して所定の角度をなす位置に存在し、撮像されたキャリブレーションパターンのマーカの垂直方向のサイズよりも小さくなる場合、所定の角度をなす方向である垂直方向のサイズを大きく設定するようにしてもよい。
尚、ここでは、キャリブレーション処理部71が、マーカのサイズを設定するに当たって、表示装置33における表示部113の解像度やサイズなどを既知とすることが前提となるが、表示部113の解像度やサイズなどの情報については、例えば、ユーザが事前にHMD31に、図示せぬキーボードや操作ボタンなどにより入力するようにしてもよい。また、予め、表示装置33の型式番号に対応付けて、それぞれの解像度やサイズを記憶しておき、表示装置33の型式番号などを事前に情報処理装置32を介して取得して、既知とするようにしてもよい。さらに、表示装置33の表示部113のサイズについては、HMD31と表示装置33との位置関係は既知であるので、カメラ31aである撮像部53により撮像された画像内の表示装置33の大きさや形状に基づいて、キャリブレーション処理部71が求めるようにしてもよい。
ステップS94において、キャリブレーション処理部71は、設定したキャリブレーションパターンのマーカのサイズに対応するキャリブレーションパラメータを算出する。
すなわち、キャリブレーションパターンのマーカのサイズが、キャリブレーションに適していないとみなされた場合、キャリブレーション処理部71は、HMD31と表示装置33との位置関係に基づいて、適切なマーカのサイズを設定し、設定されたサイズに対応するキャリブレーションパラメータを算出する。
一方、ステップS92において、撮像されたキャリブレーションパターンのマーカのサイズが、キャリブレーションに適しているとみなされた場合、処理は、ステップS95に進む。
ステップS95において、キャリブレーション処理部71は、撮像されたキャリブレーションパターンのマーカのサイズがキャリブレーションに適しているものとみなし、キャリブレーションパターンのマーカのサイズについては現状を維持させる。
以上の処理により、HMD31を装着したユーザ21は、コンテンツを視聴しながら表示装置33に対して様々な位置に移動しても、表示装置33は、HMD31との位置関係に応じて、適切にキャリブレーションパターンのマーカのサイズを動的に変化させながら表示させるので、ユーザ21がキャリブレーションを意識することなく、適切にカメラパラメータを推定(測定)することが可能となる。
尚、以上においては、HMD31のカメラ31a(撮像部53)により表示装置33が撮像されることをきっかけとして、キャリブレーションパターンが表示されて、キャリブレーションが開始される例について説明したが、それ以外のタイミングでキャリブレーションが開始されるようにしてもよい。
例えば、所定の時間が経過するたびに定期的に繰り返しキャリブレーションパターンが表示装置33に表示されるようにしてキャリブレーションが開始されるようにしてもよい。
また、カメラ31a(撮像部53)のセットアップ方向などが何らかの原因でずれてしまうなどして、撮像部53により撮像された画像に基づくSLAMにより推定される位置および姿勢情報から、本来カメラ31a(撮像部53)により撮像されるべき画像と、実際に撮像されるカメラ31a(撮像部53)により撮像される画像との間に齟齬が生じるタイミングなど、キャリブレーションが必要になったタイミングにおいてキャリブレーションが開始されるようにしてもよい。
さらに、ユーザ21が視聴するVR画像やAR画像を視聴する際、位置や姿勢の変化に対する画像の変化に違和感を持ったときに、例えば、「おかしい」、または「ずれている」などといった異常を示す言葉をつぶやくなどしたタイミングにおいてキャリブレーションが開始されるようにしてもよい。
また、図1において、表示装置33は、家庭環境におけるテレビジョン受像機などのディスプレイを想定した構成となっているが、屋外に設けられた大型ディスプレイであってもよく、例えば、広告用に街中に設けられた大型建築物などに設けられる大型ディスプレイなどにキャリブレーションパターンを表示して、キャリブレーション処理を実行するようにしてもよい。
さらに、以上においては、1個のHMD31のカメラ31aに対して1個の表示装置33を用いたキャリブレーションを実行し、カメラパラメータを推定(測定)する例について説明してきたが、HMD31に複数のカメラ31aが設けられるような状態や、複数のHMD31のカメラ31aであっても、1個の表示装置33により、それぞれのカメラパラメータを推定(測定)するようにしてもよい。
また、キャリブレーション処理部71は、カメラ31aのフレームレートに基づいて、キャリブレーションパターンを表示する表示装置33の表示部113におけるフレームレートを制御するキャリブレーションパラメータを設定し、カメラ31aにとってキャリブレーションパターンを撮像し易いフレームレートでキャリブレーションパターンを表示するように表示装置33を制御するようにしてもよい。
さらに、ホワイトバランスを含めたカラー情報からなるカメラパラメータを推定(測定)する場合、キャリブレーションパターンを構成するマーカの配色やホワイトバランスを制御するキャリブレーションパラメータを設定し、キャリブレーションに適したキャリブレーションパターンの配色やホワイトバランスを制御するようにしてもよい。
<<3.第1の変形例>>
以上においては、HMD31と表示装置33との位置関係に基づいて、キャリブレーションパターンを構成するマーカのサイズを適切なサイズに設定して表示サイズを変化させることで、カメラ31a(撮像部53)において、適切にキャリブレーションパターンを撮像できるようにし、キャリブレーションによるカメラパラメータを精度よく推定(測定)させる例について説明してきた。
しかしながら、カメラ31aにより撮像されたキャリブレーションパターンの白飛びや、黒潰れの有無を検出し、白飛びや黒潰れが検出された場合には、表示装置33におけるキャリブレーションパターンを表示する輝度を制御するようにしてもよい。
すなわち、図10の左上部の画像Pt31で示されるように、キャリブレーションパターンがチェッカフラグ柄であり、通常輝度で表示装置33の表示部113に表示されている場合、カメラ31a(撮像部53)により、例えば、図10の右上部の画像Pt32で示されるように、白飛びするようにキャリブレーションパターンが撮像される状態を考える。
画像Pt32で示されるように撮像されたキャリブレーションパターンでは、キャリブレーションパターンを構成するマーカにおける、特に、隣接するマーカの境界が白飛びにより適切に認識されない恐れがあり、適切にカメラパラメータを推定(測定)できない恐れがある。
白飛びは、表示装置33により表示される輝度が高過ぎることに起因して生じる現象であるので、図10の左下部の画像Pt33で示されるように、表示装置33の表示部113におけるキャリブレーションパターンの輝度を低減させる。これにより、図10の右下部の画像Pt34で示されるように、カメラ31a(撮像部53)により撮像されるキャリブレーションパターンの白飛びが抑制される。結果として、適切な状態でキャリブレーションパターンが撮像されるので、適切にカメラパラメータを推定(測定)することが可能となる。
尚、図10においては、白飛びが生じた場合の例について説明しているが、黒潰れがある場合については輝度を高くして表示させるようにする。すなわち、黒潰れは、表示装置33の表示部113による輝度が低過ぎることに起因する現象であるので、輝度を高めることにより、画像全体を明るくして、黒潰れの発生を抑制する。
また、表示装置33の輝度調整のみならず、カメラ31aの露出を制御して、白飛びや黒潰れを抑制することで、適切な状態でキャリブレーションパターンを撮像させて、適切にカメラパラメータを推定(測定)するようにしてもよい。
<第1の変形例におけるキャリブレーションパターン表示状態確認処理>
次に、図11のフローチャートを参照して、第1の変形例におけるキャリブレーションパターン表示状態確認処理について説明する。尚、第1の変形例におけるキャリブレーション処理については、図8のフローチャートを参照して説明した処理と同様であるので、その説明は省略する。
ステップS111において、キャリブレーション処理部71は、カメラ31a(撮像部53)により撮像されたキャリブレーションパターンの画像における各画素の輝度を検出する。
ステップS112において、キャリブレーション処理部71は、検出した各画素の輝度の情報に基づいて、白飛び、または黒潰れが発生しているか否かを判定する。より詳細には、キャリブレーション処理部71は、検出した各画素の輝度値の情報に基づいて、例えば、画素値が飽和した画素が所定の割合以上であるか否かにより白飛びの有無を判定する。また、同様に、キャリブレーション処理部71は、例えば、画素値が最低輝度値となる画素が所定の割合以上であるか否かにより黒潰れの有無を判定する。
ステップS112において、白飛び、または、黒潰れが発生しているとみなされた場合、処理は、ステップS113に進む。
ステップS113において、キャリブレーション処理部71は、白飛び、または黒潰れにより、撮像されたキャリブレーションパターンがキャリブレーションに適正していないものとみなし、白飛び、または、黒潰れが低減するようにキャリブレーションパターンを表示するための輝度を調整する。
すなわち、キャリブレーション処理部71は、キャリブレーションパターンの輝度が高く、白飛びが検出される場合、輝度を低減させるように輝度値を設定する。また、キャリブレーション処理部71は、キャリブレーションパターンの輝度が低く、黒潰れが検出される場合、輝度を増大させるように輝度値を設定する。
ステップS114において、キャリブレーション処理部71は、調整した輝度に対応するキャリブレーションパラメータを設定する。
一方、ステップS112において、白飛びおよび黒潰れがないとみなされた場合、処理は、ステップS115に進む。
ステップS115において、キャリブレーション処理部71は、撮像されているキャリブレーションパターンがキャリブレーションに適しているものとみなし、現状の輝度値を維持する。
以上の処理により、撮像されたキャリブレーションパターンの輝度の状態に応じて、図8のフローチャートにおけるステップS74の処理において、表示装置33の表示部113に表示される輝度が調整されたキャリブレーションパラメータにより、キャリブレーションに適切な輝度でキャリブレーションパターンが表示される。
結果として、キャリブレーションによりカメラ31a(撮像部53)のカメラパラメータを適切に推定(測定)させることが可能となる。尚、図11を参照して説明した、第1の変形例におけるキャリブレーションパターン表示状態確認処理と、図9を参照して説明したキャリブレーションパターン表示状態確認処理とを組み合わせて実行するようにしてもよい。このような処理により、HMD31と表示装置33との位置関係に応じてキャリブレーションパターンのマーカのサイズを調整すると共に、輝度を調整することが可能となり、カメラパラメータをより高精度に推定(測定)することが可能となる。
<<4.第2の変形例>>
以上においては、HMD31が、表示装置33との位置関係や輝度に応じて、表示装置33の表示部113に表示されるキャリブレーションパターンのサイズや輝度を調整して、適切にカメラ31a(撮像部53)のカメラパラメータを推定(測定)する例について説明してきた。
しかしながら、カメラ31a(撮像部53)のカメラパラメータを推定(測定)することができれば、キャリブレーションパターン以外の画像を表示装置33に表示させて、カメラ31a(撮像部53)に撮像させてキャリブレーションに用いるようにしてもよい。例えば、予めキャリブレーションに利用可能なコンテンツ画像を設定し、表示装置33に所定のタイミングで表示させ、表示されたタイミングでキャリブレーションに利用するようにしてもよい。
すなわち、図12の右部で示されるように、コンテンツ画像P(t1)乃至P(t3)が、時系列に時刻t1乃至t3のタイミングで順次表示されるような動画像からなるコンテンツが表示装置33の表示部113に表示されるものとする。この場合、予め時刻t3のタイミングで表示されるコンテンツ画像P(t3)をキャリブレーションに使用するキャリブレーションコンテンツに設定し、コンテンツ内の所定のオブジェクトの位置をキャリブレーションに使用する。
この場合、キャリブレーション処理部71は、図12の左部で示されるようなコンテンツ画像P(t3)に対応するキャリブレーションコンテンツPt51を予め記憶しておく。
そして、キャリブレーション処理部71は、時刻t3において、カメラ31a(撮像部53)により撮像された画像内のコンテンツ画像P(t3)内におけるオブジェクトの所定の位置OB1乃至OB3と、対応して予め記憶しているキャリブレーションコンテンツPt51内のオブジェクトの所定の位置OB11乃至OB13との比較によりキャリブレーションを実行し、カメラパラメータを推定(測定)する。
<第2の変形例のキャリブレーション処理>
次に、図13のフローチャートを参照して、第2の変形例のキャリブレーション処理について説明する。尚、この処理においては、HMD31の記憶部55には、キャリブレーションコンテンツと、キャリブレーションコンテンツが再生されるタイミングの情報が予め記憶されており、キャリブレーション処理部71が、適宜読み出して使用することを前提とする。
ステップS181において、情報処理装置32の制御部91は、記憶部93またはリムーバブル記憶媒体95に記憶されているコンテンツのデータを読み出し、通信部92を制御して、HMD31に供給する。
ステップS151において、HMD31における制御部51のコンテンツ表示処理部72は、通信部52を制御して、情報処理装置32より供給されるコンテンツのデータを取得すると共に、コンテンツのデータに基づいて、VR画像、またはAR画像からなるコンテンツを表示部54に表示する。
この処理により、HMD31を装着したユーザ21は、表示部54に表示されるVR画像、またはAR画像からなるコンテンツを視聴する。
ステップS152において、撮像部53(カメラ31a)は、HMD31を装着したユーザ21の前方の風景を撮像し、撮像した画像を制御部51に出力する。
ステップS153において、制御部51のキャリブレーション処理部71は、撮像部53により撮像された画像を解析し、表示装置33が撮像されているか否かを判定する。キャリブレーション処理部71は、例えば、撮像された画像内における物体検出により表示装置33の形状が含まれているか否かに基づいて、表示装置33が撮像されているか否かを判定する。
ステップS153において、例えば、表示装置33が撮像されているとみなされた場合、処理は、ステップS154に進む。
ステップS154において、キャリブレーション処理部71は、通信部52を制御して、情報処理装置32を介して、表示装置33に対してキャリブレーションの開始を指示する。
ステップS182において、情報処理装置32の制御部91は、通信部92を制御して、HMD31よりキャリブレーションの開始が指示されたか否かを判定する。ステップS182において、例えば、ステップS154の処理によりキャリブレーションの開始が指示された場合、処理は、ステップS183に進む。
ステップS183において、制御部91は、通信部92を制御して、表示装置33に対してキャリブレーションの開始を指示する。このとき、制御部91は、必要に応じてキャリブレーションコンテンツや、キャリブレーションコンテンツの表示タイミングの情報を供給する。尚、キャリブレーションコンテンツが、表示装置33において予め記憶されている場合は、キャリブレーションコンテンツの表示タイミングの情報のみが供給される。
ステップS201において、表示装置33における制御部111の表示制御部131は、通信部112を制御して、情報処理装置32を介して、HMD31からのキャリブレーションの開始の指示が供給されてきたか否かを判定する。ステップS201において、キャリブレーションの開始が指示された場合、処理は、ステップS202に進む。
ステップS202において、表示制御部131は、記憶部114またはリムーバブル記憶媒体116に記憶されているキャリブレーションコンテンツの画像データを読み出して表示部113に表示させる。または、表示制御部131は、情報処理装置32を介してHMD31より供給されたキャリブレーションコンテンツを表示部113に表示させる。この際、表示制御部131は、キャリブレーションコンテンツを、供給された表示タイミングより、時系列の動画の一部として表示させる。
一方、ステップS155において、キャリブレーション処理部71は、記憶部55、またはリムーバブル記憶媒体57に記憶されている、キャリブレーションコンテンツの一部であるキャリブレーション用の画像を読み出すと共に、その画像が表示されるタイミングを読み出す。
ステップS156において、キャリブレーション処理部71は、カメラ31a(撮像部53)を制御して、キャリブレーション用の画像が撮像されるタイミングにおいて、表示装置33に表示されるキャリブレーションコンテンツの画像を撮像する。
ステップS157において、キャリブレーション処理部71は、キャリブレーションコンテンツ表示状態確認処理を実行し、撮像部53により撮像されたキャリブレーションコンテンツの画像と、読み出したキャリブレーション用の画像との比較により、撮像部53により撮像されたキャリブレーションコンテンツの画像の表示状態を確認する。
ここで、キャリブレーション用の画像が、キャリブレーションに適していない場合、キャリブレーション処理部71は、図3,図4を参照して説明したように、キャリブレーションに適したキャリブレーションコンテンツ用の画像を表示装置33において表示するためのサイズや輝度などを設定し、対応するキャリブレーションパラメータを算出する。
尚、キャリブレーションコンテンツ表示状態確認処理については、図9のフローチャートを参照して説明したキャリブレーションパターン表示状態確認処理と基本的に同様であるのでその説明は省略する。
ステップS158において、キャリブレーション処理部71は、キャリブレーションコンテンツ表示状態確認処理により、撮像されたキャリブレーション用の画像がキャリブレーションに適した状態であると判定されたか否かを判定する。ステップS158において、撮像されたキャリブレーション用の画像がキャリブレーションに適していない場合、処理は、ステップS159に進む。
ステップS159において、キャリブレーション処理部71は、通信部52を制御して、情報処理装置32を介して表示装置33に対してキャリブレーションコンテンツに対するキャリブレーションパラメータと、キャリブレーション用の画像の表示タイミングの情報を送信し、処理は、ステップS155に戻る。
ステップS184において、情報処理装置32の制御部91は、通信部92を制御して、HMD31から、表示装置33に対するキャリブレーションコンテンツにおけるキャリブレーションパラメータと表示タイミングの情報が供給されたか否かを判定する。そして、ステップS184において、表示装置33に対するキャリブレーションパラメータと表示タイミングの情報が供給された場合、処理は、ステップS185に進む。
ステップS185において、制御部91は、通信部92を制御して、表示装置33に対して、キャリブレーションパラメータと、キャリブレーション用の画像の表示タイミングの情報を送信する。
ステップS203において、表示装置33における制御部111の表示制御部131は、通信部112を制御して、HMD31から情報処理装置32を介して送信される、キャリブレーションパラメータと表示タイミングの情報が供給されたか否かを判定する。そして、ステップS203において、キャリブレーションパラメータと表示タイミングの情報が供給された場合、処理は、ステップS204に進む。
ステップS204において、表示制御部131は、通信部92を制御して、キャリブレーションパラメータを取得し、デフォルトで記憶されているキャリブレーションコンテンツのうちのキャリブレーション用の画像に対してキャリブレーションパラメータに応じた処理を施して更新すると共に、HMD31より供給された所定の表示タイミングにおいて、情報表示部113に表示する。
このように、撮像部53により撮像されたキャリブレーションコンテンツにおけるキャリブレーション用の画像のサイズや輝度を適切に更新されることにより、キャリブレーションに適した状態で表示される。
ステップS184,S203において、キャリブレーションパラメータと表示タイミングの情報が送信されない場合、ステップS185,S204の処理がスキップされる。
また、ステップS186において、制御部91は、キャリブレーションの完了がHMD31より通知されたか否かを判定し、通知されない場合、処理は、ステップS184に戻る。すなわち、キャリブレーションの完了が通知されるまで、ステップS184乃至S186の処理が繰り返される。
さらに、ステップS205において、表示制御部131は、キャリブレーションの完了が情報処理装置32を介してHMD31より通知されたか否かを判定し、通知されない場合、処理は、ステップS203に戻る。すなわち、キャリブレーションの完了が通知されるまで、ステップS203乃至S205の処理が繰り返される。
また、HMD31においては、ステップS158において、撮像されたキャリブレーションコンテンツのうちのキャリブレーション用の画像がキャリブレーションに適しているとみなされない限り、ステップS155乃至S159の処理が繰り返される。これにより、情報処理装置32においては、ステップS184乃至S186の処理が繰り返され、表示装置33においては、ステップS203乃至S205の処理が繰り返され、キャリブレーションパラメータによるキャリブレーション用の画像のサイズや輝度などの調整が繰り返され続ける。
そして、ステップS158において、撮像されたキャリブレーションコンテンツのうちのキャリブレーション用の画像がキャリブレーションに適しているとみなされた場合、処理は、ステップS160に進む。
ステップS160において、キャリブレーション処理部71は、撮像されたキャリブレーション用の画像に基づいて、撮像部53であるカメラ31aのカメラパラメータを推定(測定)し、求められたカメラパラメータを撮像部53により撮像された画像に反映する。
ステップS161において、キャリブレーション処理部71は、通信部52を制御して、情報処理装置32を介して、表示装置33に対してキャリブレーションの完了を通知する。
また、ステップS186において、キャリブレーションが完了したことが通知されたとみなされて、処理は、ステップS187に進む。
ステップS187において、制御部91は、通信部92を制御して、表示装置33に対してキャリブレーションの完了を通知する。
さらに、ステップS205において、キャリブレーションが完了したことが通知されたとみなされて、処理は、ステップS206に進む。
ステップS206において、表示制御部131は、通信部112を制御して、キャリブレーションの完了の通知を取得し、表示部113におけるキャリブレーションコンテンツの表示を終了する。
ステップS162において、キャリブレーション処理部71は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS151に戻り、それ以降の処理が繰り返される。尚、ステップS153において、表示装置33が撮像されていないとみなされた場合、処理は、ステップS162に進む。
また、ステップS188において、制御部91は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS181に戻り、それ以降の処理が繰り返される。尚、ステップS182において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップS188に進む。
さらに、ステップS207において、表示制御部131は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS201に戻り、それ以降の処理が繰り返される。尚、ステップS201において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップS207に進む。
そして、ステップS162,S188,S207のそれぞれにおいて、終了が指示されると、キャリブレーション処理が終了する。
以上の処理により、VR画像やAR画像からなるコンテンツがHMD31の表示部54に表示された状態であるので、ユーザ21は、コンテンツを視聴している状態であるが、この状態とは独立してカメラ31a(撮像部53)のカメラパラメータのキャリブレーション処理が実現される。
また、キャリブレーション用に使用される画像は、動画像からなるキャリブレーションコンテンツとして表示装置33に表示される画像のうちの所定のタイミングにおいて表示される画像のみであるので、表示装置33に表示されているキャリブレーションコンテンツを、HMD31を装着していないユーザが違和感なく視聴することが可能となる。
結果として、HMD31を装着したユーザ21のみならず、それ以外のユーザをも意識することなく、カメラ31a(撮像部53)のカメラパラメータを推定(測定)することが可能となる。また、この際、表示装置33に表示され、撮像部53により撮像されるキャリブレーション用の画像の表示サイズや輝度が、キャリブレーションに適したサイズや輝度に調整された状態で表示されることになるので、適切なカメラパラメータの推定(測定)を実現することが可能となる。
また、このように表示装置33には、一見するとキャリブレーション用の画像とは認識できないキャリブレーションコンテンツが表示され続けているので、HMD31を装着していないユーザは、表示装置33に表示された一般的なコンテンツとして視聴することができる。したがって、表示装置33を、例えば、街中に設けられた広告用の大型ディスプレイで構成し、HMD31を装着していない一般のユーザには、一見すると広告用に表示されたキャリブレーションコンテンツを視聴させつつ、付近に存在するユーザに装着されたHMD31のカメラ31aのキャリブレーションを実行させて、カメラパラメータを推定(測定)させるようにしてもよい。
この場合、HMD31を装着しているユーザに対しても、装着していないユーザに対しても、キャリブレーションを意識させることなく、適切にキャリブレーションを実行して、カメラ31aのカメラパラメータを推定(測定)させることが可能となる。
<<5.第3の変形例>>
以上においては、HMD31のカメラ31a(撮像部53)により撮像されたキャリブレーションパターンやキャリブレーションコンテンツとして表示されるマーカ等のサイズや輝度を変化させることによりキャリブレーションに適した画像に調整して、1枚の画像からカメラパラメータを推定(測定)する例について説明してきた。
しかしながら、HMD31aによりユーザ21により視聴されるコンテンツにユーザ21の位置や姿勢を変化させるように誘導する画像を表示して、キャリブレーションに適した複数の画像を撮像させて、複数の画像からカメラパラメータを推定(測定)するようにしてもよい。
すなわち、例えば、図14の上部で示されるように、ユーザ21に装着されたカメラ31a(撮像部53)による観測位置が、表示装置33の表示部113の表示面に対して正対する位置から、表示装置33に対して、時刻t11乃至t13で示されるように、時系列に、図中の左から右の位置P(t11)乃至P(t13)に変化している状態について考える。
図14の上部の場合、カメラ31aにより観測位置が、ユーザ21が表示装置33に正対するときの左側の範囲に偏っており、表示装置33に正対するときの右側の範囲Z1に観測位置が存在しないため、カメラパラメータを推定(測定)するにあたって、偏りが生じて、推定されるカメラパラメータの精度が低下する恐れがある。
そこで、HMD31における表示部54において表示されるVR画像またはAR画像内において、例えば、図14の上部で示されるように、表示装置33の直前の位置に方形状の開口部を備えた筒状のオブジェクトV1を3次元構造物として表示し、そのオブジェクトV1の開口部から内部に設けられたオブジェクトV2を覗き込むことでポイントが加算されるようなゲーム課題をユーザ21に課すようにする。
尚、図14の上部においては、方形状の開口部を備えた筒状のオブジェクトV1の開口部が表示装置33の表示部113の表示面の正面方向に設けられており、開口部からオブジェクトV1の内部を覗き込むことにより、その内部に設けられたオブジェクトV2を視聴することができる。
HMD31のキャリブレーション処理部71は、図14の下部で示されるように、筒状のオブジェクトV1の開口部が、図中の右方向から覗き込める方向となるようなオブジェクトV1’とするVR画像、またはAR画像を表示部54に表示する。
ユーザ21は、図14の下部で示されるように、ユーザ21’で示される位置に移動して、表示部54に表示されたオブジェクトV1’の開口部よりオブジェクトV2を視聴する。これにより、図14の上部で示される範囲Z1となる、表示装置33の右側の範囲から、HMD31のカメラ31aの観測位置P(t31)より、表示装置33の表示部113に表示されたキャリブレーションパターンが撮像される。
このため、表示装置33の表示部113に表示されるキャリブレーションパターンが、表示装置33の表示部113の正面方向に対して、複数の方向から満遍なく撮像された複数の画像に基づいて、カメラパラメータを推定(測定)することが可能となる。すなわち、キャリブレーションパターンの歪み方や、見え方が対応付けられるような最適解を求めることで、撮像された複数のキャリブレーションパターンによって画像間の対応を推定し、撮像部53の位置および姿勢と、カメラパラメータとを同時に推定することが可能となる。この際、複数の方向から撮像された画像が用いられることで、推定精度を向上させることができる。
結果として、複数の方向から満遍なくキャリブレーションパターンを撮像することで、より適切にキャリブレーションを実施することが可能となり、より高精度にカメラパラメータを推定(測定)することが可能となる。
<第3の変形例におけるキャリブレーションパターン表示状態確認処理>
次に、図15のフローチャートを参照して、第3の変形例におけるキャリブレーションパターン表示状態確認処理について説明する。
ステップS231において、キャリブレーション処理部71は、撮像部53により撮像される、表示装置33に表示されたキャリブレーションパターンの画像に基づいたSLAM(Simultaneous Localization and Mapping)により位置および姿勢を検出(推定)すると共に、カメラ31a(撮像部53)により撮像されたキャリブレーションパターンと対応付けて記憶部55に記憶する。
ステップS232において、キャリブレーション処理部71は、記憶部55に位置および姿勢と対応付けて記憶された、撮像されたキャリブレーションパターンの情報に基づいて、不足する観測位置が存在するか否かを判定する。
ステップS232において、不足する観測位置が存在するとみなした場合、処理は、ステップS233に進む。
ステップS233において、キャリブレーション処理部71は、不足する観測位置が存在し、キャリブレーションに適していないとみなし、図14を参照して説明したように、不足する観測位置へとユーザ21の位置や姿勢を誘導するVR画像またはAR画像からなるコンテンツの画像を生成する。
ステップS234において、キャリブレーション処理部71は、表示部54を制御して、不足する観測位置へとユーザ21の位置や姿勢を誘導するVR画像またはAR画像からなるコンテンツの画像を表示する。
一方、ステップS234において、不足する観測位置が存在しないとみなした場合、処理は、ステップS235に進む。
ステップS235において、キャリブレーション処理部71は、不足する観測位置が存在せず、キャリブレーションに必要な複数のキャリブレーションパターンの画像が、複数の方向から満遍なく撮像されており、キャリブレーションに適した状態であるものとみなす。
以上の処理により、表示装置33の表示部113により表示されるキャリブレーションパターンが複数の方向から撮像された画像に基づいて、キャリブレーションを実行することが可能となり、カメラパラメータをより高精度に推定(測定)することが可能となる。
すなわち、この場合、図8のキャリブレーション処理におけるステップS19において、キャリブレーション処理部71は、複数の観測位置からカメラ31a(撮像部53)により撮像されたキャリブレーションパターンを用いて、カメラパラメータをより高精度に推定(測定)することが可能となる。
尚、以上においては、HMD31のカメラ31aの観測位置として不足している観測位置に誘導するVR画像やAR画像を表示する例について説明してきたが、複数のHMD31のカメラ31aを1台の表示装置33で調整する際には、複数のHMD31のカメラ31aのそれぞれが、表示装置33に対して視野を塞がないように、HMD31を装着したユーザを誘導するようなコンテンツを表示するようにしてもよい。このようにすることで、ユーザが意識することなく、複数のHMD31のカメラ31aそれぞれの視界が塞がれることなく表示装置33のキャリブレーションパターンを撮像することが可能となり、複数のHMD31のカメラ31aのキャリブレーションを実行することが可能となる。結果として、複数のカメラ31aのカメラパラメータを適切に推定(測定)することが可能となる。
<<6.第2の実施の形態>>
以上においては、HMD31における制御部51のキャリブレーション処理部71によりキャリブレーションがなされて、カメラ31a(撮像部53)のカメラパラメータを推定(測定)する例について説明してきたが、HMD31以外の構成により実行されるようにしてもよく、例えば、情報処理装置32により実行されるようにしてもよい。
図16は、情報処理装置32によりキャリブレーション処理がなされる場合の情報処理装置32の構成例を示している。尚、図16の情報処理装置32において、図6の情報処理装置32の構成と同一の機能を備えた構成については、同一の符号を付しており、その説明は適宜省略する。
すなわち、図16の情報処理装置32において、図6の情報処理装置32と異なる点は、制御部91において、キャリブレーション処理部201が設けられている点である。キャリブレーション処理部201は、基本的にHMD31のキャリブレーション処理部71と同一の機能を備えており、HMD31により検出されたHMD31の位置および姿勢の情報に基づいて、カメラパラメータを推定(測定)し、結果をHMD31に供給する。
尚、HMD31および表示装置33の基本的な構成は、それぞれ図4,図6を参照して説明した構成と同一であるので、その説明は省略するが、第2の実施の形態においては、キャリブレーション処理は、主に情報処理装置32により実施されるので、HMD31における制御部51のキャリブレーション処理部71は、削除するようにしてもよい。
<第2の実施の形態のキャリブレーション処理>
次に、図17のフローチャートを参照して、第2の実施の形態のキャリブレーション処理について説明する。
ステップS341において、情報処理装置32の制御部91は、記憶部93またはリムーバブル記憶媒体95に記憶されているコンテンツのデータを読み出し、通信部92を制御して、HMD31に供給する。
ステップS311において、HMD31における制御部51のコンテンツ表示処理部72は、通信部52を制御して、情報処理装置32より供給されるコンテンツのデータを取得すると共に、コンテンツのデータに基づいて、VR画像、またはAR画像からなるコンテンツを表示部54に表示する。
ステップS312において、撮像部53(カメラ31a)は、HMD31を装着したユーザ21の前方の風景を撮像し、撮像した画像を制御部51に出力する。
ステップS313において、制御部51は、撮像部53により撮像される、表示装置33に表示されたキャリブレーションパターンの画像に基づいたSLAM(Simultaneous Localization and Mapping)により位置および姿勢の情報を検出(推定)する。
ステップS314において、制御部51は、通信部52を制御して、カメラ31a(撮像部53)により撮像された画像、HMD31の位置、および姿勢の情報を情報処理装置32に送信させる。
ステップS342において、制御部91のキャリブレーション処理部201は、通信部92を制御して、HMD31より送信されてくる画像、位置、および姿勢の情報を取得する。また、キャリブレーション処理部201は、取得した画像を解析し、表示装置33が撮像されているか否かを判定する。
ステップS342において、例えば、表示装置33が撮像されているとみなされた場合、処理は、ステップS343に進む。
ステップS343において、キャリブレーション処理部201は、通信部92を制御して、表示装置33に対してキャリブレーションの開始を指示する。
ステップS371において、表示装置33における制御部111の表示制御部131は、通信部112を制御して、情報処理装置32からのキャリブレーションの開始の指示が供給されてきたか否かを判定する。ステップS371において、キャリブレーションの開始が指示された場合、処理は、ステップS372に進む。
ステップS372において、表示制御部131は、記憶部114またはリムーバブル記憶媒体116に記憶されているキャリブレーションパターンの画像データを読み出して表示部113において表示させる。この際、表示制御部131は、読み出したキャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズの状態で表示させる。
すなわち、HMD31のカメラ31aに対応する撮像部53において、表示装置33が撮像されると、キャリブレーションパターンが表示装置33に表示される。
一方、ステップS344において、情報処理装置32のキャリブレーション処理部201は、HMD31の撮像部53により撮像される画像に基づいて、表示装置33により表示されたキャリブレーションパターンが撮像されたか否かを判定し、撮像されるまで、同一の処理を繰り返す。
ステップS344において、上述した一連の処理により表示装置33の表示部113にキャリブレーションパターンが表示されることにより、キャリブレーションパターンが撮像されたとみなされた場合、処理は、ステップS345に進む。
ステップS345において、キャリブレーション処理部201は、キャリブレーションパターン表示状態確認処理を実行し、撮像部53により撮像されたキャリブレーションパターンの表示状態を確認する。ここで、キャリブレーションパターンが、キャリブレーションに適していない場合、キャリブレーション処理部201は、図3,図4を参照して説明したように、キャリブレーションに適したキャリブレーションパターンを表示装置33において表示するためにサイズや輝度などを設定し、対応するパラメータを算出する。
尚、キャリブレーションパターン表示状態確認処理については、図9のフローチャートを参照して、説明した処理と基本的には同一であるので、その説明は省略する。ただし、ステップS91におけるHMD31の位置と姿勢の情報を取得する処理は、ステップS313の処理に代わる処理であるので、省略される。
ステップS346において、キャリブレーション処理部201は、キャリブレーションパターン表示状態確認処理により、撮像されたキャリブレーションパターンがキャリブレーションに適した状態であると判定されたか否かを判定する。
ステップS346において、撮像されたキャリブレーションパターンがキャリブレーションに適していないと判定された場合、処理は、ステップS347に進む。
ステップS347において、キャリブレーション処理部201は、通信部92を制御して、表示装置33に対してキャリブレーションパラメータを送信し、処理は、ステップS344に戻る。
ステップS373において、表示装置33における制御部111の表示制御部131は、通信部112を制御して、HMD31から情報処理装置32を介して送信される、キャリブレーションパラメータが供給されたか否かを判定する。そして、ステップS373において、キャリブレーションパラメータが供給された場合、処理は、ステップS374に進む。
ステップS374において、表示制御部131は、通信部92を制御して、キャリブレーションパラメータを取得し、デフォルトで記憶されているキャリブレーションパターンに対してキャリブレーションパラメータに応じた処理を施して、表示部113に表示する。
ステップS373において、キャリブレーションパラメータが送信されない場合、ステップS374の処理がスキップされる。
また、ステップS344において、キャリブレーションパターンが撮像されていない場合、キャリブレーションパターンが撮像されるまで、同様の処理が繰り返される。
さらに、ステップS346において、キャリブレーションに適した状態であるとみなされるまで、ステップS344乃至S347の処理が繰り返される。これにより、情報処理装置32においては、ステップS344乃至S347の処理が繰り返され、表示装置33においては、ステップS373乃至S375の処理が繰り返され、キャリブレーションパラメータが繰り返し設定されて、キャリブレーションパターンの表示が変化し続ける。
そして、ステップS346において、撮像されたキャリブレーションパターンがキャリブレーションに適しているとみなされた場合、処理は、ステップS348に進む。
ステップS348において、キャリブレーション処理部201は、撮像されたキャリブレーションパターンに基づいて、キャリブレーションを実行して、撮像部53であるカメラ31aのカメラパラメータを推定(測定)する。
ステップS349において、キャリブレーション処理部201は、通信部92を制御して、HMD31に、キャリブレーションの結果である、求められたカメラパラメータを通知する。
ステップS315において、制御部51は、通信部52を制御して、情報処理装置32よりキャリブレーションの結果であるカメラパラメータが通知されたか否かを判定する。
ステップS315において、情報処理装置32よりキャリブレーションの結果であるカメラパラメータが通知された場合、処理は、ステップS316に進む。
ステップS316において、制御部51は、通知されたカメラパラメータを撮像部53により撮像された画像に反映する。
ここで、ステップS350において、キャリブレーション処理部201は、通信部92を制御して、表示装置33に対してキャリブレーションの完了を通知する。
このとき、ステップS375において、表示制御部131は、キャリブレーションの完了が情報処理装置32より通知されたか否かを判定し、通知されない場合、処理は、ステップS373に戻る。すなわち、キャリブレーションの完了が通知されるまで、ステップS373乃至S375の処理が繰り返される。
そして、ステップS375において、キャリブレーションが完了したことが通知されたとみなされると、処理は、ステップS376に進む。
ステップS376において、表示制御部131は、通信部112を制御して、キャリブレーションの完了の通知を取得し、表示部113におけるキャリブレーションパターンの表示を終了する。
ステップS317において、キャリブレーション処理部201は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS311に戻り、それ以降の処理が繰り返される。尚、ステップS315において、カメラパラメータが通知されない場合、ステップS316の処理がスキップされる。
また、ステップS351において、制御部91は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS341に戻り、それ以降の処理が繰り返される。尚、ステップS342において、表示装置33が撮像されていないとみなされた場合、処理は、ステップS351に進む。
さらに、ステップS377において、表示制御部131は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS371に戻り、それ以降の処理が繰り返される。尚、ステップS371において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップS377に進む。
そして、ステップS317,S351,S377のそれぞれにおいて、終了が指示されると、キャリブレーション処理が終了する。
以上の処理により、VR画像やAR画像からなるコンテンツがHMD31の表示部54に表示された状態であるので、ユーザ21は、コンテンツを視聴している状態であるが、この状態とは独立してカメラ31a(撮像部53)のカメラパラメータのキャリブレーション処理が実現される。
結果として、ユーザ21が意識することなく、カメラ31a(撮像部53)のカメラパラメータを推定(測定)することが可能となる。また、この際、表示装置33に表示され、撮像部53により撮像されるキャリブレーションパターンの表示サイズが、キャリブレーションに適したサイズに調整された状態で表示されることになるので、適切なカメラパラメータの推定(測定)を実現することが可能となる。
<<7.第3の実施の形態>>
以上においては、情報処理装置32のキャリブレーション処理部201によりキャリブレーションがなされて、カメラ31a(撮像部53)のカメラパラメータが推定(測定)される例について説明してきたが、キャリブレーションは表示装置33により実行されるようにしてもよい。
図18は、表示装置33によりキャリブレーションがなされる場合の表示装置33の構成例を示している。尚、図18の表示装置33において、図7の表示装置33の構成と同一の機能を備えた構成については、同一の符号を付しており、その説明は適宜省略する。
すなわち、図18の表示装置33において、図7の表示装置33と異なる点は、制御部111において、キャリブレーション処理部221が設けられている点である。キャリブレーション処理部221は、基本的には、HMD31のキャリブレーション処理部71と同一の機能を備えており、HMD31により検出されたHMD31の位置および姿勢の情報に基づいて、キャリブレーションを実行して、カメラパラメータを推定(測定)し、結果をHMD31に供給する。
尚、HMD31および情報処理装置32の基本的な構成は、それぞれ図4,図5を参照して説明した構成と同一であるので、その説明は省略するが、第3の実施の形態においては、キャリブレーション処理は、主に表示装置33により実施されるので、HMD31における制御部51のキャリブレーション処理部71は、削除するようにしてもよい。
<第3の実施の形態のキャリブレーション処理>
次に、図19のフローチャートを参照して、第3の実施の形態のキャリブレーション処理について説明する。
ステップS441において、情報処理装置32の制御部91は、記憶部93またはリムーバブル記憶媒体95に記憶されているコンテンツのデータを読み出し、通信部92を制御して、HMD31に供給する。
ステップS411において、HMD31における制御部51のコンテンツ表示処理部72は、通信部52を制御して、情報処理装置32より供給されるコンテンツのデータを取得すると共に、コンテンツのデータに基づいて、VR画像、またはAR画像からなるコンテンツを表示部54に表示する。
ステップS412において、撮像部53(カメラ31a)は、HMD31を装着したユーザ21の前方の風景を撮像し、撮像した画像を制御部51に出力する。
ステップS413において、制御部51は、撮像部53により撮像される、表示装置33に表示されたキャリブレーションパターンの画像に基づいたSLAM(Simultaneous Localization and Mapping)により位置および姿勢の情報を検出(推定)する。
ステップS414において、制御部51は、通信部52を制御して、カメラ31a(撮像部53)により撮像された画像、HMD31の位置、および姿勢の情報を情報処理装置32に送信させる。
ステップS442において、制御部91は、通信部92を制御して、HMD31より送信される画像、位置、および姿勢の情報を取得し、表示装置33に送信する。
ステップS471において、制御部111のキャリブレーション処理部221は、通信部112を制御して、カメラ31a(撮像部53)により撮像された画像、HMD31の位置、および姿勢の情報を取得する。そして、キャリブレーション処理部221は、取得した画像を解析し、表示装置33が撮像されているか否かを判定する。
ステップS471において、例えば、表示装置33が撮像されているとみなされた場合、処理は、ステップS472に進む。
ステップS472において、キャリブレーション処理部221は、表示制御部131を制御して、記憶部114またはリムーバブル記憶媒体116に記憶されているキャリブレーションパターンの画像データを読み出して表示部113において表示させる。この際、表示制御部131は、読み出したキャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズの状態で表示させる。
すなわち、HMD31のカメラ31aに対応する撮像部53において、表示装置33が撮像されると、キャリブレーションが開始されて、キャリブレーションパターンが表示装置33に表示される。
ステップS473において、表示装置33のキャリブレーション処理部221は、HMD31の撮像部53により撮像される画像に基づいて、表示装置33により表示されたキャリブレーションパターンが撮像されたか否かを判定し、撮像されるまで、同一の処理を繰り返す。
ステップS473において、上述した一連の処理により表示装置33の表示部113にキャリブレーションパターンが表示されることにより、キャリブレーションパターンが撮像されたとみなされた場合、処理は、ステップS474に進む。
ステップS474において、キャリブレーション処理部221は、キャリブレーションパターン表示状態確認処理を実行し、撮像部53により撮像されたキャリブレーションパターンの表示状態を確認する。ここで、キャリブレーションパターンが、キャリブレーションに適していない場合、キャリブレーション処理部221は、図3,図4を参照して説明したように、キャリブレーションに適したキャリブレーションパターンを表示装置33において表示するためのサイズや輝度などを設定し、対応するキャリブレーションパラメータを算出する。
尚、キャリブレーションパターン表示状態確認処理については、図9のフローチャートを参照して、説明した処理と基本的には同一であるので、その説明は省略する。ただし、ステップS91におけるHMD31の位置と姿勢の情報を取得する処理は、ステップS413の処理に代わる処理であるので省略される。
ステップS475において、キャリブレーション処理部221は、キャリブレーションパターン表示状態確認処理により、撮像されたキャリブレーションパターンがキャリブレーションに適した状態であると判定されたか否かを判定する。
ステップS475において、撮像されたキャリブレーションパターンがキャリブレーションに適していないと判定された場合、処理は、ステップS476に進む。
ステップS476において、キャリブレーション処理部221は、デフォルトで記憶されているキャリブレーションパターンに対して、キャリブレーションパラメータに応じた処理を施す。そして、表示制御部131は、キャリブレーションパラメータに応じた処理が施されたキャリブレーションパターンを表示部113に表示する。
ステップS475において、キャリブレーションに適した状態であるとみなされるまで、ステップS473乃至S476の処理が繰り返され、キャリブレーションパラメータが繰り返し設定されて、キャリブレーションパターンのサイズや輝度が変化しながら表示される。
そして、ステップS475において、撮像されたキャリブレーションパターンがキャリブレーションに適しているとみなされた場合、処理は、ステップS477に進む。
ステップS477において、キャリブレーション処理部221は、撮像されたキャリブレーションパターンに基づいて、キャリブレーションを実行し、撮像部53であるカメラ31aのカメラパラメータを推定(測定)する。
ステップS478において、キャリブレーション処理部221は、通信部112を制御して、情報処理装置32を介して、HMD31に、キャリブレーションの結果である、求められたカメラパラメータと共にキャリブレーションの完了を通知する。
ステップS443において、制御部91は、通信部92を制御して、表示装置33よりキャリブレーションの結果であるカメラパラメータと共にキャリブレーションの完了が送信されてきたか否かを判定する。
ステップS443において、情報処理装置32よりキャリブレーションの結果であるカメラパラメータと共にキャリブレーションの完了が送信されてきた場合、処理は、ステップS444に進む。
ステップS444において、制御部91は、通信部92を制御して、表示装置33より通知されたキャリブレーションの結果である、求められたカメラパラメータと共にキャリブレーションの完了を取得し、HMD31に通知する。
ステップS415において、制御部51は、通信部52を制御して、情報処理装置32よりキャリブレーションの結果である、求められたカメラパラメータと共にキャリブレーションの完了が通知されてきたか否かを判定し、通知されるまで、同様の処理を繰り返す。そして、ステップS415において、キャリブレーションの結果である、求められたカメラパラメータと共にキャリブレーションの完了が通知された場合、処理は、ステップS416に進む。
ステップS416において、制御部51は、通信部52を制御して、送信されたカメラパラメータと共にキャリブレーションの完了を取得し、撮像部53により撮像された画像に取得したカメラパラメータを反映する。
ステップS417において、制御部51は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS411に戻り、それ以降の処理が繰り返される。尚、ステップS415において、カメラパラメータとキャリブレーションの完了が通知されない場合、ステップS416の処理がスキップされる。
また、ステップS445において、制御部91は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS441に戻り、それ以降の処理が繰り返される。尚、ステップS443において、カメラパラメータとキャリブレーションの完了が通知されていないとみなされた場合、ステップS444の処理は、スキップされる。
さらに、ステップS480において、キャリブレーション処理部221は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップS471に戻り、それ以降の処理が繰り返される。尚、ステップS471において、表示装置33が撮像されていない場合、処理は、ステップS480に進む。
そして、ステップS417,S445,S480のそれぞれにおいて、終了が指示されると、キャリブレーション処理が終了する。
以上の処理により、VR画像やAR画像からなるコンテンツがHMD31の表示部54に表示された状態であるので、ユーザ21は、コンテンツを視聴している状態であるが、この状態とは独立してカメラ31a(撮像部53)のカメラパラメータのキャリブレーション処理が実現される。
結果として、ユーザ21が意識することなく、カメラ31a(撮像部53)のカメラパラメータを推定(測定)することが可能となる。また、この際、表示装置33に表示され、撮像部53により撮像されるキャリブレーションパターンの表示サイズや輝度が、キャリブレーションに適したサイズや輝度に調整された状態で表示されることになるので、適切なカメラパラメータの推定(測定)を実現することが可能となる。
尚、以上においては、HMD31、情報処理装置32、および表示装置33により構成されるキャリブレーションシステムについて説明してきたが、HMD31と情報処理装置32とを一体化させて、HMD31において情報処理装置32の処理も併せて実現できるようにする、または表示装置33と情報処理装置32とを一体化させて、表示装置33において情報処理装置32の処理も併せて実現できるようにすることで、HMD31と表示装置33とから構成されるキャリブレーションシステムを実現させるようにしてもよい。
<<8.ソフトウェアにより実行させる例>>
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、記録媒体からインストールされる。
図20は、汎用のコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体1011に対してデータを読み書きするドライブ1010が接続されている。
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブル記憶媒体1011ら読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記憶媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブル記憶媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
尚、図20におけるCPU1001が、図5の制御部51、図6,図16における制御部91、および図7,図18の制御部111の機能を実現させる。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
尚、本開示は、以下のような構成も取ることができる。
<1> 表示部と、
外部を撮像する撮像部と、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部とを含む
ヘッドマウントディスプレイ。
<2> 前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係に基づいて、前記キャリブレーション画像を生成する
<1>に記載のヘッドマウントディスプレイ。
<3> 前記キャリブレーション処理部は、前記ヘッドマウントディスプレイの位置情報と、前記外部表示機器の位置情報とに基づいて、前記キャリブレーション画像を生成する
<2>に記載のヘッドマウントディスプレイ。
<4> 前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと、前記外部表示機器との距離に応じて、前記キャリブレーション画像のサイズを調整し生成する
<3>に記載のヘッドマウントディスプレイ。
<5> 前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと、前記外部表示機器との距離が所定の距離よりも遠いとき、前記キャリブレーション画像のサイズを大きく調整する
<4>に記載のヘッドマウントディスプレイ。
<6> 前記キャリブレーション処理部は、前記ヘッドマウントディスプレイの姿勢情報と、前記外部表示機器の姿勢情報とに基づいて、前記キャリブレーション画像を生成する
<2>に記載のヘッドマウントディスプレイ。
<7> 前記キャリブレーション処理部は、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像のサイズを調整し生成する
<6>に記載のヘッドマウントディスプレイ。
<8> 前記キャリブレーション処理部は、前記なす角が構成される方向に対して前記キャリブレーション画像のサイズを調整する
<7>に記載のヘッドマウントディスプレイ。
<9> 前記キャリブレーション処理部は、前記なす角が所定の角度よりも大きいとき、前記なす角が構成される方向に対して、前記キャリブレーション画像のサイズを大きく調整する
<8>に記載のヘッドマウントディスプレイ。
<10> 前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像を用いて、前記撮像部のカメラパラメータを推定する
<2>に記載のヘッドマウントディスプレイ。
<11> 前記キャリブレーション処理部は、前記撮像部により撮像される、前記外部表示機器に表示された前記キャリブレーション画像の複数の画像に基づいて、前記カメラパラメータを推定する場合、前記複数の画像について、前記外部表示機器の表面の方向に対する、前記撮像部の撮像方向に偏りがあるとき、前記表示部に前記外部表示機器の表面の方向に対する、前記撮像部の撮像方向のうち、前記撮像部により撮像されていない方向から撮像するように、前記ヘッドマウントディスプレイを装着したユーザを誘導する画像を前記表示部に表示させる
<10>に記載のヘッドマウントディスプレイ。
<12> 前記キャリブレーション処理部は、複数の前記ヘッドマウントディスプレイの前記撮像部の前記カメラパラメータを推定する場合、複数の前記撮像部のそれぞれが重なり合うことなく前記外部表示機器に表示された前記キャリブレーション画像を撮像できるように、前記ヘッドマウントディスプレイを装着したユーザを誘導する画像を前記表示部に表示させる
<11>に記載のヘッドマウントディスプレイ。
<13> 前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像の輝度に基づいて、前記キャリブレーション画像を生成する
<2>に記載のヘッドマウントディスプレイ。
<14> 前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像のうち、輝度が飽和している画素が所定数よりも多い場合、前記外部表示機器に表示される前記キャリブレーション画像の輝度を低減させ、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像のうち、輝度が最低値の画素が所定数よりも多い場合、前記外部表示機器に表示される前記キャリブレーション画像の輝度を増大させる
<13>に記載のヘッドマウントディスプレイ。
<15> 前記キャリブレーション処理部は、前記撮像部により撮像された画像内に、前記外部表示機器が検出されたタイミング、所定の時間が経過したタイミング、前記ヘッドマウントディスプレイの位置情報に基づいて、前記撮像部のカメラパラメータに基づいて、本来、前記撮像部により撮像されるべき画像と、実際に前記撮像部により撮像される画像との間に齟齬が生じたタイミング、またはユーザが前記キャリブレーションを要求するタイミングにおいて、前記キャリブレーションに適した前記キャリブレーション画像を生成し、前記外部表示機器に表示させる
<1>乃至<14>のいずれかに記載のヘッドマウントディスプレイ。
<16> 前記キャリブレーション画像は、所定形状のマーカからなる画像、または、所定の配色がなされたマーカからなる画像である
<1>乃至<15>のいずれかに記載のヘッドマウントディスプレイ。
<17> 前記キャリブレーション画像は、動画像からなるコンテンツのうちの、所定のタイミングにより表示される画像である
<1>乃至<16>のいずれかに記載のヘッドマウントディスプレイ。
<18> 表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの制御方法であって、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理を含む
ヘッドマウントディスプレイの制御方法。
<19> 表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイを制御するコンピュータを、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部として機能させる
プログラム。
<20> 表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイにコンテンツを供給する情報処理装置であって、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部を含む
情報処理装置。
<21> 表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの前記撮像部のキャリブレーション画像を表示する表示装置であって、
キャリブレーションに適した前記キャリブレーション画像を生成し、表示させるキャリブレーション処理部を含む
表示装置。
11 キャリブレーションシステム, 31 HMD(Head Mounted Display), 31a カメラ, 32 情報処理装置, 33 表示装置, 51 制御部, 52 通信部, 53 撮像部, 54 表示部, 55 記憶部, 56 ドライブ, 57 リムーバブル記憶媒体, 60 バス, 71 キャリブレーション制御部, 72 コンテンツ表示処理部, 91 制御部, 92 通信部, 93 記憶部, 94 ドライブ, 95 リムーバブル記憶媒体, 96 バス, 111 制御部, 112 通信部, 113 表示部, 114 記憶部, 115 ドライブ, 116 リムーバブル記憶媒体, 131 表示制御部, 201,221 キャリブレーション処理部

Claims (17)

  1. 表示部と、
    外部を撮像する撮像部と、
    キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理部とを含むヘッドマウントディスプレイであって、
    前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に基づいて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成する
    ヘッドマウントディスプレイ。
  2. 前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記ヘッドマウントディスプレイの位置情報と、前記外部表示機器の位置情報とに基づいて、前記キャリブレーション画像を生成する
    請求項に記載のヘッドマウントディスプレイ。
  3. 前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと、前記外部表示機器との距離に応じて、前記キャリブレーション画像のサイズを調整し生成する
    請求項に記載のヘッドマウントディスプレイ。
  4. 前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと、前記外部表示機器との距離が所定の距離よりも遠いとき、前記キャリブレーション画像のサイズを大きく調整する
    請求項に記載のヘッドマウントディスプレイ。
  5. 前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記ヘッドマウントディスプレイの姿勢情報と、前記外部表示機器の姿勢情報とに基づいて、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像の前記キャリブレーションパターンを構成する前記マーカのサイズを調整して前記キャリブレーション画像を生成する
    請求項1に記載のヘッドマウントディスプレイ。
  6. 前記キャリブレーション処理部は、前記なす角が所定の角度よりも大きいとき、前記なす角が構成される方向に対して、前記キャリブレーション画像のキャリブレーションパターンを構成するマーカのサイズを大きく調整する
    請求項に記載のヘッドマウントディスプレイ。
  7. 前記キャリブレーション処理部は、前記撮像部により撮像される、前記外部表示機器に表示された前記キャリブレーション画像の複数の画像に基づいて、前記カメラパラメータを推定する場合、前記複数の画像について、前記外部表示機器の表面の方向に対する、前記撮像部の撮像方向に偏りがあるとき、前記表示部に前記外部表示機器の表面の方向に対する、前記撮像部の撮像方向のうち、前記撮像部により撮像されていない方向から撮像するように、前記ヘッドマウントディスプレイを装着したユーザを誘導する画像を前記表示部に表示させる
    請求項に記載のヘッドマウントディスプレイ。
  8. 前記キャリブレーション処理部は、複数の前記ヘッドマウントディスプレイの前記撮像部の前記カメラパラメータを推定する場合、複数の前記撮像部のそれぞれが重なり合うことなく前記外部表示機器に表示された前記キャリブレーション画像を撮像できるように、前記ヘッドマウントディスプレイを装着したユーザを誘導する画像を前記表示部に表示させる
    請求項に記載のヘッドマウントディスプレイ。
  9. 前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像の輝度に基づいて、前記キャリブレーション画像を生成する
    請求項に記載のヘッドマウントディスプレイ。
  10. 前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像のうち、輝度が飽和している画素が所定数よりも多い場合、前記外部表示機器に表示される前記キャリブレーション画像の輝度を低減させ、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像のうち、輝度が最低値の画素が所定数よりも多い場合、前記外部表示機器に表示される前記キャリブレーション画像の輝度を増大させる
    請求項に記載のヘッドマウントディスプレイ。
  11. 前記キャリブレーション処理部は、前記撮像部により撮像された画像内に、前記外部表示機器が検出されたタイミング、所定の時間が経過したタイミング、前記ヘッドマウントディスプレイの位置情報に基づいて、前記撮像部のカメラパラメータに基づいて、本来、前記撮像部により撮像されるべき画像と、実際に前記撮像部により撮像される画像との間に齟齬が生じたタイミング、またはユーザが前記キャリブレーションを要求するタイミングにおいて、前記キャリブレーションに適した前記キャリブレーション画像を生成し、前記外部表示機器に表示させる
    請求項1に記載のヘッドマウントディスプレイ。
  12. 前記キャリブレーション画像は、所定形状のマーカからなる画像、または、所定の配色がなされたマーカからなる画像である
    請求項1に記載のヘッドマウントディスプレイ。
  13. 前記キャリブレーション画像は、動画像からなるコンテンツのうちの、所定のタイミングにより表示される画像である
    請求項1に記載のヘッドマウントディスプレイ。
  14. 表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの制御方法であって、
    キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理を含み、
    前記キャリブレーション処理は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成する
    ヘッドマウントディスプレイの制御方法。
  15. 表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイを制御するコンピュータを、
    キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理部として機能させ
    前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成する
    プログラム。
  16. 表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイにコンテンツを供給する情報処理装置であって、
    キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理部とを含み、
    前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成する
    情報処理装置。
  17. 表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの前記撮像部のキャリブレーション画像を表示する表示装置であって、
    キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させ、前記撮像部によりキャリブレーション画像を撮像させ、前記撮像部により撮像されたキャリブレーション画像に基づいて、前記撮像部のカメラパラメータを推定するキャリブレーション処理部とを含み、
    前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係と対応する、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像におけるキャリブレーションパターンを構成するマーカのサイズを調整して生成する
    表示装置。
JP2020531224A 2018-07-17 2019-07-03 ヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラム Active JP7409307B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018133843 2018-07-17
JP2018133843 2018-07-17
PCT/JP2019/026417 WO2020017327A1 (ja) 2018-07-17 2019-07-03 ヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラム

Publications (2)

Publication Number Publication Date
JPWO2020017327A1 JPWO2020017327A1 (ja) 2021-08-02
JP7409307B2 true JP7409307B2 (ja) 2024-01-09

Family

ID=69164370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020531224A Active JP7409307B2 (ja) 2018-07-17 2019-07-03 ヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラム

Country Status (5)

Country Link
US (1) US20210124174A1 (ja)
EP (1) EP3826290A4 (ja)
JP (1) JP7409307B2 (ja)
CN (1) CN112385209B (ja)
WO (1) WO2020017327A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022186326A (ja) * 2021-06-04 2022-12-15 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像生成方法
JP2023076068A (ja) * 2021-11-22 2023-06-01 トヨタ自動車株式会社 画像表示システムおよび画像コントローラ
CN114900624A (zh) * 2022-04-25 2022-08-12 歌尔股份有限公司 拍摄校准方法、系统、设备及存储介质
EP4390916A2 (en) * 2022-12-19 2024-06-26 Stereyo BV Active matrix display, system, and method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015205A (ja) 2002-06-04 2004-01-15 Olympus Corp マルチプロジェクションシステム及びマルチプロジェクションシステムにおける補正データ取得方法
JP2004289548A (ja) 2003-03-24 2004-10-14 Olympus Corp 画像調整装置及び頭部装着型表示装置
US20130120224A1 (en) 2011-11-11 2013-05-16 Elmer S. Cajigas Recalibration of a flexible mixed reality device
JP2013122663A (ja) 2011-12-09 2013-06-20 Sharp Corp 表示システム、較正方法、コンピュータプログラム、及び記録媒体
JP2015201707A (ja) 2014-04-07 2015-11-12 日本放送協会 ディスプレイ表示パターン生成装置及びそのプログラム
JP2016110489A (ja) 2014-12-09 2016-06-20 コニカミノルタ株式会社 表示装置、表示装置のキャリブレーション方法、およびキャリブレーションプログラム
JP2017037554A (ja) 2015-08-12 2017-02-16 セイコーエプソン株式会社 画像表示装置、コンピュータープログラム、および画像表示システム
JP2018007254A5 (ja) 2017-06-28 2020-08-06

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4453119B2 (ja) 1999-06-08 2010-04-21 ソニー株式会社 カメラ・キャリブレーション装置及び方法、画像処理装置及び方法、プログラム提供媒体、並びに、カメラ
JP6177006B2 (ja) * 2013-05-24 2017-08-09 京セラ株式会社 カメラ較正装置、およびカメラ較正方法
EP3360029B1 (en) * 2015-10-08 2019-11-13 PCMS Holdings, Inc. Methods and systems of automatic calibration for dynamic display configurations
EP3264360A1 (en) 2016-06-28 2018-01-03 Dassault Systèmes Dynamical camera calibration

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015205A (ja) 2002-06-04 2004-01-15 Olympus Corp マルチプロジェクションシステム及びマルチプロジェクションシステムにおける補正データ取得方法
JP2004289548A (ja) 2003-03-24 2004-10-14 Olympus Corp 画像調整装置及び頭部装着型表示装置
US20130120224A1 (en) 2011-11-11 2013-05-16 Elmer S. Cajigas Recalibration of a flexible mixed reality device
JP2013122663A (ja) 2011-12-09 2013-06-20 Sharp Corp 表示システム、較正方法、コンピュータプログラム、及び記録媒体
JP2015201707A (ja) 2014-04-07 2015-11-12 日本放送協会 ディスプレイ表示パターン生成装置及びそのプログラム
JP2016110489A (ja) 2014-12-09 2016-06-20 コニカミノルタ株式会社 表示装置、表示装置のキャリブレーション方法、およびキャリブレーションプログラム
JP2017037554A (ja) 2015-08-12 2017-02-16 セイコーエプソン株式会社 画像表示装置、コンピュータープログラム、および画像表示システム
JP2018007254A5 (ja) 2017-06-28 2020-08-06

Also Published As

Publication number Publication date
EP3826290A1 (en) 2021-05-26
CN112385209A (zh) 2021-02-19
EP3826290A4 (en) 2021-08-25
JPWO2020017327A1 (ja) 2021-08-02
US20210124174A1 (en) 2021-04-29
WO2020017327A1 (ja) 2020-01-23
CN112385209B (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
JP7409307B2 (ja) ヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラム
CN107690649B (zh) 数字拍摄装置及其操作方法
JP5115139B2 (ja) 構図判定装置、構図判定方法、プログラム
JP5109803B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP5206095B2 (ja) 構図判定装置、構図判定方法、プログラム
US20110254972A1 (en) Imaging device
JP5407640B2 (ja) 画像対応装置、動作設定方法、プログラム
JP2005167517A (ja) 画像処理装置、画像処理装置のキャリブレーション方法及び画像処理プログラム
KR20190012465A (ko) 복수의 카메라를 이용하여 영상을 획득하기 위한 전자 장치 및 이를 이용한 영상 처리 방법
KR101204888B1 (ko) 디지털 촬영장치, 그 제어방법 및 이를 실행시키기 위한프로그램을 저장한 기록매체
JP5347802B2 (ja) 構図制御装置、撮像システム、構図制御方法、プログラム
JP5159189B2 (ja) 画像処理装置、撮像装置、画像処理方法およびプログラム
US8525913B2 (en) Digital photographing apparatus, method of controlling the same, and computer-readable storage medium
JP2008172342A (ja) 立体画像記録装置および立体画像記録方法
JP2012019292A (ja) 3dカメラモジュールの撮像検査装置およびその撮像検査方法、3dカメラモジュールの撮像検査制御プログラム、3dカメラモジュールの撮像補正方法、3dカメラモジュールの撮像補正制御プログラム、可読記録媒体、3dカメラモジュール、電子情報機器
US8194147B2 (en) Image presentation angle adjustment method and camera device using the same
KR20190014959A (ko) 움직임 정보에 기반하여 동영상을 재생하기 위한 장치 및 그의 동작 방법
JP2009089220A (ja) 撮像装置
KR20180017591A (ko) 카메라 장치, 디스플레이 장치 및 그 장치에서 움직임을 보정하는 방법
JPWO2018116824A1 (ja) 制御装置、制御方法、並びにプログラム
JP2004088558A (ja) モニタリングシステムおよび方法並びにプログラムおよび記録媒体
JP4225040B2 (ja) モニタリングシステムおよび方法並びにプログラムおよび記録媒体
WO2018084051A1 (ja) 情報処理装置、ヘッドマウントディスプレイ、情報処理システム、および情報処理方法
JP2003324717A (ja) モニタリングシステムおよび方法、並びにプログラムおよび記録媒体
JP2018112991A (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230814

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231204

R151 Written notification of patent or utility model registration

Ref document number: 7409307

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151