(57)【特許請求の範囲】
【請求項１】
特徴量ベクトルを所定のビット長のバイナリ列に変換するコンピュータに、
特徴量ベクトルを前記所定のビット長よりも長い第１ビット長のバイナリ列に変換する第１の変換規則を生成し、
前記生成した第１の変換規則を用いて、特定の複数の特徴量ベクトルを前記第１ビット長を有する複数の第１バイナリ列に変換し、
前記特定の複数の特徴量ベクトルの関係に関する関係情報と、前記複数の第１バイナリ列とに基づき、前記第１の変換規則により変換されるバイナリ列における各ビットの距離反映度を算出し、
前記算出した距離反映度と、前記第１の変換規則とに基づき第２の変換規則を生成する
処理を実行させることを特徴とする情報変換規則生成プログラム。  
【請求項２】
前記情報変換規則生成プログラムは、
前記第１の変換規則を生成する場合は、前記第１の変換規則として、前記特徴量ベクトルを１ビットまたは複数ビットのバイナリ列に変換する変換関数を、前記所定のビット長よりも長い前記第１ビット長のバイナリ列を変換する分だけ生成し、
前記第２の変換規則を生成する場合は、前記算出した距離反映度に応じて、前記所定のビット長のバイナリ列に変換する分の変換関数を、前記生成した変換関数から選択する
処理を前記コンピュータに実行させることを特徴とする請求項１に記載の情報変換規則生成プログラム。  
【請求項３】
前記情報変換規則生成プログラムは、前記生成した第１の変換規則を用いて変換したバイナリ列の各ビットから、前記算出した距離反映度が高い方から順に前記所定のビット長分のビットを識別し、前記特徴量ベクトルを当該識別したビットに変換する変換関数を選択する処理を前記コンピュータに実行させることを特徴とする請求項２に記載の情報変換規則生成プログラム。  
【請求項４】
前記情報変換規則生成プログラムは、前記選択した変換関数に新たな変換関数を追加して新たな変換規則を生成し、前記新たに生成した変換規則を用いて前記特定の複数の特徴量ベクトルを複数のバイナリ列に変換し、前記特定の複数の特徴量ベクトルの関係に関する関係情報と、前記複数のバイナリ列と、に応じて前記バイナリ列における各ビットの距離反映度を算出し、前記算出した距離反映度に応じて、前記特徴量ベクトルを前記所定のビット長のバイナリ列に変換するように前記新たに生成した変換規則を修正する処理を所定の回数だけ前記コンピュータに繰り返し実行させることを特徴とする請求項２または３に記載の情報変換規則生成プログラム。  
【請求項５】
前記情報変換規則生成プログラムは、前記新たに生成した変換規則を用いて変換したバイナリ列の各ビットから、前記算出した距離反映度が所定の閾値を越えたビットを識別し、前記特徴量ベクトルを当該識別したビットに変換する変換関数を選択するとともに、前記所定のビット長のバイナリ列に変換する分の変換関数を選択するまで、前記新たな変換関数を生成する処理と、前記距離反映度を算出する処理とを前記コンピュータに繰り返し実行させることを特徴とする請求項４に記載の情報変換規則生成プログラム。  
【請求項６】
前記情報変換規則生成プログラムは、ランダムに生成したパラメータベクトルとオフセットパラメータとを用いて、前記変換関数を生成する処理を前記コンピュータに実行させることを特徴とする請求項２〜５のいずれか１つに記載の情報変換規則生成プログラム。
【請求項７】
前記情報変換規則生成プログラムは、前記距離反映度を算出する場合は、同じクラスに属する特徴量ベクトルから変換したバイナリ列同士のハミング距離のうち最も小さいハミング距離と、異なるクラスに属する特徴量ベクトルから変換したバイナリ列同士のハミング距離のうち最も小さいハミング距離との差分に基づいて、前記バイナリ列における各ビットの距離反映度を算出する処理を前記コンピュータに実行させることを特徴とする請求項１〜６のいずれか１つに記載の情報変換規則生成プログラム。 
【請求項８】
前記情報変換規則生成プログラムは、
前記第２の変換規則又は修正した変換規則を用いて前記特徴量ベクトルを前記所定のビット長のバイナリ列に変換し、
クライアントが入力したクエリデータの特徴量ベクトルから変換したバイナリ列と、前記第２の変換規則または前記修正した変換規則を用いて特徴量ベクトルを変換したバイナリ列とのハミング距離を用いて、クエリデータの近傍に位置する特徴量ベクトルを検索する
処理を前記コンピュータに実行させることを特徴とする請求項１〜７のいずれか１つに記載の情報変換規則生成プログラム。  
【請求項９】
特徴量ベクトルを所定のビット長よりも長い第１ビット長のバイナリ列に変換する第１の変換規則を生成する第１の生成部と、
前記第１の生成部が生成した第１の変換規則を用いて、特定の複数の特徴量ベクトルを前記第１ビット長を有する複数の第１バイナリ列に変換する第１の変換部と、
前記特定の複数の特徴量ベクトルの関係に関する関係情報と、前記複数の第１バイナリ列とに基づき、前記第１の変換部が変換した前記第１の変換規則により変換される第１バイナリ列における各ビットの距離反映度を算出する算出部と、
前記算出部が前記算出した距離反映度と、前記第１の変換規則とに基づき第２の変換規則を生成する第２の生成部と、
を有することを特徴とする情報変換規則生成装置。  
【請求項１０】
特徴量ベクトルを所定のビット長のバイナリ列に変換する情報変換規則生成装置が、
特徴量ベクトルを前記所定のビット長よりも長い第１ビット長のバイナリ列に変換する第１の変換規則を生成し、
前記生成した第１の変換規則を用いて、特定の複数の特徴量ベクトルを前記第１ビット長を有する複数の第１バイナリ列に変換し、
前記特定の複数の特徴量ベクトルの関係に関する関係情報と、前記複数の第１バイナリ列とに基づき、前記第１の変換規則により変換される第１バイナリ列における各ビットの距離反映度を算出し、
前記算出した距離反映度と、前記第１の変換規則とに基づき第２の変換規則を生成する
処理を実行することを特徴とする情報変換規則生成方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報変換規則生成プログラム、情報変換規則生成装置および情報変換規則生成方法に関する。 
【背景技術】
【０００２】
従来、データベースに登録された複数のデータから、入力されたクエリデータとの類似度や関連の強さが所定の条件を満たすデータを検索する技術が知られている。このような技術の一例として、各データ間の類似度や関連の強さを特徴量ベクトルの多次元空間における距離で示し、クエリデータとの距離が閾値以内となるデータや、クエリデータに近い方から所定の数のデータを選択する近傍検索の技術が知られている。
【０００３】
図８は、従来の近傍検索を説明するための図である。例えば、近傍検索を実行する情報処理装置は、図８中の白丸で示すように、検索対象となるデータの特徴量ベクトルを記憶する。そして、情報処理装置は、図８中（Ａ）で示すクエリデータを取得すると、クエリデータと特徴量ベクトルとの距離を算出し、図８中（Ｂ）に示すように、クエリデータとの距離が所定の範囲内となるデータをクエリデータの近傍データとする。
【０００４】
ここで、データベースに多数のデータが登録されている際に、データベースに登録された全てのデータとクエリデータとの距離を算出した場合は、近傍検索に要する計算コストが増大する。このため、特徴量ベクトル空間のインデックスをあらかじめ作成したり、特定の特徴量ベクトルからの距離を利用したインデックスを用いて、検索対象とするデータを限定することで、近傍検索を実行するための計算コストを削減する技術が知られている。しかし、これらの方法は、特徴量ベクトルの次元数が増大すると、計算コストを削減することができなくなる。
【０００５】
そこで、検索処理における計算コストを削減するため、検索結果の厳密性を緩和し、クエリデータに対して近似的な類似データの集合を取得することで、検索処理を高速化する方法が知られている。例えば、バイナリ列同士の一致検索やハミング距離の計算は、ベクトル間の距離の計算よりも高速に行える。そこで、特徴量ベクトル間の距離関係を保ちつつ特徴量ベクトルをバイナリ列に変換し、クエリデータを変換したバイナリ列との一致検索やハミング距離を計算することで、計算コストを削減する方法が知られている。
【０００６】
以下、このような特徴量ベクトルをバイナリ列に変換する方法の一例について説明する。図９は、バイナリ化による検索処理を説明するための図である。なお、図９に示す例では、図９中の白丸で示す特徴量ベクトルを、２桁のバイナリ列に変換する方法について説明する。
【０００７】
例えば、情報処理装置は、図９中の白丸で示す特徴量ベクトルを記憶する。ここで、情報処理装置は、射影関数を適用し、図９中の点線よりも上の範囲に含まれる特徴量ベクトルについては、バイナリ列の一桁目を「１」とし、点線よりも下の範囲に含まれる特徴量ベクトルについては、バイナリ列の一桁目を「０」とする。また、情報処理装置は、図９中の実線よりも右の範囲に含まれる特徴量ベクトルについては、バイナリ列の二桁目を「１」とし、実線よりも左の範囲に含まれる特徴量ベクトルについては、バイナリ列の二桁目を「０」とする。
【０００８】
この結果、各特徴量ベクトルは、「０１」、「１１」、「００」、「１０」のいずれかに変換される。そして、情報処理装置は、図９中（Ｃ）に示すように、クエリデータを変換したバイナリ列が「１１」となる場合は、ハミング距離が「０」となるバイナリ列、すなわちバイナリ列が「１１」となる特徴量ベクトルをクエリデータの近傍データとする。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第２８１５０４５号公報
【特許文献２】特開２００６−２７７４０７号公報
【特許文献３】特開２００７−２４９３３９号公報
【非特許文献】
【００１０】
【非特許文献１】M.  Datar,  N.  Immorlica,  P.  Indyk,  and  V.  S.  Mirrokni:  Locality-sensitive  hashing  scheme  based  on  p-stable  distributions,  Proceedings  of  the  twentieth  annual  symposium  on  Computational  Geometry  (SCG  '04),  pp.253-262  (2004)
【非特許文献２】M.  Charikar:  Similarity  estimation  techniques  from  rounding  algorithms,  Proceedings  of  the  34th  Symposium  on  Theory  of  Computing  (STOC  '02),  pp.380-388  (2002)
【非特許文献３】Y.  Weiss,  A.  Torralba,  and  R.  Fergus:  Spectral  hashing,  Advances  in  Neural  Information  Processing  Systems  21  (NIPS  '08)  (2008)
【非特許文献４】B.  Kulis  and  T.  Darrell:  Learning  to  hash  with  binary  reconstructive  embeddings,  Advances  in  Neural  Information  Processing  Systems  22  (NIPS  '09)  (2009)
【非特許文献５】M.  Norouzi  and  D.  Fleet:  Minimal  Loss  hashing  for  compact  binary  codes,  Proceedings  of  the  28th  International  Conference  on  Machine  Learning  (ICML  '11)  (2011)
【非特許文献６】D.  G.  Lowe:  Distinctive  image  features  from  scale-invariant  keypoints,  Internal  Journal  of  Computer  Vision,  Vol.60,  No.2,  pp.91-110  (2004)
【非特許文献７】H.  Bay,  A.  Ess,  T.  Tuytelaars,  L.  V.  Gool:  SURF:  Speeded  up  robust  features,  Computer  Vision  and  Image  Understanding  (CVIU),  Vol.110,  No.3,  pp.346-359  (2008)
【非特許文献８】K.  Kira  and  L.  A.  Rendell:  A  practical  approach  to  feature  selection,  Proceedings  of  the  9th  International  Workshop  on  Machine  Learning,  pp.249-256  (1992)
【非特許文献９】R.  Gilad-Bachrachy,  A.  Navotz,  and  N.  Tishby:  Margin  based  feature  selection  -  theory  and  algorithms,  Proceedings  of  the  21st  International  Conference  on  Machine  Learning  (ICML  '04),  pp.43-50  (2004)
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ここで、特徴量ベクトルをバイナリ列に変換した際に検索精度を保つためには、元の特徴量ベクトル間の距離関係を保ちつつバイナリ列に変換することが重要である。しかしながら、上述した特徴量ベクトルをバイナリ列に変換する技術では、閾値処理を用いて連続値の特徴量ベクトルを不連続なバイナリ列に変換するので、特徴量ベクトルの距離関係を保ちつつバイナリ列に変換する変換関数の最適化が困難であるという問題がある。
【００１２】
１つの側面では、本発明は、検索対象となるデータ集合ごとに、変換関数を容易に最適化することを目的とする。
【課題を解決するための手段】
【００１３】
１つの側面では、特徴量ベクトルを所定のビット長のバイナリ列に変換するコンピュータに、特徴量ベクトルを所定のビット長よりも長い第１ビット長のバイナリ列に変換する第１の変換規則を生成させる情報変換規則生成プログラムである。また、情報変換規則生成プログラムは、コンピュータに、生成した第１の変換規則を用いて、特定の複数の特徴量ベクトルを第１ビット長を有する複数の第１バイナリ列に変換させる。また、情報変換規則生成プログラムは、特定の複数の特徴量ベクトルの関係に関する関係情報と、複数の第１バイナリ列とに基づき、第１の変換規則により変換されるバイナリ列における各ビットの距離反映度を算出させる。また、情報変換規則生成プログラムは、算出した距離反映度と、第１の変換規則とに基づき第２の変換規則を生成させる。
【発明の効果】
【００１４】
１実施形態では、検索対象となるデータごとに、変換関数を容易に最適化できる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係る検索システムの機能構成を説明するための図である。
【図２】図２は、生体認証の一例を説明するための図である。
【図３】図３は、検索対象データベース記憶部が記憶する情報の一例を説明するための図である。
【図４】図４は、バイナリデータベース記憶部が記憶する情報の一例を説明するための図である。
【図５】図５は、変換規則を生成する処理の流れを説明するためのフローチャートである。
【図６】図６は、変換関数の重要度を算出する処理の流れを説明するためのフローチャートである。
【図７】図７は、情報変換プログラムを実行するコンピュータの一例を説明するための図である。
【図８】図８は、従来の近傍検索を説明するための図である。
【図９】図９は、実数ベクトルのバイナリ化による検索処理を説明するための図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して本願に係る情報変換プログラム、情報変換装置および情報変換方法について説明する。
【実施例１】
【００１７】
以下の実施例１では、図１を用いて、情報変換装置を有する検索システムの一例を説明する。図１は、実施例１に係る検索システムを説明するための図である。図１に示すように、検索システム１は、クライアント装置２、情報変換装置１０、情報検索装置２０を有する。
【００１８】
また、情報変換装置１０は、学習データ記憶部１１、変換規則生成部１２、重要度算出部１３、変換規則決定部１４を有する。また、情報検索装置２０は、検索対象データベース記憶部２１、バイナリ変換部２３、バイナリデータベース記憶部２２、検索処理部２４を有する。
【００１９】
図１に示す検索システム１は、クライアント装置２からクエリデータを受信すると、検索対象データベース記憶部２１から、クエリデータの近傍データを検索する。そして、検索システム１は、クエリデータの近傍に類似するデータが登録されているか否かをクライアント装置２へ通知するシステムである。具体的には、検索システム１は、情報変換装置１０が生成した変換規則を用いて、情報検索装置２０が検索対象となるデータをバイナリ列に変換し、変換後のバイナリ列を用いて、クエリデータの近傍データを検索する。
【００２０】
ここで、検索システム１が検索対象とするデータは、例えば、画像や音声などのデータであり、指紋のパターンや静脈のパターンを用いた生体認証における生体データである。すなわち、検索システム１は、クライアント装置２に入力された利用者の生体データをクエリデータとして受信すると、利用者の生体データが登録されているか否かを判別するシステムである。
【００２１】
なお、画像や音声の特徴量は様々なものが提案されているが、検索システム１は、特定の特徴量に依存するものではないため、任意の特徴量を用いることができる。例えば、画像の特徴量として一般的に用いられているＳＩＦＴ特徴量やＳＵＲＦ特徴量などを用いることもできる。これらの特徴量は画像中の局所的な情報を特徴量ベクトルとして用いることで、隠れや変動に対してロバストな特徴量であることが知られているが、このような特徴量を示す任意の形式の特徴量ベクトルを用いてよい。
【００２２】
図２は、生体認証の一例を説明するための図である。なお、図２に示す例では、利用者のＩＤ（Identification）等の情報が入力されず、利用者のＩＤを用いた生体データの絞込みを行わないＩＤレスの１：Ｎ認証における処理を示す。図２に示すように、検索システム１は、複数の利用者が登録した登録生体データを複数記憶する。
【００２３】
そして、検索システム１は、クライアント装置２からクエリデータとして、生体データを受信すると、入力された生体データの特徴量を示す特徴量ベクトルを抽出し、抽出した特徴量ベクトルと類似する特徴量ベクトルを有する登録生体データを検索する。すなわち、検索システム１は、クエリデータを入力した利用者の登録生体データが登録されているか否かを判別する。
【００２４】
また、検索システム１は、特徴量ベクトルを所定のビット長のバイナリ列に変換する変換規則を生成し、生成した変換規則を用いて、登録生体データの特徴量ベクトルをバイナリ列に変換する。また、検索システム１は、クエリデータとして入力された生体データにおける特徴量ベクトルを所定のビット長のバイナリ列に変換し、登録生体データの特徴量ベクトルを変換したバイナリ列とのハミング距離を算出する。そして、検索システム１は、ハミング距離が所定の閾値以下となる登録生体データを検索対象の候補として抽出する。その後、情報検索装置１は、検索した登録生体データとクエリデータとして入力された生体データとの厳密なマッチング処理を実行し、実行結果をクライアント装置２に出力する。
【００２５】
このように、検索システム１は、検索対象となる登録生体データの特徴を示す特徴量ベクトルを所定のバイナリ列に変換し、クエリデータの特徴量ベクトルを変換したバイナリ列とのハミング距離を算出することにより、検索対象とするデータの絞込みを行う。そして、検索システム１は、絞り込んだデータとクエリデータとのマッチングを行うことで、生体認証におけるマッチングを行う。
【００２６】
なお、入力された生体データや登録生体データが画像である場合には、特徴量ベクトルは、例えば、画像中の特定領域における隆線の方向や長さ、勾配、隆線の終端や分岐などの特徴的な点の密度や座標の数値をベクトル化したものとなる。また、入力された生体データや登録生体データが音声である場合には、特徴量ベクトルは、例えば、周波数成分の分布、強度、ピーク値などの数値をベクトル化したものとなる。
【００２７】
以下、情報変換装置１０が実行する処理、および情報検索装置２０が実行する処理について説明する。まず、情報変換装置１０が実行する処理について説明する。情報変換装置１０は、学習データ記憶部１１が記憶する学習データを用いて、特徴量ベクトルを所定のビット長のバイナリ列に変換する変換規則を生成する。
【００２８】
具体的には、学習データ記憶部１１は、学習データとして、利用者ごとに、複数の特徴量ベクトルを記憶する。ここで、学習データ記憶部１１が記憶する特徴量ベクトルは、後述する検索対象データベース記憶部２１が記憶する特徴量ベクトルの一部である。すなわち、学習データ記憶部１１は、検索システム１に登録された登録生体データの特徴量ベクトルの一部を記憶する。
【００２９】
また、学習データ記憶部１１は、検索対象データベース記憶部２１が記憶する特徴量ベクトルのうち、複数の利用者によって登録された生体データの特徴量ベクトルを記憶する。なお、以下の説明においては、同一の利用者によって登録された複数の特徴量ベクトルを同一のクラスに属する特徴量ベクトルと記載する。すなわち、学習データ記憶部１１は、あるクラスに属する特徴量ベクトルと、他のクラスに属する特徴量ベクトルを記憶する。
【００３０】
変換規則生成部１２は、特徴量ベクトルを所定のビット長よりも長いビット長のバイナリ列に変換する変換規則を生成する。例えば、変換規則生成部１２は、情報検索装置２０が「Ｍ」ビットのバイナリ列を用いた検索処理を行う場合は、特徴量ベクトルを１ビットの値に変換する変換関数を「Ｎ」個生成する。ここで、「Ｍ」と「Ｎ」は、Ｍ＜Ｎを満たす整数である。そして、変換規則生成部１２は、生成した「Ｎ」個の変換関数を重要度算出部１３に送信する。
【００３１】
また、変換規則生成部１２は、変換規則決定部１４からＭ個の変換関数を受信する。すると、変換規則生成部１２は、新たにＮ−Ｍ個の変換関数を生成し、受信したＭ個の変換関数と、新たに生成したＮ−Ｍ個の変換関数とを重要度算出部１３に送信する。
【００３２】
ここで、変換規則生成部１２が生成する変換関数について説明する。例えば、変換規則生成部１２は、Ｎ次元のパラメータベクトルｗｉと、オフセットパラメータｂｉとの組をＮ個生成する。そして、変換規則生成部１２は、以下の式（１）で示す変換関数をＮ個生成する。
【００３３】
なお、式（１）中の太字のｕｉとは、変換後のバイナリ列ｕにおけるｉ番目のビットであり、太字のｘは、特徴量ベクトルである。また、以下の式（１）中のｔｈｒ（）は閾値関数であり、カッコ内に含まれる値が０以上であれば「１」に変換し、値が負の値であれば「０」に変換する関数である。
【００３４】
【数１】
0005862413.tif 000002
【００３５】
すなわち、変換規則生成部１２は、ｉの値が「１」から「Ｎ」までのＮ個の式（１）を生成し、生成したＮ個の変換関数を重要度算出部１３へ送信する。なお、変換規則生成部１２は、乱数等を用いて、対応するビット（添え字のｉの値）ごとに異なる値のパラメータベクトルｗｉとオフセットパラメータｂｉとを生成する。
【００３６】
重要度算出部１３は、変換規則生成部１２からＮ個の変換関数を受信すると、学習データ記憶部１１が記憶する特徴量ベクトルを取得し、各特長量ベクトルについて式（１）を算出することで、Ｎビットのバイナリ列ｕを生成する。例えば、重要度算出部１３は、あるひとつの特徴量ベクトルについて、パラメータベクトルｗ１とオフセットパラメータｂ１を用いて、式（１）を計算し、バイナリ列ｕの１ビット目のビットｕ１の値を算出する。そして、重要度算出部１３は、他のパラメータベクトルｗ２〜ｗＮとオフセットパラメータｂ２〜ｂＮを用いて、バイナリ列ｕの他のビットｕ２〜ｕＮの値を算出する。
【００３７】
そして、重要度算出部１３は、学習データ記憶部１１が記憶する特徴量ベクトルの距離関係に応じて、バイナリ列ｕの各ビットｕ１〜ｕＮの重要度を算出する。すなわち、情報変換装置１０は、バイナリ列ｕの各ビットｕ１〜ｕＮの重要度を算出することで、特徴量ベクトルを各ビットｕ１〜ｕＮに変換するＮ個の変換関数の重要度を評価する。
【００３８】
ここで、重要度算出部１３がバイナリ列ｕの各ビットｕ１〜ｕＮの重要度を算出する方法は、変換前の特徴量ベクトル同士の距離関係を適切に保持するものであれば、任意の手法を用いることができる。例えば、重要度算出部１３は、非特許文献８で示されるＲＥＬＩＥＦや、非特許文献９で示されるＳｉｍｂａと呼ばれる手法を用いて、各ビットｕ１〜ｕＮの重要度を算出することができる。
【００３９】
以下、重要度算出部１３がバイナリ列ｕの各ビットｕ１〜ｕＮの重要度を算出する処理の一例として、特徴量ベクトルが所属するクラスに応じて、バイナリ列ｕの各ビットｕ１〜ｕＮの重要度を算出する処理について説明する。まず、重要度算出部１３は、変換規則生成部１２から受信した変換関数を用いて、学習データ記憶部１１が記憶する特徴量ベクトルを、Ｎビットのバイナリ列に変換する。
【００４０】
そして、重要度算出部１３は、１つのバイナリ列をバイナリ列ｕとしてサンプリングし、以下の式（２）を用いて、バイナリ列ｕと他のバイナリ列との重み付きハミング距離を算出する。ここで、式（２）中のｓｉとは、ビットｕｉの重要度であり、例えば、初期状態においては、全てのビットｕ１〜ｕＮに対して「１」が設定される。また、式（２）中のｖとは、バイナリ列ｕとの比較対象となるバイナリ列である。
【００４１】
【数２】
0005862413.tif 000003
【００４２】
そして、重要度算出部１３は、以下の式（３）を用いて、バイナリ列ｕのビットｕｉの重要度を更新する。ここで、ｎｅａｒｈｉｔ（ｕ）ｉとは、バイナリ列ｕの変換元となる特徴量ベクトルと同じクラスの特徴量ベクトルを変換元とするバイナリ列のうち、重み付きハミング距離が最も近いバイナリ列のｉ番目のビット値である。また、ｎｅａｒｍｉｓｓ（ｕ）ｉとは、バイナリ列ｕの変換元となる特徴量ベクトルとは異なるクラスの特徴量ベクトルを変換元とするバイナリ列のうち、重み付きハミング距離が最も近いバイナリ列のｉ番目のビット値である。
【００４３】
【数３】
0005862413.tif 000004
【００４４】
ここで、同じクラスの特徴量ベクトルは、同一利用者の生体データである。そこで、重要度算出部１３は、式（２）および式（３）を用いて、同じクラスの特徴量ベクトルを変換したバイナリ列間のハミング距離が短くなる場合は、変換関数の重要度を向上させる。また、異なるクラスの特徴量ベクトルは、異なる利用者の生体データである。このため、異なるクラスの特徴量ベクトルをバイナリ列に変換した際は、ハミング距離が遠くなるほうが良い。このため、重要度算出部１３は、式（２）および式（３）を用いて、異なるクラスの特徴量ベクトルを変換したバイナリ列間のハミング距離が短くなる場合は、変換関数の重要度を低下させる。
【００４５】
また、重要度算出部１３は、式（２）および式（３）を用いて、所定の回数だけ各ビットの重要度ｓ１〜ｓＮを更新する。そして、重要度算出部１３は、所定の回数だけ各ビットの重要度ｓ１〜ｓＮを更新した場合は、更新後の重要度ｓ１〜ｓＮを変換規則決定部１４に通知する。また、重要度算出部１３は、変換規則生成部１２から受信した変換関数を変換規則決定部１４に通知する。
【００４６】
このように、重要度算出部１３は、特徴量ベクトルの距離関係や特徴量ベクトルが所属するクラスに応じて、重要度ｓ１〜ｓＮを更新するので、変換元の特徴量ベクトルの距離関係を保持する変換規則を生成することができる。なお、重要度算出部１３は、クラスを考慮せずとも、変換元の特徴量ベクトルの距離関係に応じて、重要度ｓ１〜ｓＮを更新した場合は、変換元の特徴量ベクトルの距離関係を保持する変換関数の重要度を向上させるので、適切な変換規則を生成することができる。
【００４７】
変換規則決定部１４は、特徴量ベクトルを所定の長さのバイナリ列に変換するように、重要度算出部１３が算出した重要度に応じて、変換規則生成部１２が生成した変換規則を修正する。具体的には、変換規則決定部１４は、重要度算出部１３が算出した重要度ｓ１〜ｓＮを受信する。すると、変換規則決定部１４は、受信した重要度ｓ１〜ｓＮを比較し、重要度が大きい順にＭ個のビットを選択する。そして、変換規則決定部１４は、特徴量ベクトルを選択したビットに変換したＭ個の変換関数を識別する。すなわち、変換規則決定部１４は、特徴量ベクトル同士の距離関係を上手くバイナリ化したＭ個の変換関数を識別する。
【００４８】
また、変換規則決定部１４は、所定の回数だけ、重要度の選択を行ったか否かを判別し、所定の回数だけ重要度の選択を行っていないと判別した場合は、識別したＭ個の変換関数を変換規則生成部１２に通知する。一方、変換規則決定部１４は、所定の回数だけ重要度の選択を行ったと判別した場合は、識別したＭ個の変換関数を情報検索装置２０に送信する。
【００４９】
なお、変換規則決定部１４は、異なる手法を用いて変換関数を選択してもよい。例えば、変換規則決定部１４は、重要度が所定の閾値を超えたビットを選択し、特徴量ベクトルを選択したビットに変換した変換関数を識別する。そして、変換規則決定部１４は、識別した変換関数の数がＭ個に達するまで、変換規則生成部１２と重要度算出部１３に、変換関数の生成と重要度の算出とを実行させる。その後、変換規則決定部１４は、識別したＭ個の変換関数を情報検索装置２０に送信する。
【００５０】
次に、情報検索装置２０が実行する処理について説明する。検索対象データベース記憶部２１は、検索対象となるデータ、すなわち、登録生体データの特徴量ベクトルを記憶する。具体的には、検索対象データベース記憶部２１は、登録生体データの特徴量ベクトルと、登録生体データを登録した利用者の識別子であるデータＩＤとを対応付けて記憶する。つまり、検索対象データベース記憶部２１は、特徴量ベクトルを所属するクラスごとに記憶する。
【００５１】
ここで、図３を用いて、検索対象データベース記憶部２１が記憶する情報の一例について説明する。図３は、検索対象データベース記憶部が記憶する情報の一例を説明するための図である。例えば、図３に示す例では、検索対象データベース記憶部２１は、データＩＤ「１」と複数の特徴量ベクトルとして、太字の「ａ」、「ｂ」、「ｃ」を対応付けて記憶する。なお、図３では省略したが、検索対象データベース記憶部２１は、データＩＤ「１」と対応付けて、他の特徴量ベクトルを記憶する。また、検索対象データベース記憶部２１は、他のデータＩＤと対応付けた特徴量ベクトルを記憶する。
【００５２】
図１に戻って、バイナリデータベース記憶部２２は、所定の変換関数を用いて特徴量ベクトルを変換した記号列であって、バイナリ記号とワイルドカード記号とを含む記号列とデータＩＤとを対応付けて記憶する。以下、図４を用いて、バイナリデータベース記憶部２２が記憶する情報の一例について説明する。
【００５３】
図４は、バイナリデータベース記憶部が記憶する情報の一例を説明するための図である。例えば、図４に示す例では、バイナリデータベース記憶部２２は、データＩＤ「１」と対応付けて、Ｍビットのバイナリ列「０１１１０１００１１０…」を記憶する。なお、図４では記載を省略したが、バイナリデータベース記憶部２２は、データＩＤ「１」と対応付けて、他にも複数の記号列を記憶する。すなわち、バイナリデータベース記憶部２２は、検索対象データベース記憶部２１が記憶する特徴量ベクトルを、後述するバイナリ変換部２３が情報変換装置１０から受信した変換関数を用いて変換したＭビットのバイナリ列を、データＩＤごとに記憶する。
【００５４】
図１に戻って、バイナリ変換部２３は、情報変換装置１０の変換規則決定部１４から変換数を受信した場合は、受信した変換関数を用いて、検索対象データベース記憶部２１が記憶する特徴量ベクトルを、Ｍビットのバイナリ列に変換する。そして、バイナリ変換部２３は、変換後のバイナリ列を、変換元の特徴量ベクトルと対応付けられたデータＩＤと対応付けて、バイナリデータベース記憶部２２に格納する。
【００５５】
検索処理部２４は、クライアント装置２からクエリデータを受信すると、受信したクエリデータの特徴量を示す特徴量ベクトルを抽出し、抽出した特徴量ベクトルを所定の変換関数でＭビットのバイナリ列に変換する。そして、検索処理部２４は、バイナリデータベース記憶部２２が記憶するバイナリ列のうち、ハミング距離が所定の値以下となるバイナリ列、すなわち、クエリデータの近傍候補となる特徴量ベクトルのバイナリ列を検索する。
【００５６】
その後、検索処理部２４は、検索したバイナリ列の変換元である特徴量ベクトルを検索対象データベース記憶部２１から取得する。そして、検索処理部２４は、取得した特徴量ベクトルに、クエリデータから抽出した特徴量ベクトルと一致する特徴量ベクトルや、ユークリッド距離が所定の閾値以下となる特徴量ベクトルが存在する場合は、以下の処理を実行する。すなわち、検索処理部２４は、クエリデータが登録生体データに一致する旨をクライアント装置２へ送信する。
【００５７】
一方、検索処理部２４は、取得した特徴量ベクトルに、クエリデータから抽出した特徴量ベクトルと一致する特徴量ベクトルや、ユークリッド距離が所定の閾値以下となる特徴量ベクトルが存在しない場合は、以下の処理を実行する。すなわち、検索処理部２４は、クエリデータが登録生体データに一致しない旨をクライアント装置２へ送信する。この結果、クライアント装置２は、クエリデータを入力した利用者の生体認証を行うことができる。
【００５８】
例えば、変換規則生成部１２、重要度算出部１３、変換規則決定部１４、バイナリ変換部２３、検索処理部２４とは、電子回路である。ここで、電子回路の例として、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などを適用する。
【００５９】
また、学習データ記憶部１１、検索対象データベース記憶部２１、バイナリデータベース記憶部２２とは、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（flash  memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
【００６０】
次に、図５を用いて、情報変換装置１０が変換規則を生成する処理について説明する。図５は、変換規則を生成する処理の流れを説明するためのフローチャートである。まず、情報変換装置１０は、終了条件の入力を受付ける（ステップＳ１０１）。例えば、情報変換装置１０は、終了条件として、処理を繰り返す回数の設定を取得する。
【００６１】
次に、情報変換装置１０は、Ｎビット分の変換関数を生成する（ステップＳ１０２）。そして、情報変換装置１０は、各ビットの重要度ｓ１〜ｓＮを算出する（ステップＳ１０３）。次に、情報変換装置１０は、ステップＳ１０３の処理で算出した各ビットの重要度ｓ１〜ｓＮに基づいて、Ｎビット分の変換関数からＭビット分の変換関数を選択する（ステップＳ１０４）。
【００６２】
次に、情報変換装置１０は、ステップＳ１０１にて受付けた終了条件を満たしているか否かを判別する（ステップＳ１０５）。そして、情報変換装置１０は、終了条件を満たしていない場合は（ステップＳ１０５否定）、Ｎ−Ｍビット分の変換関数を新たに生成する（ステップＳ１０６）。そして、情報変換装置１０は、ステップＳ１０６にて新たに生成したＮ−Ｍビット分の変換関数と、ステップＳ１０４にて選択したＭビット分の変換関数を用いて、ステップＳ１０３の処理を実行する。
【００６３】
一方、情報変換装置１０は、終了条件を満たした場合は（ステップＳ１０５肯定）、ステップＳ１０４にて選択したＭビット分の変換関数を変換規則として情報検索装置２０に出力し（ステップＳ１０７）、処理を終了する。
【００６４】
次に、図６を用いて、重要度算出部１３が各ビットの重要度、すなわち、変換関数の重要度を算出する処理の流れについて説明する。図６は、変換関数の重要度を算出する処理の流れを説明するためのフローチャートである。なお、図６の処理は、図５に示すステップＳ１０３の処理と対応する。
【００６５】
まず、重要度算出部１３は、学習用データとして、検索対象データベース記憶部２１が記憶する特徴量ベクトルの一部をあらかじめ取得し、学習データ記憶部１１に格納しておく（ステップＳ２０１）。この際、重要度算出部１３は、複数のクラスに属する特徴量ベクトルを取得する。
【００６６】
次に、重要度算出部１３は、各ビットの重要度ｓ１〜ｓＮをそれぞれ「１」に初期化する（ステップＳ２０２）。次に、重要度算出部１３は、変換規則生成部１２からＮビット分の変換関数を取得すると、学習データ記憶部１１に記憶された特徴量ベクトルの１つを学習データとしてランダムに選択する（ステップＳ２０３）。そして、重要度算出部１３は、学習データについて式（２）および式（３）を計算し、各ビットの重要度ｓ１〜ｓＮをそれぞれ更新する（ステップＳ２０４）。
【００６７】
次に、重要度算出部１３は、繰り返し回数が終了条件を満たしているか否かを判別する（ステップＳ２０５）。そして、重要度算出部１３は、繰り返し回数が終了条件を満たしていると判別した場合は（ステップＳ２０５肯定）、重要度ｓ１〜ｓＮを変換規則決定部１４に出力し（ステップＳ２０６）、処理を終了する。一方、重要度算出部１３は、繰り返し回数が終了条件を満たしていないと判別した場合は（ステップＳ２０５否定）、ステップＳ２０３の処理を再度実行する。
【００６８】
［実施例１の効果］
上述したように、情報変換装置１０は、特徴量ベクトルをビット長Ｎのバイナリ列に変換する変換規則を生成する。そして、情報変換装置１０は、生成した変換規則を用いて、特徴量ベクトルをバイナリ列に変換し、特徴量ベクトルの距離関係に応じて、各ビットの重要度を算出する。
【００６９】
その後、情報変換装置１０は、算出した重要度に応じて、特徴量ベクトルをビット長Ｍのバイナリ列に変換するように、変換規則を修正する。その後、情報検索装置２０は、情報変換装置１０が修正した変換規則を用いて、特徴量ベクトルをビット長Ｍのバイナリ列に変換する。この結果、検索システム１は、検索対象となるデータごとに最適な変換関数を生成することができる。
【００７０】
また、情報変換装置１０は、特徴量ベクトルを１ビットのバイナリ列に変換する変換関数をＮ個生成し、生成したＮ個の変換関数を用いて、特徴量ベクトルをＮビットのバイナリ列に変換する。そして、情報変換装置１０は、Ｎビットのバイナリ列の各ビットについて重要度を算出し、算出した重要度に応じて、生成したＮ個の変換関数からＭ個の変換関数を選択する。
【００７１】
すなわち、情報変換装置１０は、特徴量ベクトルを検索処理に求められるビット数よりも多いビットに変換する変換関数を生成し、生成した変換関数のうち、特徴量ベクトルの距離関係を保持するような変換を行う変換関数のみを選択する。この結果、情報変換装置１０は、従来の比較して、短いビット数で特徴量ベクトルの距離関係を保持することができる。また、情報変換装置１０は、短いビット数で特徴量ベクトルの距離関係を保持するバイナリ列を生成できるので、情報検索装置２０における検索処理の速度を向上させることができる。
【００７２】
また、情報変換装置１０は、同じクラスに所属する特徴量ベクトルから変換されたバイナリ列間のハミング距離を小さくするような変換規則を生成することができる。この結果、情報検索装置２０におけるハミング距離を用いた検索処理の精度を向上させることができる。
【００７３】
また、情報変換装置１０は、生成したＮ個の変換関数から、重要度が高いほうから順にＭ個の変換関数を選択する。この結果、情報変換装置１０は、特徴量ベクトルをより正確にバイナリ列に変換する変換規則を生成することができる。
【００７４】
また、情報変換装置１０は、以下の処理を繰り返し実行する。すなわち、情報変換装置１０は、Ｍ個の変換関数を選択した後に、Ｎ−Ｍ個の変換関数を新たに生成し、選択したＭ個の変換関数と、Ｎ−Ｍ個の変換関数とを用いて、再度Ｎビットのバイナリ列を生成し、生成したバイナリ列の各ビットの重要度を算出する。そして、情報変換装置１０は、算出した重要度に応じて、新たにＭ個の変換関数を選択する。
【００７５】
この結果、情報変換装置１０は、重要度が他の変換関数よりも高くなる変換関数を、多くの変換関数の中から選択することができる。このため、情報変換装置１０は、より精密な変換規則を生成することができる。
【００７６】
また、情報変換装置１０は、重要度が所定の閾値を超えた変換関数をＭ個選択するまで、新たな変換関数の生成と、重要度の算出とを繰り返し実行する。このため、情報変換装置１０は、重要度が他の変換関数よりも高くなる変換関数を、多くの変換関数の中から選択し、より精密な変換規則を生成することができる。
【００７７】
また、情報変換装置１０は、ランダムに生成したｓパラメータベクトルとオフセットパラメータとを用いて、変換関数を生成するので、特徴量ベクトル空間を適切にバイナリ化する変換関数を生成することができる。
【００７８】
また、情報変換装置１０は、同じクラスに属する特徴量ベクトルから変換したバイナリ列同士のハミング距離のうち最も小さいハミング距離と、異なるクラスに属する特徴量ベクトルから変換したバイナリ列同士のハミング距離のうち最も小さいハミング距離との差分に基づいて、重要度を算出する。
【００７９】
例えば、情報変換装置１０は、式（２）および式（３）を用いて、同じクラスの特徴量ベクトルを変換したバイナリ列間のハミング距離が短くなる場合は、変換関数の重要度を向上させる。また、情報変換装置１０は、式（２）および式（３）を用いて、異なるクラスの特徴量ベクトルを変換したバイナリ列間のハミング距離が短くなる場合は、変換関数の重要度を低下させる。
【００８０】
この結果、情報変換装置１０は、特徴量ベクトルをバイナリ列に変換する際に、各特徴量ベクトルの距離関係と、各特徴量ベクトルが所属するクラスを反映させる変換規則を生成することができる。このため、情報変換装置１０は、情報検索装置２０における検索処理の処理速度を低下させることなく、検索精度を向上させることができる。
【００８１】
また、情報検索装置２０は、情報変換装置１０が生成した変換規則を用いて、検索対象となる特徴量ベクトルをバイナリ列に変換する。また、情報検索装置２０は、クエリデータから抽出した特徴量ベクトルをバイナリ列に変換する。そして、情報検索装置２０は、検索対象となる特徴量ベクトルを変換したバイナリ列と、クエリデータから抽出した特徴量ベクトルを変換したバイナリ列とのハミング距離を用いて、クエリデータの近傍に位置する特徴量ベクトルを検索する。
【００８２】
ここで、ハミング距離の算出処理は、特徴量ベクトル同士のユークリッド距離の算出処理よりも高速に実行することができる。このため、情報検索装置２０は、検索処理の処理速度を向上させることができる。また、情報検索装置２０は、情報変換装置１０がＮ個の変換関数から重要度に応じて選択したＭ個の変換関数を用いて、特徴量ベクトルをバイナリ列に変換する。この結果、情報検索装置２０は、検索精度を低下させることなく、検索処理を高速に行うことができる。
【実施例２】
【００８３】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。
【００８４】
（１）選択する変換関数について
上述した情報変換装置１０は、特徴量ベクトルを重要度が高いビットに変換した変換関数を選択した。しかし、実施例はこれに限定されるものではなく、例えば、情報変換装置１０は、重要度が高いことが明確であるビットに変換する変換関数を必ず選択してもよい。例えば、情報変換装置１０は、検索対象となる特徴量ベクトルの種別に応じて、有効な変換関数が知られている場合には、この変換関数を必ず変換規則に含めてよい。また、例えば、情報変換装置１０は、有効な変換関数による変換結果のビットの重要度に、他の重要度よりも高い初期値を設定してもよい。
【００８５】
また、情報変換装置１０は、変換規則の選択においては、重要度が高いビットに変換する変換関数を重複して選択してもよい。このような処理を実行した場合は、情報変換装置１０は、特徴量ベクトルの位置関係を強調したバイナリ列を生成する変換規則を生成することができる。この結果、情報検索装置２０がクエリデータの近傍検索を行う際に、検索結果として得られる特徴量ベクトルの数が少なくなる。このため、情報変換装置１０は、情報検索装置２０がクエリデータとのマッチングを行う際の計算量を削減し、検索処理の処理速度を向上させることができる。
【００８６】
また、情報変換装置１０は、特徴量ベクトルを１ビットに変換する変換関数をＮ個生成し、各ビットの重要度に応じて、Ｎ個の変換関数からＭ個の変換関数を選択することで、特徴量ベクトルをＭビットのバイナリ列に変換する変換規則を生成した。しかし、実施例はこれに限定されるものではない。
【００８７】
例えば、情報変換装置１０は、特徴量ベクトルを１ビットのバイナリ列に変換する変換関数だけではなく、複数ビットのバイナリ列に変換する変換関数を生成する。この際、情報変換装置１０は、生成したすべての変換関数で特徴量ベクトルをバイナリ列に変換した際に、特徴量ベクトルを、検索処理に用いるバイナリ列のビット長よりも長いビット長のバイナリ列に変換できるようにする。そして、情報変換装置１０は、生成した複数の変換関数から、各ビットの重要度に応じて、検索処理に用いるビット長のバイナリ列に変換する分の変換関数を選択することとしてもよい。
【００８８】
例えば、情報変換装置１０は、特徴量ベクトルを１ビットのバイナリ列に変換する変換関数、特徴量ベクトルを２ビットのバイナリ列に変換する変換関数、特徴量ベクトルを３ビットのバイナリ列に変換する変換関数をそれぞれ複数生成する。そして、情報変換装置１０は、検索処理に用いるバイナリ列のビット長が１５ビットである場合は、以下のように変換関数を選択してもよい。例えば、情報変換装置１０は、特徴量ベクトルを１ビットのバイナリ列に変換する１つの変換関数と、２ビットのバイナリ列に変換する１つの変換関数と、３ビットのバイナリ列に変換する４つの変換関数を選択してもよい。
【００８９】
（２）実施形態について
上述した情報変換装置１０は、情報検索装置２０とは独立した装置である。しかし、実施例はこれに限定されるものではなく、例えば、情報検索装置２０に情報変換装置１０の機能を含めることとしてもよい。また、情報変換装置１０は、情報検索装置２０のバイナリ変換部２３が実行する機能を有し、稼働中の情報検索装置が記憶する特徴量ベクトルについて、変換規則を生成し、生成した変換規則を用いてバイナリ列を生成する処理を実行してもよい。
【００９０】
（３）数式について
情報変換装置１０が重要度を算出するために使用した数式は、あくまで一例であり、情報変換装置１０は、任意の形式の数式を用いることができる。すなわち、情報変換装置１０は、特徴量ベクトルの距離関係や、特徴量ベクトルが所属するクラスの別をバイナリ列に投影できる変換関数の重要度を向上させることができるのであれば、任意の数式を用いることとしてもよい。また、上述した変換関数は、あくまで一例であり、情報変換装置１０は、他のパラメータを含む変換関数を用いてもよい。また、情報変換装置１０は、パラメータや変換行列等、生成する変換関数の形式を統一する必要はなく、各ビットを生成する変換関数の形式がそれぞれ異なっていてもよい。
【００９１】
（４）プログラム
ところで、実施例１に係る情報変換装置１０は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムを情報変換装置１０が有するコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図７を用いて、実施例１に示した情報変換装置１０と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図７は、情報変換プログラムを実行するコンピュータの一例を説明するための図である。
【００９２】
図７に例示されたコンピュータ１００は、ＲＯＭ（Read  Only  Memory）１１０、ＨＤＤ（Hard  Disk  Drive）１２０、ＲＡＭ（Random  Access  Memory）１３０、ＣＰＵ（Central  Processing  Unit）１４０がバス１６０で接続される。また、図１１に例示されたコンピュータ１００は、パケットを送受信するためのＩ／Ｏ（Input  Output）１５０を有する。
【００９３】
ＨＤＤ１２０は、変換対象となる特徴量ベクトルを記憶する特徴量ベクトルテーブル１２１を記憶する。また、ＲＡＭ１３０には、情報変換プログラム１３１があらかじめ保持される。ＣＰＵ１４０が情報変換プログラム１３１をＲＡＭ１３０から読み出して実行することによって、図１１に示す例では、情報変換プログラム１３１は、情報変換プロセス１４１として機能するようになる。なお、情報変換プロセス１４１は、図１に示した変換規則生成部１２、重要度算出部１３、変換規則決定部１４と同様の機能を発揮する。
【００９４】
なお、本実施例で説明した情報変換プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact  Disc  Read  Only  Memory）、ＭＯ（Magneto  Optical  Disc）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００９５】
１  検索システム
２  クライアント装置
１０  情報変換装置
１１  学習データ記憶部
１２  変換規則生成部
１３  重要度算出部
１４  変換規則決定部
２０  情報検索装置
２１  検索対象データベース記憶部
２２  バイナリデータベース記憶部
２３  バイナリ変換部
２４  検索処理部
【図１】
0005862413.tif 000005
【図２】
0005862413.tif 000006
【図３】
0005862413.tif 000007
【図４】
0005862413.tif 000008
【図５】
0005862413.tif 000009
【図６】
0005862413.tif 000010
【図７】
0005862413.tif 000011
【図８】
0005862413.tif 000012
【図９】
0005862413.tif 000013