パノラマ画像生成装置およびパノラマ画像生成方法
【課題】白とびや黒つぶれのないパノラマ画像を生成する。
【解決手段】LDR画像データ記憶部26は、カメラをパンまたはチルトして撮影された複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する。ハイダイナミックレンジ合成部20は、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成する。パノラマ画像合成部23は、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成する。
【解決手段】LDR画像データ記憶部26は、カメラをパンまたはチルトして撮影された複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する。ハイダイナミックレンジ合成部20は、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成する。パノラマ画像合成部23は、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、パノラマ画像を生成する装置および方法に関する。
【背景技術】
【0002】
デジタルスチルカメラやデジタルビデオカメラが普及しており、撮影した静止画や動画をコンピュータに保存して閲覧、加工したり、ゲーム機やテレビジョン(TV)システムの画面に表示する機会が多くなっている。また、撮影した動画をインターネットの投稿サイトにアップロードし、他のユーザと動画を共有することも盛んである。
【0003】
デジタルカメラの中には、パノラマ画像の撮影が可能なものもあり、手軽に視野角の広いパノラマ画像を撮影することができるようになってきた。また、撮影方向を変えながら、デジタルカメラの撮影した複数の画像を貼り合わせることでパノラマ画像を生成するソフトウエアツールもよく利用されている。
【0004】
ユーザが撮影したこのようなパノラマ画像の投稿を受け付け、インターネットで公開する360citiesというサイト(http;//www.360cities.net)もあり、世界中のユーザが投稿したパノラマ画像を閲覧することができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
パノラマ画像は全天球の画像であるため、屋外で撮影すると、太陽が写り込んだり、街灯が写り込むため、明るい部分と暗い部分の差が大きく、ダイナミックレンジが非常に広くなる。そのため、特定の対象物に露出を合わせてパノラマ画像を撮影すると、明るい部分は「白とび」が生じ、暗い部分は「黒つぶれ」が生じることがある。「白とび」とは、強い光が当たった部分が真っ白になることであり、「黒つぶれ」とは、光がほとんど当たっていない暗い部分が真っ黒になることである。
【0006】
通常の写真撮影では、白とびや黒つぶれが生じないように被写体を適正露出のもとで撮影するか、視野内に強い光が入らないように調整するが、全方位を撮影するパノラマ画像の撮影では、特定の被写体に合わせて適正露出を決めるわけにはいかない。そこで、パノラマ画像を生成する際、たとえば、ハイダイナミックレンジ合成の手法を採用して、露出を変えつつ複数枚の低ダイナミックレンジの写真を撮影し、それらを合成することで白とびや黒つぶれのない高ダイナミックレンジを持つ画像を生成することが必要である。しかし、ハイダイナミックレンジ合成は、高価なカメラが必要であったり、撮影時間や処理時間がかかるという問題があった。
【0007】
本発明はこうした課題に鑑みてなされたものであり、その目的は、白とびや黒つぶれのないパノラマ画像を効率良く生成することのできる技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様のパノラマ画像生成装置は、パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶部と、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成するハイダイナミックレンジ合成部と、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成するパノラマ画像合成部とを含む。
【0009】
本発明の別の態様は、パノラマ画像生成方法である。この方法は、パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶デバイスからプロセッサが複数の低ダイナミックレンジ画像集合を読み出すステップと、プロセッサが、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成するステップと、プロセッサが、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成するステップとを含む。
【0010】
本発明のさらに別の態様は、プログラムである。このプログラムは、パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶デバイスから複数の低ダイナミックレンジ画像集合を読み出す機能と、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成する機能と、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像のダイナミックレンジをトーンマッピングにより圧縮することにより、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像を生成する機能と、高ダイナミックレンジのパノラマ画像を生成する場合は、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成し、低ダイナミックレンジのパノラマ画像を生成する場合は、トーンマッピングにより生成された、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像の内、隣接する分割画像をつなぎ合わせて、低ダイナミックレンジのパノラマ画像を生成する機能とをコンピュータに実現させる。
【0011】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0012】
本発明によれば、白とびや黒つぶれのないパノラマ画像を効率良く生成することができる。
【図面の簡単な説明】
【0013】
【図1】実施の形態に係るパノラマ画像表示装置の構成図である。
【図2】図1のパノラマ画像表示装置に接続される入力デバイスの一例であるコントローラの構成図である。
【図3】図3(a)〜(d)は、パノラマ画像を撮影するために用いられる全方位撮影システムの機構と撮影方向を説明する図である。
【図4】図4(a)はカメラの方位角θ、図4(b)はカメラの仰角φを説明する図である。
【図5】図5(a)〜(c)は、カメラの初期位置が方位角θの方向にある場合に撮影されるパノラマ画像を説明する図である。
【図6】図6(a)〜(c)は、カメラの仰角φ=60°の場合に撮影されるパノラマ画像を説明する図である。
【図7A】複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
【図7B】複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
【図8】図1のパノラマ画像表示装置によるパノラマ画像生成手順を説明するフローチャートである。
【図9】図9(a)、(b)は、2つの隣接する分割画像間で検出されたコントロールポイントを示す図である。
【図10】2つの隣接する分割画像をコントロールポイントにもとづいてアライメントして合成する様子を示す図である。
【図11】図11(a)、(b)は、パノラマ画像の両端を重複させた拡張パノラマ画像を説明する図である。
【図12】低ダイナミックレンジの分割画像から高ダイナミックレンジのパノラマ画像を生成する従来手法を説明する図である。
【図13】低ダイナミックレンジの分割画像から高ダイナミックレンジのパノラマ画像を生成する本実施の形態の手法を説明する図である。
【図14】低ダイナミックレンジの分割画像から低ダイナミックレンジのパノラマ画像を生成する本実施の形態の手法を説明する図である。
【発明を実施するための形態】
【0014】
本発明の実施の形態の概要を説明する。本実施の形態では、露出の異なる低ダイナミックレンジの分割画像に対してハイダイナミックレンジ合成を行って、いったん高ダイナミックレンジの分割画像を生成してから、分割画像をつなぎ合わせてパノラマ画像を生成する。
【0015】
図1は、実施の形態に係るパノラマ画像表示装置100の構成図である。図1に示すパノラマ画像表示装置100の機能構成は、一例として、パーソナルコンピュータ、ゲーム機、携帯機器、携帯端末などにハードウェア、ソフトウェアまたはその組み合わせによって実装することができる。これらの機能構成の一部がサーバに実装され、一部がクライアントに実装され、パノラマ画像表示装置100は、ネットワークを介してサーバ−クライアントシステムとして実現されてもよい。
【0016】
パノラマ画像表示装置100のHDR合成部20、トーンマッピング部21、コントロールポイント検出部22、パノラマ画像合成部23、画像符号化部25、およびLDR画像データ記憶部26は、実施の形態に係るパノラマ画像生成装置を構成する。パノラマ画像生成装置のこれらの機能構成は、パノラマ画像表示装置100とは別のコンピュータ、ゲーム機、携帯機器、携帯端末に実装され、ネットワークや接続ケーブルなどでパノラマ画像表示装置100と接続されてもよい。また、パノラマ画像生成装置の機能構成は、デジタルカメラのCPUやメモリを用いて実装されてもよい。
【0017】
LDR画像データ記憶部26は、カメラをパンまたはチルトして撮影された複数の低ダイナミックレンジ(LDR;low dynamic range)の分割画像を含むLDR画像集合を保持する。LDR画像データ記憶部26には、露出の異なる複数のLDR画像集合が保持されている。パン角とチルト角の異なる分割画像をつなぎ合わせるとパノラマ画像が得られるが、隣接する分割画像のつなぎ目に当たる領域は合成しやすいように重複して撮影されている。LDR画像集合は、撮影すべきパン角またはチルト角に対応させた複数のカメラを用いて撮影されたものであってもよい。ここでは、一つのカメラをパンまたはチルトして撮影した分割画像であっても、撮影すべきパン角またはチルト角に対応させた複数のカメラを用いて撮影された分割画像であっても、単に「パン角またはチルト角の異なる分割画像」と呼ぶ。
【0018】
HDR合成部20は、LDR画像データ記憶部26から露出の異なる複数のLDR画像集合を読み出し、分割画像が撮影されたパン角およびチルト角の組み合わせのそれぞれについて、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジ(HDR;high dynamic range)の分割画像を生成する。
【0019】
トーンマッピング部21は、低ダイナミックレンジのパノラマ画像を生成する場合に動作する構成であり、高ダイナミックレンジのパノラマ画像を生成する場合は動作しない。
【0020】
まず、高ダイナミックレンジのパノラマ画像を生成する場合を説明する。
【0021】
HDR合成部20は、生成されたパン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像をコントロールポイント検出部22に供給する。コントロールポイント検出部22は、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像の内、隣接する分割画像の間で特徴点を抽出することにより、隣接する高ダイナミックレンジの分割画像を対応付けるためのコントロールポイントを検出する。
【0022】
特徴点抽出処理には画像マッチングで用いられる公知の技術を用いることができる。特徴点抽出処理が終わると、抽出された特徴点の中から、隣接する分割画像を対応づけるのに適したコントロールポイントを選択する。特徴点は多数抽出されるが、コントロールポイントとしては、隣接する分割画像のつなぎ目領域全体に偏りなく分散していることが望ましい。コントロールポイントがつなぎ目領域全体に分散していれば、隣接する分割画像を高い精度でアライメントすることが可能になる。
【0023】
パノラマ画像合成部23は、検出されたコントロールポイントにもとづいて隣接する高ダイナミックレンジの分割画像のアライメントを調整して合成することにより、高ダイナミックレンジのパノラマ画像を生成する。具体的には隣接する分割画像間で対応するコントロールポイントができるだけ一致するように、言い換えれば、隣接する分割画像間の対応するコントロールポイントのずれの総和が最小になるように、分割画像を回転させて合成する。
【0024】
次に、低ダイナミックレンジのパノラマ画像を生成する場合を説明する。
【0025】
低ダイナミックレンジのパノラマ画像を生成する場合は、トーンマッピング部21が動作する。HDR合成部20は、生成されたパン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像をトーンマッピング部21に供給する。トーンマッピング部21は、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像のダイナミックレンジをトーンマッピングにより圧縮することにより、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像を生成する。
【0026】
コントロールポイント検出部22は、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像の内、隣接する分割画像の間で特徴点を抽出することにより、隣接するダイナミックレンジ圧縮された分割画像を対応付けるためのコントロールポイントを検出する。
【0027】
パノラマ画像合成部23は、検出されたコントロールポイントにもとづいて隣接するダイナミックレンジ圧縮された分割画像のアライメントを調整して合成することにより、低ダイナミックレンジのパノラマ画像を生成する。
【0028】
画像符号化部25は、パノラマ画像合成部23により合成された高ダイナミックレンジまたは低ダイナミックレンジのパノラマ画像を符号化する。このとき、パノラマ画像の左端には右端の領域の一部を付加し、右端には左端の領域の一部を付加した拡張パノラマ画像に対して圧縮符号化する。パノラマ画像が動画像である場合は、画像符号化部25は、拡張パノラマ画像に対して、マクロブロック単位で動き補償予測して圧縮符号化する。画像符号化部25は、符号化されたパノラマ画像をパノラマ画像・付加データ記憶部24に記憶する。
【0029】
パノラマ画像・付加データ記憶部24は、撮影場所に関する情報と撮影方位に関する情報が関連付けられたパノラマ画像を保持する。撮影場所や撮影方位に関する情報などの付加データはパノラマ画像のデータファイルに直接付加されてもよく、付加データはパノラマ画像とは別のファイルとして管理されてもよい。
【0030】
撮影場所に関する情報は、たとえば、GPS(Global Positioning System)により与えられる緯度・経度情報を含む。撮影方位に関する情報は、たとえば、方位センサなどから得られるパノラマ画像の中心点の方位角の情報を含み、それ以外に撮影時のカメラの仰角やロール角の情報を含んでもよい。
【0031】
撮影方位に関する情報としてパノラマ画像の中心点の方位角が与えられれば、カメラを左右方向にパンした角度にもとづいて、パノラマ画像の任意の点の方位を計算上、求めることができる。パノラマ画像の中心点の方位角とパン角にもとづいて計算された、パノラマ画像の真北、真南、真東、真西の方位にあるピクセルの座標値を撮影方位に関する情報としてパノラマ画像にもたせてもよい。
【0032】
パノラマ画像取得部10は、表示対象のパノラマ画像をパノラマ画像・付加データ記憶部24から取得する。表示対象のパノラマ画像は、たとえば、ユーザが地図などで撮影場所を指定することで特定される。
【0033】
画像復号部12は、パノラマ画像取得部10により取得された拡張パノラマ画像を復号し、拡張パノラマ画像の両端の重複した領域をトリミングし、再生されたパノラマ画像をマッピング処理部14に供給する。パノラマ画像取得部10により取得された拡張パノラマ画像が動き補償予測により符号化された動画像である場合、画像復号部12は、動画像を復号し、両端の重複した領域をトリミングし、再生された動画像のフレームをマッピング処理部14に供給する。
【0034】
マッピング処理部14は、パノラマ画像をテクスチャとして3次元パノラマ空間にマッピングする処理を行う。
【0035】
全天球パノラマ画像の場合は、3次元パノラマ空間として球を想定し、球面マッピングにより、パノラマ画像を球面にテクスチャマッピングする。あるいは、3次元パノラマ空間として立方体を想定し、キューブマッピングにより、パノラマ画像を立方体表面にテクスチャマッピングしてもよい。また、パノラマ画像がチルト方向の成分をもたず、パン方向にのみ広がる画像である場合、3次元パノラマ空間として円柱を想定し、パノラマ画像を円柱面にテクスチャマッピングしてもよい。パノラマ画像がパン方向の成分をもたず、チルト方向にのみ広がる画像である場合も同様である。
【0036】
3次元画像生成部16は、マッピング処理部14によりパノラマ画像がマッピングされた3次元パノラマ空間内を指定された視線方向に見たときの3次元パノラマ画像を生成する。3次元パノラマ空間が球の場合、視点は球の中心に置かれ、立方体の場合、視点は立方体内部の中心に置かれ、円柱の場合、視点は円柱の中心軸上に置かれる。視点は表示対象のパノラマ画像を撮影した場所であり、視線方向は、その撮影場所から周囲を見る方向であり、方位角と仰角で特定される。3次元画像生成部16は、方位角と仰角で特定される視線方向で3次元パノラマ空間を見たときの3次元画像を生成する。
【0037】
表示制御部18は、生成された3次元パノラマ画像をディスプレイ装置の画面に表示させる。
【0038】
ユーザインタフェース部40は、ディスプレイの画面に表示されるグラフィックスに対して、ユーザが入力デバイスを用いて操作することを可能にするグラフィカルユーザインタフェースである。ユーザインタフェース部40は、画面に表示された地図や3次元パノラマ画像に対するゲーム機のコントローラ、マウス、キーボードなどの入力デバイスからユーザの指示を受け付ける。図2は、入力デバイスの一例であるコントローラ102を示し、その構成の詳細については後述する。
【0039】
ユーザインタフェース部40は、指定されたパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。
【0040】
ユーザは、たとえば、コントローラ102のアナログスティック118または方向キー群116などを操作することにより、3次元パノラマ空間を見る視線方向を変更する指示を入力することができる。ユーザインタフェース部40の視線方向設定部32は、ユーザが指示する視線方向を3次元画像生成部16に与える。3次元画像生成部16は、3次元パノラマ空間を指定された視線方向から見た場合の画像を生成する。
【0041】
画角設定部31は、ユーザが表示されたパノラマ画像に対してズーム操作をしたときの画角を設定し、パノラマ画像取得部10と3次元画像生成部16に設定された画角の情報を与える。画角の異なるパノラマ画像がパノラマ画像・付加データ記憶部24に記憶されている場合、パノラマ画像取得部10は、設定された画角にもっとも近い画角のパノラマ画像を読み出し、表示対象のパノラマ画像を切り替える。3次元画像生成部16は、設定された画角に応じて3次元パノラマ画像を拡大・縮小することで、ズームイン・ズームアウトの視覚効果を実現する。
【0042】
パノラマ画像には、撮影高度に関する情報も付与されており、パノラマ画像・付加データ記憶部24は、同一の撮影位置に対して異なる高度で撮影されたパノラマ画像を保持してもよい。その場合、ユーザは、たとえば、コントローラ102の筐体前面の左側にあるL1/L2ボタン161、162を操作することにより、高度を変更する指示を入力することができる。L1ボタン161を押すことにより、高度を上げる指示を、L2ボタン162を押すことにより、高度を下げる指示を与えることができる。
【0043】
表示制御部18は、現在表示されているパノラマ画像について、同一撮影場所で異なる高度で撮影したパノラマ画像があることを、たとえば、画面の上部、下部に小さな矢印を示すことでユーザに知らせてもよい。画面の上部に上向きの矢印があれば、現在よりも撮影高度の高い画像があることを示し、画面の下部に下向きの矢印があれば、現在よりも撮影高度の低い画像があることを示す。
【0044】
ユーザインタフェース部40の高度設定部34は、ユーザから高度を変更する指示を受け取ると、同一撮影位置であるが、指定された高度に対応するパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。パノラマ画像取得部10は、L1ボタン161が押された場合は、現在表示されているパノラマ画像よりも撮影高度のより高いパノラマ画像を取得し、L2ボタン162が押された場合は、撮影高度のより低いパノラマ画像を取得する。
【0045】
表示制御部18は、撮影高度の異なるパノラマ画像に切り替えて表示する際、たとえば、ユーザがエレベータで上下しているかのような感覚を与えるために、特別なエフェクトを画像に施してもよい。たとえば、より高度の高いパノラマ画像に切り替える場合、現在表示されているパノラマ画像を下にスクロールさせて、より高度の高いパノラマ画像が上から降りてくるように表示させることで、ユーザはあたかも階上に行ったかのような感覚をもつことができる。
【0046】
パノラマ画像には、撮影日時に関する情報も付与されており、パノラマ画像・付加データ記憶部24は、同一の撮影位置に対して撮影日時の異なるパノラマ画像を保持してもよい。その場合、ユーザは、たとえば、コントローラ102の筐体前面の右側にあるR1/R2ボタン151、152を操作することにより、撮影日時を変更する指示を入力することができる。R1ボタン151を押すことにより、遅い日時にシフトする指示を、R2ボタン152を押すことにより、早い日時にシフトする指示を与えることができる。
【0047】
表示制御部18は、現在表示されているパノラマ画像について、異なる日時に撮影したパノラマ画像があることを、たとえば、時計やカレンダーのアイコンを画面の隅に示すことでユーザに知らせてもよい。朝、昼、夜など時間帯の異なるパノラマ画像が存在するときは時計のアイコンを、春、夏、秋、冬など季節の異なるパノラマ画像が存在するときはカレンダーのアイコンを表示する。
【0048】
ユーザインタフェース部40の日時設定部36は、ユーザから日時を変更する指示を受け取った場合、同一撮影位置であるが、指定された日時に対応するパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。パノラマ画像取得部10は、R1ボタン151が押された場合は、現在表示されているパノラマ画像よりも撮影日時のより遅いパノラマ画像を取得し、R2ボタン152が押された場合は、撮影日時のより早いパノラマ画像を取得する。
【0049】
これにより、たとえば、同一撮影場所であっても、朝の時間帯に撮影されたパノラマ画像から夜の時間帯にパノラマ画像に切り替えたり、春に撮影されたパノラマ画像から秋に撮影されたパノラマ画像に切り替えるなど、時間帯や季節などが異なるパノラマ画像に切り替えることができる。表示制御部18は、パノラマ画像を切り替えるとき、フェイドイン・フェイドアウトなどのエフェクトを画像に施してもよい。
【0050】
視点位置設定部30は、パノラマ画像の撮影場所を視点位置に設定し、視点位置を3次元画像生成部16に通知する。視線方向設定部32は、指定された視線方向を3次元画像生成部16に与える。
【0051】
図2は、図1のパノラマ画像表示装置100に接続される入力デバイスの一例であるコントローラ102の構成図である。パノラマ画像表示装置100は、一例としてゲーム機であってもよい。
【0052】
コントローラ102は、パノラマ画像表示装置100に対する操作入力を行うための複数のボタンやキーを有する。ユーザがコントローラ102のボタンやキーを操作すると、その操作入力が無線または有線によりパノラマ画像表示装置100に送信される。
【0053】
コントローラ102の筐体上面122には、方向キー群116、アナログスティック118、操作ボタン群120が設けられている。方向キー群116は、「上」、「下」、「左」、「右」方向指示キーを含む。操作ボタン群120は、○ボタン124、×ボタン126、□ボタン128、および△ボタン130を含む。
【0054】
ユーザは左手で左側把持部134bを把持し、右手で右側把持部134aを把持して、筐体上面122上の方向キー群116、アナログスティック118、および操作ボタン群120を操作する。
【0055】
さらに、コントローラ102の筐体前面には、右側操作部150と左側操作部160が設けられている。右側操作部150はR1ボタン151とR2ボタン152を含み、左側操作部160はL1ボタン161とL2ボタン162を含む。
【0056】
ユーザは、方向キー群116を操作することにより、画面上の表示されたポインタを上下左右の各方向に移動させることができる。たとえば、パノラマ画像内に表示された複数のマーカーのいずれかを選択する際、方向キー群116を操作して画面上で複数のマーカー間を移動することができる。ユーザは所望のマーカー上にポインタが来たときに、○ボタン124を押すことでそのマーカーを選択することができる。
【0057】
操作ボタン群120の各ボタンには、パノラマ画像表示アプリケーションプログラムによりそれぞれ異なる機能が割り付けられてもよい。たとえば、△ボタン130にはメニューの表示を指定する機能、×ボタン126には、選択した項目の取り消し等を指定する機能、○ボタン124には選択した項目の決定等を指定する機能、□ボタン128には、目次等の表示/非表示を指定する機能がそれぞれ割り付けられる。
【0058】
アナログスティック118は、ユーザによって傾倒操作されたとき、アナログ値を出力する手段を備える。コントローラ102は、アナログスティック118を傾倒したときの方向と量に応じたアナログ出力信号をパノラマ画像表示装置100に送る。たとえば、ユーザは、アナログスティック118を所望の方向に傾倒することで、ディスプレイに表示された3次元パノラマ画像内で視点を所望の方向に移動させることができる。
【0059】
筐体上面122には、さらにLED付きボタン136、セレクトボタン140、スタートボタン138が設けられる。LED付きボタン136は、たとえば、ディスプレイにメニュー画面を表示させるためのボタンとして利用される。スタートボタン138は、パノラマ画像表示アプリケーションの起動、パノラマ画像の再生開始、一時停止などをユーザが指示するためのボタンである。セレクトボタン140は、ディスプレイに表示されたメニュー表示の選択等をユーザが指示するためのボタンである。
【0060】
図3(a)〜(d)は、パノラマ画像を撮影するために用いられる全方位撮影システム230の機構と撮影方向を説明する図である。
【0061】
図3(d)に示すように、全方位撮影システム230において、カメラ200は操作盤210に固定されており、操作盤210をZ軸周りに回転させることでカメラのパン角を変え、X軸周りに回転させることでカメラのチルト角を変え、Y軸周りに回転させることでカメラのロール角を変えることができる。ここでZ軸は鉛直軸(重力方向軸)である。
【0062】
図3(a)は、操作盤210に設置されたカメラ200の上面図であり、操作盤の初期位置(Y軸方向)をパン角0°とし、Z軸の周りに−180°〜+180°の範囲でパン角を変えることができる。
【0063】
図3(b)は、操作盤210に設置されたカメラ200の正面図であり、操作盤210が水平に置かれた状態をロール角0°とし、Y軸の周りに−180°〜+180°の範囲でロール角を変えることができる。
【0064】
図3(c)は、操作盤210に設置されたカメラ200の側面図であり、操作盤210が水平に置かれた状態をチルト角0°とし、X軸の周りに−90°〜+90°の範囲でチルト角を変えることができる。
【0065】
図3(d)の全方位撮影システム230により撮影されるパノラマ画像に撮影方位に関する情報を付与するためには、カメラ200が撮影時にどの方位に向いていたかを記録しておく必要がある。そのために、全方位撮影システム230は、方位を測定するための方位センサや傾斜角を測定するための加速度センサなどを備える。さらに、撮影位置や撮影時間を測定するためにGPSセンサなども備える。
【0066】
図4(a)はカメラ200の方位角θ、図4(b)はカメラ200の仰角φを説明する図である。図4(a)はカメラ200の上面図であり、カメラ200は撮影の初期位置において、真北から東へ方位角θだけずれた方向220を向いており、この方向がパン角0°に相当する。すなわちパン角の基準方向220の方位角はθである。パノラマ画像を撮影するとき、この方位角θの基準方向220に対して−180°〜+180°の範囲でパン角を変えながら、被写体をパノラマ撮影する。
【0067】
図4(b)はカメラ200の側面図であり、仰角φは、X軸周りにカメラ200を回転させた場合に、チルト0°の方向、すなわちY軸方向に対して上方向を正と定義する角度である。通常、カメラ200を水平ポジションに設定して撮影するので仰角φ=0°であるが、全天球のパノラマ画像を撮影するには、カメラをチルトさせて仰角φを変えて被写体を撮影する必要がある。
【0068】
図5(a)〜(c)は、カメラ200の初期位置が方位角θの方向にある場合に撮影されるパノラマ画像を説明する図である。
【0069】
図5(a)の上面図に示すように、初期位置においてカメラ200は方位角θの方向220を向いており、図5(b)の側面図に示すように、カメラ200の仰角φ=0°である。仰角φ=0°に保ちながら、基準方向220に対してカメラ200のパン角を−180°から+180°の範囲で変化させながら、仰角φ=0°における全方位のパノラマ画像を撮影する。図5(c)は、このようにして撮影されたパノラマ画像300を示す。パノラマ画像300の中心はパン角0°であり、パノラマ画像300の左半分はパン角を0°から−180°まで変えて撮影された画像であり、右半分はパン角を0°から180°まで変えて撮影された画像である。
【0070】
パノラマ画像300のパン角0°の中心位置は、真北から方位角θだけ東にずれているから、北(N)、南(S)、東(E)、西(W)の位置は点線で示す箇所になる。パノラマ画像300は、撮影方位に関する情報として、パン角0°の中心位置の方位角θをもってさえいれば、北(N)、南(S)、東(E)、西(W)のピクセル位置は、方位角θのずれを考慮して計算で求めることができる。あるいは、方位角θの代わりに、北(N)、南(S)、東(E)、西(W)のピクセル位置の座標値を撮影方位に関する情報としてもうようにしてもよい。
【0071】
全天球のパノラマ画像を得るためには、カメラ200の仰角を変えて撮影する必要がある。たとえば、カメラ200の画角が60°であるとすると、原理的にはカメラ200を上下に±60°チルトさせた上で、パン角を−180°〜180°の範囲で変えながら同様の撮影を行えば、全天球のパノラマ画像を得ることができる。
【0072】
図6(a)〜(c)は、カメラ200の仰角φ=60°の場合に撮影されるパノラマ画像を説明する図である。図6(a)の上面図に示すように、初期位置においてカメラ200は方位角θの方向220を向いており、図6(b)の側面図に示すように、カメラ200の仰角φ=60°である。仰角φ=60°に保ちながら、基準方向220に対してカメラ200のパン角を−180°から+180°の範囲で変化させながら、図6(c)に示すような、仰角φ=60°におけるパノラマ画像302を撮影する。
【0073】
同様にして、カメラ200の仰角をφ=−60°に保ちながら、パン角を−180°から+180°の範囲で変化させながら、仰角φ=−60°におけるパノラマ画像を撮影する。仰角φ=0°、60°、−60°のパノラマ画像を組み合わせれば、全天球パノラマ画像が得られる。もっとも、実装上は、画角の境界部分で画像を貼り合わせる際にレンズの歪みから生じる不整合を補正するために、境界付近をだぶらせて撮影する方法を採ることが多い。
【0074】
このようにして得られた全天球パノラマ画像には、方位角および仰角の情報が付与されており、その情報にもとづいてパノラマ画像の任意のピクセルについて方位と仰角を特定可能である。また、パノラマ画像には撮影場所の位置情報としてGPSにより測定された緯度・経度情報も付与される。パノラマ画像に付与すべき付加情報は、一例として、Exif(Exchangeable Image File Format)と呼ばれる画像ファイルの規格にしたがって記録してもよい。撮影場所の地名はファイル名の一部に記録し、撮影日時、撮影場所の緯度・経度、高度、方位角などをExif形式のデータとして記録することができる。仰角はExif形式では定義されていないが、拡張データとして記録する。
【0075】
図7Aおよび図7Bは、複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
【0076】
図7Aの例では、カメラ200をチルト(またはパン)させながら撮影された7枚の画像341〜347を円筒にマッピングした後、つなぎ合わせて円筒状の画像340を作成する。画像をつなぎ合わせるとき、画像の境界付近をオーバーラップさせる。
【0077】
図7Bに示すように、カメラ200をパン(またはチルト)させて撮影することで、図7Aで示した円筒状の画像がパン(またはチルト)方向に複数得られる。これらの円筒状の画像340a〜340fを画像の境界付近をオーバーラップさせて合成することで、全方位のパノラマ画像360が最終的に得られる。
【0078】
図8は、パノラマ画像表示装置100によるパノラマ画像生成手順を説明するフローチャートである。図9(a)、(b)〜図11(a)、(b)を参照しながら、図8のパノラマ画像生成手順の各ステップを説明する。図8に示すフローチャートにおいては、各部の処理手順を、ステップを意味するS(Stepの頭文字)と数字との組み合わせによって表示する。また、Sと数字との組み合わせによって表示した処理で何らかの判断処理が実行され、その判断結果が肯定的であった場合は、Y(Yesの頭文字)を付加して、例えば、(S14のY)と表示し、逆にその判断結果が否定的であった場合は、N(Noの頭文字)を付加して、(S14のN)と表示する。
【0079】
露出の異なる複数のLDR画像集合を入力する(S10)。各LDR画像集合は、パン角およびチルト角の少なくとも一方の異なる複数の低ダイナミックレンジの分割画像を含む。
【0080】
HDR合成部20は、分割画像が撮影されたパン角およびチルト角の組み合わせのそれぞれについて、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を生成する(S12)。ハイダイナミックレンジ合成には、公知の技術を用いる。露出の異なる複数枚のLDR画像から明らかに黒つぶれや白とびのあるセグメントを除いた領域を選択して合成することですべての領域にわたって黒つぶれや白とびのないHDR画像を生成する。
【0081】
出力画像フォーマットがLDRパノラマ画像である場合(S14のY)、ステップS16のトーンマッピング処理を実行する。トーンマッピング部21は、HDR合成部20が生成した高ダイナミックレンジの分割画像に対してトーンマッピング処理を施してダイナミックレンジを圧縮することで、ダイナミックレンジ圧縮された分割画像に変換する。トーンマッピング処理の手法として、たとえば、画像全体のコントラストを下げる方法や、人間の視覚特性を模倣して非線形に変換する方法がある。ステップS16のトーンマッピング処理が終わると、ステップS18に進む。
【0082】
出力画像フォーマットがHDRパノラマ画像である場合(S14のN)、ステップS16のトーンマッピング処理をスキップし、ステップS18に進む。
【0083】
コントロールポイント検出部22は、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像/高ダイナミックレンジの分割画像の内、隣接する分割画像の間で特徴点を抽出することにより、隣接する分割画像を対応付けるためのコントロールポイントを検出する(S18)。
【0084】
図9(a),(b)は、2つの隣接する分割画像401、402間で検出されたコントロールポイントを示す図である。ここでは、9個のコントロールポイントが検出されている。
【0085】
パノラマ画像合成部23は、検出されたコントロールポイントにもとづいて隣接するダイナミックレンジ圧縮された分割画像/高ダイナミックレンジの分割画像のアライメントを調整して合成することにより、LDR/HDRのパノラマ画像を生成する(S20)。
【0086】
図10は、2つの隣接する分割画像401、402をコントロールポイントにもとづいてアライメントして合成する様子を示す図である。隣接する分割画像401、402の重複領域において、両画像のコントロールポイント(同図で丸印で示した)ができるだけ合うように、一方の分割画像401に対して他方の分割画像402を回転させて合成する。
【0087】
画像符号化部25は、パノラマ画像合成部23により合成されたLDR/HDRのパノラマ画像を符号化する(S22)。このとき、パノラマ画像の左端には右端の領域の一部を付加し、右端には左端の領域の一部を付加した拡張パノラマ画像に対して、圧縮符号化することで、ブロックノイズを軽減する。パノラマ画像が動画像である場合、画像符号化部25は、拡張パノラマ画像に対してマクロブロック単位で動き補償予測して圧縮符号化することで、パノラマ画像の両端の境界線をまたいだ動きがある場合でも、ブロックノイズを抑えた動き補償予測ができる。
【0088】
図11(a)、(b)は、パノラマ画像の両端を重複させた拡張パノラマ画像を説明する図である。図11(a)は、カメラを360度パンさせて撮影されたパノラマ画像500である。パノラマ画像500が動画像である場合、マクロブロック単位で動きベクトルにより周辺領域の画素を参照して予測符号化されるが、パノラマ画像500の右端/左端はそれよりも右側/左側に周辺画素がないため、ブロックノイズが生じる。そのため、パノラマ画像500を全天球に貼り付けたとき、動画再生中につなぎ目に不自然な境界線が現れる。
【0089】
そこで、パノラマ画像500の右端領域502、左端領域504をそれぞれパノラマ画像500の左端、右端にコピーしてパノラマ画像500を拡張する。図11(b)は、拡張パノラマ画像510である。右端領域502、左端領域504がそれぞれパン角20度分の領域である場合、拡張パノラマ画像510は、パン角が400度まで拡張された形になる。この拡張パノラマ画像510に対して、マクロブロック単位で動き補償予測符号化すれば、パノラマ画像500の右端および左端で発生するブロックノイズを最小化することができる。
【0090】
図11(b)の拡張パノラマ画像510に対して動き補償予測符号化が終われば、コピーした右端領域502、左端領域504は削除して、図11(a)のパノラマ画像500に戻す。その後、パノラマ画像500を全天球に貼り付けても、つなぎ目はブロックノイズが最小化されているため、動画再生中でもつなぎ目に境界線は現れなくなる。
【0091】
次に、図12〜図14を参照して、パン角またはチルト角の異なる複数のLDR分割画像からHDR/LDRパノラマ画像を生成する本実施の形態の手法の利点について詳しく説明する。
【0092】
図12は、比較のために、LDR分割画像からHDRパノラマ画像を生成する従来手法を説明する図である。
【0093】
ここでは、パン角またはチルト角の異なる複数のLDR分割画像の集合が露出を変えて3種類用意されている。LDR分割画像集合411、412、413は、それぞれ露出値がEV1、EV2、EV3であり、この順で露出値が低くなる。各LDR分割画像集合411、412、413には、パン角またはチルト角の異なる6枚のLDR分割画像が含まれる。たとえば、パン角を3段階(p1、p2、p3)に変え、チルト角を2段階(t1,t2)に変えて、6枚の分割画像を撮影した場合である。
【0094】
ここでは、説明の便宜上、露出値を3段階だけ設けたが、実装上は、露出段数Nは、8段階程度以上にする必要がある。また、パン方向の撮影枚数PはP=360/(水平画角×0.8)で与えられ、チルト方向の撮影枚数TはT=180/(垂直画角×0.8)で与えられる。チルト方向には、これ以外に天頂、真下に1枚ずつ撮影することもある。係数0.8を掛けるのは、隣接する分割画像に重複領域をもたせるためである。分割画像の総撮影枚数MはN×P×Tで与えられる。
【0095】
従来手法では、露出値EV1のLDR分割画像集合411を合成してLDRパノラマ画像421を生成する。同様に、露出値EV2、EV3のLDR分割画像集合412、413を合成してLDRパノラマ画像422、423を生成する。分割画像を合成してパノラマ画像を生成する際、隣接する分割画像の重複領域でコントロールポイントを検出して、マッチングを取る。
【0096】
このとき、ある露出値のもとで撮影されたLDR分割画像集合内で、一部の分割画像は露出が適正でないために、白とびや黒つぶれが生じている可能性がある。パン角またはチルト角を変えて撮影した分割画像の中には、強い光が写っている部分や極端に暗くなっている部分があるためである。白とびや黒つぶれが生じている分割画像に対しては特徴点抽出が困難になるため、コントロールポイントが設定できないか、設定できてもコントロールポイントの設定場所が偏っていたり、コントロールポイントの数が少なくなる。そのため、隣接する分割画像をうまくつなげることができず、生成されたパノラマ画像は合成の精度が悪く、きれいなものにはならない。
【0097】
次に、露出値EV1のLDRパノラマ画像421、露出値EV2のLDRパノラマ画像422、露出値EV3のLDRパノラマ画像423をハイダイナミックレンジ合成することで、HDRパノラマ画像430を生成する。しかし、LDRパノラマ画像421、422、423の中には、上述のように白とびや黒つぶれのために合成の精度が悪いものが混ざっている可能性があり、最終的に生成されるHDRパノラマ画像430の精度も悪くなることがある。
【0098】
図13は、LDR分割画像からHDRパノラマ画像を生成する本実施の形態の手法を説明する図である。
【0099】
本実施の形態では、露出値の異なるLDR分割画像の集合に対してハイダイナミックレンジ合成を施して、まずHDR分割画像の集合を生成した後、パノラマ画像に合成することでHDRパノラマ画像を生成する。
【0100】
露出値EV1、EV2、EV3のLDR分割画像集合411、412、413をハイダイナミックレンジ合成することで、HDR分割画像集合440を生成する。HDR分割画像集合440には、パン角またはチルト角の異なる6枚のHDR分割画像が含まれる。次に、HDR分割画像集合440を合成してHDRパノラマ画像450を生成する。
【0101】
この方法によれば、たとえば、パン角p1、チルト角t1のLDR分割画像についてみれば、3つの露出値EV1、EV2、EV3のLDR分割画像をハイダイナミックレンジ合成することにより、パン角p1、チルト角t1のHDR分割画像を生成している。そのため、HDR分割画像を生成する時点で、LDR分割画像に発生した白とびや黒つぶれの問題を解消することができる。HDR分割画像集合440を合成してHDRパノラマ画像450を生成する際、6枚のHDR分割画像には白とびや黒つぶれがないため、隣接する分割画像の重複領域から確実に特徴点を抽出して、高い精度でコントロールポイントを検出することができ、合成されるHDRパノラマ画像450はきれいなものになる。
【0102】
図14は、LDR分割画像からLDRパノラマ画像を生成する本実施の形態の手法を説明する図である。図13と異なるのは、露出値EV1、EV2、EV3のLDR分割画像集合411、412、413をハイダイナミックレンジ合成して得られたHDR分割画像集合440に対してトーンマッピング処理を施して、LDR分割画像集合460に変換した上で、LDRパノラマ画像470に合成する点である。この場合も、HDR分割画像集合440を生成する段階で、白とびや黒つぶれの問題がなくなっているため、その後、ダイナミックレンジを下げたLDR分割画像集合460を合成するときに、コントロールポイントが検出できないという問題は発生しない。
【0103】
このように、図12の従来手法に比べて、図13および図14の本実施の形態の手法では、上述のように合成されるパノラマ画像の精度が著しく改善する。本実施の形態のパノラマ画像生成方法には、処理効率その他の面でも利点がある。
【0104】
従来手法では、各露出値のLDR分割画像集合に対して、コントロールポイントの検出処理を行ってLDRパノラマ画像を生成するため、処理時間がかかる。それに対して、本実施の形態の手法では、あらかじめHDR分割画像集合を生成してから、コントロールポイントの検出処理を行ってHDRパノラマ画像を生成するため、露出段数をNとすると、従来手法に比べて処理時間は1/Nに削減される。
【0105】
また、従来手法では、各露出値において複数のLDR分割画像からLDRパノラマ画像を生成するため、総撮影枚数M=露出段数N×パン段数P×チルト段数Tの撮影が必要であり、撮影時間がかかる。さらに、撮影時間が長くなるため、被写体が動いた場合、異なる露出値のLDRパノラマ画像間で被写体の位置がずれてしまい、HDRパノラマ画像に合成したときに被写体がぶれたような画像が生成される。
【0106】
それに対して、本実施の形態の手法では、白とび、黒つぶれしてしまうような露出値の画像は必要ではないので、その露出値での撮影を省いても、十分な精度のHDR分割画像を生成することができる。全天球をスキャンして各撮影方向における適切な露出値をあらかじめ測定したり、光の方向などにもとづいて各撮影方向における適切な露出値を決定して撮影すればよく、すべての露出値について撮影する必要はない。そのため、撮影時間を短縮し、また、HDR合成の処理時間も短縮することができる。
【0107】
さらに、本実施の形態の手法では、撮影時間を短縮できるため、高速に移動する鳥や飛行機などの物体が写り込む可能性を減らすことができる。仮にそのような移動物体が写り込んだLDR分割画像があったとしても、その画像は削除しても、他の露出値で同じ領域を撮影したLDR分割画像があるため、十分な精度でHDR分割画像を生成することができる。
【0108】
以上述べたように、本実施の形態のパノラマ画像表示装置によれば、LDR分割画像から高い精度で効率良くHDR/LDRパノラマ画像を生成することができる。低ダイナミックレンジでパノラマ画像を撮影すると、正面が明るくても、背面が暗い場合には、全方位で適切な露出で撮影できないので、きれいなパノラマ画像を得ることはできなかった。本実施の形態のパノラマ画像生成手法によれば、露出を変えて撮影されたLDR分割画像からいったんHDR分割画像を生成してから、パノラマ画像に合成するため、全方位に対して露出値が適正に調整されたきれいなパノラマ画像を得ることができる。
【0109】
LDR分割画像に生じた白とびや黒つぶれの問題がハイダイナミックレンジ処理で解決するため、HDR分割画像からパノラマ画像を合成するときにも精度良く合成することができる。また、白とびや黒つぶれするような露出値での撮影は行わないことで、撮影時間を大幅に短縮することができる。さらに、予期しない高速移動物体が写り込んだLDR分割画像があってもその画像は削除してHDR分割画像を生成できるので、ノイズにも強い。
【0110】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0111】
上記の説明では、パノラマ画像を球面などの3次元パノラマ空間にマッピングし、指定された視線方向から3次元パノラマ空間を見た場合の3次元パノラマ画像を画面に表示したが、パノラマ画像を単に2次元表示するだけでもよい。この場合、マッピング処理部14および3次元画像生成部16の構成は不要であり、パノラマ画像表示装置100を簡素化できる。
【0112】
パノラマ画像は図3のような全方位撮影システムで撮影されたものに限らず、魚眼レンズを用いて撮影された画像や、撮影方向を変えながら通常のデジタルカメラで撮影された複数の画像を合成した画像であってもよい。
【0113】
パノラマ画像表示装置100の機能構成の内、主にHDR合成、トーンマッピング処理、コントロールポイント検出、パノラマ画像合成、画像符号化の処理に係る構成をサーバに実装し、主にパノラマ画像を復号して再生する処理に係る構成をクライアントに実装することで、パノラマ画像表示装置100を、ネットワークを介したサーバ−クライアントシステムとして実現することもできる。サーバが、LDR分割画像からHDR/LDRパノラマ画像を生成して符号化し、クライアントが、サーバからパノラマ画像の符号化ストリームを受信し、復号して表示してもよい。
【符号の説明】
【0114】
10 パノラマ画像取得部、 12 画像復号部、 14 マッピング処理部、 16 3次元画像生成部、 18 表示制御部、 20 HDR合成部、 21 トーンマッピング部、 22 コントロールポイント検出部、 23 パノラマ画像合成部、 24 パノラマ画像・付加データ記憶部、 25 画像符号化部、 26 LDR画像データ記憶部26、 30 視点位置設定部、 31 画角設定部、 32 視線方向設定部、 34 高度設定部、 36 日時設定部、 40 ユーザインタフェース部、 100 パノラマ画像表示装置、 200 カメラ。
【技術分野】
【0001】
この発明は、パノラマ画像を生成する装置および方法に関する。
【背景技術】
【0002】
デジタルスチルカメラやデジタルビデオカメラが普及しており、撮影した静止画や動画をコンピュータに保存して閲覧、加工したり、ゲーム機やテレビジョン(TV)システムの画面に表示する機会が多くなっている。また、撮影した動画をインターネットの投稿サイトにアップロードし、他のユーザと動画を共有することも盛んである。
【0003】
デジタルカメラの中には、パノラマ画像の撮影が可能なものもあり、手軽に視野角の広いパノラマ画像を撮影することができるようになってきた。また、撮影方向を変えながら、デジタルカメラの撮影した複数の画像を貼り合わせることでパノラマ画像を生成するソフトウエアツールもよく利用されている。
【0004】
ユーザが撮影したこのようなパノラマ画像の投稿を受け付け、インターネットで公開する360citiesというサイト(http;//www.360cities.net)もあり、世界中のユーザが投稿したパノラマ画像を閲覧することができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
パノラマ画像は全天球の画像であるため、屋外で撮影すると、太陽が写り込んだり、街灯が写り込むため、明るい部分と暗い部分の差が大きく、ダイナミックレンジが非常に広くなる。そのため、特定の対象物に露出を合わせてパノラマ画像を撮影すると、明るい部分は「白とび」が生じ、暗い部分は「黒つぶれ」が生じることがある。「白とび」とは、強い光が当たった部分が真っ白になることであり、「黒つぶれ」とは、光がほとんど当たっていない暗い部分が真っ黒になることである。
【0006】
通常の写真撮影では、白とびや黒つぶれが生じないように被写体を適正露出のもとで撮影するか、視野内に強い光が入らないように調整するが、全方位を撮影するパノラマ画像の撮影では、特定の被写体に合わせて適正露出を決めるわけにはいかない。そこで、パノラマ画像を生成する際、たとえば、ハイダイナミックレンジ合成の手法を採用して、露出を変えつつ複数枚の低ダイナミックレンジの写真を撮影し、それらを合成することで白とびや黒つぶれのない高ダイナミックレンジを持つ画像を生成することが必要である。しかし、ハイダイナミックレンジ合成は、高価なカメラが必要であったり、撮影時間や処理時間がかかるという問題があった。
【0007】
本発明はこうした課題に鑑みてなされたものであり、その目的は、白とびや黒つぶれのないパノラマ画像を効率良く生成することのできる技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様のパノラマ画像生成装置は、パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶部と、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成するハイダイナミックレンジ合成部と、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成するパノラマ画像合成部とを含む。
【0009】
本発明の別の態様は、パノラマ画像生成方法である。この方法は、パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶デバイスからプロセッサが複数の低ダイナミックレンジ画像集合を読み出すステップと、プロセッサが、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成するステップと、プロセッサが、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成するステップとを含む。
【0010】
本発明のさらに別の態様は、プログラムである。このプログラムは、パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶デバイスから複数の低ダイナミックレンジ画像集合を読み出す機能と、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成する機能と、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像のダイナミックレンジをトーンマッピングにより圧縮することにより、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像を生成する機能と、高ダイナミックレンジのパノラマ画像を生成する場合は、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成し、低ダイナミックレンジのパノラマ画像を生成する場合は、トーンマッピングにより生成された、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像の内、隣接する分割画像をつなぎ合わせて、低ダイナミックレンジのパノラマ画像を生成する機能とをコンピュータに実現させる。
【0011】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0012】
本発明によれば、白とびや黒つぶれのないパノラマ画像を効率良く生成することができる。
【図面の簡単な説明】
【0013】
【図1】実施の形態に係るパノラマ画像表示装置の構成図である。
【図2】図1のパノラマ画像表示装置に接続される入力デバイスの一例であるコントローラの構成図である。
【図3】図3(a)〜(d)は、パノラマ画像を撮影するために用いられる全方位撮影システムの機構と撮影方向を説明する図である。
【図4】図4(a)はカメラの方位角θ、図4(b)はカメラの仰角φを説明する図である。
【図5】図5(a)〜(c)は、カメラの初期位置が方位角θの方向にある場合に撮影されるパノラマ画像を説明する図である。
【図6】図6(a)〜(c)は、カメラの仰角φ=60°の場合に撮影されるパノラマ画像を説明する図である。
【図7A】複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
【図7B】複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
【図8】図1のパノラマ画像表示装置によるパノラマ画像生成手順を説明するフローチャートである。
【図9】図9(a)、(b)は、2つの隣接する分割画像間で検出されたコントロールポイントを示す図である。
【図10】2つの隣接する分割画像をコントロールポイントにもとづいてアライメントして合成する様子を示す図である。
【図11】図11(a)、(b)は、パノラマ画像の両端を重複させた拡張パノラマ画像を説明する図である。
【図12】低ダイナミックレンジの分割画像から高ダイナミックレンジのパノラマ画像を生成する従来手法を説明する図である。
【図13】低ダイナミックレンジの分割画像から高ダイナミックレンジのパノラマ画像を生成する本実施の形態の手法を説明する図である。
【図14】低ダイナミックレンジの分割画像から低ダイナミックレンジのパノラマ画像を生成する本実施の形態の手法を説明する図である。
【発明を実施するための形態】
【0014】
本発明の実施の形態の概要を説明する。本実施の形態では、露出の異なる低ダイナミックレンジの分割画像に対してハイダイナミックレンジ合成を行って、いったん高ダイナミックレンジの分割画像を生成してから、分割画像をつなぎ合わせてパノラマ画像を生成する。
【0015】
図1は、実施の形態に係るパノラマ画像表示装置100の構成図である。図1に示すパノラマ画像表示装置100の機能構成は、一例として、パーソナルコンピュータ、ゲーム機、携帯機器、携帯端末などにハードウェア、ソフトウェアまたはその組み合わせによって実装することができる。これらの機能構成の一部がサーバに実装され、一部がクライアントに実装され、パノラマ画像表示装置100は、ネットワークを介してサーバ−クライアントシステムとして実現されてもよい。
【0016】
パノラマ画像表示装置100のHDR合成部20、トーンマッピング部21、コントロールポイント検出部22、パノラマ画像合成部23、画像符号化部25、およびLDR画像データ記憶部26は、実施の形態に係るパノラマ画像生成装置を構成する。パノラマ画像生成装置のこれらの機能構成は、パノラマ画像表示装置100とは別のコンピュータ、ゲーム機、携帯機器、携帯端末に実装され、ネットワークや接続ケーブルなどでパノラマ画像表示装置100と接続されてもよい。また、パノラマ画像生成装置の機能構成は、デジタルカメラのCPUやメモリを用いて実装されてもよい。
【0017】
LDR画像データ記憶部26は、カメラをパンまたはチルトして撮影された複数の低ダイナミックレンジ(LDR;low dynamic range)の分割画像を含むLDR画像集合を保持する。LDR画像データ記憶部26には、露出の異なる複数のLDR画像集合が保持されている。パン角とチルト角の異なる分割画像をつなぎ合わせるとパノラマ画像が得られるが、隣接する分割画像のつなぎ目に当たる領域は合成しやすいように重複して撮影されている。LDR画像集合は、撮影すべきパン角またはチルト角に対応させた複数のカメラを用いて撮影されたものであってもよい。ここでは、一つのカメラをパンまたはチルトして撮影した分割画像であっても、撮影すべきパン角またはチルト角に対応させた複数のカメラを用いて撮影された分割画像であっても、単に「パン角またはチルト角の異なる分割画像」と呼ぶ。
【0018】
HDR合成部20は、LDR画像データ記憶部26から露出の異なる複数のLDR画像集合を読み出し、分割画像が撮影されたパン角およびチルト角の組み合わせのそれぞれについて、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジ(HDR;high dynamic range)の分割画像を生成する。
【0019】
トーンマッピング部21は、低ダイナミックレンジのパノラマ画像を生成する場合に動作する構成であり、高ダイナミックレンジのパノラマ画像を生成する場合は動作しない。
【0020】
まず、高ダイナミックレンジのパノラマ画像を生成する場合を説明する。
【0021】
HDR合成部20は、生成されたパン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像をコントロールポイント検出部22に供給する。コントロールポイント検出部22は、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像の内、隣接する分割画像の間で特徴点を抽出することにより、隣接する高ダイナミックレンジの分割画像を対応付けるためのコントロールポイントを検出する。
【0022】
特徴点抽出処理には画像マッチングで用いられる公知の技術を用いることができる。特徴点抽出処理が終わると、抽出された特徴点の中から、隣接する分割画像を対応づけるのに適したコントロールポイントを選択する。特徴点は多数抽出されるが、コントロールポイントとしては、隣接する分割画像のつなぎ目領域全体に偏りなく分散していることが望ましい。コントロールポイントがつなぎ目領域全体に分散していれば、隣接する分割画像を高い精度でアライメントすることが可能になる。
【0023】
パノラマ画像合成部23は、検出されたコントロールポイントにもとづいて隣接する高ダイナミックレンジの分割画像のアライメントを調整して合成することにより、高ダイナミックレンジのパノラマ画像を生成する。具体的には隣接する分割画像間で対応するコントロールポイントができるだけ一致するように、言い換えれば、隣接する分割画像間の対応するコントロールポイントのずれの総和が最小になるように、分割画像を回転させて合成する。
【0024】
次に、低ダイナミックレンジのパノラマ画像を生成する場合を説明する。
【0025】
低ダイナミックレンジのパノラマ画像を生成する場合は、トーンマッピング部21が動作する。HDR合成部20は、生成されたパン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像をトーンマッピング部21に供給する。トーンマッピング部21は、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像のダイナミックレンジをトーンマッピングにより圧縮することにより、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像を生成する。
【0026】
コントロールポイント検出部22は、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像の内、隣接する分割画像の間で特徴点を抽出することにより、隣接するダイナミックレンジ圧縮された分割画像を対応付けるためのコントロールポイントを検出する。
【0027】
パノラマ画像合成部23は、検出されたコントロールポイントにもとづいて隣接するダイナミックレンジ圧縮された分割画像のアライメントを調整して合成することにより、低ダイナミックレンジのパノラマ画像を生成する。
【0028】
画像符号化部25は、パノラマ画像合成部23により合成された高ダイナミックレンジまたは低ダイナミックレンジのパノラマ画像を符号化する。このとき、パノラマ画像の左端には右端の領域の一部を付加し、右端には左端の領域の一部を付加した拡張パノラマ画像に対して圧縮符号化する。パノラマ画像が動画像である場合は、画像符号化部25は、拡張パノラマ画像に対して、マクロブロック単位で動き補償予測して圧縮符号化する。画像符号化部25は、符号化されたパノラマ画像をパノラマ画像・付加データ記憶部24に記憶する。
【0029】
パノラマ画像・付加データ記憶部24は、撮影場所に関する情報と撮影方位に関する情報が関連付けられたパノラマ画像を保持する。撮影場所や撮影方位に関する情報などの付加データはパノラマ画像のデータファイルに直接付加されてもよく、付加データはパノラマ画像とは別のファイルとして管理されてもよい。
【0030】
撮影場所に関する情報は、たとえば、GPS(Global Positioning System)により与えられる緯度・経度情報を含む。撮影方位に関する情報は、たとえば、方位センサなどから得られるパノラマ画像の中心点の方位角の情報を含み、それ以外に撮影時のカメラの仰角やロール角の情報を含んでもよい。
【0031】
撮影方位に関する情報としてパノラマ画像の中心点の方位角が与えられれば、カメラを左右方向にパンした角度にもとづいて、パノラマ画像の任意の点の方位を計算上、求めることができる。パノラマ画像の中心点の方位角とパン角にもとづいて計算された、パノラマ画像の真北、真南、真東、真西の方位にあるピクセルの座標値を撮影方位に関する情報としてパノラマ画像にもたせてもよい。
【0032】
パノラマ画像取得部10は、表示対象のパノラマ画像をパノラマ画像・付加データ記憶部24から取得する。表示対象のパノラマ画像は、たとえば、ユーザが地図などで撮影場所を指定することで特定される。
【0033】
画像復号部12は、パノラマ画像取得部10により取得された拡張パノラマ画像を復号し、拡張パノラマ画像の両端の重複した領域をトリミングし、再生されたパノラマ画像をマッピング処理部14に供給する。パノラマ画像取得部10により取得された拡張パノラマ画像が動き補償予測により符号化された動画像である場合、画像復号部12は、動画像を復号し、両端の重複した領域をトリミングし、再生された動画像のフレームをマッピング処理部14に供給する。
【0034】
マッピング処理部14は、パノラマ画像をテクスチャとして3次元パノラマ空間にマッピングする処理を行う。
【0035】
全天球パノラマ画像の場合は、3次元パノラマ空間として球を想定し、球面マッピングにより、パノラマ画像を球面にテクスチャマッピングする。あるいは、3次元パノラマ空間として立方体を想定し、キューブマッピングにより、パノラマ画像を立方体表面にテクスチャマッピングしてもよい。また、パノラマ画像がチルト方向の成分をもたず、パン方向にのみ広がる画像である場合、3次元パノラマ空間として円柱を想定し、パノラマ画像を円柱面にテクスチャマッピングしてもよい。パノラマ画像がパン方向の成分をもたず、チルト方向にのみ広がる画像である場合も同様である。
【0036】
3次元画像生成部16は、マッピング処理部14によりパノラマ画像がマッピングされた3次元パノラマ空間内を指定された視線方向に見たときの3次元パノラマ画像を生成する。3次元パノラマ空間が球の場合、視点は球の中心に置かれ、立方体の場合、視点は立方体内部の中心に置かれ、円柱の場合、視点は円柱の中心軸上に置かれる。視点は表示対象のパノラマ画像を撮影した場所であり、視線方向は、その撮影場所から周囲を見る方向であり、方位角と仰角で特定される。3次元画像生成部16は、方位角と仰角で特定される視線方向で3次元パノラマ空間を見たときの3次元画像を生成する。
【0037】
表示制御部18は、生成された3次元パノラマ画像をディスプレイ装置の画面に表示させる。
【0038】
ユーザインタフェース部40は、ディスプレイの画面に表示されるグラフィックスに対して、ユーザが入力デバイスを用いて操作することを可能にするグラフィカルユーザインタフェースである。ユーザインタフェース部40は、画面に表示された地図や3次元パノラマ画像に対するゲーム機のコントローラ、マウス、キーボードなどの入力デバイスからユーザの指示を受け付ける。図2は、入力デバイスの一例であるコントローラ102を示し、その構成の詳細については後述する。
【0039】
ユーザインタフェース部40は、指定されたパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。
【0040】
ユーザは、たとえば、コントローラ102のアナログスティック118または方向キー群116などを操作することにより、3次元パノラマ空間を見る視線方向を変更する指示を入力することができる。ユーザインタフェース部40の視線方向設定部32は、ユーザが指示する視線方向を3次元画像生成部16に与える。3次元画像生成部16は、3次元パノラマ空間を指定された視線方向から見た場合の画像を生成する。
【0041】
画角設定部31は、ユーザが表示されたパノラマ画像に対してズーム操作をしたときの画角を設定し、パノラマ画像取得部10と3次元画像生成部16に設定された画角の情報を与える。画角の異なるパノラマ画像がパノラマ画像・付加データ記憶部24に記憶されている場合、パノラマ画像取得部10は、設定された画角にもっとも近い画角のパノラマ画像を読み出し、表示対象のパノラマ画像を切り替える。3次元画像生成部16は、設定された画角に応じて3次元パノラマ画像を拡大・縮小することで、ズームイン・ズームアウトの視覚効果を実現する。
【0042】
パノラマ画像には、撮影高度に関する情報も付与されており、パノラマ画像・付加データ記憶部24は、同一の撮影位置に対して異なる高度で撮影されたパノラマ画像を保持してもよい。その場合、ユーザは、たとえば、コントローラ102の筐体前面の左側にあるL1/L2ボタン161、162を操作することにより、高度を変更する指示を入力することができる。L1ボタン161を押すことにより、高度を上げる指示を、L2ボタン162を押すことにより、高度を下げる指示を与えることができる。
【0043】
表示制御部18は、現在表示されているパノラマ画像について、同一撮影場所で異なる高度で撮影したパノラマ画像があることを、たとえば、画面の上部、下部に小さな矢印を示すことでユーザに知らせてもよい。画面の上部に上向きの矢印があれば、現在よりも撮影高度の高い画像があることを示し、画面の下部に下向きの矢印があれば、現在よりも撮影高度の低い画像があることを示す。
【0044】
ユーザインタフェース部40の高度設定部34は、ユーザから高度を変更する指示を受け取ると、同一撮影位置であるが、指定された高度に対応するパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。パノラマ画像取得部10は、L1ボタン161が押された場合は、現在表示されているパノラマ画像よりも撮影高度のより高いパノラマ画像を取得し、L2ボタン162が押された場合は、撮影高度のより低いパノラマ画像を取得する。
【0045】
表示制御部18は、撮影高度の異なるパノラマ画像に切り替えて表示する際、たとえば、ユーザがエレベータで上下しているかのような感覚を与えるために、特別なエフェクトを画像に施してもよい。たとえば、より高度の高いパノラマ画像に切り替える場合、現在表示されているパノラマ画像を下にスクロールさせて、より高度の高いパノラマ画像が上から降りてくるように表示させることで、ユーザはあたかも階上に行ったかのような感覚をもつことができる。
【0046】
パノラマ画像には、撮影日時に関する情報も付与されており、パノラマ画像・付加データ記憶部24は、同一の撮影位置に対して撮影日時の異なるパノラマ画像を保持してもよい。その場合、ユーザは、たとえば、コントローラ102の筐体前面の右側にあるR1/R2ボタン151、152を操作することにより、撮影日時を変更する指示を入力することができる。R1ボタン151を押すことにより、遅い日時にシフトする指示を、R2ボタン152を押すことにより、早い日時にシフトする指示を与えることができる。
【0047】
表示制御部18は、現在表示されているパノラマ画像について、異なる日時に撮影したパノラマ画像があることを、たとえば、時計やカレンダーのアイコンを画面の隅に示すことでユーザに知らせてもよい。朝、昼、夜など時間帯の異なるパノラマ画像が存在するときは時計のアイコンを、春、夏、秋、冬など季節の異なるパノラマ画像が存在するときはカレンダーのアイコンを表示する。
【0048】
ユーザインタフェース部40の日時設定部36は、ユーザから日時を変更する指示を受け取った場合、同一撮影位置であるが、指定された日時に対応するパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。パノラマ画像取得部10は、R1ボタン151が押された場合は、現在表示されているパノラマ画像よりも撮影日時のより遅いパノラマ画像を取得し、R2ボタン152が押された場合は、撮影日時のより早いパノラマ画像を取得する。
【0049】
これにより、たとえば、同一撮影場所であっても、朝の時間帯に撮影されたパノラマ画像から夜の時間帯にパノラマ画像に切り替えたり、春に撮影されたパノラマ画像から秋に撮影されたパノラマ画像に切り替えるなど、時間帯や季節などが異なるパノラマ画像に切り替えることができる。表示制御部18は、パノラマ画像を切り替えるとき、フェイドイン・フェイドアウトなどのエフェクトを画像に施してもよい。
【0050】
視点位置設定部30は、パノラマ画像の撮影場所を視点位置に設定し、視点位置を3次元画像生成部16に通知する。視線方向設定部32は、指定された視線方向を3次元画像生成部16に与える。
【0051】
図2は、図1のパノラマ画像表示装置100に接続される入力デバイスの一例であるコントローラ102の構成図である。パノラマ画像表示装置100は、一例としてゲーム機であってもよい。
【0052】
コントローラ102は、パノラマ画像表示装置100に対する操作入力を行うための複数のボタンやキーを有する。ユーザがコントローラ102のボタンやキーを操作すると、その操作入力が無線または有線によりパノラマ画像表示装置100に送信される。
【0053】
コントローラ102の筐体上面122には、方向キー群116、アナログスティック118、操作ボタン群120が設けられている。方向キー群116は、「上」、「下」、「左」、「右」方向指示キーを含む。操作ボタン群120は、○ボタン124、×ボタン126、□ボタン128、および△ボタン130を含む。
【0054】
ユーザは左手で左側把持部134bを把持し、右手で右側把持部134aを把持して、筐体上面122上の方向キー群116、アナログスティック118、および操作ボタン群120を操作する。
【0055】
さらに、コントローラ102の筐体前面には、右側操作部150と左側操作部160が設けられている。右側操作部150はR1ボタン151とR2ボタン152を含み、左側操作部160はL1ボタン161とL2ボタン162を含む。
【0056】
ユーザは、方向キー群116を操作することにより、画面上の表示されたポインタを上下左右の各方向に移動させることができる。たとえば、パノラマ画像内に表示された複数のマーカーのいずれかを選択する際、方向キー群116を操作して画面上で複数のマーカー間を移動することができる。ユーザは所望のマーカー上にポインタが来たときに、○ボタン124を押すことでそのマーカーを選択することができる。
【0057】
操作ボタン群120の各ボタンには、パノラマ画像表示アプリケーションプログラムによりそれぞれ異なる機能が割り付けられてもよい。たとえば、△ボタン130にはメニューの表示を指定する機能、×ボタン126には、選択した項目の取り消し等を指定する機能、○ボタン124には選択した項目の決定等を指定する機能、□ボタン128には、目次等の表示/非表示を指定する機能がそれぞれ割り付けられる。
【0058】
アナログスティック118は、ユーザによって傾倒操作されたとき、アナログ値を出力する手段を備える。コントローラ102は、アナログスティック118を傾倒したときの方向と量に応じたアナログ出力信号をパノラマ画像表示装置100に送る。たとえば、ユーザは、アナログスティック118を所望の方向に傾倒することで、ディスプレイに表示された3次元パノラマ画像内で視点を所望の方向に移動させることができる。
【0059】
筐体上面122には、さらにLED付きボタン136、セレクトボタン140、スタートボタン138が設けられる。LED付きボタン136は、たとえば、ディスプレイにメニュー画面を表示させるためのボタンとして利用される。スタートボタン138は、パノラマ画像表示アプリケーションの起動、パノラマ画像の再生開始、一時停止などをユーザが指示するためのボタンである。セレクトボタン140は、ディスプレイに表示されたメニュー表示の選択等をユーザが指示するためのボタンである。
【0060】
図3(a)〜(d)は、パノラマ画像を撮影するために用いられる全方位撮影システム230の機構と撮影方向を説明する図である。
【0061】
図3(d)に示すように、全方位撮影システム230において、カメラ200は操作盤210に固定されており、操作盤210をZ軸周りに回転させることでカメラのパン角を変え、X軸周りに回転させることでカメラのチルト角を変え、Y軸周りに回転させることでカメラのロール角を変えることができる。ここでZ軸は鉛直軸(重力方向軸)である。
【0062】
図3(a)は、操作盤210に設置されたカメラ200の上面図であり、操作盤の初期位置(Y軸方向)をパン角0°とし、Z軸の周りに−180°〜+180°の範囲でパン角を変えることができる。
【0063】
図3(b)は、操作盤210に設置されたカメラ200の正面図であり、操作盤210が水平に置かれた状態をロール角0°とし、Y軸の周りに−180°〜+180°の範囲でロール角を変えることができる。
【0064】
図3(c)は、操作盤210に設置されたカメラ200の側面図であり、操作盤210が水平に置かれた状態をチルト角0°とし、X軸の周りに−90°〜+90°の範囲でチルト角を変えることができる。
【0065】
図3(d)の全方位撮影システム230により撮影されるパノラマ画像に撮影方位に関する情報を付与するためには、カメラ200が撮影時にどの方位に向いていたかを記録しておく必要がある。そのために、全方位撮影システム230は、方位を測定するための方位センサや傾斜角を測定するための加速度センサなどを備える。さらに、撮影位置や撮影時間を測定するためにGPSセンサなども備える。
【0066】
図4(a)はカメラ200の方位角θ、図4(b)はカメラ200の仰角φを説明する図である。図4(a)はカメラ200の上面図であり、カメラ200は撮影の初期位置において、真北から東へ方位角θだけずれた方向220を向いており、この方向がパン角0°に相当する。すなわちパン角の基準方向220の方位角はθである。パノラマ画像を撮影するとき、この方位角θの基準方向220に対して−180°〜+180°の範囲でパン角を変えながら、被写体をパノラマ撮影する。
【0067】
図4(b)はカメラ200の側面図であり、仰角φは、X軸周りにカメラ200を回転させた場合に、チルト0°の方向、すなわちY軸方向に対して上方向を正と定義する角度である。通常、カメラ200を水平ポジションに設定して撮影するので仰角φ=0°であるが、全天球のパノラマ画像を撮影するには、カメラをチルトさせて仰角φを変えて被写体を撮影する必要がある。
【0068】
図5(a)〜(c)は、カメラ200の初期位置が方位角θの方向にある場合に撮影されるパノラマ画像を説明する図である。
【0069】
図5(a)の上面図に示すように、初期位置においてカメラ200は方位角θの方向220を向いており、図5(b)の側面図に示すように、カメラ200の仰角φ=0°である。仰角φ=0°に保ちながら、基準方向220に対してカメラ200のパン角を−180°から+180°の範囲で変化させながら、仰角φ=0°における全方位のパノラマ画像を撮影する。図5(c)は、このようにして撮影されたパノラマ画像300を示す。パノラマ画像300の中心はパン角0°であり、パノラマ画像300の左半分はパン角を0°から−180°まで変えて撮影された画像であり、右半分はパン角を0°から180°まで変えて撮影された画像である。
【0070】
パノラマ画像300のパン角0°の中心位置は、真北から方位角θだけ東にずれているから、北(N)、南(S)、東(E)、西(W)の位置は点線で示す箇所になる。パノラマ画像300は、撮影方位に関する情報として、パン角0°の中心位置の方位角θをもってさえいれば、北(N)、南(S)、東(E)、西(W)のピクセル位置は、方位角θのずれを考慮して計算で求めることができる。あるいは、方位角θの代わりに、北(N)、南(S)、東(E)、西(W)のピクセル位置の座標値を撮影方位に関する情報としてもうようにしてもよい。
【0071】
全天球のパノラマ画像を得るためには、カメラ200の仰角を変えて撮影する必要がある。たとえば、カメラ200の画角が60°であるとすると、原理的にはカメラ200を上下に±60°チルトさせた上で、パン角を−180°〜180°の範囲で変えながら同様の撮影を行えば、全天球のパノラマ画像を得ることができる。
【0072】
図6(a)〜(c)は、カメラ200の仰角φ=60°の場合に撮影されるパノラマ画像を説明する図である。図6(a)の上面図に示すように、初期位置においてカメラ200は方位角θの方向220を向いており、図6(b)の側面図に示すように、カメラ200の仰角φ=60°である。仰角φ=60°に保ちながら、基準方向220に対してカメラ200のパン角を−180°から+180°の範囲で変化させながら、図6(c)に示すような、仰角φ=60°におけるパノラマ画像302を撮影する。
【0073】
同様にして、カメラ200の仰角をφ=−60°に保ちながら、パン角を−180°から+180°の範囲で変化させながら、仰角φ=−60°におけるパノラマ画像を撮影する。仰角φ=0°、60°、−60°のパノラマ画像を組み合わせれば、全天球パノラマ画像が得られる。もっとも、実装上は、画角の境界部分で画像を貼り合わせる際にレンズの歪みから生じる不整合を補正するために、境界付近をだぶらせて撮影する方法を採ることが多い。
【0074】
このようにして得られた全天球パノラマ画像には、方位角および仰角の情報が付与されており、その情報にもとづいてパノラマ画像の任意のピクセルについて方位と仰角を特定可能である。また、パノラマ画像には撮影場所の位置情報としてGPSにより測定された緯度・経度情報も付与される。パノラマ画像に付与すべき付加情報は、一例として、Exif(Exchangeable Image File Format)と呼ばれる画像ファイルの規格にしたがって記録してもよい。撮影場所の地名はファイル名の一部に記録し、撮影日時、撮影場所の緯度・経度、高度、方位角などをExif形式のデータとして記録することができる。仰角はExif形式では定義されていないが、拡張データとして記録する。
【0075】
図7Aおよび図7Bは、複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
【0076】
図7Aの例では、カメラ200をチルト(またはパン)させながら撮影された7枚の画像341〜347を円筒にマッピングした後、つなぎ合わせて円筒状の画像340を作成する。画像をつなぎ合わせるとき、画像の境界付近をオーバーラップさせる。
【0077】
図7Bに示すように、カメラ200をパン(またはチルト)させて撮影することで、図7Aで示した円筒状の画像がパン(またはチルト)方向に複数得られる。これらの円筒状の画像340a〜340fを画像の境界付近をオーバーラップさせて合成することで、全方位のパノラマ画像360が最終的に得られる。
【0078】
図8は、パノラマ画像表示装置100によるパノラマ画像生成手順を説明するフローチャートである。図9(a)、(b)〜図11(a)、(b)を参照しながら、図8のパノラマ画像生成手順の各ステップを説明する。図8に示すフローチャートにおいては、各部の処理手順を、ステップを意味するS(Stepの頭文字)と数字との組み合わせによって表示する。また、Sと数字との組み合わせによって表示した処理で何らかの判断処理が実行され、その判断結果が肯定的であった場合は、Y(Yesの頭文字)を付加して、例えば、(S14のY)と表示し、逆にその判断結果が否定的であった場合は、N(Noの頭文字)を付加して、(S14のN)と表示する。
【0079】
露出の異なる複数のLDR画像集合を入力する(S10)。各LDR画像集合は、パン角およびチルト角の少なくとも一方の異なる複数の低ダイナミックレンジの分割画像を含む。
【0080】
HDR合成部20は、分割画像が撮影されたパン角およびチルト角の組み合わせのそれぞれについて、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を生成する(S12)。ハイダイナミックレンジ合成には、公知の技術を用いる。露出の異なる複数枚のLDR画像から明らかに黒つぶれや白とびのあるセグメントを除いた領域を選択して合成することですべての領域にわたって黒つぶれや白とびのないHDR画像を生成する。
【0081】
出力画像フォーマットがLDRパノラマ画像である場合(S14のY)、ステップS16のトーンマッピング処理を実行する。トーンマッピング部21は、HDR合成部20が生成した高ダイナミックレンジの分割画像に対してトーンマッピング処理を施してダイナミックレンジを圧縮することで、ダイナミックレンジ圧縮された分割画像に変換する。トーンマッピング処理の手法として、たとえば、画像全体のコントラストを下げる方法や、人間の視覚特性を模倣して非線形に変換する方法がある。ステップS16のトーンマッピング処理が終わると、ステップS18に進む。
【0082】
出力画像フォーマットがHDRパノラマ画像である場合(S14のN)、ステップS16のトーンマッピング処理をスキップし、ステップS18に進む。
【0083】
コントロールポイント検出部22は、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像/高ダイナミックレンジの分割画像の内、隣接する分割画像の間で特徴点を抽出することにより、隣接する分割画像を対応付けるためのコントロールポイントを検出する(S18)。
【0084】
図9(a),(b)は、2つの隣接する分割画像401、402間で検出されたコントロールポイントを示す図である。ここでは、9個のコントロールポイントが検出されている。
【0085】
パノラマ画像合成部23は、検出されたコントロールポイントにもとづいて隣接するダイナミックレンジ圧縮された分割画像/高ダイナミックレンジの分割画像のアライメントを調整して合成することにより、LDR/HDRのパノラマ画像を生成する(S20)。
【0086】
図10は、2つの隣接する分割画像401、402をコントロールポイントにもとづいてアライメントして合成する様子を示す図である。隣接する分割画像401、402の重複領域において、両画像のコントロールポイント(同図で丸印で示した)ができるだけ合うように、一方の分割画像401に対して他方の分割画像402を回転させて合成する。
【0087】
画像符号化部25は、パノラマ画像合成部23により合成されたLDR/HDRのパノラマ画像を符号化する(S22)。このとき、パノラマ画像の左端には右端の領域の一部を付加し、右端には左端の領域の一部を付加した拡張パノラマ画像に対して、圧縮符号化することで、ブロックノイズを軽減する。パノラマ画像が動画像である場合、画像符号化部25は、拡張パノラマ画像に対してマクロブロック単位で動き補償予測して圧縮符号化することで、パノラマ画像の両端の境界線をまたいだ動きがある場合でも、ブロックノイズを抑えた動き補償予測ができる。
【0088】
図11(a)、(b)は、パノラマ画像の両端を重複させた拡張パノラマ画像を説明する図である。図11(a)は、カメラを360度パンさせて撮影されたパノラマ画像500である。パノラマ画像500が動画像である場合、マクロブロック単位で動きベクトルにより周辺領域の画素を参照して予測符号化されるが、パノラマ画像500の右端/左端はそれよりも右側/左側に周辺画素がないため、ブロックノイズが生じる。そのため、パノラマ画像500を全天球に貼り付けたとき、動画再生中につなぎ目に不自然な境界線が現れる。
【0089】
そこで、パノラマ画像500の右端領域502、左端領域504をそれぞれパノラマ画像500の左端、右端にコピーしてパノラマ画像500を拡張する。図11(b)は、拡張パノラマ画像510である。右端領域502、左端領域504がそれぞれパン角20度分の領域である場合、拡張パノラマ画像510は、パン角が400度まで拡張された形になる。この拡張パノラマ画像510に対して、マクロブロック単位で動き補償予測符号化すれば、パノラマ画像500の右端および左端で発生するブロックノイズを最小化することができる。
【0090】
図11(b)の拡張パノラマ画像510に対して動き補償予測符号化が終われば、コピーした右端領域502、左端領域504は削除して、図11(a)のパノラマ画像500に戻す。その後、パノラマ画像500を全天球に貼り付けても、つなぎ目はブロックノイズが最小化されているため、動画再生中でもつなぎ目に境界線は現れなくなる。
【0091】
次に、図12〜図14を参照して、パン角またはチルト角の異なる複数のLDR分割画像からHDR/LDRパノラマ画像を生成する本実施の形態の手法の利点について詳しく説明する。
【0092】
図12は、比較のために、LDR分割画像からHDRパノラマ画像を生成する従来手法を説明する図である。
【0093】
ここでは、パン角またはチルト角の異なる複数のLDR分割画像の集合が露出を変えて3種類用意されている。LDR分割画像集合411、412、413は、それぞれ露出値がEV1、EV2、EV3であり、この順で露出値が低くなる。各LDR分割画像集合411、412、413には、パン角またはチルト角の異なる6枚のLDR分割画像が含まれる。たとえば、パン角を3段階(p1、p2、p3)に変え、チルト角を2段階(t1,t2)に変えて、6枚の分割画像を撮影した場合である。
【0094】
ここでは、説明の便宜上、露出値を3段階だけ設けたが、実装上は、露出段数Nは、8段階程度以上にする必要がある。また、パン方向の撮影枚数PはP=360/(水平画角×0.8)で与えられ、チルト方向の撮影枚数TはT=180/(垂直画角×0.8)で与えられる。チルト方向には、これ以外に天頂、真下に1枚ずつ撮影することもある。係数0.8を掛けるのは、隣接する分割画像に重複領域をもたせるためである。分割画像の総撮影枚数MはN×P×Tで与えられる。
【0095】
従来手法では、露出値EV1のLDR分割画像集合411を合成してLDRパノラマ画像421を生成する。同様に、露出値EV2、EV3のLDR分割画像集合412、413を合成してLDRパノラマ画像422、423を生成する。分割画像を合成してパノラマ画像を生成する際、隣接する分割画像の重複領域でコントロールポイントを検出して、マッチングを取る。
【0096】
このとき、ある露出値のもとで撮影されたLDR分割画像集合内で、一部の分割画像は露出が適正でないために、白とびや黒つぶれが生じている可能性がある。パン角またはチルト角を変えて撮影した分割画像の中には、強い光が写っている部分や極端に暗くなっている部分があるためである。白とびや黒つぶれが生じている分割画像に対しては特徴点抽出が困難になるため、コントロールポイントが設定できないか、設定できてもコントロールポイントの設定場所が偏っていたり、コントロールポイントの数が少なくなる。そのため、隣接する分割画像をうまくつなげることができず、生成されたパノラマ画像は合成の精度が悪く、きれいなものにはならない。
【0097】
次に、露出値EV1のLDRパノラマ画像421、露出値EV2のLDRパノラマ画像422、露出値EV3のLDRパノラマ画像423をハイダイナミックレンジ合成することで、HDRパノラマ画像430を生成する。しかし、LDRパノラマ画像421、422、423の中には、上述のように白とびや黒つぶれのために合成の精度が悪いものが混ざっている可能性があり、最終的に生成されるHDRパノラマ画像430の精度も悪くなることがある。
【0098】
図13は、LDR分割画像からHDRパノラマ画像を生成する本実施の形態の手法を説明する図である。
【0099】
本実施の形態では、露出値の異なるLDR分割画像の集合に対してハイダイナミックレンジ合成を施して、まずHDR分割画像の集合を生成した後、パノラマ画像に合成することでHDRパノラマ画像を生成する。
【0100】
露出値EV1、EV2、EV3のLDR分割画像集合411、412、413をハイダイナミックレンジ合成することで、HDR分割画像集合440を生成する。HDR分割画像集合440には、パン角またはチルト角の異なる6枚のHDR分割画像が含まれる。次に、HDR分割画像集合440を合成してHDRパノラマ画像450を生成する。
【0101】
この方法によれば、たとえば、パン角p1、チルト角t1のLDR分割画像についてみれば、3つの露出値EV1、EV2、EV3のLDR分割画像をハイダイナミックレンジ合成することにより、パン角p1、チルト角t1のHDR分割画像を生成している。そのため、HDR分割画像を生成する時点で、LDR分割画像に発生した白とびや黒つぶれの問題を解消することができる。HDR分割画像集合440を合成してHDRパノラマ画像450を生成する際、6枚のHDR分割画像には白とびや黒つぶれがないため、隣接する分割画像の重複領域から確実に特徴点を抽出して、高い精度でコントロールポイントを検出することができ、合成されるHDRパノラマ画像450はきれいなものになる。
【0102】
図14は、LDR分割画像からLDRパノラマ画像を生成する本実施の形態の手法を説明する図である。図13と異なるのは、露出値EV1、EV2、EV3のLDR分割画像集合411、412、413をハイダイナミックレンジ合成して得られたHDR分割画像集合440に対してトーンマッピング処理を施して、LDR分割画像集合460に変換した上で、LDRパノラマ画像470に合成する点である。この場合も、HDR分割画像集合440を生成する段階で、白とびや黒つぶれの問題がなくなっているため、その後、ダイナミックレンジを下げたLDR分割画像集合460を合成するときに、コントロールポイントが検出できないという問題は発生しない。
【0103】
このように、図12の従来手法に比べて、図13および図14の本実施の形態の手法では、上述のように合成されるパノラマ画像の精度が著しく改善する。本実施の形態のパノラマ画像生成方法には、処理効率その他の面でも利点がある。
【0104】
従来手法では、各露出値のLDR分割画像集合に対して、コントロールポイントの検出処理を行ってLDRパノラマ画像を生成するため、処理時間がかかる。それに対して、本実施の形態の手法では、あらかじめHDR分割画像集合を生成してから、コントロールポイントの検出処理を行ってHDRパノラマ画像を生成するため、露出段数をNとすると、従来手法に比べて処理時間は1/Nに削減される。
【0105】
また、従来手法では、各露出値において複数のLDR分割画像からLDRパノラマ画像を生成するため、総撮影枚数M=露出段数N×パン段数P×チルト段数Tの撮影が必要であり、撮影時間がかかる。さらに、撮影時間が長くなるため、被写体が動いた場合、異なる露出値のLDRパノラマ画像間で被写体の位置がずれてしまい、HDRパノラマ画像に合成したときに被写体がぶれたような画像が生成される。
【0106】
それに対して、本実施の形態の手法では、白とび、黒つぶれしてしまうような露出値の画像は必要ではないので、その露出値での撮影を省いても、十分な精度のHDR分割画像を生成することができる。全天球をスキャンして各撮影方向における適切な露出値をあらかじめ測定したり、光の方向などにもとづいて各撮影方向における適切な露出値を決定して撮影すればよく、すべての露出値について撮影する必要はない。そのため、撮影時間を短縮し、また、HDR合成の処理時間も短縮することができる。
【0107】
さらに、本実施の形態の手法では、撮影時間を短縮できるため、高速に移動する鳥や飛行機などの物体が写り込む可能性を減らすことができる。仮にそのような移動物体が写り込んだLDR分割画像があったとしても、その画像は削除しても、他の露出値で同じ領域を撮影したLDR分割画像があるため、十分な精度でHDR分割画像を生成することができる。
【0108】
以上述べたように、本実施の形態のパノラマ画像表示装置によれば、LDR分割画像から高い精度で効率良くHDR/LDRパノラマ画像を生成することができる。低ダイナミックレンジでパノラマ画像を撮影すると、正面が明るくても、背面が暗い場合には、全方位で適切な露出で撮影できないので、きれいなパノラマ画像を得ることはできなかった。本実施の形態のパノラマ画像生成手法によれば、露出を変えて撮影されたLDR分割画像からいったんHDR分割画像を生成してから、パノラマ画像に合成するため、全方位に対して露出値が適正に調整されたきれいなパノラマ画像を得ることができる。
【0109】
LDR分割画像に生じた白とびや黒つぶれの問題がハイダイナミックレンジ処理で解決するため、HDR分割画像からパノラマ画像を合成するときにも精度良く合成することができる。また、白とびや黒つぶれするような露出値での撮影は行わないことで、撮影時間を大幅に短縮することができる。さらに、予期しない高速移動物体が写り込んだLDR分割画像があってもその画像は削除してHDR分割画像を生成できるので、ノイズにも強い。
【0110】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0111】
上記の説明では、パノラマ画像を球面などの3次元パノラマ空間にマッピングし、指定された視線方向から3次元パノラマ空間を見た場合の3次元パノラマ画像を画面に表示したが、パノラマ画像を単に2次元表示するだけでもよい。この場合、マッピング処理部14および3次元画像生成部16の構成は不要であり、パノラマ画像表示装置100を簡素化できる。
【0112】
パノラマ画像は図3のような全方位撮影システムで撮影されたものに限らず、魚眼レンズを用いて撮影された画像や、撮影方向を変えながら通常のデジタルカメラで撮影された複数の画像を合成した画像であってもよい。
【0113】
パノラマ画像表示装置100の機能構成の内、主にHDR合成、トーンマッピング処理、コントロールポイント検出、パノラマ画像合成、画像符号化の処理に係る構成をサーバに実装し、主にパノラマ画像を復号して再生する処理に係る構成をクライアントに実装することで、パノラマ画像表示装置100を、ネットワークを介したサーバ−クライアントシステムとして実現することもできる。サーバが、LDR分割画像からHDR/LDRパノラマ画像を生成して符号化し、クライアントが、サーバからパノラマ画像の符号化ストリームを受信し、復号して表示してもよい。
【符号の説明】
【0114】
10 パノラマ画像取得部、 12 画像復号部、 14 マッピング処理部、 16 3次元画像生成部、 18 表示制御部、 20 HDR合成部、 21 トーンマッピング部、 22 コントロールポイント検出部、 23 パノラマ画像合成部、 24 パノラマ画像・付加データ記憶部、 25 画像符号化部、 26 LDR画像データ記憶部26、 30 視点位置設定部、 31 画角設定部、 32 視線方向設定部、 34 高度設定部、 36 日時設定部、 40 ユーザインタフェース部、 100 パノラマ画像表示装置、 200 カメラ。
【特許請求の範囲】
【請求項1】
パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶部と、
露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成するハイダイナミックレンジ合成部と、
隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成するパノラマ画像合成部とを含むことを特徴とするパノラマ画像生成装置。
【請求項2】
パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像の内、隣接する分割画像の間で特徴点を抽出することにより、隣接する高ダイナミックレンジの分割画像を対応付けるためのコントロールポイントを検出する検出部をさらに含み、
前記パノラマ画像合成部は、前記コントロールポイントにもとづいて隣接する高ダイナミックレンジの分割画像のアライメントを調整して合成することにより、高ダイナミックレンジのパノラマ画像を生成することを特徴とする請求項1に記載のパノラマ画像生成装置。
【請求項3】
パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像のダイナミックレンジをトーンマッピングにより圧縮することにより、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像を生成するトーンマッピング部をさらに含み、
低ダイナミックレンジのパノラマ画像を生成する場合は、前記パノラマ画像合成部は、前記トーンマッピング部により生成された、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像の内、隣接する分割画像をつなぎ合わせて、低ダイナミックレンジのパノラマ画像を生成することを特徴とする請求項1または2に記載のパノラマ画像生成装置。
【請求項4】
前記パノラマ画像が動画像である場合、前記パノラマ画像合成部により生成されたパノラマ画像の左端には右端の領域の一部を付加し、右端には左端の領域の一部を付加した拡張パノラマ画像に対して、動き補償による画像圧縮符号化を行う画像符号化部をさらに含むことを特徴とする請求項1から3のいずれかに記載のパノラマ画像生成装置。
【請求項5】
パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶デバイスからプロセッサが複数の低ダイナミックレンジ画像集合を読み出すステップと、
プロセッサが、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成するステップと、
プロセッサが、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成するステップとを含むことを特徴とするパノラマ画像生成方法。
【請求項6】
パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶デバイスから複数の低ダイナミックレンジ画像集合を読み出す機能と、
露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成する機能と、
パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像のダイナミックレンジをトーンマッピングにより圧縮することにより、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像を生成する機能と、
高ダイナミックレンジのパノラマ画像を生成する場合は、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成し、低ダイナミックレンジのパノラマ画像を生成する場合は、トーンマッピングにより生成された、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像の内、隣接する分割画像をつなぎ合わせて、低ダイナミックレンジのパノラマ画像を生成する機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項7】
請求項6のプログラムを格納したことを特徴とする記録媒体。
【請求項1】
パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶部と、
露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成するハイダイナミックレンジ合成部と、
隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成するパノラマ画像合成部とを含むことを特徴とするパノラマ画像生成装置。
【請求項2】
パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像の内、隣接する分割画像の間で特徴点を抽出することにより、隣接する高ダイナミックレンジの分割画像を対応付けるためのコントロールポイントを検出する検出部をさらに含み、
前記パノラマ画像合成部は、前記コントロールポイントにもとづいて隣接する高ダイナミックレンジの分割画像のアライメントを調整して合成することにより、高ダイナミックレンジのパノラマ画像を生成することを特徴とする請求項1に記載のパノラマ画像生成装置。
【請求項3】
パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像のダイナミックレンジをトーンマッピングにより圧縮することにより、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像を生成するトーンマッピング部をさらに含み、
低ダイナミックレンジのパノラマ画像を生成する場合は、前記パノラマ画像合成部は、前記トーンマッピング部により生成された、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像の内、隣接する分割画像をつなぎ合わせて、低ダイナミックレンジのパノラマ画像を生成することを特徴とする請求項1または2に記載のパノラマ画像生成装置。
【請求項4】
前記パノラマ画像が動画像である場合、前記パノラマ画像合成部により生成されたパノラマ画像の左端には右端の領域の一部を付加し、右端には左端の領域の一部を付加した拡張パノラマ画像に対して、動き補償による画像圧縮符号化を行う画像符号化部をさらに含むことを特徴とする請求項1から3のいずれかに記載のパノラマ画像生成装置。
【請求項5】
パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶デバイスからプロセッサが複数の低ダイナミックレンジ画像集合を読み出すステップと、
プロセッサが、露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成するステップと、
プロセッサが、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成するステップとを含むことを特徴とするパノラマ画像生成方法。
【請求項6】
パン角またはチルト角の異なる複数の低ダイナミックレンジの分割画像を含む低ダイナミックレンジ画像集合を、露出を異ならせて複数用意して保持する記憶デバイスから複数の低ダイナミックレンジ画像集合を読み出す機能と、
露出の異なる複数の低ダイナミックレンジの分割画像を合成することにより、パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像を含む高ダイナミックレンジ画像集合を生成する機能と、
パン角またはチルト角の異なる複数の高ダイナミックレンジの分割画像のダイナミックレンジをトーンマッピングにより圧縮することにより、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像を生成する機能と、
高ダイナミックレンジのパノラマ画像を生成する場合は、隣接する高ダイナミックレンジの分割画像をつなぎ合わせて、高ダイナミックレンジのパノラマ画像を生成し、低ダイナミックレンジのパノラマ画像を生成する場合は、トーンマッピングにより生成された、パン角またはチルト角の異なる複数のダイナミックレンジ圧縮された分割画像の内、隣接する分割画像をつなぎ合わせて、低ダイナミックレンジのパノラマ画像を生成する機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項7】
請求項6のプログラムを格納したことを特徴とする記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−80432(P2012−80432A)
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願番号】特願2010−225366(P2010−225366)
【出願日】平成22年10月5日(2010.10.5)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願日】平成22年10月5日(2010.10.5)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】
[ Back to top ]