しかしながら、デジタル写真画像を撮像する際に、シャッタースピードの速い遅いや、ストロボONかOFFかなどの撮像条件によって、撮像して得た画像にぶれがおきやすい確率(ぶれやすさ)が異なる。デジタル写真画像に対して異なる方向毎にエッジを検出し、検出されたエッジの特徴量に基づいてボケの状態の判別を行う上記の方法において、これらの撮像条件を視野に入れず、全てのデジタル写真画像に対して同じエッジ検出条件(検出するエッジの強度や、エッジを検出する方向や数など)と同じ判別条件(ボケの有無や、ボケの方向、ボケの程度、ぶれの程度などを判別するための条件)を用いてエッジの検出や、ボケの判別を行うようにすると、精度が欠けるという問題がある。
また、携帯電話機付属のデジタルカメラの場合、機種によってぶれやすさ(撮像時にぶれる確率)や、ぶれやすい方向(例えば縦撮りの機種は上下にぶれやすく、横撮りの機種が斜め方向にぶれやすい)が異なり、これらの機種の特性を用いてデジタル写真画像の補正の効果を高めることが希望されている。
また、人物などの主要被写体をアップにして撮像して得た被写界深度の浅い画像は、主要被写体の部分の画像を除いて、他の部分の画像がボケている。このような画像に対してエッジを検出してエッジの特徴量に基づいてボケの判別を行う際に画像全体を用いると、主要被写体がボケていない画像でもボケ画像として判別される可能性が高く、結果的に良い補正結果を得ることができないという問題がある。
また、例えばデジタルカメラを用いて撮像を行う際に、被写体を撮像して得た画像データが一度圧縮されてから出力(記録媒体への記録またはネットワークを介しての送信)されるようになっている。デジタル写真画像の圧縮の強度の大小に関わらず同じ判別条件を適用すると、後に判別の結果に基づいてボケ補正を行った結果、圧縮の強度の大きい画像は、圧縮の強度の小さい画像に比べて圧縮に起因するノイズが元々多いため、補正後の画像にはノイズが目立ってしまうという問題がある。
本発明は、上記事情に鑑み、デジタル写真画像におけるエッジの特徴量を取得し、このエッジ特徴量に基づいてボケの判別を精度良く行うことができ、判別されたボケを補正して良い補正効果を得ることができる画像処理方法および装置並びにそのためのプログラムを提供することを目的とするものである。
本発明の画像処理方法は、デジタル写真画像に対して、所定のエッジ検出条件でエッジを検出し、
検出された前記エッジの特徴量を取得し、
該エッジ特徴量を用いて前記デジタル写真画像におけるボケの状態を所定の判別条件に基づいて判別する画像処理方法において、
前記デジタル写真画像の撮像条件を示す撮像条件情報を取得し、
該撮像条件情報に基づいて前記エッジ検出条件および/または前記判別条件を設定することを特徴とするものである。
また、前記検出は、複数の異なる方向毎に行われるものであり、前記エッジの特徴量は、各前記方向に対して取得されるものであり、前記ボケの状態は、少なくともボケ方向を含むものであることが好ましい。
本発明の画像処理方法において、前記判別の結果に基づいて前記ボケを補正するためのパラメータを設定し、該パラメータを用いて前記デジタル写真画像を補正することができる。
本発明の画像処理装置は、所定のエッジ検出条件でエッジを検出するエッジ検出手段と、
検出された前記エッジの特徴量を取得するエッジ特徴量取得手段と、
該エッジ特徴量を用いて前記デジタル写真画像におけるボケの状態を所定の判別条件に基づいて判別するボケ判別手段とを有する画像処理装置において、
前記デジタル写真画像の撮像条件を示す撮像条件情報を取得する撮像条件情報取得手段と、
該撮像条件情報に基づいて前記エッジ検出条件および/または前記判別条件を設定する条件設定手段とを備えたことを特徴とするものである。
また、前記検出手段は、複数の異なる方向毎に前記検出を行うものであり、
前記エッジ特徴量取得手段は、各前記方向に対して前記エッジ特徴量を取得するものであり、
前記ボケの状態は、少なくともボケ方向を含むものであることが好ましい。
本発明の画像処理装置は、前記ボケ判別手段による判別の結果に基づいて前記ボケを補正するためのパラメータを設定するパラメータ設定手段と、該パラメータを用いて前記デジタル写真画像を補正する補正手段とをさらに備えてもよい。
ここで、「エッジ特徴量」は、デジタル写真画像におけるエッジの広がりの態様と関係する特徴量を意味し、例えば、前記エッジの鮮鋭度、および前記エッジの鮮鋭度の分布を含むものとすることができる。
ここで、「エッジの鮮鋭度」は、エッジの鮮鋭さを現すことができるものであれば如何なるパラメータを用いてもよく、例えば、図3のエッジプロファイルにより示されるエッジの場合、エッジ幅が大きいほどエッジの鮮鋭度が低いように、エッジ幅をエッジの鮮鋭度として用いることは勿論、エッジの明度変化の鋭さ(図3におけるプロファイル曲線の勾配)が高いほどエッジの鮮鋭度が高いように、エッジのプロファイル曲線の勾配をエッジの鮮鋭度として用いるようにしてもよい。
また、「ボケ」は、無方向性のボケすなわちピンボケと、有方向性のボケすなわちぶれがあり、ぶれの場合は、ボケ方向がぶれ方向に相当し、ピンボケの場合において、その「ボケ方向」は「無方向」となる。本発明において、「無方向」もボケの方向とする。
また、「複数の異なる方向」とは、デジタル写真画像におけるボケの方向の特定を可能とするための方向を意味し、ボケの方向に近い方向を含むことが必要であるため、その数が多ければ多いほど特定の精度が高いが、処理速度との兼ね合いに応じた適宜な個数を用いることが好ましい。
また、「エッジ検出条件」は、前記エッジを検出する複数の方向は勿論、検出するエッジを規定するいかなる条件であってもよい。
デジタル写真画像におけるボケを補正するために、前記ボケの方向は重要な情報である。例えば、ボケ方向(無方向またはぶれの方向)が分かれば、補正用の前記パラメータを設定する際に、ピンボケの場合には等方性補正用の等方性補正パラメータを、ぶれの場合には方向性補正用の方向性補正パラメータを設定するようにすることができる。なお、「等方性補正」とは、各方向に対して同等に作用する補正を意味し、「方向性補正」とは、所定の方向にのみ作用する補正あるいは方向により作用が異なる補正を意味する。一方、ボケが、エッジの広がりとして画像に現れるため、ボケを補正する方法としては、従来公知の、画像の鮮鋭度を向上させるための補正方法、例えば、USM(アン・シャープネス・マスキング)などを用いることができる。前記補正のパラメータを設定する際に、所用の補正方法に応じてパラメータを設定する。例えば、補正の方法としてUSMを用いる場合に、等方性補正パラメータとして等方性補正マスクを設定し、方向性補正のパラメータとしては前記ぶれ方向に作用する方向性補正マスクを設定するようにすればよい。
本発明における前記「判別条件」は、少なくとも前記デジタル写真画像のボケ方向を判別するための条件であり、前記ボケの程度の大小や、ぶれの程度の大小などを判別するための条件が含まれてもよい。
本発明において、前記「撮像条件情報」とは、前記デジタル写真画像を撮像する際の条件のうち、前記ボケの判別、前記ボケを補正することと関係する条件を示す情報を意味し、例えば、前記デジタル写真画像を撮像した際に該デジタル写真画像に有方向性のボケとなるぶれをもたらす確率の大きさを示すぶれやすさおよび/または前記ぶれが起きやすい方向を示すぶれやすい方向情報を含むものとすることができ、この場合、前記条件設定手段は、該ぶれやすさおよび/または前記ぶれやすい方向情報に基づいて前記エッジ検出条件および/または前記判別条件を設定するものとなる。
ここで、前記撮像条件情報取得手段は、前記デジタル写真画像に付属されたタグ情報に基づいて前記ぶれやすさおよび/または前記ぶれやすい方向情報を取得するものとすることができる。
デジタル写真画像にはタグ情報が付属されているとき、このタグ情報には該デジタル写真画像を撮像した撮像条件を示す情報が含まれている場合が多い。これらの情報のうち、本発明における撮像条件情報の例として、シャッタースピード、ストロボのON/OFF、ISO感度、被写体の明るさを示すEV値、ズーム撮像か否かなどを挙げることができる。
例えば、シャッタースピードが遅いと手ぶれが生じやすいので、シャッタースピードの遅さを前記ぶれやすさとすることができる。すなわち、シャッタースピードが遅いほど、前記ぶれやすさが大きい。
また、ストロボONのときはシャッタースピードが遅くなるので、ストロボOFFの場合よりもストロボONの場合のぶれやすさが大きい。
同様に、ISO感度や、被写体の明るさ(EV値)も、シャッタースピードと関係するものであり、これらの条件に基づいてぶれやすさを取得することができる。例えば、ISO感度が低いとシャッタースピードが遅くなるので、ISO感度が低いほどぶれやすさが大きいように前記ぶれやすさを取得することができ、被写体の明るさが低い(EV値が小さい)とシャッタースピードが遅くなるので、EV値が小さい方ほどぶれやすさが大きいように前記ぶれやすさを取得することができる。
また、ズーム撮像の場合とズーム撮像ではない場合とにおいて、撮像者が撮像時に同じ程度の手ぶれをしても、ズーム撮像して得た画像の方にぶれの程度が大きい。すなわち、いわゆる撮像者の手ぶれのし易さではないが、画像中にぶれの生じ易さを画像のぶれやすさとし、ズーム撮像ではない画像より、ズーム撮像の画像のほうが大きいように取得することができる。
また、携帯電話機付属のデジタルカメラ(以下携帯カメラという)により取得されたデジタル写真画像の場合、前記タグ情報が付属されていないか、タグ情報に含まれている情報が少ないので、前記ぶれやすさおよび/または前記ぶれやすい方向情報を取得する際に、前記デジタル写真画像を撮像した前記携帯電話機の機種情報に基づいて取得すればよい。
例えば、携帯電話機の機種と、該機種の携帯電話機付属のデジタルカメラのぶれやすさとの対応関係をデータベースに予め設定しておき、デジタル写真画像を取得した携帯電話機(正確には該携帯電話機付属のデジタルカメラ)の機種情報(機種を示す情報)を取得し、前記データベースを参照することによってこのデジタル写真画像のぶれやすさを取得するようにすればよい。
また、携帯電話機の機種情報は、操作者によって手動で入力するようにしてもいが、携帯カメラで撮像した写真画像は、その携帯電話機から直接送信されることがほとんどである。この場合、その携帯電話機の電話番号から機種情報を取得するようにしてもよい。
また、携帯電話機の機種情報からぶれやすさを取得する以外に、携帯電話機の機種情報に基づいて撮像時にぶれが起きやすい方向を示すぶれやすい方向情報を取得することもできる。例えば、携帯電話機の機種と、該機種の携帯電話機を用いて撮像する(正確には携帯電話機付属のデジタルカメラを用いて撮像する)際に携帯電話機を縦にして撮像(縦撮り)するか横にして撮像(横撮り)するかの情報との対応関係を予めデータベースに設定しておき、デジタル写真画像を撮像した携帯電話機の機種情報に基づいてデータベースを参照して前述の縦撮りか横撮りかの情報を取得すると共に、縦撮りの場合には上下方向のぶれがおきやすく、横撮りの場合には前記上下方向と横方向との間の斜め方向にぶれが起きやすいことを利用して前記ぶれやすい方向情報を取得すればよい。
また、強度の低いエッジは、ノイズである可能性が高く、また人間は強度の高いエッジの状態によりボケを認識するので、本発明の画像処理装置において、前記エッジ検出手段は、所定の閾値以上の強度を有するエッジのみを検出するものであることが好ましく、この場合、前記エッジ検出条件が前記所定の閾値を含むものであり、前記条件設定手段が、前記ぶれやすさが大きいほど前記所定の閾値を小さく設定するものとすることができる。
さらに、前記エッジ検出条件が前記エッジ検出手段においてエッジを検出する前記複数の異なる方向および前記各方向に夫々対応する所定のエッジの強度の閾値を含むものであり、前記エッジ検出手段は、各前記方向毎に該方向に対応する前記所定の閾値以上の強度を有するエッジのみを検出するものであり、前記条件設定手段は、前記ぶれやすい方向に近い前記方向ほど該方向に対応する前記閾値を小さく設定するものであるが好ましい。
また、ボケ判別の取得に関連性が低いエッジや、ボケ情報の取得を困難にしたり、間違ったボケ判別をさせたりする可能性のあるエッジ(例えば、形状が複雑なエッジや、光源を含むエッジなど)を無効なエッジとして除去することが望ましく、本発明の画像処理装置において、前記エッジ検出条件が、前記エッジが無効なエッジか否かを判別するための無効エッジ判別受験を含むものであり、前記エッジ検出手段が、検出された前記エッジから、前記無効エッジ判別条件を満たすエッジを無効エッジとして除去する無効エッジ除去手段を備え、前記条件設定手段が、前記ぶれやすさが大きいほど、前記無効エッジ判別条件を厳しく設定するものであることが好ましい。
さらに、前記エッジ検出条件が、前記エッジ検出手段においてエッジを検出する前記複数の異なる方向および前記各方向に夫々対応する前記エッジが無効なエッジか否かを判別するための無効エッジ判別条件を含むものであり、前記エッジ検出手段が、各前記方向毎に検出された前記エッジから、該方向に対応する前記無効エッジ判別条件を満たすエッジを無効エッジとして除去するエッジ除去手段を備えたものであり、前記条件設定手段が、前記ぶれやすい方向に近い前記方向ほど該方向に対応する前記無効エッジ判別条件を厳しく設定するものであることが好ましい。
また、前記条件設定手段は、前記ぶれやすさが大きいほど前記エッジを検出する前記複数の異なる方向の数を増やすものであることが好ましい。
また、前記条件設定手段は、前記複数の異なる方向を設定する際に、前記ぶれやすい方向に近いほど前記方向の数を増やすものであることが好ましい。
本発明の画像処理装置は、前記ボケ判別手段が、前記ボケが有方向性のぶれである程度を示すぶれ度も判別するものであり、
前記判別条件が、前記ぶれ度を判別するためのぶれ度判別条件を含むものであり、
前記条件設定手段が、前記ぶれやすさが大きいほど前記ぶれ度判別条件を緩和に設定するものであることが好ましい。
本発明の画像処理装置は、前記ボケ判別手段が、前記ボケの程度の大小を示すボケ度も判別するものであり、
前記判別条件が、前記ボケ度を判別するためのボケ度判別条件を含むものであり、
前記条件設定手段が、前記ぶれやすさが大きいほど前記ボケ度判別条件を緩和に設定するものであることが好ましい。
本発明の画像処理装置は、前記パラメータ設定手段と前記補正手段が、前記ボケ度が所定の閾値以上の前記デジタル写真画像に対してのみ、前記パラメータの設定および前記補正を行うものであり、
前記条件設定手段が、前記ぶれやすさが大きいほど前記所定の閾値を小さく設定するものであることが好ましい。
本発明における前記撮像条件情報が、前記デジタル写真画像を撮像した撮像装置のレンズのF値を含むものとすることができ、この場合、前記エッジ検出条件が、前記デジタル写真画像においてエッジを検出する領域を示すエッジ検出領域情報を含むものであり、
前記エッジ検出手段が、前記領域においてのみ前記エッジの検出を行うものであり、
前記条件設定手段が、前記F値が所定の閾値以下である前記デジタル写真画像に対して、前記領域を該デジタル写真画像の中央部分に設定するものであることが好ましい。
デジタル写真画像のうち、人物をアップにして撮像して得たものなど被写界深度の浅い画像があり、このような被写界深度の浅い画像において、主要被写体さえボケていなければよく、主要被写体以外の部分がほとんどボケているため、画像全体においてエッジを検出してボケの判別を行うと、主要被写体がボケていない画像もボケた画像として誤判別される。そのため、被写界深度の浅い画像の場合には、前記エッジを検出する領域として前記主要被写体の部分を用い、この部分の画像からエッジを検出してボケの判別することが好ましい。写真画像において、主要被写体が中央部分に位置することが多いため、被写界深度の浅い画像に対して、エッジを検出する領域を画像の中央部分に設定することができる。また、デジタル写真画像を撮像した撮像装置のF値が、該デジタル写真画像の被写界深度を示すものとすることができるため、ここでは、所定の閾値(例えば5.6)以下のF値のデジタル写真画像を被写界深度の浅い画像として判別すればよい。
また、同じく被写体深度の視点から、ズーム撮像の画像の被写体深度はズーム撮像ではない画像の被写体深度より浅いため、ズーム撮像か否かを撮像条件として取得した場合には、ズーム撮像の画像に対して、エッジを検出する領域を画像の中央部分に設定するようにすることが好ましい。
また、本発明において、「撮像」とは、シャッターが押下されてから、画像データが出力(内部メモリやメモリカードなどの記録媒体への記録または通信手段でネットワークを介しての送信など)されるまでの処理を意味し、出力する際の圧縮処理を含むものであり、「撮像条件」は、デジタル写真画像が出力される際の圧縮の強度(圧縮強度)を含むものである。例えば、デジタルカメラの場合、撮像する前の撮像条件の設定として、圧縮強度に関する設定として、「fine」、「normal」、「economy」が設定できる機種があり、これらの設定は夫々圧縮強度が「小」、「普通」、「大」に対応するものである。また、圧縮強度の設定ができない機種でも、その機種においては圧縮強度が一意に設定されている。本発明の画像処理装置は、このような圧縮強度もデジタル写真画像の撮像条件として取得し、前記ボケ判別手段が、前記ボケの程度の大小を示すボケ度も判別するものであり、
前記判別条件が、前記ボケ度を判別するためのボケ度判別条件を含むものであり、
前記条件設定手段が、前記圧縮強度が大きいほど前記ボケ度判別条件を厳しく設定するものであることが好ましい。
本発明の画像処理装置は、前記ボケ判別手段による判別の結果に基づいて前記ボケを補正するためのパラメータを設定するパラメータ設定手段と、
該パラメータを用いて前記デジタル写真画像を補正する補正手段とを備え、
前記ボケ判別手段が、前記ボケの程度の大小を示すボケ度も判別するものであり、
前記パラメータ設定手段と前記補正手段が、前記ボケ度が所定の閾値以上の前記デジタル写真画像に対してのみ、前記パラメータの設定および前記補正を行うものであり、
前記条件設定手段が、該所定の閾値も設定するものであり、前記圧縮強度が大きいほど該所定の閾値を大きく設定するようにするものであってもよい。
また、本発明の画像処理方法を、コンピュータに実行させるプログラムとして提供するようにしてもよい。
本発明の画像処理方法および装置によれば、デジタル写真画像から該デジタル写真画像におけるボケの状態の判別を行う際に、デジタル写真画像を撮像した際の撮像条件情報を取得し、該撮像条件情報がデジタル画像のぶれやすさや、ぶれやすい方向などを反映することを利用して撮像条件情報に基づいてボケを判別するためのエッジ検出の条件や、通常画像かボケ画像かを判別するための条件や、ぶれの判別を行うための条件などを調整するようにすることによって、判別の精度を高めることができる。
また、撮像条件情報により反映される画像の被写界深度に基づいて、被写界深度の浅い画像に対して主要被写体領域である可能性の高い中央部分をエッジを検出する領域に限定することによって、被写界深度の浅い画像の場合においてもボケの判別の精度を高めることができる。
携帯電話機付属のデジタルカメラにより取得された携帯電話機の機種情報を取得し、該機種情報に基づいて画像のぶれやすさや、画像におけるぶれの生じやすい方向を得ると共に、ぶれやすさが高い画像ほどエッジを検出する方向を増やしたり、ぶれやすい方向に近いほどエッジを検出する方向を増やしたりするなどしてエッジ検出条件を調整することによって、ボケの判別の精度を上げることができる。
そのため、判別の結果に基づいてボケを補正するためのパラメータを設定して補正する際に、ボケの判別の精度が良いので、良い補正効果を得ることができる。
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本発明の画像処理方法および装置並びにそのためのプログラムの第1の実施形態となる画像処理システムAの構成を示すブロック図である。図1に示す画像処理システムAは、デジタルカメラにより取得した写真画像(以下略して単に画像という)を記録した記録媒体1から画像を読み出して画像処理を行うものであり、記録媒体1には多数の画像からなる画像群が記録されているが、ここでは、この画像群のうちの1つの画像Dを例にして説明を行う。
図示のように、本実施形態の画像処理システムAは、記録媒体1から読み出された画像Dに対してエッジ検出条件と判別条件を設定して後述するエッジ検出手段12aと解析手段20aに夫々送信する条件設定手段100aと、画像Dに対して縮小処理を行って画像Dの縮小画像D0を得る縮小手段10aと、縮小画像D0および画像Dを用いて、条件設定手段100aにより設定されたエッジ検出条件に含まれる複数の異なる方向毎にエッジを検出するエッジ検出手段12aと、エッジ検出手段12aにより得られたエッジの特徴量Sを取得するエッジ特徴量取得手段16aと、エッジ特徴量Sを用いて、画像Dにおけるボケ方向および画像Dのボケ度Nを算出して画像Dがボケ画像か通常画像かを判別し、通常画像の場合には、後述する出力手段60aに画像Dが通常画像であることを示す情報Pを送信して処理を終了する一方、ボケ画像の場合には、さらに画像Dのぶれ度K、ボケ幅Lを算出して、ボケ度Nと共にボケ情報Qとして後述するパラメータ設定手段30aに送信する解析手段20aと、解析手段20aからのボケ情報Qに基づいてボケ画像となる画像Dを補正するためのパラメータEを複数(E0、E1、E2、・・・)設定するパラメータ設定手段30aと、パラメータE0、E1、E2、・・・を用いて画像Dに対して補正を行って、各パラメータに対応する補正済み画像D’0、D’1、D’2、・・・を得る補正手段40aと、各々の補正済み画像D’0、D’1、D’2、・・・から目的画像D’を決定して出力手段60aに出力する決定手段45aと、解析手段20aおよびパラメータ設定手段30aのための種々のデータベースを記憶した記憶手段50aと、解析手段20aから画像Dが通常画像であることを示す情報Pを受信した場合には画像Dを出力する一方、決定手段45aから目的画像D’を受信した場合には目的画像D’を出力する出力手段60aとを有してなる。なお、エッジ検出手段12aには、無効なエッジを除去するエッジ絞込手段14aが備えられている。
図9は、図1に示す実施形態の画像処理システムAにおける条件設定手段100aの構成を示すブロック図である。図示のように、条件設定手段100aは、エッジ検出手段12a用のエッジ検出条件のデフォルト条件および解析手段用の判別条件のデフォルト条件を記憶したデフォルト条件データベースDB150aと、画像Dに付属されたタグ情報を読み取るタグ情報読取手段110aと、タグ情報読取手段110aにより得られたタグ情報中の撮像条件情報に基づいてDB150aに記憶されたデフォルト条件を調整することによってエッジ検出条件および判別条件を設定して夫々エッジ検出手段12aと解析手段20aに送信する条件設定手段120aとを有してなる。なお、画像Dにタグ情報がない、またはエッジ検出条件、判別条件を設定するための撮像条件情報が画像Dのタグ情報に含まれていない場合には、条件調整手段120aは、デフォルト条件を送信する。
条件設定手段100aの各構成の詳細について後に説明することにし、ここでは、まず、デフォルト条件(デフォルトのエッジ検出条件およびデフォルトの判別条件)を例にして、画像処理システムAにおける条件設定手段100aを除いた他の構成の詳細について説明する。
本実施形態において、エッジ検出条件は、エッジを検出する領域、エッジを検出する方向、エッジ強度の閾値、および無効エッジ判別条件を含むものであり、デフォルトのエッジ検出条件としては、上記夫々に対応して、画像全体、図2における実線で示す8方向、閾値T1、複雑度の閾値(例えば4)となる。エッジ検出手段12aは、まず、縮小画像D0に対して、図2における実線で示すような8方向毎に、閾値T1以上の強度を有するエッジのみを検出し、これらのエッジの座標位置を得る。次にエッジ検出手段12aは、検出された各方向毎の各々のエッジの座標位置に基づいて、画像Dを用いてこれらのエッジに対して、図3に示すようなエッジプロファイルを作成する。
エッジ検出手段12aにおけるエッジ絞込手段14aは、上記において取得されたエッジのプロファイルに基づいて、複雑なプロファイル形状を有するエッジを除去して、残りのエッジのプロファイルをエッジ特徴量取得手段16aに出力する。具体的には、検出されたエッジのプロファイルにおいて、ピークを呈する位置の数を取得し(図4に示す例の場合においては、この数が黒丸が示す6つとなる)、エッジ数が1つである場合には複雑度が1、エッジ数が2つである場合には複雑度が2、・・・のようにこの数を複雑度として、複雑度が4以上のエッジを無効エッジとして除去する。
エッジ特徴量取得手段16aは、エッジ絞込手段14aから出力されてきたエッジのプロファイルに基づいて、図3に示すようなエッジ幅を各エッジに対して求め、図6に示すようなエッジ幅のヒストグラムを図2に示された8つの方向毎に作成してエッジ幅と共にエッジ特徴量Sとして解析手段20aに出力する。
解析手段20aは、主として下記の2つの処理を行う。
1. 画像Dにおけるボケ方向、画像Dのボケ度Nを求めて、画像Dがボケ画像か通常画像かを判別する。
2. 画像Dがボケ画像と判別された場合、ボケ幅L、ぶれ度Kを算出する。
ここで、1つ目の処理から説明する。
解析手段20aは、画像Dにおけるボケ方向を求めるために、まず、図2における実線で示す8つの方向のエッジ幅のヒストグラム(以下略してヒストグラムという)に対して、互いに直交する2つの方向を1方向組として各方向組(1−5、2−6、3−7、4−8)のヒストグラムの相関値を求める。なお、相関値は求め方によって様々な種類があり、相関値が大きければ相関が小さい種類と、相関値の大小と相関の大小とが一致する、すなわち相関値が小さければ相関が小さい種類との2種類に大きく分けることができる。本実施形態において、例として、相関値の大小と相関の大小とが一致する種類の相関値を用いる。図6に示すように、画像中にぶれがある場合には、ぶれ方向のヒストグラムと、ぶれ方向と直交する方向のヒストグラムとの相関が小さい(図6(a)参照)のに対して、ぶれと関係ない直交する方向組または画像中にぶれがない(ボケがないまたはピンボケ)場合の直交する方向組では、そのヒストグラムの相関が大きい(図6(b)参照)。本実施形態の画像処理システムAにおける解析手段20aは、このような傾向に着目し、4つの方向組に対して、各組のヒストグラムの相関値を求め、相関が最も小さい方向組の2つの方向を見付け出す。画像Dにぶれがあれば、この2つの方向のうちの1つは、図2における実線で示す8つの方向のうち、最もぶれ方向に近い方向として考えることができる。
図6(c)は、ぶれ、ピンボケ、ボケ(ピンボケおよびぶれ)なしの撮像条件で同じ被写体を撮像して得た夫々の画像に対して求められた、このぶれの方向におけるエッジ幅のヒストグラムを示している。図6(c)からわかるように、ボケのない通常画像は、最も小さい平均エッジ幅を有し、すなわち、上記において見付け出された2つの方向のうち、平均エッジ幅が大きい方は、最もぶれに近い方向のはずである。
解析手段20aは、こうして、相関が最も小さい方向組を見付け、この方向組の2つの方向のうち、平均エッジ幅の大きい方をボケ方向とする。
次に、解析手段20aは、画像Dのボケ度Nを求める。画像のボケ度は、画像中のボケの程度の大小を示すものであり、例えば、画像中に最もぼけている方向(ここでは上記において求められたボケ方向)の平均エッジ幅を用いてもよいが、ここでは、ボケ方向における各々のエッジのエッジ幅を用いて図7に基づいたデータベースを利用してより精度良く求める。図7は、学習用の通常画像データベースとボケ(ピンボケおよびぶれ)画像データベースを元に、画像中の最もぼけている方向(通常画像の場合には、この方向に対応する方向が望ましいが、任意の方向であってもよい)のエッジ幅分布のヒストグラムを作成し、ボケ画像における頻度と通常画像における頻度(図示縦軸)の比率を評価値(図示スコア)としてエッジ幅毎に求めて得たものである。図7に基づいて、エッジ幅とスコアとを対応付けてなるデータベース(以下スコアデータベースという)が作成され、記憶手段50aに記憶されている。
解析手段20aは、図7に基づいて作成され、記憶手段50aに記憶されたスコアデータベースを参照し、画像Dのボケ方向の各エッジに対して、そのエッジ幅からスコアを取得し、ボケ方向の全てのエッジのスコアの平均値を画像Dのボケ度Nとして求める。求められた画像Dのボケ度Nが、条件設定手段100aのDB150aにデフォルトの判別条件の1つとなる閾値T2より小さければ、解析手段20aは、画像Dを通常画像として判別すると共に、画像Dが通常画像であることを示す情報Pを出力手段60aに出力することをもって、処理を終了する。
一方、画像Dのボケ度Nが閾値T2以上であれば、解析手段20aは、画像Dがボケ画像であると判別すると共に、上記2つ目の処理に入る。
解析手段20aは、2つ目の処理として、まず、画像Dのぶれ度Kを求める。
ボケ画像のボケにおけるぶれの程度の大小を示すぶれ度Kは、下記のような要素に基づいて求めることができる。
1.相関が最も小さい方向組(以下相関最小組)の相関値:この相関値が小さいほどぶれの程度が大きい
解析手段20aは、この点に着目して、図8(a)に示す曲線に基づいて、相関最小組の相関値に対応する第1のぶれ度K1を求める。なお、図8(a)における閾値T3a、T3bのデフォルト値も、デフォルトの判別条件として条件設定手段100aのDB150aに記憶されている。
2.相関最小組の2つの方向のうち、平均エッジ幅が大きい方向の平均エッジ幅:この平均エッジ幅が大きいほどぶれの程度が大きい
解析手段20aは、この点に着目して、図8(b)に示す曲線に基づいて、相関最小組の平均エッジ幅が大きい方向の平均エッジ幅に対応する第2のぶれ度K2を求める。なお、図8(b)における閾値T4a、T4bのデフォルト値も、デフォルトの判別条件として条件設定手段100aのDB150aに記憶されている
3.相関最小組の2つの方向における夫々の平均エッジ幅の差:この差が大きいほどぶれの程度が大きい
解析手段20aは、この点に着目して、図8(c)に示す曲線に基づいて、相関最小組の2つの方向における夫々の平均エッジ幅の差に対応する第3のぶれ度K3を求める。なお、図8(c)における閾値T5a、T5bのデフォルト値も、デフォルトの判別条件として条件設定手段100aのDB150aに記憶されている。
解析手段20aは、このようにして第1のぶれ度K1、第2のぶれ度K2、第3のぶれ度K3を求めると共に、下記の式(1)に従って、K1、K2、K3を用いてボケ画像となるボケ画像Dのぶれ度Kを求める。
K=K1×K2×K3 (1)
但し、K:ぶれ度
K1:第1のぶれ度
K2:第2のぶれ度
K3:第3のぶれ度
次に、解析手段20aは、ボケ画像となる画像Dのボケ幅Lを求める。ここで、ぶれ度Kに関係なく、ボケ幅Lとしてボケ方向におけるエッジの平均幅を求めるようにしてもよいし、図2における実線で示す8つの方向のすべてにおけるエッジの平均エッジ幅を求めてボケ幅Lとする。
解析手段20aは、ボケ画像である画像Dに対して求められたぶれ度K、ボケ幅Lを、ボケ方向、ボケ度Nと共にボケ情報Qとしてパラメータ設定手段30aに出力する。
本実施形態の画像処理システムAは、アン・シャープネス・マスキング(USM)補正方法で画像Dに対する補正を施すものであり、パラメータ設定手段30aは、ボケ幅Lとボケ方向に応じて、ボケ幅Lが大きいほど補正マスクのサイズが大きくなるように、ボケ方向に作用する方向性補正用の1次元補正マスクM1を設定すると共に、ボケ幅Lに応じて、ボケ幅Lが大きいほど補正マスクのサイズが大きくなるように等方性補正用の2次元補正マスクM2を設定する。なお、各ボケ幅に対応する2次元補正マスク、および各ボケ幅とボケ方向に対応する1次元補正マスクはデータベース(マスクデータベースという)として記憶手段50aに記憶されており、パラメータ設定手段30aは、記憶手段50aに記憶されたマスクデータベースから、ボケ幅Lとボケ方向に基づいて1次元補正マスクM1を、ボケ幅Lに基づいて2次元補正マスクM2を取得し、下記の式(2)に従って、方向性補正用の1次元補正パラメータW1および等方性補正用の2次元補正パラメータW2を設定する。
W1=N×K×M1
W2=N×(1−K)×M2 (2)
但し、W1:1次元補正パラメータ
W2:2次元補正パラメータ
N:ボケ度
K:ぶれ度
M1:1次元補正マスク
M2:2次元補正マスク
即ち、パラメータ設定手段30aは、ボケ度Nが大きいほど等方性補正の強度と方向性補正の強度が強く、ぶれ度Kが大きいほど方向性補正の重みが大きくなるように補正パラメータW1とW2(合わせてパラメータE0とする)を設定する。
ここで、パラメータ設定手段30aは、設定されたパラメータE0に対して、さらにボケ度N、ぶれ度Kおよび補正マスクM1、M2を夫々調整して、調整されたボケ度N、ぶれ度K、補正マスクM1、M2を用いて式(2)に従って補正パラメータE0と異なる複数の補正パラメータE1、E2、・・・を求める。
パラメータ設定手段30aは、こうして求められた補正パラメータE(E0、E1、E2、・・・)を補正手段40aに出力する。
補正手段40aは、パラメータE0、E1、E2、・・・を画像Dに夫々適用して補正を施し、各補正パラメータに夫々対応する補正済み画像D’0、D’1、D’2、・・・を得る。
決定手段45aは、補正手段40aにより得られた各々の補正済み画像を表示する図示しない表示手段と、表示された各々の補正済み画像からユーザ所望の補正済み画像を選択させるための図示しない入力手段とを備え、補正済み画像D’0、D’1、D’2、・・・からユーザにより選択された画像を目的画像D’として決定して出力手段60aに出力する。
出力手段60aは、解析手段20aから画像Dが通常画像であることを示す情報Pを受信した場合には画像Dを出力する一方、決定手段45aから目的画像D’を受信した場合には目的画像D’を出力するものである。本実施形態において、出力手段60aによる「出力」は印刷であり、出力手段60aは、通常画像の画像Dおよびボケ画像の画像Dを補正して得た目的画像D’を印刷してプリントを得るものであるが、記録媒体に記憶したり、ネットワーク上における画像保管サーバや、画像の補正を依頼した依頼者により指定されたネットワーク上のアドレスなどに送信したりするなどのものであってもよい。
ここで、図9に示す条件設定手段100aの説明に戻る。上述したように、本実施形態の画像処理システムAにおいて、エッジ検出手段12a(エッジ絞込手段14aを含む)用のエッジ検出条件は、エッジを検出する領域、エッジを検出する方向、エッジ強度の閾値T1、および無効エッジ判別条件となる複雑度の閾値であり、解析手段20a用の判別条件は、画像Dがボケ画像か通常画像かを判別するための画像Dのボケ度Nの閾値T2と、画像Dのぶれ度Kを算出するための、相関最小組の相関値の閾値T3a、T3b、相関最小組の平均エッジ幅が大きい方向の平均エッジ幅の閾値T4a、T4b、および相関最小組の2つの方向における夫々の平均エッジ幅の差の閾値T5a、T5bとを有する。これらのエッジ検出条件および判別条件のデフォルト値が条件設定手段100aのDB150aに記憶されており、条件調整手段120aは、画像Dにタグ情報がない、またはエッジ検出条件、判別条件を設定するための撮像条件情報が画像Dのタグ情報に含まれていない場合には、各々の条件のデフォルト値を設定するが、画像Dにタグ情報が付属され、このタグ情報にエッジ検出条件、判別条件を設定するための撮像条件情報が含まれている場合には、撮像条件情報に基づいて各々のエッジ検出条件、判別条件のデフォルト値を調整する。ここで、タグ情報として、レンズのF値、シャッタースピード、ストロボON/OFFを示す情報、ISO感度、EV値、ズーム撮像であるか否か、圧縮率を取得された場合を例にして、条件調整手段120aの動作を説明する。
条件設定手段120aは、レンズのF値が所定の閾値(例えば5.6)以下である場合と、ズーム撮像である場合とのいずれの場合(この場合、画像Dが被写界深度の浅い画像となる)においても、エッジを検出する領域を画像D全体から、画像Dの中心を中心とし、かつ画像Dの60%となる中央部分に調整する一方、他の場合(ズーム撮像ではなく、かつF値が5.6より大きい場合)においては、エッジを検出する領域をデフォルトの画像D全体にする。なお、エッジ検出手段12aは、条件設定手段120aにより設定された領域においてエッジの検出を行う。
また、条件設定手段120aは、シャッタースピードが所定の閾値以下の場合、ストロボONの場合、ISO感度が所定の閾値以下の場合、EV値が所定の閾値以下の場合、ズーム撮像である場合において、画像を撮像する際に手ぶれ生じやすい(ズーム撮像の場合は画像中にぶれが現れ易い)ことに基づいて、これらの場合において画像Dのぶれやすさを大として、エッジ検出手段12aによりエッジを検出する方向を、図2における実線で示す8方向を元に点線により示す方向を増やして得た16方向をエッジ検出手段12aに出力する。エッジ検出手段12aは、条件設定手段120aからの方向毎にエッジの検出を行い、その後のエッジ特徴量を取得する処理や、解析手段20aにより処理も、この16方向のエッジに対して行う。
また、これらの場合において、無効エッジ判別条件を厳しくすべく、条件設定手段120aは、無効エッジ判別条件となる複雑度の閾値を、デフォルトの4から3に調整してエッジ検出手段12aに出力する。エッジ検出手段12aに備えられたエッジ絞込手段14aは、この無効エッジ判別条件に従って、複雑度3以上のエッジを無効なエッジとして除去する。
解析手段20a用の判別条件の調整として、条件設定手段120aは、ぶれやすさが大であるとされた画像Dに対して、通常画像かボケ画像かを判別するためのボケ度Nの閾値T2をデフォルト値より小さくなるように設定すると共に、ぶれ度Kを求めるための各閾値T3a、T3b、T4a、T4b、T5a、T5bを夫々のデフォルト値より小さくなるように設定する。さらに、条件設定手段120aは、ぶれやすさに応じて設定されたボケ度Nの閾値を、画像Dの圧縮率により示される圧縮強度が大きいほど大きくなるように調整する。
このように設定されたエッジ検出条件と判別条件は夫々エッジ検出手段12aと解析手段20aに出力され、エッジ検出手段12aと解析手段20aは、出力されてきたエッジ検出条件と判別条件を用いて夫々の処理を行う。
図10は、本実施形態の画像処理システムAの動作を示すフローチャートである。図示のように、記録媒体1から読み出された画像Dに対して、まず、条件設定手段100aによりエッジ検出条件と判別条件が設定される(S10)と共に、縮小手段10aにより縮小処理が施されて縮小画像D0となる(S11)。エッジ検出手段12aは、まず、縮小画像D0に対して、ステップS10において設定されたエッジ検出条件に含まれる複数の異なる方向毎に、閾値T1以上の強度を有するエッジのみを検出し、これらのエッジの座標位置を得る。次にエッジ検出手段12aは、検出された各方向毎の各々のエッジの座標位置に基づいて、画像Dを用いてこれらのエッジに対して、図3に示すようなエッジプロファイルを作成する(S12)。エッジ検出手段12aに備えられたエッジ絞込手段14aは、ステップS10に設定されたエッジ検出条件に含まれる無効エッジ判別条件であるエッジの複雑度の閾値に基づいて、無効なエッジを除去して残りのエッジのプロファイルをエッジ特徴量取得手段に出力する(S14)。エッジ特徴量取得手段16aは、エッジ絞込手段14aから送信された各々のエッジのプロファイルに基づいて各エッジの幅を求めると共に、各方向毎にエッジ幅のヒストグラムを作成して、各エッジの幅および各方向のエッジ幅のヒストグラムを画像Dのエッジ特徴量Sとして解析手段20aに出力する(S16)。解析手段20aは、エッジ特徴量Sを用いて、まず画像Dのボケ方向およびボケ度Nを算出すると共に、ステップS10において設定された判別条件に含まれる通常画像かボケ画像かを判別するためのボケ度Nの閾値T2に基づいて画像Dがボケ画像であるか通常画像であるかを判別する(S20、S25)。画像Dが通常画像であれば(S25:Yes)、解析手段20aは、画像Dが通常画像であることを示す情報Pを出力手段60aに出力し(S30)、出力手段60aは、情報Pを受信すると、画像Dを印刷してプリントを得る(S35)。
一方、ステップS25において、画像Dがボケ画像に判別されると(S25:No)、解析手段20aは、ステップS10において設定された判別条件に含まれる相関最小組の相関値の閾値T3a、T3b、相関最小組の平均エッジ幅が大きい方向の平均エッジ幅の閾値T4a、T4b、および相関最小組の2つの方向における夫々の平均エッジ幅の差の閾値T5a、T5bに基づいて画像Dのぶれ度K、ボケ幅Lをさらに算出し、ステップS20において求められたボケ度Nおよびボケ方向と共にボケ情報Qとしてパラメータ設定手段30aに出力する(S40、S45)。パラメータ設定手段30aは、解析手段20aからのボケ情報Qに基づいて、1次元補正パラメータW1と2次元補正パラメータW2を求める。求められた1対の補正パラメータW1、W2を補正パラメータE0とし、ボケ度N、ぶれ度K、補正マスクM1、M2のマスクサイズなどを調整してさらに複数の補正パラメータE1、E2、・・・を取得して、補正手段40aに出力する(S50)。
補正手段40aは、補正パラメータE0、E1、E2、・・・を画像Dに夫々適用して補正を施し、各補正パラメータに夫々対応する補正済み画像D’0、D’1、D’2、・・・を得る(S55)。
決定手段45aは、補正手段40aにより得られた各々の補正済み画像を図示しない表示手段に表示させ、図示しない入力手段を介して、ユーザが選択された補正済み画像を目的画像D’として決定して出力手段60aに出力する(S60)。
出力手段60aは、決定手段45aからの目的画像D’を印刷してプリントを得る(S70)。
このように、本実施形態の画像処理システムAによれば、デジタル写真画像のボケの補正を効率良く行うためにデジタル写真画像に対してボケを判別してボケ情報を取得し、取得したボケ情報に基づいて補正用のパラメータを設定して補正する際に、デジタル写真画像を撮像した際の撮像条件情報を取得し、該撮像条件情報により反映される画像Dのぶれやすさ(画像Dにおいてぶれがある確率の大きさ)に基づいてボケを判別するためのエッジ検出の条件や、通常画像かボケ画像かを判別するための条件や、ぶれの程度の大小を示すぶれ度を算出するための条件などを調整するようにすることによって、判別の精度を高めることができ、結果的には補正の効果を良くすることができる。
また、撮像条件情報により反映される画像の被写界深度に基づいて、被写界深度の浅い画像に対して主要被写体領域である可能性の高い中央部分をエッジを検出する領域に限定することによって、被写界深度の浅い画像の場合においてもボケの判別の精度を高めることができる。
さらに、画像の圧縮率により示される圧縮強度が大きいほど、この画像が通常画像かボケ画像を判別するための閾値を大きくするようにすることによって、圧縮強度の大きい画像に対して補正を行った後にノイズが目立ってしまうことを防ぐことができる。
図11は、本発明の第2の実施形態となる画像処理システムBの構成を示すブロック図である。なお、本実施形態の画像処理システムBにおいて、画像Dは、携帯電話機付属のデジタルカメラにより撮像して得たものである。図示のように、本実施形態の画像処理システムBは、記録媒体1から読み出された画像Dに対してエッジ検出条件を設定して後述するエッジ検出手段12bに送信する条件設定手段100bと、画像Dに対して縮小処理を行って画像Dの縮小画像D0を得る縮小手段10bと、縮小画像D0および画像Dを用いて、条件設定手段100bにより設定されたエッジ検出条件に含まれる複数の異なる方向毎にエッジを検出するエッジ検出手段12bと、エッジ検出手段12bにより得られたエッジの特徴量Sを取得するエッジ特徴量取得手段16bと、エッジ特徴量Sを用いて、画像Dにおけるボケ方向および画像Dのボケ度Nを算出して画像Dがボケ画像か通常画像かを判別し、通常画像の場合には、後述する出力手段60bに画像Dが通常画像であることを示す情報Pを送信して処理を終了する一方、ボケ画像の場合には、さらに画像Dのぶれ度K、ボケ幅Lを算出して、ボケ方向、ボケ度Nと共にボケ情報Qとして後述するパラメータ設定手段30bに送信する解析手段20bと、解析手段20bからのボケ情報Qに基づいてボケ画像となる画像Dを補正するためのパラメータEを複数(E0、E1、E2、・・・)設定するパラメータ設定手段30bと、パラメータE0、E1、E2、・・・を用いて画像Dに対して補正を行って、各パラメータに対応する補正済み画像D’0、D’1、D’2、・・・を得る補正手段40bと、各々の補正済み画像D’0、D’1、D’2、・・・から目的画像D’を決定して出力手段60bに出力する決定手段45bと、解析手段20bおよびパラメータ設定手段30bのための種々のデータベースを記憶した記憶手段50bと、解析手段20bから画像Dが通常画像であることを示す情報Pを受信した場合には画像Dを出力する一方、決定手段45bから目的画像D’を受信した場合には目的画像D’を出力する出力手段60bとを有してなる。なお、エッジ検出手段12bには、無効なエッジを除去するエッジ絞込手段14bが備えられている。
図12は、図11に示す実施形態の画像処理システムBにおける条件設定手段100bの構成を示すブロック図である。図示のように、条件設定手段100bは、各々の携帯電話機の機種とそのぶれやすさとの対応関係を示す情報を記憶した機種DB160bと、エッジ検出手段12b用のエッジ検出条件のデフォルト条件を記憶したデフォルト条件データベースDB150bと、画像Dを撮像した携帯電話機の機種を示す情報を取得する機種情報取得手段110bと、画像Dの機種情報に基づいて機種DBを参照して画像Dを撮像した携帯電話機のぶれやすい方向をぶれやすい方向情報として取得すると共に、このぶれやすい方向情報に基づいてDB150bに記憶されたデフォルト条件を調整することによってエッジ検出条件を設定してエッジ検出手段12bに送信する条件設定手段120bとを有してなる。なお、画像Dを撮像した携帯電話機の機種情報を取得できない場合には、条件調整手段120bは、デフォルトのエッジ検出条件を設定する。
条件設定手段100bの各構成の詳細について後に説明することにし、ここでは、まず、デフォルトのエッジ検出条件を例にして、画像処理システムBにおける条件設定手段100bを除いた他の構成の詳細について説明する。
本実施形態において、エッジ検出条件は、エッジを検出する方向、各方向に対応するエッジ強度の閾値、および各方向に対応する無効エッジ判別条件を含むものであり、デフォルトのエッジ検出条件としては、上記夫々に対応して、図13における実線で示す8方向、8方向に対して同様な閾値t1、8方向に対して同様な複雑度の閾値(例えば4)となる。エッジ検出手段12bは、まず、縮小画像D0に対して、図13における実線で示すような8方向毎に、閾値t1以上の強度を有するエッジのみを検出し、これらのエッジの座標位置を得る。次にエッジ検出手段12bは、検出された各方向毎の各々のエッジの座標位置に基づいて、画像Dを用いてこれらのエッジに対して、図3に示すようなエッジプロファイルを作成する。
エッジ検出手段12bにおけるエッジ絞込手段14bは、上記において取得されたエッジのプロファイルに基づいて、複雑なプロファイル形状を有するエッジを除去して、残りのエッジのプロファイルをエッジ特徴量取得手段16bに出力する。具体的には、検出されたエッジのプロファイルにおいて、ピークを呈する位置の数を取得し(図4に示す例の場合においては、この数が黒丸が示す7つとなる)、エッジ数が1つである場合には複雑度が1、エッジ数が2つである場合には複雑度が2、・・・のようにこの数を複雑度として、複雑度が4以上のエッジを無効エッジとして除去する。
エッジ特徴量取得手段16bは、エッジ絞込手段14bから出力されてきたエッジのプロファイルに基づいて、図3に示すようなエッジ幅を各エッジに対して求め、図6に示すようなエッジ幅のヒストグラムを図13に示された実線の8つの方向毎に作成してエッジ幅と共にエッジ特徴量Sとして解析手段20bに出力する。
解析手段20bの基本動作は、図1に示す画像処理システムにおける解析手段20aと同様であるが、通常画像かボケ画像かを判別するためのボケ度Nの閾値T2や、ぶれ度Kを求めるための各々の閾値(図8に示す閾値T3a、T3b、T4a、T4b、T5a、T5b)は条件設定手段100bにより設定されることがなく、記憶部50bに記憶された固定値を用いる。
パラメータ設定手段30b、補正手段40b、決定手段45b、出力手段60bは、図1に示す実施形態の画像処理システムAの相対応する構成と同様な作用を有するので、ここでの詳細な説明を省略する。
図12に示す条件設定手段100bの説明に戻る。上述したように、本実施形態の画像処理システムBにおいて、エッジ検出手段12b(エッジ絞込手段14bを含む)用のエッジ検出条件は、エッジを検出する方向、各方向に対応するエッジ強度の閾値t1、および無効エッジ判別条件となる複雑度の閾値であり、これらのエッジ検出条件のデフォルト値が条件設定手段100bのDB150bに記憶されており、条件調整手段120bは、画像Dを撮像した携帯電話機の機種情報が取得できない場合には、各々の条件のデフォルト値を設定するが、機種情報が取得できた場合には、機種情報に基づいて機種DB160bから画像Dのぶれやすい方向を示すぶれやすい方向情報を取得し、このぶれやすい方向情報に基づいて各々のエッジ検出条件のデフォルト値を調整する。
本実施形態において、機種DB160bには、ぶれやすい方向情報として、縦撮りの機種の場合は上下方向(図13に示す方向1)、横撮りの機種の場合は斜め方向(図13に示す方向7)は、携帯電話機の機種と対応して記憶されている。
機種情報取得手段110bは、画像Dの付属情報などから画像Dを撮像した携帯電話機の機種情報を取得するものであってもよいし、ユーザに手動入力させるための入力手段であってもよい。
条件設定手段120bは、機種情報取得手段110により取得された画像Dを撮像した携帯電話機の機種に基づいて、画像Dにおいて、ぶれが生じやすい方向が前述の上下方向か斜め方向かのぶれやすい方向情報を取得し、ぶれやすい方向に近いほど、エッジを検出する方向を増やすようにエッジを検出する方向を設定する。具体的には、例えば、画像Dにおいてぶれが生じやすい方向は斜めの方向7である場合には、エッジを検出する方向として、図13における実線で示す8方向以外に、方向7を挟む2つの夫々の方向(方向6、方向8)との間に夫々1つの方向(点線により示される方向7a、7b)を増やす。また。後のボケの判別のために、増やした方向と直交する方向(方向7aに対して方向3a、方向7bに対して方向3b)も追加する。
また、エッジを検出する方向以外に、エッジ検出条件として、各方向に対応するエッジ強度の閾値t1、無効エッジ判別条件となる複雑度の閾値も調整する。具体的には、ぶれやすい方向に近い方向(ぶれやすい方向が方向7である場合には、図13に示す方向6、7a、7b、8)に対してエッジ強度の閾値t1を下げると共に、これらの方向の複雑度の閾値も下げるようにする。
このように設定されたエッジ検出条件はエッジ検出手段12bに出力され、エッジ検出手段12bは、出力されてきたエッジ検出条件用いてエッジの検出を行う。
図14は、本実施形態の画像処理システムBの動作を示すフローチャートである。図示のように、携帯電話機付属のデジタルカメラにより取得された画像Dに対して、まず、条件設定手段100bによりエッジ検出条件が設定される(S110)と共に、縮小手段10bにより縮小処理が施されて縮小画像D0となる(S111)。エッジ検出手段12bは、まず、縮小画像D0に対して、ステップS110において設定されたエッジ検出条件に含まれる複数の異なる方向毎に閾値t1以上の強度以上のエッジを検出する。次にエッジ検出手段12bは、検出された各方向毎の各々のエッジの座標位置に基づいて、画像Dを用いてこれらのエッジに対して、図3に示すようなエッジプロファイルを作成する(S112)。エッジ検出手段12bに備えられたエッジエッジ絞込手段14bは、ステップS110に設定されたエッジ検出条件に含まれる無効エッジ判別条件であるエッジの複雑度の閾値に基づいて、無効なエッジを除去して残りのエッジのプロファイルをエッジ特徴量取得手段に出力する(S114)。エッジ特徴量取得手段16bは、エッジ絞込手段14bから送信された各々のエッジのプロファイルに基づいて各エッジの幅を求めると共に、各方向毎にエッジ幅のヒストグラムを作成して、各エッジの幅および各方向のエッジ幅のヒストグラムを画像Dのエッジ特徴量Sとして解析手段20bに出力する(S116)。解析手段20bは、エッジ特徴量Sを用いて、まず画像Dのボケ方向およびボケ度Nを算出すると共に、画像Dがボケ画像であるか通常画像であるかを判別する(S120、S125)。画像Dが通常画像であれば(S125:Yes)、解析手段20bは、画像Dが通常画像であることを示す情報Pを出力手段60bに出力し(S130)、出力手段60bは、情報Pを受信すると、画像Dを印刷してプリントを得る(S135)。
一方、ステップS125において、画像Dがボケ画像に判別されると(S125:No)、解析手段20bは、画像Dのぶれ度K、ボケ幅Lをさらに算出し、ステップS120において求められたボケ度Nおよびボケ方向と共にボケ情報Qとしてパラメータ設定手段30bに出力する(S140、S145)。パラメータ設定手段30bは、解析手段20bからのボケ情報Qに基づいて、1次元補正パラメータW1と2次元補正パラメータW2を求める。求められた1対の補正パラメータW1、W2を補正パラメータE0とし、ボケ度N、ぶれ度K、補正マスクM、M2のマスクサイズなどを調整してさらに複数の補正パラメータE1、E2、・・・を取得して、補正手段40bに出力する(S150)。
補正手段40bは、補正パラメータE0、E1、E2、・・・を画像Dに夫々適用して補正を施し、各補正パラメータに夫々対応する補正済み画像D’0、D’1、D’2、・・・を得る(S155)。
決定手段45bは、補正手段40bにより得られた各々の補正済み画像を図示しない表示手段に表示させ、図示しない入力手段を介して、ユーザが選択された補正済み画像を目的画像D’として決定して出力手段60bに出力する(S160)。
出力手段60bは、決定手段45bからの目的画像D’を印刷してプリントを得る(S170)。
このように、本実施形態の画像処理システムBによれば、携帯電話機付属のデジタルカメラにより取得されたデジタル写真画像のボケの補正を効率良く行うためにデジタル写真画像に対してボケを判別してボケ情報を取得し、取得したボケ情報に基づいて補正用のパラメータを設定して補正する際に、デジタル写真画像を撮像した携帯電話機の機種情報を取得し、該機種情報に基づいて画像におけるぶれの生じやすい方向を得ると共に、このぶれやすい方向に近いほどエッジを検出する方向を増やすなどしてエッジ検出条件を調整することによって、ぼけの判別の精度を上げ、補正の効果を高めることができる。
以上、本発明の望ましい実施形態について説明したが、本発明の画像処理方法および装置並びにそのためのプログラムは、上述した実施形態に限られることがなく、本発明の主旨を逸脱しない限り、様々な増減、変化を加えることができる。
例えば、上述した実施形態の画像処理システムにおいて、デジタル写真画像に対して複数の異なる方向毎にエッジを検出して各方向におけるエッジの特徴量を取得し、このエッジの特徴量に基づいて画像中のボケ方向を含むボケの状態を判別するようにしているが、本発明の画像処理方法は、必ずしも複数の異なる方向毎にエッジを検出してボケ方向を判別する必要がない。例えば、デジタル写真画像に対して所定の閾値以上の強度を有するエッジを方向に関係なく検出し、検出されたエッジのエッジ幅の平均値をエッジ特徴量とし、このエッジ特徴量に基づいて画像中のボケの程度を判別するようにしてデジタル写真画像のボケの状態(ボケ情報)を判別するようにしてもよい。この場合、検出するエッジの強度の閾値などのエッジ検出条件や、ボケの状態を判別するための条件などを撮影条件情報に基づいて設定するようにすることによって、より正確にデジタル写真画像中のボケ情報を取得することができる。後にボケを補正する際に、ボケの程度に応じた補正用フィルタのサイズなどの補正パラメータを設定するようにすれば、良い補正効果を得ることができる。
また、例えば、図2に示す画像処理システムBにおいて、条件設定手段100bは、エッジ検出条件のみを調整するようにしているが、画像を撮像した携帯電話機の機種情報に基づいてぶれやすさも取得し、該ぶれやすさに基づいてエッジ検出条件のみならず、解析手段20b用の判別条件も調整するようにしてもよい。
また、上述した実施形態の画像処理システムにおいて、パラメータ設定手段は複数の補正パラメータを設定し、補正手段は、これらの複数の補正パラメータを用いて補正を施して複数の補正済み画像を得、決定手段は、ユーザが複数の補正済み画像から選択した補正済み画像を目的画像として決定するようにしているが、補正制御手段と確認手段とを設け、パラメータ設定手段においてまず1つのみの補正パラメータを設定し、補正手段も一度には1つの補正済み画像のみを得、確信手段は、補正済み画像をユーザに確認させ、補正制御手段は、ユーザによる確認の結果が該補正済み画像を目的画像とすることになるまでパラメータ設定手段による補正パラメータを設定し直す処理と、補正手段による、設定し直された補正パラメータを用いて補正を行って補正済み画像を得る処理、確認手段による確認を繰り返させるようにして目的画像を決定するようにしてもよい。さらに、補正済み画像をユーザに確認させ、ユーザが気に入らなければ補正をキャンセルする、すなわち補正しないようにすることができるようにしてもよい。
また、上述の実施形態の画像処理システムは、相関最小組の2つの方向のうち、平均エッジ幅が大きい方向をボケ方向としているが、例えば、相関最小組(相関値が1番目に小さい方向組)と、相関値が2番目に小さい方向組について、夫々ぶれ度を算出し、方向組の2つの方向のうち、平均エッジ幅が大きい方向をボケ方向とするようにして2つの方向組からボケ候補方向を夫々取得し、取得された2つのボケ候補方向を、算出された2つのぶれ度に応じて、ぶれ度が大きい方向組ほど、該方向組に含まれるボケ候補方向の重みが大きくなるように重み付けしてボケ方向を得るようにしてもよい。この場合、ボケ幅も、2つのボケ候補方向における夫々の平均エッジ幅を、ぶれ度が大きい方向組ほど、該方向組に含まれるボケ候補方向の平均エッジ幅の重みが大きくなるように重み付けしてボケ幅を得ることができる。
また、上述の実施形態の画像処理システムは、画像中のボケの有無に関わらず相関最小組の2つの方向のうち、平均エッジ幅が大きい方向をボケ方向にし、該ボケ方向に基づいてさらにボケ度を算出して、ボケ度に基づいて通常画像とボケ画像の判別を行い、ボケ画像として判別された画像に対してさらにぶれ度を求めるようにして補正パラメータの設定を行うようにしているが、例えば、相関最小組の相関値が所定の閾値Ta以上であれば、該画像におけるボケが「無方向」とし(即ち、画像が通常画像かピンボケ画像である)、ボケ方向が「無方向」である画像に対して、ボケ度を求め、ボケ度が所定の閾値Tbより小さい画像を通常画像として判別して補正しないようにする一方、ボケ度が閾値Tb以上の画像をピンボケ画像として判別して等方性補正用のパラメータのみを求めて補正を行うと共に、相関最小組の相関値がTaより小さい画像をぶれ画像として、相関最小組の平均エッジ幅の大きい方向をぶれ幅とするようにしてもよい。また、ぶれ画像に対して補正パラメータを設定する際に、ぶれ方向に作用する方向性補正パラメータのみを補正パラメータとして設定するようにしてもよいし、ぶれ度をさらに求め、ぶれ度に応じて等方性補正パラメータと方向性補正パラメータとを重み付け合算するようにして補正パラメータを設定するようにしてもよい。
また、上述の本実施形態の画像処理システムは、処理の効率を良くするために、デジタル写真画像が通常画像かボケ画像かを判別し、ボケ画像として判別された画像に対してのみぶれ度、ぶれ幅を算出してパラメータの設定や、補正を行うようにしているが、通常画像とボケ画像の判別をせず、全ての処理対象の画像に対して、ボケ度、ボケ幅、ぶれ度をボケ情報として算出し、ボケ情報に基づいてパラメータを設定して補正を行うようにしてもよい。通常画像のボケ度が小さいため、ボケ度に応じて設定された通常画像の補正パラメータは微小な補正を行う補正パラメータまたは補正しないパラメータとなり、ピンボケ画像のぶれ度が小さいため、ぶれ度に応じて等方性補正パラメータと方向性パラメータとを重み付け合算して補正パラメータを得る際に、方向性補正パラメータの重みが小さい乃至ゼロとなる。
また、上述した実施形態において、解析手段は、図8に基づいて、前述した3つの要素に基づいてぶれ度を求めるようにしているが、ぶれ度を求める要素については増減があってもよい。例えば、前述した3つの要素のうちの2つのみを用いてもよく、要素を増やして、例えば相関最小組と、相関最小組と最も大きくずれた(図2における実線で示す方向組の場合、45度ずれた)方向組との相関値の差も視野に入れてぶれ度を求めるようにしてもよい。
さらに、条件設定手段としては、図8に示す各閾値を調整するのではなく、例えば、ぶれやすさが大きい画像ほど、そのぶれ度を求める要素を少なくする(すなわちぶれ度を求める要素の数を調整する)ようにしてもよい。図8を例にすれば、例えば、ぶれやすさが大きい画像に対して、そのぶれ度を求める際に、図8(a)、図8(b)のみを用いてぶれ度を求めるようにしてもよい。
また、無効なエッジを除去する際において、光源を含むエッジを無効なエッジとするようにしてもよい。光源を含むエッジは、例えば明度が所定の閾値以上のエッジとすることができる。この場合、エッジ検出条件を設定する際に、ぶれやすさが大きい画像ほど、エッジを検出する強度の閾値を下げ検出するエッジの数を増やすと共に、この明度の閾値を下げるようにして無効エッジ判別条件を厳しく設定するようにすればよい。
また、上述の実施形態の画像処理システムにおいて、解析手段20は、ボケ画像となる画像Dに対して、そのボケがピンボケかぶれかの区別をせず、ボケ画像として判別された画像であれば、ぶれ度を求めてぶれ度に応じた重み付け係数(本実施形態の画像処理システムにおいては、ぶれ度そのものを重み付け係数にしている)で等方性補正パラメータと方向性補正パラメータを重み付け合算して補正パラメータを得て補正するようにしているが、例えば、ぶれ度が所定の閾値より小さいボケ画像をピンボケ画像とし、ピンボケ画像に対しては等方性補正パラメータのみを設定して補正を行うようにしてもよい。
また、上述の実施形態の画像処理システムは、処理対象となるデジタル写真画像がボケ画像か通常画像かが知られていないことを前提にして、全てのデジタル写真画像に対して通常画像かボケ画像かの判別を行うようにしているが、ボケ画像のみを対象とする処理系、例えば顧客または操作者によりボケ画像に指定された画像を補正するような処理系などにおいては、通常画像とボケ画像の判別を行うことが必ずしも必要ではない。
また、上述の実施形態の画像処理システムは、画像の縮小から目的画像を出力するまでの処理を1つの装置において行っているが、本発明は、このような態様に限られることがなく、例えば、画像処理システムを解析装置と処理装置とに分け、解析装置は、補正パラメータを設定するまでの処理を行うと共に、設定された補正パラメータを画像の付属情報として画像に付属させて記録媒体に記録し、処理装置は、記録媒体から画像を読み出して、画像の付属情報となる補正パラメータを用いて補正を行うようにしてもよい。
さらに、このような態様において、解析装置は、ボケ情報を求めるまでの処理のみをし、このボケ情報を画像の付属情報として画像に付属させて記録媒体に記録し、処理装置は、記録媒体から画像を読み出して、画像の付属情報となるボケ情報に基づいて補正パラメータを設定して補正を行うようにしてもよい。
さらに、補正実行指示手段を設け、ボケ情報の取得までまたは補正パラメータの設定までの処理を行うが、補正実行指示手段から補正を実行するように指示されるまで補正を実行せず、補正を実行するように指示されてから補正を実行するようにしてもよい。
また、上述の実施形態の画像処理システムは、記録媒体から読み出した画像に対して補正を行っているが、本発明は、ネットワークを介して送信するなどいかなる形態で画像を入力するシステムにも適用することができる。