説明

画像処理の方法および装置

奇数の行および列を有するフィルタ係数のアレイと、中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、前記第1の側に、前記方向から離れるように延在する、正の係数の第2のセットと、前記第2の側に、前記方向から離れるように延在する、負の係数の第3のセットと、を備えるエッジ検出フィルタ。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、超音波イメージング、X線、MRI、CTのような医療用イメージングにおいてエッジを検出し強調するとともに、ノイズを低減するための画像処理の方法および装置に関する。具体的には、本発明の方法および装置は、ノイズのある画像におけるエッジの検出および当該エッジの強調に関する。
【背景技術】
【0002】
画像における、例えば、臓器のような物体には、ボーダーまたはエッジがあり、画像処理によって、これらのボーダーまたはエッジを検出することが可能である。エッジの検出は、通常、図1a〜図1cに示したようなフィルタ11を用いて行われる。しかしながら、ノイズがある(あるいは信号対ノイズ比が悪い)画像においてエッジを検出するのは難しい。例えば、物体または臓器の本当のエッジではなく、ノイズパターンのエッジが、誤って「エッジ」として検出されることがある。従って、ノイズを低減するとともに、本当のエッジを確実に検出するために、通常、エッジ検出の前に画像にローパスフィルタが適用される。ローパスフィルタは、サイズが、3×3、5×5、7×7、あるいはそれよりも大きいことが可能である。そのようなフィルタは、当該技術分野において知られており、具体例が、図2a〜図2cに図示されている。ローパスフィルタが適用された後、例えば、図1aに示したフィルタを用いてエッジ検出が行われる。ローパスフィルタによって、画像は平滑化され、ノイズが低減される。但し、図1aのフィルタが用いられる場合には、ローパスフィルタマスクが互いにオーバーライド(override)しあい、結果として、元の画像の本当のエッジに対して、若干あいまいなエッジと空間的な誤差をもたらす。従って、必要とされているのは、ノイズを含む画像において本当のエッジを検出する方法であって、結果として、あいまいなエッジまたは空間的な誤差を生じさせない方法である。
【発明の開示】
【課題を解決するための手段】
【0003】
従って、本発明の1つの目的は、例えば、超音波イメージング、X線、MRI、CTのような医療用イメージングにおいてエッジを検出し強調するとともに、ノイズを低減するための画像処理の方法および装置を提供することである。具体的には、本発明の方法および装置は、ノイズのある画像におけるエッジの検出およびそのようなエッジの強調に関する。
【0004】
本発明によれば、エッジ検出フィルタが、奇数の行および列を有するフィルタ係数のアレイと、中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、前記第1の側に、前記方向から離れるように延在する、正の係数の第2のセットと、前記第2の側に、前記方向から離れるように延在する、負の係数の第3のセットと、を備える。
【0005】
本発明によれば、画像におけるエッジを検出する方法が、前記画像に水平エッジ検出フィルタを適用し、水平エッジ検出結果を生成するステップと、前記画像に垂直エッジ検出フィルタを適用し、垂直エッジ検出結果を生成するステップと、前記水平エッジ検出結果と前記垂直エッジ検出結果とを組み合わせて、エッジを検出するステップと、を含む。
【0006】
本発明によれば、画像にエッジ検出フィルタを適用する方法が、a. 行および列で構成されている画像を提供するステップと、b. エッジ検出フィルタであって、奇数の行および列を有するフィルタ係数のアレイと、中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、を備えるエッジ検出フィルタを提供するステップと、c. 前記画像の第1の方向の原点および第2の方向の原点における位置に前記エッジ検出フィルタを配置するステップと、d. 前記画像に前記エッジ検出フィルタを適用し、複数の行値を計算するステップと、e. 前記複数の行値の各々を記憶場所に保存するステップと、f. 前記複数の記憶場所の各々を合計し、フィルタ出力を生成するステップと、g. 前記複数の記憶場所の内容をシフトするステップと、h. 前記エッジ検出フィルタの前記位置を第1の方向にインクリメントするステップと、i. 前記画像の境界に到達するまでステップdからhを繰り返すステップと、j. 前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットするステップと、h. 前記画像の境界に到達するまでステップdからjを繰り返すステップと、を含む。
【0007】
本発明によれば、エッジ検出フィルタが、奇数の行および列を有するフィルタ係数のアレイと、中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、前記第1の側に、前記方向から離れるように延在する、正の係数の第2のセットであって、その各々が、2つの予め定められた係数の積である、正の係数の第2のセットと、前記第2の側に、前記方向から離れるように延在する、負の係数の第3のセットであって、その各々が、2つの予め定められた係数の積である、負の係数の第3のセットと、を備える。
【0008】
本発明によれば、エッジ検出を行う装置が、行および列で構成されている画像と、エッジ検出フィルタであって、奇数の行および列を有するフィルタ係数のアレイと、中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、を備えるエッジ検出フィルタと、前記画像に前記エッジ検出フィルタを適用し、複数の行値を計算する手段と、前記複数の行値の各々を記憶場所に保存する手段と、前記複数の記憶場所の各々を合計し、フィルタ出力を生成する手段と、前記複数の記憶場所の内容をシフトする手段と、を備える。
【0009】
本発明によれば、画像にエッジ検出フィルタを適用する方法が、a. 行および列で構成されている画像を提供するステップと、b. エッジ検出フィルタであって、奇数の行および列を有するフィルタ係数のアレイと、中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、を備えるエッジ検出フィルタを提供するステップと、c. 前記画像の第1の方向の原点および第2の方向の原点における位置に前記エッジ検出フィルタを配置するステップと、d. 前記画像に前記エッジ検出フィルタを適用し、複数の行値を計算するステップと、e. 前記複数の行値の各々を複数の記憶場所の1つに保存するステップと、f. 前記複数の記憶場所の各々を合計し、フィルタ出力を生成するとともに、前記フィルタ出力を記憶格納装置に保存するステップと、g. 前記エッジ検出フィルタの前記位置を第1の方向にインクリメントするステップと、h. 前記複数の記憶場所の内容をシフトし、新しい行を追加するとともに、古い行を作成するステップと、i. 前記新しい行を含む複数の値を合計し、新しい行値を生成するステップと、j. 前記フィルタ出力から、前記新しい行値を加算し、古い行値を減算することによって、新しいフィルタ出力を計算するステップと、k. 前記新しいフィルタ出力を前記記憶格納装置に保存するステップと、l. 前記画像の境界に到達するまでステップgからkを繰り返すステップと、m. 前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットするステップと、n. 前記画像の境界に到達するまでステップdからmを繰り返すステップと、を含む。
【0010】
従って、本発明の1つの目的は、画像にエッジ検出フィルタを適用する方法であって、a. 行および列で構成されている画像を提供するステップと、b. エッジ検出フィルタであって、奇数の行および列を有するフィルタ係数のアレイと、中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、を備えるエッジ検出フィルタを提供するステップと、c. 前記画像の第1の方向の原点および第2の方向の原点における位置に前記エッジ検出フィルタを配置するステップと、d. 前記画像に前記エッジ検出フィルタを適用し、複数の行値RX,Jを計算するステップと、e. 前記複数の行値RX,Jの各々を複数の記憶場所の1つに保存するステップと、f. 前記複数の記憶場所の各々を合計し、フィルタ出力Rを生成するとともに、前記フィルタ出力Rを記憶格納装置に保存するステップと、g. 前記エッジ検出フィルタの前記位置を第1の方向にインクリメントするステップと、h. 前記複数の記憶場所の内容をシフトし、新しい行を追加するとともに、古い行を作成するステップと、i. 前記新しい行を含む複数の値を合計し、新しい行値RX,2N+1を生成するステップと、j. 前回のフィルタ位置からのフィルタ出力Rと値RX,0を合算し、値RX,Nおよび値RX,N+1を減算し、値RX,2N+1を加算することによって、新しいフィルタ位置についてのフィルタ出力を計算するステップと、k. 前記新しいフィルタ出力を前記記憶格納装置に保存するステップと、l. 前記画像の境界に到達するまでステップgからkを繰り返すステップと、m. 前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットするステップと、n. 前記画像の境界に到達するまでステップdからmを繰り返すステップと、を含む方法を提供することである。
【0011】
本発明によれば、画像にエッジ検出フィルタを適用する方法が、a. 行および列で構成されている画像を提供するステップと、b. エッジ検出フィルタであって、奇数の行および列を有するフィルタ係数のアレイと、中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、を備えるエッジ検出フィルタを提供するステップと、c. 前記画像の第1の方向の原点および第2の方向の原点における位置に前記エッジ検出フィルタを配置するステップと、d. 前記画像に前記エッジ検出フィルタを適用し、複数の列値R’Y,iを計算するステップと、e. 前記複数の列値R’Y,iの各々を複数の記憶場所の1つに保存するステップと、f. 前記複数の記憶場所の各々を合計し、フィルタ出力Rを生成するとともに、前記フィルタ出力Rを記憶格納装置に保存するステップと、g. 前記エッジ検出フィルタの前記位置を第1の方向にインクリメントするステップと、h. 前記複数の記憶場所の内容をシフトし、新しい列を追加するとともに、古い列を作成するステップと、i. 前記新しい列を含む複数の値を合計し、新しい列値R’Y,2M+1を生成するステップと、j. 前回のフィルタ位置からのフィルタ出力Rと値R’Y,0を合算し、値R’Y,Mおよび値R’Y,M+1を減算し、値R’Y,2M+1を加算することによって、新しいフィルタ位置についてのフィルタ出力を計算するステップと、k. 前記フィルタ出力を前記記憶格納装置に保存するステップと、l. 前記画像の境界に到達するまでステップgからkを繰り返すステップと、m. 前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットするステップと、n. 前記画像の境界に到達するまでステップdからmを繰り返すステップと、を含む。
【発明を実施するための最良の形態】
【0012】
物体または臓器のエッジには方向がある。従って、各方向においてエッジ検出が行われる必要がある。図5a〜図5hには、本発明の8つの方向におけるエッジ検出フィルタ(それぞれ、−45度、45度、67.5度、22.5度、−67.5度、−22.5度、0度、90度)が図示されている。各々のフィルタは、各々のフィルタのサイズが大きいので、ローパスフィルタリング作用を生じるように構築されており、従来技術の場合よりも良好な信号対ノイズ比で確実にエッジを検出することが可能である。さらに、従来技術のローパスフィルタリング後のエッジ検出フィルタとは異なり、本発明によれば、互いにオーバーライドしあっていない画像画素に微分演算が適用される。ローパスフィルタの前処理におけるこの問題を説明するために、図1aのフィルタ11の一部(または一列)である水平方向の1×3のエッジ検出フィルタ31を図3aに示す。3列のフィルタ11を用いることで、エッジを検出する際の、平均化する作用とより高い信号対ノイズ比が得られる。但し、説明を簡単にするために、図3aのエッジ検出フィルタ31を用いて、オーバーライディング問題を説明する。図3bに、エッジ検出フィルタ31の前に画像に適用される5×5のローパスフィルタ33を示す。図3cに、エッジフィルタ31の係数−1とローパスフィルタ33の組み合わせを示す一方で、図3dに、エッジフィルタ31の係数1とローパスフィルタ33の組み合わせを示す。フィルタ31の係数0には、何の作用もなく、出力もない。図3eに、元の画像に対するエッジフィルタ31およびローパスフィルタ33の全体的な作用を示す。中央の3行はオーバーライドされ、フィルタ係数は互いに相殺して0になる。中央のゼロの3行は、ゼロの行が一行しかない1×3のフィルタである元のフィルタよりも、ほぼ3倍悪い空間解像度のエッジ検出フィルタのように作用する。従って、検出エッジはあいまいになる。空間解像度(鮮鋭度)およびエッジの位置合わせ(位置)を維持するために、係数0の行は、できるだけ狭くするべきである。3行のゼロは、0の係数にしては2行多すぎる。同一サイズのアレイ(7×5)の場合の改良されたエッジ検出フィルタを図4に示す。この改良されたフィルタ15は、0の行を取り囲む上方および下方の領域にローパスフィルタリング機能を備えているので、図3eの場合よりもエッジの位置を検出する際に、より正確であり、さらに、エッジを検出する際に、より良好な信号対ノイズ比(SNR)を有する。通常、エッジ検出フィルタが画像に適用されると、そのフィルタ演算の結果は、エッジ検出フィルタの中央に相当する画素に割り当てられる。一般に、エッジ検出フィルタがエッジの中央に置かれた場合、中央画素の値は相対的な大きさが大きくなる。
【0013】
図5a〜図5hには、本発明のフィルタの主要な概念を説明するために、本発明の8つのエッジ検出フィルタを示す。図5に示した8つの具体例としてのフィルタで、フィルタまたは方向の数を20またはそれ以上に拡張することが可能である。方向がほぼ9度単位で、20個のフィルタを設計することが可能である。図5に示すように、フィルタ51は、整数値、通常、1、−1、または0の各々の行および列が交差する点に係数を有し、迅速な計算を可能にする。1、−1、または0の係数は、乗算を必要とせず、むしろ、加算および減算のみを用いて画像に適用することが可能である。但し、フィルタ係数は、必ずしも整数に限定されず、小数値(または浮動小数点数)にまで拡張することが可能である。これら全てのフィルタ51のフィルタ係数は、符号(すなわち、プラスまたはマイナス)を除いて、垂直に、水平に、あるいはフィルタが検出するように設計されているエッジの方向に対称となっている。中央位置は全て0である。例えば、図5gに示したような水平エッジ検出フィルタの場合に、中央行のフィルタ係数は全て0である。図5hに示したような垂直エッジ検出フィルタの場合に、中央列のフィルタ係数は全て0である。なお、0度、90度、45度、および−45度の方向を除いて、エッジ検出フィルタ31のゼロ係数は、検出方向57に整列された行位置および列位置に配置される。
【0014】
数々の方向を備えるエッジ検出フィルタが、これらの方向について優れた精度および感度でエッジを検出する上で理想的であるが、リアルタイムの実施には若干制約がある。与えられた画像について、各々のフィルタが、数々の計算を必要とし、全体的な計算の数は、フィルタの数とともに増加する。従って、本発明の代替的な実施の形態では、垂直方向および水平方向の2つのフィルタのみを用いる。その他の方向のエッジが、以下のように、フィルタサイズ(2M+1)×(2N+1)を用いて検出される。
【0015】
【数1】

【0016】
MおよびNは、整数であり、互いに等しいことが可能である。Zi,jは、点(i,j)においてフィルタが適用される画像値である。RおよびRは、フィルタ出力である。エッジの方向は、以下の式によって求められる。
【0017】
【数2】

【0018】
エッジの大きさ(絶対値)または強度は、以下の式によって求められる。
【0019】
【数3】

【0020】
組み合わせられた水平(R)および垂直(R)のエッジ検出結果の大きさは、エッジの有無を表す。
【0021】
これらの2つのエッジフィルタのみを用いることで、20個のフィルタを用いる場合と比べて、処理速度が10倍に上がる。さらに、これらの2つのエッジ検出フィルタを用いることで、異なるフィルタ位置において行われる同一の計算の数を減らすことによって、処理速度をさらに上げることが可能となる。約11×11のフィルタマスクサイズの場合に、この速度上昇は、以下の段落において述べるように、10倍にもなることが可能である。従って、フィルタ数の減少と組み合わせると、全体的な速度上昇は、100倍にもなることが可能である。これによって、画像処理をリアルタイムで行うことが可能となる。
【0022】
本発明の1つまたはそれ以上のエッジフィルタを適用するのに必要とされる計算の速度を上げるために本発明において用いられる1つの方法は反復を伴う。エッジフィルタの一般的な形は、以下の式によって表すことが可能である。
【0023】
【数4】

【0024】
ここで、iは、フィルタマスクにおけるx座標であり、jは、フィルタマスクにおけるy座標であり、M,Nは、整数であり、Rは、フィルタ出力であり、wijは、(i,j)におけるフィルタ係数であり、zijは、(i,j)における画像値である。
【0025】
図5gに示した水平エッジフィルタ(0度またはx方向)の場合に、フィルタは、以下のように表すことが可能である。
【0026】
【数5】

【0027】
また、これは、さらに、各々の行について、以下のように表すことが可能である。
【0028】
【数6】

【0029】
さらに、各行計算の結果は、以下のように合計される。
【0030】
【数7】

【0031】
ここで、中央行(j=N+1)の係数は、0である。
【0032】
図12に示したような、数々のフィルタ位置13,13’の画像領域10全体についてフィルタ計算の速度を上げるために、一旦、第1の位置におけるフィルタ15が計算されたら、(フィルタが一行下に移動すると)次の位置におけるフィルタは、メモリの内容を1つ分だけシフトし、最も新しい行のみを計算することによって、効率的に計算される。これは、図11に概略的に図示されている。メモリ内容は、以下のようにシフトされる。
【0033】
【数8】

【0034】
最終的に、最も新しい行は、以下のように計算される。
【0035】
【数9】

【0036】
さらに、これらの項(terms)またはメモリの内容は、以下のように合計される。
【0037】
【数10】

【0038】
この効率的なフィルタ計算は、図9bのフローチャートに図示されている。この計算は、例えば、図5gに示したような、水平エッジ検出フィルタを用いて図示されている。図示のとおり、係数−1、0、および1で構成されている水平エッジフィルタを用いてエッジ検出を行う方法は、画像の開始列1、開始行1から開始する。まず、エッジ検出フィルタにおける列に対応する画像における列の全てを加算し、その結果をメモリ♯1に保存することによって、第1の行が計算されている。さらに、エッジ検出フィルタにおける全ての対応する列を加算し、その結果をメモリ♯jに保存することによって、次の行jが計算される。これは、(2N+1)番目の行が計算されるまで繰り返される。一旦、j=2N+1となったら、メモリ内容は、フィルタ係数の符号に従って必要に応じて加算または減算され、その結果は、メモリ♯1〜♯2N+1から合計される。この計算の結果が、フィルタ出力として出力される。次に、図示および図11を参照して説明したように、メモリがシフトされる。図9bに戻ると、エッジ検出フィルタは、さらに、画像上を一行分だけ下向きに移動させられる。さらに、エッジ検出フィルタが画像の画像行範囲から外れていないことを確認する。外れている場合には、フィルタを一列分だけ移動させて、新しい列および行1から処理を再度開始する。加えて、エッジ検出フィルタが画像列から外れていないことを確認する。外れている場合には、処理が終了する。エッジ検出フィルタが画像行から外れていない場合には、最も新しい行2N+1を計算し、その結果をメモリ♯2N+1に保存する。再度、メモリ♯1〜2N+1のメモリ内容は、フィルタ係数の記号により加算または減算され、フィルタ出力結果を得る。図15に示した電子回路によって、この水平エッジフィルタが効率的に計算される。画像画素データが、画像メモリから読み出され、メモリ♯2M+1に供給され、メモリ♯2M,..♯1にシフトされる。同一行における画像を形成する全ての画素データが合計器1501において合計され、合計器1501の出力は、メモリ♯2N+1に供給され、♯N+2,...♯1にシフトされる。フィルタ出力を計算するために、合計器(summer)において、メモリ♯2N+1〜♯N+2の内容が加算される一方で、メモリ♯N〜♯1の内容が減算される。エッジ検出フィルタを画像の上から下に垂直に1つずつ進め、さらに、左から右に一度に1つずつ進めて、この処理を繰り返す場合について説明してきたが、本発明はこれに限定されない。むしろ、本発明は、2つの直交する方向に、望ましくは、上から下にと、左から右に、移動することに広く利用される。
【0039】
これは、図6a〜図6bに示したような係数のエッジフィルタのより一般的な形に拡張することが可能である。「a」は、正または負の値の整数または浮動小数点であることが可能である。同様の効率的なフィルタ演算について、以下の段落において説明する。
【0040】
水平エッジ方向の場合に、全ての係数が1であるものとして行を計算した後で、その行結果に、係数aを乗算する。各々の行結果に乗算する方が、各々の画素データに乗算するよりも効率的である。
【0041】
【数11】

【0042】
一旦、第1の位置についてフィルタが計算されたら、メモリの内容が1つ分だけシフトされ、フィルタが一行下に移動すると、最も新しい行のみが計算される。
【0043】
【数12】

【0044】
以下のように、最も新しい行のみが計算される。
【0045】
【数13】

【0046】
さらに、以下のように、これらの項を合計する。
【0047】
【数14】

【0048】
ここで、aは、1、−1、またはその他の値であることが可能である。
【0049】
この効率的な計算は、図10aに示したフローチャートによって図示されている。
【0050】
同様の反復技術を用いて、aを用いるより一般的なフィルタについて、効率的にRを計算することが可能である。
【0051】
【数15】

【0052】
これは、以下のように、効率的に計算することが可能である。
【0053】
【数16】

【0054】
一旦、第1の位置におけるフィルタが計算されたら、単に、メモリの内容を1つ分だけシフトし、フィルタが一行下に移動すると、最も新しい行を計算することが可能である。
【0055】
【数17】

【0056】
以下のように、最も新しい行のみが計算される。
【0057】
【数18】

【0058】
さらに、これらの項を合計する。
【数19】

【0059】
フィルタは、下に移動し、フィルタ位置が画像行または画像境界から外れるまで計算が続く。フィルタ位置は、さらに、次の列位置の第1の行に移動し、同一の演算を続ける。
【0060】
垂直エッジの場合に、図5hのフィルタを以下の式によって表すことが可能である。
【0061】
【数20】

【0062】
この計算は、前述したような反復技術によって、効率的に実行することが可能である。
【0063】
【数21】

【0064】
一旦、第1の位置におけるフィルタが計算されると、以下のように、単に、メモリの内容をシフトし、最も新しい行のみを計算することによって、次の位置におけるフィルタを計算することが可能である。
【0065】
【数22】

【0066】
また、以下のように、最も新しい行のみが計算される。
【0067】
【数23】

【0068】
この演算は、図11に図示されている。さらに、図9aのフローチャートは、画像領域全体のなかの数々の位置における反復方法について説明したものである。図9aに図示された方法は、図9bを参照して上述したものと極めて似ている。主要な相違点は、垂直エッジフィルタ係数−1、0、1の配置に関するわずかに異なる計算から生じる。ここで強調すべきことは、本発明は、例えば、図5gおよび図5hを参照して例示されているような係数の配置を有する任意のサイズの水平および垂直エッジフィルタの使用を対象としているということである。本明細書において概説された同一の手法を用いて本発明に定義されたもののように構成された任意の水平または垂直エッジフィルタの用途を広げることは当業者であれば明らかなことであろう。図9aに戻ると、垂直エッジフィルタは、画像に対して列1、行1において適用される。さらに、第1の行は、フィルタ係数値、すなわち、−1、0、または1に応じて、画像画素値を加算または減算することにより合計され、さらに、その合計結果をメモリ♯1に保存することによって計算されている。次に、行jは、フィルタ係数値、すなわち、−1、0、または1に応じて、画像画素値を加算または減算することにより合計され、さらに、その結果をメモリjに保存することによって計算されている。さらに、図9bを参照して前述したように、(2N+1)番目の行がすでに計算されているかどうかの確認が行われている。計算されていない場合には、次の行jが、計算され、(2N+1)番目の行が計算されるまでインタラクティブに計算される。j=2N+1となったとき、メモリ♯1からメモリ♯2N+1までメモリの全てが合計される。結果として行われる合計により、フィルタ出力が得られる。さらに、メモリは、水平エッジフィルタを参照して上述したようにシフトされる。フィルタは、一行分だけ移動させられ、フィルタが画像行から外れているかどうかの確認が行われ、外れていない場合には、最も新しい行2N+1が、フィルタ係数値、すなわち、−1、0、または1に応じて、画像画素値を加算または減算することにより合計され、その結果をメモリ♯2N+1に保存することによって計算される。図13には、この垂直エッジフィルタを効率的に計算するための電子回路が図示されている。同一行における全ての画素(画像)データが、画像メモリから読み出されて、メモリ♯2M+1に供給されて、メモリ♯2M,...♯1にシフトされる。同一行における画素データは、合計器において合計または減算される。次の行の全ての画素データが、同様に、読み出されて合計器において合計される。この演算は、1つのフィルタ位置についてフィルタの最終行まで続く。合計器の出力(結果)は、メモリ♯2N+1に供給され、メモリ♯2N,...♯1にシフトされる。メモリ♯2N+1〜♯1の内容が合計されて、フィルタ出力が計算される。
【0069】
フィルタは、一行位置分だけ下に移動させられ、フィルタ計算は、フィルタが画像行または境界から外れるまで続く。
【0070】
フィルタは、−1、0、1の係数に限定されず、以下のように、aまたはajを用いる一般的な形をとることが可能である。
【0071】
【数24】

【0072】
aは、1または−1またはその他の値であることも可能である。これは、前述のように、反復技術を用いて効率的に計算することが可能である。フィルタマスクにおける第1の行〜2N+1行が、以下のように計算される。
【0073】
【数25】

【0074】
フィルタが一行分だけ下に移動させられると、以下のように、反復演算を用いることが可能である。
【0075】
【数26】

【0076】
また、以下のように、最も新しい行のみが計算される。
【0077】
【数27】

【0078】
を用いると、以下のとおりである。
【0079】
【数28】

【0080】
フィルタが一行分だけ下に移動させられると、以下のように、反復演算を用いることが可能である。
【0081】
【数29】

また、以下のように、最も新しい行のみが計算される。
【0082】
【数30】

【0083】
その他の形の反復を用いて、画像領域全体におけるフィルタ計算の速度を上げることも可能である。例えば、垂直エッジの場合に、第1の位置におけるフィルタ結果を計算した後で、第1の位置の結果に新しい行を加算し、第1の位置における最終行を減算することによって、次の行位置を計算することが可能である。垂直エッジフィルタは、以下のように計算される。
【0084】
【数31】

【0085】
この結果Rは、メモリに保存される。以下に示す各々の行の計算結果もメモリ♯1〜♯2N+1に保存される。
【0086】
【数32】

【0087】
次に、フィルタが、一行分だけ下に移動し、後述のように、新しい位置のフィルタを計算することが可能である。まず、以下のように、メモリの内容がシフトされる。
【0088】
【数33】

【0089】
ここで、矢印記号は、右側の項を左側の項に保存することを示し、また、RY,0は、前回の位置における第1の行結果を示す。最後の演算におけるRY,2N+1は、最も新しい行についての最も新しい計算結果を示す。最も新しい行RY,2N+1のこの計算は実際に行われる。但し、合計演算においては、前回の反復法の2N+1回の加算ではなく、行結果の加算一回および減算一回のみが必要とされるにすぎない。前回の位置からの、メモリに保存されたR値が、用いられ、合計演算によって更新され、再度、メモリに保存される。この反復技術は、前述と同様に、aまたはaのフィルタ係数に拡張することが可能である。最も新しい行を加算し、最も古い行を減算するこの演算については、図11に最もよく示されている。
【0090】
図14には、この垂直エッジフィルタを効率的に計算するための、記憶場所、累算器、合計器などを備える電子回路が図示されている。そのような物理的な回路素子について図示されているが、本発明の演算は、デジタル信号プロセッサ(DSP: Digital Signal Processor)によって全体的または部分的に行うことが可能である。同一行における全ての画素(画像)データが、画像メモリから読み出されて、メモリ♯2M+1に供給されて、メモリ♯2M,...♯1にシフトされる。同一行における画素データは、合計器141において合計または減算される。次の行の全ての画素データが、同様に、読み出されて合計器において合計される。この演算は、1つのフィルタ位置についてフィルタの最終行まで続く。合計器の出力(結果)は、メモリ♯2N+1に供給され、メモリ♯2N,...♯0にシフトされる。第1のフィルタ位置の場合に、メモリ♯1〜♯2N+1のスイッチが全て閉じているが、メモリ♯0のスイッチが開いており、メモリ♯2N+1〜♯1の内容が合計されて、フィルタ出力が計算される。次のフィルタ位置の場合に、メモリ♯0および♯2N+1のスイッチが閉じている一方で、メモリ♯1〜♯2Nのスイッチが開いており、最も新しい行データ(メモリ♯2N+1)を加算し、最も古い行(メモリ♯0)を前回のフィルタ結果(出力)または合計器の内容から減算することによって、新しいフィルタ出力が計算される。
【0091】
同様に、以下のように、水平エッジフィルタを効率的に計算することが可能である。
【0092】
【数34】

【0093】
第1の位置のフィルタ出力がメモリに保存される。また、各行の計算結果がメモリ♯1〜♯2N+1に保存される。さらに、フィルタが一行分だけ下に移動させられて、新しい位置におけるフィルタ出力が、以下のように、効率的に計算される。まず、以下のように、メモリ♯1〜♯2N+1の内容がシフトされる。
【0094】
【数35】

【0095】
新しい位置におけるRX,2N+1のみが実際に計算され、メモリ♯2N+1に保存される一方で、右側のその他の項は全て、各メモリのなかにある。前回の位置からの、メモリに保存されたR値が、用いられ、合計演算によって更新され、再度、メモリに保存される。図16に示した電子回路によって、この水平エッジフィルタが効率的に計算される。画像画素データが画像メモリから読み出され、メモリ♯2M+1に供給され、メモリ♯2M,..♯1にシフトされる。同一行における全ての画素データが、合計器において合計され、その合計器の出力が、メモリ♯2N+1に供給され、♯N+2,...♯0にシフトされる。第1のフィルタ位置の場合に、フィルタ出力を計算するために、合計器において、メモリ♯2N+1〜♯N+2の内容が加算される一方で、メモリ♯N〜♯1の内容が減算される。メモリにおけるスイッチが、この演算を実現する役割を果たす。第1のフィルタ位置の場合には、メモリ♯N+1および♯0を除く全てのスイッチが閉じている。一旦、フィルタ出力が計算されると、次の行における新しい画素データがメモリ♯2M+1〜♯1に入力され、合計器において合計され、この出力あるいは次のフィルタ位置からの最も新しい合計行データがメモリ♯2N+1に入力される。一方、メモリ♯2N+1〜♯0の内容が全てメモリ1つ分だけ右にシフトされる。フィルタ結果(出力)あるいは前回のフィルタ位置からの合計器の内容がさらに新しい位置について、メモリ♯2N+1および♯0の内容を加算し、メモリ♯N+1および♯Nの内容を減算することによって更新される。スイッチが、この演算を実現する役割を果たす。メモリ♯2N+1,♯N+1,♯N,♯0におけるスイッチが閉じている一方で、その他のスイッチが全て開いている。
【0096】
この反復法によって、加算の回数が減る。垂直および水平エッジのこれらの演算を展開して、前述のように、a,−a,0、またはajの係数を有するようにすることが可能である。これらの係数によれば、反復法によって、加算ばかりではなく乗算の回数も減るので、フィルタの速度が上昇する。
【0097】
エッジ検出フィルタの最も一般的な形は、以下のとおりである。
【0098】
【数36】

【0099】
但し、フィルタは、以下のように、対称形であることが可能である。水平エッジフィルタの場合に、
【数37】

かつ、
【数38】

ここで、i=1〜2M+1であって、j=1〜Nであり、かつ、
【数39】

ここで、i=1〜Mであって、j=1〜2N+1である。この水平エッジフィルタは、9×9フィルタの具体例として図7aに図示されている。
【0100】
さらに、ai,jは、水平エッジフィルタの場合に、以下のように、x成分およびy成分に分解される。
【0101】
【数40】

【0102】
ここで、i=1〜Mであり、また、
【数41】

ここで、j=1〜Nである。最終的に、水平エッジフィルタは、以下のように表すことが可能である。
【0103】
【数42】

【0104】
このフィルタにおいて、より高速の計算を行うために反復技術を用いることが可能である。
【0105】
また、垂直エッジフィルタの場合に、フィルタ係数ai,jが、符号(プラスまたはマイナス)以外は対称である。
【0106】
【数43】

かつ、
【数44】

ここで、i=1〜Mであって、j=1〜2N+1であり、また、
【数45】

ここで、i=1〜2M+1であって、j=1〜Nである。この垂直エッジフィルタは、9×9フィルタの具体例として図7bに図示されている。さらに、ai,jは、垂直エッジフィルタの場合に、以下のように、x成分およびy成分に分解される。
【0107】
【数46】

ここで、i=1〜Mであり、
【数47】

ここで、j=1〜Nである。最終的に、垂直方向フィルタは、以下のように表すことが可能である。
【0108】
【数48】

【0109】
さらに、このフィルタにおいて、より高速の計算を行うために反復技術を用いることが可能である。
【0110】
正方形のマスクすなわちM=Nのフィルタの場合には、2方向のエッジフィルタを、それらの方向において、等しく重み付けする必要があり、従って、水平エッジフィルタの中央行および垂直エッジフィルタの中央列を除いて、以下のとおりである。
【0111】
【数49】

【0112】
また、前述した同一の対称特性が、これらの係数にも当てはまる。従って、エッジフィルタは、以下のように表すことが可能である。
【0113】
【数50】

【0114】
この水平エッジフィルタは、9×9フィルタの具体例として図8aに図示されている。この水平エッジフィルタは、図17に示した電子回路を用いて効率的に計算することが可能である。画像データが画像メモリから読み出されて、メモリ♯2M+1に供給され、メモリ♯2M,..♯1にシフトされる。これらのメモリの内容は、係数b1,...,b2M+1を乗算し、合計器において合計される。合計器の出力は、メモリ♯2N+1に供給され、メモリ♯2N,...♯0にシフトされる。第1のフィルタ位置の場合に、♯N+1を除くメモリ♯2N+1〜♯1の内容は、各係数を乗算し、合計器において合計され、フィルタ出力が計算される。次のフィルタ位置の場合に、最も新しい行の新しい画像データが画像メモリから読み出されて、メモリ♯2M+1に供給され、シフトされ、メモリ♯2M+1〜♯1の内容は、各係数を乗算し、合計器において合計され、合計器の出力は、メモリ♯2N+1に供給される。一方、メモリ♯2N+1〜♯0の内容は、メモリ1つ分だけ右にシフトされる。フィルタ出力すなわち合計器の内容は、前回の位置のフィルタ出力(すなわち合計器の内容)に対して、メモリ♯2N+1の値に係数b1を乗算したものを加算し、メモリ♯N+1および♯Nの値にbNを乗算したものを減算し、メモリ♯0の値に係数b1を乗算したものを加算することによって更新される。なお、M=Nである。
【0115】
【数51】

【0116】
この垂直エッジフィルタは、9×9フィルタの具体例として図8bに図示されている。図18に示した電子回路によって、この垂直エッジフィルタを効率的に計算することが可能である。画像データが画像メモリから読み出されて、メモリ♯2M+1に供給され、♯2M〜♯1にシフトされる。同一行におけるこれらの列画素データは、図18に示したように、各係数を乗算し、合計器において合計(すなわち、加算または減算)される。合計器の出力は、メモリ♯2N+1に供給され、ある行における更なる合計データがメモリ♯2N+1に供給されると、メモリ1つ分だけ右にシフトされる。第1のフィルタ位置の場合に、メモリ♯2N+1〜♯1の内容は、乗算され、合計器において合計され、フィルタ出力が計算される。次の位置の場合に、第1のフィルタ位置の結果を用いることで、次の結果が効率的に計算される。新しいフィルタ位置についての最も新しい行の新しい合計データがメモリ♯2N+1に供給されると、メモリ内容が全て右にシフトされ、新しいフィルタ出力は、前回のフィルタ結果あるいは合計器の内容から、メモリ♯2N+1の内容に係数b1を乗算したものを加算し、メモリ♯0の内容にb1を乗算したものを減算することによって計算される。
【0117】
もう1つの実施の形態では、各フィルタは、最終行から開始して上向きに移動することが可能である。もう1つの実施の形態では、フィルタは、例えば、左端の列から開始して右に向かって横方向に移動することが可能である。もう1つの実施の形態では、フィルタは、右端の列から開始して左に向かって横方向に移動することが可能である。
【0118】
本発明の1つまたはそれ以上の実施の形態について説明してきた。しかしながら、本発明の精神および範囲を逸脱することなく様々な変更を加えることができるということは言うまでもない。従って、その他の実施の形態が以下の各請求項の範囲内にある。
【図面の簡単な説明】
【0119】
【図1a】従来技術のエッジ検出フィルタを示す図である。
【図1b】従来技術のエッジ検出フィルタを示す図である。
【図1c】従来技術のエッジ検出フィルタを示す図である。
【図2a】従来技術の平滑化フィルタを示す図である。
【図2b】従来技術の平滑化フィルタを示す図である。
【図2c】従来技術の平滑化フィルタを示す図である。
【図3a】当該技術分野において一般的な1×3のエッジ検出フィルタを示す図である。
【図3b】当該技術分野において知られている5×5のローパスフィルタを示す図である。
【図3c】−1のエッジフィルタ係数を5×5のローパスフィルタと組み合わせた結果を示す図である。
【図3d】1のエッジフィルタ係数を5×5のローパスフィルタと組み合わせた結果を示す図である。
【図3e】図3cおよび図3dの結果から、結果として得られる組み合わせを示す図である。
【図4】本発明の改良されたエッジ検出フィルタを示す図である。
【図5a】本発明の様々な方向のエッジ検出フィルタを示す図である。
【図5b】本発明の様々な方向のエッジ検出フィルタを示す図である。
【図5c】本発明の様々な方向のエッジ検出フィルタを示す図である。
【図5d】本発明の様々な方向のエッジ検出フィルタを示す図である。
【図5e】本発明の様々な方向のエッジ検出フィルタを示す図である。
【図5f】本発明の様々な方向のエッジ検出フィルタを示す図である。
【図5g】本発明の様々な方向のエッジ検出フィルタを示す図である。
【図5h】本発明の様々な方向のエッジ検出フィルタを示す図である。
【図6a】係数「a」を用いた、より一般的な形を示す水平方向および垂直方向のエッジ検出フィルタを示す図である。
【図6b】係数「a」を用いた、より一般的な形を示す水平方向および垂直方向のエッジ検出フィルタを示す図である。
【図7a】aijを用いる、より一般的な形を用いる水平方向および垂直方向のエッジ検出フィルタを示す図である。
【図7b】aijを用いる、より一般的な形を用いる水平方向および垂直方向のエッジ検出フィルタを示す図である。
【図8a】bibjを用いる、より一般的な形を用いる水平方向および垂直方向のエッジ検出フィルタを示す図である。
【図8b】bibjを用いる、より一般的な形を用いる水平方向および垂直方向のエッジ検出フィルタを示す図である。
【図9a】(−1,0,1)を用いる垂直エッジ検出を示すフローチャートである。
【図9b】(−1,0,1)を用いる水平エッジ検出を示すフローチャートである。
【図10a】−a,0,aを用いる水平エッジ検出を示すフローチャートである。
【図10b】−a,0,aを用いる垂直エッジ検出を示すフローチャートである。
【図11】古いフィルタ位置と新しいフィルタ位置との関係を示す図である。
【図12】本発明のフィルタの動きを示す図である。
【図13】本発明の垂直エッジフィルタハードウェアを示すブロック図である。
【図14】効率的な垂直エッジ検出フィルタを示す図である。
【図15】本発明の水平エッジフィルタハードウェアを示す図である。
【図16】効率的な水平エッジ検出フィルタを示す図である。
【図17】フィルタ係数biによる水平エッジ検出フィルタを示す図である。
【図18】フィルタ係数biによる垂直エッジ検出フィルタを示す図である。

【特許請求の範囲】
【請求項1】
奇数の行および列を有するフィルタ係数のアレイと、
中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、
前記第1の側に、前記方向から離れるように延在する、正の係数の第2のセットと、
前記第2の側に、前記方向から離れるように延在する、負の係数の第3のセットと、
を備えるエッジ検出フィルタ。
【請求項2】
請求項1に記載のエッジ検出フィルタであって、前記正の係数の第2のセットの各々が、+1に等しいエッジ検出フィルタ。
【請求項3】
請求項1に記載のエッジ検出フィルタであって、前記負の係数の第3のセットの各々が、−1に等しいエッジ検出フィルタ。
【請求項4】
請求項1に記載のエッジ検出フィルタであって、前記正の係数の第2のセットの各々および前記負の係数の第3のセットの各々が、同一の絶対値を有するエッジ検出フィルタ。
【請求項5】
請求項4に記載のエッジ検出フィルタであって、前記絶対値が、浮動小数点数および整数からなる群から選択されるエッジ検出フィルタ。
【請求項6】
請求項1に記載のエッジ検出フィルタであって、前記方向が、前記アレイを横切って水平に延在するエッジ検出フィルタ。
【請求項7】
請求項1に記載のエッジ検出フィルタであって、前記方向が、前記アレイを横切って垂直に延在するエッジ検出フィルタ。
【請求項8】
画像におけるエッジを検出する方法であって、
前記画像に水平エッジ検出フィルタを適用し、水平エッジ検出結果を生成するステップと、
前記画像に垂直エッジ検出フィルタを適用し、垂直エッジ検出結果を生成するステップと、
前記水平エッジ検出結果と前記垂直エッジ検出結果とを組み合わせて、エッジを検出するステップと、
を含む方法。
【請求項9】
請求項8に記載の方法であって、前記水平エッジ検出フィルタを適用することが、
奇数の行および列を有するフィルタ係数のアレイと、
中央位置を通って前記アレイを水平方向に横断して延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、
前記第1の側に、前記方向から離れるように延在する、正の係数の第2のセットと、
前記第2の側に、前記方向から離れるように延在する、負の係数の第3のセットと、
を備える前記水平エッジ検出フィルタを適用することを含む、方法。
【請求項10】
請求項8に記載の方法であって、前記垂直エッジ検出フィルタを適用することが、
奇数の行および列を有するフィルタ係数のアレイと、
中央位置を通って前記アレイを垂直方向に横断して延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、
前記第1の側に、前記方向から離れるように延在する、正の係数の第2のセットと、
前記第2の側に、前記方向から離れるように延在する、負の係数の第3のセットと、
を備える前記垂直エッジ検出フィルタを適用することを含む、方法。
【請求項11】
画像にエッジ検出フィルタを適用する方法であって、
a. 行および列で構成されている画像を提供するステップと、
b. エッジ検出フィルタであって、
奇数の行および列を有するフィルタ係数のアレイと、
中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、
前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、
前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、
を備えるエッジ検出フィルタを提供するステップと、
c. 前記画像の第1の方向の原点および第2の方向の原点に対応した位置に前記エッジ検出フィルタを配置するステップと、
d. 前記画像に前記エッジ検出フィルタを適用し、複数の行値を計算するステップと、
e. 前記複数の行値の各々を記憶場所に保存するステップと、
f. 前記複数の記憶場所の各々を合計し、フィルタ出力を生成するステップと、
g. 前記複数の記憶場所の内容をシフトするステップと、
h. 前記エッジ検出フィルタの前記位置を第1の方向にインクリメントするステップと、
i. 前記画像の境界に到達するまでステップdからhを繰り返すステップと、
j. 前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットするステップと、
h. 前記画像の境界に到達するまでステップdからjを繰り返すステップと、
を含む方法。
【請求項12】
請求項11に記載の方法であって、前記エッジ検出フィルタを第1および第2の方向にインクリメントすることが、前記エッジ検出フィルタを、前記第1の方向が前記第2の方向に直交する前記第1および第2の方向にインクリメントすることを含む、方法。
【請求項13】
請求項11に記載の方法であって、前記エッジ検出フィルタを第1の方向にインクリメントすることが、前記エッジ検出フィルタを垂直方向および水平方向からなるセットから選択される方向にインクリメントすることを含む、方法。
【請求項14】
奇数の行および列を有するフィルタ係数のアレイと、
中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、
前記第1の側に、前記方向から離れるように延在する、正の係数の第2のセットであって、その各々が、2つの予め定められた係数の積である、正の係数の第2のセットと、
前記第2の側に、前記方向から離れるように延在する、負の係数の第3のセットであって、その各々が、2つの予め定められた係数の積である、負の係数の第3のセットと、
を備えるエッジ検出フィルタ。
【請求項15】
エッジ検出を行う装置であって、
行および列で構成されている画像と、
エッジ検出フィルタであって、
奇数の行および列を有するフィルタ係数のアレイと、
中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、
前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、
前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、
を備えるエッジ検出フィルタと、
前記画像に前記エッジ検出フィルタを適用し、複数の行値を計算する手段と、
前記複数の行値の各々を記憶場所に保存する手段と、
前記複数の記憶場所の各々を合計し、フィルタ出力を生成する手段と、
前記複数の記憶場所の内容をシフトする手段と、
を備える装置。
【請求項16】
請求項15に記載の装置であって、前記行値を選択的に加算または減算するための複数のスイッチをさらに備える装置。
【請求項17】
請求項15に記載の装置であって、前記適用する手段、前記保存する手段、前記合計する手段、および前記シフトする手段が、デジタル信号プロセッサおよび記憶ユニットを含む群から選択される装置。
【請求項18】
画像にエッジ検出フィルタを適用する方法であって、
a. 行および列で構成されている画像を提供するステップと、
b. エッジ検出フィルタであって、
奇数の行および列を有するフィルタ係数のアレイと、
中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、
前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、
前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、
を備えるエッジ検出フィルタを提供するステップと、
c. 前記画像の第1の方向の原点および第2の方向の原点に対応した位置に前記エッジ検出フィルタを配置するステップと、
d. 前記画像に前記エッジ検出フィルタを適用し、複数の行値を計算するステップと、
e. 前記複数の行値の各々を複数の記憶場所の1つに保存するステップと、
f. 前記複数の記憶場所の各々を合計し、フィルタ出力を生成するステップと、
g. 前記エッジ検出フィルタの前記位置を第1の方向にインクリメントするステップと、
h. 前記複数の記憶場所の内容をシフトし、新しい行を追加するとともに、古い行を作成するステップと、
i. 前記新しい行を含む複数の値を合計し、新しい行値を生成するステップと、
j. 前記フィルタ出力から、前記新しい行値を加算し、古い行値を減算することによって、新しいフィルタ出力を計算するステップと、
k. 前記新しいフィルタ出力を記憶格納装置に保存するステップと、
l. 前記画像の境界に到達するまでステップgからkを繰り返すステップと、
m. 前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットするステップと、
n. 前記画像の境界に到達するまでステップdからmを繰り返すステップと、
を含む方法。
【請求項19】
画像にエッジ検出フィルタを適用する方法であって、
a. 行および列で構成されている画像を提供するステップと、
b. エッジ検出フィルタであって、
奇数の行および列を有するフィルタ係数のアレイと、
中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、
前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、
前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、
を備えるエッジ検出フィルタを提供するステップと、
c. 前記画像の第1の方向の原点および第2の方向の原点に対応した位置に前記エッジ検出フィルタを配置するステップと、
d. 前記画像に前記エッジ検出フィルタを適用し、複数の行値RX,Jを計算するステップと、
e. 前記複数の行値RX,Jの各々を複数の記憶場所のうちの1つに保存するステップと、
f. 前記複数の記憶場所の各々を合計し、フィルタ出力Rを生成するとともに、前記フィルタ出力Rを記憶格納装置に保存するステップと、
g. 前記エッジ検出フィルタの前記位置を第1の方向にインクリメントするステップと、
h. 前記複数の記憶場所の内容をシフトし、新しい行を追加するとともに、古い行を作成するステップと、
i. 前記新しい行を含む複数の値を合計し、新しい行値RX,2N+1を生成するステップと、
j. 前回のフィルタ位置からのフィルタ出力Rと値RX,0を合算し、値RX,Nおよび値RX,N+1を減算し、値RX,2N+1を加算することによって、新しいフィルタ位置についてのフィルタ出力を計算するステップと、
k. 前記新しいフィルタ出力を前記記憶格納装置に保存するステップと、
l. 前記画像の境界に到達するまでステップgからkを繰り返すステップと、
m. 前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットするステップと、
n. 前記画像の境界に到達するまでステップdからmを繰り返すステップと、
を含む方法。
【請求項20】
画像にエッジ検出フィルタを適用する方法であって、
a. 行および列で構成されている画像を提供するステップと、
b. エッジ検出フィルタであって、
奇数の行および列を有するフィルタ係数のアレイと、
中央位置を通って前記アレイを横断する方向に沿って延在し、第1および第2の側を形成する、ゼロ係数の第1のセットと、
前記第1の側に、前記方向から離れるように延在する、1に等しい係数の第2のセットと、
前記第2の側に、前記方向から離れるように延在する、−1に等しい係数の第3のセットと、
を備えるエッジ検出フィルタを提供するステップと、
c. 前記画像の第1の方向の原点および第2の方向の原点に対応した位置に前記エッジ検出フィルタを配置するステップと、
d. 前記画像に前記エッジ検出フィルタを適用し、複数の列値R’Y,iを計算するステップと、
e. 前記複数の列値R’Y,iの各々を複数の記憶場所の1つに保存するステップと、
f. 前記複数の記憶場所の各々を合計し、フィルタ出力Rを生成するとともに、前記フィルタ出力Rを記憶格納装置に保存するステップと、
g. 前記エッジ検出フィルタの前記位置を第1の方向にインクリメントするステップと、
h. 前記複数の記憶場所の内容をシフトし、新しい列を追加するとともに、古い列を作成するステップと、
i. 前記新しい列を含む複数の値を合計し、新しい列値R’Y,2M+1を生成するステップと、
j. 前回のフィルタ位置からのフィルタ出力Rと値R’Y,0を合算し、値R’Y,Mおよび値R’Y,M+1を減算し、値R’Y,2M+1を加算することによって、新しいフィルタ位置についてのフィルタ出力を計算するステップと、
k. 前記フィルタ出力を前記記憶格納装置に保存するステップと、
l. 前記画像の境界に到達するまでステップgからkを繰り返すステップと、
m. 前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットするステップと、
n. 前記画像の境界に到達するまでステップdからmを繰り返すステップと、
を含む方法。
【請求項21】
請求項19に記載の方法であって、前記エッジ検出フィルタの前記位置を第1の方向にインクリメントすることが、前記エッジ検出フィルタを垂直方向または水平方向にインクリメントすることを含む、方法。
【請求項22】
請求項19に記載の方法であって、前記エッジ検出フィルタの前記位置を第2の方向にインクリメントすることが、前記エッジ検出フィルタを垂直方向または水平方向にインクリメントすることを含む、方法。
【請求項23】
請求項20に記載の方法であって、前記エッジ検出フィルタの前記位置を第1の方向にインクリメントすることが、前記エッジ検出フィルタを垂直方向または水平方向にインクリメントすることを含む、方法。
【請求項24】
請求項20に記載の方法であって、前記エッジ検出フィルタの前記位置を第2の方向にインクリメントすることが、前記エッジ検出フィルタを垂直方向または水平方向にインクリメントすることを含む、方法。
【請求項25】
X行の行およびY列の列の複数のフィルタ係数セルを備えるアレイであって、XおよびYが両方とも奇数であるアレイと、
隣接するフィルタ係数セルを占める値ゼロを含む複数のフィルタ係数であって、前記ゼロフィルタ係数の少なくとも1つが、前記アレイの中央フィルタ係数セルを占める、フィルタ係数と、
を備え、
前記残りの複数のフィルタ係数セルについては、前記複数のゼロフィルタ係数に隣接するフィルタ係数セルを占める複数の正の数値、および前記複数のゼロフィルタ係数に隣接し、前記複数のゼロフィルタ係数をはさんで前記複数の正の数値の反対側にあるフィルタ係数セルを占める複数の負の数値によって占められている、エッジ検出フィルタ。
【請求項26】
請求項25に記載のエッジ検出フィルタであって、前記隣接するフィルタ係数セルを占める前記ゼロフィルタ係数が方向をなす、エッジ検出フィルタ。
【請求項27】
請求項25に記載のエッジ検出フィルタであって、前記ゼロフィルタ係数が、前記アレイの単一行に水平に整列されている、エッジ検出フィルタ。
【請求項28】
請求項25に記載のエッジ検出フィルタであって、前記ゼロフィルタ係数が、前記アレイの単一列に垂直に整列されている、エッジ検出フィルタ。
【請求項29】
請求項25に記載のエッジ検出フィルタであって、前記ゼロフィルタ係数が整列されていない、エッジ検出フィルタ。
【請求項30】
請求項25に記載のエッジ検出フィルタであって、前記ゼロフィルタ係数が、前記アレイの第1の最も外側におけるフィルタ係数セルから前記アレイの第2の最も外側におけるフィルタ係数セルまで延在する、エッジ検出フィルタ。
【請求項31】
請求項30に記載のエッジ検出フィルタであって、前記第1の最も外側が、前記第2の最も外側の反対側にある、エッジ検出フィルタ。
【請求項32】
請求項25に記載のエッジ検出フィルタであって、前記正の数値および前記負の数値が、小数、浮動小数点数、または整数である、エッジ検出フィルタ。
【請求項33】
超音波画像におけるエッジを検出する装置であって、
B行の行およびC列の列の複数の画像画素を含む超音波画像と、
エッジ検出フィルタであって、
X行の行およびY列の列の複数のフィルタ係数セルを備えるアレイであって、XおよびYが両方とも奇数であるアレイと、
隣接するフィルタ係数セルを占める値ゼロを含む複数のフィルタ係数であって、前記ゼロフィルタ係数の少なくとも1つが、前記アレイの中央フィルタ係数セルを占める、フィルタ係数と、
を備え、
前記残りの複数のフィルタ係数セルについては、前記複数のゼロフィルタ係数に隣接するフィルタ係数セルを占める複数の正の数値、および前記複数のゼロフィルタ係数に隣接し、前記複数のゼロフィルタ係数をはさんで前記複数の正の数値の反対側にあるフィルタ係数セルを占める複数の負の数値によって占められている、エッジ検出フィルタと、
前記複数の画像画素に前記エッジ検出フィルタを適用することによって、複数の行値を計算する手段と、
前記複数の行値の各々を複数の記憶場所に保存する手段と、
前記複数の記憶場所の各々を合計し、フィルタ出力を計算する手段と、
前記複数の記憶場所の内容をシフトする手段と、
を備える装置。
【請求項34】
請求項33に記載の装置であって、スイッチを作動させ、前記複数の記憶場所の内容を用いて前記フィルタ出力を計算する手段をさらに備える装置。
【請求項35】
請求項34に記載の装置であって、前記スイッチを作動させる手段が、前記複数の記憶場所の1つまたは複数についての1つまたは複数のスイッチを開き、前記スイッチの残りを閉じる手段を含む、装置。
【請求項36】
請求項34に記載の装置であって、前記スイッチを作動させる手段が、前回のフィルタ位置からの前記フィルタ出力Rと値RX,0を合算し、値RX,Nおよび値RX,N+1を減算し、値RX,2N+1を加算することによって、新しいフィルタ位置についての前記フィルタ出力を計算する手段を含む、装置。
【請求項37】
請求項33に記載の装置であって、前記計算する手段が、デジタル信号プロセッサ、記憶保持装置、乗算器、合計器、および加算器からなる群から選択される、装置。
【請求項38】
請求項33に記載の装置であって、前記保存する手段が、デジタル信号プロセッサ、記憶保持装置、乗算器、合計器、および加算器からなる群から選択される、装置。
【請求項39】
超音波画像におけるエッジを検出する装置であって、
B行の行およびC列の列の複数の画像画素を含む超音波画像と、
エッジ検出フィルタであって、
X行の行およびY列の列の複数のフィルタ係数セルを備えるアレイであって、XおよびYが両方とも奇数であるアレイと、
隣接するフィルタ係数セルを占める値ゼロを含む複数のフィルタ係数であって、前記ゼロフィルタ係数の少なくとも1つが、前記アレイの中央フィルタ係数セルを占める、フィルタ係数と、
を備え、
前記残りの複数のフィルタ係数セルについては、前記複数のゼロフィルタ係数に隣接するフィルタ係数セルを占める複数の正の数値、および前記複数のゼロフィルタ係数に隣接し、前記複数のゼロフィルタ係数をはさんで前記複数の正の数値の反対側にあるフィルタ係数セルを占める複数の負の数値によって占められている、エッジ検出フィルタと、
前記複数の画像画素に前記エッジ検出フィルタを適用することによって、複数の列値を計算する手段と、
前記複数の列値の各々を複数の記憶場所に保存する手段と、
前記複数の記憶場所の各々を合計し、フィルタ出力を計算する手段と、
前記複数の記憶場所の内容をシフトする手段と、
を備える装置。
【請求項40】
請求項39に記載の装置であって、スイッチを作動させ、前記複数の記憶場所の内容を用いて前記フィルタ出力を計算する手段をさらに備える装置。
【請求項41】
請求項40に記載の装置であって、前記スイッチを作動させる手段が、前記複数の記憶場所の1つまたは複数についての1つまたは複数のスイッチを開き、前記スイッチの残りを閉じる手段を含む、装置。
【請求項42】
請求項40に記載の装置であって、前記スイッチを作動させる手段が、前回のフィルタ位置からの前記フィルタ出力Rと値R’Y,0を合算し、値R’Y,Mおよび値R’Y,M+1を減算し、値R’Y,2M+1を加算することによって、新しいフィルタ位置についての前記フィルタ出力を計算する手段を含む、装置。
【請求項43】
請求項39に記載の装置であって、前記計算する手段が、デジタル信号プロセッサ、記憶保持装置、乗算器、合計器、および加算器からなる群から選択される、装置。
【請求項44】
請求項39に記載の装置であって、前記保存する手段が、デジタル信号プロセッサ、記憶保持装置、乗算器、合計器、および加算器からなる群から選択される、装置。
【請求項45】
超音波画像におけるエッジを検出する装置であって、
B行の行およびC列の列の複数の画像画素を含む超音波画像と、
エッジ検出フィルタであって、
X行の行およびY列の列の複数のフィルタ係数セルを備えるアレイであって、XおよびYが両方とも奇数であるアレイと、
隣接するフィルタ係数セルを占める値ゼロを含む複数のフィルタ係数であって、前記ゼロフィルタ係数の少なくとも1つが、前記アレイの中央フィルタ係数セルを占める、フィルタ係数と、
を備え、
前記残りの複数のフィルタ係数セルについては、前記複数のゼロフィルタ係数に隣接するフィルタ係数セルを占める複数の正の数値、および前記複数のゼロフィルタ係数に隣接し、前記複数のゼロフィルタ係数をはさんで前記複数の正の数値の反対側にあるフィルタ係数セルを占める複数の負の数値によって占められている、エッジ検出フィルタと、
前記複数の画像画素に第1の方向の原点および第2の方向の原点における位置において前記エッジ検出フィルタを適用することによって、複数の行値を計算する手段と、
前記複数の行値の各々を複数の記憶場所に保存する手段と、
前記複数の記憶場所の各々を合計し、フィルタ出力を生成するとともに、前記フィルタ出力を記憶格納装置に保存する手段と、
前記エッジ検出フィルタの前記位置を第1の方向にインクリメントする手段と、
前記複数の記憶場所の内容をシフトする手段と、
前記新しい行を含む複数の値を合計し、新しい行値を生成する手段と、
前記フィルタ出力から、前記新しい行値を加算し、古い行値を減算することによって、新しいフィルタ出力を計算する手段と、
前記新しいフィルタ出力を前記記憶格納装置に保存する手段と、
前記画像の境界エッジに到達するまで前記適用する手段、前記保存する手段、前記合計する手段、および前記シフトする手段を順次繰り返す手段と、
前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットする手段と、
前記画像の境界エッジに到達するまで前記適用する手段、前記保存する手段、前記合計する手段、前記シフトする手段、前記インクリメントする手段、前記順次繰り返す手段、および前記インクリメントする手段を順次繰り返す手段と、
を備える装置。
【請求項46】
超音波画像におけるエッジを検出する装置であって、
B行の行およびC列の列の複数の画像画素を含む超音波画像と、
エッジ検出フィルタであって、
X行の行およびY列の列の複数のフィルタ係数セルを備えるアレイであって、XおよびYが両方とも奇数であるアレイと、
前記アレイの単一行において水平に整列されたフィルタ係数セルを占める値ゼロを含む複数のフィルタ係数であって、前記ゼロフィルタ係数の少なくとも1つが、前記アレイの中央フィルタ係数セルを占める、フィルタ係数と、
を備え、
前記残りの複数のフィルタ係数セルについては、前記複数のゼロフィルタ係数に隣接するフィルタ係数セルを占める複数の正の数値、および前記複数のゼロフィルタ係数に隣接し、前記複数のゼロフィルタ係数をはさんで前記複数の正の数値の反対側にあるフィルタ係数セルを占める複数の負の数値によって占められている、エッジ検出フィルタと、
前記複数の画像画素に前記エッジ検出フィルタを適用することによって、複数の行値を計算する手段と、
前記複数の行値の各々を複数の記憶場所に保存する手段と、
前記複数の記憶場所の各々を合計し、フィルタ出力を生成するとともに、前記フィルタ出力を記憶格納装置に保存する手段と、
前記複数の記憶場所の内容をシフトする手段と、
前記複数の記憶場所の1つまたは複数についての1つまたは複数のスイッチを開き、前記スイッチの残りを閉じる手段と、
前記複数の記憶場所の内容を用いて、前回のフィルタ位置からの前記フィルタ出力RXと値RX,0を合算し、値RX,Nおよび値RX,N+1を減算し、値RX,2N+1を加算することによって、新しいフィルタ位置についてのフィルタ出力を計算する手段と、
を備える装置。
【請求項47】
超音波画像におけるエッジを検出する装置であって、
B行の行およびC列の列の複数の画像画素を含む超音波画像と、
エッジ検出フィルタであって、
X行の行およびY列の列の複数のフィルタ係数セルを備えるアレイであって、XおよびYが両方とも奇数であるアレイと、
隣接するフィルタ係数セルを占める値ゼロを含む複数のフィルタ係数であって、前記ゼロフィルタ係数の少なくとも1つが、前記アレイの中央フィルタ係数セルを占める、フィルタ係数と、
を備え、
前記残りの複数のフィルタ係数セルについては、前記複数のゼロフィルタ係数に隣接するフィルタ係数セルを占める複数の正の数値、および前記複数のゼロフィルタ係数に隣接し、前記複数のゼロフィルタ係数をはさんで前記複数の正の数値の反対側にあるフィルタ係数セルを占める複数の負の数値によって占められている、エッジ検出フィルタと、
前記複数の画像画素に第1の方向の原点および第2の方向の原点における位置において前記エッジ検出フィルタを適用することによって、複数の列値を計算する手段と、
前記複数の列値の各々を複数の記憶場所に保存する手段と、
前記複数の記憶場所の各々を合計し、フィルタ出力を生成するとともに、前記フィルタ出力を記憶格納装置に保存する手段と、
前記エッジ検出フィルタの前記位置を第1の方向にインクリメントする手段と、
前記複数の記憶場所の内容をシフトする手段と、
前記新しい列を含む複数の値を合計し、新しい列値を生成する手段と、
前記フィルタ出力から、前記新しい列値を加算し、古い列値を減算することによって、新しいフィルタ出力を計算する手段と、
前記新しいフィルタ出力を前記記憶格納装置に保存する手段と、
前記画像の境界に到達するまで前記インクリメントする手段、前記シフトする手段、前記合計する手段、前記計算する手段、および前記保存する手段を順次繰り返す手段と、
前記エッジ検出フィルタの前記位置を第2の方向にインクリメントし、前記位置を前記画像の前記第1の方向の原点にリセットする手段と、
前記画像の境界に到達するまで前記計算する手段、前記保存する手段、前記合計する手段、前記インクリメントする手段、前記シフトする手段、前記合計する手段、前記計算する手段、前記保存する手段、前記順次繰り返す手段、および前記インクリメントする手段を順次繰り返す手段と、
を備える装置。
【請求項48】
超音波画像におけるエッジを検出する装置であって、
B行の行およびC列の列の複数の画像画素を含む超音波画像と、
エッジ検出フィルタであって、
X行の行およびY列の列の複数のフィルタ係数セルを備えるアレイであって、XおよびYが両方とも奇数であるアレイと、
単一列において垂直に整列されたフィルタ係数セルを占める値ゼロを含む複数のフィルタ係数であって、前記ゼロフィルタ係数の少なくとも1つが、前記アレイの中央フィルタ係数セルを占める、フィルタ係数と、
を備え、
前記残りの複数のフィルタ係数セルについては、前記複数のゼロフィルタ係数に隣接するフィルタ係数セルを占める複数の正の数値、および前記複数のゼロフィルタ係数に隣接し、前記複数のゼロフィルタ係数をはさんで前記複数の正の数値の反対側にあるフィルタ係数セルを占める複数の負の数値によって占められている、エッジ検出フィルタと、
前記複数の画像画素に前記エッジ検出フィルタを適用することによって、複数の列値を計算する手段と、
前記複数の列値の各々を複数の記憶場所に保存する手段と、
前記複数の記憶場所の各々を合計し、フィルタ出力を生成するとともに、前記フィルタ出力を格納記憶装置に保存する手段と、
前記複数の記憶場所の内容をシフトする手段と、
前記複数の記憶場所の1つまたは複数についての1つまたは複数のスイッチを開き、前記スイッチの残りを閉じる手段と、
前記複数の記憶場所の内容を用いて、前回のフィルタ位置からの前記フィルタ出力RYと値R’Y,0を合算し、値R’Y,Mおよび値R’Y,M+1を減算し、値R’Y,2M+1を加算することによって、新しいフィルタ位置についてのフィルタ出力を計算する手段と、
を備える装置。

【図1a】
image rotate

【図1b】
image rotate

【図1c】
image rotate

【図2a】
image rotate

【図2b】
image rotate

【図2c】
image rotate

【図3a】
image rotate

【図3b】
image rotate

【図3c】
image rotate

【図3d】
image rotate

【図3e】
image rotate

【図4】
image rotate

【図5a】
image rotate

【図5b】
image rotate

【図5c】
image rotate

【図5d】
image rotate

【図5e】
image rotate

【図5f】
image rotate

【図5g】
image rotate

【図5h】
image rotate

【図6a】
image rotate

【図6b】
image rotate

【図7a】
image rotate

【図7b】
image rotate

【図8a】
image rotate

【図8b】
image rotate

【図9a】
image rotate

【図9b】
image rotate

【図10a】
image rotate

【図10b】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公表番号】特表2008−504098(P2008−504098A)
【公表日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願番号】特願2007−518741(P2007−518741)
【出願日】平成17年6月27日(2005.6.27)
【国際出願番号】PCT/IB2005/003966
【国際公開番号】WO2006/046154
【国際公開日】平成18年5月4日(2006.5.4)
【出願人】(390029791)アロカ株式会社 (899)
【Fターム(参考)】