(57)【特許請求の範囲】
【請求項１】
同一の被写体の画素をずらして撮影した色成分の異なる複数の撮影画像を合成する撮影装置において、
第１の撮影画像を構成する複数の縦方向と横方向の画素列の中から、隣接する同色画素間の変位量を示すエッジ量の合計値を、前記撮影画像の各色成分毎に算出する合計算出手段と、
前記合計算出手段で算出された各色成分のエッジ量の合計値の総計を各画素列毎に算出する総計算出手段と、
前記総計算出手段で算出されたエッジ量の総計が最大となる画素列を、前記第１の撮影画像の縦方向と横方向の画素列に対して、各々別に選択する最大列選択手段と、
前記最大列選択手段で選択された前記第１の撮影画像の縦方向と横方向の画素列の交点の画素を、前記複数の撮影画像の合成の中心となる評価位置画素として、検出する評価位置画素検出手段と、
前記複数の撮影画像を、前記評価位置画素検出手段によって検出された第１の撮影画像の評価位置画素と、前記第１の撮影画像以外の夫々の撮影画像の、前記第１の撮影画像の評価位置画素と同じ位置の画素とその周辺画素において同色画素のエッジ量が前記第１の撮影画像の評価位置画素と最近似の大きさの画素とを中心にして合成する画像合成手段と、
を備えることを特徴とする撮影装置。
【請求項２】
前記第１の撮影画像の評価位置画素を、前記第１の撮影画像に対して画素をずらして撮影した第２の撮影画像の評価位置画素として、予想検出する予想検出手段と、
前記予想検出手段で予想検出した画素とその周辺画素について、同色画素のエッジ量を算出するエッジ量算出手段と、
前記エッジ量算出手段で算出された同色画素のエッジ量と、前記第１の撮影画像の評価位置画素のエッジ量と、を比較するエッジ量比較手段と、
前記エッジ量比較手段による比較結果に基づいて、前記第２の撮影画像における評価位置画素をエッジ量が前記第１の撮影画像の評価位置画素と最近似の大きさの画素とするまで、前記第２の撮影画像における評価位置画素としてエッジ量が前記第１の撮影画像の評価位置画素と最近似の大きさの画素を選択し、前記エッジ量の算出及び前記比較を繰り返し実行する実行手段と、を更に備え、
前記画像合成手段は、前記第１の撮影画像と前記第２の撮影画像とを、前記第１の撮影画像の評価位置画素と前記実行手段によって選択された第２の撮影画像の評価位置画素とを中心にして合成する
ことを特徴とする請求項１記載の撮影装置。
【請求項３】
前記画像合成手段は、
前記複数の撮影画像の合成時に、同色成分を含む撮影画像の画素を平均した画素と、同色成分を含まない撮影画像のそれぞれの画素とを加算して合成することを特徴とする請求項２記載の撮影装置。
【請求項４】
前記画像合成手段によって複数の撮影画像を合成した画像を所定の有効画素範囲でトリミングして出力する出力手段、
を更に備えることを特徴とする請求項２記載の撮影装置。
【請求項５】
同一の被写体の画素をずらして撮影した色成分の異なる複数の撮影画像を合成する撮影装置を制御するためのコンピュータが実行可能なプログラムを格納した記憶媒体であって、
第１の撮影画像を構成する複数の縦方向と横方向の画素列の中から、隣接する同色画素間の変位量を示すエッジ量の合計値を、前記撮影画像の各色成分毎に算出するためのプログラムコードと、
算出された各色成分のエッジ量の合計値の総計を各画素列毎に算出するためのプログラムコードと、
算出されたエッジ量の総計が最大となる画素列を、前記第１の撮影画像の縦方向と横方向の画素列に対して、各々別に選択するためのプログラムコードと、
選択された前記第１の撮影画像の縦方向と横方向の画素列の交点の画素を、前記複数の撮影画像の合成の中心となる評価位置画素として、検出するためのプログラムコードと、
前記複数の撮影画像を、検出された第１の撮影画像の評価位置画素と、前記第１の撮影画像以外の夫々の撮影画像の、前記第１の撮影画像の評価位置画素と同じ位置の画素とその周辺画素において同色画素のエッジ量が前記第１の撮影画像の評価位置画素と最近似の大きさの画素とを中心にして合成するためのプログラムコードと、
を含むプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同一の被写体の撮影時に複数の撮像データを合成して出力する撮影装置、及び記憶媒体に関する。
【０００２】
【従来の技術】
従来より、画素ずらし技術を利用して、色成分の異なる複数の撮影画像を合成して出力するデジタルカメラが利用されている。画素ずらし技術とは、ピエゾ素子で単板ＣＣＤや光学系レンズ等の撮像手段を振動させて、被写体の１点で赤色光（Ｒ）、緑色光（Ｇ）、青色光（Ｂ）の中から、何れかの単色光を取り込んだ複数の画素を重ね合わせることにより、多彩な画像を出力する技術である。これにより、デジタルカメラは、撮影画像をフルカラー且つ高解像度で取得し、被写体の再現性を向上する。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来のデジタルカメラでは、画像合成に伴う撮影の長時間化のため、被写体のブレの影響を受け易く、表示画像の輪郭ぼけやにじみ等の画質低下が多かった。特に、１００万画素を超える高解像度のデジタルカメラでは、１画素当りの受光部分が微少なため、振動による僅かな撮像位置のブレが画質を低下させるという問題があった。この様な問題を解決するため、ＲＧＢ何れかの単色光を取り込む際に、各画素毎に各色光を重ね合わせる必要があるが、これらを完全に一致させることはできなかった。
【０００４】
本発明の課題は、色成分の異なる複数の撮像データを最適な位置で合成する撮影装置、及び記憶媒体を提供することである。
【０００５】
【課題を解決するための手段】
本発明は、上記課題を解決するため、以下の様な特徴を備えている。なお、以下に示す手段の説明中、括弧書きにより実施の形態に対応する構成を例示する。また、符号等は、後述する図面参照符号に対応する。
【０００６】
請求項１記載の発明は、
同一の被写体の画素をずらして撮影した色成分の異なる複数の撮影画像を合成する撮影装置（例えば、図１のデジタルカメラ１）において、
第１の撮影画像を構成する複数の縦方向と横方向の画素列の中から、隣接する同色画素間の変位量を示すエッジ量の合計値を、前記撮影画像の各色成分毎に算出する合計算出手段（例えば、図１のＣＰＵ２；図４のステップＳ７０１〜Ｓ７０５）と、
前記合計算出手段で算出された各色成分のエッジ量の合計値の総計を各画素列毎に算出する総計算出手段（例えば、図１のＣＰＵ２；図４のステップＳ７０６〜Ｓ７０８）と、
前記総計算出手段で算出されたエッジ量の総計が最大となる画素列を、前記第１の撮影画像の縦方向と横方向の画素列に対して、各々別に選択する最大列選択手段（例えば、図１のＣＰＵ２；図４のステップＳ７０９）と、
前記最大列選択手段で選択された前記第１の撮影画像の縦方向と横方向の画素列の交点の画素を、前記複数の撮影画像の合成の中心となる評価位置画素として、検出する評価位置画素検出手段（例えば、図１のＣＰＵ２；図５のステップＳ７１８）と、
前記複数の撮影画像を、前記評価位置画素検出手段によって検出された第１の撮影画像の評価位置画素と、前記第１の撮影画像以外の夫々の撮影画像の、前記第１の撮影画像の評価位置画素と同じ位置の画素とその周辺画素において同色画素のエッジ量が前記第１の撮影画像の評価位置画素と最近似の大きさの画素とを中心にして合成する画像合成手段（例えば、図１のＣＰＵ２；図３のステップＳ１１）と、
を備えることを特徴とする。
【０００８】
【発明の実施の形態】
以下、図１〜図１０を参照して本発明の実施の形態におけるデジタルカメラ１について説明する。
【０００９】
まず構成を説明する。
図１は、デジタルカメラ１の機能的構成を示すブロック図である。図１に示す様に、デジタルカメラ１は、ＣＰＵ２、入力部３、記憶媒体４ａを有する記憶部４、表示部５、ＲＡＭ６、通信部７、撮像部８、駆動制御部９、ＶＲＡＭ１０、画像処理部１１より構成され、記憶媒体４ａを除く各部はバス１２により接続される。
【００１０】
ＣＰＵ（Central Processing Unit）２は、記憶部４に記憶されているデジタルカメラ１に対応する各種プログラムの中から指定されたプログラム、入力部３から入力される各種指示、またはデータをＲＡＭ６内のワークメモリ６ａに展開し、この入力指示、及び入力データに応じて上記プログラムに従って各種処理を実行し、その処理結果をＲＡＭ６内の所定の領域に格納すると共に、表示部５に表示させる。
【００１１】
また、ＣＰＵ２は、入力部３から入力される操作信号に基づいて、各ブロックの動作を統一的に制御すると共に、撮影画像の合成位置を最適化するため、後述する撮像処理（図３参照）、合成位置決定処理（図４〜図６参照）等の各種処理プログラムを実行制御する。
【００１２】
また、ＣＰＵ２は、後述する撮像処理において、ＲＧＢの各色成分の撮影画像を取り込み、各撮影画像の合成基準位置となる評価位置画素を選択し、該評価位置画素に基づいて、各撮影画像データ（以下、「撮像データ」と称する。）を合成して合成画像データＣ１を生成し、合成画像データＣ１を有効画素範囲でトリミングして出力する。
【００１３】
また、ＣＰＵ２は、後述する合成位置決定処理において、第１の撮像データＰ１から横方向の画素列を選択し、該画素列内で隣接する同色画素の、後述するエッジ量を算出し、全同色画素のエッジ量を合計して各横方向の画素列の総エッジ量を算出し、総エッジ量が最大となる横方向の画素列を選択して記憶し、上記処理を縦方向の画素列に対して実行し、総エッジ量が最大となる横方向の画素列と縦方向の画素列の交点を算出して第１の評価位置画素Ｄ１とし、評価位置画素Ｄ１を第ｎ回目の撮像データＰｎの評価位置画素Ｄｎとし、評価位置画素Ｄｎをその周辺８画素の中で評価位置画素Ｄ１のエッジ量に最近似の画素に変更して、撮像データＰ１〜Ｐ４の評価位置画素Ｄ１〜Ｄ４を選択する。
【００１４】
入力部３は、電源釦、モード切換キー、シャッタ釦、カーソルキー等を備えて構成され、各キーの押圧操作やスライド操作に応じた各種操作信号をＣＰＵ２へ出力する。
【００１５】
記憶部４は、電源がＯＦＦされても記憶内容を保持することが可能な様に、ＥＥＰＲＯＭ（Electrical Erasable Programmable ＲＯＭ ）等の不揮発性の半導体メモリで構成される。記憶部４は、デジタルカメラ１の各部を制御するための各種制御プログラム、処理プログラム、及び当該プログラムの実行に必要な諸データを予め記憶すると共に、各種処理によって生成された撮像データ、合成画像データ等を所定の領域に記憶する。
【００１６】
上記処理プログラムには、例えば、後述する撮像処理（図３参照）、及び合成位置決定処理（図４〜図６参照）を含む。これらの各処理プログラムは、ＣＰＵ２が読み取り可能なプログラムコードの形態で格納されている。
【００１７】
記憶媒体４ａは磁気的、光学的記録媒体等で構成され、記憶部４に固定的に設けたもの、若しくは着脱自在に装着するものである。記憶媒体４ａには、上記各種プログラムや撮像データ、合成画像データ等を記憶可能であり、これらのプログラム、データ等は、その一部若しくは全部をサーバやクライアント等の外部機器から、ネットワーク回線等の伝送媒体を介して通信部７から受信して記憶する構成にしてもよく、また、記憶媒体４ａはネットワーク上に構築されたサーバの記憶媒体であってもよい。更に、上記プログラムをネットワーク回線等の伝送媒体を介してサーバやクライアントへ伝送してこれらの機器にインストールする様に構成してもよい。
【００１８】
表示部５は、ＬＣＤ（Liquid Crystal Display）等により構成され、画像処理部１１から入力される合成画像データのビデオ信号に基づいて、表示画面にカラー画像を表示する。また、表示部５は、ファインダとして、撮影時に撮像レンズを介して取り込んだ被写体Ａの画像を表示すると共に、撮影後に記憶部４に格納された合成画像データを再生表示する。
【００１９】
ＲＡＭ（Random Access Memory）６は、ＣＰＵ２により各種制御処理が実行される際に、その制御処理を司るプログラムを展開したり、処理される各種データ、パラメータ等を一時的に格納するワークメモリ６ａを形成する。また、後述する撮像処理（図３参照）、合成位置決定処理（図４〜図６参照）において、例えば撮像データＰ１〜Ｐｎや評価位置画素Ｄ１〜Ｄｎの取得回数を計数するためのカウンタメモリ６ｂを形成する。
【００２０】
通信部７は、デジタルカメラ１と外部機器との間でＩｒＤＡ（Infrared Data Association ）方式の赤外線通信を行なうための赤外線インタフェースであり、赤外線通信により授受される画像データ、制御データ等の送受信制御を行なう。すなわち、通信部７は、赤外線通信機能を有する外部機器に送信する送信データを一時的に格納する送信データメモリと、該送信データメモリに格納されたデータを赤外線信号に変調する変調部と、変調された赤外線信号を赤外線パルスにより、赤外線通信用窓を介して上記外部機器に送信する送信用ＬＥＤと、前記外部機器から赤外線パルスにより送信された赤外線信号を赤外線通信用窓を介して受信するフォトダイオードと、受信された赤外線信号を受信データとして復調する復調部と、復調された受信データを一時的に格納する受信データメモリと、より構成されている。
【００２１】
撮像部８は、ＣＣＤ８ａ、画像信号処理部８ｂ、Ａ／Ｄ変換部８ｃより構成される。
ＣＣＤ（Charge Coupled Device）８ａは、フォトダイオード等の受光部に転送電極を重ねた素子（画素）を平面状に多数配設した画素面と、各画素に蓄積された電荷を電圧に変換して出力する出力部とから構成される。撮像レンズ（図示略）を介して入射した光は上記画素面で受光され、各画素には受光量に比例した電荷が蓄積される。各画素の蓄積電荷は、駆動制御部９から供給される駆動信号に応じて上記出力部により撮像信号（アナログ信号）として１画素分ずつ順次読み出され、画像信号処理部８ｂを介してＡ／Ｄ変換部８ｃへ出力される。
【００２２】
ＣＣＤ８ａの受光部には、多数の画素が配置され、各画素は１回の撮像時に光の３原色（ＲＧＢ）の何れか１つの単色光のみ取得するため、ＣＣＤ８ａの位置を変えて複数回撮像することにより、同一画素におけるフルカラー画像を撮影する。但し、人間の視覚感度が高い緑感光用の画素は、１画素当り２回分の撮像データを要する。このため、１つの合成画像データを生成するには、Ｒ（赤色）、Ｇ（緑色）、Ｂ（青色）、Ｇ感光用の計４種類の撮像データＰ１〜Ｐ４が必要になる。
【００２３】
画像信号処理部８ｂは、ＣＰＵ２から入力される制御信号に基づいて、ＣＣＤ８ａの受光部の各転送電極に蓄えられた蓄積電荷を電気信号（アナログ信号）を増幅し、撮像信号として１電極ずつ順次Ａ／Ｄ変換部８ｃへ出力する。
【００２４】
Ａ／Ｄ（Analog to Digital ）変換部８ｃは、ＣＣＤ８ａから画像信号処理部８ｂを介して入力された撮像信号をアナログ信号からデジタル信号に変換し、撮像データとしてＶＲＡＭ１０に供給する。
【００２５】
駆動制御部９は、ＣＣＤ８ａの撮像位置を横または縦方向に１画素分ずらす駆動制御を行う。該駆動制御は、図２（ａ）〜（ｄ）に示す様に、標準位置、横方向１画素ずらし、縦横方向各１画素ずらし、縦方向１画素ずらしの計４回実行される。すなわち、ＣＣＤ８ａの各画素は、ＲＧＢの何れか１つの単色情報しか得られないが、撮像位置を変えて４回撮影することにより同一画素におけるＲＧＢ全ての各色情報を揃えることが可能となる。同図において、各撮像データＰ１〜Ｐ４中の丸印の位置に示す様に、特定の画素に着目すると、４回の撮像データの取込でＣＰＵ２はＲＧＢＧの順に各色情報を取得する。
【００２６】
ＶＲＡＭ（Video Random Access Memory）１０は、Ａ／Ｄ変換部８ｃから入力される撮像データを一時的に格納するビデオメモリであり、４枚の撮像データＰ１〜Ｐ４、またはその合成画像データＣ１を格納可能なメモリ容量を有する。
【００２７】
画像処理部１１は、ＣＰＵ２によりＶＲＡＭ１０から出力される画像データに同期信号を付加する等してビデオ信号（デジタル信号）を生成し、該ビデオ信号を表示部５に出力する。また、ビデオ出力端子にビデオケーブルを介して外部機器が接続されている場合は、該ビデオ信号をこの外部機器に対しても出力する。
【００２８】
また、画像処理部１１は、後述する撮像処理（図３参照）や合成位置決定処理（図４〜図６参照）において、複数の撮像データを合成して生成した合成画像データＣ１の表示制御処理を行なう。すなわち、画像処理部１１は、ＣＰＵ２の制御信号に基づいて、ＶＲＡＭ１１に格納された４枚の撮像データＰ１〜Ｐ４を、最適化した評価位置で合成、トリミング処理し、最終的な合成画像データＣ１として記憶部４または記憶媒体４ａに保存すると共に、合成画像データＣ１に同期信号を付加する等してビデオ信号（デジタル信号）を生成し、その中から１画面分のビデオ信号を読み出して表示部５へ表示させる。なお、合成対象となる複数の撮像データが同色成分（例えば緑色成分）を含む場合にはその色成分を平均し、含まない場合にはその成分を単純に加算することにより、鮮明なフルカラー画像を生成する。
【００２９】
次に、動作を説明する。
まず、デジタルカメラ１の使用者がシャッタ釦を押下した際に実行される撮像処理、及び撮像処理に基づく具体的表示例について、図３〜図１０を参照して詳述する。
【００３０】
図３は、撮像処理を示すフローチャートである。
デジタルカメラ１のシャッタ釦が押下されると、以下に説明する撮像処理を実行するプログラムを記憶部４から読み出しＲＡＭ６に展開すると共に、図３のフローチャートに従った各種動作を実行する。
【００３１】
図３において、まずＣＰＵ２はＲＡＭ６内のカウンタメモリ６ｂに初期値として「ｎ＝１」を設定する（ステップＳ１）。次に、ＣＰＵ２は、ＣＣＤ８ａにより被写体Ａを撮影し（ステップＳ２）、該撮影画像をＶＲＡＭ１０の所定の領域に取り込み、第１回目の撮像データＰ１として一時的に格納する（ステップＳ３）。次に、駆動制御部９は、ＣＰＵ２の指令に従って、ＣＣＤ８ａの位置を標準位置から被写体Ａに向かって右方向に１画素分ずらす（ステップＳ４）。
【００３２】
次に、ＣＰＵ２は、カウンタメモリ６ｂの設定値が「ｎ＝４」であるか否かを判定する（ステップＳ５）。ここで、上記設定値が「ｎ＝４」でない場合（ステップＳ５；Ｎｏ）、ＣＰＵ２は「ｎ＝ｎ＋１」とし（ステップＳ６）、再度ステップＳ２に戻り、それ以降の処理を実行する。
【００３３】
なお、図３に示す様に、ステップＳ２〜Ｓ５の処理は計４回繰り返して実行され、１回目はＣＣＤ８ａの標準位置で被写体Ａを撮影し、撮像データＰ１としてＶＲＡＭ１０に格納する。同様に、２回目はＣＣＤ８ａを標準位置から右方向に１画素分ずらして撮影し、撮像データＰ２として格納する。また、３回目はＣＣＤ８ａを標準位置から、右方向と下方向に夫々１画素分ずつずらして撮影し、第３の撮像データＰ３として格納する。更に、４回目はＣＣＤ８ａを標準位置から下方向に１画素分ずらして撮影し、第４の撮像データＰ４として格納する。
【００３４】
次に、ＣＰＵ２は、上記４つの撮像データの最適な合成位置を決定するため、後述する合成位置決定処理を実行制御する（ステップＳ７）。以下、図４〜図６を参照して、合成位置決定処理について詳述する。
【００３５】
図４において、まずＣＰＵ２は、撮像データＰ１をＶＲＡＭ１０から読み出す（ステップＳ７０１）。次に、ＣＰＵ２は、図７（ｂ）に示す様に、最初の横方向の画素列Ｈ１を選択し（ステップＳ７０２）、該横方向の画素列Ｈ１を同色画素を選択すると共に、特定の同色画素（例えば白色領域）内の画素のエッジ量を算出する（ステップＳ７０３）。
【００３６】
ここで、エッジ量とは、所定の撮像領域内における特定の画素の変位量（差分）を示す値であり、該エッジ量が大きい程、各撮像データ間の画素のずれが大きい。このため、エッジ量が最大となる画素を評価位置画素（重ね合わせの基準点）として、異なる複数の撮像データを合成することで、重ね合わせ誤差の少ないより高精度な画像合成が可能となる。
【００３７】
次に、ＣＰＵ２は、ステップＳ７０３で算出された同色画素内の画素のエッジ量を合計する（ステップＳ７０４）。次に、ＣＰＵ２は、横方向の画素列Ｈ１における全ての同色画素内のエッジ量の合計を算出したか否かを判定し（ステップＳ７０５）、算出していなければ（ステップＳ７０５；Ｎｏ）、次の同色画素（例えば黒色領域）を指定する。そして、横方向の画素列Ｈ１における全ての同色画素内のエッジ量の合計を算出するまで、ステップＳ７０３〜Ｓ７０４の処理を繰り返し実行する。
【００３８】
次に、ＣＰＵ２は、ステップＳ７０３〜Ｓ７０４で算出された各同色画素のエッジ量を合計して、横方向の画素列Ｈ１内の総エッジ量を算出する（ステップＳ７０６）。次に、ＣＰＵ２は、撮像データＰ１の全ての横方向の画素列Ｈ１〜Ｈ５の総エッジ量を算出したか否かを判定し（ステップＳ７０７）、算出していなければ（ステップＳ７０７；Ｎｏ）、次の横方向の画素列を指定する（ステップＳ７０８）。
【００３９】
そして、全ての横方向の画素列内の総エッジ量を算出するまでステップＳ７０３〜Ｓ７０６の処理を繰り返し実行する。次に、ＣＰＵ２は、総エッジ量が最大となる横方向の画素列を選択する（ステップＳ７０９）。この場合、図７（ｅ）に示す様に横方向の画素列Ｈ３が選択される。
【００４０】
次に、ＣＰＵ２は、ステップＳ７０２〜Ｓ７０９と同様の処理を縦方向の画素列に対して実行する。すなわち、ＣＰＵ２は、最初の縦方向の画素列Ｖ３を選択し（ステップＳ７１０）、画素列Ｖ３について同色画素を選択すると共に、特定の同色画素（例えば白色領域）内の画素のエッジ量を算出する（ステップＳ７１１）。
【００４１】
次に、ＣＰＵ２は、ステップＳ７１１で算出された同色画素内の画素のエッジ量を合計する（ステップＳ７１２）。次に、ＣＰＵ２は、画素列Ｖ３における全ての同色画素内のエッジ量の合計を算出したか否かを判定し（ステップＳ７１３）、算出していなければ（ステップＳ７１３；Ｎｏ）、次の同色画素（例えば青色領域）を指定する。そして、縦方向の画素列Ｖ３における全ての同色画素内のエッジ量の合計を算出するまで、ステップＳ７１１〜Ｓ７１２の処理を繰り返し実行する。
【００４２】
次に、ＣＰＵ２は、ステップＳ７１１〜Ｓ７１２で算出された各同色画素のエッジ量を合計して、縦方向の画素列Ｖ３内の総エッジ量を算出する（ステップＳ７１４）。次に、ＣＰＵ２は、撮像データＰ１の全ての縦方向の画素列の総エッジ量を算出したか否かを判定し（ステップＳ７１５）、算出していなければ（ステップＳ７１５；Ｎｏ）、次の縦方向の画素列を指定する（ステップＳ７１６）。
【００４３】
そして、全ての縦方向の画素列内の総エッジ量を算出するまでステップＳ７１１〜Ｓ７１４の処理を繰り返し実行する。次に、ＣＰＵ２は、総エッジ量が最大となる縦方向の画素列Ｖ３を選択する（図５のステップＳ７１７）。この場合、図７（ｈ）に示す様に縦方向の画素列Ｖ３が選択される。
【００４４】
次に、ＣＰＵ２は、ステップＳ７０９で選択された横方向の画素列Ｈ３とステップＳ７１７で選択された縦方向の画素列Ｖ３の交点となる画素を算出し、撮像データＰ１の評価位置画素Ｄ１とする（ステップＳ７１８）。
【００４５】
ここで、図７（ａ）〜（ｉ）の撮像データの具体的構成例を参照して、ステップＳ７０１〜Ｓ７１８に示した一連の評価位置画素Ｄ１の決定処理について説明する。まず、図７（ａ）は、元画像データＰ０の一例を示す図である。元画像データＰ０は、例えば横方向の画素列として画素列Ｈ１〜Ｈ５を有し、縦方向の画素列として画素列Ｖ１〜Ｖ５を有する。
【００４６】
また、同図（ｂ）〜（ｄ）は、夫々光の３原色（ＲＧＢ）に対応する元画像データＰ０に基づく各色成分レベルの撮像データＰ１〜Ｐ３を示す図である。ＣＰＵ２は、各色成分に対応する撮像データ毎に各画素列Ｈ１〜Ｈ５のエッジ量を算出する。そして、各色成分のエッジ量の合計が最大となる画素列を検出する。この場合、同図（ｅ）〜（ｇ）に示す様に、画素列Ｈ３のエッジ量の総計が最大値をとる。
【００４７】
同様に、縦方向の画素列のエッジ量を各色成分毎に算出すると、同図（ｈ）に示す様に、画素列Ｖ３のエッジ量の総計が最大値となる。従って、同図（ｉ）に示す様に、画素列Ｈ３と画素列Ｖ３の交点が撮像データＰ１の評価位置画素Ｄ１としてワークメモリ６ａに記憶される。
【００４８】
次に、ＣＰＵ２は、メモリカウンタ６ｂに「ｎ＝２」を設定する（ステップＳ７１９）と同時に、２回目の撮影画像データである撮像データＰ２をＶＲＡＭ１０から読み出す（ステップＳ７２０）。次に、ＣＰＵ２は、図８（ａ）に示す様に、上記評価位置画素Ｄ１をｎ回目の評価位置画素Ｄｎに仮設定し（ステップＳ７２１）、該評価位置画素Ｄｎとその周辺８画素（図８（ｂ）参照）についてエッジ量を算出する（ステップＳ７２２）。次に、ＣＰＵ２は、図８（ｃ）に示す様に、評価位置画素Ｄ１の大きさを、評価位置画素Ｄｎとその周辺８画素の大きさと比較し（ステップＳ７２３）、評価位置画素Ｄ１の大きさと最近似の大きさの画素を選択する（ステップＳ７２４）。
【００４９】
次に、ＣＰＵ２は、ステップＳ７２４で評価位置画素が選択されたか否かを判定し（ステップＳ７２５）、決定したｎ回目評価位置画素を評価位置画素Ｄｎとしてワークメモリ６ａに記憶する（ステップＳ７２６）。次に、ＣＰＵ２は、カウンタメモリ６ｂの設定値が「ｎ＝４」であるか否かを判定し（ステップＳ７２７）、ｎ＝４であれば、再度図３のステップＳ８に戻り、それ以降の処理を実行する。
【００５０】
また、ステップＳ７２５において、評価位置画素が選択されない場合（ステップＳ７２５；Ｎｏ）、ＣＰＵ２は、エッジ量が評価位置画素Ｄ１と最近似の大きさの画素が複数存在するか否かを判定する（ステップＳ７２８）。ここで、複数存在しない場合（ステップＳ７２８；Ｎｏ）、エッジ量が評価位置画素Ｄ１と最近似の大きさの画素をｎ回目の評価位置画素Ｄｎとし（ステップＳ７２９）、再度ステップＳ７２２に戻り、それ以降の処理を繰り返し実行する。
【００５１】
また、ステップＳ７２８において、エッジ量が評価位置画素Ｄ１と最近似の大きさの画素が複数存在する場合（ステップＳ７２８；Ｙｅｓ）、ステップＳ７３０以降の処理に移行する。すなわち、ＣＰＵ２は上記複数の画素の中から任意の１画素を選択し、その画素を中心に周辺８画素についてエッジ量を算出する（ステップＳ７３０）。
【００５２】
次に、ＣＰＵ２は、ステップＳ７３０で選択された画素以外で最近似の大きさの画素が存在するか否かを判定する（ステップＳ７３１）。ここで、他にエッジ量が最近似の大きさの画素が存在しない場合（ステップＳ７３１；Ｎｏ）、ＣＰＵ２は、エッジ量が評価位置画素Ｄ１と最近似の大きさの画素を選択する（ステップＳ７３２）。
【００５３】
次に、ＣＰＵ２は、評価位置画素Ｄ１のエッジ量の大きさと最近似の大きさの画素が複数存在するか否かを判定する（ステップＳ７３３）。ここで、エッジ量が最近似の画素が複数存在しない場合（ステップＳ７３３；Ｎｏ）、エッジ量が評価位置画素Ｄ１と最近似の画素をｎ回目の評価位置画素Ｄｎとし（ステップＳ７３４）、再度ステップＳ７２６に戻り、それ以降の処理を繰り返し実行する。
【００５４】
また、ステップＳ７３１で、他にエッジ量が最近似の画素が存在する場合（ステップＳ７３１；Ｙｅｓ）、またはステップＳ７３３で、エッジ量が評価位置画素Ｄ１と最近似の大きさの画素が複数存在する場合（ステップＳ７３３；Ｙｅｓ）、再びステップＳ７３０に戻り、ＣＰＵ２は上記複数の画素の中から任意の１画素を選択し、その画素を中心に周辺８画素についてエッジ量を算出する。
【００５５】
また、ステップＳ７２７において、カウンタメモリ６ｂの設定値が「ｎ＝４」でない場合（ステップＳ７２７；Ｎｏ）、ＣＰＵ２はカウンタメモリ６ｂを「ｎ＝ｎ＋１」に設定する（ステップＳ７２８）と共に、再度ステップＳ７１９に戻り、それ以降の処理を繰り返し実行する。すなわち、ＣＰＵ２は、撮像データＰ１〜Ｐ４に対応する評価位置画素Ｄ１〜Ｄ４を算出してワークメモリ６ａに記憶する。
【００５６】
前述した合成位置決定処理を終了すると、ＣＰＵ２は、撮像データＰ１をＶＲＡＭ１０から読み出し、それに対応する評価位置画素Ｄ１をワークメモリ６ａから読み出す（ステップＳ８）。次に、ＣＰＵ２は、カウンタメモリ６ｂに「ｎ＝２」を設定し（ステップＳ９）、ｎ回目の撮影画像データＰｎをＶＲＡＭ１０から読み出し、それに対応する評価位置画素Ｄｎをワークメモリ６ａから読み出す（ステップＳ１０）。
【００５７】
次に、ＣＰＵ２は、撮像データＰ１と撮像データＰｎとを、夫々の評価位置画素Ｄ１、Ｄｎを中心にして合成する（ステップＳ１１）。次に、ＣＰＵ２は、カウンタメモリ６ｂの設定値が「ｎ＝４」であるか否かを判定する（ステップＳ１２）。ここで、ｎ＝４でない場合（ステップＳ１２；Ｎｏ）、ＣＰＵ２は、カウンタメモリ６ｂの設定値を「ｎ＝ｎ＋１」とし（ステップＳ１３）、再びステップＳ１０に戻り、ｎ回目の撮像データＰｎをＶＲＡＭ１０から読み出し、それに対応する評価位置画素Ｄｎをワークメモリ６ａから読み出す。
【００５８】
すなわち、ＣＰＵ２は、図９（ａ）〜（ｄ）に示す全撮像データＰ１〜Ｐ４を評価位置画素Ｄ１〜Ｄ４を中心画素として合成する。そして、図９（ｅ）に示す様に、合成画像データＣ１を最終画像の有効画素範囲Ｅで切り抜いてトリミングし（ステップＳ１３）、上述した撮像処理を終了する。なお、有効画素範囲Ｅは、撮像データＰ１〜Ｐ４の全てが重なる最大範囲とする。
【００５９】
以上説明した様に、本発明に係るデジタルカメラ１は、図１０（ａ）〜（ｆ）に示す様に、１つの被写体Ａに対して、ＣＣＤ８ａの撮像位置を変えて色成分の異なる４枚の撮像データＰ１〜Ｐ４を取得し、撮像データＰ１からＲＧＢの各色成分のエッジ量の総計が最大となる横方向と縦方向の画素列を選択し、その交点を評価位置画素Ｄ１として記憶する。
【００６０】
次に、撮像データＰ２内で評価位置画素Ｄ１の総エッジ量に最も近い周辺画素を評価位置画素Ｄ２として記憶する。同様に、撮像データＰ３、Ｐ４の評価位置画素Ｄ３、Ｄ４を算出して記憶する。次に、４枚の撮像データＰ１〜Ｐ４を夫々の評価位置画素Ｄ１〜Ｄ４を中心として重ね合わせて合成し、有効画素範囲でトリミングする。そして、トリミング後の画像データを、ＣＣＤ８ａの受光部の各画素を表示部５の１画素データ（ＲＧＢ）に割り当てて表示すると共に、合成画像データＣ１として記憶部４に記憶する。
【００６１】
従って、色成分の異なる複数の撮像データの合成時に、最適な評価位置を検出することが可能となり、複数の撮像データを高精度に重ね合わせることができる。このため、高解像度を維持しつつ、画像の輪郭ぼけやにじみ等のブレの影響を抑えた高画質且つ鮮明な撮像データを取得できる。また、例えば人間の視覚的感度が高い緑色成分の撮像データを平均し、赤色成分と青色成分の撮像データを単純に加算して合成すれば、特定の撮像データの色成分に偏らない均質な画像データを出力できる。更に、４枚の撮像データを重ね合わせて、有効画素範囲でトリミングすれば、多彩な画像データを効率的に出力できる。
【００６２】
なお、上記実施の形態における記述内容は、本発明に係るデジタルカメラ１の好適な一例であり、これに限定されるものではない。
例えば、本実施の形態では、本発明をＣＣＤ８ａの撮像位置を複数回移動させて撮影するデジタルカメラに適用したが、光源位置を変更させて複数回走査し合成するスキャナに適用してもよい。この場合、物理的なブレだけでなく光路差に起因する色ずれ等を抑えることができる。
【００６３】
その他、デジタルカメラ１の細部構成、及び詳細動作に関しても、本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【００６４】
【発明の効果】
請求項１記載の発明によれば、同一の被写体の画素をずらして撮影した色成分の異なる複数の撮影画像を合成する撮影装置において、合計算出手段と、総計算出手段と、最大列選択手段と、評価位置画素検出手段と、画像合成手段と、を備えたので、第１の撮影画像の合成時に最適な評価位置を検出し、この評価位置を中心して色成分の異なる複数の撮影画像を合成することができる。したがって、各撮影画像の評価位置に基づく、重ね合わせ誤差の少ない高精度な合成が可能となる。
【００６５】
請求項２記載の発明によれば、請求項１記載の発明の効果に加えて、色成分の異なる複数の撮影画像の最適な合成位置を検出することが可能となり、色成分の異なる複数の撮影画像をより高精度に重ね合わせることができる。このため、画像の輪郭ぼけやにじみ等のブレの影響を抑えた高画質且つ鮮明な撮像データを取得できる。
【００６６】
請求項３記載の発明によれば、請求項２記載の発明の効果に加えて、色成分の異なる複数の撮影画像の合成時に、特定の撮影画像の色成分に偏らない均質な画像データを出力できる。
【００６７】
請求項４記載の発明によれば、請求項２記載の発明の効果に加えて、複数の撮影画像を合成して得られた画像から、所望の合成部分を画像として選択的に抽出することが可能となり、効率的且つ多彩な画像を出力できる。
【００６８】
請求項５記載の発明によれば、第１の撮影画像の合成時に最適な評価位置を検出し、この評価位置を中心して色成分の異なる複数の撮影画像を合成するプログラムをコンピュータ上で実行できる。したがって、各撮影画像の評価位置に基づいて、高精度な合成が可能となる。
【図面の簡単な説明】
【図１】本発明に係るデジタルカメラ１の機能的構成を示すブロック図である。
【図２】ＣＣＤ８ａの受光部における撮像データＰ１〜Ｐ４の位置関係を示す図である。
【図３】図１のＣＰＵ２により実行される撮像処理を示すフローチャートである。
【図４】図１のＣＰＵ２により実行される合成位置決定処理を示すフローチャートである。
【図５】図１のＣＰＵ２により実行される合成位置決定処理を示すフローチャートである。
【図６】図１のＣＰＵ２により実行される合成位置決定処理を示すフローチャートである。
【図７】元画像データＰ０の各色成分の撮像データＰ１〜Ｐ３、各撮像データのエッジ量、及び撮像データＰ１の評価位置画素Ｄ１を示す図である。
【図８】図７の評価位置画素Ｄ１を基準とした他の評価位置画素の選択方法を示す図である。
【図９】撮像データＰ１〜Ｐ４の有効画素範囲Ｅにおけるトリミング位置を示す図である。
【図１０】撮像データＰ１〜Ｐ４の通常手法による合成画像データＣ０、及び最適化による合成画像データＣ１を示す図である。
【符号の説明】
１    デジタルカメラ
２    ＣＰＵ
３    入力部
４    記憶部
４ａ    記憶媒体
５    表示部
６    ＲＡＭ
６ａ  ワークメモリ
６ｂ  カウンタメモリ
７    通信部
８ａ    ＣＣＤ
８ｂ    画像信号処理部
８ｃ    Ａ／Ｄ変換部
９    駆動制御部
１０    ＶＲＡＭ
１１    画像処理部
１２    バス
Ａ    被写体
Ｐ０    元画像データ
Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐｎ    撮像データ
Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄｎ    評価位置画素
Ｈ１，Ｈ２，Ｈ３，Ｈ４，Ｈ５    横方向の画素列
Ｖ３    縦方向の画素列
Ｃ０，Ｃ１    合成画像データ
【図１】
0004374726.tif 000002
【図２】
0004374726.tif 000003
【図３】
0004374726.tif 000004
【図４】
0004374726.tif 000005
【図５】
0004374726.tif 000006
【図６】
0004374726.tif 000007
【図７】
0004374726.tif 000008
【図８】
0004374726.tif 000009
【図９】
0004374726.tif 000010
【図１０】
0004374726.tif 000011