(57)【要約】      （修正有）【課題】パノラマ画像などの広視野角画像に対して視点位置を移動させることのできる画像生成装置および画像生成方法を提供する。【解決手段】パノラマ画像記憶部７６０は、異なる複数の定点を中心とする周囲の空間の画像を記憶する。並進移動検出部７８２は、視点位置にもとづいて並進移動を検出する。パノラマ画像処理部７５０は、視点位置および視線方向にもとづいて、定点を中心とする周囲の空間の画像の一部を切り出して表示対象の画像を取得する。異なる複数の定点は、視点が移動するワールド座標系において、定点を中心とする周囲の空間が互いに重複するように配置されており、パノラマ球切替部７８４は、並進移動検出部７８２により並進移動が検出された場合、並進移動後の視点に最も近い、別の定点を中心とする周囲の空間の画像に切り替える。【選択図】図４
2016062486.tif 000002
【特許請求の範囲】
【請求項１】
異なる複数の定点を中心とする周囲の空間の画像を記憶する記憶部と、
視点位置にもとづいて並進移動を検出する検出部と、
視点位置および視線方向にもとづいて、前記記憶部に記憶された前記定点を中心とする周囲の空間の画像の一部を切り出して表示対象の画像を取得する画像処理部と、
前記異なる複数の定点は、視点が移動するワールド座標系において、定点を中心とする周囲の空間が互いに重複するように配置されており、前記検出部により並進移動が検出された場合、並進移動後の視点に最も近い、別の定点を中心とする周囲の空間の画像に切り替える切替部とを含むことを特徴とする画像生成装置。
【請求項２】
前記検出部により並進移動が検出された場合、前記表示対象の画像を補正して疑似並進移動による画像を生成する補正処理部とを含むことを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記切替部は、並進移動後の視点が、いずれの定点を中心とする周囲の空間にも存在しない場合は、並進移動できない旨の警告を表示させることを特徴とする請求項１または２に記載の画像生成装置。
【請求項４】
視点位置および視線方向にもとづいて、別の定点を中心とする周囲の空間の画像の一部を切り出して、はめ込み画像として前記表示対象の画像に合成する合成部をさらに含む請求項１から３のいずれかに記載の画像生成装置。
【請求項５】
前記合成部は、複数の定点を中心とする周囲の空間が互いに重複する領域において、前記複数の定点を中心とする周囲の空間の画像のいずれかを選択するか、前記複数の定点を中心とする周囲の空間の画像を合成することにより、前記はめ込み画像を生成することを特徴とする請求項４に記載の画像生成装置。
【請求項６】
前記合成部は、前記表示対象の画像と前記はめ込み画像の境界を隠すためのオブジェクトを表示させ、前記オブジェクト内に表示すべきはめ込み画像として、視点位置および視線方向にもとづいて見え方の変化する画像を、前記別の定点を中心とする周囲の空間の画像から生成することを特徴とする請求項４または５に記載の画像生成装置。
【請求項７】
前記検出部が前記オブジェクトを超えて向こう側に移動する視点の並進移動を検出した場合、前記切替部は、前記オブジェクト内に表示されている前記別の定点を中心とする周囲の空間の画像に切り替えることを特徴とする請求項６に記載の画像生成装置。
【請求項８】
視点位置にもとづいて並進移動を検出する検出ステップと、
視点位置および視線方向にもとづいて、異なる複数の定点を中心とする周囲の空間の画像を記憶するメモリから前記定点を中心とする周囲の空間の画像の一部を切り出して表示対象の画像を取得する画像処理ステップと、
前記異なる複数の定点は、視点が移動するワールド座標系において、定点を中心とする周囲の空間が互いに重複するように配置されており、前記検出ステップにより並進移動が検出された場合、並進移動後の視点に最も近い、別の定点を中心とする周囲の空間の画像に切り替える切替ステップとを含むことを特徴とする画像生成方法。
【請求項９】
視点位置にもとづいて並進移動を検出する検出ステップと、
視点位置および視線方向にもとづいて、異なる複数の定点を中心とする周囲の空間の画像を記憶するメモリから前記定点を中心とする周囲の空間の画像の一部を切り出して表示対象の画像を取得する画像処理ステップと、
前記異なる複数の定点は、視点が移動するワールド座標系において、定点を中心とする周囲の空間が互いに重複するように配置されており、前記検出ステップにより並進移動が検出された場合、並進移動後の視点に最も近い、別の定点を中心とする周囲の空間の画像に切り替える切替ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、パノラマ画像などの広視野角画像を生成する装置および方法に関する。
【背景技術】
【０００２】
３６０度のパノラマ静止画やパノラマ動画を撮影するには特殊な撮影機器が必要であったが、最近は一般コンシューマ向けに全方位パノラマ画像を撮影することのできるカメラが販売されるようになった。また、ユーザが撮影した全方位パノラマ画像の投稿を受け付け、インターネットで公開するサイトや、３６０度パノラマ映像をネットワーク経由で配信するサービスも利用されている。
【０００３】
ヘッドマウントディスプレイにパノラマ映像を表示し、ヘッドマウントディスプレイを装着したユーザが頭部を回転させると視線方向に応じたパノラマ画像が表示されるようにしたシステムもある。ヘッドマウントディスプレイを利用することで、映像への没入感を高めたり、ゲームなどのアプリケーションの操作性を向上させることもできる。また、ヘッドマウントディスプレイを装着したユーザが物理的に移動することで映像として表示された空間内を仮想的に歩き回ることのできるウォークスルーシステムも開発されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
パノラマ画像は、一般にカメラの位置を固定してカメラを水平方向および／または垂直方向にパンしながら連続的もしくは複数回に分けて撮影するか、視点周りの異なる方向に複数台のカメラを配置してワンショットで撮影する。いずれの場合でも視点の位置は固定されている。視点の周りの空間を撮影したパノラマ画像に対して、視線方向を指定すると、その方向に見える画像を切り出すことができる。しかしながら、パノラマ画像は、視点の位置が移動することは想定されていないため、パノラマ撮影された空間内をユーザが並進移動し、視点を移動させた場合に見える画像は提供することができない。これは、特にヘッドマウントディスプレイを装着してユーザがパノラマ空間を移動するウォークスルーシステムを実現する上で不都合である。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は、パノラマ画像などの広視野角画像に対して視点位置を移動させることのできる画像生成装置および画像生成方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の画像生成装置は、定点を中心とする周囲の空間の画像を記憶する記憶部と、視点位置にもとづいて並進移動を検出する検出部と、視点位置および視線方向にもとづいて、前記記憶部に記憶された前記定点を中心とする周囲の空間の画像の一部を切り出して表示対象の画像を取得する画像処理部と、前記検出部により並進移動が検出された場合、前記表示対象の画像を補正して疑似並進移動による画像を生成する補正処理部とを含む。
【０００７】
本発明の別の態様は、画像生成方法である。この方法は、視点位置にもとづいて並進移動を検出する検出ステップと、視点位置および視線方向にもとづいて、定点を中心とする周囲の空間の画像の一部を切り出して表示対象の画像を取得する画像処理ステップと、前記検出ステップにより並進移動が検出された場合、前記表示対象の画像を補正して疑似並進移動による画像を生成する補正処理ステップとを含む。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、パノラマ画像などの広視野角画像に対して視点位置を移動させることができる。
【図面の簡単な説明】
【００１０】
【図１】ヘッドマウントディスプレイの外観図である。
【図２】ヘッドマウントディスプレイの機能構成図である。
【図３】本実施の形態に係るパノラマ画像生成システムの構成図である。
【図４】本実施の形態に係るパノラマ画像生成装置の機能構成図である。
【図５】図５（ａ）および図５（ｂ）は、パノラマ画像記憶部に記憶されるパノラマ画像を説明する図である。
【図６】重複して配置される複数のパノラマ球を説明する図である。
【図７】視点の移動にしたがって、重複した配置された２つのパノラマ球からパノラマ画像を生成する方法を説明する図である。
【図８】図８（ａ）および図８（ｂ）は、疑似並進移動を説明する図である。
【図９】図９（ａ）〜図９（ｄ）は、比較のため、視点がパノラマ中心にある場合に視線方向に合わせてパノラマ画像を切り出す方法を説明する図である。
【図１０】図１０（ａ）〜図１０（ｄ）は、視点がパノラマ中心から並進移動した場合に疑似並進移動によりパノラマ画像を生成する方法を説明する図である。
【図１１】互いに重複する複数のパノラマ球と視点の関係を説明する図である。
【図１２】互いに重複する複数のパノラマ球を示す図である。
【図１３】キャリブレーションの方法を説明する図である。
【図１４】視点があるパノラマ球から別のパノラマ球に移動する場合のパノラマ画像の生成方法を説明する図である。
【図１５】互いに重複するパノラマ球の画像を合成する方法を説明する図である。
【図１６】重複パノラマ球の存在の有無を示すアイコンの例を説明する図である。
【図１７】空間的に連続性のない重複パノラマ球の画像を表示する例を説明する図である。
【図１８】複数の重複パノラマ球の画像を表示する例を説明する図である。
【図１９】図１９（ａ）〜図１９（ｃ）は、重複パノラマ球の画像を生成する方法を説明する図である。
【図２０】本実施の形態のパノラマ画像生成装置によるパノラマ画像生成手順を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、ヘッドマウントディスプレイ１００の外観図である。ヘッドマウントディスプレイ１００は、本体部１１０、前頭部接触部１２０、および側頭部接触部１３０を含む。
【００１２】
ヘッドマウントディスプレイ１００は、ユーザの頭部に装着してディスプレイに表示される静止画や動画などを鑑賞し、ヘッドホンから出力される音声や音楽などを聴くための表示装置である。
【００１３】
ヘッドマウントディスプレイ１００に内蔵または外付けされた姿勢センサによりヘッドマウントディスプレイ１００を装着したユーザの頭部の回転角や傾きといった姿勢情報を計測することができる。
【００１４】
ここでは、ヘッドマウントディスプレイ１００に表示される画像の生成方法を説明するが、本実施の形態の画像生成方法は、狭義のヘッドマウントディスプレイ１００に限らず、めがね、めがね型ディスプレイ、めがね型カメラ、ヘッドフォン、ヘッドセット（マイクつきヘッドフォン）、イヤホン、イヤリング、耳かけカメラ、帽子、カメラつき帽子、ヘアバンドなどを装着した場合にも適用することができる。
【００１５】
図２は、ヘッドマウントディスプレイ１００の機能構成図である。
【００１６】
制御部１０は、画像信号、センサ信号などの信号や、命令やデータを処理して出力するメインプロセッサである。入力インタフェース２０は、ユーザからの操作信号や設定信号を受け付け、制御部１０に供給する。出力インタフェース３０は、制御部１０から画像信号を受け取り、ディスプレイに表示させる。バックライト３２は、液晶ディスプレイにバックライトを供給する。
【００１７】
通信制御部４０は、ネットワークアダプタ４２またはアンテナ４４を介して、有線または無線通信により、制御部１０から入力されるデータを外部に送信する。通信制御部４０は、また、ネットワークアダプタ４２またはアンテナ４４を介して、有線または無線通信により、外部からデータを受信し、制御部１０に出力する。
【００１８】
記憶部５０は、制御部１０が処理するデータやパラメータ、操作信号などを一時的に記憶する。
【００１９】
姿勢センサ６４は、ヘッドマウントディスプレイ１００の本体部１１０の回転角や傾きなどの姿勢情報を検出する。姿勢センサ６４は、ジャイロセンサ、加速度センサ、角加速度センサなどを適宜組み合わせて実現される。
【００２０】
外部入出力端子インタフェース７０は、ＵＳＢ（Universal Serial Bus）コントローラなどの周辺機器を接続するためのインタフェースである。外部メモリ７２は、フラッシュメモリなどの外部メモリである。
【００２１】
時計部８０は、制御部１０からの設定信号によって時間情報を設定し、時間データを制御部１０に供給する。
【００２２】
制御部１０は、画像やテキストデータを出力インタフェース３０に供給してディスプレイに表示させたり、通信制御部４０に供給して外部に送信させることができる。
【００２３】
図３は、本実施の形態に係るパノラマ画像生成システムの構成図である。ヘッドマウントディスプレイ１００は、無線通信またはＵＳＢなどの周辺機器を接続するインタフェースでゲーム機２００に接続される。ゲーム機２００は、さらにネットワークを介してサーバに接続されてもよい。その場合、サーバは、複数のユーザがネットワークを介して参加できるゲームなどのオンラインアプリケーションをゲーム機２００に提供してもよい。ヘッドマウントディスプレイ１００は、ゲーム機２００の代わりに、コンピュータや携帯端末に接続されてもよい。
【００２４】
ヘッドマウントディスプレイ１００に表示されるパノラマ画像は、あらかじめ撮影された３６０度のパノラマ静止画またはパノラマ動画の他、ゲーム空間のような人工的なパノラマ画像であってもよい。また、ネットワーク経由で配信される遠隔地のライブ映像であってもよい。
【００２５】
図４は、本実施の形態に係るパノラマ画像生成装置７００の機能構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
【００２６】
パノラマ画像生成装置７００は、ヘッドマウントディスプレイ１００が接続されたゲーム機２００に実装されるが、パノラマ画像生成装置７００の少なくとも一部の機能をヘッドマウントディスプレイ１００の制御部１０に実装してもよい。あるいは、パノラマ画像生成装置７００の少なくとも一部の機能を、ネットワークを介してゲーム機２００に接続されたサーバに実装してもよい。
【００２７】
ズーム指示取得部７１０は、ヘッドマウントディスプレイ１００の入力インタフェース２０を介してユーザが指示するズームの倍率を取得する。ズーム指示取得部７１０が取得したズーム倍率は感度調整部７２０とパノラマ画像処理部７５０に供給される。
【００２８】
位置・姿勢取得部７３０は、ヘッドマウントディスプレイ１００のモーションセンサにより検知される位置情報と姿勢センサ６４により検知される姿勢情報にもとづいて、ヘッドマウントディスプレイ１００を装着したユーザの頭部の位置と姿勢を取得する。ユーザの頭部の位置は、ゲーム機２００のカメラによりヘッドマウントディスプレイ１００の動きを検出することにより取得されてもよい。
【００２９】
位置・姿勢取得部７３０は、感度調整部７２０から指示された感度にもとづいて、ユーザの頭部の位置と姿勢を取得する。たとえば、ユーザが首を回すと、姿勢センサ６４によりユーザの頭部の角度の変化が検出されるが、感度調整部７２０は、角度の変化が所定の値を超えるまでは検出された角度の変化を無視するように位置・姿勢取得部７３０に指示する。
【００３０】
また、感度調整部７２０は、ズーム指示取得部７１０から取得されたズーム倍率にもとづいて頭部の角度検出の感度を調整する。ズーム倍率が大きくなるほど、頭部の角度検出の感度を下げる。ズームすると、画角が小さくなるため、頭部の角度検出感度を下げることで頭部の揺れによる表示画像の振動を抑えることができる。
【００３１】
モーションセンサとして、３軸地磁気センサ、３軸加速度センサおよび３軸ジャイロ（角速度）センサの少なくとも１つ以上の組み合わせを用いて、ユーザの頭部の前後、左右、上下の動きを検出してもよい。また、ユーザの頭部の位置情報を組み合わせて頭部の動き検出の精度を向上させてもよい。
【００３２】
座標変換部７４０は、位置・姿勢取得部７３０により取得されたヘッドマウントディスプレイ１００の姿勢にもとづいて、ヘッドマウントディスプレイ１００に表示すべき画像を生成するための座標変換を行う。
【００３３】
パノラマ画像処理部７５０は、パノラマ画像記憶部７６０からパノラマ画像データを読み出し、座標変換部７４０による座標変換にしたがって、ヘッドマウントディスプレイ１００の位置および姿勢に応じたパノラマ画像を、ズーム指示取得部７１０から指定されたズーム倍率で生成し、補正処理部７８０に与える。ここで、パノラマ画像データは、事前に作成された動画または静止画コンテンツであってもよく、レンダリングされたコンピュータグラフィックスであってもよい。また、遠隔地で撮影されたパノラマ画像をネットワークを経由して受信し、パノラマ画像記憶部７６０に記憶してもよい。
【００３４】
パノラマ画像記憶部７６０には、複数種類のパノラマ画像が記憶されている。パノラマ画像は、定点を中心とする周囲の空間の画像の一例であり、全天球のパノラマ画像の場合、周囲の空間（パノラマ空間）は、球で表される。この球を「パノラマ球」と呼び、球の中心を「パノラマ中心」と呼ぶ。
【００３５】
本実施の形態では、ワールド座標系でパノラマ球の中心の座標と半径を決める。複数のパノラマ球を、パノラマ球間で方角を合わせてワールド座標系に配置する。ヘッドマウントディスプレイ１００を装着したユーザはパノラマ球の画像をディスプレイで見ながら物理的に移動することで、ワールド座標系内のパノラマ空間を仮想的にウォークスルーすることができる。ユーザはワールド座標系において、一つのパノラマ球にとどまることも、あるパノラマ球から別のパノラマ球に移動することもできる。ユーザが現時点でとどまっているパノラマ球を「現在のパノラマ球」と呼ぶ。
【００３６】
並進移動検出部７８２は、位置・姿勢取得部７３０より取得されたヘッドマウントディスプレイ１００の位置にもとづき、ユーザの並進移動を検出する。並進移動検出部７８２は、並進移動に関する情報をパノラマ球切替部７８４と補正処理部７８０に供給する。並進移動に関する情報には、並進移動の方向と距離が含まれる。
【００３７】
また、並進移動検出部７８２は、並進移動を疑似的に実現するために、ユーザの並進移動後の視点位置における視線の回転角を現在のパノラマ球の中心周りの回転角に変換する。この変換後の回転角を「疑似回転角」と呼ぶ。疑似回転角は、並進移動距離と並進移動後の位置における視線の回転角から求めることができる。並進移動検出部７８２は、疑似回転角の情報を座標変換部７４０に供給する。
【００３８】
パノラマ球切替部７８４は、並進移動によりユーザの視点位置が現在のパノラマ球の外に出たかどうかを判定する。ユーザの視点位置が現在のパノラマ球内にはなく、視点位置が別のパノラマ球内にある場合、パノラマ球切替部７８４は、パノラマ画像処理部７５０に処理対象のパノラマ球の切り替えを指示する。パノラマ画像処理部７５０は、処理対象のパノラマ球を現在のパノラマ球から別のパノラマ球に切り替え、別のパノラマ球のパノラマ画像データをパノラマ画像記憶部７６０から読み出し、座標変換部７４０による座標変換にしたがって、ヘッドマウントディスプレイ１００の姿勢に応じたパノラマ画像を処理対象のパノラマ球から生成する。
【００３９】
ここで、座標変換部７４０は、並進移動検出部７８２から疑似回転角の情報を取得した場合は、ヘッドマウントディスプレイ１００が処理対象のパノラマ球の中心において疑似回転角の方向に向いているとして、ヘッドマウントディスプレイ１００に表示すべき画像を生成するための座標変換を行う。
【００４０】
補正処理部７８０は、擬似的な並進移動を実現するために、並進移動検出部７８２から取得した並進移動距離に応じてパノラマ画像処理部７５０が生成したパノラマ画像に対してゆがみを補正する処理を施す。補正処理部７８０は、このように補正処理が施されたパノラマ画像を画像提供部７７０に与える。並進移動検出部７８２が並進移動を検出しない場合、もしくは検出された並進移動距離が十分小さく、補正処理を要しない場合は、補正処理部７８０は、補正処理をスキップし、パノラマ画像処理部７５０が生成したパノラマ画像をそのまま画像提供部７７０に与える。
【００４１】
はめ込み画像生成部７８６は、パノラマ画像処理部７５０により生成され、補正処理部７８０により適宜補正されたパノラマ画像に合成するために、現在のパノラマ球に重複して配置されたパノラマ球（「重複パノラマ球」と呼ぶ）の画像をはめ込み画像として生成する。はめ込み画像の生成はオプションであり、必要でない場合は、はめ込み画像の生成をスキップする。はめ込み画像生成部７８６は、生成したはめ込み画像をパノラマ画像内のはめ込み位置の情報とともに画像提供部７７０に供給する。はめ込み画像生成部７８６は、現在のパノラマ球の画像と重複パノラマ球の画像とをブレンドすることによりはめ込み画像を生成してもよい。
【００４２】
画像提供部７７０は、パノラマ画像処理部７５０により生成され、補正処理部７８０により適宜補正されたパノラマ画像データをヘッドマウントディスプレイ１００に供給する。はめ込み画像生成部７８６からはめ込み画像の供給を受けた場合は、画像提供部７７０は、はめ込み画像をパノラマ画像内の指定されたはめ込み位置に合成したパノラマ画像データをヘッドマウントディスプレイ１００に供給する。
【００４３】
以下、本実施の形態のパノラマ画像生成装置７００の動作を説明する。
【００４４】
図５（ａ）および図５（ｂ）は、パノラマ画像記憶部７６０に記憶されるパノラマ画像を説明する図である。図５（ｂ）に一例として示すパノラマ画像は、図５（ａ）のカメラ３００をパンさせながら撮影されたものである。
【００４５】
カメラ３００を水平方向に３６０度パンさせて回転角を変えながら撮影することで水平方向に３６０度の画像を撮影することができ、さらにカメラ３００を垂直方向に１８０度パンさせて仰角を変えながら撮影することで全天球の画像を撮影することができる。この全天球が「パノラマ球」（図５（ａ）の符号４００）であり、全天球の中心が「パノラマ中心」（図５（ａ）の符号４１０）である。
【００４６】
本実施の形態のパノラマ画像は全天球のパノラマ画像でなくてもよい。たとえば、垂直方向にはカメラ３００をパンさせずに仰角０度に固定し、水平方向にカメラを１８０度パンさせながら、撮影した画像をパノラマ画像としてもよい。また、水平方向のカメラのパンについても１８０度未満であってもかまわない。
【００４７】
パノラマ球４００はワールド座標系に配置されており、パノラマ画像生成装置７００は、ユーザがヘッドマウントディスプレイ１００を装着しながらワールド座標系内で姿勢を変えたり、移動することで視線方向に見えるパノラマ画像を生成する。ここで、ワールド座標系と、ユーザがヘッドマウントディスプレイ１００を装着して動き回る実世界とは、適当なスケールでマッピングされている。たとえば、ユーザがヘッドマウントディスプレイ１００を装着して移動可能な実世界のスペースの制限に応じて、パノラマ球４００の半径は、たとえば数十センチメートル〜数メートル程度にスケーリングされる。
【００４８】
ユーザの視線方向は、パノラマ中心４１０の周りの回転角および仰角で与えられる。与えられた回転角および仰角の方向に見える画像を図５（ｂ）のパノラマ画像から所定の画角で切り出すことでヘッドマウントディスプレイ１００に表示されるべき画像を生成することができる。しかし、これは、ユーザの視点が、パノラマ中心に一致していることが前提である。
【００４９】
図５（ｂ）の全天球のパノラマ画像は、パノラマ中心から任意の視線方向に見える画像を提供することができるが、視点がパノラマ中心から外れた場合、視点周囲の画像を正確に表すことは難しくなる。たとえば、視点がパノラマ中心４１０から離れ、図５（ａ）の符号４２０に示す位置に並進移動した場合、視点４２０から見える画像は、図５（ｂ）の全天球のパノラマ画像から切り出すことができない。図５（ｂ）の全天球のパノラマ画像はパノラマ中心４１０から見たパノラマ画像であり、視点４２０から見える画像とは異なるからである。
【００５０】
さらに、ユーザの位置がパノラマ中心４１０から大きく離れ、視点が図５（ａ）の符号４２２に示すように、パノラマ球４００の外側まではみ出した場合は、もはやパノラマ中心４１０で撮影されたパノラマ画像の撮影範囲を超えており、視点４２２から見える画像を図５（ｂ）の全天球のパノラマ画像から生成することがそもそもできなくなってしまう。
【００５１】
このように、全方位パノラマ画像は、カメラを定点に固定して撮影したものであるため、カメラ位置を中心に見渡すことしかできず、パノラマ空間内を歩き回って視点位置を変えて観察することはできない。ユーザの撮影したパノラマ画像の投稿を公開しているサイトでもパノラマ画像ブラウザは、視点位置を定点に固定し、視線方向を３６０度回転させてパノラマ画像を閲覧するインタフェースを提供しており、視点位置を変えることは想定されていない。本実施の形態のパノラマ画像生成装置７００は、ユーザがパノラマ空間を移動して視点位置を自由に変えてパノラマ画像を見ることを可能にする。本実施の形態では、複数のパノラマ球をワールド座標系に重複して配置し、パノラマ球を切り替えて表示することで、パノラマ空間を自由に移動しながらパノラマ画像を見ることが可能である。
【００５２】
図６は、重複して配置される複数のパノラマ球を説明する図である。同図では、一例として、現在のパノラマ球４００（パノラマ中心４１０）に対して、第１〜第４のパノラマ球４０１〜４０４（パノラマ中心４１１〜４１４）と第５〜第７のパノラマ球４０５〜４０７（パノラマ中心４１５〜４１７）が重複してワールド座標に配置されている。
【００５３】
図５（ａ）の視点４２０は、図６の第２のパノラマ球４０２のパノラマ中心４１２の位置にあるため、図５（ａ）の視点４２０から見えるパノラマ画像は、第２のパノラマ球４０２から生成することができる。また、図５（ａ）の視点４２２は、図６の第７のパノラマ球４０７のパノラマ中心４１７の位置にあるため、図５（ａ）の視点４２２から見えるパノラマ画像は、第７のパノラマ球４１７から生成することができる。
【００５４】
図７は、視点の移動にしたがって、重複した配置された２つのパノラマ球からパノラマ画像を生成する方法を説明する図である。視点は最初、現在のパノラマ４００のパノラマ中心４１０にあるが、その後、右方向に並進移動したとする。右方向には別のパノラマ球４０９（「重複パノラマ球」と呼ぶ）が現在のパノラマ球４００に重複して配置されているが、視点が重複パノラマ球４０９のパノラマ中心４１９に到達するまでに、視点は、符号４２０、４２２で示す途中の重複領域を通る。
【００５５】
視点が重複パノラマ球４０９のパノラマ中心４１９に到達すれば、重複パノラマ球４０９からパノラマ画像を生成することができるが、視点が途中の重複領域内の地点４２０、４２２にある場合は、現在のパノラマ球４００または重複パノラマ球４０９のいずれかを選択してパノラマ画像を生成する。あるいは、別の方法として、現在のパノラマ球４００のパノラマ画像と重複パノラマ球４０９のパノラマ画像をブレンドして重複領域の視点位置４２０、４２２から見たパノラマ画像を生成する。
【００５６】
たとえば、現在のパノラマ球４００のパノラマ中心４１０に近い位置４２０に視点がある場合、現在のパノラマ球４００からパノラマ画像を生成し、重複パノラマ球４０９のパノラマ中心４１９に近い位置４２２に視点がある場合、重複パノラマ球４０９からパノラマ画像を生成する。
【００５７】
あるいは、現在のパノラマ球４００のパノラマ画像と重複パノラマ球４０９のパノラマ画像をブレンドして視点位置４２０、４２２から見たパノラマ画像を生成する場合は、現在のパノラマ球４００のパノラマ中心４１０に近い視点位置４２０に対しては、現在のパノラマ球４００のパノラマ画像の重み付けを大きくし、重複パノラマ球４０９のパノラマ中心４１９に近い視点位置４２２に対しては、重複パノラマ球４０９のパノラマ画像の重み付けを大きくして、２つのパノラマ画像をブレンドする。
【００５８】
理想的には、図６に例示したようにパノラマ球をほとんど隙間なく重複して配置すれば、視点が自由に移動しても、新しい視点位置をパノラマ中心とするパノラマ球から正確なパノラマ画像を生成することが可能になる。このように視点の移動に伴いパノラマ球を切り替えることで「シームレス並進移動」が実現される。
【００５９】
しかしながら、パノラマ球をほとんど隙間なく重複して配置すると、データ量が膨大になるため、データ量を削減するために、パノラマ球を離散的に配置することが現実的である。その場合、パノラマ球が配置されていない領域では、パノラマ画像を補正して擬似的に並進移動後の画像を生成する「疑似並進移動」で代用する。
【００６０】
図８（ａ）および図８（ｂ）は、疑似並進移動を説明する図である。図８（ａ）に示すように、パノラマ中心４１０に対して、視点４２０が並進移動距離ｄだけ右側に並進移動した点にあり、視線方向が正面を向いている場合、パノラマ画像処理部７５０は、パノラマ中心４１０から疑似回転角θ’の方向に見える画像をパノラマ球４００のパノラマ画像から切り出し、補正処理部７８０は、切り出した画像を台形補正して、視点４２０から正面方向に見える画像を擬似的に生成する。疑似回転角θ’は、パノラマ球４００の半径をｒとすると、ｃｏｓθ’＝ｄ／ｒの関係により求めることができる。ここで、台形補正は切り出された画像の右側を左側よりも拡大する補正である。これにより、パノラマ球４００のパノラマ画像から、あたかも並進移動距離ｄだけ並進移動して正面方向を見たかのような画像を生成することができる。
【００６１】
図８（ｂ）に示すように、パノラマ中心４１０に対して、視点４２０が並進移動距離ｄだけ右側に並進移動した点にあり、視線方向が回転角θの方向である場合、パノラマ画像処理部７５０は、パノラマ中心４１０から疑似回転角θ’の方向に見える画像をパノラマ球４００から切り出し、補正処理部７８０は、切り出した画像を台形補正する。疑似回転角θ’は、ｔａｎθ＝ｒｓｉｎθ’／（ｒｃｏｓθ’−ｄ）の関係から求めることができる。これにより、パノラマ球４００のパノラマ画像から、あたかも並進移動距離ｄだけ並進移動して回転角θの方向を見たかのような画像を生成することができる。
【００６２】
図９（ａ）〜図９（ｄ）および図１０（ａ）〜図１０（ｄ）を参照して、疑似並進移動の例を説明する。
【００６３】
図９（ａ）〜図９（ｄ）は、比較のため、視点がパノラマ中心にある場合に視線方向に合わせてパノラマ画像を切り出す方法を説明する図である。図９（ｄ）のようにパノラマ中心４１０において視線方向を回転させた場合、視線方向４３０に見える画像は、図９（ａ）のパノラマ画像から実線で囲まれる長方形の領域から切り出され、図９（ｂ）のようにヘッドマウントディスプレイ１００に表示される。また、視線方向４３２に見える画像は、図９（ａ）のパノラマ画像から点線で囲まれる長方形の領域から切り出され、図９（ｃ）のようにヘッドマウントディスプレイ１００に表示される。
【００６４】
図１０（ａ）〜図１０（ｄ）は、視点がパノラマ中心から並進移動した場合に疑似並進移動によりパノラマ画像を生成する方法を説明する図である。図１０（ｄ）のようにパノラマ中心４１０から正面方向に見える画像は、図１０（ａ）のパノラマ画像から実線で囲まれる長方形の領域から切り出され、図１０（ｂ）のようにヘッドマウントディスプレイ１００に表示される。一方、パノラマ中心４１０から並進移動距離ｄだけ右に並進移動した視点４２０から正面方向に見える画像は次のように生成する。パノラマ中心４１０から疑似回転角θ’の方向（視線方向４３１）に見える画像を、図１０（ａ）のパノラマ画像から点線で囲まれる台形の領域から切り出す。切り出される台形の領域は、図１０（ｃ）のように長方形に補正されて表示される。その結果、画像の右側は左側に比べて拡大される。これにより、あたかもパノラマ中心４１０から右に並進移動したかのような画像がヘッドマウントディスプレイ１００に表示される。
【００６５】
このように、視点４２０がパノラマ中心４１０から離れた場合であっても、視点４２０がパノラマ球４００の範囲内にあれば、パノラマ中心４１０周りの疑似回転角を求めて、疑似回転角の方向に見えるパノラマ画像を台形補正して疑似画像を生成することで擬似的に並進移動を実現することができる。
【００６６】
図１１は、互いに重複する複数のパノラマ球と視点の関係を説明する図である。ワールド座標系において、第１のパノラマ球４００ａは、第１のパノラマ中心４１０ａを中心とする半径ｒ１の球である。第２のパノラマ球４００ｂは、第２のパノラマ中心４１０ｂを中心とする半径ｒ２の球である。第３のパノラマ球４００ｃは、第３のパノラマ中心４１０ｃを中心とする半径ｒ３の球である。第１〜第３のパノラマ球４００ａ〜４００ｃは互いに重複しており、ここでは、３つのパノラマ球の半径にはｒ１＝ｒ２＜ｒ３の関係がある。このように複数のパノラマ球の半径は等しくてもよく、互いに異なっていてもよい。
【００６７】
パノラマ球の半径は、視点がパノラマ中心からずれた場合にパノラマ球の画像を補正せずにそのまま用いてもパノラマ球の画像のゆがみを許容できる範囲を考慮して決められる。パノラマ球の半径は、撮影された被写体（あるいはコンピュータグラフィックスの場合は３次元モデル）までの距離に依存し、被写体までの距離が大きくなると、パノラマ球の半径は大きくなり、被写体までの距離が小さくなると、パノラマ球の半径は小さくなる。なぜなら、遠景を撮影した画像では、視点がかなりずれても見える光景に大きな変化がないのに対して、近景を撮影した画像では、視点が少しずれるだけでも光景に大きな変化が生じるからである。
【００６８】
第１のパノラマ中心４１０ａから符号４２４で示す位置に視点が移動した場合、移動後の視点４２４は第１のパノラマ球４００ａの外部であるが、第２のパノラマ球４００ｂ内に存在する。この場合、視点４２４から見た画像は、第２のパノラマ球４００ｂのパノラマ画像から生成することができる。また、第１のパノラマ中心４１０ａから符号４２６で示す位置に視点が移動した場合でも、移動後の視点４２６は第１のパノラマ球４００ａの外部であるが、第３のパノラマ球４００ｃ内に存在する。この場合、視点４２６から見た画像は、第３のパノラマ球４００ｃのパノラマ画像から生成することができる。
【００６９】
一方、第１のパノラマ中心４１０ａから符号４２８で示す位置に視点が移動した場合、移動後の視点４２８は第１のパノラマ球４００ａ、第２のパノラマ球４００ｂ、および第３のパノラマ球４００ｃのいずれにも存在しないため、視点４２８から見た画像を生成することができない。そこで、第１のパノラマ球４００ａに対して、他のパノラマ球をできるだけ重複させて配置することで、視点が第１のパノラマ中心４１０ａからどこに移動しても移動後の視点から見た画像を重複するいずれかのパノラマ球から生成できるように構成する。
【００７０】
図１２は、互いに重複する複数のパノラマ球を示す図である。第１のパノラマ球４００ａに対して第２〜第７のパノラマ球４００ｂ〜４００ｇが重複して配置される。これにより、視点が第１のパノラマ球４００ａの外側に外れた場合でも、移動後の視点は、第１のパノラマ球４００ａに重複して配置された第２〜第７のパノラマ球４００ｂ〜４００ｇのいずれかに属し、移動先の重複パノラマ球を用いて移動後の視点から見た画像を生成することができる。他のパノラマ球から見ても視点がそのパノラマ球の外に移動した場合、移動先に重複して配置されたパノラマ球があれば、移動先の重複パノラマ球を用いて移動後の視点から見た画像を生成することができる。
【００７１】
このように視点がパノラマ球の外側に移動した場合でも重複パノラマ球に切り替えることで途切れることなくパノラマ画像を生成することができる。
【００７２】
このように複数のパノラマ球を互いに重複させてワールド座標系に配置し、視点位置に応じてパノラマ球を切り替えることでパノラマ球間のシームレス移動が可能になる。パノラマ球を水平方向だけでなく、垂直方向にも重複させてもよい。高さ方向にも重複パノラマ球が存在することで、ユーザが屈んだ場合やジャンプした場合、建物の階段を上った場合、高い建物に移動した場合などにもパノラマ球を切り替えてシームレスにパノラマ空間を移動することができるようになる。
【００７３】
また、左目用のパノラマ球と右目用のパノラマ球を用意することで、パノラマ空間をステレオ視できるようにし、空間移動の現実感を向上させてもよい。
【００７４】
重複パノラマ球の空間に移動する契機として、ユーザの実際の移動距離が閾値に達したら自動で移動するようにしてもよく、ユーザがジェスチャや声などで何らかの入力をしたときに移動するようにしてもよい。重複パノラマ空間への移動の際、アニメーションで空間をワープしている様子を表示してもよい。
【００７５】
図１３は、キャリブレーションの方法を説明する図である。ユーザの実世界の可動範囲と重複して配置されたパノラマ球を含めたパノラマ空間の可動範囲とが対応するようにスケールを合わせる。実世界の可動範囲がたとえば２メートルで、第１のパノラマ球４００ａに重複して配置された第２〜第７のパノラマ球４００ｂ〜４００ｇを含めたパノラマ空間の可動範囲を示す円４９０の半径が１２０であるとすると、実世界と仮想世界の比は１：６０となるからスケーリング率は１／６０である。
【００７６】
ユーザの没入感を高めるためには、パノラマ空間の実寸と同じになるようにユーザの実世界の可動範囲を設定できれば理想的であるが、実世界のスペース制限から、実世界とパノラマ空間のスケールを１：１にできないことが多い。実世界とパノラマ空間のスケールが異なる場合、ユーザはパノラマ空間内で巨人または小人になったのような感覚を覚える。
【００７７】
実世界にスペース制限がある場合、ユーザが居る実世界の中心位置を記録し、実世界の可動限界位置を少なくとも１点記録する。これにより実世界の可動範囲の円半径が求まるので、これをパノラマ空間の可動範囲を示す円４９０の半径に対応づけることでキャリブレーションを行う。
【００７８】
図１４は、視点があるパノラマ球から別のパノラマ球に移動する場合のパノラマ画像の生成方法を説明する図である。第１のパノラマ球４００ａに対して、視点が第１のパノラマ中心４１０ａを離れて、符号４２１、４２３、４２５、４２７で示す位置に移動したとする。視点が符号４２１で示すように第１のパノラマ球４００ａ内に存在する場合は、図８および図１０で説明した疑似並進移動による疑似画像を生成して表示する。
【００７９】
次に視点が符号４２３、５２５で示すように第１のパノラマ球４００ａと第２のパノラマ球４００ｂの重複領域に入った場合は、図７で説明したように、第１のパノラマ球４００ａまたは第２のパノラマ球４００ｂのいずれかを選択してパノラマ画像を生成する。このとき、選択したパノラマ球のパノラマ画像を補正して、疑似並進移動による疑似画像を生成してもよい。
【００８０】
あるいは、別の方法として、第１のパノラマ球４００ａのパノラマ画像と第２のパノラマ球４００ｂのパノラマ画像をブレンドすることで視点位置４２３、５２５から見えるパノラマ画像を生成してもよい。この場合でも、疑似並進移動による疑似画像をブレンドしてもよい。第１のパノラマ球４００ａのパノラマ画像と第２のパノラマ球４００ｂのパノラマ画像のブレンド比は、視点が第２のパノラマ中心４１０ｂに近づくにつれて、第２のパノラマ球４００ｂのパノラマ画像の割合が高くなるようにする。
【００８１】
さらに、視点が符号４２７で示すように、第２のパノラマ球４００ｂ内にあるが、第１のパノラマ球４００ａの外に出た場合は、移動後の視点４２７が属する第２のパノラマ球４００ｂに切り替え、第２のパノラマ球４００ｂのパノラマ中心４１０ｂから見た画像を切り出して表示する。この場合も、第２のパノラマ中心４１０ｂと視点４２７のずれに対しては、疑似並進移動による疑似画像を生成することで同様に対応することができる。
【００８２】
このように、第１のパノラマ球４００ａ内での視点の移動に対しては、疑似並進移動による疑似パノラマ画像を生成し、第１のパノラマ球４００ａと第２のパノラマ球４００ｂの重複領域では、第１のパノラマ球４００ａのパノラマ画像と第２のパノラマ球４００ｂのパノラマ画像を選択的、または、合成して用いて、表示すべきパノラマ画像を生成し、第１のパノラマ球４００ａの外側に視点が移動した場合は、第２のパノラマ球４００ｂに切り替えることで、第１のパノラマ球４００ａから第２のパノラマ球４００ｂへの切り替えがスムースに実現される。すなわち、視点が第１のパノラマ球４００ａの内側から外側に移動するとき、第１のパノラマ球４００ａから第２のパノラマ球４００ｂに突然切り替わるのはなく、中間に疑似並進移動による補正処理や、重複パノラマ球を用いたブレンド処理が加わることで、急な切り替えを避けて、パノラマ球間の自然な移動を実現することができる。
【００８３】
さらに、本実施の形態では、あるパノラマ球から別のパノラマ球に切り替わるときにパノラマ球の境界をできるだけ自然に見せるために以下に述べるような工夫を施す。
【００８４】
図１５は、互いに重複するパノラマ球の画像を合成する方法を説明する図である。視点が属する現在のパノラマ球の画像５００に対して、現在のパノラマ球に重複した配置されたパノラマ球の画像５１０を点線内に表示する。このとき３次元スティッチングにより２つのパノラマ球の画像をつなぎ合わせ、重複部分をブレンドすることにより、できるだけ点線の境界部分が不自然に見えないようにする。視点が重複パノラマ球内に移動すると、処理対象のパノラマ球は現在のパノラマ球から重複パノラマ球に切り替わるが、視点が現在のパノラマ球内にある限り、重複パノラマ球の画像は視点から見える範囲で点線内に表示されるにとどまる。
【００８５】
現在のパノラマ球に対して重複して配置されるパノラマ球が存在するとは限らない。そこで、重複パノラマ球が存在する場合と存在しない場合を区別するためにアイコンなどを表示してもよい。
【００８６】
図１６は、重複パノラマ球の存在の有無を示すアイコンの例を説明する図である。現在のパノラマ球４００ａに対して重複パノラマ球４００ｃ、４００ｄ、４００ｅ、４００ｇがその方向に存在することを示すドアアイコン４５０ｃ、４５０ｄ、４５０ｅ、４５０ｇを現在のパノラマ球４００ａの画像内に表示する。これによりユーザはその方向に移動するように促される。一方、重複パノラマ球が存在しない場合は、現在のパノラマ球４００ａの画像内にその方向への立ち入り禁止を示すアイコン４５０ｂ、４５０ｆを表示して警告する。これにより、ユーザはその方向に移動することをあきらめるであろう。
【００８７】
現在のパノラマ球と重複パノラマ球は必ずしも空間的に連続する画像でなくてもよい。互いに関係のないパノラマ球をワールド座標系に重複させて配置してもかまわない。また、現在のパノラマ球に表示されている特定の建物の位置にその建物内を撮影したパノラマ画像を重複パノラマ球として配置してもよい。また、現在のパノラマ球のパノラマ画像に特定の場所を示す看板が表示されている場合、その看板の位置にその特定の場所を撮影したパノラマ画像を重複パノラマ球として配置してもよい。空間的に連続性のないパノラマ球を重複パノラマ球として配置した場合、図１５のように重複パノラマ球の画像を現在のパノラマ球の画像にそのまま合成すると不自然である。そこで、図１５の場合とは違い、重複パノラマ球の画像を現在のパノラマ球の画像に合成する際、現在のパノラマ球と重複パノラマ球の境界を適当な３次元オブジェクトで隠すなどの工夫が必要である。
【００８８】
図１７は、空間的に連続性のない重複パノラマ球の画像を表示する例を説明する図である。現在のパノラマ球の画像５２０に対して、重複パノラマ球の画像５３０が合成されるが、現在のパノラマ球の画像５２０が街中の路上の画像であるのに対して、重複パノラマ球の画像５３０はサッカーの試合の動画である。この場合、現在のパノラマ球の画像５２０と重複パノラマ球の画像５３０との境界を隠すために３次元オブジェクトとしてドア５４０を配置し、ドア５４０にユーザが近づくと、ドア５４０が開き、ドア５４０の向こう側に重複パノラマ球の画像５３０が表示されるようにする。ドア５４０を通して見える重複パノラマ球の画像は、平面画像ではなく、ユーザの視点位置から見える重複パノラマ球の画像をマッピングしたものであるから、ユーザの視点位置によって見え方が変わる。たとえば、右側から見れば、重複パノラマ球の世界の左の方が見える。
【００８９】
ドア５４０の手前にいる限り、現在のパノラマ球から重複パノラマ球を覗き見している状態であるが、ドア５４０をまたいで向こう側にユーザが移動すると処理対象のパノラマ球は重複パノラマ球に切り替わる。その後は重複パノラマ球の空間内にユーザが居るとしてユーザの視点位置から見た重複パノラマ球の画像が生成される。ドア５４０は、現在のパノラマ球から重複パノラマ球へのユーザの視点の移動を実現するインタフェースである。
【００９０】
重複パノラマ球の境界を隠す３次元オブジェクトは、窓など何らかの枠を示す他のオブジェクトであってもよい。また、重複パノラマ球の空間に存在する３次元オブジェクトの形状に合わせて重複パノラマ球の画像を切り出して現在のパノラマ球の画像に合成してもよい。たとえば、ドーム状の建物の場合、その建物の形状に合わせてドーム形状に画像を切り出して合成する。
【００９１】
図１８は、複数の重複パノラマ球の画像を表示する例を説明する図である。現在のパノラマ球に空間的に連続性のない複数の重複パノラマ球が配置されている場合、現在のパノラマ球のパノラマ画像５２２に対して、重複パノラマ球が存在する方角にドア５４０、５４２が配置され、ユーザが現在のパノラマ球内を移動していずれかのドア５４０、５４２に近づくと、ドア５４０、５４２が開いて、向こう側に対応する重複パノラマ球の画像が表示される。
【００９２】
ドア５４０、５４２に関連付けられる重複パノラマ球は、ドア５４０、５４２が設置される場所に応じてあらかじめ決定されてもよい。あるいは、ドア５４０、５４２に関連付けられる重複パノラマ球は固定されていなくてもよい。たとえば、ドア５４０、５４２の前に来て、ユーザが移動したい場所を指定することで、ドアを開けば指定した場所のパノラマ球に移動できるようにしてもよい。ドアが表示された位置でユーザが声などで行きたい場所を伝えることで、その場所を撮影した重複パノラマ球が動的に関連付けられ、ドアを開くと、その重複パノラマ球の画像が見えるようにしてもよい。その意味では、重複パノラマ球はドアに関連づけられており、ドアを現在のパノラマ球の空間内の任意の位置に配置することで、結果的に重複パノラマ球が現在のパノラマ球に重複して配置されることになると言うこともできる。
【００９３】
ドアのノブをユーザが仮想的に触ると、ドアが開くようにしてもよい。ドアの向こう側の重複パノラマ球に移動した後は、振り向けば、ドアが配置されており、ドアを通して元のパノラマ球に戻ることができるようにしてもよい。
【００９４】
図１９（ａ）〜図１９（ｃ）は、重複パノラマ球の画像を生成する方法を説明する図である。
【００９５】
図１９（ａ）は、現在のパノラマ球４００ａ内の視点４６０、４６２から重複パノラマ球４００ｂを見た場合の画像を描画する方法を示す。重複パノラマ球４００ｂの画像がコンピュータグラフィックスによるものである場合、重複パノラマ球４００ｂのオブジェクトは３次元的に配置されており、現在のパノラマ球４００ａ内のどの位置から見ても窓４７０に表示されるべき画像を正確に描画することができる。また、重複パノラマ球４００ｂの画像が撮影画像であった場合でも、窓４７０にはめ込む画像は重複パノラマ球４００ｂの画像データを元に、現在のパノラマ球４００ａ内の視点位置と視線方向に応じて切り出して生成することができる。
【００９６】
図１９（ｂ）は、視点位置４６０からドア５４０の向こう側に重複パノラマ球４００ｂを見た場合の画像５３０を示す。図１９（ｃ）は、視点位置４６０より右前方の視点位置４６２からドア５４０の向こう側に重複パノラマ球４００ｂを見た場合の画像５３２を示す。視点位置が右前方に移動したことに伴い、ドア５４０の向こう側に見える重複パノラマ球４００ｂの画像はより左側が見えるように変化する。
【００９７】
図２０は、本実施の形態のパノラマ画像生成装置７００によるパノラマ画像生成手順を説明するフローチャートである。
【００９８】
位置・姿勢取得部７３０は、ヘッドマウントディスプレイ１００を装着したユーザの視点位置と視線方向を取得する（Ｓ１０）。並進移動検出部７８２は、視点位置が並進移動したかどうかを検出する（Ｓ１２）。並進移動検出部７８２は、視点位置の変化が所定の閾値以内である場合（Ｓ１２のＮ）、並進移動をしていないとみなし、処理はステップＳ２２に進む。パノラマ画像処理部７５０は、現在のパノラマ球のパノラマ画像から、パノラマ中心から視線方向に見た画像を所定の画角で切り出す（Ｓ２２）ことで、ヘッドマウントディスプレイ１００に表示すべき画像を生成し、ステップＳ１０に戻る。
【００９９】
並進移動検出部７８２は、視点位置の変化が所定の閾値を超える場合（Ｓ１２のＹ）、視点位置が現在のパノラマ球内にあるかどうかを調べる（Ｓ１４）。視点位置が現在のパノラマ球の中心から視点位置までの距離が現在のパノラマ球の半径以内であれば（Ｓ１４のＹ）、次にパノラマ球切替部７８４は、視点位置が現在のパノラマ球に重複して配置されたパノラマ球内であるかどうかを調べる（Ｓ１５）。視点位置が現在のパノラマ球内にあり、かつ、視点位置がいずれかの重複パノラマ球内にあれば（Ｓ１５のＹ）、はめ込み画像生成部７８６は、現在のパノラマ球の画像または重複パノラマ球の画像のいずれ一方を選択的に用いるか、両方の画像を重み付けして合成するブレンド処理を行い（Ｓ２３）、ステップＳ１０に戻る。
【０１００】
視点位置が現在のパノラマ球内にあるが、いずれの重複パノラマ球内にもなければ（Ｓ１５のＮ）、並進移動検出部７８２は、疑似並進移動を実現するために、視点位置と視線方向からパノラマ中心の周りの疑似回転角を求める（Ｓ２４）。次に、パノラマ画像処理部７５０は、現在のパノラマ球のパノラマ画像から、パノラマ中心から疑似回転角の方向に見た画像を所定の画角で切り出し（Ｓ２６）、補正処理部７８０は、その切り出された画像を台形補正することで疑似並進移動による画像に変換する（Ｓ２８）ことで、ヘッドマウントディスプレイ１００に表示すべき画像を生成し、ステップＳ１０に戻る。
【０１０１】
ステップＳ１４において、現在のパノラマ球の中心から視点位置までの距離が現在のパノラマ球の半径を超える場合（Ｓ１４のＮ）、パノラマ球切替部７８４は、視点位置がいずれかの重複パノラマ球内にあるかどうかを調べる（Ｓ１６）。視点位置がいずれかの重複パノラマ球内にあれば（Ｓ１６のＹ）、処理対象のパノラマ球を現在のパノラマ球からその重複パノラマ球に切り替える（Ｓ１８）。ステップＳ１８の後は、ステップＳ２４〜Ｓ２８に進み、重複パノラマ球におけるパノラマ中心と視点位置のずれは、疑似並進移動により補正処理される。
【０１０２】
ステップＳ１６において、視点位置がいずれの重複パノラマ球内にもなければ（Ｓ１６のＮ）、その位置には進むことができない旨の警告をユーザに通知し（Ｓ２０）、ステップＳ１０に戻る。
【０１０３】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を説明する。
【０１０４】
上記の説明では、ヘッドマウントディスプレイにパノラマ画像を表示する実施例を説明したが、頭部には装着しない通常の卓上型や壁掛け型のディスプレイにパノラマ画像を表示する場合にも本実施の形態の画像生成方法を適用して、ワールド座標系に配置された複数のパノラマ球の空間をウォークスルーできるパノラマビューアを提供してもよい。
【０１０５】
パノラマ画像は全方位撮影システムで撮影されたものに限らず、魚眼レンズを用いて撮影された画像や、撮影方向を変えながら通常のデジタルカメラで撮影された複数の画像を合成した画像であってもよい。また、パノラマ画像は全方位でなくてもよく、広視野角画像であればよい。また、パノラマ画像は、実写に限らず、コンピュータグラフィックスにより生成された静止画や動画であってもよい。
【符号の説明】
【０１０６】
１０  制御部、  ２０  入力インタフェース、  ３０  出力インタフェース、  ３２  バックライト、  ４０  通信制御部、  ４２  ネットワークアダプタ、  ４４  アンテナ、  ５０  記憶部、  ６４  姿勢センサ、  ７０  外部入出力端子インタフェース、  ７２  外部メモリ、  ８０  時計部、  １００  ヘッドマウントディスプレイ、  １１０  本体部、  １２０  前頭部接触部、  １３０  側頭部接触部、  ２００  ゲーム機、  ７００  パノラマ画像生成装置、  ７１０  ズーム指示取得部、  ７２０  感度調整部、  ７３０  位置・姿勢取得部、  ７４０  座標変換部、  ７５０  パノラマ画像処理部、  ７６０  パノラマ画像記憶部、  ７７０  画像提供部、  ７８０  補正処理部、  ７８２  並進移動検出部、  ７８４  パノラマ球切替部、  ７８６  はめ込み画像生成部。
【図１】
2016062486.tif 000003
【図２】
2016062486.tif 000004
【図３】
2016062486.tif 000005
【図４】
2016062486.tif 000006
【図５】
2016062486.tif 000007
【図６】
2016062486.tif 000008
【図７】
2016062486.tif 000009
【図８】
2016062486.tif 000010
【図９】
2016062486.tif 000011
【図１０】
2016062486.tif 000012
【図１１】
2016062486.tif 000013
【図１２】
2016062486.tif 000014
【図１３】
2016062486.tif 000015
【図１４】
2016062486.tif 000016
【図１５】
2016062486.tif 000017
【図１６】
2016062486.tif 000018
【図１７】
2016062486.tif 000019
【図１８】
2016062486.tif 000020
【図１９】
2016062486.tif 000021
【図２０】
2016062486.tif 000022