JP2008129912A - 画像処理装置、ぼやけ検出方法、プログラム及び記録媒体 - Google Patents

画像処理装置、ぼやけ検出方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP2008129912A
JP2008129912A JP2006315433A JP2006315433A JP2008129912A JP 2008129912 A JP2008129912 A JP 2008129912A JP 2006315433 A JP2006315433 A JP 2006315433A JP 2006315433 A JP2006315433 A JP 2006315433A JP 2008129912 A JP2008129912 A JP 2008129912A
Authority
JP
Japan
Prior art keywords
block
blur
image
pattern
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006315433A
Other languages
English (en)
Inventor
Takashige Tanaka
敬重 田中
Ayahiro Nakajima
紋宏 中島
Masashi Aiiso
政司 相磯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006315433A priority Critical patent/JP2008129912A/ja
Publication of JP2008129912A publication Critical patent/JP2008129912A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Or Security For Electrophotography (AREA)
  • Image Processing (AREA)

Abstract

【課題】 ビットマップ画像を対象として、少ない負荷で画像のぼやけを精度良く検出する画像処理装置の提供。
【解決手段】 プリンタ100のCPU160は、注目ウィンドウの画像データを8画素×8画素のブロックに分割し、このブロックごとに、画素値の変化を表す係数群を算出し、その係数群の変化形状に近似する基本エッジパターンをエッジパターンテーブル181から選出する。そして、この基本エッジパターンについて、注目ブロックと隣接するブロックが同じ傾き方向であれば、これらのブロック同士のぼやけ幅(画素値の変化の勾配の幅)を累積加算するエッジ連結処理を実行して、注目ブロックのぼやけ幅を算出し、ブロックぼやけ判定を行う。そして、この判定結果を集計して、ウィンドウぼやけ判定処理を行う。対象画像内に1つでも合焦ウィンドウがあれば、対象画像が合焦画像であると判断する。
【選択図】図4

Description

本発明は、画素の集合体として構成されたビットマップ画像のぼやけを検出する技術に関する。
近年、デジタルスチルカメラが普及し、デジタルデータの写真画像を撮影する機会が増えている。これらのデジタル写真画像には、被写体ブレや手ブレによるぼやけ画像も含まれており、ユーザが画像を印刷するのに先立ち、ぼやけが生じている画像を印刷の対象から排除することが必要である。近年普及している小型液晶ディスプレイを備えたプリンタでは、ユーザが印刷する画像を液晶ディスプレイで確認・選択してから印刷することが可能であるが、このような小型の液晶ディスプレイでは、画像の細部まで確認することはできず、正確なぼやけの判定は困難であった。一方、こうしたぼやけ画像を排除するためのぼやけ検出技術に関連し、下記特許文献1には、撮像した画像を8画素×8画素を単位とする複数のブロックに分割して、離散コサイン変換された各ブロックについて周波数分析を行い、ブロック毎に像のシャープさ(逆に言えば、ぼやけ度合い)を判別する技術が記載されている。
特開平4−170872号公報 特開平10−271516号公報
しかし、ビットマップのように離散的な周波数成分の係数をデータとして有しない形式の画像では、当該画像をJPEGなどの離散的な周波数成分の係数をデータとして有する形式に変換した後に、特許文献1に記載の技術によって数百万画素あるいはそれ以上の高解像度な画像のぼやけを分析しようとすると、演算量が膨大となり、それに伴いメモリの使用量も多くなる。このような問題は、特に、プリンタやデジタルカメラ、フォトビューワー等といった、CPUパワーやメモリ容量に制限のある小型機器でぼやけの検出を行う場合に看過できない問題となる。
また、近年のデジタルスチルカメラで撮影される画像の解像度は、数百万ないし1000万画素もの高解像度であるため、特許文献1に記載のように8画素×8画素だけで構成されるブロック内だけでぼやけやシャープさを判別することは困難であった。具体的に言えば、L版の印刷用紙(約横130mm×縦90mm)に600万画素(約横3000画素×縦2000画素)の画像を印刷した場合には、横8画素は、約0.35mmの幅に相当し、このような狭い幅の中だけで画像がシャープであるかぼやけているかを客観的に判別することは困難である。つまり、近年撮影される高解像度な画像において、特許文献1に記載の技術を直接適用することは困難になってきている。
上述した種々の問題を考慮し、本発明が解決しようとする課題は、離散的な周波数成分の係数をデータとして有しないビットマップ画像を対象として、少ない負荷で画像のぼやけを精度良く検出することである。
上記課題を解決する本発明の画像処理装置は、
画素の集合体として構成されたビットマップ画像のぼやけを検出する画像処理装置であって、
前記画像を構成する画素毎に、画像データを入力する画像データ入力部と、
前記画像の少なくとも一部を、所定の数の画素からなるブロックを単位として複数に分割し、該ブロック毎に該ブロックに属する画素の前記入力した画像データに基づいて、該画像データの前記ブロック内での所定方向の変化を表す複数の係数からなる係数群を算出するブロックパターン算出部と、
前記ブロック内の画素の画像データの前記ブロック内における少なくとも一方向の代表的な変化を前記係数群によって表した複数種類のパターンを、基本パターンとして分類して記憶するパターン記憶部と、
前記算出された係数群の変化のパターンを、前記記憶された複数の基本パターンと照合し、近似する基本パターンを選出するパターン照合部と、
前記ブロックについて選出された前記各基本パターンの前記画像内における配置に基づいて、前記画像データが表す画像のぼやけを判定するぼやけ判定部と
を備えたことを要旨とする。
かかる構成の画像処理装置は、画像を複数のブロックに分割し、所定方向の画像データの変化を表す係数群を算出して、この係数群の変化のパターンと近似した基本パターンをパターン記憶部から選出し、選出された基本パターンの画像内における配置に基づいて、画像のぼやけを判定する。従って、基本パターンを利用して、効率的にぼやけの判定を行うことができる。
なお、ビットマップ画像とは、色情報を持った画素の集合体として構成される画像データであり、例えば、PNG形式のデータ、BMP形式のデータ、JPEG形式のデータをビットマップ展開したデータなど、種々の画像データである。
また、かかる構成の画像処理装置において、ぼやけ判定部は、基本パターンが選出されたブロックの、選出された基本パターンの係数群の各係数の変化が形成する第1の勾配と、該ブロックに隣接するブロックで選出された基本パターンの係数群の各係数の変化が形成する第2の勾配との連続性を検定する連続性検定手段と、連続性検出手段の検定結果により、各勾配が連続しない時には、基本パターンが選出されたブロックの勾配の幅を、ブロックのぼやけ度を表すぼやけ幅として検出し、各勾配が連続する時には、ブロックに分割された画像内における各ブロックの所定方向の連なりに沿って、各勾配が連続する範囲をぼやけ幅として検出するぼやけ幅検出手段と、該検出されたぼやけ幅の長さに基づいて、画像データが表す画像のぼやけを判定するぼやけ判定手段とを備えたものとしてもよい。
このような構成によれば、ブロックの連なりに沿って、選出した基本パターンの係数群の各係数の変化が形成する勾配の連続性を検出し、勾配が連続する場合には、複数ブロックに跨って勾配が連続する範囲をぼやけ幅として検出する。従って、ぼやけの幅が1つのブロックのサイズを超える場合においても、精度良く画像がぼやけているか否かを判断することができる。
また、かかる構成の画像処理装置において、パターン記憶部は、基本パターンと、該各基本パターンにそれぞれ一意に割り振られたパターン番号とを対応付けて記憶する手段を備え、パターン照合部は、算出された係数群の変化形状に近似する基本パターンとして、パターン番号をパターン記憶部から選出する手段を備え、連続性検定手段は、選出されたパターン番号を参照して、第1の勾配と第2の勾配との連続性を検定する手段を備えたものとしてもよい。
このような構成によれば、基本パターンの各勾配の連続性を検定するにあたり、パターン番号を用いるので、基本パターンから直接的に検定する場合と比べ、パターン照合処理を高速化するとともに、使用するメモリ容量を削減することができる。
また、かかる構成の画像処理装置において、パターン記憶部は、更に、パターン番号に対応付けて、各基本パターンの勾配の幅を記憶する手段を備え、ぼやけ幅検出手段は、各勾配が連続しない時には、パターン番号が選出されたブロックの、パターン番号に対応付けられた勾配の幅をパターン記憶部から読み出して、ぼやけ幅を検出し、各勾配が連続する時には、ブロックに分割された画像内における各ブロックの所定方向の連なりに沿って、パターン番号に対応付けられた勾配の幅をパターン記憶部から読み出し、該勾配の幅の累積値として、ぼやけ幅を検出する手段を備えたものとしてもよい。
このような構成によれば、各基本パターンの係数群の各係数の変化が形成する勾配の幅が、パターン記憶部に予め記憶されているため、ぼやけ幅の算出を高速化することができる。
また、かかる構成の画像処理装置において、ぼやけ判定手段は、検出されたぼやけ幅の長さに基づいて、ブロック毎にぼやけの状況を判定するブロックぼやけ判定手段と、該判定の結果を集計して、画像全体のぼやけ判定を行う画像ぼやけ判定手段とを備えたものとしてもよい。このような構成によれば、画像全体としてのぼやけの印象を判定することができる。
あるいは、かかる構成の画像処理装置において、ぼやけ判定手段は、検出されたぼやけ幅の長さに基づいて、ブロック毎にぼやけの状況を判定するブロックぼやけ判定手段と、画像データ内の、所定数のブロックで構成されるウィンドウ領域に含まれる全ブロックについて、ブロックぼやけ判定部に判定されたぼやけの状況を集計し、該集計結果に基づき、該ウィンドウ領域内がぼやけているか否かを判断するウィンドウぼやけ判定手段と、画像データ中において、ウィンドウ領域を移動させていった結果、少なくとも1カ所、ぼやけていないと判断されたウィンドウ領域が存在する場合に、画像データが表す画像全体がぼやけていないと判断する画像ぼやけ判定手段とを備えたものとしてもよい。
このような構成によれば、所定数のブロックによって構成されるウィンドウ領域毎にぼやけの有無を判断することができるので、より人の感性に近い精度で画像にぼやけが生じているかを判断することが可能になる。また、ぼやけていないウィンドウ領域が1箇所でも検出されると、残りのウィンドウ領域についてのぼやけ判定処理を省略できるため、処理を高速化できる。なお、所定のウィンドウ領域としては、例えば、画像データがL版の印刷用紙に印刷されると想定すると、1cm×1cmや2cm×2cmの領域とすることができる。このようなサイズのウィンドウ領域内が画像中のいずれかの箇所でぼやけていないと判断されれば、その領域に焦点が合っているものと判断することができるためである。
また、かかる構成の画像処理装置において、所定方向は、水平方向および垂直方向であり、ブロックパターン算出部は、係数群として、画像データのブロック内での水平方向の変化を表す第1の係数群と、画像データのブロック内での垂直方向の変化を表す第2の係数群とを算出する手段を備え、パターン照合部は、第1の係数群と第2の係数群とについて、それぞれ、近似する基本パターンを選出する手段を備え、ぼやけ検出手段は、水平方向および垂直方向についてそれぞれ、ぼやけ幅を検出する水平/垂直ぼやけ幅検出手段を備え、ぼやけ判定手段は、水平方向と垂直方向とについてそれぞれ算出されたぼやけ幅のうち、大きい方のぼやけ幅の長さに基づき、画像データが表す画像のぼやけを判定する水平/垂直ぼやけ判定手段を備えたものとしてもよい。
このような構成によれば、1つのブロックについて、水平方向のぼやけ幅と垂直方向のぼやけ幅とを算出することができるので、これらのうち、大きい方のぼやけ幅を用いれば、より精度良く画像のぼやけを判定することが可能になる。
また、かかる構成の画像処理装置において、パターン照合部は、算出された係数群が所定の分散の範囲内となるような条件を満たす時には、基本パターンの選出を行わないものとしてもよい。
このような構成によれば、算出した係数群によりブロック内の画素値の変化が小さいと判断される場合には、基本パターンの選出を省略できるため、処理を高速化できる。
また、かかる構成の画像処理装置において、パターン照合部は、複数種類の基本パターンの中から、算出された係数群との平均誤差が最小となる基本パターンをパターン記憶部から選出するものとしてもよい。
このような構成によれば、パターン照合部は、複数種類の基本パターンの中から最も近似する基本パターンを選出できるため、高い精度でぼやけを検出し、ぼやけ判定を行うことができる。
あるいは、かかる構成の画像処理装置において、パターン照合部は、複数種類の基本エッジパターンと算出された係数群との平均誤差を該複数種類の基本パターンの並びの順に計算する誤差計算処理を実行し、該計算された誤差が所定の閾値以下となった場合には、誤差計算処理を打ち切ると共に、該誤差が所定の閾値以下となった基本パターンをパターン記憶部から選出するものとしてもよい。
このような構成によれば、パターン照合部は、複数種類の基本パターンの中から所定の誤差の範囲内にある基本パターンを検出した場合、誤差計算処理を打ち切るので、パターン照合処理を高速化できる。
また、かかる構成の画像処理装置において、ブロックは、水平方向と垂直方向にそれぞれ8画素で構成されるものとしてもよい。
このような構成によれば、ブロックパターン算出に要する処理時間と、エッジパターン照合に要する処理時間のバランスを適正に保って、ぼやけ判定処理を高速化できる。
また、かかる構成の画像処理装置において、画像データは、RGB色空間の各階調値であり、係数群は、RGB色空間の各階調値から算出される画素ごとの輝度値または明度に基づいて算出されるものとしてもよい。
このような構成によれば、輝度値または明度の変化に基づくエッジを用いて、ぼやけ判定が行えるため、精度の高いぼやけ判定を行うことができる。
また、かかる構成の画像処理装置において、更に、ぼやけ判定部によってぼやけていないと判定された画像をユーザに提示する提示部を備えるものとしてもよい。
このような構成であれば、ユーザは、撮影に成功した画像のみを確認することができる。ユーザに提示する方法としては、例えば、表示装置に画像を表示させるものとすることができる。その他、ぼやけていないと判定された画像の一覧を印刷してユーザに提示するものとしてもよい。
また、かかる構成の画像処理装置において、更に、提示された画像の中からユーザによって選択された画像を印刷する印刷部を備えるものとしてもよい。
このような構成であれば、ユーザは、手ブレや被写体ブレによって画像にぼやけの生じている画像を意識することなく、撮影に成功した画像の中から所望の画像を容易に印刷することができる。
なお、本発明は、上述した画像処理装置としての構成のほか、コンピュータが画像のぼやけを検出するぼやけ検出方法や、画像のぼやけを検出するためのコンピュータプログラムとしても構成することができる。かかるコンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。記録媒体としては、例えば、フレキシブルディスクやCD−ROM、DVD−ROM、光磁気ディスク、メモリカード、ハードディスク等の種々の媒体を利用することができる。
以下、上述した本発明の作用・効果を一層明らかにするため、本発明の実施の形態を実施例に基づき次の順序で説明する。
A.プリンタのハードウェア構成:
B.印刷処理:
C.ぼやけ判定処理:
C−1.ぼやけ判定処理の流れ:
C−2.ブロックパターン算出:
C−3.エッジパターン照合処理:
C−4.エッジ連結処理:
C−5.ブロックぼやけ判定処理:
C−6.ウィンドウぼやけ判定処理:
A.プリンタのハードウェア構成:
図1は、本願の画像処理装置の実施例としてのプリンタ100の外観を示す説明図である。プリンタ100は、いわゆる複合機タイプのプリンタであり、光学的に画像を読み込むスキャナ110や、画像データの記録されたメモリカードMCを挿入するためのメモリカードスロット120、デジタルカメラ等の機器を接続するUSBインタフェース130等を備えている。プリンタ100は、スキャナ110によって取り込んだ画像や、メモリカードMCから読み取った画像、USBインタフェース130を介してデジタルカメラから読み取った画像を印刷用紙Pに印刷することができる。また、プリンタケーブルやUSBケーブルによって接続された図示しないパーソナルコンピュータから入力した画像の印刷も行うことができる。
プリンタ100は、印刷に関する種々の操作を行うための操作パネル140を備えている。操作パネル140の中央部には、液晶ディスプレイ145が備えられている。この液晶ディスプレイ145は、メモリカードMCやデジタルカメラなどから読み取った画像の表示や、プリンタ100の各種機能を利用する際のUI(ユーザインタフェース)の表示に利用される。
プリンタ100は、メモリカードMCやデジタルカメラ等から入力した複数の画像データの中から、ぼやけている画像(以下「ぼやけ画像」という)を排除して、ピントが1カ所でも合っている画像(以下、「合焦画像」という)のみを抽出し、液晶ディスプレイ145に表示する機能を有している。ユーザは、こうして液晶ディスプレイ145に表示された画像の中から、所望の画像を選択することで、印刷に適した画像のみを印刷することが可能となる。
図2は、プリンタ100の内部構成を示す説明図である。図示するように、プリンタ100は、印刷用紙Pに印刷を行う機構として、インクカートリッジ212を搭載したキャリッジ210や、キャリッジ210を主走査方向に駆動するキャリッジモータ220、印刷用紙Pを副走査方向に搬送する紙送りモータ230等を備えている。
キャリッジ210は、シアン、マゼンタ、イエロ、ブラック、ライトシアン、ライトマゼンタの色を現す各インクに対応して、計6種類のインクヘッド211を備えている。キャリッジ210には、これらのインクが収容されたインクカートリッジ212が装着されており、インクカートリッジ212からインクヘッド211に供給されたインクは、図示しないピエゾ素子を駆動することで印刷用紙Pに吐出される。
キャリッジ210は、プラテン270の軸方向と並行に設置された摺動軸280に移動自在に保持されている。キャリッジモータ220は、制御ユニット150からの指令に応じて駆動ベルト260を回転させることで、プラテン270の軸方向と平行に、すなわち、主走査方向にキャリッジ210を往復運動させる。紙送りモータ230は、プラテン270を回転させることで、プラテン270の軸方向と垂直に印刷用紙Pを搬送する。つまり、紙送りモータ230は、キャリッジ210を相対的に副走査方向に移動させることができる。
プリンタ100は、上述したインクヘッド211やキャリッジモータ220、紙送りモータ230の動作を制御するための制御ユニット150を備えている。制御ユニット150には、図1に示したスキャナ110やメモリカードスロット120、USBインタフェース130、操作パネル140、液晶ディスプレイ145が接続されている。
制御ユニット150は、CPU160とRAM170とROM180とによって構成されている。ROM180には、プリンタ100の動作を制御するための制御プログラムが記憶されており、更に、後述する種々の処理で使用されるエッジパターンテーブル181が記憶されている。
CPU160はROM180に記憶された制御プログラムをRAM170に展開して実行することで図示する各機能部(161〜166)として動作する。これらの機能部の機能については、後に詳述する。RAM170には、制御プログラムを実行するためのワークエリアのほか、図示するパターン番号バッファ171や、縦累積バッファ172、横累積バッファ173と呼ばれる記憶領域がそれぞれ確保されている。
B.印刷処理:
図3は、プリンタ100のCPU160が実行する印刷処理のフローチャートである。この印刷処理は、メモリカードMC等から画像データを入力して印刷を行うための処理である。
操作パネル140を用いたユーザの所定の操作に応じてこの印刷処理が実行されると、まず、CPU160は、画像データ入力部161を用いて、メモリカードスロット120に挿入されたメモリカードMCから、画素毎のRGB色空間データから構成されているビットマップ画像データを入力する(ステップS10)。なお、ここでは、メモリカードMCからビットマップ画像データを入力するものとするが、USBインタフェース130を介して接続されたデジタルカメラやコンピュータ等から入力するものとしてもよい。
次に、CPU160は、ステップS10によって入力したビットマップ画像データについて、ぼやけ判定処理を行う(ステップS20)。このぼやけ判定処理の詳細については「C.ぼやけ判定処理」で後述する。
1つのビットマップ画像データについてぼやけ判定処理を終了すると、CPU160は、メモリカードMC内のすべてのビットマップ画像データを入力してぼやけ判定処理を行ったか否かを判断する(ステップS30)。かかる処理によって、全てのビットマップ画像データのぼやけ判定処理を行っていないと判断した場合には(ステップS30:No)、処理をステップS10に戻し、次のビットマップ画像データを入力する。
上記ステップS30によって、全てのビットマップ画像データについてぼやけ判定処理が終了したと判断した場合には(ステップS30:Yes)、CPU160は、ステップS20によってぼやけていないと判定された画像、すなわち、合焦画像を、液晶ディスプレイ145に一覧表示する(ステップS40)。
合焦画像の一覧を液晶ディスプレイ145に表示すると、CPU160は、操作パネル140を介して、ユーザから、印刷の対象となる画像の選択を受け付ける(ステップS50)。そして、選択された画像を、インクヘッド211や紙送りモータ230、キャリッジモータ220等を制御して印刷する(ステップS60)。
以上で説明した印刷処理では、メモリカードMC内の全てのビットマップ画像データを入力するものとしたが、メモリカードMC内に複数のフォルダが生成されている場合には、ユーザによって指定されたフォルダについてのみビットマップ画像データを入力するものとしてもよい。
かかる構成の印刷処理装置は、画像のぼやけの判定を行い、合焦画像と判定された画像のみを表示して、印刷指示を受け付けるので、ユーザが視覚的にぼやけの判定を行うことが困難な小型の液晶ディスプレイを搭載した印刷装置であっても、ユーザは、撮影に成功した画像のみを確認しながら、所望の画像を容易に印刷することができる。
C.ぼやけ判定処理:
C−1.ぼやけ判定処理の流れ:
図4は、図3に示した印刷処理のステップS20で実行されるぼやけ判定処理のフローチャートである。この処理が開始されると、まず、CPU160は、ぼやけ判定を行うべきウィンドウ(以下、「注目ウィンドウ」という)をその連なりに沿って移動する(ステップS100)。最初の移動先は、ビットマップ画像データの最も左上に存在するウィンドウである。注目ウィンドウは、ステップS100の処理が実行される度に、右方向へウィンドウの幅分だけ移動し、画像の右端まで到達すると、左端に戻ると共にウィンドウの高さ分だけ下に移動し、再度、右方向へ移動する。なお、本実施例において、上述のウィンドウとは、L版の印刷用紙において、最小の合焦エリアと想定される約1cm×約1cmのサイズの領域を表しており、このウィンドウ領域を単位としたぼやけ判定結果に基づき、最終的に画像全体のぼやけ判定を行うものである。
注目ウィンドウを移動すると、CPU160は、ブロックパターン算出部162を用いて、現在の注目ウィンドウのブロックパターンを算出する(ステップS110)。このブロックパターンの算出とは、ビットマップ画像データを所定の画素数で構成されるブロックを単位として分割して、このブロックごとに、画素値の変化を表す係数群を算出する処理である(詳細な処理内容については、「C−2.ブロックパターン算出」で後述)。
本実施例において、上述のブロックは、図5(a)に示すように、水平方向と垂直方向がそれぞれ8画素からなる計64画素で構成されるものとした。L版の印刷用紙(約13cm×縦約9cm)に、600万画素(横約3000画素×縦約2000画素)の画像を印刷すると、8画素×8画素の1ブロックのサイズは、約0.35mm×約0.35mmになる。そのため、約1cm×約1cmのウィンドウ領域内には、図5(b)に示すように、28×28個のブロックが存在することになる。なお、本実施例では、上述のように、L版の印刷用紙に600万画素の画像を印刷することを想定して、ウィンドウのサイズを約1cm×約1cmとしているが、印刷対象の用紙サイズ、画像の画素数、CPUの処理速度等に応じて、ウィンドウサイズが適宜変更されることは言うまでもない。例えば、A4版で印刷する場合や、300万画素の画像を印刷する場合、CPUの処理速度を向上できる場合などは、ウィンドウサイズを大きく、例えば、約2cm×約2cmとしてもよい。
ブロックパターンを算出すると、CPU160は、パターン照合部163を用いて、エッジパターン照合処理を実行する(ステップS120)。この処理は、ブロック内の画素値の代表的な変化形状を係数群によって表した複数種類の基本エッジパターンを分類して記憶したエッジパターンテーブル181から、上記ステップS110において算出された係数群の変化形状に近似する基本エッジパターンをエッジパターンテーブル181から選出し、その基本エッジパターンに割り振られたパターン番号をRAM170に確保したパターン番号バッファ171に保存するための処理である(詳細な処理内容については「C−3.エッジパターン照合処理」で後述)。
エッジパターン照合処理が行われると、CPU160は、エッジ連結部164を用いて、パターン番号バッファ171等を参照して、エッジ連結処理を実行する(ステップS130)。このエッジ連結処理では、上記ステップS120で選出された基本エッジパターンについて、注目ブロックと隣接するブロックが同じ傾き方向であれば、これらのブロック同士のぼやけ幅(画素値の変化の勾配の幅)を累積加算し、注目ブロックのぼやけ幅が算出される(詳細な処理内容については、「C−4.エッジ連結処理」で後述)。
エッジ連結処理が行われると、CPU160は、ブロックぼやけ判定部165を用いて、ブロックぼやけ判定処理を実行する(ステップS140)。この処理は、エッジ連結処理によって算出されたぼやけ幅に基づき、注目ブロックがぼやけているか否かを判定するための処理である。本実施例においては、かかる処理の実行結果として、注目ブロックが、「ぼやけブロック」、「合焦ブロック」、「平坦ブロック」のいずれかの判定結果として取得される。なお、本実施例における「平坦」とは、ブロック内の色の変化が少ない状態をいい、平坦ブロックは、ぼやけの判定を行いにくいため、ぼやけブロックと合焦ブロック以外にこのような区分を設けている(詳細な処理内容については「C−5.ブロックぼやけ判定処理」で後述)。
ブロックぼやけ判定処理の判定がなされると、CPU160は、ウィンドウぼやけ判定部166を用いて、その注目ウィンドウ領域全体について、ウィンドウぼやけ判定処理を行う(ステップ150)。この処理は、上記ステップS140でなされたブロックごとのぼやけ判定結果を集計して、ウィンドウ領域としてのぼやけ判定を行うものである(詳細な処理内容については「C−6.ウィンドウぼやけ判定処理」で後述)。
上記ステップS150においてウィンドウぼやけ判定処理が終了すると、CPU160は、この判定処理の判定結果に基づき、現在のウィンドウ領域が合焦ウィンドウであるか否かを判断する(ステップS160)。その結果、当該ウィンドウが合焦ウィンドウであれば(ステップS160:Yes)、現在入力しているビットマップ画像が合焦していると判定し(ステップS170)、上述した一連のぼやけ判定処理を終了する。つまり、画像内のいずれかのウィンドウ領域が合焦ウィンドウであると判定された時点で、図3のステップS10で入力したビットマップ画像が合焦画像であると判断することになる。こうすることで、画像内のいずれかのウィンドウ領域が合焦ウィンドウであれば、画像内のすべてのウィンドウ領域についてぼやけの有無を判定する必要がないため、ぼやけ判定処理に要する時間を高速化することができる。
これに対して、上記ステップS150においてウィンドウぼやけ判定処理を行ったウィンドウ領域が、ぼやけウィンドウであると判断された場合には(ステップS160:No)、CPU160は、続いて、現在の注目ウィンドウが、最終ウィンドウであるかを判断する(ステップS180)。この結果、現在の注目ウィンドウが、最終ウィンドウであると判断されれば(ステップS180:Yes)、どのウィンドウ領域も合焦ウィンドウではなかったと判断できるため、現在入力しているビットマップ画像はぼやけ画像であると判定して(ステップS190)、上述した一連のぼやけ判定処理を終了する。一方、現在の注目ウィンドウが最終ウィンドウでなければ(ステップS180:No)、CPU160は、上記ステップS100へ処理を戻し、次の位置のウィンドウについて、上述した種々の処理を繰り返し実行する。
かかる構成の画像処理装置は、ブロックごとのぼやけ幅を連結処理して、複数のブロック間に及ぶぼやけ幅を算出することができるので、ぼやけの幅が1つのブロックのサイズを超える場合においても、精度良く画像がぼやけているか否かを判断することができる。また、複数のブロックによって構成されるウィンドウ領域毎にぼやけの有無を判断することができるので、より人の感性に近い精度で画像にぼやけが生じているかを判断することが可能になる。このようなサイズのウィンドウ領域内が画像中のいずれかの箇所でぼやけていないと判断されれば、その領域に焦点が合っているものと判断することができるためである。
なお、本実施例では、注目ウィンドウは、ステップS100の処理が実行される度に、最初の移動先である最も左上に存在するウィンドウから右方向へウィンドウの幅分だけ移動し、画像の右端まで到達すると、左端に戻ると共にウィンドウの高さ分だけ下に移動し、再度、右方向へ移動する設定としたが、これに限られるものではなく、種々の方法が設定可能である。例えば、最初の移動先を画像の真ん中に位置するウィンドウとし、そこから同心円的に外周に移動していく設定としたり、最初の移動先を最も右下に存在するウィンドウとし、そこから左方向に移動し、画像の左端まで到達すると、右端に戻ると共に再度右方向へ移動する設定としたりできる。また、対象画像の種類、例えば、風景写真画像と肖像写真画像に応じて、別々の設定とすることも可能である。例えば、対象画像が肖像写真画像の場合には、上述の最初の移動先を画像の真ん中に位置するウィンドウとする設定とすれば、人物が存在する領域、すなわち、合焦しているウィンドウを含む領域は、画像の中央部付近にあることが多いため、合焦ウィンドウをより早く検出でき、ぼやけ判定処理を高速化できる。
また、本実施例では、注目ウィンドウは、順次移動していき、最終的には、画像全体に注目ウィンドウが及ぶものとしたが、これに限られるものではなく、画像の限られた領域のみを移動するものとしてもよい。例えば、肖像写真画像の場合は、上述の通り、合焦しているウィンドウを含む領域は、画像中央部付近にあることが多いため、画像の中央部のみを注目ウィンドウが移動するものとすれば、ぼやけ判定の精度を保ちつつ、処理を高速化できる。
また、本実施例では、注目ウィンドウの移動は、ウィンドウの幅または高さ分ずつ移動することとしたが、これに限られるものではなく、移動幅を大きく、例えば、ウィンドウの幅または高さの1.5倍の幅ずつ移動するものとしてもよい。こうすれば、ウィンドウぼやけ判定処理を行うウィンドウ数が少なくなり、ぼやけ判定処理を高速化できる。また、逆に、移動幅を小さく、例えば、数画素分ずつ移動するものとしたり、ウィンドウの幅または高さの半分ずつ移動するものとしたりしてもよい。こうすれば、本実施例のウィンドウを跨ぐような合焦領域が存在する場合についても正確にぼやけ判定を行うことができ、ぼやけ判定処理の精度を向上させることができる。
また、本実施例では、ぼやけ判定処理は、ブロックごとのぼやけ判定結果を集計して、ウィンドウ単位で行うものとしたが、ウィンドウをさらに小さなサブウィンドウに分割して、まず、サブウィンドウ単位でブロックごとのぼやけ判定結果を集計して、さらにその結果を集計して、ウィンドウ単位のぼやけ判定を行うこととしてもよい。こうすれば、ぼやけ判定処理に利用されるバッファをコンパクト化することができる。
あるいは、ぼやけ判定処理は、ブロックごとのぼやけ判定結果を集計して、画像単位で行うものとしてもよい。こうすれば、画像全体としてのぼやけの印象を判定することができる。
C−2.ブロックパターン算出
図6は、図4に示したぼやけ判定処理のステップS110で実行されるブロックパターン算出のフローチャートである。CPU160は、ブロックパターン算出部162を用いて、次の手順により、ブロックパターンの算出処理を実行する。
この処理が開始されると、CPU160は、ビットマップ画像データを、図5(a)で示したように、水平方向と垂直方向がそれぞれ8画素からなる計64画素で構成されるブロックに分割する(ステップS200)。
次に、CPU160は、ステップS200で分割したブロックごとに、ピットマップ画像データの各画素のRGB成分を輝度値に変換する(ステップS210)。上述の変換は、具体的には、次式(1)を用いて、RGB色空間の各階調値R,G,BからYCbCr色空間のY成分(輝度値)を算出する。
Y=0.299R+0.587G+0.114B・・・(1)
次に、CPU160は、ステップS210で変換した輝度値を用いて、ブロック内の水平方向、垂直方向の輝度値の変化を表す水平方向輝度パターン及び垂直方向輝度パターンを算出し(ステップS220)、さらに、これらを正規化して、水平方向正規化輝度パターン及び垂直方向正規化輝度パターンを算出し(ステップS230)、図4に示したぼやけ判定処理に戻る。
ステップS220,S230については、図7を用いて詳述する。図7は、ブロック内の各画素の輝度値から当該ブロック内の水平方向または垂直方向の輝度変化を表す正規化輝度パターンの算出方法を示す説明図である。図中に示すF11〜F88は、ステップS210で変換された、ブロック内の各画素の輝度値を表している。
ステップS220では、上述の通り、ステップS210で変換された輝度値を用いて、ブロック内の水平方向の輝度変化を表す水平方向輝度パターンと、ブロック内の垂直方向の輝度変化を垂直方向輝度パターンとを算出する。本実施例においては、ステップS200で分割されたブロックは、水平方向、垂直方向共に8画素で構成されるため、上述の輝度パターンは、水平方向、垂直方向共に8要素係数で構成される係数群となる。ブロック内の水平方向の輝度変化を表す水平方向輝度パターンFLm(mは1〜8の整数)は、ブロック内の水平方向のm列目に属する垂直方向の8画素の輝度値の平均値として算出される。例えば、図示するように、ブロック内の水平方向の1列目の画素の輝度パターンFL1は、この1列目に属する8画素の輝度値F11〜F81の平均値となる。同様に、ブロック内の垂直方向の輝度変化を表す垂直方向輝度パターンFVn(nは1〜8の整数)は、垂直方向のn行目に属する水平方向の8画素の輝度値の平均値として算出される。例えば、図示するように、垂直方向の2行目の画素の輝度パターンFV2は、この2行目に属する8画素の輝度値F21〜F28の平均値となる。すなわち、FLm、FVn(m,nは1〜8の整数)は、次式(2),(3)により算出される。
Figure 2008129912
Figure 2008129912
なお、本実施例では、水平方向輝度パターンFLm及び垂直方向輝度パターンFVnは、上式(2),(3)により算出するものとしたが、これに限られるものではない。例えば、ブロック内の水平方向の輝度変化を表す水平方向輝度パターンFLmは、水平方向のm列目に属する垂直方向の8画素の輝度値の和として与えるなど、対応する方向の画素の輝度値を相対的に表すことが可能な算出方法であればよい。
次に、ステップS230では、図7に図示するように、ステップS220で算出した8要素係数で構成される係数群である、水平方向輝度パターンFL1〜FL8、垂直方向輝度パターンFV1〜FV8をそれぞれ正規化する。これにより、同数の係数群である、水平方向正規化輝度パターン(本願の第1の係数群としての実施例)RL1〜RL8、垂直方向正規化輝度パターン(本願の第2の係数群としての実施例)RV1〜RV8を算出する。本実施例においては、上述の正規化は、次式(4),(5)の正規化関数によって、行うものとした。
Figure 2008129912
Figure 2008129912
このように正規化を行うことにより、各要素係数の値は異なるが、相対的な変化量は同じであるようなステップS220の複数の輝度パターンを、同一のパターンとして扱うことができるようになるため、後述する基本エッジパターンとのマッチングを効率化することができる。
なお、本実施例においては、数式(4),(5)に示した正規化関数を用いたが、これに限られるものではない。例えば、正規化輝度パターンの各要素係数の和が0となるような別の正規化関数や、各要素係数について絶対値を計算し、それらの絶対値の大きさの比に応じて、正規化後の各要素係数の合計が1となるような正規化関数を用いてもよい。
また、本実施例では、図4におけるステップS110のブロックパターン算出に要する処理時間と、ステップS120のエッジパターン照合及びステップS130のエッジ連結処理に要する処理時間のバランスを適正に保って、ぼやけ判定処理の高速化を図るために、図6のステップS200において、水平方向と垂直方向がそれぞれ8画素からなる計64画素で構成されるブロックに分割したが、これに限られるものではない。CPU160の性能や画像の画素数、印刷用紙のサイズ等に応じて、さらに小さいブロック、例えば水平方向と垂直方向がそれぞれ4画素からなる計16画素のブロックとしたり、さらに大きなブロック、例えば、水平方向と垂直方向がそれぞれ16画素からなる計256画素のブロックとしたりしてもよい。この場合、分割されたブロックの構成画素数に応じて、図7に示した各係数群の要素数も変わることとなる。
また、本実施例では、図6のステップS210において、RGB色空間の各階調値からYCbCrのY成分(輝度値)を算出して、この値を用いて、ステップS220で輝度パターンを算出したが、これに限られるものではない。例えば、RGB色空間のうち最も人間の眼の分光感度が高いG成分の階調値を用いたり、HSV色空間のV成分(明度)を用いたりしてもよい。なお、HSV色空間のV成分は、RGB色空間の各階調値の最大値として与えられる。
C−3.エッジパターン照合処理:
図8は、図4に示したぼやけ判定処理のステップS120で実行されるエッジパターン照合処理のフローチャートである。CPU160は、パターン照合部163を用いて、次の手順により、エッジパターン照合処理を実行する。
この処理が実行されると、まず、CPU160は、注目ブロックについて、ぼやけ判定処理のステップS110で算出した係数群である、水平方向正規化輝度パターンRL1〜RL8と垂直方向正規化輝度パターンRV1〜RV8とを取得する(ステップS300)。当該エッジパターン照合処理では、水平方向正規化輝度パターンRL1〜RL8と垂直方向正規化輝度パターンRV1〜RV8とについてそれぞれ同様の処理が実行されるため、以下では、これらを代表して、水平方向正規化輝度パターンRL1〜RL8に対する処理を説明する。
CPU160は、上記ステップS300によって、水平方向正規化輝度パターンRL1〜RL8を取得すると、この係数群の最大値と最小値の差De1を求め、これが所定の閾値Th1以上であるか否かを判断する(ステップS310)。水平方向正規化輝度パターンの最大値と最小値の差De1は、次式(6)によって求めることができる。
De1=MAX(RLm)−MIN(RLm)(mは1〜8の整数)・・・(6)
上記ステップS310において、係数群の最大値と最小値の差De1が所定の閾値Th1以上であると判断されれば(ステップS310:Yes)、そのブロックの水平方向には、なんらかの輝度変化があると判断できる。そこで、CPU160は、ROM180に記憶されたエッジパターンテーブル181を参照して(ステップS350)、水平方向正規化輝度パターンRL1〜RL8との平均誤差Eが所定の閾値Th2以下となる基本エッジパターンがあるか否かを判断する(ステップS360)。
なお、本実施例では、輝度変化の存在を判断するために、上式(5)による水平方向正規化輝度パターンRL1〜RL8の最大値と最小値の差De1を用いたが、これに限られるものではない。例えば、水平方向正規化輝度パターンRL1〜RL8の分散値など、ブロック内の輝度変化の大きさを判断できる他の指標値を用いてもよい。
ここで、エッジパターンテーブル181について説明する。図9は、エッジパターンテーブル181の一例を示す説明図である。このエッジパターンテーブル181には、「A1」から「A16」までのパターン番号(図の1列目)に対して16種類の基本エッジパターン(図の2列目)が対応付けて記録されている。基本エッジパターンの横軸はブロック内の係数の位置を表しており、縦軸は係数値を表している。つまり、基本エッジパターンは、水平方向正規化輝度パターンと同様に、8つの係数値からなるデータである。
これらの基本エッジパターンは、1ブロック内で傾きの符号が変化しない輝度変化の典型的な形状を、予め16種類に分類したものである。本実施例では、このように、基本エッジパターンを16種類に分類するものとするが、より多くのパターンに分類するものとしてもよい。
また、エッジパターンテーブル181には、基本エッジパターンに対応付けて左側エッジ幅LWと、中央エッジ幅MWと、右側エッジ幅RWという3種類のパラメータが記録されている。左側エッジ幅LWは、輝度パターンの左側に存在する平坦部の幅を表しており、右側エッジ幅RWは、輝度パターンの右側に存在する平坦部の幅を表している。また、中央エッジ幅MWは、左側エッジ幅LWと右側エッジ幅RWとに挟まれる勾配部分の幅を表している。
なお、図9には省略したが、このエッジパターンテーブル181には、「A1」から「A16」までの基本エッジパターンが定義されたパターンテーブルAに加え、図10(a)に示すように、これらパターンテーブルAに属する基本エッジパターンを左右反転させたエッジパターンがパターン番号B1〜B16に定義されたパターンテーブルB、上下反転させたエッジパターンがパターン番号C1〜C16に定義されたパターンテーブルC、上下および左右に反転させたエッジパターンがパターン番号D1〜D16に定義されたパターンテーブルDが定義されている。つまり、全体で、64種類の基本エッジパターンがこのエッジパターンテーブル181に定義されている。
ここで説明を図8に戻す。ステップS360において、水平方向正規化輝度パターンRL1〜RL8との平均誤差Eが所定の閾値Th2以下となる基本エッジパターンがあると判断されれば(ステップS360:Yes)、CPU160は、最も平均誤差Eが小さくなる基本エッジパターンに対応付けられたパターン番号を取得し、パターン番号バッファ171に保存する(ステップS370)。一方、所定の閾値Th2以下となる基本エッジパターンがないと判断されれば(ステップS360:No)、近似する基本エッジパターンが検索されなかったとして、パターン番号「不明」を取得し、パターン番号バッファ171に保存する(ステップS380)。
なお、本実施例では、水平方向正規化輝度パターンRL1〜RL8と、基本エッジパターンPm(mは1〜8までの整数)との平均誤差Eは、次式(7)を用いて算出するものとしたが、他の方法により誤差を算出してもよい。
Figure 2008129912
また、前記ステップS310において、係数群の最大値と最小値の差De1が所定の閾値Th1未満であると判断されれば(ステップS310:No)、そのブロック内の水平方向には、大きな輝度変化はないと判断できる。そこで、CPU160は、前ブロックが平坦ブロックであり、かつ、注目ブロックと前ブロックとの輝度差De2が所定の閾値Th3以上であるか否かを判断する(ステップS320)。この結果、前ブロックが平坦ブロックであり、かつ、注目ブロックと前ブロックとの輝度差De2が所定の閾値Th3以上であれば(ステップS320:Yes)、前ブロックと注目ブロックとの間に幅の短い輝度変化があると判断できることから、そこには幅1のエッジが存在するものとみなして、パターン番号「幅1」を取得し、パターン番号バッファ171に保存する(ステップS340)。
なお、本実施例においては、前ブロックと注目ブロックとの輝度差De2は、次式(8)により算出するものとしたが、これに限られるものではなく、前ブロックと注目ブロックの輝度差を反映できる方法であればよい。
Figure 2008129912
一方、前ブロックが平坦ブロックであり、かつ、注目ブロックと前ブロックとの輝度差De2が所定の閾値Th3以上でなければ、注目ブロック内に大きな輝度変化はなく、また、前ブロックとの間にも大きな輝度変化はないことから、この注目ブロックは平坦であると判断して、パターン番号「平坦」を取得し、パターン番号バッファ171に保存する(ステップS330)。以上の処理によって、注目ブロックのパターン番号が決定すると、上述した一連のエッジパターン照合処理は終了し、図4に示したぼやけ判定処理に戻る。
かかる構成のエッジパターン照合処理は、ブロック内の画素値の変化が小さいと判断される場合には、ステップS350ないしステップS370の基本エッジパターンの選出を省略できるため、エッジパターン照合処理を高速化することができる。
なお、本実施例においては、ステップS360において、水平方向正規化輝度パターンRL1〜RL8との平均誤差Eが所定の閾値Th2以下となる基本エッジパターンがあると判断されれば(ステップS360:Yes)、CPU160は、最も誤差が小さくなる基本エッジパターンに対応付けられたパターン番号を取得するものとしたが、このような態様に限られるものではない。例えば、エッジパターンテーブル181の各基本エッジパターンの並びの順に誤差を計算していき、所定の閾値Th2以下となる基本エッジパターンがあると判断されれば、その時点で、誤差計算処理を打ち切り、誤差が所定の閾値Th2以下となる基本エッジパターンに対応付けられたパターン番号を取得するものとしてもよい。このような態様とすれば、エッジパターン照合処理を高速化することができる。また、この場合、エッジパターンテーブル181の各基本エッジパターンの並びの順は、経験的に見いだされた存在しやすい形状の順に配列すれば、より効果的である。
また、ステップS360で、水平方向正規化輝度パターンRL1〜RL8との平均誤差Eが所定の閾値Th2以下となる基本エッジパターンがあるか否かを判断する場合において、CPU160は、水平方向正規化輝度パターンRL1〜RL8と、エッジパターンテーブル181に記憶された各々の基本エッジパターンとの誤差を計算する前に、まず、次式(9),(10)により求められるS1,S2を計算して、水平方向正規化輝度パターンRL1〜RL8が、上述のパターンテーブルA〜Dのいずれのパターンに該当するかを判断し、該当するパターンテーブルに含まれる16種類の基本エッジパターンについて、誤差計算を行うこととしてもよい。
S1=RL1+RL2+RL3+RL4−RL5−RL6−RL7−RL8・・・(9)
S2=RL1+RL2−RL3−RL4+RL5+RL6−RL7−RL8・・(10)
上式(9),(10)を用いれば、図10(b)に示すように、水平方向正規化輝度パターンRL1〜RL8から求められるS1,S2がともにプラスの値となる場合には、水平方向正規化輝度パターンRL1〜RL8は、パターンテーブルAのパターンに該当すると判断できる。同様に、S1,S2がともにマイナスの値となる場合にはパターンテーブルB、S1がマイナスでS2がプラスの値となる場合にはパターンテーブルC、S1がプラスでS2がマイナスの値となる場合にはパターンテーブルDのパターンに該当すると判断できる。
こうすれば、パターンテーブルA〜Dに含まれる64種類の基本エッジパターンについて、水平方向正規化輝度パターンRL1〜RL8との誤差計算を行う必要があるところを、パターンテーブルA〜Dのうちいずれかひとつのパターンテーブルに含まれる16種類の基本エッジパターンについて誤差計算を行えばよいことにでき、エッジパターン照合処理を高速化できる。
C−4.エッジ連結処理:
図11は、図4に示したぼやけ判定処理のステップS130で実行されるエッジ連結処理のフローチャートである。この処理は、上下左右に隣接したブロックに基づき、中央のブロック(注目ブロック)のぼやけ幅を決定するための処理である。かかる処理は、水平方向と垂直方向とについて行われるが、説明を簡単にするため、特記しない限り、水平方向に対して行われる処理の説明をする。CPU160は、エッジ連結部164を用いて、次の手順により、エッジ連結処理を実行する。
この処理が開始されると、まず、CPU160は、エッジ連結処理を行うべき注目ブロックをその連なりに沿って移動する(ステップS500)。最初の移動先は、注目ウィンドウの最も左上に存在するブロックである。注目ブロックは、ステップS500の処理が実行される度に、右方向へ移動し、注目ウィンドウの右端まで到達すると、左端に戻ると共にブロックの高さ分だけ下に移動し、再度、右方向へ移動する。
注目ブロックを移動すると、CPU160は、現在の注目ブロックのパターン番号をパターン番号バッファ171から取得する(ステップS510)。
次に、CPU160は、ステップS510で取得したパターン番号が、「幅1」であるかを判断する(ステップS520)。その結果、パターン番号が「幅1」であれば(ステップS520:Yes)、上記ステップS120のエッジパターン照合処理において、注目ブロックと、注目ブロックの前ブロックとの間に、幅1のエッジが存在するとみなされているため(図8のステップS340参照)、注目ブロックのぼやけ幅を「1」と確定する(ステップS530)。こうして確定したぼやけ幅を、以下では、「確定ぼやけ幅DW」というものとする。
上記ステップS520において、パターン番号が「幅1」ではないと判断されれば(ステップS520:No)、次に、CPU160は、パターン番号が「不明」または「平坦」であるかを判断する(ステップS540)。この判断の結果、パターン番号が「不明」または「平坦」であれば(ステップS540:Yes)、上記ステップS120のエッジパターン照合処理において、注目ブロックの水平方向の輝度変化が基本エッジパターンのいずれにも近似しないか、平坦であると判定されていることになる(図8のステップS330,S380参照)。本実施例では、基本エッジパターンのいずれにも近似しない場合も「平坦」として扱い、注目ブロックの確定ぼやけ幅DWを「0」と確定する(ステップS550)。
上記ステップS540において、パターン番号が「不明」または「平坦」ではないと判断されれば(ステップS540:No)、CPU160は、注目ブロックの右側(垂直方向のエッジ連結処理の場合には下側)に隣接するブロック(以下、「隣接ブロックという」)のパターン番号をパターン番号バッファ171から取得する(ステップS560)。そして、注目ブロックのパターン番号と、隣接ブロックのパターン番号とを対比して、これらのブロックの基本エッジパターンの傾き方向が一致するかを判断する(ステップS570)。
図12は、注目ブロックと隣接ブロックとで基本エッジパターンの傾き方向が一致する例を示す説明図である。図示した例では、両ブロックの傾きは、共に右下がりであるため、両者の傾き方向は一致しているといえる。注目ブロックと隣接ブロックの傾き方向が一致する組み合わせとしては、以下のようなパターン番号の組み合わせがある。つまり、CPU160は、注目ブロックのパターン番号と隣接ブロックのパターン番号の組み合わせが、以下に示す(1)から(8)のいずれかの組み合わせに含まれれば、これらの傾き方向が一致すると判断することができる。
注目ブロックNo. 隣接ブロックNo.
(1)A1〜A16 A1〜A16
(2)A1〜A16 D1〜D16
(3)B1〜B16 B1〜B16
(4)B1〜B16 C1〜C16
(5)C1〜C16 C1〜C16
(6)C1〜C16 B1〜B16
(7)D1〜D16 D1〜D16
(8)D1〜D16 A1〜A16
図13は、注目ブロックと隣接ブロックとで基本エッジパターンの傾き方向が一致しない例を示す説明図である。図示した例では、注目ブロックの傾きが右下がりであるのに対して、隣接ブロックの傾きが右上がりであることから、両者の傾きは一致していないと言える。両ブロックの傾き方向が一致しないパターン番号の組み合わせは、上述した(1)から(8)以外の組み合わせである。
上記ステップS570において、傾き方向が一致すると判断された場合には(ステップS570:Yes)、CPU160は、続いて、注目ブロックの右側エッジ幅RWと、隣接ブロックの左側エッジ幅LWの加算値が、所定の連結誤差閾値Th4以内であるかを判断する(ステップS580)。なお、この判断に先立ち、CPU160は、隣接ブロックのパターン番号から、エッジパターンテーブル181を参照して、その左側エッジ幅LWを取得するものとする。
図14は、注目ブロックの右側エッジ幅RWと隣接ブロックの左側エッジ幅LWの加算値と連結誤差閾値Th4との比較の様子を示す説明図である。図示するように、注目ブロックの基本エッジパターンの右側に存在する平坦部(右側エッジ幅RW)と、隣接ブロックの基本エッジパターンの左側に存在する平坦部(左側エッジ幅LW)との和が大きく、連結誤差閾値Th4を超えるような場合には、注目ブロックと隣接ブロックとでは勾配が連続せず、別々のぼやけ部分を形成していると判断することができる。そのため、上記ステップS580では、「No」と判定される。これに対して、上述した和が小さく、連結誤差閾値Th4以下となる場合には、注目ブロックのエッジパターンと隣接ブロックのエッジパターンとは連続した勾配であると考えることができるため、上記ステップS580では、「Yes」と判定される。
上記ステップS580において、注目ブロックの右側エッジ幅RWと、隣接ブロックの左側エッジ幅LWの加算値が、所定の連結誤差閾値Th4以内であると判定されれば(ステップS580:Yes)、CPU160は、これまで左側(垂直方向のエッジ連結処理にあっては、上側)のブロックに累積されている累積ぼやけ幅CWを横累積バッファ173(垂直方向のエッジ連結処理にあっては、縦累積バッファ172)から読み込む。そして、この累積ぼやけ幅CWに注目ブロックの左側エッジ幅LWと中央エッジ幅MWとを加算する処理を行う(ステップS590)。こうして新たな累積ぼやけ幅CWを求めると、CPU160は、新たな値を横累積バッファ173(垂直方向のエッジ連結処理にあっては縦累積バッファ172)に上書きして更新する。こうすることで、隣接ブロック同士でエッジパターンの傾きが一方向に連続していく場合には、各ブロックのぼやけ幅を順次累積していくことができる。なお、本実施例においては、上記ステップS590では、CPU160は、注目ブロックの確定ぼやけ幅DWを便宜的に「0」と確定する。つまり、ぼやけ幅を累積する場合には、その累積途中のブロックについては、一律に平坦なブロックであるとみなすのである。
図15は、上記ステップS590における累積ぼやけ幅CWの算出概念を示す説明図である。図示するように、上記ステップS590では、これまでの累積ぼやけ幅CWに対して、注目ブロックの左側エッジ幅LWと中央エッジ幅MWとを加算した値を、新たな累積ぼやけ幅CWとする。なお、かかる演算に先立ち、CPU160は、エッジパターンテーブル181を参照して、注目ブロックのパターン番号に対応する左側エッジ幅LWと中央エッジ幅MWとを取得するものとする。
上記ステップS570において、注目ブロックの傾き方向と隣接ブロックの傾き方向とが一致しないと判断された場合(ステップS570:No)、もしくは、上記ステップS580において、注目ブロックの右側エッジ幅RWと隣接ブロックの左側エッジ幅LWとの和が連結誤差閾値Th4を超えると判断された場合(ステップS580:No)には、CPU160は、横累積バッファ173(垂直方向のエッジ連結処理にあっては、縦累積バッファ172)から読み込んだ累積ぼやけ幅CWが「0」であるかを判断する(ステップS600)。この判断によって累積ぼやけ幅CWが「0」であると判断されれば(ステップS600:Yes)、注目ブロックはぼやけの生じる開始点であり、更に、上記ステップS570,S580における判定結果によれば、右側(垂直方向のエッジ連結処理にあっては、下側)の隣接ブロックともエッジパターンが連続しないことになるため、注目ブロックは、単独のエッジパターンを有すると判断することができる。従って、CPU160は、注目ブロックの中央エッジ幅MWを確定ぼやけ幅DWとして確定する(ステップS610)。なお、CPU160は、かかる処理に先立ち、エッジパターンテーブル181を参照して、注目ブロックのパターン番号に対応する中央エッジ幅MWを取得するものとする。
上記ステップS600において、累積ぼやけ幅CWが「0」ではないと判断されれば、注目ブロックは、右側(垂直方向のエッジ連結処理にあっては、下側)の隣接ブロックとは連続しないが、左側(垂直方向のエッジ連結処理にあっては、上側)の隣接ブロックとは連続することになる。つまり、注目ブロックは、ぼやけ部分の終端に該当することになる。そのため、CPU160は、横累積バッファ173(垂直方向のエッジ連結処理にあっては、縦累積バッファ172)から読み込んだ累積ぼやけ幅CWに注目ブロックの左側エッジ幅LWと中央エッジ幅MWとを加算し、この値を確定ぼやけ幅DWとして確定する(ステップS620)。なお、CPU160は、かかる処理に先立ち、エッジパターンテーブル181を参照して、注目ブロックのパターン番号に対応する左側エッジ幅LWと中央エッジ幅MWとを取得するものとする。
続いて、CPU160は、現在の注目ブロックが、注目ウィンドウ領域の最終ブロックであるかを判断する(ステップS630)。この結果、現在の注目ブロックが、最終ブロックであると判断されれば(ステップS630:Yes)、上述した一連のエッジ連結処理を終了し、図4に示したぼやけ判定処理に戻る。一方、現在の注目ブロックが最終ブロックでなければ(ステップS630:No)、CPU160は、上記ステップS500へ処理を戻し、次の位置のブロックについて、上述した種々の処理を繰り返し実行する。
かかる構成のエッジ連結処理は、基本エッジパターンに対応付けられたパターン番号と、基本エッジパターンに対応付けられたエッジ幅(LW、MW、RW)を用いて、エッジの連結を行うので、エッジパターン照合処理を高速化することができる。
C−5.ブロックぼやけ判定処理:
図16は、図4に示したぼやけ判定処理のステップS140で実行されるブロックぼやけ判定処理のフローチャートである。この処理は、上述したエッジ連結処理に引き続いて実行される処理であり、注目ブロックが合焦しているか否かを判定する処理である。CPU160は、ブロックぼやけ判定部165を用いて、次の手順により、ブロックぼやけ判定処理を実行する。
この処理が開始されると、まず、CPU160は、ブロックぼやけ判定処理を行うべき注目ブロックをその連なりに沿って移動する(ステップS700)。最初の移動先は、注目ウィンドウの最も左上に存在するブロックである。注目ブロックは、ステップS700の処理が実行される度に、右方向へ移動し、注目ウィンドウの右端まで到達すると、左端に戻ると共にブロックの高さ分だけ下に移動し、再度、右方向へ移動する。
次に、CPU160は、上記ステップS130のエッジ連結処理で確定された注目ブロックの水平および垂直方向の確定ぼやけ幅DWを取得し(ステップS710)、2つの確定ぼやけ幅DWのうち、大きい方の値を有する確定ぼやけ幅DWを、最大確定ぼやけ幅MDWとして決定する(ステップS720)。
最大確定ぼやけ幅MDWを決定すると、CPU160は、この最大確定ぼやけ幅MDWが「0」であるか否かを判断する(ステップS730)。その結果、最大確定ぼやけ幅MDWが「0」であれば(ステップS730:Yes)、水平方向、垂直方向共に大きな輝度変化がない(本実施例では、基本エッジパターンが不明なものや、ぼやけの途中に存在するブロックを含む)ということであり、CPU160は、注目ブロックは「平坦ブロック」であると判定する(ステップS740)。
上記ステップS730において、最大確定ぼやけ幅MDWが「0」でなければ(ステップS730:No)、CPU160は、最大確定ぼやけ幅MDWが所定のぼやけ幅閾値Th5(例えば、「16」)以下であるか否かを判定する(ステップS750)。かかる判定の結果、最大確定ぼやけ幅MDWがこの条件を満たせば(ステップS750:Yes)、注目ブロックは「合焦ブロック」であると判定する(ステップS770)。これに対して、最大確定ぼやけ幅MDWが所定のぼやけ幅閾値Th5よりも大きければ(ステップS750:No)、注目ブロックは「ぼやけブロック」であると判定する(ステップS760)。
以上の処理により、現在の注目ブロックが、「合焦ブロック」か「ぼやけブロック」か「平坦ブロック」かの判定が終了すると、続いて、CPU160は、現在の注目ブロックが、注目ウィンドウ領域の最終ブロックであるかを判断する(ステップS780)。この結果、現在の注目ブロックが、最終ブロックであると判断されれば(ステップS780:Yes)、上述した一連のブロックぼやけ判定処理を終了し、図4に示したぼやけ判定処理に戻る。一方、現在の注目ブロックが最終ブロックでなければ(ステップS780:No)、CPU160は、上記ステップS700へ処理を戻し、次の位置のブロックについて、上述した種々の処理を繰り返し実行する。
以上で説明したブロックぼやけ判定処理によれば、水平方向の確定ぼやけ幅DWと垂直方向の確定ぼやけ幅DWとのうち、その値が大きい方の確定ぼやけ幅DWを最大確定ぼやけ幅MDWとして決定し、この最大確定ぼやけ幅MDWが所定のぼやけ幅閾値Th5以上であれば、注目ブロックがぼやけていると判断する。よって、一方向で判断する場合と比べて、精度良くぼやけ判定を行うことができる。
C−6.ウィンドウぼやけ判定処理:
図17は、図4に示したぼやけ判定処理のステップS150で実行されるウィンドウぼやけ判定処理のフローチャートである。上述したブロックぼやけ判定処理がブロック毎にぼやけの有無を判定する処理であるのに対して、このウィンドウぼやけ判定処理は、ブロックぼやけ判定処理の結果に基づき、図5(b)に示したウィンドウ領域毎にぼやけの有無を判定する処理である。CPU160は、ウィンドウぼやけ判定部166を用いて、次の手順により、ウィンドウぼやけ判定処理を実行する。
この処理が実行されると、CPU160は、上記ステップ140のブロックぼやけ判定処理の判定結果を用いて、注目ウィンドウ内の全てのブロックについて、合焦ブロック数とぼやけブロック数を集計する(ステップS800)。
上記ステップS800によって、ブロック数を集計すると、CPU160は、次式(11)で示すように、合焦ブロック数Nfを、合焦ブロック数Nfとぼやけブロック数Nnの和で除して得られる合焦ブロック率Rfを計算し、この合焦ブロック率Rfが所定の合焦閾値Th6以上であるかを判断する(ステップS810)。
Rf=Nf/(Nf+Nn)・・・(11)
かかる判定の結果、合焦ブロックの総数が合焦閾値Th6以上であれば(ステップS810:Yes)、現在の注目ウィンドウを「合焦ウィンドウ」と判定し(ステップS830)、合焦密度閾値に満たなければ(ステップS810:No)、「ぼやけウィンドウ」と判定して、図4に示したぼやけ判定処理に戻る(ステップS820)。
なお、本実施例では、ウィンドウぼやけ判定に上式(10)で得られる合焦ブロック率Rfを用いたが、これに限られるものではない。例えば、合焦ブロック数が所定の閾値以上であるか否かで、ウィンドウぼやけ判定を行うなど、他の方法を用いてもよい。また、平坦ブロック数を加味した方法、例えば、平坦ブロック数が注目ウィンドウの総ブロック数に対して、所定の割合以上を占める場合は、合焦ブロック率Rfの値にかかわらず「ぼやけウィンドウ」として扱うなどの方法を用いてもよい。
以上、本発明の幾つかの実施例、変形例について説明したが、本発明はこうした実施例に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明の画像処理装置は、実施例に示したプリンタに限らず、デジタルスチルカメラ、カメラ付携帯電話、写真画像を拡大確認するためのフォトビューアなどに搭載することができる。もとより、コンピュータに搭載して、コンピュータのモニタで写真画像を取捨選択する場合にも採用可能である。また、ぼやけ検出方法、ぼやけ検出プログラム、またはプログラムを記録したコンピュータで読み取り可能な記録媒体等の形態でも実現することができる。
画像処理装置の実施例としてのプリンタ100の外観を示す説明図である。 プリンタ100の内部構成を示す説明図である。 プリンタ100のCPU160が実行する印刷処理のフローチャートである。 印刷処理で実行されるぼやけ判定処理のフローチャートである。 ブロックとウィンドウの概念を示す説明図である。 ぼやけ判定処理で実行されるブロックパターン算出のフローチャートである。 ブロック内の各画素の輝度値から当該ブロック内の水平方向または垂直方向の輝度変化を表す正規化輝度パターンの算出方法を示す説明図である。 ぼやけ判定処理で実行されるエッジパターン照合処理のフローチャートである。 エッジパターンテーブル181の一例を示す説明図である。 エッジパターンテーブル181のパターンテーブルを示す説明図である。 ぼやけ判定処理で実行されるエッジ連結処理のフローチャートである。 注目ブロックと隣接ブロックとで基本エッジパターンの傾き方向が一致する例を示す説明図である。 注目ブロックと隣接ブロックとで基本エッジパターンの傾き方向が一致しない例を示す説明図である。 注目ブロックの右側エッジ幅RWと隣接ブロックの左側エッジ幅LWの加算値と連結誤差閾値Th4との比較の様子を示す説明図である。 累積ぼやけ幅CWの算出概念を示す説明図である。 ぼやけ判定処理で実行されるブロックぼやけ判定処理のフローチャートである。 ぼやけ判定処理で実行されるウィンドウぼやけ判定処理のフローチャートである。
符号の説明
100…プリンタ
110…スキャナ
120…メモリカードスロット
130…USBインタフェース
140…操作パネル
145…液晶ディスプレイ
150…制御ユニット
160…CPU
161…画像データ入力部
162…ブロックパターン算出部
163…パターン照合部
164…エッジ連結部
165…ブロックぼやけ判定部
166…ウィンドウぼやけ判定部
170…RAM
171…パターン番号バッファ
172…縦累積バッファ
173…横累積バッファ
180…ROM
181…エッジパターンテーブル
210…キャリッジ
211…インクヘッド
212…インクカートリッジ
220…キャリッジモータ
230…モータ
260…駆動ベルト
270…プラテン
280…摺動軸
P…印刷用紙
MC…メモリカード

Claims (17)

  1. 画素の集合体として構成されたビットマップ画像のぼやけを検出する画像処理装置であって、
    前記画像を構成する画素毎に、画像データを入力する画像データ入力部と、
    前記画像の少なくとも一部を、所定の数の画素からなるブロックを単位として複数に分割し、該ブロック毎に該ブロックに属する画素の前記入力した画像データに基づいて、該画像データの前記ブロック内での所定方向の変化を表す複数の係数からなる係数群を算出するブロックパターン算出部と、
    前記ブロック内の画素の画像データの前記ブロック内における少なくとも一方向の代表的な変化を前記係数群によって表した複数種類のパターンを、基本パターンとして分類して記憶するパターン記憶部と、
    前記算出された係数群の変化のパターンを、前記記憶された複数の基本パターンと照合し、近似する基本パターンを選出するパターン照合部と、
    前記ブロックについて選出された前記各基本パターンの前記画像内における配置に基づいて、前記画像データが表す画像のぼやけを判定するぼやけ判定部と
    を備えた画像処理装置。
  2. 請求項1記載の画像処理装置であって、
    前記ぼやけ判定部は、
    前記基本パターンが選出されたブロックの、前記選出された基本パターンの係数群の各係数の変化が形成する第1の勾配と、該ブロックに隣接するブロックで選出された基本パターンの係数群の各係数の変化が形成する第2の勾配との連続性を検定する連続性検定手段と、
    前記連続性検出手段の検定結果により、前記各勾配が連続しない時には、前記基本パターンが選出されたブロックの前記勾配の幅を、前記ブロックのぼやけ度を表すぼやけ幅として検出し、前記各勾配が連続する時には、前記ブロックに分割された画像内における前記各ブロックの前記所定方向の連なりに沿って、前記各勾配が連続する範囲を前記ぼやけ幅として検出するぼやけ幅検出手段と、
    該検出されたぼやけ幅の長さに基づいて、前記画像データが表す画像のぼやけを判定するぼやけ判定手段と
    を備えた画像処理装置。
  3. 請求項2記載の画像処理装置であって、
    前記パターン記憶部は、前記基本パターンと、該各基本パターンにそれぞれ一意に割り振られたパターン番号とを対応付けて記憶する手段を備え、
    前記パターン照合部は、前記算出された係数群の変化形状に近似する基本パターンとして、前記パターン番号を前記パターン記憶部から選出する手段を備え、
    前記連続性検定手段は、前記選出されたパターン番号を参照して、前記第1の勾配と前記第2の勾配との連続性を検定する手段を備えた
    画像処理装置。
  4. 請求項3記載の画像処理装置であって、
    前記パターン記憶部は、更に、前記パターン番号に対応付けて、前記各基本パターンの前記勾配の幅を記憶する手段を備え、
    前記ぼやけ幅検出手段は、前記各勾配が連続しない時には、前記パターン番号が選出されたブロックの、前記パターン番号に対応付けられた前記勾配の幅を前記パターン記憶部から読み出して、前記ぼやけ幅を検出し、前記各勾配が連続する時には、前記ブロックに分割された画像内における前記各ブロックの前記所定方向の連なりに沿って、前記パターン番号に対応付けられた前記勾配の幅を前記パターン記憶部から読み出し、該勾配の幅の累積値として、前記ぼやけ幅を検出する手段を備えた
    画像処理装置。
  5. 請求項2ないし請求項4のいずれか記載の画像処理装置であって、
    前記ぼやけ判定手段は、
    前記検出されたぼやけ幅の長さに基づいて、前記ブロック毎にぼやけの状況を判定するブロックぼやけ判定手段と、
    該判定の結果を集計して、画像全体のぼやけ判定を行う画像ぼやけ判定手段と
    を備えた画像処理装置。
  6. 請求項2ないし請求項4のいずれか記載の画像処理装置であって、
    前記ぼやけ判定手段は、
    前記検出されたぼやけ幅の長さに基づいて、前記ブロック毎にぼやけの状況を判定するブロックぼやけ判定手段と、
    前記画像データ内の、所定数の前記ブロックで構成されるウィンドウ領域に含まれる全ブロックについて、前記ブロックぼやけ判定部に判定されたぼやけの状況を集計し、該集計結果に基づき、該ウィンドウ領域内がぼやけているか否かを判断するウィンドウぼやけ判定手段と、
    前記画像データ中において、前記ウィンドウ領域を移動させていった結果、少なくとも1カ所、ぼやけていないと判断された前記ウィンドウ領域が存在する場合に、前記画像データが表す画像全体がぼやけていないと判断する画像ぼやけ判定手段と
    を備えた画像処理装置。
  7. 請求項2ないし請求項6記載の画像処理装置であって、
    前記所定方向は、水平方向および垂直方向であり、
    前記ブロックパターン算出部は、前記係数群として、前記画像データの前記ブロック内での水平方向の変化を表す第1の係数群と、前記画像データの前記ブロック内での垂直方向の変化を表す第2の係数群とを算出する手段を備え、
    前記パターン照合部は、前記第1の係数群と前記第2の係数群とについて、それぞれ、前記近似する基本パターンを選出する手段を備え、
    前記ぼやけ検出手段は、水平方向および垂直方向についてそれぞれ、前記ぼやけ幅を検出する水平/垂直ぼやけ幅検出手段を備え、
    前記ぼやけ判定手段は、前記水平方向と垂直方向とについてそれぞれ算出された前記ぼやけ幅のうち、大きい方のぼやけ幅の長さに基づき、前記画像データが表す画像のぼやけを判定する水平/垂直ぼやけ判定手段を備えた
    画像処理装置。
  8. 請求項1ないし請求項7のいずれか記載の画像処理装置であって、
    前記パターン照合部は、前記算出された係数群が所定の分散の範囲内となるような条件を満たす時には、前記基本パターンの選出を行わない
    画像処理装置。
  9. 請求項1ないし請求項8のいずれか記載の画像処理装置であって、
    前記パターン照合部は、前記複数種類の基本パターンの中から、前記算出された係数群との平均誤差が最小となる基本パターンを前記パターン記憶部から選出する
    画像処理装置。
  10. 請求項1ないし請求項8のいずれか記載の画像処理装置であって、
    前記パターン照合部は、前記複数種類の基本エッジパターンと前記算出された係数群との平均誤差を該複数種類の基本パターンの並びの順に計算する誤差計算処理を実行し、該計算された誤差が所定の閾値以下となった場合には、前記誤差計算処理を打ち切ると共に、該誤差が所定の閾値以下となった基本パターンを前記パターン記憶部から選出する
    画像処理装置。
  11. 請求項1ないし請求項10のいずれか記載の画像処理装置であって、
    前記ブロックは、水平方向と垂直方向にそれぞれ8画素で構成される
    画像処理装置。
  12. 請求項1ないし請求項11のいずれか記載の画像処理装置であって、
    前記画像データは、RGB色空間の各階調値であり、
    前記係数群は、前記RGB色空間の各階調値から算出される画素ごとの輝度値または明度に基づいて算出される
    画像処理装置。
  13. 請求項1ないし請求項12のいずれか記載の画像処理装置であって、
    更に、前記ぼやけ判定部によってぼやけていないと判定された画像をユーザに提示する提示部を備える
    画像処理装置。
  14. 請求項13に記載の画像処理装置であって、
    更に、前記提示された画像の中からユーザによって選択された画像を印刷する印刷部を備える
    画像処理装置。
  15. 画素の集合体として構成されたビットマップ画像のぼやけを検出するぼやけ検出方法であって、
    前記画像を構成する画素毎に、画像データを入力し、
    前記画像の少なくとも一部を、所定の数の画素からなるブロックを単位として複数に分割し、該ブロック毎に該ブロックに属する画素の前記入力した画像データに基づいて、該画像データの前記ブロック内での所定方向の変化を表す複数の係数からなる係数群を算出し、
    前記ブロック内の画素の画像データの前記ブロック内における少なくとも一方向の代表的な変化を前記係数群によって表した複数種類のパターンを、基本パターンとして分類して記憶されたパターン記憶部と、前記算出された係数群の変化のパターンとを照合して、近似する基本パターンを選出し、
    前記ブロックについて選出された前記各基本パターンの前記画像内における配置に基づいて、前記画像データが表す画像のぼやけを判定する
    ぼやけ検出方法。
  16. 画素の集合体として構成されたビットマップ画像のぼやけを検出するためのコンピュータプログラムであって、
    前記画像を構成する画素毎に、画像データを入力する機能と、
    前記画像の少なくとも一部を、所定の数の画素からなるブロックを単位として複数に分割し、該ブロック毎に該ブロックに属する画素の前記入力した画像データに基づいて、該画像データの前記ブロック内での所定方向の変化を表す複数の係数からなる係数群を算出する機能と、
    前記ブロック内の画素の画像データの前記ブロック内における少なくとも一方向の代表的な変化を前記係数群によって表した複数種類のパターンを、基本パターンとして分類して記憶されたパターン記憶部と、前記算出された係数群の変化のパターンとを照合して、近似する基本パターンを選出する機能と、
    前記ブロックについて選出された前記各基本パターンの前記画像内における配置に基づいて、前記画像データが表す画像のぼやけを判定する機能と
    をコンピュータに実現させるコンピュータプログラム。
  17. 請求項16に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2006315433A 2006-11-22 2006-11-22 画像処理装置、ぼやけ検出方法、プログラム及び記録媒体 Pending JP2008129912A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006315433A JP2008129912A (ja) 2006-11-22 2006-11-22 画像処理装置、ぼやけ検出方法、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006315433A JP2008129912A (ja) 2006-11-22 2006-11-22 画像処理装置、ぼやけ検出方法、プログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2008129912A true JP2008129912A (ja) 2008-06-05

Family

ID=39555651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006315433A Pending JP2008129912A (ja) 2006-11-22 2006-11-22 画像処理装置、ぼやけ検出方法、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2008129912A (ja)

Similar Documents

Publication Publication Date Title
JP4193881B2 (ja) 画像処理装置およびぼやけ検出方法
CN102801897B (zh) 图像处理装置和图像处理方法
JP4182990B2 (ja) 印刷装置、画像がぼやけているか否かを決定する方法、およびコンピュータプログラム
US20080137982A1 (en) Blurring determination device, blurring determination method and printing apparatus
JP4539318B2 (ja) 画像情報の評価方法、画像情報の評価プログラム及び画像情報評価装置
US8908990B2 (en) Image processing apparatus, image processing method, and computer readable medium for correcting a luminance value of a pixel for reducing image fog
US7769245B2 (en) Image combining apparatus and control method for the same
JP4492555B2 (ja) 印刷装置
JP4844053B2 (ja) 画像選択装置および画像選択方法
US7924468B2 (en) Camera shake determination device, printing apparatus and camera shake determination method
JP4251217B2 (ja) 印刷装置、画像データファイル処理装置、画像データファイルの選択方法、およびコンピュータプログラム
JP4513764B2 (ja) 画像判定装置および画像判定方法
JP2008129912A (ja) 画像処理装置、ぼやけ検出方法、プログラム及び記録媒体
JP2005260597A (ja) デジタルカメラ、および、プログラム
JP2008165734A (ja) ぼやけ判定装置、ぼやけ判定方法および印刷装置
JP2010173323A (ja) 印刷装置
JP2008140331A (ja) 画像処理装置、ぼやけ検出方法、プログラム及び記録媒体
JP2009230556A (ja) オブジェクト検出装置、オブジェクト検出方法、オブジェクト検出プログラムおよび印刷装置
JP2007041836A (ja) 画像選択装置および画像選択方法
JP2007045022A (ja) 印刷装置および印刷方法
JP2009022017A (ja) 画像処理装置およびぼやけ検出方法
US8781166B2 (en) Image processing apparatus and image processing program
JP4910971B2 (ja) 手ぶれ判定装置、および、手ぶれ判定方法
JP2008123346A (ja) ぼやけ判定装置、ぼやけ判定方法および印刷装置
JP2011103128A (ja) 画像選択装置および画像選択方法