(54)【発明の名称】情報絞り込み検出機能を備えたメモリ、このメモリを用いた情報検出方法、このメモリを含む装置、情報の検出方法、メモリの使用方法、およびメモリアドレス比較回路
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
情報がデータ化され手軽に利用することが可能な時代において、この莫大な情報データの中から適切な情報を検出し利用するには様々な課題が残されている。とりわけ画像認識、音声認識、OCR文字認識、全文検索、指紋等の生体認証などに代表される情報検出に共通し基礎となる技術は、情報の中から一致や類似する情報(パターン)を検出もしくは解析するパターン認識技術であり、社会インフラ設備、産業用設備、工場設備からデジタルカメラや家電商品、さらには最新のロボットや人工知能等あらゆる分野に利用されており高度な情報処理に不可欠な存在である。
【0003】
しかしながらパターン認識を一例とする情報検出の技術上の最大の課題は、情報の比較の際の比較組合せ回数(検索回数)であり、通常対象となる情報に最適なアルゴリズムを見出し組合せ比較回数(検索回数)の削減をするなり、対象とする情報の内容によってはスパコンなど高速な演算処理マシーンを利用して答えを見つけ出すなり、場合によっては検出の精度を犠牲にする必要もあった。
【0004】
本発明は以上のようなパターン認識や情報検出技術の永年の課題である情報検出の精度を保証し、比較組合せ回数(検索回数、検索時間)を極限まで低減させる事の可能なメモリの実現と、その利用方法である、同一出願人、同一発明者の平成22年2月18日出願(特願2010−33376、情報処理装置の情報の共通管理方法、情報の検出方法、データおよびアドレスの相対関係一括並列比較連想メモリ、情報を共通管理する機能を有する情報処理装置、そのソフトウエアプログラム、におけるデータおよびアドレスの相対関係一括並列比較連想メモリ)に関連する。当該出願に対し本願は優先権主張するものである。
【0005】
同じく平成22年3月4日出願の特願2010−47215(情報絞り込み検出機能を備えた半導体集積回路、その使用法、この半導体集積回路を使用した装置)は、上記特願2010−33376を独立した発明とし、情報絞り込み検出機能を備えた半導体集積回路のように発明の名称の表現を変更し、本発明の最大の特徴である二重並列の合否判定結果の論理演算の考え方を明らかにしたものである。また検出する情報の範囲を二次元の画像のみならず一次元から多次元までの情報に拡大したものである。本願はこの出願全体に対し優先権を主張するものである。
【0006】
本出願は、以上2つの先願を統合し、上記特願2010−47215に主として、情報絞り込み回路数を削減するための手段、二重並列論理演算の多重化手段、さらには人工知能への応用などを一例とするこのメモリの使用方法を追加し、説明を追加し、一部の表現方法を変更したものである。
【0007】
先に説明のようにパターン認識やパターンマッチングを一例とする情報検出の技術は極めて幅が広く、その検索時間の短縮に係る発明は膨大な数であるが、本発明のように検出時間を短縮するために、ノイマン型コンピュータの宿命である個別メモリの逐次処理を本質的に回避するための手法やそのメモリの例は見当たらない。
参考までであるが日本国特開平7−114577(データ検索装置、データ圧縮装置及び方法)は隣り合った情報同士の比較により情報を繰返し検索するための手法が示されているが、本出願の発明は隣り合った情報同士の比較のみならず、全メモリの情報を対象にデータの内容とそのアドレスの位置関係を二重並列に比較するものである。
【0008】
次に、本出願と同一出願人、同一発明者による特願2010−65597の情報絞り込み検出機能を備えたメモリは、ノイマン型のアドレス逐次処理を必要としないメモリ自身が情報の絞り込みを行い目的の情報を検出する非ノイマン型の情報検出が可能なメモリである。
【0009】
しかしながら、このメモリが利用出来ない場合もあり、従来型の情報検出よりも高速に情報検出可能な方法が求められる場合もある。本出願はこのような技術的背景も考慮し出願されたものであり、通常の連想メモリなど、データを並列に比較しその結果のアドレスを出力することの出来るメモリを利用して、効率的に、高速に情報検出を行うものである。
【0010】
本発明の特徴である並列にデータ比較したアドレス同士を比較する先行出願は見当たらないがアドレスを比較する先行技術として、特許第3575632号(計算機システムにおける演算方法および計算機システム)は、パイプラインプロセッサ、特にカウンタパイプラインプロセッサに関するものである。
【0011】
またさらに、現在の一般的なコンピュータの体系は文字通りCPU(中央処理装置)を中心とする情報処理体系(プロセサベースアーキテクチャ)となっており、CPUは万能の情報処理機能を持っている。
しかしながら情報処理が万能であるCPUにおいても、大量の情報の中から特定の情報を見つけ出す処理は大変に苦手で情報処理上の様々な弊害があり、本出願はこのような技術的背景も考慮し出願されたものである。
【0012】
情報処理の世界で、ある情報の中から目的とする情報を見つけ出す処理は極めて頻繁に利用され、情報処理装置の利用者が無意識の内にも実行されている処理での1つであるが、この処理の実態を正確に把握するには、「情報検索」と「情報検出」の2つステップの正しい理解が不可欠であり、本発明は情報処理における情報検索と情報検出の概念を切り離し定義付けしている。
【0013】
日常ではあまり厳密に意識され使用されていないが「情報検索」はある情報の中から目的の情報を探し出し取り出す行為を意味し、もう一方の「情報検出」は取り出した情報の中から目的の情報はこれだと特定(意味付けや認識などの概念を含む)する行為を意味する。
まれではあるが探し出す行為が不要で直接目的の情報を特定可能な場合もあるが、ほとんどの場合、情報を見つけ出すには、「情報検索」と「情報検出」の別な性格の処理が一体となって目的の情報を見つけ出し、この情報を利用している。
【0014】
以上の情報処理のイメージは営業活動に当てはめると理解しやすく、多くの顧客への訪問活動(検索)とその結果による受注(検出)に対比でき、営業活動および情報処理のウエイトは大きく訪問活動と検索処理に掛っている、多くの場合無駄な活動になるが受注を取るためには顧客訪問活動を避けることはできないのと同様、情報処理の場合、検索処理なしにその結果を利用した検出処理は実施できない。
【0015】
以上の第1の例としてWEB上の膨大な情報の中から目的とする情報を見つけ出す場合、利用者が検索キーとなる情報(通常語彙)を情報検索サイトに与えることにより、情報検索サイトの巨大な情報検索エンジンが、情報クロールでそれまでWEB上から集め蓄積した膨大な情報要訳(語彙もしくは文章)を検索し関連性の高いサイトを選択しこれを表示出力し表示出力されたサイトの中から利用者が必要なサイトを特定して利用している、つまり自動化されているのは「情報検索」の処理である。
【0016】
以上の第2の例としてメモリやハードディスクの、データベースなどの情報の中から目的の情報を見つけ出す場合の「情報検索」は、通常CPUによりアドレス毎の逐次検索が行われ、その逐次処理の結果により情報を特定する処理が実行され最終的に目的の情報が「情報検出」される。
【0017】
仮に1Gアドレスのメモリを対象とする場合、マシンクロックが1GHZクラスのCPUを用い単純に全アドレスをスキャンし必要な情報を検索する場合でも数秒が必要で、さらにわずかな時間ではあるがこの中から必要な情報を特定(検出)する時間が必要となる。
従がって、高速な情報検出が必要な場合には、アルゴリズムの工夫とCPUの並列処理の概ね2つの方法によって検索時間の短縮が図られている。
【0018】
アルゴリズムの工夫とは記憶媒体に配列されている情報の特徴や見つけ出す情報の特徴から情報検索するアドレス範囲を限定、または情報の配列を工夫して検索するアドレスを一定の条件のアドレスに限定するなどにより検索時間を短縮するものである。
【0019】
アルゴリズムの工夫の身近なものとしてデジカメの顔認識やスマイル認識、音声認識などが挙げられるが何れも専門的な知識を持った技術者が多大な時間と労力を掛け開発したものであり、情報検出の精度や処理時間はアルゴリズムの出来栄えに大きく依存され、検出される情報も利用目的や所定の処理時間以内で検出可能なものに限定されたものとなっている。
【0020】
アルゴリズムの工夫でも検索時間が問題になる場合、複数のCPUによりアドレスの範囲を分割して検索すれば、概ね使用したCPUの数に比例して検索時間を短縮することが可能である。
先に説明した情報検索サイトの巨大な情報検索エンジンなどは数万台のパソコンを利用して検索時間の短縮化を図っているものもある、多くのスーパーコンピュータもCPUを多数利用した並列処理が主体となっているが、いうまでもなく装置の規模が大きくなり高価なものになる。
【0021】
これまで説明してきた通り、ある情報の中から目的とする情報を自動的に見つけ出すには、情報の中から目的の情報を探し出し取り出す「情報検索」の行為(CPUによるものであればメモリアドレスごとの逐次処理)と、逐次処理され取り出された情報の中からの目的の情報を特定(意味付けや認識などの概念を含む)する「情報検出」と云う2つの情報処理が不可欠である。
【0022】
先の説明の営業活動の顧客訪問活動と同様に多くの場合検索され取り出された情報の多くはほとんどが必要のない情報で、必要な情報は極めて限られたものであることから、情報処理上情報の検索行為は大きな負担となっている。
【0023】
この事はCPUが本質的にノイマン型のプロセサベースアーキテクチャであるため、CPUがメモリ上のデータをアドレスごとに逐次探し出す処理つまり情報検索をせざるを得ない宿命にあるからである。
従がってノイマン型の情報処理の宿命である情報の逐次検索を本質的に無くす事が可能な情報処理体系(例えばメモリベースアーキテクチャ)の実現は情報処理業界永年の夢の1つである。
【0024】
これまでもプロセッサベースアーキテクチャの弱点(ボトルネック)を解消するための研究や、人間の脳をメモリとして捉え人工知能化する目的のニューロコンピュータなどメモリベースアーキテクチャ(メモリが主体となる情報処理体系)等は国家的なプロジェクトとして幾度も取り上げられて多くの研究がなされて来たが、様々な要因で汎用化、量産化が困難であった。
【0025】
同一出願人、同一発明者による、特願2010−65597(情報絞り込み検出機能を
備えたメモリ)はこの情報処理体系を実現するための1つの手段として発明され出願されたものである。
【0026】
一口にメモリベースアーキテクチャと云ってもニューロコンピュータを一例として様々な形態があり誤解を招く恐れがあるので、先願の情報絞り込み検出機能を備えたメモリならびに本願のメモリベースアーキテクチャのイメージを理解して頂くために一番簡単な例を紹介する。
【0027】
以下の説明では、前記情報絞り込み検出機能を備えたメモリを単に情報検出メモリと記載して説明しており、以降も単に情報検出メモリとして説明する場合がある。
【0028】
時間軸をアドレスに対応させて、1アドレス、1日ごとに、ある土地の、1年、365日の最高気温、100年分を記憶した気象データを例にパターン情報の検出を考える。例えば当日の最高気温が5℃で、前日が10℃、翌日が15℃だったその当日を100年間全て探し出す場合(前日や翌日に限らず任意の日とその温度の組合せ、比較の日数も任意であることを意図する)の情報の検索と検出を考える。
【0029】
以上のような温度パターンデータのアドレス数は365日×100年≒36Kアドレスであり、もしこの土地の最高気温が0℃から36℃までとすると1℃当たり年10日程度、つまり5℃、10℃、15℃、の日がそれぞれ概ね100年間に、1K日(1000日)程度含まれている。
【0030】
できる限り検索の範囲を削減させるために、5℃、10℃、15℃の温度が出現することから、真冬や夏日の1月、2月、6月〜9月の可能性は少ないとの判断で、3月〜5月、10月〜12月のみを検索することなどが先に示した検索アルゴリズムの工夫になるが異常気象により検索範囲以外の月にも対象となる温度パターンが含まれている場合もある。
【0031】
これらのことからアルゴリズムを頼りにせず確実な方法で、当日の最高気温が5℃
で、前日が10℃、翌日が15℃の日を探す方法として
(1)通常のメモリに気象データを記憶し、CPUでメモリを逐次検索して5℃の日を探しその前後の日の温度を比較する・・・・・情報処理回数は36Kアドレス数+α回の処理
(2)連想メモリに気象データを記憶し、連想メモリに5℃を比較データとして与え、連想メモリより5℃の日を逐次出力させ、CPUでその前後の日を比較する・・・・・情報処理回数は1Kアドレス数+β回の処理
(3)情報検出メモリに気象データを記憶し、このメモリに温度と、相対日(アドレス)と、を3回比較データとして与えることにより、このメモリが目的とする当日を出力する・・・・情報処理回数は3回の比較処理+θ回の出力処理
【0032】
以上の(3)が情報検索を全く不要にした情報検出メモリを利用しメモリベースの情報処理の概念であり、通常のメモリとCPUの組合せにおける情報処理回数を1万分の1程度まで削減することが可能であり、これに伴い情報処理のスピードは飛躍的に向上させることが可能となる。
【0033】
以上は本願発明のメモリベースアーキテクチャによる気象データのパターン検出の例であるが、画像データにおける同一画像や類似画像の検出の情報処理回数も通常数回、多くても数拾回で目的の情報を見つけ出すことが可能で、メモリベースアーキテクチャは通常のプロセッサベースのアーキテクチャではなし得ない様々な情報処理を可能にするものである。
【0034】
特にプログラム情報をデータとして記憶しておき、これを情報検出してCPUが演算処理するような利用の仕方や、大量なデータベースからの情報検出をCPUを併用し情報検出、つまりプロセッサベースの情報処理と本願発明によるメモリベースの情報処理が融合した情報処理も可能であり、以下に詳細な説明がなされている。
【0035】
メモリベースの情報処理の先願発明の一例として、
特開2003-036269号公報(情報処理装置および情報処理方法並びにこの情報処理のプログラムが記録された記録媒体)にはメモリベース検索エンジンの例
特開2001-229172号公報(テーブルを用いたデータ処理装置および処理システム、にはテーブルを用いたメモリベースのデータ処理装置の例)
が提案されているが何れも本願発明の概念とは全く異なるものである。
【0036】
以上背景技術を集約すれば情報処理を行う上で定義されるデータのアドレス配列の関係をそのまま情報の検出に利用してデバイス化しようとする考え方、さらにアドレス配列の関係を積極的に利用しようとする考え方自体が独自の技術であり、調査した範囲では前例見ない。
【発明の概要】
【発明が解決しようとする課題】
【0037】
本発明が解決しようとする課題は、一次元から多次元でアドレス配列された情報もしくは配列可能な情報を対象にして、検出される情報(一例として未知の情報)と、検出の基準になる情報(一例として既知の情報)と、の互いの情報の複数のアドレスの、そのデータと、そのアドレスと、の双方の関係が条件に合格することをもって、未知の情報の内から既知の情報と同一情報もしくは類似情報と判定するようなパターン認識や知識処理などの情報検出において、検出の精度を保証又は向上し、データの比較回数を極限まで削減し、メモリ自身が上記情報の検出を可能する非ノイマン型の情報検出メモリの実現とその使用方法を提供することである。
【0038】
本発明の他の課題は、メモリ外部において、パターン情報の検出が効率よく高速で実現出来る、アドレス同士の比較ならびに演算が可能なアドレス比較方法ならびにその回路、データを並列に比較することが可能なメモリ、およびその装置、人工知能を生み出すことである。
【0039】
本発明のさらに他の課題は、情報処理上の情報検索の概念を本質的に排除可能な新しいメモリベースアーキテクチャによる情報処理体系の確立と、CPUに代表されるプロセッサベースアーキテクチャの長所を活かした、プロセッサベースアーキテクチャとメモリベースアーキテクチャとが融合された新時代の情報処理体系の実現である。
【課題を解決するための手段】
【0040】
以上のような課題を解決するために、本発明は、
メモリアドレスごとに情報を記憶しその情報を読み出し可能なメモリであって
このメモリは、
外部から与えられるデータであり、記憶されたこのメモリのデータを比較するための第1のデータと、このメモリのアドレス同士を比較するための第2のデータ、の双方の入力データの入力手段と、
(1)第1のデータでメモリに記憶されたデータを並列に比較し合否判定する手段と、
(2)第2のデータでメモリのアドレス同士を並列に比較し合否判定する手段と、
(3)以上(1)、(2)双方の合否判定結果をさらに並列に論理演算するデータとアドレスの二重並列論理演算手段と、
を具備することを特徴とする。
【0041】
また、前記(1)の合否判定手段ならびに前記(3)の二重並列論理演算手段を、その演算結果が前記(1)の合否判定と前記(2)の合否判定との論理積(AND)と等価となる、等価二重並列論理積(AND)演算手段で構成したことを特徴とする。
【0042】
また、前記メモリは、毎次の前記等価二重並列論理積(AND)演算手段の結果をメモリアドレスごとに計測するカウンタ手段と、初回の前記比較は、前記第1のデータによって、メモリを並列に合否判定して合格したメモリアドレスの上記カウンタを1にカウントアップしこれを1次突破アドレスとする手段と、以降の比較は、上記第1のデータによって、メモリを並列に合否判定して合格したメモリアドレスと、上記1次突破アドレスと、の双方のアドレスの位置関係を、前記第2のデータによって、前記等価二重並列論理積(AND)演算手段で演算し、この演算を突破した上記1次突破アドレスのカウンタをカウントアップしてN(2以上の整数)次突破アドレスとする手段と、このN次突破アドレスのアドレスを出力する手段と、を具備することを特徴とする。
【0043】
また、前記等価二重並列論理積(AND)演算手段は前記第2のデータであるアドレスを比較するためのデータにもとづくアドレスのスワップ(交換)手段によって繰返し実施することを特徴とする。
【0044】
また、前記第2のデータであるアドレスを比較するためのデータは、前記1次突破アドレスを基準とし、
(1)比較対象のアドレスが相対アドレスに一致するか否かの比較データ
(2)比較対象のアドレスが比較する範囲の内外に存在するか否かの比較データ
以上(1)(2)のいずれかもしくは双方であることを特徴とする。
【0045】
また、前記メモリは
(1)音声情報を一例とする一次元情報として記憶されたもしくは記憶可能な情報
(2)画像情報を一例とする二次元情報として記憶されたもしくは記憶可能な情報
(3)立体情報を一例とする三次元情報として記憶されたもしくは記憶可能な情報
(4)時空間情報を一例とする多次元情報として記憶されたもしくは記憶可能な情報
(5)クラスタリング情報を一例とする情報をアドレスのグループ別に記憶されたもしくは記憶可能な情報
以上(1)から(5)の少なくとも1つの情報の検出を対象とするメモリ構成であることを特徴とする。
【0046】
また、前記第1のデータである記憶されたメモリのデータを比較するためのデータは
(1)メモリデータの一致
(2)メモリデータの大小
(3)メモリbit個別のDon‘t Careを含む比較
以上(1)から(3)の少なくとも1つであることを特徴とする。
【0047】
また、前記第1のデータ、第2のデータは
(1)データバス
(2)専用入力
以上(1)(2)のいずれかもしくは双方により入力されることを特徴とする。
【0048】
また、前記N次突破アドレスのアドレスを出力する手段は
(1)データバス
(2)専用出力
以上(1)(2)のいずれかもしくは双方により出力されることを特徴とする。
【0049】
また、前記カウンタ手段に1次突破アドレスを記憶する手段を付加することにより、カウンタ手段の回路数量を確率的に出現する1次突破アドレスの数量に見合う回路数量に削減したことを特徴とする。
【0050】
また、前記アドレスのスワップ(交換)手段にプロセッサを用いることを特徴とする。
【0051】
また、前記二重並列論理演算をメモリのバンク毎に切り替え実施することを特徴とする。
【0052】
また、複数の前記第1のデータならびに第2のデータの入力手段と、
複数の前記二重並列論理演算手段と、を具備することを特徴とする。
【0053】
また、前記メモリはCPUを一例とする他の目的の半導体に組込まれ使用されることを特徴とする。
【0054】
また、検出される情報(未知の情報)と、検出の基準になる情報(既知の情報)と、の互いの情報の複数のアドレスの、そのデータと、そのアドレスと、の双方が必要回数の比較条件に合格することをもって、未知の情報の内から既知の情報と同一もしくは類似の情報を検出することをもって、情報とその情報の位置を検出することを目的として既知の情報を前記第1のデータと第2のデータとすることにより、請求項1記載のメモリに記憶された未知の情報を比較し、未知の情報の内から既知の情報と同一もしくは類似する情報とそのアドレスを、前記N次突破アドレスを読み出すことにより検出することを特徴とする。
【0055】
また、前記検出の基準になる情報(既知の情報)の内から、統計確率にもとづき前記同一情報もしくは類似情報を判定するに必要十分な複数個数のサンプルを抽出し、これを前記第1のデータと、第2のデータと、として比較条件とすることにより、同一情報もしくは類似情報を判定するために必要な前記比較回数を上記サンプル数以内とすることを特徴とする。
【0056】
また、前記サンプルを抽出する際、隣接するサンプル間のデータの相互のデータの差の絶対値を求め、これを集計することにより得られるサンプル特徴量を基準値以上として情報検出をすることを特徴とする。
【0057】
また、前記アドレスの位置関係は
(1)前記一次元情報として配列記憶されたアドレス配列上の位置関係
(2)前記二次元情報として配列記憶されたアドレス配列上の位置関係
(3)前記三次元情報として配列記憶されたアドレス配列上の位置関係
(4)前記多次元情報として配列記憶されたアドレス配列上の位置関係
以上(1)から(4)の少なくとも1つの位置関係であり、このアドレスの位置関係を用いてパターン認識をすることを特徴とする。
【0058】
また、前記1次突破アドレスとなる最初の比較サンプルを複数種類のサンプルとする、もしくは一定の範囲を持させ検出を行うことを特徴とする。
【0059】
また、前記情報絞り込み検出機能を備えたメモリをアクセスしデータの読み出し書込みが可能なCPUを併用することを特徴とする。
【0060】
また、前記情報絞り込み検出機能を備えたメモリに知識情報を記憶させ知識処理をすることを特徴とする。
【0061】
また、前記情報絞り込み検出機能を備えたメモリを使用したことを特徴とする装置。
【0062】
また、前記情報絞り込み検出機能を備えたメモリを使用したことを特徴とする人工知能。
としている。
【0063】
また、本発明は、アドレスごとに情報を記憶し読み出し可能で、記憶されたデータを並列に比較することが可能なメモリを使用する方法であって、このメモリのデータを並列に比較するための第1の入力データでメモリのデータを並列に比較しその結果を出力し、出力されたアドレスごとの合否結果を記憶し、さらに新たな第1の入力データでメモリのデータを並列に比較しその結果を出力し、出力されたアドレスごとの合否結果を記憶し、上記記憶された双方の上記アドレスの上記合否結果を、このメモリのアドレス同士を比較するための第2の入力データにより比較することを特徴とする。
【0064】
また、前記第1の入力データによる初回の合格アドレスを基準アドレスとし、以降この基準アドレスを基準として、前記第1の入力データならびに前記第2の入力データを繰返し与えメモリのアドレスを比較することを特徴とする。
【0065】
また、前記双方のアドレス同士の比較は並列比較であることを特徴とする。
【0066】
また、前記第2の入力データは、前記第1の入力データに係る情報配列上の相対アドレスデータであることを特徴とする。
【0067】
また、前記双方のアドレス同士の並列比較を行い、アドレス同士の前記合否結果の論理積(AND)演算を行うことを特徴とする。
また、前記双方のアドレスの比較は
(1)全アドレスを対象
(2)データの比較結果の合格アドレスのみを対象
(3)指定したアドレスを対象
の(1)から(3)の少なくとも1つのアドレスが対象であることを特徴とする。
【0068】
また、前記第2の入力データをアドレスに対応する座標データとして入力することを特徴とする。
【0069】
また、前記アドレスの前記論理積(AND)演算の結果を、演算の都度メモリにフィードバックし、メモリからのアドレス出力数を絞り込みすることを特徴とする。
【0070】
また、前記アドレスごとに前記記憶された前記情報は一次元から多次元で前記情報配列されたパターン情報であることを特徴とする。
【0071】
また、並列にメモリのデータの比較がなされるメモリからその合否結果を入力する手段とその少なくとも2種以上の合否判定結果をもとに前記第2の入力データで、上記アドレス同士の合否結果を比較し、論理演算する手段とその論理演算結果のアドレスを出力する手段とを具備することを特徴とするメモリアドレス比較回路である。
【0072】
また、前記論理演算結果の合格回数をアドレス別にカウントする手段を具備することを特徴とするメモリアドレス比較回路である。
【0073】
また、他の目的の回路上に前記アドレス比較回路を組み込んだことを特徴とする。
【0074】
また、前記アドレス比較回路を半導体集積回路としたことを特徴とする。
【0075】
また、前記アドレス比較回路の論理演算は前記論理積(AND)演算で、この演算結果のアドレスを入力する手段と、その演算の結果のアドレスと、前記第1の入力データによりメモリのデータの合否判定がなされたアドレスと、の双方のアドレスを並列に論理積(AND)演算をする手段を具備することを特徴とするデータを並列に比較することが可能なメモリである。
【0076】
また、前記アドレス比較回路を使用したことを特徴とする装置である。
【0077】
また、前記アドレス比較回路を使用したことを特徴とする人工知能である。
【0078】
また、本発明は、それ自身が情報検出可能な情報検出メモリを用いた情報検出方法において、
上記情報検出メモリに比較データを与え、この情報検出メモリより出力されるアドレスならびにその情報を読取ることにより、目的とする情報を情報検出メモリのアドレスを個別に検索することなく、この情報検出メモリより直接情報検出することを特徴とする。
【0079】
また、前記情報検出メモリは、アドレスごとに情報を書込み読み出し可能なメモリで、このメモリは外部から入力される少なくとも2種類の比較データにより内部に記憶された情報の中から与えられた比較データに該当するアドレスを検出し、その検出したアドレスを出力する機能を有する、メモリベースの情報検出メモリであることを特徴とする。
【0080】
また、前記検索は情報検出メモリに記憶された情報を、情報検出メモリ外部からおよび情報検出メモリ内部の双方の検索が不要であることを特徴とする。
【0081】
また、前記2種類の比較データは、情報検出メモリに記憶された情報と、そのアドレスと、を比較するデータであることを特徴とする。
【0082】
また、前記比較するデータを繰返し与えることにより前記該当するアドレスが絞り込みされ情報検出されることを特徴とする。
【0083】
また、前記情報検出メモリに記憶されたデータは情報とそのアドレスの関係がテーブルとして定義されている配列データであることを特徴とする。
【0084】
また、前記テーブルとして定義されているデータは少なくとも
(1)画像や音声を一例とする1次元から多次元までのパターンデータ
(2)情報検索を一例とするデータベース用データ
(3)AI(人工知能)推論を一例とする推論用データ
(4)CPUを一例とするプロセッサ演算用プログラムデータ
以上(1)から(4)の少なくとも1つであることを特徴とする。
【0085】
また、前記情報検出メモリによる情報検出とCPUによる情報処理を併用することを特徴とする。
【0086】
また、1個以上の前記情報検出メモリの前記比較データを前記CPUによりデータ入力することを特徴とする。
【0087】
また、1個以上の前記情報検出メモリから前記出力されたアドレスならびにその情報を前記CPUにより読取り、CPUで目的とする情報を処理することを特徴とする。
【0088】
また、1個以上の前記情報検出メモリから前記出力された請求項7の(4)記載の演算用プロクラムデータを前記CPUが読取りCPUが演算処理を実行することを特徴とする。
【発明の効果】
【0089】
インテリジェンスな知識をもったメモリとして利用することが可能で、あらゆる情報の同一性ならびに類似性を確実でかつ高速に検出もしくは解析することのみならず、情報予測の分野や高度な知識処理にも幅広く利用可能で、本格的な非ノイマン型情報処理による新しい情報処理の流れが期待できる。
【0090】
情報の絞り込み機能を備えたメモリを用いなくても、パターン情報などあらゆる情報の同一性ならびに類似性を確実でかつ高速に検出もしくは解析することが出来るようになり、情報予測の分野や高度な知識処理にも幅広く利用可能である。
【0091】
この発明によるメモリベースアーキテクチャはこれまでに研究されているメモリベースアーキテクチャに比較し、あらゆる情報やあらゆる分野に共通に利用出来るところに最大の価値があり、また使用するデバイスもすぐにでも量産可能な実用化メモリベースアーキテクチャデバイスである。
対象となる情報は1次元から多次元のパターン情報から様々なデータベース情報、WEB情報、プログラムデータ等あらゆる情報の検出に利用可能で、特に専門的な知識を必要とせず、誰でも容易にこのデバイスを利用可能で、情報処理上の検索時間の呪縛を解放し、これまで実現出来なかった情報検出分野への応用、例えば超高速情報検出センサ、超高速度情報検出データベース、さらには高度な人工知能への応用、等の実現など図りしれない応用が可能となる。
【0092】
先に説明の通りCPUは万能の情報処理機能を持ち、これまでCPUの高速化と高機能化が情報処理の進化に直結するものであったが、CPU高速化の限界も見えてきており、CPUと、メモリと、この新しいメモリベースアーキテクチャによるデバイスのそれぞれの長所を活かした新しい情報処理体系が実現されることにより、情報処理の高速化と高度化の流れを大きく加速し進化させることができる。
【0093】
なお、上記した以外の本発明の特徴及び顕著な作用・効果は、次の発明の実施形態の説明及び図面を参照することで、当業者にとって明確となる。
【発明を実施するための形態】
【0095】
先ず本発明の情報検出の概念を、二次元情報である画像を例にして説明する。
【0096】
通常検出対象の画像(未知の情報102)と、検出の基準の画像(既知の情報101)と、で画像の同一性を検出する場合、検出の基準となる画像(既知の情報101)から採取される何らかの画像情報をもとに、未知の検出対象の画像を総当たり方式で検索するのが基本になり、その精度を求める場合には画像の座標毎であることが必要となる。
【0097】
検索に掛る時間の一例として、パーソナルコンピュータやデジタルテレビジョン信号によるテレビ画面の特定ピクセルを対象として、表示されている画像上から特定データを探し出す場合、200万ピクセル程度がその対象となる。一旦この全画面のビットマップデータをグラフィックメモリから検索用メモリにデータ展開し、仮に展開したデータの全範囲について、1ピクセル当たり平均50n秒で、CPUが特定のデータを探し出すなど単純な検索をする場合、初回の全グラフィック範囲(全画面範囲)の検索は200万×50n秒=100m秒となる。通常、2回目以降は検索対象が絞られるため検索時間は短くなるものの目的の画像を特定するのに数百m秒程度は必要になる、従がって1画面上で大量な画像を検索する必要がある場合は、如何に高速な処理を行っても検索時間を無視することが出来なくなる。
【0098】
以上の説明は完全に同一画像の場合であるが、仮に画像のサイズの変更や回転がある場合には、座標変換の演算を繰返し実施する必要があるので処理時間は以上の数百倍から数千倍、さらに必要になる場合もあり、このような検索は実現困難である。以上はメモリのアドレス毎のCPU逐次検索を必要とするノイマン型コンピュータによる情報検出の宿命である。
【0099】
以上のような検索時間の技術的背景から現在の検索の主流は画像の特徴を抽出した特徴データのクラスタリングによる画像同士の類似性を対象とする検索となっており、最近のデジタルカメラの顔認識やスマイル認識を始め音声認識などに幅広く利用されている。しかしながら、検出の精度や検索の時間や検出できる情報などの検索の能力は、前記特徴抽出の手法やクラスタリングの手法次第で大きく左右される。また画像の検索の利用分野においては誤認率が致命的である場合も多く、類似性よりも同一性を求める画像の検索のニーズも少なくない。
【0100】
以上のように、画像検索の確実性を追求し、さらに時間短縮と云う、テーマは互いに矛盾し相容れないものであるが、先ずは画像検索における確実な同一画像の検出について説明する。
【0101】
以上の説明のように本発明は確実性を求めて、原則的に1座標(アドレス)を対象として情報の検出を行うものであり、以下にこれを実現する上で切り離すことの出来ない情報の種類とその分解能について説明する。
【0102】
画像の情報は様々な種類が存在するが、ここでは大きく2種の画像情報データを例に説明する。
【0103】
その第1は、表示されている画像のフレームバッファ(グラフィックメモリ)からのデータを画像情報とする場合で、通常、カラーの場合R、G、B、それぞれ8bitから16bit程度のデータ深度で情報を持っている。このR、G、B、色信号をそのまま利用することも可能であるが、効果的な画像の検出の一例として、通常パソコンや映像装置のフレームバッファの200万ピクセル程度を対象にして、R、G、B、各4bit(16通りの組合せ3組)を採取して1つのピクセルデータとすることにより、どの様な色彩の画像であっても精度よく画像を検出することが出来る。この場合、この色の組合せは12bit、4096通りの組合せであり、画面上の色がばらついている場合、1つの色が画面上に存在する確率は200万/4096≒488ピクセル(アドレス)である。
【0104】
その第2は、一例としてJPEG(Joint Photographic Experts Group)やMPEG(Moving Picture Experts Group)その他多くの圧縮された画像データの1ブロック(一例として8×8ピクセル)を1座標とし、そのブロックの輝度や色差信号のDTC(離散コサイン変換)のDC(直流)成分データをその座標のそのデータとして、そのまま利用することが可能であり、その他の情報、例えばベクトル情報を利用することも可能である。このDCTの場合はブロック単位であるので、ピクセル単位の場合に比較して大幅(一例として1/64)に座標の数(アドレス)を減らすことが出来る。
【0105】
言うまでもなくどちらの場合でも分解能が高いに越したことはないが、メモリ容量が大きくなるので、以上のような量子化データのLSB側から必要なbit数を選び画像情報データとすればよい。以降は以上説明のピクセルを対象とし、200万ピクセル(アドレス)で12bit、4096通りのR、G、B、の組合せデータによる画像データを画像情報とし、これを検出する場合の例で説明する。
【0106】
[実施例1]
図1(サンプリングポイントの例)は、画面の左上隅から右下隅までの1,2,3,4・・・nのn個のピクセル111のデータがメモリのアドレス103の1,2,3,4・・・nの順に配列記憶されている場合、検出基準になる画像(一例として既知の情報101)のサンプリングポイント113を示したものである。
検出基準画像Aは比較的サイズの小さい画像を対象とし、検出の基準になる画像(一例として既知の情報101)の領域上に座標y0、x0を中心として、上下左右等間隔に合計25個の座標をサンプリングポイント113として自動配列した場合であり、この場合XY軸ともに各33ピクセル、合計1089ピクセルを対象としたものである。検出基準の画像のサイズを大きくすることも全く問題ない。
【0107】
図に示す1から25の数字はサンプルの比較順序を示すもので、本例では中心を基点に、中心から遠いサンプリングポイント113から近いサンプリングポイント113を対角順に検出するよう設定されているが、配列や比較順序はこれに限るものではない、これについての詳細は後述する。
【0108】
検出基準画像Bは以上説明の等間隔に配列することなく、検出基準の画像に対応させて1から22までのサンプリングポイント113を手動で設定した場合の例である、このように手動でサンプリングポイント113を設定し検出する方法は人間の特徴認識能力の高さを利用するものであり、特徴的なポイントや特徴的な範囲を指定して他のピクセルとの差別化をするのに有効である。
【0109】
このように画像検出の確実性を求めるために1座標を検出の単位とする検出方法であることによって1座標毎にサンプルポイント設定が出来るのも、一定領域をまとめて特徴サンプルとすることの多い他の検索、検出方式では実現できない本方式の特徴の1つでもある。
【0110】
[実施例2]
図2(サンプリングポイントによる情報検出実施例)は、先に説明の
図1の検出基準画像Aを検出の基準の画像として画像の検出を実施する場合の説明である。
図2は、検出の基準になる画像(一例として既知の情報101)と、検出の対象になる画像(一例として未知の情報102)を示している。
未知の情報102の図に示すグループAは1次比較では一致したが2次比較でNGとなった場合である、グループBは11次比較でNG、グループCは22次比較でNG、グループDは全部のサンプリングポイント113が一致した場合である、これらの検出は先に説明の座標のデータ、をアドレス毎に読取り相互に比較すればよい。
この図ではグループAからグループEは位置的に完全に分離された画像領域で説明されているが画像の場合、通常同一データである座標が隣接もしくは集中し、分解能が低い程その傾向は顕著であるが互いの相対位置関係を正しく比較すれば問題ない。
【0111】
この場合、確率上グループDの領域は基準となる画面と同一画像であると判断することも十分可能であるが、サンプリングポイント113に加えて互いの画像の全てのピクセル同士の一致を念押し確認することにより、類似の画像を排除し完全に同じ画像であることを保証することが可能となる、この方法は対象となる画像のサイズが比較的小さい場合の検出に最適である。
【0112】
以上のような検証方法を活用することにより、グループEのようなサンプリングポイント113が部分的に集中して不一致となるような場合には、この一致する画像の部分を一部の画像に変化が加えられた変形画像と判断することも出来る。またグループCのような場合は類似画像と判断することも出来る、これらについては後述する。
【0113】
前記説明は、先ずどこかサンプリングポイント113の1座標を基準として、以降の座標のデータとの相対位置の判定を行い相対位置に矛盾のない座標を候補座標として残す方法についての説明である。これらの組合せ的な検索を効率的に実施し、画像(情報)を超高速で検出する方法とデバイスが本発明の趣旨であり、この詳細に関しては後述する。
【0114】
以上の説明の画像の検出方法で特に重要な事は、サンプリングポイント113の選択方法で、1つは一定の画像データの範囲と、もう1つは画像データの変化の度合いである。例えば変化のない黒画像部分や白画像部分や変化の少ない画像、もしくは例えば文字情報のみの画像など特徴の少ない画像を指定した場合などでは、当該画像の検出が困難になる。
【0115】
以下に画像の検出の有効性、信頼性に深い関係があるサンプリングポイント113についての考え方を示す。
画像上の1座標を基準にすると、この座標に隣接する座標は基準座標と同一もしくは近似する量子化データとなる確率、つまり相関性が高くなり、座標が離れることにより相関性は低くなる、従がって
図1のサンプルのように、毎回遠いサンプリングポイント113から順次確認する方が一致、不一致の判断が速く効率的な検出となる確率が高い。
【0116】
従がって、完全に分散化された複数のサンプリングポイント113全体による同一座標群の存在確率は、これらのサンプリングポイント113のデータのbit数に、サンプリングポイント113の数が積算された指数になる。
【0117】
例えば、先に説明の1座標がR、G、B、各4bit構成の場合、組合せ数は2の12乗(4K通り)であるが、サンプリングポイント113が10個所であれば2の120乗の組合せ数、実動作上、無限大に相当する確率組合せとなる。特徴の少ない単調な画像同士でなければこれらの全てのサンプリングポイント113が全て一致すれば同一画像と判断して良い。
【0118】
しかしながら、限られた狭い範囲の画像を対象とする場合や、文字などの白黒画像も対象となるので、以上のように完全に分散化されたサンプリングポイント113を採ることは出来ない。
【0119】
従がって以下に説明するサンプリングポイント113の識別能力評価を行い、アラームを挙げるなり、画像領域を拡大するなり、サンプリングポイント113を追加するなど適切な対策を採ればよい。
【0120】
[実施例3]
図3(サンプリングポイントの評価方法例)は
図1の検出基準画像Aの場合のこのサンプリングポイント113の識別能力を評価する例であり、座標1を検出基準座標として最後は座標25までの合計25個のサンプリングポイント113に対し隣接する4つのサンプリングポイント113を1組とするAからPまでの合計16組の隣接サンプリングポイント群を現したものである。
【0121】
一例としてA群には2、10、14、18の4つのサンプリングポイント113が含まれ、B群には10、6、18、22の4つのサンプリングポイント113が含まれ、以下同様である。
この時、A群からP群のそれぞれの4つのサンプリングポイント113は、それぞれの群の中で輝度情報や色情報のいずれにおいても座標のデータに違いがある事が特徴の大きさ、つまりサンプル特徴量の大きさにつながるので、この4サンプルから2つを採る組合せの6つの組合せ、即ち2−10、2−14、2−18、10−14、10−18、14−18により、これらのデータの差分量の絶対値を求め、この6つの組合せの差分量の合計と全体(16群)の差分量の集計を採ることにより、当該群の特徴量の所定値とすることが出来る。
本例のようにR、G、B、の複合されたデータの場合、それぞれについて独立して評価すればよい。
また同一サンプル数の場合の識別能力の把握の場合には、A群からP群のそれぞれの特徴量を合計し16群で除した平均特徴量を特徴量の大きさの尺度(所定値)として利用することが出来る。
【0122】
言うまでもなくこのサンプルの特徴量が少なければサンプリングポイント113としての識別能力に影響が出るため、検出の基準画像を指定しその画像領域を決定する際、基準値以上の値となるよう、必要によりサンプリングポイント113の数を増やすことや画像の領域を増やすなど調整すればよい。当然反対の場合も可能であり、このサンプリングポイント113の評価方法は画像の検出の検索処理数(時間)を理に適った合理的な検索処理数(時間)とする上で重要である。以上は手動でサンプリングポイント113を決める際にももちろん有効である。
本例は二次元情報を対象に識別能力を評価した一例であるが一次元から多次元まで隣接するサンプルとそのデータの差分を採ることによる考え方で特徴量を判定することが出来る。さらに対象となる情報の種類によって、その情報の特徴からサンプルの基準を独自に定め判定すればさらに確実な情報の検出が可能になる。
【0123】
これまで本発明を実現するにあって不可欠となる確実性を追求した情報の検出について二次元情報の画像を対象に説明してきたがこの考え方の基本的な内容は他の次元の情報に対しても共通である。
【0124】
ここで本発明を実現するためのメモリに記憶する情報の配列について説明する。
一次元配列の情報は一次元メモリアドレス上に連続的に記憶された情報であり、二次元の情報は
図1の1からnまでのアドレス103のようにそれぞれの次元の最大座標数を、折り返し配列基本条件としテーブル変換され一次元のメモリアドレス配列として連続して記憶された情報、もしくは記憶可能な情報であり、メモリのデータサイズならびにメモリ容量はそれぞれの目的にあったメモリ構成である。
三次元、さらには多次元の情報をメモリアドレス上に記憶する場合も同様に、これらの情報はそれぞれの次元の最大座標数を折り返し配列基本条件としテーブル変換された上記同様の情報であり、メモリ構成も同様である。
【0125】
従がってこの情報は、それぞれの次元に対応する座標データが与えられれば、配列基本条件である各次元の最大座標数をもとに与えられた座標データに対応するアドレスを特定可能であり、座標の相対位置や座標の範囲も同様に特定可能である。もちろん、高次元の情報でも対象とするアドレスが直接分かる場合は、直接そのアドレスや相対アドレスで指定することが出来る。以上は確認のため、念のため記載したものであり、このアドレス配列方法は通常行われている一般的な情報の配列方法で、この一般的なメモリに対する情報の配列方法は、本発明を実現する上での基本情報配列であるので極めて利用し易い。
【0126】
以降これまでの考え方にもとづく、本発明の情報絞り込み検出機能を備えたメモリ121を連想メモリに適応した場合について説明する。
【0127】
連想メモリはキャッシュメモリや通信データ処理など、情報処理装置の中で特に重要で高速処理を必要とするメモリに利用されている。また画像データなどに対しては特にクラスタリング手法による類似画像を検出するための最短距離検索(類似度距離検索)を目的とした検索デバイスとして盛んに研究されている。
【0128】
以降連想メモリの概要を説明する。高速なデータ処理に利用されている連想メモリは、通常のメモリ機能の他に外部から比較するデータを全メモリに同時(並列)に与え、その合格するメモリのアドレスを読み出すことが可能な情報の検索に大変都合のよいデバイスである。
この並列処理のイメージの一例として、大勢の人が集まる会場に座席(アドレス)を用意し座って貰い、この人達が好きな色のカード(データ)を自由に選ぶことが出来るようにした場合が挙げられる。例えば赤のカード(データ)を持つ人を調べる場合、通常のメモリの場合は全ての人を座席順等、逐次比較で調べる必要がある。これに対し、連想メモリの場合は、例えば赤のカードの人は一斉に手を挙げて貰い(並列比較)、その座席(アドレス)を確認(出力処理)するだけでよいので極めて高速な判定が出来る。このように連想メモリは大量な情報を並列に比較し、その中から必要とするデータのみを探し出す場合に好都合のデバィスである。
【0129】
様々なメリットを持つ連想メモリであるが構成上の弱点の1つとして、データバスとアドレスバスによるデータの読み書きをするメモリデバイスの場合、外部から与えられた比較データ(この場合赤色)に対し同時にその合格判定が可能であっても、合格するアドレスが複数の場合には一遍にそのアドレスを出力することが出来ない。
【0130】
これを解決するには、出力にプライオリティ機能を持たせ、合格するメモリに対し順次合格するメモリのアドレスを出力すればよいが、十分に絞り込みされたアドレス数となっていないと読み出しにも時間が必要である。通常の場合このアドレスを読み出し、読み出されたアドレスに対し次の比較条件が与えられ、以降はこの条件を元に逐次処理による絞り込みが行われる。
先の例の200万ピクセル(アドレス)で12bit、4096通りの組合せデータの場合には平均488個のアドレスを対象として、以降の条件比較を繰り返す必要があり、通常その大半は対象外(残らない)のピクセルであり無駄な処理である、3次以降も同様である。
【0131】
したがって、本発明の情報絞り込み検出機能を備えたメモリ121はこのような逐次処理の工数を低減又は排除するために、さらに赤のカードで手を挙げた人同士で、その座席の関係(アドレスの関係)が一致する人(例えば隣同士や前後左右で赤のカードを持つ人)以外は一斉に手を降ろして貰う機能、つまりデータとそのアドレスの関係、つまり毎次、全メモリ(座席の人)を対象に比較条件(カードの色と、座席の相対関係)与えることによって、記憶されたデータの合格(カードの色)と、そのアドレスの位置(座席の相対関係)の合格と、の双方の並列合否判定結果による論理積(AND)演算に合格するアドレス(隣同士や前後左右で赤のカードを持つ座席の人)を絞り込み検出しこれを出力する機能を持った二重並列合否判定の出来るメモリ、さらに様々な二重並列論理演算が可能なメモリを実現させることにある。
【0132】
図4(データおよびアドレスの二重並列論理演算の概念)は以上に説明したメモリのデータとそのアドレスの二重並列合否判定結果の論理積(AND)演算の概念である。それぞれのアドレスのデータの内容の比較と、それぞれのアドレスの比較を、それぞれ並列(二重並列)に合否判定し、その合否判定結果に基づき情報の絞り込みを行うための論理積(AND)演算がさらに並列に行われるものである。この演算結果はどのような形態で利用されても構わない。
【0133】
以上のように1回の絞り込みでも極めて大きな絞り込み効果が得られるが、さらにこれらの二重並列論理演算が連続繰返し実施出来れば理想の情報絞り込み検出が可能になる。
【0134】
以上の考えを実現する上で、
図4の下側のアドレス比較のアドレス合否判定回路は概念として表現することは容易であるが、通常の考え方では、どの様にアドレスを比較するのかや、どのアドレスと比較するのかが定まらないので、実際にこの概念を論理回路化することは容易ではない。
【0135】
例えばこれまで説明の初回に比較し生き残ったアドレス、これを1次突破アドレスとしてこれを基準にして各アドレスと比較をする方法が考えられる。この方法においても、先に説明の通り1次突破アドレスが仮に488アドレスあれば、全てのアドレスとこの488アドレスの組合せによる組合せ並列アドレス比較回路を構成しなければならないので、極めて大掛かりな構成になる。
【0136】
小規模なメモリアドレス数であれば以上の構成でアドレス比較を実現することも可能であるが、本実施例では大規模なメモリであっても
図4の論理構成を出来るだけシンプルな回路構成で実現するために、1次突破アドレスを毎回(毎次)の比較のための基準原点のアドレスと定義することにより、以降毎回比較するアドレス(座標)は、このそれぞれの1次突破アドレスと相対アドレス(座標)が毎回の比較とも相対的に同一な位置(アドレス)であることに着目し、この論理回路の最適解を求めている。
【0137】
具体的には先に説明の
図1に示すそれぞれのサンプリングポイント113に対し1次突破アドレスを基準原点座標とし、比較するアドレス103に一定の相対的なバイアスもしくは範囲を設定し、それぞれの1次突破アドレスの相手先のアドレス103のデータがこれに合格しているのかどうかを確認して、合格していればこれをWinnerとする構成とすればよい。
このような事が出来るもの、メモリに記憶されたそれぞれのデータは1次元配列のアドレスに互いに相対的な規則性をもって記憶されているからに他ならない。
この事は後述するが1次元情報はもとより2次元情報、多次元情報、一般データベースまで共通であり、アドレス同士の相対的位置が指定可能なものが対象となるので、極めて広範囲な情報の検出に利用できる。
【0138】
さらにそれぞれのアドレス103に突破の回数を記録するカウンタを設け、基準原点である1次突破アドレスに突破回数が累積されカウントアップ出来るようにすることによって、1次突破アドレスの内で最多突破回数(N回)のメモリのアドレスをN次突破アドレスと判定することにより連続絞り込みの論理回路が可能となり、極めてシンプルな論理回路構成であっても当初の目的を全て満たす構成となり、情報処理永年の課題の1つを克服するデバイスを実現することが出来る。
【0139】
後述するが
図4の二重並列論理演算は論理積(AND)演算のみに限定されるものでなく、またこの演算結果の利用の仕方も自由である。
さらに、一致回数をカウントすることなしに、絞り込みの結果(Winner)だけを記録しておくだけの使い方もできる。
【0140】
[実施例4]
図5(情報絞り込み検出機能を備えたメモリ例)は以上の内容に関連する本発明の実施形態のメモリ121の機能概要を連想メモリをベースに示したものであり、データ処理のタイミング等細部は省略され、本発明に関係するところの概念のみを説明するものである。
【0141】
この実施形態の情報絞り込み検出機能を備えたメモリ121(以降本発明のメモリとも記載する)には、アドレスバス122、データバス123が接続されていて、外部とデータを授受可能な構成になっている。
従がってメモリ1からnのメモリ132はアドレスバス122のアドレスデコーダ131によりアドレス1からnが選択されデータバス123からデータの書込み、読み出しが可能である。
【0142】
入力データ125は本発明のメモリ121に情報検出のためのデータを与えるものである。第1のデータであるメモリ比較データ126は外部からメモリのデータ比較のためのデータであり、この入力データ125とメモリ1からnまでのメモリ132とデータの合否の比較をデータ比較回路133により判定し、合格の場合その結果をアドレススワップ前合格出力141として出力する。
第2の入力データ125であるアドレス比較データ127ならびにアドレススワップ回路134については後述する。
【0143】
突破回数カウンタ135はアドレススワップ後合格出力142によりデータ比較回路133の合格回数を突破回数として記憶加算するカウンタであり、この突破回数カウンタ135は、情報同士の比較回数をカウントする比較回数カウンタ129の比較回数信号143との一致出力機能を有し、その出力がORゲート136とインヒビットゲート137に接続されており、若いアドレスから順次カスケード接続144される信号により、突破回数がN回の突破回数カウンタ135の中で一番若いアドレスのカウンタが優先され、1アドレスのみ出力をする出力優先(プライオリティ)処理がなされている。なお、128はリセット信号である。
【0144】
突破アドレス出力処理回路138は、優先出力のアドレスを出力バス124に乗せる処理と、出力処理の完了したアドレスの突破回数カウンタ135をクリアーする処理をすることにより、以降他にN回突破の突破回数カウンタ135があればそのアドレスを次の優先出力とし、順次N次突破のアドレスを出力バス124によって外部に送り出すことが可能な構成となっている。本例の専用バス出力の専用出力形態は一例であり、データバス123に直接出力結果を乗せることも可能である。
従がって、この構成によれば、突破回数が一番多い(N回)突破回数カウンタ135のアドレス(座標)がWinner(N回突破アドレス)でありその若いアドレス順にそのアドレスを出力する構成である。
【0145】
[実施例5]
図6(アドレススワップ回路の第1の例)は極めてシンプルな論理回路構成であり、本発明を実現するための手段であるアドレススワップ回路134の基本概念を示すものである。
アドレススワップ回路134はデータ比較回路133と突破回数カウンタ135の中間に設けられており、このアドレススワップ回路134は毎サンプル比較時、目的の1次突破アドレスに突破の出力を二重並列論理積演算結果として累積加算するために設けられている。本例の場合、先の説明の入力データ125の第2のデータであるアドレス比較データ127の相対アドレス比較データによって、アドレススワップ前合格出力141、
図6のi、j、kをXY軸座標データに変換し、変換した合格出力を相対アドレス分シフトして、アドレススワップ後合格出力142として該当するアドレスの突破回数カウンタ135(1次突破アドレス)に合格出力を突破出力として入力出来るように構成されている。
つまりアドレススワップ後合格出力142は1次突破アドレスの相対アドレス条件に合格した場合、突破出力として1次突破アドレスに入力される。
もちろん座標データではなく相対アドレス比較データを直接相対アドレスで指定し、相対アドレス分シフトすることも可能である。
【0146】
以上説明の第1、第2のデータの入力はデータバス123から与えることも専用入力から与えることも自由である。この構成のメモリ121に先に説明の画像のピクセルデータ、またはこれに相当する情報データをメモリに記憶し、この未知の情報102から画像を検出する場合の例を説明する。
【0147】
先に説明の
図5のメモリ1からnまでのメモリ132には画像のピクセルデータがそれぞれの座標に対応したアドレスに書込みされており、比較回数カウンタ129ならびに全ての突破回数カウンタ135は全てクリアーされて0となっていて、以降比較回数カウンタ129は比較の都度にカウントアップされて行く。
先ず1次比較としてサンプル1のピクセルデータをメモリ比較データ126に入力データ125として与え、全メモリの合格判定を並列に行いデータ比較回路133のアドレススワップ前合格出力141を1次合格出力として出力し、この1次合格出力はアドレススワップすることなく、アドレススワップ後合格出力142としてそのまま突破回数カウンタ135の入力に加え突破したアドレスのカウンタの値を1にする、これが1次突破アドレスである、以上の通り1次比較に第2のデータは不要である。
先に説明のように平均的な1次突破アドレスの出現個数は488である(
図6のi、j、k)この出現個数はイメージのための数字であり多くても少なくても問題ない。以下同様である。
図2の場合この時、突破回数カウンタ135の値が1となっているメモリアドレスはグループAの1、グループBの1、グループCの1、グループDの1、グループEの1の5個所の座標がWinnerの候補(1次突破アドレス)であり、これがこれからの説明のポイントとなるアドレス(座標)である。
【0148】
次に2次比較としてサンプル2のピクセルデータをメモリ比較データ126に指定することによりまた別なアドレスが新しく2次合格出力として平均し488個選ばれる。
さらにサンプル1とサンプル2のアドレスの差分を、アドレス比較データ127の相対アドレス比較データとして指定することにより、新たに選択された488個のアドレスの中で、先に説明の1次突破アドレスとの相対関係が合格するもの、つまりグループの関係が成立するアドレスを、
図6に示すアドレススワップ回路134でこの差分に相当するアドレス(座標)をシフト変換し、シフト変換した相対位置の突破回数カウンタ135(1次突破アドレス)にアドレススワップ後合格出力142を突破出力として加算入力する。
【0149】
つまり、本来は
図2のグループAからEの2の座標(アドレス)の突破回数カウンタ135がカウントアップされるところ、サンプル1の判定で生き残った候補座標の突破回数カウンタ135(1次突破アドレス)に、継続してカウントアップが出来るように相対アドレスのバイアスをかけて2次突破出力として、1次突破アドレスに突破入力を与えている。
【0150】
先に説明の
図2の場合、突破回数カウンタ135の値が2になっている1次突破アドレスはグループBの1、グループCの1、グループDの1、グループEの1の4個所が候補として維持される座標であり、グループAの1はカウントアップ出来ず候補から脱落する。
以上の内容は対象とするメモリのアドレス位置(2次サンプルに相当するアドレス位置)が1次突破アドレスを基準にして目的の位置(相対アドレス比較データ)に存在するか否かを判定し、2次のデータ比較による合格アドレスと並列に論理積(AND)演算し、その結果を1次突破アドレスの突破回数カウンタ135に突破出力として入力したのと等価である。
【0151】
順次同様にメモリ132のデータ比較と、1次比較のサンプル1を基準とする他のサンプルとの相対アドレスと、を一対の入力データ125として読み込み、それぞれのアドレスグループ内で突破するメモリを1次突破アドレスに集約してカウントアップすることにより、1次突破アドレス(Winner候補)の絞り込みを連続して行う事が出来る。
【0152】
従がって、
図2において最後のサンプル25(Nが25)まで突破する1次突破アドレスはグループDの1の座標(25次Winner)のみであり、この座標(アドレス)の突破回数カウンタ135の値は25になっており、この突破回数カウンタ135は比較回数カウンタ129の比較回数信号143と一致し、その出力が以降のORゲート136ならびにインヒビットゲート137に入力される。
【0153】
図7(アドレススワップの第1のイメージ例)はこれまで説明のデータの合格と、アドレスの相対関係、の双方の合格、つまり二重並列論理積演算による突破の内容をイメージとして説明するものである。
図7に示すように、画面の座標には最初の1次比較により1次突破アドレスがAからFまで計6個示されている。
このアドレススワップは全アドレスを対象として相対的に行われるものであるが、1次突破アドレスAからFは、あたかも比較の対象になるそれぞれのアドレスグループ内で次に比較される2次比較の相対座標位置を望遠鏡で覗きこみ、2次合格アドレスの合格出力(本図では黒丸印)があればこれを突破出力として奪い取る、まさにスワップのイメージである。
3次比較も同様に比較される相対座標位置を望遠鏡で覗き込み、3次合格アドレスの合格出力(本図では黒三角印)を突破出力として奪い取る、以降も同様のスワップのイメージである。本例の場合、Eのカウンタは2に更新され、さらにBのカウンタは3に更新される。
【0154】
図8(アドレススワップの第2のイメージ例)は以上の
図7に示されるA、B、2つの1次突破アドレスの座標上のイメージをアドレス上のイメージとして説明するものである。
図8に示すように、1次突破アドレスは、サンプル2からサンプル25までのデータ比較回路を望遠鏡で覗き込み、覗き込んだデータ比較回路に合格があればこれを突破出力として奪い取るイメージである。言うまでもなく望遠鏡の切替えはアドレスの相対位置関係を比較するためのデータである相対アドレス比較データにより毎回設定される。
【0155】
実際には1次突破アドレスのアドレスと相対関係のない2次、3次、N次比較による合格出力も相対的にシフトされたアドレスにカウントアップされるが、サンプルが適正で意図的なものでなければ毎回散発的であり合格出力が特定アドレスに集中することはない。これはサンプルとなる画像(情報)と未知の画像(情報)の特定部分が同一であると言う特別な関係(パターン)が成立しないからである。1次突破アドレスは常にカウントの優位性を保ち(最初に1)、さらに1次突破アドレスの相対アドレスに関連付けされたサンプルのアドレスのグループを代表し合格出力を突破出力として集める権利を持つ支配者のイメージである。
【0156】
図9(アドレススワップの第3のイメージ例)は実際の二次元配列アドレスにおけるアドレススワップの例を示すものである。表A、Bはアドレススワップ前のアドレス(座標)1から100までを示すものであり、24、50、67、72の4つのアドレス(座標)が1次突破アドレスとなっている。
表Aは2次比較アドレスを相対アドレスが−22のアドレスをデータ比較アドレスとする場合であり、この時72のアドレスは相手先の座標が対象外である。表Bは3次比較アドレスを相対アドレスが+31のアドレスをデータ比較アドレスとする場合であり、この時50および72のアドレスは相手先の座標が対象外である。表Cは表Aを−22アドレスシフトしたものであり、24、50、67の1次突破アドレス56は正常にそれぞれの相手先のデータの合否結果を得ることが出来、合格結果があればそれぞれ突破出力としてカウントアップ(スワップカウント)することが出来る。表Dは表Bを+31アドレスシフトしたものであり、24、67の1次突破アドレスは正常にそれぞれの相手先のデータの合否結果を得ることが出来、合格結果があればそれぞれ突破出力としてカウントアップ(スワップカウント)することが出来る。
以上が所定回数繰り返され、比較対象の相手先のアドレスの座標位置が正常な1次突破アドレスが最終まで生き残ることが出来る。
【0157】
以上様々な例にもとづき説明してきたがこれまでの内容は、アドレススワップ(アドレスの置換え)することにより、1次突破アドレスを基準にして、以降毎回比較されるサンプリングポイント113と同一のデータ(データの合格)が存在するか否か、さらに目的の位置(相対アドレス比較データ)に存在するか否か、の双方を連続的に二重並列に合否判定を行い、さらに並列に論理積(AND)演算し、その結果を1次突破アドレスの突破回数カウンタ135に毎回出力するのと等価である。アドレススワップ回路134は
図4の下段の並列アドレス合否判定と並列論理積演算が一体化され、一人二役をこなす極めて効率的な論理回路、つまり等価二重並列論理積(AND)演算手段である。
最終結果として、この比較回数であるN次突破アドレスを突破アドレス出力処理回路138および出力バス124で読み出しすれば、N次突破アドレスを含む情報のグループのアドレスを特定、つまりパターン認識をしたことになる。
比較回数カウンタ129をプリセッタブルカウンタとして比較回数信号143を指定することにより任意のカウント値のカウンタ(N次突破アドレス)のアドレスやその途中経過も読み出すことが可能になる。
尚、アドレススワップ回路134の入力側、出力側いずれをアドレススワップ(アドレスの置換え)するかも相対的であるので任意である。
【0158】
アドレススワップ回路134の一例は、
図6に示すように、アドレス変換用のレジスタを用意し、データ比較回路133よりのアドレススワップ前合格出力141を相対アドレス比較データの座標データにより相対的に移し替え、アドレススワップ後合格出力142とするものである。このレジスタ操作は全てのアドレスの相対シフトであるので、加減算演算によるデータシフト手段、もしくは一番シンプルなのはアドレス分のデータ長のシフトレジスタによっても容易に実現可能である。
シリアル処理のシフトレジスタでもその回路構成を適切に考える事により高速なアドレスのスワップ(アドレスの置換え)を実現させる事が出来る。
【0159】
以上のレジスタを用いるアドレススワップ方法は説明のための一例であり、アドレスデコーダを直接利用してスワップ(アドレスの置換え)するなど他の方法で実施しても構わない。同様にアドレススワップ回路134ならびに突破回数カウンタ135は本発明の情報の絞り込み検出を実現する上で不可欠な手段であるが、この構成に限定されるものではなく、他の方法でアドレス毎に個別に実施することも可能である。
以上のようにアドレススワップ(アドレスの置換え)は、物理的なアドレスの置換えのみならず、以上のようにシフトレジスタを用いてアドレス一つ一つが持っている情報を置換えするという広義の置換えを意味している。
【0160】
データとそのアドレスの相対関係を一括して合否判定するこの方法は、
図4に示す全メモリ132のデータ比較条件の合格と、全アドレス比較条件の合格と、の双方を二重並列に合否判定を行い、これをさらに並列に論理積演算したものと等価であるので、原理的に個別アドレスを対象としたノイマン型情報処理のアドレス逐次処理を不要とするものである。
【0161】
従がって、これまで説明の200万ピクセルの未知の画像を、分解能12bit、データのグループ数を4096グループとする場合、未知の画像の中から同一画像の検出するに必要なデータの比較回数は通常2から3回で収斂し、最大でもサンプル数(本例では25回)のデータ比較回数で目的の画像を確実に見つけることが可能である。
【0162】
さらにこの方式は
図7で示すように1次突破アドレスを基準原点とした入力データによる全座標パターンマッチングの繰返し(毎回全メモリを対象として比較)であるので、部分的に一部の画像が欠落しているような場合の近似の画像(以下、近似画像とも言う。)の検出も実施出来る。
【0163】
たとえば、
図2の場合、25回の比較完了後、グループAの1の座標のカウンタは1、グループBの座標のカウンタは10、グループCの1の座標のカウンタの値は21、グループDの1の座標の値は25、グループEの1の座標の値は22になっている。つまりカウンタ値の高い座標のアドレスは部分画像が欠落した画像や近似の画像の可能性が高い、この場合1次突破アドレス56以外であってもよい。カウンタ値が一定値以上(例えば20回)となる座標を読み出ししておき、所定(この場合25回)の比較完了後、必要により周辺の座標を詳しく判定すればよい。従がってこの方式は同一画像を高速で検出することのみなならず一定の定義もとづく近似画像にも有効である。
【0164】
またこのアドレスワップ(交換)の考え方をさらに発展させることにより、画像が拡大縮小もしくは回転、以降変形画像と呼ぶ、の画像も最少の検出回数で検出することも可能になる。
【0165】
[実施例6]
図10(変形画像の検出の概念)は比較する画像が拡大縮小もしくは回転、場合によってはデータに変化が加わった変形画像を前提として検出する場合に効果的な方法を説明する。
【0166】
図10は、1次サンプルの比較が合格した未知の画像の1次突破アドレス56の上に、既知の画像のサンプリングポイント113を重ねたものである。本例では座標1の基準原点を中心にして未知の画像のサイズが、XY軸ともに2倍(画面としては4倍)に拡大される可能性があるとした場合を示している。
もし探し出す変形画像がこの中に存在する場合、変形画像に対応するサンプルの2から25の全ての座標は、図に示す円の内部に存在するはずである、従がって円を包含する座標範囲をこの座標1の画像検出範囲とすればよい。
【0167】
従がって、これまでのアドレス(座標)シフト変換の概念を拡大し、座標1の基準原点より指定する座標範囲にサンプルと同一のデータ値を持つ座標が存在するかどうか、この場合個数は関係なく単純にあるのか無いのか、を判定し、指定するサンプル数(本例では25個)のサンプルに相当する座標がこの範囲にあることを判定することにより変形画像を検出することが可能になる。
【0168】
この場合もサンプルの特徴量を判定してサンプルの数と識別能力を一定基準とし対象の範囲を一定の範囲内とすることによりその確実性は高いものになる。
【0169】
この場合も毎時目的の1次突破アドレス56にデータとアドレス双方の合格(突破)の出力を集中させて記憶加算する手段、本例では1の座標の突破回数カウンタ135に判定の結果を累積させることが出来れば、このような変形画像に対しても、サンプル数を最大とする最少データ比較回数で画像の検出が可能になる。
【0170】
[実施例7]
図11(アドレススワップ手段の第2の例)は以上の考え方を実現させるために
図6で説明のアドレス変換を1対1のアドレスシフト変換からアドレスの範囲として捉え、これを外部からアドレス比較データ127に、アドレス範囲比較データとして入力することにより、このアドレスの範囲で合格のあったi、j、kのアドレススワップ前合格出力141を、比較条件に該当するアドレス範囲として取り込み、この場合もそれぞれのアドレスグループ内の1次突破アドレスの突破回数カウンタ135にアドレススワップ後合格出力142を入力する構成としたものである。先に
図7で説明の望遠鏡をパラボラ型の天体望遠鏡に変えて1次突破アドレスに突破出力を奪い取るイメージである。
【0171】
例えばこれまで説明の
図1に示す1000ピクセル程度を画像範囲とする画像の1座標を基準とする場合、その1座標を中心としてXY軸7000ピクセル強の座標範囲を比較範囲の座標とすれば、2倍まで拡大された回転を伴う変形画像においてもサンプル数を最大とする最少データ比較回数で画像の検出が可能になる。
【0172】
座標変換や画像が縮小された場合の画像などでは、サンプル座標に対応する座標が欠落する場合もあるので適切にサンプル合格回数の基準を設ければよい。この方法は
図6で説明の相対座標の完全一致方法に比較すれば確実性は落ちるがサンプルの識別能力やその数を適切にすることにより極めて高速な画像の検出が可能になる。
【0173】
さらにメモリのデータ比較回路をデータ一致の合否の比較から、輝度や色のレベルの範囲を持った大小比較として合否の判定を行えば、変形画像のみでなく、その定義の仕方にもよるが類似の画像の検出も可能となる。
このような場合には大小もしくは一致による合否判定以外、メモリbit個別のDon‘t Careによる比較が可能な3値メモリを利用し合否判定をするとさらに効果的である。
【0174】
通常、画像のサイズの変化や回転が加わった画像の検出は座標変換など極めて多大な検索の処理回数を必要とする。一方、この方式によれば、サンプル数分の比較をするだけで目的の変形画像(近似画像を含む)を検出することが可能となる。
多くの場合、上記のように変形画像や類似画像の中心位置や重心位置などが検出出来れば良い場合が殆どであるが、もし画像の拡大縮小や回転角度を検出する必要がある場合にも、何回かのデータ比較を追加することにより対応可能である。
【0175】
以上のような必要がある場合、一旦画像が存在する範囲を検出した後に、
図10に示すように、2、4、3、5の4個の対角の座標が何処に存在するのかを、分割検出範囲Aの4分割や分割検出範囲Bの16分割のように分割することにより、範囲を限定し検出すればよい。4分割の場合で16回、16分割で64回合計して最大でも80回のデータ比較を行えば、凡その画像の変形の様子を掴む事が出来る。
通常このような変形の度合いが推定出来ない変形画像を検出する場合には、考えられる画像の変形情況を推測して多数の座標変換を行い、パターンマッチングを行う必要がある。本実施形態はこのような変形画像の検出に比べれば比較することが出来ない程高速なパターンマッチングが可能である。分割する範囲を細分化すればより正確な検出も可能である。
以上は一例であるがこのように最小限のデータ比較の回数を追加することにより複雑な画像の検出も可能である。
【0176】
本例では画像が拡大縮小さらには回転される可能性があることを前提に全サンプリングポイント113を対象にして大きな範囲を範囲設定した場合の例で説明を行ったが、それぞれのサンプリングポイント113に対して個別に一定の範囲を指定して検出をすることも出来る。この方法はデータとそのアドレス(位置)の不確かさを補完する上でも、同一もしくは類似するデータが連続して存在する場合に重要な意味を持ち、サンプリングポイント113の位置やそのデータを元に類似画像の定義を行えば、同一画像、近似画像、変形画像、類似画像まで幅広く検出が可能となる。
【0177】
このメモリ121はこれまで説明の座標シフト方式(アドレスが比較する相対アドレスと一致)と座標範囲方式(アドレスが比較する座標の範囲内に存在)の2つの検出方法以外、例えば比較する座標の範囲外、等にもアドレススワップの応用が可能であり、いずれもアドレススワップ回路134のアドレス比較データ127のデータ設定のみで実現出来るので、これらを一体にした構成とすることが可能であり、これらの画像検出方法を組合せすることにより、より様々な画像の検出を可能にする。
本例では説明を簡素化するためR、G、Bの色データをまとめて1つのアドレスのデータとする方法で説明したがR、G、Bのそれぞれのアドレスを独立させて比較する方法も容易に実現可能である。
【0178】
このメモリ121は並列にメモリデータを比較可能な基本構造のメモリ、例えば連想メモリ等に、アドレスのスワップ(交換)を行うための手段と、合格回数を記憶するカウンタと、一般的なプライオリティエンコーダで構成可能な極めてシンプルな構造であるので大容量化もし易い。
【0179】
またメモリ121は言うまでもなくデータとそのデータのアドレスの相互関係に基づく組合せ問題の探索(比較)回数を根本的に解決し、適正に選択されたサンプルであれば、サンプル数を上限とする最少のデータ比較回数を大幅に低減するデバイスであり、クラスタリングした類似特徴の座標相関による画像の検出や、その他の様々な情報の検出に応用することが可能である。
【0180】
これまでの説明では、情報を繰返し絞り込みする場合で説明しているが、絞り込みを1次比較、2次比較だけとする単発の情報検出も可能であることは言うまでもない。
【0181】
以上のように自らが情報検出可能なインテリジェンスな知識をもったメモリ121を用いることが出来れば、情報検索時CPUやGPUは入力データを与えその結果を読取るだけなのでその負担を大幅に軽減出来る。
極めて高速な情報検出が可能なのでメモリのサイズが不足する場合には、情報を分割して情報検出を実行してもよい。
【0182】
このメモリ121の毎回のデータ比較処理時間が、控え目にみた処理時間で仮に毎回平均1μ秒であっても、どの様なサイズの画像を対象としても数μ秒から長くても数百μ秒以内で目的とする情報を確実に検出することが可能になるので、動画像を対象とした1コマ(フレーム)上の情報を検出することも、検出したい既知の情報1が連続して大量にある場合にでも広く応用が可能となる。
言うまでもないが、メモリ121のメモリ132をアクセスして逐次処理する通常のCPUとのコラボレーション(併用)によりさらに高度な情報検出が可能となる。
【0183】
以上画像情報を中心に本発明の概要を説明してきたが、この情報検出の方法とメモリ121は、一次元情報(音声等)や多次元空間として配列された情報の検出にも有効である。
【0184】
[実施例8]
図12(アドレススワップ手段の第3の例)は
図6の二次元情報を、X、Y、Zの3軸に拡大し、三次元空間に配列された情報の同一配列や類似配列を検出可能にする例であり、N次元空間とすることも可能である、情報検出の具体例は後述する。
【0185】
これまでの説明の情報絞り込み検出機能を備えたメモリ121は、全てのメモリを対象に突破回数をカウント可能にし、その突破の回数で同一情報ならびに類似情報を連続して検出するものであったが、メモリ数が大規模な場合や回路構成をさらに簡素化する目的で突破回数カウンタ135、ORゲート136、インヒビットゲート137の回路数を削減することが出来る。
【0186】
[実施例9]
図13(情報絞り込み検出回路の削減例)は
図4、
図5に示すメモリ121の基本構想をもとに回路数を削減したもので、これまでの説明のように利用される突破回数カウンタ135以降の回路の数は、通常の場合1次比較で出現する1次突破アドレスの数(これまでの説明では200万アドレスで分解能4096通り、平均488アドレス)であることに着目しこれに見合う数量、例えば突破回数カウンタ135以降の回路数をメモリ132のアドレスの数量の、例えば1000分の1や2000分の1に削減、図ではAからXまでの出力に削減したものである。
【0187】
この場合カウンタは、
図7で説明のそれぞれのアドレスグループの1次突破アドレスを記憶し、このアドレスを読み出しが可能な構成のグループ別突破カウンタ158とし、このカウンタ158別に1次突破アドレスを読み出し出来る構成とすればよい。
このような構成とする場合には、アドレススワップ回路134に簡単な一つ以上のアドレス演算プロセッサを搭載するなどしてアドレススワップを行ってもよい。このように演算プロセッサを利用してアドレススワップ(アドレスの置換え)の自由度を高めることによりさらに様々な手法の情報の絞り込みも期待できる。
【0188】
仮に1次突破アドレスの数が多くオーバフローする場合にはアラームを挙げて1次比較のサンプルを変更するなどすればよい。
【0189】
また回路数を削減する方法として、二重並列論理演算をメモリのバンク毎に切り替えて実施するなどの回路構成も可能である。
また、毎回の一致回数をカウントすることなしに、単に毎回の絞り込み結果の勝ち残りアドレスのフラグを残す方式とすれば、回路数を大幅に削減することが出来る。
【0190】
全てのメモリを対象に合格回数をカウント可能な方式は1次突破アドレスの出現数の制限がなく理想であるが、このように情報絞り込み機能の回路構成を簡素化した、情報絞り込み検出機能を備えたメモリ121aであっても、これまでの説明の情報検出の方法で目的の情報を確実に検出することが可能である。
【0191】
以上のような構成とすることによりこのメモリ121aのメモリのアドレス数やそのbit数、つまりメモリ容量に関しての自由度を増すことが出来る、また前述のごとく3値メモリとすることも可能である。
【0192】
図14(多重化したデータとアドレスの二重並列論理演算の概念例)は、
図4で説明の二重並列論理演算を多重化した例である。
図に示す通り、メモリ121bはメモリのデータを比較するための比較データとアドレスを比較するためのデータを2組と、二重並列合否判定回路を2組と、二重並列論理積演算回路を2組、をそれぞれ持っており、論理積演算結果をさらに並列に論理和(OR)演算し出力をする構成になっている。
【0193】
このような構成も
図5に示すメモリ121の回路構成を応用することでも可能である。
このような構成にすることにより、2つのパターンを同時に検出することが出来る。
本例は多重化の一例であり、2組以外多数の組合せとすることも、演算を論理積(AND)や論理和(OR)以外、排他論理やその他任意の論理演算とすることが出来る。
検出する情報の種類や目的に応じてこのように多重化し、様々な論理演算の二重並列論理演算を使用することにより、より高度な情報の検出が可能になる。
【0194】
これまでの説明の
図4、
図14等を総合して本実施形態のメモリ121の構成をまとめると、このメモリはメモリアドレスごとに情報を記憶しその情報を読み出し可能なメモリであって、
外部から与えられる第1のデータは記憶されたこのメモリのデータを比較するためのデータでありであり、第2のデータはこのメモリのアドレスを比較するためのデータであり、第1及び第2の双方の入力データを入力するための入力手段と、(1)第1のデータでメモリに記憶されたデータを並列に比較し合否判定する手段と(2)第2のデータでメモリのアドレスを並列に比較し合否判定する手段と(3)以上(1)、(2)双方の合否判定結果をさらに並列に論理演算するデータとアドレスの二重並列論理演算手段と、を具備することを特徴とする情報絞り込み検出機能を備えたメモリである。
または、このメモリはメモリアドレスごとに情報を記憶しその情報を読み出し可能なメモリであって、
このメモリは、
(1)外部から与えられる、このメモリに記憶されたデータを並列に比較するための第1の比較データと、このメモリのアドレスのアドレス同士を並列に比較するための第2の比較データと、の各比較データを入力するための入力手段
(2)第1の比較データでこのメモリに記憶されたデータを並列に比較し合否判定する手段
(3)第2の比較データでこのメモリのアドレス同士を並列に比較し合否判定する手段
(4)以上(2)、(3)双方の合否判定結果をアドレスごとに並列に論理演算するデータとアドレスの各合否結果の論理演算手段
以上(1)から(4)を具備することを特徴とする情報絞り込み検出機能を備えたメモリである。
【0195】
さらこのメモリの情報の絞り込みをシンプルな回路構成とするための一例として、前記(1)の合否判定手段ならびに前記(3)の二重並列論理演算手段を、その演算結果が前記(1)の合否判定と前記(2)の合否判定との論理積(AND)と等価となる、等価二重並列論理積(AND)演算手段で構成したことを特徴とする請求項1の情報絞り込み検出機能を備えたメモリである。
または、前記情報絞り込み検出機能を備えたメモリの前記論理演算は論理積(AND)演算であって、
前記情報絞り込み検出機能を備えた論理積(AND)演算を行なうメモリは、
(1)初回の情報検出時に、前記第1の比較データによりメモリのデータを並列に合否判定して、合格した少なくとも1つ以上のメモリアドレスを1次突破アドレスとして記憶する手段
(2)次回以降の情報検出時に、新たな前記第1の比較データによりメモリのデータを並列に合否判定して合格したメモリアドレスを、前記第2の比較データによるアドレスの置換え手段によりアドレス置換えしたアドレスとする手段
(3)上記(1)(2)のアドレスの論理積(AND)演算を突破したアドレスを出力する手段
以上(1)から(3)を具備することを特徴とする情報絞り込み検出機能を備えたメモリである。
【0196】
さらに
図5、
図13等に示すようにこのメモリを連続繰返し二重並列論理演算60するために毎次の前記等価二重並列論理積(AND)演算手段の結果をメモリアドレスごとに計測するカウンタ手段と、初回の前記比較は、前記第1のデータによって、メモリを並列に合否判定して合格したメモリアドレスの上記カウンタを1にカウントアップしこれを1次突破アドレスとする手段と、以降の比較は、上記第1のデータによって、メモリを並列に合否判定して合格したメモリアドレスと、上記1次突破アドレスと、の双方のアドレスの位置関係を、前記第2のデータによって、前記等価二重並列論理積(AND)演算手段で演算し、この演算を突破した上記1次突破アドレスのカウンタをカウントアップしてN(2以上の整数)次突破アドレスとする手段と、このN次突破アドレスのアドレスを出力する手段と、を具備することを特徴とするメモリである。
または、
図5、
図13等に示すようにこのメモリを連続繰返し二重並列論理演算するために
前記情報絞り込み検出機能を備えた論理積(AND)演算を行なうメモリは、
(1)所定回数繰り返し与えられる前記各比較データによる比較合否判定結果をメモリアドレス個別に計測するカウンタ手段
(2)前記初回の情報検出時に、合格したメモリアドレスの上記カウンタを1にカウントアップし、これを前記1次突破アドレスとする手段
(3)上記繰り返し与えられる前記次回以降の情報検出時に、前記アドレスの置換え手段により、前記論理積(AND)演算結果を上記1次突破アドレスのカウンタに累積カウントアップしてN(2以上の比較回数)次突破アドレスとする手段
(4)上記(3)のN次突破アドレスのアドレスを出力する手段
以上(1)から(4)を具備することを特徴とする情報絞り込み検出機能を備えたメモリである。
【0197】
さらに前記等価二重並列論理積(AND)演算手段は前記第2のデータであるアドレスを比較するためのデータにもとづくアドレスのスワップ(交換)手段によって繰返し実施することを特徴とするメモリである。以下のようにも言える。前記論理積(AND)演算を行なうメモリのアドレスの置換え手段は、前記第2の比較データによりアドレス全範囲並列にアドレスの置換えをすることを特徴とする情報絞り込み検出機能を備えたメモリである。
【0198】
さらに前記第2のデータであるアドレスを比較するためのデータは、前記1次突破アドレスを基準とし、
(1)比較対象のアドレスが相対アドレスに一致するか否かの比較データ
(2)比較対象のアドレスが比較する範囲の内外に存在するか否かの比較データ
以上(1)(2)のいずれかもしくは双方であることを特徴とするメモリである。
または、前記論理積(AND)演算を行なうメモリの第2の比較データであるメモリのアドレスのアドレス同士を並列に比較するためのデータは、前記1次突破アドレスを基準アドレスとし、前記次回以降の情報検出時に、前記第1の比較データによりメモリのデータを並列に合否判定して合格したメモリアドレスと、上記基準アドレスと、双方のアドレス同士の相対位置が、
(1)一致するか否かを判定するための比較データ
(2)範囲内に存在するか否かを判定するための比較データ
以上(1)(2)のいずれかの情報検出用比較データであることを特徴とする情報絞り込み検出機能を備えたメモリである。
【0199】
さらにこのメモリは、絞り込みのための回路の削減や二重並列論理演算を多重化することも、論理演算を論理積や論理和のみならず様々な論理演算のデータとアドレスの二重並列論理演算をすることが可能なメモリである。
【0200】
以上で本実施形態のメモリ121のそのものの説明を終えて、以下に一次元、多次元空間の情報検出の例を説明する。
【0201】
[実施例10]
図15(アドレス一次元配列の情報検出例)は、例えば横軸を時間軸としてアドレスに対応させ景気動向や株価、気温などのデータを縦軸に表示したものであり、サンプルとして与えられた既知の情報のデータを基に未知の情報である、過去の膨大なデータベースの中から情報検出を行ったものである、このような情報検出は、メモリアドレスを時間軸に関連付けるように配列記憶されたデータにより極めて簡単に行うことが出来る。
【0202】
時間軸を対象とした情報検出のもう一例として、音声の場合には圧縮前のサンプリング時間とこの時間に対応した音声データや圧縮音声データのAAU(オーデオ復号単位)毎の音声データをもとにして情報検出が可能である。
3値データの比較が可能なメモリ121の一例として、人の声などのスペクトラムの帯域をクラス化してクラス別にデータ化して、1時刻に対して1アドレス分のデータとすれば極めて簡単に時系列配列が作成出来る。これを元にテンプレート音源などと類似パターン認識すればよく極めて高速な音声認識が可能となり、様々な音声認識の分野に利用することが可能である。
【0203】
またこのような一次元配列情報の検出は多大な情報処理を必要とするDNA配列、ゲノムの4つの塩基配列の組合せ解析を高速に実施する上で極めて有効である。同様に文字列の配列による解析も同様である。
【0204】
情報化社会の最大の敵ともいえるコンピュータウイルスは、ネットワーク等を通じてコンピュータに侵入してコンピュータ内のデータを破壊したり、消滅させるよう意図されて作られた悪意に基づくソフトウエアブログラムである。
このプログラム文字列は文字情報パターンとして通常ソフトウエア処理でCPUによるパターン認識を行いウイルスの侵入を防いでいる。
従ってCPUに情報検索のための大きな負担がかかり、情報処理機器全体のパフォーマンスを大幅に低減させる結果となっているのが現状である。
このようなコンピュータ利用者最大の敵であるコンピュータウイルスもこの情報絞り込み検出機能を備えたメモリを利用し検出することにより、CPUに大きな負担をかけることなく、ウイルス文字列のパターンを高速で見つけ出す事が出来るので、これまでのCPUとソフトウエア処理によるウイルス検出に比較し情報処理機器全体のパフォーマンスの低減を最小限に抑えることができる。
【0205】
[実施例11]
図16(アドレス三次元配列の情報検出例)は三次元空間に配列された情報を検出する場合の例を示したものである。
図に示すように三次元空間に配列される特定のパターンをこれまで説明の内容と同様な方法で検出したイメージである。
【0206】
言うまでもなく三次元空間は我々が存在する実空間を含むので、三次元空間の位置とそのデータが定量化出来る全ての三次元情報に適応可能である。さらに時間軸を加えた時空間情報など多次元情報に展開することも可能である。
【0207】
このような三次元空間の情報検出は原子や分子レベルから宇宙空間のあらゆる配置関係の解析に利用可能である。
【0208】
特に高速な検出が可能であるのでリアルタイム処理が必要なロボットを対象として、例えば動きの速い物体などを対象として、多数のテンプレート画面と比較を行うような立体パターン認識、立体物体認識、物体移動追跡など、用途は無限である。
【0209】
いずれの場合も、メモリアドレスと、X、Y、Z、3軸の位置を対応付けするようデータをアドレス配列記憶することにより容易に実現可能である。同一情報はもとより、画像の検出で説明した近似情報や類似情報の検出も可能であることは言うまでもない。
【0210】
以上の説明は一次元から多次元までの空間を対象として既にアドレス配置された情報もしくはアドレス配列可能な情報のパターン認識を行ったものであるが、一例としてアドレスをクラスタリングされた情報グループに分類するなどしてこれを情報検出するなどアドレスとデータの配列を工夫することにより、これまでのアルゴリズムを駆使した情報検出を併用することも可能である。
【0211】
以上が一次元から多次元までの情報を検出する場合の概要であるが、メモリ121,121a,121bにおける作用の特徴をまとめると次の通りである。
【0212】
メモリ121,121a,121bを使用した情報の検出は1アドレスとそのデータを検出の単位とし、入力データの設定方法により、特に厳密で正確な同一情報の検出から近似情報、変形情報、類似情報など幅広い情報を高速で確実に検出することが出来る。
【0213】
情報検出のためのサンプリング数もサンプリングポイント113の選び方も統計的手法で評価可能で、サンプリングを自動化することも可能である。この場合サンプリング数の無駄も省かれ、検出時間を理に適った合理的な時間とすることが出来る。また、1アドレス(座標)毎にサンプルポイント113の設定が出来るのも特徴の1つである。
【0214】
未知の情報102上に対象となる情報がない場合の検出打ち切りが極めて速いことも特筆できる。
【0215】
この検出方法は一定の条件を満たせば互いの情報の大きさ(サイズ)に制約がないのであらゆる情報に適応可能であり、メモリ121,121a,121bのメモリのサイズに合わせて情報を分割処理することも可能である。
【0216】
一次元情報や、多次元情報や、その他の情報が混在し記憶されたメモリからでも、目的とするパターンの認識をすることも可能である。
【0217】
また本方式は、未知の情報102を適切にアドレス配置しメモリ121,121a,121bに記憶させれば、サンプルポイント113以外、他のパターン認識で行われるような情報の加工、特徴抽出やクラス化などのデータの前処理が必要ないことも大きな特徴である。
【0218】
さらに本方式はアルゴリズムの開発など情報検出の実施前の時間が不要となるのも大きな特徴であり検出方法(比較条件の設定)も極めてシンプルな構成である。
従がって、システム試験時のカット&トライ的な調整も不要で、設定通りの検出方法で期待する情報を確実に検出できる。従がって、特段情報検出の専門家でなくても本方式を利用して様々な情報検出のアプリケーションに広く利用することができる。
【0219】
これまでの説明では既知の情報101があることを前提とし、この情報からサンプルを採取して情報を検出することを中心に説明してきたが、反対に未知の情報102からサンプルを採取してテンプレート化された既知の情報101を探し出すことや、人の判断や推測に基づき入力データ125を設定し情報解析することも重要である。
【0220】
このような場合、最初の入力データ125である1次比較データは検出の結果を左右するので、複数の比較データとするか、入力データに範囲を持たせ検出を行い、この1次比較の結果により徐々に範囲を限定する方法で解析を行えばよい。
このような解析は天文、気象、物理、化学、経済などのあらゆる分野の情報予測などデータ解析の時間とその労力を大幅に軽減するものである。
【0221】
この情報絞り込み機能を備えたメモリ121,121a,121bは、ノイマン型コンピュータの宿命であるメモリの逐次処理を排除し、メモリ自身がインテリジェンスな知識を備えて情報検出を行うものであり、これまでのメモリの常識を大きく打ち破るものである。
従がって、従来から研究され利用されている画像認識、音声認識、OCR文字認識、全文検索、指紋認証、虹彩認証、ロボットの人工知能のパターン認識に利用されるのみでなく、天候、景気、株価、分子構造、DNA、ゲノム、文字配列(コンピュータウイルスパターン含む)、などの解析はもとより、新たな情報の発見(情報予測)や、社会インフラから産業用設備、工業用設備、家庭用装置はもとより、これまで対象とされることのなかった未知の分野の情報検出にも幅広く利用することが可能である。
【0222】
[実施例12]
この情報絞り込み機能を備えたメモリ121,121a,121bは、様々な情報の検出を必要とする人工知能のエンジンとして知識処理に利用することも可能である。
例えばメモリ121,121a,121bを人の脳の大脳や小脳、さらには右脳や左脳などに相当させ、並列さらには階層状に複数配列して、それぞれにテンプレートとして、物体の認識の情報、人物認識の情報、文字の認識の情報、音声認識の情報、味覚の情報、触覚の情報、など様々な種類の既知の情報を記憶させておき、リアルタイムで与えられた周囲の画像や音声さらには様々なセンサの既知の情報と比較することにより、人の認識能力と同様に様々な情報を同時に識別し、その情報の中で最適な行動を選択し実行するような極めて高度な知識処理に利用することも可能であり、利用の仕方は無限である。
この場合記憶されテンプレートとなっている情報は既知の情報で、センサから入力される比較される情報は未知の情報であり、これまでの説明の反対の関係となっている。
図17(メモリを用いた高度な知識処理の例)は以上説明の知識情報をメモリ121,121a,121bに記憶し知識処理を行う実施例であり、最適な行動の結果をもとにメモリ121,121a,121bを更新することによって学習効果も容易に実現可能である。
【0223】
以上のメモリは特に1つのチップの半導体集積回路(System On a Chip)に組み込まれシステムとして使用されることが理想であるが、技術的な理由、経済的な理由など、この構成のメモリが利用出来ない場合においても、アドレス同士の比較の概念を応用して、通常の情報検出よりも格段に効率よく高速で情報検出が可能となる本発明のアドレスの比較方法を説明する。
この内容は、幾つかの半導体チップをまとめてシステム化した半導体集積回路(System In a Package)はもとより、幾つかの半導体集積回路や周辺部品をプリント基板等に実装した回路(System On a Board)によってシステム構成する場合にも適応可能である。
【0224】
[実施例13]
図18はアドレス比較回路の構成
図Aであり、メモリ外部にメモリのアドレス比較回路71をもった場合の基本的な構成図である。
これまでの説明と同様本発明の概念を示すものでありタイミング等の詳細は割愛されている。
【0225】
図に示すように、メモリは、並列にメモリのデータを比較することの出来る連想メモリ等であり、第1の入力データによりメモリのデータを並列に比較し合格したアドレスを出力し、メモリからの初回比較の出力結果を、アドレス比較回路71の1次突破アドレスシフトレジスタ、ならびに以降比較の出力結果をN次合格アドレスシフトレジスタの双方に記憶し、N次合格アドレスシフトレジスタは第2の入力データにより、この場合相対アドレス分アドレスをシフトし、1次突破アドレスシフトレジスタとシフトされたN次突破アドレスシフトレジスタとを並列に比較し、さらに論理積(AND)演算し、双方が合格しているアドレス、この場合メモリアドレス5が突破アドレスとなり、このアドレスが突破アドレス出力回路に入力されている。
【0226】
この内容は、このメモリのデータを並列に比較するための第1の入力データでメモリのデータを並列に比較し、その結果を出力し、出力されたアドレスごとの合否結果を記憶し、さらに新たな第1の入力データでメモリのデータを並列に比較し、その結果を出力し、出力されたアドレスごとの合否結果を記憶し、第2の入力データにより双方のアドレス同士の合否結果を比較したものである。本例の場合アドレス同士の比較が並列でアドレスの合否結果を論理積(AND)演算するものであるが、論理積(AND)演算以外の論理演算でもよい。
いうまでもなく、アドレス同士の比較は相対的なものであるので、本図の構成では1次突破アドレスを固定し、N次突破アドレスを第2の入力データによりアドレススワップ(アドレスの置換え)を行っているが、その関係を反対にすることも可能である。
【0227】
突破アドレス出力回路72は、これまで説明の第1の入力データならびに第2の入力データを対にして繰返し与えることにより情報を絞り込む。したがって、突破回数をカウントするカウンタ回路やプライオリティエンコーダなど目的にあった論理演算結果の出力形態が可能である。
【0228】
以上の第2の入力データはこれまでの説明同様、パターン情報など情報配列上の相対アドレスデータによりアドレス同士が比較されるものであり、メモリは、これまでの説明における画像データの場合、毎回第1の入力データの比較によりこのメモリからアドレス出力を平均488回逐次出力し、アドレス比較回路71は毎回この488回の出力を受け取り、これまでの説明同様に、1次突破アドレスを基準アドレスとして第2の入力データで示される相対アドレスを比較データとして並列にアドレス同士を比較し、さらに合否結果の論理積(AND)演算を行い、その結果を突破出力として出力する。
毎回平均488アドレスとなる、2組のアドレス群の集合の相対アドレス関係を比較し、その相対関係が一致するアドレス(論理積)を求める、と考えると理解し易い。
【0229】
したがって、このメモリは、通常の連想メモリなどの並列にメモリのデータを比較することの出来るメモリで、そのアドレスに対応させてそのデータの比較判定結果を外部に出力することが出来るメモリであれば、どの様なメモリでも利用可能である。
【0230】
[実施例14]
図19はアドレス比較回路の構成
図Bである、
図18に示したアドレス比較回路71は、メモリのアドレス数に対応するシフトレジスタを用意し、全アドレスを対象とし1対1の付き合わせでアドレス同士を比較したが、
図19はこの構成を簡素化させたものであり、本例では1次突破アドレス56をシフトさせる構成としている。
【0231】
メモリから出力される第1の入力による初回比較の1次ならびに以降比較のN次のデータ比較の合格アドレスのみを順次記憶し、1次突破アドレスを第2の入力データによりそれぞれ相対シフトし、この相対シフトされた参照先の1次突破アドレス(図に示すS1からSXのアドレス)のN次のデータの比較結果が合格かを判定し、YESの場合突破出力としている。
この場合には、1次突破アドレスとN次比較合格アドレスのアドレス数は、メモリ全体のアドレス数に比較して大幅に少なく、データの比較結果の合格アドレスのみを対象としてアドレス同士を比較しており、回路数を大幅に削減することが出来る。
【0232】
以上の2例に限らず、1次突破アドレスを毎回の比較の基準とし、N次比較合格アドレスと双方のアドレス同士を比較し、その結果のアドレスを出力するものであれば、必ずしも並列比較とせず、逐次アドレスを比較する方法でもよい。
さらにアドレスの比較はその目的により論理積(AND)演算以外の排他論理演
算や、3組のアドレス群の多重比較、さらには合否結果の相対位置関係の比較など
比較目的の任意の形態のアドレス比較とすることが出来る。
【0233】
また先の説明の類似情報を検出する場合や、一例としてメモリに様々な情報が混在する場合には、アドレス範囲を指定するなど様々なアドレス条件を指定してアドレスを比較することも可能であり、1次突破アドレスと以降のN次比較合格アドレスの双方をアドレス比較することが可能であれば、どの様な構成のアドレスの比較回路でもよく、もちろんアドレスの比較はアドレスに対応する座標データとして与えてもよい。
【0234】
メモリ上に情報の絞り込み機能がある場合には、メモリアドレス個別の逐次処理が全く不要であったが、この方法によれば、これまでの説明のように毎回平均488回のアドレス逐次出力処理で、全メモリ上の情報を毎回比較検出することが出来ることになり、この方法を繰り返すことにより、これまでの総当たり的な情報検索よりも格段に情報検出の速度を向上することが可能になる。
【0235】
メモリにアドレス絞り込み回路を組み込むことにより、さらに以上の毎回488回の
アドレス逐次出力処理を削減することが出来る。
【0236】
[実施例15]
図20はアドレス比較回路の構成
図Cである、図に示すように、アドレス比較回路71の突破アドレス出力回路72からのアドレスを、メモリのアドレス絞り込みのための並列論理積(AND)回路にフィードバックし入力するものである。
【0237】
この構成とすることにより、これまでの説明と同様、毎回の比較で出力されるアドレスがN次突破アドレスとなっているアドレスに絞って出力することが出来るので、比較対象外の無意味なアドレスを出力する必要がなく、初回のアドレスは488回でも、以降N次のアドレス出力は極めて限られたアドレスに絞り込みすることが出来る。
【0238】
この場合メモリはフィードバックしたアドレスを記憶し、この記憶されたアドレスとそれぞれのデータによる合否結果を単純に並列に論理積(AND)演算するだけでよいので、極めて簡単な回路構成でこれを実現し、アドレス比較回路71とペアーで利用することにより、初回のアドレス比較(1次突破アドレス)のみ多少時間が掛るがその後の時間を大幅に短縮することが出来る。
【0239】
以上説明のメモリのアドレス比較回路71やアドレス比較方法は、メモリの外部で行われ、独立したアドレス比較回路71とすることも、他の目的の回路や機能の中に組み込んで利用することも、また半導体集積回路とすることも、CPUなどの他の目的の半導体集積回路に組込むことも可能である。
【0240】
このようなアドレス比較が可能なのも、一次元から多次元で情報配列されたパターン情報は、1次突破アドレスを基準アドレスと定義することにより、以降のアドレスをこの基準アドレス(座標データ)をもとにして毎回アドレス(座標データ)同士を第2の入力データとして比較することが可能であることにより、始めて実現可能となるものである。
【0241】
以下に別実施形態のメモリベースアーキテクチャの情報検出の説明を行う。
以降の説明では、前記情報絞り込み検出機能を備えたメモリ121を単に情報検出メモリ81と記載して説明する。
【0242】
図21(通常のメモリと情報検出メモリの情報検出の概念比較)は本発明の基本的な概念を示すもので、通常のメモリの中から目的の情報を見つけ出す場合、CPU82による情報の検索と検出が不可欠であり、CPU82によって情報が何処にあるかを見つけ出すものである。
一方情報検出メモリによる情報検出は本質的に情報の検索を不要にし、情報検出メモリが目的の情報のアドレスを直接検出して情報が何処にあるかを見つけ出すものである。
以上の内容はプロセッサが主役となる情報処理のプロセッサベース情報処理とメモリが主役となる情報処理のメモリベース情報処理の体系の特徴比較をイメージとして表したものである。
本例は比較するデータがデータとアドレスの2種類で必須であるがこれに加えて様々な比較データ、例えばデータの種類やデータの登録時間等を加え、データ比較することの出来る構成の情報検索メモリとして情報の検出をすることも可能である。
【0243】
[実施例16]
図22(比較データの情報処理例)は2種類の比較データの構成例と、この比較データをCPUにより入力する構成とした情報処理例である。
図に示すようにアドレス比較データは、1次突破アドレスを基準アドレス(座標)として、対象となる情報の配列に応じ1次元から多次元座標の位置また範囲を比較データとして入力する構成である。
またデータ比較データはデータの一致、大小、範囲、bitセンス、3値メモリ比較等の何れかのモードを指定し比較データを入力する構成である。
本例ではこれらの比較データをCPUによりデータ入力する構成となっており、CPUはこのメモリベースアーキテクチャの情報検出メモリ81のアドレス出力を読取り情報処理するとともに比較データをCPUが与える、メモリベースとプロセッサベースが一体となった情報処理体系となっている。
先に説明のとおりCPU82は万能の情報処理をこなすことができるデバイスであるが情報を見つけ出すことが不得意であり、この情報検出メモリ81のデバイス(情報検出デバイス)を併用して情報処理を行うことにより情報処理体系を大きく加速し進歩させることができる。
【0244】
この情報検出メモリ81を用いて検出する情報は
(1)画像や音声を一例とする1次元から多次元までのパターンデータ
(2)情報検索を一例とするデータベース用データ
(3)AI(人工知能)推論を一例とする推論用データ
(4)CPUを一例とするプロセッサ演算用プログラムデータ
などデータ配列をアドレスに対応させテーブル化した情報であれば利用可能である。
【0245】
特にプロセッサ演算用プログラムデータをデータとしてCPU82でこのデータを演算するような情報処理方式とすれば正にメモリベースとプロセッサベースが融合された極めて効率的で高速処理が可能な情報処理体系が構築できる。
以上の例は本発明の一例でどの様に情報処理体系を構築しても構わない。
【0246】
[実施例17]
図23(情報検出メモリを直並列接続した高速データベース情報検出装置例)は複数の情報検出メモリ81を使用し、これをCPU82で読取る場合の例である。
近年半導体メモリ大容量化は目を見張るものがありハードデスクドライブHDDに替わりSSD(solid state drive)を用いることが可能になった。
SSDはHDDに比較し多少高価であるが衝撃に強く、消費電流も少なくランダムアクセスが可能あることからデータベースとして盛んに利用されている。
【0247】
一方情報検出メモリ81は従来型の情報を記憶するだけのメモリに比較すれば内部の回路構成が複雑であるとともに、比較データを入力する機能、検出したアドレスを出力する機能が必要で、従来型メモリに比較し低容量となりコストも割高となる。
従がって、図に示すように情報検出メモリ81を直並列に接続しSSDから必要なデータを転送し一括して比較データを与え、その結果出力されたアドレスをCPU82により読み込む方式とすれば大量のデータベースの情報から目的の情報を効率よく高速に検出することが可能になる。
以上の例は通常のメモリ、情報検出メモリ81、CPU82、の三身が一体となった、つまりメモリベースとプロセッサベースが融合された極めて効率的で高速処理が可能な情報処理体系の例である。
【0248】
本願発明の趣旨は情報検索を不要とする新たな情報処理体系の実現を目指すものであり、
メモリ自身が情報検出可能なメモリベースの情報検出方法において
上記メモリベースの情報検出メモリに比較データを与え、この情報検出メモリより出力されるアドレスならびにその情報を読取ることにより、目的とする情報を情報検出メモリのアドレスを個別に検索することなく、この情報検出メモリより直接情報検出することを特徴とする情報検索を不要とする情報検出方法。
であり先願発明のデータとアドレスの2種の比較データによる情報検出メモリに限らず、新たな比較データを入力可能とし、そのデータ比較結果をアドレスとして出力することによるメモリベース情報処理方法により、情報処理上の大きな負担となっているCPUを使った情報検索を不要として情報検出の高速化を目指すものである。