(57)【要約】【課題】  色収差によるパープルフリンジ等の偽色の補正を効率的に実行し高品質な画像データを生成、出力する装置および方法を提供する。【解決手段】  画像データから白とび画素を検出し、検出した白とび画素の周囲に偽色画素検出領域を設定し、設定領域内において、パープルフリンジ等の偽色に対応する色を有する画素を検出し、検出画素を偽色画素として特定して、特定した偽色画素に対して周囲画素値に基づく補正処理を実行する。本構成により、白とび画素近傍に発生するパープルフリンジ等の偽色領域の効率的検出、部分的な画素値補正が可能となり、画像全体に対する影響を発生させることなく高品質な画像データの生成、出力が可能となる。【選択図】  図１４
2006014261.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であり、
画像データから白とび画素を検出する白とび検出部と、
前記白とび検出部の検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定部と、
前記偽色画素検出領域設定部の設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出部と、
前記偽色検出部の検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正部と、
を有することを特徴とする画像処理装置。
【請求項２】
前記画素値補正部は、
偽色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補間部と、
偽色画素について、色ぼかし処理を実行する色ぼかし処理部とを有する構成であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画素値補正部は、
偽色画素の周囲に存在する画素から偽色画素および白とび画素を除くその他の画素を選択し、選択画素に基づく穴埋め補間処理を実行する構成であることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記偽色検出部は、
前記偽色画素検出領域設定部の設定した領域内において、あらかじめ設定された特定の色を有する画素を偽色画素として特定する処理を実行する構成であることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記偽色は、パープルフリンジであり、
前記偽色検出部は、前記偽色画素検出領域設定部の設定した領域内の紫色の画素を偽色画素として特定する処理を実行する構成であることを特徴とする請求項１に記載の画像処理装置。
【請求項６】
偽色画素検出領域設定部は、
前記白とび検出部の検出した白とび画素の周囲に設定する偽色画素検出領域を、処理対象画像データの撮影時の絞り、焦点距離情報、光学中心から白とび画素（ｘ，ｙ）までの距離の少なくともいずれかのデータに基づいて決定する処理を実行する構成であることを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記白とび検出部は、
予め定めた閾値以上の輝度を有する画素を白とび画素として選択する処理を実行する構成であることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記画像処理装置は、さらに、
入力画像データを輝度成分画像データと色成分画像データとに分離するデータ変換処理を実行する色変換部を有し、
前記色変換部において生成された変換データに基づく画素値補正処理を実行する構成であることを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記偽色画素検出領域設定部は、
処理対象画像と同一被写体の撮影画像であり、処理対象画像の白とび画素に対応する位置の画素が飽和輝度値を持たない参照画像を入力し、処理対象画像の白とび画素位置に対応する参照画像の対応画素の輝度値を取得する参照画像解析部と、
前記参照画像解析部において取得した前記参照画像の対応画素の輝度値に基づいて偽色画素検出領域を設定する偽色画素検出領域決定部と、
を有する構成であることを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
前記偽色画素検出領域決定部は、
参照画像の輝度値と、偽色発生可能画素範囲あるいは偽色画素検出領域を対応付けたルックアップテーブルを適用して偽色画素検出領域を設定する構成であることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記偽色画素検出領域決定部は、
前記参照画像の対応画素の輝度値が高いほど広い偽色画素検出領域を設定する処理を実行する構成であることを特徴とする請求項９に記載の画像処理装置。
【請求項１２】
前記偽色画素検出領域決定部は、
低感度センサを持つ撮像素子によって撮影した画像、または適正露出未満の低露出条件での撮影画像を参照画像として適用し、処理対象画像の白とび画素に対応する位置の参照画像の輝度値を取得する構成であることを特徴とする請求項９に記載の画像処理装置。
【請求項１３】
画像処理方法であり、
画像データから白とび画素を検出する白とび検出ステップと、
前記白とび検出ステップにおいて検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定ステップと、
前記偽色画素検出領域設定ステップにおいて設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
前記偽色検出ステップにおいて検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正ステップと、
を有することを特徴とする画像処理方法。
【請求項１４】
前記画素値補正ステップは、
偽色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補間ステップと、
偽色画素について、色ぼかし処理を実行する色ぼかし処理ステップとを有することを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記画素値補正ステップは、
偽色画素の周囲に存在する画素から偽色画素および白とび画素を除くその他の画素を選択し、選択画素に基づく穴埋め補間処理を実行するステップであることを特徴とする請求項１４に記載の画像処理方法。
【請求項１６】
前記偽色検出ステップは、
前記偽色画素検出領域設定ステップにおいて設定した領域内において、あらかじめ設定された特定の色を有する画素を偽色画素として特定する処理を実行するステップであることを特徴とする請求項１３に記載の画像処理方法。
【請求項１７】
前記偽色は、パープルフリンジであり、
前記偽色検出ステップは、前記偽色画素検出領域設定ステップにおいて設定した領域内の紫色の画素を偽色画素として特定する処理を実行するステップであることを特徴とする請求項１３に記載の画像処理方法。
【請求項１８】
偽色画素検出領域設定ステップは、
前記白とび検出ステップにおいて検出した白とび画素の周囲に設定する偽色画素検出領域を、処理対象画像データの撮影時の絞り、焦点距離情報、光学中心から白とび画素（ｘ，ｙ）までの距離の少なくともいずれかのデータに基づいて決定する処理を実行するステップであることを特徴とする請求項１３に記載の画像処理方法。
【請求項１９】
前記白とび検出ステップは、
予め定めた閾値以上の輝度を有する画素を白とび画素として選択する処理を実行するステップであることを特徴とする請求項１３に記載の画像処理方法。
【請求項２０】
前記画像処理方法は、さらに、
入力画像データを輝度成分画像データと色成分画像データとに分離するデータ変換処理を実行する色変換ステップを有し、
前記色変換部において生成された変換データに基づく画素値補正処理を実行することを特徴とする請求項１３に記載の画像処理方法。
【請求項２１】
前記偽色画素検出領域設定ステップは、
処理対象画像と同一被写体の撮影画像であり、処理対象画像の白とび画素に対応する位置の画素が飽和輝度値を持たない参照画像を入力し、処理対象画像の白とび画素位置に対応する参照画像の対応画素の輝度値を取得する参照画像解析ステップと、
前記参照画像解析ステップにおいて取得した前記参照画像の対応画素の輝度値に基づいて偽色画素検出領域を設定する偽色画素検出領域決定ステップと、
を含むことを特徴とする請求項１３に記載の画像処理方法。
【請求項２２】
前記偽色画素検出領域決定ステップは、
参照画像の輝度値と、偽色発生可能画素範囲あるいは偽色画素検出領域を対応付けたルックアップテーブルを適用して偽色画素検出領域を設定するステップであることを特徴とする請求項２１に記載の画像処理方法。
【請求項２３】
前記偽色画素検出領域決定ステップは、
前記参照画像の対応画素の輝度値が高いほど広い偽色画素検出領域を設定する処理を実行するステップであることを特徴とする請求項２１に記載の画像処理方法。
【請求項２４】
前記偽色画素検出領域決定ステップは、
低感度センサを持つ撮像素子によって撮影した画像、または適正露出未満の低露出条件での撮影画像を参照画像として適用し、処理対象画像の白とび画素に対応する位置の参照画像の輝度値を取得することを特徴とする請求項２１に記載の画像処理方法。
【請求項２５】
画像処理をコンピュータ上において実行させるコンピュータ・プログラムであって、
画像データから白とび画素を検出する白とび検出ステップと、
前記白とび検出ステップにおいて検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定ステップと、
前記偽色画素検出領域設定ステップにおいて設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
前記偽色検出ステップにおいて検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正ステップと、
を有することを特徴とするコンピュータ・プログラム。
【請求項２６】
偽色画素検出領域設定ステップは、
処理対象画像と同一被写体の撮影画像であり、処理対象画像の白とび画素に対応する位置の画素が飽和輝度値を持たない参照画像を入力し、処理対象画像の白とび画素位置に対応する参照画像の対応画素の輝度値を取得する参照画像解析ステップと、
前記参照画像解析ステップにおいて取得した前記参照画像の対応画素の輝度値に基づいて偽色画素検出領域を設定する偽色画素検出領域決定ステップと、
を含むことを特徴とする請求項２５に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、および画像処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、例えばレンズの収差による偽色の発生した画像データを補正し、高品質な画像データを生成する画像処理装置、および画像処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
カメラで撮影する際には、レンズの収差によりさまざまな問題が引き起こされる。典型的な収差の例として、単色収差であるザイデルの五収差が挙げられる。これはドイツのザイデルによって分析されたレンズの球面に基づく５つの収差であり、球面収差、コマ収差、非点収差、歪曲収差、像面歪曲の各収差の総称である。さらに、これらの収差とは別に、色収差も重要な問題を引き起こすことが知られている。色収差は、レンズ素材に対する光の屈折率がその波長により異なることに起因し、撮像面にて偽色を生ずる。
【０００３】
色収差の代表的な例として、光軸上の焦点位置が波長によって異なるため色のにじみが起こる軸上色収差や、波長により像倍率が異なるため色ずれが起こる倍率色収差などがよく知られているが、英語で一般的にＰｕｒｐｌｅ  Ｆｒｉｎｇｅ（パープルフリンジ）と呼ばれる現象も画像の劣化を引き起こす重要な原因となる。これは、光の波長により点像分布が異なっているために、画像中のエッジ部分に偽色が発生する現象である。通常の画素ではそれほど目立たない場合でも、輝度レベルにおける飽和状態としての白とびが起こっているハイコントラストのエッジ部分があれば、その周辺に紫色の偽色が発生し、不自然な像が結像されてしまう。一般に、白とびの近傍に発生する偽色は紫系の色が多く発生するためパープルフリンジと呼ばれる。ただし、レンズ、撮影条件などに応じて、偽色の色は緑がかった色となる場合など様々である。以下、パープルフリンジとは、発生する色に関わらず白とびが起こっているハイコントラストのエッジ部分における偽色発生現象を指すものとする。
【０００４】
色収差を軽減するための技術としては、蛍石など特殊な素材で出来たガラスを用いたレンズがある。しかし、このようなレンズを製造するのはコストがかるため価格も高く、レンズ交換式のカメラ用など一部の高級なカメラで用いられているが、一般に広く普及しているとは言えない。
【０００５】
また、特許文献１には、色収差によって発生する偽色を画像処理により軽減する方法が示されている。これは、緑チャンネルの高周波成分が高い部分に関して、色を抑制、つまり彩度を低下させる処理を行うものである。また、白とびが起こっている場合の対策として、露出を変えて２枚の画像を撮像し白とび部分の本来の輝度を推定し、彩度を低下させる処理を行う構成を開示している。
【０００６】
しかし、特許文献１に記載の処理は、彩度の低下により偽色の軽減を行っているため、本来の被写体の色についての彩度も低下し、被写体本来の忠実な色の再現ができなくなりその結果、不自然な画像が出力されるという問題がある。また、白とび部分の輝度推定のために、２回撮影を行う必要があり、この２回の撮影の間に手ぶれや被写体ぶれなどが起こった場合、正しい結果を得ることが困難になるという問題がある。
【特許文献１】特開２００３−６０９８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上述の問題点に鑑みてなされたものであり、白とび周辺に発生するパープルフリンジ等の偽色に注目し、この偽色領域を効率的に検出し、部分的な補正を実行することにより、画像全体に対する影響を発生させることなく高品質な画像データを生成、出力することを可能とした画像処理装置、および画像処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の側面は、
画像処理装置であり、
画像データから白とび画素を検出する白とび検出部と、
前記白とび検出部の検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定部と、
前記偽色画素検出領域設定部の設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出部と、
前記偽色検出部の検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正部と、
を有することを特徴とする画像処理装置にある。
【０００９】
さらに、本発明の画像処理装置の一実施態様において、前記画素値補正部は、偽色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補間部と、偽色画素について、色ぼかし処理を実行する色ぼかし処理部とを有する構成であることを特徴とする。
【００１０】
さらに、本発明の画像処理装置の一実施態様において、前記画素値補正部は、偽色画素の周囲に存在する画素から偽色画素および白とび画素を除くその他の画素を選択し、選択画素に基づく穴埋め補間処理を実行する構成であることを特徴とする。
【００１１】
さらに、本発明の画像処理装置の一実施態様において、前記偽色検出部は、前記偽色画素検出領域設定部の設定した領域内において、あらかじめ設定された特定の色を有する画素を偽色画素として特定する処理を実行する構成であることを特徴とする。
【００１２】
さらに、本発明の画像処理装置の一実施態様において、前記偽色は、パープルフリンジであり、前記偽色検出部は、前記偽色画素検出領域設定部の設定した領域内の紫色の画素を偽色画素として特定する処理を実行する構成であることを特徴とする。
【００１３】
さらに、本発明の画像処理装置の一実施態様において、偽色画素検出領域設定部は、前記白とび検出部の検出した白とび画素の周囲に設定する偽色画素検出領域を、処理対象画像データの撮影時の絞り、焦点距離情報、光学中心から白とび画素（ｘ，ｙ）までの距離の少なくともいずれかのデータに基づいて決定する処理を実行する構成であることを特徴とする。
【００１４】
さらに、本発明の画像処理装置の一実施態様において、前記白とび検出部は、予め定めた閾値以上の輝度を有する画素を白とび画素として選択する処理を実行する構成であることを特徴とする。
【００１５】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、さらに、入力画像データを輝度成分画像データと色成分画像データとに分離するデータ変換処理を実行する色変換部を有し、前記色変換部において生成された変換データに基づく画素値補正処理を実行する構成であることを特徴とする。
【００１６】
さらに、本発明の画像処理装置の一実施態様において、前記偽色画素検出領域設定部は、処理対象画像と同一被写体の撮影画像であり、処理対象画像の白とび画素に対応する位置の画素が飽和輝度値を持たない参照画像を入力し、処理対象画像の白とび画素位置に対応する参照画像の対応画素の輝度値を取得する参照画像解析部と、前記参照画像解析部において取得した前記参照画像の対応画素の輝度値に基づいて偽色画素検出領域を設定する偽色画素検出領域決定部とを有する構成であることを特徴とする。
【００１７】
さらに、本発明の画像処理装置の一実施態様において、前記偽色画素検出領域決定部は、参照画像の輝度値と、偽色発生可能画素範囲あるいは偽色画素検出領域を対応付けたルックアップテーブルを適用して偽色画素検出領域を設定する構成であることを特徴とする。
【００１８】
さらに、本発明の画像処理装置の一実施態様において、前記偽色画素検出領域決定部は、前記参照画像の対応画素の輝度値が高いほど広い偽色画素検出領域を設定する処理を実行する構成であることを特徴とする。
【００１９】
さらに、本発明の画像処理装置の一実施態様において、前記偽色画素検出領域決定部は、低感度センサを持つ撮像素子によって撮影した画像、または適正露出未満の低露出条件での撮影画像を参照画像として適用し、処理対象画像の白とび画素に対応する位置の参照画像の輝度値を取得する構成であることを特徴とする。
【００２０】
さらに、本発明の第２の側面は、
画像処理方法であり、
画像データから白とび画素を検出する白とび検出ステップと、
前記白とび検出ステップにおいて検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定ステップと、
前記偽色画素検出領域設定ステップにおいて設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
前記偽色検出ステップにおいて検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正ステップと、
を有することを特徴とする画像処理方法にある。
【００２１】
さらに、本発明の画像処理方法の一実施態様において、前記画素値補正ステップは、偽色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補間ステップと、偽色画素について、色ぼかし処理を実行する色ぼかし処理ステップとを有することを特徴とする。
【００２２】
さらに、本発明の画像処理方法の一実施態様において、前記画素値補正ステップは、偽色画素の周囲に存在する画素から偽色画素および白とび画素を除くその他の画素を選択し、選択画素に基づく穴埋め補間処理を実行するステップであることを特徴とする。
【００２３】
さらに、本発明の画像処理方法の一実施態様において、前記偽色検出ステップは、前記偽色画素検出領域設定ステップにおいて設定した領域内において、あらかじめ設定された特定の色を有する画素を偽色画素として特定する処理を実行するステップであることを特徴とする。
【００２４】
さらに、本発明の画像処理方法の一実施態様において、前記偽色は、パープルフリンジであり、前記偽色検出ステップは、前記偽色画素検出領域設定ステップにおいて設定した領域内の紫色の画素を偽色画素として特定する処理を実行するステップであることを特徴とする。
【００２５】
さらに、本発明の画像処理方法の一実施態様において、偽色画素検出領域設定ステップは、前記白とび検出ステップにおいて検出した白とび画素の周囲に設定する偽色画素検出領域を、処理対象画像データの撮影時の絞り、焦点距離情報、光学中心から白とび画素（ｘ，ｙ）までの距離の少なくともいずれかのデータに基づいて決定する処理を実行するステップであることを特徴とする。
【００２６】
さらに、本発明の画像処理方法の一実施態様において、前記白とび検出ステップは、予め定めた閾値以上の輝度を有する画素を白とび画素として選択する処理を実行するステップであることを特徴とする。
【００２７】
さらに、本発明の画像処理方法の一実施態様において、前記画像処理方法は、さらに、入力画像データを輝度成分画像データと色成分画像データとに分離するデータ変換処理を実行する色変換ステップを有し、前記色変換部において生成された変換データに基づく画素値補正処理を実行するステップであることを特徴とする。
【００２８】
さらに、本発明の画像処理方法の一実施態様において、前記偽色画素検出領域設定ステップは、処理対象画像と同一被写体の撮影画像であり、処理対象画像の白とび画素に対応する位置の画素が飽和輝度値を持たない参照画像を入力し、処理対象画像の白とび画素位置に対応する参照画像の対応画素の輝度値を取得する参照画像解析ステップと、前記参照画像解析ステップにおいて取得した前記参照画像の対応画素の輝度値に基づいて偽色画素検出領域を設定する偽色画素検出領域決定ステップとを含むことを特徴とする。
【００２９】
さらに、本発明の画像処理方法の一実施態様において、前記偽色画素検出領域決定ステップは、参照画像の輝度値と、偽色発生可能画素範囲あるいは偽色画素検出領域を対応付けたルックアップテーブルを適用して偽色画素検出領域を設定するステップであることを特徴とする。
【００３０】
さらに、本発明の画像処理方法の一実施態様において、前記偽色画素検出領域決定ステップは、前記参照画像の対応画素の輝度値が高いほど広い偽色画素検出領域を設定する処理を実行するステップであることを特徴とする。
【００３１】
さらに、本発明の画像処理方法の一実施態様において、前記偽色画素検出領域決定ステップは、低感度センサを持つ撮像素子によって撮影した画像、または適正露出未満の低露出条件での撮影画像を参照画像として適用し、処理対象画像の白とび画素に対応する位置の参照画像の輝度値を取得することを特徴とする。
【００３２】
さらに、本発明の第３の側面は、
画像処理をコンピュータ上において実行させるコンピュータ・プログラムであって、
画像データから白とび画素を検出する白とび検出ステップと、
前記白とび検出ステップにおいて検出した白とび画素の周囲に偽色画素検出領域を設定する偽色画素検出領域設定ステップと、
前記偽色画素検出領域設定ステップにおいて設定した領域内において、偽色に対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
前記偽色検出ステップにおいて検出した偽色画素について、周囲画素値に基づく画素値補正処理を実行する画素値補正ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００３３】
さらに、本発明のコンピュータ・プログラムの一実施態様において、偽色画素検出領域設定ステップは、処理対象画像と同一被写体の撮影画像であり、処理対象画像の白とび画素に対応する位置の画素が飽和輝度値を持たない参照画像を入力し、処理対象画像の白とび画素位置に対応する参照画像の対応画素の輝度値を取得する参照画像解析ステップと、前記参照画像解析ステップにおいて取得した前記参照画像の対応画素の輝度値に基づいて偽色画素検出領域を設定する偽色画素検出領域決定ステップとを含むことを特徴とする。
【００３４】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００３５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００３６】
本発明の構成によれば、画像データから白とび画素を検出し、検出した白とび画素の周囲に偽色画素検出領域を設定し、設定領域内において、パープルフリンジ等の偽色に対応する色を有する画素を検出し、検出画素を偽色画素として特定し、特定した偽色画素に対して周囲画素値に基づく補正処理を実行する構成としたので、白とび画素近傍に発生するパープルフリンジ等の偽色領域の効率的検出、部分的な画素値補正が可能となり、画像全体に対する影響を発生させることなく高品質な画像データの生成、出力が可能となる。
【００３７】
本発明の構成によれば、カメラで撮影した画像に起こる色収差によるパープルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力が実現される。従来のカメラでは、パープルフリンジが発生するような状況で、レンズ絞りなどの設定を工夫しないと不自然な画像が撮影される可能性があったが、本発明を適用することにより、撮影画像に含まれるパープルフリンジ等の偽色を効率的に抽出し補正することが可能であり高品質な画像を生成、出力することができる。従って、撮影時にパープルフリンジが起こらないようにレンズの絞りや焦点距離などに注意を払う必要がなく、より高い自由度で撮影を行なうことが可能となる。
【００３８】
さらに、本発明の構成によれば、白とび画素に対応する被写体の実輝度を参照画像に基づいて推定し、被写体の実輝度に対応する偽色（パープルフリンジ）検出領域を設定して、設定領域内の偽色（パープルフリンジ）画素を検出して補正する構成であるので、設定される偽色（パープルフリンジ）検出領域が広すぎたり、狭すぎたりすることがなく、偽色（パープルフリンジ）の発生する可能性のある領域に一致する偽色（パープルフリンジ）検出領域の設定が可能となり、確実にかつ効率的に偽色（パープルフリンジ）画素を検出することができ、画像補正の精度が高まり、効率化が実現される。
【発明を実施するための最良の形態】
【００３９】
以下、図面を参照しながら、本発明の画像処理装置、および画像処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【００４０】
［実施例１］
まず、画像処理装置の構成例について図１を参照して説明する。なお、図１に示す画像処理装置は、撮像部を備え、撮像部において撮影した画像データの補正処理を実行する装置例として示してあるが、本発明の画像処理装置は、たとえばハードディスクなどの記憶部に格納された画像データを入力して入力画像の補正を実行することも可能であり、補正処理対象の画像データは、撮像部を介して入力されるデータのみならず、記憶手段、あるいはネットワークを介して入力する画像データなどあらゆる入力画像データに対応可能である。図１は本発明の画像処理装置の一構成例を示すものである。
【００４１】
図１に示す画像処理装置の詳細構成について説明する。図１に示すように、画像処理装置は、レンズ１０１、絞り１０２、固体撮像素子１０３、相関２重サンプリング回路１０４、Ａ／Ｄコンバータ１０５、ＤＳＰブロック１０６、タイミングジェネレータ１０７、Ｄ／Ａコンバータ１０８、ビデオエンコーダ１０９、ビデオモニタ１１０、コーデック（ＣＯＤＥＣ）１１１、メモリ１１２、ＣＰＵ１１３、入力デバイス１１４、フラッシュ制御装置１１５、フラッシュ発光装置１１６から構成される。
【００４２】
ここで、入力デバイス１１４はカメラ本体にある録画ボタンなどの操作ボタン類をさす。また、ＤＳＰブロック１０６は信号処理用プロセッサと画像用ＲＡＭを持つブロックで、信号処理用プロセッサが画像用ＲＡＭに格納された画像データに対してあらかじめプログラムされた画像処理をおこなうことができるようになっている。以下ＤＳＰブロックを単にＤＳＰと呼ぶ。
【００４３】
本実施例の全体的な動作を以下に説明する。
光学系を通過して固体撮像素子１０３に到達した入射光は、まず撮像面上の各受光素子に到達し、受光素子での光電変換によって電気信号に変換され、相関２重サンプリング回路１０４によってノイズ除去され、Ａ／Ｄコンバータ１０５によってデジタ。信号に変換された後、デジタル信号処理部（ＤＳＰ）１０６中の画像メモリに一時格納される。なお、必要があれば、撮影の際に、フラッシュ制御装置１１５を介して、フラッシュ発光装置１１６を発光させることができる。
【００４４】
撮像中の状態においては、一定のフレームレートによる画像取り込みを維持するようにタイミングジェネレータ１０７が信号処理系を制御する。デジタル信号処理部（ＤＳＰ）１０６へも一定のレートで画素のストリームが送られ、そこで適切な画像処理がおこなわれた後、画像データはＤ／Ａコンバータ１０８もしくはコーデック（ＣＯＤＥＣ）１１１あるいはその両方に送られる。Ｄ／Ａコンバータ１０８はデジタル信号処理部（ＤＳＰ）１０６から送られる画像データをアナログ信号に変換し、それをビデオエンコーダ１０９がビデオ信号に変換し、そのビデオ信号をビデオモニタ１１０でモニタできるようになっていて、このビデオモニタ１１０は本実施例においてカメラのファインダの役割を担っている。また、コーデック（ＣＯＤＥＣ）１１１はデジタル信号処理部（ＤＳＰ）１０６から送られる画像データに対する符号化をおこない、符号化された画像データはメモリ１１２に記録される。ここで、メモリ１１２は半導体、磁気記録媒体、光磁気記録媒体、光記録媒体などを用いた記録装置などであってよい。
【００４５】
以上が本実施例の画像処理装置の一例としてのデジタルビデオカメラのシステム全体の説明であるが、本発明に係る画像処理、すなわち画像データの補正処理はデジタル信号処理部（ＤＳＰ）１０６において実行される。以下、この画像処理の詳細について説明する。
【００４６】
まず、偽色（パープルフリンジ）の発生の仕方の特徴について、述べる。偽色（パープルフリンジ）とは、色収差による色ずれが、白とび部分周辺で目立って現れる現象で、例えば紫色の偽色を生ずることを特徴とする。偽色が発生する白とびの周り範囲大きさは、光学系の種類、光学系の絞り、焦点距離ならびに、高輝度部分とその周囲の輝度差に連動しており、また、光学中心からの距離にも依存し、大きさが変わる。また、偽色が出る方向も、光学中心から高輝度画素の外側に向かう方向、高輝度画素から光学中心に向かう方向などに多く発生し、その傾向は、撮像する光学系により異なる。以上のような特徴を踏まえて、本発明はパープルフリンジを軽減する画像処理方法を提供する。なおここで、高輝度画素とは画像において飽和している画素とし、以降では、高輝度画素のことを白とび画素と呼ぶ。
【００４７】
なお、前述したように、輝度レベルにおける飽和状態としての白とびが起こっているハイコントラストのエッジ部分に発生するレンズ収差による偽色の代表的な現象をパープルフリンジと呼ぶが、偽色の色は紫に限定されるものではなく、例えば緑がかった色となる場合などもある。以下の実施例では、紫色の偽色を生じた例として説明するが、本発明は、紫色に限らず、白とび近傍に発生する任意の色を有する偽色の補正処理に適用可能である。
【００４８】
図２は、本実施例を表すフローチャートである。まず、処理全体の概略を説明し、各処理の詳細については後述する。ステップＳ１０１は、色空間変換処理であり、入力画像に対し、色空間の変換を施し輝度成分画像と色成分画像に分離する。次に、ステップＳ１０２は、白とび領域検出処理であり、補正対象の入力画像データ中から白とび部分を検出する。ステップＳ１０３は、偽色画素検出領域設定処理であり、白とびの周囲の偽色発生画素である紫画素の検索領域を設定する。さらに、ステップＳ１０４は、偽色画素検出処理であり、検索領域内にある紫色画素を検出する。ステップＳ１０５は、偽色画素補正処理であり、検出された紫色の画素の色成分を補正する。さらに、ステップＳ１０６は、色ぼかし処理（フィルタリング処理）であり、自然な結果を得るためのフィルタリング処理を施す、最後に、ステップＳ１０７が色空間逆変換処理であり、補正結果の輝度成分画像、色成分画像を変換し、ＲＧＢのカラー画像として、結果画像を出力する。
【００４９】
入力画像は、例えば図１に示す撮像部を持つシステムにおいて撮像部で撮影された画像データであり、デジタルデータとしてデジタル信号処理部（ＤＳＰ）１０６に入力されたデータである。なお、前述したように、入力画像データは、記憶媒体に格納された画像データや、ネットワーク経由で他の機器から入力するデータであってもよい。
【００５０】
なお、本実施例では、処理対象となる入力画像をＲＧＢｉｎとする。ＲＧＢｉｎは、各画素にカラー情報を持つ画像であり、カメラの固体撮像素子から出力されるデータに対し、デモザイク処理ならびにホワイトバランス処理などを施したものである。なお、処理対象となる入力画像をＲＧＢｉｎは、図３に示すように、入力画像ＲＧＢｉｎのｘ方向の画素数（幅）をｗ、ｙ方向の画素数（高さ）をｈとする。以下、各ステップの詳細について説明する。
【００５１】
まず、ステップＳ１０１の色空間変換処理は、入力画像ＲＧＢｉｎを変換し、輝度成分画像Ｌｉｎと色成分画像Ｃｉｎに分離する。つまりＲＧＢカラーの入力画像を、輝度成分と色成分を別々に持つ色空間データに変換する。変換データの色空間としては、例えばＹＣｂＣｒやＣＩＥ  Ｌ＊ａ＊ｂ＊などが適用可能である。
【００５２】
次に、ステップＳ１０２の白とび領域検出処理において、変換された画像データに基づく白とび領域検出処理（白とびマスク算出）を実行する。すなわち画像データから白とび画素を検出し、２値画像である白とびマスクＳを生成する。図４を参照して、ステップＳ１０２において実行する白とび画素検出処理の詳細について説明する。
【００５３】
ステップＳ２０１、Ｓ２０２において、補正対象画像データの検査対象画素位置の初期設定を実行する。初期設定として検査対象画素位置をｘ＝０、ｙ＝０として設定する。ステップＳ２０３において、輝度成分画像Ｌｉｎの各画素（ｘ，ｙ）について、輝度があらかじめ定められた閾値以上かどうか判別し、閾値以上ならばステップＳ２０４に進み、白とびマスクＳ（ｘ，ｙ）をｔｒｕｅとし、閾値以下であれば、ステップＳ２０５に進み、白とびマスクＳ（ｘ，ｙ）をｆａｌｓｅとする。
【００５４】
ステップＳ２０６では、画素位置：ｘの更新を実行し、ステップＳ２０７においてｘが最大値（ｘ＝ｗ）に達しているか否かを判定し、達していない場合は、ステップＳ２０３以下を繰り返し実行する。ステップＳ２０７においてｘが最大値（ｘ＝ｗ）に達している場合は、ステップＳ２０８に進み、画素位置：ｙの更新を実行し、ステップＳ２０９においてｙが最大値（ｙ＝ｈ）に達しているか否かを判定し、達していない場合は、ステップＳ２０２以下を繰り返し実行する。全ての画素（ｘ＝０〜ｗ，ｙ＝０〜ｈ）に対する処理が終了すると、白とびマスクの生成が終了する。
【００５５】
この結果、各画素位置において、閾値より大きい輝度レベルを持つ画素領域と、閾値以下の輝度領域を持つ画素領域とを区分した白とびマスクが生成される。（暗）０〜２５５（明）の輝度レベルが設定されている場合、閾値は、例えば２５０程度に設定され、２５０以上の輝度レベルを持つ画素を白とび発生画素として抽出し、これらの画素のみを区別可能とした白とびマスクが生成される。
【００５６】
上述の処理によって図２のステップＳ１０２が終了し、次に、ステップＳ１０３の偽色画素検出領域設定処理を実行する。この処理において、白とび部分周囲の偽色発生部検索領域設定（Ｄｉｌａｔｅ）処理を実行する。ここでは、白とび部分周囲の偽色発生部検索領域を区別するためのマスクＰ、すなわち、白とび部分周囲における紫画素検索領域を表すマスクＰを生成する。なお、Ｐは２値のマスク画像である。
【００５７】
図５を参照して、ステップＳ１０３の偽色発生部検索領域設定処理の詳細について説明する。まずステップＳ３０１において、偽色領域マスクＰの全画素をｆａｌｓｅに初期化する。次に、ステップＳ３０２，Ｓ３０３において、画素位置の初期設定を実行する。初期設定として画素位置をｘ＝０、ｙ＝０として設定する。
【００５８】
画素位置設定の後、ステップＳ３０４において、設定画素位置における白とびマスクＳの画素値を判別する。設定画素位置（ｘ，ｙ）において、白とびマスクＳ（ｘ，ｙ）＝ｆａｌｓｅであれば、ステップＳ３１４へ進み、次の画素に対する処理に移る。もし、Ｓ（ｘ，ｙ）＝ｔｒｕｅであれば、ステップＳ３０５へ進む。画素位置（ｘ，ｙ）において、白とびマスクＳ（ｘ，ｙ）＝ｆａｌｓｅであるとは、画素位置（ｘ，ｙ）の画素値が白とび画素ではないことを意味し、画素位置（ｘ，ｙ）において、白とびマスクＳ（ｘ，ｙ）＝ｔｒｕｅであるとは、画素位置（ｘ，ｙ）の画素値が白とび画素であることを意味する。
【００５９】
画素位置（ｘ，ｙ）において、白とびマスクＳ（ｘ，ｙ）＝ｔｒｕｅである場合、ステップＳ３０５において、白とび画素（ｘ，ｙ）の周囲において偽色を発生する可能性がある範囲を算出する。前述の通り、パープルフリンジは、白とび部分の周囲に発生し、光学系の種類、絞り・焦点距離の設定、さらに高輝度画素と周囲の画素の輝度差によって発生する可能性のある範囲が変わる。また、画像上での光学中心からの距離によっても、発生する範囲が変化する。光学系の種類や設定は、撮影時に情報を保存しておくことにより、画像処理の際に用いることができる。また、白とび部分と光学中心部分の位置関係は、容易に算出することができる。
【００６０】
本実施例では、例えば撮像システムの光学系の特性を踏まえ、画像領域に対応した偽色画素検出領域を設定した例えばルックアップテーブル（ＬＵＴ）など、あらかじめ設定された偽色画素検出領域算定情報を適用する。例えば、ルックアップテーブル（ＬＵＴ）は、画像上での光学中心から白とび画素（ｘ，ｙ）までの距離と、画像データの撮影時の絞り、焦点距離情報とを入力パラメータとして、偽色画素検出領域情報を出力可能な構成を持つ。
【００６１】
画像データの撮影時の絞り、焦点距離情報は画像データの属性情報から取得し、画像上での光学中心から白とび画素（ｘ，ｙ）までの距離は、本フローにおいて検査対象として設定された画素位置情報が適用される。
【００６２】
なお、画像データの撮影時の絞り、焦点距離情報等の属性情報が取得できない場合は、画像上での光学中心から白とび画素（ｘ，ｙ）までの距離のみに基づいて偽色画素検出領域を決定する構成としてもよく、また、光学中心から白とび画素（ｘ，ｙ）までの距離等の情報についても適用することなく、白とび画素（ｘ，ｙ）の周囲の一定領域を偽色画素検出領域として一律に設定する構成としてもよい。
【００６３】
ステップＳ３０５では、白とび画素（ｘ，ｙ）の周囲の偽色画素検出領域の範囲を、（ｘ０，ｘ１，ｙ０，ｙ１）の４個のスカラー値として算出する。これは、図６に示すように、白とび画素（ｘ，ｙ）２０１の周囲においてｘ０〜ｘ１，ｙ０〜ｙ１によって規定される矩形領域を、白とび画素（ｘ，ｙ）の周囲に存在する偽色画素検出領域２０２とするものである。なお、図６において点線の画素２０３は、注目白とび画素（ｘ，ｙ）２０１以外の白とび画素２０３である。
【００６４】
次に、算出した偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）について、ｉ＝ｘ０，ｊ＝ｙ０を起点として設定（Ｓ３０６，Ｓ３０７）し、ステップＳ３０８〜Ｓ３１２において、偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）内の各画素について白とびマスクＳ（ｉ，ｊ）の値がｔｒｕｅかｆａｌｓｅかの判別を行う。図６に示す偽色画素検出領域２０２内の構成画素について、順次、白とびマスクの値がｔｒｕｅかｆａｌｓｅかの判別を行う。図６において、注目白とび画素（ｘ，ｙ）２０１と白とび画素２０３については、白とびマスクＳ（ｉ，ｊ）＝ｔｒｕｅとなる。
【００６５】
ステップＳ３０８において、白とびマスクＳ（ｉ，ｊ）＝ｔｒｕｅと判定した場合は、ステップＳ３１０に進み、次の画素の処理を行う。白とびマスクＳ（ｉ，ｊ）＝ｆａｌｓｅの場合は、ステップＳ３０９に進み、偽色領域マスクＰ（ｉ，ｊ）の値をｔｒｕｅに設定する。その後、ステップＳ３１０に進み、次の画素に対する処理を行う。ステップＳ３１０〜Ｓ３１３は、ｉおよびｊの値の更新処理および最大値ｉ＝ｘ１、ｊ＝ｙ１であるか否かの判定処理である。順次ｉおよびｊの値の更新を行いながら、特定画素（ｘ，ｙ）の周囲に設定した偽色領域マスクＰ（ｉ，ｊ）の値を決定する。
【００６６】
偽色領域マスクＰ（ｉ，ｊ）＝ｔｒｕｅは、偽色画素検出領域に属し、白とび画素ではない画素であり、偽色領域マスクＰ（ｉ，ｊ）＝ｆａｌｓｅは、偽色画素検出領域に属さないか、または白とび画素である画素に対応する。
【００６７】
ステップＳ３１３において、偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）のすべての画素（ｉ，ｊ）に対して処理が完了したと判別されたら、ステップＳ３１４に進む。ステップＳ３１４〜Ｓ３１７は、ｘおよびｙの値の更新処理および最大値ｘ＝ｗ、ｙ＝ｈであるか否かの判定処理である。順次ｘおよびｙの値の更新を行いながら、処理対象画像（ｘ＝０〜ｗ，ｙ＝０〜ｈ）の全画素について偽色領域マスクＰ（ｉ，ｊ）の値を決定し、偽色領域マスクＰ（ｉ，ｊ）を生成する。画像中のすべての画素（ｘ，ｙ）が処理されたと判別されると、図２のステップＳ１０３の偽色画素検出領域設定処理は終了する。
【００６８】
次の処理は、図２のステップＳ１０４の偽色画素検出処理である。ステップＳ１０３では、白とび周囲の偽色、すなわちパープルフリンジが存在する可能性のある画像中の領域を偽色領域マスクＰとして算出したが、次のステップＳ１０４においては、実際にパープルフリンジであると思われる画素を検出する処理を行う。すなわち、偽色領域マスクＰ＝ｔｒｕｅの領域の画素を対象として、実際にパープルフリンジであると思われる画素を検出する。
【００６９】
ステップＳ１０４では、ステップＳ１０３で計算された偽色領域マスクＰを上書きする形で偽色領域マスクＰを更新し、最終的に偽色と判定される画素のみを特定可能な偽色領域マスクＰを生成する。ステップＳ１０４の偽色画素検出処理の詳細について、図７を参照して説明する。
【００７０】
ステップＳ４０１、Ｓ４０２において、画像データの画素位置の初期設定を実行する。初期設定として画素位置をｘ＝０、ｙ＝０として設定する。ステップＳ４０３では、画素位置（ｘ，ｙ）における偽色領域マスクＰの値を判別する。Ｐ（ｘ，ｙ）＝ｆａｌｓｅであった場合は、ステップＳ４０６に進む。Ｐ（ｘ，ｙ）＝ｔｒｕｅであった場合は、ステップＳ４０４へ進む。
【００７１】
前述したように、偽色領域マスクＰ（ｉ，ｊ）＝ｔｒｕｅは、偽色画素検出領域に
属し、白とび画素ではない画素であり、偽色領域マスクＰ（ｉ，ｊ）＝ｆａｌｓｅ
は、偽色画素検出領域に属さないか、または白とび画素である画素に対応する。
【００７２】
画素位置（ｘ，ｙ）が、偽色領域マスクＰ（ｉ，ｊ）＝ｔｒｕｅ、すなわち、偽色画素検出領域に属し、白とび画素ではない画素である場合は、ステップＳ４０４において、位置（ｘ，ｙ）における色成分画像Ｃｉｎの色が、偽色対応色であるか否かを判定する。例えばパープルフリンジの紫色であるかどうかを判別する。
【００７３】
色成分画像Ｃｉｎ（ｘ，ｙ）が偽色対応色、例えば紫色かどうかの判別方法は、変換した色空間によって異なる。例えば色空間としてＣＩＥ  Ｌ＊ａ＊ｂ＊を用いた場合の、判別方法の一例を図８を参照して説明する。色成分は、ａ＊成分，ｂ＊成分を用いて判別される。ａ＊成分の値が、増えれば赤（Ｒｅｄ）、減れば緑色（Ｇｒｅｅｎ）に近づき、ｂ＊成分の値が増えれば黄色（Ｙｅｌｌｏｗ）、減れば青色（Ｂｌｕｅ）に近づくような特徴を持っている。したがって、（ａ＊，ｂ＊）が第４象限に存在する場合、紫色（Ｐｕｒｐｌｅ）に近い色を持つ。紫色かどうか判別するには、ベクトル（ａ＊，ｂ＊）がａ＊軸となす角度αなどを使って判別する。
【００７４】
偽色として判定する紫色の対象となる角度の範囲などはパラメータとして適宜設定する。あるいは予め設定された値を適用する。なお、偽色（パープルフリンジ）部分画素の彩度は大きい傾向がある。したがって、前記の条件を満たしかつ、色成分Ｃｉｎの彩度があらかじめ設定した閾値以上である場合だけを、偽色（パープルフリンジ）であると判定する設定としてもよい。
【００７５】
色成分画像Ｃｉｎ（ｘ，ｙ）が偽色対応色、例えば紫色かどうかの判別方法は、変換した色空間によって異なる。次に、色空間としてＹＣｂＣｒを用いた場合の処理について説明する。この場合、色成分は、Ｃｂ成分，Ｃｒ成分を用いて判別される。ＹＣｂＣｒ空間では、Ｃｂ＝１２８、Ｃｒ＝１２８が無彩色を表わすので、Ｃｂ、Ｃｒでなされる色を（Ｃｂ―１２８、Ｃｒ−１２８）で表わす。たとえば、（Ｃｂ―１２８、Ｃｒ−１２８）＝（ａ×ｃｏｓθ，ａ×ｓｉｎθ）とした場合のθで表わされる角度を、色相として用いる。色成分画像Ｃｉｎ（ｘ，ｙ）が偽色対応色かどうかの判定方法は、たとえば、このθの角度が、あらかじめ指定された範囲内に入っているかどうかにより判定することができる。
【００７６】
Ｃｉｎ（ｘ，ｙ）が、予め指定された色相範囲、すなわちパープルフリンジ（ＰＦ）等の偽色に相当する色相範囲に入る色相であるか否かをＹＣｂＣｒを用いた構成において判定する処理について、図９を参照して説明する。図９は、色空間におけるパープルフリンジ（ＰＦ）の色相範囲をあらわした図である。色空間の一例としてＹＣｂＣｒ空間を用いる場合、色情報に相当するＣｂＣｒを２次元にプロットしたのが図９である。横軸がＣｂ、縦軸がＣｒの値を示し、原点２５０はＣｂ＝１２８，Ｃｒ＝１２８に相当する色である。
【００７７】
パープルフリンジ（ＰＦ）に相当する色相範囲を指定する方法として、２つの色相の間に入っているか否かを判定する方法を用いる。パープルフリンジ（ＰＦ）は紫色を有し、この特定の色相範囲を図９に示すＣｂＣｒ２次元座標空間で設定する。図に示す色相ライン２５１と、色相ライン２５２とによって挟まれる領域が、パープルフリンジ（ＰＦ）に相当する色相範囲２５３を示す領域として設定される。
【００７８】
Ｃｉｎ（ｘ，ｙ）が、図９に示す色相範囲２５３に含まれるか否かによって、Ｃｉｎ（ｘ，ｙ）が偽色対応色かどうかを判定することができる。
【００７９】
偽色として判定する紫色の対象となる角度の範囲などはパラメータとして適宜設定する。あるいは予め設定された値を適用する。なお、偽色（パープルフリンジ）部分画素の彩度は大きい傾向がある。したがって、前記の条件を満たしかつ、色成分Ｃｉｎの彩度があらかじめ設定した閾値以上である場合だけを、偽色（パープルフリンジ）であると判定する設定としてもよい。このようにして、Ｃｉｎ（ｘ，ｙ）が偽色（パープルフリンジ）画素と判定された場合はステップＳ４０６へ、偽色（パープルフリンジ）ではないと判定された場合はステップＳ４０５へ進む。
【００８０】
ステップＳ４０５においては、偽色領域マスクＰ（ｘ，ｙ）をｆａｌｓｅに設定し、ステップＳ４０６に進む。すなわち、先のステップＳ１０３（図２）の処理においては、偽色の可能性があるとして偽色領域マスクＰ（ｘ，ｙ）＝ｔｒｕｅであったものを、偽色でないとの最終判断に基づいて、偽色領域マスクＰ（ｘ，ｙ）＝ｆａｌｓｅに変更（更新）するものである。
【００８１】
すなわち、図７において説明している処理では、先のステップＳ１０３（図２）の処理において偽色の可能性のある画素から、色判定によって最終的に偽色であると判定される画素のみを選別し、偽色領域マスクＰ（ｘ，ｙ）を更新する。
【００８２】
ステップＳ４０６〜Ｓ４０９は、ｘおよびｙの値の更新処理および最大値ｘ＝ｗ、ｙ＝ｈであるか否かの判定処理である。順次ｘおよびｙの値の更新を行いながら、処理対象画像（ｘ＝０〜ｗ，ｙ＝０〜ｈ）の全画素について偽色領域マスクＰ（ｉ，ｊ）の値を決定し、偽色領域マスクＰ（ｉ，ｊ）を生成する。画像中のすべての画素（ｘ，ｙ）が処理されたと判別されると、図２のステップＳ１０４の偽色画素検出処理は終了する。
【００８３】
次に、図２に示すステップＳ１０５の偽色画素補正処理について説明する。ステップＳ１０４では、上述したように偽色（パープルフリンジ）であると判別された画素を識別する偽色領域マスクＰが生成された。次のステップＳ１０５では、偽色（パープルフリンジ）であると判別された画素の色を、その周囲の画素の画素値に基づく穴埋め繰り返し処理によって補間する処理を実行する。
【００８４】
図１０（Ａ），図１０（Ｂ）は、図２に示すステップＳ１０５の偽色画素補正処理を説明するための模式図である。図１０（Ａ）に示されるように、ステップＳ１０４までの処理ですべての画素は、「白とび画素３０１」、「偽色（パープルフリンジ）画素３０２」、「白とびでもパープルフリンジでもないその他の画素３０３」のいずれかに分類される。
【００８５】
穴埋め繰り返し処理の最初のステップでは、画像中の各画素をスキャンし、もし、偽色（パープルフリンジ）画素３０２（位置（ｘ，ｙ））が、白とびでもパープルフリンジでもないその他の画素３０３に隣接する場合、例えば周囲の８近傍画素にその他の画素３０３が存在する場合、隣接するその他の画素３０３の画素の色成分Ｃの平均値を新たな画素の色成分Ｃ（ｘ，ｙ）として設定する。
【００８６】
このように、偽色（パープルフリンジ）画素３０２をその他の画素３０３によって画素値を設定する処理を、すべての画素に対して一回行うと、図１０（Ｂ）のように、その他の画素３０３に隣接する偽色（パープルフリンジ）画素３０２の色成分が補間され、補間済み偽色（パープルフリンジ）画素３０４として設定される。
【００８７】
さらに、次の穴埋め繰り返し処理では、その他の画素３０３または補間済み偽色（パープルフリンジ）画素３０４に隣接する偽色（パープルフリンジ）画素３０２の色成分を、その他の画素３０３と補間済み偽色（パープルフリンジ）画素３０４に基づいて同様に補間する。このような繰り返し処理を、固定の回数繰り返す。この処理によって、偽色（パープルフリンジ）画素３０２は、図１０（Ｂ）の矢印３２０の方向に、順次補間済み偽色（パープルフリンジ）画素３０４として設定されることになる。このような繰り返し処理を、固定の回数繰り返した後でも、色成分が補間されない偽色（パープルフリンジ）画素３０２が存在する場合は、周りの画素からの色補間は不可能と判断し、それらの画素の色の彩度を一律に落とす処理を施す。
【００８８】
このように、図２に示すステップＳ１０５の偽色画素補正処理は、ステップＳ１０４において、偽色（パープルフリンジ）と判定された画素の画素値を、周囲の白とび以外の画素に基づいて設定する処理、すなわち、穴埋め繰り返し処理である。この処理によって補間されない残存する偽色（パープルフリンジ）画素３０２については彩度低下処理を施す。
【００８９】
ステップＳ１０５の偽色画素補正処理の詳細について、図１１および図１２の処理フローを参照して説明する。図１１および図１２の処理フローにおいて、図１１に示すステップＳ５０１からＳ５１５までは、偽色（パープルフリンジ）画素の色成分の穴埋め処理であり、図１２に示すステップＳ５１６からＳ５２３までの処理は、穴埋めできなかった画素の彩度を低下させる処理である。
【００９０】
図１１のフローから順に説明する。まず、ステップＳ５０１において、図２のステップＳ１０４の偽色画素検出処理において生成した偽色領域マスクＰの内容を、同等の大きさの２値マスクＰ"にコピーする。例えば、
偽色領域マスクＰ＝ｔｒｕｅ→２値マスクＰ"＝ｔｒｕｅ（１）
偽色領域マスクＰ＝ｆａｌｓｅ→２値マスクＰ"＝ｆａｌｓｅ（０）
である。
【００９１】
ステップＳ５０２においては、穴埋め処理の繰り返し回数を示す変数ｔの値を０にセットする。ステップＳ５０３においては、２値マスクＰ"の値を、また別の同等の大きさの２値マスクＰ'にコピーする。なお、これらのマスクＰ"、Ｐ'は、繰り返し処理により減ってゆく偽色（パープルフリンジ）画素３０２の位置を保存するために用いる一時的なマスク画像である。
【００９２】
次に、ステップＳ５０４、Ｓ５０５において、処理対象画素位置座標を表す変数ｘ，ｙの初期化を行い、ｘ＝０，ｙ＝０とする。次のステップＳ５０６では、２値マスクＰ'（ｘ，ｙ）の値を判別する。２値マスクＰ'（ｘ，ｙ）＝ｆａｌｓｅである場合、すなわち、処理対象画素が偽色画素でない場合、ステップＳ５１０に進む。２値マスクＰ'（ｘ，ｙ）＝ｔｒｕｅである場合、すなわち、処理対象画素が偽色画素である場合、ステップＳ５０７へ進む。
【００９３】
ステップＳ５０７においては、画素（ｘ，ｙ）に隣接する画素に、２値マスクＰ'＝ｆａｌｓｅかつ、白とびマスクＳ＝ｆａｌｓｅの画素があるかどうか判別する。すなわち、偽色画素でも白とび画素でもない画素があるかどうか判別する。このような条件を満足する画素が画素（ｘ，ｙ）に隣接する画素に存在しないと判別された場合は、ステップＳ５１０に進む。
【００９４】
偽色画素でも白とび画素でもない画素が、画素（ｘ，ｙ）に隣接する画素として存在すると判別された場合は、ステップＳ５０８へ進む。ステップＳ５０８では、２値マスクＰ'＝ｆａｌｓｅかつ、白とびマスクＳ＝ｆａｌｓｅ、すなわち偽色画素でも白とび画素でもない画素であり、かつ画素（ｘ，ｙ）に隣接している１以上の画素の色成分Ｃの平均値を算出し、座標（ｘ，ｙ）の色成分Ｃ（ｘ，ｙ）に設定する。すなわち、画素（ｘ，ｙ）の画素値として設定する。この補間処理によっては、図１０（ｂ）の補間済み偽色（パープルフリンジ）画素３０４が設定される。
【００９５】
この処理の後、ステップＳ５０９へ進む。ステップＳ５０９においては、２値マスクＰ"（ｘ，ｙ）の値をｆａｌｓｅとする。すなわち、偽色画素から、補間済み偽色画素へ変更された画素を２値マスクＰ"（ｘ，ｙ）において、偽色画素でない画素として識別可能な設定とする。
【００９６】
ステップＳ５１０〜Ｓ５１３は、処理画素の座標更新および最大値判定処理であり、ステップＳ５１０においては、ｘ座標の値を１増やす。次のステップＳ５１１において、ｘ＞ｗ−１（ｗは入力画像の幅）であるかどうかの判別をする。ｘ＞ｗ−１であると判定された場合はステップＳ５１２へ進み、ｘ＞ｗ−１でないと判定された場合は、ステップＳ５０６へ進む。
【００９７】
ステップＳ５１２では、ｙ座標を１増やし、次のステップＳ５１３で、ｙ座標の最大値であるｈ−１（ｈは入力画像の高さ）との比較を行う。ｙ＞ｈ−１である場合は、ステップＳ５１４へ進み、ｙ＞ｈ−１でないと判定した場合はステップＳ５０５へ進む。
【００９８】
ステップＳ５１４では、繰り返し処理の回数を表すｔを１増やす。ステップＳ５１５においては、繰り返し回数ｔが、あらかじめ定めた値ｔｍａｘ以上かどうかを判別する。また同時にマスク画像Ｐ"の内ｔｒｕｅの値を持つ画素の個数が０かどうかを判別する。すなわち、穴埋め補間処理によって補間が終了していない偽色画素の個数が０になったか否かを判定する。以上の２つの条件のいずれかが真であると判別された場合は、ステップＳ５１６に進む。またいずれも偽と判断された場合は、ステップＳ５０３に戻り、再び穴埋め処理を行う。
【００９９】
ステップＳ５１５において、繰り返し回数ｔが、あらかじめ定めた値ｔｍａｘ以上となったか、あるいは、穴埋め補間処理によって補間が終了していない偽色画素の個数が０になったか、いずれかが真と判定されると、図１２のステップＳ５１６に進む。
【０１００】
ステップＳ５１６、Ｓ５１７においては、処理対象画素の座標を表す変数ｘ，ｙの初期化を行い、ｘ＝０，ｙ＝０とする。次のステップＳ５１８では、２値マスクＰ"の（ｘ，ｙ）における値がｔｒｕｅかどうかを判別する。すなわち、処理対象画素が偽色画素であるかどうかを判別する。２値マスクＰ"（ｘ，ｙ）＝ｔｒｕｅである場合、すなわち偽色画素である場合は、ステップＳ５１９に進み、２値マスクＰ"（ｘ，ｙ）＝ｆａｌｓｅである場合、すなわち偽色画素でない場合は、ステップＳ５２０に進む。
【０１０１】
処理対象画素が偽色画素である場合は、ステップＳ５１９において、画素（ｘ，ｙ）の色成分Ｃ（ｘ，ｙ）の彩度を低下させる彩度低下処理を施す。例えばＬ＊ａ＊ｂ＊表色系を用いている場合は、ａ＊，ｂ＊の各成分の値に対して、１．０以下０．０以上の定数を掛け合わせることにより、一律に彩度を減少させることが出来る。ステップＳ５１９の彩度低下処理を終了すると、ステップＳ５２０に進む。ステップＳ５２０においては、ｘ座標の値を１増やす。次のステップＳ５２１において、ｘ＞ｗ−１であるかどうかの判別をする。ｘ＞ｗ−１であると判別されればステップＳ５２２へ、ｘ＞ｗ−１でないと判別されればステップＳ５１８へ進み、ｘ座標を更新した隣接画素について同様の処理を繰り返す。
【０１０２】
ステップＳ５２１において、ｘ＞ｗ−１であると判定された場合は、ｘ座標の最大値に達しており、ステップＳ５２２へ進み、ｙ座標を１増やし、次のステップＳ５２３で、ｙ座標の最大値であるｈ−１との比較を行う。ｙ＞ｈ−１でない場合はステップＳ５１７へ進み、更新したｙ座標を持つ画素について同様の処理を繰り返す。ステップＳ５２３において、ｙ＞ｈ−１であると判定すると、偽色画素補正処理を終了する。以上の処理によって図２に示すステップＳ１０５の偽色画素補正処理を終了する。
【０１０３】
ステップＳ１０５の偽色画素補正処理を終了すると、次に、ステップＳ１０６の色ぼかし処理（フィルタリング）を実行する。ステップＳ１０５では、穴埋め処理の繰り返しにより、偽色（パープルフリンジ）画素の色を補間し、穴埋めし切れなかった偽色（パープルフリンジ）画素については、彩度を低下させる処理を行った。しかし、ステップＳ１０５の処理を施した偽色（パープルフリンジ）部分には、色が比較的急に変化する部分が発生してしまう可能性がある。ステップＳ１０６の色ぼかし処理（フィルタリング）では、この急な色変化を緩和するために、ぼかしフィルタをかける処理を行う。
【０１０４】
ステップＳ１０６の色ぼかし処理（フィルタリング）の詳細について、図１３の処理フローを参照して説明する。まず、ステップＳ６０１において、色ぼかし処理（フィルタリング）の繰り返し回数を示す変数ｔの値を０にセットする。次に、ステップＳ６０２では、先のステップＳ１０５の偽色画素補正処理で更新された色成分画像Ｃを、同等の大きさの色成分画像Ｃ'にコピーする。
【０１０５】
次に、ステップＳ６０３、Ｓ６０４において、処理対象画素の座標を表す変数ｘ，ｙの初期化を行い、ｘ＝０，ｙ＝０とする。次のステップＳ６０５では、偽色領域マスクＰ（ｘ，ｙ）の値を判別する。偽色領域マスクＰ（ｘ，ｙ）＝ｆａｌｓｅである場合、すなわち、偽色画素ではない場合は、ステップＳ６０７に進む。偽色領域マスクＰ（ｘ，ｙ）＝ｔｒｕｅ、すなわち偽色画素である場合は、ステップＳ６０６へ進む。
【０１０６】
なお、偽色領域マスクＰ（ｘ，ｙ）は、先のステップＳ１０４の偽色画素検出処理（図７の処理フローに対応）によって色（画素値）判定に基づいて偽色と判定された画素をｔｒｕｅとして設定したマスクであり、先のステップＳ１０５の偽色画素補正処理によって補正された偽色画素領域についても、ｔｒｕｅの値を維持しているマスクデータである。この色ぼかし処理（フィルタリング）処理に偽色領域マスクＰ（ｘ，ｙ）を適用するため、ステップＳ１０５の偽色画素補正処理においては、偽色領域マスクＰ（ｘ，ｙ）のコピーマスクＰ"を適用した。
【０１０７】
図１３の色ぼかし処理（フィルタリング）の処理についての説明を続ける。ステップＳ６０５において、偽色領域マスクＰ（ｘ，ｙ）＝ｔｒｕｅ、すなわち偽色画素である場合は、ステップＳ６０６へ進み、ステップＳ６０６では、色成分にぼかしフィルタを適用する。これは、色成分画像Ｃ'における画素（ｘ，ｙ）の色成分を示す画素値Ｃ（ｘ，ｙ）の値を周囲の画素の色成分を示す画素値Ｃに基づいて更新する処理である。例えば、処理対象画素（ｘ，ｙ）と、その周囲の８画素を合わせた９画素の色成分Ｃ'の平均値を求め、これを処理対象画素（ｘ，ｙ）の更新画素値Ｃ（ｘ，ｙ）として設定する移動平均フィルタを施す。
【０１０８】
ステップＳ６０６のぼかしフィルタ適用処理を終了すると、ステップＳ６０７〜Ｓ６１０において処理対象画素の座標更新および最大値確認を行なう。ステップＳ６０７においては、ｘ座標の値を１増やす。次のステップＳ６０８において、ｘ＞ｗ−１であるかどうかの判別をする。ｘ＞ｗ−１であると判定された場合はステップＳ６０８へ、ｘ＞ｗ−１でないと判定された場合はステップＳ６０４へ戻り、ｘ座標を更新した画素について同様の処理を実行し必要に応じたぼかし処理を実行する。
【０１０９】
ステップＳ６０８において、ｘ＞ｗ−１であると判定された場合はステップＳ６０９に進み、ｙ座標を１増やし、次のステップＳ６１０で、ｙ座標の最大値であるｈ−１との比較を行う。ｙ＞ｈ−１でないと判定された場合はステップＳ６０３へ進み、更新したｙ座標を持つ画素について同様の処理を実行し必要に応じたぼかし処理を実行する。
【０１１０】
ステップＳ６１０において、ｙ＞ｈ−１であると判定されると、ステップＳ６１１へ進む。ステップＳ６１１では、色ぼかし処理（フィルタリング）の繰り返し回数ｔを１増やす処理をし、次のステップＳ６１２で、繰り返し回数ｔがあらかじめ定めた閾値ｔ'ｍａｘ以上かどうかを判別する。ｔ＜ｔ'ｍａｘである場合は、ステップＳ６０２へ戻り、ｔ≧ｔ'ｍａｘである場合は、色ぼかし処理（フィルタリング）を終了する。
【０１１１】
以上の処理によって、図２に示すステップＳ１０６の色ぼかし処理（フィルタリング）が終了する。ステップＳ１０６の色ぼかし処理（フィルタリング）が終了すると、次のステップＳ１０７で、オリジナルの画像の輝度成分画像Ｌｉｎと、上述した処理の結果である色成分画像Ｃを変換し、ＲＧＢのカラー画像として結果画像ＲＧＢｏｕｔを出力し、全体の処理が終了する。
【０１１２】
なお、上述の処理例では図７のステップＳ４０４において偽色を紫色として判別するように設定した例を説明したが、前述したように、偽色の色は紫に限定されるものではなく、例えば緑がかった色となる場合などもある。このような場合は、ステップＳ４０４において偽色を異なる色として設定し、設定した色を持つ画素を偽色として判別する偽色領域マスクＰ（ｘ，ｙ）を構成することで、任意の色に対応した処理が可能である。
【０１１３】
また、複数の異なる色、例えば紫と緑色などの複数の色について補正する場合は、図２に示す処理を、異なる色を対象として複数回、繰り返して実行するか、あるいは、偽色領域マスクＰ（ｘ，ｙ）を、複数の色、例えば紫および緑の画素値をｔｒｕｅとして設定したマスクとして構成として上述の処理を実行することで、複数の色を持つ偽色に対する補正を行なうことが可能となる。
【０１１４】
図１４に、上述した処理を実行する本発明の画像処理装置におけるデジタル信号処理部（ＤＳＰ）（図１のＤＳＰ１０６に相当）の機能構成を示すブロック図を示す。図１４のブロック図を参照して、図２に示すフローチャートと対比しながらデジタル信号処理部（ＤＳＰ）１０６の実行する処理について説明する。
【０１１５】
デジタル信号処理部（ＤＳＰ）１０６は、機能的には、図１４に示すように、色変換部４０１、白とび検出部４０２、偽色画素検出領域設定部４０３、偽色（パープルフリンジ）検出部４０４、画素値補正部４１０、色逆変換部４０５を有する。画素値補正部４１０は、偽色（パープルフリンジ）穴埋め補間部４１１、偽色（パープルフリンジ）ぼかし処理部４１２から構成される。
【０１１６】
デジタル信号処理部（ＤＳＰ）１０６は、入力画像フレームメモリ４２０から画像データ（ＲＧＢｉｎ）を入力し、色変換処理部４０１において、ＲＧＢ入力画像の色空間を変換し、輝度成分と色成分に分離する。色変換処理部４０１において実行する処理は、図２に示すフローチャートのステップＳ１０１に相当する処理であり、入力画像ＲＧＢｉｎを変換し、輝度成分画像Ｌｉｎと色成分画像Ｃｉｎに分離する。つまりＲＧＢカラーの入力画像を、輝度成分と色成分を別々に持つ色空間に変換する。色空間としてはＹＣｂＣｒやＣＩＥ  Ｌ＊ａ＊ｂ＊などを適用することが出来る。
【０１１７】
次に、白とび検出部４０２は、色変換処理部４０１において変換されたデータに基づいて、白とびを起こしている画素部分の検出を実行する。この処理は、図２に示すフローチャートのステップＳ１０２に相当する処理であり、その詳細は、図４のフローチャートを参照して説明したように予め定めた輝度閾値以上の輝度を有する画素を白とび画素として検出し、白とび画素を識別する白とびマスクＳ（ｘ，ｙ）を生成する処理を実行する。
【０１１８】
偽色画素検出領域設定部４０３は、白とび検出部４０２において検出された白とび画素の周囲部分に偽色画素の検出領域を設定する処理を行う。この領域設定処理は、白とびマスクＳ（ｘ，ｙ）＝ｔｒｕｅである白とび画素（ｘ，ｙ）の周囲において偽色を発生する可能性がある範囲を算出する処理であり、あらかじめ設定された偽色画素検出領域算定情報を適用する。この処理は、図２に示すフローチャートのステップＳ１０３に相当する処理であり、図５に示す処理フローに従って実行される処理である。
【０１１９】
偽色画素検出領域設定部４０３は、例えば、画像上での光学中心から白とび画素（ｘ，ｙ）までの距離と、画像データの撮影時の絞り、焦点距離情報に対応付けられた偽色画素検出領域情報を持つルックアップテーブル（ＬＵＴ）を適用して、各白とび画素（ｘ，ｙ）の周囲に偽色画素検出領域を設定する。なお、画像データの撮影時の絞り、焦点距離情報等が存在しない場合は、画像上での光学中心から白とび画素（ｘ，ｙ）までの距離のみに基づいて、偽色画素検出領域を決定する構成としてもよく、また、光学中心から白とび画素（ｘ，ｙ）までの距離等の情報についても適用することなく、白とび画素（ｘ，ｙ）の周囲の一定領域を偽色画素検出領域として一律に設定する構成としてもよい。
【０１２０】
偽色画素検出領域設定部４０３は、先に図６を参照して説明したように、白とび画素（ｘ，ｙ）２０１の周囲の偽色画素検出領域の範囲を、（ｘ０，ｘ１，ｙ０，ｙ１）の４個のスカラー値として算出し、さらに、この領域において白とび画素を除去した偽色領域マスクＰを生成する。
【０１２１】
偽色（パープルフリンジ）検出部４０４は、偽色画素検出領域設定部４０３の設定した偽色領域マスクＰを適用し、さらに、各画素の色判定処理によって偽色（パープルフリンジ）と判断される画素を検出する処理を実行する。すなわち、偽色領域マスクＰを更新し、補正対象となる偽色画素のみを識別可能な偽色領域マスクＰを生成する。この処理は、図２に示すフローチャートのステップＳ１０４に相当する処理であり、図７に示す処理フローに従って実行される処理である。前述したように、偽色として認定すべき色の設定は任意であり、特定の色値を持つ紫のみを偽色として設定する構成や、緑、紫など複数の色を偽色として設定する構成などが可能である。
【０１２２】
偽色（パープルフリンジ）穴埋め補間部４１１は、偽色（パープルフリンジ）検出部４０４において偽色と認定された画素についての補正処理であり、図２に示すフローチャートのステップＳ１０５に相当する処理であり、図１１、図１２に示す処理フローに従って実行される処理である。なお、この画素値補正処理には、偽色（パープルフリンジ）と認定された画素について、周囲にある偽色および白とび画素以外の画素値に基づいて実行する穴埋め補間処理（図１０、図１１参照）と、所定回数の穴埋め補間処理によって補正できなかった偽色（パープルフリンジ）画素の彩度低下処理（図１２参照）とが含まれる。
【０１２３】
偽色（パープルフリンジ）ぼかし処理部４１２は、偽色（パープルフリンジ）穴埋め補間部４１１の処理によって補正されたデータについてぼかし処理を実行する。図２に示すフローチャートのステップＳ１０６に相当する処理であり、図１３に示す処理フローに従って実行される処理である。
【０１２４】
偽色（パープルフリンジ）ぼかし処理部４１２は、偽色（パープルフリンジ）検出部４０４において偽色と認定された画素を抽出し、色成分にぼかしフィルタを適用し、例えば、処理対象画素（ｘ，ｙ）と、その周囲の８画素を合わせた９画素の色成分の平均値を求め、これを処理対象画素（ｘ，ｙ）の更新画素値として設定する移動平均フィルタ処理を施す。
【０１２５】
色逆変換部４０５は、オリジナルの画像の輝度成分画像Ｌｉｎと、上述した処理の結果である色成分画像Ｃを変換し、ＲＧＢのカラー画像として結果画像ＲＧＢｏｕｔを出力する。
【０１２６】
本発明を、適用することにより、カメラで撮影した画像に起こる色収差によるパープルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力を実現することができる。従来のカメラでは、パープルフリンジが発生するような状況で、レンズ絞りなどの設定を工夫しないと不自然な画像が撮影される可能性があったが、本発明の画像処理を適用することにより、撮影画像を、より自然に見えるように補正をすることが可能である。従って、撮影時にパープルフリンジが起こらないようにレンズの絞りや焦点距離などに注意を払う必要がなく、より高い自由度で撮影を行なうことが可能となる。
【０１２７】
［実施例２］
次に、本発明の実施例２の構成について説明する。実施例１において説明したように、図２のフローにおけるステップＳ１０３の偽色画素検出領域設定処理では、図５のフローを参照して詳細を説明したように、図５のステップＳ３０４において画素位置（ｘ，ｙ）の画素値が白とび画素である場合、ステップＳ３０５において白とび画素の周囲に偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）を設定し、この偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）において、偽色画素を検出する処理（図２のステップＳ１０４＝図７のフロー）を実行する。
【０１２８】
上述の実施例１の処理では、白とび画素の周囲の偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）の設定を、撮像システムの光学系の特性を踏まえ画像領域に対応した偽色画素検出領域を設定した例えばルックアップテーブル（ＬＵＴ）など、あらかじめ設定された偽色画素検出領域算定情報を適用した処理によって行なう構成であった。
【０１２９】
撮影画像に含まれる白とび画素は、前述したように、高輝度画素、すなわち画像において飽和している画素であり、例えば０〜２５５の輝度値の設定可能な画像データであれば、２５０を超える画素はすべて白とび画素として判定されることになり、その白とび画素の周囲には、ルックアップテーブルに基づいて偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）が設定されることになる。しかし、撮影画像上に発生する白とび画素、すなわち高輝度の画素は、すべてが同じ明るさの被写体に基づいて発生する白とびではなく、ある一定輝度以上の明るさの被写体であれば白とび画素になってしまう。すなわち、被写体の明るさレベルがやや高いものから非常に高いものが一律に白とび画素として撮影画像には出現することになる。
【０１３０】
しかし、白とび画素の周囲に発生するパープルフリンジは、被写体の持つ明るさレベルの変移、すなわちエッジ部分の輝度差に応じてその発生領域が異なるという傾向がある。撮影画像上では同じ白とび画素であっても、その白とび画素と近傍画素との輝度レベル差に対応するエッジ部分の輝度差が大きい白とび画素は、パープルフリンジの発生領域は大きくなり、エッジ部分の輝度差が小さい白とび画素は、パープルフリンジの発生領域が小さくなる。従って、一般的には、被写体の持つ明るさレベル（実輝度）が高い白とび画素では、パープルフリンジの発生領域は小さくなり、被写体の明るさレベル（実輝度）が非常に高い白とび画素では発生領域は大きくなる傾向にある。
【０１３１】
従って、撮影画像データ上では同じ白とび画素であっても、実際の被写体の明るさのレベルに応じて偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）を変更して設定することで、より確実で効率的な偽色画素の検出が実現されることになる。実施例２では、被写体の実際の明るさ（実輝度）を検出または推定し、この被写体実輝度に応じて偽色画素検出領域を設定する処理を行なう。
【０１３２】
前述したように、白とび画素と近傍画素との輝度レベル差に対応するエッジ部分の輝度差が大きい白とび画素は、パープルフリンジの発生領域は大きくなり、エッジ部分の輝度差が小さい白とび画素は、パープルフリンジの発生領域が小さくなる。従って、パープルフリンジの発生範囲を算出するためには、エッジ部分の輝度差を考慮する必要がある。そもそも、パープルフリンジが起こる原理は、光の波長により点像分布が異なることにより発生する。波長による点像分布の違いは、レンズの種類や焦点距離、絞りなどの設定や画像での位置により決まる。したがって、点像分布が光の波長により少しでも異なれば、理論的には輝度差があまりないエッジ部分でも偽色は発生するが、点像分布の違いが微小であるときは人に知覚できるほどの偽色は発生しない。しかし、波長による点像分布の違いが微小であっても、エッジの輝度差が非常に大きく高輝度部分が飽和してしまうような時には、微小な違いが拡大され、知覚できるような偽色が広範囲で発生する。したがって、パープルフリンジが発生する可能性のある範囲をより精密に算出するためには、レンズの種類、設定、画素位置のみならず、エッジ部分の輝度差を考慮する必要がある。
【０１３３】
本実施例は、このような問題を解決するものであり、高輝度画素の周囲に発生するパープルフリンジをより精密に検出し補正をする方法を提示する。なお、本実施例において、画像処理装置の構成は、実施例１と同様、図１に示す構成が適用可能である。また、全体処理シーケンスについても実施例１と同様、図２に示すフローチャートに従った処理として実行される。
【０１３４】
実施例２が実施例１と異なるのは、図２に示すフローのステップＳ１０３の偽色画素検出領域設定処理に対応する図５のフローのステップＳ３０５の処理である。この偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）の設定処理が異なる。その他の処理、すなわち、実施例１における図２のフローのステップＳ１０３以外の処理については、実施例１と同様の処理となる。
【０１３５】
本実施例において、図５のフローのステップＳ３０５の偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）設定処理は、被写体の明るさ（実輝度）に応じた最適な偽色画素検出領域を設定する処理として実行される。図１５以下を参照して、本実施例における偽色画素検出領域の設定処理の詳細について説明する。
【０１３６】
図１５を参照して偽色（パープルフリンジ）の発生する原理について説明する。図１５（ａ）、（ｂ）は、縦軸に被写体の明るさ（実輝度）、横軸に撮影画像データにおける画素位置を設定したグラフであり、（ａ）は、被写体の明るさ（実輝度）＝５００を含み、この部分が撮影画像上では飽和画素、すなわち白とび画素として現れる。図１５（ａ）（ｂ）の飽和閾値ライン５１０は、入射する光量に対する撮像素子の飽和閾値を表わしている。すなわち、飽和閾値ライン５１０以上の光量が入射しても、画像は飽和し、白飛び画素となることになる。
【０１３７】
図１５（ａ）は、被写体の明るさ（実輝度）＝５００と明るさ（実輝度）＝１０の実輝度が急激に変化する隣接部を持つ被写体、すなわち実輝度５００から５０へ変化する被写体を撮影した場合を示し、図１５（ｂ）は、実輝度５０００から５０へ変化する被写体を撮影した場合を示している。図１５（ａ）において、実輝度＝５００の部分は、飽和閾値ライン５１０以上であり、この部分が白とび画素となり、（ｂ）においては、実輝度＝５０００の部分が飽和閾値ライン５１０以上であり、この部分が白とび画素となり、撮影画像上は、同じ白とび画素として表現される。
【０１３８】
図１５（ａ）において、実線ライン（Ｇ）は撮像素子に入射する緑チャンネルの光の量を示す緑チャンネル光量ライン（Ｇ）５１１であり、点線ライン（Ｂ）は、撮像素子に入射する青チャンネルの光の量を示す青チャンネル光量ライン（Ｂ）５１２である。図１５（ｂ）においても、同様に、実線ライン（Ｇ）は撮像素子に入射する緑チャンネルの光の量を示す緑チャンネル光量ライン（Ｇ）５２１であり、点線ライン（Ｂ）は、撮像素子に入射する青チャンネルの光の量を示す青チャンネル光量ライン（Ｂ）５２２である。
【０１３９】
図１５（ａ），（ｂ）とも同じレンズを用いて撮影した状況を図示している。同じレンズを用いて撮影したので、緑チャンネル、青チャンネルのそれぞれの点像分布の形状は、いずれの場合も全く同等となる。しかし、図１５（ｂ）の被写体の実輝度と、図１５（ａ）の被写体の実輝度とは異なり、図１５（ｂ）の被写体を撮影した場合の撮像素子に入射する光量は、図１５（ｂ）の被写体を撮影した場合の撮像素子に入射する光量よりはるかに大きくなる。
【０１４０】
入射光量が多い場合、撮像画像では緑と青のレベル差が顕著になる。撮像画像における緑と青のレベル差の大きい部分においてパープルフリンジが発生することになるので、図１５（ａ）では、白とび画素の右のおよそ１０画素部分がパープルフリンジの発生する可能性が高い部分となり、図１５（ｂ）では、白とび画素の右のおよそ２０画素部分がパープルフリンジの発生する可能性が高い部分となる。なお、（ａ），（ｂ）において高輝度部分にも緑と青のレベル差が顕著になる部分があるが、この部分は、撮影画像上では白とび画素として現れることになり、パープルフリンジ画素とはならない。
【０１４１】
このように、パープルフリンジは白とびを起こす高輝度部分周囲に発生することが多く、その発生範囲はエッジ部分の輝度差に依存する。図１６を参照して、図１５（ａ），（ｂ）に対応する実輝度を持つ被写体の撮影画像上での輝度値およびパープルフリンジ発生領域を説明する。図１６（ａ），（ｂ）は、図１５（ａ），（ｂ）に対応する図であり、（ａ）は実輝度５００から５０へ変化する被写体、（ｂ）は、実輝度５０００から５０へ変化する被写体に対応する。この２つの画像を同じレンズを適用して撮影した場合の画像データの輝度値分布は図１６（ｃ）に示す通りとなる。
【０１４２】
図１６（ｃ）は、縦軸が撮影画像データにおける輝度値（撮影画像輝度値）、横軸が画素位置を示している。画像データは、輝度値＝２５５が飽和レベルの輝度値であり、実輝度＝５００、実輝度＝５０００いずれの場合も、撮影画像上では、輝度値≒２５５の飽和レベルの画素、すなわち白とび画素となる。白とび画素部分に隣接する部分にパープルフリンジが出現するが、このパープルフリンジ発生可能領域は、図１６（ａ）に示す実輝度５００を持つ被写体では、図１６（ｃ）に示す領域Ａの１０画素部分であり、図１６（ｂ）に示す実輝度５０００を持つ被写体では、図１６（ｃ）に示す領域Ｂの２０画素部分となる。
【０１４３】
このように、パープルフリンジは白とびを起こす高輝度部分周囲に発生し、発生範囲はエッジ部分の輝度差に依存する。エッジ部分の輝度差を算出するためには、白とびを起こしている部分の、飽和していない本来の輝度を求める必要がある。これを解決するための一つの方法として、低感度のセンサを持つ撮像素子を適用して撮影した画像を適用する方法がある。
【０１４４】
具体的には、同じ位置の画素に対して、感度の異なる複数のセンサが配置された撮像素子を用いる。例えば、通常の感度のセンサと、低感度のセンサの２種類のセンサを配し、撮影画像は、通常感度のセンサによって撮影された画像を適用し、通常感度のセンサによって撮影された画像中、白とび画素となった部分についての本来の被写体輝度（実輝度）を低感度のセンサによって撮影された画像によって求めるものである。低感度のセンサによって撮影された画像は、通常感度のセンサで白とびとなってしまう輝度の高い被写体でも、感度が低いため撮影画像上で白とびを起こすことなく、飽和値とならない輝度値を持つ画素として出力される。従って、例えば、図１６（ａ）に示す実輝度５００を持つ被写体と、図１６（ｂ）に示す実輝度５０００を持つ被写体とでは、それぞれ異なる撮影画像輝度値を持つ画像データとして出力することができる。
【０１４５】
図１７を参照して、低感度センサを適用した撮影画像によって、被写体の実輝度を推定する処理について説明する。図１７（ａ），（ｂ）は、図１５（ａ），（ｂ）、および図１６（ａ），（ｂ）に対応する図であり、（ａ）は実輝度５００から５０へ変化する被写体、（ｂ）は、実輝度５０００から５０へ変化する被写体に対応する。この２つの画像を低感度センサを適用して撮影した場合の画像データの輝度値分布は、例えば、図１７（ｐ）、（ｑ）に示す通りとなる。通常感度センサを適用して撮影した場合の画像データの輝度値分布は、いずれの場合も図１７（ｒ）に示す通りとなる。図１７（ｒ）は図１６（ｃ）と同様の図であり、実輝度＝５００，５０００いずれの場合も撮影画像輝度値は、ほぼ２５５すなわち白とび画素として出力されることになる。
【０１４６】
しかし、低感度センサを適用して撮影した場合の画像データの輝度値分布は、図１７（ｐ）、（ｑ）に示すように、通常感度の撮影画像において白とびとなった画像部分が、白とび画素とならず、飽和画素値未満の輝度値を持った画素として出力される。図に示す例では、図１７（ａ）の実輝度５００を持つ被写体の画像データである図１７（ｐ）に示すデータでは、実輝度５００の画像部分が、撮影画像輝度値＝５の画像データとして出力され、図１７（ｂ）の実輝度５０００を持つ被写体の画像データである図１７（ｑ）に示すデータでは、実輝度５０００の画像部分が、撮影画像輝度値＝５０の画像データとして出力される。このように、低感度センサを適用して撮影した場合、入射光量が多く通常センサでは白とびとなってしまう部分でも、白とびとならず、飽和輝度値未満のレベル値を持つ画素として出力され、やや明るい被写体と非常に明るい被写体とを異なる輝度値を持つ画像データとして出力することができる。本実施例では、このような通常の撮影処理とは異なる条件で撮影した画像データを参照画像として適用し、通常の撮影画像における白とび画素の部分の被写体の実輝度を算出、推定して、その推定結果に基づいて偽色（パープルフリンジ）発生可能領域を設定する。
【０１４７】
なお、上述した例では、被写体の実輝度を算出するための参照画像を得るため低感度のセンサを適用した例を説明したが、その他の例として、例えばシャッタースピードを早くして暗い露出での撮影を行って参照画像を取得する構成としてもよい。通常の撮影画像、すなわち適正露出で撮影した画像において白とびが起こった場合にも、暗い露出での撮像結果では、白とびとならず、飽和輝度値未満の値を持つ画素値が出力される。従ってシャッタースピードを上げて撮影した画像を参照画像として適用することも可能である。たとえば適正露出における露光時間の３０分の１程度の露光時間で撮影した画像を参照画像として使うことにより、適正露出で飽和してしまった画素に対応する被写体の実輝度を推定することができる。
【０１４８】
上述のように低感度センサでの撮影画像や、高速シャッタースピードで撮影した低露出条件の撮影画像を参照画像とし、通常撮影画像データにおける白とび画素に対応する部分の参照画像における輝度値に基づいて被写体の実輝度を推定し、推定した実輝度に基づいて最適な偽色（パープルフリンジ）画素検出領域を設定する。
【０１４９】
図１８に、被写体実輝度（白とび画素の真の輝度）と、偽色（パープルフリンジ）発生可能範囲（白とび画素からの距離）との対応関係の一例を示す。図１８に示すグラフは、図１７の例に対応しており、被写体実輝度が５００である場合、偽色（パープルフリンジ）発生可能範囲（白とび画素からの距離）は、白とび画素から１０画素、被写体実輝度が５０００である場合、偽色（パープルフリンジ）発生可能範囲（白とび画素からの距離）は、白とび画素から２０画素であることを示している。なお、この図に示す例は一例であり、被写体実輝度と偽色（パープルフリンジ）発生可能範囲との対応については、撮像システムの光学系の特性を踏まえ、あらかじめ測定したデータを適用する。
【０１５０】
本実施例における偽色画素検出領域設定処理の手順について、図１９のフローを参照して説明する。図１９のフローは、先の実施例１で説明した図５のフローの一部である。ず５におけるステップＳ３０４〜Ｓ３０５の処理、すなわち、注目画素が白とび画素であるか否かを判定し、白とび画素である場合には、その周囲に偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）を設定する処理である。実施例２では、この部分の処理が実施例１と異なる処理として実行される。
【０１５１】
図１９のフローに従って本実施例２の処理シーケンスについて説明する。ステップＳ３０４は、実施例１と同様の処理であり、設定画素位置における白とびマスクＳの画素値を判別する。設定画素位置（ｘ，ｙ）において、白とびマスクＳ（ｘ，ｙ）＝ｆａｌｓｅであれば、ステップＳ３１４（図５参照）へ進み、次の画素に対する処理に移る。もし、Ｓ（ｘ，ｙ）＝ｔｒｕｅであれば、ステップＳ３０５ａへ進む。画素位置（ｘ，ｙ）において、白とびマスクＳ（ｘ，ｙ）＝ｆａｌｓｅであるとは、画素位置（ｘ，ｙ）の画素値が白とび画素ではないことを意味し、画素位置（ｘ，ｙ）において、白とびマスクＳ（ｘ，ｙ）＝ｔｒｕｅであるとは、画素位置（ｘ，ｙ）の画素値が白とび画素であることを意味する。
【０１５２】
画素位置（ｘ，ｙ）において、白とびマスクＳ（ｘ，ｙ）＝ｔｒｕｅである場合、ステップＳ３０５ａにおいて、白とび画素位置（ｘ，ｙ）に対応する参照画像の画素の画素値を取得する。参照画像とは、例えば上述した低感度センサによる撮影画像、あるいは低露出条件での撮影例えば高速のシャッタースピードで適正露出以下の露出で撮影した画像である。この参照画像に基づいて、処理対象画像である通常撮影画像において白とびと判定された画素（ｘ，ｙ）に対応する参照画像の画素の画素値を取得する。
【０１５３】
その後ステップＳ３０５ｂにおいて、参照画像の画素の画素値に基づいてルックアップテーブル（ＬＵＴ）を用いて偽色画素検出領域（ｘ０，ｙ０，ｘ１，ｙ１）を算出する。本実施例において適用するルックアップテーブル（ＬＵＴ）のデータ構成例を図２０に示す。図２０に示すルックアップテーブル（ＬＵＴ）は、「参照画素の輝度」と、「被写体の実輝度」と、「偽色（ＰＦ：パープルフリンジ）発生可能画素範囲」を対応付けたテーブル構成である。このテーブルは、先に図１５〜図１７を参照して説明した例に対応するテーブルとして示してある。
【０１５４】
例えば、参照画像における輝度が［５］である場合、被写体実輝度は［５００］であり、その際の「偽色（ＰＦ：パープルフリンジ）発生可能画素範囲」は白とび画素から１０画素の範囲であることを示している。同様に、参照画像における輝度が［５０］である場合、被写体実輝度は［５０００］であり、その際の「偽色（ＰＦ：パープルフリンジ）発生可能画素範囲」は白とび画素から２０画素の範囲であることを示している。
【０１５５】
図１９のステップＳ３０５ｂでは、例えば図２０に示すテーブルから参照画像における輝度に対応して設定された「偽色（ＰＦ：パープルフリンジ）発生可能画素範囲」を求め、その結果に基づいて偽色（ＰＦ：パープルフリンジ）発生可能画素範囲を含む領域として、偽色画素検出領域（ｘ０，ｘ１，ｙ０，ｙ１）を算出する。
【０１５６】
なお、図２０に示すテーブルでは、被写体の実輝度のデータを含む構成としたが、このデータは必須ではなく、通常撮影画像である処理対象画像の白とび画素に対応する参照画素の輝度に基づいて偽色画素検出領域（ｘ０，ｙ０，ｘ１，ｙ１）を算出できる設定であればよく、「参照画像の輝度」と、「偽色（ＰＦ：パープルフリンジ）発生可能画素範囲」、あるいは偽色画素検出領域（ｘ０，ｙ０，ｘ１，ｙ１）を対応付けたルックアップテーブル（ＬＵＴ）として構成すればよい。
【０１５７】
図２１、図２２を参照して、上述した処理を実行する本実施例の画像処理装置におけるデジタル信号処理部（ＤＳＰ）（図１のＤＳＰ１０６に相当）の機能構成について説明する。
【０１５８】
図２１は、先の実施例１において図１４を参照して説明したＤＳＰの構成に対応する図であり、図２２は、図２１における偽色画素検出領域設定部４０３の構成を示す図である。図２１に示すように、本実施例におけるデジタル信号処理部（ＤＳＰ）は、実施例１と同様、色変換部４０１、白とび検出部４０２、偽色画素検出領域設定部４０３、偽色（パープルフリンジ）検出部４０４、画素値補正部４１０、色逆変換部４０５を有する。画素値補正部４１０は、偽色（パープルフリンジ）穴埋め補間部４１１、偽色（パープルフリンジ）ぼかし処理部４１２から構成される。
【０１５９】
デジタル信号処理部（ＤＳＰ）１０６は、入力画像フレームメモリ４２０から画像データ（ＲＧＢｉｎ）を入力し、色変換処理部４０１において、ＲＧＢ入力画像の色空間を変換し、輝度成分と色成分に分離する。色変換処理部４０１において実行する処理は、図２に示すフローチャートのステップＳ１０１に相当する処理であり、入力画像ＲＧＢｉｎを変換し、輝度成分画像Ｌｉｎと色成分画像Ｃｉｎに分離する。つまりＲＧＢカラーの入力画像を、輝度成分と色成分を別々に持つ色空間に変換する。色空間としてはＹＣｂＣｒやＣＩＥ  Ｌ＊ａ＊ｂ＊などを適用することが出来る。
【０１６０】
次に、白とび検出部４０２は、色変換処理部４０１において変換されたデータに基づいて、白とびを起こしている画素部分の検出を実行する。この処理は、図２に示すフローチャートのステップＳ１０２に相当する処理であり、その詳細は、図４のフローチャートを参照して説明したように予め定めた輝度閾値以上の輝度を有する画素を白とび画素として検出し、白とび画素を識別する白とびマスクＳ（ｘ，ｙ）を生成する処理を実行する。
【０１６１】
偽色画素検出領域設定部４０３は、白とび検出部４０２において検出された白とび画素の周囲部分に偽色画素の検出領域を設定する処理を行う。この領域設定処理は、白とびマスクＳ（ｘ，ｙ）＝ｔｒｕｅである白とび画素（ｘ，ｙ）の周囲において偽色を発生する可能性がある範囲を算出する処理であり、上述したように、参照画像を適用した最適な偽色画素検出領域設定処理を実行する。
【０１６２】
偽色画素検出領域設定部４０３の機能構成について、図２２を参照して説明する。偽色画素検出領域設定部４０３は、図２２に示すように、参照画像解析部７１１、ルックアップテーブル格納部７１２、偽色画素検出領域決定処理部７１３を有する。参照画像解析部７１１は、白とび検出部４０２から処理対象画像の白とび画素位置を取得し、白とび画素位置に対応する参照画像の画素の輝度値を取得する。参照画像は、処理対象画像と同一の被写体の撮影画像であるが、低感度センサによる撮影画像あるいは高速シャッタースピード設定などによる適正露出未満の撮影画像である。
【０１６３】
偽色画素検出領域決定処理部７１３は、参照画像解析部７１１から処理対象画像の白とび画素位置に対応する参照画像の画素の輝度値を入力し、この入力値に基づいてルックアップテーブル格納部７１２に格納されたルックアップテーブル（ＬＵＴ）を参照して偽色画素検出領域を算出する。ルックアップテーブル（ＬＵＴ）、例えば先に図２０を参照して説明したように、「参照画像の輝度」と、「偽色（ＰＦ：パープルフリンジ）発生可能画素範囲」、あるいは偽色画素検出領域（ｘ０，ｙ０，ｘ１，ｙ１）を対応付けたルックアップテーブル（ＬＵＴ）である。
【０１６４】
偽色画素検出領域決定処理部７１３では、処理対象画像の白とび画素位置に対応する参照画像の画素の輝度値に基づいて偽色画素検出領域（ｘ０，ｙ０，ｘ１，ｙ１）を決定する。偽色画素検出領域決定処理部７１３は、白とび画素（ｘ，ｙ）の周囲の偽色画素検出領域の範囲を、（ｘ０，ｘ１，ｙ０，ｙ１）の４個のスカラー値として算出し、さらに、この領域において白とび画素を除去した偽色領域マスクＰを生成（図５、図１９の処理フロー参照）する。この処理により、実際の被写体の輝度（実輝度）を考慮した偽色画素検出領域の設定が可能となり、最適な領域設定が実現される。図２１に戻り、本実施例の処理についての説明を続ける。
【０１６５】
偽色（パープルフリンジ）検出部４０４は、偽色画素検出領域設定部４０３の設定した偽色領域マスクＰを適用し、さらに、各画素の色判定処理によって偽色（パープルフリンジ）と判断される画素を検出する処理を実行する。すなわち、偽色領域マスクＰを更新し、補正対象となる偽色画素のみを識別可能な偽色領域マスクＰを生成する。この処理は、図２に示すフローチャートのステップＳ１０４に相当する処理であり、図７に示す処理フローに従って実行される処理である。前述したように、偽色として認定すべき色の設定は任意であり、特定の色値を持つ紫のみを偽色として設定する構成や、緑、紫など複数の色を偽色として設定する構成などが可能である。
【０１６６】
偽色（パープルフリンジ）穴埋め補間部４１１は、偽色（パープルフリンジ）検出部４０４において偽色と認定された画素についての補正処理であり、図２に示すフローチャートのステップＳ１０５に相当する処理であり、図１１、図１２に示す処理フローに従って実行される処理である。なお、この画素値補正処理には、偽色（パープルフリンジ）と認定された画素について、周囲にある偽色および白とび画素以外の画素値に基づいて実行する穴埋め補間処理（図１０、図１１参照）と、所定回数の穴埋め補間処理によって補正できなかった偽色（パープルフリンジ）画素の彩度低下処理（図１２参照）とが含まれる。
【０１６７】
偽色（パープルフリンジ）ぼかし処理部４１２は、偽色（パープルフリンジ）穴埋め補間部４１１の処理によって補正されたデータについてぼかし処理を実行する。図２に示すフローチャートのステップＳ１０６に相当する処理であり、図１３に示す処理フローに従って実行される処理である。
【０１６８】
偽色（パープルフリンジ）ぼかし処理部４１２は、偽色（パープルフリンジ）検出部４０４において偽色と認定された画素を抽出し、色成分にぼかしフィルタを適用し、例えば、処理対象画素（ｘ，ｙ）と、その周囲の８画素を合わせた９画素の色成分の平均値を求め、これを処理対象画素（ｘ，ｙ）の更新画素値として設定する移動平均フィルタ処理を施す。
【０１６９】
色逆変換部４０５は、オリジナルの画像の輝度成分画像Ｌｉｎと、上述した処理の結果である色成分画像Ｃを変換し、ＲＧＢのカラー画像として結果画像ＲＧＢｏｕｔを出力する。
【０１７０】
本実施例を適用することにより、カメラで撮影した画像に起こる色収差によるパープルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力を実現することができる。
【０１７１】
特に、実施例２では、白とび画素に対応する被写体の実輝度を参照画像に基づいて推定し、被写体の実輝度に対応する偽色（パープルフリンジ）検出領域を設定して、設定領域内の偽色（パープルフリンジ）画素を検出して補正する構成であるので、設定される偽色（パープルフリンジ）検出領域が広すぎたり、狭すぎたりすることがなく、偽色（パープルフリンジ）の発生する可能性のある領域に一致する偽色（パープルフリンジ）検出領域の設定が可能となり、確実にかつ効率的に偽色（パープルフリンジ）画素を検出することができ、画像補正の精度が高まり、効率化が実現される。
【０１７２】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１７３】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１７４】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１７５】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１７６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１７７】
以上、説明したように、本発明の構成によれば、画像データから白とび画素を検出し、検出した白とび画素の周囲に偽色画素検出領域を設定し、設定領域内において、パープルフリンジ等の偽色に対応する色を有する画素を検出し、検出画素を偽色画素として特定し、特定した偽色画素に対して周囲画素値に基づく補正処理を実行する構成としたので、白とび画素近傍に発生するパープルフリンジ等の偽色領域の効率的検出、部分的な画素値補正が可能となり、画像全体に対する影響を発生させることなく高品質な画像データの生成、出力が可能となる。
【０１７８】
本発明の構成によれば、カメラで撮影した画像に起こる色収差によるパープルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力が実現される。従来のカメラでは、パープルフリンジが発生するような状況で、レンズ絞りなどの設定を工夫しないと不自然な画像が撮影される可能性があったが、本発明を適用することにより、撮影画像に含まれるパープルフリンジ等の偽色を効率的に抽出し補正することが可能であり高品質な画像を生成、出力することができる。従って、撮影時にパープルフリンジが起こらないようにレンズの絞りや焦点距離などに注意を払う必要がなく、より高い自由度で撮影を行なうことが可能となる。
【０１７９】
さらに、本発明の構成によれば、白とび画素に対応する被写体の実輝度を参照画像に基づいて推定し、被写体の実輝度に対応する偽色（パープルフリンジ）検出領域を設定して、設定領域内の偽色（パープルフリンジ）画素を検出して補正する構成であるので、設定される偽色（パープルフリンジ）検出領域が広すぎたり、狭すぎたりすることがなく、偽色（パープルフリンジ）の発生する可能性のある領域に一致する偽色（パープルフリンジ）検出領域の設定が可能となり、確実にかつ効率的に偽色（パープルフリンジ）画素を検出することができ、画像補正の精度が高まり、効率化が実現される。
【図面の簡単な説明】
【０１８０】
【図１】本発明の画像処理装置の構成を示す図である。
【図２】本発明の画像処理方法の全体処理シーケンスを説明するフローチャートである。
【図３】本発明の画像処理装置において補正対象となる画像データの構成について説明する図である。
【図４】本発明の画像処理において実行する白とび領域検出処理の詳細シーケンスを説明するフロー図である。
【図５】本発明の画像処理において実行する偽色画素検出領域設定処理の詳細シーケンスを説明するフロー図である。
【図６】本発明の画像処理において実行する偽色画素検出領域設定処理の処理例について説明する図である。
【図７】本発明の画像処理において実行する偽色画素検出処理の詳細シーケンスを説明するフロー図である。
【図８】本発明の画像処理において実行する偽色画素検出処理の処理例（ＣＩＥ  Ｌ＊ａ＊ｂ＊を用いた場合）について説明する図である。
【図９】本発明の画像処理において実行する偽色画素検出処理の処理例（ＹＣｂＣｒを用いた場合）について説明する図である。
【図１０】本発明の画像処理において実行する偽色画素補正処理の処理例について説明する図である。
【図１１】本発明の画像処理において実行する偽色画素補正処理の詳細シーケンスを説明するフロー図である。
【図１２】本発明の画像処理において実行する偽色画素補正処理の詳細シーケンスを説明するフロー図である。
【図１３】本発明の画像処理において実行する色ぼかし処理の詳細シーケンスを説明するフロー図である。
【図１４】本発明の画像処理装置において実施例１に係る偽色補正を実行するデジタル信号処理部の機能構成を説明するブロック図である。
【図１５】被写体の実際の輝度およびエッジ構成と、偽色（パープルフリンジ）の発生態様の関係について説明する図である。
【図１６】被写体の実際の輝度およびエッジ構成と、撮影画像の輝度および偽色（パープルフリンジ）の発生について説明する図である。
【図１７】被写体の実際の輝度を推定するため、例えば低感度センサを用いて取得される参照画像の輝度情報について説明する図である。
【図１８】被写体の実際の輝度と偽色（パープルフリンジ）発生可能範囲との対応について説明する図である。
【図１９】実施例２における偽色検出領域の設定処理手順を説明するフロー図である。
【図２０】実施例２における偽色検出領域の設定処理において適用するルックアップテーブル（ＬＵＴ）の構成例を示す図である。
【図２１】本発明の画像処理装置において実施例２に係る偽色補正を実行するデジタル信号処理部の機能構成を説明するブロック図である。
【図２２】本発明の画像処理装置において実施例２に係る偽色補正を実行するデジタル信号処理部の偽色画素検出領域設定部の構成を説明するブロック図である。
【符号の説明】
【０１８１】
１０１  レンズ
１０２  絞り
１０３  固体撮像素子
１０４  相関２重サンプリング回路
１０５  Ａ／Ｄコンバータ
１０６  ＤＳＰブロック
１０７  タイミングジェネレータ
１０８  Ｄ／Ａコンバータ
１０９  ビデオエンコーダ
１１０  ビデオモニタ
１１１  コーデック（ＣＯＤＥＣ）
１１２  メモリ
１１３  ＣＰＵ
１１４  入力デバイス
１１５  フラッシュ制御装置
１１６  フラッシュ発光装置
２０１  白とび画素
２０２  偽色画素検出領域
２０３  白とび画素
２５０  原点
２５１，２５２  色相ライン
２５３  色相範囲
３０１  白とび画素
３０２  偽色（パープルフリンジ）画素
３０３  その他の画素
３０４  補間済み偽色（パープルフリンジ）画素
４０１  色変換部
４０２  白とび検出部
４０３  偽色画素検出領域設定部
４０４  偽色（パープルフリンジ）検出部
４０５  色逆変換部
４１０  画素値補正部
４１１  偽色（パープルフリンジ）穴埋め補間部
４１２  偽色（パープルフリンジ）ぼかし処理部
４２０  入力画像フレームメモリ
５１０  飽和閾値ライン
５１１  緑チャンネル光量ライン（Ｇ）
５１２  青チャンネル光量ライン（Ｂ）
５２１  緑チャンネル光量ライン（Ｇ）
５２２  青チャンネル光量ライン（Ｂ）
７１１  参照画像解析部
７１２  ルックアップテーブル格納部
７１３  偽色画素検出領域決定部
【図１】
2006014261.tif 000003
【図２】
2006014261.tif 000004
【図３】
2006014261.tif 000005
【図４】
2006014261.tif 000006
【図５】
2006014261.tif 000007
【図６】
2006014261.tif 000008
【図７】
2006014261.tif 000009
【図８】
2006014261.tif 000010
【図９】
2006014261.tif 000011
【図１０】
2006014261.tif 000012
【図１１】
2006014261.tif 000013
【図１２】
2006014261.tif 000014
【図１３】
2006014261.tif 000015
【図１４】
2006014261.tif 000016
【図１５】
2006014261.tif 000017
【図１６】
2006014261.tif 000018
【図１７】
2006014261.tif 000019
【図１８】
2006014261.tif 000020
【図１９】
2006014261.tif 000021
【図２０】
2006014261.tif 000022
【図２１】
2006014261.tif 000023
【図２２】
2006014261.tif 000024