JP4539280B2 - 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム - Google Patents

画像処理装置、および画像処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP4539280B2
JP4539280B2 JP2004303794A JP2004303794A JP4539280B2 JP 4539280 B2 JP4539280 B2 JP 4539280B2 JP 2004303794 A JP2004303794 A JP 2004303794A JP 2004303794 A JP2004303794 A JP 2004303794A JP 4539280 B2 JP4539280 B2 JP 4539280B2
Authority
JP
Japan
Prior art keywords
image
pixel
processing
correction
false color
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.)
Expired - Fee Related
Application number
JP2004303794A
Other languages
English (en)
Other versions
JP2006121138A (ja
Inventor
類 山田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004303794A priority Critical patent/JP4539280B2/ja
Publication of JP2006121138A publication Critical patent/JP2006121138A/ja
Application granted granted Critical
Publication of JP4539280B2 publication Critical patent/JP4539280B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Color Television Image Signal Generators (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

本発明は、画像処理装置、および画像処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、例えばレンズの収差による偽色の発生した画像データを補正し、高品質な画像データを生成する画像処理装置、および画像処理方法、並びにコンピュータ・プログラムに関する。
カメラで画像撮影を行なう際には、レンズの収差によりさまざまな問題が引き起こされる。典型的な収差の例として、単色収差であるザイデルの五収差が挙げられる。これはドイツのザイデルによって分析されたレンズの球面に基づく5つの収差であり、球面収差、コマ収差、非点収差、歪曲収差、像面歪曲の各収差の総称である。さらに、これらの収差とは別に、色収差も重要な問題を引き起こすことが知られている。色収差は、レンズ素材に対する光の屈折率がその波長により異なることに起因し、撮像面にて偽色を生ずる。
色収差の代表的な例として、光軸上の焦点位置が波長によって異なるため色のにじみが起こる軸上色収差や、波長により像倍率が異なるため色ずれが起こる倍率色収差などがよく知られているが、英語で一般的にPurple Fringe(パープルフリンジ)と呼ばれる現象も画像の劣化を引き起こす重要な原因となる。これは、光の波長により点像分布が異なっているために、画像中のエッジ部分に偽色が発生する現象である。通常の画素ではそれほど目立たない場合でも、輝度レベルにおける飽和状態としての白とびが起こっているハイコントラストのエッジ部分があれば、その周辺に紫色の偽色が発生し、不自然な像が結像されてしまう。一般に、白とびの近傍に発生する偽色は紫系の色が多く発生するためパープルフリンジと呼ばれる。ただし、レンズ、撮影条件などに応じて、偽色の色は緑がかった色となる場合など様々である。以下、パープルフリンジとは、発生する色に関わらず白とびが起こっているハイコントラストのエッジ部分における偽色発生現象を指すものとする。
色収差を軽減するための技術としては、蛍石など特殊な素材で出来たガラスを用いたレンズがある。しかし、このようなレンズを製造するのはコストがかるため価格も高く、レンズ交換式のカメラ用など一部の高級なカメラで用いられているが、一般に広く普及しているとは言えない。
また、特許文献1には、色収差によって発生する偽色を画像処理により軽減する方法が示されている。これは、緑チャンネルの高周波成分が高い部分に関して、色を抑制、つまり彩度を低下させる処理を行うものである。また、白とびが起こっている場合の対策として、露出を変えて2枚の画像を撮像し白とび部分の本来の輝度を推定し、彩度を低下させる処理を行う構成を開示している。
しかし、特許文献1に記載の処理は、彩度の低下により偽色の軽減を行っているため、本来の被写体の色についての彩度も低下し、被写体本来の忠実な色の再現ができなくなりその結果、不自然な画像が出力されるという問題がある。また、白とび部分の輝度推定のために、2回撮影を行う必要があり、この2回の撮影の間に手ぶれや被写体ぶれなどが起こった場合、正しい結果を得ることが困難になるという問題がある。
特開2003−60983号公報
本発明は、上述の問題点に鑑みてなされたものであり、白とび周辺に発生するパープルフリンジ等の偽色に注目し、この偽色領域を効率的に検出し、部分的な補正を実行することにより、画像全体に対する影響を発生させることなく高品質な画像データを生成、出力することを可能とした画像処理装置、および画像処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明は、特に、偽色の補正を実行する前に、特殊な態様での画像データの縮小処理を実行する。具体的には、輝度データの縮小においては、白とび画素データを消失しないように縮小し、また色情報の縮小においてはパープルフリンジ等の偽色データが消失しないように縮小を行なう。この縮小処理によって得られた縮小データに対する画像処理によって偽色画素等の補正を実行することで、補正における画像処理の計算コストの削減を実現し、高品質な画素補正を可能とした画像処理装置、および画像処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
また、本発明は、画像データの構成画素から選択された注目画素について、偽色である可能性を示すパラメータとしての偽色度合いを算出し、偽色度合いに応じて注目画素の元画素値と、周囲画素の画素値に基づいて生成する補間値との寄与率を変更して注目画素の補正画素値を算出し、さらに、この補正値と穴埋め補間処理の結果として取得される補正画素値とのブレンド処理により、最適な画素値を算出して出力する構成とすることで、より自由度の高い補正処理の実現、高品質な画像データの生成を可能とした像処理装置、および画像処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
画像処理装置であり、
補正処理対象画像データの縮小処理を実行する縮小処理部と、
前記縮小処理部において生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理部と、
前記画像補正処理部において生成した補正画像の拡大処理を実行する拡大処理部と、
を有し、
前記画像補正処理部は、前記縮小処理部において生成された縮小画像の構成画素の偽色度合いpを算出し、算出した偽色度合いpに応じた画素値補正処理を実行する構成であり、
前記縮小画像の構成画素から選択された注目画素について、偽色である可能性を示すパラメータとしての偽色度合いpを算出する偽色度合い算出部と、
注目画素近傍領域の画素値に基づいて、注目画素に対応する補間値を算出する補間値算出部と、
注目画素の元画素値と前記補間値とを適用し、注目画素の偽色度合いpに応じて前記元画素値と前記補間値との寄与率を変更して前記注目画素の補正画素値を算出する補正画素値算出部と、
を有する構成であることを特徴とする画像処理装置にある。
さらに、本発明の第2の側面は、
画像処理装置であり、
補正処理対象画像データの縮小処理を実行する縮小処理部と、
前記縮小処理部において生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理部と、
前記画像補正処理部において生成した補正画像の拡大処理を実行する拡大処理部と、
を有し、
前記画像補正処理部は、前記縮小処理部において生成された縮小画像の構成画素から白とび画素を検出し、白とび画素周囲の偽色画素の画素値を周囲画素の画素値に基づいて補正する補正処理を実行する構成であり、
画像データから白とび画素を検出する白とび検出部と、
前記白とび検出部の検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定部と、
前記偽色画素検出領域設定部の設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出部と、
前記偽色検出部の検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正部と、
を有する構成であることを特徴とする画像処理装置にある。
さらに、本発明の画像処理装置の一実施態様において、前記縮小処理部は、オリジナルの補正処理対象画像データについて輝度情報の縮小処理と、色情報の縮小処理とを個別に実行する構成であり、輝度情報の縮小処理においては、前記補正処理対象画像データに含まれる白とび画素情報を消失させない縮小処理を実行し、色情報の縮小処理においては、前記補正処理対象画像データに含まれる偽色の色情報を消失させない縮小処理を実行する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記縮小処理部は、前記補正処理対象画像データについての輝度情報の縮小処理において、縮小画像の構成画素に対応する輝度を、前記補正処理対象画像データの対応画像領域に含まれる最大輝度として設定する処理を実行する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記縮小処理部は、前記補正処理対象画像データについての色情報の縮小処理において、縮小画像の構成画素に対応する色情報を、前記補正処理対象画像データの対応画像領域に偽色画素が含まれる場合は、前記対応画像領域に含まれる偽色画素の平均値として設定し、前記補正処理対象画像データの対応画像領域に偽色画素が含まれない場合は、前記対応画像領域に含まれる全画素の平均値として設定する処理を実行する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記偽色度合い算出部は、注目画素についての、
(a)白とび(高輝度画素)への近さを示す白とび距離評価値P
(b)彩度の大きさを示す彩度評価値P
(c)偽色に対応する特定色相への近さを示す色相評価値Pθ
の少なくともいずれかを適用して注目画素の偽色度合いpを算出する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記画素値補正部は、偽色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補間部と、偽色画素について、色ぼかし処理を実行する色ぼかし処理部とを有する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記画素値補正部は、偽色画素の周囲に存在する画素から偽色画素および白とび画素を除くその他の画素を選択し、選択画素に基づく穴埋め補間処理を実行する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記拡大処理部は、前記画像補正処理部において生成した補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み補正画像を生成する構成であることを特徴とする。
さらに、本発明の第3の側面は、
画像処理装置であり、
補正処理対象画像データの縮小処理を実行する縮小処理部と、
前記縮小処理部において生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理部と、
前記画像補正処理部において生成した補正画像の拡大処理を実行する拡大処理部と、
を有し、
前記画像補正処理部は、
前記縮小処理部において生成された縮小画像に対して、第1の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第1画像補正処理部と、
前記縮小処理部において生成された縮小画像に対して、前記第1の画像補正処理態様と異なる第2の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第2画像補正処理部とを有し、
前記拡大処理部は、前記第1画像補正処理部において生成した第1補正画像と、前記第2画像補正処理部において生成した第2補正画像との拡大処理を実行する構成であり、
さらに、前記拡大処理部において拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成するブレンド処理部を有することを特徴とする画像処理装置にある。
さらに、本発明の画像処理装置の一実施態様において、前記拡大処理部は、前記第1画像補正処理部において生成した第1補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み第1補正画像を生成し、前記第2画像補正処理部において生成した第2補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み第2補正画像を生成する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記ブレンド処理部は、前記拡大処理部において拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成する構成であり、前記拡大済み第1補正画像の構成画素(x,y)の画素値をCavgnew(x,y)とし、前記拡大済み第2補正画像の構成画素(x,y)の画素値をCholenew(x,y)としたとき、最終補正画像の構成画素(x,y)の画素値Cfinal(x,y)を、下式、
final(x,y)=k×Cavgnew(x,y)+(1−k)×Cholenew(x,y)
ただしk=0〜1
に従って算出する処理を実行する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記偽色はパープルフリンジであり、前記画像補正処理部は、前記縮小処理部において生成された縮小画像に対して、白とび周囲のパープルフリンジ画素の画素値補正を含む画像処理を実行する構成であることを特徴とする。
さらに、本発明の第の側面は、
画像処理方法であり、
補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
を有し、
前記画像補正処理ステップは、
前記縮小処理ステップにおいて生成された縮小画像の構成画素の偽色度合いpを算出し、算出した偽色度合いpに応じた画素値補正処理を実行するステップであり、
前記縮小画像の構成画素から選択された注目画素について、偽色である可能性を示すパラメータとしての偽色度合いpを算出する偽色度合い算出ステップと、
注目画素近傍領域の画素値に基づいて、注目画素に対応する補間値を算出する補間値算出ステップと、
注目画素の元画素値と前記補間値とを適用し、注目画素の偽色度合いpに応じて前記元画素値と前記補間値との寄与率を変更して前記注目画素の補正画素値を算出する補正画素値算出ステップと、
を含むことを特徴とする画像処理方法にある。
さらに、本発明の第5の側面は、
画像処理方法であり、
補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
を有し、
前記画像補正処理ステップは、
前記縮小処理ステップにおいて生成された縮小画像の構成画素から白とび画素を検出し、白とび画素周囲の偽色画素の画素値を周囲画素の画素値に基づいて補正する補正処理を実行するステップであり、
画像データから白とび画素を検出する白とび検出ステップと、
前記白とび検出ステップの検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定ステップと、
前記偽色画素検出領域設定ステップの設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
前記偽色検出ステップの検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正ステップと、
を含むことを特徴とする画像処理方法にある。
さらに、本発明の画像処理方法の一実施態様において、前記縮小処理ステップは、オリジナルの補正処理対象画像データについて輝度情報の縮小処理と、色情報の縮小処理とを個別に実行し、輝度情報の縮小処理においては、前記補正処理対象画像データに含まれる白とび画素情報を消失させない縮小処理を実行し、色情報の縮小処理においては、前記補正処理対象画像データに含まれる偽色の色情報を消失させない縮小処理を実行することを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記縮小処理ステップは、前記補正処理対象画像データについての輝度情報の縮小処理において、縮小画像の構成画素に対応する輝度を、前記補正処理対象画像データの対応画像領域に含まれる最大輝度として設定する処理を実行することを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記縮小処理ステップは、前記補正処理対象画像データについての色情報の縮小処理において、縮小画像の構成画素に対応する色情報を、前記補正処理対象画像データの対応画像領域に偽色画素が含まれる場合は、前記対応画像領域に含まれる偽色画素の平均値として設定し、前記補正処理対象画像データの対応画像領域に偽色画素が含まれない場合は、前記対応画像領域に含まれる全画素の平均値として設定する処理を実行することを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記偽色度合い算出ステップは、注目画素についての、
(a)白とび(高輝度画素)への近さを示す白とび距離評価値P
(b)彩度の大きさを示す彩度評価値P
(c)偽色に対応する特定色相への近さを示す色相評価値Pθ
の少なくともいずれかを適用して注目画素の偽色度合いpを算出するステップであることを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記画素値補正ステップは、偽色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補間ステップと、偽色画素について、色ぼかし処理を実行する色ぼかし処理ステップとを含むことを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記画素値補正ステップは、偽色画素の周囲に存在する画素から偽色画素および白とび画素を除くその他の画素を選択し、選択画素に基づく穴埋め補間処理を実行するステップを含むことを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記拡大処理ステップは、前記画像補正処理ステップにおいて生成した補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み補正画像を生成するステップであることを特徴とする。
さらに、本発明の第6の側面は、
画像処理方法であり、
補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
を有し、
前記画像補正処理ステップは、
前記縮小処理ステップにおいて生成された縮小画像に対して、第1の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第1画像補正処理ステップと、
前記縮小処理ステップにおいて生成された縮小画像に対して、前記第1の画像補正処理態様と異なる第2の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第2画像補正処理ステップとを有し、
前記拡大処理ステップは、前記第1画像補正処理ステップにおいて生成した第1補正画像と、前記第2画像補正処理ステップにおいて生成した第2補正画像との拡大処理を実行するステップであり、
さらに、前記拡大処理ステップにおいて拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成するブレンド処理ステップを有することを特徴とする画像処理方法にある。
さらに、本発明の画像処理方法の一実施態様において、前記拡大処理ステップは、前記第1画像補正処理ステップにおいて生成した第1補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み第1補正画像を生成するステップと、前記第2画像補正処理ステップにおいて生成した第2補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み第2補正画像を生成するステップと、を含むことを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記ブレンド処理ステップは、前記拡大処理ステップにおいて拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成するステップであり、前記拡大済み第1補正画像の構成画素(x,y)の画素値をCavgnew(x,y)とし、前記拡大済み第2補正画像の構成画素(x,y)の画素値をCholenew(x,y)としたとき、最終補正画像の構成画素(x,y)の画素値Cfinal(x,y)を、下式、
final(x,y)=k×Cavgnew(x,y)+(1−k)×Cholenew(x,y)
ただしk=0〜1
に従って算出する処理を実行することを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記偽色はパープルフリンジであり、前記画像補正処理ステップは、前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲のパープルフリンジ画素の画素値補正を含む画像処理を実行することを特徴とする。
さらに、本発明の第7の側面は、
画像処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
を有し、
前記画像補正処理ステップは、
前記縮小処理ステップにおいて生成された縮小画像の構成画素の偽色度合いpを算出し、算出した偽色度合いpに応じた画素値補正処理を実行するステップであり、
前記縮小画像の構成画素から選択された注目画素について、偽色である可能性を示すパラメータとしての偽色度合いpを算出する偽色度合い算出ステップと、
注目画素近傍領域の画素値に基づいて、注目画素に対応する補間値を算出する補間値算出ステップと、
注目画素の元画素値と前記補間値とを適用し、注目画素の偽色度合いpに応じて前記元画素値と前記補間値との寄与率を変更して前記注目画素の補正画素値を算出する補正画素値算出ステップと、
を含むことを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第8の側面は、
画像処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
を有し、
前記画像補正処理ステップは、
前記画像補正処理ステップは、
前記縮小処理ステップにおいて生成された縮小画像の構成画素から白とび画素を検出し、白とび画素周囲の偽色画素の画素値を周囲画素の画素値に基づいて補正する補正処理を実行するステップであり、
画像データから白とび画素を検出する白とび検出ステップと、
前記白とび検出ステップの検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定ステップと、
前記偽色画素検出領域設定ステップの設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
前記偽色検出ステップの検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正ステップと、
を含むことを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第9の側面は、
画像処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
を有し、
前記画像補正処理ステップは、
前記縮小処理ステップにおいて生成された縮小画像に対して、第1の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第1画像補正処理ステップと、
前記縮小処理ステップにおいて生成された縮小画像に対して、前記第1の画像補正処理態様と異なる第2の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第2画像補正処理ステップとを有し、
前記拡大処理ステップは、前記第1画像補正処理ステップにおいて生成した第1補正画像と、前記第2画像補正処理ステップにおいて生成した第2補正画像との拡大処理を実行するステップであり、
さらに、前記拡大処理ステップにおいて拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成するブレンド処理ステップを有することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、補正処理対象画像データの縮小処理を実行し、縮小画像に対して、第1の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行して第1補正画像を生成し、さらに、縮小画像に対して、第1の画像補正処理態様と異なる第2の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行して第2補正画像を生成し、これらの異なる処理結果画像を拡大してブレンドすることにより、最終補正画像を生成する構成としたので、それぞれの画像補正処理が縮小画像に対して実行可能となり、少ない計算コストで画像の補正を行うことができる。また、異なる処理態様での画像補正を融合した補正処理が実現され、それぞれの利点を融合した調和された画素値補正が可能となる。
また、本発明の構成によれば、穴埋め補間処理と、偽色(PF)度合いpを適用した補正処理とのそれぞれの利点を融合した調和された画素値補正が可能となり、パープルフリンジ等の偽色が軽減されるとともに破綻することのない補正画像を取得することが可能となる。具体的には、カメラで撮影した画像に起こる色収差によるパープルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力を実現することができる。
さらに、本発明の構成によれば、すべての画像補正処理を自動処理として行なった場合でも、破綻の無い画像を生成することが可能となる。本発明の画像処理を適用することにより、撮影画像を、より自然に見えるように補正をすることが可能である。従って、撮影時にパープルフリンジが起こらないようにレンズの絞りや焦点距離などに注意を払う必要がなく、より高い自由度で撮影を行なうことが可能となる。
さらに、本発明の構成によれば、縮小処理をした上で、偽色補正処理を行い、それを拡大処理している。しかし、オリジナル画像で画素値が更新される部分は、偽色が発生している部分のみであり、かつ色情報だけが補正される。したがって、偽色以外の部分は全く劣化することが無い。偽色が発生している部分に関しても、特別な縮小処理を施しているので、確実に偽色画素を認識することが出来る。このように、縮小処理により計算コストが減少するにもかかわらす、偽色の補正品質が劣化することはほとんど無い。
以下、図面を参照しながら、本発明の画像処理装置、および画像処理方法、並びにコンピュータ・プログラムの詳細について説明する。
まず、画像処理装置の構成例について図1を参照して説明する。なお、図1に示す画像処理装置は、撮像部を備え、撮像部において撮影した画像データの補正処理を実行する装置例として示してあるが、本発明の画像処理装置は、たとえばハードディスクなどの記憶部に格納された画像データを入力して入力画像の補正を実行することも可能であり、補正処理対象の画像データは、撮像部を介して入力されるデータのみならず、記憶手段、あるいはネットワークを介して入力する画像データなどあらゆる入力画像データに対応可能である。図1は本発明の画像処理装置の一構成例を示すものである。
図1に示す画像処理装置の詳細構成について説明する。図1に示すように、画像処理装置は、レンズ101、絞り102、固体撮像素子103、相関2重サンプリング回路104、A/Dコンバータ105、DSPブロック106、タイミングジェネレータ107、D/Aコンバータ108、ビデオエンコーダ109、ビデオモニタ110、コーデック(CODEC)111、メモリ112、CPU113、入力デバイス114、フラッシュ制御装置115、フラッシュ発光装置116から構成される。
ここで、入力デバイス114はカメラ本体にある録画ボタンなどの操作ボタン類をさす。また、DSPブロック106は信号処理用プロセッサと画像用RAMを持つブロックで、信号処理用プロセッサが画像用RAMに格納された画像データに対してあらかじめプログラムされた画像処理をおこなうことができるようになっている。以下DSPブロックを単にDSPと呼ぶ。
本実施例の全体的な動作を以下に説明する。
光学系を通過して固体撮像素子103に到達した入射光は、まず撮像面上の各受光素子に到達し、受光素子での光電変換によって電気信号に変換され、相関2重サンプリング回路104によってノイズ除去され、A/Dコンバータ105によってデジタ。信号に変換された後、デジタル信号処理部(DSP)106中の画像メモリに一時格納される。なお、必要があれば、撮影の際に、フラッシュ制御装置115を介して、フラッシュ発光装置116を発光させることができる。
撮像中の状態においては、一定のフレームレートによる画像取り込みを維持するようにタイミングジェネレータ107が信号処理系を制御する。デジタル信号処理部(DSP)106へも一定のレートで画素のストリームが送られ、そこで適切な画像処理がおこなわれた後、画像データはD/Aコンバータ108もしくはコーデック(CODEC)111あるいはその両方に送られる。D/Aコンバータ108はデジタル信号処理部(DSP)106から送られる画像データをアナログ信号に変換し、それをビデオエンコーダ109がビデオ信号に変換し、そのビデオ信号をビデオモニタ110でモニタできるようになっていて、このビデオモニタ110は本実施例においてカメラのファインダの役割を担っている。また、コーデック(CODEC)111はデジタル信号処理部(DSP)106から送られる画像データに対する符号化をおこない、符号化された画像データはメモリ112に記録される。ここで、メモリ112は半導体、磁気記録媒体、光磁気記録媒体、光記録媒体などを用いた記録装置などであってよい。
以上が本実施例の画像処理装置の一例としてのデジタルビデオカメラのシステム全体の説明であるが、本発明に係る画像処理、すなわち画像データの補正処理はデジタル信号処理部(DSP)106において実行される。以下、この画像処理の詳細について説明する。なお、本実施例で扱う画像の色空間としては、輝度情報と色情報が独立に定義されているものを用いる。例えば、YCbCr空間やCIEL*a*b*空間などが挙げられる。
以下、本発明の画像処理装置では、輝度レベルがほぼ飽和レベル以上の画素として現れる白とび周辺に発生するパープルフリンジ等の偽色に注目し、この偽色画素を効率的に補正して、高品質な画像データを生成、出力することを可能とした構成を持つ。偽色(パープルフリンジ)は、白とび部分周辺で目立って現れる現象で、色収差による色ずれにより例えば紫色の偽色を生ずることを特徴とする。偽色が発生する白とびの周り範囲大きさは、光学系の絞り、焦点距離に連動しており、また、光学中心からの距離にも依存し、大きさが変わる。また、偽色が出る方向も、光学中心から白とび画素の外側に向かう方向、白とび画素から光学中心に向かう方向それぞれに発生し、その傾向は、撮像する光学系により異なる。
以下、デジタル信号処理部(DSP)106において実行する画像データ補正処理の詳細について説明する。図2は、本発明に従った画像処理の全体シーケンスを示すフローチャートとしての総合処理フローである。まず、本フローに従って本発明の画像処理の概要を説明し、その後、各ステップにおける処理の詳細について、順次、説明する。
まず、ステップS11において、補正処理を実行する画像データである入力画像の縮小処理を行う。次にステップS12において、縮小処理により生成された縮小画像データに対して平均法に基づく画像補正処理を実行する。平均法については、後段で詳細を説明するが、画像データの構成画素から選択された注目画素について、偽色である可能性を示すパラメータとしての偽色度合いpを算出し、注目画素近傍領域の画素値に基づいて、注目画素に対応する補間値を算出し、注目画素の偽色度合いpに応じて元画素値と前記補間値との寄与率を変更して注目画素の補正画素値を算出する処理である。次にステップS13において、ステップS12の平均法による補正画像の拡大処理を実行する。
ステップS14では、ステップS11の縮小処理により生成された縮小画像に対して、穴埋め法に基づく画像補正処理を実行する。穴埋め法については、後段で詳細に説明するが、画像データの構成画素に含まれる白とび画素の近傍からパープルフリンジ等の偽色であると判定される画素を抽出し、偽色と判定される画素についての画素値を周囲の画素の画素値に基づいて算出することにより、画像データの補正を行なう処理である。次にステップS15において、ステップS14の穴埋め法による補正画像の拡大処理を実行する。最後にステップS16において、ステップS12とステップS13の処理において生成した平均法に基づく画像処理を実行して得られた画像データと、ステップS14とステップS15の処理において生成した穴埋め法に基づく画像処理を実行して得られた画像データとのブレンド処理を行い、最終的な補正画素値から構成される補正画像データがせいせいされ、すべての処理が完了する。各処理の詳細については、後段で説明する。
本発明の画像処理においては、最初に入力画像に対して、ステップS11で特殊な縮小処理を施すことにより、パープルフリンジ(PF)等の偽色画素の補正を確実に実行する構成として、補正の効果を損なうことなく、かつ計算コストを削減している。本実施例の縮小処理では、輝度情報と色情報を別々の方法で縮小する。輝度情報の縮小処理においては白とびが失われないように、色情報の縮小処理においてはパープルフリンジ(PF)等の偽色の色データが失われないように考慮して入力画像に対し縮小処理を施す。
このような特殊な縮小処理を実行することにより、縮小によるオリジナル画像での白とびが欠落せず、オリジナル画像データにパープルフリンジ(PF)等の偽色に対応する色の画素が存在する場合に、縮小画像データにもその偽色画素を欠落させずに残し、縮小しても見逃さないようにすることができる。また、パープルフリンジ(PF)が発生している部分の画像は収差による影響でボケており、ある程度入力画像を縮小したものに対しても、効果的にパープルフリンジ(PF)を補正することができる。このように、本発明の処理では、入力画像に対しそのまま補正処理を施す方法と比較して、偽色補正効果を損なうことなく、かつ計算コストを大幅に削減することができる。
なお、以下、説明する処理において、補正対象とするオリジナルの入力画像は、幅をWL、高さをHLの画像データとし、図2に示すフローのステップS11における縮小処理によって生成する縮小画像は、幅をw、高さをhとした画像データとする。ステップS11では、WL×HLの画像データを1/nに縮小し、w×hの縮小画像を生成する。なお、wはWLをnで割った答えの小数点以下を切り上げた値、hはHLをnで割った答えの小数点以下を切り上げた値となる。
図2に示すフローのステップS11における縮小処理の詳細について、図3および図4を参照して説明する。図3、図4は、図2に示すフローのステップS11における縮小処理の手順を示すフローチャートである。各ステップの処理について説明する。なお、本フローおよび以下の説明において、縮小量は自然数nで表わす。例えばnが2の時は、WL×HLのオリジナル画像データを1/2に縮小し、w×hの縮小画像を生成する。nが4の時には4分の1に縮小することを意味する。
オリジナル画像と縮小画像の対応について図5を参照して説明する。図5には、縮小処理を施すオリジナル画像150と、縮小処理によって生成される縮小画像160を示している。オリジナル画像150はWL×HLであり、これを1/nに縮小してw×hの縮小画像160を生成する。オリジナル画像150に基づいて縮小画像160を生成する場合、縮小画像160の画素の値を個別に設定することが必要となる。例えば、縮小画像160における座標(x,y)の画素161について輝度情報と色情報とを決定することが必要となる。このために、縮小画像160における座標(x,y)の画素161の対応領域をオリジナル画像150から選択し、対応領域の構成画素の輝度情報と色情報とに基づいて、縮小画像160の画素(x,y)の輝度L(x,y)と色情報C(x,y)を求めることになる。この処理手順を示しているのが、図3、図4に示すフローチャートである。
縮小画像160における座標(x,y)の画素161の対応領域は、オリジナル画像150の対応画像領域151である。この対応画像領域151は、オリジナル画像150の画素範囲として、u=(n×x)〜(n×x+n−1)、v=(n×y)〜(n×y+n−1)である。すなわち、図5に示すように、
(u,v)=(n×x,n×y)、
(u,v)=(n×x+n−1,n×y)
(u,v)=(n×x+n−1,n×y+n−1)
(u,v)=(n×x,n×y+n−1)
の4点を頂点とする矩形領域として設定される画像領域151である。
縮小画像160における座標(x,y)の画素161の輝度L(x,y)と色情報C(x,y)は、オリジナル画像150の対応画像領域151に含まれる画素の輝度情報と色情報とに基づいて決定される。
図3、図4に示すフローチャートの各ステップの処理について説明する。まず、ステップS101、S102において、縮小画像での座標(x,y)を表わす変数x,yの初期化を行なう。ステップS101でy=0、ステップS102でx=0とする。次にステップS103において、座標(x,y)の位置の画素を求める際に用いる変数Lmax,CPF,NPF,CNPF,NNPFを、すべて0に初期化する。各変数は、以下の意味を有する。
max:オリジナル画像の対応画像領域における最大輝度
PF:オリジナル画像の対応画像領域におけるパープルフリンジ(PF)画素の色情報
PF:オリジナル画像の対応画像領域におけるパープルフリンジ(PF)画素の画素数
NPF:オリジナル画像の対応画像領域におけるパープルフリンジ(PF)ではない画素の色情報
NPF:オリジナル画像の対応画像領域におけるパープルフリンジ(PF)ではない画素の画素数
ステップS103における変数の初期化の後、ステップS104、S105において、オリジナルの入力画像の座標(u,v)を表わす変数u、vを初期化する。ステップS104でv=n×y、ステップS105でu=n×xとする。図5を参照して説明したように、縮小画像の座標(x,y)の画素は、オリジナル画像の対応画像領域、すなわち、u座標が(n×x)〜(n×x+n−1)、v座標が(n×y)〜(n×y+n−1)に相当する対応画像領域内に含まれる画素を用いて算出される。
縮小画像の注目画素(x,y)の輝度L(x,y)は、オリジナル画像の対応画像領域の中で最大値のものを選択し、これを縮小画像の注目画素(x,y)の輝度L(x,y)とする。
また、縮小画像の注目画素(x,y)の色情報C(x,y)は、オリジナル画像の対応画像領域に含まれる画素に、パープルフリンジ(PF)に相当する色相を持つ画素があればそれらの平均値を求めこの平均値を縮小画像の注目画素(x,y)の色情報C(x,y)とする。オリジナル画像の対応画像領域に含まれる画素に、パープルフリンジ(PF)に相当する色相を持つ画素が含まれない場合は、対応画像領域に含まれる全画素の平均値を算出し、これを縮小画像の注目画素(x,y)の色情報C(x,y)とする。
ステップS106においては、オリジナル画像の対応画像領域から選択された画素(u,v)の輝度L(u,v)が、Lmaxより大きいかを判定する。
L(u,v)>Lmax
が成立する場合は、ステップS107においてLmax=L(u,v)とする変数更新処理を実行してからステップS108へ進み、
L(u,v)>Lmax
が成立しない場合は、直接S108へ進む。
ステップS108においては、オリジナル画像の座標(u,v)の色C(u,v)が、予め指定された色相範囲、すなわちパープルフリンジ(PF)等の偽色に相当する色相範囲に入る色相であるか否かを判定する。ステップS108における色相判定処理について、図6を参照して説明する。
図6は、色空間におけるパープルフリンジ(PF)の色相範囲をあらわした図である。色空間の一例としてYCbCr空間を用いる場合、色情報に相当するCbCrを2次元にプロットしたのが図6である。横軸がCb、縦軸がCrの値を示し、原点180はCb=128,Cr=128に相当する色である。
パープルフリンジ(PF)に相当する色相範囲を指定する方法として、2つの色相の間に入っているか否かを判定する方法を用いる。パープルフリンジ(PF)は紫色を有し、この特定の色相範囲を図6に示すCbCr2次元座標空間で設定する。図に示す色相ライン181と、色相ライン182とによって挟まれる領域が、パープルフリンジ(PF)に相当する色相範囲183を示す領域として設定される。
ステップS108では、オリジナル画像の対応画像領域から選択された選択画素(u,v)の色C(u,v)が、図6に示す色相範囲183に含まれるか否かによって、C(u,v)が、偽色(PF)色相であるか否かを判定する。C(u,v)が偽色(PF)色相であると判定された場合はステップS109へ、C(u,v)が偽色(PF)色相でないと判定された場合はステップS110へ進む。
ステップS109では、偽色(PF)色相と判定された画素の色を平均するための変数、すなわち、
PF:オリジナル画像の対応画像領域におけるパープルフリンジ(PF)画素の色情報
PF:オリジナル画像の対応画像領域におけるパープルフリンジ(PF)画素の画素数
これらの変数CPFとNPFを更新する。具体的には、
PF=CPF+C(u,v),
PF=NPF+1
として、変数CPFとNPFを更新する。
PFは、オリジナル画像の対応画像領域から抽出されたパープルフリンジ(PF)画素の色情報の積算値、NPFは、オリジナル画像の対応画像領域から抽出されたパープルフリンジ(PF)画素の画素総数を意味する値となる。
一方、C(u,v)が偽色(PF)色相でないと判定された場合、ステップS110において、偽色(PF)色相ではないと判定された画素の色を平均するための変数、すなわち、
NPF:オリジナル画像の対応画像領域におけるパープルフリンジ(PF)ではない画素の色情報
NPF:オリジナル画像の対応画像領域におけるパープルフリンジ(PF)ではない画素の画素数
これらの変数CNPFとNNPFを更新する。具体的には、
NPF=CNPF+C(u,v),
NPF=NNPF+1
として、変数CNPFとNNPFを更新する。
NPFは、オリジナル画像の対応画像領域から抽出されたパープルフリンジ(PF)ではない画素の色情報の積算値、NNPFは、オリジナル画像の対応画像領域から抽出されたパープルフリンジ(PF)ではない画素の画素総数を意味する値となる。
ステップS109またはステップS110の処理の終了後、ステップS111に進む。ステップS111では、オリジナル画像の対応画像領域の座標(u,v)のu成分値を1増加させ、ステップS112においてuが、u<n×x+nであり、u<Wが成立するか否かを判定する。すなわち、座標(u,v)のu成分値が、図5を参照して説明したオリジナル画像150の対応画像領域151の右端に達しておらず(u<n×x+n)、かつ、オリジナル画像150の右端領域にも達していない(u<W)場合は、ステップS106に戻り、更新された座標(u,v)に対応する画素についてステップS106以下の処理を実行する。
ステップS112においてuが、u<n×x+nであり、u<Wが成立すると判定した場合は、ステップS113において、対応画像領域の座標(u,v)のv成分値を1増加させ、ステップS114においてvがv<n×y+nであり、v<Hが成立するか否かを判定する。すなわち、座標(u,v)のv成分値が、図5を参照して説明したオリジナル画像150の対応画像領域151の下端に達しておらず(v<n×y+n)、かつ、オリジナル画像150の下端領域にも達していない(v<H)場合は、ステップS105に戻り、更新された座標(u,v)に対応する画素についてステップS105以下の処理を実行する。ステップS114がNoと判定されると、縮小画像の1つの画素(x,y)に対応するオリジナル画像の対応画像領域に含まれる全画素についての処理が終了したことになる。
次に、図4に示すステップS115に進む。ステップS115〜S117では、縮小画像の画素(x,y)の輝度L(x,y)と色の値C(x,y)を設定する処理を行う。ステップS115では、縮小画像の画素(x,y)の輝度値L(x,y)として、ステップS107で順次更新処理を実行して得られたLmaxを設定する。すなわち、縮小画像の注目画素(x,y)の輝度L(x,y)は、オリジナル画像の対応画像領域の中で最大値のものを選択し、これを縮小画像の注目画素(x,y)の輝度L(x,y)とする。
次に、ステップS116において、オリジナル画像の対応画像領域においてカウントされたNPF、すなわち、オリジナル画像の対応画像領域におけるパープルフリンジ(PF)画素の画素数が0より大であるか否かを判定する。
PF>0
が成立する場合はステップS117へ、成立しない場合はステップS118へ進む。
ステップS117では、縮小画像の注目画素(x,y)の色の値C(x,y)を下式によって算出する。すなわち、
(x,y)=CPF/NPF
上記式によって算出する。これは、オリジナル画像の対応画像領域におけるパープルフリンジ(PF)画素の色情報の積算値をパープルフリンジ(PF)画素の画素数で除算したものである。すなわち、オリジナル画像の対応画像領域にパープルフリンジ(PF)画素が1つ以上含まれる場合は、オリジナル画像の対応画像領域におけるパープルフリンジ(PF)画素の平均的な色情報を縮小画像の注目画素(x,y)の色の値C(x,y)として設定する。
ステップS116において、
PF>0
が成立しない場合、すなわち、オリジナル画像の対応画像領域におけるパープルフリンジ(PF)画素の画素数が0である場合は、ステップS118に進み、縮小画像の注目画素(x,y)の色の値C(x,y)を下式によって算出する。すなわち、
(x,y)=CNPF/NNPF
上記式によって算出する。これは、オリジナル画像の対応画像領域におけるパープルフリンジ(PF)画素ではない全画素の色情報の積算値を全画素数で除算したものである。すなわち、オリジナル画像の対応画像領域にパープルフリンジ(PF)画素が全く含まれない場合は、オリジナル画像の対応画像領域における全画素の平均的な色情報を縮小画像の注目画素(x,y)の色の値C(x,y)として設定する。
以上の処理によって、縮小画像の1つの画素、すなわち、縮小画像の注目画素(x,y)の輝度L(x,y)と、色情報C(x,y)が決定されることになる。ステップS119〜S122は、縮小画像の注目画素(x,y)の座標位置の更新処理である。
ステップS119において、注目画素の座標(x,y)のx成分値を1増加させ、ステップS120においてxが、x<w、すなわち、縮小画像の画像サイズの幅wに未達か否かを判定しYesならS103に戻りNoならS121に進む。ステップS121では、注目画素(x,y)のy成分値を1増加させ、ステップS122においてyが、y<h、すなわち、縮小画像の画像サイズの高さhに未達か否かを判定し、YesならS102に戻り、Noなら処理を終了する。
これらの処理は、縮小画像(幅w画素、高さh画素)の画像データにおいて、注目画素(x,y)を1つずつ移動させる処理であり、ステップS122がNoと判定されると、縮小画像(幅w画素、高さh画素)の全画素についての処理が終了し、すべての画素を注目画素として設定した画素値決定処理が完了する。すなわち、縮小画像のすべての構成画素の画素情報、すなわち、輝度L(x,y)と、色情報C(x,y)が決定されたことになる。
以上の処理が、図2に示す総合処理フローのステップS11の画像データ縮小処理である。次に、図2に示す総合処理フローのステップS12の平均法に基づく画像補正処理の詳細について説明する。ステップS12の平均法に基づく画像補正処理は、上述の縮小処理の結果生成された縮小画像データに対する処理として実行する。
平均法に基づく画像補正処理の詳細について、図7以下を参照して説明する。図7、図8は、本発明の画像処理の手順を示すフローチャートである。図7、図8に示すフローチートの各ステップの処理の詳細を順次説明する。
ステップS201、S202において、補正対象画像データの検査対象画素位置の初期設定を実行する。初期設定として注目画素の画素位置を(0,0)、すなわちx=0、y=0として設定する。本発明の処理では、上述のように、補正対象として入力される画像データの構成画素について1つずつ、偽色度合い(PF度合い)を算出し、算出した各画素対応の偽色度合い(PF度合い)に基づく補正処理を行なう。ステップS201、S202にあるように座標(0,0)から始めて、画像中の各画素を順番に注目画素として色情報の補正を行う。
注目画素が決定されたあとは、偽色度合い、すなわちパープルフリンジ度合い(PF度合い)を算出する。本実施例においては、偽色度合い(PF度合い)の算出に、以下の各尺度、すなわち、
(a)白とび(高輝度画素)への近さ、
(b)彩度の大きさ、
(c)偽色に相当する特定色相への近さ
の3種類の尺度を考慮する。
まず、上記尺度(a)〜(c)中の、「(a)白とび(高輝度画素)への近さ」に関して説明する。パープルフリンジは、主に白とびの周囲に発生する。逆に、注目画素がパープルフリンジであるときには、注目画素の周囲に、白とびが存在する。注目画素が白とびに近ければ近いほど、その画素はパープルフリンジである可能性が高いといえる。
ところで、パープルフリンジは白とびが発生している部分を中心として発生するが、白とびの画像上での位置によりパープルフリンジが発生する範囲は異なる。例えば、光学中心に当たる画像中心部から画像端に向かう方向に、パープルフリンジが発生しやすい場合がある。これは、光学系の種類や、絞り・焦点距離などの設定、注目画素の位置によっても、パープルフリンジが発生する範囲の特徴は異なる。
本実施例では、ステップS203において、注目画素がパープルフリンジであるとしたときに白とびが起こっている可能性のある範囲、白とび探索範囲(x,y,x,y)を算出する。白とび探索範囲の算出方法としては、例えば、注目画素が白とびであった場合に、注目画素から画像中心に向かう方向とその180度反対側の方向またそれらと直行する方向に、どの程度の大きさのパープルフリンジが発生するかを算出すればよい。そのためには、あらかじめ本実施例に用いる光学系に関して、パープルフリンジの発生する可能性のある範囲を調べておき、ルックアップテーブルなどにそのデータを保存し、注目画素の画素位置に基づいてルックアップテーブルを検索して、画素位置対応の白とび探索範囲(x,y,x,y)のデータを抽出する。あるいは、ルックアップテーブルには、白とび探索範囲(x,y,x,y)を算出するために必用なデータを格納し、これを抽出して演算によって白とび探索範囲(x,y,x,y)を算出する構成としてもよい。あるいは、ルックアップテーブルを適用せずに、予め設定された関数に従った演算処理を実行して、白とび探索範囲(x,y,x,y)を算出する構成としてもよい。
ステップS203においては、定義済みのルックアップテーブルの参照、演算処理の少なくともいずれかの処理によって、光学系の設定、注目画素位置等の各種情報に基づいて、探索範囲(x,y,x,y)を算出する。探索範囲(x,y,x,y)は、注目画素がパープルフリンジである場合に白とび存在する可能性のある範囲として算出される範囲である。
図9を参照して、光学系にあわせた白とび探索範囲(x,y,x,y)の設定の一例を述べる。図9に示す補正対象となる画像データ210において、ある画素211が白とびを起こしていると仮定する。画素が白とび画素であるか否かは、予め定めた閾値以上の輝度値を持つ画素であるかの判定処理によって行われ、閾値以上の輝度値を持つ画素であれば、白とび画素として判定する。
画素211が白とび画素である場合、画素211の周囲において、パープルフリンジが発生する可能性のある範囲は、撮像手段における使用レンズの特性と、撮影時のF値と焦点距離に基づいて算出することができる。これらの各データは、画像データの撮影時に撮影画像に対応する属性情報として、画像データとともに画像処理実行部としてのデジタル図信号処理部(DSP)106(図1参照)に入力され、デジタル信号処理部(DSP)106は、これらの入力データと注目画素の画素位置に基づいてルックアップテーブルを検索して、画素位置対応の白とび探索範囲を算出するために必用なデータを抽出して、白とび探索範囲(x,y,x,y)の算出を実行する。
図9を参照して、白とび探索範囲(x,y,x,y)の詳細について説明する。図9に示す画像データ210は、図2に示す総合処理フロー中のステップS11においてオリジナル画像に基づいて生成した縮小画像を示す。
図9に示す画像データ210の画素211が白とび画素であるとき、白とび画素211の右下側に幅:Wa、高さ:Ha、左上側に幅:Wb、高さ:Hbでパープルフリンジが発生するとする。図9に示す画素領域212と画素領域213によって規定される領域である。
一方、逆に、画素211がパープルフリンジ画素であると仮定すると、パープルフリンジ画素は、白とび画素の近傍に発生するという前提から、パープルフリンジ画素211の近傍には、必ず白とびの画素があるはずである。パープルフリンジ画素211の周囲において、白とびの発生している可能性のある領域は、上述した画素領域212と画素領域213とを、画素211と画像データ中心画素250を結ぶ直線に沿って画素211を中心として折り返して設定される領域、すなわち、図9に示す画素領域222、画素領域223である。
このように、図9に示す画素211がパープルフリンジ画素である場合、図9に示す画素領域222、画素領域223に白とび画素が発生していると推定できる。従って、画素211がパープルフリンジ画素の場合、図9に示す画素領域222、画素領域223を含む矩形領域として設定される画素領域230を探索領域として探索処理を実行すれば、白とび画素が発見できるはずである。
図7に示すフローのステップS203では、注目画素(x,y)がパープルフリンジ画素である場合に、その画素の周囲に存在すると判断される白とび画素を検出することを目的として、白とび探索範囲(x,y,x,y)を設定するものである。上述した説明から理解されるように、図9において画素211が注目画素である場合、画素領域230を白とび探索範囲(x,y,x,y)として設定すれば、画素211がパープルフリンジ画素である場合に、白とび画素をこの探索範囲において検出できることになる。
このように、撮影手段の特性、撮影条件によって決定される白とび画素周囲のハープルフリンジ発生領域に基づいて、パープルフリンジ画素周囲の白とび画素探索領域が設定される。図7に示すフローのステップS203では、処理対象の画素、すなわち注目画素毎に白とび探索範囲(x,y,x,y)を算出する。
図10を参照して、白とび探索範囲(x,y,x,y)の領域について説明する。図10は、注目画素(x,y)300の周囲に設定される白とび探索範囲(x,y,x,y)301を示している。白とび探索範囲(x,y,x,y)301は、左上端が座標(x,y)の画素302であり、右下端が座標(x,y)の画素303である矩形領域からなる白とび探索範囲(x,y,x,y)である。
図10に示す白とび探索範囲(x,y,x,y)301は、図9に示す矩形領域230に相当する領域であり、図9に示す画素領域223は、図10に示す注目画素(x,y)300の左上部の高さH1、幅W1からなる画素領域311に相当し、図9に示す画素領域222は、図10に示す注目画素(x,y)300の右下部の高さH2、幅W2からなる画素領域312に相当する。画素321は座標(x,y)の画素、画素322は座標(x,y)の画素、画素323は座標(x,y)の画素、画素324は座標(x,y)の画素である。
図7に示すフローのステップS203では、例えば、図10に示す画素(x,y)300を注目画素とした場合、注目画素(x,y)300の左にW1、右にW2、上にH1、下にH2の領域からなる探索範囲(x,y,x,y)301を設定する。この設定によって、注目画素(x,y)300がパープルフリンジ画素である場合に、探索範囲(x,y,x,y)301内から白とび画素を、ほぼ間違いなく検出することができる。
このように、図7のステップS203では、注目画素(x,y)がパープルフリンジ画素である場合に、その画素の周囲に存在すると判断される白とび画素を検出することを目的として、白とび探索範囲(x,y,x,y)を設定するものである。なお、前述したように、白とび探索範囲(x,y,x,y)の算出にはルックアップテーブルの参照、演算処理の少なくともいずれかの処理が実行される。撮像手段における使用レンズの特性、撮影時のF値、焦点距離等の各データを撮影画像に対応する属性情報として、画像データとともに画像処理実行部としてのデジタル図信号処理部(DSP)106(図1参照)に入力し、デジタル信号処理部(DSP)106において、これらの入力データ、注目画素位置情報等に基づいてルックアップテーブルの参照、演算処理の少なくともいずれかの処理を実行して、白とび探索範囲(x,y,x,y)を算出する。
図7のステップS203において、注目画素(x,y)に対応する白とび探索範囲(x,y,x,y)が算出されると、算出した白とび探索範囲(x,y,x,y)において、白とび画素の検索を行い、注目画素(x,y)と最も近接した白とび画素との距離としての最小距離:dminを算出する。この処理が、図7、図8のフローに示すステップS204〜S214の処理である。
ここで算出する注目画素(x,y)と白とび画素との距離:dは、注目画素(x,y)を中心点として白とび探索範囲(x,y,x,y)の領域を正規化して算出した距離データを用いる。正規化された距離データを比較して、最小距離:dminを算出する。正規化した距離データを用いる理由について説明する。注目画素から白とびへの距離を算出する際には、パープルフリンジの発生する方向を考慮する必要がある。すなわち、注目画素の周囲に白とび画素があり、その白とび画素を原因として注目画素にパープルフリンジが発生する可能性を算出するためには、白とび画素の位置と注目画素の距離ならびにその位置関係を考慮する必要がある。
図9、図10を参照して説明したように、白とび画素探索領域は、注目画素の周囲に均等に設定されない。例えば図10に示す白とび画素探索領域301は、注目画素300(x,y)の左上部の小さな画素領域311と、右下の大きな画素領域312を含む領域として設定され、注目画素300(x,y)は白とび画素探索領域301の中心に設定されておらず、左上部にかたよって設定された状態となっている。注目画素(x,y)と白とび画素との最小距離:dminを算出する際、実際の距離データとして算出すると、左上部の小さな画素領域311にも白とびがあり、右下の大きな画素領域312にも白とびがある場合、ほとんどの最小距離データは、左上部の小さな画素領域311との距離として算出される可能性が高くなる。
しかし、注目画素300(x,y)のパープルフリンジを引き起こしている原因としての白とび画素は、注目画素との実際の距離がより大きな右下の画素領域312内の白とび画素である場合がある。このような誤認を防止するため、すなわち、注目画素(x,y)のパープルフリンジを引き起こしている要因としての白とび画素との距離を最小距離:dminとして正確に算出するため、白とび探索範囲(x,y,x,y)の中心に注目画素(x,y)が設定された状態とするため、正規化距離データを用いる。
正規化距離データを用いることで、例えば図10に示す注目画素300(x,y)と、白とび探索範囲(x,y,x,y)の端点の画素321(x,y)との距離:W1、注目画素300(x,y)と画素322(x,y)との距離:W2、注目画素300(x,y)と画素323(x,y)との距離:H1、注目画素300(x,y)と画素324(x,y)との距離:H2は全て等しいものとして処理される。この正規化距離データを用いることで、注目画素300(x,y)と正規化最小距離:dminを持つ白とび画素が、注目画素300(x,y)のパープルフリンジを引き起こしている要因となった白とび画素であるとの推定が正しい確率を向上させることができる。
本実施例においては、例えば図10に示す白とび探索範囲(x,y,x,y)の設定において、白とび画素位置と注目画素それぞれのx座標の差の絶対値を、注目画素300(x,y)と白とび探索範囲(x,y,x,y)の端点の画素321(x,y)との距離:W1、または注目画素300(x,y)と画素322(x,y)との距離:W2を用いて正規化し、さらに、注目画素300(x,y)と画素323(x,y)との距離:H1、注目画素300(x,y)と画素324(x,y)との距離:H2を用いて正規化して距離:dを算出する。
具体的な距離算出式について説明する。白とび探索範囲で見つかった白とび画素の位置が(a,b)であるとする。注目画素から白とび位置(a,b)への距離:dは以下の式(式1)に従って算出する。
Figure 0004539280
上記式(式1)を用いれば、注目画素から300(x,y)から、白とび探索範囲(x,y,x,y)の端点の画素321(x,y)との距離:W1、画素322(x,y)との距離:W2、画素323(x,y)との距離:H1、画素324(x,y)との距離:H2は全て等距離とされる。この正規化距離データを適用して最小距離:dminを持つ白とび画素を選択することで、注目画素300(x,y)のパープルフリンジを引き起こしている要因となった白とび画素を正しい確立で抽出することができる。
図7のフローの説明を続ける。ステップS203において白とび探索範囲(x,y,x,y)を算出した後、まず、ステップS204で、最小距離:dminを初期化、例えばdmin=∞あるいは注目画素と白とび探索範囲(x,y,x,y)の最大距離より十分大きい値に設定する。次に、ステップS205,S206において、白とび探索範囲(x,y,x,y)の構成画素を1つ選択し、ステップS207において、選択画素(s,t)が白とび画素であるか否かを判定する。白とび画素であるか否かの判定処理は、例えば予め定めた輝度以上の画素を白とび画素として判定する処理として実行される。
選択画素(s,t)が白とび画素で無い場合は、ステップS211〜S214の処理によって選択画素の更新、すなわち白とび探索範囲(x,y,x,y)内において次の画素を選択画素として設定し、ステップS207以下の処理を繰り返し実行する。
選択画素(s,t)が白とび画素であると判定すると、ステップS208において、注目画素(x,y)と白とび画素(s,t)との距離dが算出する。この距離dは、前述の式(式1)を適用した演算によって、正規化距離データとして算出する。ステップS209では、算出距離データ:dと初期化されたあるいはその後更新された最小距離:dminとの比較が実行され、算出距離データ:dが、最小距離:dminより小さい値を持つ場合は、ステップS210において、算出距離データ:dを、最小距離:dminとする最小距離:dminの更新処理を実行する。
以上の処理を、注目画素(x,y)の周囲に設定した白とび探索範囲(x,y,x,y)内の全画素について実行し、注目画素に対応する1つの最小距離:dminを決定する。白とび探索範囲(x,y,x,y)内に白とび画素が検出されなかった場合は、最小距離:dminは、初期値のままとなる。
次に、図8に示すフローチャートのステップS215に進む。ステップS215では、注目画素(x,y)の偽色度合い、すなわち、PF(パープルフリンジ)度合いを算出するためのパラメータを注目画素(x,y)の色情報c(x,y)に基づいて算出する。これは、注目画素(x,y)がパープルフリンジに近い彩度と色相を持つか否かを判定する尺度としての偽色(PF)度合いp、すなわちパープルフリンジ等の偽色(PF)である可能性を示すパラメータとしての偽色(PF)度合いpの算出に適用するパラメータを求める処理である。
ステップS215における注目画素(x,y)の色情報c(x,y)に基づくパラメータ算出処理について、図11を参照して説明する。図11は、2次元の色情報空間の一例を表わしている。ここでは、色情報としてYCbCr空間の、CbCrを用いる。図11では、横軸にCb、縦軸にCr、原点400はCb=128,Cr=128となる色値を持つ。パープルフリンジ色相ライン401は、パープルフリンジの色であるとしてあらかじめ指定された色相を表わすラインである。注目画素色相402は、注目画素(x,y)の色相(Cb,Cr)をプロットしたものである。
図8に示すフローにおけるステップS215においては、注目画素の彩度sならびに、パープルフリンジの色相への近さθをパラメータとして求める。図11で示す例においては、彩度sは原点400から注目画素色相402への距離として算出される値であり、パープルフリンジの色相への近さθはパープルフリンジ色相ライン401と、原点と注目画素色相402を結ぶラインとのなす角度として算出される値である。なお、本実施例では、注目画素(x,y)の偽色度合い、すなわち、PF(パープルフリンジ)度合いを算出するためのパラメータとして彩度sならびに、パープルフリンジの色相への近さθを、上記処理によってパラメータとして算出する処理を適用しているが、これらは、彩度、色相への近さの尺度としての一例であり、他の方法を適用してもよい。なお、ここで述べるθは、2つの色相のなす角度であり、必ず0以上の値となる。
次にステップS216において、ステップS215で求めた注目画素(x,y)の色情報c(x,y)に基づくパラメータs,θを適用して、注目画素の偽色度合いp、すなわち、PF(パープルフリンジ)度合いを表わす値pを算出する。前述したようにパープルフリンジ度合いpとして、本実施例の処理では以下の各尺度、すなわち、
(a)白とび(高輝度画素)への近さ、
(b)彩度の大きさ、
(c)偽色に相当する特定色相への近さ
の3種類の尺度を考慮すると説明した。最終的な偽色(PF)度合いpの算出には、上記(a)〜(c)の尺度が適用される。
上述の(a)〜(c)の各尺度を、
(a)白とび(高輝度画素)への近さ=白とび距離評価値P
(b)彩度の大きさ=彩度評価値P
(c)偽色に相当する特定色相への近さ=色相評価値Pθ
とする。
以下、各評価値の算出処理の詳細について説明する。
(a)白とび(高輝度画素)への近さ=白とび距離評価値P
白とび距離評価値Pは、下式(式2)によって算出する。
Figure 0004539280
上記式において、dには、先にステップS204〜S214の処理において求められたデータ、すなわち、注目画素(x,y)に対応する最小距離:dminを代入する。dmaxは、あらかじめ設定された距離データであり、dのとり得る範囲において最大値に近い値、あるいは最大値以上の値に設定する。ただし、dmaxをdのとり得る範囲において最大値に近い値として設定した場合においてd>dmaxとなった場合は、dmax=dであると仮定して、d−dmax=0として処理する。例えば、前述の式(式1)によると、dは、0から√2までの値を取る。したがって、dmaxとしては、例えば、√2を設定すればよい。
このようにして、注目画素(x,y)から白とび画素までの距離dが小さいほど、距離評価値Pは1に近づき、一方、注目画素(x,y)から白とび画素までの距離dが大きいほど、距離評価値Pは0に近づく値に設定される。すなわち、距離評価値Pは0〜1の範囲で、注目画素(x,y)から白とび画素までの距離に応じた値に設定されることになる。
また、(c)偽色に相当する特定色相への近さ=色相評価値Pθ、すなわち、パープルフリンジ色相への近さを表わす値としての色相評価値pθは以下の式(式3)により算出される。
Figure 0004539280
上記式(式3)のθは、ステップS215において求めた注目画素のパープルフリンジの色相への近さθを代入する。図11を参照して説明したように、パープルフリンジの色相への近さθはパープルフリンジ色相ライン401と、原点と注目画素色相402を結ぶラインとのなす角度として算出される値である。上記式(式3)のθmaxは、あらかじめ指定された値であり、θのとり得る範囲において最大値に近い値、あるいは最大値以上の値に設定する。ただし、θmaxをθのとり得る範囲において最大値に近い値として設定した場合においてθ>θmaxとなった場合は、θmax=θであると仮定して、θ−θmax=0として処理する。撮影に用いたレンズによりあらかじめどのような色相の偽色が発生するかはあらかじめ予想することができる。発生する可能性のある偽色の色相をすべてカバーできるように、最適な値をθmaxとして設定すればよい。
このようにして、注目画素(x,y)の色相が偽色としてのパープルフリンジの色相に近いほど、色相評価値pθは1に近づき、一方、注目画素(x,y)の色相が偽色としてのパープルフリンジの色相から遠いほど、色相評価値pθは0に近づく値に設定される。すなわち、色相評価値pθは0〜1の範囲で、注目画素(x,y)の色相とパープルフリンジの色相との差異に応じた値に設定されることになる。
また、(b)彩度の大きさ=彩度評価値Pは以下の式(式4)により算出される。
Figure 0004539280
上記式(式4)のsは、ステップS215において求めた注目画素の彩度sを代入する。図11を参照して説明したように、彩度sは原点400から注目画素色相402への距離として算出される値である。上記式(式4)のsmaxは、あらかじめ指定された値であり、sのとり得る範囲において最大値に近い値、あるいは最大値以上の値に設定する。ただし、smaxをsのとり得る範囲において最大値に近い値として設定した場合においてs>smaxとなった場合は、smax=sであると仮定して、s−smax=0として処理する。
このようにして、注目画素(x,y)の彩度が大きいほど、彩度評価値Pは1に近づき、一方、注目画素(x,y)の彩度が小さいほど、彩度評価値Pは0に近づく値に設定される。すなわち、彩度評価値Pは0〜1の範囲で、注目画素(x,y)の彩度に応じた値に設定されることになる。
図12は、パープルフリンジの発生した画像データの画像領域と彩度の対応を示した図である。図12の縦軸は彩度を表わし、横軸は画像上での位置を表わす。図12では、画像位置の画像範囲451に白とび画素があり、画像範囲452と画像範囲453に渡ってパープルフリンジが発生し、画像範囲454には被写体の本来の色が撮像されているとする。画像範囲452のパープルフリンジは彩度が大きくとても目立つため、なるべく強く補正をかけるのが望ましい。一方、画像範囲453では、パープルフリンジから被写体本来の色への遷移部分となっているため、補正度合いとしては、強い補正度合いからだんだん弱めて補正しないレベルまで、連続的に変化させるのが望ましい。上記式(式4)で算出される彩度評価値Pは、このような彩度に応じた最適な補正のレベルに対応させることが好ましい。この設定とするためには、上記式(式4)で適用する固定値としてのsmaxを、図12に示すように、例えば、画像範囲453の最大彩度付近の彩度として設定すればよい。
この設定とすることで、図12に示す画像領域452では、上記式(式4)によって算出される彩度評価値Pは1となり、画像領域453では、上記式(式4)によって算出される彩度評価値Pは、画像領域452の接点では1となり、画像領域454に近づくに従って、彩度評価値Pが減少し、徐々に0に近づく値に設定されることになる。
図8のフローチャートに戻り画像処理シーケンスの説明を続ける。ステップS216においては、上述した3つの評価値、すなわち、
(a)白とび(高輝度画素)への近さ=白とび距離評価値P
(b)彩度の大きさ=彩度評価値P
(c)偽色に相当する特定色相への近さ=色相評価値Pθ
に基づいて、下式(式5)に従って、偽色(PF)度合いpを算出する。
Figure 0004539280
上記式(式5)は、3つの評価値、すなわち、白とび距離評価値Pと、色相評価値Pθと、彩度評価値Pとの乗算値に基づいて偽色(PF)度合いp、すなわち、偽色である可能性を示すパラメータである偽色(PF)度合いpを算出する式である。
次にステップS217において、注目画素の色情報を補正する処理を行う。ステップS217の詳細処理について、図13のフローチャートを参照して説明する。本実施例においては、注目画素の周囲の画素の色情報から求めた色情報補間値を、偽色(PF)度合いpに応じてオリジナルの色情報C(x,y)と案分することにより、補正を行う。また、補間値としては、注目画素とその周辺画素の重み付き平均を用いる。補間値算出範囲の色情報の重み付き平均を補間値とすることにより、パープルフリンジ等の偽色を完全に除去することはできないが、特に彩度が高く非常に目立つ部分などを、目立たなくさせることにより、パープルフリンジ等の偽色を軽減する処理を施すことができる。
図13に示すフローの各ステップの処理について説明する。最初にステップS301において、補間値算出範囲(x,y,x,y)を算出する。補間値算出範囲は、前述の白とび探索範囲と同様に、光学系の種類や設定、注目画素の位置基づいたデータを元に、注目画素が白とびである場合にどの範囲にパープルフリンジが発生するかを表わした範囲を補間値算出範囲として算出する。ここでは、注目画素がパープルフリンジである場合の補正を行うが、その場合本来の被写体の色が残っている可能性のある範囲として、補間値算出範囲(x,y,x,y)を用い、その範囲の画素の色情報の重み付き平均を求める。
補間値算出範囲(x,y,x,y)の具体的な設定処理について、図14を参照して説明する。図14は、先に説明した図9に対応する図であり、補正対象となる画像データ510において注目画素が画素511であるとする。仮に画素511がパープルフリンジ等の偽色画素である場合、この偽色画素を周囲の画素の画素値に基づいて補正することになる。画素511がパープルフリンジ等の偽色画素である場合、図9を参照して説明したように、白とび探索範囲520の中に白とび画素が存在する。白とび探索範囲520は、図9における画素領域230に対応し、画素領域521と、画素領域522を含む矩形領域として設定される白とび探索範囲520である。
画素511がパープルフリンジであった場合は、画素511の周囲の画素を用いて補間処理、すなわち、画素511の周囲の画素の画素値を適用して画素511の画素値を決定する処理を行なう。その際、補間処理に適用する対象となる画素、すなわち参照する画素は、なるべく偽色(パープルフリンジ)画素ではない方が望ましい。画素511がパープルフリンジであった場合、例えば、白とび探索範囲520内に検出された白とび画素531と、注目画素511との間に存在する画素はすべてパープルフリンジになるはずである。ここで白とび画素531は、図7のフローにおけるステップS204〜S214の処理において注目画素511からの最小距離dminを持つ白とび画素531であるとする。この場合、パーブルフリンジである画素511は、白とび画素531の直接的影響によってパープルフリンジとなっており、より白とび画素531に近い画素は、すべてパープルフリンジになるはずである。
この様な場合、注目画素511から白とび画素531がある方向の反対側に進むにつれて被写体本来の色に近づくといえる。したがって、補間値算出範囲としては、例えば画素511から白とび画素531へ向かう方向の反対側の領域を設定することで、より正常な画素値を多く含む領域を設定することができると判断される。このような場合は、例えば図14に示すように補間値算出範囲541を設定すればよい。
図14に示す例では、注目画素511の画素値は、補間値算出範囲541の構成画素の画素値に基づいて算出される値によって決定されることになる。このように、補間値算出範囲(x,y,x,y)の設定の際には、注目画素511からの最小距離dminを持つ白とび画素の方向から遠い方向の画素を多く含む領域設定を行うことで、より効果的な補間処理が可能となる。
図13のフローに戻り、補間処理シーケンスについての説明を続ける。ステップS302において、初期設定として、色情報の補間値を保存する変数(ベクトル値)Ctmpをゼロベクトルに、重みの総和を保存する変数(スカラー値)Wtotalを0にする。ステップS303,S304においては、補間値算出範囲(x,y,x,y)から選択する各画素の座標(s,t)を表わす変数s,tの初期設定処理を行なう。初期的には、補間値算出範囲(x,y,x,y)の1つの頂点に対応する画素座標(s,t)を選択し、それぞれs=x、t=yに設定する。
次にステップS305において、選択画素(s,t)に対して適用する重みw(x,y,s,t)を算出し、算出した重みw(x,y,s,t)を、重み総和保存変数(スカラー値)Wtotalに加算し、重み総和保存変数(スカラー値)Wtotalを更新し、さらに、選択画素(s,t)の色情報C(s,t)に、重みw(x,y,s,t)を乗じて、色情報補間値保存変数Ctmpに加算して、色情報補間値保存変数Ctmpを更新する処理を行う。すなわち、
total=Wtotal+w(x,y,s,t)
tmp=Ctmp+w(x,y,s,t)×C(s,t)
これらの算出式により、処理対象画素(s,t)に対する重みw(x,y,s,t)を適用して、色情報補間値保存変数(ベクトル値)Ctmpと、重み総和保存変数(スカラー値)Wtotalとの更新を行なう。
なお、最も単純な処理例では、すべての選択画素(s,t)の重みw(x,y,s,t)を1とする設定が適用できる。すべての画素(s,t)において重みw(x,y,s,t)=1とする設定では、補間値算出範囲(x,y,x,y)から選択されるすべての参照画素の平均値を、注目画素(x,y)の画素値決定に適用する補間処理となる。
この他、重みw(x,y,s,t)の設定態様としては、パープルフリンジ画素を最適に補間するための重みwの設定例として、注目画素(x,y)と座標(s,t)の距離に応じた値を重みwとして用いる構成としてもよい。さらに、画素(s,t)の色情報C(s,t)の色相がパープルフリンジ色相から離れているほど重みを大きな値にする設定とするなど、入力画像の色情報を考慮する方法を採用してもよい。
ステップS305における色情報補間値保存変数(ベクトル値)Ctmpと、重み総和保存変数(スカラー値)Wtotalとの更新処理の後、ステップS306において、選択画素の座標(s,t)のx成分値:sを1増加させ、ステップS307においてsが、s>x、すなわち、補間値算出範囲(x,y,x,y)を超えるか否かを判定しYesならS308へ進みNoならS305へ戻る。ステップS308では、選択座標(s,t)のy成分値:tを1増加させ、ステップS309においてtが、t>y、すなわち、補間値算出範囲(x,y,x,y)を超えるか否かを判定しYesならS310へ進みNoならS304へ戻る。これらの処理は、補間値算出範囲(x,y,x,y)において、選択画素(s,t)を1つずつ移動させる処理であり、ステップS309がYesと判定されると、補間値算出範囲(x,y,x,y)の全画素についての処理が終了し、補間値算出範囲(x,y,x,y)の全画素に基づいて算出された最終的な色情報補間値保存変数Ctmpと、重み総和保存変数Wtotalとが決定する。
最後に、ステップS310において、これらの補間値算出範囲(x,y,x,y)の全画素に基づいて算出された最終的な色情報補間値保存変数Ctmpと、重み総和保存変数Wtotalとに基づいて、注目画素(x,y)の補正色としての補正色情報C'(x,y)を、下式(式6)、すなわち、
Figure 0004539280
上記式(式6)に基づいて決定する。
上記式(式6)において、pは、先に説明した図8のステップS216において算出した偽色(PF)度合いpである。すなわち、
(a)白とび(高輝度画素)への近さ=白とび距離評価値P
(b)彩度の大きさ=彩度評価値P
(c)偽色に相当する特定色相への近さ=色相評価値Pθ
(a)〜(c)の乗算値として、前述の式(式5)に基づいて算出された注目画素(x,y)の偽色(PF)度合いpである。
tmp、Wtotalは、前述のステップS309までの処理において求めた補間値算出範囲(x,y,x,y)の全画素に基づいて算出された最終的な色情報補間値保存変数Ctmpと、重み総和保存変数Wtotalであり、C(x,y)は、補間処理前の注目画素(x,y)の色情報であり、(Ctmp/Wtotal)は、注目画素(x,y)の近傍領域に設定された補間値算出範囲(x,y,x,y)の全画素に基づいて算出された補間値に相当する。
上記式は、注目画素(x,y)の偽色(PF)度合いpの値が高い(1に近い)ほど、注目画素(x,y)の補間処理前の元画素の画素値に相当する色情報C(x,y)の影響が小さく、補間値算出範囲(x,y,x,y)の構成画素の色情報から算出される補間値の影響度が高くなる調整処理によって、注目画素(x,y)の補正画素値としての補正色情報C'(x,y)が設定されることを示す。上記式において、[p×Ctmp/Wtotal]は、補間値算出範囲(x,y,x,y)の構成画素の色情報に基づいて決定される値である。
一方、注目画素(x,y)の偽色(PF)度合いpの値が小さい(0に近い)ほど、注目画素(x,y)の補間処理前の元画素値に対応する色情報C(x,y)の影響が大きく、補間値算出範囲(x,y,x,y)の構成画素の色情報に基づく補間値の影響度が小さくなる調整処理によって注目画素(x,y)の補正色情報C'(x,y)が設定される。
以上の処理が、図8のステップS217の処理であり、この処理によって1つの注目画素に対する画素値補間処理、すなわち、注目画素の元画素値と、補間値算出範囲(x,y,x,y)の構成画素の色情報に基づく補間値とを適用し、注目画素の偽色度合いpに応じて元画素値と補間値との寄与率を変更して注目画素の補正画素値を算出する処理が終了する。
上述したように、本発明処理の画像処理では、偽色である可能性を示すパラメータとしての注目画素の偽色度合いpを、(a)白とび(高輝度画素)への近さを示す白とび距離評価値P、(b)彩度の大きさを示す彩度評価値P、(c)偽色に対応する特定色相への近さを示す色相評価値Pθを適用して算出し、上記式(式6)によって偽色度合いpを適用して補正画素値を算出する構成としたことにより、パープルフリンジ等の偽色の可能性の高い画素については周囲画素に基づく補間値の寄与率を高め、偽色の可能性の低い画素については、元画素値の寄与率を高くした補正が実行されることになり、破綻の無い高品質な画像を取得することが可能となる。
なお、本処理例では、パープルフリンジ等の偽色画素を補正する方法の一例として、図13のフローチャートに従った処理例を挙げたが、本方法に限らず、他にも、パープルフリンジ度合いpを用いて彩度を削減する方法もある。色空間として例えばYCbCrを用いる場合、この方法は、以下の式(式7)で示す算出処理によって実現される。
Cb'=(1.0−p)*(Cb−128)+128
Cr'=(1.0−p)*(Cr−128)+128
・・・(式7)
上記式(式7)において、Cb,Crは、補正対象となる注目画素の元の色を示し、YCbCr色空間における値(Cb,Cr)である。これらの値は0〜128の値を持つ。これらの値に、注目画素(x,y)の偽色(PF)度合いpを適用して、補正後の注目画素の色情報Cb',Cr'を決定する。上記式においても、注目画素(x,y)の偽色(PF)度合いpが高いほど、注目画素の元の色データとしての(Cb,Cr)の影響の少ない補正がなされることになる。
また、上述の式(式7)で算出される彩度を削減した画素に対して、図13のフローに示すステップS302〜S309の処理を実行して、補間値算出範囲(x,y,x,y)の全画素に基づく色情報補間値保存変数Ctmpと、重み総和保存変数Wtotalを算出し、この値を用いて、ステップS310の処理、すなわち、前述の式(式6)を適用して、注目画素の補正色情報C'(x,y)を算出する構成としてもよい。この補正処理によっても、効果的な偽色(パープルフリンジ)軽減が実現される。
ほかにも、パープルフリンジ等の偽色を補正する方法として、前述の式(式5)で算出した偽色(PF)度合いpを基にして、そのカーネルサイズを設定したローパスフィルタを施す方法も適用可能である。例えば、注目画素(x,y)の偽色(PF)度合いpが低い場合は、注目画素(x,y)の比較的近くにある画素の画素値のみを選択して、これらの画素値を適用した補間処理を実行し、注目画素(x,y)の偽色(PF)度合いpが高い場合は、注目画素(x,y)の近傍のみではなく、より広い範囲の周辺画素を参照画素として選択して、これらの広範囲の画素の画素値を適用した補間処理を実行する構成としてもよい。
すなわち、前述の式(式5)で算出した偽色(PF)度合いpに基づいて、フィルタリング態様を変更したローパスフィルタを適用して修正された補間値、すなわち注目画素近傍の画素値に基づいて生成される補間値を修正して修正補間値を適用して注目画素の補正画素値を算出する構成としてもよい。
また、前述の式(式5)で算出した偽色(PF)度合いpをそのまま使うと補正結果が安定しない場合は、偽色(PF)度合いp、または、白とび距離評価値P、彩度評価値P、色相評価値Pθ、それぞれを入力として、各値に対応する最適な補正態様を設定したルックアップテーブルを用意し、ルックアップテーブルに基づく補正処理を実行することで、効果的にパープルフリンジが削減されるようパープルフリンジ度合いを修正する構成としてもよい。
図8のフローに戻り画像処理のシーケンスについての説明を続ける。ステップS217において、図13を参照して説明した処理に従って、1つの注目画素(x,y)の補正された色情報C'(x,y)、すなわち、上述の処理によって注目画素の周囲画素の画素値を適用した補間画素値が決定される。1つの注目画素(x,y)の補正画素値が決定すると、次にステップS218において、注目画素の座標(x,y)のx成分値を1増加させ、ステップS219においてxが、x>w−1、すなわち、画像サイズの幅wに達したか否かを判定しYesならS220へ進みNoならS203へ戻る。ステップS220では、注目画素(x,y)のy成分値を1増加させ、ステップS221においてyが、y>h−1、すなわち、画像サイズの高さhに達したか否かを判定しYesなら処理を終了し、NoならS202へ戻る。これらの処理は、処理対象画像(幅w画素、高さh画素)の画像データにおいて、注目画素(x,y)を1つずつ移動させる処理であり、ステップS221がYesと判定されると、処理対象画像(幅w画素、高さh画素)の全画素についての処理が終了し、すべての画素を注目画素として設定した上で補正した画素値が決定される。
以上の処理が、図2の総合処理フローにおけるステップS12の平均法に基づく画像補正処理の詳細である。本処理の特徴は、ユーザのアシスト、すなわち画像に応じた最適なパラメータの設定などの処理を行なうことなく、すべてを自動処理として行なった場合でも、破綻の無い画像を生成することが可能となる点である。
前述したように、図2の総合処理フローにおけるステップS12の平均法に基づく画像補正処理は、ステップS11において生成した縮小画像に対して実行される。ステップS13では、ステップS12において実行した平均法に基づく画像補正結果データの拡大処理を実行する。
ステップS13では、ステップS12での補正結果を、オリジナルの入力画像に反映させる処理を行う。具体的には、ステップS12において縮小画像上で色が補正された部分に対応する、オリジナル画像の部分の色情報だけを更新する処理を行う。そのための第1段階として、縮小画像を拡大し、オリジナル画像と同じ解像度にする必要がある。小さい画像を拡大する方法は、一般にさまざまな方法が知られている。その一例が、bilinear補間による拡大処理である。これは、拡大後画像の画素値を求めるときに、拡大前の画像を基準としたときの座標を求め、その位置の4隅に対応する近傍の4画素から線形に補間を行う方法である。
図15を参照して、ステップS13の拡大処理の詳細について説明する。図15の処理フローでは、ステップS12で生成した補正画像に対する拡大処理を実行して得られる画像データと、撮影画像データとしてのオリジナル画像データとをブレンドして、拡大画像データを生成する。
平均法に基づく補正画像の拡大画像の色情報をC(x,y)、
オリジナル画像の色情報をCorg(x,y)、
拡大処理の結果画像データの色情報をCnew(x,y)、
として、拡大処理の結果画像データの色情報:Cnew(x,y)を、C(x,y)と、Corg(x,y)とのブレンドによって求める。
まず、ステップS401において、ブレンド比画像B(x,y)を設定する。ブレンド比画像B(x,y)は、オリジナル画像と同様の画素数(H×W)からなり、各画素に対応して0〜1のブレンド比が設定された画像である。ブレンド比画像B(x,y)は、ステップS12で算出された偽色(PF)度合いpを基準にして生成される。偽色(PF)度合いpは、縮小画像上で各画素ごとに算出される。まずは、これを上述のbilinear補間などにより拡大処理を行い、オリジナル画像と同様の画素数(H×W)にする。次に、この拡大した偽色(PF)度合い画像の各画素値に対し0から1の定数を乗算することにより、最終結果に対する平均法補正結果の寄与率を変更することができる。すなわち、弱めに補正をかけたいときなど、小さめの値の定数を各画素に乗算することにより、最終結果画像における平均法補正結果の寄与率を下げることができる。この0から1の定数は、ユーザによる設定、あるいは予め定められた値を用いる。このようにして偽色(PF)度合いを拡大したものを基に算出された画像をブレンド比画像B(x,y)とする。
ステップS402では、ステップS12で生成した平均法による補正画像を拡大し、色情報C(x,y)を持つ拡大画像を得る。拡大手法は、前述したbilinear補間による拡大処理などが適用される。この処理により、平均法による補正処理を施した縮小画像データ、すなわち、低解像度画像データを、オリジナルの入力画像と同等の解像度(幅W、高さH)に拡大し、拡大画像C(x,y)を得る。
次に、ステップS403以下において、拡大処理の結果画像データの構成画素毎の色情報Cnew(x,y)を決定する。まず、ステップS403、S404において、画素数(H×W)からなる拡大画像の処理画素(x,y)の初期設定としてy=0,x=0の設定を行う。
次にステップS405において、拡大画像の処理画素(x,y)の色情報Cnew(x,y)を決定する。色情報の決定処理は、下記式(式8)、すなわち、
new(x,y)=B(x,y)×C(x,y)+(1−B(x,y))×Corg(x,y) ・・・(式8)
に従って求める。
上記式(式8)は、各画素毎に0〜1の範囲の値が設定されたブレンド比画像B(x,y)に基づいて決定されるブレンド比に応じて、オリジナルの入力画像とステップS12で生成した平均法による補正画像とをブレンドして、拡大画像の処理画素(x,y)の色情報Cnew(x,y)を決定するものである。ブレンド比画像B(x,y)は、平均法による補正の補正度合いを基に算出された画像である。これを用いて、オリジナル画像と平均法の結果をブレンドすると、オリジナル画像において補正がなされた部分のみ、すなわち偽色が発生していた部分だけ、の色情報を更新することが出来る。このため、ステップS12において補正がなされなかった部分は、オリジナルの画像がそのまま結果として使われるため、画像が劣化することは無い。
上記式(式8)に従った算出処理に従って、1つの注目画素(x,y)の色情報Cnew(x,y)が決定される。1つの注目画素(x,y)の画素値が決定すると、次にステップS406において、処理画素の座標(x,y)のx成分値を1増加させ、ステップS407においてxが、x>W−1、すなわち、オリジナルの入力画像と同等の解像度(幅W、高さH)を持つ画像データの画像幅Wに達したか否かを判定しYesならS408へ進みNoならS405へ戻る。ステップS408では、処理画素(x,y)のy成分値を1増加させ、ステップS409においてyが、y>H−1、すなわち、画像サイズの高さHに達したか否かを判定しYesなら処理を終了し、NoならS404へ戻る。これらの処理は、処理対象画像(幅W画素、高さH画素)の画像データにおいて、注目画素(x,y)を1つずつ移動させる処理であり、ステップS409がYesと判定されると、処理対象画像(幅W画素、高さH画素)の全画素についての処理が終了し、オリジナル入力画像と同等の解像度(幅W、高さH)の全画素の画素値が決定される。
なお、オリジナルの入力画像とステップS12で生成した平均法による補正画像とをブレンドして生成した拡大画像、すなわち図2に示す総合処理フローのステップS13において生成する拡大画像をステップS15の拡大処理によって生成する拡大画像と区別するため、[Cavgnew(x,y)]とする。
次に、図2に示す総合処理フローのステップS14において、穴埋め法に基づく画像補正処理を実行する。ステップS14における穴埋め法に基づく画像補正処理は、ステップS11において生成した縮小画像に対して実行される。縮小画像に対する画像処理として実行することにより効率的な処理、すなわち計算コストを低減した処理として実行することができる。
ステップS14における穴埋め法に基づく画像補正処理の詳細について、図16以下を参照して説明する。図16は、穴埋め法に基づく画像補正処理の全体処理を表すフローチャートである。図16以下を参照して穴埋め法の処理の詳細について説明する。なお、図16に示す穴埋め法に基づく画像補正処理は、図2の総合処理フローのステップS11において生成した縮小画像に対して実行される処理である。各ステップの処理について説明する。
ステップS501は、白とび領域検出処理であり、補正対象の入力画像データ中から白とび部分を検出する。ステップS502は、偽色画素検出領域設定処理であり、白とびの周囲の偽色発生画素である紫画素の検索領域を設定する。さらに、ステップS503は、偽色画素検出処理であり、検索領域内にある紫色画素を検出する。ステップS504は、偽色画素補正処理であり、検出された紫色の画素の色成分を補正する。さらに、ステップS505は、色ぼかし処理(フィルタリング処理)であり、自然な結果を得るためのフィルタリング処理を施す。
なお、前述したように、処理対象となる画像は、図2に示す総合処理フローのステップS11において生成した縮小画像に対して実行される。各処理ステップの詳細について説明する。まず、ステップS501の白とび領域検出処理において、変換された画像データに基づく白とび領域検出処理(白とびマスク算出)を実行する。すなわち画像データから白とび画素を検出し、2値画像である白とびマスクSを生成する。図17を参照して、ステップS501において実行する白とび画素検出処理の詳細について説明する。
ステップS601、S602において、補正対象画像データである縮小画像の検査対象画素位置の初期設定を実行する。初期設定として、処理対象画像である縮小画像の検査対象画素位置をx=0、y=0として設定する。ステップS603において、輝度成分画像Linの各画素(x,y)について、輝度があらかじめ定められた閾値以上かどうか判別し、閾値以上ならばステップS604に進み、白とびマスクS(x,y)をtrueとし、閾値以下であれば、ステップS605に進み、白とびマスクS(x,y)をfalseとする。
ステップS606では、画素位置:xの更新を実行し、ステップS607においてxが最大値(x=w)に達しているか否かを判定し、達していない場合は、ステップS603以下を繰り返し実行する。ステップS607においてxが最大値(x=w)に達している場合は、ステップS608に進み、画素位置:yの更新を実行し、ステップS609においてyが最大値(y=h)に達しているか否かを判定し、達していない場合は、ステップS602以下を繰り返し実行する。全ての画素(x=0〜w,y=0〜h)に対する処理が終了すると、白とびマスクの生成が終了する。
この結果、各画素位置において、閾値より大きい輝度レベルを持つ画素領域と、閾値以下の輝度領域を持つ画素領域とを区分した白とびマスクが生成される。(暗)0〜255(明)の輝度レベルが設定されている場合、閾値は、例えば250程度に設定され、250以上の輝度レベルを持つ画素を白とび発生画素として抽出し、これらの画素のみを区別可能とした白とびマスクが生成される。
上述の処理によって図16のステップS501が終了し、次に、ステップS502の偽色画素検出領域設定処理を実行する。この処理において、白とび部分周囲の偽色発生部検索領域設定(Dilate)処理を実行する。ここでは、白とび部分周囲の偽色発生部検索領域を区別するためのマスクP、すなわち、白とび部分周囲における紫画素検索領域を表すマスクPを生成する。なお、Pは2値のマスク画像である。
図18を参照して、ステップS502の偽色発生部検索領域設定処理の詳細について説明する。まずステップS651において、偽色領域マスクPの全画素をfalseに初期化する。次に、ステップS652,S653において、画素位置の初期設定を実行する。初期設定として画素位置をx=0、y=0として設定する。
画素位置設定の後、ステップS654において、設定画素位置における白とびマスクSの画素値を判別する。設定画素位置(x,y)において、白とびマスクS(x,y)=falseであれば、ステップS664へ進み、次の画素に対する処理に移る。もし、S(x,y)=trueであれば、ステップS655へ進む。画素位置(x,y)において、白とびマスクS(x,y)=falseであるとは、画素位置(x,y)の画素値が白とび画素ではないことを意味し、画素位置(x,y)において、白とびマスクS(x,y)=trueであるとは、画素位置(x,y)の画素値が白とび画素であることを意味する。
画素位置(x,y)において、白とびマスクS(x,y)=trueである場合、ステップS655において、白とび画素(x,y)の周囲において偽色を発生する可能性がある範囲を算出する。前述の通り、パープルフリンジは、白とび部分の周囲に発生し、光学系の絞り、焦点距離によって発生する可能性のある範囲が変わる。また、画像上での光学中心からの距離によっても、発生する範囲が変化する。本実施例では、例えば撮像システムの光学系の特性を踏まえ、画像領域に対応した偽色画素検出領域を設定した例えばルックアップテーブル(LUT)など、あらかじめ設定された偽色画素検出領域算定情報を適用する。例えば、ルックアップテーブル(LUT)は、画像上での光学中心から白とび画素(x,y)までの距離と、画像データの撮影時の絞り、焦点距離情報とを入力パラメータとして、偽色画素検出領域情報を出力可能な構成を持つ。
画像データの撮影時の絞り、焦点距離情報は画像データの属性情報から取得し、画像上での光学中心から白とび画素(x,y)までの距離は、本フローにおいて検査対象として設定された画素位置情報が適用される。
なお、画像データの撮影時の絞り、焦点距離情報等の属性情報が取得できない場合は、画像上での光学中心から白とび画素(x,y)までの距離のみに基づいて偽色画素検出領域を決定する構成としてもよく、また、光学中心から白とび画素(x,y)までの距離等の情報についても適用することなく、白とび画素(x,y)の周囲の一定領域を偽色画素検出領域として一律に設定する構成としてもよい。
ステップS655では、白とび画素(x,y)の周囲の偽色画素検出領域の範囲を、(x,x,y,y)の4個のスカラー値として算出する。これは、図19に示すように、白とび画素(x,y)601の周囲においてx〜x,y〜yによって規定される矩形領域を、白とび画素(x,y)の周囲に存在する偽色画素検出領域602とするものである。なお、図19において点線の画素603は、注目白とび画素(x,y)601以外の白とび画素603である。
次に、算出した偽色画素検出領域(x,x,y,y)について、i=x,j=yを起点として設定(S656,S657)し、ステップS658〜S662において、偽色画素検出領域(x,x,y,y)内の各画素について白とびマスクS(i,j)の値がtrueかfalseかの判別を行う。図19に示す偽色画素検出領域602内の構成画素について、順次、白とびマスクの値がtrueかfalseかの判別を行う。図19において、注目白とび画素(x,y)601と白とび画素603については、白とびマスクS(i,j)=trueとなる。
ステップS658において、白とびマスクS(i,j)=trueと判定した場合は、ステップS660に進み、次の画素の処理を行う。白とびマスクS(i,j)=falseの場合は、ステップS659に進み、偽色領域マスクP(i,j)の値をtrueに設定する。その後、ステップS660に進み、次の画素に対する処理を行う。ステップS660〜S663は、iおよびjの値の更新処理および最大値i=x、j=yであるか否かの判定処理である。順次iおよびjの値の更新を行いながら、特定画素(x,y)の周囲に設定した偽色領域マスクP(i,j)の値を決定する。
偽色領域マスクP(i,j)=trueは、偽色画素検出領域に属し、白とび画素ではない画素であり、偽色領域マスクP(i,j)=falseは、偽色画素検出領域に属さないか、または白とび画素である画素に対応する。
ステップS663において、偽色画素検出領域(x,x,y,y)のすべての画素(i,j)に対して処理が完了したと判別されたら、ステップS664に進む。ステップS664〜S667は、xおよびyの値の更新処理および最大値x=w、y=hであるか否かの判定処理である。順次xおよびyの値の更新を行いながら、処理対象画像(x=0〜w,y=0〜h)の全画素について偽色領域マスクP(i,j)の値を決定し、偽色領域マスクP(i,j)を生成する。画像中のすべての画素(x,y)が処理されたと判別されると、図16のステップS502の偽色画素検出領域設定処理は終了する。
次の処理は、図16のステップS503の偽色画素検出処理である。ステップS502では、白とび周囲の偽色、すなわちパープルフリンジが存在する可能性のある画像中の領域を偽色領域マスクPとして算出したが、次のステップS503においては、実際にパープルフリンジであると思われる画素を検出する処理を行う。すなわち、偽色領域マスクP=trueの領域の画素を対象として、実際にパープルフリンジであると思われる画素を検出する。
ステップS503では、ステップS502で計算された偽色領域マスクPを上書きする形で偽色領域マスクPを更新し、最終的に偽色と判定される画素のみを特定可能な偽色領域マスクPを生成する。ステップS503の偽色画素検出処理の詳細について、図20を参照して説明する。
ステップS701、S702において、画像データの画素位置の初期設定を実行する。初期設定として画素位置をx=0、y=0として設定する。ステップS703では、画素位置(x,y)における偽色領域マスクPの値を判別する。P(x,y)=falseであった場合は、ステップS706に進む。P(x,y)=trueであった場合は、ステップS704へ進む。
前述したように、偽色領域マスクP(i,j)=trueは、偽色画素検出領域に
属し、白とび画素ではない画素であり、偽色領域マスクP(i,j)=false
は、偽色画素検出領域に属さないか、または白とび画素である画素に対応する。
画素位置(x,y)が、偽色領域マスクP(i,j)=true、すなわち、偽色画素検出領域に属し、白とび画素ではない画素である場合は、ステップS704において、位置(x,y)における色成分画像Cinの色が、偽色対応色であるか否かを判定する。例えばパープルフリンジの紫色であるかどうかを判別する。
色成分画像Cin(x,y)が偽色対応色、例えば紫色かどうかの判別方法は、この処理において適用している色空間によって異なる。例えば色空間としてCIE Lを用いた場合の判別方法の一例を図21を参照して説明する。色成分は、a成分,b成分を用いて判別される。a成分の値が、増えれば赤(Red)、減れば緑色(Green)に近づき、b成分の値が増えれば黄色(Yellow)、減れば青色(Blue)に近づくような特徴を持っている。したがって、(a,b)が第4象限に存在する場合、紫色(Purple)に近い色を持つ。紫色かどうか判別するには、ベクトル(a,b)がa軸となす角度αなどを使って判別する。
偽色として判定する紫色の対象となる角度の範囲などはパラメータとして適宜設定する。あるいは予め設定された値を適用する。なお、偽色(パープルフリンジ)部分画素の彩度は大きい傾向がある。したがって、前記の条件を満たしかつ、色成分Cinの彩度があらかじめ設定した閾値以上である場合だけを、偽色(パープルフリンジ)であると判定する設定としてもよい。このようにして、Cin(x,y)が偽色(パープルフリンジ)画素と判定された場合はステップS706へ、偽色(パープルフリンジ)ではないと判定された場合はステップS705へ進む。
ステップS705においては、偽色領域マスクP(x,y)をfalseに設定し、ステップS706に進む。すなわち、先のステップS502(図16)の処理においては、偽色の可能性があるとして偽色領域マスクP(x,y)=trueであったものを、偽色でないとの最終判断に基づいて、偽色領域マスクP(x,y)=falseに変更(更新)するものである。
すなわち、図20において説明している処理では、先のステップS502(図16)の処理において偽色の可能性のある画素から、色判定によって最終的に偽色であると判定される画素のみを選別し、偽色領域マスクP(x,y)を更新する。
ステップS706〜S709は、xおよびyの値の更新処理および最大値x=w、y=hであるか否かの判定処理である。順次xおよびyの値の更新を行いながら、処理対象画像(x=0〜w,y=0〜h)の全画素について偽色領域マスクP(i,j)の値を決定し、偽色領域マスクP(i,j)を生成する。画像中のすべての画素(x,y)が処理されたと判別されると、図16のステップS503の偽色画素検出処理は終了する。
次に、図16に示すステップS504の偽色画素補正処理について説明する。ステップS503では、上述したように偽色(パープルフリンジ)であると判別された画素を識別する偽色領域マスクPが生成された。次のステップS504では、偽色(パープルフリンジ)であると判別された画素の色を、その周囲の画素の画素値に基づく穴埋め繰り返し処理によって補間する処理を実行する。
図22(A),図22(B)は、図16に示すステップS504の偽色画素補正処理を説明するための模式図である。図22(A)に示されるように、ステップS503までの処理ですべての画素は、「白とび画素651」、「偽色(パープルフリンジ)画素652」、「白とびでもパープルフリンジでもないその他の画素653」のいずれかに分類される。
穴埋め繰り返し処理の最初のステップでは、画像中の各画素をスキャンし、もし、偽色(パープルフリンジ)画素652(位置(x,y))が、白とびでもパープルフリンジでもないその他の画素653に隣接する場合、例えば周囲の8近傍画素にその他の画素653が存在する場合、隣接するその他の画素653の画素の色成分Cの平均値を新たな画素の色成分C(x,y)として設定する。
このように、偽色(パープルフリンジ)画素652をその他の画素653によって画素値を設定する処理を、すべての画素に対して一回行うと、図22(B)のように、その他の画素653に隣接する偽色(パープルフリンジ)画素652の色成分が補間され、補間済み偽色(パープルフリンジ)画素654として設定される。
さらに、次の穴埋め繰り返し処理では、その他の画素653または補間済み偽色(パープルフリンジ)画素654に隣接する偽色(パープルフリンジ)画素652の色成分を、その他の画素653と補間済み偽色(パープルフリンジ)画素654に基づいて同様に補間する。このような繰り返し処理を、固定の回数繰り返す。この処理によって、偽色(パープルフリンジ)画素652は、図22(B)の矢印670の方向に、順次補間済み偽色(パープルフリンジ)画素654として設定されることになる。このような繰り返し処理を、固定の回数繰り返した後でも、色成分が補間されない偽色(パープルフリンジ)画素652が存在する場合は、周りの画素からの色補間は不可能と判断し、それらの画素の色の彩度を一律に落とす処理を施す。
このように、図16に示すステップS504の偽色画素補正処理は、ステップS503において、偽色(パープルフリンジ)と判定された画素の画素値を、周囲の白とび以外の画素に基づいて設定する処理、すなわち、穴埋め繰り返し処理である。この処理によって補間されない残存する偽色(パープルフリンジ)画素652については彩度低下処理を施す。
ステップS504の偽色画素補正処理の詳細について、図23および図24の処理フローを参照して説明する。図23および図24の処理フローにおいて、図23に示すステップS751からS765までは、偽色(パープルフリンジ)画素の色成分の穴埋め処理であり、図24に示すステップS766からS773までの処理は、穴埋めできなかった画素の彩度を低下させる処理である。
図23のフローから順に説明する。まず、ステップS751において、図16のステップS503の偽色画素検出処理において生成した偽色領域マスクPの内容を、同等の大きさの2値マスクP"にコピーする。例えば、
偽色領域マスクP=true→2値マスクP"=true(1)
偽色領域マスクP=false→2値マスクP"=false(0)
である。
ステップS752においては、穴埋め処理の繰り返し回数を示す変数tの値を0にセットする。ステップS753においては、2値マスクP"の値を、また別の同等の大きさの2値マスクP'にコピーする。なお、これらのマスクP"、P'は、繰り返し処理により減ってゆく偽色(パープルフリンジ)画素652の位置を保存するために用いる一時的なマスク画像である。
次に、ステップS754、S755において、処理対象画素位置座標を表す変数x,yの初期化を行い、x=0,y=0とする。次のステップS756では、2値マスクP'(x,y)の値を判別する。2値マスクP'(x,y)=falseである場合、すなわち、処理対象画素が偽色画素でない場合、ステップS760に進む。2値マスクP'(x,y)=trueである場合、すなわち、処理対象画素が偽色画素である場合、ステップS757へ進む。
ステップS757においては、画素(x,y)に隣接する画素に、2値マスクP'=falseかつ、白とびマスクS=falseの画素があるかどうか判別する。すなわち、偽色画素でも白とび画素でもない画素があるかどうか判別する。このような条件を満足する画素が画素(x,y)に隣接する画素に存在しないと判別された場合は、ステップS760に進む。
偽色画素でも白とび画素でもない画素が、画素(x,y)に隣接する画素として存在すると判別された場合は、ステップS758へ進む。ステップS758では、2値マスクP'=falseかつ、白とびマスクS=false、すなわち偽色画素でも白とび画素でもない画素であり、かつ画素(x,y)に隣接している1以上の画素の色成分Cの平均値を算出し、座標(x,y)の色成分C(x,y)に設定する。すなわち、画素(x,y)の画素値として設定する。この補間処理によっては、図22(b)の補間済み偽色(パープルフリンジ)画素654が設定される。
この処理の後、ステップS759へ進む。ステップS759においては、2値マスクP"(x,y)の値をfalseとする。すなわち、偽色画素から、補間済み偽色画素へ変更された画素を2値マスクP"(x,y)において、偽色画素でない画素として識別可能な設定とする。
ステップS760〜S763は、処理画素の座標更新および最大値判定処理であり、ステップS760においては、x座標の値を1増やす。次のステップS761において、x>w−1(wは入力画像の幅)であるかどうかの判別をする。x>w−1であると判定された場合はステップS762へ進み、x>w−1でないと判定された場合は、ステップS756へ進む。
ステップS762では、y座標を1増やし、次のステップS763で、y座標の最大値であるh−1(hは入力画像の高さ)との比較を行う。y>h−1である場合は、ステップS764へ進み、y>h−1でないと判定した場合はステップS755へ進む。
ステップS764では、繰り返し処理の回数を表すtを1増やす。ステップS765においては、繰り返し回数tが、あらかじめ定めた値tmax以上かどうかを判別する。また同時にマスク画像P"の内trueの値を持つ画素の個数が0かどうかを判別する。すなわち、穴埋め補間処理によって補間が終了していない偽色画素の個数が0になったか否かを判定する。以上の2つの条件のいずれかが真であると判別された場合は、ステップS766に進む。またいずれも偽と判断された場合は、ステップS753に戻り、再び穴埋め処理を行う。
ステップS765において、繰り返し回数tが、あらかじめ定めた値tmax以上となったか、あるいは、穴埋め補間処理によって補間が終了していない偽色画素の個数が0になったか、いずれかが真と判定されると、図24のステップS766に進む。
ステップS766、S767においては、処理対象画素の座標を表す変数x,yの初期化を行い、x=0,y=0とする。次のステップS768では、2値マスクP"の(x,y)における値がtrueかどうかを判別する。すなわち、処理対象画素が偽色画素であるかどうかを判別する。2値マスクP"(x,y)=trueである場合、すなわち偽色画素である場合は、ステップS769に進み、2値マスクP"(x,y)=falseである場合、すなわち偽色画素でない場合は、ステップS770に進む。
処理対象画素が偽色画素である場合は、ステップS769において、画素(x,y)の色成分C(x,y)の彩度を低下させる彩度低下処理を施す。例えばL表色系を用いている場合は、a,bの各成分の値に対して、1.0以下0.0以上の定数を掛け合わせることにより、一律に彩度を減少させることが出来る。ステップS769の彩度低下処理を終了すると、ステップS770に進む。ステップS770においては、x座標の値を1増やす。次のステップS771において、x>w−1であるかどうかの判別をする。x>w−1であると判別されればステップS772へ、x>w−1でないと判別されればステップS768へ進み、x座標を更新した隣接画素について同様の処理を繰り返す。
ステップS771において、x>w−1であると判定された場合は、x座標の最大値に達しており、ステップS772へ進み、y座標を1増やし、次のステップS773で、y座標の最大値であるh−1との比較を行う。y>h−1でない場合はステップS767へ進み、更新したy座標を持つ画素について同様の処理を繰り返す。ステップS773において、y>h−1であると判定すると、偽色画素補正処理を終了する。以上の処理によって図16に示すステップS504の偽色画素補正処理を終了する。
ステップS504の偽色画素補正処理を終了すると、次に、ステップS505の色ぼかし処理(フィルタリング)を実行する。ステップS504では、穴埋め処理の繰り返しにより、偽色(パープルフリンジ)画素の色を補間し、穴埋めし切れなかった偽色(パープルフリンジ)画素については、彩度を低下させる処理を行った。しかし、ステップS504の処理を施した偽色(パープルフリンジ)部分には、色が比較的急に変化する部分が発生してしまう可能性がある。ステップS505の色ぼかし処理(フィルタリング)では、この急な色変化を緩和するために、ぼかしフィルタをかける処理を行う。
ステップS505の色ぼかし処理(フィルタリング)の詳細について、図25の処理フローを参照して説明する。まず、ステップS801において、色ぼかし処理(フィルタリング)の繰り返し回数を示す変数tの値を0にセットする。次に、ステップS802では、先のステップS504の偽色画素補正処理で更新された色成分画像Cを、同等の大きさの色成分画像C'にコピーする。
次に、ステップS803、S804において、処理対象画素の座標を表す変数x,yの初期化を行い、x=0,y=0とする。次のステップS805では、偽色領域マスクP(x,y)の値を判別する。偽色領域マスクP(x,y)=falseである場合、すなわち、偽色画素ではない場合は、ステップS807に進む。偽色領域マスクP(x,y)=true、すなわち偽色画素である場合は、ステップS806へ進む。
なお、偽色領域マスクP(x,y)は、先のステップS503の偽色画素検出処理(図20の処理フローに対応)によって色(画素値)判定に基づいて偽色と判定された画素をtrueとして設定したマスクであり、先のステップS504の偽色画素補正処理によって補正された偽色画素領域についても、trueの値を維持しているマスクデータである。この色ぼかし処理(フィルタリング)処理に偽色領域マスクP(x,y)を適用するため、ステップS504の偽色画素補正処理においては、偽色領域マスクP(x,y)のコピーマスクP"を適用した。
図25の色ぼかし処理(フィルタリング)の処理についての説明を続ける。ステップS805において、偽色領域マスクP(x,y)=true、すなわち偽色画素である場合は、ステップS806へ進み、ステップS806では、色成分にぼかしフィルタを適用する。これは、色成分画像C'における画素(x,y)の色成分を示す画素値C(x,y)の値を周囲の画素の色成分を示す画素値C'に基づいて更新する処理である。例えば、処理対象画素(x,y)と、その周囲の8画素を合わせた9画素の色成分C'の平均値を求め、これを処理対象画素(x,y)の更新画素値C(x,y)として設定する移動平均フィルタを施す。
ステップS806のぼかしフィルタ適用処理を終了すると、ステップS807〜S810において処理対象画素の座標更新および最大値確認を行なう。ステップS807においては、x座標の値を1増やす。次のステップS808において、x>w−1であるかどうかの判別をする。x>w−1であると判定された場合はステップS808へ、x>w−1でないと判定された場合はステップS804へ戻り、x座標を更新した画素について同様の処理を実行し必要に応じたぼかし処理を実行する。
ステップS808において、x>w−1であると判定された場合はステップS809に進み、y座標を1増やし、次のステップS810で、y座標の最大値であるh−1との比較を行う。y>h−1でないと判定された場合はステップS804へ進み、更新したy座標を持つ画素について同様の処理を実行し必要に応じたぼかし処理を実行する。
ステップS810において、y>h−1であると判定されると、ステップS811へ進む。ステップS811では、色ぼかし処理(フィルタリング)の繰り返し回数tを1増やす処理をし、次のステップS812で、繰り返し回数tがあらかじめ定めた閾値t'max以上かどうかを判別する。t<t'maxである場合は、ステップS802へ戻り、t≧t'maxである場合は、色ぼかし処理(フィルタリング)を終了する。
以上の処理によって、図2の総合処理フローにおけるステップS14の穴埋め法に基づく画像補正処理が終了する。
次に、図2の総合処理フローにおけるステップS15では、ステップS14において縮小画像に対する穴埋め法で補正した部分を、オリジナルの入力画像に反映させる処理を行うこの処理は、前述した平均法に基づく補正画像に対する拡大処理、すなわち、図2に示すステップS13の拡大処理と同様の手法が適用される。具体的には、図15を参照して説明した手法とほぼ同様の手法となる。
ただし、図15のステップS401、S402が穴埋め法の結果と置き換えることになる。全体の流れとしては、ブレンド比画像を生成し、ステップS14で生成した補正画像に対する拡大処理を実行して得られる画像データと、撮影画像データとしてのオリジナル画像データとをブレンドして、拡大画像データを生成する。
図15を参照して各ステップの処理について説明する。まず、ステップS401において、ブレンド比画像B(x,y)を設定する。ブレンド比画像B(x,y)は、オリジナル画像と同様の画素数(H×W)からなり、各画素に対応して0〜1のブレンド比が設定された画像である。ブレンド比画像B(x,y)は、ステップS14で算出された偽色領域マスクPを基準にして生成される。偽色領域マスクPは、縮小画像上で各画素毎に偽色であるか否かを表わす2値のマスクである。ここで、偽色領域マスクPがtrueの画素は1.0、falseの画素は0.0の値をとる画像を作成し、この画像を拡大する処理を行う。すなわち前述のbilinear補間などにより拡大処理を行い、オリジナル画像と同様の画素数(H×W)にする。この拡大画像の画素値は、偽色領域マスクPがtrueだった部分は1.0、falseだった部分は0.0、trueとfalseが遷移する部分では、0.0から1.0の間の値を取るような画像となる。次に、この拡大した画像の各画素値に対し0から1の定数を乗算することにより、最終結果に対する穴埋め法補正結果の寄与率を変更することができる。すなわち、弱めに補正をかけたいときなど、小さめの値の定数を各画素に乗算することにより、最終結果画像における穴埋め法補正結果の寄与率を下げることができる。この0から1の定数は、ユーザによる設定、あるいは予め定められた値を用いる。このようにして偽色(PF)度合いを拡大したものを基に算出された画像をブレンド比画像B(x,y)とする。
ステップS402では、ステップS14で生成した穴埋め法による補正画像を拡大し、色情報C(x,y)を持つ拡大画像を得る。拡大手法は、前述したbilinear補間による拡大処理などが適用される。この処理により、穴埋め法による補正処理を施した縮小画像データ、すなわち、低解像度画像データを、オリジナルの入力画像と同等の解像度(幅W、高さH)に拡大し、拡大画像C(x,y)を得る。
次に、ステップS403以下において、拡大処理の結果画像データの構成画素毎の色情報Cnew(x,y)を決定する。まず、ステップS403、S404において、画素数(H×W)からなる拡大画像の処理画素(x,y)の初期設定としてy=0,x=0の設定を行う。
次にステップS405において、拡大画像の処理画素(x,y)の色情報Cnew(x,y)を決定する。色情報の決定処理は、下記式(式9)、すなわち、
new(x,y)=B(x,y)×C(x,y)+(1−B(x,y))×Corg(x,y) ・・・(式9)
に従って求める。
上記式(式9)は、前述した式(式8)と同様の式であり、各画素毎に0〜1の範囲の値が設定されたブレンド比画像B(x,y)に基づいて決定されるブレンド比に応じて、オリジナルの入力画像とステップS14で生成した穴埋め法による補正画像とをブレンドして、拡大画像の処理画素(x,y)の色情報Cnew(x,y)を決定するものである。ブレンド比画像B(x,y)は、穴埋め法による補正の偽色領域マスクPを基に算出された画像である。これを用いて、オリジナル画像と穴埋め法の結果をブレンドすると、オリジナル画像において補正がなされた部分のみ、すなわち偽色が発生していた部分だけ、の色情報を更新することが出来る。このため、ステップS14において補正がなされなかった部分は、オリジナルの画像がそのまま結果として使われるため、画像が劣化することは無い。
上記式(式9)に従った算出処理に従って、1つの注目画素(x,y)の色情報Cnew(x,y)が決定される。1つの注目画素(x,y)の画素値が決定すると、ステップS406〜S409において、処理対象画像(幅W画素、高さH画素)の範囲における座標更新を実行して、ステップS405に示す算出式、すなわち上記式(式9)に従ってすべての画素、すなわちオリジナル入力画像と同等の解像度(幅W、高さH)の全画素の画素値決定処理を繰り返し実行する。
この処理によって、縮小画像に対して実行した穴埋め法に基づく補正画像データの拡大処理が終了する。なお、オリジナルの入力画像とステップS14で生成した穴埋め法による補正画像とをブレンドして生成した拡大画像、すなわち図2に示す総合処理フローのステップS15において生成した拡大画像は、先のステップS13の拡大処理によって生成する拡大画像[Cavgnew(x,y)]と区別して[Cholenew(x,y)]とする。
ここまでで図2に示す総合処理フローのステップS15までの処理が完了し、縮小画像に対する平均法に基づく画像補正処理を施した結果を拡大した第1の補正画像データと、縮小画像に対する穴埋め法に基づく画像補正処理を施した結果を拡大した第2の補正画像データとが得られたことになる。図2に示す総合処理フローのステップS16では、これら2つの補正画像データのブレンド処理を実行して、最終的な補正画像を生成する。
穴埋め法、平均法それぞれによる補正結果画像データは、それぞれ特徴がある。穴埋め法による補正結果画像は、穴埋めによる補間により、ほとんどのパープルフリンジ等の偽色は軽減され、パープルフリンジ等の偽色は、周囲のパープルフリンジでない画素の色で補間されるので大きな効果がある。しかし、どの画素がパープルフリンジと判定されるかにより、結果の画像が大きく変わる可能性がある。自動で処理を行う場合、たいていの画像に対しては有効に働くが、ごく一部の画像に対して結果が不自然なものになる可能性がある。
一方、平均法によるパープルフリンジ等の偽色の補正は、ローパスフィルタをかけた色情報を偽色(PF)度合いに応じて、オリジナル画像の色情報とブレンドする方法であり、結果画像に大きな破綻が起こりにくいという特長がある。しかし、穴埋め法に比べると偽色の補正される効果が低いと言える。
図2に示す総合処理フローのステップS15では、これらのそれぞれの特徴を持つ2つの補正画像データをブレンドして最終的な補正画像データを生成する。偽色(PF)度合いpを適用した補正処理によって取得した第1の補正画像Cavgnew(x,y)と、穴埋め補間処理によって算出した第2の補正画像Cholenew(x,y)とのブレンド処理によって、最終的な補正画像データCfinal(x,y)を算出する処理を実行する。
このブレンド処理は、所定のブレンド比率kを適用して、例えば、以下に示す式、すなわち、
final(x,y)=k×Cavgnew(x,y)+(1−k)×Cholenew(x,y)
に従って算出する。ブレンド比率kは0〜1の範囲で決定する。ブレンド比率をどのような値に設定するかは、それぞれの処理の特徴を踏まえて決定する。例えばより大きな補正を望む場合は、穴埋め法の処理結果の反映比率を大きくする設定とし、また、なるべく破綻のない結果画像を取得したい場合は、偽色(PF)度合いpを適用した補正結果データをより反映するようなブレンド比率kの設定とする。
以上の処理が、図2に示す総合処理フローの最終ステップであるステップS16の処理として実行される処理である。
このように、本発明の処理においては、ブレンド処理を適用することにより、穴埋め補間処理と、偽色(PF)度合いpを適用した補正処理とのそれぞれの利点を融合した調和された画素値補正が可能となり、パープルフリンジ等の偽色が軽減されるとともに破綻することのない補正画像を取得することが可能となる。結果として、カメラで撮影した画像に起こる色収差によるパープルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力を実現することができる。
次に、図26、図27を参照して、上述した処理を実行する本発明の画像処理装置におけるデジタル信号処理部(DSP)(図1のDSP106に相当)の機能構成について説明する。デジタル信号処理部(DSP)106は、機能的には、図26に示すように、縮小処理部700、偽色(PF)度合いpに基づく画素値補正を実行する平均法処理部710と、穴埋め法に基づく画素値補正処理を実行する穴埋め法処理部720、平均法処理部710の補正結果の拡大処理を実行する第1拡大処理部717、穴埋め法処理部720の補正結果の拡大処理を実行する第2拡大処理部727、両補正結果のブレンド処理を実行するブレンド処理部740とを有する。
平均法処理部710は、白とび距離評価値P算出部711、彩度評価値P算出部712、色相評価値Pθ算出部713、偽色(PF)度合いp算出部714、補間値[Ctmp/Wtotal]算出部715、第1補正画素値[Cavgnew(x,y)]算出部716を有する。
一方、穴埋め法処理部720は、図27に詳細を示すように、白とび検出部721、偽色画素検出領域設定部722、偽色(パープルフリンジ)検出部723、画素値補正部724を有する。画素値補正部724は、偽色(パープルフリンジ)穴埋め補間部725、偽色(パープルフリンジ)ぼかし処理部726から構成される。
まず、図26を参照して平均法処理部710の各構成部の処理について説明する。図26に示すように、デジタル信号処理部(DSP)106は、入力画像フレームメモリ751から処理対象画像フレームを入力する。なお、入力画像は、ここでは、フレームメモリ751からの入力として示すが、フレームメモリを介さず、撮影画像データをデジタル信号処理部(DSP)106に直接入力して処理する構成としてもよい。
デジタル信号処理部(DSP)106は、まず、縮小処理部700において、入力画像の縮小処理を実行する。この縮小処理は、図3、図4のフローを参照して説明した処理に従って実行される処理であり、輝度情報と色情報を別々の方法で縮小する。輝度情報の縮小処理においては白とびが失われないように、色情報の縮小処理においてはパープルフリンジ(PF)等の偽色の色データが失われないように考慮して入力画像に対し縮小処理を施す。
次に縮小画像データが、平均法処理部710と、穴埋め法処理部720に入力される。先に図2を参照して説明した処理フローでは、先のステップで平均法に基づく画像補正処理を実行し、その後に穴埋め法に基づく画像補正処理を実行するシーケンスとして説明したが、平均法に基づく画像補正処理と、穴埋め法に基づく画像補正処理とは全く独立した処理であり、並列に処理することが可能である。
まず、平均法処理部710における処理について説明する。平均法処理部710では、縮小処理部700において生成した縮小画像を構成する各画素を1つずつ注目画素(x,y)として選択し、先に図7、図8のフローチャートを参照して説明した処理に従って、注目画素(x,y)に対応する以下の評価値、すなわち、
(a)白とび(高輝度画素)への近さ=白とび距離評価値P
(b)彩度の大きさ=彩度評価値P
(c)偽色に相当する特定色相への近さ=色相評価値Pθ
をそれぞれ白とび距離評価値P算出部711、彩度評価値P算出部712、色相評価値Pθ算出部713において算出する。白とび距離評価値P算出部711における白とび距離評価値P算出処理は、図7、図8のフローにおけるステップS204〜S214の処理によって実行される処理であり、前述の式(式2)によって算出される。
彩度評価値P算出部712、色相評価値Pθ算出部713における彩度評価値Pと、色相評価値Pθの算出はステップS215の処理、すなわち、図11を参照して説明したsおよびθの値に基づいて算出され、前述の式(式3)によって色相評価値Pθが算出され、前述の式(式4)によって彩度評価値Pが算出される。
偽色(PF)度合いp算出部714は、白とび距離評価値P算出部711、彩度評価値P算出部712、色相評価値Pθ算出部713において算出された各評価値に基づいて、注目画素(x,y)の偽色(PF)度合いpを算出する。偽色(PF)度合いpは、前述の式(式5)に従って算出される。
補間値[Ctmp/Wtotal]算出部715と、第1補正画素値算出部716の処理は、図8のフローにおけるステップS217の処理、すなわち、図13のフローに従った処理を実行する。補間値[Ctmp/Wtotal]算出部715では、注目画素(x,y)の周囲に、補間値算出範囲(x,y,x,y)を設定し、この範囲の構成画素の色情報に基づいて補間処理パラメータとしての重み総和保存変数Wtotalと、色情報補間値保存変数Ctmpとを算出し、補間値[Ctmp/Wtotal]を算出する。この処理は、図13のフローにおけるステップS301〜S309の処理に相当する。
第1補正画素値算出部716は、図13のフローにおけるステップS310の処理を実行して、注目画素の平均法に基づく第1補正画素値情報としての色情報C(x,y)を算出する。色情報C(x,y)の算出は、前述の式(式6)に従って実行される。縮小画像を構成する画素に対する第1補正画素値が決定された縮小画像データは、第1拡大処理部717に入力され、拡大処理が実行される。
第1拡大処理部717では、先に図15を参照して説明した処理フローに従った画像の拡大処理が実行される。すなわち縮小画像上で各画素毎に偽色であるか否かを表わす2値のマスクとして構成される偽色領域マスクPを基準にして0〜1のブレンド比の設定されたブレンド比画像B(x,y)を生成し、生成したブレンド比画像B(x,y)を適用して、平均法による補正画像の拡大画像とオリジナルの入力画像をブレンドして第1の補正画像の拡大画像を生成する。平均法に基づいて画素値の補正された第1の補正拡大画像はブレンド処理部740に出力され、穴埋め法処理部720における補正データに基づく第2の補正拡大画像とのブレンド処理が実行されることになる。
図27を参照して、穴埋め法処理部720の各構成部の処理について説明する。穴埋め法処理部720は、縮小処理部700において生成された縮小画像データを入力し、縮小画像データに対して穴埋め法に基づく補正処理を実行する。
白とび検出部721は、縮小画像データに基づいて、白とびを起こしている画素部分の検出を実行する。この処理は、図16に示すフローチャートのステップS501に相当する処理であり、その詳細は、図17のフローチャートを参照して説明したように予め定めた輝度閾値以上の輝度を有する画素を白とび画素として検出し、白とび画素を識別する白とびマスクS(x,y)を生成する処理を実行する。
偽色画素検出領域設定部722は、白とび検出部721において検出された白とび画素の周囲部分に偽色画素の検出領域を設定する処理を行う。この領域設定処理は、白とびマスクS(x,y)=trueである白とび画素(x,y)の周囲において偽色を発生する可能性がある範囲を算出する処理であり、あらかじめ設定された偽色画素検出領域算定情報を適用する。この処理は、図16に示すフローチャートのステップS502に相当する処理であり、図18に示す処理フローに従って実行される処理である。
偽色画素検出領域設定部722は、例えば、画像上での光学中心から白とび画素(x,y)までの距離と、画像データの撮影時の絞り、焦点距離情報に対応付けられた偽色画素検出領域情報を持つルックアップテーブル(LUT)を適用して、各白とび画素(x,y)の周囲に偽色画素検出領域を設定する。なお、画像データの撮影時の絞り、焦点距離情報等が存在しない場合は、画像上での光学中心から白とび画素(x,y)までの距離のみに基づいて、偽色画素検出領域を決定する構成としてもよく、また、光学中心から白とび画素(x,y)までの距離等の情報についても適用することなく、白とび画素(x,y)の周囲の一定領域を偽色画素検出領域として一律に設定する構成としてもよい。
偽色画素検出領域設定部722は、先に図19を参照して説明したように、白とび画素(x,y)601の周囲の偽色画素検出領域の範囲を、(x,x,y,y)の4個のスカラー値として算出し、さらに、この領域において白とび画素を除去した偽色領域マスクPを生成する。
偽色(パープルフリンジ)検出部723は、偽色画素検出領域設定部722の設定した偽色領域マスクPを適用し、さらに、各画素の色判定処理によって偽色(パープルフリンジ)と判断される画素を検出する処理を実行する。すなわち、偽色領域マスクPを更新し、補正対象となる偽色画素のみを識別可能な偽色領域マスクPを生成する。この処理は、図16に示すフローチャートのステップS503に相当する処理であり、図20に示す処理フローに従って実行される処理である。前述したように、偽色として認定すべき色の設定は任意であり、特定の色値を持つ紫のみを偽色として設定する構成や、緑、紫など複数の色を偽色として設定する構成などが可能である。
偽色(パープルフリンジ)穴埋め補間部725は、偽色(パープルフリンジ)検出部723において偽色と認定された画素についての補正処理であり、図16に示すフローチャートのステップS504に相当する処理であり、図23、図24に示す処理フローに従って実行される処理である。なお、この画素値補正処理には、偽色(パープルフリンジ)と認定された画素について、周囲にある偽色および白とび画素以外の画素値に基づいて実行する穴埋め補間処理(図22、図23参照)と、所定回数の穴埋め補間処理によって補正できなかった偽色(パープルフリンジ)画素の彩度低下処理(図24参照)とが含まれる。
偽色(パープルフリンジ)ぼかし処理部726は、偽色(パープルフリンジ)穴埋め補間部725の処理によって補正されたデータについてぼかし処理を実行する。図16に示すフローチャートのステップS505に相当する処理であり、図25に示す処理フローに従って実行される処理である。
偽色(パープルフリンジ)ぼかし処理部726は、偽色(パープルフリンジ)検出部723において偽色と認定された画素を抽出し、色成分にぼかしフィルタを適用し、例えば、処理対象画素(x,y)と、その周囲の8画素を合わせた9画素の色成分の平均値を求め、これを処理対象画素(x,y)の更新画素値として設定する移動平均フィルタ処理を施す。
偽色(パープルフリンジ)ぼかし処理部726におけるぼかし処理が終了した画像データは、第2拡大処理部727に入力され、拡大処理が実行される。第2拡大処理部727では、先に図15を参照して説明した処理フローに従った画像の拡大処理が実行される。すなわち縮小画像上で各画素毎に偽色であるか否かを表わす2値のマスクとして構成される偽色領域マスクPを基準にして0〜1のブレンド比の設定されたブレンド比画像B(x,y)を生成し、生成したブレンド比画像B(x,y)を適用して、穴埋め法による補正画像の拡大画像とオリジナルの入力画像をブレンドして第2の補正画像の拡大画像を生成する。穴埋め法に基づいて画素値の補正された第2の補正拡大画像はブレンド処理部740に出力され、平均法処理部710における補正データに基づく第1の補正拡大画像とのブレンド処理が実行されることになる。
穴埋め法に基づいて画素値の補正された第2の補正拡大画像は、図26に示すブレンド処理部740に出力され、平均法処理部710における補正データに基づく第1の補正拡大画像データと、穴埋め法処理部720における補正データに基づく第2の補正拡大画像とのブレンド処理が実行されることになる。ブレンド処理は、前述したように、偽色(PF)度合いpを適用した補正処理によって取得した第1の補正画像Cavgnew(x,y)と、穴埋め補間処理によって算出した第2の補正画像Cholenew(x,y)とのブレンド処理によって、最終的な補正画像データCfinal(x,y)を算出する処理を実行するものであり、所定のブレンド比率kを適用して、例えば、以下に示す式、すなわち、
final(x,y)=k×Cavgnew(x,y)+(1−k)×Cholenew(x,y)
に従って、最終的な補正画素値を持つ補正画像Cfinal(x,y)が生成され、この画像データが出力画像フレームメモリ752に格納されることになる。なお、前十したように、ブレンド比率kは0〜1の範囲で決定する。ブレンド比率をどのような値に設定するかは、それぞれの処理の特徴を踏まえて決定する。例えばより大きな補正を望む場合は、穴埋め法の処理結果の反映比率を大きくする設定とし、また、なるべく破綻のない結果画像を取得したい場合は、偽色(PF)度合いpを適用した補正結果データをより反映するようなブレンド比率kの設定とする。
上述した本発明の画素値補正処理を適用することにより、穴埋め補間処理と、偽色(PF)度合いpを適用した補正処理とのそれぞれの利点を融合した調和された画素値補正が可能となり、パープルフリンジ等の偽色が軽減されるとともに破綻することのない補正画像を取得することが可能となる。結果として、カメラで撮影した画像に起こる色収差によるパープルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力を実現することができる。
本発明の構成によれば、白とび画素近傍に発生するパープルフリンジ等の偽色領域の効率的検出、部分的な画素値補正が可能となり、画像全体に対する影響を発生させることなく高品質な画像データの生成、出力が可能となる。
特に、本発明の処理では、入力画像を縮小したものに対する画像処理を施す構成であるので、少ない計算コストで画像の補正を行うことができる。また、平均法と穴埋め法の2種類の結果をブレンドする構成としたので、より自由度の高い補正が可能となる。なお、上述した実施例においては、縮小処理、ブレンド処理が共に施される例を述べたが、これらは独立しており、どちらか片方だけを実施する構成としてもよい。すなわち、縮小を実行せず、平均法と穴埋め法の2種類の画像補正を実行してこれらの結果をブレンドする処理構成としてもよい。特に計算コストが問題とならない場合は、このような処理を実行する構成としてもよい。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の構成によれば、補正処理対象画像データの縮小処理を実行し、縮小画像に対して、第1の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行して第1補正画像を生成し、さらに、縮小画像に対して、第1の画像補正処理態様と異なる第2の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行して第2補正画像を生成し、これらの異なる処理結果画像を拡大してブレンドすることにより、最終補正画像を生成する構成としたので、それぞれの画像補正処理が縮小画像に対して実行可能となり、少ない計算コストで画像の補正を行うことができる。また、異なる処理態様での画像補正を融合した補正処理が実現され、それぞれの利点を融合した調和された画素値補正が可能となる。
また、本発明の構成によれば、穴埋め補間処理と、偽色(PF)度合いpを適用した補正処理とのそれぞれの利点を融合した調和された画素値補正が可能となり、パープルフリンジ等の偽色が軽減されるとともに破綻することのない補正画像を取得することが可能となる。具体的には、カメラで撮影した画像に起こる色収差によるパープルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力を実現することができる。
さらに、本発明の構成によれば、すべての画像補正処理を自動処理として行なった場合でも、破綻の無い画像を生成することが可能となる。本発明の画像処理を適用することにより、撮影画像を、より自然に見えるように補正をすることが可能である。従って、撮影時にパープルフリンジが起こらないようにレンズの絞りや焦点距離などに注意を払う必要がなく、より高い自由度で撮影を行なうことが可能となる。
さらに、本発明の構成によれば、縮小処理をした上で、偽色補正処理を行い、それを拡大処理している。しかし、オリジナル画像で画素値が更新される部分は、偽色が発生している部分のみであり、かつ色情報だけが補正される。したがって、偽色以外の部分は全く劣化することが無い。偽色が発生している部分に関しても、特別な縮小処理を施しているので、確実に偽色画素を認識することが出来る。このように、縮小処理により計算コストが減少するにもかかわらす、偽色の補正品質が劣化することはほとんど無い。
本発明の画像処理装置の構成を示す図である。 本発明の画像処理の総合的処理を示すフローチャート図である。 本発明の画像処理において実行する縮小処理の手順を説明するフローチャート(その1)を示す図である。 本発明の画像処理において実行する縮小処理の手順を説明するフローチャート(その2)を示す図である。 本発明の画像処理において実行する縮小処理の詳細を説明する図である。 本発明の画像処理において実行する縮小処理において実行する色相判定処理について説明する図である。 本発明の画像処理としての偽色度合いを適用した平均法に基づく画像補正処理のシーケンスを説明するフロー図(その1)である。 本発明の画像処理としての偽色度合いを適用した平均法に基づく画像補正処理のシーケンスを説明するフロー図(その2)である。 白とび画素の探索領域の設定構成について説明する図である。 白とび画素の探索領域の設定構成および白とび距離評価値P算出に適用する距離の算出処理について説明する図である。 注目画素の彩度評価値P、色相評価値Pθ、の算出に必用なパラメータの求め方の例について説明する図である。 彩度評価値Pの算出に適用する最大彩度Smaxの適切な設定例について説明する図である。 本発明の画像処理において実行する偽色度合いを適用した補正画素値の算出処理手順を説明するフロー図である。 偽色度合いを適用した補正画素値の算出処理の際に適用する補間値算出範囲の設定処理例について説明する図である。 拡大処理の手順を説明するフローチャートを示す図である。 本発明の画像処理としての穴埋め法に基づく画像補正処理のシーケンスを説明するフロー図である。 穴埋め法に基づく画像処理において実行する白とび領域検出処理の詳細シーケンスを説明するフロー図である。 穴埋め法に基づく画像処理において実行する偽色画素検出領域設定処理の詳細シーケンスを説明するフロー図である。 穴埋め法に基づく画像処理において実行する偽色画素検出領域設定処理の処理例について説明する図である。 穴埋め法に基づく画像処理において実行する偽色画素検出処理の詳細シーケンスを説明するフロー図である。 穴埋め法に基づく画像処理において実行する偽色画素検出処理の処理例について説明する図である。 穴埋め法に基づく画像処理において実行する偽色画素補正処理の処理例について説明する図である。 穴埋め法に基づく画像処理において実行する偽色画素補正処理の詳細シーケンスを説明するフロー図である。 穴埋め法に基づく画像処理において実行する偽色画素補正処理の詳細シーケンスを説明するフロー図である。 穴埋め法に基づく画像処理において実行する色ぼかし処理の詳細シーケンスを説明するフロー図である。 本発明の画像処理装置において偽色補正を実行するデジタル信号処理部の機能構成を説明するブロック図である。 本発明の画像処理装置において偽色補正を実行するデジタル信号処理部の穴埋め法処理部の機能構成を説明するブロック図である。
符号の説明
101 レンズ
102 絞り
103 固体撮像素子
104 相関2重サンプリング回路
105 A/Dコンバータ
106 DSPブロック
107 タイミングジェネレータ
108 D/Aコンバータ
109 ビデオエンコーダ
110 ビデオモニタ
111 コーデック(CODEC)
112 メモリ
113 CPU
114 入力デバイス
115 フラッシュ制御装置
116 フラッシュ発光装置
150 オリジナル画像
151 対応画像領域
160 縮小画像
161 画素
180 原点
181,182 色相ライン
183 色相範囲
210 画像データ
211 画素
212,213 画素領域
222,223 画素領域
230 画素領域
250 画像データ中心画素
300 注目画素
301 白とび探索範囲
302,303 画素
311,312 画素領域
321〜324 画素
400 原点
401 パープルフリンジ色相ライン
402 注目画素色相
451〜454 画像範囲
510 画像データ
511 画素
520 白とび探索範囲
521,522 画素領域
531 白とび画素
601 白とび画素
602 偽色画素検出領域
603 白とび画素
651 白とび画素
652 偽色(パープルフリンジ)画素
653 その他の画素
654 補間済み偽色(パープルフリンジ)画素
700 縮小処理部
710 平均法処理部
711 白とび距離評価値P算出部
712 彩度評価値P算出部
713 色相評価値Pθ算出部
714 偽色(PF)度合いp算出部
715 補間値[Ctmp/Wtotal]算出部
716 第1補正画素値算出部
717 第1拡大処理部
720 穴埋め法処理部
721 白とび検出部
722 偽色画素検出領域設定部
723 偽色(パープルフリンジ)検出部
724 画素値補正部
725 偽色(パープルフリンジ)穴埋め補間部
726 偽色(パープルフリンジ)ぼかし処理部
727 第2拡大処理部
740 ブレンド処理部
751 入力画像フレームメモリ
752 出力画像フレームメモリ

Claims (29)

  1. 画像処理装置であり、
    補正処理対象画像データの縮小処理を実行する縮小処理部と、
    前記縮小処理部において生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理部と、
    前記画像補正処理部において生成した補正画像の拡大処理を実行する拡大処理部と、
    を有し、
    前記画像補正処理部は、前記縮小処理部において生成された縮小画像の構成画素の偽色度合いpを算出し、算出した偽色度合いpに応じた画素値補正処理を実行する構成であり、
    前記縮小画像の構成画素から選択された注目画素について、偽色である可能性を示すパラメータとしての偽色度合いpを算出する偽色度合い算出部と、
    注目画素近傍領域の画素値に基づいて、注目画素に対応する補間値を算出する補間値算出部と、
    注目画素の元画素値と前記補間値とを適用し、注目画素の偽色度合いpに応じて前記元画素値と前記補間値との寄与率を変更して前記注目画素の補正画素値を算出する補正画素値算出部と、
    を有する構成であることを特徴とする画像処理装置。
  2. 画像処理装置であり、
    補正処理対象画像データの縮小処理を実行する縮小処理部と、
    前記縮小処理部において生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理部と、
    前記画像補正処理部において生成した補正画像の拡大処理を実行する拡大処理部と、
    を有し、
    前記画像補正処理部は、前記縮小処理部において生成された縮小画像の構成画素から白とび画素を検出し、白とび画素周囲の偽色画素の画素値を周囲画素の画素値に基づいて補正する補正処理を実行する構成であり、
    画像データから白とび画素を検出する白とび検出部と、
    前記白とび検出部の検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定部と、
    前記偽色画素検出領域設定部の設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出部と、
    前記偽色検出部の検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正部と、
    を有する構成であることを特徴とする画像処理装置。
  3. 前記縮小処理部は、
    オリジナルの補正処理対象画像データについて輝度情報の縮小処理と、色情報の縮小処理とを個別に実行する構成であり、輝度情報の縮小処理においては、前記補正処理対象画像データに含まれる白とび画素情報を消失させない縮小処理を実行し、色情報の縮小処理においては、前記補正処理対象画像データに含まれる偽色の色情報を消失させない縮小処理を実行する構成であることを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記縮小処理部は、
    前記補正処理対象画像データについての輝度情報の縮小処理において、縮小画像の構成画素に対応する輝度を、前記補正処理対象画像データの対応画像領域に含まれる最大輝度として設定する処理を実行する構成であることを特徴とする請求項に記載の画像処理装置。
  5. 前記縮小処理部は、
    前記補正処理対象画像データについての色情報の縮小処理において、縮小画像の構成画素に対応する色情報を、前記補正処理対象画像データの対応画像領域に偽色画素が含まれる場合は、前記対応画像領域に含まれる偽色画素の平均値として設定し、前記補正処理対象画像データの対応画像領域に偽色画素が含まれない場合は、前記対応画像領域に含まれる全画素の平均値として設定する処理を実行する構成であることを特徴とする請求項に記載の画像処理装置。
  6. 前記偽色度合い算出部は、
    注目画素についての、
    (a)白とび(高輝度画素)への近さを示す白とび距離評価値P
    (b)彩度の大きさを示す彩度評価値P
    (c)偽色に対応する特定色相への近さを示す色相評価値Pθ
    の少なくともいずれかを適用して注目画素の偽色度合いpを算出する構成であることを特徴とする請求項に記載の画像処理装置。
  7. 前記画素値補正部は、
    偽色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補間部と、
    偽色画素について、色ぼかし処理を実行する色ぼかし処理部とを有する構成であることを特徴とする請求項に記載の画像処理装置。
  8. 前記画素値補正部は、
    偽色画素の周囲に存在する画素から偽色画素および白とび画素を除くその他の画素を選択し、選択画素に基づく穴埋め補間処理を実行する構成であることを特徴とする請求項に記載の画像処理装置。
  9. 前記拡大処理部は、
    前記画像補正処理部において生成した補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み補正画像を生成する構成であることを特徴とする請求項1または2に記載の画像処理装置。
  10. 画像処理装置であり、
    補正処理対象画像データの縮小処理を実行する縮小処理部と、
    前記縮小処理部において生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理部と、
    前記画像補正処理部において生成した補正画像の拡大処理を実行する拡大処理部と、
    を有し、
    前記画像補正処理部は、
    前記縮小処理部において生成された縮小画像に対して、第1の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第1画像補正処理部と、
    前記縮小処理部において生成された縮小画像に対して、前記第1の画像補正処理態様と異なる第2の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第2画像補正処理部とを有し、
    前記拡大処理部は、前記第1画像補正処理部において生成した第1補正画像と、前記第2画像補正処理部において生成した第2補正画像との拡大処理を実行する構成であり、
    さらに、前記拡大処理部において拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成するブレンド処理部を有することを特徴とする画像処理装置。
  11. 前記拡大処理部は、
    前記第1画像補正処理部において生成した第1補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み第1補正画像を生成し、
    前記第2画像補正処理部において生成した第2補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み第2補正画像を生成する構成であることを特徴とする請求項10に記載の画像処理装置。
  12. 前記ブレンド処理部は、
    前記拡大処理部において拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成する構成であり、
    前記拡大済み第1補正画像の構成画素(x,y)の画素値をCavgnew(x,y)とし、
    前記拡大済み第2補正画像の構成画素(x,y)の画素値をCholenew(x,y)としたとき、最終補正画像の構成画素(x,y)の画素値Cfinal(x,y)を、下式、
    final(x,y)=k×Cavgnew(x,y)+(1−k)×Cholenew(x,y)
    ただしk=0〜1
    に従って算出する処理を実行する構成であることを特徴とする請求項10に記載の画像処理装置。
  13. 前記偽色はパープルフリンジであり、
    前記画像補正処理部は、前記縮小処理部において生成された縮小画像に対して、白とび周囲のパープルフリンジ画素の画素値補正を含む画像処理を実行する構成であることを特徴とする請求項1乃至12いずれかに記載の画像処理装置。
  14. 画像処理方法であり、
    補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
    前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
    前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
    を有し、
    前記画像補正処理ステップは、
    前記縮小処理ステップにおいて生成された縮小画像の構成画素の偽色度合いpを算出し、算出した偽色度合いpに応じた画素値補正処理を実行するステップであり、
    前記縮小画像の構成画素から選択された注目画素について、偽色である可能性を示すパラメータとしての偽色度合いpを算出する偽色度合い算出ステップと、
    注目画素近傍領域の画素値に基づいて、注目画素に対応する補間値を算出する補間値算出ステップと、
    注目画素の元画素値と前記補間値とを適用し、注目画素の偽色度合いpに応じて前記元画素値と前記補間値との寄与率を変更して前記注目画素の補正画素値を算出する補正画素値算出ステップと、
    を含むことを特徴とする画像処理方法。
  15. 画像処理方法であり、
    補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
    前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
    前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
    を有し、
    前記画像補正処理ステップは、
    前記縮小処理ステップにおいて生成された縮小画像の構成画素から白とび画素を検出し、白とび画素周囲の偽色画素の画素値を周囲画素の画素値に基づいて補正する補正処理を実行するステップであり、
    画像データから白とび画素を検出する白とび検出ステップと、
    前記白とび検出ステップの検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定ステップと、
    前記偽色画素検出領域設定ステップの設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
    前記偽色検出ステップの検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正ステップと、
    を含むことを特徴とする画像処理方法。
  16. 前記縮小処理ステップは、
    オリジナルの補正処理対象画像データについて輝度情報の縮小処理と、色情報の縮小処理とを個別に実行し、輝度情報の縮小処理においては、前記補正処理対象画像データに含まれる白とび画素情報を消失させない縮小処理を実行し、色情報の縮小処理においては、前記補正処理対象画像データに含まれる偽色の色情報を消失させない縮小処理を実行することを特徴とする請求項14または15に記載の画像処理方法。
  17. 前記縮小処理ステップは、
    前記補正処理対象画像データについての輝度情報の縮小処理において、縮小画像の構成画素に対応する輝度を、前記補正処理対象画像データの対応画像領域に含まれる最大輝度として設定する処理を実行することを特徴とする請求項16に記載の画像処理方法。
  18. 前記縮小処理ステップは、
    前記補正処理対象画像データについての色情報の縮小処理において、縮小画像の構成画素に対応する色情報を、前記補正処理対象画像データの対応画像領域に偽色画素が含まれる場合は、前記対応画像領域に含まれる偽色画素の平均値として設定し、前記補正処理対象画像データの対応画像領域に偽色画素が含まれない場合は、前記対応画像領域に含まれる全画素の平均値として設定する処理を実行することを特徴とする請求項16に記載の画像処理方法。
  19. 前記偽色度合い算出ステップは、
    注目画素についての、
    (a)白とび(高輝度画素)への近さを示す白とび距離評価値P
    (b)彩度の大きさを示す彩度評価値P
    (c)偽色に対応する特定色相への近さを示す色相評価値Pθ
    の少なくともいずれかを適用して注目画素の偽色度合いpを算出するステップであることを特徴とする請求項14に記載の画像処理方法。
  20. 前記画素値補正ステップは、
    偽色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補間ステップと、
    偽色画素について、色ぼかし処理を実行する色ぼかし処理ステップとを含むことを特徴とする請求項15に記載の画像処理方法。
  21. 前記画素値補正ステップは、
    偽色画素の周囲に存在する画素から偽色画素および白とび画素を除くその他の画素を選択し、選択画素に基づく穴埋め補間処理を実行するステップを含むことを特徴とする請求項15に記載の画像処理方法。
  22. 前記拡大処理ステップは、
    前記画像補正処理ステップにおいて生成した補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み補正画像を生成するステップであることを特徴とする請求項14または15に記載の画像処理方法。
  23. 画像処理方法であり、
    補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
    前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
    前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
    を有し、
    前記画像補正処理ステップは、
    前記縮小処理ステップにおいて生成された縮小画像に対して、第1の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第1画像補正処理ステップと、
    前記縮小処理ステップにおいて生成された縮小画像に対して、前記第1の画像補正処理態様と異なる第2の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第2画像補正処理ステップとを有し、
    前記拡大処理ステップは、前記第1画像補正処理ステップにおいて生成した第1補正画像と、前記第2画像補正処理ステップにおいて生成した第2補正画像との拡大処理を実行するステップであり、
    さらに、前記拡大処理ステップにおいて拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成するブレンド処理ステップを有することを特徴とする画像処理方法。
  24. 前記拡大処理ステップは、
    前記第1画像補正処理ステップにおいて生成した第1補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み第1補正画像を生成するステップと、
    前記第2画像補正処理ステップにおいて生成した第2補正画像の拡大データとオリジナルの補正処理対象画像データとのブレンド処理により拡大済み第2補正画像を生成するステップと、
    を含むことを特徴とする請求項23に記載の画像処理方法。
  25. 前記ブレンド処理ステップは、
    前記拡大処理ステップにおいて拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成するステップであり、
    前記拡大済み第1補正画像の構成画素(x,y)の画素値をCavgnew(x,y)とし、
    前記拡大済み第2補正画像の構成画素(x,y)の画素値をCholenew(x,y)としたとき、最終補正画像の構成画素(x,y)の画素値Cfinal(x,y)を、下式、
    final(x,y)=k×Cavgnew(x,y)+(1−k)×Cholenew(x,y)
    ただしk=0〜1
    に従って算出する処理を実行することを特徴とする請求項23に記載の画像処理方法。
  26. 前記偽色はパープルフリンジであり、
    前記画像補正処理ステップは、前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲のパープルフリンジ画素の画素値補正を含む画像処理を実行することを特徴とする請求項23乃至25いずれかに記載の画像処理方法。
  27. 画像処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
    補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
    前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
    前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
    を有し、
    前記画像補正処理ステップは、
    前記縮小処理ステップにおいて生成された縮小画像の構成画素の偽色度合いpを算出し、算出した偽色度合いpに応じた画素値補正処理を実行するステップであり、
    前記縮小画像の構成画素から選択された注目画素について、偽色である可能性を示すパラメータとしての偽色度合いpを算出する偽色度合い算出ステップと、
    注目画素近傍領域の画素値に基づいて、注目画素に対応する補間値を算出する補間値算出ステップと、
    注目画素の元画素値と前記補間値とを適用し、注目画素の偽色度合いpに応じて前記元画素値と前記補間値との寄与率を変更して前記注目画素の補正画素値を算出する補正画素値算出ステップと、
    を含むことを特徴とするコンピュータ・プログラム。
  28. 画像処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
    補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
    前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
    前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
    を有し、
    前記画像補正処理ステップは、
    前記画像補正処理ステップは、
    前記縮小処理ステップにおいて生成された縮小画像の構成画素から白とび画素を検出し、白とび画素周囲の偽色画素の画素値を周囲画素の画素値に基づいて補正する補正処理を実行するステップであり、
    画像データから白とび画素を検出する白とび検出ステップと、
    前記白とび検出ステップの検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定ステップと、
    前記偽色画素検出領域設定ステップの設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
    前記偽色検出ステップの検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正ステップと、
    を含むことを特徴とするコンピュータ・プログラム。
  29. 画像処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
    補正処理対象画像データの縮小処理を実行する縮小処理ステップと、
    前記縮小処理ステップにおいて生成された縮小画像に対して、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する画像補正処理ステップと、
    前記画像補正処理ステップにおいて生成した補正画像の拡大処理を実行する拡大処理ステップと、
    を有し、
    前記画像補正処理ステップは、
    前記縮小処理ステップにおいて生成された縮小画像に対して、第1の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第1画像補正処理ステップと、
    前記縮小処理ステップにおいて生成された縮小画像に対して、前記第1の画像補正処理態様と異なる第2の画像補正処理態様で、白とび周囲の偽色画素の画素値補正を含む画像処理を実行する第2画像補正処理ステップとを有し、
    前記拡大処理ステップは、前記第1画像補正処理ステップにおいて生成した第1補正画像と、前記第2画像補正処理ステップにおいて生成した第2補正画像との拡大処理を実行するステップであり、
    さらに、前記拡大処理ステップにおいて拡大した拡大済み第1補正画像と拡大済み第2補正画像とのブレンド処理により最終補正画像を生成するブレンド処理ステップを有することを特徴とするコンピュータ・プログラム。
JP2004303794A 2004-10-19 2004-10-19 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム Expired - Fee Related JP4539280B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004303794A JP4539280B2 (ja) 2004-10-19 2004-10-19 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004303794A JP4539280B2 (ja) 2004-10-19 2004-10-19 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2006121138A JP2006121138A (ja) 2006-05-11
JP4539280B2 true JP4539280B2 (ja) 2010-09-08

Family

ID=36538653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004303794A Expired - Fee Related JP4539280B2 (ja) 2004-10-19 2004-10-19 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP4539280B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4770154B2 (ja) * 2004-11-08 2011-09-14 ソニー株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP4539299B2 (ja) * 2004-11-08 2010-09-08 ソニー株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP4718618B2 (ja) * 2006-12-26 2011-07-06 日東光学株式会社 信号処理装置
JP5349790B2 (ja) 2007-11-16 2013-11-20 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP5917048B2 (ja) * 2011-08-26 2016-05-11 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US9251572B2 (en) * 2013-07-26 2016-02-02 Qualcomm Incorporated System and method of correcting image artifacts
JP2015204489A (ja) * 2014-04-11 2015-11-16 ハンファテクウィン株式会社Hanwha Techwin Co.,Ltd. 画像処理装置および画像処理方法
KR102218832B1 (ko) 2014-12-16 2021-02-24 삼성전자주식회사 컬러 프린지를 제거하기 위한 이미지 처리 장치
KR102255218B1 (ko) 2014-12-18 2021-05-24 삼성전자주식회사 컬러 프린지를 제거하기 위한 이미지 처리 장치
JP6645099B2 (ja) * 2015-09-30 2020-02-12 リコーイメージング株式会社 画像処理装置
CN113905183B (zh) * 2021-08-25 2024-04-16 珠海全志科技股份有限公司 宽动态范围图像的色差校正方法及装置
CN117714663B (zh) * 2023-06-09 2024-10-18 荣耀终端有限公司 一种紫边测量分析系统和方法、存储介质、电子设备
CN117522760B (zh) * 2023-11-13 2024-06-25 书行科技(北京)有限公司 图像处理方法、装置、电子设备、介质及产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11313338A (ja) * 1998-04-24 1999-11-09 Canon Inc 信号処理装置および撮像用信号処理方法
JP2000032482A (ja) * 1998-07-14 2000-01-28 Canon Inc 信号処理装置、信号処理方法及び記憶媒体
JP2000244939A (ja) * 1999-02-19 2000-09-08 Canon Inc 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JP2002095009A (ja) * 2000-09-14 2002-03-29 Olympus Optical Co Ltd 電子カメラ及びプリンタ
JP2002262299A (ja) * 2001-02-28 2002-09-13 Seiko Epson Corp 偽色除去装置、偽色除去プログラム、偽色除去方法およびデジタルカメラ
JP2004272578A (ja) * 2003-03-07 2004-09-30 Minolta Co Ltd 撮像装置及び歪み補正方法
JP2006115039A (ja) * 2004-10-13 2006-04-27 Sony Corp 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11313338A (ja) * 1998-04-24 1999-11-09 Canon Inc 信号処理装置および撮像用信号処理方法
JP2000032482A (ja) * 1998-07-14 2000-01-28 Canon Inc 信号処理装置、信号処理方法及び記憶媒体
JP2000244939A (ja) * 1999-02-19 2000-09-08 Canon Inc 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JP2002095009A (ja) * 2000-09-14 2002-03-29 Olympus Optical Co Ltd 電子カメラ及びプリンタ
JP2002262299A (ja) * 2001-02-28 2002-09-13 Seiko Epson Corp 偽色除去装置、偽色除去プログラム、偽色除去方法およびデジタルカメラ
JP2004272578A (ja) * 2003-03-07 2004-09-30 Minolta Co Ltd 撮像装置及び歪み補正方法
JP2006115039A (ja) * 2004-10-13 2006-04-27 Sony Corp 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
JP2006121138A (ja) 2006-05-11

Similar Documents

Publication Publication Date Title
JP4479457B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
CN100380915C (zh) 图像处理装置及图像处理方法
KR102175164B1 (ko) 이미지의 화질 개선을 위한 장치 및 방법
JP4706635B2 (ja) 色ずれ補正機能を有する画像処理装置、画像処理プログラム、および電子カメラ
JP4539280B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
CN100562894C (zh) 一种图像合成方法及装置
US8385641B2 (en) Method and apparatus for eliminating chromatic aberration
JP4539278B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2009268033A (ja) 画像処理装置、撮像装置、制御方法、プログラム、及び記憶媒体
WO2007007878A1 (ja) 画像処理装置および画像処理方法
JP2002369071A (ja) 画像処理方法および、それを実装したデジタルカメラおよび、プログラム
EP1337115A1 (en) Image processor and colorimetric system converting method
JP2008147980A (ja) 画像処理装置及び撮像装置及び画像処理方法及びプログラム及び記憶媒体
KR101257946B1 (ko) 영상의 색수차를 제거하는 장치 및 그 방법
JP4934839B2 (ja) 画像処理装置及びその方法並びにプログラム
JP4539299B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2007243542A (ja) 撮像装置、画像処理装置、画像処理方法、及び画像処理プログラム
JP3899144B2 (ja) 画像処理装置
JP2006279162A (ja) 画像入力方法及びこれを用いた画像入力装置
JP6238673B2 (ja) 画像処理装置、撮像装置、撮像システム、画像処理方法、画像処理プログラム、および、記憶媒体
JP6604737B2 (ja) 画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体
JP6627422B2 (ja) 画像処理装置、撮像装置、制御プログラム
JP2017092800A (ja) 画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100614

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees