(57)【要約】【課題】認識精度の高い文字データを含むファイルへ変換可能な技術を提供することを目的とする。【解決手段】判定手段により文字認識情報に含まれる文字データが正しくないと判定された場合、画像に対して新たに文字認識処理を実行し、画像と、新たに実行された文字認識処理の実行結果の文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成し、判定手段により文字認識情報に含まれる文字データが正しいと判定された場合、画像に対して新たに文字認識処理を実行せず、画像と、画像に関連付けられている文字認識情報に含まれる文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成する制御手段と、を有する。【選択図】図６
2018180977.tif 000002
【特許請求の範囲】
【請求項１】
画像に関連付けられている文字認識情報に含まれる文字データが正しいか否かを判定する判定手段と、
前記判定手段により前記文字認識情報に含まれる文字データが正しくないと判定された場合、前記画像に対して新たに文字認識処理を実行し、前記画像と、新たに実行された文字認識処理の実行結果の文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成し、
前記判定手段により前記文字認識情報に含まれる文字データが正しいと判定された場合、前記画像に対して新たに文字認識処理を実行せず、前記画像と、前記画像に関連付けられている文字認識情報に含まれる文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成する制御手段と、
を有する情報処理装置。
【請求項２】
前記判定手段は、前記文字認識情報に含まれる前記文字データの正否情報に基づいて前記画像の文字データが正しいか否かを判定する請求項１記載の情報処理装置。
【請求項３】
前記文字データが修正された場合、前記正否情報を前記文字データが正しいことを示す値に更新する更新手段を更に有し、
前記判定手段は、前記正否情報が、前記文字データが正しいことを示す値であった場合、前記画像の文字データが正しいと判定し、前記正否情報が、前記文字データが正しいことを示す値でなかった場合、前記画像の文字データが正しくないと判定する請求項２記載の情報処理装置。
【請求項４】
前記判定手段は、前記画像の文字データが正しくないと判定した場合、更に、前記文字認識処理の辞書が更新されているか否かを判定し、
前記判定手段により前記画像の文字データが正しくないと判定され、かつ、前記文字認識処理の辞書が更新されていると判定された場合、前記制御手段は、前記画像に対して前記更新された辞書を用いて新たに文字認識処理を実行し、前記画像と、新たに実行された文字認識処理の実行結果の文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成する請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
前記判定手段により前記画像の文字データが正しくないと判定された場合であっても、前記文字認識処理の辞書が更新されていないと判定された場合、前記制御手段は、前記画像に対して新たに文字認識処理を実行せず、前記画像と、前記画像に関連付けられている文字認識情報に含まれる文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成する請求項４記載の情報処理装置。
【請求項６】
前記判定手段は、前記画像の文字データが正しくないと判定した場合、更に、前記文字認識処理のエンジンが更新されているか否かを判定し、
前記判定手段により前記画像の文字データが正しくないと判定され、かつ、前記文字認識処理のエンジンが更新されていると判定された場合、前記制御手段は、前記画像に対して前記更新されたエンジンを用いて新たに文字認識処理を実行し、前記画像と、新たに実行された文字認識処理の実行結果の文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成する請求項１乃至３何れか１項記載の情報処理装置。
【請求項７】
前記判定手段により前記画像の文字データが正しくないと判定された場合であっても、前記文字認識処理のエンジンが更新されていないと判定された場合、前記制御手段は、前記画像に対して新たに文字認識処理を実行せず、前記画像と、前記画像に関連付けられている文字認識情報に含まれる文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成する請求項６記載の情報処理装置。
【請求項８】
情報処理装置が実行する情報処理方法であって、
画像に関連付けられている文字認識情報に含まれる文字データが正しいか否かを判定する判定工程と、
前記判定工程により前記文字認識情報に含まれる文字データが正しくないと判定された場合、前記画像に対して新たに文字認識処理を実行し、前記画像と、新たに実行された文字認識処理の実行結果の文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成する第１の制御工程と、
前記判定工程により前記画像の文字データが正しいと判定された場合、前記画像に対して新たに文字認識処理を実行せず、前記画像と、前記画像に関連付けられている文字認識情報に含まれる文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成する第２の制御工程と、
を含む情報処理方法。
【請求項９】
コンピュータを、請求項１乃至７何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、画像に対して文字認識処理を施して文字データを抽出し、画像をＰＤＦに変換した後、その文字データを変換後のＰＤＦの対応する位置に透明テキストとして埋め込むことで、文字データが検索可能なＰＤＦを作成する技術が普及している。以下では、この検索可能なＰＤＦ（Ｓｅａｒｃｈａｂｌｅ  ＰＤＦ）をＳ−ＰＤＦと記述する。
特許文献１には、画像に対して文字認識処理を施し、画像データと文字データとを含む画像ファイルを生成する前に文字認識結果を表示する技術が開示されている。この技術によれば、ユーザは画像がＳ−ＰＤＦへ変換される前に、画像に対する文字認識結果を確認・修正できるようになる。
また、特許文献２のように、文字認識結果を画像と関連付けてデータベース等で管理する技術もある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２３１６４８号公報
【特許文献２】特開平１０−１６２０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像と文字認識結果とが関連づけられて管理されている画像（例えば、、特許文献２のような画像）について、Ｓ−ＰＤＦに変換して送信するケースが考えられる。このような画像はすでに文字認識結果が関連づけられているため、この既存の文字認識結果を用いてＳ−ＰＤＦに変換すれば、文字認識処理を実行しない処理の分だけ、ファイル変換処理のパフォーマンスが向上すると考えられる。
しかしながら、画像と関連付けられている既存の文字認識結果が正しくない場合（例えば、誤認識された文字データを修正していない場合）、正しくない文字認識結果を基にファイル変換が実施されてしまう。
また一方で、画像と文字認識結果とが関連づけて管理されている画像であっても、Ｓ−ＰＤＦに変換する際に、常に文字認識処理を再実行し、その再実行で得た文字認識結果を用いてＳ−ＰＤＦに変換する、という形態も考えられる。しかしながら、その再実行した文字認識処理結果に誤認識が含まれる場合、該画像と関連付けられている既存の文字認識結果が正しかったとしても（例えば、誤認識された文字データが修正済みの場合）、再実行により得られた正しくない文字認識結果に基づいてファイル変換が実施されてしまう。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、画像に関連付けられている文字認識情報に含まれる文字データが正しいか否かを判定する判定手段と、前記判定手段により前記文字認識情報に含まれる文字データが正しくないと判定された場合、前記画像に対して新たに文字認識処理を実行し、前記画像と、新たに実行された文字認識処理の実行結果の文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成し、前記判定手段により前記文字認識情報に含まれる文字データが正しいと判定された場合、前記画像に対して新たに文字認識処理を実行せず、前記画像と、前記画像に関連付けられている文字認識情報に含まれる文字データとに基づいて、所定のファイル形式の検索可能なファイルを生成する制御手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、認識精度の高い文字データを含むファイルへ変換可能な技術を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置のハードウェア構成の一例を示す図である。
【図２】情報処理装置のソフトウェア構成の一例を示す図である。
【図３】文字認識情報のデータ構造の一例を示す図である。
【図４】画像と文字認識情報との一例を示す図である。
【図５】Ｓ−ＰＤＦ変換処理の一例を示すフローチャートである。
【図６】実施形態１の情報処理の一例を示すフローチャートである。
【図７】実施形態２の情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
［ハードウェア構成］
図１は、情報処理装置１００のハードウェア構成の一例を示す図である。
情報処理装置１００は、ユーザ操作の入力を受信する入力デバイスであるキーボード１０５とポインティングデバイス１０６とを有する。
キーボード１０５は、情報処理装置１００に対して文字や数字等の情報を入力する装置である。キーボードは、例えば、仮名や英文字等を入力するキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーを備える。
ポインティングデバイス１０６は、例えばマウス等を備える。ユーザが、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を用いて情報処理装置１００を操作する場合、表示部１０２上に表示されたボタンやアイコン等をマウスでクリックすることにより、所定の情報の入力を行うことができる。例えば、情報処理装置１００が、インストールされたソフトウェアを表すアイコンを表示部１０２上に表示し、ユーザがアイコンをマウスでクリックすることに応じて、ＣＰＵ１０１がソフトウェアを起動する。情報処理装置１００は、更に、ユーザに視覚的な出力情報フィードバックを与える表示部１０２を有する。
表示部１０２は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、液晶ディスプレイ、又はプラズマディスプレイを備える画面上に各種情報を表示する。表示部１０２は、キーボードやマウスの入力結果や、ソフトウェアが提供する画面（例えばユーザインターフェース）等を表示する。
【００１０】
情報処理装置１００は、更に、ＣＰＵ１０１、ＲＡＭ１０３、ＲＯＭ１０４、ＨＤＤ１０７を有する。ＣＰＵ１０１は、情報処理装置１００の全体を制御する。ＣＰＵ１０１がＲＯＭ１０４、ＨＤＤ１０７等に記憶されたプログラムをＲＡＭ１０３上に読み出し、ＲＯＭ１０４、ＨＤＤ１０７に記憶されたデータ等に基づき処理を実行することによって、後述する図２に示すソフトウェア構成を実現させる。また、ＣＰＵ１０１がＲＯＭ１０４、ＨＤＤ１０７等に記憶されたプログラムをＲＡＭ１０３上に読み出し、ＲＯＭ１０４、ＨＤＤ１０７に記憶されたデータ等に基づき処理を実行することによって、後述する図５〜図７のフローチャートの処理が実現される。
ＲＡＭ１０３、ＲＯＭ１０４、ＨＤＤ１０７は、プログラムやＣＰＵ１０１がプログラムに基づき処理を実行する際に利用するデータ等を保管する。また、情報処理装置１００は、ＣＤに記録されたデータを読み出すためのＣＤ−ＲＯＭドライバ１０８も有する。ＲＡＭ１０３には、ＣＰＵ１０１によりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムや以下に示す実施形態に係るプログラム等がロードされ実行される。また、ＲＡＭ１０３は、プログラムを実行するために用いられる各種作業領域、一時待避領域として機能する。本実施形態では、ＲＡＭ１０３には、ＣＰＵ１０１がソフトウェアの起動やヘルプ情報の要求等を行うための領域が確保される。ＲＯＭ１０４は、プログラム、データ及びパラメータ等を記憶する記憶装置である。
【００１１】
ＨＤＤ１０７は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置と、を有する。本実施形態では、ＨＤＤ１０７は、ハードディスクを備えるローカルディスクである。なお、ＨＤＤ１０７が備える記憶媒体が、光磁気ディスク、磁気ディスク、半導体メモリ等であってもよい。ＨＤＤ１０７には、図２に示すソフトウェア２００のプログラムが記憶されている。また、ＨＤＤ１０７には、インターフェイスデバイスＩ／Ｏ２０９を制御し、ネットワークを介した通信を維持する通信プログラムが記憶されている。また、ＨＤＤ１０７には、メモリ管理やファイル入出力管理等のクライアントを動作させるための基本ソフトウェアであるＯＳのプログラム等が記憶されている。
情報処理装置１００は、更に、外部機器との通信を行うインターフェイスデバイスＩ／Ｏ１０９を有する。周辺機器との接続形態は有線／無線を問わない。インターフェイスデバイスＩ／Ｏ１０９は、ネットワーク（例えば、ＬＡＮやインターネット）を介して他の端末（Ｗｅｂサーバ、メールサーバ等）に情報処理装置１００を接続する。インターネットを介した通信を行う場合には、例えば、ＴＣＰ／ＩＰ等のプロトコルが用いられる。
【００１２】
［ソフトウェア構成］
図２は、情報処理装置１００のソフトウェア構成の一例を示す図である。
情報処理装置１００は、ソフトウェア２００を有する。ソフトウェア２００は、ソフトウェアＵＩ部２０１、ソフトウェア実行部２０２（ファイル制御部２０３、文字認識部２０４）、記憶部２０５で構成される。図２に示す例では、情報処理装置１００にはインストーラによってソフトウェア２００のプログラムがＨＤＤ１０７等にインストールされているものとする。
ソフトウェア２００は、例えば、ファイル管理ソフト、画像編集ソフト、エディタソフト、ワードプロセッサソフト、表計算ソフト、データベースソフト等の任意のソフトウェアである。本実施形態におけるソフトウェア２００は、ファイルの閲覧や管理、ファイルに対する文字認識処理、文字認識情報の編集、ファイル変換等の機能を有する。
【００１３】
ソフトウェアＵＩ部２０１は、ソフトウェア２００のユーザインターフェースの構築を行う。また、ソフトウェアＵＩ部２０１は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介して、ユーザからの各種入力操作を受け付ける処理を実行する。
ソフトウェア実行部２０２は、ファイル制御部２０３、文字認識部２０４を有し、情報処理装置１００内でのファイル変換に関する処理全般の機能を備える。
ファイル制御部２０３は、ファイル制御に関する処理全般の機能を備える。ファイル制御に関する処理とは、より具体的には、ファイルの入出力、ファイル拡張子の判定、ファイル変換等を指す。
文字認識部２０４は、画像に対して文字認識処理を実行する機能を備える。文字認識部２０４が文字認識処理を実行すると、文字認識情報が出力される。また、文字認識情報はソフトウェア２００によって画像と関連付けて管理される。本実施例では、文字認識部２０４は、各文字画像の特徴量を認識辞書と比較することにより各文字の認識結果を得る認識部（いわゆる認識エンジン）と、文字列を構成する各文字の認識結果を単語辞書と照合することにより最終的な文字認識結果を得る単語照合部（いわゆる後処理部）とから構成されるものとするが、本発明の適用範囲はこれに限るものではない。その他の文字認識手順であっても、本発明を適用することが可能である。文字認識情報の詳細については図３にて説明する。
【００１４】
記憶部２０５は、文字認識情報や文字認識処理用の辞書を保持する保存先である。
文字認識処理用の辞書には、文字形状の特徴量と文字コードとを対応付けた認識辞書や、文字単語に関する情報を登録した単語辞書などの、辞書データベースがある。認識エンジンは、文書画像内に含まれる各文字画像の特徴量を抽出し、抽出した各文字画像の特徴量を認識辞書に登録されている特徴量と比較することによって、各文字画像の認識結果として各文字の文字コードを得ることができる。さらに、後処理部は、複数の文字画像それぞれの認識結果に基づいて得られる文字列を、単語辞書内に登録されている単語と比較して適切な単語に置換することにより、最終的な文字認識結果としてもっともらしい文字列を得ることができる。また、単語辞書の辞書データベースには、複数種類の情報が登録でき、後処理部は、それぞれの情報に応じて文字列を置換する。例えば、第１の情報として辞書データベースに様々なジャンルの単語をジャンルごと（例えば、法律用語や、特定の技術分野の技術用語など）に予め登録しておく。このことで、後処理部は、認識対象の文書が属するジャンルで使用される頻度の高い単語を参照し、認識エンジンから出力された文字列を適切と思われる単語に置換することができる。また、ユーザによって認識結果の修正指示された場合に、修正指示により置換された単語に基づいて、置換前の文字列と置換後の文字列とを対応付けて、単語辞書の第２の情報として登録しておく。このことで、文字認識部２０４は、文字認識処理にて出力された文字列に置換前の文字列が存在した場合、対象の文字列を置換後の文字列に自動的に置換することができる。このように、ユーザによる修正指示に基づいて、後処理部で使用される単語辞書に対して自動学習機能を設けることが可能である。
また、ユーザによって修正指示された場合に、文書画像から修正された文字に対応する文字画像の特徴量を取得し、取得した文字画像の特徴量と修正された文字の文字コードとを対応付けて認識辞書を更新することも可能である。このようにすれば、ユーザによる修正指示に基づいて、認識エンジンで使用される認識辞書に対して自動学習機能を設けることも可能である。
また、自動学習以外にも、文字認識処理用の辞書（辞書データベース）に対して、ユーザが情報を手動で更新するようにしてもよい。例えば、日本語に特化した辞書の情報を追加することや文字列を置換するための情報をユーザが手動操作で追加することができる。例えば、ソフトウェアＵＩ部２０１は、辞書の情報の追加に係るユーザ操作を受け付ける。そして、ソフトウェア実行部２０２は、ソフトウェアＵＩ部２０１が受け付けたユーザ操作に応じて、記憶部２０５に記憶されている辞書に情報を追加する。
文字認識処理用の辞書（辞書データベース）が自動または手動で更新された場合、辞書の更新日時が更新した日付で更新されるものとする。なお、文字認識処理用の辞書の更新方法は、上述した手法に限るものではない。
【００１５】
［文字認識情報のデータ構造］
図３は、文字認識情報のデータ構造の一例を示す図である。
文字認識情報３００は、文字データ３０１、文字データの座標３０２、文字データの正否情報３０３、辞書の更新日時３０４といった複数の情報で構成される。
文字データ３０１は、文字認識処理で抽出した文字列を指す。例えば、図４の文字データ４１１の例では、「ＡＢＧ」が文字データ３０１である。
文字データの座標３０２は、抽出した文字列が画像のどの位置に描画されていたかを示すピクセル値（Ｘ座標、Ｙ座標）である。
文字データの正否情報３０３は、文字認識処理の文字データ３０１がユーザによって正しいと判断されたことを示す情報（すなわち、ユーザによって文字認識結果の修正や検証が行われたことを示す情報）である。本値の初期値はｆａｌｓｅと定義する。また、ソフトウェア２００のソフトウェアＵＩ部２０１を介して、ユーザによって文字データが正しいと判断された際にソフトウェア実行部２０２は、値をｔｒｕｅに変更する。
【００１６】
文字認識情報３００の文字に関する情報は文字データ３０１、文字データの座標３０２、文字データの正否情報３０３を１つのセットとして構成される。例えば図３では、文字データ「ＡＢＣ」に対して、Ｘ座標５０ピクセル、Ｙ座標４０ピクセル、文字データは正しい（ｔｒｕｅ）、といった情報が１つのセットとして定義されている。また、複数の文字列が描画されている画像に対して文字認識処理を実行した場合、複数セットの文字に関する情報が取得される。例えば図３では、「ＡＢＣ」「ＸＸＺ」という文字データは、それぞれ文字データの座標、文字データの正否情報を保持している。
辞書の更新日時３０４は、画像に対して文字認識処理を実行した際に使用した文字認識処理用の辞書の更新日時である。辞書の更新処理に関して後述する図５を用いて説明する。
【００１７】
ここで画像と文字認識情報とを関連付けて管理するための方法について説明する。まず、文字認識部２０４は、画像（例えばｔｅｓｔ．ｊｐｇ）に対して文字認識処理を実行し、文字認識情報を出力する。次に文字認識部２０４は、出力された文字認識情報を画像と拡張子のみが異なる同名ファイル（例えばｔｅｓｔ．ｏｃｒｉｎｆｏ）で保存する。ここでファイルの拡張子「．ｏｃｒｉｎｆｏ」は、ファイル制御部２０３によって文字認識情報として判断可能な任意の拡張子であるとする。ファイル制御部２０３は、画像（ｔｅｓｔ．ｊｐｇ）と拡張子のみが異なる同名ファイルの文字認識情報（ｔｅｓｔ．ｏｃｒｉｎｆｏ）が存在する場合、画像と文字認識情報とは関連付けて管理されていると定義する。
本実施形態では画像と文字認識情報とを２つのファイルに分けて管理したが、画像と文字認識情報とを１つのファイルに圧縮し、まとめて管理してもよい。まとめて管理する場合、文字認識部２０４は、画像のファイル名（ｔｅｓｔ．ｊｐｇ）の語尾にソフトウェア２００が認識可能な拡張子を付与してもよい。拡張子を付した画像のファイル名の例は、例えば「ｔｅｓｔ．ｊｐｇ．ｏｃｒｉｎｆｏ」である。また、拡張子は「．ｏｃｒｉｎｆｏ」に限ったものではない。
【００１８】
［画像と文字認識情報］
図４は、画像と文字認識情報との関係を示す概念図である。
画像４００、４１０、４２０は、文字列が描画された画像ファイルである。本実施形態では、「ＡＢＣ」という文字列４０１が描画されている。
画像４１０は、画像４００に対して文字認識処理を実施した結果のファイルである。文字認識処理の結果、画像４１０は文字認識情報３００と関連付いている。文字認識情報は「ＡＢＧ」という文字データ４１１を保持しており、文字データ４１１の位置情報は、画像４１０内の対応する文字画像の描画位置と一致する。図４の例では、画像４１０に描画されている正しい文字列は「ＡＢＣ」であるため、画像４００に対して実行した文字認識処理の結果は誤った文字データ４１１が出力されたことになる。
画像４２０は、ユーザの指示に基づいて、画像４１０に関連付いている文字認識情報３００の文字データの「ＡＢＧ」を文字データの「ＡＢＣ」に修正した後の関係を示す概念図である。修正後の文字データ４２１の「ＡＢＣ」は文字認識情報として画像４００と関連付いて保持される。ソフトウェア実行部２０２は、ソフトウェアＵＩ部２０１を介して取得したユーザの文字データの修正操作に応じて、文字データを修正する。
【００１９】
［文字認識情報の修正処理、フローチャート］
図５は、ソフトウェア２００の情報処理の一例を示すフローチャートである。本フローチャートでは、文字認識情報の文字データが修正された際の処理について示す。
文字認識情報３００が保存されると、Ｓ１０１にて、文字認識部２０４は、文字認識情報３００の文字データ３０１が修正されたか否かを判定する。文字認識部２０４は、修正されたと判定した場合（Ｓ１０１においてＹｅｓ）、Ｓ１０２へ進み、修正されていないと判定した場合（Ｓ１０１においてＮｏ）、図５に示すフローチャートの処理を終了する。
Ｓ１０２にて、文字認識部２０４は、修正前の文字データと修正後の文字データとに基づいて、記憶部２０５の辞書データベース（文字認識処理用の辞書）を更新する。例えば、図４のように修正前の文字データが「ＡＢＧ」（文字データ４１１）で修正後の文字データが「ＡＢＣ」（文字データ４２１）である場合、文字認識部２０４は、「ＡＢＧ」と「ＡＢＣ」とを対応付けて辞書データベース（文字認識処理用の単語辞書）に登録する。このように辞書を更新することにより、文字認識処理を行うエンジン（認識エンジン）が「ＡＢＣ」と描画されている文字列を「ＡＢＧ」と再度誤認識した場合、文字認識部２０４の後処理部が更新後の辞書データベースを参照することで、「ＡＢＧ」を「ＡＢＣ」に置換して文字データを出力する。この制御により、正しい文字データが出力できるようになる。更に辞書が更新されていくことに伴い、文字認識の精度は高まっていく。なお、辞書データベース（文字認識処理用の辞書）の更新方法は、単語辞書の更新に限るものではなく、前述したように、認識エンジンで使用される認識辞書を更新するようにしてもよい。
Ｓ１０３にて、文字認識部２０４は、文字認識情報３００の文字データの正否情報３０３の値をｔｒｕｅに変更し、図５に示すフローチャートの処理を終了する。ここでは、ユーザにより文字データの修正指示が為されたため、ユーザによって文字認識結果の検証が行われて正しい文字列になったと見なしている。
なお、図５の例では、ユーザにより修正指示が為された場合に、文字認識情報３００の文字データの正否情報３０３の値をｔｒｕｅに変更しているが、これに限るものではない。例えば、文字認識結果の確認画面において、修正箇所がなくユーザが修正無しの指示を行った（例えばユーザが検証ＯＫボタン等を押下した）場合も、文字認識情報３００の文字データの正否情報３０３の値をｔｒｕｅに変更するようにしてもよい。
【００２０】
［実施形態１におけるソフトウェアの処理］
画像に対して文字認識処理を実行した際、出力された文字認識情報に含まれる文字データが画像に描画されている文字と異なることがある。例えば、図４に図示した画像４１０では、描画されている文字が「ＡＢＣ」であるが、文字認識情報の文字データは「ＡＢＧ」となっている。このような文字認識情報に誤った文字データを含んでいる画像をそのままＳ−ＰＤＦ変換した場合、その文字データを基に誤った文字データを含むＳ−ＰＤＦが生成されてしまう。
ここでは前述の課題を解決するためのファイル変換手法について説明する。
【００２１】
［実施形態１におけるソフトウェアの処理、フローチャート］
図６は、ソフトウェア２００の情報処理の一例を示すフローチャートである。本フローチャートでは、Ｓ−ＰＤＦ変換処理を実施する手法を示す。
ファイルに対してファイル変換処理が開始されると、Ｓ１００１にて、ファイル制御部２０３は、変換対象のファイルが画像か否かを判定する。ファイル制御部２０３は、変換対象のファイルが画像である場合（Ｓ１００１においてＹｅｓ）、Ｓ１００３へ進み、変換対象のファイルが画像でない場合（Ｓ１００１においてＮｏ）、Ｓ１００２に進む。
次に、Ｓ１００２にて、ファイル制御部２０３は、変換対象のファイルを画像に変換し、変換した画像を一時ファイルとして保持する。
次に、Ｓ１００３にて、ファイル制御部２０３は、画像に関連付いて管理されている文字認識情報３００が存在するか否かを判定する。ファイル制御部２０３は、画像に関連付いて管理されている文字認識情報３００が存在すると判定した場合（Ｓ１００３においてＹｅｓ）、Ｓ１００４へ進む。また、ファイル制御部２０３は、画像に関連付いて管理されている文字認識情報３００が存在しないと判定したの場合（Ｓ１００３においてＮｏ）、Ｓ１００５へ進む。
【００２２】
次に、Ｓ１００４にて、文字認識部２０４は、文字認識情報に含まれる文字データの正否情報３０３の値がｔｒｕｅか否かを判定する。すなわち、既存の文字認識結果が、正しいものであるかどうか（ユーザによって検証済み（修正済み）のものであるかどうか）を判定している。文字認識部２０４は、文字認識情報に含まれる文字データの正否情報３０３の値がｔｒｕｅの場合（Ｓ１００４においてＹｅｓ）、Ｓ１００６へ進む。また、文字認識部２０４は、文字認識情報に含まれる文字データの正否情報３０３の値がｆａｌｓｅの場合（Ｓ１００４においてＮｏ）、Ｓ１００５へ進む。
次に、Ｓ１００５にて、文字認識部２０４は、画像に対して文字認識処理を実行する。ファイル制御部２０３は、ここで出力された文字認識情報３００を一時ファイルとして保持する。このとき、画像に既存の文字認識情報が関連づけられていた場合は、その既存の文字認識情報を、Ｓ１００５の文字認識処理で得た文字認識情報で差し替える。
次に、Ｓ１００６にて、ファイル制御部２０３は、画像をＰＤＦ形式に変換するとともに、文字認識情報３００の文字データを付与することにより、Ｓ−ＰＤＦ（検索可能なファイル）を生成する。Ｓ−ＰＤＦ生成後、ファイル制御部２０３は、本フローチャートの処理において保持していた一時ファイルを全て破棄し、図６に示すフローチャートの処理を終了する。
Ｓ１００４においてＮｏと判定されてＳ１００５を行う処理は、画像に関連づけられている既存の文字データが正しくない可能性があると判定された場合に、画像に対して文字認識処理を実行する処理の一例である。また、Ｓ１００５に続いてＳ１００６を行う処理は、画像を所定のファイル形式（例えばＰＤＦ形式）に変換するとともに、新たに実行された文字認識処理の認識結果の文字データを付与する処理の一例である。
また、Ｓ１００４においてＹｅｓと判定されてＳ１００６を行う処理は、画像に関連づけられている既存の文字データが正しいと判定された場合に、画像に対して新たな文字認識処理を実行せず、画像を所定のファイル形式に変換するとともに既存の文字認識情報に含まれる文字データを付与する処理の一例である。
Ｓ−ＰＤＦは、検索可能なファイルのファイル形式の一例であり、その他のファイル形式であっても構わない。
【００２３】
以上、文字認識情報の状態に応じてファイル変換方法を変更する手法を説明した。これにより、文字認識処理における文字認識精度が向上し、改善された文字認識情報（文字データ）を取得できるようになる。
【００２４】
［実施形態２におけるソフトウェアの処理］
前述した実施形態１では、既存の文字認識情報の状態に応じてファイル変換方法を変更する手法について説明を行った。しかしながら、実施形態１のＳ１００４にて文字認識部２０４が、文字データが正しくないと判定した場合、「画像と関連付いて保持されていた既存の文字認識情報」と「Ｓ１００５にてＳ−ＰＤＦ変換の過程で新たに実行する文字認識処理の結果」とが同じになるケースが存在する。文字認識処理の結果が同じである場合、ファイル変換処理の過程で新たに文字認識処理を実行する、実行しないに関わらず最終的に生成されるＳ−ＰＤＦは同じになってしまう。
そこで実施形態２では、実施形態１に加え、Ｓ１００５の文字認識処理を行った方がよい画像に対してのみ文字認識処理を実行し、Ｓ１００５での文字認識処理を行う必要がない画像に対しては文字認識処理をスキップすることにより、ファイル変換処理のパフォーマンスを向上させたファイル変換処理を実施する手法を説明する。本実施形態において、システム構成やアプリケーションのＵＩ等、実施形態１と同様の説明は割愛する。
【００２５】
［実施形態２におけるソフトウェアの処理、フローチャート］
図７は、ソフトウェア２００の情報処理の一例を示すフローチャートである。本フローチャートでは、Ｓ−ＰＤＦ変換処理を実施する手法を示す。
図７では、図６と重複した部分についての説明を割愛する。
Ｓ２００１にて、文字認識部２０４は、文字認識処理用の辞書が更新されているかを判定する。文字認識部２０４は、ソフトウェア２００が管理している辞書の更新日時と文字認識情報に含まれる文字認識処理実行時の辞書の更新日時３０４とを比較し、差異があれば更新されていると判定する。文字認識部２０４は、更新されていると判定した場合（Ｓ２００１においてＹｅｓ）、Ｓ１００５へ進み、更新されていないと判定した場合（Ｓ２００１においてＮｏ）、Ｓ１００６へ進む。
辞書の状態に応じて文字認識処理の実行可否を判定する理由を説明する。前述の通り文字認識処理の過程で使用する辞書に情報が追加されることで、文字認識の精度が高まっていく。そのため、過去に文字認識処理を行った際より辞書の状態（更新日時）が新しくなっている場合、文字認識処理の結果が過去と異なることがある。例えば、過去に「ＡＢＣ」という文字が描画されている画像に対して文字認識処理を行った場合、文字認識処理の結果が誤った結果である「ＡＢＧ」となったとする。その後、辞書が更新された状態で、前記画像に対して再び文字認識処理を行った場合、文字認識処理の結果が正しい結果「ＡＢＣ」となることがある。即ち、辞書の状態に応じて文字認識処理の実行可否を判定する理由は、文字認識処理の結果が向上している可能性を考慮しているためである。
なお、本実施形態２では文字認識処理の実行結果が向上する可能性を考慮して辞書の状態に応じて文字認識処理の実行可否を判断したが、実行可否の判断条件は辞書の更新日時に限ったものとしない。例えば、文字認識処理を行うエンジンのバージョン等を考慮して行ってもよい。この場合、文字認識情報３００に辞書の更新日時だけでなく、文字認識部２０４のエンジンのバージョン情報も記録しておき、Ｓ２００１で文字認識部２０４のバージョンが新しくなっているかも判断するようにしてもよい。
【００２６】
以上、ファイル変換処理のパフォーマンスを向上させたファイル変換処理を実施する手法を説明した。これにより、ファイル変換処理のパフォーマンスを向上させたファイル変換処理を実施することができるようになる。
【００２７】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００２８】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
上述したソフトウェア２００の機能構成の一部又は全てをハードウェア構成として情報処理装置１００に実装するようにしてもよい。
また、上述した情報処理装置１００は、１つのＣＰＵがＲＯＭ又はＨＤＤに記憶されたプログラムに基づき処理を実行するものとして説明を行った。しかし、情報処理装置１００は、複数のＣＰＵ（又はプロセッサー）、複数のＲＡＭ、ＨＤＤ等を有するように構成してもよい。そして、複数のＣＰＵが複数のＲＡＭ、ＨＤＤ等を共同させてプログラムに基づき処理を実行するようにしてもよい。
【００２９】
以上、上述した各実施形態によれば、文字認識処理で使用するエンジンや辞書が更新されている際、文字データと関連付いている画像に対しても、認識精度の高い文字データを含むファイルへ変換可能な技術を提供することができる。
【符号の説明】
【００３０】
１００  情報処理装置
１０１  ＣＰＵ
１０７  ＨＤＤ
【図１】
2018180977.tif 000003
【図２】
2018180977.tif 000004
【図３】
2018180977.tif 000005
【図４】
2018180977.tif 000006
【図５】
2018180977.tif 000007
【図６】
2018180977.tif 000008
【図７】
2018180977.tif 000009