(57)【要約】【課題】文字認識の処理を打ち切ることにより、更なる処理速度の向上を図る画像処理装置、画像処理方法およびプログラムを提供する。【解決手段】入力画像に対して文字認識を行う画像処理装置において、入力画像を複数の領域に分割する領域分割手段と、分割した領域に対して文字認識を行う文字認識手段と、を有し、文字認識手段は、文字認識の結果、所定の結果（例えば、少なくとも一つの所定のキーワード）を得られたことを契機として、処理対象である領域の文字認識を終了する。【選択図】        図２
2008257684.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の入力画像に対して所定の領域毎に画像処理を施す画像処理手段と、
前記入力画像の前記領域に対して画像処理が施される度に、当該領域に対する画像処理結果が画像処理の打ち切り条件を満たすか否かを判断する判断手段と、
前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止する中止手段と、
画像処理を施した前記領域の前記画像処理結果を前記入力画像の画像処理結果として出力する出力手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記中止手段は、複数の前記領域の前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記中止手段は、連続して画像処理した前記領域の前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記入力画像は、文書画像であり、
前記所定の領域は、文字行であり、
前記判断手段は、前記文書画像の前記文字行に対する前記画像処理結果が前記打ち切り条件を満たすか否かを判断することを特徴とする請求項１乃至３に記載の画像処理装置。
【請求項５】
前記判断手段は、前記文字行の行内矩形の配置情報に基づいて前記打ち切り条件を満たすか否かを判断することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記判断手段は、前記文字行の文字情報に基づいて前記打ち切り条件を満たすか否かを判断することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記画像処理手段は、前記配置情報である文字方向を取り出し、
前記判断手段は、前記文字方向を取り出した前記文字行の行数が閾値を上回った場合、前記打ち切り条件を満たしていると判断することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記画像処理手段は、前記文字情報である文字列を取り出し、
前記判断手段は、取り出した前記文字列と予め設定したキーワードとが一致した場合、前記打ち切り条件を満たしている判断することを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記画像処理手段は、前記配置情報である前記行内矩形の数を取り出し、
前記判断手段は、所定の範囲の前記行内矩形の数が所定の閾値を上回った場合、前記打ち切り条件を満たしていると判断することを特徴とする請求項５に記載の画像処理装置。
【請求項１０】
処理対象の入力画像に対して所定の領域毎に画像処理を施す画像処理ステップと、
前記入力画像の前記領域に対して画像処理が施される度に、当該領域に対する画像処理結果が画像処理の打ち切り条件を満たすか否かを判断する判断ステップと、
前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止する中止ステップと、
画像処理を施した前記領域の前記画像処理結果を前記入力画像の画像処理結果として出力する出力ステップと、
を有することを特徴とする画像処理方法。
【請求項１１】
前記中止ステップは、複数の前記領域の前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止することを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
前記中止ステップは、連続して画像処理した前記領域の前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止することを特徴とする請求項１１に記載の画像処理方法。
【請求項１３】
前記入力画像は、文書画像であり、
前記所定の領域は、文字行であり、
前記判断ステップは、前記文書画像の前記文字行に対する前記画像処理結果が前記打ち切り条件を満たすか否かを判断することを特徴とする請求項１０乃至１２に記載の画像処理方法。
【請求項１４】
前記判断ステップは、前記文字行の行内矩形の配置情報に基づいて前記打ち切り条件を満たすか否かを判断することを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記判断ステップは、前記文字行の文字情報に基づいて前記打ち切り条件を満たすか否かを判断することを特徴とする請求項１３に記載の画像処理方法。
【請求項１６】
前記画像処理ステップは、前記配置情報である文字方向を取り出し、
前記判断ステップは、前記文字方向を取り出した前記文字行の行数が閾値を上回った場合、前記打ち切り条件を満たしていると判断することを特徴とする請求項１４に記載の画像処理方法。
【請求項１７】
前記画像処理ステップは、前記文字情報である文字列を取り出し、
前記判断ステップは、取り出した前記文字列と予め設定したキーワードとが一致した場合、前記打ち切り条件を満たしている判断することを特徴とする請求項１５に記載の画像処理方法。
【請求項１８】
前記画像処理ステップは、前記配置情報である前記行内矩形の数を取り出し、
前記判断ステップは、所定の範囲の前記行内矩形の数が所定の閾値を上回った場合、前記打ち切り条件を満たしていると判断することを特徴とする請求項１４に記載の画像処理方法。
【請求項１９】
コンピュータに、請求項１０乃至１８に記載の画像処理方法を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された文書画像に対して処理を行う画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
文書画像（原稿画像）に対して行切り出し処理を行って行矩形を求め、この行矩形に対して何らかの処理を実施する従来技術例として、以下のものがある。
少ない情報記憶並びに少ない演算量で迅速に文字方向を識別することができる「文字方向識別装置、文書処理装置及びプログラム並びに記録媒体」がある（例えば、特許文献１参照）。
原稿中に使用される多国語言語間で所定の言語と他の言語との識別を高速で行う「言語識別装置、プログラム及び記憶媒体」がある（例えば、特許文献２参照）。
文書タイトル候補の抽出精度が高く、処理速度が速い「文書画像のタイトル抽出方法、抽出プログラム、及びタイトル抽出装置」がある（例えば、特許文献３参照）。
【０００３】
【特許文献１】特開２００６−０３１５４６号公報
【特許文献２】特開２００５−０６３４１９号公報
【特許文献３】特開２００３−０５８５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１，２については、画像全面に対して処理を実施することから、多くの処理時間を要してしまう。
上記特許文献３は、文書画像から部分領域を抽出し、その部分領域に対して文字認識を行う旨の記載があるが、特許文献３の発明を文字認識一般に当てはめたとしても、抽出した領域全てに対して文字認識を行うこととなり、文書画像全体に対して文字認識を行うのと同じ程度処理時間を要してしまう。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、処理を打ち切ることにより、更なる処理速度の向上を図る画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、処理対象の入力画像に対して所定の領域毎に画像処理を施す画像処理手段と、前記入力画像の前記領域に対して画像処理が施される度に、当該領域に対する画像処理結果が画像処理の打ち切り条件を満たすか否かを判断する判断手段と、前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止する中止手段と、画像処理を施した前記領域の前記画像処理結果を前記入力画像の画像処理結果として出力する出力手段と、を備えたことを特徴とする。
【０００７】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記中止手段は、複数の前記領域の前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止することを特徴とする。
【０００８】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記中止手段は、連続して画像処理した前記領域の前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止することを特徴とする。
【０００９】
また、請求項４にかかる発明は、請求項１乃至３にかかる発明において、前記入力画像は、文書画像であり、前記所定の領域は、文字行であり、前記判断手段は、前記文書画像の前記文字行に対する前記画像処理結果が前記打ち切り条件を満たすか否かを判断することを特徴とする。
【００１０】
また、請求項５にかかる発明は、請求項４にかかる発明において、前記判断手段は、前記文字行の行内矩形の配置情報に基づいて前記打ち切り条件を満たすか否かを判断することを特徴とする。
【００１１】
また、請求項６にかかる発明は、請求項４にかかる発明において、前記判断手段は、前記文字行の文字情報に基づいて前記打ち切り条件を満たすか否かを判断することを特徴とする。
【００１２】
また、請求項７にかかる発明は、請求項５にかかる発明において、前記画像処理手段は、前記配置情報である文字方向を取り出し、前記判断手段は、前記文字方向を取り出した前記文字行の行数が閾値を上回った場合、前記打ち切り条件を満たしていると判断することを特徴とする。
【００１３】
また、請求項８にかかる発明は、請求項６にかかる発明において、前記画像処理手段は、前記文字情報である文字列を取り出し、前記判断手段は、取り出した前記文字列と予め設定したキーワードとが一致した場合、前記打ち切り条件を満たしている判断することを特徴とする。
【００１４】
また、請求項９にかかる発明は、請求項５にかかる発明において、前記画像処理手段は、前記配置情報である前記行内矩形の数を取り出し、前記判断手段は、所定の範囲の前記行内矩形の数が所定の閾値を上回った場合、前記打ち切り条件を満たしていると判断することを特徴とする。
【００１５】
また、請求項１０にかかる発明は、処理対象の入力画像に対して所定の領域毎に画像処理を施す画像処理ステップと、前記入力画像の前記領域に対して画像処理が施される度に、当該領域に対する画像処理結果が画像処理の打ち切り条件を満たすか否かを判断する判断ステップと、前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止する中止ステップと、画像処理を施した前記領域の前記画像処理結果を前記入力画像の画像処理結果として出力する出力ステップと、を有することを特徴とする。
【００１６】
また、請求項１１にかかる発明は、請求項１０にかかる発明において、前記中止ステップは、複数の前記領域の前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止することを特徴とする。
【００１７】
また、請求項１２にかかる発明は、請求項１１にかかる発明において、前記中止ステップは、連続して画像処理した前記領域の前記画像処理結果が前記打ち切り条件を満たした場合、未処理の領域に対する画像処理を中止することを特徴とする。
【００１８】
また、請求項１３にかかる発明は、請求項１０乃至１２にかかる発明において、前記入力画像は、文書画像であり、前記所定の領域は、文字行であり、前記判断ステップは、前記文書画像の前記文字行に対する前記画像処理結果が前記打ち切り条件を満たすか否かを判断することを特徴とする。
【００１９】
また、請求項１４にかかる発明は、請求項１３にかかる発明において、前記判断ステップは、前記文字行の行内矩形の配置情報に基づいて前記打ち切り条件を満たすか否かを判断することを特徴とする。
【００２０】
また、請求項１５にかかる発明は、請求項１３にかかる発明において、前記判断ステップは、前記文字行の文字情報に基づいて前記打ち切り条件を満たすか否かを判断することを特徴とする。
【００２１】
また、請求項１６にかかる発明は、請求項１４にかかる発明において、前記画像処理ステップは、前記配置情報である文字方向を取り出し、前記判断ステップは、前記文字方向を取り出した前記文字行の行数が閾値を上回った場合、前記打ち切り条件を満たしていると判断することを特徴とする。
【００２２】
また、請求項１７にかかる発明は、請求項１５にかかる発明において、前記画像処理ステップは、前記文字情報である文字列を取り出し、前記判断ステップは、取り出した前記文字列と予め設定したキーワードとが一致した場合、前記打ち切り条件を満たしている判断することを特徴とする。
【００２３】
また、請求項１８にかかる発明は、請求項１４にかかる発明において、前記画像処理ステップは、前記配置情報である前記行内矩形の数を取り出し、前記判断ステップは、所定の範囲の前記行内矩形の数が所定の閾値を上回った場合、前記打ち切り条件を満たしていると判断することを特徴とする。
【００２４】
また、請求項１９にかかる発明は、コンピュータに、請求項１０乃至１８に記載の画像処理方法を実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、処理を打ち切ることにより、更なる処理速度の向上を図ることが可能となる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
【００２７】
本実施形態である画像処理装置は、原稿画像（文書画像）中の行データを用いて、光学文字認識（Optical Character Recognition）や文字方向判定などの何らかの処理を行う場合に、原稿画像全面にわたる処理を効率良く実施することによって、過剰な計算資源を要求することなく、かつ、高速に処理することが可能である。
【００２８】
図１は、本実施形態に係る画像処理装置のハードウェア構成図であり、図中、１００は本実施形態の画像処理装置、１は装置全体を制御するＣＰＵ、２はＣＰＵ１を起動するためのプログラムが記憶されるＲＯＭ、３は不図示のスキャナにより読み取られた原稿画像又はパソコンで作成された原稿画像又は通信回線を通して送信された原稿画像を記憶するハードディスク形のメモリ、４は画像処理をするためにハードディスクメモリ３に記憶された原稿画像等を一時的に読み出して展開するＲＡＭ、５は基準となる言語毎の訓練用データについて求めた配置情報のトリグラム表を記憶する不揮発性メモリ（ＮＶＲＡＭ）、６はオペレータが各種入力を行うキーボード、７は入力状況等を表示する表示装置、８はＣＤ−ＲＯＭ等に記憶された本発明を実行するためのプログラム等を入力するドライバ、９はインターネット、ＬＡＮ（Local Area Network）等の電気通信回線を介して原稿画像を送受信する通信装置である。
【００２９】
次に、画像処理装置１００のＲＯＭ２にインストールされている各種のプログラムがＣＰＵ１に実行させる機能のうち、本実施形態の画像処理装置１００が備える特長的な機能について説明する。
図２は、本実施形態に係る画像処理装置のソフトウェア構成図である。図２に示すように、本実施形態の画像処理装置は、ＲＯＭ２にインストールされているプログラムに従ってＣＰＵ１が動作することにより、画像入力手段１０、領域分割手段２０、処理手段３０を有する。図２に示すように、領域分割手段２０は、部分処理範囲設定部２１、矩形抽出部２２、行切り出し部２３を備え、処理手段３０は、ＯＣＲ（光学文字認識）部３１、文字方向判定部３２、制御部３３を備える。
【００３０】
画像入力手段１０は、不図示のスキャナにより読み取られた原稿画像又はパソコンで作成された原稿画像又は通信回線を通して送信された原稿画像を、必要に応じ図１のハードディスクメモリ３に格納する。原稿画像は、画像入力手段１０から直接又は図１のハードディスクメモリ３から読み出されて領域分割手段２０に入力される。
【００３１】
領域分割手段２０は、入力された原稿画像を複数の領域に分割する。そして、処理手段３０は、分割された領域に対して所定の処理（ＯＣＲ部３１による光学文字認識、文字方向判定部３２による文字方向判定）を行う。
【００３２】
ここで、領域分割手段２０の各機能について説明する。
まず、領域分割手段２０は、部分処理範囲設定部２１により、入力された原稿画像を複数の領域に分割し、これら分割された領域を部分的な範囲（以下、部分処理範囲という）として設定する。
【００３３】
部分処理範囲設定部２１による部分処理範囲の設定方法としては、原稿の幅を等分割する場合や、固定幅で処理する場合などが考えられる。例えば、原稿画像が、始点（Xs,Ys）および終点（Xe,Ye）で指定される矩形サイズであるならば、原稿の縦方向の辺の長さHは、
H=Ye-Ys
原稿の横方向の辺の長さWは、
W=Xe-Xs
と求められる。
【００３４】
原稿の幅を等分割する場合には、垂直方向に部分処理範囲をずらす際に、Hを予め設定された値Nbvで割ればよく、
分割幅の長さPWv＝H/Nbv
同様に、水平方向に部分処理範囲をずらす際に、Wを予め設定された値Nbhで割ればよく、
分割幅の長さPWh＝W/Nbh
と求められる。
【００３５】
なお、分割数NbvおよびNbhは実施時の調整事項であり、その決定方法は任意の方法でよい。
また、固定幅で処理する場合には、PWvおよびPWhが、それぞれ固定値に設定される。この固定幅についても、実施時の調整事項であり、その決定方法は任意の方法でよい。
【００３６】
領域分割手段２０は、矩形抽出部２２により、入力された原稿画像の黒連結成分に外接した矩形を抽出し、行切り出し部２３により、行切り出し処理を行う。
【００３７】
ここで、行切り出し部２３で行われる行切り出し処理について説明する。
図３（ａ）は、原稿の例を示す図である。図３（ｂ）は、矩形抽出の例を示す図である。図３（ｃ）は、行切り出しの例を示す図である。まず、図３（ａ）に示す原稿画像における黒画素の外接矩形を矩形抽出部２２により抽出すると、図３（ｂ）に示すようになる。そして、抽出した外接矩形を、行切り出し部２３により、近隣の外接矩形と連結していき、行に成長させると、図３（ｃ）に示すようになる。具体的には、行切り出し部２３は、抽出した外接矩形を、垂直方向または水平方向の予め設定された画素数以内に位置する外接矩形と連結して行に成長させるものとする。
【００３８】
次に、本実施形態の画像処理装置の基本動作（画像処理方法）について説明する。
図４（ａ）は、文書全体のレイアウト例を示す図である。図４（ｂ）は、部分処理範囲に分けて処理する例を示す図である。本実施形態の画像処理装置１００は、領域分割手段２０において、上述した矩形抽出及び行切り出し処理を実施するにあたり、原稿全面を一度に処理するのではなく、図４（ｂ）のように、部分処理範囲設定部２１により予め設定された部分処理範囲（図中の破線部分）に対して、矩形抽出部２２による矩形抽出と、行切り出し部２３により行切り出し処理とを行う。なお、本実施の形態においては、部分処理範囲ごとに、矩形抽出処理、行切り出し処理および処理手段３０による処理を行うが、これに限定するものではない。例えば、原稿全面に対して一度に、矩形抽出処理、行切り出し処理、および処理手段３０による処理を施しても良い。
【００３９】
そして、処理手段３０において、行切り出し部２３で切り出された行毎に所定の処理（ＯＣＲ部３１による光学文字認識、文字方向判定部３２による文字方向判定）を実行し、制御部３３による判断を経て、その処理結果を記憶し、部分処理範囲内に未処理の行が残っている場合は、未処理の行に対して所定の処理および制御部３３による判断を繰り返し、部分処理範囲内に未処理の行がない場合は、次の部分処理範囲に対して、上記動作を繰り返す。なお、本実施の形態では、行切り出し部２３で切り出された行毎に所定の処理を施しているが、これに限定するものではない。例えば、所定の領域毎に所定の処理を施しても良い。ここで、所定の領域とは、ＯＣＲまたは文字（行）方向判定等が可能な最小単位以上の大きさであれば良い。
【００４０】
このように、部分処理範囲は狭いので、その中に含まれる矩形数も行数も、文書全面と比べて少ないことは明らかであり、ゆえに予め確保しておくべき矩形情報格納領域や行情報格納領域が少なくて済み、好都合である。
【００４１】
また、部分処理範囲ごとに行切り出しした結果に対して、所定の処理（ＯＣＲ、文字（行）方向判定など）を行い、その結果だけを原稿全面にわたって蓄積していけば、矩形情報格納領域や行情報格納領域を繰り返し再利用することができる。
【００４２】
以上説明したように、本実施形態の画像処理装置の基本動作では、行切り出し結果を元に所定の処理を行う場合に、部分処理範囲（領域）「に分割してから処理することによって、最大処理量を考慮して多大な計算資源を準備することなく、原稿全体を処理できるとともに、部分処理範囲単位に処理結果の小計を求めることによって、途中結果を分析することが可能になり、早期終了を判断できる。よって、使用者は、少ない計算資源でありながら、所望の結果を早期に得られることから、使用感を著しく改善することが可能となる。
また、制御部３３は、行切り出し部２３によって切り出された行に対して所定の処理が施される度に、切り出された行に対する処理結果がＯＣＲ部３１または文字方向判定部３２による処理の打ち切り条件を満たすか否かを判断する（本発明にかかる判断手段）。なお、本実施の形態では、行に対する処理が行われる度に、処理結果が打ち切り条件を満たすか否かを判断しているが、これに限定するものではない。例えば、所定の領域に対して処理が施される度に、当該領域に対する処理結果が打ち切り条件を満たしているか判断してもよい。
ここで、打ち切り条件には、ＯＣＲ部３１または文字方向判定部３２による処理の途中に「所望の結果が得られた場合」および「処理を行う対象として原稿が不適な画像である場合」がある。例えば、「所望の結果が得られた場合」としては、「光学文字認識の結果である文字列（文字情報）が、予め設定したキーワードと一致した場合」や「文字方向（行内矩形の配置情報）を判定できた行数が、文字方向を予め設定された信頼度をもって判定できる行数の閾値を上回った場合」等である。これにより、原稿全面に対して処理を施さずに、ＯＣＲ部３１または文字方向判定部３２による処理を途中で打ち切ることができるので、処理に要する時間を短縮することができる。
また、「処理を行う対象として原稿が不適な画像である場合」としては、「部分処理範囲（所定の範囲）における行内矩形の数が当該部分処理範囲内に存在可能な行内矩形の数の所定の閾値を超えた場合」等である。これにより、行内矩形の数が所定の閾値を超えた場合には、原稿が文書でないと判断し、ＯＣＲ部３１または文字方向判定部３２による処理を途中で打ち切ることができるので、無駄な処理が行われることを避けることができる。
そして、制御部３３は、処理結果が打ち切り条件を満たした場合、部分処理範囲内の未処理の行に対する処理を中止し（本発明にかかる中止手段）、処理を施した行の処理結果を当該部分処理範囲の処理結果として出力する（本発明にかかる出力手段）。さらに、制御部３３は、ＯＣＲ部３１または文字方向判定部３２に対して次の部分処理範囲内に対する処理への移行を指示する。
【００４３】
以上説明した本実施形態の画像処理装置の基本動作を踏まえ、以下に本実施形態の画像処理装置の動作（画像処理方法）の各実施例について説明する。なお、本実施形態の画像処理装置の動作は「行に対する処理を打ち切ること」を特徴とするが、「一の部分処理範囲に対する処理を途中で打ち切り、次の部分処理範囲に移行する」場合と、「一の部分処理範囲に対する処理を途中で打ち切った後、次の部分処理範囲に移行せずに全体の動作を終了する」場合とがある。
【実施例１】
【００４４】
実施例１の動作について、図６のフローチャートを参照して説明する。図６は、本実施例に係る動作を示すフローチャートである。なお、本実施例１は、「一の部分処理範囲に対する処理を途中で打ち切り、次の部分処理範囲に移行する」場合である。
【００４５】
原稿画像は、画像入力手段１０から直接、又は、予め画像入力手段１０により格納されていたハードディスクメモリ３から読み出されて、領域分割手段２０に入力される（ステップＳ１）。
【００４６】
領域分割手段２０は、部分処理範囲設定部２１により、部分処理範囲の設定を行う。すなわち、入力された原稿画像を複数の領域に分割し、分割した領域を部分処理範囲として一時的に記憶する（ステップＳ２）。また、この時、複数の部分処理範囲のそれぞれに対し、番号付けが行われ、最初は、１番目の部分処理範囲から開始される（ステップＳ３，４）。
【００４７】
まず、１番目の部分処理範囲（領域）に対して、矩形抽出（ステップＳ６）、行切り出し（ステップＳ７）が行われるが、その前に、領域分割手段２０は、部分処理範囲設定部２１により、原稿全面（設定された全ての部分処理範囲）に対して処理が終了したか否かを判断する（ステップＳ５）。複数の部分処理範囲が設定された場合、１番目の部分処理範囲は、原稿全面（設定された全ての部分処理範囲）に対して処理が終了していない（未処理の部分処理範囲がある）と判断され（ステップＳ５／ＮＯ）、次のステップＳ６に進む。
【００４８】
領域分割手段２０は、１番目の部分処理範囲（領域）に対して、矩形抽出部２２により矩形抽出処理を行う（ステップＳ６）。すなわち、画素連結に外接する矩形を求め、座標を記録する。その後、領域分割手段２０は、１番目の部分処理範囲（領域）に対して、行切り出し部２３により行切り出し処理を行う（ステップＳ７）。すなわち、近隣の矩形同士を統合して、行に成長させていき、行の座標を記録する。
【００４９】
処理手段３０は、上記切り出し処理によって切り出された行に対して、所定の処理（ＯＣＲ部３１による光学文字認識、文字方向判定部３２による文字方向判定など）を実施する（ステップＳ８）。
【００５０】
処理手段３０は、制御部３３により、１番目の部分処理範囲（領域）内の全ての行に対して、所定の処理が終了したか否かを判断する（ステップＳ９）。
【００５１】
処理手段３０は、制御部３３により、１番目の部分処理範囲（領域）内の全ての行に対して、所定の処理が終了したと判断した場合（ステップＳ９／ＹＥＳ）、実施した所定の処理の結果をハードディスク３などの記憶手段に蓄積する（ステップＳ１１）。そして、２番目の部分処理範囲（領域）を対象とし（ステップＳ１２）、上記同様にステップＳ４から動作を行う。
【００５２】
ステップＳ９において、処理手段３０は、制御部３３により、１番目の部分処理範囲（領域）内の全ての行に対して、所定の処理が終了していないと判断した場合（ステップＳ９／ＮＯ）、実施中の所定の処理を打ち切るための条件（以下、打ち切り条件という）を満たすか否かを判断する（ステップＳ１０）。
【００５３】
ここで、打ち切り条件としては、「処理の実施途中で所望の結果を得られた場合」が考えられる。その例としては、「光学文字認識の結果が、予め設定されたキーワードと一致した場合」や、「文字方向判定を行った行数が、予め設定された閾値を超えた場合」が挙げられる。
【００５４】
ここで、文字方向判定部３２による文字方向判定の詳細に説明する。
文字行の切出しが行われると、文字方向判定部（ＣＰＵ１）３２は、スキュー行であったり、行内矩形が小さなものばかりで構成されているときの対策のため、行内矩形の高さを集計し、その最大高さにより行高さを推定する。このために、それぞれの行内矩形高さｈを所定倍し、実際の行高さＨと比較する。算出式で示せば、各行内矩形について、行内矩形高さｈ×Ａ（例えば、1.2） > 実際の行高さＨか否かをチェックし、行内矩形高さの最大高さｈsを1.2倍した値が実際の行高さＨより大であるとき、行内矩形高さの最大高さｈsを行高さＨとみなす。続いて、文字行のベースラインを決める。このために、行内矩形の終点高さYeの回帰直線を求める。このとき、終点高さYeの位置は、文字行の半分以下のものに限定する。求めた回帰直線を文字行のベースラインとする。そして、行内矩形の始点Ysにより行内矩形を整列する。整列した行内矩形の配置情報を量子化し行内矩形をシンボル系列に変換する。シンボル系列から可能性のある文字方向別に出現確率を算出する。
【００５５】
ステップＳ１０において、処理手段３０は、制御部３３により、打ち切り条件を満たしていないと判断した場合（ステップＳ１０／ＮＯ）、ステップＳ８に戻り、１番目の部分処理範囲（領域）内の未処理の行に対して、所定の処理を継続する。
【００５６】
ステップＳ１０において、処理手段３０は、制御部３３により、打ち切り条件を満たしたと判断した場合（ステップＳ１０／ＹＥＳ）、実施中の所定の処理を打ち切り、ステップＳ１１に進み、途中まで実施した所定の処理の結果をハードディスク３などの記憶手段に蓄積する。そして、２番目の部分処理範囲（領域）対象とし（ステップＳ１２）、上記同様にステップＳ４から動作を行う。すなわち、打ち切り条件を満たしたと判断された場合は、一の部分処理範囲で実施中の処理を打ち切り、次の部分処理範囲に処理対象を移行する。
【００５７】
ステップＳ５において、原稿全面（設定された全ての部分処理範囲）に対して処理が終了した（未処理の部分処理範囲がない）と判断された場合（ステップＳ５／ＹＥＳ）、全体の動作を終了する。
【実施例２】
【００５８】
実施例２の動作について、図７のフローチャートを参照して説明する。図７は、本実施例に係る動作を示すフローチャートである。なお、本実施例２は、「一の部分処理範囲に対する処理を途中で打ち切った後、次の部分処理範囲に移行せずに全体の動作を終了する」場合である。
【００５９】
上記実施例１で説明した図６におけるステップＳ１〜Ｓ１２と同様に、本実施例２では、図７に示すように、ステップＳ２１〜Ｓ３２を行う（図７の各ステップは図６の各ステップと同様であるので説明を省略する）。上記実施例１との違いは、ステップＳ３０において、処理手段３０は、制御部３３により、打ち切り条件を満たしたと判断した場合（ステップＳ３０／ＹＥＳ）、実施中の所定の処理を打ち切り、次の部分処理範囲に移行せずに全体の動作を終了する。
【実施例３】
【００６０】
図３（ｂ）に示すような矩形抽出結果において、外接矩形の成長を、垂直方向に試みれば垂直行が切り出される。
【００６１】
そこで、本実施例では、図８に示すように、行方向が水平な場合と垂直な場合との２通りを仮定して所定の処理を行うことによって、縦書き行と横書き行とが混在する文書に対しても、部分処理範囲単位の行切り出しが可能である。図８は、原稿全面を行方向別に走査する例を示す図である。
【００６２】
本実施例の動作について、図９のフローチャートを参照して説明する。図９は、本実施例に係る動作を示すフローチャートである。なお、本実施例は、「行方向が水平な場合と垂直な場合との２通りを仮定して処理を行う」場合に、「一の部分処理範囲に対する処理を途中で打ち切り、次の部分処理範囲に移行する」場合である。
【００６３】
原稿画像は、画像入力手段１０から直接、又は、予め画像入力手段１０により格納されていたハードディスクメモリ３から読み出されて、領域分割手段２０に入力される（ステップＳ４１）。
【００６４】
領域分割手段２０は、不図示の行方向設定部により、処理する行方向を水平に設定する（ステップＳ４２）。
【００６５】
領域分割手段２０は、部分処理範囲設定部２１により、設定された行方向（水平方向）にしたがって部分処理範囲の設定を行う。すなわち、設定された行方向に従って、入力された原稿画像を複数の領域に分割し、分割した領域を部分処理範囲として一時的に記憶する（ステップＳ４３）。また、この時、複数の部分処理範囲のそれぞれに対し、番号付けが行われ、最初は、１番目の部分処理範囲から開始される（ステップＳ４４，４５）。
【００６６】
まず、１番目の部分処理範囲（領域）に対して、矩形抽出（ステップＳ４７）、行切り出し（ステップＳ４８）が行われるが、その前に、領域分割手段２０は、部分処理範囲設定部２１により、原稿全面（設定された全ての部分処理範囲）に対して処理が終了したか否かを判断する（ステップＳ４６）。複数の部分処理範囲が設定された場合、１番目の部分処理範囲は、原稿全面（設定された全ての部分処理範囲）に対して処理が終了していない（未処理の部分処理範囲がある）と判断され（ステップＳ４６／ＮＯ）、次のステップＳ４７に進む。
【００６７】
領域分割手段２０は、１番目の部分処理範囲（領域）に対して、矩形抽出部２２により矩形抽出処理を行う（ステップＳ４７）。すなわち、画素連結に外接する矩形を求め、座標を記録する。その後、領域分割手段２０は、１番目の部分処理範囲（領域）に対して、行切り出し部２３により行切り出し処理を行う（ステップＳ４８）。すなわち、近隣の矩形同士を統合して、行に成長させていき、行の座標を記録する。
【００６８】
処理手段３０は、上記切り出し処理によって切り出された行に対して、所定の処理（ＯＣＲ部３１による光学文字認識、文字方向判定部３２による文字方向判定など）を実施する（ステップＳ４９）。
【００６９】
処理手段３０は、制御部３３により、１番目の部分処理範囲（領域）内の全ての行に対して、所定の処理が終了したか否かを判断する（ステップＳ５０）。
【００７０】
処理手段３０は、制御部３３により、１番目の部分処理範囲（領域）内の全ての行に対して、所定の処理が終了したと判断した場合（ステップＳ５０／ＹＥＳ）、実施した所定の処理の結果をハードディスク３などの記憶手段に蓄積する（ステップＳ５２）。そして、２番目の部分処理範囲（領域）を対象とし（ステップＳ５３）、上記同様にステップＳ４５から動作を行う。
【００７１】
ステップＳ５０において、処理手段３０は、制御部３３により、１番目の部分処理範囲（領域）内の全ての行に対して、所定の処理が終了していないと判断した場合（ステップＳ５０／ＮＯ）、実施中の所定の処理を打ち切るための条件（以下、打ち切り条件という）を満たすか否かを判断する（ステップＳ５１）。
【００７２】
ここで、打ち切り条件としては、「処理の実施途中で所望の結果を得られた場合」が考えられる。その例としては、「光学文字認識の結果が、予め設定されたキーワードと一致した場合」や、「文字方向判定を行った行数が、予め設定された閾値を超えた場合」が挙げられる。
【００７３】
ステップＳ５１において、処理手段３０は、制御部３３により、打ち切り条件を満たしていないと判断した場合（ステップＳ５１／ＮＯ）、ステップＳ４９に戻り、１番目の部分処理範囲（領域）内の未処理の行に対して、所定の処理を継続する。
【００７４】
ステップＳ５１において、処理手段３０は、制御部３３により、打ち切り条件を満たしたと判断した場合（ステップＳ５１／ＹＥＳ）、実施中の所定の処理を打ち切り、ステップＳ５２に進み、途中まで実施した所定の処理の結果をハードディスク３などの記憶手段に蓄積する。そして、２番目の部分処理範囲（領域）対象とし（ステップＳ５３）、上記同様にステップＳ５４から動作を行う。すなわち、打ち切り条件を満たしたと判断された場合は、一の部分処理範囲で実施中の処理を打ち切り、次の部分処理範囲に処理対象を移行する。
【００７５】
ステップＳ４６において、原稿全面（設定された全ての部分処理範囲）に対して処理が終了した（未処理の部分処理範囲がない）と判断された場合（ステップＳ４６／ＹＥＳ）、領域分割手段２０は、不図示の行方向設定部により、処理する行方向を垂直に設定する（ステップＳ５４）。
【００７６】
領域分割手段２０は、部分処理範囲設定部２１により、設定された行方向（垂直方向）にしたがって部分処理範囲の設定を行う（ステップＳ５５）。その後、ステップＳ４４〜Ｓ５３と同様にステップＳ５６〜Ｓ６５を行う。
【００７７】
ステップＳ５８において、原稿全面（設定された全ての部分処理範囲）に対して処理が終了した（未処理の部分処理範囲がない）と判断された場合（ステップＳ５８／ＹＥＳ）、全体の動作を終了する。
【実施例４】
【００７８】
本実施例の動作について、図１０のフローチャートを参照して説明する。図１０は、本実施例に係る動作を示すフローチャートである。なお、本実施例は、「行方向が水平な場合と垂直な場合との２通りを仮定して処理を行う」場合に、「一の部分処理範囲に対する処理を途中で打ち切った後、次の部分処理範囲に移行しない」場合である。
【００７９】
上記実施例３で説明した図９におけるステップＳ４１〜Ｓ５３と同様に、本実施例では、図１０に示すように、ステップＳ７１〜Ｓ８３を行う（図１０の各ステップは図９の各ステップと同様であるので説明を省略する）。上記実施例３との違いは、処理方向を水平方向に設定した場合のステップＳ８１において、処理手段３０は、制御部３３により、打ち切り条件を満たしたと判断した場合（ステップＳ８１／ＹＥＳ）、実施中の所定の処理を打ち切り、次の部分処理範囲に移行せずに、不図示の行方向設定手段より、処理方向を垂直方向に設定し（ステップＳ８４）、図９におけるステップＳ５５〜Ｓ６５と同様に、ステップＳ８５〜Ｓ９５を行う（図１０の各ステップは図９の各ステップと同様であるので説明を省略する）。そして、処理方向を垂直方向に設定した場合のステップＳ９３において、処理手段３０は、制御部３３により、打ち切り条件を満たしたと判断した場合（ステップＳ９３／ＹＥＳ）、実施中の所定の処理を打ち切り、次の部分処理範囲に移行せずに、全体の動作を終了する。なお、ステップＳ８８において、原稿全面（設定された全ての部分処理範囲）に対して処理が終了した（未処理の部分処理範囲がない）と判断された場合（ステップＳ８８／ＹＥＳ）も、全体の動作を終了する。
【実施例５】
【００８０】
部分処理範囲における矩形数の上限は、通常使用される最小サイズの文字が部分処理範囲を埋め尽くした場合を基準に設定すれば十分である。しかし、点描画や地紋など文字でない画像の場合には、矩形数の上限を超えてしまう場合がある。
【００８１】
図５（ａ）は、カラー画像の例を示す図である。図５（ｂ）は、２値で中間調を表現した画像の例を示す図である。
図５（ｂ）は、細かな点の密度によって中間調を表現したものであるが、黒画素の数が非常に多く、これら黒画素の外接矩形も大量に生成され、矩形格納数の上限を超えてしまうおそれがある。このような場合は、部分処理範囲の全面にわたって矩形抽出が完了していない状態であり、正常な行切り出し結果が得られる可能性は低く、しかも、大量の矩形を処理するために計算量も多大となる。
【００８２】
そこで、本実施例の制御部３３は、上記実施例１〜４でそれぞれ説明した図６、図７、図９、図１０の各フローにおいて、「矩形抽出」の後、「行切り出し」の前に、「打ち切り条件を満たすか否かの判断処理」を行う。ここで判断される打ち切り条件としては、「所定の処理を行う対象として不適な原稿画像である場合」が考えられる。例えば、「部分処理範囲における矩形数が所定の閾値を超えた場合」が挙げられる。
【００８３】
そして、この打ち切り条件を満たした場合、すなわち「部分処理範囲における格納矩形数の上限を超えた場合」には、制御部３３は、当該部分処理範囲は文字画像ではないと判断し、行切り出し処理を試みることなく、次の部分処理範囲に移行する。つまり、文字行の切り出し結果が得られないと予想される場合には、処理を打ち切ることによって無駄な計算を避け、次の部分処理範囲に移動することによって、処理速度の観点からも、計算資源の観点からも効率的に行切り出しを行うことが可能になる。なお、打ち切り条件を満たさなかった場合、すなわち「部分処理範囲における格納矩形数の上限を超えない場合」には、「行切り出し」を行う。
【実施例６】
【００８４】
原稿全体にわたって均一に文字画像が存在していることは稀であるから、一つの行（または部分処理範囲）だけの処理結果に基づいて、処理の打ち切りを決定することは危険である。よって、本実施例の制御部３３は、ある行（または部分処理範囲）の処理結果が別の行（または部分処理範囲）の処理結果と一致したならば、その処理結果で確定するようにすれば、局所的な処理結果に基づいて原稿全体を誤って判断してしまう可能性を減じることができる。
【実施例７】
【００８５】
行（または部分処理範囲）単位の処理結果が一致すべき回数を増やすことによって、より原稿全体の傾向を検査することになり、結果の確実性（信頼性）が増すといえる。よって、使用者は、キーボード６を用い、自身の求める確実性の程度に基づいて、終了条件として、部分処理範囲単位の処理結果の一致回数を指定すれば、所望の確実性を保ちつつ、早期に処理結果を得ることが可能になり、都合がよい。なお、本実施例の制御部３３は、行（または部分処理範囲）の処理結果が、指定された回数一致したならば、その処理結果を確定するようにする。
【実施例８】
【００８６】
行（または部分処理範囲）単位の処理結果が一致する回数を指定する場合、同じ２回としても部分処理範囲の、
Ａ  最初の一回目に処理した行（または部分処理範囲）の処理結果と、その次の行（部分処理範囲）の処理結果が一致
Ｂ  最初の一回に処理した行（または部分処理範囲）の処理結果と、最後の一回に処理した行（または部分処理範囲）の処理結果とが一致
とでは、処理時間に大きな差が出てしまう。
【００８７】
よって、処理時間短縮を明確に指定したい場合、本実施例の制御部３３は、連続して処理を施した行（または部分処理範囲）の処理結果が一致するという条件に従って、他の行（または部分処理範囲）への所定の処理の要否を判断するのも効果的である。この条件であれば、連続一致回数だけを検査すればよく、連続一致の条件を満足した後の処理結果を待たず、処理を確定することができる。
なお、使用者が終了条件として、連続一致回数の指定をしても、所望の確実性を保ちつつ、早期に結果を得ることが可能になり、都合がよい。
【実施例９】
【００８８】
図５（ｂ）のような点描画やノイズにみなせる孤立点なども、画素連結であるから矩形抽出の対象となる。矩形抽出後は、矩形サイズによって画素連結の大きさが推定できる。解像度が大きくなればなるほど、孤立点の物理的なサイズが同じでも、画素数に換算すると大きくなる。たとえば、読み取り解像度２００dpiにて１ドットの孤立点は、読み取り解像度４００dpiにおいては２ドット四方の孤立点となる。本発明は文字行を効率よく抽出することを目的としているから、文字画像としては小さすぎる孤立点は処理対象とする必要はない。よって、無条件に無視する矩形サイズを解像度に応じて変化させる。
【００８９】
使用者が所望する対象文字のサイズの範囲（例：大きい文字しか対象にしないのなら無視する矩形サイズも大きくてもよい）に基づいて、無視する矩形サイズは予め設定可能であり、そのサイズを解像度に応じて比例的に増減すればよい。
矩形抽出処理の後、無視する矩形サイズ以下の矩形は処理対象から除く。
【００９０】
以上述べた各実施例の画像処理方法を実行させるために、上記処理手順を汎用のプログラム言語によりコンピュータプログラムとして記述し、かつ、このプログラムをフレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＭＯ等の任意の記録媒体に記録し、これを画像処理装置のコンピュータに読み取らせることで本発明に係る画像処理方法を容易に実施することができる。本プログラムは、図１１のインターネット、イントラネット等のネットワークを介して、画像処理装置２００，３００のコンピュータに直接読み取らせることも可能である。図１１は、本実施例に係る画像処理装置をネットワーク上に構成した例を示す図である。
【００９１】
以上、本発明の実施形態及び各実施例について説明したが、上記記載に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
【産業上の利用可能性】
【００９２】
本発明は、画像形成装置やスキャナ装置等の文書処理装置において有用であり、特に大きな記憶容量を備えていない画像処理装置（文書処理装置）に用いるのに適している。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
【図２】本発明の一実施形態に係る画像処理装置のソフトウェア構成を示すブロック図である。
【図３】（ａ）は原稿の例を示す図であり、（ｂ）は矩形抽出の例を示す図であり、（ｃ）は行切り出しの例を示す図である。
【図４】（ａ）は原稿全体のレイアウト例を示す図であり、（ｂ）は部分処理範囲に分けて処理する例を示す図である。
【図５】（ａ）はカラー画像の例を示す図であり、（ｂ）は２値で中間調を表現した画像の例を示す図である。
【図６】本発明の実施例１に係る動作を示すフローチャートである。
【図７】本発明の実施例２に係る動作を示すフローチャートである。
【図８】本発明の実施例３，４に係り、原稿全面を行方向別に走査する例を示す図である。
【図９】本発明の実施例３に係る動作を示すフローチャートである。
【図１０】本発明の実施例４に係る動作を示すフローチャートである。
【図１１】本発明の一実施形態に係る画像処理装置をネットワーク上に構成した例を示す図である。
【符号の説明】
【００９４】
１    ＣＰＵ
２    ＲＯＭ
３    ハードディスクメモリ
４    ＲＡＭ
５    ＮＶＲＡＭ
６    キーボード
７    表示装置
８    ＣＤ−ＲＯＭドライブ
９    通信装置
１０    画像入力手段
２０    領域分割手段
２１    部分処理範囲設定部
２２    矩形抽出部
２３    行切り出し部
３０    処理手段
３１    ＯＣＲ部
３２    文字方向判定部
３３    制御部
１００、２００、３００    画像処理装置
【図１】
2008257684.tif 000003
【図２】
2008257684.tif 000004
【図３】
2008257684.tif 000005
【図４】
2008257684.tif 000006
【図５】
2008257684.tif 000007
【図６】
2008257684.tif 000008
【図７】
2008257684.tif 000009
【図８】
2008257684.tif 000010
【図９】
2008257684.tif 000011
【図１０】
2008257684.tif 000012
【図１１】
2008257684.tif 000013