IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテュイティブ サージカル オペレーションズ, インコーポレイテッドの特許一覧

<>
  • 特許-光レベル適応フィルタ及び方法 図1
  • 特許-光レベル適応フィルタ及び方法 図2
  • 特許-光レベル適応フィルタ及び方法 図3A
  • 特許-光レベル適応フィルタ及び方法 図3B
  • 特許-光レベル適応フィルタ及び方法 図4A
  • 特許-光レベル適応フィルタ及び方法 図4B
  • 特許-光レベル適応フィルタ及び方法 図5
  • 特許-光レベル適応フィルタ及び方法 図6A
  • 特許-光レベル適応フィルタ及び方法 図6B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】光レベル適応フィルタ及び方法
(51)【国際特許分類】
   G06T 5/70 20240101AFI20240910BHJP
   H04N 23/60 20230101ALI20240910BHJP
【FI】
G06T5/70
H04N23/60 500
【請求項の数】 14
【外国語出願】
(21)【出願番号】P 2021071592
(22)【出願日】2021-04-21
(62)【分割の表示】P 2018538098の分割
【原出願日】2017-01-27
(65)【公開番号】P2021119491
(43)【公開日】2021-08-12
【審査請求日】2021-05-14
【審判番号】
【審判請求日】2023-06-21
(31)【優先権主張番号】62/288,956
(32)【優先日】2016-01-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】510253996
【氏名又は名称】インテュイティブ サージカル オペレーションズ, インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】トレホ,マックス ジェイ.
(72)【発明者】
【氏名】ディカルロ,ジェフリー エム.
【合議体】
【審判長】高橋 宣博
【審判官】千葉 輝久
【審判官】木方 庸輔
(56)【参考文献】
【文献】特開2013-175182(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T5/00
H04N5/232
(57)【特許請求の範囲】
【請求項1】
システムであって、当該システムは、
第1のフレームの画素データを取り込むように構成された画像センサと、
該画像センサに結合された適応ノイズフィルタと、を含み、
該適応ノイズフィルタは、
前記第1のフレームの画素データの第1の画素の信号レベルに基づいて推定画素ノイズパラメータを決定すること
前記第1の画素の前記信号レベルと少なくとも第2の画素の信号レベルとの間の差を決定することであって、前記第2の画素は、前記第1のフレームの取込みの前に前記画像センサによって取り込まれた以前のフレームの位置と前記第1のフレームの前記第1の画素の位置とが同じ位置にある画素である、こと
該差と前記推定画素ノイズパラメータとの比較結果に基づいて、前記適応ノイズフィルタを通過するのが許可される前記差の数量を決定すること
前記適応ノイズフィルタを通過するのが許可される前記差の前記数量に基づいてフィルタ処理された画素を取得すること及び
該フィルタ処理された画素を含む第2のフレームの画素データを出力すること、を行うように構成される、
システム。
【請求項2】
前記適応ノイズフィルタに結合された第2の適応ノイズフィルタであって、前記フィルタ処理された画素の推定画素ノイズパラメータを使用し、且つ前記フィルタ処理された画素の信号レベルと少なくとも第3の画素の信号レベルとの間の差を使用して前記フィルタ処理された画素をフィルタ処理して、さらにフィルタ処理された画素を取得するように構成された第2の適応ノイズフィルタ、をさらに含み、
前記適応ノイズフィルタは適応時間ノイズフィルタであり、前記第2の適応ノイズフィルタは適応空間ノイズフィルタであり、
前記第2の適応ノイズフィルタは、前記さらにフィルタ処理された画素を含む第3のフレームの画素データを出力する、請求項1に記載のシステム。
【請求項3】
前記適応ノイズフィルタは、前記フィルタ処理された画素に対応する画素ノイズをノイズ出力フレームに出力するように構成される、請求項2に記載のシステム。
【請求項4】
前記第2の適応ノイズフィルタは、前記ノイズ出力フレーム内の前記フィルタ処理された画素に対応する前記画素ノイズに基づいて、前記フィルタ処理された画素の前記推定画素ノイズパラメータを決定するように構成される、請求項3に記載のシステム。
【請求項5】
前記第1の画素の前記推定画素ノイズパラメータは、前記フィルタ処理された画素の前記推定画素ノイズパラメータとは異なる、請求項2乃至4のいずれか一項に記載のシステム。
【請求項6】
前記フィルタ処理された画素の前記推定画素ノイズパラメータは、前記フィルタ処理された画素のノイズの関数である、請求項2乃至5のいずれか一項に記載のシステム。
【請求項7】
前記適応ノイズフィルタは、前記第1の画素の前記信号レベルを受信し、且つ前記第1の画素の前記信号レベルに対応するノイズ標準偏差を出力するように構成された信号レベル対ノイズ・ルックアップテーブルを含み、前記ノイズ標準偏差は前記推定画素ノイズパラメータである、請求項1乃至のいずれか一項に記載のシステム。
【請求項8】
前記フィルタ処理された画素を取得することは、前記ノイズ標準偏差を使用して、前記第1の画素の前記信号レベルと、前記適応ノイズフィルタを通過することが許可される少なくとも前記第2の画素の前記信号レベルとの間の差の割合を決定することを含む、請求項に記載のシステム。
【請求項9】
フレームの画素データの第1の画素を適応的にノイズフィルタ処理する方法であって、当該方法は、
前記第1の画素の信号レベルに基づいて推定画素ノイズパラメータを決定するステップと、
前記第1の画素の前記信号レベルと少なくとも第2の画素の信号レベルとの間の差を決定するステップであって、前記第2の画素は、第1のフレームの取込みの前に画像センサによって取り込まれた以前のフレームの位置と前記第1のフレームの前記第1の画素の位置とが同じ位置にある画素である、ステップと
該差と前記推定画素ノイズパラメータとの比較結果に基づいて、適応ノイズフィルタを通過するのが許可される前記差の数量を決定するステップと
前記適応ノイズフィルタを通過するのが許可される前記差の前記数量に基づいてフィルタ処理された画素を取得するステップと、
該フィルタ処理された画素をフィルタ処理された画素データの出力フレームに出力するステップと、を含む、
方法。
【請求項10】
前記フィルタ処理された画素の推定画素ノイズパラメータを使用し、且つ前記フィルタ処理された画素の信号レベルと少なくとも第3の画素の信号レベルとの間の差を使用して、前記フィルタ処理された画素を適応的にノイズフィルタ処理して、さらにフィルタ処理された画素を取得するステップと、
該さらにフィルタ処理された画素をフィルタ処理された画素データの第2の出力フレームに出力するステップと、をさらに含む、請求項に記載の方法。
【請求項11】
前記フィルタ処理された画素に対応する画素ノイズを画素ノイズデータの出力フレームに出力するステップをさらに含む、請求項10に記載の方法。
【請求項12】
前記画素ノイズデータの出力フレーム内の前記フィルタ処理された画素に対応する前記画素ノイズに基づいて、前記フィルタ処理された画素の前記推定画素ノイズパラメータを決定するステップをさらに含む、請求項11に記載の方法。
【請求項13】
前記推定画素ノイズパラメータを決定するステップは、前記第1の画素の信号レベルを受信し、且つ前記第1の画素の前記信号レベルに対応するノイズ標準偏差を出力するように構成された信号レベル対ノイズ・ルックアップテーブルを使用するステップを含み、前記ノイズ標準偏差は前記推定画素ノイズパラメータである、請求項乃至12のいずれか一項に記載の方法。
【請求項14】
前記フィルタ処理された画素を取得するステップは、前記ノイズ標準偏差を使用して、前記第1の画素の前記信号レベルと、前記フィルタ処理された画素に通過することが許可される少なくとも前記第2の画素の前記信号レベルとの間の前記差の割合を決定するステップを含む、請求項13に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本特許出願は、2016年1月29日に出願された、”LIGHT LEVEL ADAPTIVE FILTER AND METHOD”という表題の米国仮特許出願第62/288,956号について優先権及び出願日の利益を主張するものであり、この文献はその全体が参照により本明細書に組み込まれる。
【0002】
本発明は、概して、コンピュータ支援手術システムのための画像パイプラインに関し、より具体的には、画像パイプラインに使用される適応フィルタに関する。
【背景技術】
【0003】
手術システム100は、内視鏡撮像システム192、外科医コンソール194(マスター)、及び患者側サポートシステム110(スレーブ)を含むコンピュータ支援手術システムであり、それら全てが、有線(電気又は光)又は無線接続196によって相互接続される。1つ又は複数の電子データプロセッサは、システム機能を提供するために、これらの主要な要素内に様々に配置してもよい。その例が、米国特許出願公開第2008/0065105号に開示されており、この文献は参照により本明細書に組み込まれる。
【0004】
患者側サポートシステム110は、エントリガイドマニピュレータ130を含む。少なくとも1つの手術装置アセンブリが、エントリガイドマニピュレータ130に結合される。各手術装置アセンブリは、手術用器具又は画像取込みユニットのいずれかを順に含む器具を含む。例えば、図1において、1つの手術装置アセンブリは、シャフト137-1を有する器具135-1と、外科的処置中にエントリガイド115を通って延びる画像取込みユニットとを含む。器具135-1は、時には、内視鏡、又は代替的に撮像システム装置又はカメラ器具と呼ばれる。典型的には、エントリガイド115は、複数のチャネルを含む。
【0005】
撮像システム192は、例えば、手術部位の取り込まれた内視鏡撮像データ及び/又は患者の外部の他の撮像システムからの手術前又はリアルタイムの画像データに対して画像処理機能を実行する。撮像システム192は、処理された画像データ(例えば、手術部位の画像だけでなく、関連する制御及び患者情報)を外科医コンソール194の外科医に出力する。いくつかの態様では、処理された画像データは、手術室の他の関係者又は手術室から離れた1つ又は複数の位置で見ることができるようにオプションの外部モニタに出力される(例えば、別の場所にいる外科医がビデオを監視してもよく、生のフィード(feed)ビデオをトレーニング等のために使用してもよい)。
【0006】
外科医コンソール194は、外科医が、器具、エントリガイド(複数可)、及び撮像システム装置(これらはまとめてスレーブ呼ばれる)を操縦するのを可能にする複数の自由度(DOF)の機械的入力装置(マスター)を含む。いくつかの態様では、これらの入力装置は、器具及び手術装置アセンブリの構成要素から外科医に触覚フィードバックを提供することができる。外科医コンソール194はまた、ディスプレイ上の画像が、一般に、ディスプレイスクリーンの後ろ/下で作業する外科医の手に対応する距離に焦点合わせするように位置付けされた立体ビデオ出力ディスプレイを含む。これらの態様は、米国特許第6,671,581号により十分に論じられており、この文献は参照により本明細書に組み込まれる。
【0007】
器具の挿入中の制御は、例えば、外科医が画像内に示された器具をマスターの一方又は両方で動かすことによって達成され得る。外科医は、マスターを使用して、器具を画像の左右に動かし、外科医の方に器具を引っ張る。マスターの動きによって、撮像システム及び関連する手術装置アセンブリが命令され、撮像システム及び関連する手術装置アセンブリが、出力ディスプレイ上の固定された中心点に向けて操縦され、且つ患者の内部に前進される。
【0008】
一態様では、カメラ制御装置は、マスターのハンドルを移動させる方向と同じ方向に画像が移動するように、マスターが画像に固定されているという印象を与えるように設計されている。この設計は、外科医がカメラ制御を終了したときに、器具を制御するための正しい位置にマスターを置き、その結果、この設計は、器具制御を開始又は再開する前に、マスターを元の位置にクラッチ接続(係合解除)、移動、及びクラッチ解除(係合)する必要性を回避する。
【0009】
患者側サポートシステム110のベース101は、受動的な制御されないセットアップアームアセンブリ120と、能動的に制御されるマニピュレータアームアセンブリ130とを含むアームアセンブリを支持する。能動的に制御されるマニピュレータアームアセンブリ130は、時には、エントリガイドマニピュレータ130と呼ばれる。エントリガイドマニピュレータアセンブリのプラットフォーム132(時には、プラットフォーム132と呼ばれる)は、第4のマニピュレータリンク119の先端部に結合される。エントリガイドマニピュレータアセンブリ133は、プラットフォーム132に回転可能に取り付けられる。矢印190は、先端方向及び基端方向を示す。
【0010】
エントリガイドマニピュレータアセンブリ133は、器具マニピュレータ位置付けシステムを含む。エントリーガイドマニピュレータアセンブリ133は、複数の器具マニピュレータ140-1,140-2をグループとして軸線125の周りに回転させる。
【0011】
複数の器具マニピュレータ140-1,140-2のそれぞれは、異なる挿入アセンブリ136によってエントリガイドマニピュレータアセンブリ133に結合される。一態様では、各挿入アセンブリ136は、エントリガイドマニピュレータアセンブリ133から離れる方向に及びそのアセンブリ133に向けて対応する器具マニピュレータを動かす伸縮式アセンブリである。図1では、挿入アセンブリのぞれぞれは完全に後退した位置にある。
【0012】
複数の器具マニピュレータアセンブリ140-1,140-2のそれぞれは、その器具マニピュレータの出力インターフェイスにおいて複数の出力を駆動する複数のモータを含む。器具マニピュレータ及びこの器具マニピュレータに結合することができる手術用器具の一例については、米国特許出願第61/866,115号(2013年8月15日出願)を参照されたい。また、この文献は参照により組み込まれる。
【0013】
複数の手術装置アセンブリ180のそれぞれは、複数の異なる器具マニピュレータアセンブリと、手術用器具及び画像取込みユニットのうちの1つを含む器具とを含む。器具135-1,135-2のそれぞれは、伝達ユニットを収容する本体を含む。伝達ユニットは、複数の入力部を含む入力インターフェイスを含む。器具135-1,135-2のそれぞれはまた、本体から先端方向に延びる主チューブと呼ばれることもあるシャフト137-1,137-2を含む。エンドエフェクタが、手術用器具アセンブリのシャフトの先端部に結合され、画像取込みユニット、例えばカメラが、異なる手術用器具アセンブリの先端部に含まれる。器具マニピュレータアセンブリ及び手術用器具の例について、米国特許出願第61/866,115号(2013年8月15日出願)を参照されたい。また、この文献は参照により組み込まれる。
【0014】
器具135-1,135-2のそれぞれは、対応する器具マニピュレータアセンブリ140-1,140-2の器具取付けインターフェイスに結合され、それによって器具135-1,135-2の伝達ユニットの入力インターフェイスにおける複数の入力部は、器具マニピュレータアセンブリ140-1,140-2の器具取付けインターフェイスの複数の出力部によって駆動される。米国特許出願第61/866,115号(2013年8月15日出願)を参照されたい。
【0015】
図1に示されるように、複数の手術装置アセンブリ180のシャフトは、器具の本体から先端方向に延びている。シャフトは、患者内への入口ポート(例えば、体壁を通って、又は自然オリフィスにおいて)に置かれた共通のカニューレ116を通って延びる。一態様では、エントリガイド115がカニューレ116内に位置付けされ、各器具シャフトは、器具シャフトに追加の支持を提供するように、エントリガイド115のチャネルを通って延びる。
【発明の概要】
【0016】
システムは、画像センサ、撮像パイプライン、及びディスプレイ装置を含む。画像センサは、画素データの第1のフレームを取り込むように構成される。撮像パイプラインは、画素データの第1のフレームを受け取るために画像センサに結合される。
【0017】
撮像パイプラインは、適応ノイズフィルタ(adaptive noise filter)を含む。適応ノイズフィルタは、第1の画素の推定画素ノイズパラメータを用い、且つ第1の画素の信号レベルと少なくとも第2の画素の信号レベルとの間の差を用いて画素をフィルタ処理するように構成される。適応ノイズフィルタはまた、画素データの第2のフレームを出力するように構成される。画素データの第2のフレームは、適応ノイズフィルタによってフィルタ処理された画素を含む。
【0018】
撮像パイプラインは、適応ノイズフィルタ処理された画素データの第2のフレームに基づいて画素データのフレームを出力するように構成される。ここで、適応ノイズフィルタ処理された画素データの第2フレームに基づく画素データのフレームは、撮像パイプラインによる適応ノイズフィルタ処理された画素データの第2フレームの更なる処理の結果である画素データのフレームである。ディスプレイ装置は、適応ノイズフィルタ処理された画素データの第2のフレームに基づいて、画素データのフレームを受け取るように撮像パイプラインに結合される。ディスプレイ装置は、適応ノイズフィルタ処理された画素データの第2のフレームに基づいて、画素データのフレームを表示するように構成される。
【0019】
一態様では、第2の画素は、第1のフレーム内の第1の画素の位置と同じ、画像センサによって取り込まれた第3のフレーム内の位置にある。第3のフレームは、第1のフレームを取り込む前の時間に取り込まれたので、適応ノイズフィルタによって使用される信号レベルの差は、2つの異なるフレーム内の同じ位置の画素同士の間の時間信号レベル変化である。別の態様では、第1の画素の信号レベルと少なくとも第2の画素の信号レベルとの差は、第1の画素の信号レベルと、第1の画素に隣接する複数の画素(時には、複数の隣接画素と呼ばれる)のうちの1つの信号レベルとの間の差である。複数の隣接画素のうちの1つは第2の画素である。
【0020】
適応ノイズフィルタは、適応時間ノイズフィルタ(adaptive temporal noise filter)を含む。適応時間ノイズフィルタは、第1及び第2の画素の信号レベルの時間変化を、第1の画素の推定画素ノイズレベルと比較するように構成される。この態様では、推定画素ノイズレベルは、推定画素ノイズパラメータである。また、適応時間ノイズフィルタは、画素ノイズフレームを出力するように構成される。
【0021】
一態様では、撮像パイプラインは複数のステージを含み、適応的な時間ノイズフィルタは、複数のステージのうちの第1のステージに含まれる。また、複数のステージのうちの第1のステージに続く複数のステージのそれぞれは、入力画素ノイズフレームを処理するように構成され、且つステージ依存画素ノイズフレームを出力するように構成される。
【0022】
別の態様では、適応ノイズフィルタは、適応空間ノイズフィルタ(adaptive spatial noise filter)を含む。適応空間ノイズフィルタは、第1の画素の信号レベルと、複数の隣接画素のそれぞれの信号レベルとの間の差を決定するように構成される。また、適応空間ノイズフィルタは、ノイズ依存信号レベルパラメータを使用し、ここで、ノイズ依存信号レベルパラメータは、第1の画素のノイズの関数である。この態様では、ノイズ依存信号レベルパラメータは、この態様では画素の推定画素ノイズパラメータである。別の態様では、適応空間ノイズフィルタは、距離(distance)フィルタ及び信号レベルレンジ(range)フィルタを含む。信号レベルレンジフィルタは、画素の信号レベルと複数の隣接画素の信号レベルのそれぞれとの間の差に基づいて、及びノイズ依存信号レベルパラメータに基づいて、画素をフィルタ処理するように構成される。一態様では、ノイズ依存信号レベルパラメータは、信号レベルレンジパラメータである。
【0023】
更なる態様では、撮像パイプラインステージは、信号レベル対ノイズ・ルックアップテーブルを含む適応時間ノイズフィルタを含む。適応時間ノイズフィルタは、画素のフレームを受け取るように構成され、画素の信号レベルの時間変化を、画素の信号レベルに対応する信号レベル対ノイズ・ルックアップテーブルの値と比較することによって、フレームの複数の画素の各画素をフィルタ処理するように構成され、且つその比較に基づいて、適応時間ノイズフィルタ処理された画素のフレームを出力するように構成される。
【0024】
別の態様では、撮像パイプラインステージは、現在の画素フレーム、信号レベル対ノイズ・ルックアップテーブル、変更ルックアップテーブル、画素出力フレーム、画素ノイズフレーム、並びに現在の画素フレーム、信号レベル対ノイズ・ルックアップテーブル、変更ルックアップテーブル、画素出力フレーム、及び画素ノイズフレームに結合される適応時間ノイズフィルタを含む。信号レベル対ノイズ・ルックアップテーブルは、現在の画素フレームの画素の信号レベルを受け取り、画素の信号レベルに対応するノイズ標準偏差を出力するように構成される。変更ルックアップテーブルは、ノイズ標準偏差の数値で表される画素の信号レベルの時間変化を受け取り、且つフィルタを通過する画素の信号レベルの許容される時間変化の割合を出力するように構成される。適応時間ノイズフィルタは、適応時間ノイズフィルタ処理された画素を画素出力フレームに出力するように構成される。また、適応時間ノイズフィルタは、画素ノイズ、すなわち、適応時間ノイズフィルタ処理された画素に対応する出力画素ノイズを画素ノイズフレームに出力するように構成される。
【0025】
さらに別の態様では、適応空間ノイズフィルタは、入力画素フレーム及び入力画素ノイズフレームを受け取るように構成され、画素の信号レベルと複数の隣接画素の信号レベルとの間の空間変化に基づいて、及びノイズ依存信号レベルパラメータに基づいて入力画素フレームの画素をフィルタ処理して、適応空間ノイズ処理された画素を生成するように構成される。ノイズ依存信号レベルパラメータは、画素に対応する入力画素ノイズフレーム内の画素ノイズを使用して決定される。画素の空間フィルタ処理は、入力画素フレーム内の複数の隣接画素に関連する。適応空間ノイズフィルタはまた、適応空間ノイズフィルタ処理された画素を、適応空間ノイズフィルタ処理された画素フレームに出力するように構成される。
【0026】
さらに別の態様では、撮像パイプラインステージは、入力画素フレーム及び入力画素ノイズフレームを含む。入力画素ノイズフレーム内の各画素ノイズ要素は、入力画素フレーム内の異なる画素に対応する。撮像パイプラインステージは、画素出力フレームと、入力画素フレーム、入力画素ノイズフレーム、及び画素出力フレームに結合された適応空間ノイズフィルタとをさらに含む。
【0027】
一態様では、適応空間ノイズフィルタは、適応空間ノイズ・バイラテラル(bilateral)フィルタを含む。位置xの画素について、適応空間ノイズ・バイラテラルフィルタは、以下のように規定される。
【数1】


ここで、
【数2】


は、位置xにおける画素の適応空間ノイズフィルタ処理された信号レベルであり、
【数3】


は、正規化定数であり、
【数4】


は、空間的なガウス分布であり、
【数5】


は、位置yの画素と位置xの画素との間の距離のノルムであり、
【数6】


は、距離パラメータであり、
【数7】


は、位置xにおける画素のノイズの関数である信号レベル範囲のガウス分布であり、
【数8】


は、位置yにおける画素の信号レベルであり、
【数9】


は、位置xにおける画素の信号レベルであり、
【数10】


は、位置yにおける画素(第2の画素)の信号レベルと位置xにおける画素(第1の画素)の信号レベルとの差の絶対値であり、
【数11】


は、位置xにおける画素のノイズの関数である信号レベルレンジパラメータであり、
【数12】


は、位置xに中心画素を有する画素のブロックであり、
【数13】


は、位置xに中心画素を有する画素ブロック内の画素に亘る総和を表す。
【0028】
一態様では、方法は、第1のフレームの第1の画素を受信するステップと、第1の画素の推定画素ノイズパラメータを用いて、且つ第1の画素の信号レベルと少なくとも第2の画素の信号レベルとの間の差を用いて、第1の画素を適応ノイズフィルタ処理して、フィルタ処理された画素を取得するステップとを含む。フィルタ処理された画素は、出力フレームに出力される。この方法はまた、フィルタ処理された画素に対応する画素ノイズをノイズ出力フレームに出力するステップを含む。
【0029】
別の態様では、第2の画素は、第1のフレーム内の第1の画素の位置と同じ、画像センサによって取り込まれた第2のフレーム内の位置にある。第2のフレームは、第1のフレームを取り込む前の時間に取り込まれる。この態様では、第1の画素を適応ノイズフィルタ処理するステップは、第1の画素の信号レベルの時間変化とも呼ばれる、第1の画素と第2の画素の信号レベルの変化と、第1の画素の推定画素ノイズレベルとの比較に基づいて、第1の画素を適応時間ノイズフィルタ処理するステップを含む。推定画素ノイズレベルは、この態様では推定画素ノイズパラメータである。
【0030】
第1の画素を適応時間ノイズフィルタ処理するステップは、第1の画素の信号レベルを信号レベル対ノイズ・ルックアップテーブルに入力するステップと、信号レベル対ノイズ・ルックアップテーブルを用いて、第1の画素の信号レベルに対応するノイズ標準偏差を出力するステップとを含む。ノイズ標準偏差は、この態様では第1の画素の推定画素ノイズレベルである。第1の画素を適応時間ノイズフィルタ処理するステップはまた、第1の画素の信号レベルの時間変化をノイズ標準偏差で除算して、第1の画素の信号レベルの時間変化をノイズの標準偏差として取得するステップを含み、除算は前記比較である。第1の画素を適応時間ノイズフィルタ処理するステップは、第1の画素の信号レベルの時間変化をノイズの標準偏差で変更ルックアップテーブルに入力するステップと、変更ルックアップテーブルを用いて、フィルタを通過する第1の画素の信号レベルの許容される時間変化の割合を出力するステップをさらに含む。最後に、第1の画素を適応時間ノイズフィルタ処理するステップは、第1の画素の信号レベルにおける許容される時間変化の割合に第1の画素の信号レベルの時間変化を乗算することによって、第1の画素の信号レベルにおける許容される時間変化を生成するステップと、第1の画素の信号レベルの許容される時間変化を対応する画素に加算することによって、フィルタ処理された画素を生成するステップであって、対応する画素は第2のフレームの画素であり、第2のフレームは、時間的に第1のフレームの直前にある、生成するステップを含む。
【0031】
さらに別の態様では、本方法の少なくとも1つの第2の画素は、第1の画素に隣接する複数の画素に含まれ、第1の画素を適応ノイズフィルタ処理するステップは、第1の画素の信号レベルと複数の隣接画素の信号レベルのそれぞれとの間の差に基づいて、及びノイズ依存信号レベルパラメータに基づいて、第1の画素を適応空間ノイズフィルタ処理するステップを含む。ノイズ依存信号レベルパラメータは、第1の画素のノイズの関数であり、ノイズ依存信号レベルパラメータは、この態様では第1の画素の推定画素ノイズパラメータである。
【0032】
画素を適応空間ノイズフィルタ処理するステップは、距離フィルタと信号レベルレンジフィルタとを組み合わせることによってフィルタ処理された画素を生成するステップを含み、信号レベルレンジフィルタは、ノイズ依存信号レベルパラメータの関数である。特に、信号レベルフィルタは、信号レベルレンジパラメータを有する信号レベル範囲のガウス分布を含む。信号レベルレンジパラメータは、ノイズ依存信号レベルパラメータである。
【図面の簡単な説明】
【0033】
図1】従来技術のコンピュータ支援手術システムの図である。
図2】適応ノイズフィルタを有する撮像パイプラインを含む撮像システムの図である。
図3A】適応時間ノイズフィルタを実施する方法である。
図3B】適応時間ノイズフィルタの図である。
図4A図3A及び図3Bの態様における信号レベル対ノイズ・ルックアップテーブルに含まれるデータのグラフ図である。
図4B図3A及び図3Bの態様における変更ルックアップテーブルに含まれるデータのグラフ図である。
図5】複数の適応ノイズフィルタを含む撮像パイプラインの図である。
図6A】適応空間ノイズフィルタを実施する方法である。
図6B】適応空間ノイズフィルタの図である。
【発明を実施するための形態】
【0034】
図面において、3桁の参照数字の第1桁は、その参照数字を有する要素が最初に現れる図の番号である。
【0035】
内視鏡撮像システム192における撮像パイプライン等の撮像パイプラインは、多くのノイズフィルタを含む。これらのノイズフィルタには、シーン内で予想されるノイズに基づくパラメータが含まれる。これらのノイズフィルタは、所与の信号レベル、例えばノイズに基づいてパラメータが選択される信号レベルを有する取り込まれたフレームに対しては良好に機能するが、これらのノイズフィルタは、異なる信号レベルで取り込まれたフレーム及び変化する信号レベルを含む画像フレームを処理するには問題を有する。
【0036】
これらの問題は、1つ又は複数の適応ノイズフィルタを含む撮像パイプラインによって解決される。適応ノイズフィルタのそれぞれは、画像取込みユニット、例えばカメラ内の画像センサによって測定されるような、局所ベースの信号レベルに関連するノイズ依存パラメータを選択する。適応ノイズフィルタのそれぞれにおいて使用されるノイズ依存パラメータは、画像フレーム毎に変化する可能性があり、画像フレーム内で画素毎に変化する可能性がある。具体的には、適応ノイズフィルタは、フレーム内の関心領域の信号レベルに基づいてノイズフィルタ処理を調整する。いくつかの例では、関心領域は画素であるが、他の例では、関心領域は画素のグループであり、ここで、画素のグループは、1画素よりも多くの画素を含み、フレーム内の画素数よりも少ない。適応ノイズフィルタのそれぞれは、第1の画素の値と少なくとも第2の画素の値との比較、例えば、時間的又は空間的変化とその画素の推定画素ノイズパラメータとを比較することによって画素を適応フィルタ処理し、ここで画素の推定画素ノイズパラメータは、画素データのフレーム内の総画素数未満の数に基づいている。推定画素ノイズが画素毎に変化する可能性があるので、適応フィルタは、推定画素ノイズパラメータにおけるそのような変化を補償する。
【0037】
内視鏡及び他の小型画像取込みセンサに使用される画像取込みセンサでは、画素は、露光時間内にその画素に入射する光子をカウントする。こうして、画素の信号レベルは、画素値と呼ばれることもあり、露光時間に亘る入射光子のカウントを含む。しかしながら、このカウント、すなわち信号レベルは、画素ノイズに関連する寄与も含み得る。画素ノイズは電子(ショット)ノイズによって支配され、画像取込みセンサの電気的変動による画素ノイズへの根本的な寄与もある。画素ノイズは、画像取込みセンサに当たる電子数の分散を扱う平方根関数として推定され、例えば、推定画素ノイズパラメータは推定画素ノイズレベルである。標準偏差の数値において推定画素ノイズと呼ばれることがある推定画素ノイズレベルは、以下のように推定することができる。
【数14】


ここで、
std(Noise)は、画素のノイズの標準偏差であり、
Oは、センサの電気ノイズによるオフセットであり、
Gは、ゲイン値であり、
SignalLevelは、画像取込みセンサによって読み取られる画素信号レベルであり、
MaxSignalLevelは、画像取込みセンサの最大画素信号レベルである。
ここで、画素信号レベル(SignalLevel)は、画像取込みセンサの画素に入射する光の尺度である。上の式は、低画素信号レベルでは、ノイズが高画素信号レベルよりもはるかに小さいことを示している。しかしながら、低信号レベルでは、ノイズは高信号レベルよりも信号のはるかに大きな部分を占める。
【0038】
例えば、オフセットOが2でゲインGが40、画素信号レベル(Signal Level)が6の第1の画素、画素信号レベル(Signal Level)が4000である第2画素を考える。この例では、12ビット画素が使用され、そのため最大画素信号レベル(Max Signal Level)は4095である。
std(第1の画素のノイズ)=2+40*(6/4095)**.5=3.5
std(第2の画素のノイズ)=2+40*(4000/4095)**.5=41.5
【0039】
こうして、第2の画素の推定画素ノイズの標準偏差は、第1の画素の推定画素ノイズの標準偏差の10倍を超える。しかしながら、第1の画素の推定画素ノイズの標準偏差は、第1の画素の画素信号レベルの約58%である一方、第2画素の推定画素ノイズの標準偏差は、第2画素の画素信号レベルの約1%である。
【0040】
一態様では、画像取込みユニット201が画素データのフレームを取り込み、この画素データのフレームは、撮像システム292の撮像パイプライン230によって処理される。典型的には、撮像パイプライン230は、複数のステージを含む。撮像システム292の撮像パイプライン230は、従来の撮像システム192の撮像パイプラインのステージ内の少なくとも1つのノイズフィルタが適応ノイズフィルタ210に置き換えられている点を除いて、従来の撮像システム192の撮像パイプラインと同様である。
【0041】
画素データ214のステージ入力フレーム(時には、入力フレーム214と呼ばれる)は、撮像処理パイプライン230の特定のステージに入力される画素データの関数である。撮像システム292の撮像パイプライン230内の適応ノイズフィルタ210は、入力フレーム214内の画素の信号レベルの変化がノイズであるか実際の変化であるかを判定することによって動作する。実際の変化は、信号レベルの実際の変化に起因する変化であり、ノイズに起因する変化ではない。適応ノイズフィルタ210が、画素の信号レベルの変化がノイズによるものであると判定した場合に、適応ノイズフィルタ210は、その画素をフィルタ処理し、フィルタ処理された画素をフィルタ処理された画素データのフレーム212に渡す。逆に、適応ノイズフィルタ210が、その画素の信号レベルの変化が信号レベルの変化に起因する、すなわち、実際の変化であると判定した場合に、適応ノイズフィルタ210は、フィルタ処理されていない画素をフィルタ処理された画素データのフレーム212に渡す。適応ノイズフィルタ210は、画素に関連する信号レベルの変化とその画素の推定画素ノイズパラメータと比較し、次にその比較に基づいて画素をフィルタ処理することによって、画素の信号レベルの変化がノイズによるものであるという判定を行う。
【0042】
こうして、適応ノイズフィルタ210は、画像取込みユニット201の画像取込みセンサによって取り込まれたフレーム202内の少なくとも関心領域の各画素を調べ、信号レベルの変化がノイズのみによって引き起こされるとみなされるかどうかに基づいて、各画素における信号レベル変化、例えば時間経過による変化又は隣接画素の間の空間的変化を処理する。この適応ノイズフィルタ処理は、従来技術のノイズフィルタを使用して得られたものよりも良好な画像をディスプレイユニット220に表示させる。
【0043】
従来技術のノイズフィルタでは、ノイズフィルタに使用されるパラメータが低信号レベルのノイズを対象とする場合に、高信号レベルを示す画素のノイズは、単にフィルタを通過するだけであった。その結果、ディスプレイユニットに表示されたシーンの高信号レベルのノイズは、表示されるシーンの明るい領域をフレーム毎に変化させ、ひいては表示されたシーンにノイズ誘発フリッカーを生じさせる可能性がある。
【0044】
逆に、従来技術のノイズフィルタに使用されるパラメータが高信号レベルのノイズを対象とする場合に、信号レベルが低い画素は、全てがノイズであると判定されるため、フィルタ処理されることになる。その結果、低信号レベルの画素の情報が失われることになる。
【0045】
本明細書で説明する適応ノイズフィルタは、各画素の信号レベルに基づいてノイズフィルタ処理を調整することによって、これらの問題を克服する。こうして、低信号レベルのフィルタ処理は、高信号レベルのフィルタ処理とは異なり、信号レベルが変化すると、画素の推定画素ノイズが変化し、フィルタ処理は、表示される画像における画素ノイズの影響が分からないようにノイズによる寄与を平滑化しながら、各画素によって伝達される情報を保存するように調整される。例えば、適応ノイズフィルタ210は、画素の信号レベルを使用して、その画素のノイズを信号レベル対ノイズデータ211にアクセスする。信号レベル対ノイズデータ211は、画素の信号レベルの可能な範囲に亘って各信号レベルに対して適切なノイズパラメータを有する。適応ノイズフィルタ210は、画素の信号レベルの変化とその画素の信号レベル対ノイズデータ211からのノイズレベルとを比較することにより、各画素がその画素の信号レベルのノイズに基づいて適切にフィルタ処理されることを保証する。これは、画素データのフレーム内の完全なシーンに亘って同じパラメータを使用するように試みられた従来技術のノイズフィルタで遭遇する問題を大幅に低減又は排除する。
【0046】
一態様では、適応ノイズフィルタ210は、画素ノイズデータの出力フレーム213(時には、ノイズフレーム213と呼ばれる)に各画素のノイズ値を保存する、例えば画素ノイズを保存する。一態様では、画素ノイズデータ213の値はノイズ標準偏差で表される。ノイズフレーム213は、パイプライン230を通過し、パイプライン230の各ステージによって処理される。その結果、パイプライン230の各ステージは、そのステージに入力されるノイズの表現を有し、その表現が、そのステージで実施される任意の適応ノイズフィルタ処理に使用され得る。
【0047】
以下でより完全に説明するように、一態様では、撮像パイプライン230は、撮像パイプライン230の初期ステージに適応時間ノイズフィルタを含む。適応ノイズフィルタ210が適応時間ノイズフィルタである場合に、画素データ214のステージ入力フレームは、画像取込みユニット201内の画像取込みセンサからの生の画素データの入力フレームである。
【0048】
別の態様では、撮像パイプライン230は、撮像パイプライン230の後のステージに適応空間ノイズフィルタを含む。適応ノイズフィルタ210が適応空間ノイズフィルタである場合に、画素データ214のステージ入力フレームは、例えば、デモザイク処理され、色変換された画素データの入力フレームである。
【0049】
さらに別の態様では、撮像パイプライン230は、撮像パイプラインの初期ステージの適応時間ノイズフィルタと、撮像パイプラインの後のステージの適応空間ノイズフィルタとの両方を含む。図5を参照されたい。
【0050】
適応ノイズフィルタ210が適応時間ノイズフィルタである場合に、生の画素データの現在のフレーム内の位置における現在の画素(第1の画素)の値は、時間的に現在のフレームの直前にフィルタ処理されたデータのフレーム内の同じ位置における先行してフィルタ処理された画素(第2の画素)の値と比較される。ここで、生の画素データは、未だデモザイク処理されていない画像取込みユニット201からのデータを指す。2つの画素の2つの値の差、すなわち現在の画素の時間変化を用いて、2つの画素の値の差がノイズによるものか、又は実際の変化であるのかを判定する。
【0051】
一態様では、現在の画素の値(信号レベル)に対するノイズの標準偏差(推定画素ノイズパラメータ)は、適応ノイズフィルタ210によって信号レベル対ノイズデータ211から取得される。次に、現在の画素の時間変化が、ノイズの標準偏差の数値に関して時間的な信号変化を得るために、ノイズの標準偏差で除算される。ノイズの標準偏差の数値に関する時間的な信号変化は、現在の画素の時間変化のどれ位の割合がフィルタ210を通過できるかを決定するために使用される。こうして、フィルタ210は、現在の画素の時間的な信号変化と現在の画素の推定画素ノイズパラメータ、例えば推定画素ノイズレベルと比較し、その比較に基づいてフィルタ処理を行う。一態様では、適応時間ノイズフィルタ処理された画素は、現在の画素の時間変化プラス第2画素の値の割合として規定される。適応時間ノイズフィルタ処理された画素の値は、フィルタ処理された画素データのステージ出力フレーム212(時には、出力フレーム212と呼ばれる)に置かれる。フィルタ210を通過できる現在の画素の許容される時間変化の割合が100%である場合に、現在の画素は、適応時間ノイズフィルタをそのまま通過する。フィルタ210を通過できる現在の画素の許容される時間変化の割合が100%未満である場合に、現在の画素は、その信号レベルに基づいてフィルタ処理される。出力フレーム212は、撮像パイプライン230を通して継続し、ディスプレイユニット220に表示される。こうして、出力フレーム212に基づくフレームが撮像パイプライン230によってディスプレイユニット220に送信される。すなわち、ディスプレイユニット220に送信されたフレームは、出力フレーム212が撮像パイプライン230内の後続のステージによって処理された後の出力フレーム212である。
【0052】
適応ノイズフィルタ210が適応空間ノイズフィルタである場合に、デモザイク処理され、色変換された画素データの現在のフレーム内の位置における現在の画素の値は、現在のフレーム内の隣接画素の値と比較される。適応空間ノイズフィルタ処理された画素としてフィルタを通過した現在の画素の空間的変化の割合は、現在の画素と隣接画素との空間的関係に基づいて、隣接画素の信号レベルに対する現在の画素の信号レベルの関係に基づいて、及び現在の画素のノイズ成分に基づいて重み付けされる。一態様では、以下でより完全に説明するように、適応空間ノイズフィルタは、画素の信号レベルと複数の隣接画素の信号レベルとの間の空間的変化に基づいて、及びノイズ依存信号レベルパラメータに基づいて、画素をフィルタ処理するように構成される。ノイズ依存信号レベルパラメータは、現在の画素のノイズの関数である。ここで、この態様では、ノイズ依存信号レベルパラメータは、画素の推定画素ノイズパラメータである。ステージ出力フレーム212は、撮像パイプライン230を通して継続し、ディスプレイユニット220に表示される。
【0053】
図3Aは、撮像パイプライン230で使用され得る適応時間ノイズフィルタの一実装形態のプロセスフロー図である。図3Bは、図3Aの方法350の適応時間ノイズフィルタ300の一実装形態のブロック図である。
【0054】
この例では、現在の画素フレーム315(図3B参照)内の画素は、順次処理されるものとして説明される。これは例示的なものに過ぎず、限定することを意図するものではない。本開示を考慮して、複数の画素を並行して処理することができ、フレーム内の画素をグループとして、又は他の何らかの事柄として処理することができる。図3Aのプロセスフロー図は、現在の画素における時間変化がノイズによるものであるかどうかを判定するために、現在の画素フレーム315(図3B参照)の各画素が処理されることを示すよう意図している。いくつかの態様では、フレーム内の全ての画素を処理する必要はない。こうして、少なくともフレームの関心領域内の画素、例えばフレーム内の複数の画素が、典型的には、適応時間ノイズフィルタ300によって処理され、ここで関心領域は既知であり、画素フレームの特定の部分となるように指定される。
【0055】
最初に、新フレーム検索プロセス301が、画像取込みユニット210内の画像取込みセンサから新しい画素フレーム302を取り出す。取り出された新しい画素フレーム302は、現在の画素フレーム315(図3B参照)として保存される。新フレーム検索プロセス301は画素取得プロセス303に移る。
【0056】
画素取得プロセス303は、現在の画素フレーム315(図3B参照)から第1の画素と、格納済みの以前フィルタ処理された画素フレーム304から第1の画素に対応する第2の画素とを取り出す。時には、現在の画素フレーム315からの第1の画素は、現在の画素と呼ばれる。格納済みの以前フィルタ処理された画素フレーム304は、現在の画素フレーム315に関連する時間の直前の時間にフィルタ処理された画素フレームである。現在の画素フレーム315が時間tについてのフレームである場合に、格納済みの以前フィルタ処理された画素フレーム304は時間t-1についてのフレームある。ここで、格納済みの以前フィルタ処理された画素フレーム304からの第2の対応する画素は、フレーム315内の第1の画素の位置と同じ、フレーム304内の位置にある画素である。ここで、画素が検索されたと言われるとき、それは画素の値が取り出されることである。画素の値は信号レベルを表す。画素取得プロセス303は、フレーム間の画素差分プロセス305に移る。
【0057】
フレーム間の画素差分プロセス305は、まず、第1の画素と第2の画素との間の時間変化を決定する、例えば、時間t-1における第2の画素の値から時間tにおける第1の画素の値の時間変化を決定する。フレーム間の画素差分プロセス305は、第1の画素の値の時間変化を画素生成プロセス309に供給する。
【0058】
次に、フレーム間の画素差分プロセス305は、第1の画素の時間変化の絶対値をとる。フレーム間の画素差分プロセス305は、第1の画素の時間変化の絶対値を信号レベル変更プロセス307に供給する。
【0059】
信号レベル変更プロセス307は、第1の画素の時間変化の絶対値を受信するだけでなく、信号レベル対ノイズ・ルックアップテーブル306からの値も受け取る(本明細書では、大文字及び小文字は要素を区別するために使用されない)。例えば、信号レベル対ノイズ・ルックアップテーブル(SIGNAL LEVEL TO NOISE LOOK-UP TABLE)306(図3A参照)、信号レベル対ノイズ・ルックアップテーブル(Signal Level
to Noise Look-up Table)306(図3B参照)、及び信号レベル対ノイズ・ルックアップテーブル(signal level to noise look-up table)306は全て同じ要素である。)
【0060】
図4Aは、一態様において、信号レベル対ノイズ・ルックアップテーブル306におけるデータのグラフ表示である。この態様では、曲線401を生成するために、上記の、オフセットOが2、ゲインGが40、最大画素信号レベル(Max Signal Level)が4095のノイズ規定(1)が使用された。曲線401は単なる例示であり、この特定の例に限定することを意図していない。本開示に鑑みて、この分野の知識を有する者は、撮像パイプラインにフレームを提供するために使用される画像センサの特性及び関連するゲインを表す信号レベル対ノイズ・ルックアップテーブル306を生成することができる。
【0061】
図4Aでは、信号レベルは水平方向のx軸に沿ってプロットされ、ノイズの標準偏差は垂直方向のy軸に沿ってプロットされる。こうして、信号レベル対ノイズ・ルックアップテーブル306が、画素取得プロセス303からx軸に沿った値である現在の画素の値を受け取ると、信号レベル対ノイズ・ルックアップテーブル306は、現在の画素の値についてy軸に沿って曲線の値401を出力する。例えば、現在の画素の信号レベル(現在の画素の値)が1750であると仮定する。信号レベル対ノイズ・ルックアップテーブル306が1750の入力値を受け取ると、信号レベル対ノイズ・ルックアップテーブル306は、現在の画素の標準偏差値28.1を出力する。このルックアップは、図4Aの点線で表される。
【0062】
一態様では、信号レベル対ノイズ・ルックアップテーブル306は、現在の画素の可能な信号レベルのそれぞれのエントリを含む。ただし、より少ない数のエントリを使用して、エントリ間の補間を使用することもできる。信号レベル対ノイズ・ルックアップテーブル306は、現在の画素の信号レベルについてのノイズの標準偏差を信号レベル変更プロセス307に供給するだけでなく、画素ノイズ生成プロセス311にも供給する。
【0063】
信号レベル変更プロセス307は、第1の画素の時間変化に含まれる標準偏差の数値を決定する、すなわち、第1の画素(現在の画素)の値の時間変化の絶対値を、信号レベル対ノイズ・ルックアップテーブル306から受け取られたノイズ標準偏差入力値で除算する。こうして、第1の画素の値の変化は、この例では推定画素ノイズパラメータである第1の画素の推定画素ノイズレベルと比較される。時間変化の絶対値に含まれる標準偏差の数値は、変更ルックアップテーブル308に入力される。
【0064】
変更ルックアップテーブル308に含まれるデータのグラフ表示が図4Bに示されている。ノイズの標準偏差における現在の画素の時間的な信号変化の可能な入力値の範囲は、水平方向のx軸に沿って示され、この例では、可能な入力値はゼロから4の標準偏差の範囲である。曲線402は、可能な入力値のそれぞれについて適応時間ノイズフィルタを通過可能な割合変化の出力を表し、所与の入力に対する曲線の値は、垂直方向のy軸からフィルタを通過可能な現在の画素の時間変化の割合(%)として読み取られる。
【0065】
曲線402によって示されるように、1のノイズ標準偏差又はそれ以下のノイズ標準偏差の現在の画素の時間変化について、現在の画素の時間変化の約19%、すなわち第1の固定された一定の割合がフィルタを通過可能にされる。3のノイズ標準偏差又はそれ以上のノイズ標準偏差の現在の画素の時間変化について、現在の画素の時間変化の100%、すなわち第2の固定された一定の割合がフィルタを通過可能にされる、すなわち現在の画素は、フィルタ処理されずにフィルタを通過する。2以上のノイズ標準偏差であるが3のノイズ標準偏差よりも小さい現在の画素の時間変化について、フィルタを通過可能にされる時間変化の割合が、1のノイズ標準偏差についての現在の画素の時間変化の約19パーセントから3のノイズ標準偏差についての100%まで線形的に変化する。
【0066】
例えば、現在の画素の時間変化におけるノイズの2の標準偏差の入力値について、変更ルックアップテーブル308は、フィルタを通過可能にされた現在の画素の時間変化の割合である約59%の値を出力する。このルックアップの例は、図4Bに点線で表されている。
【0067】
一態様では、変更ルックアップテーブル308は使用されず、図4Bに示されるような区分関数に置き換えられる。図4Bに示したものよりも複雑な曲線の場合に、曲線は、約512のエントリを有する変更ルックアップテーブル308で実施される。
【0068】
こうして、変更ルックアップテーブル308に入力される現在の画素の時間変化の絶対値に含まれる標準偏差の数値に応答して、変更ルックアップテーブル308は、現在の画素が適応時間ノイズフィルタを通過可能な対応する割合変化(change)を出力する。現在の画素が適応時間ノイズフィルタを通過可能な割合変化(change)は、画素生成プロセス309及び画素ノイズ生成プロセス311に供給される。
【0069】
画素生成プロセス309は、変更ルックアップテーブル308からのフィルタを通過可能にされた現在の画素の時間変化の割合、フレーム間の画素差分プロセス305からの現在の画素の時間変化、及び格納済みの以前フィルタ処理された画素フレーム304からの第2画素の値を、入力として受け取る。画素生成プロセス309は、変更ルックアップテーブル308からのフィルタを通過可能にされた現在の画素の時間変化の割合に、フレーム間の画素差分プロセス305からの現在の画素の時間変化を乗算し、次にその結果を、格納済みの以前フィルタ処理された画素フレーム304からの第2画素の値に加算して、画素出力フレーム310に渡される適応時間ノイズフィルタ処理された画素を取得する。こうして、適応フィルタ処理された出力画素は、上述した比較に基づいて出力される。
【0070】
画素ノイズ生成プロセス311は、適応時間ノイズフィルタを通過可能になる割合変化(change)、現在の画素の信号レベルに対するノイズ標準偏差(stdCurr)、及び時間的に直前のフレーム内の対応するフィルタ処理された画素の信号レベルに対するノイズ標準偏差(stdPrev)を、入力として受け取る。時間的に直前のフレーム内の対応する画素の信号レベルに対するノイズ標準偏差(stdPrev)は、直前の適応ノイズフィルタによって生成された画素ノイズ標準偏差のフレームである格納済みの以前の画素ノイズフレーム314から受け取られる。
【0071】
画素ノイズ生成プロセス311は、現在のフィルタ処理された画素に対する画素ノイズ標準偏差(stdOut)を生成する。この態様では、現在フィルタ処理された画素に対する画素ノイズ標準偏差(stdOut)は、以下のように規定される。
【数15】

【0072】
画素ノイズ生成プロセス311は、現在のフィルタ処理された画素に対する画素ノイズ標準偏差(stdOut)を、画素ノイズ出力フレーム312(時には、ノイズ出力フレーム312と呼ばれる)に書き込む。現在の画素ノイズは、適応時間ノイズフィルタ処理された画素のノイズ成分を表す。画素ノイズ生成プロセス311は、処理を最後の画素確認プロセス313に移す。
【0073】
最後の画素確認プロセス313は、現在の画素フレーム内の全ての画素がフィルタ処理されたかどうかを判定する。全ての画素がフィルタ処理された場合に、最後の画素確認プロセス313は新フレーム検索プロセス301に移り、そうでなければ画素取得プロセス303に移る。
【0074】
フレーム内の関心のある全ての画素がフィルタ処理されると、(フィルタ処理された画素のフレームと呼ばれる)画素出力フレーム310は、格納済みの以前フィルタ処理された画素フレーム304に移動される。また、画素ノイズ出力フレーム312は、格納済みの以前の画素ノイズフレーム314(時には、格納済の以前のノイズフレーム314と呼ばれる)に移動される。
【0075】
図3Aの方法350は、フレーム内の少なくとも1つの領域内の各画素を適応時間ノイズフィルタ処理し、その画素の推定画素ノイズに基づいてフィルタを調整する。さらに、この方法は、各画素へのノイズ寄与が撮像パイプラインの各フィルタステージで利用できるように、別のフィルタステージに達するまで、撮像パイプラインの各ステージによって処理される画素ノイズ出力フレームを生成する。各フィルタステージは、そのステージから画素ノイズ出力フレームを生成するオプションを含む。
【0076】
適応時間ノイズフィルタ300は、図3Aの方法350を実行するフィルタの一例である。適応時間ノイズフィルタ300は、第1の加算器320、絶対値モジュール321、除算器322、乗算器323、第2の加算器324、第2~第7の乗算器325,326,328,329,330,331、第3及び第4の加算器327,332、及び平方根モジュール333を含む。適応時間ノイズフィルタ300は、現在の画素フレーム315、格納済みの以前フィルタ処理された画素フレーム304、信号レベル対ノイズ・ルックアップテーブル306、変更ルックアップテーブル308、画素出力フレーム310、画素ノイズ出力フレーム312、及び格納済みの以前の画素ノイズフレーム314に接続される。一態様では、現在の画素フレーム315、格納済みの以前フィルタ処理された画素フレーム304、信号レベル対ノイズ・ルックアップテーブル306、変更ルックアップテーブル308、画素出力フレーム310、画素ノイズ出力フレーム312、及び格納済みの以前の画素ノイズフレーム314のそれぞれが、メモリに格納される。この例では、画素出力フレーム310は、画素出力フレーム310を格納済みの以前フィルタ処理された画素フレーム304に移動させることができるように、格納済みの以前フィルタ処理された画素フレーム304に結合される。同様に、画素ノイズ出力フレーム312は、画素ノイズ出力フレーム312を格納済の以前の画素ノイズ出力フレーム314に移動させることができるように、格納済の以前の画素ノイズ出力フレーム314に結合される。
【0077】
現在の画素フレーム315、格納済みの以前フィルタ処理された画素フレーム304、信号レベル対ノイズ・ルックアップテーブル306、変更ルックアップテーブル308、画素出力フレーム310、画素ノイズ出力フレーム312、及び格納済みの以前の画素ノイズフレーム314を適応時間ノイズフィルタ300とは別に示すことは、例示に過ぎない。例えば、適応時間ノイズフィルタ300は、図3Bにおいて、現在の画素フレーム315、格納済みの以前フィルタ処理された画素フレーム304、信号レベル対ノイズ・ルックアップテーブル306、変更ルックアップテーブル308、画素出力フレーム310、画素ノイズ出力フレーム312、及び格納済みの以前の画素ノイズフレーム314の全て又はいつかの組合せを含むように示され得る。
【0078】
画素取得プロセス303を実施するために、ライン上の信号(Control)が、適応時間ノイズフィルタ300の加算器320の第1の入力(In1)上で現在の画素フレーム315(時には、フレーム315と呼ばれる)からの第1の画素を駆動し、格納済みの以前フィルタ処理された画素フレーム304(時には、フレーム304と呼ばれる)から加算器320の反転される第2の入力(In2)に第2の画素を駆動する。上述したように、第1の画素は、時には現在の画素と呼ばれる。また、画素が、駆動される、又は入力に供給されると言われたとき、それは画素の値が入力上にあることを意味する。
【0079】
現在の画素は、適応時間ノイズフィルタ300の信号レベル対ノイズ・ルックアップテーブル306の入力(In)にも供給される。格納済みの以前フィルタ処理された画素フレーム304からの第2画素は、第2の加算器324の第2の入力(In2)にも供給される。
【0080】
加算器320は、格納済みの以前フィルタ処理された画素フレーム304からの第2画素の値を、現在の画素フレーム315からの第1の画素の値から減算する。これら2つの画素の間の差、すなわち第1の画素の時間変化は、適応時間ノイズフィルタ300の乗算器323の第1の入力(In1)及び絶対値モジュール321の入力(IN)に供給される。絶対値モジュール321は、2つの画素の間の時間差の絶対値をとる。2つの画素の時間差の絶対値は、除算器322の(分数の)分子入力(NUM)に供給される。この態様では、加算器320及び絶対値モジュール321を使用して、フレーム間の画素差分プロセス305を実施する。
【0081】
信号レベル対ノイズ・ルックアップテーブル306の入力(In)上の現在の画素の値に応答して、信号レベル対ノイズ・ルックアップテーブル306は、入力信号レベルに対応するノイズ標準偏差を現在の画素の値によって表されるように入力(In)上に出力する。出力ノイズ標準偏差は、除算器322の第2の入力(入力(DENOM))に供給され、且つ乗算器325の両方の入力に供給される。
【0082】
信号レベル変更プロセス307は、除算器322によって適応時間ノイズフィルタ300で実施される。上述したように、2つの画素の差の絶対値、すなわち現在の画素の時間変化の絶対値は、除算器322の第1の入力(Num)で受け取られる。今説明したように、信号レベル対ノイズ・ルックアップテーブル306(図3B参照)は、現在の画素の値を入力(In)上で受け取り、入力出力に応答して入力値に対応するノイズ標準偏差を受け取る。図4Aを参照されたい。ノイズ標準偏差は、除算器322の第2の入力(Denom)に提供される。
【0083】
除算器322は、第1の入力(Num)の値を第2の入力(Denom)の値で除算し、結果が出力(Out)にある。除算器322の出力(Out)上の結果は、変更ルックアップテーブル308の入力(In)に供給される。こうして、除算器322は、現在の画素の時間変化の絶対値を現在の画素のノイズ標準偏差で除算して、変更ルックアップテーブル308に入力されるノイズの標準偏差における時間的な信号変化を取得する。
【0084】
変更ルックアップテーブル308は、ノイズの標準偏差における入力時間信号変化に応答して、フィルタ300を通過可能な時間変化の割合を出力する。図4Bを参照されたい。フィルタ300を通過可能な時間変化の割合は、乗算器323の第2の入力(In2)、加算器327の反転される第2の入力(In2)、及び乗算器326の両方の入力に供給される。
【0085】
こうして、乗算器323は、フィルタ300を通過可能な時間変化の割合を第2の入力(In2)上で、及び第1の画素の時間変化を第1の入力(IN1)上で受け取る。乗算器323は、この2つの入力を乗算して、フィルタ300を通過可能な時間変化を取得する。フィルタ300を通過可能な時間変化は、乗算器323の出力(Out)に出力され、第2の加算器324の第1の入力(In1)に供給される。
【0086】
加算器324は、フィルタ300を通過可能な時間変化を第1の入力(In1)上で、及び格納済みの以前フィルタ処理された画素フレーム304からの第2の画素の値を第2の入力(In2)上で受け取る。(本明細書で使用される場合に、格納済みの以前フィルタ処理された画素フレーム304からの第2の画素は、そのフレーム内の第2の画素を文字通り参照するのではなく、現在の画素フレーム315内の現在の画素の位置と同じ、すなわち現在の画素の位置に対応する位置を有する、格納済みの以前フィルタ処理された画素フレーム304からの画素を指す。)加算器324は、フィルタ300を通過可能な時間的な信号変化を、格納済みの以前フィルタ処理された画素フレーム304からの第2の画素の値に加算し、その和を出力(Out)に出力する。和は、適応時間ノイズフィルタ処理された画素の値である。加算器324の出力(Out)は、画素出力フレーム310に接続される。こうして、適応時間ノイズフィルタ処理された画素が画素出力フレーム310に書き込まれる。乗算器323及び加算器324が、画素生成プロセス309を実施する。
【0087】
画素出力フレーム310は、撮像パイプラインの残りのステージによって処理され(図5参照)、次にディスプレイユニットに送られる。ディスプレイユニットに送信される画素データのフレームが、画素出力フレーム310を処理する撮像パイプラインの結果であるので、ディスプレイユニットに送信される画素データのフレームは、画素出力フレーム310に基づいていると言える。こうして、画素出力フレーム310に基づく画素データのフレームは、ディスプレイユニットによって表示され、そして上述したように、非適応時間ノイズフィルタ処理で得られたよりもより良好な画像を提供する。
【0088】
現在の画素のノイズ標準偏差(stdCurr)は、乗算器325の入力端子(In1)及び(In2)の両方にある。乗算器325は、この2つの値を乗算して、ノイズ標準偏差の2乗(stdCurr2)を生成する。ノイズ標準偏差の2乗(stdCurr2)は、乗算器330の第1の入力端子(In1)に接続される出力端子(Out)上で駆動される。
【0089】
フィルタを通過可能にする時間変化(change)は、乗算器326の入力端子(In1)及び(In2)の両方にある。乗算器326は、この2つの値を乗算して、フィルタを通過可能にする時間変化の2乗(change2)を生成する。フィルタを通過可能にする時間変化の2乗(change2)は、乗算器330の第2の入力端子(In2)に接続される出力端子(Out)上で駆動される。
【0090】
加算器327の第1の入力端子(In1)は入力として「1」を受け取り、反転される第2の入力(In2)は、ゼロと1との間の数として表される、フィルタを通過可能にする時間変化(change)の入力を受け取る。加算器は、フィルタを通過可能な時間変化の割合を1から引いて、値(1-change)を生成する。値(1-change)は、乗算器329の第1の入力端子(In1)及び第2の入力端子(In2)に接続される出力端子(Out)上で駆動される。
【0091】
格納済みの以前の画素ノイズフレームに対するライン上の信号(Control)は、現在の画素に対応する以前フィルタ処理された画素ノイズ標準偏差(stdPrev)を乗算器328の両方の入力端子(In1)及び(In2)上で駆動する。また、現在の画素に対応する以前フィルタ処理された画素ノイズ標準偏差(stdPrev)は、現在の画素フレーム315内の現在の画素の位置と格納済みの以前の画素ノイズフレーム314内の位置とが同じである、以前フィルタ処理された画素ノイズ標準偏差(stdPrev)である。乗算器328は、この2つの値を乗算して、以前フィルタ処理された画素ノイズ標準偏差の2乗(stdPrev2)を生成する。以前フィルタ処理された画素ノイズ標準偏差の2乗(stdPrev2)は、乗算器331の第2の入力端子(In2)に接続される出力端子(Out)上で駆動される。
【0092】
値(1-change)は、乗算器329の第1の入力端子(In1)と第2の入力端子(In2)との両方にある。乗算器329は、この2つの値を乗算して、値(1-change)2を生成する。(1-change)2の値は、乗算器331の第1の入力端子(In1)に接続される出力端子(Out)上で駆動される。
【0093】
フィルタを通過可能にする時間変化の2乗(change2)は、乗算器330の第2の入力端子(In2)上にあり、現在の画素のノイズ標準偏差の2乗(stdCurr2)は、乗算器330の第2の入力端子(In2)上にある。乗算器330は、この2つの値を乗算して、値(change2*stdCurr2)を生成する。値(change2*stdCurr2)は、加算器332の第1の入力端子(In1)に接続される出力端子(Out)上で駆動される。
【0094】
現在の画素に対応する以前フィルタ処理された画素のノイズ標準偏差の2乗(stdPrev2)は、乗算器331の第2の入力端子(In2)上にあり、値(1-change)2は、乗算器331の第1の入力端子(In1)上にある。乗算器331は、この2つの値を乗算して、値((1-change)2*stdPrev2)を生成する。値((1-change)2*stdPrev2)は、加算器332の第2の入力端子(In2)に接続される出力端子(Out)上で駆動される。
【0095】
こうして、加算器332は、値(1-change)2*stdPrev2を第2の入力端子(In2)上で、値change2*stdCurr2を第1の入力端子(In1)上で受け取る。加算器332は、この2つの値を加算して、値((1-change)2*stdPrev2+change2*stdCurr2)を生成する。値((1-change)2*stdPrev2+change2*stdCurr2)は、平方根モジュール333の入力端子(In)に接続される出力端子(Out)上で駆動される。
【0096】
平方根モジュール333は、値((1-change)2*stdPrev2+change2*stdCurr2)の平方根を取って、その結果(stdOut)を現在の画素フレーム315内の現在の画素の位置に対応する画素ノイズ出力フレーム312内の位置に格納する、すなわち、画素ノイズ出力フレーム312内の現在の画素に対応する位置に格納する。第2~第7の乗算器325,326,328,329,330,331と、第3及び第4の加算器327,332と、平方根モジュール333とが、画素ノイズ生成プロセス311を実施する。
【0097】
図5は、複数の適応ノイズフィルタを含む撮像パイプライン530の代表的なステージ501~504のブロック図である。撮像パイプライン530は、撮像パイプライン230の一例である。この撮像パイプラインの例では、適応時間ノイズフィルタ300が第1のステージ501に含まれ、適応空間ノイズフィルタ570が第4のステージ504に含まれる。撮像パイプライン530は、パイプラインの適応ノイズフィルタの出力に基づくフレームをディスプレイユニットに出力する。
【0098】
図5の例では、画像取込みユニット201は、ベイヤー(Bayer)赤-緑-青カラーフィルタを有する画像取込みセンサを含む。ベイヤー画素データ入力(data-in)フレーム515は、適応時間ノイズフィルタ300の現在の画素フレームである。ここで、ベイヤー画素データ入力フレーム515は、赤画素データのセット、緑画素データのセット、及び青データのセットを含む。しかしながら、ステージ501において、時間フィルタ処理は、特定の画素のセットの色属性に依存せず、各画素の信号レベルのみに依存する。
【0099】
図3A及び図3Bに関して説明したように、ベイヤー画素データ入力フレーム515内の各画素は、信号レベル対ノイズ・ルックアップテーブル506にアクセスし、信号レベル対ノイズ・ルックアップテーブル506は、各画素についてのノイズ標準偏差(推定画素ノイズパラメータ)をフレーム516内のベイヤー画素ノイズに出力する。信号レベル対ノイズ・ルックアップテーブル506は、信号レベル対ノイズ・ルックアップテーブル306と同様である。
【0100】
適応時間ノイズフィルタ300は、ベイヤー画素データ入力フレーム515及びフレーム516内のベイヤー画素ノイズを入力として受け取り、変更ルックアップテーブル308について前述したような変更ルックアップテーブル508を使用する。変更ルックアップテーブル508は、変更ルックアップテーブル308と同様である。適応時間ノイズフィルタ300は、ベイヤー画素データ入力フレーム515内の各画素についてベイヤー画素データ出力(data-out)フレーム510内の適応時間ノイズフィルタ処理された画素を生成し、且つ図3A及び図3Bに関して上述したように、ベイヤー画素データ入力フレーム515内の各画素についてベイヤー画素ノイズ出力(noise out)フレーム512内の画素ノイズを生成する。そのため、ここでは説明を繰り返さない。
【0101】
ベイヤー画素データ出力フレーム510及びベイヤー画素ノイズ出力フレーム512は、撮像パイプライン530の第2ステージ502(デモザイク処理ステージ)への入力フレームである。デモザイクプロセス550は、ベイヤー画素データ出力フレーム510の適応時間ノイズフィルタ処理された画素を処理して、フル解像度の赤画素フレーム(imRed)、フル解像度の緑画素フレーム(imGreen)、及びフル解像度の青画素フレーム(imBlue)を生成する。また、デモザイクプロセス550は、ベイヤー画素ノイズデータ出力フレーム512の画素ノイズを処理して、フル解像度の赤画素ノイズフレーム(imNoiseRed)、フル解像度の緑画素ノイズフレーム(imNoiseGreen)、及びフル解像度の青画素ノイズフレーム(imNoiseBlue)を生成する。ベイヤー赤、緑、及び青画素のセットをデモザイク処理して赤、緑、及び青画素のフル解像度フレームを取得するプロセスは、よく知られており、そのためさらに詳細に検討しない。
【0102】
フル解像度の赤画素フレーム(imRed)、フル解像度の緑画素フレーム(imGreen)、フル解像度の青画素フレーム(imBlue)、フル解像度の赤画素ノイズフレーム(imNoiseRed)、フル解像度の緑画素ノイズフレーム(imNoiseGreen)、及びフル解像度の青画素ノイズフレーム(imNoiseBlue)は、撮像パイプライン530の第3のステージ(色空間変換ステージ)への入力フレームである。色変換プロセス560は、赤画素、緑画素、及び青画素、すなわち、第1の色空間内の色画素を、輝度画素Y及び2つのクロミナンス画素U,V、すなわち第2の色空間内の色画素に変換する。RGB色空間からYUV色空間への変換は、よく知られており、そのためさらに詳細に検討しない。
【0103】
色変換プロセス560は、フル解像度の赤画素フレーム(imRed)、フル解像度の緑画素フレーム(imGreen)、及びフル解像度の青画素フレーム(imBlue)を、フル解像度の輝度画素フレーム(imY)、第1のフル解像度のクロミナンス画素フレーム(imU)、及び第2のフル解像度のクロミナンス画素フレーム(imV)に変換する。色変換プロセス560はまた、フル解像度の赤画素ノイズフレーム(imNoiseRed)、フル解像度の緑画素ノイズフレーム(imNoiseGreen)、及びフル解像度の青画素ノイズフレーム(imNoiseBlue)を、フル解像度の輝度画素ノイズフレーム(imNoiseY)、第1のフル解像度のクロミナンス画素ノイズフレーム(imNoiseU)、第2のフル解像度のクロミナンス画素ノイズフレーム(imNoiseV)に変換する。
【0104】
フル解像度の輝度画素フレーム(imY)、第1のフル解像度のクロミナンス画素フレーム(imU)、第2のフル解像度のクロミナンス画素フレーム(imV)、フル解像度の輝度画素ノイズフレーム(imNoiseY)、第1のフル解像度のクロミナンス画素ノイズフレーム(imNoiseU)、及び第2のフル解像度のクロミナンス画素ノイズフレーム(imNoiseV)は、撮像パイプライン530の第4のステージ504(適応空間ノイズフィルタステージ)への入力である。
【0105】
RGB色空間からYUV色空間に変換する理由の1つは、人間の視覚知覚にとって重要な輝度情報の大部分がYUV色空間の輝度成分Yに保持されることである。こうして、ステージ504において、適応空間ノイズフィルタ570は、輝度成分画素の空間的ノイズを適応フィルタ処理するだけである。これは、画素の2つのクロミナンス成分の空間ノイズを適応フィルタ処理する時間及び費用を掛けずに、最終的に表示される画像を向上させる。しかしながら、撮像パイプライン530で色変換が使用されない場合、又は色変換が輝度成分を含まない別の色空間に変換される場合に、適応空間ノイズフィルタ570は、各色成分の画素を適応空間ノイズフィルタ処理する。
【0106】
フル解像度の輝度画素フレーム(imY)及びフル解像度の輝度画素ノイズフレーム(imNoiseY)は、適応空間ノイズフィルタ570への入力である。フル解像度の輝度画素ノイズフレーム(imNoiseY)内の画素の値は、フル解像度の輝度画素フレーム(imY)内の対応する画素、すなわち、フレーム(imNoiseY)内の画素ノイズの位置とフレーム(imY)内の位置とが同じ画素のノイズ成分を表す。フレーム(imNoiseY)内の画素ノイズ値は、フレーム(imY)内の対応する画素のフィルタを特定する際に使用されるので、フィルタは適応空間ノイズフィルタであると言われる。このフィルタは、全ての画素について同じ定数パラメータを空間ノイズフィルタにおいて使用できると仮定するのではなく、各画素に関連する空間ノイズに適応される。
【0107】
適応空間ノイズフィルタ570は、適応空間ノイズフィルタ処理された画素の出力フレーム(imYout)及び画素ノイズの出力フレーム(imNoiseYout)を生成する。クロミナンス画素フレーム(imU)及びクロミナンス画素フレーム(imV)は、それぞれクロミナンス画素フレーム(imUout)及びクロミナンス画素フレーム(imVout)としてフィルタ処理されずに出力される。クロミナンス画素ノイズフレーム(imNoiseU)及びクロミナンス画素ノイズフレーム(imNoiseV)は、クロミナンス画素ノイズフレーム(imNoiseUout)及びクロミナンス画素ノイズフレーム(imNoiseVout)としてフィルタ処理されずに出力される。一態様では、適応空間ノイズフィルタ処理された画素のフレーム(imYout)、クロミナンス画素フレーム(imUout)、及びクロミナンス画素フレーム(imVout)は、パイプラインステージ504から出力される。これらのフレームは、パイプラインでさらに処理され、ディスプレイ装置に送信することができ、又は一態様ではディスプレイ装置に送信することができる。
【0108】
一態様では、適応空間ノイズフィルタ570は、適応空間ノイズ・バイラテラル(bilateral)フィルタとして、例えば以下のように実施され、
【数16】


ここで、
【数17】


は、フレーム内の位置xにおける画素のフィルタ処理された信号レベルである。
適応空間ノイズフィルタ570は、現在の画素をどの様にフィルタ処理するかを決定するために、現在の画素の周りの正方形の画素のブロック、例えば、複数の隣接画素を使用する。距離フィルタ(Distance Filter)は、現在の画素からのブロック内の隣接画素のユークリッド距離から決定された重みに基づいて、現在の画素をフィルタ処理する。信号レンジフィルタ(時には、レンジフィルタ(Range Filter)又は強度フィルタとも呼ばれる)は、フィルタ処理される画素に対応するフレーム(imNoiseY)内の画素ノイズの値に基づく適応ノイズ信号レンジフィルタである。こうして、レンジフィルタで使用される重みは、ブロック内の隣接画素と現在の画素との間の信号レベルの差だけでなく、現在の画素のノイズ成分にも基づく。入力画素フレーム内の現在の画素の位置と同じ位置にある画素ノイズ入力フレームの画素ノイズは、現在の画素に対応すると言われ、時には、現在の画素のノイズ成分と呼ばれることもある。
【0109】
非ノイズ適応バイラテラルフィルタが知られている。例えば、C. Tomasi及びR. Manduchiの、”Bilateral Filtering for Gray and Color Images”、1998年コンピュータビジョンに関するIEEE国際会議の議事録、Bombay India、pp.839-846(1998)を参照されたい。この文献は、当技術分野の知識の論証として参照により本明細書に組み込まれる。
【0110】
従来技術のバイラテラルフィルタと同様に、適応空間ノイズフィルタ570は、非線形のエッジ保存フィルタである。しかしながら、先に述べたように、従来のバイラテラルフィルタとは異なり、画素について、適応空間ノイズフィルタは、画素からの隣接画素のユークリッド距離に基づくだけでなく、隣接画素と現在の画素との間の信号レベルの差及び現在の画素のノイズ成分にも基づいて、フィルタで使用される重みを調整する。具体的には、以下でより完全に説明するように、適応空間ノイズフィルタ570は、現在の画素の近傍の画素の加重和をとる。重みは、現在の画素自体のノイズ成分だけでなく、隣接画素の空間距離及び信号レベルにも依存する。こうして、フレーム内の各画素における信号値は、近傍の画素からの信号値のノイズに基づく重み付き平均で置き換えられる。
【0111】
適応空間ノイズフィルタ570は、ノイズを平均化及び減少させながら、エッジ保存の効果をアーカイブする(archive)ために全画素について一定の信号範囲パラメータ(σr)に依存するバイラテラルフィルタの以前の実装とは異なり、その画素のノイズ成分に基づいて各画素について信号範囲パラメータ(σr)を調整する。こうして、フレーム内の各画素は、画素に関連するノイズに基づいて左右相称に(bilaterally)フィルタ処理される。すなわち、空間バイラテラルフィルタは各画素のノイズに適応する。
【0112】
一態様において、以下の式は、撮像パイプライン530に実装された適応空間ノイズフィルタ570の規定である。
【数18】


ここで、
【数19】


は、位置xにおける画素のフィルタ処理された信号レベルであり、
【数20】


は、正規化定数であり、
【数21】


は、空間的なガウス分布であり、
【数22】


は、位置yの画素と位置xの画素との間の距離のノルム(norm)であり、
【数23】


は、通常1~10の範囲の距離パラメータであり、
【数24】


は、位置xにおける現在の画素のノイズの関数である信号レベル範囲のガウス分布(signal level range Gaussian distribution)であり、
【数25】


は、位置yにおける画素の信号レベルであり、
【数26】


は、位置xにおける画素の信号レベルであり、
【数27】


は、位置yにおける画素の信号レベルと位置xにおける画素の信号レベルとの差の絶対値であり、
【数28】


は、位置xにおける画素のノイズの関数である信号レベルレンジパラメータであり、
【数29】


は、位置xに中心画素を有する画素のブロックであり、
【数30】


は、位置xに中心画素を有する画素ブロック内の画素に亘る総和を表す。
位置x及び位置yは、画素のブロック内の位置を指定し、各位置は2つの座標によって表されることに留意されたい。
【0113】
図6Aは、適応空間ノイズ画素フィルタ処理のための方法650の一実装形態のプロセスフロー図である。図6Bは、適応空間ノイズフィルタ670における図6Aの方法650の一実装形態のブロック図である。一態様では、適応空間ノイズフィルタ670は、撮像パイプライン230及び撮像パイプライン530で使用することができる。適応空間ノイズフィルタ670は、適応空間ノイズフィルタ570の一例である。
【0114】
最初に、新フレーム検索プロセス601は、新しい画素フレーム602、例えば、フレーム(imY)を取り出す。新フレーム検索プロセス601はブロック取得プロセス603に移る。
【0115】
ブロック取得プロセス603は、現在の画素フレーム616(図6B参照)から現在の画素の周りに中心を置いた、n×n画素の入力ブロックを取り出す。フレーム内の各画素が適応空間ノイズフィルタ処理されるか、又はフレーム内の少なくとも複数の画素が適応空間ノイズフィルタ処理され、そのため、現在の画素は、適応空間ノイズフィルタ処理された画素である。一態様では、n×n画素の入力ブロックは、現在の画素をブロックの中央に有する5画素×5画素のブロックである。ブロック取得プロセス603は、距離フィルタ(Distance Filter)プロセス604に移る。
【0116】
距離フィルタプロセス604は、入力ブロックの画素の各画素、すなわち入力画素ブロックの各画素について上記で規定された空間ガウス関数の値を生成し、その結果、n×nの距離フィルタ値ブロックにおけるそれぞれの位置について距離フィルタ値を生成する。距離フィルタプロセス604は、レンジ差(Range Difference)プロセス605に移る。
【0117】
レンジ差プロセス605は、現在の画素と入力画素ブロック内の他の画素のそれぞれとの間の信号レベルの差を決定する。具体的には、レンジ差プロセス605は、I(y)-I(x)の値を求め、ここで、xはブロック内の中心画素の位置であり、I(x)は中心画素の値であり、I(y)は入力画素ブロック内の位置yにおける画素の値であり、yは入力画素ブロック内の位置の範囲にあり、n×nのレンジ差ブロックにおける各位置についてレンジ差を生成する。レンジ差プロセス605は、範囲フィルタ(Range Filter)プロセス606に移る。
【0118】
範囲フィルタプロセス606は、上述したように現在の画素のノイズの関数である信号レベル範囲のガウス分布を実現する。範囲フィルタプロセス606は、信号レベル範囲のガウス分布を実現するために、現在の画素の信号レベルレンジパラメータ(σ(Noise)r)のノイズ依存値を必要とする。ここで、信号レベルレンジパラメータ(σ(Noise)r)の括弧内にノイズ(Noise)が含まれることは、信号レベルレンジパラメータ(σr)が現在の画素のノイズ成分の関数であることを意味する。この関数の結果は、バイラテラルフィルタのレンジフィルタが適応性を有し、左右相称にフィルタ処理される画素のノイズ成分に基づいて変化する結果となることである。その結果、空間ノイズフィルタはノイズに適応するため、適応空間ノイズフィルタと呼ばれる。こうして、適応空間ノイズフィルタは、位置yにおける画素の信号レベルと位置xにおける画素の信号レベルとの間の差の絶対値の2乗を、信号レベルレンジパラメータ(σ(Noise)r)の2乗で除算することによって、現在の画素の信号レベルを、複数の隣接画素の信号レベル及び推定画素ノイズパラメータと比較する。ここで、信号レベルレンジパラメータ(σ(Noise)r)は、この態様では推定画素ノイズパラメータである。この比較は、適応空間ノイズフィルタ処理された画素値を出力する際に使用される。
【0119】
一態様(図示せず)では、信号レベルレンジパラメータ(σ(Noise)r)は、現在の画素のノイズ成分の線形関数である。この態様では、現在の画素の位置は、パイプラインのステージに入力される画素ノイズデータのフレーム内の対応する位置、例えば同じ位置から画素ノイズを取り出すために使用される。取り出される画素ノイズは、中心画素に対応する。中心画素のノイズ成分である画素ノイズが線形関数に入力され、信号レベルレンジパラメータ(σ(Noise)r)が得られる。撮像パイプライン530の場合に、画素ノイズデータの入力フレーム612は、フレーム(imNoiseY)である。一態様では、線形関数の傾きは、2~3の間である。一態様では、傾き及びオフセットは、傾き及びオフセットとして異なる値を使用し、各値について適応空間フィルタを用いてノイズ画像をフィルタ処理し、次に、オブザーバのグループによって決定されるように、最良のフィルタ処理された画像を生成する値を選択することによって、経験的に決定される。
【0120】
別の態様では、図6Aに示されるように、現在の画素の位置は、画素ノイズデータフレーム612から画素ノイズを検索するために使用され、画素ノイズは、ノイズ対シグマRルックアップテーブル613に入力される。このテーブルは、線形関数について説明したものと同等の手順を用いて経験的に生成されるが、より複雑な曲線が使用される。こうして、ノイズ対シグマRルックアップテーブル613は、複数の画素ノイズレベルのそれぞれについて信号レベルレンジパラメータ(σ(Noise)r)を含み、ここで一態様では、複数の画素ノイズレベルは、手術画像で一般的に遭遇する画素ノイズの範囲を含む。ノイズ対シグマRルックアップテーブル613は、入力画素ノイズに対応する信号レベルレンジパラメータσ(Noise)rを範囲フィルタプロセス606に出力し、それによって現在の画素のノイズ成分に依存する信号レベルレンジパラメータσ(Noise)rを出力する。
【0121】
こうして、範囲フィルタプロセス606は、n×nブロックの範囲フィルタ処理された値を生成し、ここで、範囲フィルタ処理された値のn×nブロックの所与の位置における範囲フィルタ処理された値は、所与の位置とn×nブロックのレンジ差の同じ位置から、例えば対応する位置からの入力レンジ差及び入力信号レベル(σ(Noise)r)を使用する信号レベル範囲のガウス分布の値である。こうして、範囲フィルタプロセス606は、フィルタ結合(Combine Filters)プロセス607に移る。
【0122】
フィルタ結合プロセス607は、距離フィルタ値のn×nブロック内の位置の値に、2つのブロック内の各位置についてのレンジフィルタ(range filter)値のn×nブロックの内の同じ位置の値を乗算し、n×nの合成フィルタ値ブロックにおける各位置について合成フィルタ値を生成する。フィルタ結合プロセス607は、正規化プロセス608に移る。
【0123】
正規化プロセス608は、まず、上で規定した正規化定数Cの値を決定する。具体的には、正規化プロセス608は、n×nブロックの合成フィルタ値の値を合計して、正規化定数Cを生成する。次に、正規化プロセス608は、n×nの合成フィルタ値ブロックの各位置の値を正規化定数Cで除算して、n×nの正規化された合成フィルタ値ブロックを生成する。正規化プロセス608は、画素生成プロセス609に移る。
【0124】
画素生成プロセス609は、適応空間ノイズフィルタ処理された画素を生成し、(時には、画素データの出力フレーム又はフィルタ処理された画素出力フレームと呼ばれる)フィルタ処理された画素データの出力フレーム614に適応空間ノイズフィルタ処理された画素を書き込む。具体的には、画素生成プロセス609は、n×nの正規化された合成フィルタ値ブロックの同じ位置の値に、n×nの入力画素ブロックの同じ位置の値を乗算することによって、n×nの適用フィルタ値ブロックにおける位置について適用フィルタ値を生成する。乗算は、ブロック内の各位置について行われる。最後に、ブロック中央の画素の適応空間ノイズフィルタ処理された画素を生成するために、画素生成プロセス609は、n×nブロックの適用フィルタ値の値を合計して、適応空間ノイズフィルタ処理された画素を取得し、この適応空間ノイズフィルタ処理された画素は、フィルタ処理された画素データの出力フレーム614内の適切な位置、すなわち、現在の画素フレーム616内の中心画素の位置と同じフィルタ処理された画素データの出力フレーム614内の位置に書き込まれる。フィルタ処理された画素データの出力フレーム614は、時には、フィルタ処理された画素データ出力フレーム614と呼ばれる。
【0125】
画素ノイズ生成プロセス610は、オプションであり、典型的には適応ノイズフィルタを使用するパイプラインにおいて別のフィルタステージが後にある場合に実施される。上記のように、正規化定数Cは、以下のように規定される。
【数31】

【0126】
正規化定数Cを決定する際に、n×nブロックの合成フィルタ値が生成され、ブロック内の位置における合成フィルタ値(Cxy)は、以下のように表される。
【数32】

【0127】
また、上で説明したように、n×nの合成フィルタ値ブロックの各位置の値を正規化定数Cで除算して、以下に示されるような、n×nブロックの正規化された合成フィルタ値(CFN)を生成した。
【数33】

【0128】
画素ノイズ生成プロセス610は、正規化プロセス608からこのn×nブロックの正規化された合成フィルタ値(CFN)を受け取る。また、現在の画素を中心とするn×n画素ブロックの各画素について、画素ノイズデータのフレーム612内に対応する画素ノイズ標準偏差(stdPixi,j)を含む。現在の画素の画素ノイズ出力標準偏差(stdOut)は、以下のように規定される。
【数34】

【0129】
画素ノイズ出力標準偏差(stdOut)は、画素ノイズ出力フレーム615(時には、画素ノイズデータの出力フレーム615と呼ばれる)に渡される。画素ノイズ生成プロセス610は、プロセスを最後の画素確認プロセス611に移す。
【0130】
最後の画素確認プロセス611は、現在の画素フレーム内の全ての画素がフィルタ処理されているかどうかを判定する。全ての画素がフィルタ処理されている場合に、最後の画素確認プロセス611は、新フレーム検索プロセス601移り、そうでなければブロック取得プロセス603に移る。
【0131】
以下は、適応空間ノイズフィルタ670の一態様の擬似コード実装である。
sigmaD = 1 “距離フィルタのシグマ値”
I = [5, 5] “ブロックのサイズを規定する”
distFilt = fspecial('gausian',[5, 5], 10) “ブロック内の各位置について距離フィルタを評価する”
cp = I(3, 3) “中心画素を規定する”
diff = I-cp “各画素と中心画素との間の信号レベル差”
np = location of cp in noise frame “中心画素に対応する画素ノイズを規定する”
sigmaR = lookup (np) “中心画素に対応するノイズ画素の関数としてSigmaRを取得する”
rangeFilt = exp(-diff.^2/2*sigmaR^2))) “ブロック内の各位置の範囲フィルタを評価する”
combFilt = rangeFilt. * distFilt “範囲フィルタの各要素に、距離フィルタの対応する要素を乗算する”
sumFilt = sum(combFilt(:)) “結合フィルタの値を合計する”
combFiltNorm = comFilt./sumFilt “結合フィルタの各値を正規化係数で除算する”
appliedFilter = I. * comFiltNorm “ブロック内の各画素に正規化結合フィルタを乗算する”
newValue = sum(appliedFilter(:)) “フィルタ処理された中心画素は、適用されたフィルタの値の合計である”
一態様では、適応空間ノイズフィルタは、コンピュータプログラミング言語で書かれ、撮像パイプライン内のプロセッサ上で実行可能な実行可能モジュールにコンパイルされる。あるいはまた、適応空間フィルタは、ハードウェア、ファームウェア、或いはハードウェア、ファームウェアの任意の組合せ、並びにプロセッサ及び実行可能モジュールの組合せで実装することができる。例えば、図6Bを参照されたい。
【0132】
適応空間ノイズフィルタ670は、図6Aの方法650を実行するフィルタの一例である。適応空間ノイズフィルタ670は、距離フィルタモジュール620、第1の集計器(summer)621、範囲フィルタモジュール622、第1の乗算器623、第2の集計器624、除算器625、第2の乗算器626、第3の集計器627、乗算器バンク628、第4の集計器629、及び平方根モジュール630を含む。適応空間ノイズフィルタ670は、現在の画素フレーム616、現在の画素ノイズフレーム612、ノイズ対シグマRルックアップテーブル613、フィルタ処理された画素データの出力フレーム614、及び画素ノイズ出力フレーム615に接続される。一態様では、現在の画素フレーム616、現在の画素ノイズフレーム612、ノイズ対シグマRルックアップテーブル613、フィルタ処理された画素出力フレーム614、及び画素ノイズ出力614のそれぞれは、メモリに格納される。
【0133】
現在の画素フレーム616、現在の画素ノイズフレーム612、ノイズ対シグマRルックアップテーブル613、フィルタ処理された画素出力フレーム614、及び画素ノイズ出力フレーム615を適応空間ノイズフィルタ670とは別のものとして示すことは、例示に過ぎない。例えば、適応空間ノイズフィルタ670は、現在の画素フレーム616、現在の画素ノイズフレーム612、ノイズ対シグマRルックアップテーブル613、フィルタ処理された画素出力フレーム614、及び画素ノイズ出力フレーム615の全て又はいくつかの組合せを含むように図6Bに描かれ得る。
【0134】
ブロック取得プロセス603を実施するために、制御信号が、現在の画素フレーム616(時には、フレーム616とも呼ばれる)に供給され、画素のブロックI(n, n)が距離フィルタモジュール620に、及び集計器621の第1の入力に供給され、ブロックI(n, n)の中心画素(cp)は、適応空間ノイズフィルタ670の集計器621の第2の反転入力(In2)に供給される。ここで、nは、正の非ゼロの奇数である。
【0135】
上述したように、中心画素は、時には現在の画素と呼ばれる。また、画素が、入力上で駆動される、又は入力に供給されると言われるとき、それは画素の値が入力上にあることを意味する。
【0136】
距離フィルタモジュール620は、ブロックI(n, n)の各画素、すなわちブロックI(n, n)の各位置について上記で規定した空間ガウス関数を実施し、ブロックI(n, n)の各位置について距離フィルタ値を生成する。距離フィルタモジュール620は、距離フィルタプロセス604を実施する。
【0137】
集計器621は、ブロックI(n, n)内の各値から中心画素の値を減算する。すなわち、集計器621は、現在の画素とブロックI(n, n)内の他の画素のそれぞれとの間の信号レベルの差を決定して、n×nブロックの信号レベルレンジ差を生成する。集計器621は、n×nブロックの信号レベルレンジ差を出力(Out)に出力する。集計器621は、レンジ差プロセス605を実施する。
【0138】
範囲フィルタモジュール622は、上述したように現在の画素のノイズの関数である信号レベル範囲のガウス分布を実現する。信号レベルを実現するために、範囲フィルタモジュール622は、ブロックI(n, n)の中心画素に対する信号レベルレンジパラメータ(σ(Noise)r)のノイズ依存値が必要である。
【0139】
この態様では、現在の画素(cp)の位置は、画素ノイズデータ612のフレーム内の同じ位置の画素ノイズを取り出すために使用され、画素ノイズは、ノイズ対シグマRルックアップテーブル613に入力される。取り出された画素ノイズは、ブロックI(n, n)の中心画素に対応する画素ノイズである。入力画素ノイズに応答して、ノイズ対シグマRルックアップテーブル613は、信号レベルレンジパラメータ(σ(Noise)r)を第2の入力(In2)上で範囲フィルタモジュール622に提供する。範囲フィルタモジュール622は、集計器621からn×nブロックの信号レベルレンジ差を第1の入力(In1)上で受け取る。
【0140】
こうして、範囲フィルタモジュール622は、ブロックI(n, n)内の各位置のレンジフィルタ値を生成する。n×nのレンジフィルタ値ブロックの所与の位置におけるレンジフィルタ値は、n×nの信号レベルレンジ差ブロックのその所与の位置についての入力レンジ差及び入力信号レベル(σ(Noise)r)を使用する信号レベル範囲のガウス分布の値である。範囲フィルタモジュール622は、範囲フィルタプロセス606を実施する。
【0141】
乗算器623は、第1の入力(In1)上でn×nブロックの距離フィルタ値を受け取り、第2の入力端子(In2)上でn×nブロックのレンジフィルタ値を受け取る。乗算器623は、n×nの距離フィルタ値ブロックの距離フィルタ値に、n×nのレンジフィルタ値ブロックの対応するレンジフィルタ値を乗算し、その結果をn×n結合フィルタブロックの対応する位置に入れる。ここで、距離フィルタ値ブロックの位置(1,1)における距離フィルタ値は、レンジフィルタ値ブロックの位置(1,1)におけるレンジフィルタ値、及び合成フィルタ値ブロックの位置(1,1)における合成フィルタ値に対応し;距離フィルタ値ブロックの位置(1,2)における距離フィルタ値は、レンジフィルタ値ブロックの位置(1,2)のレンジフィルタ値、及び合成フィルタ値ブロックの位置(1,2)における合成フィルタ値に対応し;・・・距離フィルタ値ブロックの位置(2,1)における距離フィルタ値は、レンジフィルタ値ブロックの位置(2,1)におけるレンジフィルタ値、及び合成フィルタ値ブロックの位置(2,1)における合成フィルタ値に対応する(以下同様)。こうして、一般にここでは、2つのn×nブロック内の同じ位置にあるエントリは、対応すると言われる。n×nブロックの合成フィルタ値は、乗算器623の出力(Out)に供給される。乗算器623は、結合フィルタプロセス607を実施する。
【0142】
集計器624は、入力(In)上でn×nブロックの合成フィルタ値を受け取る。集計器624は、上で規定した正規化定数Cを生成するために、n×nの合成フィルタ値ブロックの値を合計する。正規化定数Cが集計器624の出力(Out)に供給される。
【0143】
除算器625は、(分数の)分子入力(Num)でn×nブロックの合成フィルタ値を受け取り、分母端末(Denom)で正規化定数Cを受け取る。除算器625は、n×nの合成フィルタ値ブロックの各合成フィルタ値を正規化定数Cで除算して、n×nブロックの正規化された合成フィルタ値を生成する。n×nブロックの正規化された合成フィルタ値が、除算器625の出力(Out)に供給される。集計器624及び除算器625は、正規化プロセス608を実施する。
【0144】
乗算器626は、第1の入力(In1)上で画素ブロックI(n, n)を受け取り、第2の入力(In2)上でn×nブロックの正規化された合成フィルタ値を受け取る。乗算器は、正規化された合成フィルタ値のそれぞれに画素ブロックI(n, n)内の対応する画素を乗算することによって、n×nブロックの適用フィルタ値を生成する。ここでも、画素ブロックの位置(1,1)における画素値は、正規化された合成フィルタ値ブロックの位置(1,1)における正規化された合成フィルタ値、及び適用フィルタ値ブロックの位置(1,1)における適用フィルタ値に対応し;画素ブロックの位置(1,2)における画素値は、正規化された合成フィルタ値ブロックの位置(1,2)における正規化された合成フィルタ値、及び適用フィルタ値ブロックの位置(1,2)における適用フィルタ値に対応する(以下同様)。n×nブロックの適用フィルタ値は、乗算器626の出力(OUT)に供給される。
【0145】
集計器627は、入力(IN)上でn×nブロックの適用フィルタ値を受け取る。集計器624は、画素ブロックI(n,n)の中心画素について適応空間ノイズフィルタ処理された画素を生成するために、n×nの適用フィルタ値ブロックの値を合計する。中心画素について適応空間ノイズフィルタ処理された画素が集計器627の出力(OUT)に供給されるので、その適応空間ノイズフィルタ処理された画素は、フィルタ処理された画素出力フレーム614の適切な位置に、すなわち、現在の画素フレーム616の中心画素(cp)の位置と同じフィルタ処理された画素出力フレーム614の位置に書き込まれる。乗算器626及び集計器627は、画素生成プロセス609を実施する。
【0146】
乗算器バンク628は、第1の入力(In1)上で画素ノイズデータフレーム612からn×nブロックの画素ノイズ標準偏差(stdPixi,j)を受け取り、第2の入力端子(In2)上で、n×nブロックの正規化された合成フィルタ値を受け取る。乗算器バンク623は、入力値のそれぞれをそれ自体で乗算し、一方のブロックの2乗値に他方のブロックの対応する2乗値を乗算する。画素ノイズ標準偏差の2乗と正規化された合成フィルタ値の2乗との積から構成されるn×nブロックが、乗算器バンク628の出力(Out)に供給され、集計器629の入力端子(In)を駆動する。
【0147】
集計器629は、画素ノイズ標準偏差の2乗と正規化された合成フィルタ値の2乗との積から構成されるn×nブロックを入力(In)上で受け取る。集計器624は、画素ノイズ標準偏差の2乗と正規化された合成フィルタ値の2乗との積から構成されるn×nブロックの値を合計する。結果は、集計器629の出力(Out)に供給される。
【0148】
平方根モジュール630は、入力(In)で集計器629の出力(Out)の結果を受け取る。平方根モジュール630は、入力値の平方根をとり、画素ノイズ出力標準偏差(stdOut)を画素ノイズ出力フレーム615に供給する。乗算器バンク628、集計器629、及び平方根モジュール630は、画素ノイズ生成プロセス610を実施する。
【0149】
上述した適応ノイズフィルタは、実際には任意数のモジュールによって実施してもよく、各モジュールは、任意のコンポーネントの組合せを含んでもよい。各モジュール及び各コンポーネントは、ハードウェア、プロセッサ上で実行されるソフトウェア、及びファームウェア、又はこれらの3つの任意の組合せを含むことができる。また、本明細書で説明するように、適応ノイズフィルタの機能及び動作は、1つのモジュールによって実行してもよく、又は異なるモジュール間で、又はモジュールの異なるコンポーネント間で分割してもよい。異なるモジュール又はコンポーネントの間で分割される場合に、モジュール又はコンポーネントは、1つの場所に集中されるか、又は分散処理目的のために、コンピュータ支援手術システムに亘って分散され得る。こうして、適応ノイズフィルタへの言及は、単一の物理的エンティティを必要とするものとして解釈すべきではない。
【0150】
上記の例では、単一の撮像パイプラインについて示し、説明した。しかしながら、立体視シーンを利用するシステムでは、上述したパイプラインと同一の第2のパイプラインが使用され、1つのパイプラインが左画像取込みユニットからの左取込みフレームを処理し、別のパイプラインが右画像取込みユニットから右取込みフレームを処理する。第2のパイプラインについての上述した説明を繰り返すことは冗長であり、そのため、明確にするためにここには含まれていない。
【0151】
本明細書で使用する「第1」、「第2」、「第3」等は、異なる構成要素又は要素を区別するために使用される形容詞である。こうして、「第1」、「第2」、及び「第3」は、構成要素又は要素の順序を暗示することを意図せず、又は構成要素又は要素の総数を暗示することを意図しない。
【0152】
本発明の態様及び実施形態を示す上記の説明及び添付の図面は、限定と解釈すべきではなく、特許請求の範囲が保護される発明を規定する。この説明及び特許請求の範囲の精神及び範囲から逸脱することなく、様々な機械的、組成的、構造的、電気的、及び動作的な変更を行うことができる。いくつかの例では、周知の回路、構造、及び技術は、本発明を不明瞭にすることを避けるために、詳細には示していないか又は説明していない。
【0153】
さらに、この説明の用語は本発明を限定するものではない。例えば、「下の(beneath)」、「より下の(below)」、「下方の(lower)」、「上の(above)」、「上方の(upper)」、「基端」、「先端」等の空間的に関連する用語は、図に示されるように、1つの要素又は特徴の別の要素又は特徴に対する関係を示す。これらの空間的に関連する用語は、図に示された位置及び向きに加えて、使用又は操作中の装置の異なる位置(すなわち、配置)及び向き(すなわち、回転配置)を包含するように意図されている。例えば、図中の装置がひっくり返された場合に、他の要素又は特徴「より下(below)」又は「の下(beneath)」と記載された要素は、次に他の要素又は特徴の「上(above)」又は「上(over)」になる。こうして、例示的な用語「より下の(below)」は、上及び下の両方の位置及び向きを含むことができる。この装置は、他の方法で向き合わせてもよく(90度又は他の向きに回転してもよい)、本明細書で使用される空間的に関連する説明はそれに応じて解釈される。同様に、様々な軸線に沿った及びその軸線の周りの動きの説明には、様々な特殊な装置の位置及び向きが含まれる。
【0154】
単数形「1つの(a, an)」及び「その(the)」は、文脈が他の意味を示さない限り、複数形も同様に含むことが意図される。用語「備える、有する、含む(comprises, comprising)」、「含む、有する(includes)」等の用語は、記載された特徴、ステップ、動作、要素、及び/又は構成要素の存在を特定するが、1つ又は複数の他の特徴、ステップ、動作、要素、構成要素、及び/又はグループの存在又は追加を排除するものではない。結合されると記載された構成要素は、電気的又は機械的に直接的に結合されてもよく、又は1つ又は複数の中間構成要素を介して間接的に結合されてもよい。
【0155】
全ての例及び説明の参考文献は非限定的なものであって、特許請求の範囲を本明細書に記載の具体的な実装形態及び実施形態及びそれらの均等物に限定するために使用すべきではない。1つの見出しの下にあるテキストは、相互参照されるか、又は1つ又は複数の見出しの下にあるテキストに適用され得るため、見出しは単に書式的なものであり、主題を制限するために使用すべきではない。最後に、本開示を考慮して、一態様又は実施形態に関連して説明した特定の特徴は、図面に具体的に示されていないか又は本文に記載されていなくても、本発明の他に開示された態様又は実施形態に適用し得る。
【0156】
上記の実施形態は、本開示を例示するが、本開示を限定するものではない。また、本開示の原理に従って多くの修正及び変形が可能であることも理解すべきである。例えば、多くの態様において、本明細書に記載の装置は、単一ポート装置として使用される。すなわち、外科的処置を完了するために必要な全ての構成要素は、単一の入口ポートを介して身体に入る。しかしながら、いくつかの態様では、複数の装置及びポートを使用してもよい。
【0157】
以下に、出願当初の特許請求の範囲の内容を実施例として記載しておく。
[実施例1]
システムであって、当該システムは、
画素データの第1のフレームを取り込むように構成された画像センサと、
前記画素データの第1のフレームを受信するように前記画像センサに結合された撮像パイプラインであって、該撮像パイプラインは適応ノイズフィルタを含み、該適応ノイズフィルタは、
第1の画素の推定画素ノイズパラメータを用い、且つ前記第1の画素の信号レベルと少なくとも第2の画素の信号レベルとの間の差を用いて前記第1の画素をフィルタ処理し、
前記フィルタ処理された第1の画素を含む画素データの第2のフレームを出力するように構成され、
前記撮像パイプラインは、前記画素データの第2のフレームに基づいて画素データの出力フレームを出力するように構成される、撮像パイプラインと、
該撮像パイプラインに結合され、前記画素データの出力フレームを受信するディスプレイ装置であって、前記画素データの出力フレームを表示するように構成されたディスプレイ装置と、を有する、
システム。
[実施例2]
前記適応ノイズフィルタは、適応時間ノイズフィルタを含み、前記第2の画素は、前記第1のフレーム内の前記第1の画素の位置と同じ、前記画像センサによって取り込まれた第3のフレームの内の位置にあり、前記第3のフレームは、前記第1のフレームを取込む前の時間に取り込まれ、前記適応時間ノイズフィルタは、前記第1及び第2の画素の信号レベルの変化と前記第1の画素の推定画素ノイズレベルとの比較に基づいて、前記第1の画素をフィルタ処理するように構成され、前記推定画素ノイズレベルは、推定画素ノイズパラメータである、実施例1に記載のシステム。
[実施例3]
前記撮像パイプラインは複数のステージを含み、前記適応時間ノイズフィルタは前記複数のステージのうちの第1のステージに含まれる、実施例2に記載のシステム。
[実施例4]
前記適応時間ノイズフィルタは、画素ノイズフレームを出力するように構成される、実施例2に記載のシステム。
[実施例5]
前記撮像パイプラインは複数のステージを含み、前記複数のステージのうちの第1のステージに続く前記複数のステージのそれぞれは、入力画素ノイズフレームを処理するように構成され、且つステージ依存画素ノイズフレームを出力するように構成される、実施例4に記載のシステム。
[実施例6]
前記適応ノイズフィルタは、適応空間ノイズフィルタを含み、前記少なくとも1つの第2の画素は、前記第1の画素に隣接する複数の画素に含まれ、前記適応空間ノイズフィルタは、前記第1の画素の信号レベルと前記複数の隣接する画素の信号レベルのそれぞれとの間の差に基づいて、及びノイズ依存信号レベルパラメータに基づいて、第1の画素をフィルタ処理するように構成され、前記ノイズ依存信号レベルパラメータは、前記第1の画素のノイズの関数であり、前記ノイズ依存信号レベルパラメータは、前記第1の画素の前記推定画素ノイズパラメータである、実施例1に記載のシステム。
[実施例7]
前記適応空間ノイズフィルタは、距離フィルタ及び信号レベルレンジフィルタを含み、前記信号レベルレンジフィルタは、前記第1の画素の信号レベルと前記複数の隣接する画素の前記信号レベルのそれぞれとの間の差に基づいて、前記第1の画素をフィルタ処理するように構成される、実施例6に記載のシステム。
[実施例8]
前記ノイズ依存信号レベルパラメータは、信号レベルレンジパラメータである、実施例6に記載のシステム。
[実施例9]
撮像パイプラインステージであって、当該撮像パイプラインステージは、
信号レベル対ノイズ・ルックアップテーブルを含む適応時間ノイズフィルタを有しており、
該適応時間ノイズフィルタは、
画素のフレームを受信し、
前記画素の信号レベルの時間変化を、前記画素の信号レベルに対応する前記信号レベル対ノイズ・ルックアップテーブルの値と比較することによって、前記フレームの複数の画素の各画素をフィルタ処理し、
前記比較に基づいて、適応時間ノイズフィルタ処理された複数の画素を含むフレームを出力するように構成される、
撮像パイプラインステージ。
[実施例10]
前記信号レベル対ノイズ・ルックアップテーブルは、現在の画素フレームの画素の値を受け取り、前記画素の前記信号レベルに対応するノイズ標準偏差を出力するように構成される、実施例9に記載の撮像パイプラインステージ。
[実施例11]
前記適応時間ノイズフィルタは、変更ルックアップテーブルをさらに有し、前記変更ルックアップテーブルは、ノイズ標準偏差の数値で表される画素の時間的な信号変化を受け取り、且つ前記画素の前記信号レベルの許容される時間変化の割合を出力するように構成される、実施例9に記載の撮像パイプラインステージ。
[実施例12]
前記適応時間ノイズフィルタは、画素ノイズフレームを出力するように構成される、実施例9に記載の撮像パイプラインステージ。
[実施例13]
撮像パイプラインステージであって、当該撮像パイプラインステージは、
適応空間ノイズフィルタを有しており、
該適応空間ノイズフィルタは、
入力画素フレームと入力画素ノイズフレームとを受信し、
画素の信号レベルと複数の隣接する画素の信号レベルのそれぞれとの間の差に基づいて、及びノイズ依存信号レベルパラメータに基づいて前記入力画素フレームの画素をフィルタ処理して、適応空間ノイズフィルタ処理された画素を生成することであって、前記ノイズ依存信号レベルパラメータは、前記画素に対応する前記入力画素ノイズフレーム内の画素ノイズを用いて決定される、生成し、
前記適応空間ノイズフィルタ処理された画素を適応空間ノイズフィルタ処理された画素フレームに出力するように構成される、
撮像パイプラインステージ。
[実施例14]
前記適応空間ノイズフィルタは、適応空間ノイズ・バイラテラルフィルタを含む、実施例13に記載の撮像パイプラインステージ。
[実施例15]
前記画素は、位置xにおける画素であり、適応空間ノイズ・バイラテラルフィルタは、以下のように規定され、
【数35】


ここで、
【数36】

は、位置xにおける前記画素の適応空間ノイズフィルタ処理された信号レベルであり、
【数37】


は、正規化定数であり、
【数38】


は、空間的なガウス分布であり、
【数39】


は、前記位置yの画素と前記位置xの画素との間の距離のノルムであり、
【数40】


は、距離パラメータであり、
【数41】


は、前記画素のノイズの関数である信号レベル範囲のガウス分布であり、
【数42】


は、前記位置yにおける前記画素の信号レベルであり、
【数43】


は、前記位置xにおける前記画素の信号レベルであり、


【数44】


は、前記位置yにおける前記画素の信号レベルと前記位置xにおける画素の信号レベルとの差の絶対値であり、
【数45】


は、前記位置xにおける前記画素のノイズの関数である信号レベルレンジパラメータであり、
【数46】


は、前記位置xに中心画素を有する画素のブロックであり、
【数47】


は、前記位置xに中心画素を有する画素ブロック内の画素に亘る総和を表す、実施例13に記載の撮像パイプラインステージ。
[実施例16]
方法であって、当該方法は、
第1のフレームの第1の画素を受信するステップと、
前記第1の画素の推定画素ノイズパラメータを用いて、且つ前記第1の画素の信号レベルと少なくとも第2画素の信号レベルとの間の差を用いて、前記第1の画素を適応ノイズフィルタ処理して、フィルタ処理された画素を取得するステップと、
前記フィルタ処理された画素を出力フレームに出力するステップと、を含む、
方法。
[実施例17]
前記フィルタ処理された画素に対応する画素ノイズをノイズ出力フレームに出力するステップをさらに含む、実施例16に記載の方法。
[実施例18]
前記第2の画素は、前記第1のフレーム内の前記第1の画素の位置と同じ、画像センサによって取り込まれた第2のフレーム内の位置にあり、前記第2のフレームは、前記第1のフレームを取り込む前の時間に取り込まれ、前記第1の画素を適応ノイズフィルタ処理するステップは、前記第1及び第2の画素の信号レベルの変化と前記第1の画素の推定画素ノイズレベルとの比較に基づいて前記第1の画素を適応時間ノイズフィルタ処理するステップを含み、前記推定画素ノイズレベルは前記推定画素ノイズパラメータであり、前記第1及び第2の画素の信号レベルの変化は、前記第1の画素の前記信号レベルの時間変化である、実施例16に記載の方法。
[実施例19]
前記第1の画素を適応時間ノイズフィルタ処理するステップは、
前記第1の画素の信号レベルを信号レベル対ノイズ・ルックアップテーブルに入力するステップと、
前記信号レベル対ノイズ・ルックアップテーブルを用いて、前記第1の画素の信号レベルに対応するノイズ標準偏差を出力するステップであって、前記ノイズ標準偏差は、前記第1の画素の前記推定画素ノイズレベルである、出力するステップと、を含む、実施例18に記載の方法。
[実施例20]
前記第1の画素を適応時間ノイズフィルタ処理するステップは、
前記第1の画素の前記信号レベルの前記時間変化を前記ノイズ標準偏差で除算して、前記第1の画素の前記信号レベルの時間変化をノイズの標準偏差として取得するステップであって、前記除算は前記比較である、取得するステップをさらに含む、実施例19に記載の方法。
[実施例21]
前記第1の画素を適応時間ノイズフィルタ処理するステップは、
前記第1の画素の前記信号レベルの時間変化をノイズの標準偏差で変更ルックアップテーブルに入力するステップと、
前記変更ルックアップテーブルを用いて、前記フィルタを通過する前記第1の画素の信号レベルの許容される時間変化の割合を出力するステップと、をさらに含む、実施例20に記載の方法。
[実施例22]
前記第1の画素を適応時間ノイズフィルタ処理するステップは、
前記第1の画素の前記信号レベルの許容される時間変化の割合に、前記第1の画素の前記信号レベルの前記時間変化を乗算することによって、前記第1の画素の前記信号レベルの許容される時間変化を生成するステップと、
前記第1の画素の前記信号レベルにおける前記許容される時間変化を対応する画素に加算することによって、前記フィルタ処理された画素を生成するステップであって、前記対応する画素は、第2のフレーム内の画素であり、前記第2のフレームは、時間的に前記第1のフレームの直前にある、生成するステップと、をさらに含む、実施例21に記載の方法。
[実施例23]
前記少なくとも1つの第2の画素は、前記第1の画素に隣接する複数の画素に含まれ、前記第1の画素を適応ノイズフィルタ処理するステップは、前記第1の画素の信号レベルと前記複数の隣接する画素の信号レベルのそれぞれとの間の差に基づいて、及びノイズ依存信号レベルパラメータに基づいて、前記第1の画素を適応空間ノイズフィルタ処理するステップを含み、前記ノイズ依存信号レベルパラメータは、前記第1の画素のノイズの関数であり、前記ノイズ依存信号レベルパラメータは、前記第1の画素の推定画素ノイズパラメータである、実施例16に記載の方法。
[実施例24]
前記第1の画素を適応空間ノイズフィルタ処理するステップは、
距離フィルタと信号レベルフィルタとを組み合わせることによって前記フィルタ処理された画素を生成するステップであって、前記信号レベルフィルタは、前記ノイズ依存信号レベルパラメータの関数である、生成するステップを含む、実施例23に記載の方法。
[実施例25]
前記信号レベルフィルタは、信号レベルレンジパラメータを有する信号レベル範囲のガウス分布を含み、前記信号レベルレンジパラメータは、前記ノイズ依存信号レベルパラメータである、実施例24に記載の方法。




図1
図2
図3A
図3B
図4A
図4B
図5
図6A
図6B