明 細 書
画像処理装置、および画像処理方法、並びにコンピュータ 'プログラム 技術分野
[0001] 本発明は、画像処理装置、および画像処理方法、並びにコンピュータ 'プログラム に関する。さらに詳細には、例えばレンズの収差による偽色の発生した画像データを 補正し、高品質な画像データを生成する画像処理装置、および画像処理方法、並び にコンピュータ ·プログラムに関する。
背景技術
[0002] カメラで撮影する際には、レンズの収差によりさまざまな問題が引き起こされる。典 型的な収差の例として、単色収差であるザイデルの五収差が挙げられる。これはドィ ッのザイデルによって分析されたレンズの球面に基づく 5つの収差であり、球面収差 、コマ収差、非点収差、歪曲収差、像面歪曲の各収差の総称である。さらに、これら の収差とは別に、色収差も重要な問題を引き起こすことが知られている。色収差は、 レンズ素材に対する光の屈折率がその波長により異なることに起因し、撮像面にて偽 色を生ずる。
[0003] 色収差の代表的な例として、光軸上の焦点位置が波長によって異なるため色のに じみが起こる軸上色収差や、波長により像倍率が異なるため色ずれが起こる倍率色 収差などがよく知られている力 英語で一般的に Purple Fringe (パープルフリンジ )と呼ばれる現象も画像の劣化を引き起こす重要な原因となる。これは、光の波長に より点像分布が異なっているために、画像中のエッジ部分に偽色が発生する現象で ある。通常の画素ではそれほど目立たない場合でも、輝度レベルにおける飽和状態 としての白とびが起こっているハイコントラストのエッジ部分があれば、その周辺に紫 色の偽色が発生し、不自然な像が結像されてしまう。一般に、白とびの近傍に発生す る偽色は紫系の色が多く発生するためパープルフリンジと呼ばれる。ただし、レンズ、 撮影条件などに応じて、偽色の色は緑が力つた色となる場合など様々である。以下、 パープルフリンジとは、発生する色に関わらず白とびが起こって 、るハイコントラストの エッジ部分における偽色発生現象を指すものとする。
[0004] 色収差を軽減するための技術としては、蛍石など特殊な素材で出来たガラスを用い たレンズがある。しかし、このようなレンズを製造するのはコストがかるため価格も高ぐ レンズ交換式のカメラ用など一部の高級なカメラで用いられている力 一般に広く普 及しているとは言えない。
[0005] また、特許文献 1には、色収差によって発生する偽色を画像処理により軽減する方 法が示されている。これは、緑チャンネルの高周波成分が高い部分に関して、色を抑 制、つまり彩度を低下させる処理を行うものである。また、白とびが起こっている場合 の対策として、露出を変えて 2枚の画像を撮像し白とび部分の本来の輝度を推定し、 彩度を低下させる処理を行う構成を開示して 、る。
[0006] しかし、特許文献 1に記載の処理は、彩度の低下により偽色の軽減を行っているた め、本来の被写体の色についての彩度も低下し、被写体本来の忠実な色の再現が できなくなりその結果、不自然な画像が出力されるという問題がある。また、白とび部 分の輝度推定のために、 2回撮影を行う必要があり、この 2回の撮影の間に手ぶれや 被写体ぶれなどが起こった場合、正しい結果を得ることが困難になるという問題があ る。
特許文献 1:特開 2003 - 60983号公報
発明の開示
発明が解決しょうとする課題
[0007] 本発明は、上述の問題点に鑑みてなされたものであり、白とび周辺に発生するパー プルフリンジ等の偽色に注目し、この偽色領域を効率的に検出し、部分的な補正を 実行することにより、画像全体に対する影響を発生させることなく高品質な画像デー タを生成、出力することを可能とした画像処理装置、および画像処理方法、並びにコ ンピュータ ·プログラムを提供することを目的とする。
課題を解決するための手段
[0008] 本発明の第 1の側面は、
画像処理装置であり、
画像データから白とび画素を検出する白とび検出部と、
前記白とび検出部の検出した白とび画素の周囲に偽色画素検出領域を設定する
偽色画素検出領域設定部と、
前記偽色画素検出領域設定部の設定した領域内において、偽色に対応する色を 有する画素を偽色画素として特定する偽色検出部と、
前記偽色検出部の検出した偽色画素について、周囲画素値に基づく画素値補正 処理を実行する画素値補正部と、
を有することを特徴とする画像処理装置にある。
[0009] さらに、本発明の画像処理装置の一実施態様において、前記画素値補正部は、偽 色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補間部と 、偽色画素について、色ぼ力 処理を実行する色ぼ力 処理部とを有する構成であ ることを特徴とする。
[0010] さらに、本発明の画像処理装置の一実施態様において、前記画素値補正部は、偽 色画素の周囲に存在する画素力 偽色画素および白とび画素を除くその他の画素 を選択し、選択画素に基づく穴埋め補間処理を実行する構成であることを特徴とする
[0011] さらに、本発明の画像処理装置の一実施態様において、前記偽色検出部は、前記 偽色画素検出領域設定部の設定した領域内において、あらかじめ設定された特定 の色を有する画素を偽色画素として特定する処理を実行する構成であることを特徴と する。
[0012] さらに、本発明の画像処理装置の一実施態様において、前記偽色は、パープルフ リンジであり、前記偽色検出部は、前記偽色画素検出領域設定部の設定した領域内 の紫色の画素を偽色画素として特定する処理を実行する構成であることを特徴とす る。
[0013] さらに、本発明の画像処理装置の一実施態様において、偽色画素検出領域設定 部は、前記白とび検出部の検出した白とび画素の周囲に設定する偽色画素検出領 域を、処理対象画像データの撮影時の絞り、焦点距離情報、光学中心から白とび画 素 (X, y)までの距離の少なくとも 、ずれかのデータに基づ 、て決定する処理を実行 する構成であることを特徴とする。
[0014] さらに、本発明の画像処理装置の一実施態様において、前記白とび検出部は、予
め定めた閾値以上の輝度を有する画素を白とび画素として選択する処理を実行する 構成であることを特徴とする。
[0015] さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、さ らに、入力画像データを輝度成分画像データと色成分画像データとに分離するデー タ変換処理を実行する色変換部を有し、前記色変換部において生成された変換デ ータに基づく画素値補正処理を実行する構成であることを特徴とする。
[0016] さらに、本発明の画像処理装置の一実施態様において、前記偽色画素検出領域 設定部は、処理対象画像と同一被写体の撮影画像であり、処理対象画像の白とび 画素に対応する位置の画素が飽和輝度値を持たない参照画像を入力し、処理対象 画像の白とび画素位置に対応する参照画像の対応画素の輝度値を取得する参照画 像解析部と、前記参照画像解析部において取得した前記参照画像の対応画素の輝 度値に基づいて偽色画素検出領域を設定する偽色画素検出領域決定部とを有する 構成であることを特徴とする。
[0017] さらに、本発明の画像処理装置の一実施態様において、前記偽色画素検出領域 決定部は、参照画像の輝度値と、偽色発生可能画素範囲あるいは偽色画素検出領 域を対応付けたルックアップテーブルを適用して偽色画素検出領域を設定する構成 であることを特徴とする。
[0018] さらに、本発明の画像処理装置の一実施態様において、前記偽色画素検出領域 決定部は、前記参照画像の対応画素の輝度値が高いほど広い偽色画素検出領域 を設定する処理を実行する構成であることを特徴とする。
[0019] さらに、本発明の画像処理装置の一実施態様において、前記偽色画素検出領域 決定部は、低感度センサを持つ撮像素子によって撮影した画像、または適正露出未 満の低露出条件での撮影画像を参照画像として適用し、処理対象画像の白とび画 素に対応する位置の参照画像の輝度値を取得する構成であることを特徴とする。
[0020] さらに、本発明の第 2の側面は、
画像処理方法であり、
画像データから白とび画素を検出する白とび検出ステップと、
前記白とび検出ステップにお 、て検出した白とび画素の周囲に偽色画素検出領域
を設定する偽色画素検出領域設定ステップと、
前記偽色画素検出領域設定ステップにおいて設定した領域内において、偽色に 対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
前記偽色検出ステップにおいて検出した偽色画素について、周囲画素値に基づく 画素値補正処理を実行する画素値補正ステップと、
を有することを特徴とする画像処理方法にある。
[0021] さらに、本発明の画像処理方法の一実施態様にお!、て、前記画素値補正ステップ は、偽色画素について、周囲画素値に基づく穴埋め補間処理を実行する穴埋め補 間ステップと、偽色画素について、色ぼかし処理を実行する色ぼ力し処理ステップと を有することを特徴とする。
[0022] さらに、本発明の画像処理方法の一実施態様にお!、て、前記画素値補正ステップ は、偽色画素の周囲に存在する画素力 偽色画素および白とび画素を除くその他の 画素を選択し、選択画素に基づく穴埋め補間処理を実行するステップであることを特 徴とする。
[0023] さらに、本発明の画像処理方法の一実施態様において、前記偽色検出ステップは 、前記偽色画素検出領域設定ステップにおいて設定した領域内において、あらかじ め設定された特定の色を有する画素を偽色画素として特定する処理を実行するステ ップであることを特徴とする。
[0024] さらに、本発明の画像処理方法の一実施態様において、前記偽色は、パープルフ リンジであり、前記偽色検出ステップは、前記偽色画素検出領域設定ステップにおい て設定した領域内の紫色の画素を偽色画素として特定する処理を実行するステップ であることを特徴とする。
[0025] さらに、本発明の画像処理方法の一実施態様において、偽色画素検出領域設定 ステップは、前記白とび検出ステップにお 、て検出した白とび画素の周囲に設定す る偽色画素検出領域を、処理対象画像データの撮影時の絞り、焦点距離情報、光 学中心から白とび画素(X, y)までの距離の少なくとも 、ずれかのデータに基づ!/、て 決定する処理を実行するステップであることを特徴とする。
[0026] さらに、本発明の画像処理方法の一実施態様において、前記白とび検出ステップ
は、予め定めた閾値以上の輝度を有する画素を白とび画素として選択する処理を実 行するステップであることを特徴とする。
[0027] さらに、本発明の画像処理方法の一実施態様において、前記画像処理方法は、さ らに、入力画像データを輝度成分画像データと色成分画像データとに分離するデー タ変換処理を実行する色変換ステップを有し、前記色変換部において生成された変 換データに基づく画素値補正処理を実行するステップであることを特徴とする。
[0028] さらに、本発明の画像処理方法の一実施態様において、前記偽色画素検出領域 設定ステップは、処理対象画像と同一被写体の撮影画像であり、処理対象画像の白 とび画素に対応する位置の画素が飽和輝度値を持たな ヽ参照画像を入力し、処理 対象画像の白とび画素位置に対応する参照画像の対応画素の輝度値を取得する参 照画像解析ステップと、前記参照画像解析ステップにお!ヽて取得した前記参照画像 の対応画素の輝度値に基づいて偽色画素検出領域を設定する偽色画素検出領域 決定ステップとを含むことを特徴とする。
[0029] さらに、本発明の画像処理方法の一実施態様において、前記偽色画素検出領域 決定ステップは、参照画像の輝度値と、偽色発生可能画素範囲あるいは偽色画素検 出領域を対応付けたルックアップテーブルを適用して偽色画素検出領域を設定する ステップであることを特徴とする。
[0030] さらに、本発明の画像処理方法の一実施態様において、前記偽色画素検出領域 決定ステップは、前記参照画像の対応画素の輝度値が高 、ほど広 、偽色画素検出 領域を設定する処理を実行するステップであることを特徴とする。
[0031] さらに、本発明の画像処理方法の一実施態様において、前記偽色画素検出領域 決定ステップは、低感度センサを持つ撮像素子によって撮影した画像、または適正 露出未満の低露出条件での撮影画像を参照画像として適用し、処理対象画像の白 とび画素に対応する位置の参照画像の輝度値を取得することを特徴とする。
[0032] さらに、本発明の第 3の側面は、
画像処理をコンピュータ上において実行させるコンピュータ 'プログラムであって、 画像データから白とび画素を検出する白とび検出ステップと、
前記白とび検出ステップにお 、て検出した白とび画素の周囲に偽色画素検出領域
を設定する偽色画素検出領域設定ステップと、
前記偽色画素検出領域設定ステップにおいて設定した領域内において、偽色に 対応する色を有する画素を偽色画素として特定する偽色検出ステップと、
前記偽色検出ステップにおいて検出した偽色画素について、周囲画素値に基づく 画素値補正処理を実行する画素値補正ステップと、
を有することを特徴とするコンピュータ ·プログラムにある。
[0033] さらに、本発明のコンピュータ 'プログラムの一実施態様において、偽色画素検出 領域設定ステップは、処理対象画像と同一被写体の撮影画像であり、処理対象画像 の白とび画素に対応する位置の画素が飽和輝度値を持たない参照画像を入力し、 処理対象画像の白とび画素位置に対応する参照画像の対応画素の輝度値を取得 する参照画像解析ステップと、前記参照画像解析ステップにお!ヽて取得した前記参 照画像の対応画素の輝度値に基づいて偽色画素検出領域を設定する偽色画素検 出領域決定ステップとを含むことを特徴とする。
[0034] なお、本発明のコンピュータ 'プログラムは、例えば、様々なプログラム 'コードを実 行可能な汎用コンピュータ ·システムに対して、コンピュータ可読な形式で提供する 記憶媒体、通信媒体、例えば、 CDや FD、 MOなどの記憶媒体、あるいは、ネットヮ ークなどの通信媒体によって提供可能なコンピュータ 'プログラムである。このようなプ ログラムをコンピュータ可読な形式で提供することにより、コンピュータ 'システム上で プログラムに応じた処理が実現される。
[0035] 本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図 面に基づぐより詳細な説明によって明らかになるであろう。なお、本明細書において システムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内に あるものには限らない。
発明の効果
[0036] 本発明の構成によれば、画像データから白とび画素を検出し、検出した白とび画素 の周囲に偽色画素検出領域を設定し、設定領域内において、パープルフリンジ等の 偽色に対応する色を有する画素を検出し、検出画素を偽色画素として特定し、特定 した偽色画素に対して周囲画素値に基づく補正処理を実行する構成としたので、白
とび画素近傍に発生するパープルフリンジ等の偽色領域の効率的検出、部分的な 画素値補正が可能となり、画像全体に対する影響を発生させることなく高品質な画像 データの生成、出力が可能となる。
[0037] 本発明の構成によれば、カメラで撮影した画像に起こる色収差によるパープルフリ ンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力 が実現される。従来のカメラでは、パープルフリンジが発生するような状況で、レンズ 絞りなどの設定を工夫しないと不自然な画像が撮影される可能性があつたが、本発 明を適用することにより、撮影画像に含まれるパープルフリンジ等の偽色を効率的に 抽出し補正することが可能であり高品質な画像を生成、出力することができる。従つ て、撮影時にパープルフリンジが起こらないようにレンズの絞りや焦点距離などに注 意を払う必要がなぐより高い自由度で撮影を行なうことが可能となる。
[0038] さらに、本発明の構成によれば、白とび画素に対応する被写体の実輝度を参照画 像に基づいて推定し、被写体の実輝度に対応する偽色 (パープルフリンジ)検出領 域を設定して、設定領域内の偽色 (パープルフリンジ)画素を検出して補正する構成 であるので、設定される偽色 (パープルフリンジ)検出領域が広すぎたり、狭すぎたり することがなぐ偽色 (パープルフリンジ)の発生する可能性のある領域に一致する偽 色 (パープルフリンジ)検出領域の設定が可能となり、確実にかつ効率的に偽色 (パ 一プルフリンジ)画素を検出することができ、画像補正の精度が高まり、効率化が実 現される。
図面の簡単な説明
[0039] [図 1]本発明の画像処理装置の構成を示す図である。
[図 2]本発明の画像処理方法の全体処理シーケンスを説明するフローチャートである
[図 3]本発明の画像処理装置において補正対象となる画像データの構成について説 明する図である。
[図 4]本発明の画像処理にお ヽて実行する白とび領域検出処理の詳細シーケンスを 説明するフロー図である。
[図 5]本発明の画像処理において実行する偽色画素検出領域設定処理の詳細シー
ケンスを説明するフロー図である。
[図 6]本発明の画像処理において実行する偽色画素検出領域設定処理の処理例に ついて説明する図である。
[図 7]本発明の画像処理において実行する偽色画素検出処理の詳細シーケンスを 説明するフロー図である。
[図 8]本発明の画像処理において実行する偽色画素検出処理の処理例(CIE L*a *b*を用いた場合)について説明する図である。
[図 9]本発明の画像処理にお ヽて実行する偽色画素検出処理の処理例 (YCbCrを 用いた場合)について説明する図である。
[図 10]本発明の画像処理において実行する偽色画素補正処理の処理例について 説明する図である。
[図 11]本発明の画像処理において実行する偽色画素補正処理の詳細シーケンスを 説明するフロー図である。
[図 12]本発明の画像処理において実行する偽色画素補正処理の詳細シーケンスを 説明するフロー図である。
[図 13]本発明の画像処理において実行する色ぼ力し処理の詳細シーケンスを説明 するフロー図である。
圆 14]本発明の画像処理装置において実施例 1に係る偽色補正を実行するデジタ ル信号処理部の機能構成を説明するブロック図である。
圆 15]被写体の実際の輝度およびエッジ構成と、偽色 (パープルフリンジ)の発生態 様の関係について説明する図である。
圆 16]被写体の実際の輝度およびエッジ構成と、撮影画像の輝度および偽色 (パー プルフリンジ)の発生について説明する図である。
圆 17]被写体の実際の輝度を推定するため、例えば低感度センサを用いて取得され る参照画像の輝度情報について説明する図である。
圆 18]被写体の実際の輝度と偽色 (パープルフリンジ)発生可能範囲との対応につい て説明する図である。
圆 19]実施例 2における偽色検出領域の設定処理手順を説明するフロー図である。
[図 20]実施例 2における偽色検出領域の設定処理において適用するルックアップテ 一ブル (LUT)の構成例を示す図である。
[図 21]本発明の画像処理装置において実施例 2に係る偽色補正を実行するデジタ ル信号処理部の機能構成を説明するブロック図である。
[図 22]本発明の画像処理装置において実施例 2に係る偽色補正を実行するデジタ ル信号処理部の偽色画素検出領域設定部の構成を説明するブロック図である。 発明を実施するための最良の形態
[0040] 以下、図面を参照しながら、本発明の画像処理装置、および画像処理方法、並び にコンピュータ 'プログラムの詳細について説明する。
[0041] [実施例 1]
まず、画像処理装置の構成例について図 1を参照して説明する。なお、図 1に示す 画像処理装置は、撮像部を備え、撮像部において撮影した画像データの補正処理 を実行する装置例として示してあるが、本発明の画像処理装置は、たとえばノヽードデ イスクなどの記憶部に格納された画像データを入力して入力画像の補正を実行する ことも可能であり、補正処理対象の画像データは、撮像部を介して入力されるデータ のみならず、記憶手段、あるいはネットワークを介して入力する画像データなどあらゆ る入力画像データに対応可能である。図 1は本発明の画像処理装置の一構成例を 示すものである。
[0042] 図 1に示す画像処理装置の詳細構成について説明する。図 1に示すように、画像 処理装置は、レンズ 101、絞り 102、固体撮像素子 103、相関 2重サンプリング回路 1 04、 A/Dコンバータ 105、 DSPブロック 106、タイミングジェネレータ 107、 D/Aコ ンバータ 108、ビデオエンコーダ 109、ビデオモニタ 110、コーデック(CODEC) 111 、メモリ 112、 CPU113、入力デバイス 114、フラッシュ制御装置 115、フラッシュ発光 装置 116から構成される。
[0043] ここで、入力デバイス 114はカメラ本体にある録画ボタンなどの操作ボタン類をさす 。また、 DSPブロック 106は信号処理用プロセッサと画像用 RAMを持つブロックで、 信号処理用プロセッサが画像用 RAMに格納された画像データに対してあら力じめ プログラムされた画像処理をおこなうことができるようになって 、る。以下 DSPブロック
を単に DSPと呼ぶ。
[0044] 本実施例の全体的な動作を以下に説明する。
光学系を通過して固体撮像素子 103に到達した入射光は、まず撮像面上の各受 光素子に到達し、受光素子での光電変換によって電気信号に変換され、相関 2重サ ンプリング回路 104によってノイズ除去され、 AZDコンバータ 105によってデジタ。 信号に変換された後、デジタル信号処理部(DSP) 106中の画像メモリに一時格納さ れる。なお、必要があれば、撮影の際に、フラッシュ制御装置 115を介して、フラッシ ュ発光装置 116を発光させることができる。
[0045] 撮像中の状態においては、一定のフレームレートによる画像取り込みを維持するよ うにタイミングジェネレータ 107が信号処理系を制御する。デジタル信号処理部(DS P) 106へも一定のレートで画素のストリームが送られ、そこで適切な画像処理がおこ なわれた後、画像データは DZ Aコンバータ 108もしくはコーデック(CODEC) 111 あるいはその両方に送られる。 DZ Aコンバータ 108はデジタル信号処理部(DSP) 1 06から送られる画像データをアナログ信号に変換し、それをビデオエンコーダ 109が ビデオ信号に変換し、そのビデオ信号をビデオモニタ 110でモニタできるようになつ て!、て、このビデオモニタ 110は本実施例にお!、てカメラのファインダの役割を担つ ている。また、コーデック(CODEC) 111はデジタル信号処理部(DSP) 106から送ら れる画像データに対する符号化をおこな ヽ、符号化された画像データはメモリ 112に 記録される。ここで、メモリ 112は半導体、磁気記録媒体、光磁気記録媒体、光記録 媒体などを用いた記録装置などであってょ 、。
[0046] 以上が本実施例の画像処理装置の一例としてのデジタルビデオカメラのシステム 全体の説明であるが、本発明に係る画像処理、すなわち画像データの補正処理は デジタル信号処理部(DSP) 106において実行される。以下、この画像処理の詳細 について説明する。
[0047] まず、偽色 (パープルフリンジ)の発生の仕方の特徴にっ 、て、述べる。偽色 (パー プルフリンジ)とは、色収差による色ずれが、白とび部分周辺で目立って現れる現象 で、例えば紫色の偽色を生ずることを特徴とする。偽色が発生する白とびの周り範囲 大きさは、光学系の種類、光学系の絞り、焦点距離ならびに、高輝度部分とその周囲
の輝度差に連動しており、また、光学中心からの距離にも依存し、大きさが変わる。ま た、偽色が出る方向も、光学中心から高輝度画素の外側に向かう方向、高輝度画素 力 光学中心に向力 方向などに多く発生し、その傾向は、撮像する光学系により異 なる。以上のような特徴を踏まえて、本発明はパープルフリンジを軽減する画像処理 方法を提供する。なおここで、高輝度画素とは画像において飽和している画素とし、 以降では、高輝度画素のことを白とび画素と呼ぶ。
[0048] なお、前述したように、輝度レベルにおける飽和状態としての白とびが起こって!/、る ハイコントラストのエッジ部分に発生するレンズ収差による偽色の代表的な現象をパ 一プルフリンジと呼ぶ力 偽色の色は紫に限定されるものではなぐ例えば緑がかつ た色となる場合などもある。以下の実施例では、紫色の偽色を生じた例として説明す るが、本発明は、紫色に限らず、白とび近傍に発生する任意の色を有する偽色の補 正処理に適用可能である。
[0049] 図 2は、本実施例を表すフローチャートである。まず、処理全体の概略を説明し、各 処理の詳細については後述する。ステップ S101は、色空間変換処理であり、入力画 像に対し、色空間の変換を施し輝度成分画像と色成分画像に分離する。次に、ステ ップ S102は、白とび領域検出処理であり、補正対象の入力画像データ中から白とび 部分を検出する。ステップ S103は、偽色画素検出領域設定処理であり、白とびの周 囲の偽色発生画素である紫画素の検索領域を設定する。さらに、ステップ S104は、 偽色画素検出処理であり、検索領域内にある紫色画素を検出する。ステップ S105 は、偽色画素補正処理であり、検出された紫色の画素の色成分を補正する。さらに、 ステップ S106は、色ぼ力し処理 (フィルタリング処理)であり、自然な結果を得るため のフィルタリング処理を施す、最後に、ステップ S 107が色空間逆変換処理であり、補 正結果の輝度成分画像、色成分画像を変換し、 RGBのカラー画像として、結果画像 を出力する。
[0050] 入力画像は、例えば図 1に示す撮像部を持つシステムにお ヽて撮像部で撮影され た画像データであり、デジタルデータとしてデジタル信号処理部(DSP) 106に入力 されたデータである。なお、前述したように、入力画像データは、記憶媒体に格納さ れた画像データや、ネットワーク経由で他の機器力 入力するデータであってもよい
[0051] なお、本実施例では、処理対象となる入力画像を RGB とする。 RGB は、各画素
in in
にカラー情報を持つ画像であり、カメラの固体撮像素子力 出力されるデータに対し 、デモザイク処理ならびにホワイトバランス処理などを施したものである。なお、処理 対象となる入力画像を RGB は、図 3に示すように、入力画像 RGB の x方向の画素
m m
数 (幅)を w、 y方向の画素数 (高さ)を hとする。以下、各ステップの詳細について説 明する。
[0052] まず、ステップ S 101の色空間変換処理は、入力画像 RGB を変換し、輝度成分画
in
像 L と色成分画像 C に分離する。つまり RGBカラーの入力画像を、輝度成分と色 m in
成分を別々に持つ色空間データに変換する。変換データの色空間としては、例えば
YCbCrや CIE L*a*b*などが適用可能である。
[0053] 次に、ステップ S 102の白とび領域検出処理において、変換された画像データに基 づく白とび領域検出処理(白とびマスク算出)を実行する。すなわち画像データから 白とび画素を検出し、 2値画像である白とびマスク Sを生成する。図 4を参照して、ス テツプ S102にお 、て実行する白とび画素検出処理の詳細にっ 、て説明する。
[0054] ステップ S201、 S202において、補正対象画像データの検査対象画素位置の初 期設定を実行する。初期設定として検査対象画素位置を x=0、 y=0として設定する 。ステップ S203において、輝度成分画像 L の各画素(X, y)について、輝度があら
m
力じめ定められた閾値以上かどうか判別し、閾値以上ならばステップ S204に進み、 白とびマスク S (x, y)を trueとし、閾値以下であれば、ステップ S205に進み、白とび マスク S (x, y)を falseとする。
[0055] ステップ S206では、画素位置: Xの更新を実行し、ステップ S 207において Xが最大 値 (x=w)に達している力否かを判定し、達していない場合は、ステップ S203以下を 繰り返し実行する。ステップ S 207において Xが最大値 (x=w)に達している場合は、 ステップ S208に進み、画素位置: yの更新を実行し、ステップ S209において yが最 大値 (y=h)に達している力否かを判定し、達していない場合は、ステップ S202以下 を繰り返し実行する。全ての画素 (x=0〜w, y=0〜! 1)に対する処理が終了すると、 白とびマスクの生成が終了する。
[0056] この結果、各画素位置にお!、て、閾値より大き!/、輝度レベルを持つ画素領域と、閾 値以下の輝度領域を持つ画素領域とを区分した白とびマスクが生成される。(B音) 0 〜255 (明)の輝度レベルが設定されている場合、閾値は、例えば 250程度に設定さ れ、 250以上の輝度レベルを持つ画素を白とび発生画素として抽出し、これらの画素 のみを区別可能とした白とびマスクが生成される。
[0057] 上述の処理によって図 2のステップ S 102が終了し、次に、ステップ S 103の偽色画 素検出領域設定処理を実行する。この処理において、白とび部分周囲の偽色発生 部検索領域設定 (Dilate)処理を実行する。ここでは、白とび部分周囲の偽色発生部 検索領域を区別するためのマスク P、すなわち、白とび部分周囲における紫画素検 索領域を表すマスク Pを生成する。なお、 Pは 2値のマスク画像である。
[0058] 図 5を参照して、ステップ S 103の偽色発生部検索領域設定処理の詳細について 説明する。まずステップ S301において、偽色領域マスク Pの全画素を falseに初期化 する。次に、ステップ S302, S303において、画素位置の初期設定を実行する。初 期設定として画素位置を x=0、 y=0として設定する。
[0059] 画素位置設定の後、ステップ S304において、設定画素位置における白とびマスク Sの画素値を判別する。設定画素位置 (X, y)において、白とびマスク S (x, y) =fals eであれば、ステップ S314へ進み、次の画素に対する処理に移る。もし、 S (x, y) =t rueであれば、ステップ S305へ進む。画素位置(x, y)において、白とびマスク S (x, y) =falseであるとは、画素位置(x, y)の画素値が白とび画素ではないことを意味し 、画素位置(X, y)において、白とびマスク S (x, y) =trueであるとは、画素位置(x, y )の画素値が白とび画素であることを意味する。
[0060] 画素位置(X, y)にお 、て、白とびマスク S (X, y) = trueである場合、ステップ S 305 において、白とび画素 (X, y)の周囲において偽色を発生する可能性がある範囲を算 出する。前述の通り、パープルフリンジは、白とび部分の周囲に発生し、光学系の種 類、絞り'焦点距離の設定、さらに高輝度画素と周囲の画素の輝度差によって発生 する可能性のある範囲が変わる。また、画像上での光学中心力もの距離によっても、 発生する範囲が変化する。光学系の種類や設定は、撮影時に情報を保存しておくこ とにより、画像処理の際に用いることができる。また、白とび部分と光学中心部分の位
置関係は、容易に算出することができる。
[0061] 本実施例では、例えば撮像システムの光学系の特性を踏まえ、画像領域に対応し た偽色画素検出領域を設定した例えばルックアップテーブル (LUT)など、あらかじ め設定された偽色画素検出領域算定情報を適用する。例えば、ルックアップテープ ル (LUT)は、画像上での光学中心から白とび画素(X, y)までの距離と、画像データ の撮影時の絞り、焦点距離情報とを入力パラメータとして、偽色画素検出領域情報を 出力可能な構成を持つ。
[0062] 画像データの撮影時の絞り、焦点距離情報は画像データの属性情報から取得し、 画像上での光学中心から白とび画素(X, y)までの距離は、本フローにおいて検査対 象として設定された画素位置情報が適用される。
[0063] なお、画像データの撮影時の絞り、焦点距離情報等の属性情報が取得できない場 合は、画像上での光学中心から白とび画素 (X, y)までの距離のみに基づいて偽色 画素検出領域を決定する構成としてもよぐまた、光学中心から白とび画素 (X, y)ま での距離等の情報についても適用することなぐ白とび画素 (X, y)の周囲の一定領 域を偽色画素検出領域として一律に設定する構成としてもよい。
[0064] ステップ S305では、白とび画素(X, y)の周囲の偽色画素検出領域の範囲を、 (x
0
, X , y , y )の 4個のスカラー値として算出する。これは、図 6に示すように、白とび画
1 0 1
素 (X, y) 201の周囲において X〜x , y〜yによって規定される矩形領域を、白と
0 1 0 1
び画素 (X, y)の周囲に存在する偽色画素検出領域 202とするものである。なお、図 6において点線の画素 203は、注目白とび画素(X, y) 201以外の白とび画素 203で ある。
[0065] 次に、算出した偽色画素検出領域 (X , X , y , y )について、 i= x , j =yを起点と
0 1 0 1 0 0 して設定(S306, S307) Uステップ S308〜S312【こお!/ヽて、偽色画素検出領域(X , X , y , y )内の各画素について白とびマスク S (i, j)の値が trueか falseかの判別
0 1 0 1
を行う。図 6に示す偽色画素検出領域 202内の構成画素について、順次、白とびマ スクの値が trueか falseかの判別を行う。図 6において、注目白とび画素(x, y) 201と 白とび画素 203については、白とびマスク S (i, j) =trueとなる。
[0066] ステップ S308において、白とびマスク S (i, j) = trueと判定した場合は、ステップ S3
10に進み、次の画素の処理を行う。白とびマスク S (i, j) =falseの場合は、ステップ S 309に進み、偽色領域マスク P (i, j)の値を trueに設定する。その後、ステップ S310 に進み、次の画素に対する処理を行う。ステップ S310〜S313は、 iおよび jの値の更 新処理および最大値 i=x、 j =yであるカゝ否かの判定処理である。順次 iおよび jの値 の更新を行いながら、特定画素 (X, y)の周囲に設定した偽色領域マスク P (i, j)の値 を決定する。
[0067] 偽色領域マスク P (i, j) =trueは、偽色画素検出領域に属し、白とび画素ではな 、 画素であり、偽色領域マスク P (i, j) =falseは、偽色画素検出領域に属さないか、ま たは白とび画素である画素に対応する。
[0068] ステップ S313において、偽色画素検出領域(X , X , y , y )のすべての画素(i, j)
0 1 0 1
に対して処理が完了したと判別されたら、ステップ S314に進む。ステップ S314〜S3 17は、 Xおよび yの値の更新処理および最大値 x=w、 y=hであるか否かの判定処 理である。順次 Xおよび yの値の更新を行いながら、処理対象画像 (x=0〜w, y=0 〜h)の全画素について偽色領域マスク P (i, j)の値を決定し、偽色領域マスク P (i, j) を生成する。画像中のすべての画素 (X, y)が処理されたと判別されると、図 2のステ ップ S 103の偽色画素検出領域設定処理は終了する。
[0069] 次の処理は、図 2のステップ S 104の偽色画素検出処理である。ステップ S103では 、白とび周囲の偽色、すなわちパープルフリンジが存在する可能性のある画像中の 領域を偽色領域マスク Pとして算出した力 次のステップ S104においては、実際に パープルフリンジであると思われる画素を検出する処理を行う。すなわち、偽色領域 マスク P= trueの領域の画素を対象として、実際にパープルフリンジであると思われ る画素を検出する。
[0070] ステップ S104では、ステップ S 103で計算された偽色領域マスク Pを上書きする形 で偽色領域マスク Pを更新し、最終的に偽色と判定される画素のみを特定可能な偽 色領域マスク Pを生成する。ステップ S104の偽色画素検出処理の詳細について、図 7を参照して説明する。
[0071] ステップ S401、 S402〖こおいて、画像データの画素位置の初期設定を実行する。
初期設定として画素位置を x=0、 y=0として設定する。ステップ S403では、画素位
置 (x, y)における偽色領域マスク Pの値を判別する。 P (x, y) =falseであった場合 は、ステップ S406に進む。 P (x, y) =trueであった場合は、ステップ S404へ進む。
[0072] 前述したように、偽色領域マスク P (i, j) =trueは、偽色画素検出領域に
属し、白とび画素ではない画素であり、偽色領域マスク P (i, j) = false
は、偽色画素検出領域に属さないか、または白とび画素である画素に対応する。
[0073] 画素位置 (X, y)が、偽色領域マスク P (i, j) =true、すなわち、偽色画素検出領域 に属し、白とび画素ではない画素である場合は、ステップ S404において、位置(X, y )における色成分画像 C の色が、偽色対応色であるカゝ否かを判定する。例えばパー
m
プルフリンジの紫色であるかどうかを判別する。
[0074] 色成分画像 C (X, y)が偽色対応色、例えば紫色力どうかの判別方法は、変換した
in
色空間によって異なる。例えば色空間として CIE L*a*b*を用いた場合の、判別方 法の一例を図 8を参照して説明する。色成分は、 a*成分, b*成分を用いて判別され る。 a*成分の値が、増えれば赤 (Red)、減れば緑色 (Green)に近づき、 b*成分の値 が増えれば黄色 (Yellow)、減れば青色 (Blue)に近づくような特徴を持っている。し たがって、(a*, b*)が第 4象限に存在する場合、紫色 (Purple)に近い色を持つ。紫 色かどうか判別するには、ベクトル (a*, b*)が a*軸となす角度ひなどを使って判別 する。
[0075] 偽色として判定する紫色の対象となる角度の範囲などはパラメータとして適宜設定 する。あるいは予め設定された値を適用する。なお、偽色 (パープルフリンジ)部分画 素の彩度は大きい傾向がある。したがって、前記の条件を満たしかつ、色成分 C の
m 彩度があら力じめ設定した閾値以上である場合だけを、偽色 (パープルフリンジ)であ ると判定する設定としてもょ 、。
[0076] 色成分画像 C (X, y)が偽色対応色、例えば紫色力どうかの判別方法は、変換した
in
色空間によって異なる。次に、色空間として YCbCrを用いた場合の処理について説 明する。この場合、色成分は、 Cb成分, Cr成分を用いて判別される。 YCbCr空間で は、 Cb = 128、 Cr= 128が無彩色を表わすので、 Cb、 Crでなされる色を(Cb— 128 、 Cr— 128)で表わす。たとえば、(Cb— 128、 Cr- 128) = (a X cos Θ , a X sin Q ) とした場合の Θで表わされる角度を、色相として用いる。色成分画像 C (X, y)が偽
色対応色かどうかの判定方法は、たとえば、この Θの角度が、あら力じめ指定された 範囲内に入っているかどうかにより判定することができる。
[0077] C (X, y)力 予め指定された色相範囲、すなわちパープルフリンジ (PF)等の偽色
in
に相当する色相範囲に入る色相である力否かを YCbCrを用いた構成において判定 する処理について、図 9を参照して説明する。図 9は、色空間におけるパープルフリ ンジ(PF)の色相範囲をあらわした図である。色空間の一例として YCbCr空間を用い る場合、色情報に相当する CbCrを 2次元にプロットしたのが図 9である。横軸が Cb、 縦軸が Crの値を示し、原点 250は Cb= 128, Cr= 128に相当する色である。
[0078] パープルフリンジ (PF)に相当する色相範囲を指定する方法として、 2つの色相の 間に入っている力否かを判定する方法を用いる。パープルフリンジ (PF)は紫色を有 し、この特定の色相範囲を図 9に示す CbCr2次元座標空間で設定する。図に示す 色相ライン 251と、色相ライン 252とによって挟まれる領域力 パープルフリンジ (PF) に相当する色相範囲 253を示す領域として設定される。
[0079] C (X, y)が、図 9に示す色相範囲 253に含まれるか否かによって、 C (x, y)が偽
in m 色対応色かどうかを判定することができる。
[0080] 偽色として判定する紫色の対象となる角度の範囲などはパラメータとして適宜設定 する。あるいは予め設定された値を適用する。なお、偽色 (パープルフリンジ)部分画 素の彩度は大きい傾向がある。したがって、前記の条件を満たしかつ、色成分 Cinの 彩度があら力じめ設定した閾値以上である場合だけを、偽色 (パープルフリンジ)であ ると判定する設定としてもよい。このようにして、 C (X, y)が偽色 (パープルフリンジ)
in
画素と判定された場合はステップ S406へ、偽色 (パープルフリンジ)ではな 、と判定 された場合はステップ S405へ進む。
[0081] ステップ S405においては、偽色領域マスク P (x, y)を falseに設定し、ステップ S40 6に進む。すなわち、先のステップ S103 (図 2)の処理においては、偽色の可能性が あるとして偽色領域マスク P (x, y) =trueであったものを、偽色でないとの最終判断 に基づいて、偽色領域マスク P (x, y) =falseに変更(更新)するものである。
[0082] すなわち、図 7において説明している処理では、先のステップ S103 (図 2)の処理に おいて偽色の可能性のある画素から、色判定によって最終的に偽色であると判定さ
れる画素のみを選別し、偽色領域マスク P (x, y)を更新する。
[0083] ステップ S406〜S409は、 xおよび yの値の更新処理および最大値 x=w、 y=hで ある力否かの判定処理である。順次 Xおよび yの値の更新を行いながら、処理対象画 像 (x=0〜w, y=0〜! 1)の全画素について偽色領域マスク P (i, j)の値を決定し、偽 色領域マスク P (i, j)を生成する。画像中のすべての画素 (X, y)が処理されたと判別 されると、図 2のステップ S104の偽色画素検出処理は終了する。
[0084] 次に、図 2に示すステップ S105の偽色画素補正処理について説明する。ステップ S 104では、上述したように偽色 (パープルフリンジ)であると判別された画素を識別 する偽色領域マスク Pが生成された。次のステップ S105では、偽色 (パープルフリン ジ)であると判別された画素の色を、その周囲の画素の画素値に基づく穴埋め繰り返 し処理によって補間する処理を実行する。ここでの「穴埋め」処理とは、周囲の画素の 画素値に基づいた偽色の画素の補間処理を順次繰り返すことを指す。
[0085] 図 10 (A) ,図 10 (B)は、図 2に示すステップ S 105の偽色画素補正処理を説明す るための模式図である。図 10 (A)に示されるように、ステップ S 104までの処理です ベての画素は、「白とび画素 301」、「偽色(パープルフリンジ)画素 302」、「白とびで もパープルフリンジでもな!/、その他の画素 303」の!、ずれかに分類される。
[0086] 穴埋め繰り返し処理の最初のステップでは、画像中の各画素をスキャンし、もし、偽 色(パープルフリンジ)画素 302 (位置(X, y) )力 白とびでもパープルフリンジでもな いその他の画素 303に隣接する場合、例えば周囲の 8近傍画素にその他の画素 30 3が存在する場合、隣接するその他の画素 303の画素の色成分 Cの平均値を新たな 画素の色成分 C (X, y)として設定する。
[0087] このように、偽色(パープルフリンジ)画素 302をその他の画素 303によって画素値 を設定する処理を、すべての画素に対して一回行うと、図 10 (B)のように、その他の 画素 303に隣接する偽色 (パープルフリンジ)画素 302の色成分が補間され、補間済 み偽色 (パープルフリンジ)画素 304として設定される。
[0088] さらに、次の穴埋め繰り返し処理では、その他の画素 303または補間済み偽色 (パ 一プルフリンジ)画素 304に隣接する偽色(パープルフリンジ)画素 302の色成分を、 その他の画素 303と補間済み偽色(パープルフリンジ)画素 304に基づいて同様に
補間する。このような繰り返し処理を、固定の回数繰り返す。この処理によって、偽色
(パープルフリンジ)画素 302は、図 10 (B)の矢印 320の方向に、順次補間済み偽色 (パープルフリンジ)画素 304として設定されることになる。このような繰り返し処理を、 固定の回数繰り返した後でも、色成分が補間されな 、偽色 (パープルフリンジ)画素 3 02が存在する場合は、周りの画素力もの色補間は不可能と判断し、それらの画素の 色の彩度を一律に落とす処理を施す。
[0089] このように、図 2に示すステップ S105の偽色画素補正処理は、ステップ S104にお いて、偽色 (パープルフリンジ)と判定された画素の画素値を、周囲の白とび以外の 画素に基づいて設定する処理、すなわち、穴埋め繰り返し処理である。この処理によ つて補間されな 、残存する偽色 (パープルフリンジ)画素 302につ 、ては彩度低下処 理を施す。
[0090] ステップ S105の偽色画素補正処理の詳細について、図 11および図 12の処理フロ 一を参照して説明する。図 11および図 12の処理フローにおいて、図 11に示すステツ プ S501から S515までは、偽色(パープルフリンジ)画素の色成分の穴埋め処理であ り、図 12に示すステップ S516力ら S523までの処理は、穴埋めできなかった画素の 彩度を低下させる処理である。
[0091] 図 11のフローから順に説明する。まず、ステップ S501において、図 2のステップ S1 04の偽色画素検出処理において生成した偽色領域マスク Pの内容を、同等の大きさ の 2値マスク ΡΊこコピーする。例えば、
偽色領域マスク P = true→2値マスク P〃 = true ( 1 )
偽色領域マスク P = f alse→2値マスク P〃 = false (0)
である。
[0092] ステップ S502においては、穴埋め処理の繰り返し回数を示す変数 tの値を 0にセッ トする。ステップ S503においては、 2値マスク P"の値を、また別の同等の大きさの 2値 マスク P'にコピーする。なお、これらのマスク P"、 P'は、繰り返し処理により減ってゆく 偽色(パープルフリンジ)画素 302の位置を保存するために用いる一時的なマスク画 像である。
[0093] 次に、ステップ S 504、 S 505において、処理対象画素位置座標を表す変数 x, yの
初期化を行い、 x=0, y=0とする。次のステップ S506では、 2値マスク P' (x, y)の 値を判別する。 2値マスク P' (x, y) =falseである場合、すなわち、処理対象画素が 偽色画素でない場合、ステップ S510に進む。 2値マスク P' (x, y) =trueである場合 、すなわち、処理対象画素が偽色画素である場合、ステップ S507へ進む。
[0094] ステップ S507においては、画素(X, y)に隣接する画素に、 2値マスク P' = falseか つ、白とびマスク S = falseの画素があるかどうか判別する。すなわち、偽色画素でも 白とび画素でもな 、画素があるかどうか判別する。このような条件を満足する画素が 画素 (X, y)に隣接する画素に存在しないと判別された場合は、ステップ S510〖こ進 む。
[0095] 偽色画素でも白とび画素でもな!/ヽ画素が、画素(X, y)に隣接する画素として存在 すると判別された場合は、ステップ S508へ進む。ステップ S508では、 2値マスク P' = falseかつ、白とびマスク S = false、すなわち偽色画素でも白とび画素でもない画 素であり、かつ画素(X, y)に隣接している 1以上の画素の色成分 Cの平均値を算出 し、座標 (X, y)の色成分 C (x, y)に設定する。すなわち、画素 (X, y)の画素値として 設定する。この補間処理によっては、図 10 (b)の補間済み偽色 (パープルフリンジ) 画素 304が設定される。
[0096] この処理の後、ステップ S509へ進む。ステップ S509においては、 2値マスク P" (x , y)の値を falseとする。すなわち、偽色画素から、補間済み偽色画素へ変更された 画素を 2値マスク P" (x, y)において、偽色画素でない画素として識別可能な設定と する。
[0097] ステップ S510〜S513は、処理画素の座標更新および最大値判定処理であり、ス テツプ S510においては、 X座標の値を 1増やす。次のステップ S511において、 x>w - 1 (wは入力画像の幅)であるかどうかの判別をする。 x>w- 1であると判定された 場合はステップ S512へ進み、 x>w—lでないと判定された場合は、ステップ S506 へ進む。
[0098] ステップ S512では、 y座標を 1増やし、次のステップ S513で、 y座標の最大値であ る h— 1 (hは入力画像の高さ)との比較を行う。 y>h- 1である場合は、ステップ S51 4へ進み、 y>h- 1でないと判定した場合はステップ S505へ進む。
[0099] ステップ S514では、繰り返し処理の回数を表す tを 1増やす。ステップ S515におい ては、繰り返し回数 tが、あら力じめ定めた値 tmax以上かどうかを判別する。また同時 にマスク画像 P"の内 trueの値を持つ画素の個数力 ^かどうかを判別する。すなわち、 穴埋め補間処理によって補間が終了していない偽色画素の個数が 0になった力否か を判定する。以上の 2つの条件のいずれかが真であると判別された場合は、ステップ S516〖こ進む。またいずれも偽と判断された場合は、ステップ S503〖こ戻り、再び穴埋 め処理を行う。
[0100] ステップ S515において、繰り返し回数 tが、あらかじめ定めた値 tmax以上となった 力 あるいは、穴埋め補間処理によって補間が終了していない偽色画素の個数が 0 になったか、いずれかが真と判定されると、図 12のステップ S516に進む。
[0101] ステップ S516、 S517〖こおいては、処理対象画素の座標を表す変数 x, yの初期化 を行い、 x = 0, y=0とする。次のステップ S518では、 2値マスク P"の(x, y)における 値が true力どうかを判別する。すなわち、処理対象画素が偽色画素であるかどうかを 判別する。 2値マスク P" (x, y) =trueである場合、すなわち偽色画素である場合は、 ステップ S519に進み、 2値マスク P" (x, y) =falseである場合、すなわち偽色画素で ない場合は、ステップ S520〖こ進む。
[0102] 処理対象画素が偽色画素である場合は、ステップ S519において、画素(X, y)の 色成分 C (x, y)の彩度を低下させる彩度低下処理を施す。例えば L*a*b*表色系を 用いている場合は、 a*, b*の各成分の値に対して、 1. 0以下 0. 0以上の定数を掛け 合わせることにより、一律に彩度を減少させることが出来る。ステップ S519の彩度低 下処理を終了すると、ステップ S520に進む。ステップ S520においては、 X座標の値 を 1増やす。次のステップ S521〖こおいて、 x >w— 1であるかどうかの判別をする。 X >w- 1であると判別されればステップ S522へ、 x>w— 1でないと判別されればス テツプ S518へ進み、 X座標を更新した隣接画素について同様の処理を繰り返す。
[0103] ステップ S521において、 x>w— 1であると判定された場合は、 x座標の最大値に 達しており、ステップ S522へ進み、 y座標を 1増やし、次のステップ S523で、 y座標 の最大値である h— 1との比較を行う。 y>h— 1でない場合はステップ S517へ進み、 更新した y座標を持つ画素について同様の処理を繰り返す。ステップ S523において
、 y>h— 1であると判定すると、偽色画素補正処理を終了する。以上の処理によって 図 2に示すステップ S 105の偽色画素補正処理を終了する。
[0104] ステップ S105の偽色画素補正処理を終了すると、次に、ステップ S106の色ぼかし 処理 (フィルタリング)を実行する。ステップ S105では、穴埋め処理の繰り返しにより、 偽色 (パープルフリンジ)画素の色を補間し、穴埋めし切れな力つた偽色 (パープルフ リンジ)画素については、彩度を低下させる処理を行った。しかし、ステップ S105の 処理を施した偽色 (パープルフリンジ)部分には、色が比較的急に変化する部分が発 生してしまう可能性がある。ステップ S 106の色ぼ力し処理 (フィルタリング)では、この 急な色変化を緩和するために、ぼ力 フィルタをかける処理を行う。
[0105] ステップ S 106の色ぼかし処理(フィルタリング)の詳細について、図 13の処理フロ 一を参照して説明する。まず、ステップ S601において、色ぼ力し処理 (フィルタリング )の繰り返し回数を示す変数 tの値を 0にセットする。次に、ステップ S602では、先の ステップ S 105の偽色画素補正処理で更新された色成分画像 Cを、同等の大きさの 色成分画像 C'にコピーする。
[0106] 次に、ステップ S603、 S604〖こおいて、処理対象画素の座標を表す変数 x, yの初 期ィ匕を行い、 x=0, y=0とする。次のステップ S605では、偽色領域マスク P (x, y) の値を判別する。偽色領域マスク P (x, y) = falseである場合、すなわち、偽色画素 ではない場合は、ステップ S607に進む。偽色領域マスク P (x, y) =true、すなわち 偽色画素である場合は、ステップ S606へ進む。
[0107] なお、偽色領域マスク P (x, y)は、先のステップ S104の偽色画素検出処理(図 7の 処理フローに対応)によって色 (画素値)判定に基づいて偽色と判定された画素を tr ueとして設定したマスクであり、先のステップ S 105の偽色画素補正処理によって補 正された偽色画素領域についても、 trueの値を維持しているマスクデータである。こ の色ぼ力し処理 (フィルタリング)処理に偽色領域マスク P (x, y)を適用するため、ス テツプ S 105の偽色画素補正処理においては、偽色領域マスク P (x, y)のコピーマス ク P〃を適用した。
[0108] 図 13の色ぼかし処理(フィルタリング)の処理についての説明を続ける。ステップ S6 05において、偽色領域マスク P (x, y) =true、すなわち偽色画素である場合は、ス
テツプ S606へ進み、ステップ S606では、色成分にぼかしフィルタを適用する。これ は、色成分画像 C'における画素 (X, y)の色成分を示す画素値 C (x, y)の値を周囲 の画素の色成分を示す画素値 Cに基づいて更新する処理である。例えば、処理対象 画素(X, y)と、その周囲の 8画素を合わせた 9画素の色成分 C'の平均値を求め、こ れを処理対象画素 (X, y)の更新画素値 C (x, y)として設定する移動平均フィルタを 施す。
[0109] ステップ S606のぼかしフィルタ適用処理を終了すると、ステップ S607〜S610に ぉ 、て処理対象画素の座標更新および最大値確認を行なう。ステップ S607にお ヽ ては、 X座標の値を 1増やす。次のステップ S608において、 x >w—lであるかどうか の判別をする。 x>w— 1であると判定された場合はステップ S608へ、 x>w— 1でな V、と判定された場合はステップ S604へ戻り、 X座標を更新した画素につ 、て同様の 処理を実行し必要に応じたぼ力 処理を実行する。
[0110] ステップ S608において、 x>w—lであると判定された場合はステップ S609に進み 、 y座標を 1増やし、次のステップ S610で、 y座標の最大値である h—1との比較を行 う。 y>h— 1でないと判定された場合はステップ S603へ進み、更新した y座標を持つ 画素について同様の処理を実行し必要に応じたぼ力 処理を実行する。
[0111] ステップ S610において、 y>h—lであると判定されると、ステップ S611へ進む。ス テツプ S611では、色ぼ力し処理 (フィルタリング)の繰り返し回数 tを 1増やす処理をし 、次のステップ S612で、繰り返し回数 tがあら力じめ定めた閾値 t'max以上かどうか を判別する。 tく t'maxである場合は、ステップ S602へ戻り、 t≥t'maxである場合は 、色ぼ力し処理 (フィルタリング)を終了する。
[0112] 以上の処理によって、図 2に示すステップ S106の色ぼかし処理(フィルタリング)が 終了する。ステップ S 106の色ぼかし処理 (フィルタリング)が終了すると、次のステツ プ S 107で、オリジナルの画像の輝度成分画像 L と、上述した処理の結果である色
m
成分画像 Cを変換し、 RGBのカラー画像として結果画像 RGB を出力し、全体の処
out
理が終了する。
[0113] なお、上述の処理例では図 7のステップ S404において偽色を紫色として判別する ように設定した例を説明した力 前述したように、偽色の色は紫に限定されるものでは
なぐ例えば緑力 Sかった色となる場合などもある。このような場合は、ステップ S404に ぉ 、て偽色を異なる色として設定し、設定した色を持つ画素を偽色として判別する偽 色領域マスク P (x, y)を構成することで、任意の色に対応した処理が可能である。
[0114] また、複数の異なる色、例えば紫と緑色などの複数の色について補正する場合は、 図 2に示す処理を、異なる色を対象として複数回、繰り返して実行するか、あるいは、 偽色領域マスク P (x, y)を、複数の色、例えば紫および緑の画素値を trueとして設 定したマスクとして構成として上述の処理を実行することで、複数の色を持つ偽色に 対する補正を行なうことが可能となる。
[0115] 図 14に、上述した処理を実行する本発明の画像処理装置におけるデジタル信号 処理部(DSP) (図 1の DSP106に相当)の機能構成を示すブロック図を示す。図 14 のブロック図を参照して、図 2に示すフローチャートと対比しながらデジタル信号処理 部(DSP) 106の実行する処理について説明する。
[0116] デジタル信号処理部(DSP) 106は、機能的には、図 14に示すように、色変換部 4 01、白とび検出部 402、偽色画素検出領域設定部 403、偽色 (パープルフリンジ)検 出部 404、画素値補正部 410、色逆変換部 405を有する。画素値補正部 410は、偽 色 (パープルフリンジ)穴埋め補間部 411、偽色 (パープルフリンジ)ぼ力し処理部 41 2から構成される。
[0117] デジタル信号処理部(DSP) 106は、入力画像フレームメモリ 420から画像データ( RGB )を入力し、色変換処理部 401において、 RGB入力画像の色空間を変換し、 m
輝度成分と色成分に分離する。色変換処理部 401において実行する処理は、図 2に 示すフローチャートのステップ S101に相当する処理であり、入力画像 RGB を変換
m し、輝度成分画像 L と色成分画像 C に分離する。つまり RGBカラーの入力画像を、
m in
輝度成分と色成分を別々に持つ色空間に変換する。色空間としては YCbCrや CIE L*a*b*などを適用することが出来る。
[0118] 次に、白とび検出部 402は、色変換処理部 401において変換されたデータに基づ いて、白とびを起こしている画素部分の検出を実行する。この処理は、図 2に示すフ ローチャートのステップ S102に相当する処理であり、その詳細は、図 4のフローチヤ ートを参照して説明したように予め定めた輝度閾値以上の輝度を有する画素を白と
び画素として検出し、白とび画素を識別する白とびマスク S (X, y)を生成する処理を 実行する。
[0119] 偽色画素検出領域設定部 403は、白とび検出部 402において検出された白とび画 素の周囲部分に偽色画素の検出領域を設定する処理を行う。この領域設定処理は 、白とびマスク S (x, y) = trueである白とび画素(X, y)の周囲において偽色を発生 する可能性がある範囲を算出する処理であり、あらかじめ設定された偽色画素検出 領域算定情報を適用する。この処理は、図 2に示すフローチャートのステップ S103 に相当する処理であり、図 5に示す処理フローに従って実行される処理である。
[0120] 偽色画素検出領域設定部 403は、例えば、画像上での光学中心から白とび画素( X, y)までの距離と、画像データの撮影時の絞り、焦点距離情報に対応付けられた偽 色画素検出領域情報を持つルックアップテーブル (LUT)を適用して、各白とび画素
(X, y)の周囲に偽色画素検出領域を設定する。なお、画像データの撮影時の絞り、 焦点距離情報等が存在しない場合は、画像上での光学中心から白とび画素 (X, y) までの距離のみに基づいて、偽色画素検出領域を決定する構成としてもよぐまた、 光学中心から白とび画素 (X, y)までの距離等の情報についても適用することなぐ白 とび画素 (X, y)の周囲の一定領域を偽色画素検出領域として一律に設定する構成 としてちよい。
[0121] 偽色画素検出領域設定部 403は、先に図 6を参照して説明したように、白とび画素
(X, y) 201の周囲の偽色画素検出領域の範囲を、(X , X , y , y )の 4個のスカラー
0 1 0 1
値として算出し、さらに、この領域において白とび画素を除去した偽色領域マスク Pを 生成する。
[0122] 偽色 (パープルフリンジ)検出部 404は、偽色画素検出領域設定部 403の設定した 偽色領域マスク Pを適用し、さらに、各画素の色判定処理によって偽色 (パープルフリ ンジ)と判断される画素を検出する処理を実行する。すなわち、偽色領域マスク Pを更 新し、補正対象となる偽色画素のみを識別可能な偽色領域マスク Pを生成する。この 処理は、図 2に示すフローチャートのステップ S104に相当する処理であり、図 7に示 す処理フローに従って実行される処理である。前述したように、偽色として認定すベ き色の設定は任意であり、特定の色値を持つ紫のみを偽色として設定する構成や、
緑、紫など複数の色を偽色として設定する構成などが可能である。
[0123] 偽色 (パープルフリンジ)穴埋め補間部 411は、偽色 (パープルフリンジ)検出部 40 4において偽色と認定された画素についての補正処理であり、図 2に示すフローチヤ ートのステップ S105に相当する処理であり、図 11、図 12に示す処理フローに従って 実行される処理である。なお、この画素値補正処理には、偽色 (パープルフリンジ)と 認定された画素につ 、て、周囲にある偽色および白とび画素以外の画素値に基づ いて実行する穴埋め補間処理(図 10、図 11参照)と、所定回数の穴埋め補間処理 によって補正できな力つた偽色 (パープルフリンジ)画素の彩度低下処理(図 12参照 )とが含まれる。
[0124] 偽色 (パープルフリンジ)ぼ力し処理部 412は、偽色 (パープルフリンジ)穴埋め補 間部 411の処理によって補正されたデータにつ 、てぼ力し処理を実行する。図 2に 示すフローチャートのステップ S 106に相当する処理であり、図 13に示す処理フロー に従って実行される処理である。
[0125] 偽色 (パープルフリンジ)ぼ力し処理部 412は、偽色 (パープルフリンジ)検出部 404 において偽色と認定された画素を抽出し、色成分にぼかしフィルタを適用し、例えば 、処理対象画素(X, y)と、その周囲の 8画素を合わせた 9画素の色成分の平均値を 求め、これを処理対象画素 (X, y)の更新画素値として設定する移動平均フィルタ処 理を施す。
[0126] 色逆変換部 405は、オリジナルの画像の輝度成分画像 L と、上述した処理の結果
m
である色成分画像 Cを変換し、 RGBのカラー画像として結果画像 RGB を出力する
out
[0127] 本発明を、適用することにより、カメラで撮影した画像に起こる色収差によるパーブ ルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、 出力を実現することができる。従来のカメラでは、パープルフリンジが発生するような 状況で、レンズ絞りなどの設定を工夫しな 、と不自然な画像が撮影される可能性があ つたが、本発明の画像処理を適用することにより、撮影画像を、より自然に見えるよう に補正をすることが可能である。従って、撮影時にパープルフリンジが起こらないよう にレンズの絞りや焦点距離などに注意を払う必要がなぐより高い自由度で撮影を行
なうことが可能となる。
[0128] [実施例 2]
次に、本発明の実施例 2の構成について説明する。実施例 1において説明したよう に、図 2のフローにおけるステップ S103の偽色画素検出領域設定処理では、図 5の フローを参照して詳細を説明したように、図 5のステップ S304において画素位置 (X, y)の画素値が白とび画素である場合、ステップ S305にお!/、て白とび画素の周囲に 偽色画素検出領域 (X , X , y , y )を設定し、この偽色画素検出領域 (X , X , y , y
0 1 0 1 0 1 0 1
)において、偽色画素を検出する処理(図 2のステップ S104 =図 7のフロー)を実行 する。
[0129] 上述の実施例 1の処理では、白とび画素の周囲の偽色画素検出領域 (X , X , y ,
0 1 0 y )の設定を、撮像システムの光学系の特性を踏まえ画像領域に対応した偽色画素 検出領域を設定した例えばルックアップテーブル (LUT)など、あらカゝじめ設定された 偽色画素検出領域算定情報を適用した処理によって行なう構成であった。
[0130] 撮影画像に含まれる白とび画素は、前述したように、高輝度画素、すなわち画像に お!、て飽和して 、る画素であり、例えば 0〜255の輝度値の設定可能な画像データ であれば、 250を超える画素はすべて白とび画素として判定されることになり、その白 とび画素の周囲には、ルックアップテーブルに基づいて偽色画素検出領域 (X , X ,
0 1 y , y )
0 1 が設定されることになる。しかし、撮影画像上に発生する白とび画素、すなわ ち高輝度の画素は、すべてが同じ明るさの被写体に基づいて発生する白とびではな ぐある一定輝度以上の明るさの被写体であれば白とび画素になってしまう。すなわ ち、被写体の明るさレベルがやや高 、ものから非常に高 、ものが一律に白とび画素 として撮影画像には出現することになる。
[0131] しかし、白とび画素の周囲に発生するパープルフリンジは、被写体の持つ明るさレ ベルの変移、すなわちエッジ部分の輝度差に応じてその発生領域が異なると!、う傾 向がある。撮影画像上では同じ白とび画素であっても、その白とび画素と近傍画素と の輝度レベル差に対応するエッジ部分の輝度差が大き ヽ白とび画素は、パープルフ リンジの発生領域は大きくなり、エッジ部分の輝度差が小さい白とび画素は、パーブ ルフリンジの発生領域が小さくなる。従って、一般的には、被写体の持つ明るさレべ
ル (実輝度)が高い白とび画素では、パープルフリンジの発生領域は小さくなり、被写 体の明るさレベル (実輝度)が非常に高い白とび画素では発生領域は大きくなる傾向 にある。
[0132] 従って、撮影画像データ上では同じ白とび画素であっても、実際の被写体の明るさ のレベルに応じて偽色画素検出領域 (X , X , y , y )を変更して設定することで、より
0 1 0 1
確実で効率的な偽色画素の検出が実現されることになる。実施例 2では、被写体の 実際の明るさ(実輝度)を検出または推定し、この被写体実輝度に応じて偽色画素検 出領域を設定する処理を行なう。
[0133] 前述したように、白とび画素と近傍画素との輝度レベル差に対応するエッジ部分の 輝度差が大きい白とび画素は、パープルフリンジの発生領域は大きくなり、エッジ部 分の輝度差が小さい白とび画素は、パープルフリンジの発生領域が小さくなる。従つ て、パープルフリンジの発生範囲を算出するためには、エッジ部分の輝度差を考慮 する必要がある。そもそも、パープルフリンジが起こる原理は、光の波長により点像分 布が異なることにより発生する。波長による点像分布の違いは、レンズの種類や焦点 距離、絞りなどの設定や画像での位置により決まる。したがって、点像分布が光の波 長により少しでも異なれば、理論的には輝度差があまりないエッジ部分でも偽色は発 生するが、点像分布の違いが微小であるときは人に知覚できるほどの偽色は発生し ない。しかし、波長による点像分布の違いが微小であっても、エッジの輝度差が非常 に大きく高輝度部分が飽和してしまうような時には、微小な違いが拡大され、知覚で きるような偽色が広範囲で発生する。したがって、パープルフリンジが発生する可能 性のある範囲をより精密に算出するためには、レンズの種類、設定、画素位置のみな らず、エッジ部分の輝度差を考慮する必要がある。
[0134] 本実施例は、このような問題を解決するものであり、高輝度画素の周囲に発生する パープルフリンジをより精密に検出し補正をする方法を提示する。なお、本実施例に おいて、画像処理装置の構成は、実施例 1と同様、図 1に示す構成が適用可能であ る。また、全体処理シーケンスについても実施例 1と同様、図 2に示すフローチャート に従った処理として実行される。
[0135] 実施例 2が実施例 1と異なるのは、図 2に示すフローのステップ S103の偽色画素検
出領域設定処理に対応する図 5のフローのステップ S305の処理である。この偽色画 素検出領域 (X , X , y , y )の設定処理が異なる。その他の処理、すなわち、実施例
0 1 0 1
1における図 2のフローのステップ S103以外の処理については、実施例 1と同様の 処理となる。
[0136] 本実施例において、図 5のフローのステップ S305の偽色画素検出領域(X , x , y
0 1 0
, y )設定処理は、被写体の明るさ (実輝度)に応じた最適な偽色画素検出領域を設 定する処理として実行される。図 15以下を参照して、本実施例における偽色画素検 出領域の設定処理の詳細について説明する。
[0137] 図 15を参照して偽色 (パープルフリンジ)の発生する原理について説明する。図 15
(a)、 (b)は、縦軸に被写体の明るさ(実輝度)、横軸に撮影画像データにおける画素 位置を設定したグラフであり、(a)は、被写体の明るさ(実輝度) = 500を含み、この部 分が撮影画像上では飽和画素、すなわち白とび画素として現れる。図 15 (a) (b)の 飽和閾値ライン 510は、入射する光量に対する撮像素子の飽和閾値を表わしている 。すなわち、飽和閾値ライン 510以上の光量が入射しても、画像は飽和し、白飛び画 素となることになる。
[0138] 図 15 (a)は、被写体の明るさ(実輝度) = 500と明るさ(実輝度) = 10の実輝度が急 激に変化する隣接部を持つ被写体、すなわち実輝度 500から 50へ変化する被写体 を撮影した場合を示し、図 15 (b)は、実輝度 5000から 50へ変化する被写体を撮影 した場合を示している。図 15 (a)において、実輝度 = 500の部分は、飽和閾値ライン 510以上であり、この部分が白とび画素となり、(b)においては、実輝度 = 5000の部 分が飽和閾値ライン 510以上であり、この部分が白とび画素となり、撮影画像上は、 同じ白とび画素として表現される。
[0139] 図 15 (a)において、実線ライン (G)は撮像素子に入射する緑チャンネルの光の量 を示す緑チャンネル光量ライン (G) 511であり、点線ライン (B)は、撮像素子に入射 する青チャンネルの光の量を示す青チャンネル光量ライン(B) 512である。図 15 (b) においても、同様に、実線ライン (G)は撮像素子に入射する緑チャンネルの光の量 を示す緑チャンネル光量ライン (G) 521であり、点線ライン (B)は、撮像素子に入射 する青チャンネルの光の量を示す青チャンネル光量ライン(B) 522である。
[0140] 図 15 (a) , (b)とも同じレンズを用いて撮影した状況を図示している。同じレンズを 用いて撮影したので、緑チャンネル、青チャンネルのそれぞれの点像分布の形状は 、いずれの場合も全く同等となる。しかし、図 15 (b)の被写体の実輝度と、図 15 (a) の被写体の実輝度とは異なり、図 15 (b)の被写体を撮影した場合の撮像素子に入 射する光量は、図 15 (b)の被写体を撮影した場合の撮像素子に入射する光量よりは るかに大きくなる。
[0141] 入射光量が多!、場合、撮像画像では緑と青のレベル差が顕著になる。撮像画像に おける緑と青のレベル差の大きい部分においてパープルフリンジが発生することにな るので、図 15 (a)では、白とび画素の右のおよそ 10画素部分がパープルフリンジの 発生する可能性が高い部分となり、図 15 (b)では、白とび画素の右のおよそ 20画素 部分がパープルフリンジの発生する可能性が高い部分となる。なお、(a) , (b)にお いて高輝度部分にも緑と青のレベル差が顕著になる部分があるが、この部分は、撮 影画像上では白とび画素として現れることになり、パープルフリンジ画素とはならない
[0142] このように、パープルフリンジは白とびを起こす高輝度部分周囲に発生することが多 ぐその発生範囲はエッジ部分の輝度差に依存する。図 16を参照して、図 15 (a) , ( b)に対応する実輝度を持つ被写体の撮影画像上での輝度値およびパープルフリン ジ発生領域を説明する。図 16 (a) , (b)は、図 15 (a) , (b)に対応する図であり、 (a) は実輝度 500から 50へ変化する被写体、(b)は、実輝度 5000から 50へ変化する被 写体に対応する。この 2つの画像を同じレンズを適用して撮影した場合の画像データ の輝度値分布は図 16 (c)に示す通りとなる。
[0143] 図 16 (c)は、縦軸が撮影画像データにおける輝度値 (撮影画像輝度値)、横軸が 画素位置を示している。画像データは、輝度値 = 255が飽和レベルの輝度値であり 、実輝度 = 500、実輝度 = 5000いずれの場合も、撮影画像上では、輝度値 255 の飽和レベルの画素、すなわち白とび画素となる。白とび画素部分に隣接する部分 にパープルフリンジが出現する力 このパープルフリンジ発生可能領域は、図 16 (a) に示す実輝度 500を持つ被写体では、図 16 (c)に示す領域 Aの 10画素部分であり 、図 16 (b)に示す実輝度 5000を持つ被写体では、図 16 (c)に示す領域 Bの 20画
素部分となる。
[0144] このように、パープルフリンジは白とびを起こす高輝度部分周囲に発生し、発生範 囲はエッジ部分の輝度差に依存する。エッジ部分の輝度差を算出するためには、白 とびを起こしている部分の、飽和していない本来の輝度を求める必要がある。これを 解決するための一つの方法として、低感度のセンサを持つ撮像素子を適用して撮影 した画像を適用する方法がある。
[0145] 具体的には、同じ位置の画素に対して、感度の異なる複数のセンサが配置された 撮像素子を用いる。例えば、通常の感度のセンサと、低感度のセンサの 2種類のセン サを配し、撮影画像は、通常感度のセンサによって撮影された画像を適用し、通常 感度のセンサによって撮影された画像中、白とび画素となった部分についての本来 の被写体輝度(実輝度)を低感度のセンサによって撮影された画像によって求めるも のである。低感度のセンサによって撮影された画像は、通常感度のセンサで白とびと なってしまう輝度の高!、被写体でも、感度が低 ヽため撮影画像上で白とびを起こすこ となぐ飽和値とならない輝度値を持つ画素として出力される。従って、例えば、図 16 (a)に示す実輝度 500を持つ被写体と、図 16 (b)に示す実輝度 5000を持つ被写体 とでは、それぞれ異なる撮影画像輝度値を持つ画像データとして出力することができ る。
[0146] 図 17を参照して、低感度センサを適用した撮影画像によって、被写体の実輝度を 推定する処理について説明する。図 17 (a) , (b)は、図 15 (a) , (b)、および図 16 (a) , (b)に対応する図であり、(a)は実輝度 500から 50へ変化する被写体、(b)は、実 輝度 5000から 50へ変化する被写体に対応する。この 2つの画像を低感度センサを 適用して撮影した場合の画像データの輝度値分布は、例えば、図 17 (p)、(q)に示 す通りとなる。通常感度センサを適用して撮影した場合の画像データの輝度値分布 は、いずれの場合も図 17 (r)に示す通りとなる。図 17 (r)は図 16 (c)と同様の図であ り、実輝度 = 500, 5000いずれの場合も撮影画像輝度値は、ほぼ 255すなわち白と び画素として出力されることになる。
[0147] しかし、低感度センサを適用して撮影した場合の画像データの輝度値分布は、図 1 7 (p)、 (q)に示すように、通常感度の撮影画像にお!、て白とびとなった画像部分が、
白とび画素とならず、飽和画素値未満の輝度値を持った画素として出力される。図に 示す例では、図 17 (a)の実輝度 500を持つ被写体の画像データである図 17 (p)に 示すデータでは、実輝度 500の画像部分が、撮影画像輝度値 = 5の画像データとし て出力され、図 17 (b)の実輝度 5000を持つ被写体の画像データである図 17 (q)に 示すデータでは、実輝度 5000の画像部分力 撮影画像輝度値 = 50の画像データ として出力される。このように、低感度センサを適用して撮影した場合、入射光量が多 く通常センサでは白とびとなってしまう部分でも、白とびとならず、飽和輝度値未満の レベル値を持つ画素として出力され、やや明るい被写体と非常に明るい被写体とを 異なる輝度値を持つ画像データとして出力することができる。本実施例では、このよう な通常の撮影処理とは異なる条件で撮影した画像データを参照画像として適用し、 通常の撮影画像における白とび画素の部分の被写体の実輝度を算出、推定して、そ の推定結果に基づ 、て偽色 (パープルフリンジ)発生可能領域を設定する。
[0148] なお、上述した例では、被写体の実輝度を算出するための参照画像を得るため低 感度のセンサを適用した例を説明したが、その他の例として、例えばシャッタースピ ードを早くして喑 、露出での撮影を行って参照画像を取得する構成としてもょ 、。通 常の撮影画像、すなわち適正露出で撮影した画像にお!ヽて白とびが起こった場合に も、暗い露出での撮像結果では、白とびとならず、飽和輝度値未満の値を持つ画素 値が出力される。従ってシャッタースピードを上げて撮影した画像を参照画像として 適用することも可能である。たとえば適正露出における露光時間の 30分の 1程度の 露光時間で撮影した画像を参照画像として使うことにより、適正露出で飽和してしま つた画素に対応する被写体の実輝度を推定することができる。
[0149] 上述のように低感度センサでの撮影画像や、高速シャッタースピードで撮影した低 露出条件の撮影画像を参照画像とし、通常撮影画像データにおける白とび画素に 対応する部分の参照画像における輝度値に基づ!ヽて被写体の実輝度を推定し、推 定した実輝度に基づ!/、て最適な偽色 (パープルフリンジ)画素検出領域を設定する。
[0150] 図 18に、被写体実輝度(白とび画素の真の輝度)と、偽色 (パープルフリンジ)発生 可能範囲(白とび画素力もの距離)との対応関係の一例を示す。図 18に示すグラフ は、図 17の例に対応しており、被写体実輝度が 500である場合、偽色 (パープルフリ
ンジ)発生可能範囲(白とび画素力もの距離)は、白とび画素力も 10画素、被写体実 輝度が 5000である場合、偽色 (パープルフリンジ)発生可能範囲(白とび画素からの 距離)は、白とび画素から 20画素であることを示している。なお、この図に示す例は 一例であり、被写体実輝度と偽色 (パープルフリンジ)発生可能範囲との対応につい ては、撮像システムの光学系の特性を踏まえ、あら力じめ測定したデータを適用する
[0151] 本実施例における偽色画素検出領域設定処理の手順について、図 19のフローを 参照して説明する。図 19のフローは、先の実施例 1で説明した図 5のフローの一部で ある。ず 5〖こおけるステップ S304〜S305の処理、すなわち、注目画素が白とび画素 であるか否かを判定し、白とび画素である場合には、その周囲に偽色画素検出領域 (X , X , y , y )を設定する処理である。実施例 2では、この部分の処理が実施例 1と
0 1 0 1
異なる処理として実行される。
[0152] 図 19のフローに従って本実施例 2の処理シーケンスについて説明する。ステップ S 304は、実施例 1と同様の処理であり、設定画素位置における白とびマスク Sの画素 値を判別する。設定画素位置 (X, y)において、白とびマスク S (x, y) =falseであれ ば、ステップ S314 (図 5参照)へ進み、次の画素に対する処理に移る。もし、 S (x, y) = trueであれば、ステップ S305aへ進む。画素位置(x, y)において、白とびマスク S (X, y) =falseであるとは、画素位置(x, y)の画素値が白とび画素ではないことを意 味し、画素位置(X, y)において、白とびマスク S (x, y) =trueであるとは、画素位置( X, y)の画素値が白とび画素であることを意味する。
[0153] 画素位置(X, y)において、白とびマスク S (x, y) =trueである場合、ステップ S305 aにおいて、白とび画素位置 (X, y)に対応する参照画像の画素の画素値を取得する 。参照画像とは、例えば上述した低感度センサによる撮影画像、あるいは低露出条 件での撮影例えば高速のシャッタースピードで適正露出以下の露出で撮影した画像 である。この参照画像に基づいて、処理対象画像である通常撮影画像において白と びと判定された画素 (X, y)に対応する参照画像の画素の画素値を取得する。
[0154] その後ステップ S305bにおいて、参照画像の画素の画素値に基づいてルックアツ プテーブル (LUT)を用いて偽色画素検出領域 (X , y , X , y )を算出する。本実施
例にお 、て適用するルックアップテーブル (LUT)のデータ構成例を図 20に示す。 図 20に示すルックアップテーブル (LUT)は、「参照画素の輝度」と、「被写体の実輝 度」と、「偽色 (PF:パープルフリンジ)発生可能画素範囲」を対応付けたテーブル構 成である。このテーブルは、先に図 15〜図 17を参照して説明した例に対応するテー ブルとして示してある。
[0155] 例えば、参照画像における輝度が [5]である場合、被写体実輝度は [500]であり、 その際の「偽色(PF:パープルフリンジ)発生可能画素範囲」は白とび画素から 10画 素の範囲であることを示している。同様に、参照画像における輝度が [50]である場 合、被写体実輝度は [5000]であり、その際の「偽色 (PF:パープルフリンジ)発生可 能画素範囲」は白とび画素から 20画素の範囲であることを示して!/、る。
[0156] 図 19のステップ S305bでは、例えば図 20に示すテーブルから参照画像における 輝度に対応して設定された「偽色 (PF:パープルフリンジ)発生可能画素範囲」を求 め、その結果に基づ 、て偽色 (PF:パープルフリンジ)発生可能画素範囲を含む領 域として、偽色画素検出領域 (X , X , y , y )
0 1 0 1 を算出する。
[0157] なお、図 20に示すテーブルでは、被写体の実輝度のデータを含む構成としたが、 このデータは必須ではなぐ通常撮影画像である処理対象画像の白とび画素に対応 する参照画素の輝度に基づいて偽色画素検出領域 (X , y , X , y )
0 0 1 1 を算出できる設 定であればよぐ「参照画像の輝度」と、「偽色 (PF :パープルフリンジ)発生可能画素 範囲」、あるいは偽色画素検出領域 (X , y , X , y )
0 0 1 1 を対応付けたルックアップテー ブル(LUT)として構成すればよ!、。
[0158] 図 21、図 22を参照して、上述した処理を実行する本実施例の画像処理装置にお けるデジタル信号処理部(DSP) (図 1の DSP106に相当)の機能構成について説明 する。
[0159] 図 21は、先の実施例 1において図 14を参照して説明した DSPの構成に対応する 図であり、図 22は、図 21における偽色画素検出領域設定部 403の構成を示す図で ある。図 21に示すように、本実施例におけるデジタル信号処理部(DSP)は、実施例 1と同様、色変換部 401、白とび検出部 402、偽色画素検出領域設定部 403、偽色( パープルフリンジ)検出部 404、画素値補正部 410、色逆変換部 405を有する。画素
値補正部 410は、偽色 (パープルフリンジ)穴埋め補間部 411、偽色 (パープルフリン ジ)ぼ力し処理部 412から構成される。
[0160] デジタル信号処理部(DSP) 106は、入力画像フレームメモリ 420から画像データ( RGB )を入力し、色変換処理部 401において、 RGB入力画像の色空間を変換し、 m
輝度成分と色成分に分離する。色変換処理部 401において実行する処理は、図 2に 示すフローチャートのステップ S101に相当する処理であり、入力画像 RGB を変換
m し、輝度成分画像 L と色成分画像 C に分離する。つまり RGBカラーの入力画像を、
m in
輝度成分と色成分を別々に持つ色空間に変換する。色空間としては YCbCrや CIE L*a*b*などを適用することが出来る。
[0161] 次に、白とび検出部 402は、色変換処理部 401において変換されたデータに基づ いて、白とびを起こしている画素部分の検出を実行する。この処理は、図 2に示すフ ローチャートのステップ S102に相当する処理であり、その詳細は、図 4のフローチヤ ートを参照して説明したように予め定めた輝度閾値以上の輝度を有する画素を白と び画素として検出し、白とび画素を識別する白とびマスク S (X, y)を生成する処理を 実行する。
[0162] 偽色画素検出領域設定部 403は、白とび検出部 402において検出された白とび画 素の周囲部分に偽色画素の検出領域を設定する処理を行う。この領域設定処理は 、白とびマスク S (x, y) = trueである白とび画素(X, y)の周囲において偽色を発生 する可能性がある範囲を算出する処理であり、上述したように、参照画像を適用した 最適な偽色画素検出領域設定処理を実行する。
[0163] 偽色画素検出領域設定部 403の機能構成について、図 22を参照して説明する。
偽色画素検出領域設定部 403は、図 22に示すように、参照画像解析部 711、ルック アップテーブル格納部 712、偽色画素検出領域決定処理部 713を有する。参照画 像解析部 711は、白とび検出部 402から処理対象画像の白とび画素位置を取得し、 白とび画素位置に対応する参照画像の画素の輝度値を取得する。参照画像は、処 理対象画像と同一の被写体の撮影画像である力 低感度センサによる撮影画像ある いは高速シャッタースピード設定などによる適正露出未満の撮影画像である。
[0164] 偽色画素検出領域決定処理部 713は、参照画像解析部 711から処理対象画像の
白とび画素位置に対応する参照画像の画素の輝度値を入力し、この入力値に基づ V、てルックアップテーブル格納部 712に格納されたルックアップテーブル (LUT)を 参照して偽色画素検出領域を算出する。ルックアップテーブル (LUT)、例えば先に 図 20を参照して説明したように、「参照画像の輝度」と、「偽色 (PF:パープルフリンジ )発生可能画素範囲」、あるいは偽色画素検出領域 (X , y , X , y )を対応付けたル
0 0 1 1
ックアップテーブル (LUT)である。
[0165] 偽色画素検出領域決定処理部 713では、処理対象画像の白とび画素位置に対応 する参照画像の画素の輝度値に基づいて偽色画素検出領域 (X , y , X , y )
0 0 1 1 を決 定する。偽色画素検出領域決定処理部 713は、白とび画素 (X, y)の周囲の偽色画 素検出領域の範囲を、 (χ , X , y , y )の 4個のスカラー値として算出し、さらに、この
0 1 0 1
領域にお 、て白とび画素を除去した偽色領域マスク Pを生成(図 5、図 19の処理フロ 一参照)する。この処理により、実際の被写体の輝度 (実輝度)を考慮した偽色画素 検出領域の設定が可能となり、最適な領域設定が実現される。図 21に戻り、本実施 例の処理についての説明を続ける。
[0166] 偽色 (パープルフリンジ)検出部 404は、偽色画素検出領域設定部 403の設定した 偽色領域マスク Pを適用し、さらに、各画素の色判定処理によって偽色 (パープルフリ ンジ)と判断される画素を検出する処理を実行する。すなわち、偽色領域マスク Pを更 新し、補正対象となる偽色画素のみを識別可能な偽色領域マスク Pを生成する。この 処理は、図 2に示すフローチャートのステップ S104に相当する処理であり、図 7に示 す処理フローに従って実行される処理である。前述したように、偽色として認定すベ き色の設定は任意であり、特定の色値を持つ紫のみを偽色として設定する構成や、 緑、紫など複数の色を偽色として設定する構成などが可能である。
[0167] 偽色 (パープルフリンジ)穴埋め補間部 411は、偽色 (パープルフリンジ)検出部 40 4において偽色と認定された画素についての補正処理であり、図 2に示すフローチヤ ートのステップ S105に相当する処理であり、図 11、図 12に示す処理フローに従って 実行される処理である。なお、この画素値補正処理には、偽色 (パープルフリンジ)と 認定された画素につ 、て、周囲にある偽色および白とび画素以外の画素値に基づ いて実行する穴埋め補間処理(図 10、図 11参照)と、所定回数の穴埋め補間処理
によって補正できな力つた偽色 (パープルフリンジ)画素の彩度低下処理(図 12参照 )とが含まれる。
[0168] 偽色 (パープルフリンジ)ぼ力し処理部 412は、偽色 (パープルフリンジ)穴埋め補 間部 411の処理によって補正されたデータにつ 、てぼ力し処理を実行する。図 2に 示すフローチャートのステップ S 106に相当する処理であり、図 13に示す処理フロー に従って実行される処理である。
[0169] 偽色 (パープルフリンジ)ぼ力し処理部 412は、偽色 (パープルフリンジ)検出部 404 において偽色と認定された画素を抽出し、色成分にぼかしフィルタを適用し、例えば 、処理対象画素(X, y)と、その周囲の 8画素を合わせた 9画素の色成分の平均値を 求め、これを処理対象画素 (X, y)の更新画素値として設定する移動平均フィルタ処 理を施す。
[0170] 色逆変換部 405は、オリジナルの画像の輝度成分画像 L と、上述した処理の結果
m
である色成分画像 Cを変換し、 RGBのカラー画像として結果画像 RGB を出力する
out
[0171] 本実施例を適用することにより、カメラで撮影した画像に起こる色収差によるパーブ ルフリンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、 出力を実現することができる。
[0172] 特に、実施例 2では、白とび画素に対応する被写体の実輝度を参照画像に基づい て推定し、被写体の実輝度に対応する偽色 (パープルフリンジ)検出領域を設定して 、設定領域内の偽色 (パープルフリンジ)画素を検出して補正する構成であるので、 設定される偽色 (パープルフリンジ)検出領域が広すぎたり、狭すぎたりすることがなく 、偽色 (パープルフリンジ)の発生する可能性のある領域に一致する偽色 (パープル フリンジ)検出領域の設定が可能となり、確実にかつ効率的に偽色 (パープルフリン ジ)画素を検出することができ、画像補正の精度が高まり、効率化が実現される。
[0173] 以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、 本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ること は自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的 に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の
欄を参酌すべきである。
[0174] また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、 あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理 を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに 組み込まれたコンピュータ内のメモリにインストールして実行させる力、あるいは、各 種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させること が可能である。
[0175] 例えば、プログラムは記録媒体としてのハードディスクや ROM (Read Only
Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルデイス ク、 CD— ROM(Compact Disc Read Only Memory), MO(Magneto optical)ディスク, DVD(Digital Versatile Disc),磁気ディスク、半導体メモリなどのリムーバブル記録媒 体に、一時的あるいは永続的に格納 (記録)しておくことができる。このようなリムーバ ブル記録媒体は、 、わゆるパッケージソフトウェアとして提供することができる。
[0176] なお、プログラムは、上述したようなリムーバブル記録媒体力もコンピュータにインス トールする他、ダウンロードサイトから、コンピュータに無線転送したり、 LAN(Local Area Network),インターネットといったネットワークを介して、コンピュータに有線で転 送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵する ハードディスク等の記録媒体にインストールすることができる。
[0177] なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみ ならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個 別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的 集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
産業上の利用可能性
[0178] 以上、説明したように、本発明の構成によれば、画像データから白とび画素を検出 し、検出した白とび画素の周囲に偽色画素検出領域を設定し、設定領域内において 、パープルフリンジ等の偽色に対応する色を有する画素を検出し、検出画素を偽色 画素として特定し、特定した偽色画素に対して周囲画素値に基づく補正処理を実行 する構成としたので、白とび画素近傍に発生するパープルフリンジ等の偽色領域の
効率的検出、部分的な画素値補正が可能となり、画像全体に対する影響を発生させ ることなく高品質な画像データの生成、出力が可能となる。
[0179] 本発明の構成によれば、カメラで撮影した画像に起こる色収差によるパープルフリ ンジ等の偽色に対する適正な補正が可能となり、高品質な画像データの生成、出力 が実現される。従来のカメラでは、パープルフリンジが発生するような状況で、レンズ 絞りなどの設定を工夫しないと不自然な画像が撮影される可能性があつたが、本発 明を適用することにより、撮影画像に含まれるパープルフリンジ等の偽色を効率的に 抽出し補正することが可能であり高品質な画像を生成、出力することができる。従つ て、撮影時にパープルフリンジが起こらないようにレンズの絞りや焦点距離などに注 意を払う必要がなぐより高い自由度で撮影を行なうことが可能となる。
[0180] さらに、本発明の構成によれば、白とび画素に対応する被写体の実輝度を参照画 像に基づいて推定し、被写体の実輝度に対応する偽色 (パープルフリンジ)検出領 域を設定して、設定領域内の偽色 (パープルフリンジ)画素を検出して補正する構成 であるので、設定される偽色 (パープルフリンジ)検出領域が広すぎたり、狭すぎたり することがなぐ偽色 (パープルフリンジ)の発生する可能性のある領域に一致する偽 色 (パープルフリンジ)検出領域の設定が可能となり、確実にかつ効率的に偽色 (パ 一プルフリンジ)画素を検出することができ、画像補正の精度が高まり、効率化が実 現される。