(57)【特許請求の範囲】
【請求項１】
複数の画素を有する画像中のカラーアーティファクトを補正するための方法であって、
前記画像の画像データを受信することと、前記画像データが、前記画像中の前記複数の画素の各々についてのルーマ成分値と２つのクロマ成分値とを含む、
前記画像データの前記ルーマ成分値中の少なくとも１つのカラーアーティファクトを検出することと、
前記画像中の前記複数の画素の各々についてのエントリを有する補正比率マップを生成することと、前記エントリが、対応する画素と関連するカラーアーティファクトの位置を示す、
前記クロマ成分値のサブセットの複数の中央値を生成するために、各クロマ成分に複数の方向性メディアンフィルタを適用することと、
前記クロマ成分値の前記サブセットの各々について、前記補正比率マップの対応するエントリに少なくとも部分的に基づいて前記複数の中央値のうちの１つを選択することと、
前記複数の中央値のうちの前記選択された１つに少なくとも部分的に基づいて前記画素の補正済みクロマ値を出力することと
を備える方法。
【請求項２】
前記補正比率マップは入力値に対応する複数のエントリを有し、補正モジュールが、前記中央値と前記エントリの第１のエントリを受信すること、前記第１のエントリが前記画素に対応する、を更に備える、請求項１に記載の方法。
【請求項３】
前記画像データのＣｂ成分とＣｒ成分とのうちの少なくとも１つの分析に基づいて前記補正比率マップを更新すること、ここにおいて、前記補正比率マップが入力値に対応する複数のエントリを有し、前記補正比率マップを更新することが、前記エントリの第２のエントリを変更することによって後続のクロマ補正から非カラー画素を除外し、前記第２のエントリは前記非カラー画素に関連する、を更に備える、請求項１に記載の方法。
【請求項４】
クロマ成分の一方又は両方に対して実行されるグレーチェック結果に応答して前記補正比率マップを更新することを更に備える、請求項１に記載の方法。
【請求項５】
前記画素がカラースポットアーティファクトに関連付けられることを前記エントリの第１のエントリが示す場合、前記複数の中央値のうちの１つを選択することが前記画素のオリジナル入力クロマ値に最も近い最も保守的な中央値を選択することを備える、請求項１に記載の方法。
【請求項６】
前記補正済みクロマ値を出力することが、入力クロマ値を用いて前記最も保守的な中央値を重み付けすることを更に備える、請求項５に記載の方法。
【請求項７】
前記複数の中央値のうちの１つを選択することが、前記画素が色収差に関連付けられることを前記エントリの第１のエントリが示す場合、前記画素のオリジナル入力クロマ値から最も離れた最も積極的な中央値を選択することを備える、請求項１に記載の方法。
【請求項８】
前記画像中のカラーアーティファクトを補正するための前記補正比率マップを生成することは、
カラーアーティファクトマップを生成するために少なくとも１つの対称カーネルで前記ルーマ成分値を畳み込むことと、
前記カラーアーティファクトマップに少なくとも部分的に基づいて予備補正比率マップを生成することと、ここにおいて、前記予備補正比率マップが、前記画像の複数の画素の各々に対応するエントリを含み、
前記クロマ成分のうちの少なくとも１つに対してグレーチェックを実行することと、
後続の色補正からあらゆる非カラー画素を除外するために前記グレーチェックに少なくとも部分的に基づいて前記予備補正比率マップを更新し、それによって最終補正比率マップを生成することと
を備える、請求項１〜７のうちのいずれか一項に記載の方法。
【請求項９】
前記ルーマ成分値に基づいて推定飽和マップを生成すること、ここにおいて、前記予備補正比率マップを生成することが、前記推定飽和マップに更に少なくとも部分的に基づく、を更に備える、請求項８に記載の方法。
【請求項１０】
前記グレーチェックを実行することが、飽和検出カーネルで前記クロマ成分のうちの少なくとも１つを畳み込むことを備える、請求項８に記載の方法。
【請求項１１】
少なくとも１つの対称カーネルで前記ルーマ成分値を畳み込むことが、前記ルーマ成分値をダウンサンプリングすることを更に備える、請求項８に記載の方法。
【請求項１２】
前記クロマ成分のうちの少なくとも１つに対してカラースポットチェックを実行することと、
前記カラースポットチェックに少なくとも部分的に基づいて前記予備補正比率マップを更新することと
を更に備える、請求項８に記載の方法。
【請求項１３】
実行されたとき、少なくとも１つのプロセッサに、請求項１〜１２のいずれか一項に従って方法を実行させる命令を記憶するコンピュータ可読記憶媒体。
【請求項１４】
画像中のカラーアーティファクトを補正するためのシステムであって、
複数の画素を備える画像中の少なくとも１つのカラーアーティファクトを検出するように構成された検出モジュールと、ここにおいて、前記検出モジュールが、前記画像中の複数の画素の各々についてのエントリを有する補正比率マップを生成するように更に構成され、前記エントリが、対応する画素に関連するカラーアーティファクトのタイプを示し、
前記エントリに少なくとも部分的に基づいて前記対応する画素の補正済みクロマ値を計算するように構成された補正モジュールと、前記エントリが、前記対応する画素に関連するカラーアーティファクトのタイプを示し、前記補正モジュールが、補正済みクロマ値を計算するために使用すべき前記エントリに基づいて複数の方向性メディアンフィルタのうちの１つを選択するように更に構成され、前記補正モジュールは、前記対応する画素がカラースポットアーティファクトに関連付けられることを前記エントリが示す場合、第１の方向性メディアンフィルタを選択することと、前記対応する画素が色収差に関連付けられることを前記エントリが示す場合、第２の方向性メディアンフィルタを選択することとを行うように更に構成され、
前記補正済みクロマ値から形成される補正済み画像中で追加のアーティファクトの導入又は正当な色特徴の非飽和化を低減するために前記補正済みクロマ値を検証するように構成された検証モジュールと
を備える、システム。
【請求項１５】
前記検出モジュールが、撮影済み画像のルーマ成分の分析に少なくとも部分的に基づいて、予備補正比率マップエントリ値を生成するように構成された補正マップ回路を備える、請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本明細書で開示されるシステム及び方法は、一般に、撮像装置に関し、より詳細には、撮影済み画像中のカラーアーティファクトを補正することに関する。
【背景技術】
【０００２】
[0002]デジタルカメラを使用して撮影される画像は、特にハイライト領域及び鋭い輝度のエッジにおけるカラフルなスポット及びラインなどのカラーアーティファクトに悩まされることがある。そのようなカラーアーティファクトは、特に、小さい不完全なレンズをもつ小型のモバイルカメラにおいて問題となる。カラーアーティファクトは、しばしば、撮影済み画像中に存在すべきでない望ましくないカラフルなスポット及びライン、例えば、明るいドット／ライン（鏡面領域）及び鋭い輝度のエッジ（空と不明瞭な被写体との間の切り替わり領域）の原因となる。カラーアーティファクトは、例えば、画像センサー上のある場所で全ての色に焦点を合わせることにカメラレンズが失敗したことから生じた高コントラストエッジの「フリンジ」として現れることがある。
【０００３】
[0003]カラーアーティファクトの一種であるカラースポットアーティファクトは、一般に画像中の輝点及び高コントラストエッジの周りに生じる望ましくないカラフルなスポット又はラインである。カラースポットアーティファクトは、幾つかのファクタによって生じ得る。アンダーナイキストサンプリングを使用する撮像システムでは、小さい明るいドット／細いラインなどのカラーアーティファクトは、アンダーナイキストレート（under-Nyquist rate）でサンプリングすることによって生じ得る。カラースポットアーティファクトはまた、光の鏡面反射、チャネル当たりのビット数の誤補正、センサーの非一様色応答、及び不完全な非モザイク処理アルゴリズムによって生じ得る。
【０００４】
[0004]クロマ収差又は色収差として知られる別のタイプのカラーアーティファクトは、画像の暗部と明部とを分離する境界に沿って色のフリンジとして現れる。色収差は、不完全なレンズが同じ収束点において光の異なる色に焦点を合わせることに失敗したときに生じ得る。これは、レンズが（レンズの分散として知られる）異なる光の波長に対して異なる屈折率を有するからであり、屈折率が波長の増加とともに減少するからである。レンズの焦点距離は屈折率に依存するので、光の異なる波長は画像センサーの異なる位置に焦点が合い得る。色収差はまた、焦点面における異なる位置に焦点が合っている光の異なる波長によって生じ得る。従って、画像中のオブジェクト、特に、高コントラスト領域中のオブジェクトの周りに顕著な有色エッジが現れ得る。
【発明の概要】
【０００５】
[0005]撮影済み画像中のカラーアーティファクトは、画像の品質を劣化させ得、特に、モバイル機器中で使用されるような比較的小さいカメラにおいて問題となり得る。しかしながら、カラーアーティファクトを補正するための既存の方法は、色収差とカラースポットアーティファクトとの２つのタイプのカラーアーティファクトを補正することに対する統一手法を提示していない。従来、色収差とカラースポットアーティファクトとは別様に対処され、色収差は、レンズ較正方法と動的検出−補正方法とによって対処され、カラースポットアーティファクトは、ハイライト領域／飽和領域に対する耐性（robustness）について改善された非モザイク処理アルゴリズムを使用して色一貫性を強いることによって、又はスタンドアロンの後処理クロマフィルタによって補正される。従って、本明細書で説明する色補正技法は、色収差とカラースポットアーティファクトとの両方を検出し、補正するための統一手法の例示的な実装形態を提示する。
【０００６】
[0006]カラーアーティファクトの正確な検出は、画像の正当な色特徴とカラーアーティファクトを識別することに関する課題を提示し得る。本明細書で説明する色補正技法の検出方法は、有利には、例えば、カラーアーティファクトが、カラーバンプを有し得ることと、ハイライト領域又は飽和領域中にあることと、輝度エッジを有することと、サイズが比較的小さいことと、正当な色特徴と比較して一様性に劣る色を有することとを含む、画像中に現れるカラーアーティファクトの１つ又は複数の特性を利用し得る。本明細書で説明する補正技法の色の例は、画像の正当な色特徴を維持しながら不要なカラーアーティファクトを除去するために、保守的な補正方法とルーズな検出方法とのバランスをとることができる。
【０００７】
[0007]一態様は、複数の画素を有する画像中のカラーアーティファクトを補正するための方法であって、画像の画像データを受信することと、画像データが、画像中の複数の画素の各々についてのルーマ（Ｙ）成分値と２つのクロマ成分値とを含む、画像データのＹ成分値中の少なくとも１つのカラーアーティファクトを検出することと、画像中の複数の画素に対応する補正比率マップを生成することと、補正比率マップが、画像データ中の少なくとも１つのカラーアーティファクトの位置(location)を示す、クロマ成分値のサブセットの複数の中央値を生成するために、各クロマ成分に複数の方向性メディアンフィルタを適用することと、クロマ成分値のサブセットの各々について、対応する補正比率マップエントリに少なくとも部分的に基づいて複数の中央値のうちの１つを選択することと、複数の中央値のうちの選択された１つに少なくとも部分的に基づいて画素の補正済みクロマ値を出力することとを含む方法に関する。そのような方法は、表示器を有するポータブル機器を含む電子機器上に実装され得る。
【０００８】
[0008]別の態様は、画像中のカラーアーティファクトを補正するためのシステムであって、複数の画素を備える画像中の少なくとも１つのカラーアーティファクトを検出するように構成された検出モジュール、検出モジュールが、画像中の複数の画素の各々についてのエントリを有する補正比率マップを生成するように更に構成される、エントリが、対応する画素に関連するカラーアーティファクトのタイプを示す、を含むシステムに関する。本システムはまた、エントリに少なくとも部分的に基づいて対応する画素の補正済みクロマ値を計算する構成された補正モジュール、エントリが、対応する画素に関連するカラーアーティファクトのタイプを示す、補正モジュールが、補正済みクロマ値を計算するために使用すべきエントリに基づいて複数の方向性メディアンフィルタのうちの１つを選択するように更に構成される、補正モジュールは、対応する画素がカラースポットアーティファクトに関連付けられることをエントリが示す場合、第１の方向性メディアンフィルタを選択することと、対応する画素が色収差に関連付けられることをエントリが示す場合、第２の方向性メディアンフィルタを選択することとを行うように更に構成される、を含み得る。本システムはまた、補正済みクロマ値から形成される補正済み画像中で追加のアーティファクトの導入又は正当な色特徴の非飽和化を低減するために補正済みクロマ値を検証するように構成された検証モジュールを含み得る。
【０００９】
[0009]別の態様は、画像中のカラーアーティファクトを補正するための補正比率マップを生成するための方法であって、画像を備える画像データを受信することと、画像が、ルーマ成分と２つのクロマ成分とを備える、カラーアーティファクトマップを生成するために少なくとも１つの対称カーネルでルーマ成分を畳み込むことと、カラーアーティファクトマップに少なくとも部分的に基づいて予備補正比率マップを生成することと、ここにおいて、予備補正比率マップが、撮影済みの画像の複数の画素の各々に対応するエントリを含んでいる、クロマ成分のうちの少なくとも１つに対してグレーチェックを実行することと、後続の色補正からあらゆる非カラー画素を除外するためにグレーチェックに少なくとも部分的に基づいて予備補正比率マップを更新し、それによって最終補正比率マップを生成することとを含む方法に関する。
【００１０】
[0010]別の態様は、画像中のカラーアーティファクトを補正するための電子機器中の方法であって、入力画像の画素に対応する入力値を受信することと、各入力値が、ルーマ（Ｙ）成分と、第１のクロマ成分と、第２のクロマ成分とを有する、入力値のＹ成分が、Ｙ成分データセットを形成する、入力値の第１のクロマ成分が、第１のクロマ成分データセットを形成する、入力値の第２のクロマ成分が、第２のクロマ成分データセットを形成する、Ｙ成分データセット中の少なくとも１つのカラーアーティファクトを検出することと、入力値に対応する複数の補正エントリを有する補正比率マップを生成することと、補正エントリが、少なくとも１つのカラーアーティファクトの位置を非難する、第１のクロマ成分データセット中の各成分の複数の中央値を生成するために、第１のクロマ成分データセットに複数の方向性メディアンフィルタを適用することと、第２のクロマ成分データセット中の各成分の複数の中央値を生成するために、第２のクロマ成分データセットに複数の方向性メディアンフィルタを適用することと、補正モジュールにおいて、第１のクロマ成分データセットと第２のクロマ成分データセットとのうちの少なくとも１つから生成された複数の中央値を受信し、補正比率マップを受信することと、補正比率マップエントリに少なくとも部分的に基づいて出力画像を生成する際に使用する複数の中央値のうちの１つを選択することと、出力値のアレイを備える出力画像を生成することと、各出力値が、入力画像の入力値に対応する、前記生成することが、色収差の存在を示す補正割当てマップ中の情報に基づいて対応する入力値を変更することを決定することを含む、変更すべき入力値について、画素がカラースポットアーティファクトに関連付けられる場合は第１の設定を用い、画素が色収差に関連付けられる場合は第２の設定を用いて画素に出力値として、１つ、即ち、中央値のうちの選択された１つを適用することによって出力値を生成すること、を備える方法に関する。
【００１１】
[0011]別の態様は、実行されたとき、少なくとも１つのプロセッサに、画像の画像データを受信することと、画像データが、画像中の複数の画素の各々についてのルーマ（Ｙ）成分値と２つのクロマ成分値とを含む、画像データのＹ成分値中の少なくとも１つのカラーアーティファクトを検出することと、画像中の複数の画素に対応する補正比率マップを生成することと、補正比率マップが、画像データ中の少なくとも１つのカラーアーティファクトの位置を示す、クロマ成分値のサブセットの複数の中央値を生成するために、各クロマ成分に複数の方向性メディアンフィルタを適用することと、クロマ成分値のサブセットの各々について、対応する補正比率マップエントリに少なくとも部分的に基づいて複数の中央値のうちの１つを選択することと、複数の中央値のうちの選択された１つに少なくとも部分的に基づいて画素の補正済みクロマ値を出力することとを備える方法を実行することを行わせる命令を記憶する非一時的コンピュータ可読媒体に関する。
【００１２】
[0012]開示される態様は、本明細書で、後で、開示される態様を限定するのではなく例示するために提供される添付図面及び付録に関連して説明され、ここで、同様の指定は、同様の要素を表す。
【図面の簡単な説明】
【００１３】
【図１】[0013]適応型カラーアーティファクト補正システムの一実施形態の概略ブロック図。
【図２】[0014]適応型カラーアーティファクト補正能力をもつ例示的なシステムの概略ブロック図。
【図３Ａ】[0015]画像のルーマ成分中のカラーアーティファクトを検出するための検出カーネルの複数の実施形態を示す図。
【図３Ｂ】[0016]図３Ａの検出カーネルを実装することができる補正マップ回路の実施形態を示す図。
【図４Ａ】[0017]画像のクロマ成分中のカラーアーティファクトを検出するための検出カーネルの複数の実施形態を示す図。
【図４Ｂ】[0018]図４Ａの検出カーネルを実装することができる補正マップ更新回路の実施形態を示す図。
【図５Ａ】[0019]方向性メディアンフィルタの一実施形態を示す図。
【図５Ｂ】[0020]図５Ａの方向性メディアンフィルタを実装することができる適応型カラーアーティファクト補正回路の一実施形態を示す図。
【図５Ｃ】[0021]図５Ａの方向性メディアンフィルタの適用例によって影響を及ぼされ得る例示的な画素を示す図。
【図６】[0022]適応型カラーアーティファクト補正プロセスの一実施形態を示す図。
【発明を実施するための形態】
【００１４】
序論
[0023]本開示の実施形態は、色収差及び／又はカラースポットアーティファクトの補正に関する技法を含む。例えば、色収差とカラースポットアーティファクトとの両方は、本明細書では多重仮説カラーアーティファクト補正（ＭＨＣＡＣ：Multiple Hypothesis Color Artifact Correction）と呼ぶ、クロマチャネル（ＹＣｂＣｒ）に対して方向性メディアンフィルタ処理を実装する後処理方法を使用して補正され得る。既存の方法と比較して、ＭＨＣＡＣ技法は、画像中の不要なカラーアーティファクトの除去と画像の正当な色特徴を維持することとのバランスをとるために、カラーアーティファクト検出精度の要件を緩和し、カラーアーティファクト補正の効率と耐性とを大幅に改善する。
【００１５】
[0024]幾つかの実施形態では、ＭＨＣＡＣ技法は、可能性誤補正、従って、補正の計算コストを低減するために、カラーアーティファクトの仮説検出を採用する。カラーアーティファクトの検出は、（１）カラースポットアーティファクトと色収差とが、輝点、輝線、高コントラストエッジ、及び飽和領域の近くでよく生じることと、（２）ひどい色収差が飽和領域の近くでよく発生することとの２つの有効な仮説に基づき得る。検出の後に、方向性メディアンフィルタ処理を使用して、ＭＨＣＡＣ技法は、２つの異なる補正設定を用いて単一の統一フレームワーク中の、色収差（太線）とカラースポット（細線又は点）アーティファクトとの異なる種類のカラーアーティファクトの両方を適応的に除去することができる。ＭＨＣＡＣ技法は、画像のクロマチャネルに対して方向性メディアンフィルタを使用することができ、方向性メディアンフィルタは、正当な色特徴（例えば、ドット、エッジ及びコーナー）にダメージを与えることなしにカラーアーティファクトを効果的に補正することができる。平均値フィルタカーネルよりも計算量的にコストがかかるが、幾つかの実施形態では、メディアンフィルタは、それらが外れ値に対して耐性あるという点でより効果的であり、それらがシャープエッジを保持するという点でより保守的である。更に、方向性メディアンフィルタは、ＮＥＯＮ（登録商標）ＳＩＭＤ（単一命令多重データ：Single Instruction, Multiple Data）加速において役に立つ。方向性メディアンフィルタを使用することによって、補正ポイントの数を低減するためにより厳しい検出基準を提示することによって実装システムによる高速処理が可能になり得る。効率的なカラーアーティファクト検出とともに方向性メディアンフィルタ処理を示した実験結果は、色特徴を損なう（即ち、非飽和化する）ことなしにカラーアーティファクト補正に効果的なロバストな解決策を与える。
【００１６】
[0025]統一フレームワーク中の両方のタイプのカラーアーティファクトを補正するために、ＭＨＣＡＣ方法の実施形態は３つのステップを含み得る。最初に、ＭＨＣＡＣ技法は、補正比率マップを構築するために輝点、輝線、及び高コントラストエッジを検出することができる。第２に、ＭＨＣＡＣ技法は、補正比率マップに基づいて各画素に、カラースポットと色収差の各々に１つずつの設定の２つの異なる方向性メディアンフィルタ処理設定のうちの１つを適応的に適用することができる。第３に、ＭＨＣＡＣ技法は、カラーアーティファクトの補正が追加のアーティファクト又は不要な非飽和化をもたらさなかったことを検証することができる。
【００１７】
[0026]検出ステップの一実施形態では、ＭＨＣＡＣ技法は、ＹＣｂＣｒ画像のルーマチャネルに対して２つの検出手段を実行することができる。１つの検出手段は、輝点及び輝エッジ検出を実行することができ、一方、他方の手段は、飽和検出を実行することができる。検出ステップのこの部分は、カラーアーティファクトの存在及び位置並びに色補正の必要とされる強度を示す画素ごとの補正比率マップを構築することができる。補正比率マップは、次いで、画像のクロマチャネルに対して２つの検出手段を実行することによって更新され得、ここで、１つの検出手段は、グレーチェックを実行し、一方、他方の手段は、カラースポット検出を実行する。
【００１８】
[0027]補正比率マップの値に従って、方向性メディアンフィルタ処理の一実施形態は、補正比率マップ中の対応する値によって示される異なる設定と異なる強度とを用いて各画素のクロマ値を補正する。例えば、補正マップでは第１の値は、その画素に対して補正を実行すべきでないことを示すことができ、第２の値は、カラースポット補正を実行すべきであることを示すことができ、第３の値は、色収差補正を実行すべきであることを示すことができる。補正済み画素クロマ値は、出力され、補正画像の構成のために使用される前に、例えば、クランピング（clamping）することによって、検証され得る。ＭＨＣＡＣ技法の幾つかの実施形態は、画像のＣｂチャネルとＣｒチャネルとのクロマ値を別個に補正することができる。
【００１９】
適応型色補正の概要
[0028]図１に、適応型カラーアーティファクト補正システム１００の一実施形態の概略ブロック図を示す。カラーアーティファクト補正システム１００は、検出モジュール１２０と、検出モジュール１２０とデータ通信しているダウンスケールモジュール１３０、１６０とを含む。適応型カラーアーティファクト補正システム１００はまた、補正のための収差を含み得る画像の画素及び／又は部分を含み得る出力を受信するために、検出モジュール１２０とデータ通信しているＣｂ補正モジュール１４０とＣｒ補正モジュール１７０とを含む。それぞれ、ダウンスケールされたＣｒ画像データとＣｒ画像データとを受信するために、Ｃｂ補正モジュール１４０はまた、ダウンスケールモジュール１３０とデータ通信しており、Ｃｒ補正モジュール１７０は、ダウンスケールモジュール１６０とデータ通信している。Ｃｂ補正モジュール１４０は検証モジュール１４５とデータ通信しており、検証モジュール１４５はアップスケールモジュール１５０とデータ通信している。アップスケールモジュール１５０は、アップスケールされたＣｂデータの出力を与えるように構成される。同様に、Ｃｒ補正モジュール１７０は検証モジュール１７５とデータ通信しており、検証モジュール１７５はアップスケールモジュール１８０とデータ通信している。アップスケールモジュール１８０は、アップスケールされたＣｒデータの出力を与えるように構成される。適応型カラーアーティファクト補正システム１００とそれの構成要素とについて、以下で更に説明する。
【００２０】
[0029]図１に示すように、適応型カラーアーティファクト補正システム１００は、画像データのＹブロック１０５と、Ｙブロック１０５に対応する画像データのＣｂブロック１１０と、Ｙブロック１０５とＣｂブロック１１０とに対応する画像データのＣｒブロック１１５とを含むことができる入力データを受信する。Ｙブロック１０５は、図示の例では、何らかの３×３の膨張を含むことができるが、Ｃｂブロック１１０及びＣｒブロック１１５は、それを含まないことがある。入力Ｙブロック１０５データは、検出モジュール１２０において受信される。入力画像構成要素Ｃｂブロック１１０とＣｒブロック１１５とは、検出モジュール１２０において受信される前にダウンスケールモジュール１３０、１６０によって、それぞれ、ダウンスケール済みＣｂブロック１３５とダウンスケール済みＣｒブロック１６５とに変換され得る。ダウンスケールモジュール１３０、１６０が別個のもので、一方がＣｂ成分とＣｒ成分との各々に専用のものであるものとして示されているが、他の実施形態では、Ｃｂ成分とＣｒ成分との両方を処理するために単一のダウンスケールモジュールが使用され得る。他の実施形態では、ＣｂとＣｒ成分とは、検出モジュール１２０による受信より前にダウンスケールされないことがある。検出モジュール１２０は、以下でより詳細に説明するように、画像データ中のカラーアーティファクトを検出することと、カラースポットアーティファクトと色収差とを識別することとを行うために、Ｙ１０５と、Ｃｂ１１０と、Ｃｒ１１５とのブロックに対して検出プロセスを行うように構成され得る。例えば、Ｙブロック１０５上での検出の幾つかの態様について、図３Ａ及び図３Ｂを参照しながら説明し、Ｃｒブロック１１０とＣｒブロック１１５との上での検出の幾つかの態様について、図４Ａ及び図４Ｂを参照しながら説明する。幾つかの実施形態では、検出モジュール１２０は、カラーアーティファクトのタイプと位置（どの画素で収差が発生しているか）とを示す画素ごとの補正比率マップを構築することができる。幾つかの実施形態では、補正比率マップ中の値は、各画素において適用されるべき補正のタイプ及び／又は強度を示すことができる。
【００２１】
[0030]色収差検出プロセスは、カラースポットアーティファクトと色収差とが、輝点、輝線、高コントラストエッジ、及び飽和領域の近くでよく生じるという仮説、並びに、色収差が飽和領域の近くでよく生じるという仮説に基づき得る。カラースポットは、例えば、中心色が画素クラスタ中の周囲の領域の色とは異なる画素クラスタであり得る。色収差は、画像中の暗領域と光領域との間の境界線に沿った色のフリンジ（縞模様）又は誤って色をつけられたエッジのように見え得る。
【００２２】
[0031]一実施形態では、検出モジュール１２０は、あらゆる輝点と、輝線と、高コントラストエッジとを含むカラーアーティファクトを検出するためにルーマ成分（Ｙ）データ１０５上で１つ又は複数の対称カーネルを使用することができる。検出モジュール１２０は、これらのカラーアーティファクトの位置を示すカラーアーティファクトマップを構築することができる。検出モジュール１２０はまた、輝度チャネルから飽和マップを推定することができ、カラーアーティファクトマップと飽和マップとを組み合わせるによって予備補正比率マップを構築することができる。検出モジュール１２０は、幾つかの実施形態では、クロマチャネル（Ｃｂ及びＣｒ）に対してグレーチェックとカラースポット検出とを実行することができる。クロマチャネルに対して実行されたグレーチェックとカラースポット検出とからの情報を使用して、検出モジュール１２０は、予備補正比率マップ中の画素のクロマチャネル（Ｃｂ及びＣｒ）を検査し、その画素で補正が必要ないことを示すように非カラー（即ち、黒及び白）画素に対応する補正比率マップ値を変更することによって、非カラー画素を除外するように予備補正比率マップを更新することができる。従って、検出モジュール１２０は、最終補正比率マップを生成することができる。
【００２３】
[0032]ダウンスケール済みＣｂブロック１３５及びダウンスケール済みＣｒブロック１６５ならびに検出モジュール１２０からの補正比率マップは、（本明細書では集合的に「補正モジュール１４０、１７０」と呼ぶことがある）Ｃｂ補正モジュール１４０とＣｒ補正モジュール１７０とにおいて受信され得る。補正モジュール１４０、１７０は、画像中の各画素のクロマ値を補正すべきかどうか、及びどのように補正すべきかを決定するために補正比率マップ中の値を使用することができる。例えば、補正マップでは第１の値（又は値の範囲）は、その画素に対して補正を実行すべきでないことを示すことができ、第２の値（又は値の範囲）は、カラースポット補正を実行すべきであることを示すことができ、第３の値（又は値の範囲）は、色収差補正を実行すべきであることを示すことができる。
【００２４】
[0033]補正モジュール１４０、１７０は、カラーアーティファクトを補正するために方向性メディアンフィルタ処理（directional median filtering）を使用することができ、カラースポットアーティファクトと色収差とのための、適応的に選択される様々なフィルタ処理技法を使用することができる。例えば、図２に示す補正モジュール２６０は、２つの設定を用いてクロマチャネルに対して方向性メディアンフィルタ処理を適用するように構成され、そうするように動作可能であり、ここで、第１の設定は、色収差のための強設定であり得、第２の設定は、カラースポットアーティファクトのための弱設定であり得る。メディアンフィルタ処理は、カラーアーティファクトを補正しながら画像中の所望の色特徴を保つのに好適であり得る。無方向性メディアンフィルタ処理（non-directional median filtering）と比較して、方向性メディアンフィルタ処理は、精密な色特徴（例えば、コーナー及びライン）をより良く保持することが可能であり、低減された計算コストを有する。更に、補正モジュール１４０、１７０は、メディアンフィルタの方向を調整することによって、画像又は画像の部分に適用される補正の強度を制御することができる。補正モジュール１４０、１７０は、ダウンスケールされたＣｂチャネルとＣｒクロマチャネルとの画素ごとの補正済みクロマ値を出力することができる。補正モジュール１４０、１７０が別個のモジュールで、一方がＣｂ成分とＣｒ成分との各々に専用のものであるものとして示されているが、他の実施形態では、例えば、図２の補正モジュール２６０によって示されるように単一の補正モジュールが使用され得る。
【００２５】
[0034]補正済みＣｂクロマ値とＣｒクロマ値とは、検証モジュール１４５、１７５によって受信され得る。検証モジュール１４５、１７５が別個のモジュールで、一方がＣｂ成分とＣｒ成分との各々に専用のものであるものとして示されているが、他の実施形態では、両方のクロマチャネルからのデータを処理するために単一の検証モジュールが使用され得る。検証モジュール１４５、１７５は、カラーアーティファクトの補正が追加のアーティファクト又は不要な非飽和化をもたらさなかったことを検証するために補正済みクロマ値の画素ごとの分析を実行することができ、補正済みクロマ値を指定された距離にクランプすることができる。例えば、補正の後に、方向性メディアンフィルタ処理を実装するクロマ補正が、黒又は白の画素を、それのカラフルな近傍のためにカラフルな画素に変換したかもしれない。そのような追加のカラーアーティファクトをもたらすことを回避するために、検証モジュール１４５、１７５は、各画素のクロマ値に対して画素ごとのクランピングを実行することができる。一例では、検証モジュール１４５、１７５は、Ｃｒ＝Ｃｂ＝１２８であるとき、画素は黒い画素又は白い画素であるので、画素ごとの出力Ｃｂ／Ｃｒ値を１２８と画素の入力値との間の範囲にクランプする。このようにして、クランピングプロセスは、ＭＨＣＡＣが非カラー画素をよりカラフルにする問題事例を回避することができる。
【００２６】
[0035]図示の実施例では、Ｃｂブロック１１０とＣｒブロック１１５とは、色補正を受ける前にダウンスケールモジュール１３０、１６０によって、それぞれダウンスケール済みＣｂブロック１３５とダウンスケール済みＣｒブロック１６５とに変換されている。従って、ダウンスケール済みＣｂブロック１３５とダウンスケール済みＣｒブロック１６５とは、色補正済み画像を構築するための最終補正済みＣｂ成分１５５と最終補正済みＣｒ成分１８５とが出力される前にアップスケールモジュール１５０、１８０によってそれらの元のサイズに変換される。
【００２７】
システム概要
[0036]図２に、適応型カラーアーティファクト補正能力をもつ例示的なシステム２００の概略ブロック図を示す。システム２００は、画像センサー２１５にリンクされたプロセッサ２２０を含む構成要素のセットを有する。作業メモリ２０５、記憶装置（又は「データストア」）２１０、電子表示器２２５、及びメモリ２３０もプロセッサ２２０と通信している。
【００２８】
[0037]幾つかの実装形態では、システム２００は、セルフォン、デジタルカメラ、タブレットコンピュータ、音楽プレーヤ、携帯情報端末などのモバイルコンピュータ機器であり得る。システム２００はまた、画像を撮影するために内部又は外部カメラを使用するデスクトップパーソナルコンピュータ、ビデオ会議局など、より固定の機器であり得る。システム２００はまた、撮像装置と、撮像装置から画像データを受信する別個の処理機器との組合せであり得る。システム２００上で、複数のアプリケーションがユーザにとって利用可能であり得る。これらのアプリケーションは、特に、従来の写真アプリケーションと、静止画像及びビデオの撮影と、適応型色補正アプリケーションとを含み得る。
【００２９】
[0038]画像撮影システム２００は、画像を撮影するための画像センサー２１５を含む。画像センサー２１５は、例えば、電荷結合装置（ＣＣＤ）、相補型金属酸化膜半導体（ＣＭＯＳ）センサーなどであり得る。画像センサー２１５は、撮影済み画像をプロセッサ（又は「画像プロセッサ」）２２０に送信するために、画像プロセッサ２２０に結合され得る。画像プロセッサ２２０は、以下でより詳細に説明するように、高品質の色補正済み画像を出力するために、受信した撮影済み画像に対して様々な動作を実行するように構成され得る。
【００３０】
[0039]プロセッサ２２０は、汎用処理ユニット、又は撮像アプリケーションのために特別に設計されたプロセッサであり得る。図示のように、プロセッサ２２０は、メモリ３３０と作業メモリ２０５とに接続される。図示の実施形態では、メモリ２３０は、画像センサー制御モジュール２３５と、カラーアーティファクト補正モジュール２４０と、撮影制御モジュール２４５と、オペレーティングシステム２５０とを記憶する。これらのモジュールは、様々な画像処理タスクと機器管理タスクとを実行するようにプロセッサを構成する命令を含む。作業メモリ２０５は、メモリ３３０のモジュール中に含まれているプロセッサ命令の作業セットを記憶するためにプロセッサ２２０によって使用され得る。代替的に、作業メモリ２０５はまた、機器２００の動作中に作成された動的データを記憶するためにプロセッサ２２０によって使用され得る。
【００３１】
[0040]上述のように、プロセッサ２２０は、メモリ２３０に記憶された幾つかのモジュールによって構成される。画像センサー制御モジュール２３５は、画像センサー２１５の焦点位置を調整するようにプロセッサ３２０を構成する命令を含む。画像センサー制御モジュール２３５はまた、画像センサー２１５を用いて画像を撮影するようにプロセッサ２２０を構成する命令を含む。従って、プロセッサ２２０は、撮像制御モジュール２３５、画像センサー２１５、フィルタ２６０、及び作業メモリ２０５とともに、カラーアーティファクトについて補正されるべき画像又は画像のシーケンスを撮影するための１つの手段を表す。幾つかの実施形態では、モジュールにおいて説明した機能の全部又は一部は、ハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組合せで実装され得る。
【００３２】
[0041]カラーアーティファクト補正モジュール２４０は、撮影済み画像中のカラーアーティファクトを補正するようにプロセッサ２２０を構成する命令を含み、図示した検出モジュール２５５、補正モジュール２６０、及び検証モジュール２６５などの３つのサブモジュールを含むことができる。例えば、検出モジュール２５５は、画像データ中のカラーアーティファクトの形成及び特性に関する１つ又は複数の仮説に従って画像データを分析することによって補正比率マップを生成することができる。例えば、検出モジュール２５５は、カラーアーティファクトが、カラーバンプを有し得ることと、ハイライト領域又は飽和領域中にある可能性があることと、輝度エッジを有することと、サイズが比較的小さいことと、正当な色特徴と比較して一様性に劣る色を有することとに基づいてカラーアーティファクトを検出するようにプロセッサ２２０を構成する命令を含み得る。更に、検出モジュール２５５は、カラースポットアーティファクトと色収差とを識別するようにプロセッサを構成する命令を含むことができる。例えば、カラースポットアーティファクトと色収差とは、一実施形態では、隣接する特徴に基づいて識別され得る。例えば、カラースポットアーティファクトは、輝点、輝線、高コントラストエッジ、及び飽和領域の近くでよく生じ、一方、色収差は、飽和領域の近くでよく生じる。
【００３３】
[0042]検出モジュール２５５は、以下でより詳細に説明するように、補正比率マップを構築するために、撮影済み画像のルーマチャネルとクロマチャネルとの一方又は両方に検出カーネルを適用することができる。画像中の各画素に対応する補正比率マップ値は、画素のクロマ値に対して実行されるべき補正のタイプと強度とを示すことができる。例えば、補正マップでは第１の値（又は値の範囲）は、その画素に対して補正を実行すべきでないことを示すことができ、第２の値（又は値の範囲）は、カラースポット補正を実行すべきであることを示すことができ、第３の値（又は値の範囲）は、色収差補正を実行すべきであることを示すことができる。
【００３４】
[0043]幾つかの実施形態では、検出モジュール２５５は、補正比率マップを生成することに対する２段階手法を実装することができる。第１の段階では、検出モジュール２５５は、ＹＣｂＣｒ画像のルーマチャネルに対して２つの検出手段を実行することができる。１つの検出手段は、輝点及び輝エッジ検出を実行することができ、一方、他方の手段は、飽和検出を実行することができる。これは、カラーアーティファクトの存在及び位置ならびに色補正の必要とされるタイプと強度とを示す画素ごとの補正比率マップを構築することができる。第１の段階では、検出モジュール２５５は、画像のクロマチャネルに対して２つの検出手段を実行することによって補正比率マップを更新することができ、ここで、１つの検出手段は、グレーチェックを実行し、一方、他方の手段は、カラースポット検出を実行する。
【００３５】
[0044]補正モジュール２６０は、カラースポットアーティファクトと色収差の各々に１つずつの２つの異なる設定を用いてクロマチャネルに対して方向性メディアンフィルタ処理を適用することができる。補正モジュール２６０は、補正比率マップ中の画素に対応するエントリによって決定される異なる設定と異なる強度とを用いて各画素（例えば、画素のクロマ値）を補正するために方向性メディアンフィルタ処理を適応的に適用することができる。メディアンフィルタ処理は、カラーアーティファクトを補正しながら画像中の所望の色特徴を保つのに好適であり、方向性メディアンフィルタ処理は、精密な色特徴（例えば、コーナー及びライン）をより良く保持することが可能であり、無方向性メディアンフィルタ処理と比較して計算コストが低くなる。更に、補正モジュール２６０は、メディアンフィルタの方向を調整することによって、画像又は画像の部分に適用される補正の強度を制御することができるので、方向性メディアンフィルタ処理は、有利である。
【００３６】
[0045]幾つかの実施形態では、各クロマチャネル（Ｃｂ及びＣｒ）中の画素ごとに、補正モジュール２６０は、４つの中央値を取得するために、４つの方向の各々に沿ってメディアンフィルタを適用することができる。中央値は、元のクロマ値と比較され得、適切な補正済みクロマ値は、補正比率マップによって示される保守的な又は積極的な中央値に基づき得る。保守的な中央値は、画素の元の入力クロマ値に最も近い値になり得、積極的な中央値は、画素の元の入力クロマ値から最も離れた値になり得る。
【００３７】
[0046]検証モジュール２６５は、追加のアーティファクト又は非飽和化を生じることなしに、カラーアーティファクトが補正されることを保証するために、補正済みクロマ値Ｃcorrectedを分析することができる。方向性メディアンフィルタ処理は、概して、正当な色特徴を保持するようにうまく動作するが、幾つかの事例では、幾つかの追加のカラーアーティファクトを生じる可能性がある。例えば、補正の後に、方向性メディアンフィルタ処理が、黒又は白の画素を、それのカラフルな近傍のためにカラフルな画素に変換したかもしれない。そのような追加のカラーアーティファクトをもたらすことを回避するために、検証モジュール２６５は、クランピングを実行することができる。
【００３８】
[0047]撮影制御モジュール２４５は、システム２００の全体的な撮影機能を制御する命令を含み得る。例えば、一実施形態では、撮影制御モジュール２４５は、画像センサー２１５を使用してターゲット画像シーンの画像データを撮影するようにプロセッサ２２０を構成するためのサブルーチンを呼び出す命令を含み得る。撮影制御モジュール２４５は、次いで、撮影済み画像データ中のカラーアーティファクトを補正するためにカラーアーティファクト補正モジュール２４０を呼び出し得る。撮影制御モジュール２４５はまた、図示していない他の処理モジュール、例えば、検出された色収差を最小化するためのレンズ制御モジュールを呼び出し得る。
【００３９】
[0048]図２に示す実施形態では、オペレーティングシステムモジュール２５０は、システム２００のメモリと処理リソースとを管理するようにプロセッサ２２０を構成及び／−又は制御することができる。例えば、オペレーティングシステムモジュール２５５は、電子表示器２２５、記憶装置２１０、又は画像センサー２１５などのハードウェアリソースを管理するための機器ドライバを含み得る。従って、幾つかの実施形態では、上記で説明した画像処理モジュール中に含まれている命令は、これらのハードウェアリソースと直接対話せず、代わりに、オペレーティングシステム構成要素２５０中にある標準サブルーチン又はＡＰＩを通して対話し得る。オペレーティングシステム２５０内の命令は、次いで、これらのハードウェア構成要素と直接対話し得る。
【００４０】
[0049]プロセッサ２２０は、表示器２２５を制御して撮影済み画像をユーザに表示するように更に構成され得る。表示器２２５は、画像センサー２１５を含む撮像機器の外部にあり得、又は撮像機器の一部であり得る。表示器２２５はまた、画像を撮影する前にユーザのためのビューファインダーを提供するように構成され得、又はメモリに記憶されているか若しくはユーザによって最近撮影された撮影済み画像を表示するように構成され得る。表示器２２５は、ＬＣＤ又はＬＥＤスクリーンを備え得、タッチセンシティブ技術を実装し得る。
【００４１】
[0050]プロセッサ２２０は、記憶モジュール２１０に、データ、例えば、撮影済み画像を表すデータ、補正比率マップ値、補正済みクロマ値を書き込み得る。記憶モジュール２１０は、従来のディスク機器として図によって表されているが、記憶モジュール２１０が任意の記憶装置メディア機器として構成され得ることを当業者ならば理解されよう。例えば、記憶モジュール２１０は、フロッピー（登録商標）ディスクドライブ、ハードディスクドライブ、光ディスクドライブ又は光磁気ディスクドライブなどのディスクドライブ、若しくはフラッシュメモリ、ＲＡＭ、ＲＯＭ、及び／又はＥＥＰＲＯＭ（登録商標）などの固体メモリを含み得る。記憶モジュール２１０はまた、複数のメモリユニットを含むことができ、メモリユニットのうちのいずれか１つが、撮像装置２００の内部に構成され得、又は画像撮影システム２００の外部にあり得る。例えば、記憶モジュール２１０は、画像撮影システム２００内に記憶されたシステムプログラム命令を含んでいるＲＯＭメモリを含み得る。記憶モジュール２１０はまた、カメラから取り外され得る、撮影済み画像を記憶するように構成されたメモリカード又は高速メモリを含み得る。
【００４２】
[0051]図２は、幾つかの別個の構成要素、例えば、プロセッサ２２０と画像センサー２１５とメモリ２０５とを有するシステムの一例を示すが、これらの別個の構成要素は、特定の設計目標を達成するために様々な方法で組み合わされ得ることを当業者ならば理解されよう。例えば、代替実施形態では、メモリ構成要素は、コストを節約し性能を改善するために、プロセッサ構成要素と組み合わされ得る。
【００４３】
[0052]更に、図２に、２つのメモリ構成要素、幾つかのモジュールを備えるメモリ構成要素２３０と作業メモリを備える別個のメモリ２０５とを示すが、そのようなシステムが異なるメモリアーキテクチャを利用する他の実施形態を有し得ることを当業者ならば認識されよう。例えば、ある設計は、メモリ２３０中に含まれているモジュールを実装するプロセッサ命令の記憶のためのＲＯＭ又はスタティックＲＡＭメモリを利用し得る。代替的に、プロセッサ命令は、システム２００に組み込まれるか又は外部機器ポートを介して接続されたディスク記憶装置機器からシステム開始時に読み取られ得る。プロセッサ命令は、次いで、プロセッサによる実行を可能にするためにＲＡＭにロードされ得る。例えば、作業メモリ２０５はＲＡＭメモリであり得、命令は、プロセッサ２２０による実行の前に作業メモリ２０５にロードされる。
【００４４】
補正マップ構成の概要
[0053]図３Ａに、画像のルーマ成分中のカラーアーティファクトを検出するためのカラーアーティファクト検出カーネル３０５、３１０、３１５の複数の実施形態を示し、図３Ｂに、図３Ａのカーネル３０５、３１０、３１５を実装することができる補正マップ回路３００の一実施形態を示す。入力画像データで、又は画像データのＹ成分で図示の対称カーネル３０５、３１０、３１５を畳み込むと、画像データ中のカラーアーティファクトの位置又は潜在的な位置を示すカラーアーティファクトマップを与えることができる。入力画像データでカーネル３０５を適用すると、２×２画素からなるブロックごとの単一の「スーパー画素」値を決定することによるダウンサンプリングを実行することができる。スーパー画素値は、例えば、２×２ブロック中の画素の各々の値の集計又は平均であり得る。出力ブロックは、図示の例では、元のサイズの１／４になり得る。画像データでカーネル３１０を畳み込むと、スーパー画素値が画素の局所近傍よりも明るいかどうかに関する指示を与えることができ、画像データでカーネル３１５を畳み込むと、スーパー画素値が画素の遠方よりも明るいかどうかに関する指示を与えることができる。
【００４５】
[0054]図３Ｂに示すように、補正マップ回路３００。本明細書で使用する、「回路」という用語は、使用された広義の用語であり、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せで実装され得る機能（例えば、補正マップ回路に関して、補正マップ更新回路及び適応型カラーアーティファクト補正回路）を指す。補正マップ回路３００は、第１の閾値Ｔ１と、画像データのルーマ成分Ｙと、第２の閾値Ｔ２とを含む入力３０２を有することができる。ルーマ成分は、図３Ａに示すカーネル３０５、３１０、３１５の各々で畳み込まれ得る。カーネル３０５、３１０、３１５の各々からの出力データ中の所与の画素の値は、各カーネル値に、対応する入力ルーマ成分画素値を乗算することによって計算され得る。例えば、一実施形態では、カーネル３０５からの出力データは、以下の式（１）に従って計算され得、カーネル３１０からの出力データは、式（２）に従って計算され得、カーネル３１５からの出力データは、式（３）に従って計算され得る。
【数１】
0006469678.tif 000002
【数２】
0006469678.tif 000003
【数３】
0006469678.tif 000004
【数４】
0006469678.tif 000005
【００４６】
相対的差異計算器３２０は、幾つかの実施形態では、以下の式（４）及び（５）に従って２つの相対的差異出力を与えることができる。
【数５】
0006469678.tif 000006
【数６】
0006469678.tif 000007
【００４７】
相対差異出力の最大値は、最大値計算器３２５によって決定され、Ｎ×Ｎブロック中最大値計算器３３０に与えられ得、Ｎ×Ｎブロック中最大値計算器３３０は、Ｎ×Ｎブロックの近傍中の最大値を探索し、出力することができる。図示の例では、Ｎ×Ｎブロック計算器３３０は、３×３ブロックの近傍内で探索することができるが、カーネル３０５、３１０、３１５は、他の実施形態では、他のサイズの画素近傍のために設計され得る。従って、入力画像データに対して動作する相対差異計算器３２０と最大値計算器３２５とは、Ｎ×Ｎブロック計算器３３０が３×３の近傍中の最大値を探索することができる（入力画像データと比較して１／４のサイズになり得る）相対差異マップを生成する。Ｎ×Ｎブロック中最大値計算器３３０ｃａｎの出力は、第１の閾値Ｔ１との比較のための比較モジュール３３５に出力される。
【００４８】
[0056]入力ルーマ成分は、ブロック中最大値計算器３４０に与えられ得、ブロック中最大値計算器３４０は、Ｎ×Ｎブロックの近傍中の最大値を探索し、出力する。ブロック中最大値計算器３４０の出力は、第２の閾値Ｔ２との比較のための比較モジュール３５０において受信され得る。比較モジュール３３５と比較モジュール３５０との結果は、組合せモジュール３５５において組み合わされ得、出力Ｒ３６０が、補正比率マップ又は予備補正比率マップとして与えられ得る。出力Ｒ３６０は、入力画像データ中の画素ごとに１つの値を含むことができる。
【００４９】
[0057]図４Ａに、画像のクロマ成分中のカラーアーティファクトを検出するために使用され得るカーネル４０５、４１０の２つの例を示す。カーネル４０５は、位置に関して強度の２次導関数を計算することによって閾値を上回る勾配又は強度変化の領域を強調することができるラプラシアンコンボリューションカーネルの一例であり、従って、エッジ検出のために使用され得る。カーネル４０５は、カラースポットアーティファクトの位置を検出するために使用され得る。カーネル４１０は、中心画素が飽和領域の近くに位置するのかどうかを確認する飽和検出を実行するために使用され得る。カーネル４１０は、画像データで畳み込まれると、比較的大きいカラースポットの存在を示すために、中心画素と画素の周囲の近傍及び遠方との間の計算差異を与えることができる。
【００５０】
[0058]図４Ｂに、図４Ａのカーネル４０５、４１０を実装することができる補正マップ更新回路４００の実施形態を示す。入力画像データで、又は画像データのＣｂ成分及びＣｒ成分で図示のカーネル４０５、４１０を畳み込むと、非カラー画素を除外することによって予備補正比率マップを改善する値を与えることができる。補正マップ更新回路４００から出力された補正比率マップは、どの画素を色補正すべきかを決定するために使用され得る。
【００５１】
[0059]補正マップ更新回路４００は、画像データのクロマ成分Ｃｂ及びＣｒと、第３の閾値Ｔ３と、第４の閾値Ｔ４と、予備補正比率マップＲとを含む入力を有することができる。図４Ｂに示すように、補正マップ更新回路４００は、入力として閾値Ｔ３を受信し、同じく、入力としてＣｂ成分とＣｒ成分とを受信するグレーチェックモジュール４１５を含む。グレーチェックモジュール４１５は、非カラー画素の位置を決定し、補正比率マップから非カラー画素を除外するのを支援するために使用され得る情報を決定するために、入力Ｃｒ及びＣｂ画素値を閾値と比較するように構成される。より詳細には、幾つかの実施形態では、グレーチェックモジュール４１５は、例えば、以下の式（６）に示すように、Ｃｒ成分及びＣｂ成分の対応する画素値を閾値Ｔ３と比較するように構成される。これは、ＣＲ成分及びＣｂ成分中の画素の各々について実行され得る。グレーチェックモジュール４１５の出力は、グレーチェックモジュール４１５からの出力に基づいて、補正比率マップ中の対応する値を設定するか、又は補正割当てマップ中の対応する値を設定（又は更新）しないことを示すために、補正比率マップアップデータ４３０に与えられ得る。
【００５２】
[0060]Ｃｒ成分とＣｂ成分との両方は、色収差、例えば、カラースポットの位置を決定するために処理され得る。図４Ｂに示す実施形態では、図４Ａのカーネル４０５、４１０の各々は、カラースポットの位置を決定するために、カーネル４０５及びカーネル４１０で畳み込まれる。畳み込みの各々は、Ｃｒ成分及びＣｂ成分の画素値に空間的に対応する値を含む、得られたデータセットを生じ、値は、最大絶対値計算器４２０への入力である。カーネル４０５、４１０の各々からの出力データ中の所与の画素の値は、各カーネル値に、対応する入力クロマ成分画素値を乗算することによって計算され得る。カーネル４０５、４１０からの出力は、画素の４つの入力畳み込み済みＣｒ及びＣｂ値のうちの最大値を決定するために絶対値中最大値計算器４２０に与えられ得る。この最大値は、次いで、第４の閾値Ｔ４との比較のための比較モジュール４２５に入力され得る。比較モジュール４２５は、最大値が閾値よりも小さいかどうかを決定するために、最大値を閾値Ｔ４と比較することができ、補正比率マップアップデータ４３０にこのデータを与えることができる。
【００５３】
[0061]グレーチェックモジュール４１５と比較モジュール４２５とからの出力は、予備補正比率マップＲの値を更新するために補正比率マップアップデータ４３０に与えられ得る。例えば、一実施形態では、式（６）によってモデル化されるグレーチェックに従って、対応する画素のＣｒ値とＣｂ値との両方と１２８との間の差異の絶対値が第３の閾値Ｔ３よりも小さい場合、その画素において補正を実行すべきでないことを示す０に画素の補正比率マップ値が設定され得る。
【数７】
0006469678.tif 000008
【００５４】
式（７）に従って、画素の予備補正比率マップ値Ｒが１に等しい場合、及び比較モジュール４２５の出力Ｃ’が、カラースポット検出によって示される第４の閾値Ｔｈ４よりも小さい場合、画素の補正比率マップ値は０に設定され得る。
【数８】
0006469678.tif 000009
【００５５】
[0062]幾つかの実施形態では、Ｔｈ３は、１５に等しく設定され得、Ｔｈ４は、１２に等しく設定され得る。別の実施形態では、Ｔｈ３は、５に等しく設定され得、Ｔｈ４は、１０に等しく設定され得る。グレーチェック及びカラースポット検出を実行する間又はその後に、検出モジュール２５５は、最終補正比率マップを生成し、それを出力として与えるために、予備補正比率マップ値Ｒを更新することができる。
【００５６】
適応型カラーアーティファクト補正の概要
[0063]図５Ａに、方向性メディアンフィルタ５０５、５１０、５１５、５２０の一実施形態を示す。図５Ｂに、図５Ａのフィルタ５０５、５１０、５１５、５２０を実装することができる適応型カラーアーティファクト補正回路５００の一実施形態を示す。図示のように、フィルタは、垂直５×３メディアンフィルタ５０５と、水平５×３メディアンフィルタ５１０と、垂直フィルタ５０５から約４５度でオフセットされた第１の対角５×３メディアンフィルタ５１５と、第１の対角フィルタ５１５に対して直角である第２の対角５×３メディアンフィルタ５２０とを含む。図５Ａの４つの５×３方向性メディアンフィルタ５０５、５１０、５１５、５２０は、ＭＨＣＡＣ技法の一実施形態を示し、他の実施形態では、他の次元及び方向のメディアンフィルタが使用され得る。図５Ｃに、図５Ａの方向性メディアンフィルタの適用例によって５×５ブロック中で影響を及ぼされ得る例示的な画素を示す。対角メディアンフィルタ５１５及び５２０の適用例では、５×５ブロック境界の外側の画素からの値が使用され得る。一実施形態では、最も近い境界の画素が、畳み込みのための値を与えるのに必要な範囲まで拡張され得る。別の実施形態では、ブロックエッジを越えたところからの値を必要とすることになる出力中央値中のあらゆる画素がスキップされ得る。他の例では他のエッジ処理技法が使用され得る。
【００５７】
[0064]補正回路５００は、補正比率マップ値Ｒと、入力画像データ中の画素ごとのクロマ値Ｃとを備え得る。幾つかの実施形態では、補正回路５００は、入力画像データのＣｂ成分とＣｒ成分とからのクロマ値に対して別個に動作することができる。画素ごとの入力クロマ値は、垂直５０５、水平５１０、第１の対角５１５、及び第２の対角５２０のメディアンフィルタの各々で畳み込まれ、それぞれ、出力中央値Ｃ1、Ｃ2、Ｃ3、及びＣ4を与え得る。幾つかの実施形態では、Ｃ1、Ｃ2、Ｃ3及びＣ4は、最も小さいものから最も高いものへの昇順でソートされ中央値を示し得る。幾つかの実施形態では、以下に示すそれぞれ式（８）及び（９）に従って、積極的な中央値と保守的な中央値とが計算され得る。
【数９】
0006469678.tif 000010
【数１０】
0006469678.tif 000011
【００５８】
積極的な中央値は、４つの中央値の中で（色の用語では）飽和度が最も低い値になり得、一方、保守的な中央値は、４つの中央値の中で入力値に最も近い値になり得る。色収差に対する強い補正を与えるために積極的な中央値が使用され得、カラースポットアーティファクトに対する弱い補正を与えるために保守的な中央値が使用され得る。
【００５９】
[0065]入力クロマ値Ｃ0と、出力値Ｃ1、Ｃ2、Ｃ3、及びＣ4と、補正比率マップ値Ｒとが適応型選択モジュール５２５に入力され得る。画素に対応する補正比率マップが、カラーアーティファクトに属するものとしてこの画素が検出されなかったことを示すＲ＝＝０である場合、画素の補正済みクロマ値は、Ｃcorrected＝Ｃ0に設定され得、ここで、Ｃ0は、現在の画素の入力クロマ値又は現在のクロマ値である。画素の補正比率マップ値が、０≦Ｒ≦１の範囲にある場合、画素は、カラースポット又は細いラインなどのカラースポットアーティファクトに近接しているか、又はその一部であるものとして検出され、画素の補正されたクロマ値Ｃcorrectedは、次のように、Ｃ1、Ｃ2、Ｃ3、及びＣ4から保守的な（即ち、出力値と入力値Ｃ0との間の差異が最も小さい）中央値を選択し、入力クロマ値Ｃ0でそれを重み付けすることによって決定され得る。
【数１１】
0006469678.tif 000012
【００６０】
周りの４つ又は５つの画素内の画素が、一実施形態では、近接していると見なされ得、０≦Ｒ≦１の補正比率マップ値の範囲内に入ることができる。
【００６１】
[0066]画素に対応する補正比率マップが、飽和領域及びあり得る色収差の近くあるものとして画素が検出されたことを示すＲ＝＝２である場合、適応型選択モジュール５２５は、次のように積極的な（即ち、入力値Ｃ0と比較して飽和度が最も低い）中央値を選択することによって画素の補正済みクロマ値Ｃcorrectedを取得することができる。
【数１２】
0006469678.tif 000013
【００６２】
[0067]メディアンフィルタ処理の積極的な方向は、しばしば、保守的な方向に対して直角であるので、適応型選択モジュール５２５は、最初に、得られたクロマ値Ｃ1、Ｃ2、Ｃ3、及びＣ4のうちのどれが現在値Ｃ0と最も小さい差異を有するのかを決定することによって保守的な方向を探索することができる。積極的な補正値は、得られたクロマ値Ｃ1、Ｃ2、Ｃ3、及びＣ4のうちのどれが保守的な方向と反対方向の、即ち、保守的な方向に対して直角であるメディアンフィルタから生じるのかを決定すること、又は得られたクロマ値Ｃ1、Ｃ2、Ｃ3、及びＣ4のうちのどれが現在値Ｃ0と最も大きい差異を有するのかを決定することのいずれかによって決定され得る。
【００６３】
例示的な適応型カラーアーティファクト補正プロセスの概要
[0068]図６に、適応型カラーアーティファクト補正プロセス６００の一実施形態を示す。図１、図２、図３Ｂ、図４Ｂ、及び図５Ｂのシステム及び構成要素のコンテキストで説明するが、プロセス６００は、適応型色補正能力を有するいかなるシステム上にも実装され得る。
【００６４】
[0069]最初に、ブロック６０５において、画像システム２００のカラーアーティファクト補正器２４０が、例えば、画像センサー２１５から画像データを受信する。他の実施形態では、撮像機器とは別個のコンピュータ機器中のモジュール又はプロセッサが、ポスト撮影処理のために画像データを受信し得る。
【００６５】
[0070]ブロック６１０において、検出モジュール２５５は、画像データ中のカラーアーティファクトの形成及び特性に関する１つ又は複数の仮説に従って画像データを分析することによって補正比率マップを生成する。例えば、検出モジュール２５５は、カラーアーティファクトが、一般に、カラーバンプを有し得ることと、ハイライト領域又は飽和領域中にあることと、輝度エッジを有することと、サイズが比較的小さいことと、正当な色特徴と比較して一様性に劣る色を有することとの仮定のうちの１つ又は複数に基づいてカラーアーティファクトを検出し得る。更に、検出モジュール２５５は、カラースポットアーティファクトと色収差とのカラーアーティファクトの２つの分類を識別することができる。この識別することは、カラースポットアーティファクトが、輝点、輝線、高コントラストエッジ、及び飽和領域の近くでよく生じるという仮説、ならびに、色収差が飽和領域の近くでよく生じるという仮説に基づき得る。
【００６６】
[0071]上記で説明したように、カラーアーティファクト検出の一実施形態は、画像データ中のルーマ（Ｙ）成分又は輝度成分から補正比率マップを構築することと、画像のクロマ（Ｃｂ及びＣｒ）チャネルを使用して補正比率マップを補正することとの２段階プロセスを伴うことができる。検出モジュール２５５は、輝点及び輝エッジを検出し、飽和チェックを実行するためにルーマ成分にフィルタを適用することができ、更に、幾つかの実施形態では、ルーマ成分から飽和マップを推定することができる。これは、カラーアーティファクトの存在及び位置ならびに色補正の必要とされる強度を示す画素ごとの補正比率マップの予備値を与えることができる。例えば、飽和チェック及び輝点検出が、以下の式（１２）に従って実行され得る。
【数１３】
0006469678.tif 000014
【００６７】
一実施形態では、Ｔ１は、１０に等しく設定され得、Ｔ２は、２４０に等しく設定され得る。
【００６８】
[0072]検出モジュール２５５は、次いで、グレーチェックを実行し、カラースポット検出を実行するために画像のクロマチャネルにフィルタを適用することができる。これは、予備補正比率マップ中のあり得る非カラー画素に関する情報を与えることができる。予備補正比率マップの画素値は、例えば、間違って含まれたあらゆる非カラー画素を除外するためにクロマチャネルの分析を使用して更新され得る。幾つかの実施形態では、グレーチェックは、上記の式（６）を使用して実行され得、カラースポット検出は、上記の式（７）に従って実行され得る。グレーチェック及びカラースポット検出を実行する間又はその後に、検出モジュール２５５は、最終補正比率マップを生成するために予備補正比率マップ値Ｒを更新することができる。
【００６９】
[0073]カラーアーティファクト検出プロセスの別の実施形態では、検出モジュール２５５は、式１３）
【数１４】
0006469678.tif 000015
【００７０】
に従って輝点／輝線と高コントラストエッジとを検出するために、輝度チャネル（Ｙ）に異なるスケールをもつ２つの対称検出カーネルを適用することができ、式中、Ｙ’は、輝度チャネルに２つのカーネルを適用することの最大応答によって取得される、即ち、Ｙ’＝ｍａｘ（Ｙ＊Ｈ１，Ｙ＊Ｈ２）。これは、画像中のカラーアーティファクトの位置を示すカラーアーティファクトマップＲ１の推定値を与えることができる。飽和マップＲ２は、輝度チャネルＹから推定され得、
【数１５】
0006469678.tif 000016
【００７１】
予備補正比率マップＲ１２は、式（１５）
【数１６】
0006469678.tif 000017
【００７２】
に従ってカラーアーティファクトマップＲ１及び飽和マップＲ２を何らかの膨張と組み合わせることによって取得され得る。
【００７３】
[0074]予備補正比率マップＲ１２は、１つ又は複数の非カラー（即ち、黒、白、グレースケール）画素、従って、色補正を必要としない画素を含み得る。後の補正の計算レイテンシを低減するために、これらの非カラー画素は、それらのクロマチャネル（Ｃｂ及びＣｒ）を検査することによって、及びクロマ補正を必要としないことを示すように非カラー画素に関連する補正比率マップ中のエントリを変更することによって後続の色補正から除外され得る。このようにして、式（１６）
【数１７】
0006469678.tif 000018
【００７４】
に従って最終補正比率マップＲを取得することができる。
【００７５】
[0075]補正比率マップを生成した後に、プロセス６００は、ブロック６１５に遷移して、カラースポットアーティファクトと色収差とのために適応的に選択されたフィルタ処理を使用してカラーアーティファクトを補正する。例えば、補正モジュール２６０は、それぞれカラースポットアーティファクトと色収差とのための２つの異なる設定を用いてクロマチャネルに対して方向性メディアンフィルタ処理を適用することができる。カラーアーティファクトの検出中に生成された補正比率マップに従って、方向性メディアンフィルタ処理は、補正比率マップ中の画素に対応するエントリによって決定される異なる設定と異なる強度とを用いて各画素（例えば、画素のクロマ値）を補正する。
【００７６】
[0076]一実施形態では、補正モジュール２６０は、その各々が５×３メディアンフィルタである４つの方向で方向性メディアンフィルタ処理を使用することができる。メディアンフィルタ処理は、カラーアーティファクトを補正しながら画像中の所望の色特徴を保つのに好適である。無方向性メディアンフィルタ処理（５×５）と比較して、５×３方向性メディアンフィルタ処理は、精密な色特徴（例えば、コーナー及びライン）をより良く保持することが可能であり、低減された計算コストを有する。更に、補正モジュール２６０は、５×３メディアンフィルタの方向を調整することによって、画像又は画像の部分に適用される補正の強度を制御することができる。
【００７７】
[0077]幾つかの実施形態では、各クロマチャネル（Ｃｂ及びＣｒ）中の画素ごとに、補正モジュール２６０は、４つの方向の各々に沿って５×３メディアンフィルタを適用し、４つの中央値を取得することができる。
【数１８】
0006469678.tif 000019
【００７８】
[0078]画素に対応する補正比率マップが、カラーアーティファクトに属するものとしてこの画素が検出されなかったことを示すＲ＝＝０であるとき、画素の補正済みクロマ値は、Ｃcorrected＝Ｃ0に設定され得、ここで、Ｃ0は、現在の画素の入力クロマ値又は現在のクロマ値である。画素の補正比率マップが、カラースポット又は細いラインなどのカラースポットアーティファクトに近接しているものとしてこの画素が検出されたことを示す０＜Ｒ≦１の範囲に入るとき、補正モジュール２６０は、上記の式（９）に従って、又は他の実施形態では以下に従って、Ｃ1、Ｃ2、Ｃ3、及びＣ4から保守的な（即ち、現在の値Ｃ0との差異が最も小さい）中央値を選択し、幾つかの実施形態では、現在のクロマ値Ｃ0でそれを重み付けすることによって画素の補正済みクロマ値Ｃcorrectedを取得することができる。
【数１９】
0006469678.tif 000020
【００７９】
画素に対応する補正比率マップが、飽和領域及びあり得る色収差の近くあるものとして画素が検出されたことを示すＲ＝＝２であるとき、補正モジュール２６０は、上記の式（１０）に従って、積極的な（非飽和された）中央値を選択することによって画素の補正済みクロマ値Ｃcorrectedを取得することができる。
【００８０】
[0079]メディアンフィルタ処理の積極的な方向は、しばしば、保守的な方向に対して直角であるので、補正モジュール２６０は、最初に、得られたクロマ値Ｃ1、Ｃ2、Ｃ3、及びＣ4のうちのどれが現在値Ｃ0と最も小さい差異を有するのかを決定することによって保守的な方向を探索することができる。積極的な補正値は、得られたクロマ値Ｃ1、Ｃ2、Ｃ3、及びＣ4のうちのどれが保守的な方向と反対方向の、即ち、保守的な方向に対して直角であるメディアンフィルタから生じるのかを決定すること、又は得られたクロマ値Ｃ1、Ｃ2、Ｃ3、及びＣ4のうちのどれが現在値Ｃ0と最も大きい差異を有するのかを決定することのいずれかによって決定され得る。
【００８１】
[0080]ブロック６２０において、検証モジュール２６５は、追加のアーティファクト又は非飽和化を生じることなしに、カラーアーティファクトが補正されることを保証するために、補正済みクロマ値Ｃcorrectedを分析することができる。例えば、方向性メディアンフィルタ処理が、黒又は白の画素を、それのカラフルな近傍のためにカラフルな画素に変換するなど、幾つかの追加のカラーアーティファクトを生じ得る可能性がある。そのような追加のカラーアーティファクトをもたらすことを回避するために、検証モジュール２６５は、最終出力値を制限する「クランピング」動作を実行することができる。幾つかの実施形態では、最終出力クロマ値は、次のように取得され得る。
【数２０】
0006469678.tif 000021
【００８２】
[0081]図示されていないが、プロセス６００の幾つかの実施形態は、最終出力Ｃｂ／Ｃｒ値を取得するために検証ステップから出力されたＣｂ／Ｃｒ値と入力Ｃｂ／Ｃｒ値との間で何らかの補間を実行することができる。このようにして、プロセス６００は、更に、補間重みを制御することによって、カラーアーティファクト補正強度を制御することができる。
【００８３】
[0082]ブロック６２５において、カラーアーティファクト補正器２４０は、記憶又は表示などのために補正された画像データを出力することができる。
【００８４】
システムの実施及び用語法
[0083]本明細書で開示される実装形態は、１つ又は複数の画像センサーを有する電子機器を用いて色補正された画像を生成するためのシステム、方法及び装置を提供する。これらの実施形態は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得ることを当業者は認識されよう。
【００８５】
[0084]幾つかの実施形態では、上で説明した回路、プロセス、及びシステムは、ワイヤレス通信機器内で利用され得る。ワイヤレス通信機器は、他の電子機器とワイヤレス通信するために使用される一種の電子機器であり得る。ワイヤレス通信機器の例としては、セルラー電話、スマートフォン、携帯情報端末、ｅリーダー、ゲーミングシステム、音楽プレーヤ、ネットブック、ワイヤレスモデム、ラップトップコンピュータ、タブレット機器などがある。
【００８６】
[0085]ワイヤレス通信機器は、１つ又は複数の画像センサーと、２つ以上の画像信号プロセッサと、上記で説明したＣＮＲプロセスを実行するための命令又はモジュールを含むメモリとを含み得る。本明細書で言及するメモリは、１つのメモリ構成要素であるか、２つ以上のメモリ構成要素であるか、あるいは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＣＤ−ＲＯＭ又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置機器、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備え得る。機器はまた、データと、メモリから命令及び／又はデータをロードする１つ又は複数のプロセッサと、１つ又は複数の通信インターフェースと、１つ又は複数の入力機器と、表示器機器などの１つ又は複数の出力機器と、電源／電力インターフェースとを有し得る。本明細書で言及するプロセッサは、規定されていない限り単一のプロセッサ構成要素又は複数のプロセッサ構成要素であり得、１つの構成要素上に構成された複数のプロセッサでもあり得る。ワイヤレス通信機器は、更に、送信器と受信器とを含み得る。送信器及び受信器は、一緒にトランシーバと呼ばれることがある。トランシーバは、ワイヤレス信号を送信し、及び／又は受信するために１つ又は複数のアンテナに結合され得る。
【００８７】
[0086]ワイヤレス通信機器は、別の電子機器（例えば、基地局）にワイヤレスに接続し得る。ワイヤレス通信機器は、代替的に、モバイル機器、移動局、加入者局、ユーザ機器（ＵＥ）、リモート局、アクセス端末、モバイル端末、端末、ユーザ端末、加入者ユニットなどと呼ばれることがある。ワイヤレス通信機器の例には、ラップトップ又はデスクトップコンピュータ、セルラーフォン、スマートフォン、ワイヤレスモデム、ｅリーダー、タブレット機器、ゲーミングシステムなどがある。ワイヤレス通信機器は、第３世代パートナーシッププロジェクト（３ＧＰＰ：3rd Generation Partnership Project）などの１つ又は複数の業界標準に従って動作し得る。従って、「ワイヤレス通信機器」という一般的な用語は、業界標準に応じて異なる名称で説明されるワイヤレス通信機器（例えば、アクセス端末、ユーザ機器（ＵＥ）、リモート端末など）を含み得る。
【００８８】
[0087]本明細書で説明した機能は、１つ又は複数の命令としてプロセッサ可読媒体又はコンピュータ可読媒体上に記憶され得る。「コンピュータ可読媒体」という用語は、コンピュータ又はプロセッサによってアクセスされ得る任意の利用可能な媒体を指す。限定ではなく例として、そのような媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＣＤ−ＲＯＭ又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置機器、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備え得る。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピーディスク（disk）及びＢｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。コンピュータ可読媒体は有形で非一時的であり得ることに留意されたい。「コンピュータプログラム製品」という用語は、コンピューティング機器又はプロセッサによって実行、処理又は算出され得るコード又は命令（例えば、「プログラム」）と組み合わされたコンピューティング機器又はプロセッサを指す。本明細書で使用する「コード」という用語は、コンピューティング機器又はプロセッサによって実行可能であるソフトウェア、命令、コード又はデータを指すことがある。
【００８９】
[0088]ソフトウェア又は命令はまた、伝送媒体を介して送信され得る。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、伝送媒体の定義に含まれる。
【００９０】
[0089]本明細書で開示された方法は、記載された方法を実現するための１つ又は複数のステップ又はアクションを備える。本方法のステップ及び／又はアクションは、特許請求の範囲を逸脱することなく互いに交換され得る。言い換えれば、説明した方法の適切な動作のためにステップ又はアクションの特定の順序が必要とされない限り、特定のステップ及び／又はアクションの順序及び／又は使用は、特許請求の範囲を逸脱することなく修正され得る。
【００９１】
[0090]「結合する」、「結合すること」、「結合された」、又は本明細書で使用する結合という単語の他のバリエーションは、間接接続又は直接接続のいずれかを示すことができることに留意されたい。例えば、第１の構成要素が、第２の構成要素に「結合される」場合に、第１の構成要素は、第２の構成要素に間接的に接続されるか、又は第２の構成要素に直接に接続されるかのいずれかとされ得る。本明細書で使用されるときに、「複数」という用語は、２つ以上を表す。例えば、複数の構成要素は、２つ以上の構成要素を示す。
【００９２】
[0091]「決定すること」という用語は、様々なアクションを包含し、従って、「決定すること」は、計算すること、算出すること、処理すること、導出すること、調査すること、ルックアップすること（例えば、テーブル、データベース、又は別のデータ構造内でルックアップすること）、確認すること、及び類似物を含むことができる。また、「決定すること」は、受け取ること（例えば、情報を受け取ること）、アクセスすること（例えば、メモリ内のデータにアクセスすること）、及び類似物を含むことができる。また、「決定すること」は、解決すること、選択すること、選ぶこと、確立すること、及び類似物を含むことができる。
【００９３】
[0092]「〜に基づく」という句は、そうではないと特に指定されない限り、「〜だけに基づく」を意味しない。言い換えると、「〜に基づく」という句は、「〜だけに基づく」と「少なくとも〜に基づく」との両方を説明するものである。
【００９４】
[0093]前述の説明では、特定の詳細が、例の完全な理解を提供するために与えられる。ただし、例はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。例えば、例を不必要な詳細において不明瞭にしないために、電気的構成要素／機器をブロック図で示すことがある。他の事例では、例について更に説明するために、そのような構成要素、他の構造及び技法を詳細に図示することがある。
【００９５】
[0094]本明細書には、参照のための、及び様々なセクションを見つけるのを助けるための見出しが含まれる。これらの見出しは、見出しに関連して説明した概念の範囲を限定するものではない。そのような概念は、本明細書全体にわたって適用性を有し得る。
【００９６】
[0095]また、例は、フローチャート、流れ図、有限状態図、構造図、又はブロック図として示されるプロセスとして説明されることがあることに留意されたい。フローチャートは動作を逐次プロセスとして説明することがあるが、動作の多くは並列に又は同時に実行され得、プロセスは繰り返され得る。更に、動作の順序は並べ替えられ得る。プロセスは、それの動作が完了したときに終了する。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスがソフトウェア関数に対応するとき、それの終了は呼出し関数又はメイン関数への関数の復帰に対応する。
【００９７】
[0096]開示された実装形態の以上の説明は、当業者が本発明を製作又は使用することができるように与えたものである。これらの実装形態への様々な修正は当業者には容易に明らかであり、本明細書で定義した一般原理は、本発明の趣旨又は範囲から逸脱することなく他の実装形態に適用され得る。従って、本発明は、本明細書で示した実装形態に限定されるものではなく、本明細書で開示された原理及び新規の特徴に一致する最も広い範囲を与られるべきである。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
複数の画素を有する画像中のカラーアーティファクトを補正するための方法であって、
前記画像の画像データを受信することと、前記画像データが、前記画像中の前記複数の画素の各々についてのルーマ（Ｙ）成分値と２つのクロマ成分値とを含む、
前記画像データの前記Ｙ成分値中の少なくとも１つのカラーアーティファクトを検出することと、
前記画像中の前記複数の画素に対応する補正比率マップを生成することと、前記補正比率マップが、前記画像データ中の前記少なくとも１つのカラーアーティファクトの位置を示す、
前記クロマ成分値のサブセットの複数の中央値を生成するために、各クロマ成分に複数の方向性メディアンフィルタを適用することと、
クロマ成分値の前記サブセットの各々について、対応する補正比率マップエントリに少なくとも部分的に基づいて前記複数の中央値のうちの１つを選択することと、
前記複数の中央値のうちの前記選択された１つに少なくとも部分的に基づいて前記画素の補正済みクロマ値を出力することと
を備える方法。
［Ｃ２］
補正モジュールにおいて前記中央値と第１の補正比率マップエントリを受信すること、前記第１の補正比率マップエントリが前記画素に対応する、を更に備える、Ｃ１に記載の方法。
［Ｃ３］
前記画像データのＣｂ成分とＣｒ成分とのうちの少なくとも１つの分析に基づいて前記補正比率マップを更新すること、ここにおいて、前記補正比率マップを更新することが、非カラー画素に関連する第２の補正比率マップエントリ値を変更することによって後続のクロマ補正から前記非カラー画素を除外する、を更に備える、Ｃ１に記載の方法。
［Ｃ４］
クロマ成分の一方又は両方に対して実行されるグレーチェック結果に応答して前記補正比率マップを更新することを更に備える、Ｃ１に記載の方法。
［Ｃ５］
前記画素がカラースポットアーティファクトに関連付けられることを前記第１の補正比率マップエントリが示す場合、前記複数の中央値のうちの１つを選択することが最も保守的な中央値を選択することを備える、Ｃ１に記載の方法。
［Ｃ６］
前記補正済みクロマ値を出力することが、入力クロマ値を用いて前記最も保守的な中央値を重み付けすることを更に備える、Ｃ５に記載の方法。
［Ｃ７］
前記画素が色収差に関連付けられることを前記第１の補正比率マップエントリが示す場合、前記複数の中央値のうちの１つを選択することが最も積極的な中央値を選択することを備える、Ｃ１に記載の方法。
［Ｃ８］
画像中のカラーアーティファクトを補正するためのシステムであって、
複数の画素を備える画像中の少なくとも１つのカラーアーティファクトを検出するように構成された検出モジュールと、前記検出モジュールが、前記画像中の複数の画素の各々についてのエントリを有する補正比率マップを生成するように更に構成され、前記エントリが、対応する画素に関連するカラーアーティファクトのタイプを示し、
前記エントリに少なくとも部分的に基づいて前記対応する画素の補正済みクロマ値を計算する構成された補正モジュールと、前記エントリが、前記対応する画素に関連するカラーアーティファクトのタイプを示し、前記補正モジュールが、補正済みクロマ値を計算するために使用すべき前記エントリに基づいて複数の方向性メディアンフィルタのうちの１つを選択するように更に構成され、前記補正モジュールは、前記対応する画素がカラースポットアーティファクトに関連付けられることを前記エントリが示す場合、第１の方向性メディアンフィルタを選択することと、前記対応する画素が色収差に関連付けられることを前記エントリが示す場合、第２の方向性メディアンフィルタを選択することとを行うように更に構成され、
前記補正済みクロマ値から形成される補正済み画像中で追加のアーティファクトの導入又は正当な色特徴の非飽和化を低減するために前記補正済みクロマ値を検証するように構成された検証モジュールと
を備える、システム。
［Ｃ９］
前記複数の方向性メディアンフィルタが、垂直５×３メディアンフィルタと、水平５×３メディアンフィルタと、２つの対角５×３メディアンフィルタとを備え、ここにおいて、前記対角５×３メディアンフィルタが互いに直角である、Ｃ８に記載のシステム。
［Ｃ１０］
前記補正比率マップエントリは、前記対応する画素がカラーアーティファクトに関連付けられないのか、カラースポットアーティファクトに関連付けられるのか、又は色収差に関連付けられるのかを示す、Ｃ８に記載のシステム。
［Ｃ１１］
前記検出モジュールが、撮影済み画像のルーマ成分の分析に少なくとも部分的に基づいて、予備補正比率マップエントリ値を生成するように構成された補正マップ回路を備える、Ｃ８に記載のシステム。
［Ｃ１２］
前記補正マップ回路が、カラースポットアーティファクトを検出するための複数のカーネルで前記ルーマ成分を畳み込むための複数のモジュールを備える、Ｃ１１に記載のシステム。
［Ｃ１３］
前記補正マップ回路が、前記ルーマ成分の飽和マップを構築するためのモジュールを備える、Ｃ１１に記載のシステム。
［Ｃ１４］
前記検出モジュールが、前記撮影済み画像のクロマ成分の一方又は両方の分析に少なくとも部分的に基づいて、前記予備補正比率マップエントリ値を更新するように構成された補正マップ更新回路を更に備える、Ｃ１１に記載のシステム。
［Ｃ１５］
前記補正マップ更新回路が、前記複数の画素の各々が非カラー画素であるかどうかを決定するように構成されたグレーチェックモジュールを備える、Ｃ１４に記載のシステム。
［Ｃ１６］
前記補正マップ更新回路が、カラースポットアーティファクトを検出するためのカーネルでクロマ成分の前記一方又は両方を畳み込むための複数のモジュールを備える、Ｃ１４に記載のシステム。
［Ｃ１７］
前記補正マップ更新回路が、グレーチェック結果とカラースポットチェック結果とに少なくとも部分的に基づいて前記補正比率マップエントリを更新するように構成されたモジュールを備え、ここにおいて、前記グレーチェックと前記カラースポットチェックとがクロマ成分の前記一方又は両方に対して実行される、Ｃ１４に記載のシステム。
［Ｃ１８］
前記補正モジュールが、複数の中央値を生成するために、前記対応する画素の入力クロマ値に前記複数の方向性メディアンフィルタを適用するための複数のフィルタモジュールを含む、Ｃ８に記載のシステム。
［Ｃ１９］
前記補正モジュールが、前記補正比率マップエントリと前記複数の中央値とを受信することと、前記対応する画素の補正済みクロマ値を出力することとを行うように構成された適応型選択モジュールを更に備える、Ｃ１８に記載のシステム
［Ｃ２０］
前記画像を記憶するように構成されたメモリと、
前記メモリに結合されたプロセッサと、前記プロセッサが、前記画像を取り出し、前記検出モジュールと、前記補正モジュールと、前記検証モジュールとを使用して前記画像を処理するように構成される、
を更に備える、Ｃ８に記載のシステム。
［Ｃ２１］
画像中のカラーアーティファクトを補正するための補正比率マップを生成するための方法であって、
前記画像を備える画像データを受信することと、前記画像が、ルーマ成分と２つのクロマ成分とを備え、
カラーアーティファクトマップを生成するために少なくとも１つの対称カーネルで前記ルーマ成分を畳み込むことと、
前記カラーアーティファクトマップに少なくとも部分的に基づいて予備補正比率マップを生成することと、ここにおいて、前記予備補正比率マップが、前記画像の複数の画素の各々に対応するエントリを含み、
前記クロマ成分のうちの少なくとも１つに対してグレーチェックを実行することと、
後続の色補正からあらゆる非カラー画素を除外するために前記グレーチェックに少なくとも部分的に基づいて前記予備補正比率マップを更新し、それによって最終補正比率マップを生成することと
を備える方法。
［Ｃ２２］
前記ルーマ成分に基づいて推定飽和マップを生成すること、ここにおいて、前記予備補正比率マップを生成することが、前記推定飽和マップに更に少なくとも部分的に基づく、を更に備える、Ｃ２１に記載の方法。
［Ｃ２３］
前記グレーチェックを実行することが、飽和検出カーネルで前記クロマ成分のうちの少なくとも１つを畳み込むことを備える、Ｃ２１に記載の方法。
［Ｃ２４］
少なくとも１つの対称カーネルで前記ルーマ成分を畳み込むことが、前記ルーマ成分をダウンサンプリングすることを更に備える、Ｃ２１に記載の方法。
［Ｃ２５］
前記クロマ成分のうちの少なくとも１つに対してカラースポットチェックを実行することと、
前記カラースポットチェックに少なくとも部分的に基づいて前記予備補正比率マップを更新することと
を更に備える、Ｃ２１に記載の方法。
［Ｃ２６］
実行されたとき、少なくとも１つのプロセッサに、
画像の画像データを受信することと、前記画像データが、前記画像中の複数の画素の各々についてのルーマ（Ｙ）成分値と２つのクロマ成分値とを含む、
前記画像データのルーマ成分値とクロマ成分値との両方に基づいて少なくとも１つのカラーアーティファクトを検出することと、
前記画像中の前記複数の画素に対応する補正比率マップを生成することと、前記補正比率マップが、前記画像データ中の前記少なくとも１つのカラーアーティファクトの位置を示す、
前記クロマ成分値のサブセットの複数の中央値を生成するために、各クロマ成分に複数の方向性メディアンフィルタを適用することと、
クロマ成分値の前記サブセットの各々について、対応する補正比率マップエントリに少なくとも部分的に基づいて前記複数の中央値のうちの１つを選択することと、
前記複数の中央値のうちの前記選択された１つに少なくとも部分的に基づいて前記画素の補正済みクロマ値を出力することと
を備える方法を実行することを行わせる命令を記憶する非一時的コンピュータ可読媒体。
［Ｃ２７］
前記方法が、クロマ成分の一方又は両方に対して実行されるグレーチェック結果に応答して前記補正比率マップを更新することを更に備えることを更に備える、Ｃ２６に記載の非一時的コンピュータ可読媒体。
［Ｃ２８］
前記方法が、クロマ成分の一方又は両方に対して実行されるカラースポットチェック結果に応答して前記補正比率マップを更新することを更に備えることを更に備える、Ｃ２６に記載の非一時的コンピュータ可読媒体。
［Ｃ２９］
前記画素がカラースポットアーティファクトに関連付けられることを前記第１の補正比率マップエントリが示す場合、前記複数の中央値のうちの１つを選択することが最も保守的な中央値を選択することを備える、Ｃ２６に記載の非一時的コンピュータ可読媒体。
［Ｃ３０］
前記画素が色収差に関連付けられることを前記第１の補正比率マップエントリが示す場合、前記複数の中央値のうちの１つを選択することが最も積極的な中央値を選択することを備える、Ｃ２６に記載の非一時的コンピュータ可読媒体。
【図１】
0006469678.tif 000022
【図２】
0006469678.tif 000023
【図３Ａ】
0006469678.tif 000024
【図３Ｂ】
0006469678.tif 000025
【図４Ａ】
0006469678.tif 000026
【図４Ｂ】
0006469678.tif 000027
【図５Ａ】
0006469678.tif 000028
【図５Ｂ】
0006469678.tif 000029
【図５Ｃ】
0006469678.tif 000030
【図６】
0006469678.tif 000031