(57)【要約】【課題】OCR処理の効率を改善する。【解決手段】本発明に係る情報処理装置は、言語グループを１つ選択し、選択した言語グループから言語を１つ選択して、選択した言語について画像に含まれる文字をOCR処理する。得られたＯＣＲ処理結果から、画像内の識別された文字と、OCR処理に係る言語との間の類似の度合いを示す適合率を算出する。そして、適合率が所定の値以下の場合、他の言語グループに属する言語を選択して、再度OCR処理を実行する。【選択図】図７
2013164728.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力する入力手段と、
複数の言語を複数のグループに分類した言語グループの中から１つの言語グループを選択する第１の選択手段と、
前記第１の選択手段が選択した言語グループに属する言語を１つ選択する第２の選択手段と、
前記入力手段で入力された前記画像に含まれる文字に対して、前記第２の選択手段で選択された言語に適した文字認識処理を実行する文字認識処理手段と、
前記文字認識処理手段による文字認識結果に基づいて、前記文字認識処理された文字と、前記第２の選択手段により選択された言語との間の類似の度合いを示す適合率を算出する算出手段と、
前記算出された適合率が第１の閾値以上の場合は、前記文字認識処理された文字が、前記第２の選択手段により選択された言語に係る文字であると判定して該文字認識結果を出力するように制御し、
前記算出された適合率が第２の閾値以上で且つ前記第１の閾値よりも小さい場合は、当該選択中の言語グループに属する他の言語の中から未処理の新たな言語を前記第２の選択手段で選択させ、当該選択させた新たな言語にしたがって前記文字認識処理手段で処理を実行するように制御し、
前記算出された適合率が前記第２の閾値よりも小さい場合は、当該選択中の言語グループと異なる新たな言語グループを前記第１の選択手段で選択させ、当該選択させた新たな言語グループにしたがって前記第２の選択手段と前記文字認識処理手段とで各処理を実行するように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第１の選択手段は、言語グループのそれぞれに関連付けられた優先順位に基づいて言語グループを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の選択手段は、同一の言語グループに属する言語のそれぞれに関連付けられた優先順位に基づいて言語を選択することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
画像に含まれる文字を文字認識するモジュールを複数備える情報処理装置であって、
画像を入力する入力手段と、
１つのモジュールを選択する第１の選択手段と、
前記第１の選択手段が選択したモジュールに属する言語を１つ選択する第２の選択手段と、
前記入力手段で入力された前記画像に含まれる文字に対して、前記第２の選択手段で選択された言語に適した文字認識処理を実行する文字認識処理手段と、
前記文字認識処理手段による文字認識結果に基づいて、前記文字認識処理された文字と、前記第２の選択手段により選択された言語との間の類似の度合いを示す適合率を算出する算出手段と、
前記算出された適合率が第１の閾値以上の場合、前記文字認識処理された文字が、前記第２の選択手段により選択された言語に係る文字であると判定して該文字認識結果を出力するように制御し、
前記算出された適合率が第２の閾値以上で且つ前記第１の閾値よりも小さい場合は、当該選択中のモジュールに属する他の言語の中から未処理の新たな言語を前記第２の選択手段で選択させ、当該選択させた新たな言語にしたがって前記文字認識処理手段で処理を実行するように制御し、
前記算出された適合率が前記第２の閾値よりも小さい場合は、新たなモジュールを前記第１の選択手段で選択させ、当該選択させた新たなモジュールにしたがって前記第２の選択手段と前記文字認識処理手段とで各処理を実行するように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項５】
前記第１の選択手段は、モジュールのそれぞれに関連付けられた優先順位に基づいてモジュールを選択することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第２の選択手段は、同一のモジュールに属する言語のそれぞれに関連付けられた優先順位に基づいて言語を選択することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
同一のモジュールに属する言語のそれぞれに関連付けられた優先順位は、前記判定の精度に基づくことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクラウド、webサーバ、パーソナルコンピュータ、原稿読取装置、OCR装置などの情報システムにおいて、OCR処理を実施する情報処理装置に関する。
【背景技術】
【０００２】
画像に含まれる文字の認識を行うOCR(Optical Character Recognition)では、一般的に、認識対象とする言語をユーザーが予め指定して、画像から指定された言語に係る文字を識別する。
【０００３】
複数言語についてOCR処理が可能なシステムでは、ある言語についてOCR処理を実行し、その結果から適合率を算出する。そして、適合率があらかじめ定めた閾値以上であればその言語であると判断する。一方、閾値以下の場合は順次他の言語についてOCR処理を実行して、適合率が閾値以上となる言語を判定する技術が知られている（特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−１５００６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術のようにOCR処理において言語を順次変更しつつOCR処理を実行する場合、処理対象言語の順番によっては、該当する言語についての処理が最後となり、結局、複数ある言語のすべてについてOCR処理を実行しなければならない場合がある。また、画像内の言語をOCR処理するための言語データを保持していなかった場合は、すべての言語のOCR処理を実行したうえで、認識外の言語であると決定することになる。そのため、予め決められた順で言語を１つずつ変更してＯＣＲ処理を行う場合、処理効率が悪いという課題があった。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明に係る情報処理装置は、画像を入力する入力手段と、複数の言語を複数のグループに分類した言語グループの中から１つの言語グループを選択する第１の選択手段と、前記第１の選択手段が選択した言語グループに属する言語を１つ選択する第２の選択手段と、前記入力手段で入力された前記画像に含まれる文字に対して、前記第２の選択手段で選択された言語に適した文字認識処理を実行する文字認識処理手段と、前記文字認識処理手段による文字認識結果に基づいて、前記第２の選択手段により選択された言語との間の類似の度合いを示す適合率を算出する算出手段と、前記算出された適合率が第１の閾値以上の場合は、前記文字認識処理された文字が、前記第２の選択手段により選択された言語に係る文字であると判定して該文字認識結果を出力するように制御し、前記算出された適合率が第２の閾値以上で且つ前記第１の閾値よりも小さい場合は、当該選択中の言語グループに属する他の言語の中から未処理の新たな言語を前記第２の選択手段で選択させ、当該選択させた新たな言語にしたがって前記文字認識処理手段で処理を実行するように制御し、前記算出された適合率が前記第２の閾値よりも小さい場合は、当該選択中の言語グループと異なる新たな言語グループを前記第１の選択手段で選択させ、当該選択させた新たな言語グループにしたがって前記第２の選択手段と前記文字認識処理手段とで各処理を実行するように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００７】
複数言語のOCR処理における処理効率を改善する。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係る情報処理装置の構成例を示すブロック図である。
【図２】OCR処理に係る入力及び出力の概念を説明するための図である。
【図３】OCRモジュールの構成例を示すブロック図である。
【図４】OCR言語グループごとにOCR言語を分類した一例を示す図である。
【図５】OCR処理部による処理を説明するための図である。
【図６】実施例1に係るOCR処理の処理手順を示すフローチャートである。
【図７】OCR言語グループ及びOCR言語を説明するための図である。
【図８】文字領域認識を再利用する処理の処理手順を示すフローチャートである。
【図９】実施例2に係るOCRモジュールの一例を示す図である。
【図１０】実施例2に係る情報処理装置の構成例を示すブロック図である
【図１１】実施例2に係るOCR処理の処理手順を示すフローチャートである。
【図１２】OCRモジュールにおいて性能値が関連付けられていることを説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
（実施例１）
本実施例は、OCRシステムにおいて、特にクライアントPCにより、本発明に係るOCR処理が実行される。しかし、本発明に係るOCR処理は、クライアントPCだけではなく、webサービスのサーバやクラウドコンピューティングで実施することも可能である。また、本発明はスキャナ、複合機などの原稿読み取り装置内において実施することも可能である。OCRシステムには、認識率を重視するシステムと高速性を重視するシステムとがあるが、本発明では特に高速性を重視するものである。
【００１０】
図１は、本発明に係るOCR処理を実施する情報処理装置の構成の一例を示すブロック図である。
【００１１】
図１において、１はCPUであり、データ処理を行い、情報処理装置９内の各種装置を制御する。２はメモリであり、CPUが読み書きするためのデータを保持する。３はHDD（Hard Disc Drive）であり、各種データが格納されている。４は入力装置であり、キーボード、ポインティングデバイスなどから構成され、ユーザーからの入力を受け付ける。５はディスプレイなどの出力装置であり、CPU１からの命令に基づいてデータを出力する。６は媒体読取装置であり、FD,CD-ROM, メモリカード等の記憶媒体からデータを読み取る。７はスキャナ、複合機などの原稿読取装置であり、読み取られた画像は例えばHDD３に格納される。なお、HDD３は、HDDまたはそれらの複数の装置の組み合わせで構成されていてもよい。また、それぞれの装置がネットワークを介して接続されていても、本発明を制約するものではない。
【００１２】
図２は、OCR処理を実行する旨のOCR命令が入力されると、ＣＰＵ１がOCRモジュール（ＯＣＲプログラム）を実行することによってＯＣＲ処理を行い、処理結果を出力するまでの処理の概念を示す図である。CPU１は、ＨＤＤ３（もしくは媒体読取装置６を介してその他の記憶媒体）から、ＯＳプログラムやＯＣＲプログラムやその他の各種アプリケーションプログラムをメモリ２にロードして実行する。入力装置４からOCR命令が入力されると、ＣＰＵ１はOCRモジュール１１に基づく処理を実行する。ＣＰＵ１は、OCRモジュール１１に応じて実行した処理の処理結果をHDD３に格納させ、また、出力装置５に出力する。なお、OCRモジュール１１は、OSプログラム１０の制御下で動作する。
【００１３】
ＣＰＵ１（コンピュータ）は、ＯＣＲモジュール（ＯＣＲプログラム）を実行することにより、図３のブロック図に示すような各処理部として機能する。
【００１４】
１２は入力受付部であり、OCR処理の対象となる画像の入力を受け付ける。１３はOCR処理制御部であり、OCR処理に係る各部を制御する。
【００１５】
OCR処理制御部１３は、処理内容決定部１４、OCR言語判断部１５、OCR言語グループ判断部１６、及びOCR結果出力部１７を含む。処理内容決定部１４は、OCR処理部１８で処理するOCR言語の集合であるOCR言語グループ、及びOCR言語を選択する。
【００１６】
OCR処理部１８は、選択されたOCR言語を用いて適合率を算出する。適合率は、OCR処理により識別された文字と、選択されたOCR言語との間の類似の度合いを示すものである。なお、適合率については、図５を用いて後に説明する。
【００１７】
OCR言語判断部１５は、適合率に基づいて、画像内の文字が、選択したOCR言語であるかどうかを判断する。
【００１８】
OCR言語グループ判断部１６は、画像内の言語が、選択したOCR言語が属するOCR言語グループにあるかどうかを判断する。
【００１９】
OCR結果出力部１７は、OCR結果である認識された文字列をテキストファイルなどの文章ファイルとして出力する。
【００２０】
次に、図4を用いて、本願発明の特徴となるOCR言語グループについて説明する。OCR言語は、類似する言語ごとにOCR言語グループに分類することができる。例えば、中国語、台湾語、日本語を１つのOCR言語グループ（漢字系言語グループ）に分類することができる。また、英語、ドイツ語、フランス語を１つのOCR言語グループ（ラテン系言語グループ）に分類することができる。各ＯＣＲ言語グループは、ある文字画像に対してOCR処理を実行した場合に、OCR言語の適合率が類似する値を示すＯＣＲ言語群ごとにグループを構成するように分類されている。
【００２１】
例えば、日本語が含まれる画像に対してOCR処理を実行する場合、英語を用いてOCR処理を行っても、フランス語を用いてOCR処理を行っても、適合率が0%となる可能性が高い。一方、日本語が含まれる画像に対して日本語と同一の言語グループに属する中国語や台湾語を用いてOCR処理を行った場合、漢字部分を認識することができるため数十%の適合率が得られる。このことから、類似する言語同士では適合率が高い値となる。一方、別のOCR言語グループに属するOCR言語を用いてOCR処理を行うと、適合率は0％に近い値となる。また、同一OCR言語グループ内の別のOCR言語でOCRを行うと、適合率は画像に含まれる言語を用いてOCR処理を行った場合より低い適合率になりうる。しかし、画像に含まれる言語が属するOCR言語グループとは別のOCR言語グループに属するOCR言語を用いてOCR処理を行った場合よりも高い適合率となる。本発明では、類似する言語同士では、ある画像に対してOCR処理を行った時の適合率も類似することの特徴を利用する。詳細は図７を用いて後述する。
【００２２】
次に、図５を用いて、OCR処理部１８による処理の詳細について説明する。
【００２３】
OCR処理部18は、入力画像と、OCR処理に用いるOCR言語とを入力する。そして、入力したOCR言語でOCR処理を行い、OCR言語により認識した文字と、適合率とをOCR処理結果として出力する。
【００２４】
具体的には、OCR処理部１８は、文字領域解析処理（５０１）、文字認識処理（５０２）、適合率算出処理（５０３）の順に処理を実行する。
【００２５】
まず、文字領域解析処理（５０１）で、入力画像における文字領域を特定する。
【００２６】
次に、文字認識処理（５０２）で、文字領域解析処理（５０１）により特定された文字領域に対して、指定されたＯＣＲ言語での文字認識処理を行い、文字を識別する。そして、識別した文字をテキストファイルなどに書き込む。テキストファイルは、PDFやWordなどの文章ファイルに文字情報を埋め込んだものでもよい。
【００２７】
次に、適合率算出処理（５０３）を行う。適合率は、適用したOCR言語の合致度を表すものである。なお、適合率は、画像中の文字の形状に基づいてOCR処理部１８が保持する文字形状辞書との一致度を求めること、又は認識結果のテキストと、OCR処理部１８が保持する単語辞書との一致度などから求めることができる。なお、本実施例では、適合率の単位を％とする。
【００２８】
次に、図６を用いて、本発明の情報処理に係る処理手順について説明する。
【００２９】
まず、入力受付部１２は入力画像を取得する（Ｓ６０１）。
【００３０】
次に処理内容決定部１４は、OCR言語グループ選択処理を行う（Ｓ６０２）。OCR言語グループ選択処理（Ｓ６０２）は、あらかじめ定められたOCR言語グループの優先順位に基づいて、OCR言語グループを第１の選択として１つ選択する。なお、優先順位については図７を用いて説明する。
【００３１】
次に、処理内容決定部１４は、第２の選択として、Ｓ６０２で選択されたＯＣＲ言語グループに属するＯＣＲ言語の中からOCR言語の選択処理（Ｓ６０３）を行う。ここで、OCR言語は、予め定められたOCR言語の優先順位に基づいて選択される。なお、優先順位については図７を用いて説明する。
【００３２】
OCR処理部１８は、選択されたOCR言語用の認識アルゴリズムや認識辞書を用いて、OCR処理を入力画像に対して実行する（Ｓ６０４）。この処理は、図５に示す、文字領域解析処理（５０１）、文字認識処理（５０２）に対応する。
【００３３】
次に、OCR処理部１８は、文字認識処理の結果に基づいて、適合率を算出する（Ｓ６０５）。この処理は、図５に示す適合率算出処理（５０３）に対応する。
【００３４】
次に、OCR言語判断部１５は、適合率が第１の閾値以上であるか判定することにより、入力画像に含まれる文字が、現在選択されているOCR言語と一致するかどうかを判断する（Ｓ６０６）。なお、当該判断の詳細については、図７を用いて後述する。
【００３５】
現在選択されているOCR言語が、入力画像に含まれる文字に係る言語であると判断した場合（Ｓ６０６：ＹＥＳ）、OCR結果出力部１７は、当該現在選択されているOCR言語を用いてOCR処理を実行し、その処理結果を出力する（Ｓ６１０）。
【００３６】
一方、現在選択されているOCR言語ではないと判断した場合（Ｓ６０６：ＮＯ）、OCR言語グループ判断部１６は、適合率が第２の閾値以上であるか判定する。そして、入力画像に含まれる文字が該当OCR言語グループに属する文字の可能性があるかの判断を行う（Ｓ６０７）。当該判断の詳細については、図７を用いて後述する。該当する言語グループであると判断した場合（Ｓ６０７：ＹＥＳ）、OCR言語グループ判断部１６は、現在選択されているOCR言語グループに属する未処理の他のOCR言語が存在するかどうかを判断する（Ｓ６０８）。
【００３７】
現在選択されているOCR言語グループに属する未処理のOCR言語が存在する場合（Ｓ６０８：ＹＥＳ）、OCR言語選択処理（Ｓ６０３）に戻る。現在選択されているOCR言語グループで未処理OCR言語が存在しない場合（Ｓ６０８：ＮＯ）、OCR言語グループ判断部１６は未処理の他のOCR言語グループが存在するかの判断を行う（Ｓ６０９）。また、Ｓ６０７において、入力画像に含まれる文字が該当OCR言語グループに属する文字である可能性がないと判断した場合（Ｓ６０７：ＮＯ）も、未処理の他のOCR言語グループが存在するかの判断を行う（Ｓ６０９）。
【００３８】
Ｓ６０９で未処理の他のOCR言語グループが存在すると判断した場合、OCR言語グループ選択処理（Ｓ６０２）に戻る。
【００３９】
Ｓ６０９で未処理の他のOCR言語グループが存在しないと判断した場合、OCR結果出力処理（Ｓ６１０）を行う。ここでは、エラーとして終了してもよいし、適合率が最大であったOCR処理結果を出力してもよい。
【００４０】
次に、図７（Ａ）を用いて、適合率、OCR言語、OCR言語グループ、優先順位について説明する。本実施例では、OCR言語及びOCR言語グループについて判断する際に、2つの閾値を用いる。
【００４１】
図７に示す、第１の閾値である閾値１、及び第２の閾値である閾値２は、選択したOCR言語が、入力画像に含まれる文字に係る言語であるかどうか判断する際に使用する閾値である。閾値２は閾値１より小さい値に設定される。例えば、閾値１を90%、閾値２を10%などの値に定める。
【００４２】
次に、OCR言語、及びOCR言語グループを選択する際に用いる優先順位について説明する。なお、OCR言語グループ選択処理（Ｓ６０２）、OCR言語選択処理（Ｓ６０３）において、優先順位に基づいてOCR言語グループ、OCR言語が選択される。
【００４３】
優先順位の例について、図７（Ａ）を用いて説明する。符号７０１に示すように、OCR言語グループの優先順位が、1位をラテン系、2位を漢字系、3位をアラビア系、4位をバーコードに設定されている。また、ラテン系のOCR言語グループでは、OCR言語の優先順位が、1位を英語、2位をドイツ語、3位をフランス語、4位をイタリア語に設定されている。
【００４４】
同様にして、漢字系、アラビア系、バーコードのOCR言語グループにもOCR言語優先順位が設定されている。
【００４５】
OCR言語グループの優先順位及びOCR言語の優先順位は、あらかじめ定められた値を用いる。また、本実施例における入力受付処理（Ｓ６０１）の後に、画像解析が可能な場合は、入力画像に対して言語グループ、言語ごとに特有の画像特徴量である、エッジの解析や、画像濃度の解析を行った結果により、優先順位を決定するようにしてもよい。
【００４６】
図7（A）に示す例では、まず、OCR言語グループの優先順位が1位のラテン系において、OCR言語の優先順位が1位の英語によるOCR処理が実行され、適合率が求められる。このとき、英語用のOCR処理により得られる適合率が、閾値２より低かった場合、別言語グループと判断され、ドイツ語用、フランス語用、イタリア語用のOCR処理をスキップする。
【００４７】
次に、OCR言語グループの優先順位が２位の漢字系において、OCR言語の優先順位が1位の中国語用のOCR処理が実行され、適合率が求められる。中国語用のOCR処理の結果、適合率が閾値2以上（第２の閾値以上）であり、かつ閾値１より低い場合、さらに、漢字系の他のOCR言語によるOCR処理が実施される。すなわち、漢字系におけるOCR言語の優先順位が2位の日本語用のOCR処理が実行される。この結果、適合率が閾値１以上（第１の閾値以上）であれば、日本語によるOCR処理の結果を出力し、処理を終了する。
【００４８】
また、図７（B）に示すように、該当言語がない場合でも、すべての言語のOCRを適用する必要がなく、OCR言語グループにおいてOCR言語優先順位が1位の言語に対してのみ適合率を求めればよい。従って、OCR言語グループの数だけOCR処理を行えばよく、図７（B）に示す例では4回のOCR処理のみが行われる。
【００４９】
このように、優先順位に従ってOCR言語グループが選択される。そして、選択されたOCR言語グループにおいて、優先順位に従ってOCR言語が選択され、選択されたOCR言語によるOCR処理が実行される。このとき、求められた適合率が閾値２より低い場合は、現在選択されたOCR言語グループよりも下位のOCR言語グループが新たに選択される。そして、新たに選択されたOCR言語グループに属する、優先順位が１位のOCR言語が選択され、OCR処理が実行される。
【００５０】
なお本実施例では閾値１、閾値２をすべてのOCR言語で同一の値としたが、OCR言語グループ内の類似傾向や、各言語によるOCR処理の精度差などを考慮し、OCR言語ごとに異なる閾値を使用してもよい。
【００５１】
なお、OCR処理は、図５で示したように、画像中の文字の領域を特定する文字領域解析（５０１）、特定した領域中の文字を判断する文字認識（５０２）というステップで行われる。また、同一OCR言語グループ内では文字形状が類似しているため、文字領域解析（５０１）を再利用することができる。
【００５２】
なお、OCRモジュールの文字領域認識、文字認識が独立している場合、同一言語グループ内では、文字領域解析結果を再利用しないと効率が悪くなってしまう。この文字領域解析を再利用する処理のフローを図８に示す。以下、図５と異なる処理について説明する。
【００５３】
文字領域解析を再利用する処理では、図５に示したOCR処理を、文字領域解析処理（Ｓ８０１）、文字認識処理（Ｓ８０２）に分ける。処理内容決定部１４がOCR言語グループ選択処理（Ｓ６０２）を行った後、OCR処理部１８が文字領域解析処理（Ｓ８０１）を行う。
【００５４】
次に、処理内容決定部１４がOCR言語選択処理（Ｓ６０３）を行った後、OCR処理部１８は文字認識処理（Ｓ６０４）を行う。OCR言語グループ判断部１６で、画像中の文字が、選択中のOCR言語グループの別OCR言語に属する文字の可能性があると判断された場合（Ｓ６０７：ＹＥＳ）、文字領域解析の結果を保存する（Ｓ８０３）。同OCR言語グループに未処理の他のOCR言語が存在すると判断された場合（Ｓ８０４）、領域解析処理後のOCR言語選択処理に戻り、保存された文字領域解析結果を使用する。これにより、同一グループ内で文字領域解析処理を再利用することができ、処理時間を短縮することができる。
【００５５】
（実施例２）
複数言語についてOCR処理を実行することが可能なOCRモジュールを複数備えて、１つのモジュールを用いて多数の言語についてOCR処理を実行したい場合がある。そのような場合、同一OCRモジュールに係るOCR言語を考慮せずに実施形態１に係る処理を行うと、同一のOCRモジュールを複数回起動することがありうる。このような場合、OCRモジュールのロード、初期化を何度も行うことになるので、処理時間が増加し、効率が悪いという課題がある。
【００５６】
ここで、OCRモジュールの一例について図９を用いて説明する。例えば、OCRモジュール２で英語によるOCR処理を行い、次にOCRモジュール３でドイツ語によるOCR処理を行い、次にOCRモジュール２でフランス語によるOCR処理を行った場合、OCRモジュール２を２回ロード、初期化することになる。よって、このように同一のモジュールを複数回ロードすることは、効率の悪い処理である。
【００５７】
本実施例では、なるべくモジュールをまたがず、高速に処理できるよう考慮したOCRモジュール切り替えの判断を行う。
【００５８】
OCR処理による適合率の算出と閾値を用いた判断により、入力画像に含まれる文字に係る言語が、同一OCR言語グループ内に属する別のOCR言語と判断された場合、同OCRモジュール内の同OCR言語グループの別OCR言語を優先的に選択する。また、別言語グループと判断された場合、同OCRモジュール内の別OCR言語グループを優先的に選択する。このように、同OCRモジュール内のOCR言語グループ、OCR言語を優先的に選択することで、モジュールの切り替え回数を減らし、適切なOCR言語を効率よく選択することができる。
【００５９】
以下、基本的なシステム構成は実施例１と同一であり、実施例１との差異について説明する。
【００６０】
図１０は、図３に示す情報処理装置において、OCR処理部１８内に、OCRモジュールがさらに複数存在する（例えば、符号２０乃至２２に示すモジュール）。また、モジュール切替判断部１９は、モジュールの切り替えの判断を行う。
【００６１】
図１１は、実施例２に係る情報処理の処理手順の一例を示すフローチャートである。図１１では、図８のフローチャートにおいて、モジュール切り替え処理がさらに追加されている。本フローチャートは、OCR言語グループ内で文字領域解析を再利用する場合のフローチャートである。なお、OCR処理が文字領域解析（Ｓ８０１）と文字認識処理（Ｓ８０２）が分離不可能な場合、Ｓ８０１では文字領域解析を行わず、文字認識処理（Ｓ８０２）において文字領域解析と文字認識処理を行う。
【００６２】
以下図８との差異について説明する。
【００６３】
入力受付部１２が入力画像を取得（Ｓ６０１）した後、処理内容決定部１４は、OCRモジュール選択処理を行う（Ｓ６０２）。OCRモジュール選択処理（Ｓ６０２）は、あらかじめ定められたOCRモジュールの優先順位に基づいて選択する。OCRモジュールの優先順位については後述する。
【００６４】
OCR言語グループ判断部１６において、該当言語グループと判断された場合（Ｓ６０７）、文字領域解析結果保存処理（Ｓ８０３）を行う。
【００６５】
次に、OCR言語グループ判断部１６は、現在選択されているOCRモジュール内に、現在選択されているOCR言語グループにおいて、未処理のOCR言語があるかどうかを判断する（Ｓ１１０２）。
【００６６】
未処理のOCR言語が存在する場合、モジュール切替判断部１９はOCRモジュールを切り替えず、OCR言語選択処理（Ｓ６０３）に戻る。
【００６７】
一方、未処理のOCR言語が存在しない場合（Ｓ１１０２；Ｎｏ）、モジュール切替判断部１９は、他モジュールに属する、現在選択されているOCR言語グループで未処理OCR言語が存在するかについて判断する（Ｓ１１０３）。
【００６８】
未処理のOCR言語が存在する場合（Ｓ１１０３；ＹＥＳ）、モジュール切替判断部１９は、現在選択されているOCR言語グループで未処理OCR言語をもつモジュールに切り替え（Ｓ１１０４）、OCR言語選択処理（Ｓ９０４）に戻る。
【００６９】
モジュール切替処理（Ｓ１１０４）では、現在選択されているOCR言語グループで未処理OCR言語をもつモジュールが複数ある場合、OCRモジュールの優先順位をもとに選択する。他モジュールに選択されたOCR言語グループで未処理OCR言語が存在しない場合は、Ｓ１１０５に移る。Ｓ６０７において該当OCR言語グループではないと判断された場合、モジュール切替判断部１９は選択されたモジュールに未処理言語グループが存在するかの判断を行う（Ｓ１１０５）。選択されたモジュールに未処理言語グループが存在する場合は、モジュール切替判断部１９はモジュールを切り替えず、OCR言語グループ選択処理（Ｓ６０２）に戻る。現在選択されているモジュールに未処理言語グループが存在しない場合は、他モジュールに未処理言語グループが存在するかの判断を行う（Ｓ１１０６）。他モジュールに未処理言語グループが存在する場合、未処理言語グループを持つモジュールに切り替えて（Ｓ１１０７）、OCR言語グループ選択処理（Ｓ６０２）に戻る。モジュール切替処理（Ｓ１１０７）は、未処理言語グループを持つモジュールが複数ある場合は、OCRモジュールの優先順位をもとに選択する。他モジュールに未処理言語グループが存在しない場合は、すべてのOCR言語グループでOCRを行い、画像中の文字言語と一致するものがなかったと判断したことになり、OCR結果出力処理（Ｓ５１０）に移る。ここでは、エラーとして終了してもよいし、適合率が最大であったOCR処理結果を出力してもよい。
【００７０】
次に、OCRモジュールの優先順位について図１２を用いて説明する。図１２に示すように、各OCRモジュールにより分類されているOCR言語に対し、予め実験して求めておいた性能値を関連付ける。この性能値は、各OCRモジュールの各言語のOCR処理の性能を表すものであり、標準的なデータをOCR処理して、求めた適合率に基づいて相対的に決定することができる。
【００７１】
例えば、適合率が高かったものから順に、A, B, Cの三段階に分けて、各OCR言語について性能値を設定する。なお、OCR言語グループ優先順位が１位と判断されたOCR言語グループに含まれる言語をもつOCRモジュールからOCRモジュール優先順位をつける。その中でも、OCR言語グループ優先順位が１位と判断されたOCR言語グループに含まれる、高い性能値のOCR言語をもつOCRモジュールから順にOCRモジュールの優先順位を上位にする。
【００７２】
例えば、OCR言語グループの優先順位が１位と判断された言語グループがラテン系の場合、ラテン系において性能値の高いAを含む、OCRモジュール3をOCRモジュールの優先順位1位と判定する。
【００７３】
次に、性能値の高いBを含むOCRモジュール2をOCRモジュール優先順位2位に、OCRモジュール3をOCRモジュールの優先順位3位とする優先順位をつける。このように、性能値の高いモジュールから選択することで、性能の高いOCR結果を効率よく得ることができる。この優先順位はOCRモジュール選択処理（Ｓ１１０１）、OCRモジュール切替処理（Ｓ１１０４）（Ｓ１１０７）において、選択肢が複数ある場合に用いられる。
【図１】
2013164728.tif 000003
【図２】
2013164728.tif 000004
【図３】
2013164728.tif 000005
【図４】
2013164728.tif 000006
【図５】
2013164728.tif 000007
【図６】
2013164728.tif 000008
【図７】
2013164728.tif 000009
【図８】
2013164728.tif 000010
【図９】
2013164728.tif 000011
【図１０】
2013164728.tif 000012
【図１１】
2013164728.tif 000013
【図１２】
2013164728.tif 000014