(57)【要約】【課題】複数枚の画像から１枚のパノラマ画像を良好に生成する。【解決手段】複数の入力画像Ｐ１〜ＰＮの使用領域を確定する際に、第１、第２の処理を行う。第１の処理では、優先領域と重なる他の入力画像の領域を不使用領域とする（ＳＴ１５）。この処理により、例えば、動いている物体が投影されている領域がユーザにより優先領域として指定されていれば、パノラマ画像Ｑを生成する際にその領域に関しては１枚の画像しか使用されず、多重露光されたような像ブレの発生を防止できる。第２の処理では、重ねる枚数を制限するために各入力画像に必要に応じて不使用領域を設ける（ＳＴ１６，ＳＴ１７）。この処理により、パノラマ画像Ｑを生成する際に、入力画像の重なり枚数が制限され、レンズ歪みによる各入力画像の位置ずれで起こる画像のボケを抑制できる。【選択図】図７
2010161520.tif 000002
【特許請求の範囲】
【請求項１】
撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第１の画像がある場合、上記優先領域と重なる第１の重なり領域がある上記画像列の中の上記第１の画像以外の画像について上記第１の重なり領域を使用禁止領域とする第１の画像処理部と、
上記画像列の中で、序列が所定の間隔だけ離れた第２の画像および第３の画像に第２の重なり領域がある場合、上記第２の画像または上記第３の画像の上記第２の重なり領域を使用禁止領域とする第２の画像処理部と、
上記画像列に含まれる上記複数枚の画像の、上記第１の画像処理部および上記第２の画像処理部で使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成部
を備える画像処理装置。
【請求項２】
上記画像列に含まれる複数枚の画像のうち任意の画像に、ユーザが、上記優先領域を指定するユーザ操作部をさらに備える
請求項１に記載の画像処理装置。
【請求項３】
上記序列の上記所定の間隔をユーザが設定するためのユーザ操作部をさらに備える
請求項１に記載の画像処理装置。
【請求項４】
撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第１の画像がある場合、上記優先領域と重なる第１の重なり領域がある上記画像列の中の上記第１の画像以外の画像について上記第１の重なり領域を使用禁止領域とする第１の画像処理ステップと、
上記画像列の中で、序列が所定の間隔だけ離れた第２の画像および第３の画像に第２の重なり領域がある場合、上記第２の画像または上記第３の画像の上記第２の重なり領域を使用禁止領域とする第２の画像処理ステップと、
上記画像列に含まれる上記複数枚の画像の、上記第１の画像処理ステップおよび上記第２の画像処理ステップで使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成ステップ
を備える画像処理方法。
【請求項５】
コンピュータを、
撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第１の画像がある場合、上記優先領域と重なる第１の重なり領域がある上記画像列の中の上記第１の画像以外の画像について上記第１の重なり領域を使用禁止領域とする第１の画像処理手段と、
上記画像列の中で、序列が所定の間隔だけ離れた第２の画像および第３の画像に第２の重なり領域がある場合、上記第２の画像または上記第３の画像の上記第２の重なり領域を使用禁止領域とする第２の画像処理手段と、
上記画像列に含まれる上記複数枚の画像の、上記第１の画像処理ステップおよび上記第２の画像処理ステップで使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成手段
として機能させるためのプログラム。
【請求項６】
撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第１の画像がある場合、上記優先領域と重なる第１の重なり領域がある上記画像列の中の上記第１の画像以外の画像について上記第１の重なり領域を使用禁止領域とする画像処理部と、
上記画像列に含まれる上記複数枚の画像の、上記画像処理部で使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成部
を備える画像処理装置。
【請求項７】
撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第１の画像がある場合、上記優先領域と重なる重なり領域がある上記画像列の中の上記第１の画像以外の画像について上記重なり領域を使用禁止領域とする画像処理ステップと、
上記画像列に含まれる上記複数枚の画像の、上記画像処理ステップで使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成ステップ
を備える画像処理方法。
【請求項８】
撮像位置を所定方向に順次ずらして撮像された複数枚の画像が含まれる画像列の中で、序列が所定の間隔だけ離れた第１の画像および第２の画像に重なり領域がある場合、上記第１の画像または上記第２の画像の上記重なり領域を使用禁止領域とする画像処理部と、
上記画像列に含まれる上記複数枚の画像の、上記画像処理部で使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成部
を備える画像処理装置。
【請求項９】
撮像位置を所定方向に順次ずらして撮像された複数枚の画像が含まれる画像列の中で、序列が所定の間隔だけ離れた第１の画像および第２の画像に重なり領域がある場合、上記第１の画像または上記第２の画像の上記重なり領域を使用禁止領域とする画像処理ステップと、
上記画像列に含まれる上記複数枚の画像の、上記画像処理ステップで使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成ステップ
を備える画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置、画像処理方法およびプログラムに関し、特に、複数枚の画像から１枚のパノラマ画像を作成する画像処理装置に関する。
【背景技術】
【０００２】
パンしながら連写した複数枚の画像から１枚のパノラマ画像を生成することが、一般に行われている（例えば、特許文献１参照）。具体例を以下で説明する。
【０００３】
ユーザは、図１６に示す風景をパンしながら、つまり水平方向に撮像位置を順次ずらしながら、複数枚の画像を撮影する。例えば、水平方向に回転できる三脚にカメラを取り付け、手動で水平方向にパンしながら、撮影を行っていく。図１６の風景には、建物群３００と、歩行者３０１が存在している。このような状況で、パンしながら連写を行うと、例えば、図１７に示すＮ枚の画像Ｐ１〜ＰＮを撮影できる。
【０００４】
なお、図１７では、画像Ｐ５〜ＰＮ-３の図示を省略している。また、水平方向のみカメラは移動しているので、実際には画像どうしにはＹ軸方向のズレはなくＸ軸方向のズレのみであるが、図面では画像Ｐ１〜ＰＮの矩形領域が重なり見にくくなるので、ずらして描いている。これらＮ枚の画像から、１枚のパノラマ画像（図１７の破線で示した画像）Ｑを作成する。
【０００５】
Ｎ枚の入力画像Ｐ１〜ＰＮから１枚のパノラマ画像Ｑを作成する方法は、以下のとおりである。まず、Ｎ枚の入力画像Ｐ１〜ＰＮの位置関係を求める。つまり、入力画像どうしのズレ量を求める。そして、そのズレ量だけずらした位置に入力画像を置いていく。Ｎ枚の入力画像Ｐ１〜ＰＮをずらしながら置いて行った状態で、このＮ枚の入力画像Ｐ１〜ＰＮに包含される矩形領域を求める。この矩形領域が、出力すべきパノラマ画像Ｑである。
【０００６】
パノラマ画像Ｑの各位置（Ｘ，Ｙ）について着目したとき、位置（Ｘ，Ｙ）に入力画像が１枚しか存在しない場合には、その入力画像の位置（Ｘ，Ｙ）の画素値を、パノラマ画像Ｑの位置（Ｘ，Ｙ）の画素値とする。位置（Ｘ，Ｙ）に入力画像が複数枚存在する場合には、それら入力画像の位置（Ｘ，Ｙ）の画素値の平均値を、パノラマ画像Ｑの位置（Ｘ，Ｙ）の画素値とする。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−２９９８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、複数枚の画像から１枚のパノラマ画像Ｑを生成する際には、当該パノラマ画像Ｑの領域を決定し、その領域内の各位置における画素値を決定することが必要となる。この場合、以下の懸案事項がある。
【０００９】
（懸案事項１）
一般にカメラで撮影した画像には、レンズの歪みに起因して、たる型歪み、あるいは、糸巻き型歪みが生じる。正方格子を撮影した場合、ユーザは、図１８（ａ）に示すような画像を期待する。しかし、実際には、図１８（ｂ）に示すようなたる型歪みを生じた画像、あるいは、図１８（ｃ）に示すような糸巻き型歪みを生じた画像が、撮影される。
【００１０】
パノラマ画像Ｑの位置（Ｘ，Ｙ）に複数枚の入力画像が存在する場合、各入力画像の位置（Ｘ，Ｙ）の画素値は、歪みのない理想的な画像であれば、いずれも同じ値となるはずである。しかし、各入力画像には歪みが生じているために、位置（Ｘ，Ｙ）における各入力画像の画素の値は異なる値となってしまう。
【００１１】
そのため、上述したように、パノラマ画像Ｑの位置（Ｘ，Ｙ）に入力画像が複数枚存在する場合に、それらの入力画像の位置（Ｘ，Ｙ）の画素値の平均値をパノラマ画像Ｑの位置（Ｘ，Ｙ）の画素値とするとき、その画素値は適切な値ではなくなってしまう。
【００１２】
（懸案事項２）
上述したように、パノラマ画像Ｑの位置（Ｘ，Ｙ）に入力画像が複数枚存在する場合に、それらの入力画像の位置（Ｘ，Ｙ）の画素値の平均値をパノラマ画像Ｑの位置（Ｘ，Ｙ）の画素値とすることで、ノイズを削減することができる。つまり、パノラマ画像Ｑの位置（Ｘ，Ｙ）に入力画像が複数枚存在する場合には、それらの入力画像をなるべく使用した方がよい。複数枚の入力画像のうち１枚の入力画像のみを使用してパノラマ画像Ｑの画素値を決定すると、ノイズ削減の効果は期待できない。
【００１３】
（懸案事項３）
各入力画像は撮影時刻に時間差がある。そのため、動いている物体（例えば、図１６、図１７の歩行者３０１）は、各入力画像では、違う形状、あるいは違う位置に投影されている。したがって、複数の入力画像の平均値を取ると、多重露光されたような像ブレが起きてしまう。つまり、上述したように、パノラマ画像Ｑの位置（Ｘ，Ｙ）に入力画像が複数枚存在する場合、そこに動いている物体が投影されているときは、その中の１枚の入力画像だけを使用した方がよい。
【００１４】
これら３つの懸案事項がある。これら懸案事項から以下のことが導き出される。すなわち、「懸案事項１」から導き出される結論は、各入力画像の中で違う歪みがある部分どうしは使用しない方がよい。「懸案事項２」から導き出される結論は、各入力画像の周辺部分でもよいからなるべく多くの枚数を使用した方がよい。「懸案事項３」から導き出される結論は、動いている物体が投影されているときは、その中の１枚の入力画像だけを使用した方がよい。これらの結論は、相反する結論となる場合もある。そのため、システマティックに、各入力画像のどの部分を使用して、どの部分は削除して、パノラマ画像を作成すればよいかが分からなかった。
【００１５】
この発明の目的は、複数枚の画像から１枚のパノラマ画像を良好に得ることにある。
【課題を解決するための手段】
【００１６】
この発明の概念は、
撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第１の画像がある場合、上記優先領域と重なる第１の重なり領域がある上記画像列の中の上記第１の画像以外の画像について上記第１の重なり領域を使用禁止領域とする第１の画像処理部と、
上記画像列の中で、序列が所定の間隔だけ離れた第２の画像および第３の画像に第２の重なり領域がある場合、上記第２の画像または上記第３の画像の上記第２の重なり領域を使用禁止領域とする第２の画像処理部と、
上記画像列に含まれる上記複数枚の画像の、上記第１の画像処理部および上記第２の画像処理部で使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成部
を備える画像処理装置にある。
【００１７】
この発明において、画像列から出力画像が生成される。この画像列は、撮像位置を所定方向に順次ずらして撮像された複数枚の画像で構成されている。例えば、パンしながら連写した複数枚の画像から１枚のパノラマ画像が生成される。
【００１８】
第１の画像処理部および第２の画像処理部により、画像列に含まれる各画像の使用禁止領域が設定される。第１の画像処理部では、画像列に優先的に使用する優先領域が指定されている第１の画像がある場合、この優先領域と重なる第１の重なり領域がある画像列の中の第１の画像以外の画像について第１の重なり領域は使用禁止領域とされる。例えば、優先領域の指定は、ユーザがユーザ操作部を操作することで行われる。
【００１９】
また、第２の処理部では、画像列の中で、序列が所定の間隔だけ離れた第２の画像および第３の画像に第２の重なり領域がある場合、第２の画像または第３の画像の第２の重なり領域が使用禁止領域とされる。例えば、序列の所定の間隔の設定は、ユーザがユーザ操作部を操作することで行われる。
【００２０】
この発明においては、上述したように、優先領域が指定されている画像がある場合、その他の画像の当該優先領域と重なる領域は使用禁止領域とされる。そのため、例えば、動いている物体が投影されている領域が優先領域として指定されていれば、パノラマ画像を生成する際にその領域に関しては１枚の画像しか使用されず、多重露光されたような像ブレの発生を防止できる。
【００２１】
また、この発明においては、上述したように、序列が所定の間隔だけ離れた２つの画像に重なりがある場合、重なる領域の一方は使用禁止領域とされる。そのため、パノラマ画像を生成する際に、画像の重なり枚数が制限されることから、レンズ歪みによる各画像の位置ずれで起こる画像のボケを抑制できる。
【発明の効果】
【００２２】
この発明によれば、優先領域が指定されている画像がある場合、その他の画像の当該優先領域と重なる領域を使用禁止領域とし、また、序列が所定の間隔だけ離れた２つの画像に重なりがある場合、重なる領域の一方を使用禁止領域とするものであり、複数枚の画像から１枚のパノラマ画像を良好に生成できる。
【図面の簡単な説明】
【００２３】
【図１】この発明の実施の形態としてのデジタルカメラの構成例を示すブロック図である。
【図２】パノラマ画像生成部におけるパノラマ画像の生成処理の処理手順を示すフローチャートである。
【図３】パノラマ画像を生成する際の各入力画像の使用領域の確定処理を説明するための図である。
【図４】パノラマ画像を生成する際の各入力画像の使用領域の確定処理を説明するための図である。
【図５】レンズ歪み（たる型歪み、糸巻き型歪み）による各画像の位置ずれで起こるボケを説明するための図である。
【図６】パノラマ画像を生成する際の各入力画像の使用領域の確定処理を説明するための図である。
【図７】各入力画像の使用領域（ＵＬ［ｉ］，ＵＲ［ｉ］）を確定する具体的な処理手順の一例を示すフローチャートである。
【図８】優先領域と重なる他の入力画像の領域（重なり領域）を不使用領域（削除領域）とする処理の具体的な手順を説明するための図である。
【図９】通常の場合における重ねる枚数を制限するために、各入力画像の使用領域を制限する処理の具体的な手順を説明するための図である。
【図１０】通常の場合における重ねる枚数を制限するために、各入力画像の使用領域を制限する処理の具体的な手順を示すフローチャートである。
【図１１】重ねる最大枚数を制限するために、各入力画像の使用領域を制限する処理の具体的な手順を説明するための図である。
【図１２】重ねる最大枚数を制限するために、各入力画像の使用領域を制限する処理の具体的な手順を示すフローチャートである。
【図１３】各入力画像の使用領域（ＵＬ［ｉ］，ＵＲ［ｉ］）を確定する具体的な処理手順の他の例を示すフローチャートである。
【図１４】各入力画像の使用領域（ＵＬ［ｉ］，ＵＲ［ｉ］）を確定する具体的な処理手順の他の例を示すフローチャートである。
【図１５】パノラマ画像の生成に使用されるコンピュータ装置の構成例を示すブロック図である。
【図１６】建物群と歩行者が存在する風景の一例を示す図である。
【図１７】パンしながら連写を行って撮影されたＮ枚の画像Ｐ１〜ＰＮの一例を示す図である。
【図１８】レンズの歪みに起因して撮影画像に生じる、たる型歪み、糸巻き型歪み等を説明するための図である。
【発明を実施するための形態】
【００２４】
以下、発明を実施するための形態（以下、「実施の形態」とする）について説明する。なお、説明は以下の順序で行う。
１．実施の形態
２．変形例
【００２５】
＜１．実施の形態＞
［デジタルカメラの構成例］
図１は、実施の形態としてのデジタルカメラ１００の構成例を示している。このデジタルカメラ１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read OnlyMemory）１０２、ＲＡＭ（Random Access Memory）１０３、ユーザ操作部１０４を有している。また、デジタルカメラ１００は、撮像部１１１、撮像信号処理部１１２、Ａ／Ｄ(Analog/Digital)変換部１１３、デジタル信号処理部（ＤＳＰ：DigitalSignal Processor）１１４、記録再生部１１５および表示部１１７を有している。
【００２６】
ＣＰＵ１０１は、デジタルカメラ１００の各部を制御する。ＲＯＭ１０２は、ＣＰＵ１０１の制御プログラム等を記憶している。ＲＡＭ１０３は、ＣＰＵ１０１の制御処理に必要なデータの一時記憶等に用いられる。ＣＰＵ１０１は、ＲＯＭ１０２から読み出したプログラムやデータをＲＡＭ１０３上に展開してプログラムを起動し、デジタルカメラ１００の各部を制御する。
【００２７】
ユーザ操作部１０４は、ユーザインタフェースを構成し、バス１０５を介してＣＰＵ１０１に接続されている。このユーザ操作部１０４は、デジタルカメラ１００の図示しない筐体面に配置されたキー、ボタン、ダイヤル等で構成される。ＣＰＵ１０１は、ユーザ操作部１０４からバス１０５を介して入力される情報の解析を行って、ユーザの操作に対応した制御を行う。
【００２８】
撮像部１１１は、被写体を撮像して、この被写体に対応した撮像信号を出力する。この撮像部１１１は、Ｃ−ＭＯＳ(Complementary Metal Oxide Semiconductor）撮像素子、あるいはＣＣＤ(Charge Coupled Device)撮像素子により構成される。撮像信号処理部１１２は、撮像部１１１から出力される撮像信号（アナログ信号）に対し、サンプルホールドおよび利得制御等の処理を行う。
【００２９】
Ａ／Ｄ変換部１１３は、撮像信号処理部１１２から出力される撮像画像信号をアナログ信号からデジタル信号に変換する。デジタフ信号処理部１１４は、Ａ／Ｄ変換部１１３から供給される撮像画像信号に対して画像処理を行う。ここでいう画像処理は、ホワイトバランス処理、ガンマ補正処理などである。これら処理は、全ての汎用デジタルカメラで行われる処理なので、その詳細を省略する。
【００３０】
この実施の形態において、デジタル信号処理部１１４は、さらに、パノラマ画像生成処理を行うパノラマ画像生成部１２０を備えている。このパノラマ画像生成処理は、例えばパンしながら連写した複数枚の画像、つまり撮像位置を水平方向に順次ずらして撮像された複数枚の画像から１枚のパノラマ画像を生成する処理である。ここで、複数枚の画像は画像列を構成する。このパノラマ画像の生成処理の詳細については、後述する。
【００３１】
デジタル信号処理部１１４は、処理後の画像データを、表示部１１７および記録再生部１１５に転送する。記録再生部１１５は、主にフラッシュメモリからなる着脱自在な記録媒体１１６に、ユーザのシャッター操作に対応した静止画像データを書き込み、あるいは、この記録媒体から静止画像データを読み出す。表示部１１７は、例えば、デジタルカメラ１００の筐体背面等に設けられるＬＣＤ（Liquid Crystal Display）等の表示パネルで構成される。この表示部１１７は、撮影した画像、記録再生部１１５で記録媒体１１６から読み出した画像、さらには、ユーザに対する各種情報等を表示する。
【００３２】
次に、図１に示すデジタルカメラ１００の動作について説明する。デジタルカメラ１００は、記録モード時には、以下の動作をする。撮像部１１１で撮像処理が行われて得られた撮像画像信号は、撮像信号処理部１１２に供給され、サンプルホールドおよび利得制御等の処理が行われる。そして、撮像信号処理部１１２から出力される撮像画像信号は、Ａ／Ｄ変換部１１３でアナログ信号からデジタル信号に変換されて、デジタル信号処理部１１４に供給される。デジタル信号処理部１１４では、Ａ／Ｄ変換部１１３から供給される撮像画像信号に対して、ホワイトバランス処理、ガンマ補正処理などの画像信号処理が行われる。
【００３３】
デジタル信号処理部１１４で処理されて得られた画像データは、表示部１１７に転送される。これにより、表示部１１７には撮像画像が表示され、モニタリング状態となる。このモニタリング状態において、ユーザがユーザ操作部１０４でシャッター操作を行うと、ＣＰＵ１０１によりデジタル信号処理部１１４および記録再生部１１５が制御され、記録媒体１１６にシャッター操作に対応した静止画像データが書き込まれる。この場合、例えば、パンしながら、つまり撮像位置を水平方向に順次ずらしながら、ユーザがシャッター操作を行うことで、パノラマ画像の生成に使用される複数枚の画像の静止画像データが、記録媒体１１６に書き込まれる。
【００３４】
また、デジタルカメラ１００は、再生モード時には、以下の動作をする。すなわち、記録再生部１１５では、記録媒体１１６から、ユーザのユーザ操作部１０４の操作によって選択された静止画像データが読み出される。この静止画像データは、記録再生部１１５からデジタル信号処理部１１４を介して表示部１１７に供給される。これにより、表示部１１７には、再生画像が表示される。
【００３５】
［パノラマ画像の生成処理］
次に、パノラマ画像の生成処理について説明する。パノラマ画像は、ＣＰＵ１０１の制御の下、デジタル信号処理部１１４内のパノラマ画像生成部１２０において生成される。図２のフローチャートは、パノラマ画像生成部１２０におけるパノラマ画像の生成処理の処理手順を示している。
【００３６】
ユーザがユーザ操作部１０４を操作してパノラマ画像の生成を指示すると、パノラマ画像生成部１２０は、ステップＳＴ１において、パノラマ画像の生成処理を開始する。なお、ユーザは、パノラマ画像の生成を指示する際に、パノラマ画像の生成に使用される複数枚の画像（画像列）を、例えば記録媒体１１６に記録されている静止画像データファイルを選択する等して指定する。
【００３７】
次に、パノラマ画像生成部１２０は、ステップＳＴ２において、パノラマ画像の生成に使用される複数枚の画像（Ｎ枚の画像Ｐ１〜ＰＮ）を入力する。この場合、パノラマ画像生成部１２０は、記録再生部１１５を通じて、記録媒体１１６から当該複数枚の画像の静止画像データを読み出し、図示しない、例えば、ＳＤＲＡＭ等の半導体メモリで構成されるメモリ部に一時的に格納する。
【００３８】
次に、パノラマ画像生成部１２０は、ステップＳＴ３において、複数枚の画像の位置合わせを行う。この場合、パノラマ画像生成部１２０は、画像同士の相関を見ることで、位置合わせを行う。画像同士の相関を見る手法としては、詳細説明は省略するが、従来周知のブロックマッチング法等の手法がある。この複数枚の画像の位置合わせにより、各入力画像Ｐｉ（ｉ＝１〜Ｎ）の左端のＸ座標Ｘ[i]が確定される（図３、図４参照）。
【００３９】
次に、パノラマ画像生成部１２０は、ステップＳＴ４において、各入力画像の使用領域を確定する。ここで、各入力画像の使用領域をどのように確定するかについて、図３〜図５を用いて説明する。
【００４０】
Ｎ枚の入力画像Ｐ１〜ＰＮは、水平方向にパンしながら連続撮影をした画像であるので、Ｙ軸方向のずれは存在しない。そこで、Ｘ軸方向のずれのみを考慮すればよい。図３および図４は、Ｘ軸についての説明図である。図３中のＰ１〜ＰＮ（Ｐ１３〜ＰＮ-２は図示省略）は、上述した入力画像である。入力画像Ｐ１〜ＰＮの位置は、パンしながら撮影されたため、Ｘ軸の正の方向に順次移動した位置となる。各入力画像Ｐｉ（ｉ＝１〜Ｎ）の左端のＸ座標をＸ［ｉ］とする。
【００４１】
図３の「Ａ」の位置に着目してみる。この位置では、Ｐ６〜Ｐ１１の６枚の入力画像が存在している。そのため、従来方式では、パノラマ画像Ｑの「Ａ」の位置の画素値は、入力画像Ｐ６〜Ｐ１１の「Ａ」の位置の画素値の平均値となる。入力画像Ｐ６における「Ａ」の位置は画像の右端であり、入力画像Ｐ１１における「Ａ」の位置は画像の左端である。
【００４２】
従来技術のところで、既に述べたが、もし、歪みがなければ、図５（ａ）に示すように、入力画像Ｐ６と入力画像Ｐ１１の間には位置ずれは全くなく問題はない。しかし、例えば、糸巻き型歪みがあると、図５（ｂ）に示すように、入力画像Ｐ６と入力画像Ｐ１１の間の位置ずれは大きくなる。そのため、パノラマ画像Ｑは適切な画像ではなくなる。なお、たる型歪みがある場合も同様である。
【００４３】
また、図３の「Ｂ」の範囲に着目してみる。この部分には、動いている物体（例えば、図１６、図１７の歩行者３０１）が投影されているとする。この範囲では、Ｐ２〜Ｐ８の７枚の入力画像が存在している。そのため、従来方式では、パノラマ画像Ｑの「Ｂ」の範囲の各位置における画素値は、入力画像Ｐ２〜Ｐ８のその位置における画素値の平均値となる。入力画像Ｐ２〜Ｐ８の撮影は順次行われるので、同一時刻の撮影ではない。したがって、動いている物体は、入力画像Ｐ２〜Ｐ８の中で、違う形状や違う位置に投影されている。そのため、複数の入力画像の平均値をとると、多重露光されたような像ブレが起きてしまう。
【００４４】
ここで、何らかの手段で、図４に示すように、各入力画像Ｐ１〜ＰＮのうち、破線で示した領域を不使用領域として、実線で示した領域のみを使用することができると仮定する。つまり、各入力画像Ｐ１〜ＰＮのうち実線で示した領域のみを使用してパノラマ画像Ｑを作成した場合を考えてみる。
【００４５】
この場合、「Ａ」の位置には、図３とは違い、Ｐ６とＰ７の２枚の入力画像しか存在していない。パノラマ画像Ｑの「Ａ」の位置の画素値は、入力画像Ｐ６と入力画像Ｐ７の「Ａ」の位置の画素値の平均値となる。入力画像Ｐ６における「Ａ」の位置は画像の右端であり、入力画像Ｐ７における「Ａ」の位置も画像のほぼ右端である。これら２つの画像は、糸巻き型歪みがあったとしても、入力画像Ｐ６と入力画像Ｐ７は、図５（ｃ）に示すような関係となる。
【００４６】
つまり、入力画像Ｐ６における「Ａ」の位置（画像の右端）も入力画像Ｐ７における「Ａ」の位置（画像のほぼ右端）も同じような歪みであり、同程度に糸巻き状の歪んだ状態でつながり、位置ずれは無視できる程小さい。そのため、パノラマ画像Ｑが適切な画像となる。なお、たる型歪みがある場合も同様である。
【００４７】
また、「Ｂ」の範囲には、図３とは違い、Ｐ４の１枚の入力画像しか存在していない。そこで、パノラマ画像Ｑの「Ｂ」の範囲の各位置における画素値は、入力画像Ｐ４の対応する画素値のコピーとなる。そのため、複数の入力画像の平均値をとることによる多重露光されたような像ブレの問題は起きない。
【００４８】
以上の説明より分かるように、図４に示すような破線領域（不使用領域領域）と実線領域（使用領域）の切り分けを自動で行うことができるという問題が、パノラマ画像作成には重要となる。
【００４９】
パノラマ画像生成部１２０は、ステップＳＴ４において、従来技術のところで述べた３つの懸案事項を考慮し、各入力画像Ｐ１〜ＰＮの不使用領域（図４の破線領域）を設定し、各入力画像の使用領域（図４の実線領域）を確定する。この確定処理の詳細については後述する。
【００５０】
図２に戻って、次に、パノラマ画像生成部１２０は、ステップＳＴ５において、出力画像であるパノラマ画像Ｑを作成する。具体的には、Ｎ枚の入力画像Ｐ１〜ＰＮ（ステップＳＴ４で使用領域が制限された画像）に包含される矩形領域をパノラマ画像Ｑの領域とする。そして、パノラマ画像Ｑの各位置（Ｘ，Ｙ）について着目したとき、その位置（Ｘ，Y）に入力画像（ステップＳＴ４で使用領域が制限された画像）が１枚しか存在しない場合には、その入力画像のその画素の値を、パノラマ画像Ｑの位置（Ｘ，Ｙ）の画素値とする。また、その位置（Ｘ，Ｙ）に入力画像（ステップＳＴ４で使用領域が制限された画像）が複数枚存在する場合には、それら入力画像の画素値の平均値を、パノラマ画像Ｑの位置（Ｘ，Ｙ）の画素値とする。
【００５１】
次に、パノラマ画像生成部１２０は、ステップＳＴ６において、ステップＳＴ５で画素値が確定されたパノラマ画像Ｑを出力画像として出力する。この場合、パノラマ画像生成部１２０は、このパノラマ画像Ｑの静止画像データを、記録再生部１１５を通じて、記録媒体１１６に書き込む。なお、この場合、このパノラマ画像Ｑの静止画像データは表示部１１７に供給され、この表示部１１７に、生成されたパノラマ画像Ｑが表示される。これにより、ユーザは、生成されたパノラマ画像Ｑの確認が可能となる。
【００５２】
パノラマ画像生成部１２０は、ステップＳＴ６の処理の後、ステップＳＴ７において、
パノラマ画像Ｑを生成する一連の処理を終了する。
【００５３】
［使用領域の確定処理］
次に、上述のパノラマ画像生成部１２０における使用領域の確定処理（図２のステップＳＴ４の処理）の詳細を説明する。この確定処理は、具体的には、図６に示すように、各入力画像Ｐｉ（ｉ＝１〜Ｎ）に対して、その画像の使用領域（Ｘ［ｉ］を基準として、ＵＬ［ｉ］からＵＲ［ｉ］までの領域）ＡＲＵｉを決定する処理である。なお、図６において、Ｈは入力画像Ｐｉの幅であり、ＰＬ［ｉ］、ＰＲ［ｉ］は、後述するように、ユーザが指定する値である。
【００５４】
図２のステップＳＴ４の処理、つまり使用領域を確定する（ＵＬ［ｉ］とＵＲ［ｉ］を確定する）処理は、具体的には、図７のフローチャートで示した処理手順で実現される。
【００５５】
パノラマ画像生成部１２０は、ステップＳＴ１１において、処理を開始し、その後に、ステップＳＴ１２の処理に移る。このステップＳＴ１２において、パノラマ画像生成部１２０は、Ｎ枚の入力画像Ｐ１〜ＰＮの位置関係、すなわち、各入力画像Ｐ１〜ＰＮの左端のＸ座標Ｘ［１］〜Ｘ［Ｎ］を入力する。この各入力画像Ｐ１〜ＰＮの左端のＸ座標Ｘ［１］〜Ｘ［Ｎ］は、複数の画像の位置合わせにより、各画像の位置が確定されるとき、同時に確定されている（図２のステップＳＴ３）。
【００５６】
次に、パノラマ画像生成部１２０は、ステップＳＴ１３の処理に移る。このステップＳＴ１３では、ユーザが、優先領域ＰＡＲｉを指定できる。この場合、ユーザは、ユーザ操作部１０４（図１参照）を操作して、入力画像Ｐｉに対して、必要に応じて、ＰＬ［ｉ］およびＰＲ［ｉ］（図６参照）を指定することで、優先領域ＰＡＲｉを指定する。ここで、「必要に応じて」と述べたのは、ある特定のｉに対しては、指定しなくてもよいということである。すべてのｉ（ｉ＝１〜Ｎ）に対して、ＰＬ［ｉ］およびＰＲ［ｉ］を指定してもよいし、すべてのｉ（ｉ＝１〜Ｎ）に対して、ＰＬ［ｉ］およびＰＲ［ｉ］をまったく指定しなくてもよい。
【００５７】
例えば、ユーザは、この優先領域ＰＡＲｉとして、入力画像Ｐｉを見ながら、動いている物体の投影部分を含むように、ＰＬ［ｉ］，ＰＲ［ｉ］を指定する。この場合、０≦ＰＬ［ｉ］＜ＰＲ［ｉ］≦Ｈの関係を満たしている。例えば、図１６、図１７に示すような状態で撮影された場合は、入力画像Ｐ４に対して、歩行者３０１の投影部分を含む領域（図３のＢで示された範囲）を指定する。正確には、歩行者３０１の投影部分を含む領域の左端の位置をＰＬ［４］として、歩行者３０１の投影部分を含む領域の右端の位置をＰＲ［４］として指定する。
【００５８】
次に、パノラマ画像生成部１２０は、ステップＳＴ１４の処理に移る。このステップＳＴ１４において、パノラマ画像生成部１２０は、各入力画像Ｐｉ（ｉ＝１〜Ｎ）の使用領域を初期化する。すなわち、全てのｉ（ｉ＝１〜Ｎ）に対して、ＵＬ［ｉ］＝０、ＵＲ［ｉ］＝Ｈとする。なお、Ｈは、上述のとおり、各入力画像の幅である。この処理の擬似コードを、以下に示す。
【００５９】
// pseudo code :各画像の使用領域のパラメータの初期値をセットするサブルーチン
for( i = 1 to N ) {
UL[ i ] = 0 ;
UR[ i ] = H ;
}
// pseudo code end
【００６０】
次に、パノラマ画像生成部１２０は、ステップＳＴ１５の処理に移る。このステップＳＴ１５において、パノラマ画像生成部１２０は、ステップＳＴ１３で指定された優先領域と重なる他の入力画像の領域（重なり領域）を、不使用領域（削除領域）とする。すなわち、パノラマ画像生成部１２０は、重なり領域を削除するように、各入力画像ＰｉのＵＬ［ｉ］、ＵＲ［ｉ］を更新する。
【００６１】
これは、従来技術のところで述べた懸案事項３についての対策である。具体的な手順について、図８を用いて説明する。図８には、入力画像の一部であるＰｉ-２〜Ｐｉ+３の６枚の入力画像を示している。また、ステップＳＴ１３にて、入力画像Ｐｉには優先領域ＰＡＲｉ、つまりＰＬ［ｉ］，ＰＲ［ｉ］が指定されているとする。
【００６２】
入力画像Ｐｉの優先領域ＰＡＲｉの右端よりもｍａｒｇｉｎ（例えば５画素とする）だけ左側の位置から１枚あたり１画素だけ斜めの方向に傾いた直線ＬＩＮE０を引く。入力画像Ｐｉ+1〜ＰＮの中で、この直線ＬＩＮＥ０よりも左側にある部分を不使用領域（削除領域）ＵＵＬとし、残りの部分を使用領域とする。同様に、入力画像Ｐｉの優先領域ＰＡＲｉの左端よりもｍａｒｇｉｎ（例えば５画素とする）だけ右側の位置から１枚あたり１画素だけ斜めの方向に傾いた直線ＬＩＮE１を引く。入力画像Ｐ１〜Ｐｉ-１の中で、この直線ＬＩＮＥ１よりも右側にある部分を不使用領域（削除領域）ＵＵＲとし、残りの部分を使用領域とする。
【００６３】
このようにすることで、入力画像Ｐｉの優先領域ＰＡＲｉと同じ位置にある他の入力画像の領域（重なり領域）は削除され、最終的に、この領域に関しては、パノラマ画像Ｑは入力画像Ｐｉのみから作られることになる。この処理の擬似コードを、以下に示す。
【００６４】
// pseudo code :優先使用領域と重なる部分の削除を行うサブルーチン
margin = 5 ;
for( i = 1 to N &#8211; 1 ) { // Note:incremental loop
if( InputImage[ i ] には優先領域が指定されている ) {
leftLimit = X[ i ] + PR[ i ]  &#8211; margin ;
for( j = i + 1 to N ) { // Note: incremental loop
++ leftLimit ;
tmpLowerLimit = leftLimit &#8211; X[ j ] ;
if( UL[ j ] < tmpLowerLimit ) { UL[ j ] =tmpLowerLimit ; }
}
}
}
for( i = N to 2 ) { // Note: decrementalloop
if( InputImage[ i ] には優先領域が指定されている ) {
if( UL[ i ] <= PR[ i ] ) {
// Note: if UL[ i ] is bigger than PR[ i ], then ignore the priority area ofInputImage[i]. 
if( UL[ i ] <= PL [ i ] ) {
rightLimit = X[ i ] + PL[ i ] + margin ;
} else {
rightLimit = X[ i ] + UL[ i ]  +margin ;
}
for( j = i &#8211; 1 to 1 ) { // Note: decremental loop
-- rightLimit ;
tmpHigherLimit = rightLimit &#8211; X[ j ] ;
if(tmpHigherLimit < UR[ i ] ) { UR[ i ] = tmpHigherLimit ; }
} 
}
}
// pseudo code end
【００６５】
なお、自分より若い番号の優先領域が指定されている入力画像により、自分自身に指定されている優先領域の一部または全部が、１つ目のｆｏｒループの処理で削除される場合も考えられる。その場合は、２つ目のｆｏｒループの処理が示すように、削除されなかった部分のみを優先領域とすることで、矛盾のない処理としている。
【００６６】
図７に戻って、次に、パノラマ画像生成部１２０は、ステップＳＴ１６の処理に移る。このステップＳＴ１６において、パノラマ画像生成部１２０は、通常の場合における重ねる枚数を制限するために、各入力画像の使用領域を制限する。すなわち、パノラマ画像生成部１２０は、例えば、入力画像どうしの端において３枚が、端以外の部分において２枚が、重なるように、ＵＬ［ｉ］、ＵＲ［ｉ］を更新する。
【００６７】
これは、従来技術のところで述べた懸案事項１および懸案事項２についての対策である。具体的な手順について、図９を用いて説明する。図９には、入力画像の一部であるＰｉ〜Ｐｉ+２の３枚の入力画像の使用領域を示している。この各入力画像の使用領域は、ステップＳＴ１５の処理で不使用領域（削除領域）とされた領域を除いた残りの領域である。つまり、ここで言う、使用領域とは、ステップＳＴ１５の処理により指定されたＵＬ［ｉ］とＵＲ［ｉ］の間の領域、ＵＬ［ｉ＋１］とＵＲ［ｉ＋１］の間の領域、および、ＵＬ［ｉ＋２］とＵＲ［ｉ＋２］の間の領域のことである。
【００６８】
パノラマ画像生成部１２０は、入力画像Ｐｉの使用領域と入力画像Ｐｉ+２の使用領域との間に、ｂｏｕｎｄａｒｙＭａｒｇｉｎ（例えば、１６画素）以上の重なりがあるか否かを判断する。パノラマ画像生成部１２０は、ｂｏｕｎｄａｒｙＭａｒｇｉｎ以上の重なりがある場合、重なり部分がｂｏｕｎｄａｒｙＭａｒｇｉｎとなるように、図９に示すように、入力画像Ｐｉ，Ｐｉ+２の使用領域の一部を不使用領域（削除領域）ＵＵａとする。
【００６９】
このようにすることで、不使用領域を除いた後の入力画像どうしの端においては３枚が、端以外の部分においては２枚が、重なることになり、適度な重なり枚数で、パノラマ画像Ｑを作成することができる。
【００７０】
図１０のフローチャートは、上述のステップＳＴ１６の処理、つまり通常の場合における重ねる枚数を制限するために、入力画像の使用領域を制限する処理の手順を示している。
【００７１】
パノラマ画像生成部１２０は、ステップＳＴ２１において、使用領域を制限する処理を開始し、その後に、ステップＳＴ２２の処理に移る。このステップＳＴ２２で、パノラマ画像生成部１２０は、ｂｏｕｎｄａｒｙＭａｒｇｉｎとして、例えば「１６」をセットする。
【００７２】
パノラマ画像生成部１２０は、ステップＳＴ２２の処理の後、ステップＳＴ２３の、各ｉ（ｉ＝１〜Ｎ−２）についての繰り返し処理に移る。この繰り返し処理において、パノラマ画像生成部１２０は、ステップＳＴ２４において、処理を開始し、その後に、ステップＳＴ２５の処理に移る。このステップＳＴ２５において、パノラマ画像生成部１２０は、ｔｍｐ＝（Ｘ［ｉ］＋ＵＲ［ｉ］）−（Ｘ［ｉ＋２］＋ＵＬ［ｉ＋２］）−ｂｏｕｎｄａｒｙＭａｒｇｉｎを計算する。
【００７３】
その後、パノラマ画像生成部１２０は、ステップＳＴ２６において、ｔｍｐの値が正であるか否かを判断する。ｔｍｐの値が正のときには、入力画像Ｐｉの使用領域と入力画像Ｐｉ+２の使用領域との間に、ｂｏｕｎｄａｒｙＭａｒｇｉｎ以上の重なりがあることを意味する。そのため、パノラマ画像生成部１２０は、ｔｍｐの値が負であれば、直ちにステップＳＴ２８において、処理を終了し、次のｉのための処理に進む。
【００７４】
ｔｍｐの値が正であるとき、パノラマ画像生成部１２０は、ステップＳＴ２７において、ＵＲ［ｉ］＝ＵＲ［ｉ］−（ｔｍｐ／２）、ＵＬ［ｉ＋２］＝ＵＬ［ｉ＋２］＋（ｔｍｐ／２）として、ＵＲ［ｉ］とＵＬ［ｉ＋２］を更新する。そして、パノラマ画像生成部１２０は、ステップＳＴ２８において、処理を終了し、次のｉのための処理に進む。
【００７５】
ステップＳＴ２３の各ｉ（ｉ＝１〜Ｎ−２）についての繰り返し処理が終了した後、パノラマ画像生成部１２０は、ステップＳＴ２９において、使用領域を制限する処理を終了する。
【００７６】
なお、上述の説明では、端においては３枚に、端以外の部分においては２枚に、重ねる枚数を制限する場合について説明したが、一般に、端においてはＳ枚（Ｓは２以上の整数）に、端以外の部分においてはＳ−１枚に重ねる枚数を制限できる。ユーザは、ユーザ操作部１０４（図１参照）を操作して、Ｓの値を予め設定できる。上述の説明は、Ｓ＝３に設定されていた場合の例である。例えば、レンズ歪みが大きい場合には、Ｓの値を小さくして、レンズ歪みによる各入力画像の位置ずれで起こるボケを緩和できる。また、例えば、ノイズが多い場合には、Ｓの値を大きくして、ノイズの抑制された画像を得ることができる。
【００７７】
図７に戻って、次に、パノラマ画像生成部１２０は、ステップＳＴ１７の処理に移る。
上述のステップＳＴ１６の処理で、重ねる枚数はある程度制限されるが、結果として、重なる画像の枚数が多くなることもある。このステップＳＴ１７において、パノラマ画像生成部１２０は、重ねる最大枚数を制限するために、各入力画像の使用領域を制限する。すなわち、パノラマ画像生成部１２０は、例えば、どの位置においても、入力画像どうしは最大で４枚までしか重ならないように、ＵＬ［ｉ］、ＵＲ［ｉ］を更新する。
【００７８】
これも、従来技術のところで述べた懸案事項１および懸案事項２についての対策である。具体的な手順について、図１１を用いて説明する。図１１には、入力画像の一部であるＰｉ〜Ｐｉ+４の５枚の入力画像の使用領域を示している。この各入力画像の使用領域は、ステップＳＴ１６まの処理で不使用領域（削除領域）とされた領域を除いた残りの領域である。つまり、ここで言う、使用領域とは、ステップＳＴ１６までの処理により指定されたＵＬ［ｉ］とＵＲ［ｉ］の間の領域、ＵＬ［ｉ＋１］とＵＲ［ｉ＋１］の間の領域、ＵＬ［ｉ＋２］とＵＲ［ｉ＋２］の間の領域、ＵＬ［ｉ＋３］とＵＲ［ｉ＋３］の間の領域、および、ＵＬ［ｉ＋４］とＵＲ［ｉ＋４］の間の領域のことである。
【００７９】
パノラマ画像生成部１２０は、入力画像Ｐｉの使用領域と入力画像Ｐｉ+４の使用領域との間に重なりがあるか否かを判断する。パノラマ画像生成部１２０は、重なりがある場合、重なり部分がなくなるように、図１１に示すように、入力画像Ｐｉ，Ｐｉ+４の使用領域の一部を不使用領域（削除領域）ＵＵｂとする。
【００８０】
このようにすることで、不使用領域を除いた後の入力画像どうしでは最大でも４枚までの重なりとなり、適度な重なり枚数で、パノラマ画像Ｑを作成することができる。
【００８１】
図１２のフローチャートは、上述のステップＳＴ１７の処理、つまり重ねる最大の枚数を制限するために、入力画像の使用領域を制限する処理の手順を示している。
【００８２】
パノラマ画像生成部１２０は、ステップＳＴ３１において、使用領域を制限する処理を開始し、その後に、ステップＳＴ３２の、各ｉ（ｉ＝１〜Ｎ−２）についての繰り返し処理に移る。この繰り返し処理で、パノラマ画像生成部１２０は、ステップＳＴ３３において、処理を開始し、その後に、ステップＳＴ３４の処理に移る。このステップＳＴ３４において、パノラマ画像生成部１２０は、ｔｍｐ＝（Ｘ［ｉ］＋ＵＲ［ｉ］）−（Ｘ［ｉ＋４］＋ＵＬ［ｉ＋４］）を計算する。
【００８３】
その後、パノラマ画像生成部１２０は、ステップＳＴ３５において、ｔｍｐの値が正であるか否かを判断する。ｔｍｐの値が正のときには、入力画像Ｐｉの使用領域と入力画像Ｐｉ＋４の使用領域との間に重なりがあることを意味する。そのため、パノラマ画像生成部１２０は、ｔｍｐの値が負であれば、直ちにステップＳＴ３７において、処理を終了し、次のｉのための処理に進む。
【００８４】
ｔｍｐの値が正であるとき、パノラマ画像生成部１２０は、ステップＳＴ３６において、ＵＲ［ｉ］＝ＵＲ［ｉ］−（ｔｍｐ／２）、ＵＬ［ｉ＋４］＝ＵＬ［ｉ＋４］＋（ｔｍｐ／２）として、ＵＲ［ｉ］とＵＬ［ｉ＋４］を更新する。そして、パノラマ画像生成部１２０は、ステップＳＴ３７において、処理を終了し、次のｉのための処理に進む。
【００８５】
ステップＳＴ３２の各ｉ（ｉ＝１〜Ｎ−２）についての繰り返し処理が終了した後、パノラマ画像生成部１２０は、ステップＳＴ３８において、使用領域を制限する処理を終了する。
【００８６】
なお、上述の説明では、最大で４枚に重ねる枚数を制限する場合について説明したが、一般に、最大でＴ枚（Ｔは２以上の整数）に重ねる枚数を制限できる。ユーザは、ユーザ操作部１０４（図１参照）を操作して、Ｔの値を予め設定できる。上述の説明は、Ｔ＝４に設定されていた場合の例である。例えば、レンズ歪みが大きい場合には、Ｔの値を小さくして、レンズ歪みによる各画像の位置ずれで起こるボケを緩和できる。また、例えば、ノイズが多い場合には、Ｔの値を大きくして、ノイズの抑制された画像を得ることができる。
【００８７】
図７に戻って、次に、パノラマ画像生成部１２０は、ステップＳＴ１８の処理に移る。パノラマ画像生成部１２０は、このステップＳＴ１８において、各入力画像Ｐｉ（ｉ＝１〜Ｎ）の使用領域、すなわち、ＵＬ［ｉ］，ＵＲ［ｉ］を出力し、その後に、ステップＳＴ１９において、このサブルーチンの処理を終える。
【００８８】
以上説明したように、図１に示すデジタルカメラ１００において、デジタル信号処理部１１４のパノラマ画像生成部１２０では、複数の入力画像Ｐ１〜ＰＮを用いてパノラマ画像Ｑを生成する際に、優先領域ＰＡＲｉが指定されている入力画像Ｐｉがある場合、その他の入力画像の当該優先領域と重なる領域は使用禁止領域ＵＵＬ，ＵＵＲとされる（図７のステップＳＴ１３，ＳＴ１５）。そのため、例えば、動いている物体が投影されている領域がユーザにより優先領域ＰＡＲｉとして指定されていれば、パノラマ画像Ｑを生成する際にその領域に関しては１枚の画像しか使用されず、多重露光されたような像ブレの発生を防止できる。
【００８９】
また、図１に示すデジタルカメラ１００において、デジタル信号処理部１１４のパノラマ画像生成部１２０では、序列が所定の間隔だけ離れた２つの入力画像に重なりがある場合、重なる領域の一方は使用禁止領域とされる（図７のステップＳＴ１６，ＳＴ１７）。そのため、パノラマ画像Ｑを生成する際に、入力画像の重なり枚数が制限されることから、レンズ歪みによる各入力画像の位置ずれで起こる画像のボケを抑制できる。
【００９０】
＜２．変形例＞
なお、上述実施の形態において、パノラマ画像生成部１２０は、各入力画像Ｐ１〜ＰＮの使用領域を確定する際に（図２のステップＳＴ４）、以下の第１、第２の処理を行っている。第１の処理は、優先領域と重なる他の入力画像の領域を不使用領域とする処理（図７のステップＳＴ１５）である。第２の処理は、重ねる枚数を制限するために各入力画像に必要に応じて不使用領域を設ける処理（図７のステップＳＴ１６、ステップＳＴ１７）である。
【００９１】
しかし、これら第１、第２の処理の何れかだけを行って、各入力画像Ｐ１〜ＰＮの使用領域を確定することも考えられる。図１３のフローチャートは、第１の処理のみを行う場合における、各入力画像Ｐｉ（ｉ＝１〜Ｎ）の使用領域（ＵＬ［ｉ］，ＵＲ［ｉ］）を確定する処理の処理手順を示している。この図１３のフローチャートにおいて、図７のフローチャートと対応するステップには同一符号を付している。この図１３のフローチャートは、図７のフローチャートからステップＳＴ１６およびステップＳＴ１７の処理を除いたものとなっている。なお、図１３のフローチャートの各ステップの処理の説明については、図７のフローチャートの対応するステップと同様の処理が行われることから、省略する。
【００９２】
このように各入力画像Ｐ１〜ＰＮの使用領域を確定する際に、第１の処理（優先領域と重なる他の入力画像の領域を不使用領域とする処理）を行うものにあっては、以下のような効果がある。すなわち、例えば、動いている物体が投影されている領域がユーザにより優先領域として指定されていれば、パノラマ画像Ｑを生成する際にその領域に関しては１枚の画像しか使用されず、多重露光されたような像ブレの発生を防止できる。
【００９３】
また、図１４のフローチャートは、第２の処理のみを行う場合における、各入力画像Ｐｉ（ｉ＝１〜Ｎ）の使用領域（ＵＬ［ｉ］，ＵＲ［ｉ］）を確定する処理の処理手順を示している。この図１４のフローチャートにおいて、図７のフローチャートと対応するステップには同一符号を付している。この図１４のフローチャートは、図７のフローチャートからステップＳＴ１３およびステップＳＴ１５の処理を除いたものとなっている。なお、図１４のフローチャートの各ステップの処理の説明については、図７のフローチャートの対応するステップと同様の処理が行われることから、省略する。
【００９４】
このように各入力画像Ｐ１〜ＰＮの使用領域を確定する際に、第２の処理（重ねる枚数を制限するために各入力画像に必要に応じて不使用領域を設ける処理）だけを行うものにあっては、以下のような効果がある。すなわち、パノラマ画像Ｑを生成する際に、入力画像の重なり枚数が制限されることから、レンズ歪みによる各入力画像の位置ずれで起こる画像のボケを抑制できる。
【００９５】
なお、上述実施の形態においては、上述第２の処理として、通常の重ねる枚数を制限する処理（図７のステップＳＴ１６）と、重ねる最大の枚数を制限する処理（図７のステップＳＴ１７）の双方を行っているが、いずれか一方のみを行う構成であってもよい。
【００９６】
また、上述実施の形態においては、上述の第１の処理に関連して、優先領域をユーザが指定するものを示した（図１３のステップＳＴ１３）。しかし、例えば、入力画像Ｐ１〜ＰＮから動き物体の投影部分を検出し、この動き物体が含まれる領域を自動的に優先領域として指定する構成も考えられる。
【００９７】
また、上述実施の形態においては、例えばパンしながら連写した複数枚の入力画像Ｐ１〜ＰＮ、つまり撮像位置を水平方向に順次ずらして撮像された複数枚の入力画像Ｐ１〜ＰＮから１枚のパノラマ画像Ｑを生成する例を示した。しかし、複数枚の入力画像Ｐ１〜ＰＮを得る際の撮像位置のずらし方向は水平方向に限定されない。垂直方法、あるいはその他の方向も考えられる。
【００９８】
また、上述実施の形態においては、ＣＰＵ１０１の制御の下、デジタルカメラ１００のデジタル信号処理部１１４内のパノラマ画像生成部１２０で複数枚の入力画像Ｐ１〜ＰＮから１枚のパノラマ画像Ｑが生成される例を示した。しかし、デジタルカメラで撮像された複数の画像を、コンピュータ装置に送って、このコンピュータ装置内でパノラマ画像を生成することも可能である。この場合、詳細説明は省略するが、コンピュータ装置内でも、上述したパノラマ画像生成部１２０における処理と同様の処理により、各入力画像Ｐ１〜ＰＮの使用領域が確定されることで、パノラマ画像Ｑを良好に生成できる。
【００９９】
図１５は、パノラマ画像の生成に使用されるコンピュータ装置２００の構成例を示している。
【０１００】
このコンピュータ装置２００は、ＣＰＵ（Central Processing Unit）１１、メモリ１２、ディスプレイコントローラ１３、入力機器インターフェース１４、ネットワークインターフェース１５を有している。また、このコンピュータ装置２００は、外部機器インターフェース１６およびデジタルカメラインターフェース１８を有している。これらは、バス１７に接続されている。
【０１０１】
ディスプレイ１９は、ディスプレイコントローラ１３を介してバス１７に接続されている。キーボード（ＫＢＤ）２０およびマウス２１は、入力機器インターフェース１４を介してバス１７に接続されている。また、ハードディスクドライブ（ＨＤＤ）２２およびメディアドライブ２３は、外部機器インターフェース１６を介してバス１７に接続されている。デジタルカメラは、デジタルカメラインターフェース１８を介してバス１７に接続されている。また、コンピュータ装置２００は、ネットワークインターフェース１５を介して、インターネット等のネットワークに接続される。
【０１０２】
ＣＰＵ１１は、コンピュータ装置２００のメイン・コントローラである。このＣＰＵ１１は、オペレーティング・システム（ＯＳ）の制御下で、各種のアプリケーションを実行する。ＣＰＵ１１は、例えば、デジタルカメラから一度ハードディスクドライブ２２にダウンロードされた画像を処理するアプリケーション・プログラムを実行することができる。アプリケーション・プログラムの中には、上述したパノラマ画像生成処理を行う一連の処理プログラムがインプリメントされている。ＣＰＵ１１は、バス１７によって他の機器類と相互接続されている。
【０１０３】
メモリ１２は、ＣＰＵ１１において実行されるプログラム・コードを格納し、また実行中の作業データを一時保管するために使用される記憶装置である。メモリ１２は、例えば、ＲＯＭなどの不揮発性メモリおよびＤＲＡＭなどの揮発性メモリの双方を含む構成とされている。
【０１０４】
ディスプレイコントローラ１３は、ＣＰＵ１１が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイコントローラ１３において処理された描画データは、例えばフレーム・バッファ（図示しない）に一旦書き込まれた後、ディスプレイ１９によって画面出力される。例えば、ハードディスクドライブ２２から読み出された画像はディスプレイ１９で画面表示されて、ユーザは見て楽しむことができる。
【０１０５】
入力機器インターフェース１４は、キーボード２０やマウス２１などのユーザ入力機器をコンピュータ装置２００に接続するための装置である。ユーザは、キーボード２０やマウス２１を介して、画像を再生するためのコマンドなどを入力することができる。
【０１０６】
ネットワーク・インターフェース１５は、Ｅｔｈｅｒｎｅｔ（登録商標）などの所定の通信プロトコルに従って、コンピュータ装置２００を、ＬＡＮ（Local Area Network）などの局所的ネットワーク、さらにはインターネットのような広域ネットワークに接続する。
【０１０７】
ネットワーク上では、複数のホスト端末やサーバー（図示しない）がトランスペアレントな状態で接続され、分散コンピューティング環境が構築されている。ネットワーク上では、ソフトウェア・プログラムやデータ・コンテンツなどの配信サービスを行うことができる。例えば、他人が撮影した画像が保存されている他のサーバーから画像データを、ネットワーク経由でハードディスクドライブ２２へダウンロードすることができる。
【０１０８】
デジタルカメラインターフェース１８は、デジタルカメラから供給される画像をコンピュータ装置２００内に取り込むための装置である。外部機器インターフェース１６は、ハードディスクドライブ２２、メディアドライブ２３などの外部装置を、コンピュータ装置２００に接続するための装置である。
【０１０９】
ハードディスクドライブ２２は、従来周知のように、記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり、記憶容量やデータ転送速度などの点で他の外部記憶装置よりも優れている。また、このハードディスクドライブ２２は、ランダムアクセスも可能である。
【０１１０】
ソフトウェア・プログラムを実行可能な状態でハードディスクドライブ２２上に置くことをプログラムのシステムへの「インストール」と呼ぶ。通常、ハードディスクドライブ２２には、ＣＰＵ１１が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。例えば、上述したパノラマ画像生成処理を行う一連の処理プログラムを、ハードディスクドライブ２２上にインストールすることができる。
【０１１１】
メディア・ドライブ２３は、ＣＤ（Compact Disc）、ＭＯ（Magneto-Optical disc）、ＤＶＤ（Digital VersatileDisc）などの可搬型メディアを装填して、そのデータ記録面にアクセスするための装置である。可搬型メディアは、主として、ソフトウェア・プログラムやデータ・ファイルなどをコンピュータ可読形式のデータとしてバックアップすることや、これらをシステム間で移動（すなわち販売・流通・配布を含む）する目的で使用される。画像の処理を行うためのアプリケーション・プログラムを、これら可搬型メディアを利用して複数の機器間で物理的に流通・配布することができる。
【産業上の利用可能性】
【０１１２】
この発明は、複数枚の入力画像から１枚のパノラマ画像を生成する際に、各入力画像の使用領域を適切に確定できるものであり、例えば、パンしながら連写した複数の画像から１枚のパノラマ画像を生成する際に適用できる。
【符号の説明】
【０１１３】
１００・・・デジタルカメラ
１０１・・・ＣＰＵ
１０２・・・ＲＯＭ
１０３・・・ＲＡＭ
１０４・・・ユーザ操作部
１１１・・・撮像部
１１２・・・撮像信号処理部
１１３・・・Ａ／Ｄ変換部
１１４・・・デジタル信号処理部
１１５・・・記録再生部
１１６・・・記録媒体
１１７・・・表示部
１２０・・・パノラマ画像生成部
２００・・・コンピュータ装置
Ｐ１〜ＰＮ・・・入力画像
Ｑ・・・パノラマ画像
ＰＡＲｉ・・・入力画像Ｐｉに指定された優先領域
ＡＲＵｉ・・・入力画像Ｐｉの使用領域
ＵＵＲ，ＵＵＬ，ＵＵａ，ＵＵｂ・・・不使用領域（削除領域）
【図１】
2010161520.tif 000003
【図２】
2010161520.tif 000004
【図３】
2010161520.tif 000005
【図４】
2010161520.tif 000006
【図５】
2010161520.tif 000007
【図６】
2010161520.tif 000008
【図７】
2010161520.tif 000009
【図８】
2010161520.tif 000010
【図９】
2010161520.tif 000011
【図１０】
2010161520.tif 000012
【図１１】
2010161520.tif 000013
【図１２】
2010161520.tif 000014
【図１３】
2010161520.tif 000015
【図１４】
2010161520.tif 000016
【図１５】
2010161520.tif 000017
【図１６】
2010161520.tif 000018
【図１７】
2010161520.tif 000019
【図１８】
2010161520.tif 000020