以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
図1は、一実施形態における画像処理システム10の全体構成を概略的に示す。画像処理システム10は、画像処理装置12と、学習装置202と、文字解析装置280と、記憶装置290と、表示装置88とを備える。画像処理装置12は、画像処理部40と、文字処理部200とを備える。記憶装置290は、フォントデータ100と、モデル120と、特異文字情報160とを格納する格納部である。
処理対象画像20及び解析対象画像30は、撮影された定型フォーマットの書類の画像である。処理対象画像20及び解析対象画像30は、本人確認用書類の画像である。一例として、処理対象画像20及び解析対象画像30は、自動車や原動機付自転車の運転免許証、健康保険の被保険者証等のカードを撮影することにより生成された画像である。処理対象画像20は、画像処理部40及び文字処理部200による処理対象の画像となる。本実施形態において定型フォーマットの書類の一例として、運転免許証を取り上げて説明する。
画像処理部40は、処理対象画像20から、運転免許証に使用されている文字を抽出する機能を有する。処理対象画像20は、例えば、運転免許証の所有者が運転免許証をスマートフォン等のカメラ機能を用いて撮影した画像である。したがって、処理対象画像20には、運転免許証が置かれた机や床の模様等の背景ノイズが含まれる場合がある。また、処理対象画像20には、運転免許証を正面から撮影していないこと等によって、運転免許証の画像に歪みが生じている場合がある。その他、処理対象画像20には、撮影者の影の映り込みや、光源による陰影変化等を含む場合がある。そのため、処理対象画像20から直接的に文字の画像を抽出すると、運転免許証に使用されている文字を正確な形状で抽出できない可能性がある。
そこで、画像処理部40は、処理対象画像20とテンプレート画像との間で特徴点マッチングを行って、処理対象画像20を、運転免許証を正面から撮影した正面画像に変換するための射影変換行列を算出する。画像処理部40は、算出した射影変換行列を用いて処理対象画像20を射影変換することによって、処理対象画像20の正面画像を生成する。画像処理部40は、射影変換によって生成された処理対象画像20の正面画像を生成から、運転免許証に使用されている文字の画像を抽出する。例えば、画像処理部40は、運転免許証の所有者の氏名が印字される部位の画像と、運転免許証の所有者の住所が印字される部位の文字を抽出する。
画像処理部40が使用するテンプレート画像は、運転免許証の定型フォーマットとして必ず含まれる部位の画像のみを含む。例えば、テンプレート画像は、運転免許証の所有者の氏名や住所等の個人情報が印字される部位の画像を含まず、氏名欄の「氏名」という文字が印字された部位と、住所欄の「住所」という文字が印字された部位の画像を含む。また、テンプレート画像は、例えば「運転免許証」の「運」、「転」、「免」、「許」及び「証」のそれぞれの文字が印字された部位の画像を含む。なお、運転免許証において生年月日欄に印字される年号の文字や運転免許証番号が印字される部位等には、発行者によって異なるフォントや異なる字体の文字が使用される場合があり得る。テンプレート画像には、発行者によって異なるフォントや異なる字体の文字が使用される可能性がある部位の文字の画像を含まないことが望ましい。このように、テンプレート画像は、運転免許証の定型フォーマットとして必ず含まれる部位の画像のみを含むので、正確な射影変換行列を算出することができる。これにより、運転免許証の氏名欄、住所欄に用いられている文字の形状を正確に表す画像を抽出することができる。
画像処理部40が抽出した文字の画像は、文字処理部200に入力される。文字処理部200は、運転免許証に使用されている文字のうち、特徴的な字形を持つ文字を示す情報を生成する機能を有する。文字処理部200の機能の概要を説明する。
学習装置202は、フォントデータ100に含まれる複数のフォントの文字画像を用いた機械学習によって、入力される文字の字形を、基準となるフォントの字形に適応させる学習済みモデル120を生成する。一例として、モデル120は、「とめ」、「はね」、「はらい」等のような装飾的な字形要素を、基準となるフォントの字形要素に適応させるためのニューラルネットワークモデルである。学習装置202がモデル120を生成する処理については後述する。
文字処理部200は、モデル120を用いて、処理対象画像20から抽出された文字を、基準となる字形に適応させた上で、処理対象画像20に含まれる文字のうち、どの文字が特徴的な字形を持つかを示す情報を生成して、特異文字情報160に記録する。文字処理部200が生成した情報は表示装置88に表示され、特徴的な字形を持つ文字であるか否かを判定者80が最終的に判定してよい。なお、本実施形態において、特徴的な字形を持つ文字のことを「特異文字」と呼ぶ場合がある。
処理対象画像20及び解析対象画像30は、例えば、同一の発行機関が発行した運転免許証を撮影した画像であってよい。一例として、処理対象画像20及び解析対象画像30は、同一の発行者が発行した運転免許証nの画像であってよい。上述したように、運転免許証は、発行者毎に独自のフォントを用いて作成される場合がある。文字解析装置280は、特異文字情報160の情報を用いて解析対象画像30を解析するので、運転免許証の作成に使用する特徴的な字形を持つ文字を認識して、解析対象画像30に含まれる文字を適切に解析することができる。なお、文字処理部200の機能については、図9から図17等に関連して説明する。
図2は、画像処理部40の機能ブロックを示す。画像処理部40は、テンプレート画像取得部41と、対象画像取得部42と、画像切り出し部43と、特徴点ペア抽出部44と、特定部45と、領域選択部46と、画像変換部47と、文字画像抽出部48と、格納部49とを備える。
画像処理部40は、コンピュータにより実現される。文字処理部200、学習装置202、及び文字解析装置280は、1以上の任意の数のコンピュータにより実現されてよい。格納部49は、不揮発性の記憶媒体や揮発性の記憶媒体によって実現されてよい。格納部49は、インターネット等の通信回線を通じてアクセス可能な外部の記憶媒体によって実現されてよい。
対象画像取得部42は、撮影された定型フォーマットの書類の画像である処理対象画像を取得する。本実施形態において、定型フォーマットの書類は、運転免許証である。
テンプレート画像取得部41は、定型フォーマットのテンプレート画像を取得する。具体的には、格納部49はテンプレート画像を格納し、テンプレート画像取得部41は、格納部49からテンプレート画像を取得する。
定型フォーマットには、複数の書類の間で共通の情報を持つべき領域である共通領域が定められている。テンプレート画像は、共通領域以外の領域の画像情報を含まず、共通領域内の複数の文字画像のうちの少なくとも一部の文字画像を含む。テンプレート画像は、共通領域内に含まれる枠線の画像のうちの少なくとも一部の画像を含んでよい。
特徴点ペア抽出部44は、処理対象画像及びテンプレート画像から、処理対象画像とテンプレート画像との間で画像情報が類似する複数の特徴点ペアを抽出する。例えば、特徴点ペア抽出部44は、処理対象画像の各領域から局所特徴量を抽出し、テンプレート画像において設定された予め設定された特徴点から抽出される局所特徴量に類似する局所特徴量が抽出された領域を特徴点として選択して、選択した特徴点とテンプレート画像において設定された特徴点とを特徴点ペアとして抽出する。画像変換部47は、特徴点ペア抽出部44により抽出された複数の特徴点ペアの位置に基づいて、処理対象画像を、書類を正面から見た場合に得られるべき正面画像に射影変換する。
特徴点ペア抽出部44は、テンプレート画像に含まれる複数の画像領域のそれぞれに設定された複数の特徴点のそれぞれに対して、処理対象画像から画像情報が類似する特徴点を抽出することによって、複数の特徴点ペアを抽出する。領域選択部46は、複数の画像領域のそれぞれについて、それぞれの画像領域に設定された複数の特徴点に対して処理対象画像から抽出された画像情報が類似する特徴点の数を計数し、複数の画像領域のそれぞれについて計数された特徴点の数に基づいて、複数の画像領域の中から射影変換に用いる一部の画像領域を選択する。例えば、領域選択部46は、複数の画像領域のうち、複数の画像領域のそれぞれについて計数された特徴点の数がより多い画像領域を、射影変換に用いる画像領域としてより優先して選択する。画像変換部47は、領域選択部46により選択された一部の画像領域に設定された複数の特徴点に対して抽出された複数の特徴点ペアの位置に基づいて、処理対象画像を正面画像に射影変換する。
例えば、画像変換部47は、特徴点ペアを構成する特徴点の画像上の位置に基づいて、処理対象画像を正面画像に射影変換するための射影変換行列を算出し、算出した射影変換行列を処理対象画像に適用することによって、正面画像を生成する。例えば、画像変換部47は、射影変換後の画素位置を(x1、y1)とし、射影変換前の画素位置を(x2,y2)とした場合に、次の式(1)で表される射影変換行列Hを算出する。
例えば、画像変換部47は、テンプレート画像において設定された特徴点の位置を(x1、y1)とし、処理対象画像20から抽出された特徴点の位置を(x2、y2)として、最小二乗法等を用いた数値計算によって射影変換行列Hのパラメータh11からh33を算出する。
特徴点ペア抽出部44は、複数の画像領域のそれぞれに設定された複数の特徴点のそれぞれに対して処理対象画像から画像情報が類似する特徴点を抽出し、処理対象画像から抽出した複数の特徴点の中から、特徴点ペアとして抽出された特徴点同士の位置関係がより近い一部の特徴点を複数の特徴点ペアを構成する特徴点としてより優先して選択してよい。
定型フォーマットの書類は、人物の写真画像を含む書類であってよい。例えば、定型フォーマットの書類は、運転免許証又はパスポートであってよい。定型フォーマットの書類が人物の写真画像を含む書類である場合、特定部45は、運転免許証に含まれる人物の写真画像を教師データとして機械学習された学習済みモデルを用いて、処理対象画像から人物の写真画像を含む領域を特定する。画像変換部47は、特定部45が特定した写真画像を含む領域の位置にさらに基づいて、処理対象画像を正面画像に射影変換する。
文字画像抽出部48は、画像変換部47が生成した正面画像から文字の画像を抽出する。文字処理部200は、文字画像抽出部48が抽出した文字の画像と予め定められた字形を持つ基準文字の画像との相違を示す情報を出力する。
図3は、画像切り出し部43のよる画像の切り出し処理を説明する図面である。処理対象画像20には、背景画像21と、運転免許証が撮影された画像22とを含む。背景画像21は、例えば、運転免許証の背後にある机や床等が撮影された部分の画像である。画像切り出し部43は、処理対象画像20から物体認識を行うことによって、運転免許証が撮像された部分を特定する。画像切り出し部43は、処理対象画像20から、運転免許証の画像が持つべき特徴的な画像特徴量を検出し、運転免許証が持つ特徴的な画像特徴量が検出された部位を囲う枠線23を特定することによって、運転免許証が撮像された部分を特定してよい。画像切り出し部43は、処理対象画像20から、運転免許証が撮像された部分の画像22を切り出す。画像切り出し部43が切り出した画像22は、特徴点ペア抽出部44及び画像変換部47に供給される。これにより、特徴点ペア抽出部44及び画像変換部47が処理する画像に背景ノイズが含まれないようにすることができる。
運転免許証が正面から撮影されない場合、運転免許証の画像22には矩形からの歪みが生じる場合がある。特徴点ペア抽出部44、領域選択部46及び画像変換部47により、画像22を射影変換することによって、運転免許証を正面から撮影した場合に得られるべき正面画像を仮想的に生成する。
図4は、運転免許証の定型フォーマット50を運転免許証52の一例とともに模式的に示す。定型フォーマット50は、氏名欄の「氏名」の文字、生年月日欄の「年 月 日 生」の文字、住所欄の「住所」の文字、運転免許の条件欄の「免許の条件等」の文字、「運転免許証」の文字等を含む。これら定型フォーマット50に含まれる情報は、全ての運転免許証に共通する情報である。なお、図4の点線は、運転免許証の外枠を分かりやすく表すことを目的として図示したものであり、印字情報としての定型フォーマットには含まれるものではない。
運転免許証52は、共通情報に加えて、氏名「○○太郎」の文字、生年月日欄の「平成2 1 1」の文字、住所欄の「○○県××市△△1-1-1」の文字等の情報を含む。これらの情報は、運転免許証の発行者によって印字される情報であるため、発行者によって字体やフォントが違う可能性がある。
図5は、特徴点ペア抽出部44が使用するテンプレート画像60を模式的に示す。図5の点線は、図4の点線と同様に運転免許証の外枠を分かりやすく表すことを目的として図示したものであり、テンプレート画像60の画像情報として含まれるものではない。
テンプレート画像60は、氏名欄の「氏名」の文字を含む画像領域61の画像と、住所欄の「住所」の文字を含む画像領域62の画像と、「運」の文字を含む画像領域63の画像と、「転」の文字を含む画像領域64のと、「免」の文字を含む画像領域65と、「許」の文字を含む画像領域66と、「証」の文字を含む画像領域67からなる画像である。画像領域62の画像は、「氏名」の文字を囲む枠線68の画像を含む。また、画像領域63の画像は、「住所」の文字を囲む枠線69の画像を含む。なお、テンプレート画像60として、枠線68及び枠線69の画像を含まず、文字の画像のみを含む形態を採用してもよい。
図5に示されるように、テンプレート画像60は、定型フォーマット50に含まれる情報の画像情報を含み、定型フォーマット50に含まれない情報の画像情報を含まない。したがって、テンプレート画像60は、運転免許証の発行者によらず、全ての運転免許証が共通して持つべき情報の画像情報から構成される。そのため、特徴点ペア抽出部44が処理対象画像20から特徴点をより正確に抽出することが可能になる。
図6は、特徴点ペア抽出部44による特徴点マッチングの処理結果を模式的に示す。特徴点ペア抽出部44は、テンプレート画像60の画像領域61、画像領域62、画像領域63、画像領域64、画像領域65、画像領域66及び画像領域67に、複数の特徴点を設定する。なお、図6には、特徴点の対応関係を分かりやすく示すことを目的として、画像領域61から画像領域67の各領域に特徴点を2つ設定した場合を示している。画像領域61から画像領域67の各領域に設定される特徴点の数は2つに限定されない。各領域に設定される特徴点の数は3つ以上であってよい。各領域に設定される特徴点の数は1つ以上であってもよい。
一例として、画像領域61には、特徴点71A及び特徴点72Bを含む複数の特徴点が設定されている。特徴点ペア抽出部44は、特徴点マッチングにより、特徴点71Aと類似する画像情報を持つ特徴点71aと、特徴点72Bと類似する画像情報を持つ特徴点71bとを、画像22から抽出する。特徴点ペア抽出部44は、特徴点71A及び特徴点71aを1つの特徴点ペアとして抽出し、特徴点71B及び特徴点71bを1つの特徴点ペアとして抽出する。
また、一例として、画像領域63には、特徴点73A及び特徴点73Bを含む複数の特徴点が設定されている。特徴点ペア抽出部44は、特徴点マッチングにより、特徴点73Aと類似する画像情報を持つ特徴点73aと、特徴点73Bと類似する画像情報を持つ特徴点73bとを、画像22から抽出する。特徴点ペア抽出部44は、特徴点73A及び特徴点73aを1つの特徴点ペアとして抽出し、特徴点73B及び特徴点73bを1つの特徴点ペアとして抽出する。
なお、特徴点ペア抽出部44は、特徴点73Bと類似する画像情報を持つ特徴点として、特徴点73b以外に特徴点73cが抽出された場合、テンプレート画像60に設定された他の特徴点と画像22から抽出された対応する特徴点との間の位置関係に基づいて、特徴点73cを特徴点ペアとして選択せずに除外する。例えば、特徴点73Bと特徴点73cとを結ぶ線分は、テンプレート画像60に設定された他の特徴点と画像22から抽出された特徴点とを結ぶ線分とは向きが大きく異なる。そのため、特徴点ペア抽出部44は、特徴点73Bと特徴点73cとの間の位置関係は、他の特徴点間の位置関係とは異なるものと判断し、特徴点73Bの特徴点ペアとして、特徴点73B及び特徴点73cを除外する。これにより、特徴点ペア抽出部44は、特徴点73Bの特徴点ペアとして、特徴点73B及び特徴点73bのみを抽出する。
図7は、領域選択部46が領域を選択する処理を説明するための表である。ここでは、図7の「領域」の列に示されているように、「氏名」の文字を含む画像領域61と、「住所」の文字を含む画像領域62と、「運」の文字を含む画像領域63とを取り上げて説明する。また、図7の「特徴点」の列に示されているように、画像領域61には5つの特徴点71A~特徴点71Eが設定されており、画像領域62には5つの特徴点72A~特徴点72Eが設定されており、画像領域63には5つの特徴点73A~特徴点73Eが設定されているものとする。
図7の表において、「特徴点ペア抽出結果」の列は、特徴点ペア抽出部44によって特徴点ペアが抽出されたか否かを示す。「特徴点ペア抽出結果」の列において、「○」は特徴点ペアが抽出されたことを示し、「×」は特徴点ペアが抽出されなかったことを示す。なお、特徴点ペアが抽出されない場合としては、例えば撮影者の影の映り込みや、光源による陰影変化の影響等によって特徴点が抽出されなかった場合や、撮影者の指によって免許証の一部が隠されることによって特徴点が抽出されなかった場合等があり得る。その他、図6において画像領域63の特徴点73Bに関連して説明したように、画像22から1つ以上の特徴点が抽出されたものの、特徴点の位置関係に基づいて特徴点ペアを構成する特徴点から除外したことによって、特徴点ペアを1つも抽出できなかった場合等があり得る。
図7の表において、「使用」の列は、特徴点ペアの位置情報を射影変換に使用するか否かを示す。「使用」の列において、「○」は特徴点ペアの位置情報を射影変換に使用することを示し、「×」は特徴点ペアの位置情報を射影変換に使用しないことを示す。例えば、図7の表の「特徴点ペア抽出結果」の列に示されるように、画像領域61及び画像領域62においては、設定された5つの特徴点のうち4つの特徴点について特徴点ペアが抽出されている。一方、画像領域63においては、設定された5つの特徴点のうち3つの特徴点について特徴点ペアが抽出されていない。この場合、領域選択部46は、射影変換に用いる画像領域として画像領域61及び画像領域62を選択し、射影変換に使用する画像領域として画像領域63を選択しない。
このように、領域選択部46は、特徴点ペアが抽出された数がより多い画像領域を、射影変換に用いる特徴点ペアを選択するための画像領域として、より優先して選択する。なお、領域選択部46は、射影変換に用いる特徴点ペアを選択するための画像領域として、特徴点ペアが抽出された数が予め定められた閾値以上の画像領域を選択してよい。領域選択部46は、射影変換に用いる特徴点ペアを選択するための画像領域として、画像領域に設定された特徴点の数に対する特徴点ペアが抽出された数の比率が予め定められた閾値以上の画像領域を選択してよい。このように、領域選択部46は、特徴点ペアが抽出された数に基づいて、射影変換に用いる特徴点ペアを選択するための画像領域として、テンプレート画像60において設定された複数の画像領域から一部の画像領域を選択してよい。例えば、特定の画像領域に設定された特徴点について抽出された特徴点ペアの数が少ない場合に比べると、抽出された特徴点ペアの数が多い方が、特徴点ペアの抽出結果として信頼性が高いと判断することができる。これにより、射影変換に用いる特徴点ペアを選択するための画像領域から、特徴点ペアの抽出結果の信頼性が低い可能性が高い画像領域を、除外することができる。
画像変換部47は、領域選択部46が選択した画像領域に設定された特徴点について抽出された特徴点ペアの位置に基づいて、射影変換行列Hを算出する。そして、画像変換部47は、算出した射影変換行列Hを画像22に適用して、正面画像を生成する。これにより、処理対象画像20において歪のある運転免許証の画像22から、歪が低減された正面画像を生成することができる。そして、文字画像抽出部48は、画像変換部47により生成された正面画像から、文字の画像を抽出する。例えば、文字画像抽出部48は、画像変換部47が生成した正面画像から、定型フォーマット50の氏名欄において運転免許証の所有者の氏名が印字される領域から「○○太郎」の文字の画像を抽出する。また、文字画像抽出部48は、定型フォーマット50の住所欄において運転免許証の所有者の住所が印字される領域から「○○県××市△△1-1-1」の文字の画像を抽出する。
図8及び図9は、人物の写真画像の位置を更に用いて射影変換を行う場合の処理を説明するための図である。図8は、テンプレート画像60において写真画像を含むべき画像領域90を示す。画像領域90は、定型フォーマット50において予め定められる特定の領域である。図8及び図9において、画像領域90に特徴点91A及び特徴点91Bが設定される場合を説明する。画像領域90は矩形形状を有する。図8に示す例において、特徴点91A及び特徴点91Bは、画像領域90の矩形の2つの頂点である。
図9は、写真画像の画像領域から抽出した特徴点ペアを模式的に示す。特定部45は、人物の写真画像を含む画像領域900を画像22から特定する。特徴点ペア抽出部44は、特定部45が特定した画像領域900から特徴点91a及び特徴点91bを抽出することにより、特徴点ペアを特定する。
例えば、特定部45は、運転免許証に含まれる人物の写真画像を教師データとして機械学習された学習済みモデルを用いる。例えば、第1の学習済みモデルは、例えば、畳み込みニューラルネットワーク(CNN)等の機械学習アルゴリズムを利用して、運転免許証を撮像することにより得られた画像に含まれる写真画像の画像領域のうちの人物の画像領域から抽出される画像特徴量を教師データとして、運転免許証に含まれる画像領域から抽出される画像特徴量と人物の画像領域との関係性を学習させる教師あり機械学習により生成される。また、第2の学習済みモデルは、畳み込みニューラルネットワーク(CNN)等の機械学習アルゴリズムを利用して、運転免許証を撮像することにより得られた画像に含まれる写真画像の画像領域のうちの人物の背景の画像領域から抽出される画像特徴量を教師データとして、運転免許証に含まれる画像領域から抽出される画像特徴量と人物の背景の画像領域との関係性を学習させる教師あり機械学習により生成される。
特定部45は、画像22の各画像領域から抽出した画像特徴量と第1の学習済みモデルとを用いて、それぞれの画像領域が運転免許証に含まれる人物の画像領域であるか否かを判定し、画像22の各画像領域から抽出した画像特徴量と第2の学習済みモデルとを用いて、それぞれの画像領域が運転免許証に含まれる人物の背景の画像領域であるか否かを判定することによって、画像22から画像領域900を特定する。
特徴点ペア抽出部44は、テンプレート画像60に設定される特徴点91Aと特定部45により特定された画像領域900の1つの頂点を特徴点91aとを特徴点ペアとして抽出する。また、特徴点ペア抽出部44は、テンプレート画像60に設定される特徴点91Bと特定部45により特定された画像領域900の1つの頂点を特徴点91bとを特徴点ペアとして抽出する。特徴点ペア抽出部44は、画像領域900の外形を表す頂点のうち、特定部45により背景の画像領域として判定された側の2つの頂点のうち、人物の右側の頂点を特徴点91aとして選択してよい。特徴点ペア抽出部44は、画像領域900の外形を表す頂点のうち、特定部45により人物の画像領域として判定された側の2つの頂点のうち、人物の右側の頂点を特徴点91bとして選択してよい。
特徴点ペア抽出部44は、図5等に関連して説明したように、テンプレート画像60に設定された他の特徴点と画像22から抽出された対応する特徴点との間の位置関係に基づいて、特徴点91a及び特徴点91bをそれぞれ特徴点ペアを構成する特徴点として選択するか否かを判断してよい。
なお、図8においては、一例として画像領域90に2つの特徴点を設定する場合を説明したが、画像領域90に設定される特徴点の数は2つに限られない。画像領域90に設定される特徴点の数は3つ以上であってよい。画像領域90に設定される特徴点の数は1つであってもよい。
画像変換部47は、テンプレート画像60の画像領域61、画像領域62、画像領域63、画像領域64、画像領域65、画像領域66及び画像領域67に設定した複数の特徴点について抽出した特徴点ペアに加えて、画像領域900に設定した特徴点91A及び特徴点91Bについて抽出した特徴点ペアを用いて、射影変換を行う。この際、図7等に関連して説明したように、領域選択部46は、画像領域900から抽出された特徴点ペアの数に基づいて、画像領域900を射影変換に用いる画像領域として選択するか否かを判断してよい。画像変換部47は、画像領域900を射影変換に用いる画像領域として選択された場合に、画像領域900に設定した特徴点91A及び特徴点91Bについて抽出した特徴点ペアを更に用いて射影変換を行ってよい。
以上に説明したように、画像処理部40の処理によれば、定型フォーマットの書類から抽出される文字の画像が、定型フォーマットの書類の発行者が使用する字形やフォントの違いの影響を受けにくくすることができる。これにより、書類の発行者によって印字された文字を正確に判断することが可能になる。なお、本実施形態において、定型フォーマットの書類の一例として運転免許証を適用した場合を説明した。定型フォーマットの書類としては、運転免許証の他に、健康保険の被保険者証、クレジットカード等の、個人情報を含むカード状の書類を適用できる。定型フォーマットの書類は、旅券において所有者の個人情報を含むページであってよい。定型フォーマットの書類は、旅券において所有者の写真画像を含むページであってよい。定型フォーマットの書類は、定型フォーマットとして文字が印字又は記載される領域を含む任意の書類であってよい。
次に、図10から図17を参照し、画像処理部40により抽出される文字の画像を利用する一利用形態として、文字処理部200に関する処理を具体的に説明する。
図10は、画像処理システム10が実行する処理の流れを概略的に示す。学習装置202は、フォントデータ100を用いた機械学習により、モデル120を生成する。フォントデータ100は、フォントA、B1、B2・・・のデータを含む。フォントA、B1、B2・・・は、それぞれ互いに異なる字形を持つ。フォントA、フォントB1、フォントB2・・・のうち、特定のフォントAを、基準フォントAと呼ぶ。基準フォントAは、特異文字を特定する場合に比較対象として用いられる基準となるフォントである。なお、複数のフォントB1、B2・・・を、各フォントを識別する符号「i」を用いて、「フォントBi」と総称する場合がある。
フォントA及びフォントBiのデータは、機械学習用のフォントデータとして用いられる。学習装置202は、フォントA及びフォントBiのフォントデータを用いて機械学習することによって、フォントBiの各フォントの文字を、フォントAの文字の字形に適応させるモデル120を生成する。モデル120は、例えばニューラルネットワークによって構築されるモデルである。学習装置202は、{フォントBiの文字とフォントAの文字}を1つの文字ペアとして機械学習を行い、フォントBiの文字の画像を入力した場合にフォントAの文字の字形に適応した文字の画像を生成するモデル120を生成する。
モデル120が生成されると、文字処理部200は、処理対象画像20の画像から抽出した文字の画像をモデル120に入力して、適応文字140を生成する。文字処理部200は、適応文字140と基準フォントAの文字との比較結果に基づいて、処理対象画像20の画像から抽出した文字が特異文字であるか否かを判定して、特異文字と判定された文字の情報を特異文字情報160に記録する。
文字解析装置280は、特異文字情報160を用いて、解析対象画像30の画像に対して文字解析を行う。例えば、「藤」の字が特異文字として判定されている場合、特異文字情報160は、解析対象画像30の「藤」の文字を正しく認識するように構築されたアルゴリズムで文字認識を行う。
図11は、文字処理部200、学習装置202、及び文字解析装置280の機能ブロックを示す。
学習装置202は、フォント選択部204と、モデル生成部206とを備える。文字処理部200は、処理対象文字取得部210と、文字画像生成部220と、文字画像選択部230と、相違情報出力部240と、判定結果取得部250とを備える。文字解析装置280は、解析対象画像取得部282と、文字画像抽出部284と、文字解析部286とを備える。
文字処理部200、学習装置202、及び文字解析装置280は、コンピュータにより実現される。文字処理部200、学習装置202、及び文字解析装置280は、1以上の任意の数のコンピュータにより実現されてよい。記憶装置290は、不揮発性の記憶媒体や揮発性の記憶媒体によって実現される。
記憶装置290は、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ複数の文字の画像とを用いた機械学習によって生成された学習済みモデル120を格納する。モデル120は、入力される文字の画像から、予め定められた字形に適応した文字の画像を生成するモデルである。
学習装置202において、モデル生成部206は、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ文字のそれぞれの画像との複数の組を学習データとした敵対的生成ネットワーク(Generative Adversarial Network、GAN)を用いてモデル120を生成する。
モデル生成部206は、学習データとしてフォントデータ100を用いてよい。この場合、「予め定められた字形を持つ基準文字」は、予め定められた第1のフォントに属する文字であり、「互いに異なる字形を持つ複数の文字」は、第1のフォントとは異なる、互いに異なる複数の第2のフォントに属する文字である。具体的には、第1のフォントは、上述した基準フォントAに対応し、第2のフォントは、上述したフォントBiに対応する。
フォント選択部204は、第1のフォントと、複数の第2のフォントとを選択する。フォント選択部204は、判定者80が指定したフォントを、第1のフォントとして選択してよい。モデル生成部206は、第1のフォントの画像と、複数の第2のフォントの画像とを用いた機械学習を行って、モデル120を生成する。モデル120は、複数の第2のフォントに属する文字の画像から、第1のフォントに属する文字の字形に適応した文字の画像を生成するモデル120を生成するように機械学習することによって生成されたモデルである。
文字処理部200において、処理対象文字取得部210は、処理対象の文字の画像を取得する。処理対象の文字は、例えば、処理対象画像20に含まれる文字の画像である。処理対象の文字の画像は、具体的には、画像処理部40によって処理対象画像20の正面画像から抽出された文字の画像である。
文字画像生成部220は、学習済みモデル120を用いて、処理対象の文字の画像から、予め定められた字形に適応させた処理対象の文字の画像を生成する。相違情報出力部240は、文字画像生成部220が生成した画像と基準文字の画像との比較結果に基づいて、処理対象の文字と基準文字との相違を示す情報を出力する。
相違情報出力部240は、文字画像生成部220が生成した画像と基準文字の画像とを重畳して表示させる。例えば、相違情報出力部240は、文字画像生成部220が生成した画像と基準文字の画像とを互いに異なる色で重畳して表示させてよい。判定結果取得部250は、文字画像生成部220が生成した画像と基準文字の画像とが相違するか否かを示す情報を、利用者としての判定者80から取得する。
例えば、文字画像選択部230は、複数の基準文字の画像の中から、文字画像生成部220が生成した文字の画像に類似する文字の画像を選択する。そして、相違情報出力部240は、文字画像選択部230が選択した画像と、文字画像生成部220が生成した画像とを重畳して表示させる。例えば、相違情報出力部240は、文字画像選択部230が選択した画像と、文字画像生成部220が生成した画像とを重畳して、表示装置88に表示させる。文字画像生成部220が生成した画像と基準文字の画像とを重畳させて表示するので、判定者80は、文字の字形を基準フォントに適応させた文字が基準文字と相違する部位を適切に判断することができる。
相違情報出力部240は、処理対象の文字と基準文字とが相違すると判定された場合に、処理対象の文字が特徴的な字形を持つ文字であることを示す情報を特異文字情報160に記録してよい。なお、「処理対象の文字が特徴的な字形を持つ文字であることを示す情報」は、「処理対象の文字と基準文字との相違を示す情報」の一例である。相違情報出力部240は、特異文字情報160に記録する際、処理対象画像20の発行主体情報とともに記録してよい。
相違情報出力部240は、文字画像生成部220が生成した画像と基準文字の画像とを比較して、文字画像生成部220が生成した画像において基準文字の画像とは文字の骨格が異なる部位が存在する場合に、文字の骨格が異なる部位を示す情報と処理対象の文字の識別情報とを対応づけて記録する。
文字解析装置280において、解析対象画像取得部282は、文字の解析対象となる書類としての解析対象画像30の画像データを取得する。解析対象画像30は、「文字の解析対象となる書類」の一例である。文字画像抽出部284は、解析対象画像30の画像データから、文字を含む画像を抽出する。文字解析部286は、相違情報出力部240によって記録された情報を用いて、文字画像抽出部284が抽出した画像に含まれる文字を解析する。文字解析部286は、判定者80から解析対象画像30の発行主体情報を受付けて、その発行主体情報をもとに選択された特異文字情報160を使用して、文字を解析するよい。このように、文字解析部286は、特異文字情報160を用いて、文字画像抽出部284が抽出した画像に含まれる文字を解析する。処理対象画像20は、解析対象画像30と同種の書類のサンプル画像である。そのため、解析対象画像30には、処理対象画像20で使用されている文字と同じフォントの文字が使用されている。文字解析部286は、処理対象画像20から特定された特異文字を認識して解析対象画像30を解析するので、解析対象画像30に記載されている内容をより正確に解析することができる。
図12は、学習データの構成を示す。学習データは、文字ペア400-11、文字ペア400-12、文字ペア400-13・・・と、文字ペア400-21、文字ペア400-22、文字ペア400-23・・・とを含む。
文字ペア400-11は、フォントB1の「藤」の文字と、基準フォントAの「藤」の文字とのペアである。文字ペア400-12は、フォントB1の「研」の文字と、基準フォントAの「研」の文字とのペアである。文字ペア400-13は、フォントB1の「あ」の文字と、基準フォントAの「あ」の文字とのペアである。
文字ペア400-21は、フォントB2の「藤」の文字と、基準フォントAの「藤」の文字とのペアである。文字ペア400-22は、フォントB2の「研」の文字と、基準フォントAの「研」の文字とのペアである。文字ペア400-23は、フォントB2の「あ」の文字と、基準フォントAの「あ」の文字とのペアである。
一般に、フォントBiを識別する符号を「i」とし、字体(字種)を識別する符号を「j」とすると、モデル生成部206は、文字ペア400-ijを用いて機械学習を行って、モデル120を生成する。モデル生成部206は、例えば、文字ペア400-ijを用いて、フォントB1の「藤」の文字の画像が入力された場合に、基準フォントAの「藤」の文字の字形にできるだけ適応した字形を持つ「藤」文字の画像を生成するように、機械学習を行う。
これにより、例えばフォントB1の「藤」の文字の画像が入力された場合に、基準フォントAの「藤」の字形に適応した字形を持つ「藤」の文字の画像を生成するモデル120が生成される。このように、モデル120は、フォントBiの文字jの画像から、フォントAの文字jが持つ字形に適応した字形を持つ文字jの画像を生成するモデルである。
図13は、モデル生成部206における機械学習を実行する学習器の概念構成を示す。図13は、フォントBiの「藤」の文字の画像500bと、基準フォントAの「藤」の文字の画像500aとの文字ペアを学習データとして用いた学習を行う場合を示す。図13に示す学習器は、GANの一種である条件付きGANを用いた学習器である。
学習器は、生成ネットワークGと識別ネットワークDとを備える。生成ネットワークG及び識別ネットワークDは、それぞれニューラルネットワークである。生成ネットワークGは、入力される画像500bからフェイク画像500b'を生成する。
識別ネットワークDには、画像500bと画像500aとの組み合わせが入力される。また、識別ネットワークDには、画像500bと、生成ネットワークGが生成したフェイク画像500b'の組み合わせが入力される。識別ネットワークDは、入力された画像の組み合わせの識別結果を出力する。例えば、識別ネットワークDは、入力された画像の組み合わせの正しさの程度を示す確率を、0から1の範囲の数値で出力する。例えば、識別ネットワークDは、入力された画像の組み合わせが正しいと判断した場合に「1」を出力し、入力された画像の組み合わせ正しくないと判断した場合に「0」を出力する。
識別ネットワークDは、画像500bと画像500aとのペアが入力された場合に「1」に近い値を出力し、画像500bとフェイク画像500b'のペアが入力された場合に「0」に近い値を出力するように学習する。いわば、識別ネットワークDは、生成ネットワークGが生成したフェイク画像500b'を偽物であると判断できるように学習する。一方で、生成ネットワークGは、画像500bとフェイク画像500b'とのペアを識別ネットワークDに入力した場合に識別ネットワークDから「1」に近い値が出力されるようなフェイク画像500b'を生成できるように学習する。画像500bとフェイク画像500b'とのペアを入力したときの識別ネットワークDの出力が1/2に十分に近くなった場合に、学習が達成されたと判断される。
モデル生成部206は、図12に示されるようなフォント及び字体(字種)の組み合わせが異なる多数の文字ペアを用いて機械学習を行う。モデル生成部206は、各文字ペアで学習が達成されたと判断した場合に、生成ネットワークGをモデル120として出力する。
図14は、相違情報出力部240が出力する相違情報の一例を示す。図14の画面600は、相違情報出力部240が表示装置88に出力する相違情報の表示例である。
文字画像620-1及び文字画像620-2は、処理対象画像20の文字の画像である。画面600において、文字画像620-1及び文字画像620-2は、文字処理部200における「検査対象文字」として表示される。
文字画像630-1は、文字画像620-1をモデル120に入力することによって文字画像生成部220が生成した文字画像である。文字画像630-2は、文字画像620-2をモデル120に入力することによって文字画像生成部220が生成した文字である。画面600において、文字画像630-1及び文字画像630-2は、基準フォントの字形に適合した文字を持つ「変換後文字」として表示される。
文字画像640-1は、文字画像620-1の文字に対応する、基準フォントAの文字の画像である。文字画像640-2は、文字画像620-2の文字に対応する、基準フォントAの文字の画像である。文字画像640-1及び文字画像640-2は、文字画像選択部230によって選択された画像である。例えば、文字画像選択部230は、文字画像630-1と一致度が予め定められた値より高い文字を、基準フォントAの文字の中から選択する。画面600において、文字画像640-1及び文字画像640-2は、変換後文字の比較対象となる「基準文字」として表示される。
比較画像650-1は、文字画像630-1に文字画像640-1を重畳した画像である。比較画像650-2は、文字画像630-2に文字画像640-2を重畳した画像である。
相違情報出力部240は、文字画像620-1、文字画像630-1、文字画像640-1、及び比較画像650-1と、ボタン610-1とを対応づけて、表示装置88に表示させる。また、相違情報出力部240は、文字画像620-2、文字画像630-2、文字画像640-2、及び比較画像650-2と、ボタン610-2とを対応づけて、表示装置88に表示させる。
図14には、「藤」と「研」の2種の字体の文字についての情報が表示された状態を示す。一般に、検査対象とした文字種を示す符号を「i」とすると、相違情報出力部240は、文字画像620-i、文字画像630-i、文字画像640-i、及び比較画像650-iと、ボタン610-iとを対応づけて、表示装置88に表示させる。
なお、相違情報出力部240は、文字画像630-iと文字画像640-iとを比較して、文字画像630-iと文字画像640-iとの一致度を算出してよい。相違情報出力部240は、算出した画像の一致度が低い順に、文字画像620-i、文字画像630-i、文字画像640-i、及び比較画像650-iと、ボタン610-iとを含む文字画像を表示させてよい。
判定者80は、例えば比較画像650-iを参照して、文字画像630-iが文字画像640-iと相違する部分を持つか否かを判定する。具体的には、判定者80は、文字画像630-iが文字画像640-iと相違する骨格部分を持つか否かを判定する。例えば、判定者80は、文字画像630-iが文字画像640-iと相違する骨格部分を持つと判定した場合に、ボタン610-iを押す。
ボタン610-iを押されたことに応じて、判定結果取得部250は、文字画像620-iが特異文字であると判定結果を取得する。この場合に、相違情報出力部240は、文字画像620-iの文字の情報を、特異文字として特異文字情報160に記録する。例えば、相違情報出力部240は、文字画像620-iの文字種の識別情報を、特異文字情報160に記録する。
なお、判定者80は、文字画像630-iが文字画像640-iと相違する部位を示す情報を入力してよい。例えば、判定者80は、文字画像630-iが文字画像640-iと相違する骨格部分を含む範囲を示す情報を入力する。この場合、相違情報出力部240は、入力された骨格部分を含む範囲を示す情報を、文字画像620-iの文字種の識別情報に対応づけて特異文字情報160に記録する。
図15は、文字画像620-1、文字画像630-1、文字画像640-1及び比較画像650-1を拡大して示す。D1は、文字画像620-1における「藤」の文字を構成する辺701と辺702の間の骨格の間隔を示す。D2は、文字画像630-1における辺701と辺702の間の骨格の間隔であり、D3は、文字画像640-1における辺701と辺702の間の骨格の間隔である。比較画像650-1から、D1及びD2はいずれも、D3より短いことが明瞭に分かる。
文字画像630-1の文字は、文字画像620-1の文字の字形を基準フォントAの「藤」の字形に適応させたものである。これにより、文字画像630-1と文字画像640-1との間では、例えば「とめ」、「はね」、「はらい」等の装飾的デザインや文字の太さの違いによって生じる差が小さくなる。そのため、文字画像630-1の文字の装飾的デザインや文字の太さは、基準フォントの文字画像640-1の文字の装飾的デザインや太さに近いものとなる。一般的に流通しているフォントは主として、装飾的デザインや太さが異なるものが多い。そのため、装飾的デザインや太さが異なるフォントを用いてモデル120を学習することによって、基準フォントAの装飾的デザインに近い装飾的デザインを持つ文字の画像を生成するモデル120が得られる。これにより、文字画像630-1と文字画像640-1との間の装飾的デザインの差が小さくなる。よって、例えば比較画像650-1を通じて、文字画像630-1の辺701と辺702の間の骨格の間隔が短いという、学習に用いたフォントに対する特徴的な相違点を、明確に提示することができる。
なお、モデル120を生成するための機械学習に用いたフォントデータにおいて、辺701と辺702の間の骨格の間隔については、フォント間で違いが小さいものであったとする。この場合、フォントデータを用いたモデル120の学習工程において、辺701と辺702の間の骨格の間隔は普遍的な特徴を持つものとして学習される。これにより生成されるモデル120は、入力される「藤」の字の画像に対して、辺701と辺702の間の骨格の間隔を基準フォントに大きく適応させるようなものにはならない。したがって、文字画像620-1をモデル120で変換すると、文字画像630-1のように辺701と辺702の間の骨格の間隔が比較的に狭い文字の画像が得られる。
このように、画像処理システム10によれば、文字画像生成部220は、モデル120に入力した文字の字形要素のうち、装飾的デザインのように様々な違いがある字形要素については、基準フォントAに適応した文字の画像を生成する。一方で、文字画像生成部220は、モデル120に入力した文字の字形要素のうち、機械学習に用いたフォントデータに共通している字形要素とは異質な特徴的な字形要素については、その特徴的な字形要素を実質的に維持した文字の画像を生成する。
したがって、判定者80は、文字画像630-1と文字画像640-1とを比較することによって、文字画像620-1が特異文字であるか否かを容易に判定することができる。特に、相違情報出力部240は比較画像650-1を表示装置88に表示させるので、判定者80は、処理対象画像20において「藤」の文字の辺701と辺702の間の骨格の間隔が短いことを一目で判断することができる。
図16は、参考例として、文字画像620-1に文字画像640-1を重ねた状態を示す。文字画像620-1は、文字画像630-1とは異なり、基準フォントAの「藤」の字形に適応させた文字ではない。そのため、文字画像620-1と文字画像640-1との間には、字形のデザイン性の違いによって生じる誤差が多く存在する。このように、文字画像620-1と文字画像640-1とを比較しても、字形の装飾的デザインの違いに起因する誤差が目立つ。そのため、判定者80が目で見て判定する場合においても、コンピュータ等によって判定する場合においても、その文字が特異文字であるか否かを容易に判定することはできない。
これに対し、図16及び図17に示されるとように、画像処理システム10によれば、どの文字が特異文字であるかを比較的に容易に判定することができる。
図17は、特異文字情報160のデータ構造の一例を示す。特異文字情報160は、文字識別情報、文字画像、特徴部位及び特徴量を対応づけて格納する。
「文字識別情報」には、特異文字として判定された文字の識別情報が格納される。文字識別情報は、例えば文字種を示す情報であってよい。文字識別情報は、文字コードであってよい。「文字画像」には、特異文字として判定された文字の画像データがバイナリ形式で格納される。
「特徴部位」は、特徴的な字形を持つ部位の範囲を示す情報である。例えば、特徴的な字形を持つ領域を矩形領域で示す場合、「特徴部位」は、矩形の対角の座標を示す情報を含んでよい。
「特徴量」は、文字画像から抽出される特徴量を示す情報である。特徴量は、文字画像全体から抽出される特徴量を含んでよい。特徴量は、文字画像における特徴部位から抽出される特徴量を含んでよい。
特異文字情報160は、文字解析装置280が解析対象画像30を解析する場合に使用される。例えば、解析対象画像30を解析する場合、解析対象画像取得部282が解析対象画像30の画像データを取得し、文字画像抽出部284が解析対象画像30の画像データから文字画像を抽出する。そして、文字解析部286は、特異文字情報160に格納されている情報を用いて、文字画像抽出部284が抽出した文字画像を解析する。
例えば、文字解析部286は、解析対象画像30から抽出された文字画像から特徴量を検出する。文字解析部286は、検出した特徴量が、特異文字情報160に格納されている特徴量に適合した場合に、当該特徴量に対応づけて特異文字情報160に格納されている文字識別情報を読み出す。そして、文字解析部286は、当該文字識別情報の文字が、解析対象画像30から抽出された文字画像の文字であると認識する。
以上に説明した画像処理システム10によれば、画像として入力された文字が特異文字であるか否かを適切に判定するとができる。そのため、特異文字であることを認識して、文字認識等の文字を解析することができる。
なお、機械学習に用いるフォントの書体は、処理対象画像20及び解析対象画像30で使用されるフォントの書体に整合させることが望ましい。例えば、処理対象画像20及び解析対象画像30で使用されるフォントがゴシック体の書体のフォントである場合には、ゴシック体の書体のフォントを機械学習に用いることが望ましい。
なお、文字認識は、文字解析の一例である。文字解析としては、書類の有効性判定等を例示することができる。
なお、画像処理システム10における文字処理の適用例として、手書き文字の評価等に使用できる場合がある。例えば、ペン習字において生徒が楷行体等の標準的な書体を練習する場合の評価に使用できる場合がる。例えば、ある特定の指導者の手書き文字を基準文字とし、他の多数の指導者の手書き文字を用いて学習することによって、モデル120を生成する。そして、文字処理部200に入力される書類として、生徒が書いた書類を入力する。これにより、生徒の手書き文字を特定の指導者が書いた手書き文字に適応した文字と、特定の指導者が書いた基準文字との比較結果に基づいて、生徒が書いた文字が特異性を持つか否かを判定する。また、画像処理システム10における文字解析処理として、筆跡鑑定等の手書き文字の解析に利用できる場合がある。
図18は、本実施形態に係るコンピュータ2000の例を示す。コンピュータ2000にインストールされたプログラムは、コンピュータ2000に、実施形態に係る画像処理部40、文字処理部200、学習装置202及び文字解析装置280、若しくは画像処理システム10等の装置又はシステム、若しくは当該装置又はシステムの各部として機能させる、当該装置又は当該装置の各部に関連付けられるオペレーションを実行させる、及び/又は、実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2000に、本明細書に記載の処理手順及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU2012によって実行されてよい。
本実施形態によるコンピュータ2000は、CPU2012、及びRAM2014を含み、それらはホストコントローラ2010によって相互に接続されている。コンピュータ2000はまた、ROM2026、フラッシュメモリ2024、通信インタフェース2022、及び入力/出力チップ2040を含む。ROM2026、フラッシュメモリ2024、通信インタフェース2022、及び入力/出力チップ2040は、入力/出力コントローラ2020を介してホストコントローラ2010に接続されている。
CPU2012は、ROM2026及びRAM2014内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
通信インタフェース2022は、ネットワークを介して他の電子デバイスと通信する。フラッシュメモリ2024は、コンピュータ2000内のCPU2012によって使用されるプログラム及びデータを格納する。ROM2026は、アクティブ化時にコンピュータ2000によって実行されるブートプログラム等、及び/又はコンピュータ2000のハードウエアに依存するプログラムを格納する。入力/出力チップ2040はまた、キーボード、マウス及びモニタ等の様々な入力/出力ユニットをシリアルポート、パラレルポート、キーボードポート、マウスポート、モニタポート、USBポート、HDMI(登録商標)ポート等の入力/出力ポートを介して、入力/出力コントローラ2020に接続してよい。
プログラムは、CD-ROM、DVD-ROM、又はメモリカードのようなコンピュータ可読媒体又はネットワークを介して提供される。RAM2014、ROM2026、又はフラッシュメモリ2024は、コンピュータ可読媒体の例である。プログラムは、フラッシュメモリ2024、RAM2014、又はROM2026にインストールされ、CPU2012によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2000に読み取られ、プログラムと上記様々なタイプのハードウエアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ2000の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
例えば、コンピュータ2000及び外部デバイス間で通信が実行される場合、CPU2012は、RAM2014にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース2022に対し、通信処理を命令してよい。通信インタフェース2022は、CPU2012の制御下、RAM2014及びフラッシュメモリ2024のような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取った送信データをネットワークに送信し、ネットワークから受信された受信データを、記録媒体上に提供される受信バッファ処理領域等に書き込む。
また、CPU2012は、フラッシュメモリ2024等のような記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM2014に読み取られるようにし、RAM2014上のデータに対し様々な種類の処理を実行してよい。CPU2012は次に、処理されたデータを記録媒体にライトバックする。
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理にかけられてよい。CPU2012は、RAM2014から読み取られたデータに対し、本明細書に記載され、プログラムの命令シーケンスによって指定される様々な種類のオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々な種類の処理を実行してよく、結果をRAM2014にライトバックする。また、CPU2012は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2012は、第1の属性の属性値が指定されている、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ2000上又はコンピュータ2000近傍のコンピュータ可読媒体に格納されてよい。専用通信ネットワーク又はインターネットに接続されたサーバーシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読媒体として使用可能である。コンピュータ可読媒体に格納されたプログラムを、ネットワークを介してコンピュータ2000に提供してよい。
コンピュータ2000にインストールされ、コンピュータ2000を画像処理システム10として機能させるプログラムは、CPU2012等に働きかけて、コンピュータ2000を、画像処理部40、文字処理部200を含む画像処理システム10の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ2000に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段である画像処理システム10の各部として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ2000の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の画像処理システム10が構築される。
様々な実施形態が、ブロック図等を参照して説明された。ブロック図において各ブロックは、(1)オペレーションが実行されるプロセスの段階又は(2)オペレーションを実行する役割を持つ装置の各部を表わしてよい。特定の段階及び各部が、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウエア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理オペレーション、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウエア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく実行され得る命令を含む製品の少なくとも一部を構成する。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ又はプログラマブル回路に対し、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、説明された処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。