JP2004013504A - パターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法 - Google Patents
パターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法 Download PDFInfo
- Publication number
- JP2004013504A JP2004013504A JP2002165769A JP2002165769A JP2004013504A JP 2004013504 A JP2004013504 A JP 2004013504A JP 2002165769 A JP2002165769 A JP 2002165769A JP 2002165769 A JP2002165769 A JP 2002165769A JP 2004013504 A JP2004013504 A JP 2004013504A
- Authority
- JP
- Japan
- Prior art keywords
- word
- distance
- encoding
- pattern recognition
- distance index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
- Image Processing (AREA)
Abstract
【課題】複数のパターン認識処理を同じハードウェア要素を用いて実現する。
【解決手段】予め第1の距離指標の符号化を処理可能な第2の距離指標に基づく複数の参照ワードを連想メモリコア13に登録しておく。第1パイプラインステージにおいて、入力データから所定ビットの被検索ワードを所定のクロックサイクルで抽出し、この被検索ワードを第2の距離指標で符号化して連想メモリコア13へ出力する。第2パイプラインステージにおいて、連想メモリコア13により、前回のクロックサイクルで得られた被検索ワードに対する最小距離参照ワード(ウィンナ)を検索する。第3パイプラインステージにおいて、前回のクロックサイクルの前記連想メモリコア出力結果を分析し、検索結果に複数のウィンナがある場合に特定の優先度に基づいて1つのウィンナを決定し、そのウィンナの行の場所を示すアドレスと入力データとウィンナ間の距離を符号化出力する。
【選択図】 図1
【解決手段】予め第1の距離指標の符号化を処理可能な第2の距離指標に基づく複数の参照ワードを連想メモリコア13に登録しておく。第1パイプラインステージにおいて、入力データから所定ビットの被検索ワードを所定のクロックサイクルで抽出し、この被検索ワードを第2の距離指標で符号化して連想メモリコア13へ出力する。第2パイプラインステージにおいて、連想メモリコア13により、前回のクロックサイクルで得られた被検索ワードに対する最小距離参照ワード(ウィンナ)を検索する。第3パイプラインステージにおいて、前回のクロックサイクルの前記連想メモリコア出力結果を分析し、検索結果に複数のウィンナがある場合に特定の優先度に基づいて1つのウィンナを決定し、そのウィンナの行の場所を示すアドレスと入力データとウィンナ間の距離を符号化出力する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、異なる距離指標を必要とするアプリケーション、例えば人工知能システム、データバンクシステム、インターネットルータ、モバイル端末(例えば、モバイルビデオ電話)に適用され、入力パターンとデータベース内の参照パターンの中から最も類似している(最小距離)のパターンを決定するパターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法に関する。
【0002】
【従来の技術】
パターン認識は、ネットワークルータ、コードブックベースデータ圧縮及び対象認識など、情報技術(IT)社会において発生した多くのアプリケーション分野において基本的な機能である。特定のアプリケーションにおいては、必要とするパターン認識やパターンマッチングのために異なる距離指標を使用する。
【0003】
このように、様々な異なる距離指標を用いてパターン認識やパターンマッチングを行う場合には、入力パターンとデータベース内の参照パターンの中から最も類似している(最小距離)のパターンを決定する。適切な距離指標は認識するパターンの種類に応じて選定する。近年注目を浴びており、高速な検索時間が要求される、リアルタイム性が重要なアプリケーションの中で、異なる距離指標を持つ例としては、ベクトル量子化を用いたビデオ信号圧縮(マンハッタン距離)[参考文献1]や指紋の認識(ハミング距離)[参考文献2、3]がある。
【0004】
参考文献1:T. Nozawa et al.,“A Parallel Vector−Quantization Processor Eliminating Redundant Calculations for Real−Time Motion Picture Compression”, IEEE J. Solid−State Circuits, vol. 35, pp.1744−1751, 2000. 参考文献2:S. Jung et al.,“A Low−Power and High−Performance CMOS Fingerprint Sensing and Encoding Architecture”, IEEE J. Solid−State Circuits, vol. 34, pp. 978−984, 1999.
参考文献3:S. Shigematsu et al.,“A Single−Chip Fingerprint Sensor and Identifier”, IEEE J. Solid−State Circuits, vol. 34, pp. 1852−1859, 1999.
【0005】
【発明が解決しようとする課題】
従来のパターン認識システムでは、異なる距離指標に対するパターン認識システムの適応性は、現在のところソフトウェアに依存しており、効率の良いハードウェアによる解決策がないのが現状である。効率の良いハードウェア化の実現は、広い範囲で実用性が達成されるため、有用な技術として注目されている。
【0006】
本発明は、上記の事情に鑑みてなされたもので、特に小面積・高スループットの集積回路を実現可能とし、異なる距離指標に対して適応性のあるアーキテクチャを提案し、このアーキテクチャにより、高性能なリアルタイムアプリケーションを同じハードウェア要素を用いて実現することが可能なパターン認識システムと、このシステムに用いられる連想メモリ装置及びパターン認識処理方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係るパターン認識システムは、第1の距離指標の符号化を処理可能な第2の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて所定のクロックサイクルで前記複数の参照ワード全てに対して同時に並列にビット比較及びワード重み付け比較し、最小距離のワードをウィンナとして検索する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識システムであって、前記入力データから所定ビットの被検索ワードを前記クロックサイクルで抽出する被検索ワード抽出手段と、この被検索ワード抽出手段で抽出された被検索ワードを前記第2の距離指標で符号化して前記連想メモリコアへ出力する第1の符号化手段と、前記連想メモリコアの前回のクロックサイクルの出力結果を分析し、検索結果に複数のウィンナがある場合に特定の優先度に基づいて1つのウィンナを決定する分析手段と、前記分析手段で決定されたウィンナの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の前記第1の距離指標に基づく距離を符号化して出力する第2の符号化手段とを具備し、前記被検索ワード抽出手段及び前記第1の符号化手段を第1のパイプラインステージで行い、前記連想メモリコアによるウィンナ検索を第2のパイプラインステージで行い、前記分析手段及び第2の符号化手段を第3のパイプラインステージで行うことを特徴とする。
【0008】
また、本発明に係る連想メモリコア装置は、上記パターン認識システムやパターンマッチングシステムに用いられ、被検索ワードを格納する検索ワード格納部、任意の距離指標に基づく複数の参照ワードを格納する参照ワード格納部、前記検索ワード格納部に格納される被検出ワードと前記参照ワード格納部に格納される複数の参照ワード全てに対して同時に並列にビット比較処理及びワード重み付け比較処理を行う比較処理部を備えるメモリ領域と、前記参照ワードを前記参照ワード格納部に選択的に登録する登録処理部と、前記比較処理部の比較結果から最小距離参照ワードをウィンナとして検索する最小マッチング検出部と、この最小マッチング検出部の検索結果を格納する検索結果格納部とを具備することを特徴とする。
【0009】
また、本発明に係るパターン認識処理方法は、第1の距離指標の符号化を処理可能な第2の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて前記複数の参照ワードを全てに対して同時に並列にビット比較及びワード重み付け比較する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識処理方法であって、前記連想メモリコアに第2の距離指標に基づく所定ビットの複数の参照ワードを登録する準備ステップと、前記入力データから所定のクロックサイクルで順次所定ビットの被検索ワードを抽出し、第2の距離指標に基づいて符号化する符号化ステップと、この符号化ステップにて、前回のクロックサイクルで符号化された被検索ワードを前記連想メモリコアに入力し、前記準備ステップで登録された複数の参照ワードそれぞれについて前記被検索ワードと同時に並列にビット比較及びワード重み付け比較を行い、その比較結果から最も距離が小さいワードをウィンナとして検索する検索ステップと、この検索ステップにて、前回のクロックサイクルで得られた検索結果に複数のウィンナがあるかどうかをチェックし、特定の優先度で1つのウィンナを決定し、そのウィンナの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の前記第1の距離指標に基づく距離を符号化して出力する出力処理ステップとを備えることを特徴とする。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0011】
図1は本発明に係る実施形態において、適応性のある距離指標を有する全並列パターン認識アーキテクチャによるシステム構成を示すブロック図である。このシステムの特徴とする点は、高速な全並列最小距離検索のためのアーキテクチャと、他の距離指標の符号化が容易に行える固定の距離指標を有する小面積の連想メモリコアを用いることである。
【0012】
図1に示すように、本システムの基本処理は(1)入力ストリームデータのワードを符号化する第1パイプラインステージ、(2)符号化データの各ワードについて参照ワードと全並列処理によって最小距離を検索する第2パイプラインステージ、(3)複数の最小距離参照ワード(ウィンナ:winner)の分析とこの分析結果から最小距離における参照ワードの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の距離を符号化する第3パイプラインステージから構成される。但し、上記パイプライン処理によるパターンマッチングフェーズを始める前に、参照ワードのパターンを連想メモリコア内に読み込んでおく準備フェーズが必要となる。
【0013】
図1において、入力ストリームデータは入力データレジスタ11にいったん格納される。距離指標符号化部12はレジスタ11から被検索ワードを順次読み出し、所定の距離指標によって符号化するもので、この符号化された被検索ワードは連想メモリコア13に送られ、検索ワードレジスタ131に格納される。
【0014】
連想メモリコア13において、全並列ビット&ワード比較部132は、予め参照ワードが格納される参照ワード格納部133を備える。この参照ワード格納部133には、前述の準備フェーズで参照ワード書き込み/読み出し部134により予め所望の距離指標に基づく複数の参照ワードが登録される。全並列ビット&ワード比較部132は、参照ワード格納部133から複数の参照ワードを読み出し、前回のクロックサイクルで検索ワードレジスタ131に格納された被検索ワードと全てに対して同時に並列にビット比較及びワード比較を行う。最小マッチング検出部135は、各参照ワードとの比較結果から最も距離が小さいワード(以下、ウィンナ)を検索する。この検索結果は、検索結果レジスタ136に格納される。
【0015】
複数ウィンナ分析部14は、前回のクロックサイクルで検索結果レジスタ136に格納された検索結果に複数のウィンナがあるかどうかをチェックし、複数のウィンナがある場合には、特定の優先度決定アルゴリズムに従って1つのウィンナを決定する。ウィンナ・ロウ符号化部15は、複数ウィンナ分析部14で決定されたウィンナの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の距離を符号化するもので、この符号化データはウィンナ出力レジスタ16に格納され、順次出力ストリームデータとして出力される。
【0016】
以下では、上記構成の動作原理について説明する。
【0017】
連想メモリコアの距離指標として最小の選択はハミング距離である。なぜなら、ハミング距離は実用上重要で、簡単な回路で実現可能な高速な全並列最小距離検索のためのアーキテクチャ(図2参照)が知られており[参考文献4:H. J. Mattausch et al.,“An Architecture for Compact Associative Memories with Deca−ns Nearest−Match Capability up to Large Distances”, ISSCC Dig. of Tech. Papers, pp. 170−171, 2001;日本特許出願番号:特願2001−11760(平成13年1月19日)を基礎とする国内優先権主張を伴う特願2002−008783号特許出願(平成14年1月17日)]、また、他の距離指標の符号化も簡単であるためである。表1に、k(=3)ビット2進数に対して2k−1(=7)ビットが必要な場合に、ハミング距離検索ハードウェアによるマンハッタン距離検索用の符号化データの例を示す。この例では、kビット2進数の十進数表現の数だけ下位ビットから順に1とする符号化を行っている。
【0018】
【表1】
【0019】
図2は、同実施形態におけるハミング距離による最小距離検索機能を有する全並列小面積半導体連想メモリの構成を示すブロック図である。この半導体連想メモリは、メモリ領域100とウィンナ・ルーザ距離増幅を行うウィンナ・ルーザラインアップ増幅器(以下、WLA)200と、ウィンナ・テイクオール回路(以下、WTA)300で構成される。
【0020】
メモリ領域100は、集積化されたビット比較器BCi,j(i=1〜R,j=1〜W、添え字i,jの範囲は以下同様)を備えるR行、W列の蓄積セルSCi,jと、ワード比較に重み付けを行ったワード重み付け比較器WWCi(以下、単にWWCiと呼ぶ)から構成される。
【0021】
メモリ領域100の左辺にはR行のロウデコーダ110が接続され、上辺には入力データ(Wビット)を入力するワード検索部120が配置される。また、下辺にはW列のカラムデコーダ130が接続され、蓄積セルごとに読み出し・書き込みが行われる。尚、Wビットの参照ワードは、予め各蓄積セルSCi,jに書き込まれ、ワード検索部120に入力されるWビットの入力ワードに最も類似する最小距離参照ワードがウィンナとして読み出される。
【0022】
上記ウィンナの選択は、WLA200及びWTA300により実行される。ここで、WLA200は、ウィンナ(入力ワードに最も類似した参照ワード)とルーザ(ウィンナ以外の参照ワード:loser)の距離の差を、最初の段階で最も大きくなるように増幅するために、比較信号Ciのレベルを制御する。また、WLA200は、フィードバックループにより、自動的にウィンナの比較信号Cwin(最低レベルの値をとる)が最大利得領域の範囲内に入るように自己調整を行う。
【0023】
WTA300は、WLA200からの距離出力信号LAiを受けて一致信号Miを出力する。一致信号Miは、ウィンナ行に対しては“1”であり、その他の全ての行(ルーザ行)に対しては“0”である。このようにして、最終的にウィンナが決定される。尚、WLA200の入力部には、WWCiからの比較信号Ciが入力され、WLA200からはフィードバック信号Fが返される。
【0024】
これに対し、全並列連想メモリコアでマンハッタン距離を直接実現する場合には、図3に示すように、kビット2進数符号化データの第1グループから最終グループまで(メモリ領域の各列)、それぞれのマンハッタン距離比較ユニット400に、kビット減算器410と絶対値計算回路420を用意し、マンハッタン距離用ワード比較器(WC)500にて各グループの絶対値によるワード比較を行うことになる。このようなハードウェアでは、各グループにおける減算器410及び絶対値計算回路420の集積化のための面積が必要となり、また、最小距離検索のためのクリティカルパスに更なる遅延時間が増すことになる。
【0025】
もし、マンハッタン距離の計算をハミング距離ハードウェアにマッピングすれば、面積増加と遅延増加の要因となるkビットの減算と絶対値計算のための回路を連想メモリコアから取り除くことができる。このマッピングのコストはビット数kに対して2k−1となる。そのため、遅延時間の削減に対しては影響を受けないが、面積の利点の大きさに関してトレードオフが生じる。ビット当たりの減算と絶対値計算回路の現実的なトランジスタ数は24であるので、マッピングにより連想メモリコアのメモリ領域で削減されるトランジスタ数は条件式(1)により得ることができる。
9(2k−1)=transistors(mapped)
<30k+2k transistors(mapped) (1)
式(1)をkに対して解くことによりk<4.03となる。これから、マンハッタン距離検索をハミング距離ハードウェア上にマッピングする場合には、4ビットの2進数までは、最小距離検索時間を増やすことなく、連想メモリコアの小面積化が可能となる。
【0026】
上記動作原理に基づき、図1に示した本発明による全並列パターン認識システムについて、具体的に説明する。
【0027】
図1に示すシステムにおいて、パターンマッチングアーキテクチャは2つのフェーズモードからなる。一つは、新しい参照ワードを連想メモリコア13内の参照ワード格納部133にロードしたり、参照ワード格納部133から参照ワードを読み出したりする参照ワード格納部133にアクセスするための準備フェーズモードである。もう一つはパターンマッチングフェーズモードで、このモードは、入力ストリームデータの各ワードを逐次的に連続して処理を行う3ステージ時間オーバーラップのパイプラインの原理に基づいている。
【0028】
本発明に基づくハードウェアの通常の動作は、パターンマッチングフェーズが続く準備フェーズから成る。準備フェーズでは、連想メモリコア13のハードウェアに実現されている距離指標に応じた符号化がされた参照ワードは参照ワード格納部13Aの中にロードされる。パターンマッチングフェーズでは、3ステージのパイプラインにより、入力ストリームデータの各ワードに対して、参照ワードの中で最も距離が近いウィンナを決定する。
【0029】
上記パターンマッチングフェーズにおいて、3ステージパイプラインは下記の処理を行う。
【0030】
第1パイプラインステージでは、マッチング処理を行うための入力データパターンが元の距離指標で入力データレジスタ11から読みとられる。そして、マッチング処理を行うために、第2パイプラインステージの連想メモリコア13で実現されている距離指標で符号化される。符号化された結果は、検索ワードレジスタ131に保存される。
【0031】
第2パイプラインステージでは、前のクロックサイクルで符号化された検索ワードが検索ワードレジスタ131から読み出され、最小距離検索を行う連想メモリコア13の入力として転送される。連想メモリコア13で実現されている距離指標に基づいて、参照ワードの中から最も距離が小さいワードが決定される。最小距離検索の情報は検索結果レジスタ134に転送される。
【0032】
第3パイプラインステージでは、前のクロックサイクルの検索結果に複数のウィンナがあるかどうかをチェックする。もし、複数のウィンナがある場合には、例えば、小さな列番号に大きな優先度を与えるというような優先度決定のアルゴリズムに基づいて、複数のウィンナの中から1つを選択する。最後にウィンナとして選ばれた行の場所を示すインデックス(アドレス)と入力データとウィンナ間の距離が符号化されてウィンナ出力レジスタ16に書き込まれる。
【0033】
アプリケーションによっては、ウィンナの中から1つを選ぶのではなく、全てのウィンナを出力する必要がある場合もあり得る。この場合には、既に選ばれたウィンナを検索結果データから削除し、全てのウィンナ行の場所を示すインデックス(アドレス)と入力データとウィンナ間の距離が符号化されてウィンナ出力レジスタ16に保存されるまで、優先度決定アルゴリズムに基づいた選択処理を繰り返す。
【0034】
全てのパイプラインステージは並列に動作し、入力ストリームデータ中の3つの連続するデータワードについて、同時に連続するパイプラインステージで処理を行う。
【0035】
上記実施形態において、符号化の利点は3つある。
【0036】
最も重要なことは、広範囲の様々なアプリケーションに対して連想メモリコアのハードウェア(ハミング距離ハードウェアが最も良いと期待される)を再利用することが可能であることである。
【0037】
更に、より複雑な距離指標(例えば、マンハッタン距離に対する減算と絶対値計算など)のために必要となっていた回路を連想メモリコアから切り離し、最初のパイプラインステージで取り扱うことができる。そのため、最小距離検索機能のための回路の遅延時間が短くなり、連想メモリコアのスループット(処理能力)が大きくなる。
【0038】
最後に、コアに必要とされるハードウェア量が実用上の多くの場合において小さく抑えることが可能となる。例えば、前述のように、ハミング距離によるマンハッタン距離検索の符号化は、多くの実用的なアプリケーションにおいて、4ビット2進数まではコアのハードウェアが小さくなることが見積もられている。
【0039】
図4に、ハミング距離及びマンハッタン距離の最小距離検索を行うアプリケーションに適用可能なパターン認識システムのために試作した連想メモリコアのチップ写真を示す。このテストチップの試作では、0.6μmCMOS技術と2層ポリシリコン、3層メタル配線行程を用いて行った。
【0040】
試作された半導体連想メモリのメモリ領域は、参照ワードの蓄積セル(SC)、ビット比較器(BC)及びワード重み付け比較器(WWC)を収容するため、図4に示すように、32行を256ビットの3個のフィールドに分割し、合計768ビットのワード長となるようにした。
【0041】
メモリ領域における参照ワードの蓄積容量は、ワード長(パターン長)768ビット32参照パターン(合計24kビット)である。設計面積は9.75mm2、その内WLA及びWTAで構成される最近傍マッチユニットの占有面積は0.307mm2であり、設計面積の3.15%にすぎない。この内WLAの占有分は1.37%、WTAの占有分は1.78%であった。最小距離検索時間は70ns以下、消費電力は電源電圧3.3V、10MHz動作で43mW以下、参照パターン当たりの消費電力は1.35mW以下である。
【0042】
このテストチップでは、最大パターン長として768ビットのワード長が選ばれているが、このワード長ならば、4×4ピクセルブロックのフルカラー動画圧縮(各カラーを4ビット表現に丸める)や指紋認識(指紋の山と谷を1ピクセル幅に削減した後で照合する場合に適用)に十分適用することができる。
【0043】
図5に最小距離参照ワード(ウィンナ)と最近傍の参照ワード(最近傍ルーザ)との距離が1ビットの場合と5ビットの場合に対し、図4に示した連想メモリコアのテストチップにおける平均最小距離検索時間を測定した結果を示す。
【0044】
図5では、最小距離参照ワードと最近傍の参照データのパターンに対して、10個の物理的に異なる場所(異なる行)で測定した結果をプロットしている。エラーバーの大きさから、最小距離参照ワードと最近傍の参照ワードとの距離が1ビットという持ってもクリティカルな場合でも、測定データのばらつきは非常に小さいことがわかる。
【0045】
図5から、試作された半導体連想メモリの最小距離検索時間を測定した結果、1ビット及び5ビットのウィンナ・ルーザ間距離について、124ビット以下、及び444ビット以下のウィンナ・入力間距離に対する検索結果は、1参照パターン当たり僅か1.34mWの電力消費で、最小距離検索時間が70ns以下と、極めて高速であることが確認された。
【0046】
したがって、上記実施形態における全並列パターン認識システムは、特に小面積・高スループットの集積回路を実現可能であり、異なる距離指標に対して適応性のあるアーキテクチャにより、高性能なリアルタイムアプリケーションを同じハードウェア要素を用いて実現することができる。
【0047】
尚、本発明は、上記実施形態に限定されるものではない。例えば、上記実施形態では、距離指標符号化部12が一つの距離指標に対応する場合について説明したが、距離指標符号化部12内に複数の距離指標に対応する複数の符号化処理部を予め用意しておき、制御信号によりいずれかの符号化処理部を選択するようにすれば、一つのハードウェアで複数の距離指標について処理することが可能となる。
【0048】
具体的には、連想メモリコア13で処理される距離指標がハミング距離である場合、距離指標符号化部12にマンハッタン距離の符号化処理部(表1の変換処理)とハミング距離の符号化処理部(スルー処理)を用意しておき、入力データに合わせて制御信号により選択することで、2つの距離指標を一つのハードウェアで処理することができる。
【0049】
また、距離指標符号化部12のみを複数の距離指標に対応させるのではなく、第1パイプラインの処理ブロック全体を複数の距離指標に合わせて用意しておき、入力データに合わせて組み合わせるようにしても同様の効果が得られる。
【0050】
このように本発明は、異なる距離指標に対する適応性のあるアーキテクチャにより、同じハードウェア要素を用いてパターン認識を実現することができるため、例えばネットワークルータ、コードブックベースデータ圧縮、対象認識、及び人工知能システム、データバンクシステム、インターネットルータ、移動端末(例えばモバイルビデオ端末等)におけるパターンマッチングに対して広く適用することができる。その他、本発明の要旨を逸脱しない範囲で種々変形して実施することができる。
【0051】
【発明の効果】
以上のように本発明によれば、特に小面積・高スループットの集積回路を実現可能とし、異なる距離指標に対して適応性のあるアーキテクチャを提案し、このアーキテクチャにより、高性能なリアルタイムアプリケーションを同じハードウェア要素を用いて実現することが可能なパターン認識システムと、このシステムに用いられる連想メモリ装置及びパターン認識処理方法を提供することができる。
【図面の簡単な説明】
【図1】本発明に係る実施形態において、適応性のある距離指標を有する全並列パターン認識アーキテクチャによるシステム構成を示すブロック図である。
【図2】同実施形態におけるハミング距離による最小距離検索機能を有する全並列小面積連想メモリの構成を示すブロック図である。
【図3】マンハッタン距離を直接実現した場合の、ディジタル・アナログ融合連想メモリコアのメモリ領域のアーキテクチャを示すブロック図である。
【図4】同実施形態において、適応性のある距離指標を有するパターン認識アーキテクチャの連想メモリコアの0.6μmCMOS技術により実現したテストチップ構成例を示すブロック図である。
【図5】最小距離参照ワード(ウィンナ:winner)と最近傍の参照データ(ルーザ:loser)の距離が1と5ビットの場合に対する連想メモリコアテストチップの測定平均最小距離検索時間の関係を示す図である。
【符号の説明】
11…入力データレジスタ
12…距離指標符号化部
13…連想メモリコア
131…検索ワードレジスタ
132…全並列ビット&ワード比較部
133…参照ワード格納部
134…参照ワード書き込み/読み出し部
135…最小マッチング検出部
136…検索結果レジスタ
14…複数ウィンナ分析部
15…ウィンナ・ロウ符号化部
16…ウィンナ出力レジスタ
100…メモリ領域
200…ウィンナ・ルーザラインアップ増幅器(WLA)
300…ウィンナ・テイクオール回路(WTA)
BCi,j…ビット比較器
SCi,j…蓄積セル
WWCi…ワード重み付け比較器
110…ロウデコーダ
120…ワード検索部
130…カラムデコーダ
400…マンハッタン距離比較ユニット
410…kビット減算器
420…絶対値計算回路
500…マンハッタン距離用ワード比較器(WC)
【発明の属する技術分野】
本発明は、異なる距離指標を必要とするアプリケーション、例えば人工知能システム、データバンクシステム、インターネットルータ、モバイル端末(例えば、モバイルビデオ電話)に適用され、入力パターンとデータベース内の参照パターンの中から最も類似している(最小距離)のパターンを決定するパターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法に関する。
【0002】
【従来の技術】
パターン認識は、ネットワークルータ、コードブックベースデータ圧縮及び対象認識など、情報技術(IT)社会において発生した多くのアプリケーション分野において基本的な機能である。特定のアプリケーションにおいては、必要とするパターン認識やパターンマッチングのために異なる距離指標を使用する。
【0003】
このように、様々な異なる距離指標を用いてパターン認識やパターンマッチングを行う場合には、入力パターンとデータベース内の参照パターンの中から最も類似している(最小距離)のパターンを決定する。適切な距離指標は認識するパターンの種類に応じて選定する。近年注目を浴びており、高速な検索時間が要求される、リアルタイム性が重要なアプリケーションの中で、異なる距離指標を持つ例としては、ベクトル量子化を用いたビデオ信号圧縮(マンハッタン距離)[参考文献1]や指紋の認識(ハミング距離)[参考文献2、3]がある。
【0004】
参考文献1:T. Nozawa et al.,“A Parallel Vector−Quantization Processor Eliminating Redundant Calculations for Real−Time Motion Picture Compression”, IEEE J. Solid−State Circuits, vol. 35, pp.1744−1751, 2000. 参考文献2:S. Jung et al.,“A Low−Power and High−Performance CMOS Fingerprint Sensing and Encoding Architecture”, IEEE J. Solid−State Circuits, vol. 34, pp. 978−984, 1999.
参考文献3:S. Shigematsu et al.,“A Single−Chip Fingerprint Sensor and Identifier”, IEEE J. Solid−State Circuits, vol. 34, pp. 1852−1859, 1999.
【0005】
【発明が解決しようとする課題】
従来のパターン認識システムでは、異なる距離指標に対するパターン認識システムの適応性は、現在のところソフトウェアに依存しており、効率の良いハードウェアによる解決策がないのが現状である。効率の良いハードウェア化の実現は、広い範囲で実用性が達成されるため、有用な技術として注目されている。
【0006】
本発明は、上記の事情に鑑みてなされたもので、特に小面積・高スループットの集積回路を実現可能とし、異なる距離指標に対して適応性のあるアーキテクチャを提案し、このアーキテクチャにより、高性能なリアルタイムアプリケーションを同じハードウェア要素を用いて実現することが可能なパターン認識システムと、このシステムに用いられる連想メモリ装置及びパターン認識処理方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係るパターン認識システムは、第1の距離指標の符号化を処理可能な第2の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて所定のクロックサイクルで前記複数の参照ワード全てに対して同時に並列にビット比較及びワード重み付け比較し、最小距離のワードをウィンナとして検索する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識システムであって、前記入力データから所定ビットの被検索ワードを前記クロックサイクルで抽出する被検索ワード抽出手段と、この被検索ワード抽出手段で抽出された被検索ワードを前記第2の距離指標で符号化して前記連想メモリコアへ出力する第1の符号化手段と、前記連想メモリコアの前回のクロックサイクルの出力結果を分析し、検索結果に複数のウィンナがある場合に特定の優先度に基づいて1つのウィンナを決定する分析手段と、前記分析手段で決定されたウィンナの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の前記第1の距離指標に基づく距離を符号化して出力する第2の符号化手段とを具備し、前記被検索ワード抽出手段及び前記第1の符号化手段を第1のパイプラインステージで行い、前記連想メモリコアによるウィンナ検索を第2のパイプラインステージで行い、前記分析手段及び第2の符号化手段を第3のパイプラインステージで行うことを特徴とする。
【0008】
また、本発明に係る連想メモリコア装置は、上記パターン認識システムやパターンマッチングシステムに用いられ、被検索ワードを格納する検索ワード格納部、任意の距離指標に基づく複数の参照ワードを格納する参照ワード格納部、前記検索ワード格納部に格納される被検出ワードと前記参照ワード格納部に格納される複数の参照ワード全てに対して同時に並列にビット比較処理及びワード重み付け比較処理を行う比較処理部を備えるメモリ領域と、前記参照ワードを前記参照ワード格納部に選択的に登録する登録処理部と、前記比較処理部の比較結果から最小距離参照ワードをウィンナとして検索する最小マッチング検出部と、この最小マッチング検出部の検索結果を格納する検索結果格納部とを具備することを特徴とする。
【0009】
また、本発明に係るパターン認識処理方法は、第1の距離指標の符号化を処理可能な第2の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて前記複数の参照ワードを全てに対して同時に並列にビット比較及びワード重み付け比較する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識処理方法であって、前記連想メモリコアに第2の距離指標に基づく所定ビットの複数の参照ワードを登録する準備ステップと、前記入力データから所定のクロックサイクルで順次所定ビットの被検索ワードを抽出し、第2の距離指標に基づいて符号化する符号化ステップと、この符号化ステップにて、前回のクロックサイクルで符号化された被検索ワードを前記連想メモリコアに入力し、前記準備ステップで登録された複数の参照ワードそれぞれについて前記被検索ワードと同時に並列にビット比較及びワード重み付け比較を行い、その比較結果から最も距離が小さいワードをウィンナとして検索する検索ステップと、この検索ステップにて、前回のクロックサイクルで得られた検索結果に複数のウィンナがあるかどうかをチェックし、特定の優先度で1つのウィンナを決定し、そのウィンナの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の前記第1の距離指標に基づく距離を符号化して出力する出力処理ステップとを備えることを特徴とする。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0011】
図1は本発明に係る実施形態において、適応性のある距離指標を有する全並列パターン認識アーキテクチャによるシステム構成を示すブロック図である。このシステムの特徴とする点は、高速な全並列最小距離検索のためのアーキテクチャと、他の距離指標の符号化が容易に行える固定の距離指標を有する小面積の連想メモリコアを用いることである。
【0012】
図1に示すように、本システムの基本処理は(1)入力ストリームデータのワードを符号化する第1パイプラインステージ、(2)符号化データの各ワードについて参照ワードと全並列処理によって最小距離を検索する第2パイプラインステージ、(3)複数の最小距離参照ワード(ウィンナ:winner)の分析とこの分析結果から最小距離における参照ワードの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の距離を符号化する第3パイプラインステージから構成される。但し、上記パイプライン処理によるパターンマッチングフェーズを始める前に、参照ワードのパターンを連想メモリコア内に読み込んでおく準備フェーズが必要となる。
【0013】
図1において、入力ストリームデータは入力データレジスタ11にいったん格納される。距離指標符号化部12はレジスタ11から被検索ワードを順次読み出し、所定の距離指標によって符号化するもので、この符号化された被検索ワードは連想メモリコア13に送られ、検索ワードレジスタ131に格納される。
【0014】
連想メモリコア13において、全並列ビット&ワード比較部132は、予め参照ワードが格納される参照ワード格納部133を備える。この参照ワード格納部133には、前述の準備フェーズで参照ワード書き込み/読み出し部134により予め所望の距離指標に基づく複数の参照ワードが登録される。全並列ビット&ワード比較部132は、参照ワード格納部133から複数の参照ワードを読み出し、前回のクロックサイクルで検索ワードレジスタ131に格納された被検索ワードと全てに対して同時に並列にビット比較及びワード比較を行う。最小マッチング検出部135は、各参照ワードとの比較結果から最も距離が小さいワード(以下、ウィンナ)を検索する。この検索結果は、検索結果レジスタ136に格納される。
【0015】
複数ウィンナ分析部14は、前回のクロックサイクルで検索結果レジスタ136に格納された検索結果に複数のウィンナがあるかどうかをチェックし、複数のウィンナがある場合には、特定の優先度決定アルゴリズムに従って1つのウィンナを決定する。ウィンナ・ロウ符号化部15は、複数ウィンナ分析部14で決定されたウィンナの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の距離を符号化するもので、この符号化データはウィンナ出力レジスタ16に格納され、順次出力ストリームデータとして出力される。
【0016】
以下では、上記構成の動作原理について説明する。
【0017】
連想メモリコアの距離指標として最小の選択はハミング距離である。なぜなら、ハミング距離は実用上重要で、簡単な回路で実現可能な高速な全並列最小距離検索のためのアーキテクチャ(図2参照)が知られており[参考文献4:H. J. Mattausch et al.,“An Architecture for Compact Associative Memories with Deca−ns Nearest−Match Capability up to Large Distances”, ISSCC Dig. of Tech. Papers, pp. 170−171, 2001;日本特許出願番号:特願2001−11760(平成13年1月19日)を基礎とする国内優先権主張を伴う特願2002−008783号特許出願(平成14年1月17日)]、また、他の距離指標の符号化も簡単であるためである。表1に、k(=3)ビット2進数に対して2k−1(=7)ビットが必要な場合に、ハミング距離検索ハードウェアによるマンハッタン距離検索用の符号化データの例を示す。この例では、kビット2進数の十進数表現の数だけ下位ビットから順に1とする符号化を行っている。
【0018】
【表1】
【0019】
図2は、同実施形態におけるハミング距離による最小距離検索機能を有する全並列小面積半導体連想メモリの構成を示すブロック図である。この半導体連想メモリは、メモリ領域100とウィンナ・ルーザ距離増幅を行うウィンナ・ルーザラインアップ増幅器(以下、WLA)200と、ウィンナ・テイクオール回路(以下、WTA)300で構成される。
【0020】
メモリ領域100は、集積化されたビット比較器BCi,j(i=1〜R,j=1〜W、添え字i,jの範囲は以下同様)を備えるR行、W列の蓄積セルSCi,jと、ワード比較に重み付けを行ったワード重み付け比較器WWCi(以下、単にWWCiと呼ぶ)から構成される。
【0021】
メモリ領域100の左辺にはR行のロウデコーダ110が接続され、上辺には入力データ(Wビット)を入力するワード検索部120が配置される。また、下辺にはW列のカラムデコーダ130が接続され、蓄積セルごとに読み出し・書き込みが行われる。尚、Wビットの参照ワードは、予め各蓄積セルSCi,jに書き込まれ、ワード検索部120に入力されるWビットの入力ワードに最も類似する最小距離参照ワードがウィンナとして読み出される。
【0022】
上記ウィンナの選択は、WLA200及びWTA300により実行される。ここで、WLA200は、ウィンナ(入力ワードに最も類似した参照ワード)とルーザ(ウィンナ以外の参照ワード:loser)の距離の差を、最初の段階で最も大きくなるように増幅するために、比較信号Ciのレベルを制御する。また、WLA200は、フィードバックループにより、自動的にウィンナの比較信号Cwin(最低レベルの値をとる)が最大利得領域の範囲内に入るように自己調整を行う。
【0023】
WTA300は、WLA200からの距離出力信号LAiを受けて一致信号Miを出力する。一致信号Miは、ウィンナ行に対しては“1”であり、その他の全ての行(ルーザ行)に対しては“0”である。このようにして、最終的にウィンナが決定される。尚、WLA200の入力部には、WWCiからの比較信号Ciが入力され、WLA200からはフィードバック信号Fが返される。
【0024】
これに対し、全並列連想メモリコアでマンハッタン距離を直接実現する場合には、図3に示すように、kビット2進数符号化データの第1グループから最終グループまで(メモリ領域の各列)、それぞれのマンハッタン距離比較ユニット400に、kビット減算器410と絶対値計算回路420を用意し、マンハッタン距離用ワード比較器(WC)500にて各グループの絶対値によるワード比較を行うことになる。このようなハードウェアでは、各グループにおける減算器410及び絶対値計算回路420の集積化のための面積が必要となり、また、最小距離検索のためのクリティカルパスに更なる遅延時間が増すことになる。
【0025】
もし、マンハッタン距離の計算をハミング距離ハードウェアにマッピングすれば、面積増加と遅延増加の要因となるkビットの減算と絶対値計算のための回路を連想メモリコアから取り除くことができる。このマッピングのコストはビット数kに対して2k−1となる。そのため、遅延時間の削減に対しては影響を受けないが、面積の利点の大きさに関してトレードオフが生じる。ビット当たりの減算と絶対値計算回路の現実的なトランジスタ数は24であるので、マッピングにより連想メモリコアのメモリ領域で削減されるトランジスタ数は条件式(1)により得ることができる。
9(2k−1)=transistors(mapped)
<30k+2k transistors(mapped) (1)
式(1)をkに対して解くことによりk<4.03となる。これから、マンハッタン距離検索をハミング距離ハードウェア上にマッピングする場合には、4ビットの2進数までは、最小距離検索時間を増やすことなく、連想メモリコアの小面積化が可能となる。
【0026】
上記動作原理に基づき、図1に示した本発明による全並列パターン認識システムについて、具体的に説明する。
【0027】
図1に示すシステムにおいて、パターンマッチングアーキテクチャは2つのフェーズモードからなる。一つは、新しい参照ワードを連想メモリコア13内の参照ワード格納部133にロードしたり、参照ワード格納部133から参照ワードを読み出したりする参照ワード格納部133にアクセスするための準備フェーズモードである。もう一つはパターンマッチングフェーズモードで、このモードは、入力ストリームデータの各ワードを逐次的に連続して処理を行う3ステージ時間オーバーラップのパイプラインの原理に基づいている。
【0028】
本発明に基づくハードウェアの通常の動作は、パターンマッチングフェーズが続く準備フェーズから成る。準備フェーズでは、連想メモリコア13のハードウェアに実現されている距離指標に応じた符号化がされた参照ワードは参照ワード格納部13Aの中にロードされる。パターンマッチングフェーズでは、3ステージのパイプラインにより、入力ストリームデータの各ワードに対して、参照ワードの中で最も距離が近いウィンナを決定する。
【0029】
上記パターンマッチングフェーズにおいて、3ステージパイプラインは下記の処理を行う。
【0030】
第1パイプラインステージでは、マッチング処理を行うための入力データパターンが元の距離指標で入力データレジスタ11から読みとられる。そして、マッチング処理を行うために、第2パイプラインステージの連想メモリコア13で実現されている距離指標で符号化される。符号化された結果は、検索ワードレジスタ131に保存される。
【0031】
第2パイプラインステージでは、前のクロックサイクルで符号化された検索ワードが検索ワードレジスタ131から読み出され、最小距離検索を行う連想メモリコア13の入力として転送される。連想メモリコア13で実現されている距離指標に基づいて、参照ワードの中から最も距離が小さいワードが決定される。最小距離検索の情報は検索結果レジスタ134に転送される。
【0032】
第3パイプラインステージでは、前のクロックサイクルの検索結果に複数のウィンナがあるかどうかをチェックする。もし、複数のウィンナがある場合には、例えば、小さな列番号に大きな優先度を与えるというような優先度決定のアルゴリズムに基づいて、複数のウィンナの中から1つを選択する。最後にウィンナとして選ばれた行の場所を示すインデックス(アドレス)と入力データとウィンナ間の距離が符号化されてウィンナ出力レジスタ16に書き込まれる。
【0033】
アプリケーションによっては、ウィンナの中から1つを選ぶのではなく、全てのウィンナを出力する必要がある場合もあり得る。この場合には、既に選ばれたウィンナを検索結果データから削除し、全てのウィンナ行の場所を示すインデックス(アドレス)と入力データとウィンナ間の距離が符号化されてウィンナ出力レジスタ16に保存されるまで、優先度決定アルゴリズムに基づいた選択処理を繰り返す。
【0034】
全てのパイプラインステージは並列に動作し、入力ストリームデータ中の3つの連続するデータワードについて、同時に連続するパイプラインステージで処理を行う。
【0035】
上記実施形態において、符号化の利点は3つある。
【0036】
最も重要なことは、広範囲の様々なアプリケーションに対して連想メモリコアのハードウェア(ハミング距離ハードウェアが最も良いと期待される)を再利用することが可能であることである。
【0037】
更に、より複雑な距離指標(例えば、マンハッタン距離に対する減算と絶対値計算など)のために必要となっていた回路を連想メモリコアから切り離し、最初のパイプラインステージで取り扱うことができる。そのため、最小距離検索機能のための回路の遅延時間が短くなり、連想メモリコアのスループット(処理能力)が大きくなる。
【0038】
最後に、コアに必要とされるハードウェア量が実用上の多くの場合において小さく抑えることが可能となる。例えば、前述のように、ハミング距離によるマンハッタン距離検索の符号化は、多くの実用的なアプリケーションにおいて、4ビット2進数まではコアのハードウェアが小さくなることが見積もられている。
【0039】
図4に、ハミング距離及びマンハッタン距離の最小距離検索を行うアプリケーションに適用可能なパターン認識システムのために試作した連想メモリコアのチップ写真を示す。このテストチップの試作では、0.6μmCMOS技術と2層ポリシリコン、3層メタル配線行程を用いて行った。
【0040】
試作された半導体連想メモリのメモリ領域は、参照ワードの蓄積セル(SC)、ビット比較器(BC)及びワード重み付け比較器(WWC)を収容するため、図4に示すように、32行を256ビットの3個のフィールドに分割し、合計768ビットのワード長となるようにした。
【0041】
メモリ領域における参照ワードの蓄積容量は、ワード長(パターン長)768ビット32参照パターン(合計24kビット)である。設計面積は9.75mm2、その内WLA及びWTAで構成される最近傍マッチユニットの占有面積は0.307mm2であり、設計面積の3.15%にすぎない。この内WLAの占有分は1.37%、WTAの占有分は1.78%であった。最小距離検索時間は70ns以下、消費電力は電源電圧3.3V、10MHz動作で43mW以下、参照パターン当たりの消費電力は1.35mW以下である。
【0042】
このテストチップでは、最大パターン長として768ビットのワード長が選ばれているが、このワード長ならば、4×4ピクセルブロックのフルカラー動画圧縮(各カラーを4ビット表現に丸める)や指紋認識(指紋の山と谷を1ピクセル幅に削減した後で照合する場合に適用)に十分適用することができる。
【0043】
図5に最小距離参照ワード(ウィンナ)と最近傍の参照ワード(最近傍ルーザ)との距離が1ビットの場合と5ビットの場合に対し、図4に示した連想メモリコアのテストチップにおける平均最小距離検索時間を測定した結果を示す。
【0044】
図5では、最小距離参照ワードと最近傍の参照データのパターンに対して、10個の物理的に異なる場所(異なる行)で測定した結果をプロットしている。エラーバーの大きさから、最小距離参照ワードと最近傍の参照ワードとの距離が1ビットという持ってもクリティカルな場合でも、測定データのばらつきは非常に小さいことがわかる。
【0045】
図5から、試作された半導体連想メモリの最小距離検索時間を測定した結果、1ビット及び5ビットのウィンナ・ルーザ間距離について、124ビット以下、及び444ビット以下のウィンナ・入力間距離に対する検索結果は、1参照パターン当たり僅か1.34mWの電力消費で、最小距離検索時間が70ns以下と、極めて高速であることが確認された。
【0046】
したがって、上記実施形態における全並列パターン認識システムは、特に小面積・高スループットの集積回路を実現可能であり、異なる距離指標に対して適応性のあるアーキテクチャにより、高性能なリアルタイムアプリケーションを同じハードウェア要素を用いて実現することができる。
【0047】
尚、本発明は、上記実施形態に限定されるものではない。例えば、上記実施形態では、距離指標符号化部12が一つの距離指標に対応する場合について説明したが、距離指標符号化部12内に複数の距離指標に対応する複数の符号化処理部を予め用意しておき、制御信号によりいずれかの符号化処理部を選択するようにすれば、一つのハードウェアで複数の距離指標について処理することが可能となる。
【0048】
具体的には、連想メモリコア13で処理される距離指標がハミング距離である場合、距離指標符号化部12にマンハッタン距離の符号化処理部(表1の変換処理)とハミング距離の符号化処理部(スルー処理)を用意しておき、入力データに合わせて制御信号により選択することで、2つの距離指標を一つのハードウェアで処理することができる。
【0049】
また、距離指標符号化部12のみを複数の距離指標に対応させるのではなく、第1パイプラインの処理ブロック全体を複数の距離指標に合わせて用意しておき、入力データに合わせて組み合わせるようにしても同様の効果が得られる。
【0050】
このように本発明は、異なる距離指標に対する適応性のあるアーキテクチャにより、同じハードウェア要素を用いてパターン認識を実現することができるため、例えばネットワークルータ、コードブックベースデータ圧縮、対象認識、及び人工知能システム、データバンクシステム、インターネットルータ、移動端末(例えばモバイルビデオ端末等)におけるパターンマッチングに対して広く適用することができる。その他、本発明の要旨を逸脱しない範囲で種々変形して実施することができる。
【0051】
【発明の効果】
以上のように本発明によれば、特に小面積・高スループットの集積回路を実現可能とし、異なる距離指標に対して適応性のあるアーキテクチャを提案し、このアーキテクチャにより、高性能なリアルタイムアプリケーションを同じハードウェア要素を用いて実現することが可能なパターン認識システムと、このシステムに用いられる連想メモリ装置及びパターン認識処理方法を提供することができる。
【図面の簡単な説明】
【図1】本発明に係る実施形態において、適応性のある距離指標を有する全並列パターン認識アーキテクチャによるシステム構成を示すブロック図である。
【図2】同実施形態におけるハミング距離による最小距離検索機能を有する全並列小面積連想メモリの構成を示すブロック図である。
【図3】マンハッタン距離を直接実現した場合の、ディジタル・アナログ融合連想メモリコアのメモリ領域のアーキテクチャを示すブロック図である。
【図4】同実施形態において、適応性のある距離指標を有するパターン認識アーキテクチャの連想メモリコアの0.6μmCMOS技術により実現したテストチップ構成例を示すブロック図である。
【図5】最小距離参照ワード(ウィンナ:winner)と最近傍の参照データ(ルーザ:loser)の距離が1と5ビットの場合に対する連想メモリコアテストチップの測定平均最小距離検索時間の関係を示す図である。
【符号の説明】
11…入力データレジスタ
12…距離指標符号化部
13…連想メモリコア
131…検索ワードレジスタ
132…全並列ビット&ワード比較部
133…参照ワード格納部
134…参照ワード書き込み/読み出し部
135…最小マッチング検出部
136…検索結果レジスタ
14…複数ウィンナ分析部
15…ウィンナ・ロウ符号化部
16…ウィンナ出力レジスタ
100…メモリ領域
200…ウィンナ・ルーザラインアップ増幅器(WLA)
300…ウィンナ・テイクオール回路(WTA)
BCi,j…ビット比較器
SCi,j…蓄積セル
WWCi…ワード重み付け比較器
110…ロウデコーダ
120…ワード検索部
130…カラムデコーダ
400…マンハッタン距離比較ユニット
410…kビット減算器
420…絶対値計算回路
500…マンハッタン距離用ワード比較器(WC)
Claims (13)
- 第1の距離指標の符号化を処理可能な第2の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて所定のクロックサイクルで前記複数の参照ワード全てに対して同時に並列にビット比較及びワード重み付け比較し、最小距離のワードをウィンナとして検索する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識システムであって、
前記入力データから所定ビットの被検索ワードを前記クロックサイクルで抽出する被検索ワード抽出手段と、
この被検索ワード抽出手段で抽出された被検索ワードを前記第2の距離指標で符号化して前記連想メモリコアへ出力する第1の符号化手段と、
前記連想メモリコアの前回のクロックサイクルの出力結果を分析し、検索結果に複数のウィンナがある場合に特定の優先度に基づいて1つのウィンナを決定する分析手段と、
前記分析手段で決定されたウィンナの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の前記第1の距離指標に基づく距離を符号化して出力する第2の符号化手段とを具備し、
前記被検索ワード抽出手段及び前記第1の符号化手段を第1のパイプラインステージで行い、前記連想メモリコアによるウィンナ検索を第2のパイプラインステージで行い、前記分析手段及び第2の符号化手段を第3のパイプラインステージで行うことを特徴とするパターン認識システム。 - 前記第1の符号化手段は、前記第1の距離指標と前記第2の距離指標が同一であるとき、入力被検索ワードをスルーさせることを特徴とする請求項1記載のパターン認識システム。
- 前記第1の符号化手段は、前記第1の距離指標として複数の距離指標が存在するとき、任意の距離指標に対応する複数の符号化処理手段を備え、入力データの種類に応じて前記符号化処理手段を選択することを特徴とする請求項1記載のパターン認識システム。
- 前記第1の符号化手段は、kビット2進数に対して2k−1ビットが必要な場合に、kビット2進数の十進数表現の数だけ下位ビットから順に1とする符号化を行うことを特徴とする請求項1記載のパターン認識システム。
- 前記第2の距離指標は、ハミング距離であることを特徴とする請求項1記載のパターン認識システム。
- 前記第1の距離指標は、マンハッタン距離であることを特徴とする請求項5記載のパターン認識システム。
- 請求項1記載のパターン認識システムに用いられ、
被検索ワードを格納する検索ワード格納部、任意の距離指標に基づく複数の参照ワードを格納する参照ワード格納部、前記検索ワード格納部に格納される被検出ワードと前記参照ワード格納部に格納される複数の参照ワード全てに対して同時に並列にビット比較処理及びワード重み付け比較処理を行う比較処理部を備えるメモリ領域と、
前記参照ワードを前記参照ワード格納部に選択的に登録する登録処理部と、
前記比較処理部の比較結果から最小距離参照ワードをウィンナとして検索する最小マッチング検出部と、
この最小マッチング検出部の検索結果を格納する検索結果格納部とを具備することを特徴とする連想メモリコア装置。 - 第1の距離指標の符号化を処理可能な第2の距離指標に基づく複数の参照ワードを選択的に登録する登録手段を備え、入力ワードについて前記複数の参照ワード全てに対して同時に並列にビット比較及びワード重み付け比較する連想メモリコアを用いて、入力データのパターン認識を行うパターン認識処理方法であって、
前記連想メモリコアに第2の距離指標に基づく所定ビットの複数の参照ワードを登録する準備ステップと、
前記入力データから所定のクロックサイクルで順次所定ビットの被検索ワードを抽出し、第2の距離指標に基づいて符号化する符号化ステップと、
この符号化ステップにて、前回のクロックサイクルで符号化された被検索ワードを前記連想メモリコアに入力し、前記準備ステップで登録された複数の参照ワードそれぞれについて前記被検索ワードと同時に並列にビット比較及びワード重み付け比較を行い、その比較結果から最も距離が小さいワードをウィンナとして検索する検索ステップと、
この検索ステップにて、前回のクロックサイクルで得られた検索結果に複数のウィンナがあるかどうかをチェックし、特定の優先度で1つのウィンナを決定し、そのウィンナの行の場所を示すインデックス(アドレス)と入力データとウィンナ間の前記第1の距離指標に基づく距離を符号化して出力する出力処理ステップとを備えることを特徴とするパターン認識処理方法。 - 前記符号化ステップは、前記第1の距離指標と前記第2の距離指標が同一であるとき、入力被検索ワードをスルーさせることを特徴とする請求項8記載のパターン認識処理方法。
- 前記符号化ステップは、前記第1の距離指標として複数の距離指標が存在するとき、任意の距離指標に対応する複数の符号化処理ステップを備え、入力データの種類に応じて前記符号化処理ステップを選択することを特徴とする請求項8記載のパターン認識処理方法。
- 前記符号化ステップは、kビット2進数に対して2k−1ビットが必要な場合に、kビット2進数の十進数表現の数だけ下位ビットから順に1とする符号化を行うことを特徴とする請求項8記載のパターン認識処理方法。
- 前記第2の距離指標は、ハミング距離であることを特徴とする請求項8記載のパターン認識処理方法。
- 前記第1の距離指標は、マンハッタン距離であることを特徴とする請求項12記載のパターン認識処理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002165769A JP2004013504A (ja) | 2002-06-06 | 2002-06-06 | パターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法 |
US10/453,636 US7203382B2 (en) | 2002-06-06 | 2003-06-04 | Pattern matching and pattern recognition system, associative memory apparatus, and pattern matching and pattern recognition processing method |
EP03012722A EP1369793A1 (en) | 2002-06-06 | 2003-06-04 | Parallel associative memory |
KR1020030036263A KR100548883B1 (ko) | 2002-06-06 | 2003-06-05 | 패턴 매칭 및 패턴 인식 시스템, 이 시스템에 이용되는연상 메모리 장치, 패턴 매칭 및 패턴 인식 처리 방법 |
TW092115261A TWI230361B (en) | 2002-06-06 | 2003-06-05 | Pattern matching and pattern identification system, the related memory apparatus used by the system, pattern matching and pattern identification processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002165769A JP2004013504A (ja) | 2002-06-06 | 2002-06-06 | パターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004013504A true JP2004013504A (ja) | 2004-01-15 |
Family
ID=29545825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002165769A Pending JP2004013504A (ja) | 2002-06-06 | 2002-06-06 | パターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7203382B2 (ja) |
EP (1) | EP1369793A1 (ja) |
JP (1) | JP2004013504A (ja) |
KR (1) | KR100548883B1 (ja) |
TW (1) | TWI230361B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7561743B2 (en) | 2003-12-26 | 2009-07-14 | Hiroshima University | Reference data recognition and learning method and pattern recognition system |
JP2010146120A (ja) * | 2008-12-16 | 2010-07-01 | Sony Corp | 生体認証システムおよび生体認証方法 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060076418A1 (en) * | 2002-11-21 | 2006-04-13 | Koninlijke Philips Electronics N.V. | Electronic memory component or memory module, and method of operating same |
US6988106B2 (en) * | 2003-07-09 | 2006-01-17 | Cisco Technology, Inc. | Strong and searching a hierarchy of items of particular use with IP security policies and security associations |
JP4114600B2 (ja) | 2003-12-02 | 2008-07-09 | 日本電気株式会社 | 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム |
US7487542B2 (en) * | 2004-01-14 | 2009-02-03 | International Business Machines Corporation | Intrusion detection using a network processor and a parallel pattern detection engine |
US7243165B2 (en) * | 2004-01-14 | 2007-07-10 | International Business Machines Corporation | Parallel pattern detection engine |
JP2005209317A (ja) * | 2004-01-26 | 2005-08-04 | Hiroshima Univ | 最小マンハッタン距離検索連想メモリ装置 |
JP3861157B2 (ja) | 2004-02-27 | 2006-12-20 | 国立大学法人広島大学 | 参照データ最適化装置とパターン認識システム |
US7437398B2 (en) | 2004-07-30 | 2008-10-14 | Intel Corporation | Pattern matching architecture |
US7392229B2 (en) * | 2005-02-12 | 2008-06-24 | Curtis L. Harris | General purpose set theoretic processor |
US7487150B2 (en) * | 2005-07-02 | 2009-02-03 | International Business Machines Corporation | Method for matching pattern-based data |
US20070294247A1 (en) * | 2006-06-20 | 2007-12-20 | International Business Machines Corporation | Identifying optimal multi-scale patterns in time-series streams |
US20080075057A1 (en) * | 2006-09-25 | 2008-03-27 | Mediatek Inc. | Frequency correction burst detection |
US8065249B1 (en) | 2006-10-13 | 2011-11-22 | Harris Curtis L | GPSTP with enhanced aggregation functionality |
US7774286B1 (en) | 2006-10-24 | 2010-08-10 | Harris Curtis L | GPSTP with multiple thread functionality |
JP4427574B2 (ja) * | 2007-11-30 | 2010-03-10 | 国立大学法人広島大学 | 連想メモリおよびそれを用いた検索システム |
KR100923151B1 (ko) * | 2008-01-11 | 2009-10-23 | 인하대학교 산학협력단 | Dna 컴퓨팅 기술에 기초한 패턴 인식 장치 |
US8244352B2 (en) * | 2008-06-19 | 2012-08-14 | Cardiac Pacemakers, Inc. | Pacing catheter releasing conductive liquid |
JP5339544B2 (ja) * | 2008-10-28 | 2013-11-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | パラレル連想メモリ |
US8326830B2 (en) * | 2009-10-06 | 2012-12-04 | Business Objects Software Limited | Pattern recognition in web search engine result pages |
US9881099B2 (en) * | 2010-05-24 | 2018-01-30 | International Business Machines Corporation | System, method and computer program product for data transfer management |
US8667230B1 (en) * | 2010-10-19 | 2014-03-04 | Curtis L. Harris | Recognition and recall memory |
US8458796B2 (en) * | 2011-03-08 | 2013-06-04 | Hewlett-Packard Development Company, L.P. | Methods and systems for full pattern matching in hardware |
WO2012167396A1 (en) * | 2011-06-07 | 2012-12-13 | Telefonaktiebolaget L M Ericsson (Publ) | An innovative structure for the register group |
CN104252469B (zh) | 2013-06-27 | 2017-10-20 | 国际商业机器公司 | 用于模式匹配的方法、设备和电路 |
KR102523967B1 (ko) * | 2016-03-25 | 2023-04-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 |
KR20170136829A (ko) | 2016-06-02 | 2017-12-12 | 삼성전자주식회사 | 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법 |
JP7011152B2 (ja) * | 2017-08-30 | 2022-01-26 | 富士通株式会社 | 生体画像処理装置、生体画像処理方法、及び生体画像処理プログラム |
US11262913B2 (en) * | 2019-03-28 | 2022-03-01 | Intel Corporation | Technologies for efficient stochastic associative search operations with error-correcting code |
CN116682475B (zh) * | 2023-05-24 | 2024-01-23 | 珠海妙存科技有限公司 | 电压偏移量确定方法、电压偏移量调整方法和存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH071187Y2 (ja) | 1987-07-21 | 1995-01-18 | 株式会社ソフィア | パチンコ機の変動入賞装置 |
US5218562A (en) * | 1991-09-30 | 1993-06-08 | American Neuralogix, Inc. | Hamming data correlator having selectable word-length |
JP2838034B2 (ja) | 1994-03-31 | 1998-12-16 | 川崎製鉄株式会社 | 内容アドレス式メモリ |
JP3916007B2 (ja) * | 1996-08-01 | 2007-05-16 | 高嗣 北川 | 意味情報処理方法及びその装置 |
TW363175B (en) | 1997-06-06 | 1999-07-01 | Motorola Inc | Fast pattern recognition manhattan distance computation using thermometer coding |
JP2001184871A (ja) | 1999-12-28 | 2001-07-06 | Toshiba Corp | 連想メモリおよびデータバッファ管理装置 |
DE60211761T2 (de) * | 2001-01-19 | 2007-05-24 | President Of Hiroshima University, Higashihiroshima | Inhaltsadressierbarer Halbleiterspeicher |
JP2005209317A (ja) * | 2004-01-26 | 2005-08-04 | Hiroshima Univ | 最小マンハッタン距離検索連想メモリ装置 |
-
2002
- 2002-06-06 JP JP2002165769A patent/JP2004013504A/ja active Pending
-
2003
- 2003-06-04 EP EP03012722A patent/EP1369793A1/en not_active Withdrawn
- 2003-06-04 US US10/453,636 patent/US7203382B2/en active Active
- 2003-06-05 TW TW092115261A patent/TWI230361B/zh not_active IP Right Cessation
- 2003-06-05 KR KR1020030036263A patent/KR100548883B1/ko not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7561743B2 (en) | 2003-12-26 | 2009-07-14 | Hiroshima University | Reference data recognition and learning method and pattern recognition system |
JP2010146120A (ja) * | 2008-12-16 | 2010-07-01 | Sony Corp | 生体認証システムおよび生体認証方法 |
US8238616B2 (en) | 2008-12-16 | 2012-08-07 | Sony Corporation | Biometric authentication system and biometric authentication method |
Also Published As
Publication number | Publication date |
---|---|
US20030229636A1 (en) | 2003-12-11 |
TWI230361B (en) | 2005-04-01 |
US7203382B2 (en) | 2007-04-10 |
KR20030095300A (ko) | 2003-12-18 |
EP1369793A1 (en) | 2003-12-10 |
TW200403594A (en) | 2004-03-01 |
KR100548883B1 (ko) | 2006-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004013504A (ja) | パターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法 | |
An et al. | Fast and incremental loop closure detection with deep features and proximity graphs | |
ES2898868T3 (es) | Método y dispositivo para la búsqueda de imágenes | |
CN104283567A (zh) | 一种名称数据的压缩、解压缩方法及设备 | |
Laguna et al. | Design of hardware-friendly memory enhanced neural networks | |
CN113793696B (zh) | 一种基于相似性的新药副作用发生频率预测方法、系统、终端及可读存储介质 | |
CN112256727B (zh) | 基于人工智能技术的数据库查询处理及优化方法 | |
CN115357728A (zh) | 基于Transformer的大模型知识图谱表示方法 | |
Dong et al. | Video retrieval based on deep convolutional neural network | |
An et al. | An ultra-low-power image signal processor for hierarchical image recognition with deep neural networks | |
Lee et al. | A vocabulary forest object matching processor with 2.07 M-vector/s throughput and 13.3 nJ/vector per-vector energy for full-HD 60 fps video object recognition | |
CN113971224A (zh) | 图像检索系统、方法和相关设备 | |
CN110110120B (zh) | 一种基于深度学习的图像检索方法和装置 | |
Arakawa et al. | Multi-context TCAM-based selective computing: Design space exploration for a low-power NN | |
CN107133348B (zh) | 大规模图片集中基于语义一致性的近似搜索方法 | |
Imani et al. | Nngine: Ultra-efficient nearest neighbor accelerator based on in-memory computing | |
CN110674334B (zh) | 基于一致性区域深度学习特征的近重复图像检索方法 | |
CN116547647A (zh) | 检索装置和检索方法 | |
CN114332745A (zh) | 一种基于深度神经网络的近重复视频大数据清洗方法 | |
JP4892720B2 (ja) | 最小ユークリッド距離検索連想メモリ装置 | |
Xu et al. | Proxima: Near-storage Acceleration for Graph-based Approximate Nearest Neighbor Search in 3D NAND | |
WO2013175771A1 (ja) | 画像検索システム及び画像検索方法 | |
KR102500904B1 (ko) | 딥러닝 기반 데이터 압축 방법 및 데이터 압축 장치 | |
Lai et al. | VLSI design of clustering analyser using systolic arrays | |
Furuta et al. | An Efficient Implementation of FPGA-based Object Detection Using Multi-scale Attention |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040712 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050329 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051108 |