(57)【要約】【課題】  複数枚の入力画像を重ね合わせてパノラマ画像を合成する際に、画像メモリとなるキャンバスのメモリ量を削減する。【解決手段】  複数枚の入力画像（スリット画像）の内の第１番目のスリット画像１４１のデータが第１のキャンバス１４２へとコピーされる。第ｋ番目のスリット画像１４３のデータと、重み関数ｆ（ｉ）１４４のデータとは乗算器１４５にて乗算される。減算器１４６からの減算結果データ（１−ｆ（ｉ））タと第１のキャンバス１４２からのデータとが乗算器１４７にて乗算される。乗算器１４５，１４７からの各乗算結果データとは、加算器１４８にて加算され、第１のキャンバス１４２へと書き戻される。重み関数ｆ（ｉ）は、各スリット画像にそれぞれ寄与率ｗ（ｉ）で重み付けして重ね合わせた結果と等価となるように設定されたものである。【選択図】  図２０
2006293851.tif 000002
【特許請求の範囲】
【請求項１】
複数枚の入力画像を重ね合わせて合成画像を作成する画像合成方法において、
既に合成された中間合成画像に現在の入力画像である現入力画像を重ね合わせて合成する際に、上記現入力画像に対して計算用重み関数ｆ（ｘ）による重み付けをし、上記中間合成画像との間で重み付け平均して加算合成し、
上記計算用重み関数ｆ（ｘ）は、最終的な合成画像における各入力画像に対しての実質的な重み関数ｗ（ｘ）による重み付けがされたものとする関数であることを特徴とする画像合成方法。
【請求項２】
上記複数枚の入力画像は、撮影方向を順次変化させて撮影範囲の一部を構成する単位画像を撮像して得られたものであることを特徴とする請求項１記載の画像合成方法。
【請求項３】
上記実質的な重み関数ｗ（ｘ）は、入力画像の重ね合わせ部分において重ね合わされる画像の枚数に応じて合計値を１とするように平均化された重みを有し、該重ね合わせ部分の周辺にゆくに従い重みを０とする関数であることを特徴とする請求項１記載の画像合成方法。
【請求項４】
複数枚の入力画像を重ね合わせて合成画像を作成する画像合成装置において、
既に合成された中間合成画像に現在の入力画像である現入力画像を重ね合わせて合成する際の上記中間合成画像を格納する記憶手段と、
上記現入力画像に対して計算用重み関数ｆ（ｘ）を乗算する第１の乗算手段と、
上記中間合成画像に対して重み合計値を１とするための１−ｆ（ｘ）の重みを乗算する第２の乗算手段と、
上記第１、第２の乗算手段からのデータを加算して加算結果のデータを上記記憶手段に記憶する加算手段とを有し、
上記計算用重み関数ｆ（ｘ）は、最終的な合成画像における各入力画像に対しての実質的な重み関数ｗ（ｘ）による重み付けがされたものとする関数であることを特徴とする画像合成装置。
【請求項５】
上記実質的な重み関数ｗ（ｘ）は、入力画像の重ね合わせ部分において重ね合わされる画像の枚数に応じて合計値を１とするように平均化された重みを有し、該重ね合わせ部分の周辺にゆくに従い重みを０とする関数であることを特徴とする請求項４記載の画像合成装置。
【請求項６】
撮影方向を順次変化させて撮影範囲の一部を構成する単位画像を撮像して入力画像とする撮像手段と、
上記撮像手段により撮像された単位画像である入力画像の一部を構成する所定サイズの画像領域を、互いに重複領域が生じるように切り出す画像切出手段と、
上記画像切出手段により切り出された画像領域を順次重ね合わせることにより、上記撮影範囲全体を表す全体画像を生成する画像合成手段とを備え、
上記画像合成手段は、既に合成された中間合成画像に現在の入力画像である現入力画像を重ね合わせて合成する際に、上記現入力画像に対して計算用重み関数ｆ（ｘ）による重み付けをし、上記中間合成画像との間で重み付け平均して加算合成するものであり、
上記計算用重み関数ｆ（ｘ）は、最終的な合成画像における各入力画像に対しての実質的な重み関数ｗ（ｘ）による重み付けがされたものとする関数であることを特徴とする撮像装置。
【請求項７】
上記実質的な重み関数ｗ（ｘ）は、入力画像の重ね合わせ部分において重ね合わされる画像の枚数に応じて合計値を１とするように平均化された重みを有し、該重ね合わせ部分の周辺にゆくに従い重みを０とする関数であることを特徴とする請求項６記載の撮像装置。
【請求項８】
複数枚の入力画像を重ね合わせて合成画像を作成する画像合成プログラムが記録された記録媒体において、
コンピュータに、既に合成された中間合成画像に現在の入力画像である現入力画像を重ね合わせて合成を行させる際に、上記現入力画像に対して計算用重み関数ｆ（ｘ）による重み付けをし、上記中間合成画像との間で重み付け平均して加算合成するプログラムが記録され、
上記計算用重み関数ｆ（ｘ）は、最終的な合成画像における各入力画像に対しての実質的な重み関数ｗ（ｘ）による重み付けがされたものとする関数であることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影方向を順次変化させて撮像することにより複数の画像領域が貼り合わされたパノラマ画像のような合成画像を作成する画像合成装置及び方法、撮像装置並びに記録媒体に関する。
【背景技術】
【０００２】
近年において、パノラマ状の画像を撮影するカメラシステムが種々提案されている。このカメラシステムは、広い視野を複数のレンズで一度に撮影する多眼式と、１個のレンズを用いる単眼式に分類される。
【０００３】
多眼式のカメラシステムは、通常のカメラとほぼ同様の操作でパノラマ状の全体画像を生成することができるという利点があるが、システム全体が高価になるという欠点がある。
【０００４】
単眼式のカメラシステムには、超広角レンズ（ワイドレンズ）を用いるものと、標準レンズを用いるものとがあるが、一般に、超広角レンズは高価であることから、標準の単眼レンズを用いて撮影方向を順にシフトさせつつ個々の単位画像に分けて連続撮影するものが提案されている。
【０００５】
例えば、特許文献１に記載されたビデオカメラは、比較的安価であるが、連続撮影した個々の単位画像を継ぎ目が目立たないように接合して一枚の全体画像を生成する画像処理技術が必須となる。すなわち、撮影方向を順次シフトさせて撮影を行う関係上、撮影された個々の視野は互いに異なることから、パターンマッチング等の技術を用いて隣接する単位画像間の位置ずれ量を推定してこれを補正する必要があるからである。また重なり合う単位画像からパノラマ状の全体画像を取得すべく、各単位画像の中心からの距離に関するボロノイ分割法を用いることにより、得られた境界線に基づいて最適な単位画像を選択する方法が提案されている。更には、相互に重複する画像領域における画素値の平均を用いることにより隣接する単位画像を滑らかにつなぐ方法、或いはメディアンフィルターを用いることにより、最適な単位画像を選択する方法も提案されている。
【０００６】
また、特許文献２に記載されたパノラマ電子スチルカメラは、モータにより自動でカメラを回転させて、スリット状の画像を得る。そして、これらスリット状の画像をつなぎ合わせることでパノラマ画像を作成できることが開示されている。
【０００７】
【特許文献１】特開平１１−４６３１７号公報
【特許文献２】特開平６−２２５２０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、例えばモータにより自動でカメラを回転させて撮像することにより得られた複数枚のスリット状の入力画像をつなぎ合わせてパノラマ画像のような合成画像を作成する場合に、各入力画像に重複部分（重なり合う部分）を持たせ、寄与率（重み）を付与して合成することが考えられるが、各入力画像毎に寄与率（重み）を付与して加算する際に、加算結果を一時保持するためのメモリ等が必要となり、多くのメモリ量が必要とされる。
【０００９】
本発明は、このような従来の実情に鑑みて提案されたものであり、複数枚の入力画像を重ね合わせてパノラマ画像のような合成画像を作成する際に、画像メモリとなるキャンバスのメモリ量を削減できるような画像合成方法及び装置、撮像装置並びに記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するために、本発明は、複数枚の入力画像を重ね合わせて合成画像を作成するために、既に合成された中間合成画像に現在の入力画像である現入力画像を重ね合わせて合成する際に、上記現入力画像に対して計算用重み関数ｆ（ｘ）による重み付けをし、上記中間合成画像との間で重み付け平均して加算合成するようにし、上記計算用重み関数ｆ（ｘ）は、最終的な合成画像における各入力画像に対しての実質的な重み関数ｗ（ｘ）による重み付けがされたものとする関数であることを特徴とする。
【００１１】
ここで、上記複数枚の入力画像は、撮影方向を順次変化させて撮影範囲の一部を構成する単位画像を撮像して得られたものであることが好ましい。
【００１２】
また、上記実質的な重み関数ｗ（ｘ）は、入力画像の重ね合わせ部分において重ね合わされる画像の枚数に応じて合計値を１とするように平均化された重みを有し、該重ね合わせ部分の周辺にゆくに従い重みを０とする関数であることが好ましい。
【００１３】
このような本発明では、現在の入力画像である現入力画像に対して、計算用重み関数ｆ（ｘ）による重み付けを行い、中間合成画像との間で重み付け平均して加算合成することにより、最終的な合成画像における各入力画像については、実質的な重み関数ｗ（ｘ）による重み付けがされたものとなる。
【発明の効果】
【００１４】
本発明によれば、複数枚の入力画像を重ね合わせてパノラマ画像のような合成画像を作成する際に、画像メモリとなるキャンバスのメモリ量を削減することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１６】
本発明の実施の形態は、例えば図１に示すような撮像装置１に適用される。この撮像装置１は、被写体を撮像する撮像部１０を備え、この撮像部１０は、被写体からの像光を結像させるためのレンズ１０ａと、レンズ１０ａを介して入射される像光を遮光する図示しないシャッタ羽根等により絞り量を調整する絞り駆動部１０ｂと、入力される被写体像に基づき電気的な撮像信号Ｃ１を生成するＣＭＯＳ(Complementary Metal-Oxide Semiconductor) イメージセンサ１１とを有している。
【００１７】
また、この撮像装置１は、ＣＭＯＳイメージセンサ１１により生成された撮像信号Ｃ１のばらつきを補償するためのＣＤＳ(Correlated Double Sampling)回路１２と、ＣＤＳ回路１２から供給される撮像信号Ｃ２をアナログ／デジタル変換処理するＡ／Ｄ変換部１３と、このＡ／Ｄ変換部１３から供給されるデジタル化した撮像信号Ｃ２としての画像データを一時的に格納し、これに所定の処理を施すディジタルシグナルプロセッサ（ＤＳＰ）１５と、接続されたＤＳＰ１５からの画像データを符号化するコーデック処理部１６と、このコーデック処理部１６から供給される画像データを格納するメモリ１７とを備えている。
【００１８】
この撮像装置１は、ＤＳＰ１５から供給される画像データをデジタル／アナログ変換処理して出力するＤ／Ａ変換部１８と、このＤ／Ａ変換部１８からの画像データをビデオ信号に変換するビデオエンコーダ部１９と、ビデオエンコーダ部１９に接続されてなり、上述のビデオ信号に基づく画像をユーザに表示するためのモニタ部２０とを備え、またこの撮像装置１は、接続された内部バス１４を介して撮像装置１全体を制御するためのＣＰＵ（Central Processing Unit）２１と、内部バス１４に接続されてなりユーザが各種操作を実行するための操作部２２と、ＣＰＵ２１から内部バス１４を介して送られる制御信号に基づき、ＣＭＯＳイメージセンサ１１からＤＳＰ１５に至るまでの信号処理系を制御するタイミングジェネレータ２３と、内部バス１４にそれぞれ接続されてなるモータ２４並びに露出計２６とを備えている。
【００１９】
撮像部１０は、ＣＰＵ２１から供給された動作信号に基づき、自動絞り制御動作や自動焦点制御動作等を実行する。また、この撮像部１０は、かかる動作信号に基づいて、撮影方向を水平、垂直方向へ調整し、また操作部２２を介して入力される絞り値に応じて、図示しないシャッタ羽根を開閉させることにより絞り量を調整する。
【００２０】
ＣＭＯＳイメージセンサ１１は、レンズ部１０ａ並びに絞り駆動部１０ｂを介して入射される被写体像を電気信号に変換した撮像信号Ｃ１を生成し、これをＣＤＳ回路１２へ出力する。なお、このＣＭＯＳイメージセンサ１１は、撮像面上に結像された被写体像のうち一部の領域を選択し、当該領域の画素値のみを効率よく読み出すことができる。
【００２１】
ＣＤＳ回路１２は、ＣＭＯＳイメージセンサ１１から供給される撮像信号Ｃ１の雑音を相関二重サンプリング回路を用いて除去し、或いはゲインを増幅させるための処理を施し、これを撮像信号Ｃ２としてＡ／Ｄ変換部１３へ出力する。Ａ／Ｄ変換部１３は、このＣＤＳ回路１２から供給される撮像信号Ｃ２をアナログ／デジタル変換処理し、これをＤＳＰ１５へと出力する。ちなみに、このＣＤＳ回路１２及びＡ／Ｄ変換部１３における各動作タイミングは、一定のフレームレートで画像取り込みを継続すべく、タイミングジェネレータ２３により制御される。
【００２２】
ＤＳＰ１５は、ともに図示しない信号処理用プロセッサと、画像用ＲＡＭとを有するブロックである。Ａ／Ｄ変換部１３からの撮像信号Ｃ２で表される画像は、タイミングジェネレータ２３による制御の下、一定のフレームレートで構成されるストリームデータとして供給され、この画像用ＲＡＭに一時的に格納される。図示しない信号処理用プロセッサは、この画像用ＲＡＭに格納される画像に対して、予めプログラムされた画像処理を施すための設定がなされている。この図示しない画像用ＲＡＭにおいて画像処理された画像は、コーデック処理部１６とＤ／Ａ変換部１８の何れか、或いは双方へ送信される。
【００２３】
コーデック処理部１６は、ＤＳＰ１５から送信された画像につき、所定の方式でデータ量を圧縮する。ここでは、ＪＰＥＧ（Joint Photographic Experts Group）等の規格に基づいて圧縮符号化してもよい。
【００２４】
メモリ１７は、例えば半導体メモリ,磁気記録媒体,光磁気記録媒体等で構成され、コーデック処理部１６において圧縮処理された画像データを所定のアドレスに記録するための媒体である。このメモリ１７を着脱自在な記録媒体として構成することにより、撮像した画像を他のＰＣ等に移し換えてこれを鑑賞し、又は各種検索や処理を実行することができる。
【００２５】
モニタ部２０は、Ｄ／Ａ変換部１８においてアナログ信号に変換され、さらにビデオエンコーダ部１９においてビデオ信号に変換された画像を表示する。このモニタ部２０は、ユーザ自身が撮像処理を実行しつつリアルタイムに撮影内容の確認ができるように、撮像装置１の筐体側面等に設けられる液晶表示素子等で構成してもよい。
【００２６】
ＣＰＵ２１は、内部バス１４を介して、実行すべき制御プログラムを格納するＲＯＭやデータの蓄積や展開等に使用する作業領域としてのＤＲＡＭ等が接続され、撮像装置１全体を制御する中央演算ユニットとしての役割を担う。ＣＰＵ２１は、操作部２２から供給される操作信号Ｄ１や露出計２６から送信される明るさに関する情報に基づいて、動作信号を生成し、これを内部バス１４を介して撮像部１０へ送信する。
【００２７】
操作部２２は、撮影画角や撮影方向をユーザが自由に調整するため、或いは撮像部１０における絞り値や露出時間を自由に調整するためのキー等で構成される。この操作部２２は、ユーザにより入力された情報に応じた操作信号Ｄ１を生成し、これを内部バス１４を介してＣＰＵ２１へ送信する。さらに、この操作部２２は、シャッタボタン２２１を有し、ユーザによるシャッタボタン２２１の押圧入力操作に基づいて、撮像を開始又は停止する旨の操作信号Ｄ１を生成し、これを内部バス１４を介してＣＰＵ２１へ送信する。
【００２８】
モータ２４は、例えばステッピングモータ等のように、撮像部１０を旋回させるための駆動源として構成される。このモータ２４は、ＣＰＵ２１からの動作信号に応じて回転する。これにより、撮像部１０の撮影方向を水平方向、或いは垂直方向に変更することができる。
【００２９】
露出計２６は、撮像部１０により撮像される対象の明るさを識別するためのセンサであり、この識別した明るさに関する情報をＣＰＵ２１へ送信する。
【００３０】
上述の如き構成からなる撮像装置１により撮像された被写体像は、ＣＭＯＳイメージセンサ１１において電気信号に変換されて撮像信号Ｃ１となり、ＣＤＳ回路１２により雑音を除去されて撮像信号Ｃ２となり、更にはＡ／Ｄ変換部１３においてアナログ／デジタル変換処理される。また、この撮像信号Ｃ２で示される画像は、ＤＳＰ１５における図示しない画像用ＲＡＭに格納され、所定の画像処理が施された後、Ｄ／Ａ変換部１８によりデジタル／アナログ変換処理されてモニタ部２０において表示され、或いはコーデック処理部１６により符号化されてメモリ１７に記録されることになる。
【００３１】
本発明は、さらに以下に説明する撮像装置３に適用することができる。この撮像装置３において上述した撮像装置１と同一の構成、要素については、図１の説明を引用することにより、ここでの説明を省略する。
【００３２】
この撮像装置３は、例えば図２に示すように、レンズ部１０ａを含む撮像部１０を介して被写体を撮像し、連結された回転軸を回転中心として図２中の矢印Ａ方向へ回転可能な第１の筐体３１と、第１の筐体の下側に配設され、ユーザの片手で把持可能な第２の筐体３２とを備えている。ちなみに、この第２の筐体３２には、シャッタボタン２２１と、撮像した画像をユーザ自身が視認するための表示部４３とが配設されている。
【００３３】
図３(a)、(b)は、この撮像装置３の内部構成を示している。この第１の筐体３１は、レンズ部１０ａと、ＣＭＯＳイメージセンサ１１と、少なくともＣＤＳ回路１２並びにＡ／Ｄ変換部１３を有する第１の電子回路４１とを備えている。
【００３４】
また、第２の筐体３２は、回転軸３８を介して第１の筐体３１に連結されてなり、この回転軸３８を回転させるためのモータ５１と、この回転軸３８の回転角を制御するためのフォトインターラプタ５２並びに遮蔽板５３と、この回転軸３８の回転動作に対して物理的な制限を加えるためのストッパー５４と、第２の筐体３２の上面に設けられた連結穴に挿設されてなり、上記回転軸３８を支持することにより円滑な回転動作を実現するためのベアリング５５と、撮像装置３の各構成要素を制御するための第２の電子回路４２と、各構成要素を動作させるためのバッテリー４４とを備えている。
【００３５】
第２の電子回路４２は、図３(b)に示すように、ＤＳＰ１５と、メモリ１７と、ＣＰＵ２１と、操作部２２と、シャッタボタン２２１と、表示部４３と、モータやフォトインターラプタ、または外部機器との間で画像データを送受信するためのインターフェース４７とを備え、また第１の電子回路４１との間で電気的な信号を送受信するための配線５６が接続されている。
【００３６】
ちなみに、この第２の筐体３２は、上述した各構成要素に加えて、一般撮影モードと、パノラマ撮影モードとを切り換えるためのボタンや、一般的なデジタルカメラが有する各種ボタンが配設されている。
【００３７】
モータ５１は、供給された駆動パルスに応じた角速度で回転軸３８を回転させるステッピングモータ等で構成される。このモータ５１により回転させられる回転軸３８の一端側には第１の筐体３１が連結され、その中間にはストッパー５４が固着される。またこの回転軸３８の他端側には遮蔽板５３が固着されている。すなわち、このモータ５１に基づく回転軸３８の回転動作に応じて第１の筐体３１が回転するとともに、遮蔽板５３並びにストッパー５４も同様に回転することになる。ちなみに、このモータ５１による回転軸３８の回転角度における相対的な変位は、モータ５１に与えるパルス数で検出することができる。
【００３８】
表示部４３は、Ｄ／Ａ変換部１８,ビデオエンコーダ部１９,モニタ部２０に準ずる構成を全て含み、第２の筐体３２側面に設けた液晶表示素子を介して生成した画像を表示する。この表示部４３は、回転軸３８により回転させられる第１の筐体３１と離間して設けられているため、回転軸３８の回転に支配されることなく、視認性を向上させることができる。
【００３９】
フォトインターラプタ５２は、発光体５２ａと受光体５２ｂとが上下に亘って設けられてなる。この受光体５２ｂは、発光体５２ａからの光信号を受光し続けることになるが、回転軸３８の回転に応じて遮蔽板５３がフォトインターラプタ５２付近まで回転されてきた場合には、かかる光信号が遮蔽板５３により遮蔽されることになる。すなわち、この受光体５２ｂが受光する光信号の遮蔽状況から、回転軸３８の回転状況を識別することが可能となる。
【００４０】
なお、回転軸３８が可動範囲を超えて回転した場合には、この遮蔽板５３が光信号を遮蔽し、当該遮蔽に応じてモータ５１が停止するように構成としてもよい。この図４は、フォトインターラプタ５２並びに遮蔽板５３を図３中のＢ方向から捉えたものである。この図４に示すように、可動範囲内においては、遮蔽板５３が受光体５２ｂにより受光される光信号を遮ることがないため、モータ５１が停止することなく、回転軸３８を自在に回転させることができる。これに対して、可動範囲を超えた場合には、遮蔽板５３が受光体５２により受光される光信号を遮ることになり、モータ５１が停止することになる。なお、この可動範囲を超えた場合には、さらにストッパー５４を介して第１の筐体３１の回転動作を物理的に抑え込むようにしてもよい。
【００４１】
このように、第２の筐体３２に対する第１の筐体３１の回転範囲を制限する仕組みを導入することにより、第１の筐体３１から第２の筐体３２へのデータの伝送を、フォトカプラを用いた特殊なジョイント部品を使用することなく、通常の可動部分で用いられるようなフレキシブルな配線素材を用いて実現することができる。
【００４２】
上述の構成からなる撮像装置３を用いるユーザは、第２の筐体３２を把持しつつ、撮影を行う。かかる場合において第２の筐体３２外部に設けられたシャッタボタン２２１を押圧することにより、上述した撮影開始のタイミング、撮影終了のタイミングを指定することができる。第２の筐体３２を片手で把持するユーザの指先に当たる箇所に、このシャッタボタン２２１を設けることにより、指先の小さな動きで撮影の開始及び終了を支持することができる。
【００４３】
従って、このような第２の筐体３２を片手で把持し、シャッタボタン２２１を押圧することにより、図５(a)に示す状態から、第１の筐体３１が徐々に回転し、図５(b)に示すように撮像部１０の撮影方向が変化する。また、このシャッタボタン２２１を更に押圧し続けることにより、図５(c)に示すように、第１の筐体３１が更に回転する結果、撮像部１０の撮影方向がさらに変化することになる。すなわち、この第１の筐体３１は、連結された回転軸３８を回転中心として撮像部１０の撮影方向が順次変化するように回転可能となるように構成されてなる。
【００４４】
ちなみに、この図５(c)に示す状態においてこのシャッタボタン２２１を押し続けた場合に、上述したフォトインターラプタ５２により、モータ５１の回転を抑制させた上で、この第１の筐体３１を更に反対方向へ向かって回転させるようにしてもよい。
【００４５】
ちなみに、この第２の筐体３２には、バッテリー４４やモータ５１等の質量の大きい部品や、多くの回路より構成される第２の電子回路４２が搭載されるのに対し、第１の筐体３１には、撮影に必要なレンズ部１０ａや、ＣＭＯＳイメージセンサ１１、第１の電子回路４１等のように比較的質量の小さい部品が搭載されている。すなわち、この第１の筐体３１は、第２の筐体３２と比較して質量が軽くなるような構成とされている。これにより、第１の筐体３１を回転させる回転軸３８やベアリング５５等の部品、更にはモータ５１等への機械的負荷を軽減させ、製品全体のコストを低く抑え込むことが可能となり、高品質なパノラマ撮影機能を備えた一般的なコンスーマ用のデジタルカメラを低コストで実現することも可能となる。
【００４６】
図６は、撮像装置３による撮影工程を示すフローチャートである。
【００４７】
撮像装置３は、ハードウェアの診断や初期化を行った後、ステップＳ６１へ移行する。
【００４８】
ステップＳ６１では、通常のカメラと同様に、自動露出機能等の補助を利用しつつ、絞り量や露出等をユーザ自身が調整する。その結果、各種撮影パラメータが決定される。
【００４９】
次にステップＳ６２へ移行し、シャッタボタン２２１の押圧を調べ、撮影開始タイミングを識別する。シャッタボタン２２１が押圧されていればそのままステップＳ６３へ移行し、押圧されていなければステップＳ６１へ戻る。
【００５０】
ステップＳ６３へ移行した場合には、撮像部１０により撮像を行う。撮像により取得されたデータは、ＣＤＳ回路１２、Ａ／Ｄ変換部１３を経て、ＤＳＰ１５へ転送される。
【００５１】
ステップＳ６４では、ＤＳＰ１５が画像処理を実行することによりパノラマ状の全体画像を合成する。図７は、連続撮影した画像をつなぎ合わせて１枚のパノラマ状の全体画像を合成する様子を示している。ここで、連続して撮影された各単位画像は、互いに重複領域が生じるように撮影されているものとする。この重複領域については、従来より知られている合成方法に基づいてつなぎ合わせることにより、図７に示すような全体画像を合成することができる。ちなみに、この合成方法として、例えば、アルファブレンディング等の合成技法を用いるようにしてもよい。
【００５２】
次にステップＳ６５へ移行し、第１の筐体３１を第２の筐体３２に対して回転させることにより、撮像部１０による撮影方向を僅かに変化させる。この第１の筐体３１の回転量は、少なくとも連続して撮影された各単位画像間において互いに重複領域が生じるように調整される。この回転量は、撮像装置３の設計時において幾何学的な計算により予め求めておくこともできる。また、撮影時における撮像装置３全体の揺れ量を検出するための機能を実装しておくことにより、第１の筐体３１の回転量を動的に微調整するようにしてもよい。
【００５３】
なお、このステップＳ６５において、モータ５１の回転量をできるだけ小さく設定しておき、かつ単位時間当たりの撮影枚数を増加させて連続撮影を実行することにより、視差による歪みや動被写体を撮影することによる画像の不連続さを解消することができ、高画質な全体画像を合成することが可能となる。このような撮影を行うためには、モータ５１の断続的かつ高精度の制御が必要となるが、上述の如く、この第１の筐体３１は、第２の筐体３２と比較して質量が軽くなるような構成とされているため、これらを低コストで実現することが可能となる。
【００５４】
ステップＳ６６では、再びシャッタボタン２２１の押圧を調べ、撮影終了のタイミングを識別する。このステップＳ６６においてシャッタボタン２２１の押圧が確認できた場合には、撮影を継続させるべくステップＳ６３へ戻る。これに対し、このステップＳ６６においてシャッタボタン２２１の押圧が確認できなかった場合には、撮影の終了動作へ移行すべくステップＳ６７へ移行する。
【００５５】
ステップＳ６７では、撮影終了時の処理として、合成したパノラマ状の全体画像をメモリ１７へ格納する。
【００５６】
このように、第１の筐体３１と離間した第２の筐体３２にシャッタボタン２２１を搭載することにより、指先の小さな操作だけで撮影の開始、終了を指示することができる。また、第２の筐体３２に表示部４３を備えることにより、得られた画像の視認性を向上させることができる。
【００５７】
また、実際に回転する第１の筐体３１内部にレンズ部１０ａやＣＭＯＳイメージセンサ１１等のように撮影に最低限必要な部品を少なくとも実装することにより、回転部分の質量が軽くなるため、この第１の筐体３１における回転部分を支える部品やこれを回転駆動させるモータ５１のコストを下げることができる。またモータ５１等の駆動源となる部品をユーザにより把持される第２の筐体３２内に実装することにより、モータ５１の回転に伴う振動による影響を極力抑えることもできる。
【００５８】
またフォトインターラプタ５２を用いて、第１の筐体３１の回転範囲を制限することにより、回転部分とホールド部分間のデータ転送を通常の安価なフレキシブルな配線素材を用いて実現することができる。
【００５９】
なお、この撮像装置３において、上述した撮像装置１の動作を全て行わせるようにしてもよい。これにより、上述した撮像装置３自体の効果に加えて、切り出したスリット状の画像領域間を重複させることによる画質の向上、システム全体のコスト低減等の撮像装置１の効果を相乗的に奏するような撮影システムを構築することも可能となる。
【００６０】
また、本発明の実施の形態を適用した撮像装置３は、上述した実施の形態に限定されるものではなく、ＤＳＰ１５、ＣＰＵ２１、表示部４３、モータ５１、操作部２２（シャッタボタン２２１）、バッテリー４４のうち、何れか１つ以上が第２の筐体３２内に設けられていればよい。
【００６１】
ところで、本発明の実施の形態においては、上記図６のステップＳ６４や図７と共に説明したように、連続して撮影された各単位画像は、互いに重複領域が生じるようにされている。この点について、さらに説明する。
【００６２】
比較例として、モータにより自動でカメラを回転させて、スリット状の画像を得て、これらスリット状の画像をつなぎ合わせることでパノラマ画像を作成する際に、各スリット画像同士には交わる部分がないような装置を想定する。このような比較例装置の場合には、正確に回転するモータが必要となる。また、正確な方向を撮影するために、三脚に固定する必要がある。もし手持ち撮影を行おうとすると、複数枚のスリット画像を撮影している際に、手ブレにより撮影する方向が微妙にずれてしまい、有効なパノラマ画像を生成することができない。
【００６３】
図８の（Ａ）には、カメラ１１１を上から見た模式的な平面図を示しており、カメラ１１１は紙面に垂直な軸に対して回転をしながら撮影を繰り返す。最初に撮像範囲１１２＿１に示す方向の撮影が行われる。そして、カメラはモータにより回転される。回転後、撮像範囲１１２＿２に示す方向にカメラが向くので、その方向の撮影が行われる。以降、回転と撮影を繰り返すことで、順次撮像範囲１１２＿３、１１２＿４、１１２＿５、１１２＿６に示す方向の撮影が行われる。これら方向の撮影画像（スリット画像）はつなぎ合わされて１つのパノラマ画像となる。
【００６４】
図８の（Ｂ）は、このようなカメラ１１１を手持ちで撮影した場合を示している。撮影開始時には、図８のカメラ１１１に示すカメラの位置（向き）で、まず撮像範囲１１２＿１に示す方向の撮影が行われる（図８の（Ａ）と同様）。そして、カメラ１１はモータにより回転するが、この回転の最中に、手持ち撮影のため、カメラ１１１’に示す位置（向き）に動いてしまったと仮定する。回転後、撮影を行うが、カメラ１１１’に示すような位置と向きに移動してしまっているので、図８の（Ａ）に示す撮像範囲１１２＿２の向きとは違い、撮像範囲１１２＿２’の向きの撮影となる。さて、このようにして撮影されたスリット画像では、角度範囲１１３に示す方向の撮影は行われていない。そのため、撮影されたスリット画像をつなぎ合わせることができずパノラマ画像を生成することはできない。つまり、重複領域のないスリット画像をつなぎ合わせるような装置では、手持ち撮影においてパノラマ画像を生成することができないことがある。
【００６５】
これに対して、上記図６のステップＳ６４や図７と共に説明した本発明の実施の形態のように、スリット画像（単位画像）同士が交わり（重複領域）を持つように撮影することにより、手持ち撮影時にも各画像を有効につなぎ合わせることができ、パノラマ画像を生成することができる。
【００６６】
図９の（Ａ）には、本発明の実施の形態に用いられる上述した撮像装置（カメラ）３を上から見た模式的な平面図を示しており、撮像装置３は紙面に垂直な軸に対して回転をしながら撮影を繰り返す。この撮像装置３により、最初に撮像範囲１１４＿１に示す方向の撮影が行われる。この撮像装置（カメラ）３は、上述したようにモータにより回転される。回転後、撮像範囲１１４＿２に示す方向に撮像装置３が向くので、その方向の撮影が行われる。以降、回転と撮影を繰り返すことで、順次撮像範囲１１４＿３、・・・、１１４＿ｋ、・・・に示す方向の撮影が行われる。これら方向の撮影画像（単位画像、スリット画像）は、交わる部分（重複領域）で重なるように合成されて１つのパノラマ画像となる。なお、例えば、各スリット画像の撮影範囲は、角度にして５度分であり、モータの回転は、１回につき１度回転すると仮定する。
【００６７】
この撮像装置（カメラ）３を手持ちで撮影した場合について図９の（Ｂ）を参照しながら説明する。撮影開始時には撮像装置３の位置（向き）に応じて、まず撮像範囲１１４＿１に示す方向の撮影が行われる（図９の（Ａ）と同様）。そして、撮像装置３はモータにより回転するが、この回転の最中に、手持ち撮影のため、撮像装置（カメラ）３’に示す位置（向き）に動いてしまったと仮定する。回転後、撮影を行うが、撮像装置３’に示すような位置と向きに移動してしまっているので、図９の（Ａ）に示す撮像範囲１１４＿２の向きとは違い、撮像範囲１１４＿２’の向きの撮影となる。比較例（図８の（Ｂ））では、撮影されない角度範囲１１３があったが、本発明の実施の形態においては、マージンがある（手ブレがないと仮定したときに、各スリット画像の撮影する方向には重複している部分がある）ので、手ブレがあっても撮影できない方向はない。例えば、図９の（Ｂ）の角度範囲１１５に示す方向は、撮像範囲１１４＿１の撮影画像、撮像範囲１１４＿２’の撮影画像の両方に存在している。このように撮影された画像は位置合わせを行いながら重ね合わせていくことで、最終的に１つのパノラマ画像のような合成画像を作成することができる。
【００６８】
また、「重複させて撮影して、重ね合わせていく」ということは、各スリット画像にランダムノイズがあったとしても重ねることでノイズの少ない鮮明なパノラマ画像のような合成画像を作成できることを意味している。このようなメリットもある。
【００６９】
次に、図１０を用いて、各スリット画像（単位画像）を重ねていくことについて説明する。図中の矩形部分は、各スリット画像を模式的に表したものである。（ｋ−１）番目に撮影されたスリット画像を１２０＿（ｋ−１）で示し、ｋ番目に撮影されたスリット画像を１２０＿ｋで示し、（ｋ＋１）番目に撮影されたスリット画像を１２０＿（ｋ＋１）で示している。他の番号を付していない矩形のスリット画像についても同様である。
【００７０】
図１０において、各スリット画像は、説明を簡略化するために、長さの単位として、１度分の角度に相当する撮影画像の幅を１とし、横幅の長さを５としている。従って、５度分のスリット画像は、長さ５である。撮影は、およそ１度ずつずれながら撮影されているので、各スリット画像は、重ねる際におよそ長さ１だけずれて重ねられてゆき、重ね合わせ部分（重複領域）の長さは４となる。なお、これらの数値は任意に設定すればよいことは勿論である。
【００７１】
さて、一般的に画像を重ねて合成画像を作る場合、その重なりの境界部分を滑らかに接続するために、位置に依存した重み関数を使った重み付き加算が行われる。すなわち、重ねる画像の周辺分において、その画像の寄与率が０になるように重み関数を設定することで境界部分を滑らかにすることができる。このことは、例えば、P. J. Burt and E. H. Adelson, “A multiresolution spline with application to image mosaics,” ACM Trans. on Graphics, Vol. 2, no. 4, pp. 217-236, 1983 の Fig. 2を用いて説明されている。ただし、重み付き加算をする際に注意すべき点は、すべての重ねる画像の重みの合計値が１となるようにしなくてはいけない。もし重みの合計値が１より大きければ、明るい画像になってしまう。逆に、小さければ、暗い画像になってしまうからである。
【００７２】
今回のスリット画像を重ねる際にも、この「位置に依存した重み関数を使った重み付き加算」の方法を使うことができる。すなわち、重みを付けて、各スリット画像の周辺部分にゆくに従い、そのスリット画像の寄与率（重み）を０にしてゆく。これにより、微妙な誤差（装置の精度上の問題）のために正確に位置を合わせてスリット画像を重ねることが困難であっても、重ねた画像同士の境界で位置ずれが目立たなくなり、滑らかに接続することができる。
【００７３】
図１０には、「周辺部分にゆくに従い重みを０にしてゆく」という重みｗ（ｘ）の典型的な例を記す。図中のｗ（ｘ）は、ｋ番目に撮影されたスリット画像１２０＿ｋの、結果画像（合成画像、パノラマ画像）に対する寄与率を示している。ここで図中横方向のｘ軸は、重ねてゆく方向を示しており、スリット画像１２０＿ｋの左端をｘ＝０としている。他のスリット画像の寄与率（重み）も同様である。
【００７４】
ここで、図１０の例では、５枚のスリット画像が重なるようにしてパノラマ画像が作成されてゆくことから、５枚の画像を重ねるので、１枚あたりの寄与率は１／５にすることが考えられる。しかしながら、以下のことを考慮する必要がある。すなわち、各スリット画像の周辺部分に行くに従い、そのスリット画像の寄与率（重み）を０にしてゆく。これにより、微妙な誤差（装置の精度上の問題）のために正確に位置を合わせてスリット画像を重ねることが困難であっても、重ねた画像同士の境界で位置ずれが目立たなくなり、滑らかに接続することができる。そこで、この点を考慮すると、各スリット画像の中心部分では、１／４の寄与率で、周辺部分で０にしてゆくようにすることが好ましい。中心部分の寄与率が、１／５でなく、１／４になるのは、各スリット画像の寄与率の合計値を１にするためである。このように「中心部分では、１／４の寄与率で、周辺部分で０にしてゆく」という特徴を有するｗ（ｘ）は意味のある関数である。
【００７５】
図１１に各スリット画像の寄与率（重み）を示している。紙面の都合上、（ｋ−５）番目から（ｋ＋５）番目に撮影されたスリット画像１２０＿（ｋ−５）〜１２０＿（ｋ＋５）についてのみ記してある。さらに、図１１では、各スリット画像は横方向に正確に１ずつずれた位置関係にある場合を示している。図１１から分かるように、任意の位置ｘに対して、各スリット画像の寄与率（重み）を加算した値は１となっている。従って、各スリット画像を、ｗ（ｘ）による重み付き加算をすることで、適切な明るさのパノラマ画像のような合成画像が作成される。
【００７６】
ところで、この図１１は、各スリット画像の位置関係が横方向（ｘ軸方向）に１ずつずれた場合を示していたが、実際には、先に説明したとおり、手持ち撮影の場合の手ブレによる位置ずれや、装置の精度上の問題で、正確に１ずつずれるとは限らない。この様子を図１２に示す。
【００７７】
図１２には、各スリット画像の寄与率（重み）を示している。図１１と同様、紙面の都合上、（ｋ−５）番目から（ｋ＋５）番目に撮影されたスリット画像１２０＿（ｋ−５）〜１２０＿（ｋ＋５）についてのみ記している。図１２は、各スリット画像は、正確には１ではないが、およそ１ずつずれた位置関係にある場合を示している。図１２から分かるように、任意の位置ｘに対して、各スリット画像の寄与率（重み）を加算した値はおよそ１となっているが正確に１とはなっていない。従って、各スリット画像を、ｗ（ｘ）による重み付き加算をすることで、明るさにムラのあるパノラマ画像が作成されてしまう。そこで、各位置における寄与率（重み）の合計値で、その位置の「重み付き加算」の結果を割ることを行う。これにより、正規化されるので、ムラのない適切な明るさのパノラマ画像が作成される。
【００７８】
以上を踏まえて、パノラマ画像のような合成画像の作成手順を、図１３〜図１５を参照しながら説明する。なお、回転しながらスリット画像を撮影する具体例については、図２〜図７と共に説明した通りである。以下の説明では、複数のスリット画像が既に存在しているとして、それらスリット画像からパノラマ画像を生成する方法について述べる。このパノラマ画像の生成処理は、例えば上記図１や図３の主としてＤＳＰ１５で行われ、処理手順の制御等にＣＰＵ２１が用いられることもある。
【００７９】
まず、図１３のステップＳ１で、第１番目（すなわち１枚目）のスリット画像の左上の位置（Ｘ１，Ｙ１）を設定する。最初の１枚目なので、（Ｘ１，Ｙ１）＝（０，０）とし、次のステップＳ２に進む。
【００８０】
ステップＳ２では、対象となるスリット画像の番号を表すｋとして２をセットし、次のステップＳ３に進む。
【００８１】
ステップＳ３では、第（ｋ−１）番目のスリット画像に対する第ｋ番目のスリット画像の位置（相対位置、移動量）を求める。この２つの画像の位置関係を求める方法は、従来から行われている画像のマッチング処理（パターンマッチング処理等）により求めることができることから、その詳細説明を省略する。求められた位置関係（移動量）を（ＭＸｋ，ＭＹｋ）として、ステップＳ４に進む。
【００８２】
ステップＳ４では、（Ｘｋ−１，Ｙｋ−１）＋（ＭＸｋ，ＭＹｋ）を計算し、その結果を（Ｘｋ，Ｙｋ）とする。第（ｋ−１）番目の画像の位置が（Ｘｋ−１，Ｙｋ−１）であり、第（ｋ−１）番目のスリット画像に対する第ｋ番目のスリット画像の位置関係が（ＭＸｋ，ＭＹｋ）であるので、結果として、（Ｘｋ，Ｙｋ）は第ｋ番目の画像の位置となる。ステップＳ４の後、ステップＳ５に進む。
【００８３】
ステップＳ５では、全てのスリット画像の位置を求めたかを判断する。すなわち、対象となるスリット画像の番号を表すｋが、最後のスリット画像を示しているかを判断する。最後のスリット画像を示していれば、ステップＳ７（図１４）に進む。そうでなければ、ステップＳ６に進む。
【００８４】
ステップＳ６で、ｋの値を１だけインクリメントして、次のスリット画像の位置（Ｘｋ，Ｙｋ）を求める処理へと進む。すなわち、ステップＳ６の後、上記ステップＳ３に戻って、上述したステップＳ３，Ｓ４の処理を行った後、ステップＳ５に進む。
【００８５】
ステップＳ７に進んだ時点で、全てのスリット画像の位置（Ｘｋ，Ｙｋ）が求められている。なお、もし手ブレや装置の精度上の問題がなければ、正確に（Ｘｋ，Ｙｋ）＝（ｋ−１，０）となる。
【００８６】
ステップＳ７では、対象となるスリット画像の番号を表すｋとして１をセットする。さらに、第１のキャンバスと第２のキャンバスの値をクリアし（すなわち、値を０とし）、ステップＳ８に進む。ここで、キャンバスとは、画像データを記憶する１面分のメモリに相当するものであり、例えば上記図１や図３のメモリ１７を用いることができる。
【００８７】
ステップＳ８では、第ｋ番目のスリット画像に寄与率（重み）を乗算したデータを第１のキャンバスの位置（Ｘｋ，Ｙｋ）のデータに加算して、同じ位置（Ｘｋ，Ｙｋ）に書き戻す。より正確に述べると、第ｋ番目のスリット画像の各画素の位置（ｉ，ｊ）に対して、その位置（ｉ，ｊ）に対応した寄与率（重み）ｗ（ｉ）を第ｋ番目のスリット画像のその画素の値に乗算したデータを計算し、さらに、その乗算結果を第１のキャンバスの位置（Ｘｋ＋ｉ，Ｙｋ＋ｊ）のデータに加算して、第１のキャンバスの同じ位置（Ｘｋ＋ｉ，Ｙｋ＋ｊ）に書き戻す。具体的には、第ｋ番目のスリット画像の各画素の位置（ｉ，ｊ）に対して、次の式１を計算することになる。
【００８８】
Ｃ１（Ｘｋ＋ｉ，Ｙｋ＋ｊ）
＝Ｃ１（Ｘｋ＋ｉ，Ｙｋ＋ｊ）＋ｗ（ｉ）×Ｄｋ（ｉ，ｊ）    …（式１）
なお、式１において、Ｃ１（ｐ，ｑ）は第１のキャンバスの位置（ｐ，ｑ）における値であり、ｗ（ｉ）は寄与率（重み）であり、Ｄｋ（ｉ，ｊ）は第ｋ番目のスリット画像の位置（ｉ，ｊ）の値である。ここでｗ（ｉ）は、前述したように重ねる方向（ｘ軸）にのみ依存する関数であるので、ｗ（ｉ，ｊ）ではなくｗ（ｉ）と記してある。ステップＳ８の後、ステップＳ９に進む。
【００８９】
ステップＳ９では、寄与率（重み）を第２のキャンバスの位置（Ｘｋ，Ｙｋ）のデータに加算して、同じ位置（Ｘｋ，Ｙｋ）に書き戻す。より正確に述べると、第ｋ番目のスリット画像の各画素の位置（ｉ，ｊ）に対応した寄与率（重み）ｗ（ｉ）を、第２のキャンバスの位置（Ｘｋ＋ｉ，Ｙｋ＋ｊ）のデータに加算して、第２のキャンバスの同じ位置（Ｘｋ＋ｉ，Ｙｋ＋ｊ）に書き戻す。具体的には、第ｋ番目のスリット画像の各画素の位置（ｉ，ｊ）に対して、次の式２を計算することになる。
【００９０】
Ｃ２（Ｘｋ＋ｉ，Ｙｋ＋ｊ）
＝Ｃ２（Ｘｋ＋ｉ，Ｙｋ＋ｊ）＋ｗ（ｉ）      …（式２）
なお、式２において、Ｃ２（ｐ，ｑ）は第２のキャンバスの位置（ｐ，ｑ）における値であり、ｗ（ｉ）は寄与率（重み）である。ステップＳ９の後、ステップＳ１０に進む。
【００９１】
ステップＳ１０では、全てのスリット画像について、第１のキャンバスを使った重み付き加算、および、第２のキャンバスを使った寄与率（重み）の合計値の計算を行ったかを判断する。すなわち、対象となるスリット画像の番号を表すｋが、最後のスリット画像を示しているかを判断する。最後のスリット画像を示していれば、図１５のステップＳ１２に進み、そうでなければ、ステップＳ１１に進む。
【００９２】
ステップＳ１１で、ｋの値を１だけインクリメントして、次のスリット画像の重み付き加算および寄与率（重み）の合計値を計算する処理へと進む。すなわち、ステップＳ１１の後、上記ステップＳ８に戻る。
【００９３】
ステップＳ１２に進んだ時点で、全てのスリット画像の重み付き加算を行った結果が第１のキャンバスに格納されており、かつ、寄与率（重み）の合計値の計算結果が第２のキャンバスに格納されている。
【００９４】
ステップＳ１２では、各（ｉ，ｊ）に対して、「第１のキャンバス上の位置（ｉ，ｊ）のデータ」を「第２のキャンバス上の位置（ｉ，ｊ）のデータ」で割る。そして、この割り算した結果を、第３のキャンバス上の位置（ｉ，ｊ）に書き込む。より正確に述べると、第１および第２のキャンバスの各画素の位置（ｉ，ｊ）に対して、次の式３を計算することになる。
【００９５】
Ｃ３（ｉ，ｊ）＝Ｃ１（ｉ，ｊ）÷Ｃ２（ｉ，ｊ）      …（式３）
なお、式３において、Ｃ３（ｐ，ｑ）は第３のキャンバスの位置（ｐ，ｑ）における値である。これにより、正規化されたムラのない適切な明るさのパノラマ画像が第３のキャンバスに格納される。ステップＳ１２の後、ステップＳ１３に進む。
【００９６】
ステップＳ１３では、第３のキャンバスに格納されているパノラマ画像を出力し、一連の処理を終了する。
【００９７】
上記図１３〜図１５を用いて説明した内容を、再度、図１６を用いて説明する。図１６において、第ｋ番目のスリット画像を１３１で表し、重み関数ｗ（ｉ）を１３２で表し、第１、第２、第３のキャンバスをそれぞれ１３４、１３６、１３９で表している。第ｋ番目のスリット画像１３１のデータと重み関数ｗ（ｉ）１３２のデータとは乗算器１３３にて乗算される。第１のキャンバス１３４のデータと乗算器１３３からの乗算結果データとは、加算器１３５にて加算され、第１のキャンバス１３４へと書き戻される。また、第２のキャンバス１３６のデータと重み関数ｗ（ｉ）１３２のデータとは、加算器１３７にて加算され、第２のキャンバス１３６へと書き戻される。全てのｋについて、上記処理を行った後、第１のキャンバス１３４からのデータを第２のキャンバス１３６からのデータで割り算器１３８で割ることにより得られたデータを、第３のキャンバス１３９に格納している。そして、第３のキャンバス１３９のデータを出力することで、パノラマ画像を得ることができる。
【００９８】
次に、上記一連のパノラマ画像生成処理の流れのより具体的な例について、図１７を用いて説明する。図１７は、手ブレや装置の精度上の問題により、正確に（Ｘｋ，Ｙｋ）＝（ｋ−１，０）とはなっていない例を示している。この図１７において、第１番目のスリット画像１２０＿１は、キャンバス上の位置（Ｘ１，Ｙ１）＝（０，０）に貼り付けられるべき画像である。第２番目のスリット画像１２０＿２は、キャンバス上の位置（Ｘ２，Ｙ２）に貼り付けられるべき画像である。各スリット画像１２０＿３、１２０＿４、１２０＿５、１２０＿６、１２０＿７、１２０＿８、１２０＿９についても同様である。また、第１０番目以降のスリット画像は図示省略している。ここで説明を簡略化するために、撮影の視野角１度分に相当する画素数を例えば２０画素と仮定すると、１つのスリット画像の横幅（距離５）は、１００画素となる。すなわち、スリット画像の横幅は１００画素と仮定する。各スリット画像同士の位置ずれは、およそ１度、距離にして１であるから、２０画素程度のずれを生じていることになる。手ブレや装置の精度上の問題による誤差は、ｘ軸方向だけでなく、それと垂直な方向であるｙ軸方向にも当然存在する。従って、一般的にＹｋは０とは限らない。この様子を図１７に示す。このため、例えば、図中の斜線部１２１に示したような部分にはデータが存在しないこととなり、最終的なパノラマ画像が格納されている第３のキャンバスには、その位置のデータは不定となってしまう。従って、上記図１５のステップＳ１３において、第３のキャンバスのうち上下をトリミングした画像をパノラマ画像として出力するようにすると良い。具体的には、図１７に示した境界線１２２と１２３により囲まれる範囲のみを出力する。境界線１２２と１２３は、考えられる手ブレの最大値を考慮して、例えば、上側５％、下側５％の位置とする。
【００９９】
ところで、上述したようなパノラマ画像生成処理を行う場合に、１つ解決すべき問題点が考えられる。それは、中間データを保持するための２つのキャンバス（第１のキャンバスと第２のキャンバス）が必要であるという点である。このために、大容量のメモリが必要となっている。これを改良して、１つのキャンバスで画像合成のための計算を可能とする方法について、以下に説明する。
【０１００】
１つのキャンバスで計算を可能とするパノラマ画像の作成手順を図１８および図１９を用いて説明する。なお、先ほどと同様に、ここでは、回転しながらスリット画像を撮影する部分については、前述した構成を用いればよい。以下の説明では、複数のスリット画像が既に存在しているとして、それらスリット画像からパノラマ画像を生成する方法について述べる。
【０１０１】
まず、図１８のステップＳ２１で、第１番目（すなわち１枚目）のスリット画像の左上の位置（Ｘ１，Ｙ１）を設定する。最初の１枚目なので、（Ｘ１，Ｙ１）＝（０，０）とし、次のステップＳ２２に進む。
【０１０２】
ステップＳ２２では、対象となるスリット画像の番号を表すｋとして２をセットし、次のステップＳ２３に進む。
【０１０３】
ステップＳ２３では、第（ｋ−１）番目のスリット画像に対する第ｋ番目のスリット画像の位置を求める。２つの画像の位置関係を求める方法は、従来から行われている画像のマッチングにより求めることができるので、その詳細説明を省略する。求められた位置関係（相対位置、移動量）を（ＭＸｋ，ＭＹｋ）とする。次に、ステップＳ２４に進む。
【０１０４】
ステップＳ２４では、（Ｘｋ−１，Ｙｋ−１）＋（ＭＸｋ，ＭＹｋ）を計算し、その結果を（Ｘｋ，Ｙｋ）とする。第（ｋ−１）番目の画像の位置が（Ｘｋ−１，Ｙｋ−１）であり、第（ｋ−１）番目のスリット画像に対する第ｋ番目のスリット画像の位置関係（相対位置、移動量）が（ＭＸｋ，ＭＹｋ）であるので、結果として、（Ｘｋ，Ｙｋ）は第ｋ番目の画像の位置となる。ステップＳ２４の後、ステップＳ２５に進む。
【０１０５】
ステップＳ２５では、全てのスリット画像の位置を求めたかを判断する。すなわち、対象となるスリット画像の番号を表すｋが、最後のスリット画像を示しているかを判断する。最後のスリット画像を示していれば、ステップＳ２７（図１２）に進む。そうでなければ、ステップＳ２６に進む。
【０１０６】
ステップＳ２６で、ｋの値を１だけインクリメントして、次のスリット画像の位置（Ｘｋ，Ｙｋ）を求める処理へと進む。すなわち、ステップＳ２６の後、上記ステップＳ２３に戻る。
【０１０７】
ステップＳ２７に進んだ時点で、全てのスリット画像の位置（Ｘｋ，Ｙｋ）が求められている。なお、もし手ブレや装置の精度上の問題がなければ、正確に（Ｘｋ，Ｙｋ）＝（ｋ−１，０）となる。
【０１０８】
ステップＳ２７では、第１番目のスリット画像を第１のキャンバスの位置（Ｘ１，Ｙ１）（つまり（０，０））に書く。具体的には、第１番目のスリット画像の各画素の位置（ｉ，ｊ）に対して、次の式４を計算することになる。
【０１０９】
Ｃ１（ｉ，ｊ）＝Ｄ１（ｉ，ｊ）      …（式４）
なお、式４において、Ｃ１（ｐ，ｑ）は第１のキャンバスの位置（ｐ，ｑ）における値であり、Ｄ１（ｉ，ｊ）は第１番目のスリット画像の位置（ｉ，ｊ）の値である。次に、ステップＳ２８に進む。
【０１１０】
ステップＳ２８では、対象となるスリット画像の番号を表すｋとして２をセットする。そして、ステップＳ２９に進む。
【０１１１】
ステップＳ２９では、第ｋ番目のスリット画像と、第１のキャンバスの位置（Ｘｋ，Ｙｋ）のデータとを、後述する計算用の重み関数ｆ（ｉ）の割合で重み平均して、同じ位置（Ｘｋ，Ｙｋ）に書き戻す。なお、割合ｆ（ｉ）が本発明の実施の形態の重要点であり、後述する。以降では、ｆ（ｉ）を、計算用の重み関数としての寄与率（重み）とも呼ぶことにする。ステップＳ２９での処理をより正確に述べると、第ｋ番目のスリット画像の各画素の位置（ｉ，ｊ）に対して、その位置（ｉ，ｊ）に対応した寄与率（重み）ｆ（ｉ）を第ｋ番目のスリット画像のその画素の値に乗算したデータを計算し、さらに、第１のキャンバスの位置（Ｘｋ＋ｉ，Ｙｋ＋ｊ）のデータに（１−ｆ（ｉ））を乗算したデータを計算し、これら２つの乗算結果を加算して、第１のキャンバスの同じ位置（Ｘｋ＋ｉ，Ｙｋ＋ｊ）に書き戻す。具体的には、第ｋ番目のスリット画像の各画素の位置（ｉ，ｊ）に対して、次の式５を計算することになる。
【０１１２】
Ｃ１（Ｘｋ＋ｉ，Ｙｋ＋ｊ）
＝（１−ｆ（ｉ））×Ｃ１（Ｘｋ＋ｉ，Ｙｋ＋ｊ）＋ｆ（ｉ）×Ｄｋ（ｉ，ｊ）
…（式５）
なお、式５において、Ｃ１（ｐ，ｑ）は第１のキャンバスの位置（ｐ，ｑ）における値であり、ｆ（ｉ）は寄与率（重み）であり、Ｄｋ（ｉ，ｊ）は第ｋ番目のスリット画像の位置（ｉ，ｊ）の値である。ここで、ｆ（ｉ）は後述するとおり、重ねる方向（ｘ軸）にのみ依存する関数であるので、ｆ（ｉ，ｊ）ではなくｆ（ｉ）と記している。ステップＳ２９の後、ステップＳ３０に進む。
【０１１３】
ステップＳ３０では、全てのスリット画像について、第１のキャンバスを使った重み平均の計算を行ったかを判断する。すなわち、対象となるスリット画像の番号を表すｋが、最後のスリット画像を示しているかを判断する。最後のスリット画像を示していれば、ステップＳ３２に進む。そうでなければ、ステップＳ３１に進む。
【０１１４】
ステップＳ３１で、ｋの値を１だけインクリメントして、次のスリット画像の重み平均を計算する処理へと進む。すなわち、ステップＳ３１の後、ステップＳ２９に進む。
【０１１５】
ステップＳ３２に進んだ時点で、全てのスリット画像の重み平均を行った結果が第１のキャンバスに格納されている。
【０１１６】
ステップＳ３２では、第１のキャンバスに格納されているパノラマ画像を出力し、一連の処理を終了する。
【０１１７】
図１８および図１９を用いて説明した内容を、再度、図２０を用いて説明する。図２０において、第１番目のスリット画像を１４１で表し、第１のキャンバスを１４２で表し、第ｋ番目のスリット画像（ただし、ｋは１以外）を１４３で表し、重み関数ｆ（ｉ）を１４４で表している。第１番目のスリット画像１４１のデータは第１のキャンバス１４２へとコピーされる。第ｋ番目（ｋは１以外）のスリット画像１４３のデータと、重み関数ｆ（ｉ）１４４のデータとは乗算器１４５にて乗算される。さらに、重み関数ｆ（ｉ）１４４のデータは、減算器１４６において１からの減算（１−ｆ（ｉ））が行われ、この減算器１４６からの減算結果データと第１のキャンバス１４２からのデータとは、乗算器１４７にて乗算される。そして、乗算器１４５からの乗算結果データと乗算器１４７からの乗算結果データとは、加算器１４８にて加算され、第１のキャンバス１４２へと書き戻される。第１のキャンバス１４２には、計算途中の中間的なパノラマ画像（中間合成画像）が書き込まれ、順次更新されることになる。全てのｋについて、上記処理を行った後、第１のキャンバス１４２からのデータを出力することで、最終的な合成画像であるパノラマ画像を得ることができる。
【０１１８】
なお、上記図１７を用いて説明したように、上記図１９のステップＳ３２において、第１のキャンバスのうち上下をトリミングした画像をパノラマ画像として出力するようにすると良い。
【０１１９】
さて、第１のキャンバスに格納されているデータは、図１９に示した処理における途中の状態においても、明るさにムラのある画像ではない。もちろん、図１９のステップＳ３２に至る段階においても、明るさにムラのある画像ではない。なぜなら、第１のキャンバス１４２から読み出されたデータに乗算される重み（１−ｆ（ｉ））と、第ｋ番目のスリット画像のデータに乗算される重みｆ（ｉ）を考えれば明らかであり、この２つの重みの合計値は１となっているからである。つまり、任意の位置ｘに対して、各スリット画像の寄与率（重み）を加算した値は１となっている。従って、各スリット画像を、計算用の重み関数であるｆ（ｉ）の割合で重み平均することで、図１９に示した処理の最中および最後においても、適切な明るさのパノラマ画像が作成され続ける。
【０１２０】
次に、本発明の実施の形態の重要点となる、計算用の重み関数である寄与率（重み）ｆ（ｉ）について、以下詳細に説明する。以下の説明においては、ｘ軸方向の座標値をｘで表し、上記関数ｗ（ｉ）、ｆ（ｉ）等を、ｗ（ｘ）、ｆ（ｘ）で示している。ｆ（ｘ）が任意の関数であっても、明るさにムラのないパノラマ画像を作成できることは既に述べた。しかし、最終的に得られる合成画像であるパノラマ画像において、各スリット画像の最終的な寄与率（実質的な重み関数）は、上記図１０を用いて説明したようなｗ（ｘ）になることが望ましい。そこで、各スリット画像の最終的な寄与率がｗ（ｘ）になるように、計算用の重み関数ｆ（ｘ）を決めることが重要である。この決め方を、以降で図面および式を用いて説明する。
【０１２１】
図２１は、第ｋ番目のスリット画像を貼り付けようとしている状態を表している。すなわち、この図２１において、第１番目から第（ｋ−１）番目のスリット画像により既に作成された第１のキャンバス上のパノラマ画像（中間合成画像）を１５１で示し、第ｋ番目のスリット画像を１５２で示し、これから、寄与率（重み）ｆ（ｘ）で重み平均しようとしている状態を表現している。なお、ｘ座標の原点は、パノラマ画像１５１の左端ではなく、貼り付けようとしている第ｋ番目のスリット画像１５２の左端としている。すなわち、パノラマ画像１５１の左端から距離Ｘｋだけ離れた位置をｘ軸の原点とする。このようにｘ軸の原点を取ったとして話しを進める。なお、原点の位置は、後述する図２３〜図２７においても同様とする。
【０１２２】
このように原点を取ることで、パノラマ画像（中間合成画像）１５１の一番右端のｘ座標は４となる。また、スリット画像１５２の右端のｘ座標は５となる。パノラマ画像１５１のデータが存在して、かつ、スリット画像１５２のデータが存在しない位置においては、当然、ｆ（ｘ）は０である。そして、パノラマ画像１５１のデータが存在せず、かつ、スリット画像１５２のデータが存在する位置においては、当然、ｆ（ｘ）は１である。従って、ｆ（ｘ）は次の式６に示す関数となる。
【０１２３】
【数１】
2006293851.tif 000003
【０１２４】
図２２は、この式６に示す関数を分かりやすく図示したものである。図２２の（Ａ）において、ｘ＝０以下ではｆ（ｘ）＝０、ｘ＝４からｘ＝５まではｆ（ｘ）＝１、ｘ＝５以上ではｆ（ｘ）＝０であり、ｘ＝０からｘ＝４までが、どのような関数であるかについては、以下順次説明してゆく。
【０１２５】
従って、第ｋ番目のスリット画像１５２が貼り付けられた直後、第ｋ番目のスリット画像１５２の寄与率は、パノラマ画像（第１のキャンバスに格納されているデータ）において上記式６に示す割合となる。
【０１２６】
図２３は、第（ｋ＋１）番目のスリット画像を貼り付けようとしている状態を表している。この図２３においては、上記図２１の場合と同様に、パノラマ画像１５１は第１番目から第（ｋ−１）番目のスリット画像により既に作成された第１のキャンバス上のパノラマ画像である。スリット画像１５２は、第ｋ番目のスリット画像であり、既に、寄与率（重み）ｆ（ｘ）でパノラマ画像１５１との重み平均が行われている。そして、スリット画像１５３は、第（ｋ＋１）番目のスリット画像であり、これから、寄与率（重み）ｆ（ｘ）で重み平均しようとしている状態を表現している。なお、スリット画像１５３の左端の位置は、ｘ＝１であり、右端の位置はｘ＝６である。第（ｋ＋１）番目のスリット画像は、それまでに作成されているパノラマ画像（第１のキャンバスに格納されているデータ）との重み平均が行われるが、その割合はｆ（ｘ−１）である。ここで注意すべき点は、第（ｋ＋１）番目のスリット画像の左端はｘ＝１であるので、割合はｆ（ｘ）ではなく、１だけ位置をずらしたｆ（ｘ−１）となる。これを図２２の（Ｂ）に示す。
【０１２７】
さて、第（ｋ＋１）番目のスリット画像１５３が貼り付けられた直後、第ｋ番目のスリット画像１５２の寄与率が、パノラマ画像（第１のキャンバスに格納されているデータ）においてどのように変化したかを計算してみる。
【０１２８】
第（ｋ＋１）番目のスリット画像１５３が貼り付けられる直前では、上記式６に示す割合であった。そして、第（ｋ＋１）番目のスリット画像１５３を貼り付ける際に、（１−ｆ（ｘ−１））の割合がパノラマ画像（第１のキャンバスに格納されているデータ）に乗算される。このときのパノラマ画像に乗算される関数（１−ｆ（ｘ−１））を、図２２の（Ｃ）に示す。つまり、パノラマ画像（第１のキャンバスに格納されているデータ）に既に組み込まれている第ｋ番目のスリット画像の割合も、（１−ｆ（ｘ−１））倍だけ変化することになる。従って、第（ｋ＋１）番目のスリット画像１５３が貼り付けられた直後、パノラマ画像（第１のキャンバスに格納されているデータ）における、上記第ｋ番目のスリット画像の寄与率は、次の式７に示す割合Ｐ１（ｆ（ｘ））となる。
【０１２９】
【数２】
2006293851.tif 000004
【０１３０】
図２４は、第（ｋ＋２）番目のスリット画像を貼り付けようとしている状態を表している。この場合も同様に、パノラマ画像１５１は第１番目から第（ｋ−１）番目のスリット画像により既に作成された第１のキャンバス上のパノラマ画像である。スリット画像１５２および１５３は、それぞれ第ｋ番目、第（ｋ＋１）番目のスリット画像であり、既に、寄与率（重み）ｆ（ｘ）でパノラマ画像１５１との重み平均が行われている。そして、スリット画像１５４は、第（ｋ＋２）番目のスリット画像であり、これから、寄与率（重み）ｆ（ｘ）で重み平均しようとしている状態を表現している。なお、スリット画像１５４の左端の位置は、ｘ＝２であり、右端の位置はｘ＝７である。第（ｋ＋２）番目のスリット画像は、それまでに作成されているパノラマ画像（第１のキャンバスに格納されているデータ）との重み平均が行われるが、その割合はｆ（ｘ−２）である。ここで注意して欲しいのは、第（ｋ＋２）番目のスリット画像の左端はｘ＝２であるので、割合はｆ（ｘ）ではなく、２だけ位置をずらしたｆ（ｘ−２）となる。
【０１３１】
さて、第（ｋ＋２）番目のスリット画像１５４が貼り付けられた直後、第ｋ番目のスリット画像１５２の寄与率が、パノラマ画像（第１のキャンバスに格納されているデータ）においてどのように変化したかを計算してみる。
【０１３２】
第（ｋ＋２）番目のスリット画像１５４が貼り付けられる直前では、上記式７に示す割合であった。そして、第（ｋ＋２）番目のスリット画像１５４を貼り付ける際に、（１−ｆ（ｘ−２））の割合がパノラマ画像（第１のキャンバスに格納されているデータ）に乗算される。つまり、パノラマ画像（第１のキャンバスに格納されているデータ）に既に組み込まれている第ｋ番目のスリット画像の割合は（１−ｆ（ｘ−２））倍だけ変化する。従って、第（ｋ＋２）番目のスリット画像１５４が貼り付けられた直後、パノラマ画像（第１のキャンバスに格納されているデータ）における第ｋ番目のスリット画像の寄与率は、次の式８に示す割合Ｐ２（ｆ（ｘ））となる。
【０１３３】
【数３】
2006293851.tif 000005
【０１３４】
図２５は、第（ｋ＋３）番目のスリット画像を貼り付けようとしている状態を表している。すなわち、この図２５の場合も、パノラマ画像１５１は第１番目から第（ｋ−１）番目のスリット画像により既に作成された第１のキャンバス上のパノラマ画像である。スリット画像１５２、１５３、および１５４は、それぞれ第ｋ番目、第（ｋ＋１）番目、第（ｋ＋２）番目のスリット画像であり、既に、寄与率（重み）ｆ（ｘ）でパノラマ画像１５１との重み平均が行われている。そして、スリット画像１５５は、第（ｋ＋３）番目のスリット画像であり、これから、寄与率（重み）ｆ（ｘ）で重み平均しようとしている状態を表現している。なお、スリット画像１５５の左端の位置は、ｘ＝３であり、右端の位置はｘ＝８である。第（ｋ＋３）番目のスリット画像は、それまでに作成されているパノラマ画像（第１のキャンバスに格納されているデータ）との重み平均が行われるが、その割合はｆ（ｘ−３）である。ここで注意して欲しいのは、第（ｋ＋３）番目のスリット画像１５５の左端はｘ＝３であるので、割合はｆ（ｘ）ではなく、３だけ位置をずらしたｆ（ｘ−３）となる。
【０１３５】
さて、第（ｋ＋３）番目のスリット画像１５５が貼り付けられた直後、第ｋ番目のスリット画像１５２の寄与率が、パノラマ画像（第１のキャンバスに格納されているデータ）においてどのように変化したかを計算してみる。
【０１３６】
第（ｋ＋３）番目のスリット画像１５５が貼り付けられる直前では、上記式８に示す割合であった。そして、第（ｋ＋３）番目のスリット画像１５５を貼り付ける際に、（１−ｆ（ｘ−３））の割合がパノラマ画像（第１のキャンバスに格納されているデータ）に乗算される。つまり、パノラマ画像（第１のキャンバスに格納されているデータ）に既に組み込まれている第ｋ番目のスリット画像の割合は（１−ｆ（ｘ−３））倍だけ変化する。従って、第（ｋ＋３）番目のスリット画像１５５が貼り付けられた直後、パノラマ画像（第１のキャンバスに格納されているデータ）における第ｋ番目のスリット画像の寄与率は、次の式９に示す割合Ｐ３（ｆ（ｘ））となる。
【０１３７】
【数４】
2006293851.tif 000006
【０１３８】
図２６は、第（ｋ＋４）番目のスリット画像を貼り付けようとしている状態を表している。すなわち、パノラマ画像１５１は第１番目から第（ｋ−１）番目のスリット画像により既に作成された第１のキャンバス上のパノラマ画像であり、スリット画像１５２、１５３、１５４、および１５５は、それぞれ第ｋ番目、第（ｋ＋１）番目、第（ｋ＋２）番目、第（ｋ＋３）番目のスリット画像であって、既に、寄与率（重み）ｆ（ｘ）でパノラマ画像１５１との重み平均が行われている。そして、スリット画像１５６は、第（ｋ＋４）番目のスリット画像であり、これから、寄与率（重み）ｆ（ｘ）で重み平均しようとしている状態を表現している。なお、スリット画像１５６の左端の位置は、ｘ＝４であり、右端の位置はｘ＝９である。第（ｋ＋４）番目のスリット画像は、それまでに作成されているパノラマ画像（第１のキャンバスに格納されているデータ）との重み平均が行われるが、その割合はｆ（ｘ−４）である。ここで注意して欲しいのは、第（ｋ＋４）番目のスリット画像１５６の左端はｘ＝４であるので、割合はｆ（ｘ）ではなく、４だけ位置をずらしたｆ（ｘ−４）となる。
【０１３９】
さて、第（ｋ＋４）番目のスリット画像１５６が貼り付けられた直後、第ｋ番目のスリット画像１５２の寄与率が、パノラマ画像（第１のキャンバスに格納されているデータ）においてどのように変化したかを計算してみる。
【０１４０】
第（ｋ＋４）番目のスリット画像１５６が貼り付けられる直前では、上記式９に示す割合であった。そして、第（ｋ＋４）番目のスリット画像１５６を貼り付ける際に、（１−ｆ（ｘ−４））の割合がパノラマ画像（第１のキャンバスに格納されているデータ）に乗算される。つまり、パノラマ画像（第１のキャンバスに格納されているデータ）に既に組み込まれている第ｋ番目のスリット画像の割合は（１−ｆ（ｘ−４））倍だけ変化する。従って、第（ｋ＋４）番目のスリット画像１５６が貼り付けられた直後、パノラマ画像（第１のキャンバスに格納されているデータ）における第ｋ番目のスリット画像の寄与率は、次の式１０に示す割合Ｐ４（ｆ（ｘ））となる。
【０１４１】
【数５】
2006293851.tif 000007
【０１４２】
図２７は、第（ｋ＋５）番目のスリット画像を貼り付けようとしている状態を表している。すなわち、パノラマ画像１５１は第１番目から第（ｋ−１）番目のスリット画像により既に作成された第１のキャンバス上のパノラマ画像であり、スリット画像１５２、１５３、１５４、１５５、および１５６は、それぞれ第ｋ番目、第（ｋ＋１）番目、第（ｋ＋２）番目、第（ｋ＋３）番目、第（ｋ＋４）番目のスリット画像であって、既に、寄与率（重み）ｆ（ｘ）で５１との重み平均が行われている。そして、スリット画像１５７は、第（ｋ＋５）番目のスリット画像であり、これから、寄与率（重み）ｆ（ｘ）で重み平均しようとしている状態を表現している。なお、スリット画像１５７の左端の位置は、ｘ＝５であり、右端の位置はｘ＝１０である。第（ｋ＋５）番目のスリット画像は、それまでに作成されているパノラマ画像（第１のキャンバスに格納されているデータ）との重み平均が行われるが、その割合はｆ（ｘ−５）である。ここで注意して欲しいのは、第（ｋ＋５）番目のスリット画像１５７の左端はｘ＝５であるので、割合はｆ（ｘ）ではなく、５だけ位置をずらしたｆ（ｘ−５）となる。
【０１４３】
さて、第（ｋ＋５）番目のスリット画像１５７が貼り付けられた直後、第ｋ番目のスリット画像１５２の寄与率が、パノラマ画像（第１のキャンバスに格納されているデータ）においてどのように変化したかを計算してみる。
【０１４４】
第（ｋ＋５）番目のスリット画像１５７が貼り付けられる直前では、上記式１０に示す割合であった。そして、第（ｋ＋５）番目のスリット画像１５７を貼り付ける際に、（１−ｆ（ｘ−５））の割合がパノラマ画像（第１のキャンバスに格納されているデータ）に乗算される。つまり、パノラマ画像（第１のキャンバスに格納されているデータ）に既に組み込まれている第ｋ番目のスリット画像の割合は（１−ｆ（ｘ−５））倍だけ変化する。しかし、第ｋ番目のスリット画像はｘ＝０からｘ＝５までしか存在しないことと、ｆ（ｘ）はｘ＝０以下では０であることより、第（ｋ＋４）番目のスリット画像１５６が貼り付けられた直後、パノラマ画像（第１のキャンバスに格納されているデータ）における第ｋ番目のスリット画像の寄与率は、変化せず、上記式１０に示す割合Ｐ４（ｆ（ｘ））のままである。
【０１４５】
同様に、第（ｋ＋６）番目以降のスリット画像が貼り付けられていっても、パノラマ画像（第１のキャンバスに格納されているデータ）における第ｋ番目のスリット画像の寄与率は、変化せず、上記式１０に示す割合Ｐ４（ｆ（ｘ））のままである。
【０１４６】
従って、全てのスリット画像が貼り付けられて最終的なパノラマ画像が、第１のキャンバス内に格納された時点において、そのパノラマ画像における第ｋ番目のスリット画像の寄与率は、上記式１０に示す割合Ｐ４（ｆ（ｘ））となる。このＰ４（ｆ（ｘ））が、ｗ（ｘ）となっていれば良い。すなわち、ｗ（ｘ）＝Ｐ４（ｆ（ｘ））を解けばよい。この結果、ｆ（ｘ）は次の式１１に示す関数となる。
【０１４７】
【数６】
2006293851.tif 000008
【０１４８】
これを図示すると、図２８となる。
【０１４９】
さて、以上の説明では、各スリット画像の位置関係が正確に１ずつずれた場合で説明した。しかしながら、実際には、前述したとおり、手持ち撮影の場合の手ブレによる位置ずれや、装置の精度上の問題で、正確に１ずつずれるとは限らない。そこで、上記式１１を少し補正する必要がある。このことについて、図２９を用いて説明する。
【０１５０】
図２９では、ｘ座標の原点をパノラマ画像１５１の左端としている。また、図２９におけるパノラマ画像１５１は、上記図２１と同様に、第１番目から第（ｋ−１）番目のスリット画像により既に作成された第１のキャンバス上のパノラマ画像である。そして、図２９におけるスリット画像１５２は、図２１と同様に、第ｋ番目のスリット画像であり、これから、寄与率（重み）ｆ（ｘ）で重み平均しようとしている状態を表現している。図２９には、図２１とは違い、各スリット画像の位置関係が正確に１ずつずれているとは限らない場合を示している。
【０１５１】
図２９におけるパノラマ画像１５１の右端の座標について考える。パノラマ画像１５１は第１番目から第（ｋ−１）番目のスリット画像により既に作成された第１のキャンバス上のパノラマ画像であるから、第（ｋ−１）番目のスリット画像の右端である位置と、５１の右端の位置は同じである。第（ｋ−１）番目のスリット画像の左端の位置がＸｋ−１であることと、各スリット画像の幅が５であることより、パノラマ画像１５１の右端の位置は５＋Ｘｋ−１となる。また、スリット画像１５２の左端の位置は、Ｘｋであり、右端の位置は５＋Ｘｋである。従って、パノラマ画像１５１のデータが存在して、かつ、スリット画像１５２のデータが存在しない位置とはｘ＝Ｘｋ以下であり、この範囲においては、ｆ（ｘ）は０である。そして、パノラマ画像１５１のデータが存在せず、かつ、スリット画像１５２のデータが存在する位置とはｘ＝５＋Ｘｋ−１以上ｘ＝５＋Ｘｋ以下であり、この範囲においては、ｆ（ｘ）は１である。従って、ｆ（ｘ）は上記式１１に示す関数を補正して、次の式１２に示す関数とすれば良い。
【０１５２】
【数７】
2006293851.tif 000009
【０１５３】
これを図示すると、図３０となる。この式１２に示す関数ｆ（ｘ）は、上記式１１に対して、手持ち撮影の場合の手ブレによる位置ずれや、装置の精度上の問題を考慮して改良したものである。上記式１１は、どのスリット画像に対しても、一定の関数で示される寄与率であるが、上記式１２は、重ね合わせる正確な位置情報によりスリット画像の寄与率を変更していることを意味している。このように、各スリット画像の重ね合わせる正確な位置情報により適応的に変更していることも本発明の実施の形態の利点である。なお、上記式１２あるいは図３０において示された（Ｘｋ）−（Ｘｋ−１）はほぼ１である。以上で、ｆ（ｘ）についての説明を終える。
【０１５４】
さて、ｆ（ｘ）の関数の具体例が分かったので、再度、上記図１８および図１９を用いて、１つのキャンバスで計算を可能とするパノラマ画像の作成手順を説明する。
【０１５５】
上記図１８および図１９に示すフローチャートにおいて、ステップＳ２９以外は、既に説明した内容と全く同じであるので、その説明を省略し、ステップＳ２９についてのみ説明を行う。
【０１５６】
ステップＳ２９では、第ｋ番目のスリット画像と、第１のキャンバスの位置（Ｘｋ，Ｙｋ）のデータとを割合ｆ（ｉ）で重み平均して、同じ位置（Ｘｋ，Ｙｋ）に書き戻す。ステップＳ２９での処理を正確に述べるなら、第ｋ番目のスリット画像の各画素の位置（ｉ，ｊ）に対して、その位置（ｉ，ｊ）に対応した寄与率（重み）ｆ（ｉ）を第ｋ番目のスリット画像のその画素の値に乗算したデータを計算し、さらに、第１のキャンバスの位置（Ｘｋ＋ｉ，Ｙｋ＋ｊ）のデータに（１−ｆ（ｉ））を乗算したデータを計算し、これら２つの乗算結果を加算して、第１のキャンバスの同じ位置（Ｘｋ＋ｉ，Ｙｋ＋ｊ）に書き戻す。具体的には、第ｋ番目のスリット画像の各画素の位置（ｉ，ｊ）に対して、上記式５を計算することになる。なお、上記式５において、Ｃ１（ｐ，ｑ）は第１のキャンバスの位置（ｐ，ｑ）における値であり、ｆ（ｉ）は寄与率（重み）であり、Ｄｋ（ｉ，ｊ）は第ｋ番目のスリット画像の位置（ｉ，ｊ）の値である。なお、ｆ（ｉ）とは具体的には、上記式１２および図３０に示された関数である。
【０１５７】
上述したようなスリット画像のつなぎ合わせ処理は、前述した図１〜図７と共に説明した撮像装置における、ＤＳＰ１５やＣＰＵ２１により実行されるものである。すなわち、図１３〜図１５、図１８、図１９等を用いて説明した処理は、上記図１や図３のＤＳＰ１５やＣＰＵ２１により実現され、図１６に示す乗算器１３３、加算器１３５、１３７、除算器１３８や、図２０に示した減算器１４６、乗算器１４５，１４７、加算器１４８等は、ソフトウェアによる機能ブロックとして実現されるものであるが、ハードウェアにより信号処理回路を構成してもよいことは勿論である。また、これらの図１６、２０の画像データ等を格納するメモリ（１３１，１３２，１３４）等）については、上記図１や図３のメモリ１７等を用いることができる。
【０１５８】
なお、上述した本発明の実施の形態の説明においては、各スリット画像の幅を５とし、各スリット画像の位置関係が１である場合について述べたが、本発明はこれらの数値に限定されるものではない。より一般的に、各スリット画像の幅がｎであり、各スリット画像の位置関係が１である場合については、以下のようになる。最終的に得られるパノラマ画像において、各スリット画像の最終的な寄与率は、図１０を用いて説明したｗ（ｘ）に代わり、図３１に示すｗ（ｘ）となる。この場合、ｆ（ｘ）を、次の式１３のように考えると、全てのスリット画像が貼り付けられて最終的なパノラマ画像が、第１のキャンバス内に格納された時点において、そのパノラマ画像における第ｋ番目のスリット画像の寄与率は、次の式１４に示す割合Ｐ（ｆ（ｘ））である。
【０１５９】
【数８】
2006293851.tif 000010
【０１６０】
【数９】
2006293851.tif 000011
【０１６１】
このＰ（ｆ（ｘ））が、ｗ（ｘ）となっていれば良い。すなわち、ｆ（ｘ）として、次の式１５を解いた結果とすれば良い。
【０１６２】
ｗ（ｘ）＝Ｐ（ｆ（ｘ））          …（式１５）
また、ｗ（ｘ）についても、図１０や図３１に示した関数である必要はなく、これと類似の関数でも良い。これにより、ｗ（ｘ）＝Ｐ４（ｆ（ｘ））、あるいは、上記式１５により求められるｆ（ｘ）も違う関数となる。
【０１６３】
上述したような本発明の実施の形態によれば、手持ち撮影においてもパノラマ画像を生成でき、かつ、その生成過程におけるキャンバス（すなわち、メモリ）は１つで済み、回路規模の削減を図ることができる。
【０１６４】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【０１６５】
【図１】本発明を適用したパノラマ画像の撮像装置の構成につき説明するための図である。
【図２】第１の筐体と第２の筐体を有するパノラマ画像の撮像装置の外観につき説明するための図である。
【図３】本発明を適用した撮像装置の他の構成につき説明するための図である。
【図４】フォトインターラプタにより第１の筐体の回転を制御する方法につき説明するための図である。
【図５】シャッタボタンを押圧することにより第１の筐体を徐々に回転させる例につき説明するための図である。
【図６】撮像装置による撮影工程を示すフローチャートである。
【図７】連続撮影した画像をつなぎ合わせて１枚のパノラマ状の全体画像を合成する様子につき示す図である。
【図８】パノラマ撮影における問題点を説明するための図である。
【図９】本発明の実施の形態におけるパノラマ撮影を説明するための図である。
【図１０】パノラマ画像を生成するために重ね合わせる各スリット画像の位置関係が正確な場合の説明図である。
【図１１】パノラマ画像を生成するために重ね合わせる各スリット画像の位置関係が正確な場合の各スリット画像の寄与率（重み）を示す図である。
【図１２】パノラマ画像を生成するために重ね合わせる各スリット画像の位置関係が不正確な場合の各スリット画像の寄与率（重み）を示す図である。
【図１３】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像を重ねる処理手順を説明するためのフローチャートである。
【図１４】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像を重ねる処理手順を説明するためのフローチャートである。
【図１５】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像を重ねる処理手順を説明するためのフローチャートである。
【図１６】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像を重ねる処理を説明するための図である。
【図１７】本発明の実施の形態におけるパノラマ画像を生成するために重ね合わせる各スリット画像の位置関係が不正確な場合の説明図である。
【図１８】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像を重ねる処理手順を説明するためのフローチャートである。
【図１９】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像を重ねる処理手順を説明するためのフローチャートである。
【図２０】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像を重ねる処理を説明するための図である。
【図２１】本発明の実施の形態におけるパノラマ画像を生成する際に、第（ｋ−１）番目までのスリット画像により作成されたパノラマ画像に第ｋ番目のスリット画像を重ねるときの状態を説明するための図である。
【図２２】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像を重ねる際のスリット画像に乗算する寄与率（重み）を説明するための図である。
【図２３】本発明の実施の形態におけるパノラマ画像を生成する際に、第（ｋ−１）番目までのスリット画像により作成されたパノラマ画像に第ｋ番目、第（ｋ＋１）番目のスリット画像を重ねるときの状態を説明するための図である。
【図２４】本発明の実施の形態におけるパノラマ画像を生成する際に、第（ｋ−１）番目までのスリット画像により作成されたパノラマ画像に第ｋ番目〜第（ｋ＋２）番目のスリット画像を重ねるときの状態を説明するための図である。
【図２５】本発明の実施の形態におけるパノラマ画像を生成する際に、第（ｋ−１）番目までのスリット画像により作成されたパノラマ画像に第ｋ番目〜第（ｋ＋３）番目のスリット画像を重ねるときの状態を説明するための図である。
【図２６】本発明の実施の形態におけるパノラマ画像を生成する際に、第（ｋ−１）番目までのスリット画像により作成されたパノラマ画像に第ｋ番目〜第（ｋ＋４）番目のスリット画像を重ねるときの状態を説明するための図である。
【図２７】本発明の実施の形態におけるパノラマ画像を生成する際に、第（ｋ−１）番目までのスリット画像により作成されたパノラマ画像に第ｋ番目〜第（ｋ＋５）番目のスリット画像を重ねるときの状態を説明するための図である。
【図２８】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像に乗算する寄与率（重み）を説明するための図である。
【図２９】本発明の実施の形態におけるパノラマ画像を生成する際に、第（ｋ−１）番目までのスリット画像により作成されたパノラマ画像に、位置ずれが生じた第ｋ番目のスリット画像を重ねるときの状態を説明するための図である。
【図３０】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像に位置ずれが生じた場合のスリット画像に乗算する寄与率（重み）を説明するための図である。
【図３１】本発明の実施の形態におけるパノラマ画像を生成するためのスリット画像を重ねる際のスリット画像に乗算する寄与率（重み）の一般的な求め方を説明するための図である。
【符号の説明】
【０１６６】
１，３  撮像装置、１０  撮像部、１１  ＣＭＯＳイメージセンサ、１２  ＣＤＳ回路、１３  Ａ／Ｄ変換部、１４  内部バス、１５  ＤＳＰ、１６  コーデック処理部、１７  メモリ、１８  Ｄ／Ａ変換部、１９  ビデオエンコーダ部、２０  モニタ部、２１  ＣＰＵ、２２  操作部、２３  タイミングジェネレータ、２４  モータ、２６  露出計、１１２，１１４  撮像範囲、１２０，１３１，１４１，１５２〜１５７  スリット画像、  １５１  パノラマ画像
【図１】
2006293851.tif 000012
【図２】
2006293851.tif 000013
【図３】
2006293851.tif 000014
【図４】
2006293851.tif 000015
【図５】
2006293851.tif 000016
【図６】
2006293851.tif 000017
【図７】
2006293851.tif 000018
【図８】
2006293851.tif 000019
【図９】
2006293851.tif 000020
【図１０】
2006293851.tif 000021
【図１１】
2006293851.tif 000022
【図１２】
2006293851.tif 000023
【図１３】
2006293851.tif 000024
【図１４】
2006293851.tif 000025
【図１５】
2006293851.tif 000026
【図１６】
2006293851.tif 000027
【図１７】
2006293851.tif 000028
【図１８】
2006293851.tif 000029
【図１９】
2006293851.tif 000030
【図２０】
2006293851.tif 000031
【図２１】
2006293851.tif 000032
【図２２】
2006293851.tif 000033
【図２３】
2006293851.tif 000034
【図２４】
2006293851.tif 000035
【図２５】
2006293851.tif 000036
【図２６】
2006293851.tif 000037
【図２７】
2006293851.tif 000038
【図２８】
2006293851.tif 000039
【図２９】
2006293851.tif 000040
【図３０】
2006293851.tif 000041
【図３１】
2006293851.tif 000042