JP2010211402A - Simd型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体 - Google Patents

Simd型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP2010211402A
JP2010211402A JP2009055419A JP2009055419A JP2010211402A JP 2010211402 A JP2010211402 A JP 2010211402A JP 2009055419 A JP2009055419 A JP 2009055419A JP 2009055419 A JP2009055419 A JP 2009055419A JP 2010211402 A JP2010211402 A JP 2010211402A
Authority
JP
Japan
Prior art keywords
processor
minimum value
character
data
character recognition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009055419A
Other languages
English (en)
Other versions
JP5316107B2 (ja
Inventor
Hirofumi Sakagami
弘文 阪上
Shinichi Yamaura
慎一 山浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009055419A priority Critical patent/JP5316107B2/ja
Publication of JP2010211402A publication Critical patent/JP2010211402A/ja
Application granted granted Critical
Publication of JP5316107B2 publication Critical patent/JP5316107B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Discrimination (AREA)

Abstract

【課題】文字認識を高速に行うSIMD型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体を提供する。
【解決手段】同一処理を並行して実行できる複数の内部プロセッサと、内部プロセッサとデータ転送を行うグローバルプロセッサを備えるSIMD型プロセッサが、各内部プロセッサの内蔵メモリに記憶されている辞書データに登録されている文字の特徴量毎に未知文字の特徴量データとの特徴量間距離を算出し、算出された特徴量間距離のうち、最小値1を選出し、各内部プロセッサが選出した複数の最小値1から最小値2を選出し、最小値2と、最小値2を保持していた内部プロセッサの識別番号と、該内部プロセッサで最小値1になった特徴量間距離を示す通し番号とを出力し、さらに最小値2を最大値に置き換え、再び、最小値1と最小値2を選出すなわち次に小さい特徴量間距離の選出を所定の回数行うことを特徴とする。
【選択図】図7

Description

本発明は、SIMD型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体に関し、特に文字認識においてより高速に処理するSIMD型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体に関する。
手書き、または印刷した文字を光学的に読み取るOCR(Optical Character Reader)は、標準パターンと入力パターンを比較して、最も似ている標準パターンを選択して認識結果とする文字認識用マッチング装置である。標準パターンと入力パターンを比較して、最も似ている標準パターンを選択する技術に関して、以下の技術が提案されている。
特許文献1には、SIMD(Single Instruction stream-Multiple Data stream)型並列プロセッサ内の各プロセッサエレメント(PE)のメモリに辞書パターンを1パターンずつ展開し、認識対象の入力パターンを各PEのメモリに展開し、各PEで辞書パターンと入力パターンのマッチング度を求め、コントロールプロセッサは全てのPEのマッチング度を集めて最もマッチした辞書パターンに対応した文字を認識結果とするパターン認識方法及びパターン認識装置が記載されている。
特許文献2には、中央処理部(CPU:Central Processing Unit)と並列処理部(SIMD)とを用いて、大量の生物学的な配列情報データベースから問い合わせ配列に最も近い配列情報を検索する生物学的な配列情報の検索装置、検索方法および検索プログラムが記載されている。まず、並列処理部で問い合わせ配列とデータベースとの間で配列マッチングを行い、1次候補配列を抽出する。次に、中央処理部で1次候補配列と問い合わせ配列との間で配列マッチングを行い、2次候補配列を抽出する。
特許文献3には、グローバルプロセッサと複数のプロセッサエレメント(PE)を備えたSIMD型プロセッサにおいて、PEの演算結果を隣接するPEに転送して、各PEのレジスタの値の総和値又は最大値若しくは最小値を求めるSIMD型マイクロプロセッサが記載されている。
しかしながら、上記のような技術には、以下の問題点がある。
特許文献1記載のパターン認識方法及びパターン認識装置は、1個のPEに辞書パターンを1パターンずつ展開しているため、辞書パターン数分のPEが必要になり、回路規模が大きくなる。或いは、辞書パターン数よりも少ない個数のPEで処理すると、辞書パターンを分割して複数回処理する必要があり、処理速度が低下する。また、全PEのマッチング度を集めてからマッチング度の最大値を求めているため、マッチング度のデータ転送に時間がかかり、処理速度が遅い。
特許文献2記載の検索装置、検索方法および検索プログラムは、1次候補配列は並列処理部で抽出しているので高速であるが、2次候補配列を中央処理部で抽出しているため、逐次比較処理を行うことになり、処理速度が遅い。
特許文献3記載のSIMD型マイクロプロセッサは、SIMD型プロセッサの各PEのレジスタの値の総和値又は最大値若しくは最小値を高速に求められるが、システムとして実現するための制御手段の開示が無い。
本発明はこのような状況に鑑みてなされたものであり、文字認識用マッチングにおいて高速処理を可能とすることを目的とする。
本発明に係るSIMD型プロセッサは、同一処理を並行して実行できる複数の内部プロセッサを備えるSIMD型プロセッサであって、前記複数の内部プロセッサとデータ転送を行うグローバルプロセッサを備え、前記内部プロセッサが有する内蔵メモリには、文字の特徴量が登録された辞書データが分割して記憶され、前記グローバルプロセッサは、入力された未知文字の特徴量データを、各内部プロセッサに転送し、各内部プロセッサは、前記内蔵メモリに記憶されている前記辞書データに登録されている文字の特徴量毎に、前記転送された未知文字の特徴量データと比較し、特徴量間の距離を算出して前記内蔵メモリに記憶し、前記内蔵メモリに記憶された特徴量間の距離のうち、最小値1を選出し、前記グローバルプロセッサは、各内部プロセッサが選出した複数の最小値1から最小値2を選出し、前記選出された最小値2と、前記最小値2を保持していた内部プロセッサの識別番号と、該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号とを出力し、さらに前記グローバルプロセッサは、前記最小値2を保持していた内部プロセッサの内蔵メモリに記憶された、前記最小値2に対応する特徴量間の距離を、その値が取りえる最大値に置き換え、再び、最小値1と最小値2を選出すなわち次に小さい特徴量間の距離の選出を所定の回数行うことを特徴とする。
本発明に係る文字認識装置は、上記本発明に係るSIMD型プロセッサと、文字の特徴量が登録された辞書データを記憶する記憶手段と、文字データから抽出された特徴量すなわち未知文字の特徴量データに基づいて前記SIMD型プロセッサから出力された最小値2、前記最小値2を保持していた内部プロセッサの識別番号、及び該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号と、前記辞書データとを参照し、前記未知文字の認識結果を選出するマッチング手段と、を備えることを特徴とする。
本発明に係る文字認識システムは、上記本発明に係る文字認識装置であって、更にネットワークインターフェースを備えた文字認識装置と、前記文字認識装置で実行されるプログラムと前記辞書データを保存するサーバーとが、ネットワークを介して接続され、前記文字認識装置は、前記サーバーからネットワーク経由で前記プログラムと前記辞書データを受信することを特徴とする。
本発明に係る文字認識方法は、上記本発明に係るSIMD型プロセッサと、文字の特徴量が登録された辞書データを記憶する記憶部と、を備える文字認識装置の文字認識方法であって、文字データから抽出された特徴量すなわち未知文字の特徴量データに基づいて前記SIMD型プロセッサから出力された最小値2、前記最小値2を保持していた内部プロセッサの識別番号、及び該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号と、前記辞書データとを参照し、前記未知文字の認識結果を選出するステップを備えることを特徴とする。
本発明に係る文字認識プログラムは、上記本発明に係るSIMD型プロセッサと、文字の特徴量が登録された辞書データを記憶する記憶部と、を備える文字認識装置の文字認識プログラムであって、文字データから抽出された特徴量すなわち未知文字の特徴量データに基づいて前記SIMD型プロセッサから出力された最小値2、前記最小値2を保持していた内部プロセッサの識別番号、及び該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号と、前記辞書データとを参照し、前記未知文字の認識結果を選出する処理をコンピュータに実行させることを特徴とする。
本発明に係る記録媒体は、上記本発明に係る文字認識プログラムの処理を記録するコンピュータ読取り可能な記録媒体である。
本発明によれば、文字認識用マッチングにおいて高速処理が可能となる。
本発明の実施形態に係る文字認識装置のブロック構成図である。 本発明の実施形態に係るマッチング部6の構成例を示す図である。 本発明の実施形態に係るSIMD型プロセッサ63の内部構成の概要を示す図である。 本発明の実施形態に係るマッチング処理の概要を示す図である。 本発明の実施形態に係る辞書の1文字と未知文字の1文字の特徴量データ間の距離の計算方法を示す図である。 本発明の実施形態に係るSIMD型プロセッサ63を使用して行うマッチング処理を説明するための図である。 本発明の実施形態に係るSIMD型プロセッサ63で行うマッチング処理を示すフローチャートである。 本発明の他の実施形態に係るマッチング部の構成を示す図である。 本発明の他の実施形態に係るマッチング部の構成を示す図である。 本発明の他の実施形態に係る文字認識装置10とサーバー11から構成される文字認識システムの全体構成図である。
以下に、本発明の実施形態について図面を用いて詳細に説明する。なお、以下に述べる実施形態は、本発明の好適な実施形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
〔構成〕
図1は、本発明の実施形態に係る文字認識装置のブロック構成図である。文字認識装置は、中央処理手段であるCPU1と、揮発性の記憶手段であるメモリ2と、不揮発性の記憶手段であるハードディスクドライブ(HDD)3と、原稿を光学的に読取る読取り手段であるスキャナ5と、出力情報を用紙に印刷等行う出力手段である出力部8と、未知文字の認識結果の選出すなわち認識用のマッチングを行うマッチング部6と、本装置をユーザが操作するためのユーザーインターフェース部7と、がデータバス4で接続され、構成されている。
本実施形態に係る文字認識装置は、まず、文字認識をしたい原稿をスキャナ5で読取り、原稿の画像データから文字を抽出し、その特徴量(未知文字の特徴量)を抽出する。HDD3には、予め、文字の特徴量が登録された辞書データが保存されている。辞書データと未知文字の特徴量がマッチング部6に入力され、マッチング部6は、未知文字の認識候補を複数個、辞書データから選出する。さらに、マッチング部6は、選出された複数個の認識候補から、前後の文字や文章として妥当性の高い認識候補を文字の認識結果として選出する。選出された文字の認識結果が、出力部8から用紙等に印刷出力される。
図2は、マッチング部6の構成例を示す図である。バスインターフェース61と、制御回路(1)62と、SIMD型プロセッサ63と、から構成される。
バスインターフェース61は、データバス4経由でデータ(プログラムデータも含む)の送受信を制御する。制御回路(1)62は、バスインターフェース61とSIMD型プロセッサ63との間のデータ入出力とSIMD型プロセッサで実行するプログラムの入力や起動を制御する。SIMD型プロセッサ63は、辞書データと未知文字の特徴量を入力し、未知文字の認識候補を複数個、辞書データから選出するマッチング処理を行う。
図3は、SIMD型プロセッサ63の内部構成の概要を示す図である。主に、内蔵メモリ633を持つ複数の内部プロセッサ632(1)〜632(K)(K:2以上の整数)と、各内部プロセッサとデータ転送をするグローバルプロセッサ635と、から構成される。更に、SIMD型プロセッサ63で実行するプログラムを記憶するプログラムメモリ636と、データを記憶するデータメモリ637と、SIMD型プロセッサ63で実行するプログラムを入力するためのホストインターフェース638と、SIMD型プロセッサへのデータの入出力を行うデータインターフェース631を有する。
入力データは、各内部プロセッサ(1)〜(K)に入力でき、内部プロセッサ(1)〜(K)からグローバルプロセッサ635にデータを送信できる。更にグローバルプロセッサ635はデータメモリ637にデータを書き込んだり読み出したりできる。逆に、データメモリ637上のデータをグローバルプロセッサ635が読み出して、各内部プロセッサ(1)〜(K)に送信し、各内部プロセッサ(1)〜(K)からデータインターフェース631を介してデータを出力できる。各内部プロセッサ(1)〜(K)は、入力したデータを内蔵メモリに書き込んだり、読み出したりでき、内蔵している演算器や複数個のレジスタを使用してプログラムに従ってデータ処理を行える。
SIMD型プロセッサ63であるので、1つのプログラムで、全内部プロセッサが同一処理を並行して実行できる。また、特許文献3(特開2002-229962号公報)に詳細に記載されているように、各内部プロセッサ(1)〜(K)が独立した演算を行うだけでなく、内部プロセッサの演算結果を隣接する内部プロセッサに転送する機能を有し、各内部プロセッサで保持している値の総和値又は最大値又は最小値を求める事もできる。
〔マッチング処理〕
図4にマッチング処理の概要を示す。マッチング処理は、1つの未知文字と辞書に登録された多くの文字とで、文字毎の特徴量間の距離を算出し、最も距離の小さい辞書文字を、未知文字の認識候補として複数個選出する処理である。辞書には特徴量データと文字コードとが対応付けられている。特徴量データの通し番号(1〜N:Nは整数)と文字コードとは対応付けられているため、マッチング処理では特徴量データの通し番号だけを扱えば良い。
図5に、辞書の1文字と未知文字の1文字の特徴量データ間の距離の計算方法を示す。1文字の特徴量データは、M個(Mは2以上の整数)のデータからなるM次元のベクトルデータである。辞書の1文字と未知文字の1文字の特徴量データの同一次元毎のデータの差を計算し、その絶対値又は2乗を算出する。これを全次元分加算した値が辞書の1文字と未知文字の1文字との特徴量の距離である。
未知文字の1文字に対して、辞書に登録されている全文字(例えば、日本語の活字であれば約4000文字)との距離を計算するには、辞書の1文字に対して、M回の減算と、M回の絶対値又は2乗計算と、M回の加算(累積加算)を行い、更にこれを辞書に登録されている全文字数分だけ繰返す。このように、マッチング処理の距離計算は非常に多くの回数の演算を行う。
このようにして計算された辞書に登録されている全文字数分の距離データ(日本語の活字であれば約4000個の距離データ)から、最小値を複数個(例えば小さい順に10個)選出する。その距離データと、辞書データの通し番号がマッチング処理の出力データである。
図6は、SIMD型プロセッサ63を使用して行うマッチング処理を説明するための図である。まず、内部プロセッサ632(1)〜(K)の内蔵メモリ633(1)〜(K)に辞書データを分割して記憶する。辞書に登録された文字数をNとすると、1個の内部プロセッサの内蔵メモリには、N÷K=P文字の辞書データ(辞書文字の特徴量データ)を記憶する。N÷Kが割り切れない場合は、ダミーの辞書データを追加して、全内部プロセッサの内蔵メモリに同一文字数の辞書データを記憶する。以後、この文字数をP文字とする。
図6に示すように、各内部プロセッサの内蔵メモリにP文字分の辞書文字の特徴量データ1〜Pを記憶する。図6では、1文字の辞書文字の特徴量データを1つの四角形で表しているが、実際にはM個のデータを記憶している。そして、未知文字の特徴量データをデータメモリ637に記憶する。これも、1文字の特徴量データはM個のデータである。複数文字の未知文字の特徴量データをデータメモリ637に記憶する。
次に、グローバルプロセッサ635が、未知文字の特徴量データをデータメモリ637から読み出して内部プロセッサ632(1)〜(K)のレジスタに転送する。その後、各内部プロセッサは、レジスタ634上の未知文字の特徴量データと、内蔵メモリ633上の辞書文字の特徴量データとの距離を計算して、内蔵メモリ633に記憶する。この結果、各内部プロセッサの内蔵メモリ633には、P個の距離データが記憶されている。
この後、これらの距離データ(P個×K個=N個)から最小値を複数個選出する。ここで、ダミーの辞書データを追加した場合は、そのダミーの辞書データを使用して計算した距離データを、その値が取りえる最大値に書換えておく。例えば、距離データが24ビットの符号なしデータであれば、その最大値は16進表示でFFFFFFであるから、この値に書換える。これは、ダミーの辞書データの文字(距離と通し番号)が認識候補として選出されるのを防ぐためである。
まず、各内部プロセッサ632の内蔵メモリ633上のP個の距離データから最小値(以後、これを最小値1と呼ぶ。)を選出する。これは、全プロセッサが同時に並行処理を行って選出する。そして、その最小値1になった距離の通し番号(1〜Pのいずれかの値)と、内部プロセッサの番号(1〜Kのいずれかの値)を各内部プロセッサ632のレジスタ634に保持する。
次に、各内部プロセッサ632のレジスタ634に保持された最小値1から最小値(以後、これを最小値2と呼ぶ。)を選出する。この時に、前述の特許文献3(特開2002-229962号公報)に詳細に記載されているように、内部プロセッサの演算結果を隣接する内部プロセッサに転送する機能を使用して、各内部プロセッサで保持している値の最小値を求める。同じ値の最小値1が複数個ある場合もあるので、内部プロセッサの番号の小さい方の最小値1を最小値2としても良い。こうして選出された最小値2をグローバルプロセッサ635がデータメモリ637に書き込む。そして、その内部プロセッサ番号と、その内部プロセッサでの距離の通し番号もデータメモリ637に書き込む。
内部プロセッサ番号とその内部プロセッサでの距離の通し番号から、辞書データの通し番号は算出できるため、別途、グローバルプロセッサ635で計算しても良いし、図1に示した文字認識装置のCPU1で算出しても良い。
次に、選出した最小値2に対応する内部プロセッサ632の内蔵メモリ633上の距離データを、その値のとりえる最大値に書換える。その後、次に小さい距離データの選出を今までの処理の繰返しで処理する。これを選出する候補数の回数だけ繰返す。このようにして、1文字の未知文字のマッチング処理を行い、更にこれを繰返して複数文字のマッチング処理を行う。
図7は、SIMD型プロセッサ63で行うマッチング処理を示すフローチャートである。まず、ステップS1で、辞書文字の特徴量データを各内蔵メモリ6321〜6341に分割して入力する。
次にステップS2で、グローバルプロセッサ635が、未知文字の特徴量データを各内部プロセッサ(1)〜(K)に転送する。
その後、ステップS3で、各内部プロセッサ632が、内蔵メモリ633の辞書文字と未知文字との特徴量間の距離を計算して内蔵メモリ633に記憶する。
そして、ステップS4で、各内部プロセッサ632が、内蔵メモリ内の距離の最小値1を選出する。
その後、ステップS5で、各内部プロセッサが選出した最小値1から最小値2を選出し、その最小値2と内部プロセッサの番号と、その内部プロセッサでの最小値1の通し番号とをグローバルプロセッサ635に転送する。
そして、ステップS6で、グローバルプロセッサ635が、最小値2と、内部プロセッサの番号と、その内部プロセッサでの最小値1の通し番号とをデータメモリ637に記憶する。
その後、ステップS7で、選出した最小値2に対応する内蔵メモリ内の距離を、その値が取りえる最大値に置き換える。
そして、ステップS8で、最小値2を所定の個数(選出する候補数)だけ選出したか否かを判断する。YESであれば、ステップS9に進む。NOであれば、ステップS4に戻り、再び最小値1と最小値2を選出する。
ステップS9では、所定の文字数の未知文字を処理したか否かを判断し、YESであれば、終了する。NOであれば、ステップS2に戻り、再び次の未知文字のマッチング処理を行う。
以上説明したように、SIMD型プロセッサ63でマッチング処理を行うことで、距離計算と最小値1の選出を並列処理で高速に行うことができ、更に最小値2もSIMD型プロセッサ63で選出することで、CPUで最小値を選出するよりも高速に処理することができる。
〔文字認識装置の動作処理〕
次に、上述したSIMD型プロセッサ63を利用するマッチング部6を備える文字認識装置(図1参照)の具体的な動作処理について説明する。
まず、読取手段であるスキャナ5が出力する原稿の画像データを入力して文字を抽出し、その特徴量(未知文字の特徴量)を出力するプログラム(a)と、文字の特徴量が登録された辞書データと、上述したマッチング処理を実行するSIMD型プロセッサ63用のプログラム(b)と、SIMD型プロセッサ63が出力する最小値2と、最小値2を保持していた内部プロセッサの番号と、その内部プロセッサで最小値1になった距離の通し番号とを入力して、文字の認識結果を出力するプログラム(c)とを、ハードディスクドライブ3に保存する。
次に、中央処理装置であるCPU1が、メモリ2を使用してプログラム(a)を実行して、メモリ2に未知文字の特徴量を出力する。
その後、プログラム(b)をSIMD型プロセッサ63に入力してプログラム(b)を起動し、辞書データと未知文字の特徴量をSIMD型プロセッサ63に入力する。そして、SIMD型プロセッサ63が出力する最小値2と、最小値2を保持していた内部プロセッサの番号と、その内部プロセッサで最小値1になった距離の通し番号とをメモリ2に出力する。
その後、プログラム(c)を実行して、メモリ上の最小値2と、最小値2を保持していた内部プロセッサの番号と、その内部プロセッサで最小値1になった距離の通し番号とを入力して、文字の認識結果をメモリ2に出力する。最後に、メモリ2上の文字の認識結果を出力部8で出力(例えば印刷)する。
以上の手順により、SIMD型プロセッサ63を利用したマッチング部6を備える文字認識装置によって、マッチング処理を高速化できる。
〔他の実施形態〕
図8に、本発明の他の実施形態に係るマッチング部の構成を示す。本実施形態(実施形態2)に係るマッチング部は、バスインターフェース61と、SIMD型プロセッサ63と、制御回路(2)65と、外部メモリ66と、から構成される。
バスインターフェース61は、データバス4経由でデータ(プログラムデータも含む)の送受信を制御する。外部メモリ66は、SIMD型プロセッサ63の入力データと出力データを記憶する。制御回路2は、バスインターフェース61と外部メモリ66とSIMD型プロセッサ63との間のデータ入出力とSIMD型プロセッサ63で実行するプログラムの入力や起動を制御する。SIMD型プロセッサ63は、辞書データと未知文字の特徴量を入力し、未知文字の認識候補を複数個、辞書データから選出するマッチング処理を行う。
以下に、本実施形態に係るマッチング部でのデータの入出力とプログラムの入力と起動の手順を説明する。
まず、データバス4からの入力データである辞書データと未知文字データを、バスインターフェース61を介して、制御回路(2)65によって外部メモリ66に記憶する。
次に、SIMD型プロセッサ63で実行するプログラム(プログラム(b))をバスインターフェース61を介して、制御回路(2)65によってSIMD型プロセッサ63に入力し起動する。
その後、制御回路(2)65によって外部メモリ66上の辞書データと未知文字データをSIMD型プロセッサ63に入力する。そして、SIMD型プロセッサ63の出力データ(最小距離選出結果)を制御回路(2)65によって外部メモリ66に記憶する。
外部メモリ66上の出力データを制御回路(2)65によって、バスインターフェース61を介してデータバス4に出力する。
ここで、データバス4上のデータ転送はできるだけ大量のデータを一括して連続転送すると、高速な転送ができる。従って、以上説明したように、CPU1とSIMD型プロセッサ63との間のデータ転送を外部メモリ66を介して一括して処理しているため、更に高速処理が可能となる。
図9に、本発明の他の実施形態に係るマッチング部の構成を示す。本実施形態(実施形態3)に係るマッチング部は、バスインターフェース61と、SIMD型プロセッサ63と、外部メモリ66と、制御回路(3)67と、から構成される。
バスインターフェース61は、データバス4経由でデータ(プログラムデータも含む)の送受信を制御する。外部メモリ66は、SIMD型プロセッサ63の入出力データとプログラムを記憶する。制御回路(3)67は、バスインターフェース61と外部メモリ66とSIMD型プロセッサ63との間のデータ入出力とSIMD型プロセッサ63で実行するプログラムの入力や起動を制御する。SIMD型プロセッサ63は、辞書データと未知文字の特徴量を入力し、未知文字の認識候補を複数個、辞書データから選出するマッチング処理を行う。
以下に、本実施形態に係るマッチング部でのデータの入出力とプログラムの入力と起動の手順を説明する。まず、データバス4からの入力データである辞書データと未知文字データとSIMD型プロセッサ63で実行するプログラム(プログラム(b))を、バスインターフェース61を介して、制御回路(3)67によって外部メモリ66に記憶する。
次に、制御回路(3)67によって、外部メモリ66上のプログラム(b)をSIMD型プロセッサ63に入力し起動する。その後、制御回路(3)67によって外部メモリ66上の辞書データと未知文字データをSIMD型プロセッサ63に入力する。そして、SIMD型プロセッサ63の出力データ(最小距離選出結果)を制御回路(3)67によって外部メモリ66に記憶する。そして、外部メモリ66上の出力データを制御回路(3)67によって、バスインターフェース61を介してデータバス4に出力する。
以上説明したように、CPU1とSIMD型プロセッサ63との間のデータ転送とプログラムの転送とを外部メモリ66を介して一括して処理しているため、更に高速処理が可能となる。
図10に、本発明の他の実施形態に係る文字認識装置10とサーバー11から構成される文字認識システムの全体構成図を示す。本実施形態(実施形態4)に係る文字認識装置10は、図1に示す文字認識装置に対して、更にネットワークインターフェース9を備え、ネットワーク12によってサーバー11と接続していることを特徴とする。
サーバー11は、プログラム(a)とプログラム(b)とプログラム(c)と辞書データとを保存する。本実施形態に係る文字認識装置10は、サーバー11からネットワーク12経由でプログラム(a)とプログラム(b)とプログラム(c)と辞書データとを受信し、ハードディスクドライブ3に保存する。その後は、上記図1に示す文字認識装置と同様に、文字認識を行う。
文字認識のソフトウェア(プログラムと辞書データ)の更新があった場合、サーバー11上のプログラム(a)とプログラム(b)とプログラム(c)と辞書データとは、更新して保存される。そして、ハードディスクドライブ3上のプログラム(a)とプログラム(b)とプログラム(c)と辞書データと、サーバー11上のプログラム(a)とプログラム(b)とプログラム(c)と辞書データとのバージョンを比較して、ハードディスクドライブ3上のプログラム(a)とプログラム(b)とプログラム(c)と辞書データのバージョンが、サーバー11上のプログラム(a)とプログラム(b)とプログラム(c)と辞書データとのバージョンより古い場合、本実施形態に係る文字認識装置は、ネットワーク12経由でサーバー11から新しいバージョンのプログラム(a)とプログラム(b)とプログラム(c)と辞書データを取得する。
上記、サーバー11上のプログラム等とのバージョン比較処理を、例えば、文字認識装置の起動時や、一定期間毎に実行する。これにより、文字認識のソフトウェアの更新を自動化できる。
なお、上述した各実施形態は、本発明の好適な実施形態であり、上記各実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において当業者が上記各実施形態の修正や代用を行い、種々の変更を施した形態を構築することが可能である。
例えば、上述した実施形態における制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成によって実行することも可能である。
なお、ソフトウェアによる処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは、記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことが可能である。あるいは、プログラムは、フロッピー(登録商標)ディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的、あるいは、永続的に格納(記録)しておくことが可能である。
このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送したりし、コンピュータでは、転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることが可能である。
また、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
また、上記実施形態で説明したシステムは、複数の装置の論理的集合構成にしたり、各装置の機能を混在させたりするように構築することも可能である。
1 CPU
2 メモリ
3 ハードディスクドライブ
4 データバス
5 スキャナ
6 マッチング部
7 ユーザーインターフェース
8 出力部
9 ネットワークインターフェース
10 文字認識装置
11 サーバー
12 ネットワーク
61 バスインターフェース
62 制御回路(1)
63 SIMD型プロセッサ
65 制御回路(2)
66 外部メモリ
67 制御回路(3)
631 データインターフェース
632 内部プロセッサ
633 内蔵メモリ
634 レジスタ
635 グローバルプロセッサ
636 プログラムメモリ
637 データメモリ
638 ホストインターフェース
特開2001−126030号公報 特開2007−257020号公報 特開2002−229962号公報

Claims (8)

  1. 同一処理を並行して実行できる複数の内部プロセッサを備えるSIMD型プロセッサであって、
    前記複数の内部プロセッサとデータ転送を行うグローバルプロセッサを備え、
    前記内部プロセッサが有する内蔵メモリには、文字の特徴量が登録された辞書データが分割して記憶され、
    前記グローバルプロセッサは、入力された未知文字の特徴量データを、各内部プロセッサに転送し、
    各内部プロセッサは、前記内蔵メモリに記憶されている前記辞書データに登録されている文字の特徴量毎に、前記転送された未知文字の特徴量データと比較し、特徴量間の距離を算出して前記内蔵メモリに記憶し、前記内蔵メモリに記憶された特徴量間の距離のうち、最小値1を選出し、
    前記グローバルプロセッサは、各内部プロセッサが選出した複数の最小値1から最小値2を選出し、前記選出された最小値2と、前記最小値2を保持していた内部プロセッサの識別番号と、該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号とを出力し、
    さらに前記グローバルプロセッサは、前記最小値2を保持していた内部プロセッサの内蔵メモリに記憶された、前記最小値2に対応する特徴量間の距離を、その値が取りえる最大値に置き換え、再び、最小値1と最小値2を選出すなわち次に小さい特徴量間の距離の選出を所定の回数行うことを特徴とするSIMD型プロセッサ。
  2. 請求項1記載のSIMD型プロセッサと、
    文字の特徴量が登録された辞書データを記憶する記憶手段と、
    文字データから抽出された特徴量すなわち未知文字の特徴量データに基づいて前記SIMD型プロセッサから出力された最小値2、前記最小値2を保持していた内部プロセッサの識別番号、及び該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号と、前記辞書データとを参照し、前記未知文字の認識結果を選出するマッチング手段と、
    を備えることを特徴とする文字認識装置。
  3. 前記SIMD型プロセッサに接続された外部メモリをさらに備え、
    前記外部メモリは、前記辞書データ及び前記未知文字の特徴量を記憶し、
    前記外部メモリが記憶する辞書データ及び前記未知文字の特徴量に基づき、前記SIMD型プロセッサが出力した最小値2、前記最小値2を保持していた内部プロセッサの識別番号、及び該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号が、前記外部メモリに一旦入力された後に、一括して前記マッチング手段に送られることを特徴とする請求項2記載の文字認識装置。
  4. 前記外部メモリは、さらに、前記SIMD型プロセッサで実行するプログラムを記憶し、
    前記外部メモリが記憶するプログラムを前記SIMD型プロセッサに送って実行させ、さらに前記外部メモリから入力された辞書データ及び前記未知文字の特徴量に基づき、前記SIMD型プロセッサが出力した最小値2、前記最小値2を保持していた内部プロセッサの識別番号、及び該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号が、前記外部メモリに一旦入力された後に、一括して前記マッチング手段に送られることを特徴とする請求項3記載の文字認識装置。
  5. 請求項2から4のいずれか1項に記載の文字認識装置であって、更にネットワークインターフェースを備えた文字認識装置と、前記文字認識装置で実行されるプログラムと前記辞書データを保存するサーバーとが、ネットワークを介して接続され、
    前記文字認識装置は、前記サーバーからネットワーク経由で前記プログラムと前記辞書データを受信することを特徴とする文字認識システム。
  6. 請求項1記載のSIMD型プロセッサと、文字の特徴量が登録された辞書データを記憶する記憶部と、を備える文字認識装置の文字認識方法であって、
    文字データから抽出された特徴量すなわち未知文字の特徴量データに基づいて前記SIMD型プロセッサから出力された最小値2、前記最小値2を保持していた内部プロセッサの識別番号、及び該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号と、前記辞書データとを参照し、前記未知文字の認識結果を選出するステップを備えることを特徴とする文字認識方法。
  7. 請求項1記載のSIMD型プロセッサと、文字の特徴量が登録された辞書データを記憶する記憶部と、を備える文字認識装置の文字認識プログラムであって、
    文字データから抽出された特徴量すなわち未知文字の特徴量データに基づいて前記SIMD型プロセッサから出力された最小値2、前記最小値2を保持していた内部プロセッサの識別番号、及び該内部プロセッサで最小値1になった特徴量間の距離を示す通し番号と、前記辞書データとを参照し、前記未知文字の認識結果を選出する処理をコンピュータに実行させることを特徴とする文字認識プログラム。
  8. 請求項7記載の文字認識プログラムの処理を記録するコンピュータ読取り可能な記録媒体。
JP2009055419A 2009-03-09 2009-03-09 Simd型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体 Expired - Fee Related JP5316107B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009055419A JP5316107B2 (ja) 2009-03-09 2009-03-09 Simd型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009055419A JP5316107B2 (ja) 2009-03-09 2009-03-09 Simd型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2010211402A true JP2010211402A (ja) 2010-09-24
JP5316107B2 JP5316107B2 (ja) 2013-10-16

Family

ID=42971513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009055419A Expired - Fee Related JP5316107B2 (ja) 2009-03-09 2009-03-09 Simd型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP5316107B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03251974A (ja) * 1990-02-28 1991-11-11 Ricoh Co Ltd 文字認識装置のマッチング装置
JPH09179935A (ja) * 1995-12-22 1997-07-11 Hitachi Microcomput Syst Ltd 文字認識装置およびその制御方法
JP2001126030A (ja) * 1999-10-26 2001-05-11 Nec Corp パターン認識方法及びパターン認識装置
JP2004120021A (ja) * 2002-09-24 2004-04-15 Ricoh Co Ltd 画像処理装置、画像読取装置及び画像形成装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03251974A (ja) * 1990-02-28 1991-11-11 Ricoh Co Ltd 文字認識装置のマッチング装置
JPH09179935A (ja) * 1995-12-22 1997-07-11 Hitachi Microcomput Syst Ltd 文字認識装置およびその制御方法
JP2001126030A (ja) * 1999-10-26 2001-05-11 Nec Corp パターン認識方法及びパターン認識装置
JP2004120021A (ja) * 2002-09-24 2004-04-15 Ricoh Co Ltd 画像処理装置、画像読取装置及び画像形成装置

Also Published As

Publication number Publication date
JP5316107B2 (ja) 2013-10-16

Similar Documents

Publication Publication Date Title
CN102089762B (zh) 用于集成电路的基于模型的设计及布局的方法及系统
JP2004334334A (ja) 文書検索装置、文書検索方法及び記憶媒体
JP2004348591A (ja) 文書検索方法及び装置
CN102947794A (zh) 用于处理器功能查询的功能虚拟化设施
JP2007034584A (ja) 高位合成装置、自動高位合成方法、高位合成プログラム及びゲートネットリスト自動検証方法
JP6648257B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2008123136A (ja) 文字入力装置、その制御方法、プログラム及び情報記憶媒体
CN105765522A (zh) 用于立即数处置和旗标处置的处理器和方法
JP2000305946A (ja) 情報検索装置、情報検索方法、及び記憶媒体
JP5316107B2 (ja) Simd型プロセッサ、文字認識装置、文字認識システム、文字認識方法、プログラム及び記録媒体
JP6931168B2 (ja) 情報処理装置、制御方法、プログラム
JP2017182455A (ja) 画像解析装置
JP2008129914A (ja) ソフトウェア検証用モデル生成装置、及びソフトウェア検証用モデル生成方法
JP2019148859A (ja) フローダイアグラムを用いたモデル開発環境におけるデザインパターンの発見を支援する装置および方法
JP4518212B2 (ja) 画像処理装置及びプログラム
JP2023041243A (ja) 情報処理装置、情報処理方法、及びプログラム
US9582624B2 (en) Circuit component migration method and apparatus
JP4517822B2 (ja) 画像処理装置及びプログラム
JP2000305933A (ja) 情報検索装置、情報検索方法、及び記憶媒体
JP6947971B2 (ja) 情報処理装置、制御方法、プログラム
JP4823049B2 (ja) 文書画像検索装置及びプログラム
JP2020123233A (ja) 情報処理装置及びプログラム
JP5586334B2 (ja) 文字列入力支援装置、文字列入力支援方法およびプログラム
JP6091471B2 (ja) ソースコード解析装置、ソースコード解析方法およびソースコード解析プログラム
JP6527984B1 (ja) 差異データ抽出装置、差異データ抽出プログラムおよび差異データ抽出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130529

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130624

R151 Written notification of patent or utility model registration

Ref document number: 5316107

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees