(57)【要約】【課題】画像情報から太文字を少ないメモリで精度高く検出する文字領域判定処理を行う画像処理装置を得ること。【解決手段】入力された画像情報から、注目する画素に対して、文字開始画素判定部１００が文字開始画素であるか否かを判定する。同様に、注目する画素に対して、文字終了画素判定部５００が文字終了画素であるか否かを判定する。その文字開始画素であるか、文字終了画素であるか、またはそのどちらでもないかという情報と、１つ前の注目された画素の判定結果により、文字領域判定部７００において、注目する画素が文字領域を構成するかを判定する。また、閾値制御部３００は、注目する画素の周辺に文字開始画素が存在するか否か、または直前に判定された文字終了画素の終了条件によって、文字開始画素の判定の閾値を変更する。【選択図】        図２
2005269183.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像情報の一画素ごとに、文字領域の開始を示す文字開始画素であるか否かを判定する文字開始画素判定手段と、
一画素ごとに、文字領域の終了を示す文字終了画素であるか否かを判定する文字終了画素判定手段と、
前記文字開始画素判定手段によって前記文字開始画素であると判定された後、または、前記文字終了画素判定手段によって前記文字終了画素であると判定された後、次に前記文字開始画素または前記文字終了画素と判定されるまで、一画素ごとに、文字領域であるか否かのデータを示す文字領域情報に、直前の画素に設定された前記文字領域情報のデータと同一のデータを設定するとともに、前記文字領域情報のデータに文字領域であることを示すデータが設定されている範囲を文字領域と判定する文字領域判定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
一画素の近傍に存在する前記文字開始画素の画素数を計測する文字開始画素計数手段と、
前記文字開始画素計数手段で計測された画素数から、前記文字開始画素判定手段で用いる閾値を決定する第１閾値決定手段と、
をさらに備え、
前記文字開始画素判定手段は、さらに前記第１閾値決定手段により決定された前記閾値を設定すること、
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
直前に検出された前記文字終了画素が、前記文字終了画素判定手段において前記文字終了画素であると判定された条件を検索する前文字終了条件判定手段と、
前記前文字終了条件判定手段で検索された前記条件から、前記文字開始画素判定手段で用いる閾値を決定する第２閾値決定手段と、
をさらに備え、
前記文字開始画素判定手段は、さらに前記第２閾値決定手段により決定された前記閾値を設定すること、
を特徴とする請求項１に記載の画像処理装置。
【請求項４】
入力された画像情報の一画素ごとに、文字領域の開始を示す文字開始画素であるか否かを判定する文字開始画素判定ステップと、
一画素ごとに、文字領域の終了を示す文字終了画素であるか否かを判定する文字終了画素判定ステップと、
前記文字開始画素判定ステップによって前記文字開始画素であると判定された後、または、前記文字終了画素判定ステップによって前記文字終了画素であると判定された後、次に前記文字開始画素または前記文字終了画素と判定されるまで、一画素ごとに、文字領域であるか否かのデータを示す文字領域情報に、直前の画素に設定された前記文字領域情報のデータと同一のデータを設定するとともに、前記文字領域情報のデータに文字領域であることを示すデータが設定されている範囲を文字領域と判定する文字領域判定ステップと、
を備えることを特徴とする画像処理方法。
【請求項５】
一画素の近傍に存在する前記文字開始画素の画素数を計測する文字開始画素計数ステップと、
前記文字開始画素計数ステップで計測された画素数から、前記文字開始画素判定ステップで用いる閾値を決定する第１閾値決定ステップと、
をさらに備え、
前記文字開始画素判定ステップは、さらに前記第１閾値決定ステップにより決定された前記閾値を設定すること
を特徴とする請求項４に記載の画像処理方法。
【請求項６】
直前に検出された前記文字終了画素が、前記文字終了画素判定ステップにおいて前記文字終了画素であると判定された条件を検索する前文字終了条件判定ステップと、
前記前文字終了条件判定ステップで検索された前記条件から、前記文字開始画素判定ステップで用いる閾値を決定する第２閾値決定ステップと、
をさらに備え、
前記文字開始画素判定ステップは、さらに前記第２閾値決定ステップにより決定された前記閾値を設定すること
を特徴とする請求項４に記載の画像処理方法。
【請求項７】
請求項４〜６のいずれかに記載された方法をコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像情報から文字領域を検出する画像処理装置、画像処理方法、およびその方法をコンピュータで実行させるプログラムに関するものである。
【背景技術】
【０００２】
従来、スキャナ等から入力された画像情報から、文字情報を検出する方法には、画像情報から、太文字領域と細文字領域とそれ以外の線画領域を検出し、それぞれ異なる処理を行う画像処理装置が考案されている。その発明において、太文字領域の検出は、検出したい太文字の幅に応じたｎ×ｎのマトリックスを用いて検出する方法が開示されている（例えば、特許文献１参照）。
【０００３】
また、他の技術においては、入力された画像情報を走査ラインごとに処理し、エッジの開始点と終了点の組を検出し、その開始点から終了点の間の閾値以下の濃度レベルの画素数をカウントすることにより、文字領域を判定する方法が開示されている。さらに、エッジの開始点と終了点の組が、文字領域と判断されたラインに連結している場合に判定基準を変更する方法が開示されている（例えば、特許文献２参照）。
【０００４】
【特許文献１】特開２００１−１５７０６０号公報
【特許文献２】特開２００１−５２１８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、検出したい太文字の幅に応じたｎ×ｎのマトリックス分のメモリが必要となり、太文字を少ないメモリで検出することが困難である。
【０００６】
また、特許文献２の技術においても、エッジの開始点と終了点の組を検出後、さらに、そのエッジ間の濃度レベルをカウントするためのメモリが必要となる。
【０００７】
また、特許文献２の技術では、文字領域を検出する条件を近傍のラインのエッジの開始点と終了点の間が文字領域であり、その領域に連結する場合にのみ、条件が変更されるものである。よって、近傍の画素条件に対応して文字領域を検出する条件を設定することができず、文字領域の検出漏れを減少させることができなかった。
【０００８】
本発明は、上記に鑑みてなされたものであって、より少ないメモリで太文字の文字領域を判定でき、また、文字領域の検出漏れを減少させることにより、文字領域を正確に検出できる画像処理装置、画像処理方法、およびその方法をコンピュータで実行させるプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、画像処理装置において、入力された画像情報の一画素ごとに、文字領域の開始を示す文字開始画素であるか否かを判定する文字開始画素判定手段と、一画素ごとに、文字領域の終了を示す文字終了画素であるか否かを判定する文字終了画素判定手段と、前記文字開始画素判定手段によって前記文字開始画素であると判定された後、または、前記文字終了画素判定手段によって前記文字終了画素であると判定された後、次に前記文字開始画素または前記文字終了画素と判定されるまで、一画素ごとに、文字領域であるか否かのデータを示す文字領域情報に、直前の画素に設定された前記文字領域情報のデータと同一のデータを設定するとともに、前記文字領域情報のデータに文字領域であることを示すデータが設定されている範囲を文字領域と判定する文字領域判定手段とを備えることを特徴とする。
【００１０】
また、請求項２にかかる発明は、請求項１に記載の画像処理装置において、一画素の近傍に存在する前記文字開始画素の画素数を計測する文字開始画素計数手段と、前記文字開始画素計数手段で計測された画素数から、前記文字開始画素判定手段で用いる閾値を決定する第１閾値決定手段とをさらに備え、前記文字開始画素判定手段は、さらに前記第１閾値決定手段により決定された前記閾値を設定することを特徴とする。
【００１１】
また、請求項３にかかる発明は、請求項１に記載の画像処理装置において、直前に検出された前記文字終了画素が、前記文字終了画素判定手段において前記文字終了画素であると判定された条件を検索する前文字終了条件判定手段と、前記前文字終了条件判定手段で検索された前記条件から、前記文字開始画素判定手段で用いる閾値を決定する第２閾値決定手段とをさらに備え、前記文字開始画素判定手段は、さらに前記第２閾値決定手段により決定された前記閾値を設定することを特徴とする。
【００１２】
また、請求項４にかかる発明は、画像処理方法において、入力された画像情報の一画素ごとに、文字領域の開始を示す文字開始画素であるか否かを判定する文字開始画素判定ステップと、一画素ごとに、文字領域の終了を示す文字終了画素であるか否かを判定する文字終了画素判定ステップと、前記文字開始画素判定ステップによって前記文字開始画素であると判定された後、または、前記文字終了画素判定ステップによって前記文字終了画素であると判定された後、次に前記文字開始画素または前記文字終了画素と判定されるまで、一画素ごとに、文字領域であるか否かのデータを示す文字領域情報に、直前の画素に設定された前記文字領域情報のデータと同一のデータを設定するとともに、前記文字領域情報のデータに文字領域であることを示すデータが設定されている範囲を文字領域と判定する文字領域判定ステップとを備えることを特徴とする。
【００１３】
また、請求項５にかかる発明は、請求項４に記載の画像処理方法において、一画素の近傍に存在する前記文字開始画素の画素数を計測する文字開始画素計数ステップと、前記文字開始画素計数ステップで計測された画素数から、前記文字開始画素判定ステップで用いる閾値を決定する第１閾値決定ステップとをさらに備え、前記文字開始画素判定ステップは、さらに前記第１閾値決定ステップにより決定された前記閾値を設定することを特徴とする。
【００１４】
また、請求項６にかかる発明は、請求項４に記載の画像処理方法において、直前に検出された前記文字終了画素が、前記文字終了画素判定ステップにおいて前記文字終了画素であると判定された条件を検索する前文字終了条件判定ステップと、前記前文字終了条件判定ステップで検索された前記条件から、前記文字開始画素判定ステップで用いる閾値を決定する第２閾値決定ステップとをさらに備え、前記文字開始画素判定ステップは、さらに前記第２閾値決定ステップにより決定された前記閾値を設定することを特徴とする。
【００１５】
また、請求項７にかかる発明は、画像処理プログラムにおいて、請求項４〜６のいずれかに記載された方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１６】
本発明（請求項１）にかかる画像処理装置は、文字開始画素判定手段によって、入力された画像情報の一画素ごとに、文字領域の開始を示す文字開始画素であるか否かを判定し、文字終了画素判定手段によって、一画素ごとに、文字領域の終了を示す文字終了画素であるか否かを判定し、文字領域判定手段によって、前記文字開始画素判定手段によって前記文字開始画素であると判定された後、または、前記文字終了画素判定手段によって前記文字終了画素であると判定された後、次に前記文字開始画素または前記文字終了画素と判定されるまで、一画素ごとに、文字領域であるか否かのデータを示す文字領域情報に、直前の画素に設定された前記文字領域情報のデータと同一のデータを設定するとともに、前記文字領域情報のデータに文字領域であることを示すデータが設定されている範囲を文字領域と判定することで、少ないメモリで太文字の文字領域を判定できるという効果を奏する。
【００１７】
また、本発明（請求項２）にかかる画像処理装置は、文字開始画素計数手段によって、一画素の近傍に存在する前記文字開始画素の画素数を計測し、第１閾値決定手段によって、前記文字開始画素計数手段で計測された画素数から、前記文字開始画素判定手段で用いる閾値を決定し、前記文字開始画素判定手段は、さらに前記第１閾値決定手段により決定された前記閾値を設定することで、文字領域の検出漏れを減少させることができるという効果を奏する。
【００１８】
また、本発明（請求項３）にかかる画像処理装置は、前文字終了条件判定手段によって、直前に検出された前記文字終了画素が、前記文字終了画素判定手段において前記文字終了画素であると判定された条件を検索し、第２閾値決定手段によって、前記前文字終了条件判定手段で検索された前記条件から、前記文字開始画素判定手段で用いる閾値を決定し、前記文字開始画素判定手段は、さらに前記第２閾値決定手段により決定された前記閾値を設定することで、文字領域の検出漏れを減少させることができるという効果を奏する。
【００１９】
また、本発明（請求項４）にかかる画像処理方法は、文字開始画素判定ステップによって、入力された画像情報の一画素ごとに、文字領域の開始を示す文字開始画素であるか否かを判定し、文字終了画素判定ステップによって、一画素ごとに、文字領域の終了を示す文字終了画素であるか否かを判定し、文字領域判定ステップによって、前記文字開始画素判定ステップによって前記文字開始画素であると判定された後、または、前記文字終了画素判定ステップによって前記文字終了画素であると判定された後、次に前記文字開始画素または前記文字終了画素と判定されるまで、一画素ごとに、文字領域であるか否かのデータを示す文字領域情報に、直前の画素に設定された前記文字領域情報のデータと同一のデータを設定するとともに、前記文字領域情報のデータに文字領域であることを示すデータが設定されている範囲を文字領域と判定することで、少ないメモリで太文字の文字領域を判定できるという効果を奏する。
【００２０】
また、本発明（請求項５）にかかる画像処理方法は、文字開始画素計数ステップによって、一画素の近傍に存在する前記文字開始画素の画素数を計測し、第１閾値決定ステップによって、前記文字開始画素計数ステップで計測された画素数から、前記文字開始画素判定ステップで用いる閾値を決定し、前記文字開始画素判定ステップは、さらに前記第１閾値決定ステップにより決定された前記閾値を設定することで、文字領域の検出漏れを減少させることができるという効果を奏する。
【００２１】
また、本発明（請求項６）にかかる画像処理方法は、前文字終了条件判定ステップによって、直前に検出された前記文字終了画素が、前記文字終了画素判定ステップにおいて前記文字終了画素であると判定された条件を検索し、第２閾値決定ステップによって、前記前文字終了条件判定ステップで検索された前記条件から、前記文字開始画素判定ステップで用いる閾値を決定し、前記文字開始画素判定ステップは、さらに前記第２閾値決定ステップにより決定された前記閾値を設定することで、文字領域の検出漏れを減少させることができるという効果を奏する。
【００２２】
また、本発明（請求項７）にかかる画像処理プログラムは、請求項４〜６のいずれかに記載された方法をコンピュータに実行させることで、少ないメモリで太文字の文字領域を判定できるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明にかかる画像処理装置の最良な実施の形態を詳細に説明する。
【００２４】
図１は、本発明の実施の形態にかかる画像処理装置の構成の一例を示すブロック図である。本実施の形態にかかる画像処理装置は、この画像処理装置１０は、スキャナ２０と、平滑フィルタ処理部３１と、符号化部３２と、復号化部３３と、画像処理部３４と、プリンタエンジンコントローラ３５と、プリンタエンジン３６と、メモリコントローラ４０と、メインメモリ５０とから構成される。
【００２５】
スキャナ２０は、所定の位置に置かれた原稿や、自動原稿送り装置等で搬送させる原稿を光学的に読み取り、読み取った原稿に対応する画像信号を生成する。当該スキャナ２０は、カラースキャナであり、読み取った画像に対応するＲＧＢ信号を生成する。スキャナは、カラースキャナの他、モノクロスキャナであってもよい。
【００２６】
平滑フィルタ処理部３１は、スキャナ２０から入力されるＲＧＢ信号を平滑化して、出力する。符号化部３２は、平滑フィルタ処理後の画像情報を符号化し、符号データにする。復号化部３３は、符号データをＲＧＢデータに復号化する。画像処理部３４は、ＲＧＢデータに対して、文字領域判定処理、色補正処理、ＣＭＹＫデータ変換処理等を行う。プリンタコントローラ３５は、画像情報をプリンタエンジン３６に転送する。プリンタエンジン３６は、画像情報を出力する。
【００２７】
メモリコントローラ４０は、メインメモリ５０に対するリード／ライトの制御、ＣＰＵ、符号化部３２、復号化部３３、メインメモリ５０等へのデータ転送を制御する。メインメモリ５０は、スキャナ２０が読み取った画像情報、ＣＰＵが実行するプログラム、各種データを格納する。
【００２８】
図２は、本発明の実施の形態にかかる画像処理部３４での文字領域判定処理の構成の一例を示すブロック図である。本実施の形態にかかる画像処理部の文字領域判定処理は、文字開始画素判定部１００、文字終了画素判定部５００、閾値制御部３００、文字領域判定部７００から構成される。
【００２９】
文字開始画素判定部１００は、エッジ量検出部１０１、立ち上がりエッジ検出部１０２、高濃度検出部１０３、無彩色検出部１０４、判定部（ＡＮＤ）１０５、閾値設定部１０６から構成される。
【００３０】
本発明の実施の形態においては、黒色の文字の領域をＲＧＢの総ての信号を用いて判定する処理について説明する。もちろん、Ｒ信号のみ、Ｇ信号のみ、Ｂ信号のみ、２信号の組み合わせで文字の領域を判定することも可能である。また、本実施の形態において、ＲＧＢ信号は、濃度論理の信号であるとする。すなわち、白画素がＲ＝Ｇ＝Ｂ＝０、黒画素がＲ＝Ｇ＝Ｂ＝２５５であるとする。
【００３１】
文字開始画素とは、走査方向に見て、背景画像から黒文字へ移行する変化点の画素である。文字開始画素を表す特徴として、エッジ量が大きいこと、立ち上がりエッジであること、注目している画素が十分高濃度であること、無彩色であることの４つが挙げられ、これら４つの特徴を総て満たす場合に、文字開始画素であると判定する。
【００３２】
図３は、エッジ量検出部１０１の構成の一例を示すブロック図である。本図により、エッジ量検出部１０１の処理を説明する。まず、ＲＧＢ信号がｍａｘ（Ｒ，Ｇ，Ｂ）１０１１に入力される。ｍａｘ（Ｒ，Ｇ，Ｂ）１０１１は、ＲＧＢ信号の最大値を求める。
【００３３】
つぎに、縦エッジ検出フィルタ１０１２ａは、求められた最大値に対して、縦方向のエッジ検出フィルタを用いて、エッジ量を検出する。縦方向エッジ検出フィルタは、図４−１に示すように、５×５サイズの１次微分フィルタであり、縦方向のエッジ成分を検出するマスクである。同様に、横エッジ検出フィルタ１０１２ｂ、右斜めエッジ検出フィルタ１０１２ｃ、左斜めエッジ検出フィルタ１０１２ｄは、図４−２、図４−３、図４−４に示す横エッジ検出フィルタ、右斜めエッジ検出フィルタ、左斜めエッジ検出フィルタを用いて、エッジ量を検出する。
【００３４】
絶対値化１０１３ａ〜ｄは、エッジ検出フィルタ１０１２ａ〜ｄで得られたエッジ量を絶対値化する。最大値１０１４は、絶対値化されたエッジ量のうち、最大値を検出する。それにより、もっとも大きなエッジ成分が抽出される。閾値処理１０１５は、設定されている閾値で２値化処理を行い、エッジ量が閾値を超えていれば、エッジ信号（ｅｄｇ）が出力される。
【００３５】
図５は、立ち上がりエッジ検出部１０２の構成の一例を示すブロック図である。本図により、立ち上がりエッジ検出部１０２の処理を説明する。まず、ＲＧＢ信号がｍａｘ（Ｒ，Ｇ，Ｂ）１０２１に入力される。ｍａｘ（Ｒ，Ｇ，Ｂ）１０２１は、ＲＧＢ信号の最大値を求める。
【００３６】
左右方向検出フィルタ１０２２ａは、求められた信号に対して、左右方向検出フィルタによりエッジ量を検出する。左右方向検出フィルタとは、図６−１に示すような３×３の１次微分フィルタであり、左右方向のエッジ成分を検出するフィルタである。同様に、上下方向検出フィルタ１０２２ｂは、求められた信号に対して、上下方向検出フィルタによりエッジ量を検出する。上下方向検出フィルタとは、図６−２に示すような３×３の１次微分フィルタであり、上下方向のエッジ成分を検出するフィルタである。
【００３７】
閾値処理１０２３ａ、ｂは、符号付きの閾値処理を行う。エッジ量が設定されている閾値ｔｈ（正の数）以上であれば＋１を、−ｔｈを超え＋ｔｈ未満であれば０を、−ｔｈ以下であれば−１を出力するような処理である。
【００３８】
負判定１０２４ａ、ｂは、得られた信号が負の数（−１）であるか判定し、負の数であれば、負信号が出力する。ＯＲ１０２５では、出力された信号のＯＲ処理を行い、いずれかが負信号を出力していれば、立ち上がりエッジであると判定し、立ち上がりエッジ信号（ｅｕｑ）を出力する。
【００３９】
図７は、高濃度検出部１０３の構成の一例を示すブロック図である。本図により、高濃度検出部１０３の処理を説明する。まず、ＲＧＢ信号がｍｉｎ（Ｒ，Ｇ，Ｂ）１０３１に入力される。ｍｉｎ（Ｒ，Ｇ，Ｂ）１０３１は、ＲＧＢ信号の最小値を求める。
【００４０】
閾値処理１０３２は、求められた最小量が設定されている高濃度閾値（ｔｈｄ）より大きいか否かを判定する。ｔｈｄよりも大きい場合は、高濃度信号（ｄｈｇ）を出力する。
【００４１】
図８は、無彩色検出部１０４の構成の一例を示すブロック図である。本図により、無彩色検出部１０４の処理を説明する。まず、ＲＧＢ信号がｍａｘ（Ｒ，Ｇ，Ｂ）１０４１、ｍｉｎ（Ｒ，Ｇ，Ｂ）１０４２に入力される。ｍａｘ（Ｒ，Ｇ，Ｂ）１０４１、ｍｉｎ（Ｒ，Ｇ，Ｂ）１０４２は、それぞれＲＧＢ信号の最大値、最小値を求める。
【００４２】
差分値１０４３は、最大値と最小値の差分を求める。さらに、絶対値化１０４４は、絶対値を取る。閾値処理１０４５は、求められた絶対値が設定されている無彩色閾値（ｔｈｍ）より小さければ、無彩色信号（ｍｏｎ）を出力する。
【００４３】
さらに、図２の判定部（ＡＮＤ）１０５はエッジ量検出部１０１、立ち上がりエッジ検出部１０２、高濃度検出部１０３、無彩色検出部１０４の総てから信号が出力されている場合には、文字開始画素であると判定する。
【００４４】
文字終了画素判定部５００は、低濃度検出部５０１、有彩色検出部５０２、エッジ量検出部５０３、立ち下がりエッジ検出部５０４、判定部（ＡＮＤ）５０５、判定部（ＯＲ）５０６から構成される。
【００４５】
文字終了画素とは、走査方向に見て、黒文字から背景画像へ移行する変化点の画素である。文字終了画素を表す特徴として、注目している画素が十分低濃度であること、有彩色であること、エッジ量が大きいこと、立ち下がりエッジであることの４つが挙げられる。エッジ量が大きいこと、立ち下がりエッジであることの両方の特徴を満たすか、または、注目している画素が十分低濃度であること、有彩色であることのいずれか場合に、文字終了画素であることを判定する。
【００４６】
図９は、低濃度検出部５０１の構成の一例を示すブロック図である。本図により、低濃度検出部５０１の処理を説明する。まず、ＲＧＢ信号がｍｉｎ（Ｒ，Ｇ，Ｂ）５０１１に入力される。ｍｉｎ（Ｒ，Ｇ，Ｂ）５０１１は、ＲＧＢ信号の最小値を求める。閾値処理５０１２は、設定されている閾値で２値化処理を行い、最小値が低濃度閾値（ｔｈｌ）より小さければ、低濃度信号（ｄｌｗ）が出力される。
【００４７】
図１０は、有色彩検出部５０２の構成の一例を示すブロック図である。本図により、有色彩検出部５０２の処理を説明する。まず、ＲＧＢ信号がｍａｘ（Ｒ，Ｇ，Ｂ）５０２１、ｍｉｎ（Ｒ，Ｇ，Ｂ）５０２２に入力される。ｍａｘ（Ｒ，Ｇ，Ｂ）５０２１、ｍｉｎ（Ｒ，Ｇ，Ｂ）５０２２は、それぞれＲＧＢ信号の最大値、最小値を求める。差分値５０２３は、最大値と最小値の差分を求める。さらに、絶対値化５０２４は、求めたれた差分の絶対値を取る。閾値処理５０２５は、求められた絶対値が設定されている有彩色閾値（ｔｈｙ）より大きければ、有彩色信号（ｃｏｌ）を出力する。
【００４８】
エッジ量検出部５０３は、上述のエッジ量検出部１０１と同様の処理をするので、上述の記載を参照する。
【００４９】
図１１は、立ち下がりエッジ検出部５０４の構成の一例を示すブロック図である。本図により、立ち下がりエッジ検出部５０４の処理を説明する。まず、ＲＧＢ信号がｍａｘ（Ｒ，Ｇ，Ｂ）５０４１に入力される。ｍａｘ（Ｒ，Ｇ，Ｂ）５０４１は、ＲＧＢ信号の最大値を求める。
【００５０】
左右方向検出フィルタ５０４２ａは、求められた信号に対して、左右方向検出フィルタによりエッジ量を検出する。左右方向検出フィルタとは、上述の図６−１に示すような３×３の１次微分フィルタであり、左右方向のエッジ成分を検出するフィルタである。同様に、上下方向検出フィルタ５０４２ｂは、求められた信号に対して、上下方向検出フィルタによりエッジ量を検出する。上下方向検出フィルタとは、上述の図６−２に示すような３×３の１次微分フィルタであり、上下方向のエッジ成分を検出するフィルタである。
【００５１】
閾値処理５０４３ａ、ｂは、符号付きの閾値処理を行う。エッジ量が設定されている閾値ｔｈ（正の数）以上であれば＋１を、−ｔｈを超え＋ｔｈ未満であれば０を、−ｔｈ以下であれば−１を出力するような処理である。
【００５２】
正判定５０４４ａ、ｂは、得られた信号が正の数（＋１）であるか判定し、正の数であれば、正信号が出力する。ＯＲ５０４５では、出力された信号のＯＲ処理を行い、いずれかが正信号を出力していれば、立ち下がりエッジであると判定し、立ち下がりエッジ信号（ｅｄｎ）を出力する。図２の判定部（ＡＮＤ）５０５は、エッジ信号（ｅｄｇ）と立ち下がりエッジ信号（ｅｄｎ）のいずれかが出力されていれば、立下りエッジ画素信号（ｐｄｎ）を出力する。
【００５３】
図２の判定部（ＯＲ）５０６は、低濃度信号（ｄｌｗ）、有彩色信号（ｃｏｌ）、立下りエッジ画素信号（ｐｄｎ）のうち、いずれか１の信号が出力されていれば、文字終了画素であると判定する。
【００５４】
次に、文字領域判定部７００が行う処理について図１２および図１３を用いて説明する。図１２は、文字領域判定部７００が行う処理の手順を示すフローチャートである。図１３−１は、各画素の画素種別の一例を示す図であり、図１３−２は、各画素の画素種別に対応した文字領域の判定結果の一例を示す図である。
【００５５】
まず、図１３−１の１１ａの画素の処理について、説明する。文字開始画素判定部１００は、１１ａの画素が文字開始画素であるか否かを判定する（ステップＳ７００１）。上述の通り、文字開始画素判定部１００では、注目している画素のエッジ量検出、立ち上がりエッジ検出、高濃度検出、無彩色検出を行い、その結果により文字開始画素であるか否かを判断する。
【００５６】
同様に、文字終了画素判定部５００で、１１ａの画素が文字終了画素であるか否かを判定する（ステップＳ７００２）。上述の通り、文字終了画素判定部５００では、注目している画素の低濃度検出、有彩色検出、エッジ量検出、立ち下がりエッジ検出を行い、その結果により文字終了画素であるか否かを判断する。
【００５７】
文字領域判定部７００において、１１ａの画素が文字開始画素か否かを判断する（ステップＳ７００３）。文字開始画素である場合には（ステップＳ７００３：Ｙｅｓ）、当該画素の文字領域情報に１を設定する（ステップＳ７００４）。図１３−１、図１３−２で説明すると、図１３−１の１１ａに対応する図１３−２の１１ｂに、文字領域である情報（文字領域情報＝１）を設定する。すなわち、１１ａは文字領域であると判定される。
【００５８】
さらに、履歴バッファに１を設定する（ステップＳ７００５）。この履歴バッファに値を設定しておくことにより、当該画素の次に走査される画素（図１３−１の１２ａ）に対して、先行する画素が文字領域であったという情報を保存することができる。
【００５９】
図１３−１の１２ａの画素の処理について、説明する。文字開始画素判定部１００および文字終了画素判定部５００において、注目している画素が文字開始画素か否か、文字終了画素であるか否かを判定する（ステップＳ７００１、Ｓ７００２）。
【００６０】
文字領域判定部７００において、文字開始画素か否かを判定する（ステップＳ７００３）。文字開始画素でない場合（ステップＳ７００３：Ｎｏ）、さらに文字終了画素か否かを判定する（ステップＳ７００６）。
【００６１】
文字終了画素でない場合は（ステップＳ７００６：Ｎｏ）、履歴バッファを検索する（ステップＳ７００９）。履歴バッファの値が１である場合（ステップＳ７０１０：Ｙｅｓ）、文字領域情報に１を設定する（ステップＳ７０１１）。図１３−１、図１３−２で説明すると、図１３−１の１２ａに対応する図１３−２の１２ｂに、文字領域である情報（文字領域情報＝１）を設定する。すなわち、１２ａは文字領域であると判定される。
【００６２】
これにより、注目画素が文字開始画素または文字終了画素と判定されなくても、直前の画素種別から、文字種別を判定することができる。これにより、文字線が太い文字であった場合でも、次に文字開始画素または文字終了画素を判定するまでの領域を文字領域として判定することができる。よって、文字開始画素から文字終了画素（または文字開始画素）の間が文字領域と判断されない（白く抜けてしまう）という不具合を回避することができる。
【００６３】
さらに、履歴バッファに１を設定する（ステップＳ７０１２）。この履歴バッファに値を設定しておくことにより、当該画素の次に走査される画素（図１３−１の１３ａ）に対して、先行する画素が文字領域であった情報を保存することができる。よって、履歴バッファのみで前画素の文字領域情報を持つことから、メモリの消費を少なくすることができる。
【００６４】
図１３−１の１３ａの画素の処理は、１２ａの画素の処理と同様であるため、上述の処理を参照し、省略する。その処理の結果により、図１３−１、図１３−２で説明すると、図１３−１の１３ａに対応する図１３−２の１３ｂに、文字領域である情報（文字領域情報＝１）を設定され、１３ａは文字領域であると判定される。また、履歴バッファには１が設定される。
【００６５】
図１３−１の１４ａの画素の処理について、説明する。文字開始画素判定部１００および文字終了画素判定部５００において、注目している画素が文字開始画素か否か、文字終了画素であるか否かを判定する（ステップＳ７００１、Ｓ７００２）。
【００６６】
文字領域判定部７００において、文字開始画素か否かを判定する（ステップＳ７００３）。文字開始画素でない場合は（ステップＳ７００３：Ｎｏ）、さらに文字終了画素か否かを判定する（ステップＳ７００６）。
【００６７】
文字終了画素である場合は（ステップＳ７００６：Ｙｅｓ）、文字領域情報に０を設定する（ステップＳ７００７）。図１３−１、図１３−２で説明すると、図１３−１の１４ａに対応する図１３−５の１４ｂに、文字領域でない情報（文字領域情報＝０）を設定する。すなわち、１４ａは文字領域でないと判定される。さらに、履歴バッファに０を設定する（ステップＳ７００８）。この履歴バッファに値を設定しておくことにより、当該画素の次に走査される画素（図１３−１の１５ａ）に対して、先行する画素が文字領域でなかったという情報を保存することができる。
【００６８】
図１３−１の１５ａの画素の処理について、説明する。文字開始画素判定部１００および文字終了画素判定部５００において、注目している画素が文字開始画素か否か、文字終了画素であるか否かを判定する（ステップＳ７００１、Ｓ７００２）。
【００６９】
文字領域判定部７００において、文字開始画素か否かを判定する（ステップＳ７００３）。文字開始画素でない場合（ステップＳ７００３：Ｎｏ）、さらに文字終了画素か否かを判定する（ステップＳ７００６）。
【００７０】
文字終了画素でない場合は（ステップＳ７００６：Ｎｏ）、履歴バッファを検索する（ステップＳ７００９）。履歴バッファの値が０である場合（ステップＳ７０１０：Ｎｏ）、文字領域情報に０を設定する（ステップＳ７０１３）。図１３−１、図１３−２で説明すると、図１３−１の１５ａに対応する図１３−５の１５ｂに、文字領域でない情報（文字領域情報＝０）を設定する。すなわち、１５ａは文字領域でないと判定される。
【００７１】
これにより、注目画素が文字開始画素または文字終了画素と判定されなくても、直前の画素種別から、文字種別を判定することができる。これにより、文字終了画素から文字開始画素（または文字終了画素）の間が文字領域であると判断される不具合を回避することができる。
【００７２】
さらに、履歴バッファに０を設定する（ステップＳ７０１４）。この履歴バッファに値を設定しておくことにより、当該画素の次に走査される画素に対して、先行する画素が文字部でなかった情報を保存することができる。よって、履歴バッファのみで前画素の文字領域情報を持つことから、メモリの消費を少なくすることができる。
【００７３】
次に、閾値制御部３００の文字開始画素計数部３０１、閾値決定部３０３が行う処理について図１４および図１５−１、図１５−２を用いて説明する。図１４は、閾値制御部３００および閾値判定部１０６が行う処理の手順を示すフローチャートである。図１５−１は、注目画素に対する計数対象画素（８画素）を一例として示す図であり、図１５−２は、注目画素に対する計数対象画素（４画素）を一例として示す図である。
【００７４】
閾値制御部３００の文字開始画素計数部３０１、閾値決定部３０３の処理は、文字開始画素が近傍に存在する場合は、文字開始画素が存在する可能性が高いという特徴に着目したものである。
【００７５】
文字開始画素計数部３０１は、注目画素の近傍に存在する文字開始画素の数量をカウントする（ステップＳ３０１１）。図１５−１では、注目画素を中心として３×３の領域を一例として示している。本図では、注目画素の近傍の８の画素について、文字開始画素であるか否かを判定することとなる。また、画素を左から右に、上から順に走査していく場合を考慮すると、図１５−２に示す４の画素について、文字開始画素であるか否かを判定することとしてもよい。
【００７６】
閾値決定部３０３は、文字開始画素の数量が１以上であるか否かを判定する（ステップＳ３０１２）。もちろん、文字開始画素の数は、１以外の値を取ってもかまわない。
【００７７】
文字開始画素の数量が１以上の場合は（ステップＳ３０１２：Ｙｅｓ）、閾値に現在設定されている値より低い値を決定する（ステップＳ３０１３）。現在設定されている値とは、規定値でもよいし、事前に設定されている規定値より低い値でもよい。さらに、閾値設定部１０６は、新たに決定した閾値を設定する（ステップＳ３０１４）。
【００７８】
文字開始画素の数量が０の場合は（ステップＳ３０１２：Ｎｏ）、閾値に対する処理は行われず、現在設定されている値が閾値となる。
【００７９】
よって、文字開始画素が近傍に存在する場合は、文字開始画素検出の閾値を下げることにより、文字開始画素を検出し易くし、文字開始画素の検出漏れが減少する。
【００８０】
次に、閾値制御部３００の前文字終了条件判定部３０２、閾値決定部３０３が行う処理について図１６および図１７を用いて説明する。図１６は、閾値制御部３００および閾値設定部１０６が行う処理の手順を示すフローチャートである。図１７は、注目画素と、注目画素より以前に判定された文字終了画素との位置関係の一例を示す図である。
【００８１】
閾値制御部３００の前文字終了条件判定部３０２、閾値決定部３０３の処理は、注目画素の直前に判定された文字終了画素の終了条件が、エッジ量検出条件および立ち下がり検出条件に該当することによって、文字終了画素と判断された場合は、低濃度検出条件または有彩色検出条件で文字終了画素と判断された場合より、文字開始画素が存在する可能性が高いという特徴に着目したものである。
【００８２】
前文字終了条件判定部３０２は、注目画素の直前に判定された文字終了画素の終了条件を得る（ステップＳ３０２１）。ここでは、注目画素の直前に判定された文字終了画素についての終了条件を得ているが、注目画素の以前に検出された複数の文字終了画素について終了条件を得て、閾値を決定してもよい。図１７において説明すると、注目画素１８については、直前の文字終了画素１６の終了条件を求めることとなる。
【００８３】
閾値決定部３０３は、注目画素の直前に判定された文字終了画素の終了条件が、エッジ量検出条件および立ち下がり検出条件に該当することによって、文字終了画素と判断されたのか否かを判定する（ステップＳ３０２２）。
【００８４】
注目画素の直前に判定された文字終了画素の終了条件が、エッジ量検出条件および立ち下がり検出条件に該当することによって、文字終了画素と判断された場合は（ステップＳ３０２２：Ｙｅｓ）、閾値に現在設定されている値より低い値を決定する（ステップＳ３０２３）。現在設定されている値とは、規定値でもよいし、事前に設定されている規定値より低い値でもよい。さらに、閾値設定部１０６は、新たに決定した閾値を設定する（ステップＳ３０２４）。
【００８５】
注目画素の直前に判定された文字終了画素の終了条件が、エッジ量検出条件および立ち下がり検出条件に該当することによって、文字終了画素と判断されなかった場合は（ステップＳ３０２２：Ｎｏ）、閾値に対する処理は行われず、現在設定されている値が閾値となる。
【００８６】
よって、注目画素の直前に判定された文字終了画素の終了条件が、エッジ量検出条件および立ち下がり検出条件に該当することによって、文字終了画素と判断された場合は、文字開始画素検出の閾値を下げることにより、文字開始画素を検出し易くし、文字開始画素の検出漏れが減少する。
【産業上の利用可能性】
【００８７】
以上のように、本発明にかかる画像処理装置は、プリンタ、複写機、スキャナ装置、ファクシミリ装置、コピー、プリンタ、スキャナ、ファクシミリなどを一つの筐体に含めた複合機と文字領域を判定する画像処理プログラムに利用することに適している。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施の形態にかかる画像処理装置の構成の一例を示すブロック図である。
【図２】本発明の実施の形態にかかる画像処理部３４での文字領域判定処理の構成の一例を示すブロック図である。
【図３】エッジ量検出部１０１の構成の一例を示すブロック図である。
【図４−１】縦方向エッジ検出フィルタの一例を示す図である。
【図４−２】横エッジ検出フィルタの一例を示す図である。
【図４−３】右斜めエッジ検出フィルタの一例を示す図である。
【図４−４】左斜めエッジ検出フィルタの一例を示す図である。
【図５】立ち上がりエッジ検出部１０２の構成の一例を示すブロック図である。
【図６−１】左右方向のエッジ成分を検出するフィルタの一例を示す図である。
【図６−２】上下方向のエッジ成分を検出するフィルタの一例を示す図である。
【図７】高濃度検出部１０３の構成の一例を示すブロック図である。
【図８】無彩色検出部１０４の構成の一例を示すブロック図である。
【図９】低濃度検出部５０１の構成の一例を示すブロック図である。
【図１０】有色彩検出部５０２の構成の一例を示すブロック図である。
【図１１】立ち下がりエッジ検出部５０４の構成の一例を示すブロック図である。
【図１２】文字領域判定部７００が行う処理の手順を示すフローチャートである。
【図１３−１】各画素の画素種別の一例を示す図である。
【図１３−２】各画素の画素種別に対応した文字領域の判定結果の一例を示す図である。
【図１４】閾値制御部３００が行う処理の手順を示すフローチャートである。
【図１５−１】注目画素に対する計数対象画素（８画素）を一例として示す図である。
【図１５−２】注目画素に対する計数対象画素（４画素）を一例として示す図である。
【図１６】閾値制御部３００が行う処理の手順を示すフローチャートである。
【図１７】注目画素と、注目画素より以前に判定された文字終了画素との位置関係の一例を示す図である。
【符号の説明】
【００８９】
１０  画像処理装置
２０  スキャナ
３１  平滑フィルタ処理部
３２  符号化部
３３  復号化部
３４  画像処理部
３５  プリンタエンジンコントローラ
３６  プリンタエンジン
４０  メモリコントローラ
５０  メインメモリ
１００  文字開始画素判定部
５００  文字終了画素判定部
３００  閾値制御部
７００  文字領域判定部
１０１  エッジ量検出部
１０２  立ち上がりエッジ検出部
１０３  高濃度検出部
１０４  無彩色検出部
１０５  判定部（ＡＮＤ）
１０６  閾値設定部
１０１１  ｍａｘ（Ｒ，Ｇ，Ｂ）
１０１２ａ  縦エッジ検出フィルタ
１０１２ｂ  横エッジ検出フィルタ
１０１２ｃ  右斜めエッジ検出フィルタ
１０１２ｄ  左斜めエッジ検出フィルタ
１０１３ａ〜ｄ  絶対値化
１０１５  閾値処理
１０２１  ｍａｘ（Ｒ，Ｇ，Ｂ）
１０２２ａ  左右方向検出フィルタ
１０２２ｂ  上下方向検出フィルタ
１０２３ａ、ｂ  閾値処理
１０２４ａ、ｂ  負判定
１０２５  ＯＲ
１０３１  ｍｉｎ（Ｒ，Ｇ，Ｂ）
１０３２  閾値処理
１０４１  ｍａｘ（Ｒ，Ｇ，Ｂ）
１０４２  ｍｉｎ（Ｒ，Ｇ，Ｂ）
１０４３  差分値
１０４４  絶対値化
１０４５  閾値処理
５０１  低濃度検出部
５０２  有彩色検出部
５０３  エッジ量検出部
５０４  立ち下がりエッジ検出部
５０５  判定部（ＡＮＤ）
５０６  判定部（ＯＲ）
５０１１  ｍｉｎ（Ｒ，Ｇ，Ｂ）
５０１２  閾値処理
５０２１  ｍａｘ（Ｒ，Ｇ，Ｂ）
５０２２  ｍｉｎ（Ｒ，Ｇ，Ｂ）
５０２３  差分値
５０２４  絶対値化
５０２５  閾値処理
５０４１  ｍａｘ（Ｒ，Ｇ，Ｂ）
５０４２ａ  左右方向検出フィルタ
５０４２ｂ  上下方向検出フィルタ
５０４３ａ、ｂ  閾値処理
５０４４ａ、ｂ  正判定
５０４５  ＯＲ
１１ａ  文字開始画素と判定された画素
１２ａ  文字開始画素とも文字終了画素とも判定されなかった画素
１３ａ  文字開始画素とも文字終了画素とも判定されなかった画素
１４ａ  文字終了画素と判定された画素
１５ａ  文字開始画素とも文字終了画素とも判定されなかった画素
１１ｂ  １１ａに対応する文字領域判定結果（文字領域である）
１２ｂ  １２ａに対応する文字領域判定結果（文字領域である）
１３ｂ  １３ａに対応する文字領域判定結果（文字領域である）
１４ｂ  １４ａに対応する文字領域判定結果（文字領域でない）
１５ｂ  １５ａに対応する文字領域判定結果（文字領域でない）
１６  文字終了画素と判定された画素
１７  文字終了画素と判定されなかった画素
１８  文字開始画素か否かを判定しようとしている画素
１９  まだ判定対象となっていない画素
【図１】
2005269183.tif 000003
【図２】
2005269183.tif 000004
【図３】
2005269183.tif 000005
【図４−１】
2005269183.tif 000006
【図４−２】
2005269183.tif 000007
【図４−３】
2005269183.tif 000008
【図４−４】
2005269183.tif 000009
【図５】
2005269183.tif 000010
【図６−１】
2005269183.tif 000011
【図６−２】
2005269183.tif 000012
【図７】
2005269183.tif 000013
【図８】
2005269183.tif 000014
【図９】
2005269183.tif 000015
【図１０】
2005269183.tif 000016
【図１１】
2005269183.tif 000017
【図１２】
2005269183.tif 000018
【図１３−１】
2005269183.tif 000019
【図１３−２】
2005269183.tif 000020
【図１４】
2005269183.tif 000021
【図１５−１】
2005269183.tif 000022
【図１５−２】
2005269183.tif 000023
【図１６】
2005269183.tif 000024
【図１７】
2005269183.tif 000025