この発明は、固体撮像素子受光面上に整列された各画素の欠陥、特に、対物レンズを組み込んだ撮像ユニット内に配置された固体撮像素子の受光面上に整列された各画素の欠陥を検出する欠陥画素検出装置、欠陥画素検出方法、及び欠陥画素検出プログラムに関する。
従来、周知の半導体プロセスで形成された固体撮像素子は、フォトダイオードの短絡等が原因で、受光した光束を正常に光電変換することができない欠陥画素を有することがある。そこで、このような欠陥画素を見かけ上無くすよう補正する為に該欠陥画素を検出する様々な装置や、方法、またはプログラムが提案され実用に供されている(例えば特許文献1)。
特開2002−112118号公報
特許文献1では、固体撮像素子の各画素を輝度が均一な照明光で照明し、その照明された固体撮像素子の各画素の出力信号のレベルを、予め設定された閾値と順次比較していくことにより、欠陥画素を検出している。すなわち特許文献1では、各画素の出力値を単純に所定の閾値と比較することによって欠陥画素を検出している。
しかしながら、固体撮像素子を対物光学系を含む撮像装置内に組み込んだ後に該撮像装置に輝度が均一な照明光や均一な輝度を有する被写体を用意して欠陥画素を検出しようとしても、撮像装置に備えられている対物レンズの特性上、該対物レンズの像側の結像面(すなわち固体撮像素子受光面)には、その中心部と周辺部とにおいてそれぞれ集光される光量が異なる。説明を加えると、該固体撮像素子受光面で集光される照明光や被写体の光量は、その中心部が最も多く、周辺部に向かうに従って徐々に減少していく。従って撮像装置に均一な照明光を与えても、固体撮像素子受光面上においてその中心部と周辺部とで各画素の出力値が大きく異なる。
上述したように固体撮像素子受光面上においてその中心部と周辺部とで入射される光量が異なっていると、単純に所定の閾値と比較しただけでは中心部或いは周辺部の全ての画素を、欠陥画素として誤検出してしまう可能性があった。
そこで、本発明は上記の事情に鑑み、欠陥画素を高い精度で検出することができる欠陥画素検出装置、欠陥画素検出方法、及び欠陥画素検出プログラムを提供することを目的とする。
上記の課題を解決する本発明の一態様に係る欠陥画素検出装置は、固体撮像素子の受光面上に整列された各画素の欠陥を検出するものであり、各該画素の信号の出力値に関する閾値を設定する閾値設定手段と、設定された該閾値と、該閾値に対する各画素信号の出力値とを比較して、該閾値より高い出力値または低い出力値のいずれかを出力している画素を判別する画素判別手段と、該閾値を変化させていき、該画素判別手段により判別された該画素の数が所定の数以下となったとき、該判別された画素を欠陥画素と判定する欠陥判定手段とを備えている。
また、上記欠陥画素検出装置は、画素判別手段により判別された該画素の位置情報を格納する記憶手段をさらに備えたものであってもよい。
また、上記の課題を解決する本発明の別の態様に係る欠陥画素検出装置は、固体撮像素子の受光面上に整列された各画素の欠陥を検出するものであり、各該画素の信号の出力値に関する閾値を設定する閾値設定手段と、設定された該閾値と、該閾値に対する各画素信号の出力値とを比較して、該閾値より高い出力値または低い出力値のいずれかを出力している画素を判別する画素判別手段と、該受光面上における該欠陥検出の範囲を変化させていき、該画素判別手段により判別された該画素の数が所定の数以下となったとき、該判別された画素を欠陥画素と判定する欠陥判定手段とを備えている。また、上記欠陥画素検出装置は、画素判別手段により判別された該画素の位置情報を格納する記憶手段をさらに備えたものであってもよい。
また、上記欠陥画素検出装置において、欠陥判定手段は、該欠陥検出の範囲を、該受光面全体から中心部に向かって徐々に絞っていくことができる。
また、上記欠陥画素検出装置において、欠陥判定手段は、該欠陥検出の範囲を、該受光面中心部を含む範囲から該受光面周辺部を含む範囲に向かって徐々に広げていくことができる。
また、上記欠陥画素検出装置において、画素判別手段が該閾値より高い出力値を判別する場合、欠陥判定手段は、該欠陥検出の範囲の境界近傍で該閾値より高い出力値を出力している画素を、欠陥画素と判定しない。
また、上記欠陥画素検出装置において、画素判別手段が該閾値より低い出力値を判別する場合、欠陥判定手段は、該欠陥検出の範囲の境界近傍で該閾値より低い出力値を出力している画素を、欠陥画素と判定しない。
また、上記欠陥画素検出装置において、欠陥検出の範囲は、該対物レンズを透過した光の、該受光面に対する輝度分布に応じて設定してもよい。
また、上記欠陥画素検出装置において、欠陥判定手段は、該欠陥検出の範囲の境界近傍における画素の出力値に応じて該閾値を設定することができる。
また、上記欠陥画素検出装置において、欠陥判定手段はさらに、画素判別手段により判別された該画素の数に応じて該閾値を変化させていくことができる。
また、上記欠陥画素検出装置において、画素判別手段は、該受光面中心に近い画素から優先的に判別処理を実行することができる。
また、上記の課題を解決する本発明の一態様に係る欠陥画素検出方法は、固体撮像素子の受光面上に整列された各画素の欠陥を検出する方法であり、各該画素の信号の出力値に関する閾値を設定する第一のステップと、設定された該閾値と、該閾値に対する各画素信号の出力値とを比較して、該閾値より高い出力値または低い出力値のいずれかを出力している画素を判別する第二のステップと、該受光面上における該欠陥検出の範囲を変化させていき、該第二のステップにより判別された該画素の数が所定の数以下となったとき、該判別された画素を欠陥画素と判定する第三のステップとを有している。
また、上記欠陥画素検出方法において、第三のステップではさらに、第二のステップにより判別された該画素の数に応じて該閾値を変化させていくことができる。
また、上記の課題を解決する本発明の別の態様に係る欠陥画素検出方法は、固体撮像素子の受光面上に整列された各画素の欠陥を検出する方法であり、各該画素の信号の出力値に関する閾値を設定する第一のステップと、設定された該閾値と、該閾値に対する各画素信号の出力値とを比較して、該閾値より高い出力値または低い出力値のいずれかを出力している画素を判別する第二のステップと、該閾値を変化させていき、該第二のステップにより判別された該画素の数が所定の数以下となったとき、該判別された画素を欠陥画素と判定する第三のステップとを有している。
また、上記の課題を解決する本発明の一態様に係る欠陥画素検出プログラムは、固体撮像素子の受光面上に整列された各画素の欠陥を検出するプログラムであり、各該画素の信号の出力値に関する閾値を設定し、設定された該閾値と、該閾値に対する各画素信号の出力値とを比較して、該閾値より高い出力値または低い出力値のいずれかを出力している画素を判別し、該受光面上における該欠陥検出の範囲を変化させていき、該判別された画素の数が所定の数以下となったとき、該判別された画素を欠陥画素と判定する。
また、上記欠陥画素検出プログラムは、判別手段により判別された画素の数に応じて該閾値を変化させていくことができる。
また、上記の課題を解決する本発明の一態様に係る欠陥画素検出プログラムは、固体撮像素子の受光面上に整列された各画素の欠陥を検出するプログラムであり、各該画素の信号の出力値に関する閾値を設定し、設定された該閾値と、該閾値に対する各画素信号の出力値とを比較して、該閾値より高い出力値または低い出力値のいずれかを出力している画素を判別し、該閾値を変化させていき、該判別された画素の数が所定の数以下となったとき、該判別された画素を欠陥画素と判定する。
本発明の欠陥画素検出装置、欠陥画素検出方法、及び欠陥画素検出プログラムは、検出される画素の出力に応じて閾値や検出範囲を適宜設定することができる。従って、対物レンズの特性によって固体撮像素子の中心部と周辺部との画素の出力値が大きく異なっている場合であっても、欠陥画素を高い精度で検出することができるようになる。
図1は、本発明の実施形態の電子内視鏡装置10を示すブロック図である。電子内視鏡装置10は、体腔内を観察する為の装置であり、プロセッサ100と、電子内視鏡200と、モニタ300から構成されている。電子内視鏡200は固体撮像素子(例えばCCD)を備えており、プロセッサ100は本実施形態の特徴に係る機能であって、製造時において発生した該固体撮像素子の欠陥画素を検出して補正する機能を果たす。以下に、図1を参照して電子内視鏡装置10の構成及び動作を説明する。
プロセッサ100は、電子内視鏡200を介して体腔内を照明する光源装置と、電子内視鏡200から送信された画像信号に所定の信号処理を施し映像信号に変換してモニタ300に出力する画像処理装置とを兼ね備えたものであり、光源ランプ110と、RGB回転フィルタ112と、モータドライバ114と、集光レンズ116と、電子内視鏡用接続部120と、CPU130と、メモリ132と、DSP(Digital Signal Processor)140と、メモリ150R、150G、150Bと、D/Aコンバータ160と、映像信号出力回路170と、出力端子180と、切替スイッチ190を有している。
切替スイッチ190は、プロセッサ100の動作モードを切り替える為のスイッチであり、体腔内を観察する為のモードである通常観察モードと、本実施形態の特徴に係るモードであって、電子内視鏡200内に配置された固体撮像素子の欠陥画素を検出する為のモードである欠陥画素検出モードに切り替えることができる。欠陥画素検出モードは、定期的なメンテナンス処理を行うときに使用されるものであり、通常電子内視鏡装置10は、通常観察モードに設定されている。まず、通常観察モードにおける電子内視鏡装置10の動作を説明する。
電子内視鏡装置10では面順次方式の撮像システムを採用している。プロセッサ100は、該撮像システムを実現する為の構成であって、上述した光源装置を司る構成として、光源ランプ110、RGB回転フィルタ112、モータドライバ114、及びレンズ116を有している。
光源ランプ110は、体腔内を照明する為の照明光を発するものであり、ここでは種々の色成分を含んだ白色光を発する。RGB回転フィルタ112は、光源ランプ110から発せられた白色光の光路中に配置されており、R光、G光、B光の三色の色成分の各々を透過させるフィルタを備えている。以下に、面順次方式によるカラー画像の生成のプロセスを説明する。
まず、CPU130の制御によってモータドライバ114が駆動制御され、RGB回転フィルタ112を回転させるモータが駆動される。これによりRGB回転フィルタ112は回転し、R光、G光、B光の各々の色成分のみを透過するフィルタが白色光の光路中に順次挿入される。従って、光源ランプ110から発せられた白色光は、R、G、Bの各色のフィルタを順次透過し、各色成分のみを含んだ光束としてRGB回転フィルタ112から射出し、電子内視鏡200側に向かって進行していく。なお、実際には、図1中の光源ランプ110は集光レンズ116の光軸上に配置されている。
そして各色成分は、集光レンズ116により集光されつつ、プロセッサ100と電子内視鏡200とを接続している電子内視鏡用接続部120を介して電子内視鏡200に入射される。
電子内視鏡200は、電子内視鏡装置10のうち体腔内に挿入されて該体腔内を撮像する機能を果たすものである。電子内視鏡200は、可撓性を有したケーブルを有しており、該ケーブル内には、該体腔内を撮像する為の種々の部品が配置されている。電子内視鏡200は、その長手方向に沿って配置されたライトガイド210と、その先端部に配置された対物レンズ220と、対物レンズ220の後側焦点位置と一致する面上にその受光面が配置されたCCD230を有している。CCD230は、例えば、水平方向に640画素、垂直方向に480画素のフォトダイオードが整列された、矩形状の固体撮像素子である。
上述した電子内視鏡200に入射された各色成分は、ライトガイド210に入射され、該ライトガイド210により電子内視鏡200の先端に導光される。そしてライトガイド210から射出され、体腔内を照明する。各色成分で照明された体腔内からの反射光は、対物レンズ220を介して、CCD230の受光面上で順次結像し受光される。なお、CCD230は、後述するCCD駆動回路144により駆動制御されている。CCD230により受光された各色成分は、画像信号に光電変換され、その出力部に順次転送されていく。これら各色成分の画像信号は、プロセッサ100に出力されて後述する画像処理を施され、ビデオ信号(映像信号)としてモニタ300に出力される。以下に、プロセッサ100で行われる画像処理のプロセスを説明する。
プロセッサ100に出力された画像信号は、DSP140に入力し、該DSP140により所定の処理が施される。図2は、DSP140の構成を示したブロック図である。以下に、図2を参照してDSP140の構成及び動作を説明する。
DSP140は、電子内視鏡200から出力された画像信号に所定の信号処理を施す回路であり、S/H回路141と、A/D変換器142と、タイミングジェネレータ143と、CCD駆動回路144と、検出回路145と、補正回路146と、信号処理回路147と、欠陥画素用メモリ148を有している。
S/H回路141及びA/D変換器142は、CPU130の制御信号によって駆動するタイミングジェネレータ143から出力されるタイミング信号により所定のタイミングで制御されている。S/H回路141は、CCD230からDSP140に入力された画像信号を所定のタイミングでサンプリング及びホールドし、A/D変換器142は、該画像信号をアナログ信号からデジタル信号に変換する。
ここでプロセッサ100は切替スイッチ190により通常観察モードにセットされている為、A/D変換器142によりデジタル信号に変換された画像信号は、補正回路146に出力される。また、プロセッサ100が欠陥画素検出モードにセットされている場合、プロセッサ100が本実施形態の特徴である欠陥画素検出処理(後述)を実行する為、該画像信号は、検出回路145及び補正回路146に出力される。補正回路146は、欠陥画素検出処理(後述)によって取得した欠陥画素情報に基づいてCCD230の欠陥画素に対する補正処理を実行している。
CPU130はプロセッサ100に接続されている電子内視鏡200のID情報を取得する機能を有している。CPU130に接続されているメモリ132は、各電子内視鏡のID情報と、欠陥画素検出処理(後述)によって取得された欠陥画素情報(例えば欠陥画素のアドレス)とを関連付けて記憶している。プロセッサ100に電子内視鏡が接続されると、CPU130は、そのID情報を取得し、そのID情報に関連付けられた欠陥画素情報をメモリ132から読み出す。そして、読み出した欠陥画素情報を、欠陥画素用メモリ148に一時的に記憶させる。
補正回路146は、欠陥画素用メモリ148の内容を読み込む。この欠陥画素用メモリ148には、上述したように、プロセッサ100に現在接続されている電子内視鏡の欠陥画素の情報(例えば欠陥画素を示すアドレス)がCPU130により書き込まれ、記憶されている。補正回路146は、欠陥画素の情報を欠陥画素用メモリ148から読み出し、該欠陥画素に対する補正処理を実行する。なお、補正回路146による補正処理が実行されるタイミングは、電子内視鏡装置10起動時や、電子内視鏡200をプロセッサ100に接続した時、通常観察モード選択時などである。
補正回路146は、欠陥画素検出モード時に検出されたCCD230の欠陥画素を例えば、隣接画素の信号で補間する周知の方式により補正し、補正後の画像信号を信号処理回路147に出力する。信号処理回路147に入力された画像信号は、タイミングジェネレータ143によって、CCD230の駆動(すなわちCCD駆動回路144の駆動)と同期され、R成分、G成分、及びB成分の各色成分の画像信号に分離され、メモリ150R、150G、及び150Bに出力される。
DSP140により分離された各色成分の画像信号は、CPU130の作用により、それぞれ異なったメモリに順次格納される。ここでは、R成分の画像信号は150Rに格納され、G成分の画像信号は150Gに格納され、B成分の画像信号は150Bに格納される。
各メモリに格納された画像信号は、CPU130の作用により、メモリ150R、150G、及び150Bの各々から所定のタイミングで同時に読み出しされ、D/A変換器160に出力される。そしてこのD/A変換器160によって、デジタル信号からアナログ信号に変換される。アナログ信号に変換された画像信号は、映像信号出力回路170に入力され、この映像信号出力回路170によって、モニタ300に表示可能なコンポジットビデオ信号、Sビデオ信号、RGBビデオ信号などの映像信号に変換される。ここで変換された映像信号がモニタ300に入力されると、モニタ300上に体腔内の観察画像がカラーで表示される。
このときプロセッサ100に接続されている電子内視鏡のID情報がメモリ132に記憶されていないものである場合(より詳しくは欠陥画素用メモリ148にその内視鏡の欠陥画素情報が記憶されていない場合)、該補正回路146は該内視鏡の固体撮像素子に含まれている欠陥画素の補正を実行できない為、モニタ300上には欠陥画素に対応する位置にいわゆる黒点(例えばフォトダイオードの断線などで電荷が貯められない画素、若しくは最も低い感度の画素によるもの)や白点(例えばフォトダイオードの短絡で常に電荷が飽和した状態の画素、若しくは最も高い感度の画素によるもの)が表示されてしまう。ここでプロセッサ100のモードを欠陥画素検出モードに切り替え、本実施形態の特徴である欠陥画素検出処理を実行することにより、該電子内視鏡のID情報と、該ID情報に対応する欠陥画素の情報がメモリ132に記憶され、次回この電子内視鏡を使用する際には欠陥画素が補正された鮮明な画像がモニタ300上に表示される。以下に、本実施形態で用いられる種々の欠陥画素検出処理を説明する。
図3(a)は、実施例1のCCD230の欠陥画素検出処理時におけるモニタ300の表示状態を示した図である。また、図3(b)は、図3(a)に対応するCCD230の各画素の出力値と閾値との関係を示したグラフである。また、図4は、実施例1のCPU130による欠陥画素検出処理を示したフローチャートである。なお、実施例1の欠陥画素検出処理は、白点となる画素を欠陥画素とみなす処理である。以下に、図3(a)、(b)、及び図4を参照して実施例1の欠陥画素検出処理を説明する。
実施例1では電子内視鏡200に照明光を照射しない。そのため、CCD230の中で正常な画素及び黒点となる画素は、微量な信号(主に暗電流によるもの)を出力している。また、白点となる画素すなわち実施例1で欠陥画素とみなされる画素(図3(a)のa〜cに対応する画素)は、高い出力値(例えば25)を出力している。従って、図3(a)の如くモニタ300には、全体的に略黒い画像が表示され、僅かに白い点像が表示される。なお、全ての実施例において、各画素の出力値の値域は、0〜255とする。
図3(b)のRz、Rj、及びR0は、欠陥画素の判定に利用される閾値である。該閾値の値域は、各画素の出力値と対応しており、0〜255となっている。また、グラフ中に示された曲線は、各画素の出力値を示している。図3(b)のa〜cは、図3(a)のa〜cに対応したものであって、これらの画素の出力値を示したものである。
図4に示したフローチャートを参照して実施例1の欠陥画素検出処理を説明する。実施例1の欠陥画素検出処理を開始する為には、先ず、プロセッサ100の切替スイッチ190を欠陥画素検出モードに切り替える。なお、切替スイッチ190は、さらに、黒点もしくは白点の欠陥画素を検出するモードを切り替えることができる。ここでは、切替スイッチ190をさらに操作して白点の欠陥画素を検出するモードに切り替える。
プロセッサ100を上記白点欠陥画素検出モードにセットすると、実施例1の欠陥画素検出処理が開始される。先ず、CPU130は、CCD230の各画素が白点の欠陥画素であるか否かを判定する為の閾値rthを、初期値Rz(=3)に設定する(ステップ1、以下、S1とする)。次に、初期値Rzに設定された閾値rthに増分D(=2)を加算する(S2)。そしてS2の処理で加算された閾値rthを用いて、CCD230の各画素が白点の欠陥画素であるか否かを判定する(S3)。例えば、閾値rthがRzの場合には、全ての画素の出力値がRzより大きい為、これら全ての画素が欠陥画素と判定され、閾値rthがRjの場合には、画素a〜cの出力値がRjより大きい為、これら3つの画素が欠陥画素と判定される(図3(b)参照)。
次に、CPU130は、S3の処理において欠陥画素と判定された画素が8画素以下か否かを判定する(S4)。欠陥画素と判定された画素が8画素より多い場合(S4:NO)、現在設定している閾値rthが低すぎる為、このとき判定された画素が実際に欠陥か否かを特定できない。従って、CPU130は、S2の処理に戻り、再び閾値rthに増分Dを加算して該閾値rthを増加させ、欠陥画素検出処理を続行させる。また、欠陥画素と判定された画素が8画素以下の場合(S4:YES)、CPU130は、これら8画素以下の画素のアドレス(ロウ及びカラムアドレス)を、接続中の電子内視鏡のID情報と関連付けて、メモリ132に記憶させ(S5)、欠陥画素検出処理を終了させる。なお、白点の欠陥画素が1つも検出されなかったときは、アドレス記憶の処理(S5)は省略される。
実施例1では、欠陥画素と判定される画素が所定数(ここでは8画素)以下になるまで閾値rthを増加させていき、該画素が所定数以下となった時点で閾値rthより高い出力値を有する画素を欠陥画素として特定している。暗電流は微量である為、実施例1では各画素の出力値の実質的な差を検出することができる。従って、高い精度で欠陥画素を検出することができる。また、検出作業に照明光を使用する必要もなくなる。このような検出方法は、特に内視鏡に利用されるような対物レンズの特性を有した装置内の欠陥画素を検出するときに効果的である。
図5は、実施例2のCPU130による欠陥画素検出処理を示したフローチャートである。実施例2の欠陥画素検出処理は、実施例1と同様に白点となるCCD230の各画素を欠陥画素とみなす処理である。実施例2では、実施例1と逆に閾値rthを減少させていくことにより欠陥画素を検出する。以下に、図5を参照して実施例2の欠陥画素検出処理を説明する。
実施例2の欠陥画素検出処理では、先ず、CPU130は、CCD230の各画素が白点の欠陥画素であるか否かを判定する為の閾値rthを、初期値R0(=60)に設定する(S11)。次に、初期値R0に設定された閾値rthに減分D(=2)を減算する(S12)。そしてS12の処理で減算された閾値rthを用いて、CCD230の各画素が白点の欠陥画素であるか否かを判定する(S13)。例えば、閾値rthがR0の場合には、全ての画素の出力値がR0より小さい為、これら全ての画素が欠陥画素でないと判定され(図3(b)参照)、閾値rthがRjの場合には、画素a〜cの出力値がRjより大きい為、これら3つの画素が欠陥画素と判定される(図3(b)参照)。
次に、CPU130は、S13の処理において欠陥画素と判定された画素が8画素より多いか否かを判定する(S14)。欠陥画素と判定された画素が8画素以下の場合(S14:NO)、現在設定している閾値rthが高すぎる為、欠陥画素と判定され得る画素を僅かな数しか特定できていない。従って、CPU130は、S12の処理に戻り、再び閾値rthに減分Dを減算して該閾値rthを減少させ、欠陥画素検出処理を続行させる。また、欠陥画素と判定された画素が8画素より多い場合(S14:YES)、現在設定している閾値rthが低すぎて欠陥画素を絞り込めていない為、CPU130は、閾値rthに増分Dを加算して該閾値rthを増加させ(S15)、再び各画素が白点の欠陥画素であるか否かを判定する(S16)。このとき白点の欠陥画素であると判定される画素の数は必ず8画素以下となり、CPU130は、これら8画素以下の画素のアドレスを、接続中の電子内視鏡のID情報と関連付けて、メモリ132に記憶させ(S17)、欠陥画素検出処理を終了させる。なお、白点の欠陥画素が1つも検出されなかったときは、アドレス記憶の処理(S5)は省略される。
実施例2では、欠陥画素と判定される画素が所定数(ここでは8画素)に達するまで閾値rthを減少させていき、該画素が所定数に達した時点で閾値rthを1つ前の値に増加させ、その増加後の閾値rthで欠陥画素検出を行ない、閾値rthより高い出力値を有する画素を欠陥画素として特定している。実施例2でも、実施例1と同様に各画素の出力値の実質的な差を検出することができる。従って、高い精度で欠陥画素を検出することができる。また、検出作業に照明光を使用する必要もなくなる。なお、実施例1及び2では欠陥画素と判定される画素が8画素以下となるまで(実施例1)または8画素に達するまで(実施例2)閾値rthを変化させていたが、別の実施例では該画素の数は8画素に限らず状況に応じて適宜設定してよい。
図6(a)は、実施例3のCCD230の欠陥画素検出処理時におけるモニタ300の表示状態を示した図である。また、図6(b)、(c)は、図6(a)に対応するCCD230の各画素の出力値と閾値との関係を示したグラフである。また、図7は、実施例3のCPU130による欠陥画素検出処理を示したフローチャートである。なお、実施例3の欠陥画素検出処理は、黒点となる画素を欠陥画素とみなす処理である。以下に、図6(a)、(b)、(c)及び図7を参照して実施例3の欠陥画素検出処理を説明する。
実施例3では、電子内視鏡200に照明光を照射したり、電子内視鏡200前面に明るい被写体を用意したりして欠陥画素検出処理を実行する。なお、このとき使用する照明光や被写体は、均一な輝度を有するものであることが好ましい。
実施例3では、CCD230は照明される為、その中で正常な画素は、例えば130程度の出力値を示し、白点となる画素は、高い出力値(例えば140)を出力する。また、黒点となる画素すなわち実施例3で欠陥画素とみなされる画素(図6(a)のa、bに対応する画素)は、正常な画素より低い出力値(例えば120)を出力している。従って、図6(a)の如くモニタ300には、全体的に略白い画像が表示され、僅かに黒い点像が表示される。
図6(b)のrth1及びrth2は、欠陥画素の判定に利用される閾値である。また、グラフ中に示された曲線は、各画素の出力値を示している。図6(b)のa、bは、図6(a)のa、bに対応したものであって、これらの画素の出力値を示したものである。また、図6(a)において一点鎖線で示された範囲は図6(b)のrange1に対応し、図6(a)において二点鎖線で示された範囲は図6(b)のrange2に対応している。ここで、range1,2は、それぞれ1水平ライン分の全有効画素に対する被検画素の範囲を示しており、range2はrange1よりも範囲が狭い。なお、実施例3では、実際には、矢印V方向に行をなす矢印H方向全ラインの画素の出力値を一括して検出するが、説明の便宜上、図3(b)では任意の1ラインの画素の出力値のみを示している。
図7に示したフローチャートを参照して実施例3の欠陥画素検出処理を説明する。実施例3の欠陥画素検出処理を開始する為には、先ず、プロセッサ100の切替スイッチ190を欠陥画素検出モードに切り替え、さらに、黒点となる欠陥画素を検出するモードを選択する。
実施例3の欠陥画素検出処理では、先ず、CPU130は、欠陥画素を検出する範囲に関わる変数nをn=1に設定する(S20)。次に、CCD230の各画素が黒点の欠陥画素であるか否かを判定する為の閾値rthを初期値R0(=160)に設定し(S21)、欠陥画素を検出する範囲を第nの範囲に設定する(S22)。ここで設定される第nの範囲とは、第1の範囲であって、図6に示したrange1に対応する範囲である。そして、初期値R0に設定された閾値rthに減分D(=2)を減算する(S23)。次に、S23の処理で減算された閾値rthを用いて、CCD230の各画素が黒点となる欠陥画素であるか否かを判定する(S24)。このとき第1の範囲の境界近傍に位置する画素はモニタ300の中心部に位置する画素と比べて受光量が少ない為、その出力値は、閾値rthを下回る傾向にある。従って、該境界近傍に位置する画素(例えば境界から4画素以内の画素)は、その出力値に関わらず欠陥画素とみなさない。例えば、閾値rthがrth2の場合には、画素a、b、及び該境界近傍に位置する画素から該境界より少し離れた箇所に位置する画素までの出力値がrth2より小さい。従って、画素a、b、及び該境界より少し離れた箇所に位置する画素が欠陥画素と判定される(図6(c)参照)。
次に、CPU130は、S24の処理において欠陥画素と判定された画素が8画素以下か否かを判定する(S25)。欠陥画素と判定された画素が8画素より多い場合(S25:NO)、現在設定している閾値rthが高すぎる為、欠陥画素と判定され得る各画素を特定できていない。従って、CPU130は、S23の処理に戻り、再び閾値rthに減分Dを減算して該閾値rthを減少させ、欠陥画素検出処理を続行させる。また、欠陥画素と判定された画素が8画素以下の場合(S25:YES)、該検出された画素が0か否かを判定する(S26)。該検出された画素が0の場合(S26:NO)、CPU130は、S28の処理に進む。また、該検出された画素が0でない場合(S26:YES)、CPU130は、これらの画素のアドレスを、接続中の電子内視鏡のID情報と関連付けて、メモリ132に記憶させ(S27)、S28の処理に進む。
次に、メモリ132内に格納されている欠陥画素のアドレスが第(n+1)の範囲(n=1の場合、第2の範囲であって、図6に示したrange2に対応する範囲)内に位置する画素から欠陥画素が検出されたか否かを判定する(S28)。第(n+1)の範囲内で欠陥画素が検出されている場合(S28:YES)、CPU130は、欠陥画素検出処理を終了させる。これは、周辺光量の低下が比較的小さい場合、今回の検出範囲(range1)の検査で、すでに中心部を含むより狭い範囲(range2)内の欠陥画素を検出しているので、再度中心部へ寄った狭い範囲での検査を実行する必要性がないからである。よって、欠陥画素検出動作の迅速化が図れる。
また、第(n+1)の範囲内で欠陥画素が検出されていない場合(S28:NO)、CPU130は、変数nが2より小さいか否かを判定する(S29)。例えば欠陥画素検出を行った範囲が第2の範囲である場合には変数nは2である為(S29:NO)、CPU130は、欠陥画素検出処理を終了させる。一方、例えば欠陥画素検出を行った範囲が第1の範囲である場合には変数nは1、すなわち変数nは2より小さい為(S29:YES)、CPU130は、変数nに1を加算し(S30)、S21の処理に戻る。そして今度は前回の第1の範囲より狭い第2の範囲内の各画素に関する欠陥画素検出処理を実行する。この動作について説明する。一般に、画像上で注目されるのは、やはり画像の中心付近であるから、画像の周辺部に位置する画素に比べて中心部に位置する画素を優先的に補正した方がより好ましい。しかしながら、周辺光量の低下が比較的大きい場合、画像の中心付近の欠陥画素を検出できるように閾値を設定すると、第1範囲内の端部周辺に位置する多くの正常な画素の出力値がその閾値を下回るので、これらの正常な画素が欠陥画素として誤検出されてしまう。このため、欠陥画素が中央付近にあったとしても、これを欠陥画素として正しく検出することができない。(例えば、図6bにおいて、設定閾値がrth1だとすると、画素a,bの出力値は閾値rth1よりも大きいので、欠陥画素として検出できない)。すなわち、欠陥画素の検出は、中央付近ほど優先されるべきであるにもかかわらず、このような中心部近傍の欠陥画素の検出エラーを生じる恐れがある。そこで、本実施形態においては、このような検出エラーを防止すべく、被検査範囲を画像中央寄りに段階的に狭くして、再度欠陥画素の検出を行うようにしている。
なお、上述した欠陥画素を検出する範囲は適宜設定するものである。例えば、第1の範囲は、CCD230中心部を中心とした範囲であって、全範囲の80%に設定された範囲であってもよいし、第2の範囲は、それよりも狭い60%の範囲に設定された範囲であってもよい。また、対物レンズはその種類によって特性が異なる為、対物レンズを透過した光の、固体撮像素子に対する輝度分布もそれぞれ異なる。従って、対物レンズの特性に応じて欠陥画素を検出する範囲を適宜設定してもよい。また、実施例3では欠陥画素を検出する範囲は2通りであるが、他の実施例では該範囲は2通りに限らず状況で応じて適宜設定してよい。
図8(a)は、実施例4のCCD230の欠陥画素検出処理時におけるモニタ300の表示状態を示した図である。また、図8(b)は、図8(a)に対応するCCD230の各画素の出力値と閾値との関係を示したグラフである。また、図9は、実施例4のCPU130による欠陥画素検出処理を示したフローチャートである。また、図10は、図9に示した欠陥画素検出処理のサブルーチンであり、黒点判定処理(S46の処理)を示したフローチャートである。なお、実施例4の欠陥画素検出処理は、黒点となる画素を欠陥画素とみなす処理である。以下に、図8(a)、(b)、図9、及び図10を参照して実施例4の欠陥画素検出処理を説明する。
実施例4では、電子内視鏡200に均一な照明光を照射したり、電子内視鏡200前面に均一な輝度を有する被写体を用意したりして欠陥画素検出処理を実行する。この実施例4では、CCD230は照明される為、その中で正常な画素及び白点となる画素は、高い出力値(例えば140)を出力する。また、黒点となる画素すなわち実施例4で欠陥画素とみなされる画素(図8(a)のa〜dに対応する画素)は、正常な画素より低い出力値(例えば120)を出力している。従って、図8(a)の如くモニタ300には、全体的に略白い画像が表示され、僅かに黒い点像が表示される。
図8(b)のrf1、rf2、及びrf3は、欠陥画素の判定に利用される閾値である。また、グラフ中に示された曲線は、水平1ライン分の各画素の出力値を示している。図8(b)のa〜dは、図8(a)のa〜dに対応したものであって、これらの画素の出力値を示したものである。図8(a)のラインAは、矢印H方向に伸長した1つのラインであり、画素b及びcを含んでいる。また、図8(a)のラインBは、矢印H方向に伸長した1つのラインであり、画素a及びdを含んでいる。また、図8(a)において二点鎖線で示された範囲は図8(b)のrange1に対応し、図8(a)において一点鎖線で示された範囲は図8(b)のrange2に対応し、図8(a)において点線で示された範囲は図8(b)のrange3に対応している。range1,2、3は、それぞれ1水平ライン分の全有効画素に対する被検画素の範囲を示しており、range3、range2、range1の順に広い。なお、実施例4では、実際には、矢印V方向に行をなす矢印H方向全ラインの画素の出力値を一括して検出するが、説明の便宜上、図8(b)ではラインA及びラインBの画素の出力値のみを示している。
図9及び図10に示したフローチャートを参照して実施例4の欠陥画素検出処理を説明する。実施例4の欠陥画素検出処理を開始する為には、先ず、プロセッサ100の切替スイッチ190を欠陥画素検出モードに切り替え、さらに、黒点となる欠陥画素を検出するモードを選択する。
実施例4の欠陥画素検出処理では、先ず、CPU130は、各パラメータを初期化する(S41)。具体的には、黒点検出を実行した回数をカウントするカウンタvcを0に設定し、検出された黒点の総数vnを0に設定し、CCD230の各画素が黒点の欠陥画素であるか否かを判定する為の閾値rrを初期値R0(=192)に設定し、水平方向の検出範囲vhを初期値Ah0(=684)に設定し、垂直方向の検出範囲vvを初期値Av0(=684)に設定する。なお、水平及び垂直方向の検出範囲の定義域は、0〜1023となっている。また、これらの検出範囲は、画像の中心から上下及び左右均等に振り分けられた範囲である。
次に、初期値Ah0に設定された水平方向の検出範囲vhに加分Ah(=84)を加算し、初期値Av0に設定された垂直方向の検出範囲vvに加分Av(=84)を加算する(S42、図8参照)。次に、閾値rrを引き下げる為、減分Rs(=16)を減算(S43)。次に、S43の処理で減算された閾値rrを用いて、CCD230の各画素が黒点となる欠陥画素であるか否かを判定する(S44)。例えば、閾値rrがrf1の場合には、画素b、cの出力値がrf1より小さい。従って、ここでは画素b、cが欠陥画素と判定される(図8(b)参照)。
次に、CPU130は、S44の処理において欠陥画素と判定された画素(=nb)が8画素より少ないか否かを判定する(S45)。このとき欠陥画素と判定された画素が8画素以上の場合(S45:NO)、現在設定している閾値rrが高すぎる為、欠陥画素と判定され得る各画素を特定できていない。従って、CPU130は、S43の処理に戻り、再び閾値rrに減分Rsを減算して該閾値rrを減少させ、欠陥画素検出処理を続行させる。また、欠陥画素と判定された画素が8画素より少ない場合(S45:YES)、CPU130は、S46に進み、より細かく閾値を設定することによって高い精度で黒点となる欠陥画素を検出する処理(図10のフローチャート)を実行する。以下に、図10に示した黒点検出処理を説明する。
S46すなわち図10の処理が開始されると、CPU130は、閾値rfを初期値rrに設定する(S61)。次に、初期値rrに設定された閾値rfに増分Ra(=2)を加算する(S62)。そしてS62の処理で加算された閾値rfを用いて、CCD230の各画素が黒点となる欠陥画素であるか否かを判定する(S63)。
次に、CPU130は、現在設定されている検出範囲の境界近傍で、閾値rfを下回る出力値を有する画素、すなわち黒点である可能性のある画素が検出されたか否かを判定する(S64)。境界近傍で黒点となる画素が検出されていなかった場合(S64:NO)、現在設定している閾値rfが低すぎる為、CPU130は、S62の処理に戻り、再び閾値rfに増分Raを加算して該閾値rfを増加させ、欠陥画素検出処理を続行させる。
また、境界近傍で黒点となる画素が検出された場合(S64:YES)、CPU130は、閾値を、S62の処理を実行する前の閾値に戻す(S65)。すなわち現在の閾値rfに減分Raを減算する。そして黒点判定処理を実行する(S66)。なお、このときの閾値は、検出範囲の境界近傍に配置された画素であって、受光量不足により閾値を下回る画素の出力値と、略同等の値になる。この値は、CCD230周辺部の光量不足により出力が低い画素を欠陥画素として検出してしまうという誤検出を防ぐことができることから最適値に近い値であるといえる。
次に、CPU130は、上述した誤検出を確実に防止する意味で、境界近傍で黒点と判定された画素を、黒点とみなさない(S67)。すなわち境界近傍の画素は、正常な画素と判断する。そして今回の処理(図10のフローチャート)で検出された黒点の数nfを、現在までに検出された黒点の総数vnに加算し(S68)、図9のフローチャートのS47の処理に進む。
S47の処理では、CPU130は、S46の処理が実行された回数をカウントする。すなわちS46の処理が実行される度に、カウンタvcを1インクリメントする。その後、CPU130は、カウンタvcが4より小さいか否かを判定する(S48)。カウンタvcが4以上の場合(S48:NO)、CPU130は、黒点の総数vnが0か否かを判定する(S50)。黒点の総数vnが0の場合(S50:NO)、CPU130は、欠陥画素検出処理を終了させる。また、黒点の総数vnが0でない場合、すなわち本処理で黒点が検出された場合(S50:YES)、CPU130は、黒点が検出された画素のアドレスを、接続中の電子内視鏡のID情報と関連付けて、メモリ132に記憶させ(S51)、欠陥画素検出処理を終了させる。
カウンタvcが4より小さい場合(S48:YES)、CPU130は、黒点の総数vnが8以上であるか否かを判定する(S49)。黒点の総数vnが8より小さい場合(S49:N)、CPU130は、S42の処理に戻り、検出範囲を前回より広げて、欠陥画素検出処理を続行させる。また、黒点の総数vnが8以上である場合(S49:YES)、CPU130は、黒点が検出された画素のアドレスを、接続中の電子内視鏡のID情報と関連付けて、メモリ132に記憶させ(S51)、欠陥画素検出処理を終了させる。
実施例4の欠陥画素検出方法は、実施例3の方法と比較して、画像中心部の欠陥画素をより優先的に検出している。これにより、観察作業に最も用いる画像中心部が優先的に鮮明になる為、術者は、診断及び治療に集中することができる。
以上が本発明の実施形態である。本発明はこれらの実施形態に限定されるものではなく様々な範囲で変形が可能である。例えば、上記実施形態において、プロセッサ100側に配置されている検出回路145や欠陥画素用メモリ148、補正回路146を電子内視鏡200側に設けてもよい。
本発明の実施形態の電子内視鏡装置を示すブロック図である。
本発明の実施形態の構成要素であるDSPの構成を示したブロック図である。
実施例1のCCDの各画素の出力値と閾値との関係を示した図である。
実施例1のCPUによる欠陥画素検出処理を示したフローチャートである。
実施例2のCPUによる欠陥画素検出処理を示したフローチャートである。
実施例3のCCDの各画素の出力値と閾値との関係を示した図である。
実施例3のCPUによる欠陥画素検出処理を示したフローチャートである。
実施例4のCCDの各画素の出力値と閾値との関係を示した図である。
実施例4のCPUによる欠陥画素検出処理を示したフローチャートである。
図9に示した欠陥画素検出処理のサブルーチンであり、黒点判定処理を示したフローチャートである。
符号の説明
10 電子内視鏡装置
100 プロセッサ
130 CPU
140 DSP
200 電子内視鏡
220 対物レンズ
230 CCD