(57)【要約】【課題】分散ドット・バイナリ・ハーフトーン画像のエッジ検出を行う。【解決手段】エッジ検出方法は、目標となる現在の画像要素の周りにローカルウィンドウを定め、ローカルウィンドウの内の少なくとも１組のピクセルをカウントし、ピクセル組内のピクセル数がしきい値より上かどうかを判断し、ピクセル数がしきい値より上である場合、ローカルウィンドウに関連した少なくとも２つの重心を見つけ、２つの重心間の距離がしきい値距離より大きいかどうかを判断し、２つの重心間の距離がしきい値距離より大きい場合、現在の画像要素をエッジ要素として定める。【選択図】図５
2006295919.tif 000002
【特許請求の範囲】
【請求項１】
エッジ検出方法であって、
現在の画像要素の周りにローカルウィンドウを定め、
前記ローカルウィンドウの内の少なくとも１組のピクセルをカウントし、
前記ピクセル組内のピクセル数がしきい値より上かどうかを判断し、
前記ピクセル数が前記しきい値より上である場合、前記ローカルウィンドウに関連した少なくとも２つの重心を見つけ、
前記２つの重心間の距離がしきい値距離より大きいかどうかを判断し、
前記２つの重心間の距離がしきい値距離より大きい場合、前記現在の画像要素をエッジ要素として定める、
諸ステップを含む、ことを特徴とする方法。
【請求項２】
前記ピクセル数があらゆる色平面についてのしきい値より下である場合、前記現在の画像要素を非エッジ要素として指定するステップをさらに含む、ことを特徴とする請求項１に記載の方法。
【請求項３】
前記２つの重心間の距離がしきい値距離より小さいか又は前記しきい値距離と等しい場合、前記現在の画像要素を非エッジ要素として指定するステップをさらに含む、ことを特徴とする請求項１に記載の方法。
【請求項４】
前記現在の画像要素の周りにローカルウィンドウを形成するステップが、現在のピクセルの周りにローカルウィンドウの１つを定めるステップ、又は、現在のサブブロックの周りにローカルウィンドウを定めるステップ、又は５ピクセル×５ピクセルのローカルウィンドウを定めるステップをさらに含む、ことを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハーフトーン画像のエッジ検出に関する。
【背景技術】
【０００２】
デジタル・プリンタによって印刷される画像においては、人間の目が画素（ピクセル）として見ているものは、実際には、特定の数のドットが置かれたページ上の空間である。次に、人間の目は、これらを、特定の輝度を有するドットに統合する。モノクロ印刷の場合は、このことは、一般に、ドットが印刷されない白色と、ピクセル内の全ての可能なドットが印刷される黒色との間のスペクトルにおいて、より多くのドットがより黒いグレー・シェードを表すことを意味する。カラー印刷の場合は、シアン、イエロー、及びマゼンタ（ＣＭＹ）、さらにブラック（Ｋ）の異なる色の組み合わせが、人間の目が知覚する色をもたらす。
【０００３】
印刷、コピー、ファクス及び走査を行う「フォー・イン・ワン（１ユニットに４機能の機器を有する）」などの多機能周辺機器に用いられるもののようなデジタル・プリント・エンジンは、画像データの処理に関して特定の問題を有する。これらのタイプの装置は、通常、「混合モード」の画像データ、すなわち１つの画像の中にレンダリング（可視化）されるテキスト、図形、及び写真データの組み合わせであるデータを受け取る。写真データのような１つのタイプのデータのための技術は、テキスト等に対して上手く機能することができない。適切なレンダリングを保証するために、システムが処理するデータのタイプを判断することが必要になる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
連続階調走査画像は、通常、プリンタ・エンジンに送る前、又は画像パスを用いてファクスされる前に、処理され、バイナリ画像に変換される。制限のために、バイナリ・ハーフトーン領域における後処理が、プリント／コピーの画質改善のために一般的に行われている。例えば、ぼやけ又はカラーフリンジのような、シャープなエッジ解像力の劣化を回避しつつ、滑らかな階調（トーン）領域におけるハーフトーン・ドット分布の均一性を改善したいと願う。多機能プリンタのコピー用途においては、写真データにおける急激な色の彩度低下への副作用を回避しながら、残りのカラードットをエッジの周りの黒色ドットと置き換えることによって、黒色／白色のテキスト・エッジを強調したいと願う。
【０００５】
混合したコンテンツのバイナリ画像データの適切な後処理を保証するための１つの方法が、エッジ検出である。従来のエッジ検出アルゴリズムは、しばしば、局所的（すなわちローカル）なグラジエント（勾配）計算で動作する。異なる配向をもつエッジを検出するために、異なるグラジエント（勾配）演算子及び複雑な論理の組み合わせがデータに適用される。このことがプロセスに計算を付加する。
【０００６】
さらに、グラジエント演算子は、必ずしも分散ドット・バイナリ・ハーフトーン画像にとって効果的なものではない。通常の分散ドット・バイナリ・ハーフトーン画像は、誤差拡散が適用された画像データから構成される。バイナリ印刷において、結果は、ドットが印刷されない０、又はドットが印刷される１のいずれかである。その時点における実際の画像データの値によって、このことが誤差をもたらす。例えば、２５６のグレー・シェードを用いる印刷システムは、印刷されるドットの値が２５５である。そのピクセルについての実際の画像データを２００とし、５５の誤差値をもたらすこともできる。局所的（ローカル）なグレー・レベルを維持するために、この誤差値をフィルタ処理し、次いで近隣のピクセルに拡散させる。このことにより、ドットがエッジの周りに散乱又は分散され、それがエッジ検出をより困難にする。さらに、中間階調において現在のところ公知の規則正しいバイナリ・ハーフトーン・パターンが、グラジエントベースの方法を用いて誤ったエッジ検出をもたらすことがある。
【課題を解決するための手段】
【０００７】
本発明は、エッジの検出方法を提供する。このエッジ検出方法は、現在（目標）の画像要素の周りにローカルウィンドウを定め、前記ローカルウィンドウの内の少なくとも１組のピクセルをカウントし、前記ピクセル組内のピクセル数がしきい値より上かどうかを判断し、前記ピクセル数が前記しきい値より上である場合、前記ローカルウィンドウに関連した少なくとも２つの重心を見つけ、前記２つの重心間の距離がしきい値距離より大きいかどうかを判断し、前記２つの重心間の距離がしきい値距離より大きい場合、前記現在の画像要素をエッジ要素として定める、諸ステップを含む。
【発明を実施するための最良の形態】
【０００８】
図１は、イメージング（画像形成）システム１０の一実施形態を示す。このイメージング・システムは、画像を表すデータを取得する画像取得エンジン１２を有する。このエンジンは、コピー機又はファックス機上にあるようなスキャナとすることができる。既存の文書を走査して、画像データを捕獲することによって、画像データを取得することができる。この走査は、コピー機からなどのプラテンガラス、又はファクス機からなどのライトバーによって行うことができる。
【０００９】
走査プラテン又はライト（光）バーに加えて、或いは走査プラテン又はライトバーの代わりに、ユーザがオリジナル文書を作成したホスト・コンピュータから、画像を取得することもできる。このホスト・コンピュータを、プリント・システムを保持する装置に直接接続することができ、或いはホスト・コンピュータが、データ・ネットワークから該装置にアクセスすることもできる。さらに、画像取得は、電話線を通して、ファックス受信機で受信するファックスによるものにすることもできる。しかしながら、取得されるといっても、画像取得エンジンは、画像データを受信する。
【００１０】
次に、取得された画像データは、画像処理モジュール１４に送られる。画像処理は、取得される画像の値を取って必要な処理を行い、レンダリング（可視化）のためにデータが出力エンジンに送られることを可能にする。このことは、画像取得エンジンがレッド・グリーン・ブルー（ＲＧＢ）色空間において画像データを取得するとき、出力エンジンがシアン・イエロー・マゼンタ・ブラック（ＣＭＹＫ）色空間において機能するといった、色空間の交換を含むことができる。
【００１１】
画像データをレンダリング（可視化）する準備ができた後、例えば、画像処理モジュール「内に」常駐する、後処理モジュール１６において後処理を行うことができる。後処理は、画像プロセッサの専用部分とすることができ、プロセスが、該プロセッサ上で動作する。一般的に、このモジュールにおいて、画像の強調がなされる。例えば、後処理モジュールは、画像処理システムに起因するハーフトーン化アーチファクトに対処することができる。一般に、後処理モジュールにおいて、バイナリ・エッジ検出プロセスを実行することができる。
【００１２】
後処理の後、ピクセル値の形態の改善された画像データが、出力エンジン２０に送られる。このプロセスの間、処理中の様々な段階において、データを一時的にメモリ１８に格納することができる。さらに説明されるように、メモリは、ルックアップテーブル及び／又はレジスタを含むことができる。
【００１３】
出力エンジン２０は、画像データから画像をレンダリングすることができる、幾つかの異なるエンジンの１つとすることができる。一実施形態において、出力エンジンは、インク、染料、又はトナーを介して、画像を、紙又は印刷基材の上にレンダリング（可視化）するプリント・エンジンである。こうしたプリント・エンジンの一例が、ゼログラフィ方式プリント・エンジンとしても知られている電子写真式プリント・エンジンである。出力エンジンの他の例は、ファックスが電子メールに変換され、ファクス・サーバからユーザのデスクトップに画像として経路指定されるときのようなグラフィック・アダプタとすることができ、或いはこの出力エンジンは、データをファイルに書き込むことができる。
【００１４】
上述のように、画像データ内のエッジ検出は、出力エンジンがそのエッジを補償し、好ましくないアーチファクトを回避することを可能にする。誤差拡散プロセスの間、画像全体にわたって、ドットを散乱させることができ、そのことにより、エッジがぼやけるか、又は他の場合には、白色ライン及び黒色ラインの周りにカラーフリンジ（色の縞）を有することがある。後処理モジュール及びシステム内の他のモジュールは、実際上、他のモジュールと同じプロセッサ上で作動するプロセスとすることができる。しかしながら、理解を容易にするために、後処理モジュール１６が、図２により詳細に示される。
【００１５】
後処理モジュールは、画像処理モジュールから現在（目標）のピクセル値を受け取る。後処理モジュールは、画像データを直接受け取ることもできる。プロセッサ１６０は、データを分析し、ピクセルがエッジ上にあるかどうかを判断する。受信時に現在（目標）のピクセル値をメモリ１６２内に即座に格納することができる。さらに、メモリ１６２は、レジスタ又は他のメモリ部分１６４内に最小カウントを格納し、しきい値距離をメモリ部分１６６内に格納することもできる。これらのメモリ部分は、後処理モジュール内で分離することができ、或いはシステム内のどこか他の場所に配置することができる。ここに与えられた例は、単に理解を容易にするためのものである。結果として得られる出力ピクセル値は当該ピクセルがエッジ・ピクセルとして指定されるかどうかによって決まる。後処理モジュールは、指定によってピクセル値を変更することができる。実際のピクセル値の変更は、本開示の範囲を超えるものであり、完全を期すために説明されるだけである。
【００１６】
さらに、ここまでの議論は、ピクセル値について言及した。後に説明されるように、分析においてピクセル値を用いることができるが、分析中のエンティティを、画像のピクセル又はサブブロックとすることができる。分析中のエンティティを画像要素と呼ぶことができる。サブブロックは、エッジ検出に用いられることになる、システム設計者が定める任意の領域とすることができる。議論を容易にするために、分析中のエンティティをピクセルとする。ピクセルの周りにローカル（局所）ウィンドウが形成される。このウィンドウは、任意の所望の数の要素を有することができる。与えられた例において、ウィンドウは、５×５である。考慮中のエンティティは、中心ピクセルである。このようなウィンドウの例が、図３に示される。
【００１７】
ウィンドウ３０は、２５のピクセルを有し、０のデータは、ドットが印刷されていない白色として示され、１のデータは、黒色として示されている。多くの印刷システムにおいて、０値は白色に対応し、１は黒色に対応するが、反対の関係を有する「ネガティブ」印刷も、この開示の範囲内で可能である。図３のウィンドウ３０は、白色ピクセル及び黒色ピクセルが、ほぼ均等に広がっている。実際には、白色は、紙に適用される色がないということであったとしても「白色ピクセル」という用語が用いられることに留意されたい。同様に、ここでの議論は、理解の簡単化のために、白色及び黒色を使用しており、カラーへの拡張については、後により詳細に説明される。
【００１８】
ウィンドウ３０と対照的に、図４のウィンドウ３２は、分極化（ポーラライズ））した白色及び黒色の広がりを有する。下方の左コーナー部は大部分が白色であり、上方の右コーナー部は大部分が黒色である。こうした色の分極化を、エッジ検出のために利用することができる。白色領域の重心及び黒色領域の重心を取った場合、これらの重心が、ある距離だけ互いからオフセットしている可能性が高い。
【００１９】
幾何学的重心は多くの異なる方法で見つけることができる。例えば、Ｎ×Ｎのウィンドウを考える。ウィンドウ内のバイナリ・ピクセルの組は、Ｂ＝｛ｂ（ｉ，ｊ），ｉ＝１，２・・・Ｎ；ｊ＝１，２・・・Ｎ｝と示すことができる。この例において、ｂ（ｉ，ｊ）は、黒色の場合は１であり、白色の場合は０である。次に、黒色ピクセルの組は、Ｐk＝｛ｂ（ｉ，ｊ）：ｂ（ｉ，ｊ）＝１｝と定めることができる。白色ピクセルの組は、Ｐw＝Ｂ−Ｐkと定めることができる。Ｃkとして示される黒色ピクセルの組の幾何学的重心は（ｘk，ｙk）＝（平均（ｉk），平均（ｊk））によって見つけることができ、ここで、黒色ピクセルは、ウィンドウ・ピクセルの組Ｐの要素であり、ｉk，ｊkは、黒色ピクセルの行及び列の数である。Ｃwとして示される白色ピクセルの組の幾何学的重心は、（ｘw，ｙw）＝（平均（ｉw），（平均（ｊw））によって見つけることができ、ここで、白色ピクセルは、ウィンドウ・ピクセルの組Ｐの要素であり、ｉw，ｊwは、白色ピクセルの行及び列の数である。
【００２０】
２つの重心間の距離を測るため、距離公理を満たす距離関数を用いることができる。同様にユークリッド距離のような他の距離を用いることもできるが、ｘより上の「市街地」距離及びｙの上下の「市街地」距離により、所望の計算が簡単になると思われる。「市街地」距離は、以下のとおり定めることができる。
2006295919.tif 000003
【００２１】
図４に見られるようなウィンドウについて、１，１から５，５までのローカル（局所）座標に示されるピクセル値は、次のとおりである。
（１，１）＝１，（１，２）＝１，（１，３）＝１，（１，４）＝１，（１，５）＝１
（２，１）＝０，（２，２）＝０，（２，３）＝１，（２，４）＝１，（２，５）＝１
（３，１）＝０，（３，２）＝１，（３，３）＝０，（３，４）＝１，（３，５）＝１
（４，１）＝０，（４，２）＝０，（４，３）＝０，（４，４）＝１，（４，５）＝１
（５，１）＝０，（５，２）＝０，（５，３）＝０，（５，４）＝０，（５，５）＝１
【００２２】
次に、黒色ピクセル及び白色ピクセルの組は、次のとおりである。
2006295919.tif 000004
【００２３】
上記の例においては、１４の黒色ピクセルがあるので、平均（ｉk）は、３３／１４すなわち２．３であり、平均（ｊk）は、５２／１４すなわち３．７１である。平均（ｉw）は、４２／１１すなわち３．８１であり、平均（ｊw）は、２３／１１すなわち２．０９である。これらの位置が、図５に示される。
【００２４】
１つの可能な実施は、重心を求めることを可能にするため、ルックアップテーブルへの指標として、ウィンドウ内のデータ値から形成される「ワード」を使用することである。例えば、図４の画像についてのデータの「ワード」を、図６に見られるような１及び０に変換することができる。このワード、１１１１１００１１１０１０１１０００１１００００１となる。次に、これを用いて、黒色の重心、白色の重心、又はその両方を格納するルックアップテーブルにインデックス（索引）することができる。黒色の重心を計算し、これを白色ウィンドウについての重心の位置と比較することによって、エッジを求めることが可能である。５×５のウィンドウの場合、ウィンドウの重心は（３，３）である。黒色の重心とウィンドウの重心との間の距離が、しきい値より上である場合、プロセスは、ピクセルをエッジ・ピクセルと識別する。
【００２５】
この同じプロセスを、カラー・エッジを含むように拡張することができる。例えば、ある色が他の色の他の重心からある距離だけ離れている場合、これは、その色の中にエッジが存在することを示し得る。例えば、シアン、イエロー、及びマゼンタの混合である背景の上にイエローの文字が印刷されている場合、イエローだけの領域があるため、イエローの重心は、他の色の重心からオフセットすることになる。このことは、イエローの領域の方向に重心を空間移動させ、イエローの重心が、他の色の重心から少なくともしきい値距離だけ遠ざかるようにする。
【００２６】
ハイライト及び影の領域において１つの問題が生じ得る。これらの領域は、小さなローカルウィンドウ内に、少数の黒色ピクセル又は白色ピクセルだけを有するようにできる。このことは、重心位置の推定を不安定なものにし、よって画像要素の誤分類をもたらすことがある。この問題に対処する１つの方法は、黒色及び白色の画像要素について、又はカラー画像要素について、最小の画像要素カウントを用いることである。上に与えられた例においては、ウィンドウについての最小の黒色ピクセル・カウント及び白色ピクセル・カウントとなる。２色より少ないピクセル・カウントがしきい値より下である場合、そのピクセルは、非エッジ・ピクセルとして分類される。
【００２７】
最小カウントが満たされ、距離がしきい値距離より大きい場合、画像要素をエッジ要素として分類することができる。この判断についてのプロセス全体の実施形態が、図７に示される。符号４０のブロックにおいて、現在（目標）の画像要素の周りのウィンドウ・サイズが定められ、その画像要素の周りにローカルウィンドウが形成される。上記の例においては、ローカルウィンドウ・サイズは５×５であり、画像要素はピクセルであった。そのウィンドウ・サイズ、並びに、ピクセル、サブブロック又は画像の他のセグメントのいずれかを用いることとは、システム設計者に任されている。これらの選択は、プリント・エンジンのインチ当たりのドット数、オリジナル画像の解像度、スキャナの伝達関数などに基づくことができる。
【００２８】
符号４２のブロックにおいて、ウィンドウ内のピクセル数がカウントされる。画像要素がサブブロック又は他のセグメントである場合でさえも、ピクセル数は、その領域がハイライトであるか、影であるか、又は計算されることになる安定した重心を可能にするのに全体的に十分なピクセルを有していない他のタイプの領域であるかを判断するものであることに留意されたい。カウントが符号４４における最小値より下である場合、符号４６において、その要素は非エッジ要素として定められる。カウントが符号４４における最小値より上である場合、符号４８において重心が見つけられる。重心間距離も求められる。符号５０において、重心間距離が、しきい値距離Ｄtと比較される。しきい値間の距離が、符号５０におけるしきい値距離より大きい場合には、符号５２において、その要素はエッジ要素として定められる。距離が符号５０におけるしきい値距離より小さい場合には、符号４６において、その画像要素は非エッジ要素として定められる。現在（目標）の要素についてのプロセスが完了すると、次に、ウィンドウが「スライド」して次の要素を囲み、プロセスが繰り返される。
【００２９】
図８は、上に与えられた例によるエッジ又は非エッジとして要素を分類するためのプロセスの特定の実施形態を示しており、そこでは、画像要素はピクセルであり、ローカルウィンドウは５×５のピクセル領域である。説明のためだけに、この例において白色及び黒色が用いられる。変数Ｄtは、しきい値距離で開始され、変数Ｍは、最小カウントで開始される。符号６０において、重心の座標がゼロに設定され、ピクセルの座標（ｉ，ｊ）がゼロに設定される。符号６２において、ピクセルが黒色ピクセル（１）であるか、又は白色ピクセル（０）であるかの判断がなされる。ピクセルが黒色ピクセルである場合、カウント＿ｋはインクリメントされ、ｉ及びｊについての黒色の座標の合計が、ｉ及びｊの現在値だけ増加される。ピクセルが白色ピクセルである場合、符号６４において、白色カウントｃｏｕｎｔ＿ｗ及び白色の座標の合計についてこのプロセスが実行される。
【００３０】
符号６６において、ウィンドウ内にピクセルがなくなるまでプロセスが繰り返される。ウィンドウ内の最後のピクセルがカウントされた後、符号６８において、そのカウントが最小カウントと比較される。ピクセル・カウントが最小値より下である場合には、符号７２において、そのピクセルは非エッジ・ピクセルとして分類され、ウィンドウが次のピクセルにスライドし、プロセスが再び始まる。
【００３１】
ピクセル・カウントが最小値より上である場合には、符号７０において、黒色及び白色についての座標の平均値が計算され、重心と平均値間の距離が求められる。符号７４において、距離がしきい値より上である場合、そのピクセルはエッジ・ピクセルと識別され、ウィンドウは次のピクセルにスライドし、プロセスは符号６０に戻る。距離がしきい値より上でない場合、符号７２において、そのピクセルは非エッジ・ピクセルと識別され、プロセスは符号６０に戻る。図８に示されるこのプロセスは、図７に示される一般的なプロセスのより詳細な実施形態である。
【００３２】
上述のように、実施形態の変形は、異なる色、異なる画像要素、及び異なる重心を含むことができる。しかしながら、一般的には、２つの重心が、各々の色平面について計算される。一実施形態において、重心は、黒色の重心と白色の重心である。別の実施形態においては、重心は、黒色の重心とウィンドウの重心である。色の適用の場合には、重心は、最も正確なエッジ検出を提供すると思われる任意の組み合わせにすることができる。
【００３３】
これらの方法を実行する後処理モジュールは、「フォー・イン・ワン」のプリンタ、コピー機、スキャナ、及びファクス機としても知られている多機能周辺機器、又は他のイメージング装置及び／又は印刷装置において実施することができる。この方法及び構成要素を、特定用途向け集積回路（ＡＳＩＣ）のファームウェア又は論理、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプロセッサ内に含ませることができる。幾つかの実施形態において、コンピュータ可読コードの項目は、実行されたときに、この場合はイメージング・システムであるコンピュータに、上述の方法を実行させる命令を含むことができる。この項目を用いて、既存のイメージング・システム上で動作するソフトウエア／ファームウェアをアップグレードすることができる。
【図面の簡単な説明】
【００３４】
【図１】イメージング・システムの一実施形態を示すブロック図である。
【図２】イメージング・システムにおける後処理モジュールの一実施形態を示すブロック図である。
【図３】ローカルウィンドウの一実施形態を示す図である。
【図４】ローカルウィンドウの代替的な実施形態を示す図である。
【図５】ローカルウィンドウにおける重心の図式的表示を示す図である。
【図６】ローカルウィンドウのデータ表示を示す図である。
【図７】エッジ検出を行う方法の一実施形態を示すフロー図である。
【図８】エッジ検出を行う方法の代替的な実施形態を示すフロー図である。
【符号の説明】
【００３５】
１０：イメージング・システム
１２：画像取得エンジン
１４：画像処理モジュール
１６：後処理モジュール
１８、１６２：メモリ
２０：出力エンジン
３０：ウィンドウ
３２：ウィンドウ
１６０：プロセッサ
【図１】
2006295919.tif 000005
【図２】
2006295919.tif 000006
【図３】
2006295919.tif 000007
【図４】
2006295919.tif 000008
【図５】
2006295919.tif 000009
【図６】
2006295919.tif 000010
【図７】
2006295919.tif 000011
【図８】
2006295919.tif 000012