(57)【特許請求の範囲】
【請求項１】
コンピュータにより実装される画像ノイズ低減方法であって、
目標画素及び前記目標画素の空間近傍内の複数の画素に関する複数の入力画素の値を受信する段階と、
前記複数の入力画素の値に基づいて前記空間近傍内のテクスチャのレベルを示すテクスチャスコアを計算する段階と、
前記複数の入力画素の値に基づいて目標入力画素の非局所平均を計算する段階と、
前記非局所平均と前記目標入力画素の値とのブレンドであるフィルタ処理した目標画素の値を前記テクスチャスコアに基づいて計算することで、前記目標入力画素の値に対する前記非局所平均の重み付けをテクスチャの前記レベルに反比例して調整する段階と、
前記フィルタ処理した目標画素の値を電子メモリに格納する段階と
を備える
方法。
【請求項２】
前記目標入力画素の前記非局所平均を計算する段階は、前記空間近傍内の複数の候補パッチの数を決定する段階を更に有し、そこから、より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めるべく、前記非局所平均が前記テクスチャスコアに基づいて計算される、
請求項１に記載の方法。
【請求項３】
前記空間近傍内の１つ又は複数の候補パッチのパッチ加重値を、各候補パッチと前記目標画素を含んだ前記空間近傍内の複数の画素の目標パッチとの比較を実行することで計算する段階と、
前記パッチ加重値と前記テクスチャスコアとに基づいてブレンド係数を計算する段階と、
前記ブレンド係数に基づいて前記非局所平均と前記目標入力画素との間を補間することで、前記非局所平均を前記目標入力画素の値とブレンドする段階と
を更に備える
請求項１又は２に記載の方法。
【請求項４】
前記テクスチャスコアに基づいて最大パッチ加重値のセットを選択する段階を更に備え、
前記パッチ加重値と前記テクスチャスコアとに基づいて前記ブレンド係数を計算する段階は、前記選択された最大パッチ加重値のセットの中心傾向を示すパッチ加重値統計に基づいてブレンド係数を計算する段階を更に有し、
前記ブレンド係数に基づいて前記非局所平均と前記目標入力画素との間を補間する段階は、前記非局所平均と前記目標入力画素との加重和を取る段階を更に有し、前記非局所平均と前記目標入力画素とは、前記パッチ加重値統計によって相補的に重み付けされる、
請求項３に記載の方法。
【請求項５】
前記テクスチャスコアに基づいて前記パッチ加重値の前記セットを選択する段階は、
前記複数の候補パッチの数とゼロ以外の最小値との間の範囲の前記テクスチャスコアの単調減少する閉形式関数を評価する段階、又は、
インデックス値として前記テクスチャスコアを用いてルックアップテーブル（ＬＵＴ）にアクセスする段階であって、前記ＬＵＴは異なる数の候補パッチを複数の異なるテクスチャスコアに関連付ける、段階
のうち少なくとも１つによって、前記複数の候補パッチの整数の数を加重値の前記セットで表すよう決定する段階を更に有する、
請求項４に記載の方法。
【請求項６】
前記テクスチャスコアに基づいてパッチ加重値の前記セットを選択する段階は、前記テクスチャスコアと候補パッチの合計数との単調減少する閉形式関数を評価することで、複数の候補パッチの前記数を前記セットで表すよう決定する段階を更に有する、
請求項５に記載の方法。
【請求項７】
前記テクスチャスコアに基づいて最大パッチ加重値のセットを選択する段階を更に備え、
前記パッチ加重値と前記テクスチャスコアとに基づいて前記ブレンド係数を計算する段階は、
前記選択された最大パッチ加重値のセットの中心傾向を示すパッチ加重値統計から初期ブレンド係数を計算する段階と、
前記初期ブレンド係数のマッピングを通じて前記ブレンド係数を計算する段階であって、前記マッピングは前記テクスチャスコアの関数である、段階と
を更に有する、
請求項３から６の何れか一項に記載の方法。
【請求項８】
最終ブレンド係数を計算する段階は、
前記テクスチャスコアの単調減少する閉形式関数を評価する段階、又は、
インデックス値として前記テクスチャスコアを用いるルックアップテーブル（ＬＵＴ）にアクセスする段階であって、前記ＬＵＴは異なるテクスチャスコアを初期ブレンド係数と最終ブレンド係数との間の異なるマッピングに関連付ける、段階
のうち少なくとも１つを更に有する、
請求項７に記載の方法。
【請求項９】
前記テクスチャスコアを計算する段階は、
前記空間近傍内の前記複数の画素の値の全て又はサブセットにわたるバラツキ推定量を計算する段階と、
信号強度によって前記バラツキ推定量を正規化する段階と
を更に有する、
請求項１から８の何れか一項に記載の方法。
【請求項１０】
前記目標入力画素の前記非局所平均を計算する段階は、
複数の候補パッチの数と前記目標画素を含んだ前記空間近傍内の複数の画素の目標パッチとの比較を実行することで、前記空間近傍内の候補パッチごとにパッチ加重値を計算する段階と、
対応するパッチ加重値によって重み付けされた前記複数の候補パッチを平均することで平均パッチを計算する段階と
を更に有する
請求項１から９の何れか一項に記載の方法。
【請求項１１】
複数の候補パッチのそれぞれと前記目標画素を含んだ複数の画素の目標パッチとの比較を実行することで、前記空間近傍内の１つ又は複数の候補パッチのパッチ加重値を計算する段階と、
前記テクスチャスコアと候補パッチの合計数との単調減少する閉形式関数を評価することで、前記複数の候補パッチの整数の数を表す最大パッチ加重値のセットを選択する段階と、
前記選択された最大パッチ加重値のセットの中心傾向を示すパッチ加重値統計から初期ブレンド係数を計算する段階と、
前記初期ブレンド係数のマッピングを通じて最終ブレンド係数を計算する段階であって、前記マッピングは前記テクスチャスコアの関数である、段階と
より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めるべく、前記テクスチャスコアに基づいて前記空間近傍内の候補パッチのサブセットを選択する段階と、
対応するパッチ加重値によって重み付けされた候補パッチの前記サブセットを平均することで決定された平均パッチから前記非局所平均を計算する段階と
を更に備え、
前記目標入力画素の値に対する前記非局所平均の重み付けを調整する段階は、
前記非局所平均と前記目標入力画素との間を前記最終ブレンド係数に基づいて線形的に補間することで、前記非局所平均を前記目標入力画素の値とブレンドする段階と、
前記フィルタ処理した目標画素の値として前記ブレンドをメモリに格納する段階と
を更に有する、
請求項１から１０の何れか一項に記載の方法。
【請求項１２】
前記テクスチャスコアを計算する段階は、
前記空間近傍内の前記複数の画素の値の全て又はサブセットにわたるバラツキ推定量を計算する段階と、
信号強度によって前記バラツキ推定量を正規化する段階と
を更に有する、
請求項１１に記載の方法。
【請求項１３】
目標画素と前記目標画素の空間近傍内の複数の画素とに関する複数の入力画素の値を受信する入力ポートと、
前記入力ポートに結合されたノイズ除去モジュールであって、
前記複数の入力画素の値に基づいて前記空間近傍内の検出されたテクスチャのレベルを示すテクスチャスコアを計算するテクスチャ処理モジュールと、
前記複数の入力画素の値に基づいて目標入力画素の非局所平均を計算するＮＬＭモジュールと、
前記非局所平均と前記目標入力画素の値とのブレンドであるフィルタ処理した目標画素の値を前記テクスチャスコアに基づいて計算することで、前記目標入力画素の値に対する前記非局所平均の重み付けをテクスチャの前記レベルに反比例して調整するブレンドモジュールとを更に含む、ノイズ除去モジュールと、
前記ノイズ除去モジュールに結合され、前記フィルタ処理した目標画素の値を電子メモリに送信する出力ポートと
を備える
画像処理システム。
【請求項１４】
前記ＮＬＭモジュールは、複数の候補パッチの数と前記目標画素を含んだ前記空間近傍内の複数の画素の目標パッチとの比較を実行することで、前記空間近傍内の複数の候補パッチのパッチ加重値を計算する論理回路を更に有し、
前記ブレンドモジュールは、前記パッチ加重値と前記テクスチャスコアとに基づいてブレンド係数を計算し、前記非局所平均と前記目標入力画素との間を前記ブレンド係数に基づいて補間することで、前記非局所平均を前記目標入力画素の値とブレンドする論理回路を更に有する、
請求項１３に記載の画像処理システム。
【請求項１５】
前記テクスチャ処理モジュールは、
前記テクスチャスコアに基づいて最大パッチ加重値のセットを選択し、
前記選択された最大パッチ加重値のセットの中心傾向を示すパッチ加重値統計に基づいてブレンド係数を計算する論理回路を更に有し、
前記ブレンドモジュールは、
前記非局所平均と前記目標入力画素との加重和を取る論理回路を更に有し、前記非局所平均と目標入力画素とは、前記パッチ加重値統計によって相補的に重み付けされる、
請求項１４に記載の画像処理システム。
【請求項１６】
前記テクスチャ処理モジュールは、
複数の候補パッチの前記数とゼロ以外の最小値との間の範囲の前記テクスチャスコアの単調減少する閉形式関数を評価する論理回路、又は、
インデックス値として前記テクスチャスコアを用いてルックアップテーブル（ＬＵＴ）にアクセスする論理回路であって、前記ＬＵＴは異なる数の候補パッチを異なる複数のテクスチャスコアに関連付ける、論理回路
のうち少なくとも１つを用いて、前記複数の候補パッチの整数の数を加重値の前記セットで表すよう決定する論理回路を更に有する、
請求項１５に記載の画像処理システム。
【請求項１７】
前記テクスチャ処理モジュールは、前記テクスチャスコアに基づいて最大パッチ加重値のセットを選択する論理回路を更に有し、
前記ブレンドモジュールは、前記最大パッチ加重値と前記テクスチャスコアとに基づいてブレンド係数を計算する論理回路を更に有し、当該論理回路は前記選択された最大パッチ加重値のセットの中心傾向を示すパッチ加重値統計から初期ブレンド係数を計算する論理回路と、前記初期ブレンド係数のマッピングを通じて前記ブレンド係数を計算する論理回路であって、前記マッピングは前記テクスチャスコアの関数である、論理回路とを更に含む、
請求項１３から１６の何れか一項に記載の画像処理システム。
【請求項１８】
前記ブレンドモジュールは、
前記テクスチャスコアの単調減少する閉形式関数を評価する論理回路、又は、
インデックス値として前記テクスチャスコアを用いてルックアップテーブル（ＬＵＴ）にアクセスする論理回路であって、前記ＬＵＴは異なるテクスチャスコアを初期ブレンド係数と最終ブレンド係数との間の異なるマッピングに関連付ける、論理回路
のうち少なくとも１つを用いて、前記最終ブレンド係数を計算する論理回路を更に有する、
請求項１３から１７の何れか一項に記載の画像処理システム。
【請求項１９】
前記ＮＬＭモジュールは、
より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めるべく、前記テクスチャスコアに基づいて前記空間近傍内の候補パッチのサブセットを選択し、
対応するパッチ加重値によって重み付けされた候補パッチの前記サブセットを平均することで決定される平均パッチから前記目標入力画素の非局所平均を計算する
論理回路を更に有する、
請求項１３から１８の何れか一項に記載の画像処理システム。
【請求項２０】
請求項１３に記載の画像処理システムと、
入力に結合され、ＲＧＢ空間において入力画素の値を含んだ生の画像データを生成するカメラハードウェアモジュール（ＣＭ）と、
電子メモリ、出力に結合されたエンコーダ又はディスプレイ、フィルタ処理した画像画素を前記画像データのフィルタ処理した表現として格納するメモリ、前記フィルタ処理した画像画素を前記画像データのフィルタ処理した表現としてエンコードする前記エンコーダ、及び前記フィルタ処理した画像画素を前記画像データのフィルタ処理した表現として提供する前記ディスプレイのうち少なくとも１つと
を備える、
モバイルコンピューティングプラットフォーム。
【請求項２１】
目標画素と前記目標画素の空間近傍内の複数の画素とに関する複数の入力画素の値を受信する入力手段と、
ノイズ除去手段であって、
前記入力手段に結合され、前記複数の入力画素の値に基づいて前記空間近傍内で検出されるテクスチャのレベルを示すテクスチャスコアを計算するテクスチャ処理手段と、
前記入力手段に結合され、前記複数の入力画素の値に基づいて目標入力画素の非局所平均を計算する非局所平均（ＮＬＭ）計算手段と、
前記テクスチャ処理手段とＮＬＭ計算手段と入力手段とに結合されたブレンド手段であって、前記ブレンド手段は、前記非局所平均と前記目標入力画素の値とのブレンドであるフィルタ処理した目標画素の値を前記テクスチャスコアに基づいて計算することで、前記目標入力画素の値に対する前記非局所平均の重み付けをテクスチャの前記レベルに反比例して調整する、ブレンド手段とを更に有するノイズ除去手段と、
前記ブレンド手段に結合され、前記フィルタ処理した目標画素の値を電子メモリに書き込む出力手段と
を備える
画像処理システム。
【請求項２２】
請求項１から１２のいずれか一項に記載の方法をプロセッサに実行させる、
プログラム。
【請求項２３】
目標画素と前記目標画素の空間近傍内の複数の画素とに関する複数の入力画素の値を受信する段階と、
前記複数の入力画素の値に基づいて前記空間近傍内のテクスチャのレベルを示すテクスチャスコアを計算する段階と、
前記複数の入力画素の値に基づいて前記目標入力画素の非局所平均を計算する段階と、
前記非局所平均と前記目標入力画素の値とのブレンドであるフィルタ処理した目標画素の値を前記テクスチャスコアに基づいて計算することで、前記目標入力画素の値に対する前記非局所平均の重み付けをテクスチャの前記レベルに反比例して調整する段階と、
前記フィルタ処理した目標画素の値を電子メモリに格納する段階と
を更に備える方法を前記プロセッサに実行させる、
請求項２２に記載のプログラム。
【請求項２４】
前記空間近傍内の複数の候補パッチの数を決定する段階であって、そこから、より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めるべく、前記非局所平均が前記テクスチャスコアに基づいて計算される、段階
を更に備える方法を前記プロセッサに更に実行させる、
請求項２３に記載のプログラム。
【請求項２５】
複数の候補パッチの数と前記目標画素を含んだ前記空間近傍内の複数の画素の目標パッチとの比較を実行することで、前記空間近傍内の複数の候補パッチの相似性スコアを計算する段階と、
前記相似性スコアと前記テクスチャスコアとに基づいてブレンド係数を計算する段階と、
前記非局所平均と前記目標入力画素との間を前記ブレンド係数に基づいて補間することで、前記非局所平均を前記目標入力画素の値とブレンドする段階と
を更に備える方法を前記プロセッサに更に実行させる、
請求項２３に記載のプログラム。
【請求項２６】
請求項２２から２５の何れか一項に記載のプログラムを格納する、
コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
［優先権の主張］  本願は、２０１４年９月２３日に出願された「自己相似性によって推進するブレンドを用いた詳細部保存性を有する非局所平均画像ノイズ除去（ＮＯＮ−ＬＯＣＡＬ  ＭＥＡＮＳ  ＩＭＡＧＥ  ＤＥＮＯＩＳＩＮＧ  ＷＩＴＨ  ＤＥＴＡＩＬ  ＰＲＥＳＥＲＶＡＴＩＯＮ  ＵＳＩＮＧ  ＳＥＬＦ−ＳＩＭＩＬＡＲＩＴＹ  ＤＲＩＶＥＮ  ＢＬＥＮＤＩＮＧ」」と題する米国特許出願第１４／４９４，１６３号の優先権を主張し、その全体の参照により組み込まれる。
【０００２】
画像ノイズ除去は、画像処理パイプラインの重要な機能ブロックである。画像ノイズ除去方法の目的は、ノイズのある測定値から元の画像を復元することである。デジタルカメラセンサにより生成される画像は、様々なソースからのノイズを拾うが、このノイズは美的目的又は実用上の目的（例えば、マシンビジョン）のために低減されるべきである。理想的には、画像ノイズ除去ブロックが利用するノイズ低減アルゴリズムは、ノイズを低減することで画像の明瞭さを向上させるとともに、実際の詳細部の損失を最小限に抑えなければならない。技術的な困難さは、ノイズを画像の詳細部と確実に区別することにある。
【０００３】
目標画素を空間的に取り囲む複数の画素のグループに対して、画素に何らかの平均化又は重み付けを実行する多くの画像ノイズ除去アルゴリズムは、「局所平均」フィルタ又は「局所スムージング」フィルタと呼ばれている。非局所画像ノイズ除去アルゴリズムは、その最も一般的なものが非局所平均（ＮＬＭ）アルゴリズムであるが、過去１０年間に好評を得ている。その理由は、多くの局所平均アルゴリズムに対して、フィルタ処理後の明瞭さが改善されているとともに、実際の詳細部の損失が低減されているからである。ＮＬＭフィルタは画像内の冗長性を利用し、画像の中のより多くの画素の平均を取り、それらの画素が目標画素にどれほど類似しているかによって重み付けされることでエッジのぼけを低減する。より具体的には、入力画素ごとに目標画素を含む目標パッチが決定される。次に、目標パッチの近傍にある他の複数の候補パッチが相似性に関して評価される。平均画素パッチは、候補パッチに割り当てられた「自己相似性」の加重値に従って、複数の候補パッチの重み付けされた平均として計算される。次に、平均化された画素パッチは、ＮＭＬフィルタのフィルタ処理された目標画素出力として直接取得される。
【０００４】
ＮＬＭノイズ除去技術は、多くの局所平均フィルタにわたって画像品質を向上させるよう検討されているが、ＮＬＭ技術は高度に周期的な画像に有利である。品質低下は主に非周期的詳細部であり、視覚認識がぶれた状態になり、これが高周波テクスチャ領域及び固有の複数の画素に影響を及ぼす。従って、画像の明瞭さを改善するとともに、既存のＮＬＭ技術を用いて可能になる以上に所望のテクスチャ及び高周波詳細部を保持することが可能な画像ノイズ除去技術及びハードウェアキテクチャが有利である。
【図面の簡単な説明】
【０００５】
本明細書に説明される構成要素は、限定としてではなく例として添付図に示される。説明を簡略化し明瞭にするために、図に示される要素は必ずしも実寸通りに描かれてはいない。例えば、明瞭さのために、いくつかの要素の寸法は他の要素に対して誇張される場合がある。更に、適切とみなされる場合、対応する要素又は類似の要素を示すために、参照ラベルは複数の図の間で繰り返されている。それらの図は以下の通りである。
【０００６】
【図１】複数の実施形態による画像ノイズ低減方法を例示するフロー図である。
【０００７】
【図２】複数の実施形態による、画素の値と画像フィルタパラメータとの依存関係図の例示である。
【０００８】
【図３】複数の実施形態による画像ノイズ低減方法を例示するフロー図である。
【０００９】
【図４】複数の実施形態による画像ノイズ低減方法を例示するフロー図である。
【００１０】
【図５Ａ】１つ又は複数の実施形態による、独立したテクスチャ検出ステージを含む画像ノイズ除去モジュールを含んだシステムの機能ブロック図である。
【００１１】
【図５Ｂ】１つ又は複数の代替の実施形態による、独立したテクスチャ検出ステージを含む画像ノイズ除去モジュールを含んだシステムの機能ブロック図である。
【００１２】
【図６】複数の実施形態による、図５Ａ又は図５Ｂのシステムを含んだ画像プロセッサを利用する例示的な超低電力システムの図である。
【００１３】
【図７】１つ又は複数の実施形態に従って配置された例示的なモバイルハンドセットプラットフォームの図である。
【発明を実施するための形態】
【００１４】
同封の図を参照して、１つ又は複数の実施形態が説明される。具体的な構成及び配置が詳細に示されて論じられるが、これは例示的な目的のためだけに行われるものと理解されるべきである。本明細書の趣旨および範囲から逸脱することなく、他の構成及び配置が可能であることを、当業者は認識するであろう。本明細書に説明される技術及び／又は配置は、本明細書に詳細に説明されていること以外にも、様々な他のシステム及び応用に利用されてよいことが、当業者には明らかとなるであろう。
【００１５】
以下の詳細な説明では、本明細書の一部を形成し、複数の例示的な実施形態を示す添付図面を参照する。更に、特許請求される主題の範囲から逸脱することなく、他の複数の実施形態が利用されてよく、構造的変更及び／又は論理的変更が行われてよいことが理解されるべきである。従って、以下の詳細な説明は限定する意味に取られるべきではなく、特許請求される主題の範囲は、添付の特許請求の範囲及びその等価物によってのみ規定される。
【００１６】
以下の説明では、多数の詳細が明記される。しかし、複数の実施形態はこれらの具体的な詳細がなくても実施され得ることが、当業者には明らかとなるであろう。よく知られた方法及びデバイスは、詳細に示されるのではなくブロック図の形に示されているが、これは、より重要な態様を曖昧にするのを避けるためである。本明細書を通じて「一実施形態」又は「１つの実施形態」への言及は、その実施形態に関して説明される特定の特徴、構造、機能、又は特性が、少なくとも１つの実施形態に含まれていることを意味する。従って、本明細書を通じて様々な箇所に「一実施形態において」又は「１つの実施形態において」という表現が出現しても、必ずしも同じ実施形態を意味しているとは限らない。更に、一実施形態の文脈で説明される特定の特徴、構造、機能、又は特性は、１つ又は複数の実施形態に任意の適切な態様で組み合わされてよい。例えば、第１の実施形態が第２の実施形態と組み合わされよく、２つの実施形態に関連する特定の特徴、構造、機能、又は特性がどこでも互いに排他的ではない。
【００１７】
複数の例示的な実施形態及び添付の特許請求の範囲の説明に用いられるとき、単数形の「１つの」（「ａ」、「ａｎ」）及び「その」（ｔｈｅ）は、複数形も含むことが意図されているが、これは文脈上明らかに異なったことを示していない場合に限る。本明細書に用いられるとき、「及び／又は」という用語は、関連する列挙された項目の１つ又は複数のありとあらゆる可能な組み合わせを意味し、これらを包含することも理解されるであろう。
【００１８】
本明細書を通じて、また特許請求の範囲において用いられるとき、「少なくとも１つ」あるいは「１つ又は複数」という用語によって結び付けられた項目のリストは、列挙された項目の任意の組み合わせを意味し得る。例えば、「Ａ、Ｂ、又はＣのうち少なくとも１つ」という表現は、Ａ、Ｂ、Ｃ、ＡとＢ、ＡとＣ、ＢとＣ、又はＡとＢとＣを意味し得る。
【００１９】
「結合」及び「接続」という用語は、それらの派生語とともに、複数のコンポーネント間の機能的関係又は構造的関係を説明するのに本明細書に用いられてよい。これらの用語は、互いにとって同義語として意図されるものではないことが理解されるべきである。むしろ、複数の特定の実施形態において「接続」は、  ２つ又はそれよりより多くの要素が互いに直接的に物理的接触、光学的接触、又は電気的接触の状態にあることを示すのに用いられてよい。「結合」は、２つ又はそれよりより多くの要素が直接的に又は（それらの要素の間に介在する複数の他の要素を伴って）間接的に、互いに物理的接触、光学的接触、又は電気的接触の状態にあること、及び／又は、２つ又はそれよりより多くの要素が（例えば、因果関係にみられるように）互いに協同又は情報を交換することを示すのに用いられてよい。
【００２０】
本明細書に提供される詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット上で動作するアルゴリズム及び記号表現の観点で提示される。異なったことが具体的に明記されない限り、以下の考察から明らかなように、本明細書を通じて「計算」、「コンピューティング」、「決定」、「推定」、「格納」、「収集」、「表示」、「受信」、「統合」、「生成」、「更新」などの用語を利用する考察は、コンピュータシステム又は類似の電子コンピューティングデバイスの動作及び処理を意味し、コンピュータシステム又は類似の電子コンピューティングデバイスは、レジスタ及びメモリを含んだコンピュータシステムの回路内で物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリ又はレジスタ又は他の情報ストレージ、送信デバイス又はディスプレイデバイス内で物理量として同様に表される他のデータに変換することが理解される。
【００２１】
以下の説明は複数の実施形態を明記するが、それは、例えばシステムオンチップ（ＳｏＣ）アーキテクチャのようなアーキテクチャで表され得る。本明細書に説明される技術及び／又は配置の実装は、特定のアーキテクチャ及び／又はコンピューティングシステムに制限されるものではなく、類似の目的のいかなるアーキテクチャ及び／又はコンピューティングシステムによっても実装されてよい。例えば、複数の集積回路（ＩＣ）チップ及び／又はパッケージを利用する様々なアーキテクチャ、及び／又は、セットトップボックス、スマートフォンなどの様々なコンピューティングデバイス及び／又は家電（ＣＥ）デバイスが、本明細書に説明される技術及び／又は配置を実装してよい。更に、以下の説明は、論理実装、複数のシステムコンポーネントのタイプ及び相互関係、論理分割／統合の選択など、多数の具体的な詳細を明記し得るが、特許請求される主題は、そのような具体的な詳細を用いずに実施されてよい。更に、例えば、制御構造及び完全なソフトウェア命令シーケンスなどのいくつかの構成要素は、本明細書に開示される構成要素を曖昧にしないために、詳細に示されなくてもよい。
【００２２】
本明細書に開示される構成要素の特定の部分は、例えば、グラフィックスプロセッサの論理回路としてハードウェアに実装される。特定の他の部分は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせに実装されてよい。本明細書に開示される少なくともいくつかの構成要素は、機械可読媒体に格納される命令として実装されてもよく、この命令は、１つ又は複数のプロセッサ（グラフィックスプロセッサ及び／又は中央処理装置）によって読み出されて実行され得る。機械可読媒体は、機械（例えば、コンピューティングデバイス）によって可読な形で情報を格納又は送信する任意の媒体及び／又はメカニズムを含んでよい。例えば、機械可読媒体は、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気／光／音又は他の同様な非一時的な有形の媒体を含んでよい。
【００２３】
１つ又は複数のシステム、装置、方法、及びコンピュータ可読媒体が、画像内のテクスチャの独立した評価を少なくとも部分的に強化した画像ノイズ除去について後述される。従来のＮＬＭフィルタは、少なくとも候補パッチの定義及び／又はパッチ相似性評価を通じてテクスチャをパッシブに構成するだけだという理由で詳細部の損失を被っており、それと比べて、本明細書に説明されるテクスチャ強化型フィルタの実施形態は、テクスチャに敏感なブレンドオペレーションとして入力画像テクスチャをアクティブに構成する。複数の実施形態において、色を基にしたフィルタ操作により決定される平均画素値が、「ノイズのある」入力画素の値とブレンドされる。複数の実施形態において、ブレンドは、テクスチャを示す１つ又は複数のブレンド加重値又は係数によって推進され、これにより、強化型ノイズ低減フィルタにより保持される詳細部のレベルはテクスチャの量でスケーリングされる。本明細書の複数の実施形態は、それによって、著しくテクスチャを欠いた（すなわち、滑らかな）画像の領域を、より粗いテクスチャ領域より積極的にノイズ除去し得る。複数の更なる実施形態において、ブレンド係数は、候補パッチの相似性スコアに基づいて更に決定され、検討されるこれらのスコアの数はテクスチャスコアに基づいている。複数の実施形態による強化型フィルタは、そのようなテクスチャに敏感なブレンドの提供を欠くＮＬＭフィルタに特有のぶれの影響を有利に低減することが分かっている。
【００２４】
図１は、複数の実施形態による画像ノイズ低減方法１０１を示すフロー図である。方法１０１は、別々の画像又はフレームの全ての画素に対して実行され、各繰り返しが１つのノイズのある目標画素ｐｉｎに対して実行され、フィルタ処理した出力画素ｐｏｕｔにフィルタ処理される。図１に示される繰り返しは、並列処理アーキテクチャの複数のスレッド又は実行ユニットにわたり、連続的に又は並列に実行されてよい。方法１０１の各繰り返し／スレッドは、動作１０５において、入力画素の値ｐｉを受信するところから始まる。入力として受信した値は、フィルタ処理される入力目標画素の値ｐｉｎと、目標画素の空間近傍内の複数の画素の値とを含む。例示的な一実施形態において、空間近傍は、ｐｉｎを含む画像フレームの空間近傍よりもいくらか小さく寸法決めされる。この近傍の外側にある画素は、フィルタ処理した画素の値ｐｏｕｔを決定する際に、何も加重値を与えられない。空間近傍は任意の予め定められたサイズ（例えば、Ｎ×Ｎ画素の画像フレームより小さい固定のＫ×Ｋのウィンドウ）であり得、それに対応して、方法１０１で実行されるフィルタ処理した画素の値ｐｏｕｔを決定するための計算の数を低減させる。１つの実施形態において、近傍のサイズ、従って動作１０５で受信される入力画素の値のサンプルサイズは、更に後述されるように、特定の非局所平均アルゴリズムを収容するよう予め定められる。Ｎ×Ｎ画像より小さい近傍の定義は、計算のオーバヘッドに関して実用上の利点があるが、本明細書の複数の実施形態は、Ｎ×Ｎ画像内の全ての画素に対して計算された加重値を用いて目標画素をフィルタ処理する技術に等しく適用可能であることに留意されたい。
【００２５】
第１の実施形態において、入力画素の値ｐｉはＲＧＢ空間における生のデータである。この生のデータは生のベイヤーデータなど、カメラセンサによる出力であってよいが、有利な複数の実施形態において、画素の値ｐｉはある程度前処理されており、例えば、線形化（黒レベル補正を含む）され、カラーシェーディング補正をされている。生の画像データはまた、既知の不良画素を補正していたかもしれない、またレンズシェーディング補正が、ノイズ除去方法１０１の前段で実行されていたかもしれない。第２の実施形態において、動作１０５において受信される入力画素の値ｐｉはＹＵＶ空間にあり、方法１０１は具体的に輝度（Ｙ）チャネル上で動作する。
【００２６】
動作１１５において、近傍内のテクスチャのレベルを示すテクスチャスコアηが入力画素の値に基づいて決定される。テクスチャスコアηは、ノイズ除去方法１０１に追加の自由度を提供する独立したテクスチャの尺度である。１つの実施形態において、動作１０５において受信される全ての入力画素ｐｉがテクスチャスコアηを計算するのに利用される。例えば、全ての入力画素ｐｉが非局所平均アルゴリズムに利用される近傍ウィンドウに関連している場合、テクスチャスコアηはこの同じ入力画素ｐｉの集団から導出される。代替的に、テクスチャスコアηは、入力画素ｐｉのサブセットだけに基づいて決定される。換言すれば、テクスチャスコアηが決定されるウィンドウは、全ての入力画素ｐｉが属する近傍より小さくてよいが、その中に含まれ得る。動作１０５で受信される全ての入力画素ｐｉが目標画素ｐｉｎの単一の近傍に対応する１つの例示的な実施形態において、テクスチャスコアηは、近傍全体にわたる画素の値変動の定量的評価に基づいて決定される。そのような定量的評価は多くの形を取り得るが、例示的な実施形態が、図２及び図３の文脈で以下により詳細に説明される。
【００２７】
なおも図１を参照すると、動作１０５で受信した目標画素の空間近傍内の複数の画素に関連した１つ又は複数の値に基づいて、動作１３０で目標画素の非局所平均が計算される。目標画素ｐｉｎの平均目標画素の値＜ｑ＞を得るために、任意の知られた非局所平均アルゴリズムが動作１３０で実行されてよい。１つの例示的な実施形態において、図１の動作１１５と動作１３０との間に破線で示されるように、また以下により詳細に説明されるように、非局所平均計算は、動作１１５で決定されるテクスチャスコアに依存する。しかし代替的な実施形態において、動作１３０での非局所平均計算は動作１１５で行われるテクスチャ評価から独立しており、動作１１５で決定されるテクスチャスコアはブレンド動作１４５でのみ利用される。ここでは、動作１３０からの非局所平均と、ノイズのある目標入力画素の値ｐｉｎとが、テクスチャスコアに基づいてブレンドされ、フィルタ処理した出力画素の値ｐｏｕｔを得る。次にフィルタ処理した出力画素の値ｐｏｕｔは、動作１９５で、限定されないが、例えばレジスタ、揮発性メモリセル、不揮発性メモリセルなどの電子メモリに格納される。入力画素ｐｉｎが、複数の順次繰り返し又は並列スレッドにわたり、画像又はフレームの全ての画素がフィルタ処理されるまで、動作１９９でインクリメントされる。
【００２８】
図２は、複数の実施形態による、画素の値と画像フィルタパラメータとの依存関係図の例示である。図３は、複数の実施形態による画像ノイズ低減方法３０１を示すフロー図である。図２に概略図の形で示されるフィルタ処理は、例えば、方法３０１の一部として実行されてよく、方法３０１は、図１の文脈で上記に略述された方法１０１の特定の一実施形態である。
【００２９】
図２に示されるように、画像又はフレーム２０１は、空間的に相関したＮ×Ｎの大きさの２Ｄの画素配列２０５を含む。示された実施形態において、画素配列２０５の値はＲＧＢ空間にある。画素配列２０５内には、目標画素２１０を取り囲むＫ×Ｋの大きさの局所近傍２１５がある。画素配列２０５からの画素の値は、例えば、動作１０５（図３）で入力画素ｐｉｎとして受信されてよい。
【００３０】
図３に更に示されるように、動作３２０で、目標画素ｐｉｎを含む目標画素パッチＰが、１つ又は複数の候補画素パッチＱｉのそれぞれと比較される。１つ又は複数の候補画素パッチＱｉはまた、局所近傍ＮｂｒＫ（ｐｉｎ）の全ての画素のセット内に含まれる。図２に示される例において、目標画素２１０を含む目標画素パッチ２２０が局所近傍２１５の中に含まれている。１つ又は複数の候補画素パッチ２２１は、例えば、予め定められたサイズであり、近傍２１５内に規定される複数の他の候補パッチとオーバーラップしてよい。与えられた近傍内の候補パッチ２２１の数は、例えば、画像／フレーム内（例えば、エッジに沿って）及び／又は近傍２１５内の目標画素２１０の位置の関数であってよい。
【００３１】
各候補パッチが目標画素パッチにどれほど類似しているかに対応する候補パッチの加重値Ｗｉが計算され、これは本明細書では「自己相似性」と呼ばれる。候補パッチの加重値Ｗｉは、例えば、目標パッチに対してより大きい相似性を有する第1の候補パッチでは、目標パッチにあまり似ていない第2の候補パッチの場合よりも大きくなり得る。各候補パッチの加重値Ｗｉは、画素ｉとｐｉｎとの間の相似性を評価する任意のパッチ相似性スコアリング関数として決定されてよく、例えば、０＜Ｗ（ｉ、ｐｉｎ）＜１である。１つの実施形態において、相似性尺度は絶対差の和として計算される。そのような一実施形態は、固定関数又は半プログラマブル論理回路（例えば、画像信号プロセッサ）で有利に実装され得る。代替的な一実施形態においてガウスノイズモデルがカーネル関数として利用され、差の平方和が相似性尺度として計算される。この代替の実施形態は、完全なプログラマブル論理回路（例えば、アプリケーションプロセッサ）上で実行するソフトウェアに有利に実装され得る。
【００３２】
図３に戻ると、動作１１５で近傍２１５にわたる画素の値変動の分析が実行され、（局所）テクスチャスコアηを計算する。図２と図３の両方に例示されるように、テクスチャスコアηを決定することは、パッチ重み付け計算とは独立している。次にパッチ重み付け及びテクスチャスコアηの両方が、程度の差はあれＮＬＭノイズ除去が画像フレーム内のどこで実行されるかを決定するために、方法３０１で利用される。
【００３３】
上記に紹介されたように、テクスチャスコアηは、近傍ＮｂｒＫ（ｐｉｎ）内の全ての画素の値、又はそれらのサブセットにわたるバラツキ推定量である。有利には、この推定量は、推定が行われる近傍の信号強度によって正規化される。例えば推定量は、画素の値の標準偏差又は分散に基づいてよい。多くのテクスチャスコアリングアルゴリズムが用いられ得るが、１つの実施形態において、テクスチャスコアηは、平均信号強度によって正規化された分散として計算される。
【数１】
0006354101.tif 000002
【００３４】
次に目標画素ｐｉｎのＮＬＭが動作１３０で計算される。例示的な実施形態において、パッチ平均＜Ｑ＞が、動作３２０で決定された候補パッチ加重値Ｗｉに基づいて計算される。１つの例として、平均パッチ＜Ｑ＞は、対応するパッチ加重値で重み付けされた複数の候補パッチを平均することで計算される。しかし、任意の知られたＮＬＭ技術が平均パッチ＜Ｑ＞を得るのに利用されてよく、本明細書の複数の実施形態はこの点において更に限定されることはない。平均パッチ＜Ｑ＞から、平均化された目標画素の値＜ｑ＞が、例えば目標パッチＰ内のその位置に基づいて決定される。
【００３５】
入力画素の値に基づいて決定された目標入力画素の非局所平均を用いて、非局所平均が目標入力画素の値ｐｉｎに対して、局所テクスチャの考えと反対に重み付けされる。図２及び図３に例示される例示的な実施形態において、フィルタ処理した画素の値ｐｏｕｔは、テクスチャスコアηに基づいて非局所平均画素の値＜ｑ＞と目標入力画素ｐｉｎとをブレンドすることで、独立して導出された局所テクスチャの考えの関数にされる。ブレンド関数は、動作３２５で決定されるブレンド係数によって重み付けされ得る。例示的な実施形態において、非局所平均画素の値＜ｑ＞と目標入力画素ｐとの間の補間が、ブレンド係数αに基づいて動作３５０で実行される。１つの特定の例において、補間はブレンド係数αの線形関数である。
ｐｏｕｔ＝αｐｉｎ＋（１−α）＜ｑ＞      （式２）
【００３６】
ブレンド係数αは、少なくともテクスチャスコアηに基づいており、有利には、より大きい局所テクスチャの存在の検出に対応して、非局所平均＜ｑ＞のブレンドパワーを制限する（及び／又は目標入力画素ｐｉｎのブレンドパワーを強化する）態様において、テクスチャスコアηと動作３２０で決定されたパッチ加重値Ｗｉの両方に基づいている。逆の場合も同じである。例えば、局所テクスチャ尺度がテクスチャの高い可能性を示す場合、αが低い（すなわち、局所自己相似性が、例えば反復的なテクスチャの存在において高い）ときだけしっかりとノイズ除去すべきである。図３に例示される例示的な実施形態において、ブレンド関数が非局所平均＜ｑ＞と目標入力画素ｐｉｎとの間の線形補間である場合、ブレンド係数αは最大パッチ加重値Ｗｉのセットを示す。ブレンド係数αは有利には、テクスチャスコアηの関数として最大パッチ加重値の数Ｓを選択することによるパッチ加重値Ｗｉのパターンによって通知される。次にブレンド係数αは、Ｓ個のパッチ加重値の選択に関連するパッチ加重値統計に基づいて動作３２５で計算される。１つの例として、ブレンド係数αは、選択されたパッチ加重値のセットの中心傾向を示すパッチ加重値統計に基づいている。
【数２】
0006354101.tif 000003
ここで、Ｗｉは加重値のセットであり、降順にソートされている。Ｓは、平均される最大パッチ加重値の数であり、局所テクスチャスコアηの関数である。式３の形はブレンド係数α（例えば式２）の形に依存するので、非局所平均＜ｑ＞及び目標入力画素ｐｉｎがパッチ加重値統計（例えば、
【数３】
0006354101.tif 000004
）によって相補的に重み付けされるように変化してよい。このアーキテクチャを用いると、ブレンド関数は、相似性評価を介して決定された候補パッチ加重値のサブセットを選択することで誘導される自己相似性である。選択された加重値のセットのサイズが独立したテクスチャ尺度に更に依存する状態で、フィルタ関数は近傍のコンテンツに対してより敏感になる。
【００３７】
一実施形態において、ブレンド係数αを計算するのに利用されるパッチ加重値の数Ｓは、局所近傍テクスチャに反比例する。テクスチャの考えがより低い場合、ブレンド係数αはより多くのパッチ加重値を示す。テクスチャの考えがより高い場合、ブレンド係数αはより少ないパッチ加重値を示す。従って、低テクスチャが検出される平坦な領域（例えば、テクスチャスコアηが小さい）では、多くの加重値が加重値統計計算に含まれてよい。しかし、各候補パッチの自己相似性が低い場合、含まれる多くの加重値は、低い平均加重値と低ブレンドパワーを有するノイズのある入力画素ｐｉｎとをいまだにもたらし得る。テクスチャ尺度が高い場合、複数のパッチ間にわずかな対応関係を見出すことを想定し得るので、少数のパッチに基づいて強力なフィルタ処理を可能にするために、パッチ加重値の数は低減されてもよい。例えば、エッジの存在において、テクスチャスコアは増加が予期され得、これに対応して、ブレンド係数αに組み込まれる加重値の数は、最大相似性を有する少数だけに低減される。
【００３８】
加重値のセットに表す候補パッチの整数の数Ｓは、上記の原則を実装する様々な方法で決定されてよい。１つの実施形態において、最大パッチ加重値の数Ｓは、閉形式関数を評価することで計算される。代替の一実施形態において、最大パッチ加重値の数Ｓ（η）は、ルックアップテーブル（ＬＵＴ）にアクセスすることで決定される。第１の実施形態において、関数はテクスチャスコアの任意の単調減少する閉形式関数であってよく、この関数は利用可能な候補パッチの合計数（すなわち、全ての候補パッチ）とゼロ以外のパッチの最小閾値数との間の範囲にある。更なる一実施形態において、関数は指数関数的に減少するテクスチャスコアηの関数である。１つの例示的な実施形態において、関数は次の形であってよい。
Ｓ（η）＝Ｎｍｉｎ＋（Ｎｃａｎｄ−Ｎｍｉｎ）ｅ−η／Ｃ      （式４）
ここで、Ｎｃａｎｄは候補パッチの合計数であり、Ｎｍｉｎは候補パッチの最小閾値数であり、Ｃは指数関数の累乗を決定するシェーピング係数である。この連続表現から、端数切り捨てなどによって整数値が容易に導出され得る。代替の一実施形態において、異なる数の候補パッチを異なるテクスチャスコアに関連付けるＬＵＴが、インデックス値又はキー値としてテクスチャスコアηを用いてアクセスされる。可能なテクスチャスコアの範囲は、予め定められた数のウィンドウ又はスロットに分割されてよい。各ウィンドウ又はスロットは、最大パッチ加重値の数Ｓ（η）に関連付けられる。いくつかの実施形態において、ＬＵＴはユーザ構成可能であってよく、Ｓ（η）はユーザ定義された構成設定である。
【００３９】
更なる一実施形態において、図２に破線矢印で示されるように、テクスチャスコアηは、独立した局所テクスチャ尺度の関数としてＮＬＭ計算を更に調整するのに利用される。図４は、そのような一実施形態による画像ノイズ低減方法４０１を示すフロー図である。方法４０１は、ブレンド係数αがまた、式３に従って決定される初期係数の非線形マッピングを通じて、どのように導出され得るかを更に例示する。
【００４０】
図４に示されるように、方法４０１は操作１０５で入力画素の値を受信するところから始まり、上述されたように操作１１５及び３２０でテクスチャスコアη及びパッチ加重値Ｗｉを計算する。操作４３５で、平均パッチ＜Ｑ＞が、近傍内の候補パッチのサブセット用に計算される。候補パッチのサブセットは、テクスチャスコアηに基づいて決定される。したがって、テクスチャスコアηは、ブレンド係数αを通じたフィルタ処理、またノイズのある画素とブレンドされるＮＬＭ画素の値を通じたフィルタ処理の両方に影響を与える。不適当なパッチ又は異なるパッチをＮＬＭ平均化処理に用いる可能性を低減する目的で、操作４３５で計算される非局所平均は、より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めることになる。１つの実施形態において、ＮＬＭ計算に含める複数の候補パッチの数は、閉形式関数を評価することで決定される。代替の一実施形態において、複数の候補パッチの数は、候補パッチ数を特定のテクスチャスコア又はスコアの範囲に関連付けるＬＵＴにアクセスすることで決定される。特定の一実施形態において、ＮＬＭは、ブレンド係数αの計算に利用される同じ候補パッチから計算される。操作４４０で、次に平均目標画素の値＜ｑ＞が、候補パッチのサブセットから計算されたパッチ平均＜Ｑ＞から決定される。
【００４１】
方法４０１は操作４２９に進み、ここで、Ｓ個の最大パッチ加重値に関連付けられるパッチの数が、例えば式４に従って計算される。操作４３１で、ブレンド係数αが、Ｓ（η）個の最大加重値に基づいて、例えば、選択されたパッチ加重値のセットの中心傾向を示すパッチ加重値統計から（例えば式３に従って）計算される。操作４３３で、最終ブレンド係数α´がブレンド係数αの非線形マッピングを実行することで計算される。マッピング関数そのものは、局所テクスチャスコアηによってパラメータ化され、所望のレベルの優先度を目標画素の入力値に提供する。１つの実施形態において、最終ブレンド係数α´は、異なるテクスチャスコアを初期ブレンド係数と最終ブレンド係数との間の異なるマッピングに関連付けるルックアップテーブル（ＬＵＴ）にアクセスすることで決定される。そのようなマッピングはまた、ユーザ定義可能であってよい。代替の一実施形態において、最終ブレンド係数α´は、テクスチャスコアηの閉形式関数を、１つの例を提供する式５を用いて評価することで計算される。
【数４】
0006354101.tif 000005
ここで、ｂ（ｎ）＝α１η２＋α２η＋α３であり、α０＝５、α１＝１．７５、α２＝−１．９５、α３＝０．７である。
【００４２】
次に方法４０１は操作４５５に進み、ここで、操作４４０で決定されたＮＬＭ目標画素の値＜ｑ＞が、最終ブレンド係数α´に基づいて入力目標画素の値ｐｉｎとブレンドされる。１つの例示的な実施形態において、ブレンド操作は、入力画素の値及びＮＬＭ画素の値を相補的に重み付けするのに最終ブレンド係数α´を用いる（例えば、αを置き換えるα´を用いて式２を適用する）線形補間を伴う。次に方法４０１は、フィルタ処理した画素の値ｐｏｕｔを電子メモリに格納することで終了する。複数の更なる実施形態において、フィルタ処理した画素の値ｐｏｕｔは、ディスプレイパイプライン、及び／又はエンコードパイプライン、及び／又は無線送信パイプラインに更に出力される。
【００４３】
図５Ａは、１つ又は複数の実施形態によるシステム５０１の機能ブロック図であり、独立したテクスチャ検出ステージを含んだ画像ノイズ除去モジュール５４０を含む。画像処理システム５０１は、目標画素及び目標画素の空間近傍内の複数の画素に関する入力画素の値を受信する入力ポートを含む。複数の実施形態において、本明細書に説明されるテクスチャ強化型ＮＬＭノイズ低減技術と、処理を実行する関連回路とは、画像パイプライン内に配置され、生のデータ５１５に含まれる入力画素の値を有するＲＧＢ空間で動作する。
【００４４】
例示的な実施形態において、生のデータ５１５は、カメラセンサ５１０を含んだカメラハードウェアモジュール（ＣＭ）５０５から生じ、その両方ともシステム５０１の一部として含まれてよく、又は破線のブロックで示されるように含まれなくてもよい。センサ５１０は、例えば、ＱＸＧＡ、ＷＱＸＧＡ、又はＱＳＸＧＡフォーマットのデジタル画像デバイスであってよい。カメラセンサ１１０は、画素当たり１０ビット又はそれより大きい色解像度を提供してよく、連続的なビデオフレームを徐々にキャプチャするよう更に動作可能であってよい。センサ５１０は、１７０ＭＨｚ又はそれより高い画素周波数を有し得る。カメラセンサ５１０は、ＲＧＢベイヤー色フィルタ、アナログ増幅器、Ａ／Ｄコンバータ、入射光を生の画像データに対応するデジタル信号に変換する他のコンポーネントを含んでよい。センサ５１０は、ローリングシャッタ又は電子フォーカルプレーンシャッタプロセスを動作させるよう制御され得、画素がフレームに対して線順次方式で徐々に読み出される。生のデータはＩＳＰ５３０に入力される。ＩＳＰ５３０は、ＣＭ５０５に関連する水平ブランキング期間及び／又は垂直ブランキング期間の間に、生のビデオデータのフレームを受信して分析する。生の画像データを処理する間に、ＩＳＰ５３０は画像ノイズ除去モジュール５４０を用いてノイズ低減を実行する。例示的な実施形態において、ＩＳＰ５３０は、画素線形化、及びカメラセンサ５０５によって出力される生のベイヤーデータなどが線形化され（黒レベル補正も含む）カラーシェーディングが補正されるシェーディング補償のうち１つ又は複数を実行するプリプロセッサ５２０を更に含む。生の画像データの色度（白バランス）が更に計算され得る。補正される不良画素が分かると、レンズシェーディング補正もまた、ノイズ除去モジュール５４０の前段で実行され得る。代替の一実施形態において、プリプロセッサ５２０により実行される前処理の量は最小限であり、例えば、ノイズ除去モジュール５４０の前段にダークノイズ除去だけを含む。
【００４５】
図５Ａに示される例示的な実施形態において、画像ノイズ除去モジュール５４０が、画像信号プロセッサ（ＩＳＰ）５３０の論理回路によって実装される。代替的な実施形態において、画像ノイズ除去モジュール５４０が、例えばアプリケーション処理ユニット（ＡＰＵ）又は中央処理装置（ＣＰＵ）などのプログラマブルプロセッサ上で実行する論理回路にインスタンス化された１つ又は複数のソフトウェアスレッドとして実装される。ノイズ除去モジュール５４０がシステム５０１の入力ポート、例えばプリプロセッサ５２０の後段に結合される。ノイズ除去モジュール５４０は、近傍内で検出された又は近傍内に存在すると考えられるテクスチャのレベルを示すテクスチャスコアを入力画素の値に基づいて計算するテクスチャ処理モジュール５４５を更に含む。ノイズ除去モジュール５４０は、目標入力画素の非局所平均を入力画素の値に基づいて計算するＮＬＭモジュール５５０を更に含む。ノイズ除去モジュール５４０は、非局所平均と目標入力画素の値とのブレンドであるフィルタ処理した目標画素の値をテクスチャスコアに基づいて計算することで、目標入力画素の値に対する非局所平均の重み付けをテクスチャのレベルに反比例して調整するブレンドモジュール５５５を更に含む。テクスチャ処理モジュール５４５、ＮＬＭモジュール５５０、及びブレンダ５５５は一緒に交換可能に結合される。テクスチャ処理モジュール５４５、ＮＬＭモジュール５５０、及びブレンダ５５５のうち何れか又は全てが、固定関数論理回路、又はプログラマブル論理回路を用いて実装されてよい。
【００４６】
テクスチャ処理モジュール５４５は独立した画像ノイズ除去ステージとみなされてよく、ＮＬＭモジュール５５０及びブレンドモジュール５５５と情報を交換し、それらの動作を通知する。ＮＬＭモジュール５５０及びブレンドモジュール５５５のそれぞれは画像ノイズ除去の別個のステージとして機能を果たす。複数の実施形態において、ＮＬＭモジュール５５０は、複数の候補パッチの数と目標画素を含んだ近傍内の画素の目標パッチとの比較を実行することで、近傍内の候補パッチのパッチ加重値を計算する論理回路を更に含む。次にブレンドモジュール５５５は、パッチ加重値及びテクスチャスコアに基づいてブレンド係数を計算する論理回路を更に含む。ブレンドモジュール５５５はまた、ブレンド係数に基づく非局所平均と目標入力画素との間の補間によって、非局所平均を目標入力画素の値とブレンドする論理回路を更に含む。
【００４７】
いくつかの実施形態において、テクスチャ処理モジュール５５０は、近傍における最大パッチ加重値のセットをテクスチャスコアに基づいて選択する論理回路を更に含む。複数の更なる実施形態において、テクスチャ処理モジュール５５０は、選択されたパッチ加重値のセットの中心傾向を示すパッチ加重値統計に基づいてブレンド係数を計算する論理回路を更に含む。次にブレンドモジュール５５５は、非局所平均及び目標入力画素パッチと、パッチ加重値統計により相補的に重み付けされた非局所平均及び目標入力画素との加重和を取る論理回路を更に有する。
【００４８】
いくつかの実施形態において、テクスチャ処理モジュール５４５は、複数の候補パッチの数とゼロ以外の最小値との間の範囲のテクスチャスコアの単調減少する閉形式関数を評価する論理回路、又はインデックス値としてテクスチャスコアを用いてルックアップテーブル（ＬＵＴ）にアクセスする論理回路であって、ＬＵＴは異なる数の候補パッチを異なるテクスチャスコアに関連付ける、論理回路のうち少なくとも１つを用いて、候補パッチの整数の数を加重値のセットで表すよう決定する論理回路を更に有する。
【００４９】
いくつかの実施形態において、ブレンドモジュール５５５は、パッチ加重値及びテクスチャスコアに基づいてブレンド係数を計算する論理回路を更に有し、選択されたパッチ加重値のセットの中心傾向を示すパッチ加重値統計から初期ブレンド係数を計算する論理回路と、初期ブレンド係数のマッピングを通じてブレンド係数を計算する論理回路とを更に含み、マッピングはテクスチャスコアの関数である。
【００５０】
いくつかの実施形態において、ＮＬＭモジュール５５０は、より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めるべく、テクスチャスコアに基づいて近傍内の候補パッチのサブセットを選択する論理回路を更に含む。次にＮＬＭモジュール５５０は、対応するパッチ加重値により重み付けされる候補パッチのサブセットの平均によって決定される平均パッチから、目標入力画素の非局所平均を計算する。
【００５１】
また図５Ａに示されるように、画像処理システム５０１は、少なくとも電子メモリ５６３、ディスプレイ５６２、又はエンコーダ５６１に結合された出力ポートを更に含む。メモリ５６３は、生の画像データ５１１のフィルタ処理した表現として、フィルタ処理した画像画素を格納する。エンコーダ５６１は、生の画像データ５１１のフィルタ処理した表現として、フィルタ処理した画像画素をエンコードする。ディスプレイ５６２は、画像データ５１１のフィルタ処理した表現として、フィルタ処理した画像画素を提供する。複数の更なる実施形態において、ＩＳＰ５３０及び画像ノイズ除去モジュール５４０のうち１つ又は複数が、ユーザ空間及びカーネル空間を有するＡＰＵ（ＣＰＵ）５９０に結合される。
【００５２】
ユーザ空間上で実行されるアプリケーションは、ノイズ除去モジュール５４０を制御してよい（例えば、ＬＵＴにおけるＳ−η関係、又はシェーピング係数Ｃの値などを定義する）。
【００５３】
図５Ｂは、１つ又は複数の代替の実施形態によるシステム５０２の機能ブロック図であり、独立したテクスチャ検出ステージを含んだ画像ノイズ除去モジュール５４０を含む。この例示的な実施形態において、ＮＬＭノイズ低減技術及び関連回路は画像パイプライン内に配置され、色補正され変換されたＹＵＶデータ空間において動作する。図５Ｂは１つの例示的なシステムアーキテクチャを示し、その中で、画像ノイズ除去モジュール５４０が、ビデオ処理パイプライン用のダウンサンプリングフィルタとして動作する。例えば、システム５０２は、任意の知られた構成を有するストリーミングビデオパイプラインの出力に結合された画素値入力ポートを有する。ビデオパイプラインはまた、ＭＩＰＩ又は他のプロトコルなどの任意の知られたストリーミングプロトコルに準拠して、複数の連続的に露光されるフレームに関連付けられた生のビデオデータを出力するよう動作するセンサ５１０（図５Ａ）を含んでよい。例示的な実施形態において、システム５０２により受信されたｘｖＹＣＣ入力画素データ５０６は、デコード回路５６０によりＹＵＶ（Ｃｂ、Ｃｒ）フォーマットに変換される。
【００５４】
クロマサブサンプラ５７０が、例えば、４：４：４のＹＵＶデータから４：４：０のデータにダウンサンプリングされる。次にノイズ除去モジュール５４０が、図５Ａの文脈で実質的に上述されたモジュールを用いて、クロマサブサンプルデータセットにサブサンプリングされたＹ´チャネルデータ上で動作する。
【００５５】
図６は、１つ又は複数の実施形態による画像ノイズ除去モジュール５４０を利用する例示的な超低電力システム６００の図である。システム６００はモバイルデバイスであってよいが、システム６００はこの文脈に限定されるものではない。例えば、システム６００は、ウェアラブルコンピューティングデバイス、ウルトララップトップコンピュータ、タブレット、タッチパッド、ハンドヘルドコンピュータ、パームトップコンピュータ、セルラー電話、スマートデバイス（例えば、スマートフォン、スマートタブレット、又はモバイルテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイスなどに組み込まれてよい。システム６００はまた、インフラストラクチャデバイスであってよい。例えば、システム６００は、ラージフォーマットテレビ、セットトップボックス、デスクトップコンピュータ、又は他の家庭用又は商用ネットワークデバイスに組み込まれてよい。
【００５６】
システム６００は、様々なテクスチャ強化型ＮＬＭ画像ノイズ除去方法の全て又はサブセットと、図１〜図５Ｂの文脈で上述されたテクスチャ強化型ＮＬＭ画像ノイズ除去システムのいずれかを実装し得るデバイスプラットフォーム６０２を含む。様々な例示的な実施形態において、プロセッサ６１５はテクスチャ強化型ＮＬＭ画像ノイズ除去アルゴリズムを実行する。プロセッサ６１５は、例えば、テクスチャ強化型ＮＬＭ画像ノイズ除去アルゴリズムを実装する論理回路をＩＳＰ５３０に含み、これは本明細書の他の箇所に説明されるもののいずれかなどである。いくつかの実施形態において、１つ又は複数のコンピュータ可読媒体が複数の命令を格納してよく、複数の命令は、ＣＰＵ６１０及び／又はプロセッサ６１５により実行されると、上記に詳細に説明されたもののいずれかなど、１つ又は複数のテクスチャ強化型ＮＬＭ画像ノイズ除去アルゴリズムをプロセッサに実行させる。画像ノイズ除去モジュール５４０によりフィルタ処理された１つ又は複数の画像データフレームは次に、フィルタ処理した画像データとして電子メモリ６１２に格納されてよい。
【００５７】
複数の実施形態において、デバイスプラットフォーム６０２は、ヒューマンインタフェースデバイス（ＨＩＤ）６２０に結合される。プラットフォーム６０２は、フィルタ処理されてＨＩＤ６２０に出力される生の画像データを、ＣＭ５０５を用いて収集し得る。１つ又は複数のナビゲーション機能を含んだナビゲーションコントローラ６５０が、例えば、デバイスプラットフォーム６０２及び／又はＨＩＤ６２０と情報を交換するのに用いられてよい。複数の実施形態において、ＨＩＤ６２０は、無線６１８及び／又はネットワーク６６０を介してプラットフォーム６０２に結合される任意のテレビ型モニタ又はディスプレイを含んでよい。ＨＩＤ６２０は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビのようなデバイス、及び／又はテレビを含んでよい。
【００５８】
１つ又は複数のソフトウェアアプリケーション６１６の制御下において、デバイスプラットフォーム６０２はユーザインタフェース６２２をＨＩＤ６２０上に表示してよい。コントローラ６５０のナビゲーション機能の動きがポインタ、カーソル、フォーカスリング、又はディスプレイ上に表示される他の視覚インジケータの動きによって、ディスプレイ（例えば、ＨＩＤ６２０）上に再現され得る。例えば、ソフトウェアアプリケーション６１６の制御下において、ナビゲーションコントローラ６５０上に位置するナビゲーション機能は、ユーザインタフェース６２２上に表示される仮想ナビゲーション機能にマッピングされ得る。
【００５９】
複数の実施形態において、デバイスプラットフォーム６０２は、ＣＭ５０５、チップセット６０５、プロセッサ６１０、６１５、メモリ／ストレージ６１２、アプリケーション６１６、及び／又は無線６１８のうち任意の組み合わせを含んでよい。
【００６０】
チップセット６０５は、プロセッサ６１０、６１５、メモリ６１２、ビデオプロセッサ６１５、アプリケーション６１６、又は無線６１８の間に相互通信を提供し得る。
【００６１】
プロセッサ６１０、６１５のうち１つ又は複数は、１つ又は複数の複合命令セットコンピュータ（ＣＩＳＣ）又は縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、ｘ８６命令セット互換プロセッサ、マルチコア、あるいは他のマイクロプロセッサ又は中央処理装置（ＣＰＵ）として実装されてよい。
【００６２】
メモリ６１２は、限定されないが、ランダムアクセスメモリ（ＲＡＭ）ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、又はスタティックＲＡＭ（ＳＲＡＭ）などの揮発性メモリデバイスとして実装されてよい。メモリ６１２はまた、限定されないが、フラッシュメモリ、バッテリバックアップＳＤＲＡＭ（シンクロナスＤＲＡＭ）、磁気メモリ、相変化メモリなどの不揮発性記憶デバイスとして実装されてよい。
【００６３】
無線６１８は、様々な適切な無線通信技術を用いて信号を送信及び受信することが可能な１つ又は複数の無線を含んでよい。そのような技術は、１つ又は複数の無線ネットワークにわたる通信を含み得る。例示的な無線ネットワークは（限定されないが）、無線ローカルエリアネットワーク（ＷＬＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）、無線メトロポリタンエリアネットワーク（ＷＭＡＮ）、セルラーネットワーク、及び衛星ネットワークを含む。そのようなネットワークにわたる通信において、無線６１８は、任意のバージョンの１つ又は複数の適用可能な規格に従って動作し得る。
【００６４】
複数の実施形態において、システム６００は、無線システム、有線システム、又は両方の組み合わせとして実装され得る。無線システムとして実装される場合、システム６００は、無線共有媒体を介して通信するのに適切な複数のコンポーネント及びインタフェースを含んでよく、それらは、１つ又は複数のアンテナ、送信機、受信機、送受信機、増幅器、フィルタ、制御論理などである。無線共有媒体の一例には、ＲＦスペクトルなどの無線スペクトルの一部が含まれてよい。有線システムとして実装される場合、システム６００は、有線通信媒体を介して通信するのに適切な複数のコンポーネント及びインタフェースを含んでよく、それらは、入出力（Ｉ／Ｏ）アダプタ、Ｉ／Ｏアダプタを対応する有線通信媒体に接続する物理コネクタ、ネットワークインタフェースカード（ＮＩＣ）、ディスクコントローラ、ビデオコントローラ、オーディオコントローラなどである。有線通信媒体の例には、ワイヤ、ケーブル、金属リード線、プリント回路基板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体構成要素、ツイストペアワイヤ、同軸ケーブル、光ファイバなどが含まれ得る。
【００６５】
本明細書に説明されるテクスチャ強化型ＮＬＭ画像ノイズ除去アーキテクチャ及び関連アルゴリズムは、様々なハードウェアキテクチャ、セル設計、又は「ＩＰコア」に実装され得る。
【００６６】
上述されたように、システム６００は、様々な物理的形態又はフォームファクタで具現化され得る。図７は、モバイルハンドセットデバイス７００の実施形態を更に例示し、ここでシステム６００が具現化され得る。複数の実施形態において、例えば、デバイス７００は無線機能を有するモバイルコンピューティングデバイスとして実装され得る。モバイルコンピューティングデバイスとは、例えば、処理システムと、１つ又は複数のバッテリなどのモバイル電源又は電力供給部とを有する任意のデバイスを意味し得る。モバイルコンピューティングデバイスの例には、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、セルラー電話、セルラー電話／ＰＤＡの組み合わせ、テレビ、スマートデバイス（例えば、スマートフォン、タブレット、又はスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイスなどが含まれ得る。モバイルコンピューティングデバイスの例には、人が着用するよう構成されたコンピュータ及び／又はメディアキャプチャ／送信デバイスもまた含まれてよく、それらは、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、アイグラスコンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、シューズコンピュータ、衣類コンピュータ、及び他のウェアラブルコンピュータなどである。様々な実施形態において、例えば、モバイルコンピューティングデバイスは、コンピュータアプリケーション、並びに音声通信及び／又はデータ通信を実行することが可能なスマートフォンとして実装され得る。例としていくつかの実施形態が、スマートフォンとして実装されるモバイルコンピューティングデバイスを用いて説明され得るが、他の実施形態が他の無線モバイルコンピューティングデバイスを用いてもまた実装され得ることが理解されてもよい。複数の実施形態はこの文脈に限定されるものではない。
【００６７】
図７に示されるように、モバイルハンドセットデバイス７００は、正面７０１及び背面７０２を有するハウジングを含み得る。デバイス７００は、ディスプレイ７０４、入出力（Ｉ／Ｏ）デバイス７０６、及び集積アンテナ７０８を含む。デバイス７００はまた、ナビゲーション機能７１２を含み得る。ディスプレイ７０４は、モバイルコンピューティングデバイスに適切な情報を表示するための任意の適切なディスプレイユニットを含んでよい。Ｉ／Ｏデバイス７０６は、モバイルコンピューティングデバイスに情報を入力するための任意の適切なＩ／Ｏデバイスを含んでよい。Ｉ／Ｏデバイス７０６の例には、英数字キーボード、テンキーパッド、タッチパッド、入力キー、ボタン、スイッチ、マイク、スピーカ、音声認識デバイス、及びソフトウェアなどが含まれ得る。情報はまた、マイク（不図示）を介してデバイス７００に入力されてよく、又は音声認識デバイスによってデジタル化されてもよい。複数の実施形態はこの文脈に限定されるものではない。少なくとも背面７０２に集積されるのはカメラ７０５（例えば、レンズ、アパーチャ、イメージセンサを含む）及びフラッシュ７１０であり、両方ともＣＭのコンポーネントで有り得、ＣＭを通じて画像フレームが露光され、本明細書の他の箇所で説明されるもののいずれかなどのテクスチャ強化型ＮＬＭ画像ノイズ除去システムに出力される。
【００６８】
本明細書に説明される複数の実施形態は、ハードウェア要素、ソフトウェア要素、又は両方の組み合わせを用いて実装され得る。ハードウェア要素又はモジュールの例には、プロセッサ、マイクロプロセッサ、回路、回路素子（例えば、トランジスタ、抵抗器、コンデンサ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどが含まれる。ソフトウェア要素又はモジュールの例には、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ルーチン、サブルーチン、関数、方法、手順、ソフトウェアインタフェース、アプリケーションプログラミングインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、データ語、値、記号、又はこれらの任意の組み合わせが含まれる。
【００６９】
一実施形態がハードウェア要素及び／又はソフトウェア要素を用いて実装されるかどうかの決定は、設計の選択に検討される任意の数の要素に従って変化し得る。それらの要素は、限定されないが、所望の計算速度、電力レベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度、及び他の設計制約又は性能制約などである。
【００７０】
少なくとも１つの実施形態の１つ又は複数の態様が、機械可読記憶媒体に格納される代表的な命令によって実装され得る。そのような命令は、当該命令を格納し、機械可読記憶媒体も構成する機械、メインメモリ、及びプロセッサの一部によって実行されている間、メインメモリ内及び／又はプロセッサ内に、完全に又は少なくとも部分的に存在し得る。プログラマブル論理回路は、コンピュータ可読媒体を実装するプロセッサにより構成されるレジスタ、ステートマシンなどを有し得る。そのような論理回路は、プログラミングされると、本明細書に説明される複数の実施形態の範囲に含まれるシステムに物理的に変換されると理解されてよい。プロセッサ内で様々な論理を表す命令はまた、機械によって読み出されると、本明細書に説明されるアーキテクチャに準拠する論理を機械に作らせ得る、及び／又は本明細書に説明される技術を機械に実行させ得る。セル設計又はＩＰコアとして知られるそのような表現は、有形の機械可読媒体に格納され、様々な顧客又は製造施設に供給されて、論理又はプロセッサを実際に作成する製造機械にロードされ得る。
【００７１】
本明細書に明記される複数の特定の特徴が複数の実施形態を参照して説明されてきたが、この説明は限定する意味で解釈されることを意図するものではない。従って、本明細書に説明される実装の様々な変更及び他の実装は、本開示に関連する当業者には明らかではあるが、本開示の趣旨および範囲内にあるとみなされる。
【００７２】
以下の段落では、いくつか例示的な実施形態を簡潔に説明する。
【００７３】
１つ又は複数の第１の実施形態において、コンピュータにより実装される画像ノイズ低減方法は、目標画素及び目標画素の空間近傍内の複数の画素に関する入力画素の値を受信する段階を含む。本方法は、入力画素の値に基づいて、近傍内のテクスチャのレベルを示すテクスチャスコアを計算する段階を含む。本方法は、入力画素の値に基づいて、目標入力画素の非局所平均を計算する段階を含む。本方法は、非局所平均と目標入力画素の値とのブレンドであるフィルタ処理した目標画素の値をテクスチャスコアに基づいて計算することで、目標入力画素の値に対する非局所平均の重み付けをテクスチャのレベルに反比例して調整する段階を含み、さらに本方法は、フィルタ処理した目標画素の値を電子メモリに格納する段階を含む。
【００７４】
第１の実施形態を促進するために、目標入力画素の非局所平均を計算する段階は、近傍内の複数の候補パッチの数を決定する段階を更に有し、そこから、より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めるべく、非局所平均がテクスチャスコアに基づいて計算される。
【００７５】
第１の実施形態を促進するために、本方法は、各候補パッチと目標画素を含んだ近傍内の画素の目標パッチとの比較を実行することで、近傍内の１つ又は複数の候補パッチのパッチ加重値を計算する段階を更に含む。本方法は、パッチ加重値及びテクスチャスコアに基づいてブレンド係数を計算する段階を更に含む。本方法は、ブレンド係数に基づいて、非局所平均と目標入力画素との間を補間することで、非局所平均を目標入力画素の値とブレンドする段階を更に含む。
【００７６】
直前の実施形態を促進するために、本方法は、テクスチャスコアに基づいて最大パッチ加重値のセットを選択する段階を更に含む。パッチ加重値及びテクスチャスコアに基づいてブレンド係数を計算する段階は、選択されたパッチ加重値のセットの中心傾向を示すパッチ加重値統計に基づいてブレンド係数を計算する段階を更に有する。ブレンド係数に基づいて非局所平均と目標入力画素との間を補間する段階は、非局所平均と目標入力画素との加重和を取る段階を更に有し、非局所平均及び目標入力画素は、パッチ加重値統計によって相補的に重み付けされる。
【００７７】
直前の実施形態を促進するために、テクスチャスコアに基づいてパッチ加重値のセットを選択する段階は、複数の候補パッチの数とゼロ以外の最小値との間の範囲のテクスチャスコアの単調減少する閉形式関数を評価する段階、又はテクスチャスコアをインデックス値として用いてルックアップテーブル（ＬＵＴ）にアクセスする段階であって、ＬＵＴは異なる数の候補パッチを異なるテクスチャスコアに関連付ける、段階のうち少なくとも１つによって、候補パッチの整数の数を加重値のセットで表すよう決定する段階を更に有する。
【００７８】
直前の実施形態を促進するために、テクスチャスコアに基づいてパッチ加重値のセットを選択する段階は、テクスチャスコア及び候補パッチの合計数の単調減少する閉形式関数を評価することで、複数の候補パッチの数をセットで表すよう決定する段階を更に有する。
【００７９】
第１の実施形態を促進するために、本方法は、テクスチャスコアに基づいて最大パッチ加重値のセットを選択する段階を更に含む。パッチ加重値及びテクスチャスコアに基づいてブレンド係数を計算する段階は、選択されたパッチ加重値のセットの中心傾向を示すパッチ加重値統計から初期ブレンド係数を計算する段階と、初期ブレンド係数のマッピングを通じてブレンド係数を計算する段階とを更含み、マッピングはテクスチャスコアの関数である。
【００８０】
直前の実施形態を促進するために、最終ブレンド係数を計算する段階は、テクスチャスコアの単調減少する閉形式関数を評価する段階、又はインデックス値としてテクスチャスコアを用いてルックアップテーブル（ＬＵＴ）にアクセスする段階であって、ＬＵＴは異なるテクスチャスコアを初期ブレンド係数と最終ブレンド係数との間の異なるマッピングに関連付ける、段階のうち少なくとも１つを更に有する。
【００８１】
第１の実施形態を促進するために、テクスチャスコアを計算する段階は、近傍内の全ての画素の値又はそのサブセットにわたるバラツキ推定量を計算する段階と、信号強度によってバラツキ推定量を正規化する段階とを更に含む。
【００８２】
第１の実施形態を促進するために、目標入力画素の非局所平均を計算する段階は、複数の候補パッチの数と目標画素を含んだ近傍内の画素の目標パッチとの比較を実行することで近傍内の候補パッチごとにパッチ加重値を計算する段階と、対応するパッチ加重値によって重み付けされた複数の候補パッチを平均することで平均パッチを計算する段階とを更に含む。
【００８３】
１つ又は複数の第２の実施形態において、コンピュータにより実装される画像ノイズ低減方法は、目標画素及び目標画素の空間近傍内の複数の画素に関する入力画素の値を受信する段階を含む。本方法は、近傍内のテクスチャのレベルを示すテクスチャスコアを計算する段階を含む。本方法は、各候補パッチと目標画素を含んだ画素の目標パッチとの比較を実行することで、近傍内の１つ又は複数の候補パッチのパッチ加重値を計算する段階を含む。本方法は、テクスチャスコア及び候補パッチの合計数の単調減少する閉形式関数を評価することで、候補パッチの整数の数を表す最大パッチ加重値のセットを選択する段階を含む。本方法は、選択されたパッチ加重値のセットの中心傾向を示すパッチ加重値統計から初期ブレンド係数を計算する段階を含む。本方法は、初期ブレンド係数のマッピングを通じて最終ブレンド係数を計算する段階を含み、マッピングはテクスチャスコアの関数である。本方法は、より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めるべく、テクスチャスコアに基づいて近傍内の候補パッチのサブセットを選択する段階を含む。本方法は対応するパッチ加重値により重み付けされる候補パッチのサブセットを平均することで決定される平均パッチから、目標入力画素の非局所平均を計算する段階を含む。本方法は、最終ブレンド係数に基づいて非局所平均と目標入力画素との間を線形的に補間することで、非局所平均を目標入力画素の値とブレンドする段階を含む。本方法は、フィルタ処理した目標画素の値としてブレンドをメモリに格納する段階を含む。
【００８４】
第２の実施形態を促進するために、テクスチャスコアを計算する段階は、近傍内の全ての画素の値又はそのサブセットにわたるバラツキ推定量を計算する段階と、信号強度によってバラツキ推定量を正規化する段階とを更に含む。
【００８５】
１つ又は複数の第３の実施形態において、画像処理システムは、目標画素及び目標画素の空間近傍内の複数の画素に関する入力画素の値を受信する入力ポートを含む。システムは、入力ポートに結合されたノイズ除去モジュールを含む。ノイズ除去モジュールは、近傍内で検出されたテクスチャのレベルを示すテクスチャスコアを入力画素の値に基づいて計算するテクスチャ処理モジュールを更に含む。ノイズ除去モジュールは、目標入力画素の非局所平均を入力画素の値に基づいて計算するＮＬＭモジュールを更に含む。ノイズ除去モジュールは、非局所平均と目標入力画素の値とのブレンドであるフィルタ処理した目標画素の値をテクスチャスコアに基づいて計算することで、目標入力画素の値に対する非局所平均の重み付けをテクスチャのレベルに反比例して調整するブレンドモジュールを更に含む。システムは、ノイズ除去モジュールに結合された出力ポートを更に含み、フィルタ処理した目標画素の値を電子メモリに送信する。
【００８６】
第３の実施形態を促進するために、ＮＬＭモジュールは、複数の候補パッチの数と目標画素を含んだ近傍内の画素の目標パッチとの比較を実行することで、近傍内の候補パッチのパッチ加重値を計算する論理回路を更に含む。ブレンドモジュールは、パッチ加重値及びテクスチャスコアに基づいてブレンド係数を計算する論理回路と、ブレンド係数に基づいて非局所平均と目標入力画素との間を補間することで非局所平均を目標入力画素の値とブレンドする論理回路とを更に有する。
【００８７】
直前の実施形態を促進するために、テクスチャ処理モジュールは、テクスチャスコアに基づいて最大パッチ加重値のセットを選択する論理回路と、選択されたパッチ加重値のセットの中心傾向を示すパッチ加重値統計に基づいてブレンド係数を計算する論理回路とを更に有する。ブレンドモジュールは、非局所平均と目標入力画素との加重和を取る論理回路を更に有し、非局所平均及び目標入力画素はパッチ加重値統計によって相補的に重み付けされる。
【００８８】
直前の実施形態を促進するために、テクスチャ処理モジュールは、複数の候補パッチの数とゼロ以外の最小値との間の範囲のテクスチャスコアの単調減少する閉形式関数を評価する論理回路、又はインデックス値としてテクスチャスコアを用いてルックアップテーブル（ＬＵＴ）にアクセスする論理回路であって、ＬＵＴは異なる数の候補パッチを異なるテクスチャスコアに関連付ける、論理回路のうち少なくとも１つを用いて、候補パッチの整数の数を加重値のセットで表すよう決定する論理回路を更に有する。
【００８９】
第３の実施形態を促進するために、テクスチャ処理モジュールは、テクスチャスコアに基づいて最大パッチ加重値のセットを選択する論理回路を更に含む。ブレンドモジュールは、パッチ加重値及びテクスチャスコアに基づいてブレンド係数を計算する論理回路を更に有する。ブレンドモジュールは、選択されたパッチ加重値のセットの中心傾向を示すパッチ加重値統計から初期ブレンド係数を計算する論理回路を更に含む。ブレンドモジュールは、初期ブレンド係数のマッピングを通じてブレンド係数を計算する論理回路を更に含み、マッピングはテクスチャスコアの関数である。
【００９０】
第３の実施形態を促進するために、ブレンドモジュールはテクスチャスコアの単調減少する閉形式関数を評価する論理回路、又はインデックス値としてテクスチャスコアを用いてルックアップテーブル（ＬＵＴ）にアクセスする論理回路であって、ＬＵＴは異なるテクスチャスコアを初期ブレンド係数と最終ブレンド係数との間の異なるマッピングに関連付ける、論理回路のうち少なくとも１つを用いて最終ブレンド係数を計算する論理回路を更に含む。
【００９１】
第３の実施形態を促進するために、ＮＬＭモジュールは、より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めるべく、テクスチャスコアに基づいて近傍内の候補パッチのサブセットを選択する論理回路を更に含む。ＮＬＭモジュールは、対応するパッチ加重値により重み付けされる候補パッチのサブセットを平均することで決定される平均パッチから、目標入力画素の非局所平均を計算する論理回路を更に含む。
【００９２】
１つ又は複数の第４の実施形態において、モバイルコンピューティングプラットフォームは、第３の実施形態の画像処理システムと、入力に結合され、ＲＧＢ空間において入力画素の値を含んだ生の画像データを生成するカメラハードウェアモジュール（ＣＭ）とを含む。プラットフォームは、電子メモリ、出力に結合されたエンコーダ又はディスプレイ、フィルタ処理した画像画素を画像データのフィルタ処理した表現として格納するメモリ、フィルタ処理した画像画素を画像データのフィルタ処理した表現としてエンコードするエンコーダ、及びフィルタ処理した画像画素を画像データのフィルタ処理した表現として提供するディスプレイのうち少なくとも１つを更に含む。
【００９３】
１つ又は複数の第５の実施形態において、画像処理システムは、目標画素及び目標画素の空間近傍内の複数の画素に関する入力画素の値を受信する入力手段を含む。システムは、入力画素の値に基づいて近傍内で検出されたテクスチャのレベルを示すテクスチャスコアを計算する入力手段に結合されたテクスチャ処理手段を更に含んだノイズ除去手段を更に含む。ノイズ除去手段は、入力画素の値に基づいて目標入力画素の非局所平均を計算する入力手段に結合された非局所平均（ＮＬＭ）計算手段を更に含む。ノイズ除去手段は、テクスチャ処理手段とＮＬＭ計算手段と入力手段とに結合されたブレンド手段を更に含み、ブレンド手段は、非局所平均と目標入力画素の値とのブレンドであるフィルタ処理した目標画素の値をテクスチャスコアに基づいて計算することで、目標入力画素の値に対する非局所平均の重み付けをテクスチャのレベルに反比例して調整する。画像処理システム手段は、ブレンド手段に結合された出力手段を更に含み、フィルタ処理した目標画素の値を電子メモリに書き込む。
【００９４】
１つ又は複数の第６の実施形態において、１つ又は複数のコンピュータ可読記憶媒体は、そこに格納された複数の命令を有し、複数の命令はプロセッサにより実行されると、プロセッサに上記の複数の第１の実施形態のうちいずれか１つを実行させる。
【００９５】
１つ又は複数の第７の実施形態において、１つ又は複数のコンピュータ可読記憶媒体はそこに格納された複数の命令を含み、複数の命令はプロセッサにより実行されると、プロセッサに、目標画素及び目標画素の空間近傍内の複数の画素に関する入力画素の値を受信する段階を含んだ方法を実行させる。本方法は、入力画素の値に基づいて近傍内のテクスチャのレベルを示すテクスチャスコアを計算する段階を含む。本方法は、入力画素の値に基づいて目標入力画素の非局所平均を計算する段階を含む。本方法は、非局所平均と目標入力画素の値とのブレンドであるフィルタ処理した目標画素の値をテクスチャスコアに基づいて計算することで、目標入力画素の値に対する非局所平均の重み付けをテクスチャのレベルに反比例して調整する段階を含む。本方法は、フィルタ処理した目標画素の値を電子メモリに格納する段階を含む。
【００９６】
第７の実施形態を促進するために、媒体はそこに格納された複数の命令を含み、複数の命令はプロセッサにより実行されると、プロセッサに、近傍内の複数の候補パッチの数を決定する段階を更に含む方法を更に実行させ、そこから、より大きいレベルのテクスチャを検出することに対応してより少数の候補パッチを含めるべく、非局所平均がテクスチャスコアに基づいて計算される。
【００９７】
第７の実施形態を促進するために、媒体はそこに格納された複数の命令を含み、複数の命令はプロセッサにより実行されると、プロセッサに、複数の候補パッチの数と目標画素を含んだ近傍内の画素の目標パッチとの比較を実行することで近傍内の候補パッチの相似性スコアを計算する段階と、相似性スコア及びテクスチャスコアに基づいてブレンド係数を計算する段階と、ブレンド係数に基づいて非局所平均と目標入力画素との間を補間することで、非局所平均を目標入力画素の値とブレンドする段階とを更に含む方法を更に実行させる。
【００９８】
複数の実施形態は、説明された複数の例示的な実施形態に限定されず、添付の特許請求の範囲から逸脱することなく、変更及び修正を伴って実施され得ることが認識されるであろう。例えば、上記の複数の実施形態は、複数の特徴の特定の組み合わせを含んでよい。しかし、上記の複数の実施形態はこの点で限定されるものではなく、複数の実施形態において、上記の複数の実施形態はそのような特徴のサブセットだけを引き受けること、そのような特徴の異なる順序を引き受けること、そのような特徴の異なる組み合わせを引き受けること、及び／又は、明示的に列挙されたこれらの特徴以外に追加の特徴を引き受けることを含んでよい。従って、範囲はそのような特許請求の範囲が権利を与えられる等価物の全範囲とともに、添付の特許請求の範囲を参照して決定されるべきである。
【図１】
0006354101.tif 000006
【図２】
0006354101.tif 000007
【図３】
0006354101.tif 000008
【図４】
0006354101.tif 000009
【図５Ａ】
0006354101.tif 000010
【図５Ｂ】
0006354101.tif 000011
【図６】
0006354101.tif 000012
【図７】
0006354101.tif 000013