(57)【要約】【課題】判定精度が高く、しかも文字認識処理が不要な文書画像の向きの判定方法及び同補正方法を提供する。【解決手段】文書画像データから文字行または文字列を識別する工程と、識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する工程と、決定した文字行または文字列を用いて文書画像の向きを判定する工程と、を備えている。補正方法は、さらに、判定結果に応じて文書画像の向きを補正する工程を備えている。【選択図】  図５
2004178397.tif 000002
【特許請求の範囲】
【請求項１】
文書画像データから文字行または文字列を識別する工程と、
識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する工程と、
決定した文字行または文字列を用いて文書画像の向きを判定する工程と、
を備えたことを特徴とする文書画像の向きの判定方法。
【請求項２】
文書画像データから文字行または文字列を識別する工程と、
識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する工程と、
決定した文字行または文字列を用いて文書画像の向きを判定する工程と、
判定結果に応じて文書画像の向きを補正する工程と、
を備えたことを特徴とする文書画像の向きの補正方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばスキャナ装置等によって読み取られた文書画像の向きを判定する文書画像の向きの判定方法、及び判定結果に応じて正しい向きに補正する補正方法に関する。
【０００２】
【従来の技術】
文書原稿をスキャナ等により読取入力する場合、原稿の向きが上下で逆になっていると、読み取られた画像も上下逆になる。また、自動原稿送り装置等で縦向き原稿と横向き原稿とが混在していると、読み取った画像も９０度回転したものが含まれることになる。この場合、読み取った画像の向きをユーザがコンピュータ等の画面上で確認し、必要に応じて画像を正しい向きに回転することが行われているが、操作が面倒であった。
【０００３】
そこで、読み取った文書画像の向きを自動的に判定する方法として、抽出した文字行の両端の揃いを比較（具体的には文字行の基準位置からのずれ量の総和を比較）して読みの方向（画像の向き）を判定し、これに基づいて画像処理を行う方法が提案されている（例えば特許文献１参照）。
【０００４】
また、抽出した文字行を０度、９０度、１８０度、２７０度回転して文字認識した結果を比較し、画像の向きを判定して補正する方法も提案されている（例えば特許文献２参照）。
【０００５】
【特許文献１】
特開平１０−９３７７２号公報の特許請求の範囲
【０００６】
【特許文献２】
特開平１１−２１９４０９号公報の特許請求の範囲、段落番号００６９
【０００７】
【発明が解決しようとする課題】
しかしながら、上記特許文献１に記載された方法では、文書原稿の中に右揃え行が混在していると、基準位置からのずれ量が右揃え行の方が大きくなるため、正立している画像を１８０度回転していると誤判定するという問題があった。
【０００８】
また、上記特許文献２に記載された方法では、文字認識が必要であることから、処理が複雑になるとか処理速度が遅くなる恐れがあるといった問題があった。
【０００９】
この発明は、このような技術的背景に鑑みてなされたものであって、判定精度が高く、しかも文字認識処理が不要な文書画像の向きの判定方法及び同補正方法の提供を課題とする。
【００１０】
【課題を解決するための手段】
上記課題は、文書画像データから文字行または文字列を識別する工程と、識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する工程と、決定した文字行または文字列を用いて文書画像の向きを判定する工程と、を備えたことを特徴とする文書画像の向きの判定方法によって解決される。
【００１１】
この判定方法では、文書画像データから文字行または文字列を識別し、識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判定対象となる文字行または文字列を決定し、決定した文字行または文字列を用いて文書画像の向きを判定する。
【００１２】
従って、例えば、横読み文書原稿の中に長さの短い右揃え行や、高さの高いあるいは低い文字行や、文字行の間隔の極端に小さいもの等が含まれている場合や、縦読み文書原稿の中に長さの短い下揃え列や、幅の大きいあるいは小さい文字列や、文字列の間隔の極端に小さいもの等が含まれている場合には、これらの文字行や文字列が判定対象から除外され、文書画像の向きについて精度の高い判定が行われる。しかも、判定に際して文字認識処理は不要である。
【００１３】
また、前記課題は、文書画像データから文字行または文字列を識別する工程と、識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する工程と、決定した文字行または文字列を用いて文書画像の向きを判定する工程と、判定結果に応じて文書画像の向きを補正する工程と、を備えたことを特徴とする文書画像の向きの補正方法によっても解決される。
【００１４】
この補正方法では、前記の判定方法で文書画像の向きについての精度の高い判定が行われ、その判定結果に応じて文書画像の向きが補正されるから、文書画像の正しい向きへの補正を高い精度で行うことができる。
【００１５】
【発明の実施の形態】
以下、この発明の一実施形態を説明する。
【００１６】
図１は、この発明の一実施形態に係る文書画像の向き判定・補正装置の構成を示すブロック図である。なお、この実施形態では、横読み文書原稿の画像の向きを判定し、補正する場合を示している。
【００１７】
図１に示すように、前記文書画像の向き判定・補正装置は、画像データ入力部１、ＣＰＵ２、主メモリ３、画像メモリ４、データ蓄積部５、画像処理部６、操作部７、表示部８、プリンタ部９が、バスライン１０にそれぞれ接続されている。
【００１８】
前記画像データ入力部１は、文書画像を入力するためのものである。この実施形態では、画像データ入力部１は画像読取装置を備え、文書原稿を読み取って画像データに変換するものとなされている。なお、文書画像データがネットワークを介して送信されてくるときには、前記入力部は送信されてきた文書画像データを受信して入力する受信部として機能するように構成しても良い。
【００１９】
前記ＣＰＵ２は、装置全体を統括的に制御するものであり、例えば画像データ入力部１で読み取った文書画像データをデータ蓄積部５に保存したのち画像メモリ４に展開したり、画像メモリ４に展開した画像データを画像処理部６に前処理させたり、ユーザによる操作部７からの出力指令に基づいて、画像データをプリンタ部９でプリントさせる等の制御を行う。さらにこの実施形態では、ＣＰＵ２は後述するように、文書画像データから文字行を識別して画像の向きの判定対象となる文字行を決定したり、文書画像の向きを判定したり、判定結果に基づいて文書画像の向きを補正する機能をも有する。
【００２０】
前記主メモリ３は、ＣＰＵ２が実行するためのプログラムを記憶したり、ＣＰＵ２の動作時の作業領域となるものである。
【００２１】
前記画像メモリ４は、画像処理部６による画像処理やＣＰＵ２による文書画像の向きの判定及び補正処理に際して、画像データ入力部１で入力された文書画像データ等を記憶するものである。
【００２２】
前記データ蓄積部５は各種のデータを蓄積するものであり、例えばハードディスク装置等からなる。
【００２３】
前記画像処理部６は、前記ＣＰＵ２の指令に基づいて、画像データ入力部１で入力された文書画像データに対して、二値化やノイズ除去等の前処理を実施するものである。
【００２４】
前記操作部７は、ユーザによる各種の指示を入力操作するものであり、例えばキーボード、マウス、操作パネル等により構成されている。
【００２５】
前記表示部８は、例えばユーザが指示する操作内容、文書画像の向きの判定結果、向き補正後の文書画像を等を表示するものであり、ＣＲＴディスプレイ、液晶パネル等により構成されている。
【００２６】
前記プリンタ部９は、必要に応じて、向きを補正された文書画像データ等をプリントするものである。なお、補正された文書画像データをネットワークを介して他のコンピュータ等に転送するように構成しても良い。
【００２７】
次に、図１に示した文書画像の向き判定・補正装置を用いた文書画像の向きの判定方法及び補正方法について説明する。
【００２８】
図２は、右揃えの行が混在する文書原稿の例を示している。白矩形が右揃えの文字行１２を示し、網掛け矩形が左揃えの文字行１１を示している。また、左右の波線は文字行の端部の位置を示している。この例では、日付や会社名等右揃えの文字行が２行続いており、従来の判定方法では方向が逆であると判定されてしまう。この場合、一定の長さ以上の文字行を向き判定対象とすることで、長さの短い右揃えの文字行２行が判定対象からはずれる。その結果、正しい判定が可能となる。
【００２９】
図３は、フッタ部分に右揃えの小文字タイトルやページ番号等が存在している文書原稿の例を示している。下端部の白矩形が右揃えの文字行１４を示し、網掛け矩形が左揃えの文字行１３を示している。また、左右の波線は文字行の端部の位置を示している。この例においても、従来の判定方法では方向が逆であると判定されてしまうが、同じ段落内にある文字行を向き判定対象とすることで、段落外にある右揃えの文字行が判定対象からはずれ、正しい判定が可能となる。
【００３０】
図４は、図１に示した文書画像の向き判定・補正装置のＣＰＵ２が実行する判定及び補正処理のメインルーチンを示すフローチャートである。なお、以下の説明及び図面において、ステップを「Ｓ」と略記する。
【００３１】
図４において、Ｓ１０で、ＣＰＵ２は画像データ入力部１を介して文書原稿の読み取りを実行する。読み取った画像データは、データ蓄積部５の指定されたファイルに蓄積されたのち、データ蓄積部５のファイルから画像メモリ４に展開される。
【００３２】
次に、Ｓ２０で、読み取った文書画像の向きを判定する。この処理については後述する。
【００３３】
次に、Ｓ３０で、前記判定の結果に基づいて文書画像の向きを補正した後、Ｓ４０で、補正後の画像を画像メモリ４からデータ蓄積部５のファイルに出力する。
【００３４】
図５は、前記図４におけるＳ２０の画像の向きの判定処理のサブルーチンを示すフローチャートである。
【００３５】
まずＳ２０１で、ＣＰＵ２は、画像処理部６に画像データの前処理を行わせる。画像処理部６は、前処理として、例えば文書画像がカラーやグレースケール画像の場合には二値化処理を行う。また、ノイズで文字行の切り出しを失敗しないために、ノイズ除去や余白部分の削除処理を行う。
【００３６】
次に、Ｓ２０２で、９０度回転フラグを初期化する。文書原稿が横向きで読み取られた場合、文字行を切り出しできないので、この場合は、画像を時計回りに９０度回転して再度切り出しを行うことになる。初期化では「９０度回転フラグ＝Ｎｏ」にセットされ、画像を時計回りに９０度回転した場合は「９０度回転フラグ＝Ｙｅｓ」にセットされる。この９０度回転フラグは、補正時の文書画像の回転角度を決定するときに参照される。
【００３７】
次に、Ｓ２０３で複数の文字行を切り出す。即ち、文字行を識別する。切り出しは各ラインのヒストグラムの谷間と山の幅を調べることにより行われる。領域分割と統合により、文字行を切り出しても良い。
【００３８】
次いでＳ２０４で、文字行が切り出せたか否かを判断する。切り出せない場合は（Ｓ２０４にてＮＯ）、Ｓ２０５で、９０度回転フラグ＝Ｙｅｓか否かを判断する。９０度回転フラグ＝Ｙｅｓでなければ（Ｓ２０５にてＮＯ）、文書原稿が横向きで読み取られた可能性があるので、Ｓ２０６で、画像を時計回りに９０度回転させ、かつ９０度回転フラグをＹｅｓにセットしたのち、再度Ｓ２０３の文字行の切り出し及びＳ２０４の判断を実行する。
【００３９】
Ｓ２０４において、文字行が切り出せた場合には（Ｓ２０４にてＹＥＳ）、Ｓ２０７で、各文字行の両端位置、長さ、高さ、１つ上の文字行との間隔を求める。そして、Ｓ２０８で判定対象となる文字行を決定する。
【００４０】
この実施形態において、判定対象となる文字行の条件は、下記表１に示した▲１▼〜▲４▼の各条件をすべて満たしていることである。
【００４１】
【表１】
2004178397.tif 000003
【００４２】
上記表１において、「▲１▼文字行の長さ」については、（文字行の高さ）と（限界文字数）の積よりも大きいことを条件とする。文字行の高さは、通常、１文字の文字サイズに対応し、また限界文字数は適宜設定する。この条件により、長さの短い文字行、例えば図２に示したような日付や会社名等右揃えの文字行が、判定対象から排除される。
【００４３】
上記表１において、「▲２▼文字行の高さ」については、最小文字サイズより大きく、最大文字サイズより小さいことを条件とする。この条件により、文字行の長さについては▲１▼の条件を満足していても、小文字のタイトルや、大文字のタイトル等の文字行が、判定対象から排除される。
【００４４】
上記表１において、▲３▼及び▲４▼は、図３に示したような右揃えの文字行１４を判定対象から排除し、同じ段落内の文字行を判定対象とするための条件である。
【００４５】
即ち、「▲３▼一つ上の文字行との高さの差」については、その絶対値が（文字行の高さ）と（文字行の高さの誤差）の積よりも小さいことを条件とする。文字サイズを異にして作成された２つの段落が存在する場合、この条件により２つの段落が区別され、異なる段落に属する文字行が判定対象に含まれるのが防止される。
【００４６】
「▲４▼一つ上の文字行の行間隔の差」については、（文字行の高さ）と（限界行間隔）の積よりも小さいことを条件とする。限界行間隔は適宜設定する。この条件により、例えば段落と段落の間をあけて作成された２つの段落が存在する場合、この条件により２つの段落が区別され、異なる段落に属する文字行が判定対象に含まれるのが防止される。
【００４７】
このように、表１の▲１▼〜▲４▼の各条件が満たされているか否かを判定し、すべて満たしている文字行を文書画像の向きの判定対象行として決定する。
【００４８】
次に、Ｓ２０９で、判定対象行が存在するか否かを判断する。Ｓ２０８の決定条件を満たす判定対象行が存在しなければ（Ｓ２０９にてＮＯ）、前述したＳ２０５に進む。判定対象行が存在していれば（Ｓ２０９にてＹＥＳ）、Ｓ２１０に進んで、前記判定対象行に基づいて、原稿の向きを判定する。
【００４９】
Ｓ２１０の原稿の向き判定は、この実施形態では、図６に示すように、比較対照となる一方の文字行の左端位置を（ｘｓ１）、右端位置を（ｘｅ１）とし、他方の文字行の左端位置を（ｘｓ２）、右端位置を（ｘｅ２）とすると、
ｘｓ２−ｘｓ１＞しきい値Ａ
かつ｜ｘｅ１−ｘｅ２｜＜しきい値Ｂ
の時、文字行の右端位置が文頭位置と判定し、入力された文書画像が１８０度回転している（向きが逆）と判定する。上式において、しきい値Ａ、Ｂは文字行の高さの倍数で表す。このように、しきい値Ａ、Ｂを文字行の高さの倍数とすることにより、解像度や文字サイズに依存することなく判定が可能となる。
【００５０】
こうして、原稿の向きを判定した後、Ｓ２１１に進んで、画像を回転補正するための回転角度を決定する。なお、Ｓ２０５において、９０度回転フラグ＝Ｙｅｓの時もＳ２１１に進む。
【００５１】
回転角度は次のように決定する。
（１）９０度回転フラグ＝Ｙｅｓでかつ文書画像の向きが逆の場合は、画像を時計回りに９０度回転させたときに向きが逆と判断されたことから、読み取った文書画像は正規画像の上側が右側に位置しており、従って文書画像を時計回りに２７０度回転させる。
（２）９０度回転フラグ＝Ｙｅｓでかつ文書画像の向きが正立の場合は、画像を時計回りに９０度回転させたときに向きが正立と判断されたことから、読み取った文書画像は正規画像の上側が左側に位置しており、従って文書画像を時計回りに９０度回転させる。
（３）９０度回転フラグ＝Ｙｅｓでかつ行を切り出せないときは、判定不能とする。この場合は、補正されないことになる。
（４）９０度回転フラグ＝Ｎｏでかつ文書画像の向きが逆の場合は、読み取った文書画像の向きが逆になっており、従って文書画像を時計回りに１８０度回転させる。
（５）９０度回転フラグ＝Ｎｏでかつ文書画像の向きが正立の場合は、正しい向きで原稿を読み取っており、従って文書画像は回転させない。
【００５２】
Ｓ２１１の回転角度の決定処理後、図４のメインルーチンへリターンする。
【００５３】
前記Ｓ２１１で回転角度の決定後、図４のＳ３０で、読み取った文書画像が正立状態でない場合には、ＣＰＵ２は、決定された回転角度分だけ文書画像を回転して正立状態に補正し、Ｓ４０で、画像メモリ４からデータ蓄積部５のファイルに出力する。
【００５４】
以上、この発明の一実施形態を説明したが、この発明は上記実施形態に限定されるものではない。例えば、表１に示した▲１▼〜▲４▼の各条件をすべて満たしているものを判定対象行としたが、▲１▼〜▲４▼のいずれか１つあるいは２つ以上を満たしているものを判定対象行としても良い。
【００５５】
また、文書画像の向きを判定しそれに基づいて補正する装置及び方法を示したが、文書画像の向きの判定のみを行い、補正は別の装置で行うものであっても良い。
【００５６】
また、横読み文書原稿の画像の向きを判定し補正する場合を示したが、縦読み文書原稿の画像の向きを判定し、補正するものであっても良い。この場合、「行」を「列」と、「高さ」を「幅」と、「１つ上の行」を「１つ右の列」と、「左端」「右端」を「上端」「下端」とそれぞれ読み替えて、上記実施形態を適用すればよい。
【００５７】
なお、以上説明した具体的実施形態には、以下の構成を有する発明が含まれている。
（１）文書画像データから文字行または文字列を識別する手段と、
識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する手段と、
決定した文字行または文字列を用いて文書画像の向きを判定する手段と、
を備えたことを特徴とする文書画像の向きの判定装置。
【００５８】
この判定装置では、文書画像データから文字行または文字列が識別されると、この識別された文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列が決定され、この決定された文字行または文字列を用いて文書画像の向きが判定される。
【００５９】
従って、例えば、横読み文書原稿の中に長さの短い右揃え行や、高さの高いあるいは低い文字行や、文字行の間隔の極端に小さいもの等が含まれている場合や、縦読み文書原稿の中に長さの短い下揃え列や、幅の大きいあるいは小さい文字列や、文字列の間隔の極端に小さいもの等が含まれている場合には、これらの文字行や文字列が判断対象から除外され、文書画像の向きについて、文字認識処理を必要とすることなく精度の高い判定を行うことができる装置となる。
（２）文書画像データから文字行または文字列を識別する手段と、
識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する手段と、
決定した文字行または文字列を用いて文書画像の向きを判定する手段と、
判定手段による判定結果に応じて文書画像の向きを補正する手段と、
を備えたことを特徴とする文書画像の向きの補正装置。
【００６０】
この補正装置では、前記の判定装置で文書画像の向きについての精度の高い判定が行われ、その判定結果に基づいて文書画像の向きが補正されるから、文書画像の正しい向きへの補正を高い精度で行うことができる。
（３）文書画像データから文字行または文字列を識別する工程と、
識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する工程と、
決定した文字行または文字列を用いて文書画像の向きを判定する工程と、
をコンピュータに実行させるためのプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【００６１】
この記録媒体では、コンピュータによって、文書画像データから文字行または文字列が識別され、この識別された文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列が決定され、この決定された文字行または文字列を用いて文書画像の向きが判定されるから、コンピュータに文書画像の向きについて精度の高い判定を行わせることができる。
（４）文書画像データから文字行または文字列を識別する工程と、
識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する工程と、
決定した文字行または文字列を用いて文書画像の向きを判定する工程と、
判定結果に応じて文書画像の向きを補正する工程と、
をコンピュータに実行させるためのプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【００６２】
この記録媒体では、コンピュータに、文書画像の向きの判定のみならず、判定結果に応じた文書画像の向きの補正をも行わせるから、精度の高い判定及び補正を行わせることができる。
（５）文書画像データから文字行または文字列を識別する工程と、
識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する工程と、
決定した文字行または文字列を用いて文書画像の向きを判定する工程と、
をコンピュータに実行させるためのプログラム。
【００６３】
このプログラムによれば、文書画像の向きについて精度の高い判定をコンピュータに実行させることができる。
（６）文書画像データから文字行または文字列を識別する工程と、
識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定する工程と、
決定した文字行または文字列を用いて文書画像の向きを判定する工程と、
判定結果に応じて文書画像の向きを補正する工程と、
をコンピュータに実行させるためのプログラム。
【００６４】
このプログラムによれば、文書画像の向きの判定のみならず、判定結果に応じた文書画像の向きの補正をもコンピュータに実行させることができる。
【００６５】
【発明の効果】
この発明に係る文書画像の向きの判定方法は、文書画像データから文字行または文字列を識別し、識別した文字行または文字列の長さ、文字行の高さまたは文字列の幅、文字行または文字列の間隔、のうちの少なくとも一つに基づくパラメータによって、判断対象となる文字行または文字列を決定し、決定した文字行または文字列を用いて文書画像の向きを判定するから、判定を阻害する文字行や文字列が判定対象から除外され、文書画像の向きについて精度の高い判定を行うことができる。しかも、判定に際して文字認識処理のような複雑な処理を必要とすることなく、精度の高い判定を行うことができる。
【００６６】
また、この発明に係る文書画像の向きの補正方法は、前記の判定方法で文書画像の向きについて判定結果に応じて、文書画像の向きが補正されるから、文書画像の正しい向きへの補正を高い精度で行うことができる。
【図面の簡単な説明】
【図１】この発明が実施される文書画像の向き判定・補正装置の構成を示すブロック図である。
【図２】右揃えの文字行が存在する文書原稿の一例を示す図である。
【図３】右揃えの文字行が存在する文書原稿の他の例を示す図である。
【図４】図１の文書画像の向き判定・補正装置のＣＰＵが実行する判定補正処理の内容を示すフローチャートである。
【図５】図４のフローチャートにおけるＳ２０の画像の向き判定処理のサブルーチンを示すフローチャートである。
【図６】原稿の向きの判定条件の説明図である。
【符号の説明】
１            画像データ入力部
２      ＣＰＵ
３            主メモリ
４            画像メモリ
５            データ蓄積部
【図１】
2004178397.tif 000004
【図２】
2004178397.tif 000005
【図３】
2004178397.tif 000006
【図４】
2004178397.tif 000007
【図５】
2004178397.tif 000008
【図６】
2004178397.tif 000009