(57)【要約】【課題】画像の切り替えに伴う違和感を抑制した画像を生成することが可能な情報処理装置等を提供する。【解決手段】情報処理装置は、空間内の複数の撮影位置で撮影した複数のパノラマ画像を取得する。また、情報処理装置は、複数のパノラマ画像間において撮影高さに対応する位置で方位角方向に並ぶ複数の特徴点の対応付けを行う。そして、情報処理装置は、複数のパノラマ画像間で対応付けた特徴点の対応付けに応じて、前記複数のパノラマ画像を合成し、仮想位置での仮想画像を生成する。【選択図】図１
2019145059.tif 000002
【特許請求の範囲】
【請求項１】
空間内の撮影位置で撮影した全天球画像からなる複数のパノラマ画像を取得する画像取得部と、
前記複数のパノラマ画像間において、前記空間上の各撮影位置を結ぶ直線とそれぞれの前記パノラマ画像に係る全天球とが交差する２点を通る前記全天球上の線上における特徴点の対応付けを行う対応付け部と、
仮想位置を受け付ける受付部と、
前記対応付け部による対応付け及び前記受付部が受け付けた前記仮想位置に応じて前記複数のパノラマ画像を合成し、前記仮想位置での仮想画像を生成する生成部と
を備える情報処理装置。
【請求項２】
前記対応付け部は、前記パノラマ画像における撮影高さに対応する位置の線上で方位角方向に並ぶ複数の特徴点の対応付けを行う
請求項１に記載の情報処理装置。
【請求項３】
前記対応付け部は、前記パノラマ画像における撮影方向及び該撮影方向の反対方向に対応する位置で高さ方向の中央位置を通る複数の線上で方位角方向に並ぶ複数の特徴点の対応付けを行う
請求項１又は２に記載の情報処理装置。
【請求項４】
前記生成部は、前記対応付け部による対応付けに基づいて、前記仮想画像における各画素の方位角情報に対応する前記パノラマ画像のそれぞれにおける方位角情報を特定し、前記パノラマ画像のそれぞれにおいて特定した方位角情報に応じた領域内の画素を合成する
請求項１から３までのいずれかひとつに記載の情報処理装置。
【請求項５】
前記生成部は、前記仮想位置が２つの撮影位置の間にあり、前記２つの撮影位置のそれぞれから前記仮想位置までの距離をｔV 及び１−ｔV とし、前記仮想画像における各画素の方位角情報をtanβV とし、前記方位角情報tanβV に対応する前記２つの撮影位置で撮影したパノラマ画像のそれぞれにおける方位角情報をtanβF 及びtanβR とした場合、以下の式を満たす方位角情報tanβF 及びtanβR を特定する
請求項１から４までのいずれかひとつに記載の情報処理装置。
tanβV ＝ｔV tanβF ＋（１−ｔV ）tanβR       …（式）
【請求項６】
前記複数のパノラマ画像のそれぞれから、前記仮想画像を生成するための中間仮想画像を生成する中間画像生成部と、
前記仮想位置及び前記複数の撮影位置の位置関係に応じて、前記中間画像生成部が生成した前記中間仮想画像のそれぞれに対する合成割合を特定する割合特定部とを備え、
前記生成部は、前記割合特定部が特定した合成割合で、前記中間画像生成部が生成した中間仮想画像を合成する
請求項１から５までのいずれかひとつに記載の情報処理装置。
【請求項７】
前記仮想画像を生成するための仮想スクリーンを特定するスクリーン特定部と、
前記スクリーン特定部が特定した仮想スクリーンにおける仮想画素の方位角方向の位置を、前記対応付け部による対応付けに基づいて前記仮想画素の方位角方向の位置に対応する前記パノラマ画像のそれぞれにおける画素の方位角方向の位置に補正して、前記パノラマ画像のそれぞれに対応した仮想スクリーンを生成する補正部とを備え、
前記中間画像生成部は、前記補正部が生成した仮想スクリーンのそれぞれにおける仮想画素に、対応する前記パノラマ画像のそれぞれにおける画素の輝度を割り当てて前記中間仮想画像を生成する
請求項６に記載の情報処理装置。
【請求項８】
前記受付部は前記仮想位置を連続して受け付けており、
前記受付部が受け付けた仮想位置が停止中であるか否かを判断する判断部を備え、
前記生成部は、前記仮想位置が停止中であると判断された場合、前記受付部が受け付けた仮想位置に近い前記撮影位置で撮影したパノラマ画像を用いて前記仮想画像を生成する
請求項１から７までのいずれかひとつに記載の情報処理装置。
【請求項９】
前記生成部は、
移動中の前記仮想位置が停止したと判断された場合、前記仮想位置に近い前記撮影位置で撮影したパノラマ画像に対する合成割合を所定時間毎に増加させ、それ以外のパノラマ画像に対する合成割合を所定時間毎に減少させつつ、前記複数のパノラマ画像を合成し、
停止中の前記仮想位置が移動したと判断された場合、前記仮想位置に近い前記撮影位置で撮影したパノラマ画像に対する合成割合を所定時間毎に減少させ、それ以外のパノラマ画像に対する合成割合を所定時間毎に増加させつつ、前記複数のパノラマ画像を合成する
請求項８に記載の情報処理装置。
【請求項１０】
前記生成部は、前記全天球画像を平面に展開した前記パノラマ画像を合成する
請求項１から９までのいずれかひとつに記載の情報処理装置。
【請求項１１】
第１情報処理装置と第２情報処理装置とを含む情報処理システムにおいて、
前記第２情報処理装置は、
仮想位置を示す情報を送信する送信部を有し、
前記第１情報処理装置は、
前記仮想位置を示す情報を受信する受信部と、
空間内の撮影位置で撮影した全天球画像からなる複数のパノラマ画像を取得する画像取得部と、
前記複数のパノラマ画像間において、前記空間上の各撮影位置を結ぶ直線とそれぞれの前記パノラマ画像に係る全天球とが交差する２点を通る前記全天球上の線上における特徴点の対応付けを行う対応付け部と、
前記対応付け部による対応付け及び前記受信部が受信した前記仮想位置に応じて前記複数のパノラマ画像を合成し、前記仮想位置での仮想画像を生成する生成部と、
前記生成部が生成した仮想画像を送信する送信部とを有し、
前記第２情報処理装置は、
前記仮想画像を受信する受信部と、
受信した前記仮想画像を表示する表示部とを更に有する
情報処理システム。
【請求項１２】
情報処理装置が、
空間内の撮影位置で撮影した全天球画像からなる複数のパノラマ画像を取得し、
前記複数のパノラマ画像間において、前記空間上の各撮影位置を結ぶ直線とそれぞれの前記パノラマ画像に係る全天球とが交差する２点を通る前記全天球上の線上における特徴点の対応付けを行い、
仮想位置を受け付け、
前記対応付け及び受け付けた前記仮想位置に応じて前記複数のパノラマ画像を合成し、前記仮想位置での仮想画像を生成する
処理を行う情報処理方法。
【請求項１３】
コンピュータに、
空間内の撮影位置で撮影した全天球画像からなる複数のパノラマ画像を取得し、
前記複数のパノラマ画像間において、前記空間上の各撮影位置を結ぶ直線とそれぞれの前記パノラマ画像に係る全天球とが交差する２点を通る前記全天球上の線上における特徴点の対応付けを行い、
仮想位置を受け付け、
前記対応付け及び受け付けた前記仮想位置に応じて前記複数のパノラマ画像を合成し、前記仮想位置での仮想画像を生成する
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
１８０度より広い画角のパノラマ画像を取得するカメラを用いて、撮影位置を移動しつつ撮影を行い、得られた複数のパノラマ画像を適宜切り替えることにより、任意の視点から見た状態の画像を提供するシステムが提案されている（特許文献１）。特許文献１に開示されたシステムでは、隣り合う撮影位置で撮影した２つのパノラマ画像を切り替える際に、表示中のパノラマ画像を徐々にズームインしつつ、次のパノラマ画像との合成比率を徐々に変化させることにより次のパノラマ画像の表示に遷移する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８４３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術では、表示されるパノラマ画像が切り替えられる際に、視聴するユーザは、画像の遷移を認識し、画像の遷移に伴う違和感を感じる虞がある。
【０００５】
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、画像の切り替えに伴う違和感を抑制した画像を生成することが可能な情報処理装置等を提供することにある。
【課題を解決するための手段】
【０００６】
本開示の一態様に係る情報処理装置は、空間内の撮影位置で撮影した全天球画像からなる複数のパノラマ画像を取得する画像取得部と、前記複数のパノラマ画像間において、前記空間上の各撮影位置を結ぶ直線とそれぞれの前記パノラマ画像に係る全天球とが交差する２点を通る前記全天球上の線上における特徴点の対応付けを行う対応付け部と、仮想位置を受け付ける受付部と、前記対応付け部による対応付け及び前記受付部が受け付けた前記仮想位置に応じて前記複数のパノラマ画像を合成し、前記仮想位置での仮想画像を生成する生成部とを備える。
【発明の効果】
【０００７】
本開示の一態様によれば、実写画像に基づいて任意の視点から見た仮想画像を生成できる。また、表示されるパノラマ画像（実写画像）が切り替えられる際に、画像の遷移をより滑らかに行うことにより、画像の遷移に伴ってユーザに与える違和感を抑制した画像（仮想画像）を生成することができる。更に、切り替えられるパノラマ画像間における方位角方向のズレが抑制された画像を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの構成例を示す模式図である。
【図２】撮影時の情報処理システムの構成を示す模式図である。
【図３】表示時の情報処理システムの構成を示す模式図である。
【図４】カメラの外観を示す模式図である。
【図５】撮影画像の構成を説明するための模式図である。
【図６】カメラの撮影位置の例を示す模式図である。
【図７】パノラマ画像の例を示す模式図である。
【図８】第１情報処理装置の制御部によって実現される機能を示すブロック図である。
【図９】特徴点対応テーブルの構成例を示す模式図である。
【図１０】特徴点対応付け部による方位角の対応付けを示す模式図である。
【図１１】仮想スクリーンテーブルの構成例を示す模式図である。
【図１２】仮想スクリーンにおける方位角とパノラマ画像における方位角との関係を示す模式図である。
【図１３】仮想スクリーン補正部による処理を説明するための模式図である。
【図１４】前側画像用仮想スクリーンテーブルの構成例を示す模式図である。
【図１５】画素対応テーブルの構成例を示す模式図である。
【図１６】仮想ビューＤＢの構成例を示す模式図である。
【図１７】レンダリング処理を説明するための模式図である。
【図１８】レンダリング処理を説明するための模式図である。
【図１９】撮影時にカメラ及び第１情報処理装置が行う処理の手順を示すフローチャートである。
【図２０】第１情報処理装置による特徴点の対応付け処理の手順を示すフローチャートである。
【図２１】表示時に第１情報処理装置及び第２情報処理装置が行う処理の手順を示すフローチャートである。
【図２２】表示時に第１情報処理装置及び第２情報処理装置が行う処理の手順を示すフローチャートである。
【図２３】第１情報処理装置による仮想スクリーンの補正処理の手順を示すフローチャートである。
【図２４】仮想ビューに対する合成割合の変化を示す図表である。
【図２５】パノラマ画像の例を示す模式図である。
【図２６】エピポーラ線の説明図である。
【図２７】座標系の関係を説明するための模式図である。
【図２８】実施形態３の仮想スクリーンテーブルの構成例を示す模式図である。
【図２９】実施形態３の第１情報処理装置による仮想スクリーンの補正処理の手順を示すフローチャートである。
【図３０】実施形態４の画面例を示す模式図である。
【発明を実施するための形態】
【０００９】
（実施形態１）
図１は、情報処理システム４０の構成例を示す模式図である。情報処理システム４０は、第１情報処理装置１０、第２情報処理装置２０及びカメラ３０を含む。本実施形態においては、カメラ３０を用いて、賃貸住宅及び販売住宅等の不動産物件の部屋、ホテル及び民宿等の宿泊施設の部屋等を撮影する。カメラ３０は、撮影装置の一例である。カメラ３０は、１回のシャッターで前後左右上下の撮影を行う全天球カメラを使用する。撮影位置は、例えば矩形の部屋の２箇所とするが、これに限定しない。３箇所以上の任意の場所から撮影を行ってもよい。また撮影位置の床面からの高さは、例えば１ｍ程度であるが、これに限定しない。立った状態の大人の目線の高さ、又は椅子に座った状態の大人の目線の高さ等の任意の高さから撮影を行ってもよい。カメラ３０が撮影を行う位置及び向きは、カメラ３０に内蔵されたセンサ又はカメラ３０を外部から監視するセンサにより測定される。カメラ３０を特定の位置及び向きに固定する治具等を利用してもよい。
【００１０】
カメラ３０によって撮影された撮影画像（パノラマ画像）は、撮影位置を示す情報と共に第１情報処理装置１０へ送信され、第１情報処理装置１０のパノラマ画像ＤＢ１２ａに記録される。なお、カメラ３０は撮影によって画像データ（撮影画像データ）を取得するが、以下では画像データを単に画像という場合がある。従って、撮影画像は撮影画像データを意味する場合があり、パノラマ画像はパノラマ画像データを意味する場合がある。撮影画像は、複数の画素を含み、撮影画像データは、各画素の撮影画像中の位置（座標）を示す位置情報と各画素の輝度（画素値）とを対応付けて有する。撮影位置の情報は、例えば矩形の部屋の任意の位置を基準とした位置の情報であり、例えばカメラ３０に内蔵されているセンサにより測定されてもよく、他のセンサ等により測定されてカメラ３０又は第１情報処理装置１０へ送信されてもよい。なお、撮影位置の情報は必ずしも必要ではなく、２箇所の撮影位置を結んだ線分の方向（方位）が分かる情報を取得できればよい。
【００１１】
第２情報処理装置２０は、カメラ３０での撮影が行われた部屋から離れた場所、例えば不動産会社の店舗又は旅行会社の店舗にいるユーザが装着したＨＭＤ（Head Mounted Display）型の情報処理装置である。第２情報処理装置２０には、各種センサが内蔵されており、ユーザの頭部の位置及び向きを検出可能である。第２情報処理装置２０は、スマートフォン、タブレット又はパソコン等の汎用の情報処理装置と、ＨＭＤ等の表示装置との組合せでもよい。第２情報処理装置２０は、スマートフォン等の軽量の携帯型情報処理装置と、携帯型情報処理装置をユーザの目の前に固定する固定部材との組合せでもよい。
【００１２】
第２情報処理装置２０によって検出されたユーザの頭部の位置及び向きと、パノラマ画像ＤＢ１２ａに記録された撮影画像とに基づいて、第１情報処理装置１０は、カメラ３０で撮影された部屋の中の仮想視点（仮想位置）から見た仮想画像を生成する。そして第１情報処理装置１０は、生成した仮想画像を第２情報処理装置２０へ送信する。このような構成により、ＨＭＤを装着したユーザは、撮影対象となった部屋の中を歩き回り、任意の向きを向いて、部屋の広さ、家具の配置、窓の外の景色等を感覚的に把握することができる。なお、ユーザは回転可能な椅子に着席した状態で、ジョイスティック等を操作することで仮想視点を移動させてもよい。転倒及び衝突のおそれなく、部屋の中を歩き回り、あるいは飛翔し、任意の向きを向いて、室内空間を把握することができる。
【００１３】
図２は、撮影時の情報処理システム４０の構成を示す模式図である。撮影時の情報処理システム４０は、インターネット、公衆通信回線又はＬＡＮ（Local Area Network）等のネットワークＮを介して接続された第１情報処理装置１０及びカメラ３０を備える。
【００１４】
第１情報処理装置１０は、制御部１１、記憶部１２、通信部１３、入力部１４、表示部１５及びバスを備える。本実施形態の第１情報処理装置１０は汎用のパーソナルコンピュータ、サーバマシン等の情報処理装置である。また、本実施形態の第１情報処理装置１０は、大型計算機上で動作する仮想マシンでもよい。制御部１１は、ＣＰＵ（Central Processing Unit ）又はＭＰＵ（Micro-Processing Unit ）等のプロセッサを含み、本実施形態にかかるプログラムを実行する演算制御装置である。制御部１１は、記憶部１２に記憶してある制御プログラムを実行すると共に、バスを介して第１情報処理装置１０を構成するハードウェア各部の動作を制御する。これにより、制御部１１は、第１情報処理装置１０が行う種々の制御処理及び情報処理を行う。
【００１５】
記憶部１２は、ＲＡＭ（Random Access Memory）、フラッシュメモリ、ハードディスク、ＳＳＤ（Solid State Drive ）等を含む。記憶部１２は、制御部１１が実行する制御プログラム及び制御プログラムの実行に必要な各種のデータ等を予め記憶している。また記憶部１２は、制御部１１が制御プログラムを実行する際に発生するデータ等を一時的に記憶する。記憶部１２に記憶される制御プログラムには、本開示のプログラムである仮想画像生成プログラムＰＧが含まれ、記憶部１２に記憶されるデータには、カメラ３０によって撮影したパノラマ画像を蓄積するパノラマ画像ＤＢ１２ａが含まれる。なお、パノラマ画像ＤＢ１２ａは、第１情報処理装置１０に接続された外部の大容量記憶装置等に保存されていてもよく、ネットワークＮを介して第１情報処理装置１０に接続された別の記憶装置に記憶されてもよい。
【００１６】
通信部１３は、ネットワークＮとの通信を行うインターフェイスである。入力部１４は、キーボード及びマウス等である。表示部１５は、例えば液晶表示パネル等である。
第１情報処理装置１０は、通信部１３を介して外部装置から仮想画像生成プログラムＰＧを取得して記憶部１２に記憶してもよい。また、第１情報処理装置１０が可搬型記憶媒体に記憶された情報を読み取る読取部等を備える場合、可搬型記憶媒体から仮想画像生成プログラムＰＧを読み出して記憶部１２に記憶してもよい。
【００１７】
カメラ３０は、制御部３１、記憶部３２、通信部３３、シャッターボタン３４、撮影部３５及びバスを備える。制御部３１は、ＣＰＵ又はＭＰＵ等のプロセッサを含み、本実施形態にかかるプログラムを実行する演算制御装置である。制御部３１は、記憶部３２に記憶してある制御プログラムを実行すると共に、バスを介してカメラ３０を構成するハードウェア各部の動作を制御する。これにより、制御部３１は、カメラ３０が行う種々の制御処理及び情報処理を行う。記憶部３２は、ＲＡＭ、フラッシュメモリ、ハードディスク、磁気テープ等を含む。記憶部３２は、制御部３１が実行する制御プログラム及び制御プログラムの実行に必要な各種のデータ等を予め記憶している。また記憶部３２は、制御部３１が制御プログラムを実行する際に発生するデータ等を一時的に記憶する。
【００１８】
通信部３３は、ネットワークＮとの通信を行うインターフェイスである。シャッターボタン３４は、静止画を撮影する指示を受け付けるボタンである。なお、制御部３１は、ネットワークＮを通じてシャッターボタン３４の操作を受け付けてもよい。撮影部３５は、撮影を行う光学系と撮像素子とを含む。制御部３１は、シャッターボタン３４から受け付けた指示に基づいて撮像素子が取得したデータに対して、各種画像処理を行い、撮影画像を生成する。
【００１９】
図３は、表示時の情報処理システム４０の構成を示す模式図である。表示時の情報処理システム４０は、ネットワークＮを介して接続された第１情報処理装置１０及び第２情報処理装置２０を備える。第１情報処理装置１０は、図２を使用して説明した撮影時の第１情報処理装置１０の構成の記憶部１２に、特徴点対応テーブル１２ｂ、方位角対応テーブル１２ｃ、仮想スクリーンテーブル１２ｄ〜１２ｆ、画素対応テーブル１２ｇ及び仮想ビューＤＢ１２ｈが追加された構成を有する。特徴点対応テーブル１２ｂ、方位角対応テーブル１２ｃ、仮想スクリーンテーブル１２ｄ〜１２ｆ、画素対応テーブル１２ｇ及び仮想ビューＤＢ１２ｈは、制御部１１が仮想画像生成プログラムＰＧの実行中に生成されるデータであるが、撮影時においても記憶部１２に記憶されていてもよい。撮影時と表示時とで、異なるハードウェアを第１情報処理装置１０に使用してもよい。
【００２０】
前述のとおり、第２情報処理装置２０は、ＨＭＤ型の情報処理装置である。第２情報処理装置２０は、制御部２１、記憶部２２、通信部２３、表示部２４、センサ部２５及びバスを備える。制御部２１は、ＣＰＵ又はＭＰＵ等のプロセッサを含み、本実施形態にかかるプログラムを実行する演算制御装置である。制御部２１は、記憶部２２に記憶してある制御プログラムを実行すると共に、バスを介して第２情報処理装置２０を構成するハードウェア各部の動作を制御する。これにより、制御部２１は、第２情報処理装置２０が行う種々の制御処理及び情報処理を行う。記憶部２２は、ＲＡＭ、フラッシュメモリ、ハードディスク、ＳＳＤ、磁気テープ等を含む。記憶部２２は、制御部２１が実行する制御プログラム及び制御プログラムの実行に必要な各種のデータ等を予め記憶している。また記憶部２２は、制御部２１が制御プログラムを実行する際に発生するデータ等を一時的に記憶する。
【００２１】
通信部２３は、ネットワークＮとの通信を行うインターフェイスである。表示部２４は、例えば液晶表示パネル等である。センサ部２５は、例えば地磁気センサ、傾きセンサ、ＧＰＳ等の複数のセンサの組合せであり、第２情報処理装置２０の位置及び向きを検出する。センサ部２５は、第２情報処理装置２０の位置及び向きを検出することにより、第２情報処理装置２０を頭部に装着しているユーザの頭部の位置及び向きを検出できる。第２情報処理装置２０は、マウス、キーボード、タッチパネル等の入力部を備えていてもよい。
【００２２】
図４は、カメラ３０の外観を示す模式図である。本実施形態のカメラ３０は、略長方形板状の板状部３８を有する。以後の説明においては、板状部３８の長辺方向を上下方向、板状部３８の短辺方向を左右方向、板状部３８の第１広面３８１側を前側、第２広面３８２側を後側にそれぞれ向けた状態で説明する。
第１広面３８１の上寄りに、ドーム状の第１レンズ３７１が設けられている。第２広面３８２の上寄りに、ドーム状の第２レンズ３７２が設けられている。第１レンズ３７１及び第２レンズ３７２の内側には、図示しない複数のレンズ及びプリズム等の光学部品が配置されており、１８０度以上の視野角を有する光学系を形成している。以後の説明では、第１レンズ３７１側の光学系の光軸を第１光軸、第２レンズ３７２側の光学系の光軸を第２光軸と記載する。第１光軸と第２光軸とは、同一の直線上に配置されている。第１広面３８１にシャッターボタン３４が配置されている。
【００２３】
上述した構成のカメラ３０が撮影時に行う処理について説明する。図５は、撮影画像の構成を説明するための模式図である。図５Ａは、全天球画像を示す模式図である。図５Ｂは、図５Ａの全天球画像を正距円筒図法により展開した画像を示す模式図である。カメラ３０の制御部３１は、シャッターボタン３４から受け付けた指示に基づいて撮影部３５による撮影を行った場合、第１光軸側で撮影した画像と第２光軸側で撮影した画像とを合成することにより、図５Ａに示すように撮影位置を撮影中心Ｃ点とする全天球画像を生成する。なお、撮影対象の部屋の複数箇所で撮影を行う際、各撮影位置において、カメラ３０の上下方向及び左右方向を一致させた状態で撮影を行う。これにより、それぞれの撮影位置で撮影された複数の全天球画像において共通の座標系を用いることができる。
【００２４】
全天球画像上の各画素の位置を定める座標系について説明する。図４を使用して説明したように、カメラ３０は板状部３８の長辺方向を上下方向に向けた状態で撮影する。以後の説明では、前後左右方向を含む面を水平面と記載する。全天球画像上の画素の位置は、直交座標系及び極座標系により表現することができる。直交座標系は、図４に示した右方向をＸ軸の正側、上方向をＹ軸の正側、後ろ方向をＺ軸の正側とする右手系の直交座標系を用いる。極座標系は、方位角φ及び天頂角θ、並びに撮影中心Ｃ点からの距離ｒによって座標が示される座標系を用いる。方位角は、第２光軸側（Ｚ軸の正側）を基準として、水平面内の反時計回りの角度φを示す。第１光軸（Ｚ軸の負側）は、方位角φがπラジアンの位置に存在する。ここでπは円周率を意味する。第２光軸は、方位角φが０ラジアンかつ２πラジアンの位置に存在する。天頂角は、撮影中心Ｃ点から天頂への上方向（Ｙ軸の正側）を基準として、撮影中心Ｃ点を中心として下に向かう角度θを示す。上方向は、天頂角θが０ラジアンの位置に存在する。下方向（Ｙ軸の負側）は、天頂角θがπラジアンの位置に存在する。全天球画像上の任意の画素ａの位置は、直交座標系で表した座標（ｘa ，ｙa ，ｚa ）と、極座標系で表した座標（ｒ，θa ，φa）とによって表現することができる。なお、座標（ｘ，ｙ，ｚ）及び座標（ｒ，θ，φ）は以下の（１）式及び（２）式によって相互に変換可能である。
【００２５】
【数１】
2019145059.tif 000003
【００２６】
カメラ３０の制御部３１は、図５Ｂに示すように、全天球画像を方位角φ＝０の線に沿って切断して、正距円筒図法により、横軸を方位角φとし縦軸を天頂角θとする平面に展開した長方形の撮影画像（以下では、パノラマ画像という）を生成する。このとき、方位角φ及び天頂角θをそれぞれ０〜１の範囲のｕ値及びｖ値に正規化し、横軸をｕ軸とし縦軸をｖ軸とする長方形のパノラマ画像を生成する。このパノラマ画像を構成する各画素には、全天球画像における各画素の輝度（画素値）が割り当てられる。なお、図５Ｂに示すように、長方形（平面）のパノラマ画像は、左下を原点（０，０）とし、原点（０，０）は、方位角φが２πラジアン（ｕ＝０．０）で天頂角θがπラジアン（ｖ＝０．０）の位置の画素を示す。また、パノラマ画像は、ｕ軸方向に方位角φが小さくなり、パノラマ画像の右端は方位角φが０ラジアン（ｕ＝１．０）の位置の画素であり、ｖ軸方向に天頂角θが小さくなり、パノラマ画像の上端は天頂角θが０ラジアン（ｖ＝１．０）の位置の画素である。方位角φ及び天頂角θと、ｕ値及びｖ値とは、以下の（３）式及び（４）式によって相互に変換可能である。
【００２７】
【数２】
2019145059.tif 000004
【００２８】
カメラ３０の制御部３１は、撮影中心Ｃ点（撮影位置）の位置情報と、図５Ｂに示すパノラマ画像とを通信部３３から第１情報処理装置１０へ送信する。なお、カメラ３０の制御部３１は、図５Ａに示す全天球画像の撮影画像を第１情報処理装置１０へ送信し、第１情報処理装置１０が、全天球画像から、図５Ｂに示すパノラマ画像を生成する処理を行ってもよい。第１情報処理装置１０の制御部１１は、カメラ３０から取得した撮影中心Ｃ点の位置情報とパノラマ画像とを対応付けてパノラマ画像ＤＢ１２ａに記録する。なお、カメラ３０は、Ｅｘｉｆ（Exchangeable image file format）形式を使用することにより、撮影中心Ｃ点の位置情報と撮影画像とを一つのファイルで送信することが可能である。
【００２９】
図６は、カメラ３０の撮影位置の例を示す模式図であり、図７は、パノラマ画像の例を示す模式図である。図６は、撮影対象の部屋を天井側から見た状態を示しており、図６に示す撮影対象の部屋にはベッド、ソファー、テーブル、椅子、テレビ等が設置されている。本実施形態では、例えば図６中の黒丸で示す２箇所で撮影を行い、窓側の撮影位置を前側撮影位置とし、部屋の入口側の撮影位置を後側撮影位置とする。撮影位置は図６に示す例に限らず任意の２箇所とすればよく、また３箇所以上としてもよい。図７Ａは前側撮影位置で撮影したパノラマ画像の例であり、図７Ｂは後側撮影位置で撮影したパノラマ画像の例である。撮影を行う場合、撮影位置（カメラ３０）の床面からの高さ、カメラ３０の上下方向及び左右方向を、それぞれの撮影位置で一致させる。また本実施形態では、後側撮影位置から前側撮影位置への方向（図６中に矢符ｔで示す方向）にカメラ３０の前側を向けて（第１光軸を一致させて）それぞれの撮影位置で撮影を行う。これにより、それぞれの撮影位置で、画像の上下方向が鉛直方向に一致し、左右端がＺ軸の正方向（カメラ３０の後側）に一致し、左右方向の中央がＺ軸の負方向（カメラ３０の前側）に一致するパノラマ画像を取得することができる。なお、本実施形態では、撮影対象の空間内における仮想視点の位置を、後側撮影位置を原点とし、後側撮影位置から前側撮影位置に向かう方向と、水平面内でこの方向に直交する方向とによる座標系の座標で示す。具体的には、図６に示すように、後側撮影位置から前側撮影位置に向かう方向をｔ軸とし、ｔ軸に直交する方向をｓ軸とし、ＳＴ座標系の座標（ｓ，ｔ）によって仮想視点の位置を表す。また本実施形態では、仮想視点の位置をｔ軸上の位置とし、座標（０，ｔ）によって表す。また、前側撮影位置と後側撮影位置との間の距離にかかわらず、後側撮影位置をＳＴ座標系の座標（０，０）で示し、前側撮影位置をＳＴ座標系の座標（０，１）で示す。
【００３０】
本実施形態では、撮影時の情報を用いて撮影後のパノラマ画像を補正することにより、それぞれの撮影位置で撮影したパノラマ画像の状態を一致させてもよい。例えばカメラ３０に設けられた加速度センサを用いて重力加速度を検出することにより、撮影時にカメラ３０が重力方向（即ち、鉛直方向の下向き）からどれだけ傾いていたかを検知できる。この情報を用いて撮影後のパノラマ画像における鉛直方向の傾きを補正（天頂補正）することにより、画像の上下方向が鉛直方向に一致するパノラマ画像を得ることができる。また地磁気センサ（電子コンパス）を用いて地磁気に対するカメラ３０の傾きを取得し、取得した傾きを用いて撮影後のパノラマ画像における方位角方向の傾きを補正（方位角補正）することができる。これにより、例えば北向きが画像の中央に一致するようにそれぞれのパノラマ画像を補正することができる。例えばカメラ３０の第１光軸が北東方向に一致した状態で撮影が行われた場合、カメラ３０の真北方向に位置する被写体は撮影後のパノラマ画像の中心よりもπ／４ラジアンだけ左側に移動した位置に存在する。この場合、撮影後のパノラマ画像全体を画像の左右幅の１／８（全周２πに対するズレ量π／４の比率）だけ右方向に平行移動させることにより、北向きが画像の中央に一致するパノラマ画像に補正できる。なお、このとき、パノラマ画像の左端の１／８の領域には、平行移動によってパノラマ画像の右端から削除した１／８の領域をそのままコピーすればよい。更に本実施形態では、それぞれのパノラマ画像を、北向きが画像の中央に一致するように補正した後、更に後側撮影位置から前側撮影位置を見た方向が画像の中央に一致するような方位角補正を行う。
【００３１】
次に、第１情報処理装置１０において制御部１１が仮想画像生成プログラムＰＧを実行することによって実現される機能について説明する。図８は、第１情報処理装置１０の制御部１１によって実現される機能を示すブロック図である。第１情報処理装置１０の制御部１１は、記憶部１２に記憶してある仮想画像生成プログラムＰＧを実行した場合、特徴点対応付け部５１、仮想スクリーン設定部５２、仮想スクリーン補正部５３、仮想画像生成部５５の各機能を実現する。なお、本実施形態では、これらの各機能を制御部１１が仮想画像生成プログラムＰＧを実行することにより実現するが、これらの一部を専用のハードウェア回路で実現してもよい。
【００３２】
特徴点対応付け部５１は、撮影対象の空間内の２箇所（前側撮影位置及び後側撮影位置）で撮影した２つのパノラマ画像において、同じ被写体が撮影された方位角方向の位置を対応付ける。ここで、パノラマ画像ＤＢ１２ａに記憶されている２つのパノラマ画像は共に、画像の上下方向が鉛直方向に一致し、左右端がカメラ３０の後側（図６中のｔ軸の負方向）に一致し、左右方向の中央がカメラ３０の前側（図６中のｔ軸の正方向）に一致するパノラマ画像である。また一般的に、カメラ３０は、撮影高さが画像の上下方向の中央となるようなパノラマ画像を生成する。なお、このようなパノラマ画像は、それぞれの撮影位置でカメラ３０を所定状態に配置して撮影することによって取得してもよく、撮影後に所定の補正処理を行うことによって取得してもよい。
【００３３】
よって、このような２つのパノラマ画像間では、画像の上下方向の中央部には同じ被写体が写っており、同じ被写体は、２箇所の撮影位置間の視差によってパノラマ画像中の異なる位置に写っている。また、画像の左右方向の中央部及び左右端部には同じ被写体の同じ部分が写っている。更に、一方のパノラマ画像において左側に写っている被写体は他方のパノラマ画像でも左側に写っており、一方のパノラマ画像において右側に写っている被写体は他方のパノラマ画像でも右側に写っている。
【００３４】
従って、特徴点対応付け部５１は、２つのパノラマ画像において、上下方向の中央部に写っている被写体の特徴点（画素）について対応付けを行う。即ち、特徴点対応付け部（対応付け部）５１は、２つのパノラマ画像において撮影時の撮影高さに対応する位置に方位角方向に並ぶ画素を特徴点として対応付ける。例えば、特徴点対応付け部５１は、図７Ａ，Ｂに示すように、２つのパノラマ画像において、上下方向の中央にＬ軸で示す左右方向に配置する画素のうちで同じ被写体の同じ部分の画素を特徴点Ｌ１〜Ｌ４としてそれぞれ対応付ける。図７Ａ，Ｂに示す２つのパノラマ画像では、特徴点Ｌ１，Ｌ２は左側のカーテンの左端及び右端であり、特徴点Ｌ３，Ｌ４は右側のカーテンの左端及び右端である。特徴点対応付け部５１は、２つのパノラマ画像中の特徴点を、図７Ａ，Ｂに示したＬ軸におけるＬ座標値で示し、対応付けた特徴点のＬ座標値をそれぞれ特徴点対応テーブル１２ｂに記憶する。なお、特徴点を示すＬ座標値は、Ｌ軸においてパノラマ画像の左端を０とし、左端からの画素数を示す。
【００３５】
図９は、特徴点対応テーブル１２ｂの構成例を示す模式図である。特徴点対応テーブル１２ｂには、特徴点対応付け部５１が対応付けた特徴点のペア毎に、ペア情報と、２つのパノラマ画像における特徴点のＬ座標値とが対応付けて記憶される。ペア情報は各ペアに固有に付与された識別情報である。２つのパノラマ画像は、撮影対象の空間内の２箇所（前側撮影位置及び後側撮影位置）で撮影したパノラマ画像であり、以下ではそれぞれを前側画像及び後側画像ということがある。特徴点対応付け部５１は、２つのパノラマ画像間で対応付けるべき特徴点を、例えばユーザ入力によって受け付けてもよい。この場合、例えば特徴点対応付け部５１は、第１情報処理装置１０の表示部１５に２つのパノラマ画像を表示し、特徴点とすべき箇所（画素）を入力部１４にて受け付ける。ユーザは、表示された２つのパノラマ画像において同じ被写体の同じ部分を特徴点として入力部１４を介して指定する。特徴点対応付け部５１は、入力部１４を介して受け付けた２つのパノラマ画像中の特徴点のＬ座標値をそれぞれ特定し、特定した２つのＬ座標値を特徴点対応テーブル１２ｂに記憶する。
【００３６】
また、特徴点対応付け部５１は、２つのパノラマ画像間で対応付けるべき特徴点を、２つのパノラマ画像におけるＬ軸上の各画素の画素値の変動に対して、Dynamic Time Warping等の手法を用いて自動的に抽出してもよい。この場合、特徴点対応付け部５１は、２つのパノラマ画像間で類似する画素を自動的に抽出し、抽出した画素を特徴点としてそれぞれ抽出した画素のＬ座標値を特徴点対応テーブル１２ｂに記憶する。
図９に示す特徴点対応テーブル１２ｂでは、パノラマ画像の左側で２１個のペアが対応付けられており、右側で１７個のペアが対応付けられているが、対応付けられる特徴点のペア数はこれに限らない。また、図９に示す特徴点対応テーブル１２ｂでは、パノラマ画像の左側のペアはＬ座標値が昇順となるように記憶されており、右側のペアはＬ座標値が降順となるように記憶されているが、記憶される順序はこれに限らない。
【００３７】
次に、特徴点対応付け部５１は、図９に示すような特徴点対応テーブル１２ｂに基づいて、それぞれ対応付けた特徴点における方位角の対応付けを行う。具体的には、特徴点対応付け部５１は、特徴点対応テーブル１２ｂに記憶したそれぞれの特徴点のＬ座標値を、図６に示したＳＴ座標系の方位角に変換する。カメラ３０で撮影したパノラマ画像の解像度（画素数）は予め分かっているので、特徴点対応付け部５１は、それぞれの特徴点のＬ座標値を方位角に変換できる。また、パノラマ画像における各画素のＳＴ座標系の方位角は、撮影位置を通り図６に示したｓ軸に平行な方向を０ラジアンとして、水平面内で撮影位置を中心に、パノラマ画像の右側では反時計回りの角度βで、パノラマ画像の左側では時計回りの角度βでそれぞれ示す。よって、ｔ軸の負方向（カメラ３０の後方向）は方位角βが−π／２ラジアンの位置に存在し、ｔ軸の正方向（カメラ３０の前方向）は方位角βがπ／２ラジアンの位置に存在する。また前側画像における各画素の方位角はβF で示し、後側画像における各画素の方位角はβR で示す。特徴点対応付け部５１は、２つのパノラマ画像の特徴点のＬ座標値を方位角βF 、βR に変換した後、それぞれ変換した方位角βF 、βR の正接tanβF 、tanβR を更に算出し、それぞれ算出した方位角の正接を対応付けて方位角対応テーブル１２ｃに記憶する。
【００３８】
図１０は、特徴点対応付け部５１による方位角の対応付けを示す模式図である。図１０Ａは、方位角対応テーブル１２ｃの構成例を示す模式図であり、図１０Ｂは、２つのパノラマ画像において対応付けられた特徴点の方位角の正接の関係を示す図である。方位角対応テーブル１２ｃには、特徴点対応付け部５１が算出した各特徴点の方位角の正接が、対応付けられたペア毎に記憶されている。なお、図１０Ａには、図９に示す特徴点対応テーブル１２ｂに記憶されたパノラマ画像左側の特徴点のペアについて、それぞれの特徴点の方位角の正接が記憶してある方位角対応テーブル１２ｃを示す。特徴点対応付け部５１は、特徴点対応テーブル１２ｂに記憶されたパノラマ画像右側の特徴点のペアについても同様の構成を有する方位角対応テーブル１２ｃを生成する。
図１０Ｂに示す図では、横軸が後側画像における各画素の方位角の正接（tanβR ）を示し、縦軸がｔ軸（図６中のｔ軸であり、カメラ３０の前方向）を示す。図１０Ｂに示す図において、ｔ＝１の破線は、前側画像における各画素の方位角の正接（tanβF ）を示しており、対応付けられた前側画像における特徴点の方位角の正接と後側画像における特徴点の方位角の正接とが実線で結ばれている。
【００３９】
本実施形態では、特徴点対応付け部５１は、図９に示す特徴点対応テーブル１２ｂを生成し、特徴点対応テーブル１２ｂに基づいて、図１０Ａに示す方位角対応テーブル１２ｃを生成するが、この構成に限らない。例えば、特徴点対応付け部５１は、図９に示すように２つのパノラマ画像間で対応付けられた特徴点のＬ座標値を特徴点対応テーブル１２ｂに記憶する代わりに、特徴点の方位角を特徴点対応テーブル１２ｂに記憶してもよい。また、特徴点対応付け部５１は、特徴点対応テーブル１２ｂを生成せずに、方位角対応テーブル１２ｃのみを生成する構成でもよい。
【００４０】
仮想スクリーン設定部５２は、第２情報処理装置２０から取得したユーザの頭部の位置及び向きに基づいて、仮想視点及び仮想スクリーンを設定する。なお、ユーザの頭部の位置及び向きは、ユーザの頭部に装着された第２情報処理装置２０のセンサ部２５によって所定のタイミングで検出され、検出結果が逐次第１情報処理装置１０へ送信される。仮想視点の位置は、ユーザの頭部の中心であり、例えば第１情報処理装置１０の動作開始時は撮影対象の部屋（空間）において前側撮影位置又は後側撮影位置、或いは前側撮影位置と後側撮影位置との間の中央位置等の所定位置としてもよい。よって、仮想スクリーン設定部５２は、動作開始時は撮影対象の部屋における所定位置を仮想視点に設定し、以降はユーザの移動に伴って仮想視点を移動させる（変更する）。なお、本実施形態では、仮想視点の位置は、図６に示したｔ軸上の位置とし、ＳＴ座標系の座標（０，ｔ）によって示される。仮想スクリーンは、仮想視点から、ユーザの頭部の向きが示す視線方向に所定距離隔てた位置に設けられる仮想の画像表示領域である。仮想スクリーンは、視線方向に直交し、所定の画角を有する矩形平面であり、複数の仮想画素が二次元的に配置されている。一例として、仮想視点から１ｍの距離を隔てた位置に画角が９０°の仮想スクリーンを設定してもよい。
【００４１】
仮想スクリーン設定部５２は、まず、仮想視点を原点とし、視線方向を天頂角θ及び方位角φが共に０ラジアンの方向とした状態（即ち、原点から一旦Ｚ軸の正側を向き、その後真上（Ｙ軸の正側）を見上げた状態）での基本スクリーンを設定する。なお、基本スクリーンは、仮想視点からの距離をｄとし、画角をfovとした場合、以下の（５）に示す直交座標系の座標によって示される四隅の仮想画素によって設定される。
【００４２】
【数３】
2019145059.tif 000005
【００４３】
次に、仮想スクリーン設定部５２は、視線方向に基づいて基本スクリーンに対して回転処理を行う。ここで、仮想視点Ｖの座標を（Ｖx ，Ｖy ，Ｖz ）で表し、視線方向を示すベクトルを（Ｖθ，Ｖφ）で表す。回転の方向は回転軸の正側から見て反時計回りを正方向とすると、視線方向を示すベクトルが（Ｖθ，Ｖφ）である場合、Ｘ軸を中心にＶθ回転させ、その後、Ｙ軸を中心にＶφ回転させる処理を行う。この２つの回転処理はそれぞれ３×３の行列で表現でき、全体を合成変換で表すことができる。従って、仮想スクリーン設定部５２は、上記（５）に示す基本スクリーンの四隅の仮想画素の座標（ｘ，ｙ，ｚ）のそれぞれに対して、以下の（６）式に基づく変換処理を行うことにより、基本スクリーンに回転処理を行うことができる。これにより、仮想スクリーンの四隅の仮想画素の座標が算出され、算出された四隅の仮想画素の座標によって、逐次変更されるユーザの頭位の位置及び向き（仮想視点Ｖ及び視線方向）に基づく仮想スクリーンを設定できる。
【００４４】
【数４】
2019145059.tif 000006
【００４５】
ここで、仮想スクリーン設定部５２は、基本スクリーンを縦横に分割した例えば３０×３０区画のセルに分割し、セル毎に上述の処理を行う。例えば、上述のように設定した基本スクリーンの四隅の仮想画素を含み、基本スクリーンを分割した各セルの頂点となる仮想画素（これらをまとめて格子点という）に対して、上記の（６）式に基づく変換処理を行う。これにより、仮想スクリーンにおける各格子点の座標が設定され、各格子点の座標によって仮想スクリーンが設定される。なお、基本スクリーンにおける各格子点の座標は、上記の（５）に示す基本スクリーンの四隅の仮想画素の座標に基づき、Ｘ軸、Ｙ軸及びＺ軸方向にセルの数で分割した各値とすることができる。
【００４６】
仮想スクリーン設定部５２は、仮想スクリーンにおける各格子点の直交座標系の座標値（ｘ，ｙ，ｚ）を算出した後、極座標系の座標値に変換し、仮想視点Ｖから仮想スクリーンを見た際の各格子点の天頂角θV 及び方位角φV を算出する。なお、仮想スクリーン設定部５２は、上記の（２）式によって直交座標系の座標値を極座標系の座標値に変換する。仮想スクリーン設定部５２は、設定した仮想スクリーンに関する情報を仮想スクリーンテーブル１２ｄに記憶する。
【００４７】
図１１は、仮想スクリーンテーブル１２ｄの構成例を示す模式図である。仮想スクリーンテーブル１２ｄには、仮想スクリーンのセル毎に、セルＩＤと、各セルの四隅の仮想画素である格子点の格子点ＩＤ及び座標と、各格子点である仮想画素の仮想画素ＩＤとが対応付けて記憶される。セルＩＤは各セルに固有に付与された識別情報であり、格子点ＩＤは各格子点に固有に付与された識別情報であり、仮想画素ＩＤは各仮想画素に固有に付与された識別情報である。仮想スクリーン設定部５２は、基本スクリーンからセルを分割する都度、分割したセルに対するセルＩＤ、セルの格子点に対する格子点ＩＤ、格子点である仮想画素に対する仮想画素ＩＤを割り当てて仮想スクリーンテーブル１２ｄに記憶する。また、仮想スクリーン設定部５２は、基本スクリーンを分割した各セルの格子点の座標値に対して上記の（６）式に基づく変換処理及び極座標系への変換処理を行う都度、算出した極座標系の座標値θV ，φV を格子点ＩＤに対応付けて仮想スクリーンテーブル１２ｄに記憶する。仮想スクリーン設定部５２は、基本スクリーンの全てのセルについて上述した処理を行うことにより、仮想スクリーンの全てのセルの情報が仮想スクリーンテーブル１２ｄに記憶され、仮想スクリーンが設定される。
【００４８】
仮想スクリーン補正部５３は、仮想スクリーン設定部５２によって設定された仮想スクリーンに対して、特徴点対応付け部５１によって生成された方位角対応テーブル１２ｃに基づく補正処理を行い、前側画像用仮想スクリーン及び後側画像用仮想スクリーンを生成する。具体的には、仮想スクリーン補正部５３は、仮想スクリーンテーブル１２ｄに記憶された各格子点の座標の方位角φV を、方位角対応テーブル１２ｃに基づいてそれぞれ補正し、前側画像用仮想スクリーンテーブル１２ｅと後側画像用仮想スクリーンテーブル１２ｆとを生成する。前側画像用仮想スクリーンテーブル１２ｅ及び後側画像用仮想スクリーンテーブル１２ｆは、仮想スクリーンテーブル１２ｄ中の各格子点の座標の方位角φV の値が異なるほかは仮想スクリーンテーブル１２ｄと同様の構成を有する。
【００４９】
仮想スクリーン補正部５３はまず、仮想スクリーンテーブル１２ｄに記憶された各格子点の方位角φV を、以下の（７），（８）式を用いて、図６に示したＳＴ座標系における方位角βV に変換する。なお、仮想スクリーン補正部５３は、パノラマ画像の右半分に対応する格子点については（７）式を用い、パノラマ画像の左半分に対応する格子点については（８）式を用いる。また、仮想スクリーン補正部５３は、パノラマ画像の左右方向の中央に対応する格子点についてはβV ＝π／２とし、パノラマ画像の左右方向の左端又は右端に対応する格子点についてはβV ＝−π／２とする。
【００５０】
【数５】
2019145059.tif 000007
【００５１】
次に仮想スクリーン補正部５３は、ＳＴ座標系の空間において、上述したように変換した仮想スクリーンの各格子点の方位角βV に対応する前側画像における画素の方位角βF と後側画像における画素の方位角βR とを求める。ここで、仮想スクリーンにおける方位角βVとパノラマ画像（前側画像及び後側画像）における方位角βF ，βRとの関係について説明する。図１２は、仮想スクリーンにおける方位角βVとパノラマ画像における方位角βF ，βRとの関係を示す模式図である。ここでは、仮想視点ＶをＳＴ座標系の空間において後側撮影位置（０，０）と前側撮影位置（０，１）との間の任意の位置（０，ｔV ）とする。図１２に示すように、ＳＴ空間において被写体Ｐの位置は前側撮影位置（０，１）から見た方位角βF と後側撮影位置（０，０）から見た方位角βRとにより一意に定まり、仮想視点Ｖから被写体Ｐを見た方位角βVは、仮想視点Ｖのｔ座標値ｔV と被写体Ｐの位置とで一意に定まる。即ち、仮想視点Ｖから被写体Ｐを見た方位角βVは、前側撮影位置から被写体Ｐを見た方位角βF と後側撮影位置から被写体Ｐを見た方位角βRと仮想視点Ｖのｔ座標値ｔV とにより一意に定まる。従って、３つの方位角βV，βF ，βRは以下の（９）式で表される関係を有する。なお、図１２では被写体Ｐがカメラ３０の右側（ｔ軸よりも右側）に位置する状態を示すが、被写体がカメラ３０の左側（ｔ軸よりも左側）に位置する場合でも同様の関係を有する。
【００５２】
tanβV ＝ｔV tanβF ＋（１−ｔV ）tanβR       …（９）
【００５３】
従って、仮想スクリーン補正部５３は、上記の（９）式及び方位角対応テーブル１２ｃに基づいて、仮想スクリーンの各格子点の方位角βV に対応する前側画像における画素の方位角βF と後側画像における画素の方位角βR とを求める。図１３は、仮想スクリーン補正部５３による処理を説明するための模式図である。図１３は、図１０Ｂに示した前側画像及び後側画像における特徴点の対応付けを示しており、例えば前側画像における特徴点（tanβFi）と後側画像における特徴点（tanβRi）とがペアＣｉとして対応付けられており、前側画像における特徴点（tanβFi+1）と後側画像における特徴点（tanβRi+1）とがペアＣi+1として対応付けられている。
【００５４】
仮想スクリーン補正部５３は、仮想スクリーンテーブル１２ｄから１つの格子点の方位角βVを読み出し、仮想スクリーン設定部５２が設定した仮想視点Ｖの位置（ここでは、ｔ座標値ｔV ）を取得する。仮想スクリーン補正部５３は、仮想スクリーンにおける処理対象の格子点Ｇの方位角の正接tanβV に対応する前側画像の画素の方位角の正接tanβFV及び後側画像の画素の方位角の正接tanβRVを算出する。まず、仮想スクリーン補正部５３は、方位角対応テーブル１２ｃに記憶してある特徴点の各ペアと、仮想視点Ｖのｔ座標値と、上記の（９）式とに基づいて、特徴点の各ペアにおいてｔ座標値ｔV に対応する方位角の正接を算出する。算出した方位角の正接が、格子点Ｇの方位角の正接tanβV に一致した場合、仮想スクリーン補正部５３は、算出に用いたペア（前側画像の特徴点の方位角の正接tanβF及び後側画像の特徴点の方位角の正接tanβR）を、格子点Ｇの方位角の正接tanβV に対応する前側画像の画素の方位角の正接tanβFV及び後側画像の画素の方位角の正接tanβRVに特定する。
【００５５】
図１３Ａには、ペアＣi において算出したｔ座標値ｔV に対応する方位角の正接が、格子点Ｇの方位角の正接tanβV に一致した場合の例を示す。この場合、格子点Ｇの方位角の正接tanβV に対応する前側画像の画素の方位角の正接tanβFV及び後側画像の画素の方位角の正接tanβRVは、ペアＣi におけるtanβFi及びtanβRiに特定される。よって、仮想スクリーン補正部５３は、特定した前側画像における方位角の正接tanβFi（tanβFV）から方位角βFi（βFV）を算出し、前側画像用仮想スクリーンテーブル１２ｅに記憶する。また、仮想スクリーン補正部５３は、特定した後側画像における方位角の正接tanβRi（tanβRV）から方位角βRi（βRV）を算出し、後側画像用仮想スクリーンテーブル１２ｆに記憶する。このとき、仮想スクリーン補正部５３は、格子点Ｇの方位角βFi又は方位角βRi以外は仮想スクリーンテーブル１２ｄと同じ情報をそれぞれ記憶する。
【００５６】
図１４は、前側画像用仮想スクリーンテーブル１２ｅの構成例を示す模式図である。前側画像用仮想スクリーンテーブル１２ｅは仮想スクリーンテーブル１２ｄと同様の構成を有し、セル毎に、セルＩＤと、各セルの四隅の仮想画素である格子点の格子点ＩＤ及び座標と、各格子点である仮想画素の仮想画素ＩＤとが対応付けて記憶される。後側画像用仮想スクリーンテーブル１２ｆは、前側画像用仮想スクリーンテーブル１２ｅと同様の構成を有する。なお、前側画像用仮想スクリーンテーブル１２ｅ及び後側画像用仮想スクリーンテーブル１２ｆは、図１４に示す構成のほかに、例えば、格子点毎に格子点ＩＤ及び格子点座標と、仮想画素ＩＤとが対応付けて記憶される構成でもよい。
【００５７】
図１３Ｂは、特徴点の各ペアにおいて算出したｔ座標値ｔV に対応する方位角の正接が、格子点Ｇの方位角の正接tanβV に一致しない場合の例を示す。この場合、仮想スクリーン補正部５３は、各ペアにおいて算出した方位角の正接が、格子点Ｇの方位角の正接tanβV の前後の値となるペアを特定する。図１３に示す例では、ペアＣi において算出した方位角の正接（Ｇi）と、ペアＣi+1 において算出した方位角の正接（Ｇi+1）とが、格子点Ｇの方位角の正接tanβV の前後の値となる。図１３Ｂに示すような横軸をtanβR とし縦軸をｔ軸とした二次元空間において、格子点Ｇ（tanβV ，ｔV ）は、直線ｔ＝０及びｔ＝１と、２つのペアＣi 及びＣi+1 の対応を示す線分とに囲まれた台形領域内に存在する。また、直線ｔ＝ｔV において線分ＧiＧi+1は格子点Ｇで内分され、仮想スクリーン補正部５３は、ペアＣi において算出した方位角の正接（Ｇi）と、ペアＣi+1 において算出した方位角の正接（Ｇi+1）と、格子点Ｇの方位角の正接tanβV とに基づいて、内分比（ε：１−ε）を算出する。そして、仮想スクリーン補正部５３は、ペアＣi の前側画像におけるtanβFiとペアＣi+1 の前側画像におけるtanβFi+1と内分比（ε：１−ε）とに基づいて、格子点Ｇの方位角の正接tanβV に対応する前側画像における方位角の正接tanβFVを算出する。具体的には、仮想スクリーン補正部５３は、図１３Ｂに示す二次元空間において、線分tanβFi tanβFi+1をε：１−εで内分する点tanβFVを算出する。同様に、仮想スクリーン補正部５３は、ペアＣi の後側画像におけるtanβRiとペアＣi+1 の後側画像におけるtanβRi+1と内分比（ε：１−ε）とに基づいて、格子点Ｇの方位角の正接tanβV に対応する後側画像における方位角の正接tanβRVを算出する。
【００５８】
そして、仮想スクリーン補正部５３は、算出した前側画像における方位角の正接tanβFVから方位角βFVを算出し、前側画像用仮想スクリーンテーブル１２ｅに記憶する。また、仮想スクリーン補正部５３は、特定した後側画像における方位角の正接tanβRVから方位角βRVを算出し、後側画像用仮想スクリーンテーブル１２ｆに記憶する。このときも仮想スクリーン補正部５３は、格子点Ｇの方位角βFV又は方位角βRV以外は仮想スクリーンテーブル１２ｄと同じ情報をそれぞれ記憶する。
仮想スクリーン補正部５３は、仮想スクリーンテーブル１２ｄに記憶してある全ての格子点の方位角βVに対して上述した処理を行うことにより、仮想スクリーン設定部５２が設定した仮想スクリーンを補正して、前側画像用仮想スクリーン及び後側画像用仮想スクリーンを生成する。具体的には、仮想スクリーン補正部５３は、前側画像用仮想スクリーンテーブル１２ｅと後側画像用仮想スクリーンテーブル１２ｆとを生成する。
【００５９】
仮想画像生成部５５は、パノラマ画像ＤＢ１２ａに記録されたパノラマ画像（前側パノラマ画像及び後側パノラマ画像）と、仮想スクリーン設定部５２及び仮想スクリーン補正部５３によって生成された前側画像用仮想スクリーン及び後側画像用仮想スクリーンとに基づいて、第２情報処理装置２０を装着したユーザに提供する仮想画像を生成する。仮想画像生成部５５は、仮想ビュー生成部５６、合成割合特定部５７、合成部５８を有する。仮想ビュー生成部５６は、前側画像用仮想スクリーンと前側パノラマ画像とに基づいて、前側画像の仮想ビュー（中間仮想画像）を生成する。また仮想ビュー生成部５６は、後側画像用仮想スクリーンと後側パノラマ画像とに基づいて、後側画像の仮想ビュー（中間仮想画像）を生成する。具体的には、仮想ビュー生成部５６は、仮想スクリーンにおける各仮想画素とパノラマ画像における各画素との対応付けを行い、仮想スクリーンの各仮想画素に、それぞれ対応付けられたパノラマ画像の画素の輝度（画素値）を割り当てることにより仮想ビューを生成する。各仮想画素に割り当てられる画素値は、撮影画像（パノラマ画像）が白黒画像である場合、例えば０から２５５までの２５６階調の数値が割り当てられる。また、撮影画像がカラー画像である場合、赤色、緑色、青色のそれぞれについて例えば０から２５５までの数値が割り当てられる。
【００６０】
仮想ビュー生成部５６は、まず、前側画像用仮想スクリーンテーブル１２ｅから１つの格子点の座標値を読み出し、ＳＴ座標系における方位角βF を以下の（１０），（１１）式を用いて極座標系の方位角φF に変換する。なお、仮想ビュー生成部５６は、前側画像用仮想スクリーンの右半分に含まれる格子点については（１０）式を用い、前側画像用仮想スクリーンの左半分に含まれる格子点については（１１）式を用いる。仮想ビュー生成部５６は、前側画像用仮想スクリーンテーブル１２ｅから読み出した格子点の天頂角θと、変換した方位角φF とによる極座標系の座標（θ，φF）を上記の（４）式によって座標（ｕ，ｖ）に変換する。仮想ビュー生成部５６は、前側パノラマ画像において、得られた座標（ｕ，ｖ）の画素を、前側画像用仮想スクリーンの格子点（θ，βF ）に対応付け、画素対応テーブル１２ｇに記憶する。
【００６１】
【数６】
2019145059.tif 000008
【００６２】
図１５は、画素対応テーブル１２ｇの構成例を示す模式図である。画素対応テーブル１２ｇには、パノラマ画像の画像ＩＤ（パノラマ画像ＩＤ）と、前側画像用仮想スクリーンの各格子点の格子点ＩＤと、各格子点に対応付けられた前側パノラマ画像の画素の座標（対応画素座標）とが対応付けて記憶される。パノラマ画像ＩＤはパノラマ画像に固有に付与された識別情報であり、例えばパノラマ画像と共にパノラマ画像ＤＢ１２ａに記憶されている。格子点ＩＤは前側画像用仮想スクリーンテーブル１２ｅに記憶されている格子点ＩＤと同じである。対応画素座標は、上述した処理により前側画像用仮想スクリーンの各格子点に対応付けられた前側パノラマ画像における画素の座標（ｕ，ｖ）である。
【００６３】
仮想ビュー生成部５６は、前側画像用仮想スクリーンテーブル１２ｅから１つの格子点の格子点ＩＤ及び座標を読み出す都度、読み出した格子点ＩＤを画素対応テーブル１２ｇに記憶する。そして、仮想ビュー生成部５６は、読み出した格子点の座標値に対して上述した処理を行い、この格子点に対応付けた前側パノラマ画像の画素の座標（ｕ，ｖ）を格子点ＩＤに対応付けて画素対応テーブル１２ｇに記憶する。仮想ビュー生成部５６は、前側画像用仮想スクリーンテーブル１２ｅに記憶された全ての格子点に対して上述した処理を行うことにより、前側画像用仮想スクリーンの全ての格子点と、前側パノラマ画像の画素との対応付けを行う。仮想ビュー生成部５６は、後側画像用仮想スクリーンテーブル１２ｆについても同様の処理を行い、後側画像用仮想スクリーンの全ての格子点と、後側パノラマ画像の画素との対応付けを行う。なお、後側パノラマ画像についても、パノラマ画像ＩＤ、後側画像用仮想スクリーンの各格子点の格子点ＩＤ、各格子点に対応付けられた後側パノラマ画像の画素の座標値が対応付けて画素対応テーブル１２ｇに記憶される。
【００６４】
前側画像用仮想スクリーンの全ての格子点に対して前側パノラマ画像の画素の対応付けを行った後、仮想ビュー生成部５６は、例えばコンピュータグラフィックスによるレンダリング機能（テクスチャマッピング）を利用し、前側画像用仮想スクリーンの各仮想画素に輝度（画素値）を割り当てて前側画像の仮想ビューを生成する。また、後側画像用仮想スクリーンの全ての格子点に対して後側パノラマ画像の画素の対応付けを行った後、仮想ビュー生成部５６は、後側画像用仮想スクリーンの各仮想画素に輝度（画素値）を割り当てて後側画像の仮想ビューを生成する。具体的には、仮想ビュー生成部５６は、前側画像用仮想スクリーンテーブル１２ｅ及び画素対応テーブル１２ｇに基づいて、前側画像用仮想スクリーンの各仮想画素に対して、前側パノラマ画像の各画素の画素値（輝度）を割り当てる。また、仮想ビュー生成部５６は、後側画像用仮想スクリーンテーブル１２ｆ及び画素対応テーブル１２ｇに基づいて、後側画像用仮想スクリーンの各仮想画素に対して、後側パノラマ画像の各画素の画素値（輝度）を割り当てる。
【００６５】
図１６は、仮想ビューＤＢ１２ｈの構成例を示す模式図であり、図１７及び図１８は、レンダリング処理を説明するための模式図である。仮想ビューＤＢ１２ｈには、パノラマ画像のパノラマ画像ＩＤと、仮想スクリーンの各仮想画素の仮想画素ＩＤと、各仮想画素に割り当てられた輝度（画素値）とが対応付けて記憶される。仮想ビュー生成部５６は、例えば前側画像用仮想スクリーンテーブル１２ｅから１つのセルにおける４つの格子点ＩＤと、各格子点ＩＤに対応する４つの仮想画素ＩＤとを読み出す。次に仮想ビュー生成部５６は、読み出した４つの格子点ＩＤのそれぞれに対応付けられた前側パノラマ画像の画素の座標（対応画素座標）を画素対応テーブル１２ｇから読み出す。そして仮想ビュー生成部５６は、読み出した前側パノラマ画像の画素の座標（ｕ，ｖ）に対応する画素値（輝度）を、パノラマ画像ＤＢ１２ａに記憶してある前側パノラマ画像から取得する。仮想ビュー生成部５６は、前側画像用仮想スクリーンテーブル１２ｅから読み出した４つの仮想画素ＩＤと、前側パノラマ画像から取得した輝度とをそれぞれ対応付けて仮想ビューＤＢ１２ｈに記憶する。図１７に示す例では、仮想スクリーンにおける１つのセルの格子点である仮想画素Ｃ１〜Ｃ４の輝度に、パノラマ画像の画素Ｐ１〜Ｐ４の輝度がそれぞれ割り当てられる。
【００６６】
次に、仮想ビュー生成部５６は、前側画像用仮想スクリーンテーブル１２ｅから読み出した格子点ＩＤの格子点によるセル内の他の仮想画素について、前側パノラマ画像の各画素の輝度を割り当てる。ここでは、仮想ビュー生成部５６は、まず、セル内の各仮想画素に対応する前側パノラマ画像の各画素の座標値を、画素対応テーブル１２ｇから読み出した４つの対応画素座標（ｕ，ｖ）に基づいて算出する。仮想ビュー生成部５６は、４つの対応画素座標のｕ値及びｖ値に対して、例えばバイリニア法等の補間演算を行うことによって、セル内の各仮想画素に対応する前側パノラマ画像の各画素の座標（ｕ，ｖ）を算出する。そして、仮想ビュー生成部５６は、算出した各画素の座標（ｕ，ｖ）に対応する画素値（輝度）を前側パノラマ画像から取得し、取得した各画素値（輝度）と、セル内の各仮想画素に付与された仮想画素ＩＤとをそれぞれ対応付けて仮想ビューＤＢ１２ｈに記憶する。これにより、図１７に示す仮想スクリーンにおけるセル内の各仮想画素の輝度に、前側パノラマ画像の画素Ｐ１〜Ｐ４で囲まれた領域内の各画素の輝度がそれぞれ割り当てられる。
【００６７】
仮想ビュー生成部５６は、前側画像用仮想スクリーンテーブル１２ｅに記憶された全てのセルに対して上述した処理を行うことにより、前側画像用仮想スクリーンの全ての仮想画素に対して、前側パノラマ画像の各画素の輝度を割り当てることができる。これにより、１つの前側パノラマ画像から、第２情報処理装置２０を装着したユーザの頭部の位置及び向きに応じた仮想ビューが生成される。なお、図１７ではセルに対応するパノラマ画像（前側パノラマ画像）の領域を長方形で示しているが、セルに対応するパノラマ画像の領域は、必ずしも長方形に限定されず、４頂点で囲まれる閉領域となる。
【００６８】
ここで、図１８Ａに示す画素Ｐ１〜Ｐ４で囲まれた領域のように、仮想スクリーンのセルに対応するパノラマ画像の領域が、ｕ＝１．０（ｕ＝１．０はｕ＝０．０と一致）をまたぐ場合、図１８Ｂに示すように各画素のｕ値（０．９５，０．０５）に基づいて、領域内の各画素のｕ値を正確に算出（補間）できないという問題が生じる。よって、仮想ビュー生成部５６は、仮想スクリーンの各格子点（各仮想画素）に、パノラマ画像の各画素を割り当てた際に、隣り合う２つの画素のｕ値が規定値（例えば０．５）以上離れているか否かを判断し、離れていると判断した場合、この画素で囲まれる領域は、ｕ＝１．０をまたぐ領域である可能性が高いと判断できる。また、ｕ＝１．０をまたぐ領域である可能性が高いと判断した場合、仮想ビュー生成部５６は、４つの画素のｕ値のうちで小さい方のｕ値に１．０を加算する。これにより、図１８Ｂに示す例では、画素Ｐ２，Ｐ３のｕ値が１．０５となるので、画素Ｐ１〜Ｐ４のｕ値に基づく補間演算により、この領域内の各画素の座標（ｕ値）を算出できる。
【００６９】
仮想ビュー生成部５６は、後側画像用仮想スクリーンテーブル１２ｆについても同様の処理を行い、後側画像用仮想スクリーンの全ての仮想画素に対して、後側パノラマ画像の各画素の輝度を割り当てる。よって、後側パノラマ画像についても仮想ビューが生成され、パノラマ画像ＩＤ、後側画像用仮想スクリーンの各仮想画素の仮想画素ＩＤ、各仮想画素に割り当てられた輝度が対応付けて仮想ビューＤＢ１２ｈに記憶される。
【００７０】
本実施形態では、仮想ビュー生成部５６は、仮想スクリーンの各格子点についてのみ、対応するパノラマ画像の画素の座標を上述の演算によって算出し、仮想スクリーンの他の仮想画素に対応するパノラマ画像の画素の座標ついては補間演算によって算出する。これにより、仮想ビュー生成部５６における演算負荷が軽減され、パノラマ画像描画を高速に行うことが可能となる。なお、仮想ビュー生成部５６は、例えばＯｐｅｎＧＬやＤｉｒｅｃｔＸ等のグラフィックライブラリー（グラフィックＡＰＩ）を用いてテクスチャマッピング処理を行うことにより、仮想スクリーンの各仮想画素にパノラマ画像の各画素の画素値を割り当てるレンダリング処理を行ってもよい。この場合、例えば画素対応テーブル１２ｇの記憶情報のように、仮想スクリーンの各格子点と、パノラマ画像の各画素との対応を指定することにより、グラフィックライブラリーが仮想スクリーンの各仮想画素に対応するパノラマ画像の各画素の座標値を算出する補間演算、各仮想画素に対するパノラマ画像の各画素の画素値の割当（コピー）等を高速に行うことができる。
【００７１】
本実施形態の仮想画像生成部５５は、室内における２箇所（前側撮影位置及び後側撮影位置）で撮影して得られたパノラマ画像のそれぞれから、仮想ビュー生成部（中間画像生成部）５６による上述した処理によって２つの仮想ビューを生成する。仮想画像生成部５５は、生成した２つの仮想ビューを合成し、ユーザが指定した仮想視点及び視線方向（ユーザの頭部の位置及び向き）に応じた仮想画像を生成する。このとき、仮想画像生成部５５は、撮影対象の室内において、２箇所の撮影位置と仮想視点の位置との関係に応じて、各仮想ビューの合成割合（合成率）を異ならせる。合成割合特定部（割合特定部）５７は、各仮想ビューの合成割合を特定し、合成部５８は、各仮想ビューを、それぞれ特定された合成割合で合成して仮想画像を生成する。
【００７２】
合成割合特定部５７は、仮想視点の位置とそれぞれの撮影位置との位置関係に応じて、各仮想ビューに対する合成割合（合成強度）を特定する。合成割合特定部５７は、例えば、仮想視点からそれぞれの撮影位置までの距離が短いほど、それぞれの撮影位置で撮影したパノラマ画像から生成された仮想ビューに対する合成割合を高く設定する。例えば、合成割合特定部５７は、仮想視点と撮影位置との距離をｄとした場合の合成強度Ｓを、Ｓ＝１／ｄで表される関数に基づいて特定する。なお、合成強度Ｓが距離ｄの増加に伴い単調減少する関数であれば、どのような関数を用いてもよい。
【００７３】
また例えば、仮想視点をＳＴ座標系の空間において後側撮影位置（０，０）と前側撮影位置（０，１）との間の任意の位置（０，ｔ）とする。合成割合特定部５７は、ｔ値の増加に伴って前側画像の仮想ビューに対する合成割合αF が単調増加し、後側画像の仮想ビューに対する合成割合αR が単調減少し、αF ＋αR ＝１を満たすように、それぞれの仮想ビューに対する合成割合を以下の（１２）式を用いて特定してもよい。
【００７４】
【数７】
2019145059.tif 000009
【００７５】
また、合成割合特定部５７は、仮想視点がいずれかの撮影位置から所定距離未満の位置である場合に、この撮影位置で撮影したパノラマ画像から仮想ビュー生成部５６が生成した仮想ビューに対する合成割合が１（１００％）となるように各仮想ビューの合成割合を設定してもよい。この場合、合成部５８は、仮想ビューＤＢ１２ｈから読み出した、仮想視点から最も近い撮影位置で撮影されたパノラマ画像から生成された仮想ビューをそのまま仮想画像として出力する。
【００７６】
合成部５８は、それぞれの撮影位置で撮影したパノラマ画像から仮想ビュー生成部５６が生成した仮想ビューのそれぞれを、合成割合特定部５７が特定した合成割合で合成し、仮想画像を生成する。合成部５８は、例えば仮想ビューのそれぞれについて、各画素値に対して、仮想ビュー毎に特定された合成割合を乗算し、乗算後の各仮想ビューの各画素値を加算することにより、仮想画像を生成する。このほかに、合成部５８は、各仮想ビューをアルファブレンディングによって重ねることにより仮想画像を生成してもよい。例えば、２つの第１〜第２仮想ビューをそれぞれ合成割合５０％，５０％で合成する場合、合成部５８は、初期化されたスクリーンに対して第１仮想ビューを合成割合１００％で合成した後、第２仮想ビューを合成割合５０％で合成する。この結果、スクリーン上には第１仮想ビュー及び第２仮想ビューがそれぞれ合成割合５０％で合成された仮想画像が生成される。
【００７７】
上述した各機能により、第１情報処理装置１０は、カメラ３０で撮影されたパノラマ画像と、第２情報処理装置２０によって検出されたユーザの頭部の位置及び向きとに基づいて、ユーザに提供する仮想画像を生成できる。第１情報処理装置１０は、上述したように生成した仮想画像を第２情報処理装置２０へ送信し、第２情報処理装置２０が表示部２４に表示させることにより、第２情報処理装置２０を装着したユーザに、ユーザの頭部の位置及び向きに応じた仮想画像を提供できる。これにより、第１情報処理装置１０は、カメラ３０で撮影した部屋を、部屋の中の任意の視点から任意の方向を見た状態の仮想画像をユーザに提供できる。
【００７８】
次に、カメラ３０を用いて室内を撮影した際にカメラ３０及び第１情報処理装置１０が行う処理をフローチャートに基づいて説明する。図１９は、撮影時にカメラ３０及び第１情報処理装置１０が行う処理の手順を示すフローチャートである。以下の処理は、カメラ３０の記憶部３２に記憶してある制御プログラムに従って制御部３１によって実行され、第１情報処理装置１０の記憶部１２に記憶してある制御プログラムに従って制御部１１によって実行される。なお、撮影を行う場合、カメラ３０はユーザ又はロボット等により所定の位置及び向きに配置されるものとする。
【００７９】
カメラ３０の制御部３１は、シャッターボタン３４からの指示に基づいて撮影部３５による撮影を行う（Ｓ１）。制御部３１は、撮影により、図５Ａに示すような全天球画像を生成し（Ｓ２）、全天球画像から図５Ｂに示すような平面のパノラマ画像を生成する（Ｓ３）。制御部３１は、生成したパノラマ画像を第１情報処理装置１０に送信する（Ｓ４）。なお、制御部３１は、撮影位置を示す情報を取得し、パノラマ画像と共に送信する。第１情報処理装置１０の制御部（画像取得部）１１は、カメラ３０からパノラマ画像を受信する（Ｓ５）。なお、制御部１１は、パノラマ画像と共に撮影位置の情報も受信し、受信した撮影位置の情報とパノラマ画像とを対応付けてパノラマ画像ＤＢ１２ａに記録する（Ｓ６）。カメラ３０は、室内の２箇所の撮影位置でユーザ又はロボット等により所定の向きに配置された状態で、上述したステップＳ１〜Ｓ４の処理を行い、第１情報処理装置１０は、カメラ３０から送信されてきた２つのパノラマ画像をパノラマ画像ＤＢ１２ａに記録する。
【００８０】
次に、カメラ３０で撮影した２つのパノラマ画像（前側パノラマ画像及び後側パノラマ画像）の特徴点を対応付ける際に第１情報処理装置１０が行う処理をフローチャートに基づいて説明する。図２０は、第１情報処理装置１０による特徴点の対応付け処理の手順を示すフローチャートである。なお、２つのパノラマ画像における特徴点を対応付ける処理は、第２情報処理装置２０を用いてパノラマ画像を再生（表示）する際に行ってもよいし、パノラマ画像を取得した時点で行ってもよい。
【００８１】
第１情報処理装置１０の制御部１１は、同一の部屋で撮影されたパノラマ画像（ここでは２つのパノラマ画像）をパノラマ画像ＤＢ１２ａから読み出す（Ｓ１１）。ここで、２つのパノラマ画像は、それぞれの撮影位置で、カメラ３０の上下方向を鉛直方向に一致させ、カメラ３０の前側を後側撮影位置から前側撮影位置への方向に一致させた状態で撮影されている。よって、２つのパノラマ画像では、画像の上下方向が鉛直方向に一致し、画像の左右端がカメラ３０の後側に一致し、画像の左右方向の中央がカメラ３０の前側に一致している。
【００８２】
制御部１１は、２つのパノラマ画像において、上下方向の中央に並ぶ画素に対して対応付けるべき特徴点を取得する（Ｓ１２）。制御部１１は、２つのパノラマ画像のそれぞれにおける特徴点を入力部１４にて取得してもよいし、２つのパノラマ画像において上下方向の中央に並ぶ画素の画素値の変動に対して、Dynamic Time Warping等の手法を用いて自動的に取得してもよい。制御部１１は、２つのパノラマ画像に対してそれぞれ取得した特徴点を対応付けて特徴点対応テーブル１２ｂに記憶する（Ｓ１３）。ここでの特徴点は、図７Ａ，Ｂに示したＬ軸におけるＬ座標値で示されており、制御部１１は、特徴点対応テーブル１２ｂに記憶された２つのパノラマ画像における特徴点のＬ座標値をそれぞれＳＴ座標系の方位角に変換する。また制御部１１は、それぞれ変換した方位角の正接を算出し、それぞれ算出した方位角の正接（方位角情報）を対応付けて方位角対応テーブル１２ｃに記憶する（Ｓ１４）。制御部１１は、特徴点対応テーブル１２ｂに記憶された全ての特徴点をそれぞれ方位角情報に変換することにより、図１０Ａに示すような方位角対応テーブル１２ｃを生成し、処理を終了する。
【００８３】
次に、第２情報処理装置２０を用いてパノラマ画像を再生（表示）する際に第１情報処理装置１０及び第２情報処理装置２０が行う処理をフローチャートに基づいて説明する。図２１及び図２２は、表示時に第１情報処理装置１０及び第２情報処理装置２０が行う処理の手順を示すフローチャートである。以下の処理は、第１情報処理装置１０の記憶部１２に記憶してある仮想画像生成プログラムＰＧを含む制御プログラムに従って制御部１１によって実行され、第２情報処理装置２０の記憶部２２に記憶してある制御プログラムに従って制御部２１によって実行される。ここでは、図１０Ａに示すような方位角対応テーブル１２ｃは予め生成されているものとする。
【００８４】
第２情報処理装置２０の制御部２１は、センサ部２５によってユーザの頭部の位置及び向きを検出し、位置及び向きを示す情報を取得する（Ｓ２１）。例えば制御部２１は、センサ部２５のＧＰＳによって第２情報処理装置２０の現在位置を検出し、センサ部２５の磁気センサによって第２情報処理装置２０の向きを検出する。制御部２１は、取得した位置及び向きを示す情報を通信部２３にて第１情報処理装置１０へ送信する（Ｓ２２）。制御部２１は、位置及び向きの検出及び送信を、所定時間間隔で行ってもよいし、例えば入力部（図示せず）を介したユーザからの指示に従って行ってもよい。
【００８５】
一方、第１情報処理装置１０の制御部１１は、再生すべきパノラマ画像をパノラマ画像ＤＢ１２ａから選択して読み出す（Ｓ３１）。再生すべきパノラマ画像は、入力部１４又は第２情報処理装置２０を介して指定される。なお、入力部１４又は第２情報処理装置２０を介して、再生すべきパノラマ画像を撮影した部屋が指定され、制御部１１は、指定された部屋で撮影されたパノラマ画像（ここでは２つのパノラマ画像）をパノラマ画像ＤＢ１２ａから読み出してもよい。
【００８６】
制御部（受付部）１１は、ステップＳ２２で第２情報処理装置２０が送信した位置及び向きを示す情報を通信部１３にて受信する（Ｓ３３）。なお、制御部１１は、受信した位置及び向きを示す情報を記憶部１２に逐次記憶しており、前回受信した情報と比較して、位置又は向きが変化したか否かを判断する（Ｓ３４）。位置及び向きのいずれも変化していないと判断した場合（Ｓ３４：ＮＯ）、制御部１１は、ステップＳ３３の処理に戻り、第２情報処理装置２０から位置及び向きを示す情報を受信する都度、位置又は向きが変化したか否かを判断する。
【００８７】
位置又は向きが変化したと判断した場合（Ｓ３４：ＹＥＳ）、制御部１１は、受信した位置及び向きに基づいて仮想視点を設定し、設定した仮想視点に応じた仮想スクリーンを設定（特定）する（Ｓ３５）。例えば、制御部１１は、ユーザの頭部の位置に基づいて前回設定した仮想視点を移動させ、移動後の仮想視点から、ユーザの頭部の向きが示す視線方向に所定距離隔てて、視線方向に直交し、所定の画角を有する矩形平面である仮想スクリーンを設定する。なお、制御部１１は、上述したように、まず基本スクリーンを設定し、基本スクリーンに対して２回の回転処理を行うことにより仮想スクリーンを設定する。
【００８８】
制御部１１は、設定した仮想スクリーンに対して補正処理を行う（Ｓ３６）。図２３は、第１情報処理装置１０による仮想スクリーンの補正処理の手順を示すフローチャートである。制御部１１は、設定された仮想スクリーンの１つの格子点の方位角φV を仮想スクリーンテーブル１２ｄから読み出す（Ｓ５１）。制御部１１は、読み出した方位角φV を上記の（７）式又は（８）式を用いて、図６に示したＳＴ座標系における方位角βV に変換する（Ｓ５２）。
【００８９】
制御部１１は、ステップＳ３５で設定した仮想視点のｔ座標値ｔV を取得する（Ｓ５３）。制御部１１は、取得したｔ座標値ｔV と、方位角対応テーブル１２ｃに記憶してある方位角情報の各ペアと、上記の（９）式とに基づいて、各ペアにおいてｔ座標値ｔV に対応する方位角の正接tanβを算出する（Ｓ５４）。制御部１１は、各ペアにおいて算出したtanβのいずれかが、ステップＳ５２で変換した方位角βV の正接に一致するか否かを判断する（Ｓ５５）。一致すると判断した場合（Ｓ５５：ＹＥＳ）、制御部１１は、算出に用いたペアにおける前側画像の特徴点の方位角の正接tanβF 及び後側画像の特徴点の方位角の正接tanβR からそれぞれ方位角βF 及びβR を算出する（Ｓ５６）。制御部１１は、算出した方位角βF を前側画像用仮想スクリーンテーブル１２ｅに記憶し（Ｓ５７）、算出した方位角βR を後側画像用仮想スクリーンテーブル１２ｆに記憶する（Ｓ５８）。なお、算出した方位角βF 及びβR 以外の情報は仮想スクリーンテーブル１２ｄと同じ情報をそれぞれ記憶する。
【００９０】
制御部１１は、仮想スクリーンテーブル１２ｄに記憶してある全ての格子点に対して上述した処理を終了したか否かを判断する（Ｓ５９）。全ての格子点に対する処理を終了していないと判断した場合（Ｓ５９：ＮＯ）、制御部１１はステップＳ５１の処理に戻り、未処理の格子点の方位角φV を仮想スクリーンテーブル１２ｄから読み出し、上述した処理を繰り返す。
【００９１】
一方、各ペアにおいて算出したtanβの全てが、ステップＳ５２で変換した方位角βV の正接に一致しないと判断した場合（Ｓ５５：ＮＯ）、制御部１１は、各ペアにおいて算出したtanβのうちで、ステップＳ５２で変換した方位角βV の正接tanβV の前後の値となる方位角情報のペアを取得する（Ｓ６０）。制御部１１は、取得した方位角情報のペアに基づいて、ステップＳ５２で変換した方位角βV の正接tanβV に対応する前側画像における方位角の正接tanβFV及び後側画像における方位角の正接tanβRVを算出する（Ｓ６１）。具体的には、制御部１１は、図１３Ｂに示した二次元空間において、線分ＧiＧi+1における格子点Ｇの内分比を算出し、算出した内分比と、前側画像におけるtanβFi及びtanβFi+1とに基づいて、前側画像における方位角の正接tanβFVを算出する。また、制御部１１は、算出した内分比と、後側画像におけるtanβRi及びtanβRi+1とに基づいて、後側画像における方位角の正接tanβRVを算出する。
【００９２】
そして、制御部１１は、算出した前側画像における方位角の正接tanβFV及び後側画像における方位角の正接tanβRVからそれぞれ方位角βFV及びβRVを算出する（Ｓ５６）。制御部１１は、算出した方位角βFVを前側画像用仮想スクリーンテーブル１２ｅに記憶し（Ｓ５７）、算出した方位角βRVを後側画像用仮想スクリーンテーブル１２ｆに記憶する（Ｓ５８）。仮想スクリーンテーブル１２ｄに記憶してある全ての格子点に対して上述した処理を終了したと判断した場合（Ｓ５９：ＹＥＳ）、制御部１１は、仮想スクリーンの補正処理を終了し、図２１及び図２２の処理に戻る。
【００９３】
制御部１１は、前側画像用仮想スクリーンテーブル１２ｅ及びステップＳ３１でパノラマ画像ＤＢ１２ａから読み出した前側パノラマ画像に基づいて、前側画像の仮想ビューを生成する（Ｓ３７）。具体的には、制御部１１は、前側画像用仮想スクリーンの各仮想画素に、前側パノラマ画像の画素の画素値をそれぞれ対応付けることにより、前側画像の仮想ビューを生成する。同様に、制御部１１は、後側画像用仮想スクリーンテーブル１２ｆ及びステップＳ３１でパノラマ画像ＤＢ１２ａから読み出した後側パノラマ画像に基づいて、後側画像の仮想ビューを生成する（Ｓ３８）。また制御部１１は、ステップＳ３７，Ｓ３８でそれぞれ生成した２つの仮想ビューに対して合成割合を特定する（Ｓ３９）。そして制御部１１は、ステップＳ３７，Ｓ３８で生成した２つの仮想ビューを、ステップＳ３９で特定した合成割合に基づいて合成して仮想画像を生成する（Ｓ４０）。制御部１１は、生成した仮想画像を通信部１３にて第２情報処理装置２０へ送信する（Ｓ４１）。
【００９４】
第２情報処理装置２０の制御部２１は、第１情報処理装置１０が送信した仮想画像を通信部２３にて受信し（Ｓ２３）、受信した仮想画像を表示部２４に表示させる（Ｓ２４）。第２情報処理装置２０の制御部２１は、ユーザの頭部の位置及び向きの検出及び送信を、所定時間間隔又はユーザからの指示に従って行い、第１情報処理装置１０の制御部１１は、第２情報処理装置２０から位置及び向きの情報を受信する都度、ステップＳ３４〜Ｓ４１の処理を行う。これにより、実写データに基づいて、任意の視点から見た画像を生成する情報処理システム４０を提供することができる。
【００９５】
上述した処理により、ユーザは、撮影された部屋の中を移動しながら、部屋の広さ、家具の配置、窓の外の景色等を感覚的に把握することができる。なお、カメラ３０を用いて撮影する空間は、博物館、美術館、テーマパーク、アミューズメント施設、観光地、商業施設等であってもよい。
【００９６】
上述した処理において、第２情報処理装置２０の制御部２１は、ステップＳ２１で取得した位置及び向きが、前回取得した位置及び向きに対して変化したか否かを判断し、変化した場合にのみ、取得した位置及び向きの情報を第１情報処理装置１０へ送信するようにしてもよい。この場合、第１情報処理装置１０の制御部１１は、ステップＳ３４の処理を行う必要がなく、第２情報処理装置２０から受信した位置及び向きの情報に基づいて、ステップＳ３５以降の処理を行えばよい。
【００９７】
本実施形態によると、撮影した各パノラマ画像から、視点位置の移動に応じて生成された仮想スクリーンに投影される各仮想ビューが生成される。これにより、単体の各パノラマ画像から視点位置を移動した効果のある映像表現が得られる。また本実施形態によると、複数箇所で撮影したパノラマ画像（仮想ビュー）から生成された仮想画像が提供される。複数の仮想ビューから仮想画像を生成する場合、例えば仮想視点と各撮影位置との距離に応じた合成割合で複数の仮想ビューが合成される。これにより、表示されるパノラマ画像（仮想ビュー）が切り替えられる際に、仮想視点と撮影位置との距離に応じた重み付け（合成割合）を各仮想ビューに付与できるので、画像の遷移を滑らかに行うことができ、画像の切り替えの際にユーザに与える違和感を抑制できる。また、各仮想ビューを生成する際に、２つの仮想ビューにおいて横方向（方位角方向）の歪みを解消するように、仮想スクリーンの各格子点における方位角を補正する。よって、２つの仮想ビュー間において方位角方向が一致するので、２つの仮想ビューを合成した場合に生じる横方向（方位角方向）のズレを抑制できる。
【００９８】
本実施形態において、撮影対象の部屋における撮影位置は３箇所以上としてもよい。この場合、それぞれ２箇所の撮影位置間で、撮影したパノラマ画像における特徴点の対応付けを行い、本実施形態における処理を行えばよい。これにより、撮影対象の部屋の任意の位置に応じた２つのパノラマ画像を用いて、任意の視点から任意の方向を見た状態の仮想画像をユーザに提供できる。
【００９９】
本実施形態によると、ＨＭＤ型の第２情報処理装置２０を使用するので、コンピュータ等の操作に不慣れなユーザであっても容易に様々な視点から室内を見た状態の画像を確認できる情報処理システム４０を提供できる。本実施形態によると、市販の全天球カメラ等を用いて撮影したＪＰＥＧ（Joint Photographic Experts Group）形式等の汎用の形式の画像を使用して、様々な視点から室内を見た状態の画像を提供できる情報処理システム４０を提供できる。
本実施形態において、例えば、右目を仮想視点に設定して作成した仮想画像を右目側に表示し、左目を仮想視点に設定して作成した仮想画像を左目側に表示することにより、立体感のある画像を提供する情報処理システム４０を提供できる。
カメラ３０は、全天球カメラに限定しない。たとえば、半球型の範囲を撮影可能なカメラであってもよい。通常の平面画像撮影用のカメラでもよい。
【０１００】
（実施形態２）
本実施形態は、仮想視点が静止している場合に１つの仮想ビューから生成された仮想画像を提供する情報処理システム４０に関する。実施形態１と共通する部分については説明を省略する。
【０１０１】
本実施形態では、仮想視点が移動している場合、上述した実施形態１と同様の処理が行われ、２箇所の撮影位置で撮影したパノラマ画像からそれぞれ生成された２つの仮想ビューが適切な合成割合にて合成され、仮想視点から任意の方向を見た場合の仮想画像が生成される。一方、仮想視点が静止している場合、仮想視点の近傍の撮影位置で撮影したパノラマ画像から生成された仮想ビューのみを用いて仮想画像が生成される。また、移動中の仮想視点が静止した場合、又は静止中の仮想視点が移動した場合に、２つの仮想ビューを合成して仮想画像を生成する処理と、１つの仮想ビューを用いて仮想画像を生成する処理とが切り替えられるが、このとき、２つの処理は所定時間をかけて切り替えられる。
【０１０２】
具体的には、本実施形態の合成割合特定部５７は、仮想視点が移動を停止した場合、この時点での各仮想ビューに対する合成割合から、仮想視点の近傍の撮影位置で撮影したパノラマ画像（仮想ビュー）に対する合成割合を徐々に大きくなるように変更し、所定時間の経過後に１（１００％）に設定する。このとき、合成割合特定部５７は、他方のパノラマ画像（仮想ビュー）に対する合成割合を徐々に小さくなるように変更し、所定時間の経過後に０（０％）に設定する。また、合成割合特定部５７は、静止中の仮想視点が移動を開始した場合、仮想視点の近傍の撮影位置で撮影したパノラマ画像に対する合成割合を徐々に小さくなるように変更し、所定時間の経過後に、２つの撮影位置と仮想視点との位置関係に基づく合成割合に設定する。このとき、合成割合特定部５７は、他方のパノラマ画像に対する合成割合を徐々に大きくなるように変更し、所定時間の経過後に、２つの撮影位置と仮想視点との位置関係に基づく合成割合に設定する。
【０１０３】
図２４は、仮想ビューに対する合成割合の変化を示す図表である。図２４Ａは仮想視点が移動を停止した場合における各仮想ビューの合成割合を示し、図２４Ｂは仮想視点が移動を開始した場合における各仮想ビューの合成割合を示す。図２４Ａにおいて、横軸は、移動中の仮想視点が停止してからの経過時間ＥＴを示し、縦軸は、それぞれの仮想ビューに対する合成割合αR ，αF を示す。図２４Ｂにおいて、横軸は、停止中の仮想視点が移動を開始してからの経過時間ＥＴを示し、縦軸は、それぞれの仮想ビューに対する合成割合αR ，αF を示す。図２４Ａ，Ｂに示す例では、仮想視点の近傍の撮影位置を後側撮影位置とする。本実施形態では、図２４Ａに示すように、移動中の仮想視点が後側撮影位置の近傍で静止した場合、後側画像の仮想ビューに対する合成割合は、この時点での合成割合αR から単調増加し、所定時間ｅｔの経過後に１となる。このとき、前側画像の仮想ビューに対する合成割合は、この時点での合成割合αF から単調減少し、所定時間ｅｔの経過後に０となる。所定時間ｅｔは例えば数秒程度としてもよい。また本実施形態では、図２４Ｂに示すように、後側撮影位置の近傍で静止中の仮想視点が移動を開始した場合、後側画像の仮想ビューに対する合成割合は、この時点での合成割合１から単調減少し、所定時間ｅｔの経過後にαR となる。このとき、前側画像の仮想ビューに対する合成割合は、この時点での合成割合０から単調増加し、所定時間ｅｔの経過後にαF となる。
【０１０４】
本実施形態では、例えば、図２１及び図２２中のステップＳ３９の処理において、第１情報処理装置１０の制御部（判断部）１１は、ステップＳ３３で受信した位置を示す情報に基づいて、仮想視点の位置が移動中（変化中）であるか否かを判断する。位置が移動中であると判断した場合、制御部１１は、実施形態１におけるステップＳ３９と同じ処理を行い、例えば仮想視点の位置とそれぞれの撮影位置との位置関係に応じて２つの仮想ビューに対する合成割合を特定する。一方、位置が移動中でないと判断した場合、制御部１１は、仮想視点が移動を開始したのか、移動を停止したのかを判断する。そして、制御部１１（合成割合特定部５７）は、仮想視点が移動を開始したのか、移動を停止したのかに応じて、上述したように２つの仮想ビューに対する合成割合を特定し、その後、ステップＳ４０以降の処理を行う。
【０１０５】
上述した処理により、本実施形態では、仮想視点の移動中は、前側画像の仮想ビュー及び後側画像の仮想ビューを合成した仮想画像が生成され、実施形態１と同様の効果が得られる。また、仮想視点の静止中は、仮想視点の近傍の撮影位置で撮影したパノラマ画像から生成された仮想ビューのみを用いた仮想画像が生成される。この場合、仮想ビューを合成しないので、仮想ビューを合成した場合に生じる画像のブレが生じず、ブレのない画像を提供できる。また、仮想視点の移動停止時又は移動開始時では、２つの仮想ビューを合成して仮想画像を生成する処理と、１つの仮想ビューを用いて仮想画像を生成する処理とを所定時間をかけて切り替える。よって、２つの処理が切り替えられることに伴って表示される仮想画像が切り替えられる際にユーザに与える違和感を抑制できる。
【０１０６】
（実施形態３）
本実施形態は、２つのパノラマ画像において、被写体の特徴点（画素）の対応付けを、撮影位置の高さに対応する画像中の位置以外の位置においても行う情報処理システム４０に関する。実施形態１と共通する部分については説明を省略する。
本実施形態の第１情報処理装置１０においても、制御部１１は仮想画像生成プログラムＰＧを実行することによって、図８に示す各機能を実現する。なお、本実施形態の第１情報処理装置１０では、特徴点対応付け部５１、仮想スクリーン設定部５２及び仮想スクリーン補正部５３が行う処理が実施形態１とは異なるので、異なる処理についてのみ説明する。
【０１０７】
本実施形態の特徴点対応付け部５１は、撮影対象の空間内の２箇所（前側撮影位置及び後側撮影位置）で撮影した２つのパノラマ画像において、前側撮影位置及び後側撮影位置を結ぶ直線とそれぞれのパノラマ画像とが交差する２点を通る複数の線上で、同じ被写体が撮影された方位角方向の位置を対応付ける。図２５は、パノラマ画像の例を示す模式図であり、図２５Ａは前側撮影位置で撮影したパノラマ画像（前側画像）の例であり、図２５Ｂは後側撮影位置で撮影したパノラマ画像（後側画像）の例である。なお、図２５は正距円筒図法により長方形に展開されたパノラマ画像を示す。図２５に示す２つのパノラマ画像は、画像の上下方向が鉛直方向に一致し、左右端がカメラ３０の後側（撮影方向の反対方向）に一致し、左右方向の中央がカメラ３０の前側（撮影方向）に一致している。このようなパノラマ画像間では、画像の上下方向の中央部だけでなく、画像における撮影方向及び撮影方向の反対方向に対応する位置で上下方向（高さ方向）の中央位置（図２５中の点Ｄ１，Ｄ２，Ｄ３，Ｄ４）を通る複数の線（曲線）上に、同じ被写体が写っている。また同じ被写体は、２箇所の撮影位置間の視差によってパノラマ画像中の異なる位置に写っている。例えば図２５Ａに示す前側画像において線Ｌａ１上に写っている被写体は、図２５Ｂに示す後側画像においても線Ｌａ１上に写っている。このような線を以下ではエピポーラ線という。
【０１０８】
図２６は、エピポーラ線の説明図である。図２６には、前側撮影位置及び後側撮影位置のそれぞれで撮影したパノラマ画像のイメージを球体で示しており、球体の表面上の曲線Ｌａ１，Ｌａ２，Ｌｂ１，Ｌｂ２はそれぞれエピポーラ線を示している。ここで、後側撮影位置から前側撮影位置に向かう方向を天頂方向とした極座標系（以下では共通軸極座標系という）を用いる。なお、後側撮影位置から前側撮影位置に向かう方向は、撮影方向（カメラ３０の前側）であり、図５Ａに示した直交座標系のＺ軸の負方向（−Ｚ軸方向）である。なお、共通軸極座標系の方位角には、撮影空間のＸ軸の負方向を基準として、Ｚ軸の負方向から見てＺ軸を中心に反時計回りの角度φC を用いる。また共通軸極座標系の天頂角には、Ｚ軸の負方向を基準として、撮影位置を中心としてＺ軸の正方向に向かう角度θC を用いる。以下では、共通軸極座標系と区別するために、パノラマ画像の各画素の位置を表現するための極座標系をローカル極座標系と呼び、ローカル極座標系の座標を（ｒL ，θL ，φL ）で示す。
【０１０９】
エピポーラ線は、それぞれのパノラマ画像が、２つの撮影位置を結ぶ直線（−Ｚ軸）と交差する２点Ｄ１及びＤ２，Ｄ３及びＤ４を通る。具体的には、前側画像におけるエピポーラ線は、空間内の各撮影位置を結ぶ直線（−Ｚ軸）と、前側撮影位置で撮影した全天球画像（前側画像）とが交差する２点Ｄ１，Ｄ２を通り、前側画像に係る全天球上の線である。また、後側画像におけるエピポーラ線は、−Ｚ軸と、後側撮影位置で撮影した全天球画像（後側画像）とが交差する２点Ｄ３，Ｄ４を通り、後側画像に係る全天球上の線である。またそれぞれのエピポーラ線は、共通軸極座標系において天頂角θC 方向に並ぶ線（画素列）であり、図５Ａに示す直交座標系における水平面であるＸＺ平面を基準として、−Ｚ軸を中心に、共通軸極座標系における方位角方向に例えば１５°間隔毎に回転させて設けられている。なお、エピポーラ線の数及び方位角方向の間隔はこれに限らず、任意の数又は任意の間隔とすることができる。図２６に示す共通軸極座標系で表したエピポーラ線を正距円筒図法により展開することにより、図２５に示すようにパノラマ画像上にエピポーラ線Ｌａ１，Ｌａ２…を表すことができる。なお、共通軸極座標系の座標（ｒC ，θC ，φC ）をローカル極座標系の座標（ｒL ，θL ，φL ）に変換する場合、一旦直交座標系の座標に変換した後にローカル極座標系の座標に変換する。なお、ここでの直交座標系を、パノラマ画像の各画素の位置を表現するための直交座標系と区別するためにワールド直交座標系と呼び、ワールド直交座標系の座標を（ｘW ，ｙW ，ｚW ）で示す。
【０１１０】
図２７は、座標系の関係を説明するための模式図である。図２７Ａはローカル極座標系及びワールド直交座標系の関係を示し、図２７Ｂはワールド直交座標系及び共通軸極座標系の関係を示す。ワールド直交座標系には、鉛直上方向をＹW 軸の正側、水平面をＸW 軸及びＺW 軸で表す３次元の右手系の直交座標系を用いる。よって、空間内の任意の位置Ｐは、ワールド直交座標系の座標（ｘW ，ｙW ，ｚW ）で表すことができる。図２７Ａに示すようにローカル極座標系は、鉛直上方向（ＹW 軸の正側）を基準とした天頂角θL と、鉛直上方向から見てＺW 軸の正側を基準として水平面であるＸW ＺW 平面内の反時計回りの方位角φL と、原点０からの距離ｒL とによって表される。よって、３次元空間中の任意の位置Ｐは、ワールド直交座標系の座標（ｘW ，ｙW ，ｚW ）とローカル極座標系の座標（ｒL ，θL ，φL ）とで表すことができ、ワールド直交座標系の座標（ｘW ，ｙW ，ｚW ）及びローカル極座標系の座標（ｒL ，θL ，φL ）は以下の（１３）式及び（１４）式によって相互に変換可能である。
【０１１１】
【数８】
2019145059.tif 000010
【０１１２】
なお、ローカル極座標系の座標値（ｒL ，θL ，φL ）で表される全天球画像は、正距円筒図法により、横軸及び縦軸をそれぞれ、方位角φL 及び天頂角θL をそれぞれ０〜１の範囲に正規化したｕ値（ｕ軸）及びｖ値（ｖ軸）とする平面（長方形）の画像に展開できる。ここで、ローカル極座標系の方位角φL 及び天頂角θL と、ｕ値及びｖ値とは、以下の（１５）式及び（１６）式によって相互に変換可能である。
【０１１３】
【数９】
2019145059.tif 000011
【０１１４】
図２７Ｂに示すように共通軸極座標系は、ワールド直交座標系のＺW 軸の負方向を基準とした天頂角θC と、ＺW 軸の負方向から見てＸW 軸の負側を基準としてＸW ＹW 平面内の反時計回りの方位角φC と、原点０からの距離ｒC とによって表される。よって、３次元空間中の任意の位置Ｐは、ワールド直交座標系の座標（ｘW ，ｙW ，ｚW ）と共通軸極座標系の座標（ｒC ，θC ，φC ）とで表すことができ、ワールド直交座標系の座標（ｘW ，ｙW ，ｚW ）及び共通軸極座標系の座標（ｒC ，θC ，φC ）は以下の（１７）式及び（１８）式によって相互に変換可能である。
【０１１５】
【数１０】
2019145059.tif 000012
【０１１６】
本実施形態の特徴点対応付け部（対応付け部）５１は、２つのパノラマ画像において、それぞれのエピポーラ線について、エピポーラ線上に写っている被写体の特徴点（画素）の対応付けを行う。例えば、特徴点対応付け部５１は、図２５Ａ，Ｂに示すように、２つのパノラマ画像において、エピポーラ線Ｌａ４上に配置する画素のうちで同じ被写体の同じ部分の画素を特徴点Ｌａ４ａ〜Ｌａ４ｄとしてそれぞれ対応付ける。まず、特徴点対応付け部５１は、エピポーラ線毎に、対応付けるべきそれぞれの特徴点について、前側画像における座標値（ｕF ，ｖF ）と後側画像における座標値（ｕR ，ｖR ）とを特定する。特徴点対応付け部５１は、特定した座標値（ｕF ，ｖF ）及び（ｕR ，ｖR ）をそれぞれ、上記の（１５）式を用いてローカル極座標系の座標値（θLF，φLF）及び座標値（θLR，φLR）に変換する。次に特徴点対応付け部５１は、ローカル極座標系の座標値（θLF，φLF）及び座標値（θLR，φLR）をそれぞれ、上記の（１３）式を用いてワールド直交座標系の座標値（ｘWF，ｙWF，ｚWF）及び座標値（ｘWR，ｙWR，ｚWR）に変換する。なお、ローカル極座標系における距離ｒL は適宜の距離とすればよい。更に特徴点対応付け部５１は、ワールド直交座標系の座標値（ｘWF，ｙWF，ｚWF）及び座標値（ｘWR，ｙWR，ｚWR）をそれぞれ、上記の（１８）式を用いて共通軸極座標系の座標値（θCF，φCF）及び座標値（θCR，φCR）に変換する。ここで、対応付けられる特徴点は、同じエピポーラ線上の画素であるので、共通軸極座標系の方位角φC が同じである。即ち、前側画像における特徴点の共通軸極座標系の方位角φCFと後側画像における特徴点の共通軸極座標系の方位角φCRとは同じである。よって、特徴点対応付け部５１は、それぞれのエピポーラ線（共通軸極座標系の方位角φC ）毎に、それぞれの特徴点について、前側画像における天頂角θCFと後側画像における天頂角θCRとを対応付ける。特徴点対応付け部５１は、それぞれのエピポーラ線について、特徴点毎に天頂角θCF及びθCRのペアを対応付けて記憶する。
【０１１７】
また、特徴点対応付け部５１は、共通軸極座標系の天頂角θCF及びθCRではなく、図６に示したＳＴ座標系の方位角βF 、βR （又は方位角βF 、βR の正接tanβF 、tanβR ）にて対応付けを行ってもよい。なお、図６に示したＳＴ座標系を以下ではエピポーラ面座標系と呼び、ワールド直交座標系のＺW 軸の負方向をｔ軸とし、ｔ軸に直交する方向をｓ軸とし、座標（ｓE ，ｔE ）によってエピポーラ面座標系の任意の位置を表すことができる。この場合、特徴点対応付け部５１は、上述したように対応付けた特徴点について、前側画像における共通軸極座標系の天頂角θCF及び後側画像における共通軸極座標系の天頂角θCRをそれぞれ、以下の（１９）式を用いてエピポーラ面座標系の方位角βF 、βR に変換する。
【０１１８】
β＝θC −π／２      …（１９）
【０１１９】
この場合、特徴点対応付け部５１は、図９に示す特徴点対応テーブル１２ｂは生成せずに、共通軸極座標系の方位角φC 毎に、前側画像におけるエピポーラ面座標系の方位角βF の正接tanβF と後側画像におけるエピポーラ面座標系の方位角βR の正接tanβR とを対応付けて記憶した図１０Ａに示すような方位角対応テーブル１２ｃを生成する。なお、本実施形態の特徴点対応付け部５１は、共通軸極座標系における方位角φC が−π／２＜φC ≦π／２の範囲にあるエピポーラ線のそれぞれについて、共通軸極座標系における天頂角θC が０≦θC ≦πの範囲にある特徴点について対応付けを行う。
【０１２０】
特徴点対応付け部５１は、２つのパノラマ画像間で対応付けるべき特徴点を、例えばユーザ入力によって受け付けてもよい。この場合、例えば特徴点対応付け部５１は、第１情報処理装置１０の表示部１５に、エピポーラ線をそれぞれ付加した２つのパノラマ画像を表示し、特徴点とすべき箇所（画素）を入力部１４にて受け付ける。なお、特徴点対応付け部５１は、図２６に示したそれぞれのエピポーラ線について、エピポーラ線上の各画素の共通軸極座標系の座標値（θC ，φC ）を、上記の（１７）式を用いてワールド直交座標系の座標値（ｘW ，ｙW ，ｚW ）に変換し、更に上記の（１４）式を用いてローカル極座標系の座標値（θL ，φL ）に変換する。更に特徴点対応付け部５１は、ローカル極座標系の方位角φL 及び天頂角θL を上記の（１６）式を用いてｕ値及びｖ値に変換する。これにより、特徴点対応付け部５１は、図２５に示すように、表示部１５に表示した２つのパノラマ画像にエピポーラ線を重畳させることができる。
【０１２１】
ユーザは、表示された２つのパノラマ画像においてそれぞれのエピポーラ線について、同じ被写体の同じ部分を特徴点として入力部１４を介して指定する。特徴点対応付け部５１は、入力部１４を介して２つのパノラマ画像中の特徴点を受け付け、それぞれの特徴点について、前側画像における座標値（ｕF ，ｖF ）と後側画像における座標値（ｕR ，ｖR ）とを取得する。そして特徴点対応付け部５１は、前側画像における座標値（ｕF ，ｖF ）及び後側画像における座標値（ｕR ，ｖR ）に対して、上述した変換処理を行うことにより、共通軸極座標系の座標値（θCF，φCF）及び座標値（θCR，φCR）を取得する。更に特徴点対応付け部５１は、共通軸極座標系の天頂角θCF，θCRをエピポーラ面座標系の方位角βF ，βR に変換し、共通軸極座標系の方位角φCF，φCR（φCF＝φCR）について、方位角βF 、βR の正接tanβF 、tanβRを対応付けて方位角対応テーブル１２ｃに記憶する。
【０１２２】
また、特徴点対応付け部５１は、２つのパノラマ画像間で対応付けるべき特徴点を、２つのパノラマ画像におけるそれぞれのエピポーラ線上の各画素の画素値の変動に対して、Dynamic Time Warping等の手法を用いて自動的に抽出してもよい。この場合、特徴点対応付け部５１は、例えば図２５に示すようなパノラマ画像においてそれぞれのエピポーラ線上の画素を抽出し、前側画像及び後側画像における１次元の画素列（画素値の列）をそれぞれ生成する。例えば特徴点対応付け部５１は、それぞれのエピポーラ線（共通軸極座標系の方位角φC ）に対して、天頂角θC を０から所定値（微小角度）ずつ増加させながら、上述した変換処理によってパノラマ画像上のｕ値及びｖ値に変換し、得られた座標（ｕ，ｖ）の画素の画素値を逐次抽出することによって、前側画像及び後側画像における１次元の画素列を生成する。そして、特徴点対応付け部５１は、このように生成された前側画像及び後側画像における画素列から、Dynamic Time Warping等の手法により、類似する画素値の画素を自動的に抽出する。特徴点対応付け部５１は、抽出した画素を特徴点として受け付ける。そして特徴点対応付け部５１は、ユーザ入力される場合と同様に、受け付けた特徴点について、前側画像における座標値（ｕF ，ｖF ）と後側画像における座標値（ｕR ，ｖR ）とを共通軸極座標系の座標値（θCF，φCF）及び座標値（θCR，φCR）に変換する。更に特徴点対応付け部５１は、共通軸極座標系の天頂角θCF，θCRをエピポーラ面座標系の方位角βF ，βR に変換し、共通軸極座標系の方位角φCF，φCR（φCF＝φCR）について、エピポーラ面座標系の方位角βF 、βR の正接tanβF 、tanβRを対応付けて方位角対応テーブル１２ｃに記憶する。
【０１２３】
よって、本実施形態では、それぞれのエピポーラ線（共通軸極座標系の方位角φC ）毎に、前側画像における方位角情報（エピポーラ面座標系の方位角βF の正接tanβF ）及び後側画像における方位角情報（エピポーラ面座標系の方位角βR の正接tanβR）が対応付けて記憶される方位角対応テーブル１２ｃが生成される。
【０１２４】
本実施形態の仮想スクリーン設定部５２は、実施形態１と同様に、第２情報処理装置２０から取得したユーザの頭部の位置及び向きに基づいて、ローカル極座標系において仮想視点Ｖから仮想スクリーンを見た際の各格子点の天頂角θVL及び方位角φVLを算出する。よって、各格子点の位置はローカル極座標系の座標値（θVL，φVL）で表される。そして、本実施形態の仮想スクリーン設定部５２は、各格子点のローカル極座標系の座標値（θVL，φVL）を、上述した変換処理によって共通軸極座標系の座標値（θVC，φVC）に変換する。更に仮想スクリーン設定部５２は、各格子点の共通軸極座標系の天頂角θVCを上記の（１９）式によってエピポーラ面座標系の方位角βV に変換する。よって、本実施形態の仮想スクリーン設定部５２は、設定した仮想スクリーンの各格子点の座標値として座標（βV ，φVC）を仮想スクリーンテーブル１２ｄに記憶する。
図２８は、実施形態３の仮想スクリーンテーブル１２ｄの構成例を示す模式図である。本実施形態の仮想スクリーンテーブル１２ｄは、図１１に示した実施形態１の仮想スクリーンテーブル１２ｄと同様の構成を有するが、各格子点の座標値として、エピポーラ面座標系の方位角βV 及び共通軸極座標系の方位角φVCで表される座標（βV ，φVC）が仮想スクリーンテーブル１２ｄに記憶される。なお、以下では座標値βV を格子点における天頂角といい、座標値φVCを格子点における方位角という。
【０１２５】
本実施形態の仮想スクリーン補正部５３は、図２８に示した仮想スクリーンテーブル１２ｄが示す仮想スクリーンに対して、特徴点対応付け部５１が生成した方位角対応テーブル１２ｃに基づく補正処理を行い、前側画像用仮想スクリーン及び後側画像用仮想スクリーンを生成する。具体的には、仮想スクリーン補正部５３は、仮想スクリーンテーブル１２ｄに記憶された各格子点の座標（βV ，φVC）の各値を、方位角対応テーブル１２ｃに基づいてそれぞれ補正し、前側画像用仮想スクリーンテーブル１２ｅと後側画像用仮想スクリーンテーブル１２ｆとを生成する。よって、前側画像用仮想スクリーンテーブル１２ｅ及び後側画像用仮想スクリーンテーブル１２ｆは、仮想スクリーンテーブル１２ｄ中の各格子点の座標値が異なるほかは仮想スクリーンテーブル１２ｄと同様の構成を有する。
【０１２６】
本実施形態の仮想スクリーン補正部５３はまず、仮想スクリーンテーブル１２ｄに記憶された各格子点の座標（βV ，φVC）について、座標値φVCに一致する方位角（即ち、方位角φVC）のエピポーラ線に対する方位角対応テーブル１２ｃがあるか否かを判断する。方位角φVCのエピポーラ線に対する方位角対応テーブル１２ｃがある場合、仮想スクリーン補正部５３は、実施形態１と同様の処理により、方位角対応テーブル１２ｃを用いて、格子点の天頂角βV に対応する前側画像における画素の天頂角βF と後側画像における画素の天頂角βR とを求める。
【０１２７】
一方、方位角φVCのエピポーラ線に対する方位角対応テーブル１２ｃがない場合、仮想スクリーン補正部５３は、方位角φVCの前後の方位角φJ ，φJ+1 （φJ ＜φVC＜φJ+1 ）の２つのエピポーラ線に対する方位角対応テーブル１２ｃを用いて、格子点の天頂角βV に対応する前側画像における画素の天頂角βF と後側画像における画素の天頂角βR とを求める。ここではまず、仮想スクリーン補正部５３は、実施形態１と同様の処理により、方位角φJ のエピポーラ線に対する方位角対応テーブル１２ｃを用いて、格子点の天頂角βV に対応する前側画像における画素の天頂角βFJと後側画像における画素の天頂角βRJとを求める。また、仮想スクリーン補正部５３は、方位角φJ+1 のエピポーラ線に対する方位角対応テーブル１２ｃを用いて、格子点の天頂角βV に対応する前側画像における画素の天頂角βFJ+1と後側画像における画素の天頂角βRJ+1とを求める。そして仮想スクリーン補正部５３は、算出した天頂角βFJ，βFJ+1及び天頂角βRJ，βRJ+1をそれぞれ、方位角φVCが方位角φJ ，φJ+1 を分割する内分比に応じた重み付けを行って合成することにより、格子点の天頂角βV に対応する前側画像及び後側画像における画素の天頂角βF ，βR を求める。具体的には、仮想スクリーン補正部５３は、以下の（２０）式を用いて、天頂角βFJ，βFJ+1及び内分比τから、格子点の天頂角βV に対応する前側画像における画素の天頂角βF を算出し、天頂角βRJ，βRJ+1及び内分比τから、格子点の天頂角βV に対応する後側画像における画素の天頂角βR を算出する。
【０１２８】
【数１１】
2019145059.tif 000013
【０１２９】
上述した処理により、仮想スクリーン補正部５３は、仮想スクリーン設定部５２が設定した仮想スクリーンにおいて、各格子点の天頂角を前側画像における天頂角βF に補正した前側画像用仮想スクリーンと、後側画像における天頂角βR に補正した後側画像用仮想スクリーンとを生成する。なお、仮想スクリーン設定部５２が設定した仮想スクリーンを前側画像用及び後側画像用に補正する処理は、上述した処理に限定されない。
【０１３０】
本実施形態の仮想画像生成部５５は、実施形態１と同様の処理により、パノラマ画像ＤＢ１２ａに記録された前側画像及び後側画像と、前側画像用仮想スクリーン及び後側画像用仮想スクリーンとに基づいて、第２情報処理装置２０を装着したユーザに提供する仮想画像を生成する。なお、本実施形態の仮想ビュー生成部５６は、前側画像用仮想スクリーンテーブル１２ｅから各格子点の座標値（βF ，φVC）を読み出し、天頂角βF にπ／２を加算して共通軸極座標系の天頂角θFCに変換する。そして、仮想ビュー生成部５６は、変換した天頂角θFCと、前側画像用仮想スクリーンテーブル１２ｅから読み出した格子点の方位角φVCとによる共通軸極座標系の座標（θFC，φVC）を、上述した変換処理によってワールド直交座標系及びローカル極座標系を経て、前側画像（パノラマ画像）上の座標（ｕ，ｖ）に変換する。そして仮想ビュー生成部５６は、前側画像において得られた座標（ｕ，ｖ）の画素を、前側画像用仮想スクリーンの格子点（βF ，φVC）に対応付け、画素対応テーブル１２ｇに記憶する。仮想ビュー生成部５６は、後側画像用仮想スクリーンテーブル１２ｆについても同様の処理を行い、後側画像用仮想スクリーンの各格子点に、前側画像における画素を対応付け、画素対応テーブル１２ｇに記憶する。これにより、本実施形態の仮想ビュー生成部５６は、図１５に示す画素対応テーブル１２ｇを生成する。
【０１３１】
本実施形態の仮想ビュー生成部５６は、実施形態１と同様の処理を行い、前側画像用仮想スクリーンの各仮想画素に輝度（画素値）を割り当てて前側画像の仮想ビューを生成する。また、仮想ビュー生成部５６は、後側画像用仮想スクリーンの各仮想画素に輝度（画素値）を割り当てて後側画像の仮想ビューを生成する。これにより、本実施形態の仮想ビュー生成部５６は、図１６に示す仮想ビューＤＢ１２ｈを生成する。
【０１３２】
本実施形態では、図２０に示す特徴点の対応付け処理において、第１情報処理装置１０の制御部１１は、ステップＳ１３の処理を行わない。具体的には、制御部１１は、２つのパノラマ画像において対応付けるべき特徴点を取得した場合（Ｓ１２）、取得した各特徴点について、前側画像における座標値（ｕF ，ｖF ）と後側画像における座標値（ｕR ，ｖR ）とを取得する。そして制御部１１は、前側画像における座標値（ｕF ，ｖF ）及び後側画像における座標値（ｕR ，ｖR ）に対して、座標系の変換処理を行い、共通軸極座標系の座標値（θCF，φCF）及び座標値（θCR，φCR）に変換する。更に制御部１１は、共通軸極座標系の天頂角θCF，θCRをエピポーラ面座標系の方位角βF ，βR に変換し、共通軸極座標系の方位角φCF，φCR（φCF＝φCR）について、方位角βF 、βR の正接tanβF 、tanβRを対応付けて方位角対応テーブル１２ｃに記憶する（Ｓ１４）。これにより、本実施形態では、エピポーラ線（共通軸極座標系の方位角φC ）毎に、前側画像における方位角情報（エピポーラ面座標系の方位角βF の正接tanβF ）及び後側画像における方位角情報（エピポーラ面座標系の方位角βR の正接tanβR）が対応付けられる。
【０１３３】
また本実施形態では、図２１中のステップＳ３５の処理において、第１情報処理装置１０の制御部１１は、設定した仮想スクリーン各格子点のローカル極座標系の座標値（θVL，φVL）を共通軸極座標系の座標値（θVC，φVC）に変換する。また制御部１１は、各格子点の共通軸極座標系の天頂角θVCをエピポーラ面座標系の方位角βV に変換する。そして制御部１１は、各格子点の座標値として座標（βV ，φVC）を仮想スクリーンテーブル１２ｄに記憶することにより、仮想スクリーンを設定する。
【０１３４】
以下に、本実施形態における仮想スクリーンの補正処理について説明する。図２９は、実施形態３の第１情報処理装置１０による仮想スクリーンの補正処理の手順を示すフローチャートである。図２９に示す処理は、図２３中のステップＳ５１〜Ｓ５２の代わりにステップＳ７１〜Ｓ７６を追加したものである。図２９では、ステップＳ５８〜Ｓ５９の図示を省略する。本実施形態の第１情報処理装置１０の制御部１１は、設定された仮想スクリーンの１つの格子点の座標（βV ，φVC）を仮想スクリーンテーブル１２ｄから読み出す（Ｓ７１）。制御部１１は、読み出した格子点の方位角φVCのエピポーラ線に対する方位角対応テーブル１２ｃがあるか否かを判断する（Ｓ７２）。方位角対応テーブル１２ｃがあると判断した場合（Ｓ７２：ＹＥＳ）、制御部１１は、実施形態１と同様にステップＳ５３以降の処理を行う。
【０１３５】
なお、本実施形態では、ステップＳ５５で、制御部１１は、ステップＳ５４で各ペアにおいて算出したtanβのいずれかが、ステップＳ７１で読み出した格子点の天頂角βV の正接（天頂角情報）に一致するか否かを判断する。またステップＳ５７で、制御部１１は、算出した方位角βF を、格子点の天頂角βV に対応する前側画像における画素の天頂角βF として前側画像用仮想スクリーンテーブル１２ｅに記憶する。同様にステップＳ５８で、制御部１１は、算出した方位角βR を、格子点の天頂角βV に対応する後側画像における画素の天頂角βR として後側画像用仮想スクリーンテーブル１２ｆに記憶する。
【０１３６】
一方、格子点の方位角φVCのエピポーラ線に対する方位角対応テーブル１２ｃがないと判断した場合（Ｓ７２：ＮＯ）、制御部１１は方位角φVCの前後の方位角φJ ，φJ+1の２つのエピポーラ線に対する方位角対応テーブル１２ｃを取得する（Ｓ７３）。そして制御部１１は、一方の方位角対応テーブル１２ｃ（例えば方位角φJのエピポーラ線に対する方位角対応テーブル１２ｃ）に基づいて、格子点の天頂角βV に対応する前側画像における画素の天頂角βFJと後側画像における画素の天頂角βRJとを算出する（Ｓ７４）。また制御部１１は、他方の方位角対応テーブル１２ｃ（例えば方位角φJ+1 のエピポーラ線に対する方位角対応テーブル１２ｃ）に基づいて、格子点の天頂角βV に対応する前側画像における画素の天頂角βFJ+1と後側画像における画素の天頂角βRJ+1とを算出する（Ｓ７５）。
【０１３７】
そして制御部１１は、算出した天頂角βFJ，βFJ+1を、方位角φJ ，φJ+1 に対する方位角φVCの内分比に応じた重み付けを行って合成することにより、格子点の天頂角βV に対応する前側画像における画素の天頂角βF を算出する。また制御部１１は、算出した天頂角βRJ，βRJ+1を、方位角φJ ，φJ+1 に対する方位角φVCの内分比に応じた重み付けを行って合成することにより、格子点の天頂角βV に対応する後側画像における画素の天頂角βR を算出する（Ｓ７６）。そして制御部１１は、算出した天頂角βF を前側画像用仮想スクリーンテーブル１２ｅに記憶し（Ｓ５７）、算出した天頂角βR を後側画像用仮想スクリーンテーブル１２ｆに記憶する（Ｓ５８）。
【０１３８】
上述した処理により、本実施形態では、仮想画像を生成するための仮想ビューを生成する際に、２つの仮想ビュー（パノラマ画像）において、水平方向だけでなく鉛直方向の歪みも考慮して歪みを抑制するように、仮想スクリーンの各格子点における被写体位置（共通軸極座標における天頂角）を補正する。よって、２つの仮想ビュー間において水平方向及び鉛直方向の全箇所にわたって被写体位置を合せることができるので、２つの仮想ビューを合成した場合に生じる縦方向のズレをより抑制できる。これにより、２つの仮想ビューを合成した仮想画像であってもユーザに与える違和感が抑制された仮想画像を提供できる。
本実施形態の構成は、上述した実施形態２にも適用可能であり、実施形態２に適用した場合であっても同様の効果が得られる。
【０１３９】
（実施形態４）
本実施形態は、パソコン、スマートフォン、又は、タブレット等の汎用の情報処理装置を第２情報処理装置２０に使用する情報処理システム４０に関する。実施形態１と共通する部分については、説明を省略する。
【０１４０】
図３０は、実施形態４の画面例を示す模式図である。画面には、表示エリア２４１、上視線ボタン２４２、右視線ボタン２４３、下視線ボタン２４４、左視線ボタン２４５、移動ボタン２４６及びズームボタン２４７が含まれる。ユーザは、表示部２４に設けられたタッチパネルのタッチ操作、又はマウスを用いたクリック操作等により各ボタンを選択できる。
【０１４１】
上視線ボタン２４２の入力を受け付けた場合、制御部２１は第２情報処理装置２０の向きが上向きに変化したという入力を受け付けた場合と同様に、表示エリア２４１に表示される画像の範囲を上向きに変化させる。同様に、右視線ボタン２４３、下視線ボタン２４４および左視線ボタン２４５の選択を受け付けた場合も、制御部２１は表示エリア２４１に表示される画像の範囲をそれぞれの向きに変化させる。
【０１４２】
移動ボタン２４６は、前後左右の領域に分割されている。移動ボタン２４６のそれぞれの領域の選択を受け付けた場合、制御部２１は第２情報処理装置２０の位置がそれぞれの向きに変化したと判定し、仮想視点を移動させる。ズームボタン２４７の選択を受け付けた場合、制御部２１は、表示エリア２４１に表示する画像の範囲を拡大または縮小する。
【０１４３】
以上により、ユーザは画面上のボタンの操作により、たとえば撮影対象の部屋の中を自由に移動しながら、部屋の広さ、家具の配置、窓の外の景色等を感覚的に把握することができる。第２情報処理装置２０を傾ける操作又はジョイスティック等の操作が、画面上の各ボタンの操作の代わりに用いられてもよい。
【０１４４】
上述した各実施形態において、カメラ３０は１つであっても複数であってもよい。複数のカメラ３０を用いる場合、各カメラ３０をそれぞれの撮影位置に設置した状態で同時に撮影を行ってもよい。また、複数のカメラ３０をそれぞれの撮影位置に設置しておき、第１情報処理装置１０からの指示に従って各カメラ３０が撮影を行ってもよい。この場合、カメラ３０で撮影された画像をリアルタイムで第２情報処理装置２０のユーザに提供することができる。よって、例えば各種の部屋、劇場、動物園、植物園等で撮影した画像によって撮影対象の空間の状態をリアルタイムで確認することができる。
【０１４５】
各実施形態で記載されている技術的特徴（構成要件）はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４６】
１０  第１情報処理装置（情報処理装置）
１１  制御部
１２  記憶部
１３  通信部（受信部、送信部）
１４  入力部
１５  表示部
２０  第２情報処理装置
２１  制御部
２２  記憶部
２３  通信部（送信部、受信部）
２４  表示部
２５  センサ部
３０  カメラ
３１  制御部
３２  記憶部
３３  通信部
３４  シャッターボタン
３５  撮影部
４０  情報処理システム
５１  特徴点対応付け部
５２  仮想スクリーン設定部（スクリーン特定部）
５３  仮想スクリーン補正部（補正部）
５５  仮想画像生成部（生成部）
５６  仮想ビュー生成部（中間画像生成部）
５７  合成割合特定部
５８  合成部
１２ａ  パノラマ画像ＤＢ
１２ｂ  特徴点対応テーブル
１２ｃ  方位角対応テーブル
１２ｄ  仮想スクリーンテーブル
１２ｅ  前側画像用仮想スクリーンテーブル
１２ｆ  後側画像用仮想スクリーンテーブル
１２ｇ  画素対応テーブル
１２ｈ  仮想ビューＤＢ
【図１】
2019145059.tif 000014
【図２】
2019145059.tif 000015
【図３】
2019145059.tif 000016
【図４】
2019145059.tif 000017
【図５】
2019145059.tif 000018
【図６】
2019145059.tif 000019
【図７】
2019145059.tif 000020
【図８】
2019145059.tif 000021
【図９】
2019145059.tif 000022
【図１０】
2019145059.tif 000023
【図１１】
2019145059.tif 000024
【図１２】
2019145059.tif 000025
【図１３】
2019145059.tif 000026
【図１４】
2019145059.tif 000027
【図１５】
2019145059.tif 000028
【図１６】
2019145059.tif 000029
【図１７】
2019145059.tif 000030
【図１８】
2019145059.tif 000031
【図１９】
2019145059.tif 000032
【図２０】
2019145059.tif 000033
【図２１】
2019145059.tif 000034
【図２２】
2019145059.tif 000035
【図２３】
2019145059.tif 000036
【図２４】
2019145059.tif 000037
【図２５】
2019145059.tif 000038
【図２６】
2019145059.tif 000039
【図２７】
2019145059.tif 000040
【図２８】
2019145059.tif 000041
【図２９】
2019145059.tif 000042
【図３０】
2019145059.tif 000043