(57)【特許請求の範囲】
【請求項１】
画素バッファに、予め定められたＮ（Ｎは自然数）画素幅の白または黒である第１の色のラインと、当該第１の色の補色である黒または白の第２の色の背景と、当該ラインと当該背景との境界であり、グレーの色のエッジと、で形成された画像を表しかつ水平方向と当該水平方向に直交する直交方向との各々に複数個配置された複数の画素データから得られる、当該複数の画素の各々を長手方向が当該水平方向の長方形の複数の部分に分割して得られかつ当該画素と同じ色の画素の部分のデータであるサブ画素のデータで構成される複数のサブ画素データで構成されるデータである高アドレス可能度画像データにおける水平方向に複数個配置された画素データの列の各画素データを、複数の列の当該直交方向の一方の端の列から他方の端の列に向かって列毎に順に、入力するとともに、当該画素バッファにＮ＋３個の列の画素データが保持されるように、より早く入力された列の順に当該列の各画素データが当該画素バッファから出され、
前記画素バッファ内の前記高アドレス可能度画像データ内の水平のラインと前記背景との境界でありかつ前記他方の端側のエッジである先端エッジを識別し、
前記ラインの前記直交方向のランの長さおよび該ラインの色にもとづいて第一のルックアップテーブルを参照することにより先端エッジ調整の量を決定し、
前記画素バッファ内の前記高アドレス可能度画像データ内の水平のラインと前記背景との境界でありかつ前記一方の端側のエッジである後端エッジを識別し、
前記ラインの前記直交方向のランの長さおよび該ラインの色にもとづいて第二のルックアップテーブルを参照することにより後端エッジ調整の量を決定し、
前記先端エッジ調整の量にもとづいて前記先端エッジの位置を、前記直交方向に最大１画素分、当該先端エッジの画素を挟む前記直交方向の２つの画素の前記一方の端側の画素または前記他方の端側の画素のサブ画素の位置を基準に変更することにより前記ラインの太さを収縮または膨張し、
前記後端エッジ調整の量にもとづいて前記後端エッジの位置を、前記直交方向に最大１画素分、当該後端エッジの画素を挟む前記直交方向の２つの画素の前記他方の端側の画素または前記一方の端側の画素のサブ画素の位置を基準に変更することにより前記ラインの太さを収縮または膨張し、
前記先端エッジ調整の量は前記先端エッジの位置を変更する量を示す情報であり、
前記後端エッジ調整の量は前記後端エッジの位置を変更する量を示す情報であり、
前記第一のルックアップテーブルは、ラインのランの長さおよび色と前記先端エッジ調整の量とを関連付けて記憶しており、
前記第二のルックアップテーブルは、ラインのランの長さおよび色と前記後端エッジ調整の量とを関連付けて記憶しており、
前記先端エッジを識別する処理は前記画素バッファに保持されるＮ＋３個の列の画素データの内の最後に入った列の画素データから開始され、
前記後端エッジを識別する処理は前記画素バッファに保持されるＮ＋３個の列の画素データの内の次に出る列の画素データから開始される、
プリンタ印字およびディスプレイ表示のための可変ライン幅調整の実行方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アンチエイリアシングされた画像データに適合し、必要とする走査画像データのバッファリング量が最小である、プリンタによってレンダリングされる又はモニタに表示されるラインを制御する装置及び方法に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
今日のマーキングデバイスは、一般的に、画像の構成に用いられる理想的なプリンタモデルと一致しない。例えば、図１に示されるような、くっきりとした正方形の重複しない画素の代わりに、実際のデバイスは、図２に示されるような、画素領域を完全に覆うために重複している、境界がゆるやかな大きな丸いスポットを描くことがある。
【０００３】
ライン及び文字が、これらの実際のスポットを用いて描かれると、それらは、意図される理想よりも太く又は細くなることがある。マーカの実際の挙動は、例えば、細いラインを太くし過ぎ、太いラインを細くし過ぎるというように、複雑な場合がある。マーカを補償するために、ライン及び文字の幅を調整するためのレンダリングプロセスを用いることができる。１つの手法は、ラインをラスタ化する際にライン幅を調整することであるが、ラインは常に独立しているわけではないので、必ずしも効果的とは限らない。例えば、隣どうしが異なる色の一連のラインを描くことによってカラーのスイープを構成することがある。従って、各ラインの幅を他のラインと無関係に調整すると、単にスイープを壊すことになる場合もある。代替の手法は、完全にラスタ化された画像を解析して、ラインを検出し、それらの幅を変更することである。しかし、変更がライン幅の関数である従来の方法で、幅Ｎ画素までのラインを検出して変更するには、２Ｎ＋３画素平方のウィンドウが必要である。従って、２Ｎ＋３本の走査線をバッファしなければならない。しかし、幅Ｎが大きい場合、このメモリは高価である。
【０００４】
【課題を解決するための手段】
本発明の例示的な実施形態は、高いアドレス可能度をサポートする画像レンダリングシステムにおけるライン幅の膨張又は収縮を補償するための方法及びシステムを提供する。幅調整の量は、ライン幅の関数とすることができる。この方法は、レンダリング後に、サブ画素、ビットパターンに対して適用され、アンチエイリアシング及びハーフビット化(half-bitting)のような他のサブ画素レンダリング技術と両立する。この方法及びシステムは、マーカライン幅の補償のために必要な走査線のバッファリングが、従来の方法よりも少ない。詳細には、この方法及びシステムは、Ｎ個の画素までの幅を検出及び調整するのに、従来必要な２Ｎ＋３本ではなく、Ｎ＋３本の走査線を必要とする。
【０００５】
本発明の態様は、画素バッファに高アドレス可能度画像データを入力するステップと、前記画素バッファ内の前記高アドレス可能度画像データ内の水平又は斜めのラインの先端エッジを識別するステップと、先端エッジ調整の量を決定するステップと、前記画素バッファ内の前記高アドレス可能度画像データ内の水平又は斜めのラインの後端エッジを識別するステップと、後端エッジ調整の量を決定するステップと、前記先端エッジ調整の量及び前記後端エッジ調整の量に基いてライン幅を調整するステップと、を有する、可変ライン幅調整の実行方法である。
【０００６】
本発明の上記及び他の特徴及び長所は、本発明に従ったシステム及び方法の以下の詳細な説明において述べられ、又はそこから明らかとなる。
【０００７】
【発明の実施の形態】
本発明の長所は、以下の本発明の例示的な実施形態の詳細説明を、添付の図面と共に考察することにより、容易に認識及び理解されよう。図中、同じ番号を有する要素は同一である。
【０００８】
新しいレンダリング技術は、少なくとも１方向（一般的にレーザプリンタの高速走査方向）において、高いアドレス可能度を可能にするものが多い。これは、幾つかの長所を提供することができる。より良好なハーフトーンドット設計のために、更なる自由度を与える。オブジェクトのエッジのアンチエイリアシングに用いることができる。また、幅の補償の、より細かい制御に用いることができる。しかし、これらの様々な目的の相互作用の仕方に問題がある。詳細には、本発明は、特に、アンチエイリアシングの実行と両立する、幅の調整を行う方法に関する。
【０００９】
その結果、例示的な実施形態に従った可変ライン幅調整システムは、ハーフトーン化及びアンチエイリアス化レンダリングが実行された後の画像（データ）パスに配置されるのが好ましい。可変ライン幅調整の実行方法は、画像レンダリングシステムにおいてハーフトーン化、アンチエイリアス化レンダリング、及びカラー画像補正と共に実行されてもよく、そのように実行されるのが好ましい。この方法及びシステムは、ラスタ画像データに作用する。このラスタ画像データは理想的な画像データである。このシステムの操作及びこの方法の実行により、本来理想的ではない画像レンダリングデバイスを用いた、理想的な画像データの効果的なレンダリングが可能となる。
【００１０】
従って、ライン幅の検出及び調整は、画像の高アドレス可能度仕様に適用される。例えば、４００×４００スポット/インチ（ｓｐｉ）の連続階調画像データの処理が始まり、８倍のアドレス可能度でアンチエイリアス化レンダリングと共にハーフトーン化が行われると、４００×３２００ｓｐｉの二値画像が提供される。ライン幅の検出及び調整が行われるのは、この４００×３２００ｓｐｉ画像データに対してである。高アドレス可能度のサブ画素には、８個のグループ単位でアクセスでき、各グループは、元の４００×４００ｓｐｉ画像データの単一の画素に対応する。
【００１１】
例示的な実施形態に従って実行されるライン幅調整方法は、このように画像を処理する。従って、この方法は、各グループが、画像の重複しない正方形の領域を表すサブ画素のグループを処理する。例えば、図３に示されるように、画素３００は、８個のサブ画素３１０に分けられる。
【００１２】
バッファの要件を２Ｎ＋３から僅かＮ＋３に削減することは、各画素を１回より多く検査することによって実現できる。このアンチエイリアシングとの両立性は、この調整が、エッジ画素を越えて、延長又は短縮のいずれにも拡張可能であることを意味する。オーバーフローの性質は、例えば、このようなラインの両側の画素を変更できるものである。可能な変更に対して、各画素は８回検査される。この例示的な実施形態の説明を通して、ライン幅調整は各側で１画素を超えることはないことが前提とされる。従って、ライン幅の変更は、最大で２画素の幅である。この例示的な実施形態に従って行われるライン幅調整の実行方法は、より大きな変更にまとめることができる。しかし、２画素の幅を超えるライン幅の変更を扱うには、追加の走査線をバッファし、画像画素を更に検査する必要がある。
【００１３】
この例示的な実施形態に従って実行される方法は、画像データを検査して、黒又は白、即ちグレーではない画素のランを識別する。黒又は白の画素では、サブ画素の値は全て同じ値、即ち全て黒又は全て白である。短いランはライン横断部である可能性があるので、短いランの長さがライン幅となるであろう。
【００１４】
図４に示されるように、ライン幅調整方法はステップＳ４００で開始し、制御はステップＳ４１０に進む。ステップＳ４１０では、高アドレス可能度画像データが、例えば画像の走査によって、画素バッファに入力され、制御はステップＳ４２０に進む。ステップＳ４２０では、高アドレス可能度画像データ内の水平又は斜めのラインの先端エッジが識別される。
【００１５】
ステップＳ４２０の処理は、水平のラインが解析されているのか又は斜めのラインが解析されているのかによって異なる。水平のラインに対しては、図５に示されるように、垂直な画素シーケンスが検査される。これは、垂直シーケンス中の画素が黒、白、又はグレーのいずれであるかを示すビットによってインデックスされたテーブル検索を用いて実行できる。これは、論理的な操作を用いて実行されてもよい。
【００１６】
例えば、走査線ｓの位置ｐの画素が水平なラインの先端エッジであるか否かを決定するテストを行ってもよい。そのようなテストでは、（ｐ，ｓ＋１）の画素はグレー以外でなければならない。（ｐ，ｓ）の画素の値は、（ｐ，ｓ＋１）の画素の値と一致してはならない。この値が（ｐ，ｓ＋１）の画素の補数である間、１で開始し増分するｉについて、（ｐ，ｓ−ｉ）の画素の値が検査される。換言すれば、（ｐ，ｓ＋１）の画素が白である場合には、（ｐ，ｓ）の画素に続く黒い画素の数が数えられる。ｉの値は、色が変わるまで又はバッファされた画素が全て解析されるまで増分される。ｉの最終的な値がランの長さとなる。このランの長さは、ラインの太さを示し、調整量の決定に用いられる。
【００１７】
画素バッファを最適に用いるためには、図６に示されるように、ｓ＋１の走査線は、バッファに一番後から入力されたラインであるべきである。
【００１８】
ステップＳ４２０では、画素が水平なラインのエッジに対応するか否かの決定を助けるために、（ｐ−１，ｓ）又は（ｐ＋１，ｓ）のいずれかの画素の値が、（ｐ，ｓ＋１）の画素の値と異なるか否かをチェックすることが好ましいかもしれないことを認識されたい。画素がこのテストに不合格となる場合、即ち、（ｐ−１，ｓ）又は（ｐ＋１，ｓ）のいずれかの画素が、（ｐ，ｓ＋１）の画素の値と同一である場合には、この画素は水平なラインのエッジを表わしていないので、このランに対する更なる処理は停止される。
【００１９】
別の可能な精選方法は、白い背景上の単独の明るい画素（ランの長さが０）又は黒い背景上の単独の暗い画素の形態のノイズのテストである。画素のランがこのテストに不合格となる場合は、この画素のランに対する更なる処理は停止される。孤立したノイズスポット（例えば白い背景上の黒いスポット）は、垂直方向に短いランの長さ（例えばｉ＝１）を有し、水平方向の延びは等しく限られている（例えば（ｐ＋１，ｓ）及び（ｐ−１，ｓ）の画素は黒ではない）と予測される。そのようなノイズは、劣化したハードコピー画像を走査した等のように、システム内にノイズのソースが存在する場合にのみ出現することを認識されたい。コンピュータで生成した理想的な合成画像には、そのようなノイズは存在しない。
【００２０】
画素のランの長さ及び色を用いて、調整量を決定する。ラインの色は、位置（ｐ，ｓ＋１）で検出される背景色の補色である。
【００２１】
斜めのラインに対しても、ステップＳ４２０は類似している。斜めのラインのサーチは、類似しているが、画素の垂直なシーケンスを検査する代わりに、図７に示されるように、画素の斜めのシーケンスを検査する。従って、斜めの画素シーケンス内で、ｓが増分されるにつれ、ｐは増分又は減分される。先端エッジの直近の画素は、背景の非グレー値を有しているはずであり、丁度斜めに沿っている画素は、そうではない。例えば、ｐが増分されｓが減分される方向のランをテストしている際には、位置（ｐ−１，ｓ＋１）の画素は、非グレー画素でなければならない。しかし、（ｐ，ｓ＋１）又は（ｐ−１，ｓ）のいずれかの画素は、（ｐ−１，ｓ＋１）の画素と同じ非グレー背景値を有していなければならない。
【００２２】
画素が本当にラインのエッジに属していることを確実にするために、更なるテストが望まれる場合は、周囲の画素のグレースケール値を解析する付加的なテストを適用することができる。例えば、（ｐ，ｓ＋１）、（ｐ，ｓ−１）及び（ｐ−１，ｓ−１）の画素が全て背景色である場合、又は（ｐ−１，ｓ）、（ｐ＋１，ｓ）及び（ｐ＋１，ｓ＋１）の画素が全て背景色である場合は、そのランの更なる処理を停止して、そのランを捨てることができる。本明細書のこの考えは、エッジ画素の両側に、背景のグレースケール値を有する画素があるはずがないというものである。
【００２３】
ｓが減分されるにつれてｐが減分される、別の斜め方向のランの長さの決定は、上述の説明と類似している。
【００２４】
斜めのランの長さは、水平又は垂直の長さとは、実際には２の平方根のファクターにより異なることに留意されたい。従って、斜めのランの長さを再スケーリングすること、又は、さらに好ましくは、水平のランに対しては斜めのランとは異なる調整テーブルを用いて処理を２段階に分けることが望まれるかもしれない。
【００２５】
ライン幅調整の実行方法は、図４に示されるように、ステップＳ４３０に進む。ステップＳ４３０は処理の第２段階であり、先端エッジ調整が計算される。そして、制御はステップＳ４４０に進む。ステップＳ４３０は、ランの長さ及び色をインデックスとして用いるルックアップテーブルを用いて実行できる。従って、図８に示されるように、色及びランの長さがテーブルインデックス８１０に挙げられている。ルックアップテーブル８２０は、置換パターン部８３０及びオーバーフローパターン部８４０を含む。ラインの色は、画像データの背景色の補色とされる。このテーブル８２０は、マーキングエンジンの挙動に対する補償を提供する。インデックス８１０に基いてテーブル８２０を参照することにより、テーブル８２０はラインの太さを収縮又は膨張する量を示す情報を提供する。
【００２６】
エッジ画素の現在のビットパターンも、ルックアップテーブル８２０のインデックス８１０の一部として含まれてもよいことを留意されたい。テーブル８２０は、現在のビットパターンに対応する置換パターン及びオーバーフローパターンを含む新しいビットパターンを供給できる。ランの方向に基いて、それに従った調整パターンを選択するように、異なるテーブルを用いてもよい。ランの方向に基いてパターンの選択を変えることにより、アンチエイリアシングされたエッジを適切な方向に膨張又は収縮できるとともに、良好に適合するハーフビット化調整の解決法が提供される。
【００２７】
アンチエイリアシングが用いられている場合は、エッジの位置を、高アドレス可能度の限度内のサブ画素の精度で指定することができる。エッジは、画素内の、サブ画素の指定に従ったどの位置にあってもよい。エッジは画素の境界の近くに位置し得るので、幅調整は、エッジを、境界を横断して近傍画素内へと移動させてもよい。従って、ライン幅調整テーブルは、現在の画素に対する置換パターンだけではなく、このようなケースが生じた場合に調整がオーバーフローする近傍画素に対するパターンも提供すべきである。従って、ルックアップテーブル８２０は、現在の画素に対する置換パターン及びオーバーフローの影響を受ける近傍画素に対するオーバーフローパターン８４０の両方を含む。
【００２８】
オーバーフローは背景色のグレースケール値を有する画素内に向かうという前提に基いて、処理は実行される。これが一般的であるが、必ずしもこの通りでなくてもよい。従って、この前提に基く処理は、結果に、小さな誤差を導入する場合があることを認識されたい。
【００２９】
水平なラインの先端エッジを処理するための、（ｐ，ｓ）の画素に対するオーバーフローは、エッジが拡張される場合には（ｐ，ｓ＋１）の画素に影響し、エッジが縮小される場合には（ｐ，ｓ−１）の画素に影響する。
【００３０】
斜めのラインのエッジを処理するための、適切なオーバーフローは、これほど明確ではない。オーバーフローの効果を、拡張又は縮小方向に最も近い２つの直近の画素で生じ得るように制限することが好ましい。例えば、ｐが増加してｓが減少するようにランの方向が選択される場合は、（ｐ，ｓ）で拡張するエッジは、エッジ付近の（ｐ−１，ｓ）及び（ｐ，ｓ＋１）の２つの画素内にオーバーフローする。エッジが縮小する場合は、（ｐ＋１，ｓ）及び（ｐ，ｓ−１）の画素が影響を受ける。
【００３１】
ラインのエッジを拡張させるか縮小させるかは、画素のランの色によって示唆されてもよい。或いは、画素のランの色及び画素のランの幅の両方の関数であってもよく、その場合は、ライン幅調整は、調整テーブル８２０を参照することによって与えられてもよい。
【００３２】
３つの方向（即ち水平及び２つの斜め）の各々についての先端エッジ調整が計算されたら、それらの値の相互の折り合いをつけなければならない。この理由は、ラインの先端エッジの配置に対して、最終調整は１回しかできないからである。従って、３つの各方向についての調整から、先端エッジに対する最大の修正を伴う調整が選択される。これを容易にするために、調整テーブル８２０の置換画素部８３０は、得られる調整済の画素パターンと共に、調整量を含んでもよい。オーバーフローパターン８３０も、オーバーフロー画素のために暗くされる複数のサブ画素の調整量を供給できる。
【００３３】
オーバーフローの効果は、検討中の画素の付近の画素、例えば現在の画素の上下左右の２つの画素に影響してもよい。従って、黒いラインを縮小又は白いラインを拡張する場合には、黒いサブ画素の数が最も少ないパターンを選択すべきである。同様に、白いラインを縮小又は黒いラインを拡張する場合には、黒いサブ画素の数が最も多いパターンを選択すべきである。
【００３４】
パターンの選択において、現在の画素の幅の可能なオーバーフローによって示される値と共に、現在の画素の元の値が含まれていてもよい。例えば、位置（ｐ，ｓ）の黒い先端エッジを拡張すべき場合には、水平ラインのエッジに対するテストが、（ｐ，ｓ＋１）の画素内へのオーバーフローを示すことができる。一方の斜めのテストは、（ｐ，ｓ＋１）及び（ｐ−１，ｓ）の画素内への可能なオーバーフローを示すことができる。他方の斜めのテストは、（ｐ，ｓ＋１）及び（ｐ＋１，ｓ）の画素内への可能なオーバーフローを示すことができる。（ｐ，ｓ＋１）の画素に対しては、結果となるパターンは、その元のパターン及び３つの可能なオーバーフローパターンの中から選択されなければならないことを留意されたい。黒が白の中へと拡張するので、黒いサブ画素の数が最も多いパターンが選択される。
【００３５】
現在の位置（ｐ，ｓ）並びにオーバーフロー位置（ｐ，ｓ−１）、（ｐ−１，ｓ）及び（ｐ，ｓ＋１）に対して決定された画素値は、画素バッファ内で直ちに修正されてもよい。しかし、（ｐ＋１，ｓ）の画素の修正は、次の２つの画素の処理による変更を含むために、遅らせるべきである。（ｐ＋１，ｓ）の画素が現在の画素とされ、可能な調整の計算が実行される際には、必要であると決定された任意の調整が、オーバーフロー調整よりも優先されるべきである。処理が次の画素に戻り、（ｐ＋２，ｓ）が現在の位置となった際に、新しい現在の画素の左側に対する新しいオーバーフローパターンに遭遇することがある。これらの新しいパターンは、元の画素の右側の可能なオーバーフローパターンとの折り合いをつけられなければならない。
【００３６】
処理を理解する別の方法は、（ｐ，ｓ）が現在の画素の位置であり、（ｐ−１，ｓ）の画素の値が折り合いをつけられる場合には、その現在の値を、（ｐ，ｓ）の画素の左側のオーバーフロー及び（ｐ−２，ｓ）の画素の右側のオーバーフローと折り合いをつけなければならないというものである。
【００３７】
先端エッジ調整の計算と共に、後端エッジ調整も計算しなければならない。従って、ステップＳ４４０では、高アドレス可能度画像データ内の水平又は斜めのラインの後端エッジが識別される。
【００３８】
ステップＳ４２０と同様に、ステップＳ４４０の処理は、解析されているのが水平ライン又は斜めのラインのどちらであるかによって異なる。これらの処理は、先端エッジの場合と類似しているが、向きが変わっている。バッファを最適に使用するために、図９に示されるように、バッファ内の最後の走査線の次の画素について検討する。
【００３９】
必要なバッファリングの量の削減をもたらすのは、この先端エッジと後端エッジとの向きの変化である。処理中、先端エッジについては、ウィンドウの下部エッジにある注目画素が検討及び解析される。次に、後端エッジについては、ウィンドウの上部エッジが検討及び解析される。
【００４０】
従来の処理では、各画素が調整のために１回だけ検討される。これは、その単独のテストで、上下左右のいずれかのライン上にその画素が存在することに起因する調整が同時に決定されなければならないことを意味する。問題の画素について、全方向の近傍を検査できなければならない。これを行うために、問題の画素の上下の画素をメモリに保持しなければならない。幅Ｎのラインのエッジ上の画素を認識（識別）する場合には、その画素に対する１本の走査線、そのラインに対するＮ本の走査線、及び、そのラインが終わっていることを確認するための、もう１本の走査線が必要である。従って、その画素の走査線より上のＮ＋１本の走査線が必要であるとともに、その下のＮ＋１本の走査線も必要である。このように、従来の処理は、２Ｎ＋３本の走査線のバッファリングを必要とする。
【００４１】
一方、本発明では、画素の検討は１回だけではない。各画素が、バッファに入ってから少し後に１回、及びバッファから出る少し前に再びと、２回検討される。走査線がバッファに入力されると、その上にはバッファに見合うだけの走査線が存在するが、その下には存在しない。従って、走査線がバッファに入る際には、画素が、その上に位置するラインのエッジ上にあるか否かを決定する情報はあるが、その下のラインのエッジ上にあるか否かを決定する情報はない。しかし、走査線がバッファから出る直前には、その下にはバッファに見合うだけの走査線が存在し、その上には存在しない。その時点で、その画素の下にラインが位置するか否かを決定できる。どちらの場合にも、テストに必要な走査線の実際の数はＮ＋３である。従って、画素を２段階で処理することにより、バッファリングの量を２Ｎ＋３からＮ＋３に削減することができる。
【００４２】
走査線全体が存在するので、問題の画素の右側及び左側の挙動に関する情報は常に存在する。従って、垂直なラインに対するチェックを、２つのテスト段階のいずれかに含ませることができる。しかし、第２テスト段階以前の画像の修正を最小にするように、垂直なラインに対するテストは、第２テスト段階の一部として含まれるのが好ましい。水平及び斜めのラインのエッジに対するテストは、ランを決定する際に走査線のインデックスが減分ではなく増分されることを除き、先端エッジに対するテストと同じである。
【００４３】
図４に示されるように、ライン幅調整の実行方法はステップＳ４５０に進む。ステップＳ４５０は処理の第２段階であり、後端エッジ調整が計算される。次に、制御はステップＳ４６０に進み、そこで、更に処理すべき画像データがあるか否かが決定される。肯定される場合は制御はステップＳ４１０に戻る。否定される場合は制御はステップＳ４７０に進み、そこでこの方法は終了する。
【００４４】
本発明は、概要を上述した特定の実施形態と共に述べられてきたが、当業者に多くの代替、修正及び変更が明らかであることは明白である。従って、上述した本発明の好ましい実施形態は、説明を意図するものであり、限定するものではない。本発明の精神及び範囲を逸脱することなく、様々な変更がなされ得る。
【００４５】
例えば、幅Ｎ＋３の画素値ウィンドウの使用と共に例示的な実施形態の長所が説明されたが、幅Ｎまでのラインを検出するために幅２Ｎ＋３の画素値ウィンドウを使用すると、先端エッジ及び後端エッジの両方を同時にテストできることを認識されたい。しかし、そのようにウィンドウサイズを大きくすると、追加の走査線バッファリングが必要となり、それによって本発明の実施に関連するメモリのコストを増加させる。
【００４６】
また、先端エッジ処理は、垂直なライン（先端エッジ及び後端エッジの両方）に対する調整も含むことができる。垂直なラインのエッジに対するテストは、水平なラインに対するテストと類似しており、走査線インデックスと画素インデックスとの役割が入れ替わっている。しかし、垂直なラインのエッジに対するテストの実施は、現在の画素を潜在的に調整することに加えて、現在の画素の左右の画素に対する可能なオーバーフロー調整も生じ得る。これらの調整は、例えば可能なオーバーフロー調整から最大の調整を選択することにより、斜めのラインから生じるものとの折り合いをつけられなければならない。
【００４７】
更に、ライン幅調整方法の特定の実現例は、更なる洗練を提供できる。例えば、水平なラインの後端エッジが縮小されてオーバーフローする場合には、元の画素をグレーから非グレーに変更できることを留意されたい。これは、次の走査線が処理される際に、エッジの検出を再びトリガし得る。この二重処理を回避する１つの方法は、この場合には、現在の画素を、完全に非グレー値と置換しないことである。その代わりに、１つの補足的なサブ画素値を有するパターンを用いることが好ましい。このようにして、そのパターンをほぼ黒又は白とし、そのエッジの二重エッジ処理をトリガせずに、所望の画像形成を生じるべきである。
【図面の簡単な説明】
【図１】理想的な正方形の重複しない画素のパターンを示す図である。
【図２】画素領域を完全に覆うために重複している、ゆるやかな境界を有する、現実の大きな丸いスポットのパターンを示す図である。
【図３】８個のサブ画素に細分された画素を示す図である。
【図４】例示的な実施形態に従ったライン幅調整方法を示すフロー図である。
【図５】画素の垂直シーケンスを示す図である。
【図６】本発明の例示的な実施形態と共に用いられるバッファを示す図である。
【図７】画素の斜めのシーケンスを示す図である。
【図８】例示的な実施形態と共に用いられるルックアップテーブル構造及び対応するテーブルインデックスを示す図である。
【図９】例示的な実施形態と共に用いられるバッファに格納された画素シーケンスを示す図である。
【符号の説明】
３００    画素
３１０    サブ画素
８１０    テーブルインデックス
８２０    ルックアップテーブル
８３０    置換パターン部
８４０    オーバーフローパターン部
【図１】
0004902826.tif 000002
【図２】
0004902826.tif 000003
【図３】
0004902826.tif 000004
【図４】
0004902826.tif 000005
【図５】
0004902826.tif 000006
【図６】
0004902826.tif 000007
【図７】
0004902826.tif 000008
【図８】
0004902826.tif 000009
【図９】
0004902826.tif 000010