(57)【要約】【課題】振れを伴う撮像データを、少ない計算量で、かつ高い精度で補正する。【解決手段】撮像部によって時分割露光された複数の画像データを入力する。画像データが表す画像を複数の領域に領域分割する。複数の領域の平均的な輝度に基づき複数の分配パターンを設定する。分配パターンに従い、複数の画像データを合成用画像又は動き検出用画像に分配し、動き検出用画像の画像データから時分割露光の際の撮像部の動き量を検出し、合成用画像を合成した合成画像データを生成する。分配パターン及び動き量に基づき、合成画像データが表す画像の振れを補正する。複数の分配パターンを用いて出力した複数の補正後の画像データを、画像データの振れ補正に用いた分配パターンが対応する領域に基づき合成して、振れ補正後の画像データにする。【選択図】図１１
2011004282.tif 000002
【特許請求の範囲】
【請求項１】
撮像部によって時分割露光された複数の画像データを入力する入力手段と、
前記画像データが表す画像を複数の領域に領域分割する分割手段と、
前記複数の領域の平均的な輝度に基づき複数の分配パターンを設定する設定手段と、
前記分配パターンに従い、前記複数の画像データを合成用画像又は動き検出用画像に分配する分配手段、前記動き検出用画像の画像データから前記時分割露光の際の前記撮像部の動き量を検出する検出手段、前記合成用画像を合成した合成画像データを生成する合成手段、並びに、前記分配パターン及び前記動き量に基づき、前記合成画像データが表す画像の振れを補正する補正手段を備える処理手段と、
前記処理手段がそれぞれの前記分配パターンを用いて補正して出力した複数の補正後の画像データを、当該画像データの振れ補正に用いた分配パターンが対応する前記領域に基づき合成して、振れ補正後の画像データにする統合手段とを有することを特徴とする画像処理装置。
【請求項２】
前記分割手段は、前記画像データが表す画像のオブジェクトに注目して前記領域分割を行うことを特徴とする、請求項１に記載の画像処理装置。
【請求項３】
撮像部によって時分割露光された複数の画像データを入力する入力手段と、
空間周波数域に応じた複数の分配パターンを設定する設定手段と、
前記分配パターンに従い、前記複数の画像データを合成用画像又は動き検出用画像に分配する分配手段、前記動き検出用画像の画像データから前記時分割露光の際の前記撮像部の動き量を検出する検出手段、前記合成用画像を合成した合成画像データを生成する合成手段、並びに、前記分配パターン及び前記動き量に基づき、前記合成画像データが表す画像の振れを補正する補正手段を備える処理手段と、
前記処理手段がそれぞれの前記分配パターンを用いて補正して出力した複数の補正後の画像データを、当該画像データの振れ補正に用いた分配パターンが対応する前記空間周波数域に基づき合成して、振れ補正後の画像データにする統合手段とを有することを特徴とする画像処理装置。
【請求項４】
前記統合手段は、前記複数の補正後の画像データのそれぞれを周波数空間のデータに変換する手段、複数の前記周波数空間のデータを合成する手段、及び、前記合成した周波数空間のデータを実空間のデータに逆変換する手段を有することを特徴とする、請求項３に記載の画像処理装置。
【請求項５】
前記処理手段を複数有し、並列処理を行うことを特徴とする、請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
画像処理装置が行う方法であって、
撮像部によって時分割露光された複数の画像データを入力する入力工程と、
前記画像データが表す画像を複数の領域に領域分割する分割工程と、
前記複数の領域の平均的な輝度に基づき複数の分配パターンを設定する設定工程と、
前記分配パターンに従い、前記複数の画像データを合成用画像又は動き検出用画像に分配する分配工程、前記動き検出用画像の画像データから前記時分割露光の際の前記撮像部の動き量を検出する検出工程、前記合成用画像を合成した合成画像データを生成する合成工程、並びに、前記分配パターン及び前記動き量に基づき、前記合成画像データが表す画像の振れを補正する補正工程を備える処理工程と、
前記処理工程でそれぞれの前記分配パターンを用いて補正して出力した複数の補正後の画像データを、当該画像データの振れ補正に用いた分配パターンが対応する前記領域に基づき合成して、振れ補正後の画像データにする統合工程とを有することを特徴とする画像処理方法。
【請求項７】
画像処理装置が行う方法であって、
撮像部によって時分割露光された複数の画像データを入力する入力工程と、
空間周波数域に応じた複数の分配パターンを設定する設定工程と、
前記分配パターンに従い、前記複数の画像データを合成用画像又は動き検出用画像に分配する分配工程、前記動き検出用画像の画像データから前記時分割露光の際の前記撮像部の動き量を検出する検出工程、前記合成用画像を合成した合成画像データを生成する合成工程、並びに、前記分配パターン及び前記動き量に基づき、前記合成画像データが表す画像の振れを補正する補正工程を備える処理工程と、
前記処理工程でそれぞれの前記分配パターンを用いて補正して出力した複数の補正後の画像データを、当該画像データの振れ補正に用いた分配パターンが対応する前記空間周波数域に基づき合成して、振れ補正後の画像データにする統合工程とを有することを特徴とする画像処理方法。
【請求項８】
コンピュータ装置を制御して、請求項１乃至５の何れか１項に記載された画像処理装置の各手段として機能させることを特徴とするプログラム。
【請求項９】
請求項８に記載されたプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影して得られたデジタル画像データを振れ修復する技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラの撮像素子の高解像度化に伴い、撮影時の手振れ補正処理が注目されている。特にパーソナルコンピュータ上で簡単に100%以上に拡大して画像を確認できるので、如何に手振れを補正するかが重要なテーマとなっている。
【０００３】
手振れの補正方法としては、ハードウェアによる実現方法と、ソフトウェアによる実現方法がある。ハードウェアによる実現方法には、カメラにジャイロセンサを搭載し、露光中はジャイロセンサから得た振動を打ち消すようにレンズや撮像素子を駆動して手振れを低減する方法が考えられる。例えば、レンズ光学系を駆動して手振れを補正する方法が、特許文献１に開示されている。
【０００４】
ハードウェアによる手振れ補正処理には、部品点数や製造コストの増加という問題がある。そのため、安価なデジタルカメラで同様の機能を実現する場合には、ソフトウェアによる補正方法が望まれる。
【０００５】
ソフトウェアによる手振れ補正処理の実現方法には、短時間露光した画像と長時間露光した画像を得て合成する方法や、短時間露光した画像を複数枚用意して合成する方法が考えられる。前者については、特許文献２に開示されている。特許文献２で述べられている方法では、長時間露光した画像の高周波成分を、短時間露光して得た画像を用いて補正することで、画像の振れ修復を実現する。また、後者の例は、特許文献３及び特許文献４に開示されている。特許文献３では、時分割露光して得た短時間露光画像について画像間の差が小さくなるように位置あわせを行い合成することで画像の振れ修復を実現する方法が開示されている。特許文献４でも同様に、複数枚の振れ補正後の画像を、位置あわせをしながら合成することで振れ修復を実現する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２１４６５７号公報
【特許文献２】特開２００２−２５８３５１号公報
【特許文献３】特開２００６−７４６９３号公報
【特許文献４】特開２００６−８６７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献３や特許文献４で述べられている方法には、次のような課題がある。画像の暈けを適切に修復するには、複数の短時間露光画像を、それらの振れ量に応じて、適切に合成する。言い換えれば、適切な画像の暈けの修復には、高精度な振れ量の取得が必要である。従って、短時間露光画像について、その直前又は直後に撮影された短時間露光画像との間の振れ量を算出する必要がある。しかし、振れ量を高精度に算出する処理や、振れ量に合わせて画像を変形し合成する処理は、計算コストが非常に高く、連写速度の低下や、バッファリングが可能な撮影数の低下を招く。
【０００８】
本発明は、振れを伴う撮像データを、少ない計算量で、かつ高い精度で補正することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る画像処理装置は、前記の目的を達成する一手段として、以下の構成を備える。すなわち、
撮像部によって時分割露光された複数の画像データを入力する入力手段と、
前記画像データが表す画像を複数の領域に領域分割する分割手段と、
前記複数の領域の平均的な輝度に基づき複数の分配パターンを設定する設定手段と、
前記分配パターンに従い、前記複数の画像データを合成用画像又は動き検出用画像に分配する分配手段、前記動き検出用画像の画像データから前記時分割露光の際の前記撮像部の動き量を検出する検出手段、前記合成用画像を合成した合成画像データを生成する合成手段、並びに、前記分配パターン及び前記動き量に基づき、前記合成画像データが表す画像の振れを補正する補正手段を備える処理手段と、
前記処理手段がそれぞれの前記分配パターンを用いて補正して出力した複数の補正後の画像データを、当該画像データの振れ補正に用いた分配パターンが対応する前記領域に基づき合成して、振れ補正後の画像データにする統合手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、振れを伴う撮像データを、少ない計算量で、かつ高い精度で補正することができる。
【図面の簡単な説明】
【００１１】
【図１】デジタルカメラの外観図である。
【図２】デジタルカメラの垂直断面図である。
【図３】デジタルカメラの制御、撮影及び画像処理に関する構成例を示すブロック図である。
【図４】コード化露光処理による暈け補正処理を説明するフローチャートである。
【図５】画像の暈けの補正原理を概念的に表す図である。
【図６】PSFの作成(S204)を説明するフローチャートである。
【図７】一般的な回転運動におけるPSFの一例を示す図である。
【図８】シャッターを切る間ずっと開口している場合のPSFである。
【図９】シャッターの開閉を制御した場合のPSFである。
【図１０】回転振れによる暈けを補正した画像を示す図である。
【図１１】第一の実施例に係る処理の概要を説明する図である。
【図１２】第一の実施例に係る処理を説明するフローチャートである。
【図１３】並列処理を行う場合の構成を示す図である。
【図１４】第一の実施例に係るオブジェクト分割を説明する図である。
【図１５】第一の実施例に係る分配パターン生成処理を説明するフローチャートである。
【図１６】平均輝度と分配率との関係を示すテーブルの例である。
【図１７】動き情報生成処理を説明するフローチャートである。
【図１８】第二の実施例での領域分割方法を示す図である。
【図１９】第三の実施例に係る処理を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明に係る実施例の画像処理を図面を参照して詳細に説明する。なお、以下では、デジタルカメラに振れを補正する構成を組み込む例を説明する。
【００１３】
［第一の実施例］
図1はデジタルカメラの外観図である。カメラボディ100の上部には、ビューファインダの接眼窓111、自動露出(AE)ロックボタン114、自動焦点(AF)の測距点を選択するボタン113、撮影操作をするためのレリーズボタン112がある。また、撮影モード選択ダイヤル117、外部表示部409、電子ダイヤル411等がある。
【００１４】
電子ダイヤル411は、他の操作ボタンと併用してカメラに数値を入力したり、撮影モードを切り換えたりするための多機能信号入力部である。また、LCDパネルの外部表示部409には、シャッタスピード、絞り、撮影モード等の撮影条件や、その他の情報が表示される。
【００１５】
カメラボディ100の背面には、カメラが捉えた画像、撮影した画像、各種設定画面等を表示するLCDモニタ417、LCDモニタ417の表示をオンオフするためのスイッチ121、十字キー116、メニューボタン124等がある。なお、LCDモニタ417は透過型であるため、LCDモニタ417の駆動だけではユーザが画像を視認することはできない。そのため、LCDモニタ417の裏面には、後述するように、バックライトが必要である。
【００１６】
十字キー116は、上下左右にそれぞれ配置された四つのボタンと、中央部に配置された設定ボタンを有し、LCDモニタ417に表示されるメニュー項目等の選択や実行を指示するために用いられる。
【００１７】
メニューボタン124は、LCDモニタ417にメニュー画面を表示させるためのボタンである。例えば、撮影モードを選択、設定する場合、メニューボタン124を押した後、十字キー116の上下左右のボタンを操作して希望の撮影モードを選択し、希望の撮影モードが選択された状態で設定ボタンを押すことで、撮影モードの設定が完了する。なお、メニューボタン124と十字キー116は、後述するAFモードの設定にも使用される。
【００１８】
図2はデジタルカメラの垂直断面図である。撮像光学系の撮影レンズ200は、レンズマウント202を介して、カメラボディ100に着脱可能である。撮影光軸201を中心とする撮影光路中に配置されたミラー203は、撮影レンズ200からの被写体光をファインダ光学系に導く位置（斜設位置）と、撮影光路外の退避位置の間でクイックリターンが可能である。
【００１９】
ミラー203によってファインダ光学系に導かれた被写体光は、ピント板204上に結像する。そして、ピント板204を通過した被写体光は、ビューファインダの視認性を向上させるコンデンサレンズ205、正立正像を復元するペンタゴナルダハプリズム206を通り、接眼レンズ208及び測光センサ207に導かれる。
【００２０】
後幕209と先幕210は、フォーカルプレーンシャッタ（機械式シャッタ）を構成し、両幕209と210の開閉によって、その後方に配置された、CCDやCMOSセンサである撮像デバイス418を必要時間露光する。撮像デバイス418は、プリント板211に保持されている。プリント板211の後方には、さらにプリント板215が配置され、プリント板215の反対面にLCDモニタ417とバックライト416が配置されている。
【００２１】
さらに、カメラボディ100内には、画像データが記録される記録メディア419aと、携帯用電源である電池217がある。なお、記録メディア419aと電池217は、カメラボディ100に着脱可能である。
【００２２】
図3はデジタルカメラの制御、撮影及び画像処理に関する構成例を示すブロック図である。マイクロコンピュータ(CPU)402は、撮像デバイス418が出力する画像データの処理や、LCDモニタ417の表示制御をはじめとし、カメラ全体の動作を制御する。
【００２３】
スイッチ(SW1)405は、レリーズボタン112を半分押した状態（半押し状態）で閉になる。スイッチ(SW1)405が閉になるとカメラは撮影準備状態になる。スイッチ(SW2)406は、レリーズボタン112を最後まで押込んだ状態（全押し状態）で閉になる。スイッチ(SW2)406が閉になるとカメラボディ100は撮影動作を開始する。
【００２４】
レンズ制御部407は、撮影レンズ200と通信し、AF時の撮影レンズ200の駆動制御や絞り羽根の駆動制御を行う。外部表示制御部408は、外部表示部409や、ファインダ内の表示部（不図示）を制御する。スイッチセンス部410は、上述した電子ダイヤル411を含む多数のスイッチやキーから出力される信号をCPU402に伝えるためのインタフェイスである。
【００２５】
ストロボ発光調光制御部412は、X接点412aを介して接地されており、外部ストロボの発光及び調光制御を行う。記録メディアドライブ419には、例えばハードディスクやメモリカード等の記録メディア419aが装着される。
【００２６】
測距部413は、AF用に被写体に対するデフォーカス量を検出する。測光部414は、被写体の輝度を測定し、露光時間を制御する。シャッタ制御部415は、撮像デバイス418に対して適正な露光が行われるように、機械式シャッタを制御する。LCDモニタ417とバックライト416は、上述したように表示装置を構成する。
【００２７】
画像処理部425は、デジタル信号処理プロセッサ(DSP)等から構成される。動き情報検出部426は、ジャイロセンサによって手振れ等によるカメラの動きを検出する。動き情報検出部426の出力は、カメラの振動を打ち消すように撮影レンズ200や撮像デバイス418を駆動するために利用される。
【００２８】
露光条件生成部427は、振れによる画像の暈けを補正するための露光条件を生成し、生成した露光条件に基づき電子シャッタを制御する。なお、電子シャッタの制御は、撮像デバイス418に供給する掃出パルスと読出パルスによって行う。さらに、CPU402には、アナログ-デジタル変換器(A/D)423、画像データをバッファするバッファメモリ424等が接続されている。
【００２９】
［画像データの取得］
詳細は後述するが、A/D423及び画像処理部425は、測光部414によって決められた時間内において、露光条件生成部427の制御によって時分割に露光（以下、時分割露光）された画像を処理し、被写体の複数の撮像データを取得する。
【００３０】
なお、撮像データは、撮像部である撮像デバイス418から出力された信号をA/D423によりデジタルデータに変換したデモザイキング（現像処理）前のデータ（以下、RAWデータと呼ぶ場合がある）である。なお、少なくとも撮像デバイス418は撮像部を構成するが、撮像デバイス418とA/D423を合わせて、さらに撮影レンズ200を合わせて、撮像部と呼ぶ場合がある。あるいは、カメラボディ100を撮像部と呼ぶ場合がある。
【００３１】
画像処理部425は、RAWデータをデモザイキングし、各種の画像処理を施して時分割露光画像を生成する。振れ補正部428は、後述する分配パターンに応じて選択した時分割露光画像データを加算合成する。そして、分配パターン、時分割露光画像データから算出した動き情報又は動き情報検出部426が出力する動き情報等に基づき、合成撮像データに振れ補正処理を適用し、振れによる暈けを補正した出力画像データを生成する。画像処理部425は、必要に応じて出力画像データに画像処理を施し、例えば記録メディアドライブ419に格納された記録メディア419aに格納する等して出力する。
【００３２】
［コード化露光処理の概要］
振れ補正部428は、coded exposure（以下、コード化露光）と呼ばれる技術を用いて手振れ等による画像の暈けを補正する。コード化露光は、指定された露光時間の間にシャッタを不規則に開閉し（以下、フラッタシャッタ(flutter shutter)と呼ぶ）、得られた画像とシャッタの開閉パターンの相関を用いて画像の暈けを補正する技術である。
【００３３】
以下では、回転方向の振れ（回転振れ）による画像の暈けを補正する場合を例にして、コード化露光処理の基本的な流れを説明する。その後、本実施例におけるコード化露光処理を説明する。
【００３４】
図4はコード化露光処理によって画像の暈けを補正する処理を説明するフローチャートである。まず、フラッタシャッタにより撮影した撮影データを入力する(S401)。撮像デバイス418の画素(x, y)に単位時間当りに入射する光の強度をI(x, y)、角速度をω(t)、露光時間をTとする。時刻tに、カメラにはI(x, y)を-θ(T-t)だけ回転させた情報が入射するので、撮像データIblur(x, y)は次式で表される。なお、座標系の原点は、後述する回転振れ情報が表す回転中心の位置座標に一致させる。
【００３５】
Iblur(x, y) = 1/T・∫th(t)I{x・cosθ(T-t)+y・sinθ(T-t), -x・sinθ(T-t)+y・cosθ(T-t)}dt
= 1/T・∫th(T-t)I{x・cosθ(t)+y・sinθ(t), -x・sinθ(t)+y・cosθ(t)}dt      …(1)
= 1/T・∫ωh(θ)/ω(θ)・I{x・cosθ+y・sinθ, -x・sinθ+y・cosθ}dθ      …(2)
= 1/T・∫ωh'(θ)・I{x・cosθ+y・sinθ, -x・sinθ+y・cosθ}dθ            …(3)
ここで、関数h(t)はシャッタの開閉を表し、シャッタ開は1、シャッタ閉は0、
積分範囲はt=0〜T、
積分範囲はω=0〜ω。
【００３６】
式(1)から式(2)の変形では、積分変数を変換した。ω(t)=dθ/dtである。また、ω(θ)は、tとθの関係を利用してθを変数に、h(t)を書き直した関数である。同様に、h(θ)は、tとθの関係を利用してθを変数に、h(t)を書き直した関数である。また、式(3)において、h'(θ)=h(θ)/ω(θ)である。
【００３７】
次に、シャッタの開閉パターンを示す露光情報を入力し(S402)、振れ角度θと時間の関係を示す回転振れ情報を入力する(S403)。そして、詳細は後述するが、回転振れ情報と露光情報に基づき、極座標上の点像分布関数(point spread function: PSF)であるh'(θ)を算出する(S404)。
【００３８】
次に、撮像データを極座標上の画像に変換する(S405)。前述したように、この変換における直交座標系の原点は、回転振れ情報が示す回転の中心座標に一致させる。極座標変換により式(3)は式(4)に変換される。
【００３９】
Iblur(r, Θ) = 1/T・∫ωh'(θ)I(r, Θ-θ)dθ
= 1/T・(h' * I)(r, Θ)              …(4)
ここで、式(3)における(x, y)はr(cosΘ, sinΘ)である。
【００４０】
式(4)は、平行移動に対する振れと同じ式であり、PSFであるh'(θ)によるコンボリューションを行ったものと見做すことができる。ただし、式(4)は理論的な式であり、実際のデータはデジタル値であるから、実空間から極座標空間への変換には何らかの補間が必要になる。任意の補間方法を用いることができるが、ここではバイリニア法を用いるものとする。
【００４１】
次に、詳細は後述するが、PSFの算出結果を基に式(4)のコンボリューションを打ち消すデコンボリューションを行う(S406)。デコンボリューションのアルゴリズムは、既存の任意のアルゴリズムを用いればよい。例えば、周波数空間上での除算、Lucy-Richardsonのアルゴリズム、Wienerフィルタを用いたアルゴリズム、正則化フィルタを用いたアルゴリズム等が挙げられる。本実施例では、詳細は後述するが、開閉パターンを制御することでh'(θ)の形状をコントロールし、周波数空間上で除算を行うものとする。
【００４２】
次に、デコンボリューションによってI(r, Θ)が得られるので、I(r, Θ)を実空間表示I(x, y)に逆変換する(S407)。この逆変換も、実空間から極座標空間への変換と同様、補間処理が必要になる。そして、I(x, y)を補正後の撮像データとして出力する(S408)。
【００４３】
図5は画像の暈けの補正原理を概念的に表す図である。つまり、極座標変換によって、回転振れを角度Θ軸方向の振れ（横振れ）に変換し、画像の横振れをデコンボリューションによって除去する。そして、横振れを除去した画像を実空間に戻し、回転振れを除去した画像を得る。
【００４４】
このように、フラッタシャッタによって得た画像について、フラッタシャッタの開閉パターン（露光情報）と回転振れ情報から、回転振れによる画像の暈けを補正することができる。なお、フラッタシャッタを用いるこの例においては、回転振れ情報は動き情報検出部426から、露光情報は露光条件生成部427からそれぞれ取得することができる。
【００４５】
上記では、回転振れによる画像の暈けを補正対象にするため、撮像データを極座標に変換して処理を行う例を説明した。撮像データを極座標に変換せずに処理することで、所謂シフト振れと呼ばれる水平方向の振れ（横振れ）と垂直方向の振れ（縦振れ）による暈けを補正することも可能である。例えば、極座標へ変換する前にシフト振れによる暈けを補正し、その後、回転振れによる暈けの補正を行えばよい。
【００４６】
●PSFの作成方法
図6はPSFの作成(S204)を説明するフローチャートである。まず、入力した回転振れ情報に基づき、角度θを時間で微分して角速度ω(t)を算出する(S401)。角速度ω(t)とθ(t)と組み合わせることにより、角速度をθの関数として表すことが可能になる。これをω(θ)とする。
【００４７】
次に、入力した露光情報と回転振れ情報に基づき、関数h(t)をθの関数として取得する(S402)。これをh(θ)とする。次に、取得した情報に基づき、h'(θ)=h(θ)/ω(θ)をPSFとして算出する(S403)。式(3)に示すように、h'(θ)が極座標上のPSFである。
【００４８】
図7は一般的な回転運動におけるPSFの一例を示す図で、横軸は角度（ラジアン）、縦軸はPSFの値を示している。開閉パターンを0≦t≦Tにおいてh(t)=1、それ以外はh(t)=0とし、加速運動をしているとすると、ω(θ)が増大するのでPSFであるh'(θ)の値は減少する。
【００４９】
●デコンボリューション
式(4)を周波数空間上に変換すると次式が得られる。
Iblur(f, ρ) = 1/T・h'(f, ρ)I(f, ρ)      …(5)
ここで、fはrの周波数変換に対応する変数、
ρはΘの周波数変換に対応する変数。
【００５０】
h'(f, ρ)は既知であるから、周波数空間上でIblur(f, ρ)をh'(f, ρ)で除算すれば、I(f, ρ)は原理的には求まる。しかし、ここには問題点があり、等角速度運動による振れを考え、ω(θ)が一定であるとして説明する。
【００５１】
図8(a)は通常の露光条件である0≦t≦Tにおいてh(t)=1、それ以外はh(t)=0の場合（フラッタシャッタではなく、シャッタ開期間において連続的にシャッタが開）のPSFの形状を示す図である。図8Bは図8Aに示すPSFの周波数特性を示す図である。なお、図8(a)において、横軸は角度（ラジアン）、縦軸はPSFの値を表す。また、図8(b)において、横軸は角度（ラジアン）、縦軸はh'(f, ρ)の絶対値を表す。
【００５２】
図8(b)を参照すると、周期的に絶対値が0になる周波数が現れる。これは、その周波数に対応する情報の消失を表し、このような状態でデコンボリューションを行えば、情報が消失した周波数が存在することに対応する波形が現れる。そこで、情報の消失した周波数の発生を防ぐためにコード化露光を行う。言い換えれば、PSFの絶対値が0になる周波数の発生を防ぐために、シャッタの開期間において、開閉タイミング及び開（又は閉）の長さをランダムに制御して、フラッタシャッタを行う。
【００５３】
図9(a)はコード化露光を行った場合のPSFの形状を示す図、図9(b)は図9(a)に示すPSFの周波数特性を示す図である。コード化露光を行うと、図9(b)に示すように、情報が消失する周波数は存在しないので、Iblur(f, ρ)をh'(f, ρ)で除算すれば、理論的に、完全なデコンボリューションが可能になる。図10(a)は回転振れによって暈けた画像をシミュレーションにより得た画像を示し、図10(b)は回転振れによる暈けを補正した画像を示す。
【００５４】
このように、回転振れ情報及びフラッタシャッタの開閉パターン、実空間と極座標空間の相互変換、及び、デコンボリューションを用いて、一枚の画像分の撮像データから回転振れによる暈けを補正した画像を得ることができる。また、回転振れによる暈けの補正処理に必要な情報は、開閉パターン、振れ情報、開閉パターンに従って加算合成して生成した振れによる暈け画像であることがわかる。
【００５５】
［本実施例におけるコード化露光処理の実現方法］
本実施例では、フラッタシャッタを採用せず、時分割露光によって得た画像を撮影画像として採用するか否かの振り分けによって、コード化露光処理と同等の処理を実現する。また、この分配パターンを露光条件とする。以後、撮影画像として採用する画像を合成用画像と呼ぶ。
【００５６】
本実施例ではとりわけ、時分割露光によって得た画像の全領域をオブジェクト分割に基づいて複数の領域（部分領域）に分割し、それぞれの領域に対して異なる分配パターンを用いる。画像の明るい部分と暗い部分との双方に同じ分配パターンを用いると、暗い部分に引っ張られて明るい部分が飛んでしまうことがある。また、明るい部分に引っ張られて暗い部分のノイズが増大してしまうことがある。さらに、画像全体に対して１つの分配パターンを適用しても、画像の中心部と端部での収差の違いから、振れ補正を適用しても十分な効果が得られないことがある。本実施例の方法に従えば、単にフラッタシャッタを採用してコード化露光処理を行うよりも、品質良く振れ補正を行うことができる。
【００５７】
図11に本実施例のコード化露光処理を説明する概念図を示す。本実施例では、３つの分配パターンを用いて振れを修復する場合を示している。なお、分配パターンの数は３つに限られるものではなく、２つの異なる分配パターンを用いてもよいし、４以上の分配パターンを用いてもよい。また、時分割露光画像をオブジェクト分割することによって得られた領域の数だけ、分配パターンを用意してもよい。
【００５８】
本実施例では、時分割露光によって連続撮影した画像を、３つの分配パターンのそれぞれを用いて、撮影用画像と動き検出用画像とに分配する。すなわち、１枚以上の撮影用画像と１枚以上の動き検出用画像との組を３通り生成する。
【００５９】
本実施例の処理を簡単に説明する。まず、１枚目の時分割露光画像を３つの領域に分割し、それぞれの領域の輝度を算出して輝度に応じた分配パターンを生成する。生成した分配パターンを用いて時分割露光画像を撮影用画像と動き検出用画像とに分配、分配した撮影用画像と動き検出用画像とを用いて振れ修復を行う。分配パターンは３つ生成し、振れ修復を行って得た画像も３枚生成する。振れ修復を行って得た画像から、分配パターンを生成するために輝度を算出した領域に対応する部分を切り抜き、合成して出力画像を得る。
【００６０】
以下、図12に従って、本実施例に係るコード化露光処理方法の詳細を説明する。以下のステップS1201〜ステップS1211の処理は、特に示されない限りは全て振れ補正部428が行う。
【００６１】
まず、測光部414によって決められた露光時間内において、露光条件生成部427の制御によって時分割露光された多数の撮像データ（時分割露光画像データ）を取得する(S1201)。次に時分割露光画像に対しオブジェクト分割を行い、オブジェクト分割の結果を基に時分割露光画像を３つの領域に分割する(S1202)。本実施例では、全時分割露光画像を合成して得た画像に対してオブジェクト分割して領域０、領域１、領域２の３つに分割するものとする。しかし、それぞれの時分割露光画像が十分に明るい場合には、何れかの時分割露光画像に対してオブジェクト分割を行ってもよい。画像のオブジェクト分割には、例えば顔認識方法、輝度差分値を用いる方法等の、既知の方法を用いる。先述の通り、分割する領域は３つに限られない。オブジェクト分割によって得られたそれぞれのオブジェクトが１つの領域となるように分割してもよい。後のステップS1214で用いるために、S1202ではさらにそれぞれの領域の位置を記録する。例えば、それぞれの領域以外をマスクする２値画像を作成しておけばよい。すなわち、領域０に対応して、領域０に含まれる部分を「１」、領域０に含まれない部分を「０」とする２値画像を生成すればよい。それぞれの領域の位置は、例えばバッファメモリ424等の適切なバッファに格納しておけばよい。
【００６２】
続けて、分割して得た領域の１つを選択する(S1203)。例えば、領域０、領域１、領域２の順に選択すればよい。次に、ステップS1203で選択した領域の平均的な輝度（平均輝度）から、露光条件、すなわち分配パターンを生成する(S1204)。分配パターンの生成方法については後述する。
【００６３】
次に、１枚目の時分割露光画像を選択する(S1205)。次に、ステップS1204で生成した分配パターンに従い、ステップS1205又はステップS1210で選択した時分割露光画像が合成画像生成用画像であるか否かを判断する(S1206)。選択した時分割露光画像が合成画像生成用画像である場合はステップS1207に進み、選択した時分割露光画像が合成画像生成用画像ではない場合、すなわち動き検出用画像である場合はステップS1208に進む。
【００６４】
ステップS1207では、合成画像生成用画像を合成して、ステップS1209に進む。合成処理は、合成画像生成用画像と判断された画像の同じ座標の画素値同士を単純に加算していけばよい。全ての合成画像生成用画像のデータを合成し、合成画像データを生成する。加算途中のデータは、例えばバッファメモリ424等の適切なバッファに格納しておけばよい。このような合成処理を行うことで、フラッタシャッタを行った場合と同等の出力を得ることができる。
【００６５】
ステップS1208では、直前の動き検出用画像との位置ずれ量を算出して、この値を動き情報として生成する。位置ずれ量の算出方法については後述する。動き情報は、動き検出用画像を比較する以外の方法で得てもよい。例えば、動き情報検出部426がジャイロセンサを用いて動き情報を得ている場合には、動き情報検出部426の動き情報を利用すれば動き検出用画像から動き情報を生成する処理が不要になり、高速かつ高精度な動き情報を得ることができる。ステップS1208での動き情報生成処理は、ステップS1203で選択した領域のみについて行うのではなく、ステップS1205又はステップS1210で選択した時分割露光画像の全体を対象として行う。
【００６６】
ステップS1209では、全ての時分割露光画像データについてステップS1206の判断を行ったか否かを確認する。判断を行っている場合は次の時分割露光画像を選択し(S1210)、ステップS1206へ戻る。判断を行っていない場合はステップS1211へ進む。
【００６７】
ステップS1211では、ステップS1207の繰り返しで得た、バッファメモリ424等の適切なバッファに格納されている合成画像について、先述の方法により振れを修復し、振れ補正画像を得る。本実施例では、振れ修復のために、ステップS1204で得た分配パターンと、ステップS1208の繰り返しで得た動き情報とを用いる。
【００６８】
次にステップS1212で、ゲイン調整処理を行う。測光部414によって設定された露光時間分の露光を行えば適正露光の撮像データが得られる。しかし、時分割露光によって露光時間の一部は電子シャッタが閉じた状態になる上、合成処理に使用しない動き検出用画像があることから、合成後の撮像データは露出不足になる。そこで、ゲイン調整処理が必要になるが、合成後の撮像データの各画素値に掛ける調整係数Gは次式で示される。
【００６９】
G = T/(t×n)・n/v = T/(t×v)      …(6)
ここで、Tは設定された露光時間、
tは時分割露光における各撮像データの露光時間(t＜T)、
nは時分割露光によって撮影した画像の数(n＞1)、
vは合成用画像の数(v＜n)
本実施例では、合成用画像の数は分割した領域毎に異なるため、ｖの値も分割した領域毎に持つことになる。
【００７０】
ステップS1213では、全ての領域について生成した分配パターンを用いて振れを修復した画像を生成したか否かを判断する。本実施例では３つの分配パターンを用いて振れを修復した３枚の画像を生成しているか否かを判断すればよい。振れを修復した３枚の画像を生成してはいない場合は、ステップS1203に戻る。振れを修復した３枚の画像を生成している場合は、ステップS1214に進む。
【００７１】
最後にステップS1214で、分割領域合成処理を行う。ステップS1213までの処理で、領域毎に異なる分配パターンを用いて振れ抑制処理を適用した後の画像から、分配パターンが対応する領域を抽出する。各領域の位置情報は、ステップS1202で記録されている。上述の２値画像のマスクを使用する例では、領域０の平均輝度に基づいて生成した分配パターンを用いて生成した振れ補正画像から、領域０に対応する２値画像のマスクを用いて、領域０内の画像を抽出する。それぞれの領域に対して抽出を行い、抽出画像を合成して１枚の出力画像とし、出力する。
【００７２】
本実施例では、図13の(a)に示すように、画像を領域分割した後にそれぞれの領域についての分配パターンを用いて振れ抑制処理を繰り返す場合について説明した。しかし、図13の(b)に示すように、時分割露光画像を分割した領域の数だけ複製し、ステップS1203からステップS1213までの処理をそれぞれの領域について並列処理しても。この場合、本実施例に係るデジタルカメラは振れ補正部428を複数有することが好ましい。
【００７３】
このように、時分割露光画像をオブジェクト分割し、領域に応じて分配パターンを設定し、コード化露光による振れ修復処理を実現することで、被写体に応じて最適な振れ補正を行うことが可能になる。したがって、画像のダイナミックレンジが大きい場合でも、正しく補正処理を実現することが可能になる。また本実施例では触れないが、フラッタシャッタを用いずに時分割露光画像データを動き検出用画像と合成用画像とに振り分ける本実施例の方法では、露光条件（分配パターン）を撮影後に選択することができる。このため、画像の変化がより少ないと判断した場合には合成用画像をより多くすることができ、画質をより向上させることができる。
【００７４】
［分配パターン生成処理の詳細］
振れ補正部428は、時分割露光画像を合成用画像と動き検出用画像とに振り分けるための分配パターン（露光条件）を生成する。分配パターンは、コード化露光技術における開閉パターンに相当する。よりよい画質で振れ修復を行うためには、画像中の各領域に対して適した分配パターンを選択することが望ましい。本実施例では、領域毎にランダムな分配パターンを生成する。もっとも、領域毎に全く異なる分配パターンを決定する必要はない。いくつかの領域に対して同一の分配パターンを用いてもよい。２以上の部分領域内の画像の属性が等しい場合、例えば１枚目の時分割露光画像における平均輝度が等しい場合に、同一の分配パターンを用いるようにすることもまた好ましい。また、ある領域に対する分配パターンにおいては撮影用画像に分配される画像が動き検出用画像に分配され、動き検出用画像に分配される画像が撮影用画像に分配されるようなパターン、すなわち反転パターンが他の領域に対して用いられてもよい。ただし、いずれの分配パターンも、ＰＳＦの周波数特性が０にならないように、周期性を持たないパターンである、又は周期性を持ったとしても周期が撮影時間に比べ十分に長いことが望ましい。
【００７５】
コード化露光処理の概要で説明したように、分配パターンは１又は０の値をとる。ここで、分配パターン１で示される画像は動き検出用画像として振れ補正処理に利用する画像であり、分配パターン０で示される画像は合成用画像として振れ補正処理には利用しない画像とする。
【００７６】
また、上述のとおり、それぞれの領域毎に異なる分配パターンを用いることが望ましい。例えば、図14のように４枚の時分割露光画像があり、オブジェクト分割の結果、オブジェクト(a)、(b)、及び背景(c)の３つの部分に領域分割されたとする。この場合、例えばオブジェクト(a)の部分については２、３枚目の画像を、オブジェクト(b)の部分は１、３、４枚目の画像を、背景(c)の部分は１、３枚目の画像を動き検出用画像として利用することが考えられる。この場合、分配パターンは単位時間毎にha(t)={0,1,1,0}、hb(t)={1,0,1,1}、hc(t)={1,0,1,0}となる。このh(t)を式(5)に従って動き情報で除算することで、PSF(h'(θ))を得ることができる。
【００７７】
分配パターン（露光条件）の決定処理、すなわち図12のステップS1204の詳細な処理を示すフローチャートを図15に示す。図15に示す分配パターン決定処理は、特に示されない限り振れ補正部428が行う。ステップS1501で、１枚目の時分割露光画像を選択する。次に、ステップS1502で、ステップS1501又はステップS1507で選択した時分割露光画像について、振れ補正部428がステップS1203で選択している領域の平均輝度を求める。
【００７８】
ステップS1503では、分配率を決定する。分配率は、時分割露光画像のうち、合成画像生成用画像に振り分けられる画像の割合を示す。分配率は、平均輝度と対応付けられたデータとして、あらかじめ振れ補正部428の有するメモリに格納されている。分配率のデータは、記録メディアドライブ419等に装着された記憶媒体が格納していてもよい。本実施例では、平均輝度と対応付けられた分配率のデータとして、図16のデータを用いる。次に、ステップS1501又はステップS1507で選択した時分割露光画像画像の分配パターンを決定する。分配率をＰ（％）とした場合、０から１００までの乱数値を求め(S1504)、乱数値がＰを超えた場合には分配パターンを１、超えない場合には分配パターンを０とする(S1505)。決定した分配パターンは、バッファメモリ424等の適切なメモリに格納する。
【００７９】
ステップS1506では、全ての時分割露光画像について分配パターンを決定したか否かを判断する。全ての時分割露光画像について分配パターンを決定していない場合は、ステップS1507で次の時分割露光画像を選択してステップS1502に戻る。全ての時分割露光画像について分配パターンを決定している場合は、ステップS1204の処理を終了する。
【００８０】
以上で述べた処理を適用することで、１枚の時分割露光画像の部分領域の平均輝度に応じた、周期性の無い分配パターンを得ることができる。すなわち、平均輝度が低い場合には合成用画像の数を増やし、平均輝度が高い場合には合成用画像の数を減らす。平均輝度に応じた分配パターンを用いることにより、画像のノイズを低減することができる。本実施例では分割領域の平均輝度と分配率とをテーブルとして保持しておくこととしたが、この方法だけには限定されない。例えば平均輝度の値に対して計算を加えて分配率としてもよい。
【００８１】
［動き情報生成処理の詳細］
振れ補正部428が動き検出用画像から検出する動き情報は、水平方向の変位（以下、水平振れ）、垂直方向の変位（以下、垂直振れ）、回転方向の変位（以下、回転振れ）を示す。振れ補正部428は、まず、水平振れと垂直振れを検出し、次に、回転振れを検出する。これは、手振れの特性から回転振れよりも、水平振れと垂直振れの方が大きいと予想されるためである。なお、動き情報検出部426の出力を利用して、カメラの振動を打ち消すように撮影レンズ200や撮像デバイス418を駆動して水平振れと垂直振れを補正する場合は、水平振れと垂直振れの検出は不要である。
【００８２】
図17は動き情報の生成を説明するフローチャートである。振れ補正部428は、注目する動き検出用画像（以下、注目画像）をm×n画素のブロックに分割する(S1701)。そして、ブロックごとに直前の動き検出用画像（以下、前画像）に対する動きベクトルを算出する(S1702)。注目ブロックに対応する前画像のブロック（以下、前ブロック）を、その中心から±S画素の範囲で移動して、注目ブロックと前ブロックの類似度を計算する。そして、最も類似度が高い移動後の前ブロックの中心と、注目ブロックの中心を結ぶベクトルを動きベクトルとする。類似度は、例えば、注目ブロックの各画素の画素値と、前ブロックの各画素の画素値の平均二乗誤差の逆数とする。
【００８３】
そして、例えば、各ブロックの動きベクトルの水平成分の平均値を水平振れ、各ブロックの動きベクトルの垂直成分の平均値を垂直振れとして算出する(S1703)。続いて、算出した水平振れと垂直振れ分、注目画像を移動して、水平方向と垂直方向の位置を前画像に一致させ(S1704)、回転振れを算出する(S1705)。つまり、注目画像を回転して、注目画像の画素と、対応する前画像の画素の間の差分を計算し、複数の画素の差分の平均値が最小になる角度を回転振れとして算出する。
【００８４】
以上で説明したように、オブジェクト分割に基づいて分割した領域毎に適切な分配パターンを生成し、生成した分配パターンを用いてコード化露光技術による振れ修復を行うことで、各領域の明るさに応じた適切な振れ修復を行うことができる。
【００８５】
本実施例では、時分割露光画像を画像合成用画像又は動き検出用画像の何れかに振り分けた。しかし、他の方法を用いることもできる。例えば、画像合成用画像を用いて動き情報を生成してもよい。すなわち時分割露光画像を、画像合成及び動き情報生成のために用いる画像と、利用しない画像とに、分配パターンに従って振り分けてもよい。
【００８６】
もっと単純には、時分割露光画像を画像合成のために用いる画像と画像合成には用いない画像とに振り分けるが、動き情報生成のためには全ての又は一部の時分割露光画像を用いる構成としてもよい。この場合、前もって全ての又は一部の時分割露光画像を用いて動き情報を生成しておく方法がある。前もって生成した動き情報を用いてステップS1211の処理を行えば、ステップS1208の動き情報生成処理を領域数だけ繰り返さなくてもよい。
【００８７】
［第二の実施例］
第一の実施例では、時分割露光画像を領域分割し、領域の平均輝度に応じて生成した分配パターンに従ってコード化露光処理を行った。第一の実施例では、領域分割及び分配パターンの設定方法について簡単に説明したが、領域分割及び分配パターンの設定方法にはいくつかの方法が考えられる。本実施例では、領域分割及び分配パターンの別の設定方法について述べる。
【００８８】
本実施例では、図18に示すように、画像をオブジェクト分割せず、矩形領域に分割し、それぞれの領域毎に分配パターンを決定する。本実施例の処理は図12に示す第一の実施例とほとんど同じであるが、ステップS1202の領域分割処理が異なる。ステップS1202では、オブジェクト分割に基づいて領域分割を行うのではなく、時分割露光画像をm×n個の矩形領域へと分割すればよい。
【００８９】
第二の実施例の方法では、矩形領域に分割した時分割露光画像について、それぞれの矩形領域の平均輝度に応じた、周期性の無い分配パターンを得ることができる。本実施例においては、矩形領域の分割数を、画像の縦画素数及び横画素数とすることで、画素毎の分割にまで拡張することが可能である。また、本実施例では第一の実施例と同様に矩形領域の平均輝度と分配率とをテーブルで保持しておくこととするが、この方法だけには限定されない。例えば平均輝度の値に対して計算を行って分配率を求めることもできる。
【００９０】
［第三の実施例］
第一の実施例及び第二の実施例では、実空間画像上で画像を領域分割し、各領域に適した分配パターンを用いて振れ補正を行う方法について述べた。本実施例では、実空間画像上で領域分割を行うのではなく、周波数空間画像上にて領域分割を行い、各領域に適した分配パターンを用いて振れ補正を行う。振れ量の計算を行う際には、画像の高周波部分ほど振れ量の計算誤差を受けやすく、振れ抑制画像を合成した後に画像のエッジがぼけてしまう。そのため、画像のエッジ部分すなわち高周波数部分においては、動き検出用画像をより多く取得し、より正確な動き量を検出することが望ましい。以下に、本実施例における処理について述べる。
【００９１】
ランダムに分配パターンを生成するのは第一の実施例及び第二の実施例と同様であるが、第三の実施例では、全空間周波数域をいくつかの空間周波数域に分割し、それぞれの空間周波数域ごとに異なる分配率で分配パターンを生成する。、画像の高周波数領域では画像合成に振り分ける確率Ｐを低減させ、低周波数領域では振り分ける確率Ｐを増加する。例えば、高周波数領域では30%（70%が動き検出用画像となる）、低周波数領域では50%（50%が動き検出用画像となる）とする。具体的な例として、8x8画素ブロック毎にDCT変換を行って周波数空間画像を得る場合を説明する。DCT変換によって得られた係数群は、４つの4x4のブロックに分割する。すなわち、Ｘ方向空間周波数とＹ方向空間周波数とがともに低いブロック１、Ｘ方向空間周波数とＹ方向空間周波数のどちらかが高いブロック２及び３、Ｘ方向空間周波数とＹ方向空間周波数とがともに高いブロック４、に分割する。ブロック１には他の分配パターンよりも動き検出用画像を少なくした、例えば確率Ｐを50%として生成した分配パターンを対応付ける。ブロック２及び３には中間の、例えば確率Ｐを40%として生成した分配パターンを対応付け、ブロック４には他の分配パターンよりも動き検出用画像が多い、例えば確率Ｐが30％の分配パターンを対応付ける。この空間周波数域に対する分配パターンの設定方法は例示であって、より複雑な設定を行うことも可能である。
【００９２】
本実施例における分配パターンの決定処理の流れを示すフローチャートを図19に示す。図19の処理は、特に示されなければ振れ補正部428が行う。まず第一、及び第二の実施例と同様に時分割露光画像データを取得する(S2001)。次に、１つの空間周波数域を選択し(S2002)、空間周波数域ごとの分配パターンの設定を行う(S2003)。空間周波数域の分割方法及び対応する確率Ｐは、第一の実施例における分割領域の平均輝度と確率Ｐとの関係と同様に例えば振れ補正部428の有するメモリ等が保持していればよい。振れ補正部428は、空間周波数域ごとの分配率を取得し、空間周波数域ごとに分配パターンを生成する。
【００９３】
次に、振れ補正部428は１枚目の時分割露光画像を選択し(S2004)、選択した空間周波数域における合成画像生成用画像であるかどうかを分配パターンに従って判定する(S2005)。合成画像生成用画像であると判定されればステップS2006へ移行し、画像合成処理を行う。合成画像生成用画像ではないと判定されればステップS2007へ移行し、動き情報生成処理を行う。次に、全ての時分割露光画像を処理したかどうかを判定する(S2008)。全て処理したと判定した場合はステップS2010へ移行する。全て処理していないと判定した場合には、次の時分割露光画像を選択し(S2009)、ステップS2005へ戻る。次に、振れ補正処理(S2010)及びゲイン調整処理(S2011)を行い、振れ抑制画像を生成する。これらの処理の詳細は、第一の実施例と同様である。次に、全ての空間周波数域において振れ補正処理を行ったかどうかを判定する(S2012)。全ての空間周波数域で振れ補正を行っていなければステップS2002へ戻る。行っていれば、画像統合処理を行って、得た画像を出力する(S2013)。
【００９４】
ステップS2013の詳細を以下で説明する。ステップS2011で得た複数の空間周波数域に対応する振れ抑制画像のそれぞれに対してDCT（離散コサイン変換）やFFT（高速フーリエ変換）等の直交変換を行い、それぞれに対応する周波数空間画像を生成する。それぞれの周波数空間画像から、振れ補正に用いた分配パターンが対応する空間周波数域に属する部分の画像を抽出し、抽出部分を合成して１枚の合成周波数空間画像を生成する。上述の8x8画素ブロック毎にDCT変換を行って周波数空間画像を得る例では、確率Ｐが50%の分配パターンを用いて生成した周波数空間画像からは、ブロック１部分の係数群を抽出し、合成周波数空間画像のブロック１部分とする。同様に、確率Ｐが30%の分配パターンを用いて生成した周波数空間画像からはブロック４部分の係数群を、確率Ｐが40%の分配パターンを用いて生成した周波数空間画像からはブロック２及び３部分の係数群を抽出し、合成周波数空間画像に合成する。最後に合成周波数空間画像に対して逆直交変換を行って、出力画像を得る。
【００９５】
このように、時分割露光で得た画像データに対して空間周波数域ごとに分配パターンを決定することで、コード化露光処理による画像のエッジ部分のぼけを抑え、最適な出力画像を得ることができる。
【００９６】
［他の実施例］
本発明は、複数の機器（例えばコンピュータ、インタフェイス機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置等）に適用してもよい。
【００９７】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記録媒体又は記憶媒体をシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータ（CPUやMPU）がコンピュータプログラムを実行することでも達成される。この場合、記録媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記録媒体は本発明を構成する。
【００９８】
また、コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)及び/又は第一の、第二の、第三の、…プログラム等が実際の処理の一部又は全部を行い、それによって上記機能が実現される場合も含む。
【００９９】
また、コンピュータプログラムがコンピュータに接続された機能拡張カードやユニット等のデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部又は全部を行い、それによって上記機能が実現される場合も含む。本発明を記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応又は関連するコンピュータプログラムが格納される。
【図１】
2011004282.tif 000003
【図２】
2011004282.tif 000004
【図３】
2011004282.tif 000005
【図４】
2011004282.tif 000006
【図５】
2011004282.tif 000007
【図６】
2011004282.tif 000008
【図７】
2011004282.tif 000009
【図８】
2011004282.tif 000010
【図９】
2011004282.tif 000011
【図１１】
2011004282.tif 000012
【図１２】
2011004282.tif 000013
【図１３】
2011004282.tif 000014
【図１４】
2011004282.tif 000015
【図１５】
2011004282.tif 000016
【図１６】
2011004282.tif 000017
【図１７】
2011004282.tif 000018
【図１８】
2011004282.tif 000019
【図１９】
2011004282.tif 000020
【図１０】
2011004282.tif 000021