(57)【要約】  出力と、バイオメトリックデータ項目を獲得するための入力と、メモリと、プロセッサとを備えるバイオメトリックマッチング装置において、メモリが、各テンプレートがテンプレート識別子を備える、バイオメトリックデータ項目の複数のテンプレートが記憶されるテンプレートデータベースと、各シーケンスが、記憶されたシーケンス順でテンプレート識別子に対応するデータを備え、且つ他のデータ又は他のデータと関連をもつためのシーケンス識別子を備える、複数のシーケンスが記憶されるシーケンスデータベースとを備える。この装置は、ユーザが一連のバイオメトリックデータ項目をその入力に入力した後で、各項目をテンプレートと比較することにより、各入力済みの項目をテンプレートデータベース内のテンプレートに突き合わせてマッチングするように構成されるマッチング機構を備えている。【選択図】図１
2010507161.tif 000002
【特許請求の範囲】
【請求項１】
出力と、バイオメトリックデータ項目を獲得するための入力と、メモリと、プロセッサとを備えるバイオメトリックマッチング装置であり、
前記メモリが、
各テンプレートがテンプレート識別子を備える、バイオメトリックデータ項目の複数のテンプレートが記憶されるテンプレートデータベースと、
各シーケンスが、記憶されたシーケンス順でテンプレート識別子に対応するデータを備え、且つ他のデータ又は他のデータと関連をもつためのシーケンス識別子を備える、複数のシーケンスが記憶されるシーケンスデータベースと
を備える、前記バイオメトリックマッチング装置であって、
ユーザが一連のバイオメトリックデータ項目を前記入力に入力した後で、各項目をテンプレートと比較することにより、また、前記入力済みの項目に基づいて所定のマッチング基準を満たすいくつかのテンプレートを選択し、各入力済みの項目について、選択されたテンプレートのリストを作成することにより、各入力済みの項目を前記テンプレートデータベース内のテンプレートに突き合わせてマッチングするように構成されるマッチング機構を備え、
前記マッチング機構が、前記リストを前記メモリ内で、前記一連の項目内の項目の入力順に対応するリスト順で記憶するように構成され、且つ、シーケンスを前記シーケンスデータベースから識別するように構成され、その場合、前記シーケンス順になっている、対応するテンプレート識別子のそれぞれが、選択されたテンプレートの前記リスト内に含まれる選択されたテンプレートと関連をもち、前記選択されたテンプレートが、前記シーケンス順になっている前記識別子の位置に対応する、前記記憶されたリスト順のある位置にあり、
前記プロセッサが、ユーザを識別するために、前記識別されたシーケンスを使用し、対応する他のデータ又はシーケンス識別子を前記出力に送るように構成される、バイオメトリックマッチング装置。
【請求項２】
シーケンスの前記識別が、シーケンス順における第１の位置で記憶される、前記シーケンスデータベース内の前記テンプレート識別子に対応するテンプレートを、対応する位置における選択されたテンプレートの前記リストと比較し、前記マッチング機構が、前記第１の位置における前記比較されたテンプレートの類似点が所定の要件を満たすシーケンスを選択し、且つ前記選択されたシーケンスを残りのシーケンスの集合として記憶することによって、前記マッチング機構によって行われ、前記マッチング機構が、残りのシーケンスの前記集合だけから前記シーケンスを識別するように構成される、請求項１に記載のバイオメトリックマッチング装置。
【請求項３】
シーケンスの前記識別が、前記シーケンス順における第２の位置で記憶される、残りのシーケンスの前記集合内の前記テンプレート識別子に対応するテンプレートを、対応する位置における選択されたテンプレートの前記リストと比較し、前記マッチング機構が、前記第２の位置における前記比較されたテンプレートの類似点が所定の要件を満たすシーケンスを選択し、且つ前記選択されたシーケンスをさらに残りのシーケンスの集合として記憶することによって、前記マッチング機構によって行われ、前記マッチング機構が、さらに残りのシーケンスの前記集合だけから前記シーケンスを識別するように構成される、請求項２に記載のバイオメトリックマッチング装置。
【請求項４】
シーケンスの識別が、テンプレートの前記比較を、複数の位置、好ましくは各位置で、又は前記さらに残りのシーケンスがゼロに減少するのにかかるのと同数の位置について繰り返し、識別に使用されるさらに残りのシーケンスの前記集合を、各比較の後で前記選択されたシーケンスに削減することによって、前記マッチング機構によって行われる、請求項３に記載のバイオメトリックマッチング装置。
【請求項５】
前記所定の要件が、前記テンプレートが（実質的に）同一であることである、請求項２〜４のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項６】
前記入力を使用していくつのバイオメトリックデータ項目が入力されたか記録する入力測定デバイスを備える、請求項１〜５のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項７】
前記マッチング機構が、記録されている入力済みのバイオメトリックデータ項目の数と同じ数のテンプレート識別子を有するシーケンスデータベース内のシーケンスだけから識別されるように構成される、請求項６に記載のバイオメトリックマッチング装置。
【請求項８】
前記テンプレートデータベースと前記シーケンスデータベースが、単一のデータベースの一部を形成する、請求項１〜７のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項９】
前記テンプレート識別子が、対応するシーケンスと同じテーブル内に位置するなど、（１つ又は複数の）前記データベース内の位置を備える、請求項１〜８のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項１０】
互いに通信する複数のサーバを備え、前記シーケンスデータベース及び前記テンプレートデータベースが別々のサーバ上で記憶され、及び／又は前記メモリが２つ以上のサーバ上に位置し、及び／又は前記プロセッサが、前記複数のサーバ上のマルチプロセッサを備える、請求項１〜９のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項１１】
前記バイオメトリック項目が指紋の画像である、請求項１〜１０のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項１２】
前記シーケンスデータベース内のシーケンスが、同じ個人からの様々な指の指紋のテンプレートに対応するテンプレート識別子を備える、請求項１１に記載のバイオメトリックマッチング装置。
【請求項１３】
１つ又は複数の比較された入力済みの項目とテンプレート、好ましくは各比較された入力済みの項目とテンプレートについて、検証類似性値を生成し、それを前記メモリ内で記憶する、請求項１〜１２のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項１４】
前記マッチング機構が、各識別されたシーケンスに対応する前記比較されたテンプレートに対応する検証類似点を比較することにより、前記シーケンスデータベースから識別された複数のシーケンスから選択を行うように構成され、その場合、前記シーケンス順になっている、対応するテンプレート識別子のそれぞれが、選択されたテンプレートの前記リスト内に含まれる選択されたテンプレートと関連をもち、前記選択されたテンプレートが、前記シーケンス順になっている前記識別子の位置に対応する、前記記憶されたリスト順のある位置にあり、前記プロセッサが、ユーザを識別するために、前記選択されたシーケンスを使用し、対応する他のデータ又はシーケンス識別子を前記出力に送るように構成される、請求項１３に記載のバイオメトリックマッチング装置。
【請求項１５】
前記検証類似点が、好ましくは０と１である最小値と最大値の間で正規化される、請求項１３又は１４に記載のバイオメトリックマッチング装置。
【請求項１６】
前記シーケンスが、
【数１】
2010507161.tif 000008
と実質的に同等の式を使用することによって、前記検証類似点から選択され、上式で、Ｘは、１などのｂの最大値以上の定数であり、ｋは、前記シーケンス順における位置であり、Ｉは、検証類似点／テンプレートの数に対応し、最も高いＦ値を有する前記識別されたシーケンスが選択される、請求項１４又は１５に記載の装置。
【請求項１７】
前記所定のマッチング基準が、前記検証類似点が所定の閾値以上であるかどうか判定することを含む、請求項１３〜１６のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項１８】
前記テンプレートデータベースが、指紋又は網膜スキャンなどバイオメトリックのタイプ、及び／又は前記バイオメトリックを測定するために使用されたリーダのタイプを識別する、複数のテンプレート、好ましくは各テンプレートに対応するソースデータを備える、請求項１〜１７のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項１９】
たとえば前記一連の入力済みの項目内の値の位置に応じて、及び／又は前記ソースデータに応じて、異なる項目について異なる閾値が記憶される、請求項１７又は１８に記載のバイオメトリックマッチング装置。
【請求項２０】
前記テンプレートが、ＢｉｏＡＰＩ標準のサブセットに一致する、請求項１〜１９のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項２１】
選択されたテンプレートの前記リストが、ダイナミックアレイ及び／又はベクトルを備える、請求項１〜２０のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項２２】
前記シーケンスデータ及び／又は選択されたテンプレートのリストが、ダイナミックアレイ及び／又はベクトルを備える、請求項１〜２１のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項２３】
ユーザが、前記入力を介して入力することにより、テンプレート及び／又はシーケンスを前記データベース内に追加することができ、好ましくは、テンプレートが追加されるシーケンスが、自動的に長さが調整される、請求項１〜２２のいずれか一項に記載のバイオメトリックマッチング装置。
【請求項２４】
コンピュータシステムを使用してバイオメトリックをマッチングする方法であって、
各テンプレートがテンプレート識別子を備える、バイオメトリックデータ項目の複数のテンプレートを記憶するステップと、
各シーケンスが、記憶されたシーケンス順でテンプレート識別子に対応するデータを備え、且つ他のデータ又は他のデータと関連をもつためのシーケンス識別子を備える、複数のシーケンスを記憶するステップと、
ユーザが一連のバイオメトリックデータ項目を前記入力に入力した後で、各項目をテンプレートと比較することにより、また、前記入力済みの項目に基づいて所定のマッチング基準を満たすいくつかのテンプレートを選択することにより、各入力済みの項目をテンプレートデータベース内のテンプレートに突き合わせてマッチングするステップと、
各入力済みの項目について、選択されたテンプレートのリストを作成するステップと、
前記リストをメモリ内で、前記一連の項目内の項目の入力順に対応するリスト順で記憶するステップと、
記憶されたシーケンス順でテンプレート識別子に対応するデータを備える、且つ他のデータ又は他のデータと関連をもつためのシーケンス識別子を備えるシーケンスをシーケンスデータベース内で識別するステップであり、前記シーケンス順になっている、対応するテンプレート識別子のそれぞれが、選択されたテンプレートの前記リスト内に含まれる選択されたテンプレートと関連をもち、前記選択されたテンプレートが、前記シーケンス順になっている前記識別子の位置に対応する、前記記憶されたリスト順のある位置にある、ステップと、
ユーザを識別するために、前記識別されたシーケンスを使用し、対応するデータを出力に送るステップと
を含む方法。
【請求項２５】
請求項２〜２３のいずれか一項の特徴に対応するステップを含む、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バイオメトリックマッチング装置に関し、バイオメトリック、特にバイオメトリックのシーケンスをマッチングする方法に関する。
【背景技術】
【０００２】
多数の様々な機能のために、特にその機能があるレベルのセキュリティを必要とする場合、バイオメトリックリーダ及びマッチングシステムを使用することが知られている。そのような既知のシステムは、個人の網膜又は指紋の画像を撮り、マッチングアルゴリズムを使用し、その画像を、対応する個人の身元の詳細と共に記憶されている記憶画像に比較することによってその個人が本人であることを決定することができる。これらは、たとえばパスワードの代わりに、又はパスワードに加えて使用し、コンピュータシステムへのアクセスを可能にすることができる。
【０００３】
これらのシステムはどれも、複雑なバイオメトリックリーダ及びアルゴリズムを必要とする。より単純なリーダ又はアルゴリズムが使用された場合、これは、フォールスポジティブな結果、又はフォールスネガティブな結果を引き起こすおそれがある。フォールスポジティブな結果は、たとえば高度な機密を扱うコンピュータシステムにセキュリティ許可を有していない個人がアクセスすることを許すおそれがあるため、特に問題である。
【０００４】
また、個人に複数の指の指紋をスキャンするように要求することによるなど、あるシステムに入るのに、複数の指紋をスキャンすることを要求することができることも提案されている。また、セキュリティの特別な度合いを追加するために、設定されたシーケンスでこれを行うことができることも提案されている。
【０００５】
しかし、使用されるマッチングアルゴリズムは、単一のバイオメトリックと共に使用するように設計されており、複数のエントリと共に使用されたときには遅く、非効率である。さらに、これらのアルゴリズムはどれも、多数のフォールスネガティブ又はフォールスポジティブを引き起こし、個人が誤って拒絶される、又は受け入れられるおそれがある。また、これらのアルゴリズムは、フォールスポジティブ又はフォールスネガティブを防止するのに十分な情報を受け取るために、各バイオメトリックをスキャンするのに長い時間を必要とする可能性がある。マッチングプロセスが、分離されたバイオメトリックの場合にそうであるように各指紋について固有のマッチを探すことになることによって問題が引き起こされる。したがって、複数のマッチが存在する状況があればそれを解決するのに時間がかかる。フォールスマッチが確実にないようにするためのプロトコルは、正しいが不完全にスキャンされた指紋をも拒絶する可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、上記のシステムを改善すること、特に、一連の順序付けられたバイオメトリックを個人に正確且つ迅速にマッチングし、過度のコンピュータ処理力を必要としない、一連の順序付けられたバイオメトリックと共に使用するためのシステムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、出力と、バイオメトリックデータ項目を獲得するための入力と、メモリと、プロセッサとを備えるバイオメトリックマッチング装置において、メモリが、各テンプレートがテンプレート識別子を備える、バイオメトリックデータ項目の複数のテンプレートが記憶されるテンプレートデータベースと、各シーケンスが、記憶されたシーケンス順でテンプレート識別子に対応するデータを備え、且つ他のデータ又は他のデータと関連をもつためのシーケンス識別子を備える、複数のシーケンスが記憶されるシーケンスデータベースとを備える、装置であって、ユーザが一連のバイオメトリックデータ項目をその入力に入力した後で、各項目をテンプレートと比較することにより、また、入力済みの項目に基づいて所定のマッチング基準を満たすいくつかのテンプレートを選択し、各入力済みの項目について、選択されたテンプレートのリストを作成することにより、各入力済みの項目をテンプレートデータベース内のテンプレートに突き合わせてマッチングするように構成されるマッチング機構を備え、マッチング機構が、リストをメモリ内で、一連の項目内の項目の入力順に対応するリスト順で記憶するように構成され、且つ、シーケンスをシーケンスデータベースから識別するように構成され、その場合、シーケンス順になっている、対応するテンプレート識別子のそれぞれが、選択されたテンプレートのリスト内に含まれる選択されたテンプレートと関連をもち、選択されたテンプレートが、シーケンス順になっている識別子の位置に対応する、記憶されたリスト順のある位置にあり、プロセッサが、ユーザを識別するために、識別されたシーケンスを使用し、対応する他のデータ又はシーケンス識別子を出力に送るように構成される、装置が提供される。
【０００８】
本発明の第２の態様によれば、コンピュータシステムを使用してバイオメトリックをマッチングする方法において、各テンプレートがテンプレート識別子を備える、バイオメトリックデータ項目の複数のテンプレートを記憶するステップと、各シーケンスが、記憶されたシーケンス順でテンプレート識別子に対応するデータを備え、且つ他のデータ又は他のデータと関連をもつためのシーケンス識別子を備える、複数のシーケンスを記憶するステップと、ユーザが一連のバイオメトリックデータ項目を入力に入力した後で、各項目をテンプレートと比較することにより、また、入力済みの項目に基づいて所定のマッチング基準を満たすいくつかのテンプレートを選択することにより、各入力済みの項目をテンプレートデータベース内のテンプレートに突き合わせてマッチングするステップと、各入力済みの項目について、選択されたテンプレートのリストを作成するステップと、リストをメモリ内で、一連の項目内の項目の入力順に対応するリスト順で記憶するステップと、記憶されたシーケンス順でテンプレート識別子に対応するデータを備える、且つ他のデータ又は他のデータと関連をもつためのシーケンス識別子を備えるシーケンスをシーケンスデータベース内で識別するステップであり、シーケンス順になっている、対応するテンプレート識別子のそれぞれが、選択されたテンプレートのリスト内に含まれる選択されたテンプレートと関連をもち、選択されたテンプレートが、シーケンス順になっている識別子の位置に対応する、記憶されたリスト順のある位置にある、ステップと、ユーザを識別するために、識別されたシーケンスを使用し、対応するデータを出力に送るステップとを含む方法が提供される。
【０００９】
本発明の任意の態様によれば、次の通りである。
【００１０】
シーケンスの識別は、シーケンス順における第１の位置で記憶される、シーケンスデータベース内のテンプレート識別子に対応するテンプレートを、対応する位置における選択されたテンプレートのリストと比較し、第１の位置における比較されたテンプレートの類似点が所定の要件を満たすシーケンスを選択し、且つ選択されたシーケンスを残りのシーケンスの集合として記憶し、残りのシーケンスのその集合だけからシーケンスを識別することによって行われることが好ましい。より好ましくは、シーケンス順における第２の位置で記憶される、残りのシーケンスのその集合内のテンプレート識別子に対応するテンプレートを、対応する位置における選択されたテンプレートのリストと比較し、第２の位置における比較されたテンプレートの類似点が所定の要件を満たすシーケンスを選択し、且つ選択されたシーケンスをさらに残りのシーケンスの集合として記憶し、さらに残りのシーケンスのその集合だけからシーケンスを識別することによる。さらに好ましくは、マッチング機構により、テンプレートの比較を、複数の位置、好ましくは各位置で、又はさらに残りのシーケンスがゼロに減少するのにかかるのと同数の位置について繰り返し、識別に使用されるさらに残りのシーケンスのその集合を、各比較の後で選択されたシーケンスに削減することによる。所定の要件は、テンプレートが同一であることとすることができる。
【００１１】
好ましくは、入力を使用していくつのバイオメトリックデータ項目が入力されたか記録される。より好ましくは、シーケンスが、記録されている入力済みのバイオメトリックデータ項目の数と同じ数のテンプレート識別子を有するシーケンスデータベース内のシーケンスだけから識別される。
【００１２】
好ましくは、テンプレートデータベースとシーケンスデータベースが、単一のデータベースの一部を形成し、及び／又はテンプレート識別子が、対応するシーケンスと同じテーブル内に位置するなど、（１つ又は複数の）データベース内の位置を備える。
【００１３】
好ましくは、互いに通信する複数のサーバがあり、シーケンスデータベース及びテンプレートデータベースが別々のサーバ上で記憶され、及び／又はメモリが２つ以上のサーバ上に位置し、及び／又はプロセッサが、複数のサーバ上のマルチプロセッサを備える。
【００１４】
好ましくは、バイオメトリック項目が指紋の画像である。
【００１５】
好ましくは、シーケンスデータベース内のシーケンスが、同じ個人からの様々な指の指紋のテンプレートに対応するテンプレート識別子を備える。
【００１６】
好ましくは、本発明は、１つ又は複数の比較された入力済みの項目とテンプレート、好ましくは各比較された入力済みの項目とテンプレートについて、検証類似性値を生成し、それをメモリ内で記憶する。
【００１７】
好ましくは、各識別されたシーケンスに対応する比較されたテンプレートに対応する検証類似点を比較することにより、シーケンスデータベースから識別された複数のシーケンスから選択が行われ、その場合、シーケンス順になっている、対応するテンプレート識別子のそれぞれが、選択されたテンプレートのリスト内に含まれる選択されたテンプレートと関連をもち、選択されたテンプレートが、シーケンス順になっている識別子の位置に対応する、記憶されたリスト順のある位置にあり、ユーザを識別するために、選択されたシーケンスを使用し、対応する他のデータ又はシーケンス識別子を出力に送る。
【００１８】
好ましくは、検証類似点が、好ましくは０と１である最小値と最大値の間で正規化され、及び／又は所定のマッチング基準が、検証類似点が所定の閾値以上であるかどうか判定することを含む。
【００１９】
好ましくは、テンプレートデータベースが、指紋又は網膜スキャンなどバイオメトリックのタイプ、及び／又はそのバイオメトリックを測定するために使用されたリーダのタイプを識別する、複数のテンプレート、好ましくは各テンプレートに対応するソースデータを備える。より好ましくは、たとえば一連の入力済みの項目内の値の位置に応じて、及び／又はソースデータに応じて、異なる項目について異なる閾値が記憶される。
【００２０】
好ましくは、テンプレートが、ＢｉｏＡＰＩ標準のサブセットに一致し、及び／又は選択されたテンプレートのリストが、ダイナミックアレイ及び／又はベクトルを備える。
【００２１】
好ましくは、シーケンスデータ及び／又は選択されたテンプレートのリストが、ダイナミックアレイ及び／又はベクトルを備える。
【００２２】
好ましくは、ユーザは、入力を介して入力することにより、テンプレート及び／又はシーケンスをデータベース内に追加することができ、好ましくはここで、テンプレートが追加されるシーケンスが、自動的に長さが調整される。
【００２３】
次に、実施形態について、添付の図を参照して、例としてのみ述べる。
【図面の簡単な説明】
【００２４】
【図１】本発明によるマッチングシステムの概略図である。
【図２】テンプレートサーバのより詳細な概略図である。
【図３】シーケンスサーバのより詳細な概略図である。
【図４】本発明によるマッチングプロセスの流れ図である。
【発明を実施するための形態】
【００２５】
マッチングシステム１０が図１に示されている。マッチングシステム１０は、インターフェース１２と、エンジン２０と、出力１９と、外部検証サーバ４４とを備える。
【００２６】
インターフェース１２は、ユーザが操作可能であり、この実施形態では指紋スキャナであるが代替の実施形態では網膜スキャナなど任意のバイオメトリックスキャナ又はリーダを備えることができるバイオメトリックスキャナ１４と、エンジン２０への通信経路１６と、機能インターフェース１８とを備える。
【００２７】
バイオメトリックスキャナ１４は、指紋（或いは、網膜又は他のバイオメトリック）をスキャンし、指紋の、ある特徴の場所など入力データを備えるバイオメトリック入力信号を生成することが可能であり、この入力データを使用し、以下で述べるように、ユーザを識別することができる。バイオメトリックスキャナ１４は、設定された順序のユーザの指紋など、Ｎ個のバイオメトリック入力のシーケンスをスキャンし、そのシーケンスでＮ個のバイオメトリック入力信号のシーケンスを生成することが可能である。
【００２８】
機能インターフェース１８は、ユーザが、たとえばテンプレートのシーケンスを記録する（ｅｎｒｏｌｌ）するのか、テンプレートのシーケンスを検証するのか、それともマッチングシステム１０をシャットダウンするのか選択することによってマッチングシステム１０の所望の動作を入力することを可能にする。
【００２９】
出力１９は、エンジン２０から送られる情報に応じて、たとえばアクセスを許可する、又は許可しないことができる視覚画面又は別のサーバの形態をとることができる。出力１９は、機能インターフェース１８内に組み込まれてもよい。
【００３０】
エンジン２０は、好ましくは単一のアプリケーションであり、テンプレートサーバ２２と、シーケンスサーバ２４と、マッチングサーバ２６とを備える。サーバ２２、２４、２６のそれぞれは、好ましくはスタンドアロンであり、ＴＣＰ／ＩＰプロトコルを使用して動作する通信経路２８を介して通信する。
【００３１】
下記で述べる仕方でエンジンを実行するソフトウェアは、純粋なＪａｖａで書くことができる。
【００３２】
テンプレートサーバ２２上のテンプレートデータベースが、図２に詳細に示されている。テンプレートサーバ内には、合計Ｐ個のバイオメトリックテンプレート３２が記憶され、各テンプレートは、スキャナ１４から経路１６を介してサーバメモリに入力されたものとすることができる単一のバイオメトリック入力と関連をもつ。たとえば、任意の１つのバイオメトリックテンプレート３２は、スキャナ１４によって以前にスキャンされている指紋の、ある特長の場所を含むことができる。各バイオメトリックテンプレート３２は、関連するソース（ＳＲＣ）識別子３４と、固有のテンプレートＩＤ３６とを有する。
【００３３】
テンプレートサーバ２２は、テンプレート連結リスト（ｌｉｎｋｅｄ  ｌｉｓｔ）３０の形態にあるデータを備え、リスト３０は、各テンプレートに対する参照を、それらの固有のテンプレートＩＤ３６の形態で備える。
【００３４】
テンプレートサーバ２２は、バイオメトリックテンプレート３２を自動的に追加し、除去し、返すことができ、バイオメトリックテンプレート３２をいくつ記憶しつつあるか（Ｐ）を、また固有のテンプレートＩＤ３６のリストをレポートすることができる。
【００３５】
テンプレート３２は、「ビーンのような」（ｇｅｔ／ｓｅｔ）インターフェースを用いて、カスタマイズされた（ＦＰ＿ｘｘｘｘ）オブジェクトとして記憶することができる。
【００３６】
シーケンスサーバ２４上のシーケンスデータベースが、図３に詳細に示されている。シーケンスサーバ２４は、シーケンス連結リスト３８の形態で連結リストを備える点で、テンプレートサーバ２２と同様である。シーケンスサーバ２４は、関連する固有の整数識別子４２をそれぞれが有するシーケンスベクトル４０を記憶する。各シーケンスベクトル４０は、テンプレートサーバ２２の固有のテンプレートＩＤ３６に対応するＮ個の整数オブジェクトの順序リストを備える。Ｎ個の整数オブジェクトは、ベクトルとして記憶されることが好ましいが、ダイナミックアレイの代替の形態にあることもできる。
【００３７】
好ましくは、シーケンスサーバ２４の性質は、２つの同一のシーケンスベクトル４０又は固有の整数識別子４２が共存することができないというものである。したがって、各シーケンスベクトル４０及び固有の整数識別子４２は、真に固有である。
【００３８】
シーケンスサーバ２４では、（関連する固有の整数識別子４２と共に）シーケンスベクトル４０を追加し、シーケンス長に基づいてシーケンスベクトル４０及び固有の整数識別子４２を返し、保持されているシーケンスベクトル４０の数（以下、Ｍによって示される）、及び固有の整数識別子４２のリストを返すことができる。
【００３９】
シーケンスベクトル４０は、既存の固有のテンプレートＩＤ３６に対応する整数オブジェクトだけを備えることが好ましい。したがって、バイオメトリックテンプレート３２がテンプレートサーバから除去された場合、それを参照するどのシーケンスベクトル４０もシーケンスサーバ２４から除去される。
【００４０】
マッチングサーバ２６は、通信経路２８を介して、テンプレートサーバ２２及びシーケンスサーバ２４と、また外部検証サーバ４４と通信することが可能である。
【００４１】
外部検証サーバ４４は、バイオメトリック入力信号１６をバイオメトリックテンプレート３２のうちの１つと比較することができるプラットフォーム依存のＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＤＬＬ及び他のサードパーティのバイオメトリック検証ソフトウェアに対する、プラットフォーム非依存の「ソケットレベル」インターフェースを提供する。別法として、検証サーバは、エンジン２０内に組み込まれる。
【００４２】
外部検証サーバ４４は、経路１６を通じて受け取られたバイオメトリック入力信号とバイオメトリックテンプレート３２の類似性を表す適合値（ｆｉｔｎｅｓｓ  ｖａｌｕｅ）βを返す。マッチングサーバ２６は、適合値βを、ユーザによって規定された適合閾値αｎに突き合わせて比較することができ、適合閾値αｎは、１からＮの範囲に及ぶ、受け取られた各バイオメトリック入力信号ごとに固有のものとすることができる。この閾値は、関連するソース（ＳＲＣ）識別子３４に従って変わる可能性があり、ソース（ＳＲＣ）識別子３４それ自体は、テンプレートが参照するバイオメトリック（虹彩、指紋など）のタイプ、及び／又はデータを入力するために使用されたスキャナのタイプ、及び／又はＢＩＯＳ  ＩＤ、ネットワークカードのＭＡＣアドレス、若しくはＧＰＳ位置など非バイオメトリックソースを参照することができる。
【００４３】
外部検証サーバ４４とインターフェースするためのソフトウェアは、そのサーバを念頭に置いて書かれることを必要とする可能性がある。たとえば、プラットフォーム特有のアクセスが必要とされる場合、Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅを使用することができ、又は、たとえば、ＭＳ  Ｊ＃を、実装言語として使用することができる。
【００４４】
マッチングサーバプロセス１００の一例が図４に示されている。ステップＳ１０１では、ユーザがスキャナ１４に一連の指紋を入力する。次いで、バイオメトリック入力が指紋の画像から構築され、経路１６を介してエンジン２０に送られる。
【００４５】
次に、Ｓ１０２で、エンジン２０がバイオメトリック入力信号の数（Ｎ）を決定する。ステップＳ１０４では、（現在のバイオメトリック入力信号を表す）システム変数ｎが１（すなわち、第１のバイオメトリック入力信号）で設定される。ステップＳ１０６では、（現在のバイオメトリックテンプレート３２を表す）システム変数ｐが１（すなわち、テンプレートサーバ２２のデータベース内の第１のバイオメトリックテンプレート３２）で設定される。
【００４６】
ステップＳ１０８では、現在のバイオメトリック入力信号が、外部検証サーバ４４を使用して現在のバイオメトリックテンプレート３２に比較される。この比較により、テンプレート３２が入力にどの程度似ているかに基づいて類似性値が生成される。指紋の特徴を比較するものなど従来のマッチング機構を使用し、類似性値を生成することができる。次いで、１を完全マッチとして類似性値が０と１の間で変わるように、類似性値が浮動小数点範囲内に正規化され、適合値βとして記憶される。
【００４７】
ステップＳ１１０では、マッチングサーバ２６によって、βが、ユーザによって規定された適合閾値αｎに突き合わせて比較される。適合値βが適合閾値αｎ未満である場合には、バイオメトリックテンプレート３２が無視され、プロセス１００は、ステップＳ１１２にスキップする。適合閾値αｎ以上である場合には、ステップＳ１１１で、比較されたテンプレート３２に対応する固有のテンプレートＩＤ３６が候補のベクトルＣｎに追加される。
【００４８】
ステップＳ１１２では、システム変数ｐの値がテンプレートの数Ｐに等しいかどうか、すなわち、テンプレート３２のリスト全体が入力信号に比較されたかどうか判定される。等しくない場合、ステップＳ１１３で、システム変数ｐの値が増分され、プロセスはステップＳ１０８に戻る。
【００４９】
バイオメトリックテンプレートのリスト全体（すなわち、１つからＰ個のテンプレート）がバイオメトリック入力信号１６に比較されるまで、ステップＳ１０８からステップＳ１１３が繰り返される。この現在のバイオメトリック入力信号１６がテンプレート３２のリスト全体に比較された後で、システム変数ｎの値が、ＮすなわちステップＳ１０２で決定された入力の総数に等しいかどうか判定される。
【００５０】
Ｎ個のバイオメトリック入力信号１６のリスト全体が処理されるまで、ステップＳ１０８からステップＳ１１５が繰り返される。
【００５１】
ｎ＝Ｎになった後、ステップＳ１１６で、（下記で述べるように）シーケンスマッチングプロセスが開始される。
【００５２】
上記のプロセスにより、各バイオメトリック入力信号１６ごとに変数長Ｉの候補のベクトルＣｎが得られる（Ｉｎは、バイオメトリック入力ｎに関する候補のベクトルの長さである）。候補のベクトルＣｎそれぞれは、いくつかの候補の固有のテンプレートＩＤ３６を備える。候補の固有のテンプレートＩＤ３６それぞれは、ｃｎ，ｉという表記法によって表すことができ、ただしｎは、入力された系列（ｓｅｒｉｅｓ）内の、当該のバイオメトリック入力信号の位置として定義され、ｉは、ベクトルエントリ番号である。ｉ∈［１．．．Ｉｎ］であることに留意されたい。
【００５３】
したがって、候補のベクトルそれぞれは、
【表１】
2010507161.tif 000003
で構成される。
【００５４】
これは、「マッチングシナリオ」として知られ、図４のシーケンスマッチングプロセス１１６に対する入力である。
【００５５】
シーケンスマッチングプロセス１１６の意図は、マッチングシナリオにおける１つ又は複数（しかし好ましくは１つ）のシーケンスベクトル４０を識別すること、及び対応する固有の整数識別子４２を出力１９に送ることである。この固有の整数識別子４２は、ユーザを識別し、たとえば、他者が各自の身元を検証し、システムをシャットダウンすることを可能にする。
【００５６】
シーケンスマッチングプロセスの第１の実施形態は、上記のマッチングシナリオから、シーケンス［ｃ１，１，ｃ２，１，ｃ３，１，ｃ４，１．．．ｃＮ，１］から開始し、［ｃ１，１，ｃ２，１，ｃ３，１，ｃ４，１．．．ｃＮ，２］などがそれに続く可能なシーケンスすべてを生成する。
【００５７】
これにより、Ｉ１×Ｉ２×Ｉ３×．．．×ＩＮ個の可能な候補シーケンスが生成され、それらのすべてを、シーケンスサーバ２４内で保持されているＭ個のシーケンスベクトル４０のそれぞれに突き合わせてチェックしなければならない。
【００５８】
これは
【数１】
2010507161.tif 000004
回の探索となる。
【００５９】
改善された第２の実施形態は、バイオメトリック入力信号を、入力された系列の長さと同じ長さのシーケンスベクトル４０とだけ比較する（ＭＮ＝長さＮを有するシーケンスの数）。
【００６０】
これは
【数２】
2010507161.tif 000005
回の探索となる。
【００６１】
この場合、Ｓ１（Ｎ）≦Ｓ１である。
【００６２】
適切な長さ（ＭＮ）の、シーケンスサーバ２４内で保持されているシーケンスベクトル４０の数が、マッチングシナリオから生成された可能な候補シーケンスの数より少ない場合、第３の実施形態が有益である。すなわち、
【数３】
2010507161.tif 000006
【００６３】
これが真であるかどうかは、シーケンスサーバのポピュレーション（すなわち、シーケンスベクトル４０をいくつ記憶しているか）に、また、候補のベクトルのそれぞれの長さＩｎを決定する、ユーザによって規定された適合閾値αｎに依存する。実際には、これは、大抵の状況で発生することが見いだされる。
【００６４】
本発明によるマッチングプロセスの第３の実施形態は、以下のようなものである。すなわち、
１．バイオメトリック入力信号の長さにマッチする長さのシーケンスベクトル４０すべて（ＭＮ個のシーケンスベクトル４０）が、マッチングサーバのローカルメモリにコピーされる。
２．第１の候補ベクトルＣ１＝［ｃ１，１，ｃ１，２．．．］の各エントリ（すなわち、各固有のテンプレートＩＤ３６）が、各シーケンスベクトル４０の第１のエントリ（整数オブジェクト）のそれぞれに突き合わせてチェックされる（整数オブジェクトは固有のテンプレートＩＤ３６に対応することに留意されたい）。これは、Ｉ１×ＭＮ回の探索を必要とする。
３．ポジティブチェックをもたらさないシーケンスベクトル４０が削除され、Ｋ２≦ＭＮとしてＫ２個の残りの潜在的なシーケンスベクトル４０が残る。
４．第２の候補ベクトルＣ２＝［ｃ２，１，ｃ２，２．．．］の各エントリ（すなわち、各固有のテンプレートＩＤ３６）が、各シーケンスベクトル４０の第２のエントリ（整数オブジェクト）のそれぞれに突き合わせてチェックされる。これは、Ｉ２×Ｋ２回の探索を必要とする。
５．ポジティブチェックをもたらさないシーケンスベクトル４０が削除され、Ｋ３≦Ｋ２としてＫ３個の残りの潜在的なシーケンスベクトル４０が残る。
６．これは、
ａ．メモリ内にシーケンスベクトル４０が残っていない（Ｋｎ＝０）（これに関しては下記参照）、又は
ｂ．ｎ＝Ｎ（すなわち、Ｎ個の候補ベクトルのすべてが探索された）
になるまで、ｎ番目のエントリに対する候補ベクトルＣｎ（Ｋｎ個のベクトルを残す）を使用して続行する。
【００６５】
結果は、固有の整数識別子４２を返してもらうために、また出力１９に送信するためにシーケンスサーバ２４に送られ、たとえばユーザを識別するために使用することができる単一のマッチングシーケンスベクトル４０、又は２つ以上のマッチングシーケンスベクトル４０（これに関しては下記参照）となる可能性がある。
【００６６】
これはＳ２（Ｎ）回の探索となり、ただしＳ２（Ｎ）≦Ｓ１（Ｎ）であり、探索の数を削減することにより、プロセスを劇的に高速化する。また、最も遅い可能な結果は、Ｓ２＝Ｓ１であるが、現実には、非常に著しい速さの利点がわかるはずであることに留意されたい。
【００６７】
上記の方法により２つ以上のマッチングシーケンスベクトル４０が返される可能性がある。この可能性は、Ｍの値が大きくなるにつれて、また候補のベクトルのそれぞれの長さＩｎを決定する、ユーザによって規定された適合閾値αｎの値が不十分に設定されると増大する。
【００６８】
マッチングプロセスにより２つ以上（又は、おそらくはゼロ）の潜在的なシーケンスベクトル４０が返される場合、どのシーケンスベクトルが「最良の適合」か判定するために、潜在的なシーケンスベクトル４０を調べることが望ましい。本発明は、以下を使用することによってこれを実現する。
【００６９】
先に論じたように、各バイオメトリック入力信号１６が外部検証サーバ４４によって各バイオメトリックテンプレート３２に比較されたとき、適合値βが生成され、ユーザによって規定された適合閾値αｎに比較される。適合値βは、バイオメトリック入力信号とバイオメトリックテンプレート３２の類似性を表す。したがって、各候補シーケンスベクトル４０は、適合値の対応するベクトルＢｍ＝［βｍ，１，βｍ，２，βｍ，３．．．βｍ，Ｉｍ］（Ｉｍは、適合値のベクトルの長さである）を有するものとして理解することができる。
【００７０】
したがって、ピタゴラスの定理が単純な場合であるユークリッド距離測定に対する変形形態を使用して、各シーケンスベクトル４０ごとの適合値Ｆｍは、
【数４】
2010507161.tif 000007
によって表すことができる。
【００７１】
この計算の後で、Ｆｍの最も高い値を有する候補シーケンスベクトル４０が、上記のように固有の整数識別子４２を返すシーケンスサーバ２４に渡される。Ｆｍの２つの値が同一である、起こりそうもない場合には、インターフェース１８又は出力１９によってその状況がレポートされてもよい。
【図１】
2010507161.tif 000009
【図２】
2010507161.tif 000010
【図３】
2010507161.tif 000011
【図４】
2010507161.tif 000012
【国際調査報告】
2010507161.tif 000013
2010507161.tif 000014
2010507161.tif 000015