(57)【特許請求の範囲】
【請求項１】
様々な文字幅を有するテキスト行の文字を分割するための方法であって、
投影法に基づいて、前記テキスト行を第１の文字のセットに分割する第１の分割ステップと、
前記第１の文字のセットに基づいて第１の平均文字幅を計算する計算ステップと、
計算された前記第１の平均文字幅に基づいて、前記第１の文字のセットの幅広文字を強制分割して、第２の文字のセットを取得する強制分割ステップと、
前記第２の文字のセットの文字に対して、前記テキスト行に隣接する行の平均文字幅または隣接する文字群の文字高さに基づいて第２の平均文字幅を設定する設定ステップと、
前記第１及び第２の平均文字幅に従って、前記第２の文字のセットの文字を結合して複数の分割パターンを作成し、それぞれの分割パターンの文字認識結果に基づいて１つの分割パターンを選択する結合ステップと
を有することを特徴とする方法。
【請求項２】
前記強制分割ステップは、
幅が閾値より大きい幅広文字それぞれに対して、前記幅広文字、あるいは、該幅広文字と隣接する文字との組み合わせからなる複数の分割グループを生成し、前記平均文字幅に基づいて、各分割グループにおける取り得る分割点を検索し、そして、各分割点のスコアを取得するステップと、
前記分割グループにおける各分割点の前記スコアに基づいて、各分割グループに対するスコアを計算するステップと、
前記強制分割の結果として、すべての分割グループから、最小のスコアを有する前記分割グループを選択するステップと
を有する
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記強制分割ステップは、
選択された前記分割グループのスコアが閾値より大きい場合、投影法に基づいて、現在の文字幅の中間に新規の分割点を追加するステップを有する
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記各分割グループにおける取り得る分割点を検索し、そして、各分割点のスコアを取得するステップは、
前記第１の平均文字幅に従って、分割グループ内の１つ以上の検索位置を設定するステップと、
各検索位置に対して、前記第１の平均文字幅倍の幅と、前記検索位置が配置されている分割グループの幅の差に従って該検索位置の中心に置かれる分割点に対する検索範囲を動的に決定するステップと、
各検索範囲において、前記テキスト行が水平である場合には、各画素列に対する分割スコアを計算して、前記検索範囲内の分割点として、最小分割スコアを有する前記画素列を選択し、前記テキスト行が垂直である場合には、各画素行に対する分割スコアを計算して、前記検索範囲内の分割点として、最小分割スコアを有する前記画素行を選択するステップと、
各検索範囲に対して、最小分割スコアを有する前記画素列あるいは前記画素行を、自身の分割点として選択するステップと、
各分割グループに対して、自身の分割点とこれらの分割点のスコアを取得するステップと
を有する
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記設定ステップは、
前記第１の文字のセットの文字間の平均スペースを計算するステップと、
前記第１の文字のセットの文字の数と、前記第２の文字のセットの文字の数と、前記平均スペースに従って、前記テキスト行が、様々な幅を有する大量数の文字を含んでいるかを判定するステップと、
前記判定の結果が肯定である場合、強制分割によって分割した幅広文字に対して前記第２の平均文字幅を設定するステップと
を有する
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記設定ステップは、
前記強制分割によってのみ分割される隣接する文字の対象のグループであって、その対象のグループの最後の文字とその次の文字との間のスペースが閾値より大きいスペースとなっている対象のグループを検索するステップと、
前記対象のグループが検出される場合、前記対象のグループの幅−高さ−比率を計算するステップと、
前記対象のグループの幅−高さ−比率が閾値より小さい場合、前記対象のグループの第１の文字に対して前記第２の平均文字幅を設定するステップと
を有する
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記強制分割によって分割した幅広文字に対して前記第２の平均文字幅を設定するステップは、
現在のテキスト行に類似する高さを有する隣接するテキスト行を、類似行として検索するステップと、
前記類似行が検出される場合、前記類似行の平均文字幅を使用して、前記第２の平均文字幅を設定するステップと、
前記類似行が検出されない場合、前記計算するステップで計算される前記第１の平均文字幅に、直接、パラメータを乗算することによって、前記第２の平均文字幅を設定するステップと
を有する
ことを特徴とする請求項５に記載の方法。
【請求項８】
前記分割パターンは、前記第２の文字のセットの隣接する文字群の組み合わせを示している
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記計算ステップにおいて、前記第１の平均文字幅は、
前記第１の文字のセットの平均文字幅を計算すること、
前記第１の文字のセットから選択される、所定の範囲内の幅−高さ−比率を有する文字の平均文字幅を計算すること、
直前あるいは次のテキスト行の平均文字幅に従って平均文字幅を計算すること、
前記テキスト行の高さに一定値を乗算することによって平均文字幅を計算すること
の内の１つで計算される
ことを特徴とする請求項１に記載の方法。
【請求項１０】
様々な文字幅を有するテキスト行の文字を分割するためのシステムであって、
投影法に基づいて、前記テキスト行を第１の文字のセットに分割するように構成されている第１の分割ユニットと、
前記第１の文字のセットに基づいて第１の平均文字幅を計算するように構成されている計算ユニットと、
計算された前記第１の平均文字幅に基づいて、前記第１の文字のセットの幅広文字を強制分割して、第２の文字のセットを取得するように構成されている強制分割ユニットと、
前記第２の文字のセットの文字に対して、前記テキスト行に隣接する行の平均文字幅または隣接する文字群の文字高さに基づいて第２の平均文字幅を設定するように構成されている設定ユニットと、
前記第１及び第２の平均文字幅に従って、前記第２の文字のセットの文字を結合して複数の分割パターンを作成し、それぞれの分割パターンの文字認識結果に基づいて１つの分割パターンを選択するように構成されている結合ユニットと
を備えることを特徴とするシステム。
【請求項１１】
前記強制分割ユニットは、
幅が閾値より大きい幅広文字それぞれに対して、前記幅広文字、あるいは、該幅広文字と隣接する文字との組み合わせからなる複数の分割グループを生成し、前記第１の平均文字幅に基づいて、各分割グループにおける取り得る分割点を検索し、そして、各分割点のスコアを取得するように構成されているユニットと、
前記分割グループにおける各分割点の前記スコアに基づいて、各分割グループに対するスコアを計算するように構成されているユニットと、
前記強制分割の結果として、すべての分割グループから、最小のスコアを有する前記分割グループを選択するように構成されているユニットと
を備える
ことを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記強制分割ユニットは、更に、
選択された前記分割グループのスコアが閾値より大きい場合、投影法に基づいて、現在の文字幅の中間に新規の分割点を追加するように構成されているユニットを有する
ことを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記第１の平均文字幅に基づいて、前記各分割グループにおける取り得る分割点を検索し、そして、各分割点のスコアを取得するように構成されているユニットは、
前記第１の平均文字幅に従って、分割グループ内の１つ以上の検索位置を設定するように構成されているユニットと、
各検索位置に対して、前記第１の平均文字幅倍の幅と、前記検索位置が配置されている分割グループの幅の差に従って該検索位置の中心に置かれる分割点に対する検索範囲を動的に決定するように構成されているユニットと、
各検索範囲において、前記テキスト行が水平である場合には、各画素列に対する分割スコアを計算して、前記検索範囲内の分割点として、最小分割スコアを有する前記画素列を選択し、前記テキスト行が垂直である場合には、各画素行に対する分割スコアを計算して、前記検索範囲内の分割点として、最小分割スコアを有する前記画素行を選択するように構成されているユニットと、
各検索範囲に対して、最小分割スコアを有する前記画素列あるいは前記画素行を、自身の分割点として選択するように構成されているユニットと、
各分割グループに対して、自身の分割点とこれらの分割点のスコアを取得するように構成されているユニットと
を備える
ことを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記設定ユニットは、
前記第１の文字のセットの文字間の平均スペースを計算するように構成されているユニットと、
前記第１の文字のセットの文字の数と、前記第２の文字のセットの文字の数と、前記平均スペースに従って、前記テキスト行が、様々な幅を有する大量数の文字を含んでいるかを判定するように構成されているユニットと、
前記判定の結果が肯定である場合、強制分割によって分割した幅広文字に対して前記第２の平均文字幅を設定するように構成されているユニットと
を備える
ことを特徴とする請求項１０に記載のシステム。
【請求項１５】
前記設定ユニットは、
前記強制分割によってのみ分割される隣接する文字の対象のグループであって、その対象のグループの最後の文字とその次の文字との間のスペースが閾値より大きいスペースとなっている対象のグループを検索するように構成されているユニットと、
前記対象のグループが検出される場合、前記対象のグループの幅−高さ−比率を計算するように構成されているユニットと、
前記対象のグループの幅−高さ−比率が閾値より小さい場合、前記対象のグループの第１の文字に対して前記第２の平均文字幅を設定するように構成されているユニットと
を備える
ことを特徴とする請求項１０に記載のシステム。
【請求項１６】
前記強制分割によって分割した幅広文字に対して前記第２の平均文字幅を設定するように構成されているユニットは、
現在のテキスト行に類似する高さを有する隣接するテキスト行を、類似行として検索するように構成されているユニットと、
前記類似行が検出される場合、前記類似行の平均文字幅を使用して、前記第２の平均文字幅を設定するように構成されているユニットと、
前記類似行が検出されない場合、前記計算するユニットで計算される前記第１の平均文字幅に、直接、パラメータを乗算することによって、前記第２の平均文字幅を設定するように構成されているユニットと
を備える
ことを特徴とする請求項１４に記載のシステム。
【請求項１７】
前記分割パターンは、前記第２の文字のセットの隣接する文字群の組み合わせを示している
ことを特徴とする請求項１０に記載のシステム。
【請求項１８】
前記計算ユニットにおいて、前記平均文字幅は、
前記第１の文字のセットの平均文字幅を計算すること、
前記第１の文字のセットから選択される、所定の範囲内の幅−高さ−比率を有する文字の平均文字幅を計算すること、
直前あるいは次のテキスト行の平均文字幅に従って平均文字幅を計算すること、
前記テキスト行の高さに一定値を乗算することによって平均文字幅を計算すること
の内の１つで計算される
ことを特徴とする請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野
本発明は、光学式文字認識に関するものであり、より詳しくは、様々な文字幅を有するテキスト行の文字を分割するための方法及びシステムに関するものである。
【０００２】
関連技術の説明
光学式文字認識（ＯＣＲ）システムでは、一般的には、ＯＣＲ処理は、図３のフローチャートで示されるように実行される。まず、スキャナあるいはカメラ、あるいは他の手段によって取得される文書画像（文書イメージ）が入力される。次に、複数のテキスト行を含む文書画像は、テキスト行画像に分割される。各テキスト行画像に対して、そのテキスト行内の文字に対して文字分割が実行される。その後、文字分割の結果に基づいて、文字認識が実行されて、文字認識結果を生成する。
【０００３】
一般的には、文字分割ステップでは、テキスト行画像は、まず、黒画素投影に基づいて文字に分割されることになる。平均文字幅（ＡＣＷ）は、文字幅、高さ、及び行の高さ等についての統計的情報に従って計算される。オプションとしては、この時点で、連結成分方法による文字分割が実行されても良い。分割文字の幅が平均文字幅よりも大きい場合、平均文字幅に従う、あるいは特開平５−１２８３０７号公報に開示されるような境界追跡方法による、強制分割がなされることになる。次に、平均文字幅に従う様々な分割パターン（パス）を作成することによって、文字の断片が結合される。そして、すべてのパターンにおける文字が認識され、異なる分割パターンから最高の分割結果が、文字分割結果として選択される。
【０００４】
以下のフローでは、平均文字幅は、文字領域が、いくつかの実際の文字を含んでいるか、あるいは文字の一部、あるいは文字群の一部であるかを判定するためのかなり重要な基準である。文字を分割する処理あるいは妥当な分割パターンを作成する処理においても、平均文字幅は、重要な判定基準である。
【０００５】
しかしながら、本発明の発明者は、文書内のテキスト行が他の文字と異なる幅を有する文字で構成されている場合、時には、一定の平均文字幅がテキスト行の文字のすべてに対して適合できないことを発見した。平均文字幅が「幅広」文字に対してのみ適している場合、いくつかの連結文字は正しく分割されない可能性があり、あるいは、いくつかの文字は間違って１つの文字として結合される可能性がある。「幅広」平均文字幅は、多くの取り得る分割パターンをもたらすものでもあり、これには、より多くの計算時間あるいは複雑性が関与する。平均文字幅が「幅狭」文字にのみ適している場合、いくつかの「幅広」文字は、間違って断片に分割されることになる。この両側面は、ＯＣＲ精度を低下させることになる。
【０００６】
従来技術にある不備を説明するための、いくつかの例が図４Ａ及び図４Ｂに示されている。
【０００７】
図４Ａでは、テキスト行は、いくつかの全角文字とくつかの半角文字（例えば、アルファベット、数字、あるいは全角文字の左／右成分）を同時に含んでいる。文字を分割するために一定の平均文字幅を使用する場合、文字分割の結果が図４Ａに示される。従来技術の例では、いくつかの文字分割エラーが発生し、例えば、漢字「特開」は間違って断片に分割される。
【０００８】
図４Ｂでは、従来技術を使用する文字分割結果が示されている。同一の書体と同一のフォントサイズを用いている場合でさえ、例として日本語を取り上げると、いくつかのかなの幅は、他のかな及び漢字の少なくとも一方と異なる。例えば、異なる幅の、かな「れる」（図４Ｂで示される第２行）は間違って分割される。
【０００９】
加えて、テキスト行にはいくつかの連結文字が存在するので、平均文字幅に基づいてのみ、最高の分割結果を検出することを難しい。例えば、図４Ｂのかな「バイ」（第１行）と「た」（第３行）は連結文字の例であり、これらは、従来技術に従うと間違って分割される。
【００１０】
それゆえ、ＯＣＲ精度が改善されるように、全角文字と半角文字とを含む、あるいは様々な文字幅を備えるかなと漢字を含むテキスト行の文字を分割することができる技術が必要とされている。また、連結成分の文字を分割することができる技術が必要とされている。
【００１１】
上述の従来技術において存在する技術的な課題を考慮して、様々な文字幅を有するテキスト行の文字を分割するための、新規の方法及びシステムが提供される。
【００１２】
本発明の要約
本発明の一態様に従えば、様々な文字幅を有するテキスト行の文字を分割するための方法が提供される。この方法は、
投影法に基づいて、前記テキスト行を第１の文字のセットに分割する第１の分割ステップと、
前記第１の文字のセットに基づいて第１の平均文字幅を計算する計算ステップと、
計算された前記第１の平均文字幅に基づいて、前記第１の文字のセットの幅広文字を強制分割して、第２の文字のセットを取得する強制分割ステップと、
前記第２の文字のセットの文字に対して、前記テキスト行に隣接する行の平均文字幅または隣接する文字群の文字高さに基づいて第２の平均文字幅を設定する設定ステップと、
前記第１及び第２の平均文字幅に従って、前記第２の文字のセットの文字を結合して複数の分割パターンを作成し、それぞれの分割パターンの文字認識結果に基づいて１つの分割パターンを選択する結合ステップと
を有する。
【００１３】
本発明の別の態様に従えば、様々な文字幅を有するテキスト行の文字を分割するためのシステムが提供される。このシステムは、
投影法に基づいて、前記テキスト行を第１の文字のセットに分割するように構成されている第１の分割ユニットと、
前記第１の文字のセットに基づいて第１の平均文字幅を計算するように構成されている計算ユニットと、
計算された前記第１の平均文字幅に基づいて、前記第１の文字のセットの幅広文字を強制分割して、第２の文字のセットを取得するように構成されている強制分割ユニットと、
前記第２の文字のセットの文字に対して、前記テキスト行に隣接する行の平均文字幅または隣接する文字群の文字高さに基づいて第２の平均文字幅を設定するように構成されている設定ユニットと、
前記第１及び第２の平均文字幅に従って、前記第２の文字のセットの文字を結合して複数の分割パターンを作成し、それぞれの分割パターンの文字認識結果に基づいて１つの分割パターンを選択するように構成されている結合ユニットと
を備える。
【００１４】
従来技術に従う、図４Ａ及び図４Ｂにおける間違った分割結果に対して、図２０Ａ及び図２０Ｂは、本発明に従う方法を適用した分割結果を示している。図２０Ａの分割結果からは、全角文字（漢字）と半角文字（文字及び数字）を含むテキスト行の文字が正しく分割されていることを明確に確認することができる。図２０Ｂの分割結果からは、かな「バイ」（第１の行）と「た。」（第３の行）のような連結成分を有する文字を含むテキスト行の文字も正しく分割されていることを明確に確認することができる。
【００１５】
正しい文字分割結果に基づいて、光学的文字認識の精度は、全角文字及び半角文字を含む、あるいは、様々な文字幅を有するかなと漢字を含む、あるいは、連結成分を有する文字を含む、テキスト行に対して大幅に改善されることになる。
【００１６】
また、本発明の特徴的な構成及び効果は、以下の説明及び図面から明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】本発明に従う、様々な文字幅を有するテキスト行の文字を分割するためのコンピュータデバイスの構成を示すブロック図である。
【図２】本発明の実施形態に従う、様々な文字幅を有するテキスト行の文字を分割するためのシステムの一般的な構成を示す機能ブロック図である。
【図３】光学式文字認識における、本発明のアプリケーションを示すフローチャートである。
【図４Ａ】従来技術に従う、様々な文字幅を有するテキスト行における文字に対する文字分割結果の例を示す図である。
【図４Ｂ】従来技術に従う、様々な文字幅を有するテキスト行における文字に対する文字分割結果の例を示す図である。
【図５】本発明の実施形態に従って、様々な文字幅を有するテキスト行の文字を分割するための方法を示すフローチャートである。
【図６】本発明の実施形態に従う、文字分割方法の各ステップの分割結果を示すテーブルである。
【図７】強制分割処理を必要とするテキスト行の例を示す図である。
【図８】強制分割処理で使用される分割グループの例を示す図である。
【図９】新規の分割点を追加することを必要とする強制分割の例を示す図である。
【図１０】本発明の実施形態に従う、図５の方法のステップＳ２００の処理を示すフローチャートである。
【図１１】本発明の実施形態に従う、図５の方法のステップＳ３００の処理を示すフローチャートである。
【図１２】本発明の実施形態に従う、図５の方法のステップＳ４００の処理を示すフローチャートである。
【図１３】平均文字幅に基づいて、１つの分割グループ内の分割点を検出する一方法のフローチャートである。
【図１４】どのようにして分割グループに検索位置を設定するかを示す図である。
【図１５】動的に決定される点を検索するための検索範囲を示すテーブルである。
【図１６】ステップＳ４００の後の強制分割結果を示す図である。
【図１７】本発明の一実施形態に従う、図５の方法のステップＳ５００の処理を示すフローチャートである。
【図１８】本発明の別の実施形態に従う、図５の方法のステップＳ５００の処理を示すフローチャートである。
【図１９】図１７のステップＳ５３０の処理の詳細を示す図である。
【図２０Ａ】本発明に従う方法を適用した後の、様々な文字幅を有するテキスト行の文字に対する文字分割結果の例を示す図である。
【図２０Ｂ】本発明に従う方法を適用した後の、様々な文字幅を有するテキスト行の文字に対する文字分割結果の例を示す図である。
【発明を実施するための形態】
【００１８】
本発明の実施形態を、図面を参照して詳細に説明する。
【００１９】
本記載において、用語「左」及び「右」は、本明細書を読む際に人が通常に行うような方法で画像を見る場合の左側及び右側を示すものである。
【００２０】
本記載において、用語「文字」は、分割結果の個々の要素を示し、これは、実際の文字、実際の文字の一部、句読点、あるいはそれらの組み合わせである場合がある。
【００２１】
本記載では、特に示さない限り、すべてのサイズ（例えば、高さあるいは幅）は、「画素」の単位である。例えば、Ｌ＜５は、Ｌが５画素未満であることを意味している。
【００２２】
図１は、本発明に従って、様々な文字幅を有するテキスト行の文字を分割するためのシステムを実現するためのコンピュータデバイスの構成を示すブロック図である。説明を簡単にするために、システムは、単一のコンピュータデバイスで構築されるように示されている。しかしながら、そのシステムが単位のコンピュータデバイスで構築されている、あるいはネットワークシステムとして複数のコンピュータデバイスで構築されているかに関わらず、システムは有効である。
【００２３】
図１に示されるように、コンピュータデバイス１００は、様々な文字幅を有するテキスト行の文字を分割する処理を実現するために使用される。コンピュータデバイス１００は、ＣＰＵ１０１、チップセット１０２、ＲＡＭ１０３、記憶コントローラ１０４、ディスプレイコントローラ１０５、ハードディスクドライブ１０６、ＣＤ−ＲＯＭドライブ１０７及びディスプレイ１０８とを備えている。コンピュータデバイスは、更に、信号線１１１を備え、これは、ＣＰＵ１０１とチップセット１０２との間で接続される。また、信号線１１２を備え、これは、チップセット１０２とＲＡＭ１０３との間で接続される。また、周辺デバイスバス１１３を備え、これは、チップセット１０２と、様々な周辺デバイスとの間で接続される。また、信号線１１４を備え、これは、記憶コントローラ１０４とハードディスクドライブ１０６との間で接続される。また、信号線１１５を備え、これは、記憶コントローラ１０４とＣＤ−ＲＯＭドライブ１０７との間で接続される。また、信号線１１６を備え、これは、ディスプレイコントローラ１０５とディスプレイ１０８との間で接続される。
【００２４】
クライアント１２０は、コンピュータデバイス１００と直接あるいはネットワーク１３０を介して接続される。クライアント１２０は、文字分割タスクをコンピュータデバイス１００へ送信して、コンピュータデバイス１００は分割結果をクライアント１２０へ返信する。
【００２５】
図２は、各モジュールユニットからなる、様々な文字幅を有するテキスト行の文字を分割するためのシステムの一般的な構成を示すブロック図である。
【００２６】
図２に示されるように、文字分割システム２００は、投影法に基づいて、テキスト行を第１の文字のセットに分割するように構成されている第１の分割ユニット２０１と、第１の文字のセットに基づいて、平均文字幅を計算するように構成されている計算ユニット２０３と、オプションとして、連結成分方法を使用して第１の文字のセットの幅広文字を分割し、第３の文字のセットを取得するように構成されている第２の分割ユニット２０５と、計算された平均文字幅に基づいて、第３の文字のセットの幅広文字を強制分割して、第２の文字のセットを取得するように構成されている強制分割ユニット２０７と、第２の文字のセットの種々の文字に対して様々な平均文字幅を設定するように構成されている設定ユニット２０９と、設定された様々な平均文字に従って様々な分割パターンを作成し、そして、最高の分割パターンを選択することによって、第２の文字のセットの文字を結合するように構成されている結合ユニット２１１とを備えている。
【００２７】
文字分割システム２００では、第２の分割ユニット２０５は、光学式文字認識の精度を更に改善するために使用され、また、一実施形態では省略することができる。そのために、第２の分割ユニット２０５は、破線によって示される。第２の分割ユニット２０５が省略される場合、強制分割ユニット２０７は、第１の分割ユニット２０１によって取得される第１の文字のセットの幅広文字を、計算された平均文字幅に基づいて、直接、強制分割して、第２の文字のセットを取得するように構成されている。
【００２８】
上述のユニット群は、以下で説明される処理を実現するための例示の好適なモジュール群であり、ハードウェアあるいはソフトウェアによって実現することができる。様々なステップを実現するためのモジュール群は、上記では完全には説明されていない。しかしながら、一定の処理を実行するステップが存在する場合、同一の処理を実現するための、対応する機能モジュールあるいはユニットが存在する。
【００２９】
図５は、本発明の実施形態に従って、様々な文字幅を有するテキスト行の文字を分割するための方法を示すフローチャートである。この方法は、投影法に基づいて、テキスト行を第１の文字のセットに分割する第１の分割ステップ（Ｓ１００）と、第１の文字のセットに基づいて平均文字幅を計算するステップ（Ｓ２００）と、連結成分法を使用して、第１の文字のセットの幅広文字を分割して、第３の文字のセットを取得する、オプションの第２の分割ステップ（Ｓ３００）と、計算された平均文字幅に基づいて、第３の文字のセットの幅広文字を強制分割して、第２の文字のセットを取得する強制分割ステップ（Ｓ４００）と、第２の文字のセットの種々の文字に対して、様々な平均文字幅を設定する設定ステップ（Ｓ５００）と、設定された様々な平均文字幅に従って、様々な分割パターンを作成し、そして、最高の分割パターンを選択することによって、第２の文字のセットの文字群を結合する結合ステップ（Ｓ６００）とを備える。
【００３０】
図５では、第２の分割ステップＳ３００は、光学式文字認識の精度を更に改善するためのものであり、また、一実施形態では省略することができる。そのために、ステップＳ３００は、破線によって示されている。第２の分割ステップＳ３００が省略される場合、強制分割ステップＳ４００は、第１の分割ステップＳ１００で取得される第１の文字のセットの幅広文字を、計算された平均文字幅に基づいて、直接、強制分割して、第２の文字のセットを取得する。
【００３１】
ステップＳ１００では、オリジナルのテキスト行画像に基づいて、テキスト行の文字群が投影法を使用して分割され、第１の文字のセットを取得する。ここで、投影法は、黒画素投影、白画素投影等を含んでいて、これらは、光学式文字認識の分野で周知の文字分割方法であるので、詳細は記載しない。第１の文字のセットの文字数は、Ｖ１として計算される。図６は、本発明の実施形態に従う文字分割方法の各ステップの分割結果を示すテーブルである。図６のテキスト行が投影法によって分割される場合、テーブルの第１行が取得される。この場合、Ｖ１＝１４となる。
【００３２】
ステップＳ１００では、連結文字と、左成分と右成分とを有する文字が、間違って分割される可能性がある。例えば、テーブルの第１行の漢字「能」は間違って分割される。
【００３３】
ステップＳ２００では、テキスト行全体に対する平均文字幅が、第１の文字のセットに基づいて計算される。ステップＳ２００の詳細は、以下で説明する。
【００３４】
一実施形態では、光学文字認識の精度を更に改善するために、本発明に従う文字分割方法は、ステップＳ３００を含めることができる。ステップＳ３００では、第１の文字のセットの幅広文字が、連結成分法を使用して分割され、第３の文字のセットを取得する。ここで、連結成分法も、光学式文字認識の分野で周知の文字分割方法であるので、詳細は記載しない。いわゆる「幅広」文字は、閾値ＴＨ０よりも大きい幅を有する文字を示している。ＴＨ０は、０．９×ＡＣＷより大きく、そして、例えば、ＴＨＯ＝１．１×ＡＣＷとなる。第３の文字のセットの文字数は、Ｖ２として計算される。図６のテキスト行が連結成分法で分割される場合、テーブルの第２行が取得される。この場合、Ｖ２＝１６である。連結成分法による分割ですら、いくつかの連結文字が依然として分割されず、例えば、図４Ｂではかな「バイ」である。ステップＳ３００の詳細は、以下で説明する。
【００３５】
ステップＳ４００では、第３の文字のセット（あるいは第１の文字のセット、ステップＳ３００が省略される場合）の幅広文字が、計算された平均文字幅に基づいて強制分割されて、第２の文字のセットを取得する。オプションのステップＳ３００の後でさえも、閾値ＴＨ０よりも大きい幅広文字がテキスト行に依然として存在する。そのため、強制分割が必要となる。第２の文字のセットの文字数は、Ｖ３として計算される。図６のテキスト行が強制分割によって分割される場合、テーブルの第３行が取得される。この場合、Ｖ３＝２７となる。ステップＳ４００の詳細は、以下で説明する。
【００３６】
ステップ５００では、様々な平均文字幅が、第２の文字のセットの種々の文字に対して設定される。１つ（大きい方）のＡＣＷは幅広文字（あるいは全角文字）に対して設定され、また、別のＡＣＷが通常の文字（あるいは半角文字）に対して設定される。ステップＳ５００の詳細は、以下で説明する。
【００３７】
ステップＳ６００では、設定された様々な平均文字幅に従って、様々な分割パターンを作成し、そして、最高の分割パターンを選択することによって、第２の文字のセットの文字群が結合される。
【００３８】
手短にいえば、強制分割によって取得される第２の文字のセットの文字は、実際の文字の断片である場合がある（例えば、漢字「能」は、２つの成分に分割される）。実際の文字を取得するために、これらの断片の多くの取り得る組み合わせが存在し、これらは、分割パターンと呼ばれる。分割パターンは、第２の文字のセットの隣接文字の組み合わせを示している。平均文字幅は、妥当なパターンを作成する際のかなり重要な条件である。単一の平均文字幅は、同一テキスト行の幅広文字及び幅狭文字の両方に対して適合しないので、パターンを制限することになる。ここで、適切な平均文字幅とは、妥当でないパターンを除外して、正しいパターンを含んでいることを意味し、これは、計算量を削減し、ＯＣＲの精度を改善する。本発明は、主に、単一のテキスト行に対して様々な平均文字幅をいつ、どのようにして計算するかについて着目している。パターンを制限するために、計算済の平均文字幅を使用する方法は光学的文字認識の分野で周知であり、その詳細説明の１つは、１９９６年７月の、パターン解析及びマシーンインテリジェンスにおけるＩＥＥＥ議事録、Ｖｏｌ．１８、Ｎｏ．７の、リチャード  ジー．ケイシーとエリック  リコリネットによる、「文字分割の方法及びストラテジーの概説」で参照することができる。
【００３９】
図１０は、本発明の実施形態に従う図５の方法のステップＳ２００の処理を示すフローチャートである。
【００４０】
ステップＳ２１０では、第１の文字のセットの大まかな平均文字幅ＡＣＷ１が計算される。つまり、この計算では、（テキスト行の）第１の文字のセットの文字のすべてが考慮される。次に、計算された平均文字幅ＡＣＷ１が適切であるかどうかを判定するために、ＡＣＷ１の信頼度が以下のように計算される。
【００４１】
３つのタイプの文字が計数される。第１の文字のセットの文字のすべてが、値Ｃ１として計数される。幅−高さ−比率が妥当である文字は、値Ｃ２として計数される。幅−高さ−比率が妥当であり、また、幅がＡＣＷ１に近い文字は、値Ｃ３として計数される。ここで、文字の幅−高さ−比率が妥当であると見なされる場合、１−ＴＨ１６＜幅−高さ−比率＜１＋ＴＨ１６を満足することを必要とする。ここで、ＴＨ１６は、例えば、０．１から０．５の間で変化する閾値であり、好ましくは、ＴＨ１６＝０．１である。文字の幅がＡＣＷ１に近いと見なされる場合、（１−ＴＨ１６）＊ＡＣＷ１＜文字幅＜（１＋ＴＨ１６）＊ＡＣＷ１を満足することを必要とする。値Ｃ１、Ｃ２及びＣ３を取得した後、ＡＣＷ１の信頼度＝Ｍｉｎｉｍｕｍ（Ｃ２／Ｃ１，Ｃ３／Ｃ２）であり、ここで、Ｍｉｎｉｍｕｍ（Ａ，Ｂ）は、Ａ及びＢの最小値を意味する。
【００４２】
ＡＣＷ１の計算された信頼度が閾値ＴＨ１未満である場合（ＴＨ１は、例えば、０．６よりも大きく、好ましくは、ＴＨ１＝０．７５）、これは、ＡＣ１が十分に適切でないことを意味し、この場合、処理はステップＳ２２０へ継続する。そうでなければ、ＡＣＷ１は、テキスト行全体のＡＣＷとして使用される。
【００４３】
ステップＳ２２０では、第１の文字のセットから選択される、所定の範囲内の幅−高さ−比率の文字の平均文字幅ＡＣＷ２が計算される。例えば、幅−高さ−比率の所定の範囲は、［１−ＴＨ１７，１＋ＴＨ１７］（ＴＨ１７は、０から０．４の範囲である）であり、好ましくは、［０．９，１．１］である。これらの選択された文字の平均文字幅ＡＣＷ２が計算される。ＡＣＷ２の信頼度は、Ｃ３の計算において、ＡＣＷ１がＡＣＷ２に置き換わる以外は、ステップＳ２１０の方法と同様方の方法で計算される。計算されたＡＣＷ２の信頼度が閾値ＴＨ１未満である場合、これは、ＡＣＷ２が十分に適していないことを意味し、そして、処理は、ステップＳ２３０へ継続する。そうでなければ、ＡＣＷ２は、テキスト行全体のＡＣＷとして使用される。
【００４４】
ステップＳ２３０では、平均文字幅ＡＣＷ３が、直前あるいは次のテキスト行の平均文字幅に従って計算される。特に、現在のテキスト行に隣接する（直前あるいは次の）テキスト行が文書画像内に存在し、そして、現在のテキスト行と隣接するテキストとの間の高さの差が閾値ＴＨ２より小さいことを判定する。ここで、ＴＨ２＝Ｘ＊ｃＬｉｎｅＨｅｉｇｈｔとｐＬｉｎｅＨｅｉｇｈｔの大きい方、Ｘは０．１から０．５の間で変化し、ｃＬｉｎｅＨｅｉｇｈｔは現在のテキスト行の最大文字高さであり、ｐＬｉｎｅＨｅｉｇｈｔは隣接するテキスト行の最大文字高さである。判定の結果が否定である場合、処理はステップＳ２４０へ継続する。判定の結果が肯定である場合、隣接するテキスト行の平均文字幅の信頼度が計算される。信頼度が閾値ＴＨ１未満である場合、処理はステップＳ２４０へ継続し、そうでなければ、以下の式によって、隣接するテキスト行の平均文字幅に従って、現在のテキスト行の平均文字幅ＡＣＷ３を計算する。
【００４５】
【数１】
0005600723.tif 000002
【００４６】
ここで、ｃｏｅｆｆは０から１の間で変化し、好ましくは、０．７であり、ＡＣＷCurrentLine＝ＡＣＷ１あるいはＡＣＷ２である。
【００４７】
ステップＳ２４０では、平均文字幅ＡＣＷ４は、テキスト行の高さに一定値を乗算することによって計算される。テキスト行の高さに一定値を乗算することによって、平均文字幅ＡＣＷ４が取得される。ＡＣＷ４の信頼度は、Ｃ３の計算において、ＡＣＷ１がＡＣＷ４に置き換わる以外は、ステップＳ２１０の方法と同様方の方法で計算される。計算された信頼度が閾値ＴＨ１未満である場合、ＡＣＷ１はテキスト行全体のＡＣＷとして使用される。そうでなければ、ＡＣＷ４は、テキスト行全体のＡＣＷとして使用される。
【００４８】
図１０は、本発明に従う行全体の平均文字幅を計算するための好適な方法だけを示している。簡略化した実施形態では、図１０における連鎖（カスケード）方法に基づいて、信頼度を計算して、平均文字幅を取得することは必要とせず、平均文字幅は、以下の方法の１つで直接計算されても良い。第１の文字のセットの平均文字幅を計算すること、第１の文字のセットから選択される、所定の範囲内の幅−高さ−比率を有する文字の平均文字幅を計算すること、直前あるいは次のテキスト行の平均文字幅に従って平均文字幅を計算すること、あるいはテキスト行の高さに一定値を乗算することによって平均文字幅を計算することである。
【００４９】
図１１は、本発明の実施形態に従う図５の方法のステップＳ３００の処理を示すフローチャートである。図５の方法では、ステップＳ３００はオプションである。
【００５０】
ステップＳ３１０では、閾値ＴＨ０より大きい文字幅を有する第１の文字のセットの各文字に対して（即ち、幅広文字である）、幅広文字が連結成分法を使用して分割される。ここで、ＴＨ０＝Ｘ＊ＡＣＷであり、Ｘは、例えば、０．９より大きく、好ましくは、Ｘ＝１．１である。ステップＳ３１０の後、第３の文字のセットが取得される。第３の文字のセットの文字数は、Ｖ２として計算される。図６のテキスト行が連結成分法によって分割される場合、テーブルの第２行が取得される。
【００５１】
ステップＳ３２０では、ステップＳ３１０でより多くの文字に分割し過ぎられている場合、つまり、Ｖ２／Ｖ１が閾値Ｔ４より大きい場合（ＴＨ４が１．１より大きく、好ましくは、ＴＨ４＝１．３である）場合、ステップＳ２１０で記載される方法を使用して平均文字幅を再計算する。
【００５２】
図１２は、本発明の実施形態に従う図５の方法のステップＳ４００の処理を示すフローチャートである。
【００５３】
ステップＳ３００はオプションであるので、ステップＳ４００への入力は、ステップＳ３００が省略される場合は、第１の文字のセット（投影法による分割の結果）となり得る、あるいはステップＳ３００が含まれる場合は、第３の文字のセット（連結成分法による分割の結果）となり得る。説明を簡単にするために、前者の場合だけを、例として説明する。しかし、当業者は、本願が後者の場合にも同様に適用できることを理解するであろう。
【００５４】
ステップＳ４１０では、第１の文字のセットの各文字に対して、文字が閾値ＴＨ５よりも大きい幅を有しているかどうか（つまり、幅広すぎるか）を判定する。ここで、ＴＨ５＝Ｘ＊ＡＣＷであり、Ｘは１より大きく、かつ好ましくは、Ｘ＝１．１である。判定の結果が肯定である場合、文字は、ステップＳ４２０−４５０を使用する強制分割の対象となる。図７は、強制分割処理を必要とするテキスト行の例を示している。例えば、図７のテキスト行画像が処理され、そして、ステップＳ２００で計算される平均文字幅が７８であると仮定する。ステップＳ１００の後（ステップＳ３００の後でもさえ）、図７において円でマークされている文字は正しく分割することができず、また、このマークされている文字の幅は１０４である。１０４＞１．１＊７．８であるので、このマークされている文字は幅広文字であり、そして、強制分割されることになる。
【００５５】
ステップＳ４２０では、幅広文字に対して、幅広文字、あるいは、幅広文字と隣接する文字との組み合わせからなる複数の分割グループが生成され、平均文字幅に基づいて、各分割グループにおける取り得る分割点が検索され、そして、各分割点のスコアが取得される。
【００５６】
例として図７の文字幅を採用すると、４つの分割グループが図８で示されるように生成される。図８は、強制分割処理で使用される分割グループの例を示している。図８の左から右へと、４つの分割グループが、現在の文字だけ、現在の文字と直前の文字の組み合わせ、現在の文字と次の文字との組み合わせ、そして、現在の文字、直前の文字、及び次の文字の組み合わせとして、連続して示されている。次に、平均文字幅に基づいて、各分割グループの左端から、及び各分割グループの右端から別々に、各分割グループにおける取り得る分割点が検索され、そして、各分割点のスコアが取得される。
【００５７】
ここで、ステップＳ４２０の処理の詳細を、図１３を参照して説明する。図１３は、平均幅文字に基づいて、１つの分割グループ内の分割点を検出する方法の１つのフローチャートである。
【００５８】
ステップＳ４２１では、分割グループ内の１つ以上の検索位置が、平均文字幅に従って設定される。検索位置は、分割グループの左端と右端の両方から位置（Ｎ＊ＡＣＷ）に配置され、ここで、Ｎ＝１，２，．．．，ＩＮＴ（分割グループ／ＡＣＷの幅）であり、また、ＩＮＴ（Ｘ）はＸの整数部分に等しい。例として図８の４つの分割グループを採用すると、すべての検索位置が図１４で示される。図１４は、どのようにして検索位置を分割グループに設定するかを示している。図１４では、４つの行は、図８の４つの分割グループそれぞれに対応し、左側は、取り得る分割点が分割グループの左端から検索される場合を示していて、右側は、取り得る分割点が分割グループの右端から検索される場合を示している。
【００５９】
ステップＳ４２２では、各検索位置に対して、平均文字幅倍の幅と、検索位置が配置されている分割グループの幅の差に従って、その検索位置が中心に置かれる、分割点に対する検索範囲を動的に決定する。具体的には、取り得る分割点は各位置の近辺で検索される。分割点の検索範囲が、ＡＣＷ倍の幅と分割グループの幅の差に従って動的に決定される。分割点の検索範囲は、［−ＴＨ７，ＴＨ７］であり、これは、検索位置が中心に置かれる。例えば、ＴＨ７＝５％＊ＡＣＷである。Ｒａｔｉｏ（比率）＝“分割グループの幅”ＭＯＤ“ＡＣＷ”／“ＡＣＷ”である（ＭＯＤは、剰余を求める演算子を意味する）。Ｒａｔｉｏが８５％より大きい場合あるいは１５％より小さい場合、ＴＨ７は１０％＊ＡＣＷまで拡大される。図１４の場合、最初の３つの分割グループに対する検索位置が中心に置かれる検索範囲が図１５のテーブルで示されている。図１５では、テーブルの第３の分割グループに対して、Ｒａｔｉｏが９１％であり、これは、８５％よりも大きいので、ＴＨ７は動的に１０％＊ＡＣＷまで拡大される。つまり、この分割グループに対する検索範囲は、この分割グループ内の検索位置を中心にして［−１０％＊ＡＣＷ，１０％ＡＣＷ］である。この場合において、固定の検索範囲が使用される場合、正しい分割点は検出することができない。
【００６０】
ステップＳ４２３では、各検索範囲では、各画素列（あるいは行）に対する分割スコアを計算し、そして、検索範囲内の分割点として、最小分割スコアを有する画素列（あるいは行）を選択する。ここでは、一見したところ、テキスト行が水平である場合、分割点は画素列であり、また、テキスト行が垂直である場合、分割点は画素行となる。例えば、スコアは、画素列（あるいは行）の黒画素投影量と、隣接する画素列（あるいは行）の他の黒画素に連結されている黒画素数との総和である。
【００６１】
ステップＳ４２４では、検索地点の各検索範囲に対して、最小分割スコアを有する画素列（あるいは行）が、自身の分割点として選択される。
【００６２】
ステップＳ４２５では、各分割グループに対して、自身の分割点とこれらの分割点のスコアが取得される。
【００６３】
ここで、図１２に戻る。ステップＳ４３０では、各分割グループに対するスコアは、分割グループの各分割点のスコアに基づいて計算される。特に、各分割グループに対しては、２つのスコアが存在する。１つは（Ｓｃｏｒｅ１（スコア１））、左端から分割点を検索するためのスコアであり、もう１つは（Ｓｃｏｒｅ２（スコア２））は、右端から分割点を検索するためのスコアである。Ｓｃｏｒｅ１は、左端からの分割グループのすべての分割点の平均スコアである。Ｓｃｏｒｅ２は、右端からの分割グループのすべての分割点の平均スコアである。分割グループの最終スコアは、Ｓｃｏｒｅ１とＳｃｏｒｅ２の最小値である。
【００６４】
ステップＳ４４０では、すべてのグループから、最小スコアを有する分割グループが強制分割結果として選択される。一実施形態では、強制分割処理は、ステップＳ４４０の後で終了しても良い。
【００６５】
別の実施形態では、更なる判定が、ステップＳ４４０の後に行われても良い。ステップＳ４５０では、選択された分割グループのスコアが閾値より大きい場合、投影法に基づいて、現在の文字幅の中間に新規の分割点を追加する。特に、最高の分割パターンのスコアが依然として閾値ＴＨ６よりも大きい場合、新規の分割点が、投影法に従って、現在の文字幅の中間に追加される。新規の分割点は、以下の条件を満足しなければならない。
【００６６】
ａ）分割点の黒画素投影量が範囲Ａの最小値であり、範囲Ａが、文字の１／４幅から３．４幅までの、文字の中間部分であること
ｂ）分割点の黒画素投影量が、範囲Ａの黒画素投影量の最大値の１／３よりも小さいこと
ｃ）分割点に対応する画素列（あるいは行）内に１つの黒画素ブロックだけが存在すること、黒画素ブロックは、連続する黒画素のグループを意味する
図９は、新規の分割点を追加する必要がある強制分割の例を示す図である。図９では、文字分割結果の場合が示されている。垂直線２は、平均文字幅に基づく検索位置である。正しい分割点は、分割点に対する検索範囲外になっている。垂直線１は、ステップＳ４１０−Ｓ４４０を実行することによって検出される分割位置である。また、垂直線３は、ステップＳ４５０で追加される新規の分割点である。
【００６７】
図１７は、本発明の実施形態に従う図５の方法のステップＳ５００の処理を示すフローチャートである。図１７の処理に対して、ステップＳ４００の強制分割によって取得される第２の文字のセットと、ステップＳ２００で取得される平均文字幅が入力される。
【００６８】
ステップＳ５１０では、第１の文字のセット（つまり、ステップＳ１００における投影法の分割結果）の文字間の平均スペースが計算される。
【００６９】
ステップＳ５２０では、第１の文字のセットの文字の数と、第２の文字のセットの文字の数と、平均スペースに従って、テキスト行が、様々な幅を有する大量数の文字を含んでいるかを判定する。特に、以下の条件に合致するかが判定される。
【００７０】
条件１：強制分割法（ステップＳ４００）で分割されているたくさんの文字が存在する、即ち、例えば、（Ｖ３−Ｖ１）／Ｖ１＞ＴＨ１８、ＴＨ１８＝３／７である。
【００７１】
条件２：ステップＳ１００の投影法によって分割される文字間の平均スペースが十分に大きい、即ち、平均スペースが、閾値ＴＨ８より大きい（ＴＨ８＝ＡＣＷ／Ｘであり、Ｘは８より大きく、また、好ましくは、Ｘ＝１０である）。
【００７２】
ステップＳ３００が含まれる場合において、上述の判定がなされる際には、第３の文字のセットの数を考慮することができる。特に、この場合、条件１は、例えば、（Ｖ３−Ｖ１）／Ｖ１＞ＴＨ１８、（Ｖ２−Ｖ１）／Ｖ１＞ＴＨ１９、ＴＨ１９＝３／２０である。
【００７３】
ステップＳ５３０では、ステップＳ５２０における判定結果が肯定である場合、強制分割によって分割された幅広文字に対して別の平均文字幅が設定される。特に、この肯定の判定結果は、多くの幅広文字がこのテキスト行にあり、かつ強制分割されていることを表している。強制分割法（ステップＳ４００）によって分割される文字は、間違って分割された幅広文字と見なされる。この点では、幅広文字は強制分割されているので、幅広文字に対して別の平均文字幅を設定することは、幅広文字の第１の断片が別の平均文字幅で設定されることを示している。
【００７４】
図１９は、図１７のステップＳ５３０の処理の詳細を示している。ステップＳ５３１では、現在のテキスト行に類似する高さを有する隣接するテキスト行が、類似行として検索される。この類似行は、以下の条件を満足しなければならない。
【００７５】
ｉ）隣接する行の文字の数が、閾値ＴＨ３より大きい、例えば、ＴＨ１３＞１０であり、好ましくは、ＴＨ１３＝２０（これは、そのＡＣＷに信頼性があることを意味する）
ｉｉ）２つの行の間の行の高さの差が閾値ＴＨ１４より小さい、例えば、ＴＨ１４＝Ｘ＊現在の行の高さあるいは隣接する行の高さの大きい方、ここで、Ｘ＜０．５であり、好ましくは、Ｘ＝３／１０である。
【００７６】
類似行が検出される場合、処理はステップＳ５３２へ継続する。ステップＳ５３２では、類似行の平均文字幅が、別の平均文字幅を設定するために使用される。特に、以下の式が、幅広文字に対する別のＡＣＷを設定するために使用される。
【００７７】
【数２】
0005600723.tif 000003
【００７８】
ここで、ｂ＞ａであり、好ましくは、ａ＝１、及びｂ＝４である。
【００７９】
類似行が検出されない場合、処理は、ステップＳ５３３へ継続する。ステップＳ５３３では、ステップＳ２００で計算される平均文字幅が、別の平均文字幅を設定するために、直接、パラメータと乗算される。特に、以下の式が、幅広文字に対する別のＡＣＷを設定するために使用される。
【００８０】
【数３】
0005600723.tif 000004
【００８１】
ここで、ＴＨ１５＞１．１であり、好ましくは、ＴＨ１５＞７／５である。
【００８２】
図６のテーブルでは、幅広文字に対する別のＡＣＷの実例が示されている。この場合、文字間の平均スペースは、約１０画素である。ステップＳ５００（Ｓ５３０）の後、幅広文字のＡＣＷは、約６０画素となり、他の文字のＡＣＷは変更しない。このテーブルで挙げられている値は、本発明の様々な実装に従う非限定的な例である。
【００８３】
図１８は、本発明の別の実施形態に従う、図５の方法のステップＳ５００の処理を示すフローチャートである。図１８の処理に対しては、ステップＳ４００の強制分割によって取得される第２の文字のセットと、ステップＳ２００で取得される平均文字幅が入力される。
【００８４】
ステップＳ５４０では、強制分割によってのみ分割される隣接する文字の対象のグループであって、その対象のグループの最後の文字とその次の文字との間のスペースが閾値ＴＨ１０より大きいスペースとなっている対象のグループが検索される。ここで、ＴＨ１０＝ＡＣＷ／Ｘ、Ｘ＜１０、好ましくは、Ｘ＝７であり、ＡＣＷはステップＳ２００で計算される。図１６は、ステップＳ４００の後の強制分割結果を示している。図１６の分割結果では、隣接する文字の２つのグループが検出され、「グループ１」と「グループ２」としてマークされている。この場合、スペース１は２１に等しく、スペース２は２５に等しく、ＡＣＷは、６３に等しい（半角文字の幅）、つまり、グループ１とグループ２は、ステップＳ５４０で挙げられる条件を満足する。対象のグループが検出される場合、処理はステップＳ５５０へ継続し、そうでなければ、処理は、別の平均文字幅を設定することなくステップＳ６００へ進む。
【００８５】
ステップＳ５５０では、対象の文字グループの幅−高さ−比率ＷＨＲが計算される。図１６に示される場合では、グループ１の幅、高さ及びＷＨＲは、それぞれ１０９、１０５及び１．０４であり、グループ２の幅、高さ及びＷＨＲは、それぞれ９５、１０４及び０．９１である。
【００８６】
ステップＳ５６０では、対象のグループの幅−高さ−比率が閾値より小さい場合、対象のグループの第１の文字に対して、別の平均文字幅が設定される。特に、対象の文字グループのＷＨＲが閾値ＴＨ１より小さい場合（例えば、ＴＨ１１＞１であり、好ましくは、ＴＨ１１＝１．１である）、対象の文字グループの第１の文字のＡＣＷは値ＴＨ１２として設定される（例えば、ＴＨ１２＝Ｘ＊対象の文字グループの高さ、Ｘ＞１であり、好ましくは、Ｘ＝１．１である）。ＷＨＲ＜１．１である場合、これは、対象の文字グループがもともと全角の幅の実際の文字であり、ステップＳ４００での強制分割によって間違って分割されたことを意味することに注意すべきである。
【００８７】
図１７及び図１８は、図５のステップＳ５００を実現するための２つの実施形態を示している。図１７の処理は、長いテキスト行に対して適していて、一方、図１８の処理は、例えば、文書の最後の段落のような、短いテキスト行に対して適している。図１７及び図１８における処理は、上述のように単独で使用することができ、また、それらを組み合わせて使用することができる。これは、２つの処理が、ステップＳ５００を構成するためにシーケンスで実行することができることを意味する。
【００８８】
ステップＳ５００の後、２つのＡＣＷ（１つは、通常の文字に対するものであり、もう１つは幅広文字に対するものである）が、様々な幅の文字に対して設定される。ステップＳ６００では、ステップＳ４００で取得される文字分割結果（第２の文字のセット）と、２つの異なるＡＣＷとに基づいて、第２の文字のセットの文字群が、様々な平均文字幅に従って様々な分割パターンを作成し、最高の分割パターンを選択することによって、従来技術に従って、結合される。そして、例えば、本発明に従う方法を適用した後の、様々な文字幅を有する、テキスト行の文字に対する正しい文字分割結果が、図２０Ａ及び図２０Ｂで示される。
【００８９】
本記載では、閾値のすべての値は、単なる例であり、限定するものではない。
【００９０】
本記載では、本発明に従って、様々な文字幅を有する、テキスト上の文字を分割するための方法及びシステムを記載するための例として日本語が使用されている。しかしながら、日本語に限定されるものではなく、本発明が、例えば、中国語、日本語及び韓国語等の他の言語にも適用できることを予期することができる。
【００９１】
本記載では、テキスト行画像は、水平行として示されている。このテキスト行は、本発明を説明するための例として使用されている。しかしながら、本発明は、垂直列として記述されるテキスト行にも適用できることを予期することができる。つまり、本記載の用語「テキスト行（テキストライン）（text line）」は、テキストの行（text row）を必ずしも意味するものではない。
【００９２】
本発明の方法及びシステムは多くの方法で実行することができる。例えば、本発明の方法及びシステムは、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組み合わせを通じて実行することができる。方法に対する上述のステップの順序は例示することだけを意図するものであり、本発明の方法のステップは、特に、言及しない限り、上述の特定の順序に制限されるものではない。むしろ、いくつかの実施形態では、本発明は、記録媒体に記録されるプログラムとして実現されても良く、この記録媒体は、本発明に従う方法を実現するためのマシーン可読命令を含んでいる。つまり、本発明は、本発明に従う方法を実現するためのプログラムを記憶する記録媒体を包含する。
【００９３】
本発明のいくつかの特定の実施形態を例示を用いて詳細に示しているが、上述の例は単なる説明であることだけを意図するものであり、本発明の範囲を制限するものでないことを、当業者は理解するべきである。本発明の範囲及び精神を逸脱することなく、上述の実施形態を変形することができることを当業者は理解するべきである。本発明の範囲は、添付の請求項によって定義される。
【図１】
0005600723.tif 000005
【図２】
0005600723.tif 000006
【図３】
0005600723.tif 000007
【図４Ａ】
0005600723.tif 000008
【図４Ｂ】
0005600723.tif 000009
【図５】
0005600723.tif 000010
【図６】
0005600723.tif 000011
【図７】
0005600723.tif 000012
【図８】
0005600723.tif 000013
【図９】
0005600723.tif 000014
【図１０】
0005600723.tif 000015
【図１１】
0005600723.tif 000016
【図１２】
0005600723.tif 000017
【図１３】
0005600723.tif 000018
【図１４】
0005600723.tif 000019
【図１５】
0005600723.tif 000020
【図１６】
0005600723.tif 000021
【図１７】
0005600723.tif 000022
【図１８】
0005600723.tif 000023
【図１９】
0005600723.tif 000024
【図２０Ａ】
0005600723.tif 000025
【図２０Ｂ】
0005600723.tif 000026