(57)【要約】  本開示は、HMDを装着したユーザが意識することなく、HMDに装着されたカメラのカメラパラメータを推定できるようにするヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラムに関する。HMDが、VR画像やAR画像からなるコンテンツを表示しているタイミングにおいて、HMDに装着されたカメラが外部ディスプレイに表示されたキャリブレーションパターンを撮像し、撮像されたキャリブレーションパターンの画像に基づいて、キャリブレーションを実行してカメラパラメータを推定する。この際、外部ディスプレイに表示されるキャリブレーションパターンは、HMDと外部ディスプレイとの位置関係に応じた大きさで表示される。本開示は、HMDに適用することができる。
2020017327.tif 000002
【特許請求の範囲】
【請求項１】
表示部と、
外部を撮像する撮像部と、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部とを含む
ヘッドマウントディスプレイ。
【請求項２】
前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係に基づいて、前記キャリブレーション画像を生成する
請求項１に記載のヘッドマウントディスプレイ。
【請求項３】
前記キャリブレーション処理部は、前記ヘッドマウントディスプレイの位置情報と、前記外部表示機器の位置情報とに基づいて、前記キャリブレーション画像を生成する
請求項２に記載のヘッドマウントディスプレイ。
【請求項４】
前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと、前記外部表示機器との距離に応じて、前記キャリブレーション画像のサイズを調整し生成する
請求項３に記載のヘッドマウントディスプレイ。
【請求項５】
前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと、前記外部表示機器との距離が所定の距離よりも遠いとき、前記キャリブレーション画像のサイズを大きく調整する
請求項４に記載のヘッドマウントディスプレイ。
【請求項６】
前記キャリブレーション処理部は、前記ヘッドマウントディスプレイの姿勢情報と、前記外部表示機器の姿勢情報とに基づいて、前記キャリブレーション画像を生成する
請求項２に記載のヘッドマウントディスプレイ。
【請求項７】
前記キャリブレーション処理部は、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像のサイズを調整し生成する
請求項６に記載のヘッドマウントディスプレイ。
【請求項８】
前記キャリブレーション処理部は、前記なす角が構成される方向に対して前記キャリブレーション画像のサイズを調整する
請求項７に記載のヘッドマウントディスプレイ。
【請求項９】
前記キャリブレーション処理部は、前記なす角が所定の角度よりも大きいとき、前記なす角が構成される方向に対して、前記キャリブレーション画像のサイズを大きく調整する
請求項８に記載のヘッドマウントディスプレイ。
【請求項１０】
前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像を用いて、前記撮像部のカメラパラメータを推定する
請求項２に記載のヘッドマウントディスプレイ。
【請求項１１】
前記キャリブレーション処理部は、前記撮像部により撮像される、前記外部表示機器に表示された前記キャリブレーション画像の複数の画像に基づいて、前記カメラパラメータを推定する場合、前記複数の画像について、前記外部表示機器の表面の方向に対する、前記撮像部の撮像方向に偏りがあるとき、前記表示部に前記外部表示機器の表面の方向に対する、前記撮像部の撮像方向のうち、前記撮像部により撮像されていない方向から撮像するように、前記ヘッドマウントディスプレイを装着したユーザを誘導する画像を前記表示部に表示させる
請求項１０に記載のヘッドマウントディスプレイ。
【請求項１２】
前記キャリブレーション処理部は、複数の前記ヘッドマウントディスプレイの前記撮像部の前記カメラパラメータを推定する場合、複数の前記撮像部のそれぞれが重なり合うことなく前記外部表示機器に表示された前記キャリブレーション画像を撮像できるように、前記ヘッドマウントディスプレイを装着したユーザを誘導する画像を前記表示部に表示させる
請求項１１に記載のヘッドマウントディスプレイ。
【請求項１３】
前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像の輝度に基づいて、前記キャリブレーション画像を生成する
請求項２に記載のヘッドマウントディスプレイ。
【請求項１４】
前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像のうち、輝度が飽和している画素が所定数よりも多い場合、前記外部表示機器に表示される前記キャリブレーション画像の輝度を低減させ、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像のうち、輝度が最低値の画素が所定数よりも多い場合、前記外部表示機器に表示される前記キャリブレーション画像の輝度を増大させる
請求項１３に記載のヘッドマウントディスプレイ。
【請求項１５】
前記キャリブレーション処理部は、前記撮像部により撮像された画像内に、前記外部表示機器が検出されたタイミング、所定の時間が経過したタイミング、前記ヘッドマウントディスプレイの位置情報に基づいて、前記撮像部のカメラパラメータに基づいて、本来、前記撮像部により撮像されるべき画像と、実際に前記撮像部により撮像される画像との間に齟齬が生じたタイミング、またはユーザが前記キャリブレーションを要求するタイミングにおいて、前記キャリブレーションに適した前記キャリブレーション画像を生成し、前記外部表示機器に表示させる
請求項１に記載のヘッドマウントディスプレイ。
【請求項１６】
前記キャリブレーション画像は、所定形状のマーカからなる画像、または、所定の配色がなされたマーカからなる画像である
請求項１に記載のヘッドマウントディスプレイ。
【請求項１７】
前記キャリブレーション画像は、動画像からなるコンテンツのうちの、所定のタイミングにより表示される画像である
請求項１に記載のヘッドマウントディスプレイ。
【請求項１８】
表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの制御方法であって、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理を含む
ヘッドマウントディスプレイの制御方法。
【請求項１９】
表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイを制御するコンピュータを、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部として機能させる
プログラム。
【請求項２０】
表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイにコンテンツを供給する情報処理装置であって、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部を含む
情報処理装置。
【請求項２１】
表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの前記撮像部のキャリブレーション画像を表示する表示装置であって、
キャリブレーションに適した前記キャリブレーション画像を生成し、表示させるキャリブレーション処理部を含む
表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラムに関し、特に、ホーム環境下において、ユーザが意識することなくキャリブレーションを実行し、適切にカメラパラメータを推定できるようにしたヘッドマウントディスプレイ、およびヘッドマウントディスプレイの制御方法、情報処理装置、表示装置、並びに、プログラムに関する。
【背景技術】
【０００２】
カメラを含むセットアップにおいては、光学系の歪みや撮像方向のずれ等が生じており、この歪みやずれに対応するパラメータを事前に測定（推定）することにより、撮像された画像に対して適用することで、適切な画像が得られる。【０００３】
このセットアップのパラメータ推定の既存手法は、多くの場合、一回の初期測定のみを想定している。その中には、ディスプレイなどに既知のパターンをカメラで撮像し、撮像結果に基づいてパラメータを推定するものである。【０００４】
例えば、表示装置に既知のパターンを表示し、表示された既知のパターンを撮像した撮像画像を使用することでカメラキャリブレーションを実現する技術が提案されている（特許文献１参照）。【０００５】
ところが、その後、セットアップに変形や変化が発生した場合、それらの手法では、再度キャリブレーションが必要となる。【０００６】
すなわち、キャリブレーションが工場などで行われる場合、出荷後、ユーザ宅内などのホーム環境にて、衝撃などによるカメラセットアップの変形が起こった時、再度キャリブレーションを行うには工場へと再出荷する必要がある。この様な事態を避けるためにも、ユーザが、ホーム環境下（在宅環境下）でキャリブレーションを実行して、これらのパラメータを再度推定できるようにする必要がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−３５０２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ホーム環境下を想定している幾つかの既存手法ではパラメータ推定のための特殊な物体を別途用意する必要があった。また、多くの手法では、特殊な手順を含むプロセスを必要とするため、ユーザがそれらのプロセスの実行を嫌がり、キャリブレーションそのものを行わない可能性があった。【０００９】
また、特許文献１においては、ユーザとディスプレイとの位置関係などの状況により撮像される既知のパターンの変化には対応しておらず、適切にカメラパラメータを推定することができない恐れがあった。【００１０】
本開示は、このような状況に鑑みてなされたものであり、特に、ホーム環境下において、ユーザが意識することなくキャリブレーションを実行し、適切にカメラパラメータを推定する。
【課題を解決するための手段】
【００１１】
本開示の一側面のヘッドマウントディスプレイは、表示部と、外部を撮像する撮像部と、キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部とを含むヘッドマウントディスプレイである。【００１２】
本開示の一側面のヘッドマウントディスプレイの制御方法は、表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの制御方法であって、キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理を含むヘッドマウントディスプレイの制御方法である。【００１３】
本開示の一側面のプログラムは、表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイを制御するコンピュータを、キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部として機能させるプログラムである。【００１４】
本開示の一側面の情報処理装置は、表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイにコンテンツを供給する情報処理装置であって、キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部を含む情報処理装置である。【００１５】
本開示の一側面の表示装置は、表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの前記撮像部のキャリブレーション画像を表示する表示装置であって、キャリブレーションに適した前記キャリブレーション画像を生成し、表示させるキャリブレーション処理部を含む表示装置である。【００１６】
本開示の一側面においては、キャリブレーションに適したキャリブレーション画像が生成され、外部表示機器に表示される。
【発明の効果】
【００１７】
本開示の一側面によれば、特に、ホーム環境下において、ユーザが意識することなくキャリブレーションを実行し、適切にカメラパラメータを推定することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本開示のキャリブレーションシステムの構成例を説明する図である。
【図２】本開示の第１の実施の形態のキャリブレーション処理の概要を説明する図である。
【図３】HMDと表示装置との距離に応じたキャリブレーションパターンの表示例を説明する図である。
【図４】HMDと表示装置との位置関係に応じたキャリブレーションパターンの表示例を説明する図である。
【図５】第１の実施の形態のHMDの構成例を説明する図である。
【図６】第１の実施の形態の情報処理装置の構成例を説明する図である。
【図７】第１の実施の形態の表示装置の構成例を説明する図である。
【図８】第１の実施の形態のキャリブレーション処理を説明するフローチャートである。
【図９】第１の実施の形態のキャリブレーションパターン表示状態確認処理を説明するフローチャートである。
【図１０】第１の変形例の概要を説明する図である。
【図１１】第１の変形例のキャリブレーションパターン表示状態確認処理を説明するフローチャートである。
【図１２】第２の変形例の概要を説明する図である。
【図１３】第２の変形例のキャリブレーション処理を説明するフローチャートである。
【図１４】第３の変形例の概要を説明する図である。
【図１５】第３の変形例のキャリブレーションパターン表示状態確認処理を説明するフローチャートである。
【図１６】第２の実施の形態の情報処理装置の構成例を説明する図である。
【図１７】第２の実施の形態のキャリブレーション処理を説明するフローチャートである。
【図１８】第３の実施の形態の表示装置の構成例を説明する図である。
【図１９】第３の実施の形態のキャリブレーション処理を説明するフローチャートである。
【図２０】汎用のパーソナルコンピュータの構成例を説明する図である。
【発明を実施するための形態】
【００１９】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２０】
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
１．本開示のキャリブレーションシステムの概要
２．第１の実施の形態
３．第１の変形例
４．第２の変形例
５．第３の変形例
６．第２の実施の形態
７．第３の実施の形態
８．ソフトウェアにより実行させる例
【００２１】
＜＜１．本開示のキャリブレーションシステムの概要＞＞
＜キャリブレーションシステムの構成例＞
図１を参照して、本開示の技術を適用したキャリブレーションシステムの概要について説明する。
【００２２】
図１は、本開示のキャリブレーションシステムの構成例を示している。図１のキャリブレーションシステム１１は、HMD（Head Mounted Display）３１、情報処理装置３２、およびディスプレイからなる表示装置３３より構成され、HMD３１に設けられたカメラ３１ａのカメラパラメータをキャリブレーションにより推定（測定）するシステムである。
【００２３】
図１のキャリブレーションシステム１１は、通常の動作において、例えば、ゲーム機等のコンテンツを表示する装置として機能する。より詳細には、情報処理装置３２は、VR（Virtual Reality）画像、またはAR（Augmented Reality）画像からなるコンテンツを、ユーザ２１に装着されたHMD３１に出力し、表示させる。
【００２４】
また、キャリブレーションシステム１１は、ユーザが、装着したHMD３１に表示される画像を視聴しながら、例えば、ゲームを楽しんでいる間に、ユーザが意識することなく、HMD３１に搭載されたカメラ３１ａのキャリブレーションを実行し、カメラ３１ａのカメラパラメータを推定（測定）する。
【００２５】
すなわち、キャリブレーションシステム１１は、本来の機能であるゲーム機としての機能を実現させている間に、バックグラウンドにおいて、キャリブレーション処理を実行する。
【００２６】
より具体的には、例えば、図２の状態Ｓｔ１で示されるように、キャリブレーション処理を実行する際、キャリブレーションシステム１１は、表示装置３３に対してキャリブレーションを実行するための、表示装置３３上のどの位置に表示されるかが既知のキャリブレーションパターンとして、例えば、複数の方形状のマーカからなる画像やチェッカフラグ柄の画像を表示する。尚、マーカの形状は、既知の形状であれば、方形以外の所定の形状であってもよいし、既知の配色パターンなどであってもよい。
【００２７】
このとき、HMD３１のカメラ３１ａは、表示装置３３に表示されたキャリブレーションパターンを撮像すると共に、HMD３１が、カメラ３１ａにより撮像されたキャリブレーションパターンの画像に基づいて、カメラ３１ａのカメラパラメータを推定（測定）する。
【００２８】
また、キャリブレーション処理が実行されるとき、キャリブレーションシステム１１のHMD３１は、同時に、図２の状態Ｓｔ２で示されるようなVR画像や、図２の状態Ｓｔ３で示されるようなAR画像を表示して、ユーザ２１に提示する。
【００２９】
このように、キャリブレーションシステム１１は、ゲーム機として機能している間に、バックグラウンドでキャリブレーション処理を実行し、カメラ３１ａのカメラパラメータを推定（測定）する。
【００３０】
ここで、求められるカメラパラメータは、例えば、表示装置３３を起点としたカメラ３１ａのセットアップの位置および姿勢の情報、カメラ３１ａの内部パラメータ（ディストーション、焦点距離、光学中心等）の情報、カメラ３１ａが複数に存在する場合、カメラ３１ａ間の位置姿勢の情報、および、カメラ３１ａのホワイトバランスを含めたカラー情報等である。ただし、ホワイトバランスを含めたカラー情報のカメラパラメータを推定（測定）する場合、キャリブレーションパターンは、例えば、RGB画像とする必要がある。
【００３１】
結果として、ユーザ２１は、HMD３１を装着して、情報処理装置３２を利用してゲームを楽しんでいる間に、キャリブレーションについて意識することなく、キャリブレーションが実行されて、適切にカメラパラメータを推定（測定）することが可能となる。
【００３２】
尚、図２の状態Ｓｔ２，Ｓｔ３で示されるように、VR画像が表示されている状態や、AR画像が表示されている状態については、HMD３１を装着したユーザが、視聴する画像のイメージを示したものであり、現実の表示状態を示したものとは異なる。
【００３３】
＜HMDとディスプレイとの距離に応じたキャリブレーションパターンの表示例＞
HMD３１に設けられたカメラ３１ａは、例えば、HMD３１を装着したユーザ２１の顔の正面方向を撮像する。したがって、HMD３１が、図１で示されるように、ユーザ２１の頭部に装着された状態で、表示装置３３の方向に顔を向けると、表示装置３３を撮像する。
【００３４】
また、HMD３１には、ユーザ２１の頭部に装着されるとき、ユーザ２１の目を覆うようにディスプレイ（図示せず）が設けられており、そのディスプレイにゲーム等のコンテンツであるVR画像やAR画像が表示される。
【００３５】
このような構成により、ユーザ２１が、HMD３１に表示されるVR画像またはAR画像を視聴する動作と、カメラ３１ａがユーザ２１の正面方向を撮像する動作とは、完全に独立した動作となるが、視聴方向についても、撮像方向についても、ユーザ２１の動作に連動して変化する。
【００３６】
また、上述した構成により、ユーザ２１は、HMD３１を装着している間については、自らの視聴方向と表示装置３３との位置関係を認識することはできない場合もあるので、カメラ３１ａと表示装置３３との位置関係は、様々な状態が想定される。
【００３７】
例えば、HMD３１を装着したユーザ２１の顔の正面方向と表示装置３３の表示面とが正対する位置に存在する場合、HMD３１と表示装置３３とが所定の距離よりも近い位置に存在するときと、所定の距離よりも遠いときとでは、カメラ３１ａにより撮像される表示装置３３に表示されたキャリブレーションパターンに変化が生じる。
【００３８】
すなわち、HMD３１を装着したユーザ２１の顔の正面方向と表示装置３３の表示面の正面方向とが正対する場合であって、HMD３１と表示装置３３とが所定の距離に存在するときには、カメラ３１ａにより撮像されるキャリブレーションパターンを構成するマーカの大きさが適切なサイズであり、複数のマーカの境界を適切に認識することができる。
【００３９】
尚、ここでは、キャリブレーションパターンが、複数の方形状のマーカが配置される画像であるものとして説明するが、それ以外の画像であってもよく、例えば、白色および黒色の複数の方形状のマーカが密集した状態で交互に配置されたチェッカフラグ柄の画像であってもよい。
【００４０】
これに対して、HMD３１を装着したユーザ２１の顔の正面方向と表示装置３３の表示面の正面方向とが正対する場合であって、HMD３１と表示装置３３とが所定の距離よりも遠い位置に存在するとき、カメラ３１ａにより撮像されるキャリブレーションパターンを構成するマーカの大きさは、所定の距離であるときよりも小さくなり、例えば、マーカの境界が潰れるなどして、マーカの位置を適切に認識することができない可能性がある。
【００４１】
マーカの位置（特に方形状のマーカの場合、その境界の位置）が適切に認識できない状態になると、キャリブレーションにより、適切なカメラパラメータが推定（測定）できない恐れがある。
【００４２】
そこで、図１のキャリブレーションシステム１１においては、HMD３１と表示装置３３との距離に応じて、表示装置３３に表示されるキャリブレーションパターンを構成するマーカのサイズを変化させて表示する。
【００４３】
すなわち、図３の上部で示されるように、HMD３１と表示装置３３との距離が、所定の距離Ｄ１であるような場合、カメラ３１ａにより撮像される表示装置３３の画像は、例えば、画像Ｐ１となる。画像Ｐ１の場合、キャリブレーションパターンを構成する方形状のマーカがアレイ状に配置されており、マーカの水平方向のサイズがデフォルトとなるサイズｄであり、カメラパラメータの推定（測定）に適切であるものとする。
【００４４】
これに対して、HMD３１と表示装置３３との距離が、所定の距離よりも遠い距離であるような場合、キャリブレーションパターンを構成するマーカの水平方向のサイズは、サイズｄよりも小さくなり、カメラパラメータの推定（測定）に不適切なサイズとなる恐れがある。
【００４５】
そこで、図１のキャリブレーションシステム１１においては、HMD３１と表示装置３３との距離に応じてキャリブレーションパターンを構成するマーカのサイズを変化させて表示する。すなわち、例えば、図３の下部で示されるように、HMD３１と表示装置３３との距離が、所定の距離Ｄ１よりも遠い距離Ｄ２であるような場合、カメラ３１ａにより撮像される画像は、例えば、画像Ｐ２となるように、キャリブレーションパターンを構成するマーカの水平方向のサイズを大きく表示する。
【００４６】
このようにすることで、画像Ｐ２におけるキャリブレーションパターンを構成するマーカのサイズｄは、図３の上部で示されるように、HMD３１と表示装置３３との距離が距離Ｄ１であるときと同様のサイズｄとなり、カメラパラメータの推定（測定）に適切なサイズにすることが可能となる。
【００４７】
これにより、HMD３１と表示装置３３との距離によらず、キャリブレーションパターンを構成するマーカのサイズを適切なサイズにすることが可能となるので、HMD３１と表示装置３３との距離によらず、適切なサイズのキャリブレーションパターンを表示することが可能となる。
【００４８】
結果として、適切にカメラパラメータを推定（測定）することが可能となる。
【００４９】
＜HMDの撮像方向とディスプレイとの位置関係に応じたキャリブレーションパターンの表示例＞
また、例えば、HMD３１を装着したユーザ２１の顔の正面方向と表示装置３３の表示面の正面方向とが正対せず、例えば、HMD３１のカメラ３１ａが、表示装置３３の正面方向に対して左右のいずれかの斜め方向から表示装置３３を撮像する場合、HMD３１の撮像方向と表示装置３３との位置関係に応じて、カメラ３１ａにより撮像される表示装置３３に表示されたキャリブレーションパターンに変化が生じる。
【００５０】
すなわち、HMD３１を装着したユーザ２１の顔の正面方向が、表示装置３３の表示面の正面方向に対して左右のいずれか斜め方向から表示装置３３を撮像する場合、正面方向から撮像する場合に比べて、キャリブレーションパターンを構成するマーカの水平方向のサイズが小さくなる。
【００５１】
結果として、カメラ３１ａにより撮像されるキャリブレーションパターンを構成するマーカの水平方向の大きさが小さくなり、例えば、撮像されたキャリブレーションパターンのマーカの境界が潰れるなどして、マーカの位置を適切に認識することができない状況になることが考えられる。
【００５２】
マーカの位置が適切に認識できない状態になると、キャリブレーション処理により、適切なカメラパラメータが求められない恐れがある。
【００５３】
そこで、図１のキャリブレーションシステム１１においては、HMD３１を装着したユーザ２１の顔の正面方向と、表示装置３３の表示面の正面方向との位置関係に応じて、表示装置３３に表示されるキャリブレーションパターンを構成するマーカの水平方向のサイズを変化させて表示する。
【００５４】
すなわち、図４の左部の画像Ｐｔ１１で示されるように、表示装置３３に表示されるキャリブレーションパターンがチェッカフラグ柄の画像である場合、HMD３１を装着したユーザ２１の顔の正面方向と、表示装置３３の正面方向とが一致した状態で撮像されるとき、チェッカフラグ柄のキャリブレーションパターンの白または黒の方形部が、マーカとして機能し、マーカが規則正しく配置された状態の画像として撮像される。従って、図４の左部においては、適切にキャリブレーションを実行することが可能となり、結果として、適切にカメラパラメータが求められる。
【００５５】
しかしながら、表示装置３３の正面方向に対して、例えば、右斜め方向からカメラ３１ａにより表示装置３３に表示されたキャリブレーションパターンを撮像すると、例えば、図４の中央部の画像Ｐｔ１１’で示されるような画像が撮像される。
【００５６】
すなわち、画像Ｐｔ１１’で示されるように、撮像されたキャリブレーションパターンのチェッカフラグ柄におけるマーカの水平方向のサイズは、正面方向から撮像された場合の画像Ｐｔ１１におけるマーカよりも水平方向のサイズが小さくなり、適切なマーカのサイズではなくなる可能性がある。
【００５７】
そこで、図１のキャリブレーションシステム１１においては、HMD３１の撮像方向が、表示装置３３の正面方向に対して右斜め方向から撮像するような場合、図４の右部の画像Ｐｔ１２で示されるように、キャリブレーションパターンを構成するマーカの水平方向のサイズを大きくして、マーカの水平方向のサイズが、キャリブレーション処理において適切なサイズになるように表示装置３３に表示させる。
【００５８】
これにより、HMD３１の撮像方向と表示装置３３との位置関係によらず、キャリブレーションパターンを構成するマーカのサイズを適切なサイズにすることが可能となる。結果として、HMD３１におけるカメラ３１ａの撮像方向と表示装置３３との位置関係によらず、適切にキャリブレーションを実行させることが可能となり、カメラパラメータを適切に推定（測定）することが可能となる。
【００５９】
＜＜２．第１の実施の形態＞＞
＜HMDの構成例＞
次に、図５を参照して、図１のキャリブレーションシステム１１を構成するHMD３１の構成例について説明する。
【００６０】
HMD（Head Mounted Display）３１は、ユーザ２１の頭部に巻き付けられるように装着され、ユーザ２１の左右の目を覆うように設けられた表示部５４により、情報処理装置３２より供給されるVR画像またはAR画像からなるコンテンツを表示してユーザ２１に視聴させる。
【００６１】
また、HMD３１は、コンテンツを表示する処理と並行してキャリブレーション処理を実行し、設けられたカメラ３１ａにより表示装置３３に表示されるキャリブレーションパターンを撮像し、撮像された画像に基づいて、カメラパラメータを推定（測定）する。
【００６２】
より具体的には、HMD３１は、制御部５１、通信部５２、撮像部５３、表示部５４、記憶部５５、ドライブ５６、およびリムーバブル記憶媒体５７より構成され、それらが、相互にバス６０を介して電気的に接続された構成とされている。
【００６３】
制御部５１は、プロセッサやメモリより構成されており、HMD３１の動作の全体を制御する。
【００６４】
また、制御部５１は、キャリブレーション処理部７１、およびコンテンツ表示処理部７２を備えている。
【００６５】
キャリブレーション処理部７１は、撮像部５３により撮像される、表示装置３３に表示されたキャリブレーションパターンの画像に基づいたマーカ認識もしくは、SLAM（Simultaneous Localization and Mapping）により推定される位置および姿勢の情報に基づいて、キャリブレーション処理を実行し、カメラ３１ａである撮像部５３のカメラパラメータを推測（測定）する。尚、位置および姿勢の推定については、撮像部５３により撮像された画像に加えて、IMU（Inertial Measurement Unit）の測定結果を組み合わせたSLAMによる推定により、より高精度に求めるようにしてもよい。また、位置および姿勢の推定については、IMU単体で求めるようにしてもよいし、GPS（Global Positioning System）やGNSS（Global Navigation Satellite System）などを用いて求めるようにしてもよい。
【００６６】
コンテンツ表示処理部７２は、通信部５２を介して情報処理装置３２より供給されるコンテンツのデータを取得して、VR画像、またはAR画像を表示部５４に表示する。
【００６７】
通信部５２は、制御部５１により制御され、有線（または無線（図示せず））により、LAN（Local Area Network）などに代表される通信ネットワークを介して、情報処理装置３２との間で各種のデータやプログラムを送受信する。
【００６８】
撮像部５３は、HMD３１に装着されたカメラ３１ａに対応するものである。また、撮像部５３は、CMOS（Complementary Metal Oxide Semiconductor）やCCD（Charge Coupled Device）などからなるイメージセンサであり、ユーザ２１により装着された状態において、ユーザ２１の正面前方を撮像し、撮像した画像を制御部５１に出力する。
【００６９】
表示部５４は、HMD３１のユーザ２１の両眼を覆うように設けられたディスプレイであり、例えば、LCD（Liquid Crystal Display）や有機EL（Electro Luminescence）などからなる。表示部５４は、制御部５１のコンテンツ表示処理部７２により制御されて、情報処理装置３２より供給されるコンテンツのデータに基づいて、VR画像、またはAR画像を表示する。
【００７０】
尚、表示部５４は、AR画像を投影して表示するような場合については、透過型ディスプレイ、または非透過型ディスプレイのいずれであってもよいが、必要に応じて、左右のいずれかの眼を覆うような構造のディスプレイであってもよい。
【００７１】
記憶部５５は、制御部５１により制御され、HDD（Hard Disk Drive）、SSD（Solid State Drive）、または、半導体メモリなどからなり、各種のデータおよびプログラムを書き込む、または、読み出す。
【００７２】
ドライブ５６は、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブル記憶媒体５７に対してデータを読み書きする。
【００７３】
＜情報処理装置の構成例＞
次に、図６を参照して、情報処理装置３２の構成例について説明する。
【００７４】
情報処理装置３２は、HMD３１に対してVR画像またはAR画像などからなるコンテンツを供給して表示させると共に、HMD３１から供給されるキャリブレーションパターンの表示サイズなどを制御するパラメータ（以下、単に、キャリブレーションパラメータとも称する）を表示装置３３に供給する。
【００７５】
情報処理装置３２は、制御部９１、通信部９２、記憶部９３、ドライブ９４、およびリムーバブル記憶媒体９５より構成され、それらが、バス９６を介して相互に電気的に接続された構成とされている。
【００７６】
制御部９１は、プロセッサやメモリより構成されており、情報処理装置３２の動作の全体を制御する。
【００７７】
通信部９２は、制御部９１により制御され、有線（または無線（図示せず））により、LAN（Local Area Network）などに代表される通信ネットワークを介して、HMD３１、および表示装置３３との間で各種のデータやプログラムを送受信する。
【００７８】
記憶部９３は、制御部９１により制御され、HDD（Hard Disk Drive）、SSD（Solid State Drive）、または、半導体メモリなどからなり、各種のデータおよびプログラムを書き込む、または、読み出す。
【００７９】
ドライブ９４は、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブル記憶媒体９５に対してデータを読み書きする。
【００８０】
より詳細には、制御部９１は、例えば、記憶部９３またはリムーバブル記憶媒体９５に記憶されているVR画像またはAR画像からなるコンテンツのデータを読み出し、通信部９２を制御してHMD３１に供給し、表示させる。
【００８１】
また、制御部９１は、通信部９２を制御して、HMD３１より供給されるキャリブレーションパターンの表示画像の情報を取得すると共に、表示装置３３に供給して表示させる。
【００８２】
＜表示装置の構成例＞
次に、図７を参照して、表示装置３３の構成例について説明する。
【００８３】
表示装置３３は、情報処理装置３２を介して、HMD３１より供給されるキャリブレーションパラメータに基づいた表示形式でキャリブレーションパターンを表示させる。
【００８４】
表示装置３３は、制御部１１１、通信部１１２、表示部１１３、記憶部１１４、ドライブ１１５、およびリムーバブル記憶媒体１１６を備えており、それらがバス１１７を介して電気的に接続された構成とされている。
【００８５】
制御部１１１は、プロセッサやメモリより構成されており、表示装置３３の動作の全体を制御する。
【００８６】
また、制御部１１１は、表示制御部１３１を備えている。表示制御部１３１は、通信部１２を介して、HMD３１より供給されるキャリブレーションパラメータに基づいて、キャリブレーションパターンに処理を施して表示する。キャリブレーションパターンは、例えば、方形状のマーカを所定の間隔で、アレイ状に複数に配置した画像や、白色および黒色の方形状のマーカがアレイ状に複数に配置されたチェッカフラグ柄の画像であるが、予め位置やサイズが分かっている形状のマーカであれば、その他のマーカが複数に配置されるような画像であってもよい。
【００８７】
通信部１１２は、制御部１１１により制御され、有線（または無線（図示せず））により、LAN（Local Area Network）などに代表される通信ネットワークを介して、情報処理装置３２との間で各種のデータやプログラムを送受信する。
【００８８】
表示部１１３は、LCD（Liquid Crystal Display）や有機EL（Electro Luminescence）などからなり、制御部１１１の表示制御部１３１により制御されて、情報処理装置３２を介してHMD３１より供給されるキャリブレーションパターンの表示に係るパラメータに基づいた形式でキャリブレーションパターンを表示する。
【００８９】
記憶部１１４は、制御部１１１により制御され、HDD（Hard Disk Drive）、SSD（Solid State Drive）、または、半導体メモリなどからなり、各種のデータおよびプログラムを書き込む、または、読み出す。
【００９０】
ドライブ１１５は、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブル記憶媒体１１６に対してデータを読み書きする。
【００９１】
＜第１の実施の形態におけるキャリブレーション処理＞
次に、図８のフローチャートを参照して、第１の実施の形態におけるキャリブレーション処理について説明する。
【００９２】
ステップＳ４１において、情報処理装置３２の制御部９１は、記憶部９３またはリムーバブル記憶媒体９５に記憶されているコンテンツを構成する表示画像のデータを読み出し、通信部９２を制御して、HMD３１に供給する。
【００９３】
ステップＳ１１において、HMD３１における制御部５１のコンテンツ表示処理部７２は、通信部５２を制御して、情報処理装置３２より供給されるコンテンツを構成する表示画像のデータを取得すると共に、コンテンツのデータに基づいて、VR画像、またはAR画像からなるコンテンツを表示部５４に表示する。
【００９４】
この処理により、HMD３１を装着したユーザ２１は、表示部５４に表示されるVR画像、またはAR画像からなるコンテンツを視聴することができる状態になる。
【００９５】
ステップＳ１２において、撮像部５３（カメラ３１ａ）は、HMD３１を装着したユーザ２１の前方の風景を撮像し、撮像した画像を制御部５１に出力する。
【００９６】
ステップＳ１３において、制御部５１のキャリブレーション処理部７１は、撮像部５３により撮像された画像を解析し、表示装置３３が撮像されているか否かを判定する。キャリブレーション処理部７１は、例えば、撮像された画像内における物体検出により表示装置３３の形状が含まれているか否かに基づいて、表示装置３３が撮像されているか否かを判定する。
【００９７】
ステップＳ１３において、例えば、表示装置３３が撮像されているとみなされた場合、処理は、ステップＳ１４に進む。
【００９８】
ステップＳ１４において、キャリブレーション処理部７１は、通信部５２を制御して、情報処理装置３２を介して、表示装置３３に対してキャリブレーションの開始を指示する。
【００９９】
ステップＳ４２において、情報処理装置３２の制御部９１は、通信部９２を制御して、HMD３１よりキャリブレーションの開始が指示されたか否かを判定する。ステップＳ４２において、ステップＳ１４の処理によりキャリブレーションの開始が指示された場合、処理は、ステップＳ４３に進む。
【０１００】
ステップＳ４３において、制御部９１は、通信部９２を制御して、表示装置３３に対してキャリブレーションの開始を指示する。
【０１０１】
ステップＳ７１において、表示装置３３における制御部１１１の表示制御部１３１は、通信部１１２を制御して、情報処理装置３２を介して、HMD３１からのキャリブレーションの開始の指示が供給されてきたか否かを判定する。ステップＳ７１において、キャリブレーションの開始が指示された場合、処理は、ステップＳ７２に進む。
【０１０２】
ステップＳ７２において、表示制御部１３１は、記憶部１１４またはリムーバブル記憶媒体１１６に記憶されているキャリブレーションパターンの画像データを読み出して表示部１１３において表示させる。この際、表示制御部１３１は、読み出したキャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズの状態で表示させる。
【０１０３】
すなわち、HMD３１のカメラ３１ａに対応する撮像部５３において、表示装置３３が撮像されると、キャリブレーションが開始されて、デフォルトのマーカサイズからなるキャリブレーションパターンが表示装置３３に表示される。
【０１０４】
一方、ステップＳ１５において、キャリブレーション処理部７１は、撮像部５３により撮像される画像に基づいて、表示装置３３によりキャリブレーションパターンが撮像されたか否かを判定し、撮像されるまで、同一の処理を繰り返す。
【０１０５】
ステップＳ１５において、上述した一連の処理により表示装置３３の表示部１１３にキャリブレーションパターンが表示されることにより、撮像部（カメラ３１ａ）によりキャリブレーションパターンが撮像されたとみなされた場合、処理は、ステップＳ１６に進む。
【０１０６】
ステップＳ１６において、キャリブレーション処理部７１は、キャリブレーションパターン表示状態確認処理を実行し、撮像部５３により撮像されたキャリブレーションパターンの表示状態を確認する。より詳細には、キャリブレーション処理部７１は、キャリブレーションパターンが、キャリブレーションに適している状態であるか否かを判定し、適していない場合、図３，図４を参照して説明したように、キャリブレーションに適したキャリブレーションパターンを表示装置３３において表示するためのサイズなどを設定し、対応するキャリブレーションパラメータを算出する。
【０１０７】
尚、キャリブレーションパターン表示状態確認処理については、図９のフローチャートを参照して、詳細を後述する。
【０１０８】
ステップＳ１７において、キャリブレーション処理部７１は、キャリブレーションパターン表示状態確認処理により、撮像されたキャリブレーションパターンがキャリブレーションに適した状態であると判定されたか否かを判定する。ステップＳ１７において、撮像されたキャリブレーションパターンがキャリブレーションに適していない場合、処理は、ステップＳ１８に進む。
【０１０９】
ステップＳ１８において、キャリブレーション処理部７１は、通信部５２を制御して、情報処理装置３２を介して表示装置３３に対して、キャリブレーションパターン表示状態確認処理により算出されたキャリブレーションパラメータを送信し、処理は、ステップＳ１５に戻る。
【０１１０】
ステップＳ４４において、情報処理装置３２の制御部９１は、通信部９２を制御して、HMD３１から表示装置３３に対するキャリブレーションパラメータが供給されたか否かを判定する。そして、ステップＳ４４において、表示装置３３に対するキャリブレーションパラメータが供給された場合、処理は、ステップＳ４５に進む。
【０１１１】
ステップＳ４５において、制御部９１は、通信部９２を制御して、表示装置３３に対して、キャリブレーションパラメータを送信する。
【０１１２】
ステップＳ７３において、表示装置３３における制御部１１１の表示制御部１３１は、通信部１１２を制御して、HMD３１から情報処理装置３２を介して送信される、キャリブレーションパラメータが供給されたか否かを判定する。そして、ステップＳ７３において、キャリブレーションパラメータが供給された場合、処理は、ステップＳ７４に進む。
【０１１３】
ステップＳ７４において、表示制御部１３１は、通信部９２を制御して、キャリブレーションパラメータを取得し、デフォルトで記憶されているキャリブレーションパターンに対してキャリブレーションパラメータに応じた処理を施して、表示部１１３に表示する。
【０１１４】
すなわち、図３を参照して説明したように、HMD３１が、表示装置３３に対して所定の距離よりも遠い場合については、キャリブレーションパラメータに基づいて、マーカのサイズを大きく表示する。また、HMD３１が、表示装置３３に対して所定の距離である場合については、キャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズにする。さらに、HMD３１が、表示装置３３に対して所定の距離よりも近い場合については、キャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズよりも小さなサイズで表示する。
【０１１５】
また、図４を参照して説明したように、HMD３１が、表示装置３３の表示部１１３の表示面に対して左右方向に存在するような場合については、キャリブレーションパターンにおけるマーカの水平方向のサイズを大きくする。また、HMD３１が、表示装置３３の表示部１１３の表示面に対して正面に存在するような場合については、キャリブレーションパターンにおけるマーカの水平方向のサイズをデフォルトのサイズで表示する。
【０１１６】
このように表示されるマーカのサイズを調整することにより、撮像部５３により撮像されたキャリブレーションパターンにおけるマーカのサイズを常に適切なサイズにすることが可能となり、結果として、常にキャリブレーションに適した状態でキャリブレーションパターンを表示することが可能となる。
【０１１７】
ステップＳ４４，Ｓ７３において、キャリブレーションパラメータが送信されない場合、ステップＳ４５，Ｓ７４の処理がスキップされる。
【０１１８】
また、ステップＳ４６において、制御部９１は、キャリブレーションの完了がHMD３１より通知されたか否かを判定し、通知されない場合、処理は、ステップＳ４４に戻る。すなわち、キャリブレーションが完了するまで、ステップＳ４４乃至Ｓ４６の処理が繰り返される。
【０１１９】
さらに、ステップＳ７５において、表示制御部１３１は、キャリブレーションの完了が情報処理装置３２を介してHMD３１より通知されたか否かを判定し、通知されない場合、処理は、ステップＳ７３に戻る。すなわち、キャリブレーションが完了するまで、ステップＳ７３乃至Ｓ７５の処理が繰り返される。
【０１２０】
また、HMD３１においては、ステップＳ１７において、撮像されたキャリブレーションパターンがキャリブレーションに適しているとみなされない限り、ステップＳ１５乃至Ｓ１８の処理が繰り返される。これにより、情報処理装置３２においては、ステップＳ４４乃至Ｓ４６の処理が繰り返され、表示装置３３においては、ステップＳ７３乃至Ｓ７５の処理が繰り返され、キャリブレーションパラメータが繰り返し設定されて、キャリブレーションパターンのマーカの表示サイズが、HMD３１と表示装置との位置関係に応じて変化し続ける。
【０１２１】
ステップＳ１７において、撮像部５３により撮像されたキャリブレーションパターンがキャリブレーションに適しているとみなされた場合、処理は、ステップＳ１９に進む。
【０１２２】
ステップＳ１９において、キャリブレーション処理部７１は、撮像されたキャリブレーションパターンに基づいて、撮像部５３であるカメラ３１ａのカメラパラメータを推定（測定）し、求められたカメラパラメータを撮像部５３により撮像された画像に反映する。
【０１２３】
ここで、求められるカメラパラメータは、例えば、表示装置３３の表示部１１３を起点としたカメラ３１ａ（撮像部５３）のセットアップの位置および姿勢の情報、カメラ３１ａ（撮像部５３）の内部パラメータ（ディストーション、焦点距離、光学中心等）の情報、カメラ３１ａ（撮像部５３）が複数に存在する場合、カメラ３１ａ（撮像部５３）間の位置姿勢の情報、および、カメラ３１ａ（撮像部５３）のホワイトバランスを含めたカラー情報等である。ただし、ホワイトバランスを含めたカラー情報のカメラパラメータを推定（測定）する場合、キャリブレーションパターンは、例えば、RGBの各色を含む画像から構成される必要がある。
【０１２４】
ステップＳ２０において、キャリブレーション処理部７１は、通信部５２を制御して、情報処理装置３２を介して、表示装置３３に対してキャリブレーションの完了を通知する。
【０１２５】
これにより、ステップＳ４６において、キャリブレーションが完了したことが通知されたとみなされて、処理は、ステップＳ４７に進む。
【０１２６】
ステップＳ４７において、制御部９１は、通信部９２を制御して、表示装置３３に対してキャリブレーションの完了を通知する。
【０１２７】
さらに、ステップＳ７５において、キャリブレーションが完了したことが通知されたとみなされて、処理は、ステップＳ７６に進む。
【０１２８】
ステップＳ７６において、表示制御部１３１は、通信部１１２を制御して、キャリブレーションの完了の通知を取得し、表示部１１３におけるキャリブレーションパターンの表示を終了する。
【０１２９】
ステップＳ２１において、キャリブレーション処理部７１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ１１に戻り、それ以降の処理が繰り返される。尚、ステップＳ１３において、表示装置３３が撮像されていないとみなされた場合、処理は、ステップＳ２１に進む。
【０１３０】
また、ステップＳ４８において、制御部９１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ４１に戻り、それ以降の処理が繰り返される。尚、ステップＳ４２において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップＳ４８に進む。
【０１３１】
さらに、ステップＳ７７において、表示制御部１３１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ７１に戻り、それ以降の処理が繰り返される。尚、ステップＳ７１において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップＳ７７に進む。
【０１３２】
そして、ステップＳ２１，Ｓ４８，Ｓ７７のそれぞれにおいて、終了が指示されると、キャリブレーション処理が終了する。
【０１３３】
以上の処理により、VR画像やAR画像からなるコンテンツがHMD３１の表示部５４に表示された状態であるので、ユーザ２１は、コンテンツを視聴している状態であるが、この状態とは独立してカメラ３１ａ（撮像部５３）のカメラパラメータのキャリブレーション処理が実現される。
【０１３４】
結果として、ユーザ２１が意識することなく、カメラ３１ａ（撮像部５３）のカメラパラメータを推定（測定）することが可能となる。また、この際、表示装置３３に表示され、撮像部５３により撮像されるキャリブレーションパターンの表示サイズが、HMD３１（カメラ３１ａ）と表示装置３３との位置関係に応じて、キャリブレーションに適したサイズに調整された状態で表示されることになるので、適切なカメラパラメータの推定（測定）を実現することが可能となる。
【０１３５】
＜キャリブレーションパターン表示状態確認処理＞
次に、図９のフローチャートを参照して、キャリブレーションパターン表示状態確認処理について説明する。
【０１３６】
ステップＳ９１において、キャリブレーション処理部７１は、撮像部５３により撮像された画像に基づくSLAMによりHMD３１自身の位置および姿勢の情報を取得（推定）する。
【０１３７】
ステップＳ９２において、キャリブレーション処理部７１は、HMD３１と表示装置３３の位置および姿勢の情報に基づいて、現在のキャリブレーションパラメータにより表示されるキャリブレーションパターンが、キャリブレーションに適しているか否かを判定する。
【０１３８】
ここで、表示装置３３の位置および姿勢、サイズ、および解像度の情報については、予め取得して、記憶部５５に記憶されていることを前提とするが、例えば、情報処理装置３２を介して、表示装置３３の型式番号などに基づいて取得するようにしてもよいし、ユーザ２１により入力されるようにしてもよい。また、キャリブレーション処理部７１は、HMD３１の位置と姿勢の情報を取得しているので、カメラ３１ａである撮像部５３により撮像されている画像内の表示装置３３の位置と姿勢（表示部１１３の表示面の方向）を検出するようにしてもよい。
【０１３９】
これらにより、キャリブレーション処理部７１は、HMD３１と表示装置３３との位置関係を認識することができる。
【０１４０】
また、キャリブレーションパターンは、HMD３１からキャリブレーションパラメータの供給がない場合、デフォルトの位置およびサイズで表示されるので、キャリブレーション処理部７１は、撮像された画像内におけるキャリブレーションパターンのマーカのサイズを推定することができる。
【０１４１】
さらに、以降の処理において、キャリブレーションパラメータを表示装置３３に供給したときでも、供給したキャリブレーションパラメータは既知であるので、このときも、キャリブレーション処理部７１は、カメラ３１ａにより撮像された画像内におけるキャリブレーションパターンのマーカの位置およびサイズを推定することができる。
【０１４２】
これらの情報から、キャリブレーション処理部７１は、現状のキャリブレーションパラメータにより表示されるキャリブレーションパターンが撮像部５３により撮像された画像内におけるマーカのサイズがキャリブレーションに適しているか否かを判定することができる。
【０１４３】
ステップＳ９２において、表示装置３３に表示されているキャリブレーションパターンのマーカのサイズがキャリブレーションに適していないと判定された場合、処理は、ステップＳ９３に進む。
【０１４４】
ステップＳ９３において、キャリブレーション処理部７１は、表示装置３３において現在表示されているキャリブレーションパターンのマーカのサイズがキャリブレーションに適していないものとみなし、現在のHMD３１と表示装置３３との位置関係に基づいて、適切なマーカのサイズを設定する。
【０１４５】
すなわち、キャリブレーション処理部７１は、例えば、図３を参照して説明したように、所定の距離よりも離れているときには、キャリブレーションパターンのマーカのサイズをデフォルトのサイズよりも大きく設定する。
【０１４６】
また、キャリブレーション処理部７１は、例えば、図４を参照して説明したように、表示装置３３の表示部１１３の表示面の正面方向に対して所定の角度をなす位置に存在し、撮像されたキャリブレーションパターンのマーカの水平方向のサイズよりも小さくなる場合、所定の角度をなす方向である水平方向のサイズを大きく設定する。
【０１４７】
同様に、キャリブレーション処理部７１は、表示装置３３の表示部１１３の表示面の正面方向に対して垂直方向に対して所定の角度をなす位置に存在し、撮像されたキャリブレーションパターンのマーカの垂直方向のサイズよりも小さくなる場合、所定の角度をなす方向である垂直方向のサイズを大きく設定するようにしてもよい。
【０１４８】
尚、ここでは、キャリブレーション処理部７１が、マーカのサイズを設定するに当たって、表示装置３３における表示部１１３の解像度やサイズなどを既知とすることが前提となるが、表示部１１３の解像度やサイズなどの情報については、例えば、ユーザが事前にHMD３１に、図示せぬキーボードや操作ボタンなどにより入力するようにしてもよい。また、予め、表示装置３３の型式番号に対応付けて、それぞれの解像度やサイズを記憶しておき、表示装置３３の型式番号などを事前に情報処理装置３２を介して取得して、既知とするようにしてもよい。さらに、表示装置３３の表示部１１３のサイズについては、HMD３１と表示装置３３との位置関係は既知であるので、カメラ３１ａである撮像部５３により撮像された画像内の表示装置３３の大きさや形状に基づいて、キャリブレーション処理部７１が求めるようにしてもよい。
【０１４９】
ステップＳ９４において、キャリブレーション処理部７１は、設定したキャリブレーションパターンのマーカのサイズに対応するキャリブレーションパラメータを算出する。
【０１５０】
すなわち、キャリブレーションパターンのマーカのサイズが、キャリブレーションに適していないとみなされた場合、キャリブレーション処理部７１は、HMD３１と表示装置３３との位置関係に基づいて、適切なマーカのサイズを設定し、設定されたサイズに対応するキャリブレーションパラメータを算出する。
【０１５１】
一方、ステップＳ９２において、撮像されたキャリブレーションパターンのマーカのサイズが、キャリブレーションに適しているとみなされた場合、処理は、ステップＳ９５に進む。
【０１５２】
ステップＳ９５において、キャリブレーション処理部７１は、撮像されたキャリブレーションパターンのマーカのサイズがキャリブレーションに適しているものとみなし、キャリブレーションパターンのマーカのサイズについては現状を維持させる。
【０１５３】
以上の処理により、HMD３１を装着したユーザ２１は、コンテンツを視聴しながら表示装置３３に対して様々な位置に移動しても、表示装置３３は、HMD３１との位置関係に応じて、適切にキャリブレーションパターンのマーカのサイズを動的に変化させながら表示させるので、ユーザ２１がキャリブレーションを意識することなく、適切にカメラパラメータを推定（測定）することが可能となる。
【０１５４】
尚、以上においては、HMD３１のカメラ３１ａ（撮像部５３）により表示装置３３が撮像されることをきっかけとして、キャリブレーションパターンが表示されて、キャリブレーションが開始される例について説明したが、それ以外のタイミングでキャリブレーションが開始されるようにしてもよい。
【０１５５】
例えば、所定の時間が経過するたびに定期的に繰り返しキャリブレーションパターンが表示装置３３に表示されるようにしてキャリブレーションが開始されるようにしてもよい。
【０１５６】
また、カメラ３１ａ（撮像部５３）のセットアップ方向などが何らかの原因でずれてしまうなどして、撮像部５３により撮像された画像に基づくSLAMにより推定される位置および姿勢情報から、本来カメラ３１ａ（撮像部５３）により撮像されるべき画像と、実際に撮像されるカメラ３１ａ（撮像部５３）により撮像される画像との間に齟齬が生じるタイミングなど、キャリブレーションが必要になったタイミングにおいてキャリブレーションが開始されるようにしてもよい。
【０１５７】
さらに、ユーザ２１が視聴するVR画像やAR画像を視聴する際、位置や姿勢の変化に対する画像の変化に違和感を持ったときに、例えば、「おかしい」、または「ずれている」などといった異常を示す言葉をつぶやくなどしたタイミングにおいてキャリブレーションが開始されるようにしてもよい。
【０１５８】
また、図１において、表示装置３３は、家庭環境におけるテレビジョン受像機などのディスプレイを想定した構成となっているが、屋外に設けられた大型ディスプレイであってもよく、例えば、広告用に街中に設けられた大型建築物などに設けられる大型ディスプレイなどにキャリブレーションパターンを表示して、キャリブレーション処理を実行するようにしてもよい。
【０１５９】
さらに、以上においては、１個のHMD３１のカメラ３１ａに対して１個の表示装置３３を用いたキャリブレーションを実行し、カメラパラメータを推定（測定）する例について説明してきたが、HMD３１に複数のカメラ３１ａが設けられるような状態や、複数のHMD３１のカメラ３１ａであっても、１個の表示装置３３により、それぞれのカメラパラメータを推定（測定）するようにしてもよい。
【０１６０】
また、キャリブレーション処理部７１は、カメラ３１ａのフレームレートに基づいて、キャリブレーションパターンを表示する表示装置３３の表示部１１３におけるフレームレートを制御するキャリブレーションパラメータを設定し、カメラ３１ａにとってキャリブレーションパターンを撮像し易いフレームレートでキャリブレーションパターンを表示するように表示装置３３を制御するようにしてもよい。
【０１６１】
さらに、ホワイトバランスを含めたカラー情報からなるカメラパラメータを推定（測定）する場合、キャリブレーションパターンを構成するマーカの配色やホワイトバランスを制御するキャリブレーションパラメータを設定し、キャリブレーションに適したキャリブレーションパターンの配色やホワイトバランスを制御するようにしてもよい。
【０１６２】
＜＜３．第１の変形例＞＞
以上においては、HMD３１と表示装置３３との位置関係に基づいて、キャリブレーションパターンを構成するマーカのサイズを適切なサイズに設定して表示サイズを変化させることで、カメラ３１ａ（撮像部５３）において、適切にキャリブレーションパターンを撮像できるようにし、キャリブレーションによるカメラパラメータを精度よく推定（測定）させる例について説明してきた。
【０１６３】
しかしながら、カメラ３１ａにより撮像されたキャリブレーションパターンの白飛びや、黒潰れの有無を検出し、白飛びや黒潰れが検出された場合には、表示装置３３におけるキャリブレーションパターンを表示する輝度を制御するようにしてもよい。
【０１６４】
すなわち、図１０の左上部の画像Ｐｔ３１で示されるように、キャリブレーションパターンがチェッカフラグ柄であり、通常輝度で表示装置３３の表示部１１３に表示されている場合、カメラ３１ａ（撮像部５３）により、例えば、図１０の右上部の画像Ｐｔ３２で示されるように、白飛びするようにキャリブレーションパターンが撮像される状態を考える。
【０１６５】
画像Ｐｔ３２で示されるように撮像されたキャリブレーションパターンでは、キャリブレーションパターンを構成するマーカにおける、特に、隣接するマーカの境界が白飛びにより適切に認識されない恐れがあり、適切にカメラパラメータを推定（測定）できない恐れがある。
【０１６６】
白飛びは、表示装置３３により表示される輝度が高過ぎることに起因して生じる現象であるので、図１０の左下部の画像Ｐｔ３３で示されるように、表示装置３３の表示部１１３におけるキャリブレーションパターンの輝度を低減させる。これにより、図１０の右下部の画像Ｐｔ３４で示されるように、カメラ３１ａ（撮像部５３）により撮像されるキャリブレーションパターンの白飛びが抑制される。結果として、適切な状態でキャリブレーションパターンが撮像されるので、適切にカメラパラメータを推定（測定）することが可能となる。
【０１６７】
尚、図１０においては、白飛びが生じた場合の例について説明しているが、黒潰れがある場合については輝度を高くして表示させるようにする。すなわち、黒潰れは、表示装置３３の表示部１１３による輝度が低過ぎることに起因する現象であるので、輝度を高めることにより、画像全体を明るくして、黒潰れの発生を抑制する。
【０１６８】
また、表示装置３３の輝度調整のみならず、カメラ３１ａの露出を制御して、白飛びや黒潰れを抑制することで、適切な状態でキャリブレーションパターンを撮像させて、適切にカメラパラメータを推定（測定）するようにしてもよい。
【０１６９】
＜第１の変形例におけるキャリブレーションパターン表示状態確認処理＞
次に、図１１のフローチャートを参照して、第１の変形例におけるキャリブレーションパターン表示状態確認処理について説明する。尚、第１の変形例におけるキャリブレーション処理については、図８のフローチャートを参照して説明した処理と同様であるので、その説明は省略する。
【０１７０】
ステップＳ１１１において、キャリブレーション処理部７１は、カメラ３１ａ（撮像部５３）により撮像されたキャリブレーションパターンの画像における各画素の輝度を検出する。
【０１７１】
ステップＳ１１２において、キャリブレーション処理部７１は、検出した各画素の輝度の情報に基づいて、白飛び、または黒潰れが発生しているか否かを判定する。より詳細には、キャリブレーション処理部７１は、検出した各画素の輝度値の情報に基づいて、例えば、画素値が飽和した画素が所定の割合以上であるか否かにより白飛びの有無を判定する。また、同様に、キャリブレーション処理部７１は、例えば、画素値が最低輝度値となる画素が所定の割合以上であるか否かにより黒潰れの有無を判定する。
【０１７２】
ステップＳ１１２において、白飛び、または、黒潰れが発生しているとみなされた場合、処理は、ステップＳ１１３に進む。
【０１７３】
ステップＳ１１３において、キャリブレーション処理部７１は、白飛び、または黒潰れにより、撮像されたキャリブレーションパターンがキャリブレーションに適正していないものとみなし、白飛び、または、黒潰れが低減するようにキャリブレーションパターンを表示するための輝度を調整する。
【０１７４】
すなわち、キャリブレーション処理部７１は、キャリブレーションパターンの輝度が高く、白飛びが検出される場合、輝度を低減させるように輝度値を設定する。また、キャリブレーション処理部７１は、キャリブレーションパターンの輝度が低く、黒潰れが検出される場合、輝度を増大させるように輝度値を設定する。
【０１７５】
ステップＳ１１４において、キャリブレーション処理部７１は、調整した輝度に対応するキャリブレーションパラメータを設定する。
【０１７６】
一方、ステップＳ１１２において、白飛びおよび黒潰れがないとみなされた場合、処理は、ステップＳ１１５に進む。
【０１７７】
ステップＳ１１５において、キャリブレーション処理部７１は、撮像されているキャリブレーションパターンがキャリブレーションに適しているものとみなし、現状の輝度値を維持する。
【０１７８】
以上の処理により、撮像されたキャリブレーションパターンの輝度の状態に応じて、図８のフローチャートにおけるステップＳ７４の処理において、表示装置３３の表示部１１３に表示される輝度が調整されたキャリブレーションパラメータにより、キャリブレーションに適切な輝度でキャリブレーションパターンが表示される。
【０１７９】
結果として、キャリブレーションによりカメラ３１ａ（撮像部５３）のカメラパラメータを適切に推定（測定）させることが可能となる。尚、図１１を参照して説明した、第１の変形例におけるキャリブレーションパターン表示状態確認処理と、図９を参照して説明したキャリブレーションパターン表示状態確認処理とを組み合わせて実行するようにしてもよい。このような処理により、HMD３１と表示装置３３との位置関係に応じてキャリブレーションパターンのマーカのサイズを調整すると共に、輝度を調整することが可能となり、カメラパラメータをより高精度に推定（測定）することが可能となる。
【０１８０】
＜＜４．第２の変形例＞＞
以上においては、HMD３１が、表示装置３３との位置関係や輝度に応じて、表示装置３３の表示部１１３に表示されるキャリブレーションパターンのサイズや輝度を調整して、適切にカメラ３１ａ（撮像部５３）のカメラパラメータを推定（測定）する例について説明してきた。
【０１８１】
しかしながら、カメラ３１ａ（撮像部５３）のカメラパラメータを推定（測定）することができれば、キャリブレーションパターン以外の画像を表示装置３３に表示させて、カメラ３１ａ（撮像部５３）に撮像させてキャリブレーションに用いるようにしてもよい。例えば、予めキャリブレーションに利用可能なコンテンツ画像を設定し、表示装置３３に所定のタイミングで表示させ、表示されたタイミングでキャリブレーションに利用するようにしてもよい。
【０１８２】
すなわち、図１２の右部で示されるように、コンテンツ画像Ｐ（ｔ１）乃至Ｐ（ｔ３）が、時系列に時刻ｔ１乃至ｔ３のタイミングで順次表示されるような動画像からなるコンテンツが表示装置３３の表示部１１３に表示されるものとする。この場合、予め時刻ｔ３のタイミングで表示されるコンテンツ画像Ｐ（ｔ３）をキャリブレーションに使用するキャリブレーションコンテンツに設定し、コンテンツ内の所定のオブジェクトの位置をキャリブレーションに使用する。
【０１８３】
この場合、キャリブレーション処理部７１は、図１２の左部で示されるようなコンテンツ画像Ｐ（ｔ３）に対応するキャリブレーションコンテンツＰｔ５１を予め記憶しておく。
【０１８４】
そして、キャリブレーション処理部７１は、時刻ｔ３において、カメラ３１ａ（撮像部５３）により撮像された画像内のコンテンツ画像Ｐ（ｔ３）内におけるオブジェクトの所定の位置ＯＢ１乃至ＯＢ３と、対応して予め記憶しているキャリブレーションコンテンツＰｔ５１内のオブジェクトの所定の位置ＯＢ１１乃至ＯＢ１３との比較によりキャリブレーションを実行し、カメラパラメータを推定（測定）する。
【０１８５】
＜第２の変形例のキャリブレーション処理＞
次に、図１３のフローチャートを参照して、第２の変形例のキャリブレーション処理について説明する。尚、この処理においては、HMD３１の記憶部５５には、キャリブレーションコンテンツと、キャリブレーションコンテンツが再生されるタイミングの情報が予め記憶されており、キャリブレーション処理部７１が、適宜読み出して使用することを前提とする。
【０１８６】
ステップＳ１８１において、情報処理装置３２の制御部９１は、記憶部９３またはリムーバブル記憶媒体９５に記憶されているコンテンツのデータを読み出し、通信部９２を制御して、HMD３１に供給する。
【０１８７】
ステップＳ１５１において、HMD３１における制御部５１のコンテンツ表示処理部７２は、通信部５２を制御して、情報処理装置３２より供給されるコンテンツのデータを取得すると共に、コンテンツのデータに基づいて、VR画像、またはAR画像からなるコンテンツを表示部５４に表示する。
【０１８８】
この処理により、HMD３１を装着したユーザ２１は、表示部５４に表示されるVR画像、またはAR画像からなるコンテンツを視聴する。
【０１８９】
ステップＳ１５２において、撮像部５３（カメラ３１ａ）は、HMD３１を装着したユーザ２１の前方の風景を撮像し、撮像した画像を制御部５１に出力する。
【０１９０】
ステップＳ１５３において、制御部５１のキャリブレーション処理部７１は、撮像部５３により撮像された画像を解析し、表示装置３３が撮像されているか否かを判定する。キャリブレーション処理部７１は、例えば、撮像された画像内における物体検出により表示装置３３の形状が含まれているか否かに基づいて、表示装置３３が撮像されているか否かを判定する。
【０１９１】
ステップＳ１５３において、例えば、表示装置３３が撮像されているとみなされた場合、処理は、ステップＳ１５４に進む。
【０１９２】
ステップＳ１５４において、キャリブレーション処理部７１は、通信部５２を制御して、情報処理装置３２を介して、表示装置３３に対してキャリブレーションの開始を指示する。
【０１９３】
ステップＳ１８２において、情報処理装置３２の制御部９１は、通信部９２を制御して、HMD３１よりキャリブレーションの開始が指示されたか否かを判定する。ステップＳ１８２において、例えば、ステップＳ１５４の処理によりキャリブレーションの開始が指示された場合、処理は、ステップＳ１８３に進む。
【０１９４】
ステップＳ１８３において、制御部９１は、通信部９２を制御して、表示装置３３に対してキャリブレーションの開始を指示する。このとき、制御部９１は、必要に応じてキャリブレーションコンテンツや、キャリブレーションコンテンツの表示タイミングの情報を供給する。尚、キャリブレーションコンテンツが、表示装置３３において予め記憶されている場合は、キャリブレーションコンテンツの表示タイミングの情報のみが供給される。
【０１９５】
ステップＳ２０１において、表示装置３３における制御部１１１の表示制御部１３１は、通信部１１２を制御して、情報処理装置３２を介して、HMD３１からのキャリブレーションの開始の指示が供給されてきたか否かを判定する。ステップＳ２０１において、キャリブレーションの開始が指示された場合、処理は、ステップＳ２０２に進む。
【０１９６】
ステップＳ２０２において、表示制御部１３１は、記憶部１１４またはリムーバブル記憶媒体１１６に記憶されているキャリブレーションコンテンツの画像データを読み出して表示部１１３に表示させる。または、表示制御部１３１は、情報処理装置３２を介してHMD３１より供給されたキャリブレーションコンテンツを表示部１１３に表示させる。この際、表示制御部１３１は、キャリブレーションコンテンツを、供給された表示タイミングより、時系列の動画の一部として表示させる。
【０１９７】
一方、ステップＳ１５５において、キャリブレーション処理部７１は、記憶部５５、またはリムーバブル記憶媒体５７に記憶されている、キャリブレーションコンテンツの一部であるキャリブレーション用の画像を読み出すと共に、その画像が表示されるタイミングを読み出す。
【０１９８】
ステップＳ１５６において、キャリブレーション処理部７１は、カメラ３１ａ（撮像部５３）を制御して、キャリブレーション用の画像が撮像されるタイミングにおいて、表示装置３３に表示されるキャリブレーションコンテンツの画像を撮像する。
【０１９９】
ステップＳ１５７において、キャリブレーション処理部７１は、キャリブレーションコンテンツ表示状態確認処理を実行し、撮像部５３により撮像されたキャリブレーションコンテンツの画像と、読み出したキャリブレーション用の画像との比較により、撮像部５３により撮像されたキャリブレーションコンテンツの画像の表示状態を確認する。
【０２００】
ここで、キャリブレーション用の画像が、キャリブレーションに適していない場合、キャリブレーション処理部７１は、図３，図４を参照して説明したように、キャリブレーションに適したキャリブレーションコンテンツ用の画像を表示装置３３において表示するためのサイズや輝度などを設定し、対応するキャリブレーションパラメータを算出する。
【０２０１】
尚、キャリブレーションコンテンツ表示状態確認処理については、図９のフローチャートを参照して説明したキャリブレーションパターン表示状態確認処理と基本的に同様であるのでその説明は省略する。
【０２０２】
ステップＳ１５８において、キャリブレーション処理部７１は、キャリブレーションコンテンツ表示状態確認処理により、撮像されたキャリブレーション用の画像がキャリブレーションに適した状態であると判定されたか否かを判定する。ステップＳ１５８において、撮像されたキャリブレーション用の画像がキャリブレーションに適していない場合、処理は、ステップＳ１５９に進む。
【０２０３】
ステップＳ１５９において、キャリブレーション処理部７１は、通信部５２を制御して、情報処理装置３２を介して表示装置３３に対してキャリブレーションコンテンツに対するキャリブレーションパラメータと、キャリブレーション用の画像の表示タイミングの情報を送信し、処理は、ステップＳ１５５に戻る。
【０２０４】
ステップＳ１８４において、情報処理装置３２の制御部９１は、通信部９２を制御して、HMD３１から、表示装置３３に対するキャリブレーションコンテンツにおけるキャリブレーションパラメータと表示タイミングの情報が供給されたか否かを判定する。そして、ステップＳ１８４において、表示装置３３に対するキャリブレーションパラメータと表示タイミングの情報が供給された場合、処理は、ステップＳ１８５に進む。
【０２０５】
ステップＳ１８５において、制御部９１は、通信部９２を制御して、表示装置３３に対して、キャリブレーションパラメータと、キャリブレーション用の画像の表示タイミングの情報を送信する。
【０２０６】
ステップＳ２０３において、表示装置３３における制御部１１１の表示制御部１３１は、通信部１１２を制御して、HMD３１から情報処理装置３２を介して送信される、キャリブレーションパラメータと表示タイミングの情報が供給されたか否かを判定する。そして、ステップＳ２０３において、キャリブレーションパラメータと表示タイミングの情報が供給された場合、処理は、ステップＳ２０４に進む。
【０２０７】
ステップＳ２０４において、表示制御部１３１は、通信部９２を制御して、キャリブレーションパラメータを取得し、デフォルトで記憶されているキャリブレーションコンテンツのうちのキャリブレーション用の画像に対してキャリブレーションパラメータに応じた処理を施して更新すると共に、HMD３１より供給された所定の表示タイミングにおいて、情報表示部１１３に表示する。
【０２０８】
このように、撮像部５３により撮像されたキャリブレーションコンテンツにおけるキャリブレーション用の画像のサイズや輝度を適切に更新されることにより、キャリブレーションに適した状態で表示される。
【０２０９】
ステップＳ１８４，Ｓ２０３において、キャリブレーションパラメータと表示タイミングの情報が送信されない場合、ステップＳ１８５，Ｓ２０４の処理がスキップされる。
【０２１０】
また、ステップＳ１８６において、制御部９１は、キャリブレーションの完了がHMD３１より通知されたか否かを判定し、通知されない場合、処理は、ステップＳ１８４に戻る。すなわち、キャリブレーションの完了が通知されるまで、ステップＳ１８４乃至Ｓ１８６の処理が繰り返される。
【０２１１】
さらに、ステップＳ２０５において、表示制御部１３１は、キャリブレーションの完了が情報処理装置３２を介してHMD３１より通知されたか否かを判定し、通知されない場合、処理は、ステップＳ２０３に戻る。すなわち、キャリブレーションの完了が通知されるまで、ステップＳ２０３乃至Ｓ２０５の処理が繰り返される。
【０２１２】
また、HMD３１においては、ステップＳ１５８において、撮像されたキャリブレーションコンテンツのうちのキャリブレーション用の画像がキャリブレーションに適しているとみなされない限り、ステップＳ１５５乃至Ｓ１５９の処理が繰り返される。これにより、情報処理装置３２においては、ステップＳ１８４乃至Ｓ１８６の処理が繰り返され、表示装置３３においては、ステップＳ２０３乃至Ｓ２０５の処理が繰り返され、キャリブレーションパラメータによるキャリブレーション用の画像のサイズや輝度などの調整が繰り返され続ける。
【０２１３】
そして、ステップＳ１５８において、撮像されたキャリブレーションコンテンツのうちのキャリブレーション用の画像がキャリブレーションに適しているとみなされた場合、処理は、ステップＳ１６０に進む。
【０２１４】
ステップＳ１６０において、キャリブレーション処理部７１は、撮像されたキャリブレーション用の画像に基づいて、撮像部５３であるカメラ３１ａのカメラパラメータを推定（測定）し、求められたカメラパラメータを撮像部５３により撮像された画像に反映する。
【０２１５】
ステップＳ１６１において、キャリブレーション処理部７１は、通信部５２を制御して、情報処理装置３２を介して、表示装置３３に対してキャリブレーションの完了を通知する。
【０２１６】
また、ステップＳ１８６において、キャリブレーションが完了したことが通知されたとみなされて、処理は、ステップＳ１８７に進む。
【０２１７】
ステップＳ１８７において、制御部９１は、通信部９２を制御して、表示装置３３に対してキャリブレーションの完了を通知する。
【０２１８】
さらに、ステップＳ２０５において、キャリブレーションが完了したことが通知されたとみなされて、処理は、ステップＳ２０６に進む。
【０２１９】
ステップＳ２０６において、表示制御部１３１は、通信部１１２を制御して、キャリブレーションの完了の通知を取得し、表示部１１３におけるキャリブレーションコンテンツの表示を終了する。
【０２２０】
ステップＳ１６２において、キャリブレーション処理部７１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ１５１に戻り、それ以降の処理が繰り返される。尚、ステップＳ１５３において、表示装置３３が撮像されていないとみなされた場合、処理は、ステップＳ１６２に進む。
【０２２１】
また、ステップＳ１８８において、制御部９１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ１８１に戻り、それ以降の処理が繰り返される。尚、ステップＳ１８２において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップＳ１８８に進む。
【０２２２】
さらに、ステップＳ２０７において、表示制御部１３１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ２０１に戻り、それ以降の処理が繰り返される。尚、ステップＳ２０１において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップＳ２０７に進む。
【０２２３】
そして、ステップＳ１６２，Ｓ１８８，Ｓ２０７のそれぞれにおいて、終了が指示されると、キャリブレーション処理が終了する。
【０２２４】
以上の処理により、VR画像やAR画像からなるコンテンツがHMD３１の表示部５４に表示された状態であるので、ユーザ２１は、コンテンツを視聴している状態であるが、この状態とは独立してカメラ３１ａ（撮像部５３）のカメラパラメータのキャリブレーション処理が実現される。
【０２２５】
また、キャリブレーション用に使用される画像は、動画像からなるキャリブレーションコンテンツとして表示装置３３に表示される画像のうちの所定のタイミングにおいて表示される画像のみであるので、表示装置３３に表示されているキャリブレーションコンテンツを、HMD３１を装着していないユーザが違和感なく視聴することが可能となる。
【０２２６】
結果として、HMD３１を装着したユーザ２１のみならず、それ以外のユーザをも意識することなく、カメラ３１ａ（撮像部５３）のカメラパラメータを推定（測定）することが可能となる。また、この際、表示装置３３に表示され、撮像部５３により撮像されるキャリブレーション用の画像の表示サイズや輝度が、キャリブレーションに適したサイズや輝度に調整された状態で表示されることになるので、適切なカメラパラメータの推定（測定）を実現することが可能となる。
【０２２７】
また、このように表示装置３３には、一見するとキャリブレーション用の画像とは認識できないキャリブレーションコンテンツが表示され続けているので、HMD３１を装着していないユーザは、表示装置３３に表示された一般的なコンテンツとして視聴することができる。したがって、表示装置３３を、例えば、街中に設けられた広告用の大型ディスプレイで構成し、HMD３１を装着していない一般のユーザには、一見すると広告用に表示されたキャリブレーションコンテンツを視聴させつつ、付近に存在するユーザに装着されたHMD３１のカメラ３１ａのキャリブレーションを実行させて、カメラパラメータを推定（測定）させるようにしてもよい。
【０２２８】
この場合、HMD３１を装着しているユーザに対しても、装着していないユーザに対しても、キャリブレーションを意識させることなく、適切にキャリブレーションを実行して、カメラ３１ａのカメラパラメータを推定（測定）させることが可能となる。
【０２２９】
＜＜５．第３の変形例＞＞
以上においては、HMD３１のカメラ３１ａ（撮像部５３）により撮像されたキャリブレーションパターンやキャリブレーションコンテンツとして表示されるマーカ等のサイズや輝度を変化させることによりキャリブレーションに適した画像に調整して、１枚の画像からカメラパラメータを推定（測定）する例について説明してきた。
【０２３０】
しかしながら、HMD３１ａによりユーザ２１により視聴されるコンテンツにユーザ２１の位置や姿勢を変化させるように誘導する画像を表示して、キャリブレーションに適した複数の画像を撮像させて、複数の画像からカメラパラメータを推定（測定）するようにしてもよい。
【０２３１】
すなわち、例えば、図１４の上部で示されるように、ユーザ２１に装着されたカメラ３１ａ（撮像部５３）による観測位置が、表示装置３３の表示部１１３の表示面に対して正対する位置から、表示装置３３に対して、時刻ｔ１１乃至ｔ１３で示されるように、時系列に、図中の左から右の位置Ｐ（ｔ１１）乃至Ｐ（ｔ１３）に変化している状態について考える。
【０２３２】
図１４の上部の場合、カメラ３１ａにより観測位置が、ユーザ２１が表示装置３３に正対するときの左側の範囲に偏っており、表示装置３３に正対するときの右側の範囲Ｚ１に観測位置が存在しないため、カメラパラメータを推定（測定）するにあたって、偏りが生じて、推定されるカメラパラメータの精度が低下する恐れがある。
【０２３３】
そこで、HMD３１における表示部５４において表示されるVR画像またはAR画像内において、例えば、図１４の上部で示されるように、表示装置３３の直前の位置に方形状の開口部を備えた筒状のオブジェクトＶ１を３次元構造物として表示し、そのオブジェクトＶ１の開口部から内部に設けられたオブジェクトＶ２を覗き込むことでポイントが加算されるようなゲーム課題をユーザ２１に課すようにする。
【０２３４】
尚、図１４の上部においては、方形状の開口部を備えた筒状のオブジェクトＶ１の開口部が表示装置３３の表示部１１３の表示面の正面方向に設けられており、開口部からオブジェクトＶ１の内部を覗き込むことにより、その内部に設けられたオブジェクトＶ２を視聴することができる。
【０２３５】
HMD３１のキャリブレーション処理部７１は、図１４の下部で示されるように、筒状のオブジェクトＶ１の開口部が、図中の右方向から覗き込める方向となるようなオブジェクトＶ１’とするVR画像、またはAR画像を表示部５４に表示する。
【０２３６】
ユーザ２１は、図１４の下部で示されるように、ユーザ２１’で示される位置に移動して、表示部５４に表示されたオブジェクトＶ１’の開口部よりオブジェクトＶ２を視聴する。これにより、図１４の上部で示される範囲Ｚ１となる、表示装置３３の右側の範囲から、HMD３１のカメラ３１ａの観測位置Ｐ（ｔ３１）より、表示装置３３の表示部１１３に表示されたキャリブレーションパターンが撮像される。
【０２３７】
このため、表示装置３３の表示部１１３に表示されるキャリブレーションパターンが、表示装置３３の表示部１１３の正面方向に対して、複数の方向から満遍なく撮像された複数の画像に基づいて、カメラパラメータを推定（測定）することが可能となる。すなわち、キャリブレーションパターンの歪み方や、見え方が対応付けられるような最適解を求めることで、撮像された複数のキャリブレーションパターンによって画像間の対応を推定し、撮像部５３の位置および姿勢と、カメラパラメータとを同時に推定することが可能となる。この際、複数の方向から撮像された画像が用いられることで、推定精度を向上させることができる。
【０２３８】
結果として、複数の方向から満遍なくキャリブレーションパターンを撮像することで、より適切にキャリブレーションを実施することが可能となり、より高精度にカメラパラメータを推定（測定）することが可能となる。
【０２３９】
＜第３の変形例におけるキャリブレーションパターン表示状態確認処理＞
次に、図１５のフローチャートを参照して、第３の変形例におけるキャリブレーションパターン表示状態確認処理について説明する。
【０２４０】
ステップＳ２３１において、キャリブレーション処理部７１は、撮像部５３により撮像される、表示装置３３に表示されたキャリブレーションパターンの画像に基づいたSLAM（Simultaneous Localization and Mapping）により位置および姿勢を検出（推定）すると共に、カメラ３１ａ（撮像部５３）により撮像されたキャリブレーションパターンと対応付けて記憶部５５に記憶する。
【０２４１】
ステップＳ２３２において、キャリブレーション処理部７１は、記憶部５５に位置および姿勢と対応付けて記憶された、撮像されたキャリブレーションパターンの情報に基づいて、不足する観測位置が存在するか否かを判定する。
【０２４２】
ステップＳ２３２において、不足する観測位置が存在するとみなした場合、処理は、ステップＳ２３３に進む。
【０２４３】
ステップＳ２３３において、キャリブレーション処理部７１は、不足する観測位置が存在し、キャリブレーションに適していないとみなし、図１４を参照して説明したように、不足する観測位置へとユーザ２１の位置や姿勢を誘導するVR画像またはAR画像からなるコンテンツの画像を生成する。
【０２４４】
ステップＳ２３４において、キャリブレーション処理部７１は、表示部５４を制御して、不足する観測位置へとユーザ２１の位置や姿勢を誘導するVR画像またはAR画像からなるコンテンツの画像を表示する。
【０２４５】
一方、ステップＳ２３４において、不足する観測位置が存在しないとみなした場合、処理は、ステップＳ２３５に進む。
【０２４６】
ステップＳ２３５において、キャリブレーション処理部７１は、不足する観測位置が存在せず、キャリブレーションに必要な複数のキャリブレーションパターンの画像が、複数の方向から満遍なく撮像されており、キャリブレーションに適した状態であるものとみなす。
【０２４７】
以上の処理により、表示装置３３の表示部１１３により表示されるキャリブレーションパターンが複数の方向から撮像された画像に基づいて、キャリブレーションを実行することが可能となり、カメラパラメータをより高精度に推定（測定）することが可能となる。
【０２４８】
すなわち、この場合、図８のキャリブレーション処理におけるステップＳ１９において、キャリブレーション処理部７１は、複数の観測位置からカメラ３１ａ（撮像部５３）により撮像されたキャリブレーションパターンを用いて、カメラパラメータをより高精度に推定（測定）することが可能となる。
【０２４９】
尚、以上においては、HMD３１のカメラ３１ａの観測位置として不足している観測位置に誘導するVR画像やAR画像を表示する例について説明してきたが、複数のHMD３１のカメラ３１ａを１台の表示装置３３で調整する際には、複数のHMD３１のカメラ３１ａのそれぞれが、表示装置３３に対して視野を塞がないように、HMD３１を装着したユーザを誘導するようなコンテンツを表示するようにしてもよい。このようにすることで、ユーザが意識することなく、複数のHMD３１のカメラ３１ａそれぞれの視界が塞がれることなく表示装置３３のキャリブレーションパターンを撮像することが可能となり、複数のHMD３１のカメラ３１ａのキャリブレーションを実行することが可能となる。結果として、複数のカメラ３１ａのカメラパラメータを適切に推定（測定）することが可能となる。
【０２５０】
＜＜６．第２の実施の形態＞＞
以上においては、HMD３１における制御部５１のキャリブレーション処理部７１によりキャリブレーションがなされて、カメラ３１ａ（撮像部５３）のカメラパラメータを推定（測定）する例について説明してきたが、HMD３１以外の構成により実行されるようにしてもよく、例えば、情報処理装置３２により実行されるようにしてもよい。
【０２５１】
図１６は、情報処理装置３２によりキャリブレーション処理がなされる場合の情報処理装置３２の構成例を示している。尚、図１６の情報処理装置３２において、図６の情報処理装置３２の構成と同一の機能を備えた構成については、同一の符号を付しており、その説明は適宜省略する。
【０２５２】
すなわち、図１６の情報処理装置３２において、図６の情報処理装置３２と異なる点は、制御部９１において、キャリブレーション処理部２０１が設けられている点である。キャリブレーション処理部２０１は、基本的にHMD３１のキャリブレーション処理部７１と同一の機能を備えており、HMD３１により検出されたHMD３１の位置および姿勢の情報に基づいて、カメラパラメータを推定（測定）し、結果をHMD３１に供給する。
【０２５３】
尚、HMD３１および表示装置３３の基本的な構成は、それぞれ図４，図６を参照して説明した構成と同一であるので、その説明は省略するが、第２の実施の形態においては、キャリブレーション処理は、主に情報処理装置３２により実施されるので、HMD３１における制御部５１のキャリブレーション処理部７１は、削除するようにしてもよい。
【０２５４】
＜第２の実施の形態のキャリブレーション処理＞
次に、図１７のフローチャートを参照して、第２の実施の形態のキャリブレーション処理について説明する。
【０２５５】
ステップＳ３４１において、情報処理装置３２の制御部９１は、記憶部９３またはリムーバブル記憶媒体９５に記憶されているコンテンツのデータを読み出し、通信部９２を制御して、HMD３１に供給する。
【０２５６】
ステップＳ３１１において、HMD３１における制御部５１のコンテンツ表示処理部７２は、通信部５２を制御して、情報処理装置３２より供給されるコンテンツのデータを取得すると共に、コンテンツのデータに基づいて、VR画像、またはAR画像からなるコンテンツを表示部５４に表示する。
【０２５７】
ステップＳ３１２において、撮像部５３（カメラ３１ａ）は、HMD３１を装着したユーザ２１の前方の風景を撮像し、撮像した画像を制御部５１に出力する。
【０２５８】
ステップＳ３１３において、制御部５１は、撮像部５３により撮像される、表示装置３３に表示されたキャリブレーションパターンの画像に基づいたSLAM（Simultaneous Localization and Mapping）により位置および姿勢の情報を検出（推定）する。
【０２５９】
ステップＳ３１４において、制御部５１は、通信部５２を制御して、カメラ３１ａ（撮像部５３）により撮像された画像、HMD３１の位置、および姿勢の情報を情報処理装置３２に送信させる。
【０２６０】
ステップＳ３４２において、制御部９１のキャリブレーション処理部２０１は、通信部９２を制御して、HMD３１より送信されてくる画像、位置、および姿勢の情報を取得する。また、キャリブレーション処理部２０１は、取得した画像を解析し、表示装置３３が撮像されているか否かを判定する。
【０２６１】
ステップＳ３４２において、例えば、表示装置３３が撮像されているとみなされた場合、処理は、ステップＳ３４３に進む。
【０２６２】
ステップＳ３４３において、キャリブレーション処理部２０１は、通信部９２を制御して、表示装置３３に対してキャリブレーションの開始を指示する。
【０２６３】
ステップＳ３７１において、表示装置３３における制御部１１１の表示制御部１３１は、通信部１１２を制御して、情報処理装置３２からのキャリブレーションの開始の指示が供給されてきたか否かを判定する。ステップＳ３７１において、キャリブレーションの開始が指示された場合、処理は、ステップＳ３７２に進む。
【０２６４】
ステップＳ３７２において、表示制御部１３１は、記憶部１１４またはリムーバブル記憶媒体１１６に記憶されているキャリブレーションパターンの画像データを読み出して表示部１１３において表示させる。この際、表示制御部１３１は、読み出したキャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズの状態で表示させる。
【０２６５】
すなわち、HMD３１のカメラ３１ａに対応する撮像部５３において、表示装置３３が撮像されると、キャリブレーションパターンが表示装置３３に表示される。
【０２６６】
一方、ステップＳ３４４において、情報処理装置３２のキャリブレーション処理部２０１は、HMD３１の撮像部５３により撮像される画像に基づいて、表示装置３３により表示されたキャリブレーションパターンが撮像されたか否かを判定し、撮像されるまで、同一の処理を繰り返す。
【０２６７】
ステップＳ３４４において、上述した一連の処理により表示装置３３の表示部１１３にキャリブレーションパターンが表示されることにより、キャリブレーションパターンが撮像されたとみなされた場合、処理は、ステップＳ３４５に進む。
【０２６８】
ステップＳ３４５において、キャリブレーション処理部２０１は、キャリブレーションパターン表示状態確認処理を実行し、撮像部５３により撮像されたキャリブレーションパターンの表示状態を確認する。ここで、キャリブレーションパターンが、キャリブレーションに適していない場合、キャリブレーション処理部２０１は、図３，図４を参照して説明したように、キャリブレーションに適したキャリブレーションパターンを表示装置３３において表示するためにサイズや輝度などを設定し、対応するパラメータを算出する。
【０２６９】
尚、キャリブレーションパターン表示状態確認処理については、図９のフローチャートを参照して、説明した処理と基本的には同一であるので、その説明は省略する。ただし、ステップＳ９１におけるHMD３１の位置と姿勢の情報を取得する処理は、ステップＳ３１３の処理に代わる処理であるので、省略される。
【０２７０】
ステップＳ３４６において、キャリブレーション処理部２０１は、キャリブレーションパターン表示状態確認処理により、撮像されたキャリブレーションパターンがキャリブレーションに適した状態であると判定されたか否かを判定する。
【０２７１】
ステップＳ３４６において、撮像されたキャリブレーションパターンがキャリブレーションに適していないと判定された場合、処理は、ステップＳ３４７に進む。
【０２７２】
ステップＳ３４７において、キャリブレーション処理部２０１は、通信部９２を制御して、表示装置３３に対してキャリブレーションパラメータを送信し、処理は、ステップＳ３４４に戻る。
【０２７３】
ステップＳ３７３において、表示装置３３における制御部１１１の表示制御部１３１は、通信部１１２を制御して、HMD３１から情報処理装置３２を介して送信される、キャリブレーションパラメータが供給されたか否かを判定する。そして、ステップＳ３７３において、キャリブレーションパラメータが供給された場合、処理は、ステップＳ３７４に進む。
【０２７４】
ステップＳ３７４において、表示制御部１３１は、通信部９２を制御して、キャリブレーションパラメータを取得し、デフォルトで記憶されているキャリブレーションパターンに対してキャリブレーションパラメータに応じた処理を施して、表示部１１３に表示する。
【０２７５】
ステップＳ３７３において、キャリブレーションパラメータが送信されない場合、ステップＳ３７４の処理がスキップされる。
【０２７６】
また、ステップＳ３４４において、キャリブレーションパターンが撮像されていない場合、キャリブレーションパターンが撮像されるまで、同様の処理が繰り返される。
【０２７７】
さらに、ステップＳ３４６において、キャリブレーションに適した状態であるとみなされるまで、ステップＳ３４４乃至Ｓ３４７の処理が繰り返される。これにより、情報処理装置３２においては、ステップＳ３４４乃至Ｓ３４７の処理が繰り返され、表示装置３３においては、ステップＳ３７３乃至Ｓ３７５の処理が繰り返され、キャリブレーションパラメータが繰り返し設定されて、キャリブレーションパターンの表示が変化し続ける。
【０２７８】
そして、ステップＳ３４６において、撮像されたキャリブレーションパターンがキャリブレーションに適しているとみなされた場合、処理は、ステップＳ３４８に進む。
【０２７９】
ステップＳ３４８において、キャリブレーション処理部２０１は、撮像されたキャリブレーションパターンに基づいて、キャリブレーションを実行して、撮像部５３であるカメラ３１ａのカメラパラメータを推定（測定）する。
【０２８０】
ステップＳ３４９において、キャリブレーション処理部２０１は、通信部９２を制御して、HMD３１に、キャリブレーションの結果である、求められたカメラパラメータを通知する。
【０２８１】
ステップＳ３１５において、制御部５１は、通信部５２を制御して、情報処理装置３２よりキャリブレーションの結果であるカメラパラメータが通知されたか否かを判定する。
【０２８２】
ステップＳ３１５において、情報処理装置３２よりキャリブレーションの結果であるカメラパラメータが通知された場合、処理は、ステップＳ３１６に進む。
【０２８３】
ステップＳ３１６において、制御部５１は、通知されたカメラパラメータを撮像部５３により撮像された画像に反映する。
【０２８４】
ここで、ステップＳ３５０において、キャリブレーション処理部２０１は、通信部９２を制御して、表示装置３３に対してキャリブレーションの完了を通知する。
【０２８５】
このとき、ステップＳ３７５において、表示制御部１３１は、キャリブレーションの完了が情報処理装置３２より通知されたか否かを判定し、通知されない場合、処理は、ステップＳ３７３に戻る。すなわち、キャリブレーションの完了が通知されるまで、ステップＳ３７３乃至Ｓ３７５の処理が繰り返される。
【０２８６】
そして、ステップＳ３７５において、キャリブレーションが完了したことが通知されたとみなされると、処理は、ステップＳ３７６に進む。
【０２８７】
ステップＳ３７６において、表示制御部１３１は、通信部１１２を制御して、キャリブレーションの完了の通知を取得し、表示部１１３におけるキャリブレーションパターンの表示を終了する。
【０２８８】
ステップＳ３１７において、キャリブレーション処理部２０１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ３１１に戻り、それ以降の処理が繰り返される。尚、ステップＳ３１５において、カメラパラメータが通知されない場合、ステップＳ３１６の処理がスキップされる。
【０２８９】
また、ステップＳ３５１において、制御部９１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ３４１に戻り、それ以降の処理が繰り返される。尚、ステップＳ３４２において、表示装置３３が撮像されていないとみなされた場合、処理は、ステップＳ３５１に進む。
【０２９０】
さらに、ステップＳ３７７において、表示制御部１３１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ３７１に戻り、それ以降の処理が繰り返される。尚、ステップＳ３７１において、キャリブレーションの開始が指示されていないとみなされた場合、処理は、ステップＳ３７７に進む。
【０２９１】
そして、ステップＳ３１７，Ｓ３５１，Ｓ３７７のそれぞれにおいて、終了が指示されると、キャリブレーション処理が終了する。
【０２９２】
以上の処理により、VR画像やAR画像からなるコンテンツがHMD３１の表示部５４に表示された状態であるので、ユーザ２１は、コンテンツを視聴している状態であるが、この状態とは独立してカメラ３１ａ（撮像部５３）のカメラパラメータのキャリブレーション処理が実現される。
【０２９３】
結果として、ユーザ２１が意識することなく、カメラ３１ａ（撮像部５３）のカメラパラメータを推定（測定）することが可能となる。また、この際、表示装置３３に表示され、撮像部５３により撮像されるキャリブレーションパターンの表示サイズが、キャリブレーションに適したサイズに調整された状態で表示されることになるので、適切なカメラパラメータの推定（測定）を実現することが可能となる。
【０２９４】
＜＜７．第３の実施の形態＞＞
以上においては、情報処理装置３２のキャリブレーション処理部２０１によりキャリブレーションがなされて、カメラ３１ａ（撮像部５３）のカメラパラメータが推定（測定）される例について説明してきたが、キャリブレーションは表示装置３３により実行されるようにしてもよい。
【０２９５】
図１８は、表示装置３３によりキャリブレーションがなされる場合の表示装置３３の構成例を示している。尚、図１８の表示装置３３において、図７の表示装置３３の構成と同一の機能を備えた構成については、同一の符号を付しており、その説明は適宜省略する。
【０２９６】
すなわち、図１８の表示装置３３において、図７の表示装置３３と異なる点は、制御部１１１において、キャリブレーション処理部２２１が設けられている点である。キャリブレーション処理部２２１は、基本的には、HMD３１のキャリブレーション処理部７１と同一の機能を備えており、HMD３１により検出されたHMD３１の位置および姿勢の情報に基づいて、キャリブレーションを実行して、カメラパラメータを推定（測定）し、結果をHMD３１に供給する。
【０２９７】
尚、HMD３１および情報処理装置３２の基本的な構成は、それぞれ図４，図５を参照して説明した構成と同一であるので、その説明は省略するが、第３の実施の形態においては、キャリブレーション処理は、主に表示装置３３により実施されるので、HMD３１における制御部５１のキャリブレーション処理部７１は、削除するようにしてもよい。
【０２９８】
＜第３の実施の形態のキャリブレーション処理＞
次に、図１９のフローチャートを参照して、第３の実施の形態のキャリブレーション処理について説明する。
【０２９９】
ステップＳ４４１において、情報処理装置３２の制御部９１は、記憶部９３またはリムーバブル記憶媒体９５に記憶されているコンテンツのデータを読み出し、通信部９２を制御して、HMD３１に供給する。
【０３００】
ステップＳ４１１において、HMD３１における制御部５１のコンテンツ表示処理部７２は、通信部５２を制御して、情報処理装置３２より供給されるコンテンツのデータを取得すると共に、コンテンツのデータに基づいて、VR画像、またはAR画像からなるコンテンツを表示部５４に表示する。
【０３０１】
ステップＳ４１２において、撮像部５３（カメラ３１ａ）は、HMD３１を装着したユーザ２１の前方の風景を撮像し、撮像した画像を制御部５１に出力する。
【０３０２】
ステップＳ４１３において、制御部５１は、撮像部５３により撮像される、表示装置３３に表示されたキャリブレーションパターンの画像に基づいたSLAM（Simultaneous Localization and Mapping）により位置および姿勢の情報を検出（推定）する。
【０３０３】
ステップＳ４１４において、制御部５１は、通信部５２を制御して、カメラ３１ａ（撮像部５３）により撮像された画像、HMD３１の位置、および姿勢の情報を情報処理装置３２に送信させる。
【０３０４】
ステップＳ４４２において、制御部９１は、通信部９２を制御して、HMD３１より送信される画像、位置、および姿勢の情報を取得し、表示装置３３に送信する。
【０３０５】
ステップＳ４７１において、制御部１１１のキャリブレーション処理部２２１は、通信部１１２を制御して、カメラ３１ａ（撮像部５３）により撮像された画像、HMD３１の位置、および姿勢の情報を取得する。そして、キャリブレーション処理部２２１は、取得した画像を解析し、表示装置３３が撮像されているか否かを判定する。
【０３０６】
ステップＳ４７１において、例えば、表示装置３３が撮像されているとみなされた場合、処理は、ステップＳ４７２に進む。
【０３０７】
ステップＳ４７２において、キャリブレーション処理部２２１は、表示制御部１３１を制御して、記憶部１１４またはリムーバブル記憶媒体１１６に記憶されているキャリブレーションパターンの画像データを読み出して表示部１１３において表示させる。この際、表示制御部１３１は、読み出したキャリブレーションパターンにおけるマーカのサイズをデフォルトのサイズの状態で表示させる。
【０３０８】
すなわち、HMD３１のカメラ３１ａに対応する撮像部５３において、表示装置３３が撮像されると、キャリブレーションが開始されて、キャリブレーションパターンが表示装置３３に表示される。
【０３０９】
ステップＳ４７３において、表示装置３３のキャリブレーション処理部２２１は、HMD３１の撮像部５３により撮像される画像に基づいて、表示装置３３により表示されたキャリブレーションパターンが撮像されたか否かを判定し、撮像されるまで、同一の処理を繰り返す。
【０３１０】
ステップＳ４７３において、上述した一連の処理により表示装置３３の表示部１１３にキャリブレーションパターンが表示されることにより、キャリブレーションパターンが撮像されたとみなされた場合、処理は、ステップＳ４７４に進む。
【０３１１】
ステップＳ４７４において、キャリブレーション処理部２２１は、キャリブレーションパターン表示状態確認処理を実行し、撮像部５３により撮像されたキャリブレーションパターンの表示状態を確認する。ここで、キャリブレーションパターンが、キャリブレーションに適していない場合、キャリブレーション処理部２２１は、図３，図４を参照して説明したように、キャリブレーションに適したキャリブレーションパターンを表示装置３３において表示するためのサイズや輝度などを設定し、対応するキャリブレーションパラメータを算出する。
【０３１２】
尚、キャリブレーションパターン表示状態確認処理については、図９のフローチャートを参照して、説明した処理と基本的には同一であるので、その説明は省略する。ただし、ステップＳ９１におけるHMD３１の位置と姿勢の情報を取得する処理は、ステップＳ４１３の処理に代わる処理であるので省略される。
【０３１３】
ステップＳ４７５において、キャリブレーション処理部２２１は、キャリブレーションパターン表示状態確認処理により、撮像されたキャリブレーションパターンがキャリブレーションに適した状態であると判定されたか否かを判定する。
【０３１４】
ステップＳ４７５において、撮像されたキャリブレーションパターンがキャリブレーションに適していないと判定された場合、処理は、ステップＳ４７６に進む。
【０３１５】
ステップＳ４７６において、キャリブレーション処理部２２１は、デフォルトで記憶されているキャリブレーションパターンに対して、キャリブレーションパラメータに応じた処理を施す。そして、表示制御部１３１は、キャリブレーションパラメータに応じた処理が施されたキャリブレーションパターンを表示部１１３に表示する。
【０３１６】
ステップＳ４７５において、キャリブレーションに適した状態であるとみなされるまで、ステップＳ４７３乃至Ｓ４７６の処理が繰り返され、キャリブレーションパラメータが繰り返し設定されて、キャリブレーションパターンのサイズや輝度が変化しながら表示される。
【０３１７】
そして、ステップＳ４７５において、撮像されたキャリブレーションパターンがキャリブレーションに適しているとみなされた場合、処理は、ステップＳ４７７に進む。
【０３１８】
ステップＳ４７７において、キャリブレーション処理部２２１は、撮像されたキャリブレーションパターンに基づいて、キャリブレーションを実行し、撮像部５３であるカメラ３１ａのカメラパラメータを推定（測定）する。
【０３１９】
ステップＳ４７８において、キャリブレーション処理部２２１は、通信部１１２を制御して、情報処理装置３２を介して、HMD３１に、キャリブレーションの結果である、求められたカメラパラメータと共にキャリブレーションの完了を通知する。
【０３２０】
ステップＳ４４３において、制御部９１は、通信部９２を制御して、表示装置３３よりキャリブレーションの結果であるカメラパラメータと共にキャリブレーションの完了が送信されてきたか否かを判定する。
【０３２１】
ステップＳ４４３において、情報処理装置３２よりキャリブレーションの結果であるカメラパラメータと共にキャリブレーションの完了が送信されてきた場合、処理は、ステップＳ４４４に進む。
【０３２２】
ステップＳ４４４において、制御部９１は、通信部９２を制御して、表示装置３３より通知されたキャリブレーションの結果である、求められたカメラパラメータと共にキャリブレーションの完了を取得し、HMD３１に通知する。
【０３２３】
ステップＳ４１５において、制御部５１は、通信部５２を制御して、情報処理装置３２よりキャリブレーションの結果である、求められたカメラパラメータと共にキャリブレーションの完了が通知されてきたか否かを判定し、通知されるまで、同様の処理を繰り返す。そして、ステップＳ４１５において、キャリブレーションの結果である、求められたカメラパラメータと共にキャリブレーションの完了が通知された場合、処理は、ステップＳ４１６に進む。
【０３２４】
ステップＳ４１６において、制御部５１は、通信部５２を制御して、送信されたカメラパラメータと共にキャリブレーションの完了を取得し、撮像部５３により撮像された画像に取得したカメラパラメータを反映する。
【０３２５】
ステップＳ４１７において、制御部５１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ４１１に戻り、それ以降の処理が繰り返される。尚、ステップＳ４１５において、カメラパラメータとキャリブレーションの完了が通知されない場合、ステップＳ４１６の処理がスキップされる。
【０３２６】
また、ステップＳ４４５において、制御部９１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ４４１に戻り、それ以降の処理が繰り返される。尚、ステップＳ４４３において、カメラパラメータとキャリブレーションの完了が通知されていないとみなされた場合、ステップＳ４４４の処理は、スキップされる。
【０３２７】
さらに、ステップＳ４８０において、キャリブレーション処理部２２１は、処理の終了が指示されたか否かを判定し、終了が指示されていない場合、処理は、ステップＳ４７１に戻り、それ以降の処理が繰り返される。尚、ステップＳ４７１において、表示装置３３が撮像されていない場合、処理は、ステップＳ４８０に進む。
【０３２８】
そして、ステップＳ４１７，Ｓ４４５，Ｓ４８０のそれぞれにおいて、終了が指示されると、キャリブレーション処理が終了する。
【０３２９】
以上の処理により、VR画像やAR画像からなるコンテンツがHMD３１の表示部５４に表示された状態であるので、ユーザ２１は、コンテンツを視聴している状態であるが、この状態とは独立してカメラ３１ａ（撮像部５３）のカメラパラメータのキャリブレーション処理が実現される。
【０３３０】
結果として、ユーザ２１が意識することなく、カメラ３１ａ（撮像部５３）のカメラパラメータを推定（測定）することが可能となる。また、この際、表示装置３３に表示され、撮像部５３により撮像されるキャリブレーションパターンの表示サイズや輝度が、キャリブレーションに適したサイズや輝度に調整された状態で表示されることになるので、適切なカメラパラメータの推定（測定）を実現することが可能となる。
【０３３１】
尚、以上においては、HMD３１、情報処理装置３２、および表示装置３３により構成されるキャリブレーションシステムについて説明してきたが、HMD３１と情報処理装置３２とを一体化させて、HMD３１において情報処理装置３２の処理も併せて実現できるようにする、または表示装置３３と情報処理装置３２とを一体化させて、表示装置３３において情報処理装置３２の処理も併せて実現できるようにすることで、HMD３１と表示装置３３とから構成されるキャリブレーションシステムを実現させるようにしてもよい。
【０３３２】
＜＜８．ソフトウェアにより実行させる例＞＞
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、記録媒体からインストールされる。
【０３３３】
図２０は、汎用のコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタフェース１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。
【０３３４】
入出力インタフェース１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブル記憶媒体１０１１に対してデータを読み書きするドライブ１０１０が接続されている。
【０３３５】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブル記憶媒体１０１１ら読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３３６】
以上のように構成されるコンピュータでは、CPU１００１が、例えば、記憶部１００８に記憶されているプログラムを、入出力インタフェース１００５及びバス１００４を介して、RAM１００３にロードして実行することにより、上述した一連の処理が行われる。
【０３３７】
コンピュータ（CPU１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記憶媒体１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３３８】
コンピュータでは、プログラムは、リムーバブル記憶媒体１０１１をドライブ１０１０に装着することにより、入出力インタフェース１００５を介して、記憶部１００８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１００９で受信し、記憶部１００８にインストールすることができる。その他、プログラムは、ROM１００２や記憶部１００８に、あらかじめインストールしておくことができる。
【０３３９】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３４０】
尚、図２０におけるCPU１００１が、図５の制御部５１、図６，図１６における制御部９１、および図７，図１８の制御部１１１の機能を実現させる。
【０３４１】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０３４２】
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【０３４３】
例えば、本開示は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０３４４】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０３４５】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０３４６】
尚、本開示は、以下のような構成も取ることができる。
【０３４７】
＜１＞  表示部と、
外部を撮像する撮像部と、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部とを含む
ヘッドマウントディスプレイ。
＜２＞  前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと前記外部表示機器との位置関係に基づいて、前記キャリブレーション画像を生成する
＜１＞に記載のヘッドマウントディスプレイ。
＜３＞  前記キャリブレーション処理部は、前記ヘッドマウントディスプレイの位置情報と、前記外部表示機器の位置情報とに基づいて、前記キャリブレーション画像を生成する
＜２＞に記載のヘッドマウントディスプレイ。
＜４＞  前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと、前記外部表示機器との距離に応じて、前記キャリブレーション画像のサイズを調整し生成する
＜３＞に記載のヘッドマウントディスプレイ。
＜５＞  前記キャリブレーション処理部は、前記ヘッドマウントディスプレイと、前記外部表示機器との距離が所定の距離よりも遠いとき、前記キャリブレーション画像のサイズを大きく調整する
＜４＞に記載のヘッドマウントディスプレイ。
＜６＞  前記キャリブレーション処理部は、前記ヘッドマウントディスプレイの姿勢情報と、前記外部表示機器の姿勢情報とに基づいて、前記キャリブレーション画像を生成する
＜２＞に記載のヘッドマウントディスプレイ。
＜７＞  前記キャリブレーション処理部は、前記撮像部の撮像方向と、前記外部表示機器の表面の方向とのなす角に応じて、前記キャリブレーション画像のサイズを調整し生成する
＜６＞に記載のヘッドマウントディスプレイ。
＜８＞  前記キャリブレーション処理部は、前記なす角が構成される方向に対して前記キャリブレーション画像のサイズを調整する
＜７＞に記載のヘッドマウントディスプレイ。
＜９＞  前記キャリブレーション処理部は、前記なす角が所定の角度よりも大きいとき、前記なす角が構成される方向に対して、前記キャリブレーション画像のサイズを大きく調整する
＜８＞に記載のヘッドマウントディスプレイ。
＜１０＞  前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像を用いて、前記撮像部のカメラパラメータを推定する
＜２＞に記載のヘッドマウントディスプレイ。
＜１１＞  前記キャリブレーション処理部は、前記撮像部により撮像される、前記外部表示機器に表示された前記キャリブレーション画像の複数の画像に基づいて、前記カメラパラメータを推定する場合、前記複数の画像について、前記外部表示機器の表面の方向に対する、前記撮像部の撮像方向に偏りがあるとき、前記表示部に前記外部表示機器の表面の方向に対する、前記撮像部の撮像方向のうち、前記撮像部により撮像されていない方向から撮像するように、前記ヘッドマウントディスプレイを装着したユーザを誘導する画像を前記表示部に表示させる
＜１０＞に記載のヘッドマウントディスプレイ。
＜１２＞  前記キャリブレーション処理部は、複数の前記ヘッドマウントディスプレイの前記撮像部の前記カメラパラメータを推定する場合、複数の前記撮像部のそれぞれが重なり合うことなく前記外部表示機器に表示された前記キャリブレーション画像を撮像できるように、前記ヘッドマウントディスプレイを装着したユーザを誘導する画像を前記表示部に表示させる
＜１１＞に記載のヘッドマウントディスプレイ。
＜１３＞  前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像の輝度に基づいて、前記キャリブレーション画像を生成する
＜２＞に記載のヘッドマウントディスプレイ。
＜１４＞  前記キャリブレーション処理部は、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像のうち、輝度が飽和している画素が所定数よりも多い場合、前記外部表示機器に表示される前記キャリブレーション画像の輝度を低減させ、前記撮像部により撮像された、前記外部表示機器により表示された前記キャリブレーション画像のうち、輝度が最低値の画素が所定数よりも多い場合、前記外部表示機器に表示される前記キャリブレーション画像の輝度を増大させる
＜１３＞に記載のヘッドマウントディスプレイ。
＜１５＞  前記キャリブレーション処理部は、前記撮像部により撮像された画像内に、前記外部表示機器が検出されたタイミング、所定の時間が経過したタイミング、前記ヘッドマウントディスプレイの位置情報に基づいて、前記撮像部のカメラパラメータに基づいて、本来、前記撮像部により撮像されるべき画像と、実際に前記撮像部により撮像される画像との間に齟齬が生じたタイミング、またはユーザが前記キャリブレーションを要求するタイミングにおいて、前記キャリブレーションに適した前記キャリブレーション画像を生成し、前記外部表示機器に表示させる
＜１＞乃至＜１４＞のいずれかに記載のヘッドマウントディスプレイ。
＜１６＞  前記キャリブレーション画像は、所定形状のマーカからなる画像、または、所定の配色がなされたマーカからなる画像である
＜１＞乃至＜１５＞のいずれかに記載のヘッドマウントディスプレイ。
＜１７＞  前記キャリブレーション画像は、動画像からなるコンテンツのうちの、所定のタイミングにより表示される画像である
＜１＞乃至＜１６＞のいずれかに記載のヘッドマウントディスプレイ。
＜１８＞  表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの制御方法であって、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理を含む
ヘッドマウントディスプレイの制御方法。
＜１９＞  表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイを制御するコンピュータを、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部として機能させる
プログラム。
＜２０＞  表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイにコンテンツを供給する情報処理装置であって、
キャリブレーションに適したキャリブレーション画像を生成し、外部表示機器に表示させるキャリブレーション処理部を含む
情報処理装置。
＜２１＞  表示部と、外部を撮像する撮像部とを備えたヘッドマウントディスプレイの前記撮像部のキャリブレーション画像を表示する表示装置であって、
キャリブレーションに適した前記キャリブレーション画像を生成し、表示させるキャリブレーション処理部を含む
表示装置。
【符号の説明】
【０３４８】
１１  キャリブレーションシステム，  ３１  HMD（Head Mounted Display），  ３１ａ  カメラ，  ３２  情報処理装置，  ３３  表示装置，  ５１  制御部，  ５２  通信部，  ５３  撮像部，  ５４  表示部，  ５５  記憶部，  ５６  ドライブ，  ５７  リムーバブル記憶媒体，  ６０  バス，  ７１  キャリブレーション制御部，  ７２  コンテンツ表示処理部，  ９１  制御部，  ９２  通信部，  ９３  記憶部，  ９４  ドライブ，  ９５  リムーバブル記憶媒体，  ９６  バス，  １１１  制御部，  １１２  通信部，  １１３  表示部，  １１４  記憶部，  １１５  ドライブ，  １１６  リムーバブル記憶媒体，  １３１  表示制御部，  ２０１，２２１  キャリブレーション処理部
【図１】
2020017327.tif 000003
【図２】
2020017327.tif 000004
【図３】
2020017327.tif 000005
【図４】
2020017327.tif 000006
【図５】
2020017327.tif 000007
【図６】
2020017327.tif 000008
【図７】
2020017327.tif 000009
【図８】
2020017327.tif 000010
【図９】
2020017327.tif 000011
【図１０】
2020017327.tif 000012
【図１１】
2020017327.tif 000013
【図１２】
2020017327.tif 000014
【図１３】
2020017327.tif 000015
【図１４】
2020017327.tif 000016
【図１５】
2020017327.tif 000017
【図１６】
2020017327.tif 000018
【図１７】
2020017327.tif 000019
【図１８】
2020017327.tif 000020
【図１９】
2020017327.tif 000021
【図２０】
2020017327.tif 000022
【国際調査報告】
2020017327.tif 000023
2020017327.tif 000024