(58)【調査した分野】(Int.Cl.,DB名)
前記列ベクトル及び前記二次元分散行列を、前記画素アレイと関連付けられた参照画素とによって導入されるオフセットを表わす参照画像に基づいて決定することを特徴とする請求項1又は2に記載の方法。
前記列ベクトルは、第1の周囲温度で得られた第1の参照画像に基づく第1の列ベクトルと第2の周囲温度で得られた第2の参照画像に基づく第2の列ベクトルとの差を表わし、
前記二次元分散行列は、前記第1の参照画像に基づく第1の分散行列と前記第2の参照画像に基づく第2の分散行列との差を表わすことを特徴とする請求項1又は2に記載の方法。
前記補正画像に基づいて、前記補正画像に残る列アーティファクトを除去するための少なくとも1つの列補正オフセット値を決定することを特徴とする請求項1乃至6のいずれかに記載の方法。
前記少なくとも一部の画素の各々の近隣画素の均一性の推定結果は、近隣画素毎に計算された勾配値及び水平方向の分散値に基づいていることを特徴とする請求項8に記載の方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像のオフセット補正の原因である画素アレイの画素間の空間的な非均一性は、経時的に変わるだけでなく、温度に応じても変わる。この問題は一般に、撮像デバイスの内部のメカニカルシャッタを使用して対処されており、次に較正に使用され得る比較的一定のシーンの参照画像を得るためにシャッタが閉じている間に画像を周期的に取り込むことを含んでいる。しかしながら、更なる重量及びコスト、並びにシャッタの壊れ易さのようなシャッタを使用する欠点が複数ある。更にある適用では、シャッタが閉じて較正が行われている間に失われる時間のため、シャッタの使用は受け入れ難い。この較正期間中、シーンの画像を取り込むことができない。
【0005】
オフセット補正を行うための画像処理技術が、シャッタの使用の代案として提案されている。しかしながら、既存の技術は複雑であり且つ/又は画像を適切に補正していない。従って、本技術分野では、赤外線画像のオフセット補正の改良された方法が必要である。
【0006】
先行技術における一又は複数の必要性に少なくとも部分的に対処することが本明細書の実施形態の目的である。
【課題を解決するための手段】
【0007】
一態様によれば、画像処理方法において、処理デバイスによって、対応する参照画素に夫々関連付けられた複数の画素列を有して赤外線を感知可能な画素アレイによって取り込まれる入力画像を受けて、該入力画像と前記参照画素によって導入される列分散を表わす列ベクトルとに基づいて、前記入力画像に存在する前記列分散のレベルを推定することにより第1のスケール因子を決定し、該第1のスケール因子と前記列ベクトルの値との積に基づいて列オフセット値を生成し、前記入力画像と前記画素アレイによって導入される二次元分散を表わす二次元分散行列とに基づいて、前記入力画像に存在する前記二次元分散のレベルを推定することにより第2のスケール因子を決定し、該第2のスケール因子と前記二次元分散行列の値との積に基づいて画素オフセット値を生成し、前記列オフセット値及び前記画素オフセット値を適用して補正画像を生成し、前記第1のスケール因子を以下の式に基づいて決定することを特徴とする方法を提供する。
【0008】
【数1】
【0009】
一実施形態によれば、前記方法では、前記列オフセット値に基づいて補正された第1の画像を生成し、前記第2のスケール因子を前記第1の画像に基づいて生成する。
【0010】
一実施形態によれば、前記方法では、前記列ベクトル及び前記二次元分散行列を、前記画素アレイと関連付けられた参照画素とによって導入されるオフセットを表わす参照画像に基づいて決定する。
【0011】
一実施形態によれば、前記方法では、前記補正画像を、I
c'=I
B(x,y)−αI
COL(x,y)−βI
DISP(x,y)の式に基づいて生成し、I
c' は前記補正画像であり、I
B(x,y)は前記入力画像であり、αは前記第1のスケール因子であり、I
COL(x,y) は、前記列ベクトルをその行の各々に有する行列であり、βは前記第2のスケール因子であり、I
DISP(x,y)は前記二次元分散行列である。
【0012】
一実施形態によれば、前記方法では、前記列ベクトルは、第1の周囲温度で得られた第1の参照画像に基づく第1の列ベクトルと第2の周囲温度で得られた第2の参照画像に基づく第2の列ベクトルとの差を表わし、前記二次元分散行列は、前記第1の参照画像に基づく第1の分散行列と前記第2の参照画像に基づく第2の分散行列との差を表わす。
【0013】
一実施形態によれば、前記補正画像を以下の式に基づいて生成する。
【0014】
【数2】
【0015】
一実施形態によれば、前記方法では、前記補正画像に基づいて、前記補正画像に残る列アーティファクトを除去するための少なくとも1つの列補正オフセット値を決定する。
【0016】
一実施形態によれば、前記方法では、前記少なくとも1つの列補正オフセット値を決定する際に、前記補正画像の画素の少なくとも一部の画素毎に、前記少なくとも一部の画素の各々の近隣画素の均一性の推定結果に基づいて重みを決定し、前記少なくとも一部の画素毎に、隣り合う列の対応する行における画素値に関する差を計算し、該差を前記重みによって重み付けし、重み付けされた差を列毎に積分し、前記少なくとも1つの列補正オフセット値を生成する。
【0017】
一実施形態によれば、前記方法では、前記少なくとも一部の画素の各々の近隣画素の均一性の推定結果は、近隣画素毎に計算された勾配値及び水平方向の分散値に基づいている。
【0018】
一実施形態によれば、前記方法では、前記第1のスケール因子を決定する際に、前記入力画像の行に沿って高域通過フィルタを適用し、前記列ベクトルに前記高域通過フィルタを適用し、フィルタ処理された画像の列平均値を決定し、フィルタ処理された画像の列平均値と前記列ベクトルのフィルタ処理された値との差の最小化に基づいて、前記第1のスケール因子を決定する。
【0019】
一実施形態によれば、前記方法では、前記第2のスケール因子を決定する際に、前記入力画像の画素毎に、且つ前記二次元分散行列の要素毎に、少なくとも1つの隣接画素に基づいて勾配値を決定し、前記入力画像の勾配値と前記二次元分散行列の勾配値との差の最小化に基づいて、前記第2のスケール因子を決定する。
【0020】
一実施形態によれば、前記方法では、前記第2のスケール因子を以下の式に基づいて決定する。
【0021】
【数3】
【0022】
一実施形態によれば、前記方法では、前記列オフセット値及び前記画素オフセット値を更なる入力画像に適用する。
【0023】
一実施形態によれば、前記方法では、以下の最小化問題を解決することにより、前記補正画像にゲイン補正を行うためのゲイン補正値γを決定する。
【0024】
【数4】
【0025】
更なる態様によれば、画像処理方法において、処理デバイスによって、対応する参照画素に夫々関連付けられた複数の画素列を有して赤外線を感知可能な画素アレイによって取り込まれる入力画像を受けて、該入力画像と前記参照画素によって導入される列分散を表わす列ベクトルとに基づいて、前記入力画像に存在する前記列分散のレベルを推定することにより第1のスケール因子を決定し、該第1のスケール因子と前記列ベクトルの値との積に基づいて列オフセット値を生成し、前記入力画像と前記画素アレイによって導入される二次元分散を表わす二次元分散行列とに基づいて、前記入力画像に存在する前記二次元分散のレベルを推定することにより第2のスケール因子を決定し、該第2のスケール因子と前記二次元分散行列の値との積に基づいて画素オフセット値を生成し、前記列オフセット値及び前記画素オフセット値を適用して補正画像を生成し、前記第2のスケール因子を以下の式に基づいて決定することを特徴とする方法を提供する。
【0026】
【数5】
【0027】
更なる態様によれば、列ベクトル及び二次元分散行列を記憶するメモリと、対応する参照画素に夫々関連付けられた複数の画素列を有して赤外線を感知可能な画素アレイによって取り込まれる入力画像を受けて、該入力画像と前記参照画素によって導入される列分散を表わす列ベクトルとに基づいて、前記入力画像に存在する前記列分散のレベルを推定することにより第1のスケール因子を決定し、該第1のスケール因子と前記列ベクトルの値との積に基づいて列オフセット値を生成し、前記入力画像と前記画素アレイによって導入される二次元分散を表わす二次元分散行列とに基づいて、前記入力画像に存在する前記二次元分散のレベルを推定することにより第2のスケール因子を決定し、該第2のスケール因子と前記二次元分散行列の値との積に基づいて画素オフセット値を生成し、前記列オフセット値及び前記画素オフセット値を適用することにより補正画像を生成するように構成された処理デバイスとを備えており、前記第1のスケール因子を以下の式に基づいて決定することを特徴とする画像処理デバイスを提供する。
【0028】
【数6】
【0029】
更なる態様によれば、列ベクトル及び二次元分散行列を記憶するメモリと、対応する参照画素に夫々関連付けられた複数の画素列を有して赤外線を感知可能な画素アレイによって取り込まれる入力画像を受けて、該入力画像と前記参照画素によって導入される列分散を表わす列ベクトルとに基づいて、前記入力画像に存在する前記列分散のレベルを推定することにより第1のスケール因子を決定し、該第1のスケール因子と前記列ベクトルの値との積に基づいて列オフセット値を生成し、前記入力画像と前記画素アレイによって導入される二次元分散を表わす二次元分散行列とに基づいて、前記入力画像に存在する前記二次元分散のレベルを推定することにより第2のスケール因子を決定し、該第2のスケール因子と前記二次元分散行列の値との積に基づいて画素オフセット値を生成し、前記列オフセット値及び前記画素オフセット値を適用することにより補正画像を生成するように構成された処理デバイスとを備えており、前記第2のスケール因子を以下の式に基づいて決定することを特徴とする画像処理デバイスを提供する。
【0030】
【数7】
【0031】
前述及び他の特徴及び利点は、添付図面を参照して限定ではなく例示として与えられる本実施形態の以下の詳細な記載から明らかになる。
【発明を実施するための形態】
【0033】
以下の記載における実施形態の内の一部はマイクロボロメータタイプの画素アレイに関して述べられているが、本明細書に記載されている方法が、冷却式のデバイスを含む他のタイプのIR撮像デバイスに等しく適用され得ることは当業者にとって明らかである。
【0034】
図1は、赤外光を感知可能な画素アレイ102 を備えたIR撮像デバイス100 を示している。例えば、ある実施形態では、画素アレイは、7〜13μm の波長の光のような長波赤外光を感知可能である。
【0035】
図示を簡単にするために、12行及び12列に配置された144 の画素104 のみの画素アレイ102 が
図1に示されている。他の実施形態では、画素アレイ102 は、あらゆる数の行及び列の画素を有し得る。一般的には、画素アレイは、例えば640 ×480 の画素、又は1024×768 の画素を有する。
【0036】
画素アレイ102 の画素の各列は対応する参照構造体106 に関連付けられている。機能的には画素ではないが、この参照構造体は、撮像(又はアクティブ)画素104 との構造的な類似性によって「参照画素」と本明細書では称される。更に、出力ブロック108 が、画素アレイ102 の各列及び参照画素106 の各々に接続されており、生画像I
Bを与える。
【0037】
制御回路110 が、例えば画素アレイ102 、参照画素106 及び出力ブロック108 に制御信号を与える。生画像I
Bは例えば画像処理ブロック112 に与えられ、画像処理ブロック112 は、生画像の画素にオフセット及びゲインを適用して補正画像I
Cを生成する。
【0038】
図2は、撮像デバイスがマイクロボロメータである例に応じて、画素アレイ102 の2つの列C1,C2、これらの列に関連付けられた参照画素及び出力回路を更に詳細に示している。
【0039】
画素アレイ102 の画素の各列は夫々の列ライン202 に接続されている。例えば、各画素104 は、対応する列ライン202 と接地ノードとの間に直列に接続されたスイッチ204 、トランジスタ206 及びボロメータ208 を有している。
【0040】
ボロメータは本技術分野ではよく知られており、例えば基板の上方に掛け渡されてIR吸収物質の層を有する膜を含んでおり、膜は、ボロメータの抵抗が赤外線の存在に関連した膜の温度上昇によって変更する特性を有する。
【0041】
各行の画素のスイッチ204 は例えば共通の選択信号によって制御される。例えば、
図2では、第1の行の画素が制御信号S
1によって制御されて、第2の行の画素が制御信号S
2によって制御される。
【0042】
トランジスタ206 は、ボロメータの端部の一方で一定電圧を誘導して他方の端部を接地することにより、アクティブボロメータの電位降下を制御するためのバイアス電圧V
FIDをそのゲートで受けるNMOSトランジスタである。
【0043】
各列に関連付けられた参照画素106 は、対応する列ライン202 とスキミング電圧VSK との間で直列に接続されたトランジスタ210 及びブラインドボロメータ212 を有している。スキミング電圧VSK によって、ブラインドボロメータの一端部で一定電圧を誘導することにより、アクティブ画素及び参照画素によって形成されたボロメータブリッジの最も高い電位が設定される。トランジスタ210 は例えば、ブラインドボロメータの他端部で一定電圧を誘導することにより、ブラインドボロメータの電位降下を制御するためのバイアス電圧GSK をそのゲートで受けるPMOSトランジスタである。
【0044】
ブラインドボロメータ212 は、例えば画素アレイのアクティブボロメータ208 と同様の構造を有しているが、例えば反射壁から形成されたシールドによって及び/又は意図的なヒートシンキングによって、例えば基板に高熱伝導性を与えてボロメータを例えば基板と直接接触させて形成することによって画像シーンからの赤外線を感知しないように構成されている。
【0045】
各列ライン202 は、
図1の出力ブロック108 の出力回路を形成する部分に更に接続されている。
図2の例では、出力回路は夫々、対応する列ライン202 に接続された負入力端子と基準電圧V
BUSを受ける正入力端子とを有する容量性トランスインピーダンス増幅器(CTIA)214 を備えている。増幅器214 の出力は、列の出力電圧Voutを与える。コンデンサ216 及びスイッチ218 が、増幅器214 の負入力端子と出力端子との間に互いに並列に接続されている。
【0046】
画素アレイ102 の読取り操作中に、夫々の行の画素は、コンデンサ216 の電圧をリセットすべく出力ブロック108 の各出力回路のスイッチ218 を作動及び停止することにより、且つ読み取られるべき行の適切な制御信号S
1,S
2などを有効にすることにより例えば一度に1つずつ読み出される。参照画素の電流I
COMPとアクティブ画素の電流I
AC との差が、有限積分時間にコンデンサ216 によって積分されて、画素値を表わす出力電圧V
outが生成される。
【0047】
図3は、例示的な実施形態に応じて
図1の画像処理ブロック112 をより詳細に示している。
【0048】
画像処理ブロック112 の機能は例えばソフトウェアで実行され、画像処理ブロック112 は、命令メモリ304 に記憶された命令の制御下の一又は複数のプロセッサを有する処理デバイス302 を備えている。他の実施形態では、画像処理ブロック112 の機能は専用のハードウェアによって少なくとも部分的に実行され得る。このような場合には、処理デバイス302 は例えばASIC(特定用途向け集積回路)又はFPGA(フィールドプログラマブルゲートアレイ)を有しており、命令メモリ304 が省略されてもよい。
【0049】
処理デバイス302 は生入力画像I
Bを受けて補正画像I
Cを生成し、補正画像は、例えば撮像デバイスのディスプレイ(不図示)に与えられる。処理デバイス302 はデータメモリ306 に更に接続されており、データメモリ306 は、画素アレイ102 によって導入された構造的な列広がりを表わす列ベクトルV
COLと、画素アレイ102 によって導入された構造的な二次元非列分散を表わす二次元分散行列I
DISPとを記憶する。列広がりは例えば主に、各列の参照画素の行が一般的には完全に均一ではないけれども、各列の参照画素106 を使用することに起因する。二次元非列分散は、例えば技術的処理分散に起因する画素アレイのアクティブボロメータ間の局所的な物理的及び/又は構造的な差によって主に生じる。データメモリ306 は例えば、以下に更に詳細に述べるゲイン行列を更に記憶する。
【0050】
図4は、例示的な実施形態に係る画像処理方法の動作を示すフローチャートである。この画像処理方法は、例えば上記の画像処理ブロック112 によって実行される。
【0051】
生画像I
Bが
図1の画素アレイ102 によって取り込まれ、画素アレイは、画素アレイの各列が対応する参照画素に関連付けられていると仮定する。
【0052】
更に、列ベクトルV
COL及び二次元分散行列I
DISP が利用可能であると仮定する。列ベクトルV
COL及び二次元分散行列I
DISPを例えば、撮像デバイスの初期設定段階中に取り込まれる単一の参照画像I
REF(x,y) に基づいて生成する。参照画像は、例えば黒体源又は均一な放射性シーンの前で制御温度で取り込まれる画像である。主に一時的なノイズを取り除くために、参照画像は、例えば約50フレームのような複数のフレームを平均することにより得られる。この参照画像I
REF(x,y) は、例えば以下の式に従って構造的な列要素及び二次元分散要素を有するとみなされる。
【0054】
但し、I
COL(x,y) :画素アレイの列間の参照列広がりを表わす行列
I
DISP(x,y):画素アレイの画素毎の参照二次元分散を表わす二次元分散行列
【0055】
行列I
COLは、画像の列の数nに等しい長さを有する列ベクトルV
COLによって表され得る。例えば、行列I
COL(x,y) は画像の行の数に等しい数mの行を有しており、各行は列ベクトルV
COLを有する。列ベクトルV
COLの生成には例えば、参照画像I
REFを処理して列要素を抽出することが含まれる。列要素は例えば、列毎の列の画素値の平均値に等しい。二次元分散行列I
DISPの生成には例えば、参照画像の各画素値から対応する列広がり値V
COL(x) を減算することが含まれる。
【0056】
図4の第1のステップ401 では、生画像I
Bに関して、生画像I
Bの列広がりV
COLのレベルを表わすスケール因子αを決定する。一実施形態では、スケール因子αの値を、生画像I
Bの列要素I
COLの量の最小化に基づいて決定する。スケール因子αの値を以下の最小化関数として表現することができる。
【0058】
上記に示されているように、列ベクトルV
COL(x) が列毎に単一の値を定めるので、行列I
COL(x,y) は列ベクトルV
COL(x) として表され得る。この最小化問題の解決を容易にして計算を単純化するために、生画像I
Bを、例えば各列の平均をとることによりベクトルの形態に変換する。更に高域フィルタを、例えば画像に水平方向に、言い換えれば行の方向に適用し、更に列ベクトルV
COL(x) に適用する。その後、最小化問題を、例えば変換された画像の列の平均値に基づいて以下の通り計算する。
【0060】
但し、T() :列ベクトルV
COL及び入力画像I
B(x,y) に適用される高域フィルタ
m:画像の行の数
【0061】
例えば、フィルタ関数はT(X)=X*hpとして、言い換えれば行列Xの水平方向の高域フィルタhpとの畳込みとして定められる。一例では、フィルタ関数hpは、x方向の寸法に沿ってローカルウィンドウ内の中心画素に適用される係数[0.0456 -0.0288 -0.2956 0.5575 -0.2956 -0.0288 0.0456]によって定められる。より一般的には、フィルタは、例えば画像の垂直方向の縁部を鮮鋭化する、言い換えれば列ノイズを抽出するように構成された高域フィルタである。
【0062】
最小化問題を、例えばスケール因子αに関して以下の直接解法に基づいて解決する。
【0064】
言い換えれば、スケール因子αの決定には、例えば高域フィルタを生画像にその行に沿って適用して更に参照列ベクトルに適用し、フィルタ処理された画像の列平均値を決定し、その結果、参照列ベクトルと同一の大きさのベクトルを得て、その後、2つの列ベクトル間の差、つまりフィルタ処理された画像の列平均値とフィルタ処理された列ベクトルの列平均値との差の最小化としてスケール因子を決定することが含まれる。
【0065】
以下に更に詳細に述べるように、スケール因子αにより、画像に関して列オフセット値α・I
COL(x,y) を決定することができる。
【0066】
図4を再度参照すると、その後のステップ402 では、生画像I
Bに関して生画像の参照二次元分散行列I
DISP の寄与レベルを表すスケール因子βを決定する。
【0067】
スケール因子βを決定するために、取り込まれる画像は、例えば自然シーンの統計値を有する自然画像であり、画素間の局所的に高い変化量、つまり画素とその近隣画素との変化量が一定の二次元分散の結果であると仮定する。スケール因子βの値を、例えば全体画像に亘るこの分散の影響を減らすように決定する。採用された手法では、例えば以下の式に基づいて画像内の全変化量(TV)を最小化する。
【0069】
但し、▽()は画素勾配値である。最小化問題の適した近似法として、スケール因子βを例えば以下の式の最小化として処理する。
【0071】
このような最小化問題を、例えばスケール因子βに関する以下の直接解法に基づいて解決する。
【0073】
但し、▽
x :画像の水平方向の、言い換えれば各行に沿った隣接画素間の画素勾配値
▽
y :画像の垂直方向の、言い換えれば各列に沿った隣接画素間の画素勾配値
【0074】
従って、ステップ402 には、生入力画像の画素毎に、且つ参照二次元分散行列の要素毎に少なくとも1つの隣接画素に基づいて勾配値を決定して、生入力画像の勾配値と参照二次元分散行列の勾配値との差の最小化に基づいてスケール因子βを決定することが含まれる。
【0075】
この例では、スケール因子βを生画像I
Bに基づいて決定する。しかしながら、他の実施形態では、列オフセット値α・I
COL(x,y) を除去した後にスケール因子βを画像に基づいて決定することができる。従って、スケール因子βに関する直接解法は以下のようになる。
【0077】
但し、I
CC:各画素(x,y) が例えばI
cc(x,y)=I
B(x,y)−α×I
COL(x,y)の式に基づいて補正された画像
I
COL(x,y) :列ベクトルV
COL(x) をその行の各々に有する行列
【0078】
ある実施形態では、ステップ402 の計算の際に、上側閾値未満の画素勾配値のみを考慮する。実際には、例えば、非常に高い勾配値が画像内のシーンに関する縁部に相当すると仮定する。例えば、この上側閾値を、参照二次元分散行列I
DISPに関して計算された最も高い勾配値の約3倍であるように選択する。
【0079】
その後のステップ403 では、α・I
COL(x,y) に等しい列オフセット値と、β・I
DISP(x,y)に等しい画素オフセット値とに基づいて補正画像I
C' を生成する。例えば、補正画像をI
c' =I
B(x,y)−αI
COL(x,y)−βI
DISP(x,y)の式を用いて計算する。
【0081】
ある実施形態では、ステップ401 〜ステップ403 で十分なオフセット補正を行ってもよく、この場合、補正画像I
C' を
図1の画像処理ブロック112 の出力で画像I
Cとして与える。他の実施形態では、例えば追加のステップ404 及び/又は追加のステップ405 を続いて行って、最終画像I
Cを生成する。
【0082】
ステップ404 では、例えば、補正画像I
C' から画像補正係数γを減算して、その結果の各画素値にゲイン行列を乗算する前に、補正画像I
C' から画像補正係数γを計算することによりゲイン補正を補正画像に適用する。例えば、以下の最小化問題を解決することによりこのゲイン補正値である画像補正係数γを得る。
【0084】
従って、画像補正係数γに関する直接解法が以下のようになる。
【0086】
このようなゲイン行列を、例えば当業者にとって通常のことであるように、黒体源のような均一源の前で2つの異なる温度で取り込まれた2つの参照画像間の差から決定する。
【0087】
その後、補正画像のゲイン行列との乗算に基づいて補正画像I
C" を生成する。例えば、補正画像I
C" を、I
C"=(I
C'−γ)×Gainの式を用いて計算する。
【0088】
ステップ405 では、例えば画像に残る列残余及び/又は分散残余のようなオフセット残余を除去する。
【0089】
図5は、更なる例示的な実施形態に係る画像のオフセット補正の方法のステップを示すフローチャートである。
【0090】
処理ブロック(αを計算する)502 に表されているように、例えば入力画像I
B及び列ベクトルV
COLを使用して、スケール因子αを生成する。その後、列ベクトルV
COLにスケール因子αを乗算して、列オフセット値α・V
COL(y) を生成する。その後、これらのオフセット値を生画像I
Bから減算して列広がり補正画像I
CC を得る。
【0091】
処理ブロック(βを計算する)504 に表されているように、例えば列広がり補正画像I
CC 及び二次元分散行列I
DISPを使用して、スケール因子βを生成する。次に、二次元分散行列I
DISP にスケール因子βを乗算して、画素オフセット値β・I
DISP(x,y)を生成する。その後、これらのオフセット値を列広がり補正画像I
CCから減算して補正画像I
C' を生成する。
【0092】
更に、列オフセット値α・V
COL(y) 及び画素オフセット値β・I
DISP(x,y)を共に加算して、参照画像オフセット値(RIオフセット値)506 を得る。
【0093】
図5には示されていないが、その後、
図4のステップ404 に関して上述されているようなゲイン補正を補正画像I
C' に任意に適用して、画像補正係数γを画像に適用する。
【0094】
処理ブロック508 に表わされているように、その後、列残余補正値(CRオフセット値)510 及び列残余補正画像I
CRを生成するために、例えば補正画像I
C' に基づいて列残余補正を行う。実際には、各列の回路に関連付けられたあるオフセットが画像に存在し続けて、画像中で目に見える垂直方向のストライプになる可能性がある。例えば列残余補正を行ってこのような列アーティファクトを除去する。
【0095】
処理ブロック512 によって表わされているように、その後、例えば列残余補正画像I
CRに基づいて二次元分散残余補正を行い、二次元分散残余オフセット値(DRオフセット値)514 を生成する。分散残余補正を、例えばエッジを保存してノイズを除去する平滑化フィルタ、例えば異方性拡散フィルタを用いて行う。
【0096】
図5の例では、参照画像オフセット値506 、列残余オフセット値510 及び分散残余オフセット値514 を共に合算して、画像に適用されるべき合算されたオフセット値SOV(x,y)を得る。その後、これらのオフセット値SOV(x,y)を生画像I
Bから減算する。しかしながら、合算されたオフセット値SOV(x,y)を決定することによる利点は、このようなオフセット値がこれらのオフセット値を生成すべく使用される画像とは異なる画像に適用されてもよいということである。例えば、生画像I
Bが撮像デバイスによって取り込まれたビデオシーケンスのフレームであるという場合、例えばシーケンス中のその後の画像からオフセット値SOV(x,y)を減算する。このため、取り込まれた生画像と利用可能な補正画像との時間遅延が低減される。
【0097】
他の実施形態では、参照画像オフセット値506 を現在の生画像又は後続の生画像に適用し、その結果得られた補正画像I
C' にゲイン補正を行い、列残余オフセット値及び分散残余オフセット値を例えばゲイン補正画像に適用する。
【0098】
図5のステップ508 で行われる列残余補正を、
図6及び7のフローチャートを参照して更に詳細に述べる。
【0099】
図6は、画像に、例えば上記の処理によって得られる補正画像I
Cに適用されるべき列残余オフセット値を計算する方法のステップを示すフローチャートである。これらのステップを、例えば上記に述べた
図3の画像処理ブロック112 によって実行する。
【0100】
第1のステップ601 では、画素の近隣画素によって定められた画像の局所ゾーンの均一性の推定結果に基づいて、画像の各列の画素毎に重みw
x,yを計算する。列間の差異が構造的な(一定の)列残余によるものである可能性が高くなるにつれて、均一性が高くなり、画素に関連付けられた重みが大きくなる。例えば、その計算は、対象の画素を含む9×3の近隣画素に画素毎に基づいており、言い換えれば、対象の画素の左側及び右側の4つまでの画素と対象の画素の上下の1つまでの画素とにより定められた矩形状のゾーンに画素毎に基づいている。例えば各画素の近隣画素に関して局所勾配及び水平方向の局所分散を計算することにより均一性を推定する。ある実施形態では、より詳細には以下に述べるように、低域フィルタによって列を垂直方向にフィルタ処理した後、重みを画像に基づいて計算する。
【0101】
その後のステップ602 では、対応する重みによって各列と次の列との平均差を重み付けして、列毎に対応する列/列オフセット値▽Col
w(x) を得る。例えば、列/列オフセットベクトル▽Col
w(x)を以下の式に基づいて決定する。
【0103】
但し、w
x,y:上記のステップ601 で計算された重み
I
x+1,y:次の列x+1の位置yにおける画素値
I
x,y:現在の列xの位置yにおける画素値
言い換えれば、各列/列オフセット値▽Col
w(x) は、列xの画素値と列x+1 の画素値との重み付けされた差の平均値として決定される。行の最後の列オフセット値は、例えば0に設定される。
【0104】
更なるステップとして、列/列オフセットが単に列と次の列との前方オフセットを表わすので、オフセットベクトルの各項を、例えば後方に積分する。つまり最後から2番目の項から始めて第1の項に達するまで各列オフセット値を前の列オフセット値に累積的に加算することにより積算し、OffCol(n)=0及びOffCol(x−1)=OffCol(x)+▽Col
w(x−1)の式を用いて最終列オフセット項OffCol(x) を得る。
【0105】
これらのオフセット値は例えば、
図5に510 が付された列残余オフセット値を与え、このような列残余オフセット値は例えば他のオフセット値と合算されて、生画像I
B又はその後の生画像から減算されるべき合算されたオフセット値SOV(x,y)を得る。或いは、その後のステップ603 で、クリアな画像I
CRを生成するために列広がりV
COL及び二次元分散行列I
DISP に基づいて既に補正されている補正画像I
C' にオフセット値を適用する。更に
図6の破線の矢印によって表わされているように、ある実施形態では、より構造的な列残余を除去するために、ステップ601 及びステップ602 を、生成されたクリアな画像に基づいて一又は複数回繰り返す。
【0106】
図7は、例示的な実施形態に応じて
図6のステップをより詳細に示すフローチャートである。
【0107】
図示されているように、画素が存在するゾーンの均一性に基づいて重みを計算する
図6のステップ601 は、例えばサブステップ701 〜サブステップ704 を有する。
【0108】
サブステップ701 には、画像の列に沿って低域フィルタを垂直方向に適用することが含まれる。このような低域フィルタを適用することにより、例えば画像センサに固有の固定パターンノイズ(FPN )の影響を減らす。このフィルタ処理ステップは任意である。フィルタは、例えばカーネルサイズwG及びその標準偏差σにより定められるガウスフィルタである。一例では、フィルタは9のカーネルサイズwG及び2の標準偏差を有する。
【0111】
但し、G
x及びG
y:夫々x及びyのソーベル演算子
I:例えばサブステップ701 でフィルタ処理された後の画像
【0114】
サブステップ703 では、例えば以下の式に基づいて水平方向の局所分散の値及び局所勾配の値の各々に水平方向の形態的拡張を行う。
【0117】
水平方向の形態的拡張は、シーンの高コントラストの垂直構造体の存在下で高い水平方向の勾配値及び/又は高い分散値を有するゾーンの影響を水平方向に近隣画素まで広げることにより、(通常光学収差によって引き起こされる)重み計算へのボケの影響を減らすという効果を有する。
【0120】
或いは、勾配値及び分散値にスカラを適用することにより勾配値及び分散値に異なる影響を与えることができる。例えば、以下の式によって重みを決定する。
【0122】
但し、a及びbはスカラであり、例えばa+b=1である。例えば、bをaより大きいように、例えば5倍以上大きいように選択することにより、水平方向の分散影響を適用することができる。
【0123】
図7を再度参照すると、重みw
x,yは重みマップ705 を形成する。ある実施形態では、重みを画像の全ての画素毎に計算する一方、他の実施形態では、計算時間を短縮するために、ある画素のみに、例えば画像の1行おき、2行おき又は3行おきの画素に重みを加えるようにサブステップ701 〜サブステップ704 を適合することが可能である。
【0124】
その後のステップは
図6のステップ602 であり、このステップでは、列/列オフセット値▽Col
w(x) を例えば上記に記載の以下に示す式に基づいて決定する。
【0126】
項(I
x+1,y−I
x,y)は、列xと列x+1 との前方差分であり、例えば、
図7のステップ706 で補正画像I
C' に基づいて計算される。ある実施形態では、ある閾値未満の前方差分のみが、所与の列の平均を計算する際に対象となる。実際、ある閾値を超えた値が、除去されるべきでない画像シーンの垂直方向の縁部を表わすとみなされ得る。例えば一列と次の列との最大予想列差より僅かに大きいように閾値を選択する。その後、オフセット値OffCol(x) を、上記に説明されているように例えば列/列オフセット値▽Col
w(x) を積分することにより計算する。
【0127】
上述したように、ステップ603 でベクトルのオフセット値OffCol(x) を例えば補正画像I
C' から減算して、列アーティファクトが画像から取り除かれたクリアな画像I
CR を生成するか、又は、オフセット値を
図5に表わされているように他のオフセット値に加算することができる。
【0128】
本明細書に述べられているようなオフセット補正方法の利点は、メカニカルシャッタの使用を必要とせず、非常に効果的であると分かっていることである。
【0129】
特に、本明細書に述べられているタイプの画素アレイでは、温度による画素及び参照画素の変化量がアレニウス式に従い、活性化エネルギーが全ての画素で基本的には同一であり、基本的には全ての参照画素で同一であり、画素間分散が各画素について記述するアレニウス式の一定の前因子内に完全に又は少なくとも基本的に含まれているとみなされ得ることを意味すると本発明者らは見出した。従って、画素アレイによって導入されるオフセットを一次元要素及び二次元要素に分解して、スケール因子α及びスケール因子βを誘導してこれらの要素を表わすことにより、効果的なオフセット補正が、メカニカルシャッタを使用することなく達成され得る。
【0130】
このように少なくとも1つの例示的な実施形態について述べているが、当業者は様々な変更、調整及び改良を容易に想到する。
【0131】
例えば、マイクロボロメータの具体例が
図2に関して述べられているが、本明細書に述べられている方法はマイクロボロメータの様々な他の実施、又は他のタイプのIR撮像デバイスに適用され得ることは当業者にとって明らかである。
【0132】
更に、様々な実施形態に関して述べられている様々なステップが、他の実施形態では、それらの有効性に影響を与えることなく異なる順序で行われ得ることは当業者にとって明らかである。例えば、スケール因子α及びスケール因子βを決定する順序を変えることができる。