(57)【要約】  信号にカーネルを適用するエフェクトを調整するための方法及び装置が提供される。調整は、信号マトリクス上でカーネルマトリクスが有することが意図されたエフェクトの強度に基づき得る。調整は、信号データの信号対ノイズ比、信号データを取得するために用いられた機器（たとえばレンズ）の特性、または信号データの分析に基づいて導かれたメトリックを含むが、限定されない因子に基づき得る。本実施の形態に従う、画像データの処理は、画像データを取得するために用いられた光学機器の特性のために失われ得るコントラストを復元することを目的とする。
2010525470.tif 000002
【特許請求の範囲】
【請求項１】
信号の処理の方法であって、
各々が信号の異なる部分を記述するエントリを含む複数の信号マトリクスのうちの各信号マトリクスに対して、前記信号マトリクス上でカーネルマトリクスが有するように意図されたエフェクトの強度に基づいて、前記カーネルマトリクスに基づく、前記信号マトリクスの処理により達成される前記エフェクトの前記強度を調整するステップを含む、方法。
【請求項２】
前記カーネルマトリクスに基づく前記信号マトリクスの処理により達成される前記エフェクトの前記強度を調整するステップは、
前記信号マトリクスに対し、修正されたカーネルマトリクスを生成するステップと、
前記信号マトリクスに対する第１エントリに対し、新しい値を決定するために、前記修正されたカーネルマトリクスを、前記信号マトリクスに適用するステップとを含む、請求項１に記載の方法。
【請求項３】
前記カーネルマトリクスに基づく前記信号マトリクスの処理により達成される前記エフェクトの前記強度を調整するステップは、
中間ピクセル値を生成するために前記カーネルマトリクスを前記信号マトリクスに適用するステップと、
前記中間ピクセル値と前記信号マトリクスの第１エントリとの、重み付けされた平均を決定するステップとを含む、請求項１に記載の方法。
【請求項４】
前記カーネルマトリクスを適用する前記エフェクトは、前記信号中の画像のコントラストを強調する、請求項１に記載の方法。
【請求項５】
前記カーネルマトリクスを適用する前記エフェクトは、前記信号中の画像上でノイズの除去を実行する、請求項１に記載の方法。
【請求項６】
前記信号に関連付けられた信号対ノイズレベルに基づいて、前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度を決定するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記信号マトリクスによって記述された前記信号を取得するために用いられたレンズの特性に基づいて、前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度を決定するステップをさらに含む、請求項１に記載の方法。
【請求項８】
前記信号マトリクス中のデータの特性に基づいて、前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度を決定するステップをさらに含む、請求項１に記載の方法。
【請求項９】
前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度の決定は、画像センサ内のピクセルの位置に基づく、請求項１に記載の方法。
【請求項１０】
前記カーネルマトリクスに基づく前記信号マトリクスの処理の前に、画像データのモーションブラー特性に基づいて、前記カーネルマトリクスを修正するステップをさらに含む、請求項１に記載の方法。
【請求項１１】
レンズと、
前記レンズに光学的に連結された、画像を取得する画像取得機器と、
カーネルマトリクスに基づいて前記画像を処理するように構成されたロジックとを含み、
前記ロジックは、各々が信号の異なる部分を記述するエントリを含む、複数の信号マトリクスのうちの各信号マトリクスに対して、信号マトリクス上でカーネルマトリクスが有するように意図されたエフェクトの強度に基づいて、前記カーネルマトリクスに基づく、前記信号マトリクスの処理により達成される前記エフェクトの前記強度を調整するように動作可能である、装置。
【請求項１２】
前記カーネルマトリクスに基づく、前記信号マトリクスの処理により達成される前記エフェクトの前記強度を調整するように動作可能な前記ロジックは、
前記信号マトリクスに対し、修正されたカーネルマトリクスを生成し、
前記信号マトリクスに対する第１エントリに対し、新しい値を決定するために、前記修正されたカーネルマトリクスを、前記信号マトリクスに適用するように動作可能である、請求項１１に記載の装置。
【請求項１３】
前記カーネルマトリクスに基づく、前記信号マトリクスの処理により達成される前記エフェクトの前記強度を調整するように動作可能な前記ロジックは、
中間ピクセル値を生成するために前記カーネルマトリクスを前記信号マトリクスに適用し、
前記中間ピクセル値と前記信号マトリクスの第１エントリとの、重み付けされた平均を決定するように動作可能である、請求項１１に記載の装置。
【請求項１４】
前記カーネルマトリクスを適用する前記エフェクトは、前記信号中の画像のコントラストを強調する、請求項１１に記載の装置。
【請求項１５】
前記カーネルマトリクスを適用する前記エフェクトは、前記信号中の画像上でノイズの除去を実行する、請求項１１に記載の装置。
【請求項１６】
前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度は、前記信号に関連付けられた信号対ノイズ比に基づく、請求項１１に記載の装置。
【請求項１７】
前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度は、さらに、前記信号マトリクスによって記述された前記信号を取得するために用いられたレンズの特性に基づく、請求項１６に記載の装置。
【請求項１８】
前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度は、さらに、前記信号マトリクス内のエントリの特性に基づく、請求項１７に記載の装置。
【請求項１９】
前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度は、さらに、前記信号マトリクス内のエントリの特性に基づく、請求項１６に記載の装置。
【請求項２０】
前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度は、前記信号マトリクスによって記述された前記信号を取得するために用いられたレンズの特性に基づく、請求項１１に記載の装置。
【請求項２１】
前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェ
クトの前記強度は、前記信号マトリクス内のエントリの特性に基づく、請求項１１に記載の装置。
【請求項２２】
前記ロジックは、前記信号マトリクス内のエントリの特性に基づいて、前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度を決定するように、さらに動作可能である、請求項１１に記載の装置。
【請求項２３】
前記ロジックは、前記カーネルマトリクスが前記信号マトリクス上で有するように意図された前記エフェクトの前記強度を決定するために用いられるメトリックを算出するように、さらに動作可能である、請求項２２に記載の装置。
【請求項２４】
前記ロジックは、前記信号マトリクス内の前記エントリの値間の差に基づいて、メトリックを決定するように、さらに動作可能である、請求項２３に記載の装置。
【請求項２５】
前記ロジックは、前記信号マトリクス内の前記エントリの値間の標準偏差に基づいて、メトリックを決定するように、さらに動作可能である、請求項２４に記載の装置。
【請求項２６】
前記ロジックは、前記信号マトリクス内の前記エントリの値のヒストグラムに基づいて、メトリックを決定するように、さらに動作可能である、.
請求項２３に記載の装置。
【請求項２７】
前記ロジックは、前記信号マトリクスにエッジディテクションマスクを適用することにより前記メトリックを決定するように、さらに動作可能である、請求項２３に記載の装置。
【請求項２８】
前記ロジックは、前記信号マトリクス内の値のエントロピに基づいて、メトリックを決定するように、さらに動作可能である、請求項２３に記載の装置。
【請求項２９】
前記ロジックは、前記カーネルマトリクスに基づく前記信号マトリクスの処理の前に、画像データのモーションブラー特性に基づいて、前記カーネルマトリクスを修正するように、さらに動作可能である、請求項１１に記載の装置。
【請求項３０】
レンズと、
前記レンズに光学的に連結された、前記レンズから画像データを取得する画像取得機器と、
前記レンズに起因する光学収差およびモーションブラーの両方を補正するように前記画像データを同時に処理するように構成されたロジックとを含む、装置。
【請求項３１】
前記光学収差を補正するために、前記ロジックは、画像の信号対ノイズ比に基づいて、前記画像データのシャープニングの量を調整するように構成される、請求項３０に記載の装置。
【請求項３２】
前記光学収差を補正するために、前記ロジックは、前記レンズのレンズシェーディングプロファイルに基づいて、前記画像データのシャープニングの量を調整するように構成される、請求項３０に記載の装置。
【請求項３３】
前記光学収差を補正するために、前記ロジックは、前記画像データの局所的な特性に基づいて、前記画像データのシャープニングの量を調整するように構成される、請求項３０に記載の装置。
【請求項３４】
前記画像データを処理するように構成される前記ロジックは、前記装置の動きに起因する、推定収差の点拡がり関数に基づいて、前記モーションブラーを補正するように構成される、請求項３０に記載の装置。
【請求項３５】
前記画像データを処理するように構成される前記ロジックは、前記画像データの複数のフレーム間で検出可能な、画像の推定変化に基づいて、前記モーションブラーを補正するように構成される、請求項３０に記載の装置。
【請求項３６】
前記ロジックは、複数のゲイン関数に基づいて、メトリックを決定するように、さらに動作可能である、請求項２３に記載の装置。
【請求項３７】
前記複数のゲイン関数は、画像ウィンドウ中の光量の局所的な推定に基づいて、前記メトリックに適用される、請求項３６に記載の装置。
【請求項３８】
前記複数のゲイン関数は、画像ウィンドウ中の光量の局所的な推定に基づいて、重み付けされる、請求項３７に記載の装置。
【請求項３９】
前記ロジックは、前記信号マトリクスに適用される距離計算に基づいて、メトリックを決定するように、さらに動作可能である、請求項２３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、デジタル信号処理に関する。特に、本発明の実施の形態は、所望のエフェクトが得られるように、信号データを処理するためにカーネルマトリクスを適用するときに得られるエフェクトを修正することに関する。
【背景技術】
【０００２】
背景
デジタルイメージングにおいて、デジタルカメラなどのイメージング器具において行なわれる、光学的ブレ、光学的歪み、色収差、フィールド湾曲等の、光学収差の補正によって、よりよい画像を作成するために、デコンボリューションが時々用いられる。デコンボリューションを規定する数学演算は、コンボリューションにおいて実行される数学演算と同じである。それをデコンボリューションと名付けた理由は、それが、コンボリューションによって画像に対して適用されるエフェクトに対して、補正または補填の文脈において用いられるからである。言い換えると、この態様でのデコンボリューションの使用は、イメージング器具を画像信号が通るときに、画像信号と、点拡がり（ＰＳＦ）関数と呼ばれる２Ｄ関数との間でのコンボリューションとして、出力信号を記述することが可能であるという事実に基づく。光学的ブレを例として用いて、ＰＳＦは、電磁放射の点光源が器具を通る経路、すなわち、光学系を通って１点の光がどのように画像化されるかの観点で、光学的ブレを記述する。ＰＳＦコンボリューションの結果は、捉えられた画像信号が、被写体自体よりもぼやけるというものである（そして、歪まされ、かつ／または色収差を含む）。このブレを補うため、ブレのない画像を作ることを目的とした２Ｄ関数を用いて画像信号がコンボリューションされる、デコンボリューション処理が行われ得る。この２Ｄ関数は、大抵、ＰＳＦが取り込んだブレを元に戻すことができるように、ＰＳＦの逆（または、ＰＳＦの逆の変形）である。
【０００３】
２Ｄデコンボリューションは、デジタル領域内、画像のデジタル表現上、ソフトウェア（ＳＷ）またはハードウェア（ＨＷ）内、で実行され得る。カーネルマトリクスは、通常、所望の周波数応答によって特徴付けられる２Ｄデコンボリューションフィルタとして用いられる。カーネルマトリクスは、画像内におけるＰＳＦのブレを補い、コントラストを強調するために、信号マトリクス（２Ｄ画像）を用いてコンボリューションされる。フィルタがコントラストを強調するには、要求された周波数中のコントラストが特定のレベルまで強調されるようにフィルタがＰＳＦに一致するように、フィルタは、バンドパスフィルタ（ＢＰＦ）またはハイパスフィルタ（ＨＰＦ）の周波数応答を有するべきである。
【０００４】
画像中のコントラストを強調することに加え、ローパス周波数応答（ＬＰＦ）を用いて、ノイズを平均化するカーネルを画像に適用することによって、同じコンボリューション演算が、画像内のノイズを低減するために用いられ得る。そのような、ノイズの除去演算を実行するときに、信号のコントラストを損傷しないように注意すべきである。
【０００５】
通常、画像をよくするデコンボリューション処理は、デジタルカメラ（ＳＷまたはＨＷにおいて）内で作動する画像信号処理（ＩＳＰ）チェーンの一部である。画像上での数学演算のこのチェーンは、画像を、ＣＭＯＳ／ＣＣＤセンサが（たとえば、「ベイヤー」形式で）出力する「ＲＡＷ」形式画像（「ＮＥＦ」画像とも呼ばれる）から、閲覧および保存される最終画像（たとえば、ＪＰＥＧ画像、ＴＩＦＦ画像等）に変換する。ＩＳＰチェーンにおいては、画像へのデコンボリューションフィルタの適用が、デモザイキング（カ
ラー補間）が実行された後、または、デモザイキングの前になされ得る。前者の方法は、画像中の最大限の可能な周波数に（ピクセル毎に）、フィルタが作用するようにすることができるが、大空間のサポートをカバーするためには、２Ｄカーネルが多くの係数を有するべきである。後者の方法は、画像がまだベイヤーである間（カラー補間前）にフィルタを適用することを意味する。後者の方法は、少ない係数に対して大きい空間サポートをカバーすることに関して有利であるが、フィルタは、低い周波数にしか作用できない。デコンボリューションを効果的にするために、ほとんどの光学設計に対して、カーネルのサイズは、（ピクセルで）ＰＳＦのサイズと大体同じであるべきであるため、大きなＰＳＦを補うためには、デコンボリューションカーネルに対して十分に大きい空間サポート、それゆえ、（より多くのメモリおよび数値計算を意味する）多くの係数が必要である。これは、デモザイキング処理の前に、デコンボリューションカーネルをベイヤー画像に適用する主要な理由になり得る。なぜなら、もし、大きなＰＳＦによりぼかされた画像に非常に小さいカーネルが適用されると、処理の後において意図しない副作用が残り得るからである。
【０００６】
デコンボリューションフィルタを、ＨＰＦ／ＢＰＦの周波数応答で画像に適用するとコントラストを増加する結果となる一方で、意図せずノイズを増幅し得る。このノイズの増幅は、信号対ノイズ比（Ｓ／Ｎ）がよいときには目立ち難く、低いＳ／Ｎを生じさせ得る、光の条件が悪いときに最も目立つ。残念ながら、画像内にすでにあるノイズの量を考慮せずにデコンボリューションカーネルを適用すると、ノイズが目立った画像となる。
【０００７】
デコンボリューションカーネルの適用から生じた、望まないノイズの増幅を低減するために、ノイズ除去アルゴリズムが適用され得る。しかしながら、画像中のノイズをデコンボリューション処理が既に増幅した後に、ノイズ除去アルゴリズムを適用するには、強力にノイズの除去を行なう必要があり得、画像中の細かい部分を有する領域の、望まない損失を生じる結果となり得る。さらには、強力なノイズ除去の適用は、ノイズの全てを取り除かない。
【０００８】
このセクションで記述された方策は、追求され得る方策であるが、必ずしも、事前に着想または追求された方策ではない。したがって、別に示されない限り、このセクションに記載されたいかなる方策も、それらがこのセクションに含まれたことによってのみにより従来技術として推定されるべきではない。
【０００９】
図面の簡単な説明
本発明は、添付の図面の図において、例であって限定ではなく図示され、図面において、同じ参照符号等は同様の要素を参照する。
【図面の簡単な説明】
【００１０】
【図１ａ】図１ａは、デジタルオートフォーカスブロックがないＩＳＰチェーンを描く。
【図１ｂ】図１ｂは、実施の形態に従った、デジタルオートフォーカスブロックに対する可能性のある位置を有するＩＳＰチェーンを描く。
【図１ｃ】図１ｃは、実施の形態に従った、デジタルオートフォーカスブロックに対する別の可能性のある位置を有するＩＳＰチェーンを描く。
【図２】図２は、実施の形態に従った、カーネルマトリクスの更新、および、カーネルマトリクスを用いての画像データの処理のためのシステム例を説明するブロック図を描く。
【図３】図３は、実施の形態に従った、カーネルを更新するための方程式の例を示す。
【図４】図４は、実施の形態に従った、コンボリューションカーネルを修正するために「シェーディングインジケータ」が用いられるシステムのブロック図を描く。
【図５】図５は、レンズシェーディングプロファイルの例のグラフを描く。
【図６】図６は、実施の形態に従った、シェーディングパラメータに基づいてカーネルを更新するための方程式を描く。
【図７】図７は、実施の形態に従った、カーネルを修正するために「メトリック」を用いるコンボリューションブロック内のロジックをカーネルが更新するシステムのブロック図を描く。
【図８】図８は、赤（Ｒ）、青（Ｂ）および緑（Ｇ）のピクセルを有するベイヤー画像の例を示す。
【図９Ａ】図９Ａは、画像ウィンドウに対するデータを説明する。
【図９Ｂ】図９Ｂは、図９Ａ中のデータに対するヒストグラムを説明する。
【図１０Ａ】図１０Ａは、単峰性のヒストグラムを説明する。
【図１０Ｂ】図１０Ｂは、双峰性にヒストグラムを説明する。
【図１１】図１１は、実施の形態に従った、メトリックに基づいてカーネルを更新するための方程式を描く。
【図１２】図１２は、実施の形態に従った、カーネルエフェクトの強度を調整するための処理を説明するフローチャートである。
【図１３】図１３は、本発明の実施の形態が実施され得るモバイル機器の例の図である。
【図１４】図１４は、本発明の実施の形態が実施され得るコンピュータシステムの例の図である。
【図１５】図１５は、実施の形態に従った、画像特性に基づいてカーネルを修正するためのパラメータを決定するためのカーブを得がるグラフである。
【図１６】図１６は、実施の形態に従った、信号を処理するためのシステムのブロック図である。
【図１７】図１７は、実施の形態に従った、モーションブラーの補正を描く。
【図１８】図１８は、実施の形態に従った、モーションシフトの補正を描く。
【図１９】図１９は、実施の形態に従った、少なくともシェーディングパラメータに基づいて処理をするカーネルの強さを調整するためのシステムを描くブロック図である。
【図２０】図２０は、実施の形態に従った、少なくとも付近のピクセルの特性に基づいて処理するカーネルの強さを調整するためのシステムを描くブロック図である。
【図２１】図２１は、実施の形態に従った、１つ以上のパラメータに基づいてカーネルが更新される技術を描く。
【図２２】図２２は、実施の形態に従った、未修正のカーネルのコンボリューション結果に「スケーリング」を適用する技術を描く。
【図２３】図２３は、実施の形態に従った、距離に基づいて、情報メトリックを計算するための技術を描く。
【図２４】図２４は、実施の形態に従った、別箇のゲイン関数を描く。
【発明を実施するための形態】
【００１１】
詳細な説明
下記の記載では、説明の目的のため、多数の詳細な細部が、本発明の完全な理解を提供するために述べられる。しかしながら、それは、本発明が、これらの詳細な細部がなくとも実施され得ることがあきらかであろう。他の例では、本発明が不必要に曖昧になることを避けるために、周知の構造および機器はブロック図で示される。
【００１２】
実施の形態は、ここでは、以下の概要にしたがって記載される。
１．０  概説
２．０  画像信号処理チェーンの例
３．０  コンボリューションの概説
４．０  意図されたエフェクトの強度に基づくカーネルエフェクトの調整の概説
４．１  処理の概説
４．２  カーネルの更新によるカーネルエフェクトの調整の概説
４．３  コンボリューション結果の修正によるカーネルエフェクトの調整の概説５．０  様々な因子に基づくカーネルエフェクトの調整
５．１  Ｓ／Ｎ値に基づくカーネルエフェクトの調整
５．２  空間位置に従ったカーネルエフェクトの調整
５．３  局所的な画像特性に従ったカーネルエフェクトの調整
６．０  実施の形態に従った、モーションブラーを扱うカーネルエフェクトの調整
６．１  モーションブラーの修正の概説
６．２  ブレ点拡がり関数の実施の形態
６．３  モーションシフトベクトルの実施の形態
６．４  シャープニングとモーションブラーカーネルとの組合せ
８．０  ハードウェアの概説
８．１  モバイル機器の例
８．２  コンピュータシステムの例
１．０  概説
ここでは、信号データを処理するための技術が開示される。信号データは、多数の異なる信号マトリクスで表わされ得、各マトリクスは、信号の異なる部分を表わす。たとえば、各信号マトリクスは、画像センサにおけるピクセルの組に対応するエントリを含み得る。しかしながら、信号は、たとえば、画像データよりも、むしろ音声データまたは他の信号データであり得る。与えられた信号マトリクスは、いくつかの意図されたエフェクトを達成するために、少なくとも１つのカーネルマトリクスに基づいて処理される。より特定的には、カーネルマトリクスに基づいて信号マトリクスを処理することによって達成される、意図されたエフェクトの強度は、意図されたエフェクトの強度を達成するために調整される。
【００１３】
実施の形態において、信号データに適用されるカーネルマトリクスは、信号データに修正されたカーネルマトリクスを適用する前に、後のセクションにおいて述べられる１つ以上のパラメータにしたがって一回以上修正される。１つ以上のパラメータに従ってカーネルマトリクスを修正することにより、意図されたエフェクトの強度を達成することができる。別の実施の形態において、所定のピクセルに対する最終処理結果は、修正されたカーネル、および、入力された画像中の元のピクセル値を含むが、これに限定されない、いくつかの他の値（１つ以上）を用いて、デコンボリューション結果の合計の重みにされる。各合計値の重みは、後のセクションにおいて述べられるいくつかのパラメータに従って、修正され得る。修正は、振動データの信号対ノイズ比、振動データを取得するために用いられる機器（例えばレンズ）の特性、空間に依存する情報（たとえばピクセルの位置）、または、信号データ（たとえば、処理されている現在のピクセルの周辺にあるピクセル）の解析に基づいて取り出されるメトリックを含むが、これらに限定されない因子に基づき得る。
【００１４】
本発明の、「シャープニング」の実施の形態に従った画像データの処理は、喪失したコントラストを復元することを目的とする。たとえば、画像データの取得に用いられる光学の特性のために、コントラストが喪失され得る。しかしながら、シャープニングの実施の形態は、いかなる特別なレンズも必要としない。シャープニングの実施の形態の目的は、Ｓ／Ｎのペナルティを適度に払いつつ、遠方の被写体および近方の被写体の画像の両方に対して、最終的な画像が良いコントラストを有するように、レンズの光学的特性のために喪失された、いくつかの、画像のコントラストを復元することである。シャープニングの実施の形態は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとのいくつかの組合せにおいて、画像信号処理（ＩＳＰ）ブロックとして実現され得る。
【００１５】
実施の形態において、用いられるカーネルは、カーネルが、画像中の差を強調することにより画像を鮮明にするようにできる、ハイパスまたはバンドパス周波数応答を有する。差の例は、暗い領域と明るい領域の境界、形、輪郭等を含む。しかしながら、これらのカーネルを画像中の比較的均一な表面（たとえば、灰色の壁または青い空など）に対して適用すると、ピクセル間にある小さな差を増幅することになり得る。これらの、ピクセル間の小さな差は、ノイズ（ランダムノイズまたは固定パターンノイズ）によって生じたものであり得る。したがって、カーネルを適用すると、画像中の「変化が少なく」て、均一で、情報量が少ない領域において、望ましくないノイズの増幅をもたらすことになる。望ましくないノイズは、光量が低い条件下において特に厳しいものになり得る。ここでは、所望の領域においてコントラストを維持しつつ、「変化の少ない」領域におけるノイズの増幅を避けるいくつかの技術が開示される。
【００１６】
実施の形態において、各カーネルのゲイン（たとえば、各カーネルが与えるシャープニングの量）は、Ｓ／Ｎ値に従って調整される。したがって、Ｓ／Ｎが悪い画像または画像の一部を処理する際に、カーネルのゲインが低減され得る。特定の例について、カーネルのゲインは、非常に低い光量で取得された画像を処理する際に、ゲインが低減され得る。１つの実施の形態においては、カーネルのゲインは、Ｓ／Ｎパラメータに基づいてカーネルを修正し、そして、画像に修正されたカーネルを適用することによって、調整される。別の実施の形態において、画像に未修正のカーネルを適用した後に、Ｓ／Ｎパラメータに基づくスケーリングが実行される。
【００１７】
１つの実施の形態においては、カーネルのゲインは、現在処理されている画像の部分の空間的な位置に基づいて調整される。１つの実施の形態においては、空間的な位置に基づく調整は、画像データを取得するために用いられたレンズの特性を補う。オートフォーカスおよび標準的なレンズの両方は、放射状に低下する照明プロファイルに悩まされ得る。すなわち、レンズを通る光量が、レンズの高い部分において中間の部分よりも著しく低い。したがって、画像の境界では中央に比べてＳ／Ｎが低くなり得る。いくつかの設計においては、境界における明るさは、中間領域の値の約５０−５５％である。１つの実施の形態においては、シェーディングパラメータに基づいてカーネルを修正し、画像に修正されたカーネルを適用することによって、カーネルのゲインが調整される。他の実施の形態においては、未修正のカーネルを画像に適用した後に、シェーディングパラメータに基づいてスケーリングが実行される。その結果、本発明の実施の形態によれば、画像の境界においてよいＳ／Ｎが達成され、かつより見た目がよい画像が達成される。
【００１８】
１つ実施の形態においては、カーネルを適用するエフェクトは、処理されている現在のピクセルの周辺の画像の特徴のいくつかを記載するメトリックに基づいて修正される。実施の形態において、メトリックは、現在のピクセルの周辺にあるピクセルの統計的な分析に基づく。たとえば、統計的な分析は、画像データのマトリクス中のエントリ間の標準偏差、画像マトリクス中のエントリのヒストグラム、または、画像マトリクス中のエントリ内のエントロピに基づいたものであり得る。しかしながら、メトリックは、現在のピクセルの周辺にある所定のピクセル間の階調度の計算に基づくこともあり得る。１つの実施の形態においては、メトリックに基づいてカーネルが修正される。そして、修正されたカーネルは、画像データに適用される。別の実施の形態においては、未修正のカーネルを画像に適用した後に、メトリックに基づいてスケーリングが実行される。
【００１９】
いくつかのアプリケーションにおいては、カーネルは、ＰＳＦの反対に作用しようとし得る。すなわち、カーネルは、信号を取得する機器における、ブレなどの光学収差を表わすＰＳＦの逆数であろうとし得る。しかしながら、カーネルがＰＳＦの逆数であることは要求されない。また、ここでは、画像のコントラストを強調するためにカーネルが用いら
れる例もある。しかしながら、ここに記載される技術が、画像のコントラストを強調するために用いられるカーネルに適用されることは要求されない。さらに、ここでは、画像処理のためにカーネルが用いられる例もある。しかしながら、より一般的には、ここで記載される技術は、いかなるデジタル信号処理アプリケーションのために用いられるカーネルに適用され得る。
【００２０】
１つの実施の形態においては、画像を鮮明にする（コントラスト強調）ために用いられるメカニズムと同じメカニズムが、画像中のモーションブラーまたはモーションブラーのエフェクトを低減もしくは除去するためにも用いられる。モーションブラー補正およびコントラスト強調に対して同じメカニズムを用いることは、シリコンサイズ、プロセッサのサイクル、複雑性およびコストの観点でより良いソリューションとなる結果となり得る。２.０  画像信号処理チェーンの例
デジタルスチルカメラモジュールにおいて、ｒａｗ画像を処理し、不揮発性メモリに保存された最終画像（たとえば、ＪＰＥＧ画像、ＴＩＦＦ画像等）を出力するアルゴリズムの組は、画像信号処理チェーン、またはＩＳＰチェーンと呼ばれる。図１ａは、ＩＳＰチェーン１００において提供された典型的なステージを描く。ＩＳＰチェーンは他のステージを有することができ、かつ、図１ａ中に描かれたステージの全てを有することは要求されない。ステージの順番は異なってもよい。
【００２１】
１つの実施の形態においては、デジタルオートフォーカスは、ＩＳＰチェーンの一部であるスタンドアロンのブロックとして実現される。ＩＳＰチェーン１００の例は、デジタルオートフォーカスブロックがない典型的なＩＳＰチェーンを示す。ＩＳＰチェーン１００の例は、以下のステージを含む。アナログゲイン１０１は、（たとえば、短い露出時間を使いつつ、）暗い画像を補うために、Ａ／Ｄ変換の前にゲインを適用する。黒レベル補正１０２は、画像からフロア値（すなわち、センサから出力された「暗電流」）を取り除く。悪質ピクセル補正１０６は、見せかけの非常に低いまたは高い値を生成する「バーンド」ピクセルを画像中に配置し、それらを、周囲の「スマートな」平均と置き換える。Ｇｒ／Ｇｂ補償１０７は、ベイヤーパターンを有するＣＭＯＳセンサにおいて、青いピクセルに従った緑のピクセル値と、赤いピクセルに従った緑のピクセル値との間で生じ得る差を補償する。画像センサがベイヤー形式を用いることは要求されない。ホワイトバランスおよびデジタルゲイン１０８は、ダイナミックレンジを維持しつつ、色の平衡を保ち、光の条件および光のレベルを補うために、ゲインを各色（緑−赤、赤、緑−青、青）に適用する。
【００２２】
レンズシェーディング補正１０９は、中央から遠いピクセルの輝度を増加することによって、レンズシェーディングを補償する。ノイズ除去１１０は、画像からランダムノイズおよび固定パターンノイズを除去する。カラー補間（デモザイキング）１１２は、ベイヤー画像に、すべてのピクセルが３つの色チャネル値を有する完全なＲＧＢ画像を差し込む。
【００２３】
シャープニング１１４は、画像中のコントラストを強調する。後でより詳細に記述されるように、デジタルオートフォーカスブロックは、デジタルオートフォーカスがＰＳＦを補償するという点においてシャープニングブロックと異なる。
【００２４】
色補正マトリクス１１５は、画像中の色精度および彩度を管理する。ガンマ補正１１６は、画像にガンマカーブを適用する。ＪＰＥＧ圧縮１１８は、フルＢＭＰ画像から、不揮発性メモリ（フラッシュメモリ等）に保存できるＪＰＥＧ画像に、画像を圧縮する。ＪＰＥＧ以外の圧縮を用いても良い。
【００２５】
デジタルオートフォーカスブロックに対して、ＩＳＰチェーン中の多くの可能性のある
位置がある。図１ｂは、実施の形態に従って、デジタルオートフォーカスブロック１１１を組み込んだＩＳＰチェーン１００ａを描く。例示のＩＳＰチェーン１００ａにおいては、デジタルオートフォーカスブロック１１１は、デモザイキングブロック１１２の直前に配置されている。すなわち、デジタルオートフォーカスブロック１１１がベイヤー画像に適用される。図１ｃは、実施の形態に従った、同様にデジタルオートフォーカスブロック１１１を組み込んだＩＳＰチェーン１００ｂを描く。ＩＳＰチェーン１００ｂにおいて、デジタルオートフォーカスブロック１１１は、デモザイキングブロック１１２の後に配置されている。すなわち、デジタルオートフォーカスブロック１１１がＲＧＢ画像に適用される。ＩＳＰ１００ａおよびＩＳＰ１００ｂの両方の場合において、描かれた場所にデジタルオートフォーカスブロックが正確に配置されることは要求されない。デジタルオートフォーカスブロックは、ＩＳＰの他の場所に配置されていてもよい。実施の形態においては、デジタルオートフォーカス１１１は、悪質ピクセルピクセルエフェクトを強調し得るため、デジタルオートフォーカス１１１ブロックは、悪質ピクセル補正１０６の後に来る。別の実施の形態においては、ベイヤーデノイジング１１０ブロック、レンズシェーディング補正１０９ブロック、ホワイトバランス１０８ブロック、Ｇｒ／Ｇｂ補償１０７ブロック、悪質ピクセル補正１０６ブロック、および黒レベル補正１０２ブロックの後に、デジタルオートフォーカスブロックが来ることが推奨される。これらのブロックは、センサおよび部分的にレンズの誤りを補正するからである。なお、デジタルオートフォーカスブロックをＩＳＰに組み込むことによって、シャープニング１１４ブロックが不必要となる結果になり得る。
【００２６】
ＩＳＰチェーン１００全体としては、デジタルオートフォーカス１１１ステージが適用されなくても、低解像度スクリーンに対して良質の画像が可能である。したがって、デジタルオートフォーカス１１１がプレビューモード（画像の取得前にハンドセットのプレビュースクリーンに表示されるとき）において起動されることは要求されない。
【００２７】
アルゴリズムの実施の形態においては、画像を取得するカメラモジュールシステムは、近接した被写体の画像（たとえば、２０−４０cm）を撮るか、または離れた被写体の画像（たとえば、４０cm−無限大）を取得するかをユーザが選択することができるようにする、マクロ／ノーマル機能を含む。１つの実施の形態において、モードの選択は、デジタルオートフォーカス１１１に入力され、処理を変更するために用いられ得る。たとえば、撮影モードに基づいて、異なるデコンボリューションカーネルが用いられたり、または、カーネルが変更されたりし得る。ＩＳＰチェーン１００中の他のステージからの他のパラメータも、デジタルオートフォーカスステージ１１１に入力され得る。一例として、他のステージは、デジタルオートフォーカスステージ１１１に、画像に関するＳ／Ｎ値を提供する。デジタルオートフォーカスステージ１１１は、Ｓ／Ｎ値に基づいて、シャープニング量を調整する。１つの実施の形態においては、シャープニング量は、ＩＳＰチェーン１００中の別のステージによって与えられ得るピクセルの位置に基づく。しかしながら、ノーマル／マクロモードが異なるカーネルを選択するように用いられることは要求されない。カーネルの何一の組が、遠方および近方の両方をサポートし得る。
３.０  デコンボリューションの概説
１つの実施の形態においては、カーネルは、ベイヤーデコンボリューションを実行するために用いられる。しかしながら、デコンボリューションは、どのようにカーネルが用いられ得るかの一例にすぎない。セル値が表わすセンサのピクセルの上のカラーフィルタに従って、全てのセル値がそれ自身の色（赤、緑または青）を有するように、ベイヤー画像は、ピクセル値の２Ｄマトリクスとしてモデル化され得る。図８は、赤（Ｒ）、青（Ｂ）および（Ｇ）のピクセルを有するベイヤー画像８００の例を示す。ピクセルの位置は、色に対してカーネルを用いてコンボリュ−ションされた画像データ中のピクセルの場所を表わす。色の各々は、画像信号中の対応するピクセルを用いて、適切な色カーネルマトリクスをコンボリュ−ションすることにより値が修正された、画像信号中のピクセルを特定す
る、中央ピクセル８０１ｇ、８０１ｒ、８０１ｂを有する。
【００２８】
実施の形態に従うと、ベイヤーコンボリューションは、各ピクセルカラーに対する、コンボリュ−ションに関与するピクセルおよび各ピクセルに乗じられる係数値を規定する、３つの２Ｄカーネルを用いる。カーネルが画像上に置かれたときにカーネルが「カバー」する、信号画像中のピクセルの数を参照する、サポートの観点から、カーネルのサイズが定められ得る。図８を参照して、カーネルのサポートサイズは、９×９である。カーネルは、多数の他のサイズをサポートし得る。別の実施の形態においては、緑のピクセルは、青のピクセル（Ｇｂ）とともに一列に配置される緑のピクセルと、赤ピクセル（Ｇｒ）とともに一列に配置される緑のピクセルとに分けられる。そのような実施の形態においては、一方はＧｂに対し、他方はＧｒに対し、赤または青のピクセルのカーネルと類似した構造を有する２つの緑のカーネルがある。
【００２９】
なお、いくつかの実施の形態においては、コンボリューションは異なる色を混ぜ合わせない。すなわち、いくつかの実施の形態においては、各中央ピクセルは、周囲を課囲む同じ色のピクセルとだけコンボリュ−ションされる。しかしながら、他の実施の形態においては、コンボリューションは色を混ぜ合わせる。たとえば、赤の中央ピクセルを処理するとき、デコンボリューションにおいて、青および／または緑のピクセルからの情報が用いられ得る。したがって与えられた色に対するカーネルマトリクスは、異なる色のピクセルに対応する位置において零ではない係数を有する。
【００３０】
カーネルの係数は、取得された画像中の対応するピクセルに乗じられ、それらの全てが合計され、出力画像中の適切な場所に結果が記される。画像中のそれらの対応するピクセルは、ここでは「現在画像ウィンドウ」と呼ばれる。たとえば、図８中のカーネルは、９×９周囲のピクセルをサポートする。図８において、赤のピクセルおよび青のピクセルは各々５×５のマトリクスを形成する。中央の赤のピクセル８０１ｒを処理する際、中央の赤のピクセル８０１ｒを囲む、取得された画像中の赤のピクセルは、現在画像ウィンドウである。したがって、この例において、現在画像ウィンドウは、単一の色のピクセルだけを含む。しかしながら、処理のいくつかの種類に対しては、現在画像ウィンドウが、１つ以上の色のピクセルを有してもよい。たとえば、カーネルが色を混ぜ合わせる場合、すなわち、処理が実行される中央ピクセルとは異なる色のピクセルに乗じられる係数を含む場合、カーネルが作動する画像ウィンドウはこれらのピクセルをも含まなければならない。なお、緑のピクセルは、合計で４１個のピクセルに対して５×５のパターンおよび４×４のパターンを有する。各パターンの中央ピクセルは、コンボリューションによってその値が更新されるピクセルである。この例において、各色に対して同じ色のピクセルのみが用いられる、ベイヤーコンボリューションが用いられる。したがって、赤の中央ピクセルおよびパターン中の隣接する赤のピクセルに基づいて、赤のパターンは、赤の中央ピクセル８０１ｒを更新するために用いられる。
【００３１】
テーブルＩは、緑のピクセルのコンボリューションのために３×３をサポートするカーネルのベイヤーフィルタの例のための係数を描く。カーネルの中央の係数が緑のピクセルにかかるとき、緑のピクセルだけがコンボリューションに関与する。なお、零の値を有するカーネルの係数に対する乗算が正確に行なわれる必要はない。
【００３２】
【表１】
2010525470.tif 000003
【００３３】
一例として、図８の適切な部分に、上記のベイヤーフィルタが適用されるならば、緑の中央ピクセル８０１ｇおよび４つの最も近くの緑のピクセルがコンボリューションに関与する。コンボリューションはハイパスフィルタまたはバンドパスフィルタとして作用し得る。しかしながら、コンボリューションは、ローパスフィルタまたは他の機能として作用してもよい。
【００３４】
なお、テーブルＩ中のカーネルの係数の合計は、１に等しい。係数の合計が１とは異なる値であるのならば、カーネルは、（たとえば、関与する全てのピクセルが同じ値であるとき）、色または明暗度に影響を与え得る、画像の「ＤＣ」値に影響を与えるであろう。均一な色の表面にカーネルを適用する場合、色（または明暗度）を保存しておくことが望ましい。
【００３５】
ＲＧＢデコンボリューションが用いられる（すなわちデコンボリューションがデモザイキング処理の後に実行される）場合、すべてのピクセルが、各々３つの値（Ｒ、Ｇ、Ｂ）を有し、したがって、各色に対するカーネルは、各色に対する画像中の情報は空間的に連続しており、かつ、かつ全てのピクセル中に存在しているため、マトリクスセルに対して有効な係数を有する２Ｄマトリクスとして記述され得る。１つは赤色に対して、１つは緑に対して、そして最後は青に対する、３つの２Ｄマトリクスの組合せとしてＲＧＢ画像を見ることが都合がよい。色の混合が行なわれない場合は、各カーネルが、カーネルに合う色を含む２Ｄマトリクスに適用される。しかしながら、実施の形態においては、カーネルは色を混合し得り、したがって、カーネルは、全てのつのＲ、ＧおよびＧ画像マトリクスにおいてピクセルに乗じられる値を含み得る。
【００３６】
１つの実施の形態においては、出力画像のビット解像度に関してオーバーフローまたはアンダーフローがないことを確実にするために検査が行なわれる。もしあれば、サチュレーションおよびクリッピングが用いられ得る。実施の形態において、出力画像のビット解像度は、入力画像と同じである。しかしながら、これは要求されない。別の実施の形態においては、出力画像の解像度は入力画像の解像度に対して異なり得る。ピクセルが処理される順番は、いかなる特定の順番にも限定されない。順番は、シャープニングステージ１１４への入力インターフェイスに依存し得る。
４.０  意図されたエフェクトの強度に基づくカーネルエフェクトの調整の概説
４.１  処理の概説
図１２は、実施の形態に従う、カーネルエフェクトを調整するための処理１２００を説明するフローチャートである。ステップ１２０２にて、初期カーネルマトリクスがアクセルされる。ステップ１２０４にて、カーネルマトリクスの処理が信号マトリクス上で有するエフェクトに対して調整がなされる。調整は、カーネルが信号上で有するエフェクトの強度を修正することが意図される。図２１および図２２は、カーネルマトリクスを処理することが信号マトリクス上で有するエフェクトを調整するための２つの技術を描く。
【００３７】
意図されたエフェクトは、画像のコントラストを強調するものでもよく、他のエフェクトでもよい。エフェクトの強度の調整は、信号のＳ／Ｎ値に基づいたものであり得る。エ
フェクトの強度の調整は、ピクセルの位置に基づいたものであり得る。エフェクトの強度の調整は、信号を取得するために用いられたレンズの特性（たとえば、レンズシェーディング）に基づいたものであり得る。エフェクトの強度の調整は、処理されるデータの付近にあるデータの特性に基づくものであり得る。一例として、特性は、データの標準偏差など、事実上統計的なものであり得る。カーネルエフェクトは、これらの因子、または他の因子のいくつによってでも調整され得る。
４.２  カーネルの更新にようるカーネルエフェクトの調整の概説
図２１は、実施の形態に従う、１つ以上のパラメータに基づいてカーネルが更新される技術を描く。そして、更新されたカーネルは、コンボリューションのために用いられる。図２１において、入力インターフェイス２２０２は、ＩＳＰチェーン内の他のステージから画像信号を受け取り、画像ピクセルを更新カーネルブロック２１０６に渡す。この実施の形態においては、入力インターフェイス２２０６は、ＩＰＳチェーンからの所定のデータを更新カーネルブロック２１０６に提供する。このデータの例は、Ｓ／Ｎ値、画像ヒストグラム、露出時間、デジタルおよびアナログゲイン、デノイジング情報、ホワイトバランス情報、およびピクセルの位置を含むが、それに限定されない。
【００３８】
更新カーネルブロック２１６は、選択された画像ピクセルから形成された信号マトリクスのコンボリューションのために用いられるカーネル２１５を更新する。ここでは、Ｓ／Ｎ（「アルファ」）、空間的な位置（「ベータ」）、局所的な特性（「ガンマ」）などの因子に基づく、いくつかのパラメータの例が論じられる。カーネルは、これらのパラメータのうちの１つ以上、または他のパラメータに基づいて更新され得る。したがって、カーネルの更新は、これらのパラメータに限定されない。コンボリューションブロック２２０６は、更新されたカーネルおよび最終的な結果を用いて、（画像ピクセルに基づいて）信号マトリクスをコンボリューションする。
【００３９】
計算されたメトリック（たとえば「アルファ」、「ベータ」、「ガンマ」、．．．）を用いるカーネルの修正のための方法は、以下の通りである。０および１のダイナミックレンジ内のメトリックが一旦計算されると（もしそうでないと、そのようなダイナミックレンジにメトリックを変換することもあり得る）、カーネルのエフェクトが、以下の式（たとえば、３×３のカーネル）を用いて低減される。
【００４０】
【数１】
2010525470.tif 000004
【００４１】
この式は、メトリックが０に近いとカーネルのエフェクトを低減する所望のエフェクトを作成し、メトリックが１に近いと初期カーネルをそのままにする。最終的なカーネルは、２つのカーネル、すなわち初期カーネルおよびクロネッカーのデルタカーネルの線形結合である。クロネッカーのデルタカーネルは、画像とともにコンボリューションされるが、画像をそのままにし、変化させない。したがって、カーネルに乗じられる係数の合計が１になる場合に、クロネッカーのデルタカーネルを初期カーネルと組み合わせると、（最終的なカーネル内の全ての係数の合計が１のままであるため、）画像のＤＣ周波数要素には変化を与えないようにしつつ、メトリックに基づいて、初期カーネルのエフェクトの強さを低くすることを確実にすることができる。
【００４２】
別の実施の形態においては、クロネッカーのデルタカーネルは、他のカーネル、たとえ
ば初期カーネルよりも強いエフェクトを有するカーネルと置き換えられ、したがって、メトリックに応じて、処理のエフェクト力を増大するエフェクトが達成される。
４.３  コンボリューション結果の修正によるカーネルエフェクトの調整の概説
図２２は、実施の形態に従う、修正される必要のない、カーネルのコンボリューション結果に、「スケーリング」が適用される技術を描く。このスケーリングは、図２１に描かれたようなカーネルの更新と同じ結果を達成する。図２２において、入力インターフェイス２２０２は、ＩＳＰチェーンの他のステージから画像信号を受け取り、画像ピクセルをコンボリューションブロック２２０６に渡す。コンボリューションブロック２２０６は、未修正のカーネル２１５を用いて、（画像ピクセルに基づいて）信号マトリクスをコンボリューションし、コンボリューション結果を出力する。コンボリューションブロック２２０６は、初期カーネルを用いて処理されている現在のピクセルのためにコンボリューションを実行し、結果をブロック２２１２に出力する。
【００４３】
アベレージャブロック２２１２は、ブロック２２１２からコンボリューション結果を受け取り、コンボリューション前の現在のピクセル値を、付加的なデータとともに、ＩＳＰから受取る。このデータの例は、Ｓ／Ｎ値、画像のヒストグラム、露出時間、デジタルおよびアナログゲイン、デノイジング情報、ホワイトバランス情報、およびピクセル位置を含むが、それに限定されず、要求される更新メトリックを計算する（代替的には、この情報に基づく更新メトリックが事前に計算され、それらのみがアベレージャに入力される）。
【００４４】
そして、アベレージャ２２１２は、コンボリューション結果およびコンボリューション前のピクセル値の間の平均値を求め、実施の形態における下記の式を用いて最終結果を出力する。
【００４５】
最終結果＝ConvRs・メトリック+(１-メトリック)・InputPixel  ・・・(1)
方程式（１）において、ConvRsは、コンボリューション結果であり、InputPixelは、処理されている現在のピクセルの元の値である。実施の形態において、InputPixelは、クロネッカーのデルタカーネルおよび信号マトリクスのコンボリューションの結果であるため、InputPixelが用いられる。所望のエフェクトが、初期カーネルのエフェクトを増大するものである場合、InputPixelは、ConvRsを作成するために用いられたカーネルよりも強いエフェクトを有するカーネルを用いたコンボリューション結果と置き換えられる。メトリックは、０と１の間のダイナミックレンジを有し、０に近い場合には、所望のエフェクトが方程式における第１加数のエフェクトを低減するとともに第２過数のエフェクトを増大し、１に近い場合には、逆になる（最終結果において、方程式における第１加数のエフェクトを増大するとともに第２加数のエフェクトを低減する）ように構成された、いかなる更新メトリックであり得る。いくつかのメトリックは、最終出力を生成するために用いられることができ、また、乗じられている係数の合計が１である限り、２つ以上の加数が方程式において用いられてもよい。ここでは、Ｓ／Ｎ（「アルファ」）、空間的な位置（「ベータ」）、局所的な特性（「ガンマ」）などの因子に基づいたメトリックのいくつかの例が述べられる。最終結果は、これらの因子または他の因子の１つ以上に基づき得る。
５.０  様々な因子に基づくカーネルエフェクトの調整
５.１  Ｓ／Ｎ値に基づくカーネルエフェクトの調整
カーネルを更新するシステムの例
図２は、カーネルマトリクスに基づく処理の所望の量を達成する信号マトリクスの処理のためのシステム２００の例を説明するブロック図を描く。図２は、実施の形態に従う、カーネルマトリクスの更新、および、更新されたカーネルマトリクスを用いた、画像データの処理を描く。ここにおいて別の場所で記載されたように、カーネルを適用するエフェクトを調整するために、カーネル自体が修正されることは要求されない。１つの実施の形態においては、カーネルに基づく処理のエフェクトを調整するために、画像の処理の後に
、未修正おカーネルを用いてスケーリングが行なわれる。したがって、図２中の様々なブロックが説明の便宜のために描かれ、カーネルの更新の実現には、図２に描かれたようにアルファにるカーネルの乗算は要求されないことが理解されるであろう。
【００４６】
一般的に、更新カーネルブロック２０２は、選択されたカーネルマトリクスをノイズレベル推定量に基づいて更新する。コンボリューションブロック２０６は、画像データに更新されたカーネルを適用し、その画像データは、アウトプットインターフェイス２０９に出力される。１つの実施の形態においては、更新カーネルブロック２０２およびコンボリューションブロック２０６は、図１ｂまたは１ｃのオートフォーカスブロックの一部を形成する。実施の形態において、ＩＳＰチェーン２０４ａの上流部分は、下記のパラメータをインプットインターフェイス２０８に提供する。
【００４７】
ｉ．撮影モード
ｉｉ．ノイズレベル推定量
ｉｉｉ．インプット画像
実施の形態において、撮影モードは、カーネル２１５ａ、２１５ｂのどちらの組を用いるかを決定するために用いられる。図２のシステムの例は、マクロモードおよびノーマルモードのためのカーネルを描く。しかしながら、夜間、風景など、他のモードのためのカーネルがあってもよい。撮影モードは、カーネルに対する特別な処理を必要とする、いかなる種類のシーンであり得る。１つの実施の形態においては、撮影モードは、ユーザの選択に基づく。たとえば、ユーザは、マクロモードおよびノーマルモードのどちらかを選択することができる。別の実施の形態においては、撮影モードは自動的に決定される。この実施の形態においては、撮影モードに基づいて、マクロカーネル２１５ａまたはノーマルカーネル２１５ｂが、更新初期カーネルブロック２０２に入力として提供される。実施の形態において、カーネルのための係数は内部メモリに記憶される。一例として、１６ビットの符号付の解像度が係数を表わすために用いられる。
【００４８】
ノーマルモードカーネル２１５ｂは、たとえば、４０ｃｍ−無限大の間で撮られる画像に対して用いることができる。マクロモードカーネル２１５ａは、近接した要素を撮影するために用いることができる。一例として、近接した要素は、２０ｃｍ−４０ｃｍの範囲内、またはより近い範囲（１０ｃｍから４０ｃｍまで）にあり得る。１つの実施の形態においては、２組の３色のカーネル（赤、緑、青）がある。一方の組は、ノーマルモードのためのものであり、他方の組はマクロモードのためのものである。異なる数の色のカーネルを用いることができる。カーネルのサイズが異なってもよい。さらに、用いられるサポートサイズは、ピクセルサイズに基づくことができる。たとえば、ピクセルサイズが１．７５ｕｍである場合、カーネルのサポートサイズは１３×１３であり得る。２．２ｕｍのピクセルサイズに対して、カーネルのサポートサイズは９×９であり得る。しかしながら、ピクセルサイズが小さいほど大きいサポートサイズを用いることは要求されない。
【００４９】
ノイズレベル推定量は、取得された画像中のノイズレベルの推定量である。ノイズレベル推定量は、いかなる形式でも表わすことができる。一例として、ノイズレベル推定量は、０から７の間の正数値であり得る。０はノイズが少ない（Ｓ／Ｎがよい）ことを示し、７は、ノイズの量が多い（Ｓ／Ｎが悪い）ことを示す。悪いＳ／Ｎは、光の条件が悪いことに関連し得る。
【００５０】
実施の形態において、ＩＳＰチェーン２０４ａの上流部分は、画像ピクセルデータをインプットとして提供する前に、悪質ピクセル補正（ＢＰＣ）を画像データに適用する。実施の形態において、画像データがコンボリューションブロック２０６に処理された後、ＩＳＰチェーン２０４ｂの下流部分によりデモザイキングが画像データに適用される。  更新カーネルブロック２０２は、ノイズレベル推定量から、ここで「α」と表記される値を
計算するアルファ計算ロジック２１２を有する。１つの実施の形態においては、ノイズレベル推定量が０と最大ノイズ値との間の数値である場合、値αは方程式（２）を用いて計算される。
【００５１】
α=(最大ノイズ値-ノイズ値)/最大ノイズ値  ・・・(2)
方程式（２）は、画像にノイズが多いほど（ノイズ値が大きいほど）、値αが小さいことを示す（逆もまた同じ）。したがって、もし、画像中のノイズが少しであれば、値αが１に近くなる。方程式（２）において、アルファとノイズ値との間の関係は線形である。しかしながら、線形の関係は要求されない。ノイズ値と画像中のノイズの実際の量との間の関係に従って、アルファは、二次的な依存、またはその他など、より複雑な態様でノイズ値に依存し得る。もし、ノイズ値が線形であれば、アルファはノイズ値の線形関数であることができる。更新カーネルブロック２０２は、値αに基づいて初期カーネルの更新版を生成するカーネル更新ロジック２１４を有する。
【００５２】
図３は、実施の形態に従う、カーネルを更新するための方程式の例を示す。図３は、アルファ更新されたカーネルマトリクスが、１）αが乗じられた初期カーネルマトリクスと、２）１−αが乗じられたデルタカーネルマトリクスとの２つのカーネルの線形結合であることを示す。デルタカーネルは、クロネッカーのデルタカーネルとも表記される。この結果、アルファ更新されたカーネルの係数の合計が１のままとなり、したがって、画像の「ＤＣ」値が維持されることになることに留意されたい。図３の方程式の実現には、アルファによるデコンボリューションカーネルの乗算は要求されないことに留意されたい。むしろ、以下で述べられるように、画像マトリクスのコンボリューションの後に、同じ結果を生じさせるように、未修正のデコンボリューションマトリクスを用いたアルファ「スケーリング」が行なわれる。
【００５３】
もし、αが比較的１に近いと、アルファ更新されたカーネルは初期カーネルに非常に似る。しかしながら、値αが１よりも０に近いと、アルファ更新されたカーネルは、クロネッカーのデルタカーネルにより似る。たとえば、α＝０．２であると、アルファ更新されたカーネルは、８０％のクロネッカーのデルタカーネルの、たった２０％の初期カーネルを含む。実施の形態において、初期カーネルは、事実上、ハイパスフィルタまたはバンドパスフィルタである。したがって、もし、αが小さいと、アルファ更新されたカーネルが画像に生じさせるシャープニングの量は、初期カーネルのものより大幅に少ない。
【００５４】
もし、カーネルがハイパスフィルタまたはバンドパスフィルタであると、カーネルはノイズを増幅することもあり、したがって、画像のＳ／Ｎが低い場合にそのようなカーネルを弱めることによって、カーネルを更新せずに初期のカーネルを用いて処理することに比べて、最終的に処理さた画像のＳ／Ｎを改善することができる。この技術は、初期カーネルのゲインを弱めることができる。クロネッカーのデルタカーネルを、初期カーネルよりも強いハイパス／バンドパス周波数応答を有するカーネルと置き換えることによって、同じ技術を初期カーネルを強めるために用いることができる。コンボリューションブロック２０６内のコンボリューションロジック２１６は、入力画像の現在の部分をアルファ更新されたカーネルを用いてコンボリューションし、値をアウトプットインターフェイス２０９に出力する。実施の形態において、出力画像は、インプット画像の解像度と同じ解像度を有する。
ポストコンボリューションスケーリングを用いるシステムの例
前述したように、アルファ更新を達成するためにカーネルにアルファが乗じられることは要求されない。図１６は、未修正のカーネルのコンボリューション結果に「スケーリング」が適用される実施の形態を描く。このスケーリングは、図２に描かれた、アルファを用いたカーネルの更新と同じ結果を達成する。図１６において、イメージャインターフェイス２０８は、画像センサ１３７２から画像信号を受け取り、信号マトリクスをコンボリ
ューションブロック２０６に渡す。イメージャインターフェイス２０８からのモード選択信号は、コンボリューションブロック２０６に供給される１つ以上のカーネル２１５を選択するために用いられる。異なるモードの例は、前述された。コンボリューションブロック２０６は、未修正のカーネルを用いて信号マトリクスをコンボリューションし、コンボリューション結果を出力する。各コンボリューション結果は、現在処理されている信号マトリクスのエントリの１つに対する値を含む。
【００５５】
この実施の形態において、イメージャインターフェイス２０８は、ノイズレベル推定量信号を、アルファ算出ロジック２１２を用いて「アルファ」を算出するスケーリング１６０２に提供する。アルファの算出は、図２中に描かれた実施の形態と同様の態様で行われ得る。アルファスケーリング１６１２は、コンボリューション結果、アルファ、および処理されている現在のピクセルに対する元の値を入力し、現在のピクセルに対する最終結果を出力する。実施の形態の形態において、現在のピクセルは信号マトリクスの中央のピクセルである。１つの実施の形態においては、アルファスケーリング１６１２は下記を実行する。
【００５６】
最終結果＝ConvRs・α+(１-α)・InputPixel  ・・・(3)
方程式（３）において、ConvRsはコンボリューション結果であり、InputPixelは、処理されている現在のピクセルの元の値である。従って、現在のピクセルに対する最終処理結果は、未修正のカーネルおよび１つ以上の他の値を用いてコンボリューション結果の合計に重み付けさせられる。それらの他の値は、入力画像中の元のピクセル値を含むが、限定されない。この実施の形態において、アルファパラメータは、重み付け（またはスケーリング）パラメータとして用いられる。
５.２  空間的な位置に応じたカーネルエフェクトの調整
システム例
１つの実施の形態においては、デコンボリューションカーネルを画像に適用するエフェクトは、空間的な位置に従って修正される。１つの実施の形態においては、空間的な位置は、画像データを取得するために用いられたレンズに対するシェーディングプロファイルに基づく。図４は、更新カーネルブロック２０２によってアルファ更新されたコンボリューションカーネルが修正された後に、アルファ更新されたコンボリューションカーネルを修正するために、コンボリューションブロック２０３内のベータ更新ロジック３０４が「シェーディングインジケータ」を用いるシステム４００のブロック図を描く。シェーディングインジケータは、レンズシェーディングの量を規定し、画像データの中央に関連して記述される。もし望めば、カーネルに対するアルファ更新よりも前に、またはアルファ更新をせずに、カーネルに対するベータ更新を行なうことができる。ここで、別の場所で述べたように、カーネルを適用するエフェクトを調整するためにカーネル自体を修正することは要求されない。１つの実施の形態においては、カーネルに基づく処理のエフェクトを調整するために、未修正のカーネルを用いた画像の処理の後に、スケーリングが行なわれる。ここで、シェーディングインジケータに基づく調整は、「ベータ調整」と表記される。
【００５７】
図６は、実施の形態に従う、シェーディングパラメータに基づく、カーネルの更新のための方程式を描く。図６の方程式は、アルファ更新されたカーネルに対するベータ更新を描く。初期カーネルの係数は、初期カーネルがαを用いて更新されたことを示すためのタグを用いて印が付けられる。前述したように、カーネルに対するベータ更新は、アルファ更新の前に行われ得る。さらに、実施の形態においては、アルファ更新を行なわずにベータ更新を行なうことができる。もし、ベータ更新がカーネルに対して行なわれたとすると、コンボリューションは、非線形コンボリューション（すなわち、１つ以上の条件に基づいて、各ピクセルに対してカーネルが変化するコンボリューション）である。図６中の方程式の実現は、アルファ更新されたデコンボリューションカーネルのアルファによる乗算
は要求されないことに留意されたい。むしろ、後述するように、アルファおよびベータ「スケーリング」は、未修正のデコンボリューションマトリクスを用いて画像マトリクスをコンボリューションした後に行なうことができる。
【００５８】
関連する色のカーネルに対するベータ更新を行なった後、コンボリューションロジック２１６は、関連する色のカーネルと画像マトリクスの形で表わされた画像データとをコンボリューションする。関連する色のカーネルは、処理されている現在のピクセルである、画像マトリクス中の中央のピクセルの色に基づいて決定される。コンボリューションは、画像マトリクス中のマッチングピクセルによりベータ更新カーネルの係数を乗算することを含む。結果は、現在のピクセルに対する値を更新するために、出力画像中の適切な場所に記される。その後、画像データ中の次のピクセルが処理される。たとえば、ベイヤー処理が行なわれているとすると、ベイヤー画像中の次のピクセルが処理される。カーネルに対するベータ更新は、Ｓ／Ｎをよくすることができるが、画像の境界において、鮮明さが劣化し得る。
ベータおよびシェーディングプロファイルの例
実施の形態において、レンズシェーディングプロファイルによって引き起こされる、画像境界におけるＳ／Ｎのペナルティを補償するために、画像の中心からの距離の関数として、ベータ更新はカーネルを弱くする。図５は、レンズシェーディングプロファイルの例のグラフ５００を描く。ｙ軸は、シェーディングパラメータ、すなわちベータの値である。ｘ軸は、レンズの中央からの距離（「Ｒ」）である。この例において、Ｒが大きいほどベータが小さくなる。したがって、この例においては、レンズの中央の付近においてベータが１に近づき、レンズの外端（たとえば外周）に向かって、ベータが零に近づく。この例において、Ｒとベータとの関係は非線形であることに留意されたい。カーブの形は、方程式（４）に従って近似され得る。
【００５９】
β=１-ａ・(R/(b・max(R)))2  ・・・(4)
方程式（４）において、βは、０と１の間の値を有する。そして、各ピクセルは、各ピクセルの、画像のレンズ中央からの距離（Ｒ）に従って処理される。この距離または距離の２乗は、下記の方程式に従って算出される。
【００６０】
R=(x_index2+y_index2)1/2  ・・・(5)
R2=x_index2+y_index2  ・・・(6)
これらの方程式において、x_indexおよびy_indexは、画像中のピクセルのインデックスであり（xは列に対し、yは行に対する）、画像中の中央のピクセルは、［０，０］と標される。「ａ」および「ｂ」の値は、定数であり、シェーディングの量に影響を与える。
【００６１】
「ａ」および「ｂ」に対する値は、変わり得り、また、ＩＳＰチェーン２０４ａの上流によって与えられ得る。したがって、１つの実施の形態において、ＩＳＰチェーン２０４ａの上流によって与えられるシェーディングインジケータは、定数ａおよびｂを規定する。別の実施の形態において、シェーディングインジケータは、画像統計データに基づいて算出される。たとえば、画像データに関連付けられた、ピクセルの座標およびＳ／Ｎに基づいて、コンボリューションブロック２０６により算出される。Ｓ／Ｎは、ＩＳＰチェーン２０４ａの上流により与えられ得る。別の実施の形態において、ａおよびｂは、シェーディングインジケータを必要とせずに、レンズシェーディングプロファイル特性を満たすようにレンズシェーディングプロファイルに従って設定され、固定される。
【００６２】
コンボリューションブロック２０６中のＲ算出ロジック３０２は、少なくともいくつかのピクセルに対するＲを定める。Ｒの値に基づいてベータ更新ロジック３０４は、βに対する値にアクセス（または値を決定）する。すなわち、βは、テーブルからアクセス、またはランタイムにおいて算出される。一般的に、βは、現在処理されているピクセルに対
するＲの値に少なくとも部分的に基づいて、処理時間を保存するためにテーブルからアクセスされる。しかしながら、βをオンザフライで算出することができる。
【００６３】
１つのピクセルとその周囲のピクセルとでは、Ｒの値が僅かに異なるにすぎないため、全てのピクセルに対してＲの新しい値を算出することは要求されない。したがって、各ピクセルに対するカーネルにベータ更新が行なわれることは要求されない。それゆえ、ベータ更新を、２〜３の、またはそれよりも大きい数のピクセル毎に行なうことができ、そうであっても所望のエフェクトを達成することができる。
【００６４】
同じレンズに対して異なるシェーディングプロファイルを選択することが可能であるが、特定のレンズデザインに対して一定のプロファイルが選択され得る。実施の形態において、シェーディングインジケータは、０と８の間の整数である。０は、境界でのシェーディングがないことを示し、８は、境界でのシェーディングが強いことを示す。しかしながら、この範囲外の値を用いることができる。
β係数を決定するための別の実施の形態
このセクションは、レンズに対するピクセルの相対的な位置を記す値「Ｒ」に基づいてβを決定する、別の技術について記述する。この実施の形態において、まず、Ｒ2の値が、より小さなダイナミックレンジに変更され得る。方程式（７）は、そのような変更の実行例である。
【００６５】
f(R): R2[0...max(R2)]→[0...15]  ・・・(7)
Ｒの値をより小さなダイナミックレンジに変更した後、ベータを算出するために方程式（８）が用いられ得る。
【００６６】
β=15-p・f(R)/q  ・・・(8)
定数「ｐ」および「ｑ」は、シェーディングの量に影響を与え、したがって、カーネルの強さを調整する。したがって、これらの定数は、ベータを決定するための前の技術において述べられた定数「ａ」および「ｂ」と同様の目的を果たすが、同じ定数ではない。「ｐ」および「ｑ」に対する値は、ＩＳＰチェーン２０４ａにより与えられ得る（たとえば、シェーディングインジケータはこれらの定数を規定し得る）。代替的に、ｐおよびｑに適した値をコンボリューションブロック２０６によって決定することができる。一例として、ｐおよびｑは、画像統計データに基づいて決定され得る。しかしながら、ｐおよびｑは、レンズシェーディングプロファイルによって決定され、固定されたままともなり得る。この方程式において、ベータの最終値は０と１５の間になり得る（すなわち、ここでは、βを表わすために４ビットが用いられる）ことに留意されたい。しかしながら、βは、実現態様に応じて、いかなる所望のダイナミックレンジを有することができる。
【００６７】
画像の境界でカーネルを弱くする量は、「ｐ」および「ｑ」に基づいて調整することができる。たとえば、もし、ｐ＝０かつｑ＝１であると、画像の境界においてカーネルは弱くされない。もし、ｐ＝１かつｑ＝１であると、カーネルは、画像の境界においてクロネッカーのデルタ関数になる。したがって、カーネルが弱くされる。
【００６８】
カーネルのゲインが更新されるときに従うシェーディングプロファイルは、Ｒ^２の関数以外であり得る。たとえば、シェーディングプロファイルは、Ｒの関数、または非回転対称の関数であり得る。これらの他の事例において、ベータを計算するための式は、いくらか異なる。たとえば、下記の方程式で説明されるような多項式が、ベータを計算するための式に用いられ得る。
【００６９】
β(R)=ａ0+ａ1(R/max(R))+ａ1(R/max(R))2+...+ａn(R/max(R))n  ・・・(9)
方程式（９）において、βは、０および１の間の最終値を有しうる。
【００７０】
また、レンズシェーディングプロファイルに基づく調整は、画像の境界においてカーネルを弱くする代わりに強くするために用いることができる。この実施の形態において、クロネッカーのデルタカーネルを、よりアグレッシブなハイパス／バンドパス周波数応答を有するカーネルと置き換えると、結果的に、初期カーネルの係数が調整される。カーネルを強くすることを求める理由は、一般的に、与えられたレンズにとって、ＰＳＦは、大抵、視界（ＦＯＶ）の中央よりも境界において大きいためである。
空間依存処理
レンズシェーディングプロファイルに基づくカーネルエフェクトの調整の例は、空間的な（またはピクセルの）位置に基づくカーネルエフェクトの調整のための１つの技術である。しかしながら、これは、空間的な位置に基づくカーネルエフェクトの調整のための唯一の技術ではない。１つの実施の形態においては、位置に依存する光学収差を把握するために画像センサの異なる領域を別に処理するために、異なるカーネルが記憶されたり、画像処理中に導かれたりする。この、位置依存処理は、単一のピクセル領域と同じくらいきめ細かいものであり得るが、異なる領域は１つよりも多いピクセルを有することができる。
【００７１】
たとえば、光学収差を画像センサの異なる領域に対して算出することができる。各領域のサイズは、単一のピクセルと同じくらい小さくなり得るが、単一のピクセルよりも多くを含み得る。１つの実施の形態においては、領域内のピクセルに対する光学収差に対抗するために、デコンボリューションカーネルは、各領域に対して定められる（「領域カーネル」）。異なる領域カーネルが、各領域に対して記憶され得る。代替的には、単一の領域カーネルが、複数の領域に対して記憶されてもよく、異なる領域に対する異なる処理を達成するためにカーネルに対して調整がなされる。
ポストデコンボリューションスケーリングを用いたカーネルエフェクトの調整
前述したように、図４中に描かれたようにアルファおよびベータを用いてカーネルを更新するという結果を達成するためにアルファおよびベータの場所でカーネルを乗算することは要求されない。図１９は、未修正のカーネルに基づくデコンボリューション結果に、アルファおよびベータ「スケーリング」が適用される実施の形態を描く。この実施の形態においては、イメージャインターフェイス２０８は、ノイズレベル推定量信号およびシェーディングインジケータを、アルファ算出ロジック２１２を用いて「アルファ」を算出するスケーリング１６０２に提供する。アルファの算出は、図２において描かれた実施の形態と同様の態様を実行され得る。本実施の形態において、イメージャインターフェイス２０８は、シェーディングインジケータ信号およびピクセルインデックスを、ベータ算出ロジック３０２を用いて「ベータ」を算出するスケーリング１６０２に提供する。ベータの算出は、図４に描かれた実施の形態と同様の態様で実行され得る。１つの実施の形態においては、シェーディングインジケータは、ベータを決定するためには用いられない。むしろ、ベータは、シェーディングインジケータを用いずに、ピクセルインデックスに基づいて決定される。
【００７２】
アルファ／ベータスケーリング１９１２は、コンボリューション結果、アルファ、ベータ、および処理されている現在のピクセルの元の値を入力し、現在のピクセルに対する最終結果を出力する。１つの実施の形態において、現在のピクセルは、信号マトリクスの中央のピクセルである。１つの実施の形態においては、アルファスケーリング１６１２は、下記のものを実行する。
【００７３】
最終結果=ConvRs・α・β+(1-α・β) ・InputPixel  ・・・(10)
方程式（１０）において、ConvRsは、コンボリューション結果であり、InputPixelは、処理されている現在のピクセルの元の値である。したがって、現在のピクセルに対する最終処理結果は、未修正のカーネルおよび１つ以上の他の値を用いたコンボリューション結
果の合計に重みを付けさせられる。それらの他の値は、入力画像中の元のピクセル値を含むが、これに限定されない。この実施の形態において、アルファおよびベータパラメータは、重みづけ（またはスケーリング）として用いられる。もし、所望すれば、ベータパラメータはアルファ無しで用いることができる。
５．３  局所的な画像特性に基づくカーネルエフェクトの調整
ある実施の形態においては、カーネルエフェクトは局所的な画像特性に基づいて調整される。画像特性は現在処理されているピクセルの局所的な特性であり得る。画像特性に基づくカーネルエフェクトの調整は、上述したαの調整および／あるいはβの調整とともに実行され得る。しかしながら、ある実施の形態においては、カーネルエフェクトはαやβの調整を行なうことなく画像特性に基づいて調整される。さらに、αの調整あるいはβの調整以外のカーネルエフェクトに対する調整は、このセクションの技術を用いて実行され得る。
【００７４】
画像特性に基づくカーネルエフェクトの調整の１つの局面は、中心ピクセルの値自身に基づいて（あるいは、代替的に、中心ピクセルの周囲のいくつかのピクセルの加重平均に基づいて）行なわれる処理の程度（すなわち、カーネルによるエフェクトの強さあるいは強度）を調整することである。このように、たとえば、中心ピクセル（あるいは平均値）が高い値を有する場合、エフェクトの強度は大きくなり、中心ピクセルが低い値を有する場合、エフェクトの強度は低くなるであろう。逆のものも、すなわち、中心ピクセルの値（あるいは中心ピクセルの周囲のいくつかのピクセルの平均値）が低いときには強いカーネルエフェクトを、そして値が高い場合には弱いカーネルエフェクトを、必要に応じて使用され得る。ピクセルの値に基づいたエフェクトの強度を変更する例は、以下の方程式（１１）によって与えられる。
【００７５】
【数２】
2010525470.tif 000005
【００７６】
上記方程式（１１）においては、ｐｉｘｅｌ＿ｖａｌが高い場合、最終結果（final  result）はコンボリューション結果に近いものとなる。ｐｉｘｅｌ＿ｖａｌが低い場合、最終結果はコンボリューション前の元のピクセルの値に近いものとなる。
【００７７】
画像特性に基づくカーネルエフェクトの調整の別の局面は、カーネルがより強い強度あるいはより弱い強度にて適用されるべき画像エリアを特定することである。このように、エフェクトの強度に従って、カーネルマトリックスを信号マトリックスに付加することが決定される。求められるエフェクトは画像コントラストであって、カーネルは、画像コントラストが最も求められている画像エリアに最大のエフェクトが生じるように、適用され得る。代替的に、弱い画像コントラストが求められている、あるいは画像コントラストが求められていないエリアでは、カーネルは全く適用されないかカーネルを適用することによるエフェクトが画像コントラストを低めるように修正される。ある実施の形態においては、カーネルを適用することによるエフェクトは、最小のエフェクトと最大のエフェクトとの間のスムーズな過渡事象を達成するために修正される。ある実施の形態においては、エフェクトの調整が求められていないときに適用されるデフォルトのカーネルが準備される。当該調整は、デフォルトのカーネルによるエフェクトの強度を高めたり、あるいはデフォルトのカーネルによるエフェクトの強度を低めたりする。追加的な実施の形態においては、使用されるカーネルはノイズを減らす目的のためのローパスフィルタであって、同様のメトリックがカーネルを適用すべき場所とカーネルの強さとを決定するために使用される。
局所的な画像特性に基づくカーネルエフェクトの調整に係るアーキテクチャの概要
図７は、コンボリューションブロック２０６におけるカーネル更新ロジック７０４が、現在処理されているピクセルの位置の画像特性に基づいて計算されるメトリックに基づいてカーネルを修正する、システム７００のブロック図を示す。メトリック自体は、ここで「γ」として参照される値に到達するために修正され得る。システム７００においては、カーネルは、まず、γの更新に先立って、αおよびβの更新に基づいて更新される。しかしながら、γの更新にαあるいはβの更新を利用しなくともよい。さらに、本実施の形態においては、γの更新はαおよびβの更新の後で行なわれる。しかしながら、カーネルの更新の順序は変更可能である。本明細書の他の部分で説明されるように、カーネル自体はカーネルを適用することによるエフェクトを調整するために修正される必要はない。ある実施の形態においては、スケーリングは、カーネルに基づいた処理のエフェクトを調整するために、修正されていないカーネルを用いて画像を処理した後に実行される。
【００７８】
コンボリューションブロック２０６のメトリック計算ロジック７０２は、現在処理されて入力ピクセルおよび当該ピクセルに隣接するピクセルの解析に基づいてメトリックを計算する。メトリック計算ロジック７０２は、各ピクセルに対して現在の画像ウインドウ（画像のうちのコンボリューションカーネルがかけられたセクション）をチェックして、現在のピクセルに対して求められている処理の量に関するメトリックを決定する。そして、コンボリューションカーネルは、メトリックに基づいてカーネル更新ロジック７０４によって更新される。最後に、更新されたカーネルが画像データに適用される。
【００７９】
メトリックによってγが決められると、必然的に、カーネルを更新するための方法は、カーネルに対するαあるいはβの更新のために利用される方法に似通ったものとなり得る。たとえば、論理的な観点からは、処理の強度を低めることが求められている場合、あるいはさらに強力なカーネルによって処理の強度を高めることが求められている場合、更新されたカーネルは元のカーネルとデルタカーネルとの線形的な組み合わせから生成され得る。再度図３を参照して、αはカーネルを更新するためにγに取り換えられ得る。このように、γは、カーネルの線形的な組み合わせのカーネル係数に影響を提供する。コンボリューションが、γとαおよび／あるいはβとによって更新されたカーネルを用いて実行される場合、非線形なコンボリューションが生じることになる。つまり、コンボリューションは、カーネルが、ピクセル毎に複数の条件に依存して変化するように実行される。ここに記載されているように、ポストデコンボリューションスケーリングは、更新されたカーネルを用いたデコンボリューションの結果に達するために使用され得る。
局所的な画像特性に基づくカーネルエフェクトの調整に係る機能的な概要
上述したように、本実施の形態においては、処理の強さは、現在処理されているピクセルの周囲の局所的な特性に基づいて調整される。まず、現在のピクセルの周囲のエリアは、エッジがあるか否か、当該ピクセルの周囲の領域が比較的フラット、すなわち均一、（空白の灰色の壁のように）当該領域内の情報に変化がないなど、であるか否かといった情報を決定するために調べられる。方程式（１１）は、メトリックを計算するための１つの技術を示すものである。
【００８０】
【数３】
2010525470.tif 000006
【００８１】
方程式（１２）においては、ＢjとＮはウインドウの内側のピクセルである。
メトリックの決定の例
以下では、メトリックを計算するための方法のいくつかの例を示す。メトリックは、出力値を計算するための中心ピクセルの周囲の現在の画像ウインドウを利用することによって計算され得る。しかしながら、現在の画像ウインドウの全体における（処理されている色に関する）すべてのピクセルが使用される必要はない。さらに、メトリックは、現在の画像ウインドウの外側にあるピクセルに基づくものであってもよい。さらに、メトリックは、同じ色のピクセルのみに基づいて決定される必要はない。つまり、処理のタイプとし、メトリックの計算において異なる色のピクセルを含むことが好ましい場合もあり得る。分散／標準偏差の例
ある実施の形態においては、現在の画像ウインドウのピクセルの分散あるいは標準偏差が、中心ピクセルの周囲の現在の画像ウインドウにおける差の存在や差の程度を示すものとして利用される。標準偏差が使用される場合には、方程式（１３Ａ）あるいは（１３Ｂ）が使用され得る。
【００８２】
【数４】
2010525470.tif 000007
【００８３】
方程式１３Ａおよび１３Ｂにおいて、ｘiは現在の画像ウインドウのピクセルであって、「ｎ」は現在の画像ウインドウのピクセルの数である。上述したように、ある実施の形態においては、現在の画像ウインドウのピクセルはすべて同じ色である。平均値は方程式（１４）に示されるように決定され得る。
【００８４】
【数５】
2010525470.tif 000008
【００８５】
しかしながら、ある実施の形態においては、すべてのピクセルが平均の計算に使用される必要はない。さらに、ある実施の形態においては、単純な平均の代わりに、加重平均が使用され、その場合には平均の計算に利用されるピクセルが中心ピクセルに対する相対的な空間的位置に従ってあるいは他の重み付けスキームに従って重み付けされる。当該重みは、均一のエリアの平均値が同じ値に保たれるように１に正規化される。加重平均は、以下の方程式（ここではＷｉは重みである。）によって例示される。
【００８６】
【数６】
2010525470.tif 000009
【００８７】
ｘiが無作為の変数と見なされる場合、標準偏差における偏りのない推定量および偏りのある推定量が存在する。次に、ある実施の形態においては、２つの値、すなわち、が現在の画像ウインドウのｗｉｎ＿ｓｔｄの最大値と現在の画像ウインドウのｗｉｎ＿ｓｔｄの最小値、が計算される。これらの値は、方程式（１６ａ）および（１６ｂ）に従って計算される。
【００８８】
【数７】
2010525470.tif 000010
【００８９】
方程式（１６ａ）および（１６ｂ）においては、「ｎ」は現在の画像ウインドウのピクセルの数である。これらの最小値および最大値は、標準偏差を上と下から制限する。このように、現在の画像ウインドウに関する標準偏差のダイナミックレンジは、方程式（１６）のように定義され得る。
【００９０】
【数８】
2010525470.tif 000011
【００９１】
カーネルは、図１１に示される方程式に従って更新され得る。図１１に示されるカーネルの更新は、ここで示されるように、γによるポストデコンボリューションのスケーリングによって実現され得る。つまり、信号マトリックスは、修正されていないカーネルマトリックスによってコンボリューションされ、そして、コンボリューション結果と元のピクセル値との合計がγに基づいて測定される。
【００９２】
さらに、ｄｙｎ＿ｒａｎｇｅ＝０のときは、中心ピクセルに隣接するすべてのピクセルが同じになる。そのため、中心ピクセルが現在の画像ウインドウ（すなわち、ｗｉｎ＿ｓｔｄ＝０）の残りのピクセルと同じ値を有するか、中心ピクセルが残りのピクセルと異なる値を有するかによって、デルタカーネルが中心ピクセルに適用される。ただし、上記のいずれの場合においても、処理が実行されなくてもよい。１つ目のケースは、現在の画像ウインドウが「フラットエリア」（たとえば、壁、青い空など）であることを示し、画像コントラストの強調は要求されない。２つ目のケースは、パターンが検出されなかったことからノイズを原因とするものであり、画像コントラストの強調が要求されない。さらに、図１１の方程式においては、インプットカーネルとデルタカーネルに掛ける２つの係数の合計が１となる。
【００９３】
現在の画像ウインドウが「フラット」あるいは略「フラット」である場合、あるいはノイズが存在する領域ではあるが比較的低いノイズ標準偏差を有する場合も、標準偏差は低い値となるであろう。そのため、図１１のインプットカーネルに掛ける係数は０に近くなり、デルタカーネルに掛ける係数は１に近くなるであろう。したがって、画像領域の詳細にはほとんど基づかずに当該画像領域のために要求されるように、ほとんどの処理が発生しないであろう。
【００９４】
しかしながら、現在の画像ウインドウが明るいエリアと暗いエリアとの間のエッジを含む場合、標準偏差は大きくなる（たとえば、取り得る最大値に近い値となる。）。このように、図１１のインプットカーネルに掛ける係数は１に近い値となり、デルタカーネルに
掛ける係数は０に近い値となるであろう。このことは、最終的なカーネルが、画像をシャープにしたり、失われたコントラストを修復したりすることを意味する。標準偏差のダイナミックレンジはすべてのピクセルに対して設定されるので、シーンからシーンへと変化し得るしきい値への依存がない。
【００９５】
しかしながら、ウインドウ内の最小値および最大値を計算したり、局所的なダイナミックレンジを使用したりすることは要求されない。ある実施の形態においては、固定のダイナミックレンジは、標準偏差を［０  １］のダイナミックレンジ内へと正規化するために使用される。たとえば、０から１０２３（ピクセル毎に１０ビット）のピクセル値に対しては、標準偏差が０から５１２の値を取り得る。このようにして、ダイナミックレンジを当該レンジへと固定することができる。
【００９６】
代替的に、より洗練された方法によってカーネルを変更するために、より複雑な機能を標準偏差メトリックに適用することができる。たとえば、標準偏差のダイナミックレンジが複数のセクションに分割され、その各々において、セクション間の推移が連続的であり要求されたエフェクトを達成する形式で異なる機能が適用される。たとえば、ある実施の形態に従って、図１５に示されるグラフ１５００は、メトリックに対するγのカーブを示す。図１５を参照して、２つのしきい値（「ｌｏｗ＿ｔｈ」と「ｈｉｇｈ＿ｔｈ」）が定義される。メトリックが低い（たとえば、「ｌｏｗ＿ｔｈ」より低い）場合、現在の画像ウインドウにはエッジ情報がない（あるいは非常に小さなエッジ情報がある）。そのため、γの値は低く保たれる。メトリックが「ｌｏｗ＿ｔｈ」と「ｈｉｇｈ＿ｔｈ」の間である場合、γには高い値が割当てられる。このレンジはエッジが存在することを示すものであるが、このレンジは上限「ｈｉｇｈ＿ｔｈ」を有する。図１５の例においては、γの値が「ｌｏｗ＿ｔｈ」より高く、１に達するまで、「ｌｏｗ＿ｔｈ」と「ｈｉｇｈ＿ｔｈ」との間のある値まで増加させられる。しかしながら、メトリックが高い（たとえば、「ｈｉｇｈ＿ｔｈ」より高い）場合、γの値は、１の値から「ｈｉｇｈ＿ｔｈ」に達するまで徐々に減らされる。このγの減少は、既に十分にシャープであるオーバーシャープニングエッジの可能性を低減させる。各メトリック値に従って、γパラメータは０から１の間で計算される。この機能はメトリックの全範囲にわたって連続する。γ値はカーネルに掛けられ、（１−γ）が、αおよびβの更新が実行されると同様に、クロネッカーのデルタのカーネル（あるいは、代替的に、要求されるエフェクトに従って、より強力なカーネル）に掛けられる。
【００９７】
段階的にその存在を識別するためのメトリックとして、標準偏差を使用することの代わりに、以下の式に従って分散が利用され得る。
【００９８】
【数９】
2010525470.tif 000012
【００９９】
方程式（１７）においては、標準偏差の数式と同様のことが説明される。したがって、この代替案においては、最大値および最小値が好ましいダイナミックレンジを生成するために決定される（あるいは、上述したように、固定のダイナミックレンジを使用することも可能である。）。ここでも、上述したように、図１１の数式がカーネルを更新するために使用され、あるいは、より複雑な機能が使用され得る。
【０１００】
段階的にその存在を識別するためのメトリックとして、標準偏差を使用することのさらなる代替案として、方程式（１８）に従って差の絶対値が使用され得る。
【０１０１】
【数１０】
2010525470.tif 000013
【０１０２】
ここでも標準偏差の数式と同様のことが説明がされる。したがって、この代替案においても、最大値および最小値が好ましいダイナミックレンジを生成するために決定される。ここでも、上述したように、図１１の数式がカーネルを更新するために使用され、あるいはより複雑な機能が使用され得る。
ヒストグラムの例
標準偏差の方法と同様の方法は、現在の画像ウインドウのヒストグラムを計算し、当該ヒストグラムに基づいてカーネルの強度を決定することである。現在の画像ウインドウの局所的なヒストグラムは、最初にいくつかの瓶（bin）を定義することによって計算され得る。たとえば、この計算は方程式（１９）に従って行なわれる。
【０１０３】
【数１１】
2010525470.tif 000014
【０１０４】
代替的に、瓶の数は予め定められた数字であり得る。たとえば、１０２４個の瓶が１０ビット画像のための強度レベルの個数に対応するように使用され得る。そして、たとえば、瓶自体は、方程式（２０）に示されるように、♯瓶によって画像ウインドウのダイナミックレンジを分割することによって、定義される。
【０１０５】
【数１２】
2010525470.tif 000015
【０１０６】
この例においては、各々が１ピクセルの幅を持った♯瓶、瓶が存在するであろう。ダイナミックレンジを、各々が数ピクセルの幅を持ったより広い瓶へと分割することも可能である。瓶が定義されると、各瓶は、当該瓶の範囲に属する画像ウインドウのピクセル値の数によって満たされる。図９Ａは、画像ウインドウのためのデータを示し、図９Ｂは、当該データのヒストグラムを示す。
【０１０７】
ある実施の形態においては、現在の画像ウインドウのヒストグラムが知られると、当該ヒストグラムが単峰性のヒストグラムに如何に近いか、および当該ヒストグラムが双峰性のヒストグラムに如何に近いかが決定される。単峰性のヒストグラムは、均一なヒストグラムとしても参照され得る。ある実施の形態においては、多峰性のヒストグラムは、双峰性およびより高い次元のヒストグラムを含む。
【０１０８】
ヒストグラムの形状が多峰性のヒストグラムに近づけば近づくほど、現在の画像ウインドウ内のエッジの存在のためのインジケーションが強くなる。エッジを有するウインドウに適用されるデコンボリューションカーネルのエフェクトを向上させることが要求され得る。たとえば、画像コントラストの向上が望まれる。代替的に、カーネルがローパスの周波数応答を有する場合、画像のエッジがぼけないようにエフェクトの強度を低めることが望まれる。
【０１０９】
ヒストグラムが双峰性のヒストグラムに近づけば近づくほど、画像ウインドウがより「フラット」になる（すなわち、より均一になる）。そのため、デコンボリューションカーネルをそれらのエフェクトが最小となるように修正することが望まれる。たとえば、このケースにおいては、画像コントラストを強調しないことが望まれてもよい。ノイズがある画像ウインドウは、単一のあるいは単峰性のヒストグラムを生成することができる。図１０Ａは、単峰性のヒストグラムを示し、図１０Ｂは、異なるグリーンの画像ウインドウの双峰性のヒストグラムを示す。これらのヒストグラムは、分散される１０２４の瓶（１０ビットのベイヤー画像の強度値の♯）と４１の値（９×９のグリーンカーネルのためのグリーン画像ウインドウにおける値の♯）とを利用することによって生成される。
【０１１０】
このように、ある実施の形態においては、ヒストグラムは分布が単峰性であるか多峰性であるかを決定するために分析される。単峰性のヒストグラムを多峰性のヒストグラムから区別する１つの技術は、２つあるいはさらに多いクラスタが存在することを検出するために利用されるクラスタリングアルゴリズム（たとえば、ｋ−ｍｅａｎｓ）を利用することである。さらに、メトリックは、クラスタの塊の中心の間の距離に基づくことができる。この距離は、カーネルのゲインが更新される際に用いられるメトリックを得るためにダイナミックレンジによって正規化される。
【０１１１】
双峰性と単峰性のヒストグラムを区別する別の技術は、ヒストグラムを滑らかにし、そしてヒストグラムの極大を探すことに基づく。極大が１つだけ存在する場合、ヒストグラムは単峰性である。しかしながら、２つの極大が発見された場合、２つの極大点の間のレンジはメトリックを導き出すために使用される。たとえば、そのレンジが小さい場合、カーネルは小さなゲインを得るように調整され得る。一方、そのレンジが大きい場合、カーネルは高いゲインを得るように調整され得る。これらの調整は、当該レンジが大きいとき、カーネルに最大の画像コントラストの強調をさせることが望まれ得る。３つあるいはさらに多くの極大が発見された場合、メトリックは極大間のレンジにも基づく。
【０１１２】
上述した標準偏差の技術とヒストグラムの形状との間には関連があり得る。高い標準偏差を有するピクセルの現在のウインドウのマトリックスは、ピクセル値が平均値からかけ離れた２またはさらに多くのピークを有するヒストグラムの形状を有し得る。一方、低い標準偏差を有するピクセルの現在のウインドウのマトリックスは、１つのピークを持つヒストグラムを有し、そのほとんどはピクセルの値は平均値に近いものである。
エッジ検出の例
ある実施の形態においては、メトリックの決定は、画像内のエッジの検出に基づく。たとえば、コンボリューションマスクは、現在の画像ウインドウ内のエッジを見つけるために使用され得る。使用され得るコンボリューションマスクの例は、以下のものに限定されるわけではないが、Sobel、Laplacian、Prewitt、Robertsを含む。ある実施の形態においては、エッジ検出マスクはエッジを検出するために現在の画像ウインドウに適用される。ウインドウ内のピクセルの標準偏差のような、統計的な尺度が結果に適用される。そして、メトリックは標準偏差の結果に基づく。他の実施の形態においては、エッジ検出マスクは、エッジを検出するために画像ウインドウに適用される。エッジ検出の実施の形態においては、カーネルがエッジが発見されたか否かに基づいて適用される。
距離の例
情報メトリックは、「距離」の方法に基づいても計算され得る。情報メトリックを計算するための方法２３００は、図２３に示される。この方法は、ピクセル間の絶対的な開きを合計する、ステップ２３０４から始まる。近い距離は、現在の画像ウインドウ内の中心ピクセルの周囲にあるピクセルから計算される。遠い距離は、同様の画像ウインドウ内の中心ピクセルから空間的な距離にあるピクセルから計算される。この情報メトリック２３１２は、近い距離のみから計算され、一方、メトリック２３１６は近い距離および遠い距離の両方から計算される。ステップ２３２０において、方法２３００は、２つの情報メト
リックの値に従って決定される重みを用いて両方の情報メトリックの加重平均を計算し、未だ測定されていない最終の情報メトリックを算出する。ステップ２３２４において、当該最終の情報メトリックは、現在の画像内の空間的な位置に従って測定され、その後、当該測定された情報メトリックは、図２０においてより詳細に説明される処理２４００に与えられる。
【０１１３】
ある実施の形態においては、さまざまな距離メトリックを計算することは、以下の方法に基づいて実行される。すなわち、画像ウインドウはピクセルはクラスタに分割される。距離メトリックは、クラスタ毎に、クラスタ内のピクセル間の開きを示す絶対値の重み付けされた合計を用いることによって、また中心クラスタ内のピクセル（中心ピクセルを直接取巻くピクセル）にマッチングすることによって計算される。方程式（２１）は、単一の３×３のクラスタのケースの例に関する距離メトリックの計算を示す。
【０１１４】
【数１３】
2010525470.tif 000016
【０１１５】
ここで、Ｗ［ｉ，ｊ］は設定可能な重みマトリックスであって、Ｃk［ｉ，ｊ］は３×３のＣkクラスタにおけるピクセル［ｉ，ｊ］の値であって、Ｃmid［ｉ，ｊ］は中心クラスタにおけるピクセル［ｉ，ｊ］の値である。
エッジ強調の実施の形態
エッジ検出マスク内の係数の合計は０であるため、元の画像ウインドウ内にエッジがあるとき、画像ウインドウの結果には、強い積極的および消極的な値を含むであろう。そのため、エッジを含む画像ウインドウは、高い標準偏差の値を有し、その結果高い処理メトリックを有することになる。一方、ウインドウが画像内に「フラット」で均一な領域のためのデータを有するとき、あるいはノイズを有するものの比較的低いノイズの標準偏差を有する領域のためのデータを有するとき、エッジフィルタ処理された画像は互いに近い（典型的には０に近い）ピクセル値を有するであろう。そのため、エッジフィルタ処理された画像は、低い標準偏差の値と低い処理メトリックとを有するであろう。ある実施の形態においては、最終の処理メトリックが０と１との間の値となるように、予め定められた固定のしきい値が、標準偏差を正規化するために使用される。メトリック計算は、方程式（２２）に示されるようにして決定され得る。
【０１１６】
【数１４】
2010525470.tif 000017
【０１１７】
カーネルは図３に示されるのと同様の方法で更新され得る。しかしながら、ｐ＿ｍｅｔｒｉｃがαに取って代わることになる。
【０１１８】
標準偏差の正規化は、低い値から高い値へと、処理メトリックの緩やかな変化をもたらし、このようにして連続的で滑らかな処理が実現され、出力画像に生じる副作用を排除する。
【０１１９】
テーブルＩＩは、グリーンベイヤー処理のためのベイヤー画像のためのエッジ検出の値
の例を示す。グリーンピクセルがＧｒ（レッド列におけるグリーン）とＧｂ（ブルー列におけるグリーン）とに分けられると、テーブルＩＩＩをすべてのピクセル（Ｇｒ、Ｒ、Ｂ、Ｇｂ）のために使用することができる。テーブルＩＩＩは、レッドあるいはブルーのベイヤー処理のためのエッジ検出マスクの値の例を示す。
【０１２０】
【表２】
2010525470.tif 000018
【０１２１】
非限定の例として、デモザイキングの後に画像上で実行される処理のためのエッジ検出マスクは、よく知られているSobel、Prewitt、Roberts、Laplacianマスクであり得る。
エッジ検出の実施の形態
エッジ検出の実施の形態においては、エッジ検出マスク（処理がベイヤーイメージ上で行なわれたときに、ベイヤーパターンに適合するもの）は、エッジを発見するために画像ウインドウ上に適用される。エッジが自然画像の中でどのように現われたかを示すパターンが存在するという仮定を考慮して、しきい値はエッジが存在するか否かを決定するために使用され得る。たとえば、他とは異なる単一のピクセルは、有効な画像データとは対照の無作為のノイズであり得る。エッジの検出とは対照に、ノイズを誤って検出する可能性を低減するために、付近のピクセルに関する結果に従ってしきい値が更新され得る。この方法の可能な実装形態について以下に説明する。
【０１２２】
まず、エッジ検出マスクは、現在の画像ウインドウに適用される。現在のしきい値よりも高い絶対値が存在するとき、絶対値が線あるいはその他のパターンを形成するか否かをチェックする。線あるいはその他のパターンの表示は、いくつかの付近のピクセルが高い絶対値を有することであり得る。線あるいはその他のパターンが発見されると、現在の画像ウインドウがエッジを有することが宣言される。しきい値を超える絶対値を有するピクセルがない場合、あるいは高い絶対値を有するピクセルが線あるいはその他のパターンを形成しない場合、現在の画像ウインドウは「フラット」（ノイズを含む可能性がある）なエリアを含むものと見なされる。
【０１２３】
そして、デコンボリューションカーネルは、エッジが発見されたか否かに従って現在の画像ウインドウに適用される。たとえば、エッジが発見された場合、強いデコンボリュー
ションカーネルが適用される。そうでない場合、弱いデコンボリューションカーネルがウインドウに適用され得る。さらに、デコンボリューションカーネルのゲインの設定は、エッジの「強さ」に従って行なわれ得る。たとえば、エッジが見つかった場合においては、画像ウインドウのピクセルの標準偏差は、エッジマスクが適用された後に計算される。そして、上述した標準偏差の方法と同様の方法において、カーネルのゲインは標準偏差のメトリックに基づく。
【０１２４】
エッジ検出の他の方法も採用され得る。たとえば、以下のものに限定されるものではないが、Roberts、Prewitt、Sobel、Cannyを含む他のエッジ検出マスクが、ウインドウ内にエッジがあるか否かを決定するために使用され得る。
エントロピに基づく例
ある実施の形態においては、画像ウインドウに適用されるべきカーネル（たとえば高いゲインあるいは低いゲインのデコンボリューションカーネル）の強度は、現在の画像ウインドウにおけるエントロピに基づく。高いエントロピは、現在の画像ウインドウに多くの情報が存在することを示すかもしれず、それゆえに、ウインドウに強いカーネルを適用することが望まれるかもしれない。「フラット」な画像ウインドウは、低いエントロピを有するかもしれず、それゆえに、当該ウインドウの処理メトリックに弱いカーネルを適用することが望まれるかもしれない。エントロピの計算は、方程式（２３）によって示されるようにして決定され得る。
【０１２５】
【数１５】
2010525470.tif 000019
【０１２６】
方程式（２３）においては、ｐiは現在の画像ウインドウにおけるピクセル値ｉの経験的確率である。たとえば、画像ウインドウが「フラット」である場合、エントロピは０であり、画像ウインドウがエッジ（異なる強度値を有するピクセル）を含む場合、エントロピは高い値を取るであろう。実際の処理メトリックは、方程式（２３）からのエントロピの値を正規化することによって決定され得る。
【０１２７】
しかしながら、エントロピはピクセル間の開きの大きさを考慮しないものであるため、高いエントロピの値は無作為なノイズから生じるかもしれない。それゆえに、ある実施の形態においては、画像のＳ／Ｎが、エントロピの技術を使うか否かを決定するために用いられる。
傾きに基づく例
ある実施の形態においては、エッジの存在は、現在処理されているウインドウ内の中心ピクセルの周囲のいくつかの局所的な傾きを計算することによって決定される。そして、メトリックは、傾きの大きさに従って、たとえば、傾きの大きさの加重平均に従って、計算される。傾きは以下の例に従って得られる。
【０１２８】
【表３】
2010525470.tif 000020
【０１２９】
テーブルＩＶによると、可能な傾きは｜１−１３｜、｜２−１２｜、｜３−１１｜、｜６−８｜、｜４−１０｜、｜５−９｜である。
【０１３０】
【表４】
2010525470.tif 000021
【０１３１】
テーブルＶによると、可能な傾きは、｜１−９｜、｜２−８｜、｜３−７｜、｜６−４｜である。
【０１３２】
テーブルＩＶは、ベイヤーイメージ内のグリーンのための５×５サポートのためのピクセルの位置を示し、テーブルＶは、ベイヤーイメージ内のレッドおよびブルーのための５×５サポートのためのピクセルの位置を示す。傾きの加重平均を計算する際、重みは、ある傾きに関するピクセル間の空間的距離から決定され得る。
【０１３３】
メトリックが計算されると、カーネル更新メカニズムは、上述したようなもののようになり得る。つまり、メトリックは、γを決定するために、可能なダイナミックレンジに従って正規化され得る。ある実施の形態においては、図１５で示された一例と同様に、ゲインファンクションを用いることによって正規化が行なわれる。そして、αとβの更新において利用されたように、デコンボリューションカーネルのゲインに影響を提供するためのここで開示された技術が、γの更新のために利用され得る。
【０１３４】
ある実施の形態においては、メトリックの生成のための方法は、上述した方法のいくつかを重み付けして組み合わせたものを含む。たとえば、最終メトリックは、標準偏差メトリックと傾きメトリックとの加重平均に基づくものであって、あるいは、２またはそれ以上のメトリックの他の組み合わせが最終メトリックの計算するために用いられる。
自然光の例
情報メトリックからγを決定するために同様のゲインファンクションを通常利用するよ
りも、現在の画像ウインドウにおける光の量（レベル）の局所的な推定値に依存することによって利用される、２つあるいはそれ以上の別々のゲインファンクションを有することも可能である。ある実施の形態においては、この推定値は、中心画素自体の値あるいはいくつかの近接するピクセルの加重平均であってもよい。例として方法２４００を図２４に示す。ここでは、正に２つのゲインファンクションが利用されるが、２つよりも多いゲインファンクションが利用されてもよく、図２４は単なる例に過ぎない。ステップ２４０４において、（図２３に関して説明したように）測定された情報メトリックは、２つのゲインファンクションＦｇ１とＦｇ２とに受け渡される。この例においては、ゲインファンクションＦｇ１は光の高いレベルに適合するものであって、ゲインファンクションＦｇ２は光の低いレベルに適合するものである。一方、ステップ２４０８において、現在処理されているピクセルの光のレベルが測定される。ステップＳ２４１２と２４１６において、第１および第２のゲインファンクションＦｇ１とＦｇ２とが、測定された情報メトリックに適用される。ステップ２４２０において、２つのゲインファンクションの出力は、ステップＳ２４０８において測定されたピクセルの光のレベルに従って重み付けされ、合計されることによって１つの統合されたメトリックが生成される。
ポストコンボリューションスケーリングによるカーネルエレクトの調整
α、β、γに基づく画像処理が、カーネルにγを掛け合わせることを含むということは要求されない。図２０は、α、β、γの「スケーリング」が、修正されていないカーネルのデコンボリューション結果に適用される形態を示す。この実施の形態においては、イメージャインターフェイス２０８は、ノイズレベルの推定量の信号とシェーディングインジケータとをスケーリング１６０２に提供し、スケーリング１６０２は、α計算ロジック２０２を用いることによって「α」を計算する。αの計算は、図２に示される形態と同様の方法によって実行され得る。この実施の形態においては、イメージャインターフェイス２０８は、シェーディングインジケータの信号とピクセルインデックスとをスケーリング１６０２に提供し、スケーリング１６０２はβ計算ロジック３０２を用いることによって「β」を計算する。βの計算は、図４にて示される形態と同様の方法によって実行される。この実施の形態においては、イメージャインターフェイス２０８は、現在のピクセルと当該ピクセルの近傍のピクセルの値とをスケーリング１６０２に提供し、スケーリング１６０２はγ計算ロジック７０２を用いることによって「γ」を計算する。γの計算は、ここに開示された技術に従って実行され得る。
【０１３５】
α／β／γスケーリング２０１２は、コンボリューション結果と、αと、βと、γと、現在処理されているピクセルの元の値とが入力され、現在のピクセルの最終結果を出力する。ある実施の形態においては、現在のピクセルは、信号マトリックスの中心ピクセルである。ある実施の形態においては、αスケーリング１６１２は、以下のような処理を行なう。
【０１３６】
【数１６】
2010525470.tif 000022
【０１３７】
方程式（２４）においては、ＣｏｎｖＲｓはコンボリューション結果であり、Ｉｎｐｕｔｐｉｘｅｌは現在処理されているピクセルの元の値である。このように、現在のピクセルに対する最終的な処理結果は、修正されていないカーネルと１あるいはそれ以上の他の値とを用いることによって、コンボリューションの結果の重み付けされた合計となる。これらの他の値は、以下のものに限定されるものではないが、入力画像の元のピクセル値を含む。この実施の形態においては、α、β、γのパラメータは、重み付け（あるいはスケーリング）パラメータとして使用される。α、β、γのパラメータの如何なる組み合わせも使用可能である。
６．０  実施の形態に従うモーションブラーを取扱うためのカーネルエフェクトの調整
６．１  モーションブラーの補正の概要
モーションブラーは、画像を取得する際のカメラの動きによって生じ得る画像のブレである。モーションブラーは、長い露出時間（たとえば、光量が少ない状況）で画像を取得するときによく生じる。しばしば、モーションブラーは、方向性のあるＰＳＦによって特徴付けられ得る。たとえば、水平な線は、カメラの水平の動きによって生じるブレを意味する。
【０１３８】
モーションブラーの補償は、一般的に、モーションブラーの決定と、決定されたモーションブラーの補正とを含む。モーションブラーの決定は、モーションベクトルによって特定される、動きの方向、量、特徴の決定を含む。モーションベクトルは、ジャイロスコープによって測定され、イメージそのものやイメージのセットに基づいて推定され、あるいはその他の方法によって導き出され得る。デコンボリューションカーネルは、決定されたモーションブラーを補正するために画像に適用され得る。
【０１３９】
さまざまな画像処理アルゴリズムは、ここでは、ある空間的な画像処理カーネルを適用することのエフェクトが、Ｓ／Ｎ、レンズシェーディングプロファイル、ピクセルの位置に依存する光学的ブレ、現在処理されているピクセルの位置における画像の特性、といったようなさまざまな要因に従って調整され得るものとして記載される。ある実施の形態においては、モーションブラーは、上述したような空間的な画像処理カーネルが適用される同様のＩＰブロックにおいても補正され得る。ここでは、空間的な画像処理カーネルが、「レンズＰＳＦ」を補正するためのカーネルとして参照され得る。このように、モーションブラーは、レンズＰＳＦブラーとともに、同時に補正され得る。モーションブラーとレンズＰＳＦブラーとは、画像にコンボリューションされるＰＳＦとして作られ得るので、組み合わされたブレは、モーションブラーＰＳＦとレンズＰＳＦの両者をコンボリューションすることによって作られ得る。このように、ある実施の形態においては、デコンボリューションカーネルは、組み合わせされたモーションブラーＰＳＦとレンズＰＳＦとに適合するように調整され得る。
【０１４０】
利用の際には、モーションベクトルは、画像の単一のフレームあるいは一連のフレームから導き出すことができる。非限定の例として、ジャイロスコープがモーションベクトルの決定に利用され得る。ある実施の形態においては、モーションブラーＰＳＦは、動きの方向（あるいはいくつかの方向）に従って、モーションベクトルから推定される。実施の形態においては、デコンボリューション逆カーネルがモーションブラーＰＳＦから計算される。
【０１４１】
しかしながら、モーションベクトルからモーションブラーＰＳＦを推定することは、要求されない。むしろ、モーションベクトル自身からの情報は、モーションブラーＰＳＦを推定することなくモーションブラーを補正するのに十分であるかもしれない。代替的に、モーションブラー情報は、既に（モーションブラー）ＰＳＦの形式によって与えられているかもしれず、その場合には、モーションベクトルはモーションブラーＰＳＦを推定するために必ずしも必要なものではない。
【０１４２】
実施の形態においては、デコンボリューション逆カーネルは、モーションブラーＰＳＦあるいはモーションベクトルから決定される。デコンボリューション逆カーネルは、ブレの方向と形状とに適合するものであって、画像をシャープにすることが意図されている。ある実施の形態においては、デコンボリューションカーネルは、モーションブラーＰＳＦの取り得る方向に適合するカーネルのセットから選択され得る。これらのデコンボリューションカーネルは、メモリに保持され、モーションブラーが発生する多数の可能性から構成される。ある実施の形態においては、選択されたカーネルは、モーションベクトルの方
向におけるレンズＰＳＦとモーションブラーＰＳＦとのコンボリューションであるＰＳＦに適合する。カーネルの選択は、マッチングアルゴリズムを用いることによってなされ得る。
【０１４３】
デコンボリューションカーネルが、計算によってあるいは選択によって決定されると、上記セクションにて説明したように、Ｓ／Ｎ、ピクセルの位置、レンズシェーディングプロファイル、画像特性とに従うデコンボリューションカーネルの調整を考慮しながら、デコンボリューションカーネルで画像をコンボリューションすることによって、当該画像が処理され得る。
【０１４４】
デコンボリューションカーネルは、ブレ以外の他の光学的収差を取扱うことができ、カーネルは望まれる周波数応答を有し得る。ある実施の形態においては、モーションブラーの補正は、ここで説明されるように、シリコンサイズの増加なくして、シャープニングブロック１１４に統合され得る。たとえば、シャープニングアルゴリズムを実現するために使用されるハードウェアは、モーションブラーの補正のために使用される。このように、ここに示される技術は、２つの異なるＩＳＰブロックで別々にモーションブラーとＰＳＦブラーとを取扱う場合と比較して、リソース（たとえばシリコンサイズ／ゲートカウント、プロセッサのサイクル、電力消費、処理の複雑さ）に関して比較的費用対エフェクトがよい。
６．２  ブレ点拡がり関数の実施の形態
モーションブラーの補正を実現するための１つの方法は、モーションブラーの特性を評価し、プレビューモード中にデコンボリューションカーネル（「モーションブラーカーネル」）に適合することである。この方法は、図１７に示される実施の形態において説明される。この方法は、プレビューモード中にフレーム同士を比較することによって、モーションブラーを特定する。そして、キャプチャモードに移行したときに、モーションブラーカーネルとその他のカーネルとが画像に適用される。その他のカーネルは、シャープニングのために用いられ得る。ここに示されるように、さまざまな実施の形態においては、α、βおよび／あるいはγのパラメータが、他のカーネルによる処理のエフェクトの強さを修正するために使用される。
【０１４５】
次に、プレビューモードＩＳＰ１７１０を参照して、ブロック１７２５において、ブラーリングＰＳＦ１７２１がモーションブラーを含む画像１７２２に基づいて評価される。ブラーリングＰＳＦ１７２１の評価は、この技術の当業者によって知られている技術を用いることによって取得した画像１７２２を分析することによって取得され得る。取得した画像１７２２を分析することによってブラーリングＰＳＦ１７２１を評価するための１つの技術は、モーションベクトルをカメラに提供するジャイロスコープを使用することを含む。他の技術は、ぶれの方向を発見するために相関関係を用いること、いくつかの連続したフレームを比較すること、比較に基づいて動きの方向を導き出すことを含む。ブラーリングＰＳＦ１７２１に基づいて、モーションブラーデコンボリューションカーネルがブロック１７２８において生成される。
【０１４６】
次に、キャプチャモードＩＰチェーン１７２０を参照して、モーションブラーカーネルは、画像上での他のカーネル処理を実行するロジックへと提供される。ある実施の形態においては、当該他のロジックはデジタルオートフォーカスブロック１１１である。コンボリューションの操作は関連している（すなわち、ａ＊（ｂ＊ｉｍａｇｅ）＝（ａ＊ｂ）＊ｉｍａｇｅ）ので、シャープニングからのコンボリューションカーネルとモーションブラーカーネルとが、画像に適用される１つのカーネルへと結合され得る。シャープニングが有効とはなっていないがデジタルオートフォーカスブロック１１１がＩＰチェーン１７２０によって実現されている場合、デジタルオートフォーカスブロック１１１が単体でモーションブラーデコンボリューションのために使用され得る。
６．３  モーションシフトベクトルの実施の形態
ＩＰチェーンのデジタルオートフォーカスブロック１１１は、プレビューモードあるいはビデオストリーミング中に、揺れている画像の問題に対処するために使用され得る。プレビューモードあるいはビデオストリーミングにおいて、空間的なオフセットが、ディスプレイにおける「揺れ」画像を引起す連続したフレーム間に現われ得る。この問題を取扱うための１つの方法は、最終フレームから推定されたモーションベクトルと反対の方向に予め定められた量だけ画像をシフトさせることである。モーションベクトルが推定されると、当該シフトは、要求された方向への空間的なシフトを引起すカーネルを用いて画像をコンボリューションすることによって、デジタルオートフォーカスブロック１１１内で実行され得る。
【０１４７】
図１８は、実施の形態に従うモーションシフトの補正を示す。各画像１８０２ａ−ｃのフレーム１８０１は、「閲覧」画像を含む。フレームは、３つの画像１８０２ａ−ｃにおいて、描写されている家屋に対して移動している。モーションベクトル評価ロジック１８１０は、ブロック１８２０において、現在のフレーム（ｎ）と先のフレーム（ｎ−１）からのパラメータとに基づいてモーションベクトルを推定する。たとえば、各フレームのいくつかの位置から特徴が抽出される。そして、モーションベクトルを計算するために、現在のフレーム内の特徴位置が、１または複数の先のフレーム内の特徴位置と比較される。特徴の例としては、以下のものに限定されるものではないが、フレームからフレームへと追従され得るシーン内のエッジあるいは他の特有の指標を含む。
【０１４８】
推定されたモーションベクトルに基づいて、シフトカーネルはブロック１８３０で計算される。モーションベクトルに由来するシフトカーネルを計算するための技術は、既に計算されているモーションベクトルに従ってシフトされたクロネッカーのデルタのカーネルを使用することを含む。シフトカーネルは、プレビュー／ビデオモードＩＳＰ１８５０においてデジタルオートフォーカスブロック１１１に提供され、フレーム（ｎ）はシフトカーネルと他のカーネルとに基づいて処理される。他のカーネルはシャープニングのために使用され得る。ここで示されるように、さまざまな実施の形態において、α、βおよび／あるいはγのパラメータが、その他のカーネルによる処理のエフェクトの強さを修正するために使用される。
シャープニングとモーションブラーカーネルとの組み合わせ
ここで示されるように、シャープニングアルゴリズムは、処理系依存であり得るカーネルのためのあるサポートサイズを使用し得る。たとえば、カーネルは９×９のピクセルサポートを提供する。しかしながら、シャープニングアルゴリズムに沿ったアンチモーションブラーを用いることは、必ずしもカーネルサイズを増加すべきものではない。通常、２つのカーネルをコンボリューションするときにおいて、１つがＭ×Ｍのサイズであって、もう１つがＮ×Ｎのサイズである場合、それらのコンボリューションは（Ｍ＋Ｎ−１）×（Ｍ＋Ｎ−１）となる。カーネルサイズを維持するために、シャープニングカーネルの形状をより似通ったものに変更することや、モーションブラーカーネルを補完することが可能である。また、モーションデブラーリングカーネルは、非対称の形状を有し得る。たとえば、デブラーカーネルは、長方形、対角線、さらに円形のサポートでさえも含み得るが、必ずしも正方形のサポートを含むものではない。この非対称は、（線のような）「シンプルな」シェーキングパスだけでなく、（交差した、Ｔ字の、あるいは円形のパスのような）より複雑なパスをも補償することができる。
８．０  ハードウェア概要
８．１  モバイルデバイスの例
図１３は、本発明の実施の形態が実現されるモバイルデバイス１３００の例のブロック図を示す。モバイルデバイス１３００は、カメラアセンブリ１３０２と、カメラおよびグラフィックインターフェイス１３８０と、通信回路１３９０とを含む。カメラアセンブリ１３７０は、カメラレンズ１３３６と、画像センサ１３７２と画像プロセッサ１３７４と
を含む。単一のあるいは複数のレンズを含むカメラレンズ１３３６は、画像センサ１３７２への光を集めたり焦点を合わせたりする。画像センサ１３７２は、カメラレンズ１３３６によって集められたおよび焦点を合わせられた光によって形成される画像を取得する。画像センサ１３７２は、ＣＣＤ（charge-coupled  device）あるいはＣＭＯＳ（complementary  metal  oxide  semiconductor）画像センサのような、通常の画像センサ１３７２であり得る。画像プロセッサ１３７４は、引続きメモリ１３９６に記憶するため、ディスプレイ１３２６に出力するため、および／あるいは通信回路１３９０を介して送信するために、画像センサ１３７２によって取得される未処理の画像データに対して処理を施す。画像プロセッサ１３７４は、この技術分野においてよく知られている、画像データを処理するためにプログラムされた通常のデジタル信号プロセッサであり得る。
【０１４９】
画像プロセッサ１３７４は、カメラおよびグラフィックインターフェイス１３８０を介して通信回路１３９０と接続される。通信回路１３９０は、アンテナ１３９２と、トランシーバ１３９４と、メモリ１３９６と、マイクロプロセッサ１３９２と、入力／出力回路１３９２と、音声処理回路１３９２と、ユーザインターフェイス１３９７とを含む。トランシーバ１３９４は、信号を受信したり送信したりするためにアンテナ１３９２に接続される。トランシーバ１３９４は、完全に機能的なセルラー式のラジオトランシーバであって、ＧＳＭ（Global  System  for  Mobile  Communications）や、ＴＩＡ／ＩＥＡ−１３６や、ｃｄｍａＯｎｅや、ｃｄｍａ２０００や、ＵＭＤＳや、Wideband  ＣＤＭＡなどのように、一般的に知られている規格を含む公知の規格に従って動作し得る。
【０１５０】
画像プロセッサ１３７４は、ここに示される１または複数の実施の形態を用いることによって、センサ１３７２によって取得される画像に処理を施し得る。画像プロセッサ１３７４は、ハードウェアや、ソフトウェアや、あるいはソフトウェアとハードウェアとの組み合わせによって実現され得る。たとえば、画像プロセッサ１３７４は、ＡＳＩＣ（application  specific  integrated  circuit）の一部として実現され得る。他の例としては、画像プロセッサ１３７４は、本発明の１または複数の実施の形態を実現するために、コンピュータ読取可能な媒体に記録された指令にアクセスし、プロセッサにおいて当該指令を実行することが可能である。
【０１５１】
マイクロプロセッサ１３９２は、メモリ１３９６に記録されたプログラムに従って、トランシーバ１３９４を含むモバイルデバイス１３００の動作をコントロールする。マイクロプロセッサ１３９２は、ここに示される画像処理形態の一部あるいは全部をさらに実行し得る。処理機能は、単一のマイクロプロセッサあるいは複数のマイクロプロセッサによって実現され得る。たとえば、好ましいマイクロプロセッサは、一般の目的および特別の目的のためのプロセッサとデジタル信号プロセッサとの両者を含み得る。メモリ１３９６は、モバイルコミュニケーションデバイス内のメモリの全体的な階層を示し、ＲＡＭ（random  access  memory）とＲＯＭ（read  only  memory）との両者を含み得る。操作のために要求されるコンピュータプログラムの指令やデータは、ＥＰＲＯＭ、ＥＥＰＲＯＭ、および／あるいはフラッシュメモリなどのような不揮発性メモリに記憶され、当該不揮発メモリは、個別素子として、あるいは積層素子として実現され、あるいはマイクロプロセッサ１３９２に統合され得る。
【０１５２】
入力／出力回路１３９４は、カメラおよびグラフィックインターフェイス１３８０を介して、マイクロプロセッサ１３９２とカメラアセンブリ１３７０の画像プロセッサ１３７４とを接続する。カメラおよびグラフィックインターフェイス１３８０は、この技術分野において知られている方法に従って、画像プロセッサ１３７４とユーザインターフェイス１３９７も接続する。加えて、入力／出力回路１３９４は、通信回路１３９０のマイクロプロセッサ１３９２と、トランシーバ１３９４と、音声処理回路１３９６と、ユーザインターフェイス１３９７とを接続する。ユーザインターフェイス１３９７は、ディスプレイ
１３２６と、スピーカ１３２８と、マイクロフォン１３３８と、キーパッド１３４０とを含む。ディスプレイセクションの背面に配置されるディスプレイ１３２６は、オペレータに、ダイヤルされた数字や、画像や、呼出されたステータスや、メニューの選択肢や、他のサービス情報を見せる。キーパッド１３４０は、英数字のキーパッドと、この技術分野においてよく知られているような（図示しない）ジョイスティックコントロールのような、ナビゲーションコントロールを選択的に含み得る。さらに、キーパッド１３４０は、パームトップコンピュータあるいはスマートフォンなどに使用されるような、完全なＱＷＥＲＴＹキーボードを含み得る。キーパッド１３４０は、オペレータに、数字をダイヤルさせたり、命令を入力させたり、選択肢を選択させたりする。
【０１５３】
マイクロフォン１３３８は、ユーザのスピーチを電気的な音声信号に変換する。音声処理回路１３９６は、マイクロフォン１３３８から入力されるアナログ音声入力を受付けて、これらの信号に処理を施し、処理された信号を入力／出力回路１３９４を介してトランシーバ１３９４に提供する。トランシーバ１３９４によって受信した音声信号は、音声処理回路１３９６によって処理される。音声処理回路１３９６によって処理されることによって生成された基本アナログ出力信号は、スピーカ１３２８に提供される。そして、スピーカ１３２８は、アナログ音声信号をユーザが聞き取ることができる音声信号へと変換する。
【０１５４】
この技術分野の当業者は、図１３において示される１または複数の要素が組み合わせ可能であることを理解するであろう。たとえば、カメラおよびグラフィックインターフェイス１３８０は、図１３においては別々の要素として示されているが、カメラおよびグラフィックインターフェイス１３８０が入力／出力回路１３９４に統合され得ることが理解されるであろう。さらに、マイクロプロセッサ１３９２、入力／出力回路１３９４、音声処理回路１３９６、画像プロセッサ１３７４、および／あるいはメモリ１３９６は、特別に設計されたＡＳＩＣ（application-specific  integrated  circuit）１３９１に統合され得る。
８．２  コンピュータシステムの例
図１４は、本発明の１または複数の実施の形態が実現されるコンピュータシステム１４００を示すブロック図である。コンピュータシステム１４００は、情報を通信するためのバス１４０２あるいは他の通信機構と、バス１４０２に接続される情報を処理するためのプロセッサ１４０４とを含む。コンピュータシステム１４００は、バス１４０２に接続され、プロセッサ１４０４によって実行される情報と指令とを記憶するための、ＲＡＭ（random  access  memory）や他の動的な記憶装置のような、メインメモリ１４０６をも含む。メインメモリ１４０６は、プロセッサによって実行されるべき指令が実行されている最中に、一時的な変数あるいは他の中間情報を記憶するためにも使用され得る。コンピュータシステム１４００は、バス１４０２に接続されるとともにプロセッサ１４０４のための静的な情報および指令を記憶するためのＲＯＭ（read  only  memory）１４０８あるいは他の静的な記憶装置をさらに含む。磁気ディスクあるいは光学ディスクのような記憶装置１４１０は、情報や指令を記憶するために、提供され、バス１４０２に接続される。
【０１５５】
コンピュータシステム１４００は、コンピュータのユーザに情報を表示するために、バス１４０２を介して、ＣＲＴ（cathode  ray  tube）のようなディスプレイ１４１２に接続され得る。入力装置１４１４は、英数字およびその他のキーを含み、情報や命令の選択をプロセッサ１４０４に伝達するためにバス１４０２に接続される。ユーザ入力装置の他のタイプは、プロセッサ１４０４に方向情報および命令の選択とを伝達するために、そしてディスプレイ１４１２上のカーソルの動きをコントロールするために、マウスや、トラックボールや、カーソル方向キーなどのようなカーソルコントロール１４１６である。典型的には、この入力装置は、第１の軸（たとえば、Ｘ）および第２の軸（たとえば、Ｙ）といった２つの軸の自由度を有し、これによって装置に平面上の位置を特定させる。コン
ピュータシステム１４００は、上述された実施の形態を使用することによって処理され得る、可聴式の音声や、静止画や、あるいは動画ビデオを提供するためのマイクロフォンあるいはカメラなどのような音声／ビデオ入力装置１４１５をさらに含み得る。
【０１５６】
ここで示されるさまざまな処理技術は、コンピュータシステム１４００上でデータを処理することによって実現され得る。本発明のある実施の形態に従うと、これらの技術は、メインメモリ１４０６に格納される１または複数の一連の１または複数の指令を実行するためのプロセッサ１４０４に応じて、コンピュータシステム１４００によって実行される。このような指令は、記憶装置１４１０のような、他の機械読取可能な媒体からメインメモリ１４０６へと読出され得る。メインメモリ１４０６に格納される一連の指令を実行することによって、プロセッサ１４０４はここに示される処理ステップを実行する。代替的な実施の形態においては、ハードウェア回路が、本発明を実現するために、ソフトウェアの指令の代わりに、あるいはソフトウェアの指令と組み合わされて使用され得る。このように、本発明の実施の形態は、ハードウェア回路とソフトウェアとの如何なる特定の組み合わせにも限定されるものではない。
【０１５７】
ここで使用される「機械読取可能な媒体」という文言は、機械を特定の方法で動作させるためのデータを提供することに寄与するいかなる媒体も含む。コンピュータシステム１４００を使用することによって実現される実施の形態においては、たとえば、プロセッサ１４０４が実行するための指令を提供するために、さまざまな機械読取可能な媒体が利用される。このような媒体は、以下のものに限定されるわけではないが、記録媒体や伝送媒体を含む多くの形式を取り得る。記録媒体は、不揮発性媒体と揮発性媒体とをともに含む。たとえば、不揮発性媒体は、記憶装置１４１０のように光学あるいは磁気ディスクを含む。揮発媒体は、メインメモリ１４０６のような動的なメモリを含む。伝送媒体は、バス１４０２を含む線を含む、同軸ケーブルや、導線や、光ファイバを含む。伝送媒体は、ラジオ波や赤外線データ通信中に生成されるような、音あるいは光の波の形式も取り得る。このようなすべての媒体は、指令を機械に読込む物理的な機構によって、媒体によって伝達される指令を検出可能にするために、有形でなければならない。
【０１５８】
たとえば、一般的な機械読取可能な媒体の形態は、フロッピーディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、あるいはその他の磁気媒体、ＣＤ−ＲＯＭ、その他の光学媒体、パンチカード、紙テープ、その他の穴のパターンが付された物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、その他のメモリチップあるいはカートリッジ、後述するような搬送波、あるいはその他のコンピュータ読取可能な他の媒体を含む。
【０１５９】
機械読取可能な媒体のさまざまな形式は、プロセッサ１４０４が実行するための１または複数の一連の１または複数の指令を搬送にかかわる。たとえば、指令はまずリモートコンピュータの磁気ディスクによって伝送され得る。リモートコンピュータは、指令をダイナミックメモリにロードし、モデムを利用することによって電話回線を介して指令を送信し得る。コンピュータシステム１４００にローカルなモデムは、電話回線上のデータを受信し、データを赤外線信号に変更するために赤外線送信機を利用し得る。赤外線検出器は、赤外線信号によって伝送される信号を受信し、そして、適切な電気回路がデータをバス１４０２へと送り出し得る。バス１４０２は、プロセッサ１４０４がそこから指令を取得したり実行したりするためのメインメモリ１４０６へとデータを送る。メインメモリ１４０６によって受取られた指令は、プロセッサ１４０４によって実行される前にあるいは実行された後に、記憶装置１４１０に選択的に記録され得る。
【０１６０】
コンピュータシステム１４００は、バス１４０２に接続される通信インターフェイス１４１８も含み得る。通信インターフェイス１４１８は、ローカルネットワーク１４２２に
接続されるネットワークリンク１４２０に接続するための双方向のデータ通信を提供する。たとえば、通信インターフェイス１４１８は、対応する電話回線のタイプへのデータ通信接続を提供するための、ＩＳＤＮ（integrated  services  digital  network）カードあるいはモデムであり得る。他の例としては、通信インターフェイス１４１８は、互換性があるＬＡＮへのデータ通信接続を提供するためのＬＡＮ（local  area  network）カードであり得る。無線のリンクも実現される。このようないかなる実現方法においても、通信インターフェイス１４１８は、さまざまなタイプの情報を示すデジタルデータストリームを搬送する電気的、電磁気的、あるいは光学的な信号を送信したり受信したりする。
【０１６１】
典型的に、ネットワークリンク１４２０は、１または複数のネットワークを介して、他のデータ装置へのデータ通信を提供する。たとえば、ネットワークリンク１４２０は、ローカルネットワーク１４２２を介して、インターネットサービスプロバイダ（ＩＳＢ）１４２６によって運営されるホストコンピュータ１４２４あるいはデータ装置への通信を提供し得る。一方、ＩＳＰ１４２６は、現在一般的に「インターネット」１４２８と言われるワールドワイドなパッケージデータ通信ネットワークを介して、データ通信サービスを提供する。ローカルネットワーク１４２２とインターネット１４２８とはともに、デジタルデータストリームを伝送するための電気的、電磁気的あるいは光学的な信号を使用する。さまざまなネットワークを介した信号と、ネットワークリンク１４２０上のおよび通信インターフェイス１４１８を介した信号とは、コンピュータシステム１４００へのおよびコンピュータシステム１４００からのデジタルデータを伝送するものであって、情報を運ぶ搬送波の例示的な形式である。
【０１６２】
コンピュータシステム１４００は、ネットワークとネットワークリンク１４２０と通信インターフェイス１４１８とを介して、メッセージを送信したり、プログラムコードを含むデータを受信したりできる。インターネットの例においては、サーバ１４３０は、インターネット１４２８と、ＩＳＰ１４２６と、ローカルネットワーク１４２２と、通信インターフェイス１４１８とを介して、アプリケーションプログラムのための要求されたコードを送信し得る。
【０１６３】
受信されたコードは、受信されたときにプロセッサ１４０４によって実行されたり、および／あるいは、後で実行されるために記憶装置１４１０あるいは他の不揮発性の記憶装置に記憶されたりし得る。この方法においては、コンピュータシステム１４００は、アプリケーションコードを搬送波の形式で取得し得る。
【０１６４】
ここに示されるような、プログラムコードの実施の形態によって処理されるデータは、以下のものに限定されるわけではないが、Ａ／Ｖ入力装置１４１５と、記憶装置１４１０と、通信インターフェイス１４１８とを含む、さまざまなソースから取得され得る。
【図１ａ】
2010525470.tif 000023
【図１ｂ】
2010525470.tif 000024
【図１ｃ】
2010525470.tif 000025
【図２】
2010525470.tif 000026
【図３】
2010525470.tif 000027
【図４】
2010525470.tif 000028
【図５】
2010525470.tif 000029
【図６】
2010525470.tif 000030
【図７】
2010525470.tif 000031
【図８】
2010525470.tif 000032
【図９Ａ】
2010525470.tif 000033
【図９Ｂ】
2010525470.tif 000034
【図１０Ａ】
2010525470.tif 000035
【図１０Ｂ】
2010525470.tif 000036
【図１１】
2010525470.tif 000037
【図１２】
2010525470.tif 000038
【図１３】
2010525470.tif 000039
【図１４】
2010525470.tif 000040
【図１５】
2010525470.tif 000041
【図１６】
2010525470.tif 000042
【図１７】
2010525470.tif 000043
【図１８】
2010525470.tif 000044
【図１９】
2010525470.tif 000045
【図２０】
2010525470.tif 000046
【図２１】
2010525470.tif 000047
【図２２】
2010525470.tif 000048
【図２３】
2010525470.tif 000049
【図２４】
2010525470.tif 000050
【国際調査報告】
2010525470.tif 000051
2010525470.tif 000052
2010525470.tif 000053
2010525470.tif 000054