(57)【要約】【課題】  二次元格子状に配列された複数の受光素子を備えた複数のセンサモジュールの各々の電子回路の配置と配線を工夫し、イメージセンサの背面から複数の画素信号を出力することにより、高精細で高速なイメージセンサを製造することを目的とする。【解決手段】  センサモジュール２５２において、格子状に配列された全ての受光素子２６１と電荷結合素子２６３を異なる基板上に作成し、電荷転送ゲート２６２を介して各々の受光素子２６１と電荷結合素子２６３を接続する。電荷転送用駆動装置２６４が、行選択信号線２６５を介して全ての電荷転送ゲート２６２に行選択信号を供給すると共に、電荷転送信号線２６６を介して電荷結合素子２６３に電荷転送信号を供給し、受光素子２６１から電荷結合素子２６３に転送された電荷を、バケツリレー式にいずれか一端に転送させる。転送された電荷は順次出力増幅器２６７に入力された後、イメージセンサの背面から画素信号として出力される。【選択図】  図１２４
2008259244.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサモジュールを含むイメージセンサであって、 
少なくとも１個の前記センサモジュールの各々が、 
二次元格子状に配列された複数の画素セルと、 
複数の前記画素セルの配列に沿って配置された電荷結合素子と、 
電荷転送用駆動装置と、 
出力増幅器と、 
を含み、 
少なくとも１個の前記画素セルの各々が、
光を電荷に変換する受光素子と、
電荷転送ゲートと、
を含み、
少なくとも１個の前記センサモジュールの各々において、
前記受光素子が作成された第１の基板と前記電荷結合素子が作成された第２の基板が積層されることと、
前記電荷転送用駆動装置の出力が、少なくとも１個の前記画素セルの前記電荷転送ゲートを導通させることと、
前記電荷結合素子が、少なくとも１個の前記電荷転送ゲートを介して出力された前記受光素子の前記電荷を個別に蓄えることと、
前記電荷転送用駆動装置の出力が、前記電荷結合素子に蓄えられた前記電荷を前記出力増幅器に向けて順番に転送することと、
前記出力増幅器が、前記電荷結合素子に蓄えられた前記電荷を順番に増幅することと、
前記電荷転送用駆動装置が出力する画素同期信号に合わせて、全ての前記画素セルの前記受光素子の前記電荷が画素信号としてイメージセンサの背面から順番に出力されることと、
により、
隣接する前記センサモジュールの間隔を狭くすることとを特徴とするイメージセンサ。
【請求項２】
複数のセンサモジュールを含むイメージセンサであって、
前記センサモジュールの各々が、
二次元格子状に配列された複数の画素セルと、
垂直シフトレジスタと、
水平シフトレジスタと、
複数の列選択ゲートと、
複数のノイズキャンセラと、
出力増幅器と、
を含み、
前記画素セルの各々が、
光を電荷に変換する受光素子と、
前記電荷を電圧に変換する電荷増幅器と、
行選択ゲートと、
を含み、
前記センサモジュールの各々において、
前記受光素子が作成された第１の基板と前記垂直シフトレジスタ及び前記水平シフトレジスタが作成された第２の基板が積層されることと、
前記垂直シフトレジスタの出力が、少なくとも１個の前記画素セルの前記行選択ゲートを導通させることと、
前記ノイズキャンセラの各々が、少なくとも１個の前記行選択ゲートを介して出力された前記電圧のノイズを抑えることと、
前記水平シフトレジスタの出力が、少なくとも１個の前記列選択ゲートを導通させることと、
前記出力増幅器が、少なくとも１個の前記列選択ゲートを介して出力された前記ノイズキャンセラの出力を増幅することと、
前記水平シフトレジスタが出力する画素同期信号に合わせて、少なくとも１個の前記画素セルの前記受光素子の前記電荷が画素信号としてイメージセンサの背面から順番に出力されることと、
により、
隣接する前記センサモジュールの間隔を狭くすることとを特徴とするイメージセンサ。
【請求項３】
請求項１又は２記載のイメージセンサにおいて、
少なくとも１個の前記センサモジュールが前記二次元格子状に配列された層と、
複数のＡ／Ｄ変換回路が前記二次元格子状に配列された層と、
複数のデジタル回路が前記二次元格子状に配列された層と、
が積層され、
複数の前記センサモジュールの各々が出力する前記画素信号が、複数の前記Ａ／Ｄ変換回路のうちの相異なる１個に入力されることと、
複数の前記Ａ／Ｄ変換回路の各々が、前記画素信号を画素データに変換することと、
複数の前記Ａ／Ｄ変換回路の各々が出力する前記画素データが、複数の前記デジタル回路のうちの相異なる少なくとも１個に入力されることと、
により、
少なくとも１個の前記センサモジュールの各々において、少なくとも１個の前記受光素子が生成した前記電荷が、前記画素同期信号に合わせて、対応する１個の前記デジタル回路に前記画素データとして順次入力されることを特徴とするイメージセンサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体を探索及び認識する視覚装置に使用される、複数のセンサモジュールを備えたイメージセンサに関する。
【背景技術】
【０００２】
移動カメラを制御し、画像処理をする装置として、本発明者はこれまで視覚装置（ｖｉｓｕ ａｌ  ｄｅｖｉｃｅ）を開発してきた（例えば、特開２００１−４３３８５、特開２００１−１０１４０３、特開２００１−１４８００６、特開２００１−１４８０２２、特開２００１−１４８０２４、国際公開番号ＷＯ００／１６２５９参照）。この視覚装置は移動カメラ（ｍｏｖｉｎｇ  ｃａｍｅｒａ）のパン、チルト及びズームの機構を制御することにより、物体を探索し、物体の画像処理を行うものである。視覚装置が行う画像処理の大半が局所処理であり、しかもこれらの局所処理（ｌｏｃａｌ  ｐｒｏｃｅｓｓｉｎｇ）は二次元格子状に配列された複数の配列演算ユニット（ａｒｒａｙ  ｏｐｅｒａｔｉｏｎ  ｕｎｉｔｓ）によって並列に実行され得る。しかしながらこの視覚装置には、主に４つの問題があった。第一に、物体／背景分離手段（ｆｉｇｕｒｅ／ｇｒｏｕｎｄ  ｓｅｐａｒ ａｔｉｏｎ  ｍｅａｎｓ）は、非線形振動子（ｎｏｎｌｉｎｅａｒ  ｏｓｃｉｌｌａｔｏｒ）を用いて少なくとも１つの物体領域（ｏｂｊｅｃｔ  ａｒｅａ）と背景領域（ｂａｃ ｋｇｒｏｕｎｄ  ａｒｅａ）を分離するために、膨大な計算量を必要とした。第二に、パターンマッチング手段（ｐａｔｔｅｒｎ  ｍａｔｃｈｉｎｇ  ｍｅａｎｓ）は、物体の色とパターンが混在した正規化画像（ｎｏｒｍａｌｉｚｅｄ  ｉｍａｇｅ）を正しく認識するために、多数のテンプレート画像（ｔｅｍｐｌａｔｅ  ｉｍａｇｅｓ）を必要とした。第三に、幾何解析手段（ｇｅｏｍｅｔｒｉｃａｌ  ａｎａｌｙｓｉｓ  ｍｅａｎｓ）は、動画像中の物体の大まかな形を検出するために、フーリエ変換、アフィン変換及びハフ変換のような大域処理を行わなければならなかった。第四に、領域正規化手段（ａｒｅａ  ｎｏｒｍａｌｉｚａｔｉｏｎ  ｍｅａｎｓ）は、正規化画像の画素間を補間するために、自然数による除算を実行するための除算器を備えたプロセッサを必要とするか、又はこの自然数の逆数を記憶するためのルックアップテーブルを必要とした。そのため、これらの手段は、視覚装置を有する高性能イメージセンサの製造にとって大きな障害であった。
【０００３】
まず、従来の物体／背景分離手段において、各々の非線形振動子は、外乱（ｅｘｔｅｒｎａ ｌ  ｎｏｉｓｅ）として乱数を用いるか、又は入力された形成エッジ情報画像の１画素を構成する形成エッジ情報を用いていた。したがって、形成エッジ情報画像によって区分される物体領域又は背景領域に含まれる非線形振動子と、外乱と、の間に相関はない。その結果、各々の非線形振動子は、近傍にある複数の非線形振動子の位相が適当な組み合せになるまで、自らの位相をこれらの非線形振動子の位相からずらすことができなかった。このことが、物体／背景分離手段の計算量が増加する要因であった。しかしながら、視覚装置は、位置／大きさ検出手段を用いることにより、形成エッジ情報画像によって区分される物体領域のおおよその重心位置及びその大きさを表す重複情報画像を生成することができる。そこで、各々の非線形振動子が、重複情報画像のうち、対応する画素を構成する重複情報を乱数として入力することにより、物体領域に含まれる各々の非線形振動子は、おおよその重心位置から周囲に向けて順番に位相をずらす。
【０００４】
これらのことを考慮すると、位置／大きさ検出手段が形成エッジ情報画像によって区分される物体領域のおおよその重心位置及びその大きさを検出することにより、物体／背景分離手段は、従来に比べて高速に物体領域と背景領域を分離することができると期待される。
【０００５】
次に、従来の視覚装置において、パターンマッチング手段はデジタル画像のうち、物体領域に相当する分離物体領域を正規化した正規化画像をパターンマッチングするために、非常に多くの数のテンプレート画像を必要とした。この理由は、正規化画像が一般にノイズを含んだ多帯域画像であり、しかもパターンマッチング手段が、正規化画像が表す物体の色及びパターンを区別せずに、この正規化画像と多数のテンプレート画像を比較したからである。つまりテンプレート画像は物体の色及びパターンの組み合せの数だけ必要になる。そこで正規化画像が表す物体の色及びパターンを別々にパターンマッチングする場合を考えてみる。まず、物体の色を、正規化画像の各画素が表す色のうち画素数が最も多い色とする。このときパターンマッチング手段は、検出すべき複数の色のうちの相異なる１つの色によって塗り潰されたテンプレート画像を、検出すべき色の数だけ用意することにより、正規化画像が表す物体の色を検出することができる。しかもデジタル画像中の物体の位置及び大きさが変っても、パターンマッチング手段は、分離物体領域に含まれる各画素の色を複数のテンプレート画像と比較することにより、この物体の色を検出することができるので、分離物体領域を正規化する必要もない。一方で、物体のパターンに関しては、分離物体領域に対する正規化画像の代りに、エッジ情報形成手段が分離物体領域から一旦形成エッジ情報画像を生成し、その後、幾何解析手段が形成エッジ情報画像から生成した画像に対する正規化画像を用いるものとする。このとき正規化画像のうち少なくとも１画素には、その周辺にある物体のパターンの一部を表す形及び大きさが記されているので、パターンマッチング手段は、物体領域の位置及び大きさに関係なく、この正規化画像に最も類似したテンプレート画像を容易に選択することができる。これらのことを考慮すると、視覚装置が、複数のパターンマッチング手段を用いて、物体領域が表す物体の色及びパターンを別々に処理することにより、色及びパターンに対する複数のパターンマッチング手段は、それぞれテンプレート画像の数を大幅に削減することができると期待される。
【０００６】
次に、従来の幾何解析手段は、テンプレート画像の数が多くなった場合、パターンマッチング手段の計算量を低減するために、フーリエ変換を用いて動画像中の物体のエッジ情報から輪郭だけを抽出することと、アフィン変換を用いて動画像中の物体の輪郭の大きさを正規化することと、ハフ変換を用いて動画像中の物体の形状を特定することと、を適切に組み合せて利用していた。しかしながら、これらの変換は、画像を厳密に処理する上に、大域処理であるので、視覚装置のハードウェアへの実装には適さなかった。そこで、幾何解析手段が物体の大まかな形を検出することに着目すると、この幾何解析手段が、細切れにされたこの物体の輪郭の断片から位置及び傾きを求め、この傾きをこの物体の輪郭の重心に集めることができれば、この幾何解析手段は、この物体の大まかな形を検出することができる。
【０００７】
これらのことを考慮すると、傾きを検出する手段が形成エッジ情報画像（ｆｏｒｍｅｄ  ｅｄｇｅ−ｉｎｆｏｒｍａｔｉｏｎ  ｉｍａｇｅ）から物体の輪郭を表す複数の線分の長さ及び傾き角度を計算し、さらにこれらの線分の長さ及び傾き角度を、傾き角度毎に物体の輪郭の重心方向に移動すると同時にこれらの線分の移動距離を計算することにより、幾何解析手段は画像処理に適したような物体の位置及び形を検出することができると期待される。しかも物体の輪郭線は既に複数の独立した線分に分割されているので、線分が位置する画素をその近傍との間で一定の制約条件を満たしながら独立に移動させれば、幾何解析手段は少ないハードウェア量と計算量で物体の位置及び形を検出することができると期待される。
【０００８】
最後に、領域正規化手段は、一旦物体領域に相当するデジタル画像中の分離物体領域（ｓｅ ｇｍｅｎｔｅｄ  ｏｂｊｅｃｔ  ａｒｅａ）に含まれる各画素を、互いの距離がおおよそ等しくなるように、デジタル画像全面に移動させた後、これらの画素の間に位置する画素を、近傍の画素の平均によって補間することにより、領域正規化手段はデジタル画像のサイズと等しいサイズの正規化画像を生成する。したがって、領域正規化手段は、画素間を補間するために自然数による除算、又はこの自然数の逆数の乗算を実行しなければならない。このように領域正規化手段が補間する理由は、以下の通りである。第一に、大きさ及び位置が異なる複数の分離物体領域が同じ物体を表す場合、一旦バラバラになった分離物体領域の各画素から分離物体領域のパターンを再構成しなければ、正規化画像の出力先であるパターンマッチング手段が同じ物体に対して多数のテンプレート画像を有しなければならないからである。第二に、デジタル画像が一般にノイズを含む多帯域画像であるために、一旦バラバラになった分離物体領域の画素間を補間をすることにより、正規化画像と、この正規画像と同じ種類の物体の表すテンプレート画像と、の間の類似度が増すからである。しかしながら、前述のように、パターンマッチング手段が、分離物体領域に対する正規化画像の代りに、エッジ情報形成手段が分離物体領域から一旦形成エッジ情報画像を生成し、その後幾何解析手段が形成エッジ情報画像から生成した画像に対する正規化画像を用いる場合、正規化画像のうち少なくとも１画素に、その周辺にある物体のパターンの一部を表す形及び大きさが記されている。したがって、領域正規化手段が補間をしなくても、パターンマッチング手段は複数のテンプレート画像の中から正規化画像に最も類似したテンプレート画像を選択することができる。
【０００９】
これらのことを考慮すると、領域正規化手段が補間をしなくても、パターンマッチング手段は物体領域が表す物体のパターンを選択することができると期待される。
さて、この視覚装置は移動カメラのパン、チルト及びズームの機構を制御することにより、物体を探索し、物体の画像処理を行うものである。視覚装置が行う画像処理の大半が局所処理であり、しかもこれらの局所処理は二次元格子状に配列された配列演算ユニットによって並列に実行される。配列演算ユニットをＬＳＩに実装する場合、個々の配列演算ユニットは、送達及び受領という信号を用いることにより、隣接する配列演算ユニットと非同期に通信できるように設計されている。これにより、配線パターンは極めて単純になり、しかも配線長は短くなるので、ＬＳＩはトランジスタの実装面積を増やしながら消費電力を低下させることができ、しかも全ての配列演算ユニットは必ずしも同期する必要がない。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、従来の配列演算ユニットには主に４つの問題があった。第一の問題は、送達を送信したコントローラにおいて送達を送信してから受領を受信するまでの時間が長くなることである。この原因は、送達を受信したコントローラが、計算データ、種別、水平方向の転送回数及び垂直方向の転送回数を入力するまで受領を返信しないことにある。そこで従来の配列演算ユニットでは、送達を送信したコントローラの上下左右の受領ステータスが確実に更新されるまで、プロセッサは待たなければならなかった。しかしながら、この方法ではコントローラが折角非同期通信をしていてもプロセッサが無駄に時間を潰さなければならない。第二の問題は、計算データの転送順番が不規則であるので、未転送の計算データと転送済の計算データの区別が難しいことである。この原因は全ての配列演算ユニットが独立に動作することにある。そこで従来の配列演算ユニットでは、メモリが受信した計算データを転送すべき送達フラグと一緒に記憶し、一方でプロセッサはメモリに記憶された全ての送達フラグを常に検査して計算データを転送した後、転送された計算データに関連する送達フラグを更新していた。しかしながら、この方法ではプロセッサは既に転送した計算データの送達フラグでも繰り返し検査しなければならない。第三の問題は、計算データが同時に３方向に転送される場合、プロセッサがコントローラに計算データを書き込める割合が低いことである。この原因は、コントローラが４近傍の配列演算ユニットに対して一度に１個の計算データしか送信できないことにある。そこで従来の配列演算ユニットでは、送達フラグによって指定された配列演算ユニットの数が多くなればなるほど、プロセッサは次の計算データをコントローラに書き込めるようになるまで長時間待たなければならなかった。第四の問題は、計算データが同時に３方向に転送される場合、計算データを受信する配列演算ユニットは、この計算データの水平方向の転送回数及び垂直方向の転送回数が同じになる２個の配列演算ユニットを区別することが難しいことである。この原因は、コントローラが水平方向の転送回数及び垂直方向の転送回数を非負の整数でしか通信しないことにある。そこで従来の配列演算ユニットでは、計算データの送信元である２個の配列演算ユニットに優先順位が付けられ、配列演算ユニットは必ず優先順位が高い配列演算ユニットの計算データから順番に転送していた。しかしながら、この方法では、優先順位が高い配列演算ユニットの計算データが入力されるまで、優先順位が低い配列演算ユニットの計算データは転送されないので、転送効率が悪い。これらの問題を解決する最も有効な方法は、高機能なコントローラを設計することである。例えば、第一の問題を解決するためには、コントローラのクロック信号の周波数がプロセッサのクロック信号の周波数より高くなれば良い。第二の問題を解決するためには、コントローラがＦＩＦＯ （Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）のような電子回路を備えれば良い。第三の問題を解決するためには、コントローラが同時に複数の計算データを４近傍の配列演算ユニットに送信できるようにすれば良い。第四の問題を解決するためには、水平方向の転送回数及び垂��方向の転送回数が負の整数で表されるように、コントローラが水平方向の転送回数及び垂直方向の転送回数に対してそれぞれ１ビットずつ回路を増やせば良い。しかしながら、設計者が実際にこのような配列演算ユニットを設計しようとすると、配列演算ユニットのハードウェア量は膨大になる。
【００１１】
そこで第一の問題を解決するためには、コントローラが送達を受信したら、直ちに送達を記憶して受領を返信し、その後、計算データ、種別、水平方向の転送回数及び垂直方向の転送回数を入力すれば良い。第二の問題を解決するためには、ＦＩＦＯの代用品がメモリ及びプロセッサに実装されれば良い。第三及び第四の問題を解決するためには、計算データが多くとも同時に２方向にしか転送されないようにすれば良い。これらのことを考慮すると、スタック及び循環バッファがメモリ及びプロセッサに実装され、反時計回り及び時計回りに計算データが転送されることにより、転送効率が良い配列演算ユニットを設計することができると期待される。
【００１２】
さて、近年ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）技術の急速な進歩により、高速で高集積度のＬＳＩが開発されるようになってきた。ＬＳＩの集積度に関しては、単に設計ルールの微細化技術だけでなく、三次元ＬＳＩ技術（例えば、特開昭６３−１７４３５６、特開平２−３５４２５、特開平７−１３５２９３参照） 、特にウェハーを張り合わせる技術（Ｋｏｙａｎａｇｉ，Ｍ．，Ｋｕｒｉｎｏ，Ｈ．，Ｌｅｅ，Ｋ−Ｗ．，Ｓａｋｕｍａ，Ｋ．，Ｍｉｙａｋａｗａ，Ｎ．，Ｉｔａｎｉ，Ｈ．， ’ Ｆｕｔｕｒｅ  Ｓｙｓｔｅｍ−ｏｎ−Ｓｉｌｉｃｏｎ  ＬＳＩ  Ｃｈｉｐｓ’，ＩＥＥＥ   ＭＩＣＲＯ，１９９８，Ｖｏｌ．１８，Ｎｏ．４，ｐａｇｅｓ１７−２２参照）が開発され、さらに最近多数のチップを積み重ねる技術（例えば、日経マイクロデバイス，２０ ００年６月号，ｐａｇｅｓ６２−７９；日経マイクロデバイス，２０００年６月号，ｐａ ｇｅｓ１５７−１６４；日経マイクロデバイス，２０００年６月号，ｐａｇｅ１７６参照）が多数開発されていることにより、ＬＳＩはますます高集積度になるので、従来別々のＬＳＩに実装されていたデジタル回路は容易に１つのＬＳＩに実装されるようになる。一方でＬＳＩの動作速度に関しては、クロック信号の周波数が高くなるに従い、クロックスキュー及び信号の伝搬遅延時間の問題がますます深刻になっている。
【００１３】
そこで、これらの問題を解決するためには、現在ではＬＳＩの中に多数のＰＬＬ（Ｐｈａｓ ｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）が用いられている。なお、これらのＰＬＬは、位相が一定である１つの参照信号を入力し、さらにこの参照信号と、各々のＰＬＬが生成する比較信号との間の位相差を比較して、この位相差が０ラジアンになるように比較信号の位相を変更するものである。しかしながら、ＬＳＩの中に多数のＰＬＬがある場合、この参照信号の伝搬遅延時間のために、全てのＰＬＬの位相を一致させることは不可能である。また、２つのＰＬＬがこれらの比較信号を相互に通信することもできない。この理由は、これらの比較信号の伝搬遅延時間のために、いずれのＰＬＬも位相が一定な比較信号を生成することができないからである。つまり、どちらか一方のＰＬＬにおける比較信号の位相差が０ラジアンになれば、もう一方のＰＬＬにおける比較信号の位相差は伝搬遅延時間の２倍になるので、両方のＰＬＬとも比較信号に大きなジッターが発生する。勿論ＰＬＬが生成するクロック信号には致命的なジッターが発生する。
【００１４】
そこで各々の配列演算ユニットが、隣接する配列演算ユニットと非同期に通信できることに着目すると、全ての配列演算ユニットは、一定の位相のクロック信号ではなく、一定の周期のクロック信号を入力すれば良い。したがって、視覚装置には、複数のカウンタが、それぞれ独立した発振回路を備え、さらにこれらのカウンタが相互にカウント数を通信することにより、全てのカウント数が一定時間内に一致するようなカウンタで十分である。加えて、各々のカウンタが、隣接する全てのカウンタのカウント数に応じて、この発振回路の位相を調節することにより、結果として、全てのカウント数が一致している時間も長くなる。
【００１５】
これらのことを考慮すると、カウンタが、外部から入力する全ての信号を個別に記憶するための機構と、さらに発振回路が、カウンタが生成する信号に同期するための機構が存在すれば、式カウンタは常時カウント数を一致させることができ、しかもＬＳＩ全体に高周波数のクロック信号を供給することができるものと期待される。
【００１６】
この他に、従来から、電荷結合素子（ＣＣＤ）及びＣＭＯＳ（相補形金属酸化物半導体）技術を用いて、多数のイメージセンサが開発されてきた。これらのイメージセンサの多くはビデオ信号を生成するために用いられるので、列並列型である。また、三次元ＬＳＩ（大規模集積回路）技術を用いることにより、複数の受光素子、複数の電荷増幅器、複数のＡ ／Ｄ変換回路及び複数のデジタル回路を積層したイメージセンサも開発されてきた（例えば、特開昭６３−１７４３５６、特開平７−１３５２９３、特開平２−３５４２５参照） 。これらのイメージセンサの多くは垂直信号線を有効利用した画素並列型であり、１個の受光素子、１個の電荷増幅器、１個のＡ／Ｄ変換回路及び１個のデジタル回路が垂直に配置されている。特に近年、ウェハーを張り合わせる技術（例えば、特開平５−１６０３４ ０；特開平６−２６８１５４；Ｋｏｙａｎａｇｉ，Ｍ．，Ｋｕｒｉｎｏ，Ｈ．，Ｌｅｅ，Ｋ−Ｗ．，Ｓａｋｕｍａ，Ｋ．，Ｍｉｙａｋａｗａ，Ｎ．，Ｉｔａｎｉ，Ｈ．，’Ｆｕ ｔ ｕｒｅ  Ｓｙｓｔｅｍ−ｏｎ−Ｓｉｌｉｃｏｎ  ＬＳＩ  Ｃｈｉｐｓ’，ＩＥＥＥ  ＭＩ ＣＲＯ，１９９８，Ｖｏｌ．１８，Ｎｏ．４，ｐａｇｅｓ１７−２２参照）が開発されたことにより、イメージセンサの製造者は、複数の受光素子を実装したＬＳＩと、複数の電荷増幅器を実装したＬＳＩと、複数のＡ／Ｄ変換回路を実装したＬＳＩと、複数のデジタル回路を実装したＬＳＩと、を別々に製造した後、１個の受光素子、１個の電荷増幅器、１個のＡ／Ｄ変換回路及び１個のデジタル回路が垂直に配置されるように、イメージセンサの製造者はこれらのＬＳＩを積層することができる。しがたって、異なるプロセスで製造されるＬＳＩでも容易に積層され、しかも検査済のＬＳＩを積層することにより、ＬＳ Ｉの歩留まりが向上する。さらに最近、多数のチップを積み重ねる技術（例えば、日経マイクロデバイス，２０００年６月号，ｐａｇｅｓ６２−７９；日経マイクロデバイス，２ ０００年６月号，ｐａｇｅｓ１５７−１６４；日経マイクロデバイス，２０００年６月号，ｐａｇｅ１７６参照）が開発されたことにより、イメージセンサの製造者は、高機能なイメージセンサを容易に製造することが可能となった。
【００１７】
ところで三次元ＬＳＩ技術には、トランジスタの数を増やすことはできても、垂直信号線の数を増やすことは難しいという問題がある。その理由は、ＬＳＩの実装面における信号線の線幅に比べて、垂直信号線の線幅はかなり広く、しかも垂直信号線がある場所にはトランジスタを配置することができないからである。したがって、イメージセンサの設計者が三次元ＬＳＩ技術を用いたとしても、同一回路内に含まれるトランジスタは結局同一ＬＳＩに実装されることになるので、イメージセンサの設計者はイメージセンサの画素数を容易に増やすことができない。
【００１８】
一方で、これまで移動カメラを制御し、画像処理をする装置として、本発明者は視覚装置を開発してきた（例えば、国際公開番号ＷＯ００／１６２５９参照）。この視覚装置は移動カメラのパン、チルト及びズームの機構を制御することにより、物体を探索し、物体の画像処理を行うものである。視覚装置が行う画像処理の大半が局所処理であり、しかもこれらの局所処理は二次元格子状に配列された複数の配列演算ユニットによって並列に実行される。この視覚装置がイメージセンサに組み込まれた場合、これらの配列演算ユニットの各々は、複数の受光素子から生成される複数の画素データを用いて複数の局所処理を実行する。したがって、イメージセンサの用途によっては、イメージセンサは画素並列型であるよりも、むしろ隣接する複数の画素データが１個のデジタル回路に入力する形式の方が好ましい。しかもこの形式の場合、複数の受光素子に対して１個のＡ／Ｄ変換回路しか必要でないので、イメージセンサの画素数が増えたとしても、イメージセンサの設計者は必ずしもＡ／Ｄ変換回路及びデジタル回路の数を増やす必要はない。勿論全てのＡ／Ｄ変換回路及び全てのデジタル回路は並列に動作することができるので、イメージセンサの性能は殆んど低下しない。
【００１９】
これらのことを考慮すると、イメージセンサにおいて複数のセンサモジュールが二次元格子状に配列され、これらのセンサモジュールの各々において、複数の受光素子が二次元格子状に配列され、しかもこれらのセンサモジュールの各々が複数の受光素子から順次画素信号を生成することにより、高精細で高性能なイメージセンサを製造することができると期待される。
【００２０】
さて、従来のイメージセンサでは、その仕様が設計時に決定されなければならなかった。勿論ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）及びＣＰＬ Ｄ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）を用いることにより、イメージセンサの製造後に電子回路を変更することもできるが、それでもイメージセンサにはＦＰＧＡ及びＣＰＬＤ用の電子回路、１組の大容量のメモリ及び外部からの多数の信号線が必要になる。一方で、上述のイメージセンサにおいて、複数のセンサモジュールの各々が多数の受光素子を備えた場合、複数のデジタル回路の各々の実装面積も受光素子の数に比例して大きくなるので、これらのデジタル回路の各々は、プロセッサ及び１組の大容量のメモリを備えることができる。このメモリは、センサモジュールが生成する全ての画素信号を記憶することができるので、このプロセッサは、全ての画素信号から構成される膨大な数の画素パターンを参照することができる。そこで、これらのパターンに、記憶データ、メモリアドレス及び書き込みクロック信号の組み合せが割り当てられることにより、プロセッサは、書き込みクロック信号に応じて、任意のメモリアドレスに適当な記憶データを書き込むことができる。しかも、もし１組のメモリの少なくとも１部分が不揮発性であれば、この部分のメモリはこの記憶データを記憶し続けることができるので、プロセッサはこの部分のメモリに記憶されたプログラムさえも変更することができる。したがって、イメージセンサの製造者は、一旦イメージセンサを製造した後に、必要に応じてプログラムを変更することができ、しかも全ての組のメモリにプログラムを供給するための信号線を省略することができる。
【００２１】
これらのことを考慮すると、イメージセンサの全ての受光素子に一定のパターンの光が照射されることにより、イメージセンサは、全ての組のメモリ中のプログラムを一斉に変更することができると期待される。
【００２２】
そこで、請求項記載の本発明は、二次元格子状に配列された複数の受光素子を備えた複数のセンサモジュールの各々から複数の画素信号を出力することにより、高精細で高速なイメージセンサを製造することを目的とする。
【課題を解決するための手段】
【００２３】
請求項１の発明は、複数のセンサモジュールを含むイメージセンサであって、少なくとも１個の前記センサモジュールの各々が、二次元格子状に配列された複数の画素セルと、複数の前記画素セルの配列に沿って配置された電荷結合素子と、電荷転送用駆動装置と、出力増幅器と、を含み、少なくとも１個の前記画素セルの各々が、光を電荷に変換する受光素子と、電荷転送ゲートと、を含み、少なくとも１個の前記センサモジュールの各々において、前記受光素子が作成された第１の基板と前記電荷結合素子が作成された第２の基板が積層されることと、前記電荷転送用駆動装置の出力が、少なくとも１個の前記画素セルの前記電荷転送ゲートを導通させることと、前記電荷結合素子が、少なくとも１個の前記電荷転送ゲートを介して出力された前記受光素子の前記電荷を個別に蓄えることと、前記電荷転送用駆動装置の出力が、前記電荷結合素子に蓄えられた前記電荷を前記出力増幅器に向けて順番に転送することと、前記出力増幅器が、前記電荷結合素子に蓄えられた前記電荷を順番に増幅することと、前記電荷転送用駆動装置が出力する画素同期信号に合わせて、全ての前記画素セルの前記受光素子の前記電荷が画素信号としてイメージセンサの背面から順番に出力されることと、により、隣接する前記センサモジュールの間隔を狭くすることとを特徴とするイメージセンサである。多くの前記イメージセンサでは、全ての前記センサモジュールは格子状又は六角格子状に配列されるが、勿論これらの前記センサモジュールは直線状又は円形状など任意の位置に配置されても良い。また、全ての前記画素セルは格子状又は六角格子状などに配列される。前記画素セルの各々は前記受光素子及び前記電荷転送ゲートを備え、前記受光素子にはフォトダイオード、フォトトランジスタ及びＨＡＲＰ（Ｈｉｇｈ−ｇａｉｎ  Ａｖａｌａｎｃｈ ｅ  Ｒｕｓｈｉｎｇ  ａｍｏｒｐｈｏｕｓ  Ｐｈｏｔｏｃｏｎｄｕｃｔｏｒ）膜などが用いられる。前記受光素子が前記光を照射されると、前記受光素子は光電効果により前記電荷を生成する。このとき前記電荷を蓄えるために、前記受光素子には必要に応じて電子回路が付け加えられる。前記電荷結合素子は、前記受光素子を備えた複数の前記画素セルの配列に沿って一筆書で配置される。前記電荷転送用駆動装置が少なくとも１個の前記電荷転送ゲートを導通させた場合、前記電荷は前記電荷結合素子に移動することができる。そこで前記電荷転送用駆動装置が前記電荷結合素子に一定の電圧を加えるならば、前記電荷は前記受光素子から前記電荷結合素子に移動する。前記電荷転送用駆動装置が一定のパターンに従って前記電荷結合素子に前記電圧を加えた場合、前記電荷結合素子に蓄えられた前記電荷は前記電荷結合素子中をバケツリレー式に移動するので、少なくとも１個の前記電荷が、蓄積された場所の順番に前記電荷結合素子の２つの末端のうちいずれかに移動することができる。そこで前記出力増幅器は、少なくとも１個の前記受光素子が生成した前記電荷を前記電荷結合素子から１個ずつ受け取り、順次前記画素信号に変換することができる。また、前記電荷転送用駆動装置が、前記電荷結合素子に蓄えられた前記電荷を移動させた後、前記電荷同期信号を出力することにより、前記出力増幅器が前記画素信号を出力していることが判別され得る。本発明では、前記センサモジュールの各々が前記電荷転送用駆動装置を備えているので、前記イメージセンサは少なくとも１個の前記センサモジュールから一斉に前記画素信号を出力することができる。本発明ではエリアセンサを製造するために、全く同じ複数の前記センサモジュールが前記二次元格子状に配列され、しかも多数の前記画素信号が少ない信号線数で出力されるので、前記エリアセンサの設計に関する諸問題が好適に解決される。
【００２４】
請求項２の発明は、複数のセンサモジュールを含むイメージセンサであって、前記センサモジュールの各々が、二次元格子状に配列された複数の画素セルと、垂直シフトレジスタと、水平シフトレジスタと、複数の列選択ゲートと、複数のノイズキャンセラと、出力増幅器と、を含み、前記画素セルの各々が、光を電荷に変換する受光素子と、前記電荷を電圧に変換する電荷増幅器と、行選択ゲートと、を含み、前記センサモジュールの各々において、前記受光素子が作成された第１の基板と前記垂直シフトレジスタ及び前記水平シフトレジスタが作成された第２の基板が積層されることと、前記垂直シフトレジスタの出力が、少なくとも１個の前記画素セルの前記行選択ゲートを導通させることと、前記ノイズキャンセラの各々が、少なくとも１個の前記行選択ゲートを介して出力された前記電圧のノイズを抑えることと、前記水平シフトレジスタの出力が、少なくとも１個の前記列選択ゲートを導通させることと、前記出力増幅器が、少なくとも１個の前記列選択ゲートを介して出力された前記ノイズキャンセラの出力を増幅することと、前記水平シフトレジスタが出力する画素同期信号に合わせて、少なくとも１個の前記画素セルの前記受光素子の前記電荷が画素信号としてイメージセンサの背面から順番に出力されることと、により、隣接する前記センサモジュールの間隔を狭くすることとを特徴とするイメージセンサである。多くの前記イメージセンサでは、全ての前記センサモジュールは格子状又は六角格子状に配列されるが、勿論これらの前記センサモジュールは直線状又は円形状など任意の位置に配置されても良い。また、全ての前記画素セルは格子状又は六角格子状などに配列され、これらの前記画素セルの配置は少なくとも１行と少なくとも１列の行列によって表される。少なくとも１個の前記ノイズキャンセラ及び少なくとも１個の前記列選択ゲートが、それぞれ前記列毎に１個ずつ配置される。前記画素セルの各々は前記受光素子、前記電荷増幅器及び前記行選択ゲートを備え、前記受光素子にはフォトダイオード、フォトトランジスタ及びＨＡＲ Ｐ（Ｈｉｇｈ−ｇａｉｎ  Ａｖａｌａｎｃｈｅ  Ｒｕｓｈｉｎｇ  ａｍｏｒｐｈｏｕｓ  Ｐｈｏｔｏｃｏｎｄｕｃｔｏｒ）膜などが用いられる。前記受光素子が前記光を照射されると、前記受光素子は光電効果により前記電荷を生成する。このとき前記電荷を蓄えるために、前記受光素子には必要に応じて電子回路が付け加えられる。前記電荷増幅器は前記電荷の量に応じて前記電圧に変換する。前記垂直シフトレジスタが前記行のうち１つを選択した場合、選択された前記行に含まれる少なくとも１個の前記画素セルの前記行選択ゲートが導通する。そこで、選択された前記行に含まれる少なくとも１個の前記画素セルの前記電荷増幅器は、それぞれ前記列毎に前記ノイズキャンセラに入力される。少なくとも１個の前記ノイズキャンセラは、それぞれ対応する前記列に配列された少なくとも１個の前記画素セルの前記電荷増幅器によって出力された前記電圧に含まれる前記ノイズを抑える。前記水平シフトレジスタが前記列のうち１つを選択した場合、選択された前記列の前記列選択ゲートが導通する。そこで、選択された前記列の前記ノイズキャンセラによって前記ノイズが抑えられた前記電圧が前記出力増幅器に入力される。したがって、前記垂直シフトレジスタ及び前記水平シフトレジスタが一定の順番で全ての前記画素セルの中から１個を選択することにより、前記出力増幅器は、少なくとも１個の前記画素セルの前記受光素子の電荷を前記画素信号として出力することができる。また、前記水平シフトレジスタが、前記列から１つを選択した後に、前記電荷同期信号を出力することにより、前記出力増幅器が前記画素信号を出力していることが判別され得る。本発明では、前記センサモジュールの各々が前記垂直シフトレジスタ及び前記水平シフトレジスタを備えているので、前記イメージセンサは少なくとも１個の前記センサモジュールから一斉に前記画素信号を出力することができる。本発明ではエリアセンサを製造するために、全く同じ複数の前記センサモジュールが前記二次元格子状に配列され、しかも多数の前記画素信号が少ない信号線数で出力されるので、前記エリアセンサの設計に関する諸問題が好適に解決される。
【００２５】
請求項３の発明は、請求項１又は２記載のイメージセンサにおいて、少なくとも１個の前記センサモジュールが前記二次元格子状に配列された層と、複数のＡ／Ｄ変換回路が前記二次元格子状に配列された層と、複数のデジタル回路が前記二次元格子状に配列された層と、が積層され、複数の前記センサモジュールの各々が出力する前記画素信号が、複数の前記Ａ／Ｄ変換回路のうちの相異なる１個に入力されることと、複数の前記Ａ／Ｄ変換回路の各々が、前記画素信号を画素データに変換することと、複数の前記Ａ／Ｄ変換回路の各々が出力する前記画素データが、複数の前記デジタル回路のうちの相異なる少なくとも１個に入力されることと、により、少なくとも１個の前記センサモジュールの各々において、少なくとも１個の前記受光素子が生成した前記電荷が、前記画素同期信号に合わせて、対応する１個の前記デジタル回路に前記画素データとして順次入力されることを特徴とするイメージセンサである。本発明では、１個の前記センサモジュールの配置と、対応する１個の前記Ａ／Ｄ変換回路の配置と、対応する１個の前記デジタル回路の配置と、が垂直方向に重なるように、少なくとも１個の前記センサモジュールと、少なくとも１個の前記Ａ／Ｄ変換回路と、少なくとも１個の前記デジタル回路と、が格子状及び六角格子状に配列される。少なくとも１個の前記デジタル回路の各々が、シフトレジスタ及びシリアル／パラレル変換回路などのバッファを備えた場合、前記画素同期信号に合わせて、対応する前記Ａ／Ｄ変換回路が出力する全ての前記画素データを保持すると共に、これらの前記画素データのうちのいずれか１つを選択的に取り出すことができる。したがって、これらの前記デジタル回路は、それぞれ入力した全ての前記画素データの順番を入れ替えることができる。本発明では、三次元ＬＳＩ（大規模集積回路）技術を用いることにより、１個の前記センサモジュールと、対応する１個の前記Ａ／Ｄ変換回路との間に、１本の前記画素信号用の信号線が配線され、１個の前記Ａ／Ｄ変換回路と、対応する１個の前記デジタル回路との間に、少なくとも１本の前記画素データ用の信号線が配線され、１個の前記センサモジュールと、対応する１個の前記デジタル回路との間に、１本の前記画素同期信号用の信号線が配線される。少なくとも１個の前記デジタル回路の各々は、対応する１ 個の前記センサモジュールだけから前記画素信号を前記画素データとして入力するので、前記イメージセンサの画素数が増えたとしても、少なくとも１個の前記デジタル回路の各々は、対応する１個の前記センサモジュールが出力した全ての前記画素信号を、前記画素データとして短時間で入力することができる。本発明では、１個の前記センサモジュールから、対応する１個の前記Ａ／Ｄ変換回路への１本の前記画素信号用の前記信号線と、この１個の前記Ａ／Ｄ変換回路から、対応する前記デジタル回路への少なくとも１本の前記画素データ用の前記信号線と、この１個の前記センサモジュールから、対応する前記デジタル回路への１本の前記画素同期信号用の前記信号線と、は他の前記信号線と交わらないように垂直に配線され得るので、前記イメージセンサにおける前記信号線の配線に関する諸問題が好適��解決される。
【発明を実施するための最良の形態】
【００２６】
以下、視覚装置２の実施形態を挙げ、この視覚装置（visual device）２を 図面を参照しながら説明する。
まず、第１図に示す視覚装置２の実施形態は、画像記憶手段（image memorization means）１２、エッジ情報生成手段（edge-information generation means）１４、エッジ情報形成手段（edge-information formation means）１５及び 幾何解析手段（geometrical analysis means）３７を用いて、複数のデジタル画像（digital images）１１１中を 移動する少なくとも１個の物体からこれらの物体の位置、大きさ及び形を検出する。画像記憶手段１２は、これらのデジタル画像１１１を順次記憶する。エッジ情報生成手段１４は、２つのデジタル画像１１１を用いて、これらのデジタル画像１１１中を移動する少なくとも１個の物体の粗エッジ情報（rough edge information）１１２を含む粗エッジ情報画像（rough edge-information image）１１３を生成する。エッジ情報形成手段１５は、２つのデジタル画像１１１のうちの１つを用いて、この粗エッジ情報画像１１３を形成エッジ情報画像（formed edge-information image）１１５に形成する。幾何解析手段３７は、位置／大きさ／傾き検出手段（position/size/inclination detection means）４４及び位置／大きさ／形検出手段（position/size/form detection means）４５から構成され（第４５図参照）、この形成エッジ情報画像１１５から 形大きさ情報画像（form-size-information image）１９０を生成する。本発明が、デジタル画像１１１中の全ての物体に関して、事前に位置、大きさ、傾き、形及び色など如何なる情報を知らなくても、本発明は、 デジタル画像１１１中の物体の位置、大きさ及び形を検出することができる。したがって本発明の利用者は、事前に検出対象となる物体の情報を知らなくても、この利用者は本発明を容易に利用することができる。
【００２７】
第２図に示す別の視覚装置２の実施形態は、２つの画像記憶手段１２、エッジ情報生成手段１４、エッジ情報形成手段１５、位置／大きさ検出手段（position/size detection means）１７及び物体／背景分離手段（figure/ground separation means）１６を用いて、複数のデジタル画像１１１中を移動する少なくとも１個の物体を表す少なくとも１つの物体領域（object area）１４１を背景領域（background area）から分離する。１つの画像記憶手段１２が、これらのデジタル画像１１１を順次記憶する。エッジ情報生成手段１４は、２つのデジタル画像１１１を用いて、これらのデジタル画像１１１中を移動する少なくとも１個の物体の粗エッジ情報１１２を含む粗エッジ情報画像１１３を生成する。エッジ情報形成手段１５は、２つのデジタル画像１１１のうちの１つを用いて、この粗エッジ情報画像１１３を形成エッジ情報画像１１５に形成する。位置／大きさ検出手段１７は、この形成エッジ情報画像１１５によって区分される少なくとも１つの物体領域１４１のおおよその重心位置及び大きさを表す 重複情報画像（redundant-information image）１３２を生成する。物体／背景分離手段１６は、この重複情報画像１３２を用いて、この形成エッジ情報画像１１５によって区分される少なくとも１つの物体領域１４１を背景領域から速やかに分離し、物体領域画像（object-area image）１４２を生成する。もう１つの画像記憶手段１２が、この物体領域画像１４２を記憶する。本発明が、デジタル画像１１１中の全ての物体に関して、事前に位置、大きさ、傾き、形及び色など如何なる情報を知らなくても、本発明は、少なくとも１つの物体領域１４１を背景領域から分離することができる。したがって本発明の利用者は、事前に検出対象となる物体の情報を知らなくても、この利用者は本発明を容易に利用することができる。
【００２８】
第３図に示すように、物体の色を認識するための視覚装置２は、図２に示した視覚装置２の実施形態に、マスク手段（mask means）４０及びパターンマッチング手段（pattern matching means）３８を加えることにより、複数のデジタル画像１１１中を移動する少なくとも１個の物体を表す物体領域１４１に対するパターンマッチングを行う。マスク手段４０は、１つの画像記憶手段１２によって記憶された物体領域画像１４２を用いて、もう１つの画像記憶手段１２によって記憶されたデジタル画像１１１のうち物体領域１４１に相当する分離物体領域（segmented object area）１４３のみをフィルタすることにより、マスク画像（masked image）１４８を生成する。パターンマッチング手段３８は、このマスク画像１４８を複数のテンプレート画像（template images）１４６と比較することにより、画素単位でこのマスク画像１４８に最も類似するテンプレート画像１４６を選択し、全ての画素のマッチング結果（matching results）をマッチング結果画像（matching-result image）１４７として出力する。これらのテンプレート画像１４６は、それぞれ相異なる単一の色で塗り潰されているので、結果として、このパターンマッチング手段３８は、その分離物体領域１４３全体の色を選択することになる。なお、本来パターンマッチング手段３８は、目的に応じて必要な数のテンプレート画像１４６を事前に記憶しなければならない。しかしながら、第３図においてマスク手段４０からパターンマッチング手段３８に向けて破線が示されているように、このマスク手段４０から出力されるマスク画像１４８をテンプレート画像１４６として入力することにより、このパターンマッチング手段３８は必要に応じてテンプレート画像１４６の数を増やすこともできる。本発明が、デジタル画像１１１中の全ての物体に関して、事前に位置、大きさ、傾き、形及び色など如何なる情報を知らなくても、本発明は、複数のテンプレート画像１４６が表す色の中から、デジタル画像１１１中の少なくとも１つの分離物体領域１４３が表す物体の色を選択することができる。したがって本発明の利用者は、事前に検出対象となる物体の情報を知らなくても、この利用者は本発明を容易に利用することができる。
【００２９】
第４図に示すように、パターン認識をするための視覚装置２は、図２に示した視覚装置２の実施形態に、エッジ情報形成手段１５、幾何解析手段３７、領域正規化手段（area normalization means）２７及び パターンマッチング手段３８ から構成される少なくとも１つの組み合せを加えることにより、複数のデジタル画像１１１中を移動する少なくとも１個の物体を表す 物体領域１４１に対するパターンマッチングを行う。全ての組み合せの各々において、物体領域画像１４２及びデジタル画像１１１は以下のように処理される。まず、エッジ情報形成手段１５は、１つの画像記憶手段１２によって記憶された物体領域画像１４２を粗エッジ情報画像１１３と見做し、もう１つの画像記憶手段１２によって記憶された デジタル画像１１１のうち物体領域１４１に相当する 分離物体領域１４３を用いて、この粗エッジ情報画像１１３を形成エッジ情報画像１１５に形成する。このとき、この分離物体領域１４３の大きさ及び画質によって、この形成エッジ情報画像１１５の各画素を構成する形成エッジ情報１１４は、この分離物体領域１４３の大まかなパターン又は細かなテクスチャを表す。次に、幾何解析手段３７は、この形成エッジ情報画像１１５を用いて、この分離物体領域１４３のパターン及びテクスチャを解析し、形大きさ情報画像１９０を生成する。次に、領域正規化手段２７は、その物体領域画像１４２を用いて、この形大きさ情報画像１９０を正規化し、正規化画像（normalized image）１４５を生成する。このとき、この領域正規化手段２７は、正規化画像１４５の画素間を補間する必要はないので、自然数による除算は省略される。最後に、パターンマッチング手段３８は、この正規化画像１４５を複数のテンプレート画像１４６を比較することにより、画素単位でこの正規化画像１４５に最も類似するテンプレート画像１４６を選択し、全ての画素のマッチング結果をマッチング結果画像１４７として出力する。これらのテンプレート画像１４６は、それぞれ相異なる物体から生成されているので、このパターンマッチング手段３８は、その分離物体領域１４３が表す物体を選択する。しかしながら、似たような物体から生成されたテンプレート画像１４６同士も似ていることから、結果として、このパターンマッチング手段３８は、その分離物体領域１４３が表す複数の物体に共通する 物体の種別を選択することになる。なお、本来パターンマッチング手段３８は、目的に応じて必要な数のテンプレート画像１４６を事前に記憶しなければならない。しかしながら、第３図において領域正規化手段２７からパターンマッチング手段３８に向けて破線が示されているように、この領域正規化手段２７から出力される正規化画像１４５をテンプレート画像１４６として入力することにより、このパターンマッチング手段３８は必要に応じてテンプレート画像１４６の数を増やすこともできる。本発明が、デジタル画像１１１中の全ての物体に関して、事前に位置、大きさ、傾き、形及び色など如何なる情報を知らなくても、本発明は、複数のテンプレート画像１４６が表す物体の中から、デジタル画像１１１中の少なくとも１つの分離物体領域１４３が表す物体の種別を選択することができる。したがって本発明の利用者は��事前に検出対象となる物体の情報を知らなくても、この利用者は本発明を容易に利用することができる。
【００３０】
なお、この視覚装置２には、第３図及び第４図に示された複数の手段を組み合せたものも含まれる。
【００３１】
この他に、第５図に示すように、視覚装置２は、位置／大きさ／傾き検出手段４４を用いて、画像記憶手段１２によって記憶された少なくとも１つの物体領域１４１から傾き大きさ情報画像（inclination-size-information image）１８６を生成することにより、この物体領域１４１の位置、大きさ及び傾きを検出することができる。
【００３２】
そこで第６図に示すように、物体領域１４１を認識するための視覚装置２は、第３図及び 第４図に示された複数の手段を組み合せた、パターン認識をするための視覚装置２に、第５図に示された位置／大きさ／傾き検出手段４４、複数の画像認識手段（image recognition means）２９及び環境理解手段（environmental understanding means）３１を組み合せたものである。これらの画像認識手段２９の各々は、対応するパターンマッチング手段３８から入力したマッチング結果画像１４７の各画素が表す、複数のテンプレート画像１４６とのマッチング結果を統合することにより、パターンマッチング手段３８が入力した画像に対して１つの認識結果（recognition result）を求める。なお、マッチング結果を統合する方法として、誤差逆伝播法（バックプロパゲーション）によって学習する パーセプトロンなどのニューラルネットワークを用いることもできるが、一般には多数決のように単純にマッチング結果画像１４７のうち最も多いマッチング結果を選択することで十分である。環境理解手段３１は、これらの認識結果及び 位置／大きさ／傾き検出手段４４から入力された傾き大きさ情報画像１８６を用いて、物体領域１４１に対する 位置、大きさ、形、テクスチャ、色及び傾きを決定すると共に、 これらの情報から構成される環境データ（environmental datum）を生成する。さらに、この環境理解手段３１は、デジタル画像１１１中の全ての物体の環境データを記憶することにより、これらの環境データのリストである環境地図（environmental map）を出力する。本発明が、デジタル画像１１１中の全ての物体に関して、事前に位置、大きさ、傾き、形及び色など如何なる情報を知らなくても、本発明は、デジタル画像１１１中の少なくとも１つの分離物体領域１４３が表す物体に対する環境地図を作成することができる。したがって本発明の利用者は、事前に検出対象となる物体の情報を知らなくても、この利用者は本発明を容易に利用することができる。
【００３３】
第７図に示すように、画像を理解するための視覚装置２は、物体領域１４１を認識するための視覚装置２で示された全ての手段に、図１の視覚装置２の実施形態で示された幾何解析手段３７を加えたものである。この幾何解析手段３７を加えたことにより、デジタル画像１１１中に複数の物体があったとしても、環境理解手段３１はこれらの物体を容易に区別することができる。また、物体／背景分離手段１６が物体領域１４１と背景領域を不完全に分離したとしても、この環境理解手段３１は幾何解析手段３７が検出した物体の位置及び大きさと、位置／大きさ／傾き検出手段４４が検出した物体領域１４１の位置、大きさと、を比較し、さらに幾何解析手段３７が検出した物体の輪郭と、複数の画像認識手段２９が決定した物体領域１４１が表す物体の種別及び色と、を比較することにより、この物体に対して適切な環境データを作成することができる。本発明が、デジタル画像１１１中の全ての物体に関して、事前に位置、大きさ、傾き、形及び色など如何なる情報を知らなくても、本発明は、デジタル画像１１１中の全ての物体に対する環境地図を作成することができる。したがって本発明の利用者は、事前に検出対象となる物体の情報を知らなくても、この利用者は本発明を容易に利用することができる。
【００３４】
第８図に示すように、物体を探索するための視覚装置２は、画像を理解するための視覚装置２で示された全ての手段に、画像取得手段（image capturing means）１１、カメラ／環境座標変換手段（camera/environmental coordinate conversion means）２０、２つの画像／環境座標変換手段（image/environmental coordinate conversion means）２１、計時手段（timer means）３２、物体位置推定手段（object position inference means）３４、振動命令生成手段（vibration command generation means）２５、運動制御手段（action control means）２３及びカメラ命令生成手段（camera command generation means）２６を加えたものである。画像取得手段１１は、移動カメラ（moving camera）１０が撮影した 動画像（animation image）を構成する複数のフレーム画像（frame images）の各々を順次デジタル画像１１１に変換する。もしこのフレーム画像がアナログ信号から構成されていれば、この画像取得手段１１はフレーム画像をデジタル信号に変換し、このデジタル画像１１１を生成する。 一方で、このフレーム画像がデジタル信号から構成される場合、もしこのデジタル信号が圧縮されていれば、この画像取得手段１１はフレーム画像を伸張し、このデジタル画像１１１を生成する。さもなくば、この画像取得手段１１はフレーム画像を直接このデジタル画像１１１に変換する。
【００３５】
ところで、移動カメラ１０はパン、チルト、ロール及びズームのうち、少なくとも１つを実行する場合、この移動カメラ１０の向き、倍率及び傾きが変化するので、デジタル画像１１１が常に同じ倍率及び同じ傾きで同じ場所を表すとは限らない。したがって、幾何解析手段３７及び位置／大きさ／傾き検出手段４４が検出する物体の位置、大きさ及び傾きは、デジタル画像１１１毎に変化するかも知れない。そこで、その移動カメラ１０がこの物体を 常時適切な大きさで撮影するために、視覚装置２は機能に応じて３つの座標系、つまりカメラ座標系（camera coordinate system）、画像座標系（image coordinate system）及び環境座標系（environmental coordinate system）を使い分ける。第一に、カメラ座標系は、文字通り移動カメラ１０がパン、チルト及びズームを各々の最小制御単位で制御するために用いているカメラ内部の三次元球座標系である。一般にこのカメラ座標系の原点はホームポジションと呼ばれる、この移動カメラ１０に固有の位置である。このカメラ座標系は物体の物理的位置を表すことができる唯一の座標系である。それにも関わらずこのカメラ座標系は移動カメラ１０の機種毎に異なるため、このカメラ座標系には汎用性がない。そのため視覚装置２は他の手段からこのカメラ座標系を秘匿する必要がある。第二に、画像座標系は、移動カメラ１０によって撮影されたフレーム画像の中央、つまりレンズ光軸を原点とする、画素を単位とした二次元座標系である。これはフレーム画像中のどの画素に物体が位置するか表すために用いられる。したがってこの画像座標系はフレーム画像中にある複数の物体の細かな位置を区別するのには適しているが、この画像座標系だけではこれらの物体の物理的位置を表すことができない。第三に、環境座標系は、視覚装置２が内部で物体の位置を論理的に統一して表すために用いている三次元球座標系である。この環境座標系は水平方向及び垂直方向にはラジアンを単位とした角度を用い、物体の大きさと物体までの距離の積を表すために、距離方向には１．０を単位とした実数を用いる。一般に物体の大きさが短時間で極端に変ることはないので、この物体までの距離と移動カメラ１０の倍率は比例すると見做してよい。環境座標系の原点は任意である。つまり環境座標系は原則として環境座標系上の任意の２点の相対座標を表すために用いられる。視覚装置２は移動カメラ１０によって撮影可能な環境中の物体を環境座標系に投射することで、複数の物体を区別することができる。
【００３６】
そこでカメラ座標系及び画像座標系は各々環境座標系と相互に座標変換をする必要がある。その役割を果たしている手段がカメラ／環境座標変換手段２０、画像／環境座標変換手段２１及び運動制御手段２３である。これらの手段は移動カメラ１０及び画像取得手段１１の仕様からカメラ座標系及び画像座標系の各単位を求め、環境座標系に変換するための行列を計算する。またカメラ座標系から環境座標系への変換行列の逆行列を 計算することにより、環境座標系からカメラ座標系への変換行列も求めることができる。ただしカメラ座標系の原点が 移動カメラ１０のホームポジションであるので、カメラ座標系から変換された環境座標系の位置は環境座標系上の移動カメラ１０のホームポジションからの 相対位置となる。一方、環境座標系から変換されたカメラ座標系の位置はカメラ座標系上の移動カメラ１０の現在位置からの相対位置となる。加えて、画像座標系は二次元座標系であるため、画像座標系のみでは環境座標系に変換することはできない。そのため画像／環境座標変換手段２１では環境座標系で表された移動カメラ１０の向き及び倍率と、フレーム画像中の物体の領域の大きさを用いて、随時変換行列を計算することにより、画像座標系から環境座標系に変換できるようにする。なお画像座標系から変換された環境座標系の位置は、画像の中心からの相対位置となる。
【００３７】
ところが移動カメラ１０が傾いていた場合、視覚装置２が環境座標系を上述のように求めることはできない。例えば第９図に示すように、形成エッジ情報画像１１５中の位置αに角度θ反時計回りに傾いた物体の形成エッジ情報１１４があるものとする。このときレンズ光軸に対応する形成エッジ情報画像１１５の中心οに対して 反時計回りに角度θ回転するように移動カメラ１０を回転させると、エッジ情報形成手段１５は回転後形成エッジ情報画像１８１を出力することができる。つまり回転後形成エッジ情報画像１８１中の位置αにおいて 物体は直立することになり、物体の種別の認識が容易になる。しかしながら回転後形成エッジ情報画像１８１中の位置αから求められた画像座標系の座標は、形成エッジ情報画像１１５中の位置αから求められた画像座標系の座標に比べて時計回りに角度θ回転した位置になる。そのため角度θが大きくなるか距離οαが長くなるに従って両座標のずれが大きくなる。したがって回転後形成エッジ情報画像１８１中の位置αから回転前の画像座標系の座標を求めるためには、回転後形成エッジ情報画像１８１中の位置αを反時計回りに角度θ回転させた位置βを求めれば良い。なお、移動カメラ１０の傾き及び角度θの単位はラジアンとする。
【００３８】
ここで回転後形成エッジ情報画像１８１中の位置αの画像座標を（αｘ，αｙ）とし、位置βの画像座標を（βｘ，βｙ）とすると、数式１に従って（αｘ，αｙ）から（βｘ，βｙ）を求めることができる。
2008259244.tif 000003
【００３９】
これにより回転後形成エッジ情報画像１８１中の位置αから位置β、つまり形成エッジ情報画像１１５中の位置αを求めることができるので、結果として画像／環境座標変換手段２１は回転後形成エッジ情報画像１８１中の位置αから正確に環境座標を求めることができる。
【００４０】
上述を踏まえて、物体を探索するための視覚装置２では、カメラ／環境座標変換手段２０が、移動カメラ１０の向き及び倍率を、物理量に関係ない環境座標系の座標に変換する。なお、移動カメラ１０の傾きは、ラジアンを単位とする角度に変換される。また、２つの画像／環境座標変換手段２１は、傾き大きさ情報画像１８６の各画素及び形大きさ情報画像１９０の各画素を、それぞれこの環境座標系の座標に投射する。これにより、環境理解手段３１は、環境座標系で表される環境データのリストである環境地図を生成することができる。また、この環境理解手段３１は、計時手段３２から１秒以下、一般には１ミリ秒を単位として、現在時刻を入力する。これにより、この環境理解手段３１は、環境地図に含まれる各々の環境データにタイムスタンプを付けることができるので、この環境理解手段３１は、１個の物体の軌跡を表すこともできるし、古くなった環境データを破棄することもできる。なお、この環境理解手段３１は、カメラ／環境座標変換手段２０から移動カメラ１０の現在の向き、倍率及び傾きを入力することにより、この移動カメラ１０の現在の向き、倍率及び傾きを環境データに変換する。この環境データは、外部のシステムが環境地図を利用する際に便利である。物体位置推定手段３４は、環境地図が表す少なくとも１個の物体の中から１個を選び、この物体の軌跡から、この物体の現在位置及び傾きを推定する。この現在位置も環境座標系によって表される。振動命令生成手段２５は、移動カメラ１０を振動させるための命令を生成する。これにより、デジタル画像１１１も順次振動するので、動画像中で静止している物体があたかも移動しているようにエッジ情報生成手段１４は見做すことができる。つまり、エッジ情報生成手段１４は、この物体に対して粗エッジ情報１１２を生成することができる。なお、この物体がデジタル画像１１１中で、おおよそ２又は３画素程度で振動する場合に、エッジ情報生成手段１４は、この物体だけから効率よく粗エッジ情報１１２を生成することができる。運動制御手段２３は、物体位置推定手段３４から物体の現在位置及び傾きを入力したか、又は振動命令生成手段２５から移動カメラ１０を振動させるための命令を入力した場合、この運動制御手段２３は、移動カメラ１０の移動先を決定し、カメラ座標系に変換する。カメラ命令生成手段２６はこの移動先を入力して、移動カメラ１０のパン、チルト、ロール及びズームのうち少なくとも１つを制御するための命令を生成する。本発明が、デジタル画像１１１中の全ての物体に関して、事前に位置、大きさ、傾き、形及び色など如何なる情報を知らなくても、本発明は、デジタル画像１１１中の全ての物体を探索することができる。したがって本発明の利用者は、事前に検出対象となる物体の情報を知らなくても、この利用者は本発明を容易に利用することができる。
【００４１】
この他に、例えば第１０図に示すように、物体の数を数えるための視覚装置２は、物体を探索するための視覚装置２で示された全ての手段に、この視覚装置２が生成した情報を出力するための２つの画像保持手段（image keeping means）３９、２つ以上の認識結果保持手段（recognition-result keeping means）３０、環境地図保持手段（environmental-map keeping means）３３、物体計数手段（object counting means）３５及び物体数保持手段（object number keeping means）３６と、この視覚装置２が効率よく物体を探索するための色情報生成手段（color-information generation means）４１、２つの位置／大きさ検出手段１７、２つの画像／環境座標変換手段２１及び２つの位置選択手段（position selection means）２２と、外部から視覚装置２を制御するための制御命令入力手段（control command input means）２４を有することもできる。
【００４２】
まず、１つの画像記憶手段１２によって記憶されたデジタル画像１１１を外部のシステムが入力し終えるまで、１つの画像保持手段３９はこのデジタル画像１１１を一定期間保持する。もう１つの画像記憶手段１２によって記憶された物体領域画像１４２をこの外部のシステムが入力し終えるまで、もう１つの画像保持手段３９はこの物体領域画像１４２を一定期間保持する。これら２つの画像を組み合せることにより、この外部のシステムはデジタル画像１１１から物体領域１４１に相当する領域を切り出すことができる。２つ以上の画像認識手段２９によって決定された、分離物体領域１４３に対するパターン、テクスチャ及び色の認識結果を外部のシステムが入力し終えるまで、それぞれに対応する認識結果保持手段３０はこれらの認識結果を一定期間保持する。なお、少なくとも１つの認識結果保持手段３０が、パターンの認識結果及びテクスチャの認識結果を混在しながら出力することもある。環境理解手段３１が生成する環境地図をこの外部のシステムが入力し終えるまで、環境地図保持手段３３はこの環境地図を一定期間保持する。物体計数手段３５は、この環境地図から一定時間内に検出された物体の個数を数え、物体数を出力する。この物体数をこの外部のシステムが入力し終えるまで、物体数保持手段３６はこの物体数を一定期間保持する。
【００４３】
次に、色情報生成手段４１は、デジタル画像１１１の各画素から赤色、黄色及び白色のような特定の色を表す画素を選び、色情報画像１７２を生成する。この色情報画像１７２は、明るさが常に変化し、無数の色が溢れる実世界において物体を認識する場合にはあまり役に立たないが、血液、炎、信号機、道路標識及びヘッドライトの光など、注意を必要としたり、危険を及ぼす可能性がある物体を急いで探索する場合には 極めて有効である。１つの位置／大きさ検出手段１７は、この色情報画像１７２から、注意が必要である少なくとも１個の物体の位置及び大きさを検出し、重複情報画像１３２を生成する。１つの画像／環境座標変換手段２１は、この重複情報画像１３２の各画素を構成する重複情報１３１を環境座標系に投射する。１つの位置選択手段２２は、全ての重複情報１３１から１つを選択する。一方で、もう１つの位置／大きさ検出手段１７は、粗エッジ情報画像１１３から、少なくとも１個の移動物体の位置及び大きさを検出し、重複情報画像１３２を生成する。もう１つの画像／環境座標変換手段２１は、この重複情報画像１３２の各画素を構成する重複情報１３１を環境座標系に投射する。もう１つの位置選択手段２２は、全ての重複情報１３１から１つを選択する。また、制御命令入力手段２４は、外部から利用者及び適当なシステムが指示した制御命令を入力する。そこで運動制御手段２３は、環境地図によって表された物体以外にも、移動カメラ１０の周辺にある物体及びこの利用者及びこのシステムが指示した物体の中から１つを選び、選ばれた物体の環境座標をカメラ命令生成手段２６に伝える。
【００４４】
これにより、本発明が、デジタル画像１１１中の全ての物体に関して、事前に位置、大きさ、傾き、形及び色など如何なる情報を知らなくても、本発明は、デジタル画像１１１中の全ての物体を探索し、物体の個数を数えることができる。したがって本発明の利用者は、事前に検出対象となる物体の情報を知らなくても、この利用者は本発明を容易に利用することができる。なお、実際の利用に際しては、この利用者は第１０図の中から必要な手段だけを選ぶことができるし、さらに他の手段を追加することもできる。
【００４５】
さて、視覚装置２で用いられている画像記憶手段１２、色情報生成手段４１、エッジ情報生成手段１４、エッジ情報形成手段１５、位置／大きさ検出手段１７、位置／大きさ／傾き検出手段４４、幾何解析手段３７、物体／背景分離手段１６、領域正規化手段２７、マスク手段４０、画像保持手段３９、及びパターンマッチング手段３８は、配列演算ユニット１００から構成されるデータ処理装置１１０を用いることにより実装することができる。そこで以下では、配列演算ユニット１００を利用したデータ処理装置１１０の実施形態を挙げ、この視覚装置２を図面を参照して説明する。
【００４６】
まず配列演算ユニット１００は、入力画像の１つの画素とその近傍画素を用いることにより、出力画像の１つの画素を生成する。そこで第１１図に示したように、配列演算ユニット１００を入力画像のサイズに合わせて格子状に配列したデータ処理装置１１０を用いることにより、データ処理装置１１０は入力画像から出力画像を生成することができる。なお第１１図において、配列演算ユニット１００をＡＯＵと略記する。また第１１図では、配列演算ユニット１００は正方格子状に配列されているが、勿論実装面積を最小にするために、配列演算ユニット１００を六角格子状、つまり最密充填構造に配置しても良い。この場合、配列演算ユニット１００間の複数の信号線の一部はジグザグに配線される。次に配列演算ユニット１００は専用ハードウェアによって実装されても良いし、汎用コンピュータ上でソフトウェアによって実装することもできる。つまり入力画像から出力画像を生成することができれば、実装手段は制限されない。したがって配列演算ユニット１００のアルゴリズムを示すことにより、データ処理装置１１０の画像処理を示すことができる。そこで配列演算ユニット１００のアルゴリズムを示すために、第１０図で示された画像記憶手段１２、色情報生成手段４１、エッジ情報生成手段１４、エッジ情報形成手段１５、位置／大きさ検出手段１７、位置／大きさ／傾き検出手段４４、幾何解析手段３７、領域正規化手段２７、マスク手段４０、画像保持手段３９、及びパターンマッチング手段３８で用いる数式について説明する。
【００４７】
幅ｗ、高さｈ、帯域数ｂの任意の２ｎ階調画像をｘ、ｙ、ｗとすると、ｘ、ｙ、ｗは各々位置ｐ（ｉ，ｊ，ｋ）の 帯域画値ｘｉｊｋ、ｙｉｊｋ、ｗｉｊｋをｙ用いて数式２、３及び４のように表される。なお太字はベクトルを示す。またｎは非負の整数、ｗ、ｈ、ｂ、ｉ、ｊ、ｋは自然数である。
2008259244.tif 000004
【００４８】
まず前記画像の各帯域画素値に対する点処理に関する関数について以下で説明する。
画像ｘを二値画像に変換する場合、数式５に従って帯域画素値を二値化する。
2008259244.tif 000005
【００４９】
画像ｘを帯域最大値画像に変換する場合、数式６に従ってｉ行ｊ列の画素の各帯域の値のうち最大値を選択する。なお前記帯域最大値画像は単帯域画像となるので、便宜上帯域数１の前記画像として取り扱うことにする。したがって関数Ｂｉｊ１（ｘ）の第３添字は１となっている。
2008259244.tif 000006
【００５０】
画像ｘが二値画像であるとして、画像ｘを反転させる場合、数式７に従って計算する。
2008259244.tif 000007
【００５１】
画像ｘの位置ｐ（ｉ，ｊ，ｋ）における対数変換は数式８に従って行われる。ここでｅはオフセットであり、自然対数関数が出力する値が有効範囲に入るようにするために使われるので、一般にｅ＝１で十分である。この対数化により帯域画素値同士の除算を減算にすることができる。また画像ｘが２ｎ階調のデジタル画像１１１であるとすると、帯域数に関わらず２ｎ個の要素を含むルックアップテーブルをメモリ１０２上に持つならば、毎回自然対数関数を計算する必要もなく、標準的な対数表を持つ必要もなくなる。
2008259244.tif 000008
【００５２】
さて、画像の位置ｐ（ｉ，ｊ，ｋ）におけるｑ近傍の位置の集合Ｐｉｊｋ（ｑ）は数式９によって表される。ただしｑは４、８、２４、４８、８０、１２０、（２ｒ＋１）２−１と続く数列であり、ｒは自然数である。なお画像サイズをはみ出した位置が集合Ｐｉｊｋ（ｑ）に含まれる場合には、特に指定がない限り位置ｐ（ｉ，ｊ，ｋ）を代用するものとする。またこれ以外のときは、指定に従い、画素値が０に相当し、しかも画像に含まれない架空の位置を代用する。これにより辺縁処理は自動的に行われる。したがって集合Ｐｉｊｋ（ｑ）の要素の数Ｎｉｊｋは常にｑとなる。
2008259244.tif 000009
【００５３】
そこで次に画像の各帯域画素値に対する最大８近傍１８２の近傍処理に関する関数及びオペレータについて以下で説明する。
画像ｘの位置ｐ（ｉ，ｊ，ｋ）における平滑化は数式１０に従って行われる。ただしｉｎｔ（ｖ）は実数ｖの小数点以下切り捨てを意味するものとする。もし画像ｘの帯域画素値が整数値であるならば、ハードウェアの実装時にＮｉｊｋ＝４のときｘｌｍｋの総和に対して右シフト命令を２回、Ｎｉｊｋ＝８のときｘｌｍｋの総和に対して右シフト命令を３回実行するような回路に変更することにより、除算を実行する回路を省くことができる。
2008259244.tif 000010
【００５４】
ラプラシアンの計算であるが、これは数式１１に示すように単なる２階差分オペレータである。８近傍１８２の方がノイズの微妙な変化を捉えてゼロ点およびゼロ交差が多くなり、本発明には向いている。ただしＮｉｊｋが４か８であるので、もしハードウェアの実装時にＮｉｊｋ＝４のときｘｉｊｋに対して左シフト命令を２回、Ｎｉｊｋ＝８のときｘｉｊｋに対して左シフト命令を３回実行するような回路に変更することにより、実数の乗算を実行する回路を省くことができる。
2008259244.tif 000011
【００５５】
ラプラシアンによって求められた値からゼロ点を見付ける方法として、従来は正から負に変化する画素を見付けていたが、本発明では数式１２に従い、負から正にゼロ交差する画素の他に、負からゼロやゼロから正などゼロ点が経由したり、ゼロが継続する画素を見付けるようにする。本発明では、数式１２が見付けたゼロ点はエッジがある場所ではなく、ノイズがある場所、つまりエッジがない場所になる。また数式１２により実数値の二値化も同時に行っている。
2008259244.tif 000012
【００５６】
画像ｘが任意の二値画像であるとして、画像ｘのうち孔が空いている画素を埋める場合には、数式１３に従い計算するここでｆは埋めるべき孔の大きさを表すパラメータであり、一般にはｆ＝１で十分である。なお４近傍の場合にはその性質上対角線を検知することができないので、極力８近傍１８２にした方がよい。
2008259244.tif 000013
【００５７】
画像ｘが任意の二値画像であるとして、画像ｘのうち孤立点ないし孤立孔を削除する場合には、数式１４に従い計算する。なお４近傍の場合にはその性質上対角線を検知することができないので、極力８近傍１８２にした方がよい。
2008259244.tif 000014
【００５８】
画像ｘが任意の二値画像であるとして、画像ｘのうち線幅が１である画素を検知するために、４近傍画素を用いて数式１５に従い計算する。
2008259244.tif 000015
【００５９】
２つの画像ｘ、ｙが任意の二値画像であり、画像ｙが画像ｘのうち線幅が１である画素を検知した画像であるとすると、画像ｘのうち線幅が１である画素の線幅を拡張するために、４近傍画素を用いて数式１６に従い計算する。
2008259244.tif 000016
【００６０】
そこで数式１５の線幅検知と数式１６の線幅拡張を用いると、数式１７に従い二値画像の線幅補完を簡単に記述することができる。
2008259244.tif 000017
【００６１】
次に画像の各帯域画素値に対する近傍処理に関する関数及びオペレータについて以下で説明する。
２つの画像ｘ、ｙがある場合、これらの画像の最大値画像は数式１８に従って計算される。
2008259244.tif 000018
【００６２】
２つの画像ｘ、ｙがある場合、これらの画像の差分は数式１９に従って計算される。
2008259244.tif 000019
【００６３】
ここで数式１１のラプラシアンと数式１９の差分を用いると、数式２０に従い画像の鮮鋭化を簡単に記述することができる。
2008259244.tif 000020
【００６４】
２つの画像ｘ、ｙがあり、画像ｙが単帯域二値画像である場合、数式２１に従い、画像ｙの帯域画素値を用いて画像ｘの各帯域画素値を抜き出すことができる。
2008259244.tif 000021
【００６５】
２つの画像ｘ、ｙがあり、画像ｘとｙが二値画像である場合、数式２２に従い、画像ｘを基に 画像ｙを整形することができる。
2008259244.tif 000022
【００６６】
２つの画像ｘ、ｙがあり、画像ｙが二値画像である場合、数式２３に従い、画像ｙで指定されなかった画像ｘの帯域画素値を、画像ｘの帯域画素値の近傍のうち画像ｙで指定された画像ｘの帯域画素値の平均値で補間する。ただしｉｎｔ（ｖ）は実数ｖの小数点以下切り捨てを意味するものとする。なお画像ｙが二値画像であるため分母は正数となるので、メモリ１０２に１からｑまでの逆数を記憶させることにより、整数の除算を実数の乗算に置き換えることができる。
2008259244.tif 000023
【００６７】
さて本発明では、画素の位置や移動量なども画像データのように扱うことで処理を単純にしている。これを位置の画像化と呼ぶ。以下では位置の画像化に関する幾つかの関数及びオペレータについて説明する。
まず位置ｐ（ｌ，ｍ，ｏ）のｌ、ｍ、ｏ各々の値を画像データとして帯域画素値に変換するオペレータを＃とし、変換された帯域画素値を＃ｐ（ｌ，ｍ，ｏ）とする。次に帯域画素値が位置ｐ（ｉ，ｊ，ｋ）から位置ｐ（ｉ＋ｌ，ｊ＋ｍ，ｋ＋ｏ）へ移動する場合を考える。 このとき帯域画素値の移動量は位置ｐ（ｌ，ｍ，ｏ）として表されるものとする。つまり移動量はある位置からのベクトルと見做すことができる。最後に帯域画素値から位置を取り出すオペレータを＃−１とする。したがって＃−１＃ｐ（ｌ，ｍ，ｏ）＝ｐ（ｌ，ｍ，ｏ）となる。
【００６８】
そこで数式２４に従い、移動量ｐ（ｉ，ｊ，ｋ）を幅方向と高さ方向で表される平面内で１８０度反対方向に向けることができる。
2008259244.tif 000024
【００６９】
画像ｘがあり、画像ｘが単帯域二値画像である場合、画像ｘの位置ｐ（ｉ，ｊ，１）における 重心位置への移動量は数式２５に従い計算される。なお、本来重心を計算する際には除算を行う必要があるが、８近傍１８２内への移動量を計算する際に除算は相殺されてしまうので、数式２５では除算が省かれている。
2008259244.tif 000025
【００７０】
移動量ｐ（ｉ，ｊ，ｋ）から、数式２６、２７及び２８に従い８近傍１８２内への移動量を計算し、移動量画像に画像化することができる。なお数式２７及び２８は、画像の離散化により数式２６では対応しきれない場合にのみ利用する。
2008259244.tif 000026
2008259244.tif 000027
【００７１】
したがって数式２５、２６、２７及び２８を用いると、数式２９、３０及び３１に従い、単帯域二値画像ｘの重心方向への移動量画像の帯域画素値を簡単に記述することができる。なお移動量画像の帯域数は１となる。
2008259244.tif 000028
【００７２】
一方で数式２４を用いると重心位置の反対位置を求めることができるので、数式３２に従い、単帯域二値画像ｘの重心と反対方向への移動量画像の帯域画素値を簡単に記述することができる。なお移動量画像の帯域数は１となる。
2008259244.tif 000029
【００７３】
２つの画像ｘ、ｙがあり、画像ｙが移動量画像である場合、数式３３に従い、画像ｙで指し示された移動位置に画像ｘの帯域画素値を移動した後、同じ帯域画素に移動した帯域画素値の合計を濃淡画像にすることができる。
2008259244.tif 000030
【００７４】
そこで数式５、２９、３０、３１及び３３を用いることにより、数式３４、数式３５及び数式３６に従い、単帯域濃淡画像ｘを近傍の重心方向に移動した後、同じ帯域画素に移動した帯域画素値の合計を簡単に記述することができる。
2008259244.tif 000031
【００７５】
ところで、数式３３において近傍数ｑが８に限定されると、移動量画像ｙは画素毎に８近傍１８２の中から移動元を特定することができる。そこで、画像ｘが重複情報画像１３２であり、しかも第１２図に示すように、ｘの各画素の８近傍１８２に対して反時計回りに１から８までの番号が付けられた場合、数式３７から数式４４までの８つの数式は、それぞれ８個の移動元毎に、移動可能な画像ｘの帯域画素値を求めることができる。
2008259244.tif 000032
2008259244.tif 000033
【００７６】
そこで数式３４、３５及び３６の代りに数式４５、４６及び４７を用いることにより、８個の移動元重複情報１８３から構成される８帯域濃淡画像ｘ、及び重複情報１３１から構成される単帯域濃淡画像ｙから、８個の移動元毎の移動元重複情報１８３が生成される。
2008259244.tif 000034
なお、条件によっては、Γ＊ｉｊｋ（Φ（ｙ），Δ（Φ（ｙ））） の代りに、Γ＊ｉｊｋ（ｙ，Δ（Φ（ｙ）））を用いることもできる。
【００７７】
２つの画像ｘ、ｙがあり、画像ｘが二値画像で、画像ｙが移動量画像である場合、画像ｘの各帯域画素値の移動先の位置を 求めることができるので、移動先が重複する帯域画素値を見つけることができる。そこで画像ｘの各帯域画素値の移動先が重複することなく、しかも移動する各帯域画素値が存在することを表す移動可能画像の帯域画素値は、数式４８に従い生成される。なお移動可能画像の帯域数は１となる。
2008259244.tif 000035
【００７８】
３つの画像ｘ、ｙ、ｗがあり、画像ｙが移動可能画像であり、画像ｗが移動量画像である場合、数式４９に従い画像ｘの帯域画素値を移動することができる。
2008259244.tif 000036
【００７９】
そこで数式３２、数式４８及び数式４９を用いると、数式５０に従い、二値画像ｙから計算される重心位置と反対方向に画像ｘの帯域画素を移動することで得られる画像の帯域画素値を簡単に記述することができる。
2008259244.tif 000037
【００８０】
そこで数式２から数式５０までを用いることにより、第１０図で示された画像記憶手段１２、色情報生成手段４１、エッジ情報生成手段１４、エッジ情報形成手段１５、位置／大きさ検出手段１７、位置／大きさ／傾き検出手段４４、領域正規化手段２７、マスク手段４０、及び画像保持手段３９ を実装するデータ処理装置１１０の全ての配列演算ユニット１００のアルゴリズムを記述することができる。以下では、データ処理装置１１０中の任意の配列演算ユニット１００のアルゴリズムを用いて、画像記憶手段１２、色情報生成手段４１、エッジ情報生成手段１４、エッジ情報形成手段１５、 位置／大きさ検出手段１７、位置／大きさ／傾き検出手段４４、領域正規化手段２７、マスク手段４０、及び画像保持手段３９を説明する。
【００８１】
データ処理装置１１０によって実現される画像記憶手段１２がデジタル画像１１１を記憶するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは第１３図のようになる。
【００８２】
ステップ１２０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ１２０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。
ステップ１２０３で、順次入力されるデジタル画像１１１が無くなったかどうか判断する。もしデジタル画像１１１が無ければ（ステップ１２０３：ＹＥＳ）、アルゴリズムを終了する。もしデジタル画像１１１があれば（ステップ１２０３：ＮＯ）、ステップ１２０４に移行する。ただし特定の画像サイズのみに対して配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【００８３】
ステップ１２０４で、デジタル画像１１１が準備されるまで入力待ちをする。
ステップ１２０５で、 デジタル画像１１１のｉ行ｊ列の画素を帯域数分入力する。このためＡＯＵｉｊは少なくとも帯域数分の画像データを記憶するメモリ１０２を必要とする。
ステップ１２０６で、入力待ちの間、出力できるように、デジタル画像１１１のｉ行ｊ列の画素を記憶する。
ステップ１２０７で、デジタル画像１１１の帯域画素値を出力する。その後ステップ１２０３に戻る。
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、画像記憶手段１２はデジタル画像１１１を記憶することができる。
【００８４】
第１４図に示すように、データ処理装置１１０によって実現される色情報生成手段４１がデジタル画像１１１の各画素から色情報１７１を生成するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された 配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは第１５図のようになる。
【００８５】
ステップ４１０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ４１０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。
【００８６】
ステップ４１０３で、順次入力されるデジタル画像１１１が無くなったかどうか判断する。もしデジタル画像１１１が無ければ（ステップ４１０３：ＹＥＳ）、 アルゴリズムを終了する。もしデジタル画像１１１があれば（ステップ４１０３：ＮＯ）、ステップ４１０４に移行する。ただし特定の画像サイズのみに対して 配列演算ユニット１００を実装する場合には、無限ループにしても良い。
ステップ４１０４で、デジタル画像１１１のｉ行ｊ列の画素を帯域数分入力する。このためＡＯＵｉｊは少なくとも帯域数分の画像データを記憶するメモリ１０２を必要とする。
ステップ４１０５で、デジタル画像１１１のｉ行ｊ列の画素から特定の色を抽出して色情報１７１を生成する。生成された色情報１７１は色情報画像１７２の帯域画素値として扱われる。
ステップ４１０６で、色情報画像１７２の帯域画素値を出力する。その後ステップ４１０３に戻る。
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、色情報生成手段４１はデジタル画像１１１から色情報画像１７２を生成することができる。
【００８７】
第１６図に示すように、データ処理装置１１０によって実現される エッジ情報生成手段１４が デジタル画像１１１から粗エッジ情報画像１１３を生成するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。 格子上ｉ行ｊ列に配置された配列演算ユニット１００をＡＯＵｉｊとすると、エッジ情報生成手段１４に対するＡＯＵｉｊのアルゴリズムは第１７図のようになる。
【００８８】
ステップ１４０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ１４０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に４か８に決めても良いし、全部を４か８に統一しても良い。本発明のエッジ情報生成手段１４が生成する 粗エッジ情報１１２の正確さを上げるためには 近傍サイズｑを全て８に設定することが望ましい。しかしながら粗エッジ情報１１２を生成するための計算時間の制約や、デジタル画像１１１の帯域数などにより、エッジ情報生成手段１４は 必要に応じて適宜近傍サイズを変えることで対処することができる。
ステップ１４０３で、デジタル画像１１１が終了したかどうか判断する。もしデジタル画像１１１が無ければ（ステップ１４０３：ＹＥＳ）、アルゴリズムを終了する。もしデジタル画像１１１があれば（ステップ１４０３：ＮＯ）、ステップ１４０４に移行する。ただし特定の帯域数と画像サイズに対して配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【００８９】
ステップ１４０４で、デジタル画像１１１のｉ行ｊ列の画素を帯域数分入力する。これは、ＡＯＵｉｊがデジタル画像１１１のｉ行ｊ列の画素を一括して処理するためである。このためＡＯＵｉｊは少なくとも帯域数分の画像データを記憶するメモリ１０２を必要とする。
【００９０】
ステップ１４０５で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、入力したデジタル画像１１１の各帯域画素値に対して関数Ｓｉｊｋ（ｘ）に従い平滑化を行う。平滑化された帯域画素値は平滑化画像の帯域画素値として扱われる。ここで関数Ｓｉｊｋ（ｘ）は必要に応じて数回繰り返しても良い。一般的な多帯域画像の場合、この回数は２回で十分である。
【００９１】
ステップ１４０６で、平滑化画像の各帯域画素値に対して関数Ｌｉｊｋ（ｘ）に従い対数変換を行う。対数変換された各帯域画素値は対数変換画像の帯域画素値として扱われる。
ステップ１４０７で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、対数変換画像の各帯域画素値に対して関数Ｅｉｊｋ（ｘ）に従い鮮鋭化を行う。鮮鋭化された帯域画素値は鮮鋭化画像の帯域画素値として扱われる。なおデジタル画像１１１にノイズが多量に含まれている場合には、このステップを省略することができる。
【００９２】
ステップ１４０８で、鮮鋭化画像の各帯域画素値に対して関数Ｄｉｊｋ（ｘ，ｙ）に従い１入力前鮮鋭化画像の各帯域画素値を引く。差分を計算された帯域画素値は時間差分画像の帯域画素値として扱われる。
ステップ１４０９で、１入力前鮮鋭化画像の各帯域画素値を鮮鋭化画像の対応する各帯域画素値で置き換える。
ステップ１４１０で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、時間差分画像の各帯域画素値に対してオペレータ▽２ｉｊｋｘに従いラプラシアンの計算を行う。ラプラシアンを計算された帯域画素値は時間差分ラプラシアン画像の帯域画素値として扱われる。
【００９３】
ステップ１４１１で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、時間差分ラプラシアン画像の各帯域画素値に対して関数Ｚｉｊｋ（ｘ）に従いゼロ点を抽出する。ゼロ点を抽出された帯域画素値は時間差分ゼロ点画像の帯域画素値として扱われる。
【００９４】
ステップ１４１２で、時間差分ラプラシアン画像の各帯域画素値に対して関数Ｂｉｊｋ（ｘ）に従い各帯域画素値のうち最大値を検出する。検出された最大値帯域画素値は 最大値時間差分ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。
【００９５】
ステップ１４１３で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、鮮鋭化画像の各帯域画素値に対してオペレータ▽２ｉｊｋｘに従いラプラシアンの計算を行う。ラプラシアンを計算された帯域画素値はラプラシアン画像の帯域画素値として扱われる。
【００９６】
ステップ１４１４で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、ラプラシアン画像の各帯域画素値に対して関数Ｚｉｊｋ（ｘ）に従いゼロ点を抽出する。ゼロ点を抽出された帯域画素値はゼロ点画像の帯域画素値として扱われる。
【００９７】
ステップ１４１５で、ラプラシアン画像の各帯域画素値に対して関数Ｂｉｊｋ（ｘ）に従い各帯域画素値のうち最大値を検出する。検出された最大帯域画素値は最大値ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。
【００９８】
ステップ１４１６で、ラプラシアン画像の各帯域画素値と時間差分ラプラシアン画像の各帯域画素値に対して関数Ｍｉｊｋ（ｘ，ｙ）に従い各々の画像の同じ位置にある帯域画素値のうち最大値を検出する。検出された最大帯域画素値は混成ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。
【００９９】
ステップ１４１７で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、混成ゼロ点画像の帯域画素値に対して関数Ｆｉｊｋ（ｘ）に従い孔を除去する。孔を除去された帯域画素値は孔除去混成ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。ここで関数Ｆｉｊｋ（ｘ）は必要に応じて数回繰り返しても良い。一般的な多帯域画像の場合、この回数は１回で十分である。
【０１００】
ステップ１４１８で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、孔除去混成ゼロ点画像の帯域画素値に対して関数Ａｉｊｋ（ｘ）に従い孤立点および孤立孔を除去する。孤立点および孤立孔を除去された帯域画素値はノイズ除去混成ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。
【０１０１】
ステップ１４１９で、ノイズ除去混成ゼロ点画像の帯域画素値に対して関数Ｉｉｊｋ（ｘ）に従い０と１を反転させる。反転された帯域画素値は粗エッジ情報画像１１３の帯域画素値として扱われる。
ステップ１４２０で、粗エッジ情報画像１１３の帯域画素値を出力する。その後ステップ１４０３に戻る。
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、エッジ情報生成手段１４はデジタル画像１１１から粗エッジ情報画像１１３を生成することができる。
【０１０２】
第１８図に示すように、データ処理装置１１０によって実現されるエッジ情報形成手段１５が、粗エッジ情報１１２から構成される粗エッジ情報画像１１３と、デジタル画像１１１と、から、形成エッジ情報１１４から構成される形成エッジ情報画像１１５を生成するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは 第１９図のようになる。
【０１０３】
ステップ１５０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ１５０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に４か８に決めても良いし、全部を４か８に統一しても良い。本発明のエッジ情報形成手段１５が形成した 形成エッジ情報１１４の正確さを上げるためには近傍サイズｑを全て８に設定することが望ましい。しかしながら粗エッジ情報１１２を形成するための計算時間の制約や、入力されるデジタル画像１１１の帯域数などにより、エッジ情報形成手段１５は必要に応じて適宜近傍サイズを変えることで対処することができる。
【０１０４】
ステップ１５０３で、順次入力されるデジタル画像１１１又は粗エッジ情報画像１１３が無くなったかどうか判断する。もしデジタル画像１１１又は粗エッジ情報画像１１３が無ければ（ステップ１５０３：ＹＥＳ）、アルゴリズムを終了する。もしデジタル画像１１１及び粗エッジ情報画像１１３があれば（ステップ１５０３：ＮＯ）、ステップ１５０４に移行する。ただし特定の帯域数と画像サイズに対して 配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【０１０５】
ステップ１５０４で、デジタル画像１１１及び粗エッジ情報画像１１３のｉ行ｊ列の画素を 帯域数分入力する。これは、ＡＯＵｉｊがデジタル画像１１１及び粗エッジ情報画像１１３のｉ行ｊ列の画素を一括して処理するためである。このためＡＯＵｉｊは少なくとも帯域数分の画像データを記憶するメモリ１０２を必要とする。
【０１０６】
ステップ１５０５で、デジタル画像１１１のｉ行ｊ列の画素と粗エッジ情報画像１１３のｉ行ｊ列の画素を分離する。これは、ＡＯＵｉｊがデジタル画像１１１のｉ行ｊ列の画素と粗エッジ情報画像１１３のｉ行ｊ列の画素を各々独立した画像の画素として処理するためである。もしデジタル画像１１１のｉ行ｊ列の画素と粗エッジ情報画像１１３のｉ行ｊ列の画素が初めから分離されて入力されていれば、特に何もしない。
【０１０７】
ステップ１５０６で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、入力したデジタル画像１１１の各帯域画素値に対して関数Ｓｉｊｋ（ｘ）に従い平滑化を行う。平滑化された各帯域画素値は平滑化画像の帯域画素値として扱われる。ここで関数Ｓｉｊｋ（ｘ）は必要に応じて数回繰り返しても良い。一般的な多帯域画像の場合、この回数は２回で十分である。
【０１０８】
ステップ１５０７で、 平滑化画像の各帯域画素に対して関数Ｌｉｊｋ（ｘ）に従い対数変換を行う。対数変換された帯域画素値は対数変換画像の帯域画素値として扱われる。
ステップ１５０８で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、対数変換画像の各帯域画素値に対して関数Ｅｉｊｋ（ｘ）に従い鮮鋭化を行う。鮮鋭化された帯域画素値は鮮鋭化画像の帯域画素値として扱われる。なお、デジタル画像１１１にノイズが多量に含まれている場合、このステップを省略することができる。
【０１０９】
ステップ１５０９で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、鮮鋭化画像の各帯域画素値に対してオペレータ▽２ｉｊｋｘに従いラプラシアンの計算を行う。ラプラシアンを計算された帯域画素値はラプラシアン画像の帯域画素値として扱われる。
ステップ１５１０で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、ラプラシアン画像の各帯域画素値に対して関数Ｚｉｊｋ（ｘ）に従いゼロ点を抽出する。ゼロ点を抽出された帯域画素値はゼロ点画像の帯域画素値として扱われる。
【０１１０】
ステップ１５１１で、ゼロ点画像の各帯域画素値に対して関数Ｂｉｊｋ（ｘ）に従い各帯域画素値のうち最大値を検出する。検出された最大帯域画素値は最大値ゼロ点画像の帯域画素値として扱われる。 なお便宜上帯域数は１である。
ステップ１５１２で、最大値ゼロ点画像の帯域画素値に対して関数Ｉｉｊｋ（ｘ）に従い０と１を反転させる。反転された帯域画素値は基礎エッジ情報画像の帯域画素値として扱われる。
【０１１１】
ステップ１５１３で、入力した粗エッジ情報画像１１３の帯域画素値は初め整形粗エッジ情報画像の帯域画素値として扱われ、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、基礎エッジ情報画像の帯域画素値を用いて、整形粗エッジ情報画像の帯域画素値に対して関数Ｑｉｊｋ（ｘ，ｙ）に従い整形を行う。 整形された帯域画素値は再び整形粗エッジ情報画像の帯域画素値として扱われる。ここで関数Ｑｉｊｋ（ｘ，ｙ）は本来整形粗エッジ情報画像の帯域画素値が変化しなくなるまで繰り返される。ただし計算時間の制約、入力される粗エッジ情報画像１１３の品質、形成される形成エッジ情報画像１１５に求められる品質などにより、整形処理は適当な繰り返し回数で計算を打ち切った方が良い。
【０１１２】
ステップ１５１４で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、整形粗エッジ情報画像の帯域画素値に対して関数Ｃｉｊｋ（ｘ）に従い線幅補完を行う。補完された帯域画素値は 形成エッジ情報画像１１５の帯域画素値として扱われる。
ステップ１５１５で、形成エッジ情報画像１１５の帯域画素値を出力する。その後ステップ１５０３に戻る。
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、エッジ情報形成手段１５は粗エッジ情報画像１１３を形成エッジ情報画像１１５に形成することができる。
【０１１３】
ここで粗エッジ情報画像１１３から形成エッジ情報画像１１５への形成とは、ある場面を撮影した低解像度のデジタル画像１１１から生成されたエッジ情報から、同じ場面を撮影した高解像度のデジタル画像１１１から生成されるべきエッジ情報を推定することであると見做すことができる。 そこで自然数ｎに対して、第２０図に示すように、デジタル画像１１１の解像度を１／ｎに低くした低解像度デジタル画像１１６から、エッジ情報生成手段１４を用いて低解像度粗エッジ情報画像１１７を生成した場合、低解像度粗エッジ情報画像１１７をｎ倍拡大することにより粗エッジ情報画像１１３を生成することができる。ただしデジタル画像１１１の解像度を１／ｎにするためには、水平及び垂直方向に対して単純にデジタル画像１１１の連続するｎ個のうち１個を抽出すれば良い。また低解像度粗エッジ情報画像１１７をｎ倍拡大するためには、水平及び垂直方向に対して 単純に低解像度粗エッジ情報画像１１７の連続する画素の間に帯域画素値が０である画素をｎ−１個埋めれば良い。このときｎがあまり大きくなければ、エッジ情報形成手段１５を実現するデータ処理装置１１０が、低解像度粗エッジ情報画像１１７を拡大した粗エッジ情報画像１１３を形成した形成エッジ情報画像１１５と、エッジ情報形成手段１５を実現するデータ処理装置１１０が、デジタル画像１１１から生成した粗エッジ情報画像１１３を形成した形成エッジ情報画像１１５とは、ほとんど同じものになる。この理由は、エッジ情報形成手段１５がデジタル画像１１１を用いて内部で生成したエッジ情報のうちどのエッジ情報を利用するのか参考にするために、エッジ情報形成手段１５が 粗エッジ情報画像１１３を用いているだけだからである。したがって低解像度粗エッジ情報画像１１７を拡大した粗エッジ情報画像１１３をエッジ情報形成手段１５に入力した場合、低解像度デジタル画像１１６から低解像度粗エッジ情報画像１１７を生成するエッジ情報生成手段１４を実現するデータ処理装置１１０は計算量又はハードウェア量を低減することができる。
【０１１４】
さらにこの方法を発展させると、第２１図に示すように、デジタル画像１１１の解像度を低くした低解像度デジタル画像１１６から生成した低解像度粗エッジ情報画像１１７のうち、粗エッジ情報１１２の周辺を切り出した低解像度切出粗エッジ情報画像１１８を生成することができる。この低解像度切出粗エッジ情報画像１１８を拡大した切出粗エッジ情報画像１１９と、デジタル画像１１１のうち同じ領域を切り出した 切出デジタル画像１２０をエッジ情報形成手段１５を実現する データ処理装置１１０に入力すると、切出形成エッジ情報画像１２１を生成することができる。この場合、エッジ情報形成手段１５を実現するデータ処理装置１１０はハードウェア量を低減することができる。なお視覚装置２は、切出デジタル画像１２０が常にデジタル画像１１１の中央になるように 移動カメラ１０の向き及び倍率を変化させるためのものであると見做すこともできる。
【０１１５】
第２２図に示すように、データ処理装置１１０によって実現される位置／大きさ検出手段１７が粗エッジ情報１１２を画素とする粗エッジ情報画像１１３から重複情報１３１を画素とする重複情報画像１３２を生成するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。 格子上ｉ行ｊ列に配置された配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは第２３図のようになる。
【０１１６】
ステップ１７０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ１７０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に決めても良いし、全部を統一しても良い。本発明のデータ処理装置１１０が生成した 重複情報画像１３２の正確さを上げるためには近傍サイズｑを全て大きな値に設定することが望ましい。しかしながら物体の粗エッジ情報１１２の重心を計算するための計算時間の制約や、入力される粗エッジ情報画像１１３のサイズなどにより、位置／大きさ検出手段１７は必要に応じて適宜近傍サイズを変えることで対処することができる。
【０１１７】
ステップ１７０３で、順次入力される粗エッジ情報画像１１３が無くなったかどうか判断する。もし粗エッジ情報画像１１３が無ければ（ステップ１７０３：ＹＥＳ）、アルゴリズムを終了する。もし粗エッジ情報画像１１３があれば（ステップ１７０３：ＮＯ）、ステップ１７０４に移行する。ただし特定の画像サイズのみに対して配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【０１１８】
ステップ１７０４で、粗エッジ情報画像１１３のｉ行ｊ列の画素を１帯域分入力する。このためＡＯＵｉｊは少なくとも１帯域分の画像データを記憶するメモリ１０２を必要とする。
ステップ１７０５で、粗エッジ情報画像１１３の粗エッジ情報１１２を重複情報画像１３２の重複情報１３１に変換する。重複情報１３１は１か０に相当する帯域画素値となる。
【０１１９】
ステップ１７０６で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数△ｉｊ１（ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
【０１２０】
ステップ１７０７で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Λｉｊ１（ｘ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は新たに重複情報画像１３２の帯域画素値として扱われる。
【０１２１】
ステップ１７０８で、ステップ１７０６からステップ１７０７までの繰り返し回数を表す移動回数が指定回数に達したかどうか判断する。もし移動回数が指定回数に達していなければ（ステップ１７０８：ＮＯ）、ステップ１７０６に戻る。もし移動回数が指定回数に達していれば（ステップ１７０８：ＹＥＳ）、ステップ１７０９に移行する。なおこの指定回数は形成エッジ情報画像１１５のサイズや形成エッジ情報１１４が表す物体のサイズ、さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、位置及び大きさの検出に要する時間が長くなる。
【０１２２】
ステップ１７０９で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数△’ｉｊ１（ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ１７１０で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Λ’ｉｊ１（ｘ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は 新たに重複情報画像１３２の帯域画素値として扱われる。
【０１２３】
ステップ１７１１で、重複情報画像１３２の帯域画素値を出力する。その後ステップ１７０３に戻る。
なお重複情報画像１３２の各重複情報１３１はその位置を中心とした周辺にある粗エッジ情報１１２の総数を表すので、 結果的にその位置を中心とした物体の大きさを意味することになる。
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、位置／大きさ検出手段１７は 粗エッジ情報画像１１３から 重複情報画像１３２を生成することができる。
【０１２４】
ここで第２３図のアルゴリズムにおいて粗エッジ情報１１２から構成される粗エッジ情報画像１１３の代りに物体領域１４１を表す物体領域画像１４２を用いると、第２４図に示すように、データ処理装置１１０によって実現される位置／大きさ検出手段１７は物体領域１４１を表す物体領域画像１４２からも重複情報１３１を表す重複情報画像１３２を生成することができる。ただし物体領域画像１４２を用いた場合、重複情報画像１３２の各重複情報１３１はその位置を中心とした物体領域１４１の画素の総数を表すので、結果的にその位置を中心とした物体の面積を意味することになる。したがって重複情報画像１３２から物体の大きさを求める場合には重複情報１３１の平方根を取るなど注意を要する。なお形成エッジ情報画像１１５及び色情報画像１７２を用いた場合も同様である。
【０１２５】
さて、第２５図に示すように、データ処理装置１１０によって実現される位置／大きさ／傾き検出手段４４が 粗エッジ情報１１２を画素とする粗エッジ情報画像１１３から重複情報１３１を画素とする重複情報画像１３２を生成するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された 配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは 第２６図のようになる。
【０１２６】
ステップ４４０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ４４０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に決めても良いし、全部を統一しても良い。本発明のデータ処理装置１１０が生成した重複情報画像１３２の正確さを上げるためには近傍サイズｑを全て大きな値に設定することが望ましい。しかしながら物体の粗エッジ情報１１２の重心を計算するための計算時間の制約や、入力される粗エッジ情報画像１１３のサイズなどにより、位置／大きさ／傾き検出手段４４は必要に応じて適宜近傍サイズを変えることで対処することができる。
【０１２７】
ステップ４４０３で、順次入力される粗エッジ情報画像１１３が無くなったかどうか判断する。もし粗エッジ情報画像１１３が無ければ（ステップ４４０３：ＹＥＳ）、アルゴリズムを終了する。もし粗エッジ情報画像１１３があれば（ステップ４４０３：ＮＯ）、ステップ４４０４に移行する。ただし特定の画像サイズのみに対して配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【０１２８】
ステップ４４０４で、粗エッジ情報画像１１３のｉ行ｊ列の画素を１帯域分入力する。このためＡＯＵｉｊは少なくとも１帯域分の画像データを記憶するメモリ１０２を必要とする。
ステップ４４０５で、粗エッジ情報画像１１３の粗エッジ情報１１２を重複情報画像１３２の重複情報１３１に変換する。重複情報１３１は１か０に相当する帯域画素値となる。また８個の移動元重複情報１８３は０に相当する帯域画素値でクリアされる。
【０１２９】
ステップ４４０６で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数△ｉｊ１（ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
【０１３０】
ステップ４４０７で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、移動元重複情報画像１８４の各帯域画素値に対して関数Λ＊ｉｊｋ（ｘ，ｙ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は新たに移動元重複情報画像１８４の帯域画素値として扱われる。
【０１３１】
ステップ４４０８で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Λｉｊ１（ｘ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は 新たに重複情報画像１３２の帯域画素値として扱われる。
【０１３２】
ステップ４４０９で、ステップ４４０６からステップ４４０８までの繰り返し回数を表す移動回数が指定回数に達したかどうか判断する。もし移動回数が指定回数に達していなければ（ステップ４４０９：ＮＯ）、ステップ４４０６に戻る。もし移動回数が指定回数に達していれば（ステップ４４０９：ＹＥＳ）、ステップ４４１０に移行する。なおこの指定回数は粗エッジ情報画像１１３のサイズや粗エッジ情報１１２が表す物体のサイズ、さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、位置、大きさ及び傾きの検出に要する時間が長くなる。
【０１３３】
ステップ４４１０で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数△’ｉｊ１（ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
【０１３４】
ステップ４４１１で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、移動元重複情報画像１８４の各帯域画素値に対して関数Λ’＊ｉｊｋ（ｘ，ｙ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は新たに移動元重複情報画像１８４の帯域画素値として扱われる。
【０１３５】
ステップ４４１２で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Λ’ｉｊ１（ｘ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は新たに重複情報画像１３２の帯域画素値として扱われる。
【０１３６】
ステップ４４１３で、ステップ４４０６からステップ４４１２までの繰り返し回数を表す縮退回数が 指定回数に達したかどうか判断する。もし縮退回数が指定回数に達していなければ（ステップ４４１３：ＮＯ）、ステップ４４０６に戻る。もし縮退回数が指定回数に達していれば（ステップ４４１３：ＹＥＳ）、ステップ４４１４に移行する。なおこの指定回数は粗エッジ情報画像１１３のサイズや粗エッジ情報１１２が表す物体のサイズ、 さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、位置、大きさ及び傾きの検出に要する時間が長くなる。
ステップ４４１４で、重複情報画像１３２の帯域画素値及び移動元重複情報画像１８４の各帯域画素値を出力する。その後ステップ４４０３に戻る。
【０１３７】
なお重複情報画像１３２の各重複情報１３１はその位置を中心とした周辺にある粗エッジ情報１１２の総数を表すので、 結果的にその位置を中心とした物体の大きさを意味することになる。また重複情報１３１がある画素だけに移動元重複情報１８３があるので、結果的にその位置を中心とした物体の傾きを意味することになる。
【０１３８】
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、位置／大きさ／傾き検出手段４４は粗エッジ情報画像１１３から重複情報画像１３２及び移動元重複情報画像１８４を生成することができる。ただし、もしこの重複情報画像１３２が表す物体のおおよその重心位置が、実際の重心位置から大きくずれてしまうならば、ステップ４４１０において、関数△’ｉｊ１（ｘ）及び関数△’’ｉｊ１（ｘ）が交互に用いられるようにすれば良い。同様に、ステップ４４１１において、関数Λ’＊ｉｊｋ（ｘ，ｙ）及び関数Λ’’＊ｉｊｋ（ｘ，ｙ）が交互に用いられ、ステップ４４１２において、関数Λ’ｉｊ１（ｘ）及び関数Λ’’ｉｊ１（ｘ）が交互に用いられるようにすれば良い。
【０１３９】
ここで第２６図のアルゴリズムにおいて、粗エッジ情報１１２から構成される粗エッジ情報画像１１３の代りに形成エッジ情報１１４から構成される形成エッジ情報画像１１５を用いることもできる。また粗エッジ情報１１２から構成される粗エッジ情報画像１１３の代りに物体領域１４１を表す物体領域画像１４２を用いると、第２７図に示すように、位置／大きさ／傾き検出手段４４は、物体領域１４１を表す物体領域画像１４２からも重複情報画像１３２及び移動元重複情報画像１８４を 生成することができる。ただし物体領域画像１４２を用いた場合、重複情報画像１３２の各重複情報１３１はその位置を中心とした物体領域１４１の画素の総数を表すので、結果的にその位置を中心とした物体の面積を意味することになる。したがって、重複情報画像１３２から物体の大きさを求める場合には、重複情報１３１の平方根を取るなど注意を要する。なお、物体領域画像１４２の代りに物体の特定の色の有無を表す色情報１７１から構成される色情報画像１７２を用いた場合も同様である。
【０１４０】
ここまでは粗エッジ情報画像１１３、形成エッジ情報画像１１５、物体領域画像１４２及び色情報画像１７２から移動元重複情報画像１８４を生成する方法について説明してきた。以下では、移動元重複情報１８３から物体の傾き角度を求める方法について説明する。
まず第１２図及び第２８図で示された 近傍１から近傍８までの移動元重複情報１８３を それぞれＮ１からＮ８とすると、反時計回りで表される傾き角度θは例えば数式５１に従って求められる。なお傾き角度θはラジアンで表されるものとし、物体が水平及び垂直である場合、傾き角度θは０ラジアンとなる。
2008259244.tif 000038
【０１４１】
例えば、Ｎ１からＮ８までの移動元重複情報１８３が第２８図のようになる場合、傾き角度θは約−０．４ラジアンとなる。数式５１は傾き角度θを求めるための簡単な数式であるが、勿論数式５１よりも細かい条件付けを行うことにより、本発明の利用者はより正確に傾き角度θを求めることができる。この他に、水平に対する傾き角度θを求めるためには、数式５２が用いられる。
2008259244.tif 000039
【０１４２】
なお、この傾き角度θが大まかで良いならば、関数ａｒｃｔａｎ（ｙ／ｘ）は対数表を用いる必要はない。例えば、この傾き角度θが、０ラジアン、π／４ラジアン、π／２ラジアン及び３π／４ラジアンのうちのいずれかを取るだけで良いならば、関数ａｒｃｔａｎ（ｙ／ｘ）は、数式５３のように近似されても良い。
2008259244.tif 000040
【０１４３】
そこで、配列演算ユニット１００が数式５１及び数式５２を計算し、重複情報１３１及び傾き角度θから構成される傾き大きさ情報１８５を生成すれば、配列演算ユニット１００は ８個の移動元重複情報１８３を出力する場合に比べて、より少ないデータ量を出力することができる。例えば、傾き角度θが４つに限定される場合、それぞれの傾き角度に対する重複情報１３１が個別の帯域画素値に割り当てられれば、傾き大きさ情報画像１８６は４帯域画像となる。また、４つの傾き角度θが１つの帯域画素値によって表されれば、傾き大きさ情報画像１８６は２帯域画像となる。この他に、傾き角度θが一定の刻み幅で表されても良いのなら、メモリ１０２は対数表を持つ代りに 必要な数の傾き角度を用意したルックアップテーブルを記憶するだけで良い。勿論、配列演算ユニット１００は数式５３のような近似関数を用いても良い。
【０１４４】
ところで、第２５図及び第２７図では、それぞれ１個の物体に対して生成された粗エッジ情報１１２を含む粗エッジ情報画像１１３及び物体領域１４１を含む物体領域画像１４２が位置／大きさ／傾き検出手段４４に入力されているが、勿論粗エッジ情報画像１１３及び物体領域画像１４２中に複数の物体がある場合でも、位置／大きさ／傾き検出手段４４は個々の物体の位置、大きさ及び傾きを検出することができる。さらに第２９図に示すように色情報画像１７２がテクスチャとなる場合でも、位置／大きさ／傾き検出手段４４は個々の色情報１７１の塊から位置、大きさ及び傾きを検出することができる。したがって位置／大きさ／傾き検出手段４４はテクスチャ解析にも利用することができる。
【０１４５】
さて、ここまでは位置／大きさ／傾き検出手段４４について説明してきた。上述の説明から明らかなように、粗エッジ情報画像１１３中の１個の物体の輪郭が 多数の等間隔の線分で表されるならば、位置／大きさ／傾き検出手段４４は、 この粗エッジ情報画像１１３から、これらの線分の長さ及び傾きを求めることができる。しかしながら、任意の位置にある任意の物体に対して、このような粗エッジ情報画像１１３を生成するためには、多数の大きなマスクを用いた特別な画像処理装置が別途必要であるので、実際に位置／大きさ／傾き検出手段４４は、１個の物体に対して、僅かな数の線分を含む粗エッジ情報画像１１３か、さもなくば形成エッジ情報画像１１５しか入力することができない。したがって、位置／大きさ／傾き検出手段４４は、上述の方法を用いる限り、これらの粗エッジ情報画像１１３から１個の物体の輪郭を表す複数の線分の長さ及び傾きを求めることはできない。
【０１４６】
ところが、位置／大きさ／傾き検出手段４４が８近傍１８２のみに対する局所処理を実行する場合、つまり、第２６図のステップ４４０６及びステップ４４１０において近傍サイズｑが８である場合、位置／大きさ／傾き検出手段４４は、条件によっては粗エッジ情報画像１１３中の粗エッジ情報１１２が構成する複数の線分及び曲線の法線方向を求めることができる場合がある。特に粗エッジ情報画像１１３中の複数の線分及び曲線の線幅が おおよそ２又は３画素である場合、つまり、形成エッジ情報１１４に対して、位置／大きさ／傾き検出手段４４は、確実にこれらの線分及び曲線を一定の量以下の形成エッジ情報１１４に分割し、さらにこれらの線分及び曲線の法線方向の角度を求めることができる。例えば第３１図の場合、位置／大きさ／傾き検出手段４４は、水平に対して１３５度傾いた形成エッジ情報画像１１５中の線分に対して、水平に対して４５度の角度を出力する。勿論、 位置／大きさ／傾き検出手段４４が出力する物体の大きさが、水平に対して１３５度傾いた線分の長さになる。また、第３２図の場合、位置／大きさ／傾き検出手段４４は、形成エッジ情報画像１１５中の十字形を５つの線分に分割した後、形成エッジ情報画像１１５中の水平線分に対して、水平に対して９０度の角度を出力し、形成エッジ情報画像１１５中の垂直線分に対して、水平に対して０度の角度を出力する。次に第３３図の場合、 位置／大きさ／傾き検出手段４４は、形成エッジ情報画像１１５中の三角形を６つの線分に分割し、それぞれ法線方向の角度を出力する。次に第３４図の場合、位置／大きさ／傾き検出手段４４は、形成エッジ情報画像１１５中の四角形を８つの線分に分割し、それぞれ法線方向の角度を出力する。なお、第３４図から明らかなように、四角形の４つの角は、それぞれこの四角形の重心方向に傾いた短い線分に変換されている。次に第３５図の場合、位置／大きさ／傾き検出手段４４は、形成エッジ情報画像１１５中の９０度傾いた四角形（ここでは菱形という）を６つの線分に分割し、それぞれ法線方向の角度を出力する。最後に第３６図の場合、 位置／大きさ／傾き検出手段４４は、形成エッジ情報画像１１５中の円形を８つの線分に分割し、それぞれ法線方向の角度を出力する。そこで位置／大きさ／傾き検出手段４４が数式５４を用いてこれらの法線方向の角度に９０度を加えれば、位置／大きさ／傾き検出手段４４は、形成エッジ情報画像１１５中の物体の輪郭を表す複数の線分及び曲線の接線方向の角度を求めることができる。
2008259244.tif 000041
【０１４７】
なお、位置／大きさ／傾き検出手段４４が形成エッジ情報画像１１５中の物体の輪郭を表す複数の線分及び曲線の法線方向の角度を出力するものと 幾何解析手段３７が見做すならば、位置／大きさ／傾き検出手段４４は数式５２を用いても良い。
そこで、形成エッジ情報画像１１５中の全ての物体の各々に対して、位置／大きさ／傾き検出手段４４が出力する傾き大きさ情報画像１８６の傾き大きさ情報１８５を、幾何解析手段３７が一ヶ所に集めることができれば、幾何解析手段３７はこの物体の形を識別することができる。このように複数の情報を一ヶ所に集める方法は、既に位置／大きさ／傾き検出手段４４によって実現されている。しかしながら、１個の物体に関連した傾き大きさ情報１８５は傾き大きさ情報画像１８６中に分散しているので、第２９図に示すように、幾何解析手段３７が 位置／大きさ／傾き検出手段４４と同様の方法で 傾き大きさ情報１８５を一ヶ所に集めることは困難である。そこで以下では、形成エッジ情報画像１１５を利用して 傾き大きさ情報１８５を一ヶ所に集める位置／大きさ／形検出手段４５について説明する。
【０１４８】
まず、数式３７〜４４がそれぞれ数式５５〜６２に拡張される。ここでｋは、傾き大きさ情報１８５が表す線分の傾き角度θが取り得る０度以上１８０度未満の範囲が複数の領域に区分された場合、それぞれの領域に割り当てられた番号を表す。例えば傾き角度θが０度、４５度、９０度及び１３５度の４つの領域に区分された場合、ｋ＝０のとき、ｋは０度の領域を表し、ｋ＝１のとき、ｋは４５度の領域を表し、ｋ＝２のとき、ｋは９０度の領域を表し、ｋ＝３のとき、ｋは１３５度の領域を表すものとする。
2008259244.tif 000042
【０１４９】
勿論傾き角度θを任意の数の領域に区分することも可能であるが、以下では説明を簡単にするために、この条件が用いられるものとする。なお、数式５５〜６２において、ｋが０であれば、数式５５〜６２はそれぞれ数式３７〜４４になる。したがって、位置／大きさ／傾き検出手段４４において、複数の配列演算ユニット１００の各々は、数式３７〜４４の代りに、それぞれ数式５５〜６２を利用することができる。
【０１５０】
次に、数式６３が数式５５〜６２に追加される。この数式６３は、傾き大きさ情報画像１８６のうち、傾き角度θの各々の領域に含まれる傾き大きさ情報１８５が表す線分の長さの合計を計算するために用いられる。
2008259244.tif 000043
【０１５１】
そこで数式４５、４６及び４７の代りに数式６４、６５及び６６を 用いることにより、３６個の移動元傾き重複情報１８７から構成される３６帯域濃淡画像ｘと、重複情報１３１から構成される単帯域濃淡画像ｙと、から、傾き角度θの各々の領域毎に、８個の移動元毎の移動元傾き重複情報１８７と、傾き大きさ情報１８５が表す線分の長さの合計を表す移動元傾き重複情報１８７と、が生成される。
2008259244.tif 000044
【０１５２】
さて、第３７図〜第４１図に示すように、データ処理装置１１０によって実現される位置／大きさ／形検出手段４５が形成エッジ情報１１４を画素とする形成エッジ情報画像１１５から重複情報１３１を画素とする重複情報画像１３２を生成し、 さらに傾き大きさ情報１８５を画素とする傾き大きさ情報画像１８６から移動元傾き重複情報１８７を画素とする移動元傾き重複情報画像１８８を生成するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された 配列演算ユニット１００を、ＡＯＵｉｊのアルゴリズムは第４２図のようになる。
【０１５３】
ステップ４５０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ４５０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に決めても良いし、全部を統一しても良い。本発明のデータ処理装置１１０が生成した重複情報画像１３２の正確さを上げるためには 近傍サイズｑを全て大きな値に設定することが望ましい。しかしながら物体の形成エッジ情報１１４の重心を計算するための計算時間の制約や、入力される形成エッジ情報画像１１５のサイズなどにより、位置／大きさ／傾き検出手段４４は必要に応じて適宜近傍サイズを変えることで対処することができる。
【０１５４】
ステップ４５０３で、順次入力される形成エッジ情報画像１１５が無くなったかどうか判断する。もし形成エッジ情報画像１１５が無ければ（ステップ４５０３：ＹＥＳ）、アルゴリズムを終了する。もし形成エッジ情報画像１１５があれば（ステップ４５０３：ＮＯ）、ステップ４５０４に移行する。ただし特定の画像サイズのみに対して 配列演算ユニット１００を実装する場合には、無限ループにしても良い。
ステップ４５０４で、形成エッジ情報画像１１５のｉ行ｊ列の画素と傾き大きさ情報画像１８６のｉ行ｊ列の画素を１帯域分入力する。このためＡＯＵｉｊは少なくとも１帯域分の画像データを記憶するメモリ１０２を必要とする。
【０１５５】
ステップ４５０５で、形成エッジ情報画像１１５のｉ行ｊ列の画素と傾き大きさ情報画像１８６のｉ行ｊ列の画素を分離する。もし形成エッジ情報画像１１５のｉ行ｊ列の画素と傾き大きさ情報画像１８６のｉ行ｊ列の画素が 初めから分離されて入力されていれば、特に何もしない。
ステップ４５０６で、形成エッジ情報画像１１５の形成エッジ情報１１４を重複情報画像１３２の重複情報１３１に変換する。重複情報１３１は１か０に相当する帯域画素値となる。
【０１５６】
ステップ４５０７で、傾き大きさ情報画像１８６の傾き大きさ情報１８５を移動元傾き重複情報画像１８８の移動元傾き重複情報１８７に変換する。傾き大きさ情報１８５が表す線分の傾き角度θの全ての領域の各々に対して、中央に位置する移動元傾き重複情報１８７は 非負の整数に相当する帯域画素値となる。また３２個の移動元傾き重複情報１８７は０に相当する帯域画素値でクリアされる。
【０１５７】
ステップ４５０８で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数△ｉｊ１（ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
【０１５８】
ステップ４５０９で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、移動元傾き重複情報画像１８８の各帯域画素値に対して関数Λ＊＊ｉｊｋ（ｘ，ｙ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は新たに移動元傾き重複情報画像１８８の帯域画素値として扱われる。
【０１５９】
ステップ４５１０で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Λｉｊ１（ｘ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は新たに重複情報画像１３２の帯域画素値として扱われる。
【０１６０】
ステップ４５１１で、ステップ４５０８からステップ４５１０までの繰り返し回数を表す移動回数が指定回数に達したかどうか判断する。もし移動回数が指定回数に達していなければ（ステップ４５１１：ＮＯ）、ステップ４５０８に戻る。もし移動回数が指定回数に達していれば（ステップ４５１１：ＹＥＳ）、ステップ４５１２に移行する。なおこの指定回数は形成エッジ情報画像１１５のサイズや形成エッジ情報１１４が表す物体のサイズ、さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、位置、大きさ及び形の検出に要する時間が長くなる。
【０１６１】
ステップ４５１２で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数△’ｉｊ１（ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
【０１６２】
ステップ４５１３で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、移動元傾き重複情報画像１８８の各帯域画素値に対して関数Λ’＊＊ｉｊｋ（ｘ，ｙ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は新たに移動元傾き重複情報画像１８８の帯域画素値として扱われる。
【０１６３】
ステップ４５１４で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Λ’ｉｊ１（ｘ）に従い移動量が指し示す先に移動させる。移動した帯域画素値は新たに重複情報画像１３２の帯域画素値として扱われる。
【０１６４】
ステップ４５１５で、ステップ４５０８からステップ４５１４までの繰り返し回数を表す縮退回数が指定回数に達したかどうか判断する。もし縮退回数が指定回数に達していなければ（ステップ４５１５：ＮＯ）、ステップ４５０８に戻る。もし縮退回数が指定回数に達していれば（ステップ４５１５：ＹＥＳ）、ステップ４５１６に移行する。なおこの指定回数は形成エッジ情報画像１１５のサイズや形成エッジ情報１１４が表す物体のサイズ、さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、位置、大きさ及び傾きの検出に要する時間が長くなる。
ステップ４５１６で、重複情報画像１３２の帯域画素値及び移動元傾き重複情報画像１８８の各帯域画素値を出力する。その後ステップ４５０３に戻る。
【０１６５】
なお重複情報画像１３２の各重複情報１３１はその位置を中心とした周辺にある形成エッジ情報１１４の総数を表すので、 結果的にその位置を中心とした物体の大きさを意味することになる。また重複情報１３１がある画素の近傍に移動元傾き重複情報１８７があるので、殆んど全ての移動元傾き重複情報１８７が重複情報１３１と一緒に一ヶ所に集まる。さらに、線分の傾き角度θの領域毎に中央に位置する移動元傾き重複情報１８７の合計が物体の大きさとほぼ一致することになる。
【０１６６】
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、位置／大きさ／形検出手段４５は形成エッジ情報画像１１５から重複情報画像１３２及び移動元傾き重複情報画像１８８を生成することができる。ただし、もしこの重複情報画像１３２が表す物体のおおよその重心位置が、実際の重心位置から大きくずれてしまうならば、ステップ４５１２において、関数△’ｉｊ１（ｘ）及び関数△’’ｉｊ１（ｘ）が交互に用いられるようにすれば良い。同様に、ステップ４５１３において、関数Λ’＊＊ｉｊｋ（ｘ，ｙ）及び関数Λ’’＊＊ｉｊｋ（ｘ，ｙ）が交互に用いられ、ステップ４５１４において、関数Λ’ｉｊ１（ｘ）及び関数Λ’’ｉｊ１（ｘ）が交互に用いられるようにすれば良い。
【０１６７】
ここで、傾き角度θが数式５４に従って、０度（０ラジアン）、４５度（π／４ラジアン）、９０度（π／２ラジアン）及び１３５度（３π／４ラジアン）の４つの領域に区分された場合を考える。つまり、この傾き角度θは、形成エッジ情報画像１１５が表す線分の接線方向の角度を表す。以下では、この場合を例に、移動元傾き重複情報画像１８８から形大きさ情報画像１９０を生成する方法について説明する。
【０１６８】
まず、３６帯域濃淡画像ｘが移動元傾き重複情報画像１８８であるとする。したがって、画像ｘは９帯域毎に４つの画像に分割され、それぞれ０度、４５度、９０度及び１３５度に区分される傾き角度θの線分に対応する移動元重複情報画像１８４となる。このとき、数式５２が、数式６７に変形されることにより、これらの線分の移動方向θ＊ｉ，ｊ，ｋ＋１（ｘ）が求められる。なお、ｋ＝０のとき、ｋは０度の傾き領域を表し、ｋ＝１のとき、ｋは４５度の領域を表し、ｋ＝２のとき、ｋは９０度の領域を表し、ｋ＝３のとき、ｋは１３５度の領域を表すものとする。
2008259244.tif 000045
【０１６９】
勿論、移動方向θ＊ｉ，ｊ，ｋ＋１（ｘ）が一定の刻み幅で表されても良いのなら、メモリ１０２は対数表を持つ代りに必要な数の移動方向を用意したルックアップテーブルを記憶するだけで良い。
そこで、３６帯域濃淡画像ｘの位置ｐ（ｉ，ｊ，ｋ）における物体の形χｉｊ１（ｘ）は、水平線分（０度）、右上がり線分（４５度）、垂直線分（９０度）、右下がり線分（１３５度）、十字形（０度）、Ｘ形（４５度）、星形（十字形とＸ形の組み合せ）、上向き三角形、下向き三角形、左向き三角形、右向き三角形、 四角形、菱形（９０度）、円形及びその他のうちのいずれかであり、それぞれに１〜１５の番号が割り当てられるものとする。このとき物体の形χｉｊ１（ｘ）は数式６８及び６９に従って計算される。なお帯域数は便宜上１である。
2008259244.tif 000046
2008259244.tif 000047
【０１７０】
勿論、数式６８及び６９は精度に応じて条件を変更することができる。また、数式６８及び６９がさらに細かく条件分けされれば、数式６８及び６９は歪んだ物体及びノイズが多い画像中の物体の形も識別することができる。さらに数式６８及び６９の代りに、パーセプトロンのようなニューラルネットワークが用いられても良い。一方で、数式６７が 数式５３を用いて、０度（０ラジアン）、４５度（π／４ラジアン）、９０度（π／２ラジアン）及び１３５度（３π／４ラジアン）のうちのいずれか１つしか出力しなければ、数式６８及び６９の条件式はもっと簡単になる。
【０１７１】
そこで、位置／大きさ／形検出手段４５における複数の配列演算ユニット１００の各々が、数式６８及び６９から求められた物体の形χｉｊ1（ｘ）と重複情報画像１３２のｉ行ｊ列の重複情報１３１と、を組み合せて形大きさ情報１８９を生成することにより、位置／大きさ／形検出手段４５は各々の帯域画素値が、対応する図形の大きさを表す１５帯域の形大きさ情報画像１９０を出力することができる（第４５図参照）。勿論、この位置／大きさ／形検出手段４５は、１つの帯域画素値が図形の番号を表し、もう１つの帯域画素値がこの図形の大きさを表す２帯域の形大きさ情報画像１９０を出力しても良い。
【０１７２】
さて、位置／大きさ／傾き検出手段４４及び位置／大きさ／形検出手段４５を組み合せることにより、視覚装置２は形成エッジ情報画像１１５から物体の形を検出することができる。そこで以下では、この位置／大きさ／傾き検出手段４４及び位置／大きさ／形検出手段４５の組み合せである幾何解析手段３７について説明する。
まず、第４３図に示すように、幾何解析手段３７は、位置／大きさ／傾き検出手段４４及び位置／大きさ／形検出手段４５から構成される。さらに位置／大きさ／傾き検出手段４４が物体のエッジがあるかないかを表す形成エッジ情報１１４から構成される形成エッジ情報画像１１５を入力して、傾き大きさ情報１８５から構成される傾き大きさ情報画像１８６を出力し、位置／大きさ／形検出手段４５が形成エッジ情報画像１１５及び傾き大きさ情報画像１８６を入力し、移動元傾き重複情報１８７から構成される移動元傾き重複情報画像１８８を出力する。例えば第４３図では、幾何解析手段３７が、三角形の輪郭を表す形成エッジ情報画像１１５から水平に対して０度、４５度及び１３５度傾いた線分を検出している。なお、第４４図に示すように、形成エッジ情報画像１１５が三角形の輪郭を破線で表わすとしても、 幾何解析手段３７は、この三角形の形を検出することができる。このことは、位置／大きさ／傾き検出手段４４が図形を構成する少なくとも１つの線分を細切れにするという特徴から容易に推察され得る。
【０１７３】
次に、第４５図に示すように、幾何解析手段３７は、形成エッジ情報画像１１５中の物体の形の識別結果を表す形大きさ情報１８９から構成される形大きさ情報画像１９０を直接出力することができる。この場合、位置／大きさ／形検出手段４５は 移動元傾き重複情報画像１８８から物体の形を識別する手段を必要とするが、幾何解析手段３７が出力する識別結果のデータ量は移動元傾き重複情報画像１８８と比べて大幅に少なくなる。なお、第４５図では、形大きさ情報画像１９０が全ての形が異なる帯域に割り振られるように示されているが、この形大きさ情報画像１９０が形を表す帯域と大きさを表す帯域から構成される２帯域画像であっても良い。
【０１７４】
最後に、第４６図に示すように、幾何解析手段３７は、顔パターンのように複数の図形から構成されるパターンに対して、各々の図形の位置、大きさ及び形を検出することができる。また、第４７図に示すように、幾何解析手段３７は、テクスチャを複数の微小領域に分割して、各々の微小領域の図形の形及び大きさを検出することもできる。
【０１７５】
なお、ここでは、幾何解析手段３７が形成エッジ情報画像１１５を用いた場合について説明したが、線幅がおおよそ２又は３画素であるような単帯域画像であれば、この画像がどのように生成されても良い。
さて、第４８図に示すように、データ処理装置１１０によって実現される領域正規化手段２７が 物体領域１４１を含む物体領域画像１４２、及び物体領域１４１と重なる分離物体領域１４３を含むデジタル画像１１１から正規化領域１４４を含む正規化画像１４５を生成するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは第４９図のようになる。
【０１７６】
ステップ２７０１でＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ２７０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に決めても良いし、全部を統一しても良い。本発明の領域正規化手段２７が生成した正規化画像１４５の正確さを上げるためには近傍サイズｑを全て大きな値に設定することが望ましい。しかしながら分離物体領域１４３を正規化するための計算時間の制約や、入力されるデジタル画像１１１のサイズなどにより、領域正規化手段２７は必要に応じて適宜近傍サイズを変えることで対処することができる。
【０１７７】
ステップ２７０３で、順次入力される物体領域画像１４２又はデジタル画像１１１が無くなったかどうか判断する。もし物体領域画像１４２又はデジタル画像１１１が無ければ（ステップ２７０３：ＹＥＳ）、アルゴリズムを終了する。もし物体領域画像１４２及びデジタル画像１１１があれば （ステップ２７０３：ＮＯ）、ステップ２７０４に移行する。 ただし特定の帯域数及び画像サイズのみに対して配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【０１７８】
ステップ２７０４で、物体領域画像１４２のｉ行ｊ列の画素を１帯域分と、デジタル画像１１１のｉ行ｊ列の画素を帯域数分を入力する。これは、ＡＯＵｉｊが物体領域画像１４２のｉ行ｊ列の画素と デジタル画像１１１のｉ行ｊ列の画素を一括して処理するためである。このためＡＯＵｉｊは少なくとも総帯域数分の画像データを記憶するメモリ１０２を必要とする。
【０１７９】
ステップ２７０５で、物体領域画像１４２のｉ行ｊ列の画素とデジタル画像１１１のｉ行ｊ列の画素を分離する。これは、ＡＯＵｉｊが 物体領域画像１４２のｉ行ｊ列の画素とデジタル画像１１１のｉ行ｊ列の画素を各々独立した画像の画素として処理するためである。 もし物体領域画像１４２のｉ行ｊ列の画素と デジタル画像１１１のｉ行ｊ列の画素が初めから分離されて入力されていれば、特に何もしない。物体領域画像１４２及びデジタル画像１１１は各々更新物体領域画像及び更新デジタル画像にコピーされる。
【０１８０】
ステップ２７０６で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、更新物体領域画像の各帯域画素値に対して関数Ｒｉｊ１（ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
【０１８１】
ステップ２７０７で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、更新物体領域画像の各帯域画素値に対して関数Ｈｉｊｋ（ｘ，ｙ）に従い移動可能な移動先帯域画素値を見つけることができる。移動可能な移動先であるかどうかを表す値は移動可能画像の帯域画素値として扱われる。
【０１８２】
ステップ２７０８で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、更新物体領域画像の各帯域画素値に対して関数Ｕｉｊｋ（ｘ，ｙ）に従い移動可能先に移動させる。移動した帯域画素値は新たに更新物体領域画像の帯域画素値として扱われる。
【０１８３】
ステップ２７０９で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、更新デジタル画像の各帯域画素値に対して関数Ｕｉｊｋ（ｘ，ｙ）に従い移動可能先に移動させる。移動した帯域画素値は新たに更新デジタル画像の帯域画素値として扱われる。
【０１８４】
ステップ２７１０で、ステップ２７０６からステップ２７０９までの繰り返し回数を表す移動回数が指定回数に達したかどうか判断する。もし移動回数が指定回数に達していなければ（ステップ２７１０：ＮＯ）、ステップ２７０６に戻る。もし移動回数が指定回数に達していれば（ステップ２７１０：ＹＥＳ）、ステップ２７１１に移行する。なおこの指定回数はデジタル画像１１１のサイズやデジタル画像１１１の分離物体領域１４３のサイズ、さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、正規化に要する時間が長くなる。
【０１８５】
ステップ２７１１で、ＡＯＵｉｊが 近傍の配列演算ユニット１００と通信することにより、移動を完了した更新物体領域画像の各帯域画素値に対して関数Ｖｉｊｋ（ｘ，ｙ）に従い近傍の平均値で補間する。なおｘとｙは共に更新物体領域画像となる。平均値で埋められた帯域画素値は正規化された更新物体領域画像の帯域画素値として扱われる。
【０１８６】
ステップ２７１２で、ＡＯＵｉｊが近傍の配列演算ユニット１００と通信することにより、移動を完了した更新デジタル画像の各帯域画素値に対して関数Ｖｉｊｋ（ｘ，ｙ）に従い近傍の平均値で埋める。なおｘは更新デジタル画像となり、ｙは更新物体領域画像となる。平均値で埋められた帯域画素値は 正規化された更新デジタル画像の帯域画素値として扱われる。
【０１８７】
ステップ２７１３で、ステップ２７１１からステップ２７１２までの繰り返し回数を表す補間回数が指定回数に達したかどうか判断する。もし補間回数が指定回数に達していなければ（ステップ２７１３：ＮＯ）、ステップ２７１１に戻る。もし補間回数が指定回数に達していれば（ステップ２７１３：ＹＥＳ）、ステップ２７１４に移行する。一般的に補間回数は近傍サイズｑの半分程度の回数で十分である。
【０１８８】
ステップ２７１４で、ステップ２７０６からステップ２７１３までの繰り返し回数を表す継続回数が 指定回数に達したかどうか判断する。もし継続回数が指定回数に達していなければ（ステップ２７１４：ＮＯ）、ステップ２７０６に戻る。もし継続回数が指定回数に達していれば（ステップ２７１４：ＹＥＳ）、ステップ２７１５に移行する。なおこの指定回数はデジタル画像１１１のサイズやデジタル画像１１１の分離物体領域１４３のサイズ、さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、正規化に要する時間が長くなる。
【０１８９】
ステップ２７１５で、更新デジタル画像の帯域画素値を正規化画像１４５の帯域画素値として出力する。その後ステップ２７０３に戻る。
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、領域正規化手段２７が物体領域画像１４２及びデジタル画像１１１から正規化画像１４５を生成することができる。
【０１９０】
ここで、形大きさ情報画像１９０のように、１画素が独立した情報を有する場合、領域正規化手段２７は画素間の補間をする必要はない。この場合、第５０図に示すように、領域正規化手段２７は、ステップ２７１０、２７１１、２７１２及び２７１３を省略することができる。つまり、この領域正規化手段２７は、関数Ｖｉｊｋ（ｘ，ｙ）を実行しなくても良い。したがって、配列演算ユニット１００がハードウェアによって実現される場合、除算回路は省略され得る。なお、従来通り分離物体領域１４３を正規化した 正規化画像１４５を用いる方法も、目玉模様や縞模様をパターンマッチングする際には有用である。
【０１９１】
第５１図に示すように、データ処理装置１１０によって実現されるマスク手段４０が デジタル画像１１１及び物体領域画像１４２からマスク画像１４８を生成するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは第５２図のようになる。
【０１９２】
ステップ４００１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ４００２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。
ステップ４００３で、順次入力されるデジタル画像１１１又は物体領域画像１４２が無くなったかどうか判断する。もしデジタル画像１１１又は物体領域画像１４２が無ければ （ステップ４００３：ＹＥＳ）、アルゴリズムを終了する。もしデジタル画像１１１及び物体領域画像１４２があれば（ステップ４００３：ＮＯ）、ステップ４００４に移行する。ただし特定の帯域数と画像サイズに対して配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【０１９３】
ステップ４００４で、デジタル画像１１１及び物体領域画像１４２のｉ行ｊ列の画素を帯域数分入力する。これは、ＡＯＵｉｊがデジタル画像１１１及び物体領域画像１４２のｉ行ｊ列の画素を一括して処理するためである。このためＡＯＵｉｊは少なくとも帯域数分の画像データを記憶するメモリ１０２を必要とする。
【０１９４】
ステップ４００５で、デジタル画像１１１の各帯域画素に対して関数Ｏｉｊｋ（ｘ，ｙ）に従いマスク処理を行う。マスクされた帯域画素値はマスク画像１４８の帯域画素値として扱われる。
ステップ４００６で、マスク画像１４８の帯域画素値を出力する。その後ステップ４００３に戻る。
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、マスク手段４０はデジタル画像１１１中の分離物体領域１４３以外をマスクすることができる。
【０１９５】
データ処理装置１１０によって実現される画像保持手段３９が正規化画像１４５を記憶するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは 第５３図のようになる。
【０１９６】
ステップ３８０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ３８０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。
ステップ３８０３で、順次入力される正規化画像１４５が無くなったかどうか判断する。もし正規化画像１４５が無ければ（ステップ３８０３：ＹＥＳ）、アルゴリズムを終了する。もし正規化画像１４５があれば（ステップ３８０３：ＮＯ）、ステップ３８０４に移行する。ただし特定の画像サイズのみに対して配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【０１９７】
ステップ３８０４で、正規化画像１４５のｉ行ｊ列の画素を帯域数分入力する。このためＡＯＵｉｊは少なくとも帯域数分の画像データを記憶するメモリ１０２を必要とする。
ステップ３８０５で、出力先の装置が必要とすれば正規化画像１４５のフォーマットを変換する。特に正規化画像１４５の帯域数を１にしたり、デジタル画像１１１の帯域数が４以上の場合に正規化画像１４５の帯域数を３にして、アナログ信号を生成しやすくする場合に便利である。さもなくば何もしない。
ステップ３８０６で、処理速度の異なる出力先の装置に画像データを確実に送信できるように、正規化画像１４５のｉ行ｊ列の画素を記憶する。
ステップ３８０７で、正規化画像１４５の帯域画素値を出力する。その後ステップ３８０３に戻る。
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、画像保持手段３９が 正規化画像１４５を出力することができる。なおデジタル画像１１１及びマスク画像１４８を保持する画像保持手段３９も同様に動作する。
【０１９８】
ここまではデータ処理装置１１０が１個又は２個の画像を入力して近傍処理のみからなる画像処理を行うような画像記憶手段１２、色情報生成手段４１、エッジ情報生成手段１４、エッジ情報形成手段１５、位置／大きさ検出手段１７、位置／大きさ／傾き検出手段４４、領域正規化手段２７、マスク手段４０、及び画像保持手段３９について説明してきた。しかしながらパターンマッチング手段３８は非常に多数の画像を用いなければならない。そこで以下ではパターンマッチング手段３８で用いる近傍処理を示しながら、データ処理装置１１０によってパターンマッチング手段３８を実現する方法について説明する。
【０１９９】
まず１つの画像をｘとし、ｎ個のテンプレート画像１４６をｙ１、ｙ２…ｙｈ…ｙｎとする。自然数ｇを用いると、マッチング結果画像１４７のｉ行ｊ列のマッチング結果δｉｊ１は、数式７０に従って画像ｘのｉ行ｊ列の画素を、テンプレート画像１４６のｉ行ｊ列列の画素及びそのｑ近傍を比較し、画像ｘのｉ行ｊ列の画素に最も似ている画素を有するテンプレート画像１４６の番号を指し示す。なおマッチング結果画像１４７は単帯域画像となるので、便宜上帯域数１の画像として取り扱うことにする。したがってマッチング結果δｉｊ１の第３添字は１となっている。またｑ＝０の場合は、ｑ近傍には１つの画素も含まれないとする。
2008259244.tif 000048
【０２００】
第５４図に示すように、データ処理装置１１０によって実現されるパターンマッチングが、テンプレート画像１４６のうち入力画像に最も似ている画像の番号を示すマッチング結果から構成されるマッチング結果画像１４７を生成するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは第５５図のようになる。
【０２０１】
ステップ２９０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊの近傍を決定するために必要である。
ステップ２９０２で、ＡＯＵｉｊの近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に決めても良いし、全部を統一しても良い。本発明のデータ処理装置１１０が生成したマッチング結果画像１４７の正確さを上げるためには近傍サイズｑを全て大きな値に設定することが望ましい。しかしながらマッチング結果を更新するための計算時間の制約や、入力画像のサイズなどにより、パターンマッチングは必要に応じて適宜近傍サイズを変えることで対処することができる。なお、このステップにおいて、事前に用意された複数のテンプレート画像１４６のｉ行ｊ列の画素及びそのｑ近傍の全画素に対する初期設定も行われるものとする。
【０２０２】
ステップ２９０３で、順次入力画像が無くなったかどうか判断する。もし入力画像が無ければ（ステップ２９０３：ＹＥＳ）、アルゴリズムを終了する。もし入力画像があれば（ステップ２９０３：ＮＯ）、ステップ２９０４に移行する。ただし特定の画像サイズのみに対して配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【０２０３】
ステップ２９０４で、入力画像のｉ行ｊ列の画素を帯域数分入力する。このためＡＯＵｉｊは少なくとも帯域数分の画像データを記憶するメモリ１０２を必要とする。
ステップ２９０５で、入力画像とテンプレート画像１４６からマッチング結果画像１４７のマッチング結果δｉｊ１を計算する。マッチング結果は入力画像に最も近いテンプレート画像１４６の番号を表す帯域画素値となる。
ステップ２９０６で、マッチング結果画像１４７の帯域画素値を出力する。その後ステップ２９０３に戻る。
【０２０４】
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、パターンマッチング手段３８は入力画像からマッチング結果画像１４７を生成することができる。なお、入力画像がテンプレート画像１４６に追加される場合、 ステップ２９０６の後に、必要な局所処理が実行されるものとする。
【０２０５】
ここまでは配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、近傍処理のみからなる画像処理を行う方法について説明してきた。以下では配列演算ユニット１００から構成される データ処理装置１１０を用いて、近傍処理のみで実現される物体／背景分離手段１６について説明する。
【０２０６】
まず非線形振動子は一般に引き込み現象を起こす。この引き込み現象とは、リミットサイクルやアトラクタなどのような周期的挙動において、異なる周期を持つ非線形振動子が相互作用して簡単な定数比の周期で振動するよう制約される現象である。このとき１つの非線形振動子の振動を変化させると他の非線形振動子の振動も合わせて変化するので、 これらの非線形振動子は同期している。しかも非線形振動子の相互作用を調整することにより、お互いの振動の位相差を極力小さくさせたり大きくさせたりできる。そこでこの相互作用を操作すると、非線形振動子の一群を、異なる位相を持つ複数のグループに分割することができる。物体／背景分離手段１６はこのような非線形振動子の引き込み現象を利用して、エッジ情報画像中のエッジ情報を境界とするように物体と背景を分離して、物体領域１４１を表す物体領域画像１４２を生成する。なお、ここでは非線形振動子としてファン・デル・ポールを用いた場合を例に説明する。
【０２０７】
まず、格子状に配列した非線形振動子から構成される 非線形振動子ネットワークにおいて、ｉ行ｊ列にある非線形振動子をωｉｊとすると、非線形振動子ωｉｊのｑ近傍にある非線形振動子の集合Ωｉｊ（ｑ）は数式７１によって表される。ただしｑは４、８、２４、４８、８０、１２０、（２ｒ＋１）２−１と続く数列であり、ｒは自然数である。なおネットワークサイズをはみ出した非線形振動子が近傍集合Ωｉｊ（ｑ）に含まれる場合には、非線形振動子ωｉｊを代用するものとする。これにより辺縁処理は自動的に行われる。したがって近傍集合Ωｉｊ（ｑ）の要素の数は常にｑとなる。なおこのことから判る通り、非線形振動子ネットワークは単帯域画像と同じ扱いになる。表現を簡単にするため、非線形振動子ネットワークでは添字は幅方向と高さ方向の２つのみを使う。
2008259244.tif 000049
【０２０８】
次に、非線形振動子はｑａ近傍に含まれる近傍集合Ωｉｊ（ｑａ）にある非線形振動子との間で数式７２に従い計算される結合値τｉｊｋｌによって結合される。なお対数表を用いない場合には数式７３による近似も可能である。またμ、νは適当な正の定数である。
2008259244.tif 000050
勿論、νは定数であるので、νの逆数を用いれば、数式７２における除算は乗算に変更される。しかも結合値τｉｊｋｌが非負の実数しか取らないならば、関数ｓｉｎｃ（ｘ）は常に１であっても良い。
【０２０９】
非線形振動子ネットワークの全ての非線形振動子が完全に同位相で同期した場合、プロセッサ１０１で計算する限り、 非線形振動子ωｉｊは永久に同位相のまま動作し続けてしまう。そこで外乱ρｉｊを与えればこのような状態を回避することができる。外乱としては疑似乱数を用いることもできるが、外部から濃淡画像を入力することにより、数式７４のような簡単な式で求めても十分である。なおζ’ｉｊはこの濃淡画像のｉ行ｊ列の帯域画素値を表す。またκは適当な正の定数である。
2008259244.tif 000051
【０２１０】
非線形振動子ωｉｊが近傍集合Ωｉｊ（ｑａ）の非線形振動子ωｋｌと同期するために、数式７５に従い近傍入力合計σｉｊを計算する。なおζｉｊはエッジ情報画像のｉ行ｊ列のエッジ情報の有無を表す。エッジ情報があれば１とし、なければ０とする。
2008259244.tif 000052
【０２１１】
ファン・デル・ポール非線形振動子ωｉｊを構成する２つのパラメータφｉｊとψｉｊは数式７６及び７７に従って計算される。なおγ、εは適当な正の定数である。
2008259244.tif 000053
【０２１２】
非線形振動子を物体領域１４１と背景領域に分離するためには全ての非線形振動子の位相のずれを計算する必要があるが、単純に物体領域１４１と背景領域の２つに分離するだけであるので、パラメータψｉｊがしきい値θ以上か未満かで位相ずれを計算する。物体領域１４１と背景領域を分離した結果を出力する出力λｉｊは数式７８によって求められる。なおθは適当な正の定数である。
2008259244.tif 000054
【０２１３】
エッジ情報が物体と背景を分離するのに不十分であった場合にはエッジ情報を補間しなければならない。そのために非線形振動子ωｉｊのｑｂ近傍にある非線形振動子の集合Ωｉｊ（ｑｂ）中でいくつの非線形振動子が位相ずれを起こしているか求める必要がある。そこで数式７９によって輪郭パラメータηｉｊを計算する。
2008259244.tif 000055
【０２１４】
この結果を基にエッジ情報の補間割合を示す境界パラメータξｉｊを数式８０によって計算する。なおα、β、ηｍｉｎ、ηｍａｘは適当な正の定数である。
2008259244.tif 000056
【０２１５】
ここでは非線形振動子としてファン・デル・ポールの場合を説明したが、この他にブラッセレータ及びｉｎｔｅｇｒａｔｅ−ａｎｄ−ｆｉｒｅ型振動子のようなリミットサイクルで安定する非線形振動子や、ローレンツアトラクタ及びレスラー方程式のアトラクタを 発生するカオス振動子など、引き込み現象を起こす任意の非線形振動子でも動作可能である。その場合はパラメータφｉｊとψｉｊを各々の非線形振動子のパラメータで置き換えるなり追加すれば良い。その際に少なくとも１つのパラメータに近傍入力合計σｉｊと外乱ρｉｊが加えられるだけである。
【０２１６】
数式７１から数式８０までを用いることにより、物体／背景分離手段１６を実装することができるデータ処理装置１１０の全ての配列演算ユニット１００のアルゴリズムを記述することができる。以下では、データ処理装置１１０中の任意の配列演算ユニット１００のアルゴリズムを用いて、物体／背景分離手段１６について説明する。
【０２１７】
第５６図に示すように、データ処理装置１１０によって実現される物体／背景分離手段１６が、三角形のエッジ情報１５１及びこの三角形のエッジ情報１５１に対する重複情報１３１を用いて三角形の内側領域１５２と三角形の外側領域１５３に分離するために、格子状に配列された配列演算ユニット１００は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット１００をＡＯＵｉｊとすると、ＡＯＵｉｊのアルゴリズムは第５７図のようになる。
【０２１８】
ステップ１６０１で、ＡＯＵｉｊを格子上のｉ行ｊ列に配置する。
ステップ１６０２で、数式７２及び７３に基づいて近傍同士ωｉｊとωｉ１を結合値τｉｊｋｌで接続する。
ステップ１６０３で、非線形振動子のパラメータφｉｊとψｉｊに適当な初期値を設定する。
ステップ１６０４で、順次入力される形成エッジ情報画像１１５が無くなったかどうか判断する。もし形成エッジ情報画像１１５が無ければ（ステップ１６０４：ＹＥＳ）、アルゴリズムを終了する。もし形成エッジ情報画像１１５があれば（ステップ１６０４：ＮＯ）、ステップ１６０５に移行する。ただし特定の帯域数及び画像サイズのみに対して配列演算ユニット１００を実装する場合には、無限ループにしても良い。
【０２１９】
ステップ１６０５で、形成エッジ情報画像１１５及び重複情報画像１３２のｉ行ｊ列の画素を帯域数分入力する。これは、ＡＯＵｉｊが形成エッジ情報画像１１５及び重複情報画像１３２のｉ行ｊ列の画素を一括して処理するためである。このためＡＯＵｉｊは少なくとも帯域数分の画像データを記憶するメモリ１０２を必要とする。
【０２２０】
ステップ１６０６で、形成エッジ情報画像１１５のｉ行ｊ列の画素と重複情報画像１３２のｉ行ｊ列の画素を分離し、それぞれζｉｊ及びζ’ｉｊとする。これは、ＡＯＵｉｊが形成エッジ情報画像１１５のｉ行ｊ列の画素と重複情報画像１３２のｉ行ｊ列の画素を 各々独立した画像の画素として処理するためである。もし形成エッジ情報画像１１５のｉ行ｊ列の画素と重複情報画像１３２のｉ行ｊ列の画素が初めから分離されて入力されていれば、それぞれζｉｊ及びζ’ｉｊとするだけである。
【０２２１】
ステップ１６０７で、重複情報１３１ζ’ｉｊから数式７４に従って外乱ρｉｊを計算する。
ステップ１６０８で、近傍集合Ωｉｊ（ｑａ）中の非線形振動子ωｋｌがある配列演算ユニット１００のＡＯＵｋｌからζｋｌ、ξｋｌ、ψｋｌを入力して、合計値σｉｊを数式７５に従って計算する。
【０２２２】
ステップ１６０９で、非線形振動子のパラメータφｉｊ、ψｉｊを数式７６及び７７に従って計算する。即ち、これらの数式に示す微分方程式をルンゲ・クッタ法で解く。
ステップ１６１０で、非線形振動子の出力λｉｊを数式７８に従って計算する。ここで、ψｉｊ≧θであればλｉｊ＝１とし、それ以外であればλｉｊ＝０とする。
【０２２３】
ステップ１６１１で、近傍集合Ωｉｊ（ｑｂ）中の非線形振動子ωｋｌがある配列演算ユニット１００のＡＯＵｋｌからλｋｌを入力して、輪郭パラメータηｉｊを数式７９に従って計算する。
ステップ１６１２で、境界パラメータξｉｊを数式８０に従って計算する。即ち、この数式に示す微分方程式を差分法若しくはルンゲ・クッタ法で解く。
【０２２４】
ステップ１６１３で、ステップ１６０８からステップ１６１２までの繰り返し回数を表す分離回数が指定回数に達したかどうか判断する。もし分離回数が指定回数に達していなければ（ステップ１６１３：ＮＯ）、ステップ１６０８に戻る。もし分離回数が指定回数に達していれば（ステップ１６１３：ＹＥＳ）、ステップ１６１４に移行する。
ステップ１６１４で、物体領域画像１４２の帯域画素値となる 非線形振動子の出力λｉｊを出力する。その後ステップ１６０４に戻る。
【０２２５】
なおステップ１６１３での分離回数を求めるには、次のような方法を用いることができる。物体／背景分離手段１６では、画像サイズが一定であれば非線形振動子の初期状態に関わらず おおよそ全ての形成エッジ情報１１４において ある一定時間で分離が終了するので、事前にこの時間を計っておいてステップ１６０８からステップ１６１２までの 繰り返し回数を求めておけば良い。これは非線形振動子の初期状態が一定の範囲内にあれば、引き込み現象により非線形振動子が同期するまでの時間は あまり大差がないからである。
【０２２６】
このように非線形振動子を計算するだけで、三角形のエッジ情報１５１を用いて三角形の内側領域１５２と三角形の外側領域１５３を 分離することができるのは、非線形振動子の性質である引き込み現象を利用しているからである。つまり、２つの非線形振動子を正の結合値で結合した場合は同位相になろうとし、負の結合値で結合した場合は位相差が極力大きくなろうとする。この性質を用いると、格子状に並んだ非線形振動子を近傍同士正の結合値で結合することで、 直接結合していない非線形振動子同士が同位相になる。さらに形成エッジ情報１１４を挟む画素の場所にある 非線形振動子同士を負の結合値で結合すると、エッジ情報の両側がお互いに位相を極力ずらし合う。このようにすることで、全ての非線形振動子を結合することもなく三角形のエッジ情報１５１の内側と外側とで各々異なる位相集合ができる。したがって物体／背景分離手段１６は 第５６図のように三角形の内側領域１５２と三角形の外側領域１５３に分離する。このとき三角形の内側領域１５２と三角形の外側領域１５３の位相差は９０度を越えて可能な限り１８０度に近づき、三角形と背景領域が分離できる。
【０２２７】
ここで重要なことは、本実施形態では、形成エッジ情報１１４が得られる度に次に示すような方法で 結合値を擬似的に変更していることである。まず数式７２及び７３で定めたように、非線形振動子ωｋｌを非線形振動子ωｉｊに結合するための結合値をτｉｊｋｌとする（ステップ１６０２参照）。形成エッジ情報１１４のうちζｉｊとζｋｌは共に、エッジがある場合には１、ない場合には０である。形成エッジ情報１１４のうちζｉｊとζｋｌを入力したら（ステップ１６０５参照）、配列演算ユニット１００のＡＯＵｋｌからＡＯＵｉｊに形成エッジ情報１１４ζｋｌが転送され、ＡＯＵｉｊでは結合値τｉｊｋｌ（１−ζｋｌ）を計算して結合値τｉｊｋｌの代用とする（ステップ１６０８参照）。この代用された結合値τｉｊｋｌ（１−ζｋｌ）に対して境界パラメータξｉｊが０から１までの倍率として作用する（ステップ１６０８参照）。
【０２２８】
第５８図に示す通り、形成エッジ情報１１４が破線状態の三角形のエッジ情報１５４となった場合には破線の補間をする必要がある。まず初めに破線状態の三角形のエッジ情報１５４を用いてシステムを動作させる（ステップ１６０５参照）と、 破線状態の三角形のエッジ情報１５４の内側と外側で位相差がおよそ９０度を越えるようになるが、三角形の内側と外側の境界部分は不明確である。そこで各ＡＯＵｉｊが非線形振動子の出力λｉｊを計算する（ステップ１６１０参照）。この出力λｉｊが１の場合、近傍の非線形振動子のうちλｉｊｋｌが１である非線形振動子をωｋｌとすると、パラメータψｉｊとψｋｌが共にθ以上となる。つまりλｉｊとλｋｌはおよそ同位相であり、θが正値であれば最悪でも位相差が９０度を越えることはない。この位相差の最大値はθの値によって決まり、λｉｊとλｋｌが共に１となる範囲でθを大きくしていくと、この位相差は０度に近づいていく。したがってλｉｊとλｋｌと用いると、近傍の非線形振動子うち およそ同位相であるものの数を表す輪郭パラメータηｉｊは数式７９に従って計算される （ステップ１６１１参照）。続いてこの輪郭パラメータηｉｊが近傍全体のうち、およそ半分であれば結合値の倍率である境界パラメータξｉｊを数式８０に従って減少させ、それ以外であれば数式８０に従って増加させる（ステップ１６１２参照）。例えば、８近傍１８２の場合は３から５の間であれば数式８０に従って境界パラメータを減少させるとよい。この過程を繰り返し動作させ続けると、第５８図に示す破線状態の三角形のエッジ情報１５４が与えられた場合、破線三角形の内側領域１５５と破線三角形の外側領域１５６に分離される。
【０２２９】
第５９図に示す通り、２つの三角形が重なりあっている場合は、前方の三角形のエッジ情報１５７と後方の三角形のエッジ情報１５８が得られる。このとき前方三角形の内側領域１５９と後方三角形の内側領域１６０と二重三角形の背景領域１６１の３つの領域の非線形振動子の位相がお互いにずれることにより、３つの領域に分離される。また第６０図に示す通り、２つの重なった円形のエッジ情報１６２が破線であっても、前方円形の内側領域１６３と後方円形の内側領域１６４と二重円の背景領域１６５の３つに分離される。
【０２３０】
これにより、配列演算ユニット１００から構成されるデータ処理装置１１０を用いて、物体／背景分離手段１６は形成エッジ情報画像１１５の形成エッジ情報１１４を境界として物体領域１４１と背景領域を分離することができる。なお、分離された複数の領域は出力λｉｊによって時間の経過と共に順次取り出されるが、配列演算ユニット１００は非線形振動子の位相を計算することにより、分離された複数の領域を位相グループとして一度に出力することができる。
【０２３１】
さて、ここまでは主に視覚装置２のアルゴリズムについて説明してきた。そこで以下では、配列演算ユニット１００のアーキテクチャ、特にLSIの回路設計について説明する。
まず配列演算ユニット（ARRAY OPERATION UNIT）１００は、入力画像の１つの画素とその近傍画素を用いることにより、出力画像の１つの画素を生成する。そこで第１１図に示すように、配列演算ユニット１００を入力画像のサイズに合わせて格子状に配列することにより、データ処理装置１１０は入力画像から出力画像を生成することができる。なお第１１図において、配列演算ユニット１００をＡＯＵと略記する。次に配列演算ユニット１００は専用ハードウェアによって実装されても良いし、汎用コンピュータ上でソフトウェアによって実装することもできる。つまりデータ処理装置１１０が入力画像から出力画像を生成することができれば、配列演算ユニット１００の実装手段は制限されない。以下では、配列演算ユニット１００が専用ハードウェアによって実装された場合について説明した後、仮想配列演算ユニット（VIRTUAL ARRAY OPERATION UNIT）１０５が専用ハードウェアによって実装された場合について説明する。
【０２３２】
配列演算ユニット１００は第６１図に示す通り、 画像処理における数式を計算するためのプロセッサ（PROCESSOR）１０１と、数式で使われる全てのパラメータ、定数、関数及びオペレータを記憶するためのメモリ（MEMORY）１０２と、近傍の配列演算ユニット１００と通信するためのコントローラ（CONTROLLER）１０３から構成され、プロセッサ１０１はアドレスバス５１で指定したアドレス（ADDRESS）によりメモリ１０２及びコントローラ１０３の任意のメモリ素子及びレジスタを選択することができる。またプロセッサ１０１はデータバス５２を介してメモリ１０２及びコントローラ１０３と双方向に通信できるように接続され、アドレスバス５１で指定された任意のメモリ素子及びレジスタのデータ（DATA）にアクセスすることができる。コントローラ１０３が１つ以上の入力画素から構成される前入力データ群（FRONT INPUT DATA SET）を入力すると、プロセッサ１０１は前入力データ群をメモリ１０２に記憶させる。またコントローラ１０３は、プロセッサ１０１によって計算された メモリ１０２中の計算データ（CALCURATION DATA）を隣接する配列演算ユニット１００に送信すると共に、プロセッサ１０１は、コントローラ１０３が隣接する配列演算ユニット１００から受信した計算データをメモリ１０２に記憶させる。さらに必要ならば、プロセッサ１０１はこの計算データを、この計算データを送信した配列演算ユニット１００とは別の配列演算ユニット１００に転送する。最終的にコントローラ１０３は、出力画像の画素を結果データ（RESULT DATA）として出力する。
【０２３３】
このように配列演算ユニット１００の各々にコントローラ１０３を搭載する理由は、配列演算ユニット１００同士が通信している間にプロセッサ１０１が動作できるので、プロセッサ１０１は通信による待ち時間中にも計算することができて高速処理が実現できるからと、近傍の配列演算ユニット１００の数を変化させてもハードウェアを変更する必要もないからと、コントローラ１０３が画像の辺縁処理、つまり画像中の縁の画素に対する例外処理を自動的に行えるので、プロセッサ１０１のプログラムは辺縁処理をする必要がなくなり極めて単純になるからである。
【０２３４】
コントローラ１０３のブロック図は第６２図に示す通りである。アドレスバッファ（ADDRESS BUFFER）５３は アドレスバス（ADDRESS BUS）５１を介してプロセッサ１０１からアドレス（ADDRESS）を受取り、アドレスデコーダ（ADDRESS DECODER）５４によって各レジスタ及びその他の機能ブロックを選択する。データバッファ（DATA BUFFER）５５はデータバス（DATA BUS）５２を介してプロセッサ１０１からデータ（DATA）を受取り、アドレスデコーダ５４で選択されたレジスタと内部データバス５６を介して排他的に通信する。通信方向は読み出し（READ）によって指定される。アドレスが フラグレジスタ（FLAG REGISTER）５７を 指定した場合、データはフラグレジスタ５７に記憶され、フラグデコーダ（FLAG DECODER）５８によってデコードされ、複数信号（SIGNALS）として隣接する配列演算ユニット１００に送信される。なお複数信号の詳細は第６３図及び第６４図で示す。複数信号はフラグエンコーダ（FLAG ENCODER）５９によって受信され、 解析された後にステータスレジスタ（STATUS REGISTER）６０に記憶され、また受領（RECEIVE）（出力）として送信元の配列演算ユニット１００に返信される。受領（出力）は複数信号の送信元のフラグエンコーダ５９で受信され、結果として複数信号の送信完了が確認される。アドレスによってステータスレジスタ６０が選択されると、ステータスレジスタ６０の内容がデータバス５２を介してデータとしてプロセッサ１０１に送信される。１つ以上の入力画像（INPUT IMAGE） に対応した１つ以上の前入力送達（FRONT INPUT SEND）をフラグエンコーダ５９が受信すると１つ以上の入力画像からなる前入力データ群（FRONT INPUT DATA SET）が必要な記憶容量分用意された前入力データレジスタ（FRONT INPUT DATA REGISTER）６１に読み込まれる。アドレスによって前入力データレジスタ６１が選択されると、前入力データレジスタ６１の内容がデータとしてプロセッサ１０１に送信される。プロセッサ１０１が計算を完了したら、アドレスによって 結果データレジスタ（RESULT DATA REGISTER）６２ が選択され、結果データレジスタ６２が結果データ（RESULT DATA）を読み込む。これと同時に、フラグエンコーダ５９が結果送達（RESULT SEND）を送信する。
【０２３５】
近傍の配列演算ユニット１００が計算データを受信できるようになったら、プロセッサ１０１は出力データレジスタ（OUTPUT DATA REGISTER）６３のアドレスに計算データを書き込み、コントローラ１０３はこの計算データを出力データレジスタ６３に格納する。その後、コントローラ１０３は、隣接する全ての配列演算ユニット１００にこの計算データを送信する。上側の配列演算ユニット１００から複数信号（SIGNALS）を受信したら既に上側の配列演算ユニット１００から受信している計算データを上入力データレジスタ（UPPER INPUT DATA REGISTER）６４に格納する。その後、アドレスにより上入力データレジスタ６４が選択されたら、上入力データレジスタ６４の計算データがプロセッサ１０１に出力される。下側、左側、右側の配列演算ユニット１００から複数信号を受信した場合も同様であり、下入力データレジスタ６５、左入力データレジスタ６６、右入力データレジスタ６７が同様に動作する。
【０２３６】
各種バッファ、各種レジスタ及びアドレスデコーダ５４の各ブロックは汎用的な電子回路である。フラグデコーダ５８及びフラグエンコーダ５９はそれぞれ具体的には第６３図及び第６４図に示すような入出力信号を有する。
種別（TYPE）は出力データレジスタ（OUTPUT DATA REGISTER）６３に読み込まれた内容の種類を１ビット以上で表す。このビット数は、配列演算ユニット１００が転送すべき全ての計算データを区別できるように決定される。カウント−Ｘ（COUNT-X）及びカウント−Ｙ（COUNT-Y）は各々１ビット以上の符号なし整数 であり、それぞれ二次元格子状に配列された配列演算ユニット１００の間の水平方向の転送回数及び垂直方向の転送回数を示す。配列演算ユニット１００が計算データを最初に送信する場合にはカウント−Ｘ及びカウント−Ｙは０となる。配列演算ユニット１００が計算データを水平方向に転送する毎に、カウント−Ｘに１が加算され、配列演算ユニット１００が計算データを垂直方向に転送する毎に、カウント−Ｙに１が加算される。プロセッサ１０１が 上下左右のうちどの方向に出力データレジスタ６３の内容を送信するかをフラグレジスタ５７の送達フラグ（SEND FLAG）に指定した後で、出力データレジスタ６３を指定するアドレスデコーダ５４の中央デコーディング（CENTRAL DECODING）をフラグデコーダ５８が受信すると、フラグデコーダ５８が 送達（SEND）を送達フラグの指定方向に合わせて出力する。送達フラグは４ビットで表される。配列演算ユニット１００が計算データを上側に転送する場合はプロセッサ１０１が送達フラグに１０００を設定し、下側に転送する場合は０１００を設定し、左側に転送する場合は００１０を設定し、右側に転送する場合は０００１を設定する。また配列演算ユニット１００が計算データを 四方の配列演算ユニット１００に送信する場合にはプロセッサ１０１が送達フラグに１１１１を設定する。
【０２３７】
この他に、結果データレジスタ６２に結果データが読み込まれると同時にフラグデコーダ５８は、結果デコーディング（RESULT DECODING）を受信し、結果送達（RESULT SEND）を送信する。
フラグエンコーダ５９は四方の配列演算ユニット１００のうちいずれかからでも送達（入力）を受信したら、直ちに受信方向に受領（出力）を１にして送信する。その後フラグエンコーダ５９は 受信方向の計算データの種別、カウント−Ｘ及びカウント−Ｙを入力し、その部分のステータスレジスタ６０の内容を更新する。送信元の配列演算ユニット１００のフラグエンコーダ５９では 受領（入力）が１になったら ステータスレジスタ６０の受領ステータス（RECEIVE STATUS）を更新する。これにより各配列演算ユニット１００ではプロセッサ１０１がステータスレジスタ６０の受領ステータスを検査するだけで、どの入力データレジスタに有効な計算データが記憶されているか判断することができる。そこで例えば右入力データレジスタ６７に 計算データが読み込まれていれば、プロセッサ１０１がアドレスを指定することにより右入力データレジスタ６７から計算データを読み込むことができる。さらにアドレスデコーダ５４から右デコーディング（RIGHT DECODING）が フラグエンコーダ５９に送信され、受領ステータスのうち右方向が０に戻され、右側に向いた受領（出力）が０として送信される。上下左側の場合も同様に動作する。
【０２３８】
この他に、フラグエンコーダ５９が１つでも入力画像用の前入力送達を受信したら、ステータスレジスタ６０のうち 受信した前入力送達に対応する入力画像用の前入力送達ステータス（FRONT INPUT SEND STATUS）を１にする。またプロセッサ１０１が入力画像用の前入力データレジスタ６１から計算データを読み込むとき、アドレスデコーダ５４が フラグエンコーダ５９に前デコーディング（FRONT DECODING）を送信し、受信した前入力送達に対応する前入力送達ステータスを０にする。プロセッサ１０１はステータスレジスタ６０の内容を読み込むことにより、前入力データレジスタ６１に最新の入力画像が記憶されているかどうか判断することができる。
【０２３９】
なおこの配列演算ユニット１００は、主に１つ以上の入力画像から１つの出力画像を生成することを前提に記述したが、 用途に応じては計算途中の計算データを出力できるように回路が変更される必要がある。 その際には、 出力すべき結果データの数だけ フラグデコーダ５８の結果送達を増やし、結果データレジスタ６２に読み込まれた結果データに対応する結果送達のみを１にするようにプログラムが変更されるだけで良い。
【０２４０】
以下では、具体的な回路図を用いて、フラグデコーダ５８、フラグレジスタ５７、フラグエンコーダ５９及びステータスレジスタ６０について説明する。
【０２４１】
フラグレジスタ５７に 型番７４ＬＳ３７７のデジタル回路４０２が用いられた場合、フラグデコーダ５８及びフラグレジスタ５７の回路図は第６５図のようになる。ただし書き込み（WRITE）はクロック信号（CLK）と同期しており、さらに書き込みが立ち上がり時に、フラグレジスタ５７は内部データバス５６を介してフラグを格納するものとする。また第６５図では、結果送達に関する回路が省略されている。第６５図では、書き込みと中央デコーディングの両方がアクティブになってから１クロック後に 送達（出力）が１クロックの時間だけ出力され、一方でフラグレジスタ５７がフラグを格納したら、計算データの種別、カウント−Ｘ及びカウント−Ｙを直ちに出力する。もしフラグデコーダ５８の設計者が 送達（出力）を送信するタイミングを変更したければ、送達用フリップフロップ８１の数を変更するか、又は送達用フリップフロップ８１のトリガーの論理を反転するだけで良い。
【０２４２】
ステータスレジスタ６０に型番７４ＡＬＳ５７３のデジタル回路４０２が用いられた場合、フラグエンコーダ５９及びステータスレジスタ６０のブロック図は第６６図のようになる。ただし読み込み（READ）はクロック信号と同期しており、さらに読み込みがアクティブであり、かつクロック信号が立ち上がり時に、プロセッサ１０１は 内部データバス５６を介してステータスを読み込むものとする。また第６６図では、前入力送達に関する回路が省略されている。４近傍の配列演算ユニット１００に対する入力端子にはプルダウン抵抗が取り付けられている。左右の配列演算ユニット１００の各々から受信した 送達（入力）、計算データの種別、カウント−Ｘ及びカウント−Ｙは水平方向用ステータス回路８２に入力され、上下の配列演算ユニット１００の各々から受信した送達（入力）、計算データの種別、カウント−Ｘ及びカウント−Ｙは垂直方向用ステータス回路８３に入力される。水平方向用ステータス回路８２及び垂直方向用ステータス回路８３が出力した４つの受領（出力）は、４近傍の配列演算ユニット１００から受信した４つの受領（入力）と共に１個のステータスレジスタ６０に非同期に格納される。これにより、プロセッサ１０１はこのステータスレジスタ６０からステータスを読み込むだけで、４近傍の配列演算ユニット１００との通信状況を把握することができる。
【０２４３】
右側の配列演算ユニット１００に接続された配列演算ユニット１００の 水平方向用ステータス回路８２の回路図は第６７図のようになる。もし水平方向用ステータス回路８２が１である送達（入力）を受信すれば、送達入力用ラッチ回路８５が非同期に送達（入力）を記憶する。これにより水平方向用ステータス回路８２に右入力デコーディングが入力されるまで、 受領（出力）は１であり続ける。さらに水平方向用ステータス回路８２は、 右側の配列演算ユニット１００に１である受領（出力）を直ちに返信することができるので、右側の配列演算ユニット１００は、クロック信号の半周期以内に１である送達（出力）を送信してから１である受領（入力）を受信することが可能となる。したがって右側の配列演算ユニット１００では、プロセッサ１０１は、フラグレジスタ５７に送達フラグを書き込んでからステータスレジスタ６０から受領ステータスを読み込む間、待たなくても良い。また水平方向用ステータス回路８２は複数のカウント用半加算器８４を用いて受信したカウント−Ｘに１を加算すると共に、送達（入力）が１である間に計算データの種別、カウント−Ｘ及びカウント−Ｙがステータスレジスタ６０に非同期に格納される。このとき計算データもこの送達（入力）を用いて右入力データレジスタ６７に非同期に格納される。読み込み及びステータスレジスタ右デコーディングが共にアクティブになると、ステータスレジスタ６０は内部データバス５６を介して計算データの種別、カウント−Ｘ及びカウント−Ｙをプロセッサ１０１に出力する。なお左側の配列演算ユニット１００に接続された水平方向用ステータス回路８２の回路図では、右入力デコーディング及びステータスレジスタ右デコーディングの代りにそれぞれ左入力デコーディング及びステータスレジスタ左デコーディングが 用いられる。また垂直方向用ステータス回路８３の回路図は、複数のカウント用半加算器８４を用いて、受信したカウント−Ｙに１を加算する。
【０２４４】
ここまではコントローラ１０３を１個しか備えていない配列演算ユニット１００について説明してきた。しかしながら配列演算ユニット１００が１個のコントローラ１０３しか備えていないと、転送効率が低下する可能性がある。そこで複数のコントローラ１０３を備えた配列演算ユニット１００について説明する。
【０２４５】
第６８図に示すように、配列演算ユニット１００は複数のコントローラ１０３を備えることができる。第６８図の場合、配列演算ユニット１００は対角線上に配置された５個のコントローラ１０３を備え、各々のコントローラ１０３は アドレスバス５１及びデータバス５２に接続されている。プロセッサ１０１が５個のコントローラ１０３を識別できるように、各々のコントローラ１０３のアドレスデコーダ５４には異なるアドレスが割り当てられる。各々のコントローラ１０３は 前入力データレジスタ６１及び結果データレジスタ６２を備えているので、全てのコントローラ１０３は独立に前入力データ群を入力し、及び結果データを出力することができる。さらに各々のコントローラ１０３が、隣接する配列演算ユニット１００の５個のコントローラ１０３のうち異なる１個と接続することにより、配列演算ユニット１００は通信帯域を最大５倍まで広げることができる。 これにより、配列演算ユニット１００が多数の計算データを転送する場合でも、コントローラ１０３の数を増やせば転送効率が低下しなくなる。
【０２４６】
なお配列演算ユニット１００が複数のコントローラ１０３を備える場合、プロセッサ１０１は全てのコントローラ１０３のステータスレジスタ６０中のステータスを監視しなければならない。監視スケジューリングには主にラウンドロビン方式が用いられる。
【０２４７】
ラウンドロビン方式では、コントローラ１０３が論理的に環状に並び、プロセッサ１０１が 環状に沿って順番にコントローラ１０３にアクセスする。もしコントローラ１０３が計算データを受信していれば、プロセッサ１０１はこの計算データをこのコントローラ１０３から読み込む。その後プロセッサ１０１は 次の順番のコントローラ１０３に移動する。したがって全てのコントローラ１０３は対等に扱われる。配列演算ユニット１００が短時間に転送するデータ量に比べて コントローラ１０３の通信帯域が狭い場合、この方法は有効である。
【０２４８】
この他に、コントローラ１０３に優先度という相異なる番号を付けて、プロセッサ１０１が 毎回最も高い優先度から順番にコントローラ１０３にアクセスする優先度方式を用いることもできる。配列演算ユニット１００が短時間に転送するデータ量に比べてコントローラ１０３の通信帯域が広い場合、この方法は有効である。
【０２４９】
一般に配列演算ユニット１００は 少ない数のコントローラ１０３しか備えていないと考えられるので、データ処理装置１１０が局所並列画像処理を実行する場合、ラウンドロビン方式の方が優先度方式に比べて有利である。しかしながら 多量の計算データを転送しなければならない関数を含む局所並列画像処理をデータ処理装置１１０が高速に実行するために、配列演算ユニット１００が十分な数のコントローラ１０３を備えた場合、残りの関数が４近傍又は８近傍１８２の計算データだけを参照するのであれば、ラウンドロビン方式の通信効率は下がってしまう。このような場合には優先度方式の方が有利である。勿論全てのコントローラ１０３及びプロセッサ１０１が 割り込み機能を実装すれば、プロセッサ１０１が 各々のコントローラ１０３のステータスレジスタ６０中のステータスを 定期的に監視する必要はない。
【０２５０】
さて、コントローラ１０３をＬＳＩ（大規模集積回路）の実装平面に並べた場合、主に、ＬＳＩの実装面積が膨大になること、 コントローラ１０３間の配線が複雑で長くなること、及びコントローラ１０３の数を容易に増やせないこと、 の３つが問題となる。しかしながら三次元ＬＳＩ技術を用いると、ＬＳＩ設計者はこれらの問題を容易に解決することができる。以下では三次元ＬＳＩ技術を用いた配列演算ユニット１００について説明する。
【０２５１】
第６９図に示すように、コントローラ１０３は三次元ＬＳＩ技術を用いることにより配列演算ユニット１００内で積み重ねられている。第６９図の場合、５個のコントローラ１０３がプロセッサ１０１及びメモリ１０２の上に積み重ねられており、各々のコントローラ１０３は垂直に配線されたアドレスバス５１及びデータバス５２によってプロセッサ１０１及びメモリ１０２と接続されている。第６９図から明らかなように、コントローラ１０３の数を増やしても、各層の実装面積は増大しないし、またコントローラ１０３は 同じ層内において隣接するコントローラ１０３と接続すれば良い。さらにＬＳＩ設計者は、コントローラ１０３の数を増やしたければコントローラ１０３を実装した層を必要な数だけ増やせば良く、しかもアドレスバス５１さえ適切に設計されていれば、ＬＳＩ設計者は下敷となる層に一切手を加える必要がない。当然のことながら各層のコントローラ１０３はアドレスデコーダ５４以外全て同じ回路で構成されるので、新たに積み重ねる層のコントローラ１０３の設計は極めて簡単になる。
【０２５２】
さて、第６８図及び第６９図に示すように、配列演算ユニット１００が複数のコントローラ１０３を備えることにより、配列演算ユニット１００は、隣接する配列演算ユニット１００との間の通信帯域を広げられるばかりでなく、どのコントローラ１０３からどの計算データを受け取ったかということを識別できるようになる。そこで以下では、複数のコントローラ１０３を用いることにより、連続する複数の配列演算ユニット１００を１つのグループにまとめ、しかもこのグループ中の配列演算ユニット１００がプロセッサ１０１及びメモリ１０２を共有するデータ処理装置１１０について説明する。
【０２５３】
まず、第７０図に示すように、二次元格子状に配列された配列演算ユニット１００は適当な大きさの矩形のグループにまとめられる。このグループを仮想配列演算ユニット１０５と呼ぶ。第７０図の場合、仮想配列演算ユニット１０５は ４×４の配列演算ユニット１００を１つのグループにまとめたものである。次に第６１図、第６８図及び第６９図に示すように、仮想配列演算ユニット１０５はプロセッサ１０１、メモリ１０２、及び配列演算ユニット１００の縦と横の個数の最大値以上のコントローラ１０３を備える。第７０図の場合、仮想配列演算ユニット１０５は少なくとも４個のコントローラ１０３を必要とする。なお、コントローラ１０３の各々は第６７図のような 水平方向用ステータス回路８２を持つものとする。これらのコントローラ１０３には便宜上１から４までの番号が付けられるものとする。例えコントローラ１０３の数が４個を越えたとしても、これらのコントローラ１０３には１から４までの番号が付けられる。これにより特定の配列演算ユニット１００に複数のコントローラ１０３が割り当てられることになる。さらに、第７１図に示すように、配列演算ユニット１００の通信路にも コントローラ１０３と同じように１から４までの番号が付けられる。ただし、上下と左右の各々の通信路に対して、向い合う番号が同じになるようにする。最後に、プロセッサ１０１が１６個の配列演算ユニット１００を実行できるようなプログラムがメモリ１０２に記憶される。ただし、配列演算ユニット１００が 隣接する仮想配列演算ユニット１０５の配列演算ユニット１００と通信する場合には、必ず通信路に付けられた番号と一致するコントローラ１０３のうち相異なる１個を介するようにプログラムが実装されるものとする。これにより、仮想配列演算ユニット１０５は、どの配列演算ユニット１００からどの配列演算ユニット１００に向けて計算データが送信されたのか識別することができる。
【０２５４】
ところで仮想配列演算ユニット１０５はコントローラ１０３の数を増やしただけでは完全に複数の配列演算ユニット１００を実装することができない。というのも、仮想配列演算ユニット１０５は、別の仮想配列演算ユニット１０５から前入力データ群を入力したり、別の仮想配列演算ユニット１０５に結果データを出力しなければならないからである。第６８図のように コントローラ１０３が二次元平面上に実装される場合、もしコントローラ１０３の数が十分にあれば、計算データと同様にコントローラ１０３に番号を付けることにより、この問題はプログラムによって解決される。しかしながら第７１図の場合でも、 コントローラ１０３は１６個必要となる。したがって仮想配列演算ユニット１０５に含まれる配列演算ユニット１００の数が増えた場合、この方法は非常に非効率となる。まして第６９図のようにコントローラ１０３が積層される場合、前入力データ群及び結果データ用の通信路を確保することが非常に難しくなる。そこで以下では、コントローラ１０３の前入力データレジスタ６１だけを変更することにより、この問題を解決する方法について説明する。
【０２５５】
まず、コントローラ１０３が別のコントローラ１０３から前入力データ群の１つの前入力データとして結果データを、さらに前入力送達として結果送達を入力する場合を考える。このとき第７２図に示すように、前入力データレジスタ６１は、仮想配列演算ユニット１０５中の配列演算ユニット１００の数と等しい数のレジスタから構成される前入力シフトレジスタ６８と、前入力カウンタ６９を備える。前入力カウンタ６９は、レジスタの数を初期値とするダウンカウンタであり、前入力カウンタ６９のカウント数が０になったときに、前入力カウンタ６９は前入力ステータスを出力する。その後前入力データが入力されると、前入力カウンタ６９は初期値に初期化される。第７２図では、前入力シフトレジスタ６８は１６個のレジスタから構成されていて、前入力シフトレジスタ６８に１６個の前入力データが入力されると、前入力ステータスが出力される。次に、前入力シフトレジスタ６８の各々のレジスタと前入力カウンタ６９はトリガー信号として前入力送達を入力する。 さらに、アドレスデコーダ５４は、アドレスをデコードして、前入力シフトレジスタ６８のレジスタのうち１個を選択する。これにより、プロセッサ１０１が前入力シフトレジスタ６８のうち適当なレジスタのアドレスを指定すると、各々のレジスタはデータバス５２に前入力データを出力することができる。なお第７２図では、アドレスデコーダ５４の他の信号線は省略されている。そこで仮想配列演算ユニット１０５が１６個の配列演算ユニット１００の前入力データを一定の順番に出力すると、これらの前入力データは出力順に前入力シフトレジスタ６８のレジスタに記憶される。したがって前入力カウンタ６９が出力する前入力ステータスがステータスレジスタ６０に記憶された時点で プロセッサ１０１が各レジスタにアクセスすれば、プロセッサ１０１は特定の配列演算ユニット１００の前入力データを獲得することができる。
【０２５６】
なお、第７３図に示すように計算データを反時計回りに転送することにより、配列演算ユニット１００は、計算データを効率良く転送することができる。勿論、配列演算ユニット１００は、計算データを時計回りに転送しても良い。このとき、メモリ１０２及びプロセッサ１０１がスタック及び循環バッファなどを備えれば、配列演算ユニット１００は予め転送すべき計算データだけをこのスタック及びこの循環バッファに蓄えることができる。したがって、配列演算ユニット１００が 計算データをコントローラ１０３に書き込む際に、この配列演算ユニット１００は、この計算データだけを短時間に参照することができる。 同様に、第７４図に示すように、計算データを反時計回り及び時計回りに転送することにより、仮想配列演算ユニット１０５も、計算データを効率良く転送することができる。
【０２５７】
さて、ここまでは、コントローラ１０３が計算データを転送する度に、プロセッサ１０１がこのコントローラ１０３から計算データを読み込んだり、又はこのコントローラ１０３に計算データを書き込んだりするような 幾つかの方法について説明してきた。 このような方法では、計算データを転送するために必要な計算をプロセッサ１０１がすることにより、１個のコントローラ１０３のハードウェア量は少なくなるので、配列演算ユニット１００及び仮想配列演算ユニット１０５は、多数のコントローラ１０３を備えることができる。しかしながら、コントローラ１０３が計算データを転送する度に、プロセッサ１０１がこのコントローラ１０３と計算データを通信しなければならないので、プロセッサ１０１の通信時間が長くなるばかりか、プロセッサ１０１は、計算データの転送を終了するために、計算データの転送回数を判定しなければならない。そこで以下では、プロセッサ１０１がコントローラ１０３と計算データを通信する回数が少なく、しかもプロセッサ１０１が計算データの転送回数を判定しなくても良い方法について説明する。
【０２５８】
第７７図〜第８０図に示す視覚装置２の実装形態では、配列演算ユニット１００が備える２個以上のコントローラ１０３に対して連続した番号が割り当てられ、さらに番号が割り当てられた全てのコントローラ１０３の各々が、隣接する配列演算ユニット１００のコントローラ１０３のうち、番号が１つだけずれているコントローラ１０３に計算データを送信できるように、複数の信号線が配線される。例えば、第７７図〜第８０図では、１個の配列演算ユニット１００が４個のコントローラ１０３を備え、それぞれ０〜３の番号が割り当てられている。第７７図は、全ての配列演算ユニット１００の各々のコントローラ１０３が上側の配列演算ユニット１００の４個のコントローラ１０３のうち、番号が１つだけ小さいものに計算データを送信することを表す。なお、０番のコントローラ１０３が受信した計算データは破棄されるものとする。 第７８図は、 全ての配列演算ユニット１００の各々のコントローラ１０３が下側の配列演算ユニット１００の４個のコントローラ１０３のうち、番号が１つだけ大きいものに計算データを送信することを表す。なお、３番のコントローラ１０３が受信した計算データは破棄されるものとする。第７９図は、全ての配列演算ユニット１００の各々のコントローラ１０３が左側の配列演算ユニット１００の４個のコントローラ１０３のうち、番号が１つだけ大きいものに計算データを送信することを表す。なお、３番のコントローラ１０３が受信した計算データは破棄されるものとする。第８０図は、全ての配列演算ユニット１００の各々のコントローラ１０３が右側の配列演算ユニット１００の４個のコントローラ１０３のうち、番号が１つだけ小さいものに計算データを送信することを表す。なお、０番のコントローラ１０３が受信した計算データは破棄されるものとする。第７７図〜第８０図に示された計算データの流れに従って、各々のコントローラ１０３が計算データを転送することにより、この計算データの転送回数は３回以内になる。しかもプロセッサ１０１が 任意の番号のコントローラ１０３に計算データを書き込むことにより、この計算データはこのコントローラ１０３の番号に関連した回数だけ転送される。例えば第７７図の場合、２番のコントローラ１０３に計算データが書き込まれたならば、この計算データは上側に２回だけ転送される。同様に第７８図の場合、２番のコントローラ１０３に計算データが書き込まれたならば、この計算データは下側に１回だけ転送される。これにより、プロセッサ１０１が最初に計算データの転送回数を計算した後、このプロセッサ１０１は転送回数を判定する必要がなくなるばかりか、プロセッサ１０１が最初に計算データを１個のコントローラ１０３に書き込んだ後、 複数の上側の配列演算ユニット１００の各々において、プロセッサ１０１はこの計算データを読み込むだけで良く、このプロセッサ１０１が再度この計算データを書き込む必要はない。つまり、各々の配列演算ユニット１００のプロセッサ１０１は複数のコントローラ１０３へのアクセス回数を低減することができる。なお、第７７図〜第８０図には、複数の配列演算ユニット１００が格子状に配列されているが、勿論、複数の仮想配列演算ユニット１０５��格子状に配列されている場合でも 同様である。また第８１図に示すように、複数のコントローラ１０３が積層されている場合でも同様である。
【０２５９】
ところで、第７７図〜第８０図に示された方法では、計算データは上下左右のうち１方向に決められた回数しか転送されない。そこで第７３図〜第７６図に示すような渦巻き状に反時計回り及び時計回りに計算データを転送するためには、 第８２図に示すように、上下左右のうち２方向の転送が組み合わされば良い。なお、第８２図は、４８近傍の配列演算ユニット１００に計算データを反時計回りに転送するために、この計算データを３個の右側の配列演算ユニット１００に転送すると共に、３個の右側の配列演算ユニット１００の各々において、この計算データを３個の上側の配列演算ユニット１００に転送する場合を表している。このとき、破線で示されているように、３個の右側の配列演算ユニット１００の各々において、コントローラ１０３が受信した計算データが３番のコントローラ１０３に転送されている。この転送のことを再転送（retransmit）と呼ぶ。なお、この再転送は一般にプロセッサ１０１によって実行される。この理由は、計算データが転送される近傍のサイズによってコントローラ１０３が受信した計算データが書き込まれるコントローラ１０３の番号は変化する、つまり、再転送の組み合せの数は最大でコントローラ１０３の数の自乗になるからである。加えて、配列演算ユニット１００が多数のコントローラ１０３を備えたとしても、プロセッサ１０１は任意のコントローラ１０３間で計算データを再転送することができる。そこで第８３図に示すように、複数（ここでは８個）のコントローラ１０３を４個ずつ２組に分け、それぞれ０〜３及び０’〜３’の番号を割り当てるものとする。さらに０〜３番のコントローラ１０３を転送用に割り当て、０’〜３’番のコントローラ１０３を再転送用に割り当てるものとする。勿論、多数のコントローラ１０３を適当な数の組に分け、さらにそれぞれの組を転送用及び再転送用に割り当てても良い。このとき、プロセッサ１０１が、転送用のコントローラ１０３が受信した計算データを再転送用のコントローラ１０３に再転送することにより、計算データは転送用のコントローラ１０３を介して６個の水平方向の配列演算ユニット１００及び６個の垂直方向の配列演算ユニット１００に転送され、その後 再転送用のコントローラ１０３を介して４８近傍の配列演算ユニット１００に転送される。この方法では、複数の再転送前の計算データ及び複数の再転送後の計算データが１方向に転送される際に、複数の再転送前の計算データ及び複数の再転送後の計算データが、それぞれ転送用のコントローラ１０３及び再転送用のコントローラ１０３によって別々に転送されるので、プロセッサ１０１は効率よく再転送を実行することができる。
【０２６０】
さて、ここまではコントローラ１０３間の計算データの流れと再転送について説明してきた しかしながら第６２図に示すような コントローラ１０３では、このような転送方法を実行することはできない。そこで以下では、計算データの転送機能を有する新たなコントローラ１０３について説明する。なお、内部データバス５６の幅は自由に決定することができるが、以下では説明を簡単にするために、内部データバス５６の幅が１６ビットであるものとする。また、以下では配列演算ユニット１００を用いて説明するが、特に指示がない限り、仮想配列演算ユニット１０５の場合でも同様である。
【０２６１】
まず、第８４図に示すように、コントローラ１０３は、アドレスバッファ５３、データバッファ５５、アドレスデコーダ５４、４個の転送回路（TRANSMIT CIRCUIT）８０１、１個以上の前入力回路（FRONT INPUT CIRCUIT）８０２、１個以上の結果出力回路（RESULT OUTPUT CIRCUIT）８０３及び通信ステータスバッファ（COMMUNICATION STATUS BUFFER）８０４を含む。なお、信号ｘ’は信号ｘの負論理を表し、太線は複数の信号線の束を表すものとする。このとき４個の転送回路８０１は、それぞれ下から上へ、上から下へ、右から左へ、及び左から右へ、計算データ及び計算ステータスを転送するものとする。したがって、第７７図に示された計算データの流れを実現するためには、各々のコントローラ１０３のうち、下から上へ計算データを転送する転送回路８０１同士が接続される。同様に、第７８図〜第８０図の場合も、それぞれ上から下へ、左から右へ、及び右から左へ、計算データを転送する転送回路８０１同士が接続される。転送回路８０１の詳細は後で説明する。
【０２６２】
次に、アドレスバッファ５３、データバッファ５５及びアドレスデコーダ５４は従来と同様である。ただし、アドレスデコーダ５４は必要に応じてデコーディング信号を生成するものとする。
次に、通信ステータスバッファ８０４は、第８５図にしめすような、４個の転送回路８０１、前入力回路８０２ 及び結果出力回路８０３が出力する、上下左右の各方向への送達ステータス、上下左右の各方向への受領ステータス、前入力ステータス、結果ステータスを内部データバス５６に出力する。この通信ステータスバッファ８０４には、一般的なラインバッファが用いられる。なお、第８５図から明らかなように、１６ビット幅の内部データバス５６の場合、通信ステータスバッファ８０４は前入力ステータス及び結果ステータスを それぞれ最大で７つまで増やすことができる。したがって、コントローラ１０３の設計者は、必要に応じて前入力回路８０２及び結果出力回路８０３を増やすことができる。
【０２６３】
次に、第８６図に示すように、前入力回路８０２では、前入力送達が立ち上がる度に、前入力データ入力レジスタ８３１が 複数（ここでは１６個）の前入力データを順次記憶する。勿論、前入力送達が立ち下がる時に前入力データ入力レジスタ８３１が複数（ここでは１６個）の前入力データを順次記憶することもできる。さらに前入力データカウンタ８３６が、前入力送達の立ち上がり回数を数え、この立ち上がり回数が一定の回数（ここでは１６回）に達したら、カウント最小’が０として出力される。なお、第８６図では、前入力データカウンタ８３６のカウンタ部分に 型番７４ＬＳ１６９が用いられているが、勿論他のカウンタが用いられても良い。また、カウント最小’が０となると、前入力回路用コントローラ８３５によって複数（ここでは１６個）の前入力データが 前入力データ出力レジスタ８３３に記憶される。これにより、さらに前入力データが入力されても前入力データ出力レジスタ８３３に記憶された複数の前入力データが変更されることはない。その後、前入力デコーディング０’が０になる度に、 前入力データ出力レジスタ８３３に記憶された複数の前入力データがシフトされ、前入力データラインバッファ８３４を介して１個ずつ内部データバス５６に出力される。
【０２６４】
ここで、前入力回路用コントローラ８３５の状態遷移図は第８７図のようになる。以下、この状態遷移図について説明する。
状態８４１は待ち状態（０１）であり、 前入力ステータスを０に設定し、 ロードを１に設定し、更新可能’を１に設定する。リセット’がアクティブであれば、状態８４１に移動する。またカウント最小’が０であれば、状態８４２に移行する。さもなくば、状態８４１に移行する。
【０２６５】
状態８４２はロード状態（００）であり、前入力ステータスを０に設定し、ロードを１に設定し、更新可能’を０に設定する。 その後、状態８４３に移行する。
【０２６６】
状態８４３はシフト準備状態（１１）であり、前入力ステータスを１に設定し、ロードを０に設定し、更新可能’を１に設定する。前入力デコーディング０’が０であれば、状態８４４に移行する。前入力デコーディング１’が０であれば、状態８４１に移行する。さもなくば、状態８４３に移行する。
【０２６７】
状態８４４はシフト中状態（１０）であり、前入力ステータスを１に設定し、ロードを０に設定し、更新可能’を０に設定する。その後、状態８４３に移行する。
なお、各々の状態に割り当てられた番号は変更可能である。
【０２６８】
また、第８６図では、前入力データ入力レジスタ８３１が内部データバス５６の幅に合わせて前入力データを入力しているが、勿論前入力データを１ビットずつ入力しても良い。この場合は、前入力データカウンタ８３６の最大カウント数が一定の回数（ここでは１５回）と内部データバス５６のビット数の積になる。このように前入力データを１ビットずつ入力することにより、ＬＳＩ設計者は、視覚装置２を三次元ＬＳＩに実装する際に垂直信号線２７８の数を大幅に減らすことができる。したがってＬＳＩ設計者は、実装面積が大きいビアなどの数を減らすことができ、三次元ＬＳＩの実装が容易になる。
【０２６９】
次に、第８８図に示すように、結果出力回路８０３では 結果デコーディング０’が選択され、さらに書き込み’が立ち上がる度に、結果データ入力レジスタ８５１が内部データバス５６を介して複数（ここでは１６個）の結果データをシフトしながら記憶する。その後、結果デコーディング１’がアクティブになったり、さらに書き込み’が立ち上がるとき、結果ステータスが１になる。結果出力回路用コントローラ８５４は、結果データ入力レジスタ８５１から結果データマルチプレクサ８５２を介して結果データ出力レジスタ８５３に複数の結果データを移動させると共に、結果データマルチプレクサ８５２を介して結果データ出力レジスタ８５３中の複数の結果データを順番にシフトする。このとき結果送達が１と０を繰り返す。さらに結果データカウンタ８５６が、 結果データの出力回数を数え、この回数が一定の回数（ここでは１６回）に達したら、結果ステータスが０として出力される。なお、第８８図では、結果データカウンタ８５６のカウンタ部分に型番７４ＬＳ１６９が用いられているが、勿論他のカウンタが用いられても良い。
【０２７０】
ここで、結果出力回路用コントローラ８５４の状態遷移図は第８９図のようになる。以下、この状態遷移図について説明する。
状態８６１は待ち状態（１１１）であり、結果リセット’を１に設定し、カウント可能’を１に設定し、更新可能’を１に設定する。リセット’がアクティブであれば、状態８６１に移動する。また結果ステータスが１であれば、状態８６２に移行する。さもなくば、状態８６１に移行する。
【０２７１】
状態８６２はロード状態（１１０）であり、結果リセット’を１に設定し、カウント可能’を１に設定し、更新可能’を０に設定する。カウント最大’が０であれば、状態８６４に移行する。さもなくば、状態８６３に移行する。
【０２７２】
状態８６３はシフト中状態（１００）であり、結果リセット’を１に設定し、カウント可能’を０に設定し、更新可能’を０に設定する。カウント最大’が０であれば、状態８６４に移行する。さもなくば、状態８６３に移行する。
状態８６４はシフト終了状態（０１１）であり、結果リセット’を０に設定し、カウント可能’を１に設定し、更新可能’を１に設定する。
なお、各々の状態に割り当てられた番号は 変更可能である。
【０２７３】
また、第８８図では、結果データ出力レジスタ８５３及び結果データマルチプレクサ８５２が内部データバス５６の幅に合わせて結果データをシフトしているが、勿論結果データを１ビットずつシフトしても良い。この場合は、結果データカウンタ８５６の最大カウント数が一定の回数（ここでは１５回）と内部データバス５６のビット数の積になる。このように結果データを１ビットずつ出力することにより、ＬＳＩ設計者は、視覚装置２を三次元ＬＳＩに実装する際に垂直信号線２７８の数を大幅に減らすことができる。したがってＬＳＩ設計者は、実装面積が大きいビアなどの数を減らすことができ、三次元ＬＳＩの実装が容易になる。
【０２７４】
さて、ここまでは、新たなコントローラ１０３のうち、転送回路８０１を除いた部分について説明してきた。以下では転送回路８０１について説明する。
第９０図に示すように、各々の転送回路８０１は、正論理転送回路用コントローラ８１１ａ、正論理送達ラッチ８１２ａ、送達ステータス生成回路８１３、計算データ受信ラッチ８１４ａ、計算ステータス受信ラッチ８１４ｂ、計算データラインバッファ８１５ａ、計算ステータスラインバッファ８１５ｂ、計算データ送信レジスタ８１６ａ、計算ステータス送信レジスタ８１６ｂ、計算データマルチプレクサ８１７ａ、及び計算ステータスマルチプレクサ８１７ｂを含む。なお、必要に応じて、入力端子にはプルアップ抵抗及びプルダウン抵抗が取り付けられるものとする。隣接する配列演算ユニット１００の１個のコントローラ１０３から受信した計算データ及び計算ステータスは、送達（入力）がアクティブのときに、それぞれ計算データ受信ラッチ８１４ａ 及び計算ステータス受信ラッチ８１４ｂに記憶される。受領計算データデコーディング’がアクティブであり、かつ読み込み’がアクティブであるときに、この計算データは計算データラインバッファ８１５ａを介して内部データバス５６に出力される。また、受領計算ステータスデコーディング’がアクティブであり、かつ読み込み’がアクティブであるときに、この計算ステータスは計算ステータスラインバッファ８１５ｂを介して 内部データバス５６に出力される。一方で、内部データバス５６を介してプロセッサ１０１によって書き込まれた計算データ及び計算ステータスは、送達計算データデコーディング’がアクティブであり、かつ書き込み’が立ち上がるときに、それぞれ計算データ送信レジスタ８１６ａ 及び計算ステータス送信レジスタ８１６ｂに記憶される。計算データマルチプレクサ８１７ａは、送達／転送スイッチに従って、計算データ受信ラッチ８１４ａ及び計算データ送信レジスタ８１６ａの いずれかから計算データを選択し、隣接する配列演算ユニット１００の１個のコントローラ１０３に送信する。計算ステータスマルチプレクサ８１７ｂは、送達／転送スイッチに従って、計算ステータス受信ラッチ８１４ｂ及び計算ステータス送信レジスタ８１６ｂのいずれかから計算ステータスを選択し、隣接する配列演算ユニット１００の１個のコントローラ１０３に送信する。このとき送達（出力）がアクティブになる。 正論理送達ラッチ８１２ａは、送達（入力）がアクティブであるときに受領（出力）をアクティブにすると共に、受領ステータス及び転送ステータスを１に設定する。なお、受領計算ステータスデコーディング’がアクティブであるときに、受領ステータスは０になるが、受領計算データデコーディング’がアクティブであるときに、受領ステータスが０になっても良い。また転送リセット’がアクティブであるときに、転送ステータスは０になる。送達ステータス生成回路８１３は、計算ステータス送信レジスタ８１６ｂに計算ステータスが書き込まれたときに、 送達ステータスを１に設定する。なお、送達ステータス生成回路８１３は、計算データ送信レジスタ８１６ａに計算データが書き込まれたときに、送達ステータスを１に設定しても良い。送達リセット’がアクティブであるときに、送達ステータスは０になる。正論理転送回路用コントローラ８１１ａは、受領（入力）を入力して、送達（出力）を出力すると共に、送達ステータス及び転送ステータスを入力して、送信／転送スイッチ、送達リセット及び転送リセットを出力する。
【０２７５】
ここで、正論理転送回路用コントローラ８１１ａの状態遷移図は第９１図のようになる。以下、この状態遷移図について説明する。
状態８２１は待ち状態（０１１００）であり、送信リセット’を１に設定し、転送リセット’を１に設定し、送達（出力）を０に設定し、送信／転送スイッチを０に設定する。リセット’がアクティブであれば、状態８２１に移動する。受領（入力）が０であり、かつ転送ステータスが１であれば、状態８２２に移行する。受領（入力）が０であり、かつ転送ステータスが０であり、かつ送信ステータスが１であれば、状態８２５に移行する。さもなくば、状態８２１に移行する。
【０２７６】
状態８２２は転送開始状態（１１１１０）であり、送信リセット’を１に設定し、転送リセット’を１に設定し、送達（出力）を１に設定し、送信／転送スイッチを０に設定する。その後、状態８２３に移動する。
状態８２３は転送中状態（１１０１０）であり、送信リセット’を１に設定し、転送リセット’を１に設定し、送達（出力）を０に設定し、送信／転送スイッチを０に設定する。受領（入力）が０であれば、状態８２４に移行する。さもなくば、状態８２３に移行する。
【０２７７】
状態８２４は転送終了状態（１１０００）であり、送信リセット’を１に設定し、転送リセット’を０に設定し、送達（出力）を０に設定し、送信／転送スイッチを０に設定する。その後、状態８２１に移行する。
状態８２５は送信開始状態（１１１１１）であり、送信リセット’を１に設定し、転送リセット’を１に設定し、送達（出力）を１に設定し、送信／転送スイッチを１に設定する。その後、状態８２６に移動する。
【０２７８】
状態８２６は送信中状態（１１１０１）であり、送信リセット’を１に設定し、転送リセット’を１に設定し、送達（出力）を０に設定し、送信／転送スイッチを１に設定する。 受領（入力）が０であれば、状態８２７に移行する。さもなくば、状態８２６に移行する。
状態８２７は送信終了状態（１０１０１）であり、送信リセット’を０に設定し、転送リセット’を１に設定し、送達（出力）を０に設定し、送信／転送スイッチを１に設定する。その後、状態８２１に移行する。
なお、各々の状態に割り当てられた番号は変更可能である。
【０２７９】
第９０図には、送達（入力）、送達（出力）、受領（入力）及び受領（出力）が正論理である転送回路８０１が示されているが、勿論第９２図に示すように、送達（入力）、送達（出力）、受領（入力）及び受領（出力）は負論理であっても良い。 この場合、必要に応じて送達用インバータ８１８などを用いることにより、送達（入力）、送達（出力）、受領（入力）及び受領（出力）の論理が反転される。
【０２８０】
さらに、第９３図に示すように、 負論理送達ラッチ８１２ｂ、計算データ受信ラッチ８１４ａ 及び計算ステータス受信ラッチ８１４ｂの代りに、それぞれ負論理送達レジスタ８１２ｃ、計算データ受信レジスタ８１４ｃ 及び計算ステータス受信レジスタ８１４ｄが用いられる。加えて、送達（入力）’が立ち上がったときに、受領（出力）’がアクティブになると共に、隣接する配列演算ユニット１００の１個のコントローラ１０３から受信した計算データ及び計算ステータスがそれぞれ計算データ受信レジスタ８１４ｃ 及び計算ステータス受信レジスタ８１４ｄに記憶される。
【０２８１】
さて、ここまでは視覚装置２について説明してきた。そこで以下では、本発明の連動式カウンタ４０１の実施形態を挙げ、図面を参照して説明する。
まず、第９６図に示す連動式カウンタ４０１の実施形態は、同期式カウンタ４１１、終り値判定用論理ゲート４１２及びイネーブル信号用論理ゲート４１６から構成されるカウンタ部分と、連動信号増幅用論理ゲート４１３、連動信号用ラッチ回路４１４及び連動信号用論理ゲート４１５から構成される連動部分と、から構成される。また第９６図では、連動式カウンタ４０１が他の３つの連動式カウンタ４０１から連動信号ＢＬＫ１’、ＢＬＫ２’及びＢＬＫ３’を入力するものとする。なお、信号Ｘ’は信号Ｘの負論理を表すものとする。また第９６図において、終り値判定用論理ゲート４１２にはＡＮＤゲートが用いられ、イネーブル信号用論理ゲート４１６及び連動信号用ラッチ回路４１４にはＮＡＮＤゲートが用いられ、連動信号増幅用論理ゲート４１３にはＮＯＴゲートが用いられ、連動信号用論理ゲート４１５にはＯＲゲートが用いられているが、勿論他の論理ゲートが用いられても良い。
【０２８２】
カウンタ部分では、同期式カウンタ４１１、終り値判定用論理ゲート４１２及びイネーブル信号用論理ゲート４１６が環状に配線される。すなわち、同期式カウンタ４１１はイネーブル信号Ｐを入力して、カウント数を出力する。終り値判定用論理ゲート４１２はカウント数を入力して、連動信号ＢＬＫ０を出力する。イネーブル信号用論理ゲート４１６は少なくとも１つの入力端子に連動信号ＢＬＫ０を入力して、イネーブル信号Ｐを出力する。
【０２８３】
例えば第９７図の場合、同期式カウンタ４１１は３つのＪＫフリップフロップを備え、これらのＪＫフリップフロップの出力ＱＡ、ＱＢ及びＱＣを用いて０から７までのカウント数を出力する。また、これらのＪＫフリップフロップはそれぞれ出力ＱＡ、ＱＢ及びＱＣの負論理出力ＱＡ’、ＱＢ’及びＱＣ’も出力することができる。クロック信号はカウンタ用論理ゲート４２２ｃによって反転された後、分岐点Ｄ１及びＤ２において、３つのＪＫフリップフロップのクロック端子に分配される。これらのＪＫフリップフロップはクロック信号ＣＬＫの立ち上がりのエッジで動作する。分岐点Ｅ１において、イネーブル信号Ｐは左のＪＫフリップフロップのＪ端子及びＫ端子に分配される。これにより、イネーブル信号Ｐの電圧がＨｉｇｈレベルであるとき、このＪＫフリップフロップのＪ端子とＫ端子の両方の電圧がＨｉｇｈレベルになる。したがって、クロック信号ＣＬＫが立ち上がる度に、このＪＫフリップフロップの出力ＱＡ及びＱＡ’の電圧が反転する。同様に、分岐点Ｅ２において、イネーブル信号Ｐは、カウンタ用論理ゲート４２２ａ及びｂそれぞれの入力端子のうちの少なくとも１つに分配される。また分岐点Ｆにおいて、出力信号ＱＡは カウンタ用論理ゲート４２２ａ及びｂそれぞれの入力端子のうちの少なくとも１つに分配される。さらに出力信号ＱＢは カウンタ用論理ゲート４２２ｂの入力端子のうちの少なくとも１つに分配される。カウンタ用論理ゲート４２２ａ及びｂの出力端子は、それぞれ中央と右のＪＫフリップフロップのＪ端子及びＫ端子に接続される。これにより、イネーブル信号Ｐの電圧がＨｉｇｈレベルであるとき、出力信号ＱＡの電圧がＨｉｇｈレベルであれば、中央のＪＫフリップフロップのＪ端子とＫ端子の両方の電圧が Ｈｉｇｈレベルになる。したがって、クロック信号ＣＬＫが立ち上がる度に、このＪＫフリップフロップの出力信号ＱＢ及びＱＢ’の電圧が反転する。さらに、イネーブル信号Ｐの電圧がＨｉｇｈレベルであるとき、 出力信号ＱＡ及びＱＢの電圧が共にＨｉｇｈレベルであれば、 右のＪＫフリップフロップのＪ端子とＫ端子の両方の電圧が Ｈｉｇｈレベルになる。したがって、クロック信号ＣＬＫが立ち上がる度に、このＪＫフリップフロップの出力信号ＱＣ及びＱＣ’の電圧が反転する。つまり、イネーブル信号Ｐの電圧がＨｉｇｈレベルである場合、クロック信号ＣＬＫが立ち上がる度に、同期式カウンタ４１１が出力するカウント数は１つずつ増える。
【０２８４】
さて、第９６図において、終り値判定用論理ゲート４１２が連動信号ＢＬＫ０を出力するために、終り値判定用論理ゲート４１２の複数（ここでは３つ）の入力端子に出力信号ＱＡ、ＱＢ及びＱＣが入力される。これにより、同期式カウンタ４１１が出力するカウント数が７であれば、出力ＱＡ、ＱＢ及びＱＣの電圧が全てＨｉｇｈレベルになるので、連動信号ＢＬＫ０の電圧はＨｉｇｈレベルになる。分岐点Ｕ１において、連動信号ＢＬＫ０はイネーブル信号用論理ゲート４１６の入力端子のうちの少なくとも１つに入力される。これにより、もし連動信号ＢＬＫ０がＬｏｗレベルであれば、イネーブル信号ＰはＨｉｇｈレベルになる。したがって、カウント数が７に到達するまで同期式カウンタ４１１はカウント数を１つずつ増やし、カウント数が７に到達すると、同期式カウンタ４１１は停止する。
【０２８５】
なお、第９７図には、クロック信号ＣＬＫに同期した３つのＪＫフリップフロップから構成される２進３桁の同期式カウンタ４１１が示されているが、ＪＫフリップフロップの数をＮ個用いることにより、２進Ｎ桁の同期式カウンタ４１１に変更することは容易である。またカウンタ用論理ゲート４２２ａ及びｂが、 出力信号ＱＡ及びＱＢの代りに、それぞれ出力信号ＱＡ’及びＱＢ’を入力することにより、同期式カウンタ４１１はダウンカウンタに変更される。
【０２８６】
連動部分では、連動信号増幅用論理ゲート４１３が連動信号ＢＬＫ０を増幅して、連動信号ＢＬＫ０’を出力すると共に、 外部から入力される 連動信号ＢＬＫ１’、ＢＬＫ２’及びＢＬＫ３’に従い、連動信号用論理ゲート４１５及び連動信号用ラッチ回路４１４がイネーブル信号用論理ゲート４１６を制御する。すなわち、連動信号ＢＬＫ０の電圧がＨｉｇｈレベルであれば、連動信号増幅用論理ゲート４１３は連動信号ＢＬＫ０’の電圧をＬｏｗレベルにする。さもなくば、連動信号ＢＬＫ０’の電圧はＨｉｇｈレベルである。また、複数（ここでは３つ）の連動信号用ラッチ回路４１４ａ〜４１４ｃの１つの入力端子に、それぞれ連動信号ＢＬＫ１’、ＢＬＫ２’及びＢＬＫ３’が入力されると共に、分岐点Ｕ２及びＵ３において、連動信号ＢＬＫＯは連動信号用ラッチ回路４１４ａ〜４１４ｃのもう１つの入力端子に分配される。さらに連動信号用ラッチ回路４１４ａ〜４１４ｃの出力信号ＱＧ１’、ＱＧ２’及びＱＧ３’が連動信号用ラッチ回路４１４の複数（ここでは３つ）の入力端子に入力され、連動信号用ラッチ回路４１４の出力信号Ｇ’がイネーブル信号用論理ゲート４１６の少なくとも１つの端子に入力される。したがって、連動信号ＢＬＫ０がＨｉｇｈレベルであり、かつ連動信号ＢＬＫ１’、ＢＬＫ２’及びＢＬＫ３’の全てがＬｏｗレベルである場合、つまり連動信号ＢＬＫ０’、ＢＬＫ１’、ＢＬＫ２’及びＢＬＫ３’の全てがＬｏｗレベルである場合、連動信号用ラッチ回路４１４ａ〜４１４ｃの出力信号ＱＧ１’、ＱＧ２’及びＱＧ３’は全てＬｏｗレベルになる。さらにイネーブル信号もＬｏｗレベルになることができる。しかも連動信号ＢＬＫ０がＨｉｇｈレベルである場合、連動信号ＢＬＫ１’、ＢＬＫ２’及びＢＬＫ３’のいずれかが一旦Ｌｏｗレベルになり、その後Ｈｉｇｈレベルに戻ったとしても、 出力信号ＱＧ１’、ＱＧ２’及びＱＧ３’のうち 対応するものはＬｏｗレベルのままである。 つまり、連動信号ＢＬＫ０がＨｉｇｈレベルであれば、連動信号ＢＬＫ１’、ＢＬＫ２’及びＢＬＫ３’が一斉にＬｏｗレベルにならなくても、イネーブル信号はＬｏｗレベルになることができる。ただし、連動信号ＢＬＫ０がＬｏｗレベルになれば、連動信号用ラッチ回路４１４ａ〜４１４ｃの出力信号ＱＧ１’、ＱＧ２’及びＱＧ３’は全てＨｉｇｈレベルになる。しかも連動信号ＢＬＫ０が再度Ｈｉｇｈレベルになっても、連動信号用ラッチ回路４１４ａ〜４１４ｃの出力信号ＱＧ１’、ＱＧ２’及びＱＧ３’はＨｉｇｈレベルのままである。これにより、連動部分は、連動信号ＢＬＫ０’の位相と周期を、連動信号ＢＬＫ１’、ＢＬＫ２’、ＢＬＫ３’及びＢＬＫ４’のうちの位相が最も遅れているものの位相と周期に合わせることができる。
【０２８７】
なお、第９６図では、連動式カウンタ４０１が ３つの連動式カウンタ４０１から連動信号を入力する場合を示したが、接続される連動式カウンタ４０１の数に応じて連動信号用論理ゲート４１５の入力端子数を変更するか、さもなくば 連動信号用論理ゲート４１５の入力端子のうち不必要なものをプルダウンすれば良い。
【０２８８】
さて、第９６図に示した同期式カウンタ４１１において、カウント数の初期値は０に、終り値は７に固定されていた。しかしながらＬＳＩの仕様によってはカウント数の初期値及び終り値が変更される場合もある。そこで第９８図に示すように、本発明に対応する連動式カウンタ４０１の実施形態は、市販の同期式カウンタ４１１のような同期式クリア手段及び同期式ロード手段を有する 同期式カウンタ４１１を用いることにより、任意の初期値及び終り値を設定することができる。
【０２８９】
例えば第９８図に示すように、同期式カウンタ４１１が同期クリア手段を有する場合、カウンタ部分では、同期式カウンタ４１１、終り値判定用論理ゲート４１２及びイネーブル信号用論理ゲート４１６が環状に配線されると共に、初期化信号用論理ゲート４１７の出力端子が同期式カウンタ４１１のクリア端子に接続される。すなわち、同期式カウンタ４１１はイネーブル信号Ｐと初期化信号ＩＮＩＴを入力し、カウント数を出力する。終り値判定用論理ゲート４１２はカウント数を入力して、連動信号ＢＬＫ０を出力する。イネーブル信号用論理ゲート４１６は少なくとも１つの入力端子に連動信号ＢＬＫ０を入力して、イネーブル信号Ｐを出力する。初期化信号用論理ゲート４１７は 連動信号ＢＬＫ０及びイネーブル信号Ｐを入力し、初期化信号ＩＮＩＴを出力する。
【０２９０】
例えば第９９図の場合、同期式カウンタ４１１は型番７４１６３のアップカウンタを備え、出力信号ＱＡ〜ＱＤを用いて０から１５までのカウント数を出力する。また、カウンタ用論理ゲート４２２ａ〜４２２ｃが、それぞれ出力信号ＱＡ〜ＱＣの負論理出力ＱＡ’〜ＱＣ’を出力する。イネーブル端子Ｔはプルアップされ、ロード端子ＬＯＡＤはプルアップされ、初期値用端子Ａ〜Ｄはプルダウンされている。これにより、イネーブル信号Ｐの電圧がＨｉｇｈレベルであり、かつクリア信号ＣＬＲがＨｉｇｈレベルである場合、クロック信号ＣＬＫが立ち上がる度に、同期式カウンタ４１１が出力するカウント数は１つずつ増える。さらに、イネーブル信号Ｐの電圧に関係なく、クリア信号ＣＬＲがＬｏｗレベルである場合、クロック信号ＣＬＫが立ち上がるならば、同期式カウンタ４１１が出力するカウント数は０になる。それ以外の場合、同期式カウンタ４１１は動作しない。
【０２９１】
そこで第９８図に示すように、同期式カウンタ４１１のカウント数が５である場合、終り値判定用論理ゲート４１２は 連動信号ＢＬＫ０の電圧をＨｉｇｈレベルにする。さもなくば、連動信号ＢＬＫ０の電圧はＬｏｗレベルである。分岐点Ｕ１において、連動信号ＢＬＫ０はイネーブル信号用論理ゲート４１６の入力端子のうちの 少なくとも１つに入力される。これにより、もし連動信号ＢＬＫ０がＬｏｗレベルであれば、イネーブル信号ＰはＨｉｇｈレベルになる。したがって、カウント数が５に到達するまで同期式カウンタ４１１はカウント数を１つずつ増やし、カウント数が５に到達すると、同期式カウンタ４１１は停止する。分岐点Ｕ４において、連動信号ＢＬＫ０は初期化信号用論理ゲート４１７の入力端子のうち少なくとも１つに入力される。 さらに分岐点Ｖにおいて、イネーブル信号Ｐは 初期化信号用論理ゲート４１７の入力端子のうち少なくとも１つに入力される。これにより、もし連動信号ＢＬＫ０及びイネーブル信号Ｐが共にＨｉｇｈレベルであれば、初期化信号用論理ゲート４１７は初期化信号ＩＮＩＴはＬｏｗレベルになる。したがって、同期式カウンタ４１１が停止し、連動信号ＢＬＫ１’、ＢＬＫ２’及びＢＬＫ１’が一旦ＬＯＷレベルになれば、同期式カウンタ４１１はカウント数を０にして、動作を再開する。
【０２９２】
ここまでは連動式カウンタ４０１単体の回路構成について説明してきた。以下では複数の連動式カウンタ４０１が接続された場合に連動式カウンタ４０１がお互いにどのように連動するのか、タイミングチャートを用いて説明する。
まず第１００図に示すように、３つの連動式カウンタ４０１ａ〜４０１ｃ が接続された場合を考える。なお第１００図において、連動式カウンタ４０１ａ〜４０１ｃをＩＣＵと略記する。各々の連動式カウンタ４０１ａ〜４０１ｃの連動信号ＢＬＫ０’は残りの連動式カウンタ４０１ａ〜４０１ｃの連動信号用論理ゲート４１５に入力される。したがって連動信号用論理ゲート４１５は２入力論理ゲートであれば良い。これら３つの連動式カウンタ４０１ａ〜４０１ｃが安定して動作しているとき、連動式カウンタ４０１ａのタイミングチャートを第１０１図に示す。なお、全ての連動式カウンタ４０１ａ〜４０１ｃは対称的なので、残りの連動式カウンタ４０１ｂ及び４０１ｃのタイミングチャートも同様である。
【０２９３】
第１０１図から明らかなように、連動式カウンタ４０１ａ〜４０１ｃのカウント数が 一致している場合には、イネーブル信号用論理ゲート４１６の出力が一瞬Ｈｉｇｈレベルになるが、直ぐにＬｏｗレベルに戻るため、同期式カウンタ４１１は連続してカウントすることができる。したがって、連動式カウンタ４０１ａ〜４０１ｃは 同じカウント数を出力し続けることができる。
【０２９４】
第１０２図に示すように、連動信号ＢＬＫ１’の位相が何らかの理由により進んだ場合、連動式カウンタ４０１は連動信号ＢＬＫ１’に関係なく動作する。したがって連動信号ＢＬＫ１’はカウント数に対して影響しない。なお連動信号ＢＬＫ１’を生成する連動式カウンタ４０１は連動信号ＢＬＫ１’を連動信号ＢＬＫ０’及びＢＬＫ２’の位相に合わせるように動作する。
【０２９５】
第１０３図に示すように、連動信号ＢＬＫ２’の位相が何らかの理由により遅れた場合、連動式カウンタ４０１は 連動信号ＢＬＫ０’の位相を連動信号ＢＬＫ２’の位相に合わせるように動作する。したがって連動信号ＢＬＫ２’がＬレベルになるまで、連動式カウンタ４０１はカウント数として終り値を出力し続ける。
【０２９６】
第１０４図に示すように、連動信号ＢＬＫ１’の位相が何らかの理由により進み、連動信号ＢＬＫ２’の位相が何らかの理由により遅れた場合、連動式カウンタ４０１は 連動信号ＢＬＫ０’の位相を連動信号ＢＬＫ２’の位相に合わせるように動作する。したがって連動信号ＢＬＫ２’がＬレベルになるまで、連動式カウンタ４０１はカウント数として終り値を出力し続ける。
【０２９７】
上記より、３つの連動式カウンタ４０１ａ〜４０１ｃは最もカウントが遅れているものにカウント数を合わせることが判る。このことは、終り値が異なる連動式カウンタ４０１が接続された場合にも成り立つ。したがって電源投入時、３つの連動式カウンタ４０１ａ〜４０１ｃのカウント数が異なっていても、クロック信号の周期に終り値の最大数を掛け合わせた時間以内に３つの連動式カウンタ４０１ａ〜４０１ｃのカウント数が 一致する。
【０２９８】
さて、第９６図及び第９８図に示す連動式カウンタ４０１の実施形態では、クロック信号ＣＬＫは外部から供給される。したがって、第１００図から明らかなように、各々の連動式カウンタ４０１は空間的に離れているので、各々の連動式カウンタ４０１に供給されるクロック信号ＣＬＫは、伝搬遅延時間のために必ずしも同時に立ち上がるとは限らない。特に複数連動式カウンタ４０１がＬＳＩの広範囲に配置される場合、各々の連動式カウンタ４０１に供給されるクロック信号ＣＬＫの位相は 確実にずれる。そこで以下では、クロック信号ＣＬＫを外部から供給する代りに、連動式カウンタ４０１が自らクロック信号ＣＬＫを生成することにより、クロック信号ＣＬＫの位相を調整する方法について説明する。
【０２９９】
第１０５図に示す連動式カウンタ４０１の実施形態は、図９６に示す発明に対応する連動式カウンタ４０１の実施形態と同期式発振回路４１８から構成される。同様に、第１０６図に示す連動式カウンタ４０１の実施形態は、図９８に示す連動式カウンタ４０１の実施形態と 同期式発振回路４１８から構成される。第１０５図の場合、分岐点Ｖにおいて、イネーブル信号Ｐは同期式発振回路４１８のＳＹＮＣ端子に分配されると共に、同期式発振回路４１８が生成するクロック信号ＣＬＫがＣＬＫ端子から同期式カウンタ４１１に供給される。第１０６図の場合、分岐点Ｖ１において、イネーブル信号Ｐは同期式発振回路４１８のＳＹＮＣ端子に分配されると共に、同期式発振回路４１８が生成するクロック信号ＣＬＫが ＣＬＫ端子から同期式カウンタ４１１に供給される。同期式発振回路４１８は、ＳＹＮＣ端子の電圧に応じてクロック信号ＣＬＫの位相を変更するものである。以下では、同期式発振回路４１８について詳細に説明する。
【０３００】
まず、第１０７図に示す同期式発振回路４１８は、リング発振器の変形であり、同期信号用ラッチ回路４３１、２個の発振用論理ゲート４３２ａ、４３２ｂ、及びクロック信号増幅用論理ゲート４３３から構成される。なお、同期信号用ラッチ回路４３１はＤラッチであり、発振用論理ゲート４３２ａ、４３２ｂ、及びクロック信号増幅用論理ゲート４３３はＮＯＴゲートである。 同期信号用ラッチ回路４３１ 及び発振用論理ゲート４３２ａ、４３２ｂは 環状に配線される。すなわち、 同期信号用ラッチ回路４３１のＱ’端子は 発振用論理ゲート４３２ａの入力端子に接続され、発振用論理ゲート４３２ａの出力端子は発振用論理ゲート４３２ｂの入力端子に接続され、発振用論理ゲート４３２ｂの出力端子は、分岐点Ｈを介して同期信号用ラッチ回路４３１のＤ端子に接続される。同期式発振回路４１８のＳＹＮＣ端子が同期信号用ラッチ回路４３１のＧ端子に接続される。また発振用論理ゲート４３２ｂの出力端子は、分岐点Ｈを介してクロック信号増幅用論理ゲート４３３の入力端子に接続され、クロック信号増幅用論理ゲート４３３がクロック信号ＣＬＫを出力する。なお、クロック信号増幅用論理ゲート４３３の入力端子は、同期信号用ラッチ回路４３１、及び発振用論理ゲート４３２ａ、４３２ｂのうちのいずれの出力端子に接続されても良い。また必要に応じて複数のクロック信号増幅用論理ゲート４３３が用いられても良い。もしＳＹＮＣ端子がＨｉｇｈレベルであれば、同期信号用ラッチ回路４３１のＤ端子とＱ’端子はそれぞれＮＯＴゲートの入力端子及び出力端子として機能する。つまり同期信号用ラッチ回路４３１のＱ’端子が出力する信号ＱＳ’は発振用論理ゲート４３２ｂの出力信号を反転する。さもなくば、同期信号用ラッチ回路４３１のＱ’端子は同期信号用ラッチ回路４３１のＤ端子の電圧に関わらず現在の電圧を維持する。信号ＱＳ’は発振用論理ゲート４３２ｂの出力信号を遅延する。したがって、 第１０８図に示すように、ＳＹＮＣ端子がＨｉｇｈレベルである場合、同期式発振回路４１８は自励発振をする。一方ＳＹＮＣ端子がＬｏｗレベルである場合、同期式発振回路４１８は自励発振を停止する。
【０３０１】
ところで、第１０７図に示す同期式発振回路４１８の場合、自励発振の周期は同期信号用ラッチ回路４３１、及び発振用論理ゲート４３２ａ、４３２ｂのスイッチング時間に依存するので、複数の同期式発振回路４１８が生成するクロック信号ＣＬＫの周期が全て一致するとは限らない。そこで同期信号用ラッチ回路４３１、及び発振用論理ゲート４３２ａ、４３２ｂにＣＭＯＳ（相補形金属酸化膜半導体）が用いられた場合、第１０９図に示すように、分岐点Ｉ及びＪの間を発振用抵抗４３４ａが接続し、分岐点Ｊ及びＨの間を発振用コンデンサ４３５が接続することによって、同期式発振回路４１８は一定の周期で自励発振をすることができる。なお、発振用抵抗４３４ａの抵抗値をＲオームとし、発振用コンデンサ４３５の容量をＣファラッドとする。また発振用抵抗４３４ｂは保護抵抗であり、発振用抵抗４３４ｂの抵抗値をＲ０オームとする。
【０３０２】
次に、第１１０図に示す同期式発振回路４１８は、非安定マルチバイブレータの変形であり、同期信号用ラッチ回路４３１、発振用論理ゲート４３２、２個の発振用抵抗４３４ａ、４３４ｂ、２個の発振用コンデンサ４３５ａ、４３５ｂ、及びクロック信号増幅用論理ゲート４３３から構成される。なお、同期信号用ラッチ回路４３１はＤラッチであり、発振用論理ゲート４３２はＮＡＮＤゲートであり、クロック信号増幅用論理ゲート４３３はＮＯＴゲートである。同期信号用ラッチ回路４３１、発振用論理ゲート４３２及び発振用コンデンサ４３５ａ、４３５ｂは環状に配線される。すなわち、同期信号用ラッチ回路４３１のＱ’端子は分岐点Ｈを介して発振用コンデンサ４３５ｂの１つの端子に接続され、発振用コンデンサ４３５ｂのもう１つの端子は 分岐点Ｊを介して発振用論理ゲート４３２の全ての入力端子に接続され、発振用論理ゲート４３２の出力端子は 分岐点Ｋ１及びＫ２を介して発振用コンデンサ４３５ａの１つの端子に接続され、発振用コンデンサ４３５ａのもう１つの端子は 分岐点Ｌを介して同期信号用ラッチ回路４３１のＤ端子に接続される。さらに分岐点Ｌ及びＨの間を発振用抵抗４３４ａが接続し、分岐点Ｊ及びＫ２の間を発振用抵抗４３４ｂが接続する。なお、発振用抵抗４３４ａ、４３４ｂの抵抗値を共にＲオームとし、発振用コンデンサ４３５ａ、４３５ｂの容量を共にＣファラッドとする。同期式発振回路４１８のＳＹＮＣ端子が同期信号用ラッチ回路４３１のＧ端子に接続される。また発振用論理ゲート４３２の出力端子は、分岐点Ｋ１を介してクロック信号増幅用論理ゲート４３３の入力端子に接続され、クロック信号増幅用論理ゲート４３３がクロック信号ＣＬＫを出力する。なお、クロック信号増幅用論理ゲート４３３の入力端子は、同期信号用ラッチ回路４３１ 及び発振用論理ゲート４３２のいずれの出力端子に接続されても良い。また必要に応じて複数のクロック信号増幅用論理ゲート４３３が用いられても良い。この同期式発振回路４１８のタイミングチャートは第１０８図と同様である。
【０３０３】
ここまでは、ＳＹＮＣ端子の電圧を変化させることにより自励発振と停止を繰り返すいくつかの同期式発振回路４１８について説明してきた。これらの同期式発振回路４１８は、クロック信号ＣＬＫに対して不要なパルスを発生することがないので、連動式カウンタ４０１が同期回路を制御するのには都合が良い。しかしながら、クロック信号ＣＬＫの周期がこれらの同期式発振回路４１８の自励発振の周期に比べて極めて長くなる場合があるので、クロック信号ＣＬＫのジッターが問題となるような電子回路にとってこのようなクロック信号ＣＬＫは大変都合が悪い。そこで最後に、自励発振を継続するような同期式発振回路４１８について説明する。
【０３０４】
第１１１図に示す同期式発振回路４１８は、同期信号用フリップフロップ回路４３６、同期信号増幅器４３７、ループフィルタ４３８、電圧制御発振器４３９及びクロック信号増幅用論理ゲート４３３から構成される。なお、同期信号用フリップフロップ回路４３６はＤフリップフロップであり、同期信号増幅器４３７及びクロック信号増幅用論理ゲート４３３はＮＯＴゲートであり、ループフィルタ４３８はラグ形ループフィルタであり、電圧制御発振器４３９は、水晶振動子４４３を用いたコルピッツ形発振回路の変形である。
【０３０５】
同期信号用フリップフロップ回路４３６は、クロック信号増幅用論理ゲート４３３が出力するクロック信号ＣＬＫに同期して、Ｄ端子に入力された同期式発振回路４１８のＳＹＮＣ端子の電圧を記憶し、信号ＱＳとして出力する。同期信号増幅器４３７は信号ＱＳを反転して、信号ＳＡ’を出力する。
【０３０６】
ループフィルタ４３８はループフィルタ用抵抗４４１及びループフィルタ用コンデンサ４４２から構成される。信号ＳＡ’に含まれる高周波ノイズがループフィルタ用コンデンサ４４２によって除去され、ループフィルタ４３８は分岐点Ｎから信号ＶＣを出力する。なお、ループフィルタ用抵抗４４１の抵抗値をＲ３とし、ループフィルタ用コンデンサ４４２の容量をＣ３とする。また、除去されるノイズの周波数帯は時定数Ｒ３Ｃ３によって決定される。
【０３０７】
電圧制御発振器４３９は、発振用論理ゲート４３２、水晶振動子４４３、可変容量ダイオード４４４、３個の発振用抵抗４３４ａ〜４３４ｃ、及び２個の発振用コンデンサ４３５ａ、４３５ｂから構成される。水晶振動子４４３、発振用コンデンサ４３５ａ、４３５ｂ、及び可変容量ダイオード４４４は環状に配線される。すなわち、可変容量ダイオード４４４のアノード端子がグラウンドに接続され、可変容量ダイオード４４４のカソード端子が分岐点Ｈにおいて発振用コンデンサ４３５ａの１つの端子と接続され、発振用コンデンサ４３５ａのもう１つの端子が分岐点Ｊ１において水晶振動子４４３の１つの端子と接続され、水晶振動子４４３のもう１つの端子が 分岐点Ｋにおいて発振用コンデンサ４３５ｂの１つの端子と接続され、発振用コンデンサ４３５ｂのもう１つの端子がグラウンドに接続される。これによりＬＣ回路が形成される。水晶振動子４４３の１つの端子が分岐点Ｊ１及びＪ２において発振用論理ゲート４３２の入力端子と接続され、発振用抵抗４３４ｂが、分岐点Ｌ及びＫにおいて 発振用論理ゲート４３２の出力端子と水晶振動子４４３のもう１つの端子を接続する。これにより水晶振動子４４３の発振が増幅される。発振用抵抗４３４ａが 分岐点Ｌ及びＪ２において 発振用論理ゲート４３２の出力端子と入力端子を接続する。これにより発振用論理ゲート４３２の出力端子から発振用論理ゲート４３２の入力端子、水晶振動子４４３及び発振用コンデンサ４３５ａに電流が供給される。発振用抵抗４３４ｃの１つの端子が信号ＶＣを入力し、 発振用抵抗４３４ｃのもう１つの端子が 分岐点Ｈにおいて可変容量ダイオード４４４のカソード端子と接続される。発振用抵抗４３４ｃは保護抵抗であり、信号ＶＣの電圧を 可変容量ダイオード４４４のカソード端子に加えることができる。したがって、信号ＶＣの電圧が高ければ、可変容量ダイオード４４４の容量は小さくなるので、電圧制御発振器４３９の自励発振の周波数は高くなり、信号ＶＣの電圧が０ボルトに近ければ、可変容量ダイオード４４４の容量は大きくなるので、 電圧制御発振器４３９の自励発振の周波数は低くなる。なお、発振用抵抗４３４ａ〜４３４ｃの抵抗値を、それぞれＲ１、Ｒ２及びＲ０オームとし、発振用コンデンサ４３５ａ、４３５ｂの容量をそれぞれＣ１及びＣ２ファラッドとする。
【０３０８】
クロック信号増幅用論理ゲート４３３は電圧制御発振器４３９が出力する自励振動の波形を 分岐点Ｌから入力し、矩形波に増幅されたクロック信号ＣＬＫを出力する。クロック信号ＣＬＫは分岐点Ｍにおいて同期信号用フリップフロップ回路４３６のクロック端子に分配される。必要に応じて複数のクロック信号増幅用論理ゲート４３３が用いられても良い。
【０３０９】
そこで第１１２図に示すように、ＳＹＮＣ端子の電圧が高いときに、第１１１図の同期式発振回路４１８はクロック信号ＣＬＫの周期を短くすることができるので、この同期式発振回路４１８はクロック信号ＣＬＫの位相を細かく調整することができる。もし電圧制御発振器４３９が周波数を２倍にすることができれば、隣接する連動式カウンタ４０１が生成するクロック信号ＣＬＫの位相差はπラジアン、つまりクロック信号ＣＬＫの半周期以内に収めることができる。なお、第１１１図ではループフィルタ４３８としてラグ形ループフィルタが用いられているが、ラグ形ループフィルタの代りに、ラグ・リード形ループフィルタ及びその変形が用いられても良い。また第１１１図に示された電圧制御発振器４３９の代りに、色々な電圧制御発振器４３９が用いられ得る。この場合、電圧制御発振器４３９を制御する電圧の範囲に応じて、同期信号増幅器４３７の出力電圧が変更されなければならない。第１１１図では同期信号増幅器４３７としてＮＯＴゲートが用いられているが、必要ならばＯＰアンプが用いられる。
【０３１０】
さて、図９６、９８、１０５，１０６に示す連動式カウンタ４０１の実施形態は、必ずしも第１００図のように他の全ての連動式カウンタ４０１と接続される必要はない。そこで以下では、連動式カウンタ４０１が規則的に配列された場合について説明する。
【０３１１】
第１１３図に示す連動装置の実施形態は、正方格子状に配列された連動式カウンタ４０１を隣接同士接続したネットワークである。この場合、連動信号用ラッチ回路４１４の個数は４となる。なお辺縁の連動式カウンタ４０１において、接続先のない連動信号用ラッチ回路４１４の入力はプルダウンされる。連動式カウンタ４０１を正方格子状に配列する代りに、第１１４図に示すように六角格子状に配列して隣接同士することもできる。このように連動式カウンタ４０１が配置されることにより、全ての連動信号用信号線の長さがほぼ等しくなるので、連動式カウンタ４０１は互いに連動し易くなる。したがって、パイプライン処理装置、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、シストリックアレイ、データフロープロセッサ、及び並列画像処理装置のように大規模で規則的なデジタル回路４０２に対して、これらの二次元連動装置は、連動式カウンタ４０１のカウント数、つまりクロック信号ＣＬＫの分周信号を容易に供給することができる。
【０３１２】
さらに、第１１６図に示すように、三次元連動装置は、上述の正方格子状及び六角格子状に配列された連動式カウンタ４０１を、三次元ＬＳＩ技術を用いて複数重ね合わせたネットワークである。連動式カウンタ４０１が正方格子状に配列した場合には、連動信号用ラッチ回路４１４の個数は６となり、連動式カウンタ４０１が六角格子状に配列した場合には、 連動信号用ラッチ回路４１４の個数は８となる。第１１６図の場合、正方格子状に配列された連動式カウンタ４０１のネットワークが３個積層されており、各々の連動式カウンタ４０１の連動信号が実線で表されている。なお、各々の連動式カウンタ４０１の連動信号用ラッチ回路４１４の入力端子のうち、隣接する連動式カウンタ４０１と接続されていないものは、 プルアップ又はプルダウンされているものとする。第１１６図から明らかなように、各層の連動式カウンタ４０１が重なり合うことにより、層間の連動信号の信号線の長さは等しく、しかも最短になる。したがって層間の配線材料を変更したり、 又はディレイラインなどを用いることにより、層を跨ぐ連動信号の伝搬遅延時間は、層内の連動信号の伝搬遅延時間と等しくなるように容易に調整され得るので、異なる層の連動式カウンタ４０１は互いに同期することができる。
【０３１３】
さらに、第１１７図に示すように、カウント数を分配するための連動装置は、正方格子状及び六角格子状に配列された連動式カウンタ４０１のネットワークと、プロセッサ１０１及び演算回路などのデジタル回路４０２と、フォトダイオード及びＡ／Ｄ変換回路２０４などのアナログ回路４０３と、を三次元ＬＳＩの異なる層に実装する。第１１７図の場合、 正方格子状に配列された連動式カウンタ４０１が第２層及び第５層に実装され、デジタル回路４０２が第１層、第３層及び第４層に実装され、 アナログ回路４０３が第６層に実装されている。なお、第１１７図において、実線は連動信号を表し、破線はカウント数を表す。また連動信号及びカウント数以外の信号線は省略されている。第２層及び第５層に実装された連動式カウンタ４０１のうち、重なり合ったもの同士は互いの連動信号を入力するので、第２層及び第５層にある全ての連動式カウンタ４０１は同じカウント数を生成することができる。さらに連動式カウンタ４０１のネットワークが デジタル回路４０２及びアナログ回路４０３と異なる層に実装され得るので、デジタル回路４０２及びアナログ回路４０３の配置によって連動式カウンタ４０１の配置がずれることもなく、しかも連動信号の信号線が迂回することもない。さらに三次元ＬＳＩの各層の間にノイズ対策を施すことにより、連動式カウンタ４０１はデジタル回路４０２及びアナログ回路４０３のノイズに影響されないので、連動式カウンタ４０１は安定に動作する。同様に、デジタル回路４０２及びアナログ回路４０３は、これらの配置場所に関係なく、最短距離の連動式カウンタ４０１から カウント数を入力することができる。このことは、ＬＳＩ設計者がデジタル回路４０２及びアナログ回路４０３の実装層内でカウント数の信号線を 引き回す必要がないことを意味するので、このＬＳＩ設計者は、デジタル回路４０２及びアナログ回路４０３を任意の場所に配置しても、カウント数の伝搬遅延時間を一定範囲内に収めることができる。したがって、デジタル回路４０２及びアナログ回路４０３の設計も容易になる。特に、第１１７図に示すような連動式カウンタ４０１のネットワークは、正方格子状及び六角格子状に配列されたプロセッサ１０１が一斉に処理したデータを垂直方向に向かってパイプライン処理するような、シストリックアレイ及び並列画像処理装置に対して 効率よくカウント数、つまりクロック信号ＣＬＫの分周信号を供給することができる。
【０３１４】
ところで、三次元連動装置及び カウント数を分配するための連動装置を用いると、全ての連動式カウンタ４０１はＬＳＩ全体に渡って同じカウント数を供給することができる。つまりこのカウント数を用いることにより、適当な信号がＬＳＩ全体に同時に分配されるように 連動式信号分配回路が設計され得る。
【０３１５】
第１１８図に示すように、連動式信号分配回路は、信号分配用デコーダ４５１によって連動式カウンタ４０１のカウント数を復号することにより、複数の復号結果を生成する。さらにこれらの復号結果のうちの２つがそれぞれ計時開始時刻及び計時終了時刻を表すとすると、信号分配用ラッチ回路４５２が適当な信号ＳＩＧＩＮを入力した場合、信号分配用ラッチ回路４５２は入力時刻から計時終了時刻まで信号ＳＩＧＩＮを記憶し、信号分配用論理ゲート４５３が、計時開始時刻にだけ、信号分配用ラッチ回路４５２によって記憶された信号ＳＩＧＩＮを信号分配用フリップフロップ回路４５４に出力し、信号分配用フリップフロップ回路４５４がクロック信号ＣＬＫに同期した信号ＳＩＧＯＵＴ及び信号ＳＩＧＯＵＴ’を出力する。これにより、連動式信号分配回路は、任意の時間遅延した信号ＳＩＧＩＮから、クロック信号ＣＬＫに同期し、しかもクロック信号ＣＬＫの周期の整数倍の時間だけアクティブである信号ＳＩＧＯＵＴを生成する。
【０３１６】
例えば第１１８図の場合、信号分配用デコーダ４５１は、０から７までのカウント数を表す連動式カウンタ４０１の３つの出力ＱＡ〜ＱＣと、それらの負論理出力ＱＡ’〜ＱＣ’と、を入力し、８つのＮＯＲゲートを用いて、０から７までのカウント数からそれぞれ８つの復号結果を生成する。すなわち、８つのＮＯＲゲートはそれぞれ複数（ここでは３つ）の入力端子を備え、分岐マトリクスＸにおいて、連動式カウンタ４０１の出力ＱＡ、ＱＢ及びＱＣは、復号結果０を出力するＮＯＲゲートに分配され、連動式カウンタ４０１の出力ＱＡ’、ＱＢ及びＱＣは、復号結果１を出力するＮＯＲゲートに分配され、連動式カウンタ４０１の出力ＱＡ、ＱＢ’及びＱＣは、復号結果２を出力するＮＯＲゲートに分配され、連動式カウンタ４０１の出力ＱＡ’、ＱＢ’及びＱＣは、復号結果３を出力するＮＯＲゲートに分配され、連動式カウンタ４０１の出力ＱＡ、ＱＢ及びＱＣ’は、復号結果４を出力するＮＯＲゲートに分配され、連動式カウンタ４０１の出力ＱＡ’、ＱＢ及びＱＣ’は、復号結果５を出力するＮＯＲゲートに分配され、連動式カウンタ４０１の出力ＱＡ、ＱＢ’及びＱＣ’は、復号結果６を出力するＮＯＲゲートに分配され、連動式カウンタ４０１の出力ＱＡ’、ＱＢ’及びＱＣ’は、復号結果７を出力するＮＯＲゲートに分配される。そこで、復号結果０〜７までの中から任意の２つを選んで、それぞれ計時開始時刻及び計時終了時刻とすることにより、 計時開始時刻がＨｉｇｈレベルになってから計時終了時刻がＨｉｇｈレベルになるまでの時間は、クロック信号ＣＬＫの周期の０倍から７倍となる。さらに８つのＮＯＴゲートが、それぞれ復号結果０から復号結果７までを入力し、それぞれ負論理復号結果０’〜７’までを出力する。したがって、負論理復号結果０’〜７’までを用いることにより、計時開始時刻及び計時終了時刻は負論理で表すこともできる。
【０３１７】
さて、第１１８図の場合、計時開始時刻は負論理復号結果３’であり、計時終了時刻は復号結果５である。そこで連動式信号分配回路が、負論理復号結果３’と復号結果５を用いて任意の時間遅延した信号ＳＩＧＩＮから信号ＳＩＧＯＵＴを生成するために、まず信号分配用ラッチ回路４５２は、２つの入力端子のうちの１つに信号ＳＩＧＩＮを入力し、信号ＱＳ’を出力する。信号分配用論理ゲート４５３は、２つの入力端子に出力信号ＱＳ’及び負論理復号結果３’を入力し、信号Ｊ３を出力する。信号分配用フリップフロップ回路４５４は、Ｊ端子に信号Ｊ３を入力し、Ｋ端子に復号結果５を入力する。また信号分配用フリップフロップ回路４５４のクロック端子にクロック信号ＣＬＫを入力しているので、信号分配用フリップフロップ回路４５４は、クロック信号ＣＬＫの立ち下がりに同期しながら、Ｑ端子から信号ＳＩＧＯＵＴを出力し、Ｑ’端子から信号ＳＩＧＯＵＴ’を出力する。最後に、分岐点Ｙにおいて、信号ＳＩＧＯＵＴが 信号分配用ラッチ回路４５２の２つの入力端子のうちのもう１つに分配される。以下では、第１１９図のタイミングチャートを参照しながら、第１１８図に示された連動式信号分配回路について説明する。
【０３１８】
まず、信号ＳＩＧＩＮがＨｉｇｈレベルになると、信号分配用ラッチ回路４５２は信号ＱＳ’をＬｏｗレベルにする。その後、信号ＳＩＧＩＮがＬｏｗレベルになったとしても、信号ＳＩＧＯＵＴがＨｉｇｈレベルになるまで、信号ＱＳ’はＬｏｗレベルのままである。信号ＱＳ’がＬｏｗレベルになった後、負論理復号結果３’がＬｏｗレベルの場合にのみ、信号分配用論理ゲート４５３は信号Ｊ３をＨｉｇｈレベルにする。つまり信号ＳＩＧＯＵＴがＨｉｇｈレベルになった後、連動式カウンタ４０１のカウント数が３になったならば、信号Ｊ３はＨｉｇｈレベルになる。このとき信号分配用フリップフロップ回路４５４のＪ端子がＨｉｇｈレベルになるので、信号ＳＩＧＯＵＴはクロック信号ＣＬＫの立ち下がり時にＨｉｇｈレベルになる。また、信号ＳＩＧＯＵＴが信号分配用ラッチ回路４５２に入力されるので、信号分配用ラッチ回路４５２はリセットされ、信号ＱＳ’はＨｉｇｈレベルになる。この状態で連動式カウンタ４０１のカウント数が４になったとしても、信号分配用フリップフロップ回路４５４のＪ端子及びＫ端子が 共にＬｏｗレベルになるので、信号ＳＩＧＯＵＴはＨｉｇｈレベルのままである。しかしながら、連動式カウンタ４０１のカウント数が５になると、復号結果５がＨｉｇｈレベルになり、信号分配用フリップフロップ回路４５４のＫ端子も Ｈｉｇｈレベルになる。つまり信号ＳＩＧＯＵＴはクロック信号ＣＬＫの立ち下がり時にＬｏｗレベルになる。第１１９図から明らかなように、信号ＳＩＧＩＮが入力されると、復号結果３’がＬｏｗレベルである際にクロック信号ＣＬＫが立ち下がった時刻から 復号結果５がＨｉｇｈレベルである際にクロック信号ＣＬＫが立ち下がった時刻まで信号ＳＩＧＯＵＴが出力されている。そこでデジタル回路４０２がＬＳＩの何処に配置されようとも、復号結果５の立ち上がり時にデジタル回路４０２は信号ＳＩＧＯＵＴを確実に入力することができる。このような機能はリセット信号、割込信号及び入出力信号など、既に設計されているデジタル回路４０２を殆んど変更することなく１つのシステムＬＳＩを組み込む場合には必要不可欠である。
【０３１９】
この他に、第１２０図に示すように、連動式信号分配回路は、分岐点Ｚにおいて、復号結果５が信号分配用ラッチ回路４５２の２つの入力端子のうちのもう１つに分配されても良い。第１１８図に示された連動式信号分配回路の場合、信号分配用ラッチ回路４５２は信号ＳＩＧＯＵＴによってリセットされる。したがって、信号ＳＩＧＯＵＴがＨｉｇｈレベルである際に信号ＳＩＧＩＮがＨｉｇｈレベルになったとしても、信号分配用ラッチ回路４５２は信号ＳＩＧＩＮを記憶することができない。これに対して、第１２０図に示された連動式信号分配回路の場合、信号分配用ラッチ回路４５２は復号結果５によってリセットされる。したがって、信号ＳＩＧＯＵＴがＨｉｇｈレベルである際に信号ＳＩＧＩＮがＨｉｇｈレベルになったとしても、復号結果５がＨｉｇｈレベルでなければ、信号分配用ラッチ回路４５２は信号ＳＩＧＩＮを記憶することができる。つまり、復号結果５がＨｉｇｈレベルからＬｏｗレベルに変った直後に信号ＳＩＧＩＮがＨｉｇｈレベルになったならば、信号分配用ラッチ回路４５２は信号ＳＩＧＩＮを記憶することができる。そこで復号結果５の代りに、信号分配用ラッチ回路４５２の２つの入力端子のうちのもう１つに復号結果４を入力すれば、信号ＳＩＧＯＵＴがＨｉｇｈレベルであったとしても、信号分配用ラッチ回路４５２は信号ＳＩＧＩＮを記憶することができるようになる。
【０３２０】
なお、第１１８図及び第１２０図の信号分配用デコーダ４５１、信号分配用ラッチ回路４５２及び信号分配用論理ゲート４５３にはＮＯＲゲートが用いられているが、ＮＡＮＤゲートなどが用いられても良い。また、第１１８図及び第１２０図では、 計時開始時刻及び計時終了時刻を表すためにそれぞれ負論理復号結果３’及び復号結果５が用いられているが、勿論他の復号結果及び負論理復号結果が用いられても良い。外部から適当な信号ＳＩＧＩＮが入力されると、信号分配用ラッチ回路４５２がこの信号を一旦記憶した後、信号分配用論理ゲート４５３によって計時開始時刻に信号分配用フリップフロップ回路４５４に入力される。信号分配用フリップフロップ回路４５４はクロック信号に同期して入力信号を記憶し、 計時終了時刻にリセットされる。これにより入力信号の伝搬遅延時間に関わらず、連動式信号分配回路は計時開始時刻前に到達した入力信号を 計時開始時刻から計時終了時刻まで出力することができる。なお入力信号の論理が反転している場合には信号分配用ラッチ回路４５２の前に論理ゲートを加えることにより、連動式信号分配回路は正常に動作することができる。
【０３２１】
さて、ここまでは連動装置について説明してきた。そこで以下では、本発明のイメージセンサ２５１の実施形態を挙げ、図面を参照して説明する。
第１２１図及び第１２２図に示すように、本発明におけるイメージセンサ２５１は複数のセンサモジュール２５２を備え、しかもこれらのセンサモジュール２５２の各々が画素信号を出力する。つまり、このイメージセンサ２５１はセンサモジュール２５２の数だけ画素信号を並列に出力することができる。ここで、もしこれらのセンサモジュール２５２の各々が１つの画素信号しか出力しなければ、このイメージセンサ２５１は従来の画素並列型と同等になる。なお、第１２１図及び第１２２図において、１個のセンサモジュール２５２はＳＭと略記され、隣接するセンサモジュール２５２同士の間隔は、 見易くするために広くなっている。また、第１２１図では、複数のセンサモジュール２５２が格子状に配列されており、第１２２図では、複数のセンサモジュール２５２が六角格子状に配列されている。この他に、複数のセンサモジュール２５２が直線状及び円形状に配列されても良いし、複数のセンサモジュール２５２が 任意の場所に配置されても良い。そこで以下では、イメージセンサ２５１が電荷結合素子２６３を用いる場合と、イメージセンサ２５１がＣＭＯＳ技術だけで製造される場合と、の両方において、１個のセンサモジュール２５２が複数の画素信号を順次出力する方法について説明する。
【０３２２】
まず、イメージセンサ２５１が電荷結合素子２６３を用いる場合、第１２３図に示すように、１画素を撮影する画素セル２５３は 少なくとも受光素子２６１及び電荷転送ゲート２６２から構成される。受光素子２６１にはフォトダイオード、フォトトランジスタ及びＨＡＲＰ（Ｈｉｇｈ−ｇａｉｎ  Ａｖａｌａｎｃｈｅ  Ｒｕｓｈｉｎｇ   ａｍｏｒｐｈｏｕｓ  Ｐｈｏｔｏｃｏｎｄｕｃｔｏｒ）膜が用いられ、必要に応じて電荷を蓄積するコンデンサ及び半導体スイッチが受光素子２６１に付加される。電荷転送ゲート２６２は半導体スイッチであり、画素セル２５３に行選択信号が入力されたとき、電荷転送ゲート２６２は導通する。これにより、受光素子２６１が蓄えた電荷が画素セル２５３から取り出される。そこで、第１２４図に示すように、請求項１記載の発明に対応するイメージセンサ２５１の実施形態において、センサモジュール２５２は複数の画素セル２５３を格子状に配列する。 第１２４図では、全ての画素セル２５３を一筆書でなぞるように電荷結合素子２６３がＳ字状に配置され、これらの画素セル２５３の各々において、電荷転送ゲート２６２の出力端子が電荷結合素子２６３に接続されている。また、電荷転送用駆動装置２６４が、少なくとも１本の行選択信号線２６５を介して、全ての画素セル２５３の電荷転送ゲート２６２に行選択信号を供給すると共に、少なくとも１本の電荷転送信号線２６６を介して、電荷結合素子２６３に電荷転送信号を供給し、少なくとも１個の受光素子２６１から電荷結合素子２６３に転送された電荷を、バケツリレー式にいずれか一端に転送させる。電荷結合素子２６３が転送した電荷は順次出力増幅器２６７に入力される。出力増幅器２６７は入力した電荷を電圧に変換した後、画素信号として出力する。なお電荷転送用駆動装置２６４は、イメージセンサ２５１の用途に応じて、１度に１つの行選択信号だけをアクティブにすることもできるが、ここでは主に、電荷転送用駆動装置２６４が全ての行選択信号を一斉にアクティブにする。これにより、電荷結合素子２６３は全ての受光素子２６１が蓄えた電荷をバケツリレー式に順次転送することができるので、センサモジュール２５２は全ての受光素子２６１から短時間に、しかも容易に電荷を取り出し、画素信号として順次出力することができる。さらに、電荷転送用駆動装置２６４が、少なくとも１本の電荷転送信号線２６６を介して、電荷結合素子２６３に電荷転送信号を供給した後、この電荷転送用駆動装置２６４は画素同期信号を出力する。これにより、全てのセンサモジュール２５２の外部から、全てのセンサモジュール２５２の各々が画素信号を出力していることが判別され得る。
【０３２３】
ところで、第１２４図では、電荷結合素子２６３がＳ字状に配置されていたが、第１２５図に示すように、電荷結合素子２６３は渦巻き状に配置されても良い。さらに複数の画素セル２５３が六角格子状に配列された場合、電荷結合素子２６３は第１２６図に示すように渦巻き状に配置され得る。なお、第１２６図では、１個の画素セル２５３はＰＣと略記されている。 これらのセンサモジュール２５２では、電荷結合素子２６３が センサモジュール２５２の辺縁に位置する画素セル２５３の受光素子２６１か、又は中心に位置する画素セル２５３の受光素子２６１か、から順番に電荷を取り出すことができるので、センサモジュール２５２から複数の画素信号を受け取る電子回路が受け取る画素信号の数を制限するだけで、イメージセンサ２５１は解像度を容易に変更することができる。
【０３２４】
次に、イメージセンサ２５１がＣＭＯＳ技術だけ製造される場合、第１２７図に示すように、１画素を撮影する画素セル２５３は 少なくとも受光素子２６１、電荷増幅器２７１及び行選択ゲート２７２から構成される。受光素子２６１にはフォトダイオード、フォトトランジスタ及びＨＡＲＰ膜が用いられ、必要に応じて電荷を蓄積するコンデンサ及び半導体スイッチが受光素子２６１に付加される。行選択ゲート２７２は半導体スイッチであり、画素セル２５３に行選択信号が入力されたとき、行選択ゲート２７２は導通する。これにより、受光素子２６１が蓄えた電荷が画素セル２５３から取り出される。そこで、第１２８図に示すように、請求項２記載の発明に対応するイメージセンサ２５１の実施形態において、センサモジュール２５２は複数の画素セル２５３を格子状に配列する。第１２８図から明らかなように、このセンサモジュール２５２の構成は一般的なＣＭＯＳ技術を用いたイメージセンサ２５１の構成と同等である。第１２８図では、９個の画素セル２５３は３行３列の行列に配列される。また、垂直シフトレジスタ２７３及び水平シフトレジスタ２７４には３段の１ビット循環シフトレジスタが用いられ、それぞれ１つの出力だけがアクティブになる。さらに水平シフトレジスタ２７４が一巡した場合、垂直シフトレジスタ２７３が１回シフトする。したがって、垂直シフトレジスタ２７３及び水平シフトレジスタ２７４の組み合せにより、９個の画素セル２５３の中から１個を選択することができる。詳しくは以下の通りである。
【０３２５】
まず、垂直シフトレジスタ２７３が第１行の行選択信号をアクティブにした場合、第１行に位置する３個の画素セル２５３の行選択ゲート２７２が 導通するので、３個の画素セル２５３の各々において、受光素子２６１に蓄えられた電荷は電荷増幅器２７１によって電圧に変換され、この電圧が行選択ゲート２７２の出力端子から出力される。したがって、第１行に位置する３個の画素セル２５３が出力した電圧だけがそれぞれ３本の垂直信号線２７８を介して、３個のノイズキャンセラ２７５に入力される。一方で、第２行及び第３行に位置する６個の画素セル２５３の各々では、受光素子２６１が電荷を蓄えている。各列のノイズキャンセラ２７５には、同じ列に位置する３個の画素セル２５３の電荷増幅器２７１及び行選択ゲート２７２が発生するノイズを抑えるために、ＣＤＳ（相関二重サンプリング）回路が用いられる。水平シフトレジスタ２７４が 第１列の列選択信号をアクティブにした場合、第１列に位置するノイズキャンセラ２７５が出力した電圧が 出力増幅器２６７に入力され、この出力増幅器２６７がこの電圧を増幅した後、この出力増幅器２６７は第１行第１列の画素セル２５３に対応する画素信号を出力する。同様に、水平シフトレジスタ２７４が第２列及び第３列の列選択信号をアクティブにした場合、出力増幅器２６７はそれぞれ第１行第２列及び第１行第３列の画素セル２５３に対応する画素信号を出力する。なお、水平シフトレジスタ２７４は１つの列を選択した後に、画素同期信号を出力する。これにより、出力増幅器２６７が画素信号を出力していることがこのセンサモジュール２５２の外部から判別され得る。次に、水平シフトレジスタ２７４の出力が一巡したら、垂直シフトレジスタ２７３は第２行の行選択信号をアクティブにする。最後に、垂直シフトレジスタ２７３は第３行の行選択信号をアクティブにして、その後水平シフトレジスタ２７４の出力が一巡したら、垂直シフトレジスタ２７３は第１行の行選択信号をアクティブにする。これにより、垂直シフトレジスタ２７３及び水平シフトレジスタ２７４は全ての画素セル２５３を順次選択することができるので、センサモジュール２５２は全ての画素信号を出力することができる。
【０３２６】
なお、第１２８図では、９個の画素セル２５３が格子状に配列されているが、勿論複数の画素セル２５３が六角格子状に配列されても良い。この場合、行選択信号線２６５及び列選択信号線２７７と、垂直信号線２７８及び水平信号線２７９は、それぞれ、これらの画素セル２５３の配置に合わせてジクザグに配線されるか、又は１２０度の角度で交わるように配線される。
【０３２７】
最後に、１個のセンサモジュール２５２を９０度回転させることにより、このセンサモジュール２５２の行及び列が入れ替わる。勿論、垂直シフトレジスタ２７３及び水平シフトレジスタ２７４も同様に入れ替わる。したがって、請求項１及び２記載の発明に対応するイメージセンサ２５１の実施形態には、行と列が入れ替わったイメージセンサ２５１も含まれる。
【０３２８】
ここまでは、複数のセンサモジュール２５２がＬＳＩの実装面に実装される場合について説明してきた。当然のことながら、これらのセンサモジュール２５２の各々から出力される画素信号用の信号線及び画素同期信号用の信号線も同一実装面に配線される。しかしながら、この場合、これらのセンサモジュール２５２が実装されるイメージセンサ２５１の場所によって、画素信号用の信号線の配線長及び画素同期信号用の信号線の配線長はそれぞれ異なり、しかも全ての受光素子２６１の開口率が低くなる。そこで以下では、三次元ＬＳＩ技術を用いて、全ての画素信号及び画素同期信号がイメージセンサ２５１の裏面に出力されるイメージセンサ２５１について説明する。
【０３２９】
まず、第１２９図及び第１３０図に示すように、全てのセンサモジュール２５２の各々は、イメージセンサ２５１の背面から画素信号及び画素同期信号を出力する。この画素信号用の信号線及び画素同期信号用の信号線の配線は、イメージセンサ２５１の基板に穴を開け、さらにその穴の中に銅などの金属を充填する三次元ＬＳＩ技術を用いて実現される。第１２９図及び第１３０図 から明らかなように、イメージセンサ２５１の設計者は、全てのセンサモジュール２５２から出力される全ての画素信号用の信号線の配線長及び全ての画素同期信号用の信号線の配線長を、それぞれ等しくすることができる。しかもこの設計者は、センサモジュール２５２の実装面に画素信号用の信号線及び画素同期信号用の信号線を配線する必要がないので、この設計者は、センサモジュール２５２の実装面積を小さくし、さらに隣接するセンサモジュール２５２同士の間隔を狭くすることができる。したがって、この設計者は、イメージセンサ２５１に多数のセンサモジュール２５２を配列することができる。
【０３３０】
ところで、三次元ＬＳＩ技術を用いることにより、１個のセンサモジュール２５２自体が複数の層から構成され得る。例えば、第１３１図に示すように、１個のセンサモジュール２５２は、電荷結合素子２６３がＳ字状に配置された第１層と、格子状に配列された複数（ここでは９個）の電荷転送ゲート２６２、電荷転送用駆動装置２６４ 及び出力増幅器２６７が実装された第２層と、 複数（ここでは９個）の受光素子２６１が格子状に配列された第３層と、から構成される。このセンサモジュール２５２において複数の信号線が以下のように配線される。なお、第１３１図では、電源線、グラウンド線、クロック信号線及びリセット信号線などは省略されている。
【０３３１】
まず第２層では、複数（ここでは３本）の行選択信号線２６５が、それぞれ各行に位置する複数（ここでは３個）の電荷転送ゲート２６２を貫くように配線され、少なくとも１本の電荷転送信号線２６６が全ての電荷転送ゲート２６２に沿ってＳ字状に配線される。次に第１層では、電荷結合素子２６３が電荷転送ゲート２６２に沿ってＳ字状に配置されている。このとき、電荷転送信号線２６６が電荷結合素子２６３と重なるように、第２層が第１層に積層され、電荷転送信号線２６６から電荷結合素子２６３の上面に向けて、複数の信号線が配線され、さらに複数の電荷転送ゲート２６２の各々から電荷結合素子２６３の側面に向けて、信号線が配線される。次に、第１層の電荷結合素子２６３の末端から第２層の出力増幅器２６７に向けて信号線が配線され、出力増幅器２６７が出力する画素信号用の信号線が第１層を貫く。同様に、 電荷転送用駆動装置２６４が出力する 画素同期信号用信号線が第１層を貫く。最後に、全ての受光素子２６１の各々が、対応する電荷転送ゲート２６２と重なるように、第３層が第２層に積層され、全ての受光素子２６１の各々から対応する電荷転送ゲート２６２に向けて信号線が配線される。これにより、１個のセンサモジュール２５２において、信号線の総配線長が短くなるばかりか、受光素子２６１の開口率が高くなり、しかもイメージセンサ２５１において、全ての受光素子２６１が均等に配置され得る。
【０３３２】
なお、第１３１図に示すように、受光素子２６１及び電荷転送用駆動装置２６４などが実装された層と異なる層に、電荷結合素子２６３が実装されることにより、イメージセンサ２５１の設計者は複数のＬＳＩ製造技術を容易に組み合せることができる。しかも検査済の複数のセンサモジュール２５２をイメージセンサ２５１の基板の上に格子状に積層することにより、この設計者はイメージセンサ２５１の歩留まりを上げることもできる。さらに、全ての電荷転送信号線２６６にディレイラインが用いられ、出力増幅器２６７が接続された電荷結合素子２６３の末端から電荷転送用駆動装置２６４がパルス信号を供給することにより、出力増幅器２６７が接続された電荷結合素子２６３の末端からもう一方の末端に向けて電荷転送信号が順番に伝搬するので、電荷結合素子２６３に蓄えられた電荷は、出力増幅器２６７が接続された電荷結合素子２６３の末端に向けて、バケツリレー式に転送される。
【０３３３】
加えて、第１３２図に示すように、１個のセンサモジュール２５２は、格子状に配列された複数（ここでは９個）の行選択ゲート２７２、垂直シフトレジスタ２７３、水平シフトレジスタ２７４、複数（ここでは３個）のノイズキャンセラ２７５、複数（ここでは３個）の列選択ゲート２７６及び出力増幅器２６７が実装された第１層と、複数（ここでは９個）の電荷増幅器２７１が格子状に配列された第２層と、複数（ここでは９個）の受光素子２６１が格子状に配列された第３層と、から構成される。 このセンサモジュール２５２において 複数の信号線が以下のように配線される。なお、第１３２図では、電源線、グラウンド線、クロック信号線及びリセット信号線などは省略されている。
【０３３４】
まず第１層では、複数（ここでは３本）の行選択信号線２６５が、垂直シフトレジスタ２７３から、 それぞれ各行に位置する複数（ここでは３個）の行選択ゲート２７２を貫くように配線され、複数（ここでは３本）の垂直信号線２７８が、それぞれ各列に位置する複数（ここでは３個）の行選択ゲート２７２を貫くように、それぞれ複数のノイズキャンセラ２７５に向けて配線されている。次に、これらのノイズキャンセラ２７５からそれぞれ各列に位置する複数の列選択ゲート２７６に向けて 複数の信号線が配線され、さらに水平シフトレジスタ２７４からこれらの列選択ゲート２７６に向けて複数（ここでは３本）の列選択信号線２７７が配線される。また、水平信号線２７９がこれらの列選択ゲート２７６を貫くように、出力増幅器２６７に向けて配線される。このとき、全ての電荷増幅器２７１の各々が、対応する行選択ゲート２７２と重なるように、第２層が第１層に積層され、これらの電荷増幅器２７１の各々から対応する行選択ゲート２７２の上面に向けて信号線が配線される。次に、出力増幅器２６７が出力する画素信号用の信号線が第１層の背面に達する。同様に、水平シフトレジスタ２７４が出力する画素同期信号用の信号線が第１層の背面に達する。最後に、全ての受光素子２６１の各々が、 対応する電荷増幅器２７１と重なるように、第３層が第２層に積層され、全ての受光素子２６１の各々から対応する電荷増幅器２７１に向けて、信号線が配線される。これにより、１個のセンサモジュール２５２において、信号線の総配線長が短くなるばかりか、受光素子２６１の開口率が高くなり、しかもイメージセンサ２５１において、全ての受光素子２６１が均等に配置され得る。
【０３３５】
さて、ここまでは、三次元ＬＳＩ技術を用いて、全てのセンサモジュール２５２が背面から 複数の画素信号及び複数の画素同期信号を出力するイメージセンサ２５１について説明してきた。以下では、全てのセンサモジュール２５２が出力する複数の画素信号を複数のデジタル回路４０２が並列に処理した後、これらのデジタル回路４０２が複数の画素データに変換するイメージセンサ２５１について説明する。
【０３３６】
第１３３図に示すように、請求項３記載の発明に対応するイメージセンサ２５１の実施形態は、二次元格子状に配列された複数のデジタル回路４０２が実装された第１層と、二次元格子状に配列された複数のＡ／Ｄ変換回路２０４が実装された第２層と、二次元格子状に配列された複数のセンサモジュール２５２が実装された第３層と、から構成され、全てのＡ／Ｄ変換回路２０４が、それぞれ対応するデジタル回路４０２の上に積層され、さらに全てのセンサモジュール２５２が、それぞれ対応するＡ／Ｄ変換回路２０４の上に積層される。また、全てのセンサモジュール２５２の各々から、対応するＡ／Ｄ変換回路２０４に向けて、画素信号用の信号線が配線され、全てのＡ／Ｄ変換回路２０４の各々から、対応するデジタル回路４０２に向けて、ｎビットの画素データを送信するｎ本の信号線が配線され、全てのセンサモジュール２５２の各々から、対応するデジタル回路４０２に向けて、画素同期信号用の信号線が配線される。したがって、これらの信号線は全て交差せず、しかも全てのＡ／Ｄ変換回路２０４が常時独立に画素信号をｎビットの画素データに変換する。 なお第１３３図では、全てのデジタル回路４０２、全てのＡ／Ｄ変換回路２０４ 及び全てのセンサモジュール２５２が、それぞれ格子状に配列されているが、勿論これらは六角格子状に配列されても良い。加えて、第１３３図では、電源線、グラウンド線、クロック信号線、リセット信号線及び割り込み信号線などは省略されている。
【０３３７】
さて、クロック信号がイメージセンサ２５１全体に供給される場合、全てのデジタル回路４０２の各々は、シフトレジスタ及びシリアル／パラレル変換回路などを用いることにより、画素同期信号に合わせて、対応するセンサモジュール２５２が順番に出力する全ての画素信号を 画素データとして受信することができる。最後に、このデジタル回路４０２は、画像処理を行った結果を結果データとして出力することができる。このとき、このデジタル回路４０２が、隣接するデジタル回路４０２と少なくとも１つの画素データを通信すれば、このデジタル回路４０２は複雑な画像処理を行うことができる。
【０３３８】
ところで、全てのセンサモジュール２５２の各々が多数の受光素子２６１を有するならば、対応するデジタル回路４０２の実装面積は大きくなるので、このデジタル回路４０２は、プロセッサ１０１及び１組の大容量のメモリ１０２を有することができる。したがって、全てのデジタル回路４０２の各々において、１組のメモリ１０２は、対応するセンサモジュール２５２が生成した全ての画素信号を画素データとして記憶することができ、しかもプロセッサ１０１は、これらの画素データを参照して画像処理をすることができる。この際、プロセッサ１０１がこれらの画素データから、メモリ書き換え用同期信号、記憶データ及びメモリアドレスを 生成することができれば、プロセッサ１０１は １組のメモリ１０２中の記憶データを容易に変更することもできる。したがって、イメージセンサ２５１中の全てのセンサモジュール２５２に、メモリ書き換え用同期信号、記憶データ及びメモリアドレスを含む光が照射されれば、全てのデジタル回路４０２において１組のメモリ１０２中の記憶データが一斉に書き換えられ得る。そこで以下では、少なくとも１個のセンサモジュール２５２にメモリ書き換え用同期信号、記憶データ、メモリアドレスの情報を含む光が照射されることにより、少なくとも１個のデジタル回路４０２において、プロセッサ１０１が１組のメモリ１０２中の記憶データを変更する方法について説明する。
【０３３９】
まず、第１３４図に示すように、イメージセンサ２５１中の全てのデジタル回路４０２の各々が、プロセッサ１０１、１組のメモリ１０２及び外部と通信をするためのコントローラ１０３を備え、プロセッサ１０１が アドレスバス５１を介して１組のメモリ１０２及びコントローラ１０３を選択し、データバス５２を介して１組のメモリ１０２及びコントローラ１０３と通信するものとする。このとき、プロセッサ１０１及びコントローラ１０３にはクロック信号が供給され、さらにプロセッサ１０１は読み出し(READ)信号及び書き込み(WRITE)信号のような制御信号を１組のメモリ１０２及びコントローラ１０３に送信する。なお、プロセッサ１０１及び１組のメモリ１０２には汎用品が用いられても良い。勿論、１組のメモリ１０２は三次元ＬＳＩ技術を用いて積層された多数のメモリ素子から構成されても良い。特に、このメモリ１０２の少なくとも１部にフラッシュメモリ及びＭＲＡＭ（Ｍａｇｎｅｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような不揮発性メモリが用いられた場合、このメモリ１０２のこの部分は常時プログラムを記憶しておくことができる。
【０３４０】
一方で、第１３５図に示すように、コントローラ１０３は、アドレスバッファ５３、アドレスデコーダ５４、データバッファ５５、フラグエンコーダ５９、ステータスレジスタ６０、前入力データレジスタ６１、結果データレジスタ６２、前入力シフトレジスタ６８及び前入力カウンタ６９を有する。アドレスバッファ５３はアドレスバス５１を介してプロセッサ１０１からアドレスを受信する。アドレスデコーダ５４はこのアドレスを復号することにより、前入力データレジスタ６１及びステータスレジスタ６０を選択する。データバッファ５５はデータバス５２を介してプロセッサ１０１とデータを通信する。プロセッサ１０１が読み出し信号を出力したときだけ、このデータバッファ５５は内部データバス５６からデータバス５２にデータを出力する。コントローラ１０３が複数の画素データを入力した場合、前入力シフトレジスタ６８が 画素同期信号に同期しながら、これらの画素データを順次格納すると共に、前入力カウンタ６９が画素同期信号の数を数える。ただし、この前入力カウンタ６９はアップカウンタでもダウンカウンタでも良い。前入力シフトレジスタ６８が 全て（ここでは９つ）の画素データを格納したときに、前入力カウンタ６９は前入力送達(FRONT INPUT SEND)を１にし、フラグエンコーダ５９に出力する。このフラグエンコーダ５９は、前入力送達を含むステータス(STATUS)信号を常時生成し、さらにステータスレジスタ６０に出力すると共に、クロック信号に同期しながら、前入力データレジスタ６１及びステータスレジスタ６０にトリガー信号を出力する。これにより、前入力データレジスタ６１中の全て（ここでは９個）のレジスタは、このトリガー信号に同期しながら、それぞれ９個の画素データを格納すると共に、ステータスレジスタ６０は、このトリガー信号に同期しながら、ステータス信号を格納する。そこでアドレスデコーダ５４が プロセッサ１０１からアドレスを受信したとき、アドレスデコーダ５４は、前入力データレジスタ６１中の全てのレジスタ及びステータスレジスタ６０のうちの１つを選択することができ、この選択されたレジスタから内部データバス５６に向けて 画素データ又はステータスが出力される。したがって、プロセッサ１０１は画素データ又はステータスを読み込むことができる。なお、アドレスデコーダ５４が ステータスレジスタ６０を選択した場合、フラグエンコーダ５９がステータス中の前入力送達を一端０にする。これにより、プロセッサ１０１がステータス中の前入力送達を検査するだけで、コントローラ１０３が全ての画素データを入力したかどうかプロセッサ１０１は判別することができる。最後に、プロセッサ１０１がコントローラ１０３に結果データを書き込む場合、プロセッサ１０１は、結果データレジスタ６２のアドレスをアドレスバス５１に出力し、さらに結果データをデータバス５２に出力する。アドレスデコーダ５４がこのアドレスを復号して結果データレジスタ６２を選択することにより、結果データレジスタ６２は内部データバス５６から結果データを入力することができる。ここでプロセッサ１０１が書き込み信号を出力することにより、フラグエンコーダ５９がこの書き込み信号を入力し、トリガー信号を生成するので、��果データレジスタ６２は、入力した結果データを保持することができる。保持された結果データは結果データレジスタ６２から外部に出力される。なお、フラグエンコーダ５９は、トリガー信号を生成した後、必要に応じて結果送達(RESULT SEND)を出力することができるものとする。この結果送達は、画素同期信号と同様に、結果データが出力されていることを示すものである。
【０３４１】
さて、第１３６図に示すように、全てのセンサモジュール２５２が実装されたイメージセンサ２５１の表面に、ディスプレイ及びレーザ装置のような光源２９１が光を照射する。これにより、全てのデジタル回路４０２の各々において、コントローラ１０３が、画素同期信号に合わせて、対応するセンサモジュール２５２の全ての受光素子２６１が受光した光を複数の画素データとして順次入力する。さらに、少なくとも１個のデジタル回路４０２において、プロセッサ１０１が これらの画素データを１組のメモリ１０２に記憶した後、プロセッサ１０１が、これらの画素データからメモリ書き換え用同期信号、記憶データ及びメモリアドレスを生成し、さらにこのメモリ書き換え用同期信号に応じて、このメモリアドレスにこの記憶データを格納する。プロセッサ１０１が１組のメモリ１０２中の１つの記憶データを書き換えるためのメモリ書き換えルーチンは 第１３７図のようになる。以下、このメモリ書き換えルーチンについて説明する。
【０３４２】
ステップ８００１で、プロセッサ１０１は、プロセッサ１０１のレジスタ中のデータを１組のメモリ１０２に退避して、プロセッサ１０１のレジスタを初期化する。
ステップ８００２で、プロセッサ１０１は、コントローラ１０３からステータスを入力する。
ステップ８００３で、プロセッサ１０１は、ステータス中の前入力送達を判定する。もし前入力送達が１であれば（ステップ８００３：ＹＥＳ）、ステップ８００４に移行する。さもなくば（ステップ８００３：ＮＯ）、ステップ８０１０に移行する。
【０３４３】
ステップ８００４で、プロセッサ１０１は、コントローラ１０３から全ての画素データを１つずつ読み込んで、１組のメモリ１０２に順次格納する。
ステップ８００５で、プロセッサ１０１は、１組のメモリ１０２に格納された複数の画素データから 少なくとも１ビットのメモリ書き換え用同期信号を生成する。
ステップ８００６で、プロセッサ１０１は、メモリ書き換え用同期信号を判定する。もしメモリ書き換え用同期信号が１であれば（ステップ８００６：ＹＥＳ）、ステップ８００７に移行する。さもなくば（ステップ８００６：ＮＯ）、ステップ８０１０に移行する。
【０３４４】
ステップ８００７で、プロセッサ１０１は、１組のメモリ１０２に格納された複数の画素データから少なくとも１ビットの記憶データを生成する。
ステップ８００８で、プロセッサ１０１は、１組のメモリ１０２に格納された複数の画素データから 少なくとも１ビットのメモリアドレスを生成する。
ステップ８００９で、プロセッサ１０１は、生成された記憶データを生成されたメモリアドレスに格納する。このとき、このメモリアドレスには適当なオフセットアドレスが加えられても良い。
ステップ８０１０で、プロセッサ１０１は、１組のメモリ１０２に退避されたデータをプロセッサ１０１のレジスタに復元し、このメモリ書き換えルーチンを終了する。
【０３４５】
なお、ステップ８００５において、プロセッサ１０１が２ビット以上のメモリ書き換え用同期信号を生成できる場合、複数のデジタル回路４０２の各々に適当な識別番号が割り振られるものとする。このときステップ８００６において、これらのデジタル回路４０２が、 それぞれメモリ書き換え用同期信号と自分の識別番号を比較することにより、これらのデジタル回路４０２は、現在照射されている光が自分用の記憶データを含んでいるのか判断することができる。したがって、全てのセンサモジュール２５２の受光素子２６１に光源２９１から同じ光が照射されたとしても、特定のデジタル回路４０２の１組のメモリ１０２に記憶された記憶データだけを変更することができる。
【０３４６】
この他に、第１３６図では、格子状に配列された複数のセンサモジュール２５２、格子状に配列された複数のＡ／Ｄ変換回路２０４及び格子状に配列された複数のデジタル回路４０２が積層されているが、勿論、１個のセンサモジュール２５２、１個のＡ／Ｄ変換回路２０４及び１個のデジタル回路４０２がＬＳＩ中の任意の位置に配置されても良い。さらにこれらがＬＳＩの１つの実装面に配置されても良い。
【０３４７】
ところで、第１３７図に示されたメモリ書き換えルーチンの場合、少なくとも１個のデジタル回路４０２において、プロセッサ１０１は定期的にコントローラ１０３を監視しなければならない。したがって、常に光信号が入力されるような受信装置として イメージセンサ２５１が利用される場合、このメモリ書き換えルーチンは適しているけれども、常にメモリ１０２中のプログラムを書き換える必要がない一般的なイメージセンサ２５１の用途では、このメモリ書き換えルーチンのオーバーヘッドが大きくなるばかりか、入力された画像によってメモリ書き換え信号が勝手に生成されてしまう可能性もある。しかしながら、もしプロセッサ１０１が少なくとも１つのメモリ書き換え信号を入力することができれば、メモリ書き換えルーチンのオーバーヘッドは小さくなるし、さらに入力された画像によってメモリ書き換え信号が勝手に生成されることはない。そこで、少なくとも１つのメモリ書き換え信号がイメージセンサ２５１に入力された際に、全てのセンサモジュール２５２が実装されたイメージセンサ２５１の表面に、ディスプレイ及びレーザ装置のような光源２９１が光を照射する。ただし、１つのメモリ書き換え信号が 全てのデジタル回路４０２のプロセッサ１０１に入力されても良いし、複数のイメージ書き換え信号のうちいずれか１つが複数のデジタル回路４０２のプロセッサ１０１に入力されても良い。メモリ書き換え信号は一種の割り込み信号であり、このメモリ書き換え信号がプロセッサ１０１に入力されたときに、プロセッサ１０１は、１組のメモリ１０２中に記憶されたメモリ書き換えルーチンに従って、プログラムなど１組のメモリ１０２中の記憶データを書き換える。これにより、少なくとも１つのメモリ書き換え信号を入力した１個のデジタル回路４０２では、プロセッサ１０１が、これらの画素データからメモリ書き換え用同期信号、記憶データ及びメモリアドレスを生成し、さらにこのメモリ書き換え用同期信号に応じて、このメモリアドレスにこの記憶データを格納する。メモリ書き換え信号がプロセッサ１０１に入力された際に、プロセッサ１０１が１組のメモリ１０２中の少なくとも１つの記憶データを書き換えるためのメモリ書き換えルーチンは第１３８図のようになる。以下、このメモリ書き換えルーチンについて説明する。
【０３４８】
ステップ８１０１で、プロセッサ１０１は、プロセッサ１０１のレジスタ中のデータを１組のメモリ１０２に退避して、プロセッサ１０１のレジスタを初期化する。
ステップ８１０２で、プロセッサ１０１は、コントローラ１０３からステータスを入力する。
ステップ８１０３で、プロセッサ１０１は、ステータス中の前入力送達を判定する。もし前入力送達が１であれば（ステップ８１０３：ＹＥＳ）、ステップ８１０４に移行する。さもなくば（ステップ８１０３：ＮＯ）、ステップ８１０２に移行する。
ステップ８１０４で、プロセッサ１０１は、コントローラ１０３から全ての画素データを１つずつ読み込んで、１組のメモリ１０２に順次格納する。
ステップ８１０５で、プロセッサ１０１は、１組のメモリ１０２に格納された複数の画素データから少なくとも１ビットのメモリ書き換え用同期信号を生成する。
【０３４９】
ステップ８１０６で、プロセッサ１０１は、メモリ書き換え用同期信号を判定する。もしメモリ書き換え用同期信号が１であれば（ステップ８１０６：ＹＥＳ）、ステップ８１０７に移行する。さもなくば（ステップ８１０６：ＮＯ）、ステップ８１０２に移行する。
ステップ８１０７で、プロセッサ１０１は、１組のメモリ１０２に格納された複数の画素データから少なくとも１ビットの記憶データを生成する。
ステップ８１０８で、プロセッサ１０１は、１組のメモリ１０２に格納された複数の画素データから少なくとも１ビットのメモリアドレスを生成する。
ステップ８１０９で、プロセッサ１０１は、生成された記憶データを生成されたメモリアドレスに格納する。このとき、このメモリアドレスには適当なオフセットアドレスが加えられても良い。
【０３５０】
ステップ８１１０で、プロセッサ１０１は、メモリ書き換え信号を判定する。もしメモリ書き換え信号が１であれば（ステップ８１１０：ＹＥＳ）、ステップ８１０２に移行する。さもなくば（ステップ８１１０：ＮＯ）、ステップ８１１１に移行する。
ステップ８１１１で、プロセッサ１０１は、１組のメモリ１０２に退避されたデータをプロセッサ１０１のレジスタに復元し、このメモリ書き換えルーチンを終了する。
【０３５１】
さて、ここまでは、プロセッサ１０１が１組のメモリ１０２中の少なくとも１つの記憶データを書き換えるためのメモリ書き換えルーチンについて説明してきた。上述のように、このメモリ書き換えルーチンのステップ８００５、８００７及び８００８において、プロセッサ１０１は１組のメモリ１０２中の複数の画素データから、それぞれメモリ書き換え用同期信号、記憶データ及びメモリアドレスを生成しなければならない。そこで以下では、１個のセンサモジュール２５２が３×３の受光素子２６１を有する際に、対応するデジタル回路４０２のプロセッサ１０１が１組のメモリ１０２中の複数の画素データから２ビットのデジタル情報を生成する方法について説明する。
【０３５２】
まず、プロセッサ１０１は、光源２９１からこのセンサモジュール２５２に照射された光を 二値の画素データとして扱うものとする。したがって、対応するデジタル回路４０２の１組のメモリ１０２に格納される９つの画素データの組み合せの数は２の９乗＝５１２通りである。次に、光源２９１がセンサモジュール２５２の９個の受光素子２６１にそれぞれ異なる強さの光を照射できるように、光源２９１とセンサモジュール２５２が配置されるものとする。したがって、対応するデジタル回路４０２の１組のメモリ１０２には、実際に５１２パターンの画素データが格納され得る。最後に、光源２９１がセンサモジュール２５２に照射する光は縞模様であるものとする。したがって、センサモジュール２５２が受光する縞の幅は、０〜３画素となる。このとき、センサモジュール２５２が、光源２９１が照射する光を横倒しや上下逆さまに受光したとしても、さらに１組のメモリ１０２に格納される９つの画素データのうち１つが間違ったとしても、プロセッサ１０１は正確にデジタル情報を生成しなければらない。そこでプロセッサ１０１が、１組のメモリ１０２に格納された９つの画素データを、第１３９図及び第１４０図に示す７４パターンの画素データと比較することにより、プロセッサ１０１は１である画素データの割合が０、１／３、２／３及び１である４グループの中から１つを正確に選ぶことができる。つまりプロセッサ１０１は２ビットのデジタル情報を生成することができる。なお、第１３９図及び第１４０図では、黒い四角が０を表し、白い四角が１を表すものとする。 また第１３９図（ａ）は１である画素データの割合が０である１つのパターンの画素データを示し、第１３９図（ｂ）〜（ｉ）は１である画素データの割合が１／３である３６パターンの画素データを示し、 第１４０図（ａ）〜（ｈ）は１である画素データの割合が２／３である３６パターンの画素データを示し、第１４０図（ｉ）は１である画素データの割合が１である１つのパターンの画素データを示す。
【０３５３】
なお、ここではプロセッサ１０１が光源２９１から照射された光を二値の画素データとして扱う場合について説明したが、 勿論プロセッサ１０１が この光を複数ビットの画素データとして扱うことができるように、光源２９１及びセンサモジュール２５２が配置されることにより、プロセッサ１０１は２ビット以上のデジタル情報を生成することができる。さらに光源２９１が、正方形、三角形、十字のように縞模様よりも複雑なパターンを出力することにより、プロセッサ１０１は２ビット以上のデジタル情報を生成することができる。特にセンサモジュール２５２が多数の受光素子２６１を有すれば、プロセッサ１０１は、位置ずれ及びノイズによる誤動作を防ぎながら、２ビット以上のデジタル情報を生成することができる。
【０３５４】
ところで、センサモジュール２５２は、原色フィルタを用いることにより、赤、緑及び青を検知したり、さらには補色フィルタを用いることにより、シアン、マジェンダ、イエロー及び緑を検知することができる。この他に、受光素子２６１に焦電素子を用いることにより、センサモジュール２５２は赤外線を検知することもできる。そこでカラー映像のような複数の帯域を含む光を 光源２９１がセンサモジュール２５２に照射することにより、対応するデジタル回路４０２の１組のメモリ１０２は、 受光素子２６１の数に帯域数を掛け合わせた数の画素データを 格納することができる。例えば、３×３の受光素子２６１を有するセンサモジュール２５２に原色フィルタが取り付けられた場合、プロセッサ１０１は、前述の方法に従い、 ６ビットのデジタル情報を生成することができる。勿論、赤、緑及び青の３つの帯域がそれぞれメモリ書き換え用同期信号、記憶データ及びメモリアドレスに割り当てられることにより、プロセッサ１０１は２ビットのメモリ書き換え用同期信号、２ビットの記憶データ及び２ビットのメモリアドレスを生成することもできる。
【０３５５】
さて、第１３６図に示したように、ディスプレイのような光源２９１を用いた場合、第１３９図 及び第１４０図のようなパターンの光をイメージセンサ２５１の全てのセンサモジュール２５２に照射するためには、この光源２９１は高解像度の画像を表示しなければならない。しかしながら、もし光源２９１が干渉縞を発生させることができれば、この光源２９１は、第１３９図及び第１４０図のようなパターンの光を簡単にイメージセンサ２５１の全てのセンサモジュール２５２に照射することができる。例えば、第１４１図に示すように、透過型の回折格子２９３が用いられた場合、 光源２９１によって照射された単波長の光は、レンズ２９２により平行波に変換され、さらにこの回折格子２９３に照射されることにより、この回折格子２９３は、各々の縞の幅が極めて細い干渉縞を発生させることができる。したがって、イメージセンサ２５１の全てのセンサモジュール２５２は、縞の幅が同じ光を受光することができる。なお、光の波長が変更されるか、光の入射角度が変更されるか、又は回折格子２９３のスリットの幅が変更されることにより、干渉縞の各々の縞の幅は変更される。第１４２図に示すように、反射型の回折格子２９３が用いられた場合でも、イメージセンサ２５１の全てのセンサモジュール２５２は縞の幅が同じ光を受光することができる。さらに第１４３図に示すように、ハーフミラーなどを用いて 光導波路２９４中に回折格子２９３が形成された場合、光源２９１が発生したレーザ光線のような同位相の光が 光導波路２９４に入射することにより、この回折格子２９３は、縞の幅が極めて細い干渉縞を発生させることができる。したがって、イメージセンサ２５１の全てのセンサモジュール２５２は縞の幅の同じ光を受光することができる。
【０３５６】
次に本件発明の前記実施形態から把握できる請求項以外の技術的思想を、その効果とともに説明する。
【０３５７】
第一の発明は、請求項３記載のイメージセンサにおいて、少なくとも１個の前記デジタル回路が、プロセッサ、１組のメモリ及びコントローラを備え、前記コントローラが、前記画素同期信号に合わせて、対応する前記Ａ／Ｄ変換回路から全ての前記画素データを入力する手段と、全ての前記画素データが入力されたかどうか判別して、判別結果を出力する手段と、前記判別結果を保持する手段と、全ての前記画素データを保持する手段と、前記プロセッサが出力するアドレスによって、全ての前記画素データ及び前記判別結果のうちの１つのデータを 選択する手段と、選択された１つの前記データを出力する手段と、を有することにより、少なくとも１個の前記デジタル回路において、前記プロセッサが、前記コントローラが保持した全ての前記画素データのうちの少なくとも１つを１組の前記メモリに記憶させること を特徴とするイメージセンサ である。少なくとも１個の前記デジタル回路は、前記プロセッサ、１組の前記メモリ及び前記コントローラを備えているので、 前記プロセッサは１組の前記メモリに記憶されたプログラムを実行することができる。本発明では、 複数の前記デジタル回路が前記プロセッサ、１組の前記メモリ及び前記コントローラを備えることにより、複数の前記プロセッサがそれぞれ独立に、対応する１組の前記メモリに全ての前記画素データを記憶させ、しかも並列に画像処理を実行することができるので、画像処理に関する諸問題が好適に解決される。
【０３５８】
第二の発明は、第一の前記発明に記載のイメージセンサにおいて、少なくとも１個の前記プロセッサが、定期的にメモリ書き換えルーチンを実行し、前記メモリ書き換えルーチンが、前記コントローラが入力した全ての前記画素データを１組の前記メモリに記憶する手段と、１組の前記メモリに記憶された少なくとも１つの前記画素データをメモリ書き換え用同期信号に変換する手段と、１組の前記メモリに記憶された少なくとも１つの前記画素データを記憶データに変換する手段と、１組の前記メモリに記憶された少なくとも１つの前記画素データをメモリアドレスに変換する手段と、前記記憶データを１組の前記メモリの前記メモリアドレスに記憶する手段と、を有することにより、少なくとも１個の前記デジタル回路において、前記プロセッサが、前記メモリ書き換え用同期信号に合わせて、１組の前記メモリの前記メモリアドレスに前記記憶データを記憶することを特徴とするイメージセンサである。本発明は、ポーリング中の前記プロセッサが、前記メモリ書き換え用同期信号に合わせて、１組の前記メモリの前記メモリアドレスに前記記憶データを記憶するためのアルゴリズムの実施形態である。もし１つの前記センサモジュールが多数の前記受光素子を有していれば、 例えば、 全ての前記受光素子に前記光が殆んど照射されない場合と、全ての前記受光素子に強い前記光が照射され場合と、半分の前記受光素子に前記光が殆んど照射されず、かつ残りの半分の前記受光素子に強い前記光が照射される場合と、全ての前記受光素子に強い前記光及び弱い前記光が交互に照射される場合と、のように、前記光のパターンが 前記メモリ書き換え用同期信号、前記記憶データ及び前記メモリアドレスを 表すことができる。
【０３５９】
第三の発明は、第一の前記発明に記載のイメージセンサにおいて、少なくとも１個の前記プロセッサが、少なくとも１つのメモリ書き換え信号を入力した際に、メモリ書き換えルーチンを実行し、前記メモリ書き換えルーチンが、前記コントローラが入力した全ての前記画素データを１組の前記メモリに記憶する手段と、１組の前記メモリに記憶された少なくとも１つの前記画素データをメモリ書き換え用同期信号に変換する手段と、１組の前記メモリに記憶された少なくとも１つの前記画素データを記憶データに変換する手段と、１組の前記メモリに記憶された少なくとも１つの前記画素データをメモリアドレスに変換する手段と、前記記憶データを１組の前記メモリの前記メモリアドレスに記憶する手段と、を有することにより、少なくとも１個の前記デジタル回路において、前記プロセッサが少なくとも１つのメモリ書き換え信号を入力した際に、前記プロセッサが、前記メモリ書き換え用同期信号に合わせて、１組の前記メモリの前記メモリアドレスに前記記憶データを記憶すること を特徴とするイメージセンサである。本発明は、割り込み機能を有する前記プロセッサが、前記メモリ書き換え用同期信号に合わせて、１組の前記メモリの前記メモリアドレスに前記記憶データを記憶するためのアルゴリズムの実施形態である。もし１つの前記センサモジュールが多数の前記受光素子を有していれば、例えば、全ての前記受光素子に前記光が殆んど照射されない場合と、全ての前記受光素子に強い前記光が照射され場合と、半分の前記受光素子に前記光が殆んど照射されず、かつ残りの半分の前記受光素子に強い前記光が照射される場合と、全ての前記受光素子に強い前記光及び弱い前記光が交互に照射される場合と、のように、前記光のパターンが 前記メモリ書き換え用同期信号、前記記憶データ及び前記メモリアドレスを 表すことができる。
【０３６０】
以上、本実施形態を説明したが、本発明は上述の実施形態には限定されることはなく、当業者であれば種々なる態様を実施可能であり、本発明の技術的思想を逸脱しない範囲において本発明の構成を適宜改変できることは当然であり、このような改変も、本発明の技術的範囲に属するものである。
【産業上の利用可能性】
【０３６１】
請求項１及び請求項２記載の発明によれば、イメージセンサ２５１の解像度が高くなればなるほど、センサモジュール２５２の数を増やすことにより、１個のセンサモジュール２５２の画素数がイメージセンサ２５１の画素数に比べて十分に少なくなるので、イメージセンサ２５１の設計者はセンサモジュール２５２を容易に設計することができる。しかもイメージセンサ２５１の製造者は、ＬＳＩ積層技術を用いて、検査済のセンサモジュール２５２だけを基板の上に配列することによりイメージセンサ２５１を短期間に、しかも高い歩留まりで製造することができる。したがって、ＬＳＩ製造者は、人間の網膜に匹敵する１億画素以上のイメージセンサ２５１を容易に製造することができる。また、本発明に対応したイメージセンサ２５１の実施形態は、一般的なイメージセンサ２５１に比べて短時間に全ての画像信号を取り出すことができ、しかも画素並列なイメージセンサ２５１に比べて少ない信号線しか必要としない。したがって、視覚装置２において格子状に配列された複数の仮想配列演算ユニット１０５は、本発明に対応したイメージセンサ２５１の実施形態を用いることにより、それぞれ必要な画素信号だけを短時間に受信することができる。
【０３６２】
請求項３記載の発明によれば、１個のセンサモジュール２５２と、対応するＡ／Ｄ変換回路２０４の間の信号線の配線長が短くなるので、イメージセンサ２５１に対するノイズの影響が抑えられる。特に請求項３記載の発明の場合、三次元ＬＳＩ技術を用いることにより、１個のセンサモジュール２５２と、対応するＡ／Ｄ変換回路２０４の間の信号線と、１個のＡ／Ｄ変換回路２０４と、対応するデジタル回路４０２の間の信号線と、の総配線長が短かくなり、しかも互いに交わらないので、イメージセンサ２５１に対するノイズの影響が最大限抑えられる また、Ａ／Ｄ変換回路２０４の数は センサモジュール２５２の数と等しいので、イメージセンサ２５１の画素数が多くなったとしても、イメージセンサ２５１の設計者は、 センサモジュール２５２における受光素子２６１の数を増やすことにより、Ａ／Ｄ変換回路２０４の数を少なくすることができる。したがって、イメージセンサ２５１の設計者は、Ａ／Ｄ変換回路２０４が出力するデジタル信号のビット数を 多くすることにより、高精細のイメージセンサ２５１を設計することができる。さらにＬＳＩ製造者は、人間の視神経を直接しかも並列に刺激す１億画素以上のイメージセンサ２５１を容易に製造することができる。
【図面の簡単な説明】
【０３６３】
【図１】ジタル画像中の少なくとも１個の物体のおおよその輪郭の位置、大きさ及び形を認識する視覚装置のブロック図である。
【図２】デジタル画像中の１個の物体の領域を背景から分離する視覚装置のブロック図である。
【図３】デジタル画像中の１個の物体の色を認識する視覚装置のブロック図である。
【図４】デジタル画像中の１個の物体のパターンを認識する視覚装置のブロック図である。
【図５】デジタル画像中の１個の物体の位置、大きさ及び傾きを検出する視覚装置のブロック図である。
【図６】デジタル画像中の１個の物体を認識する視覚装置のブロック図である。
【図７】少なくとも１個の物体を表すデジタル画像を理解する視覚装置のブロック図である。
【図８】移動カメラを制御して物体を探索する視覚装置のブロック図である。
【図９】レンズ光軸を中心にして移動カメラを回転した場合の画像座標の説明図である。
【図１０】移動カメラを制御して物体を探索し、物体の数を数える視覚装置のブロック図である。
【図１１】格子状に配置された配列演算ユニットのブロック図である。
【図１２】反時計回りに順番付けられた８近傍の番号の説明図である。
【図１３】本実施形態の画像記憶手段のアルゴリズムを示すフローチャートである。
【図１４】デジタル画像中の特定の色に対して色情報を生成する場合の説明図である。
【図１５】本実施形態の色情報生成手段のアルゴリズムを示すフローチャートである。
【図１６】デジタル画像を用いて粗エッジ情報を生成する場合の説明図である。
【図１７】本実施形態のエッジ情報生成手段のアルゴリズムを示すフローチャートである。
【図１８】デジタル画像を用いて粗エッジ情報を形成エッジ情報に形成する場合の説明図である。
【図１９】本実施形態のエッジ情報形成手段のアルゴリズムを示すフローチャートである。
【図２０】低解像度デジタル画像から生成された低解像度粗エッジ情報を形成エッジ情報に形成する場合の説明図である。
【図２１】低解像度デジタル画像から生成された低解像度粗エッジ情報の領域を切り出してから形成エッジ情報に形成する場合の説明図である。
【図２２】エッジ情報画像中の物体の位置及び大きさを検出する場合の説明図である。
【図２３】本実施形態の位置／大きさ検出手段のアルゴリズムを示すフローチャートである。
【図２４】物体領域画像中の物体の位置及び大きさを検出する場合の説明図である。
【図２５】エッジ情報画像中の物体の位置、大きさ及び傾きを検出する場合の説明図である。
【図２６】本実施形態の位置／大きさ／傾き検出装置のアルゴリズムを示すフローチャートである。
【図２７】物体領域画像中の物体の位置、大きさ及び傾きを検出する場合の説明図である。
【図２８】移動元重複情報の例の説明図である。
【図２９】色情報画像中のテクスチャの位置、大きさ及び傾きを検出する場合の説明図である。
【図３０】エッジ情報画像中の物体の位置、大きさ及び傾きを検出し、傾き大きさ情報を出力する場合の説明図である。
【図３１】形成エッジ情報画像中の線分の法線方向を検出する場合の説明図である。
【図３２】形成エッジ情報画像中の十字形の法線方向を検出する場合の説明図である。
【図３３】形成エッジ情報画像中の三角形を構成する複数の線分の法線方向を検出する場合の説明図である。
【図３４】形成エッジ情報画像中の四角形を構成する複数の線分の法線方向を検出する場合の説明図である。
【図３５】形成エッジ情報画像中の菱形を構成する複数の線分の法線方向を検出する場合の説明図である。
【図３６】形成エッジ情報画像中の円形を構成する曲線の法線方向を検出する場合の説明図である。
【図３７】線分を含む形成エッジ情報画像及び傾き大きさ情報画像から移動元傾き重複情報画像を生成する場合の説明図である。
【図３８】三角形を含む形成エッジ情報画像及び傾き大きさ情報画像から移動元傾き重複情報画像を生成する場合の説明図である。
【図３９】四角形を含む形成エッジ情報画像及び傾き大きさ情報画像から移動元傾き重複情報画像を生成する場合の説明図である。
【図４０】菱形を含む形成エッジ情報画像及び傾き大きさ情報画像から移動元傾き重複情報画像を生成する場合の説明図である。
【図４１】円形を含む形成エッジ情報画像及び傾き大きさ情報画像から移動元傾き重複情報画像を生成する場合の説明図である。
【図４２】本実施形態の位置／大きさ／形検出装置のアルゴリズムを示すフローチャートである。
【図４３】三角形の形成エッジ情報画像を入力して、移動元傾き重複情報画像を出力する場合の説明図である。
【図４４】不完全な三角形の形成エッジ情報画像を入力して、移動元傾き重複情報画像を出力する場合の説明図である。
【図４５】三角形の形成エッジ情報画像を入力して、形大きさ情報画像を出力する場合の説明図である。
【図４６】顔パーツの形成エッジ情報画像を入力して、形大きさ情報画像を出力する場合の説明図である。
【図４７】テクスチャの形成エッジ情報画像を入力して、形大きさ情報画像を出力する場合の説明図である。
【図４８】デジタル画像の分離物体領域を正規化する場合の説明図である。
【図４９】本実施形態の領域正規化手段のアルゴリズムを示すフローチャートである。
【図５０】画素間の補間を省略した場合における本実施形態の領域正規化手段のアルゴリズムを示すフローチャートである。
【図５１】分離物体領域画像を用いてデジタル画像からマスク画像を生成する場合の説明図である。
【図５２】本実施形態のマスク手段のアルゴリズムを示すフローチャートである。
【図５３】本実施形態の画像保持手段のアルゴリズムを示すフローチャートである。
【図５４】入力画像に対してテンプレート画像の中からパターンマッチングをする場合の説明図である。
【図５５】本実施形態のパターンマッチング手段のアルゴリズムを示すフローチャートである。
【図５６】三角形の形成エッジ情報画像及び重複情報画像から物体領域画像を生成する場合の説明図である。
【図５７】本実施形態の物体／背景分離手段のアルゴリズムを示すフローチャートである。
【図５８】破線状態の三角形のエッジ情報が破線三角形の内側領域と外側領域に分離する状態を示す説明図である。
【図５９】三角形を２つ重ねたエッジ情報が２つの三角形領域と背景領域に分離する状態を示す説明図である。
【図６０】２つの円形物体領域を重ねた時の破線状態のエッジ情報が２つの円形領域と背景領域に分離した状態を示す説明図である。
【図６１】配列演算ユニットの内部構造のブロック図である。
【図６２】コントローラのブロック図である。
【図６３】フラグデコーダの入出力信号を示す説明図である。
【図６４】フラグエンコーダの入出力信号を示す説明図である。
【図６５】フラグデコーダ及びフラグレジスタの回路図である。
【図６６】フラグエンコーダ及びステータスレジスタのブロック図である。
【図６７】右配列演算ユニットと通信するフラグエンコーダとステータスレジスタの回路図である。
【図６８】５個のコントローラを平面上に配置した場合の配列演算ユニットの説明図である。
【図６９】５個のコントローラを積み重ねた場合の配列演算ユニットの説明図である。
【図７０】１６個の配列演算ユニットを１個の仮想配列演算ユニットと見なした場合の説明図である。
【図７１】１個の仮想配列演算ユニットに含まれる１６個の配列演算ユニットにコントローラ用の割り当て番号を付けた場合の説明図である。
【図７２】１６個の配列演算ユニットが出力した１６個の前入力データを順次記憶するシフトレジスタの説明図である。
【図７３】配列演算ユニットが１２０近傍に反時計回りでデータを転送する場合の転送ルートの説明図である。
【図７４】配列演算ユニットと一致する仮想配列演算ユニットが１２０近傍に反時計回りでデータを転送する場合の転送ルートの説明図である。
【図７５】４×４の配列演算ユニットを含む仮想配列演算ユニットが１２０近傍に反時計回りでデータを転送する場合の原理的な転送ルートの説明図である。
【図７６】４×４の配列演算ユニットを含む仮想配列演算ユニットが１２０近傍に反時計回りでデータを転送する場合の実際の転送ルートの説明図である。
【図７７】配列演算ユニットの４個のコントローラの各々が、上側の配列演算ユニットのコントローラのうち、割り当られた番号が１つ小さいものにデータを送信する場合の配線の説明図である。
【図７８】配列演算ユニットの４個のコントローラの各々が、下側の配列演算ユニットのコントローラのうち、割り当られた番号が１つ大きいものにデータを送信する場合の配線の説明図である。
【図７９】配列演算ユニットの４個のコントローラの各々が、左側の配列演算ユニットのコントローラのうち、割り当られた番号が１つ大きいものにデータを送信する場合の配線の説明図である。
【図８０】配列演算ユニットの４個のコントローラの各々が、右側の配列演算ユニットのコントローラのうち、割り当られた番号が１つ小さいものにデータを送信する場合の配線の説明図である。
【図８１】配列演算ユニットにおいて垂直に配置された４個のコントローラの各々が、右側の配列演算ユニットのコントローラのうち、割り当られた番号が１つ小さいものにデータを送信する場合の配線の説明図である。
【図８２】転送用のコントローラを備えた配列演算ユニットが反時計回りにデータを転送する場合の右上方向の転送ルートの説明図である。
【図８３】転送用と再転送用のコントローラを備えた配列演算ユニットが反時計回りにデータを転送する場合の右上方向の転送ルートの説明図である。
【図８４】４個の転送回路を備えたコントローラの説明図である。
【図８５】通信ステータスバッファのビット毎の割当の説明図である。
【図８６】１６個の前入力データを入力する前入力回路の説明図である。
【図８７】前入力回路用コントローラの状態遷移図である。
【図８８】１６個の結果データを出力する結果出力回路の説明図である。
【図８９】結果出力回路用コントローラの状態遷移図である。
【図９０】正論理の送達と受領を通信し、送達がアクティブの時に計算データを記憶する転送回路の説明図である。
【図９１】正論理の送達と受領を通信する転送回路用コントローラの状態遷移図である。
【図９２】負論理の送達と受領を通信し、送達がアクティブの時に計算データを記憶する転送回路の説明図である。
【図９３】負論理の送達と受領を通信し、送達の立ち上がり時に計算データを記憶する転送回路の説明図である。
【図９４】計算ステータスのビット毎の割当の説明図である。
【図９５】仮想配列演算ユニットに含まれる４×４個の配列演算ユニットのポジションの説明図である。
【図９６】基本的な連動式カウンタの回路図である。
【図９７】３つのフリップフロップを用いた同期式カウンタの回路図である。
【図９８】同期式カウンタが５まで数える連動式カウンタの回路図である。
【図９９】型番７４１６３を用いた同期式カウンタの回路図である。
【図１００】３つの連動式カウンタから構成されるネットワークのブロック図である。
【図１０１】３つの連動式カウンタが同期した場合のタイミングチャートである。
【図１０２】３つの連動式カウンタのうち１つの位相が進んだ場合のタイミングチャートである。
【図１０３】３つの連動式カウンタのうち１つの位相が遅れた場合のタイミングチャートである。
【図１０４】３つの連動式カウンタの位相が異なる場合のタイミングチャートである。
【図１０５】同期式発振回路を備えた連動式カウンタの回路図である。
【図１０６】同期式発振回路を備え、同期式カウンタが５まで数える連動式カウンタの回路図である。
【図１０７】リング発振器を用いた場合の同期式発振回路の回路図である。
【図１０８】第１０７図のタイミングチャートである。
【図１０９】ＣＭＯＳゲートから構成されるリング発振器を用いた場合の同期式発振回路の回路図である。
【図１１０】ＴＴＬゲートから構成される非安定マルチバイブレータを用いた場合の同期式発振回路の回路図である。
【図１１１】ループフィルタ及び電圧制御発振器を用いた場合の同期式発振回路の回路図である。
【図１１２】第１１１図のタイミングチャートである。
【図１１３】正方格子状に配列された連動式カウンタから構成されるネットワークのブロック図である。
【図１１４】六角格子状に配列された連動式カウンタから構成されるネットワークのブロック図である。
【図１１５】互いの距離が等しくなるように配列された連動式カウンタから構成されるネットワークのブロック図である。
【図１１６】格子が重なるように連動式カウンタを積層した場合の説明図である。
【図１１７】連動式カウンタ、デジタル回路及びアナログ回路を積層した場合の説明図である。
【図１１８】信号分配用フリップフロップ回路の出力によって信号分配用ラッチ回路がリセットされる場合において、信号分配用デコーダの出力のうち３番及び５番を用いて出力信号を生成する連動式信号分配回路の回路図である。
【図１１９】信号分配用デコーダの出力のうち３番及び５番を用いて出力信号を生成する連動式信号分配回路のタイミングチャートである。
【図１２０】信号分配用デコーダの出力によって信号分配用ラッチ回路がリセットされる場合において、信号分配用デコーダの出力のうち３番及び５番を用いて出力信号を生成する連動式信号分配回路の回路図である。
【図１２１】格子状に配列された複数のセンサモジュールが並列に画素信号を出力する場合の説明図である。
【図１２２】六角格子状に配列された複数のセンサモジュールが並列に画素信号を出力する場合の説明図である。
【図１２３】受光素子及び電荷転送ゲートから構成される画素セルの説明図である。
【図１２４】センサモジュールが、Ｓ字状に配置された電荷結合素子及び電荷転送用駆動装置を用いて、格子状に配列された複数の画素セルから順次画素信号を取り出す場合の説明図である。
【図１２５】センサモジュールが、渦巻き状に配置された電荷結合素子及び電荷転送用駆動装置を用いて、格子状に配列された複数の画素セルから順次画素信号を取り出す場合の説明図である。
【図１２６】センサモジュールが、渦巻き状に配置された電荷結合素子を用いて、六角格子状に配列された複数の画素セルから順次画素信号を取り出す場合の説明図である。
【図１２７】受光素子、電荷増幅器及び行選択ゲートから構成される画素セルの説明図である。
【図１２８】センサモジュールが、垂直シフトレジスタ及び水平シフトレジスタを用いて、格子状に配列された複数の画素セルから順次画素信号を取り出す場合の説明図である。
【図１２９】格子状に配列された複数のセンサモジュールの各々が、上方から光を受光し、下方に画素信号を出力する場合の説明図である。
【図１３０】六角格子状に配列された複数のセンサモジュールの各々が、上方から光を受光し、下方に画素信号を出力する場合の説明図である。
【図１３１】複数の受光素子が実装された層と、電荷転送用駆動装置、複数の電荷転送ゲート及び出力増幅器が実装された層と、電荷結合素子が実装された層と、が積層された場合の説明図である。
【図１３２】複数の受光素子が実装された層と、複数の電荷増幅器が実装された層と、垂直シフトレジスタ、水平シフトレジスタ、複数の行選択ゲート、複数のノイズキャンセラ、複数の列選択ゲート及び出力増幅器が実装された層と、が積層された場合の説明図である。
【図１３３】複数のセンサモジュールが実装された層と、複数のＡ／Ｄ変換回路が実装された層と、複数のデジタル回路が実装された層と、が積層された場合の説明図である。
【図１３４】プロセッサ、１組のメモリ及びコントローラを備えたデジタル回路のブロック図である。
【図１３５】前入力シフトレジスタが画素データを順次入力し、前入力データレジスタが画素データを保持し、アドレスデコーダが画素データを選択するコントローラのブロック図である。
【図１３６】光源からデジタル回路を備えたイメージセンサに光を照射する場合の説明図である。
【図１３７】プロセッサがコントローラを監視しながら、１組のメモリ中の記憶データを書き換えるためのメモリ書き換えルーチンのフローチャートである。
【図１３８】プロセッサがメモリ書き換え信号を入力した際に、１組のメモリ中の記憶データを書き換えるためのメモリ書き換えルーチンのフローチャートである。
【図１３９】３×３の受光素子のうち０又は３個が光を受光する場合に１組のメモリに格納される９つの画素データの説明図である。
【図１４０】３×３の受光素子のうち６又は９個が光を受光する場合に１組のメモリに格納される９つの画素データの説明図である。
【図１４１】透過型回折格子を用いてイメージセンサに干渉縞を照射する場合の説明図である。
【図１４２】反射型回折格子を用いてイメージセンサに干渉縞を照射する場合の説明図である。
【図１４３】光導波路中に形成された回折格子を用いてイメージセンサに干渉縞を照射する場合の説明図である。
【符号の説明】
【０３６４】
２…視覚装置  １０…移動カメラ  １１…画像取得手段  １２…画像記憶手段
１４…エッジ情報生成手段  １５…エッジ情報形成手段  １６…物体／背景分離手段
１７…位置／大きさ検出手段  ２０…カメラ／環境座標変換手段
２１…座標／環境座標変換手段  ２２…位置選択手段  ２３…運動制御手段
２４…制御命令入力手段  ２５…振動命令生成手段  ２６…カメラ命令生成手段
２７…領域正規化手段  ２９…画像認識手段  ３０…認識結果保持手段
３１…環境理解手段  ３２…計時手段  ３３…環境地図保持手段３４…物体位置推定手段
３５…物体計数手段  ３６…物体数保持手段  ３７…幾何解析手段
３８…パターンマッチング手段  ３９…画像保持手段  ４０…マスク手段
４１…色情報生成手段  ４４…位置／大きさ／傾き検出手段
４５…位置／大きさ／形検出手段  ５１…アドレスバス  ５２…データバス
５３…アドレスバッファ  ５４…アドレスデコーダ  ５５…データバッファ
５６…内部データバス  ５７…フラグレジスタ  ５８…フラグデコーダ
５９…フラグエンコーダ  ６０…ステータスレジスタ  ６１…前入力データレジスタ
６２…結果データレジスタ  ６３…出力データレジスタ  ６４…上入力データレジスタ
６５…下入力データレジスタ  ６６…左入力データレジスタ６７…右入力データレジスタ
６８…前入力シフトレジスタ  ６９…前入力カウンタ  ８２…水平方向用ステータス回路
８３…垂直方向用ステータス回路  ８４…カウント用半加算器
８５…送達入力用ラッチ回路  １００…配列演算ユニット  １０１…プロセッサ
１０２…メモリ  １０３…コントローラ  １０５…仮想配列演算ユニット
１１０…データ処理装置  １１１…デジタル画像  １１２…粗エッジ情報
１１３…粗エッジ情報画像  １１５…形成エッジ情報画像１１６…低解像度デジタル画像
１１７…低解像度粗エッジ情報画像  １１８…低解像度切出粗エッジ情報画像
１１９…切出粗エッジ情報画像  １２０…切出デジタル画像  
１２１…切出形成エッジ情報画像  １３１…重複情報  １３２…重複情報画像
１４１…物体領域  １４２…物体領域画像  １４３…分離物体領域  １４４…正規化領域
１４５…正規化画像  １４６…テンプレート画像  １４７…マッチング結果画像
１４８…マスク画像  １５１…エッジ情報  １５２…内側領域  １５３…外側領域  
１５４…エッジ情報  １５５…内側領域  １５６…外側領域  １５７…エッジ情報
１５８…エッジ情報  １５９…内側領域  １６０…内側領域  １６１…背景領域
１６２…エッジ情報  １６３…内側領域  １６４…内側領域  １６５…背景領域
１７１…色情報  １７２…色情報画像  １８２…８近傍  １８３…移動元重複情報
１８４…移動元重複情報画像  １８５…傾き大きさ情報  １８６…傾き大きさ情報画像
１８７…移動元傾き重複情報  １８８…移動元傾き重複情報画像  
１９０…形大きさ情報画像  ２０４…Ａ／Ｄ変換回路  ２５１…イメージセンサ  
２５２…センサモジュール  ２５３…画素セル  ２６１…受光素子
２６２…電荷転送ゲート    ２６３…電荷結合素子  ２６４…電荷転送用駆動装置
２６５…行選択信号線  ２６６…電荷転送信号線  ２６７…出力増幅器  
２７１…電荷増幅器  ２７２…行選択ゲート  ２７３…垂直シフトレジスタ
２７４…水平シフトレジスタ  ２７５…ノイズキャンセラ  ２７６…列選択ゲート
２７７…列選択信号線  ２７８…垂直信号線  ２７９…水平信号線  ２９１…光源
２９２…レンズ  ２９３…回折格子  ２９４…光導波路
４０１、４０１ａ〜４０１ｃ…連動式カウンタ  ４０２…デジタル回路
４０３…アナログ回路  ４１１…同期式カウンタ  ４１２…終り値判定用論理ゲート
４１３…連動信号増幅用論理ゲート  ４１４ａ〜４１４ｃ…連動信号用ラッチ回路
４１５…連動信号用論理ゲート  ４１６…イネーブル信号用論理ゲート
４１７…初期化信号用論理ゲート  ４１８…同期式発振回路
４２２ａ〜４２２ｃ…カウンタ用論理ゲート  ４３１…同期信号用ラッチ回路  
４３２ａ、４３２ｂ…発振用論理ゲート  ４３３…クロック信号増幅用論理ゲート
４３４ａ、４３４ｂ…発振用抵抗  ４３５…発振用コンデンサ
４３６…同期信号用フリップフロップ回路  ４３７…同期信号増幅器  
４３８…ループフィルタ  ４３９…電圧制御発振器  ４４３…水晶振動子
４５１…信号分配用デコーダ  ４５２…信号分配用ラッチ回路
４５３…信号分配用論理ゲート  ４５４…信号分配用フリップフロップ回路
８０１…転送回路  ８０２…前入力回路  ８０３…結果出力回路
８０４…通信ステータスバッファ  ８１１ａ…正論理転送回路用コントローラ
８１２ａ…正論理送達ラッチ  ８１２ｂ…負論理送達ラッチ  
８１２ｃ…負論理送達レジスタ  ８１３…送達ステータス生成回路
８１４ａ…計算データ受信ラッチ  ８１４ｂ…計算ステータス受信ラッチ
８１４ｃ…計算データ受信レジスタ  ８１５ａ…計算データラインバッファ  
８１５ｂ…計算ステータス送信レジスタ  ８１６ｂ…計算ステータス送信レジスタ
８１７ａ…計算データマルチプレクサ  ８１７ｂ…計算ステータスマルチプレクサ
８２１，８２２、８２３、８２４…状態  ８３１…前入力データ入力レジスタ  
８３３…前入力データ出力レジスタ  ８３４…前入力データラインバッファ
８３５…前入力回路用コントローラ  ８３６…前入力データカウンタ
８５１…結果データ入力レジスタ  ８５２…結果データマルチプレクサ  
８５３…結果データ出力レジスタ  ８５４…結果出力回路用コントローラ
８５６…結果データカウンタ
【図１】
2008259244.tif 000057
【図２】
2008259244.tif 000058
【図３】
2008259244.tif 000059
【図４】
2008259244.tif 000060
【図５】
2008259244.tif 000061
【図６】
2008259244.tif 000062
【図７】
2008259244.tif 000063
【図８】
2008259244.tif 000064
【図９】
2008259244.tif 000065
【図１０】
2008259244.tif 000066
【図１１】
2008259244.tif 000067
【図１２】
2008259244.tif 000068
【図１３】
2008259244.tif 000069
【図１４】
2008259244.tif 000070
【図１５】
2008259244.tif 000071
【図１６】
2008259244.tif 000072
【図１７】
2008259244.tif 000073
【図１８】
2008259244.tif 000074
【図１９】
2008259244.tif 000075
【図２０】
2008259244.tif 000076
【図２１】
2008259244.tif 000077
【図２２】
2008259244.tif 000078
【図２３】
2008259244.tif 000079
【図２４】
2008259244.tif 000080
【図２５】
2008259244.tif 000081
【図２６】
2008259244.tif 000082
【図２７】
2008259244.tif 000083
【図２８】
2008259244.tif 000084
【図２９】
2008259244.tif 000085
【図３０】
2008259244.tif 000086
【図３１】
2008259244.tif 000087
【図３２】
2008259244.tif 000088
【図３３】
2008259244.tif 000089
【図３４】
2008259244.tif 000090
【図３５】
2008259244.tif 000091
【図３６】
2008259244.tif 000092
【図３７】
2008259244.tif 000093
【図３８】
2008259244.tif 000094
【図３９】
2008259244.tif 000095
【図４０】
2008259244.tif 000096
【図４１】
2008259244.tif 000097
【図４２】
2008259244.tif 000098
【図４３】
2008259244.tif 000099
【図４４】
2008259244.tif 000100
【図４５】
2008259244.tif 000101
【図４６】
2008259244.tif 000102
【図４７】
2008259244.tif 000103
【図４８】
2008259244.tif 000104
【図４９】
2008259244.tif 000105
【図５０】
2008259244.tif 000106
【図５１】
2008259244.tif 000107
【図５２】
2008259244.tif 000108
【図５３】
2008259244.tif 000109
【図５４】
2008259244.tif 000110
【図５５】
2008259244.tif 000111
【図５６】
2008259244.tif 000112
【図５７】
2008259244.tif 000113
【図５８】
2008259244.tif 000114
【図５９】
2008259244.tif 000115
【図６０】
2008259244.tif 000116
【図６１】
2008259244.tif 000117
【図６２】
2008259244.tif 000118
【図６３】
2008259244.tif 000119
【図６４】
2008259244.tif 000120
【図６５】
2008259244.tif 000121
【図６６】
2008259244.tif 000122
【図６７】
2008259244.tif 000123
【図６８】
2008259244.tif 000124
【図６９】
2008259244.tif 000125
【図７０】
2008259244.tif 000126
【図７１】
2008259244.tif 000127
【図７２】
2008259244.tif 000128
【図７３】
2008259244.tif 000129
【図７４】
2008259244.tif 000130
【図７５】
2008259244.tif 000131
【図７６】
2008259244.tif 000132
【図７７】
2008259244.tif 000133
【図７８】
2008259244.tif 000134
【図７９】
2008259244.tif 000135
【図８０】
2008259244.tif 000136
【図８１】
2008259244.tif 000137
【図８２】
2008259244.tif 000138
【図８３】
2008259244.tif 000139
【図８４】
2008259244.tif 000140
【図８５】
2008259244.tif 000141
【図８６】
2008259244.tif 000142
【図８７】
2008259244.tif 000143
【図８８】
2008259244.tif 000144
【図８９】
2008259244.tif 000145
【図９０】
2008259244.tif 000146
【図９１】
2008259244.tif 000147
【図９２】
2008259244.tif 000148
【図９３】
2008259244.tif 000149
【図９４】
2008259244.tif 000150
【図９５】
2008259244.tif 000151
【図９６】
2008259244.tif 000152
【図９７】
2008259244.tif 000153
【図９８】
2008259244.tif 000154
【図９９】
2008259244.tif 000155
【図１００】
2008259244.tif 000156
【図１０１】
2008259244.tif 000157
【図１０２】
2008259244.tif 000158
【図１０３】
2008259244.tif 000159
【図１０４】
2008259244.tif 000160
【図１０５】
2008259244.tif 000161
【図１０６】
2008259244.tif 000162
【図１０７】
2008259244.tif 000163
【図１０８】
2008259244.tif 000164
【図１０９】
2008259244.tif 000165
【図１１０】
2008259244.tif 000166
【図１１１】
2008259244.tif 000167
【図１１２】
2008259244.tif 000168
【図１１３】
2008259244.tif 000169
【図１１４】
2008259244.tif 000170
【図１１５】
2008259244.tif 000171
【図１１６】
2008259244.tif 000172
【図１１７】
2008259244.tif 000173
【図１１８】
2008259244.tif 000174
【図１１９】
2008259244.tif 000175
【図１２０】
2008259244.tif 000176
【図１２１】
2008259244.tif 000177
【図１２２】
2008259244.tif 000178
【図１２３】
2008259244.tif 000179
【図１２４】
2008259244.tif 000180
【図１２５】
2008259244.tif 000181
【図１２６】
2008259244.tif 000182
【図１２７】
2008259244.tif 000183
【図１２８】
2008259244.tif 000184
【図１２９】
2008259244.tif 000185
【図１３０】
2008259244.tif 000186
【図１３１】
2008259244.tif 000187
【図１３２】
2008259244.tif 000188
【図１３３】
2008259244.tif 000189
【図１３４】
2008259244.tif 000190
【図１３５】
2008259244.tif 000191
【図１３６】
2008259244.tif 000192
【図１３７】
2008259244.tif 000193
【図１３８】
2008259244.tif 000194
【図１３９】
2008259244.tif 000195
【図１４０】
2008259244.tif 000196
【図１４１】
2008259244.tif 000197
【図１４２】
2008259244.tif 000198
【図１４３】
2008259244.tif 000199