(57)【要約】【課題】複雑な判断処理を行わずに、データの並び替え処理も不要で、ハードウェアによって高速に辞書文字から認識候補を選出できる文字認識装置を提供する。【解決手段】距離が小さい順にＰ個の認識候補を辞書から選出する手段が、辞書の文字数分の算出した距離を記憶する第１のメモリと、各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグを記憶する第２のメモリと、第１のメモリから距離を読出すとともに第２のメモリからその距離に対応するフラグを読出す手段と、フラグを識別する手段と、読出した距離の最小値を検出する手段と、第２のメモリのフラグを書換える手段とを有し、フラグを識別して、選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返してＰ個のメモリアドレスとその距離を認識候補として出力する。【選択図】図４
2009277148.tif 000002
【特許請求の範囲】
【請求項１】
原稿を光学的に読取って画像データに変換する原稿読取り手段と、前記画像データから認識する文字の画像データを抽出する手段と、前記認識する文字の画像データから特徴量を抽出する手段と、複数の文字の特徴量をあらかじめ辞書として登録する手段と、前記辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する手段と、前記距離が小さい順に複数であるＰ個の認識候補を辞書から選出する手段と、前記Ｐ個の認識候補から１候補を認識結果として出力する手段とを有する文字認識装置であって、
前記距離が小さい順に前記Ｐ個の認識候補を辞書から選出する手段が、
辞書の文字数分の算出した距離を記憶する第１のメモリと、
各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグを記憶する第２のメモリと、
前記第１のメモリから距離を読み出し、前記第２のメモリからその距離に対応するフラグを読出す手段と、
フラグを識別する手段と、
読み出した前記距離の最小値を検出する手段と、
前記第２のメモリのフラグを書換える手段とを有し、
フラグを識別して、選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返して前記Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする文字認識装置。
【請求項２】
前記Ｐ個の認識候補を辞書から距離が小さい順に選出する手段は複数のＫ個有し、前記距離が小さい順に選出する手段による並列処理により、Ｋ文字の認識する各文字について、前記Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする請求項１に記載の文字認識装置。
【請求項３】
更に複数の回路の情報を保持する手段と、前記回路の情報を入力して回路を書換える半導体デバイスとを有し、
辞書の文字数分の算出した距離を第１のメモリに入力し、
各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグの未選出を示す初期値を第２のメモリに入力する第１の回路の情報と、
第１のメモリから距離を、第２のメモリからその距離に対応するフラグを読出し、
フラグを識別して、選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理を前記Ｐ回繰返し、
前記Ｐ個のメモリアドレスとその距離を認識候補として出力する第２の回路の情報とを保持し、
第１の回路の動作後に、第１のメモリと第２のメモリに入力されたデータを保持したまま、第２の回路に書換えた後、第２の回路を動作させて、距離が小さい順に前記Ｐ個の認識候補を辞書から選出することを特徴とする請求項１に記載の文字認識装置。
【請求項４】
前記第１の回路が、
複数であるＫ個の第１のメモリと、前記第１のメモリと同数の第２のメモリとを有し、並列処理によりＫ文字の認識する各文字について算出した距離をＫ個の前記第１のメモリに入力し、Ｋ文字の認識する各文字について各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグの未選出を示す初期値をＫ個の前記第２のメモリに入力し、
前記第２の回路が、
前記Ｋ個の第１のメモリから距離を読出し、前記Ｋ個の第２のメモリからその距離に対応するフラグを読出し、並列処理によりフラグを識別して選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返し、Ｋ文字の認識する各文字について、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする請求項３に記載の文字認識装置。
【請求項５】
原稿を光学的に読取って画像データに変換する原稿読取り手段と、画像データから認識する文字の画像データを抽出する手段と、認識する文字の画像データから特徴量を抽出する手段と、複数の文字の特徴量をあらかじめ辞書として登録する手段と、辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する手段と、距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する手段と、前記Ｐ個の認識候補から１候補を認識結果として出力する手段とを有する文字認識装置であって、
前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する手段が、
算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグからなる辞書の文字数分のデータを記憶するメモリと、
前記メモリから距離とフラグとを読出す手段と、
前記フラグを識別する手段と、
読み出した前記距離の最小値を検出する手段と、
フラグと読み出した距離をメモリに書込む手段とを有し、
前記フラグを識別して、選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて読み出した距離と共にメモリに書込む処理をＰ回繰返し、
Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする文字認識装置。
【請求項６】
距離が小さい順にＰ個の認識候補を辞書から選出する手段を２以上の整数であるＫ個有し、並列処理してＫ文字の認識する各文字について前記Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする請求項５に記載の文字認識装置。
【請求項７】
更に複数の回路の情報を保持する手段と、回路の情報を入力して回路を書換える半導体デバイスとを有し、
算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグの未選出を示す初期値からなる辞書の文字数分のデータをメモリに入力する第１の回路の情報と、
メモリから距離とフラグを読出し、フラグを識別して選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて、読み出した距離と共にメモリに書込む処理をＰ回繰返し、Ｐ個のメモリアドレスとその距離を認識候補として出力する第２の回路の情報とを保持し、
前記第１の回路の動作後に、メモリに入力されたデータを保持したまま、第２の回路に書換えた後、前記第２の回路を動作させて、距離が小さい順にＰ個の認識候補を辞書から選出することを特徴とする請求項５に記載の文字認識装置。
【請求項８】
前記第１の回路が、
複数であるＫ個のメモリを有し、並列処理により、Ｋ文字の認識する各文字について算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグの未選出を示す初期値をＫ個のメモリに入力し、
前記第２の回路が、
前記Ｋ個のメモリから距離とフラグを読出し、並列処理により、フラグを識別して、選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて、読み出した距離と共にメモリに書込む処理をＰ回繰返し、
前記Ｋ文字の認識する各文字について、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする請求項７に記載の文字認識装置。
【請求項９】
請求項１から８のいずれか１項に記載の文字認識装置に用いられる認識候補選出装置であって、
前記認識候補選出装置は、前記距離が小さい順に前記Ｐ個の認識候補を辞書から選出する手段であることを特徴とする認識候補選出装置。
【請求項１０】
変換された画像データから、認識する文字の画像データを抽出して文字認識をするための文字認識候補選出方法であって、
当該方法は、認識するための前記文字の画像データから特徴量を抽出する工程と、複数の文字の特徴量をあらかじめ登録された辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する工程と、前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程と、前記Ｐ個の認識候補から１候補を認識結果として出力する工程とを有する画像認識方法における前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程であり、前記文字認識候補選出方法は、
前記辞書の文字数分の算出した距離を第１のメモリに記憶する工程と、
各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグを第２のメモリに記憶する工程と、
前記第１のメモリから距離を読み出し、前記第２のメモリからその距離に対応するフラグを読出す工程と、
フラグを識別する工程と、
読み出した前記距離の最小値を検出する工程と、
前記第２のメモリのフラグを書換える工程とを有し、
フラグを識別し選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返して前記Ｐ個のメモリアドレスとその距離とを認識候補として出力することを特徴とする文字認識候補選出方法。
【請求項１１】
変換された画像データから、認識する文字の画像データを抽出して文字認識をするための文字認識候補選出方法であって、
当該方法は、認識するための前記文字の画像データから特徴量を抽出する工程と、複数の文字の特徴量をあらかじめ登録された辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する工程と、前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程と、前記Ｐ個の認識候補から１候補を認識結果として出力する工程とを有する画像認識方法における前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程であり、前記文字認識候補選出方法は、
辞書の文字数分の算出した前記距離を第１のメモリに入力する工程と、
前記算出した各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分フラグの未選出か選出かを示す初期値を第２のメモリに入力する第１の回路の情報と、前記第１のメモリから距離を前記第２のメモリからその距離に対応するフラグを読出す工程と、
フラグを識別して、選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返す工程と、
Ｐ個のメモリアドレスとその距離を認識候補として出力する第２の回路の情報とを保持する工程と、
第１の回路の動作後に、第１のメモリと第２のメモリに入力されたデータを保持したまま第２の回路に書換えた後、第２の回路を動作させて距離が小さい順に前記Ｐ個の認識候補を辞書から選出することを特徴とする文字認識候補選出方法。
【請求項１２】
前記第１の回路が、
複数のＫ個の第１のメモリと、前記Ｋ個の第２のメモリとを有し、並列処理によりＫ文字の認識する各文字について算出した距離をＫ個の前記第１のメモリに入力し、Ｋ文字の認識する各文字について各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグの未選出を示す初期値をＫ個の前記第２のメモリに入力し、
前記第２の回路が、
前記Ｋ個の第１のメモリから距離を読出し、前記Ｋ個の第２のメモリからその距離に対応するフラグを読出し、並列処理によりフラグを識別して選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返し、Ｋ文字の認識する各文字について、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする請求項１１に記載の文字認識候補選出方法。
【請求項１３】
変換された画像データから、認識する文字の画像データを抽出して文字認識をするための文字認識候補選出方法であって、
当該方法は、認識するための前記文字の画像データから特徴量を抽出する工程と、複数の文字の特徴量をあらかじめ登録された辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する工程と、前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程と、前記Ｐ個の認識候補から１候補を認識結果として出力する工程とを有する画像認識方法における前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程であり、前記文字認識候補選出方法は、
算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグからなる辞書の文字数分のデータを記憶する工程と、
前記メモリから距離とフラグとを読出す工程と、
前記フラグを識別する工程と、
読み出した前記距離の最小値を検出する工程と、
フラグと読み出した距離をメモリに書込む工程とを有し、
前記フラグを識別して選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて読み出した距離と共にメモリに書込む処理をＰ回繰返し、
Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする文字認識候補選出方法。
【請求項１４】
更に複数の回路の情報を保持する工程と、回路の情報を入力して回路を書換える工程とを有し、
算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグの未選出か否かを示す値からなる辞書の文字数分のデータをメモリに入力する第１の回路の情報と、前記メモリから距離とフラグを読出し、フラグを識別して選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて、読み出した距離と共にメモリに書込む処理をＰ回繰返し、Ｐ個のメモリアドレスとその距離を認識候補として出力する第２の回路の情報とを保持し、
前記第１の回路の動作後に、メモリに入力されたデータを保持したまま、第２の回路に書換えた後、前記第２の回路を動作させて、距離が小さい順にＰ個の認識候補を辞書から選出することを特徴とする請求項１３に記載の文字認識候補選出方法。
【請求項１５】
前記第１の回路が複数であるＫ個のメモリを有し、並列処理により、Ｋ文字の認識する各文字について算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグの未選出を示す初期値をＫ個のメモリに入力し、
前記第２の回路が、Ｋ個のメモリから距離とフラグを読出し、並列処理により、フラグを識別して、選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて、読み出した距離と共にメモリに書込む処理をＰ回繰返し、
Ｋ文字の認識する各文字について、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする請求項１４に記載の文字認識候補選出方法。
【請求項１６】
請求項１０から１５のいずれか１項に記載の文字認識候補選出方法をコンピュータ機能を有する装置に実行させるためのプログラム。
【請求項１７】
請求項１６に記載のプログラムを記録しコンピュータ読み取り可能なことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＯＣＲ（Optical Character Reader）を用いた文字認識装置、この認識装置に使用される認識候補選出装置および文字認識候補選出方法に関し、またＯＣＲ装置やＯＣＲ付き複写機やプリンタ等の画像処理装置に文字認識装置を搭載可能なプログラム等の発明に関する。
【背景技術】
【０００２】
従来から、紙などの媒体に文書として記載された文字情報をＯＣＲで読み取り、これを文字化する発明が知られている。このような発明として、例えば特許文献１には、文字認識装置の発明が開示されている。
【０００３】
この特許文献には、文字認識処理における、１文字の未知文字と全辞書文字との相違度の算出において、まず未知文字の輪郭線の長さを抽出し、それに近い辞書文字群を第１辞書として選択して相違度の小さいものを第１ソート部で選出し、第１辞書に選択されなかった辞書文字群を第２辞書として選択して相違度を計算し、計算途中で所定の閾値を超えた場合は計算を打ち切って相違度の小さいものを第２ソート部で選出し、第１ソート部と第２ソート部の選出結果の候補を更に詳細識別して候補文字を決定して、全辞書文字との相違度の算出時間を短縮する文字認識装置が開示されている。この発明の文字認識装置では、辞書文字群を分類するための判断処理や、第２ソート部での閾値との比較による処理の打ち切りの判断処理が多いため、処理が複雑化しており、又、データの並べ替え処理も必要であるなど、処理に関し複雑であり、パフォーマンス性に問題がある。
【０００４】
また特許文献２には、文字認識方法の発明が開示されており、文字認識処理において、１文字の未知文字と全辞書文字との相違度である辞書との整合処理を行い、相違度が最も小さい第１候補と、次に相違度が小さい第２候補と、それぞれの相違度を選出する処理をＣＰＵ（Central Processing Unit）で行う発明が開示されている。
【特許文献１】特開平４−３７３０９０号公報
【特許文献２】特開平８−１９４７７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、複雑な判断処理を行わずに、データの並び替え処理も不要で、ハードウェアによって高速に辞書文字から認識候補を選出できる文字認識装置、認識候補選出装置、文字認識候補選出方法およびプログラムを提供する事を目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、請求項１に記載の文字認識装置の発明は、原稿を光学的に読取って画像データに変換する原稿読取り手段と、前記画像データから認識する文字の画像データを抽出する手段と、前記認識する文字の画像データから特徴量を抽出する手段と、複数の文字の特徴量をあらかじめ辞書として登録する手段と、前記辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する手段と、前記距離が小さい順に複数であるＰ個の認識候補を辞書から選出する手段と、前記Ｐ個の認識候補から１候補を認識結果として出力する手段とを有する文字認識装置であって、前記距離が小さい順に前記Ｐ個の認識候補を辞書から選出する手段が、辞書の文字数分の算出した距離を記憶する第１のメモリと、各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグを記憶する第２のメモリと、前記第１のメモリから距離を読み出し、前記第２のメモリからその距離に対応するフラグを読出す手段と、フラグを識別する手段と、読み出した前記距離の最小値を検出する手段と、前記第２のメモリのフラグを書換える手段とを有し、フラグを識別して、選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返して前記Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする。
【０００７】
また請求項２に記載の発明は、請求項１に記載の文字認識装置において、前記Ｐ個の認識候補を辞書から距離が小さい順に選出する手段は複数のＫ個有し、前記距離が小さい順に選出する手段による並列処理により、Ｋ文字の認識する各文字について、前記Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする。
【０００８】
また請求項３に記載の発明は、請求項１に記載の文字認識装置において、更に複数の回路の情報を保持する手段と、前記回路の情報を入力して回路を書換える半導体デバイスとを有し、辞書の文字数分の算出した距離を第１のメモリに入力し、各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグの未選出を示す初期値を第２のメモリに入力する第１の回路の情報と、第１のメモリから距離を、第２のメモリからその距離に対応するフラグを読出し、フラグを識別して、選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理を前記Ｐ回繰返し、前記Ｐ個のメモリアドレスとその距離を認識候補として出力する第２の回路の情報とを保持し、第１の回路の動作後に、第１のメモリと第２のメモリに入力されたデータを保持したまま、第２の回路に書換えた後、第２の回路を動作させて、距離が小さい順に前記Ｐ個の認識候補を辞書から選出することを特徴とする。
【０００９】
また請求項４に記載の発明は、請求項３に記載の文字認識装置において、前記第１の回路が、複数であるＫ個の第１のメモリと、前記第１のメモリと同数の第２のメモリとを有し、並列処理によりＫ文字の認識する各文字について算出した距離をＫ個の前記第１のメモリに入力し、Ｋ文字の認識する各文字について各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグの未選出を示す初期値をＫ個の前記第２のメモリに入力し、前記第２の回路が、前記Ｋ個の第１のメモリから距離を読出し、前記Ｋ個の第２のメモリからその距離に対応するフラグを読出し、並列処理によりフラグを識別して選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返し、Ｋ文字の認識する各文字について、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする。
【００１０】
また請求項５に記載の文字認識装置の発明は、原稿を光学的に読取って画像データに変換する原稿読取り手段と、画像データから認識する文字の画像データを抽出する手段と、認識する文字の画像データから特徴量を抽出する手段と、複数の文字の特徴量をあらかじめ辞書として登録する手段と、辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する手段と、距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する手段と、前記Ｐ個の認識候補から１候補を認識結果として出力する手段とを有する文字認識装置であって、前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する手段が、算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグからなる辞書の文字数分のデータを記憶するメモリと、前記メモリから距離とフラグとを読出す手段と、前記フラグを識別する手段と、読み出した前記距離の最小値を検出する手段と、フラグと読み出した距離をメモリに書込む手段とを有し、前記フラグを識別して、選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて読み出した距離と共にメモリに書込む処理をＰ回繰返し、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする。
【００１１】
また請求項６に記載の発明は、請求項５に記載の文字認識装置において、距離が小さい順にＰ個の認識候補を辞書から選出する手段を２以上の整数であるＫ個有し、並列処理してＫ文字の認識する各文字について前記Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする。
【００１２】
また請求項７に記載の発明は、請求項５に記載の文字認識装置において、更に複数の回路の情報を保持する手段と、回路の情報を入力して回路を書換える半導体デバイスとを有し、算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグの未選出を示す初期値からなる辞書の文字数分のデータをメモリに入力する第１の回路の情報と、メモリから距離とフラグを読出し、フラグを識別して選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて、読み出した距離と共にメモリに書込む処理をＰ回繰返し、Ｐ個のメモリアドレスとその距離を認識候補として出力する第２の回路の情報とを保持し、前記第１の回路の動作後に、メモリに入力されたデータを保持したまま、第２の回路に書換えた後、前記第２の回路を動作させて、距離が小さい順にＰ個の認識候補を辞書から選出することを特徴とする。
【００１３】
また請求項８に記載の発明は、請求項７に記載の文字認識装置において、前記第１の回路が、複数であるＫ個のメモリを有し、並列処理により、Ｋ文字の認識する各文字について算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグの未選出を示す初期値をＫ個のメモリに入力し、前記第２の回路が、前記Ｋ個のメモリから距離とフラグを読出し、並列処理により、フラグを識別して、選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて、読み出した距離と共にメモリに書込む処理をＰ回繰返し、前記Ｋ文字の認識する各文字について、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする。
【００１４】
また請求項９に記載の発明は、請求項１から８のいずれか１項に記載の文字認識装置に用いられる認識候補選出装置であって、前記距離が小さい順に前記Ｐ個の認識候補を辞書から選出する手段として使用可能なことを特徴とする。
【００１５】
また請求項１０に記載の発明は、変換された画像データから、認識する文字の画像データを抽出して文字認識をするための文字認識候補選出方法であって、当該方法は、認識するための前記文字の画像データから特徴量を抽出する工程と、複数の文字の特徴量をあらかじめ登録された辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する工程と、前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程と、前記Ｐ個の認識候補から１候補を認識結果として出力する工程とを有する画像認識方法における前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程であり、前記文字認識候補選出方法は、前記辞書の文字数分の算出した距離を第１のメモリに記憶する工程と、各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグを第２のメモリに記憶する工程と、前記第１のメモリから距離を読み出し、前記第２のメモリからその距離に対応するフラグを読出す工程と、フラグを識別する工程と、読み出した前記距離の最小値を検出する工程と、前記第２のメモリのフラグを書換える工程とを有し、フラグを識別し選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返して前記Ｐ個のメモリアドレスとその距離とを認識候補として出力することを特徴とする。
【００１６】
また請求項１１に記載の発明は、変換された画像データから、認識する文字の画像データを抽出して文字認識をするための文字認識候補選出方法であって、当該方法は、認識するための前記文字の画像データから特徴量を抽出する工程と、複数の文字の特徴量をあらかじめ登録された辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する工程と、前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程と、前記Ｐ個の認識候補から１候補を認識結果として出力する工程とを有する画像認識方法における前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程であり、前記文字認識候補選出方法は、辞書の文字数分の算出した前記距離を第１のメモリに入力する工程と、前記算出した各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分フラグの未選出か選出かを示す初期値を第２のメモリに入力する第１の回路の情報と、前記第１のメモリから距離を前記第２のメモリからその距離に対応するフラグを読出す工程と、フラグを識別して、選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返す工程と、Ｐ個のメモリアドレスとその距離を認識候補として出力する第２の回路の情報とを保持する工程と、第１の回路の動作後に、第１のメモリと第２のメモリに入力されたデータを保持したまま第２の回路に書換えた後、第２の回路を動作させて距離が小さい順に前記Ｐ個の認識候補を辞書から選出することを特徴とする。
【００１７】
また請求項１２に記載の発明は請求項１１に記載の文字認識候補選出方法において、前記第１の回路が、複数のＫ個の第１のメモリと、前記Ｋ個の第２のメモリとを有し、並列処理によりＫ文字の認識する各文字について算出した距離をＫ個の前記第１のメモリに入力し、Ｋ文字の認識する各文字について各距離が選出済の認識候補の距離であるか否かを識別する辞書の文字数分のフラグの未選出を示す初期値をＫ個の前記第２のメモリに入力し、前記第２の回路が、前記Ｋ個の第１のメモリから距離を読出し、前記Ｋ個の第２のメモリからその距離に対応するフラグを読出し、並列処理によりフラグを識別して選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に書換える処理をＰ回繰返し、Ｋ文字の認識する各文字について、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする。
【００１８】
また請求項１３に記載の発明は、変換された画像データから、認識する文字の画像データを抽出して文字認識をするための文字認識候補選出方法であって、当該方法は、認識するための前記文字の画像データから特徴量を抽出する工程と、複数の文字の特徴量をあらかじめ登録された辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する工程と、前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程と、前記Ｐ個の認識候補から１候補を認識結果として出力する工程とを有する画像認識方法における前記距離が小さい順に２以上の整数であるＰ個の認識候補を辞書から選出する工程であり、前記文字認識候補選出方法は、算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグからなる辞書の文字数分のデータを記憶する工程と、前記メモリから距離とフラグとを読出す工程と、前記フラグを識別する工程と、読み出した前記距離の最小値を検出する工程と、フラグと読み出した距離をメモリに書込む工程とを有し、前記フラグを識別して選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて読み出した距離と共にメモリに書込む処理をＰ回繰返し、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする。
【００１９】
また請求項１４に記載の発明は請求項１３に記載の文字認識候補選出方法において、更に複数の回路の情報を保持する工程と、回路の情報を入力して回路を書換える工程とを有し、算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグの未選出か否かを示す値からなる辞書の文字数分のデータをメモリに入力する第１の回路の情報と、前記メモリから距離とフラグを読出し、フラグを識別して選出していない認識候補の距離の最小値を検出してその距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて、読み出した距離と共にメモリに書込む処理をＰ回繰返し、Ｐ個のメモリアドレスとその距離を認識候補として出力する第２の回路の情報とを保持し、前記第１の回路の動作後に、メモリに入力されたデータを保持したまま、第２の回路に書換えた後、前記第２の回路を動作させて、距離が小さい順にＰ個の認識候補を辞書から選出することを特徴とする。
【００２０】
また請求項１５に記載の発明は請求項１４に記載の文字認識候補選出方法において、前記第１の回路が複数であるＫ個のメモリを有し、並列処理により、Ｋ文字の認識する各文字について算出した距離とその距離が選出済の認識候補の距離であるか否かを識別するフラグの未選出を示す初期値をＫ個のメモリに入力し、前記第２の回路が、Ｋ個のメモリから距離とフラグを読出し、並列処理により、フラグを識別して、選出していない認識候補の距離の最小値を検出して、その距離のメモリアドレスを出力し、その距離に対応するフラグを選出済に変えて、読み出した距離と共にメモリに書込む処理をＰ回繰返し、Ｋ文字の認識する各文字について、Ｐ個のメモリアドレスとその距離を認識候補として出力することを特徴とする。
【００２１】
また請求項１６に記載の発明は、請求項１０から１５のいずれか１項に記載の文字認識候補選出方法をコンピュータ機能を有する装置に実行させるためのプログラムの発明である。
【００２２】
また請求項１７に記載の発明は、請求項１６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２３】
本発明によって、複雑な判断処理を行わずに、データの並び替え処理も不要で、ハードウェアによって高速に辞書文字から認識候補を選出する文字認識装置、認識候補選出装置、文字認識候補選出方法およびプログラムを提供できる。また並列処理を行って、高速に辞書文字から認識候補を選出する文字認識装置、認識候補選出装置、文字認識候補選出方法およびプログラムを提供することもできる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００２５】
図１に本実施形態の文字認識装置の構成例を示す。図１に示すように、本実施形態の文字認識装置は、スキャナ１と、ＣＰＵ（Central Processing Unit）２と、ＲＡＭ（Random Access Memory）３と、ＲＯＭ（Read Only Memory）４と、ハードディスク装置５と、操作装置６と、ディスプレイ７と、認識候補選出装置８とが、バスを介して接続されて構成されている。
【００２６】
スキャナ１は、原稿読取り手段であり、原稿を光学的に読取って画像データに変換する。ＣＰＵ２は、前記したスキャナからの画像データから認識する文字の画像データを抽出する処理と、認識する文字の画像データから特徴量を抽出する処理と、複数の文字の特徴量をあらかじめ辞書として登録する処理と、辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出する処理と、所定個数の認識候補から１候補を認識結果として出力する処理を含む方法をコンピュータに実行するためのプログラムを実行して、前記処理を行う。ＲＡＭ３は、前記各処理の実行時にプログラムやデータを一時的に記憶する部である。ＲＯＭ４は、少量のデータや小規模のプログラムデータを記憶する部である。ハードディスク装置５は、辞書等の大容量のデータや大規模なプログラムデータを記憶する部である。
【００２７】
操作装置６は、文字認識装置のユーザからの操作を行うためのものであり、原稿をスキャナで読取る時に読取り動作の開始を指定するためのスタートボタン等を有している。ディスプレイ７は、本実施形態の文字認識装置からユーザに対して、操作のための情報等を表示する部である。認識候補選出装置８は、辞書から選出された１つの情報と文字認識された画像情報との類似度を示す度合いである距離が小さい順に所定個数の認識候補を辞書から選出する部である。
【００２８】
以下に、このような図１に示すような構成を有する本実施形態の文字認識装置等の発明について、その動作を説明する。
【００２９】
まず、文字認識されるための原稿をスキャナ１で光学的に読取って画像データに変換する。得られた画像データから、認識する文字の画像データを抽出する。そして認識する文字の１文字ごとの画像データから特徴量を抽出する。文字認識される文字の種類は、英数字、カタカナ、平仮名、漢字、アラビア数字等の複数の文字が存在しこれらの特徴量と、その文字の文字コードと、前記した特徴量と文字コードとを対応付ける通し番号があらかじめ辞書のデータとして、ハードディスク装置５に保存されている。従って、前記した特徴量と文字コードとを対応付ける通し番号から、その通し番号に対応する文字コードとその文字の特徴量が分かる。以後、これを辞書データと呼ぶ。この辞書データをハードディスク装置５から読出し、バスを経由してＲＡＭ３に記憶させておき、ＣＰＵ２から高速に辞書データを読み出せるようにしておく。尚、辞書データをＲＡＭ３に記憶させる処理は、文字認識装置の初期動作として、原稿をスキャナ１で読取る前に１回だけ行っておけばよく、毎回あるいはその度ごとに行う必要はない。
【００３０】
次にＲＡＭ３に記憶した辞書データを読み出し、辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離を算出（演算）する。認識する文字の１文字について辞書文字数分の距離を算出し、その結果をＲＡＭ３に記憶する。距離データの並びを辞書文字の並びに対応させてＲＡＭ３に記憶する。これにより、辞書に登録された文字の文字コードは、距離データの並びの通し番号から分かる。記憶した距離データをＲＡＭ３から読出し、バスを経由して認識候補選出装置８に入力する。認識候補選出装置８においてその小さい距離の順に所定個数、認識候補を辞書から選出する。この認識候補の選出結果として、小さい順にその所定個数の距離と、その距離に対応する通し番号を選ぶ。認識候補選出装置８が出力した小さい順の所定個数の距離と、その距離に対応する通し番号を、バスを経由してＲＡＭ３に入力する。そして、ＣＰＵ２が、ＲＡＭ３上の所定個数の認識候補から１候補を認識結果として出力する。
【００３１】
本発明は、認識候補選出装置８における処理方法（文字認識方法における文字認識候補選出方法）と実現方法に主に特徴がある。以下、認識候補選出装置８、これらの方法等およびコンピュータ機能を有する装置（たとえば複写機やプリンタ等の画像処理装置、デジタル画像形成装置などを含む）にこれらの方法を実行するためのプログラム等について、その詳細を説明する。
【００３２】
図２と図３を参照しながら、認識候補選出装置８で行う処理方法を以下に述べる。まず図２（ａ）に、ＣＰＵ２により、辞書に登録された各文字の特徴量と抽出された文字の特徴量との距離とが、認識する文字の１文字について、辞書文字数分算出されているメモリに入力される例を示す。これを（ＲＡＭ３またはハードディスク装置５内の少なくともいずれかの）メモリに入力する。メモリのアドレスから、その距離に対応する文字コードが分かる。図２（ａ）中のＮは辞書文字数を表す。そして、図２（ａ）に示すように、各距離に対応させて、１ビットのフラグデータを辞書文字数だけメモリ（レジスタでもよい）に記憶させる。このフラグは、各距離が選出済の認識候補の距離であるか否かを識別するために使用する。図２（ａ）に示すように、全てのフラグの初期値は「０」とし、全距離は認識候補として未選出であることを示している。
【００３３】
まず、メモリ上の全距離をアドレス順に１つずつ読み出し、距離１から距離Ｎの中の最小値を抽出する。図２（ｂ）に示すように、その最小値の距離を距離Ａとする（図２（ｂ）の太文字で示した部分参照）。そして、この最小値と認められた距離Ａのデータとそのアドレスを認識候補の第１位として出力する。そして、この距離Ａのフラグを認識候補として、選出済みであることを示す「１」に書換える（図２（ｂ）のメモリ上のデータ「距離Ａ」のフラグ参照）。
【００３４】
次に図３（ａ）に示すように、再び、メモリ上の全距離をアドレス順に１つずつ読み出し、距離１から距離Ｎの最小値を抽出する。この時、距離の読み出しと同時にフラグも読み出す。そしてこの読み出しの際にフラグが「０」か「１」かによって、読み出した距離が、認識候補として選出済みであるか否かを判別する。判別の結果、フラグが「１」であれば、その距離は選出済みであるので、最小値を抽出するデータとして除外する。すなわち図３（ａ）中の距離Ａのフラグは「１」であり、選出済みである。このため距離Ａを除外し、これ以外の距離データから最小値を抽出することになる。このようにして、抽出された最小値を、図３（ｂ）に示すように距離Ｂとする。これが第２回目に選んだ際の最小値になる。そして、距離Ｂのデータとそのアドレスを認識候補の第２位として出力する。そして、出力された距離Ｂのフラグを、認識候補として選出済みである事を示す「１」に書換える（図３（ｂ）中のメモリ上のデータ「距離Ｂ」の「フラグ」参照）。
【００３５】
このような手順により、以下同様にして、メモリ上の全距離データとフラグをアドレス順に１つずつ読み出し、フラグが「０」である距離データから最小値を抽出する処理をＰ回（Ｐは２以上の整数）繰返し、距離の最小値から順に第１位、第２位、・・・、第Ｐ位までを出力する。なお、説明を分かり易くするために、距離Ａのデータとそのアドレスを認識候補の第１位として出力する時の処理で、各距離のフラグデータを判別する処理を記載しなかった。この時のフラグは全て「０」であることが分かっているため、各距離のフラグデータを判別する処理は不要である。しかし、処理をＰ回繰返す時の制御を簡素化するために、１回目の処理に各距離のフラグデータを判別する処理を伴って行ってもよい。
【００３６】
メモリ上のデータ（距離データとフラグデータ）をアドレス順に読出し、１ビットのフラグデータを判別して、最小値を１つ抽出するという簡単な処理を繰返す。このように、複雑な判断処理を行わずにデータの並び替え処理も省略して処理を行うことにより、距離が小さい順に所定個数（ここの説明ではＰ個）の認識候補を辞書から容易に選出できる。
【００３７】
図４と図５を参照しながら、上記の処理方法等の発明について、その具体的な例を第１実施例として以下に説明する。
【００３８】
＜第１実施例＞
図４は第１実施例の処理方法を実行するための各処理部のブロック図を示し、図５はその処理フローを示すフローチャートである。
【００３９】
まず、構成例としては、距離データを記憶する第１メモリ１１−１と、フラグデータを記憶する第２メモリ１１−２と、距離の最小値を抽出するための２つの入力データの値の大小を比較して、その比較結果と小さい方のデータを出力する大小比較器１２と、大小比較器１２から出力されたデータを保持する第１レジスタ１３−１と、第１メモリ１１−１と第２メモリ１１−２のデータを読み出す時のアドレスを出力するアドレスカウンタ１５と、距離の最小値のアドレスを保持するための２つの入力データの一方を出力するセレクタ１４と、セレクタ１４の出力データを保持する第２レジスタ１３−２と、フラグが「０」であるか否かを判別し、その判別結果を出力する判別器１６と、これらの動作を制御する制御回路１７とからなる。
【００４０】
図５の処理フローによりこれらの上記した各処理部の動作を説明する。まず、全距離データが第１メモリ１１−１に書込まれ、全フラグ「０」が第２メモリ１１−２に書込まれる（ステップＳ１）。次に、第１レジスタ１３−１と第２レジスタ１３−２とに初期値を設定し、アドレスカウンタ１５を０にする（ステップＳ２）。第１レジスタ１３−１の初期値は、全距離データの最小値を求めるための初期値であるので、距離データのビット数によって決まる最大値を設定する。例えば、距離データが２４ビットでの符号なしの整数ならば、１６進表示で「ＦＦＦＦＦＦ」を設定する（２の２４乗＝１６の６乗）。第２レジスタ１３−２の初期値は、距離の最小値のアドレスを保持するための初期値であるので、特定の値である必要はなく、例えば０でもよい。
【００４１】
次に、第１メモリ１１−１から距離データを、第２メモリ１１−２からフラグデータをそれぞれ読み出す（ステップＳ３）。判別器１６によってフラグが「０」であるか否かを判別する（ステップＳ４）。フラグが「０」であれば（ステップＳ４においてＹＥＳの場合）、この距離データは、認識候補として未だ選出されていないので、大小比較器１２で読み出した距離と第１レジスタ１３−１からの値の大小比較を行う（ステップＳ５）。またステップＳ４においてフラグが「０」でなければ（ステップＳ４においてＮＯの場合）、読み出した距離データは、認識候補として選出済みであるので、距離の大小比較を行わず、ステップＳ７に進む。
【００４２】
上記ステップＳ５において大小の比較の結果、読み出した距離が第１レジスタ１３−１の値より小さい場合（ステップＳ５においてＹＥＳの場合）には、この距離が大小比較器１２から出力される。制御回路１７に入力されている比較結果によって、第１レジスタ１３−１にこの距離を保持するように制御し、同時に、今のアドレスをセレクタ１４で選択して出力し、第２レジスタ１３−２に保持するように制御し、更に、フラグデータ「１」を第２メモリ１１−２に書込む（ステップＳ６）。ステップＳ５の大小比較の結果、読み出した距離が第１レジスタ１３−１からの値以上の場合（ステップＳ５においてＮＯの場合）には、読み出した距離は最小値になる可能性はないので、ステップＳ７に進む。
【００４３】
読み出した距離が選出済みの判断（ステップＳ４）と最小値となりえるかの判断（ステップＳ５〜Ｓ６）の処理が終わったので、次の距離データとフラグデータを読み出すためにアドレスカウンタ１５のカウンタ値を１加算する（ステップＳ７）。その結果、カウンタの値が最後の距離データのアドレス値を超えている否かを判断することにより、第１メモリ１１−１の距離データを全て読み出したかを判別する（ステップＳ８）。
【００４４】
ステップＳ８において、第１メモリ１１−１の距離データを全て読み出したら（ステップＳ８においてＹＥＳの場合）、第１レジスタ１３−１で保持している値（最小距離データ）と、第２レジスタ１３−２で保持している値（アドレス）を出力し、ステップ１０に進む（ステップＳ９）。ステップＳ８において、第１メモリ１１−１の距離データを全て読み出していなかったら（ステップＳ８においてＮＯの場合）ステップＳ３に戻り、次の距離データとフラグデータを読み出し、全距離データを読み出すまで上記した処理を繰返す。
【００４５】
またステップＳ１０において所定の個数であるＰ個の距離の最小値とそのアドレスを出力したかを判別する。つまり、フラグが「０」の距離データから最小値を抽出して出力し、そのフラグを「１」に書換える処理をＰ回繰返したかを判別する。このステップＳ１０における判別結果がＹＥＳの場合には処理を終了する。またステップＳ１０においてＮＯの場合にはステップＳ２に戻り、処理をＰ回繰返すこととなる。
【００４６】
このように、メモリ上のデータ（距離データとフラグデータ）をアドレス順に読出し、１ビットのフラグデータを判別して、最小値を１つ抽出するという簡単な処理を繰返して実行するため、複雑な判断処理を行わずに、データの並び替え処理も不要になり、認識候補選出装置をハードウェア上で実現しており、処理を高速化することができる。
【００４７】
＜第２実施例＞
図６に、第２実施例を示す。この実施例では、第１実施例のブロック構成からなる回路を１つの認識候補選出回路として構成し、Ｋ個（Ｋは２以上の整数）の認識候補選出回路を使用して、並列処理化する。各認識候補選出回路には、未知文字１文字分の距離を入力し、認識候補として距離の小さい順にＰ個の距離とそのアドレスとを出力する。これによりＫ文字の認識する各文字について、並列に認識候補を出力するので、高速に辞書文字から認識候補を選出できる。
【００４８】
上記した第１実施例と第２実施例においては、認識候補選出回路として、ＬＳＩ（Large Scale Integrated circuit）やＦＰＧＡ（Field Programmable Gate Array）等による回路として実現することができる。
【００４９】
以下、動的に回路書換え可能な半導体デバイスを用いた実施例により本実施形態を説明する。動的に回路書き換えが可能な半導体デバイスとしては、参考文献（ＤＡＰＤＮＡのデバイス・アーキテクチャ，Ｄｅｓｉｇｎ  Ｗａｖｅ  Ｍａｇａｚｉｎｅ  ２００４年８月号，Ｐ．３０−３５，第２章，ＣＱ出版社）に記載されているように、ダイナミック・リコンフィギャラブル（Ｄｙｎａｍｉｃ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ:動的再構成可能）技術を使ったＬＳＩの１つとしてＤＡＰＤＮＡ−２（登録商標）がある。以下にその概要を説明する。
【００５０】
ＤＡＰＤＮＡ−２（登録商標）は、主にシーケンシャルな処理を行うＲＩＳＣ（Reduced Instruction Set Computer）プロセッサ・コアのＤＡＰ（Digital Application Processor）と、大規模なデータ処理や演算処理を行う２次元アレイ構造のＤＮＡ（Distributed Network Architecture）マトリックスとを内蔵したＬＳＩである。ＤＮＡマトリックスが動的に回路構成を切り換えられる部分である。回路構成の切り換え制御はＤＡＰが行う。ＤＮＡマトリックス内で構成される回路は、２次元アレイ状に並んだ演算器の接続と、これらの各演算器の動作を設定するデータによって定義される。１つの回路構成を定義するデータをコンフィグレーションデータと呼び、外部メモリに保存できる。
【００５１】
ＤＮＡマトリックス内のコンフィグレーションメモリは、３個のバックグラウンド・バンクと実行用バンクからなり、外部メモリに格納されたコンフィグレーションデータは、いずれのバンクへも転送できる。実行用バンクに転送されたコンフィグレーションデータによって、ＤＮＡマトリックス内に回路が構成される。バックグラウンド・バンクから実行用バンクへコンフィグレーションデータを転送することで、ＤＮＡマトリックスの回路構成を変更できる。つまり回路を書き換えることができる。バックグラウンド・バンクから実行用バンクへのコンフィグレーションデータの転送は１クロックで行える。また、ＤＮＡマトリックス内には、ＲＡＭを内蔵する演算器もあり、内部メモリとして使用できる。更に、ＲＡＭの内容は回路を書き換えても保持される。
【００５２】
以上に説明したように、ＤＡＰＤＮＡ−２（登録商標）は高速の回路書き換えが可能であり、内部メモリの内容を保持したまま回路書き換えが可能である。
【００５３】
＜第３実施例＞
以下、第３実施例として、認識候補選出回路を２つの回路に分割して、回路書換えによって認識候補選出装置の全体の機能を実現する実施例について説明する。
【００５４】
図７に、ＤＡＰＤＮＡ−２（登録商標）による認識候補選出装置の構成を示す。ＤＡＰＤＮＡ−２（登録商標）は、ＤＡＰと呼ばれるＣＰＵと、ＤＮＡと呼ばれる書換え可能な回路部を有する。更に、主記憶用の外部メモリとして揮発性のＲＡＭと、ＤＡＰ用のプログラムや回路データを記憶するためのプログラム用の不揮発性ＲＯＭとを接続するためのインターフェースを有する。そして、図１のバスと接続するためのインターフェースを有し、ＤＡＰとＤＮＡと各インターフェースは内部データバスに接続され、相互のデータ転送ができるように構成されている。
【００５５】
このような構成によって回路を書換える手順を、図８の処理フローを使用して説明する。ＤＡＰＤＮＡ−２（登録商標）に電源が入った時点がスタートになる。まず、ＲＯＭからプログラムデータを読み出す（ステップＳ１１）。読み出されるプログラムデータには、ＣＰＵが実行するプログラムと、ＤＮＡで構成するための回路データとが含まれる。次に読み出したプログラムデータをＲＡＭに記憶する（ステップＳ１２）。このＲＡＭに認識候補選出用の辞書データや未知文字データ、認識候補も記憶する。
【００５６】
次にＤＮＡで構成すべき回路用の回路データをＲＡＭから読み出し（ステップＳ１３）、ＤＮＡに回路を構成する（ステップＳ１４）。そしてＤＡＰからＤＮＡに対して起動信号を出力し、回路を動作させる（ステップＳ１５）。ＤＮＡでの回路動作が終了すると、ＤＡＰに対して割込み信号が入力されるまで信号割り込み信号の入力の有無を判断し（ステップＳ１６）、ＤＡＰは終了割り込み信号の入力を待つ（ステップＳ１６において終了割り込み信号入力されるまではＮＯの状態）。
【００５７】
終了割込み信号が入力されたら（ステップＳ１６においてＹＥＳの場合）、書換えるべき次の回路があるか否かを判断する（ステップＳ１７）。次の回路に書換える場合（ステップＳ１７でＹＥＳの場合）は、ステップＳ１３に戻り以下前記同様に実行する。また次の回路に書換える必要がない場合（ステップＳ１７でＮＯの場合）には、処理を終了する。以上の手順により、回路書換えを行うことができる。
【００５８】
図９に認識候補選出回路を２つの回路に分けた実施例における第１の回路を示し、また図１０に第２の回路の構成を示す。第１の回路は、図４の第１の実施例の回路の内、第１メモリ１１−１に距離データを書込み、第２メモリ１１−２にフラグデータの初期値「０」を書込む動作を行う部分の回路とすることができる。また第２の回路は、図４の第１実施例の回路の内、第１メモリ１１−１から距離データを、第２メモリ１１−２からフラグデータをアドレス順に１つずつ読み出し、フラグが「０」である距離データから最小値を抽出し、抽出した距離データに対応するフラグデータを「１」に書換える処理をＰ回繰返して、順番に距離の最小値の第１位、第２位、・・・、第Ｐ位を出力する回路である。なお第１の回路および第２の回路中の制御回路は、図４における制御回路１７が用いられるがこれら制御回路１７での第１の回路及び第２の回路を制御する制御部においてそれぞれの回路を制御する制御部中の制御部位は重なっていてもよく、また個々独立して制御するようになっていてもよい。
【００５９】
図１１の処理フローにより第３実施例の動作における、回路書換えによって認識候補を選出する動作について、以下に説明する。
【００６０】
まず、第１の回路をＤＡＰＤＮＡ−２（登録商標）のＤＮＡ内に構成する（ステップＳ２１）。次いで全距離データを第１メモリ１１−１に書込み、全フラグ「０」を第２メモリ１１−２に書込む（ステップＳ２２）。次に、第２の回路をＤＡＰＤＮＡ−２（登録商標）のＤＮＡ内に構成する（ステップＳ２３）。そして、第１レジスタ１３−１と第２レジスタ１３−２に初期値を設定し、アドレスカウンタを０にする（ステップＳ２４）。
【００６１】
次に、第１メモリ１１−１から距離データを、第２メモリ１１−２からフラグデータを読み出す（ステップＳ２５）。次に判別器１６によってフラグが「０」であるか否かを判別する（ステップＳ２６）。このステップにおいて、フラグが「０」であれば（ステップＳ２６においてＹＥＳの場合）、この距離データは、認識候補として未選出であるので、大小比較器１２で読み出した距離と第１レジスタ１３−１の値の大小比較を行い（ステップＳ２７）、またフラグが「０」でなければ（ステップＳ２６においてＮＯの場合）、読み出した距離データは、認識候補として選出済みであるので、距離の大小比較を行わず、ステップＳ２９に進む。
【００６２】
ステップＳ２７における大小比較の結果、読み出した距離が第１レジスタ１３−１の値より小さい場合（ステップＳ２７においてＹＥＳの場合）には、この距離が大小比較器１２から出力され、制御回路１７に入力されている比較結果によって、第１レジスタ１３−１にこの距離を保持するように制御し、同時に、今のアドレスをセレクタ１４で選択して出力し、第２レジスタ１３−２に保持するように制御し、更に、フラグデータ「１」を第２メモリ１１−２に書込む（ステップＳ２８）。
【００６３】
またステップＳ２７の大小比較の結果、読み出した距離が第１レジスタ１３−１の値より小さくない場合（ステップＳ２７においてＮＯの場合）には、読み出した距離は最小値になる可能性はないので、ステップＳ２９に進む。
【００６４】
読み出した距離の選出済みの可否と、最小値となりえるかの判断処理とが終わったので、次の距離データとフラグデータを読み出すためにアドレスカウンタ１５のカウンタ値を１加算する（ステップＳ２９）。そしてカウンタの値が最後の距離データのアドレスの値を超えているかを判断することにより、第１メモリ１１−１の距離データを全て読み出したかを判別する（ステップＳ３０）。
【００６５】
ステップＳ３０において、第１メモリ１１−１の距離データを全て読み出したら（ステップＳ３０においてＹＥＳの場合）、第１レジスタ１３−１で保持している値（最小距離データ）と、第２レジスタ１３−２で保持している値（アドレス）とを出力し、ステップＳ３２に進む。またステップＳ３０において、第１メモリ１１−１の距離データを全て読み出していなかったら（ステップＳ３０においてＮＯの場合）、ステップＳ２５に戻り、前記同様に次の距離データとフラグデータを読み出し、全距離データを読み出すまで処理を繰返す。
【００６６】
ステップ３２において所定の個数（Ｐ個）の距離の最小値とそのアドレスを出力したかを判別する。つまり、フラグが「０」の距離データから最小値を抽出して出力し、そのフラグを「１」に書換える処理をＰ回繰返したかを判別する。そしてこのステップＳ３２で判別結果がＹＥＳなら、処理を終了し、このステップＳ３２でＮＯの場合にはステップＳ２４に戻り、以下前記同様の処理をＰ回まで繰返す。
【００６７】
このようにして、認識候補を選出する回路を第１の回路と第２の回路に分けて回路を書換えて処理しているので、ＤＡＰＤＮＡ−２（登録商標）の回路規模が小さい場合でも、認識候補選出装置を実現できる。
【００６８】
＜第４実施例＞
図１２に第４実施例を示す。これは、第３実施例の図９に示した回路を距離入力回路とし、図１０に示した回路を候補出力回路とし、Ｋ個の距離入力回路を本第４実施例において第１の回路とし、Ｋ個の候補出力回路を本第４実施例における第２の回路とし、処理を並列化した第１の回路と第２の回路を書換えて、認識候補を選出する実施例である。その他に関しては前記した他の実施例と同様である。
【００６９】
まず、第１の回路における各距離入力回路１〜Ｋには、未知文字１文字分の距離を入力し、第１の回路全体としては、Ｋ文字分の未知文字の距離を入力することになる。その後、第２の回路に書換えて、各候補出力回路１〜Ｋから、認識候補として距離の小さい順にＰ個の距離とそのアドレスを出力する。第２の回路全体では、Ｋ文字の認識する各文字について、並列に認識候補を出力する。
【００７０】
このようにして、認識候補を選出する回路を第１の回路と第２の回路に分けて回路を書換えて処理しているので、ＤＡＰＤＮＡ−２（登録商標）の回路規模が小さい場合にも、認識候補選出装置を実現でき、更に、Ｋ文字の認識する各文字について、並列に認識候補を出力するので、高速に認識候補を選出できる。
【００７１】
＜第５実施例＞
以下に第５実施例を、図１３等を用いて説明する。上記した第１から第４実施例では、第１メモリ１１−１と第２メモリ１１−２の２個のメモリを用い、距離データとフラグデータを別々のメモリに記憶させていた。本第５実施例では、図１３に示すように、距離データとフラグデータを１個のデータとして扱い、例えば、１個のデータを３２ビットデータとし、３１ビットが距離データであり、１ビットがフラグデータであるとしている。距離データは３１ビットである必要はなく、３１ビット未満であればよく、たとえばその上位ビットに「０」を付加して３１ビットとして扱えばよい。
【００７２】
図１４に実施例５のブロック構成を示す。本実施例で使用される文字認識装置では、メモリ１１と、第１及び第２セレクタ１４−１、〜１４−２と、大小比較器１２と、第１から第３レジスタ１３−１〜１３−３と、アドレスカウンタ１５と、判別器１６と、制御回路１７とからなる。
【００７３】
そしてメモリ１１は距離データとフラグデータを記憶し、第１セレクタ１４−１はメモリ１１の入力データとして初期値「０」のフラグデータと距離を入力するか、メモリから読み出した距離とフラグデータ「１」を入力するかを選択し、大小比較器１２は距離の最小値を抽出するための２入力データの値の大小を比較して、その比較結果と小さい方のデータを出力し、第１レジスタ１３−１は大小比較器１２から出力されたデータを保持し、アドレスカウンタ１５はメモリ１１のデータを読み出す時のアドレスを出力し、第２セレクタ１４−２は距離の最小値のアドレスを保持するための２入力データの一方を出力し、第２レジスタ１３−２はセレクタの出力データを保持し、判別器１６はフラグが「０」であるか否かを判別し、その判別結果を出力し、第３レジスタ１３−３はメモリから読み出した距離データを一時的に保持する。また制御回路１７はこれらの各部の動作を制御する。
【００７４】
図１５に実施例５の処理フローを示す。まず、第１セレクタ１４−１が距離データとフラグデータ「０」を選択して出力するように設定し、距離データとフラグデータ「０」をメモリに書込む（ステップＳ４１）。書込んだ後は、第１セレクタ１４−１をメモリ１１から読み出した距離とフラグデータ「１」を選択して出力するように設定する。次に、第１レジスタ１３−１と第２レジスタ１３−２に初期値を設定し、アドレスカウンタを０にする（ステップＳ４２）。
【００７５】
次に、メモリ１１から距離データとフラグデータを読み出す（ステップＳ４３）。読み出した距離データは第３レジスタ１３−３に一時的に保持される。次に判別器１６によってフラグが「０」であるか否かを判別する（ステップＳ４４）。そしてステップＳ４４においてフラグが「０」であれば（ステップＳ４４でＹＥＳの場合）、この距離データは認識候補として未だ選出されていないので、大小比較器で読み出した距離と第１レジスタ１３−１の値の大小比較を行う（ステップＳ４５）。またステップＳ４４においてフラグが「０」でない場合（ステップＳ４４でＮＯの場合）には、読み出した距離データは認識候補として選出済みであるので、距離の大小比較を行わず、ステップＳ４７に進む。
【００７６】
ステップＳ４５において大小比較の結果、読み出した距離が第１レジスタ１３−１の値より小さい場合（ステップＳ４５においてＹＥＳの場合）には、この距離が大小比較器１２から出力される。制御回路１７に入力されている比較結果によって、第１レジスタ１３−１にこの距離を保持するように制御し、同時に、今のアドレスを第２セレクタ１４−２で選択して出力し、第２レジスタ１３−２に保持するように制御し、更に、フラグデータ「１」を第３レジスタ１３−３に保持しておいた読出した距離データと合わせてメモリ１１に書込む（ステップＳ４６）。他方、ステップＳ４５において大小比較の結果、読み出した距離が第１レジスタ１３−１の値より小さくない場合（ステップＳ４５でＮＯの場合）には、読み出した距離は最小値になる可能性はないので、ステップＳ４７に進む。
【００７７】
読み出した距離が選出済みであるか否かの処理と最小値となりえるかの判断処理が終わったので、次の距離データとフラグデータを読み出すためにアドレスカウンタ１５のカウンタ値を１加算する（ステップＳ４７）。その結果、カウンタの値が最後の距離データのアドレスの値を越えているか否かにより、メモリ１１の距離データを全て読み出したかを判別する（ステップＳ４８）。前記ステップＳ４８において、メモリ１１の距離データを全て読み出したら（ステップＳ４８でＹＥＳの場合）、第１レジスタ１３−１で保持している値（最小距離データ）と、第２レジスタ１３−２で保持している値（アドレス）とを出力し、ステップ５０に進む（ステップＳ４９）。ステップＳ４８においてメモリ１１の距離データを全て読み出していない場合（ステップＳ４８でＮＯの場合）にはステップＳ４３に戻り、前記同様に次の距離データとフラグデータを読み出し、全距離データを読み出すまで処理を繰返す。
【００７８】
またステップＳ５０において所定の個数（Ｐ個）の距離の最小値とそのアドレスを出力したかを判別する。つまり、フラグが「０」の距離データから最小値を抽出して出力し、そのフラグを「１」に書換える処理をＰ回繰返したかを判別する。ステップＳ５０において判別結果がＹＥＳなら、処理を終了する。またステップＳ５０においてＮＯならばステップＳ４２に戻り、処理をＰ回繰返す。
【００７９】
このように、１つのメモリ上のデータ（距離データとフラグデータ）をアドレス順に読出し、１ビットのフラグデータを判別して、最小値を１つ抽出するという簡単な処理の繰返しであるため、複雑な判断処理を行わずに、データの並び替え処理も不要になり、認識候補選出装置をハードウェアで実現しているため、処理を高速化でき、メモリを削減できる。
【００８０】
＜第６実施例＞
図１６に第６実施例を示す。これは、第５実施例のブロック構成からなる回路を１つの認識候補選出回路とし、Ｋ個（Ｋは２以上の整数）の認識候補選出回路を使用して、処理を並列化した実施例である。各認識候補選出回路には、未知文字１文字分の距離を入力し、認識候補として距離の小さい順にＰ個の距離とそのアドレスを出力する。これにより、Ｋ文字の認識する各文字について、並列に認識候補を出力するので、高速に辞書文字から認識候補を選出できる。
【００８１】
＜第７実施例＞
以下に第７実施例として、ＤＡＰＤＮＡ−２（登録商標）を使用して認識候補選出回路を２つの回路に分割し、回路書換えによって認識候補を選出する例について説明する。
【００８２】
図１７は認識候補選出回路を２つの回路に分けた内の第１の回路の構成を示し、図１８はその第２の回路の構成を示す。第１の回路は、図１４の第５実施例に使用される回路の内、メモリ１１に距離データとフラグデータの初期値「０」を書込む動作を行う部分の回路である。第２の回路は、図１４に示す第５実施例の回路の内、メモリから距離データとフラグデータをアドレス順に１つずつ読み出して、フラグが「０」である距離データから最小値を抽出し、抽出した距離データに対応するフラグデータを「１」に書換える処理をＰ回繰返して、順番に距離の最小値の第１位、第２位、・・・、第Ｐ位を出力する回路である。図１４に示す第５実施例の回路を、図１７〜１８に示すように、第１の回路と第２の回路に分割するのでメモリの入力データを切換える必要がなくなり、図１４に示す第５実施例の回路の第１のセレクタ１４−１は不要になる。
【００８３】
図１９に第７実施例の処理フローにより、回路書換えによって認識候補を選出する動作を以下に説明する。
【００８４】
まず、第１の回路をＤＡＰＤＮＡ−２（登録商標）のＤＮＡ内に構成する（ステップＳ５１）。そして、距離データとフラグデータ「０」をメモリに書込む（ステップＳ５２）。次に、第２の回路をＤＡＰＤＮＡ−２（登録商標）のＤＮＡ内に構成する（ステップＳ５３）。そして、第１レジスタ１３−１と第２レジスタ１３−２に初期値を設定し、アドレスカウンタ１５を０にする（ステップＳ５４）。
【００８５】
次に、メモリ１１から距離データとフラグデータを読み出す（ステップＳ５５）。読み出した距離データは第３レジスタ１３−３に一時的に保持する。判別器１６によってフラグが「０」であるか否かを判別する（ステップＳ５６）。フラグが「０」であれば（ステップＳ５６においてＹＥＳの場合）、この距離データは認識候補として未選出であるので、大小比較器１２で読み出した距離と第１レジスタ１３−１の値の大小比較を行う（ステップＳ５７）。ステップＳ５６においてフラグが「０」でなければ（ステップＳ５６においてＮＯの場合）、読み出した距離データは認識候補として選出済みであるので距離の大小比較を行わず、ステップＳ５９に進む。
【００８６】
ステップＳ５７の大小比較の結果、読み出した距離が第１レジスタ１３−１の値より小さい場合（ステップＳ５７においてＹＥＳの場合）には、この距離が大小比較器１２から出力される。制御回路１７に入力されている比較結果によって、第１レジスタ１３−１にこの距離を保持するように制御し、同時に、今のアドレスをセレクタ１４で選択して出力し、第２レジスタ１３−２に保持するように制御し、更に、フラグデータ「１」を第３レジスタ１３−３に保持しておいた読出した距離データと合わせてメモリ１１に書込む（ステップＳ５８）。ステップＳ５７において大小比較の結果、読み出した距離が第１レジスタ１３−１の値より小さくない場合（ステップＳ５７においてＮＯの場合）には、読み出した距離は最小値になる可能性はないので、ステップＳ５９に進む。
【００８７】
読み出した距離が選出済みの可否と、最小値となりえるかの判断処理とが終わったので、次の距離データとフラグデータを読み出すためにアドレスカウンタ１５のカウンタ値を１加算する（ステップＳ５９）。次にカウンタの値が最後の距離データのアドレスの値を超えているか否かにより、メモリ１１の距離データを全て読み出したかを判別する（ステップＳ６０）。
【００８８】
ステップＳ６０においてメモリ１１の距離データを全て読み出したら（ステップＳ６０においてＹＥＳの場合）、第１レジスタ１３−１で保持している値（最小距離データ）と、第２レジスタ１３−２で保持している値（アドレス）とを出力し、ステップＳ６２に進む（ステップＳ６１）。ステップＳ６０においてメモリ１１の距離データを全て読み出していなかったら（ステップＳ６０においてＮＯの場合）、ステップＳ５５に戻り、次の距離データとフラグデータを読み出し、全距離データを読み出すまで処理を繰返す。
【００８９】
ステップＳ６２において所定の個数（Ｐ個）の距離の最小値とそのアドレスを出力したかを判別する。つまり、フラグが「０」の距離データから最小値を抽出して出力し、そのフラグを「１」に書換える処理をＰ回繰返したかを判別する。そして判別結果がＹＥＳなら、処理を終了する。またＮＯならばステップＳ５４に戻り、処理をＰ回繰返す。
【００９０】
このようにして、１個のメモリを使用してメモリを削減すると共に認識候補を選出する回路を第１の回路と第２の回路に分けて回路を書換えて処理しているので、ＤＡＰＤＮＡ−２（登録商標）の回路規模が小さい場合にも、認識候補選出装置を実現できる。
【００９１】
＜第８実施例＞
図２０に第８実施例を示す。本実施例では第７実施例の図１７に示す回路を距離入力回路とし、図１８に示した回路を候補出力回路とし、Ｋ個の距離入力回路を第８の実施例における第１の回路とし、Ｋ個の候補出力回路を第８の実施例における第２の回路とし、処理を並列化した第１の回路と第２の回路を書換えて、認識候補を選出する実施例である。
【００９２】
まず、第１の回路の各距離入力回路には、未知文字１文字分の距離を入力し、第１の回路全体では、Ｋ文字分の未知文字の距離を入力する。その後、第２の回路に書換えて、各候補出力回路から認識候補として距離の小さい順にＰ個の距離とそのアドレスを出力する。第２の回路全体では、Ｋ文字の認識する各文字について、並列に認識候補を出力する。このようにして、各距離入力回路と各候補出力回路で１個のメモリを使用してメモリを削減し、認識候補を選出する回路を第１の回路と第２の回路に分けて回路を書換えて処理しているので、ＤＡＰＤＮＡ−２（登録商標）の回路規模が小さい場合にも、認識候補選出装置を実現でき、更に、Ｋ文字の認識する各文字について、並列に認識候補を出力するので、高速に認識候補を選出できる。
【００９３】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。すなわち、本実施形態の文字認識装置に使用される認識候補選出装置、認識候補選出方法は、前記したコンピュータ機能を有する画像形成装置等により、実現することもできる。この場合のプログラムとして、当該装置に読取可能なデジタル情報として記録媒体に記録されたものをロードしたり、あるいは適当なサーバからダウンロード可能なようであっても良い。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施形態に係る文字認識装置の構成例を示す図である。
【図２】本発明の実施形態に係る認識候補選出回路での処理を説明するための図である。
【図３】本発明の実施形態に係る認識候補選出回路での処理を説明するための図である。
【図４】本発明の実施形態に係る認識候補選出回路（第１実施例の処理方法を実行するもの）の内部構成を示すブロック図である。
【図５】本発明の実施形態（第１実施例）における文字認識候補選出処理の流れを示したフローチャートである。
【図６】本発明の実施形態に係る認識候補選出回路を複数用いた処理構成例（第２実施例の処理方法を実行するもの）を説明するための図である。
【図７】本発明の実施形態に係る認識候補選出装置（ＤＡＰＤＮＰ−２を用いたもの）の構成を示す図である。
【図８】本発明の実施形態（第３実施例）における回路書換え処理の流れを示したフローチャートである。
【図９】本発明の実施形態に係る認識候補選出回路（第３実施例の処理方法を実行するもので、２つの回路に分けた内の第１の回路）の内部構成を示すブロック図である。
【図１０】本発明の実施形態に係る認識候補選出回路（第３実施例の処理方法を実行するもので、２つの回路に分けた内の第２の回路）の内部構成を示すブロック図である。
【図１１】本発明の実施形態（第３実施例）における文字認識候補選出処理の流れを示したフローチャートである。
【図１２】本発明の実施形態に係る認識候補選出回路を複数用いた処理構成例（第４実施例の処理方法を実行するもの）を説明するための図である。
【図１３】本発明の実施形態（第３実施例）における処理で使用されるデータ列の構成を説明するための図である。
【図１４】本発明の実施形態に係る認識候補選出回路（第５実施例の処理方法を実行するもの）の内部構成を示すブロック図である。
【図１５】本発明の実施形態（第５実施例）における文字認識候補選出処理の流れを示したフローチャートである。
【図１６】本発明の実施形態に係る認識候補選出回路を複数用いた処理構成例（第６実施例の処理方法を実行するもの）を説明するための図である。
【図１７】本発明の実施形態に係る認識候補選出回路（第７実施例の処理方法を実行するもので、２つの回路に分けた内の第１の回路）の内部構成を示すブロック図である。
【図１８】本発明の実施形態に係る認識候補選出回路（第７実施例の処理方法を実行するもので、２つの回路に分けた内の第２の回路）の内部構成を示すブロック図である。
【図１９】本発明の実施形態（第７実施例）における文字認識候補選出処理の流れを示したフローチャートである。
【図２０】本発明の実施形態に係る認識候補選出回路を複数用いた処理構成例（第８実施例の処理方法を実行するもの）を説明するための図である。
【符号の説明】
【００９５】
１    スキャナ
２    ＣＰＵ（Central Processing Unit）
３    ＲＡＭ（Random Access Memory）
４    ＲＯＭ（Read Only Memory）
５    ハードディスク装置（ＨＤＤ：Hard Disc Drive）
６    操作装置
７    ディスプレイ
８    認識候補選出装置
１１    メモリ
１１−１〜２    第１〜第２メモリ
１２    大小比較器
１３−１〜３    第１〜３レジスタ
１４    セレクタ
１５    アドレスカウンタ
１６    判別器
１７    制御回路
【図１】
2009277148.tif 000003
【図２】
2009277148.tif 000004
【図３】
2009277148.tif 000005
【図４】
2009277148.tif 000006
【図５】
2009277148.tif 000007
【図６】
2009277148.tif 000008
【図７】
2009277148.tif 000009
【図８】
2009277148.tif 000010
【図９】
2009277148.tif 000011
【図１０】
2009277148.tif 000012
【図１１】
2009277148.tif 000013
【図１２】
2009277148.tif 000014
【図１３】
2009277148.tif 000015
【図１４】
2009277148.tif 000016
【図１５】
2009277148.tif 000017
【図１６】
2009277148.tif 000018
【図１７】
2009277148.tif 000019
【図１８】
2009277148.tif 000020
【図１９】
2009277148.tif 000021
【図２０】
2009277148.tif 000022