(57)【要約】【課題】本発明は、画像品質判定における誤判定を抑制することが可能な技術を提供する。【解決手段】プリンタ１０は、画像においてエッジ量が基準値よりも多いエッジ領域を特定するエッジ領域特定部３１５と、エッジ領域を周波数領域で表したパワースペクトルを生成する周波数変換部３２０と、パワースペクトルにおける振幅値の手ブレ方向を特定する手ブレ方向推定部３３０と、手ブレ方向の振幅値を一次元化した一次元振幅データを生成する一次元化部３４０と、一次元振幅データを周波数に応じて重み付けする重み付け部３５０と、一次元振幅データにおいて振幅値が谷状に変化する領域の周波数に基づいて手ブレ画像であるか否かを判定する判定部３６０とを備える。【選択図】図２
2009237657.tif 000002
【特許請求の範囲】
【請求項１】
画像データに基づく画像が手ブレによってぼやけているか否かを判定する画像判定装置であって、
前記画像におけるエッジ量が基準値よりも多いエッジ領域を特定するエッジ領域特定部と、
前記エッジ領域特定部によって特定されたエッジ領域における空間領域の画像を周波数領域で表したパワースペクトルを生成する周波数変換部と、
前記周波数変換部によって生成されたパワースペクトルにおける振幅値の第二主成分方向を特定する手ブレ方向推定部と、
前記パワースペクトルにおいて前記第二主成分方向に略沿った領域における振幅値を周波数軸上に一次元化した一次元振幅データを生成する一次元化部と、
前記一次元化部によって生成された一次元振幅データを周波数に応じて重み付けする重み付け部と、
前記重み付け部によって重み付けされた一次元振幅データにおいて振幅値が谷状に変化する領域の周波数に基づいて、前記画像が手ブレによってぼやけているか否かを判定する手ブレ判定部と
を備える画像判定装置。
【請求項２】
前記画像データが空間領域から周波数領域に変換符号化された画像データである場合、前記エッジ領域特定部は、該画像データに基づく該変換符号化の重み係数から算出される評価値に基づいて前記エッジ領域を特定する請求項１記載の画像判定装置。
【請求項３】
前記周波数変換部は、離散フーリエ変換および高速フーリエ変換のいずれかによって、前記画像を周波数領域で表したパワースペクトルを生成する請求項１または２記載の画像判定装置。
【請求項４】
請求項１ないし３のいずれか記載の画像判定装置であって、
前記重み付け部は、前記一次元化部によって生成された一次元振幅データに周波数を掛け合わせることによって、該一次元振幅データを重み付けし、
前記手ブレ判定部は、前記重み付け部によって重み付けされた一次元振幅データにおいて周波数５０ヘルツから５７５ヘルツの範囲で振幅値が最小値をとる周波数が６０ヘルツから３００ヘルツである場合、前記画像が手ブレによってぼやけていると判定する、画像判定装置。
【請求項５】
更に、前記エッジ領域が前記エッジ領域特定部によって特定された場合であって、前記画像が手ブレによってぼやけていないと前記手ブレ判定部によって判定された場合、前記画像の焦点が合っていると判定する合焦判定部を備える請求項１ないし４のいずれか記載の画像判定装置。
【請求項６】
更に、前記エッジ領域が前記エッジ領域特定部によって特定されなかった場合、前記画像の焦点が合っていないと判定するピンぼけ判定部を備える請求項１ないし５のいずれか記載の画像判定装置。
【請求項７】
コンピュータを用いて、画像データに基づく画像が手ブレによってぼやけているか否かを判定する画像判定方法であって、
コンピュータが備えるエッジ領域特定手段が、前記画像におけるエッジ量が基準値よりも多いエッジ領域を特定する工程と、
コンピュータが備える周波数変換手段が、前記エッジ領域特定手段によって特定されたエッジ領域における空間領域の画像を周波数領域で表したパワースペクトルを生成する工程と
コンピュータが備える手ブレ方向推定手段が、前記周波数変換手段によって生成されたパワースペクトルにおける振幅値の第二主成分方向を特定する工程と、
コンピュータが備える一次元化手段が、前記パワースペクトルにおいて前記第二主成分方向に略沿った領域における振幅値を周波数軸上に一次元化した一次元振幅データを生成する工程と、
コンピュータが備える重み付け手段が、前記一次元化手段によって生成された一次元振幅データを周波数に応じて重み付けする工程と、
コンピュータが備える判定手段が、前記重み付け手段によって重み付けされた一次元振幅データにおいて振幅値が谷状に変化する領域の周波数に基づいて、前記画像が手ブレによってぼやけているか否かを判定する工程と
を備える画像判定方法。
【請求項８】
画像データに基づく画像が手ブレによってぼやけているか否かを判定する機能をコンピュータに実現させるためのプログラムであって、
前記画像におけるエッジ量が基準値よりも多いエッジ領域を特定するエッジ領域特定機能と、
前記エッジ領域特定機能によって特定されたエッジ領域における空間領域の画像を周波数領域で表したパワースペクトルを生成する周波数変換機能と
前記周波数変換機能によって生成されたパワースペクトルにおける振幅値の第二主成分方向を特定する手ブレ方向推定機能と、
前記パワースペクトルにおいて前記第二主成分方向に略沿った領域における振幅値を周波数軸上に一次元化した一次元振幅データを生成する一次元化機能と、
前記一次元化機能によって生成された一次元振幅データを周波数に応じて重み付けする重み付け機能と、
前記重み付け機能によって重み付けされた一次元振幅データにおいて振幅値が谷状に変化する領域の周波数に基づいて、前記画像が手ブレによってぼやけているか否かを判定する判定機能と
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに基づく画像の特性を判定する画像判定技術に関し、特に、画像データに基づく写真画像が手ブレによってぼやけているか否か、すなわち「手ブレ」していないか否かの判定（以下、「手ブレ判定」とも呼ぶ）を実施する技術に関する。
【背景技術】
【０００２】
手ブレした画像（以下、「手ブレ画像」とも呼ぶ）は、手ブレしていない正常な画像に比べて、印刷や編集などの二次的な利用に供される可能性が低いため、写真画像が記録された複数の画像データの中から正常な画像と手ブレ画像とを区別するために種々の手ブレ判定技術が提案されてきた。例えば、下記特許文献１には、画像から分離して抽出された高周波成分と低周波成分との成分比に基づいて、手ブレやピンぼけ等でぼやけた不良画像であるか否かを判定する画像品質判定技術が開示されている。
【０００３】
【特許文献１】特開２００６−５８７４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の画像品質判定技術では、接写（マクロ）モードで撮影された画像や、比較的に小さなＦ値で撮影された画像は、焦点の合った部分が少なく相対的に高周波成分も少ないため、正常な画像であっても不良画像であると誤判定してしまう場合があるという問題があった。
【０００５】
本発明は、上記した課題を踏まえ、画像品質判定における誤判定を抑制することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００７】
［適用例１］  適用例１の画像判定装置は、画像データに基づく画像が手ブレによってぼやけているか否かを判定する画像判定装置であって、前記画像におけるエッジ量が基準値よりも多いエッジ領域を特定するエッジ領域特定部と、前記エッジ領域特定部によって特定されたエッジ領域における空間領域の画像を周波数領域で表したパワースペクトルを生成する周波数変換部と、前記周波数変換部によって生成されたパワースペクトルにおける振幅値の第二主成分方向を特定する手ブレ方向推定部と、前記パワースペクトルにおいて前記第二主成分方向に略沿った領域における振幅値を周波数軸上に一次元化した一次元振幅データを生成する一次元化部と、前記一次元化部によって生成された一次元振幅データを周波数に応じて重み付けする重み付け部と、前記重み付け部によって重み付けされた一次元振幅データにおいて振幅値が谷状に変化する領域の周波数に基づいて、前記画像が手ブレによってぼやけているか否かを判定する判定部とを備えることを特徴とする。ここで、手や体などの直線的な移動に起因する手ブレ画像は、実空間上の被写体に対し矩形関数を畳み込んだ画像になり、周波数空間上ではシンク関数（ｓｉｎｃ関数）を畳み込んだ画像になると考えられる。そのため、適用例１の画像判定装置によれば、周波数領域の画像において手ブレ方向に現れるシンク関数の影響の度合いに基づいて手ブレ判定を実施することができる。その結果、相対的に高周波成分の少ない画像であっても、手ブレ判定における誤判定を抑制することができる。また、エッジ領域に絞り込んで手ブレ判定を実施することができるため、手ブレ方向に現れるシンク関数の影響の度合いを評価するための処理負荷を軽減することができる。
【０００８】
［適用例２］  適用例１の画像判定装置において、前記画像データが空間領域から周波数領域に変換符号化された画像データである場合、前記エッジ領域特定部は、該画像データに基づく該変換符号化の重み係数から算出される評価値に基づいて前記エッジ領域を特定するとしても良い。適用例２の画像判定装置によれば、画像データに基づく変換符号化の重み係数を利用してエッジ量を評価することができるため、エッジ領域を特定するための処理負荷を軽減することができる。
【０００９】
［適用例３］  適用例１または２の画像判定装置において、前記周波数変換部は、離散フーリエ変換（Discrete Fourier Transform, DFT）および高速フーリエ変換（Fast Fourier Transform, FFT）のいずれかによって、前記画像を周波数領域で表したパワースペクトルを生成しても良い。適用例３の画像判定装置によれば、シンク関数の影響によって振幅値が谷状に変化する領域を特定するのに十分な周波数分解能を得ることができる。
【００１０】
［適用例４］  適用例１ないし３のいずれかの画像判定装置において、前記重み付け部は、前記一次元化部によって生成された一次元振幅データに周波数を掛け合わせることによって、該一次元振幅データを重み付けし、前記手ブレ判定部は、前記重み付け部によって重み付けされた一次元振幅データにおいて周波数５０ヘルツから５７５ヘルツの範囲で振幅値が最小値をとる周波数が６０ヘルツから３００ヘルツである場合、前記画像が手ブレによってぼやけていると判定するとしても良い。適用例４の画像判定装置によれば、手ブレ画像であると人間が認識可能な周波数領域に絞り込んで手ブレ判定を実施することによって、手ブレ判定に要する処理負荷を軽減することができる。
【００１１】
［適用例５］  適用例１ないし４のいずれかの画像判定装置において、更に、前記エッジ領域が前記エッジ領域特定部によって特定された場合であって、前記画像が手ブレによってぼやけていないと前記手ブレ判定部によって判定された場合、前記画像の焦点が合っていると判定する合焦判定部を備えるとしても良い。適用例５の画像判定装置によれば、手ブレ画像の特定に加え、焦点（ピント）が合っている合焦画像を特定することができる。
【００１２】
［適用例６］  適用例１ないし５のいずれかの画像判定装置において、更に、前記エッジ領域が前記エッジ領域特定部によって特定されなかった場合、前記画像の焦点が合っていないと判定するピンぼけ判定部を備えるとしても良い。適用例６の画像判定装置によれば、手ブレ画像の特定に加え、焦点が合っていないピンぼけ画像を特定することができる。
【００１３】
また、適用例１ないし６のいずれかの画像判定装置であって、更に、前記画像データから再生される画像を印刷する印刷部と、前記画像データから再生される画像のうち前記判定部によって手ブレと判定された画像が前記印刷部によって印刷されるのを禁止する禁止部とを備えても良い。これによって、画像データから再生される画像を印刷する場合に、手ブレ画像が印刷されてしまうのを抑制することができる。
【００１４】
また、適用例１ないし６のいずれかの画像判定装置であって、更に、前記判定部によって手ブレではないと判定された画像と、該判定部によって手ブレと判定された画像とを区別して表示する表示部を備えても良い。これによって、画像データから再生する画像を表示する場合に、手ブレであるか否かを区別して画像を表示することができる。
【００１５】
本発明の形態は、画像処理装置に限るものではなく、画像処理装置が組み込まれた印刷装置（プリンタ），画像表示装置（ビューア）や、コンピュータを用いた画像判定方法、コンピュータプログラムなど他の形態に適用することもできる。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【発明を実施するための最良の形態】
【００１６】
以上説明した本発明の構成および作用を一層明らかにするために、以下本発明を適用した画像処理装置について説明する。なお、本実施例では、画像処理装置の一形態として、画像処理装置としての機能を有するプリンタを例に挙げて説明する。
【００１７】
Ａ．第１実施例：
Ａ１．プリンタの構成：
図１は、プリンタ１０の外観構成を主に示す説明図である。プリンタ１０は、紙やラベルなどの印刷媒体９００にインク滴を噴射して文字や画像などのデータを印刷するインクジェット式プリンタである。本実施例では、プリンタ１０は、いわゆる複合機としてスキャナやコピーなどの各種機能を有する。
【００１８】
プリンタ１０は、カードスロット１４０と、通信コネクタ１５０とを備える。プリンタ１０のカードスロット１４０は、フラッシュメモリや小型ハードディスクなどの記憶媒体を内蔵するメモリカード８１０とデータをやり取り可能に接続するインタフェースである。プリンタ１０の通信コネクタ１５０は、パーソナルコンピュータやデジタルスチルカメラ，デジタルビデオカメラなどの外部機器８２０とデータをやり取り可能に接続するインタフェースである。本実施例では、プリンタ１０は、カードスロット１４０に接続されたメモリカード８１０や、通信コネクタ１５０に接続された外部機器８２０に記憶されている画像データを印刷する機能を有する。本実施例では、更に、プリンタ１０は、メモリカード８１０や外部機器８２０に記憶されている画像データについて画像品質判定を実施することによって、手ブレしていない画像やピントが合っていない画像を印刷対象として選定し、手ブレ画像やピンぼけ画像を印刷対象から除外する「画像品質判定付き印刷機能」を有する。プリンタ１０にて実行される「画像品質判定付き印刷機能」の詳細については後述する。
【００１９】
プリンタ１０は、更に、スキャナ部１３０と、ディスプレイ１６０と、操作パネル１７０とを備える。プリンタ１０のスキャナ部１３０は、原稿台に載置された原稿を読み取ってデジタルデータに変換（スキャン、scan）する。プリンタ１０のディスプレイ１６０は、プリンタ１０のユーザに向けて文字や画像を表示する。プリンタ１０の操作パネル１７０は、プリンタ１０のユーザからの指示入力を受け付ける。
【００２０】
図２は、プリンタ１０の内部構成を主に示す説明図である。プリンタ１０は、図１で説明したカードスロット１４０や通信コネクタ１５０などの他、更に、プリンタ１０の各部を制御するメイン制御部１１０と、印刷媒体９００への印刷を実行する印刷機構部１２０とを備える。
【００２１】
プリンタ１０のメイン制御部１１０は、「画像品質判定付き印刷機能」を実現するための機能要素として、画像読出部３１０と、エッジ領域特定部３１５と、周波数変換部３２０と、手ブレ方向推定部３３０と、一次元化部３４０と、重み付け部３５０と、判定部３６０と、印刷指示部３７０とを備える。メイン制御部１１０の画像読出部３１０は、カードスロット１４０に接続されたメモリカード８１０や、通信コネクタ１５０に接続された外部機器８２０から画像データを読み出す。メイン制御部１１０のエッジ領域特定部３１５は、画像読出部３１０によって読み出された画像データに基づく画像におけるエッジ量が基準値よりも多いエッジ領域を特定する。メイン制御部１１０の周波数変換部３２０は、エッジ領域特定部３１５によって特定されたエッジ領域における空間領域の画像を周波数領域で表したパワースペクトルを生成する。メイン制御部１１０の手ブレ方向推定部３３０は、周波数変換部３２０によって生成されたパワースペクトルにおける振幅値の第二主成分方向を特定する。メイン制御部１１０の一次元化部３４０は、手ブレ方向推定部３３０によって特定された第二主成分方向に略沿ったパワースペクトルの領域における振幅値を周波数軸上に一次元化した一次元振幅データを生成する。メイン制御部１１０の重み付け部３５０は、一次元化部３４０によって生成された一次元振幅データを周波数に応じて重み付けする。メイン制御部１１０の判定部３６０は、重み付け部３５０によって重み付けされた一次元振幅データにおいて振幅値が谷状に変化する領域の周波数に基づいて、画像データに基づく画像が手ブレによってぼやけているか否かを判定する。メイン制御部１１０の印刷指示部３７０は、判定部３６０によって手ブレしていないと判断された正常な画像を印刷するよう印刷機構部１２０に指示する。
【００２２】
本実施例では、プリンタ１０のメイン制御部１１０は、セントラルプロセッシングユニット（Central Processing Unit、以下、ＣＰＵという）,リードオンリメモリ（Read Only Memory、以下、ＲＯＭという）,ランダムアクセスメモリ（Random Access Memory、以下、ＲＡＭという）などのハードウェアを有するＡＳＩＣ（Application Specific Integrated Circuits）を備える。本実施例では、メイン制御部１１０には、画像読出部３１０，エッジ領域特定部３１５，周波数変換部３２０，手ブレ方向推定部３３０，一次元化部３４０，重み付け部３５０，判定部３６０，印刷指示部３７０の各機能を実現させるためのソフトウェアがインストールされている。メイン制御部１１０の動作についての詳細は後述する。
【００２３】
プリンタ１０の印刷機構部１２０は、図２に示すように、ヘッドユニット２１０と、キャリッジ２００と、キャリッジ駆動部２４０と、搬送部２５０とを備える。印刷機構部１２０のヘッドユニット２１０は、ブラック，シアン，ライトシアン，マゼンダ，ライトマゼンダ，イエロの各色のインク毎に計６個の噴射ヘッド２１１，２１２，２１３，２１４，２１５，２１６を有する。噴射ヘッド２１１〜２１６の各々は、ピエゾ素子（図示しない）の電圧調整によってインクを噴射する。印刷機構部１２０のキャリッジ２００は、ヘッドユニット２１０を保持する。印刷機構部１２０のキャリッジ駆動部２４０は、印刷媒体９００の上方で、キャリッジ２００を主走査方向に駆動する。印刷機構部１２０の搬送部２５０は、キャリッジ２００が移動する主走査方向に交差する副走査方向に、印刷媒体９００を搬送する。印刷機構部１２０の噴射ヘッド２１１〜２１６，キャリッジ駆動部２４０，搬送部２５０の各部が、メイン制御部１１０の指示に基づいて協働することによって、印刷媒体９００への印刷が実現される。
【００２４】
Ａ２．プリンタの動作：
Ａ２−１．画像印刷処理：
図３は、プリンタ１０のメイン制御部１１０によって実行される画像印刷処理を示すフローチャートである。図３の画像印刷処理は、前述した「画像品質判定付き印刷機能」を実現するための処理である。本実施例では、カードスロット１４０に取り付けられたメモリカード８１０や通信コネクタ１５０に取り付けられた外部機器８２０に記憶された画像データについて「画像品質判定付き印刷機能」を実施するようにとの実施要求が、プリンタ１０のユーザから操作パネル１７０を介して受け付けられた場合に、プリンタ１０のメイン制御部１１０は、図３の画像印刷処理を開始する。本実施例では、図３の画像印刷処理は、メイン制御部１１０のＣＰＵがソフトウェアに基づいて動作することによって実現されるが、他の実施形態として、メイン制御部１１０の電子回路がその物理的な回路構成に基づいて動作することによって実現されても良い。
【００２５】
プリンタ１０のメイン制御部１１０は、図３の画像印刷処理を開始すると、印刷条件を設定する印刷条件設定処理を実行する（ステップＳ１００）。印刷条件設定処理（ステップＳ１００）で設定される印刷条件には、印刷対象となる画像データ，印刷用紙，印刷サイズ，印刷枚数，印刷品質などが含まれる。本実施例では、印刷条件設定処理（ステップＳ１００）で設定される印刷条件は、プリンタ１０のユーザから操作パネル１７０を介して受け付けられた情報に基づいて設定されるが、他の実施形態として、予め設定されている既定の印刷条件に基づいて設定されるとしても良い。
【００２６】
印刷条件設定処理（ステップＳ１００）の後、メイン制御部１１０は、印刷条件設定処理（ステップＳ１００）で設定された印刷条件の範囲で、メモリカード８１０や外部機器８２０に記憶されている画像データを順次選定することによって、手ブレ判定の判定対象となる画像データを準備する（ステップＳ３０２）。本実施例では、判定対象となる画像データは、そのファイル名の順序に従って選定されるが、他の実施形態として、ファイル形式、撮影日時、ファイル更新日時などの各種属性に応じた順序に従って選定されるとしても良い。
【００２７】
画像データが準備された後（ステップＳ３０２）、メイン制御部１１０は、その準備された画像データに基づく画像が手ブレ画像やピンぼけ画像であるか否かを判定する画像品質判定処理を実行する（ステップＳ２００）。画像品質判定処理（ステップＳ２００）の詳細については後述する。
【００２８】
画像品質判定処理（ステップＳ２００）の後、メイン制御部１１０は、画像品質判定処理（ステップＳ２００）にて判定された画像データが手ブレ画像またはピンぼけ画像であるか否かを判断する（ステップＳ３０４）。画像品質判定処理（ステップＳ２００）にて判定された画像データが正常な画像である場合（ステップＳ３０４）、メイン制御部１１０は、印刷指示部３７０として動作することによって、その画像を印刷対象として選定し、その画像を印刷媒体９００に印刷するよう印刷機構部１２０に指示する（ステップＳ３０６）。一方、画像品質判定処理（ステップＳ２００）にて判定された画像データが手ブレ画像やピンぼけ画像である場合（ステップＳ３０４）、メイン制御部１１０は、その画像を印刷対象から除外することによって、その画像が印刷機構部１２０によって印刷されるのを禁止する（ステップＳ３０７）。
【００２９】
画像品質が判定された画像について印刷実行または印刷禁止を処理した後（ステップＳ３０６，Ｓ３０７）、メイン制御部１１０は、画像品質判定を実施すべき画像データの全てについて処理するまで、画像品質判定処理（ステップＳ２００）からの処理を繰り返し実行する（ステップＳ３０８，Ｓ３０９）。全ての画像データについて処理を終えた後（ステップＳ３０８）、メイン制御部１１０は、画像品質判定（ステップＳ２００）の処理結果をユーザに向けて表示する結果表示処理を実行する（ステップＳ５００）。
【００３０】
図４は、結果表示処理（ステップＳ５００）でディスプレイ１６０に表示される結果表示画面６０の一例を示す説明図である。図４の結果表示画面６０は、画像品質判定処理（ステップＳ２００）で判定された画像データの一覧を表示する画像一覧部６１０を備える。本実施例では、画像一覧部６１０に表示される画像データのうち、画像品質判定処理（ステップＳ２００）にて手ブレ画像やピンぼけ画像と判定された画像データ、すなわち、印刷が禁止された画像データには太枠６２０が付され、手ブレ画像やピンぼけ画像と、正常な画像とが区別して表示される。
【００３１】
Ａ２−２．画像品質判定処理：
図５は、図３における画像品質判定処理（ステップＳ２００）の詳細を示すフローチャートである。プリンタ１０のメイン制御部１１０は、図５の画像品質判定処理（ステップＳ２００）を開始すると、メイン制御部１１０のメモリ（図示しない）に保持される合焦フラグをオフ（二値数の「０」）に設定する（ステップＳ２０５）。その後、メイン制御部１１０は、画像読出部３１０として動作することによって、判定対象となる画像データをメモリカード８１０や外部機器８２０から読み出す画像読出処理を実行する（ステップＳ２１０）。本実施例では、画像読出処理（ステップＳ２１０）においてメモリカード８１０や外部機器８２０から読み出される画像データは、ＪＰＥＧ（ジェイペグ）形式でデータ圧縮されたＪＰＥＧデータであり、離散コサイン変換（Discrete Cosine Transform、ＤＣＴ）を用いて変換符号化されている。
【００３２】
画像読出処理（ステップＳ２１０）の後、メイン制御部１１０は、画像読出処理（ステップＳ２１０）で読み出された画像データに基づく画像における領域の一部として、画像品質判定を実施するための判定領域を設定する判定領域設定処理を実行する（ステップＳ２２０）。
【００３３】
図６は、判定領域設定処理（ステップＳ２２０）が実施される様子の一例を示す説明図である。図６の画像５０は、画像読出処理（ステップＳ２１０）で読み出された画像データに基づく画像をラスタデータとして模式的に現したものである。本実施例では、図６に示すように、判定領域５４０は、画像５０よりも小さな矩形状の領域として画定される。本実施例では、画像５０に対して最初に判定領域設定処理（ステップＳ２２０）が実施される場合、その判定領域５４０は、画像５０の左上の隅に設定される。その画像５０に対して二回目以降に判定領域設定処理（ステップＳ２２０）が実施される場合、その判定領域５４０は、先回設定された判定領域５４０の右隣に設定され、画像５０の右端まで設定されると、一段下の左端から右方向へと同様に設定される。本実施例では、判定領域５４０の大きさは、縦および横方向に１２８画素×１２８画素に相当する領域であるが、画像５０の画素数，印刷サイズ，印刷解像度などの印刷条件に応じて適宜設定することができる。
【００３４】
判定領域設定処理（ステップＳ２２０）の後、メイン制御部１１０は、エッジ領域特定部３１５として動作することによってエッジ領域特定処理を実行する（ステップＳ５００）。エッジ領域特定処理（ステップＳ５００）では、メイン制御部１１０は、判定領域設定処理（ステップＳ２２０）で設定された判定領域５４０のエッジ量が基準値よりも多い場合、その判定領域５４０をエッジ領域と判定する。エッジ領域特定処理（ステップＳ５００）の詳細は後述する。
【００３５】
エッジ領域特定処理（ステップＳ５００）で判定領域５４０がエッジ領域であると判定された場合（ステップＳ２３０）、メイン制御部１１０は、合焦フラグをオン（二値数の「１」）に設定する（ステップＳ２４０）。その後、メイン制御部１１０は、エッジ領域特定処理（ステップＳ５００）でエッジ領域と判定された判定領域５４０に基づく画像が手ブレ画像であるか否かを判定する手ブレ判定処理を実行する（ステップＳ４００）。手ブレ判定処理（ステップＳ４００）の詳細は後述する。
【００３６】
手ブレ判定処理（ステップＳ４００）で判定領域５４０に基づく画像が手ブレ画像であると判定された場合（ステップＳ２５０）、メイン制御部１１０は、画像読出処理（ステップＳ２１０）で読み出された画像データが手ブレ画像であると判定した後（ステップＳ２８６）、画像品質判定処理（ステップＳ２００）を終了する。
【００３７】
一方、エッジ領域特定処理（ステップＳ５００）で判定領域５４０がエッジ領域であると判定されなかった場合（ステップＳ２３０）や、手ブレ判定処理（ステップＳ４００）で判定領域５４０に基づく画像が手ブレ画像でないと判定された場合（ステップＳ２５０）、メイン制御部１１０は、画像読出処理（ステップＳ２１０）で読み出された画像データに基づく画像５０の全体に判定領域５４０が設定されたか否か、すなわち判定領域５４０が画像５０の右下まで設定されたか否かを判断する（ステップＳ２６０）。画像５０の全体に判定領域５４０が設定されていない場合（ステップＳ２６０）、メイン制御部１１０は、判定領域設定処理（ステップＳ２２０）からの処理を繰り返し実行する。
【００３８】
画像５０の全体に判定領域５４０が設定されている場合（ステップＳ２６０）、メイン制御部１１０は、合焦フラグがオン（二値数の「１」）であるか否かを判定する（ステップＳ２７０）。合焦フラグがオン（二値数の「１」）である場合（ステップＳ２８２）、メイン制御部１１０は、画像読出処理（ステップＳ２１０）で読み出された画像データが焦点の合った合焦画像であると判定した後（ステップＳ２８２）、画像品質判定処理（ステップＳ２００）を終了する。一方、合焦フラグがオフ（二値数の「０」）である場合（ステップＳ２８２）、メイン制御部１１０は、画像読出処理（ステップＳ２１０）で読み出された画像データが焦点の合っていないピンぼけ画像であると判定した後（ステップＳ２８４）、画像品質判定処理（ステップＳ２００）を終了する。
【００３９】
Ａ２−３．エッジ領域特定処理：
図７は、図５におけるエッジ領域特定処理（ステップＳ５００）の詳細を示すフローチャートである。プリンタ１０のメイン制御部１１０は、図７のエッジ領域特定処理（ステップＳ５００）を開始すると、画像読出処理（ステップＳ２１０）で読み出された画像データに対して逆ハフマン符号化および逆量子化を実施することによって、判定領域設定処理（ステップＳ２２０）で設定された判定領域５４０における離散コサイン変換係数（ＤＣＴ係数）を生成する（ステップＳ５１０）。その後、メイン制御部１１０は、ＤＣＴ係数に基づいて判定領域５４０におけるエッジ量Ｅを算出する（ステップＳ５２０）。本実施例では、エッジ量Ｅは、ＤＣＴ係数に対応付けられた輝度変化のパターンを用いて算出される。エッジ量Ｅが閾値Ｔ以上である場合（ステップＳ５４０）メイン制御部１１０は、判定領域設定処理（ステップＳ２２０）で設定された判定領域５４０がエッジ領域であると判定する（ステップＳ５５０）。一方、エッジ量Ｅが閾値Ｔよりも小さい場合（ステップＳ５４０）、メイン制御部１１０は、判定領域設定処理（ステップＳ２２０）で設定された判定領域５４０がエッジ領域ではないと判定する（ステップＳ５６０）。閾値Ｔの値は、画像５０の画素数，印刷サイズ，印刷解像度などの印刷条件に応じて適宜設定することができる。
【００４０】
Ａ２−４．手ブレ判定処理：
図８および図９は、図５における手ブレ判定処理（ステップＳ４００）の詳細を示すフローチャートである。プリンタ１０のメイン制御部１１０は、図８の手ブレ判定処理を開始すると、周波数変換部３２０として動作することによって周波数変換処理を実行する（ステップＳ４２０）。周波数変換処理（ステップＳ４２０）では、メイン制御部１１０は、エッジ領域特定処理（ステップＳ５００）でエッジ領域と判定された判定領域５４０における空間領域の画像を周波数領域で表したパワースペクトルを生成する。
【００４１】
本実施例では、周波数変換処理（ステップＳ４２０）において、メイン制御部１１０は、画像読出処理（ステップＳ２１０）で読み出されたＪＰＥＧデータのうち、エッジ領域特定処理（ステップＳ５００）でエッジ領域と判定された判定領域５４０に対応する部分のデータをデコードすることによって、その判定領域５４０に対応する非圧縮のラスタデータをメイン制御部１１０のメモリ上（図示しない）に準備する（ステップＳ４２２）。なお、ラスタデータとは、色情報を有する複数の画素（ピクセル）を縦横に羅列して画像を表現したデータを意味する。
【００４２】
図１０は、周波数変換処理（ステップＳ４２０）が実施される様子の一例を示す説明図である。図１０のサンプル画像７０は、エッジ領域特定処理（ステップＳ５００）でエッジ領域と判定された判定領域５４０に対応する空間領域のラスタデータを模式的に表したものである。本実施例では、サンプル画像７０のサイズは、縦横１２８×１２８ピクセルであるが、メイン制御部１１０の演算能力の他、印刷サイズや印刷品質などの印刷条件に応じて適宜設定されるとしても良い。
【００４３】
図８および図９の説明に戻り、サンプル画像７０が準備された後（ステップＳ４２２）、メイン制御部１１０は、サンプル画像７０を高速フーリエ変換することによってパワースペクトルを生成する（ステップＳ４２４）。本実施例では、パワースペクトルの生成に高速フーリエ変換が用いられるが、他の実施形態として、離散フーリエ変換が用いられるとしても良い。
【００４４】
図１０のパワースペクトル８０は、サンプル画像７０を高速フーリエ変換することによって生成された周波数領域の画像データを模式的に表したものである。図１０のパワースペクトル８０には、横軸であるｘ軸に水平周波数をとると共に、縦軸であるｙ軸に垂直周波数をとることによって、高速フーリエ変換後の複素係数の絶対値が振幅値（パワー）としてスケーリング表示されている。パワースペクトル８０における振幅値は、白く見える部分ほど比較的に大きな振幅値であることを示し、黒く見える部分ほど比較的に小さな振幅値であることを示す。図１０に示す例では、サンプル画像７０が手ブレ画像であるため、パワースペクトル８０における振幅値の分布は、第二象限および第四象限から原点に向かう手ブレ方向に圧縮された態様を示す。
【００４５】
図８および図９の説明に戻り、周波数変換処理（ステップＳ４２０）の後、メイン制御部１１０は、手ブレ方向推定部３３０として動作することによって手ブレ方向推定処理を実行する（ステップＳ４３０）。手ブレ方向推定処理（ステップＳ４３０）では、メイン制御部１１０は、周波数変換処理（ステップＳ４２０）で生成されたパワースペクトル８０における振幅値の第二主成分方向を特定する。
【００４６】
本実施例では、手ブレ方向推定処理（ステップＳ４３０）において、メイン制御部１１０は、周波数変換処理（ステップＳ４２０）で生成されたパワースペクトル８０において画像の平均輝度を示す直流成分（ＤＣ成分）に依存する振幅値を「０（零）」に置き換える（ステップＳ４３２）。その後、メイン制御部１１０は、そのパワースペクトル８０にハニング窓関数（Hanning Window）を掛け合わせる。本実施例では、ハニング窓係数を掛け合わせることによってパワースペクトル８０を処理したが、他の実施形態として、ハニング窓関数に代えて、ハミング窓関数やブラックマン窓関数などの窓関数を利用しても良い。
【００４７】
図１１は、手ブレ方向推定処理（ステップＳ４３０）が実施される様子の一例を示す説明図である。図１１のパワースペクトル８２は、周波数変換処理（ステップＳ４２０）で生成されたパワースペクトル８０について直流成分を「０」に置き換えた後にハニング窓関数を掛け合わせた周波数領域の画像データを模式的に表したものである。パワースペクトル８２には、水平周波数をとった横軸であるｘ軸と、垂直周波数をとった縦軸であるｙ軸とが示され、図面の理解を容易にするために、パワースペクトル８２において比較的に大きな振幅値が分布する部位を領域８２８として表現することによって、振幅値の分布が簡略化して図示されている。
【００４８】
図８および図９の説明に戻り、ハニング窓関数で処理されたパワースペクトル８２が生成された後（ステップＳ４３４）、メイン制御部１１０は、主成分分析（Principal Component Analysis, PCA）を応用して、次の数式１から求められる第二主成分方向「ｙ／ｘ」を手ブレ方向として推定する（ステップＳ４３６）。
【００４９】
【数１】
2009237657.tif 000003
【００５０】
ここで、λは固有ベクトルであり、係数Ｖｘｘ，Ｖｙｙ，Ｖｘｙは、次の数式２から求められる。
【００５１】
【数２】
2009237657.tif 000004
【００５２】
ここで、係数ａｘｙは、パワースペクトル８２における位置（ｘ，ｙ）上の周波数振幅値である。なお、本実施例では、サンプル画像７０の大きさから「−１２８≦ｘ，ｙ≦１２８」であり、直流成分に依存する係数ａｘ０，ａ０ｙは「０」である。
【００５３】
数式１から「ｙ／ｘ」として求められた第二主成分方向は、図１１に示すように、パワースペクトル８２においてｘ軸およびｙ軸の原点を通り主成分方向８２１に直交する手ブレ方向８２２として特定される。
【００５４】
図８および図９の説明に戻り、手ブレ方向推定処理（ステップＳ４３０）の後、メイン制御部１１０は、一次元化部３４０として動作することによって一次元化処理を実行する（ステップＳ４４０）。一次元化処理（ステップＳ４４０）では、メイン制御部１１０は、手ブレ方向推定処理（ステップＳ４３０）で特定された手ブレ方向８２２に略沿ったパワースペクトル８２の領域における振幅値を周波数軸上に一次元化した一次元振幅データを生成する。
【００５５】
本実施例では、一次元化処理（ステップＳ４４０）において、メイン制御部１１０は、パワースペクトル８２における領域のうち、手ブレ方向推定処理（ステップＳ４３０）で推定された手ブレ方向８２２を含む中心角を有する扇型領域を特定する（ステップＳ４４２）。その後、メイン制御部１１０は、その扇型領域における振幅値を円周方向に合計することによって一次元振幅データを生成する（ステップＳ４４４）。
【００５６】
図１２は、一次元化処理（ステップＳ４４０）が実施される様子の一例を示す説明図である。図１２のパワースペクトル８２は、手ブレ方向推定処理（ステップＳ４３０）によって手ブレ方向８２２が推定された画像データを模式的に表したものである。本実施例では、図１２のパワースペクトル８２には、ｘ軸およびｙ軸の原点を中心として第一象限および第二象限にわたる１８０度の半円領域を八等分した扇型領域が設定されている。これら八個の扇型領域のうち、手ブレ方向８２２を含む中心角を有する扇型領域８２４が、メイン制御部１１０によって特定される（ステップＳ４２２）。図１２には、手ブレ方向８２２の扇型領域８２４における振幅値を円周方向に合算することによって、振幅値の合計値が一次元の周波数軸上に分布する一次元振幅データ８４が生成される様子が図示されている（ステップＳ４４４）。図１２の一次元振幅データ８４には、周波数振幅値が、横軸に周波数をとり縦軸に振幅をとって図示されている。なお、一次元振幅データ８４のためにパワースペクトル８２から抽出される領域は、半円領域を八等分した扇型領域に限るものではなく、半円領域を８以下や８以上に等分した扇型領域であっても良いし、手ブレ方向８２２に沿った帯状領域であっても良い。
【００５７】
図８および図９の説明に戻り、一次元化処理（ステップＳ４４０）の後、メイン制御部１１０は、重み付け部３５０として動作することによって重み付け処理を実行する（ステップＳ４５０）。重み付け処理（ステップＳ４５０）では、メイン制御部１１０は、一次元化処理（ステップＳ４４０）で生成された一次元振幅データ８４を周波数に応じて重み付けする。
【００５８】
本実施例では、重み付け処理（ステップＳ４５０）において、メイン制御部１１０は、一次元化処理（ステップＳ４４０）で生成された一次元振幅データ８４を、周波数５０ヘルツを含む領域で平滑化する（ステップＳ４５２）。本実施例における一次元振幅データ８４を平滑化する範囲である周波数５０ヘルツの値は、本発明者による検証によって好適な値として設定されたものであるが、一次元振幅データ８４を平滑化する範囲は、周波数５０ヘルツに限定するものではなく、判定対象となる画像に応じて適切な値を適宜設定しても良い。本実施例では、一次元振幅データ８４が平滑化された後（ステップＳ４５２）、メイン制御部１１０は、平滑化された一次元振幅データ８４に周波数の値を掛け合わせることによって重み付けを実施する（ステップＳ４５４）。
【００５９】
図１３は、重み付け処理（ステップＳ４５０）が実施される様子の一例を示す説明図である。図１３の一次元振幅データ８４には、周波数５０ヘルツを含む領域で平滑化された周波数振幅値が、横軸に周波数をとり縦軸に振幅をとって図示されている。図１３の一次元振幅データ８６には、周波数を掛け合わせることによって重み付けされた周波数振幅値が、横軸に周波数をとり縦軸に振幅をとって図示されている。一次元振幅データ８６の周波数振幅値は、重み付け処理（ステップＳ４５０）によって周波数が大きくなるほど大きな重み付けがなされている。例えば、一次元振幅データ８４における周波数６０ヘルツの周波数振幅値には、その周波数の値である「６０」が掛け合わされ、周波数３００ヘルツの周波数振幅値には、その周波数の値である「３００」が掛け合わされる。
【００６０】
図８および図９の説明に戻り、重み付け処理（ステップＳ４５０）の後、メイン制御部１１０は、判定部３６０として動作することによって判定処理を実行する（ステップＳ４６０）。判定処理（ステップＳ４６０）では、メイン制御部１１０は、重み付け処理（ステップＳ４５０）で生成された一次元振幅データ８６において振幅値が谷状に変化する領域の周波数に基づいて、画像読出処理（ステップＳ４１０）で読み出された画像データが手ブレ画像であるか否かを判定する。
【００６１】
本実施例では、判定処理（ステップＳ４６０）において、メイン制御部１１０は、重み付け処理（ステップＳ４５０）で生成された一次元振幅データ８６における周波数５０ヘルツから５７５ヘルツの範囲で周波数振幅が最小値をとる周波数ｆｂを特定する（ステップＳ４６２）。本実施例における周波数振幅の最小値を検索する範囲である周波数５０ヘルツから５７５ヘルツの値は、本発明者による検証によって好適な値として設定されたものであるが、周波数振幅の最小値を検索する範囲は、周波数５０ヘルツから５７５ヘルツの値に限定するものではなく、判定対象となる画像に応じて適切な値を適宜設定しても良い。
【００６２】
周波数ｆｂが周波数６０ヘルツよりも大きく周波数３００ヘルツより小さい場合、メイン制御部１１０は、エッジ領域特定処理（ステップＳ５００）でエッジ領域と判定された判定領域５４０が手ブレ画像であると判定した後（ステップＳ４６６）、手ブレ判定処理（ステップＳ４００）を終了する。一方、周波数ｆｂが周波数６０ヘルツ以下または周波数３００ヘルツ以上である場合、メイン制御部１１０は、エッジ領域特定処理（ステップＳ５００）でエッジ領域と判定された判定領域５４０が手ブレ画像はない正常な画像であると判定した後（ステップＳ４６８）、手ブレ判定処理（ステップＳ４００）を終了する。本実施例における周波数ｆｂの判定範囲である周波数６０ヘルツから３００ヘルツの値は、本発明者による検証によって好適な値として設定されたものであるが、周波数ｆｂの判定範囲は、周波数６０ヘルツから３００ヘルツの値に限定するものではなく、判定対象となる画像に応じて適切な値を適宜設定しても良い。なお、本実施例における周波数ｆｂの判定範囲である周波数３００ヘルツは、Ｌ版サイズ（１２７ｍｍ×８９ｍｍ）で印刷した場合に手ブレ幅が約０．３ｍｍとなる値に相当する。
【００６３】
図１４は、判定処理（ステップＳ４６０）が実施される様子の一例を示す説明図である。図１４には、重み付け処理（ステップＳ４５０）で生成された一次元振幅データ８６が、周波数を横軸にとり振幅を縦軸にとって図示されている。図１４に示す例では、周波数５０ヘルツから５７５ヘルツの範囲において、一次元振幅データ８６が最小値ｐｂをとる周波数ｆｂは、周波数６０ヘルツよりも大きく３００ヘルツよりも小さな手ブレ範囲にある。この場合、メイン制御部１１０は、エッジ領域特定処理（ステップＳ５００）でエッジ領域と判定された判定領域５４０が手ブレ画像であると判定する（ステップＳ４６６）。本実施例では、一次元振幅データ８６において振幅値が谷状に変化する領域の周波数を、振幅値が最小値ｐｂをとる周波数ｆｂとして特定したが、他の実施形態として、振幅値が一次元振幅データ８６に施された重み付けに応じた条件を満たす極小値をとる周波数として特定しても良い。
【００６４】
Ａ３．効果
以上説明したプリンタ１０によれば、手や体などの直線的な移動に起因する手ブレ画像が、実空間上の被写体に対し矩形関数（数式３）を畳み込んだ画像になり、周波数空間上ではシンク関数（数式４）を畳み込んだパワースペクトル８０になると考えられることから、周波数領域の画像において手ブレ方向に現れるシンク関数の影響の度合いに基づいて手ブレ判定を実施することができる。
【００６５】
【数３】
2009237657.tif 000005
【００６６】
【数４】
2009237657.tif 000006
【００６７】
ここで、γは、手ブレ幅、すなわち手ブレによる直線移動距離を示し、ｋは周波数を示す。
【００６８】
図１５は、手ブレ画像とシンク関数の関係を示す説明図である。図１５には、周波数振幅Ｌａ，Ｌｂ，Ｌｃが、横軸に周波数をとり縦軸に振幅をとって図示されている。周波数振幅Ｌａは、手ブレなしで正常に撮影された被写体の周波数振幅を示す。周波数振幅Ｌｂは、次の数式４で表されるシンク関数の周波数振幅を示す。周波数振幅Ｌｂは、被写体の周波数振幅Ｌａにシンク関数の周波数振幅Ｌｂを畳み込んだ手ブレ画像の周波数振幅を示す。図１５において、数式４のシンク関数が「０」になる点Ｂ１，Ｂ２，Ｂ３では、周波数ｋが１／γ，２／γ，３／γをとる。
【００６９】
本発明者による検証において、デジタルカメラで撮影した正常写真３７０枚および手ブレ写真１１０枚について、本実施例の手ブレ判定処理（ステップＳ４００）を実施したところ、正常写真３７０枚のうち３５８枚を正常画像であるとして判定（正答率９６．８％）し、手ブレ写真１１０枚のうち６９枚を手ブレ画像であると判定（正答率６２．７％）することができた。これらのことから、プリンタ１０によれば、相対的に高周波成分の少ない画像であっても、手ブレ判定における誤判定を抑制することができる。
【００７０】
また、また、エッジ領域である判定領域５４０に絞り込んで手ブレ判定処理（ステップＳ４００）を実施することができるため、手ブレ方向８２２に現れるシンク関数の影響の度合いを評価するための処理負荷を軽減することができる。また、ＪＰＥＧデータのＤＣＴ係数を利用してエッジ量を評価することができるため、判定領域５４０がエッジ領域であるか否かを特定するための処理負荷を軽減することができる。
【００７１】
また、プリンタ１０の周波数変換部３２０は、高速フーリエ変換によってパワースペクトル８０を生成するため（ステップＳ４２４）、シンク関数の影響によって振幅値が谷状に変化する領域を特定するのに十分な周波数分解能を得ることができる。また、プリンタ１０の手ブレ方向推定部３３０は、ハニング窓関数を掛け合わせたパワースペクトル８２から手ブレ方向８２２を推定するため（ステップＳ４３４）、手ブレ方向８２２の特定誤差を抑制することができる。また、プリンタ１０の手ブレ方向推定部３３０は、パワースペクトル８０における直流成分の振幅値ａｘ０，ａ０ｙを零に置き換えた主成分分析によって手ブレ方向８２２を推定するため（ステップＳ４３２）、直流成分の影響を排除することによって手ブレ方向８２２の特定誤差を抑制することができる。
【００７２】
また、プリンタ１０の一次元化部３４０は、手ブレ方向８２２の扇型領域８２４から一次元振幅データ８４を生成するため（ステップＳ４４２）、主成分方向に近い方向の振幅値を一次元振幅データ８４から排除することができる。また、プリンタ１０の重み付け部３５０は、一次元振幅データ８４を、周波数５０ヘルツを含む領域で平滑化するため（ステップＳ４５２）、被写体に依存する振幅特性が一次元振幅データ８４に与える影響を抑制することができる。また、プリンタ１０の重み付け部３５０は、一次元振幅データ８４に周波数を掛け合わせて重み付けするため（ステップＳ４５４）、周波数に応じた振幅値の影響度合いを考慮して一次元振幅データ８６を分析することができる。
【００７３】
また、プリンタ１０の判定部３６０は、周波数５０ヘルツから５７５ヘルツの範囲で周波数ｆｂを特定するため（ステップＳ４６２）、手ブレ判定に有用な周波数範囲を絞り込むことによって手ブレ判定に要する処理負荷を軽減することができる。また、プリンタ１０の判定部３６０は、周波数ｆｂが６０ヘルツから３００ヘルツの間である場合に手ブレ画像であると判定するため（ステップＳ４６６）、手ブレ画像であると人間が認識可能な度合いで手ブレ判定を実施することができる。
【００７４】
Ａ４．変形例：
前述の実施例では、プリンタ１０のメイン制御部１１０は、ＤＣＴ係数に基づいてエッジ領域を特定するエッジ領域特定処理（ステップＳ５００）を実施するが、他の実施形態において、画素間の輝度値の差分に基づいてエッジ領域を特定しても良い。図１６および図１７は、変形例におけるエッジ領域特定処理（ステップＳ６００）を示すフローチャートである。図１８は、画素間の輝度値の差分からエッジ抽出を行う様子を示す説明図である。変形例では、画像品質判定処理（ステップＳ２００）において、プリンタ１０のメイン制御部１１０は、図７のエッジ領域特定処理（ステップＳ５００）に代えて、図１６および図１７のエッジ領域特定処理（ステップＳ６００）を実行する。
【００７５】
プリンタ１０のメイン制御部１１０は、図１６および図１７のエッジ領域特定処理（ステップＳ６００）を開始すると、判定領域５４０において所定方向に並んだ画素の輝度値の差分ΔＺを演算する（ステップＳ６１０）。本変形例では、水平方向および垂直方向の両方向について輝度値の差分ΔＺを演算するが、図１８では、説明の簡略化のため水平方向について輝度値の差分ΔＺを演算する様子が示されている。図１８（Ａ）には、各画素の輝度値Ｚの一例が示され、図１８（Ｂ）には、図１８（Ａ）に示す場合における輝度値Ｚの差分ΔＺの一例が示されている。本変形例では、輝度値の差分ΔＺは、正負の符号付きの値である。本変形例における説明では、差分ΔＺは、画素間について逐次演算されるので、必要に応じて、今回着目している差分をΔＺ（ｎ）として表記し、着目画素の一つ前の画素についての差分をΔＺ（ｎ−１）として表記するものとする。
【００７６】
輝度値の差分ΔＺが演算された後（ステップＳ６１０）、メイン制御部１１０は、着目している画素について演算した輝度値の差分ΔＺ（ｎ）の符号が一つの前の画素について演算して求めた輝度値の差分ΔＺ（ｎ−１）の符号と同一か否かを判断する（ステップＳ６１２）。輝度値の差分ΔＺ（ｎ）の符号と輝度値の差分ΔＺ（ｎ−１）の符号とが一致する場合（ステップＳ６１２：「ＹＥＳ」）、メイン制御部１１０は、エッジが継続していると判断し、輝度値の差分ΔＺ（ｎ）を累積した累積値ＳＺを算出する（ステップＳ６１４）。具体的には、エッジが開始されたと判断したときに０にリセットされる累積値ＳＺに、今回の差分ΔＺ（ｎ）が加算される（ＳＺ←ＳＺ＋ΔＺ（ｎ））。累積値ＳＺに差分ΔＺ（ｎ）が加算された後（ステップＳ６１４）、メイン制御部１１０は、着目画素の位置を所定の方向に１だけ進め（ステップＳ６１６：ｎ←ｎ＋１）、上記処理を継続する（ステップＳ６１０ないしＳ６１６）。
【００７７】
上記の処理を繰り返すうちに、着目している画素について演算した輝度値の差分ΔＺ（ｎ）の符号が一つの前の画素について演算した求めた輝度値の差分ΔＺ（ｎ−１）の符号と同一でないと判断されると（ステップＳ６１２：「ＮＯ」）、メイン制御部１１０は、そこまで求めて来た累積値ＳＺの絶対値｜ＳＺ｜が、予め定めた閾値Ｔｈ１より大きいか否かを判断する（ステップＳ６２０）。図１８（Ｂ）には、この判断の様子が示されている。累積値ＳＺの絶対値が閾値Ｔｈ１より大きい場合（ステップＳ６２０：「ＹＥＳ」）、判定すべきエッジがある可能性があると考えられるので、メイン制御部１１０は、エッジの幅Ｗｅを演算する（ステップＳ６２２）。エッジの幅Ｗｅは、輝度値の差分ΔＺが同一符号で継続する画素数として設定される。
【００７８】
エッジの幅Ｗｅが演算された後（ステップＳ６２２）、メイン制御部１１０は、このエッジの幅Ｗｅが予め定めた閾値Ｔｈ２以下か否かを判断する（ステップＳ６２４）。エッジの幅Ｗｅが閾値Ｔｈ２以下である場合（ステップＳ６２４：「ＹＥＳ」）、メイン制御部１１０は、これらの画素は合焦の状態にあるとして、エッジ量Ｅに値「１」を加算する（ステップＳ６２６）。本変形例では、エッジ量Ｅは、エッジ領域特定処理（ステップＳ６００）の開始時に値「０」にリセットされている。エッジ量Ｅが加算された後（ステップＳ６２６）、メイン制御部１１０は、累積値ＳＺを値「０」にリセットし（ステップＳ６３４）、着目画素の位置を所定の方向に１だけ進める（ステップＳ６３６：ｎ←ｎ＋１）。他方、ステップＳ６２０またはＳ６２４での判断が「ＮＯ」である場合、合焦の状態にあると判断できるエッジではないとして、何の処理も行なわず、ステップＳ６３４で累積値ＳＺをリセットする処理に移行する。これらの処理により、図１８に示したように、隣接画素の輝度値の差分ΔＺの符号が隣接画素間で同一でなくなったときに、エッジの有無を、この差分ΔＺの累積値ＳＺの大きさで判定し、判定の如何に関わらず、累積値ＳＺを次の判定に備えて、値０にリセットすることになる。
【００７９】
そこで、上記の一連の処理により一つのエッジについての判定が完了すると、総ての画素についての判断が終わったかを判定し（ステップＳ６３８）、終わっていなければ、ステップＳ６１０に戻って、上記の処理（ステップＳ６１０ないしＳ６２６）の処理を繰り返す。総ての画素について上記の判断が終わっていれば（ステップＳ６３８：「ＹＥＳ」）、メイン制御部１１０は、エッジ量Ｅが閾値Ｔ以上であるか否かを判断する（ステップＳ６４０）。エッジ量Ｅが閾値Ｔ以上である場合（ステップＳ６４０）メイン制御部１１０は、判定領域設定処理（ステップＳ２２０）で設定された判定領域５４０がエッジ領域であると判定する（ステップＳ６５０）。一方、エッジ量Ｅが閾値Ｔよりも小さい場合（ステップＳ６４０）、メイン制御部１１０は、判定領域設定処理（ステップＳ２２０）で設定された判定領域５４０がエッジ領域ではないと判定する（ステップＳ６６０）。閾値Ｔの値は、画像５０の画素数，印刷サイズ，印刷解像度などの印刷条件に応じて適宜設定することができる。
【００８０】
以上説明した変形例によれば、エッジの抽出を、隣接画素の輝度値の差分ΔＺの符号が隣接画素間で同一でなくなったときに、この差分ΔＺの累積値ＳＺの大きさを判定することにより行なっている。したがって、画素の並びがエッジを構成しているとき、途中に差分ΔＺが小さい画素間が存在したとき、その前後を別々のエッジと判定することがない。他方、全体の傾向としては、画素の輝度値が漸増または漸減していても、途中で差分ΔＺが値０になるか、その符号が変更されれば、そこでエッジが分かれていると判断するので、エッジの存在領域を見誤る可能性が低減される。この結果、ノイズなどが存在しても、合焦の情報として扱うべきエッジの存在を的確に判定することができる。
【００８１】
Ｂ．その他の実施形態：
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。例えば、本実施例では、ＪＰＥＧデータに基づくＤＣＴ係数を利用してエッジ領域を特定したが（ステップＳ５００）、他の実施形態として、アダマール変換や離散フーリエ変換などの正規直交変換を用いて変換符号化された画像データである場合、その変換符号化の重み係数を利用してエッジ領域を特定しても良いし、また、ラスタデータから輝度変化量を算出することによってエッジ領域を特定しても良いし、また、画像データからデータを間引いて生成された縮小画像（サムネイル）を利用してエッジ領域を特定しても良い。また、本実施例では、判定領域５４０がエッジ領域であると特定される度に、手ブレ判定処理（ステップＳ２４０）を実施したが、他の実施形態として、全ての判定領域５４０についてエッジ領域であるか否かを特定した後に手ブレ判定処理（ステップＳ２４０）を実施しても良い。
【００８２】
また、上述の実施例では、本発明をプリンタに適用した例について説明したが、他の実施形態として、例えば、パーソナルコンピュータ，デジタルカメラ，ビューワなど画像データを取り扱う電子機器に本発明を適用しても良い。
【図面の簡単な説明】
【００８３】
【図１】プリンタ１０の外観構成を主に示す説明図である。
【図２】プリンタ１０の内部構成を主に示す説明図である。
【図３】プリンタ１０のメイン制御部１１０によって実行される画像印刷処理を示すフローチャートである。
【図４】結果表示処理（ステップＳ５００）でディスプレイ１６０に表示される結果表示画面６０の一例を示す説明図である。
【図５】図３における画像品質判定処理（ステップＳ２００）の詳細を示すフローチャートである。
【図６】判定領域設定処理（ステップＳ２２０）が実施される様子の一例を示す説明図である。
【図７】図５におけるエッジ領域特定処理（ステップＳ５００）の詳細を示すフローチャートである。
【図８】図５における手ブレ判定処理（ステップＳ４００）の詳細を示すフローチャートである。
【図９】図５における手ブレ判定処理（ステップＳ４００）の詳細を示すフローチャートである。
【図１０】周波数変換処理（ステップＳ４２０）が実施される様子の一例を示す説明図である。
【図１１】手ブレ方向推定処理（ステップＳ４３０）が実施される様子の一例を示す説明図である。
【図１２】一次元化処理（ステップＳ４４０）が実施される様子の一例を示す説明図である。
【図１３】重み付け処理（ステップＳ４５０）が実施される様子の一例を示す説明図である。
【図１４】判定処理（ステップＳ４６０）が実施される様子の一例を示す説明図である。
【図１５】手ブレ画像とシンク関数の関係を示す説明図である。
【図１６】変形例におけるエッジ領域特定処理（ステップＳ６００）を示すフローチャートである。
【図１７】変形例におけるエッジ領域特定処理（ステップＳ６００）を示すフローチャートである。
【図１８】画素間の輝度値の差分からエッジ抽出を行う様子を示す説明図である。
【符号の説明】
【００８４】
１０...プリンタ
５０...画像
６０...結果表示画面
７０...サンプル画像
８０...パワースペクトル
８２...パワースペクトル
８４...一次元振幅データ
８６...一次元振幅データ
１１０...メイン制御部
１２０...印刷機構部
１３０...スキャナ部
１４０...カードスロット
１５０...通信コネクタ
１６０...ディスプレイ
１７０...操作パネル
２００...キャリッジ
２１０...ヘッドユニット
２１１...噴射ヘッド
２４０...キャリッジ駆動部
２５０...搬送部
３１０...画像読出部
３１５...エッジ領域特定部
３２０...周波数変換部
３３０...手ブレ方向推定部
３４０...一次元化部
３５０...重み付け部
３６０...判定部
３７０...印刷指示部
５４０...判定領域
６１０...画像一覧部
６２０...太枠
８１０...メモリカード
８２０...外部機器
８２１...主成分方向
８２２...手ブレ方向
８２４...扇型領域
８２８...領域
９００...印刷媒体
ｆｂ...周波数
ｐｂ...最小値
【図１】
2009237657.tif 000007
【図２】
2009237657.tif 000008
【図３】
2009237657.tif 000009
【図４】
2009237657.tif 000010
【図５】
2009237657.tif 000011
【図６】
2009237657.tif 000012
【図７】
2009237657.tif 000013
【図８】
2009237657.tif 000014
【図９】
2009237657.tif 000015
【図１０】
2009237657.tif 000016
【図１１】
2009237657.tif 000017
【図１２】
2009237657.tif 000018
【図１３】
2009237657.tif 000019
【図１４】
2009237657.tif 000020
【図１５】
2009237657.tif 000021
【図１６】
2009237657.tif 000022
【図１７】
2009237657.tif 000023
【図１８】
2009237657.tif 000024