(57)【特許請求の範囲】
【請求項１】
画像データに含まれる文字列を示す領域に対して文字認識処理を行う文字認識手段と、
前記領域に基づき文字列のレイアウトのためのレイアウト情報を生成するレイアウト情報生成手段と、
前記レイアウト情報生成手段で生成されたレイアウト情報に基づき、前記文字認識手段における文字認識処理の結果をレイアウトするレイアウト手段と、
レイアウト対象の前記文字認識処理の結果に対応する前記領域の文字列の画像と、前記レイアウト手段における前記レイアウト対象の前記文字認識処理の結果をレイアウトしたレイアウト結果と、を比較し、比較の結果に基づき、前記文字認識手段における文字認識処理の結果を評価する評価手段と、
を有する画像処理装置。
【請求項２】
前記レイアウト手段は、前記文字認識処理の結果をレイアウトする際に、レイアウト対象の前記文字認識処理の結果に対応する前記領域の文字列の次行の文字列の前記文字認識手段における文字認識処理の結果に基づいて、字詰めが起きる可能性があるか否かを判定し、字詰めが起きる可能性があると判定した場合、前記次行の文字列をレイアウト対象に加えてレイアウトする請求項１記載の画像処理装置。
【請求項３】
前記評価手段による評価に基づいて前記文字認識手段における文字認識処理の結果を補正する補正手段を更に有する請求項１又は２記載の画像処理装置。
【請求項４】
画像処理装置が実行する画像処理方法であって、
画像データに含まれる文字列を示す領域に対して文字認識処理を行う文字認識ステップと、
前記領域に基づき文字列のレイアウトのためのレイアウト情報を生成するレイアウト情報生成ステップと、
前記レイアウト情報生成ステップで生成されたレイアウト情報に基づき、前記文字認識ステップにおける文字認識処理の結果をレイアウトするレイアウトステップと、
レイアウト対象の前記文字認識処理の結果に対応する前記領域の文字列の画像と、前記レイアウトステップにおける前記レイアウト対象の前記文字認識処理の結果をレイアウトしたレイアウト結果と、を比較し、比較の結果に基づき、前記文字認識ステップにおける文字認識処理の結果を評価する評価ステップと、
を含む画像処理方法。
【請求項５】
コンピュータを、
画像データに含まれる文字列を示す領域に対して文字認識処理を行う文字認識手段と、
前記領域に基づき文字列のレイアウトのためのレイアウト情報を生成するレイアウト情報生成手段と、
前記レイアウト情報生成手段で生成されたレイアウト情報に基づき、前記文字認識手段における文字認識処理の結果をレイアウトするレイアウト手段と、
レイアウト対象の前記文字認識処理の結果に対応する前記領域の文字列の画像と、前記レイアウト手段における前記レイアウト対象の前記文字認識処理の結果をレイアウトしたレイアウト結果と、を比較し、比較の結果に基づき、前記文字認識手段における文字認識処理の結果を評価する評価手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
文書をスキャンして文書画像を生成し、文書画像に対して様々な処理を行うことで、紙文書に記載されているデータを再利用する技術が知られている。例えば、文書画像に対する文字認識処理の技術等が存在する。一方で、文書画像化されることで失われてしまう情報もある。例えば、文書内の文字のレイアウト情報であるフォントやフォントサイズ、字詰め等の情報は文書画像化される際に失われてしまう可能性がある。このような失われた情報を用いることで、文書画像に対する処理を効率化できることが考えられるため、失われた情報の代替となる情報を予め定義しておいて問題の解消を試みる技術が知られている。例えば、特許文献１では、文字レイアウトのルールとして文字間隔を予め定義しておき、文字認識の結果における文字間隔と比較することで認識精度を向上させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−１８８２８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１で提案される手法では、予め設定されているルールに基づく判断しかできない問題がある。即ち、設定されていないルールを使って作成された文書に対する補正等は実施できない問題がある。この問題は、文書のレイアウト情報が分からないために、生じている。先行技術では、レイアウト情報が分からないため、予めレイアウト情報を保持しておくことで対応している。しかしながら、このような対応方法の場合、様々なレイアウトが存在する文書に対して前記先行技術を適用することが困難となる。
【０００５】
本発明はこのような問題点に鑑みなされたもので、様々なレイアウトの文書に対しても、レイアウト情報を用いた処理を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、画像処理装置であって、画像データに含まれる文字列を示す領域に対して文字認識処理を行う文字認識手段と、前記領域に基づき文字列のレイアウトのためのレイアウト情報を生成するレイアウト情報生成手段と、前記レイアウト情報生成手段で生成されたレイアウト情報に基づき、前記文字認識手段における文字認識処理の結果をレイアウトするレイアウト手段と、レイアウト対象の前記文字認識処理の結果に対応する前記領域の文字列の画像と、前記レイアウト手段における前記レイアウト対象の前記文字認識処理の結果をレイアウトしたレイアウト結果と、を比較し、比較の結果に基づき、前記文字認識手段における文字認識処理の結果を評価する評価手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、様々なレイアウトの文書に対しても、レイアウト情報を用いた処理を可能とすることができる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置の一例である文字認識処理装置のハードウェア構成の一例を示す図である。
【図２】認識処理全体の動作を説明する概念図である。
【図３】文字認識処理装置の機能構成の一例を示す図である。
【図４】認識処理の一例を示すフローチャートである。
【図５】文書画像解析処理の一例を示す概念図である。
【図６】文書画像解析結果の一例を示す図である。
【図７】文字認識処理の一例を示すフローチャートである。
【図８】文字認識処理結果の一例を示した図である。
【図９】レイアウト情報生成処理の一例を示すフローチャートである。
【図１０】候補文字選択処理の一例を示すフローチャートである。
【図１１】スコア補正の結果の一例を示す図である。
【図１２】レイアウト処理の一例を示すフローチャートである。
【図１３】評価処理の一例を示すフローチャートである。
【図１４】パススコア算出を説明するための概念図である。
【図１５】認識処理の動作を説明する概念図である。
【図１６】電子フォーマット変換処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、画像処理装置の一例である文字認識処理装置のハードウェア構成の一例を示す図である。ＣＰＵ１１は、ＲＯＭ１２に格納されている制御プログラムに従って本装置全体の制御を行う。ＲＯＭ１２は、制御プログラム等を格納する。ＲＡＭ１３は、画像データ等を記憶する。外部記憶装置１４は、磁気ディスク等の外部記憶装置である。ディスプレイ１５は、例えば、文字の認識結果等を表示する。キーボード１６は、オペレータの操作に応じて情報を入力する。ポインティングデバイス１７は、例えばマウス等である。スキャナ１０２は、画像を読み取る。
なお、文字認識処理装置は、汎用的なコンピュータでも実施可能である。この場合、媒体等で提供される制御プログラムは、外部記憶装置１４に記憶され、オペレータの指示等によりＣＰＵ１１が制御プログラムに基づき処理を実行する。また、ネットワークインターフェース１９は、図示しない遠隔地に存在する装置と通信し、プログラムやデータ等を読み込んだり、書き込んだりする。
なお、スキャナ１０２やディスプレイ１５等は、インターフェイスを介して接続された構成でもよい。
ＣＰＵ１１が、制御プログラムに基づき処理を実行することによって、文字認識処理装置の機能及び後述するフローチャートに係る処理が実現される。
【００１１】
次に、実施形態１の概要について説明する。本実施形態では、文字認識処理装置において、認識結果を用いた組版結果と入力された文書画像の状態とを比較することで、文字認識結果を補正する。図２を用いて、文字認識処理装置の処理概要を説明する。
図２は、認識処理全体の動作を説明する概念図である。図２（ａ）は、全体処理概要を示す。１０１は、認識処理対象として入力される紙媒体の文書である。１０２は、スキャナである。スキャナ１０２を介して入力された入力文書が画像データとして構成され、画像データに対して画像解析・文字認識処理が行われる。１０３は、文字認識の結果として出力された文字コード列を示す。
図２（ｂ）は、入力された文書の一部を拡大した結果得られた文字列１０４と、文字列１０４の認識結果候補１０５の一例である。文字認識処理の過程では、ある文字列に対して複数の認識候補が生成される。文字認識処理装置が認識候補に対して補正処理を行うことで最終的な認識結果を文字コードとして出力する。本実施形態の文字認識処理装置は、従来から用いられている補正処理に加え、認識結果候補を使ったレイアウト処理結果と認識対象の画像データ（文字列）との比較処理を行っている。文字認識処理装置は、比較処理の結果に基づき、認識結果の補正を行う。以上について、簡易な例を用いて説明を行う。
図２（ｂ）の例では、「小川さん」という（画像データ内の）文字列１０４の認識結果候補１０５は「ノ」「１」「ヽ」「Ｉ」「Ｉ」「Ｉ」「さ」「ん」である。文字認識処理装置が認識結果候補を用いてレイアウト処理を行うと「ノ１ヽＩＩＩさん」という結果が生成される。文字認識処理装置が、生成した「ノ１ヽＩＩＩさん」と認識対象文字列の「小川さん」とを比較すると、各文字位置や文字列の長さ等が異なることが分かる。認識結果候補が正しい場合、認識結果候補を使ったレイアウト結果と認識対象文字列の状態（文字位置や文字列長等）とは等しくなるはずである。したがって、レイアウト結果と認識対象文字列の状態とが異なれば、認識結果候補が正しくないといえる。図２（ｃ）は、前述した方法により認識結果候補を補正した結果を示しており、正しく「小川さん」と認識できていることが分かる。
【００１２】
以降、図３から図１４までを用いて、本実施形態の詳細について説明する。
図３は、文字認識処理装置の機能構成の一例を示す図である。２０１は、入力部である。入力部２０１では、ユーザの指示や紙媒体の文書の入力を受け付ける。入力された紙媒体の文書は画像データへ変換される。２０２は、画像解析部である。画像解析部２０２では、入力された画像データを解析して文書を構成する要素（文字列や写真、図形等）の抽出を行う。２０３は、文字認識部である。文字認識部２０３は、画像解析部２０２により抽出された文字列領域に対して、文字認識処理を行う。２０４は、レイアウト情報生成部である。レイアウト情報生成部２０４では、画像解析部２０２で抽出された文字列領域におけるレイアウト情報を抽出する。レイアウト情報とは、文字列のフォントやサイズを示す。２０５は、レイアウト部である。レイアウト部２０５では、レイアウト情報生成部２０４により生成されたレイアウト情報と文字認識部２０３により認識された文字（コード）を用いてレイアウト処理を行う。２０６は、文字認識補正部である。文字認識補正部２０６では、画像解析部２０２により抽出された文字列とレイアウト部２０５によるレイアウト結果とを比較して、認識結果を補正する。２０７は出力部であり、文字認識結果の表示やユーザーインターフェイス等の表示を行う。
【００１３】
図４は、認識処理の一例を示すフローチャートである。
ステップＳ３０００では、画像解析部２０２が、文書画像解析処理を行う。文書画像解析処理では、画像解析部２０２は、スキャン入力により生成された文書画像を解析し、文書を構成する要素（文字列や写真、図形等）の抽出を行う。文書画像解析処理に関しては、後に説明を行う。
ステップＳ３０１０では、画像解析部２０２が、ステップＳ３０００で取得した要素のうち、文字列を示す領域を取得する。取得処理では、画像解析部２０２は、文書画像解析結果（後述する図６参照）におけるＩＤ値が小さいものから探索し、要素属性が１（文字列）となっている領域の位置及び外接矩形サイズを取得する。文書画像解析結果の詳細については、図６を用いて後述している。
ステップＳ３０２０では、文字認識部２０３が、ステップＳ３０１０で取得された領域に対して文字認識処理を行う。文字認識処理では、文字認識部２０３は、文字切り結果の組み合わせパターンを示すパスと、個々のパス内における文字コード及びスコアと、を出力する（後述する図８参照）。文字認識処理については後に詳述するが、ここで簡単な説明を行う。文字認識処理では、文字認識部２０３は、画像中の文字領域から文字と思われる領域を切り出す（文字切り処理）。任意長の文字列から文字切り処理を行うと、結果として得られるパスは複数生成される可能性がある。より具体的には、「小」という文字は、「小」と切り出される場合（パス１）と「ノ」「１」「ヽ」と切り出される場合（パス２）とがある。一般に、文字列が長くなれば、切り出されるパターンも複雑になり、パスの数も増加する。本実施形態における文字認識の処理単位は、行単位である。その結果、行単位の文字列に対して複数のパスが生成される。
ステップＳ３０３０では、レイアウト情報生成部２０４が、ステップＳ３０１０で取得された領域からレイアウト情報を生成する。レイアウト情報とは、前述したとおり、認識対象文字列のフォントやサイズ等、文字列をレイアウトする際に必要な情報である。レイアウト情報生成処理に関しては、後述する。
【００１４】
ステップＳ３０４０では、レイアウト部２０５が、ステップＳ３０２０で取得された複数のパスから、レイアウト処理を行うパスを選択する。パス選択処理では、レイアウト部２０５は、不図示の選択済みフラグが付与されていないパスの中からパスＩＤが一番小さいものを選択し、選択したパスには、選択済みフラグを付与する。
ステップＳ３０５０では、レイアウト部２０５が、ステップＳ３０４０で取得したパス内の候補文字を選択する。候補文字選択処理については、後に図１０を用いて詳細な説明を行う。
ステップＳ３０６０では、レイアウト部２０５が、ステップＳ３０５０で取得した候補文字をステップＳ３０３０で取得されたレイアウト情報を使ってレイアウトする。レイアウト処理の詳細は、図１２を使って詳細に説明を行う。
ステップＳ３０７０では、文字認識補正部２０６が、ステップＳ３０６０におけるレイアウト結果と前記レイアウト結果に対応するステップＳ３０１０で取得された領域内の文字列とを比較、評価してパスに対するスコアを算出する。評価処理の詳細についても後に説明を行う。
ステップＳ３０８０では、レイアウト部２０５が、ステップＳ３０２０で得られた全てのパスに対して処理が終了したか判定する。判定処理では、レイアウト部２０５は、選択済みフラグ（不図示）がついていないパスがあるか否かチェックする。選択済みフラグがついていないパスがあった場合、レイアウト部２０５は、未処理のパスが存在すると判定し、ステップＳ３０４０へ移行する。選択済みフラグがついていないパスがない場合、レイアウト部２０５は、全てのパスに対する処理が完了したと判定し、ステップＳ３０９０へ移行する。
ステップＳ３０９０では、画像解析部２０２が、ステップＳ３０００で取得した要素のうち、文字列を示す全ての領域に対する処理が完了したか判定する。画像解析部２０２は、現在処理を行っていた領域に関する情報を文書画像解析結果から削除する。削除後、画像解析部２０２は、文書画像解析結果内に文字列（要素属性が１）が存在するかチェックする。文字列が存在しないと判定された場合、画像解析部２０２は、処理を終了する。文字列が存在すると判定された場合、画像解析部２０２は、ステップＳ３０１０へ移行する。この処理により、入力された文書全体の文字列に対して認識処理を行うことが可能である。
ステップＳ３１００では、出力部２０７が、最終的な文字認識結果として、パスに対するスコアが一番高い文字列を出力する。本実施形態では、出力部２０７が、入力文書の全文字列領域に対する処理が終わってから文字認識結果を出力したが、行単位等で認識結果を出力してもよい。
【００１５】
次に、図４のステップＳ３０００における文書画像解析処理について説明する。文書画像解析処理では、画像解析部２０２が、画像から意味のあるブロックをかたまりとして認識して、ブロック毎の属性を判定する。例えば、画像解析部２０２が図５（ａ）の文書画像に対して文書画像解析処理を行うと、図５（ｂ）のように文字、画像等のブロックに分割される。本実施形態では、既存の文書画像解析処理を用いる。以下、簡単に文書画像解析処理の一例を示す。
文書画像解析処理では、画像解析部２０２が、まず、入力画像を白黒画像に二値化する。そして、画像解析部２０２が、輪郭線追跡を行い黒画素輪郭で囲まれる画素のかたまりを抽出する。一定面積以上の黒画素の場合、画像解析部２０２は、内部にある白画素に対しても輪郭線追跡を行い白画素のかたまりを抽出する。抽出した白画素のかたまりが一定面積以上であれば、画像解析部２０２は、更に黒画素のかたまりを抽出する。抽出されたかたまりが一定面積以上であれば、画像解析部２０２は、抽出処理を再帰的に実行する。
画像解析部２０２は、上記の処理で得られた黒画素のかたまりを大きさ及び形状により様々な属性を持つブロックとして分類する。例えば、画像解析部２０２は、縦横比が１に近いブロックは文字相当の画素のかたまりとし、隣接する文字相当の画素のかたまりが整列されていてグループ化可能な場合は文字列ブロックとする。また、画像解析部２０２は、不定形の画素のかたまりが散在する場合は、写真ブロック、それ以外は図形ブロック等に分類する。
文書画像解析処理では、画像解析部２０２が、分類したブロックの位置情報や属性等を不図示の記憶装置に記憶する。
図６は、文書画像解析結果の一例を示す図である。文書画像解析結果は、各要素を一意に決定するためのＩＤ５０１、要素の属性を示す要素属性５０２（１：文字列、２：図面、３：写真）、要素の位置座標５０３、５０４（Ｘ、Ｙ）、要素の外接矩形の幅Ｗ５０５及び高さＨ５０６で構成される。要素の位置座標５０３、５０４は、文書画像の左上を原点（０、０）とした場合の位置座標である。要素の幅Ｗ５０５及び高さＨ５０６は画素数で表現される。
【００１６】
次に図４のステップＳ３０２０における文字認識処理について説明する。図７は、文字認識処理の一例を示すフローチャートである。
ステップＳ６０００では、文字認識部２０３が、行切りだし処理を行う。行切りだし処理は、文字認識部２０３が、射影をとることにより、行と思われる領域を特定する。特定された領域は、行として切り出される。
ステップＳ６０１０では、文字認識部２０３が、ステップＳ６０００で取得した行から文字切り出し処理を行う。文字切り出し処理も行切りだし処理と同様に、文字認識部２０３が、射影をとり、文字と思われる領域を特定する。例えば、横書きの文章であれば、縦方向に射影をとることで、文字と思われる領域が特定できる。
ステップＳ６０２０では、文字認識部２０３が、ステップＳ６０１０で取得した文字領域の組み合わせパターンからパスを生成する。パスについては、前述したように、ある文字列から切り出される文字のパターンを示している。切り出される文字のパターンは、一般に複数考えられるので、結果としてパスも複数生成される。
ステップＳ６０３０では、文字認識部２０３が、ステップＳ６０２０で生成したパス内の各文字領域に対して、パターン認識を行う。パターン認識の結果、各文字領域の認識候補が複数生成され、類似度を示すスコアが算出される。各認識候補は、スコア降順でソートされ、一番スコアが高い文字が第一候補文字として設定される。以降、二番目にスコアが高い文字が第二候補文字、ｎ番目にスコアが高い文字は第ｎ候補文字として設定される。
図８は、文字認識処理結果の一例を示した図である。文字認識結果は、各パスを一意に決定するためのＩＤ７０１、パス内の認識文字候補を示す７０２、７０３、７０４から構成される。パス内の個々の文字領域は、パターン認識により複数の候補文字として認識され、各々にスコアが付与されている。例えば、パスＩＤが１のパスは、８つの文字領域で構成され、各文字領域における第一候補文字は、「ノ」「１」「ヽ」「Ｉ」「Ｉ」「Ｉ」「さ」「ん」である。
【００１７】
続いて、図４のステップＳ３０３０におけるレイアウト情報生成処理について説明を行う。図９は、レイアウト情報生成処理の一例を示すフローチャートである。
ステップＳ８０００では、レイアウト情報生成部２０４が、認識対象文字列に対する認識結果の第一候補を取得する。認識対象とは、画像解析処理により抽出された文字列全体を示す。
ステップＳ８０１０では、レイアウト情報生成部２０４が、ステップＳ８０００で取得した認識結果の第一候補文字列に漢字以外の文字が含まれているか判定する。判定は、文字コードをチェックすることにより行う。判定の結果、漢字以外の文字が含まれていた場合、レイアウト情報生成部２０４は、ステップＳ８０２０へ移行する。漢字以外の文字が含まれていなかった場合は、レイアウト情報生成部２０４は、ステップＳ８１００へ移行する。
ステップＳ８０２０では、レイアウト情報生成部２０４が、ステップＳ８０００で取得した文字列から、漢字以外の文字列を取得する。複数の漢字以外の文字が存在していた場合、レイアウト情報生成部２０４は、連続する文字を１つのグループとする。複数のグループが存在する場合、レイアウト情報生成部２０４は、グループ単位で候補文字のスコアの平均値を求めて、平均値が一番高いグループを取得する。例えば、「朝礼を利用した職場でのコミュニケーション」という文字列の場合、「を」「した」「でのコミュニケーション」というグループが生成される。レイアウト情報生成部２０４は、このグループにおいて、スコアの平均値を求めて、一番平均値が高いグループを取得する。
ステップＳ８０３０では、レイアウト情報生成部２０４が、ステップＳ８０２０で取得した文字列の認識結果領域を取得する。認識結果領域とは、文字列の外接矩形を示している。
【００１８】
ステップＳ８０４０では、レイアウト情報生成部２０４が、ステップＳ８０３０で取得した領域に含まれる文字列のフォントサイズを決定する。フォントサイズ決定では、レイアウト情報生成部２０４は、予め決められたフォント及びサイズを用いて文字列の先頭文字を描画する。レイアウト情報生成部２０４は、描画結果と画像内の文字（ステップＳ８０３０で取得した領域内の先頭文字）とのサイズを比較して、描画文字の方が大きければフォントサイズを小さくして再度描画処理と比較を行う。一方、レイアウト情報生成部２０４は、描画文字の方が小さければフォントサイズを大きくして再度、描画処理と比較を行う。このように、レイアウト情報生成部２０４は、比較結果に基づきフォントサイズを調整することでフォントサイズを決定する。
ステップＳ８０５０では、レイアウト情報生成部２０４が、ステップＳ８０４０で決定したフォントサイズと予め決めておいた固定ピッチフォントとを用いてレイアウト処理を行う。レイアウト処理の対象は、ステップＳ８０２０で取得した文字列である。
ステップＳ８０６０では、レイアウト情報生成部２０４が、ステップＳ８０５０におけるレイアウト処理の結果領域とステップＳ８０３０で取得した認識結果領域とを比較する。比較処理では、レイアウト情報生成部２０４は、領域同士の幅長を比較して、その差分が所定の閾値よりも大きいか否かをチェックする。閾値よりも大きかった場合、レイアウト情報生成部２０４は、レイアウト結果と認識結果領域とは等しくないと判断して、ステップＳ８０７０へ移行する。領域幅長の差分が閾値よりも小さかった場合、レイアウト情報生成部２０４は、レイアウト結果と認識結果とが等しいと判断して、ステップＳ８１００へ移行する。
【００１９】
ステップＳ８０７０では、レイアウト情報生成部２０４が、ステップＳ８０２０で取得した文字列内に英数字が含まれているか判定する。レイアウト情報生成部２０４は、判定処理を、文字コードをチェックすることにより行う。判定の結果、英数字が含まれていた場合、レイアウト情報生成部２０４は、ステップＳ８０８０へ移行する。英数字が含まれていなかった場合は、レイアウト情報生成部２０４は、ステップＳ８０９０へ移行する。
ステップＳ８０８０では、レイアウト情報生成部２０４が、ステップＳ８０６０の比較処理において算出した領域同士の幅長差分をフォントに対するサイズ差分として保持する。
ステップＳ８０９０では、レイアウト情報生成部２０４が、レイアウト情報として可変ピッチフォントを選択して処理を終了する。ステップＳ８０８０において、サイズ差分が保持されている場合、レイアウト情報生成部２０４は、前記差分の情報もフォント情報と共に保持しておく。
ステップＳ８１００では、レイアウト情報生成部２０４が、レイアウト情報として固定ピッチフォントを選択して処理を終了する。
【００２０】
以上、説明した方法により、認識対象の文字列におけるレイアウト情報が算出することができる。文字列が漢字のみの場合、どのフォントを用いてもレイアウト結果は変わらないという特性がある。言い換えると、漢字の場合は固定ピッチフォントを用いても可変ピッチフォントを用いてもレイアウト結果の領域サイズは同じである。一方、漢字以外の文字（ひらがな・カタカナ・英数字）は、フォントによりレイアウト結果の領域サイズが異なる。但し、ひらがな・カタカナの場合は、どの可変ピッチフォントを用いてもレイアウト結果の領域サイズは等しくなる。本実施形態では、このような性質を利用してフォントを決定している。フォント決定には、既存のフォント認識処理を用いることも可能だが、本実施形態で説明した方式を用いることで処理負荷を軽減させることができる。
また、本実施形態では、画像解析処理により取得された領域に含まれる文字列全体を対象にレイアウト情報生成処理を行ったが、文字列全体でなくてもよい。例えば、行単位や単語単位で実施することもできる。
【００２１】
次に、図４のステップＳ３０５０における候補文字選択処理について説明する。図１０は、候補文字選択処理の一例を示すフローチャートの一例である。
ステップＳ９０００では、レイアウト部２０５が、選択されているパスにおけるフォント情報を取得する。前記フォント情報は、図４のステップＳ３０３０において取得されている。
ステップＳ９０１０では、レイアウト部２０５が、選択されているパスにおけるフォントサイズ情報を取得する。前記フォントサイズ情報は、フォント情報と同様に図４のステップＳ３０３０において取得されている。
ステップＳ９０２０では、レイアウト部２０５が、ステップＳ９０００及びステップＳ９０１０で取得したフォント情報及びフォントサイズ情報を用いて、認識スコアを補正する。補正処理では、レイアウト部２０５は、パス内の各文字について、取得したフォントを用いて描画処理を行う。そして、レイアウト部２０５は、描画処理結果と描画処理対象となっていた文字の画像データとを比較することによりフォントサイズによる係数を求める。レイアウト部２０５は、求めた係数と認識処理により算出されていたスコアとを乗算することで補正スコアを算出する。より具体的には、レイアウト部２０５は、以下の数式を用いて補正スコアを算出する。
【００２２】
【数１】
0005538812.tif 000002
【００２３】
図１１は、スコア補正の結果の一例を示す図である。１００１は、認識結果文字である文字コードである。１００２は、認識スコア１００２である。１００３は、フォントサイズによる係数である。スコアは数値が大きいほど、良いものとする。認識スコアとフォントサイズによる係数と、を乗算した結果が、補正スコア１００４である。例えば、正解文字が「禾」の場合、レイアウト部２０５は、「禾」という画像データと認識結果文字１００１の描画結果と、を比較して、フォントサイズによる係数を算出する。
ステップＳ９０３０では、レイアウト部２０５が、ステップＳ９０２０における補正スコアの結果に基づき候補文字を選択する。より具体的には、レイアウト部２０５は、補正スコアの一番高い文字を候補文字として選択する。図１１の例の場合、「ノ」が補正スコア「３４１３６０」で一番高いため、候補文字として選択される。
以上の処理をパス内の全ての文字に対して行うことで、パスにおける候補文字を選択することができる。
【００２４】
次に、図４のステップＳ３０６０におけるレイアウト処理について説明する。図１２は、レイアウト処理の一例を示すフローチャートである。
ステップＳ１１０００では、レイアウト部２０５が、レイアウト対象となる候補文字列を取得する。前記候補文字列は、図４におけるＳ３０５０において取得された文字列である。
ステップＳ１１０１０では、レイアウト部２０５が、レイアウト対象のフォントを取得する。前記フォント情報は、図４におけるＳ３０３０で取得された情報である。
ステップＳ１１０２０では、レイアウト部２０５が、レイアウト対象のフォントサイズを取得する。前記フォントサイズ情報は、フォント情報と同様に図４のＳ３０３０で取得された情報である。
ステップＳ１１０３０では、レイアウト部２０５が、レイアウト対象の画像における領域を取得する。前記領域は、文字認識により切り出された文字列領域の外接矩形である。
ステップＳ１１０４０では、レイアウト部２０５が、レイアウト処理において字詰めが起きる可能性があるか判定する。判定処理は、レイアウト部２０５が、レイアウト対象文字列の次行の認識結果を取得して、前記認識結果に基づき判定を行う。より具体的には、レイアウト部２０５は、次行の行頭の文字種を用いる。レイアウト部２０５は、認識結果が英数字であるかをチェックし、英数字であった場合は、字詰めが起きる可能性があると判断する。また、英数字でない場合、レイアウト部２０５は、次行の２文字目が禁則文字であるかチェックする。禁則文字である場合、レイアウト部２０５は、英数字の場合と同様に字詰めが起きる可能性ありと判断する。字詰めが起きる可能性ありと判断した場合、レイアウト部２０５は、ステップＳ１１０５０へ移行する。字詰めが起きないと判断した場合は、レイアウト部２０５は、ステップＳ１１０７０へ移行する。
【００２５】
ステップＳ１１０５０では、レイアウト部２０５が、字詰め方式を決定する。字詰め方式決定処理では、レイアウト部２０５は、図４のステップＳ３０１０で取得した領域の文字列における１行当たりの平均文字数を算出する。そして、レイアウト部２０５は、レイアウト対象文字列の文字数と平均文字数とを比較し、平均文字数よりも多い場合は、追込み処理が行われたと判断する。少ない場合、レイアウト部２０５は、追出し処理が行われたと判断する。追込み処理・追出し処理とは、行をまたいで英単語が分断されるのを防いだり、句読点が行頭に配置されるのを防いだりするために行われる文字レイアウト処理の一部である。処理により文字や単語の間隔が動的に変更される場合があるため、どのような処理が行われたかを判定する必要がある。レイアウト部２０５は、行われた処理に応じて、字詰め方式を決定する。
ステップＳ１１０６０では、レイアウト部２０５が、レイアウト対象を更新する。より具体的には、レイアウト部２０５は、決定した字詰め方式で字詰めを行い、字詰めに影響を与える次行の文字列をレイアウト対象に加える。
ステップＳ１１０７０では、レイアウト部２０５が、レイアウト対象文字列をレイアウトする。レイアウト部２０５は、レイアウト処理を、既存の文字レイアウト技術を用いて行う。
【００２６】
続いて、図４のステップＳ３０７０における評価処理について説明する。図１３は、評価処理の一例を示すフローチャートである。
ステップＳ１２０００では、文字認識補正部２０６が、認識対象文字列の画像における外接矩形を取得する。
ステップＳ１２０１０では、文字認識補正部２０６が、レイアウト結果の外接矩形を取得する。
ステップＳ１２０２０では、文字認識補正部２０６が、パススコアを算出する。パススコア算出処理では、文字認識補正部２０６は、ステップＳ１２０００及びステップＳ１２０１０で取得した外接矩形の幅を用いて算出する。より具体的には文字認識補正部２０６は、以下の数式を用いてパススコアを算出する。
【００２７】
【数２】
0005538812.tif 000003
【００２８】
図１４は、パススコア算出を説明するための概念図である。文字認識補正部２０６は、認識対象の画像におけるレイアウト状態と認識結果を用いたレイアウト結果とを比較して、差分をスコアにより表現する。差分が少ないほど、認識が正しく行われている可能性が高いと判断し、スコアが高くなっている。
以上、本実施形態で説明した処理により、評価結果に基づき文字認識の結果を補正することができる。従来技術では、誤ったパスにおいても各文字単位のスコアが高くなる場合があったが、本実施形態によりこのような問題を解決することができる。
【００２９】
＜実施形態２＞
実施形態１では、文書画像中から生成したレイアウト情報を使ってレイアウトした結果を文字認識処理へ適用する一例について詳細に説明した。実施形態２では、スキャンした文書画像を解析して、ワープロソフトで編集可能な電子フォーマットへの変換処理を説明する。
図１５は、認識処理の動作を説明する概念図である。１４０１は、入力される紙文書である。１４０２は、スキャナであり、入力された紙文書を解析して編集可能な電子フォーマットへ変換する。１４０３は、変換された電子フォーマット文書であり、入力された紙文書と同じレイアウトである。レイアウトを保つことで、紙文書のデザイン性が保持されており、可読性や再利用性を向上させることができる。また、文書画像中の文字列は文字単位に画像として切り出されており、切り出された画像単位（文字画像単位）でレイアウト処理を行っている。文字画像単位でレイアウト処理を行うことで、文字認識における誤認識の影響を受けることはない。したがって、レイアウト情報を抽出した結果を用いて文字画像のレイアウト処理を行うことで、紙文書と同一のレイアウトが実現できる。更に、レイアウトの単位が文字画像単位なので、文字画像列の一部に対して削除等の編集操作を行うと、削除等の操作に応じて、再レイアウト処理が可能である。例えば、ある文字画像が削除されると、削除された領域を詰めるように文字画像列が再レイアウトされる。
図１６は、電子フォーマット変換処理を示すフローチャートの一例である。なお、以下では説明の簡略のため、ＣＰＵ１１が処理を行うものとして説明を行う。
ステップＳ１５０００からＳ１５０３０までの処理は、図４におけるＳ３０００からＳ３０３０までの処理と同様であるため、説明を割愛する。
ステップＳ１５０４０では、ＣＰＵ１１が、認識処理における文字切り処理で取得された文字領域毎に画像として切り出して、切り出された画像をレイアウトする。レイアウト処理時には、ＣＰＵ１１は、レイアウト情報取得処理によって取得されたフォントサイズを用いる。レイアウト情報取得処理は、実施形態１と同様であると前述したが、本実施形態では画像をレイアウトするためフォント情報は不要である。文字認識処理では、文字を正しく認識できない可能性がある。誤認識が起きた文字列をレイアウトすると、紙文書の文字列に比べて文字の幅や文字数が変わってしまい、入力された紙文書と同様のレイアウトが生成されない。一方、前述したように、紙文書の文字データを画像として切り出し、切り出した画像データを並べることで誤認識の影響を受けないですむという効果がある。
ステップＳ１５０５０では、ＣＰＵ１１が、ステップＳ１５０４０のレイアウト結果に基づいて、編集可能な電子フォーマットを生成する。
以上、説明したように、文書画像データからレイアウト情報を取得し、取得したレイアウト情報を用いることで、紙文書から編集可能な電子フォーマットへ変換することができる。
【００３０】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３１】
以上、上述した各実施形態によれば、様々なレイアウトの文書に対しても、レイアウト情報を用いた処理を可能とすることができる。
【００３２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した実施形態では、横書きの文字列を例に説明を行ったため、行情報を用いて説明を行ったが、縦書きの文字列（列画像）の場合、文字認識処理装置は、列情報を用いる。また、上述した実施形態では、横書きの文字列を例に説明を行ったため、図１４に示したように認識対象文字列の画像データの幅と、認識結果を用いたレイアウト結果の幅と、を比較した。しかしながら、縦書きの文字列の場合、文字認識処理装置は、認識対象文字列の画像データの高さと、認識結果を用いたレイアウト結果の高さと、を比較するようにしてもよい。
【符号の説明】
【００３３】
１１  ＣＰＵ
【図１】
0005538812.tif 000004
【図２】
0005538812.tif 000005
【図３】
0005538812.tif 000006
【図４】
0005538812.tif 000007
【図５】
0005538812.tif 000008
【図６】
0005538812.tif 000009
【図７】
0005538812.tif 000010
【図８】
0005538812.tif 000011
【図９】
0005538812.tif 000012
【図１０】
0005538812.tif 000013
【図１１】
0005538812.tif 000014
【図１２】
0005538812.tif 000015
【図１３】
0005538812.tif 000016
【図１４】
0005538812.tif 000017
【図１５】
0005538812.tif 000018
【図１６】
0005538812.tif 000019