再構成可能モジュールと、モルフォロジー演算を実行するために同モジュールを実施する方法
本発明は、モルフォロジー演算を画像処理に対し実行できるようにする再構成可能モジュールに関する。モジュールは、5入力(A,B,C,D,E)、3出力(S0,S1,S)、3つの加算器/減算器(add1,add2,add3)および4つの論理ブロック(muxA/B,muxD/E,muxE/S,muxABC)を含む演算ブロックを含む。論理ブロック(muxA/B,muxD/E,muxE/S,muxABC)は、出力(S0,S1,S)が5入力(A,B,C,D,E)に対し実行された基本演算(加算、減算、最小値、最大値)の結果を送出できるように3つの加算器/減算器(add1,add2,add3)間の様々な経路を提供する。本再構成可能モジュールは、部品数の低減と、様々なモルフォロジー演算(そのパラメーターは変更可能である)を実行可能にすること、とにより特徴付けられる。さらに、本再構成可能モジュールは、より複雑なモルフォロジー演算を実行するために直列結合可能である。本発明はまた、原画像を起点として原画像の積分画像、浸蝕画像、拡張画像、距離画像、または行と列に沿った投射を決定できるようにする再構成可能モジュールを実施する方法に関する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、再構成可能モジュールと、モルフォロジー演算(morphological operations)を実行するために同モジュールを実施する方法とに関する。特に、画像処理に適用される一組のモルフォロジー演算を実行できるようにする単一の再構成可能モジュールを提供する。再構成可能モジュールは特に、原画像から始まり積分画像と、浸蝕画像(eroded image)と、拡張画像(expanded image)と、マンハッタン距離画像と、原画像の投射とを決定することができる。本発明は特に、移動体電話またはコンピュータ支援運転システムの映像などの搭載型電子機器の分野に適用可能である。
【背景技術】
【0002】
モルフォロジー演算は画像処理の基本演算を形成する。このためモルフォロジー演算は画像処理に多く使用される。マルチメディア技術の発展、特に電子回路の微細化に伴う画像解像度の増大と共に、現在これらのモルフォロジー演算の最適化の必要性が高まりつつある。今日、特定用途向け集積回路(ASIC:application specific integrated circuit)によりモルフォロジー演算を加速させることができる。しかしながらASIC回路自体は特定の1つのモルフォロジー演算だけを加速させることができる。換言すれば、いくつものモルフォロジー演算を実際に加速させることができるASICモジュールは存在しない。さらに、浸食および拡張動作に関する限り、特定のASIC回路は、所定の次元の構成要素の、あるいはせいぜい所定の次元より小さな次元を有する構成要素のこれら演算だけを実行することができる。すなわち次元3×3の構成要素の浸食または拡張演算を実行するASIC回路は、次元5×5の構成要素の浸食または拡張演算を実行することができない。したがってこれらの2つの制限に対する1つの解は、パーソナルコンピュータなどのプログラム可能処理構造を使用することにある。しかしながらこのような構造はASIC回路のものより著しく劣った性能を示す。一例として、プログラム可能構造により結果を得るためには1画素当たり少なくとも3サイクルが必要であり、一方、いくつかのASIC回路では単一サイクル内にいくつかの画素の結果を得ることができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の1つの目的は、特に、性能、柔軟性、シリコン表面積に対し最善の妥協でもっていくつかのモルフォロジー演算を実行できるようにする再構成可能モジュールを提供することにより、前述の欠点のすべてまたは一部を克服することである。この目的のため、本発明の1つの主題は5入力と3出力を有する演算ブロックを含む再構成可能モジュールである。演算ブロックの第1の出力は、演算ブロックの第1と第2の入力の加算の結果、または演算ブロックの第1の入力から第2の入力を減算した結果、または演算ブロックの第1と第2の入力の最小値、または演算ブロックの第1と第2の入力の最大値のいずれかを供給することができる。演算ブロックの第2の出力は、演算ブロックの第4と第5の入力の加算の結果、または演算ブロックの第4の入力から第5の入力を減算した結果、または演算ブロックの第4と第5の入力の最小値、または演算ブロックの第4と第5の入力の最大値、または演算ブロックの第1、第2、第4の入力の最小値、または演算ブロックの第1、第2、第4の入力の最大値のいずれかを供給することができる。演算ブロックの第3の出力は、演算ブロックの第1と第3の入力の加算の結果、または演算ブロックの第1の入力から第3の入力を減算した結果のいずれかを供給することができる。
【0004】
本発明は特に、積分、浸食、拡張、マンハッタン距離、および投射の各演算を単一モジュールにより、かつ最適化されたやり方で実行できるようにするという利点を持つ。侵食および拡張演算はさらに再構成可能モジュールを直列結合することにより3×3より大きな次元の構成要素で実行可能である。
【0005】
本発明の別の主題は上述の再構成可能モジュールを実施するための方法である。本発明によれば、本方法は、M行×N列(MとNは正整数)の画素p(m,n)を含む原画像を起点として、積分画像、浸蝕画像、拡張画像、マンハッタン距離画像、または原画像の行に沿った投射および列に沿った投射のいずれかを決定することからなる工程を含む。演算ブロックに属する加算器/減算器により実行される演算のタイプと、演算ブロックに属する論理ブロックの入出力間で確立されるリンクとに依存して最終画像のタイプを決定することができる。積分画像、浸蝕画像、拡張画像およびマンハッタン距離画像は原画像と同じ次元を有する。
【図面の簡単な説明】
【0006】
本発明は、一例として示される実施形態の詳細説明(添付図面を参照し示される)を読むとさらに良く理解され、また他の利点が明らかになるであろう。
【0007】
【図1a】原画像の例。
【図1b】図1aの原画像に関連する積分画像。
【図2】積分画像を用いた一組の画素の重み計算の原理図。
【図3a】原画像の第2の例。
【図3b】図3aの原画像を起点として本発明による積分画像演算の第1の工程により得られる中間画像。
【図3c】図3bの中間画像を起点として本発明による積分画像演算の第2の工程により得られる積分画像。
【図4】原画像の第3の例を起点として浸蝕画像および拡張画像を決定する原理図。
【図5】構成要素の2つの部分要素への分解図。
【図6a】原画像の第4の例を起点として本発明による浸食演算の第1の工程により得られる中間画像を決定する原理図。
【図6b】図6aの中間画像を起点として本発明による浸食演算の第2の工程により得られる浸蝕画像を決定する原理図。
【図7】2進原画像およびそれに関連する距離画像の第5の例。
【図8】図7の2進原画像を起点として距離画像を決定する原理図。
【図9】2進原画像を起点として中間画像が得られるようにする本発明による市街区距離(city−block distance)演算の下位工程。
【図10】図9の下位工程を起点として得られる2進原画像と中間画像の例。
【図11】中間画像を起点として距離画像が得られるようにする本発明による市街区距離演算の下位工程。
【図12】図10の中間画像と、図11の下位工程を起点として得られる距離画像。
【図13】投射演算の図。
【図14】演算ブロックの例。
【図15】図14の演算ブロックを含む再構成可能モジュール。
【図16】図15による2つの再構成可能モジュールの直列結合の例。
【発明を実施するための形態】
【0008】
モルフォロジー演算の説明
本明細書の以下の部分では、行列画像すなわち列と行に配置された画素からなる画像を採用する。幾何学的な観点からは、画素は同じ大きさの矩形と等価である。画素p(m,n)は、行mと列n内のその位置(mとnはそれぞれ1と画像の行数Mと列数Nの範囲内の整数である)を用い原点Oを基準として配置される。さらに、矩形画像(行毎に同数の画素p(m,n)を含む画像)を考える。
【0009】
積分
図1aと1bに、第1のモルフォロジー演算(積分と呼ばれる)の原理を示す。図1aに、4行(M=4)×4列(N=4)の画素p(m,n)すなわち16の画素p(m,n)からなる画像(原画像と呼ばれる)を示す。重みwo(m,n)として知られるスカラー値が原画像の各画素p(m,n)に関連付けられる。8ビットで符号化された画像については、重みwo(m,n)は値0〜255の範囲にある。積分画像演算は積分画像と呼ばれる画像(原画像と同じ大きさの)を決定することからなる。各画素p(m,n)の重みwi(m,n)は、原点Oと当該画素p(m,n)により境界が付けられる矩形領域内に位置するすべての画素p(x,y)の重みwo(m,n)の合計から決定される。積分画像演算は式(1)によりモデル化される。
【数1】
このようにして得られた積分画像を図1bに示す。
【0010】
積分画像を使用することで、いかなる特定群の画素p(m,n)の重みwo(m,n)の合計の計算も加速することが可能となる。このような画素p(m,n)の群は面(surface)と呼ばれる。図2に、矩形ABCDの重みを計算するための原理を示す。明白なやり方で、積分画像を使用することによりそして次式による加算と2つの減算により面ABCDの重みWを得ることができる。
W=A−B+C−D (2)
積分画像の使用により、面ABCDに属する画素p(m,n)の重みwo(m,n)をすべて加算しなければならないことを回避する。これは同じ画像のいくつかの面を計算しなければならない場合と画像の解像度が高い場合に特に有利である。
【0011】
本発明によれば、積分画像は、原画像を起点として中間画像を決定する第1の工程と中間画像を起点として積分画像を決定する第2の工程の2工程で決定される。中間画像は積分画像と同様に原画像と同じ大きさを有する。原画像の例を図3aに示す。中間画像の画素p(m,n)の重みwii(m,n)は、原画像の当該画素p(m,n)の重みwo(m,n)に前行上の同じ列に位置する中間画像の画素p(m−1,n)の重みwii(m−1,n)を加えることにより次々に決定される。中間画像の結果を図3bに示す。次に,積分画像の画素p(m,n)の重みwi(m,n)は、再び中間画像の当該画素p(m,n)の重みwii(m,n)に画素p(m,n−1)の前列内の同じ行上に位置する積分画像の重みwi(m,n−1)を加えることにより次々に決定される。積分画像の結果を図3cに示す。中間画像の重みwii(m,n)と積分画像の重みwi(m,n)の決定は以下のアルゴリズムによりモデル化される。
FOR m 1からMまで変化,DO:
FOR n 1からNまで変化,DO:
wii(m,n)=wo(m,n)+wii(m−1,n) (3)
End FOR
End FOR
FOR m 1からMまで変化,DO:
FOR n 1からNまで変化,DO:
wi(m,n)=wii(m,n)+wi(m,n−1) (4)
End FOR
End FOR
【0012】
第1行(m=1)と第1列(n=1)の特定の場合は、初期化行および列と呼ばれる行と列を考慮することにより容易に扱える。初期化行(m=0)は中間画像の第1行(m=1)の前に挿入可能である。この初期化行のすべての画素p(0,n)の重みwii(0,n)は、中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)が原画像の同じ画素p(1,n)の重みwo(1,n)に等しくなるように、値0に設定される。さらに初期化列(n=0)は積分画像の第1列(n=1)の前に挿入可能である。この初期化列内のすべての画素p(m,0)の重みwi(m,0)は、積分画像の第1列(n=1)の画素p(m,1)の重みwi(m,1)が中間画像の同じ画素p(m,1)の重みwii(m,1)に等しくなるように、値0に設定される。別の実施形態によると、第1行(m=1)の特定の場合は、中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)を原画像の第1行(m=1)の画素p(1,n)の重みwo(1,n)と同じ値に初期化することにより扱われ、第1列(n=1)の特定の場合は、積分画像の第1列(n=1)の画素p(m,1)の重みwi(m,1)を中間画像の第1列(n=1)の画素p(m,1)の重みwii(m,1)と同じ値に初期化することにより扱われる。このとき、先のアルゴリズムの式(3)と(4)は、2からMまで変化するmと2からNまで変化するnに対し決定される。
【0013】
以上の説明は、中間画像が原画像と中間画像の画素p(m,n)とp(m−1,n)の重みwo(m,n)とwii(m−1,n)を行毎に加算することにより得られるということと、積分画像が中間画像と積分画像の画素p(m,n)とp(m,n−1)の重みwii(m,n)とwi(m,n−1)を列毎に加算することにより得られるということと、を考慮することにより示された。適切な初期化行および列を考慮することにより行毎の加算は列毎の加算と反転されてもよいことは言うまでもない。このとき、アルゴリズムは次のようになる。
FOR n 1からNまで変化,DO:
FOR m 1からMまで変化,DO:
wii(m,n)=wo(m,n)+wii(m,n−1) (3’)
End FOR
End FOR
FOR n 1からNまで変化,DO:
FOR m 1からMまで変化,DO:
wi(m,n)=wii(m,n)+wi(m−1,n) (4’)
End FOR
End FOR
【0014】
浸食−拡張
図4に、浸食および拡張と呼ばれる他の2つのモルフォロジー演算の原理を示す。これら2つのモルフォロジー演算は同様なやり方で実行される。黒と白のモノクロ画像の場合、浸食演算は灰色レベルピークを除去して「穴を広げる」ために特に使用され、一方、拡張演算は灰色レベルピークを広げて「穴を埋める」ために使用される。これらの演算は画素のメッシュからなる作業窓(working window)(構成要素とも呼ばれる)を利用する。このメッシュは正方形、矩形、または六角形であってよい。図4に、4行(M=4)×4列(N=4)の画素p(m,n)からなる原画像と、大きさ3×3の構成要素による浸食演算と拡張演算それぞれの後のこの原画像に対して得られた浸蝕および拡張画像の例を示す。浸食演算は、原画像の画素p(m,n)毎に、当該画素p(m,n)を中心とする構成要素に属する画素p(x,y)の重みwo(x,y)の最小値に対応する重みwe(m,n)を決定することからなる。逆に、拡張演算は、原画像の画素p(m,n)毎に、当該画素p(m,n)を中心とする構成要素に属する画素p(x,y)の重みwo(x,y)の最大値に対応する重みwf(m,n)を決定することからなる。
【0015】
本発明によれば、侵食および拡張演算はそれぞれ、原画像を起点として中間画像を決定する第1の工程と中間画像を起点として浸蝕または拡張画像を決定する第2の工程の2工程を使用して決定される。この目的のため、大きさP×Qの構成要素は、図5に示すように、大きさ1×Qの第1の部分要素と大きさP×1の第2の部分要素の2つの部分要素に分解される。このとき中間画像は、原画像の各行上の第1の部分要素を走査することにより(すなわち画素から画素に移動することにより)決定される。浸蝕または拡張画像は次に中間画像の各列内の第2の部分要素を走査することにより決定される。本明細書の以下の部分は、図6aに示す原画像の浸食演算と大きさ3×3の構成要素に関し示される。図6aに示す第1の工程では、中間画像の画素p(m,n)の重みwie(m,n)は、原画像の画素p(m,n−1)、p(m,n)、p(m,n+1)の重みwo(m,n−1)、wo(m,n)、wo(m,n+1)の最小値を考慮することにより決定される。図6bに示す第2の工程では、中間画像の画素p(m,n)の重みwie(m,n)は、中間画像の画素p(m−1,n)、p(m,n)、p(m+1,n)の重みwie(m−1,n)、wie(m,n)、wie(m+1,n)の最小値を考慮することにより決定される。中間画像の重みwe(m,n)と浸蝕画像の重みwie(m,n)の決定は、次式によりモデル化可能である。
(m,n) [1,M]×[1,N]
wie(m,n)=min[wo(m,n−1),wo(m,n),wo(m,n+1)] (5)
we(m,n)=min[wie(m−1,n),wie(m,n),wie(m+1,n)] (6)
【0016】
最初と最後の行(m=1とm=M)および最初と最後の列(n=1とn=N)の特定の場合は、フレーミング行および列と呼ばれる行および列を考慮することにより容易に扱える。フレーミング行(m=0とm=M+1)は、原画像の第1行(m=1)の前と最後の行(m=M)の後に挿入可能である。例えば、これらのフレーミング行のすべての画素p(0,n)とp(M+1,n)の重みwo(0,n)とwo(M+1,n)は、原画像の画素p(m,n)の重みwo(m,n)がとることができる最も高い値(浸食の場合)、例えば255に設定される。さらにフレーミング列(n=0とn=N+1)は、中間画像の第1列(n=1)の前と最後の列(n=N+1)の後に挿入可能である。すべての画素p(m,0)とp(m,n+1)の重みwie(m,0)とwie(m,N+1)は例えば、中間画像の画素p(m,n)の重みwie(m,n)がとることができる最も高い値、例えば255に設定される。
【0017】
別の実施形態によると、最初と最後の行(m=1とm=M)と最初と最後の列(n=1とn=N)の特定の場合は、原画像と中間画像の外に位置する行と列を考慮しないことにより取り扱い可能である。換言すれば、構成要素の部分要素は画像の端において低減される。
【0018】
浸食演算の第1と第2の工程は反転されてもよく、このとき中間画像は行上の最小値の代わりに列内の最小値により得られることは言うまでもない。
【0019】
拡張演算は、浸食演算を適合させることにより(特には、最小値演算と最大値演算を置換することにより)容易に得られる。このとき、最初と最後の行および最初と最後の列の特定の場合は、当該重みの値を値0に設定することにより取り扱い可能である。
【0020】
マンハッタン距離
図7と図8に、マンハッタン距離演算(また、文献では用語「市街区」距離により知られている)の原理を示す。この演算は、画像内の対象物の距離を画像の任意の点に対し決定できるようにする。この演算については、2進原画像(すなわち、その重みが、ハイ状態に対応する第1の値(例えば「1」)とロー状態に対応する第2の値(例えば「0」)の2つの値の1つだけをとることができる画素からなる画像)が使用されなければならない。2進原画像は閾値化により得られる。対象物に対応する2進原画像の画素は例えばハイ状態に設定された重みを有し、他の画素はロー状態に設定された重みを有する。マンハッタン距離演算により得られる画像(距離画像と呼ばれる)は、各画素p(m,n)の画像の重みwd(m,n)が対象物に属する当該画素p(m,n)と当該画素p(m,n)に最も近い画素p(x,y)間のマンハッタン距離に等しい画像である。図7に、2進原画像および対応する距離画像の例を示す。次式によると、2つの画素p(m,n)とp(x,y)間のマンハッタン距離Dは、画素p(m,n)の行mと画素p(x,y)の行x間の絶対値差異と、画素p(m,n)の列nと画素p(x,y)の列y間の絶対値差異との合計を意味すると理解される。
D=|m−x|+|n−y| (7)
図8に、距離画像の画素p(2,3)の重みwd(2,3)の計算を示す。対象物に属する画素p(2,3)に最も近い画素の1つは画素p(5,4)である。したがって画素p(2,3)の重みwd(2,3)は次式により決定される。
wd(2,3)=D=|2−5|+|3−4|=4
対象物と当該画素p(m,n)との間の他の任意の経路は同じマンハッタン距離したがって同じ重みwd(m,n)を生ずるであろうことに留意されたい。
【0021】
本発明によれば、マンハッタン距離演算は本発明による他のモルフォロジー演算のように2工程で決定される。第1の工程は原画像を起点として中間画像(この場合は2進原画像)を決定し、第2の工程は中間画像を起点として距離画像を決定する。第1の工程では、三角法の意味で4分の1回転されかつp(m,n−1)、p(m,n)、p(m−1,n)の3つの画素からなる反転「L」字型の構成要素(図10)が画素p(1,1)を起点として原画像の各行にわたって連続的に走査される。中心画素p(m,n)が対象物に属する場合、中間画像内のこの同じ画素p(m,n)の重みwid(m,n)は零に設定される。そうでない場合、中間画像の中心画素p(m,n)の重みwid(m,n)は、前列(n−1)の同じ行(m)に位置する中間画像の画素p(m,n−1)の重みV1=wid(m,n−1)と同じ列(n)の前行(m−1)に位置する中間画像の画素p(m−1,n)の重みB1=wid(m−1,n)とを比較することにより決定される。このとき中間画像の中心画素p(m,n)の重みwid(m,n)は次式に従って1単位だけインクリメントされた重みV1とB1の最小値に等しい。
wid(m,n)=min(V1+1,B1+1) (8)
第2の工程では、反三角法の意味で4分の1回転されかつp(m+1,n)、(p(m,n)、p(m,n+1)の3つの画素からなる再び「L」字型の構成要素(図12)が画素p(M,N)を起点として中間画像の各行にわたって連続的に走査される。このとき距離画像の中心画素p(m,n)の重みwd(m,n)は、中間画像の画素p(m,n)の重みr=wid(m,n)、距離画像の画素p(m+1,n)の重みB2=wd(m+1,n)、距離画像の画素p(m,n+1)の重みV2=wd(m,n+1)を比較することにより決定される。このとき距離画像の中心画素p(m,n)の重みwd(m,n)は次式に従って重みr、B2+1、V2+1の最小値に等しい。
wd(m,n)=min(r,B2+1,V2+1) (9)
特定の一実施形態によると、第2の工程では、中心画素p(m,n)が対象物に属するかどうかもまた検証される。中心画素p(m,n)が対象物に属する場合、距離画像内のこの同じ画素p(m,n)の重みwd(m,n)は零に設定される。そうでない場合、画素p(m,n)の重みwd(m,n)は式(9)により決定される。この特定の実施形態は、第2の工程を第1の工程に適合させることができる。
【0022】
図9に、第1の工程の下位工程を示す。初期化工程101と称する第1の下位工程では、初期化行(m=0)と初期化列(n=0)は中間画像の第1行(m=1)の前と第1列(n=1)の前にそれぞれ挿入される。初期化行(m=0)と初期化列(n=0)の画素p(0,n)とp(m,0)の重みwid(0,n)とwid(m,0)は、基準値Vrefに対し設定され画素p(m,n)の数Nmaxに設定される。この数Nmaxは画像内の所与の画素p(m,n)と対象物との間の最大距離に対応する。数Nmaxは次式により決定される。
Nmax=(N−1)+(M−1)
基準値Vrefは数Nmaxより大きくなるように決定される。基準値Vrefはレジスタの最大値に対応する。VGA解像度画像の場合、Vrefは値2048(すなわち11ビットレジスタ)に設定可能である。「フルHD」と称する解像度を有する(すなわち、1920×1080画素の行列を含む)画像の場合、Vrefは4096(すなわち12ビットレジスタ)に設定可能である。重みwid(0,n)とwid(m,0)は次式に従って基準値Vrefマイナス数Nmaxに等しくてよい。
n [1,N],wid(0,n)=Vref−Nmax (10a)
m [1,M],wid(m,0)=Vref−Nmax (10b)
大きさ5×5の図10の原画像を考慮して、基準値Vrefとして16進値FFFF(16ビットレジスタに対応する)をとることによりこれらの式は次のようになる。
n [1,5],wid(0,n)=FFFF−[(5−1)+(5−1)]=FFF7
m [1,5],wid(m,0)=FFFF−8=FFF7
依然として初期化工程101において、行インデックスmと列インデックスnは値「1」にリセットされる。第2の下位工程102では、例えば原画像内のその重みwo(m,n)が値「1」に等しいということを検証することにより中心画素p(m,n)が対象物に属するかどうかが検証される。そうである場合、中間画像内のこの画素の重みwid(m,n)は、この画素と対象物との間の零の距離を示すために下位工程103において零に設定される。そうでない場合、中間画像の中心画素p(m,n)の重みwid(m,n)は、下位工程104において、式(8)に従い1単位だけインクリメントされた重みV1とB1の最小値に設定される。下位工程103または下位工程104の最後に、構成要素が行の最後に達したかどうかが下位工程105において調べられる。この条件は、例えば列インデックスnが列数Nに等しいときに検証される。この条件が検証されない場合、列インデックスnは第6の下位工程106において1単位だけインクリメントされる。この下位工程106の最後に、行内の次の画素p(m,n+1)の重みwid(m,n+1)を決定するために、第2の下位工程102を起点として新しい繰り返しが実行される。一方、構成要素が行の最後に達した場合、構成要素もまた列の最後に達したかどうか(すなわち、中心画素p(m,n)が画像の最後の画素p(m,n)に対応するかどうか)が下位工程107において調べられる。この条件が検証されると、第1の工程は下位工程108において終了され中間画像は完全に決定される。このようにして得られた中間画像を図10(16ビットカウンタの例)に示す。下位工程107において条件が検証されない場合、行インデックスmは1単位だけインクリメントされ列インデックスnは下位工程109において値「1」にリセットされる。この下位工程109の最後に、第2の下位工程102を起点として新しい繰り返しが実行される。
【0023】
図11に、第2の工程の下位工程を示す。この第2の工程は例えば下位工程108に続いて実行される。初期化工程201と称する第1の下位工程では、初期化行(m=M+1)と初期化列(n=N+1)は距離画像の最後の行(m=M)の後と最後の列(n=N)の後にそれぞれ挿入される。初期化行(m=M+1)と初期化列(n=N+1)の画素p(M+1,n)とp(m,N+1)の重みwd(M+1,n)とwd(m,N+1)は、次式に従って、第1の工程中に設定された基準値Vrefの関数として設定される。
n [1,N],wd(m+1,n)=Vref−1 (11a)
m [1,M],wd(m,N+1)=Vref−1 (11b)
図12に再現される図10の中間画像を考慮すると、これらの式は次のようになる。
n [1,5],wd(M+1,n)=FFFF−1=FFFE
m [1,5],wd(m,N+1)=FFFF−1=FFFE
依然として初期化工程201において、行インデックスmは値「M」にリセットされ列インデックスnは値「N」にリセットされる。第2の下位工程202では、距離画像の中心画素p(m,n)の重みwd(m,n)は、式(9)に従って重みr、B2+1、V2+1の最小値に設定される。下位工程202の最後に、構成要素が行の最後に達したかどうかが下位工程203において調べられる。この条件は、例えば列インデックスnが値「1」に等しい場合に検証される。この条件が検証されない場合、列インデックスnは下位工程204において1単位だけディクリメントされる。この下位工程204の最後に、行内の次の画素p(m,n−1)の重みwd(m,n−1)を決定するために第2の下位工程202を起点として新しい繰り返しが実行される。一方、構成要素が行の最後に達した場合、構成要素もまた列の最後に達したかどうか(すなわち、中心画素p(m,n)が画像の第1の画素p(1,1)に対応するかどうか)が下位工程205において調べられる。この条件が検証された場合、第2の工程は下位工程206において終了され距離画像は完全に決定される。このようにして得られた距離画像を図12に示す。下位工程205における条件が検証されない場合、下位工程207において行インデックスmは1単位だけディクリメントされ列インデックスnは値「N」にリセットされる。この下位工程207の最後に、第2の下位工程202を起点として新しい繰り返しが実行される。
【0024】
投射
図13に投射演算を示す。この演算は、原画像を起点として新しい行(m=X)と新しい列(n=Y)を決定できるようにする。ここで、新しい行の画素p(X,n)の重みwp(X,n)は原画像内の当該列のすべての画素p(m,n)の重みwo(m,n)の合計にそれぞれ等しく、新しい列の画素p(m,Y)の重みwp(m,Y)は原画像内の当該行のすべての画素p(m,n)の重みwo(m,n)の合計にそれぞれ等しい。新しい行と新しい列の画素p(X,n)とp(m,Y)の重みwp(X,n)とwp(m,Y)は次式によりモデル化可能である。
【数2】
【0025】
再構成可能モジュールの説明
演算ブロック
図14に、本発明による再構成可能モジュールの演算ブロックを概略的に示す。演算ブロックは、文字A、B、C、D、Eにより識別される5入力とS0、S1、Sにより識別される3出力を含む。これらの入力/出力は特に上に定義された演算を実行できるようにする。これらの入力/出力はまた、これらの演算の変形を実行できるようにし、本明細書では説明されない他の追加機能を可能にする。演算ブロックはまた、その構成が入力A、B、C、Dおよび/またはEに対し実行される演算の結果(加算器/減算器により実行される演算のタイプと、入力と様々な論理ブロックの出力間に確立されるリンクと、に依存する)を各出力S0、S1、Sにおいて送出できるようにする3つの加算器/減算器と4つの論理ブロックを含む。簡潔にするために、入力A、B、C、D、Eと出力S0、S1、Sは、加算器/減算器および論理ブロックの入力/出力と共に、これらの入力および出力上に存在するデータと混同される。論理ブロックは1つまたは複数の入力と1つまたは複数の出力を有する被制御回路を意味するものと理解される。各出力は、論理ブロックに適用される命令に依存する入力の1つと、例えば一般的な制御装置によりまたは論理ブロック内の論理によりリンクされる。用語「論理ブロック」はより広い意味で理解すべきである。いくつかの入力および/または出力を有する論理ブロックは、それぞれが1つまたは複数の入力と1つまたは複数の出力を有するマルチプレクサと論理ゲートの集合体により形成可能であることは言うまでもない。
【0026】
本発明によれば、演算ブロックの第1の出力S0は、演算ブロックの第1の入力Aと第2の入力Bの加算(A+B)の結果、または演算ブロックの第1の入力Aから第2の入力Bの減算(A−B)の結果、または演算ブロックの第1の入力Aと第2の入力Bの最小値(min(A,B))、または演算ブロックの第1の入力Aと第2の入力Bの最大値(max(A,B))のいずれかを送出することができる。演算ブロックの第2の出力S1は、演算ブロックの第4の入力Dと第5の入力Eの加算(D+E)の結果、または演算ブロックの第4の入力Dから第5の入力Eの減算(D−E)の結果、または演算ブロックの第4の入力Dと第5の入力Eの最小値(min(D,E))、または演算ブロックの第4の入力Dと第5の入力Eの最大値(max(D,E))、または演算ブロックの第1の入力A、第2の入力B、第4の入力Dの最小値(min(A,B,D))、または演算ブロックの第1の入力A、第2の入力B、第4の入力Dの最大値(max(A,B,D))のいずれかを送出することができる。演算ブロックの第3の出力Sは、演算ブロックの第1の出力S0と第3の入力Cの加算(S0+C)の結果、または第1の出力S0から第3の入力Cの減算(S0−C)の結果のいずれかを送出することができる。
【0027】
演算ブロックの3出力S0、S1、Sにおける結果の様々な組合せは、先に説明した5つのモルフォロジー演算を再構成可能モジュール内に存在する最少の部品で実行できるようにする。結局、シリコン表面積を節約し、従って再構成可能モジュールの大きさとコストを低減することが可能である。さらに、本発明による再構成可能モジュールはパイプラインアーキテクチャとして知られたアーキテクチャに対応するので、結果は各クロックパルスで供給可能である。結果は、中間画像からの画素の重み、あるいは積分画像、浸蝕画像、拡張画像、または距離画像からの画素の重みであってよい。したがってモルフォロジー演算を極めて速く実行することができる。
【0028】
演算ブロックの出力S0、S1、Sで得られる結果は、例えば加算器/減算器および以下に説明される論理ブロックの構成に由来する。この構成によれば、演算ブロックの第1の入力Aと第2の入力Bは、第1の加算器/減算器add1の第1および第2の入力と、第1の論理ブロックmuxA/Bの第1および第2の入力とにそれぞれ接続される。第1の加算器/減算器add1の出力は第1の論理ブロックmuxA/Bの第3の入力に接続される。この第1の論理ブロックmuxA/Bの出力は演算ブロックの第1の出力S0を形成する。再びこの構成によると、演算ブロックの第4の入力Dは第2の加算器/減算器add2の第1の入力と第2の論理ブロックmuxD/Eの第1の入力にそれぞれ接続される。演算ブロックの第5の入力Eは第3の論理ブロックmuxE/Sの第1の入力に接続される。この第3の論理ブロックmuxE/Sの出力は第2の加算器/減算器add2の第2の入力と第2の論理ブロックmuxD/Eの第2の入力に接続される。第2の加算器/減算器add2の出力は第2の論理ブロックmuxD/Eの第3の入力に接続される。第2の論理ブロックmuxD/Eの出力は演算ブロックの第2の出力S1を形成する。再びこの構成によると、演算ブロックの第3の入力Cと第1の論理ブロックmuxA/Bの出力は第4の論理ブロックmuxABCの第1と第2の入力にそれぞれ接続される。この第4の論理ブロックmuxABCの第1および第2の出力は第3の加算器/減算器add3の第1と第2の入力にそれぞれ接続される。第3の加算器/減算器add3の出力は第3の論理ブロックmuxE/Sの第2の入力に接続され、演算ブロックの第3の出力Sを形成する。
【0029】
特定の一実施形態によると、演算ブロックの第1の出力S0は、演算ブロックの第1の入力Aから第2の入力Bの減算(A−B)を実行し減算(A−B)の結果の符号を監視することにより、演算ブロックの第1と第2の入力AとBの最小値(min(A,B))または最大値(max(A,B))を送出する。減算の結果の符号は例えば第1の加算器/減算器add1の符号ビットにより与えられる。最小値(min(A,B))に関し、減算(A−B)の結果が負ならばリンクは第1の論理ブロックmuxA/Bの第1の入力と出力間に確立され、減算(A−B)の結果が正ならばリンクは第1の論理ブロックmuxA/Bの第2の入力と出力間に確立される。最大値(max(A,B))に関し、減算(A−B)の結果が正ならばリンクは第1の論理ブロックmuxA/Bの第1の入力と出力間に確立され、減算(A−B)の結果が負ならばリンクは第1の論理ブロックmuxA/Bの第2の入力と出力間に確立される。演算ブロックの第4と第5の入力DとEの最小値(min(D,E))または最大値(max(D,E))を決定するために、同じ原理を第2の加算器/減算器add2と第2の論理ブロックmuxD/Eに適用することができる。演算ブロックの第4の入力Dから第5の入力Eの減算(D−E)の結果の符号は第2の論理ブロックmuxD/Eの出力と第1または第2の入力との間に確立されるリンクを決定する。
【0030】
再構成可能モジュール
図15に示す特定の一実施形態によると、再構成可能モジュールは第1の入力I、第2の入力I_ch、第1の出力O、第2の出力O_ch、演算ブロックに入るデータストリームを制御できるようにする第5の論理ブロックmuxI、および演算ブロックを出るデータストリームを制御できるようにする第6の論理ブロックmuxOを含む。特に、再構成可能モジュールの第1の入力Iは第5の論理ブロックmuxIの第1の入力と第6の論理ブロックmuxOの第1の入力に接続可能である。第2の入力I_chは第5の論理ブロックmuxIの第2の入力に接続可能である。第5の論理ブロックmuxIの第1、第2、第3の出力は演算ブロックの第1、第2、第4の入力A、B、Dにそれぞれ接続可能である。演算ブロックの第1、第2、第3の出力S0、S1、Sは第6の論理ブロックmuxOの第2、第3、第4の入力にそれぞれ接続可能である。論理ブロックmuxOの出力は再構成可能モジュールの第1の出力Oを形成し、論理ブロックmuxIの第4の出力は再構成可能モジュールの第2の出力O_chを形成する。カスケード構成の場合、この第2の出力O_chを第2の再構成可能モジュールの入力I_chに接続することができる。すなわち、本発明による再構成可能モジュールは3×3より高い次元の構成要素により浸食または拡張演算などのより複雑なモルフォロジー演算を実行するために直列結合可能である。
【0031】
図15に示す特定の一実施形態によれば、再構成可能モジュールは、データを一時的に記憶できるようにするFIFOスタックと、演算ブロックの第2の入力Bに入るデータストリームを制御できるようにする第7の論理ブロックmuxBと、を含む。FIFOスタックは、その第1の入力データビットが出力対象の第1のデータビットであるスタックを意味するものと理解される。第5の論理ブロックmuxIの第2の出力は論理ブロックmuxBの第1の入力に接続可能である。この論理ブロックmuxBの出力は演算ブロックの第2の入力Bに接続可能である。演算ブロックの第1の出力S0はFIFOスタックの入力に接続可能であり、FIFOスタックの出力は第7の論理ブロックmuxBの第2の入力と第6の論理ブロックmuxOの第5の入力に接続可能である。
【0032】
図15に示す特定の一実施形態によれば、再構成可能モジュールは、演算ブロックの出力S1とS上に存在するデータを演算ブロックの入力において再注入する手段を含む。特に、これらの手段は第8の論理ブロックmuxA、第9の論理ブロックmuxD、第10の論理ブロックmuxEを含むことができる。第5の論理ブロックmuxIの第1と第3の出力は第8の論理ブロックmuxAの第1の入力と第9の論理ブロックmuxDの第1の入力にそれぞれ接続可能である。演算ブロックの第3の出力Sは、第8の論理ブロックmuxAの第2の入力と、第9の論理ブロックmuxDの第2の入力と、演算ブロックの第3の入力Cとに接続可能である。演算ブロックの第2と第3の出力S1、Sは第10の論理ブロックmuxEの第1と第2の入力にそれぞれ接続可能であり、この論理ブロックmuxEの出力は演算ブロックの第5の入力Eに接続可能である。
【0033】
図15に示す特定の一実施形態によれば、再構成可能モジュールはデータレジスタreg Cと第11の論理ブロックmuxCを含む。演算ブロックの第3の出力Sとデータレジスタreg Cは論理ブロックmuxCの第1と第2の入力にそれぞれ接続可能である。この論理ブロックmuxCの出力は演算ブロックの第3の入力Cに接続可能である。この特定の実施形態は、演算を所定値(例えば「0」と「1」)のデータで実行できるようにする。
【0034】
再構成可能モジュールを実施する方法の説明
再構成可能モジュールは上述のモルフォロジー演算を実行するために実施可能である。特に、画素p(m,n)のM行とN列を含む原画像を起点とし、再構成可能モジュールは積分画像、浸蝕画像、拡張画像、マンハッタン距離画像、または原画像の行と列に沿った投射のいずれかを決定することができる。これは、加算器/減算器add1〜add3により実行される演算のタイプと、入力と様々な論理ブロックの出力間に確立されるリンクと、に依存して実行される。
【0035】
積分
特定の一実施形態によると、積分画像の決定は、
−原画像と同じ次元の中間画像を定義し、中間画像の各画素p(m,n)に重みwii(m,n)が関連付けられる工程と、
−中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)を初期化する工程と、
−2からNまで変化するnの下記工程を繰り返す工程と、
○2からMまで変化するmの下記工程を繰り返す工程と、
□中間画像の画素p(m−1,n)の重みwii(m−1,n)に原画像の画素p(m,n)の重みwo(m,n)を加算する工程と、
□大きさM−1のFIFOスタックに加算の結果を格納する工程と、
−積分画像の第1列(n=1)の画素p(m,1)の重みwi(m,1)を初期化する工程と、
−2からMまで変化するmの下記工程を繰り返す工程と、
○2からNまで変化するnの下記工程を繰り返す工程、
□積分画像の画素p(m,n−1)の重みwi(m,n−1)に中間画像の画素p(m,n)の重みwii(m,n)を加算する工程、
を含む。
【0036】
これらの工程は、本発明による再構成可能モジュールに特にうまく適合する。特に、中間画像の画素p(m−1,n)の重みwii(m−1,n)に原画像の画素p(m,n)の重みwo(m,n)を加算する工程は、次のやり方で実行可能である。重みwo(m,n)が再構成可能モジュールの第1の入力Iに注入され、第5と第8の論理ブロックmuxI、muxAが演算ブロックの第1の入力Aに再構成可能モジュールの第1の入力Iを接続し、第7の論理ブロックmuxBが演算ブロックの第2の入力BにFIFOスタックの出力を接続する。このようにして、演算ブロックは重みwo(m,n)とwii(m−1,n)の加算を実行することができる。第6の論理ブロックmuxOは、中間画像の画素p(m,n)の重みwii(m,n)をこの出力Oにおいて各クロックパルスで供給するために、演算ブロックの出力S0を再構成可能モジュールの出力Oに接続する。
【0037】
さらに、積分画像の画素p(m,n−1)の重みwi(m,n−1)に中間画像の画素p(m,n)の重みwii(m,n)を加算する工程は、次のやり方で実行可能である。重みwii(m,n)が再構成可能モジュールの第1の入力Iに注入され、第5と第8の論理ブロックmuxI、muxAが演算ブロックの第1の入力Aに再構成可能モジュールの第1の入力Iを接続する。第7の論理ブロックmuxBはFIFOスタックの出力を演算ブロックの第2の入力Bに接続する。このようにして、演算ブロックは、重みwii(m,n)とFIFOスタックから来るwi(m,n−1)との加算を実行することができる。第6の論理ブロックmuxOは、積分画像の画素p(m,n)の重みwi(m,n)をこの出力Oにおいて各クロックパルスで供給するために、演算ブロックの出力S0を再構成可能モジュールの出力Oに接続する。
【0038】
積分画像の計算に必要な先の工程は、加算器add1を使用して演算ブロックの第1の入力Aと第2の入力Bを加算することにより演算ブロック内で実行される。結果は第1の論理ブロックmuxA/Bを介し出力S0に送られる。
【0039】
中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)の初期化工程は、これらの重みwii(1,n)を原画像の第1行(m=1)の画素p(1,n)の重みwo(1,n)と同じ値に設定することにより実行可能である。同様に、積分画像の第1列(n=1)の画素p(m,1)の重みwi(m,1)の初期化工程は、これらの重みwi(m,1)を中間画像の第1列(n=1)の画素p(m,1)の重みwii(m,1)と同じ値に設定することにより実行可能である。
【0040】
浸食−拡張
特定の一実施形態によると、次元3×3の構成要素による浸蝕画像の決定は、
−構成要素を次元1×3の第1の部分構成要素と次元3×1の第2の部分構成要素とに分解する工程と、
−原画像と同じ次元の中間画像を定義し、中間画像の各画素p(m,n)に重みwie(m,n)が関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程と、
□当該画素p(m,n)を中心とする第1の部分構成要素に属する画素p(x,y)の重みwo(x,y)の最小値を重みwie(m,n)に割り当てる工程、
−1からNまで変化するnの下記工程を繰り返す工程と、
○1からMまで変化するmの下記工程を繰り返す工程、
□当該画素p(m,n)を中心とする第2の部分構成要素に属する画素p(x,y)の重みwie(x,y)の最小値を重みwe(m,n)に割り当てる工程、
を含む。
【0041】
これらの工程は、再構成可能モジュールの第1の入力Iに重みwo(x,y)またはwie(x,y)を注入することにより再構成可能モジュールにより得られる。第5の論理ブロックmuxIは、再構成可能モジュールの第1の入力Iを、第8の論理ブロックmuxAを介し演算ブロックの第1の入力Aに、第7の論理ブロックmuxBを介し演算ブロックの第2の入力Bに、第9の論理ブロックmuxDを介し演算ブロックの第4の入力Dに、連続的に接続する。第10の論理ブロックmuxEは第3の出力Sを演算ブロックの第5の入力Eに接続する。こうして演算ブロックは、画素p(m,n)を中心とする第1また第2の部分構成要素に属する画素p(x,y)の重みwo(x,y)またはwie(x,y)の最小値を決定することができる。第6の論理ブロックmuxOは、中間画像の画素p(m,n)の重みwie(m,n)または浸蝕画像の画素p(m,n)の重みwe(m,n)のいずれかをこの出力Oにおいて各クロックパルスで供給するために、演算ブロックの第2の出力S1を再構成可能モジュールの第1の出力Oに接続する。
【0042】
第1の部分構成要素に属する画素p(x,y)の重みwo(x,y)の最小値と第2の部分構成要素に属する画素p(x,y)の重みwie(x,y)の最小値の重みwie(m,n)とwe(m,n)へのそれぞれの割り当ては、
−第1の加算器/減算器add1の第1の入力(A)から第2の入力(B)を減算する工程と、
−減算(A−B)の結果の符号に依存して、第1の入力(A)または第2の入力(B)と第1の論理ブロックmuxA/Bの出力との間にリンクを設定する工程と、
−第4の論理ブロックmuxABCの第2の入力と第1の出力間にリンクを設定する工程と、
−第3の加算器/減算器add3の第1の入力を値0に加算または値0から減算する工程と、
−第3の論理ブロックmuxE/Sの第1の入力と出力間にリンクを設定する工程と、
−第2の加算器/減算器add2の第1の入力(D)から第2の入力(E=S=AまたはE=S=B)を減算する工程と、
−第2の減算(D−E)の結果の符号に依存して第1または第2の入力(D、E=S=AまたはE=S=B)と第2の論理ブロックmuxD/Eの出力間にリンクを設定する工程と、を含むことができる。
【0043】
拡張画像を次元3×3の構成要素により決定できるようにする工程は、浸蝕画像の決定に関係する先の工程から容易に推定可能である(最小値演算と最大値演算を単純に置換する)。
【0044】
本発明による再構成可能モジュールはまた、浸蝕画像または拡張画像を3×3より高い次元(例えば5×5)の構成要素により高速に決定できるようにする。特に、次元5×5の構成要素による浸食については、5つの値の比較を行いこれら5つの値の最小値を保持する必要がある。この考えは、2つの再構成可能モジュールを使用することにより、そして5つの値を比較することができるように2つのモジュールにわたってこれらを分配することにより、3×3浸食用の再構成可能モジュールにより実行されるパイプラインモードを適用することである。
【0045】
図16に、浸蝕画像を次元5×5の構成要素により得られるようにする2つの直列結合された再構成可能モジュールの配置の例を示す。第1の再構成可能モジュール10の第1の出力O1は第2の再構成可能モジュール20の第1の入力I2に接続され、第1の再構成可能モジュール10の第2の出力O_ch1は第2の再構成可能モジュール20の第2の入力I_ch2に接続される。このとき重みwo(x,y)またはwie(x,y)は第1の再構成可能モジュール10の第1の入力I1に注入され、第1の再構成可能モジュール10の第2の入力I_ch1は使用されない。このとき第1の部分構成要素に属する3つの画素p(x,y)の重みwo(x,y)の最小値または第2の部分構成要素に属する3つの画素の重みwie(x,y)の最小値は、第1の再構成可能モジュール10の第1の出力O1において得られる。当該部分構成要素に属する他の2つの画素p(x,y)の重みwo(x,y)またはwie(x,y)は出力O_ch1と第2の入力I_ch2を介し第2の再構成可能モジュール20に単純に転送される。次に、当該部分構成要素に属する5つの画素p(x,y)の重みwo(x,y)またはwie(x,y)の最小値は、第2の再構成可能モジュール20の第1の出力O2において得られる。
【0046】
上述の直列結合はまた拡張画像を次元5×5の構成要素により得られるようにするということは言うまでもない。さらに、本発明による再構成可能モジュールは特に2以上の再構成可能モジュールの直列結合にうまく適合される。このような直列結合は、より大きな次元の構成要素を使用できるようにする。例えば、3つの再構成可能モジュールの直列結合は次元7×7の構成要素を使用できるようにする。
【0047】
距離
特定の一実施形態によると、距離画像の決定は、
−原画像と同じ次元の中間画像を定義し、中間画像の各画素p(m,n)に重みwid(m,n)が関連付けられる工程と、
−中心画素p(m,n)、前列内の中心画素p(m,n)と同じ行上に位置する画素p(m,n−1)、前行上の中心画素p(m,n)と同じ列に位置する画素p(m−1,n)の3つの画素からなる第1の構成要素を定義する工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程、
□中心画素p(m,n)が対象物に属するかどうかを判断する工程と、
□そうである場合、値0を重みwid(m,n)に割り当て、第6の論理ブロックmuxOが再構成可能モジュールの第1の入力Iを再構成可能モジュールの第1の出力Oに接続する工程と、
□そうでなければ、1単位だけインクリメントされた重みwid(m,n−1)=V1とwid(m−1,n)=B1の最小値を重みwid(m,n)に割り当て、第6の論理ブロックmuxOが演算ブロックの第3の出力Sを再構成可能モジュールの第1の出力Oに接続する工程、
−中心画素p(m,n)、次行上の中心画素p(m,n)と同じ列上に位置する画素p(m+1,n)、次列内の中心画素と同じ行上に位置する画素p(m,n+1)の3つの画素からなる第2の構成要素を定義する工程と、
−Mから1まで変化するmの下記工程を繰り返す工程と、
○Nから1まで変化するnの下記工程を繰り返す工程、
□重みwid(m,n)=r、wd(m+1,n)+1=B2+1、wd(m,n+1)+1=V2+1のうちの最小値を中心画素p(m,n)の重みwd(m,n)に割り当てる工程、
を含む。
【0048】
1からMまで変化するmと1からNまで変化するnの工程は、特に第7の論理ブロックmuxBがFIFOスタックの出力を演算ブロックの第2の入力Bに接続し第8の論理ブロックmuxAが演算ブロックの第3の出力Sを演算ブロックの第1の入力Aに接続するときに、再構成可能モジュールにより得られる。
【0049】
Mから1まで変化するmとNから1まで変化するnの工程は、特に、第5と第9の論理ブロックmuxI、muxDが再構成可能モジュールの第1の入力Iを演算ブロックの第4の入力Dに接続し、第6の論理ブロックmuxOが演算ブロックの第2の出力S1を再構成可能モジュールの第1の出力Oに接続し、第7の論理ブロックmuxBがFIFOスタックの出力を演算ブロックの第2の入力Bに接続し、第8の論理ブロックmuxAが演算ブロックの第3の出力Sを演算ブロックの第1の入力Aに接続するとき、再構成可能モジュールにより得られる。
【0050】
1単位だけインクリメントされた重みV1とB1の最小値の重みwid(m,n)への割り当ては、
−第1の加算器/減算器add1の重みV1を受信する第1の入力Aから重みB1を受信する第2の入力Bを減算する工程と、
−減算(V1−B1)の結果の符号に依存して、重みV1を受信する第1の入力または重みB1を受信する第2の入力と第1の論理ブロックmuxA/Bの出力との間のリンクを設定する工程と、
−第4の論理ブロックmuxABCの、重みB1またはV1を受信する第2の入力と第1の出力間および入力Cに接続された第1の入力と第2の出力間にリンクを設定する工程と、
−第3の加算器/減算器add3の第1の入力に値「1」を加算し、第11の論理ブロックmuxCが演算ブロックの第3の入力Cにデータレジスタreg Cを接続する工程と、を含むことができる。
【0051】
さらに、重みr、B2+1、V2+1の最小値の重みwd(m,n)への割り当ては、
−第1の加算器/減算器add1の重みV2を受信する第1の入力から重みB2を受信する第2の入力を減算する工程と、
−減算(V2−B2)の結果の符号に依存して、重みV2を受信する第1の入力または重みB2を受信する第2の入力と第1の論理ブロックmuxA/Bの出力との間のリンクを設定する工程と、
−第4の論理ブロックmuxABCの、重みB2またはV2を受信する第2の入力と第1の出力間および入力Cに接続された第1の入力と第2の出力間にリンクを設定する工程と、
−第3の加算器/減算器add3の第1の入力に値「1」を加算し、第11の論理ブロックmuxCが演算ブロックの第3の入力Cにデータレジスタreg Cを接続する工程と、
−第3の論理ブロックmuxE/Sを介し第3の加算器/減算器add3の出力と第2の加算器/減算器add2の第2の入力間にリンクを設定する工程と、
−重みrを受信する第1の入力から第2の加算器/減算器add2の重みB2+1またはV2+1を受信する第2の入力を減算する工程と、
−減算(r−(B2+1)またはr−(V2+1))の結果の符号に依存して、重みrを受信する第1の入力または重みB2+1またはV2+1を受信する第2の入力と第2の論理ブロックmuxD/Eの出力との間にリンクを設定する工程と、を含むことができる。
【0052】
投射
特定の一実施形態によれば、投射行と投射列とそれぞれ呼ばれる投射演算のための新しい行(m=X)と新しい列(n=Y)の決定は、
−原画像内に存在する行と同じ数Nの列を含む投射行と、原画像内に存在する列と同じ数Mの行を含む投射列とを定義し、重みwp(X,n)とwp(m,Y)が投射行の各画素p(X,n)と投射列の各画素p(m,Y)とにそれぞれ関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程、
□投射列の画素p(m,Y)の重みwp(m,Y)を原画像の画素p(m,n)の重みwo(m,n)に加算する工程と、
□投射行の画素p(X,n)の重みwp(X,n)を原画像の画素p(m,n)の重みwo(m,n)に加算する工程、
を含む。
【0053】
重みwo(m,n)に重みwp(m,Y)を加算する工程は、再構成可能モジュールの第1の入力Iに重みwo(m,n)を注入することにより再構成可能モジュールにより得られる。第5の論理ブロックmuxIは、第9の論理ブロックmuxDを介し再構成可能モジュールの第1の入力Iを演算ブロックの第4の入力Dに接続することができる。第10の論理ブロックmuxEは第2の出力S1を演算ブロックの第5の入力Eに接続することができる。このとき、演算ブロックは、第2の加算器/減算器add2により行(m)の画素p(m,n)の重みwo(m,n)の合計を計算することができる、第3の論理ブロックmuxE/Sは演算ブロックの第5の入力Eを第2の加算器/減算器add2の第2の入力に接続し、第2の論理ブロックmuxD/Eはこの加算器/減算器add2の出力を演算ブロックの第2の出力S1に接続する。nが原画像の列数Nに達すると、第6の論理ブロックmuxOは、行(m)の合計の結果を抽出できるようにするために第2の出力S1を再構成可能モジュールの第1の出力Oに接続することができる。
【0054】
重みwp(X,n)を重みwo(m,n)に加算する工程は、再構成可能モジュールの第1の入力Iに重みwo(m,n)を注入することにより再構成可能モジュールにより得られる。第5の論理ブロックmuxIは、第8の論理ブロックmuxAを介し再構成可能モジュールの第1の入力Iを演算ブロックの第1の入力Aに接続することができる。第7の論理ブロックmuxBはFIFOスタックの出力を演算ブロックの第2の入力Bに接続することができる。このとき演算ブロックは、第1の加算器/減算器add1により列(n)の画素p(m,n)の重みwo(m,n)の合計を計算することができる、重みwp(X,n)とwo(m,n)の加算結果はFIFOスタックに格納され、第1の論理ブロックmuxA/Bは第1の加算器/減算器add1の出力を演算ブロックの第1の出力S0に接続する。mが原画像の行数Mに達すると、FIFOスタックは列の合計の結果を含む。このとき第6の論理ブロックmuxOを介しFIFOスタックを空にすることができ、第6の論理ブロックmuxOはFIFOスタックの出力を再構成可能モジュールの第1の出力Oに接続する。
【技術分野】
【0001】
本発明は、再構成可能モジュールと、モルフォロジー演算(morphological operations)を実行するために同モジュールを実施する方法とに関する。特に、画像処理に適用される一組のモルフォロジー演算を実行できるようにする単一の再構成可能モジュールを提供する。再構成可能モジュールは特に、原画像から始まり積分画像と、浸蝕画像(eroded image)と、拡張画像(expanded image)と、マンハッタン距離画像と、原画像の投射とを決定することができる。本発明は特に、移動体電話またはコンピュータ支援運転システムの映像などの搭載型電子機器の分野に適用可能である。
【背景技術】
【0002】
モルフォロジー演算は画像処理の基本演算を形成する。このためモルフォロジー演算は画像処理に多く使用される。マルチメディア技術の発展、特に電子回路の微細化に伴う画像解像度の増大と共に、現在これらのモルフォロジー演算の最適化の必要性が高まりつつある。今日、特定用途向け集積回路(ASIC:application specific integrated circuit)によりモルフォロジー演算を加速させることができる。しかしながらASIC回路自体は特定の1つのモルフォロジー演算だけを加速させることができる。換言すれば、いくつものモルフォロジー演算を実際に加速させることができるASICモジュールは存在しない。さらに、浸食および拡張動作に関する限り、特定のASIC回路は、所定の次元の構成要素の、あるいはせいぜい所定の次元より小さな次元を有する構成要素のこれら演算だけを実行することができる。すなわち次元3×3の構成要素の浸食または拡張演算を実行するASIC回路は、次元5×5の構成要素の浸食または拡張演算を実行することができない。したがってこれらの2つの制限に対する1つの解は、パーソナルコンピュータなどのプログラム可能処理構造を使用することにある。しかしながらこのような構造はASIC回路のものより著しく劣った性能を示す。一例として、プログラム可能構造により結果を得るためには1画素当たり少なくとも3サイクルが必要であり、一方、いくつかのASIC回路では単一サイクル内にいくつかの画素の結果を得ることができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の1つの目的は、特に、性能、柔軟性、シリコン表面積に対し最善の妥協でもっていくつかのモルフォロジー演算を実行できるようにする再構成可能モジュールを提供することにより、前述の欠点のすべてまたは一部を克服することである。この目的のため、本発明の1つの主題は5入力と3出力を有する演算ブロックを含む再構成可能モジュールである。演算ブロックの第1の出力は、演算ブロックの第1と第2の入力の加算の結果、または演算ブロックの第1の入力から第2の入力を減算した結果、または演算ブロックの第1と第2の入力の最小値、または演算ブロックの第1と第2の入力の最大値のいずれかを供給することができる。演算ブロックの第2の出力は、演算ブロックの第4と第5の入力の加算の結果、または演算ブロックの第4の入力から第5の入力を減算した結果、または演算ブロックの第4と第5の入力の最小値、または演算ブロックの第4と第5の入力の最大値、または演算ブロックの第1、第2、第4の入力の最小値、または演算ブロックの第1、第2、第4の入力の最大値のいずれかを供給することができる。演算ブロックの第3の出力は、演算ブロックの第1と第3の入力の加算の結果、または演算ブロックの第1の入力から第3の入力を減算した結果のいずれかを供給することができる。
【0004】
本発明は特に、積分、浸食、拡張、マンハッタン距離、および投射の各演算を単一モジュールにより、かつ最適化されたやり方で実行できるようにするという利点を持つ。侵食および拡張演算はさらに再構成可能モジュールを直列結合することにより3×3より大きな次元の構成要素で実行可能である。
【0005】
本発明の別の主題は上述の再構成可能モジュールを実施するための方法である。本発明によれば、本方法は、M行×N列(MとNは正整数)の画素p(m,n)を含む原画像を起点として、積分画像、浸蝕画像、拡張画像、マンハッタン距離画像、または原画像の行に沿った投射および列に沿った投射のいずれかを決定することからなる工程を含む。演算ブロックに属する加算器/減算器により実行される演算のタイプと、演算ブロックに属する論理ブロックの入出力間で確立されるリンクとに依存して最終画像のタイプを決定することができる。積分画像、浸蝕画像、拡張画像およびマンハッタン距離画像は原画像と同じ次元を有する。
【図面の簡単な説明】
【0006】
本発明は、一例として示される実施形態の詳細説明(添付図面を参照し示される)を読むとさらに良く理解され、また他の利点が明らかになるであろう。
【0007】
【図1a】原画像の例。
【図1b】図1aの原画像に関連する積分画像。
【図2】積分画像を用いた一組の画素の重み計算の原理図。
【図3a】原画像の第2の例。
【図3b】図3aの原画像を起点として本発明による積分画像演算の第1の工程により得られる中間画像。
【図3c】図3bの中間画像を起点として本発明による積分画像演算の第2の工程により得られる積分画像。
【図4】原画像の第3の例を起点として浸蝕画像および拡張画像を決定する原理図。
【図5】構成要素の2つの部分要素への分解図。
【図6a】原画像の第4の例を起点として本発明による浸食演算の第1の工程により得られる中間画像を決定する原理図。
【図6b】図6aの中間画像を起点として本発明による浸食演算の第2の工程により得られる浸蝕画像を決定する原理図。
【図7】2進原画像およびそれに関連する距離画像の第5の例。
【図8】図7の2進原画像を起点として距離画像を決定する原理図。
【図9】2進原画像を起点として中間画像が得られるようにする本発明による市街区距離(city−block distance)演算の下位工程。
【図10】図9の下位工程を起点として得られる2進原画像と中間画像の例。
【図11】中間画像を起点として距離画像が得られるようにする本発明による市街区距離演算の下位工程。
【図12】図10の中間画像と、図11の下位工程を起点として得られる距離画像。
【図13】投射演算の図。
【図14】演算ブロックの例。
【図15】図14の演算ブロックを含む再構成可能モジュール。
【図16】図15による2つの再構成可能モジュールの直列結合の例。
【発明を実施するための形態】
【0008】
モルフォロジー演算の説明
本明細書の以下の部分では、行列画像すなわち列と行に配置された画素からなる画像を採用する。幾何学的な観点からは、画素は同じ大きさの矩形と等価である。画素p(m,n)は、行mと列n内のその位置(mとnはそれぞれ1と画像の行数Mと列数Nの範囲内の整数である)を用い原点Oを基準として配置される。さらに、矩形画像(行毎に同数の画素p(m,n)を含む画像)を考える。
【0009】
積分
図1aと1bに、第1のモルフォロジー演算(積分と呼ばれる)の原理を示す。図1aに、4行(M=4)×4列(N=4)の画素p(m,n)すなわち16の画素p(m,n)からなる画像(原画像と呼ばれる)を示す。重みwo(m,n)として知られるスカラー値が原画像の各画素p(m,n)に関連付けられる。8ビットで符号化された画像については、重みwo(m,n)は値0〜255の範囲にある。積分画像演算は積分画像と呼ばれる画像(原画像と同じ大きさの)を決定することからなる。各画素p(m,n)の重みwi(m,n)は、原点Oと当該画素p(m,n)により境界が付けられる矩形領域内に位置するすべての画素p(x,y)の重みwo(m,n)の合計から決定される。積分画像演算は式(1)によりモデル化される。
【数1】
このようにして得られた積分画像を図1bに示す。
【0010】
積分画像を使用することで、いかなる特定群の画素p(m,n)の重みwo(m,n)の合計の計算も加速することが可能となる。このような画素p(m,n)の群は面(surface)と呼ばれる。図2に、矩形ABCDの重みを計算するための原理を示す。明白なやり方で、積分画像を使用することによりそして次式による加算と2つの減算により面ABCDの重みWを得ることができる。
W=A−B+C−D (2)
積分画像の使用により、面ABCDに属する画素p(m,n)の重みwo(m,n)をすべて加算しなければならないことを回避する。これは同じ画像のいくつかの面を計算しなければならない場合と画像の解像度が高い場合に特に有利である。
【0011】
本発明によれば、積分画像は、原画像を起点として中間画像を決定する第1の工程と中間画像を起点として積分画像を決定する第2の工程の2工程で決定される。中間画像は積分画像と同様に原画像と同じ大きさを有する。原画像の例を図3aに示す。中間画像の画素p(m,n)の重みwii(m,n)は、原画像の当該画素p(m,n)の重みwo(m,n)に前行上の同じ列に位置する中間画像の画素p(m−1,n)の重みwii(m−1,n)を加えることにより次々に決定される。中間画像の結果を図3bに示す。次に,積分画像の画素p(m,n)の重みwi(m,n)は、再び中間画像の当該画素p(m,n)の重みwii(m,n)に画素p(m,n−1)の前列内の同じ行上に位置する積分画像の重みwi(m,n−1)を加えることにより次々に決定される。積分画像の結果を図3cに示す。中間画像の重みwii(m,n)と積分画像の重みwi(m,n)の決定は以下のアルゴリズムによりモデル化される。
FOR m 1からMまで変化,DO:
FOR n 1からNまで変化,DO:
wii(m,n)=wo(m,n)+wii(m−1,n) (3)
End FOR
End FOR
FOR m 1からMまで変化,DO:
FOR n 1からNまで変化,DO:
wi(m,n)=wii(m,n)+wi(m,n−1) (4)
End FOR
End FOR
【0012】
第1行(m=1)と第1列(n=1)の特定の場合は、初期化行および列と呼ばれる行と列を考慮することにより容易に扱える。初期化行(m=0)は中間画像の第1行(m=1)の前に挿入可能である。この初期化行のすべての画素p(0,n)の重みwii(0,n)は、中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)が原画像の同じ画素p(1,n)の重みwo(1,n)に等しくなるように、値0に設定される。さらに初期化列(n=0)は積分画像の第1列(n=1)の前に挿入可能である。この初期化列内のすべての画素p(m,0)の重みwi(m,0)は、積分画像の第1列(n=1)の画素p(m,1)の重みwi(m,1)が中間画像の同じ画素p(m,1)の重みwii(m,1)に等しくなるように、値0に設定される。別の実施形態によると、第1行(m=1)の特定の場合は、中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)を原画像の第1行(m=1)の画素p(1,n)の重みwo(1,n)と同じ値に初期化することにより扱われ、第1列(n=1)の特定の場合は、積分画像の第1列(n=1)の画素p(m,1)の重みwi(m,1)を中間画像の第1列(n=1)の画素p(m,1)の重みwii(m,1)と同じ値に初期化することにより扱われる。このとき、先のアルゴリズムの式(3)と(4)は、2からMまで変化するmと2からNまで変化するnに対し決定される。
【0013】
以上の説明は、中間画像が原画像と中間画像の画素p(m,n)とp(m−1,n)の重みwo(m,n)とwii(m−1,n)を行毎に加算することにより得られるということと、積分画像が中間画像と積分画像の画素p(m,n)とp(m,n−1)の重みwii(m,n)とwi(m,n−1)を列毎に加算することにより得られるということと、を考慮することにより示された。適切な初期化行および列を考慮することにより行毎の加算は列毎の加算と反転されてもよいことは言うまでもない。このとき、アルゴリズムは次のようになる。
FOR n 1からNまで変化,DO:
FOR m 1からMまで変化,DO:
wii(m,n)=wo(m,n)+wii(m,n−1) (3’)
End FOR
End FOR
FOR n 1からNまで変化,DO:
FOR m 1からMまで変化,DO:
wi(m,n)=wii(m,n)+wi(m−1,n) (4’)
End FOR
End FOR
【0014】
浸食−拡張
図4に、浸食および拡張と呼ばれる他の2つのモルフォロジー演算の原理を示す。これら2つのモルフォロジー演算は同様なやり方で実行される。黒と白のモノクロ画像の場合、浸食演算は灰色レベルピークを除去して「穴を広げる」ために特に使用され、一方、拡張演算は灰色レベルピークを広げて「穴を埋める」ために使用される。これらの演算は画素のメッシュからなる作業窓(working window)(構成要素とも呼ばれる)を利用する。このメッシュは正方形、矩形、または六角形であってよい。図4に、4行(M=4)×4列(N=4)の画素p(m,n)からなる原画像と、大きさ3×3の構成要素による浸食演算と拡張演算それぞれの後のこの原画像に対して得られた浸蝕および拡張画像の例を示す。浸食演算は、原画像の画素p(m,n)毎に、当該画素p(m,n)を中心とする構成要素に属する画素p(x,y)の重みwo(x,y)の最小値に対応する重みwe(m,n)を決定することからなる。逆に、拡張演算は、原画像の画素p(m,n)毎に、当該画素p(m,n)を中心とする構成要素に属する画素p(x,y)の重みwo(x,y)の最大値に対応する重みwf(m,n)を決定することからなる。
【0015】
本発明によれば、侵食および拡張演算はそれぞれ、原画像を起点として中間画像を決定する第1の工程と中間画像を起点として浸蝕または拡張画像を決定する第2の工程の2工程を使用して決定される。この目的のため、大きさP×Qの構成要素は、図5に示すように、大きさ1×Qの第1の部分要素と大きさP×1の第2の部分要素の2つの部分要素に分解される。このとき中間画像は、原画像の各行上の第1の部分要素を走査することにより(すなわち画素から画素に移動することにより)決定される。浸蝕または拡張画像は次に中間画像の各列内の第2の部分要素を走査することにより決定される。本明細書の以下の部分は、図6aに示す原画像の浸食演算と大きさ3×3の構成要素に関し示される。図6aに示す第1の工程では、中間画像の画素p(m,n)の重みwie(m,n)は、原画像の画素p(m,n−1)、p(m,n)、p(m,n+1)の重みwo(m,n−1)、wo(m,n)、wo(m,n+1)の最小値を考慮することにより決定される。図6bに示す第2の工程では、中間画像の画素p(m,n)の重みwie(m,n)は、中間画像の画素p(m−1,n)、p(m,n)、p(m+1,n)の重みwie(m−1,n)、wie(m,n)、wie(m+1,n)の最小値を考慮することにより決定される。中間画像の重みwe(m,n)と浸蝕画像の重みwie(m,n)の決定は、次式によりモデル化可能である。
(m,n) [1,M]×[1,N]
wie(m,n)=min[wo(m,n−1),wo(m,n),wo(m,n+1)] (5)
we(m,n)=min[wie(m−1,n),wie(m,n),wie(m+1,n)] (6)
【0016】
最初と最後の行(m=1とm=M)および最初と最後の列(n=1とn=N)の特定の場合は、フレーミング行および列と呼ばれる行および列を考慮することにより容易に扱える。フレーミング行(m=0とm=M+1)は、原画像の第1行(m=1)の前と最後の行(m=M)の後に挿入可能である。例えば、これらのフレーミング行のすべての画素p(0,n)とp(M+1,n)の重みwo(0,n)とwo(M+1,n)は、原画像の画素p(m,n)の重みwo(m,n)がとることができる最も高い値(浸食の場合)、例えば255に設定される。さらにフレーミング列(n=0とn=N+1)は、中間画像の第1列(n=1)の前と最後の列(n=N+1)の後に挿入可能である。すべての画素p(m,0)とp(m,n+1)の重みwie(m,0)とwie(m,N+1)は例えば、中間画像の画素p(m,n)の重みwie(m,n)がとることができる最も高い値、例えば255に設定される。
【0017】
別の実施形態によると、最初と最後の行(m=1とm=M)と最初と最後の列(n=1とn=N)の特定の場合は、原画像と中間画像の外に位置する行と列を考慮しないことにより取り扱い可能である。換言すれば、構成要素の部分要素は画像の端において低減される。
【0018】
浸食演算の第1と第2の工程は反転されてもよく、このとき中間画像は行上の最小値の代わりに列内の最小値により得られることは言うまでもない。
【0019】
拡張演算は、浸食演算を適合させることにより(特には、最小値演算と最大値演算を置換することにより)容易に得られる。このとき、最初と最後の行および最初と最後の列の特定の場合は、当該重みの値を値0に設定することにより取り扱い可能である。
【0020】
マンハッタン距離
図7と図8に、マンハッタン距離演算(また、文献では用語「市街区」距離により知られている)の原理を示す。この演算は、画像内の対象物の距離を画像の任意の点に対し決定できるようにする。この演算については、2進原画像(すなわち、その重みが、ハイ状態に対応する第1の値(例えば「1」)とロー状態に対応する第2の値(例えば「0」)の2つの値の1つだけをとることができる画素からなる画像)が使用されなければならない。2進原画像は閾値化により得られる。対象物に対応する2進原画像の画素は例えばハイ状態に設定された重みを有し、他の画素はロー状態に設定された重みを有する。マンハッタン距離演算により得られる画像(距離画像と呼ばれる)は、各画素p(m,n)の画像の重みwd(m,n)が対象物に属する当該画素p(m,n)と当該画素p(m,n)に最も近い画素p(x,y)間のマンハッタン距離に等しい画像である。図7に、2進原画像および対応する距離画像の例を示す。次式によると、2つの画素p(m,n)とp(x,y)間のマンハッタン距離Dは、画素p(m,n)の行mと画素p(x,y)の行x間の絶対値差異と、画素p(m,n)の列nと画素p(x,y)の列y間の絶対値差異との合計を意味すると理解される。
D=|m−x|+|n−y| (7)
図8に、距離画像の画素p(2,3)の重みwd(2,3)の計算を示す。対象物に属する画素p(2,3)に最も近い画素の1つは画素p(5,4)である。したがって画素p(2,3)の重みwd(2,3)は次式により決定される。
wd(2,3)=D=|2−5|+|3−4|=4
対象物と当該画素p(m,n)との間の他の任意の経路は同じマンハッタン距離したがって同じ重みwd(m,n)を生ずるであろうことに留意されたい。
【0021】
本発明によれば、マンハッタン距離演算は本発明による他のモルフォロジー演算のように2工程で決定される。第1の工程は原画像を起点として中間画像(この場合は2進原画像)を決定し、第2の工程は中間画像を起点として距離画像を決定する。第1の工程では、三角法の意味で4分の1回転されかつp(m,n−1)、p(m,n)、p(m−1,n)の3つの画素からなる反転「L」字型の構成要素(図10)が画素p(1,1)を起点として原画像の各行にわたって連続的に走査される。中心画素p(m,n)が対象物に属する場合、中間画像内のこの同じ画素p(m,n)の重みwid(m,n)は零に設定される。そうでない場合、中間画像の中心画素p(m,n)の重みwid(m,n)は、前列(n−1)の同じ行(m)に位置する中間画像の画素p(m,n−1)の重みV1=wid(m,n−1)と同じ列(n)の前行(m−1)に位置する中間画像の画素p(m−1,n)の重みB1=wid(m−1,n)とを比較することにより決定される。このとき中間画像の中心画素p(m,n)の重みwid(m,n)は次式に従って1単位だけインクリメントされた重みV1とB1の最小値に等しい。
wid(m,n)=min(V1+1,B1+1) (8)
第2の工程では、反三角法の意味で4分の1回転されかつp(m+1,n)、(p(m,n)、p(m,n+1)の3つの画素からなる再び「L」字型の構成要素(図12)が画素p(M,N)を起点として中間画像の各行にわたって連続的に走査される。このとき距離画像の中心画素p(m,n)の重みwd(m,n)は、中間画像の画素p(m,n)の重みr=wid(m,n)、距離画像の画素p(m+1,n)の重みB2=wd(m+1,n)、距離画像の画素p(m,n+1)の重みV2=wd(m,n+1)を比較することにより決定される。このとき距離画像の中心画素p(m,n)の重みwd(m,n)は次式に従って重みr、B2+1、V2+1の最小値に等しい。
wd(m,n)=min(r,B2+1,V2+1) (9)
特定の一実施形態によると、第2の工程では、中心画素p(m,n)が対象物に属するかどうかもまた検証される。中心画素p(m,n)が対象物に属する場合、距離画像内のこの同じ画素p(m,n)の重みwd(m,n)は零に設定される。そうでない場合、画素p(m,n)の重みwd(m,n)は式(9)により決定される。この特定の実施形態は、第2の工程を第1の工程に適合させることができる。
【0022】
図9に、第1の工程の下位工程を示す。初期化工程101と称する第1の下位工程では、初期化行(m=0)と初期化列(n=0)は中間画像の第1行(m=1)の前と第1列(n=1)の前にそれぞれ挿入される。初期化行(m=0)と初期化列(n=0)の画素p(0,n)とp(m,0)の重みwid(0,n)とwid(m,0)は、基準値Vrefに対し設定され画素p(m,n)の数Nmaxに設定される。この数Nmaxは画像内の所与の画素p(m,n)と対象物との間の最大距離に対応する。数Nmaxは次式により決定される。
Nmax=(N−1)+(M−1)
基準値Vrefは数Nmaxより大きくなるように決定される。基準値Vrefはレジスタの最大値に対応する。VGA解像度画像の場合、Vrefは値2048(すなわち11ビットレジスタ)に設定可能である。「フルHD」と称する解像度を有する(すなわち、1920×1080画素の行列を含む)画像の場合、Vrefは4096(すなわち12ビットレジスタ)に設定可能である。重みwid(0,n)とwid(m,0)は次式に従って基準値Vrefマイナス数Nmaxに等しくてよい。
n [1,N],wid(0,n)=Vref−Nmax (10a)
m [1,M],wid(m,0)=Vref−Nmax (10b)
大きさ5×5の図10の原画像を考慮して、基準値Vrefとして16進値FFFF(16ビットレジスタに対応する)をとることによりこれらの式は次のようになる。
n [1,5],wid(0,n)=FFFF−[(5−1)+(5−1)]=FFF7
m [1,5],wid(m,0)=FFFF−8=FFF7
依然として初期化工程101において、行インデックスmと列インデックスnは値「1」にリセットされる。第2の下位工程102では、例えば原画像内のその重みwo(m,n)が値「1」に等しいということを検証することにより中心画素p(m,n)が対象物に属するかどうかが検証される。そうである場合、中間画像内のこの画素の重みwid(m,n)は、この画素と対象物との間の零の距離を示すために下位工程103において零に設定される。そうでない場合、中間画像の中心画素p(m,n)の重みwid(m,n)は、下位工程104において、式(8)に従い1単位だけインクリメントされた重みV1とB1の最小値に設定される。下位工程103または下位工程104の最後に、構成要素が行の最後に達したかどうかが下位工程105において調べられる。この条件は、例えば列インデックスnが列数Nに等しいときに検証される。この条件が検証されない場合、列インデックスnは第6の下位工程106において1単位だけインクリメントされる。この下位工程106の最後に、行内の次の画素p(m,n+1)の重みwid(m,n+1)を決定するために、第2の下位工程102を起点として新しい繰り返しが実行される。一方、構成要素が行の最後に達した場合、構成要素もまた列の最後に達したかどうか(すなわち、中心画素p(m,n)が画像の最後の画素p(m,n)に対応するかどうか)が下位工程107において調べられる。この条件が検証されると、第1の工程は下位工程108において終了され中間画像は完全に決定される。このようにして得られた中間画像を図10(16ビットカウンタの例)に示す。下位工程107において条件が検証されない場合、行インデックスmは1単位だけインクリメントされ列インデックスnは下位工程109において値「1」にリセットされる。この下位工程109の最後に、第2の下位工程102を起点として新しい繰り返しが実行される。
【0023】
図11に、第2の工程の下位工程を示す。この第2の工程は例えば下位工程108に続いて実行される。初期化工程201と称する第1の下位工程では、初期化行(m=M+1)と初期化列(n=N+1)は距離画像の最後の行(m=M)の後と最後の列(n=N)の後にそれぞれ挿入される。初期化行(m=M+1)と初期化列(n=N+1)の画素p(M+1,n)とp(m,N+1)の重みwd(M+1,n)とwd(m,N+1)は、次式に従って、第1の工程中に設定された基準値Vrefの関数として設定される。
n [1,N],wd(m+1,n)=Vref−1 (11a)
m [1,M],wd(m,N+1)=Vref−1 (11b)
図12に再現される図10の中間画像を考慮すると、これらの式は次のようになる。
n [1,5],wd(M+1,n)=FFFF−1=FFFE
m [1,5],wd(m,N+1)=FFFF−1=FFFE
依然として初期化工程201において、行インデックスmは値「M」にリセットされ列インデックスnは値「N」にリセットされる。第2の下位工程202では、距離画像の中心画素p(m,n)の重みwd(m,n)は、式(9)に従って重みr、B2+1、V2+1の最小値に設定される。下位工程202の最後に、構成要素が行の最後に達したかどうかが下位工程203において調べられる。この条件は、例えば列インデックスnが値「1」に等しい場合に検証される。この条件が検証されない場合、列インデックスnは下位工程204において1単位だけディクリメントされる。この下位工程204の最後に、行内の次の画素p(m,n−1)の重みwd(m,n−1)を決定するために第2の下位工程202を起点として新しい繰り返しが実行される。一方、構成要素が行の最後に達した場合、構成要素もまた列の最後に達したかどうか(すなわち、中心画素p(m,n)が画像の第1の画素p(1,1)に対応するかどうか)が下位工程205において調べられる。この条件が検証された場合、第2の工程は下位工程206において終了され距離画像は完全に決定される。このようにして得られた距離画像を図12に示す。下位工程205における条件が検証されない場合、下位工程207において行インデックスmは1単位だけディクリメントされ列インデックスnは値「N」にリセットされる。この下位工程207の最後に、第2の下位工程202を起点として新しい繰り返しが実行される。
【0024】
投射
図13に投射演算を示す。この演算は、原画像を起点として新しい行(m=X)と新しい列(n=Y)を決定できるようにする。ここで、新しい行の画素p(X,n)の重みwp(X,n)は原画像内の当該列のすべての画素p(m,n)の重みwo(m,n)の合計にそれぞれ等しく、新しい列の画素p(m,Y)の重みwp(m,Y)は原画像内の当該行のすべての画素p(m,n)の重みwo(m,n)の合計にそれぞれ等しい。新しい行と新しい列の画素p(X,n)とp(m,Y)の重みwp(X,n)とwp(m,Y)は次式によりモデル化可能である。
【数2】
【0025】
再構成可能モジュールの説明
演算ブロック
図14に、本発明による再構成可能モジュールの演算ブロックを概略的に示す。演算ブロックは、文字A、B、C、D、Eにより識別される5入力とS0、S1、Sにより識別される3出力を含む。これらの入力/出力は特に上に定義された演算を実行できるようにする。これらの入力/出力はまた、これらの演算の変形を実行できるようにし、本明細書では説明されない他の追加機能を可能にする。演算ブロックはまた、その構成が入力A、B、C、Dおよび/またはEに対し実行される演算の結果(加算器/減算器により実行される演算のタイプと、入力と様々な論理ブロックの出力間に確立されるリンクと、に依存する)を各出力S0、S1、Sにおいて送出できるようにする3つの加算器/減算器と4つの論理ブロックを含む。簡潔にするために、入力A、B、C、D、Eと出力S0、S1、Sは、加算器/減算器および論理ブロックの入力/出力と共に、これらの入力および出力上に存在するデータと混同される。論理ブロックは1つまたは複数の入力と1つまたは複数の出力を有する被制御回路を意味するものと理解される。各出力は、論理ブロックに適用される命令に依存する入力の1つと、例えば一般的な制御装置によりまたは論理ブロック内の論理によりリンクされる。用語「論理ブロック」はより広い意味で理解すべきである。いくつかの入力および/または出力を有する論理ブロックは、それぞれが1つまたは複数の入力と1つまたは複数の出力を有するマルチプレクサと論理ゲートの集合体により形成可能であることは言うまでもない。
【0026】
本発明によれば、演算ブロックの第1の出力S0は、演算ブロックの第1の入力Aと第2の入力Bの加算(A+B)の結果、または演算ブロックの第1の入力Aから第2の入力Bの減算(A−B)の結果、または演算ブロックの第1の入力Aと第2の入力Bの最小値(min(A,B))、または演算ブロックの第1の入力Aと第2の入力Bの最大値(max(A,B))のいずれかを送出することができる。演算ブロックの第2の出力S1は、演算ブロックの第4の入力Dと第5の入力Eの加算(D+E)の結果、または演算ブロックの第4の入力Dから第5の入力Eの減算(D−E)の結果、または演算ブロックの第4の入力Dと第5の入力Eの最小値(min(D,E))、または演算ブロックの第4の入力Dと第5の入力Eの最大値(max(D,E))、または演算ブロックの第1の入力A、第2の入力B、第4の入力Dの最小値(min(A,B,D))、または演算ブロックの第1の入力A、第2の入力B、第4の入力Dの最大値(max(A,B,D))のいずれかを送出することができる。演算ブロックの第3の出力Sは、演算ブロックの第1の出力S0と第3の入力Cの加算(S0+C)の結果、または第1の出力S0から第3の入力Cの減算(S0−C)の結果のいずれかを送出することができる。
【0027】
演算ブロックの3出力S0、S1、Sにおける結果の様々な組合せは、先に説明した5つのモルフォロジー演算を再構成可能モジュール内に存在する最少の部品で実行できるようにする。結局、シリコン表面積を節約し、従って再構成可能モジュールの大きさとコストを低減することが可能である。さらに、本発明による再構成可能モジュールはパイプラインアーキテクチャとして知られたアーキテクチャに対応するので、結果は各クロックパルスで供給可能である。結果は、中間画像からの画素の重み、あるいは積分画像、浸蝕画像、拡張画像、または距離画像からの画素の重みであってよい。したがってモルフォロジー演算を極めて速く実行することができる。
【0028】
演算ブロックの出力S0、S1、Sで得られる結果は、例えば加算器/減算器および以下に説明される論理ブロックの構成に由来する。この構成によれば、演算ブロックの第1の入力Aと第2の入力Bは、第1の加算器/減算器add1の第1および第2の入力と、第1の論理ブロックmuxA/Bの第1および第2の入力とにそれぞれ接続される。第1の加算器/減算器add1の出力は第1の論理ブロックmuxA/Bの第3の入力に接続される。この第1の論理ブロックmuxA/Bの出力は演算ブロックの第1の出力S0を形成する。再びこの構成によると、演算ブロックの第4の入力Dは第2の加算器/減算器add2の第1の入力と第2の論理ブロックmuxD/Eの第1の入力にそれぞれ接続される。演算ブロックの第5の入力Eは第3の論理ブロックmuxE/Sの第1の入力に接続される。この第3の論理ブロックmuxE/Sの出力は第2の加算器/減算器add2の第2の入力と第2の論理ブロックmuxD/Eの第2の入力に接続される。第2の加算器/減算器add2の出力は第2の論理ブロックmuxD/Eの第3の入力に接続される。第2の論理ブロックmuxD/Eの出力は演算ブロックの第2の出力S1を形成する。再びこの構成によると、演算ブロックの第3の入力Cと第1の論理ブロックmuxA/Bの出力は第4の論理ブロックmuxABCの第1と第2の入力にそれぞれ接続される。この第4の論理ブロックmuxABCの第1および第2の出力は第3の加算器/減算器add3の第1と第2の入力にそれぞれ接続される。第3の加算器/減算器add3の出力は第3の論理ブロックmuxE/Sの第2の入力に接続され、演算ブロックの第3の出力Sを形成する。
【0029】
特定の一実施形態によると、演算ブロックの第1の出力S0は、演算ブロックの第1の入力Aから第2の入力Bの減算(A−B)を実行し減算(A−B)の結果の符号を監視することにより、演算ブロックの第1と第2の入力AとBの最小値(min(A,B))または最大値(max(A,B))を送出する。減算の結果の符号は例えば第1の加算器/減算器add1の符号ビットにより与えられる。最小値(min(A,B))に関し、減算(A−B)の結果が負ならばリンクは第1の論理ブロックmuxA/Bの第1の入力と出力間に確立され、減算(A−B)の結果が正ならばリンクは第1の論理ブロックmuxA/Bの第2の入力と出力間に確立される。最大値(max(A,B))に関し、減算(A−B)の結果が正ならばリンクは第1の論理ブロックmuxA/Bの第1の入力と出力間に確立され、減算(A−B)の結果が負ならばリンクは第1の論理ブロックmuxA/Bの第2の入力と出力間に確立される。演算ブロックの第4と第5の入力DとEの最小値(min(D,E))または最大値(max(D,E))を決定するために、同じ原理を第2の加算器/減算器add2と第2の論理ブロックmuxD/Eに適用することができる。演算ブロックの第4の入力Dから第5の入力Eの減算(D−E)の結果の符号は第2の論理ブロックmuxD/Eの出力と第1または第2の入力との間に確立されるリンクを決定する。
【0030】
再構成可能モジュール
図15に示す特定の一実施形態によると、再構成可能モジュールは第1の入力I、第2の入力I_ch、第1の出力O、第2の出力O_ch、演算ブロックに入るデータストリームを制御できるようにする第5の論理ブロックmuxI、および演算ブロックを出るデータストリームを制御できるようにする第6の論理ブロックmuxOを含む。特に、再構成可能モジュールの第1の入力Iは第5の論理ブロックmuxIの第1の入力と第6の論理ブロックmuxOの第1の入力に接続可能である。第2の入力I_chは第5の論理ブロックmuxIの第2の入力に接続可能である。第5の論理ブロックmuxIの第1、第2、第3の出力は演算ブロックの第1、第2、第4の入力A、B、Dにそれぞれ接続可能である。演算ブロックの第1、第2、第3の出力S0、S1、Sは第6の論理ブロックmuxOの第2、第3、第4の入力にそれぞれ接続可能である。論理ブロックmuxOの出力は再構成可能モジュールの第1の出力Oを形成し、論理ブロックmuxIの第4の出力は再構成可能モジュールの第2の出力O_chを形成する。カスケード構成の場合、この第2の出力O_chを第2の再構成可能モジュールの入力I_chに接続することができる。すなわち、本発明による再構成可能モジュールは3×3より高い次元の構成要素により浸食または拡張演算などのより複雑なモルフォロジー演算を実行するために直列結合可能である。
【0031】
図15に示す特定の一実施形態によれば、再構成可能モジュールは、データを一時的に記憶できるようにするFIFOスタックと、演算ブロックの第2の入力Bに入るデータストリームを制御できるようにする第7の論理ブロックmuxBと、を含む。FIFOスタックは、その第1の入力データビットが出力対象の第1のデータビットであるスタックを意味するものと理解される。第5の論理ブロックmuxIの第2の出力は論理ブロックmuxBの第1の入力に接続可能である。この論理ブロックmuxBの出力は演算ブロックの第2の入力Bに接続可能である。演算ブロックの第1の出力S0はFIFOスタックの入力に接続可能であり、FIFOスタックの出力は第7の論理ブロックmuxBの第2の入力と第6の論理ブロックmuxOの第5の入力に接続可能である。
【0032】
図15に示す特定の一実施形態によれば、再構成可能モジュールは、演算ブロックの出力S1とS上に存在するデータを演算ブロックの入力において再注入する手段を含む。特に、これらの手段は第8の論理ブロックmuxA、第9の論理ブロックmuxD、第10の論理ブロックmuxEを含むことができる。第5の論理ブロックmuxIの第1と第3の出力は第8の論理ブロックmuxAの第1の入力と第9の論理ブロックmuxDの第1の入力にそれぞれ接続可能である。演算ブロックの第3の出力Sは、第8の論理ブロックmuxAの第2の入力と、第9の論理ブロックmuxDの第2の入力と、演算ブロックの第3の入力Cとに接続可能である。演算ブロックの第2と第3の出力S1、Sは第10の論理ブロックmuxEの第1と第2の入力にそれぞれ接続可能であり、この論理ブロックmuxEの出力は演算ブロックの第5の入力Eに接続可能である。
【0033】
図15に示す特定の一実施形態によれば、再構成可能モジュールはデータレジスタreg Cと第11の論理ブロックmuxCを含む。演算ブロックの第3の出力Sとデータレジスタreg Cは論理ブロックmuxCの第1と第2の入力にそれぞれ接続可能である。この論理ブロックmuxCの出力は演算ブロックの第3の入力Cに接続可能である。この特定の実施形態は、演算を所定値(例えば「0」と「1」)のデータで実行できるようにする。
【0034】
再構成可能モジュールを実施する方法の説明
再構成可能モジュールは上述のモルフォロジー演算を実行するために実施可能である。特に、画素p(m,n)のM行とN列を含む原画像を起点とし、再構成可能モジュールは積分画像、浸蝕画像、拡張画像、マンハッタン距離画像、または原画像の行と列に沿った投射のいずれかを決定することができる。これは、加算器/減算器add1〜add3により実行される演算のタイプと、入力と様々な論理ブロックの出力間に確立されるリンクと、に依存して実行される。
【0035】
積分
特定の一実施形態によると、積分画像の決定は、
−原画像と同じ次元の中間画像を定義し、中間画像の各画素p(m,n)に重みwii(m,n)が関連付けられる工程と、
−中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)を初期化する工程と、
−2からNまで変化するnの下記工程を繰り返す工程と、
○2からMまで変化するmの下記工程を繰り返す工程と、
□中間画像の画素p(m−1,n)の重みwii(m−1,n)に原画像の画素p(m,n)の重みwo(m,n)を加算する工程と、
□大きさM−1のFIFOスタックに加算の結果を格納する工程と、
−積分画像の第1列(n=1)の画素p(m,1)の重みwi(m,1)を初期化する工程と、
−2からMまで変化するmの下記工程を繰り返す工程と、
○2からNまで変化するnの下記工程を繰り返す工程、
□積分画像の画素p(m,n−1)の重みwi(m,n−1)に中間画像の画素p(m,n)の重みwii(m,n)を加算する工程、
を含む。
【0036】
これらの工程は、本発明による再構成可能モジュールに特にうまく適合する。特に、中間画像の画素p(m−1,n)の重みwii(m−1,n)に原画像の画素p(m,n)の重みwo(m,n)を加算する工程は、次のやり方で実行可能である。重みwo(m,n)が再構成可能モジュールの第1の入力Iに注入され、第5と第8の論理ブロックmuxI、muxAが演算ブロックの第1の入力Aに再構成可能モジュールの第1の入力Iを接続し、第7の論理ブロックmuxBが演算ブロックの第2の入力BにFIFOスタックの出力を接続する。このようにして、演算ブロックは重みwo(m,n)とwii(m−1,n)の加算を実行することができる。第6の論理ブロックmuxOは、中間画像の画素p(m,n)の重みwii(m,n)をこの出力Oにおいて各クロックパルスで供給するために、演算ブロックの出力S0を再構成可能モジュールの出力Oに接続する。
【0037】
さらに、積分画像の画素p(m,n−1)の重みwi(m,n−1)に中間画像の画素p(m,n)の重みwii(m,n)を加算する工程は、次のやり方で実行可能である。重みwii(m,n)が再構成可能モジュールの第1の入力Iに注入され、第5と第8の論理ブロックmuxI、muxAが演算ブロックの第1の入力Aに再構成可能モジュールの第1の入力Iを接続する。第7の論理ブロックmuxBはFIFOスタックの出力を演算ブロックの第2の入力Bに接続する。このようにして、演算ブロックは、重みwii(m,n)とFIFOスタックから来るwi(m,n−1)との加算を実行することができる。第6の論理ブロックmuxOは、積分画像の画素p(m,n)の重みwi(m,n)をこの出力Oにおいて各クロックパルスで供給するために、演算ブロックの出力S0を再構成可能モジュールの出力Oに接続する。
【0038】
積分画像の計算に必要な先の工程は、加算器add1を使用して演算ブロックの第1の入力Aと第2の入力Bを加算することにより演算ブロック内で実行される。結果は第1の論理ブロックmuxA/Bを介し出力S0に送られる。
【0039】
中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)の初期化工程は、これらの重みwii(1,n)を原画像の第1行(m=1)の画素p(1,n)の重みwo(1,n)と同じ値に設定することにより実行可能である。同様に、積分画像の第1列(n=1)の画素p(m,1)の重みwi(m,1)の初期化工程は、これらの重みwi(m,1)を中間画像の第1列(n=1)の画素p(m,1)の重みwii(m,1)と同じ値に設定することにより実行可能である。
【0040】
浸食−拡張
特定の一実施形態によると、次元3×3の構成要素による浸蝕画像の決定は、
−構成要素を次元1×3の第1の部分構成要素と次元3×1の第2の部分構成要素とに分解する工程と、
−原画像と同じ次元の中間画像を定義し、中間画像の各画素p(m,n)に重みwie(m,n)が関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程と、
□当該画素p(m,n)を中心とする第1の部分構成要素に属する画素p(x,y)の重みwo(x,y)の最小値を重みwie(m,n)に割り当てる工程、
−1からNまで変化するnの下記工程を繰り返す工程と、
○1からMまで変化するmの下記工程を繰り返す工程、
□当該画素p(m,n)を中心とする第2の部分構成要素に属する画素p(x,y)の重みwie(x,y)の最小値を重みwe(m,n)に割り当てる工程、
を含む。
【0041】
これらの工程は、再構成可能モジュールの第1の入力Iに重みwo(x,y)またはwie(x,y)を注入することにより再構成可能モジュールにより得られる。第5の論理ブロックmuxIは、再構成可能モジュールの第1の入力Iを、第8の論理ブロックmuxAを介し演算ブロックの第1の入力Aに、第7の論理ブロックmuxBを介し演算ブロックの第2の入力Bに、第9の論理ブロックmuxDを介し演算ブロックの第4の入力Dに、連続的に接続する。第10の論理ブロックmuxEは第3の出力Sを演算ブロックの第5の入力Eに接続する。こうして演算ブロックは、画素p(m,n)を中心とする第1また第2の部分構成要素に属する画素p(x,y)の重みwo(x,y)またはwie(x,y)の最小値を決定することができる。第6の論理ブロックmuxOは、中間画像の画素p(m,n)の重みwie(m,n)または浸蝕画像の画素p(m,n)の重みwe(m,n)のいずれかをこの出力Oにおいて各クロックパルスで供給するために、演算ブロックの第2の出力S1を再構成可能モジュールの第1の出力Oに接続する。
【0042】
第1の部分構成要素に属する画素p(x,y)の重みwo(x,y)の最小値と第2の部分構成要素に属する画素p(x,y)の重みwie(x,y)の最小値の重みwie(m,n)とwe(m,n)へのそれぞれの割り当ては、
−第1の加算器/減算器add1の第1の入力(A)から第2の入力(B)を減算する工程と、
−減算(A−B)の結果の符号に依存して、第1の入力(A)または第2の入力(B)と第1の論理ブロックmuxA/Bの出力との間にリンクを設定する工程と、
−第4の論理ブロックmuxABCの第2の入力と第1の出力間にリンクを設定する工程と、
−第3の加算器/減算器add3の第1の入力を値0に加算または値0から減算する工程と、
−第3の論理ブロックmuxE/Sの第1の入力と出力間にリンクを設定する工程と、
−第2の加算器/減算器add2の第1の入力(D)から第2の入力(E=S=AまたはE=S=B)を減算する工程と、
−第2の減算(D−E)の結果の符号に依存して第1または第2の入力(D、E=S=AまたはE=S=B)と第2の論理ブロックmuxD/Eの出力間にリンクを設定する工程と、を含むことができる。
【0043】
拡張画像を次元3×3の構成要素により決定できるようにする工程は、浸蝕画像の決定に関係する先の工程から容易に推定可能である(最小値演算と最大値演算を単純に置換する)。
【0044】
本発明による再構成可能モジュールはまた、浸蝕画像または拡張画像を3×3より高い次元(例えば5×5)の構成要素により高速に決定できるようにする。特に、次元5×5の構成要素による浸食については、5つの値の比較を行いこれら5つの値の最小値を保持する必要がある。この考えは、2つの再構成可能モジュールを使用することにより、そして5つの値を比較することができるように2つのモジュールにわたってこれらを分配することにより、3×3浸食用の再構成可能モジュールにより実行されるパイプラインモードを適用することである。
【0045】
図16に、浸蝕画像を次元5×5の構成要素により得られるようにする2つの直列結合された再構成可能モジュールの配置の例を示す。第1の再構成可能モジュール10の第1の出力O1は第2の再構成可能モジュール20の第1の入力I2に接続され、第1の再構成可能モジュール10の第2の出力O_ch1は第2の再構成可能モジュール20の第2の入力I_ch2に接続される。このとき重みwo(x,y)またはwie(x,y)は第1の再構成可能モジュール10の第1の入力I1に注入され、第1の再構成可能モジュール10の第2の入力I_ch1は使用されない。このとき第1の部分構成要素に属する3つの画素p(x,y)の重みwo(x,y)の最小値または第2の部分構成要素に属する3つの画素の重みwie(x,y)の最小値は、第1の再構成可能モジュール10の第1の出力O1において得られる。当該部分構成要素に属する他の2つの画素p(x,y)の重みwo(x,y)またはwie(x,y)は出力O_ch1と第2の入力I_ch2を介し第2の再構成可能モジュール20に単純に転送される。次に、当該部分構成要素に属する5つの画素p(x,y)の重みwo(x,y)またはwie(x,y)の最小値は、第2の再構成可能モジュール20の第1の出力O2において得られる。
【0046】
上述の直列結合はまた拡張画像を次元5×5の構成要素により得られるようにするということは言うまでもない。さらに、本発明による再構成可能モジュールは特に2以上の再構成可能モジュールの直列結合にうまく適合される。このような直列結合は、より大きな次元の構成要素を使用できるようにする。例えば、3つの再構成可能モジュールの直列結合は次元7×7の構成要素を使用できるようにする。
【0047】
距離
特定の一実施形態によると、距離画像の決定は、
−原画像と同じ次元の中間画像を定義し、中間画像の各画素p(m,n)に重みwid(m,n)が関連付けられる工程と、
−中心画素p(m,n)、前列内の中心画素p(m,n)と同じ行上に位置する画素p(m,n−1)、前行上の中心画素p(m,n)と同じ列に位置する画素p(m−1,n)の3つの画素からなる第1の構成要素を定義する工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程、
□中心画素p(m,n)が対象物に属するかどうかを判断する工程と、
□そうである場合、値0を重みwid(m,n)に割り当て、第6の論理ブロックmuxOが再構成可能モジュールの第1の入力Iを再構成可能モジュールの第1の出力Oに接続する工程と、
□そうでなければ、1単位だけインクリメントされた重みwid(m,n−1)=V1とwid(m−1,n)=B1の最小値を重みwid(m,n)に割り当て、第6の論理ブロックmuxOが演算ブロックの第3の出力Sを再構成可能モジュールの第1の出力Oに接続する工程、
−中心画素p(m,n)、次行上の中心画素p(m,n)と同じ列上に位置する画素p(m+1,n)、次列内の中心画素と同じ行上に位置する画素p(m,n+1)の3つの画素からなる第2の構成要素を定義する工程と、
−Mから1まで変化するmの下記工程を繰り返す工程と、
○Nから1まで変化するnの下記工程を繰り返す工程、
□重みwid(m,n)=r、wd(m+1,n)+1=B2+1、wd(m,n+1)+1=V2+1のうちの最小値を中心画素p(m,n)の重みwd(m,n)に割り当てる工程、
を含む。
【0048】
1からMまで変化するmと1からNまで変化するnの工程は、特に第7の論理ブロックmuxBがFIFOスタックの出力を演算ブロックの第2の入力Bに接続し第8の論理ブロックmuxAが演算ブロックの第3の出力Sを演算ブロックの第1の入力Aに接続するときに、再構成可能モジュールにより得られる。
【0049】
Mから1まで変化するmとNから1まで変化するnの工程は、特に、第5と第9の論理ブロックmuxI、muxDが再構成可能モジュールの第1の入力Iを演算ブロックの第4の入力Dに接続し、第6の論理ブロックmuxOが演算ブロックの第2の出力S1を再構成可能モジュールの第1の出力Oに接続し、第7の論理ブロックmuxBがFIFOスタックの出力を演算ブロックの第2の入力Bに接続し、第8の論理ブロックmuxAが演算ブロックの第3の出力Sを演算ブロックの第1の入力Aに接続するとき、再構成可能モジュールにより得られる。
【0050】
1単位だけインクリメントされた重みV1とB1の最小値の重みwid(m,n)への割り当ては、
−第1の加算器/減算器add1の重みV1を受信する第1の入力Aから重みB1を受信する第2の入力Bを減算する工程と、
−減算(V1−B1)の結果の符号に依存して、重みV1を受信する第1の入力または重みB1を受信する第2の入力と第1の論理ブロックmuxA/Bの出力との間のリンクを設定する工程と、
−第4の論理ブロックmuxABCの、重みB1またはV1を受信する第2の入力と第1の出力間および入力Cに接続された第1の入力と第2の出力間にリンクを設定する工程と、
−第3の加算器/減算器add3の第1の入力に値「1」を加算し、第11の論理ブロックmuxCが演算ブロックの第3の入力Cにデータレジスタreg Cを接続する工程と、を含むことができる。
【0051】
さらに、重みr、B2+1、V2+1の最小値の重みwd(m,n)への割り当ては、
−第1の加算器/減算器add1の重みV2を受信する第1の入力から重みB2を受信する第2の入力を減算する工程と、
−減算(V2−B2)の結果の符号に依存して、重みV2を受信する第1の入力または重みB2を受信する第2の入力と第1の論理ブロックmuxA/Bの出力との間のリンクを設定する工程と、
−第4の論理ブロックmuxABCの、重みB2またはV2を受信する第2の入力と第1の出力間および入力Cに接続された第1の入力と第2の出力間にリンクを設定する工程と、
−第3の加算器/減算器add3の第1の入力に値「1」を加算し、第11の論理ブロックmuxCが演算ブロックの第3の入力Cにデータレジスタreg Cを接続する工程と、
−第3の論理ブロックmuxE/Sを介し第3の加算器/減算器add3の出力と第2の加算器/減算器add2の第2の入力間にリンクを設定する工程と、
−重みrを受信する第1の入力から第2の加算器/減算器add2の重みB2+1またはV2+1を受信する第2の入力を減算する工程と、
−減算(r−(B2+1)またはr−(V2+1))の結果の符号に依存して、重みrを受信する第1の入力または重みB2+1またはV2+1を受信する第2の入力と第2の論理ブロックmuxD/Eの出力との間にリンクを設定する工程と、を含むことができる。
【0052】
投射
特定の一実施形態によれば、投射行と投射列とそれぞれ呼ばれる投射演算のための新しい行(m=X)と新しい列(n=Y)の決定は、
−原画像内に存在する行と同じ数Nの列を含む投射行と、原画像内に存在する列と同じ数Mの行を含む投射列とを定義し、重みwp(X,n)とwp(m,Y)が投射行の各画素p(X,n)と投射列の各画素p(m,Y)とにそれぞれ関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程、
□投射列の画素p(m,Y)の重みwp(m,Y)を原画像の画素p(m,n)の重みwo(m,n)に加算する工程と、
□投射行の画素p(X,n)の重みwp(X,n)を原画像の画素p(m,n)の重みwo(m,n)に加算する工程、
を含む。
【0053】
重みwo(m,n)に重みwp(m,Y)を加算する工程は、再構成可能モジュールの第1の入力Iに重みwo(m,n)を注入することにより再構成可能モジュールにより得られる。第5の論理ブロックmuxIは、第9の論理ブロックmuxDを介し再構成可能モジュールの第1の入力Iを演算ブロックの第4の入力Dに接続することができる。第10の論理ブロックmuxEは第2の出力S1を演算ブロックの第5の入力Eに接続することができる。このとき、演算ブロックは、第2の加算器/減算器add2により行(m)の画素p(m,n)の重みwo(m,n)の合計を計算することができる、第3の論理ブロックmuxE/Sは演算ブロックの第5の入力Eを第2の加算器/減算器add2の第2の入力に接続し、第2の論理ブロックmuxD/Eはこの加算器/減算器add2の出力を演算ブロックの第2の出力S1に接続する。nが原画像の列数Nに達すると、第6の論理ブロックmuxOは、行(m)の合計の結果を抽出できるようにするために第2の出力S1を再構成可能モジュールの第1の出力Oに接続することができる。
【0054】
重みwp(X,n)を重みwo(m,n)に加算する工程は、再構成可能モジュールの第1の入力Iに重みwo(m,n)を注入することにより再構成可能モジュールにより得られる。第5の論理ブロックmuxIは、第8の論理ブロックmuxAを介し再構成可能モジュールの第1の入力Iを演算ブロックの第1の入力Aに接続することができる。第7の論理ブロックmuxBはFIFOスタックの出力を演算ブロックの第2の入力Bに接続することができる。このとき演算ブロックは、第1の加算器/減算器add1により列(n)の画素p(m,n)の重みwo(m,n)の合計を計算することができる、重みwp(X,n)とwo(m,n)の加算結果はFIFOスタックに格納され、第1の論理ブロックmuxA/Bは第1の加算器/減算器add1の出力を演算ブロックの第1の出力S0に接続する。mが原画像の行数Mに達すると、FIFOスタックは列の合計の結果を含む。このとき第6の論理ブロックmuxOを介しFIFOスタックを空にすることができ、第6の論理ブロックmuxOはFIFOスタックの出力を再構成可能モジュールの第1の出力Oに接続する。
【特許請求の範囲】
【請求項1】
5入力(A,B,C,D,E)と3出力(S0,S1,S)を含む演算ブロックを含み、
前記演算ブロックの前記第1の出力(S0)は、前記演算ブロックの前記第1と第2の入力(A,B)の加算(A+B)の結果、または前記演算ブロックの前記第1の入力(A)から前記第2の入力(B)の減算(A−B)の結果、または前記演算ブロックの前記第1と第2の入力(A,B)の最小値(min(A,B)、または前記演算ブロックの前記第1と第2の入力(A,B)の最大値(max(A,B)、のいずれかを送出することができ、
前記演算ブロックの前記第2の出力(S1)は、前記演算ブロックの前記第4と第5の入力(D,E)の加算(D+E)の結果、または前記演算ブロックの前記第4の入力(D)から前記第5の入力(E)の減算(D−E)の結果、または前記演算ブロックの前記第4と第5の入力(D,E)の最小値(min(D,E))、または前記演算ブロックの前記第4と第5の入力(D,E)の最大値(max(D,E))、または前記演算ブロックの前記第1の入力、前記第2の入力、前記第4の入力(A,B,D)の最小値(min(A,B,D))、または前記演算ブロックの前記第1の入力、前記第2の入力、前記第4の入力(A,B,D)の最大値(max(A,B,D))、のいずれかの結果を送出することができ、
前記演算ブロックの前記第3の出力(S)は、前記演算ブロックの前記第1の出力(S0)と前記第3の入力(C)の加算(S0+C)の結果、または前記演算ブロックの前記第1の出力(S0)から前記第3の入力(C)の減算(S0−C)の結果のいずれかを送出することができる、ことを特徴とする再構成可能モジュール。
【請求項2】
前記演算ブロックは3つの加算器/減算器と4つの論理ブロックを含み、前記演算ブロックの前記第1と前記第2入力(A,B)は第1の加算器/減算器(add1)の第1と第2の入力と第1の論理ブロック(muxA/B)の第1と第2の入力にそれぞれ接続され、前記第1の加算器/減算器(add1)の出力は前記第1の論理ブロック(muxA/B)の第3の入力に接続され、前記第1の論理ブロック(muxA/B)の出力は前記演算ブロックの前記第1の出力(S0)を形成し、
前記演算ブロックの前記第4の入力(D)は第2の加算器/減算器(add2)の第1の入力と第2の論理ブロック(muxD/E)の第1の入力に接続され、前記演算ブロックの前記第5の入力(E)は第3の論理ブロック(muxE/S)の第1の入力に接続され、前記第3の論理ブロック(muxE/S)の出力は前記第2の加算器/減算器(add2)の第2の入力と前記第2の論理ブロック(muxD/E)の第2の入力に接続され、前記第2の加算器/減算器(add2)の出力は前記第2の論理ブロック(muxD/E)の第3の入力に接続され、前記第2の論理ブロック(muxD/E)の出力は前記演算ブロックの前記第2の出力(S1)を形成し、
前記演算ブロックの前記第3の入力(C)と前記第1の論理ブロック(muxA/B)の前記出力は第4の論理ブロック(muxABC)の第1と第2の入力にそれぞれ接続され、前記第4の論理ブロック(muxABC)の第1および第2の出力は第3の加算器/減算器(add3)の第1と第2の入力にそれぞれ接続され、前記第3の加算器/減算器(add3)の出力は前記第3の論理ブロック(muxE/S)の第2の入力に接続され、前記演算ブロックの前記第3の出力(S)を形成する、ことを特徴とする請求項1に記載の再構成可能モジュール。
【請求項3】
前記第1の論理ブロック(muxA/B)の前記出力(S0)と前記第2の論理ブロック(muxD/E)の前記出力(S1)が、前記第1の加算器/減算器(add1)の前記第1の入力(A)から前記第2の入力(B)の前記減算(A−B)の符号の関数として、そして前記第2の加算器/減算器(add2)の前記第1の入力(D)から前記第2の入力(EまたはS)の前記減算(D−EまたはD−S)の符号の関数として、それぞれ決定されるように、手段を含む、ことを特徴とする請求項2に記載の再構成可能モジュール。
【請求項4】
2入力(I,I_ch)、2出力(O,O_ch)、第5の論理ブロック(muxI)、第6の論理ブロック(muxO)を含み、前記再構成可能モジュールの前記第1の入力(I)は前記第5の論理ブロック(muxI)の第1の入力と前記第6の論理ブロック(muxO)の第1の入力に接続され、前記再構成可能モジュールの前記第2の入力(I_ch)は前記第5の論理ブロック(muxI)の第2の入力に接続され、前記第5の論理ブロック(muxI)の第1、第2、第3の出力は前記演算ブロックの前記第1、第2、第4の入力(A,B,D)にそれぞれ接続され、前記演算ブロックの前記第1、第2、第3の出力(S0,S1,S)は前記第6の論理ブロック(muxO)の第2、第3、第4の入力にそれぞれ接続され、前記第6の論理ブロック(muxO)の出力は前記再構成可能モジュールの前記第1の出力(O)を形成し、前記第5の論理ブロック(muxI)の前記第4の出力は再前記構成可能モジュールの前記第2の出力(O_ch)を形成し、前記第2の出力(O_ch)は本請求項に記載するような第2の再構成可能モジュールの前記第2の入力(I_ch)に接続可能である、ことを特徴とする請求項1〜3のいずれか一項に記載の再構成可能モジュール。
【請求項5】
FIFOスタックと第7の論理ブロック(muxB)を含み、前記第5の論理ブロック(muxI)の前記第2の出力は前記第7の論理ブロック(muxB)の第1の入力に接続され、前記第7の論理ブロック(muxB)の出力は前記演算ブロックの前記第2の入力(B)に接続され、前記演算ブロックの前記第1の出力(S0)は前記FIFOスタックの入力に接続され、前記FIFOスタックの出力は前記第7の論理ブロック(muxB)の第2の入力と前記第6の論理ブロック(muxO)の第5の入力に接続される、ことを特徴とする請求項4に記載の再構成可能モジュール。
【請求項6】
第8、第9、第10の論理ブロック(muxA,muxD,muxE)を含み、前記第5の論理ブロック(muxI)の前記第1と第3の出力は前記第8の論理ブロック(muxA)の第1の入力と前記第9の論理ブロック(muxD)の第1の入力にそれぞれ接続され、前記演算ブロックの前記第3の出力(S)は、前記第8の論理ブロック(muxA)の第2の入力、前記第9の論理ブロック(muxD)の第2の入力、前記演算ブロックの前記第3の入力(C)に接続され、前記演算ブロックの前記第2、第3の出力(S1,S)は前記第10の論理ブロック(muxE)の第1と第2の入力にそれぞれ接続され、前記第10の論理ブロック(muxE)の出力は前記演算ブロックの前記第5の入力(E)に接続される、ことを特徴とする請求項4または5に記載の再構成可能モジュール。
【請求項7】
データレジスタ(reg C)と第11の論理ブロック(muxC)を含み、前記演算ブロックの前記第3の出力(S)と前記データレジスタ(reg C)は前記第11の論理ブロック(muxC)の第1と第2の入力にそれぞれ接続され、前記第11の論理ブロック(muxC)の出力は前記演算ブロックの前記第3の入力(C)に接続される、ことを特徴とする請求項1〜6のいずれか一項に記載の再構成可能モジュール。
【請求項8】
請求項1〜7のいずれか一項に記載の再構成可能モジュールを実施する方法であって、M行とN列(MとNは正の整数)の画素p(m,n)を含む原画像を起点とし、前記原画像と同じ次元を有する、
−積分画像、
−または浸蝕画像、
−または拡張画像、
−またはマンハッタン距離画像、
−あるいは前記原画像の前記行に沿った投射と前記列に沿った投射、のいずれかを、前記演算ブロックに属する加算器/減算器の演算のタイプ、前記演算ブロックに属する論理ブロックの入出力間に確立されるリンクのタイプに依存して決定することからなる工程を含む、ことを特徴とする方法。
【請求項9】
請求項1および4〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項8に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)と関連付けられ、重みwi(m,n)は前記積分画像の各画素p(m,n)と関連付けられ、前記積分画像の前記決定は、
−前記原画像と同じ次元の中間画像を定義し、重みwii(m,n)が前記中間画像の各画素p(m,n)と関連付けられる工程と、
−前記中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)を初期化する工程と、
−2からNまで変化するnの下記工程を繰り返す工程と、
○2からMまで変化するmの下記工程を繰り返す工程であって、前記重みwo(m,n)は前記再構成可能モジュールの前記第1の入力(I)に注入され、前記第5と第8の論理ブロック(muxI,muxA)は前記再構成可能モジュールの前記第1の入力(I)を前記演算ブロックの第1の入力(A)に接続し、前記演算ブロックは前記重みwo(m,n)とwii(m−1,n)の加算を実行し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第1の出力(S0)を接続し、第7の論理ブロック(muxB)は前記演算ブロックの前記第2の入力(B)に前記FIFOスタックの前記出力を接続する、工程と、
□前記中間画像の前記画素p(m−1,n)の前記重みwii(m−1,n)に前記原画像の前記画素p(m,n)の前記重みwo(m,n)を加算する工程と、
□大きさM−1の前記FIFOスタックに前記加算の前記結果を格納する工程
−前記積分画像の第1列(n=1)の前記画素p(m,1)の前記重みwi(m,1)を初期化する工程と、
−2からMまで変化するmの下記工程を繰り返す工程と、
○2からNまで変化するnの下記工程を繰り返す工程であって、前記重みwii(m,n)は前記再構成可能モジュールの前記第1の入力(I)に注入され、前記第5と第8の論理ブロック(muxI,muxA)は前記演算ブロックの前記第1の入力(A)に前記再構成可能モジュールの前記第1の入力(I)を接続し、前記演算ブロックは前記重みwii(m,n)とwi(m,n−1)の加算を実行し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第1の出力(S0)を接続し、前記第7の論理ブロック(muxB)は前記演算ブロックの前記第2の入力Bに前記FIFOスタックの前記出力を接続する、工程と、
□前記積分画像の前記画素p(m,n−1)の前記重みwi(m,n−1)に前記中間画像の画素p(m,n)の前記重みwii(m,n)を加算する工程と、
□大きさN−1の前記FIFOスタックに前記加算の前記結果を格納する工程、
を含む、ことを特徴とする方法。
【請求項10】
請求項1、および請求項4〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項8または9のいずれか一項に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)と関連付けられ、重みwe(m,n)は前記浸蝕画像の各画素p(m,n)と関連付けられ、次元3×3を有する構成要素による前記浸蝕画像の前記決定は、
−前記構成要素を次元1×3を有する第1の部分構成要素と次元3×1を有する第2の部分構成要素に分解する工程と、
−前記原画像と同じ次元の中間画像を定義し、重みwie(m,n)は前記中間画像の各画素p(m,n)と関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程と、
□当該画素p(m,n)を中心とする前記第1の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)の最小値を前記重みwie(m,n)に割り当てる工程、
−1からNまで変化するnの下記工程を繰り返す工程と、
○1からMまで変化するmの下記工程を繰り返す工程、
□当該画素p(m,n)を中心とする前記第2の部分構成要素に属する前記重みwe(m,n)に前記画素p(x,y)の前記重みwie(x,y)の最小値を割り当てる工程であって、前記重みwo(x,y)またはwie(x,y)は前記再構成可能モジュールの前記第1の入力(I)に注入され、前記第5の論理ブロック(muxI)は、前記再構成可能モジュールの前記第1の入力(I)を、前記第8の論理ブロック(muxA)を介し前記演算ブロックの前記第1の入力(A)に、前記第7の論理ブロック(muxB)を介し前記演算ブロックの前記第2の入力(B)に、前記第9の論理ブロック(muxD)を介し前記演算ブロックの前記第4の入力(D)に連続的に接続し、前記第10の論理ブロック(muxE)は前記演算ブロックの前記第5の入力(E)に前記第3の出力(S)を接続し、前記演算ブロックは前記画素p(m,n)を中心とする前記第1または第2の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)または前記wie(x,y)の最小値を決定し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第2の出力(S1)を接続する、工程、
を含む、ことを特徴とする方法。
【請求項11】
請求項1〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項10に記載の方法であって、前記第1または第2の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)または前記wie(x,y)の最小値の前記重みwie(m,n)または前記we(m,n)への割り当ては、
−前記第1の加算器/減算器(add1)の前記第1の入力(A)から前記第2の入力(B)を減算する工程と、
−前記減算(A−B)の結果の符号に依存して前記第1の入力または第2の入力(A,B)と前記第1の論理ブロック(muxA/B)の前記出力との間にリンクを確立する工程と、
−前記第4の論理ブロック(muxABC)の前記第2の入力と前記第1の出力との間にリンクを確立する工程と、
−前記第3の加算器/減算器(add3)の前記第1の入力を値0に加算または値0から減算する工程と、
−前記第3の論理ブロック(muxE/S)の前記第1の入力と前記出力間にリンクを確立する工程と、
−前記第2の加算器/減算器(add2)の前記第1の入力(D)から前記第2の入力(E=S=AまたはE=S=B)を減算する工程と、
−前記第2の減算(D−E)の結果の符号に依存して前記第1または第2の入力(D、E=S=AまたはE=S=B)と前記第2の論理ブロック(muxD/E)の前記出力との間にリンクを確立する工程と、を含む、ことを特徴とする方法。
【請求項12】
請求項1、および請求項4〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項8〜11のいずれか一項に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)と関連付けられ、重みwf(m,n)は前記拡張画像の各画素p(m,n)と関連付けられ、次元3×3を有する構成要素による前記拡張画像の前記決定は、
−前記構成要素を次元1×3の第1の部分構成要素と次元3×1の第2の部分構成要素とに分解する工程と、
−前記原画像と同じ次元の中間画像を定義し、重みwif(m,n)は前記中間画像の各画素p(m,n)と関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程と、
□当該画素p(m,n)を中心とする前記第1の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)の最大値を前記重みwif(m,n)に割り当てる工程、
−1からNまで変化するnの下記工程を繰り返す工程と、
○1からMまで変化するmの下記工程を繰り返す工程、
□当該画素p(m,n)を中心とする前記第2の部分構成要素に属する前記画素p(x,y)の前記重みwif(x,y)の最小値を前記重みwf(m,n)に割り当てる工程あって、前記重みwo(x,y)またはwie(x,y)を前記再構成可能モジュールの前記第1の入力(I)に注入し、前記第5の論理ブロック(muxI)は、前記再構成可能モジュールの前記第1の入力(I)を、前記第8の論理ブロック(muxA)を介し演算ブロックの前記第1の入力(A)に、前記第7の論理ブロック(muxB)を介し前記演算ブロックの前記第2の入力(B)に、前記第9の論理ブロック(muxD)を介し前記演算ブロックの前記第4の入力(D)に連続的に接続し、前記第10の論理ブロック(muxE)は前記演算ブロックの前記第5の入力(E)に前記第3の出力(S)を接続し、前記演算ブロックは前記画素p(m,n)を中心とする前記第1または第2の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)またはwif(x,y)の最大値を決定し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第2の出力(S1)を接続する、工程、
を含む、ことを特徴とする方法。
【請求項13】
請求項1〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項12に記載の方法であって、前記第1または第2の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)またはwi(x,y)の最大値の前記重みwif(m,n)またはwfe(m,n)への割り当ては、
−前記第1の加算器/減算器(add1)の前記第1の入力(A)から前記第2の入力(B)を減算する工程と、
−前記減算(A−B)の前記結果の符号に依存して、前記第1の論理ブロック(muxA/B)の前記第1の入力または第2の入力(A,B)と前記出力間にリンクを確立する工程と、
−前記第4の論理ブロック(muxABC)の前記第2の入力と前記第1の出力間にリンクを確立する工程と、
−前記第3の加算器/減算器(add3)の前記第1の入力を値0に加算または値0から減算する工程と、
−前記第3の論理ブロック(muxE/S)の前記第1の入力と前記出力間にリンクを確立する工程と、
−前記第2の加算器/減算器(add2)の前記第1の入力(D)から前記第2の入力(E=S=AまたはE=S=B)を減算する工程と、
−前記第2の減算(D−E)の前記結果の符号に依存して、前記第2の論理ブロック(muxD/E)の前記第1または第2の入力(D、E=S=AまたはE=S=B)と前記出力間にリンクを確立する工程と、を含む、ことを特徴とする方法。
【請求項14】
請求項1および請求項4〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項8〜13のいずれか一項に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)と関連付けられ、重みwd(m,n)は前記距離画像の各画素p(m,n)と関連付けられ、前記重みwo(m,n)は、当該画素p(m,n)が対象物に属することを示す第1の値(1)と前記画素p(m,n)が対象物に属さないことを示す第2の値(0)の2つの値をとることができ、前記距離画像の前記決定は、
−前記原画像と同じ次元の中間画像を定義し、重みwid(m,n)を前記中間画像の各画素p(m,n)と関連付ける工程と、
−中心画素p(m,n)、前列内の前記中心画素p(m,n)と同じ行上に位置する画素p(m,n−1)、前行中の前記中心画素p(m,n)と同じ列上に位置する画素p(m−1,n)の3つの画素からなる第1の構成要素を定義する工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程であって、前記第7の論理ブロック(muxB)は前記演算ブロックの前記第2の入力(B)に前記FIFOスタックの前記出力を接続し、前記第8の論理ブロック(muxA)は前記演算ブロックの前記第1の入力(A)に前記第3の出力(S)を接続する、工程、
□前記中心画素p(m,n)が対象物に属するかどうかを判断する工程と、
□そうである場合、前記重みwid(m,n)に値0を割り当て、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記再構成可能モジュールの前記第1の入力(I)を接続する工程と、
□そうでなければ、1単位だけインクリメントされた前記重みwid(m,n−1)(V1)とwid(m−1,n)(B1)の最小値を前記重みwid(m,n)に割り当て、前記第6の論理ブロック(muxO)が前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第3の出力(S)を接続する工程、
−中心画素p(m,n)、次行中の前記中心画素p(m,n)と同じ列上に位置する画素p(m+1,n)、次列内の前記中心画素と同じ行上に位置する画素p(m,n+1)の3つの画素からなる第2の構成要素を定義する工程、
−Mから1まで変化するmの下記工程を繰り返す工程と、
○Nから1まで変化するnの下記工程を繰り返す工程であって、前記第5と第9の論理ブロック(muxI,muxD)は前記再構成可能モジュールの前記第1の入力(I)を前記演算ブロックの前記第4の入力(D)に接続し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第2の出力(S1)を接続し、前記第7の論理ブロック(muxB)は前記演算ブロックの前記第2の入力(B)に前記FIFOスタックの前記出力を接続し、前記第8の論理ブロック(muxA)は前記演算ブロックの前記第1の入力(A)に前記第3の出力(S)を接続する、工程、
□重みwid(m,n)(r)、wd(m+1,n)+1(B2+1)、wd(m,n+1)+1(V2+1)の最小値を前記中心画素p(m,n)の前記重みwd(m,n)に割り当てる工程、
を含む、ことを特徴とする方法。
【請求項15】
請求項1〜7のいずれか一項に記載の再構成可能モジュールを実施する請求項14に記載の方法であって、1単位だけインクリメントされた前記重みwid(m,n−1)(V1)とwid(m−1,n)(B1)の最小値の前記重みwid(m,n)への前記割り当ては、
−前記第1の加算器/減算器(add1)の前記第1の入力(A=V1)から前記第2の入力(B=B1)を減算する工程と、
−前記減算(A−B)の前記結果の符号に依存して、前記第1の論理ブロック(muxA/B)の前記第1の入力(A)または第2の入力(B)と前記出力間にリンクを確立する工程と、
−前記第4の論理ブロック(muxABC)の前記第2の入力(AまたはB)と前記第1の出力間および前記第1の入力(C)と前記第2の出力間にリンクを確立する工程と、
−前記第3の加算器/減算器(add3)の前記第1の入力に値「1」を加算し、前記第11の論理ブロック(muxC)は前記演算ブロックの前記第3の入力(C)に前記データレジスタ(reg C)を接続する工程と、含む、ことを特徴とする方法。
【請求項16】
請求項1〜7のいずれか一項に記載の再構成可能モジュールを実施する請求項14または15のいずれか一項に記載の方法であって、前記重みwid(m,n)(r)、wd(m+1,n)+1(B2+1)、wd(m,n+1)+1(V2+1)の最小値の前記重みwd(m,n)への前記割り当ては、
−前記第1の加算器/減算器(add1)の前記第1の入力(A=V2)から前記第2の入力(B=B2)を減算する工程と、
−前記減算(A−B)の前記結果の符号に依存して、前記第1の論理ブロック(muxA/B)の前記第1の入力または第2の入力(A,B)と前記出力間にリンクを確立する工程と、
−前記第4の論理ブロック(muxABC)の前記第2の入力(AまたはB)と前記第1の出力間および前記第1の入力(C)と前記第2の出力間にリンクを確立する工程と、
−前記第3の加算器/減算器(add3)の前記第1の入力に値「1」を加算し、前記第11の論理ブロック(muxC)は前記演算ブロックの前記第3の入力(C)に前記データレジスタ(reg C)を接続する工程と、
−前記第3の論理ブロック(muxE/S)を介し前記第3の加算器/減算器(add3)の前記出力と前記第2の加算器/減算器(add2)の前記第2の入力間にリンクを確立する工程と、
−前記第2の加算器/減算器(add2)の前記第1の入力(D=r)から前記第2の入力(B2+1またはV2+1)を減算する工程と、
−前記減算(r−(B2+1またはr−(V2+1))の前記結果の符号に依存して前記第2の論理ブロック(muxD/E)の前記第1または第2の入力(r,B2+1またはV2+1)と前記出力との間にリンクを確立する工程と、を含む、ことを特徴とする方法。
【請求項17】
請求項1に記載の再構成可能モジュールを実施する請求項8〜16のいずれか一項に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)に関連付けられ、前記原画像の前記行と列に沿った前記投射の前記決定は、
−前記原画像の行と同じ数Nの列を含む投射行と前記原画像の列と同じ数Mの行を含む投射列とを定義し、重みwp(X,n)とwp(m,Y)は前記投射行の各画素p(X,n)および前記投射列の各画素p(m,Y)とそれぞれ関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程、
□前記投射列の前記画素p(m,Y)の前記重みwp(m,Y)を前記原画像の前記画素p(m,n)の前記重みwo(m,n)に加算する工程と、
□前記投射行の前記画素p(X,n)の前記重みwp(X,n)を前記原画像の前記画素p(m,n)の前記重みwo(m,n)に加算する工程、
を含む、ことを特徴とする方法。
【請求項1】
5入力(A,B,C,D,E)と3出力(S0,S1,S)を含む演算ブロックを含み、
前記演算ブロックの前記第1の出力(S0)は、前記演算ブロックの前記第1と第2の入力(A,B)の加算(A+B)の結果、または前記演算ブロックの前記第1の入力(A)から前記第2の入力(B)の減算(A−B)の結果、または前記演算ブロックの前記第1と第2の入力(A,B)の最小値(min(A,B)、または前記演算ブロックの前記第1と第2の入力(A,B)の最大値(max(A,B)、のいずれかを送出することができ、
前記演算ブロックの前記第2の出力(S1)は、前記演算ブロックの前記第4と第5の入力(D,E)の加算(D+E)の結果、または前記演算ブロックの前記第4の入力(D)から前記第5の入力(E)の減算(D−E)の結果、または前記演算ブロックの前記第4と第5の入力(D,E)の最小値(min(D,E))、または前記演算ブロックの前記第4と第5の入力(D,E)の最大値(max(D,E))、または前記演算ブロックの前記第1の入力、前記第2の入力、前記第4の入力(A,B,D)の最小値(min(A,B,D))、または前記演算ブロックの前記第1の入力、前記第2の入力、前記第4の入力(A,B,D)の最大値(max(A,B,D))、のいずれかの結果を送出することができ、
前記演算ブロックの前記第3の出力(S)は、前記演算ブロックの前記第1の出力(S0)と前記第3の入力(C)の加算(S0+C)の結果、または前記演算ブロックの前記第1の出力(S0)から前記第3の入力(C)の減算(S0−C)の結果のいずれかを送出することができる、ことを特徴とする再構成可能モジュール。
【請求項2】
前記演算ブロックは3つの加算器/減算器と4つの論理ブロックを含み、前記演算ブロックの前記第1と前記第2入力(A,B)は第1の加算器/減算器(add1)の第1と第2の入力と第1の論理ブロック(muxA/B)の第1と第2の入力にそれぞれ接続され、前記第1の加算器/減算器(add1)の出力は前記第1の論理ブロック(muxA/B)の第3の入力に接続され、前記第1の論理ブロック(muxA/B)の出力は前記演算ブロックの前記第1の出力(S0)を形成し、
前記演算ブロックの前記第4の入力(D)は第2の加算器/減算器(add2)の第1の入力と第2の論理ブロック(muxD/E)の第1の入力に接続され、前記演算ブロックの前記第5の入力(E)は第3の論理ブロック(muxE/S)の第1の入力に接続され、前記第3の論理ブロック(muxE/S)の出力は前記第2の加算器/減算器(add2)の第2の入力と前記第2の論理ブロック(muxD/E)の第2の入力に接続され、前記第2の加算器/減算器(add2)の出力は前記第2の論理ブロック(muxD/E)の第3の入力に接続され、前記第2の論理ブロック(muxD/E)の出力は前記演算ブロックの前記第2の出力(S1)を形成し、
前記演算ブロックの前記第3の入力(C)と前記第1の論理ブロック(muxA/B)の前記出力は第4の論理ブロック(muxABC)の第1と第2の入力にそれぞれ接続され、前記第4の論理ブロック(muxABC)の第1および第2の出力は第3の加算器/減算器(add3)の第1と第2の入力にそれぞれ接続され、前記第3の加算器/減算器(add3)の出力は前記第3の論理ブロック(muxE/S)の第2の入力に接続され、前記演算ブロックの前記第3の出力(S)を形成する、ことを特徴とする請求項1に記載の再構成可能モジュール。
【請求項3】
前記第1の論理ブロック(muxA/B)の前記出力(S0)と前記第2の論理ブロック(muxD/E)の前記出力(S1)が、前記第1の加算器/減算器(add1)の前記第1の入力(A)から前記第2の入力(B)の前記減算(A−B)の符号の関数として、そして前記第2の加算器/減算器(add2)の前記第1の入力(D)から前記第2の入力(EまたはS)の前記減算(D−EまたはD−S)の符号の関数として、それぞれ決定されるように、手段を含む、ことを特徴とする請求項2に記載の再構成可能モジュール。
【請求項4】
2入力(I,I_ch)、2出力(O,O_ch)、第5の論理ブロック(muxI)、第6の論理ブロック(muxO)を含み、前記再構成可能モジュールの前記第1の入力(I)は前記第5の論理ブロック(muxI)の第1の入力と前記第6の論理ブロック(muxO)の第1の入力に接続され、前記再構成可能モジュールの前記第2の入力(I_ch)は前記第5の論理ブロック(muxI)の第2の入力に接続され、前記第5の論理ブロック(muxI)の第1、第2、第3の出力は前記演算ブロックの前記第1、第2、第4の入力(A,B,D)にそれぞれ接続され、前記演算ブロックの前記第1、第2、第3の出力(S0,S1,S)は前記第6の論理ブロック(muxO)の第2、第3、第4の入力にそれぞれ接続され、前記第6の論理ブロック(muxO)の出力は前記再構成可能モジュールの前記第1の出力(O)を形成し、前記第5の論理ブロック(muxI)の前記第4の出力は再前記構成可能モジュールの前記第2の出力(O_ch)を形成し、前記第2の出力(O_ch)は本請求項に記載するような第2の再構成可能モジュールの前記第2の入力(I_ch)に接続可能である、ことを特徴とする請求項1〜3のいずれか一項に記載の再構成可能モジュール。
【請求項5】
FIFOスタックと第7の論理ブロック(muxB)を含み、前記第5の論理ブロック(muxI)の前記第2の出力は前記第7の論理ブロック(muxB)の第1の入力に接続され、前記第7の論理ブロック(muxB)の出力は前記演算ブロックの前記第2の入力(B)に接続され、前記演算ブロックの前記第1の出力(S0)は前記FIFOスタックの入力に接続され、前記FIFOスタックの出力は前記第7の論理ブロック(muxB)の第2の入力と前記第6の論理ブロック(muxO)の第5の入力に接続される、ことを特徴とする請求項4に記載の再構成可能モジュール。
【請求項6】
第8、第9、第10の論理ブロック(muxA,muxD,muxE)を含み、前記第5の論理ブロック(muxI)の前記第1と第3の出力は前記第8の論理ブロック(muxA)の第1の入力と前記第9の論理ブロック(muxD)の第1の入力にそれぞれ接続され、前記演算ブロックの前記第3の出力(S)は、前記第8の論理ブロック(muxA)の第2の入力、前記第9の論理ブロック(muxD)の第2の入力、前記演算ブロックの前記第3の入力(C)に接続され、前記演算ブロックの前記第2、第3の出力(S1,S)は前記第10の論理ブロック(muxE)の第1と第2の入力にそれぞれ接続され、前記第10の論理ブロック(muxE)の出力は前記演算ブロックの前記第5の入力(E)に接続される、ことを特徴とする請求項4または5に記載の再構成可能モジュール。
【請求項7】
データレジスタ(reg C)と第11の論理ブロック(muxC)を含み、前記演算ブロックの前記第3の出力(S)と前記データレジスタ(reg C)は前記第11の論理ブロック(muxC)の第1と第2の入力にそれぞれ接続され、前記第11の論理ブロック(muxC)の出力は前記演算ブロックの前記第3の入力(C)に接続される、ことを特徴とする請求項1〜6のいずれか一項に記載の再構成可能モジュール。
【請求項8】
請求項1〜7のいずれか一項に記載の再構成可能モジュールを実施する方法であって、M行とN列(MとNは正の整数)の画素p(m,n)を含む原画像を起点とし、前記原画像と同じ次元を有する、
−積分画像、
−または浸蝕画像、
−または拡張画像、
−またはマンハッタン距離画像、
−あるいは前記原画像の前記行に沿った投射と前記列に沿った投射、のいずれかを、前記演算ブロックに属する加算器/減算器の演算のタイプ、前記演算ブロックに属する論理ブロックの入出力間に確立されるリンクのタイプに依存して決定することからなる工程を含む、ことを特徴とする方法。
【請求項9】
請求項1および4〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項8に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)と関連付けられ、重みwi(m,n)は前記積分画像の各画素p(m,n)と関連付けられ、前記積分画像の前記決定は、
−前記原画像と同じ次元の中間画像を定義し、重みwii(m,n)が前記中間画像の各画素p(m,n)と関連付けられる工程と、
−前記中間画像の第1行(m=1)の画素p(1,n)の重みwii(1,n)を初期化する工程と、
−2からNまで変化するnの下記工程を繰り返す工程と、
○2からMまで変化するmの下記工程を繰り返す工程であって、前記重みwo(m,n)は前記再構成可能モジュールの前記第1の入力(I)に注入され、前記第5と第8の論理ブロック(muxI,muxA)は前記再構成可能モジュールの前記第1の入力(I)を前記演算ブロックの第1の入力(A)に接続し、前記演算ブロックは前記重みwo(m,n)とwii(m−1,n)の加算を実行し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第1の出力(S0)を接続し、第7の論理ブロック(muxB)は前記演算ブロックの前記第2の入力(B)に前記FIFOスタックの前記出力を接続する、工程と、
□前記中間画像の前記画素p(m−1,n)の前記重みwii(m−1,n)に前記原画像の前記画素p(m,n)の前記重みwo(m,n)を加算する工程と、
□大きさM−1の前記FIFOスタックに前記加算の前記結果を格納する工程
−前記積分画像の第1列(n=1)の前記画素p(m,1)の前記重みwi(m,1)を初期化する工程と、
−2からMまで変化するmの下記工程を繰り返す工程と、
○2からNまで変化するnの下記工程を繰り返す工程であって、前記重みwii(m,n)は前記再構成可能モジュールの前記第1の入力(I)に注入され、前記第5と第8の論理ブロック(muxI,muxA)は前記演算ブロックの前記第1の入力(A)に前記再構成可能モジュールの前記第1の入力(I)を接続し、前記演算ブロックは前記重みwii(m,n)とwi(m,n−1)の加算を実行し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第1の出力(S0)を接続し、前記第7の論理ブロック(muxB)は前記演算ブロックの前記第2の入力Bに前記FIFOスタックの前記出力を接続する、工程と、
□前記積分画像の前記画素p(m,n−1)の前記重みwi(m,n−1)に前記中間画像の画素p(m,n)の前記重みwii(m,n)を加算する工程と、
□大きさN−1の前記FIFOスタックに前記加算の前記結果を格納する工程、
を含む、ことを特徴とする方法。
【請求項10】
請求項1、および請求項4〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項8または9のいずれか一項に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)と関連付けられ、重みwe(m,n)は前記浸蝕画像の各画素p(m,n)と関連付けられ、次元3×3を有する構成要素による前記浸蝕画像の前記決定は、
−前記構成要素を次元1×3を有する第1の部分構成要素と次元3×1を有する第2の部分構成要素に分解する工程と、
−前記原画像と同じ次元の中間画像を定義し、重みwie(m,n)は前記中間画像の各画素p(m,n)と関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程と、
□当該画素p(m,n)を中心とする前記第1の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)の最小値を前記重みwie(m,n)に割り当てる工程、
−1からNまで変化するnの下記工程を繰り返す工程と、
○1からMまで変化するmの下記工程を繰り返す工程、
□当該画素p(m,n)を中心とする前記第2の部分構成要素に属する前記重みwe(m,n)に前記画素p(x,y)の前記重みwie(x,y)の最小値を割り当てる工程であって、前記重みwo(x,y)またはwie(x,y)は前記再構成可能モジュールの前記第1の入力(I)に注入され、前記第5の論理ブロック(muxI)は、前記再構成可能モジュールの前記第1の入力(I)を、前記第8の論理ブロック(muxA)を介し前記演算ブロックの前記第1の入力(A)に、前記第7の論理ブロック(muxB)を介し前記演算ブロックの前記第2の入力(B)に、前記第9の論理ブロック(muxD)を介し前記演算ブロックの前記第4の入力(D)に連続的に接続し、前記第10の論理ブロック(muxE)は前記演算ブロックの前記第5の入力(E)に前記第3の出力(S)を接続し、前記演算ブロックは前記画素p(m,n)を中心とする前記第1または第2の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)または前記wie(x,y)の最小値を決定し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第2の出力(S1)を接続する、工程、
を含む、ことを特徴とする方法。
【請求項11】
請求項1〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項10に記載の方法であって、前記第1または第2の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)または前記wie(x,y)の最小値の前記重みwie(m,n)または前記we(m,n)への割り当ては、
−前記第1の加算器/減算器(add1)の前記第1の入力(A)から前記第2の入力(B)を減算する工程と、
−前記減算(A−B)の結果の符号に依存して前記第1の入力または第2の入力(A,B)と前記第1の論理ブロック(muxA/B)の前記出力との間にリンクを確立する工程と、
−前記第4の論理ブロック(muxABC)の前記第2の入力と前記第1の出力との間にリンクを確立する工程と、
−前記第3の加算器/減算器(add3)の前記第1の入力を値0に加算または値0から減算する工程と、
−前記第3の論理ブロック(muxE/S)の前記第1の入力と前記出力間にリンクを確立する工程と、
−前記第2の加算器/減算器(add2)の前記第1の入力(D)から前記第2の入力(E=S=AまたはE=S=B)を減算する工程と、
−前記第2の減算(D−E)の結果の符号に依存して前記第1または第2の入力(D、E=S=AまたはE=S=B)と前記第2の論理ブロック(muxD/E)の前記出力との間にリンクを確立する工程と、を含む、ことを特徴とする方法。
【請求項12】
請求項1、および請求項4〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項8〜11のいずれか一項に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)と関連付けられ、重みwf(m,n)は前記拡張画像の各画素p(m,n)と関連付けられ、次元3×3を有する構成要素による前記拡張画像の前記決定は、
−前記構成要素を次元1×3の第1の部分構成要素と次元3×1の第2の部分構成要素とに分解する工程と、
−前記原画像と同じ次元の中間画像を定義し、重みwif(m,n)は前記中間画像の各画素p(m,n)と関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程と、
□当該画素p(m,n)を中心とする前記第1の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)の最大値を前記重みwif(m,n)に割り当てる工程、
−1からNまで変化するnの下記工程を繰り返す工程と、
○1からMまで変化するmの下記工程を繰り返す工程、
□当該画素p(m,n)を中心とする前記第2の部分構成要素に属する前記画素p(x,y)の前記重みwif(x,y)の最小値を前記重みwf(m,n)に割り当てる工程あって、前記重みwo(x,y)またはwie(x,y)を前記再構成可能モジュールの前記第1の入力(I)に注入し、前記第5の論理ブロック(muxI)は、前記再構成可能モジュールの前記第1の入力(I)を、前記第8の論理ブロック(muxA)を介し演算ブロックの前記第1の入力(A)に、前記第7の論理ブロック(muxB)を介し前記演算ブロックの前記第2の入力(B)に、前記第9の論理ブロック(muxD)を介し前記演算ブロックの前記第4の入力(D)に連続的に接続し、前記第10の論理ブロック(muxE)は前記演算ブロックの前記第5の入力(E)に前記第3の出力(S)を接続し、前記演算ブロックは前記画素p(m,n)を中心とする前記第1または第2の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)またはwif(x,y)の最大値を決定し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第2の出力(S1)を接続する、工程、
を含む、ことを特徴とする方法。
【請求項13】
請求項1〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項12に記載の方法であって、前記第1または第2の部分構成要素に属する前記画素p(x,y)の前記重みwo(x,y)またはwi(x,y)の最大値の前記重みwif(m,n)またはwfe(m,n)への割り当ては、
−前記第1の加算器/減算器(add1)の前記第1の入力(A)から前記第2の入力(B)を減算する工程と、
−前記減算(A−B)の前記結果の符号に依存して、前記第1の論理ブロック(muxA/B)の前記第1の入力または第2の入力(A,B)と前記出力間にリンクを確立する工程と、
−前記第4の論理ブロック(muxABC)の前記第2の入力と前記第1の出力間にリンクを確立する工程と、
−前記第3の加算器/減算器(add3)の前記第1の入力を値0に加算または値0から減算する工程と、
−前記第3の論理ブロック(muxE/S)の前記第1の入力と前記出力間にリンクを確立する工程と、
−前記第2の加算器/減算器(add2)の前記第1の入力(D)から前記第2の入力(E=S=AまたはE=S=B)を減算する工程と、
−前記第2の減算(D−E)の前記結果の符号に依存して、前記第2の論理ブロック(muxD/E)の前記第1または第2の入力(D、E=S=AまたはE=S=B)と前記出力間にリンクを確立する工程と、を含む、ことを特徴とする方法。
【請求項14】
請求項1および請求項4〜6のいずれか一項に記載の再構成可能モジュールを実施する請求項8〜13のいずれか一項に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)と関連付けられ、重みwd(m,n)は前記距離画像の各画素p(m,n)と関連付けられ、前記重みwo(m,n)は、当該画素p(m,n)が対象物に属することを示す第1の値(1)と前記画素p(m,n)が対象物に属さないことを示す第2の値(0)の2つの値をとることができ、前記距離画像の前記決定は、
−前記原画像と同じ次元の中間画像を定義し、重みwid(m,n)を前記中間画像の各画素p(m,n)と関連付ける工程と、
−中心画素p(m,n)、前列内の前記中心画素p(m,n)と同じ行上に位置する画素p(m,n−1)、前行中の前記中心画素p(m,n)と同じ列上に位置する画素p(m−1,n)の3つの画素からなる第1の構成要素を定義する工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程であって、前記第7の論理ブロック(muxB)は前記演算ブロックの前記第2の入力(B)に前記FIFOスタックの前記出力を接続し、前記第8の論理ブロック(muxA)は前記演算ブロックの前記第1の入力(A)に前記第3の出力(S)を接続する、工程、
□前記中心画素p(m,n)が対象物に属するかどうかを判断する工程と、
□そうである場合、前記重みwid(m,n)に値0を割り当て、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記再構成可能モジュールの前記第1の入力(I)を接続する工程と、
□そうでなければ、1単位だけインクリメントされた前記重みwid(m,n−1)(V1)とwid(m−1,n)(B1)の最小値を前記重みwid(m,n)に割り当て、前記第6の論理ブロック(muxO)が前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第3の出力(S)を接続する工程、
−中心画素p(m,n)、次行中の前記中心画素p(m,n)と同じ列上に位置する画素p(m+1,n)、次列内の前記中心画素と同じ行上に位置する画素p(m,n+1)の3つの画素からなる第2の構成要素を定義する工程、
−Mから1まで変化するmの下記工程を繰り返す工程と、
○Nから1まで変化するnの下記工程を繰り返す工程であって、前記第5と第9の論理ブロック(muxI,muxD)は前記再構成可能モジュールの前記第1の入力(I)を前記演算ブロックの前記第4の入力(D)に接続し、前記第6の論理ブロック(muxO)は前記再構成可能モジュールの前記第1の出力(O)に前記演算ブロックの前記第2の出力(S1)を接続し、前記第7の論理ブロック(muxB)は前記演算ブロックの前記第2の入力(B)に前記FIFOスタックの前記出力を接続し、前記第8の論理ブロック(muxA)は前記演算ブロックの前記第1の入力(A)に前記第3の出力(S)を接続する、工程、
□重みwid(m,n)(r)、wd(m+1,n)+1(B2+1)、wd(m,n+1)+1(V2+1)の最小値を前記中心画素p(m,n)の前記重みwd(m,n)に割り当てる工程、
を含む、ことを特徴とする方法。
【請求項15】
請求項1〜7のいずれか一項に記載の再構成可能モジュールを実施する請求項14に記載の方法であって、1単位だけインクリメントされた前記重みwid(m,n−1)(V1)とwid(m−1,n)(B1)の最小値の前記重みwid(m,n)への前記割り当ては、
−前記第1の加算器/減算器(add1)の前記第1の入力(A=V1)から前記第2の入力(B=B1)を減算する工程と、
−前記減算(A−B)の前記結果の符号に依存して、前記第1の論理ブロック(muxA/B)の前記第1の入力(A)または第2の入力(B)と前記出力間にリンクを確立する工程と、
−前記第4の論理ブロック(muxABC)の前記第2の入力(AまたはB)と前記第1の出力間および前記第1の入力(C)と前記第2の出力間にリンクを確立する工程と、
−前記第3の加算器/減算器(add3)の前記第1の入力に値「1」を加算し、前記第11の論理ブロック(muxC)は前記演算ブロックの前記第3の入力(C)に前記データレジスタ(reg C)を接続する工程と、含む、ことを特徴とする方法。
【請求項16】
請求項1〜7のいずれか一項に記載の再構成可能モジュールを実施する請求項14または15のいずれか一項に記載の方法であって、前記重みwid(m,n)(r)、wd(m+1,n)+1(B2+1)、wd(m,n+1)+1(V2+1)の最小値の前記重みwd(m,n)への前記割り当ては、
−前記第1の加算器/減算器(add1)の前記第1の入力(A=V2)から前記第2の入力(B=B2)を減算する工程と、
−前記減算(A−B)の前記結果の符号に依存して、前記第1の論理ブロック(muxA/B)の前記第1の入力または第2の入力(A,B)と前記出力間にリンクを確立する工程と、
−前記第4の論理ブロック(muxABC)の前記第2の入力(AまたはB)と前記第1の出力間および前記第1の入力(C)と前記第2の出力間にリンクを確立する工程と、
−前記第3の加算器/減算器(add3)の前記第1の入力に値「1」を加算し、前記第11の論理ブロック(muxC)は前記演算ブロックの前記第3の入力(C)に前記データレジスタ(reg C)を接続する工程と、
−前記第3の論理ブロック(muxE/S)を介し前記第3の加算器/減算器(add3)の前記出力と前記第2の加算器/減算器(add2)の前記第2の入力間にリンクを確立する工程と、
−前記第2の加算器/減算器(add2)の前記第1の入力(D=r)から前記第2の入力(B2+1またはV2+1)を減算する工程と、
−前記減算(r−(B2+1またはr−(V2+1))の前記結果の符号に依存して前記第2の論理ブロック(muxD/E)の前記第1または第2の入力(r,B2+1またはV2+1)と前記出力との間にリンクを確立する工程と、を含む、ことを特徴とする方法。
【請求項17】
請求項1に記載の再構成可能モジュールを実施する請求項8〜16のいずれか一項に記載の方法であって、重みwo(m,n)は前記原画像の各画素p(m,n)に関連付けられ、前記原画像の前記行と列に沿った前記投射の前記決定は、
−前記原画像の行と同じ数Nの列を含む投射行と前記原画像の列と同じ数Mの行を含む投射列とを定義し、重みwp(X,n)とwp(m,Y)は前記投射行の各画素p(X,n)および前記投射列の各画素p(m,Y)とそれぞれ関連付けられる工程と、
−1からMまで変化するmの下記工程を繰り返す工程と、
○1からNまで変化するnの下記工程を繰り返す工程、
□前記投射列の前記画素p(m,Y)の前記重みwp(m,Y)を前記原画像の前記画素p(m,n)の前記重みwo(m,n)に加算する工程と、
□前記投射行の前記画素p(X,n)の前記重みwp(X,n)を前記原画像の前記画素p(m,n)の前記重みwo(m,n)に加算する工程、
を含む、ことを特徴とする方法。
【図1a】
【図1b】
【図2】
【図3a】
【図3b】
【図3c】
【図4】
【図5】
【図6a】
【図6b】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図1b】
【図2】
【図3a】
【図3b】
【図3c】
【図4】
【図5】
【図6a】
【図6b】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公表番号】特表2012−502336(P2012−502336A)
【公表日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2011−525499(P2011−525499)
【出願日】平成21年8月18日(2009.8.18)
【国際出願番号】PCT/EP2009/060659
【国際公開番号】WO2010/026042
【国際公開日】平成22年3月11日(2010.3.11)
【出願人】(510074896)
【Fターム(参考)】
【公表日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願日】平成21年8月18日(2009.8.18)
【国際出願番号】PCT/EP2009/060659
【国際公開番号】WO2010/026042
【国際公開日】平成22年3月11日(2010.3.11)
【出願人】(510074896)
【Fターム(参考)】
[ Back to top ]