(57)【特許請求の範囲】
【請求項１】
同一の位置からデジタルカメラ等によって異なった方位を撮影した複数の画像を、該デジタルカメラ等のレンズ中心を中心にした球面上に投影して貼り合わせるステップと、該球面上の画像を、該球面上の一点を投影中心として、該球面と交差する投影平面に平射投影するステップと、該投影平面に平射投影された画像のデータを一括してメモリ又は記録媒体に格納するステップとからなる画像保存方法。
【請求項２】
同一の位置からデジタルカメラ等によって異なった方位を撮影した複数の画像を、該デジタルカメラ等のレンズ中心を中心にした球面上に投影して貼り合わせるステップと、該球面の一方の極側の第１の半球面上の画像と、他方の極側の第２の半球面の該第１の半球面と連続した一部分の上の画像とを、該他方の極を投影中心として、該球面の赤道面を含む同じ投影平面の重複しない領域にそれぞれ平射投影し、該投影平面に平射投影された画像のデータを一括してメモリ又は記録媒体に格納するステップとからなることを特徴とする画像保存方法。
【請求項３】
同一の位置からデジタルカメラ等によって異なった方位を撮影した複数の画像を、該デジタルカメラ等のレンズ中心を中心にした球面上に投影して貼り合わせるステップと、該球面の一方の極側の第１の半球面上の画像を、該球面の他方の極を投影中心として、該球面の赤道面を含む第１の投影平面に平射投影し、該球面の該他方の極側の第２の半球面上の画像を、該一方の極を投影中心として、該赤道面を含む第２の投影平面に平射投影するステップと、該第１の投影平面に平射投影された画像のデータを一括してメモリに記憶しかつ該第２の投影平面に平射投影された画像のデータを一括してメモリ又は記録媒体に格納するステップとからなることを特徴とする画像保存方法。
【請求項４】
請求項１、２又は３記載の画像保存方法の各ステップをコンピュータに実行させるためのプログラムを記録したことを特徴とする機械読み取り可能媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子的に表現された画像の処理に係り、特に、デジタルカメラ等で異なった方位を撮影した画像の貼り合わせ合成等の分野に関する。
【０００２】
【従来の技術】
デジタルカメラ等の撮影機器は視野や解像度が限定されているため、より高解像度の画像、広角の画像、パノラマ画像等を得るには、異なった方位を撮影した複数枚の画像を貼り合わせて合成する方法が有効である。
【０００３】
パノラマ画像を例にとると、現在のところ、複数の画像を貼り合わせて得られるのは、単一方向（ある地点から見て天球上の円を描く方向）のパノラマ画像に限られている。このようなパノラマ画像の作成手法の一例を図６により簡単に説明する。
【０００４】
ある地点からデジタルカメラで撮影した画像Ｇの各画素（ａ，ｂ等）を、デジタルカメラのレンズ中心ｃを中心軸とした円筒面３００に投影する。ａ′，ｂ′は画素ａ，ｂの円筒面３００上に投影された点である。デジタルカメラのレンズ中心ｃを固定したまま、デジタルカメラの光軸をＯａ′を含む平面（通常は水平面）に平行に移動させながら、つまり、その方向にデジタルカメラを振りながら、３６０゜のシーンを分割撮影し、各方位で撮影された画像の画素を円筒面３００に投影する。このように複数枚の画像を円筒面３００に投影して貼り合わせることにより、３６０゜のパノラマ画像を合成することができる。このパノラマ画像をディスプレイの画面に表示する場合には、観測したい視線方向と垂直な平面を定義し、この平面上に円筒面３００上の画素を再投影する。画像データの記憶・管理については、複数の画像が投影された円筒面３００を展開した長方形又は正方形に対応したメモリ空間を用意し、ここに円筒面３００上に投影された全ての画素の情報を記憶させることにより、３６０゜のパノラマ画像のデータを一括してメモリに記憶し、効率的に管理することができる。
【０００５】
単一方向のパノラマ画像については、上に述べたような手法によって合成し、また、その画像データを一括して効率的に記憶・管理することができる。しかし、カメラ位置の周りの任意の方位を撮影した複数の画像を貼り合わせて、例えば全天をカバーするような３次元的なパノラマ画像を合成し、またその画像データを一括して効率的に記憶・管理するための実用的な手法は、これまで公知になっていない。
【０００６】
【発明が解決しようとする課題】
上に述べた３次元的なパノラマ画像等の合成に関して、発明者等は、同じ地点からデジタルカメラ等で撮影した複数の画像を、カメラのレンズ中心を中心とした球面上に投影して貼り合わせる手法を既に提案している（特願平９−１６６７３７号）。
【０００７】
この手法を実施する場合、画像データの保存・管理に問題が残されている。すなわち、球面は円筒面のように簡便に展開することができないため、円筒面に投影された画像データのような簡単な方法では、球面上に投影して貼り合わせた画像のデータを一括して効率的に保存・管理することができない。
【０００８】
合成前の個々の画像のデータを別々にメモリに記憶しておき、ある方位について画像を観測したい時に、その方位の視野に含まれる画像を球面に投影して貼り合わせ、それを表示平面に再投影するという方法を採用することも可能である。しかし、表示の都度、画像合成を行うのでは表示までに時間がかかってしまい、短時間内に連続的に方位を変えて画像を観測することは困難である。
【０００９】
高速の画像表示を可能にするために、一定の空間角度間隔の多くの方位について予め画像合成を行い、それぞれの合成画像のデータを別々にメモリに記憶しておき、観測したい方位の合成画像を表示する方法も考えられる。しかし、この方法では、画像データの記憶のために必要なメモリ量が大きいうえに画像データの管理が面倒である。さらに、予め用意されていない方位の画像の表示が困難である。
【００１０】
よって本発明の目的は、上に述べた３次元的パノラマ画像等の少ないメモリ量による効率的な保存・管理及び高速な画像再現を可能にする方法を提供することにある。
【００１１】
【課題を解決するための手段】
本発明は、球面上に投影された画像を、その球面と交差する平面へ平射投影し、その平射投影画像のデータを一括してメモリ又は記録媒体に格納する。
【００１２】
この方法によれば、例えば、デジタルカメラ等で同じ位置から任意の方位を撮影した複数の画像を球面に投影して貼り合わせた３次元的パノラマ画像のデータを一括してメモリ又は記録媒体上に保存し、一つのファイルとして管理することができる。このようにすれば、様々な方位の合成画像を別々のファイルとして保存する方法に比べ、必要なメモリ量は遥かに少なくて済み、また、メモリ又は記録媒体上の画像データの管理も簡単になる。また、メモリ又は記録媒体上の画像（既に合成されたパノラマ画像）を球面に再投影し、その必要な視野部分をさらに表示平面に投影することにより、任意の方位について画像を高速に表示することができる。
【００１３】
【発明の実施の形態】
以下、図面を参照し、本発明の一実施例について詳細に説明する。
【００１４】
図１は本発明の一実施例による処理の概要を示すフローチャートである。図２，図３及び図４は処理の説明のための図である。
【００１５】
まず、初めのステップＳ１において、例えばデジタルカメラで一地点から異なった方位を撮影した複数の画像（要素画像と呼ぶ）を、図２に示すようなデジタルカメラのレンズと撮像面までの距離に等しい半径Ｒを持ちレンズ中心を中心Ｏとした球面１００に投影して貼り合わせ、一つの合成画像を球面１００上に作る。図２において、Ｆ１は球面１００に投影される一つの要素画像であり、ｐはその一つの画素である。Ｎは中心Ｏから見て真上にある球面の極であり、ここでは北極と呼ぶ。Ｓは中心Ｏから見て真下にある球面の極であり、ここでは南極と呼ぶ。１０２は北極Ｎと南極Ｓを結ぶ垂直な線であり、ここでは極軸と呼ぶ。１０４は中心Ｏを通る水平な面であり、ここでは赤道面と呼ぶ。Ｑは画素ｐの投影された点を通る経度線と赤道面１０４との交差点である。線分Ｏｘは経度の基準線であり、例えば東の方位を指す。φは基準線Ｏｘに対し線分ＯＱのなす角度であり、画素ｐの経度と呼ぶ。θは中心Ｏから画素ｐを望む視線と極軸１０２とのなす角度である。一般的には、赤道面からの仰角を緯度というが、ここでは極軸１０２との角度θを画素ｐの緯度と呼ぶ。つまり、θ＝９０゜−［一般的な意味の緯度］である。
【００１６】
このステップＳ１では、具体的には例えば以下のような座標演算を行う。デジタルカメラにより撮影された要素画像の各画素の位置は、その光軸（通常は中心）を原点とした直交座標系で表されるのが一般的である。そこで、まず、（１）式により、要素画像の各画素の座標（ｉ，ｊ）を方位角座標（φx′，φy′）に一旦変換する。ただし、（１）式において、Ｒは要素画像を撮影したデジタルカメラのレンズと撮像面の距離、つまり球面１００の半径である。次に、（２）式により、要素画像の各画素の方位角座標を、統一された基準座標系の方位角座標（φ，θ）に変換する。（２）式において、φとθは図２に関連して説明した経度と緯度である。また、（２）式中のＡは２つの座標系間の変換マトリックスである。このような座標変換マトリックスは、例えば前記特願平９−１６６７３７号の明細書に詳述されているように、隣り合う要素画像のオーバーラップ領域の対応点間の相対的位置関係に基づいて導出することができる。座標変換マトリックスＡを求めるため、要素画像は隣接したもの同士が部分的にオーバーラップするように撮影される。
【００１７】
次のステップＳ２において、球面１００に投影され貼り合わされた画像を、赤道面１０４を含む平面１０６（図３）に平射投影する。この平射投影は、具体的には、球面１００上の各画素の座標（φ，θ）を、（３）式に従って、極座標
（ｒ，Φ）に変換することによって行う。
【００１８】
図３は、図１の画素ｐの投影点と点Ｑを通る経度線で球面１００を輪切りにした断面図である。１０６は赤道面１０４を含む平射投影平面である。Ｏ′は要素画像Ｆ１の中心、ｐ′は要素画像Ｆ１上の画素ｐの球面１００への投影点である。この点ｐ′が平射投影により赤道面を含む平面１０６に投影された点がｐ″である。
【００１９】
水平線より上のシーンだけを対象にするならば、球面１００の赤道面１０４より上の半球面（北半球面）に投影された画像だけを平射投影すればよく、全ての画素は赤道面１０４の内部に投影される。しかし、図３に見られるように、デジタルカメラ等で水平方向を撮影した要素画像Ｆ２には赤道面１０４より下の部分も写っており、そのような部分の画素は平射投影により赤道面１０４より外側に投影される。例えば、要素画像Ｆ２の画素ｑは、球面１００上の点ｑ′に投影され、さらに平射投影により平面１０６上の点ｑ″に投影される。ｗは要素画像Ｆ２上の最も下に位置する画素であり、球面１００上の点ｗ′に投影され、さらに平面１０６上の点ｗ″に投影される。本実施例では、平射投影平面１０６を赤道面１０４より広げることによって、水平方向より上のシーンのみならず、水平方向よりある角度だけ下方向のシーンも、その画像データを一つのファイルとして記憶できるようにする。
【００２０】
図４は、平射投影平面１０６上の画像投影領域と、その画像データの記憶領域とを関連付けて説明するための図である。球面１００の北半球面上の画素は円１１０で示される範囲に平射投影される。球面１００上の赤道面１０４より下側の一定範囲までの画素を投影するために、平射投影領域は円１１２で示す領域まで拡大される。したがって、円１１０と円１１２の間の領域は球面１００の南半球面の一部（北半球面と連続している）の画像が投影される領域である。
【００２１】
図１に戻る。最後のステップＳ３において、前ステップＳ２により平射投影された画像のデータを一括してメモリに記憶する。具体的には、本実施例では以下のような操作を行って画像データをメモリに記憶させる。
【００２２】
まず、図４に示す平射投影平面上の正方形ＡＢＣＤ領域に対応したメモリ領域を確保する。前ステップＳ２では平射投影された各画素位置は極座標（ｒ，Φ）で表現されているが、一般にメモりロケーションには整数番地が付けられる。そこで、平射投影された各画素の座標を（４）式により直交座標（Ｘ，Ｙ）に変換する。次に実数座標（Ｘ，Ｙ）を（５）式により整数座標（Ｉ，Ｊ）に変換する。なお、（５）式において、［ｘ］はｘを超えない最大の整数を意味する。
【００２３】
このようにして求めた整数座標（Ｉ，Ｊ）に対応する番地のメモリロケーションに、例えば（６）式の補間演算により計算した画素値もしくは輝度値ｆ（Ｉ，Ｊ）を書き込む。（６）式において、ｆ（Ｘi,Ｙj）は実数座標（Ｘi,Ｙj）における計算上の画素値もしくは輝度値である。Ｉp（ ）は補間関数で、例えば線形補間関数やキュービック（Ｃubic）補間関数である。この補間演算は、注目した整数座標（Ｉ，Ｊ）の周囲の一定距離の範囲内、例えば（７）式の範囲内で行う（ただしＴｈは定数）。
【００２４】
このようにして、球面１００の北半球面及びそれに連続した南半球面の一部に投影され貼り合わせられた画像のデータを一括してメモリに記憶し、一つのファイルとして管理することができる。
【００２５】
一般に、コンピュータによりメモリ上のデータを効率よく管理するためには、その番地範囲が簡単な記号で表せることが望ましい。２次元番地（Ｉ，Ｊ）の場合、Ａ＜Ｉ＜Ｂ、Ｃ＜Ｊ＜Ｄのような区間による管理が最も一般的である。本実施例は、そのような要求を満たす。
【００２６】
また、画像データを扱う場合、演算処理の均一性や画像表現の精度の面で、メモリ上で連続する画素は実空間上でもほぼ等しい間隔であること、つまり、メモリ上の画素（Ｉ，Ｊ）と画素（Ｉ，Ｊ＋１）の実空間上での間隔が、メモリ上の画素（Ｉ，Ｊ＋１）と画素（Ｉ，Ｊ＋２）の実空間上での間隔とほぼ等しいことが望まれる。本実施例では、メモリ上に配列される画素は、球面上の画素とほぼ同一オーダーの密度で分布するので（中心付近と周辺での密度の差は最大で１：４である）、上の要求を満たす。
【００２７】
以上のようにしてメモリに記憶された画像を再現する場合には、画像を記憶する場合と丁度逆の変換過程によってメモリ上の画素を球面に投影し、観測したい方位に垂直な平面へ再投影すればよい。要素画像の合成は済んでいるから、任意の方位の画像を、高速に再現できる。
【００２８】
なお、高い山の頂上や高層ビルの屋上からのシーンを撮影し、そのパノラマ画像を得たい場合、水平方向よりかなり下方のシーンまで対象範囲に含めたいことがある。気球やヘリコプターからシーンを撮影し、そのパノラマ画像を得たい場合には、真下のシーンまで対象範囲に含めたい。このように、水平方向からどの程度下方まで処理の対象にしたらよいか一律に決定することが難しい場合には、球面の上半分（北半球面）に投影された画像と、下半分（南半球面）に投影された画像とをそれぞれ別々に赤道面に平射投影し、各平射投影画像をそれぞれメモリに記憶し一つのファイルとして管理するとよい。このようにしても、上に述べた過程によって再現できる。これも本発明の一つの実施例である。
【００２９】
以上に説明した本発明の処理は、例えば図５に示すようなＣＰＵ２００、メモリ２０１、ディスプレイ装置２０２、ユーザ入力装置（キーボード、マウス等）２０３、ハードディスク装置２０４、フロッピーディスク装置２０５、ＰＣカード読み取り装置２０６等をシステムバス２０７で接続した構成のコンピュータ上でプログラムによって実現できる。例えば、デジタルカメラによって、ある地点から撮影されＰＣカード２０８に記録された一連の画像のデータは、ＰＣカード読み取り装置２０６によってコンピュータに読み込まれ、ハードディスク装置２０４に格納される。図１に関連して説明した本発明の処理のためのプログラム２１０は、例えばフロッピーディスク装置２０５にセットされたフロッピーディスク２０９より読み込まれてハードディスク装置２０４に格納され、必要な時点でメモリ２０１にロードされて実行される。このプログラム２１０の実行時に、処理の対象となる画像のデータがハードディスク装置２０４からメモリ２０１に読み込まれる。処理に必要なメモリ領域、例えば図１のステップＳ３で平射投影画像データが書き込まれるメモリ領域２１１は、必要な時点でメモリ２０１上に確保される。このメモリ領域２１１に書き込まれた平射投影画像データは必要に応じてハードディスク装置２０４又はフロッピーディスク２０９に保存され、画像再現時に再びメモリ２０１に読み込まれる。
【００３０】
以上に述べたように、本発明によれば、３次元的なパノラマ画像等の保存に必要なメモリ量の削減及び高速の画像再現が可能になるが、さらに異地点から撮影した一連の画像の相互の比較、演算が容易になる。例えば、撮影者がある地点で周囲のシーンを撮影した一連の画像と、場所を移動して周囲のシーンを撮影した一連の画像とを比較し、被写体の遠近情報を測定する場合、両地点から撮影された一連の画像は統一された座標系で表現されているのが望ましい。本発明は一地点から撮影した一連の画像を平射投影表現するが、例えば垂直方向を投影座標系の中心点にとり、水平面を投影座標系の円周にとり、そして、ある方位を基準軸にとれば、異地点から撮影された画像中の対応する被写体の方位（視差）を座標の差として直接的に表現できるため、遠近情報の抽出が容易になる。
【００３１】
【発明の効果】
以上に説明したように、本発明によれば、同一位置から異なった方位を撮影した複数の画像を合成した３次元的パノラマ画像等のデータの効率的な保存・管理及び高速な画像再現が可能となり、また、異地点から撮影した一連の画像の相互の比較による被写体の遠近情報の抽出が容易になる等の効果を得られる。
【図面の簡単な説明】
【図１】本発明の一実施例による処理の概略を示すフローチャートである。
【図２】要素画像の球面投影を説明するための図である。
【図３】図２をある経度線で輪切りにした断面図である。
【図４】画像の平射投影領域とメモリ領域を関連付けて示す図である。
【図５】本発明の処理を実施するためのコンピュータの一例を示すブロック図である。
【図６】円筒面への投影によるパノラマ画像作成の説明図である。
【符号の説明】
１００  球面
１０２  極軸
１０４  赤道面
１０６  平射投影平面
Ｆ１，Ｆ２  要素画像
Ｏ    中心
Ｎ    北極
Ｓ    南極
Φ    経度
θ    緯度
ｐ，ｑ，ｗ  要素画像上の画素
ｐ′，ｑ′，ｗ′  球面上への投影点
ｐ″，ｑ″，ｗ″  平射投影点
２００  ＣＰＵ
２０１  メモリ
２０２  ディスプレイ装置
２０３  ユーザ入力装置
２０４  ハードディスク装置
２０５  フロッピーディスク装置
２０６  ＰＣカード読み取り装置
２０７  システムバス
２０８  ＰＣカード
２０９  フロッピーディスク
２１０  プログラム
２１１  メモリ領域
【図１】
0003660108.tif 000002
【図２】
0003660108.tif 000003
【図３】
0003660108.tif 000004
【図４】
0003660108.tif 000005
【図５】
0003660108.tif 000006
【図６】
0003660108.tif 000007