(57)【要約】【課題】撮影された画像から、任意の位置から見た状態の画像を適切に生成することが可能な情報処理装置等を提供する。【解決手段】情報処理装置は、閉鎖空間の大きさ、前記閉鎖空間内の撮影位置、及び前記撮影位置で撮影したパノラマ画像を対応付けて取得する。また、情報処理装置は、前記閉鎖空間内の仮想位置を受け付ける。そして、情報処理装置は、取得した閉鎖空間の大きさ及び撮影位置と、受け付けた仮想位置とに基づいて、パノラマ画像の各画素に対して仮想位置での画素位置を特定することで仮想画像を生成する。【選択図】図３
2020204973.tif 000002
【特許請求の範囲】
【請求項１】
閉鎖空間の大きさ、前記閉鎖空間内の撮影位置、及び前記撮影位置で撮影したパノラマ画像を対応付けて取得する取得部と、
前記閉鎖空間内の仮想位置を受け付ける受付部と、
前記閉鎖空間の大きさ及び撮影位置、並びに前記仮想位置に基づいて、前記パノラマ画像の各画素の前記仮想位置での画素位置を特定することで仮想画像を生成する生成部と
を備える情報処理装置。
【請求項２】
前記閉鎖空間の大きさ及び撮影位置、並びに前記仮想位置に基づいて、前記パノラマ画像上の複数の特徴点と、前記仮想画像上の複数の特徴点との対応付けを行う対応付け部を備え、
前記生成部は、前記対応付けに基づいて前記仮想画像を生成する
請求項１に記載の情報処理装置。
【請求項３】
前記対応付け部は、前記閉鎖空間に係る壁上の複数の特徴点について、前記撮影位置から見た方向を示す情報と、前記仮想位置から見た方向を示す情報との対応付けを行う
請求項２に記載の情報処理装置。
【請求項４】
前記閉鎖空間に係る壁上の複数の特徴点は、前記閉鎖空間上の前記撮影位置及び前記仮想位置を結ぶ直線と、前記パノラマ画像及び前記仮想画像に係る全天球とが交差する２点を通る前記全天球上の線上の複数の点のそれぞれに対して、前記撮影位置及び仮想位置から伸びる半直線が、前記閉鎖空間に係る壁と交差する点である
請求項３に記載の情報処理装置。
【請求項５】
前記全天球上の線は、前記撮影位置及び前記仮想位置を結ぶ直線を中心にして、前記直線を含む平面を回転させた場合に、前記平面が前記全天球と交差する線である
請求項４に記載の情報処理装置。
【請求項６】
前記取得部は、前記閉鎖空間内の複数箇所の撮影位置と、それぞれの撮影位置で撮影した複数のパノラマ画像とをそれぞれ対応付けて取得し、
前記生成部は、前記複数のパノラマ画像のそれぞれから複数の前記仮想画像を生成し、
前記生成部が生成した前記複数の仮想画像を合成して、前記仮想位置での仮想画像を生成する合成部を更に備える
請求項１から５までのいずれかひとつに記載の情報処理装置。
【請求項７】
コンピュータに、
閉鎖空間の大きさ、前記閉鎖空間内の撮影位置、及び前記撮影位置で撮影したパノラマ画像を対応付けて取得し、
前記閉鎖空間内の仮想位置を受け付け、
前記閉鎖空間の大きさ及び撮影位置、並びに前記仮想位置に基づいて、前記パノラマ画像から前記仮想位置での仮想画像を生成する
処理を実行させるプログラム。
【請求項８】
第１情報処理装置と第２情報処理装置とを含む情報処理システムにおいて、
前記第２情報処理装置は、
閉鎖空間内の仮想位置を示す情報を送信する送信部を有し、
前記第１情報処理装置は、
前記閉鎖空間の大きさ、前記閉鎖空間内の撮影位置、及び前記撮影位置で撮影したパノラマ画像を対応付けて記憶する記憶部と、
前記仮想位置を示す情報を受信する受信部と、
前記閉鎖空間の大きさ及び撮影位置、並びに前記仮想位置に基づいて、前記パノラマ画像から前記仮想位置での仮想画像を生成する生成部と、
生成した前記仮想画像を送信する送信部とを有し、
前記第２情報処理装置は、
前記仮想画像を受信する受信部と、
受信した前記仮想画像を表示する表示部とを更に有する
情報処理システム。
【請求項９】
前記閉鎖空間の大きさ、前記閉鎖空間内の撮影位置、及び前記撮影位置で撮影したパノラマ画像を対応付けて受け付ける受付部と、
受け付けた前記閉鎖空間の大きさ、前記撮影位置及び前記パノラマ画像を対応付けて送信する送信部とを有する第３情報処理装置を更に含み、
前記第１情報処理装置は、
前記第３情報処理装置から、前記閉鎖空間の大きさ、前記撮影位置及び前記パノラマ画像を対応付けて取得する取得部を更に有する
請求項８に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム及び情報処理システムに関する。
【背景技術】
【０００２】
１８０度より広い画角のパノラマ画像を取得するカメラを用いて、撮影位置を移動しつつ撮影を行い、得られた複数のパノラマ画像を適宜切り替えることにより、任意の視点から見た状態の画像を提供するシステムが提案されている（特許文献１）。特許文献１に開示されたシステムでは、隣り合う撮影位置で撮影した２つのパノラマ画像を切り替える際に、表示中のパノラマ画像を徐々にズームインしつつ、次のパノラマ画像との合成比率を徐々に変化させることにより次のパノラマ画像の表示に遷移する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８４３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術では、表示されるパノラマ画像が切り替えられる際に、視聴するユーザは、画像の遷移に伴う違和感を感じる虞がある。これは、撮影位置以外の任意の位置（仮想視点）から見た状態の画像（仮想画像）を生成する際に画像に歪みが生じることに起因しており、適切な仮想画像を生成することは困難であるという問題を有する。
【０００５】
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、撮影された画像から、任意の位置から見た状態の画像を適切に生成することが可能な情報処理装置等を提供することにある。
【課題を解決するための手段】
【０００６】
本開示の一態様に係る情報処理装置は、閉鎖空間の大きさ、前記閉鎖空間内の撮影位置、及び前記撮影位置で撮影したパノラマ画像を対応付けて取得する取得部と、前記閉鎖空間内の仮想位置を受け付ける受付部と、前記閉鎖空間の大きさ及び撮影位置、並びに前記仮想位置に基づいて、前記パノラマ画像の各画素の前記仮想位置での画素位置を特定することで仮想画像を生成する生成部とを備える。
【発明の効果】
【０００７】
本開示の一態様によれば、実写画像に基づいて、任意の視点から見た状態の仮想画像を適切に生成できる。よって、適切に生成された仮想画像をユーザに提供することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの構成例を示す模式図である。
【図２】カメラ及び登録者端末の構成例を示すブロック図である
【図３】サーバ及びユーザ端末の構成例を示すブロック図である。
【図４】サーバに記憶されるＤＢの構成例を示す模式図である。
【図５】部屋サイズ及び撮影位置情報を示す説明図である。
【図６】カメラの外観を示す模式図である。
【図７】撮影画像の構成を示す説明図である。
【図８】パノラマ画像の登録処理手順の一例を示すフローチャートである。
【図９】登録画面例を示す模式図である。
【図１０】パノラマ画像の再生処理手順の一例を示すフローチャートである。
【図１１】対応付け処理手順の一例を示すフローチャートである。
【図１２】撮影対象の部屋を天井側から見た状態を示す模式図である。
【図１３】撮影空間内の２箇所で撮影したパノラマ画像の例を示す模式図である。
【図１４】エピポーラ線の例を示す模式図である。
【図１５】座標系の関係を示す説明図である。
【図１６】エピポーラ線の長さを示す説明図である。
【図１７】エピポーラ線を示す模式図である。
【図１８】共通軸極座標系の天頂角の算出処理の説明図である。
【図１９】天頂角の対応付けテーブルを示す模式図である。
【図２０】実施形態２のパノラマ画像の再生処理手順の一例を示すフローチャートである。
【図２１】実施形態３の画面例を示す模式図である。
【発明を実施するための形態】
【０００９】
以下に、本開示の情報処理装置、プログラム及び情報処理システムについて、その実施形態を示す図面に基づいて詳述する。
【００１０】
（実施形態１）
図１は、情報処理システムの構成例を示す模式図である。本実施形態の情報処理システム１００は、サーバ１０（第１情報処理装置）、登録者端末２０（第３情報処理装置）、カメラ３０及びユーザ端末４０（第２情報処理装置）を含む。サーバ１０、登録者端末２０及びユーザ端末４０は、インターネット、公衆通信回線又はＬＡＮ（Local Area Network）等のネットワークＮに接続可能であり、ネットワークＮ経由で情報の送受信を行う。登録者端末２０及びカメラ３０は例えば無線通信可能であり、無線通信にて情報の送受信を直接行う。なお、カメラ３０がネットワークＮに接続可能である場合、カメラ３０及び登録者端末２０はネットワークＮ経由で情報の送受信を行う構成でもよい。
【００１１】
サーバ１０は、サーバコンピュータ又はパーソナルコンピュータ等の情報処理装置であり、複数台設けられてもよいし、大型計算機等の１台の装置内に設けられた複数の仮想マシンによって実現されてもよいし、クラウドサーバを用いて実現されてもよい。登録者端末２０は、パーソナルコンピュータ又はタブレット端末等であり、複数台設けられてもよい。カメラ３０は、撮影装置の一例である。本実施形態においては、カメラ３０を用いて、賃貸住宅及び販売住宅等の不動産物件の部屋、ホテル及び民宿等の宿泊施設の部屋等の閉鎖空間内で撮影を行う。カメラ３０は、１回のシャッターで前後左右上下の撮影を行う全天球カメラを使用する。撮影位置は、閉鎖空間内の任意の位置とし、撮影位置の床面からの高さは、例えば１ｍ程度とする。なお、撮影位置の高さは、立った状態の大人の目線の高さ、又は椅子に座った状態の大人の目線の高さ等の任意の高さとしてもよい。カメラ３０が撮影を行う位置及び向き（撮影方向の方角）は、カメラ３０に内蔵されたセンサ又はカメラ３０を外部から監視するセンサにより測定される。カメラ３０を特定の位置及び向き（撮影方角）に固定する治具等を利用してもよい。
【００１２】
本実施形態では、例えば不動産物件の管理会社の従業員等（以下では登録者という）が、カメラ３０を用いて不動産物件の室内（閉鎖空間内）で撮影を行う。カメラ３０によって撮影された撮影画像（パノラマ画像）は、撮影位置及び撮影方角を示す情報と撮影空間の大きさを示す情報と共に登録者端末２０を介してサーバ１０へ送信され、サーバ１０のパノラマ画像ＤＢ１２ｂ（図３参照）に記録される。なお、カメラ３０は撮影によって画像データ（撮影画像データ）を取得するが、以下では画像データを単に画像という場合がある。従って、撮影画像は撮影画像データを意味する場合があり、パノラマ画像はパノラマ画像データを意味する場合がある。撮影画像は、複数の画素を含み、撮影画像データは、各画素の撮影画像中の位置（座標）を示す位置情報と各画素の輝度（画素値）とを対応付けて有する。撮影位置の情報は、例えば略直方体形状の部屋の任意の位置（例えば床の隅又は天井の隅）を基準とした位置を示す情報であり、撮影方角の情報は、例えば北向きを０度、東向きを９０度、南向きを１８０度、西向きを２７０度とそれぞれし、０度以上３６０度未満の値で示される情報である。撮影位置及び撮影方角の情報は、例えばカメラ３０に内蔵されているセンサにより測定されてもよく、他のセンサ等により測定されてカメラ３０又は登録者端末２０へ送信されてもよい。なお、所定の高さで撮影を行う場合、撮影位置の高さの情報は必要なく、この場合、撮影位置の情報は、撮影位置を含む水平面上の任意の位置を基準とした位置の情報であればよい。撮影空間の大きさの情報は、例えば略直方体形状の部屋の床面の長辺及び短辺の大きさと高さの大きさとを示す情報であり、例えば登録者が登録者端末２０を用いて入力する。なお、略直方体形状の部屋の長辺、短辺及び高さの大きさを測定できるセンサ等により測定されてカメラ３０又は登録者端末２０へ送信されてもよい。
【００１３】
サーバ１０は、パノラマ画像ＤＢ１２ｂに登録されたパノラマ画像をネットワークＮ経由で公開しており、不動産物件の部屋を内見したいユーザは、ユーザ端末４０を用いてサーバ１０にアクセスし、所望の部屋のパノラマ画像を閲覧できる。ユーザ端末４０は、カメラ３０での撮影が行われた部屋から離れた場所、例えば不動産会社の店舗又は旅行会社の店舗にいるユーザが装着して使用するＨＭＤ（Head Mounted Display）型の情報処理装置である。ユーザ端末４０には、各種センサが内蔵されており、装着したユーザの頭部の位置及び向きを検出可能である。ユーザ端末４０は、スマートフォン、タブレット端末又はパーソナルコンピュータ等の汎用の情報処理装置と、ＨＭＤ等の表示装置との組合せでもよい。またユーザ端末４０は、スマートフォン等の軽量の携帯型情報処理装置と、携帯型情報処理装置をユーザの目の前に固定する固定部材との組合せでもよい。ユーザ端末４０は、検出したユーザの頭部の位置及び向きをサーバ１０へ送信する。
【００１４】
サーバ１０は、ユーザ端末４０から受信したユーザの頭部の位置及び向きと、パノラマ画像ＤＢ１２ｂに記録してある撮影画像とに基づいて、カメラ３０で撮影された部屋の中の任意の仮想位置（仮想視点位置）から見た仮想画像を生成する。そしてサーバ１０は、生成した仮想画像をユーザ端末４０へ送信する。このような構成により、ＨＭＤを装着したユーザは、撮影対象となった部屋の中を仮想的に歩き回り、任意の向きを向いて、部屋の広さ、家具の配置、窓の外の景色等を感覚的に把握することができる。なお、ユーザは回転可能な椅子に着席した状態で、ジョイスティック等を操作することで仮想視点を移動させてもよい。この場合、転倒及び衝突のおそれなく、部屋の中を仮想的に歩き回り、あるいは飛翔し、任意の向きを向いて、室内空間を把握することができる。
【００１５】
図２は、カメラ３０及び登録者端末２０の構成例を示すブロック図である。カメラ３０は、制御部３１、記憶部３２、通信部３３、シャッターボタン３４、撮影部３５等を含み、これらはバスを介して相互に接続されている。制御部３１は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）又はＧＰＵ（Graphics Processing Unit）等の１又は複数のプロセッサを含む。制御部３１は、記憶部３２に記憶してある制御プログラムを実行すると共に、バスを介してカメラ３０を構成するハードウェア各部の動作を制御する。これにより、制御部３１は、カメラ３０が行うべき種々の制御処理及び情報処理を実行する。記憶部３２は、ＲＡＭ（Random Access Memory）、フラッシュメモリ、ハードディスク、磁気テープ等を含む。記憶部３２は、制御部３１が実行する制御プログラム及び制御プログラムの実行に必要な各種のデータ等を予め記憶している。また記憶部３２は、制御部３１が制御プログラムを実行する際に発生するデータ等を一時的に記憶する。
【００１６】
通信部３３は、例えばBluetooth（登録商標）又はWi-Fi等の無線通信を行うためのインタフェースであり、無線通信によって外部装置（例えば登録者端末２０）との間で情報の送受信を直接行う。なお、通信部３３は、ケーブルを介した有線通信によって外部装置との間で情報の送受信を行うためのインタフェースであってもよい。また通信部３３は、無線通信又は有線通信によってネットワークＮに接続するためのインタフェースであってもよく、この場合、ネットワークＮ経由で外部装置との間で情報の送受信を行う。
【００１７】
シャッターボタン３４は、静止画を撮影する指示を受け付けるためのボタンである。なお、制御部３１は、無線通信によって、又はネットワークＮを通じてシャッターボタン３４の操作を受け付けてもよい。撮影部３５は、撮影を行う光学系及び撮像素子等を有する撮像装置である。制御部３１は、シャッターボタン３４から受け付けた指示に基づいて撮影部３５による撮影を行い、光学系を介して入射した光が撮像素子にて光電変換されて得られたデータに対して各種の画像処理を行い、撮影画像を取得する。カメラ３０は、上述した構成のほかに、液晶ディスプレイ等による表示部、ユーザによる各種の操作入力を受け付ける入力部等を有する構成でもよい。
【００１８】
登録者端末２０は、制御部２１、記憶部２２、通信部２３、入力部２４、表示部２５、読み取り部２６等を含み、これらはバスを介して相互に接続されている。制御部２１は、ＣＰＵ、ＭＰＵ又はＧＰＵ等の１又は複数のプロセッサを含む。制御部２１は、記憶部２２に記憶してある制御プログラム２２Ｐを実行すると共に、バスを介して登録者端末２０を構成するハードウェア各部の動作を制御する。これにより、制御部２１は、登録者端末２０が行うべき種々の制御処理及び情報処理を実行する。記憶部２２は、ＲＡＭ、フラッシュメモリ、ハードディスク、ＳＳＤ（Solid State Drive）等を含む。記憶部２２は、制御部２１が実行する制御プログラム２２Ｐ及び制御プログラム２２Ｐの実行に必要な各種のデータ等を予め記憶している。また記憶部２２は、制御部２１が制御プログラム２２Ｐを実行する際に発生するデータ等を一時的に記憶する。また記憶部２２は、ネットワークＮ経由で公開されているウェブサイトを閲覧するためのウェブブラウザ２２ａを記憶している。
【００１９】
通信部２３は、有線通信又は無線通信によってネットワークＮに接続するためのインタフェースであり、ネットワークＮ経由で外部装置との間で情報の送受信を行う。また通信部２３は、無線通信又は有線通信によって外部装置（例えばカメラ３０）との間で情報の送受信を直接行うためのインタフェースを有する構成でもよい。入力部２４は、マウス及びキーボード等を含み、ユーザによる操作入力を受け付け、操作内容に対応した制御信号を制御部２１へ送出する。表示部２５は、液晶ディスプレイ又は有機ＥＬディスプレイ等であり、制御部２１からの指示に従って各種の情報を表示する。
【００２０】
読み取り部２６は、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ又はＵＳＢ（Universal Serial Bus）メモリを含む可搬型記憶媒体２ａに記憶された情報を読み取る。記憶部２２に記憶される制御プログラム２２Ｐ及びデータは、制御部２１が読み取り部２６を介して可搬型記憶媒体２ａから読み取って記憶部２２に記憶してもよい。また、記憶部２２に記憶される制御プログラム２２Ｐ及びデータは、制御部２１が通信部２３を介してネットワークＮ経由で外部装置からダウンロードして記憶部２２に記憶してもよい。更に、制御部２１が半導体メモリ２ｂから制御プログラム２２Ｐ及びデータを読み出してもよい。
【００２１】
図３は、サーバ１０及びユーザ端末４０の構成例を示すブロック図である。サーバ１０は、制御部１１、記憶部１２、通信部１３、入力部１４、表示部１５、読み取り部１６等を含み、これらはバスを介して相互に接続されている。これらの各部１１〜１６は、登録者端末２０の各部２１〜２６と同様の構成を有するので、構成についての詳細な説明は省略する。なお、サーバ１０の記憶部１２は、制御プログラム１２Ｐのほかに、後述する画像情報ＤＢ１２ａ及びパノラマ画像ＤＢ１２ｂを記憶する。画像情報ＤＢ１２ａ及びパノラマ画像ＤＢ１２ｂは、サーバ１０に接続された外部の記憶装置に記憶されてもよく、ネットワークＮを介してサーバ１０が通信可能な外部の記憶装置に記憶されてもよい。
【００２２】
ユーザ端末４０は、制御部４１、記憶部４２、通信部４３、表示部４４、センサ部４５等を含み、これらはバスを介して相互に接続されている。ユーザ端末４０の制御部４１、記憶部４２、通信部４３及び表示部４４の各部は、登録者端末２０の制御部２１、記憶部２２、通信部２３及び表示部２５の各部と同様の構成を有するので、これらの構成についての詳細な説明は省略する。センサ部４５は、例えば地磁気センサ、傾きセンサ、ＧＰＳ（Global Positioning System ）センサ等の複数のセンサの組合せであり、ユーザ端末４０の位置及び向きを検出する。例えばセンサ部４５は、ＧＰＳセンサによってユーザ端末４０の現在位置を検出し、地磁気センサによってユーザ端末４０の向きを検出し、傾きセンサによってユーザ端末４０の重力方向（即ち、鉛直方向の下向き）に対する傾きを検出する。センサ部４５は、ユーザ端末４０の位置及び向きを検出することにより、ユーザ端末４０を頭部に装着しているユーザの頭部の位置及び向きを検出できる。ユーザ端末４０は、上述した構成のほかに、マウス、キーボード、タッチパネル等の入力部を備えていてもよい。
【００２３】
図４は、サーバ１０に記憶されるＤＢ１２ａ，１２ｂの構成例を示す模式図であり、図４Ａは画像情報ＤＢ１２ａを、図４Ｂはパノラマ画像ＤＢ１２ｂをそれぞれ示す。画像情報ＤＢ１２ａは、パノラマ画像ＤＢ１２ｂに記憶されたパノラマ画像に関する情報を記憶する。図４Ａに示す画像情報ＤＢ１２ａは、画像ＩＤ列、撮影部屋情報列、部屋サイズ列、撮影位置情報列、撮影方向列等を含む。画像ＩＤ列は、カメラ３０を用いて撮影されてパノラマ画像ＤＢ１２ｂに登録されたパノラマ画像に割り当てられた識別情報を記憶する。撮影部屋情報列は、画像ＩＤに対応付けて、パノラマ画像を撮影した部屋に関する情報を記憶し、例えば撮影した部屋の住所、建物名及び部屋番号、ランドマーク名、緯度及び経度等を用いることができる。部屋サイズ列は、画像ＩＤに対応付けて、パノラマ画像を撮影した部屋のサイズを示す情報を記憶し、撮影位置情報列は、パノラマ画像の撮影位置を示す情報を記憶し、撮影方向列は、パノラマ画像の撮影方向の方角を示す情報を記憶する。
【００２４】
図５は、部屋サイズ及び撮影位置情報を示す説明図である。図５に示すように、撮影場所である部屋（撮影空間）を略直方体形状と見なし、例えば床面の一隅を原点０とし、床面の短辺方向をＸ軸方向とし、床面の長辺方向をＺ軸方向とし、床面からの高さ方向をＹ軸方向とした座標系を用いて、部屋サイズ及び撮影位置を規定する。よって、部屋サイズは、例えばＸ軸方向の長さＸｒ、Ｙ軸方向の長さＹｒ、Ｚ軸方向の長さＺｒによって示され、撮影位置は、座標（Ｘｃ，Ｙｃ，Ｚｃ）によって示される。このような情報を用いて部屋サイズ及び撮影位置の情報が画像情報ＤＢ１２ａに登録される。なお、撮影空間のサイズ及び撮影空間に対する撮影位置を特定できる情報であれば、このような座標系を用いる情報に限定されない。
【００２５】
画像情報ＤＢ１２ａに記憶される画像ＩＤは、サーバ１０が新たなパノラマ画像を通信部１３にて取得した場合に、制御部１１によって発行されて記憶される。画像情報ＤＢ１２ａに記憶される画像ＩＤ以外の情報は、制御部１１が通信部１３を介してパノラマ画像と共に取得した場合に、制御部１１によって記憶される。画像情報ＤＢ１２ａの記憶内容は図４Ａに示す例に限定されず、撮影対象の空間に関する各種の情報が記憶されてもよい。
【００２６】
パノラマ画像ＤＢ１２ｂは、カメラ３０を用いて撮影されたパノラマ画像を記憶する。図４Ｂに示すパノラマ画像ＤＢ１２ｂは、画像ＩＤ列、撮影画像列等を含み、画像ＩＤに対応付けてパノラマ画像を記憶する。なお、撮影画像（パノラマ画像）のデータは、パノラマ画像ＤＢ１２ｂに記憶されずに、記憶部１２の所定領域又はサーバ１０に接続された外部記憶装置に記憶されてもよい。この場合、撮影画像列は、パノラマ画像のデータを読み出すための情報（例えばデータの記憶場所を示すファイル名）を記憶する。パノラマ画像ＤＢ１２ｂには、サーバ１０が新たなパノラマ画像を通信部１３にて取得した場合に、制御部１１によって発行された画像ＩＤと、取得したパノラマ画像とが対応付けて記憶される。パノラマ画像ＤＢ１２ｂの記憶内容は図４Ｂに示す例に限定されず、例えば撮影日時、撮影者の情報等が記憶されてもよい。また、画像情報ＤＢ１２ａ及びパノラマ画像ＤＢ１２ｂを１つのＤＢで構成してもよい。例えば、画像情報ＤＢ１２ａにパノラマ画像を記憶する構成としてもよい。
【００２７】
図６は、カメラ３０の外観を示す模式図である。本実施形態のカメラ３０は、略長方形板状の板状部３８を有する。以後の説明においては、板状部３８の長辺方向を上下方向、板状部３８の短辺方向を左右方向、板状部３８の第１広面３８１側を前側、第２広面３８２側を後側にそれぞれ向けた状態で説明する。
第１広面３８１の上寄りに、ドーム状の第１レンズ３７１が設けられている。第２広面３８２の上寄りに、ドーム状の第２レンズ３７２が設けられている。第１レンズ３７１及び第２レンズ３７２の内側には、図示しない複数のレンズ及びプリズム等の光学部品が配置されており、１８０度以上の視野角を有する光学系を形成している。以後の説明では、第１レンズ３７１側の光学系の光軸を第１光軸、第２レンズ３７２側の光学系の光軸を第２光軸と記載する。第１光軸と第２光軸とは、同一の直線上に配置されている。第１広面３８１にシャッターボタン３４が配置されている。
【００２８】
上述した構成のカメラ３０が撮影時に行う処理について説明する。図７は、撮影画像の構成を示す説明図である。図７Ａは、全天球画像を示す模式図である。図７Ｂは、図７Ａの全天球画像を正距円筒図法により展開した画像を示す模式図である。カメラ３０の制御部３１は、シャッターボタン３４から受け付けた指示に基づいて撮影部３５による撮影を行った場合、第１光軸側で撮影した画像と第２光軸側で撮影した画像とを合成することにより、図７Ａに示すように撮影位置を撮影中心Ｃ点とする全天球画像を生成する。
【００２９】
全天球画像上の各画素の位置を定める座標系について説明する。図６を使用して説明したように、カメラ３０は板状部３８の長辺方向を上下方向に向けた状態で撮影する。以後の説明では、前後左右方向を含む面を水平面と記載する。全天球画像上の画素の位置は、直交座標系及び極座標系により表現することができる。直交座標系は、図６に示した右方向をＸ軸の正側、上方向をＹ軸の正側、後ろ方向をＺ軸の正側とする右手系の直交座標系を用いる。極座標系は、方位角φ及び天頂角θ、並びに撮影中心Ｃ点からの距離ｒによって座標が示される座標系を用いる。方位角は、第２光軸側（Ｚ軸の正側）を基準として、水平面内の反時計回りの角度φを示す。第１光軸（Ｚ軸の負側）は、方位角φがπラジアンの位置に存在する。ここでπは円周率を意味する。第２光軸は、方位角φが０ラジアンかつ２πラジアンの位置に存在する。天頂角は、撮影中心Ｃ点から天頂への上方向（Ｙ軸の正側）を基準として、撮影中心Ｃ点を中心として下に向かう角度θを示す。上方向は、天頂角θが０ラジアンの位置に存在する。下方向（Ｙ軸の負側）は、天頂角θがπラジアンの位置に存在する。全天球画像上の任意の画素ａの位置は、直交座標系で表した座標（ｘa ，ｙa ，ｚa ）と、極座標系で表した座標（ｒ，θa ，φa）とによって表現することができる。なお、座標（ｘ，ｙ，ｚ）及び座標（ｒ，θ，φ）は以下の（１）式及び（２）式によって相互に変換可能である。
【００３０】
【数１】
2020204973.tif 000003
【００３１】
カメラ３０の制御部３１は、図７Ｂに示すように、全天球画像を方位角φ＝０の線に沿って切断して、正距円筒図法により、横軸を方位角φとし縦軸を天頂角θとする平面に展開した長方形の撮影画像（以下では、パノラマ画像という）を生成する。このとき、方位角φ及び天頂角θをそれぞれ０〜１の範囲のｕ値及びｖ値に正規化し、横軸をｕ軸とし縦軸をｖ軸とする長方形のパノラマ画像を生成する。このパノラマ画像を構成する各画素には、全天球画像における各画素の輝度（画素値）が割り当てられる。なお、図７Ｂに示すように、長方形（平面）のパノラマ画像は、左下を原点（０，０）とし、原点（０，０）は、方位角φが２πラジアン（ｕ＝０．０）で天頂角θがπラジアン（ｖ＝０．０）の位置の画素を示す。また、パノラマ画像は、ｕ軸方向に方位角φが小さくなり、パノラマ画像の右端は方位角φが０ラジアン（ｕ＝１．０）の位置の画素であり、ｖ軸方向に天頂角θが小さくなり、パノラマ画像の上端は天頂角θが０ラジアン（ｖ＝１．０）の位置の画素である。方位角φ及び天頂角θと、ｕ値及びｖ値とは、以下の（３）式及び（４）式によって相互に変換可能である。
【００３２】
【数２】
2020204973.tif 000004
【００３３】
例えば登録者は、カメラ３０を用いて撮影対象の空間内で撮影を行い、取得したパノラマ画像を登録者端末２０に取り込む。このとき、カメラ３０の制御部３１は、撮影中心Ｃ点の位置情報（撮影位置情報）及び撮影方角と、図７Ｂに示すようなパノラマ画像とを通信部３３から登録者端末２０へ送信する。なお、カメラ３０の制御部３１は、図７Ｂに示すパノラマ画像の代わりに、図７Ａに示すような全天球画像の撮影画像を登録者端末２０へ送信してもよく、この場合、登録者端末２０が、全天球画像から、図７Ｂに示すパノラマ画像を生成する処理を行ってもよい。また、全天球画像からパノラマ画像を生成する処理は、パノラマ画像を記憶するサーバ１０で行ってもよい。この場合、カメラ３０によって撮影された全天球画像が、登録者端末２０によってサーバ１０へ送信され、サーバ１０が、全天球画像からパノラマ画像を生成する処理を行う。なお、カメラ３０は、Ｅｘｉｆ（Exchangeable image file format）形式を使用することにより、撮影位置情報及び撮影方角と撮影画像とを一つのファイルで送信することが可能である。サーバ１０の制御部１１は、登録者端末２０を介してカメラ３０から取得した撮影位置情報及び撮影方角とパノラマ画像とを対応付けて記録する。
【００３４】
以下に、本実施形態の情報処理システム１００における各装置が行う処理について説明する。図８は、パノラマ画像の登録処理手順の一例を示すフローチャート、図９は登録画面例を示す模式図である。図８では左側に登録者端末２０が行う処理を、右側にサーバ１０が行う処理をそれぞれ示す。まず登録者は、撮影対象の部屋内部でカメラ３０を用いて撮影を行い、パノラマ画像を撮影位置及び撮影方角の情報と共に取得しておく。なお、撮影位置及び撮影方角は予め決定されていてもよく、その場合、カメラ３０は登録者（撮影者）又は治具等によって所定の撮影位置及び撮影方角に固定された状態で撮影を行う。カメラ３０の制御部３１は、シャッターボタン３４からの指示に基づいて撮影部３５による撮影を行い、図７Ａに示すような全天球画像を生成し、更に全天球画像から図７Ｂに示すような平面のパノラマ画像を生成する。制御部３１は、例えば登録者端末２０からの要求に応じて、取得したパノラマ画像を登録者端末２０へ送信する。なお、撮影位置及び撮影方角の情報がカメラ３０に内蔵されたセンサによって測定される場合、制御部３１は、測定した撮影位置及び撮影方角の情報もパノラマ画像と共に登録者端末２０へ送信する。また、撮影位置及び撮影方角の情報がカメラ３０の外部のセンサによって測定される場合、外部のセンサが測定した撮影位置及び撮影方角の情報が、カメラ３０経由で又は直接登録者端末２０へ送信される。
【００３５】
登録者端末２０の制御部２１は、カメラ３０によって取得したパノラマ画像と、このパノラマ画像の撮影位置及び撮影方角の情報とを取得しておく（Ｓ１１）。登録者は、パノラマ画像の登録を行う場合、サーバ１０が提供するウェブサイトに登録者端末２０を用いてアクセスし、ウェブサイトを介してサーバ１０にパノラマ画像の登録を要求する。なお、サーバ１０はウェブサーバとしての機能を有しており、パノラマ画像の登録指示を受け付けるためのウェブサイトをネットワークＮ経由で公開している。登録者端末２０の制御部２１は、サーバ１０にアクセスし、パノラマ画像の登録を要求する（Ｓ１２）。
【００３６】
サーバ１０の制御部１１は、パノラマ画像の登録を要求された場合、図９に示すような登録画面を登録者端末２０へ送信する（Ｓ１３）。登録者端末２０の制御部２１は、サーバ１０が送信した登録画面を受信し、受信した登録画面を表示部２５に表示する（Ｓ１４）。図９に示す登録画面は、登録対象のパノラマ画像を指定するための入力欄２５ａと、撮影位置の情報を入力するための入力欄２５ｂと、撮影方向の方角を入力するための入力欄２５ｃと、撮影対象の部屋のサイズを入力するための入力欄２５ｄとを有する。登録画面は、入力欄２５ａにファイル名が入力されてパノラマ画像が指定された場合、指定されたパノラマ画像が表示され、指定されたパノラマ画像の撮影位置の情報及び撮影方角の情報がそれぞれ入力欄２５ｂ，２５ｃに表示される。なお、登録者端末２０がカメラ３０から受信したパノラマ画像に撮影位置又は撮影方角の情報が付加されていない場合、入力欄２５ｂ，２５ｃに撮影位置の情報又は撮影方角の情報は表示されないので、例えば登録者が入力部２４を介して入力する。登録者は、予め撮影対象の部屋のサイズを測定しておき、登録画面において、撮影対象の部屋サイズを入力部２４から入力欄２５ｄに入力する。登録画面は、画面を介して入力された各情報の登録を指示するための登録ボタンと、登録処理の終了（中止）を指示するためのキャンセルボタンとを有する。
【００３７】
制御部２１（受付部）は、登録画面において入力欄２５ａに対してパノラマ画像の指定を受け付け、入力欄２５ｂ，２５ｃに対して撮影位置及び撮影方角の情報の入力を受け付け、入力欄２５ｄに対して部屋サイズの情報の入力を受け付ける（Ｓ１５）。制御部２１は、登録画面中の登録ボタンが操作されたか否かに応じて、登録画面を介して入力された情報の登録指示を受け付けたか否かを判断する（Ｓ１６）。制御部２１は、登録指示を受け付けていないと判断した場合（Ｓ１６：ＮＯ）、ステップＳ１５の処理に戻り、登録画面を介した各情報の受付を継続する。登録指示を受け付けたと判断した場合（Ｓ１６：ＹＥＳ）、即ち、登録画面中の登録ボタンが操作された場合、制御部２１（送信部）は、画面を介して受け付けたパノラマ画像、撮影位置及び撮影方角の情報、部屋サイズの情報を対応付けてサーバ１０へ送信する（Ｓ１７）。
【００３８】
サーバ１０の制御部１１（取得部）は、登録者端末２０が送信したパノラマ画像、撮影位置及び撮影方角の情報、部屋サイズの情報を受信し、受信した各情報を対応付けて登録する（Ｓ１８）。具体的には、制御部１１は、受信したパノラマ画像に画像ＩＤを発行し、画像ＩＤに対応付けて、受信した部屋サイズの情報、撮影位置の情報及び撮影方角の情報を画像情報ＤＢ１２ａに記憶する。また、制御部１１は、画像ＩＤに対応付けて、受信したパノラマ画像をパノラマ画像ＤＢ１２ｂに記憶する。なお、サーバ１０が登録者端末２０から撮影場所の部屋の情報（撮影部屋情報）を受信していた場合、部屋の情報も画像情報ＤＢ１２ａに記憶する。上述した処理により、撮影対象の部屋で撮影されたパノラマ画像が、撮影位置及び撮影方角の情報と、部屋のサイズの情報と共にサーバ１０に登録される。なお、パノラマ画像は、１つの部屋において異なる複数の撮影位置で撮影してもよいが、それぞれのパノラマ画像について上述した処理を行うことによって、それぞれのパノラマ画像をサーバ１０に登録する。
【００３９】
サーバ１０に登録されるパノラマ画像は、画像の上下方向が撮影空間の鉛直方向に一致した状態となっている。なお、画像の上下方向が撮影空間の鉛直方向に一致しているパノラマ画像は、天頂補正済みのパノラマ画像という。このようなパノラマ画像は、カメラ３０の上下方向が鉛直方向となる状態で撮影を行うことによって取得してもよい。また、撮影時のカメラ３０の情報を用いて撮影後のパノラマ画像に補正処理を行うことによって天頂補正済みのパノラマ画像を生成してもよい。例えばカメラ３０に設けられた加速度センサを用いて重力加速度を検出することにより、撮影時にカメラ３０が重力方向（即ち、鉛直方向の下向き）からどれだけ傾いていたかを検知できる。この情報を用いて撮影後のパノラマ画像における鉛直方向の傾きを補正（天頂補正）することによって、画像の上下方向が鉛直方向に一致するパノラマ画像を得ることができる。なお、天頂補正処理は、カメラ３０、登録者端末２０又はサーバ１０のいずれで実行されてもよい。
【００４０】
次に、サーバ１０に登録されたパノラマ画像を、ユーザ端末４０を用いて再生（表示）する際に、ユーザ端末４０及びサーバ１０が行う処理について説明する。図１０はパノラマ画像の再生処理手順の一例を示すフローチャート、図１１は対応付け処理手順の一例を示すフローチャート、図１２〜１９は再生処理を説明するための模式図である。なお、図１１に示す対応付け処理は図１０に示す再生処理に含まれる処理である。図１０では左側にユーザ端末４０が行う処理を、右側にサーバ１０が行う処理をそれぞれ示す。サーバ１０は、以下の処理を記憶部１２に記憶してある制御プログラム１２Ｐに従って制御部１１によって実行するが、処理の一部を専用のハードウェア回路で実現する構成でもよい。
【００４１】
ユーザ端末４０の制御部４１は、センサ部４５によって、ユーザ端末４０を装着したユーザの頭部の位置及び向きを検出し、位置及び向きを示す情報を取得する（Ｓ２１）。例えば制御部４１は、センサ部４５のＧＰＳによってユーザ端末４０の現在位置を検出し、センサ部４５の地磁気センサによってユーザ端末４０の向きを検出する。制御部４１は、取得した位置及び向きを示す情報を通信部４３にてサーバ１０へ送信する（Ｓ２２）。センサ部４５が検出するユーザ端末４０（ユーザ）の位置が、撮影空間内における仮想視点の位置となるので、制御部４１は、仮想視点の位置情報を通信部４３から送信する送信部として機能する。制御部４１は、位置及び向きの検出及び送信を、所定時間間隔で行ってもよいし、例えば入力部（図示せず）を介したユーザからの指示に従って行ってもよい。
【００４２】
一方、サーバ１０の制御部１１は、再生すべきパノラマ画像をパノラマ画像ＤＢ１２ｂから選択して読み出す（Ｓ２３）。再生すべきパノラマ画像は、例えば入力部１４又はユーザ端末４０を介して指定される。なお、入力部１４又はユーザ端末４０を介して、再生すべきパノラマ画像を撮影した部屋が指定され、制御部１１は、指定された部屋で撮影されたパノラマ画像をパノラマ画像ＤＢ１２ｂから読み出してもよい。
【００４３】
サーバ１０の制御部１１（受付部、受信部）は、ステップＳ２２でユーザ端末４０が送信した位置（仮想視点の位置）及び向きを示す情報を通信部１３にて受信した場合（受け付けた場合）、受信した位置及び向きを示す情報を記憶部１２に逐次記憶する。よって、制御部１１は、ユーザ端末４０から位置及び向きを示す情報を受信した場合、前回受信した情報と比較して、ユーザの位置が変化したか否かを判断する（Ｓ２４）。なお、ユーザ端末４０から送信されるユーザの位置は、撮影空間内の仮想視点の位置を示しており、仮想視点は、例えばパノラマ画像の再生処理の開始時点では、撮影空間の中央位置等の所定位置とする。従って、サーバ１０の制御部１１は、最初にユーザの位置を受信した場合、受信したユーザの位置に対応する仮想視点の位置を撮影空間内の所定位置とし、以降に受信するユーザの位置に対応する仮想視点は、ユーザの移動に伴って移動させる（変更する）。ユーザの位置（仮想視点の位置）が変化していないと判断した場合（Ｓ２４：ＮＯ）、制御部１１は、ユーザの位置が変化するまで、ユーザ端末４０から位置及び向きを示す情報を受信する処理を継続する。
【００４４】
ユーザの位置が変化したと判断した場合（Ｓ２４：ＹＥＳ）、制御部１１はまず、ステップＳ２３で読み出したパノラマ画像に対して方位角方向の補正（方位角補正）を行う（Ｓ２５）。図１２は、撮影対象の部屋を天井側から見た状態を示す模式図であり、図１２中の黒丸で示す箇所を撮影位置とし、白丸で示す箇所をユーザの位置（仮想視点の位置）とする。例えば図１２中の矢符Ａで示す方向が撮影方向であった場合、制御部１１は、図１２中の矢符Ｂで示すように仮想視点位置から撮影位置への方向を撮影方向としたパノラマ画像に方位角補正を行う。即ち、制御部１１は、矢符Ｂで示す方向に位置する被写体が画像の中央に写っている状態のパノラマ画像に補正する。具体的には、撮影時の撮影方向（方角）が南西方向であり（カメラ３０の第１光軸が南西方向に一致した状態で撮影された場合）、仮想視点位置から撮影位置への方向が北方向であったとする。この場合、制御部１１は、パノラマ画像全体を画像の左右幅の３／８（全周２πに対するズレ量３π／４の比率）だけ左方向に平行移動させることにより、北向方向が画像の中央に一致するパノラマ画像に補正できる。なお、このとき、パノラマ画像の右端の３／８の領域には、平行移動によってパノラマ画像の左端から削除した３／８の領域をそのままコピーすればよい。これにより、パノラマ画像ＤＢ１２ｂから読み出したパノラマ画像を、仮想視点位置から撮影位置への方向を撮影方向としたパノラマ画像に方位角方向を補正することができる。なお、制御部１１は、取得したユーザの位置における高さが、ステップＳ２３で読み出したパノラマ画像の撮影位置の高さに一致しない場合、パノラマ画像に対して天頂角方向の補正を行っておく。これにより、仮想視点の高さと、パノラマ画像の撮影位置の高さとを一致させることができる。
【００４５】
次に制御部１１（対応付け部）は、撮影位置で撮影したパノラマ画像中の各画素と、仮想視点から見た状態のパノラマ画像中の各画素とを対応付ける対応付け処理を行う（Ｓ２６）。本実施形態では、撮影位置で撮影したパノラマ画像（以下では撮影画像という）と、仮想視点から見た状態のパノラマ画像（以下では仮想画像という）とにおいて、撮影画像及び仮想画像に係る全天球と、撮影位置及び仮想視点位置を結ぶ直線とが交差する２点を通る全天球上の複数の線上の画素を対応付ける。なお、このような線をエピポーラ線という。
【００４６】
ここで、エピポーラ線について説明する。図１３は撮影空間内の２箇所で撮影したパノラマ画像の例を示す模式図、図１４はエピポーラ線の例を示す模式図である。なお、図１３Ａは第１撮影位置で撮影したパノラマ画像（第１画像）であり、図１３Ｂは第２撮影位置で撮影したパノラマ画像（第２画像）であり、正距円筒図法により長方形に展開されたパノラマ画像である。図１３に示す２つのパノラマ画像は、共に画像の上下方向が鉛直方向に一致し、撮影方向（カメラ３０の正面方向）が同じであるとする。具体的には撮影方向が第２撮影位置から第１撮影位置を見た方向である画像とする。このようなパノラマ画像間では、撮影方向及び撮影方向の反対方向（カメラ３０の背面方向）に対応する画像中の位置（図１３，１４中の点Ｄ１及び点Ｄ２，点Ｄ３及び点Ｄ４）を通る複数の線（曲線）上に、同じ被写体が写っている。また同じ被写体は、２箇所の撮影位置間の視差に応じてパノラマ画像中の異なる位置に写っている。例えば図１３Ａに示す第１画像において線Ｌａ２上に写っている被写体Ｌａ２ａは、図１３Ｂに示す第２画像においても線Ｌａ２上に写っている。図１４には、第１撮影位置及び第２撮影位置のそれぞれで撮影したパノラマ画像のイメージを球体で示しており、球体の表面上の曲線Ｌａ１，Ｌｂ１はそれぞれエピポーラ線を示している。ここで、第２撮影位置から第１撮影位置に向かう方向を天頂方向とした極座標系（以下では共通軸極座標系という）を用いる。なお、第２撮影位置から第１撮影位置に向かう方向は、撮影方向（カメラ３０の正面方向）であり、図７Ａに示した直交座標系のＺ軸の負方向（−Ｚ軸方向）である。共通軸極座標系の方位角には、撮影空間のＸ軸の負方向を基準として、Ｚ軸の負方向から見てＺ軸を中心に反時計回りの角度φ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 ）は以下の（５）式及び（６）式によって相互に変換可能である。
【００４９】
【数３】
2020204973.tif 000005
【００５０】
なお、ローカル極座標系の座標値（ｒL ，θL ，φL ）で表される全天球画像は、正距円筒図法により、横軸及び縦軸をそれぞれ、方位角φL 及び天頂角θL をそれぞれ０〜１の範囲に正規化したｕ値（ｕ軸）及びｖ値（ｖ軸）とする平面（長方形）の画像に展開できる。ここで、ローカル極座標系の方位角φL 及び天頂角θL と、ｕ値及びｖ値とは、以下の（７）式及び（８）式によって相互に変換可能である。
【００５１】
【数４】
2020204973.tif 000006
【００５２】
図１５Ｂに示すように共通軸極座標系は、ワールド直交座標系のＺW 軸の負方向を基準とした天頂角θC と、ＺW 軸の負方向から見てＸW 軸の負側を基準としてＸW ＹW 平面内の反時計回りの方位角φC と、原点０からの距離ｒC とによって表される。よって、３次元空間中の任意の位置Ｐは、ワールド直交座標系の座標（ｘW ，ｙW ，ｚW ）と共通軸極座標系の座標（ｒC ，θC ，φC ）とで表すことができ、ワールド直交座標系の座標（ｘW ，ｙW ，ｚW ）及び共通軸極座標系の座標（ｒC ，θC ，φC ）は以下の（９）式及び（１０）式によって相互に変換可能である。
【００５３】
【数５】
2020204973.tif 000007
【００５４】
本実施形態では、図１４中の第１撮影位置を撮影位置とし、第２撮影位置を仮想視点位置として、撮影画像及び仮想画像において、複数のエピポーラ線上の点（画素）の対応付けを行う。なお、以下では、共通軸極座標系における方位角方向に所定角度間隔で設けられた複数のエピポーラ線上にそれぞれ等間隔に配置される複数の点（画素）を対応付ける。例えば、共通軸極座標系における方位角方向に５°間隔で設けられた７２本のエピポーラ線上にそれぞれ等間隔に配置された１００個の画素を対応付けるが、エピポーラ線の数及び方位角方向の間隔、並びに各エピポーラ線上の画素の数はこれに限らず、任意の数又は任意の間隔とすることができる。以下では、説明の簡略化のため、撮影位置及び仮想視点位置は、同じ高さで、図１２に示すようにＺ軸方向に並んでいるものとする。
【００５５】
図１１に示す対応付け処理において、制御部１１はまず、対応付けに用いるエピポーラ線の数Ｎｅと、各エピポーラ線上の点（特徴点）の数Ｎｐとを所定値に初期設定する（Ｓ４１）。なお、初期設定すべき所定値は予め記憶部１２に記憶してあってもよく、また、入力部１４を介して変更可能であってもよい。次に制御部１１は、処理中のエピポーラ線を示すエピポーラＩＤＩｅを０に設定する（Ｓ４２）。なお、例えば共通軸極座標系の方位角φC が０ラジアンのエピポーラ線をエピポーラＩＤＩｅが０のエピポーラ線とし、方位角φC の増加に伴いエピポーラＩＤＩｅを１ずつ増加させていくことにより、方位角φC が０ラジアンのエピポーラ線から順に処理を行う。
【００５６】
制御部１１は、エピポーラＩＤがＩｅのエピポーラ線（ここではＩｅ＝０のエピポーラ線）の長さＬを算出する（Ｓ４３）。なお、エピポーラＩＤがＩｅのエピポーラ線の共通軸極座標系の方位角φC は、φC＝２π×Ｉｅ／Ｎｅで表される。図１６はエピポーラ線の長さＬを示す説明図である。図１６Ａは撮影空間を天井側から見た状態を示し、図１６Ｂ，Ｃは、撮影空間をＸ軸負方向から見た状態（図１６Ａにおける下側から見た状態）を示す。なお、図１６Ｂ，Ｃ中の一点鎖線は、手前側（図１６Ａにおける下側）の壁の天井側の端辺と床面側の端辺とを示している。また、図１６Ｂ，Ｃにおける左側の壁を前方壁とし、右側の壁を後方壁とし、手前側及び奥側の壁と天井と床面とをまとめて側壁（４側壁）とする。撮影空間は略直方体形状であると仮定しているので、いずれの方位角φC のエピポーラ線も、前方壁及び後方壁と、４側壁のいずれかとを通る。図１６Ｂ，Ｃに示すエピポーラ線は、前方壁と奥側の壁と後方壁とを通っている。図１６Ｂで分かるように、撮影画像及び仮想画像において同一の方位角φC のエピポーラ線は同じ長さとなる。また、撮影位置及び仮想視点位置を結んだ直線が前方壁と交差する点を前方極点Ｐｆとし、後方壁と交差する点を後方極点Ｐｒとし、前方壁と奥側の壁との境界においてエピポーラ線が通る点を中間点Ｑｆとし、奥側の壁と後方壁との境界においてエピポーラ線が通る点を中間点Ｑｒとする。図１６Ｂに示すエピポーラ線において、前方壁を通る部分、即ち前方極点Ｐｆと中間点Ｑｆとの間の長さＳφC と、後方壁を通る部分、即ち中間点Ｑｒと後方極点Ｐｒとの間の長さＳφC とは同じである。また、前方壁の縦方向及び横方向の長さが分かっており、前方壁における前方極点Ｐｆ及び中間点Ｑｆの位置も分かっているので、前方壁及び後方壁を通る部分の長さＳφC は幾何学計算により算出できる。また、図１６Ｂに示すエピポーラ線において、奥側の壁を通る部分、即ち中間点Ｑｆと中間点Ｑｒとの間の長さは、撮影空間のＺ軸方向の長さＺｒに一致する。よって、方位角φC のエピポーラ線の長さは、ＬφC ＝２ＳφC ＋Ｚｒとなる。
【００５７】
次に制御部１１は、エピポーラＩＤがＩｅのエピポーラ線（ここではＩｅ＝０）上に等間隔にＮｐ個の特徴点を設定し、それぞれの特徴点について、撮影位置及び仮想視点位置のそれぞれから見た場合の共通軸極座標系の天頂角を特定する。具体的には、制御部１１は、処理中の特徴点を示す特徴点ＩＤＩｐを０に設定する（Ｓ４４）。なお、例えば１つのエピポーラ線において、共通軸極座標系の天頂角θC が０ラジアンの特徴点を特徴点ＩＤＩｐが０の特徴点とし、天頂角θC の増加に伴い特徴点ＩＤＩｐを１ずつ増加させていくことにより、天頂角θC が０ラジアンの特徴点から順に処理を行う。例えば制御部１１は、図１６Ｃに示すエピポーラ線上において、前方極点Ｐｆから中間点Ｑｆ及び中間点Ｑｒを通り後方極点Ｐｒに至るまで、所定間隔（等間隔）で特徴点Ｆを設定し、各特徴点Ｆについて処理を行う。
【００５８】
制御部１１は、特徴点ＩＤがＩｐの特徴点（ここではＩｐ＝０の特徴点）について、前方極点Ｐｆからの長さＬｐを算出する（Ｓ４５）。前方極点Ｐｆから特徴点Ｆまでの長さＬｐは、Ｌｐ＝Ｌ×Ｉｐ／（Ｎｐ−１）で算出できる。なお、Ｌは、ステップＳ４３で算出したエピポーラ線の長さであり、Ｎｐは、エピポーラ線上に設定される特徴点の個数である。次に制御部１１は、算出した長さＬｐに基づいて、壁上の特徴点Ｆの位置を表す直交座標系の座標値（ｘf ，ｙf ，ｚf ）を算出する（Ｓ４６）。ここではまず、中間点Ｑｆ及び中間点Ｑｒの直交座標系の座標値を算出することにより、前方極点Ｐｆ及び後方極点Ｐｒの座標値と、中間点Ｑｆ及び中間点Ｑｒの座標値とに基づいて、特徴点Ｆの位置の座標（ｘf ，ｙf ，ｚf ）を算出できる。なお、図１６Ｃに示すように、ここでは仮想視点は撮影位置をＺ軸方向に移動させた位置とするので、撮影位置Ｃを直交座標系の座標（ｘc ，ｙc ，ｚc ）とした場合に仮想視点Ｖは直交座標系の座標（ｘc ，ｙc ，ｚv ）で表われされる。よって、前方極点Ｐｆは直交座標系の座標（ｘc ，ｙc ，０）で表わされ、後方極点Ｐｒは直交座標系の座標（ｘc ，ｙc ，Ｚｒ）で表わされる。
【００５９】
中間点Ｑｆは、前方壁と奥側の側壁との境界線と、前方極点Ｐｆから共通軸極座標系の方位角φC 方向へ向かう半直線との交点であり、直交座標系の座標（ｘqf，ｙqf，０）とする。また、中間点Ｑｒは、後方壁と奥側の側壁との境界線と、後方極点Ｐｒから共通軸極座標系の方位角φC 方向へ向かう半直線との交点であり、直交座標系の座標（ｘqr，ｙqr，Ｚｒ）とする。なお、ｘqf＝ｘqrであり、ｙqf＝ｙqrである。また、エピポーラ線の長さＬは、線分ＰｆＱｆの長さと、線分ＱｆＱｒの長さ（Ｚｒ）と、線分ＱｒＰｒの長さとの合計であり、以下の（１１）式によって表される。
【００６０】
【数６】
2020204973.tif 000008
【００６１】
図１７はエピポーラ線を示す模式図であり、図１７Ａは、撮影位置又は仮想視点から前方壁を見た状態を示し、図１７Ｂは、エピポーラ線を含む平面を天井側から見た状態を示す。なお、図１７Ｂに示す撮影空間は、前方壁を左辺、後方壁を右辺、奥側の側壁を上辺、手前側の側壁を下辺として示している。前方壁はＸＹ平面（Ｚ＝０）上の矩形であり、Ｘ軸方向の大きさがＸｒ、Ｙ軸方向の大きさがＹｒである矩形と見なすことができる。図１７Ａから分かるように、前方極点Ｐｆから共通軸極座標系の方位角φC 方向に伸びる半直線Ｈは、ＸＹ平面内では前方極点ＰｆからＸ軸負方向を基準として時計回りに角度φC 方向に伸びる半直線となる。前方極点Ｐｆは矩形（前方壁）内部にあるので、前方極点Ｐｆから角度φC 方向に伸びる半直線Ｈは、矩形の４辺をそれぞれ直線と見なした場合に、４辺のうちの隣接する２辺と交差する。図１７Ａに示す例では、半直線Ｈは、矩形（前方壁）の右辺（Ｘ＝Ｘｒ）及び上辺（Ｙ＝Ｙｒ）と交差し、右辺との交点を点Ｑｆとし、上辺との交点を点Ｑｆ´とする。この２つの交点Ｑｆ，Ｑｆ´のうちで前方極点Ｐｆに近い方の交点がここでの中間点Ｑｆとなるので、交点Ｑｆの直交座標系の座標値（ｘｒ，ｙｆ，０）を算出し、中間点Ｑｆの直交座標系の座標値とする。なお、中間点Ｑｆの座標値が算出できれば、中間点Ｑｒの直交座標系の座標値は、座標（ｘｒ，ｙｆ，Ｚｒ）と算出できる。
【００６２】
中間点Ｑｆ及び中間点Ｑｒの直交座標系の座標値を算出した後、制御部１１は、前方極点Ｐｆ、中間点Ｑｆ，Ｑｒ、後方極点Ｐｒのそれぞれの座標値に基づいて、特徴点Ｆの座標値（ｘf ，ｙf ，ｚf ）を算出する。図１７Ｂに示す前方極点Ｐｆから後方極点Ｐｒまでのエピポーラ線において、等間隔にＮｐ個の特徴点Ｆ（Ｆ0 〜ＦNp-1）を設定する。なお、特徴点Ｆ0 は前方極点Ｐｆに一致し、特徴点ＦNp-1は後方極点Ｐｒに一致し、前方極点Ｐｆから後方極点Ｐｒまでの間をＮｐ−１個に分割し、それぞれの分割点を特徴点Ｆとする。なお、特徴点ＩＤがＩｐの特徴点ＦIpにおいて前方極点Ｐｆからの長さＬIpは、ＬIp＝Ｌ×Ｉｐ／（Ｎｐ−１）である。よって、制御部１１は、ＬIp＜ＳφC の場合、即ち、特徴点Ｆが前方極点Ｐｆと中間点Ｑｆとの間にある場合、前方極点Ｐｆから中間点Ｑｆに向かって前方極点Ｐｆから距離がＬIpの位置をそれぞれ特徴点Ｆとする。また制御部１１は、ＳφC ≦ＬIp＜ＳφC ＋Ｚｒの場合、即ち、特徴点Ｆが中間点Ｑｆと中間点Ｑｒとの間にある場合、中間点Ｑｆから中間点Ｑｒに向かって中間点Ｑｆからの距離がＬIp−ＳφC の位置をそれぞれ特徴点Ｆとする。更に、制御部１１は、ＳφC ＋Ｚｒ≦ＬIpの場合、即ち、特徴点Ｆが中間点Ｑｒと後方極点Ｐｒとの間にある場合、中間点Ｑｒから後方極点Ｐｒに向かって中間点Ｑｒからの距離がＬIp−（ＳφC ＋Ｚｒ）の位置をそれぞれ特徴点Ｆとする。
【００６３】
制御部１１は、特徴点ＩＤがＩｐの特徴点ＦIpの直交座標系の座標値を算出した後、撮影位置Ｃ及び仮想視点Ｖのそれぞれから特徴点ＦIpを見た場合の共通軸極座標系における天頂角θｃ，θｖをそれぞれ算出する（Ｓ４７）。図１８は、共通軸極座標系の天頂角の算出処理の説明図である。ここでは、前方極点Ｐｆからｉ番目の特徴点Ｆｉについて、撮影位置Ｃ及び仮想視点Ｖでの天頂角θｃ，θｖを算出する。なお、天頂角θｃは、撮影位置Ｃから前方極点ＰｆへのベクトルＣＰｆと、撮影位置Ｃから特徴点ＦｉへのベクトルＣＦｉとがなす角度であり、０≦θｃ≦πの範囲をとる。３次元の直交座標系においてベクトルＣＦｉを（ｖx ，ｖy ，ｖz ）とすると、天頂角θｃの正接tanθｃは、以下の（１２）式で表される。従って、天頂角θｃは、以下の（１３）式に基づいて算出できる。
【００６４】
【数７】
2020204973.tif 000009
【００６５】
仮想視点Ｖでの天頂角θｖについても同様に算出でき、撮影位置Ｃ及び仮想視点Ｖでの天頂角θｃ，θｖを算出した場合、制御部１１は、算出した天頂角θｃ，θｖを対応付けて記憶部１２に記憶する（Ｓ４８）。図１９は、天頂角の対応付けテーブルを示す模式図である。制御部１１は、例えば記憶部１２に図１９に示すような対応付けテーブルを生成し、算出した天頂角θｃ，θｖを、エピポーラＩＤ及び特徴点ＩＤに対応付けて記憶する。
【００６６】
制御部１１は、１つの特徴点Ｆについて撮影位置Ｃ及び仮想視点Ｖでの天頂角θｃ，θｖを算出して記憶した後、特徴点ＩＤ（Ｉｐ）に１を加算する（Ｓ４９）。そして制御部１１は、加算後の特徴点ＩＤ（Ｉｐ）がＮｐに一致するか否かを判断する（Ｓ５０）。即ち、制御部１１は、エピポーラＩＤがＩｅのエピポーラ線について、後方極点Ｐｒに一致する特徴点ＦNp-1における撮影位置Ｃ及び仮想視点Ｖでの天頂角θｃ，θｖを算出したか否かを判断する。制御部１１は、加算後の特徴点ＩＤ（Ｉｐ＋１）がＮｐに一致しないと判断した場合（Ｓ５０：ＮＯ）、ステップＳ４５の処理に戻り、特徴点ＩＤがＩｐ＋１の特徴点について、ステップＳ４５〜Ｓ４８の処理を行う。加算後の特徴点ＩＤ（Ｉｐ＋１）がＮｐに一致したと判断した場合（Ｓ５０：ＹＥＳ）、即ち、エピポーラＩＤがＩｅのエピポーラ線について全ての特徴点における撮影位置Ｃ及び仮想視点Ｖでの天頂角θｃ，θｖの算出が完了した場合、制御部１１は、エピポーラＩＤ（Ｉｅ）に１を加算し（Ｓ５１）、加算後のエピポーラＩＤ（Ｉｅ＋１）がＮｅに一致するか否かを判断する（Ｓ５２）。ここでは、制御部１１は、全てのエピポーラ線について上述した処理を終了したか否かを判断する。加算後のエピポーラＩＤ（Ｉｅ＋１）がＮｅに一致しないと判断した場合（Ｓ５２：ＮＯ）、制御部１１は、ステップＳ４３の処理に戻り、エピポーラＩＤがＩｅ＋１のエピポーラ線について、ステップＳ４３〜Ｓ５０の処理を行う。加算後のエピポーラＩＤ（Ｉｅ＋１）がＮｅに一致したと判断した場合（Ｓ５２：ＹＥＳ）、即ち、全てのエピポーラ線について上述した処理を終了した場合、制御部１１は図１０に示す処理に戻る。
【００６７】
制御部１１（生成部）は、図１１に示す対応付け処理を終了した後、対応付け処理の結果（具体的には対応付けテーブルの記憶内容）に基づいて、撮影位置で撮影したパノラマ画像から、仮想視点での仮想画像を生成する（Ｓ２７）。対応付けテーブルにおいて、エピポーラＩＤがＩｅのエピポーラ線の共通軸極座標系の方位角φC は、φC ＝２π×Ｉｅ／Ｎｅで表される。よって、制御部１１は、対応付けテーブルの記憶内容に基づいて、パノラマ画像において共通軸極座標系の座標（θC ，φC ）の位置の画素の画素値を、仮想画像において共通軸極座標系の座標（θV ，φC ）の位置の画素の画素値にコピーすることによって仮想画像を生成できる。なお、制御部１１は、対応付けが行われていない画素については、例えばパノラマ画像において、対応付けが行われた４つの画素を頂点とする矩形内に含まれる各画素の画素値を、仮想画像において前記４つの画素にそれぞれ対応付けられている４つの画素を頂点とする矩形内に含まれる各画素の画素値にコピーすればよい。このように、所定数のエピポーラ線のそれぞれにおける所定数の特徴点についてのみパノラマ画像上の画素と仮想画像上の画素との対応付けを行い、他の画素については、対応付けが行われている画素に従った対応付けを行う。これにより、制御部１１による演算負荷が軽減でき、仮想画像を高速に生成することができる。なお、制御部１１は、上述した処理によってパノラマ画像から仮想画像を生成する構成に限定されず、撮影位置と仮想視点位置との間の射影幾何学的関係に応じた射影変換処理を用いて仮想画像を生成してもよい。
【００６８】
制御部１１（送信部）は、仮想画像を生成した場合、生成した仮想画像を通信部１３にてユーザ端末４０へ送信する（Ｓ２８）。ユーザ端末４０の制御部４１（受信部）は、サーバ１０が送信した仮想画像を通信部４３にて受信し、受信した仮想画像を表示部４４に表示する（Ｓ２９）。ユーザ端末４０の制御部４１は、ユーザの位置及び向きの検出及び送信を、所定時間間隔又はユーザからの指示に従って行い、サーバ１０の制御部１１は、ユーザ端末４０からユーザの位置及び向きの情報を受信する都度、ステップＳ２４〜Ｓ２８の処理を行う。これにより、実写データに基づいて、撮影空間内の任意の視点から見た画像（仮想画像）を生成する情報処理システム１００を提供することができる。上述した処理により、ユーザは、撮影対象の部屋の中を移動しながら、部屋の広さ、家具の配置、窓の外の景色等を感覚的に把握することができる。なお、カメラ３０を用いて撮影する空間は、博物館、美術館、テーマパーク、アミューズメント施設、観光地、商業施設等であってもよい。
【００６９】
上述した処理において、ユーザ端末４０の制御部４１は、ステップＳ２１で取得した位置及び向きが、前回取得した位置及び向きに対して変化したか否かを判断し、変化した場合にのみ、取得した位置及び向きの情報をサーバ１０へ送信するようにしてもよい。この場合、サーバ１０の制御部１１は、ステップＳ２４の処理を行う必要がなく、ユーザ端末４０から受信した位置及び向きの情報に基づいて、ステップＳ２５以降の処理を行えばよい。
【００７０】
本実施形態によると、撮影したパノラマ画像に基づいて、視点位置（仮想視点位置）の移動に応じて、仮想視点から見た仮想画像が生成されてユーザ端末４０で表示（再生）される。これにより、実際に撮影したパノラマ画像から視点位置を移動した効果のある映像表現（仮想画像）が得られる。よって、ユーザは自身の移動に応じて任意の位置（仮想位置）から見た状態の仮想画像を見ることができ、その際にユーザに与える違和感が抑制された仮想画像を提供できる。
【００７１】
本実施形態では、パノラマ画像の各画素と仮想画像の各画素との対応付けが自動的に行われる。従来、２つの画像中の画素の対応付けは手作業で行われている場合が多く、作業負担が大きいと共に、対応付けるべき画素（特徴点）を選択するために、ある程度の知識を有する人が作業を行う必要があった。しかし、本実施形態では、撮影空間のサイズ及び撮影空間における撮影位置の情報を入力すれば、２つの画像中の画素の対応付けは自動的に行われるので、作業負担が軽減できる。特に、不動産物件を撮影したパノラマ画像を処理対象とする場合、例えば不動産会社の従業員がパノラマ画像をサーバに登録することが多いが、不動産会社の従業員が画像処理に関する知識を有しない場合であっても、パノラマ画像を登録する際に、撮影空間のサイズ及び撮影位置の情報を入力すればよいので、登録作業の負担が増大しない。
【００７２】
本実施形態によると、ＨＭＤ型のユーザ端末４０を使用するので、コンピュータ等の操作に不慣れなユーザであっても容易に様々な視点から室内を見た状態の画像を確認できる情報処理システム１００を提供できる。本実施形態によると、市販の全天球カメラ等を用いて撮影したＪＰＥＧ（Joint Photographic Experts Group）形式等の汎用の形式の画像を使用して、様々な視点から室内を見た状態の画像を提供できる情報処理システム１００を提供できる。なお、カメラ３０は、全天球カメラに限定しない。たとえば、半球型の範囲を撮影可能なカメラであっても、通常の平面画像撮影用のカメラであってもよい。
【００７３】
（実施形態２）
本実施形態は、撮影空間内の複数の撮影位置で撮影した複数のパノラマ画像を合成して、仮想視点から見た状態の仮想画像を提供する情報処理システム１００に関する。本実施形態の情報処理システム１００は、実施形態１の情報処理システム１００における各装置と同様の装置によって実現できる。実施形態１と共通する部分については説明を省略する。
【００７４】
図２０は、実施形態２のパノラマ画像の再生処理手順の一例を示すフローチャートである。図２０に示す処理は、図１０に示す処理においてステップＳ２５〜Ｓ２７の代わりにステップＳ６１〜Ｓ６９の処理を追加したものである。図１０に示す処理と同様のステップについては説明を省略する。なお、本実施形態のサーバ１０の制御部１１は、ステップＳ２３において、再生すべきパノラマ画像として、同一の撮影空間で撮影された複数のパノラマ画像をパノラマ画像ＤＢ１２ｂから読み出す（Ｓ２３）。ここでは、例えば制御部１１は２つのパノラマ画像を読み出す。
【００７５】
そして、制御部１１は、ユーザ端末４０から受信したユーザの位置が、前回受信した位置から変化したと判断した場合（Ｓ２４：ＹＥＳ）、読み出したパノラマ画像の一方を抽出し（Ｓ６１）、抽出したパノラマ画像について、方位角方向の補正（方位角補正）を行い（Ｓ６２）、対応付け処理を行う（Ｓ６３）。なお、ステップＳ６２の処理は、図１０中のステップＳ２５の処理と同様であり、ステップＳ６３の対応付け処理は、図１１に示す処理と同様である。そして制御部１１は、ステップＳ６３の対応付け処理の結果を用いて、ステップＳ６１で抽出したパノラマ画像から、仮想視点から見た中間仮想画像を生成する（Ｓ６４）。なお、ステップＳ６４の処理は、図１０中のステップＳ２７の処理と同様である。
【００７６】
次に制御部１１は、読み出したパノラマ画像の他方を抽出し（Ｓ６５）、抽出したパノラマ画像について、方位角方向の補正を行い（Ｓ６６）、対応付け処理を行い（Ｓ６７）、ステップＳ６７の対応付け処理の結果を用いて、ステップＳ６５で抽出したパノラマ画像から、仮想視点から見た中間仮想画像を生成する（Ｓ６８）。なお、ここでも、ステップＳ６６の処理は図１０中のステップＳ２５の処理と同様であり、ステップＳ６７の対応付け処理は図１１に示す処理と同様であり、ステップＳ６８の処理は図１０中のステップＳ２７の処理と同様である。制御部１１（合成部）は、上述したように２つのパノラマ画像から生成した２つの中間仮想画像を合成することによって、仮想視点から見た仮想画像を生成する（Ｓ６９）。ここでは、例えば２つのパノラマ画像の撮影位置（２箇所の撮影位置）のそれぞれと、仮想視点位置との関係に応じた合成割合（合成比率）で、各パノラマ画像を合成する。具体的には、制御部１１は、撮影位置のそれぞれと仮想視点位置との距離が短いほど大きい合成割合を特定し、特定した合成割合で２つのパノラマ画像を合成する。そして制御部１１は、生成した仮想画像を通信部１３にてユーザ端末４０へ送信し（Ｓ２８）、ユーザ端末４０の制御部４１は、サーバ１０から受信した仮想画像を表示部４４に表示する（Ｓ２９）。
【００７７】
本実施形態においても実施形態１と同様の効果が得られる。また、本実施形態では、複数のパノラマ画像を合成して、仮想視点から見た仮想画像を生成するので、より精度の高い仮想画像を提供できる。なお、本実施形態において、３つ以上のパノラマ画像を合成して１つの仮想画像を生成してもよい。
【００７８】
上述した本実施形態は、２つのパノラマ画像のそれぞれについて、仮想画像との対応付けを行って２つの中間仮想画像を生成し、２つの中間仮想画像を合成して１つの仮想画像を生成する構成である。これにより、２つのパノラマ画像の各画素（各特徴点）を、仮想画像の画素（特徴点）を介して対応付けることができる。このほかに、２つのパノラマ画像の各画素を直接対応付けてもよい。この場合、図１４中の第１撮影位置を一方のパノラマ画像の撮影位置とし、第２撮影位置を他方のパノラマ画像の撮影位置として、２つのパノラマ画像において複数のエピポーラ線上の画素（特徴点）の対応付けを行えばよい。このように対応付けられた各画素に基づいて、２つのパノラマ画像を合成することにより、仮想視点からの仮想画像を生成できる。また、このような２つのパノラマ画像間における対応付けを対応付けテーブルに記憶することにより、対応付けテーブルの記憶内容に基づいて、２箇所の撮影位置間の視差によって生じる２つのパノラマ画像間のずれを補正することができる。
【００７９】
（実施形態３）
本実施形態は、パソコン、スマートフォン、又は、タブレット等の汎用の情報処理装置をユーザ端末４０に使用する情報処理システム１００に関する。実施形態１と共通する部分については、説明を省略する。
【００８０】
図２１は、実施形態３の画面例を示す模式図である。画面には、表示エリア４４１、上視線ボタン４４２、右視線ボタン４４３、下視線ボタン４４４、左視線ボタン４４５、移動ボタン４４６及びズームボタン４４７が含まれる。ユーザは、ユーザ端末４０の表示部４４に設けられたタッチパネルのタッチ操作、又はマウスを用いたクリック操作等により各ボタンを選択できる。
【００８１】
上視線ボタン４４２の入力を受け付けた場合、制御部４１はユーザ端末４０の向きが上向きに変化したという入力を受け付けた場合と同様に、表示エリア４４１に表示される画像の範囲を上向きに変化させる。同様に、右視線ボタン４４３、下視線ボタン４４４および左視線ボタン４４５の選択を受け付けた場合も、制御部４１は表示エリア４４１に表示される画像の範囲をそれぞれの向きに変化させる。
【００８２】
移動ボタン４４６は、前後左右の領域に分割されている。移動ボタン４４６のそれぞれの領域の選択を受け付けた場合、制御部４１はユーザ端末４０の位置がそれぞれの向きに変化したと判定し、仮想視点を移動させる。ズームボタン４４７の選択を受け付けた場合、制御部４１は、表示エリア４４１に表示する画像の範囲を拡大または縮小する。
【００８３】
以上により、ユーザは画面上のボタンの操作により、たとえば撮影対象の部屋の中を自由に移動しながら、部屋の広さ、家具の配置、窓の外の景色等を感覚的に把握することができる。ユーザ端末４０を傾ける操作又はジョイスティック等の操作が、画面上の各ボタンの操作の代わりに用いられてもよい。
【００８４】
上述した各実施形態において、カメラ３０は１つであっても複数であってもよい。また、カメラ３０を撮影位置に設置しておき、サーバ１０からの指示に従ってカメラ３０が撮影を行ってもよい。この場合、カメラ３０で撮影された画像をリアルタイムでユーザ端末４０のユーザに提供することができる。よって、例えば各種の部屋、劇場、動物園、植物園等で撮影した画像によって撮影対象の空間の状態をリアルタイムで確認することができる。
【００８５】
各実施形態で記載されている技術的特徴（構成要件）はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８６】
１０  サーバ
１１  制御部
１２  記憶部
１３  通信部
２０  登録者端末
２１  制御部
２２  記憶部
２３  通信部
３０  カメラ
４０  ユーザ端末
４１  制御部
４２  記憶部
４３  通信部
１００  情報処理システム
１２ａ  画像情報ＤＢ
１２ｂ  パノラマ画像ＤＢ
【図１】
2020204973.tif 000010
【図２】
2020204973.tif 000011
【図３】
2020204973.tif 000012
【図４】
2020204973.tif 000013
【図５】
2020204973.tif 000014
【図６】
2020204973.tif 000015
【図７】
2020204973.tif 000016
【図８】
2020204973.tif 000017
【図９】
2020204973.tif 000018
【図１０】
2020204973.tif 000019
【図１１】
2020204973.tif 000020
【図１２】
2020204973.tif 000021
【図１３】
2020204973.tif 000022
【図１４】
2020204973.tif 000023
【図１５】
2020204973.tif 000024
【図１６】
2020204973.tif 000025
【図１７】
2020204973.tif 000026
【図１８】
2020204973.tif 000027
【図１９】
2020204973.tif 000028
【図２０】
2020204973.tif 000029
【図２１】
2020204973.tif 000030