(57)【要約】      （修正有）【課題】レンズシェーディング及びレンズの不完全性を含む種々なレンズの影響を解消するため校正及び画像補正し、画像データを補正するためのシステム及び方法を提供する。【解決手段】スプライン表面（例えば、ベジエ表面）を使用することにより画像データの補正を行う。スプライン表面の使用により、効率的なハードウエア実施が可能となる。画像補正は、チャネル及び照明タイプごとに行う。また、画像データを補正するのに使用される画像信号プロセッサを校正するために使用されるスプライン表面を決定する。【選択図】図６
2010252325.tif 000002
【特許請求の範囲】
【請求項１】
光画像センサから、１つ以上のカラーチャネルのためのデータを含む画像データを受け取るステップと、
スプラインパッチアレイにアクセスするステップであって、該スプラインパッチアレイは、前記１つ以上のカラーチャネルの各々のための複数の制御点を含み、該複数の制御点は、レンズシェーディング歪みを補正するための逆関数である表面を画定する、該ステップと、
補正された画像データを生成するよう前記画像データに対して前記スプラインパッチアレイを使用するステップと、
を含む画像処理の方法。
【請求項２】
前記スプラインパッチアレイは、バイキュービックベジエ形の複数のパッチを含む、請求項１に記載の方法。
【請求項３】
前記スプラインパッチアレイは、１００個の制御点を含み、前記スプラインパッチアレイは、９個のパッチを含む、請求項１に記載の方法。
【請求項４】
前記複数の制御点の一部は、前記スプラインパッチアレイのスプラインパッチの境界に位置しており、複数のスプラインパッチの間で共有される、請求項１に記載の方法。
【請求項５】
前記光センサは、相捕型金属酸化膜半導体（ＣＭＯＳ）センサである、請求項１に記載の方法。
【請求項６】
前記光センサは、電荷結合素子（ＣＣＤ）センサである、請求項１に記載の方法。
【請求項７】
前記スプラインパッチアレイは、各カラーチャネルに対して対応のスプライン表面を含む、請求項１に記載の方法。
【請求項８】
前記スプラインパッチアレイは、各照明タイプに対して対応のスプライン表面を含む、請求項１に記載の方法。
【請求項９】
前記照明タイプは、タングステン、蛍光及び昼光からなる群から選択される、請求項８に記載の方法。
【請求項１０】
画像信号プロセッサを校正する方法であって、
均一なフィールドからの光をレンズに通すステップと、
前記レンズを通過した光をデジタル光センサでサンプリングするステップと、
複数のセンサ位置に対する複数の逆数値を求めるステップと、
前記逆数値に基づいて複数の制御点を求めるステップと、
を含み、
前記複数の制御点は、前記複数の逆数値に基づいて表面を画定し、前記表面は、前記レンズを使用して前記デジタル光センサにより検出される後の画像を補正するのに使用されるよう使用可能である、
方法。
【発明の詳細な説明】
【関連米国出願】
【０００１】
[001]本出願は、２００９年４月１６日の出願日を有する「SYSTEMAND METHOD FOR IMAGE CORRECTION」と題する同時係属中の仮特許出願第６１／１７０，０１４号、代理人管理番号ＮＶＩＤ−Ｐ００３８１７−ＵＳ０、に基づく利益及び優先権を主張しており、同仮出願の全体を参照することにより、本明細書に援用するものである。
【０００２】
[002]本出願は、２０１０年４月１日の出願日を有する「SYSTEMAND METHOD FOR IMAGE CORRECTION」と題する同時係属中の特許出願第１２／７５２，８７８号、代理人管理番号ＮＶＩＤ−Ｐ００３８１７−ＵＳ１、に関連しており、同出願の全体を参照することにより、本明細書に援用するものである。
【０００３】
[003]本出願は、２０１０年４月２日の出願日を有する「SYSTEMAND METHOD FOR PERFORMING IMAGE CORRECTION」と題する同時係属中の特許出願第１２／７５３，７７５号、代理人管理番号ＮＶＩＤ−Ｐ００３８１７−ＵＳ２、に関連しており、同出願の全体を参照することにより、本明細書に援用するものである。
【技術分野】
【０００４】
[004]本発明の実施形態は、広くデジタル画像信号処理に関するものである。
【背景技術】
【０００５】
[005]技術の進歩につれて、これに伴いカメラも進歩してきているが、依然として、ある永続的な問題に直面している。特に、光がカメラレンズを通過するときに、当該光は、光の屈折により曲げられる。このように光が曲げられる結果として、センサにわたって輝度が一様でなくなり、その中央部の区域での輝度は、その縁部の区域での輝度よりはるかに高くなる。このような歪みは、レンズシェーディング又はけられとして知られている。レンズの変動又は不完全さにより、レンズから出て行く光の非一様性が増大してしまう。更に、光は、レンズハウジングとの相互作用の結果として、遮断又は不通過となってしまうことがある。従って、レンズ系を通過してきて、フィルム平面（デジタルセンサ又はフィルム）上に画像を形成する光は、レンズ及び画像形成媒体（フィルム又はセンサのデジタルアレイ）の不完全さのため、画像平面及びカラースペクトルにわたって不均一に減衰される。その全体的な結果として、光の「フラット」フィールドがレンズに入る場合でも、フィルム又はデジタルセンサは、それにも関らず、輝度の変化した光の「非フラット」フィールドを受けることになってしまう。
【０００６】
[006]従来、このような歪みを表すのに高次多項式が使用され、これを画像平面に亘って適用して、レンズシェーディング及びレンズの不完全さの影響を解消して画像を補正する試みが行われている。しかしながら、高次多項式は、固定精度のハードウエアにて実行するには計算上費用が掛かり、又、複雑なものである。例えば、１０次多項式は、１００個の個々の項を有し、そして、高次多項式は、各ピクセルでの評価を必要としており、このことは、例えば、２０個のピクセルを越えると、必要とされる計算の量が急に増大することを意味している。更に、より高次の多項式は、小さな変動により多項式が大きく変化することがあるので、計算上不安定となる。また、９次又は１０次の多項式によって定められる表面を動き回るので、その多項式係数は、どの方向の表面の値の変化の大きさについても、あまり直観性を与えない。これらの特性の全てのため、多項式表現は、多量の計算を必要とし、また、直観性を欠くことにより、レンズシェーディング問題のための実行可能な解決法とはなっていない。
【発明の概要】
【０００７】
[007]従って、レンズシェーディング効果について画像データを効率的に補正するためのシステムが必要とされている。画像データを補正する（例えば、レンズシェーディング、不完全形状のレンズ及びその他の影響を解消する）ために使用されるよう使用可能な校正データを求める実施形態を提供する。本発明の実施形態によれば、更に、レンズシェーディング効果について画像データを補正するプロセスにおいて校正データが使用される。一実施形態では、画像データの補正は、スプライン表面（例えば、ベジエ表面）を使用して行われる。スプライン表面を使用することにより、効率的なハードウエア実装が可能とされ、直観的であり且つ計算上安定な選択を行うことができるようになる。このような画像補正は、チャネル及び照明タイプごとに行うことができる。
【課題を解決するための手段】
【０００８】
[008]一実施形態では、本発明は、画像信号処理用のコンピュータ実施方法である。この方法は、画像データを受け取ることを含む。画像データは、カメラレンズに関連付けられた光画像センサ（例えば、ＣＭＯＳセンサ又はＣＣＤセンサ）から受け取られ、１つ以上のカラーチャネルに対するデータを含む。次いで、レンズ及びセンサに対して特定のベジエパッチアレイにアクセスする。ベジエパッチアレイは、検出されたレンズシェーディングの逆関数である表面の複数の制御点を含む。ベジエパッチアレイは、補正された画像データを生成するよう、画像データで使用される。従って、補正された画像データは、レンズシェーディング及びレンズ不完全さ等を含む種々な影響について補正される。
【０００９】
[009]別の実施形態では、本発明は、画像信号処理システムとして実施される。このシステムは、光情報をキャプチャするよう動作可能な光センサ（例えば、ＣＭＯＳセンサ又はＣＣＤセンサ）と、光センサから順序付けされたフォーマットにて画像信号データを受け取るよう動作可能な処理ユニットと、を含む。処理ユニットは、更に、逆表面を反映する複数の値に基づいて画像を補正するために画像信号データを処理するよう動作可能である。逆表面は、本明細書で説明する校正の実施形態によって求めておくことができる。このシステムは、更に、処理ニットが受け取るチャネル画像信号（例えば、赤、緑又は青）を選択するためのチャネルセレクタと、複数のカラーチャネルの各々についての補正情報を含む複数の補正データ（例えば、特定の逆表面）を記憶するよう動作可能なメモリと、を含む。メモリは、更に、複数の照明タイプ（例えば、蛍光、タングステン又は白熱光、昼光等）の各々についての補正情報（例えば、特定の逆表面）を記憶し得る。逆表面は、ベジエ表面の複数のパッチであってもよい。
【００１０】
[010]別の実施形態では、本発明は、画像信号プロセッサを校正するための方法として実施される。この方法は、均一フィールドから光を受けること、及び、レンズに関連付けられたデジタル光センサで光をサンプリングすることを含む。この方法は、更に、均一フィールドに対応する各位置（例えば、ピクセル）についての複数の逆数値を求めることを含む。逆数値に基づいて、複数の制御点が決定される。複数の制御点は、複数の逆数値に基づいて逆表面を定め、逆表面は、画像を補正するため、例えば、レンズシェーディング効果を補正するために使用されるよう使用可能である。例えば、校正により、レンズシェーディング及びレンズ不完全さによる影響を解消することができる。一実施形態では、逆表面は、ベジエ表面の複数のパッチとして表される。
【００１１】
[011]従って、画像データを効率的に補正するためのシステム及び方法が必要とされている。実施形態によれば、例えば、けられによるｂ歪みを補正するために複数のスプライン表面（例えば、ベジエ表面）に基づいて画像の複数の部分（例えば、パッチ）が個別に処理される。複数のスプライン表面を使用することにより、効率的なハードウエア実装（例えば、直線補間器による）が可能とされ、直観的であり且つ計算上安定な選択を行うことができるようになる。実施形態によれば、更に、レンズシェーディング効果（ビグネッティング）、光クロストーク及び電気クロストークを含む種々な影響について、ピクセルがセンサから受け取られるときに、それらピクセルが補正される。さらに、画像補正は、チャネル及び照明タイプごとに行うことができる。
【００１２】
[012]一実施形態では、本発明は、画像信号処理のためのコンピュータ実施方法を含む。一実施形態では、この方法は、電子システム内において、ベジエ表面又はベジエパッチのアレイに対する複数の制御点にアクセスすること、及び、パッチのピクセルの行に対応する複数の中間制御点を計算することを含む。この方法は、更に、画像のピクセルを受け取り、複数の中間制御点に基づいてピクセルを補正することを含む。ピクセルは、パッチのピクセルの行内に配置される。このスプラインパッチ方法では、分離可能に式化することができるため、その時には、ピクセルは、「パッチの行」ベースにてストリームとして走査線順序にて受け取られ、補正することができ、表面の各パッチが補正されたときに、補正画像を出力することができる。別の実施形態では、「パッチの列」を、「パッチの行」と置き換えることができることは、理解されよう。
【００１３】
[013]別の実施形態では、本発明は、画像信号処理システムとして実施される。このシステムは、光センサ（例えば、ＣＭＯＳセンサ又はＣＣＤセンサ）から複数のピクセルを受け取るよう動作可能なピクセル受取モジュールと、ベジエ表面（例えば、任意の他のスプライン表面）の複数の制御点にアクセスするよう動作可能な制御点アクセスモジュールと、を含む。このシステムは、更に、ベジエ表面のパッチに対応する複数のピクセルについて複数の中間制御点を決定するよう動作可能な中間制御点モジュールと、複数の中間制御点に基づいて（例えば、パッチの行毎のベースにて）ピクセルを補正するよう動作可能なピクセル補正モジュールと、を含む。
【００１４】
[014]更に別の実施形態では、本発明は、画像信号処理のための方法として実施される。この方法は、電子システム内にて、スプライン表面のパッチについて複数の制御点にアクセスすること、及び、画像の各カラーチャネルについてピクセルの行に対応する複数の中間制御点を計算することを含む。この方法は、更に、複数のピクセルを受け取り、複数の中間制御点及び複数のピクセルの個々の水平位置に基づいて複数のピクセルを調整することを含む。複数のピクセルは、スプライン表面のパッチの水平位置に対応するピクセルの行内に配置されるピクセルを含むことができ、また、複数のピクセルは、画像の複数のカラーチャネルを含むことができる。
【００１５】
[016]本発明の実施形態は、添付図面に、これに限定するのでなく、実施例として例示されており、それら添付図面においては、同様の参照符号が同様の要素を示している。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態による例示の動作環境を示している。
【図２ａ】本発明の一実施形態で使用されるよう動作可能な例示のレンズのブロック図を示している。
【図２ｂ】本発明の一実施形態で使用されるよう動作可能な別の例のレンズのブロック図を示している。
【図３Ａ】本発明の一実施形態による例示のカラーフィルタアレイの図を示している。
【図３Ｂ】本発明の一実施形態によるパッチの例示のベジエ表面のブロック図を示している。
【図４】一実施形態による画像信号プロセッサを校正するための例示のコンピュータ制御プロセスのフローチャートを示している。
【図５】本発明の一実施形態による例示のシステムのブロック図を示している。
【図６】本発明の一実施形態による画像信号処理のための例示のコンピュータ制御プロセスのフローチャートを示している。
【図７】本発明の一実施形態による例示の制御点を有する例示のベジエ表面を示している。
【図８】本発明の一実施形態による例示の調整された制御点を有する別の例示のベジエ表面を示している。
【図９】本発明の一実施形態によるベジエ表面の例示のパッチを示している。
【図１０】本発明の一実施形態による例示のシステムのブロック図を示している。
【図１１】一実施形態による画像処理のための例示のコンピュータ制御プロセスのフローチャートを示している。
【図１２】一実施形態による複数のパッチの画像信号処理のための例示のコンピュータ制御プロセスのフローチャートを示している。
【発明を実施するための形態】
【００１７】
[031]本発明の好ましい実施形態について以下に詳細に説明する。これら実施形態の例を、添付図面に例示する。これら好ましい実施形態に関連して本発明を説明するが、これら説明は、本発明をこれらの実施形態に限定するものではないことが理解されよう。反対に、本発明は、特許請求の範囲により定められるような本発明の精神及び範囲内に含まれる代替物、変形物及び均等物を包含する。さらに、本発明の実施形態の以下の詳細な説明においては、本発明を完全に理解できるようにするため、多くの特定の細部について説明している。しかしながら、本発明は、これらの特定の細部を伴わずとも実施できるものであることは、当業者には認識されよう。他方、周知の方法、手順、構成部分及び回路については、本発明の実施形態を不必要に不明瞭にしないために、詳述しない。
【００１８】
＜表記法及び命名法＞
[032]以下の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに関するオペレーションの手順、ステップ、ロジックブロック、処理及びその他の記号表現の形にてなされている。これらの説明及び表現は、自分の業績の実体を他の当業者に対して最も効果的に伝えるためデータ処理技術の当業者により使用される手段である。手順、コンピュータ実行ステップ、ロジックブロック、プロセス等は、ここで、且つ一般的に、希望の結果に至る自己矛盾のない一連のステップ又は命令であると考えられている。ステップは、物理量の物理的操作を必要とするものである。通常、必ずしもそうではないが、これらの量は、コンピュータシステムにおいて記憶されたり、転送されたり、結合されたり、比較されたり、その他の形にて操作されることのできる電気的又は磁気的信号の形を取っている。これらの信号を、ビット、値、要素、記号、文字、用語、数字等として記載するのが、時には、又、主として慣用されているという理由で、便宜的であることが分かっている。
【００１９】
[033]しかしながら、これらの及び同様の用語の全ては、適当な物理量に関連付けられるものであり、これらの量に適用される単なる便宜的なラベルに過ぎないことを、念頭におかれたい。前述したことから明らかなように、特に断らない限り、本発明を通じて、「処理する」、又は「アクセスする」、又は「実行する」、又は「記憶する」、又は「レンダリングする」等の如き用語を使用する説明は、コンピュータシステムのレジスタ及びメモリ内の物理（電子的）量として表されているデータを操作して、コンピュータシステムのメモリ又はレジスタ又は他の同様の情報記憶、送信又はディスプレイ装置内の物理量として同様に表される他のデータへと変換する集積回路（例えば、図１のコンピューティングシステム１００）又は同様の電子的計算装置の動作及び処理を指していることを、理解されたい。
【００２０】
＜例示の動作環境＞
[034]図１は、本発明の一実施形態による例示の動作環境を示している。システム１００は、センサ１０２、画像信号プロセッサ（ＩＳＰ）１０４、メモリ１０６、入力モジュール１０８、中央処理ユニット（ＣＰＵ）１１０、ディスプレイ１１２、通信バス１１４及び電源１２０を含んでいる。電源１２０は、システム１００へ電力を与えるものであり、ＤＣ又はＡＣ電力源であってもよい。システム１００は、特定のハードウエアベース及びソフトウエアベースの機能を用の実行プラットフォームを与える本発明の実施形態による基本システムの構成要素を示している。システム１００では、特定の構成要素を示しているが、このような構成要素は例であることを理解されたい。即ち、本発明の実施形態は、種々の他の構成要素又はシステム１００に示した構成要素の変形を有するように十分に適合できるものである。システム１００における構成要素は、提示した以外の他の構成要素を用いて動作できるものであり、また、システム１００の構成要素の全てを必要とせずとも、このシステム１００の目的を達成できるものであることは、理解されよう。
【００２１】
[035]ＣＰＵ１１０及びＩＳＰ１０４は、単一の集積回路ダイへと一体化することもでき、また、これらＣＰＵ１１０及びＩＳＰ１０４は、命令ロジック、バッファ、機能ユニット等といった種々のリソースを共用してもよく、又は、画像処理及び汎用オペレーションのために別個のリソースを設けてもよい。システム１００は、例えば、デジタルカメラ、セルフォンカメラ、携帯デバイス（例えば、オーディオデバイス、娯楽デバイス、ハンドヘルドデバイス）、ウエブカメラ、ビデオデバイス（例えば、カムコーダ）等として実施することができる。
【００２２】
[036]センサ１０２は、レンズ（図示せず）を通して光を受け取り、受け取った光を信号（例えば、デジタル又はアナログ）に変換する。センサ１０２は、これらに限定されないが、相捕型金属酸化膜半導体（ＣＭＯＳ）又は電荷結合素子（ＣＣＤ）センサを含む種々の光センサのうちの任意のものであることができる。センサ１０２は、通信バス１１４に結合され、通信バス１１４を通して受け取られるような画像データを与えることができる。
【００２３】
[037]画像信号プロセッサ（ＩＳＰ）１０４は、通信バス１１４に結合されており、センサ１０２によって生成された信号を処理する。より詳細には、画像信号プロセッサ１０４は、センサ１０２からのデータを処理して、メモリ１０６に記憶させる。例えば、画像信号プロセッサ１０４は、メモリ１０６内に記憶され画像を圧縮し、当該画像用のファイルフォーマットを決定することができる。
【００２４】
[038]入力モジュール１０８は、とりわけ、センサ１０２によるデータのサンプリング及びＩＳＰ１０４によるその後の処理を制御するコマンドをシステム１００に入力することができるようにする。入力モジュール１０８は、これに限定されないが、ナビゲーションパッド、キーボード（例えば、ＱＷＥＲＴＹ）、アップ／ダウンボタン、タッチスクリーンコントロール（例えば、ディスプレイ１１２を介して）等を含み得る。
【００２５】
[039]中央処理ユニット（ＣＰＵ）１１０は、入力モジュール１０８を介してコマンドを受け取り、これに限定されないが、センサ１０２のサンプリング及び設定、ＩＳＰ１０４による処理、及びメモリ１０６からの画像及び／又はビデオの管理（例えば、付加、転送及び除去）を含む種々のオペレーションを制御し得る。
【００２６】
[040]本発明の実施形態によれば、画像データの補正がなされる。実施形態によれば、更に、画像データを補正する（例えば、レンズシェーディング、不完全形状のレンズ及びその他の影響を解消する）ために使用されるよう使用可能なデータの校正がなされる。一実施形態では、画像データの補正は、スプライン表面（例えば、ベジエ表面）を使用して行われる。複数のスプライン表面の使用により、効率的なハードウエア実装が可能となる。この画像補正は、チャネル当たり及び照明タイプごとに、又はそれらの組合せにて行うことができる。
【００２７】
[041]図２ａは、本発明の一実施形態で使用されるよう動作可能な例示のレンズのブロック図を示している。レンズ２００は、画像又はビデオキャプチャデバイス（例えば、カメラ、デジタルカメラ、ウエブカメラ、カムコーダ、携帯デバイス、セルフォン等）に使用されるよう動作可能なレンズである。レンズ２００は、これに限定されないが、ガラス、プラスチック、又はそれらの組合せを含む種々な材料で形成される。光線２０２は、レンズ２００の実質的に中心近くにて、当該レンズ２００に入射する。光線２０２は、レンズ２００を通過するときに、屈折され、曲げられる。光線２０４は、レンズ２００の実質的に縁部近くにて、レンズ２００に入射する。実質的に例示されているように、光線２０４は、光線２０２よりも相当により大きく曲げられ、センサ２０５では、レンズ２００の実質的に近くにて受け取られる光と、レンズ２００の実質的に縁部近くにて受け取られる光との間でその輝度に差が生ずる。この歪みは、レンズシェーディング又はけられとして知られている。
【００２８】
[042]図２ｂは、本発明の一実施形態で使用されるよう動作可能な例示のレンズのブロック図を示している。線２２０は、完全形状のレンズ（例えば、レンズ２００）を示している。レンズ２２２は、不完全形状のレンズを示しており、種々のデバイスにおけるレンズではより実際的なものである。不完全形状のレンズ２２２は、光がレンズ２２２を通過するときに当該光の曲がりに更に影響を与えることが理解されよう。本発明の実施形態は、レンズに及びレンズ（例えば、レンズ２２２）の形状の不規則性によって曲げられる光の影響を補償し、解消し得る。レンズは、これに限定されないが、不均衡及び波形を含む種々な欠陥を有することは、理解されよう。さらに、レンズの製造プロセスにおける種々の変動により、最高輝度のスポットの位置が変えられてしまうことも、理解されよう。特に注意したいことは、携帯デバイス（例えば、セルフォン）及び低コストのデバイスが有するレンズが、プラスチックで、完全な形状には形成されていないことがあるということである。
【００２９】
[043]図３Ａは、本発明の一実施形態によるセンサデバイスの例示のカラーフィルタアレイの図を示している。カラーフィルタアレイ３００は、基板３１４、緑１フィルタ３０８、赤フィルタ３１０、緑２フィルタ３１２、緑１センサ３０２、赤センサ３０４、緑２センサ３０６を含んでいる。光は、レンズ３０１を介してカラーフィルタアレイ３００によって受け取られる。センサ３０２〜３０６は、画像をキャプチャするよう動作可能なＣＭＯＳセンサの部分であってよく、ベイヤーフィルタ構成で配置されている。しかしながら、任意のカラー構成を使用することができる。緑フィルタ３０８及び３１２は、それぞれ、緑センサ３０２及び３０６への緑色光と異なるスペクトルをフィルタリングすることができることは、理解されよう。
【００３０】
[044]本発明の実施形態は、異なるカラーの光がレンズを通過して、カラーフィルタアレイ（例えば、カラーフィルタ３０８〜３１２及びセンサアレイ３００）に入るとき、光の曲がりを補償する。例えば、光線３２０は、当該光線３２０がレンズ３０１及び緑１フィルタ３０８を通過するときに屈折されることにより、曲げられる。本発明の実施形態は、更に、光クロストークを補償するよう動作可能である。光クロストークは、光線がセンサに達する前に、２つ以上のカラーフィルタを通過するときに屈折されて、曲げられる時に生し得る。例えば、光線３２４は、レンズ３０１、緑２フィルタ３１２、次いで、赤フィルタ３１０を通過するときに屈折されることにより曲げられ、そして、赤センサ３０４に達する。光線３２４が赤フィルタ３１０及び緑２フィルタ３１２を通過するので、当該光線は、カラーフィルタアレイ３００の設計により意図されていないような態様でフィルタリングされてしまうことに注意されたい。
【００３１】
[045]本発明の実施形態は、更に、電気クロストークを補償するよう動作可能である。電気クロストークは、光線が曲げられて、センサの間の物質に達する時に、生じ得る。例えば、光線３２２は、レンズ３０１及び赤フィルタ３１０を通過するときに屈折されることにより曲げられて、そして、基板３１４に達する。基板３１４に達すると、光線３２２の光子がセンサ（例えば、緑１センサ３０２及び赤センサ３０４）の性能に影響を与えることがある。このような影響としては、センサ３０２及び３０４の構成要素の間での電気漏洩（例えば、ウエル漏洩）の増大を含み得る。
【００３２】
[046]本発明の実施形態によれば、これに限定されないが、全整色光セル及び垂直カラーフィルタを含む種々のセンサ構成について画像データを補正することができることは、理解されよう。さらに、例えば、種々のタイプの照明、例えば、異なる色温度の照明では、光がフィルタ３０８〜３１２を通していくときに、光の異なる曲がりが生ずることがあることも理解されよう。従って、実施形態では、照明ごとに制御点の異なるセットを決定して使用する。例えば、実施形態によれば、各カラーチャネルに対して照明（例えば、蛍光、タングステン及び昼光）毎に制御点の異なるセットを使用し得る。
【００３３】
[047]さらに、本発明は、任意のタイプのスプラインを使用するよう動作可能であり、ベジエ式に限定されず、同様の特性を有する任意の式でも使用でき、これに限らないが、Ｂ−スプライン、ウエーブレットスプライン、及びシンプレートスプラインでも使用できることは、理解されよう。
【００３４】
[048]図３Ｂは、本発明の一実施形態によるパッチの例示のベジエ表面のブロック図を示している。ベジエ表面３５０は、複数のパッチ、例えば、ベジエパッチ３５２を含む。一実施形態では、ベジエ表面３５０は、９個のベジエパッチを含む。ベジエパッチは、境界又はエッジ、例えば、エッジ３５４に沿って、共に結合されている。本明細書で説明するように、ベジエパッチのエッジは、（例えば、ベジエ表面３５０の複雑さに基づいて）調整可能又は構成可能であってもよい。各ベジエパッチは、更に、複数の制御点、例えば、複数の制御点３５６を含む。これら制御点は、各ベジエパッチの形状を定める。これら制御点は、ベジエパッチの境界上にあってもよく、従って、ベジエパッチの間で共有されていてもよい。
【００３５】
[049]図４及び図６を参照する。フローチャート４００及び６００は、本発明の種々の実施形態により使用される例示の機能を示している。フローチャート４００及び６００には、特定の機能ブロック（「ブロック」）が示されているが、このようなステップは、例である。即ち、実施形態は、種々な他のブロック又はフローチャート４００及び６００に示されたブロックの種々な変形を行うことにも、十分に適合し得るものである。フローチャート４００及び６００におけるブロックは、提示したもの以外の異なる順序において行うことができ、また、フローチャート４００及び６００におけるブロックの全てを行わなくてもよいことは、理解されよう。
【００３６】
[050]図４は、例えば、レンズシェーディング効果を補正するために使用されるカラー特定ベジエパッチを生成するように、画像信号プロセッサを校正するための例示のコンピュータ制御プロセスのフローチャートを示している。フローチャート４００のプロセスは、各カラーチャネル及び種々の照明状態、例えば、色温度について画像補正を校正するために使用し得る。校正は、カラーチャネルごとに行われることは、理解されよう。何故ならば、光の各カラーに対するレンズ（例えば、レンズ２００）による影響（例えば、曲がり）は、種々異なるからである。フローチャート４００のプロセスは、複数の制御点のセットを求め得る。制御点のセットは、校正表面を画成し、画像データを補正する際に画像信号プロセッサによって使用されるよう使用可能である。例えば、ベイヤーフィルタ構成の場合には、赤、緑１、緑２及び青チャネルの各々に対して、対応の校正表面が求められる。前述の４個の校正表面の各々は、又、所定の色温度に対して特定のものであり得る。これら校正又は補正表面は、各々、ベジエ表面の複数のパッチである。これらデータは、レンズシェーディング効果を補正するための逆数値を表している。
【００３７】
[051]ブロック４０２において、所定の色温度の光が、均一な輝度フィールドからレンズへ加えられる。一実施形態では、所定の色温度の特定の光源（例えば、蛍光、タングステン及び昼光）が選択されて、均一なフィールドが照明される。
【００３８】
[052]ブロック４０４において、光は、所定のセンサチャネル用のデジタル光センサでサンプリングされる。デジタル光センサは、任意の設計のものであってもよく、例えば、相捕型金属酸化膜半導体（ＣＭＯＳ）センサ又は電荷結合素子（ＣＣＤ）であってもよい。受け取られた光は、レンズ（例えば、レンズ２００）及び／又はカラーフィルタアレイ（例えば、カラーフィルタアレイ３００）を通過した後に影響（曲がり）を受けていることがあることが理解されよう。従って、センサにわたった輝度の分布は、例えば、レンズシェーディング効果のため、均一ではない。
【００３９】
[053]ブロック４０６において、センサの値及びその逆数値が均一なフィールド、例えば、１を生ずるように、各センサ位置についての複数の逆数値が求められる。換言すると、それら複数の逆数値は、当該逆数値が各位置（例えば、ピクセル）に加えられる（例えば、乗算される）と、その結果が、特定のカラー、例えば、チャネルのカラーセンサのみについて各パスでフラットフィールドとなるように、均一なフィールドの画像値に基づいて求められる。
【００４０】
[054]ブロック４０８において、現在のチャネルについて、複数の制御点が求められる。一実施形態では、それら制御点は、複数の逆数値に基づいてスプライン表面を画成する。表面又は「逆表面」は、センサからの値で乗算されるときに、センサの値が平坦化されて、元のフラットフィールドが得られるようにするように生成される。逆表面は、画像を補正するために使用されるように使用可能である。例えば、逆表面は、光がレンズ（例えば、レンズ２００）、不完全形状のレンズ（例えば、レンズ２２２）又はカラーフィルタアレイ（例えば、カラーフィルタアレイ３００）に入るときの、当該光の曲がりを補償することができる。複数の制御点は、チャネルごと（例えば、カラーチャネルごと）に決定することができる。複数の制御点は、更に、光源（例えば、蛍光、昼光又は白熱光）の色温度に基づいて照明タイプごとに決定することができる。複数の制御点は、あるより高次の表面の圧縮形を表していることが、理解されよう。
【００４１】
[055]一実施形態では、逆表面は、多くのパッチで構成されるベジエ表面である。一実施形態では、複数の制御点は、バイキュービックベジエ表面用の制御点である。ベジエ表面の決定は、一連の線形解釈によって決定することができる。ベジエ表面の使用は、多くの望ましい特性を有することが理解されよう。例えば、制御点がスケーリングされるか又はアフィン変換が適用される場合には、その効果は、変換を表面に適用するのと同じとなり、直観的でありで且つ計算上も安定な態様で、表面に対する変化が生ずる。高次多項式の場合と比べると、このような変換を適用すると、不自然で非直観的知覚変化となってしまうであろう。さらに、ベジエ表面は、分離できる表面であり、このことは、２次元計算を２つの１次元計算として解くことができ、ハードウエアの再使用が可能となることを意味している。
【００４２】
[056]さらに、ベジエ表面及び他のスプライン表面は、凸包特性を示し、このことは、その表面が有界であることを意味している。従って、本発明の実施形態は、固定精度回路を使用してハードウエア実装するのにも十分に適合し得るものである。スプライン（例えば、ベジエ表面）の使用により、高次多項式に伴う問題（例えば、数的不安定性及び計算費用の掛かること）を解消することができることが、理解されよう。
【００４３】
[057]一実施形態では、ベジエ表面は、複数のベジエパッチを含むことができる。より詳細には、ベジエ表面は、複数のパッチに分割することができる。例えば、赤、緑１、緑２及び青の各チャネル当たり９個のパッチのベジエ表面が、各照明タイプに対して求められ得る。パッチの数は、変更されてもよく、設定可能なオプションである。各パッチは、複数の制御点により画成される。例えば、キュービックベジエ表面の場合には、パッチ当たり１６個の制御点が存在し得る。
【００４４】
[058]一実施形態では、制御点は、内部境界パッチを共有する。即ち、制御点の一部は、１つのベジエパッチの境界内に存在する。境界上の制御点の位置は、パッチを継ぎ目無しに接合できるようする。境界に制御点を有することにより、制御点の全数を減ずることができることが、理解されよう。各カラーチャネル及び各照明タイプに対して、ベジエ表面及びパッチのセットを決定することができる。例えば、制御境界に制御点を共有することにより、各パッチが１６個の制御点を有しており、各カラーチャネルに対して９個のパッチをもつセットの場合には、１００個の制御点がもたらされ得る。本発明の実施形態によれば、任意の次数のベジエパッチを求めて、使用することができることが、理解されよう。
【００４５】
[059]パッチの境界は、センサ表面に亘って間隔を変えて配置することができることは、理解されよう。例えば、境界は、表面が実質的に一様でない区域がその表面の形状をより良好に反映するようにより多くの制御点を有するよう、その表面に従って移動することができる。別の例として、境界は、特に一様でないレンズの特定の区域に対応するように選択することができる。
【００４６】
[060]図４のブロック４０９において、完成されたベジエ表面が、後に使用するため記憶される。
【００４７】
[061]ブロック４１０で、別のカラーチャネルが選択される。次いで、ブロック４０６が行われ、選択されたチャネルに対する複数の逆数値が計算される等する。
【００４８】
[062]ブロック４１２で、異なる色温度ソースが選択され、プロセスがブロック４０４に戻って続けられる。例えば、昼光、タングステン、蛍光等の３つの色温度が使用されており、また、例えば、赤、緑１、緑２及び青の４つのカラーが使用されている場合には、プロセス４００は、（１つの実施例では）各々が１００個の制御点を有し且つパッチ当たり１６個の制御点を有する９個のパッチを有する１２個の異なるベジエ表面を定める。
【００４９】
[063]図５は、本発明の種々な実施形態によって使用される例示の構成要素を示している。システム５００においては、特定の構成要素が示されているが、このような構成要素は、例であることを理解されたい。即ち、本発明の実施形態は、種々の他の構成要素又はシステム５００において示した構成要素の変形であっても、十分に適合しうるものである。システム５００における構成要素は、提示した以外の他の構成要素であっても動作できるものであり、また、システム５００の構成要素の全てを必要とせずとも、システム５００の目的を達成することができることも、理解されよう。
【００５０】
[064]図５は、本発明の一実施形態による例示のシステムのブロック図を示している。システム５００は、センサ５０２、処理ユニット５０４、チャネルセレクタ５０６及びメモリ５０８を含んでいる。システム５００は、センサ５０２を介して受けとられる画像情報を補正することができる。システム５００は、補正された画像５１２を生成する。
【００５１】
[065]メモリ５０８は、チャネル補正情報５１０を含み得る。チャネル補正情報５１０は、複数の光源の各々に対して複数のカラーチャネルの各々についての補正情報を含み得る。チャネル及び照明補正情報は、これに限定されないが、ベジエスプライン、エルミートスプライン、キュービックエルミートスプライン、コカネック(kochanek)-バーテルズスプライン、多高調波スプライン、パーフェクトスプライン、平滑化スプライン及びシンプレートスプラインを含む種々なスプラインに基づき得ることが、理解されよう。
【００５２】
[066]光センサ５０２は、光情報をキャプチャするように動作可能なアレイである。この光センサ５０２は、相捕型金属酸化膜半導体（ＣＭＯＳ）センサ又は電荷結合素子（ＣＣＤ）であってよい。光センサ５０２は、画像信号データとしてキャプチャされた画像情報を処理ユニット５０４へ送る。チャネルセレクタ５０６は、処理ユニット５０４が受け取る画像信号のカラーチャネルを選択する。例えば、チャネルセレクタ５０６は、処理ユニット５０４により受け取られるよう画像データの赤カラーチャネルを選択することができる。
【００５３】
[067]一実施形態では、処理ユニット５０４は、画像信号プロセッサ（例えば、ＩＳＰ１０４）であってもよい。別の実施形態では、処理ユニット５０４は、プログラム可能なデバイスであってもよい。処理ユニット５０４は、順序付けされたフォーマット（例えば、走査線順）に画像信号データを受け取るよう動作可能であり、更に、逆表面を反映する複数の値に基づいて画像を補正するために画像信号データを処理するよう動作可能である。処理ユニット５０４は、光が光センサ５０２へ進むときの当該光に対する種々の歪み効果（例えば、光がレンズを通過するときの曲がり）を適用時に補正する逆表面に基づいて、画像データを補正し得る。本明細書で説明するように、逆表面は、ベジエ表面であってもよい。ベジエ表面は、複数のベジエパッチを含むことができ、それら複数のベジエパッチは、それらの境界に１つ以上の制御点を有し得る。一実施形態では、処理ユニット５０４は、カラーチャネル及び光源ごとに、画像データを補正する。
【００５４】
[068]一実施態様では、処理ユニット５０４は、画像データが順序付けされたフォーマットにて受け取られることを利用する。より詳細には、処理ユニット５０４は、前の点からの距離及びその逆表面がどのくらい変化しているかを求めることにより、各位置（例えば、ピクセル）で逆表面を再評価することを避けることにより、順序付けされたフォーマットを利用することができる。従って、本発明の実施形態は、到来するデータのコヒーレンシーを利用する。
【００５５】
[069]図６は、本発明の一実施形態による画像信号処理のための例示のコンピュータ制御プロセスのフローチャートを示している。このフローチャート６００のプロセスは、ＩＳＰ（例えば、ＩＳＰ１０４又はシステム５００の処理ユニット５０４）によって行うことができる。フローチャート６００のプロセスは、ハードウエア又はソフトウエアにて実施することができる。一実施形態では、フローチャート６００のブロックは、ＩＳＰパイプラインにおいて早期に行うことができ、フラットフィールド画像データを後の処理ステップへ与えることができる。
【００５６】
[070]ブロック６０２において、画像データがセンサアレイから受け取られる。一実施形態では、画像データは、光画像センサから受け取られ、当該画像データは、１つ以上のカラーチャネル（例えば、赤、緑、青）に対するデータを含む。本明細書で説明するように、光センサは、相捕型金属酸化膜半導体（ＣＭＯＳ）センサ又は電荷結合素子（ＣＣＤ）センサであってもよい。本発明の実施形態は、使用されるセンサタイプとは無関係に画像データを補正することができることが、理解されよう。
【００５７】
[071]ブロック６０４において、光源の色温度が検出される。本明細書で説明するように、色温度は、蛍光、タングステン及び昼光を含み得る。
【００５８】
[072]ブロック６０６において、所定のカラーチャネルのデータが選択される。ここに説明するように、カラーチャネルは、赤、緑１、緑２、又は青カラーチャネルであることができる。
【００５９】
[073]ブロック６０８において、所定のカラー及び検出された色温度に対するベジエパッチアレイにアクセスする。一実施形態では、ベジエパッチアレイは、レンズシェーディング及びその他の影響を補償するのに使用可能な表面の複数の制御点を含む。例えば、これら制御点は、不完全形状のレンズ（例えば、レンズ２２２）を通して受け取られる画像データを補正するための逆表面に対応し得る。一実施形態では、ベジエパッチアレイは、１つ以上のバイキュービックベジエパッチを含み得る。本明細書で説明するように、ベジエパッチアレイは、１００個の制御点を含み得る。さらに、それら制御点の一部は、ベジエパッチの境界に位置し得る。より詳細には、ベジエパッチアレイは、各カラーチャネル用のベジエ表面及び各照明タイプ（例えば、タングステン、蛍光又は昼光）用のベジエ表面を含み得る。
【００６０】
[074]ブロック６０６において、ベジエパッチアレイを所定のカラーの画像データに適用して、補正された画像データを生成する。ベジエパッチアレイは、レンズ（例えば、レンズ２００又はカラーフィルタアレイ３００）によって曲げられた画像フィールドを平坦化するために使用される。本明細書で説明するように、ベジエパッチは、カラーチャネル及び照明ごとに画像データを補正するために使用できる。例えば、Ｘ及びＹ座標を有するピクセルの赤チャネルに対する画像データは、ベジエパッチアレイで補正することができる。ベジエパッチの逆数値が、赤チャネルにおける対応する点に対するフラットフィールド値を得るため、赤チャネル値と乗算される。次いで、他のチャネルに対する画像データが、その対応するチャネルに対するベジエ表面で、実質的に同様の方法で処理される。
【００６１】
[075]ブロック６１２において、処理すべきカラーチャネルが更にあるか否かのチェックが行われる。処理すべきカラーチャネルが更にある場合には、ブロック６１４が行われる。ブロック６１４において、次のカラーチャネルが、処理用に選択される。
【００６２】
[076]処理すべき更なるカラーチャネルがない場合には、ブロック６１６が行われる。ブロック６１６において、（例えば、付加的な処理のためにＩＳＰパイプラインへ）補正された画像データが与えられる。
【００６３】
[077]図７は、本発明の一実施形態による例示の制御点を有する例示のベジエ表面を示している。ベジエ表面７００は、パッチ７０６ａ〜７０６ｉを含む。ベジエ表面７００は、例示の制御点７０２及び例示の境界制御点７０４を含む。制御点は、ベジエパッチの境界に位置してもよく、従って、ベジエパッチの間で共有され得る。ベジエパッチは、境界制御点、例えば、境界制御点７０４に沿って共に結合される。各ベジエパッチは、更に、制御点、例えば、制御点７０２を含む。制御点は、各ベジエパッチの形状を画定する。境界制御点７０４は、パッチ７０６ｈ及び７０６ｉの間で共有される。このように境界点を共有させることにより、ベジエ表面７００が隣接パッチの間で連続することが保証されることに加えて、記憶スペースを節約することができる。
【００６４】
[078]本発明の実施形態は、任意の数のパッチを取り扱うよう動作可能である。パッチの使用により、本発明の実施形態を、任意の数のピクセルに対して拡張することが可能となる。一実施形態では、ベジエ表面７００は、９個のベジエパッチを含む。制御点は、均等に間隔を置いて配置され得る。例示するように、パッチの境界は、制御点を共有しており、それにより、必要な制御点の数が減少され、パッチの間の位置的連続性を保証することができる。１つの例示の実施形態では、各パッチは、１６個の制御点を有し、チャネル（例えば、カラーチャネル）当たり全部で１００個の制御点である場合には、境界制御点を共有する。
【００６５】
[079]図８は、本発明の一実施形態による例示の調整される制御点を有する別の例のベジエ表面を示している。図８は、内部境界が独立して任意に調整され得る本発明の実施形態を示している。このような調整は、特定のベジエ表面（例えば、相当なレンズシェーディング効果）に適合するようになされる。ベジエ表面８００は、パッチ８０６ａ〜８０６ｉを含む。ベジエ表面８００は、制御点８０２及び制御点８０４を含む。制御点８０２は、制御点８０４よりも近接した間隔にて配置されている。内部境界を調整することにより、特定のパッチ又はパッチのグループ（例えば、パッチ８０６ｃ、パッチ８０６ｆ及びパッチ８０６ｉ）のサイズを効果的に増大又は減少することができる。
【００６６】
[080]図９は、本発明の一実施形態によるベジエ表面の例示のパッチを示している。ベジエ表面９００は、パッチ９０２ａ〜９０２ｉを含む。例示のパッチ９０２ｉは、制御点９０４及び中間制御点９０６を含む。例示のパッチ９０２ｉは、そのベジエ表面９００を使用して補正される複数のピクセルの部分に対応している。中間制御点９０６は、そのパッチのピクセルの行の各ピクセルでのゲインを評価して、それにより、各ピクセルを補正するのに、本発明の実施形態により使用される曲線９０８を画定する。パッチは、ｓ軸（例えば、水平）及びｔ軸（例えば、垂直）に基づいて、指し示すことができる。パッチのピクセルは、ｕ軸（例えば、水平）及びｖ軸（例えば、垂直）に基づいて、指し示すことができる。
【００６７】
[081]本発明の実施形態は、パッチのピクセルの各行に対する中間制御点を計算する。一実施形態では、ピクセルの行の各ピクセルにおいて、中間制御点を使用して、ピクセルの強度値に乗算されるゲインを決定する。中間制御点を使用して、レンズシェーディング効果、光クロストーク及び電気クロストークを含む種々な影響についてピクセルの行を補正する。別の実施形態では、「パッチの行」を、「パッチの列」に置き換えることができる。
【００６８】
[082]１つの例示の実施形態では、中間制御点９０６の各々は、それら中間制御点に対して垂直な制御点に基づいて計算される。中間制御点は、直線補間に基づいて計算される。例えば、中間制御点ｉＣ１は、制御点Ｃ１、Ｃ２、Ｃ３及びＣ４に基づいて計算される。同様に、中間制御点ｉＣ２は、制御点Ｃ５、Ｃ６、Ｃ７及びＣ８に基づいて計算される。中間制御点ｉＣ３は、制御点Ｃ９、Ｃ１０、Ｃ１１及びＣ１２に基づいて計算され、中間制御点ｉＣ４は、制御点Ｃ１３、Ｃ１４、Ｃ１５及びＣ１６に基づいて計算される。
【００６９】
[083]従って、実施形態によれば、パッチ毎にパッチ内の画像を処理することができ、更に、走査線ベースに各パッチを処理することができる。一実施形態では、パッチは、水平に処理され、次いで、垂直に処理される。例えば、処理の例示的な順序としては、９０２ａ、９０２ｂ、９０２ｃ、９０２ｄ、９０２ｅ、９０２ｆ、９０２ｇ、９０２ｈ及び９０２ｉである。
【００７０】
[084]図１０は、本発明の種々の実施形態により使用される例示の構成要素を示している。システム１０００においては、特定の構成要素が示されているが、このような構成要素は例であることを理解されたい。即ち、本発明の実施形態は、種々の他の構成要素又はシステム１０００に示した構成要素の変形であっても、十分に適合し得るものである。システム１０００における構成要素は、提示したもの以外の構成要素分でも動作することのできるものであり、また、システム１０００の構成要素の全てを必要とせずとも、システム１０００の目的を達成することができることが、理解されよう。
【００７１】
[085]図１０は、本発明の一実施形態による例示のシステムのブロック図を示している。システム１０００は、ピクセル受取モジュール１０２０、制御点アクセスモジュール１０２２、中間制御点モジュール１０２４、ピクセル補正モジュール１０２６、照明検出モジュール１０２８、トラッキングモジュール１０３０、プリフェッチングモジュール１０３２及びピクセルカラーモジュール１０３４を含む。システム１０００は、センサ１００２から画像データを受け取り、補正された画像１０１２を出力する。一実施形態では、ピクセルがセンサ１００２からストリームとして到来し、（ｘ,ｙ）カウンタが現在位置（例えば、ハードウエアにおいて）を維持する。（ｘ,ｙ）位置及び強度データが、チャネルごとに受け取られる。システム１０００は、システムメモリ１００８のチャネル補正情報にアクセスする。
【００７２】
[086]メモリ１００８は、チャネル補正情報１０１０を含む。チャネル補正情報１０１０は、各カラーチャネル及び各照明又は色温度についての制御点のセットを含む。一実施形態では、チャネル補正情報１０１０は、各色温度に対する青、緑１、緑２及び赤についての（例えば、ベジエ表面に対する）複数の制御点の対応のセットを含む。本発明の実施形態は、任意のセンサ構成（例えば、インターリーブ型カラーチャネル、単一カラーチャネル、スタック型カラーチャネル等）から受け取られたピクセルを処理するよう動作可能であることが理解されよう。
【００７３】
[087]ピクセル受取モジュール１０２０は、光センサ（例えば、センサ１００２）から複数のピクセルを受け取るよう動作可能である。ピクセル受取モジュール１０２０は、任意のタイプ（例えば、ベイヤー等）のセンサからピクセルを受け取るよう動作可能である。
【００７４】
[088]照明検出モジュール１０２８は、照明を検出し、検出された照明に基づいて、制御点アクセスモジュール１０２２を介して各カラーチャネルについての複数の制御点を選択するよう動作可能である。制御点アクセスモジュール１０２２は、スプライン表面（例えば、ベジエ表面）の制御点にアクセスするよう動作可能である。制御点アクセスモジュール１０２２は、照明検出モジュール１０２８によって検出された照明に基づいて、チャネル補正情報１０１０にアクセスする。
【００７５】
[089]中間制御点モジュール１０２４は、ベジエ表面のパッチに対応する複数のピクセルについて複数の中間制御点を決定するよう動作可能である。本発明の実施形態によれば、パッチの水平計算と垂直計算とを分離することにより、中間制御点が計算される。中間制御点は、スプライン表面のパッチに対するピクセルの行に対応するベジエ表面の部分を画定する。中間制御点は、パッチごとの走査線の制御点に基づいて計算される。中間制御点は、パッチにおけるピクセルの行の各ピクセルについて計算されると、再使用することができる。従って、本発明の実施形態によれば、スプライン表面値を別々に計算できるということが、効果的に使用される。
【００７６】
[090]一実施形態では、各カラーチャネルに対する中間制御点が（例えば、直線補間により）決定される。中間制御点の各セットが、ベジエ表面のパッチの制御点に基づいて計算される。異なるカラーチャネルの各ピクセルが受け取られると、各ピクセルを補正するよう対応する中間制御点が使用される。一実施形態では、パッチの各走査線（例えば、パッチのピクセルの行）について、４つの中間制御点が計算される。ピクセルの位置用のカウンタ（例えば、ｕ及び／又はｖをトラッキングするカウンタ）は、中間制御点が新しいパッチについて計算される時に、リセットされる。
【００７７】
[091]ピクセル補正モジュール１０２６は、複数の中間制御点に基づいてピクセルを補正するよう動作可能である。各ピクセルが受け取られると、中間制御点に基づく補正を行うことができる。カウンタを使用して、カラーチャネルのパッチの行内のピクセル位置をトラッキングすることができる。次のピクセルが受け取られると、中間制御点により画定される曲線の対応する値を使用して、ピクセルを補正することができる。一実施形態では、ピクセルの補正は、デ・カステリョアルゴリズム（例えば、ベジエ表面に対する）に基づく一連の直線補間を含む。この直線補間は、単一直線補間器により順次に行われてもよく、又は、複数の直線補間器により並列に行われてもよい。
【００７８】
[092]プリフェッチングモジュール１０３２は、スプライン表面の第２の、即ち、次のパッチの複数の制御点をプリフェッチするよう動作可能である。トラッキングモジュール１０３０は、スプライン表面のパッチ内の受け取られるピクセルの位置をトラッキングするよう動作可能であり、また、パッチのピクセルの行の終わりの所定の範囲内のピクセルが受け取られる時をプリフェッチングモジュール１０３２に信号で知らせるよう動作可能である。
【００７９】
[093]一実施形態では、トラッキングモジュール１０３０は、中間制御点モジュール１０２４に信号で知らせるよう動作可能である。このように、トラッキングモジュール１０３０は、制御点の次のセット（例えば、次の隣接パッチ又はパッチの次の行における第１のパッチであるパッチに対する）をプリフェッチするよう、プリフェッチングモジュール１０３２に信号で知らせ、また、その次のパッチの第１の行に対する中間制御点を計算するよう、中間制御点モジュール１０２４に信号で知らせることができる。
【００８０】
[094]トラッキングモジュール１０３０は、行の終わり及び列の終わり（例えば、パッチの高さ）に処理が近づいている時を検出するよう動作可能である。一実施形態では、トラッキングモジュール１０３０は、パッチ内の水平及び垂直の両方向においてピクセル位置をトラッキングするための水平カウンタ及び垂直カウンタを備える。
【００８１】
[095]一実施形態では、トラッキングモジュール１０３０は、カウンタの他に、マルチプレクサを備えており、このマルチプレクサが、パッチの行の終わりに達した時に、中間制御点モジュール１０２４によりアクセスされるパッチを変えるようにしている。このように、中間制御点モジュール１０２４が次のパッチ及び次のパッチの対応する走査線に対する制御点を計算できるようにしている。別の実施形態では、次のパッチに対する制御点にアクセスするように、ポインタが変更される。
【００８２】
[096]トラッキングモジュール１０３０は、更に、他のパッチに関連して補正されるピクセルのパッチをトラッキングするよう動作可能である。一実施形態では、ベジエ表面のパッチを割り出すのに、ｓ及びｔが使用される（例えば、図６）。トラッキングモジュール１０３０は、更に、パッチへのピクセルのマッピングをトラッキングするように動作可能である。一実施形態では、ピクセルスペースからパッチスペースへのマッピングを行うのに、ｕ及びｖが使用される（例えば、図６）。これらｕ及びｖの値は、０から１に亘るように正規化することができる。ピクセル位置の各増分（例えば、Δｕ）は、１／（パッチのピクセルの行におけるピクセルの数）に相当する。次のピクセルの間隔は、境界制御点のピクセル位置に基づいて計算することができる。こうして、本発明の実施形態によれば、パッチの処理において、ピクセルの間の間隔だけ増分させることができる。パッチのピクセルの行におけるピクセルの数は、そのパッチの制御点に基づいて決定することができる。
【００８３】
[097]ピクセルカラーモジュール１０３４は、受け取られたピクセルのカラーに基づいて、複数の中間制御点を選択するよう動作可能である。ピクセルカラーモジュール１０３４は、更に、ピクセルのカラーチャネルに対応する複数の中間制御点を選択することができる（例えば、ピクセル補正モジュール１０２６に対して）。例えば、赤ピクセルが受け取られる場合には、ピクセルカラーモジュール１０３４は、ベジエ表面の赤チャネルに対して計算される中間制御点を選択する。次のピクセルが受け取られると、ピクセルカラーモジュール１０３４は、その次のピクセルのカラーチャネルに対応する複数の中間制御点を選択する。例えば、ピクセルカラーモジュール１０３４は、緑ピクセルに対して緑カラーチャネルに対応する複数の中間制御点を選択することができる。
【００８４】
[098]図１１及び図１２を参照する。例示のフローチャート１１００及び１２００は、本発明の種々の実施形態により使用される例示のプロセスを示している。フローチャート１１００及び１２００には、特定のブロックが示されているが、このようなブロックは例示的なものである。即ち、これら実施形態は、種々の他のブロック又はフローチャート１１００及び１２００に示されたブロックの変形であっても、十分に適合しうるものである。フローチャート１１００及び１２００におけるブロックは、提示された順序とは異なる順序にて行うこともでき、また、フローチャート１１００及び１２００におけるブロックの全てを行わなくてもよいことが、理解されよう。フローチャート１１００及び１２００は、種々の実施形態において、コンピュータ読み取り可能な及びコンピュータ実施可能な命令の制御の下で、プロセッサにより実施されるプロセスを含む。従って、本発明の実施形態は、これに限定されないが、ファームウエア更新、ソフトウエア更新パッケージ又はハードウエア（例えば、ＲＯＭ）を含むコンピュータ読み取り可能な媒体又はコンピュータ実施可能な命令として記憶しておくことができる。
【００８５】
[099]図１１は、一実施形態による画像処理を実施するための例示的なコンピュータ制御プロセスのフローチャートを示している。このプロセス１１００は、レンズシェーディング、光クロストーク及び電気クロストークを含む種々の画像不規則性を補正する。
【００８６】
[0100]ブロック１１０２において、スプライン（例えば、ベジエ）表面の第１のパッチに対する複数の制御点が、電子システム内でアクセスされる。ブロック１１０４において、第１のパッチのピクセルの行に対応する複数の中間制御点が、本明細書で説明するように、（例えば、直線補間により）計算される。
【００８７】
[0101]ブロック１１０６において、画像の第１のピクセルが受け取られる。ブロック１１０８において、第１のピクセルが、複数の中間制御点に基づいて補正される。複数の中間制御点に基づくピクセルの補正は、本明細書で説明するように、レンズシェーディング効果、光クロストーク、電気クロストーク及び他のセンサ出力不規則性を補償するように使用可能である。本明細書で説明するように、補正は、直線補間を介して行うことができる。補正は、固定精度又は浮動小数点演算精度でもって計算され得る。
【００８８】
[0102]ブロック１１１０において、画像の第２のピクセルが受け取られる。一実施形態では、第２のピクセルは、第１のピクセルに水平方向において隣接しているものである（例えば、パッチのピクセルの行の次のピクセル）。
【００８９】
[0103]ブロック１１１２において、スプライン表面（例えば、ベジエ）の第１のパッチ内のピクセル位置に対応して、カウンタが増分される。一実施形態では、カウンタは、パッチのｕ、即ち水平軸に対応しており、単一カラーチャネルのピクセル間の間隔を表すΔｕだけ増分される。ブロック１１１４において、第２のピクセルが、中間制御点に基づいて補正される。
【００９０】
[0104]ブロック１１１６において、パッチのピクセルの行の終わりに達したか否かの判定がなされる。パッチのピクセルの行の終わりに達した場合には、ブロック１１２６が行われる。パッチのピクセルの行の終わりに達していない場合には、ブロック１１１８が行われる。
【００９１】
[0105]ブロック１１１８において、ピクセルの処理が行の終わりに近づいているか否かの判定がなされる。補正された現在のピクセルが行の終わりの所定の範囲内にある場合には、ブロック１１２０が行われる。現在のピクセルがその所定の範囲内にない場合には、ブロック１１０６が行われ、画像の別のピクセルが受け取られる。ブロック１１２０において、スプライン表面（例えば、ベジエ）の第２のパッチに対する複数の制御点がプリフェッチされる。現在のピクセルがパッチの終わりに近い場合には、次の隣接パッチをプリフェッチすることができる。現在のピクセルが画像の行の終わりに近い場合には、パッチの次の行の次のパッチ（例えば、パッチの第２の行の第１のパッチ）をプリフェッチすることができる。
【００９２】
[0106]ブロック１１２６において、画像の行の終わりに達したか否かの判定がなされる。その画像の行の終わりに達している場合には、ブロック１１２２が行われる。画像の行の終わりに達していない場合には、ブロック１１２８が行われる。
【００９３】
[0107]ブロック１１２２において、処理されているピクセルの行が画像の最後の行であるか否かの判定がなされる。画像の最後の行が処理されている場合には、ブロック１１２４が行われ、補正画像データが出力される。処理すべき画像のピクセル及びパッチの更なる行がある場合には、ブロック１１３０が行われる。
【００９４】
[0108]ブロック１１２８において、現在のパッチが次の隣接パッチにセットされる。一実施形態では、１つのパッチの１つの行が補正されると、次の隣接パッチが選択され、対応する行にて補正される。例えば、現在のパッチが、パッチ６０２ｂからパッチ６０２ｃへとセットされる。次いで、ブロック１１３４が行われる。
【００９５】
[0109]ブロック１１３０において、現在のパッチが、パッチの次の行のパッチへとセットされる。一実施形態では、パッチの最後の行及びその画像の行の終わりに達すると、パッチの次の行の次のパッチが選択され、パッチの第１の行から補正が開始される。例えば、現在のパッチは、パッチ６０２ｃから６０２ｄへとセットされる。
【００９６】
[0110]一実施形態では、次いで、ブロック１１３２が行われ、垂直カウンタ（例えば、ｖ）が、処理すべき画像の次の行に対応して増分される。そして、ブロック１１３４が行われ、そこで、水平カウンタ（例えば、ｕ）が（例えば、０へ）リセットされる。
【００９７】
[0111]１つの例示の実施形態では、プロセス１１００の部分は、表１の擬似コードによって行われる。
表１  例示の擬似コード
ピクセル強度値及び（ｘ,ｙ）値を有するピクセルストリームが受け取られる。（ｘ,ｙ）カウンタは、フレームについてのピクセル値が受け取られる毎に更新される。
ｖ＝０
ｕ＝０
新しい行：
第１のパッチの開始において、パッチについてのΔｖ及びΔｕを計算し又は受け取り、且つパッチについての制御点を得る。
ｖに基づいて、直線補間を使用して行用の中間制御点を計算する。
同じパッチ：
中間制御点を使用して（ｕ,ｖ）のゲイン値を計算する。
新しいピクセル値＝古いピクセル値＊ゲインを計算する。
次のピクセル（ｕ＝ｕ＋Δｕ）へ増分する。
同じパッチ内であれば、同じパッチへ戻る。
画像の行の終わりであれば、次の行ｖ＝ｖ＋Δｖ及びｕ＝０、及び他の新しいパッチｕ＝０及び新しいパッチへ増分する。
新しいパッチ：
新しいパッチについてのΔｕ及びΔｖを計算し又は受け取り且つ新しいパッチについての制御点を得る。
ｖに基づいて、直線補間を使用して行用の中間制御点を計算する。
中間制御点を使用して（ｕ,ｖ）のゲイン値を計算する。
新しいピクセル値＝古いピクセル値＊ゲインを計算する。
次のピクセル（ｕ＝ｕ＋Δｕ）へ増分する。
同じパッチ内であれば、同じパッチへ戻る。
画像の行の終わりであれば、次の行ｖ＝ｖ＋Δｖ及びｕ＝０、及び他の新しいパッチｕ＝０及び新しいパッチへ増分する。
【００９８】
[0112]１つの例示の実施形態では、中間制御点が（例えば、直線補間により）計算された後、ｕ座標（例えば、パッチの水平座標）を使用し、補間を使用してゲイン値を計算する。表２は、ゲイン及び補正ピクセル値のための例示の式を示している。
表２  例示のゲイン及び補正式
ゲイン＝Ｆ（ｕ,Δｕ,ｉＣ１−ｉＣｎ）であり、ここで、ｕは、パッチの行における水平位置であり、Δｕは、ピクセルの間の間隔（例えば、１／（パッチの行におけるピクセルの数）であり、ｉＣ１−ｉＣｎは、パッチのピクセルの行に対応する中間制御点である。
補正ピクセル値＝ゲイン＊ピクセル値であり、ここで、一実施形態では、ピクセル値は、強度値を含む。
【００９９】
[0113]１つの例示の実施形態では、各新しいピクセルについて、ｕがΔｕだけ更新され（例えば、ｕｉ＋１＝ｕｉ＋Δｕ）、補正が適用される。これは、新しいパッチに入るまで又は画像の行が完了し、処理すべき位置が次の行へと下がるまで、繰り返される。新しいパッチに入ると、そのパッチの制御点にアクセスし、新しい中間制御点が計算され、ｕが０にセットされ、その新しいパッチのための新しいΔｕ及び新しいΔｖにアクセスする。
【０１００】
[0114]１つの例示の実施形態では、次の行に入ると、ｖ値が増分され（例えば、ｖｊ＋１＝ｖｊ＋Δｖ）、ｕが０にセットされる。新しい中間制御点がその新しいｖ値に基づいて計算される。行を下がることにより、新しいパッチに入った場合には、新しいΔｕ及びΔｖが得られる。各パッチ内では、Δｕ及びΔｖは、そのパッチによりカバーされる各方向におけるピクセルの数に依存して、一定とされる。
【０１０１】
[0115]１つの例示の実施形態では、ハードウエアは、センサ又は前段の処理ステージから、ストリームにて、一時に１つずつ画像ピクセルを受け取る。各ピクセルには、固有のアドレス、ｘ及びｙが与えられている。これらのｘ及びｙアドレスは、各フレームの始点で０にリセットされる。ｘは、ストリームにおける新しいピクセルが到来する毎に、１だけ増分される。各走査線の終わり（例えば、画像又はセンサの行の終わり）に達すると、ｙアドレスは、１だけ増分され、ｘアドレスは、０にリセットされる。走査線の終わりは、センサの幅によって特定される。同様に、ｙアドレスは、最後の走査線の後で、０にリセットされる。最後の走査線は、センサの高さによって特定される。
【０１０２】
[0116]１つの例示の実施形態では、各パッチは、その諸寸法、即ち、パッチ幅及びパッチ高さ、並びに、その内部間隔Δｕ及びΔｖ、によって定義することができる。ここで、Δｕ＝１／パッチ幅、及びΔｖ＝１／パッチ高さである。１つの例示の実施形態では、ハードウエアは、ｘ,ｙピクセルアドレスを使用して、パッチアドレスｓ及びｔを決定することができる。パッチアドレスは、ピクセルアドレスがｘ＝０及びｙ＝０である時、ｓ＝０及びｔ＝０にセットされる。ハードウエアは、イントラピクセルアドレスｘｐ及びｙｐを維持する。アドレスｘｐは、パッチアドレスが変化するときはいつでも（例えば、ピクセルストリームが新しいパッチに入るときはいつでも）、０にセットされ、他の場合には、ｘｐは、ピクセルストリームからの新しいピクセルが到来するときはいつでも、増分される。ｙｐアドレスは、ｙアドレスと同様に、走査線の終わりに達するときにはいつでも、増分される。ｙｐアドレスは、パッチアドレスｔが変化するときはいつでも、０にリセットされる。
【０１０３】
[0117]１つの例示の実施形態では、ｘｐアドレスがパッチ幅に達すると、ｓパッチアドレスが増分される。ｘピクセルアドレスが走査線の終わりに達すると、即ち、ｘが幅（例えば、画像幅）に等しい状態になると、ｓは、０にリセットされる。ｙｐアドレスがパッチ高さに達すると、ｔパッチアドレスが増分される。ｙピクセルアドレスがセンサ画像の終わりに達すると、即ち、ｙが高さ（例えば、画像高さ）に等しい状態になると、ｔは、０にリセットされる。
【０１０４】
[0118]１つの例示の実施形態では、ｓ及びｔにより指し示される各ベジエパッチは、２次元関数ｐｓ,ｔ（ｕ,ｖ）である。独立変数ｕ及びｖは、０と１との間の値を取ることができる。数学的には、ｕ及びｖは、領域[０，１]に存在している。変数ｕ及びｖは、ｘｐ及びｙｐと同じ時間で、それぞれΔｕ及びΔｖだけ増分される。
【０１０５】
[0119]１つの例示の実施形態では、ハードウエアは、ｓ、ｔ、ｕ及びｖの各値を使用して、パッチｐｓ,ｔ（ｕ,ｖ）を分離できる関数として評価する。この評価は、垂直計算と、それに続く、水平方向における同様の計算と、に分離されるという意味において、分離することができるものである。垂直計算は、各新しいｖに対する４つの水平中間制御点ｉＣ１、ｉＣ２、ｉＣ３及びｉＣ４を定める。これら４つの制御点は、１次元水平ベジエ曲線Ｂ（ｕ）を画定する。各中間制御点は、垂直変数ｖの関数である単一ベジエ曲線の評価に基づいている。４つの中間制御点が存在するので、４つのベジエ曲線が評価される（例えば、Ｂ０（ｖ）、Ｂ１（ｖ）、Ｂ２（ｖ）及びＢ３（ｖ）、ここで、Ｂ０（ｖ）は、制御点Ｃ１、Ｃ２、Ｃ３及びＣ４に基づき、Ｂ１（ｖ）は、制御点Ｃ５、Ｃ６、Ｃ７及びＣ８に基づき、Ｂ２（ｖ）は、制御点Ｃ９、Ｃ１０、Ｃ１１及びＣ１２に基づき、Ｂ３（ｖ）は、Ｃ１３、Ｃ１４、Ｃ１５及びＣ１６に基づく。）。垂直ベジエ曲線の各々は、４つの制御点を有する。これら制御点は、ｓ及びｔにより指し示されるパッチ用の４つの制御点の４つの垂直列からのものである。
【０１０６】
[0120]図１２は、本発明の別の実施形態による複数のパッチの画像信号処理のための例示のコンピュータ制御プロセスのフローチャートを示している。本明細書で説明するように、プロセス１２００は、レンズシェーディング、光クロストーク及び電気クロストークを含む種々な画像不規則性を補正するものである。
【０１０７】
[0121]ブロック１２０２において、スプライン表面のパッチに対する複数の制御点が電子システム内でアクセスされる。
【０１０８】
[0122]ブロック１２０４において、画像の各カラーチャネルに対するピクセルの行に対応して、複数の中間制御点が計算される。本明細書で説明するように、これら中間制御点は、ピクセルの行に対応するベジエ曲線を画定する。
【０１０９】
[0123]ブロック１２０６において、複数のピクセルが受け取られる。一実施形態では、これら複数のピクセルは、スプライン表面のパッチに対応するピクセルの行を含み、更に、これら複数のピクセルは、画像の複数のカラーチャネルを含む。
【０１１０】
[0124]ブロック１２０８において、複数のピクセルが、複数の中間制御点に基づいて調整される。このような調整により、レンズシェーディングを含む種々な不規則性が補償される。本明細書で説明するように、複数のピクセルの調整は、順次に、並列にて、又はそれらの組合せにて、（例えば、直線補間により）行うことができる。
【０１１１】
[0125]ブロック１２１０において、画像の調整が済んだか否かの（例えば、処理すべき残された画像のパッチがあるか否かの）判定がなされる。最後のパッチが補正された場合には、ブロック１２１４が行われ、補正された画像が出力される。補正すべき画像の更なるパッチがある場合には、ブロック１２１２が行われる。
【０１１２】
[0126]ブロック１２１２において、次のパッチが取り出される。そして、ブロック１２０２が行われ、取り出されたパッチが処理される。一実施形態では、次のパッチをプリフェッチして、そのパッチの処理の準備ができているようにすることができる。
【０１１３】
[0127]本発明の特定の実施形態の前述の説明は、例示のための説明として提示されたものである。これら説明は、これが全てであるというものでなく、また、本発明を、開示した形そのものに限定しようとするものでなく、前述の教示の下で、多くの変更及び変形が可能であるものである。これら実施形態は、本発明の原理及びその実際の応用について最良の説明をなし、それにより、他の当業者が、本発明及び種々な実施形態を、意図するような特定の用途に適合するように種々な変更を加えて最良に利用できるようにするために、選択され説明されている。本発明の範囲は、特許請求の範囲及びそれらの均等物により定められることを意図している。
【符号の説明】
【０１１４】
１００…システム、１０２…センサ、１０４…画像信号プロセッサ（ＩＳＰ）、１０６…メモリ、１０８…入力モジュール、１１０…中央処理ユニット（ＣＰＵ）、１１２…ディスプレイ、１１４…通信バス、１２０…電力源、２００…レンズ、２０２…光線、２０４…光線、２０５…センサ、２２０…線、２２２…レンズ、３００…カラーフィルタアレイ、３０１…レンズ、３０２…緑１センサ、３０４…赤センサ、３０６…緑２センサ、３０８…緑１フィルタ、３１０…赤フィルタ、３１２…緑２フィルタ、３１４…基板、３２０…光線、３２２…光線、３２４…光線、３５０…ベジエ表面、３５２…ベジエパッチ、３５４…エッジ、３５６…制御点、４００…フローチャート、５００…システム、５０２…光センサ、５０４…処理ユニット（画像信号プロセッサ）、５０６…チャネルセレクタ、５０８…メモリ、５１０…チャネル補正情報、５１２…補正された画像、６００…フローチャート、７００…ベジエ表面、７０２…制御点、７０４…境界制御点、７０６ａ〜７０６ｉ…パッチ、８００…ベジエ表面、８０２…制御点、８０４…制御点、８０６ａ〜８０６ｉ…パッチ、９００…ベジエ表面、９０２ａ〜９０２ｉ…パッチ、９０４…制御点、９０６…中間制御点、９０８…曲線、１０００…システム、１００２…センサ、１００８…システムメモリ、１０１０…チャネル補正情報、１０１２…補正画像、１０２０…ピクセル受取りモジュール、１０２２…制御点アクセスモジュール、１０２４…中間制御点モジュール、１０２６…ピクセル補正モジュール、１０２８…照明検出モジュール、１０３０…トラッキングモジュール、１０３２…プリフェッチングモジュール、１０３４…ピクセルカラーモジュール、１１００…プロセス、１２００…プロセス。
【図１】
2010252325.tif 000003
【図２ａ】
2010252325.tif 000004
【図２ｂ】
2010252325.tif 000005
【図３Ａ】
2010252325.tif 000006
【図３Ｂ】
2010252325.tif 000007
【図４】
2010252325.tif 000008
【図５】
2010252325.tif 000009
【図６】
2010252325.tif 000010
【図７】
2010252325.tif 000011
【図８】
2010252325.tif 000012
【図９】
2010252325.tif 000013
【図１０】
2010252325.tif 000014
【図１１】
2010252325.tif 000015
【図１２】
2010252325.tif 000016
【外国語明細書】
2010252325000001.pdf