(57)【特許請求の範囲】
【請求項１】
画像データを処理する方法であって、
画像信号プロセッサを使用するステップと、
撮像素子を使用して取得された前記画像データの現フレームにおいて空間位置を有する現画素を受信するステップと、
前記画像データの先行フレームにおける同一の場所に配置された参照画素に少なくとも部分的に基づいて、前記現画素に対する動きデルタ値を決定するステップと、
前記動きデルタ値、前記現画素の前記空間位置に対応する前記先行フレームの動き履歴値、及び、前記現画素の色に対応する選択されたゲインに基づいて動きテーブルルックアップ指標を決定するステップと、
前記動きテーブルルックアップ指標を使用して動きテーブルから第１のフィルタ係数を選択するステップと、
ルマテーブルから減衰率を選択するために前記現画素に対応する明るさの値を使用するステップと、
前記選択した減衰率及び前記第１のフィルタ係数に基づいて第２のフィルタ係数を決定するステップと、
前記同一の場所に配置された参照画素、前記現画素及び前記第２のフィルタ係数に基づいて前記現画素に対応する時間フィルタリング済み出力値を決定するために前記画像信号プロセッサの時間フィルタを使用するステップと、
を備えることを特徴とする方法。
【請求項２】
１と前記第１のフィルタ係数との間の差分と等しい第１の値を決定し、
前記第１の値及び前記先行フレームの前記動き履歴値の積と等しい第２の値を決定し、
前記動きデルタ値及び前記第２の値を合計することにより、
前記現画素の前記空間位置に対応する動き履歴値を決定するために前記画像信号プロセッサを使用するステップを備えることを特徴とする請求項１記載の方法。
【請求項３】
前記動きデルタ値を決定するステップは、
画素の２次元アレイの中心に位置付けられる前記現画素と同一色を有し且つ前記２次元アレイを形成する現フレームの画素の集合を識別するステップと、
各々が前記現フレームの前記画素の集合のうちの１つと同一の場所に配置されている先行フレームの参照画素の集合を識別するステップと、
前記現フレームの前記画素の集合の各々に対して、前記現フレームの画素値と同一の場所に配置された対応する参照画素との間の差分の絶対値と等しい絶対デルタを決定するステップと、
前記絶対デルタに基づいて前記動きデルタ値を決定するステップと
を含むことを特徴とする請求項１記載の方法。
【請求項４】
前記動きデルタ値を決定するステップは、
前記現画素、前記現画素の第１の側に隣接する第２の画素及び前記現画素の第２の側に隣接する第３の画素を含む同一の色値を有する３つの水平隣接画素の集合を識別するステップと、
前記現画素の値と前記先行フレームの前記同一の場所に配置された参照画素の値との間の差分の絶対値と等しい第１の値を決定するステップと、
前記第２の画素の値と前記先行フレームの同一の場所に配置された第２の参照画素との間の差分の絶対値と等しい第２の値を決定するステップと、
前記第３の画素の値と前記先行フレームの同一の場所に配置された第３の参照画素との間の差分の絶対値と等しい第３の値を決定するステップとを含み、
前記動きデルタ値は、前記第１の値、前記第２の値及び前記第３の値の最大値として選択されることを特徴とする請求項３記載の方法。
【請求項５】
前記画像データはベイヤraw画像データを含み、前記２次元アレイ内の各画素は、水平方向、垂直方向及び対角線方向に現画素から空間的に２画素位置離れて配置されることを特徴とする請求項３記載の方法。
【請求項６】
前記動きテーブルルックアップ指標は、前記動きデルタ値及び前記先行フレームの前記動き履歴値の合計として計算されることを特徴とする請求項１記載の方法。
【請求項７】
前記現画素に対する前記時間フィルタリング済み出力値を決定するステップは、
前記現画素の値と前記同一の場所に配置された参照画素の値との間の差分を決定するステップと、
第１の値を取得するために前記差分を前記第２のフィルタ係数と乗算するステップと、
前記現画素に対して前記時間フィルタリング済み出力値を決定するために前記同一の場所に配置された参照画素の値を前記第１の値に加算するステップと
を含むことを特徴とする請求項１記載の方法。
【請求項８】
画像データを時間フィルタリングする方法であって、
画像信号プロセッサを使用するステップと、
撮像素子を使用して取得され且つ各々が各ゲインと関連付けられる２つ以上の色成分を含む前記画像データの現フレームにおいて空間位置を有する現画素を受信するステップと、
前記画像データの先行フレームの同一の場所に配置された参照画素に少なくとも部分的に基づいて前記現画素に対する動きデルタ値を決定するステップと、
前記現画素の色に対応する選択されたゲイン、前記動きデルタ値及び前記先行フレームの前記同一の場所に配置された参照画素に対応する動き履歴値に基づいて動きテーブルルックアップ指標を決定するステップと、
前記動きテーブルルックアップ指標を使用して動きテーブルから第１のフィルタ係数を選択するステップと、
前記現画素の値に前記選択したゲインを適用し且つルマテーブルから減衰率を選択するために前記現画素の前記入手された値をルマテーブルルックアップ指標として使用することにより、前記ルマテーブルから前記減衰率を選択するステップと、
前記第１のフィルタ係数と前記選択した減衰率とを乗算することにより第２のフィルタ係数を決定するステップと、
前記参照画素の値、前記現画素の値及び前記第２のフィルタ係数の値に基づいて前記現画素に対応する時間フィルタリング済み出力値を決定するために前記画像信号プロセッサの時間フィルタを使用するステップと、
を備えることを特徴とする方法。
【請求項９】
前記動きデルタ値を決定するステップは、
画素の２次元アレイの中心に位置付けられる前記現画素と同一色を有し且つ前記２次元アレイを形成する前記現フレームの画素の集合を識別するステップと、
各々が前記現フレームの前記画素の集合のうちの１つと同一の場所に配置されている前記先行フレームの参照画素の集合を識別するステップと、
前記現フレームの前記画素の集合の各々に対して、前記現フレームの画素の値と同一の場所に配置された対応する参照画素との間の差分の絶対値と等しい絶対デルタを決定するステップと、
前記絶対デルタの平均値、前記絶対デルタの最大値又は前記絶対デルタの中央値のうちの少なくとも１つとして前記動きデルタ値を決定するステップと
を含むことを特徴とする請求項８記載の方法。
【請求項１０】
前記２次元アレイは、前記現画素と同一の色値を有する３つの水平隣接画素の集合を含み、前記現画素は、空間的に前記３つの水平隣接画素の集合の中心に配置され、前記動きデルタ値を決定することは、前記現画素の前記値と前記先行フレームの前記同一の場所に配置された参照画素の前記値との間の差分の絶対値と等しい第１の値、前記現画素に水平方向に隣接する前記現フレームの第２の画素の値と前記先行フレームの同一の場所に配置された対応する第２の参照画素の値との間の差分の絶対値と等しい第２の値、及び前記現画素に水平方向に隣接する前記現フレームの第３の画素と前記先行フレームの同一の場所に配置された対応する第３の参照画素の値との間の差分の絶対値と等しい第３の値のうちの最大値として前記動きデルタ値を決定することを含むことを特徴とする請求項９記載の方法。
【請求項１１】
前記先行フレームの前記動き履歴値と前記動きデルタ値との間の差分を決定し、積を取得するために前記差分を前記第１のフィルタ係数と乗算し、前記動きデルタ値を前記積と合計することにより前記現画素の前記空間位置に対応する動き履歴値を決定することを備え、前記現画素に対応する前記動き履歴値は、前記画像データの後続フレームの同一の場所に配置された画素に時間フィルタリングを適用するために使用されることを特徴とする請求項８記載の方法。
【請求項１２】
前記動きテーブルルックアップ指標は、前記動きデルタ値及び前記先行フレームの前記動き履歴値の合計と前記選択したゲインとを乗算することにより決定されることを特徴とする請求項８記載の方法。
【請求項１３】
前記現画素に対する前記時間フィルタリング済み出力値を決定するステップは、
前記同一の場所に配置された参照画素の前記値と前記現画素の前記値との間の差分を決定するステップと、
積を取得するために前記差分を前記第２のフィルタ係数と乗算するステップと、
前記現画素に対する前記時間フィルタリング済み出力値を決定するために前記現画素の前記値を前記積に加算するステップと
を含むことを特徴とする請求項８記載の方法。
【請求項１４】
撮像素子を使用して取得された多色raw画像データを時間フィルタリングする時間フィルタを備え、前記時間フィルタは、
前記raw画像データの現フレームから特定の色及び前記現フレーム内の空間位置を有する現画素を受信し、
同一の場所に配置された参照画素に基づいて前記現画素に対する動きデルタ値を決定し、
前記動きデルタ値、前記同一の場所に配置された参照画素に対応する前記raw画像データの先行フレームの動き履歴値及び前記現画素の色と関連付けられたゲインに基づいて決定された動きテーブルルックアップ指標を使用して動きテーブルから第１のフィルタ係数を選択し、
前記現画素の色と関連付けられた前記ゲインを前記現画素の値に適用し且つ減衰率を選択するために前記結果をルマテーブルルックアップ指標として使用することによりルマテーブルから前記現画素に対する前記減衰率を選択し、
前記減衰率及び前記第１のフィルタ係数の積として第２のフィルタ係数を決定し、
前記同一の場所に配置された参照画素、前記現画素及び前記第２のフィルタ係数の値に基づいて前記現画素に対応する時間フィルタリング済み出力値を提供するように構成されていることを特徴とする画像信号処理システム。
【請求項１５】
前記時間フィルタは、前記同一の場所に配置された参照画素の前記値と前記現画素の前記値との間の差分を決定し、前記差分を前記第２のフィルタ係数と乗算することにより積を決定し、且つ前記積及び前記現画素の前記値を合計することにより、前記時間フィルタリング済み出力値を提供するように構成されていることを特徴とする請求項１４記載の画像信号処理システム。
【請求項１６】
少なくとも１つのデジタル撮像素子と、
前記少なくとも１つのデジタル撮像素子と通信するように構成されたインタフェースと、
メモリ素子と、
前記少なくとも１つのデジタル撮像素子により取得されたraw画像データに対応する１つ以上の画像シーンの視覚表現を表示するように構成された表示装置と、
撮像信号処理システムであって、
フィルタ係数の集合を格納するように構成された動きテーブルと、
明るさの減衰率の集合を格納するように構成されたルマテーブルと、
前記raw画像データの現フレーム内の空間位置及び特定の色を有する現画素に対して、前記raw画像データの先行フレームの同一の場所に配置された参照画素に基づいて前記現画素に対する動きデルタ値を決定し、前記動きデルタ値、前記同一の場所に配置された参照画素に対応する前記raw画像データの前記先行フレームの動き履歴値及び前記現画素の前記色と関連付けられたゲインに基づいて決定された第１のルックアップ指標を使用して前記動きテーブルに格納された前記フィルタ係数の集合から第１のフィルタ係数を選択し、前記現画素の色と関連付けられた前記ゲインを前記現画素の前記値に適用することにより決定された第２のルックアップ指標を使用して前記ルマテーブルに格納された前記明るさの減衰率の集合から明るさの減衰率を選択し、前記減衰率及び前記第１のフィルタ係数の積として第２のフィルタ係数を決定し、且つ前記同一の場所に配置された参照画素、前記現画素及び前記第２のフィルタ係数の値に基づいて前記現画素に対応する時間フィルタリング済み出力値を提供することにより、時間フィルタリングを適用するために前記raw画像データを処理するように構成された時間フィルタと
を備える撮像信号処理システムと、
を備えることを特徴とする電子装置。
【請求項１７】
前記時間フィルタは、時間フィルタリングされたraw画像データを前記画像信号処理システムの画像処理パイプラインに出力するように構成されていることを特徴とする請求項１６記載の電子装置。
【請求項１８】
前記少なくとも１つのデジタル撮像素子は、前記電子装置と一体化されたデジタルカメラ、前記インタフェースを介して前記電子装置に結合される外部デジタルカメラ又はそれらの組み合わせを含むことを特徴とする請求項１６記載の電子装置。
【請求項１９】
前記インタフェースは、ＭＩＰＩ（Ｍｏｂｉｌｅ  Ｉｎｄｕｓｔｒｙ  Ｐｒｏｃｅｓｓｏｒ  Ｉｎｔｅｒｆａｃｅ）、ＳＭＩＡ（Ｓｔａｎｄａｒｄ  Ｍｏｂｉｌｅ  Ｉｍａｇｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ）インタフェース又はそれらの組み合わせを含むことを特徴とする請求項１６記載の電子装置。
【請求項２０】
デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイル携帯電話、ポータブルメディアプレーヤ又はそれらのいずれかの組み合わせを備えることを特徴とする請求項１６記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、デジタル撮影装置に関し、特に、デジタル撮影装置の撮像素子を使用して取得された画像データを処理するシステム及び方法に関する。本出願は、２００９年１０月２０日に出願された米国一部継続特許出願第１２／５８２４１４号である。
【背景技術】
【０００２】
以下に説明し且つクレームする本発明の技術の種々の態様に関連する可能性のある技術の種々の態様を読み手に紹介することを意図する。この説明は、本発明の種々の態様を理解し易くする背景情報を読み手に提供するのに有用であると考えられる。従って、本明細書は、従来技術の認識としてではなく上述の観点で読まれるものであることが理解されるべきである。
【０００３】
近年、デジタル撮影装置は、少なくとも１つの要因として平均的な消費者にとって益々手頃になってきていることにより普及してきている。更に、現在市販されている多くのスタンドアロンデジタルカメラに加えて、デジタル撮影装置がデスクトップコンピュータ、ノートブックコンピュータ、携帯電話又はポータブルメディアプレーヤ等の別の電子装置の一部として組み込まれることは珍しいことではない。
【０００４】
画像データを取得するために、殆どのデジタル撮影装置は、撮像素子により検出された光を電気信号に変換するように構成された多くの光検出素子（例えば、受光器）を提供する撮像素子を含む。撮像素子は、色情報を撮像するために撮像素子により撮像された光をフィルタリングするカラーフィルタアレイを更に含む。撮像素子により撮像された画像データは、画像処理パイプラインにより処理される。画像処理パイプラインは、モニタ等の表示装置で閲覧するために表示されるフルカラー画像を生成するために多くの種々の画像処理動作を画像データに適用する。
【０００５】
従来の画像処理技術は、一般に閲覧者にとって客観的にも主観的にも満足のいく閲覧可能な画像を生成することを目的とするが、撮影装置及び／又は撮像素子が取り込んだ画像データ中の誤差及び／又は歪みに十分に対応しない可能性がある。例えば、製造欠陥又は動作故障が原因となる撮像素子における欠陥画素は、正確に光強度を検知できず、補正されない場合は、結果として得られる処理済み画像中に発生するアーチファクトとして現れる可能性がある。更にレンズの製造時の不備が原因となる撮像素子のエッジにおける光強度の低下は、特性測定に悪影響を及ぼし、全体の光強度が均一でない画像を結果として与える可能性がある。画像処理パイプラインは、画像を鮮明化するために１つ以上の処理を更に実行する。しかし、従来の鮮明化技術は、画像信号中の既存の雑音を十分に考慮しないか、又は画像中のエッジ及びテクスチャ領域と雑音とを区別できない可能性がある。そのような例において、従来の鮮明化技術は、実際には画像における雑音の発生を増加させてしまい、これは一般的に望ましくない。
【０００６】
撮像素子により撮像された画像データに適用される別の画像処理動作は、デモザイク処理である。一般にカラーフィルタアレイがセンサ画素毎に１つの波長においてカラーデータを提供するため、カラーデータの完全な集合は、一般にフルカラー画像（例えば、ＲＧＢ画像）を再生するために色チャネル毎に補間される。一般に従来のデモザイク技術は、ある種の固定閾値に従って水平方向又は垂直方向に欠落しているカラーデータに対する値を補間する。しかし、そのような従来のデモザイク技術は、画像内のエッジの方向及び場所を十分に考慮せず、その結果、エイリアシング、チェッカーボードアーチファクト又はレインボーアーチファクト等のエッジアーチファクトが特に画像内の対角線のエッジに沿ってフルカラー画像内に取り込まれてしまうだろう。
【０００７】
従って、結果として得られる画像の見かけを向上するために、デジタルカメラ又は他の撮影装置により取得されたデジタル画像を処理する時には種々の問題に対処しなければならない。特に、以下の本発明の特定の態様は、簡単に上述した欠点の１つ以上に対処する。
【発明の概要】
【０００８】
本明細書で開示する特定の実施形態の概要を以下に示す。これらの態様は、それら特定の実施形態の簡単な概要を読み手に提供するためにのみ提示され、本発明の範囲を限定することを意図しないことが理解されるべきである。実際には、本発明は、以下に説明しない種々の態様を含む。
【０００９】
本発明は、デジタル撮像素子を使用して取得された画像データを処理する種々の技術を提供する。本発明の態様によると、１つのそのような技術は、撮像素子における欠陥画素の検出及び補正に関連する。一実施形態において、既知の静的欠陥の位置を格納する静的欠陥テーブルが提供される。そのような実施形態では、欠陥が素の補正及び検出は、二段階で行われる。第一段階では、画像処理フレームにおける現画素の位置が、静的欠陥テーブルに格納された情報と比較される。もし現画素の位置が静的欠陥テーブル内で見つかれば、現画素は静的欠陥と識別され、置換値により補正される。置換値は同一色の先行画素の値として選択されても良い。もし現画素が静的欠陥と識別されない場合、第二段階で、現画素と隣接画素のセットとの間の画素間勾配を動的欠陥閾値を用いて比較することにより、現画素が動的欠陥かどうかが判定される。動的欠陥を補正するための置換値は、最小勾配を示す方向における、現画素と反対側の２つの隣接画素の値を補間することにより決定されても良い。
【００１０】
発明の態様によれば、他の画像処理技術は、画像鮮明化のためのマルチスケールのアンシャープマスクの適用に関連する。ある実施形態では、デジタル撮像素子により取得された画像データの輝度画像が最初に取得される。半径が異なる少なくとも２つのガウスフィルタを含むマルチスケールのアンシャープマスクが、複数のアンシャープ値を決定するために輝度画像に対して適用される。各アンシャープ値は対応する閾値と比較されて、各閾値を超えるアンシャープ値は対応するゲインが適用され、増幅されたアンシャープ値が、輝度画像又はいずれかのガウスフィルタの出力から選択されたベース画像に付加される。別の実施形態では、各閾値を超えないアンシャープ値に対して減衰ゲインを適用しても良い。更なる実施形態では、エッジ強調やクロマ抑制のために、鮮明化された画像を更に処理してもよい。
【００１１】
発明の更なる態様によれば、別の画像処理技術は、フルカラー画像を生成するための、デジタル撮像素子で取得した画像データのデモザイク処理に関連する。ある実施形態では、撮像素子はベイヤカラーフィルタアレイを含み、デモザイク処理が得られたベイヤ画像パターンに適用される。そのような実施形態では、垂直及び水平エネルギーを判定するために、各非緑色画素について適応エッジ検出フィルタを使用して失われた緑色値を補間する。開示の実施形態によれば、緑成分、赤成分、及び、青成分は、垂直及び水平エネルギーを判定する際のエッジ検出に役立つ。現在の非緑色画素の補間された緑色値の垂直及び水平成分は、垂直及び水平エネルギーを利用して重み付けされ、重み付け値は補間された緑色値を決定するために合計される。そのような実施形態では、補間された緑色値は失われた赤色及び青色のサンプルを補完するために用いられても良い。
【００１２】
発明のさらに別の態様によれば、レンズシェーディングの不規則性を補正するための技術が提供される。ある実施形態では、現画素の位置が、水平方向及び垂直方向に分散された複数の格子点を有するゲイン格子に対して決定される。もし現画素の位置が格子点に対応する場合、当該格子点と関連するレンズシェーディングゲインが現画素に対して適用される。もし、現画その位置が４つの格子点の間に存在する場合、双線形補間が３つの格子点に対して適用されて、補間済レンズシェーディングゲインが決定される。更なる実施形態では、画像の中心から現画素までの半径距離を判定し、半径距離に現画素の色に基づくグローバルゲインパラメータを掛け合わせることで、径方向のレンズシェーディングゲインが決定される。径方向のレンズシェーディングゲインは、決定されたレンズシェーディング格子ゲイン或いはレンズシェーディング補間済ゲインと共に現画素に適用される。
時間フィルタは、雑像素子を使用して取得されたraw画像データを受信する。時間フィルタは、画素毎に、現在の画素の空間位置を判定し、先行フレームの同一の場所に配置された少なくとも１つの参照画素（例えば、同一の空間位置における）を識別する。動きデルタ値は、現在の画素及び同一の場所に配置された参照画素に少なくとも部分的に基づいて判定される。次に、第１の指標値は、動きデルタ値及び現在の画素の空間位置に対応する先行フレームの動き履歴値に基づいて判定される。第１のフィルタ係数は、第１の指標を使用して動きテーブルから選択される。第１のフィルタ係数を選択した後、減衰率は現在の画素の値（例えば、指標である）に基づいてルマ（ｌｕｍａ）テーブルから選択され、その後、第２のフィルタ係数は選択された減衰率及び第１のフィルタ係数に基づいて判定される。現在の画素に対応する空間フィルタリング済み出力値は、第２のフィルタ係数、現在の画素及び同一の場所に配置された参照画素に基づいて算出される。
【００１３】
一実施形態において、raw画像データが複数の色成分を含む場合、色に依存するゲインは、各色チャネル間の信号対雑音比の変動を低減するために利用される。例えば、現在の画素の色に依存して、動きテーブルに対する指標及びルマテーブルに対する指標を判定する前に適切なゲインが現在の画素に適用される。更なる一実施形態において、色に依存する独立した動きテーブル及びルマテーブルは、raw画像データの色毎に提供され、第１のフィルタ係数及び減衰率は、現在の画素の色に依存して現在の色に対応する動きテーブル及びルマテーブルから選択される。
【００１４】
上述した特徴の種々の改良点が本発明の種々の態様に関連して存在する。更なる特徴がそれら種々の態様に取り入れられる。これらの改良点及び追加の特徴は、個々に存在するか又は組み合わされて存在する。例えば、図示する１つ以上の実施形態に関連して以下に説明する種々の特徴は、本発明の上述した態様のいずれかに単独で又はあらゆる組み合わせで取り入れられる。上述した簡単な概要は、請求される主題を限定せず、本発明の実施形態の特定の態様及び状況を読み手に理解させることのみを意図する。
【図面の簡単な説明】
【００１５】
本発明の種々の態様は、以下の詳細な説明を読み且つ図面を参照することにより理解されるだろう。
【図１】図１は、本発明において示される１つ以上の画像処理技術を実現するように構成された撮影装置及び画像処理回路網を含む電子装置の一例の構成要素を示す概略ブロック図である。
【図２】図２は、図１の撮影装置において実現されるベイヤカラーフィルタアレイの２×２画素ブロックの図形表現を示す図である。
【図３】図３は、本発明の態様に従ってラップトップコンピューティングデバイスの形態で図１の電子装置を示す透視図である。
【図４】図４は、本発明の態様に従ってデスクトップコンピューティングデバイスの形態で図１の電子装置を示す正面図である。
【図５】図５は、本発明の態様に従ってハンドヘルドポータブル電子装置の形態で図１の電子装置を示す正面図である。
【図６】図６は、図５に示す電子装置の背面図である。
【図７】図７は、本発明の態様に従って図１の画像処理回路網において実現されるフロントエンド画像信号処理（ＩＳＰ）ロジック部及びＩＳＰパイプ処理ロジック部を示すブロック図である。
【図８】図８は、本発明の態様に従って図７のＩＳＰフロントエンド処理ロジック部の一実施形態を示すより詳細なブロック図である。
【図９】図９は、本発明の態様に従って撮像素子により撮像されたソース画像フレーム内で規定される種々の撮像領域を示す図である。
【図１０】図１０は、本発明の態様に従って図８のＩＳＰフロントエンド処理ロジック部に示すようなＩＳＰフロントエンド画素処理ユニットの一実施形態のより詳細な図を提供するブロック図である。
【図１１】図１１は、一実施形態に従って時間フィルタリングが図１０に示すＩＳＰフロンエンド画素処理ユニットにより受信された画像画素データに適用される方法を示す処理図である。
【図１２】図１２は、図１１に示す時間フィルタリング処理に対する１つ以上のパラメータを判定するために使用される参照画像画素の集合及び対応する現在の画像画素の集合を示す図である。
【図１３】図１３は、一実施形態に従って画像データの集合の現在の画像画素に時間フィルタリングを適用する処理を示すフローチャートである。
【図１４】図１４は、一実施形態に従って図１３の現在の画像画素の時間フィルタリングと共に使用する動きデルタ値を算出する技術を示すフローチャートである。
【図１５】図１５は、別の実施形態に従って画像データの色成分毎に種々のゲインを使用することを含む時間フィルタリングを画像データの集合の現在の画像画素に適用する別の処理を示すフローチャートである。
【図１６】図１６は、更なる一実施形態に従って時間フィルタリング技術が図１０に示すＩＳＰフロントエンド画素処理ユニットにより受信された画像画素データの色成分毎に別個の動きテーブル及びルマテーブルを利用する方法を示す処理図である。
【図１７】図１７は、更なる実施形態に従って図１６に示す動きテーブル及びルマテーブルを使用して画像データの集合の現在の画像画素に時間フィルタリングを適用する処理を示すフローチャートである。
【図１８】図１８は、本発明の態様に従って図１０のＩＳＰフロントエンド画素処理ユニットにおいて実現されるビニング補償フィルタの一実施形態を示すより詳細な図である。
【図１９】図１９は、一実施形態に従って図１８のビニング補償フィルタを使用して画像データをスケーリングする処理を示すフローチャートである。
【図２０】図２０は、本発明の態様に従って図８に示すようにＩＳＰフロントエンド処理ロジック部において実現される統計処理ユニットの一実施形態を示すより詳細なブロック図である。
【図２１】図２１は、本発明の態様に従って図２０の統計処理ユニットによる統計処理中に欠陥画素を検出し且つ補正する技術を適用する時に考慮される種々の画像フレーム境界の例を示す図である。
【図２２】図２２は、一実施形態に従って統計処理中に欠陥画素検出及び補正を実行する処理を示すフローチャートである。
【図２３】図２３は、撮影装置の従来のレンズに対する光強度対画素位置を示す３次元プロファイルを示す図である。
【図２４】図２４は、レンズシェーディングの不規則性の結果として得られる画像にわたる不均一な光強度を示すカラー図である。
【図２５】図２５は、本発明の態様に従ってレンズシェーディング補正領域及びゲイン格子を含むraw撮像フレームを示す図である。
【図２６】図２６は、本発明の態様に従って４つの境界格子ゲイン点により囲まれた画像画素に対するゲイン値の補間を示す図である。
【図２７】図２７は、本技術の一実施形態に従ってレンズシェーディング補正動作中に撮像画素に適用される補間されたゲイン値を判定する処理を示すフローチャートである。
【図２８】図２８は、本発明の態様に従ってレンズシェーディング補正を行う時に図２３に示す光強度特性を示す画像に適用される補間されたゲイン値を示す３次元プロファイルである。
【図２９】図２９は、本発明の態様に従ってレンズシェーディング補正動作が適用された後に改善された光強度の均一性を示す図２４のカラー図を示す図である。
【図３０】図３０は、一実施形態に従ってレンズシェーディング補正に対する径方向のゲイン成分を判定するために現在の画素と画像の中心との間の半径距離が計算され且つ使用される方法を示す図である。
【図３１】図３１は、本技術の一実施形態に従ってレンズシェーディング補正動作中に撮像画素に適用される合計のゲインを判定するためにゲイン格子の補間されたゲイン及び径方向のゲインが使用される処理を示すフローチャートである。
【図３２】図３２は、本発明の態様に従って図７のＩＳＰパイプ処理ロジック部の一実施形態を示すブロック図である。
【図３３】図３３は、本発明の態様に従って図３２のＩＳＰパイプ処理ロジック部において実現されるraw画素処理ブロックの一実施形態を示すより詳細な図である。
【図３４】図３４は、本発明の態様に従って図３３に示すraw画素処理ブロックによる処理中に欠陥画素を検出し且つ補正する技術を適用する時に考慮される種々の画像フレーム境界の例を示す図である。
【図３５】、
【図３６】、
【図３７】図３５〜図３７は、一実施形態に従って図３３のraw画素処理ブロックにおいて実行される欠陥画素を検出し且つ補正する種々の処理を示すフローチャートである。
【図３８】図３８は、本発明の態様に従って図３３のraw画素処理ロジック部による処理中に緑色不均一性補正技術を適用する時に補間されるベイヤ撮像素子の２×２画素ブロックにおける２つの緑色画素の場所を示す図である。
【図３９】図３９は、本発明の態様に従って雑音除去のために水平フィルタリング処理の一部として使用される中心画素及び関連する水平隣接画素を含む画素の集合を示す図である。
【図４０】図４０は、本発明の態様に従って雑音除去のために垂直フィルタリング処理の一部として使用される中心画素及び関連する垂直隣接画素を含む画素の集合を示す図である。
【図４１】図４１は、フルカラーＲＧＢ画像を生成するためにデモザイクがrawベイヤ画像パターンに適用される方法を示す簡略化されたフローチャートである。
【図４２】図４２は、一実施形態に従ってベイヤ画像パターンのデモザイク中に緑色値を補間するために水平エネルギー成分及び垂直エネルギー成分が導出されるベイヤ画像パターンの画素の集合を示す図である。
【図４３】図４３は、本技術の態様に従ってベイヤ画像パターンのデモザイク中に補間された緑色値の水平成分を判定するためにフィルタリングが適用される水平画素の集合を示す図である。
【図４４】図４４は、本技術の態様に従ってベイヤ画像パターンのデモザイク中に補間された緑色値の垂直成分を判定するためにフィルタリングが適用される垂直画素の集合を示す図である。
【図４５】図４５は、本技術の態様に従ってベイヤ画像パターンのデモザイク中に補間された赤色値及び青色値を判定するためにフィルタリングが適用される種々の３×３画素ブロックを示す図である。
【図４６】、
【図４７】、
【図４８】、
【図４９】図４６〜図４９は、一実施形態に従ってベイヤ画像パターンのデモザイク中に緑色値、赤色値及び青色値を補間する種々の処理を示すフローチャートである。
【図５０】図５０は、本明細書で開示されるデモザイク技術の態様に従って撮像素子により撮像され且つ処理される元の画像シーンを示すカラー図である。
【図５１】図５１は、図５０に示す画像シーンのベイヤ画像パターンを示すカラー図である。
【図５２】図５２は、図５１のベイヤ画像パターンに基づいて従来のデモザイク技術を使用して再構成されたＲＧＢ画像を示すカラー図である。
【図５３】図５３は、本明細書で開示されたデモザイク技術の態様に従って図５１のベイヤ画像パターンから再構成されたＲＧＢ画像を示すカラー図である。
【図５４】図５４は、本発明の態様に従って図３２のＩＳＰパイプ処理ロジック部において実現されるＲＧＢ処理ブロックの一実施形態を示す更に詳細な図である。
【図５５】図５５は、本発明の態様に従って図３２のＩＳＰパイプ処理ロジック部において実現されるＹＣｂＣｒ処理ブロックの一実施形態を示す更に詳細な図である。
【図５６】図５６は、本発明の態様に従って１平面形式を使用してソースバッファ内に規定されるようなルマ及びクロマに対するアクティブソース領域を示す図である。
【図５７】図５７は、本発明の態様に従って２平面形式を使用してソースバッファ内に規定されるようなルマ及びクロマに対するアクティブソース領域を示す図である。
【図５８】図５８は、一実施形態に従って図５５に示すようにＹＣｂＣｒ処理ブロックにおいて実現される画像鮮明化ロジック部を示すブロック図である。
【図５９】図５９は、一実施形態に従って図５５に示すようにＹＣｂＣｒ処理ブロックにおいて実現されるエッジ強調ロジック部を示すブロック図である。
【図６０】図６０は、本発明の態様に従って鮮明化されたルマ値に対するクロマ減衰率の関係を示すグラフである。
【図６１】図６１は、一実施形態に従って図５５に示すようにＹＣｂＣｒ処理ブロックにおいて実現される画像の明るさ、コントラスト及び色（ＢＣＣ）調整ロジック部を示すブロック図である。
【図６２】図６２は、図６１に示すＢＣＣ調整ロジック部における色調整中に適用される種々の色相角及び彩度値を規定するＹＣｂＣｒ色空間における色相及び彩度の色相環を示す図である。
【発明を実施するための形態】
【００１６】
本発明の１つ以上の特定の実施形態について以下に説明する。これらの説明される実施形態は、本明細書で開示される技術の例にすぎない。更に、これらの実施形態を簡潔に説明しようとするため、本明細書において実際の一実現例の全ての特徴が説明されない可能性がある。そのようないかなる実際の実現例の開発時にも、どのようなエンジニアリング又は設計プロジェクトとも同様に、実現例毎に異なるシステム関連又はビジネス関連の制約に準拠すること等の開発者の特定の目的を達成するために実現例固有の多くの決定がされる必要があることが理解されるべきである。更にそのような開発努力は、複雑であり且つ時間がかかるが、本発明の利益を有する当業者にとっては設計、組立及び製造の日常的な業務であることが理解されるべきである。
【００１７】
本発明の種々の実施形態の要素を紹介する際、単数形は１つ以上の要素が存在することを意味することを意図する。「備える」、「含む」及び「有する」という用語は、含むことを意図し、列挙した要素以外の追加の要素が存在することを意味する。また、本発明の「一実施形態」に対する参照は、列挙した特徴を取り入れる追加の実施形態の存在を除外するものとして解釈されることを意図しないことが理解されるべきである。
【００１８】
以下に説明するように、本発明は、一般に１つ以上の撮像装置を介して取得された画像データを処理する技術に関する。特に、本発明の特定の態様は、欠陥画素を検出し且つ補正する技術、raw画像パターンをデモザイクする技術、マルチスケールアンシャープマスクを使用して輝度画像を鮮明化する技術及びレンズシェーディングの不規則性を補正するためにレンズシェーディングゲインを適用する技術に関する。更に、本発明で開示される技術は、静止画及び動画（例えば、ビデオ）の双方に適用され、デジタルカメラ、内蔵デジタルカメラを有する電子装置、セキュリティ又はビデオ監視システム及び医療撮影システム等のあらゆる適切な種類の撮像応用例において利用されることが理解されるべきである。
【００１９】
上述の点を考慮すると、図１は、簡単に上述した１つ以上の画像処理技術を使用して画像データの処理を提供する電子装置１０の一例を示すブロック図である。電子装置１０は、１つ以上の画像検出構成要素を使用して取得されたデータ等の画像データを受信及び処理するように構成されるラップトップコンピュータ、デスクトップコンピュータ、移動電話又はデジタルメディアプレーヤ等のいかなる種類の電子装置であってもよい。単なる例として、電子装置１０は、Ｃｕｐｅｒｔｉｎｏ、ＣａｌｉｆｏｒｎｉａのＡｐｐｌｅ  Ｉｎｃ．から市販されているある機種のｉＰｏｄ（登録商標）又はｉＰｈｏｎｅ（登録商標）等のポータブル電子装置である。更に電子装置１０は、Ａｐｐｌｅ  Ｉｎｃ．から市販されているある機種のＭａｃＢｏｏｋ（登録商標）、ＭａｃＢｏｏｋ（登録商標）Ｐｒｏ、ＭａｃＢｏｏｋ  Ａｉｒ（登録商標）、ｉＭａｃ（登録商標）、Ｍａｃ（登録商標）Ｍｉｎｉ又はＭａｃ  Ｐｒｏ（登録商標）等のデスクトップコンピュータ又はラップトップコンピュータである。他の実施形態において、電子装置１０は、画像データを取得及び処理できる別の製造業者のある機種の電子装置である。
【００２０】
その形態に関わらず（例えば、携帯型であっても非携帯型であっても）、電子装置１０は、特に欠陥画素補正及び／又は検出技術、レンズシェーディング補正技術、デモザイク技術、あるいは画像鮮明化技術を含む簡単に上述した１つ以上の画像処理技術を使用する画像データの処理を提供することが理解されるべきである。いくつかの実施形態において、電子装置１０は、電子装置１０のメモリに格納された画像データにそのような画像処理技術を適用する。更なる実施形態において、電子装置１０は、上述した１つ以上の画像処理技術を使用して電子装置１０により処理される画像データを取得するように構成された内蔵デジタルカメラ又は外部デジタルカメラ等の１つ以上の撮影装置を含む。電子装置１０の携帯型の実施形態及び非携帯型の実施形態を示す実施形態について、図３〜図６において以下に更に説明する。
【００２１】
図１に示すように、電子装置１０は、装置１０の機能に寄与する種々の内部構成要素及び／又は外部構成要素を含む。図１に示す種々の機能ブロックは、ハードウェア要素（回路網を含む）、ソフトウェア要素（コンピュータ可読媒体に格納されたコンピュータコードを含む）又はハードウェア要素及びソフトウェア要素の組み合わせを含むことが当業者には理解されるだろう。例えば本明細書で示される実施形態において、電子装置１０は、入出力（Ｉ／Ｏ）ポート１２、入力構造１４、１つ以上のプロセッサ１６、メモリ素子１８、不揮発性記憶装置２０、拡張カード２２、ネットワーク装置２４、電源２６及びディスプレイ２８を含む。更に電子装置１０は、デジタルカメラ等の１つ以上の撮影装置３０及び画像処理回路網３２を含む。以下に更に説明するように、画像処理回路網３２は、画像データを処理する時に上述した１つ以上の画像処理技術を実現するように構成される。理解されるように、画像処理回路網３２により処理された画像データは、メモリ１８及び／又は不揮発性記憶装置２０から検索されるか、あるいは撮影装置３０を使用して取得される。
【００２２】
説明を続ける前に、図１に示す装置１０のシステムブロック図は、そのような装置１０に含まれる種々の構成要素を示す高レベル制御図であることが理解されるべきである。すなわち、図１に示す個々の構成要素間の接続線は、必ずしもデータが装置１０の種々の構成要素間を流れるか又は送信される際に通るパス又は方向を表すとは限らない。実際には、以下に説明するように、いくつかの実施形態において、図示するプロセッサ１６は、主プロセッサ（例えば、ＣＰＵ）、並びに専用画像及び／又はビデオプロセッサ等の複数のプロセッサを含む。そのような実施形態において、画像データの処理は主にそれらの専用プロセッサにより対処され、これにより主プロセッサ（ＣＰＵ）のそのようなタスクの負担が効果的に軽減される。
【００２３】
図１において図示される各構成要素を考慮すると、Ｉ／Ｏポート１２は、電源、オーディオ出力装置（例えば、ヘッドセット又はヘッドホン）又は他の電子装置（ハンドヘルド装置及び／又はコンピュータ、プリンタ、プロジェクタ、外部ディスプレイ、モデム及びドッキングステーション等）等の種々の外部装置に接続するように構成されたポートを含む。一実施形態において、Ｉ／Ｏポート１２は、画像処理回路網３２を使用して処理される画像データを取得するためにデジタルカメラ等の外部撮影装置に接続するように構成される。Ｉ／Ｏポート１２は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、シリアル接続ポート、ＩＥＥＥ１３９４（ＦｉｒｅＷｉｒｅ）ポート、Ｅｔｈｅｒｎｅｔ又はモデムポート、並びに／あるいはＡＣ／ＤＣ電源接続ポート等のあらゆる適切なインタフェースの種類をサポートする。
【００２４】
いくつかの実施形態において、特定のＩ／Ｏポート１２は２つ以上の機能を提供するように構成される。例えば一実施形態において、Ｉ／Ｏポート１２は、電子装置１０と外部ソースとの間のデータの転送を容易にするように機能するだけでなく、コンセントから電力を提供するように設計された電源アダプタ等の充電インタフェース又は電源２６（１つ以上の充電可能なバッテリを含む）を充電するためにデスクトップコンピュータ又はラップトップコンピュータ等の別の電気装置から電力を得るように構成されたインタフェースケーブルに装置１０を結合するように機能するＡｐｐｌｅ  Ｉｎｃ．の自社開発のポートを含む。従って、Ｉ／Ｏポート１２は、例えばＩ／Ｏポート１２を介して装置１０に結合されている外部構成要素に依存してデータ転送ポート及びＡＣ／ＤＣ電源接続ポートの２つの機能を果たすように構成される。
【００２５】
入力構造１４は、ユーザ入力又はフィードバックをプロセッサ１６に提供する。例えば入力構造１４は、電子装置１０で実行するアプリケーション等の電子装置１０の１つ以上の機能を制御するように構成される。例として、入力構造１４は、ボタン、スライダ、スイッチ、制御パッド、キー、ノブ、スクロールホイール、キーボード、マウス及びタッチパッド等、あるいはそれらの組み合わせを含む。一実施形態において、入力構造１４は、ユーザが装置１０に表示されたグラフィカルユーザインタフェース（ＧＵＩ）をナビゲートできるようにする。更に入力構造１４は、ディスプレイ２８と共に提供されたタッチセンシティブ機構を含む。そのような実施形態において、ユーザは、タッチセンシティブ機構を介して表示されたインタフェース要素を選択し、あるいはインタフェース要素と対話する。
【００２６】
入力構造１４は、種々の装置、回路網、並びにユーザ入力又はフィードバックが１つ以上のプロセッサ１６に提供される際の経路を含む。そのような入力構造１４は、装置１０の機能、装置１０で実行するアプリケーション、並びに／あるいは電子装置１０に接続されるか又は電子装置１０により使用されるあらゆるインタフェース又は装置を制御するように構成される。例えば入力構造１４は、ユーザが表示されたユーザインタフェース又はアプリケーションインタフェースをナビゲートできるようにする。入力構造１４の例は、ボタン、スライダ、スイッチ、制御パッド、キー、ノブ、スクロールホイール、キーボード、マウス及びタッチパッド等を含む。
【００２７】
特定の実施形態において、入力構造１４及び表示装置２８は、例えば「タッチスクリーン」の場合に共に提供され、それにより、タッチセンシティブ機構がディスプレイ２８と共に提供される。そのような実施形態において、ユーザはタッチセンシティブ機構を介して表示されたインタフェース要素を選択するか、あるいはインタフェース要素と対話する。このように、表示されたインタフェースは対話機能性を提供し、これによりユーザはディスプレイ２８に触れることにより表示されたインタフェースをナビゲートできる。例えばディスプレイ２６に表示されたユーザ又はアプリケーションインタフェースとの対話等の入力構造１４とのユーザ対話により、ユーザ入力を示す電気信号が生成される。これらの入力信号は、更なる処理のために入力ハブ又はデータバス等の適切な経路を介して１つ以上のプロセッサ１６にルーティングされる。
【００２８】
入力構造１４を介して受信された種々の入力信号の処理に加えて、プロセッサ１６は装置１０の一般的な動作を制御する。例えばプロセッサ１６は、オペレーティングシステム、プログラム、ユーザ及びアプリケーションインタフェース、並びに電子装置１０のあらゆる他の機能を実行するための処理能力を提供する。プロセッサ１６は、１つ以上の「汎用」マイクロプロセッサ、１つ以上の専用マイクロプロセッサ及び／又は特定用途向けマイクロプロセッサ（ＡＳＩＣ）、あるいはそのような処理構成要素の組み合わせ等の１つ以上のマイクロプロセッサを含む。例えばプロセッサ１６は、１つ以上の命令セット（例えば、ＲＩＳＣ）プロセッサ並びにグラフィックプロセッサ（ＧＰＵ）、ビデオプロセッサ、オーディオプロセッサ及び／又は関連するチップセットを含む。理解されるように、プロセッサ１６は、装置１０の種々の構成要素間でデータ及び命令を転送するために１つ以上のデータバスに結合される。特定の実施形態において、プロセッサ１６は、Ａｐｐｌｅ  Ｉｎｃ．から市販されているＰｈｏｔｏ  Ｂｏｏｔｈ（登録商標）、Ａｐｅｒｔｕｒｅ（登録商標）、ｉＰｈｏｔｏ（登録商標）又はＰｒｅｖｉｅｗ（登録商標）、あるいはＡｐｐｌｅ  Ｉｎｃ．により提供され且つｉＰｈｏｎｅ（登録商標）において入手可能な「カメラ」及び／又は「写真」アプリケーション等の電子装置１０においてイメージングアプリケーションを実行するための処理能力を提供する。
【００２９】
プロセッサ１６により処理される命令又はデータは、メモリ素子１８等のコンピュータ可読媒体に格納される。メモリ素子１８は、ランダムアクセスメモリ（ＲＡＭ）等の揮発性メモリ又は読み出し専用メモリ（ＲＯＭ）等の不揮発性メモリ、あるいは１つ以上のＲＡＭ及びＲＯＭ装置の組み合わせとして提供される。メモリ１８は、種々の情報を格納し、種々の目的で使用される。例えばメモリ１８は、基本入出力システム（ＢＩＯＳ）、オペレーティングシステム、種々のプログラム、アプリケーション、あるいはユーザインタフェース機能及びプロセッサ機能等を含む電子装置１０において実行されるあらゆる他のルーチン等の電子装置１０に対するファームウェアを格納する。更にメモリ１８は、電子装置１０の動作中にバッファリング又はキャッシュするために使用される。例えば一実施形態において、メモリ１８は、ビデオデータがディスプレイ２８に出力されている時にバッファリングするための１つ以上のフレームバッファを含む。
【００３０】
メモリ素子１８に加えて、電子装置１０はデータ及び／又は命令を固定的に格納するための不揮発性記憶装置２０を更に含む。不揮発性記憶装置２０は、フラッシュメモリ、ハードドライブ、あるいはあらゆる他の光記憶媒体、磁気記憶媒体及び／又は固体記憶媒体、あるいはそれらの何らかの組み合わせを含む。従って、不揮発性記憶装置２０は、理解し易くするために図１において単一の装置として示されるが、プロセッサ１６と共に動作する上記で列挙した１つ以上の記憶装置の組み合わせを含む。不揮発性記憶装置２０は、ファームウェア、データファイル、画像データ、ソフトウェアプログラム及びアプリケーション、無線接続情報、個人情報、ユーザの好み、並びにあらゆる他の適切なデータを格納するために使用される。本発明の態様によると、不揮発性記憶装置２０及び／又はメモリ素子１８に格納された画像データは、ディスプレイに出力される前に画像処理回路網３２により処理される。
【００３１】
図１に示す実施形態は、１つ以上のカード又は拡張スロットを更に含む。カードスロットは、追加のメモリ、Ｉ／Ｏ機能性又はネットワーク化機能等の機能性を電子装置１０に追加するのに使用される拡張カード２２を受け入れるように構成される。そのような拡張カード２２は、あらゆる種類の適切なコネクタを介して装置に接続し、電子装置１０の筐体の内部又は外部からアクセスされる。例えば一実施形態において、拡張カード２２は、セキュアデジタル（ＳＤ）カード、ｍｉｎｉＳＤ、ｍｉｃｒｏＳＤ又はコンパクトフラッシュカード等のフラッシュメモリカードであるか、あるいはＰＣＭＣＩＡ装置である。更に拡張カード２２は、移動電話機能を提供する電子装置１０の一実施形態と共に使用する加入者識別モジュール（ＳＩＭ）カードであってもよい。
【００３２】
電子装置１０はネットワーク装置２４を更に含み、ネットワーク装置２４は、無線８０２．１１規格、あるいはローカルエリアネットワーク（ＬＡＮ）、ＧＳＭの拡張向け高速データ（ＥＤＧＥ）ネットワーク、３Ｇデータネットワーク又はインターネット等のワイドエリアネットワーク（ＷＡＮ）等のあらゆる他の適切なネットワーク化規格を介してネットワーク接続性を提供するネットワークインタフェースカード（ＮＩＣ）又はネットワークコントローラである。特定の実施形態において、ネットワーク装置２４は、Ａｐｐｌｅ  Ｉｎｃ．から市販されているｉＴｕｎｅｓ（登録商標）音楽サービス等のオンラインデジタルメディアコンテンツプロバイダに対する接続を提供する。
【００３３】
装置１０の電源２６は、非ポータブル設定及びポータブル設定で装置１０に電力を供給する機能を含む。例えばポータブル設定において、装置１０は装置１０に電力を供給するためにリチウムイオン電池等の１つ以上のバッテリを含む。バッテリは、装置１０をコンセント等の外部電源に接続することにより充電される。非ポータブル設定において、電源２６は、コンセントから電力を得て且つデスクトップコンピューティングシステム等の非携帯型電子装置の種々の構成要素に電力を分配するように構成された電源ユニット（ＰＳＵ）を含む。
【００３４】
以下に更に説明するように、ディスプレイ２８は、オペレーティングシステムに対するＧＵＩ又は画像処理回路網３２により処理された画像データ（静止画及びビデオデータを含む）等の装置１０により生成された種々の画像を表示するために使用される。上述したように、画像データは、撮影装置３０を使用して取得された画像データ、あるいはメモリ１８及び／又は不揮発性記憶装置２０から検索された画像データを含む。ディスプレイ２８は、例えば液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ又は有機発光ダイオード（ＯＬＥＤ）ディスプレイ等のあらゆる適切な種類のディスプレイである。更に上述したように、ディスプレイ２８は、電子装置１０に対する制御インタフェースの一部として機能できる上述したタッチセンシティブ機構（例えば、タッチスクリーン）と共に提供される。
【００３５】
図示する撮影装置３０は、静止画及び動画（例えば、ビデオ）の双方を取得するように構成されたデジタルカメラとして提供される。カメラ３０は、光を撮像し且つそれを電気信号に変換するように構成された１つ以上の撮像素子及びレンズを含む。単なる例として、撮像素子は、ＣＭＯＳ撮像素子（例えば、ＣＭＯＳ能動画素センサ（ＡＰＳ））又はＣＣＤ（電荷結合素子）センサを含む。一般にカメラ３０の撮像素子は、各画素が光を検出する受光器を含む画素アレイを有する集積回路を含む。当業者には理解されるように、一般に撮像画素の受光器は、カメラレンズを介して撮像された光の明度を検出する。しかし、受光器は、一般にそれ自体で撮像された光の波長を検出できないため、色情報を判定できない。
【００３６】
従って、撮像素子は、色情報を撮像するために撮像素子の画素アレイと重なり合うか又は画素アレイ上に配設されるカラーフィルタアレイ（ＣＦＡ）を更に含む。カラーフィルタアレイは小さなカラーフィルタのアレイを含み、各カラーフィルタは、撮像素子の各画素と重なり且つ撮像した光を波長によりフィルタリングする。従って、カラーフィルタアレイ及び受光器は、共に使用される場合、撮像した画像を表すカメラを介して撮像された光に関して波長及び明度情報を提供する。
【００３７】
一実施形態において、カラーフィルタアレイは、ベイヤカラーフィルタアレイを含み、５０％が緑色要素であり、２５％が赤色要素であり且つ２５％が青色要素であるフィルタパターンを提供する。例えば図２は、ベイヤＣＦＡの２×２画素ブロックが２つの緑色要素（Ｇｒ及びＧｂ）、１つの赤色要素（Ｒ）及び１つの青色要素（Ｂ）を含むことを示す。従って、ベイヤカラーフィルタアレイを利用する撮像素子は、緑色波長、赤色波長及び青色波長でカメラ３０が受光した光の明度に関する情報を提供し、それにより各画像画素は３色（ＲＧＢ）のうち１色のみを記録する。「raw画像データ」又は「raw領域」のデータと呼ばれるこの情報は、１つ以上のデモザイク技術を使用して処理され、一般に画素毎に赤色値、緑色値及び青色値の集合を補間することによりraw画像データをフルカラー画像に変換する。以下に更に説明するように、そのようなデモザイク技術は画像処理回路網３２により実行される。
【００３８】
上述したように、画像処理回路網３２は、欠陥画素検出／補正、レンズシェーディング補正、デモザイク、画像鮮明化、雑音除去、ガンマ補正、画像強調、色空間変換、画像圧縮、クロマサブサンプリング及び画像スケーリング動作等の種々の画像処理ステップを提供する。いくつかの実施形態において、画像処理回路網３２は、種々の画像処理ステップの各々を実行するための画像処理「パイプライン」をまとめて形成するロジック部の種々の副構成要素及び／又は別個のユニットを含む。これらの副構成要素は、ハードウェア（例えば、デジタル信号プロセッサ又はＡＳＩＣ）又はソフトウェアを使用して、あるいはハードウェアコンポーネント及びソフトウェアコンポーネントの組み合わせを介して実現される。画像処理回路網３２により提供される種々の画像処理動作、特に欠陥画素検出／補正、レンズシェーディング補正、デモザイク及び画像鮮明化に関係する処理動作について、以下に更に詳細に説明する。
【００３９】
説明を続ける前に、以下に説明する種々の処理技術の種々の実施形態はベイヤＣＦＡを利用するが、本明細書で開示する技術はそれに関して限定されること意図しない。実際には、本明細書で提供される画像処理技術は、ＲＧＢＷフィルタ及びＣＹＧＭフィルタ等を含むあらゆる適切な種類のカラーフィルタアレイに適用可能であることが当業者には理解されるだろう。
【００４０】
電子装置１０を再度参照すると、図３〜図６は、電子装置１０がとる種々の形態を示す。上述したように、電子装置１０は、一般に携帯型であるコンピュータ（ラップトップコンピュータ、ノートブックコンピュータ及びタブレットコンピュータ等）並びに一般に非携帯型であるコンピュータ（デスクトップコンピュータ、ワークステーション及び／又はサーバ等）又はハンドヘルドポータブル電子装置（例えばデジタルメディアプレーヤ又は移動電話）等の他の種類の電子装置を含むコンピュータの形態をとる。特に図３及び図４は、ラップトップコンピュータ４０及びデスクトップコンピュータ５０の形態の電子装置１０をそれぞれ示す。図５及び図６は、それぞれハンドヘルドポータブル装置６０の形態の電子装置１０を示す正面図及び背面図である。
【００４１】
図３に示すように、図示するラップトップコンピュータ４０は、筐体４２、ディスプレイ２８、Ｉ／Ｏポート１２及び入力構造１４を含む。入力構造１４は、筐体４２に組み込まれるキーボード及びタッチパッドマウスを含む。更に入力構造１４は、例えばコンピュータ４０で実行するアプリケーション又はＧＵＩを動作するためにコンピュータの電源を投入するか又はコンピュータを開始するため、並びにコンピュータ４０の動作に関連する他の種々の要素（例えば、音量、ディスプレイの明るさ等）を調整するためにコンピュータ４０と対話するのに使用される種々の他のボタン及び／又はスイッチを含む。コンピュータ４０は、上述したようにＦｉｒｅＷｉｒｅ（登録商標）又はＵＳＢポート、高品位マルチメディアインタフェース（ＨＤＭＩ）ポート、あるいは外部装置への接続に適したあらゆる他の種類のポート等の追加の装置に対する接続性を提供する種々のＩ／Ｏポート１２を更に含む。また、図１を参照して上述したように、コンピュータ４０は、ネットワーク接続性（例えば、ネットワーク装置２６）、メモリ（例えば、メモリ２０）及び記憶機能（例えば、記憶装置２２）を含む。
【００４２】
更に、図示する実施形態において、ラップトップコンピュータ４０は内蔵撮影装置３０（例えば、カメラ）を含む。他の実施形態において、ラップトップコンピュータ４０は、内蔵カメラ３０の代わりに又は内蔵カメラ３０に加えて１つ以上のＩ／Ｏポート１２に接続された外部カメラ（例えば、外部ＵＳＢカメラ又は「ｗｅｂｃａｍ」）を利用する。例えば外部カメラは、Ａｐｐｌｅ  Ｉｎｃ．から市販されているｉＳｉｇｈｔ（登録商標）カメラである。カメラ３０は、内蔵カメラであっても外部カメラであっても画像の撮像及び記録を提供する。そのような画像は、画像閲覧アプリケーションを使用してユーザにより閲覧されるか、あるいはｉＣｈａｔ（登録商標）等のテレビ会議アプリケーション及びＡｐｐｌｅ  Ｉｎｃ．から市販されているＰｈｏｔｏ  Ｂｏｏｔｈ（登録商標）、Ａｐｅｒｔｕｒｅ（登録商標）、ｉＰｈｏｔｏ（登録商標）又はＰｒｅｖｉｅｗ（登録商標）等の画像編集／閲覧アプリケーションを含む他のアプリケーションにより利用される。特定の実施形態において、図示するラップトップコンピュータ４０は、Ａｐｐｌｅ  Ｉｎｃ．から市販されているある機種のＭａｃＢｏｏｋ（登録商標）、ＭａｃＢｏｏｋ（登録商標）Ｐｒｏ、ＭａｃＢｏｏｋ  Ａｉｒ（登録商標）又はＰｏｗｅｒＢｏｏｋ（登録商標）である。更に一実施形態において、コンピュータ４０は、Ａｐｐｌｅ  Ｉｎｃ．から市販されているある機種のｉＰａｄ（登録商標）タブレットコンピュータ等のポータブルタブレットコンピューティングデバイスである。
【００４３】
図４は、電子装置１０がデスクトップコンピュータ５０として提供される一実施形態を更に示す。理解されるように、デスクトップコンピュータ５０は、一般に図４に示すラップトップコンピュータ４０により提供される特徴と類似する多くの特徴を含むが、一般に全体のフォームファクタはより大きい。図示するように、デスクトップコンピュータ５０は、ディスプレイ２８並びに図１に示したブロック図に関して上述した種々の他の構成要素を含むエンクロージャ４２に収納される。更にデスクトップコンピュータ５０は、１つ以上のＩ／Ｏポート１２（例えば、ＵＳＢ）を介してコンピュータ５０に結合されるか又はコンピュータ５０と無線（例えば、ＲＦ、Ｂｌｕｅｔｏｏｔｈ等）で通信する外部キーボード及びマウス（入力構造１４）を含む。上述したように、デスクトップコンピュータ５０は、内蔵カメラ又は外部カメラである撮影装置３０を更に含む。特定の実施形態において、図示するデスクトップコンピュータ５０は、Ａｐｐｌｅ  Ｉｎｃ．から市販されているある機種のｉＭａｃ（登録商標）、Ｍａｃ（登録商標）ｍｉｎｉ又はＭａｃ  Ｐｒｏ（登録商標）である。
【００４４】
更に図示するように、ディスプレイ２８は、ユーザにより閲覧される種々の画像を生成するように構成される。例えばコンピュータ５０の動作中、ディスプレイ２８は、ユーザがオペレーティングシステム及び／又はコンピュータ５０で実行するアプリケーションと対話できるようにするグラフィカルユーザインタフェース（「ＧＵＩ」）５２を表示する。ＧＵＩ５２は、表示装置２８の全体又は一部に表示される種々のレイヤ、ウィンドウ、画面、テンプレート又は他の図形要素を含む。例えば図示する実施形態において、オペレーティングシステムＧＵＩ５２は種々のグラフィックアイコン５４を含み、各アイコンは、ユーザ選択（例えば、キーボード／マウス又はタッチスクリーン入力を介する）が検出されると開かれるか又は実行される種々のアプリケーションに対応する。アイコン５４は、ドック５６に表示されるか、あるいは画面に表示された１つ以上のグラフィックウィンドウ要素５８内に表示される。いくつかの実施形態において、アイコン５４の選択により、ある画面が表示されるか、あるいは１つ以上の追加のアイコン又は他のＧＵＩ要素を含む別のグラフィックウィンドウが開かれるように、アイコン５４の選択により階層ナビゲーション処理を開始する。単なる例として、図４で表示されたオペレーティングシステムＧＵＩ５２は、Ａｐｐｌｅ  Ｉｎｃ．から市販されているあるバージョンのＭａｃ  ＯＳ（登録商標）オペレーティングシステムのものである。
【００４５】
図５及び図６に継続すると、電子装置１０は、Ａｐｐｌｅ  Ｉｎｃ．から市販されているある機種のｉＰｏｄ（登録商標）又はｉＰｈｏｎｅ（登録商標）であるポータブルハンドヘルド電子装置６０の形態で更に示される。図示する実施形態において、ハンドヘルド装置６０は、内部構成要素を物理的損傷から保護し且つ電磁妨害から保護するように機能するエンクロージャ４２を含む。エンクロージャ４２は、プラスチック、金属又は複合材料等のあらゆる適切な材料又は材料の組み合わせから形成され、図５に示すようにエンクロージャ４２内に配設される無線通信回路網（例えば、ネットワーク装置２４）まで無線ネットワーク信号等の特定の周波数の電磁放射を通過させる。
【００４６】
エンクロージャ４２は、ユーザがハンドヘルド装置６０とインタフェースする際に介する種々のユーザ入力構造１４を更に含む。例えば各入力構造１４は、押下された時又は起動された時に１つ以上の各装置を制御するように構成される。例として、１つ以上の入力構造１４は、例えばスリープモード、起動モード又は電源オン／オフモードの間で切り換えるため、携帯電話アプリケーションに対する呼び出し音を消すため、音量出力を増加又は低下するために、表示される「ホーム」画面４２又はメニューを呼び出すように構成される。図示する入力構造１４は単なる例示であること、並びにハンドヘルド装置６０はボタン、スイッチ、キー、ノブ及びスクロールホイール等を含む種々の形態で存在する適切なユーザ入力構造をいくつ含んでもよいことが理解されるべきである。
【００４７】
図５に示すように、ハンドヘルド装置６０は種々のＩ／Ｏポート１２を含む。例えば図示するＩ／Ｏポート１２は、データファイルを送信及び受信するため又は電源２６を充電するための自社開発の接続ポート１２ａと、装置６０をオーディオ出力装置（例えば、ヘッドホン又はスピーカ）に接続するためのオーディオ接続ポート１２ｂとを含む。更にハンドヘルド装置６０が移動電話機能性を提供する実施形態において、装置６０は、加入者識別モジュール（ＳＩＭ）カード（例えば、拡張カード２２）を受け入れるＩ／Ｏポート１２ｃを含む。
【００４８】
ＬＣＤ、ＯＬＥＤ又はあらゆる適切な種類のディスプレイである表示装置２８は、ハンドヘルド装置６０により生成された種々の画像を表示する。例えばディスプレイ２８は、電力状態、信号明度及び外部装置接続等のハンドヘルド装置６０の１つ以上の状態に関してユーザにフィードバックを提供する種々のシステム標識６４を表示する。ディスプレイは、図４を参照して上述したようにユーザが装置６０と対話できるようにするＧＵＩ５２を更に表示する。ＧＵＩ５２は、各アイコン５４のユーザ選択の検出時に開かれるか又は実行される種々のアプリケーションに対応するアイコン５４等のグラフィック要素を含む。例として、アイコン５４の１つは、画像を取得するカメラ３０（図５に想像線で示される）と共に使用されるカメラアプリケーション６６を表する。図６を参照すると、図５に示すハンドヘルド電子装置６０の背面図が示され、カメラ３０が筐体４２と一体化されており且つハンドヘルド装置６０の背面に位置付けられていることを示す。
【００４９】
上述したように、カメラ３０を使用して取得された画像データは画像処理回路網３２を使用して処理される。画像処理回路網３２は、ハードウェア（例えば、エンクロージャ４２内に配設された）及び／又は装置６０の１つ以上の記憶装置（例えば、メモリ１８又は不揮発性記憶装置２０）に格納されたソフトウェアを含む。カメラアプリケーション６６及びカメラ３０を使用して取得された画像は、装置６０（例えば、記憶装置２０）に格納され、写真閲覧アプリケーション６８を使用して後で閲覧される。
【００５０】
ハンドヘルド装置６０は、種々のオーディオ入力及び出力要素を含む。例えば一般に図中符号７０により示されるオーディオ入出力要素は、１つ以上のマイク等の入力受信機を含む。例えばハンドヘルド装置６０が携帯電話機能性を含む場合、入力受信機は、ユーザの声等のユーザオーディオ入力を受信するように構成される。更にオーディオ入出力要素７０は、１つ以上の出力送信機を含む。そのような出力送信機は、メディアプレーヤアプリケーション７２を使用した音楽データの再生中等にユーザにオーディオ信号を送信するように機能する１つ以上のスピーカを含む。更にハンドヘルド装置６０が携帯電話アプリケーションを含む実施形態において、図５に示すように、追加のオーディオ出力送信機７４が提供される。オーディオ入出力要素７０の出力送信機のように、出力送信機７４は、通話中に受信した音声データ等のオーディオ信号をユーザに送信するように構成された１つ以上のスピーカを更に含む。従って、オーディオ入出力要素７０及び７４は、電話のオーディオ受信及び送信要素として機能するように共に動作する。
【００５１】
電子装置１０がとる可能性のある種々の形態に関してある状況を仮定して、本発明はここで図１に示す画像処理回路網３２に注目する。上述したように、画像処理回路網３２は、ハードウェアコンポーネント及び／又はソフトウェアコンポーネントを使用して実現され、画像信号処理（ＩＳＰ）パイプラインを規定する種々の処理ユニットを含む。特に以下の説明は、本発明で示す画像処理技術の態様、特に欠陥画素検出／補正技術、レンズシェーディング補正技術、デモザイク技術及び画像鮮明化技術に関連する態様に注目する。
【００５２】
図７を参照すると、本明細書で開示される技術の一実施形態に従って、画像処理回路網３２の一部として実現されるいくつかの機能構成要素を示す簡略化された上位レベルのブロック図が示される。特に図７は、少なくとも１つの実施形態に従った画像処理回路網３２を介した画像データフローを示す。画像処理回路網３２の一般的な概要を提供するために、画像データを処理するためのそれら機能構成要素の動作方法について図７を参照して一般的に説明し、その一方で図示する各機能構成要素及びそれらの各副構成要素について以下に更に詳細に説明する。
【００５３】
図示する実施形態を参照すると、画像処理回路網３２は、画像信号処理（ＩＳＰ）フロントエンド処理ロジック部８０、ＩＳＰパイプ処理ロジック部８２及び制御ロジック部８４を含む。撮影装置３０により撮像された画像データは、まずＩＳＰフロントエンド処理ロジック部８０により処理され、ＩＳＰパイプ処理ロジック部８２及び／又は撮影装置３０に対する１つ以上の制御パラメータを判定するために使用される画像統計を撮像するために解析される。ＩＳＰフロントエンド処理ロジック部８０は、撮像素子入力信号から画像データを撮像するように構成される。例えば図７に示すように、撮影装置３０は、１つ以上のレンズ８８及び撮像素子９０を有するカメラを含む。上述したように、撮像素子９０は、カラーフィルタアレイ（例えば、ベイヤフィルタ）を含み、ＩＳＰフロントエンド処理ロジック部８０により処理されるraw画像データの集合を提供するために撮像素子９０の各撮像画素により撮像された光強度及び波長情報の双方を提供する。例えば撮影装置３０からの出力９２はセンサインタフェース９４により受信され、センサインタフェース９４は、例えばセンサインタフェースの種類に基づいてraw画像データ９６をＩＳＰフロントエンド処理ロジック部８０に提供する。例として、センサインタフェース９４は、ＳＭＩＡ（Ｓｔａｎｄａｒｄ  Ｍｏｂｉｌｅ  Ｉｍａｇｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ）インタフェース又はＭＩＰＩ（Ｍｏｂｉｌｅ  Ｉｎｄｕｓｔｒｙ  Ｐｒｏｃｅｓｓｏｒ  Ｉｎｔｅｒｆａｃｅ）、あるいはそれらの何らかの組み合わせを利用する。特定の実施形態において、ＩＳＰフロントエンド処理ロジック部８０は、自身のクロック領域内で動作し、種々のサイズの撮像素子及びタイミングに関する要求をサポートするために同期インタフェースをセンサインタフェース９４に提供する。
【００５４】
raw画像データ９６は、多くの形式でＩＳＰフロントエンド処理ロジック部８０に提供され且つ画素毎に処理される。例えば各画像画素は、８、１０、１２又は１４ビットのビット深度を有する。ＩＳＰフロントエンド処理ロジック部８０は、raw画像データ９６に対して１つ以上の画像処理動作を実行し且つ画像データ９６に関する統計を収集する。画像処理動作及び統計データの収集は、同一のビット深度精度で実行されるか又は異なるビット深度精度で実行される。例えば一実施形態において、raw画像画素データ９６の処理は１４ビット精度で実行される。そのような実施形態において、１４ビット未満（例えば、８ビット、１０ビット、１２ビット）のビット深度を有するＩＳＰフロントエンド処理ロジック部８０により受信されたraw画像データは、画像処理の目的で１４ビットにアップサンプリングされる。別の実施形態において、統計処理は８ビット精度で行われ、より大きいビット深度を有するraw画素データは統計の目的で８ビット形式にダウンサンプリングされる。理解されるように、８ビットへのダウンサンプリングは、ハードェウェアサイズ（例えば、面積）を縮小し且つ統計データに対する処理／計算の複雑さを軽減するだろう。更にraw画像データは、統計データが雑音に対してより高いロバスト性を有することができるように空間的に平均される。
【００５５】
更に図７に示すように、ＩＳＰフロントエンド処理ロジック部８０は、メモリ１０８から画素データを受信する。例えば図中符号９８で示すように、raw画素データはセンサインタフェース９４からメモリ１０８に送出される。その後、メモリ１０８に常駐するraw画素データは、図中符号１００で示すように、処理するためにＩＳＰフロントエンド処理ロジック部８０に提供される。メモリ１０８は、メモリ素子１８の一部、記憶装置２０であるか、あるいは電子装置１０内の別個の専用メモリであり且つ直接メモリアクセス（ＤＭＡ）機能を含む。更に特定の実施形態において、ＩＳＰフロントエンド処理ロジック部８０は、自身のクロック領域内で動作し、種々のタイミング要求を有する種々のサイズのセンサをサポートするために同期インタフェースをセンサインタフェース９４に提供する。
【００５６】
raw画像データ９６（センサインタフェース９４から）又はraw画像データ１００（メモリ１０８から）を受信すると、ＩＳＰフロントエンド処理ロジック部８０は、時間フィルタリング及び／又はビニング補償フィルタリング等の１つ以上の画像処理動作を実行する。処理された画像データは、表示される（例えば、表示装置２８上に）前に追加の処理を行うためにＩＳＰパイプ処理ロジック部８２に提供されるか（出力信号１０９）、あるいはメモリに送出される（出力信号１１０）。ＩＳＰパイプ処理ロジック部８２は、「フロントエンド」処理されたデータをＩＳＰフロントエンド処理ロジック部８０又はメモリ１０８（入力信号１１２）から直接受信し、raw領域並びにＲＧＢ色空間及びＹＣｂＣｒ色空間の画像データの追加の処理を提供する。ＩＳＰパイプ処理ロジック部８２により処理された画像データは、ユーザが閲覧するためにディスプレイ２８に出力され（信号１１４）且つ／あるいはグラフィックエンジン又はＧＰＵにより更に処理される。また、ＩＳＰパイプ処理ロジック部８２からの出力は、メモリ１０８に送出され（信号１１５）、ディスプレイ２８はメモリ１０８から画像データを読み出す（信号１１６）。ある実施形態において、メモリ１０８は、１つ以上のフレームバッファを実現するように構成される。更にいくつかの実現例において、ＩＳＰパイプ処理ロジック部８２の出力は、画像データを符号化／復号化する圧縮／伸張エンジン１１８に更に提供される（信号１１７）。符号化画像データは格納され、その後、表示装置２８に表示される（信号１１９）前に伸張される。例として圧縮エンジン又は「符号器」１１８は、静止画を符号化するＪＰＥＧ圧縮エンジン、ビデオ画像を符号化するＨ．２６４圧縮エンジン又はそれらの何らかの組み合わせ、並びに画像データを復号化する対応する伸張エンジンである。ＩＳＰパイプ処理ロジック部８２において提供される画像処理動作に関する追加の情報については、図３２〜図６２に関して以下に更に詳細に説明する。尚、ＩＳＰパイプ処理ロジック部８２は、入力信号１１２で示すようにメモリ１０８からraw画像データを更に受信する。
【００５７】
ＩＳＰフロントエンド処理ロジック部８０により判定された統計データ１０２は、制御ロジックユニット８４に提供される。統計データ１０２は、例えば自動露出、自動ホワイトバランス、オートフォーカス、フリッカ検出、黒レベル補償（ＢＬＣ）及びレンズシェーディング補正等に関する撮像素子統計を含む。制御ロジック部８４は、受信統計データ１０２に基づいて撮影装置３０に対する制御パラメータ１０４及びＩＳＰパイプ処理ロジック部８２に対する制御パラメータ１０６を判定するように構成される１つ以上のルーチン（例えば、ファームウェア）を実行するように構成されたプロセッサ及び／又はマイクロコントローラを含む。単なる例として、制御パラメータ１０４は、センサ制御パラメータ（例えば、ゲイン、露出制御の積分時間）、カメラフラッシュ制御パラメータ、レンズ制御パラメータ（例えば、合焦又はズームの焦点距離）又はそのようなパラメータの組み合わせを含む。ＩＳＰ制御パラメータ１０６は、自動ホワイトバランス及び色調整（例えば、ＲＧＢ処理中）に対するゲインレベル及び色補正行列（ＣＣＭ）係数、並びに以下に説明するようにホワイトポイントバランスパラメータに基づいて判定されるレンズシェーディング補正パラメータを含む。いくつかの実施形態において、制御ロジック部８４は、統計データ１０２の解析に加えて、電子装置１０（例えば、メモリ１８又は記憶装置２０）に格納される履歴統計を更に解析する。
【００５８】
本明細書で示す画像処理回路網３２の一般的に複雑な設計のために、以下に示すようにＩＳＰフロントエンド処理ロジック部８０及びＩＳＰパイプ処理ロジック部８２の説明を別個の節に分ける方が有効だろう。特に本出願の図８〜図３１は、ＩＳＰフロントエンド処理ロジック部８０の種々の実施形態及び態様の説明に関連し、その一方で、本出願の図３２〜図６２は、ＩＳＰパイプ処理ロジック部８２の種々の実施形態及び態様の説明に関連する。
【００５９】
ＩＳＰフロントエンド処理ロジック部
図８は、一実施形態に従ってＩＳＰフロントエンド処理ロジック部８０において実現される機能ロジックブロックを示すより詳細なブロック図である。図７において上述したように、撮影装置３０及び／又はセンサインタフェース９４の構成に依存して、raw画像データは、１つ以上の撮像素子９０によりＩＳＰフロントエンド処理ロジック部８０に提供される。図示する実施形態において、raw画像データは、第１の撮像素子９０ａ（Ｓｅｎｓｏｒ０）及び第２の撮像素子９０ｂ（Ｓｅｎｓｏｒ１）によりＩＳＰフロントエンド処理ロジック部８０に提供される。図示するように、撮像素子９０ａ及び９０ｂは、raw画像データをそれぞれ信号Ｓｉｆ０及びＳｉｆ１として提供する。撮像素子９０ａ及び９０ｂは、統計処理ユニット１２０及び１２２とそれぞれ関連付けられる。
【００６０】
尚、raw画像データＳｉｆ０及びＳｉｆ１は、処理ユニット１２０及び１２２にそれぞれ直接提供されるか、あるいはメモリ１０８に格納されるか又は書き込まれた後、信号ＳｉｆＩｎ０及びＳｉｆＩｎ１としてそれぞれ検索される。従って、ＩＳＰフロントエンド処理ロジック部８０は、Ｓｅｎｓｏｒ０（９０ａ）により撮像されたraw画像データを表すＳｉｆ０又はＳｉｆＩｎ０信号を統計処理ユニット１２０に提供する選択ロジック部１２４を含み、Ｓｅｎｓｏｒ１（９０ｂ）により撮像されたraw画像データを表すＳｉｆ１又はＳｉｆＩｎ１信号を統計処理ユニット１２２に提供する選択ロジック部１２６を更に含む。統計処理ユニット１２０及び１２２の各々は、raw撮像素子データの解析を介して取得された種々の統計データを判定し、出力信号Ｓｔａｔｓ０及びＳｔａｔｓ１により示されるように統計の集合をそれぞれ提供する。上述したように、統計データ（Ｓｔａｔｓ０及びＳｔａｔｓ１）は、撮影装置３０及び／又はＩＳＰパイプ処理ロジック部８２を動作するために使用される種々の制御パラメータの判定のために制御ロジック部８４に提供される。
【００６１】
統計処理ユニット１２０及び１２２に加えて、ＩＳＰフロントエンド処理ロジック部８０は画素処理ユニット１３０を更に含む。画素処理ユニット１３０は、raw画像データに対して画素毎に種々の画像処理動作を実行する。図示するように、画素処理ユニット１３０は、選択ロジック部１３２を介して、raw画像信号Ｓｉｆ０（Ｓｅｎｓｏｒ０から）又はＳｉｆ１（Ｓｅｎｓｏｒ１から）を受信するか、あるいはメモリ１０８からraw画像データＦＥＰｒｏｃＩｎを受信する。理解されるように、図８に示す選択ロジックブロック（１２０、１２２及び１３２）は、制御信号に応答して複数の入力信号のうちの１つを選択するマルチプレクサ等のあらゆる適切な種類のロジック部により提供される。画素処理ユニット１３０は、以下に更に説明するように画素処理動作を実行する時に種々の信号（例えば、時間フィルタリング中に使用される動き履歴及びルマデータを表すＲｉｎ、Ｈｉｎ、Ｈｏｕｔ及びＹｏｕｔ）を受信及び出力する。画素処理ユニット１３０の出力１０９（ＦＥＰｒｏｃＯｕｔ）は、１つ以上の先入れ先出し（ＦＩＦＯ）キュー等を介してＩＳＰパイプ処理ロジック部８２に転送されるか、あるいはメモリ１０８に送出される。
【００６２】
図８のＩＳＰフロントエンド処理ロジック部８０において示される統計処理及び画素処理動作の更に詳細な説明を続ける前に、種々のＩＳＰフレーム領域の既定に関して簡単な概要を提供することにより、本発明の主題をより簡単に理解できるだろう。このことを考慮して、画像ソースフレーム内で規定される種々のフレーム領域を図９に示す。画像処理回路網３２に提供されたソースフレームに対する形式は、８、１０、１２又は１４ビット精度の画素形式を利用するのと同様に、上述したタイル又はリニアアドレス指定モードを使用する。図９に示すような画像ソースフレーム１５０は、センサフレーム領域１５２、rawフレーム領域１５４及びアクティブ領域１５６を含む。一般にセンサフレーム１５２は、撮像素子９０が画像処理回路網３２に提供できる最大フレームサイズである。rawフレーム領域１５４は、ＩＳＰフロントエンド処理ロジック部８０に送出されるセンサフレーム１５２の領域として規定される。アクティブ領域１５６は、一般に特定の画像処理動作のために処理が実行されるrawフレーム領域１５４内のソースフレーム１５０の一部として規定される。本技術の実施形態によると、アクティブ領域１５６は、種々の画像処理動作に対して同一であっても異なってもよい。
【００６３】
本技術の態様によると、ＩＳＰフロントエンド処理ロジック部８０はrawフレーム１５４のみを受信する。従って、説明の目的で、ＩＳＰフロントエンド処理ロジック部８０に対するグローバルフレームサイズは、幅１５８及び高さ１６０により判定されるようなrawフレームサイズと仮定される。いくつかの実施形態において、センサフレーム１５２の境界からrawフレーム１５４までのオフセットは、制御ロジック部８４により判定され且つ／又は維持される。例えば制御ロジック部８４は、センサフレーム１５２に対して特定されるｘオフセット１６２及びｙオフセット１６４等の入力パラメータに基づいてrawフレーム領域１５４を判定するファームウェアを含む。更にいくつかの例において、ＩＳＰフロントエンド処理ロジック部８０又はＩＳＰパイプ処理ロジック部８２内の処理ユニットは、rawフレーム内にあるがアクティブ領域１５６外にある画素が処理されないように、すなわち変更されないままであるように、規定されたアクティブ領域を有する。例えば幅１６６及び高さ１６８を有する特定の処理ユニットに対するアクティブ領域１５６は、rawフレーム１５４に対するｘオフセット１７０及びｙオフセット１７２に基づいて規定される。更にアクティブ領域が特に規定されない場合、画像処理回路網３２の一実施形態は、アクティブ領域１５６がrawフレーム１５４と同一である（例えば、ｘオフセット１７０及びｙオフセット１７２は双方とも０である）と仮定する。従って、画像データに対して実行される画像処理動作の目的で、境界条件はrawフレーム１５４又はアクティブ領域１５６の境界に対して規定される。
【００６４】
これらの点を考慮して図１０を参照すると、ＩＳＰフロントエンド画素処理ロジック部１３０（図８において先に説明した）の更に詳細な図が本技術の一実施形態に従って示される。図示するように、ＩＳＰフロントエンド画素処理ロジック部１３０は、時間フィルタ１８０及びビニング補償フィルタ１８２を含む。時間フィルタ１８０は、入力画像信号Ｓｉｆ０、Ｓｉｆ１又はＦＥＰｒｏｃＩｎのうちの１つを受信し、いずれかの追加の処理が実行される前にraw画素データに対して動作する。例えば時間フィルタ１８０は、最初に時間方向に画像フレームを平均することにより雑音を低減するために画像データを処理する。
【００６５】
時間フィルタ１８０は、動き及び明るさの特性に基づいて画素適応性を有する。例えば画素の動きが多い場合、結果として得られる処理済み画像において「トレーリング」又は「ゴーストアーチファクト」が発生するのを回避するために、フィルタリング明度は低減され、その一方で動きが殆ど又は全く検出されない場合はフィルタリング明度が増加される。更にフィルタリング明度は、明るさのデータ（例えば、「ルマ」）に基づいて調整される。例えば画像の明るさが増加すると、フィルタリングアーチファクトは人の眼でより見えやすくなる。従って、画素が高レベルな明るさを有する場合、フィルタリング明度は更に低減される。
【００６６】
時間フィルタリングを適用する際、時間フィルタ１８０は、先にフィルタリングされたフレーム又は元のフレームから得られる参照画素データ（Ｒｉｎ）及び動き履歴入力データ（Ｈｉｎ）を受信する。時間フィルタ１８０は、これらのパラメータを使用して、動き履歴出力データ（Ｈｏｕｔ）及びフィルタリングされた画素出力（Ｙｏｕｔ）を提供する。フィルタリングされた画素出力Ｙｏｕｔは、ビニング補償フィルタ１８２に渡される。ビニング補償フィルタ１８２は、出力信号ＦＥＰｒｏｃＯｕｔを生成するためにフィルタリングされた画素出力データＹｏｕｔに対して１つ以上のスケーリング動作を実行するように構成される。上述したように、処理された画素データＦＥＰｒｏｃＯｕｔは、その後ＩＳＰパイプ処理ロジック部８２に転送される。
【００６７】
図１１を参照すると、図１０に示した時間フィルタにより実行される時間フィルタリング処理１９０を示す処理図が第１の実施形態に従って示される。時間フィルタ１８０は２タップフィルタを含み、フィルタ係数は、動き及び明るさのデータに少なくとも部分的に基づいて画素毎に適応的に調整される。例えば変数「ｔ」が時間値を示す場合の入力画素ｘ（ｔ）は、フィルタ係数を含む動き履歴テーブル（Ｍ）１９２において動き指標ルックアップテーブルを生成するために先にフィルタリングされたフレーム又は元の先行フレームの参照画素ｒ（ｔ−１）と比較される。更に、動き履歴入力データｈ（ｔ−１）に基づいて、現在の入力画素ｘ（ｔ）に対応する動き履歴出力ｈ（ｔ）が判定される。
【００６８】
動き履歴出力ｈ（ｔ）及びフィルタ係数Ｋは、動きデルタｄ（ｊ，ｉ，ｔ）に基づいて判定され、（ｊ，ｉ）は現在の画素ｘ（ｊ，ｉ，ｔ）の空間位置の座標を表す。動きデルタｄ（ｊ，ｉ，ｔ）は、水平方向に同一の場所に配置された同一色の３つの画素に対する参照画素と元の画素との間の３つの絶対デルタのうちの最大値を判定することにより計算される。例えば図１２を参照すると、元の入力画素２０６、２０８及び２１０に対応するそれぞれ同一の場所に配置された３つの参照画素２００、２０２及び２０４の空間位置が示される。一実施形態において、動きデルタは、以下の式を使用してそれらの元の画素及び参照画素に基づいて算出される。
【００６９】
0005643320.tif 000002
動きデルタ値を判定する本技術を示すフローチャートを図１４において以下に更に示す。更に上記式１ａ（及び以下の図１４）に示すように動きデルタ値を算出する技術は、動きデルタ値を判定する一実施形態を提供することのみを意図することが理解されるべきである。
【００７０】
他の実施形態において、同一色の画素のアレイは、動きデルタ値を判定するために評価される。例えば動きデルタ値を判定する一実施形態は、式１ａで参照される３つの画素に加えて、参照画素２０６、２０８及び２１０並びにそれらに対応する同一の場所に配置された画素の上の２つの行（例えば、ベイヤパターンを仮定するとｊ−２）と参照画素２０６、２０８及び２１０並びにそれらに対応する同一の場所に配置された画素の下の２つの行（例えば、ベイヤパターンを仮定するとｊ＋２）との同一色の画素の間の絶対デルタを評価することを更に含む。例えば一実施形態において、動きデルタ値は以下のように表される。
0005643320.tif 000003
【００７１】
従って、式１ｂで示した実施形態において、動きデルタ値は、現在の画素（２０８）が同一色の画素の３×３アレイ（例えば、実際には、種々の色の画素がカウントされる場合、ベイヤ色パターンに対して５×５アレイである）の中心に配置されている状態でその３×３アレイの間の絶対デルタを比較することにより判定される。現在の画素（例えば２０８）がアレイの中心に配置されている同一色の画素のあらゆる適切な２次元アレイ（例えば、同一行の全ての画素を有するアレイ（例えば、式１ａ）又は同一列の全ての画素を有するアレイ）を含む）は、動きデルタ値を判定するために解析されることが理解されるべきである。更に動きデルタ値が絶対デルタの最大値として判定される（例えば、式１ａ及び１ｂに示すように）一方で、他の実施形態において、動きデルタ値は、絶対デルタの平均値又は中央値として選択できる。更に上記技術は、他の種類のカラーフィルタアレイ（例えば、ＲＧＢＷ、ＣＹＧＭ等）に適用され、ベイヤパターン専用であることを意図しない。
【００７２】
図１１に戻ると、動きデルタ値が判定された時に、動きテーブル（Ｍ）１９２からフィルタ係数Ｋを選択するのに使用される動き指標ルックアップは、現在の画素（例えば空間位置（ｊ，ｉ）にある）に対する動きデルタｄ（ｔ）と動き履歴入力ｈ（ｔ−１）とを合計することにより算出される。例えばフィルタ係数Ｋは以下のように判定される。
0005643320.tif 000004
【００７３】
更に動き履歴出力ｈ（ｔ）は、以下の式を使用して判定される。
0005643320.tif 000005
【００７４】
次に現在の入力画素ｘ（ｔ）の明るさは、ルマテーブル（Ｌ）１９４においてルマ指標ルックアップを生成するために使用される。一実施形態において、ルマテーブルは、０〜１の減衰率を含み、ルマ指標に基づいて選択される。第２のフィルタ係数Ｋ'は、以下の式に示すように第１のフィルタ係数Ｋとルマ減衰率とを乗算することにより算出される。
0005643320.tif 000006
【００７５】
Ｋ'に対して判定された値は、時間フィルタ１８０に対するフィルタ係数として使用される。上述したように、時間フィルタ１８０は２タップフィルタである。更に時間フィルタ１８０は、フィルタリングされた先行フレームを使用する無限インパルス応答（ＩＩＲ）フィルタとして又は元の先行フレームを使用する有限インパルス応答（ＦＩＲ）フィルタとして構成される。時間フィルタ１８０は、現在の入力画素ｘ（ｔ）、参照画素ｒ（ｔ−１）及びフィルタ係数Ｋ'を使用し、以下の式を使用してフィルタリング済み出力画素ｙ（ｔ）（Ｙｏｕｔ）を計算する。
0005643320.tif 000007
【００７６】
上述したように、図１１に示す時間フィルタリング処理１９０は画素毎に実行される。一実施形態において、同一の動きテーブルＭ及びルマテーブルＬは全ての色成分（例えば、Ｒ、Ｇ及びＢ）に対して使用される。更にいくつかの実施形態は、制御ロジック部８４からの制御信号に応答するなどして時間フィルタリングを回避するバイパス機構を提供する。更に図１６及び図１７に関して以下に説明するように、時間フィルタ１８０の一実施形態は、画像データの色成分毎に別個の動きテーブル及びルマテーブルを利用する。
【００７７】
図１１及び図１２を参照して説明した時間フィルタリング技術の実施形態は、図１３において更によく理解されるだろう。図１３は、上述した実施形態に従って方法２１４を示すフローチャートである。方法２１４はステップ２１６で開始し、画像データの現在のフレームの空間位置（ｊ，ｉ）に配置された現在の画素ｘ（ｔ）が時間フィルタリングシステム１９０により受信される。ステップ２１８において、画像データの先行フレーム（例えば、現在のフレームの直前の画像フレーム）の同一の場所に配置された１つ以上の参照画素（例えば、ｒ（ｔ−１））に少なくとも部分的に基づいて、動きデルタ値ｄ（ｔ）が現在の画素ｘ（ｔ）に対して判定される。ステップ２１８における動きデルタ値ｄ（ｔ）を判定する技術は、図１４を参照して以下に更に説明され、上記で示したように式１ａに従って実行される。
【００７８】
ステップ２１８の動きデルタ値ｄ（ｔ）が取得されると、ステップ２２０に示すように、動きテーブルルックアップ指標が動きデルタ値ｄ（ｔ）及び先行フレームの空間位置（ｊ，ｉ）に対応する動き履歴入力値ｈ（ｔ−１）を使用して判定される。更に、図示しないが、現在の画素ｘ（ｔ）に対応する動き履歴値ｈ（ｔ）は、例えば上記の式３ａを使用して、動きデルタ値ｄ（ｔ）が認識された後にステップ２２０において判定される。その後、ステップ２２２において、第１のフィルタ係数Ｋは、ステップ２２０からの動きテーブルルックアップ指標を使用して動きテーブル１９２から選択される。動きテーブルルックアップ指標の判定及び動きテーブルからの第１のフィルタ係数Ｋの選択は、上記で示したように式２ａに従って実行される。
【００７９】
次にステップ２２４において、減衰率はルマテーブル１９４から選択される。例えばルマテーブル１９４は、約０〜１の範囲の減衰率を含み、減衰率は、現在の画素ｘ（ｔ）の値をルックアップ指標として使用してルマテーブル１９４から選択される。減衰率が選択されると、上記の式４ａで示したように、第２のフィルタ係数Ｋ'は選択された減衰率及び第１のフィルタ係数Ｋ（ステップ２２２からの）を使用してステップ２２６で判定される。その後、ステップ２２８において、現在の入力画素ｘ（ｔ）に対応する時間フィルタリング済み出力値ｙ（ｔ）は、第２のフィルタ係数Ｋ'（ステップ２２４からの）、同一の場所に配置された参照画素ｒ（ｔ−１）の値及び入力画素ｘ（ｔ）の値に基づいて判定される。例えば一実施形態において、上記で示したように、出力値ｙ（ｔ）は式５ａに従って判定される。
【００８０】
図１４を参照すると、方法２１４の動きデルタ値ｄ（ｔ）を判定するステップ２１８が一実施形態に従って更に詳細に示される。特に動きデルタ値ｄ（ｔ）の判定は、一般に式１ａに従って上記で示した動作に対応する。図示するように、ステップ２１８は、サブステップ２３２〜２３８を含む。サブステップ２３２で開始すると、現在の入力画素ｘ（ｔ）と同一の色値を有する３つの水平隣接画素の集合が識別される。例として、図１２に示した実施形態に従って、画像データはベイヤ画像データを含み、３つの水平隣接画素は、現在の入力画素ｘ（ｔ）（２０８）、現在の入力画素２０８の左側にある同一色の第２の画素２０６及び現在の入力画素２０８の右側にある同一色の第３の画素を含む。
【００８１】
次にサブステップ２３４において、選択された３つの水平隣接画素２０６、２０８及び２１０の集合に対応する先行フレームの同一の場所に配置された３つの参照画素２００、２０２及び２０４が識別される。サブステップ２３６において、選択された画素２０６、２０８及び２１０並びに同一の場所に配置された３つの参照画素２００、２０２及び２０４を使用して、選択された３つの画素２０６、２０８及び２１０とそれらに対応する同一の場所に配置された参照画素２００、２０２及び２０４との間の絶対差分値がそれぞれ判定される。次にサブステップ２３８において、サブステップ２３６からの３つの差分の最大値は、現在の入力画素ｘ（ｔ）に対する動きデルタ値ｄ（ｔ）として選択される。上述したように、式１ａに示した動きデルタ値算出技術を示す図１４は、一実施形態を提供することのみを意図する。実際には、上述したように、現在の画素がアレイの中心に置かれた同一色の画素のあらゆる適切な２次元アレイは、動きデルタ値（例えば、式１ｂ）を判定するために使用される。
【００８２】
画像データに時間フィルタリングを適用する技術の別の実施形態を図１５に更に示す。例えば画像データの種々の色成分に対する信号対雑音比が異なるため、動きテーブル１９２から動き値を及びルマテーブル１９４からルマ値を選択する前に現在の画素が得られるように、あるゲインが現在の画素に適用される。色に依存する各ゲインを適用することにより、信号対雑音比は種々の色成分間でより一定になるだろう。単なる例として、rawベイヤ画像データを使用する一実現例において、一般に赤色チャネル及び青色チャネルは、緑（Ｇｒ及びＧｂ）色チャネルより感度が高い。従って、色に依存する適切なゲインを各処理済み画素に適用することにより、一般に色成分間の信号対雑音比の変動は、低減され且つそれにより特にゴーストアーチファクトが低減され、また、自動ホワイトバランスゲインの後の種々の色にわたり一定となるだろう。
【００８３】
このことを考慮すると、図１５は、そのような一実施形態に従ってフロントエンド処理ユニット１３０により受信された画像データに時間フィルタリングを適用する方法２４０を示すフローチャートを提供する。ステップ２４２で開始すると、画像データの現在のフレームの空間位置（ｊ，ｉ）に配置された現在の画素ｘ（ｔ）は、時間フィルタリングシステム１９０により受信される。ステップ２４４において、動きデルタ値ｄ（ｔ）は、画像データの先行フレーム（例えば、現在のフレームの直前の画像フレーム）の同一の場所に配置された１つ以上の参照画素（例えば、ｒ（ｔ−１））に少なくとも部分的に基づいて現在の画素ｘ（ｔ）に対して判定される。ステップ２４４は、図１３のステップ２１８に類似し、上記の式１で表された動作を利用する。
【００８４】
次のステップ２４６において、動きテーブルルックアップ指標は、動きデルタ値ｄ（ｔ）、先行フレームの空間位置（ｊ，ｉ）に対応する（例えば、同一の場所に配置された参照画素ｒ（ｔ−１）に対応する）動き履歴入力値ｈ（ｔ−１）及び現在の画素の色と関連付けられたゲインを使用して判定される。その後、ステップ２４８において、第１のフィルタ係数Ｋは、ステップ２４６で判定された動きテーブルルックアップ指標を使用して動きテーブル１９２から選択される。単なる例として、一実施形態において、フィルタ係数Ｋ及び動きテーブルルックアップ指標は以下のように判定される。
0005643320.tif 000008
【００８５】
式中、Ｍは動きテーブルを表し、ｇａｉｎ［ｃ］は現在の画素の色と関連付けられたゲインに対応する。更に図１５には示さないが、現在の画素に対する動き履歴出力値ｈ（ｔ）が判定され、後続画像フレーム（例えば、次のフレーム）の同一の場所に配置された画素に時間フィルタリングを適用するために使用されることが理解されるべきである。本実施形態において、現在の画素ｘ（ｔ）に対する動き履歴出力ｈ（ｔ）は、以下の式を使用して判定される。
0005643320.tif 000009
【００８６】
次のステップ２５０において、減衰率は、現在の画素ｘ（ｔ）の色と関連付けられたゲイン（ｇａｉｎ「ｃ」）に基づいて判定されたルマテーブルルックアップ指標を使用してルマテーブル１９４から選択される。上述したように、ルマテーブルに格納された減衰率は約０〜１の範囲を有する。その後、ステップ２５２において、第２のフィルタ係数Ｋ'は減衰率（ステップ２５０からの）及び第１のフィルタ係数Ｋ（ステップ２４８からの）に基づいて算出される。単なる例として、一実施形態において、第２のフィルタ係数Ｋ'及びルマテーブルルックアップ指標は以下のように判定される。
0005643320.tif 000010
次のステップ２５４において、現在の入力画素ｘ（ｔ）に対応する時間フィルタリング済み出力値ｙ（ｔ）は、第２のフィルタ係数Ｋ'（ステップ２５２からの）、同一の場所に配置された参照画素ｒ（ｔ−１）の値及び入力画素ｘ（ｔ）の値に基づいて判定される。例えば一実施形態において、出力値ｙ（ｔ）は以下のように判定される。
0005643320.tif 000011
図１６に継続すると、時間フィルタリング処理２６０の更なる一実施形態が示される。ここで、時間フィルタリング処理２６０は、色に依存するゲイン（例えば、ｇａｉｎ［ｃ］）を各入力画素に適用し且つ共有の動きテーブル及びルマテーブルを使用する代わりに別個の動きテーブル及びルマテーブルが色成分毎に提供されることを除いて、図１５で説明した実施形態と同様の方法で達成される。例えば図１６に示すように、動きテーブル１９２は、第１の色に対応する動きテーブル１９２ａ、第２の色に対応する動きテーブル１９２ｂ及び第ｎの色に対応する動きテーブル１９２ｃを含む。ｎは、raw画像データに存在する色の数に依存する。同様に、ルマテーブル１９４は、第１の色に対応するルマテーブル１９４ａ、第２の色に対応するルマテーブル１９４ｂ及び第ｎの色に対応するルマテーブル１９４ｃを含む。従って、raw画像データがベイヤ画像データである一実施形態において、３つの動きテーブル及びルマテーブルが赤色成分、青色成分及び緑色成分の各々に対して提供される。以下に説明するように、フィルタ係数Ｋ及び減衰率の選択は、現在の色（例えば、現在の入力画素の色）に対して選択された動きテーブル及びルマテーブルに依存する。
【００８７】
色に依存する動きテーブル及びルマテーブルを使用する時間フィルタリングに対する更なる一実施形態を示す方法２７０を図１７に示す。理解されるように、方法２７０により採用される種々の計算及び式は、図１３に示す実施形態に類似して特定の動きテーブル及びルマテーブルが色毎に選択されるか、あるいは図１５に示す実施形態に類似して色に依存するｇａｉｎ［ｃ］の使用を色に依存する動きテーブル及びルマテーブルの選択と置換する。
【００８８】
ステップ２７２で開始すると、画像データの現在のフレームの空間位置（ｊ，ｉ）に配置された現在の画素ｘ（ｔ）は時間フィルタリングシステム２６０（図１６）により受信される。ステップ２７４において、画像データの先行フレーム（例えば、現在のフレームの直前の画像フレーム）の同一の場所に配置された１つ以上の参照画素（例えば、ｒ（ｔ−１））に少なくとも部分的に基づいて、動きデルタ値ｄ（ｔ）が現在の画素ｘ（ｔ）に対して判定される。ステップ２７４は、図１３のステップ２１８に類似し、上記の式１に示した演算を利用する。
【００８９】
次にステップ２７６において、動きテーブルルックアップ指標は、先行フレームの空間位置（ｊ，ｉ）に対応する（例えば、同一の場所に配置された参照画素ｒ（ｔ−１）に対応する）動き履歴入力値ｈ（ｔ−１）及び動きデルタ値ｄ（ｔ）を使用して判定される。その後、ステップ２７８において、第１のフィルタ係数Ｋは、現在の入力画素の色に基づいて利用可能な動きテーブル（例えば、１９２ａ、１９２ｂ、１９２ｃ）のうちの１つから選択される。例えば適切な動きテーブルが識別されると、第１のフィルタ係数Ｋは、ステップ２７６で判定された動きテーブルルックアップ指標を使用して選択される。
【００９０】
第１のフィルタ係数Ｋを選択した後、ステップ２８０に示すように、現在の色に対応するルマテーブルが選択され、減衰率が選択されたルマテーブルから現在の画素ｘ（ｔ）の値に基づいて選択される。その後、ステップ２８２において、第２のフィルタ係数Ｋ'は、減衰率（ステップ２８０からの）及び第１のフィルタ係数Ｋ（ステップ２７８）に基づいて判定される。次のステップ２８４において、現在の入力画素ｘ（ｔ）に対応する時間フィルタリング済み出力値ｙ（ｔ）は、第２のフィルタ係数Ｋ'（ステップ２８２からの）、同一の場所に配置された参照画素ｒ（ｔ−１）の値及び入力画素ｘ（ｔ）の値に基づいて判定される。図１７に示した技術は、実現するのによりコストがかかる可能性がある（例えば、追加の動きテーブル及びルマテーブルを格納するのに必要とされるメモリのために）が、いくつかの例において、自動ホワイトバランスゲインの後の種々の色にわたる一貫性及びゴーストアーチファクトに関する更なる改善を提供する可能性がある。
【００９１】
更なる実施形態によると、時間フィルタ１８０により提供された時間フィルタリング処理は、時間フィルタリングを入力画素に適用するために色に依存するゲイン並びに色別の動きテーブル及び／又はルマテーブルの組み合わせを利用する。例えばそのような一実施形態において、単一の動きテーブルが全ての色成分に対して提供され、動きテーブルから第１のフィルタ係数（Ｋ）を選択するための動きテーブルルックアップ指標が色に依存するゲインに基づいて判定される（例えば、図１５のステップ２４６及び２４８に示すように）。その一方で、ルマテーブルルックアップ指標は、色に依存するゲインを適用されていない可能性があるが、現在の入力画素の色に従って複数のルマテーブルのうちの１つから明るさの減衰率を選択するために使用される（図１７のステップ２８０に示すように）。あるいは別の実施形態において、複数の動きテーブルが提供され、動きテーブルルックアップ指標（色に依存するゲインが適用されていない）は現在の入力画素の色に対応する動きテーブルから第１のフィルタ係数（Ｋ）を選択するために使用され（例えば、図１７のステップ２７８に示すように）、その一方で、単一のルマテーブルが全ての色成分に対して提供され、明るさの減衰率を選択するためのルマテーブルルックアップ指標は色に依存するゲインに基づいて判定される（例えば、図１５のステップ２５０及び２５２に示すように）。更に、ベイヤカラーフィルタアレイが利用される一実施形態において、１つの動きテーブル及び／又はルマテーブルが赤（Ｒ）色成分及び青（Ｂ）色成分の各々に対して提供され、その一方で共通の動きテーブル及び／又はルマテーブルが双方の緑色成分（Ｇｒ及びＧｂ）に対して提供される。
【００９２】
時間フィルタ１８０の出力は、ビニング補償フィルタ（ＢＣＦ）１８２に送出され、ＢＣＦ１８２は、カラーサンプルの線形配置に依存するＩＳＰパイプ処理ロジック部８２（例えば、デモザイク等）における後続の画像処理動作が正常に動作できるようにカラーサンプルの非線形配置を補償するために画像画素を処理する。更にＢＣＦ１８２は、垂直方向及び／又は水平方向のスケーリング等の１つ以上のスケーリング動作を適用することにより画素データを処理する。図１８は、開示される一実施形態に従って、スケーリングロジック部２９２及び微分解析器２９４を含むビニング補償フィルタ１８２を示すブロック図である。図１９は、スケーリング動作を実行するために利用される処理２９６を示す。
【００９３】
図１８に示すように、スケーリングロジック部２９２は、出力ＦＥＰｒｏｃＯｕｔ（１０９）を生成し、この出力は、上述したように、以下に更に説明するような追加の処理のためにＩＳＰパイプ処理ロジック部８２に転送される。一実施形態において、ＢＣＦ１８２により実行されたスケーリング動作は、ソース画像から画素を選択し、各画素と重み付け因子とを乗算し、且つ目標画素を形成するために画素値を合計する１つ以上のマルチタップポリフェーズフィルタを使用して実行される。理解されるように、スケーリング動作で使用される画素の選択は、現在の画素位置及びフィルタにより提供されるタップ数に少なくとも部分的に依存する。更にフィルタリング動作は、同一色の画素を使用して色成分毎に行われ、重み付け因子（又は係数）は、ルックアップテーブルから取得され、現在の画素間の断片の位置に基づいて判定される。
【００９４】
図示する実施形態において、微分解析器２９４はデジタル微分解析器（ＤＤＡ）であり、スケーリング動作中に現在の画素位置を制御するように構成される。単なる例として、ＤＤＡ２９４は、１２ビットの整数部及び２０ビットの小数部を有する２の補数の固定小数点数を含む３２ビットデータレジスタとして提供される。１２ビットの整数部は、現在の画素位置を判定するために使用される。小数部は、係数テーブルへの指標として使用される。一実施形態において、垂直方向及び水平方向のスケーリング成分は、２０ビットの小数部のうち上位３ビットが指標に対して使用されるように深度８の係数テーブルを利用する。
【００９５】
３２ビットＤＤＡレジスタ（ＤＤＡ［３１：０］）に基づく一例を提供するために、現在の中心のソース画素の場所（ｃｕｒｒＰｉｘｅｌ）は１２ビットの整数部ＤＤＡ［３１：２０］により規定され、次のビットＤＡ［１９］が１である場合は切り上げられる（＋１）。ｃｕｒｒＰｉｘｅｌに隣接する画素のソース画素値は、フィルタにより提供されるタップ数に従って取得される。例えば一実施形態において、垂直方向のスケーリングは、ｃｕｒｒＰｉｘｅｌの両側の同一色の１画素が選択されるように（例えば、−１、０、＋１）３タップポリフェーズフィルタを使用して実行され、水平方向のスケーリングは５タップポリフェーズフィルタを使用して実行され、ここでｃｕｒｒＰｉｘｅｌの両側の同一色の２つの画素が選択される（例えば、−２、−１、０、＋１、＋２）。更に各タップは、自身の係数テーブルを有する。従って、深度８の３つのテーブルが３タップ垂直スケーリングフィルタに対して提供され、深度８の５つのテーブルが５タップ水平スケーリングフィルタに対して提供される。現在の係数指標（ｃｕｒｒＩｎｄｅｘ）は、ＤＤＡ［１９：１６］（小数部ＤＤＡ［１９：０］の上位３ビット）により規定され、次のビットＤＤＡ［１５］が１である場合に切り上げられる（＋１）。
【００９６】
従って、ＢＣＦ１８２で行われるフィルタリング処理は、中心画素（ｃｕｒｒＰｉｘｅｌ）周辺のソース画素値を取得すること及びｃｕｒｒＩｎｄｅｘを使用してアクセスされるテーブルの適切な係数とそれらのソース画素値とを乗算することを含む。フィルタリング処理が所定の画素に対して完了すると、ステップ値（ＤＤＡＳｔｅｐ）は次の画素の位置を判定するためにＤＤＡ２９４に加算され、フィルタリング／スケーリング動作は後続画素に対して繰り返される。これを図１９に示す処理２９６により更に示す。例えばステップ２９８で開始すると、ＤＤＡ２９４は初期化され、現在の画素位置が識別される。上述したように、ＤＤＡ２９４が２の補数の固定小数点数を格納する３２ビットレジスタを含む場合、現在の画素位置は、レジスタデータの上位１２ビット（整数部）により特定される。
【００９７】
ステップ３００において、マルチタップフィルタリングは、垂直方向及び水平方向のスケーリングに対して実行される。例として、３タップポリフェーズフィルタ及び５タップポリフェーズフィルタが垂直方向及び水平方向のスケーリングに対してそれぞれ使用されると仮定し、撮像素子９０がベイヤカラーフィルタパターン(図２）を使用すると仮定すると、垂直方向のスケーリング成分は４つの別個の３タップポリフェーズフィルタを含む。各３タップフィルタは、色成分Ｇｒ、Ｒ、Ｂ及びＧｂの各々に対するものである。各３タップフィルタは、係数に対する指標及び現在の中心画素のステッピングを制御するためにＤＤＡを使用する。同様に、水平方向のスケーリング成分は、４つの別個の５タップポリフェーズフィルタを含み、各５タップフィルタは色成分Ｇｒ、Ｒ、Ｂ及びＧｂの各々に対するものである。各５タップフィルタは係数に対する指標及び現在の中心画素のステッピングを制御するためにＤＤＡを使用する。境界においては、水平方向及び垂直方向のフィルタリング処理で使用される画素は、ＤＤＡにより確立されるように現在の画素の位置に依存する。例えばフィルタにより必要とされる１つ以上のソース画素が境界の外側に存在するように現在の画素（ｃｕｒｒＰｉｘｅｌ）がフレームの境界に近接することをＤＤＡの値が示す場合、境界の画素は繰り返される。
【００９８】
最後にステップ３０２に示すように、垂直方向及び水平方向のスケーリング動作が所定の現在の画素（ｃｕｒｒＰｉｘｅｌ）に対して完了すると、ＤＤＡ２９４は、次の画素の位置に進められ、処理２９６は、ステップ３００に戻り、次の画素に対して垂直方向及び水平方向のスケーリングを実行する。上述したように、出力ＦＥＰｒｏｃＯｕｔ（１０９）であるＢＣＦ１８２の出力は、追加の処理のためにＩＳＰパイプ処理ロジック部８２に転送される。しかし、この説明の焦点をＩＳＰパイプ処理ロジック部８２に移す前に、ＩＳＰフロントエンド処理ロジック部８０において実現される統計処理ユニット（例えば、１２２及び１２４）により提供される種々の機能性について更に詳細に説明する。
【００９９】
統計処理ユニット１２０及び１２２の一般的な説明に戻ると、これらのユニットは、自動露出、自動ホワイトバランス、オートフォーカス、フリッカ検出、黒レベル補償及びレンズシェーディング補正等に関する統計等のraw画像信号（Ｓｉｆ０及びＳｉｆ１）を撮像し且つ提供する撮像素子に関する種々の統計を収集するように構成される。これを行う際、統計処理ユニット１２０及び１２２は、１つ以上の画像処理動作を各入力信号Ｓｉｆ０（Ｓｅｎｓｏｒ０からの）及びＳｉｆ１（Ｓｅｎｓｏｒ１からの）に適用する。
【０１００】
例えば図２０を参照すると、Ｓｅｎｓｏｒ０（９０ａ）と関連付けられた統計処理ユニット１２０のより詳細なブロック図が一実施形態に従って示される。図示するように、統計処理ユニット１２０は、以下の機能ブロック、すなわち欠陥画素検出及び補正ロジック部３０４、黒レベル補償（ＢＬＣ）ロジック部３０６、レンズシェーディング補正ロジック部３０８、逆ＢＬＣロジック部３１０及び統計収集ロジック部３１２を含む。これらの機能ブロックの各々について以下に説明する。更に、Ｓｅｎｓｏｒ１（９０ｂ）と関連付けられた統計処理ユニット１２２は同様に実現されることが理解されるべきである。
【０１０１】
最初に、選択ロジック部１２４の出力（例えば、Ｓｉｆ０又はＳｉｆＩｎ０）がフロントエンド欠陥画素補正ロジック部３０４により受信される。理解されるように、「欠陥画素」は、照度を正確に検知できない撮像素子９０内の撮像画素を示すと認識される。欠陥画素は、多くの要因に起因する可能性があり、「ホット」（又は漏れ）ピクセル、「スタック」ピクセル及び「デッドピクセル」を含む。一般に「ホット」ピクセルは、同一の空間位置で同一の光量を与えられた非欠陥画素より明るく見える。ホットピクセルは、リセット失敗及び／又は高漏洩に起因する。例えばホットピクセルは、非欠陥画素に対して通常より多くの電荷漏洩を示し、非欠陥画素より明るく見える。更に「デッド」ピクセル及び「スタック」ピクセルは、製造及び／又は組み立て行程中に撮像素子を汚染する塵又は他の微量の物質等の不純物のために発生し、これは特定の欠陥画素を非欠陥画素より暗く又は明るくするか、あるいは実際にさらされる光量に関係なく欠陥画素を特定の値に固定する原因となる。更に、デッドピクセル及びスタックピクセルは、撮像素子の動作中に発生する回路の故障の結果発生する可能性がある。例として、スタックピクセルは常にオンの時（例えば、フル充電されている時）に現れ、従ってより明るく見え、デッドピクセルは常にオフの時に現れる。
【０１０２】
ＩＳＰフロントエンド処理ロジック部８０の欠陥画素検出及び補正（ＤＰＤＣ）ロジック部３０４は、統計収集（例えば、３１２）において考慮される前に欠陥画素を補正する（例えば、欠陥画素値を置換する）。一実施形態において、欠陥画素補正は、色成分（例えば、ベイヤパターンに対してはＲ、Ｂ、Ｇｒ及びＧｂ）毎に別個に実行される。一般にフロントエンドＤＰＤＣロジック部３０４は、動的欠陥補正を提供し、欠陥画素の場所が同一色の隣接画素を使用して計算された方向勾配に基づいて自動的に判定される。理解されるように、欠陥は、所定の時間において欠陥画素であるような画素の特徴が隣接画素における画像データに依存するという意味で「動的」である。例として、常に最大明るさであるスタックピクセルは、スタックピクセルの場所がより明るい色又は白色により占められている現在の画像の領域にある場合は欠陥画素と考えられない。逆に、スタックピクセルが黒色又はより暗い色により占められている現在の画像の領域にある場合、スタックピクセルは、ＤＰＤＣロジック部３０４による処理中に欠陥画素として識別され且つ補正される。
【０１０３】
ＤＰＤＣロジック部３０４は、画素間の方向勾配を使用して現在の画素に欠陥画素であるかを判定するために現在の画素の両側にある１つ以上の同一色の水平隣接画素を利用する。現在の画素に欠陥画素であると識別される場合、その欠陥画素の値は水平隣接画素の値で置換される。例えば一実施形態において、rawフレーム１５４（図９）の境界内にある同一色の５つの水平隣接画素が使用され、５つの水平隣接画素は、現在の画素及び２つの隣接画素を両側に含む。従って、図２１に示すように、所定の色成分ｃ及び現在の画素Ｐに対して、水平隣接画素Ｐ０、Ｐ１、Ｐ２及びＰ３はＤＰＤＣロジック部３０４により考慮される。尚、現在の画素Ｐの場所によって、rawフレーム１５４の外側にある画素は画素間の勾配を算出する時に考慮されない。
【０１０４】
例えば図２１に示すように、「左エッジ」の例３１４において、現在の画素Ｐはrawフレーム１５４の最も左側のエッジにあるため、rawフレーム１５４の外側にある隣接画素Ｐ０及びＰ１は考慮されず、画素Ｐ、Ｐ２及びＰ３（Ｎ＝３）のみが残る。「左エッジ＋１」の例３１６において、現在の画素Ｐは、rawフレーム１５４の最も左側のエッジから１単位画素離れているため、画素Ｐ０は考慮されない。これにより、画素Ｐ１、Ｐ、Ｐ２及びＰ３（Ｎ＝４）のみが残る。更に「中心」の例３１８において、現在の画素Ｐの左側にある画素Ｐ０及びＰ１並びに現在の画素Ｐの右側にある画素Ｐ２及びＰ３は、rawフレーム１５４の境界内にあるため、隣接画素Ｐ０、Ｐ１、Ｐ２及びＰ３の全て（Ｎ＝５）が画素間の勾配を算出する際に考慮される。更に、rawフレーム１５４の最も右側のエッジに近づくと、同様の例３２０及び３２２が発生するだろう。例えば、「右エッジ−１」の例３２０を仮定すると、現在の画素Ｐはrawフレーム１５４の最も右側のエッジから１単位画素離れているため、画素Ｐ３は考慮されない（Ｎ＝４）。同様に、「右エッジ」の例３２２において、現在の画素Ｐはrawフレーム１５４の最も右側のエッジにあるため、隣接画素Ｐ２及びＰ３の双方とも考慮されない（Ｎ＝３）。
【０１０５】
図示する実施形態において、ピクチャ境界（例えば、rawフレーム１５４）内の隣接画素（ｋ＝０〜３）毎に画素間の勾配が以下のように計算される。
0005643320.tif 000012
【０１０６】
画素間の勾配が判定されると、欠陥画素検出は以下のようにＤＰＤＣロジック部３０４により実行される。最初に、特定の数の勾配Ｇｋが変数ｄｐｒＴｈにより示される特定の閾値以下である場合に画素は欠陥画素であると仮定する。閾値ｄｐｒＴｈ以下であるピクチャ境界内の隣接画素に対する勾配数のカウント（Ｃ）が画素毎に累積される。例として、閾値ｄｐｒＴｈ以下である勾配Ｇｋの累積カウントＣは、rawフレーム１５４内の隣接画素毎に以下のように計算される。
0005643320.tif 000013
【０１０７】
理解されるように、閾値ｄｐｒＴｈは色成分に依存して変動する。次に、累積カウントＣが変数ｄｐｒＭａｘＣで示される最大カウント以下であると判定される場合、画素は欠陥画素と考えられる。このロジックは以下のように表される。
0005643320.tif 000014
欠陥画素は、複数の置換規則を使用して置換される。例えば一実施形態において、欠陥画素はすぐ左側にある画素Ｐ１と置換される。境界条件（例えば、Ｐ１がrawフレーム１５４の外側にある）において、欠陥画素はすぐ右側にある画素Ｐ２で置換される。更に、置換値は連続する欠陥画素検出動作の間保持されるか又は伝播されることが理解されるべきである。例えば図２１に示した水平方向の画素の集合を参照すると、Ｐ０又はＰ１が欠陥画素であるとＤＰＤＣロジック部３０４により以前に識別された場合、それらに対応する置換値は、欠陥画素検出及び現在の画素Ｐの置換に使用される。
【０１０８】
上述した欠陥画素検出及び補正技術を要約するために、そのような処理を示すフローチャートを図２２で提供し、図中符号３３０で示す。図示するように、処理３３０はステップ３３２で開始し、現在の画素（Ｐ）が受信され且つ隣接画素の集合が識別される。上述した実施形態に従って、隣接画素は現在の画素の両側それぞれの同一色成分の２つの水平画素（例えば、Ｐ０、Ｐ１、Ｐ２及びＰ３）を含む。次にステップ３３４において、水平方向の画素間の勾配は、上記の式６で説明したように、rawフレーム１５４内の各隣接画素に対して計算される。その後、ステップ３３６において、特定の閾値ｄｐｒＴｈ以下である勾配数のカウントＣが判定される。判断ロジック３３８で示すように、ＣがｄｐｒＭａｘＣ以下である場合、処理３３０はステップ３４０に継続し、現在の画素は欠陥画素であると識別される。欠陥画素は、ステップ３４２において置換値を使用して補正される。更に判断ロジック３３８に戻ると、ＣがｄｐｒＭａｘＣより大きい場合、ステップ３４４に進み、現在の画素は欠陥画素ではないと識別され、その値は変更されない。
【０１０９】
尚、ＩＳＰフロントエンド統計処理中に適用される欠陥画素検出／補正技術は、ＩＳＰパイプ処理ロジック部８２において実行される欠陥画素検出／補正よりロバスト性が低いだろう。例えば以下に更に詳細に説明するように、ＩＳＰパイプ処理ロジック部８２において実行される欠陥画素検出／補正は、動的欠陥補正に加えて固定欠陥補正を提供し、欠陥画素の場所は演繹的に既知であり、１つ以上の欠陥テーブルにロードされる。更にＩＳＰパイプ処理ロジック部８２における動的欠陥補正は、水平方向及び垂直方向の双方の画素勾配を考慮し、以下に説明するようにスペックリングの検出／補正を更に提供する。
【０１１０】
図２０に戻ると、ＤＰＤＣロジック部３０４の出力は黒レベル補償（ＢＬＣ）ロジック部３０６に渡される。ＢＬＣロジック部３０６は、統計収集に使用される画素における色成分「ｃ」（例えば、ベイヤに対するＲ、Ｂ、Ｇｒ及びＧｂ）毎に個々にデジタルゲイン、オフセット及びクリッピングを提供する。例えば以下の演算により表されるように、現在の画素の入力値は符号付きの値の分だけオフセットされ、その後ゲインと乗算される。
0005643320.tif 000015
【０１１１】
式中、Ｘは所定の色成分ｃ（例えば、Ｒ、Ｂ、Ｇｒ又はＧｂ）に対する入力画素値を表し、Ｏ［ｃ］は現在の色成分ｃに対する符号付き１６ビットオフセットを表し、Ｇ［ｃ］は色成分ｃに対するゲイン値を表す。一実施形態において、ゲインＧ［ｃ］は、２ビットの整数部及び１４ビットの小数部（例えば、浮動小数点表現で２．１４）を有する１６ビットの符号なし数であり、Ｇ［ｃ］は丸められる。単なる例として、ゲインＧ［ｃ］は０〜４Ｘ（例えば、４×入力画素値）の範囲を有する。
【０１１２】
次に上記の式１０により示されるように、計算された符号付きの値Ｙは、最小及び最大範囲にクリップされる。
0005643320.tif 000016
変数ｍｉｎ［ｃ］及びｍａｘ［ｃ］は、最小出力値及び最大出力値に対する符号付き１６ビットクリッピング値をそれぞれ表す。一実施形態において、ＢＬＣロジック部３０６は、色成分毎に最大値より上及び最小値より下にクリップされた画素数のカウントを維持するように構成される。
【０１１３】
その後、ＢＬＣロジック部３０６の出力はレンズシェーディング補正（ＬＳＣ）ロジック部３０８に転送される。ＬＳＣロジック部３０８は、一般に撮影装置３０のレンズ８８の光学的中心からの距離にほぼ比例する明度の低下を補償するために画素毎に適切なゲインを適用するように構成される。理解されるように、そのような低下は、レンズの幾何学的光学の結果として発生する。例として、理想的な光学特性を有するレンズは、コサイン４乗則で示される入射角の余弦の４乗ｃｏｓ４（θ）としてモデル化される。しかし、レンズの製造が完璧でないため、レンズにおける種々の不規則性は、光学特性が仮定したコサイン４乗モデルから外れる原因となるだろう。例えばレンズのエッジが薄いと、一般に最も多くの不規則性を示す。更にレンズシェーディングパターンにおける不規則性は、撮像素子内のマイクロレンズアレイがカラーアレイフィルタと完全に位置合わせされていない結果起こる。また、いくつかのレンズにおける赤外線（ＩＲ）フィルタにより、明度の低下は光源に依存するため、レンズシェーディングゲインは検出された光源に従って適応される。
【０１１４】
図２３を参照すると、一般的なレンズに対する光強度対画素位置を示す３次元プロファイル３４６が示される。図示するように、レンズの中心３４８の近くの光強度は、レンズの隅又はエッジ３５０に向かって徐々に低下する。図２３に示すレンズシェーディングの不規則性は図２４により適切に示される。図２４は、隅及びエッジに向かって光強度の低下を示す画像３５２のカラー図である。特に、画像のほぼ中心の光強度は画像の隅及び／又はエッジにおける高度より明るく見える。
【０１１５】
本技術の実施形態に従って、レンズシェーディング補正ゲインは、色チャネル（例えば、ベイヤフィルタに対してはＧｒ、Ｒ、Ｂ、Ｇｂ）毎にゲインの２次元格子として特定される。ゲイン格子点は、rawフレーム１５４（図９）内の水平方向及び垂直方向に固定間隔で分散される。図９において上述したように、rawフレーム１５４は、処理が特定の画像処理動作のために実行される領域を規定するアクティブ領域１５６を含む。レンズシェーディング補正動作に関して、ＬＳＣ領域と呼ばれるアクティブ処理領域はrawフレーム領域１５４内に規定される。以下に説明するように、ＬＳＣ領域は、ゲイン格子境界内又はゲイン格子境界に完全に存在すべきであり、存在しない場合は結果が不確定である可能性がある。
【０１１６】
例えば図２５を参照すると、rawフレーム１５４内に規定されるＬＳＣ領域３５４及びゲイン格子３５６が示される。ＬＳＣ領域３５４は、幅３５８及び高さ３６０を有し、rawフレーム１５４の境界に対するｘオフセット３６２及びｙオフセット３６４により規定される。格子ゲイン３５６の基準３７０からＬＳＣ領域３５４の第１の画素３７２までの格子オフセット（例えば、格子ｘオフセット３６６及び格子ｙオフセット３６８）が提供される。これらのオフセットは、所定の色成分に対する第１の格子間隔内である。水平方向（ｘ方向）の格子点間隔３７４及び垂直方向（ｙ方向）の格子点間隔３７６は、色チャネル毎に別個に特定される。
【０１１７】
上述したように、ベイヤカラーフィルタアレイを使用することを仮定すると、格子ゲインの４つの色チャネル（Ｒ、Ｂ、Ｇｒ及びＧｂ）が規定される。一実施形態において、合計で４Ｋ（４０９６）個の格子点が利用可能であり、色チャネル毎に格子ゲインの開始場所に対する基準アドレスがポインタを使用するなどして提供される。更に水平方向の格子点間隔（３７４）及び垂直方向の格子点間隔（３７６）は、１つの色平面の解像度で画素に関して規定され、特定の実施形態において、８、１６、３２、６４又は１２８等の２の累乗により区切られた格子点間隔を提供する。理解されるように、２の累乗を利用することにより、シフト（例えば、除算）及び加算演算を使用するゲイン補間の効率的な実現例が達成される。これらのパラメータを使用して、撮像素子トリミング領域が変更している時でも同一のゲイン値が使用できる。例えば、全ての格子ゲイン値を更新するのではなく、いくつかのパラメータのみがトリミング領域に格子点を位置合わせするために更新される必要がある（例えば、格子オフセット３７４及び３７６を更新する）。単なる例として、これは、トリミングがデジタルズーム動作中に使用される場合に有用である。更に図２５の実施形態に示すゲイン格子３５６は一般に同等に離間された格子点を有するものとして示されるが、他の実施形態において、格子点は必ずしも同等に離間される必要はないことが理解されるべきである。例えばいくつかの実施形態において、格子点は、ＬＳＣ領域３５４の中心に集中しないようにし且つ一般にレンズシェーディング歪みがより見えやすいＬＳＣ領域３５４の隅に向かってより集中するように不均一に（例えば、対数的に）分散される。
【０１１８】
本発明で開示されたレンズシェーディング補正技術によると、現在の画素の場所がＬＳＣ領域３５４の外側にある場合、ゲインは適用されない（例えば、画素は変更されずに渡される）。現在の画素の場所がゲイン格子の場所にある場合、特定の格子点におけるゲイン値が使用される。しかし、現在の画素の場所が格子点の間にある場合、ゲインは双線形補間を使用して補間される。図２６における画素の場所「Ｇ」に対するゲインを補間する一例を以下に提供する。
【０１１９】
図２６に示すように、画素Ｇは、それぞれ現在の画素の場所Ｇに対して左上のゲイン、右上のゲイン、左下のゲイン及び右下のゲインに対応する格子点Ｇ０、Ｇ１、Ｇ２及びＧ３の間にある。格子間隔の水平方向のサイズ及び垂直方向のサイズは、Ｘ及びＹでそれぞれ表される。更にｉｉ及びｊｊは、それぞれ左上のゲインＧ０の位置に対する水平方向の画素オフセット及び垂直方向の画素オフセットを表す。これらの因子に基づいて、位置Ｇに対応するゲインは以下のように補間される。
0005643320.tif 000017
上記の式１１ａの項は、以下の式を取得するために結合される。
0005643320.tif 000018
【０１２０】
一実施形態において、補間方法は、各画素において乗数を使用するのではなく、増分的に実行され、それにより計算の複雑さを軽減する。例えば項（ｉｉ）（ｊｊ）は、ゲイン格子３５６の場所（０，０）において０に初期化され且つ現在の列数が１画素増加する度に現在の行数だけ増分される加算器を使用して実現される。上述したように、Ｘ及びＹの値が２の累乗として選択されるため、ゲイン補間は単純なシフト演算を使用して達成される。従って、乗数は格子点Ｇ０においてのみ（全ての画素ではなく）必要とされ、残りの画素に対する補間ゲインを判定するために加算演算のみが必要とされる。
【０１２１】
特定の実施形態において、格子点間のゲインの補間は１４ビット精度を使用し、格子ゲインは２ビットの整数部及び８ビットの小数部（例えば、浮動小数点表現で２．８）の符号なし１０ビット値である。この規則を使用して、ゲインは０〜４Ｘの範囲を有し、格子点間のゲイン解像度は１／２５６である。
【０１２２】
レンズシェーディング補正技術は、図２７に示す処理３８０により更に示される。図示するように、処理３８０はステップ３８２で開始し、現在の画素位置が図２５のＬＳＣ領域３５４の境界に対して判定される。次に判断ロジック３８４は、現在の画素位置がＬＳＣ領域３５４内にあるかを判定する。現在の画素位置がＬＳＣ領域３５４の外側である場合、処理３８０はステップ３８６に継続し、ゲインは現在の画素に適用されない（例えば、画素は変更されずに渡される）。
【０１２３】
現在の画素位置がＬＳＣ領域３５４内にある場合、処理３８０は判断ロジック３８８に継続し、現在の画素の位置がゲイン格子３５４内の格子点に対応するかが更に判定される。現在の画素位置が格子点に対応する場合、ステップ３９０で示すように、その格子点におけるゲイン値が選択され且つ現在の画素に適用される。現在の画素位置が格子点に対応しない場合、処理３８０はステップ３９２に継続し、ゲインは境界の格子点（例えば、図２６のＧ０、Ｇ１、Ｇ２及びＧ３）に基づいて補間される。例えば補間されたゲインは、上述したように、式１１ａ及び１１ｂに従って計算される。その後、処理３８０はステップ３９４で終了する。ステップ３９４において、ステップ３９２からの補間されたゲインは現在の画素に適用される。
【０１２４】
理解されるように、処理３８０は画像データの画素毎に繰り返される。例えば図２８に示すように、ＬＳＣ領域（例えば、３５４）内の各画素位置に適用されるゲインを示す３次元プロファイルが示される。図示するように、図２３及び図２４に示すように隅において光強度が大きく低下するため、画像の隅３９６において適用されたゲインは、一般に画像の中心３９８に適用されたゲインより大きい。本明細書で説明するレンズシェーディング補正技術を使用して、画像中に光強度の低下が現れるのを低減させるか又はほぼ除去できる。例えば図２９は、図２４の画像３５２のカラー図がレンズシェーディング補正の適用後にどのように見えるかの一例を提供する。図示するように、図２４の元の画像と比較して、全体の光強度が一般に画像にわたりより均一である。特に画像のほぼ中心における光強度は、画像の隅及び／又はエッジにおける光強度値とほぼ等しいだろう。更に上述したように、いくつかの実施形態において、補間されたゲインの計算（式１１ａ及び１１ｂ）は、後続の列及び行の増分構造を利用することにより格子点間の追加の「デルタ」で置換される。理解されるように、これにより計算の複雑さは軽減される。
【０１２５】
更なる実施形態において、格子ゲインを使用することに加えて、画像の中心からの距離の関数としてスケーリングされる色成分毎のグローバルゲインが使用される。画像の中心は、入力パラメータとして提供され、均一に照明された画像の各画像画素の光強度振幅を解析することにより推定される。識別された中心画素と現在の画素との間の半径距離は、以下に示すように線形スケーリングされた径方向のゲインＧｒを取得するために使用される。
0005643320.tif 000019
式中、Ｇｐ［ｃ］は、色成分ｃ（例えば、ベイヤパターンに対してはＲ、Ｂ、Ｇｒ及びＧｂ成分）毎のグローバルゲインパラメータを表し、Ｒは中心画素と現在の画素との間の半径距離を表す。
【０１２６】
上述したＬＳＣ領域３５４を示す図３０を参照すると、距離Ｒはいくつかの技術を使用して計算又は推定される。図示するように、画像の中心に対応する画素Ｃは座標（ｘ０，ｙ０）を有し、現在の画素Ｇは座標（ｘＧ，ｙＧ）を有する。一実施形態において、ＬＳＣロジック部３０８は以下の式を使用して距離Ｒを計算する。
0005643320.tif 000020
別の実施形態において、以下に示すより単純な推定式がＲの推定値を取得するために利用される。
0005643320.tif 000021
【０１２７】
式１４において、推定係数α及びβは、８ビット値にスケーリングされる。単なる例として、一実施形態において、Ｒの推定値を提供するために、αは１２３／１２８にほぼ等しく、βは５１／１２８にほぼ等しい。これらの係数値を使用すると、最大誤差は約４％であり、中間誤差は約１．３％である。従って、推定技術はＲを判定する際（式１３）に計算技術を利用するより多少精度が低いが、誤差範囲は十分に小さく、推定値すなわちＲは本発明のレンズシェーディング補正技術に対して径方向のゲイン成分を判定するのに適する。
【０１２８】
径方向のゲインＧｒは、現在の画素に適用される合計のゲインを判定するために現在の画素に対する補間された格子ゲイン値Ｇ（式１１ａ及び１１ｂ）と乗算される。出力画素Ｙは、以下に示すように入力画素値Ｘを合計のゲインと乗算することにより得られる。
0005643320.tif 000022
【０１２９】
従って、本技術によると、レンズシェーディング補正は、補間されたゲインのみ、補間されたゲイン及び径方向のゲイン成分の双方を使用して実行される。あるいは、レンズシェーディング補正は、径方向の近似誤差を補償する径方向格子テーブルと共に径方向のゲインのみを使用して達成される。例えば図２５に示すような矩形のゲイン格子３５６の代わりに、径方向及び角度方向にゲインを規定する複数の格子点を有する径方向のゲイン格子が提供される。従って、ＬＳＣ領域３５４内の径方向の格子点の１つと位置合わせされていない画素に適用するゲインを判定する時、最適な補間済みレンズシェーディングゲインを判定するために画素を囲む４つの格子点を使用して補間が適用される。
【０１３０】
図３１を参照すると、レンズシェーディング補正の補間済み径方向ゲイン成分の使用について処理４００により示される。尚、処理４００は、図２７において上述した処理３８０に類似するステップを含む。従って、そのようなステップは同様の図中符号で示されている。ステップ３８２で開始すると、現在の画素が受信され、ＬＳＣ領域３５４に対するその画素の場所が判定される。次に、判断ロジック３８４は、現在の画素位置がＬＳＣ領域３５４内にあるかを判定する。現在の画素位置がＬＳＣ領域３５４の外側にある場合、処理４００はステップ３８６に継続し、ゲインは現在の画素に適用されない（例えば、画素は変更されずに渡される）。現在の画素位置がＬＳＣ領域３５４内にある場合、処理４００はステップ４０２及び判断ロジック３８８に同時に継続する。まずステップ４０２を参照すると、画像の中心を識別するデータが検索される。上述したように、画像の中心を判定することは、均一な照明下で画素に対する光強度振幅を解析することを含む。これは例えば較正中に行われる。従って、ステップ４０２は、各画素を処理するために画像の中心を繰り返し計算することを必ずしも含まず、先に判定された画像の中心のデータ（例えば、座標）を検索することを示す。画像の中心が識別されると、処理４００はステップ４０４に継続し、画像の中心と現在の画素の場所（Ｒ）との間の距離が判定される。上述したように、Ｒの値は計算（式１３）又は推定（式１４）される。その後、ステップ４０６において、径方向のゲイン成分Ｇｒは、距離Ｒ及び現在の画素の色成分に対応するグローバルゲインパラメータを使用して計算される（式１２）。径方向のゲイン成分Ｇｒは、以下のステップ４１０で説明するように、合計のゲインを判定するために使用される。
【０１３１】
判断ロジック３８８に戻ると、現在の画素位置がゲイン格子３５４内の格子点に対応するかが判定される。現在の画素位置が格子点に対応する場合、ステップ４０８で示すように、その格子点におけるゲイン値が判定される。現在の画素位置が格子点に対応しない場合、処理４００はステップ３９２に継続し、補間済みゲインは境界の格子点（例えば、図２６のＧ０、Ｇ１、Ｇ２及びＧ３）に基づいて計算される。例えば補間済みゲインは、上述したように式１１ａ及び１１ｂに従って計算される。次のステップ４１０において、合計のゲインは、ステップ４０６で判定された径方向のゲイン並びに格子ゲイン（ステップ４０８）又は補間済みゲイン（３９２）の一方に基づいて判定される。理解されるように、これは判断ロジック３８８が処理４００中に選ぶ分岐に依存する。ステップ４１２で示すように、合計のゲインは現在の画素に適用される。尚、処理３８０と同様に、処理４００は画像データの画素毎に繰り返される。
【０１３２】
格子ゲインと共に径方向のゲインを使用することにより、種々の利点が提供される。例えば径方向のゲインを使用することにより、全ての色成分に対して単一の共通のゲイン格子を使用できる。これにより、色成分毎に別個のゲイン格子を格納するのに必要な合計の記憶空間が大幅に減少される。例えばベイヤ撮像素子において、Ｒ、Ｂ、Ｇｒ及びＧｂ成分の各々に対して単一のゲイン格子を使用することにより、ゲイン格子データは約７５％減少される。理解されるように、格子ゲインデータテーブルが画像処理ハードウェアにおけるチップ面積又はメモリの大部分を占めるため、この格子ゲインデータの減少は実現コストを低下する。更にハードウェア実現例に依存して、ゲイン格子の値の単一の集合を使用することにより、更なる利点を提供できる。例えば、全体のチップ面積を減少したり（例えば、ゲイン格子の値がオンチップメモリに格納される場合等）、メモリ帯域幅に対する要求を低減したりする（例えば、ゲイン格子の値がオフチップ外部メモリに格納される場合等）。
【０１３３】
図２０に示すレンズシェーディング補正ロジック部３０８の機能性を十分に説明したが、ＬＳＣロジック部３０８の出力は、その後逆黒レベル補償（ＩＢＬＣ）ロジック部３１０に転送される。ＩＢＬＣロジック部３１０は、色成分（例えば、Ｒ、Ｂ、Ｇｒ及びＧｂ）毎に個別にゲイン、オフセット及びクリップを提供し、一般にＢＬＣロジック部３０６に対して逆関数を実行する。例えば以下の動作により示すように、入力画素の値は、まずゲインと乗算され、その後符号付き値の分だけオフセットされる。
0005643320.tif 000023
【０１３４】
式中、Ｘは所定の色成分ｃ（例えば、Ｒ、Ｂ、Ｇｒ又はＧｂ）に対する入力画素値を表し、Ｏ［ｃ］は現在の色成分ｃに対する符号付き１６ビットオフセットを表し、Ｇ［ｃ］は色成分ｃに対するゲイン値を表す。一実施形態において、ゲインＧ［ｃ］は約０〜４Ｘ（４×入力画素値Ｘ）の範囲を有する。尚、これらの変数は、式９で上述した同一の変数である。計算した値Ｙは、例えば式１０を使用して最小及び最大範囲にクリップされる。一実施形態において、ＩＢＬＣロジック部３１０は、色成分毎に最大値より上及び最小値より下にクリップされた画素数のカウントを維持するように構成される。
【０１３５】
その後、ＩＢＬＣロジック部３１０の出力は、統計収集ブロック３１２により受信され、統計収集ブロック３１２は、自動露出（ＡＥ）、自動ホワイトバランス（ＡＷＢ）、オートフォーカス（ＡＦ）及びフリッカ検出等に関連する種々の統計データ点等の撮像素子９０に関する種々の統計データ点の収集を提供する。以下において、ＡＷＢ、ＡＥ及びＡＦ統計の重要性を説明する簡単な概要を提供する。
【０１３６】
ホワイトバランスに関して、光源が画像シーンの物体から反射されるため、各画素における撮像素子応答は照明源に依存する。従って、画像シーンにおいて記録された各画素値は光源の色温度に関連する。白色の物体が低い色温度で照明される場合、その物体は撮像画像において赤みがかって見えるだろう。逆に、高い色温度で照明される白色の物体は撮像画像において青みがかって見えるだろう。従って、ホワイトバランスの目的は、画像が標準的な光の下で撮像されたかのように人の眼に見えるようにＲＧＢ値を調整することである。ホワイトバランスに関する撮像統計において、白色の物体に関する色情報は光源の色温度を判定するために収集される。一般にホワイトバランスアルゴリズムは２つの主なステップを含む。第１に、光源の色温度が推定される。第２に、推定された色温度は、色ゲイン値を調整し且つ／又は色補正行列の係数を判定／調整するために使用される。そのようなゲインは、ＩＳＰデジタルゲイン並びにアナログ及びデジタル撮像素子ゲインの組み合わせである。
【０１３７】
次に、一般に自動露出は、撮像画像の輝度を制御するために画素積分時間及びゲインを調整する処理を示す。例えば自動露出は、積分時間を設定することにより撮像素子により撮像されるシーンからの光量を制御する。更にオートフォーカスは、画像の焦点をほぼ最適化するためにレンズの最適な焦点距離を判定することを示す。従って、特にこれらの種々の統計は統計収集ブロック３１２を介して判定及び収集される。図示するように、統計収集ブロック３１２の出力ＳＴＡＴＳ０は、メモリ１０８に送出され且つ制御ロジック部８４にルーティングされるか、あるいは制御ロジック部８４に直接送出される。
【０１３８】
上述したように、制御ロジック部８４は撮影装置３０及び／又は画像処理回路網３２を制御する１つ以上の制御パラメータを判定するために取集した統計データを処理する。例えばそのような制御パラメータは、撮像素子９０のレンズを動作するためのパラメータ（例えば、焦点距離調整パラメータ）、撮像素子パラメータ（例えば、アナログ及び／又はデジタルゲイン、積分時間）並びにＩＳＰパイプ処理パラメータ（例えば、デジタルゲイン値、色補正行列（ＣＣＭ）係数）を含む。更に上述したように、特定の実施形態において、統計処理は、８ビット精度で行われ、より大きいビット深度を有するraw画素データは統計の目的で８ビット形式にダウンサンプリングされる。上述したように、８ビット（又は他のあらゆるより低いビット解像度）へのダウンサンプリングは、ハードェウェアサイズ（例えば、面積）を縮小し且つ処理の複雑さを軽減し、また、統計データが雑音に対してより高いロバスト性を有することを可能にするだろう（例えば、画像データの空間平均を使用して）。
【０１３９】
ＩＳＰフロントエンド処理ロジック部８０の下流側のＩＳＰパイプ処理ロジック部８２の詳細な説明に進む前に、統計処理ユニット１２０及び１２２における種々の機能ロジックブロック（例えば、ロジックブロック３０４、３０６、３０８、３１０及び３１２）並びにＩＳＰフロントエンド画素処理ユニット１３０における種々の機能ロジックブロック（例えば、ロジックブロック１８０及び１８２）の構成は、本技術の一実施形態のみを示すことを意図していることが理解されるべきである。実際には、他の実施形態において、本明細書で示すロジックブロックは異なる順序で配置されるか、あるいは本明細書では特に説明しない追加の画像処理機能を実行する追加のロジックブロックを含む。更にレンズシェーディング補正、欠陥画素検出／補正及び黒レベル補償等の統計処理ユニット（例えば、１２０及び１２２）において実行される画像処理動作は、統計データを収集する目的で統計処理ユニット内において実行されることが理解されるべきである。従って、統計処理ユニットにより受信された画像データに対して実行される処理動作は、ＩＳＰフロントエンド画素処理ロジック部１３０から出力され且つＩＳＰパイプ処理ロジック部８２に転送される画像信号１０９（ＦＥＰｒｏｃＯｕｔ）に実際には反映されない。
【０１４０】
説明を続ける前に、十分な処理時間及び本明細書で説明する種々の動作の多くの処理要求の間の類似性を仮定すると、パイププライン特性ではなく連続的に画像処理を実行するように本明細書で示した機能ブロックを再構成できる。理解されるように、これにより全体のハードウェア実現コストが更に低下するが、外部メモリに対する帯域幅を増加する可能性もある（例えば、中間結果／データをキャッシュ／格納するために）。
【０１４１】
ＩＳＰパイプライン（「パイプ」）処理ロジック部
ＩＳＰフロントエンド処理ロジック部８０について詳細に上述したが、本説明は、ここでＩＳＰパイプ処理ロジック部８２に注目する。一般にＩＳＰパイプ処理ロジック部８２の機能は、ＩＳＰフロントエンド処理ロジック部８０から提供されるか又はメモリ１０８から検索されるraw画像データを受信し、画像データを表示装置２８に出力する前に追加の画像処理動作を実行することである。
【０１４２】
ＩＳＰパイプ処理ロジック部８２の一実施形態を示すブロック図を図３２に示す。図示するように、ＩＳＰパイプ処理ロジック部８２は、raw処理ロジック部４１４、ＲＧＢ処理ロジック部４１６及びＹＣｂＣｒ処理ロジック部４１８を含む。raw処理ロジック部４１４は、以下に更に説明するように、欠陥画素検出及び補正、レンズシェーディング補正、デモザイク、並びに自動ホワイトバランスに対するゲインの適用及び／又は黒レベルの設定等の種々の画像処理動作を実行する。本実施形態において示すように、raw処理ロジック部４１４に対する入力信号４２２は、選択ロジック部４２０の現在の構成に依存して、ＩＳＰフロントエンド処理ロジック部８０からのraw画素出力１０９（信号ＦＥＰｒｏｃＯｕｔ）又はメモリ１０８からのraw画素データ１１２である。
【０１４３】
raw処理ロジック部４１４内で実行されたデモザイク動作の結果として、画像信号出力４２４はＲＧＢ領域にあり、その後ＲＧＢ処理ロジック部４１６に転送される。例えば図３２に示すように、ＲＧＢ処理ロジック部４１６は、選択ロジック部４２８の現在の構成に依存して、出力信号４２４又はメモリ１０８からのＲＧＢ画像信号４２６である信号４３０を受信する。ＲＧＢ処理ロジック部４１６は、以下に更に説明するように、色補正（例えば、色補正行列を使用する）、自動ホワイトバランスに対する色ゲインの適用、並びにグローバルトーンマッピングを含む種々のＲＧＢ色調整動作を提供する。ＲＧＢ処理ロジック部４１８は、ＹＣｂＣｒ（ルマ／クロマ）色空間へのＲＧＢ画像データの色空間変換を更に提供する。従って、画像信号出力４３２はＹＣｂＣｒ領域にあり、その後ＹＣｂＣｒ処理ロジック部４１８に転送される。
【０１４４】
例えば図３２に示すように、ＹＣｂＣｒ処理ロジック部４１８は、選択ロジック部４３６の現在の構成に依存して、ＲＧＢ処理ロジック部４１６からの出力信号４３２又はメモリ１０８からのＹＣｂＣｒ信号４３４である信号４３８を受信する。以下に更に詳細に説明するように、ＹＣｂＣｒ処理ロジック部４１８は、スケーリング、クロマ抑制、ルマ鮮明化、明るさ、コントラスト及び色（ＢＣＣ）調整、ＹＣｂＣｒガンママッピング、並びにクロマデシメーション等を含むＹＣｂＣｒ色空間における画像処理動作を提供する。ＹＣｂＣｒ処理ロジック部４１８の画像信号出力４４０は、メモリ１０８に送出されるか、あるいはＩＳＰパイプ処理ロジック部８２から画像信号１１４（図７）として出力される。画像信号１１４は、ユーザが閲覧するために表示装置２８に送出されるか（直接又はメモリ１０８を介して）、あるいは圧縮エンジン（例えば、符号器１１８）、ＣＰＵ／ＧＰＵ又はグラフィックエンジン等を使用して更に処理される。
【０１４５】
本技術の実施形態によると、ＩＳＰパイプ処理ロジック部８２は、８ビット、１０ビット、１２ビット又は１４ビット形式のraw画像データの処理をサポートする。例えば一実施形態において、８ビット、１０ビット又は１２ビット入力データはraw処理ロジック部４１４の入力において１４ビットに変換され、raw処理及びＲＧＢ処理動作は１４ビット精度で実行される。後者の実施形態において、１４ビット画像データは、ＹＣｂＣｒ色空間へのＲＧＢデータの変換前に１０ビットにダウンサンプリングされ、ＹＣｂＣｒ処理（ロジック部４１８）は、１０ビット精度で実行される。
【０１４６】
ＩＳＰパイプ処理ロジック部８２により提供される種々の機能を包括的に説明するために、raw処理ロジック部４１４、ＲＧＢ処理ロジック部４１６及びＹＣｂＣｒ処理ロジック部４１８の各々、並びにロジックユニット４１４、４１６及び４１８の各々において実現される種々の画像処理動作を実行する内部ロジック部について以下に説明する。raw処理ロジック部４１４から説明する。例えば図３３を参照すると、本技術の一実施形態に従って、raw処理ロジック部４１４の一実施形態のより詳細な図を示すブロック図が示される。図示するように、raw処理ロジック部４１４は、ゲイン、オフセット及びクランピング（ＧＯＣ）ロジック部４４２、欠陥画素検出／補正（ＤＰＤＣ）ロジック部４４４、雑音除去ロジック部４４６、レンズシェーディング補正ロジック部４４８、ＧＯＣロジック部４５０及びデモザイクロジック部４５２を含む。更に、以下に説明する例が撮像素子９０と共にベイヤカラーフィルタアレイを使用することを仮定する一方で、本技術の他の実施形態は種々のカラーフィルタを利用してもよいことが理解されるべきである。
【０１４７】
raw画像信号である入力信号４２２は、まずゲイン、オフセット及びクランピング（ＧＯＣ）ロジック部４４２により受信される。ＧＯＣロジック部４４２は、同様の機能を提供し、図２０において上述したように、ＩＳＰフロントエンド処理ロジック部８０の統計処理ユニット１２０のＢＬＣロジック部３０６に関して同様に実現される。例えばＧＯＣロジック部４４２は、ベイヤ撮像素子の色成分Ｒ、Ｂ、Ｇｒ及びＧｂの各々に対して個別にデジタルゲイン、オフセット及びクランピング（クリッピング）を提供する。特にＧＯＣロジック部４４２は、自動ホワイトバランスを実行するか、あるいはraw画像データの黒レベルを設定する。更にいくつかの実施形態において、ＧＯＣロジック部４４２は、Ｇｒ色成分とＧｂ色成分との間のオフセットを補正又は補償するために使用される。
【０１４８】
動作中、現在の画素に対する入力値は、まず符号付き値の分だけオフセットされ、ゲインと乗算される。この動作は、上記の式９を使用して実行される。Ｘは、所定の色成分Ｒ、Ｂ、Ｇｒ又はＧｂに対する入力画素値を表し、Ｏ［ｃ］は現在の色成分ｃに対する符号付き１６ビットオフセットを表し、Ｇ［ｃ］は色成分ｃに対するゲイン値を表す。Ｇ［ｃ］の値は、統計処理（例えば、ＩＳＰフロントエンド処理ブロック８０における）中に先に判定される。一実施形態において、ゲインＧ［ｃ］は、２ビットの整数部及び１４ビットの小数部（例えば、浮動小数点表現で２．１４）を有する１６ビットの符号なし数であり、ゲインＧ［ｃ］は丸められる。単なる例として、ゲインＧ［ｃ］は０〜４Ｘの範囲を有する。
【０１４９】
式９の計算された画素値Ｙ（ゲインＧ［ｃ］及びオフセットＯ［ｃ］を含む）は、式１０に従って最小及び最大範囲にクリップされる。上述したように、変数ｍｉｎ［ｃ］及びｍａｘ［ｃ］は、それぞれ最小出力値及び最大出力値に対する１６ビットの符号付き「クリッピング値」を表す。一実施形態において、ＧＯＣロジック部４４２は、色成分毎に最大範囲の上及び最小範囲の下にクリップされた画素数のカウントを維持するように更に構成される。
【０１５０】
次に、ＧＯＣロジック部４４２の出力は、欠陥画素検出及び補正ロジック部４４４に転送される。図２０（ＤＰＤＣロジック部３０４）を参照して上述したように、欠陥画素は、多くの要因によるものであり、「ホット」（又は漏れ）ピクセル、「スタック」ピクセル及び「デッドピクセル」を含む。ホットピクセルは、非欠陥画素に対して通常より多くの電荷漏洩を示すため非欠陥画素より明るく見える。スタックピクセルは、常にオンの時（例えば、フル充電されている時）に現れるため明るく見える。デッドピクセルは、常にオフの時に現れる。従って、種々の障害例を識別し且つそれに対処するのに十分なロバスト性を有する画素検出方式を有するのが望ましいだろう。特に動的欠陥検出／補正を提供するフロントエンドＤＰＤＣロジック部３０４と比較すると、パイプＤＰＤＣロジック部４４４は、固定又は静的欠陥検出／補正、動的欠陥検出／補正並びにスペックル除去を提供する。
【０１５１】
ここで開示される技術の実施形態によると、ＤＰＤＣロジック部４４４により実行される欠陥画素補正／検出は、色成分（例えば、Ｒ、Ｂ、Ｇｒ及びＧｂ）毎に個別に行われ、欠陥画素を検出し且つ検出された欠陥画素を補正する種々の動作を含む。例えば一実施形態において、欠陥画素検出動作は、静的欠陥、動的欠陥の検出、並びに撮像素子において存在する可能性のある混信又は雑音（例えば、光子雑音）を示すスペックルの検出を提供する。類推すると、静電気がテレビディスプレイ等のディスプレイで現れるのと同様に、スペックルは、外見上ランダム雑音アーチファクトのように画像に現れる。更に上述したように、動的欠陥補正は、所定の時間において欠陥画素であるような画素の特徴が隣接画素における画像データに依存するという意味で動的であると考えられる。例えば常に最大の明るさであるスタックピクセルは、スタックピクセルの場所が明るい白色により占められている現在の画像の領域にある場合は欠陥画素と考えられない。逆に、スタックピクセルが黒色又はより暗い色により占められている現在の画像の領域にある場合、スタックピクセルは、ＤＰＤＣロジック部４４４による処理中に欠陥画素として識別され且つ補正される。
【０１５２】
静的欠陥検出に関して、各画素の場所は、欠陥画素であると認識される画素の場所に対応するデータを格納する静的欠陥テーブルと比較される。例えば一実施形態において、ＤＰＤＣロジック部４４４は欠陥画素の検出を監視し（例えば、カウンタ機構又はレジスタを使用して）、特定の画素が繰り返し欠陥として観察される場合、その画素の場所は静的欠陥テーブルに格納される。従って、静的欠陥検出中、現在の画素の場所が静的欠陥テーブルにあると判定される場合、現在の画素は、欠陥画素であると識別され、置換値が判定されて一時的に格納される。一実施形態において、置換値は、同一の色成分の先行画素（走査順に基づいて）の値である。以下に説明するように、置換値は、動的／スペックル欠陥検出及び補正中に静的欠陥を補正するために使用される。更に先行画素がrawフレーム１５４（図９）の外側にある場合、その値は使用されず、静的欠陥は動的欠陥補正処理中に補正される。更にメモリを考慮すると、静的欠陥テーブルは、有限数の場所エントリを格納する。例えば一実施形態において、静的欠陥テーブルは、画像データの２行毎に合計１６個の場所を格納するように構成されたＦＩＦＯキューとして実現される。静的欠陥テーブルにおいて規定された場所は、先行画素置換値を使用して（以下に説明する動的欠陥検出処理を介するのではなく）補正される。上述したように、本技術の実施形態は、ある期間にわたり間欠的に静的欠陥テーブルを更新する。
【０１５３】
実施形態は、オンチップメモリ又はオフチップメモリにおいて実現される静的欠陥テーブルを提供する。理解されるように、オンチップ実現例を使用することは、全体のチップ面積／サイズを増加する可能性があり、その一方で、オフチップ実現例を使用することは、チップ面積／サイズを縮小するがメモリ帯域幅に対する要求を増加する可能性がある。従って、静的欠陥テーブルは、特定の実現要件に従って、すなわち静的欠陥テーブル内に格納される合計の画素数に従ってオンチップ又はオフチップで実現されることが理解されるべきである。
【０１５４】
動的欠陥及びスペックル検出処理は、上述した静的欠陥検出処理に対して時間シフトされる。例えば一実施形態において、動的欠陥及びスペックル検出処理は、静的欠陥検出処理が２走査線（例えば、行）の画素を解析した後に開始する。理解されるように、これにより、動的／スペックル検出が行われる前に静的欠陥の識別及びそれらの置換値を判定できる。例えば動的／スペックル検出処理中、動的／スペックル検出動作を適用するのではなく、現在の画素が静的欠陥であると先に印をつけられた場合、静的欠陥が先に評価された置換値を使用して単純に補正される。
【０１５５】
動的欠陥及びスペックル検出に関して、これらの処理は順次又は並列に行われる。ＤＰＤＣロジック部４４４により実行される動的欠陥及びスペックル検出及び補正は、画素間の方向勾配を使用する適応エッジ検出に依存する。一実施形態において、ＤＰＤＣロジック部４４４は、rawフレーム１５４（図９）内にある同一の色成分を有する現在の画素のすぐ隣の８つの画素を選択する。換言すると、図３４において以下に示すように、現在の画素及びその８つの隣接画素Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６及びＰ７は３×３領域を形成する。
【０１５６】
尚、現在の画素Ｐの場所に従って、rawフレーム１５４の外側の画素は、画素間の勾配を算出する時に考慮されない。例えば図３４に示した「左上」の例４５４に関して、現在の画素Ｐはrawフレーム１５４の左上隅にあるため、rawフレーム１５４の外側の隣接画素Ｐ０、Ｐ１、Ｐ２、Ｐ３及びＰ５は考慮されず、画素Ｐ４、Ｐ６及びＰ７（Ｎ＝３）のみが残る。「上」の例４５８において、現在の画素Ｐは、rawフレーム１５４の最上部のエッジにあるため、rawフレーム１５４の外側の隣接画素Ｐ０、Ｐ１及びＰ２は考慮されず、画素Ｐ３、Ｐ４、Ｐ５、Ｐ６及びＰ７（Ｎ＝５）のみが残る。次に「右上」の例４５８において、現在の画素Ｐはrawフレーム１５４の右上隅にあるため、rawフレーム１５４の外側の隣接画素Ｐ０、Ｐ１、Ｐ２、Ｐ４及びＰ７は考慮されず、画素Ｐ３、Ｐ５及びＰ６（Ｎ＝３）のみが残る。「左」の例４６０において、現在の画素Ｐはrawフレーム１５４の最も左側のエッジにあるため、rawフレーム１５４の外側の隣接画素Ｐ０、Ｐ３及びＰ５は考慮されず、画素Ｐ１、Ｐ２、Ｐ４、Ｐ６及びＰ７（Ｎ＝５）のみが残る。
【０１５７】
「中心」の例４６２において、全ての画素Ｐ０〜Ｐ７は、rawフレーム１５４内にあるため、画素間の勾配を判定する際に使用される（Ｎ＝８）。「右」の例４６４において、現在の画素Ｐはrawフレーム１５４の最も右側のエッジにあるため、rawフレーム１５４の外側の隣接画素Ｐ２、Ｐ４及びＰ７は考慮されず、画素Ｐ０、Ｐ１、Ｐ３、Ｐ５及びＰ６（Ｎ＝５）のみが残る。更に「左下」の例４６６において、現在の画素Ｐはrawフレーム１５４の左下隅にあるため、rawフレーム１５４の外側の隣接画素Ｐ０、Ｐ３、Ｐ５、Ｐ６及びＰ７は考慮されず、画素Ｐ１、Ｐ２及びＰ４（Ｎ＝３）のみが残る。「下」の例４６８において、現在の画素Ｐはrawフレーム１５４の最下部のエッジにあるため、rawフレーム１５４の外側の隣接画素Ｐ５、Ｐ６及びＰ７は考慮されず、画素Ｐ０、Ｐ１、Ｐ２、Ｐ３及びＰ４（Ｎ＝５）のみが残る。最後に「右下」の例４７０において、現在の画素Ｐはrawフレーム１５４の右下隅にあるため、rawフレーム１５４の外側の隣接画素Ｐ２、Ｐ４、Ｐ５、Ｐ６及びＰ７は考慮されず、画素Ｐ０、Ｐ１及びＰ３（Ｎ＝３）のみが残る。
【０１５８】
従って、現在の画素Ｐの位置に依存して、画素間の勾配を判定する際に使用される画素数は３、５又は８である。図示する実施形態において、ピクチャ境界（例えば、rawフレーム１５４）内の隣接画素（ｋ＝０〜７）毎に画素間の勾配が以下のように算出される。
0005643320.tif 000024
【０１５９】
更に平均勾配Ｇａｖは、以下の式で示すように現在の画素とその周囲の画素の平均Ｐａｖとの間の差分として算出される。
0005643320.tif 000025
0005643320.tif 000026
【０１６０】
画素間の勾配の値（式１７）は、動的欠陥の例を判定する際に使用され、隣接画素の平均（式１８及び１９）は、以下に更に説明するようにスペックルの例を識別する際に使用される。
【０１６１】
一実施形態において、動的欠陥検出は、以下のようにＤＰＤＣロジック部４４４により実行される。最初に、特定の数の勾配Ｇｋが変数ｄｙｎＴｈ（動的欠陥閾値）により示される特定の閾値以下である場合に画素は欠陥画素であると仮定する。従って、閾値ｄｙｎＴｈ以下であるピクチャ境界内の隣接画素に対する勾配数のカウント（Ｃ）が画素毎に累積される。閾値ｄｙｎＴｈは、周囲の画素にある「アクティビティ」に依存する固定閾値成分及び動的閾値成分の組み合わせである。例えば一実施形態において、以下に示すように、ｄｙｎＴｈの動的閾値成分は、平均画素値Ｐａｖ（式１８）と各隣接画素との間の絶対差分を合計することに基づいて高周波成分値Ｐｈｆを算出することにより判定される。
0005643320.tif 000027
【０１６２】
画素が画像の隅（Ｎ＝３）又は画像のエッジ（Ｎ＝５）に配置される例において、Ｐｈｆは８／３又は８／５とそれぞれ乗算される。理解されるように、これは、高周波成分Ｐｈｆが８つの隣接画素（Ｎ＝８）に基づいて正規化されることを保証する。
【０１６３】
Ｐｈｆが判定されると、動的欠陥検出閾値ｄｙｎＴｈは以下に示すように計算される。
0005643320.tif 000028
【０１６４】
式中、ｄｙｎＴｈ１は固定閾値成分を表し、ｄｙｎＴｈ２は動的閾値成分を表し、式２１においてＰｈｆの乗数である。異なる固定閾値成分ｄｙｎＴｈ１は、色成分毎に提供されるが、同一色の画素毎に同一である。単なる例として、ｄｙｎＴｈ１は、少なくとも画像の雑音の変動を上回るように設定される。
【０１６５】
動的閾値成分ｄｙｎＴｈ２は、画像のある特性に基づいて判定される。例えば一実施形態において、ｄｙｎＴｈ２は、露出及び／又はセンサ積分時間に関する格納された実験データを使用して判定される。実験データは、撮像素子（例えば、９０）の較正中に判定され、ｄｙｎＴｈ２に対して選択される動的閾値成分値を多くのデータ点の各々と関連付ける。従って、ＩＳＰフロントエンド処理ロジック部８０における統計処理中に判定される現在の露出及び／又はセンサ積分時間値に基づいて、ｄｙｎＴｈ２は、現在の露出及び／又はセンサ積分時間値に対応する格納された実験データから動的閾値成分値を選択することにより判定される。更に現在の露出及び／又はセンサ積分時間値が実験データ点の１つに直接対応しない場合、ｄｙｎＴｈ２は、間に現在の露出及び／又はセンサ積分時間値が入るデータ点と関連付けられた動的閾値成分値を補間することにより判定される。更に固定閾値成分ｄｙｎＴｈ１のように、動的閾値成分ｄｙｎＴｈ２は色成分毎に異なる値を有する。従って、合成閾値ｄｙｎＴｈは色成分（例えば、Ｒ、Ｂ、Ｇｒ、Ｇｂ）毎に異なる。
【０１６６】
上述したように、閾値ｄｙｎＴｈ以下であるピクチャ境界内の隣接画素に対する勾配数のカウント（Ｃ）が画素毎に判定される。例えば閾値ｄｙｎＴｈ以下である勾配Ｇｋの累積カウントＣは、rawフレーム１５４内の隣接画素毎に以下のように計算される。
0005643320.tif 000029
【０１６７】
次に、累積カウントＣが変数ｄｙｎＭａｘＣで示される最大カウント以下であると判定される場合、画素は動的欠陥として考えられる。一実施形態において、ｄｙｎＭａｘＣに対する種々の値は、Ｎ＝３（隅）、Ｎ＝５（エッジ）及びＮ＝８の条件で提供される。このロジック部を以下に表す。
0005643320.tif 000030
【０１６８】
上述したように、欠陥画素の場所は静的欠陥テーブルに格納される。いくつかの実施形態において、現在の画素に対する動的欠陥検出中に算出された最小勾配値（ｍｉｎ（Ｇｋ））は格納され、最小勾配値が大きい程欠陥の「深刻さ」が大きいことを示し且つ深刻さがより小さい欠陥が補正される前により大きい最小勾配値が画素補正中に補正されるように欠陥画素をソートするために使用される。一実施形態において、画素は、ある期間にわたり欠陥画素の場所をフィルタリングするなどにより、静的欠陥テーブルに格納される前に複数の撮像フレームにわたり処理される必要がある。後者の実施形態において、欠陥が特定の数の連続した画像において同一の場所に現れる場合にのみ、欠陥画素の場所は静的欠陥テーブルに格納される。更にいくつかの実施形態において、静的欠陥テーブルは、最小勾配値に基づいて、格納された欠陥画素の場所をソートするように構成される。例えば最大の最小勾配値は、「深刻さ」がより大きい欠陥を示す。このように場所を順序付けすることにより、最も深刻な又は重大な欠陥が最初に補正されるように静的欠陥補正の優先度が設定される。更に静的欠陥テーブルは、新しく検出された静的欠陥を含むようにある期間にわたり更新され、各最小勾配値に基づいてそれら欠陥を順序付けする。
【０１６９】
上述した動的欠陥検出処理と並列に行われるスペックル検出は、値Ｇａｖ（式１９）がスペックル検出閾値ｓｐｋＴｈを上回るかを判定することにより実行される。動的欠陥閾値ｄｙｎＴｈのように、スペックル閾値ｓｐｋＴｈは、ｓｐｋＴｈ１により示される固定成分及びｓｐｋＴｈ２により示される動的成分を含む。より多くのテクスチャを与えられる画像及びテキスト、フォリッジ、特定のファブリックパターン等の領域において誤ってスペックルを検出することを回避するために、一般に固定成分ｓｐｋＴｈ１及び動的成分ｓｐｋＴｈ２は、ｄｙｎＴｈ１及びｄｙｎＴｈ２と比較してより「アグレッシブ」に設定される。従って、一実施形態において、動的スペックル閾値成分ｓｐｋＴｈ２は、画像の高度テクスチャ領域に対しては増加され、「より平坦な」又はより均一な領域に対しては減少される。スペックル検出閾値ｓｐｋＴｈは、以下に示すように計算される。
0005643320.tif 000031
【０１７０】
式中、ｓｐｋＴｈ１は固定閾値成分を表し、ｓｐｋＴｈ２は動的閾値成分を表す。スペックルの検出は、以下の表現に従って判定される。
0005643320.tif 000032
【０１７１】
欠陥画素が識別されると、ＤＰＤＣロジック部４４４は検出された欠陥の種類に従って画素補正動作を適用する。例えば欠陥画素が静的欠陥として識別された場合、画素は、上述したように格納された置換値（例えば、同一の色成分の先行画素の値）で置換される。画素が動的欠陥又はスペックルとして識別された場合、画素補正は以下のように実行される。第１に、以下に示すように、勾配は水平（ｈ）方向、垂直（ｖ）方向、正の対角線方向（ｄｐ）及び負の対角線方向（ｄｎ）の４つの方向に対して中心画素と第１の隣接画素及び第２の隣接画素との間の絶対差分の合計として計算される（例えば、式１７のＧｋの計算）。
0005643320.tif 000033
0005643320.tif 000034
0005643320.tif 000035
0005643320.tif 000036
【０１７２】
次に、補正画素値ＰＣは、最小値を有する方向勾配Ｇｈ、Ｇｖ、Ｇｄｐ及びＧｄｎと関連付けられた２つの隣接画素の線形補間を介して判定される。例えば一実施形態において、以下のロジック部表現は、ＰＣの算出を表す。
0005643320.tif 000037
【０１７３】
ＤＰＤＣロジック部４４４により実現される画素補正技術は、境界条件における例外を提供する。例えば選択された補間方向と関連付けられた２つの隣接画素のうちの一方がrawフレームの外側にある場合、rawフレーム内にある隣接画素の値が代わりに置換される。従って、この技術を使用すると、補正画素値はrawフレーム内の隣接画素の値と等しくなる。
【０１７４】
尚、ＩＳＰパイプ処理中にＤＰＤＣロジック部４４４により適用される欠陥画素検出／補正技術は、ＩＳＰフロントエンド処理ロジック部８０のＤＰＤＣロジック部３０４と比較してより高いロバスト性を有する。上記実施形態において説明したように、ＤＰＤＣロジック部３０４は水平方向のみの隣接画素を使用して動的欠陥検出及び補正のみを実行し、その一方で、ＤＰＤＣロジック部４４４は水平方向及び垂直方向双方の隣接画素を使用する静的欠陥、動的欠陥及びスペックルの検出及び補正を提供する。
【０１７５】
理解されるように、静的欠陥テーブルを使用して欠陥画素の場所を格納することにより、必要とされるメモリがより少ない欠陥画素の時間フィルタリングが提供される。例えば画像全体を格納し且つ時間フィルタリングを適用して静的欠陥をある時間にわたり識別する多くの従来の技術と比較して、本技術の実施形態は欠陥画素の場所のみを格納する。これは、一般に画像フレーム全体を格納するのに必要とされる何分の１かのメモリを使用して行われる。更に上述したように、最小勾配値（ｍｉｎ（Ｇｋ））を格納することにより、欠陥画素が補正される（例えば、最もよく目に見える欠陥画素から開始する）場所に優先順位をつける静的欠陥テーブルが効率的に使用できる。
【０１７６】
更に動的成分を含む閾値（例えば、ｄｙｎＴｈ２及びｓｐｋＴｈ２）を使用することは、画像（例えば、テキスト、フォリッジ、特定のファブリックパターン等）の高度テクスチャ領域を処理する時に従来の画像処理システムにおいてよく直面する問題である欠陥の誤検出を低減するのを助長する。また、画素補正のために方向勾配（例えば、ｈ、ｖ、ｄｐ、ｄｎ）を使用することは、欠陥の誤検出が行われた場合の可視アーチファクトの出現を低減できる。例えば最小勾配方向にフィルタリングした結果、誤検出の場合であっても殆どの場合に許容される結果を与える補正が行われる。更に現在の画素Ｐを勾配算出に含むことは、特にホットピクセルの場合に勾配検出の精度を向上できる。
【０１７７】
ＤＰＤＣロジック部４４４により実現される上述した欠陥画素検出及び補正技術は、図３５〜図３７において提供される一連のフローチャートにより概略が示される。例えばまず図３５を参照すると、静的欠陥を検出する処理４７２が示される。ステップ４７４で開始すると、入力画素Ｐが第１の時間Ｔ０において受信される。次のステップ４７６において、画素Ｐの場所は静的欠陥テーブルに格納された値と比較される。判断ロジック４７８は、画素Ｐの場所が静的欠陥テーブルにおいて見つけられるかを判定する。Ｐの場所が静的欠陥テーブルにある場合、処理４７２はステップ４８０に継続し、画素Ｐは静的欠陥として印をつけられ、置換値が判定される。上述したように、置換値は、同一の色成分の先行画素（走査順において）の値に基づいて判定される。処理４７２はステップ４８２に継続し、ステップ４８２において、処理４７２は図３６に示した動的及びスペックル検出処理４８４に進む。更に、判断ロジック４７８において、画素Ｐの場所が静的欠陥テーブルにないと判定される場合、処理４７２はステップ４８０を実行せずにステップ４８２に進む。
【０１７８】
図３６に継続すると、ステップ４８６により示されるように、入力画素Ｐは、動的欠陥又はスペックルが存在するかを判定する処理のために時間Ｔ１において受信される。時間Ｔ１は、図３５の静的欠陥検出処理４７２に対する時間シフトを表す。上述したように、動的欠陥及びスペックル検出処理は、静的欠陥検出処理が２走査線（例えば、行）の画素を解析した後に開始し、これにより、動的／スペックル検出が行われる前に静的欠陥の識別及びそれらの置換値が判定される時間を与える。
【０１７９】
判断ロジック４８８は、入力画素Ｐが静的欠陥として先に印をつけられたか（例えば、処理４７２のステップ４８０により）を判定する。Ｐが静的欠陥として印をつけられた場合、処理４８４は、図３７に示す画素補正処理に継続し、図３６に示す残りのステップを回避する。入力画素Ｐが静的欠陥でないと判断ロジック４８８が判定する場合、ステップ４９０に継続し、動的欠陥及びスペックル処理において使用される隣接画素が識別される。例えば図３４に示し且つ上述した実施形態によると、隣接画素は画素Ｐのすぐ隣の８つの画素（例えば、Ｐ０〜Ｐ７）を含み、３×３画素領域を形成する。次のステップ４９２において、上記の式１７において説明したように、画素間の勾配はrawフレーム１５４内の各隣接画素に対して算出される。更に、式１８及び１９において示すように、平均勾配（Ｇａｖ）は、現在の画素とその周囲の画素の平均との間の差分として算出される。
【０１８０】
その後、処理４８４は、動的欠陥検出のためのステップ４９４及びスペックル検出のための判断ロジック５０２に分岐する。上述したように、いくつかの実施形態において、動的欠陥検出及びスペックル検出は並列に行われる。ステップ４９４において、閾値ｄｙｎＴｈ以下である勾配数のカウントＣが判定される。上述したように、閾値ｄｙｎＴｈは、固定成分及び動的成分を含み、一実施形態においては上記の式２１に従って判定される。Ｃが最大カウントｄｙｎＭａｘＣ以下である場合、処理４８４はステップ５００に継続し、現在の画素は動的欠陥であるとして印をつけられる。その後、以下に説明するように、処理４８４は図３７に示す画素補正処理に継続する。
【０１８１】
ステップ４９２の後の分岐に戻ると、スペックル検出の場合、判断ロジック５０２は、平均勾配Ｇａｖが固定成分及び動的成分を含むスペックル検出閾値ｓｐｋＴｈより大きいかを判定する。Ｇａｖが閾値ｓｐｋＴｈより大きい場合、画素Ｐはステップ５０４においてスペックルを含むものとして印をつけられ、その後、処理４８４はスペックル画素の補正のために図３７に継続する。更に判断ロジックブロック４９６及び５０２の双方の出力が「ＮＯ」である場合、これは、画素Ｐが動的欠陥、スペックル又は静的欠陥（判断ロジック４８８）を含まないことを示す。従って、判断ロジック４９６及び５０２の出力が「ＮＯ」である場合、欠陥（例えば、静的、動的又はスペックル）が検出されなかったため、処理４８４はステップ４９８で終了し、これにより画素Ｐは変更されずに渡される。
【０１８２】
図３７に継続すると、上述した技術に従う画素補正処理５０６が提供される。ステップ５０８において、入力画素Ｐは、図３６の処理４８４から受信される。尚、画素Ｐは、ステップ４８８（静的欠陥）又はステップ５００（動的欠陥）及び５０４（スペックル欠陥）から処理５０６により受信される。判断ロジック５１０は、画素Ｐが静的欠陥として印をつけられているかを判定する。画素Ｐが静的欠陥である場合、処理５０６はステップ５１２に継続して終了し、これにより静的欠陥はステップ４８０（図３５）で判定された置換値を使用して補正される。
【０１８３】
画素Ｐが静的欠陥として識別されない場合、処理５０６は判断ロジック５１０からステップ５１４に継続し、方向勾配が算出される。例えば式２６〜２９を参照して上述したように、勾配は、現在の画素と４方向（ｈ、ｖ、ｄｐ及びｄｎ）に対する第１の隣接画素及び第２の隣接画素との間の絶対差分の合計として計算される。次のステップ５１６において、最小値を有する方向勾配が識別され、その後、判断ロジック５１８は、最小勾配と関連付けられた２つの隣接画素のうちの一方が画像フレーム（例えば、rawフレーム１５４）の外側に配置されているかを評価する。双方の隣接画素が画像フレーム内にある場合、処理５０６はステップ５２０に継続し、画素補正値（ＰＣ）は式３０により示されるように２つの隣接画素の値に線形補間を適用することにより判定される。その後、入力画素Ｐは、ステップ５２６に示すように補間済み画素補正値ＰＣを使用して補正される。
【０１８４】
判断ロジック５１８に戻ると、２つの隣接画素のうち一方が画像フレーム（例えば、rawフレーム１６５）の外側に配置されると判定される場合、外側の画素（Ｐｏｕｔ）の値を使用する代わりに、ステップ５２２に示すように、ＤＰＤＣロジック部４４４は画像フレーム（Ｐｉｎ）内の他方の隣接画素の値でＰｏｕｔの値を置換する。その後、ステップ５２４において、画像補正値ＰＣは、Ｐｉｎの値及びＰｏｕｔの置換された値を補間することにより判定される。換言すると、この場合、ＰＣはＰｉｎの値と等しい。ステップ５２６で終了すると、画素Ｐは値ＰＣを使用して補正される。説明を続ける前に、ＤＰＤＣロジック部４４４を参照して本明細書で説明した特定の欠陥画素検出及び補正処理は、本技術の１つの可能な実施形態のみを反映することを意図していることが理解されるべきである。実際には、設計及び／又はコスト制限に従って、多くの変形が可能であり、欠陥検出／補正ロジック部の全体の複雑さ及びロバスト性がＩＳＰフロントエンド処理ブロック８０において実現されるより単純な検出／補正ロジック部３０４とＤＰＤＣロジック部４４４を参照して本明細書において説明した欠陥検出／補正ロジック部との間になるように特徴が追加又は除去される。
【０１８５】
図３３に戻ると、補正済み画素データはＤＰＤＣロジック部４４４から出力され、更なる処理のために雑音除去ロジック部４４６により受信される。一実施形態において、雑音除去ロジック部４４６は、詳細及びテクスチャを維持しつつ画像データにおける雑音を低減するために２次元エッジ適応ローパスフィルタリングを実現するように構成される。エッジ適応閾値は、フィルタリングが低光条件下で強化されるように現在の照明レベルに基づいて設定される（例えば、制御ロジック部８４により）。更にｄｙｎＴｈ値及びｓｐｋＴｈ値の判定に関して簡単に上述したように、雑音除去処理中に雑音がシーンの詳細及びテクスチャに大きく影響を及ぼさずに低減される（例えば、誤検出を回避／低減する）ように雑音除去閾値が雑音変動をちょうど超える値に設定されるように、雑音の変動は所定のセンサに対して先に判定される。ベイヤカラーフィルタ実現例を仮定すると、雑音除去ロジック部４４６は、分離７タップ水平フィルタ及び５タップ垂直フィルタを使用して色成分Ｇｒ、Ｒ、Ｂ及びＧｂの各々を別個に処理する。一実施形態において、雑音除去処理は、緑色成分（Ｇｂ及びＧｒ）の不均一性を補正し且つ水平フィルタリング及び垂直フィルタリングを実行することにより実行される。
【０１８６】
均一に照明された平坦な表面を仮定すると、一般に緑色不均一性（ＧＮＵ）は、Ｇｒ画素とＧｂ画素との間の僅かな明るさの差により特徴付けられる。この不均一性の補正も補償もしないと、「迷路のような」アーチファクト等の特定のアーチファクトがデモザイク後のフルカラー画像に現れる可能性がある。緑色が不均一の間、処理は、rawベイヤ画像データの緑色画素毎に、現在の緑色画素（Ｇ１）と現在の画素の右下の緑色画素（Ｇ２）との間の絶対差分がＧＮＵ補正閾値（ｇｎｕＴｈ）未満であるかを判定することを含む。図３８は、ベイヤパターンの２×２領域のＧ１画素及びＧ２画素の配置を示す。図示するように、Ｇ１に隣接する画素の色は、現在の緑色画素がＧｂ又はＧｒ画素であるかに依存する。例えばＧ１がＧｒである場合、Ｇ２はＧｂであり、Ｇ１の右側の画素はＲ（赤）であり、Ｇ１の下側の画素はＢ（青）である。あるいは、Ｇ１がＧｂである場合、Ｇ２はＧｒであり、Ｇ１の右側の画素はＢであり、Ｇ１の下側の画素はＲである。Ｇ１とＧ２との間の絶対差分がＧＮＵ補正閾値未満である場合、以下のロジック部で示すように、現在の緑色画素Ｇ１はＧ１及びＧ２の平均値により置換される。
0005643320.tif 000038
【０１８７】
理解されるように、このように緑色不均一性補正を適用することは、Ｇ１画素及びＧ２画素がエッジをまたいで平均されないようにするのを助長し、これにより鮮明度を向上し且つ／又は維持する。
【０１８８】
水平フィルタリングは、緑色不均一性補正の後に適用され、一実施形態においては、７タップ水平フィルタを提供する。各フィルタタップのエッジを横切る勾配が計算され、それが水平エッジ閾値（ｈｏｒｚＴｈ）を超える場合、フィルタタップは、以下に示すように中心画素に重ねられる。水平フィルタは、色成分（Ｒ、Ｂ、Ｇｒ、Ｇｂ）毎に個別に画像データを処理し、フィルタリングされていない値を入力値として使用する。
【０１８９】
例として、図３９は、中央タップがＰ３に位置付けられた水平画素Ｐ０〜Ｐ６の集合を示す図である。図３９に示す画素に基づいて、各フィルタタップに対するエッジ勾配が以下のように算出される。
0005643320.tif 000039
0005643320.tif 000040
0005643320.tif 000041
0005643320.tif 000042
0005643320.tif 000043
0005643320.tif 000044
【０１９０】
エッジ勾配Ｅｈ０〜Ｅｈ５は、以下の式３８を使用して水平フィルタリング出力Ｐｈｏｒｚを判定するために水平フィルタ成分により利用される。
0005643320.tif 000045
式中、ｈｏｒｚＴｈ［ｃ］は色成分ｃ（例えば、Ｒ、Ｂ、Ｇｒ及びＧｂ）毎の水平エッジ閾値であり、Ｃ０〜Ｃ６はそれぞれ画素Ｐ０〜Ｐ６に対応するフィルタタップ係数である。水平フィルタ出力Ｐｈｏｒｚは、中心画素Ｐ３の場所において適用される。一実施形態において、フィルタタップ係数Ｃ０〜Ｃ６は、３ビットの整数部及び１３ビットの小数部（浮動小数点で３．１３）を有する１６ビットの２の補数値である。尚、フィルタタップ係数Ｃ０〜Ｃ６は中心画素Ｐ３に関して必ずしも対称である必要はない。
【０１９１】
垂直フィルタリングは、緑色不均一性補正及び水平フィルタリング処理の後に雑音除去ロジック部４４６により適用される。一実施形態において、垂直フィルタ動作は、垂直フィルタの中央タップがＰ２に配置された状態で、図４０に示すように５タップフィルタを提供する。垂直フィルタリング処理は、上述した水平フィルタリング処理と同様に行われる。例えば各フィルタタップのエッジを横切る勾配が計算され、それが垂直エッジ閾値（ｖｅｒｔＴｈ）を上回る場合、フィルタタップは中心画素Ｐ２に重ねられる。垂直フィルタは、色成分（Ｒ、Ｂ、Ｇｒ、Ｇｂ）毎に個別に画像データを処理し、フィルタリングされていない値を入力値として使用する。
【０１９２】
図４０に示す画素に基づいて、フィルタタップ毎の垂直エッジ勾配は以下のように算出される。
0005643320.tif 000046
0005643320.tif 000047
0005643320.tif 000048
0005643320.tif 000049
【０１９３】
エッジ勾配Ｅｖ０〜Ｅｖ５は、以下の式４３を使用して垂直フィルタリング出力Ｐｖｅｒｔを判定するために垂直フィルタにより利用される。
0005643320.tif 000050
式中、ｖｅｒｔＴｈ［ｃ］は、色成分ｃ（例えば、Ｒ、Ｂ、Ｇｒ及びＧｂ）毎の垂直エッジ閾値であり、Ｃ０〜Ｃ４は、それぞれ図４０の画素Ｐ０〜Ｐ４に対応するフィルタタップ係数である。垂直フィルタ出力Ｐｖｅｒｔは、中心画素Ｐ２の場所において適用される。一実施形態において、フィルタタップ係数Ｃ０〜Ｃ４は、３ビットの整数部及び１３ビットの小数部（浮動小数点で３．１３）を有する１６ビットの２の補数値である。尚、フィルタタップ係数Ｃ０〜Ｃ４は、中心画素Ｐ２に関して必ずしも対称である必要はない。
【０１９４】
更に境界条件に関して、隣接画素がrawフレーム１５４（図９）の外側にある場合、境界の外側の画素の値がrawフレームのエッジにおける同一色の画素値により繰り返される。この規則は、水平フィルタリング動作及び垂直フィルタリング動作に対して実現される。例として、図３９を参照すると、水平フィルタリングの場合、画素Ｐ２がrawフレームの最も左側のエッジのエッジ画素であり且つ画素Ｐ０及びＰ１がrawフレームの外側にある場合、画素Ｐ０及びＰ１の値は水平フィルタリングのために画素Ｐ２の値で置換される。
【０１９５】
図３３に示すraw処理ロジック部４１４のブロック図に戻ると、雑音除去ロジック部４４６の出力は、処理のためにレンズシェーディング補正（ＬＳＣ）ロジック部４４８に送出される。上述したように、レンズシェーディング補正技術は、レンズの幾何学的光学の結果起こる光強度の低下、製造時の不完全性並びにマイクロレンズアレイ及びカラーアレイフィルタの位置合わせ不良等を補償するために画素毎に適切なゲインを適用することを含む。更にいくつかのレンズにおける赤外線（ＩＲ）フィルタにより、光強度の低下は光源に依存するため、レンズシェーディングゲインは検出された光源に従って適応される。
【０１９６】
図示する実施形態において、ＩＳＰパイプ８２のＬＳＣロジック部４４８は同様に実現され、図２３〜図３１を参照して上述したように一般にＩＳＰフロントエンド処理ブロック８０のＬＳＣロジック部３０８と同一の機能を提供する。従って、重複を避けるため、本明細書で図示する実施形態のＬＳＣロジック部４４８は一般にＬＳＣロジック部３０４と同様に動作するように構成され且つそのために上記で提供されたレンズシェーディング補正技術の説明はここでは繰り返さないことが理解されるべきである。しかし、一般的に要約するために、ＬＳＣロジック部４４８は、現在の画素に適用するゲインを判定するためにraw画素データストリームの各色成分を個別に処理することが理解されるべきである。上述した実施形態によると、レンズシェーディング補正ゲインは、撮像フレームにわたり分散された規定されたゲイン格子点の集合に基づいて判定される。各格子点間の間隔は多くの画素（例えば、８画素、１６画素等）により規定される。現在の画素の場所が格子点に対応する場合、その格子点と関連付けられたゲイン値は現在の画素に適用される。しかし、現在の画素の場所が格子点（例えば、図２６のＧ０、Ｇ１、Ｇ２及びＧ３）の間にある場合、ＬＳＣゲイン値は、現在の画素が間に配置される格子点の補間により算出される（式１１ａ及び１１ｂ）。この処理は、図２７の処理３８０により示される。更に図２５に関して上述したように、いくつかの実施形態において、格子点は、ＬＳＣ領域３５４の中心に集中せず、一般にレンズシェーディング歪みがより見えやすいＬＳＣ領域３５４の隅に向かってより集中するように不均一に（例えば、対数的に）分散される。
【０１９７】
更に図３０及び図３１を参照して上述したように、ＬＳＣロジック部４４８は、格子ゲイン値を有する径方向のゲイン成分を更に適用する。径方向のゲイン成分は、画像の中心からの現在の画素の距離に基づいて判定される（式１２〜１４）。上述したように、径方向のゲインを使用することにより、全ての色成分に対して単一の共通のゲイン格子を使用することが可能になり、色成分毎に別個のゲイン格子を格納するのに必要とされる合計の記憶空間が大きく減少されるだろう。格子ゲインデータテーブルが画像処理ハードウェアのメモリ又はチップ面積の多くの部分を占めるため、この格子ゲインデータの減少により実現コストは低下する。
【０１９８】
次に図３３のraw処理ロジックブロック図４１４を再度参照すると、ＬＳＣロジック部４４８の出力は、第２のゲイン、オフセット及びクランピング（ＧＯＣ）ブロック４５０に渡される。ＧＯＣロジック部４５０は、デモザイク（ロジックブロック４５２による）の前に適用され、ＬＳＣロジック部４４８の出力に対して自動ホワイトバランスを実行するために使用される。図示する実施形態において、ＧＯＣロジック部４５０は、ＧＯＣロジック部４４２（及びＢＬＣロジック部３０６）と同様に実現される。上記の式９に従って、ＧＯＣロジック部４５０により受信された入力は、符号付き値の分だけオフセットされ、ゲインと乗算される。結果として得られる値は、式１０に従って最小範囲及び最大範囲にクリップされる。
【０１９９】
その後、ＧＯＣロジック部４５０の出力は、処理のためにデモザイクロジック部４５２に転送され、rawベイヤ入力データに基づいてフルカラー（ＲＧＢ）画像を生成する。理解されるように、ベイヤフィルタ等のカラーフィルタアレイを使用する撮像素子のraw出力は、各画素が単一の色成分のみを取得するためにフィルタリングされるという意味で「不完全」である。従って、個々の画素に対して収集されたデータは色を判定するには不十分である。デモザイク技術は、画素毎に欠落したカラーデータを補間することによりrawベイヤデータからフルカラー画像を生成するために使用される。
【０２００】
図４１を参照すると、フルカラーＲＧＢを生成するためにrawベイヤ画像パターン５３２へのデモザイクの適用方法に関して一般的な概要を提供する処理フロー５３０の図が示される。図示するように、rawベイヤ画像５３２の４×４部分５３４は、色成分毎に別個のチャネルを含み、緑色チャネル５３６、赤色チャネル５３８及び青色チャネル５４０を含む。ベイヤセンサのみの各撮像画素が１つの色に対するデータを取得するため、色チャネル５３６、５３８及び５４０の各々に対するカラーデータは、記号「？」で示すように不完全である可能性がある。デモザイク技術５４２を適用することにより、各チャネルの欠落したカラーサンプルが補間される。例えば図中符号５４４で示すように、補間データＧ'は緑色チャネルの欠落したサンプルを埋めるために使用される。同様に、補間データＲ'は赤色チャネル５４６の欠落したサンプルを埋めるために使用され（補間データＧ'５４４と組み合わせて）、補間データＢ'は青色チャネル５４８の欠落したサンプルを埋めるために使用される（補間データＧ'５４４と組み合わせて）。従って、デモザイク処理の結果、各色チャネル（Ｒ、Ｇ、Ｂ）はカラーデータの完全な集合を有し、これはフルカラーＲＧＢ画像５５０を再構成するために使用される。
【０２０１】
次に、デモザイクロジック部４５２により実現されるデモザイク技術について、一実施形態に従って説明する。緑色チャネルにおいて、欠落したカラーサンプルは、既知の緑色サンプルにおいて方向ローパスフィルタを使用し且つ隣接する色チャネル（例えば、赤及び青）においてハイパス（又は勾配）フィルタを使用して補間される。赤色チャネル及び青色チャネルの場合、欠落したカラーサンプルは同様に補間されるが、既知の赤色値又は青色値においてローパスフィルタリングを使用し且つ同一の場所に配置された補間済み緑色値においてハイパスフィルタリングを使用することにより補間される。更に一実施形態において、緑色チャネルにおけるデモザイクは、元のベイヤカラーデータに基づいて５×５画素ブロックエッジ適応フィルタを利用する。以下に更に説明するように、エッジ適応フィルタを使用することにより、水平及び垂直フィルタリング済みの値の勾配に基づく連続した重み付けを提供し、これにより従来のデモザイク技術で一般に見られたエイリアシング、「チェッカーボード」又は「レインボー」アーチファクト等の特定のアーチファクトの出現が低減される。
【０２０２】
緑色チャネルにおけるデモザイク中、ベイヤ画像パターンの緑色画素（Ｇｒ及びＧｂ画素）に対する元の値が使用される。しかし、緑色チャネルに対するデータの完全な集合を取得するために、緑色画素値はベイヤ画像パターンの赤色画素及び青色画素において補間される。本技術によると、最初に、Ｅｈ及びＥｖでそれぞれ示される水平エネルギー成分及び垂直エネルギー成分は、上述した５×５画素ブロックに基づいて赤色画素及び青色画素において算出される。Ｅｈ及びＥｖの値は、以下に更に説明するように、水平及び垂直フィルタリングステップからのフィルタリング済みのエッジ重み付き値を取得するために使用される。
【０２０３】
例として、図４２は、場所（ｊ，ｉ）における５×５画素ブロックの中心に配置された赤色画素に対するＥｈ値及びＥｖ値の計算を示す。ここで、ｊは行に対応し、ｉは列に対応する。図示するように、Ｅｈの算出では、５×５画素ブロックの中央の３行（ｊ−１、ｊ、ｊ＋１）を考慮し、Ｅｖの算出では、５×５画素ブロックの中央の３列（ｉ−１、ｉ、ｉ＋１）を考慮する。Ｅｈを計算するために、対応する係数（例えば、列ｉ−２及びｉ＋２に対しては−１、列ｉに対しては２）と乗算された赤色の列（ｉ−２、ｉ、ｉ＋２）の画素の合計の絶対値は、対応する係数（例えば、列ｉ−１に対しては１、列ｉ＋１に対しては−１）と乗算された青色の列（ｉ−１、ｉ＋１）の画素の合計の絶対値と合計される。Ｅｖを計算するために、対応する係数（例えば、行ｊ−２及びｊ＋２に対しては−１、行ｊに対しては２）と乗算された赤色の行（ｊ−２、ｊ、ｊ＋２）の画素の合計の絶対値は、対応する係数（例えば、行ｊ−１に対しては１、行ｊ＋１に対しては−１）と乗算された青色の行（ｊ−１、ｊ＋１）の画素の合計の絶対値と合計される。これらの計算は、以下の式４４及び４５により示される。
0005643320.tif 000051
0005643320.tif 000052
【０２０４】
従って、合計のエネルギーは、Ｅｈ＋Ｅｖで表される。更に図４２に示す例は（ｊ，ｉ）における赤色の中心画素に対するＥｈ及びＥｖの計算を示すが、Ｅｈ値及びＥｖ値は青色の中心画素に対して同様に判定されることが理解されるべきである。
【０２０５】
次に水平及び垂直フィルタリングは、それぞれ水平方向及び垂直方向の補間済み緑色値を表す垂直及び水平フィルタリング済みの値Ｇｈ及びＧｖを取得するためにベイヤパターンに適用される。フィルタリング済みの値Ｇｈ及びＧｖは、欠落した緑色サンプルの場所における高周波信号を得るために隣接する色（Ｒ又はＢ）の方向勾配を使用することに加えて既知の隣接する緑色サンプルにおいてローパスフィルタを使用して判定される。例えば図４３を参照して、Ｇｈを判定するための水平補間の一例を次に示す。
【０２０６】
図４３に示すように、ベイヤ画像の赤色の線５５２の５つの水平画素（Ｒ０、Ｇ１，Ｒ２、Ｇ３及びＲ４）は、Ｇｈを判定する際に考慮される。ここで、Ｒ２は（ｊ，ｉ）における中心画素であると仮定される。これらの５つの画素の各々と関連付けられたフィルタ係数は、図中符号５５４により示される。従って、中心画素Ｒ２に対するＧ２'で示される緑色値の補間は以下のように判定される。
0005643320.tif 000053
【０２０７】
種々の数値演算は、以下の式４７及び４８に示したＧ２'に対する表現を生成するために利用される。
0005643320.tif 000054
0005643320.tif 000055
【０２０８】
図４３及び上記の式４６〜４８を参照すると、（ｊ，ｉ）における緑色値に対する水平補間に対する一般的な表現は以下のように導出される。
0005643320.tif 000056
【０２０９】
垂直フィルタリング成分Ｇｖは、Ｇｈと同様に判定される。例えば図４４を参照すると、ベイヤ画像の赤色の列５５６の５つの垂直画素（Ｒ０、Ｇ１、Ｒ２、Ｇ３及びＲ４）及びそれらのフィルタ係数５５８は、Ｇｖを判定する際に考慮される。ここで、Ｒ２は（ｊ，ｉ）における中心画素であると仮定される。垂直方向において既知の緑色サンプルにおいてローパスフィルタリングを使用し且つ赤色チャネルにおいてハイパスフィルタリングを使用して、Ｇｖに対して以下の表現を導出する。
0005643320.tif 000057
【０２１０】
本明細書で説明した例は、赤色画素における緑色値の補間を示したが、式４９及び５０において示された表現が青色画素に対する緑色値の水平及び垂直補間において使用されることが理解されるべきである。
【０２１１】
中心画素（ｊ，ｉ）に対する最終的な補間済み緑色値Ｇ'は、以下の式を得るために上述したエネルギー成分（Ｅｈ及びＥｖ）により水平フィルタ出力（Ｇｈ）及び垂直フィルタ出力（Ｇｖ）を重み付けすることにより判定される。
0005643320.tif 000058
【０２１２】
上述したように、エネルギー成分Ｅｈ及びＥｖは、水平フィルタ出力Ｇｈ及び垂直フィルタ出力Ｇｖのエッジ適応重み付けを提供し、これは、再構成ＲＧＢ画像におけるレインボー、エイリアシング又はチェッカーボードアーチファクト等の画像アーチファクトを低減するのを助長する。更にデモザイクロジック部４５２は、Ｇｈ及びＧｖが同等に重み付けされるようにＥｈ値及びＥｖ値をそれぞれ１に設定することによりエッジ適応重み付け機能を回避するオプションを提供する。
【０２１３】
一実施形態において、上記の式５１に示す水平重み付け係数及び垂直重み付け係数は、重み付け係数の精度を「粗」な値の集合に低下させるために量子化される。例えば一実施形態において、重み付け係数は、８つの可能な重み比率１／８、２／８、３／８、４／８、５／８、６／８、７／８及び８／８に量子化される。他の実施形態は、重み付け係数を１６個の値（例えば、１／１６〜１６／１６）及び３２個の値（１／３２〜３２／３２）等に量子化する。理解されるように、完全精度値（例えば、３２ビットの浮動小数点の値）を使用することと比較すると、重み係数の量子化は、重み付け係数を判定して水平フィルタ出力及び垂直フィルタ出力に適用する時の実装の複雑さを軽減できる。
【０２１４】
更なる実施形態において、本明細書で開示される技術は、重み付け係数を水平フィルタリング済みの値（Ｇｈ）及び垂直フィルタリング済みの値（Ｇｖ）に適用するために水平エネルギー成分及び垂直エネルギー成分を判定し且つ使用することに加えて、正の対角線方向及び負の対角線方向のエネルギー成分を判定し且つ利用する。例えばそのような実施形態において、フィルタリングは正の対角線方向及び負の対角線方向に適用される。フィルタ出力の重み付けは、２つの最大エネルギー成分を選択すること及びそれぞれのフィルタ出力を重み付けするためにそれら選択したエネルギー成分を使用することを含む。例えば２つの最大エネルギー成分が垂直方向及び正の対角線方向に対応すると仮定すると、垂直方向のエネルギー成分及び正の対角線方向のエネルギー成分は、垂直方向のフィルタ出力及び正の対角線方向のフィルタ出力を重み付けするために使用され、補間済み緑色値（例えば、ベイヤパターンにおける赤色画素又は青色画素の場所における）を判定する。
【０２１５】
次に赤色チャネル及び青色チャネルにおけるデモザイクは、ベイヤ画像パターンの緑色画素において赤色値及び青色値を補間し、ベイヤ画像パターンの青色画素において赤色値を補間し、且つベイヤ画像パターンの赤色画素において青色値を補間することにより実行される。ここで説明した技術によると、欠落した赤色画素値及び青色画素値は、既知の隣接する赤色画素及び青色画素に基づくローパスフィルタリング並びに現在の画素の場所に依存して元の値であるか又は補間済みの値（上述した緑色チャネルデモザイク処理から得られる）同一の場所に配置された緑色画素値に基づくハイパスフィルタリングを使用して補間される。そのような実施形態に関して、欠落した緑色値の補間は、緑色値（元の値及び補間済みの値の双方）の完全な集合が欠落した赤色サンプル及び青色サンプルを補間する時に利用可能であるように最初に実行されることが理解されるべきである。
【０２１６】
赤色画素値及び青色画素値の補間について、図４５を参照して説明する。図４５は、赤色及び青色デモザイクが適用されるベイヤ画像パターンの種々の３×３ブロック並びに緑色チャネルにおけるデモザイク中に取得された補間済み緑色値（Ｇ'で示す）を示す。まずブロック５６０を参照すると、Ｇｒ画素（Ｇ１１）に対する補間済みの赤色値Ｒ'１１は以下のように判定される。
0005643320.tif 000059
【０２１７】
式中、Ｇ'１０及びＧ'１２は、図中符号５６８により示されるように補間済み緑色値を表す。同様に、Ｇｒ画素（Ｇ１１）に対する補間済み青色値Ｂ'１１は以下のように判定される。
0005643320.tif 000060
式中、Ｇ'０１及びＧ'２１は補間済み緑色値を表す（５６８）。
【０２１８】
次に中心画素がＧｂ画素（Ｇ１１）である画素ブロック５６２を参照すると、補間済み赤色値Ｒ'１１及び青色値Ｂ'１１は、以下の式５４及び５５に示すように判定される。
0005643320.tif 000061
0005643320.tif 000062
【０２１９】
更に画素ブロック５６４を参照すると、青色画素Ｂ１１における赤色値の補間は以下のように判定される。
0005643320.tif 000063
式中、Ｇ'００、Ｇ'０２、Ｇ'１１、Ｇ'２０及びＧ'２２は、図中符号５７０により示されるように補間済み緑色値を表す。最後に、画素ブロック５６６により示されるような赤色画素における青色値の補間は以下のように算出される。
0005643320.tif 000064
【０２２０】
上述した実施形態は、補間済み赤色値及び青色値を判定するために色差（例えば、勾配）に依存したが、別の実施形態は、色比を使用して補間済み赤色値及び青色値を提供する。例えば補間済み緑色値（ブロック５６８及び５７０）は、ベイヤ画像パターンの赤色画素の場所及び青色画素の場所における色比を取得するために使用され、それらの比の線形補間は、欠落したカラーサンプルに対する補間済み色比を判定するために使用される。補間済みの値又は元の値である緑色値は、最終的な補間済み色値を取得するために補間済み色比と乗算される。例えば色比を使用する赤色画素値及び青色画素値の補間は、以下の式に従って実行される。ここで、式５８及び５９はＧｒ画素に対する赤色値及び青色値の補間を示し、式６０及び６１はＧｂ画素に対する赤色値及び青色値の補間を示し、式６２は青色画素における赤色値の補間を示し、式６３は赤色画素における青色値の補間を示す。
【０２２１】
0005643320.tif 000065
（Ｇ１１がＧｒ画素の場合に補間されたＲ'１１）
0005643320.tif 000066
（Ｇ１１がＧｒ画素の場合に補間されたＢ'１１）
0005643320.tif 000067
（Ｇ１１がＧｂ画素の場合に補間されたＲ'１１）
0005643320.tif 000068
（Ｇ１１がＧｂ画素の場合に補間されたＢ'１１）
0005643320.tif 000069
（青色画素Ｂ１１において補間されたＲ'１１）
0005643320.tif 000070
（赤色画素Ｒ１１において補間されたＢ'１１）
【０２２２】
欠落したカラーサンプルがベイヤ画像パターンの画像画素毎に補間されると、赤色チャネル、青色チャネル及び緑色チャネルに対する色値の完全なサンプル（例えば、図４１の５４４、５４６及び５４８）は、フルカラーＲＧＢ画像を生成するために組み合わされる。例えば図３２及び３３に戻ると、raw画素処理ロジック部４１４の出力４２４は、８ビット形式、１０ビット形式、１２ビット形式又は１４ビット形式のＲＧＢ画像信号である。
【０２２３】
次に図４６〜図４９を参照すると、開示された実施形態に従ってrawベイヤ画像パターンをデモザイクする処理を示す種々のフローチャートが示される。特に、図４６の処理５７２は、所定の入力画素Ｐに対して補間される色成分の判定を示す。処理５７２による判定に基づいて、緑色値を補間する処理５８４（図４７）、赤色値を補間する処理５９６（図４８）及び青色値を補間する処理６０８（図４９）のうちの１つ以上が実行される（例えば、デモザイクロジック部４５２により）。
【０２２４】
図４６から開始すると、処理５７２は入力画素Ｐが受信された時にステップ５７４で開始する。判断ロジック５７６は、入力画素の色を判定する。例えばこれは、ベイヤ画像パターン内の画素の場所に依存する。従って、Ｐが緑色画素（例えば、Ｇｒ又はＧｂ）であると識別される場合、処理５７２はステップ５７８に進み、Ｐに対する補間済み赤色値及び青色値を取得する。例えばこれは、図４８の処理５９６及び図４９の処理６０８に継続することを含む。Ｐが赤色画素であると識別される場合、処理５７２はステップ５８０に進み、Ｐに対する補間済みに緑色値及び青色値を取得する。これは、図４７の処理５８４及び図４９の処理６０８を更に実行することを含む。また、Ｐが青色画素であると識別される場合、処理５７２はステップ５８２に進み、Ｐに対する補間済みの緑色値及び赤色値を取得する。これは、図４７の処理５８４及び図４８の処理５９６を更に実行することを含む。処理５８４、５９６及び６０８の各々について以下に更に説明する。
【０２２５】
入力画素Ｐに対する補間済み緑色値を判定する処理５８４は、図４７に示され、ステップ５８６〜５９４を含む。ステップ５８６において、入力画素Ｐが受信される（例えば、処理５７２から）。次のステップ５８８において、５×５画素ブロックを形成する隣接画素の集合が識別される。ここで、Ｐは５×５ブロックの中心である。その後、ステップ５９０において、画素ブロックは、水平エネルギー成分及び垂直エネルギー成分を判定するために解析される。例えば水平エネルギー成分及び垂直エネルギー成分は、それぞれＥｈ及びＥｖを算出するための式４４及び４５に従って判定される。上述したように、エネルギー成分Ｅｈ及びＥｖは、エッジ適応フィルタリングを提供するために重み付け係数として使用されるため、最終的な画像における特定のデモザイクアーチファクトの出現を低減できる。ステップ５９２において、水平フィルタリング出力及び垂直フィルタリング出力を判定するために、ローパスフィルタリング及びハイパスフィルタリングは水平方向及び垂直方向に適用される。例えば水平フィルタリング出力Ｇｈ及び垂直フィルタリング出力Ｇｖは、式４９及び５０に従って算出される。次に処理５７２はステップ５９４に継続し、式５１に示すように、補間済み緑色値Ｇ'はエネルギー成分Ｅｈ及びＥｖにより重い付けされたＧｈ及びＧｖの値に基づいて補間される。
【０２２６】
次に、図４８の処理５９６に関して、赤色値の補間はステップ５９８で開始し、入力画素Ｐが受信される（例えば、処理５７２から）。ステップ６００において、３×３画素ブロックを形成する隣接画素の集合が識別される。ここで、Ｐは３×３ブロックの中心である。その後、ステップ６０２において、ローパスフィルタリングは、３×３ブロック内の隣接赤色画素において適用され、ハイパスフィルタリングは、ベイヤ撮像素子により撮像された元の緑色値又は補間済みの値（例えば、図４７の処理５８４を介して判定された）である同一の場所に配置された隣接する緑色値において適用される（ステップ６０４）。Ｐに対する補間済み赤色値Ｒ'は、ステップ６０６において示すように、ローパスフィルタリング出力及びハイパスフィルタリング出力に基づいて判定される。Ｐの色に依存して、Ｒ'は式５２、５４又は５６の１つに従って判定される。
【０２２７】
青色値の補間に関して、図４９の処理６０８が適用される。一般にステップ６１０及び６１２は、処理５９６（図４８）のステップ５９８及び６００と同一である。ステップ６１４において、ローパスフィルタリングは、３×３内の隣接青色画素において適用され、ステップ６１６において、ハイパスフィルタリングはベイヤ撮像素子により撮像された元の緑色値又は補間済みの値（例えば、図４７の処理５８４を介して判定された）である同一の場所に配置された隣接する緑色値において適用される。Ｐに対する補間済み青色値Ｂ'は、ステップ６１８において示すように、ローパスフィルタリング出力及びハイパスフィルタリング出力に基づいて判定される。Ｐの色に依存して、Ｂ'は式５３、５５又は５７の１つに従って判定される。更に上述したように、赤色値及び青色値の補間は、色差（式５２〜２７）又は色比（式５８〜６３）を使用して判定される。欠落した緑色値の補間は、緑色値（元の値及び補間済みの値の双方）の完全な集合が欠落した赤色サンプル及び青色サンプルを補間する時に利用可能であるように最初に実行されることが理解されるべきである。例えば図４７の処理５８４は、図４８の処理５９６及び図４９の処理６０８をそれぞれ実行する前に全ての欠落した緑色サンプルを補間するために適用される。
【０２２８】
図５０〜図５３を参照すると、ＩＳＰパイプ８２のraw画素処理ロジック部４１４により処理された画像のカラー図の例が提供される。図５０は、撮影装置３０の撮像素子９０により撮像される元の画像シーン６２０を示す。図５１は、撮像素子９０により撮像されたraw画素データを表すrawベイヤ画像６２２を示す。上述したように、従来のデモザイク技術は、画像データにおけるエッジ（例えば、２色以上の領域間の境界）の検出に基づいて適応フィルタリングを提供しない可能性があり、これにより、結果として得られる再構成フルカラーＲＧＢ画像においてアーチファクトが生成されてしまう。例えば図５２は従来のデモザイク技術を使用して再構成されたＲＧＢ画像６２４を示し、エッジ６２８において「チェッカーボード」アーチファクト６２６等のアーチファクトを含む可能性がある。しかし、上述したデモザイク技術を使用して再構成された画像の一例である図５３のＲＧＢ画像６３０と画像６２４とを比較すると、図５２に存在するチェッカーボードアーチファクト６２６が存在しないこと、あるいは少なくともその見かけがエッジ６２８において実質的に低減されていることがわかる。このように、図５０〜図５３に示す画像は、従来の方法と比べて本明細書で開示したデモザイク技術が有する少なくとも１つの利点を示すことを意図する。
【０２２９】
図３２に戻ると、ＲＧＢ画像信号４２４を出力するraw画素処理ロジック部４１４の動作について十分に説明したため、次にこの説明はＲＧＢ処理ロジック部４１６によるＲＧＢ画像信号４２４の処理に注目する。図示するように、ＲＧＢ画像信号４２４は、選択ロジック部４２８及び／又はメモリ１０８に送出される。ＲＧＢ処理ロジック部４１６は、選択ロジック部４２８の構成に依存して、信号４２６で示すような信号４２４又はメモリ１０８からのＲＧＢ画像データである入力信号４３０を受信する。ＲＧＢ画像データ４３０は、色補正（例えば、色補正行列を使用する）、自動ホワイトバランスに対する色ゲインの適用、並びにグローバルトーンマッピング等を含む色調整動作を実行するために、ＲＧＢ処理ロジック部４１６により処理される。
【０２３０】
ＲＧＢ処理ロジック部４１６の一実施形態のより詳細な図を示すブロック図を図５４に示す。図示するように、ＲＧＢ処理ロジック部４１６は、ゲイン、オフセット及びクランピング（ＧＯＣ）ロジック部６４０、ＲＧＢ色補正ロジック部６４２、ＧＯＣロジック部６４４、ＲＧＢガンマ調整ロジック部、並びに色空間変換ロジック部６４８を含む。入力信号４３０は、最初にゲイン、オフセット及びクランピング（ＧＯＣ）ロジック部６４０により受信される。図示する実施形態において、ＧＯＣロジック部６４０は、色補正ロジック部６４２による処理の前にＲ色チャネル、Ｇ色チャネル又はＢ色チャネルのうちの１つ以上において自動ホワイトバランスを実行するためにゲインを適用する。
【０２３１】
ＧＯＣロジック部６４０は、ベイヤ画像データのＲ、Ｂ、Ｇｒ及びＧｂ成分ではなくＲＧＢ領域の色成分が処理されること以外はraw画素処理ロジック部４１４のＧＯＣロジック部４４２と類似する。動作中、現在の画素に対する入力値は、上記の式９で示すように、まず符号付き値Ｏ［ｃ］の分だけオフセットされ、ゲインＧ［ｃ］と乗算される。ここで、ｃはＲ、Ｇ及びＢを表す。上述したように、ゲインＧ［ｃ］は２ビットの整数部及び１４ビットの小数部（例えば、浮動小数点表現で２．１４）を有する１６ビットの符号なし数であり、ゲインＧ［ｃ］の値は統計処理（例えば、ＩＳＰフロントエンド処理ブロック８０における）中に先に判定される。計算された画素値Ｙ（式９に基づく）は、式１０に従って最小及び最大範囲にクリップされる。上述したように、変数ｍｉｎ［ｃ］及びｍａｘ［ｃ］は、それぞれ最小出力値及び最大出力値に対する１６ビットの符号付き「クリッピング値」を表す。一実施形態において、ＧＯＣロジック部６４０は、色成分Ｒ、Ｇ及びＢの各々に対して最大値の上及び最小値の下にクリップされた画素数のカウントを維持するように更に構成される。
【０２３２】
ＧＯＣロジック部６４０の出力は、色補正ロジック部６４２に転送される。ここで開示された技術によると、色補正ロジック部６４２は、色補正行列（ＣＣＭ）を使用してＲＧＢ画像データに色補正を適用するように構成される。一実施形態において、ＣＣＭは３×３ＲＧＢ変換行列であるが、他の実施形態において、他の次元の行列が利用される（例えば、４×３等）。従って、Ｒ、Ｇ及びＢ成分を有する入力画素に対して色補正を実行する処理は、以下のように表される。
0005643320.tif 000071
【０２３３】
式中、Ｒ、Ｇ及びＢはそれぞれ入力画素に対する現在の赤色値、緑色値及び青色値を表し、ＣＣＭ００〜ＣＣＭ２２は色補正行列の係数を表し、Ｒ'、Ｇ'及びＢ'はそれぞれ入力画素に対する補正済み赤色値、緑色値及び青色値を表す。従って、正確な色値は、以下の式６５〜６７に従って計算される。
0005643320.tif 000072
0005643320.tif 000073
0005643320.tif 000074
【０２３４】
上述したように、ＣＣＭの係数（ＣＣＭ００〜ＣＣＭ２２）は、ＩＳＰフロントエンド処理ブロック８０における統計処理中に判定される。一実施形態において、所定の色チャネルに対する係数は、それら係数（例えば、赤色補正の場合はＣＣＭ００、ＣＣＭ０１及びＣＣＭ０２）の合計が１になるように選択され、これは、明るさ及び色のバランスを維持するのを助長する。更に係数は、一般に正のゲインが補正されている色に適用されるように選択される。例えば赤色補正の場合、係数ＣＣＭ００は１より大きく、係数ＣＣＭ０１及びＣＣＭ０２の一方又は双方は１より小さい。このように係数を設定することにより、結果として得られる補正済みＲ'値の赤色（Ｒ）成分を向上し、その一方で青色（Ｂ）成分及び緑色（Ｇ）成分の一部を減算する。理解されるように、これは、特定のカラー画素に対するフィルタリングされた光の一部が異なる色の隣接画素に「流出」する時に元のベイヤ画像の取得中に起こる可能性のある色の重なりに関する問題に対処する。一実施形態において、ＣＣＭの係数は、４ビットの整数部及び１２ビットの小数部（浮動小数点で４．１２と表される）を有する１６ビットの２の補数として提供される。更に色補正ロジック部６４２は、計算された補正済み色値が最大値を上回るか又は最小値を下回る場合にその値のクリッピングを提供する。
【０２３５】
ＲＧＢ色補正ロジック部６４２の出力は、別のＧＯＣロジックブロック６４４に渡される。ＧＯＣロジック部６４４は、ＧＯＣロジック部６４０と同一の方法で実現されるため、提供されるゲイン、オフセット及びクランピング機能の詳細な説明はここでは繰り返さない。一実施形態において、色補正に後続するＧＯＣロジック部６４４の適用は、補正済み色値に基づいて画像データの自動ホワイトバランスを提供し、赤色対緑色の比及び青色対緑色の比のセンサの変動値を更に調整する。
【０２３６】
次に、ＧＯＣロジック部６４４の出力は、更なる処理のためにＲＧＢガンマ調整ロジック部６４６に送出される。例えばＲＧＢガンマ調整ロジック部６４６は、ガンマ補正、トーンマッピング及びヒストグラムマッチング等を提供する。開示された実施形態によると、ガンマ調整ロジック部６４６は、対応する出力ＲＧＢ値への入力ＲＧＢ値のマッピングを提供する。例えばガンマ調整ロジック部は、３つのルックアップテーブルの集合、すなわちＲ、Ｇ及びＢ成分の各々に対して１つのテーブルを提供する。例として、各ルックアップテーブルは、各々が出力レベルを表す１０ビット値の２５６個のエントリを格納するように構成される。テーブルエントリは、入力値が２つのエントリ間にある場合に出力値が線形補間されるように、入力画素値の範囲において均等に分散される。一実施形態において、Ｒ、Ｇ及びＢに対する３つのルックアップテーブルの各々は、メモリに「ダブルバッファリング」されるように複製され、それにより、その複製が更新されている間、１つのテーブルが処理中に使用できる。尚、上述した１０ビット出力値に基づいて、１４ビットのＲＧＢ画像信号は、本実施形態におけるガンマ補正処理の結果として効果的に１０ビットにダウンサンプリングされる。
【０２３７】
ガンマ調整ロジック部６４６の出力は、メモリ１０８及び／又は色空間変換ロジック部６４８に送出される。色空間変換（ＣＳＣ）ロジック部６４８は、ガンマ調整ロジック部６４６からのＲＧＢ出力をＹＣｂＣｒ形式に変換するように構成される。ＹＣｂＣｒ形式において、Ｙはルマ成分を表し、Ｃｂは青差分クロマ成分を表し、Ｃｒは赤差分クロマ成分を表し、各々は、ガンマ調整動作中の１４ビットから１０ビットへのＲＧＢデータのビット深度変換の結果として１０ビット形式となる。上述したように、一実施形態において、ガンマ調整ロジック部６４６のＲＧＢ出力は、１０ビットにダウンサンプリングされ、ＣＳＣロジック部６４８により１０ビットのＹＣｂＣｒ値に変換され、その後、以下に更に説明するＹＣｂＣｒ処理ロジック部４１８に転送される。
【０２３８】
ＲＧＢ領域からＹＣｂＣｒ色空間への変換は、色空間変換行列（ＣＳＣＭ）を使用して実行される。例えば一実施形態において、ＣＳＣＭは３×３変換行列である。ＣＳＣＭの係数は、ＢＴ．６０１及びＢＴ．７０９規格等の既知の変換式に従って設定される。更にＣＳＣＭ係数は入力及び出力の所望の範囲に基づいて柔軟性を有する。いくつかの実施形態において、ＣＳＣＭ係数は、ＩＳＰフロントエンド処理ブロック８０における統計処理中に収集されたデータに基づいて判定され且つプログラムされる。
【０２３９】
ＲＧＢ入力画素に対してＹＣｂＣｒ色空間変換を実行する処理は、以下のように表される。
0005643320.tif 000075
【０２４０】
式中、Ｒ、Ｇ及びＢはそれぞれ１０ビット形式（ガンマ調整ロジック部６４６により処理されたように）の入力画素に対する現在の赤色値、緑色値及び青色値を表し、ＣＳＣＭ００〜ＣＳＣＭ２２は色空間変換行列の係数を表し、Ｙ、Ｃｂ及びＣｒはそれぞれ結果として得られる入力画素に対するルマ成分及びクロマ成分を表す。従って、Ｙ、Ｃｂ及びＣｒの値は以下の式６９〜７１に従って計算される。
0005643320.tif 000076
0005643320.tif 000077
0005643320.tif 000078
【０２４１】
色空間変換動作の後、結果として得られるＹＣｂＣｒ値は信号４３２としてＣＳＣロジック部６４８から出力され、信号４３２は、以下に説明するようにＹＣｂＣｒ処理ロジック部４１８により処理される。
【０２４２】
一実施形態において、ＣＳＣＭの係数は、４ビットの整数部及び１２ビットの小数部（４．１２）を有する１６ビットの２の補数である。別の実施形態において、ＣＳＣロジック部６４８は、Ｙ値、Ｃｂ値及びＣｒ値の各々にオフセットを適用し且つ結果として得られる値を最小値及び最大値にクリップするように更に構成される。単なる例として、ＹＣｂＣｒ値が１０ビット形式であると仮定すると、オフセットは−５１２〜５１２の範囲であり、最小値及び最大値はそれぞれ０及び１０２３である。
【０２４３】
図３２のＩＳＰパイプ処理ロジック部８２のブロック図に戻ると、ＹＣｂＣｒ信号４３２は、選択ロジック部４３６及び／又はメモリ１０８に送出される。ＹＣｂＣｒ処理ロジック部４１８は、選択ロジック部４３６の構成に依存して信号４３４により示すような信号４３２又はメモリ１０８からのＹＣｂＣｒ画像データである入力信号４３８を受信する。ＹＣｂＣｒ画像データ４３８は、ルマ鮮明化、クロマ抑制、クロマ雑音除去、並びに明るさ、コントラスト及び色調整等のためにＹＣｂＣｒ処理ロジック部４１８により処理される。更にＹＣｂＣｒ処理ロジック部４１８は、水平方向及び垂直方向の双方の処理済み画像データのガンママッピング及びスケーリングを提供する。
【０２４４】
ＹＣｂＣｒ処理ロジック部４１８の一実施形態のより詳細な図を示すブロック図を図５５に示す。図示するように、ＹＣｂＣｒ処理ロジック部４１８は、画像鮮明化ロジック部６６０、明るさ、コントラスト及び／又は色を調整するロジック部６６２、ＹＣｂＣｒガンマ調整ロジック部６６４、クロマデシメーションロジック部６６８及びスケーリングロジック部６７０を含む。ＹＣｂＣｒ処理ロジック部４１８は、１平面、２平面又は３平面メモリ構成を使用して４：４：４、４：２：２又は４：２：０形式の画素データを処理するように構成される。更に一実施形態において、ＹＣｂＣｒ入力信号４３８は、ルマ及びクロマ情報を１０ビット値として提供する。
【０２４５】
理解されるように、１平面、２平面又は３平面に対する参照は、ピクチャメモリにおいて利用される像面の数を示す。例えば、３平面形式において、Ｙ成分、Ｃｂ成分及びＣｒ成分の各々は、別個のメモリ平面を利用する。２平面形式において、第１の平面はルマ成分（Ｙ）に対して提供され、Ｃｂサンプル及びＣｒサンプルをインタリーブする第２の平面はクロマ成分（Ｃｂ及びＣｒ）に対して提供される。１平面形式において、メモリの単一平面は、ルマサンプル及びクロマサンプルをインタリーブされる。更に４：４：４、４：２：２又は４：２：０形式に関して、４：４：４形式は、３つのＹＣｂＣｒ成分の各々が同一レートでサンプリングされるサンプリング形式を示すことが理解されるだろう。４：２：２形式において、クロマ成分Ｃｂ及びＣｒはルマ成分Ｙの半分のサンプリングレートでサブサンプリングされ、これによりクロマ成分Ｃｂ及びＣｒの解像度を水平方向に半分に減少する。同様に、４：２：０形式は、垂直方向及び水平方向の双方にクロマ成分Ｃｂ及びＣｒをサブサンプリングする。
【０２４６】
ＹＣｂＣｒ情報の処理は、ソースバッファ内に規定されたアクティブソース領域内で行われる。アクティブソース領域は、「有効な」画像データを含む。例えば図５６を参照すると、アクティブソース領域６７８を規定したソースバッファ６７６が示される。図示する例において、ソースバッファは、１０ビット値のソース画素を提供する４：４：４の１平面形式を表す。アクティブソース領域６７８は、ルマ（Ｙ）サンプル及びクロマサンプル（Ｃｂ及びＣｒ）に対して個々に指定される。従って、アクティブソース領域６７８は、実際にはルマサンプル及びクロマサンプルに対して複数のアクティブソース領域を含むことが理解されるべきである。ルマ及びクロマに対するアクティブソース領域６７８の開始はソースバッファの基本アドレス（０，０）６８０からのオフセットに基づいて判定される。例えばルマアクティブソース領域に対する開始位置（Ｌｍ＿Ｘ，Ｌｍ＿Ｙ）６８２は、基本アドレス６８０に対するｘオフセット６８６及びｙオフセット６９０により規定される。同様に、クロマアクティブソース領域に対する開始位置（Ｃｈ＿Ｘ、Ｃｈ＿Ｙ）６８４は、基本アドレス６８０に対するｘオフセット６８８及びｙオフセット６９２により規定される。尚、この例において、ルマ及びクロマに対するｙオフセット６８８及び６９２は等しい。開始位置６８２に基づいて、ルマアクティブソース領域は、それぞれｘ方向及びｙ方向のルマサンプルの数を表す幅６９４及び高さ６９６により規定される。更に開始位置６８４に基づいて、クロマアクティブソース領域は、それぞれｘ方向及びｙ方向のクロマサンプルの数を表す幅６９８及び高さ７００により規定される。
【０２４７】
図５７は、２平面形式でのルマサンプル及びクロマサンプルに対するアクティブソース領域の判定方法を示す一例を更に提供する。例えば図示するように、ルマアクティブソース領域６７８は、第１のソースバッファ６７６（基本アドレス６８０を有する）において、開始位置６８２に対する幅６９４及び高さ６９６により指定される領域により規定される。クロマアクティブソース領域７０４は、第２のソースバッファ７０２（基本アドレス７０６を有する）において、開始位置６８４を基準として幅６９８及び高さ７００により指定される領域として規定される。
【０２４８】
上記の点を考慮し、図５５に戻ると、まずＹＣｂＣｒ信号４３８が画像鮮明化ロジック部６６０により受信される。画像鮮明化ロジック部６６０は、画像におけるテクスチャ及びエッジ詳細を増加するためにピクチャ鮮明化及びエッジ強調処理を実行するように構成される。理解されるように、画像鮮明化は知覚される画像解像度を向上する。しかし、一般に画像における既存の雑音がテクスチャ及び／又はエッジとして検出されず、従って、鮮明化処理中に増幅されないのが望ましい。
【０２４９】
本技術によると、画像鮮明化ロジック部６６０は、ＹＣｂＣｒ信号のルマ（Ｙ）成分においてマルチスケールアンシャープマスクフィルタを使用してピクチャ鮮明化を実行する。一実施形態において、スケールサイズの異なる２つ以上のローパスガウスフィルタが提供される。例えば２つのガウスフィルタを提供する一実施形態において、第１の半径（ｘ）を有する第１のガウスフィルタの出力（例えば、ガウスぼかし）は第２の半径（ｙ）を有する第２のガウスフィルタの出力から減算され、アンシャープマスクを生成する。ここで、ｘはｙより大きい。更なるアンシャープマスクは、Ｙ入力からガウスフィルタの出力を減算することにより取得される。特定の実施形態において、この技術はアンシャープマスクを使用して実行される適応コアリング閾値比較動作を提供し、その結果、その比較の結果に基づいて、ゲイン量が元のＹ入力画像又は１つのガウスフィルタの出力として選択される基本画像に加算され、最終的な出力を生成する。
【０２５０】
図５８を参照すると、本明細書で開示される技術の実施形態に従って画像鮮明化を実行する例示的なロジック部７１０を示すブロック図が示される。ロジック部７１０は、入力ルマ画像Ｙｉｎに適用されるマルチスケールアンシャープフィルタリングマスクを表す。例えば図示するように、Ｙｉｎは２つのローパスガウスフィルタ７１２（Ｇ１）及び７１４（Ｇ２）により受信され且つ処理される。この例において、フィルタ７１２は３×３フィルタであり、フィルタ７１４は５×５フィルタである。しかし、追加の実施形態において、異なるスケールのフィルタを含む３つ以上のガウスフィルタが使用される（例えば、７×７、９×９等）ことが理解されるべきである。理解されるように、ローパスフィルタリング処理のために、一般に雑音に対応する高周波成分はＧ１及びＧ２の出力から除去され、「非鮮明な」画像（Ｇ１ｏｕｔ及びＧ２ｏｕｔ）を生成する可能性がある。以下に説明するように、非鮮明な入力画像を基本画像として使用することにより、鮮明化フィルタの一部として雑音除去が可能になる。
【０２５１】
３×３ガウスフィルタ７１２及び５×５ガウスフィルタ７１４は、以下に示すように規定される。
0005643320.tif 000079
【０２５２】
単なる例として、ガウスフィルタＧ１及びＧ２の値は、一実施形態において以下のように選択される。
0005643320.tif 000080
【０２５３】
Ｙｉｎ、Ｇ１ｏｕｔ及びＧ２ｏｕｔに基づいて、３つのアンシャープマスクＳｈａｒｐ１、Ｓｈａｒｐ２及びＳｈａｒｐ３が生成される。Ｓｈａｒｐ１は、ガウスフィルタ７１２の非鮮明な画像Ｇ１ｏｕｔからガウスフィルタ７１４の非鮮明な画像Ｇ２ｏｕｔを減算された結果として判定される。Ｓｈａｒｐ１は、実質的には２つのローパスフィルタ間の差分であるため、高周波雑音成分がＧ１ｏｕｔ及びＧ２ｏｕｔ非鮮明画像において既に除去されているために「ミッドバンド」マスクと呼ばれる。更にＳｈａｒｐ２は、入力ルマ画像ＹｉｎからＧ２ｏｕｔを減算することにより算出され、Ｓｈａｒｐ３は入力ルマ画像ＹｉｎからＧ１ｏｕｔを減算することにより算出される。以下に説明するように、適応閾値コアリング方式は、アンシャープマスクＳｈａｒｐ１、Ｓｈａｒｐ２及びＳｈａｒｐ３を使用して適用される。
【０２５４】
選択ロジック部７１６を参照すると、基本画像は制御信号ＵｎｓｈａｒｐＳｅｌに基づいて選択される。図示する実施形態において、基本画像は、入力画像Ｙｉｎ、あるいはフィルタリング済み出力Ｇ１ｏｕｔ又はＧ２ｏｕｔである。理解されるように、元の画像が大きい雑音変動（例えば、信号変動とほぼ同等）を有する場合、鮮明化の際に元の画像Ｙｉｎを基本画像として使用すると、鮮明化中に雑音成分を十分に除去しない可能性がある。従って、雑音コンテンツの特定の閾値が入力画像において検出される場合、選択ロジック部７１６は、雑音を含む可能性のある高周波コンテンツが低減されたローパスフィルタリング済み出力Ｇ１ｏｕｔ又はＧ２ｏｕｔの一方を選択するように構成される。一実施形態において、制御信号ＵｎｓｈａｒｐＳｅｌの値は、画像の雑音コンテンツを判定するためにＩＳＰフロントエンド処理ブロック８０における統計処理中に取得された統計データを解析することにより判定される。例として、鮮明化処理の結果として出現雑音が増加しないような低雑音コンテンツを入力画像Ｙｉｎが有する場合、入力画像Ｙｉｎは基本画像として選択される（例えば、ＵｎｓｈａｒｐＳｅｌ＝０）。鮮明化処理が雑音を増幅するような認識できるレベルの雑音を入力画像Ｙｉｎが含むと判定される場合、フィルタリング済み画像Ｇ１ｏｕｔ又はＧ２ｏｕｔの一方が選択される（例えば、ＵｎｓｈａｒｐＳｅｌ＝１又は２）。従って、基本画像を選択する適応技術を適用することにより、ロジック部７１０は実質的に雑音除去機能を提供する。
【０２５５】
次に、以下に説明するように、ゲインは適応コアリング閾値方式に従ってＳｈａｒｐ１、Ｓｈａｒｐ２及びＳｈａｒｐ３マスクのうちの１つ以上に適用される。次に、アンシャープ値Ｓｈａｒｐ１、Ｓｈａｒｐ２及びＳｈａｒｐ３は、比較器ブロック７１８、７２０及び７２２により種々の閾値ＳｈａｒｐＴｈｄ１、ＳｈａｒｐＴｈｄ２及びＳｈａｒｐＴｈｄ３（それぞれ対応する必要はない）と比較される。例えば、Ｓｈａｒｐ１値は、比較器ブロック７１８において常にＳｈａｒｐＴｈｄ１と比較される。比較器ブロック７２０に関しては、閾値ＳｈａｒｐＴｈｄ２が選択ロジック部７２６に依存してＳｈａｒｐ１又はＳｈａｒｐ２と比較される。例えば、選択ロジック部７２６は、制御信号ＳｈａｒｐＣｍｐ２の状態に依存してＳｈａｒｐ１又はＳｈａｒｐ２を選択する（例えば、ＳｈａｒｐＣｍｐ２＝１はＳｈａｒｐ１を選択し、ＳｈａｒｐＣｍｐ２＝０はＳｈａｒｐ２を選択する）。例えば一実施形態において、ＳｈａｒｐＣｍｐ２の状態は、入力画像（Ｙｉｎ）の雑音変動／コンテンツに依存して判定される。
【０２５６】
図示する実施形態において、画像データが相対的に少ない雑音を有することが検出されない限り、一般にＳｈａｒｐ１を選択するようにＳｈａｒｐＣｍ２及びＳｈａｒｐＣｍｐ３を設定するのが好ましい。これは、ガウスローパスフィルタＧ１及びＧ２の出力の間の差分であるＳｈａｒｐ１が一般に雑音の影響を受けにくく、そのため「雑音のある」画像データにおける雑音レベルの変動によりＳｈａｒｐＡｍｔ１、ＳｈａｒｐＡｍｔ２及びＳｈａｒｐＡｍｔ３が変動する量を低減するのを助長できるためである。例えば元の画像が大きい雑音変動を有する場合、固定閾値を使用する時に高周波成分の一部が把握できず、鮮明化処理中に増幅される可能性がある。従って、入力画像の雑音コンテンツが多い場合、雑音コンテンツの一部がＳｈａｒｐ２に存在する可能性がある。そのような例において、ＳｈａｒｐＣｍｐ２は１に設定され、上述したように２つのローパスフィルタ出力の差分であるために高周波コンテンツを低減し且つそのため雑音の影響が少ないミッドバンドマスクＳｈａｒｐ１を選択する。
【０２５７】
理解されるように、同様の処理は、ＳｈａｒｐＣｍｐ３の制御下の選択ロジック部７２４によるＳｈａｒｐ１又はＳｈａｒｐ３の選択に適用される。一実施形態において、ＳｈａｒｐＣｍｐ２及びＳｈａｒｐＣｍｐ３はデフォルトで１に設定され（例えば、Ｓｈａｒｐ１を使用する）、一般に小さい雑音変動を有すると識別される入力画像に対してのみ０に設定される。これは、実質的に、比較値（Ｓｈａｒｐ１、Ｓｈａｒｐ２又はＳｈａｒｐ３）の選択が入力画像の雑音変動に基づいて適応可能である適応コアリング閾値方式を提供する。
【０２５８】
比較器ブロック７１８、７２０及び７２２の出力に基づいて、鮮明化された出力画像Ｙｓｈａｒｐは基本画像（例えば、ロジック部７１６を介して選択された）に入手したアンシャープマスクを適用することにより判定される。例えば最初に比較器ブロック７２２を参照すると、ＳｈａｒｐＴｈｄ３は、本明細書において「ＳｈａｒｐＡｂｓ」と呼ばれ且つＳｈａｒｐＣｍｐ３の状態に依存してＳｈａｒｐ１又はＳｈａｒｐ３と等しい選択ロジック部７２４により提供されたＢ入力と比較される。ＳｈａｒｐＡｂｓが閾値ＳｈａｒｐＴｈｄ３より大きい場合、ゲインＳｈａｒｐＡｍｔ３はＳｈａｒｐ３に適用され、結果として得られる値は基本画像に加算される。ＳｈａｒｐＡｂｓが閾値ＳｈａｒｐＴｈｄ３より小さい場合、減衰ゲインＡｔｔ３が適用される。一実施形態において、減衰ゲインＡｔｔ３は以下のように判定される。
0005643320.tif 000081
【０２５９】
式中、ＳｈａｒｐＡｂｓは、選択ロジック部７２４により判定されるようにＳｈａｒｐ１又はＳｈａｒｐ３である。フルゲイン（ＳｈａｒｐＡｍｔ３）又は減衰ゲイン（Ａｔｔ３）と合計された基本画像の選択は、比較器ブロック７２２の出力に基づいて選択ロジック部７２８により実行される。理解されるように、減衰ゲインを使用することにより、ＳｈａｒｐＡｂｓが閾値（例えば、ＳｈａｒｐＴｈｄ３）より大きくないが、画像の雑音変動が所定の閾値に近い状況に対処する。これは、鮮明な画素と非鮮明な画素との間の認識される移行部分を減少するのを助長する。例えば画像データがそのような状況において減衰ゲインなしで渡される場合、結果として得られる画素は欠陥画素（例えば、スタックピクセル）として現れるだろう。
【０２６０】
次に同様の処理が、比較器ブロック７２０に関して適用される。例えばＳｈａｒｐＣｍｐ２の状態に依存して、選択ロジック部７２６は閾値ＳｈａｒｐＴｈｄ２と比較される比較器ブロック７２０に対する入力としてＳｈａｒｐ１又はＳｈａｒｐ２を提供する。比較器ブロック７２０の出力に依存して、ゲインＳｈａｒｐＡｍｔ２又はＳｈａｒｐＡｍｔ２に基づく減衰ゲインＡｔｔ２は、Ｓｈａｒｐ２に適用され、上述した選択ロジック部７２８の出力に加算される。理解されるように、減衰ゲインＡｔｔ２は、ゲインＳｈａｒｐＡｍｔ２及び閾値ＳｈａｒｐＴｈｄ２がＳｈａｒｐ１又はＳｈａｒｐ２として選択されるＳｈａｒｐＡｂｓに関して適用されること以外は上記の式７２と同様の方法で計算される。
【０２６１】
その後、ゲインＳｈａｒｐＡｍｔ１又は減衰ゲインＡｔｔ１はＳｈａｒｐ１に適用され、結果として得られる値は、選択ロジック部７３０の出力と合計され、鮮明化された画素出力Ｙｓｈａｒｐを生成する。ゲインＳｈａｒｐＡｍｔ１又は減衰ゲインＡｔｔ１を適用する選択は、Ｓｈａｒｐ１と閾値ＳｈａｒｐＴｈｄ１とを比較する比較器ブロック７１８の出力に基づいて判定される。減衰ゲインＡｔｔ１は、ゲインＳｈａｒｐＡｍｔ１及び閾値ＳｈａｒｐＴｈｄ１がＳｈａｒｐ１に関して適用されること以外は上記の式７２と同様の方法で判定される。３つのマスクの各々を使用してスケーリングされた結果として得られる鮮明化画素値は、入力画素Ｙｉｎに加算され、鮮明化出力Ｙｓｈａｒｐを生成する。この出力は、一実施形態において１０ビットにクリップされる（ＹＣｂＣｒ処理が１０ビット精度で行われることを仮定する）。
【０２６２】
理解されるように、従来のアンシャープマスキング技術と比較すると、本発明で示す画像鮮明化技術は、出力画像における雑音を低減しつつ、テクスチャ及びエッジの強調を向上する。特に本技術は、ポータブル装置（例えば、移動電話）に内蔵された低解像度カメラを使用して低光条件下で取得された画像等の例えばＣＭＯＳ撮像素子を使用して撮像された画像が低い信号対雑音比を示す応用例において非常に適するだろう。例えば雑音変動及び信号変動が同等である場合、雑音成分の一部がテクスチャ及びエッジに沿って鮮明化されるため、鮮明化するのに固定閾値を使用するのは困難である。従って、上述したように、本明細書で提供される技術は、低減された雑音コンテンツを示す鮮明化画像を提供するために、マルチスケールガウスフィルタを使用して入力画像から雑音を除去し、非鮮明な画像（例えば、Ｇ１ｏｕｔ及びＧ２ｏｕｔ）から特徴を抽出する。
【０２６３】
説明を続ける前に、図示するロジック部７１０は、本技術の例示的な一実施形態のみを提供することを意図することが理解されるべきである。他の実施形態において、追加の特徴又はより少ない特徴が画像鮮明化ロジック部６６０により提供される。例えばいくつかの実施形態において、減衰ゲインを適用するのではなく、ロジック部７１０は単純に基準値を渡す。更にいくつかの実施形態は、選択ロジックブロック７２４、７２６又は７１６を含まない。例えば比較器ブロック７２０及び７２２は、選択ロジックブロック７２４及び７２６からの選択出力ではなく、単にＳｈａｒｐ２値及びＳｈａｒｐ３値を受信する。そのような実施形態は、図５８に示す実現例と同等のロバスト性を有する鮮明化機能及び／又は雑音除去機能を提供しないが、そのような設計選択は、コスト及び／又はビジネス関連の制約の結果行われることが理解されるべきである。
【０２６４】
本実施形態において、画像鮮明化ロジック部６６０は、鮮明化画像出力ＹＳｈａｒｐが取得されると、エッジ強調機能及びクロマ制約機能を提供する。これらの追加の機能の各々について以下に説明する。まず図５９を参照すると、図５８の鮮明化ロジック部７１０の下流側で実現されるエッジ強調を実行する例示的なロジック部７３８が一実施形態に従って示される。図示するように、元の入力値Ｙｉｎはエッジ検出のためにソーベルフィルタ７４０により処理される。ソーベルフィルタ７４０は、元の画像の３×３画素ブロック（以下において「Ａ」で示される）に基づいて勾配値ＹＥｄｇｅを判定する。ここで、Ｙｉｎは３×３ブロックの中心画素である。一実施形態において、ソーベルフィルタ７４０は、水平方向及び垂直方向の変化を検出するために元の画像データを畳み込むことによりＹＥｄｇｅを算出する。この処理を以下の式７３〜７５において示す。
0005643320.tif 000082
0005643320.tif 000083
0005643320.tif 000084
0005643320.tif 000085
【０２６５】
式中、Ｓｘ及びＳｙは、それぞれ水平方向及び垂直方向の勾配エッジ明度検出のための行列演算子を表す。Ｇｘ及びＧｙは、それぞれ水平方向の変化の導関数及び垂直直方向の変化の導関数を含む勾配画像を表す。従って、出力ＹＥｄｇｅは、Ｇｘ及びＧｙの積として判定される。
【０２６６】
ＹＥｄｇｅは、図５８において上述したように、ミッドバンドＳｈａｒｐ１マスクに沿って選択ロジック部７４４により受信される。制御信号ＥｄｇｅＣｍｐに基づいて、Ｓｈａｒｐ１又はＹＥｄｇｅは比較器ブロック７４２において閾値ＥｄｇｅＴｈｄと比較される。ＥｄｇｅＣｍｐの状態は、例えば画像の雑音コンテンツに基づいて判定され、それによりエッジ検出及び強調のために適応コアリング閾値方式を提供する。次に比較器ブロック７４２の出力は、選択ロジック部７４６に提供され、フルゲイン又は減衰ゲインが適用される。例えば比較器ブロック７４２に対する選択されたＢ入力（Ｓｈａｒｐ１又はＹＥｄｇｅ）はＥｄｇｅＴｈｄを上回る場合、ＹＥｄｇｅは、適用されるエッジ強調量を判定するためにエッジゲインＥｄｇｅＡｍｔと乗算される。比較器ブロック７４２におけるＢ入力がＥｄｇｅＴｈｄより小さい場合、減衰エッジゲインＡｔｔＥｄｇｅは、強調されたエッジと元の画素との間の認識される移行を回避するために適用される。理解されるように、ＡｔｔＥｄｇｅは、上記の式７２に示すのと同様に算出されるが、ＥｄｇｅＡｍｔ及びＥｄｇｅＴｈｄは、選択ロジック部７４４の出力に依存してＳｈａｒｐ１又はＹＥｄｇｅである「ＳｈａｒｐＡｂｓ」に適用される。従って、ゲイン（ＥｄｇｅＡｍｔ）又は減衰ゲイン（ＡｔｔＥｄｇｅ）を使用して強調されたエッジ画素は、Ｙｓｈａｒｐ（図５８のロジック部７１０の出力）に加算され、一実施形態において１０ビットにクリップされる（ＹＣｂＣｒ処理が１０ビット精度で行われることを仮定する）エッジ強調出力画素Ｙｏｕｔを取得する。
【０２６７】
画像鮮明化ロジック部６６０により提供されるクロマ抑制機能に関して、そのような機能はルマエッジにおいてクロマを減衰させる。一般に、クロマ抑制は、上述したルマ鮮明化及び／又はエッジ強調ステップから取得された値（ＹＳはｒｐ、Ｙｏｕｔ）に依存して１より小さいクロマゲイン（減衰率）を適用することにより実行される。例として、図６０は、対応する鮮明化ルマ値（ＹＳｈａｒｐ）に対して選択されるクロマゲインを表す曲線７５２を含むグラフ７５０である。グラフ７５０により表されるデータは、ＹＳｈａｒｐ値及び０〜１（減衰率）の対応するクロマゲインのルックアップテーブルとして実現される。ルックアップテーブルは、曲線７５２を近似するために使用される。ルックアップテーブルにおける２つの減衰率の間の同一の場所に配置されるＹＳｈａｒｐ値に対して、線形補間が現在のＹＳｈａｒｐ値を上回るＹＳｈａｒｐ値及び下回るＹＳｈａｒｐ値に対応する２つの減衰率に適用される。更に他の実施形態において、入力ルマ値は、図５８において上述したようにロジック部７１０により判定されたＳｈａｒｐ１、Ｓｈａｒｐ２又はＳｈａｒｐ３の１つ、あるいは図５９において説明したようにロジック部７３８により判定されるＹＥｄｇｅとして選択される。
【０２６８】
次に画像鮮明化ロジック部６６０（図５５）の出力は、明るさ、コントラスト及び色（ＢＣＣ）調整ロジック部６６２により処理される。ＢＣＣ調整ロジック部６６２の一実施形態を示す機能ブロック図を図６１に示す。図示するように、ロジック部６６２は、明るさ及びコントラスト処理ブロック７６０、グローバル色相制御ブロック７６２及び彩度制御ブロック７６４を含む。ここで示される実施形態は、１０ビット精度のＹＣｂＣｒデータの処理を提供するが、他の実施形態は異なるビット深度を利用する。ブロック７６０、７６２及び７６４の各々の機能を以下に説明する。
【０２６９】
最初に明るさ及びコントラスト処理ブロック７６０を参照すると、オフセットＹＯｆｆｓｅｔは、黒レベルをゼロに設定するためにルマ（Ｙ）データから減算される。これは、コントラスト調整が黒レベルを変更しないことを保証するために行われる。次にルマ値は、コントラスト制御を適用するためにコントラストゲイン値と乗算される。例として、コントラストゲイン値は２ビットの整数部及び１０ビットの小数部を有する符号なしの１２ビットであり、これにより、最大４×画素値のコントラストゲイン範囲を提供する。その後、明るさの調整は、ルマデータの明るさのオフセット値を加算（又は減算）することにより実現される。例として、本実施形態における明るさのオフセットは、−５１２〜＋５１２の範囲を有する１０ビットの２の補数である。尚、明るさの調整は、コントラストを変更する時にＤＣオフセットを変動させないようにするためにコントラスト調整の後に実行される。その後、初期のＹＯｆｆｓｅｔは、黒レベルを元に戻すために調整されたルマデータに加算される。
【０２７０】
ブロック７６２及び７６４は、Ｃｂ及びＣｒデータの色相特徴に基づく色調整を提供する。図示するように、５１２のオフセット（１０ビット処理を仮定する）は、範囲を約ゼロに位置付けるためにＣｂ及びＣｒデータから減算される。色相は、以下の式に従って調整される。
0005643320.tif 000086
0005643320.tif 000087
式中、Ｃｂａｄｊ及びＣｒａｄｊは調整されたＣｂ値及びＣｒ値をそれぞれ表し、θは以下のように算出される色相角を表す。
【０２７１】
0005643320.tif 000088
上記演算は、グローバル色相制御ブロック７６２内のロジック部により示され、以下の行列演算により表される。
0005643320.tif 000089
式中、Ｋａ＝ｃｏｓ（θ）であり、Ｋｂ＝ｓｉｎ（θ）であり、θは上記の式７８で規定される。
【０２７２】
次に、彩度制御は、彩度制御ブロック７６４により示されるようにＣｂａｄｊ及びＣｒａｄｊに適用される。図示する実施形態において、彩度制御は、Ｃｂ値及びＣｒ値の各々に対するグローバル彩度の乗数及び色相に基づく彩度の乗数を適用することにより実行される。色相に基づく彩度制御は、色の再現性を向上できる。色の色相は、図６２の色相環グラフ７７０により示されるようにＹＣｂＣｒ色空間で表される。理解されるように、ＹＣｂＣｒ色相及び彩度の色相環７７０は、ＨＳＶ色空間（色相、彩度及び明度）において同一の色相環を約１０９度シフトすることにより導出される。図示するように、グラフ７７０は、０〜１の範囲内の彩度の乗数（Ｓ）を表す円周値、並びに０〜３６０度の範囲内の上記で規定するようなθを表す角度値を含む。各θは、異なる色を表す（例えば、４９度＝マゼンタ、１０９度＝赤、２２９度＝緑等）。特定の色相角θにおける色の色相は、適切な彩度の乗数Ｓを選択することにより調整される。
【０２７３】
図６１に戻ると、色相角θ（グローバル色相制御ブロック７６２において算出される）は、Ｃｂ彩度ルックアップテーブル７６６及びＣｒ彩度ルックアップテーブル７６８に対する指標として使用される。一実施形態において、彩度ルックアップテーブル７６６及び７６８は、０〜３６０度の色相範囲に均一に分散された２５６個の彩度値を含み（例えば、第１のルックアップテーブルエントリは０度であり、最後のエントリは３６０度である）、所定の画素における彩度値Ｓは、ルックアップテーブル中の現在の色相角θをちょうど下回る彩度値及びちょうど上回る彩度値の線形補間を介して判定される。Ｃｂ成分及びＣｒ成分の各々に対する最終的な彩度値は、判定された色相に基づく彩度値とグローバル彩度値（Ｃｂ及びＣｒの各々に対するグローバル定数である）とを乗算することにより取得される。従って、最終的な補正済みＣｂ'値及びＣｒ'値は、色相に基づく彩度制御ブロック７６４において示すように、Ｃｂａｄｊ及びＣｒａｄｊを最終的な各彩度値と乗算することにより判定される。
【０２７４】
その後、ＢＣＣロジック部６６２の出力は、図５５に示すようにＹＣｂＣｒガンマ調整ロジック部６６４に渡される。一実施形態において、ガンマ調整ロジック部６６４は、Ｙチャネル、Ｃｂチャネル及びＣｒチャネルに対する非線形マッピング機能を提供する。例えば入力Ｙ値、Ｃｂ値及びＣｒ値は、対応する出力値にマッピングされる。ＹＣｂＣｒデータが１０ビットで処理されると仮定すると、補間済み１０ビット２５６エントリルックアップテーブルが利用される。各々がＹチャネル、Ｃｂチャネル及びＣｒチャネルの各々に対するものである３つのそのようなルックアップテーブルが提供される。２５６個の入力エントリの各々は均一に分散され、出力は現在の入力指標をちょうど上回る指標及びちょうど下回る指標にマッピングされた出力値の線形補間により判定される。いくつかの実施形態において、１０２４個のエントリ（１０ビットデータに対して）を有する補間されていないルックアップテーブルが使用されるが、非常に多くのメモリが必要とされるだろう。理解されるように、ルックアップテーブルの出力値を調整することにより、ＹＣｂＣｒガンマ調整機能は、白黒、セピア色、陰画及びソラリゼーション等の特定の画像フィルタ効果を実行するために使用される。
【０２７５】
次にクロマデシメーションは、クロマデシメーションロジック部６６８によりガンマ調整ロジック部６６４の出力に適用される。一実施形態において、クロマデシメーションロジック部６６８は、４：４：４形式からクロマ（Ｃｒ及びＣｒ）情報がルマデータの半分のレートでサブサンプリングされる４：２：２形式にＹＣｂＣｒデータを変換するために水平デシメーションを実行するように構成される。単なる例として、デシメーションは、以下に示すように、ハーフバンドランチョスフィルタ等の７タップローパスフィルタを７つの水平画素の集合に適用することにより実行される。
0005643320.tif 000090
【０２７６】
式中、ｉｎ（ｉ）は入力画素（Ｃｂ又はＣｒ）を表し、Ｃ０〜Ｃ６は７タップフィルタのフィルタ係数を表す。各入力画素は、クロマフィルタリング済みサンプルに対して柔軟性のある位相オフセットを可能にするために個別のフィルタ係数（Ｃ０〜Ｃ６）を有する。
【０２７７】
更にいくつかの例において、クロマデシメーションは、フィルタリングせずに実行される。これは、ソース画像が元々４：２：２形式で受信されたがＹＣｂＣｒ処理のために４：４：４形式にアップサンプリングされた場合に有用である。この場合、結果として得られるデシメートされた４：２：２画像は元の画像と同一である。
【０２７８】
次に、クロマデシメーションロジック部６６８から出力されたＹＣｂＣｒデータは、ＹＣｂＣｒ処理ブロック４１８から出力される前にスケーリングロジック部６７０を使用してスケーリングされる。スケーリングロジック部６７０の機能は、図１８を参照して上述したように、フロントエンド画素処理ユニット１３０のビニング補償フィルタ１８２におけるスケーリングロジック部２９２の機能性に類似する。例えばスケーリングロジック部６７０は、水平方向及び垂直方向のスケーリングを２段階で実行する。一実施形態において、５タップポリフェーズフィルタは、垂直方向のスケーリングに対して使用され、９タップポリフェーズフィルタは水平方向のスケーリングに対して使用される。マルチタップポリフェーズフィルタは、ソース画像から選択された画素を重み付け因子（例えば、フィルタ係数）と乗算し、それら出力を合計して目標画素を形成する。選択された画素は、現在の画素位置及びフィルタタップ数に依存して選択される。例えば垂直５タップフィルタにより、現在の画素の垂直側の２つの隣接画素が選択され、水平９タップフィルタにより、現在の画素の水平側の４つの隣接画素が選択される。フィルタ係数は、ルックアップテーブルから提供され、現在の画素間の断片の位置により判定される。スケーリングロジック部６７０の出力４４０は、ＹＣｂＣｒ処理ブロック４１８からの出力である。
【０２７９】
図３２に戻ると、処理された出力信号４４０は、メモリ１０８に送出されるか、あるいは、ユーザが閲覧するためにディスプレイハードウェア（例えば、ディスプレイ２８）に対して又は圧縮エンジン（例えば、符号器１１８）に対して画像信号１１４としてＩＳＰパイプ処理ロジック部８２から出力される。いくつかの実施形態において、画像信号１１４は、グラフィック処理ユニット及び／又は圧縮エンジンにより更に処理され、伸張されてディスプレイに提供される前に格納される。更に１つ以上のフレームバッファは、特にビデオ画像データに関してディスプレイに出力されている画像データのバッファリングを制御するために提供される。
【０２８０】
理解されるように、特に欠陥画素検出及び補正、レンズシェーディング補正、デモザイク、並びに画像鮮明化に関連する上述した種々の画像処理技術は、本明細書において単なる例として提供される。従って、本発明は、上記で提供した例のみに限定されるものとして解釈されるべきではないことが理解されるべきである。実際には、本明細書で示す例示的なロジック部は、他の実施形態における多くの変形及び／又は追加の機能が行われてもよい。更に、上述した技術は、あらゆる適切な方法で実現されてもよいことが理解されるべきである。例えば画像処理回路網３２の構成要素、特にＩＳＰフロントエンド処理ブロック８０及びＩＳＰパイプブロック８２は、ハードウェア（例えば、適切に構成された回路網）、ソフトウェア（例えば、１つ以上の有形コンピュータ可読媒体に格納された実行可能コードを含むコンピュータプログラムを介する）、あるいはハードウェア要素及びソフトウェア要素の組み合わせを使用して実現されてもよい。
【０２８１】
上述した特定の実施形態は例として示されたものであり、これらの実施形態は、種々の変更及び別の形態が可能であることが理解されるべきである。請求の範囲は、開示される特定の形態に限定されることを意図せず、本発明の趣旨の範囲内の全ての変更、均等物及び代替物を範囲に含むことを意図することが更に理解されるべきである。
【図１】
0005643320.tif 000091
【図２】
0005643320.tif 000092
【図３】
0005643320.tif 000093
【図４】
0005643320.tif 000094
【図５】
0005643320.tif 000095
【図６】
0005643320.tif 000096
【図７】
0005643320.tif 000097
【図８】
0005643320.tif 000098
【図９】
0005643320.tif 000099
【図１０】
0005643320.tif 000100
【図１１】
0005643320.tif 000101
【図１２】
0005643320.tif 000102
【図１３】
0005643320.tif 000103
【図１４】
0005643320.tif 000104
【図１５】
0005643320.tif 000105
【図１６】
0005643320.tif 000106
【図１７】
0005643320.tif 000107
【図１８】
0005643320.tif 000108
【図１９】
0005643320.tif 000109
【図２０】
0005643320.tif 000110
【図２１】
0005643320.tif 000111
【図２２】
0005643320.tif 000112
【図２３】
0005643320.tif 000113
【図２４】
0005643320.tif 000114
【図２５】
0005643320.tif 000115
【図２６】
0005643320.tif 000116
【図２７】
0005643320.tif 000117
【図２８】
0005643320.tif 000118
【図２９】
0005643320.tif 000119
【図３０】
0005643320.tif 000120
【図３１】
0005643320.tif 000121
【図３２】
0005643320.tif 000122
【図３３】
0005643320.tif 000123
【図３４】
0005643320.tif 000124
【図３５】
0005643320.tif 000125
【図３６】
0005643320.tif 000126
【図３７】
0005643320.tif 000127
【図３８】
0005643320.tif 000128
【図３９】
0005643320.tif 000129
【図４０】
0005643320.tif 000130
【図４１】
0005643320.tif 000131
【図４２】
0005643320.tif 000132
【図４３】
0005643320.tif 000133
【図４４】
0005643320.tif 000134
【図４５】
0005643320.tif 000135
【図４６】
0005643320.tif 000136
【図４７】
0005643320.tif 000137
【図４８】
0005643320.tif 000138
【図４９】
0005643320.tif 000139
【図５０】
0005643320.tif 000140
【図５１】
0005643320.tif 000141
【図５２】
0005643320.tif 000142
【図５３】
0005643320.tif 000143
【図５４】
0005643320.tif 000144
【図５５】
0005643320.tif 000145
【図５６】
0005643320.tif 000146
【図５７】
0005643320.tif 000147
【図５８】
0005643320.tif 000148
【図５９】
0005643320.tif 000149
【図６０】
0005643320.tif 000150
【図６１】
0005643320.tif 000151
【図６２】
0005643320.tif 000152