JP7552002B2 - Light level adaptive filter and method - Google Patents

Light level adaptive filter and method Download PDF

Info

Publication number
JP7552002B2
JP7552002B2 JP2021071592A JP2021071592A JP7552002B2 JP 7552002 B2 JP7552002 B2 JP 7552002B2 JP 2021071592 A JP2021071592 A JP 2021071592A JP 2021071592 A JP2021071592 A JP 2021071592A JP 7552002 B2 JP7552002 B2 JP 7552002B2
Authority
JP
Japan
Prior art keywords
pixel
noise
frame
signal level
filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021071592A
Other languages
Japanese (ja)
Other versions
JP2021119491A (en
Inventor
ジェイ. トレホ,マックス
エム. ディカルロ,ジェフリー
Original Assignee
インテュイティブ サージカル オペレーションズ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテュイティブ サージカル オペレーションズ, インコーポレイテッド filed Critical インテュイティブ サージカル オペレーションズ, インコーポレイテッド
Publication of JP2021119491A publication Critical patent/JP2021119491A/en
Priority to JP2023101711A priority Critical patent/JP7571207B2/en
Application granted granted Critical
Publication of JP7552002B2 publication Critical patent/JP7552002B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • G06T2207/20012Locally adaptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • G06T2207/20028Bilateral filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Image Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Surgery (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Studio Devices (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Veterinary Medicine (AREA)
  • Pathology (AREA)
  • Endoscopes (AREA)
  • Radiology & Medical Imaging (AREA)
  • Gynecology & Obstetrics (AREA)
  • Picture Signal Circuits (AREA)
  • Closed-Circuit Television Systems (AREA)

Description

関連出願
本特許出願は、2016年1月29日に出願された、”LIGHT LEVEL ADAPTIVE FILTER AND METHOD”という表題の米国仮特許出願第62/288,956号について優先権及び出願日の利益を主張するものであり、この文献はその全体が参照により本明細書に組み込まれる。
RELATED APPLICATIONS This patent application claims the benefit of priority and the filing date of U.S. Provisional Patent Application No. 62/288,956, entitled "LIGHT LEVEL ADAPTIVE FILTER AND METHOD," filed on January 29, 2016, which is incorporated herein by reference in its entirety.

本発明は、概して、コンピュータ支援手術システムのための画像パイプラインに関し、より具体的には、画像パイプラインに使用される適応フィルタに関する。 The present invention relates generally to image pipelines for computer-assisted surgery systems, and more specifically to adaptive filters used in image pipelines.

手術システム100は、内視鏡撮像システム192、外科医コンソール194(マスター)、及び患者側サポートシステム110(スレーブ)を含むコンピュータ支援手術システムであり、それら全てが、有線(電気又は光)又は無線接続196によって相互接続される。1つ又は複数の電子データプロセッサは、システム機能を提供するために、これらの主要な要素内に様々に配置してもよい。その例が、米国特許出願公開第2008/0065105号に開示されており、この文献は参照により本明細書に組み込まれる。 The surgical system 100 is a computer-assisted surgical system that includes an endoscopic imaging system 192, a surgeon console 194 (master), and a patient support system 110 (slave), all of which are interconnected by wired (electrical or optical) or wireless connections 196. One or more electronic data processors may be variously located within these major elements to provide system functionality. Examples are disclosed in U.S. Patent Application Publication No. 2008/0065105, which is incorporated herein by reference.

患者側サポートシステム110は、エントリガイドマニピュレータ130を含む。少なくとも1つの手術装置アセンブリが、エントリガイドマニピュレータ130に結合される。各手術装置アセンブリは、手術用器具又は画像取込みユニットのいずれかを順に含む器具を含む。例えば、図1において、1つの手術装置アセンブリは、シャフト137-1を有する器具135-1と、外科的処置中にエントリガイド115を通って延びる画像取込みユニットとを含む。器具135-1は、時には、内視鏡、又は代替的に撮像システム装置又はカメラ器具と呼ばれる。典型的には、エントリガイド115は、複数のチャネルを含む。 The patient side support system 110 includes an entry guide manipulator 130. At least one surgical device assembly is coupled to the entry guide manipulator 130. Each surgical device assembly includes an instrument, which in turn includes either a surgical instrument or an image capture unit. For example, in FIG. 1, one surgical device assembly includes an instrument 135-1 having a shaft 137-1 and an image capture unit that extends through the entry guide 115 during a surgical procedure. The instrument 135-1 is sometimes referred to as an endoscope, or alternatively an imaging system device or camera instrument. Typically, the entry guide 115 includes multiple channels.

撮像システム192は、例えば、手術部位の取り込まれた内視鏡撮像データ及び/又は患者の外部の他の撮像システムからの手術前又はリアルタイムの画像データに対して画像処理機能を実行する。撮像システム192は、処理された画像データ(例えば、手術部位の画像だけでなく、関連する制御及び患者情報)を外科医コンソール194の外科医に出力する。いくつかの態様では、処理された画像データは、手術室の他の関係者又は手術室から離れた1つ又は複数の位置で見ることができるようにオプションの外部モニタに出力される(例えば、別の場所にいる外科医がビデオを監視してもよく、生のフィード(feed)ビデオをトレーニング等のために使用してもよい)。 The imaging system 192 performs image processing functions, for example, on captured endoscopic imaging data of the surgical site and/or pre-operative or real-time image data from other imaging systems external to the patient. The imaging system 192 outputs processed image data (e.g., images of the surgical site as well as associated control and patient information) to the surgeon at the surgeon console 194. In some aspects, the processed image data is output to an optional external monitor for viewing by other participants in the operating room or at one or more locations remote from the operating room (e.g., a surgeon in a different location may monitor the video, a live feed video may be used for training, etc.).

外科医コンソール194は、外科医が、器具、エントリガイド(複数可)、及び撮像システム装置(これらはまとめてスレーブ呼ばれる)を操縦するのを可能にする複数の自由度(DOF)の機械的入力装置(マスター)を含む。いくつかの態様では、これらの入力装置は、器具及び手術装置アセンブリの構成要素から外科医に触覚フィードバックを提供することができる。外科医コンソール194はまた、ディスプレイ上の画像が、一般に、ディスプレイスクリーンの後ろ/下で作業する外科医の手に対応する距離に焦点合わせするように位置付けされた立体ビデオ出力ディスプレイを含む。これらの態様は、米国特許第6,671,581号により十分に論じられており、この文献は参照により本明細書に組み込まれる。 The Surgeon Console 194 includes multiple degrees of freedom (DOF) mechanical input devices (masters) that allow the surgeon to steer the instruments, entry guide(s), and imaging system devices (collectively referred to as slaves). In some aspects, these input devices can provide tactile feedback to the surgeon from the instruments and components of the surgical device assembly. The Surgeon Console 194 also includes stereoscopic video output displays positioned such that the images on the displays are generally focused at a distance corresponding to the surgeon's hands working behind/below the display screen. These aspects are discussed more fully in U.S. Pat. No. 6,671,581, which is incorporated herein by reference.

器具の挿入中の制御は、例えば、外科医が画像内に示された器具をマスターの一方又は両方で動かすことによって達成され得る。外科医は、マスターを使用して、器具を画像の左右に動かし、外科医の方に器具を引っ張る。マスターの動きによって、撮像システム及び関連する手術装置アセンブリが命令され、撮像システム及び関連する手術装置アセンブリが、出力ディスプレイ上の固定された中心点に向けて操縦され、且つ患者の内部に前進される。 Control during insertion of the instrument may be achieved, for example, by the surgeon moving the instrument shown in the image with one or both of the masters. The surgeon uses the master to move the instrument to the left or right of the image, pulling the instrument toward the surgeon. The movement of the master commands the imaging system and associated surgical device assembly to steer toward a fixed center point on the output display and advance inside the patient.

一態様では、カメラ制御装置は、マスターのハンドルを移動させる方向と同じ方向に画像が移動するように、マスターが画像に固定されているという印象を与えるように設計されている。この設計は、外科医がカメラ制御を終了したときに、器具を制御するための正しい位置にマスターを置き、その結果、この設計は、器具制御を開始又は再開する前に、マスターを元の位置にクラッチ接続(係合解除)、移動、及びクラッチ解除(係合)する必要性を回避する。 In one aspect, the camera control device is designed to give the impression that the master is fixed in the image so that the image moves in the same direction as the master handle is moved. This design places the master in the correct position for instrument control when the surgeon ends camera control, and as a result, this design avoids the need to clutch (disengage), move, and declutch (engage) the master back to its original position before starting or resuming instrument control.

患者側サポートシステム110のベース101は、受動的な制御されないセットアップアームアセンブリ120と、能動的に制御されるマニピュレータアームアセンブリ130とを含むアームアセンブリを支持する。能動的に制御されるマニピュレータアームアセンブリ130は、時には、エントリガイドマニピュレータ130と呼ばれる。エントリガイドマニピュレータアセンブリのプラットフォーム132(時には、プラットフォーム132と呼ばれる)は、第4のマニピュレータリンク119の先端部に結合される。エントリガイドマニピュレータアセンブリ133は、プラットフォーム132に回転可能に取り付けられる。矢印190は、先端方向及び基端方向を示す。 The base 101 of the patient side support system 110 supports arm assemblies including a passive, uncontrolled setup arm assembly 120 and an actively controlled manipulator arm assembly 130. The actively controlled manipulator arm assembly 130 is sometimes referred to as an entry guide manipulator 130. The entry guide manipulator assembly platform 132 (sometimes referred to as platform 132) is coupled to the distal end of the fourth manipulator link 119. The entry guide manipulator assembly 133 is rotatably attached to the platform 132. Arrows 190 indicate distal and proximal directions.

エントリガイドマニピュレータアセンブリ133は、器具マニピュレータ位置付けシステムを含む。エントリーガイドマニピュレータアセンブリ133は、複数の器具マニピュレータ140-1,140-2をグループとして軸線125の周りに回転させる。 The entry guide manipulator assembly 133 includes an instrument manipulator positioning system. The entry guide manipulator assembly 133 rotates the multiple instrument manipulators 140-1, 140-2 as a group around the axis 125.

複数の器具マニピュレータ140-1,140-2のそれぞれは、異なる挿入アセンブリ136によってエントリガイドマニピュレータアセンブリ133に結合される。一態様では、各挿入アセンブリ136は、エントリガイドマニピュレータアセンブリ133から離れる方向に及びそのアセンブリ133に向けて対応する器具マニピュレータを動かす伸縮式アセンブリである。図1では、挿入アセンブリのぞれぞれは完全に後退した位置にある。 Each of the multiple instrument manipulators 140-1, 140-2 is coupled to the entry guide manipulator assembly 133 by a different insert assembly 136. In one aspect, each insert assembly 136 is a telescoping assembly that moves a corresponding instrument manipulator away from and towards the entry guide manipulator assembly 133. In FIG. 1, each of the insert assemblies is in a fully retracted position.

複数の器具マニピュレータアセンブリ140-1,140-2のそれぞれは、その器具マニピュレータの出力インターフェイスにおいて複数の出力を駆動する複数のモータを含む。器具マニピュレータ及びこの器具マニピュレータに結合することができる手術用器具の一例については、米国特許出願第61/866,115号(2013年8月15日出願)を参照されたい。また、この文献は参照により組み込まれる。 Each of the multiple instrument manipulator assemblies 140-1, 140-2 includes multiple motors that drive multiple outputs at the output interface of the instrument manipulator. For an example of an instrument manipulator and a surgical instrument that can be coupled to the instrument manipulator, see U.S. Patent Application No. 61/866,115, filed Aug. 15, 2013, which is also incorporated by reference.

複数の手術装置アセンブリ180のそれぞれは、複数の異なる器具マニピュレータアセンブリと、手術用器具及び画像取込みユニットのうちの1つを含む器具とを含む。器具135-1,135-2のそれぞれは、伝達ユニットを収容する本体を含む。伝達ユニットは、複数の入力部を含む入力インターフェイスを含む。器具135-1,135-2のそれぞれはまた、本体から先端方向に延びる主チューブと呼ばれることもあるシャフト137-1,137-2を含む。エンドエフェクタが、手術用器具アセンブリのシャフトの先端部に結合され、画像取込みユニット、例えばカメラが、異なる手術用器具アセンブリの先端部に含まれる。器具マニピュレータアセンブリ及び手術用器具の例について、米国特許出願第61/866,115号(2013年8月15日出願)を参照されたい。また、この文献は参照により組み込まれる。 Each of the plurality of surgical device assemblies 180 includes a plurality of different instrument manipulator assemblies and an instrument including one of a surgical instrument and an image capture unit. Each of the instruments 135-1, 135-2 includes a body housing a transmission unit. The transmission unit includes an input interface including a plurality of inputs. Each of the instruments 135-1, 135-2 also includes a shaft 137-1, 137-2, sometimes referred to as a main tube, extending distally from the body. An end effector is coupled to the distal end of the shaft of the surgical instrument assembly, and an image capture unit, e.g., a camera, is included at the distal end of the different surgical instrument assembly. For examples of instrument manipulator assemblies and surgical instruments, see U.S. Patent Application No. 61/866,115, filed Aug. 15, 2013, which is also incorporated by reference.

器具135-1,135-2のそれぞれは、対応する器具マニピュレータアセンブリ140-1,140-2の器具取付けインターフェイスに結合され、それによって器具135-1,135-2の伝達ユニットの入力インターフェイスにおける複数の入力部は、器具マニピュレータアセンブリ140-1,140-2の器具取付けインターフェイスの複数の出力部によって駆動される。米国特許出願第61/866,115号(2013年8月15日出願)を参照されたい。 Each of the instruments 135-1, 135-2 is coupled to an instrument mounting interface of a corresponding instrument manipulator assembly 140-1, 140-2, such that the inputs at the input interface of the transfer unit of the instruments 135-1, 135-2 are driven by the outputs at the instrument mounting interface of the instrument manipulator assembly 140-1, 140-2. See U.S. Patent Application No. 61/866,115 (filed Aug. 15, 2013).

図1に示されるように、複数の手術装置アセンブリ180のシャフトは、器具の本体から先端方向に延びている。シャフトは、患者内への入口ポート(例えば、体壁を通って、又は自然オリフィスにおいて)に置かれた共通のカニューレ116を通って延びる。一態様では、エントリガイド115がカニューレ116内に位置付けされ、各器具シャフトは、器具シャフトに追加の支持を提供するように、エントリガイド115のチャネルを通って延びる。 As shown in FIG. 1, the shafts of the multiple surgical device assemblies 180 extend distally from the body of the instruments. The shafts extend through a common cannula 116 that is placed at an entry port into the patient (e.g., through a body wall or at a natural orifice). In one aspect, an entry guide 115 is positioned within the cannula 116, and each instrument shaft extends through a channel in the entry guide 115 to provide additional support to the instrument shaft.

システムは、画像センサ、撮像パイプライン、及びディスプレイ装置を含む。画像センサは、画素データの第1のフレームを取り込むように構成される。撮像パイプラインは、画素データの第1のフレームを受け取るために画像センサに結合される。 The system includes an image sensor, an imaging pipeline, and a display device. The image sensor is configured to capture a first frame of pixel data. The imaging pipeline is coupled to the image sensor to receive the first frame of pixel data.

撮像パイプラインは、適応ノイズフィルタ(adaptive noise filter)を含む。適応ノイズフィルタは、第1の画素の推定画素ノイズパラメータを用い、且つ第1の画素の信号レベルと少なくとも第2の画素の信号レベルとの間の差を用いて画素をフィルタ処理するように構成される。適応ノイズフィルタはまた、画素データの第2のフレームを出力するように構成される。画素データの第2のフレームは、適応ノイズフィルタによってフィルタ処理された画素を含む。 The imaging pipeline includes an adaptive noise filter. The adaptive noise filter is configured to filter pixels using an estimated pixel noise parameter for a first pixel and using a difference between a signal level of the first pixel and a signal level of at least a second pixel. The adaptive noise filter is also configured to output a second frame of pixel data. The second frame of pixel data includes pixels filtered by the adaptive noise filter.

撮像パイプラインは、適応ノイズフィルタ処理された画素データの第2のフレームに基づいて画素データのフレームを出力するように構成される。ここで、適応ノイズフィルタ処理された画素データの第2フレームに基づく画素データのフレームは、撮像パイプラインによる適応ノイズフィルタ処理された画素データの第2フレームの更なる処理の結果である画素データのフレームである。ディスプレイ装置は、適応ノイズフィルタ処理された画素データの第2のフレームに基づいて、画素データのフレームを受け取るように撮像パイプラインに結合される。ディスプレイ装置は、適応ノイズフィルタ処理された画素データの第2のフレームに基づいて、画素データのフレームを表示するように構成される。 The imaging pipeline is configured to output a frame of pixel data based on the second frame of adaptive noise filtered pixel data, where the frame of pixel data based on the second frame of adaptive noise filtered pixel data is a frame of pixel data that is a result of further processing of the adaptive noise filtered second frame of pixel data by the imaging pipeline. A display device is coupled to the imaging pipeline to receive the frame of pixel data based on the second frame of adaptive noise filtered pixel data. The display device is configured to display the frame of pixel data based on the second frame of adaptive noise filtered pixel data.

一態様では、第2の画素は、第1のフレーム内の第1の画素の位置と同じ、画像センサによって取り込まれた第3のフレーム内の位置にある。第3のフレームは、第1のフレームを取り込む前の時間に取り込まれたので、適応ノイズフィルタによって使用される信号レベルの差は、2つの異なるフレーム内の同じ位置の画素同士の間の時間信号レベル変化である。別の態様では、第1の画素の信号レベルと少なくとも第2の画素の信号レベルとの差は、第1の画素の信号レベルと、第1の画素に隣接する複数の画素(時には、複数の隣接画素と呼ばれる)のうちの1つの信号レベルとの間の差である。複数の隣接画素のうちの1つは第2の画素である。 In one aspect, the second pixel is at the same location in a third frame captured by the image sensor as the location of the first pixel in the first frame. Because the third frame was captured at a time prior to the capture of the first frame, the signal level difference used by the adaptive noise filter is the time signal level change between pixels at the same location in the two different frames. In another aspect, the difference between the signal level of the first pixel and the signal level of at least the second pixel is the difference between the signal level of the first pixel and the signal level of one of a plurality of pixels (sometimes referred to as a plurality of adjacent pixels) adjacent to the first pixel. One of the plurality of adjacent pixels is the second pixel.

適応ノイズフィルタは、適応時間ノイズフィルタ(adaptive temporal noise filter)を含む。適応時間ノイズフィルタは、第1及び第2の画素の信号レベルの時間変化を、第1の画素の推定画素ノイズレベルと比較するように構成される。この態様では、推定画素ノイズレベルは、推定画素ノイズパラメータである。また、適応時間ノイズフィルタは、画素ノイズフレームを出力するように構成される。 The adaptive noise filter includes an adaptive temporal noise filter. The adaptive temporal noise filter is configured to compare the temporal change in the signal levels of the first and second pixels to an estimated pixel noise level of the first pixel. In this aspect, the estimated pixel noise level is an estimated pixel noise parameter. The adaptive temporal noise filter is also configured to output a pixel noise frame.

一態様では、撮像パイプラインは複数のステージを含み、適応的な時間ノイズフィルタは、複数のステージのうちの第1のステージに含まれる。また、複数のステージのうちの第1のステージに続く複数のステージのそれぞれは、入力画素ノイズフレームを処理するように構成され、且つステージ依存画素ノイズフレームを出力するように構成される。 In one aspect, the imaging pipeline includes a plurality of stages, and the adaptive temporal noise filter is included in a first stage of the plurality of stages. Also, each of the plurality of stages subsequent to the first stage of the plurality of stages is configured to process the input pixel noise frame and to output a stage-dependent pixel noise frame.

別の態様では、適応ノイズフィルタは、適応空間ノイズフィルタ(adaptive spatial noise filter)を含む。適応空間ノイズフィルタは、第1の画素の信号レベルと、複数の隣接画素のそれぞれの信号レベルとの間の差を決定するように構成される。また、適応空間ノイズフィルタは、ノイズ依存信号レベルパラメータを使用し、ここで、ノイズ依存信号レベルパラメータは、第1の画素のノイズの関数である。この態様では、ノイズ依存信号レベルパラメータは、この態様では画素の推定画素ノイズパラメータである。別の態様では、適応空間ノイズフィルタは、距離(distance)フィルタ及び信号レベルレンジ(range)フィルタを含む。信号レベルレンジフィルタは、画素の信号レベルと複数の隣接画素の信号レベルのそれぞれとの間の差に基づいて、及びノイズ依存信号レベルパラメータに基づいて、画素をフィルタ処理するように構成される。一態様では、ノイズ依存信号レベルパラメータは、信号レベルレンジパラメータである。 In another aspect, the adaptive noise filter includes an adaptive spatial noise filter. The adaptive spatial noise filter is configured to determine a difference between a signal level of the first pixel and a signal level of each of the multiple neighboring pixels. The adaptive spatial noise filter also uses a noise-dependent signal level parameter, where the noise-dependent signal level parameter is a function of the noise of the first pixel. In this aspect, the noise-dependent signal level parameter is an estimated pixel noise parameter of the pixel. In another aspect, the adaptive spatial noise filter includes a distance filter and a signal level range filter. The signal level range filter is configured to filter the pixel based on a difference between a signal level of the pixel and each of the multiple neighboring pixels and based on the noise-dependent signal level parameter. In one aspect, the noise-dependent signal level parameter is a signal level range parameter.

更なる態様では、撮像パイプラインステージは、信号レベル対ノイズ・ルックアップテーブルを含む適応時間ノイズフィルタを含む。適応時間ノイズフィルタは、画素のフレームを受け取るように構成され、画素の信号レベルの時間変化を、画素の信号レベルに対応する信号レベル対ノイズ・ルックアップテーブルの値と比較することによって、フレームの複数の画素の各画素をフィルタ処理するように構成され、且つその比較に基づいて、適応時間ノイズフィルタ処理された画素のフレームを出力するように構成される。 In a further aspect, the imaging pipeline stage includes an adaptive temporal noise filter including a signal level vs. noise lookup table. The adaptive temporal noise filter is configured to receive a frame of pixels, filter each pixel of a plurality of pixels of the frame by comparing a change in the signal level of the pixel over time to a value in the signal level vs. noise lookup table corresponding to the signal level of the pixel, and output an adaptive temporal noise filtered frame of pixels based on the comparison.

別の態様では、撮像パイプラインステージは、現在の画素フレーム、信号レベル対ノイズ・ルックアップテーブル、変更ルックアップテーブル、画素出力フレーム、画素ノイズフレーム、並びに現在の画素フレーム、信号レベル対ノイズ・ルックアップテーブル、変更ルックアップテーブル、画素出力フレーム、及び画素ノイズフレームに結合される適応時間ノイズフィルタを含む。信号レベル対ノイズ・ルックアップテーブルは、現在の画素フレームの画素の信号レベルを受け取り、画素の信号レベルに対応するノイズ標準偏差を出力するように構成される。変更ルックアップテーブルは、ノイズ標準偏差の数値で表される画素の信号レベルの時間変化を受け取り、且つフィルタを通過する画素の信号レベルの許容される時間変化の割合を出力するように構成される。適応時間ノイズフィルタは、適応時間ノイズフィルタ処理された画素を画素出力フレームに出力するように構成される。また、適応時間ノイズフィルタは、画素ノイズ、すなわち、適応時間ノイズフィルタ処理された画素に対応する出力画素ノイズを画素ノイズフレームに出力するように構成される。 In another aspect, the imaging pipeline stage includes a current pixel frame, a signal level vs. noise lookup table, a modified lookup table, a pixel output frame, a pixel noise frame, and an adaptive temporal noise filter coupled to the current pixel frame, the signal level vs. noise lookup table, the modified lookup table, the pixel output frame, and the pixel noise frame. The signal level vs. noise lookup table is configured to receive signal levels of pixels of the current pixel frame and output a noise standard deviation corresponding to the signal levels of the pixels. The modified lookup table is configured to receive a time change in the signal level of the pixels represented by a numerical value of the noise standard deviation, and output a percentage of the allowable time change in the signal level of the pixels that passes the filter. The adaptive temporal noise filter is configured to output the adaptive temporal noise filtered pixels to the pixel output frame. The adaptive temporal noise filter is also configured to output pixel noise, i.e., output pixel noise corresponding to the adaptive temporal noise filtered pixels, to the pixel noise frame.

さらに別の態様では、適応空間ノイズフィルタは、入力画素フレーム及び入力画素ノイズフレームを受け取るように構成され、画素の信号レベルと複数の隣接画素の信号レベルとの間の空間変化に基づいて、及びノイズ依存信号レベルパラメータに基づいて入力画素フレームの画素をフィルタ処理して、適応空間ノイズ処理された画素を生成するように構成される。ノイズ依存信号レベルパラメータは、画素に対応する入力画素ノイズフレーム内の画素ノイズを使用して決定される。画素の空間フィルタ処理は、入力画素フレーム内の複数の隣接画素に関連する。適応空間ノイズフィルタはまた、適応空間ノイズフィルタ処理された画素を、適応空間ノイズフィルタ処理された画素フレームに出力するように構成される。 In yet another aspect, the adaptive spatial noise filter is configured to receive an input pixel frame and an input pixel noise frame, and is configured to filter a pixel of the input pixel frame based on a spatial change between a signal level of the pixel and a signal level of a plurality of adjacent pixels, and based on a noise-dependent signal level parameter to generate an adaptive spatial noise processed pixel. The noise-dependent signal level parameter is determined using pixel noise in the input pixel noise frame corresponding to the pixel. The spatial filtering of the pixel is related to a plurality of adjacent pixels in the input pixel frame. The adaptive spatial noise filter is also configured to output the adaptive spatial noise filtered pixel in the adaptive spatial noise filtered pixel frame.

さらに別の態様では、撮像パイプラインステージは、入力画素フレーム及び入力画素ノイズフレームを含む。入力画素ノイズフレーム内の各画素ノイズ要素は、入力画素フレーム内の異なる画素に対応する。撮像パイプラインステージは、画素出力フレームと、入力画素フレーム、入力画素ノイズフレーム、及び画素出力フレームに結合された適応空間ノイズフィルタとをさらに含む。 In yet another aspect, the imaging pipeline stage includes an input pixel frame and an input pixel noise frame. Each pixel noise element in the input pixel noise frame corresponds to a different pixel in the input pixel frame. The imaging pipeline stage further includes a pixel output frame and an adaptive spatial noise filter coupled to the input pixel frame, the input pixel noise frame, and the pixel output frame.

一態様では、適応空間ノイズフィルタは、適応空間ノイズ・バイラテラル(bilateral)フィルタを含む。位置xの画素について、適応空間ノイズ・バイラテラルフィルタは、以下のように規定される。

Figure 0007552002000001


ここで、
Figure 0007552002000002


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


は、正規化定数であり、
Figure 0007552002000004


は、空間的なガウス分布であり、
Figure 0007552002000005


は、位置yの画素と位置xの画素との間の距離のノルムであり、
Figure 0007552002000006


は、距離パラメータであり、
Figure 0007552002000007


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


は、位置yにおける画素の信号レベルであり、
Figure 0007552002000009


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


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


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


は、位置xに中心画素を有する画素のブロックであり、
Figure 0007552002000013


は、位置xに中心画素を有する画素ブロック内の画素に亘る総和を表す。 In one aspect, the adaptive spatial noise filter includes an adaptive spatial noise bilateral filter: For a pixel at location x, the adaptive spatial noise bilateral filter is defined as follows:
Figure 0007552002000001


Where:
Figure 0007552002000002


is the adaptive spatial noise filtered signal level of the pixel at location x,
Figure 0007552002000003


is a normalization constant,
Figure 0007552002000004


is a spatial Gaussian distribution,
Figure 0007552002000005


is the norm of the distance between the pixel at position y and the pixel at position x,
Figure 0007552002000006


is the distance parameter,
Figure 0007552002000007


is a Gaussian distribution of the signal level range that is a function of the noise of the pixel at location x,
Figure 0007552002000008


is the signal level of the pixel at position y,
Figure 0007552002000009


is the signal level of the pixel at position x,
Figure 0007552002000010


is the absolute value of the difference between the signal level of the pixel (second pixel) at position y and the signal level of the pixel (first pixel) at position x,
Figure 0007552002000011


is a signal level range parameter that is a function of the noise of the pixel at location x,
Figure 0007552002000012


is a block of pixels with its center pixel at position x,
Figure 0007552002000013


represents the sum over the pixels in the pixel block having its center pixel at position x.

一態様では、方法は、第1のフレームの第1の画素を受信するステップと、第1の画素の推定画素ノイズパラメータを用いて、且つ第1の画素の信号レベルと少なくとも第2の画素の信号レベルとの間の差を用いて、第1の画素を適応ノイズフィルタ処理して、フィルタ処理された画素を取得するステップとを含む。フィルタ処理された画素は、出力フレームに出力される。この方法はまた、フィルタ処理された画素に対応する画素ノイズをノイズ出力フレームに出力するステップを含む。 In one aspect, the method includes receiving a first pixel of a first frame and adaptively noise filtering the first pixel using an estimated pixel noise parameter for the first pixel and using a difference between a signal level of the first pixel and a signal level of at least a second pixel to obtain a filtered pixel. The filtered pixel is output in an output frame. The method also includes outputting pixel noise corresponding to the filtered pixel in a noise output frame.

別の態様では、第2の画素は、第1のフレーム内の第1の画素の位置と同じ、画像センサによって取り込まれた第2のフレーム内の位置にある。第2のフレームは、第1のフレームを取り込む前の時間に取り込まれる。この態様では、第1の画素を適応ノイズフィルタ処理するステップは、第1の画素の信号レベルの時間変化とも呼ばれる、第1の画素と第2の画素の信号レベルの変化と、第1の画素の推定画素ノイズレベルとの比較に基づいて、第1の画素を適応時間ノイズフィルタ処理するステップを含む。推定画素ノイズレベルは、この態様では推定画素ノイズパラメータである。 In another aspect, the second pixel is at a location in a second frame captured by the image sensor that is the same as the location of the first pixel in the first frame. The second frame is captured at a time prior to capturing the first frame. In this aspect, adaptive noise filtering the first pixel includes adaptively noise filtering the first pixel based on a comparison of a change in signal level of the first pixel and the second pixel over time, also referred to as a change in signal level of the first pixel over time, to an estimated pixel noise level of the first pixel. The estimated pixel noise level is an estimated pixel noise parameter in this aspect.

第1の画素を適応時間ノイズフィルタ処理するステップは、第1の画素の信号レベルを信号レベル対ノイズ・ルックアップテーブルに入力するステップと、信号レベル対ノイズ・ルックアップテーブルを用いて、第1の画素の信号レベルに対応するノイズ標準偏差を出力するステップとを含む。ノイズ標準偏差は、この態様では第1の画素の推定画素ノイズレベルである。第1の画素を適応時間ノイズフィルタ処理するステップはまた、第1の画素の信号レベルの時間変化をノイズ標準偏差で除算して、第1の画素の信号レベルの時間変化をノイズの標準偏差として取得するステップを含み、除算は前記比較である。第1の画素を適応時間ノイズフィルタ処理するステップは、第1の画素の信号レベルの時間変化をノイズの標準偏差で変更ルックアップテーブルに入力するステップと、変更ルックアップテーブルを用いて、フィルタを通過する第1の画素の信号レベルの許容される時間変化の割合を出力するステップをさらに含む。最後に、第1の画素を適応時間ノイズフィルタ処理するステップは、第1の画素の信号レベルにおける許容される時間変化の割合に第1の画素の信号レベルの時間変化を乗算することによって、第1の画素の信号レベルにおける許容される時間変化を生成するステップと、第1の画素の信号レベルの許容される時間変化を対応する画素に加算することによって、フィルタ処理された画素を生成するステップであって、対応する画素は第2のフレームの画素であり、第2のフレームは、時間的に第1のフレームの直前にある、生成するステップを含む。 The step of adaptively noise filtering the first pixel includes inputting the signal level of the first pixel into a signal level vs. noise lookup table, and using the signal level vs. noise lookup table to output a noise standard deviation corresponding to the signal level of the first pixel. The noise standard deviation is an estimated pixel noise level of the first pixel in this aspect. The step of adaptively noise filtering the first pixel also includes dividing the time change in the signal level of the first pixel by the noise standard deviation to obtain the time change in the signal level of the first pixel as the standard deviation of the noise, the division being the comparison. The step of adaptively noise filtering the first pixel further includes inputting the time change in the signal level of the first pixel with the standard deviation of the noise into a modified lookup table, and using the modified lookup table to output the percentage of the allowed time change in the signal level of the first pixel that passes through the filter. Finally, the step of adaptively filtering the first pixel includes the steps of: generating an allowable change in the signal level of the first pixel by multiplying a percentage of the allowable change in the signal level of the first pixel by the change in the signal level of the first pixel over time; and generating a filtered pixel by adding the allowable change in the signal level of the first pixel to a corresponding pixel, the corresponding pixel being a pixel of a second frame, the second frame immediately preceding the first frame in time.

さらに別の態様では、本方法の少なくとも1つの第2の画素は、第1の画素に隣接する複数の画素に含まれ、第1の画素を適応ノイズフィルタ処理するステップは、第1の画素の信号レベルと複数の隣接画素の信号レベルのそれぞれとの間の差に基づいて、及びノイズ依存信号レベルパラメータに基づいて、第1の画素を適応空間ノイズフィルタ処理するステップを含む。ノイズ依存信号レベルパラメータは、第1の画素のノイズの関数であり、ノイズ依存信号レベルパラメータは、この態様では第1の画素の推定画素ノイズパラメータである。 In yet another aspect, the at least one second pixel of the method is included in a plurality of pixels adjacent to the first pixel, and adaptive noise filtering the first pixel includes adaptive spatial noise filtering the first pixel based on a difference between a signal level of the first pixel and each of the signal levels of the plurality of adjacent pixels and based on a noise-dependent signal level parameter. The noise-dependent signal level parameter is a function of the noise of the first pixel, and the noise-dependent signal level parameter in this aspect is an estimated pixel noise parameter of the first pixel.

画素を適応空間ノイズフィルタ処理するステップは、距離フィルタと信号レベルレンジフィルタとを組み合わせることによってフィルタ処理された画素を生成するステップを含み、信号レベルレンジフィルタは、ノイズ依存信号レベルパラメータの関数である。特に、信号レベルフィルタは、信号レベルレンジパラメータを有する信号レベル範囲のガウス分布を含む。信号レベルレンジパラメータは、ノイズ依存信号レベルパラメータである。 The step of adaptively spatial noise filtering the pixel includes generating the filtered pixel by combining a distance filter and a signal level range filter, the signal level range filter being a function of a noise-dependent signal level parameter. In particular, the signal level filter includes a Gaussian distribution of signal level ranges having the signal level range parameter. The signal level range parameter is a noise-dependent signal level parameter.

従来技術のコンピュータ支援手術システムの図である。FIG. 1 is a diagram of a prior art computer-assisted surgery system. 適応ノイズフィルタを有する撮像パイプラインを含む撮像システムの図である。FIG. 1 is a diagram of an imaging system including an imaging pipeline having an adaptive noise filter. 適応時間ノイズフィルタを実施する方法である。A method for implementing an adaptive temporal noise filter. 適応時間ノイズフィルタの図である。FIG. 2 is a diagram of an adaptive temporal noise filter. 図3A及び図3Bの態様における信号レベル対ノイズ・ルックアップテーブルに含まれるデータのグラフ図である。FIG. 4 is a graphical representation of data contained in a signal level versus noise lookup table in the embodiment of FIGS. 3A and 3B. 図3A及び図3Bの態様における変更ルックアップテーブルに含まれるデータのグラフ図である。FIG. 4 is a graphical representation of the data contained in the modified lookup table in the embodiment of FIGS. 3A and 3B. 複数の適応ノイズフィルタを含む撮像パイプラインの図である。FIG. 2 is a diagram of an imaging pipeline including multiple adaptive noise filters. 適応空間ノイズフィルタを実施する方法である。A method for implementing an adaptive spatial noise filter. 適応空間ノイズフィルタの図である。FIG. 2 is a diagram of an adaptive spatial noise filter.

図面において、3桁の参照数字の第1桁は、その参照数字を有する要素が最初に現れる図の番号である。 In the drawings, the first digit of a three-digit reference number is the number of the figure in which the element with that reference number first appears.

内視鏡撮像システム192における撮像パイプライン等の撮像パイプラインは、多くのノイズフィルタを含む。これらのノイズフィルタには、シーン内で予想されるノイズに基づくパラメータが含まれる。これらのノイズフィルタは、所与の信号レベル、例えばノイズに基づいてパラメータが選択される信号レベルを有する取り込まれたフレームに対しては良好に機能するが、これらのノイズフィルタは、異なる信号レベルで取り込まれたフレーム及び変化する信号レベルを含む画像フレームを処理するには問題を有する。 An imaging pipeline, such as the imaging pipeline in endoscopic imaging system 192, includes many noise filters. These noise filters include parameters that are based on the noise expected in the scene. While these noise filters work well for captured frames having a given signal level, e.g., the signal level for which the noise-based parameters are selected, these noise filters have problems processing frames captured at different signal levels and image frames that include varying signal levels.

これらの問題は、1つ又は複数の適応ノイズフィルタを含む撮像パイプラインによって解決される。適応ノイズフィルタのそれぞれは、画像取込みユニット、例えばカメラ内の画像センサによって測定されるような、局所ベースの信号レベルに関連するノイズ依存パラメータを選択する。適応ノイズフィルタのそれぞれにおいて使用されるノイズ依存パラメータは、画像フレーム毎に変化する可能性があり、画像フレーム内で画素毎に変化する可能性がある。具体的には、適応ノイズフィルタは、フレーム内の関心領域の信号レベルに基づいてノイズフィルタ処理を調整する。いくつかの例では、関心領域は画素であるが、他の例では、関心領域は画素のグループであり、ここで、画素のグループは、1画素よりも多くの画素を含み、フレーム内の画素数よりも少ない。適応ノイズフィルタのそれぞれは、第1の画素の値と少なくとも第2の画素の値との比較、例えば、時間的又は空間的変化とその画素の推定画素ノイズパラメータとを比較することによって画素を適応フィルタ処理し、ここで画素の推定画素ノイズパラメータは、画素データのフレーム内の総画素数未満の数に基づいている。推定画素ノイズが画素毎に変化する可能性があるので、適応フィルタは、推定画素ノイズパラメータにおけるそのような変化を補償する。 These problems are solved by an imaging pipeline that includes one or more adaptive noise filters. Each of the adaptive noise filters selects a noise-dependent parameter that is related to a signal level on a local basis, as measured by an image sensor in an image capture unit, e.g., a camera. The noise-dependent parameters used in each of the adaptive noise filters may vary from image frame to image frame and may vary from pixel to pixel within an image frame. Specifically, the adaptive noise filters adjust the noise filtering based on the signal level of a region of interest in the frame. In some examples, the region of interest is a pixel, while in other examples, the region of interest is a group of pixels, where the group of pixels includes more than one pixel and less than the number of pixels in the frame. Each of the adaptive noise filters adaptively filters a pixel by comparing a value of a first pixel to a value of at least a second pixel, e.g., a temporal or spatial change, and an estimated pixel noise parameter for that pixel, where the estimated pixel noise parameter for the pixel is based on a number less than the total number of pixels in the frame of pixel data. Because the estimated pixel noise may vary from pixel to pixel, the adaptive filter compensates for such changes in the estimated pixel noise parameter.

内視鏡及び他の小型画像取込みセンサに使用される画像取込みセンサでは、画素は、露光時間内にその画素に入射する光子をカウントする。こうして、画素の信号レベルは、画素値と呼ばれることもあり、露光時間に亘る入射光子のカウントを含む。しかしながら、このカウント、すなわち信号レベルは、画素ノイズに関連する寄与も含み得る。画素ノイズは電子(ショット)ノイズによって支配され、画像取込みセンサの電気的変動による画素ノイズへの根本的な寄与もある。画素ノイズは、画像取込みセンサに当たる電子数の分散を扱う平方根関数として推定され、例えば、推定画素ノイズパラメータは推定画素ノイズレベルである。標準偏差の数値において推定画素ノイズと呼ばれることがある推定画素ノイズレベルは、以下のように推定することができる。

Figure 0007552002000014


ここで、
std(Noise)は、画素のノイズの標準偏差であり、
Oは、センサの電気ノイズによるオフセットであり、
Gは、ゲイン値であり、
SignalLevelは、画像取込みセンサによって読み取られる画素信号レベルであり、
MaxSignalLevelは、画像取込みセンサの最大画素信号レベルである。
ここで、画素信号レベル(SignalLevel)は、画像取込みセンサの画素に入射する光の尺度である。上の式は、低画素信号レベルでは、ノイズが高画素信号レベルよりもはるかに小さいことを示している。しかしながら、低信号レベルでは、ノイズは高信号レベルよりも信号のはるかに大きな部分を占める。 In image capture sensors used in endoscopes and other miniature image capture sensors, a pixel counts the photons that are incident on it during an exposure time. Thus, the signal level of a pixel, sometimes called the pixel value, includes the count of incident photons over the exposure time. However, this count, or signal level, may also include a contribution related to pixel noise. Pixel noise is dominated by electronic (shot) noise, and there is also a fundamental contribution to pixel noise due to electrical variations in the image capture sensor. Pixel noise is estimated as a square root function that deals with the variance in the number of electrons that strike the image capture sensor, for example, an estimated pixel noise parameter is the estimated pixel noise level. The estimated pixel noise level, sometimes called the estimated pixel noise in terms of a standard deviation number, can be estimated as follows:
Figure 0007552002000014


Where:
std(Noise) is the standard deviation of the noise of the pixels,
O is the offset due to electrical noise of the sensor,
G is the gain value,
SignalLevel is the pixel signal level read by the image capture sensor,
MaxSignalLevel is the maximum pixel signal level of the image capture sensor.
Here, pixel signal level (SignalLevel) is a measure of the light incident on a pixel of an image capture sensor. The above equation shows that at low pixel signal levels, the noise is much smaller than at high pixel signal levels. However, at low signal levels, the noise is a much larger portion of the signal than at high signal levels.

例えば、オフセット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
For example, consider a first pixel with an offset O of 2, a gain G of 40, a pixel signal level of 6, and a second pixel with a pixel signal level of 4000. In this example, 12-bit pixels are used, so the Max Signal Level is 4095.
std(1st pixel noise)=2+40*(6/4095)**.5=3.5
std(2nd pixel noise)=2+40*(4000/4095)**.5=41.5

こうして、第2の画素の推定画素ノイズの標準偏差は、第1の画素の推定画素ノイズの標準偏差の10倍を超える。しかしながら、第1の画素の推定画素ノイズの標準偏差は、第1の画素の画素信号レベルの約58%である一方、第2画素の推定画素ノイズの標準偏差は、第2画素の画素信号レベルの約1%である。 Thus, the standard deviation of the estimated pixel noise of the second pixel is more than 10 times the standard deviation of the estimated pixel noise of the first pixel. However, the standard deviation of the estimated pixel noise of the first pixel is about 58% of the pixel signal level of the first pixel, while the standard deviation of the estimated pixel noise of the second pixel is about 1% of the pixel signal level of the second pixel.

一態様では、画像取込みユニット201が画素データのフレームを取り込み、この画素データのフレームは、撮像システム292の撮像パイプライン230によって処理される。典型的には、撮像パイプライン230は、複数のステージを含む。撮像システム292の撮像パイプライン230は、従来の撮像システム192の撮像パイプラインのステージ内の少なくとも1つのノイズフィルタが適応ノイズフィルタ210に置き換えられている点を除いて、従来の撮像システム192の撮像パイプラインと同様である。 In one aspect, the image capture unit 201 captures a frame of pixel data, which is processed by the imaging pipeline 230 of the imaging system 292. Typically, the imaging pipeline 230 includes multiple stages. The imaging pipeline 230 of the imaging system 292 is similar to the imaging pipeline of the conventional imaging system 192, except that at least one noise filter in a stage of the imaging pipeline of the conventional imaging system 192 is replaced with an adaptive noise filter 210.

画素データ214のステージ入力フレーム(時には、入力フレーム214と呼ばれる)は、撮像処理パイプライン230の特定のステージに入力される画素データの関数である。撮像システム292の撮像パイプライン230内の適応ノイズフィルタ210は、入力フレーム214内の画素の信号レベルの変化がノイズであるか実際の変化であるかを判定することによって動作する。実際の変化は、信号レベルの実際の変化に起因する変化であり、ノイズに起因する変化ではない。適応ノイズフィルタ210が、画素の信号レベルの変化がノイズによるものであると判定した場合に、適応ノイズフィルタ210は、その画素をフィルタ処理し、フィルタ処理された画素をフィルタ処理された画素データのフレーム212に渡す。逆に、適応ノイズフィルタ210が、その画素の信号レベルの変化が信号レベルの変化に起因する、すなわち、実際の変化であると判定した場合に、適応ノイズフィルタ210は、フィルタ処理されていない画素をフィルタ処理された画素データのフレーム212に渡す。適応ノイズフィルタ210は、画素に関連する信号レベルの変化とその画素の推定画素ノイズパラメータと比較し、次にその比較に基づいて画素をフィルタ処理することによって、画素の信号レベルの変化がノイズによるものであるという判定を行う。 A stage input frame of pixel data 214 (sometimes referred to as an input frame 214) is a function of pixel data input to a particular stage of the imaging processing pipeline 230. The adaptive noise filter 210 in the imaging pipeline 230 of the imaging system 292 operates by determining whether a change in signal level of a pixel in the input frame 214 is noise or a real change. A real change is a change due to a real change in signal level, not a change due to noise. If the adaptive noise filter 210 determines that a change in signal level of a pixel is due to noise, the adaptive noise filter 210 filters the pixel and passes the filtered pixel to the frame of filtered pixel data 212. Conversely, if the adaptive noise filter 210 determines that a change in signal level of the pixel is due to a change in signal level, i.e., a real change, the adaptive noise filter 210 passes the unfiltered pixel to the frame of filtered pixel data 212. The adaptive noise filter 210 determines that a change in a pixel's signal level is due to noise by comparing the change in signal level associated with the pixel to an estimated pixel noise parameter for that pixel, and then filtering the pixel based on the comparison.

こうして、適応ノイズフィルタ210は、画像取込みユニット201の画像取込みセンサによって取り込まれたフレーム202内の少なくとも関心領域の各画素を調べ、信号レベルの変化がノイズのみによって引き起こされるとみなされるかどうかに基づいて、各画素における信号レベル変化、例えば時間経過による変化又は隣接画素の間の空間的変化を処理する。この適応ノイズフィルタ処理は、従来技術のノイズフィルタを使用して得られたものよりも良好な画像をディスプレイユニット220に表示させる。 Thus, the adaptive noise filter 210 examines each pixel of at least the region of interest in the frame 202 captured by the image capture sensor of the image capture unit 201 and processes the signal level changes at each pixel, e.g., changes over time or spatial changes between adjacent pixels, based on whether the signal level changes are deemed to be caused by noise alone. This adaptive noise filtering causes the display unit 220 to display a better image than those obtained using prior art noise filters.

従来技術のノイズフィルタでは、ノイズフィルタに使用されるパラメータが低信号レベルのノイズを対象とする場合に、高信号レベルを示す画素のノイズは、単にフィルタを通過するだけであった。その結果、ディスプレイユニットに表示されたシーンの高信号レベルのノイズは、表示されるシーンの明るい領域をフレーム毎に変化させ、ひいては表示されたシーンにノイズ誘発フリッカーを生じさせる可能性がある。 In prior art noise filters, when the parameters used for the noise filter are intended for low signal level noise, noise in pixels exhibiting high signal levels simply passes through the filter. As a result, high signal level noise in a scene displayed on a display unit can cause bright areas of the displayed scene to vary from frame to frame, which in turn can cause noise-induced flicker in the displayed scene.

逆に、従来技術のノイズフィルタに使用されるパラメータが高信号レベルのノイズを対象とする場合に、信号レベルが低い画素は、全てがノイズであると判定されるため、フィルタ処理されることになる。その結果、低信号レベルの画素の情報が失われることになる。 Conversely, if the parameters used in the prior art noise filters are targeted at high signal level noise, then pixels with low signal levels will be filtered out because they are all determined to be noise. As a result, information from the low signal level pixels will be lost.

本明細書で説明する適応ノイズフィルタは、各画素の信号レベルに基づいてノイズフィルタ処理を調整することによって、これらの問題を克服する。こうして、低信号レベルのフィルタ処理は、高信号レベルのフィルタ処理とは異なり、信号レベルが変化すると、画素の推定画素ノイズが変化し、フィルタ処理は、表示される画像における画素ノイズの影響が分からないようにノイズによる寄与を平滑化しながら、各画素によって伝達される情報を保存するように調整される。例えば、適応ノイズフィルタ210は、画素の信号レベルを使用して、その画素のノイズを信号レベル対ノイズデータ211にアクセスする。信号レベル対ノイズデータ211は、画素の信号レベルの可能な範囲に亘って各信号レベルに対して適切なノイズパラメータを有する。適応ノイズフィルタ210は、画素の信号レベルの変化とその画素の信号レベル対ノイズデータ211からのノイズレベルとを比較することにより、各画素がその画素の信号レベルのノイズに基づいて適切にフィルタ処理されることを保証する。これは、画素データのフレーム内の完全なシーンに亘って同じパラメータを使用するように試みられた従来技術のノイズフィルタで遭遇する問題を大幅に低減又は排除する。 The adaptive noise filter described herein overcomes these problems by adjusting the noise filtering based on the signal level of each pixel. Thus, filtering for low signal levels differs from filtering for high signal levels, where the estimated pixel noise of a pixel changes as the signal level changes, and the filtering is adjusted to preserve the information conveyed by each pixel while smoothing the noise contribution so that the effect of the pixel noise in the displayed image is not visible. For example, the adaptive noise filter 210 uses the signal level of a pixel to access the noise of that pixel in signal level vs. noise data 211, which has appropriate noise parameters for each signal level across the possible range of signal levels for the pixel. The adaptive noise filter 210 ensures that each pixel is appropriately filtered based on the noise of that pixel's signal level by comparing the change in the pixel's signal level to the noise level from the signal level vs. noise data 211 for that pixel. This significantly reduces or eliminates problems encountered with prior art noise filters that attempt to use the same parameters across a complete scene in a frame of pixel data.

一態様では、適応ノイズフィルタ210は、画素ノイズデータの出力フレーム213(時には、ノイズフレーム213と呼ばれる)に各画素のノイズ値を保存する、例えば画素ノイズを保存する。一態様では、画素ノイズデータ213の値はノイズ標準偏差で表される。ノイズフレーム213は、パイプライン230を通過し、パイプライン230の各ステージによって処理される。その結果、パイプライン230の各ステージは、そのステージに入力されるノイズの表現を有し、その表現が、そのステージで実施される任意の適応ノイズフィルタ処理に使用され得る。 In one aspect, the adaptive noise filter 210 stores a noise value, e.g., pixel noise, for each pixel in an output frame of pixel noise data 213 (sometimes referred to as a noise frame 213). In one aspect, the values of the pixel noise data 213 are expressed as noise standard deviations. The noise frame 213 passes through the pipeline 230 and is processed by each stage of the pipeline 230. As a result, each stage of the pipeline 230 has a representation of the noise input to that stage, which may be used for any adaptive noise filtering operations performed at that stage.

以下でより完全に説明するように、一態様では、撮像パイプライン230は、撮像パイプライン230の初期ステージに適応時間ノイズフィルタを含む。適応ノイズフィルタ210が適応時間ノイズフィルタである場合に、画素データ214のステージ入力フレームは、画像取込みユニット201内の画像取込みセンサからの生の画素データの入力フレームである。 As described more fully below, in one aspect, the imaging pipeline 230 includes an adaptive temporal noise filter in an early stage of the imaging pipeline 230. When the adaptive noise filter 210 is an adaptive temporal noise filter, the stage input frames of pixel data 214 are input frames of raw pixel data from an image capture sensor in the image capture unit 201.

別の態様では、撮像パイプライン230は、撮像パイプライン230の後のステージに適応空間ノイズフィルタを含む。適応ノイズフィルタ210が適応空間ノイズフィルタである場合に、画素データ214のステージ入力フレームは、例えば、デモザイク処理され、色変換された画素データの入力フレームである。 In another aspect, the imaging pipeline 230 includes an adaptive spatial noise filter at a later stage in the imaging pipeline 230. When the adaptive noise filter 210 is an adaptive spatial noise filter, the stage input frame of pixel data 214 is, for example, an input frame of demosaiced and color transformed pixel data.

さらに別の態様では、撮像パイプライン230は、撮像パイプラインの初期ステージの適応時間ノイズフィルタと、撮像パイプラインの後のステージの適応空間ノイズフィルタとの両方を含む。図5を参照されたい。 In yet another aspect, the imaging pipeline 230 includes both an adaptive temporal noise filter in an early stage of the imaging pipeline and an adaptive spatial noise filter in a later stage of the imaging pipeline. See FIG. 5.

適応ノイズフィルタ210が適応時間ノイズフィルタである場合に、生の画素データの現在のフレーム内の位置における現在の画素(第1の画素)の値は、時間的に現在のフレームの直前にフィルタ処理されたデータのフレーム内の同じ位置における先行してフィルタ処理された画素(第2の画素)の値と比較される。ここで、生の画素データは、未だデモザイク処理されていない画像取込みユニット201からのデータを指す。2つの画素の2つの値の差、すなわち現在の画素の時間変化を用いて、2つの画素の値の差がノイズによるものか、又は実際の変化であるのかを判定する。 When the adaptive noise filter 210 is an adaptive temporal noise filter, the value of a current pixel (first pixel) at a position in a current frame of raw pixel data is compared to the value of a previously filtered pixel (second pixel) at the same position in a frame of data that was filtered immediately before the current frame in time. Here, raw pixel data refers to data from the image capture unit 201 that has not yet been demosaiced. The difference between the two values of the two pixels, i.e., the change in the current pixel over time, is used to determine whether the difference in the values of the two pixels is due to noise or an actual change.

一態様では、現在の画素の値(信号レベル)に対するノイズの標準偏差(推定画素ノイズパラメータ)は、適応ノイズフィルタ210によって信号レベル対ノイズデータ211から取得される。次に、現在の画素の時間変化が、ノイズの標準偏差の数値に関して時間的な信号変化を得るために、ノイズの標準偏差で除算される。ノイズの標準偏差の数値に関する時間的な信号変化は、現在の画素の時間変化のどれ位の割合がフィルタ210を通過できるかを決定するために使用される。こうして、フィルタ210は、現在の画素の時間的な信号変化と現在の画素の推定画素ノイズパラメータ、例えば推定画素ノイズレベルと比較し、その比較に基づいてフィルタ処理を行う。一態様では、適応時間ノイズフィルタ処理された画素は、現在の画素の時間変化プラス第2画素の値の割合として規定される。適応時間ノイズフィルタ処理された画素の値は、フィルタ処理された画素データのステージ出力フレーム212(時には、出力フレーム212と呼ばれる)に置かれる。フィルタ210を通過できる現在の画素の許容される時間変化の割合が100%である場合に、現在の画素は、適応時間ノイズフィルタをそのまま通過する。フィルタ210を通過できる現在の画素の許容される時間変化の割合が100%未満である場合に、現在の画素は、その信号レベルに基づいてフィルタ処理される。出力フレーム212は、撮像パイプライン230を通して継続し、ディスプレイユニット220に表示される。こうして、出力フレーム212に基づくフレームが撮像パイプライン230によってディスプレイユニット220に送信される。すなわち、ディスプレイユニット220に送信されたフレームは、出力フレーム212が撮像パイプライン230内の後続のステージによって処理された後の出力フレーム212である。 In one aspect, the standard deviation of the noise (estimated pixel noise parameter) relative to the value (signal level) of the current pixel is obtained from the signal level vs. noise data 211 by the adaptive noise filter 210. The time change of the current pixel is then divided by the standard deviation of the noise to obtain the time signal change relative to the value of the standard deviation of the noise. The time signal change relative to the value of the standard deviation of the noise is used to determine what percentage of the time change of the current pixel can pass through the filter 210. Thus, the filter 210 compares the time signal change of the current pixel with the estimated pixel noise parameter, e.g., the estimated pixel noise level, of the current pixel and filters based on the comparison. In one aspect, the adaptive temporal noise filtered pixel is defined as the percentage of the time change of the current pixel plus the value of the second pixel. The value of the adaptive temporal noise filtered pixel is placed in the stage output frame 212 of filtered pixel data (sometimes referred to as the output frame 212). If the percentage of the allowable time change of the current pixel that can pass through the filter 210 is 100%, the current pixel passes through the adaptive temporal noise filter unchanged. If the allowable time change percentage of the current pixel that can pass through the filter 210 is less than 100%, the current pixel is filtered based on its signal level. The output frame 212 continues through the imaging pipeline 230 and is displayed on the display unit 220. Thus, a frame based on the output frame 212 is sent by the imaging pipeline 230 to the display unit 220. That is, the frame sent to the display unit 220 is the output frame 212 after the output frame 212 has been processed by subsequent stages in the imaging pipeline 230.

適応ノイズフィルタ210が適応空間ノイズフィルタである場合に、デモザイク処理され、色変換された画素データの現在のフレーム内の位置における現在の画素の値は、現在のフレーム内の隣接画素の値と比較される。適応空間ノイズフィルタ処理された画素としてフィルタを通過した現在の画素の空間的変化の割合は、現在の画素と隣接画素との空間的関係に基づいて、隣接画素の信号レベルに対する現在の画素の信号レベルの関係に基づいて、及び現在の画素のノイズ成分に基づいて重み付けされる。一態様では、以下でより完全に説明するように、適応空間ノイズフィルタは、画素の信号レベルと複数の隣接画素の信号レベルとの間の空間的変化に基づいて、及びノイズ依存信号レベルパラメータに基づいて、画素をフィルタ処理するように構成される。ノイズ依存信号レベルパラメータは、現在の画素のノイズの関数である。ここで、この態様では、ノイズ依存信号レベルパラメータは、画素の推定画素ノイズパラメータである。ステージ出力フレーム212は、撮像パイプライン230を通して継続し、ディスプレイユニット220に表示される。 When the adaptive noise filter 210 is an adaptive spatial noise filter, the value of the current pixel at a location in the current frame of demosaiced and color transformed pixel data is compared to the values of neighboring pixels in the current frame. The percentage of spatial variance of the current pixel that passes the filter as an adaptive spatial noise filtered pixel is weighted based on the spatial relationship of the current pixel to the neighboring pixels, based on the relationship of the signal level of the current pixel to the signal levels of the neighboring pixels, and based on the noise component of the current pixel. In one aspect, as described more fully below, the adaptive spatial noise filter is configured to filter the pixel based on the spatial variance between the signal level of the pixel and the signal levels of multiple neighboring pixels, and based on a noise-dependent signal level parameter. The noise-dependent signal level parameter is a function of the noise of the current pixel. Here, in this aspect, the noise-dependent signal level parameter is an estimated pixel noise parameter for the pixel. The stage output frame 212 continues through the imaging pipeline 230 and is displayed on the display unit 220.

図3Aは、撮像パイプライン230で使用され得る適応時間ノイズフィルタの一実装形態のプロセスフロー図である。図3Bは、図3Aの方法350の適応時間ノイズフィルタ300の一実装形態のブロック図である。 Figure 3A is a process flow diagram of one implementation of an adaptive temporal noise filter that may be used in the imaging pipeline 230. Figure 3B is a block diagram of one implementation of the adaptive temporal noise filter 300 of the method 350 of Figure 3A.

この例では、現在の画素フレーム315(図3B参照)内の画素は、順次処理されるものとして説明される。これは例示的なものに過ぎず、限定することを意図するものではない。本開示を考慮して、複数の画素を並行して処理することができ、フレーム内の画素をグループとして、又は他の何らかの事柄として処理することができる。図3Aのプロセスフロー図は、現在の画素における時間変化がノイズによるものであるかどうかを判定するために、現在の画素フレーム315(図3B参照)の各画素が処理されることを示すよう意図している。いくつかの態様では、フレーム内の全ての画素を処理する必要はない。こうして、少なくともフレームの関心領域内の画素、例えばフレーム内の複数の画素が、典型的には、適応時間ノイズフィルタ300によって処理され、ここで関心領域は既知であり、画素フレームの特定の部分となるように指定される。 In this example, pixels in a current pixel frame 315 (see FIG. 3B) are described as being processed sequentially. This is for illustrative purposes only and is not intended to be limiting. In light of the present disclosure, multiple pixels may be processed in parallel, pixels in a frame may be processed as a group, or some other matter. The process flow diagram of FIG. 3A is intended to show that each pixel in the current pixel frame 315 (see FIG. 3B) is processed to determine whether a temporal change in the current pixel is due to noise. In some aspects, it is not necessary to process all pixels in the frame. Thus, at least pixels in a region of interest of the frame, e.g., multiple pixels in the frame, are typically processed by the adaptive temporal noise filter 300, where the region of interest is known and designated to be a particular portion of the pixel frame.

最初に、新フレーム検索プロセス301が、画像取込みユニット210内の画像取込みセンサから新しい画素フレーム302を取り出す。取り出された新しい画素フレーム302は、現在の画素フレーム315(図3B参照)として保存される。新フレーム検索プロセス301は画素取得プロセス303に移る。 First, a new frame search process 301 retrieves a new pixel frame 302 from the image capture sensor in the image capture unit 210. The retrieved new pixel frame 302 is saved as a current pixel frame 315 (see FIG. 3B). The new frame search process 301 transfers to a pixel acquisition process 303.

画素取得プロセス303は、現在の画素フレーム315(図3B参照)から第1の画素と、格納済みの以前フィルタ処理された画素フレーム304から第1の画素に対応する第2の画素とを取り出す。時には、現在の画素フレーム315からの第1の画素は、現在の画素と呼ばれる。格納済みの以前フィルタ処理された画素フレーム304は、現在の画素フレーム315に関連する時間の直前の時間にフィルタ処理された画素フレームである。現在の画素フレーム315が時間tについてのフレームである場合に、格納済みの以前フィルタ処理された画素フレーム304は時間t-1についてのフレームある。ここで、格納済みの以前フィルタ処理された画素フレーム304からの第2の対応する画素は、フレーム315内の第1の画素の位置と同じ、フレーム304内の位置にある画素である。ここで、画素が検索されたと言われるとき、それは画素の値が取り出されることである。画素の値は信号レベルを表す。画素取得プロセス303は、フレーム間の画素差分プロセス305に移る。 The pixel acquisition process 303 retrieves a first pixel from a current pixel frame 315 (see FIG. 3B) and a second pixel corresponding to the first pixel from a stored previously filtered pixel frame 304. Sometimes, the first pixel from the current pixel frame 315 is called the current pixel. The stored previously filtered pixel frame 304 is a pixel frame that was filtered at a time immediately before the time associated with the current pixel frame 315. If the current pixel frame 315 is a frame for time t, then the stored previously filtered pixel frame 304 is a frame for time t-1. Here, the second corresponding pixel from the stored previously filtered pixel frame 304 is a pixel that is at the same position in the frame 304 as the position of the first pixel in the frame 315. Here, when a pixel is said to be retrieved, it is that the value of the pixel is retrieved. The value of the pixel represents a signal level. The pixel acquisition process 303 passes to a frame-to-frame pixel difference process 305.

フレーム間の画素差分プロセス305は、まず、第1の画素と第2の画素との間の時間変化を決定する、例えば、時間t-1における第2の画素の値から時間tにおける第1の画素の値の時間変化を決定する。フレーム間の画素差分プロセス305は、第1の画素の値の時間変化を画素生成プロセス309に供給する。 The frame to frame pixel difference process 305 first determines the time change between a first pixel and a second pixel, e.g., the time change of the value of the first pixel at time t from the value of the second pixel at time t-1. The frame to frame pixel difference process 305 provides the time change of the value of the first pixel to the pixel generation process 309.

次に、フレーム間の画素差分プロセス305は、第1の画素の時間変化の絶対値をとる。フレーム間の画素差分プロセス305は、第1の画素の時間変化の絶対値を信号レベル変更プロセス307に供給する。 Then, the frame pixel difference process 305 takes the absolute value of the time change of the first pixel. The frame pixel difference process 305 provides the absolute value of the time change of the first pixel to the signal level modification process 307.

信号レベル変更プロセス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は全て同じ要素である。)
The signal level modification process 307 not only receives the absolute value of the time change of the first pixel, but also receives a value from the signal level to noise look-up table 306 (upper and lower case letters are not used to distinguish elements herein). For example, the signal level to noise look-up table 306 (see FIG. 3A), the signal level to noise look-up table 306 (see FIG. 3B), the signal level to noise look-up table 306 (see FIG. 3C), the signal level to noise look-up table 306 (see FIG. 3D), the signal level to noise look-up table 306 (see FIG. 3E), the signal level to noise look-up table 306 (see FIG. 3F), the signal level to noise look-up table 306 (see FIG. 3G), the signal level to noise look-up table 306 (see FIG. 3H ...
The signal level to noise look-up table 306 (see FIG. 3B) and the signal level to noise look-up table 306 all have the same elements.

図4Aは、一態様において、信号レベル対ノイズ・ルックアップテーブル306におけるデータのグラフ表示である。この態様では、曲線401を生成するために、上記の、オフセットOが2、ゲインGが40、最大画素信号レベル(Max Signal Level)が4095のノイズ規定(1)が使用された。曲線401は単なる例示であり、この特定の例に限定することを意図していない。本開示に鑑みて、この分野の知識を有する者は、撮像パイプラインにフレームを提供するために使用される画像センサの特性及び関連するゲインを表す信号レベル対ノイズ・ルックアップテーブル306を生成することができる。 4A is a graphical representation of the data in the signal level vs. noise lookup table 306 in one embodiment. In this embodiment, the noise specification (1) above with an offset O of 2, a gain G of 40, and a Max Signal Level of 4095 was used to generate the curve 401. The curve 401 is merely illustrative and is not intended to be limited to this particular example. In light of this disclosure, one skilled in the art can generate a signal level vs. noise lookup table 306 that represents the characteristics and associated gains of the image sensor used to provide frames to the imaging pipeline.

図4Aでは、信号レベルは水平方向のx軸に沿ってプロットされ、ノイズの標準偏差は垂直方向のy軸に沿ってプロットされる。こうして、信号レベル対ノイズ・ルックアップテーブル306が、画素取得プロセス303からx軸に沿った値である現在の画素の値を受け取ると、信号レベル対ノイズ・ルックアップテーブル306は、現在の画素の値についてy軸に沿って曲線の値401を出力する。例えば、現在の画素の信号レベル(現在の画素の値)が1750であると仮定する。信号レベル対ノイズ・ルックアップテーブル306が1750の入力値を受け取ると、信号レベル対ノイズ・ルックアップテーブル306は、現在の画素の標準偏差値28.1を出力する。このルックアップは、図4Aの点線で表される。 In FIG. 4A, the signal level is plotted along the horizontal x-axis and the standard deviation of the noise is plotted along the vertical y-axis. Thus, when the signal level vs. noise lookup table 306 receives a current pixel value from the pixel acquisition process 303, which is a value along the x-axis, the signal level vs. noise lookup table 306 outputs a curve value 401 along the y-axis for the current pixel value. For example, assume that the signal level of the current pixel (current pixel value) is 1750. When the signal level vs. noise lookup table 306 receives an input value of 1750, the signal level vs. noise lookup table 306 outputs a standard deviation value of 28.1 for the current pixel. This lookup is represented by the dotted line in FIG. 4A.

一態様では、信号レベル対ノイズ・ルックアップテーブル306は、現在の画素の可能な信号レベルのそれぞれのエントリを含む。ただし、より少ない数のエントリを使用して、エントリ間の補間を使用することもできる。信号レベル対ノイズ・ルックアップテーブル306は、現在の画素の信号レベルについてのノイズの標準偏差を信号レベル変更プロセス307に供給するだけでなく、画素ノイズ生成プロセス311にも供給する。 In one aspect, the signal level vs. noise lookup table 306 includes an entry for each possible signal level of the current pixel. However, a fewer number of entries may be used and interpolation between entries may be used. The signal level vs. noise lookup table 306 provides the standard deviation of the noise for the signal level of the current pixel to the signal level modification process 307 as well as to the pixel noise generation process 311.

信号レベル変更プロセス307は、第1の画素の時間変化に含まれる標準偏差の数値を決定する、すなわち、第1の画素(現在の画素)の値の時間変化の絶対値を、信号レベル対ノイズ・ルックアップテーブル306から受け取られたノイズ標準偏差入力値で除算する。こうして、第1の画素の値の変化は、この例では推定画素ノイズパラメータである第1の画素の推定画素ノイズレベルと比較される。時間変化の絶対値に含まれる標準偏差の数値は、変更ルックアップテーブル308に入力される。 The signal level modification process 307 determines the standard deviation value included in the time change of the first pixel, i.e., divides the absolute value of the time change of the value of the first pixel (the current pixel) by the noise standard deviation input value received from the signal level vs. noise lookup table 306. The change in the value of the first pixel is thus compared to the estimated pixel noise level of the first pixel, which in this example is the estimated pixel noise parameter. The standard deviation value included in the absolute value of the time change is input to the modification lookup table 308.

変更ルックアップテーブル308に含まれるデータのグラフ表示が図4Bに示されている。ノイズの標準偏差における現在の画素の時間的な信号変化の可能な入力値の範囲は、水平方向のx軸に沿って示され、この例では、可能な入力値はゼロから4の標準偏差の範囲である。曲線402は、可能な入力値のそれぞれについて適応時間ノイズフィルタを通過可能な割合変化の出力を表し、所与の入力に対する曲線の値は、垂直方向のy軸からフィルタを通過可能な現在の画素の時間変化の割合(%)として読み取られる。 A graphical representation of the data contained in the modification lookup table 308 is shown in FIG. 4B. The range of possible input values of the temporal signal change of the current pixel in standard deviations of the noise is shown along the horizontal x-axis, in this example the possible input values range from zero to four standard deviations. Curve 402 represents the output of the percentage change that can pass the adaptive temporal noise filter for each of the possible input values, and the value of the curve for a given input is read off the vertical y-axis as the percentage of the temporal change of the current pixel that can pass the filter.

曲線402によって示されるように、1のノイズ標準偏差又はそれ以下のノイズ標準偏差の現在の画素の時間変化について、現在の画素の時間変化の約19%、すなわち第1の固定された一定の割合がフィルタを通過可能にされる。3のノイズ標準偏差又はそれ以上のノイズ標準偏差の現在の画素の時間変化について、現在の画素の時間変化の100%、すなわち第2の固定された一定の割合がフィルタを通過可能にされる、すなわち現在の画素は、フィルタ処理されずにフィルタを通過する。2以上のノイズ標準偏差であるが3のノイズ標準偏差よりも小さい現在の画素の時間変化について、フィルタを通過可能にされる時間変化の割合が、1のノイズ標準偏差についての現在の画素の時間変化の約19パーセントから3のノイズ標準偏差についての100%まで線形的に変化する。 As shown by curve 402, for a time change of a current pixel of 1 noise standard deviation or less, approximately 19 percent of the time change of the current pixel, i.e., a first fixed constant percentage, is allowed to pass through the filter. For a time change of a current pixel of 3 noise standard deviations or more, 100 percent of the time change of the current pixel, i.e., a second fixed constant percentage, is allowed to pass through the filter, i.e., the current pixel passes through the filter unfiltered. For a time change of a current pixel of 2 noise standard deviations or more but less than 3 noise standard deviations, the percentage of time change allowed to pass through the filter varies linearly from approximately 19 percent of the time change of the current pixel for 1 noise standard deviation to 100% for 3 noise standard deviations.

例えば、現在の画素の時間変化におけるノイズの2の標準偏差の入力値について、変更ルックアップテーブル308は、フィルタを通過可能にされた現在の画素の時間変化の割合である約59%の値を出力する。このルックアップの例は、図4Bに点線で表されている。 For example, for an input value of 2 standard deviations of the noise in the time evolution of the current pixel, the modification lookup table 308 outputs a value of approximately 59%, which is the percentage of the time evolution of the current pixel that is allowed to pass through the filter. An example of this lookup is represented by the dotted line in FIG. 4B.

一態様では、変更ルックアップテーブル308は使用されず、図4Bに示されるような区分関数に置き換えられる。図4Bに示したものよりも複雑な曲線の場合に、曲線は、約512のエントリを有する変更ルックアップテーブル308で実施される。 In one aspect, the modified lookup table 308 is not used and is replaced with a piecewise function as shown in FIG. 4B. For curves more complex than those shown in FIG. 4B, the curve is implemented with a modified lookup table 308 having approximately 512 entries.

こうして、変更ルックアップテーブル308に入力される現在の画素の時間変化の絶対値に含まれる標準偏差の数値に応答して、変更ルックアップテーブル308は、現在の画素が適応時間ノイズフィルタを通過可能な対応する割合変化(change)を出力する。現在の画素が適応時間ノイズフィルタを通過可能な割合変化(change)は、画素生成プロセス309及び画素ノイズ生成プロセス311に供給される。 Thus, in response to the standard deviation value included in the absolute value of the time change of the current pixel input to the modification lookup table 308, the modification lookup table 308 outputs a corresponding percentage change that allows the current pixel to pass the adaptive temporal noise filter. The percentage change that allows the current pixel to pass the adaptive temporal noise filter is provided to the pixel generation process 309 and the pixel noise generation process 311.

画素生成プロセス309は、変更ルックアップテーブル308からのフィルタを通過可能にされた現在の画素の時間変化の割合、フレーム間の画素差分プロセス305からの現在の画素の時間変化、及び格納済みの以前フィルタ処理された画素フレーム304からの第2画素の値を、入力として受け取る。画素生成プロセス309は、変更ルックアップテーブル308からのフィルタを通過可能にされた現在の画素の時間変化の割合に、フレーム間の画素差分プロセス305からの現在の画素の時間変化を乗算し、次にその結果を、格納済みの以前フィルタ処理された画素フレーム304からの第2画素の値に加算して、画素出力フレーム310に渡される適応時間ノイズフィルタ処理された画素を取得する。こうして、適応フィルタ処理された出力画素は、上述した比較に基づいて出力される。 The pixel generation process 309 receives as input the percentage of time change of the current pixel allowed to pass the filter from the modified lookup table 308, the time change of the current pixel from the frame-to-frame pixel difference process 305, and the value of the second pixel from the stored previously filtered pixel frame 304. The pixel generation process 309 multiplies the percentage of time change of the current pixel allowed to pass the filter from the modified lookup table 308 by the time change of the current pixel from the frame-to-frame pixel difference process 305, and then adds the result to the value of the second pixel from the stored previously filtered pixel frame 304 to obtain an adaptive temporal noise filtered pixel that is passed to the pixel output frame 310. Thus, an adaptively filtered output pixel is output based on the comparison described above.

画素ノイズ生成プロセス311は、適応時間ノイズフィルタを通過可能になる割合変化(change)、現在の画素の信号レベルに対するノイズ標準偏差(stdCurr)、及び時間的に直前のフレーム内の対応するフィルタ処理された画素の信号レベルに対するノイズ標準偏差(stdPrev)を、入力として受け取る。時間的に直前のフレーム内の対応する画素の信号レベルに対するノイズ標準偏差(stdPrev)は、直前の適応ノイズフィルタによって生成された画素ノイズ標準偏差のフレームである格納済みの以前の画素ノイズフレーム314から受け取られる。 The pixel noise generation process 311 receives as input the percent change allowed through the adaptive temporal noise filter, the noise standard deviation for the signal level of the current pixel (stdCurr), and the noise standard deviation for the signal level of the corresponding filtered pixel in the previous frame in time (stdPrev). The noise standard deviation for the signal level of the corresponding pixel in the previous frame in time (stdPrev) is received from a stored previous pixel noise frame 314, which is a frame of pixel noise standard deviations generated by the previous adaptive noise filter.

画素ノイズ生成プロセス311は、現在のフィルタ処理された画素に対する画素ノイズ標準偏差(stdOut)を生成する。この態様では、現在フィルタ処理された画素に対する画素ノイズ標準偏差(stdOut)は、以下のように規定される。

Figure 0007552002000015

The pixel noise generation process 311 generates the pixel noise standard deviation (stdOut) for the current filtered pixel. In this aspect, the pixel noise standard deviation (stdOut) for the current filtered pixel is defined as follows:
Figure 0007552002000015

画素ノイズ生成プロセス311は、現在のフィルタ処理された画素に対する画素ノイズ標準偏差(stdOut)を、画素ノイズ出力フレーム312(時には、ノイズ出力フレーム312と呼ばれる)に書き込む。現在の画素ノイズは、適応時間ノイズフィルタ処理された画素のノイズ成分を表す。画素ノイズ生成プロセス311は、処理を最後の画素確認プロセス313に移す。 The pixel noise generation process 311 writes the pixel noise standard deviation (stdOut) for the current filtered pixel to the pixel noise output frame 312 (sometimes called the noise output frame 312). The current pixel noise represents the noise component of the adaptive temporal noise filtered pixel. The pixel noise generation process 311 passes processing to the final pixel confirmation process 313.

最後の画素確認プロセス313は、現在の画素フレーム内の全ての画素がフィルタ処理されたかどうかを判定する。全ての画素がフィルタ処理された場合に、最後の画素確認プロセス313は新フレーム検索プロセス301に移り、そうでなければ画素取得プロセス303に移る。 The Last Pixel Check Process 313 determines whether all pixels in the current pixel frame have been filtered. If all pixels have been filtered, the Last Pixel Check Process 313 passes to the New Frame Search Process 301, otherwise it passes to the Pixel Acquisition Process 303.

フレーム内の関心のある全ての画素がフィルタ処理されると、(フィルタ処理された画素のフレームと呼ばれる)画素出力フレーム310は、格納済みの以前フィルタ処理された画素フレーム304に移動される。また、画素ノイズ出力フレーム312は、格納済みの以前の画素ノイズフレーム314(時には、格納済の以前のノイズフレーム314と呼ばれる)に移動される。 Once all pixels of interest in a frame have been filtered, the pixel output frame 310 (called the filtered pixel frame) is moved to the stored previously filtered pixel frame 304, and the pixel noise output frame 312 is moved to the stored previous pixel noise frame 314 (sometimes called the stored previous noise frame 314).

図3Aの方法350は、フレーム内の少なくとも1つの領域内の各画素を適応時間ノイズフィルタ処理し、その画素の推定画素ノイズに基づいてフィルタを調整する。さらに、この方法は、各画素へのノイズ寄与が撮像パイプラインの各フィルタステージで利用できるように、別のフィルタステージに達するまで、撮像パイプラインの各ステージによって処理される画素ノイズ出力フレームを生成する。各フィルタステージは、そのステージから画素ノイズ出力フレームを生成するオプションを含む。 The method 350 of FIG. 3A adaptively temporally noise filters each pixel in at least one region in a frame and adjusts the filter based on the estimated pixel noise for that pixel. The method further generates a pixel noise output frame that is processed by each stage of the imaging pipeline until another filter stage is reached, such that the noise contribution to each pixel is available to each filter stage of the imaging pipeline. Each filter stage includes an option to generate a pixel noise output frame from that stage.

適応時間ノイズフィルタ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に結合される。 3A. The adaptive temporal noise filter 300 includes a first adder 320, an absolute value module 321, a divider 322, a multiplier 323, a second adder 324, second through seventh multipliers 325, 326, 328, 329, 330, 331, a third and fourth adder 327, 332, and a square root module 333. The adaptive temporal noise filter 300 is connected to a current pixel frame 315, a stored previously filtered pixel frame 304, a signal level vs. noise lookup table 306, a modification lookup table 308, a pixel output frame 310, a pixel noise output frame 312, and a stored previous pixel noise frame 314. In one aspect, each of the current pixel frame 315, the stored previously filtered pixel frame 304, the signal level vs. noise lookup table 306, the modification lookup table 308, the pixel output frame 310, the pixel noise output frame 312, and the stored previous pixel noise frame 314 are stored in memory. In this example, the pixel output frame 310 is coupled to the stored previously filtered pixel frame 304 so that the pixel output frame 310 can be moved to the stored previously filtered pixel frame 304. Similarly, the pixel noise output frame 312 is coupled to the stored previous pixel noise output frame 314 so that the pixel noise output frame 312 can be moved to the stored previous pixel noise output frame 314.

現在の画素フレーム315、格納済みの以前フィルタ処理された画素フレーム304、信号レベル対ノイズ・ルックアップテーブル306、変更ルックアップテーブル308、画素出力フレーム310、画素ノイズ出力フレーム312、及び格納済みの以前の画素ノイズフレーム314を適応時間ノイズフィルタ300とは別に示すことは、例示に過ぎない。例えば、適応時間ノイズフィルタ300は、図3Bにおいて、現在の画素フレーム315、格納済みの以前フィルタ処理された画素フレーム304、信号レベル対ノイズ・ルックアップテーブル306、変更ルックアップテーブル308、画素出力フレーム310、画素ノイズ出力フレーム312、及び格納済みの以前の画素ノイズフレーム314の全て又はいつかの組合せを含むように示され得る。 The current pixel frame 315, the stored previously filtered pixel frame 304, the signal level vs. noise lookup table 306, the modified lookup table 308, the pixel output frame 310, the pixel noise output frame 312, and the stored previous pixel noise frame 314 are shown separately from the adaptive temporal noise filter 300 for illustrative purposes only. For example, the adaptive temporal noise filter 300 may be shown in FIG. 3B to include all or some combination of the current pixel frame 315, the stored previously filtered pixel frame 304, the signal level vs. noise lookup table 306, the modified lookup table 308, the pixel output frame 310, the pixel noise output frame 312, and the stored previous pixel noise frame 314.

画素取得プロセス303を実施するために、ライン上の信号(Control)が、適応時間ノイズフィルタ300の加算器320の第1の入力(In1)上で現在の画素フレーム315(時には、フレーム315と呼ばれる)からの第1の画素を駆動し、格納済みの以前フィルタ処理された画素フレーム304(時には、フレーム304と呼ばれる)から加算器320の反転される第2の入力(In2)に第2の画素を駆動する。上述したように、第1の画素は、時には現在の画素と呼ばれる。また、画素が、駆動される、又は入力に供給されると言われたとき、それは画素の値が入力上にあることを意味する。 To implement the pixel acquisition process 303, a signal on line (Control) drives a first pixel from a current pixel frame 315 (sometimes referred to as frame 315) on a first input (In1) of an adder 320 of the adaptive temporal noise filter 300, and drives a second pixel from a stored previously filtered pixel frame 304 (sometimes referred to as frame 304) to an inverted second input (In2) of the adder 320. As mentioned above, the first pixel is sometimes referred to as the current pixel. Also, when a pixel is said to be driven or provided to an input, it means that the value of the pixel is on the input.

現在の画素は、適応時間ノイズフィルタ300の信号レベル対ノイズ・ルックアップテーブル306の入力(In)にも供給される。格納済みの以前フィルタ処理された画素フレーム304からの第2画素は、第2の加算器324の第2の入力(In2)にも供給される。 The current pixel is also provided to an input (In) of the signal level vs. noise lookup table 306 of the adaptive temporal noise filter 300. A second pixel from the stored previously filtered pixel frame 304 is also provided to a second input (In2) of the second adder 324.

加算器320は、格納済みの以前フィルタ処理された画素フレーム304からの第2画素の値を、現在の画素フレーム315からの第1の画素の値から減算する。これら2つの画素の間の差、すなわち第1の画素の時間変化は、適応時間ノイズフィルタ300の乗算器323の第1の入力(In1)及び絶対値モジュール321の入力(IN)に供給される。絶対値モジュール321は、2つの画素の間の時間差の絶対値をとる。2つの画素の時間差の絶対値は、除算器322の(分数の)分子入力(NUM)に供給される。この態様では、加算器320及び絶対値モジュール321を使用して、フレーム間の画素差分プロセス305を実施する。 The adder 320 subtracts the value of the second pixel from the stored previously filtered pixel frame 304 from the value of the first pixel from the current pixel frame 315. The difference between these two pixels, i.e., the time change of the first pixel, is provided to a first input (In1) of the multiplier 323 of the adaptive temporal noise filter 300 and to an input (IN) of an absolute value module 321. The absolute value module 321 takes the absolute value of the time difference between the two pixels. The absolute value of the time difference between the two pixels is provided to a (fraction) numerator input (NUM) of a divider 322. In this embodiment, the adder 320 and the absolute value module 321 are used to implement the frame-to-frame pixel difference process 305.

信号レベル対ノイズ・ルックアップテーブル306の入力(In)上の現在の画素の値に応答して、信号レベル対ノイズ・ルックアップテーブル306は、入力信号レベルに対応するノイズ標準偏差を現在の画素の値によって表されるように入力(In)上に出力する。出力ノイズ標準偏差は、除算器322の第2の入力(入力(DENOM))に供給され、且つ乗算器325の両方の入力に供給される。 In response to the value of the current pixel on the input (In) of the signal level vs. noise lookup table 306, the signal level vs. noise lookup table 306 outputs on the input (In) the noise standard deviation corresponding to the input signal level as represented by the value of the current pixel. The output noise standard deviation is provided to a second input (input (DENOM)) of the divider 322 and to both inputs of the multiplier 325.

信号レベル変更プロセス307は、除算器322によって適応時間ノイズフィルタ300で実施される。上述したように、2つの画素の差の絶対値、すなわち現在の画素の時間変化の絶対値は、除算器322の第1の入力(Num)で受け取られる。今説明したように、信号レベル対ノイズ・ルックアップテーブル306(図3B参照)は、現在の画素の値を入力(In)上で受け取り、入力出力に応答して入力値に対応するノイズ標準偏差を受け取る。図4Aを参照されたい。ノイズ標準偏差は、除算器322の第2の入力(Denom)に提供される。 The signal level modification process 307 is implemented in the adaptive temporal noise filter 300 by the divider 322. As mentioned above, the absolute value of the difference between two pixels, i.e. the absolute value of the time change of the current pixel, is received at a first input (Num) of the divider 322. As just explained, the signal level vs. noise lookup table 306 (see FIG. 3B) receives the value of the current pixel on an input (In) and receives the noise standard deviation corresponding to the input value in response to the input output, see FIG. 4A. The noise standard deviation is provided to a second input (Denom) of the divider 322.

除算器322は、第1の入力(Num)の値を第2の入力(Denom)の値で除算し、結果が出力(Out)にある。除算器322の出力(Out)上の結果は、変更ルックアップテーブル308の入力(In)に供給される。こうして、除算器322は、現在の画素の時間変化の絶対値を現在の画素のノイズ標準偏差で除算して、変更ルックアップテーブル308に入力されるノイズの標準偏差における時間的な信号変化を取得する。 The divider 322 divides the value of the first input (Num) by the value of the second input (Denom) and the result is at the output (Out). The result on the output (Out) of the divider 322 is fed to the input (In) of the modification lookup table 308. Thus, the divider 322 divides the absolute value of the time change of the current pixel by the noise standard deviation of the current pixel to obtain the time signal change in the noise standard deviation which is input to the modification lookup table 308.

変更ルックアップテーブル308は、ノイズの標準偏差における入力時間信号変化に応答して、フィルタ300を通過可能な時間変化の割合を出力する。図4Bを参照されたい。フィルタ300を通過可能な時間変化の割合は、乗算器323の第2の入力(In2)、加算器327の反転される第2の入力(In2)、及び乗算器326の両方の入力に供給される。 The modified lookup table 308 outputs the percentage of the time change that can pass through the filter 300 in response to the input time signal change in the standard deviation of the noise. See FIG. 4B. The percentage of the time change that can pass through the filter 300 is provided to the second input (In2) of the multiplier 323, the inverted second input (In2) of the adder 327, and both inputs of the multiplier 326.

こうして、乗算器323は、フィルタ300を通過可能な時間変化の割合を第2の入力(In2)上で、及び第1の画素の時間変化を第1の入力(IN1)上で受け取る。乗算器323は、この2つの入力を乗算して、フィルタ300を通過可能な時間変化を取得する。フィルタ300を通過可能な時間変化は、乗算器323の出力(Out)に出力され、第2の加算器324の第1の入力(In1)に供給される。 Thus, the multiplier 323 receives the proportion of the time change that can pass the filter 300 on a second input (In2) and the time change of the first pixel on a first input (IN1). The multiplier 323 multiplies these two inputs to obtain the time change that can pass the filter 300. The time change that can pass the filter 300 is output at the output (Out) of the multiplier 323 and is supplied to a first input (In1) of a second adder 324.

加算器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を実施する。 The adder 324 receives the temporal change that can pass through the filter 300 on a first input (In1) and the value of the second pixel from the stored previously filtered pixel frame 304 on a second input (In2). (As used herein, the second pixel from the stored previously filtered pixel frame 304 does not literally refer to the second pixel in that frame, but rather refers to a pixel from the stored previously filtered pixel frame 304 that has a position that is the same as, i.e., corresponds to, the position of the current pixel in the current pixel frame 315.) The adder 324 adds the temporal signal change that can pass through the filter 300 to the value of the second pixel from the stored previously filtered pixel frame 304 and outputs the sum at an output (Out). The sum is the adaptive temporal noise filtered pixel value. The output (Out) of the adder 324 is connected to the pixel output frame 310. Thus, the adaptive temporal noise filtered pixel is written to the pixel output frame 310. The multiplier 323 and the adder 324 perform the pixel generation process 309.

画素出力フレーム310は、撮像パイプラインの残りのステージによって処理され(図5参照)、次にディスプレイユニットに送られる。ディスプレイユニットに送信される画素データのフレームが、画素出力フレーム310を処理する撮像パイプラインの結果であるので、ディスプレイユニットに送信される画素データのフレームは、画素出力フレーム310に基づいていると言える。こうして、画素出力フレーム310に基づく画素データのフレームは、ディスプレイユニットによって表示され、そして上述したように、非適応時間ノイズフィルタ処理で得られたよりもより良好な画像を提供する。 The pixel output frame 310 is processed by the remaining stages of the imaging pipeline (see FIG. 5) and then sent to a display unit. Since the frame of pixel data sent to the display unit is the result of the imaging pipeline processing the pixel output frame 310, the frame of pixel data sent to the display unit is said to be based on the pixel output frame 310. Thus, the frame of pixel data based on the pixel output frame 310 is displayed by the display unit and, as described above, provides a better image than would be obtained with non-adaptive temporal noise filtering.

現在の画素のノイズ標準偏差(stdCurr)は、乗算器325の入力端子(In1)及び(In2)の両方にある。乗算器325は、この2つの値を乗算して、ノイズ標準偏差の2乗(stdCurr2)を生成する。ノイズ標準偏差の2乗(stdCurr2)は、乗算器330の第1の入力端子(In1)に接続される出力端子(Out)上で駆動される。 The noise standard deviation (stdCurr) of the current pixel is present at both input terminals (In1) and (In2) of multiplier 325. Multiplier 325 multiplies these two values to generate the squared noise standard deviation (stdCurr2). The squared noise standard deviation (stdCurr2) is driven on an output terminal (Out) that is connected to the first input terminal (In1) of multiplier 330.

フィルタを通過可能にする時間変化(change)は、乗算器326の入力端子(In1)及び(In2)の両方にある。乗算器326は、この2つの値を乗算して、フィルタを通過可能にする時間変化の2乗(change2)を生成する。フィルタを通過可能にする時間変化の2乗(change2)は、乗算器330の第2の入力端子(In2)に接続される出力端子(Out)上で駆動される。 The change in time that allows the filter to pass is present at both input terminals (In1) and (In2) of multiplier 326. Multiplier 326 multiplies these two values to generate the square of the change in time that allows the filter to pass (change2). The square of the change in time that allows the filter to pass (change2) is driven on an output terminal (Out) that is connected to a second input terminal (In2) of multiplier 330.

加算器327の第1の入力端子(In1)は入力として「1」を受け取り、反転される第2の入力(In2)は、ゼロと1との間の数として表される、フィルタを通過可能にする時間変化(change)の入力を受け取る。加算器は、フィルタを通過可能な時間変化の割合を1から引いて、値(1-change)を生成する。値(1-change)は、乗算器329の第1の入力端子(In1)及び第2の入力端子(In2)に接続される出力端子(Out)上で駆動される。 The first input terminal (In1) of the adder 327 receives a "1" as an input, and the inverted second input (In2) receives an input of the time change allowed to pass the filter, expressed as a number between zero and one. The adder subtracts the percentage of time change allowed to pass the filter from one to generate a value (1-change). The value (1-change) is driven on an output terminal (Out) that is connected to the first input terminal (In1) and the second input terminal (In2) of the multiplier 329.

格納済みの以前の画素ノイズフレームに対するライン上の信号(Control)は、現在の画素に対応する以前フィルタ処理された画素ノイズ標準偏差(stdPrev)を乗算器328の両方の入力端子(In1)及び(In2)上で駆動する。また、現在の画素に対応する以前フィルタ処理された画素ノイズ標準偏差(stdPrev)は、現在の画素フレーム315内の現在の画素の位置と格納済みの以前の画素ノイズフレーム314内の位置とが同じである、以前フィルタ処理された画素ノイズ標準偏差(stdPrev)である。乗算器328は、この2つの値を乗算して、以前フィルタ処理された画素ノイズ標準偏差の2乗(stdPrev2)を生成する。以前フィルタ処理された画素ノイズ標準偏差の2乗(stdPrev2)は、乗算器331の第2の入力端子(In2)に接続される出力端子(Out)上で駆動される。 The signal on the line for the stored previous pixel noise frame (Control) drives the previously filtered pixel noise standard deviation (stdPrev) corresponding to the current pixel on both input terminals (In1) and (In2) of the multiplier 328. The previously filtered pixel noise standard deviation (stdPrev) corresponding to the current pixel is also the previously filtered pixel noise standard deviation (stdPrev) for the same position of the current pixel in the current pixel frame 315 as it is in the stored previous pixel noise frame 314. The multiplier 328 multiplies these two values to generate the previously filtered pixel noise standard deviation squared (stdPrev2). The previously filtered pixel noise standard deviation squared (stdPrev2) is driven on an output terminal (Out) that is connected to the second input terminal (In2) of the multiplier 331.

値(1-change)は、乗算器329の第1の入力端子(In1)と第2の入力端子(In2)との両方にある。乗算器329は、この2つの値を乗算して、値(1-change)2を生成する。(1-change)2の値は、乗算器331の第1の入力端子(In1)に接続される出力端子(Out)上で駆動される。 The value (1-change) is present at both the first input terminal (In1) and the second input terminal (In2) of multiplier 329. Multiplier 329 multiplies the two values to generate the value (1-change)2. The value (1-change)2 is driven on the output terminal (Out) which is connected to the first input terminal (In1) of multiplier 331.

フィルタを通過可能にする時間変化の2乗(change2)は、乗算器330の第2の入力端子(In2)上にあり、現在の画素のノイズ標準偏差の2乗(stdCurr2)は、乗算器330の第2の入力端子(In2)上にある。乗算器330は、この2つの値を乗算して、値(change2*stdCurr2)を生成する。値(change2*stdCurr2)は、加算器332の第1の入力端子(In1)に接続される出力端子(Out)上で駆動される。 The square of the time change (change2) that allows the filter to pass is on the second input terminal (In2) of the multiplier 330, and the square of the noise standard deviation of the current pixel (stdCurr2) is on the second input terminal (In2) of the multiplier 330. The multiplier 330 multiplies these two values to generate the value (change2*stdCurr2). The value (change2*stdCurr2) is driven on an output terminal (Out) that is connected to a first input terminal (In1) of the adder 332.

現在の画素に対応する以前フィルタ処理された画素のノイズ標準偏差の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)上で駆動される。 The square of the noise standard deviation (stdPrev2) of the previously filtered pixel corresponding to the current pixel is present on a second input terminal (In2) of the multiplier 331 and the value (1-change)2 is present on a first input terminal (In1) of the multiplier 331. The multiplier 331 multiplies the two values to generate the value ((1-change)2*stdPrev2). The value ((1-change)2*stdPrev2) is driven on an output terminal (Out) which is connected to a second input terminal (In2) of the adder 332.

こうして、加算器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)上で駆動される。 Thus, the adder 332 receives the value (1-change)2*stdPrev2 on its second input terminal (In2) and the value change2*stdCurr2 on its first input terminal (In1). The adder 332 adds these two values to generate the value ((1-change)2*stdPrev2+change2*stdCurr2). The value ((1-change)2*stdPrev2+change2*stdCurr2) is driven on an output terminal (Out) that is connected to the input terminal (In) of the square root module 333.

平方根モジュール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を実施する。 The square root module 333 takes the square root of the value ((1-change)2*stdPrev2+change2*stdCurr2) and stores the result (stdOut) in a location in the pixel noise output frame 312 that corresponds to the location of the current pixel in the current pixel frame 315, i.e., in a location in the pixel noise output frame 312 that corresponds to the current pixel. The second through seventh multipliers 325, 326, 328, 329, 330, 331, the third and fourth adders 327, 332, and the square root module 333 implement the pixel noise generation process 311.

図5は、複数の適応ノイズフィルタを含む撮像パイプライン530の代表的なステージ501~504のブロック図である。撮像パイプライン530は、撮像パイプライン230の一例である。この撮像パイプラインの例では、適応時間ノイズフィルタ300が第1のステージ501に含まれ、適応空間ノイズフィルタ570が第4のステージ504に含まれる。撮像パイプライン530は、パイプラインの適応ノイズフィルタの出力に基づくフレームをディスプレイユニットに出力する。 Figure 5 is a block diagram of representative stages 501-504 of an imaging pipeline 530 that includes multiple adaptive noise filters. The imaging pipeline 530 is an example of the imaging pipeline 230. In this example imaging pipeline, an adaptive temporal noise filter 300 is included in a first stage 501 and an adaptive spatial noise filter 570 is included in a fourth stage 504. The imaging pipeline 530 outputs a frame to a display unit based on the output of the adaptive noise filters of the pipeline.

図5の例では、画像取込みユニット201は、ベイヤー(Bayer)赤-緑-青カラーフィルタを有する画像取込みセンサを含む。ベイヤー画素データ入力(data-in)フレーム515は、適応時間ノイズフィルタ300の現在の画素フレームである。ここで、ベイヤー画素データ入力フレーム515は、赤画素データのセット、緑画素データのセット、及び青データのセットを含む。しかしながら、ステージ501において、時間フィルタ処理は、特定の画素のセットの色属性に依存せず、各画素の信号レベルのみに依存する。 In the example of FIG. 5, the image capture unit 201 includes an image capture sensor with a Bayer red-green-blue color filter. The Bayer pixel data-in frame 515 is the current pixel frame of the adaptive temporal noise filter 300. Here, the Bayer pixel data-in frame 515 includes a set of red pixel data, a set of green pixel data, and a set of blue data. However, in stage 501, the temporal filtering does not depend on the color attributes of a particular set of pixels, but only on the signal level of each pixel.

図3A及び図3Bに関して説明したように、ベイヤー画素データ入力フレーム515内の各画素は、信号レベル対ノイズ・ルックアップテーブル506にアクセスし、信号レベル対ノイズ・ルックアップテーブル506は、各画素についてのノイズ標準偏差(推定画素ノイズパラメータ)をフレーム516内のベイヤー画素ノイズに出力する。信号レベル対ノイズ・ルックアップテーブル506は、信号レベル対ノイズ・ルックアップテーブル306と同様である。 3A and 3B, each pixel in the Bayer pixel data input frame 515 accesses the signal level vs. noise lookup table 506, which outputs the noise standard deviation (estimated pixel noise parameter) for each pixel to the Bayer pixel noise in frame 516. The signal level vs. noise lookup table 506 is similar to the signal level vs. noise lookup table 306.

適応時間ノイズフィルタ300は、ベイヤー画素データ入力フレーム515及びフレーム516内のベイヤー画素ノイズを入力として受け取り、変更ルックアップテーブル308について前述したような変更ルックアップテーブル508を使用する。変更ルックアップテーブル508は、変更ルックアップテーブル308と同様である。適応時間ノイズフィルタ300は、ベイヤー画素データ入力フレーム515内の各画素についてベイヤー画素データ出力(data-out)フレーム510内の適応時間ノイズフィルタ処理された画素を生成し、且つ図3A及び図3Bに関して上述したように、ベイヤー画素データ入力フレーム515内の各画素についてベイヤー画素ノイズ出力(noise out)フレーム512内の画素ノイズを生成する。そのため、ここでは説明を繰り返さない。 The adaptive temporal noise filter 300 receives as input the Bayer pixel data input frame 515 and the Bayer pixel noise in frame 516, and uses the modified lookup table 508 as described above for the modified lookup table 308. The modified lookup table 508 is similar to the modified lookup table 308. The adaptive temporal noise filter 300 generates an adaptive temporal noise filtered pixel in the Bayer pixel data output (data-out) frame 510 for each pixel in the Bayer pixel data input frame 515, and generates pixel noise in the Bayer pixel noise output (noise out) frame 512 for each pixel in the Bayer pixel data input frame 515, as described above with respect to Figures 3A and 3B. Therefore, the description will not be repeated here.

ベイヤー画素データ出力フレーム510及びベイヤー画素ノイズ出力フレーム512は、撮像パイプライン530の第2ステージ502(デモザイク処理ステージ)への入力フレームである。デモザイクプロセス550は、ベイヤー画素データ出力フレーム510の適応時間ノイズフィルタ処理された画素を処理して、フル解像度の赤画素フレーム(imRed)、フル解像度の緑画素フレーム(imGreen)、及びフル解像度の青画素フレーム(imBlue)を生成する。また、デモザイクプロセス550は、ベイヤー画素ノイズデータ出力フレーム512の画素ノイズを処理して、フル解像度の赤画素ノイズフレーム(imNoiseRed)、フル解像度の緑画素ノイズフレーム(imNoiseGreen)、及びフル解像度の青画素ノイズフレーム(imNoiseBlue)を生成する。ベイヤー赤、緑、及び青画素のセットをデモザイク処理して赤、緑、及び青画素のフル解像度フレームを取得するプロセスは、よく知られており、そのためさらに詳細に検討しない。 The Bayer pixel data output frame 510 and the Bayer pixel noise output frame 512 are input frames to the second stage 502 (demosaic stage) of the imaging pipeline 530. The demosaic process 550 processes the adaptive temporal noise filtered pixels of the Bayer pixel data output frame 510 to generate a full resolution red pixel frame (imRed), a full resolution green pixel frame (imGreen), and a full resolution blue pixel frame (imBlue). The demosaic process 550 also processes the pixel noise of the Bayer pixel noise data output frame 512 to generate a full resolution red pixel noise frame (imNoiseRed), a full resolution green pixel noise frame (imNoiseGreen), and a full resolution blue pixel noise frame (imNoiseBlue). The process of demosaicing a set of Bayer red, green, and blue pixels to obtain full resolution frames of red, green, and blue pixels is well known and will not be discussed in further detail.

フル解像度の赤画素フレーム(imRed)、フル解像度の緑画素フレーム(imGreen)、フル解像度の青画素フレーム(imBlue)、フル解像度の赤画素ノイズフレーム(imNoiseRed)、フル解像度の緑画素ノイズフレーム(imNoiseGreen)、及びフル解像度の青画素ノイズフレーム(imNoiseBlue)は、撮像パイプライン530の第3のステージ(色空間変換ステージ)への入力フレームである。色変換プロセス560は、赤画素、緑画素、及び青画素、すなわち、第1の色空間内の色画素を、輝度画素Y及び2つのクロミナンス画素U,V、すなわち第2の色空間内の色画素に変換する。RGB色空間からYUV色空間への変換は、よく知られており、そのためさらに詳細に検討しない。 The full resolution red pixel frame (imRed), full resolution green pixel frame (imGreen), full resolution blue pixel frame (imBlue), full resolution red pixel noise frame (imNoiseRed), full resolution green pixel noise frame (imNoiseGreen), and full resolution blue pixel noise frame (imNoiseBlue) are input frames to the third stage (color space conversion stage) of the imaging pipeline 530. The color conversion process 560 converts the red, green, and blue pixels, i.e., color pixels in a first color space, into a luminance pixel Y and two chrominance pixels U, V, i.e., color pixels in a second color space. The conversion from RGB color space to YUV color space is well known and therefore will not be considered in further detail.

色変換プロセス560は、フル解像度の赤画素フレーム(imRed)、フル解像度の緑画素フレーム(imGreen)、及びフル解像度の青画素フレーム(imBlue)を、フル解像度の輝度画素フレーム(imY)、第1のフル解像度のクロミナンス画素フレーム(imU)、及び第2のフル解像度のクロミナンス画素フレーム(imV)に変換する。色変換プロセス560はまた、フル解像度の赤画素ノイズフレーム(imNoiseRed)、フル解像度の緑画素ノイズフレーム(imNoiseGreen)、及びフル解像度の青画素ノイズフレーム(imNoiseBlue)を、フル解像度の輝度画素ノイズフレーム(imNoiseY)、第1のフル解像度のクロミナンス画素ノイズフレーム(imNoiseU)、第2のフル解像度のクロミナンス画素ノイズフレーム(imNoiseV)に変換する。 The color conversion process 560 converts the full resolution red pixel frame (imRed), full resolution green pixel frame (imGreen), and full resolution blue pixel frame (imBlue) into a full resolution luminance pixel frame (imY), a first full resolution chrominance pixel frame (imU), and a second full resolution chrominance pixel frame (imV). The color conversion process 560 also converts the full resolution red pixel noise frame (imNoiseRed), full resolution green pixel noise frame (imNoiseGreen), and full resolution blue pixel noise frame (imNoiseBlue) into a full resolution luminance pixel noise frame (imNoiseY), a first full resolution chrominance pixel noise frame (imNoiseU), and a second full resolution chrominance pixel noise frame (imNoiseV).

フル解像度の輝度画素フレーム(imY)、第1のフル解像度のクロミナンス画素フレーム(imU)、第2のフル解像度のクロミナンス画素フレーム(imV)、フル解像度の輝度画素ノイズフレーム(imNoiseY)、第1のフル解像度のクロミナンス画素ノイズフレーム(imNoiseU)、及び第2のフル解像度のクロミナンス画素ノイズフレーム(imNoiseV)は、撮像パイプライン530の第4のステージ504(適応空間ノイズフィルタステージ)への入力である。 The full resolution luminance pixel frame (imY), the first full resolution chrominance pixel frame (imU), the second full resolution chrominance pixel frame (imV), the full resolution luminance pixel noise frame (imNoiseY), the first full resolution chrominance pixel noise frame (imNoiseU), and the second full resolution chrominance pixel noise frame (imNoiseV) are inputs to the fourth stage 504 (adaptive spatial noise filter stage) of the imaging pipeline 530.

RGB色空間からYUV色空間に変換する理由の1つは、人間の視覚知覚にとって重要な輝度情報の大部分がYUV色空間の輝度成分Yに保持されることである。こうして、ステージ504において、適応空間ノイズフィルタ570は、輝度成分画素の空間的ノイズを適応フィルタ処理するだけである。これは、画素の2つのクロミナンス成分の空間ノイズを適応フィルタ処理する時間及び費用を掛けずに、最終的に表示される画像を向上させる。しかしながら、撮像パイプライン530で色変換が使用されない場合、又は色変換が輝度成分を含まない別の色空間に変換される場合に、適応空間ノイズフィルタ570は、各色成分の画素を適応空間ノイズフィルタ処理する。 One of the reasons for converting from RGB color space to YUV color space is that most of the luminance information important to human visual perception is preserved in the luminance component Y of the YUV color space. Thus, in stage 504, the adaptive spatial noise filter 570 only adaptively filters the spatial noise of the luminance component pixel. This improves the final displayed image without the time and expense of adaptively filtering the spatial noise of the two chrominance components of the pixel. However, if no color transform is used in the imaging pipeline 530, or if the color transform is converted to another color space that does not include a luminance component, the adaptive spatial noise filter 570 adaptively spatially filters the pixels of each color component.

フル解像度の輝度画素フレーム(imY)及びフル解像度の輝度画素ノイズフレーム(imNoiseY)は、適応空間ノイズフィルタ570への入力である。フル解像度の輝度画素ノイズフレーム(imNoiseY)内の画素の値は、フル解像度の輝度画素フレーム(imY)内の対応する画素、すなわち、フレーム(imNoiseY)内の画素ノイズの位置とフレーム(imY)内の位置とが同じ画素のノイズ成分を表す。フレーム(imNoiseY)内の画素ノイズ値は、フレーム(imY)内の対応する画素のフィルタを特定する際に使用されるので、フィルタは適応空間ノイズフィルタであると言われる。このフィルタは、全ての画素について同じ定数パラメータを空間ノイズフィルタにおいて使用できると仮定するのではなく、各画素に関連する空間ノイズに適応される。 The full resolution luma pixel frame (imY) and the full resolution luma pixel noise frame (imNoiseY) are inputs to the adaptive spatial noise filter 570. The value of a pixel in the full resolution luma pixel noise frame (imNoiseY) represents the noise component of the corresponding pixel in the full resolution luma pixel frame (imY), i.e., the location of the pixel noise in frame (imNoiseY) is the same as the location in frame (imY). Because the pixel noise value in frame (imNoiseY) is used in specifying a filter for the corresponding pixel in frame (imY), the filter is said to be an adaptive spatial noise filter. The filter is adapted to the spatial noise associated with each pixel, rather than assuming that the same constant parameters for all pixels can be used in the spatial noise filter.

適応空間ノイズフィルタ570は、適応空間ノイズフィルタ処理された画素の出力フレーム(imYout)及び画素ノイズの出力フレーム(imNoiseYout)を生成する。クロミナンス画素フレーム(imU)及びクロミナンス画素フレーム(imV)は、それぞれクロミナンス画素フレーム(imUout)及びクロミナンス画素フレーム(imVout)としてフィルタ処理されずに出力される。クロミナンス画素ノイズフレーム(imNoiseU)及びクロミナンス画素ノイズフレーム(imNoiseV)は、クロミナンス画素ノイズフレーム(imNoiseUout)及びクロミナンス画素ノイズフレーム(imNoiseVout)としてフィルタ処理されずに出力される。一態様では、適応空間ノイズフィルタ処理された画素のフレーム(imYout)、クロミナンス画素フレーム(imUout)、及びクロミナンス画素フレーム(imVout)は、パイプラインステージ504から出力される。これらのフレームは、パイプラインでさらに処理され、ディスプレイ装置に送信することができ、又は一態様ではディスプレイ装置に送信することができる。 The adaptive spatial noise filter 570 generates an output frame of adaptive spatial noise filtered pixels (imYout) and an output frame of pixel noise (imNoiseYout). The chrominance pixel frame (imU) and the chrominance pixel frame (imV) are output unfiltered as chrominance pixel frame (imUout) and chrominance pixel frame (imVout), respectively. The chrominance pixel noise frame (imNoiseU) and the chrominance pixel noise frame (imNoiseV) are output unfiltered as chrominance pixel noise frame (imNoiseUout) and chrominance pixel noise frame (imNoiseVout). In one aspect, the adaptive spatial noise filtered frames of pixels (imYout), chrominance pixel frame (imUout), and chrominance pixel frame (imVout) are output from the pipeline stage 504. These frames can be further processed in the pipeline and sent to a display device, or in one aspect can be sent to a display device.

一態様では、適応空間ノイズフィルタ570は、適応空間ノイズ・バイラテラル(bilateral)フィルタとして、例えば以下のように実施され、

Figure 0007552002000016


ここで、
Figure 0007552002000017


は、フレーム内の位置xにおける画素のフィルタ処理された信号レベルである。
適応空間ノイズフィルタ570は、現在の画素をどの様にフィルタ処理するかを決定するために、現在の画素の周りの正方形の画素のブロック、例えば、複数の隣接画素を使用する。距離フィルタ(Distance Filter)は、現在の画素からのブロック内の隣接画素のユークリッド距離から決定された重みに基づいて、現在の画素をフィルタ処理する。信号レンジフィルタ(時には、レンジフィルタ(Range Filter)又は強度フィルタとも呼ばれる)は、フィルタ処理される画素に対応するフレーム(imNoiseY)内の画素ノイズの値に基づく適応ノイズ信号レンジフィルタである。こうして、レンジフィルタで使用される重みは、ブロック内の隣接画素と現在の画素との間の信号レベルの差だけでなく、現在の画素のノイズ成分にも基づく。入力画素フレーム内の現在の画素の位置と同じ位置にある画素ノイズ入力フレームの画素ノイズは、現在の画素に対応すると言われ、時には、現在の画素のノイズ成分と呼ばれることもある。 In one aspect, the adaptive spatial noise filter 570 is implemented as an adaptive spatial noise bilateral filter, for example as follows:
Figure 0007552002000016


Where:
Figure 0007552002000017


is the filtered signal level of the pixel at position x in the frame.
The adaptive spatial noise filter 570 uses a square block of pixels, e.g., a number of neighboring pixels, around the current pixel to determine how to filter the current pixel. The Distance Filter filters the current pixel based on weights determined from the Euclidean distance of the neighboring pixels in the block from the current pixel. The signal range filter (sometimes called a range filter or intensity filter) is an adaptive noise signal range filter based on the value of the pixel noise in the frame (imNoiseY) that corresponds to the pixel being filtered. Thus, the weights used in the range filter are based not only on the difference in signal level between the neighboring pixels in the block and the current pixel, but also on the noise component of the current pixel. Pixel noise of the input frame that is at the same location as the current pixel's location in the input pixel frame is said to correspond to the current pixel, and is sometimes also referred to as the noise component of the current pixel.

非ノイズ適応バイラテラルフィルタが知られている。例えば、C. Tomasi及びR. Manduchiの、”Bilateral Filtering for Gray and Color Images”、1998年コンピュータビジョンに関するIEEE国際会議の議事録、Bombay India、pp.839-846(1998)を参照されたい。この文献は、当技術分野の知識の論証として参照により本明細書に組み込まれる。 Non-noise adaptive bilateral filters are known. See, for example, C. Tomasi and R. Manduchi, "Bilateral Filtering for Gray and Color Images," Proceedings of the 1998 IEEE International Conference on Computer Vision, Bombay India, pp. 839-846 (1998), which is incorporated herein by reference as a demonstration of knowledge in the art.

従来技術のバイラテラルフィルタと同様に、適応空間ノイズフィルタ570は、非線形のエッジ保存フィルタである。しかしながら、先に述べたように、従来のバイラテラルフィルタとは異なり、画素について、適応空間ノイズフィルタは、画素からの隣接画素のユークリッド距離に基づくだけでなく、隣接画素と現在の画素との間の信号レベルの差及び現在の画素のノイズ成分にも基づいて、フィルタで使用される重みを調整する。具体的には、以下でより完全に説明するように、適応空間ノイズフィルタ570は、現在の画素の近傍の画素の加重和をとる。重みは、現在の画素自体のノイズ成分だけでなく、隣接画素の空間距離及び信号レベルにも依存する。こうして、フレーム内の各画素における信号値は、近傍の画素からの信号値のノイズに基づく重み付き平均で置き換えられる。 Like prior art bilateral filters, adaptive spatial noise filter 570 is a nonlinear edge-preserving filter. However, as noted above, unlike conventional bilateral filters, for a pixel, adaptive spatial noise filter adjusts the weights used in the filter based not only on the Euclidean distance of neighboring pixels from the pixel, but also on the difference in signal level between the neighboring pixels and the current pixel and the noise component of the current pixel. Specifically, as described more fully below, adaptive spatial noise filter 570 takes a weighted sum of pixels in the neighborhood of the current pixel. The weights depend not only on the noise component of the current pixel itself, but also on the spatial distance and signal level of the neighboring pixels. Thus, the signal value at each pixel in the frame is replaced by a weighted average based on the noise of the signal values from the neighboring pixels.

適応空間ノイズフィルタ570は、ノイズを平均化及び減少させながら、エッジ保存の効果をアーカイブする(archive)ために全画素について一定の信号範囲パラメータ(σr)に依存するバイラテラルフィルタの以前の実装とは異なり、その画素のノイズ成分に基づいて各画素について信号範囲パラメータ(σr)を調整する。こうして、フレーム内の各画素は、画素に関連するノイズに基づいて左右相称に(bilaterally)フィルタ処理される。すなわち、空間バイラテラルフィルタは各画素のノイズに適応する。 Unlike previous implementations of bilateral filters that rely on a constant signal range parameter (σr) for all pixels to archive the effects of edge preservation while averaging and reducing noise, the adaptive spatial noise filter 570 adjusts the signal range parameter (σr) for each pixel based on the noise content of that pixel. Thus, each pixel in the frame is bilaterally filtered based on the noise associated with the pixel. That is, the spatial bilateral filter adapts to the noise at each pixel.

一態様において、以下の式は、撮像パイプライン530に実装された適応空間ノイズフィルタ570の規定である。

Figure 0007552002000018


ここで、
Figure 0007552002000019


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


は、正規化定数であり、
Figure 0007552002000021


は、空間的なガウス分布であり、
Figure 0007552002000022


は、位置yの画素と位置xの画素との間の距離のノルム(norm)であり、
Figure 0007552002000023


は、通常1~10の範囲の距離パラメータであり、
Figure 0007552002000024


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


は、位置yにおける画素の信号レベルであり、
Figure 0007552002000026


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


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


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


は、位置xに中心画素を有する画素のブロックであり、
Figure 0007552002000030


は、位置xに中心画素を有する画素ブロック内の画素に亘る総和を表す。
位置x及び位置yは、画素のブロック内の位置を指定し、各位置は2つの座標によって表されることに留意されたい。 In one aspect, the following equation is the definition of the adaptive spatial noise filter 570 implemented in the imaging pipeline 530:
Figure 0007552002000018


Where:
Figure 0007552002000019


is the filtered signal level of the pixel at location x,
Figure 0007552002000020


is a normalization constant,
Figure 0007552002000021


is a spatial Gaussian distribution,
Figure 0007552002000022


is the norm of the distance between the pixel at position y and the pixel at position x,
Figure 0007552002000023


is a distance parameter, typically ranging from 1 to 10,
Figure 0007552002000024


is the signal level range Gaussian distribution that is a function of the noise of the current pixel at position x,
Figure 0007552002000025


is the signal level of the pixel at position y,
Figure 0007552002000026


is the signal level of the pixel at position x,
Figure 0007552002000027


is the absolute value of the difference between the signal level of the pixel at position y and the signal level of the pixel at position x,
Figure 0007552002000028


is a signal level range parameter that is a function of the noise of the pixel at location x,
Figure 0007552002000029


is a block of pixels with its center pixel at position x,
Figure 0007552002000030


represents the sum over the pixels in the pixel block having its center pixel at position x.
Note that position x and position y specify a location within a block of pixels, and each location is represented by two coordinates.

図6Aは、適応空間ノイズ画素フィルタ処理のための方法650の一実装形態のプロセスフロー図である。図6Bは、適応空間ノイズフィルタ670における図6Aの方法650の一実装形態のブロック図である。一態様では、適応空間ノイズフィルタ670は、撮像パイプライン230及び撮像パイプライン530で使用することができる。適応空間ノイズフィルタ670は、適応空間ノイズフィルタ570の一例である。 FIG. 6A is a process flow diagram of one implementation of a method 650 for adaptive spatial noise pixel filtering. FIG. 6B is a block diagram of one implementation of the method 650 of FIG. 6A in an adaptive spatial noise filter 670. In one aspect, the adaptive spatial noise filter 670 can be used in the imaging pipeline 230 and the imaging pipeline 530. The adaptive spatial noise filter 670 is an example of the adaptive spatial noise filter 570.

最初に、新フレーム検索プロセス601は、新しい画素フレーム602、例えば、フレーム(imY)を取り出す。新フレーム検索プロセス601はブロック取得プロセス603に移る。 First, the new frame search process 601 retrieves a new pixel frame 602, e.g., frame (imY). The new frame search process 601 passes to the block acquisition process 603.

ブロック取得プロセス603は、現在の画素フレーム616(図6B参照)から現在の画素の周りに中心を置いた、n×n画素の入力ブロックを取り出す。フレーム内の各画素が適応空間ノイズフィルタ処理されるか、又はフレーム内の少なくとも複数の画素が適応空間ノイズフィルタ処理され、そのため、現在の画素は、適応空間ノイズフィルタ処理された画素である。一態様では、n×n画素の入力ブロックは、現在の画素をブロックの中央に有する5画素×5画素のブロックである。ブロック取得プロセス603は、距離フィルタ(Distance Filter)プロセス604に移る。 The Get Block process 603 retrieves an input block of nxn pixels centered around the current pixel from the current pixel frame 616 (see FIG. 6B). Each pixel in the frame is adaptively spatial noise filtered, or at least a number of pixels in the frame are adaptively spatial noise filtered, so that the current pixel is an adaptive spatial noise filtered pixel. In one aspect, the input block of nxn pixels is a 5x5 pixel block with the current pixel in the center of the block. The Get Block process 603 passes to a Distance Filter process 604.

距離フィルタプロセス604は、入力ブロックの画素の各画素、すなわち入力画素ブロックの各画素について上記で規定された空間ガウス関数の値を生成し、その結果、n×nの距離フィルタ値ブロックにおけるそれぞれの位置について距離フィルタ値を生成する。距離フィルタプロセス604は、レンジ差(Range Difference)プロセス605に移る。 The Distance Filter process 604 generates a value of the spatial Gaussian function defined above for each pixel of the input block of pixels, i.e., for each pixel in the input pixel block, resulting in a distance filter value for each position in the n x n distance filter value block. The Distance Filter process 604 passes to a Range Difference process 605.

レンジ差プロセス605は、現在の画素と入力画素ブロック内の他の画素のそれぞれとの間の信号レベルの差を決定する。具体的には、レンジ差プロセス605は、I(y)-I(x)の値を求め、ここで、xはブロック内の中心画素の位置であり、I(x)は中心画素の値であり、I(y)は入力画素ブロック内の位置yにおける画素の値であり、yは入力画素ブロック内の位置の範囲にあり、n×nのレンジ差ブロックにおける各位置についてレンジ差を生成する。レンジ差プロセス605は、範囲フィルタ(Range Filter)プロセス606に移る。 The Range Difference process 605 determines the difference in signal level between the current pixel and each of the other pixels in the input pixel block. Specifically, the Range Difference process 605 evaluates I(y)-I(x), where x is the position of the central pixel in the block, I(x) is the value of the central pixel, and I(y) is the value of the pixel at position y in the input pixel block, where y is a range of positions in the input pixel block, to generate a range difference for each position in the n by n range difference block. The Range Difference process 605 passes to a Range Filter process 606.

範囲フィルタプロセス606は、上述したように現在の画素のノイズの関数である信号レベル範囲のガウス分布を実現する。範囲フィルタプロセス606は、信号レベル範囲のガウス分布を実現するために、現在の画素の信号レベルレンジパラメータ(σ(Noise)r)のノイズ依存値を必要とする。ここで、信号レベルレンジパラメータ(σ(Noise)r)の括弧内にノイズ(Noise)が含まれることは、信号レベルレンジパラメータ(σr)が現在の画素のノイズ成分の関数であることを意味する。この関数の結果は、バイラテラルフィルタのレンジフィルタが適応性を有し、左右相称にフィルタ処理される画素のノイズ成分に基づいて変化する結果となることである。その結果、空間ノイズフィルタはノイズに適応するため、適応空間ノイズフィルタと呼ばれる。こうして、適応空間ノイズフィルタは、位置yにおける画素の信号レベルと位置xにおける画素の信号レベルとの間の差の絶対値の2乗を、信号レベルレンジパラメータ(σ(Noise)r)の2乗で除算することによって、現在の画素の信号レベルを、複数の隣接画素の信号レベル及び推定画素ノイズパラメータと比較する。ここで、信号レベルレンジパラメータ(σ(Noise)r)は、この態様では推定画素ノイズパラメータである。この比較は、適応空間ノイズフィルタ処理された画素値を出力する際に使用される。 The range filter process 606 implements a Gaussian distribution of signal level ranges that is a function of the noise of the current pixel as described above. To implement a Gaussian distribution of signal level ranges, the range filter process 606 requires a noise-dependent value of the signal level range parameter (σ(Noise)r) of the current pixel. Here, the inclusion of noise in parentheses of the signal level range parameter (σ(Noise)r) means that the signal level range parameter (σr) is a function of the noise component of the current pixel. The result of this function is that the range filter of the bilateral filter is adaptive and changes based on the noise component of the pixel being filtered bilaterally. As a result, the spatial noise filter is called an adaptive spatial noise filter because it adapts to noise. Thus, the adaptive spatial noise filter compares the signal level of the current pixel to the signal levels of multiple neighboring pixels and the estimated pixel noise parameter by dividing the square of the absolute value of the difference between the signal level of the pixel at position y and the signal level of the pixel at position x by the square of the signal level range parameter (σ(Noise)r). Here, the signal level range parameter (σ(Noise)r) is the estimated pixel noise parameter in this embodiment. This comparison is used to output the adaptive spatial noise filtered pixel value.

一態様(図示せず)では、信号レベルレンジパラメータ(σ(Noise)r)は、現在の画素のノイズ成分の線形関数である。この態様では、現在の画素の位置は、パイプラインのステージに入力される画素ノイズデータのフレーム内の対応する位置、例えば同じ位置から画素ノイズを取り出すために使用される。取り出される画素ノイズは、中心画素に対応する。中心画素のノイズ成分である画素ノイズが線形関数に入力され、信号レベルレンジパラメータ(σ(Noise)r)が得られる。撮像パイプライン530の場合に、画素ノイズデータの入力フレーム612は、フレーム(imNoiseY)である。一態様では、線形関数の傾きは、2~3の間である。一態様では、傾き及びオフセットは、傾き及びオフセットとして異なる値を使用し、各値について適応空間フィルタを用いてノイズ画像をフィルタ処理し、次に、オブザーバのグループによって決定されるように、最良のフィルタ処理された画像を生成する値を選択することによって、経験的に決定される。 In one aspect (not shown), the signal level range parameter (σ(Noise)r) is a linear function of the noise component of the current pixel. In this aspect, the position of the current pixel is used to retrieve pixel noise from a corresponding location, e.g., the same location, in the frame of pixel noise data input to the stage of the pipeline. The retrieved pixel noise corresponds to the center pixel. The pixel noise, which is the noise component of the center pixel, is input to the linear function to obtain the signal level range parameter (σ(Noise)r). In the case of the imaging pipeline 530, the input frame 612 of pixel noise data is frame (imNoiseY). In one aspect, the slope of the linear function is between 2 and 3. In one aspect, the slope and offset are empirically determined by using different values for the slope and offset, filtering the noise image with an adaptive spatial filter for each value, and then selecting the value that produces the best filtered image as determined by a group of observers.

別の態様では、図6Aに示されるように、現在の画素の位置は、画素ノイズデータフレーム612から画素ノイズを検索するために使用され、画素ノイズは、ノイズ対シグマRルックアップテーブル613に入力される。このテーブルは、線形関数について説明したものと同等の手順を用いて経験的に生成されるが、より複雑な曲線が使用される。こうして、ノイズ対シグマRルックアップテーブル613は、複数の画素ノイズレベルのそれぞれについて信号レベルレンジパラメータ(σ(Noise)r)を含み、ここで一態様では、複数の画素ノイズレベルは、手術画像で一般的に遭遇する画素ノイズの範囲を含む。ノイズ対シグマRルックアップテーブル613は、入力画素ノイズに対応する信号レベルレンジパラメータσ(Noise)rを範囲フィルタプロセス606に出力し、それによって現在の画素のノイズ成分に依存する信号レベルレンジパラメータσ(Noise)rを出力する。 In another aspect, as shown in FIG. 6A, the current pixel location is used to look up the pixel noise from the pixel noise data frame 612, which is input to a noise vs. Sigma R lookup table 613. This table is empirically generated using a procedure similar to that described for linear functions, but with more complex curves. Thus, the noise vs. Sigma R lookup table 613 includes a signal level range parameter (σ(Noise)r) for each of a plurality of pixel noise levels, where in one aspect the plurality of pixel noise levels include a range of pixel noise commonly encountered in surgical images. The noise vs. Sigma R lookup table 613 outputs a signal level range parameter σ(Noise)r corresponding to the input pixel noise to the range filter process 606, which in turn outputs a signal level range parameter σ(Noise)r that depends on the noise content of the current pixel.

こうして、範囲フィルタプロセス606は、n×nブロックの範囲フィルタ処理された値を生成し、ここで、範囲フィルタ処理された値のn×nブロックの所与の位置における範囲フィルタ処理された値は、所与の位置とn×nブロックのレンジ差の同じ位置から、例えば対応する位置からの入力レンジ差及び入力信号レベル(σ(Noise)r)を使用する信号レベル範囲のガウス分布の値である。こうして、範囲フィルタプロセス606は、フィルタ結合(Combine Filters)プロセス607に移る。 Thus, Range Filter process 606 generates an nxn block of range filtered values, where the range filtered value at a given location of the nxn block of range filtered values is a Gaussian distributed value of the signal level range using the input range difference and input signal level (σ(Noise)r) from the same location, e.g., corresponding location, of the given location and the range difference of the nxn block. Thus, Range Filter process 606 passes to Combine Filters process 607.

フィルタ結合プロセス607は、距離フィルタ値のn×nブロック内の位置の値に、2つのブロック内の各位置についてのレンジフィルタ(range filter)値のn×nブロックの内の同じ位置の値を乗算し、n×nの合成フィルタ値ブロックにおける各位置について合成フィルタ値を生成する。フィルタ結合プロセス607は、正規化プロセス608に移る。 The filter combination process 607 multiplies the value of a position in the n-by-n block of distance filter values by the value of the same position in the n-by-n block of range filter values for each position in the two blocks to generate a composite filter value for each position in the n-by-n composite filter value block. The filter combination process 607 passes to a normalization process 608.

正規化プロセス608は、まず、上で規定した正規化定数Cの値を決定する。具体的には、正規化プロセス608は、n×nブロックの合成フィルタ値の値を合計して、正規化定数Cを生成する。次に、正規化プロセス608は、n×nの合成フィルタ値ブロックの各位置の値を正規化定数Cで除算して、n×nの正規化された合成フィルタ値ブロックを生成する。正規化プロセス608は、画素生成プロセス609に移る。 Normalization process 608 first determines the value of the normalization constant C defined above. Specifically, normalization process 608 sums the values of the n×n block of composite filter values to generate the normalization constant C. Normalization process 608 then divides the value at each position of the n×n composite filter value block by the normalization constant C to generate an n×n normalized composite filter value block. Normalization process 608 passes to pixel generation process 609.

画素生成プロセス609は、適応空間ノイズフィルタ処理された画素を生成し、(時には、画素データの出力フレーム又はフィルタ処理された画素出力フレームと呼ばれる)フィルタ処理された画素データの出力フレーム614に適応空間ノイズフィルタ処理された画素を書き込む。具体的には、画素生成プロセス609は、n×nの正規化された合成フィルタ値ブロックの同じ位置の値に、n×nの入力画素ブロックの同じ位置の値を乗算することによって、n×nの適用フィルタ値ブロックにおける位置について適用フィルタ値を生成する。乗算は、ブロック内の各位置について行われる。最後に、ブロック中央の画素の適応空間ノイズフィルタ処理された画素を生成するために、画素生成プロセス609は、n×nブロックの適用フィルタ値の値を合計して、適応空間ノイズフィルタ処理された画素を取得し、この適応空間ノイズフィルタ処理された画素は、フィルタ処理された画素データの出力フレーム614内の適切な位置、すなわち、現在の画素フレーム616内の中心画素の位置と同じフィルタ処理された画素データの出力フレーム614内の位置に書き込まれる。フィルタ処理された画素データの出力フレーム614は、時には、フィルタ処理された画素データ出力フレーム614と呼ばれる。 The pixel generation process 609 generates adaptive spatial noise filtered pixels and writes the adaptive spatial noise filtered pixels to the output frame of filtered pixel data 614 (sometimes referred to as the output frame of pixel data or the filtered pixel output frame). Specifically, the pixel generation process 609 generates an applied filter value for a position in the n×n applied filter value block by multiplying the value of the same position in the n×n normalized composite filter value block with the value of the same position in the n×n input pixel block. The multiplication is performed for each position in the block. Finally, to generate an adaptive spatial noise filtered pixel for the pixel in the center of the block, the pixel generation process 609 sums the values of the applied filter values of the n×n block to obtain an adaptive spatial noise filtered pixel, which is written to the appropriate location in the output frame of filtered pixel data 614, i.e., the location in the output frame of filtered pixel data 614 that is the same as the location of the center pixel in the current pixel frame 616. The filtered pixel data output frame 614 is sometimes referred to as the filtered pixel data output frame 614.

画素ノイズ生成プロセス610は、オプションであり、典型的には適応ノイズフィルタを使用するパイプラインにおいて別のフィルタステージが後にある場合に実施される。上記のように、正規化定数Cは、以下のように規定される。

Figure 0007552002000031

The pixel noise generation process 610 is optional and is typically implemented if there is another filter stage later in the pipeline that uses an adaptive noise filter. As stated above, the normalization constant C is defined as follows:
Figure 0007552002000031

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

Figure 0007552002000032

In determining the normalization constant C, an n×n block of composite filter values is generated, and the composite filter value (C x y ) at a position within the block is expressed as follows:
Figure 0007552002000032

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

Figure 0007552002000033

Also, as explained above, the value at each position of the n×n composite filter value block is divided by a normalization constant C to generate a normalized composite filter value (CFN) for the n×n block, as shown below.
Figure 0007552002000033

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

Figure 0007552002000034

A pixel noise generation process 610 receives the normalized composite filter value (CFN) for this n×n block from the normalization process 608. It also includes, for each pixel in the n×n pixel block centered on the current pixel, a corresponding pixel noise standard deviation (stdPixi,j) within the frame of pixel noise data 612. The pixel noise output standard deviation (stdOut) for the current pixel is defined as:
Figure 0007552002000034

画素ノイズ出力標準偏差(stdOut)は、画素ノイズ出力フレーム615(時には、画素ノイズデータの出力フレーム615と呼ばれる)に渡される。画素ノイズ生成プロセス610は、プロセスを最後の画素確認プロセス611に移す。 The pixel noise output standard deviation (stdOut) is passed to the pixel noise output frame 615 (sometimes called the pixel noise data output frame 615). The pixel noise generation process 610 passes the process to the final pixel confirmation process 611.

最後の画素確認プロセス611は、現在の画素フレーム内の全ての画素がフィルタ処理されているかどうかを判定する。全ての画素がフィルタ処理されている場合に、最後の画素確認プロセス611は、新フレーム検索プロセス601移り、そうでなければブロック取得プロセス603に移る。 The Check Last Pixel process 611 determines whether all pixels in the current pixel frame have been filtered. If all pixels have been filtered, the Check Last Pixel process 611 transfers to the Find New Frame process 601, otherwise it transfers to the Get Block process 603.

以下は、適応空間ノイズフィルタ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を参照されたい。
Below is a pseudocode implementation of one embodiment of the adaptive spatial noise filter 670.
sigmaD = 1 "sigma value of the distance filter"
I = [5, 5] "specifies the size of the block"
distFilt = fspecial('gausian',[5, 5], 10) "Evaluate the distance filter for each location in the block"
cp = I(3, 3) "specifies the center pixel"
diff = I-cp "signal level difference between each pixel and the center pixel"
np = location of cp in noise frame "Specifies the pixel noise corresponding to the central pixel"
sigmaR = lookup(np) "Get SigmaR as a function of the noise pixel corresponding to the center pixel"
rangeFilt = exp(-diff.^2/2*sigmaR^2))) "Evaluate the range filter at each position in the block"
combFilt = rangeFilt. * distFilt "Multiply each element of the range filter by the corresponding element of the distance filter."
sumFilt = sum(combFilt(:)) "sum up the values of the combined filters"
combFiltNorm = comFilt./sumFilt "Divide each value of the combined filter by a normalization factor"
appliedFilter = I. * comFiltNorm "Multiply each pixel in the block by the normalized combined filter"
newValue = sum(appliedFilter(:)) "The filtered center pixel is the sum of the values of the applied filters"
In one aspect, the adaptive spatial noise filter is written in a computer programming language and compiled into an executable module that can run on a processor in the imaging pipeline. Alternatively, the adaptive spatial filter can be implemented in hardware, firmware, or any combination of hardware, firmware, and combination of processors and executable modules. See, e.g., FIG. 6B.

適応空間ノイズフィルタ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のそれぞれは、メモリに格納される。 6A. The adaptive spatial noise filter 670 includes a distance filter module 620, a first summer 621, a range filter module 622, a first multiplier 623, a second summer 624, a divider 625, a second multiplier 626, a third summer 627, a multiplier bank 628, a fourth summer 629, and a square root module 630. The adaptive spatial noise filter 670 is connected to the current pixel frame 616, the current pixel noise frame 612, the noise vs. sigma R lookup table 613, the output frame of filtered pixel data 614, and the pixel noise output frame 615. In one aspect, each of the current pixel frame 616, the current pixel noise frame 612, the noise vs. Sigma R lookup table 613, the filtered pixel output frame 614, and the pixel noise output 614 are stored in memory.

現在の画素フレーム616、現在の画素ノイズフレーム612、ノイズ対シグマRルックアップテーブル613、フィルタ処理された画素出力フレーム614、及び画素ノイズ出力フレーム615を適応空間ノイズフィルタ670とは別のものとして示すことは、例示に過ぎない。例えば、適応空間ノイズフィルタ670は、現在の画素フレーム616、現在の画素ノイズフレーム612、ノイズ対シグマRルックアップテーブル613、フィルタ処理された画素出力フレーム614、及び画素ノイズ出力フレーム615の全て又はいくつかの組合せを含むように図6Bに描かれ得る。 The depiction of the current pixel frame 616, the current pixel noise frame 612, the noise vs. sigma R lookup table 613, the filtered pixel output frame 614, and the pixel noise output frame 615 as separate from the adaptive spatial noise filter 670 is for illustrative purposes only. For example, the adaptive spatial noise filter 670 may be depicted in FIG. 6B as including all or some combination of the current pixel frame 616, the current pixel noise frame 612, the noise vs. sigma R lookup table 613, the filtered pixel output frame 614, and the pixel noise output frame 615.

ブロック取得プロセス603を実施するために、制御信号が、現在の画素フレーム616(時には、フレーム616とも呼ばれる)に供給され、画素のブロックI(n, n)が距離フィルタモジュール620に、及び集計器621の第1の入力に供給され、ブロックI(n, n)の中心画素(cp)は、適応空間ノイズフィルタ670の集計器621の第2の反転入力(In2)に供給される。ここで、nは、正の非ゼロの奇数である。 To implement the block acquisition process 603, a control signal is provided to the current pixel frame 616 (sometimes also referred to as frame 616), a block of pixels I(n,n) is provided to a distance filter module 620 and to a first input of an aggregator 621, and a center pixel (cp) of the block I(n,n) is provided to a second inverted input (In2) of the aggregator 621 of the adaptive spatial noise filter 670, where n is a positive non-zero odd number.

上述したように、中心画素は、時には現在の画素と呼ばれる。また、画素が、入力上で駆動される、又は入力に供給されると言われるとき、それは画素の値が入力上にあることを意味する。 As mentioned above, the center pixel is sometimes called the current pixel. Also, when a pixel is said to be driven on an input or fed to an input, it means that the value of the pixel is on the input.

距離フィルタモジュール620は、ブロックI(n, n)の各画素、すなわちブロックI(n, n)の各位置について上記で規定した空間ガウス関数を実施し、ブロックI(n, n)の各位置について距離フィルタ値を生成する。距離フィルタモジュール620は、距離フィルタプロセス604を実施する。 The distance filter module 620 performs the spatial Gaussian function defined above for each pixel of the block I(n,n), i.e., for each location of the block I(n,n), to generate a distance filter value for each location of the block I(n,n). The distance filter module 620 performs the distance filter process 604.

集計器621は、ブロックI(n, n)内の各値から中心画素の値を減算する。すなわち、集計器621は、現在の画素とブロックI(n, n)内の他の画素のそれぞれとの間の信号レベルの差を決定して、n×nブロックの信号レベルレンジ差を生成する。集計器621は、n×nブロックの信号レベルレンジ差を出力(Out)に出力する。集計器621は、レンジ差プロセス605を実施する。 The aggregator 621 subtracts the value of the center pixel from each value in the block I(n,n). That is, the aggregator 621 determines the signal level difference between the current pixel and each of the other pixels in the block I(n,n) to generate a signal level range difference for the nxn block. The aggregator 621 outputs the signal level range difference for the nxn block at an output (Out). The aggregator 621 implements the range difference process 605.

範囲フィルタモジュール622は、上述したように現在の画素のノイズの関数である信号レベル範囲のガウス分布を実現する。信号レベルを実現するために、範囲フィルタモジュール622は、ブロックI(n, n)の中心画素に対する信号レベルレンジパラメータ(σ(Noise)r)のノイズ依存値が必要である。 The Range Filter module 622 implements a Gaussian distribution of signal level ranges that is a function of the noise of the current pixel as described above. To implement the signal level, the Range Filter module 622 requires a noise-dependent value of the signal level range parameter (σ(Noise)r) for the central pixel of the block I(n,n).

この態様では、現在の画素(cp)の位置は、画素ノイズデータ612のフレーム内の同じ位置の画素ノイズを取り出すために使用され、画素ノイズは、ノイズ対シグマRルックアップテーブル613に入力される。取り出された画素ノイズは、ブロックI(n, n)の中心画素に対応する画素ノイズである。入力画素ノイズに応答して、ノイズ対シグマRルックアップテーブル613は、信号レベルレンジパラメータ(σ(Noise)r)を第2の入力(In2)上で範囲フィルタモジュール622に提供する。範囲フィルタモジュール622は、集計器621からn×nブロックの信号レベルレンジ差を第1の入力(In1)上で受け取る。 In this embodiment, the location of the current pixel (cp) is used to retrieve the pixel noise of the same location within the frame of pixel noise data 612, which is input to the noise-to-sigma R lookup table 613. The retrieved pixel noise is the pixel noise corresponding to the center pixel of the block I(n,n). In response to the input pixel noise, the noise-to-sigma R lookup table 613 provides a signal level range parameter (σ(Noise)r) on a second input (In2) to the range filter module 622. The range filter module 622 receives the signal level range difference of the n×n block from the aggregator 621 on a first input (In1).

こうして、範囲フィルタモジュール622は、ブロックI(n, n)内の各位置のレンジフィルタ値を生成する。n×nのレンジフィルタ値ブロックの所与の位置におけるレンジフィルタ値は、n×nの信号レベルレンジ差ブロックのその所与の位置についての入力レンジ差及び入力信号レベル(σ(Noise)r)を使用する信号レベル範囲のガウス分布の値である。範囲フィルタモジュール622は、範囲フィルタプロセス606を実施する。 Thus, the range filter module 622 generates a range filter value for each position in the block I(n,n). The range filter value at a given position of the n by n range filter value block is a Gaussian distribution of the signal level range using the input range difference and the input signal level (σ(Noise)r) for that given position of the n by n signal level range difference block. The range filter module 622 implements the range filter process 606.

乗算器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を実施する。 The multiplier 623 receives the distance filter value of the n×n block on a first input (In1) and the range filter value of the n×n block on a second input terminal (In2). The multiplier 623 multiplies the distance filter value of the n×n distance filter value block by the corresponding range filter value of the n×n range filter value block and puts the result into the corresponding position of the n×n combined filter block. Here, the distance filter value at position (1,1) of the distance filter value block corresponds to the range filter value at position (1,1) of the range filter value block and the composite filter value at position (1,1) of the composite filter value block; the distance filter value at position (1,2) of the distance filter value block corresponds to the range filter value at position (1,2) of the range filter value block and the composite filter value at position (1,2) of the composite filter value block; ... the distance filter value at position (2,1) of the distance filter value block corresponds to the range filter value at position (2,1) of the range filter value block and the composite filter value at position (2,1) of the composite filter value block, and so on. Thus, generally speaking, entries in the same position in two n×n blocks are said to correspond. The composite filter value for the n×n blocks is provided to the output (Out) of multiplier 623, which implements combined filter process 607.

集計器624は、入力(In)上でn×nブロックの合成フィルタ値を受け取る。集計器624は、上で規定した正規化定数Cを生成するために、n×nの合成フィルタ値ブロックの値を合計する。正規化定数Cが集計器624の出力(Out)に供給される。 The aggregator 624 receives an n x n block of composite filter values on its input (In). The aggregator 624 sums the values of the n x n block of composite filter values to generate the normalization constant C defined above. The normalization constant C is provided at the output (Out) of the aggregator 624.

除算器625は、(分数の)分子入力(Num)でn×nブロックの合成フィルタ値を受け取り、分母端末(Denom)で正規化定数Cを受け取る。除算器625は、n×nの合成フィルタ値ブロックの各合成フィルタ値を正規化定数Cで除算して、n×nブロックの正規化された合成フィルタ値を生成する。n×nブロックの正規化された合成フィルタ値が、除算器625の出力(Out)に供給される。集計器624及び除算器625は、正規化プロセス608を実施する。 Divider 625 receives the n×n block of composite filter values at its (fractional) numerator input (Num) and a normalization constant C at its denominator terminal (Denom). Divider 625 divides each composite filter value of the n×n block of composite filter values by the normalization constant C to generate a normalized composite filter value of the n×n block. The normalized composite filter value of the n×n block is provided at the output (Out) of divider 625. Aggregator 624 and divider 625 implement the normalization process 608.

乗算器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)に供給される。 The multiplier 626 receives the pixel block I(n,n) on a first input (In1) and the normalized composite filter value of the n×n block on a second input (In2). The multiplier generates the applied filter value of the n×n block by multiplying each of the normalized composite filter values by a corresponding pixel in the pixel block I(n,n). Again, the pixel value at position (1,1) of the pixel block corresponds to the normalized composite filter value at position (1,1) of the normalized composite filter value block and the applied filter value at position (1,1) of the applied filter value block; the pixel value at position (1,2) of the pixel block corresponds to the normalized composite filter value at position (1,2) of the normalized composite filter value block and the applied filter value at position (1,2) of the applied filter value block, and so on. The applied filter values of the n×n block are provided to the output (OUT) of the multiplier 626.

集計器627は、入力(IN)上でn×nブロックの適用フィルタ値を受け取る。集計器624は、画素ブロックI(n,n)の中心画素について適応空間ノイズフィルタ処理された画素を生成するために、n×nの適用フィルタ値ブロックの値を合計する。中心画素について適応空間ノイズフィルタ処理された画素が集計器627の出力(OUT)に供給されるので、その適応空間ノイズフィルタ処理された画素は、フィルタ処理された画素出力フレーム614の適切な位置に、すなわち、現在の画素フレーム616の中心画素(cp)の位置と同じフィルタ処理された画素出力フレーム614の位置に書き込まれる。乗算器626及び集計器627は、画素生成プロセス609を実施する。 The aggregator 627 receives an n×n block of applied filter values on the input (IN). The aggregator 624 sums the values of the n×n block of applied filter values to generate an adaptive spatial noise filtered pixel for the center pixel of the pixel block I(n,n). The adaptive spatial noise filtered pixel for the center pixel is provided at the output (OUT) of the aggregator 627 so that the adaptive spatial noise filtered pixel is written to the appropriate position of the filtered pixel output frame 614, i.e., the same position of the filtered pixel output frame 614 as the position of the center pixel (cp) of the current pixel frame 616. The multiplier 626 and the aggregator 627 implement the pixel generation process 609.

乗算器バンク628は、第1の入力(In1)上で画素ノイズデータフレーム612からn×nブロックの画素ノイズ標準偏差(stdPixi,j)を受け取り、第2の入力端子(In2)上で、n×nブロックの正規化された合成フィルタ値を受け取る。乗算器バンク623は、入力値のそれぞれをそれ自体で乗算し、一方のブロックの2乗値に他方のブロックの対応する2乗値を乗算する。画素ノイズ標準偏差の2乗と正規化された合成フィルタ値の2乗との積から構成されるn×nブロックが、乗算器バンク628の出力(Out)に供給され、集計器629の入力端子(In)を駆動する。 The multiplier bank 628 receives on a first input (In1) an n×n block of pixel noise standard deviations (stdPixi,j) from the pixel noise data frame 612 and on a second input terminal (In2) an n×n block of normalized composite filter values. The multiplier bank 623 multiplies each of the input values by itself and multiplies the squared value of one block by the corresponding squared value of the other block. An n×n block consisting of the products of the squares of the pixel noise standard deviations and the squares of the normalized composite filter values is supplied to the output (Out) of the multiplier bank 628 and drives the input terminal (In) of the aggregator 629.

集計器629は、画素ノイズ標準偏差の2乗と正規化された合成フィルタ値の2乗との積から構成されるn×nブロックを入力(In)上で受け取る。集計器624は、画素ノイズ標準偏差の2乗と正規化された合成フィルタ値の2乗との積から構成されるn×nブロックの値を合計する。結果は、集計器629の出力(Out)に供給される。 The aggregator 629 receives on its input (In) an n x n block of products of the squares of the pixel noise standard deviations and the squares of the normalized composite filter values. The aggregator 624 sums the values of the n x n block of products of the squares of the pixel noise standard deviations and the squares of the normalized composite filter values. The result is provided to the output (Out) of the aggregator 629.

平方根モジュール630は、入力(In)で集計器629の出力(Out)の結果を受け取る。平方根モジュール630は、入力値の平方根をとり、画素ノイズ出力標準偏差(stdOut)を画素ノイズ出力フレーム615に供給する。乗算器バンク628、集計器629、及び平方根モジュール630は、画素ノイズ生成プロセス610を実施する。 The square root module 630 receives the output (Out) of the aggregator 629 at its input (In). The square root module 630 takes the square root of the input value and provides the pixel noise output standard deviation (stdOut) to the pixel noise output frame 615. The multiplier bank 628, the aggregator 629, and the square root module 630 implement the pixel noise generation process 610.

上述した適応ノイズフィルタは、実際には任意数のモジュールによって実施してもよく、各モジュールは、任意のコンポーネントの組合せを含んでもよい。各モジュール及び各コンポーネントは、ハードウェア、プロセッサ上で実行されるソフトウェア、及びファームウェア、又はこれらの3つの任意の組合せを含むことができる。また、本明細書で説明するように、適応ノイズフィルタの機能及び動作は、1つのモジュールによって実行してもよく、又は異なるモジュール間で、又はモジュールの異なるコンポーネント間で分割してもよい。異なるモジュール又はコンポーネントの間で分割される場合に、モジュール又はコンポーネントは、1つの場所に集中されるか、又は分散処理目的のために、コンピュータ支援手術システムに亘って分散され得る。こうして、適応ノイズフィルタへの言及は、単一の物理的エンティティを必要とするものとして解釈すべきではない。 The adaptive noise filter described above may actually be implemented by any number of modules, and each module may include any combination of components. Each module and each component may include hardware, software running on a processor, and firmware, or any combination of the three. Also, as described herein, the functions and operations of the adaptive noise filter may be performed by one module, or may be divided among different modules or among different components of a module. When divided among different modules or components, the modules or components may be centralized in one location or distributed across the computer-assisted surgery system for distributed processing purposes. Thus, reference to an adaptive noise filter should not be construed as requiring a single physical entity.

上記の例では、単一の撮像パイプラインについて示し、説明した。しかしながら、立体視シーンを利用するシステムでは、上述したパイプラインと同一の第2のパイプラインが使用され、1つのパイプラインが左画像取込みユニットからの左取込みフレームを処理し、別のパイプラインが右画像取込みユニットから右取込みフレームを処理する。第2のパイプラインについての上述した説明を繰り返すことは冗長であり、そのため、明確にするためにここには含まれていない。 In the above examples, a single imaging pipeline is shown and described. However, in a system utilizing stereoscopic scenes, a second pipeline identical to the one described above is used, with one pipeline processing left captured frames from a left image capture unit and another pipeline processing right captured frames from a right image capture unit. It would be redundant to repeat the above description of the second pipeline, and so for the sake of clarity, it is not included here.

本明細書で使用する「第1」、「第2」、「第3」等は、異なる構成要素又は要素を区別するために使用される形容詞である。こうして、「第1」、「第2」、及び「第3」は、構成要素又は要素の順序を暗示することを意図せず、又は構成要素又は要素の総数を暗示することを意図しない。 As used herein, "first," "second," "third," etc. are adjectives used to distinguish between different components or elements. Thus, "first," "second," and "third" are not intended to imply an order of the components or elements or a total number of components or elements.

本発明の態様及び実施形態を示す上記の説明及び添付の図面は、限定と解釈すべきではなく、特許請求の範囲が保護される発明を規定する。この説明及び特許請求の範囲の精神及び範囲から逸脱することなく、様々な機械的、組成的、構造的、電気的、及び動作的な変更を行うことができる。いくつかの例では、周知の回路、構造、及び技術は、本発明を不明瞭にすることを避けるために、詳細には示していないか又は説明していない。 The above description and accompanying drawings illustrating aspects and embodiments of the present invention should not be construed as limiting, but rather define the invention for which the claims are protected. Various mechanical, compositional, structural, electrical, and operational changes may be made without departing from the spirit and scope of this description and the claims. In some instances, well-known circuits, structures, and techniques have not been shown or described in detail to avoid obscuring the invention.

さらに、この説明の用語は本発明を限定するものではない。例えば、「下の(beneath)」、「より下の(below)」、「下方の(lower)」、「上の(above)」、「上方の(upper)」、「基端」、「先端」等の空間的に関連する用語は、図に示されるように、1つの要素又は特徴の別の要素又は特徴に対する関係を示す。これらの空間的に関連する用語は、図に示された位置及び向きに加えて、使用又は操作中の装置の異なる位置(すなわち、配置)及び向き(すなわち、回転配置)を包含するように意図されている。例えば、図中の装置がひっくり返された場合に、他の要素又は特徴「より下(below)」又は「の下(beneath)」と記載された要素は、次に他の要素又は特徴の「上(above)」又は「上(over)」になる。こうして、例示的な用語「より下の(below)」は、上及び下の両方の位置及び向きを含むことができる。この装置は、他の方法で向き合わせてもよく(90度又は他の向きに回転してもよい)、本明細書で使用される空間的に関連する説明はそれに応じて解釈される。同様に、様々な軸線に沿った及びその軸線の周りの動きの説明には、様々な特殊な装置の位置及び向きが含まれる。 Moreover, the terms of this description are not intended to limit the invention. For example, spatially related terms such as "beneath," "below," "lower," "above," "upper," "proximal," and "distal" refer to the relationship of one element or feature to another element or feature as depicted in the figures. These spatially related terms are intended to encompass different positions (i.e., configurations) and orientations (i.e., rotated configurations) of the device during use or operation in addition to the positions and orientations depicted in the figures. For example, if the device in the figures is turned over, an element described as "below" or "beneath" another element or feature would then be "above" or "over" the other element or feature. Thus, the exemplary term "below" can encompass both above and below positions and orientations. The device may be otherwise oriented (rotated 90 degrees or in other orientations) and the spatially related descriptions used herein interpreted accordingly. Similarly, descriptions of movement along and around various axes include various specific device positions and orientations.

単数形「1つの(a, an)」及び「その(the)」は、文脈が他の意味を示さない限り、複数形も同様に含むことが意図される。用語「備える、有する、含む(comprises, comprising)」、「含む、有する(includes)」等の用語は、記載された特徴、ステップ、動作、要素、及び/又は構成要素の存在を特定するが、1つ又は複数の他の特徴、ステップ、動作、要素、構成要素、及び/又はグループの存在又は追加を排除するものではない。結合されると記載された構成要素は、電気的又は機械的に直接的に結合されてもよく、又は1つ又は複数の中間構成要素を介して間接的に結合されてもよい。 The singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context indicates otherwise. Terms such as "comprises," "comprises," "includes," and the like specify the presence of stated features, steps, operations, elements, and/or components, but do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups. Components that are described as being coupled may be directly coupled electrically or mechanically, or may be indirectly coupled through one or more intermediate components.

全ての例及び説明の参考文献は非限定的なものであって、特許請求の範囲を本明細書に記載の具体的な実装形態及び実施形態及びそれらの均等物に限定するために使用すべきではない。1つの見出しの下にあるテキストは、相互参照されるか、又は1つ又は複数の見出しの下にあるテキストに適用され得るため、見出しは単に書式的なものであり、主題を制限するために使用すべきではない。最後に、本開示を考慮して、一態様又は実施形態に関連して説明した特定の特徴は、図面に具体的に示されていないか又は本文に記載されていなくても、本発明の他に開示された態様又は実施形態に適用し得る。 All example and illustrative references are non-limiting and should not be used to limit the scope of the claims to the specific implementations and embodiments described herein and their equivalents. Because text under a heading may be cross-referenced or applied to text under one or more headings, the headings are merely formative and should not be used to limit the subject matter. Finally, in light of this disclosure, a particular feature described in connection with one aspect or embodiment may be applied to other disclosed aspects or embodiments of the invention even if not specifically shown in the drawings or described in the text.

上記の実施形態は、本開示を例示するが、本開示を限定するものではない。また、本開示の原理に従って多くの修正及び変形が可能であることも理解すべきである。例えば、多くの態様において、本明細書に記載の装置は、単一ポート装置として使用される。すなわち、外科的処置を完了するために必要な全ての構成要素は、単一の入口ポートを介して身体に入る。しかしながら、いくつかの態様では、複数の装置及びポートを使用してもよい。 The above embodiments are illustrative of the present disclosure, but are not intended to be limiting. It should also be understood that many modifications and variations are possible in accordance with the principles of the present disclosure. For example, in many aspects, the devices described herein are used as single port devices, i.e., all components necessary to complete a surgical procedure enter the body through a single entry port. However, in some aspects, multiple devices and ports may be used.

以下に、出願当初の特許請求の範囲の内容を実施例として記載しておく。
[実施例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における画素であり、適応空間ノイズ・バイラテラルフィルタは、以下のように規定され、

Figure 0007552002000035


ここで、
Figure 0007552002000036

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


は、正規化定数であり、
Figure 0007552002000038


は、空間的なガウス分布であり、
Figure 0007552002000039


は、前記位置yの画素と前記位置xの画素との間の距離のノルムであり、
Figure 0007552002000040


は、距離パラメータであり、
Figure 0007552002000041


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


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


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


Figure 0007552002000044


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


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


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


は、前記位置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に記載の方法。




The contents of the claims as originally filed are described below as examples.
[Example 1]
1. A system comprising:
an image sensor configured to capture a first frame of pixel data;
an imaging pipeline coupled to the image sensor to receive the first frame of pixel data, the imaging pipeline including an adaptive noise filter, the adaptive noise filter comprising:
filtering the first pixel using an estimated pixel noise parameter for the first pixel and using a difference between a signal level of the first pixel and a signal level of at least a second pixel;
configured to output a second frame of pixel data including the filtered first pixels;
an imaging pipeline configured to output an output frame of pixel data based on the second frame of pixel data;
a display device coupled to the imaging pipeline to receive the output frames of pixel data, the display device configured to display the output frames of pixel data.
system.
[Example 2]
The system of example 1, wherein the adaptive noise filter includes an adaptive temporal noise filter, the second pixel is at a position in a third frame captured by the image sensor that is the same as the position of the first pixel in the first frame, the third frame being captured at a time prior to capturing the first frame, and the adaptive temporal noise filter is configured to filter the first pixel based on a comparison of changes in signal levels of the first and second pixels to an estimated pixel noise level of the first pixel, the estimated pixel noise level being an estimated pixel noise parameter.
[Example 3]
3. The system of claim 2, wherein the imaging pipeline includes a plurality of stages, and the adaptive temporal noise filter is included in a first stage of the plurality of stages.
[Example 4]
3. The system of claim 2, wherein the adaptive temporal noise filter is configured to output a pixel noise frame.
[Example 5]
The system of example 4, wherein the imaging pipeline includes a plurality of stages, each of the plurality of stages subsequent to a first stage of the plurality of stages configured to process an input pixel noise frame and configured to output a stage-dependent pixel noise frame.
[Example 6]
2. The system of claim 1, wherein the adaptive noise filter includes an adaptive spatial noise filter, the at least one second pixel being included in a plurality of pixels adjacent to the first pixel, the adaptive spatial noise filter being configured to filter the first pixel based on a difference between a signal level of the first pixel and each of the signal levels of the plurality of adjacent pixels and based on a noise-dependent signal level parameter, the noise-dependent signal level parameter being a function of noise of the first pixel, and the noise-dependent signal level parameter being the estimated pixel noise parameter of the first pixel.
[Example 7]
The system of Example 6, wherein the adaptive spatial noise filter includes a distance filter and a signal level range filter, the signal level range filter configured to filter the first pixel based on a difference between a signal level of the first pixel and each of the signal levels of the multiple adjacent pixels.
[Example 8]
7. The system of claim 6, wherein the noise-dependent signal level parameter is a signal level range parameter.
[Example 9]
An imaging pipeline stage, the imaging pipeline stage comprising:
an adaptive temporal noise filter including a signal level vs. noise lookup table;
The adaptive temporal noise filter comprises:
receiving a frame of pixels;
filtering each pixel of the plurality of pixels of the frame by comparing a change in signal level of the pixel over time with a value in the signal level vs. noise lookup table corresponding to the signal level of the pixel;
and configured to output a frame including a plurality of adaptive temporal noise filtered pixels based on the comparison.
Imaging pipeline stages.
[Example 10]
10. The imaging pipeline stage of example 9, wherein the signal level vs. noise lookup table is configured to receive a value of a pixel of a current pixel frame and output a noise standard deviation corresponding to the signal level of the pixel.
[Example 11]
The imaging pipeline stage of Example 9, wherein the adaptive temporal noise filter further comprises a modified lookup table configured to receive a temporal signal change of a pixel represented by a noise standard deviation numerical value and to output a percentage of an acceptable temporal change of the signal level of the pixel.
[Example 12]
10. The imaging pipeline stage of example 9, wherein the adaptive temporal noise filter is configured to output a pixel noise frame.
[Example 13]
An imaging pipeline stage, the imaging pipeline stage comprising:
It has an adaptive spatial noise filter,
The adaptive spatial noise filter comprises:
receiving an input pixel frame and an input pixel noise frame;
filtering a pixel of the input pixel frame based on a difference between a signal level of a pixel and each of a plurality of adjacent pixel signal levels and based on a noise-dependent signal level parameter to generate an adaptive spatial noise filtered pixel, the noise-dependent signal level parameter being determined using pixel noise in the input pixel noise frame corresponding to the pixel;
configured to output the adaptive spatial noise filtered pixels into an adaptive spatial noise filtered pixel frame.
Imaging pipeline stages.
[Example 14]
14. The imaging pipeline stage of example embodiment 13, wherein the adaptive spatial noise filter comprises an adaptive spatial noise bilateral filter.
[Example 15]
The pixel is the pixel at location x, and the adaptive spatial noise bilateral filter is defined as:
Figure 0007552002000035


Where:
Figure 0007552002000036

is the adaptive spatial noise filtered signal level of the pixel at location x,
Figure 0007552002000037


is a normalization constant,
Figure 0007552002000038


is a spatial Gaussian distribution,
Figure 0007552002000039


is the norm of the distance between the pixel at the position y and the pixel at the position x,
Figure 0007552002000040


is the distance parameter,
Figure 0007552002000041


is a Gaussian distribution of the signal level range that is a function of the noise of the pixel,
Figure 0007552002000042


is the signal level of the pixel at the location y,
Figure 0007552002000043


is the signal level of the pixel at the location x,


Figure 0007552002000044


is the absolute value of the difference between the signal level of the pixel at the position y and the signal level of the pixel at the position x,
Figure 0007552002000045


is a signal level range parameter that is a function of the noise of the pixel at the location x,
Figure 0007552002000046


is a block of pixels having a center pixel at said location x,
Figure 0007552002000047


represents a sum over pixels in a pixel block having a center pixel at the position x.
[Example 16]
1. A method, comprising:
receiving a first pixel of a first frame;
adaptive noise filtering the first pixel using estimated pixel noise parameters of the first pixel and using a difference between a signal level of the first pixel and a signal level of at least a second pixel to obtain a filtered pixel;
and outputting the filtered pixels into an output frame.
method.
[Example 17]
17. The method of example 16, further comprising outputting pixel noise corresponding to the filtered pixels in a noise output frame.
[Example 18]
17. The method of claim 16, wherein the second pixel is at a position in a second frame captured by an image sensor that is the same as the position of the first pixel in the first frame, the second frame being captured at a time prior to capturing the first frame, and the step of adaptively noise filtering the first pixel includes a step of adaptively temporal noise filtering the first pixel based on a comparison of a change in signal level of the first and second pixels to an estimated pixel noise level of the first pixel, the estimated pixel noise level being the estimated pixel noise parameter, and the change in signal level of the first and second pixels being a temporal change in the signal level of the first pixel.
[Example 19]
The step of adaptively temporal noise filtering the first pixel comprises:
inputting the signal level of the first pixel into a signal level vs. noise lookup table;
and outputting a noise standard deviation corresponding to a signal level of the first pixel using the signal level vs. noise lookup table, the noise standard deviation being the estimated pixel noise level of the first pixel.
[Example 20]
The step of adaptively temporal noise filtering the first pixel comprises:
20. The method of claim 19, further comprising: dividing the time change in the signal level of the first pixel by the noise standard deviation to obtain the time change in the signal level of the first pixel as a noise standard deviation, wherein the division is the comparison.
[Example 21]
The step of adaptively temporal noise filtering the first pixel comprises:
inputting the time change of the signal level of the first pixel into a lookup table modified by the standard deviation of noise;
21. The method of example 20, further comprising: using the modified lookup table to output an allowable percentage of time change in signal level of the first pixel passing through the filter.
[Example 22]
The step of adaptively temporal noise filtering the first pixel comprises:
generating an allowed change in signal level of the first pixel over time by multiplying a percentage of an allowed change in signal level of the first pixel over time by the change in signal level of the first pixel;
22. The method of example 21, further comprising: generating the filtered pixel by adding the allowed change in signal level of the first pixel to a corresponding pixel, the corresponding pixel being a pixel in a second frame, the second frame immediately preceding the first frame in time.
[Example 23]
17. The method of claim 16, wherein the at least one second pixel is included in a plurality of pixels neighboring the first pixel, and the step of adaptively noise filtering the first pixel comprises a step of adaptively spatial noise filtering the first pixel based on a difference between a signal level of the first pixel and each of the signal levels of the plurality of neighboring pixels and based on a noise-dependent signal level parameter, the noise-dependent signal level parameter being a function of noise of the first pixel, and the noise-dependent signal level parameter being an estimated pixel noise parameter of the first pixel.
[Example 24]
The step of adaptively spatial noise filtering the first pixel comprises:
24. The method of claim 23, comprising generating the filtered pixel by combining a distance filter and a signal level filter, the signal level filter being a function of the noise-dependent signal level parameter.
[Example 25]
25. The method of claim 24, wherein the signal level filter comprises a Gaussian distribution of signal level ranges having a signal level range parameter, the signal level range parameter being the noise dependent signal level parameter.




Claims (14)

システムであって、当該システムは、
第1のフレームの画素データを取り込むように構成された画像センサと、
該画像センサに結合された適応ノイズフィルタと、を含み、
該適応ノイズフィルタは、
前記第1のフレームの画素データの第1の画素の信号レベルに基づいて推定画素ノイズパラメータを決定すること
前記第1の画素の前記信号レベルと少なくとも第2の画素の信号レベルとの間の差を決定することであって、前記第2の画素は、前記第1のフレームの取込みの前に前記画像センサによって取り込まれた以前のフレームの位置と前記第1のフレームの前記第1の画素の位置とが同じ位置にある画素である、こと
該差と前記推定画素ノイズパラメータとの比較結果に基づいて、前記適応ノイズフィルタを通過するのが許可される前記差の数量を決定すること
前記適応ノイズフィルタを通過するのが許可される前記差の前記数量に基づいてフィルタ処理された画素を取得すること及び
該フィルタ処理された画素を含む第2のフレームの画素データを出力すること、を行うように構成される、
システム。
1. A system comprising:
an image sensor configured to capture a first frame of pixel data;
an adaptive noise filter coupled to the image sensor;
The adaptive noise filter comprises:
determining an estimated pixel noise parameter based on a signal level of a first pixel of the first frame of pixel data;
determining a difference between the signal level of the first pixel and a signal level of at least a second pixel, the second pixel being a pixel at the same position as the first pixel in the first frame in a previous frame captured by the image sensor prior to the capture of the first frame;
determining a quantity of the difference that is allowed to pass through the adaptive noise filter based on a comparison of the difference to the estimated pixel noise parameters;
obtaining a filtered pixel based on the amount of the difference that is allowed to pass through the adaptive noise filter; and
outputting a second frame of pixel data including the filtered pixels;
system.
前記適応ノイズフィルタに結合された第2の適応ノイズフィルタであって、前記フィルタ処理された画素の推定画素ノイズパラメータを使用し、且つ前記フィルタ処理された画素の信号レベルと少なくとも第3の画素の信号レベルとの間の差を使用して前記フィルタ処理された画素をフィルタ処理して、さらにフィルタ処理された画素を取得するように構成された第2の適応ノイズフィルタ、をさらに含み、
前記適応ノイズフィルタは適応時間ノイズフィルタであり、前記第2の適応ノイズフィルタは適応空間ノイズフィルタであり、
前記第2の適応ノイズフィルタは、前記さらにフィルタ処理された画素を含む第3のフレームの画素データを出力する、請求項1に記載のシステム。
a second adaptive noise filter coupled to the adaptive noise filter, configured to use estimated pixel noise parameters of the filtered pixels and to filter the filtered pixels using a difference between a signal level of the filtered pixels and a signal level of at least a third pixel to obtain further filtered pixels;
the adaptive noise filter is an adaptive temporal noise filter and the second adaptive noise filter is an adaptive spatial noise filter;
The system of claim 1 , wherein the second adaptive noise filter outputs a third frame of pixel data comprising the further filtered pixels.
前記適応ノイズフィルタは、前記フィルタ処理された画素に対応する画素ノイズをノイズ出力フレームに出力するように構成される、請求項2に記載のシステム。 The system of claim 2, wherein the adaptive noise filter is configured to output pixel noise corresponding to the filtered pixels in a noise output frame. 前記第2の適応ノイズフィルタは、前記ノイズ出力フレーム内の前記フィルタ処理された画素に対応する前記画素ノイズに基づいて、前記フィルタ処理された画素の前記推定画素ノイズパラメータを決定するように構成される、請求項3に記載のシステム。 The system of claim 3, wherein the second adaptive noise filter is configured to determine the estimated pixel noise parameters for the filtered pixels based on the pixel noise corresponding to the filtered pixels in the noise output frame. 前記第1の画素の前記推定画素ノイズパラメータは、前記フィルタ処理された画素の前記推定画素ノイズパラメータとは異なる、請求項2乃至4のいずれか一項に記載のシステム。 The system of any one of claims 2 to 4, wherein the estimated pixel noise parameter of the first pixel is different from the estimated pixel noise parameter of the filtered pixel. 前記フィルタ処理された画素の前記推定画素ノイズパラメータは、前記フィルタ処理された画素のノイズの関数である、請求項2乃至5のいずれか一項に記載のシステム。 The system of any one of claims 2 to 5, wherein the estimated pixel noise parameter of the filtered pixel is a function of the noise of the filtered pixel. 前記適応ノイズフィルタは、前記第1の画素の前記信号レベルを受信し、且つ前記第1の画素の前記信号レベルに対応するノイズ標準偏差を出力するように構成された信号レベル対ノイズ・ルックアップテーブルを含み、前記ノイズ標準偏差は前記推定画素ノイズパラメータである、請求項1乃至のいずれか一項に記載のシステム。 7. The system of claim 1, wherein the adaptive noise filter comprises a signal level vs. noise lookup table configured to receive the signal level of the first pixel and output a noise standard deviation corresponding to the signal level of the first pixel, the noise standard deviation being the estimated pixel noise parameter. 前記フィルタ処理された画素を取得することは、前記ノイズ標準偏差を使用して、前記第1の画素の前記信号レベルと、前記適応ノイズフィルタを通過することが許可される少なくとも前記第2の画素の前記信号レベルとの間の差の割合を決定することを含む、請求項に記載のシステム。 8. The system of claim 7, wherein obtaining the filtered pixel includes using the noise standard deviation to determine a percentage of difference between the signal level of the first pixel and the signal level of at least the second pixel that is allowed to pass through the adaptive noise filter. フレームの画素データの第1の画素を適応的にノイズフィルタ処理する方法であって、当該方法は、
前記第1の画素の信号レベルに基づいて推定画素ノイズパラメータを決定するステップと、
前記第1の画素の前記信号レベルと少なくとも第2の画素の信号レベルとの間の差を決定するステップであって、前記第2の画素は、第1のフレームの取込みの前に画像センサによって取り込まれた以前のフレームの位置と前記第1のフレームの前記第1の画素の位置とが同じ位置にある画素である、ステップと
該差と前記推定画素ノイズパラメータとの比較結果に基づいて、適応ノイズフィルタを通過するのが許可される前記差の数量を決定するステップと
前記適応ノイズフィルタを通過するのが許可される前記差の前記数量に基づいてフィルタ処理された画素を取得するステップと、
該フィルタ処理された画素をフィルタ処理された画素データの出力フレームに出力するステップと、を含む、
方法。
1. A method of adaptively noise filtering a first pixel of pixel data for a frame, the method comprising:
determining an estimated pixel noise parameter based on a signal level of the first pixel;
determining a difference between the signal level of the first pixel and a signal level of at least a second pixel, the second pixel being a pixel at the same position as the first pixel in the first frame in a previous frame captured by an image sensor prior to the capture of the first frame;
determining a quantity of the difference that is allowed to pass through an adaptive noise filter based on a comparison of the difference with the estimated pixel noise parameters;
obtaining a filtered pixel based on the amount of the difference that is allowed to pass through the adaptive noise filter;
and outputting the filtered pixels into an output frame of filtered pixel data.
method.
前記フィルタ処理された画素の推定画素ノイズパラメータを使用し、且つ前記フィルタ処理された画素の信号レベルと少なくとも第3の画素の信号レベルとの間の差を使用して、前記フィルタ処理された画素を適応的にノイズフィルタ処理して、さらにフィルタ処理された画素を取得するステップと、
該さらにフィルタ処理された画素をフィルタ処理された画素データの第2の出力フレームに出力するステップと、をさらに含む、請求項に記載の方法。
adaptively noise filtering the filtered pixel using an estimated pixel noise parameter of the filtered pixel and using a difference between a signal level of the filtered pixel and a signal level of at least a third pixel to obtain a further filtered pixel;
10. The method of claim 9 , further comprising the step of: outputting the further filtered pixels in a second output frame of filtered pixel data.
前記フィルタ処理された画素に対応する画素ノイズを画素ノイズデータの出力フレームに出力するステップをさらに含む、請求項10に記載の方法。 11. The method of claim 10 , further comprising the step of outputting pixel noise corresponding to the filtered pixels in an output frame of pixel noise data. 前記画素ノイズデータの出力フレーム内の前記フィルタ処理された画素に対応する前記画素ノイズに基づいて、前記フィルタ処理された画素の前記推定画素ノイズパラメータを決定するステップをさらに含む、請求項11に記載の方法。 12. The method of claim 11 , further comprising determining the estimated pixel noise parameter for the filtered pixel based on the pixel noise corresponding to the filtered pixel in the output frame of pixel noise data. 前記推定画素ノイズパラメータを決定するステップは、前記第1の画素の信号レベルを受信し、且つ前記第1の画素の前記信号レベルに対応するノイズ標準偏差を出力するように構成された信号レベル対ノイズ・ルックアップテーブルを使用するステップを含み、前記ノイズ標準偏差は前記推定画素ノイズパラメータである、請求項乃至12のいずれか一項に記載の方法。 13. The method of claim 9, wherein determining the estimated pixel noise parameter comprises using a signal level vs. noise lookup table configured to receive a signal level of the first pixel and output a noise standard deviation corresponding to the signal level of the first pixel, the noise standard deviation being the estimated pixel noise parameter. 前記フィルタ処理された画素を取得するステップは、前記ノイズ標準偏差を使用して、前記第1の画素の前記信号レベルと、前記フィルタ処理された画素に通過することが許可される少なくとも前記第2の画素の前記信号レベルとの間の前記差の割合を決定するステップを含む、請求項13に記載の方法。 14. The method of claim 13, wherein obtaining the filtered pixel comprises using the noise standard deviation to determine the percentage of the difference between the signal level of the first pixel and the signal level of at least the second pixel that is allowed to pass to the filtered pixel .
JP2021071592A 2016-01-29 2021-04-21 Light level adaptive filter and method Active JP7552002B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023101711A JP7571207B2 (en) 2016-01-29 2023-06-21 Light level adaptive filter and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662288956P 2016-01-29 2016-01-29
US62/288,956 2016-01-29
JP2018538098A JP6874009B2 (en) 2016-01-29 2017-01-27 Light level adaptive filters and methods

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018538098A Division JP6874009B2 (en) 2016-01-29 2017-01-27 Light level adaptive filters and methods

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023101711A Division JP7571207B2 (en) 2016-01-29 2023-06-21 Light level adaptive filter and method

Publications (2)

Publication Number Publication Date
JP2021119491A JP2021119491A (en) 2021-08-12
JP7552002B2 true JP7552002B2 (en) 2024-09-18

Family

ID=59398803

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018538098A Active JP6874009B2 (en) 2016-01-29 2017-01-27 Light level adaptive filters and methods
JP2021071592A Active JP7552002B2 (en) 2016-01-29 2021-04-21 Light level adaptive filter and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018538098A Active JP6874009B2 (en) 2016-01-29 2017-01-27 Light level adaptive filters and methods

Country Status (4)

Country Link
US (3) US11017504B2 (en)
JP (2) JP6874009B2 (en)
KR (2) KR102632193B1 (en)
WO (1) WO2017132600A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11017504B2 (en) * 2016-01-29 2021-05-25 Intuitive Surgical Operations, Inc. Light level adaptive filter and method
JP7169751B2 (en) * 2018-03-15 2022-11-11 キヤノン株式会社 Imaging element and electronic equipment having the same
DE102019217220A1 (en) * 2019-11-07 2021-05-12 Siemens Healthcare Gmbh Computer-implemented method for providing an output data set
US12033305B2 (en) 2019-12-17 2024-07-09 Stmicroelectronics (Grenoble 2) Sas Filtering device, associated system and method
US20230305590A1 (en) * 2020-03-13 2023-09-28 University Of South Australia A data processing method
US11995156B2 (en) * 2021-02-03 2024-05-28 Samsung Electronics Co., Ltd. Confidence aided upsampling of categorical maps
CN113009550A (en) * 2021-02-26 2021-06-22 山东省科学院海洋仪器仪表研究所 Filtering method for seawater radionuclide energy spectrum
EP4302260A1 (en) * 2021-03-03 2024-01-10 Boston Scientific Scimed, Inc. Method of image enhancement for distraction deduction in endoscopic procedures
US11308349B1 (en) * 2021-10-15 2022-04-19 King Abdulaziz University Method to modify adaptive filter weights in a decentralized wireless sensor network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013175182A (en) 2012-02-22 2013-09-05 Zakrytoe Akcionernoe Obshchestvo (Impul's) Method of noise reduction in digital x-ray frame

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061100A (en) * 1997-09-30 2000-05-09 The University Of British Columbia Noise reduction for video signals
US6804393B2 (en) * 2001-01-02 2004-10-12 Eastman Kodak Company Method of calculating noise from a digital image utilizing color cross correlation statistics
US7110455B2 (en) * 2001-08-14 2006-09-19 General Instrument Corporation Noise reduction pre-processor for digital video using previously generated motion vectors and adaptive spatial filtering
JP3934506B2 (en) * 2002-08-06 2007-06-20 オリンパス株式会社 Imaging system and image processing program
KR100564592B1 (en) * 2003-12-11 2006-03-28 삼성전자주식회사 Methods for noise removal of moving picture digital data
WO2006010276A1 (en) 2004-07-30 2006-02-02 Algolith Inc Apparatus and method for adaptive 3d artifact reducing for encoded image signal
US20060139494A1 (en) * 2004-12-29 2006-06-29 Samsung Electronics Co., Ltd. Method of temporal noise reduction in video sequences
US7643699B2 (en) * 2005-07-05 2010-01-05 Hewlett-Packard Development Company, L.P. Image processing based on local noise statistics
US7821578B2 (en) * 2006-04-07 2010-10-26 Marvell World Trade Ltd. Reconfigurable self-calibrating adaptive noise reducer
JP2008205737A (en) * 2007-02-19 2008-09-04 Olympus Corp Imaging system, image processing program, and image processing method
US8059207B2 (en) 2007-02-23 2011-11-15 Samsung Electronics Co., Ltd. System and method for video noise reduction using an adaptive temporal method with motion detection and motion compensation
US8711249B2 (en) * 2007-03-29 2014-04-29 Sony Corporation Method of and apparatus for image denoising
JP5052189B2 (en) * 2007-04-13 2012-10-17 オリンパス株式会社 Video processing apparatus and video processing program
JP4465002B2 (en) * 2007-11-16 2010-05-19 オリンパス株式会社 Noise reduction system, noise reduction program, and imaging system.
US8149336B2 (en) * 2008-05-07 2012-04-03 Honeywell International Inc. Method for digital noise reduction in low light video
KR101508386B1 (en) * 2008-09-29 2015-04-03 엘지전자 주식회사 Method and Apparatus for Motion Adaptive Noise Elimination
JP5197414B2 (en) * 2009-02-02 2013-05-15 オリンパス株式会社 Image processing apparatus and image processing method
JP5251637B2 (en) * 2009-03-16 2013-07-31 株式会社リコー Noise reduction device, noise reduction method, noise reduction program, recording medium
US9225916B2 (en) * 2010-03-18 2015-12-29 Cisco Technology, Inc. System and method for enhancing video images in a conferencing environment
US8471932B2 (en) 2010-09-30 2013-06-25 Apple Inc. Spatial filtering for image signal processing
US9036695B2 (en) * 2010-11-02 2015-05-19 Sharp Laboratories Of America, Inc. Motion-compensated temporal filtering based on variable filter parameters
JP5657375B2 (en) * 2010-12-24 2015-01-21 オリンパス株式会社 Endoscope apparatus and program
CN102646265B (en) * 2011-02-22 2015-09-23 株式会社东芝 Image processing equipment and method
GB2489272B (en) * 2011-03-23 2013-03-13 Toshiba Res Europ Ltd An image processing system and method
KR101248808B1 (en) * 2011-06-03 2013-04-01 주식회사 동부하이텍 Apparatus and method for removing noise on edge area
US9215355B2 (en) 2011-09-30 2015-12-15 Apple Inc. Scene adaptive temporal filtering
EA017302B1 (en) * 2011-10-07 2012-11-30 Закрытое Акционерное Общество "Импульс" Method of noise reduction of digital x-ray image series
TW201318418A (en) * 2011-10-26 2013-05-01 Novatek Microelectronics Corp Method of noise reduction in image and device thereof
US20130202079A1 (en) * 2012-02-07 2013-08-08 Lifeng Yu System and Method for Controlling Radiation Dose for Radiological Applications
US9412155B2 (en) 2012-12-31 2016-08-09 Karl Storz Imaging, Inc. Video system with dynamic contrast and detail enhancement
CN103632352B (en) * 2013-11-01 2017-04-26 华为技术有限公司 Method for time domain noise reduction of noise image and related device
WO2015172235A1 (en) * 2014-05-15 2015-11-19 Tandemlaunch Technologies Inc. Time-space methods and systems for the reduction of video noise
WO2016165112A1 (en) * 2015-04-16 2016-10-20 中国科学院自动化研究所 Video denoising system having contrast adaptation
DE102015213911B4 (en) * 2015-07-23 2019-03-07 Siemens Healthcare Gmbh Method for generating an X-ray image and data processing device for carrying out the method
US10269095B2 (en) * 2015-08-31 2019-04-23 Apple Inc. Dynamically determining filtering strength for noise filtering in image processing
US11017504B2 (en) * 2016-01-29 2021-05-25 Intuitive Surgical Operations, Inc. Light level adaptive filter and method
US10038862B2 (en) * 2016-05-02 2018-07-31 Qualcomm Incorporated Methods and apparatus for automated noise and texture optimization of digital image sensors
US9979942B2 (en) * 2016-06-30 2018-05-22 Apple Inc. Per pixel color correction filtering
GB2570528B (en) * 2018-06-25 2020-06-10 Imagination Tech Ltd Bilateral filter with data model
US11915391B2 (en) * 2020-03-26 2024-02-27 Intel Corporation Reduction of visual artifacts in images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013175182A (en) 2012-02-22 2013-09-05 Zakrytoe Akcionernoe Obshchestvo (Impul's) Method of noise reduction in digital x-ray frame

Also Published As

Publication number Publication date
JP6874009B2 (en) 2021-05-19
WO2017132600A1 (en) 2017-08-03
JP2019512178A (en) 2019-05-09
KR102632193B1 (en) 2024-02-01
KR20180100150A (en) 2018-09-07
KR20240017978A (en) 2024-02-08
JP2023120364A (en) 2023-08-29
US20230325984A1 (en) 2023-10-12
JP2021119491A (en) 2021-08-12
US11704774B2 (en) 2023-07-18
US11017504B2 (en) 2021-05-25
US20210264570A1 (en) 2021-08-26
US20200211161A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
JP7552002B2 (en) Light level adaptive filter and method
US20230362340A1 (en) Endoscopic image enhancement using contrast limited adaptive histogram equalization (clahe) implemented in a processor
JP6764574B2 (en) Image processing equipment, image processing methods, programs, and surgical systems
US9635343B2 (en) Stereoscopic endoscopic image processing apparatus
US9986169B2 (en) Exposure control method and system for an image capture device
JP6020950B1 (en) Endoscope system, operation method of endoscope system, and program
US20170046836A1 (en) Real-time endoscopic image enhancement
US20240196099A1 (en) Apparatuses, systems, and methods for gaze-based auto-exposure management of images
US9672596B2 (en) Image processing apparatus to generate a reduced image of an endoscopic image
KR20190030414A (en) Medical apparatus
CN102289826B (en) Image processing method and radiographic apparatus using the same
JP7571207B2 (en) Light level adaptive filter and method
JPWO2018225346A1 (en) Medical systems and control units
US11363245B2 (en) Image processing device, image processing method, and image processing program
EP3150107A1 (en) Image processing device
WO2023054089A1 (en) Video processing system, medical information processing system, and operation method
JP2024508314A (en) Image processing method to prevent dilatation during endoscopic procedures
JP2015223221A (en) Image enhancement processing system and electronic endoscope system
JP2005020619A (en) X-ray image display device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230621

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230629

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240816

R150 Certificate of patent or registration of utility model

Ref document number: 7552002

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150