(57)【特許請求の範囲】
【請求項１】
画像領域を含む一つの走査線信号の中でテキスト領域をハイライトする方法であって、
プロセッサに連結されたメモリ内に格納された命令を実行するプロセッサを使用し、走査線信号は複数の画素を含み、各々の画素は強度を示す値を有し、プロセッサは走査線信号を再現するための再現装置に連結され、
ａ）走査線信号の画素の値によって表現された開始縁を識別し、
ｂ）次の縁が、最も近い以前に発見された縁の所定の距離の中に位置するかどうかを決定し、
ｃ）もし次の縁が最も近い以前に発見された縁の所定の距離の中に位置する場合には、
１）次の縁の極性を最も近い以前に発見された縁の極性と比較し、
２）もし次の縁の極性が最も近い以前に発見された縁の極性と異なる場合には、ステップｃ）を繰り返し、
ｄ）ステップｃ）の間に識別された開始縁と次の縁がテキスト領域を形成するかどうかを決定し、
ｅ）ステップｃ）の間に識別された開始縁と次の縁がテキスト領域を形成する場合には、
１）テキスト領域の中の画素毎に平均強度値を計算し、
２）平均強度値とは異なる値を有するテキスト領域の中に位置する画素の値を変更して修正された走査線信号を生成する
プロセッサにより実行される各ステップからなる方法。
【請求項２】
ステップｄ）が、ステップｃ）の間に識別された縁の数が少なくとも３であるかどうかを決定することを含む請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テキスト／画像分割を行なうための方法に関する。
【０００２】
【従来の技術】
ラスタ画像は、一連の走査線信号として表現される。各々の走査線信号は、画像を横切る多数の絵要素すなわち画素による一つの水平ストリップを表し、画素の各々は、仮想的なグリッドの中の位置と値を有する。画素レベルは、白と黒の間で変化可能な灰色の階調を示す。８ビットが、画素レベルを表すために使用され、これはレベルが０および２５５の間で変化することを可能にする。典型的には、黒を表すために０が選択され、白を表すために２５５が選択される。換言すれば、そのレベルが下がるほど、画素は暗くなる。
【０００３】
走査線信号によって表現された多くの文書は、テキストと、グラフィック或いは画像の両方を含む。テキストとグラフィックを識別して分離する能力は、多くの画像処理分野で重要である。例えば、高品質な複写を生成するためには、テキストとグラフィックの取り扱いを異ならせる必要がある。グラフィック領域は、連続的に変化する灰色の階調の範囲で表現され表示される場合には、視覚的に一層満足され、より多くの視覚的情報を伝達する。これに対して、テキスト領域は、２階調のみの高コントラストで表現され表示されるときに、一層容易に視覚的に区別される。文書のテキストと画像領域の識別は、テキスト／画像分割として一般に知られている。
【０００４】
【発明が解決しようとする課題】
テキスト／画像分割のいくつかの従来の方法は、グラフィックスを表す形を識別することを試みることによって、テキストと画像領域を区別する。これは、多数の走査線信号、多分文書を表す全ての走査線信号を分析することを必要とする。したがって、テキスト／画像分割の従来の方法は、それらが分析されている間、多数の走査線信号をバッファするための大容量のメモリを必要とする。テキスト／画像分割のこれらの従来の方法は、その上、長い処理時間を必要とする。テキスト／画像分割の他の従来の方法は、グラフィックスからテキストを識別するために異なった解決法をとるが、前述した方法と同様に、これらの方法も、長時間の処理と大容量のメモリを必要とする。
【０００５】
【発明の実施の形態】
図１は、テキスト／画像分割を行なう本発明の方法を行なう多機能装置のブロック図である。
図２Ａは、テキスト領域とこれを横切る走査線を示す。
図２Ｂは、図２Ａのテキスト領域を横切る走査線に関しての画素位置対画素強度のグラフである。
図２Ｃは、図２Ｄの画像領域を横切る走査線に関しての画素位置対画素強度のグラフである。
図２Ｄは、画像領域とこれを横切る走査線を示す。
図３は、画像領域を含む走査線の中でテキスト領域を識別してハイライトする方法の流れ図である。
図４は、縁を位置付ける方法の流れ図である。
【０００６】
〔好適な実施態様の詳細な説明〕
図１のブロック図は、パーソナルコンピュータ２０のユーザを、紙と文書の電子表現との間で容易に移動することができるようにする多機能装置２２を示す。多機能装置２２は、文書が用紙に転写されている間に、文書の質も改善する。多機能装置２２は、本発明のテキスト／画像分割の方法を用いてそれを行う。テキスト／画像分割とテキストの本発明の方法によれば、ハイライトは一度に一つの走査線だけ実行される。
【０００７】
Ｉ．システム概観
本発明の方法のより詳細な議論の前に、本発明の方法を動作させようとする環境を考える。多機能装置２２は、文書をプリントしたり文書をコピーしたりするだけでなく、ファクシミリ文書を送信したり受信したりする。多機能装置２２は、多機能制御装置２４、ファックスモデム２６、プリンタ２８、および、スキャナ３０により、これらのタスクを実行する。図示されていないが、多機能装置２２は、陰極線管（ＣＲＴ）のような追加のディスプレイ装置を含んでもよい。多機能制御装置２４は、多機能オペレーティングシステム３２を用いる入力／出力装置２６，２８、および、３０の動作と協働を制御する。多機能オペレーティングシステム３２は、適切な命令シーケンスを選択し、それは、実行のためにプロセッサ３４へ送られる。多機能オペレーティングシステム３２は、記憶装置の中に格納されたソフトウェアとして実現することができる。好適には、多機能オペレーティングシステム３２を実現するのに使用されるのは、Ｍｉｃｒｏｓｏｆｔ  ａｔ  Ｗｏｒｋ（商標）である。
【０００８】
ファックスモデム２６、スキャナ３０、プリンタ２８、ネットワークポート２１、多機能制御装置２４は、それらが取り扱う文書を、走査線信号を使用して表す。スキャナ３０は、プリンタ２８が走査線信号を使用して記録媒体の上に画像を記録する間、ハードコピー文書の上の画像から走査線信号を発生させる。ファックスモデム２６と多機能制御装置２４は、パーソナルコンピュータ２０、ネットワークポート２１、電話線、プリンタ２８、または、スキャナ３０から受信した走査線信号を使用して、電子媒体と紙の間の情報の移動を可能にする。
【０００９】
多機能オペレーティングシステム３２の機能性は、本発明の方法のプロセスを含んでいる追加のプロセスをコールすることによって強化される。これらのプロセスは、好適には、プロセッサ３４によって実行され、メモリ３６の中にオブジェクトコードの形態で格納された命令を使用して実現される。メモリ３６は、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、プログラム可能な読み出し専用メモリ（ＰＲＯＭ）、消去可能でプログラム可能な読み出し専用メモリ（ＥＰＲＯＭ）、電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）のような、及び、フラッシュメモリのような、ソリッドステート記憶装置を使用して実現することができる。
【００１０】
テキスト／画像分割の本発明の方法は、多機能装置で使用することに限定されるものではない。この方法は、走査線信号を使用するメモリとプロセッサを含む任意の装置と連結して使用することもできる。このように、例えば、本発明の方法は、パーソナルコンピュータ２０、ファックス装置の中で、或いは、複雑なコピー機械の中で実現することができる。
【００１１】
前述したように、多機能制御装置２４は、テキスト領域をハイライトすることにより、テキスト領域の視認性を改善する。多機能制御装置２４は、周囲の走査線を参照することなく、一度に一つの走査線の割合でこのタスクを実行する。多機能制御装置２４は、設定された特徴に関して各々の走査線信号を探索し、走査線信号の中のテキスト領域を画像領域から区別する。テキスト領域を画像領域から区別する走査線信号のこれらの特徴は、図２Ａ、図２Ｂ、図２Ｃ、および、図２Ｄを参照して議論される。図２Ａは、表現するのに何本かの走査線を必要とする小さいテキスト領域４０を示す。線４２は、テキスト領域４０を横切る一つの走査線を表す。図２Ｂは、画素位置に対する走査線４２を表す走査線信号についての強度値をグラフで示す。テキスト領域４０の中のテキストの各々の文字は、２本の縁を含む。例えば、縁４４そして４６は、「Ｔ」とその背景の間のカラーの変化を表す。これに加えて、図２Ｂの中の隣接している縁は極性が異なる。例えば、図２Ｂを左から右に見ると、縁４４の極性は下降し、縁４６の極性は上昇し、縁４８の極性は下降し、縁５０の極性は上昇しており、以下同様である。図２Ｂは、各々の組の縁の間にメサという実質的に一定の強度値の領域も含む。例えば、メサ５２は、縁４４そして４６の間に位置付けられる。テキストのテキスト文字の終わりは、縁なしの長距離部分によって記録される。これに対して、図２Ｄの特徴を考える。図２Ｃは、図２Ｄに示された画像領域６０を横切る走査線６２について画素位置に対する強度値をグラフで示す。画像領域６０を表すためには、数本の走査線を必要とする。図２Ｃは、６４，６６，６８および７０のような縁を含む。隣接している縁の極性が常に異なっているとはかぎらない。例えば、図２Ｃのグラフを左から右に見ると、両方の縁６４および６６の極性は下降し、縁６６及び６８の極性は異なっており、両方の縁６８および７０の極性は上がっている。図２Ｃのグラフは、強度の変化が大きくないが、一定ではない縁の間の領域を含む。このように、所定の図２Ｂと図２Ｃのテキスト領域は、少なくとも３つの特徴を有する。第１に、テキスト領域は、少なくとも２本の縁によって境界をつけられる。第２に、テキスト領域の最後の縁は、縁或いは画素強度における大きな漸増がない長距離部分により示すことができる。第３に、縁が互い違いに変わるテキスト領域の中に、異なった極性を持っている。
【００１２】
ＩＩ．テキスト／画像分割の方法
図３の流れ図は、画像領域も含む走査線信号のテキスト領域を識別してハイライトするためのプロセッサ３４によって使用されるプロセス８０を示す。プロセス８０は、メモリ３６内にオブジェクトコードの形態で格納される。簡単に述べられたように、実行されたプロセス８０が、入力走査線信号を、修正された走査線信号に変換したとき、そのテキスト領域は、表示されたときに、入力走査線のものに比べてハイライトされる。最初に、ステップ１１２の間、プロセッサ３４は、第１のテキスト領域の可能性のある開始縁を探索する。ステップ１１４の間、プロセッサ３４は、新しいテキスト領域について変数を初期化する。その後、ステップ１１６の間、プロセッサ３４は、縁カウントをインクリメントし、ポインタをテキスト領域の終わりへ調整することにより、縁の発見に応答する。プロセッサ３４は、ステップ１１８の間に別の縁の探索する。別の縁を見つけた後に、プロセッサ３４は、ステップ１２０−１２４とステップ１２６−１２９かステップ１３４−１３８のどちらか一方の間、縁が丁度テキスト領域の部分に位置するかどうか決定する。すなわち、プロセッサ３４は、発見されたばかりの縁にもっとも接近した隣接縁へ十分に接近しており、且つ、正しい極性であるかどうか、及び、縁間の間隔内の画素レベルの変化が許容可能であるかどうかを決定する。もしそうであれば、プロセッサはステップ１１６に戻り、そして、最新のテキスト領域の終縁を探索し続ける。最新のテキスト領域の終縁を識別した後に、ステップ１３２の間に、領域内の平均レベルとは異なるレベルの画素の値を変えることにより、領域内のテキストをハイライトする。プロセッサ３４は、その後ステップ１１４に戻り、そして、走査線の全ての画素が検査されるまでテキスト縁を探索し続ける。
【００１３】
Ａ．開始縁の位置付け
概観に述べられたように、命令８０は、プロセッサ３４に、入力走査線によって定義された第１の縁を位置付けることを要求することによって始まる。プロセッサ３４は、命令１４８を実行することによってステップ１１２の間にその第１の縁を位置付ける。プロセッサ３４は、入力走査線の全ての他の縁を位置付けるために、命令１４８を同じく使用する。命令１４８は、メモリ３６に、または、いくつかの他の機械の読みやすい媒体の中に格納することができる。命令１４８は、図４において流れ図の形態で示される。
【００１４】
簡単にいうと、命令１４８を実行することによって縁を位置付ける努力は、画素レベルに何らかの変化が検出されるまで走査線を走査することから始まる。次に、プロセッサ３４は、画素レベルが上昇しているか、下降しているかを決定する。プロセッサ３４は、次いで、場合によるが、レベルが上昇或いは下降を停止するまで走査線の走査を続ける。もしこの時点で、最新の画素レベルが適切な境界の外側にあれば、次いで、プロセッサ３４は縁が発見された可能性を調査する。もし画素レベルの変化が十分に鋭くて、且つ、十分に大きければ、プロセッサ３４は、縁を発見したことになる。縁を位置付けると、プロセッサ３４は適切なステップ、ステップ１１４またはステップ１２０の適当な方へ戻る。
【００１５】
プロセッサ３４は、多数の変数を初期化することによって、ステップ１５０の間に縁探索の準備を行う。プロセッサ３４は、最新の画素位置へ初期化されたＥｄｇｅＳｔａｒｔＰｏｓを使用して縁の開始位置を追跡する。プロセッサ３４は、ＨｉｇｈＰｏｓを使用して縁に沿った最高強度レベルの位置と、ＬｏｗＰｏｓを使用して縁に沿った最低強度レベルの位置を追跡する。プロセッサ３４は、ＨｉｇｈＰｏｓとＬｏｗＰｏｓの両方を、最新の画素の位置へ初期化する。プロセッサ３４は、ＨｉｇｈＬｅｖｅｌとＬｏｗＬｅｖｅｌを使用して縁に沿った高レベル及び低レベルも追跡する。ステップ１５０の間、両方の変数は最新の画素レベルの値へ初期化される。これらの変数の初期化が完了すると、プロセッサ３４は、ステップ１５０からステップ１５２に進む。
【００１６】
ステップ１５２の間、プロセッサ３４は、走査線の次の画素のレベルが最新の画素のレベルと異なるかどうかを決定する。プロセッサ３４は、画素レベルの変化が検出されるまで、または、走査線の終わりに到達するまで、画素を走査し続ける。画素レベルの変化が走査線の終わりの前に検出されたときに命令１４８によって指示された動作を先ず考える。これに応答して、プロセッサ３４はステップ１５４に進んで、ステップ１５２の間に発見された強度レベルの変化が、上昇であるか下降であるかを決定する。プロセッサ３４は、これに続いて強度レベルが上昇であるか下降であるか、同様に反応する。ステップ１５６−１６３の記載は、議論されることはないステップ１６４−１７２により指示された低下する強度レベルへの応答も示す。縁が上昇していると決定されると、プロセッサ３４は、ステップ１５４からステップ１５６に分岐する。ステップ１５６の間、プロセッサ３４は、レベルが上昇を停止するまで走査線を走査し続ける。レベルがもはや上昇していないことが判ったとき、、或いは、走査線の最後の画素に到達したときに、プロセッサ３４は、ステップ１５６からステップ１５８に分岐する。
【００１７】
プロセッサ３４は、ステップ１５８の間に、縁を位置付けたかどうかを決定するためのテストの第１のものを実行する。プロセッサ３４は、ステップ１５８の間に、最新の画素のレベルをＨｉｇｈＬｅｖｅｌと比較する。もし最新の画素のレベルがＨｉｇｈＬｅｖｅｌより大きくなければ、プロセッサ３４は、予期した上昇縁を発見しなかったことになる。これに応答して、ステップ１５８を抜け出し、ステップ１５２に戻って縁の探索を続ける。他方では、もし最新の画素のレベルが、ＨｉｇｈＬｅｖｅｌを越えれば、プロセッサ３４はステップ１６０に進む。ステップ１６０の間に、プロセッサ３４は、縁に沿った高レベルの発見を反映するために、上昇縁と関連づけられた値を調整する。すなわち、ステップ１６０の間に、プロセッサ３４は、最新の画素のレベルに等しいＨｉｇｈＬｅｖｅｌを設定し、最新の画素の位置に等しいＨｉｇｈＰｏｓを設定する。プロセッサ３４は、次いで、ステップ１６０を抜け出しステップ１６２に進む。
【００１８】
ステップ１６２で、プロセッサ３４は、発見されたばかりのレベル増加が縁に必要とされる傾斜を満足するかどうかを決定する二つのテストの第１のものを実行する。縁の確認には、互いからＭａｘＥｄｇｅＷｉｄｔｈ以上離れて位置していない２つの画素の間の、少なくともＭｉｎＥｄｇｅＨｅｉｇｈｔのレベルの差を必要とする。１つの実施態様では、ＭｉｎＥｄｇｅＨｅｉｇｈｔは６４に設定され、ＭａｘＥｄｇｅＷｉｄｔｈは７に設定される。これは、過度に包括的に縁を定義している。すなわち、これらの値を使用して、プロセッサ３４は、多くの非テキスト縁を識別することになる。その結果として、テキスト領域を確実に識別するために追加の基準を使用する必要がある。包括的でない縁定義を使用するときには、これらの他の基準は、テキスト領域を識別するためには必要とされない場合がある。縁定義は、特定の性能要求にを適合させることができる。
【００１９】
ステップ１６２の間、プロセッサ３４は、ＬｏｗＰｏｓとＨｉｇｈＰｏｓの間の位置の差をＭａｘＥｄｇｅＷｉｄｔｈと比較する。もし縁幅がＭａｘＥｄｇｅＷｉｄｔｈより大きければ、プロセッサ３４は、ステップ１６２からステップ１６３に進んで、縁の開始が余りにも早く定義された可能性を考慮する。ステップ１６３の間に、プロセッサ３４は、ＥｄｇｅＳｔａｒｔＰｏｓを、最新の画素位置とＭａｘＥｄｇｅＷｉｄｔｈの間の差に変更する。付加的に、プロセッサ３４は、ＬｏｗＬｅｖｅｌとＬｏｗＰｏｓを、それらがＥｄｇｅＳｔａｒｔＰｏｓの位置とレベルを表すように調整する。それが完了すると、プロセッサ３４は、ステップ１６３からステップ１７４に進む。プロセッサ３４は、縁幅がＭａｘＥｄｇｅＷｉｄｔｈ以下である時には、ステップ１６２から直接ステップ１７４に達する。プロセッサ３４は、ＥｄｇｅＥｎｄＰｏｓを最新の画素に等しく設定する。その後、プロセッサ３４は、ステップ１７４からステップ１７６へ分岐する。
【００２０】
ステップ１７６の間、プロセッサ３４は第２の縁テストを実行する。プロセッサ３４は、ＨｉｇｈＬｅｖｅｌとＬｏｗＬｅｖｅｌの間の差をＭｉｎＥｄｇｅＨｅｉｇｈｔと比較することによって、縁レベルの変化が十分であるかどうかを決定する。もし差がＭｉｎＥｄｇｅＨｅｉｇｈｔ以下ならば、検出されたレベルの変化は縁を表さない。これに応答して、プロセッサ３４はステップ１５２へ戻り、縁を検索し続ける。他方では、もし縁のレベルの差がＭｉｎＥｄｇｅＨｅｉｇｈｔを越えれば、プロセッサ３４はステップ１７８に進み、これにより、命令８０の適切なステップに戻る。
【００２１】
命令１４８の一つの特徴、すなわち、走査線の最後の画素へ到達したときの応答が、これから議論される。プロセッサ３４は、ステップ１５２、１５６、または、１６４の間に最後の画素を発見するかもしれない。もし最後の画素に到着する前にステップ１５２の間にレベルの変化が発見されなければ、縁は見つからなかったことになり、プロセッサ３４はステップ１８０に進む。プロセッサ３４は、縁が見つけられなかったこと指示し、１７８へ分岐し、ステップ１１２または１１８の適切な方に戻る。これに対して、もし最後の画素が、ステップ１５６または１６４の間で走査している間に検索されたときには、特別な動作は必要でない。例えば、もし検査すべき画素が残っていないことがステップ１５６の間に発見されたら、プロセッサ３４は、レベルの上昇が停止したように応答し、ステップ１５８に進む。次いで、プロセッサ３４は、ステップ１７８に到達するまで前述した方法で命令を実行し、ステップ１１２または１１８のいずれかに戻らせる。
【００２２】
Ｂ．テキスト領域の終縁の位置付け
第１の可能性のあるテキスト領域の探索を始める時に、プロセッサ３４はステップ１１２からステップ１１４へ分岐する。ステップ１１４で、プロセッサ３４は変数を初期化することによって、探索の準備をする。最初に、プロセッサ３４は縁カウンタＥｄｇｅＣｏｕｎｔをゼロに初期化する。またプロセッサ３４は、テキスト開始位置ＴｅｘｔＳｔａｒｔＰｏｓを、新しいテキスト領域の開始縁位置ＥｄｇｅＳｔａｒｔＰｏｓへ設定する。次いで、プロセッサ３４は、ステップ１１６へ進む。プロセッサ３４は、ステップ１１６の間に他の変数を調整して、最近発見された縁を反映させる。プロセッサ３４は、ＥｄｇｅＣｏｕｎｔをインクリメントし、テキスト終了位置ＴｅｘｔＥｎｄＰｏｓを、発見したばかりの縁の終わり、すなわち、ＥｄｇｅＥｎｄＰｏｓに等しく設定する。その結果として、今やテキスト領域は、検出された最初の縁の開始位置から、発見された最後の縁まで拡張される。これが完了すると、プロセッサ３４はステップ１１８に進む。
【００２３】
プロセッサの３４は、詳細に前に議論された命令１４８を実行することにより、ステップ１１８の間に、別の縁を探索する。それが別の縁を発見すると、プロセッサ３４は、ステップ１１８からステップ１２０に進む。
【００２４】
ステップ１２０で、プロセッサ３４は、縁の許容度の２つの、すなわち縁ギャップとギャップレベルのテストを実行する準備をする。テキスト領域の中では、隣接している縁が互いの近くに位置付けられる傾向があるので、隣接している縁の間の間隔が調べられる。このように、もしそれが前の縁から非常に遠く位置付けられていれば、縁はテキスト領域の部分である見込みがない。隣接している縁の間の距離よりも非常に大きく選択されている距離ＭａｘＥｄｇｅＳｐａｃｉｎｇは、ディザリングにより大きく影響されることになる最大のフォントサイズに依存する設計上の選択事項である。テキスト領域の中では、レベルが実質的に一定のままである傾向があるので、縁ギャップの中のレベルが調べられる。縁ギャップの中の強度レベルの大幅な変化は、分析される走査線の一部がもはやテキスト領域を表さないことを示す。好適な実施態様においては、発見された最後の縁のメジアンのレベルＭｅｄｉａｎＬｅｖｅｌが、縁ギャップの中のレベルの変化が大きすぎることを識別するために使用される。
【００２５】
プロセッサ３４は、ＭｅｄｉａｎＬｅｖｅｌと縁ギャップＥｄｇｅＧａｐを計算することにより、ステップ１２０の間に縁ギャップとギャップレベルの双方について準備する。好適には、プロセッサ３４は、下記式に従ってメジアンの強度レベルを計算する。
【００２６】
ＭｅｄｉａｎＬｅｖｅｌ＝（ＨｉｇｈＬｅｖｅｌ＋ＬｏｗＬｅｖｅｌ）／２
【００２７】
ここで、ＭｅｄｉａｎＬｅｖｅｌは、最も最近に発見された縁のメジアンの強度である。
【００２８】
好適には、縁ギャップは下記式を使用して計算される。
【００２９】
ＥｄｇｅＧａｐ＝ＥｄｇｅＳｔａｒｔＰｏｓ−ＴｅｘｔＥｎｄＰｏｓ
【００３０】
ＥｄｇｅＧａｐとＭｅｄｉａｎＬｅｖｅｌが計算されると、プロセッサ３４はステップ１２０からステップ１２２に分岐する。
【００３１】
ステップ１２２の間、プロセッサ３４は、ＥｄｇｅＧａｐがＭａｘＥｄｇｅＳｐａｃｉｎｇを越えるかどうかを決定することによって、縁ギャップテストを実行する。もし越えていれば、その時点ではそのようには認識されなかったけれども、最新のテキスト領域の終縁は既に発見されたとになる。プロセッサ３４は、ステップ１２２からステップ１３０に分岐することによってこの状況に応答するステップ１３０の間の動作の説明は後述する。他方では、もしＥｄｇｅＧａｐがあまり大きくなければ、発見されたばかりの縁は許容することができる。この可能性を調査するために、プロセッサ３４は、ステップ１２２からステップ１２４へ分岐する。
【００３２】
ステップ１２４の間、プロセッサ３４は、位置付けたばかりの縁が上昇縁か下降縁であるかを決定する。上昇縁と下降縁に応答して指示された動作は類似しており、従って、ステップ１２６、１２８、そして１２９の説明は、同じくステップ１３４、１３６、そして１３８の動作を説明するのにも役に立つ。ステップ１２４と１２６の間、プロセッサ３４は、発見されたばかりの縁の極性が前に発見された縁のものとは異なるかどうかを決定する。そうでなければ、発見されたばかりの縁は、最新のテキスト領域の部分ではない。なぜなら、テキスト領域の中では縁の極性は、交互に変化するからである。これに応答して、プロセッサ３４は、ステップ１２６からステップ１３０に進む。ステップ１３０の議論は後で行われる。他方では、もし発見されたばかりの縁の極性が最新のテキスト領域と一致すれば、プロセッサ３４はステップ１２６からステップ１２８へ分岐する。
【００３３】
ステップ１２８の間、ギャップレベルテストを見越して、プロセッサ３４は縁ギャップの中の最大値レベルＭａｘＬｅｖｅｌを決定する。その後、ステップ１２９の間、プロセッサ３４は、ＭａｘＬｅｖｅｌをＭｅｄｉａｎＬｅｖｅｌと比較することによって、ギャップレベルテストを実行する。プロセッサ３４は、もしＭａｘＬｅｖｅｌがＭｅｄｉａｎＬｅｖｅｌを越えなければ、発見されたばかりの縁が、最新のテキスト領域の部分であると見做す。これに応答して、プロセッサ３４はステップ１２９からステップ１１６に分岐し、最新のテキスト領域と関係した縁を探索し続ける。これに対して、もしＭｅｄｉａｎＬｅｖｅｌがＭａｘＬｅｖｅｌを越えれば、発見されたばかりの縁は、最新のテキスト領域の部分ではない。これは、プロセッサ３４が、最新のテキスト領域の最後の縁を既に発見し、多分、他のテキスト領域の最初の縁を発見したことを意味する。プロセッサ３４は、ステップ１２９を抜け出てステップ１３０へ分岐することにより、この状況に応答する。
【００３４】
発見されたばかりの縁が最新のテキスト領域の部分ではないことが決定された場合には、ステップ１２２、１２６、１２９、１３４、または、１３８の間にどのような決定がなされたかには無関係に、プロセッサ３４はステップ１３０に進む。ステップ１３０の間、プロセッサ３４は、発見されたばかりの縁の組が、テキスト領域を形成するかどうかを決定する。もし縁の組が、ＭｉｎＥｄｇｅｓと名付けられた最小数の縁よりも小さい場合には、プロセッサ３４は、テキスト領域を発見しなかったことになる。ＭｉｎＥｄｇｅｓに設定される値は、設計事項である。好適な実施態様においては、ハイライトされた各々のテキスト領域が少なくとも２本の縁を含むことを確実にするために、ＭｉｎＥｄｇｅｓは２に設定される。プロセッサ３４は、ステップ１３０からステップ１１４に戻ることによって、２本以下の縁の発見に応答し、別のテキスト領域を探索し始める。これに対して、発見されたばかりの縁の組がＭｉｎＥｄｇｅｓ以上を含んでいるときには、プロセッサ３４は、テキスト領域を位置付けた。プロセッサ３４は、ステップ１３０からステップ１３２に進み、そのテキスト領域をハイライトして注意を引く。
【００３５】
Ｃ．テキスト領域のハイライト
プロセッサ３４は、ステップ１３２の間に発見されたばかりのテキスト領域をハイライトする。最初に、プロセッサ３４は、発見されたばかりのテキスト領域の、ＰｅｌＡｖｇと名付けられた平均画素強度を計算する。プロセッサ３４は、平均画素強度を使用して、走査線の画素毎の新しい強度値を計算する。プロセッサ３４は、既に平均画素値より暗い画素がより暗くなり、既に平均画素レベルより明るい画素が更に明るくなるように、各々の画素の値を修正する。好適には、ＮｅｗＶａｌｕｅと名付けられた画素毎の新しい値は、数学的に以下のように表現される。
【００３６】
ＮｅｗＶａｌｕｅ＝ＰｅｌＡｖｇ＋Ｎ＊（ＯｌｄＶａｌｕｅ−ＰｅｌＡｖｇ）
ここで、
ＯｌｄＶａｌｕｅは、強調前の画素の強度値であり、
Ｎは、定数である。
【００３７】
Ｎは視覚的に満足な画像を生成する任意の値とすることができる。好適な実施態様においては、Ｎは２に等しく設定される。
【００３８】
好適には、プロセッサ３４は、ＮｅｗＶａｌｕｅを最大２５５と最小０にクランプする。ＮｅｗＶａｌｕｅの計算後に、プロセッサ３４は、ステップ１３２に抜け出し、ステップ１１４へ戻って、別のテキスト領域を捜す。
【００３９】
Ｄ．走査線の終わりに対する応答
ステップ１１２そして１１８の間の、縁の探索期間中に、幾つかの点に走査線の最後の画素が到達する。先に議論されたように、もしステップ１５２の間に到達したら、これは命令１４８に、縁が見つからなかったというメッセージを返させる。もしプロセッサ３４が、ステップ１１２の間にこのメッセージを受信した場合には、これ以上の動作は不要である。なぜなら、テキスト領域が必要としている最小の数を見つけることが出来なかったからである。従って、プロセッサ３４は、単純にステップ１１２からステップ１４４に分岐し、これにより、命令８０の実行を開始させたプログラムに戻す。もし縁が見つからなかったというメッセージがステップ１１８の間に返された場合には、状況は異なる。少なくとも一つの縁が以前に発見され、テキスト領域を形成するため必要とされる最小数の縁が見つかったかも知れないという可能性が存在する。これに応答して、プロセッサ３４は、ステップ１１８からステップ１４０に進む。ステップ１４０の間、プロセッサ３４は、最小数の縁が発見されたかどうかを決定する。もしそうであれば、プロセッサ３４は、ステップ１４２へ分岐し、ステップ１３２に関して前に議論された同じ方法でＴｅｘｔＳｔａｒｔＰｏｓとＥｄｇｅＥｎｄＰｏｓの間で画素値を修正する。これが完了すると、プロセッサ３４はステップ１４４へ分岐する。走査線の分析と修正が完了すると、プロセッサ３４は、選択された装置２０，２１，２６または２８に、命令８０の実行期間中に計算された全ての新しい画素レベルを含む修正された走査線を結合する。
【００４０】
ＩＶ．概要
このように走査線信号の画像領域とテキスト領域を区別して、テキスト領域をハイライトする方法が説明された。この方法は、走査線信号の中の縁の組を識別することによって始まる。次に、縁の組がテキスト領域の境界を表すかどうかが決定される。もしそうであれば、次いで、平均画素強度値がテキスト領域について計算される。その後、値が平均と異なるテキスト領域の中のこれらの画素の強度は修正されて、修正された走査線信号が生成される。その結果として、修正された走査線信号が走査線を再現するために使用されるとき、テキストがハイライトされる。
【００４１】
前述した明細書においては、本発明は特定の例示的な実施態様に関して説明された。しかしながら、特許請求の範囲に記載された発明の広範な精神及び範囲から離れることなく、様々な修正及び変更を成しえることは明らかである。したがって、明細書及び図面は、制限的に解釈されるものではなく、例示として見做される。
【図面の簡単な説明】
【図１】  テキスト／画像分割を行なう本発明の方法を行なう多機能装置のブロック図である。
【図２】  図２Ａは、テキスト領域とこれを横切る走査線を示す。図２Ｂは、図２Ａのテキスト領域を横切る走査線に関しての画素位置対画素強度のグラフである。図２Ｃは、図２Ｄの画像領域を横切る走査線に関しての画素位置対画素強度のグラフである。図２Ｄは、画像領域とこれを横切る走査線を示す。
【図３】  画像領域を含む走査線の中でテキスト領域を識別してハイライトする方法の流れ図である。
【図４】  縁を位置付ける方法の流れ図である。
【符号の説明】
２１  ネットワークポート
２２  多機能装置
２４  多機能制御装置
２６  ファックスモデム
２８  プリンタ
３０  スキャナ
３２  多機能オペレーティングシステム
３４  プロセッサ
３６  メモリ
４４，４６，４８，５０，６４，６６，６８，７０  縁
５２  メサ
５８  長距離部分
６０  画像領域
６２  走査線
【図１】
0003857746.tif 000002
【図２】
0003857746.tif 000003
【図３】
0003857746.tif 000004
【図４】
0003857746.tif 000005