(57)【要約】【課題】本発明は、高速検索が可能な情報検索システム、およびそれに使用される小型のデータ照合装置を得ることである。【解決手段】本発明は、被検索データを送信する送信部と、この被検索データと予め用意されているデータとを照合するデータ照合部と、送信された被検索データをシリアル転送するデータ転送路とを含む情報検索システムにおいて、前記データ照合部を前記データ転送路の始点及び終点を含む転送路内の任意の場所に設けたことを特徴とするものである。【選択図】  図１
2018005292.tif 000002
【特許請求の範囲】
【請求項１】
被検索データを送信する送信部と、前記被検索データと予め用意されているデータとを照合するデータ照合部と、送信された前記被検索データをシリアル転送するデータ転送路とを含む情報検索システムにおいて、
前記データ照合部を前記データ転送路の始点及び終点を含む転送路内の任意の場所に設けたことを特徴とする情報検索システム。
【請求項２】
前記データ照合部は、転送中のシリアルデータのうち定められた区域のＮビット分のデータを転送タイミングに合わせて取り込むデータ取り込み部と、取り込んだＮビットの被検索データの各ビットと照合用のＮビットデータの対応する各ビットとを並列に比較する並列比較部と、前記並列比較部の各出力を判定する判定部とを有することを特徴とする請求項１記載の情報検索システム。
【請求項３】
前記取り込み部は、転送されるシリアルデータが１ビットシフトされる毎にシフト後のNビットをまとめて取り込むことを特徴とする請求項２記載の情報検索システム。
【請求項４】
前記判定部は、転送されるシリアルデータが１ビットシフトされる毎に、前記並列比較部から出力されるNビットの出力を総合的に判定するようにしたことを特徴とする請求項３記載の情報検索システム。
【請求項５】
前記データ照合部が、前記データ転送路を形成する転送ケーブルもしくは中継機（HUB）、または、前記照合用データが格納されているハードディスクあるいはメモリボード上に設けられていることを特徴とする請求項２記載の情報検索システム。
【請求項６】
前記データ照合部が前記データ転送路に対して直列もしくは並列に複数設けられていることを特徴とする請求項１記載の情報検索システム。
【請求項７】
被検索データ生成部から転送される被検索データと予め保存されている照合用データとを比較照合するデータ照合装置であって、
転送される前記被検索データのＮビットをシリアルに取り込むシフトレジスタと、
前記照合用データのＮビットが記憶されるデータレジスタと、
前記シフトレジスタの各ビットと前記データレジスタの対応するビットとを入力として
両ビットの一致／不一致を比較するために並列に設けられたN個の比較回路と、
直列に接続されたｎ個（ｎ≦Ｎ）の判定ゲート群を有する論理判定回路と、
を含み、
前記論理判定回路の１段目の判定ゲートは、１段目の比較回路の出力と所定の論理値または１段目の比較回路の出力と２段目の比較回路の出力を論理演算し、
前記論理判定回路の２段目の判定ゲートが、前記１段目の判定ゲートの論理演算結果と、次段の比較回路の出力とを論理演算し、以下同様にｎ段目の判定ゲートまで論理演算を行うように構成される
ことを特徴とするデータ照合装置。
【請求項８】
前記シフトレジスタが１ビットシフトする間に、前記論理判定回路がN個の比較出力の論理判定をシリアルに行うようにしたことを特徴とする請求項７記載のデータ照合装置。
【請求項９】
被検索データ生成部から転送される被検索データと予め保存されている照合用データとを比較照合するデータ照合装置であって、
転送される前記被検索データのＮビットをシリアルに取り込むシフトレジスタと、
前記照合用データのＮビットが記憶されるデータレジスタと、
前記シフトレジスタの各ビットと前記データレジスタの対応するビットとを入力として
両ビットの一致／不一致を比較するために並列に設けられたN個の比較回路と、
前記N個の比較回路の一致出力、もしくは不一致出力の総数を計数するカウンタ回路と、を含むことを特徴とするデータ照合装置。
【請求項１０】
前記カウンタ回路は、前記N個の比較回路の各出力に対して、連続する一致出力の数、もしくは連続する不一致出力の数を計数する累算機能を有することを特徴とする請求項９記載のデータ照合装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報検索システム及びそれに用いられるデータ照合装置に関し、特に、ネットワークを介して転送される情報を高速検索するのに適した情報検索システムと、それに使用されるデータ照合装置に関する。
【背景技術】
【０００２】
通常、ネットワークを介して転送される様々な情報（例えば、文字、数値、記号、画像、音声、等々の各種データ）に対して、その情報を受け取る受信側の多くは、受け取った情報を認識、識別あるいは判定するための情報検索機能を有している。また、この情報検索においては、受信した情報（受信データ）と予め登録（もしくは、保存）されている情報（参照データ）との照合処理を行うことが一般的である。
【０００３】
例えば、図２に示すような人物判定システムにおいては、判定対象となる人物１を判定場所に設置したカメラ２で撮影し、撮影した画像（データＤ）をネットワーク３を介して遠隔地にある認証センター４に転送して人物の特定を行うための照合処理が必要である。認証センター４は、受信したデータＤを特定するために、情報検索機能を用いて登録データベースサーバ（図示せず）に予め登録（保管）されているデータと受信したデータＤとの照合処理を行い、一致／不一致を示す判定結果Ｘを判定場所に返送する。
【０００４】
ここで、認証センターにおける判定処理は、図３の機能ブロック図、及び図４の処理フロー図に示されるようなソフトウェア処理で行われるのが一般的である。具体的には、被照合データＤは、シリアルデータとして直列ビット形式でネットワーク３から転送されてくる。一方、登録データベース（ＤＢ）７からは、判定用の登録データＰが同じくシリアルデータとして直列ビット形式で読み出される。これら直列ビット形式で送られてきた被照合データＤと登録データＰは、シリアルデータ形式で受信バッファに格納される（Ｓ１、Ｓ２）。その後、両データは、シリアル−パラレル変換処理（Ｓ／Ｐ変換処理６、８）を施されて（Ｓ３、Ｓ４）、Ｎビットの処理単位毎に並列ビットデータに変換される。しかる後、並列ビットデータに変換された被照合データＤと登録データＰの各ビット同士が、並列に比較処理９される（Ｓ５）。比較結果は、一致／不一致を示す判定結果Ｘとして出力される。なお、図３の破線ブロック５に示す機能は、図４の破線ブロック５で示される処理ステップに対応している。
【０００５】
従来、かかるデータ照合処理は、汎用のハードウェアを使ってソフトウェアで処理されるのが一般的である。しかしながら、ソフトウェア処理は、ハードウェア処理に比べて処理速度が遅いというデメリットがあることが知られている。特に、照合すべきデータの量や比較されるべき登録データの量が多い場合には、この時間的課題は致命的な欠点となる。
【０００６】
この課題を解決すべく、特許文献１には、膨大な量のデータを検索する際、ソフトウェア処理に替えてハードウェア回路でデータのパターン認識（照合）を行う技術が記載されている（段落番号０００４及び００１６参照）。ここに開示されたパターン照合装置は、受信したシリアル入力２進データをＮビットのパラレルデータに変換するシリアル―パラレル変換回路（デマルチプレクサ）と、変換されたＮビットの２進データ同士を比較するパラレルコンパレータとをハードウェア回路で構成され、転送されてきたビットパターンを照合する。また、これらの回路は１個の電子装置として、ＡＳＩＣなどの単一チップ（専用ＬＳＩチップ）で実現できることも開示されている（段落番号００３５）。
【０００７】
しかしながら、上述した特許文献１記載のパターン照合装置には、次のような欠点がある。
【０００８】
第１の欠点は、シリアル（直列ビット列）形式で送られてくる受信データの転送ビットレート（速度）と照合を行うための処理ビットレートが異なるため、照合処理に時間を要するという問題である。具体的には、照合処理のビットレートは、入力データのビットレートの１／Ｎとなり、転送速度よりも照合処理の速度がＮ倍遅くなってしまう。これは、照合処理にパラレルコンパレータを使っているが故に、シリアル受信した入力データをシリアル−パラレル変換回路（デマルチプレクサ）を使ってＮビット（照合処理の単位）のパラレルビットに変換する必要があるからと云える。そして、かかる照合速度の低下は、データ受信−データ変換−データ照合−判定という検索に必要な一連の処理を全てシーケンシャルに実行することを前提としていることに原因があると考えられる。
【０００９】
第２の欠点は、パラレルコンパレータに起因する欠点である。特許文献１では、一方に入力データの各ビットが、他方に参照データの対応するビットが入力される２入力ＥＸＯＲ（排他的論理和）ゲート回路を複数個並列に並べた構造のコンパレータが用いられている。しかしながら、このような構造では、照合すべきデータのビット数は、並列に並べられた２入力ＥＸＯＲゲートの数に固定されてしまうため、可変長データの照合判定ができないという欠点がある。
【００１０】
これに対して、特許文献２には、シリアルコンパレータ（直列比較）を用いることで可変長のデータ比較を可能にした技術が提案されている。しかしながら、特許文献２に記載された技術は、２つのデータの大小関係を判定するためのハードウェア回路であって、両データの一致／不一致を比較判定するものではない。従って、特許文献２に開示されたシリアルコンパレータを特許文献１記載のパラレルコンパレータの代わりに使用したとしても、一致／不一致の検出が必要なデータ照合装置には適合しないという問題が生じる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特表２００９−５１８７６５号公報
【特許文献２】特開平５−５３７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
以上のように、情報検索システムに必要なデータ照合をソフトウェアで実現する従来の方式は、処理時間に課題があり、特に、ビッグデータ検索のように大量のデータを高速で照合しなければならない検索システムには不向きである。
【００１３】
一方、ハードウェア回路でデータ照合・判定を行う従来の技術も、検索データの転送−受信−照合−判定という一連の処理の流れがシーケンシャルに実行されるように回路設計されているため、照合処理に時間を要したり、可変長データの照合に支障を来したり、あるいは、照合条件に制限を与えるといった課題を抱えている。
【００１４】
本発明の目的は、上記の課題を解決し高速検索に適した情報検索システムとそれに用いられる新規なデータ照合装置を提供することである。
【００１５】
本発明の他の目的は、照合されるべきデータの転送処理と照合処理とを効率化した情報検索システム及びそれに用いられるハードウェアで構成されたデータ照合装置を提供することである。
【００１６】
本発明の更なる目的は、一致／不一致の判定だけでなく類似性の判定が可能な情報検索システムとデータ照合装置を提供することである。
【００１７】
本発明の更なる他の目的は、可変ビット長の検索にも適合可能な汎用性のある情報検索システムとこれに用いられるデータ照合装置を提供することである。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、本発明は、データの転送中に照合を行うと云う新規な発想のもと、従来のパラレル照合処理のメカニズムをさらに改良・発展させて、データの転送時間内に実質的な照合処理が実行できるようなリアルタイム検索技術を提供するものである。
【００１９】
故に、本発明の請求項１に記載した情報検索システムは、被検索データを送信する送信部と、前記被検索データと予め用意されているデータとを照合するデータ照合部と、送信された前記被検索データをシリアル転送するデータ転送路とを含む情報検索システムにおいて、前記データ照合部を前記データ転送路の始点及び終点を含む転送路内の任意の場所に設けたことを特徴としている。
【００２０】
また、請求項２記載の情報検索システムでは、前記データ照合部が、転送中のシリアルデータのうち定められた区域のＮビット分のデータを転送タイミングに合わせて取り込むデータ取り込み部と、取り込んだＮビットの被検索データの各ビットと照合用のＮビットデータの対応する各ビットとを並列に比較する並列比較部と、前記並列比較部の各出力を判定する判定部とを有することを特徴とする。
【００２１】
さらに、請求項３記載の情報検索システムは、転送されるシリアルデータが１ビットシフトされる毎にシフト後のNビットをまとめて前記取り込み部に取り込むようにしたことを特徴とするものである。
【００２２】
請求項４記載の情報検索システムでは、転送されるシリアルデータが１ビットシフトされる毎に、前記並列比較部から出力されるNビットの出力を総合的に判定するようにしたことを特徴とする。
【００２３】
さらに、請求項５記載の情報検索システムでは、前記データ照合部を、前記データ転送路を形成する転送ケーブルもしくは中継機（HUB）、または、前記照合用データが格納されているハードディスクやメモリボード上に設けたことを特徴とするものである。
【００２４】
請求項６記載の情報検索システムは、請求項１記載の情報検索システムにおいて、前記データ照合部を前記データ転送路に対して直列もしくは並列に複数設けたことを特徴とする。
【００２５】
請求項７記載の本発明は、情報検索システムに用いられるデータ照合装置に関し、被検索データ生成部から転送される被検索データと予め保存されている照合用データとを比較照合するデータ照合装置であって、転送される前記被検索データのＮビットをシリアルに取り込むシフトレジスタと、前記照合用データのＮビットが記憶されるデータレジスタと、前記シフトレジスタの各ビットと前記データレジスタの対応するビットとを入力として両ビットの一致／不一致を各ビット毎に比較するために並列に設けられたN個の比較回路と、直列に接続されたｎ個（ｎ≦Ｎ）の判定ゲート群を有する論理判定回路とを有することを特徴としている。前記論理判定回路の１段目の判定ゲートは、１段目の比較回路の出力と所定の論理値または１段目の比較回路の出力と２段目の比較回路の出力を論理演算し、前記論理判定回路の２段目の判定ゲートが、前記１段目の判定ゲートの論理演算結果と、次段の比較回路の出力とを論理演算し、以下同様にｎ段目の判定ゲートまで論理演算を行うように構成されていることを特徴とする。
【００２６】
請求項８記載のデータ照合装置は、請求項７記載のデータ照合装置において、前記シフトレジスタが１ビットシフトする間に、前記論理判定回路がN個の比較出力の論理判定をシリアルに行うようにしたことを特徴とする。
【００２７】
請求項９記載のデータ照合装置は、被検索データ生成部から転送される被検索データと予め保存されている照合用データとを比較照合するデータ照合装置であって、転送される前記被検索データのＮビットをシリアルに取り込むシフトレジスタと、前記照合用データのＮビットが記憶されるデータレジスタと、前記シフトレジスタの各ビットと前記データレジスタの対応するビットとを入力として両ビットの一致／不一致を比較するために並列に設けられたN個の比較回路と、前記N個の比較回路の一致出力、もしくは不一致出力の総数を計数するカウンタ回路と、を含むことを特徴とするものである。
【００２８】
さらに、請求項１０記載のデータ照合装置は、請求項９記載の前記カウンタ回路が、前記N個の比較回路の各出力に対して、連続する一致出力の数、もしくは連続する不一致出力の数を計数する累算機能を有することを特徴とするものである。
【発明の効果】
【００２９】
本発明は、ネットワーク等の通信手段を介して転送されるデータの検索に必要な転送処理−受信処理−照合処理−判定処理の各処理を従来のようにシーケンシャルに実行するのではなく、データの照合と判定の両処理をデータ転送中に実行するという新規な発想で、特に、転送中のデータを取り込み、取り込んだデータをハードウェア回路を用いて照合及び判定を行うことで従来にない情報検索の高速化を図ったものである。より具体的には、上述した各請求項に記載された本発明の特異な構成により以下のような効果を奏することができる。
【００３０】
請求項１記載の発明によれば、データ照合部をデータ転送路の任意の場所に設けることで、転送後ではなく転送中のデータを取り込んで、その場でデータの照合及び判定をリアルタイムで行うようにしているので、データ転送とデータ照合を同時並行して効率的に実行することができ、これまでにない高速情報検索システムを提供することが出来る。
【００３１】
請求項２記載の発明によれば、転送中のデータは、その転送タイミングに合わせてＮビットデータとして取り込まれ、取り込まれたＮビットのデータを並列に比較することで、転送タイミングに合わせて各ビットを同時に照合することができる。このようにすることで、データ転送路中にデータ照合部を設置することが可能となる。
【００３２】
さらに、請求項３記載の発明では、転送されるデータが１ビットシフトされる毎に定められた区域（区間）にあるＮビット分のデータをまとめて取り込むようにしている。即ち、取り込まれるＮビットデータのビットパターンは、転送タイミングに合わせて転送データがシフト（ビット転送）される毎にその内容が変化することになる。換言すれば、照合のために予め用意されているデータのビットパターンと同じビットパターンが現れた時に一致が検出され、その時のデータが一致データとして識別されるわけである。従って、並列比較されるデータのビット数以内のデータであれば、一致するビットの個数や連続して一致するビットパターンを容易に判別することができるので、可変長のビットパターンに対しても適切な照合を行うことができる。
【００３３】
請求項４記載の発明によれば、同時に比較されたＮビットの比較結果を示す出力は、転送されるデータが１ビットシフトされる毎に総合的に判定される。即ち、転送データが１ビットシフトされる期間内で、照合結果を示すＮ個の比較出力を全て判定するようにすれば、転送タイミングに合わせて照合結果を判定することができる。この結果、データ転送に合わせたリアルタイム検索が可能となる。
【００３４】
本発明のデータ照合部は、請求項５に記載したように、ＬＡＮケーブルやＵＳＢケーブル等の転送ケーブルや中継器（HUB）、照合用の登録データが保存されているハードディスク、あるいはメモリボード上に設けることができる。例えば、ケーブル本体に接続してもよいし、ケーブル先端の接続用コネクタに取り付けてもよい。あるいは、ハードディスクやメモリボードのデータ転送路の終点付近に設けても良い。このようにすることで、転送されたデータを受信し、その後複雑なアルゴリズムを使ってソフトウェア処理を行うと云った厄介な作業から解放されるという効果が得られる。
【００３５】
また、本発明は、転送に同期してデータの照合を行うことができるため、転送路に設置されるデータ照合部の数は、１個に限定されることなく、請求項６に記載したように直列もしくは並列に複数個設けることができる。この結果、転送されるデータをより多くの検索用データと照合することができ、更なる高速検索システムの構築が可能となることは容易に理解され得るであろう。
【００３６】
請求項７記載の発明は、高速情報検索システムに使用されるデータ照合装置のハードウェア構成を開示したもので、転送される被検索データの取り込み手段としてシフトレジスタを用いた技術を開示するものである。このシフトレジスタは、データ転送路の転送クロックレートに同期してビットシフト動作が制御されるものであればよい。また、シフトレジスタの各ビットは、照合用データが格納されているデータレジスタの対応するビットと比較され、Ｎ個の比較出力がほぼ同時かつ並列に出力される。これらＮ個の比較出力は、第１のタイミングで互いに隣り合う出力同士（例えば、１段目と２段目の出力または１段目の比較回路の出力と所定の論理値）が論理判定され、その結果と次段の比較出力（３段目の出力）とが第２のタイミングで論理判定され、以降同様の論理判定が引き続くタイミングで順次シーケンシャルに行われるようなシリアル判定ゲート群で構成されている。このように構成することで、最終段の判定ゲートの出力を見れば、被検索データと照合用データの一致／不一致を容易に検出することができる。しかも、照合結果を判定するための判定ゲートは、２入力の簡単な論理ゲート回路（ＯＲゲートやＡＮＤゲート）を使用することができるので、構成が簡単、かつ小面積で照合回路を実現することができ、LSI化にも好適と云える。
【００３７】
さらに、請求項８に記載されたように、シフトレジスタに取り込まれる被検索データが１ビットシフトする間に判定ゲート群がＮ個の比較出力を判定するようにタイミング制御することで、データ転送と並行してデータ照合を行うことが出来る。この場合、シフトレジスタのシフトクロック周波数のＮ倍の制御クロック周波数で判定ゲートを制御すれば良いことになる。このようにすることで、データ転送中にデータ照合を同時に行うことが可能なデータ照合装置とそれを用いた高速情報検索システムの実現が可能となる。
【００３８】
請求項９記載のデータ照合装置によれば、被検索データと照合データを比較することで得られるＮ個の比較出力に対して、一致出力の総数（もしくは、不一致出力の総数）を計数するためのカウンタ回路を持たせることで被検索データと照合データとの類似度を判定することが可能となる。具体的には、Ｎ個の比較出力の中でｍ個（Ｎ≧ｍ）の一致出力が存在する時には類似性ありと定義したことで、カウンタ回路の値がｍ以上の数値であれば、被検索データと照合データは類似性ありと判定することができ、類似検索に有効な照合装置となり得る。
【００３９】
さらに、請求項１０記載のデータ照合装置では、累算カウンタを使用することで、連続する一致出力数（もしくは、不一致出力数）を計数することができ、これは可変ビット長の検索に好適である。
【００４０】
以上述べたように、従来と異なる本発明の特徴的な要件は、
（１）  データ転送中に照合処理を行う。
（２）  被検索データと照合データとの比較は、複数ビット並列に行う。
（３）  比較結果をシリアルに判定処理する。
（４）  判定処理は、データ転送速度よりも高速に実行する。
ということができる。
【００４１】
ここで、「データ転送中に照合処理を行う」とは、データの転送処理と照合処理とが所定のタイミングで同時並行して実行されることを意味する。従って、照合処理が、データ転送の途中であっても、あるいは、データ転送の始点もしくは終点付近で行われても良いことが、当業者には容易に理解され得るであろう。
【００４２】
また、「比較結果をデータ転送速度よりも高速に判定する」とは、具体的には、判定回路に使用されるタイミング制御クロックの動作周波数が、データ転送に使用されるクロックの動作周波数よりも高いことを意味する。従って、推奨すべきは、Ｎビットのデータ照合の場合には、転送クロックよりＮ倍早いクロックで判定回路を制御すればよい。こうすることで、信号線の長短や伝搬遅延時間の差等の微細な誤差を考慮しなければ、データ転送中にデータ照合を実質的に完了することができる。さらに言えば、かかる誤差を加味してクロック周波数のレートを決めることで、データ転送とデータ照合とを同期させることが可能となることも、容易に理解できるであろう。
【００４３】
上述した要件を達成するために、本発明のデータ照合装置の特徴は、パラレルコンパレータと実質的に同等の回路構成を有するも、その動作がシリアルコンパレータと等価になるように工夫した点にある。
【００４４】
以下に、図を参照して本発明のいくつかの実施形態をより詳しく説明する。
【図面の簡単な説明】
【００４５】
【図１】本発明の基本概念を示す機能ブロック図である。
【図２】情報検索システムの一例を示す人物判定のシステムブロック図である。
【図３】従来の情報検索システムの機能ブロック図である。
【図４】従来の情報検索システムにおけるデータ照合処理の流れを示すフロー図である。
【図５】本発明の基本となるデータ照合装置の基本機能ブロック図である。
【図６】本発明において、転送データ（被検索データ）と照合データ（登録データ）の各ビットを比較するための比較論理ゲート回路図である。
【図７】本発明において、転送データが１ビットずつシフトされる間に比較される転送データと照合データの対比関係を示すタイミング遷移図を示す。
【図８】本発明のデータ照合部の機能ブロック図である。
【図９】本発明のデータ照合部における判定回路の一実施形態を示す論理ゲート回路図である。
【図１０】本発明で使用される転送データのタイミング制御クロックと判定回路のタイミング制御クロックの関係を示すクロック波形図である。
【図１１】本発明で使用する判定回路の他の実施形態を示す機能ブロック図である。
【図１２】本発明で使用する判定回路のさらに他の実施形態を示す論理ゲート回路図である。
【図１３】可変長データに対する一致判定の状態遷移図を示す。
【図１４】本発明と対比するために示した、判定処理をパラレルに実行する論理ゲート回路の参考図である。
【図１５】本発明のデータ照合装置を一次元で配設した情報検索システムのブロックレイアウト図を示す。
【図１６】本発明のデータ照合装置を二次元で配設した情報検索システムのブロックレイアウト図を示す。
【図１７】本発明のデータ照合装置をデータ転送方向に複数併設した情報検索システムのブロックレイアウト図である。
【図１８】本発明のデータ照合装置をデータ転送方向に対して直列に設置した情報検索システムのレイアウト図である。
【図１９】本発明のデータ照合装置が適用可能なネットワークシステムを示す図である。
【発明を実施するための形態】
【００４６】
以下、本発明の実施の形態について図を参照して説明する。
【００４７】
（発明の基本構成と動作の説明）
本発明の基本構成を示す図１の機能ブロック図を参照して、その構成と動作を説明する。被検索データは、通信ネットワーク３を介してシリアルデータDとして受信側（図示せず）へ送信（転送）される。従来技術においては、転送されたシリアルデータは、転送クロックでタイミング制御されつつ受信側の受信バッファに格納される。受信バッファに格納された後は、受信側のタイミングクロックの制御を受けて照合処理ステップへと移っていく。これに対して本発明は、図１に示されるようにデータ転送の途中で照合処理を実行するものである。従って、このデータ照合装置（データ照合部）１０は、転送のタイミングを制御する転送クロックに応答して照合されるべきデータを取り込むシリアルデータ取込部１１を有している。
【００４８】
シリアルデータ取込部（転送データ受取部）１１に直列ビット形式で取り込まれたNビットのデータは、登録データメモリ１２から読み出された比較用の照合データPの対応するビットとシリアル動作コンパレータ１３において比較照合され、照合結果（検索出力）Xとして出力される。このシリアル動作コンパレータ１３は、データの照合（比較）機能と照合結果の判定機能の二つの機能を併せ持つことに留意されたい。
【００４９】
ここで、登録データメモリ１２から読み出される照合データの読出しタイミングは、シリアルデータ取込部１１からシリアル動作コンパレータ１３に出力される転送データの出力タイミングと同期させても良いし、あるいは、照合データとは非同期に、予めコンペアレジスタCR（データレジスタ）に格納しておいても良い。いずれにしても、図１から明らかなように、シリアル動作コンパレータ１３は、転送データの各ビットと照合データの各ビットとを並列に照合するものであることに留意すべきである。
【００５０】
さらに、シリアル動作コンパレータ１３は、Nビットの転送データと照合データとの比較をパラレルに行うが、それによって生成されるN個の比較結果の判定はシリアルに実行することを特徴としており、その意味で本明細書ではこれを「シリアル動作コンパレータ」と定義している。従って、判定回路は、後述するように、シリアルデータ取込部１１内のデータが1ビットシフトされる時間内で、前記N個の比較結果の判定を行うことができるように回路設計されている。判定結果は、照合結果を示す検索出力Xとしてシリアル動作コンパレータ１３から出力される。
【００５１】
かかるデータ照合装置の動作を説明するために、初めに図５を参照して転送データと照合データの関係について記載する。シリアル転送経路を介して転送されるデータは、転送データ受取部１１として機能するシフトレジスタSRに１ビットずつシリアルに取り込まれる。このシフトレジスタSRは、転送経路上に設けても良いし、あるいは、転送されるデータを分岐させて取り込むようにしても良い。転送データ受取部１１のシフトレジスタSRに取り込まれる転送データは、Dn乃至Dn+9の１０ビットのシリアルデータとして転送クロックによるタイミング制御のもと、順次シフト動作を繰り返しながら取り込まれることになる。なお、転送データ受取部１１のシフトレジスタSRのビット数は、１０ビットに限られることなく、検索データのビット数に応じて適宜任意の数のビット構成とすることができる。
【００５２】
一方、この転送データと照合されるべきデータは、登録データメモリ１２から照合データP0〜P9として読み出される。なお、登録データメモリ１２の設置場所がデータ照合装置１０から物理的に離間している場合には、メモリから読み出された必要な登録データを記憶するための登録データレジスタ（バッファでも可）をデータ照合装置内に設けておくことも出来る。
【００５３】
図５に図示されたように、転送データ（Dn〜Dn+9）と登録データ（P0〜P9）の対応する各ビットは、シリアル動作コンパレータ１３中のパラレルデータ比較部（COM）１４（この例では、１０ビット構成）に並列に入力される。パラレルデータ比較部１４は、転送データと照合データの各ビットを比較するために１０個の２入力論理ゲート群からなる。ここで、比較処理に好適な論理ゲートとしては、図６（Ａ１）に記載の２入力排他的論理和（EXOR）ゲート回路G0、もしくは、図６（Ｂ１）に記載の２入力否定排他的論理和（EXNOR）ゲート回路G0が有効である。なお、使用可能なゲート回路としては、転送データと照合データの各ビットの値の一致／不一致を識別する論理演算機能を有するものであればよいが、各ゲートの入力数は少ない方が好ましい。前記ゲート回路の真理値表は、図６（Ａ２）あるいは（Ｂ２）のようになる。いずれを選ぶかは、回路の設計基準（ハイアクティブ設計、あるいはローアクティブ設計）に合わせれば良い。ここでは、パラレルデータ比較部（COM）１４として、図６（Ａ１）に示す排他的論理和（EXOR）ゲートを１０個並列に設けた２入力論理ゲート群を例に説明する。
【００５４】
図７は、パラレルデータ比較部１４において比較される転送データと照合データの関係を説明するためのタイミング遷移図である。ある時刻T1において、転送データが取り込まれる転送データ受取部１１としてのシフトレジスタSR（図７では、8ビット構成のシフトレジスタを参照番号１１を以って例示している）には、データD1〜D8が取り込まれたものとする。一方、照合データは、データP1〜P8として登録データメモリ１２から読み出されてコンペアレジスタCRに格納されているものとする（図７では簡単のため参照番号１２としてコンペアレジスタCRを示してある）。照合データは、時間経過に関係なく内容が変化しないことは容易に理解され得るであろう。しかしながら、転送データは、転送タイミング（シフトレジスタ１１のシフトタイミング）に応答して、時刻T1に続く時刻T2、さらに時刻T3でその内容は順次変化する。すなわち、時刻T1から１ビットシフトした時刻T2では、各ビットが左に１ビットシフトされて、最上位ビット（MSB）がD2となり、最下位ビット（LSB）には新たなデータビットD9が取り込まれる。更に、次の時刻T3では、全体が１ビット左シフトされて、最上位ビットがD3となり、最下位ビットにはD9に続くD10が取り込まれる。このように、転送タイミングに応答して１ビットずつシフトしながらシフトレジスタ１１の格納内容は転送データに合わせて順次変化し続ける。
【００５５】
以上の動作を言い換えれば、本発明のデータ照合装置では、照合されるべき転送データは、転送タイミングに応じて１ビットずつ内容が更新されるも、照合データの内容は変化することなく転送データがビットシフトされる毎にその全ビットが比較されることになる。例えば、照合データのビットP1は、シフトタイミングに合わせてシフトされる転送データの全てのビットD1〜Dnと順次比較されることが理解されよう。また、このようにすることで、後述するように、転送データが可変長であっても処理手順を変えることなく照合処理ができるということに留意されたい。
【００５６】
図８は、シリアル動作コンパレータ１３の内部機能ブロック図で、特に、比較処理を行うパラレルデータ比較回路１４と判定処理を行う判定回路１５を開示したものである。転送データDn〜Dn+9と照合データP1〜P9の対応する各ビットを比較する比較回路１４については、図５乃至図７で説明したのと同様のもので良い。故に、判定回路１５の機能と動作について以下に詳述する。
【００５７】
判定回路１５に要求される機能は、比較回路１４から出力される比較結果信号Co0〜Co9を受けて一致／不一致の検出、あるいは、一致／不一致の数、もしくは、連続する一致／不一致の数等、比較結果が予め決められた検索条件に合致しているか否かを判定することである。故に、検索条件に応じて判定回路の回路構成自体を適宜変更することは可能である。しかしながら、判定開始から判定終了までの時間は、転送データが１ビットシフトされる時間と同じか、それよりも短い必要があることに注意すべきである。以下に、それぞれ異なる検索条件における実施の形態について具体的に説明する。
【実施例１】
【００５８】
図９は、全ビット一致の検索条件を満足する判定回路を構成する論理ゲート回路図である。本実施例は、検索単位が１０ビットの例を示しており、従って１０個のORゲートが直列に接続される構成となる。図８の比較回路１４から出力される比較結果信号Co0〜Co9の最下位ビット（LSB）の信号Co9が、ORゲート１６の一方の入力端に印加される。このORゲートの他端には論理０（接地レベル）の信号が印加される。ORゲート１６の出力端は、次段のORゲートの一方の入力端に接続され、当該ORゲートの他端には比較結果信号Co8が印加される。以下同様の構成で合計１０個のORゲートが順次直列に接続され、最終段のORゲートには比較結果信号の最上位ビット（MSB）の信号が印加される。
【００５９】
なお、ここでは比較回路１４を構成する論理ゲート群として排他的論理和（EXOR）ゲートの使用を想定しているため、判定回路にORゲート（すなわち、一致信号のレベルが論理０となる）を使用しているが、一致信号のレベルを論理１とした場合には２入力のANDゲートをORゲートの代わりに使用しつつ最下位ANDゲートの入力他端を論理１にすれば良いことは容易に理解され得ることである。
【００６０】
次に、図９の全一致判定回路の動作を説明する。比較結果を示す信号Co0〜Co9の論理レベルが全て「０」であれば、最終段のORゲート（MSB）の出力は論理０となり、一方、比較結果信号の中に１つでも論理「１」（不一致信号）があれば、最終段のORゲートの出力は論理１となる。従って、この最終段のORゲート（MSB）出力を検索出力Xとして取り出すことで、ある時刻におけるシフトレジスタSR（図５の転送データ受取部１１）内の転送データに対する全一致検索（照合判定）が可能となる。この判定動作は、転送データが１ビットシフトされる毎に繰り返し実行される。かかる判定処理を繰り返すことで、照合（登録）データの全ビットと一致する転送データがシフトレジスタ１１に存在する時、当該転送データがどの照合データと一致するかを検出することが出来る。
【００６１】
図９に示すように、判定回路として複数のORゲートを直列接続した論理ゲート群を使って論理判定する場合、各ORゲートの出力を確定し、これを次段のORゲートに伝搬するためのタイミング制御は、クロック発生回路CG１からの制御クロックで行われる。図１０（Ａ）は、照合されるべきデータが取り込まれるシフトレジスタ１１のシフト動作を制御するシフトレジスタ制御クロックの波形図で、同図（Ｂ）は判定回路を構成する図９記載のORゲート群に使用されるタイミング制御クロックの波形図である。図から明らかなように、シフトレジスタ制御クロックがアクティブの期間に、N個のタイミング制御クロックが発生される。すなわち、図９のクロック発生回路CG1は、シフトレジスタ制御クロックをN倍に逓倍したクロックを発生し、このクロックで判定回路の各ORゲートが順次直列に制御される。このようにすることで、シフトレジスタ１１が１ビットシフトする間にN個のORゲートの各出力がシリアルに論理演算されて、最終段のORゲートから判定結果（検索出力）Xが出力される。その結果、シフトレジスタに１ビットの転送データが取り込まれる度に、比較回路１４で生成されたN個の比較結果出力を判定回路１５で総合判定することができる。
【００６２】
換言すれば、照合処理は転送クロックに合わせてNビットデータをパラレルに比較し、判定処理は転送クロックをN倍したクロックでN個の比較出力をシリアルに論理演算するようにしたことが、本実施例の特徴と云える。そして、これが、シリアル動作コンパレータ１３の基本動作となることを理解されたい。
【００６３】
なお、判定回路１５を構成するORゲート群として照合の処理単位（実施例では、１０ビット）に等しい１０個のORゲートを直列接続した例を示したが、1段目のORゲート（図９の１６）を省略して２段目のORゲートに比較結果信号Co8とCo9を入力するようにしても良い。この場合には、判定回路１５のORゲート数はN−１個（すなわち、９個）となり、その制御クロックも（N-1）倍の逓倍クロックが使用できる。
【実施例２】
【００６４】
実施例１では、全ビット完全一致の検索例について説明したが、類似データの検索では、転送データと照合データの一致ビット数が、類似条件を満足する比率以上であれば良いことになる。そのためには、図１１（Ａ）に示されるように、判定回路１５をカウンタ回路２０、参照レジスタ２１、比較回路２２、及びスイッチング回路２４で構成すれば良い。カウンタ回路２０は、比較結果が一致を示す信号の総数を計数する累算機能を有していれば良い。参照レジスタ２１には、類似条件を満足する数が予め設定されている。かくして、カウンタ回路２０の値と参照レジスタ２１の値の大小が比較回路２２で判定され、参照レジスタの値よりもカウンタ回路の値が大きければ（等しい場合も含む）類似データと判定され、小さければ非類似データと判定することが出来る。この判定結果は類似判定信号Xとして出力される。
【００６５】
また、図１１（Ｂ）のように、減算機能を持つプリセットカウンタ回路２３を用いても良い。プリセットカウンタ回路２３には、前述した参照レジスタ２１に設定される値が予めプリセットされており、比較回路にて生成される一致信号によって減算処理がなされアンダーフローした段階で類似判定信号Xが出力される。このような回路構成でも、類似判定は可能である。
【００６６】
なお、図１１においても、類似判定処理は、転送データが１ビットシフトされる期間で判定処理を完了する必要がある。そのために、（Ａ）、（Ｂ）いずれの回路においても、スイッチング回路２４が設けられている。このスイッチング回路２４は、比較回路１４から送られてくる比較結果信号Co0〜Co9をカウンタ回路２０に導くためのスイッチングゲート群からなり、各スイッチングゲートが図１０（Ｂ）に示したタイミング制御クロックに応答して比較結果信号Co0〜Co9を順番にカウンタ回路２０、あるいは、プリセットカウンタ回路２３に送るようにすることで、転送データが１ビットシフトされる期間で類似性の判定を行うことが出来る。
【００６７】
以上のような機能を有する判定回路を使用することで、一致するビット数が所定数に達した時に判定信号Xが出力される類似検索機能を持ったデータ照合装置を提供することが出来る。
【実施例３】
【００６８】
図１２には、転送データ用のシフトレジスタ１１の中に参照データと一致するビットが連続して何ビットあるかを判定するための判定回路１５が開示されており、検索ビット長が可変長のデータ照合に適合するものである。この判定回路１５は、全ビット一致判定を行う図９記載の判定回路と同じORゲート１７の直列回路を有している。なお、ここではデータの転送方向とは逆方向にORゲートが並べられている。このようにすることで、照合すべきデータが可変長のデータであっても、シフトレジスタ１１の最上位ビット（MSB）を起点として、これに続くm（m≦N）ビットのデータ検索が出来るようになる。
【００６９】
さらに、図１２では、一致するビットが何ビット連続しているか、もしくは、どこまでが一致するビット列であるかを特定するために、位置検出回路２５が設けられている。位置検出回路２５は、直列接続されたORゲートの各出力の論理値が格納されるレジスタ機能を有しており、格納された論理値から連続一致データのビット数、もしくは、ビット位置を特定することができる。
【００７０】
図１３を参照して、連続一致データのビット数及びビット位置の検出方法について説明する。仮に、登録データメモリ１２のコンペアレジスタCRには、照合データとして「１１０１１１１０１０」のビット列が格納されているものとする。タイミングｔ１におけるシフトレジスタ１１の転送データが「１００１１０１１１０」の時、両者の比較結果（Co0〜Co9）は「０１０００１０１００」となる。この結果、図１２のORゲートの出力は「０１１１１１１１１１」となり、これが位置検出回路２５に設定される。この結果、タイミングｔ１でシフトレジスタ１１に存在する転送データの中で、連続一致ビットは最上位ビット（MSB）のみであることがわかる。
【００７１】
引き続くタイミングｔ２では、シフトレジスタ１１の全ビットが１ビット左（転送方向）にシフトされて、MSBにあったデータがシフトアウトし、LSBには新たなデータ「１」がシフトインされる。その結果、シフトレジスタ１１のデータは「００１１０１１１０１」となる。このタイミングｔ２における比較結果（Co0〜Co9）は「１１１０１００１１１」となるが、最上位ビット（MSB）の比較結果が「１」であるためORゲートの全出力は全て「１」となり、この最上位ビット（MSB）を始点とするデータは、照合データと不一致であると判定される。
【００７２】
更に、次のタイミングｔ３では、シフトレジスタの転送データが１ビット左シフトされて「０１１０１１１０１０」となるが、最上位ビット（MSB）の値が異なる為、タイミングｔ２と同様に不一致データと判定される。
【００７３】
次のタイミングｔ４では、シフトレジスタのデータが「１１０１１１０１００」となる。この時、比較結果（Co0〜Co9）は「００００００１１１０」となり、ORゲートの出力は「００００００１１１１」となる。位置検出回路２５には、先頭ビットから6番目のビットまで一致を示す「０」が並んでいるため、転送データの先頭から6ビット分のデータが照合データと一致していることがわかる。
【００７４】
このように、２入力のORゲートを直列接続した判定回路を用いることで、シフトレジスタに取り込まれ１ビットずつシフトされていく転送データに対して、その先頭ビット（MSB）から何ビットが照合データと一致するかを検出することができる。さらに、位置検出回路２５からは、連続して一致するビット数とその位置を検出することもできる。その結果、転送データの先頭ビットを的確に捉え、かつその後に続くデータに対しても連続一致ビット数を容易に識別することが出来るので、図１２記載の照合回路が、可変長データの検索や所定ビット長データの検索に適していることが理解できるであろう。
【００７５】
ここで、判定回路に２入力ORゲートの直列回路を用いる利点について説明する。
【００７６】
シフトレジスタに取り込まれる１０ビットの転送データと同じく１０ビットの照合データは、各ビットがパラレル（同時並列）に比較されるので、生成された１０ビットの比較結果を示す信号（Co0〜Co9）を、参考図として示した図１４の多入力ANDゲート（ORゲートでも可）２６に並列に印加する方法も理論上では考えられる。しかしながら、実際には比較結果信号（ここでは、１０個の信号Co0〜Co9）がANDゲート２６の入力端に印加されるタイミングにはズレがある。従って、このズレを加味してタイミング制御するためには、時間的に相当の余裕を持たせなければならない。言い換えるならば、１０個の信号のうち最も時間がかかるであろう信号よりも長めの時間を確保する必要がある。この時間ロスは、高速検索の大きな障害となる。加えて、多入力論理ゲートにおいても、入力数が増えれば増えるほど、出力論理確定までに時間がかかる。これも、高速検索には不適と云わざるを得ない。故に、本発明では、照合判定に２入力の論理ゲートを使用し、これを直列に接続してタイミング制御に要する時間ロスを極力抑えるように工夫している。なお、図１２において、初段のORゲート１７を省略して、2段目のORゲートに比較結果信号Co0とCo1とを入力するようにしても良いことは容易に推測できるであろう。
【実施例４】
【００７７】
一般に、情報検索とは、大量の情報の中から目的の情報を探し出すことを意味するが、その方法は、大別して「確認検索」と「特定検索」の２種類に分類できる。確認検索とは、転送される情報の中に目的の情報があるか否かを確認する検索である。この場合、目的とする情報を登録データとして登録データメモリ１２のコンペアレジスタ（以下、簡単のためコンペアレジスタ１２とも称する）に設定しておき、転送されてくる情報と逐次照合することで情報の存在を確認することができる。一方、特定検索の場合には、転送される情報と予め登録されている全ての情報を１対１で照合する必要がある。図１５は、かかる特定検索に適した情報検索システムの要部ブロック図である。
【００７８】
図１５に開示された情報検索システムは、情報転送路に設けられ、転送される情報をシリアルに取り込む転送データ用の１組のシフトレジスタ１１と、互いに併設された複数組（ｎ組）のデータ照合部（シリアル動作コンパレータ）１３と、データ照合部１３と対応して設けられた複数組（ｎ組）のコンペアレジスタ１２とを有する。転送データ用シフトレジスタ１１の各ビットは、併設された複数のデータ照合部１３の対応するビットに共通接続される。一方、複数のコンペアレジスタの各ビットも対応するデータ照合部１３の各ビットに共通接続されている。例えば、転送データが取り込まれるシフトレジスタ１１の最上位ビット（MSB）Dｎは、併設されている複数のデータ照合部１３の各C0ビットに共通接続され、同じく複数併設されているコンペアレジスタ１２の各最上位ビット（MSB）P0は、夫々対応するデータ照合部のビットC0に接続される。このように、転送データが取り込まれる1組のシフトレジスタに対して、複数組のデータ照合部１３と複数組のコンペアレジスタ１２とを一次元方向に設置することにより、転送されるデータを同時に複数の照合データと比較判定することが出来る。
【００７９】
図１５の情報検索システムによれば、転送データは、夫々異なる複数の照合データと同時並列的に照合される。従って、複数設けられたコンペアレジスタ１２の各々に内容の異なる照合データを設定しておくことで、同じタイミングで複数の照合処理を行うことが出来、検索情報の特定を高速化することができる。
【００８０】
さらに、図１６に示すように、転送データ取り込み用の１組のシフトレジスタ１１に対して、図１５に図示した複数のデータ照合部１３及びコンペアレジスタ１２を２次元方向に設けることもできる。これによれば、データ転送中に、大量のデータを同時に照合することができ、さらに高速な検索システムを提供することが出来る。
【００８１】
更に発展させて、図１７のように、図１６記載のデータ照合装置３０を複数組（図１７では２組）並列に設けることで、同時照合可能なデータ数をさらに増やすことも出来る。この場合、転送データが取り込まれるシフトレジスタ１１も複数組必要になるが、データ転送路を分岐して各シフトレジスタに同じ転送データDが取り込まれるようにすればよい。
【００８２】
上述したように、データ転送方向に対して複数のデータ照合装置を並列に設けて検索速度を向上することが出来るが、図１８に示すようにデータ照合装置（データ照合部）１３をデータ転送方向に直列に設けても良い。図１８（Ａ）は、2組のデータ照合装置をデータ転送路の異なる場所に直列に挿入した例であり、同図（Ｂ）は転送データを複数の場所から分岐させてデータ転送路に併設した例を示している。なお、データ照合装置をデータ転送方向に直列に介装した場合、各照合装置の照合タイミングにズレを生じるが、このズレはデータ転送中に十分吸収することができるため高速検索に実質的な影響を与えることはない。
【００８３】
以上説明したように、本発明のデータ照合装置は、EXORゲートとORゲートまたはEXNORゲートとANDゲートを基本構成要素とする極めて簡単かつ小面積の論理ゲート回路で照合機能を実現することが出来るので、LSIのような集積回路チップに容易に搭載することが可能である。従って、照合用のデータ（登録データ）を複数のメモリチップに分散して記憶させ、各メモリチップに本発明のデータ照合回路を組み込むことであらゆる場所に設置可能な小型のデータ照合装置を提供することが出来る。そのため、図１９に示したように、データ転送経路上のいずれの場所にも容易に取り付けることが出来る。例えば、照合データが保管されているクラウドサーバの中や、転送されるデータの中継を担当するリレーサーバの中、あるいは、携帯端末、車載用端末、個人の住居や企業のビル、等々、ネットワークを介して送信（転送）されるデータの経路上であればどこに取り付けても不具合が生じることはない。
【００８４】
また、照合可能なデータは、文字、数字、記号等のシンプルな情報から音声や画像等の複雑な情報まで幅広く対応することが出来るので、極めて広範囲な検索用途に適用できることも理解され得るであろう。
【産業上の利用可能性】
【００８５】
以上説明したように、本発明によれば、情報転送と情報検索とをリアルタイムで実行できる高速情報検索システムを実現することができる。さらに、複雑なアルゴリズムを使ったソフトウェアに頼ることなく、それよりも早く検索結果を得ることが出来る。また、回路構成も簡単で専有面積も小さいが故に、ICチップの余白部に容易に形成することが出来るので、情報検索を必要とするあらゆるシステムに適用することができる。
【００８６】
特に、本発明のデータ照合装置は、膨大な情報の検索が要求されるビッグデータの解析や人工知能のコア部品として極めて有効かつ重要であるといえる。
【符号の説明】
【００８７】
１・・被照合者
２・・カメラ
３・・通信ネットワーク
４・・認証センター
５・・データ照合機能ブロック
６，８・・シリアル−パラレル変換処理部
７・・登録データベース
９・・パラレルデータ比較部
１０・・データ照合部
１１・・シリアルデータ取込部（シフトレジスタ）
１２・・登録データメモリ
１３・・シリアル動作コンパレータ
１４・・パラレルデータ比較回路
１５・・判定回路
１６，１７・・ＯＲゲート
２０・・カウンタ回路
２１・・参照レジスタ
２２・・比較回路
２３・・プリセットカウンタ回路
２４・・スイッチング回路
２５・・位置検出回路
２６・・ＡＮＤゲート
３０・・データ照合装置
【図１】
2018005292.tif 000003
【図２】
2018005292.tif 000004
【図３】
2018005292.tif 000005
【図４】
2018005292.tif 000006
【図５】
2018005292.tif 000007
【図６】
2018005292.tif 000008
【図７】
2018005292.tif 000009
【図８】
2018005292.tif 000010
【図９】
2018005292.tif 000011
【図１０】
2018005292.tif 000012
【図１１】
2018005292.tif 000013
【図１２】
2018005292.tif 000014
【図１３】
2018005292.tif 000015
【図１４】
2018005292.tif 000016
【図１５】
2018005292.tif 000017
【図１６】
2018005292.tif 000018
【図１７】
2018005292.tif 000019
【図１８】
2018005292.tif 000020
【図１９】
2018005292.tif 000021