(57)【特許請求の範囲】
【請求項１】
処理対象として入力された文書画像の画素ランに基づいて文字画像の外接矩形情報を生成する手段と、前記外接矩形情報に基づいて行毎に画素数で表現した行サイズを求める手段と、行毎に求めた行サイズからその代表値を算出する手段と、算出した行サイズの代表値と長さ単位で表現した標準文字サイズとを比較することにより解像度を推定する手段とを備えたことを特徴とする画像処理装置。
【請求項２】
処理対象として入力された文書画像の画素ランに基づいて文字画像の外接矩形情報を生成する手段と、前記外接矩形情報に基づいて行毎に画素数で表現した行サイズを求める手段と、行毎に求めた行サイズに対して所定割合以上のサイズを有する当該行内文字画像の外接矩形情報から文字サイズの代表値を算出する手段と、算出した文字サイズの代表値と長さ単位で表現した標準文字サイズとを比較することにより解像度を推定する手段とを備えたことを特徴とする画像処理装置。
【請求項３】
請求項２に記載された画像処理装置において、文字サイズの代表値を算出する前記手段は、行サイズに対して所定割合以上のサイズの当該行内文字画像の外接矩形数が、当該行内文字画像の外接矩形総数の所定割合以上の場合のみ、算出に用いるようにしたことを特徴とする画像処理装置。
【請求項４】
処理対象として入力された文書画像の画素ランに基づいて文字画像の外接矩形情報を生成するステップと、前記外接矩形情報に基づいて行毎に画素数で表現した行サイズを求めるステップと、行毎に求めた行サイズからその代表値を算出するステップと、算出した行サイズの代表値と長さ単位で表現した標準文字サイズとを比較することにより解像度を推定するステップと、を有することを特徴とする画像処理方法。
【請求項５】
処理対象として入力された文書画像の画素ランに基づいて文字画像の外接矩形情報を生成するステップと、前記外接矩形情報に基づいて行毎に画素数で表現した行サイズを求めるステップと、行毎に求めた行サイズに対して所定割合以上のサイズを有する当該行内文字画像の外接矩形情報から文字サイズの代表値を算出するステップと、算出した文字サイズの代表値と長さ単位で表現した標準文字サイズとを比較することにより解像度を推定するステップと、を有することを特徴とする画像処理方法。
【請求項６】
請求項５に記載された画像処理方法において、文字サイズの代表値を算出する前記ステップは、行サイズに対して所定割合以上のサイズの当該行内文字画像の外接矩形数が、当該行内文字画像の外接矩形総数の所定割合以上の場合のみ、算出に用いるようにしたことを特徴とする画像処理方法。
【請求項７】
請求項４ないし６のいずれかに記載された画像処理方法の各処理ステップをコンピュータで実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＯＣＲ（光学的文字読み取り装置）や文字認識に利用される画像処理に関し、より特定すると、文字行・文字切り出し性能の向上を図るための入力文書画像の解像度の推定を行う手段（或いは処理ステップ）を備えた画像処理装置、画像処理方法及び同方法の実行に用いるプログラムに関する。
【０００２】
【従来の技術】
画像処理では、原稿から読み取った文書画像に記された文字の読み取りや認識処理が従来より行われている。この処理を行う際に、文書画像に存在する文字行（文字領域）の切り出しを正確に行うことは、高い認識精度を得るために不可欠である。
文字行の切り出し性能を向上させるためには、切り出し性能に影響するファクタである、処理対象原稿における文書画像の読み取り解像度や、スキューといった情報を原稿毎に把握する必要がある。文書画像の読み取り解像度は、文字切り出しに設定する各種パラメータを解像度によって調整するために用いられる。
【０００３】
文書画像に記された文字の読み取りや認識処理の適用条件を整えるための前処理（文字行の切り出しも含まれる）として従来から様々な提案がなされている。その一つとして、特開平6-187490（領域分割方法）を挙げることができる。この例では文書中の代表的な文字サイズを求め、処理に適した、予め設定済みの扱いやすい文字サイズに変換する方法である。この方法では、画像を処理に適した文字サイズに機械的に拡大・縮小するだけであり、本来の解像度に保つという発想はなく、文字自体が変形され、文字画像の特徴が損なわれるため、文字認識においては都合の悪い面がある。
また、特開2000-306041(文字サイズ推定方法および記録媒体)に示されている方法は、文字サイズを積極的に推定する方法であるが、文字のサイズを画素数でしか求めないので、紙の上では同じサイズの文字であっても読取解像度が異れば、求められる文字サイズも異ってしまい、文字認識装置側の設定を解像度によって変更する場合、装置の挙動が異なるおそれがあり、装置の使用者が混乱する原因になる。
一般には、文字認識装置の各種処理の内部パラメータの多くは文字サイズに基づいて設定されており、その場合、解像度に依存して読める文字のサイズが変化してしまう。解像度に応じてパラメータを変更する方式においても、解像度の情報が得られない場合には対応できない。例えば、デジタル・スチル・カメラなどを用いて、文書を非接触で読み取った場合には解像度なる情報は存在せず、画素数のみの情報しか得られないから、解像度として、予め設定済みのデフォルト値を利用するしかない。
近年、読み取り機器の精度向上によって、スキャナーなどの接触タイプの読み取りよりも手軽で高速に読み取ることが可能なために、非接触による文書原稿読み取りが増えている事実を鑑みると、解像度情報が取得できることを前提とした方法は、非常に都合が悪い。
【０００５】
【発明が解決しようとする課題】
本発明は、原稿から読み取った文書画像に記された文字の読み取りや認識処理を行う際に、解像度が不明なために文字行の切り出しが正確にできなかった従来技術の問題点に鑑みてなされたものであり、その目的は、読取解像度に依存することなく、行・文字を安定して切り出すことを可能とする手段（或いは処理ステップ）を備えた画像処理装置、画像処理方法及び同方法の実行に用いるプログラムを提供することにある。
【０００６】
【課題を解決するための手段】
請求項１の発明は、処理対象として入力された文書画像の画素ランに基づいて文字画像の外接矩形情報を生成する手段と、前記外接矩形情報に基づいて行毎に画素数で表現した行サイズを求める手段と、行毎に求めた行サイズからその代表値を算出する手段と、算出した行サイズの代表値と長さ単位で表現した標準文字サイズとを比較することにより解像度を推定する手段とを備えたことを特徴とする画像処理装置である。
請求項２の発明は、処理対象として入力された文書画像の画素ランに基づいて文字画像の外接矩形情報を生成する手段と、前記外接矩形情報に基づいて行毎に画素数で表現した行サイズを求める手段と、行毎に求めた行サイズに対して所定割合以上のサイズを有する当該行内文字画像の外接矩形情報から文字サイズの代表値を算出する手段と、算出した文字サイズの代表値と長さ単位で表現した標準文字サイズとを比較することにより解像度を推定する手段とを備えたことを特徴とする画像処理装置である。
請求項３の発明は、請求項２に記載された画像処理装置において、文字サイズの代表値を算出する前記手段は、行サイズに対して所定割合以上のサイズの当該行内文字画像の外接矩形数が、当該行内文字画像の外接矩形総数の所定割合以上の場合のみ、算出に用いるようにしたことを特徴とする画像処理装置である。
請求項４の発明は、処理対象として入力された文書画像の画素ランに基づいて文字画像の外接矩形情報を生成するステップと、前記外接矩形情報に基づいて行毎に画素数で表現した行サイズを求めるステップと、行毎に求めた行サイズからその代表値を算出するステップと、算出した行サイズの代表値と長さ単位で表現した標準文字サイズとを比較することにより解像度を推定するステップと、を有することを特徴とする画像処理方法である。
請求項５の発明は、処理対象として入力された文書画像の画素ランに基づいて文字画像の外接矩形情報を生成するステップと、前記外接矩形情報に基づいて行毎に画素数で表現した行サイズを求めるステップと、行毎に求めた行サイズに対して所定割合以上のサイズを有する当該行内文字画像の外接矩形情報から文字サイズの代表値を算出するステップと、算出した文字サイズの代表値と長さ単位で表現した標準文字サイズとを比較することにより解像度を推定するステップと、を有することを特徴とする画像処理方法である。
請求項６の発明は、請求項５に記載された画像処理方法において、文字サイズの代表値を算出する前記ステップは、行サイズに対して所定割合以上のサイズの当該行内文字画像の外接矩形数が、当該行内文字画像の外接矩形総数の所定割合以上の場合のみ、算出に用いるようにしたことを特徴とする画像処理方法である。
請求項７の発明は、請求項４ないし６のいずれかに記載された画像処理方法の各処理ステップをコンピュータに実行させるためのプログラムである。
【００１７】
【発明の実施の形態】
本発明を添付する図面とともに示す以下の実施形態に基づき説明する。
下記の「実施形態１」〜「実施形態３」は、原稿から読み取った文書画像における解像度を求めるための方法を示す。求めた解像度は、文書画像の文字読み取りや文字認識の処理を行う際に、設定する各種パラメータを調整し、処理対象の文字行を安定して切り出すために用いられる。
図１は、処理対象となる文書画像の一例を示す。なお、下記の各実施形態では、日本語文の横書原稿を例に説明するが、特にことわらない限り、本発明は、例示に限定されるものではなく、文書画像中に頻出する文字サイズを代表文字サイズとみなし、その画素数(単位[dot])と、一般文書で用いられる代表的な文字のサイズ(単位[inch][mm]など)とを用いて当該文書画像の実効解像度(単位[dot/inch][dot/mm]など)を推定すること、そしてそれに基づいて、行切り出し処理および文字切り出し処理にて使用される各種パラメータを変更することによって認識精度が向上することを示すものであり、特定の言語、文字画像種類(手書き／活字文字など)、書式(縦書き／横書き)に限定されない。
【００１８】
「実施形態１」
図１に示す横書きの文書を対象として、縦方向および横方向に射影を求めると、その結果は、それぞれ図２の（ａ），（ｂ）のようになる。なお、図２（ａ），（ｂ）は、それぞれ縦（Ｙ）軸、横（Ｘ）軸と直交する軸に累積黒画素数をとり、射影を求めた結果を表している。
図示の表現で、射影が横縞状に求められた場合には横書であるし、縦縞状に得られたのならば、縦書である。各々の場合に、縞の幅が文字高さあるいは文字幅に相当するから、この縞の幅を集計すれば、文字高さあるいは文字幅を集計したことになる。集計結果において、最も頻度の高い値を、対象画像の代表文字高さ(幅)として用いることができる。
しかしながら、処理対象となる文書画像が図３に示すような複雑なレイアウト（即ち、図や複数サイズのフォントが混在、段組が複雑）の原稿の場合、縦方向及び横方向に射影を求め、図２と同様の形式で表現すると、図４のようになり、縞状に求められないので、このやり方では文字高さ(幅)を求めることができない。
【００１９】
そこで、原稿画像中の黒ランの外接矩形を求める方法を適用する。なお、「ラン」は、連続画素データが同一値をとる場合に、この連続画素のかたまりを指す概念で、符号化の単位として扱われる（フアクシミリなどで扱う2値の文書画像において、一次元方向に連続する白画素、黒画素のかたまりを「白ラン」、「黒ラン」として符号化の単位とする例は周知）。
求めた黒ランの外接矩形の内、文字要素と思われる矩形を、その近隣の矩形と統合していくことによって、文字行を作成し、文字高さを求める。このとき、文字要素と思われる矩形の判定は、ＯＣＲ処理可能な文字のサイズ制限に基づいて、矩形サイズを制限することにより実行可能である。このようにして、対象画像（図１）において、黒ランの外接矩形を求めた結果を図５に示す。
次いで、この外接矩形に対し統合処理を行い文字行を生成する。統合処理は、図６の説明図に示す操作を行う。即ち、統合の対象として選択した２つの外接矩形を統合するか否かを矩形間の水平距離（図６（ａ））及び垂直距離（図６（ｂ））が基準値以内にあるか否かにより判定し、判定結果を受けて統合を実行する。
統合するか否かの判定は、順次選択される２外接矩形を対象にして全ての外接矩形について行うことにより文字行を作成する。
このようにして、対象画像の黒ランの外接矩形（図５）に統合処理を行い、得られる文字行の作成結果を図７に示す。
上記のようにして文字行（図７）を求めた後、原稿中の全ての文字行の幅(高さ)を集計して、その代表値を文字サイズとして得る。
本例では、全ての文字行の幅(高さ)に関して頻度ヒストグラムを作成し、最頻値の文字行のサイズを代表値とする。
図８は、このヒストグラムを例示するものである。ここでは、文字行の幅(高さ)をdot数（画素数）としてその頻度をヒストグラムとして表している。図示のように、最頻値の文字行のサイズを代表文字サイズとして、後述する実効解像度の算出に用いる。
【００２０】
ところで、上記した文字行を作成する方法で求めた文字サイズはあくまで画素数が単位であり、実際の物理的な長さが求められたわけではないことに注目する必要がある。
文字認識装置の内部では、解像度や画素数を用いて、処理対象の文字サイズや、行間距離、文字間距離など、各種パラメータに上限値や下限値を設定し、行切り出し処理や文字切り出し処理を行う。一般には、画素数によって読み取り文字サイズの上限や下限が規定されている文字認識装置が多く、読み取り画像データの解像度が異なると、読み取り可能な文字の実際の大きさも異る。
例えば、解像度400dpiの場合で読み取れる文字サイズの上限が24point(1point=1/72inch)であれば、解像度200dpiのデータに対しては、倍のサイズの48pointまで読み取り可能になる。一方、解像度400dpiの場合で読み取れる文字サイズの下限が6pointであれば、解像度200dpiにおいては、12point以上の文字でないと、読み取られなくなる。
図９は、同一原稿を解像度を変えて読み取った実際の例を示す。図中の（ａ）は解像度200dpi(主走査および副走査同じ)、（ｂ）は解像度400dpiで読み取った突起を例示する。図９に示すように、同一の原稿でも読み取り解像度が変われば、画素単位での文字サイズが異なることがわかる。また、図１０は、図９の１文字を同一サイズに拡大したものである。読み取り解像度が異なるので、文字を構成する画素数も異なっていることが文字における斜線部分のギザギザの程度で明確にわかる。
文字認識装置の使用者にとっては、画素数による文字サイズは文字認識装置の内部データにすぎず、文字サイズとしては実際の物理（長さ）単位の方を意識することになる。従って、解像度に依存して文字の読み取り可能なサイズが変化すること、つまり図１０のように長さが同じであるのに解像度が異なる場合のように、一方の文字の読み取りが不適になるという状況が起きるのは、混乱を生じるので好ましくない。
また、解像度に応じて各種パラメータの値を変更するような文字認識装置でも、「従来の技術」の項でデジタル・スチル・カメラを例に述べたように、解像度情報のない画像データも増えてきており、解像度のないデータに対しては、予め設定済みのデフォルト値を使用するしか方法がない。
【００２１】
そこで、文書中を代表する文字、本例では最も頻出している文字、を本文の文字とみなし、これが一般的な文書の本文に採用される文字の実際の物理的サイズ（長さ）を持つとすれば、画素数と実際のサイズ（標準文字サイズ）から解像度（以下「実効解像度」という）が推定できる。即ち下記式(1)によって、実効解像度（推定値）が算出可能である。
実効解像度[dpi]([dot/inch])=
文字のサイズ(画素数[dot])/標準文字サイズ(長さ[inch])  ………式(1)
一般的な文書の本文に採用される文字に標準サイズが存在するかが問題であるが、以下の歴史的事情を考慮すると、標準的なサイズは存在すると考えても構わない。
『日本における近代印刷である和文活字は、号数活字というシステムに基づいており、五号、つまり10.5ポイントを中心とした活字によって、長く日本の活字文化をささえていた。戦後、細いポイント活字の普及が進んだが、活字は一度大きさを決めて、そろえると簡単に変えるわけにはいかない。特に文字数の非常に多い日本語では、ひとそろいの活字の大きさを変更するにはたいへんな時間と労力と費用とがかかることになる。その結果、日本における活字の大きさは、号数活字・ポイント活字が混在することになった。』（大西哲彦著：「ユーザーのための写植ガイドブック」pp.16, 印刷学会出版部 (1992)より引用）
また、写植が発達しても、過去の活字文化を受け継ぎ、本文の文字サイズは10.5ポイントが多い。事実、広く一般に利用されているマイクロソフト社の日本語ワープロソフト「WORD」においても、デフォルトの文字サイズは10.5ポイントに設定されている。
このように、本文中の文字には標準的なサイズが存在すると仮定することは十分妥当であり、有意な結果をもたらす。
【００２２】
次に、文書画像の文字認識処理における各種処理の内部パラメータを設定する処理に係わるフローについて述べる。
本フローは、対象原稿から得た画像情報に基づいて推定値として算出される上記した実効解像度を内部パラメータの設定に反映させるもので、概略のフローを示す図１１を参照して、処理フローの各ステップを説明する。
先ず、スキャナー、デジタル・スチル・カメラなどの画像入力機器によって、処理対象の文書画像を記した原稿の読み取り、画像処理等の入力処理を行う（step 1）。この入力処理において、原稿の文書画像の黒ランの生成処理を行う。
次いで、生成された文書画像の黒ランに基づいて、黒ランの外接矩形を求める（step 2）。ここで求められる黒ランの外接矩形には、文字以外の図表等によるものも含まれている。
そこで、求めた黒ランの外接矩形から文字と見なせる矩形を抽出する処理を行い、抽出した文字と見なせる矩形同士で近隣の矩形と統合する処理を行い、文字行を作成する（step 3）。
作成した文字行から文字行サイズ（dot数）のヒストグラムを得、最頻値を代表文字サイズとして求め、実効解像度の算出のために設定する（step 4）。
次に、step 4で設定された代表文字サイズ（dot数）を予め設定済みの標準文字サイズ（inch）と比較し（上記式(1)）、即ちdot/inchの演算を行うことにより実効解像度を算出する（step 5）。
その後、step 5 で算出した実効解像度に基づいて、文字認識装置の各種処理の内部パラメータを解像度に適した値に設定しなおす（step 6）。
【００２３】
「実施形態２」
本実施形態は、「実施形態１」と同様に実効解像度を算出するが、文字サイズの求め方を異にし、読み取られた原稿画像に傾き（スキュー）が生じた場合に受ける影響を抑制することを可能にした方法を採用することにより、より正確な文字サイズを得ることを意図したものである。
原稿読み取りの際に、原稿が正しく（傾き無く）配置されてスキャンされた場合には、文字行の幅(高さ)が文字高さにほぼ相当するので、「実施形態１」による方法で文字サイズを求めても、問題は生じない。
しかしながら、「実施形態１」において、原稿が傾いて読み取られた場合、図１２に示すように、文字行も傾いてしまうため、文字行の矩形範囲と、行内の各文字矩形の範囲とに差が生じてしまう。この場合、実際の文字サイズよりも文字行の幅(高さ)の方が大きめになるために、文字行の幅(高さ)に基づいて算出される代表文字サイズも、実際のサイズよりも大きくなってしまい、正確な解像度が算出できなくなり、都合が悪い。
【００２４】
そこで、頻度ヒストグラムを求める対象として、文字行の幅(高さ)ではなく、文字行内に存在する外接矩形の幅(高さ)とすれば、原稿が傾いたことによる影響を極力排除できる。
このとき、図１２に示すように、文字要素の点や句読点など、行幅(高さ)に対して著しく小さい外接矩形の場合には、代表文字サイズの算出には適さないので頻度ヒストグラム集計の対象とはしない。これは、行幅(高さ)に対する行内の外接矩形幅(高さ)の割合に、予め所定のしきい値を設けておき、所定のしきい値以上の矩形のみを頻度ヒストグラム集計の対象に加えることによって、容易に実現できる。
上記の方法を実行するためには、「実施形態１」におけると同様に、文字行を作成するまでの処理を行った後に、以下の処理操作を行う必要がある。
作成された文字行を指定し、当該文字行の行内矩形の中の注目矩形の幅（高さ）：Waと、当該文字行の行幅（高さ）：Wbとを取得して、Wa/Wbを求め、得たWa/Wbがしきい値T1以上であれば、注目矩形は頻度ヒストグラム集計の対象とし、他方、Wa/Wbがしきい値T1未満であれば、注目矩形は集計対象外とする。
こうして対象を絞り、得られた矩形の幅（高さ）を頻度ヒストグラム集計の対象となる文字サイズとして代表文字サイズを求める。これ以降の処理は「実施形態１」と変わりがない。
【００２５】
「実施形態３」
本実施形態は、「実施形態２」において、傾きが大きい場合に、頻度ヒストグラム集計の対象に適さない文字サイズが入ってしまうので、これを排除することにより、より正確な文字サイズを得ることを意図したものである。
原稿読み取りの際に、傾きが大きくなると、図１２の（ｂ）ように、２行が１行にまとめられる場合がある。また、傾いていなくても、行間に図などの矩形が存在した場合にも、複数行が１行にまとめられてしまう。
このような行の場合、行内に行サイズに近いサイズの矩形は、存在しないか(傾きがひどい場合)、或いは文字でない矩形(行間に図やノイズなどの矩形が存在した場合)であり、こうした矩形を代表文字サイズの算出に取り込むとエラーが多くなるので、頻度ヒストグラム集計の対象には適さない。
例えば、図１２の（ａ）は代表文字サイズの算出に適する行であるが、図１２の（ｂ）は適さない行である。
よって、行サイズに対して所定割合以上のサイズの行内矩形の数が、行内矩形の総数に対して、所定割合より低い行は、代表文字サイズの判定処理の対象とはしない。これは、行内の矩形数と、一定割合以上のサイズの矩形数とを計数しておき、その比が予め設定した値以上の場合のみ、当該行の結果を頻度ヒストグラム集計の対象にすることで容易に実現できる。
上記の方法を実行するためには、「実施形態１」におけると同様に、文字行を作成するまでの処理を行った後に、以下の処理操作を行う必要がある。
作成された文字行を指定し、当該文字行の行内矩形の中の注目矩形の幅（高さ）：Waと、当該文字行の行幅（高さ）：Wbとから、Wa/Wbを得、得たWa/Wbがしきい値T1以上の矩形の数：Naを求め、当該文字行の行内矩形の総数：Nbを求め、それらの比：Na/Nbがしきい値T2以上の場合は、当該文字行は頻度ヒストグラム集計の対象とし、他方、Na/Nbがしきい値T2未満であれば、当該文字行は集計対象外とする。
こうして対象を絞り、得られた矩形の幅（高さ）を頻度ヒストグラム集計の対象となる文字サイズとして代表文字サイズを求める。これ以降の処理は「実施形態１」と変わりがない。
【００２６】
以下に示す「実施形態４」〜「実施形態８」は、原稿から読み取った文書画像におけるスキュー（傾き）を検出するための方法を示す。
スキューは、図１２に示すように、原稿を読み取り、得られる文書画像に生じた傾きを意味する。この傾きが大きい場合には、文書画像に対する分割処理、即ち直線によって１行毎に分割する処理、さらに一文字毎に分割する処理も困難にする。このように、スキューは、文書画像の文字読み取りや文字認識の処理等を行う場合に、エラーや処理不能が生じる原因となるので、それを補償するためにスキューの検出が行われる。
以下の実施形態では、黒ランの外接矩形メソッド（上記した実施形態１〜３においても、文字行の切り出しに用いた方法）をベースに、レイアウトの複雑な原稿に対してもスキューの検出を精度良く行うことを意図し、その実現を図るものである。
【００２７】
「実施形態４」
本実施形態におけるスキュー検出方法の原理を説明する。図１３は、この検出原理の説明図である。
黒ランの外接矩形メソッドをベースにした方法であり、これまでと同様に原稿からの読み取り文書画像から文字と見なせる黒ランの外接矩形の生成、矩形統合を行い文字行を生成する。
図１３（ａ）に示すように、文字行を生成した後に、文字行内の矩形を対象に回帰直線（破線）を求める処理を行う。なお、この処理の前提として、文字行内の各矩形は図１３（ｂ）に示すように、読み取り文書画像に設定されたＸＹ座標軸（スキューの基準軸を定めるものでもある）における２点の座標(Xs,Ys),(Xe,Ye)で定義しておく。
回帰直線（破線）を求める処理においては、ＸＹ座標軸で位置を定義された文字行内の矩形の４点の中の１点に注目し、それを座標(Xi,Yi)の形で表現する。本例では、図１３（ａ）に示すように、矩形の始点の座標(Xs,Ys)に注目しているが、実際には矩形の４点の内、どの点でも構わない。
文字行内の各矩形の注目点(Xi,Yi)の座標、即ち(X1,Y1),(X2,Y2),……,(Xn,Yn),…の軌跡を直線で近似すれば、図１３（ａ）中の破線となり、この破線と水平線（Ｘ軸）との角度が原稿の傾きに相当する。
【００２８】
座標(Xi,Yi)の軌跡の線形近似は、回帰分析を行うことにより求めることができる。
X に対するYの回帰直線を求める方法は、「統計」に関する教科書(例えば、．ガットマン．Ｓ．Ｓ．ウィルクス著「工科系のための統計概論」培風社刊)に詳しいが、簡単には以下のようになる。
X に対する Y の回帰直線の式は、
Y = AX + B  ………式(2)
の形で表され、A をXに対するYの回帰係数と言う。
A = {NΣXiYi-(ΣXi)(ΣYi)}/{NΣXi2-(ΣXi)2}  ………式(3)
によって A を求め、次に、
B =ΣYi/N-AΣXi/N  ………式(4)
によって B を求める。
一行に関しては文字行内の各矩形の注目点(Xi,Yi)に上記式(2)〜(4)を適用することにより傾き：Aが算出できるので、原稿中の全文字行に対して傾きを求めた後、その代表値を求めるスキューとする。代表値としては、頻度ヒストグラムとして集計し、最も頻出する傾きを選択する方法、あるいは傾きの平均を算出する方法、などによって原稿の傾きを決定する。なお、傾き(スキュー)角度θは θ = (tan)-1 A で求められる。
このようにして検出されたスキューは、処理文書画像の文字読み取りや文字認識の処理等を行う場合に、エラーや処理不能が生じる原因となるので、スキューによる影響を除く、或いは回避する等のスキュー補償の処理を行う。スキュー補償自体は、処理文書画像の文字読み取りや文字認識の処理等において、従来から実施されている方法を採用でき、例えば、画像入力処理において処理対象文書画像に補正を掛けるとか、スキューが著しい場合には、処理の対象としないで原稿の再読み取りを指示するといった方法によって対処する。
【００２９】
「実施形態５」
本実施形態は、「実施形態４」と同様にスキューを検出するが、スキューが著しくなると、複数の文字行が一つにまとめられるということが一部に起きる場合があり、スキューの検出結果にエラーを導く。このような影響を抑制することを可能にした方法を採用することにより、より正確なスキューを検出することを意図したものである。
図１４は、原稿画像のスキューが著しくなった結果、行切り出し処理に失敗して、複数行が一つの行にまとめられた場合を示している。複数行に「実施形態４」と同じ回帰直線を求める方法を適用すると、文字行内の矩形の座標の軌跡を直線で精度良く近似することは難しく、回帰分析して求めた回帰直線の傾き（図１４中に破線にて示す）と、実際の原稿の傾きとの不一致が著しくなる場合が生じる。もちろん、図１３のように、一行が正しく切り出されている場合でも、点や句読点など、行サイズと比較して著しく小さい矩形の座標も、回帰分析の対象に加えた場合、実際の行の傾きと回帰直線の傾きとが乖離する原因になる。
そこで、文字行の幅(高さ)と比較して著しく小さな当該文字行の行内矩形を回帰分析の対象から排除する。このために、文字行の幅(高さ)に対する行内矩形サイズの割合に、所定のしきい値を設けておき、一定以上の行内矩形のみ分析の対象とする。
【００３０】
上記の方法を実行するためには、「実施形態１」におけると同様に、文字行を作成するまでの処理を行うが、このときに用いる文字行作成（行切り出し）手段は、原稿のスキュー角度が大きい場合、文字行の切り出しを正常に行うことが困難であり、ほとんどの行切り出し結果が、図１４のように複数行が一つにまとめられてしまうおそれがある。その場合、回帰分析対象となる座標が少ないので、回帰直線を求めても、それが行の傾きを表現していないことも起こる。
こうした不具合を避けるために、回帰分析を行う前に、分析対象の矩形の数と、行内矩形の総数との比を算出し、分析対象の行内矩形数が少なく、分析対象の行内矩形数が行内矩形総数の予め定めたしきい値以下の割合であるならば、回帰分析を行わず、スキュー角度算出不能である、という判断を行うようにする。
具体的には、以下の処理操作を行う必要がある。
作成された文字行を指定し、当該文字行の行内矩形の中の矩形の幅（高さ）：Waと、当該文字行の行幅（高さ）：Wbとを取得して、Wa/Wbを求め、得たWa/Wbがしきい値T1以上である矩形の数：Naを求め、当該文字行の行内矩形の総数：Nbを求め、それらの比：Na/Nbがしきい値T2以上の場合は、当該文字行はスキュー角度算出可能とし、他方、Na/Nbがしきい値T2未満であれば、当該文字行はスキュー角度算出不可能とする。
こうして対象を絞り、得られたスキュー角度を頻度ヒストグラム集計等の対象となるスキュー角度として代表スキュー角度を求める。また、これ以降のスキューを補償する処理は「実施形態１」と変わりがない。
【００３１】
「実施形態６」
本実施形態は、「実施形態４，５」と同様にスキューを検出する場合、原稿の単位で検出を実行する意義があるかを定める基準を設け、検出時にその基準による判定を行うことにより適正かつ無駄のない動作を保証することを意図したものである。
一般的に、スキュー角度を検出可能な範囲には制限を設けておき、すべての角度を検出可能であることを保証しない。なぜなら、天地が逆転した原稿の場合、あるいは、90度回転した原稿の場合など、文字認識しない限りは、原稿方向は不明であり、傾き角度検出するために、負荷の大きな文字認識処理を複数回にわたって実行しなくてはならず、現実的ではないからである。多くの文字認識処理装置が保証しているスキュー検出角度は、-10〜0〜10度、最高±45度である。
したがって、検出可能なスキュー角度を越えて傾いている原稿に対しては、スキュー角度を求めることは無意味であり、大きくスキューしている旨を、オペレータに提示する方が実用上都合がよい。
スキュー角度が大きいために、行切り出し処理が失敗する例として、図１２(ｂ)のように複数行が１行にまとめられてしまう場合がある。このような行を検出するには、「実施形態５」で述べたように、当該文字行において、行サイズに対して所定割合以上のサイズの文字行内矩形数が、文字行内矩形総数より著しく少ない場合には、文字行切り出し失敗行であると判断すればよい。
そして、１枚の原稿中、行切り出しした行の総数に対し、上記の判断によって文字行切り出し失敗と判定された行が所定割合以上であれば、当該原稿は、スキュー角度検出不可能なほど傾いていると判断する。
上記の方法を実行するためには、文字行を作成するまでの処理を行った後に、以下の処理操作を行う必要がある。
対象（注目）原稿について作成された文字行を指定し、当該文字行の行内矩形の中の矩形の幅（高さ）：Waと、当該文字行の行幅（高さ）：Wbとを取得して、Wa/Wbを求め、得たWa/Wbがしきい値T1以上である矩形の数：Naを求め、当該文字行の行内矩形の総数：Nbを求め、それらの比：Na/Nbがしきい値T2以上であるかを全文字行にわたって調べ、しきい値T2以上の文字行の数：Ncを求める。次いで、しきい値T2以上の文字行の数：Ncと当該原稿の文字行の総数：Ndの比：Nc/Ndがしきい値T3以上であるかを調べ、当該原稿がしきい値T3以上ならば、注目原稿のスキュー角度検出を行い、未満ならば、注目原稿のスキュー角度検出を実行しない、という処理を行う。
こうして無意味な検出動作を避けて、意義のある対象に対するスキュー角度のみに検出を行う。
【００３２】
「実施形態７」
本実施形態は、「実施形態４〜６」と同様にスキューを回帰分析法により直線近似により検出する場合、検出した結果を評価し、評価結果に従い検出結果を利用するか否かを決めることにより、検出の高精度化を図ることを意図したものである。
回帰分析において、座標の軌跡の直線近似の合致の程度を表現する値として 相関係数がある。相関係数は「実施形態４」で述べた処理手順（式(2)〜(4)、参照）に加え、以下の処理を追加することによって得られる。
即ち、X と Y の立場を逆にすると、もう１つの回帰直線ができる。
Y に対する X の回帰直線の式は、
X = CY + D  ………式(5)
であり、この場合に、
C = {NΣXiYi-(ΣXi)(ΣYi)}/{NΣYi2-(ΣYi)2}  ………式(6)
によって C を求め、次に、
D = ΣXi/N-CΣYi/N  ………式(7)
によって D を求める。
X と Y の相関係数をρとすると、
ρ=±√|AC|  ………式(8)
となる。なお、式(8)における複号の選択は、A または C の分子の符号とする。
相関係数ρの絶対値が１に近いほど、座標の直線近似がうまくいっていることになり、回帰直線が文字行の傾きに相当すると考えてよいといえる。逆に、相関係数ρの絶対値が１より小さく、０に近くなるほど、回帰直線と、文字行の傾きとは一致しない度合が強くなるといえる。
よって、当該文字行内の矩形座標に対して算出された相関係数ρの絶対値が小さい場合、その行は文字切り出しに失敗している可能性が高く、原稿の傾きを求めるには利用すべきでない。
本例の方法を実行するためには、回帰分析法を各文字行内の矩形に適用して直線近似によりスキューを検出する処理を行うときに、相関係数ρを求め、得た相関係数ρの絶対値に対して、予めしきい値を設定しておき、しきい値以下である行は、スキュー検出の対象としないようにすることにより容易に実現できる。
こうして精度が保証されない検出結果を用いることを避けて、正しい結果が得られる対象から得られたスキュー角度を頻度ヒストグラム集計等の処理に用いて代表スキュー角度を求めるようにする。また、これ以降のスキューを補償する処理は「実施形態１」と変わりがない。
【００３３】
「実施形態８」
本実施形態は、「実施形態４〜６」と同様にスキューを検出し、「実施形態７」と同様に相関係数によるチェックを掛ける場合、原稿の単位で検出する意義があるかを定める基準を設け、検出時にその基準による判定を行うことにより適正かつ無駄のない動作を保証することを意図したものである。
本例では、１枚の原稿中の各文字行に対して「実施形態７」に述べた相関係数によるチェックを掛け、検出対象から外された文字行数の原稿全体の文字行の総数に対する割合が多くなれば、その原稿はスキューが大きすぎたためであり、スキューを算出する意味がない原稿であると判断する。
本例の方法を実行するためには、文字行切り出し結果の総数を計数し、相関係数の絶対値に対して、予めしきい値を設定しておき、しきい値以下である行の数を計数し、その数が全行数にしめる割合に対してしきい値処理を行い、割合の大小を判定することによって、容易に実現できる。
即ち、対象（注目）原稿について作成された各文字行の矩形に回帰分析法を適用して直線近似によりスキューを検出する処理を行うときに、相関係数ρを求め、得た相関係数ρの絶対値がしきい値T4未満である文字行の数：Ncと当該原稿の文字行の総数：Ndの比：Nc/Ndがしきい値T5以上であるかを調べ、しきい値T5以上ならば、注目原稿のスキュー角度検出を行い、未満ならば、注目原稿のスキュー角度検出を実行しない、という処理を行う。
こうして無意味な検出動作を避けて、意義のある対象に対するスキュー角度のみに検出を行う。
【００３４】
「実施形態９」
本実施形態は、本発明に係わる文字認識装置、或いは画像処理装置の実施形態を示すものである。上記の「実施形態１〜３」に示した文書画像における実効解像度を求めるための方法、或いは「実施形態４〜８」に示した文書画像におけるスキューの検出方法に示した処理ステップを実行する手段として、汎用の処理装置（コンピュータ）を利用して構成される装置を例示するものである。
図１５は、本実施形態の文書画像の処理装置の構成を例示する。図１５に示すように、本例は、汎用の処理装置（コンピュータ）により実施する例を示すものであり、構成要素としてＣＰＵ１、メモリ２、ハードディスクドライブ３、スキャナ、キーボード、マウス等の入力装置４、ＣＤ−ＲＯＭドライブ５、ディスプレイ６、フレキシブルディスクドライブ７、通信装置８などを用意し、これらをバス接続して構成する。
また、記憶手段としてのメモリ２、ハードディスクドライブ３、ＣＤ−ＲＯＭドライブ５、フレキシブルディスクドライブ７が用いる記憶媒体（図示せず）の一部には、本発明に係わる文字認識処理や画像処理の機能を実現し、上記実施形態に示した実効解像度を求めるための方法、或いはスキューの検出方法で述べた処理手順を実現させるためのプログラム（ソフトウェア）が記録されている。
処理対象の原稿文書画像は、スキャナー等の入力装置４により入力され、例えばハードディスク３などに格納されているものである。ＣＰＵ１は、記憶手段が有する記録媒体から上記した処理機能・処理方法を実現するプログラムを読み出し、プログラムに従う処理を対象文書画像に実行し、その処理結果等をディスプレイ６などに出力する。
なお、本発明に係わる文字認識装置、或いは画像処理装置を、図１６に示すように、通信装置８によりインターネットなどの通信回線２０を介して、外部の装置１１〜１３と接続して、機能の一部をネットワーク上に持つような形態で実施してもよい。
【００３５】
【発明の効果】
（１）  請求項１，４の発明に対応する効果
処理対象の文書画像を基に生成した黒ランの外接矩形から文字の要素と思われる矩形を抽出し、近隣の矩形同士を連結して行に成長させ、得られる各行のサイズを集計し、代表文字サイズ（画素数）を求め、求めた値を標準文字サイズ（長さ）と比較することにより解像度を推定するようにしたので、読取解像度に依存することなく、行・文字を安定して切り出すことができるようになり、高精度かつ頑強な画像処理装置又は画像処理方法を実現することが可能となる。
（２）  請求項２，５の発明に対応する効果
処理対象の文書画像を基に生成した黒ランの外接矩形から文字の要素と思われる矩形を抽出し、近隣の矩形同士を連結して行に成長させ、得られる各行毎の行サイズに対して所定割合以上のサイズを有する当該行内の外接矩形情報を基に代表文字サイズ（画素数）を求め、求めた値を標準文字サイズ（長さ）と比較することにより解像度を推定するようにしたので、読取解像度に依存することなく、スキューの影響を受けにくく、行・文字を安定して切り出すことができるようになり、高精度かつ頑強な画像処理装置又は画像処理方法を実現することが可能となる。
（３）  請求項３，６の発明に対応する効果
上記（２）の効果に加え、スキューが大きい場合に、代表文字サイズ算出の対象に適さない文字サイズが入ってしまうものを排除することができるので、より正確な文字サイズを得ることが可能になる。
（４）  請求項７の発明に対応する効果
請求項４ないし６のいずれかに記載された画像処理方法の各ステップを実行するためのプログラムを汎用の処理装置（コンピュータ）に搭載することにより、上記（１）ないし（３）いずれかの効果を容易に具現化することが可能になる。
【図面の簡単な説明】
【図１】  処理対象となる文書画像の一例を示す。
【図２】  横書きの文書を対象として、縦方向および横方向に射影を求めた結果を示す。
【図３】  複雑なレイアウトの原稿の例を示す図である。
【図４】  図３に示す原稿を対象として、縦方向および横方向に射影を求めた結果を示す。
【図５】  文書画像の例（図１）における文字と見なせる黒ランの外接矩形を作成した結果を示す。
【図６】  近隣の矩形を統合する処理を説明する図である。
【図７】  統合処理の結果得られる文字行の矩形と文字外接矩形を示す図である。
【図８】  文字行の幅(高さ)に関してとった頻度ヒストグラムと代表文字サイズを示す図である。
【図９】  同一原稿を解像度を変えて読み取ったときの実例を示す。
【図１０】  元は同一サイズの文字を解像度を変えて読み取ったときの例を示す。
【図１１】  実効解像度を内部パラメータの設定に反映させる処理手順を含む文書画像の文字認識処理に係わるフローチャートを示す。
【図１２】  スキュー発生時の行切り出し状態を説明する図である。
【図１３】  文字行内の外接矩形への回帰分析の適用（ａ）と座標による矩形の定義（ｂ）を説明する図である。
【図１４】  スキュー発生時に行切り出しに異常が生じた場合の回帰直線の状態を説明する図である。
【図１５】  本発明の実施形態に係わる文書画像の処理装置の構成を示す。
【図１６】  本発明の実施形態に係わる文書画像の処理装置の他の構成を示す。
【符号の説明】
１…ＣＰＵ、                    ２…メモリ、
３…ハードディスクドライブ、    ４…入力装置、
５…ＣＤ−ＲＯＭドライブ、      ６…ディスプレイ（表示装置）、
７…ＦＤドライブ、              ８…通信装置。
【図１】
0004070486.tif 000002
【図２】
0004070486.tif 000003
【図３】
0004070486.tif 000004
【図４】
0004070486.tif 000005
【図５】
0004070486.tif 000006
【図６】
0004070486.tif 000007
【図７】
0004070486.tif 000008
【図８】
0004070486.tif 000009
【図９】
0004070486.tif 000010
【図１０】
0004070486.tif 000011
【図１１】
0004070486.tif 000012
【図１２】
0004070486.tif 000013
【図１３】
0004070486.tif 000014
【図１４】
0004070486.tif 000015
【図１５】
0004070486.tif 000016
【図１６】
0004070486.tif 000017