(57)【要約】【課題】複数のパターン認識処理を同じハードウェア要素を用いて実現する。【解決手段】予め第１の距離指標の符号化を処理可能な第２の距離指標に基づく複数の参照ワードを連想メモリコア１３に登録しておく。第１パイプラインステージにおいて、入力データから所定ビットの被検索ワードを所定のクロックサイクルで抽出し、この被検索ワードを第２の距離指標で符号化して連想メモリコア１３へ出力する。第２パイプラインステージにおいて、連想メモリコア１３により、前回のクロックサイクルで得られた被検索ワードに対する最小距離参照ワード（ウィンナ）を検索する。第３パイプラインステージにおいて、前回のクロックサイクルの前記連想メモリコア出力結果を分析し、検索結果に複数のウィンナがある場合に特定の優先度に基づいて１つのウィンナを決定し、そのウィンナの行の場所を示すアドレスと入力データとウィンナ間の距離を符号化出力する。【選択図】　　図１
2004013504.tif 000002
【特許請求の範囲】
【請求項１】
第１の距離指標の符号化を処理可能な第２の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて所定のクロックサイクルで前記複数の参照ワード全てに対して同時に並列にビット比較及びワード重み付け比較し、最小距離のワードをウィンナとして検索する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識システムであって、
前記入力データから所定ビットの被検索ワードを前記クロックサイクルで抽出する被検索ワード抽出手段と、
この被検索ワード抽出手段で抽出された被検索ワードを前記第２の距離指標で符号化して前記連想メモリコアへ出力する第１の符号化手段と、
前記連想メモリコアの前回のクロックサイクルの出力結果を分析し、検索結果に複数のウィンナがある場合に特定の優先度に基づいて１つのウィンナを決定する分析手段と、
前記分析手段で決定されたウィンナの行の場所を示すインデックス（アドレス）と入力データとウィンナ間の前記第１の距離指標に基づく距離を符号化して出力する第２の符号化手段とを具備し、
前記被検索ワード抽出手段及び前記第１の符号化手段を第１のパイプラインステージで行い、前記連想メモリコアによるウィンナ検索を第２のパイプラインステージで行い、前記分析手段及び第２の符号化手段を第３のパイプラインステージで行うことを特徴とするパターン認識システム。
【請求項２】
前記第１の符号化手段は、前記第１の距離指標と前記第２の距離指標が同一であるとき、入力被検索ワードをスルーさせることを特徴とする請求項１記載のパターン認識システム。
【請求項３】
前記第１の符号化手段は、前記第１の距離指標として複数の距離指標が存在するとき、任意の距離指標に対応する複数の符号化処理手段を備え、入力データの種類に応じて前記符号化処理手段を選択することを特徴とする請求項１記載のパターン認識システム。
【請求項４】
前記第１の符号化手段は、ｋビット２進数に対して２ｋ−１ビットが必要な場合に、ｋビット２進数の十進数表現の数だけ下位ビットから順に１とする符号化を行うことを特徴とする請求項１記載のパターン認識システム。
【請求項５】
前記第２の距離指標は、ハミング距離であることを特徴とする請求項１記載のパターン認識システム。
【請求項６】
前記第１の距離指標は、マンハッタン距離であることを特徴とする請求項５記載のパターン認識システム。
【請求項７】
請求項１記載のパターン認識システムに用いられ、
被検索ワードを格納する検索ワード格納部、任意の距離指標に基づく複数の参照ワードを格納する参照ワード格納部、前記検索ワード格納部に格納される被検出ワードと前記参照ワード格納部に格納される複数の参照ワード全てに対して同時に並列にビット比較処理及びワード重み付け比較処理を行う比較処理部を備えるメモリ領域と、
前記参照ワードを前記参照ワード格納部に選択的に登録する登録処理部と、
前記比較処理部の比較結果から最小距離参照ワードをウィンナとして検索する最小マッチング検出部と、
この最小マッチング検出部の検索結果を格納する検索結果格納部とを具備することを特徴とする連想メモリコア装置。
【請求項８】
第１の距離指標の符号化を処理可能な第２の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて前記複数の参照ワード全てに対して同時に並列にビット比較及びワード重み付け比較する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識処理方法であって、
前記連想メモリコアに第２の距離指標に基づく所定ビットの複数の参照ワードを登録する準備ステップと、
前記入力データから所定のクロックサイクルで順次所定ビットの被検索ワードを抽出し、第２の距離指標に基づいて符号化する符号化ステップと、
この符号化ステップにて、前回のクロックサイクルで符号化された被検索ワードを前記連想メモリコアに入力し、前記準備ステップで登録された複数の参照ワードそれぞれについて前記被検索ワードと同時に並列にビット比較及びワード重み付け比較を行い、その比較結果から最も距離が小さいワードをウィンナとして検索する検索ステップと、
この検索ステップにて、前回のクロックサイクルで得られた検索結果に複数のウィンナがあるかどうかをチェックし、特定の優先度で１つのウィンナを決定し、そのウィンナの行の場所を示すインデックス（アドレス）と入力データとウィンナ間の前記第１の距離指標に基づく距離を符号化して出力する出力処理ステップとを備えることを特徴とするパターン認識処理方法。
【請求項９】
前記符号化ステップは、前記第１の距離指標と前記第２の距離指標が同一であるとき、入力被検索ワードをスルーさせることを特徴とする請求項８記載のパターン認識処理方法。
【請求項１０】
前記符号化ステップは、前記第１の距離指標として複数の距離指標が存在するとき、任意の距離指標に対応する複数の符号化処理ステップを備え、入力データの種類に応じて前記符号化処理ステップを選択することを特徴とする請求項８記載のパターン認識処理方法。
【請求項１１】
前記符号化ステップは、ｋビット２進数に対して２ｋ−１ビットが必要な場合に、ｋビット２進数の十進数表現の数だけ下位ビットから順に１とする符号化を行うことを特徴とする請求項８記載のパターン認識処理方法。
【請求項１２】
前記第２の距離指標は、ハミング距離であることを特徴とする請求項８記載のパターン認識処理方法。
【請求項１３】
前記第１の距離指標は、マンハッタン距離であることを特徴とする請求項１２記載のパターン認識処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、異なる距離指標を必要とするアプリケーション、例えば人工知能システム、データバンクシステム、インターネットルータ、モバイル端末（例えば、モバイルビデオ電話）に適用され、入力パターンとデータベース内の参照パターンの中から最も類似している（最小距離）のパターンを決定するパターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法に関する。
【０００２】
【従来の技術】
パターン認識は、ネットワークルータ、コードブックベースデータ圧縮及び対象認識など、情報技術（ＩＴ）社会において発生した多くのアプリケーション分野において基本的な機能である。特定のアプリケーションにおいては、必要とするパターン認識やパターンマッチングのために異なる距離指標を使用する。
【０００３】
このように、様々な異なる距離指標を用いてパターン認識やパターンマッチングを行う場合には、入力パターンとデータベース内の参照パターンの中から最も類似している（最小距離）のパターンを決定する。適切な距離指標は認識するパターンの種類に応じて選定する。近年注目を浴びており、高速な検索時間が要求される、リアルタイム性が重要なアプリケーションの中で、異なる距離指標を持つ例としては、ベクトル量子化を用いたビデオ信号圧縮（マンハッタン距離）［参考文献１］や指紋の認識（ハミング距離）［参考文献２、３］がある。
【０００４】
参考文献１：Ｔ．　Ｎｏｚａｗａ　ｅｔ　ａｌ．，“Ａ　Ｐａｒａｌｌｅｌ　Ｖｅｃｔｏｒ−Ｑｕａｎｔｉｚａｔｉｏｎ　Ｐｒｏｃｅｓｓｏｒ　Ｅｌｉｍｉｎａｔｉｎｇ　Ｒｅｄｕｎｄａｎｔ　Ｃａｌｃｕｌａｔｉｏｎｓ　ｆｏｒ　Ｒｅａｌ−Ｔｉｍｅ　Ｍｏｔｉｏｎ　Ｐｉｃｔｕｒｅ　Ｃｏｍｐｒｅｓｓｉｏｎ”，　ＩＥＥＥ　Ｊ．　Ｓｏｌｉｄ−Ｓｔａｔｅ　Ｃｉｒｃｕｉｔｓ，　ｖｏｌ．　３５，　ｐｐ．１７４４−１７５１，　２０００．　参考文献２：Ｓ．　Ｊｕｎｇ　ｅｔ　ａｌ．，“Ａ　Ｌｏｗ−Ｐｏｗｅｒ　ａｎｄ　Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ　ＣＭＯＳ　Ｆｉｎｇｅｒｐｒｉｎｔ　Ｓｅｎｓｉｎｇ　ａｎｄ　Ｅｎｃｏｄｉｎｇ　Ａｒｃｈｉｔｅｃｔｕｒｅ”，　ＩＥＥＥ　Ｊ．　Ｓｏｌｉｄ−Ｓｔａｔｅ　Ｃｉｒｃｕｉｔｓ，　ｖｏｌ．　３４，　ｐｐ．　９７８−９８４，　１９９９．
参考文献３：Ｓ．　Ｓｈｉｇｅｍａｔｓｕ　ｅｔ　ａｌ．，“Ａ　Ｓｉｎｇｌｅ−Ｃｈｉｐ　Ｆｉｎｇｅｒｐｒｉｎｔ　Ｓｅｎｓｏｒ　ａｎｄ　Ｉｄｅｎｔｉｆｉｅｒ”，　ＩＥＥＥ　Ｊ．　Ｓｏｌｉｄ−Ｓｔａｔｅ　Ｃｉｒｃｕｉｔｓ，　ｖｏｌ．　３４，　ｐｐ．　１８５２−１８５９，　１９９９．
【０００５】
【発明が解決しようとする課題】
従来のパターン認識システムでは、異なる距離指標に対するパターン認識システムの適応性は、現在のところソフトウェアに依存しており、効率の良いハードウェアによる解決策がないのが現状である。効率の良いハードウェア化の実現は、広い範囲で実用性が達成されるため、有用な技術として注目されている。
【０００６】
本発明は、上記の事情に鑑みてなされたもので、特に小面積・高スループットの集積回路を実現可能とし、異なる距離指標に対して適応性のあるアーキテクチャを提案し、このアーキテクチャにより、高性能なリアルタイムアプリケーションを同じハードウェア要素を用いて実現することが可能なパターン認識システムと、このシステムに用いられる連想メモリ装置及びパターン認識処理方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係るパターン認識システムは、第１の距離指標の符号化を処理可能な第２の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて所定のクロックサイクルで前記複数の参照ワード全てに対して同時に並列にビット比較及びワード重み付け比較し、最小距離のワードをウィンナとして検索する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識システムであって、前記入力データから所定ビットの被検索ワードを前記クロックサイクルで抽出する被検索ワード抽出手段と、この被検索ワード抽出手段で抽出された被検索ワードを前記第２の距離指標で符号化して前記連想メモリコアへ出力する第１の符号化手段と、前記連想メモリコアの前回のクロックサイクルの出力結果を分析し、検索結果に複数のウィンナがある場合に特定の優先度に基づいて１つのウィンナを決定する分析手段と、前記分析手段で決定されたウィンナの行の場所を示すインデックス（アドレス）と入力データとウィンナ間の前記第１の距離指標に基づく距離を符号化して出力する第２の符号化手段とを具備し、前記被検索ワード抽出手段及び前記第１の符号化手段を第１のパイプラインステージで行い、前記連想メモリコアによるウィンナ検索を第２のパイプラインステージで行い、前記分析手段及び第２の符号化手段を第３のパイプラインステージで行うことを特徴とする。
【０００８】
また、本発明に係る連想メモリコア装置は、上記パターン認識システムやパターンマッチングシステムに用いられ、被検索ワードを格納する検索ワード格納部、任意の距離指標に基づく複数の参照ワードを格納する参照ワード格納部、前記検索ワード格納部に格納される被検出ワードと前記参照ワード格納部に格納される複数の参照ワード全てに対して同時に並列にビット比較処理及びワード重み付け比較処理を行う比較処理部を備えるメモリ領域と、前記参照ワードを前記参照ワード格納部に選択的に登録する登録処理部と、前記比較処理部の比較結果から最小距離参照ワードをウィンナとして検索する最小マッチング検出部と、この最小マッチング検出部の検索結果を格納する検索結果格納部とを具備することを特徴とする。
【０００９】
また、本発明に係るパターン認識処理方法は、第１の距離指標の符号化を処理可能な第２の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて前記複数の参照ワードを全てに対して同時に並列にビット比較及びワード重み付け比較する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識処理方法であって、前記連想メモリコアに第２の距離指標に基づく所定ビットの複数の参照ワードを登録する準備ステップと、前記入力データから所定のクロックサイクルで順次所定ビットの被検索ワードを抽出し、第２の距離指標に基づいて符号化する符号化ステップと、この符号化ステップにて、前回のクロックサイクルで符号化された被検索ワードを前記連想メモリコアに入力し、前記準備ステップで登録された複数の参照ワードそれぞれについて前記被検索ワードと同時に並列にビット比較及びワード重み付け比較を行い、その比較結果から最も距離が小さいワードをウィンナとして検索する検索ステップと、この検索ステップにて、前回のクロックサイクルで得られた検索結果に複数のウィンナがあるかどうかをチェックし、特定の優先度で１つのウィンナを決定し、そのウィンナの行の場所を示すインデックス（アドレス）と入力データとウィンナ間の前記第１の距離指標に基づく距離を符号化して出力する出力処理ステップとを備えることを特徴とする。
【００１０】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１１】
図１は本発明に係る実施形態において、適応性のある距離指標を有する全並列パターン認識アーキテクチャによるシステム構成を示すブロック図である。このシステムの特徴とする点は、高速な全並列最小距離検索のためのアーキテクチャと、他の距離指標の符号化が容易に行える固定の距離指標を有する小面積の連想メモリコアを用いることである。
【００１２】
図１に示すように、本システムの基本処理は（１）入力ストリームデータのワードを符号化する第１パイプラインステージ、（２）符号化データの各ワードについて参照ワードと全並列処理によって最小距離を検索する第２パイプラインステージ、（３）複数の最小距離参照ワード（ウィンナ：ｗｉｎｎｅｒ）の分析とこの分析結果から最小距離における参照ワードの行の場所を示すインデックス（アドレス）と入力データとウィンナ間の距離を符号化する第３パイプラインステージから構成される。但し、上記パイプライン処理によるパターンマッチングフェーズを始める前に、参照ワードのパターンを連想メモリコア内に読み込んでおく準備フェーズが必要となる。
【００１３】
図１において、入力ストリームデータは入力データレジスタ１１にいったん格納される。距離指標符号化部１２はレジスタ１１から被検索ワードを順次読み出し、所定の距離指標によって符号化するもので、この符号化された被検索ワードは連想メモリコア１３に送られ、検索ワードレジスタ１３１に格納される。
【００１４】
連想メモリコア１３において、全並列ビット＆ワード比較部１３２は、予め参照ワードが格納される参照ワード格納部１３３を備える。この参照ワード格納部１３３には、前述の準備フェーズで参照ワード書き込み／読み出し部１３４により予め所望の距離指標に基づく複数の参照ワードが登録される。全並列ビット＆ワード比較部１３２は、参照ワード格納部１３３から複数の参照ワードを読み出し、前回のクロックサイクルで検索ワードレジスタ１３１に格納された被検索ワードと全てに対して同時に並列にビット比較及びワード比較を行う。最小マッチング検出部１３５は、各参照ワードとの比較結果から最も距離が小さいワード（以下、ウィンナ）を検索する。この検索結果は、検索結果レジスタ１３６に格納される。
【００１５】
複数ウィンナ分析部１４は、前回のクロックサイクルで検索結果レジスタ１３６に格納された検索結果に複数のウィンナがあるかどうかをチェックし、複数のウィンナがある場合には、特定の優先度決定アルゴリズムに従って１つのウィンナを決定する。ウィンナ・ロウ符号化部１５は、複数ウィンナ分析部１４で決定されたウィンナの行の場所を示すインデックス（アドレス）と入力データとウィンナ間の距離を符号化するもので、この符号化データはウィンナ出力レジスタ１６に格納され、順次出力ストリームデータとして出力される。
【００１６】
以下では、上記構成の動作原理について説明する。
【００１７】
連想メモリコアの距離指標として最小の選択はハミング距離である。なぜなら、ハミング距離は実用上重要で、簡単な回路で実現可能な高速な全並列最小距離検索のためのアーキテクチャ（図２参照）が知られており［参考文献４：Ｈ．　Ｊ．　Ｍａｔｔａｕｓｃｈ　ｅｔ　ａｌ．，“Ａｎ　Ａｒｃｈｉｔｅｃｔｕｒｅ　ｆｏｒ　Ｃｏｍｐａｃｔ　Ａｓｓｏｃｉａｔｉｖｅ　Ｍｅｍｏｒｉｅｓ　ｗｉｔｈ　Ｄｅｃａ−ｎｓ　Ｎｅａｒｅｓｔ−Ｍａｔｃｈ　Ｃａｐａｂｉｌｉｔｙ　ｕｐ　ｔｏ　Ｌａｒｇｅ　Ｄｉｓｔａｎｃｅｓ”，　ＩＳＳＣＣ　Ｄｉｇ．　ｏｆ　Ｔｅｃｈ．　Ｐａｐｅｒｓ，　ｐｐ．　１７０−１７１，　２００１；日本特許出願番号：特願２００１−１１７６０（平成１３年１月１９日）を基礎とする国内優先権主張を伴う特願２００２−００８７８３号特許出願（平成１４年１月１７日）］、また、他の距離指標の符号化も簡単であるためである。表１に、ｋ（＝３）ビット２進数に対して２ｋ−１（＝７）ビットが必要な場合に、ハミング距離検索ハードウェアによるマンハッタン距離検索用の符号化データの例を示す。この例では、ｋビット２進数の十進数表現の数だけ下位ビットから順に１とする符号化を行っている。
【００１８】
【表１】
2004013504.tif 000003
【００１９】
図２は、同実施形態におけるハミング距離による最小距離検索機能を有する全並列小面積半導体連想メモリの構成を示すブロック図である。この半導体連想メモリは、メモリ領域１００とウィンナ・ルーザ距離増幅を行うウィンナ・ルーザラインアップ増幅器（以下、ＷＬＡ）２００と、ウィンナ・テイクオール回路（以下、ＷＴＡ）３００で構成される。
【００２０】
メモリ領域１００は、集積化されたビット比較器ＢＣｉ，ｊ（ｉ＝１〜Ｒ，ｊ＝１〜Ｗ、添え字ｉ，ｊの範囲は以下同様）を備えるＲ行、Ｗ列の蓄積セルＳＣｉ，ｊと、ワード比較に重み付けを行ったワード重み付け比較器ＷＷＣｉ（以下、単にＷＷＣｉと呼ぶ）から構成される。
【００２１】
メモリ領域１００の左辺にはＲ行のロウデコーダ１１０が接続され、上辺には入力データ（Ｗビット）を入力するワード検索部１２０が配置される。また、下辺にはＷ列のカラムデコーダ１３０が接続され、蓄積セルごとに読み出し・書き込みが行われる。尚、Ｗビットの参照ワードは、予め各蓄積セルＳＣｉ，ｊに書き込まれ、ワード検索部１２０に入力されるＷビットの入力ワードに最も類似する最小距離参照ワードがウィンナとして読み出される。
【００２２】
上記ウィンナの選択は、ＷＬＡ２００及びＷＴＡ３００により実行される。ここで、ＷＬＡ２００は、ウィンナ（入力ワードに最も類似した参照ワード）とルーザ（ウィンナ以外の参照ワード：ｌｏｓｅｒ）の距離の差を、最初の段階で最も大きくなるように増幅するために、比較信号Ｃｉのレベルを制御する。また、ＷＬＡ２００は、フィードバックループにより、自動的にウィンナの比較信号Ｃｗｉｎ（最低レベルの値をとる）が最大利得領域の範囲内に入るように自己調整を行う。
【００２３】
ＷＴＡ３００は、ＷＬＡ２００からの距離出力信号ＬＡｉを受けて一致信号Ｍｉを出力する。一致信号Ｍｉは、ウィンナ行に対しては“１”であり、その他の全ての行（ルーザ行）に対しては“０”である。このようにして、最終的にウィンナが決定される。尚、ＷＬＡ２００の入力部には、ＷＷＣｉからの比較信号Ｃｉが入力され、ＷＬＡ２００からはフィードバック信号Ｆが返される。
【００２４】
これに対し、全並列連想メモリコアでマンハッタン距離を直接実現する場合には、図３に示すように、ｋビット２進数符号化データの第１グループから最終グループまで（メモリ領域の各列）、それぞれのマンハッタン距離比較ユニット４００に、ｋビット減算器４１０と絶対値計算回路４２０を用意し、マンハッタン距離用ワード比較器（ＷＣ）５００にて各グループの絶対値によるワード比較を行うことになる。このようなハードウェアでは、各グループにおける減算器４１０及び絶対値計算回路４２０の集積化のための面積が必要となり、また、最小距離検索のためのクリティカルパスに更なる遅延時間が増すことになる。
【００２５】
もし、マンハッタン距離の計算をハミング距離ハードウェアにマッピングすれば、面積増加と遅延増加の要因となるｋビットの減算と絶対値計算のための回路を連想メモリコアから取り除くことができる。このマッピングのコストはビット数ｋに対して２ｋ−１となる。そのため、遅延時間の削減に対しては影響を受けないが、面積の利点の大きさに関してトレードオフが生じる。ビット当たりの減算と絶対値計算回路の現実的なトランジスタ数は２４であるので、マッピングにより連想メモリコアのメモリ領域で削減されるトランジスタ数は条件式（１）により得ることができる。
９（２ｋ−１）＝ｔｒａｎｓｉｓｔｏｒｓ（ｍａｐｐｅｄ）
＜３０ｋ＋２ｋ　ｔｒａｎｓｉｓｔｏｒｓ（ｍａｐｐｅｄ）　　　（１）
式（１）をｋに対して解くことによりｋ＜４．０３となる。これから、マンハッタン距離検索をハミング距離ハードウェア上にマッピングする場合には、４ビットの２進数までは、最小距離検索時間を増やすことなく、連想メモリコアの小面積化が可能となる。
【００２６】
上記動作原理に基づき、図１に示した本発明による全並列パターン認識システムについて、具体的に説明する。
【００２７】
図１に示すシステムにおいて、パターンマッチングアーキテクチャは２つのフェーズモードからなる。一つは、新しい参照ワードを連想メモリコア１３内の参照ワード格納部１３３にロードしたり、参照ワード格納部１３３から参照ワードを読み出したりする参照ワード格納部１３３にアクセスするための準備フェーズモードである。もう一つはパターンマッチングフェーズモードで、このモードは、入力ストリームデータの各ワードを逐次的に連続して処理を行う３ステージ時間オーバーラップのパイプラインの原理に基づいている。
【００２８】
本発明に基づくハードウェアの通常の動作は、パターンマッチングフェーズが続く準備フェーズから成る。準備フェーズでは、連想メモリコア１３のハードウェアに実現されている距離指標に応じた符号化がされた参照ワードは参照ワード格納部１３Ａの中にロードされる。パターンマッチングフェーズでは、３ステージのパイプラインにより、入力ストリームデータの各ワードに対して、参照ワードの中で最も距離が近いウィンナを決定する。
【００２９】
上記パターンマッチングフェーズにおいて、３ステージパイプラインは下記の処理を行う。
【００３０】
第１パイプラインステージでは、マッチング処理を行うための入力データパターンが元の距離指標で入力データレジスタ１１から読みとられる。そして、マッチング処理を行うために、第２パイプラインステージの連想メモリコア１３で実現されている距離指標で符号化される。符号化された結果は、検索ワードレジスタ１３１に保存される。
【００３１】
第２パイプラインステージでは、前のクロックサイクルで符号化された検索ワードが検索ワードレジスタ１３１から読み出され、最小距離検索を行う連想メモリコア１３の入力として転送される。連想メモリコア１３で実現されている距離指標に基づいて、参照ワードの中から最も距離が小さいワードが決定される。最小距離検索の情報は検索結果レジスタ１３４に転送される。
【００３２】
第３パイプラインステージでは、前のクロックサイクルの検索結果に複数のウィンナがあるかどうかをチェックする。もし、複数のウィンナがある場合には、例えば、小さな列番号に大きな優先度を与えるというような優先度決定のアルゴリズムに基づいて、複数のウィンナの中から１つを選択する。最後にウィンナとして選ばれた行の場所を示すインデックス（アドレス）と入力データとウィンナ間の距離が符号化されてウィンナ出力レジスタ１６に書き込まれる。
【００３３】
アプリケーションによっては、ウィンナの中から１つを選ぶのではなく、全てのウィンナを出力する必要がある場合もあり得る。この場合には、既に選ばれたウィンナを検索結果データから削除し、全てのウィンナ行の場所を示すインデックス（アドレス）と入力データとウィンナ間の距離が符号化されてウィンナ出力レジスタ１６に保存されるまで、優先度決定アルゴリズムに基づいた選択処理を繰り返す。
【００３４】
全てのパイプラインステージは並列に動作し、入力ストリームデータ中の３つの連続するデータワードについて、同時に連続するパイプラインステージで処理を行う。
【００３５】
上記実施形態において、符号化の利点は３つある。
【００３６】
最も重要なことは、広範囲の様々なアプリケーションに対して連想メモリコアのハードウェア（ハミング距離ハードウェアが最も良いと期待される）を再利用することが可能であることである。
【００３７】
更に、より複雑な距離指標（例えば、マンハッタン距離に対する減算と絶対値計算など）のために必要となっていた回路を連想メモリコアから切り離し、最初のパイプラインステージで取り扱うことができる。そのため、最小距離検索機能のための回路の遅延時間が短くなり、連想メモリコアのスループット（処理能力）が大きくなる。
【００３８】
最後に、コアに必要とされるハードウェア量が実用上の多くの場合において小さく抑えることが可能となる。例えば、前述のように、ハミング距離によるマンハッタン距離検索の符号化は、多くの実用的なアプリケーションにおいて、４ビット２進数まではコアのハードウェアが小さくなることが見積もられている。
【００３９】
図４に、ハミング距離及びマンハッタン距離の最小距離検索を行うアプリケーションに適用可能なパターン認識システムのために試作した連想メモリコアのチップ写真を示す。このテストチップの試作では、０．６μｍＣＭＯＳ技術と２層ポリシリコン、３層メタル配線行程を用いて行った。
【００４０】
試作された半導体連想メモリのメモリ領域は、参照ワードの蓄積セル（ＳＣ）、ビット比較器（ＢＣ）及びワード重み付け比較器（ＷＷＣ）を収容するため、図４に示すように、３２行を２５６ビットの３個のフィールドに分割し、合計７６８ビットのワード長となるようにした。
【００４１】
メモリ領域における参照ワードの蓄積容量は、ワード長（パターン長）７６８ビット３２参照パターン（合計２４ｋビット）である。設計面積は９．７５ｍｍ２、その内ＷＬＡ及びＷＴＡで構成される最近傍マッチユニットの占有面積は０．３０７ｍｍ２であり、設計面積の３．１５％にすぎない。この内ＷＬＡの占有分は１．３７％、ＷＴＡの占有分は１．７８％であった。最小距離検索時間は７０ｎｓ以下、消費電力は電源電圧３．３Ｖ、１０ＭＨｚ動作で４３ｍＷ以下、参照パターン当たりの消費電力は１．３５ｍＷ以下である。
【００４２】
このテストチップでは、最大パターン長として７６８ビットのワード長が選ばれているが、このワード長ならば、４×４ピクセルブロックのフルカラー動画圧縮（各カラーを４ビット表現に丸める）や指紋認識（指紋の山と谷を１ピクセル幅に削減した後で照合する場合に適用）に十分適用することができる。
【００４３】
図５に最小距離参照ワード（ウィンナ）と最近傍の参照ワード（最近傍ルーザ）との距離が１ビットの場合と５ビットの場合に対し、図４に示した連想メモリコアのテストチップにおける平均最小距離検索時間を測定した結果を示す。
【００４４】
図５では、最小距離参照ワードと最近傍の参照データのパターンに対して、１０個の物理的に異なる場所（異なる行）で測定した結果をプロットしている。エラーバーの大きさから、最小距離参照ワードと最近傍の参照ワードとの距離が１ビットという持ってもクリティカルな場合でも、測定データのばらつきは非常に小さいことがわかる。
【００４５】
図５から、試作された半導体連想メモリの最小距離検索時間を測定した結果、１ビット及び５ビットのウィンナ・ルーザ間距離について、１２４ビット以下、及び４４４ビット以下のウィンナ・入力間距離に対する検索結果は、１参照パターン当たり僅か１．３４ｍＷの電力消費で、最小距離検索時間が７０ｎｓ以下と、極めて高速であることが確認された。
【００４６】
したがって、上記実施形態における全並列パターン認識システムは、特に小面積・高スループットの集積回路を実現可能であり、異なる距離指標に対して適応性のあるアーキテクチャにより、高性能なリアルタイムアプリケーションを同じハードウェア要素を用いて実現することができる。
【００４７】
尚、本発明は、上記実施形態に限定されるものではない。例えば、上記実施形態では、距離指標符号化部１２が一つの距離指標に対応する場合について説明したが、距離指標符号化部１２内に複数の距離指標に対応する複数の符号化処理部を予め用意しておき、制御信号によりいずれかの符号化処理部を選択するようにすれば、一つのハードウェアで複数の距離指標について処理することが可能となる。
【００４８】
具体的には、連想メモリコア１３で処理される距離指標がハミング距離である場合、距離指標符号化部１２にマンハッタン距離の符号化処理部（表１の変換処理）とハミング距離の符号化処理部（スルー処理）を用意しておき、入力データに合わせて制御信号により選択することで、２つの距離指標を一つのハードウェアで処理することができる。
【００４９】
また、距離指標符号化部１２のみを複数の距離指標に対応させるのではなく、第１パイプラインの処理ブロック全体を複数の距離指標に合わせて用意しておき、入力データに合わせて組み合わせるようにしても同様の効果が得られる。
【００５０】
このように本発明は、異なる距離指標に対する適応性のあるアーキテクチャにより、同じハードウェア要素を用いてパターン認識を実現することができるため、例えばネットワークルータ、コードブックベースデータ圧縮、対象認識、及び人工知能システム、データバンクシステム、インターネットルータ、移動端末（例えばモバイルビデオ端末等）におけるパターンマッチングに対して広く適用することができる。その他、本発明の要旨を逸脱しない範囲で種々変形して実施することができる。
【００５１】
【発明の効果】
以上のように本発明によれば、特に小面積・高スループットの集積回路を実現可能とし、異なる距離指標に対して適応性のあるアーキテクチャを提案し、このアーキテクチャにより、高性能なリアルタイムアプリケーションを同じハードウェア要素を用いて実現することが可能なパターン認識システムと、このシステムに用いられる連想メモリ装置及びパターン認識処理方法を提供することができる。
【図面の簡単な説明】
【図１】本発明に係る実施形態において、適応性のある距離指標を有する全並列パターン認識アーキテクチャによるシステム構成を示すブロック図である。
【図２】同実施形態におけるハミング距離による最小距離検索機能を有する全並列小面積連想メモリの構成を示すブロック図である。
【図３】マンハッタン距離を直接実現した場合の、ディジタル・アナログ融合連想メモリコアのメモリ領域のアーキテクチャを示すブロック図である。
【図４】同実施形態において、適応性のある距離指標を有するパターン認識アーキテクチャの連想メモリコアの０．６μｍＣＭＯＳ技術により実現したテストチップ構成例を示すブロック図である。
【図５】最小距離参照ワード（ウィンナ：ｗｉｎｎｅｒ）と最近傍の参照データ（ルーザ：ｌｏｓｅｒ）の距離が１と５ビットの場合に対する連想メモリコアテストチップの測定平均最小距離検索時間の関係を示す図である。
【符号の説明】
１１…入力データレジスタ
１２…距離指標符号化部
１３…連想メモリコア
１３１…検索ワードレジスタ
１３２…全並列ビット＆ワード比較部
１３３…参照ワード格納部
１３４…参照ワード書き込み／読み出し部
１３５…最小マッチング検出部
１３６…検索結果レジスタ
１４…複数ウィンナ分析部
１５…ウィンナ・ロウ符号化部
１６…ウィンナ出力レジスタ
１００…メモリ領域
２００…ウィンナ・ルーザラインアップ増幅器（ＷＬＡ）
３００…ウィンナ・テイクオール回路（ＷＴＡ）
ＢＣｉ，ｊ…ビット比較器
ＳＣｉ，ｊ…蓄積セル
ＷＷＣｉ…ワード重み付け比較器
１１０…ロウデコーダ
１２０…ワード検索部
１３０…カラムデコーダ
４００…マンハッタン距離比較ユニット
４１０…ｋビット減算器
４２０…絶対値計算回路
５００…マンハッタン距離用ワード比較器（ＷＣ）
【図１】
2004013504.tif 000004
【図２】
2004013504.tif 000005
【図３】
2004013504.tif 000006
【図４】
2004013504.tif 000007
【図５】
2004013504.tif 000008