(57)【要約】      （修正有）【課題】  ページ記述言語で記述された曲線を直線近似で分割して処理する場合、非常に多くのセグメントが含まれることになり、各セグメントのデバイス空間上での線幅を求めることは非常に大きな演算コストがかかりパフォーマンスがでない問題点を解決し、高速且つ高画質のライン描画を行なう。【解決手段】  ライン生成時にパス全体のデバイス空間上でのラインの幅を演算し、パスの全てのセグメントが通常ラインであるか、または全てのセグメントが細線であるか確定できる場合には、セグメント毎の演算を省略して各セグメントの属性を設定することにより、高速且つ正確に通常ライン又は細線属性の判定を行い、一連のセグメントから構成されるパスのセグメント毎に太らせ処理を施して、ラインの外形を形成し、前記外形の中を塗ることにより、太さを持ったライン画像を形成する。【選択図】  図７
2008023953.tif 000002
【特許請求の範囲】
【請求項１】
一連のセグメントから構成されるパスのセグメント毎に太らせ処理を施して、ラインの外形を形成し、前記外形の中を塗ることにより、太さを持ったライン画像を形成する画像形成装置において、
パス全体の取り得るラインの幅を予め求めるライン幅演算手段と、
前記ライン幅演算手段により求めたライン幅の最大値が、閾値以下または下まわれば形成されるライン全体に細線属性を付与し、前記ライン幅演算手段により求めたライン幅の最小値が閾値以上で又は上回れば形成されるライン全体に通常ライン属性を付与する、一括属性付与手段と、
前記一括属性付与手段により、ライン全体の属性を付与できなかった場合、パスのセグメント毎にライン幅を演算し、その結果によりセグメント毎に細線属性または通常ライン属性を付与する、セグメント毎ライン属性付与手段をもつことを特徴とする画像形成装置。
【請求項２】
一連のセグメントから構成されるパスのセグメント毎に太らせ処理を施して、ラインの外形を形成し、前記外形の中を塗ることにより、太さを持ったライン画像を形成する画像形成装置において、セグメント毎にライン幅を演算する、セグメント毎ライン幅演算手段と、前記セグメント毎ライン幅演算手段において１つでも、閾値を超える幅を持つセグメントがあれば、形成されるライン全体に通常ライン属性を付与する手段、
とを持つことを特徴とする画像形成装置。
【請求項３】
一連のセグメントから構成されるパスのセグメント毎に太らせ処理を施して、ラインの外形を形成し、前記外形の中を塗ることにより、太さを持ったライン画像を形成する画像形成装置において、セグメント毎にライン幅を演算する、セグメント毎ライン幅演算手段と、前記セグメント毎ライン幅演算手段において１つでも、閾値を下まわる幅を持つセグメントがあれば、形成されるライン全体に細線属性を付与する手段、
とを持つことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、双方向性インターフェースを介してネットワーク上の複数のホストコンピュ−タ及び他のプリンタ等出力装置に接続されるプリンタ等の出力装置及び該装置における出力方法に関する。
【背景技術】
【０００２】
近年、情報処理システムで作成された文書の高画質出力への要求が高まっており、高画質出力を行なうための様々技術が提案されている。高画質出力を行なうための技術の一つとして画像中の線（ライン）についての処理がある。例えば、画像中のラインについて
・一定以上の線幅がないと、印刷時にかすれるため太くする
・一定以下の線幅については、トナーの飛び散りが多くなってしまうためトナー載り量制限を書ける
・一定以下の線幅については、解像度変換時に単純間引きを行なうと、消えてしまう可能性があるため特殊な処理を行なう
等の処理が提案されている。これらの処理の基本となる技術が、画像に含まれるラインのうち一定線幅以下のラインを細線と判定する細線判定処理である。
【０００３】
例えばページ記述言語で記述されたラインを描画する場合の処理について説明する。
【０００４】
ページ記述言語では、座標空間として、ユーザがスクリプト上で描画のための座標を指定する、ユーザ座標空間と、出力デバイス上での座標を表すデバイス座標空間がある。この、ユーザ座標空間と、デバイス座標空間はカレント変換行列（ＣＴＭ）と呼ばれる行列で関連づけられている。ライン描画を行なう場合、スクリプト上ではラインの中心を通るパスを指定する。このパスを、セグメントと呼ぶ直線成分に分割し、各セグメント毎に太らせ処理を施して、ラインの外形を構成するパスを生成する。図３には太らせ処理の概要を説明している。図３の３０１は、１つのセグメントであり、このセグメントに対して線幅Wで太らせ処理を施した結果生成されるパスが３０２である。このように太らせ処理は、対象となるセグメントを中心とし、指定された幅を持つ矩形のパスを生成する。太らせ処理によって生成した矩形パスを、CTMによってデバイス座標に変換しパス内の塗りつぶしを行なう。
【０００５】
一方で、一般的にCTMによって規定されるデバイス座標への変換は、X方向、Y方向の拡大率が異なるため、デバイス座標に変換された矩形パスの幅をセグメントに平行なパスの間隔（距離）であると規定した場合、セグメントの角度によって幅はそれぞれ異なる。
【０００６】
図４はこの様子を例示したものである。図４の（a)の401はユーザ空間で指定されたパスの例である。(b)はパス401に対して幅Wの太らせ処理を施した図であり、セグメント毎に402、403、404のような幅Wの矩形パスが生成される。(c)はを[0.5 0 0 2]のCTMで対応づけられるデバイス座標へ402、403，404を変換したときのパスを表している。405、406、407はそれぞれユーザ空間上の402、403、404に対応するパスである。図のようにもはや各パスの幅は一様ではなく、407のパスに至っては矩形ですらない。407のパスの幅は408に示す部分の長さであり、セグメントに並行な2本のパス間の距離となる。
【０００７】
従来、デバイス座標空間上で実際に描画される線が細線であるか否かを判定するために、セグメント毎にデバイス座標空間での線幅を求めその線幅を元に判定していた。
【０００８】
従来例としては、例えば特許文献１をあげることが出来る。
【特許文献１】特開平11-129547号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
通常1つのパスは複数のセグメントで構成される。さらにパス内に曲線部分を含む場合、図5に例示されるように、曲線を直線近似できるまで分割して処理を行なうため、非常に多くのセグメントが含まれることになる。
【００１０】
一方で、各セグメントについてデバイス座標空間上での線幅を求めるための演算量は決して小さなものではなく、すべてのセグメントの線幅を求めることは非常に大きな演算コストがかかってしまいパフォーマンスが出ないという問題点がある。
【００１１】
さらには、例えばユーザ空間上で円を形成するパスをライン描画する場合、CTMによっては円の位置よりデバイス空間上での線幅が異なるため、１つの連続する円内で細線であると判断される部分と通常ラインと判断される部分が混在する場合がある。この場合、細線や通常ラインに施される画像処理によっては、その処理の違いにより細線と通常ラインの継ぎ目が目立ってしまい、画質向上のために行なっている画像処理が画像劣化を引き起こしてしまう場合がある。
【課題を解決するための手段】
【００１２】
上記課題を解決する本発明の、一連のセグメントから構成されるパスのセグメント毎に太らせ処理を施して、ラインの外形を形成し、前記外形の中を塗ることにより、太さを持ったライン画像を形成する画像形成装置は以下に示す構成を備える。即ち、パス全体の取り得るラインの幅を予め求めるライン幅演算手段と、前記ライン幅演算手段により求めたライン幅の最大値が、閾値以下または下まわれば形成されるライン全体に細線属性を付与し、前記ライン幅演算手段により求めたライン幅の最小値が閾値以上で又は上回れば形成されるライン全体に通常ライン属性を付与する、一括属性付与手段と、前記一括属性付与手段により、ライン全体の属性を付与できなかった場合、パスのセグメント毎にライン幅を演算し、その結果によりセグメント毎に細線属性または通常ライン属性を付与する、セグメント毎ライン属性付与手段とを備える。
【００１３】
さらに、本発明の、一連のセグメントから構成されるパスのセグメント毎に太らせ処理を施して、ラインの外形を形成し、前記外形の中を塗ることにより、太さを持ったライン画像を形成する画像形成装置は以下に示す構成を備える。即ち、セグメント毎にライン幅を演算する、セグメント毎ライン幅演算手段と、前記セグメント毎ライン幅演算手段において１つでも、閾値を超える幅を持つセグメントがあれば、形成されるライン全体に通常ライン属性を付与する手段、とを備える。
【００１４】
さらに、本発明の、一連のセグメントから構成されるパスのセグメント毎に太らせ処理を施して、ラインの外形を形成し、前記外形の中を塗ることにより、太さを持ったライン画像を形成する画像形成装置は以下に示す構成を備える。即ち、セグメント毎にライン幅を演算する、セグメント毎ライン幅演算手段と、前記セグメント毎ライン幅演算手段において１つでも、閾値を下まわる幅を持つセグメントがあれば、形成されるライン全体に細線属性を付与する手段、とを備える。
【００１５】
かかる、構成において、パスのすべてのセグメントが通常ラインであるか、またはすべてのセグメントが細線であるか確定できる場合には、セグメント毎の演算を省略して各セグメントの属性を設定することにより、高速且つ正確に通常ライン又は細線属性の判定を行なう。
【００１６】
さらに、パスの各セグメントから生成されるラインの中に、細線と通常ラインの属性が混在する場合には、どちらか一方に統一することにより、細線と通常ラインの切れ目で起こる画像劣化を無くし、高画質のライン描画を行なう。
【発明の効果】
【００１７】
以上述べたように本発明によれば、パスのすべてのセグメントが通常ラインであるか、またはすべてのセグメントが細線であるか確定できる場合には、セグメント毎の演算を省略して各セグメントの属性を設定することにより、高速且つ正確に通常ライン又は細線属性の判定を行なうことができる。
【００１８】
さらに、パスの各セグメントから生成されるラインの中に、細線と通常ラインの属性が混在する場合には、どちらか一方に統一することにより、細線と通常ラインの切れ目で起こる画像劣化を無くし、高画質のライン描画を行なうことができる。
【発明を実施するための最良の形態】
【００１９】
（第１実施例）
本実施例の構成を説明する前に、本実施例を適用するに好適なレーザビームプリンタおよびインクジェットプリンタの構成について図１を参照しながら説明する。なお、本実施例を適用するプリンタは、レーザビームプリンタおよびインクジェットプリンタに限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【００２０】
図１は本発明を適用可能な出力装置の構成を示す断面図であり、例えばレーザビームプリンタ（ＬＢＰ）の場合を示す。
【００２１】
図１において、1000はＬＢＰ本体であり、外部にネットワークや直接インターフェースで接続されているホストコンピュータ等の外部情報源から供給される印刷情報（文字コード等）やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。1012は操作のためのスイッチおよびＬＥＤ表示器等が配されている操作パネル、1001はＬＢＰ本体1000全体の制御および外部ネットワーク等から供給される文字情報等を解析するプリンタ制御ユニットである。このプリンタ制御ユニット1001は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ1002に出力する。レーザドライバ1002は半導体レ−ザ1003を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ1003から発射されるレーザ光1004をオン・オフ切り換えする。レーザ光1004は回転多面鏡1005で左右方向に振らされて静電ドラム1006上を走査露光する。これにより、静電ドラム1007上には文字パターンの静電潜像が形成されることになる。この潜像は、静電ドラム1006周囲に配設された現像ユニット1007により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ1000に装着した用紙カセット1008に収納され、給紙ローラ1009および搬送ローラ1010と搬送ローラ1011とにより、装置内に取り込まれて、静電ドラム1006に供給される。
【００２２】
図２は本発明の実施例を示すプリンタ制御システムの構成を示すブロック図である。図2のプリンタ制御ユニット1001において、MAIN-CPU1はプリンタのCPUであり、ROM4に記憶された制御プログラムや外部メモリ7に記憶された制御プログラムなどに基づいてシステムバス5に接続される各種のデバイスへのアクセスを総合的に制御し、印刷部インタフェース8を介して接続される印刷部(プリンタエンジン)9に出力情報として画像信号を出力する。ROM4には図３、図４ のフローチャートに示されるようなMAIN-CPU1の制御プログラムや、プリンタ1000の制御に必要なデータを記憶する。MAIN-CPU1はI/O11を介して外部ネットワーク3000に接続されているホストコンピュータ等の外部装置と通信可能に構成されている。なお、ホストコンピュータと外部ネットワークを介して通信するとしているが、図示しない直接インターフェースを介してホストコンピュータと接続し、通信を行なっても良いことは言うまでもでもない。2はMAIN-CPU1の主メモリ・ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。3は前記RAM2上に用意される画像出力バッファであり、フォールバックバッファや画像スプールとして後述する20のハードレンダラーやMAIN-CPU１上で実行されるソフトレンダラ-で作成されるラスタイメージ及び属性ビットが記録される。6はメモリコントローラ（MC）であり、ハードディスク等の外部メモリ7へのアクセスを制御する。20はハードレンダラーであり、内部にローカルメモリ21及びワークテーブル30を持っている。ハードレンダラー20は、ローカルメモリ21に転送されてきたディスプレイリスト（DL）を解釈し、ラスタイメージ及びラスタイメージの各ピクセル毎に対応する属性ビットを作成（レンダリング）する。ハードレンダラ20のレンダリングで生成される各属性ビットは、1bitのカラービット、1bitの細線/小文字ビット及び2bitのオブジェクト種ビットの３つのビットフィールド計４bitで構成されている。
【００２３】
カラービットは対応するピクセルがカラーオブジェクトを構成するピクセルであるか、白黒オブジェクトを構成するピクセルであるかを表し、このビットが”０”である時にはカラーオブジェクトを構成するピクセルであり、”１”である時には白黒オブジェクトを構成するピクセルであることを示す。
【００２４】
細線/小文字ビットは対応するピクセルが細線又は小文字を構成するピクセルであるか否かを表し、このビットが”１”である時には細線を構成するピクセルであることを示す。
【００２５】
オブジェクト種ビットは対応するピクセルがどのような種類の描画オブジェクトを構成しているかを表し、”０１”の時には文字オブジェクトを構成するピクセルであり、”１０”のときにはグラフィックスオブジェクトを構成するピクセルであり、”１１”の時にはイメージオブジェクトを構成するピクセルであり、”００”の時には、ラインそのピクセルはラインオブジェクトを構成するピクセルであることを示す。
【００２６】
細線/小文字ビットは対応するピクセルが細線又は小文字を構成するピクセルであるか否かを表し、このビットが”１”である、前述のオブジェクト種ビットが文字オブジェクトであることを示しているときには、そのピクセルは小文字を構成するピクセルであり、ラインオブジェクトであることをしめしているときには、そのピクセルは細線を構成するピクセルであることを示す。
【００２７】
非可逆圧縮/伸張部22は前記ラスタイメージの非可逆圧縮/伸張を実行し、可逆圧縮/伸張部23は前記属性ビットの可逆圧縮/伸張を実行する。
【００２８】
画像処理部24は、ハードレンダラー20やソフトレンダラによって生成された属性ビットに基づいて、ラスタデータに文字用の画像処理、イメージ用の画像処理、グラフィック用の画像処理、カラー用の画像処理、白黒用の画像処理、細線用の画像処理、小文字用の画像処理のいずれかまたは組み合わせて施す。
【００２９】
このように構成されたプリンタ制御システムにおいて,図６，及び図７のフローチャートに従って本発明の第1実施例を説明する。
【００３０】
図６は、プリンタ1000の基本的な印刷処理の動作の流れを示すフローチャートである。
【００３１】
プリンタ1000は外部ネットワーク3000からPDLデータを受信すると（Ｓ１０１）、受信したPDLデータを解釈してディスプレイリスト（DL）を作成し（Ｓ１０２）、作成したDLをハードレンダラ２０でレンダリングしてラスタイメージ及び対応する属性ビットを生成し、出力バッファ３へ格納する（Ｓ１０３）。格納されたラスタイメージは画像処理部24により、属性ビットに対応する画像処理を施した後（Ｓ１０４）、印刷部９で用紙上へ印刷する（Ｓ１０５）。
【００３２】
続いて、Ｓ１０２のＰＤＬデータ解析／ＤＬ生成の処理の内容をより詳細に説明する。
【００３３】
ＰＤＬデータの中で図形描画のために指定される座標は、実際に描画の行なわれる座標系（デバイス空間）とは独立した、任意の座標系で指定され、このＰＤＬデータ中で指定される座標の座標空間をユーザ空間と呼ぶ。ユーザ空間とデバイス空間はカレントマトリクス（以後ＣＴＭと呼ぶ）によって関連付けられており、ユーザ空間で指定された座標はＣＴＭによりデバイス空間に写像される。
【００３４】
ＰＤＬデータには描画を行なうコマンドとして、主に、拡大や縮小、回転等のＣＴＭの変更を行なうＣＴＭ変更命令、ユーザ空間上で描画するオブジェクトの形を指定するパスを構築するパス構築命令、前記構築したパスを指定線幅、ジョイン、キャップを持つラインとして描画するライン描画命令、前記構築したパスの内部を塗りつぶすパス塗りつぶし命令、指定したイメージ画像を描画するイメージ描画命令、文字列を描画する文字描画命令、画像のクリップを指定するクリップ指定命令等が含まれている。
【００３５】
ＰＤＬデータ解析処理は、前述のような各種コマンドの含まれるＰＤＬデータを解析し、対応するコマンドに応じた処理を実行し、ハードレンダラ20の解釈可能なディスプレイリストの生成をする。
【００３６】
ここでは、ＰＤＬ解析処理の中で特に、ＰＤＬデータ内にライン描画命令があった場合の処理を図７のフローチャートを参照して詳細に説明する。
【００３７】
ライン描画命令が実行される際、通常は事前に前記パス構築命令郡によってラインとして描画すべきパスが構築されている。パスは直線成分と、曲線成分により構成されており、曲線成分が含まれる場合ステップＳ２０１で曲線成分の直線化処理を行なう。パス中で曲線成分は2つの端点と2つの制御点で定義されるベジエ3次曲線で定義されており、1つのベジエ3次曲線は2つベジエ3次曲線に分割することが可能である。分割を繰り返すことにより、分割されたベジエ3次曲線は端点を結ぶ直線に近づいていく。この分割を分割されたベジエ3次曲線が直線とみなすことができるまで繰り返すことにより直線近似を行なう。直線化処理後のパス中の各セグメントは、２つの短点のみで定義される直線となる。
【００３８】
続いてステップＳ２０２において、パスに指定線幅の太らせ処理をした後ＣＴＭを適用してデバイス空間に写像した場合に、デバイス空間上で取り得る線幅を求める。
【００３９】
デバイス空間上での取り得る線幅はユーザ空間上での指定線幅ＳとＣＴＭから以下のように求めることができる。
ＣＴＭを
【００４０】
【数１】
2008023953.tif 000003
とすると、図８のようにユーザ空間上でX軸に対しθの角度（ラジアン）を持つセグメントのデバイス空間上での線幅は、
【００４１】
【数２】
2008023953.tif 000004
と表すことができるので、デバイス空間上の線幅をDSとすると、少なくとも
【００４２】
【数３】
2008023953.tif 000005
であり、ａ=0且つd=0であれば、
【００４３】
【数４】
2008023953.tif 000006
また、ｂ=0且つｃ=0であれば、
【００４４】
【数５】
2008023953.tif 000007
となる。
【００４５】
続いてデバイス空間上で取り得る線幅と、予め設定されている細線と判断すべき線幅の閾値Thとを比較し、デバイス空間上で取り得る線幅の範囲がTh以下であれば（ステップS２０３）、線属性を細線に設定し（ステップS２０４）、デバイス空間上で取り得る線幅の範囲がTｈよりも大きければ（ステップS２０５）、線属性を通常ラインに設定する（ステップS２０６）。前述の２つの条件にどちらにも当てはまらない場合は、線属性を不定に設定する（S２０７）。
【００４６】
ステップS２０８〜ステップS２１３の処理は直線化したパスの各直線セグメント毎に繰り返し行なう。
【００４７】
ステップS２０９では着目している直線セグメントの太らせ処理を行ない、ユーザ空間上で指定線幅を持つセグメントを中心とした矩形パスを生成する。ステップS２１０では、現在設定されている線属性を参照し、不定でなければ、描画属性に線属性に設定されている値を設定した上（S２１２）、ステップS２０９で生成した矩形パスをCTMでデバイス空間に変換して太らせ処理をした矩形パスをCTMでデバイス空間へ変換したうえでDL生成処理に渡して注目セグメントをライン描画するためのDLを生成する（ステップS２１３）。なお、ここで生成されるDLにより、前記ステップS１０３のレンダリング時に描画されるピクセルに対応ずる属性ビットはステップS２１２で設定されたものが出力されている。
【００４８】
ステップS２１０で線属性が不定である場合、ステップS２１１で太らせ処理後の矩形パスのデバイス空間上での幅を計算し、計算で求めた幅と前記閾値Thを比較して、幅がThよりも大きければ、通常ライン、Th以下であれば細線を描画属性に設定する（ステップS２１２）下のち、S２１３のDL生成処理が実行される。
【００４９】
以上、第１実施例によれば、ライン生成時にパス全体のデバイス空間上でのラインの幅を演算することにより、パスのすべてのセグメントが通常ラインであるか、またはすべてのセグメントが細線であるか確定できる場合には、セグメント毎の演算を省略して各セグメントの属性を設定することにより、高速且つ正確に通常ライン又は細線属性の判定を行なうことが可能であり、PDLシステム全体として高速且つ高画質の印刷出力を得ることができる。
【００５０】
（第２実施例）
本実施例を適用するプリンタ構成、プリンタ制御システム構成は図1及び図2に示される第1実施例と同一のものである。さらに、プリンタ1000の基本的な印刷処理の動作も図６の示すフローチャートと同一であるため、説明は割愛し、図９のフローチャートを使用して本実施例のＰＤＬデータ内にライン描画命令があった場合の処理を説明する。
【００５１】
ライン描画命令が実行される際、通常は事前に前記パス構築命令郡によってラインとして描画すべきパスが構築されている。パスは直線成分と、曲線成分により構成されており、曲線成分が含まれる場合ステップＳ３０１で曲線成分の直線化処理を行なう。パス中で曲線成分は2つの端点と2つの制御点で定義されるベジエ3次曲線で定義されており、1つのベジエ3次曲線は2つベジエ3次曲線に分割することが可能である。分割を繰り返すことにより、分割されたベジエ3次曲線は端点を結ぶ直線に近づいていく。この分割を分割されたベジエ3次曲線が直線とみなすことができるまで繰り返すことにより直線近似を行なう。直線化処理後のパス中の各セグメントは、２つの短点のみで定義される直線となる。
【００５２】
続いてステップＳ３０２において、パスに指定線幅の太らせ処理をした後ＣＴＭを適用してデバイス空間に写像した場合に、デバイス空間上で取り得る線幅を求める。
【００５３】
デバイス空間上での取り得る線幅はユーザ空間上での指定線幅ＳとＣＴＭから以下のように求めることができる。
ＣＴＭを
【００５４】
【数６】
2008023953.tif 000008
とすると、図８のようにユーザ空間上でX軸に対しθの角度（ラジアン）を持つセグメントのデバイス空間上での線幅は、
【００５５】
【数７】
2008023953.tif 000009
と表すことができるので、デバイス空間上の線幅をDSとすると、少なくとも
【００５６】
【数８】
2008023953.tif 000010
であり、ａ=0且つd=0であれば、
【００５７】
【数９】
2008023953.tif 000011
また、ｂ=0且つｃ=0であれば、
【００５８】
【数１０】
2008023953.tif 000012
となる。
【００５９】
続いてデバイス空間上で取り得る線幅と、予め設定されている細線と判断すべき線幅の閾値Thとを比較し、デバイス空間上で取り得る線幅の範囲がTh以下であれば（ステップS３０３）、線属性を細線に設定し（ステップS３０４）、デバイス空間上で取り得る線幅の範囲がTｈよりも大きければ（ステップS３０５）、線属性を通常ラインに設定する（ステップS３０６）。前述の２つの条件にどちらにも当てはまらない場合は、線属性を不定に設定する（S３０７）。
【００６０】
ステップS３０８〜ステップS３１４の処理は直線化したパスの各直線セグメント毎に繰り返し行なう。
【００６１】
ステップS３０９では着目している直線セグメントの太らせ処理を行ない、ユーザ空間上で指定線幅を持つセグメントを中心とした矩形パスを生成する。ステップS３１０では、現在設定されている線属性を参照し、不定であれば、ステップＳ３１４の太らせ処理で生成した矩形パスを一時保管しておく（ステップＳ３１４）。
【００６２】
ステップS３１０で線属性が不定である場合、ステップS３１１で太らせ処理後の矩形パスのデバイス空間上での幅を計算し、計算で求めた幅と前記閾値Thを比較して（ステップＳ３１２、幅がThよりも大きければ、ステップＳ３１３で線属性に通常ラインを設定した上で、ステップＳ３１４の太らせ処理で生成した矩形パスを一時保管しておき、幅がＴｈ以下であれば、矩形パスの保管のみを行なう（ステップＳ３１２）。
【００６３】
全セグメントに対する処理が終了した後、ステップＳ３１５では線属性に設定されている属性を参照し、通常ラインであれば描画属性に通常ライン、通常ライン以外の場合は細線を設定する。ステップＳ３１６ではステップＳ３１４で保管されてすべてのパスをCTMでデバイス空間へ変換したうえでDL生成処理へ一括で渡して、入力パスをライン描画するためのＤＬを生成し終了する。なお、ここで生成されるDLにより、前記ステップS１０３のレンダリング時に描画されるピクセルに対応ずる属性ビットはステップS３１５で設定されたものが出力されている。
【００６４】
以上、第２実施例によれば、ライン生成時にパス全体のデバイス空間上でのラインの幅を演算することにより、パスのすべてのセグメントが通常ラインであるか、またはすべてのセグメントが細線であるか確定できる場合には、セグメント毎の演算を省略して各セグメントの属性を設定することにより、高速且つ正確に通常ライン又は細線属性の判定を行なうことが可能である。さらに、ライン描画命令に渡されたパスの一部でも通常ラインの幅があると判断されれば、描画されるライン全体が通常ラインとしての画像処理が施され、一方で全体が細線の条件を満たしているときには全体が細線の画像処理が施されるため、ライン描画命令に渡されるパスの描画処理の途中で、画像処理が切り替わること無く、全体に均一な画像処理を施すことができ、高画質の印刷出力を得ることができる。
【００６５】
なお、本実施例では、ラインの一部が通常ラインとしての幅を持てば、ライン全体が通常ラインとして画像処理が施されるとしているが、ラインの一部が細線の条件を満たしていれば、ライン全体に細線としての画像処理が施されるようにしても良いことは言うまでも無い。
【図面の簡単な説明】
【００６６】
【図１】本発明を適用可能な実施例の出力装置の構成を示す断面図である。
【図２】本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。
【図３】太らせ処理の概要を説明する図である。
【図４】本発明の課題を説明する図である。
【図５】パスに含まれる曲線の直線近似の例を示す図である。
【図６】本発明の実施例の、プリンタ１０００の動作を説明するフローチャートである。
【図７】本発明の第１実施例の、ライン描画命令の処理を説明するフローチャートである。
【図８】本発明の実施例の、線幅の計算式を説明するための図である。
【図９】本発明の第２実施例の、ライン描画命令の処理を説明するフローチャートである。
【符号の説明】
【００６７】
1  CPU
2  RAM
3  出力バッファ
20  ハードレンダラー
21  ローカルメモリ
22  非可逆圧縮部
23  可逆圧縮部
24  画像処理部
30  ワークテーブル
1000  プリンタ
1001  プリンタ制御部
3000  外部ネットワーク
【図１】
2008023953.tif 000013
【図２】
2008023953.tif 000014
【図３】
2008023953.tif 000015
【図４】
2008023953.tif 000016
【図５】
2008023953.tif 000017
【図６】
2008023953.tif 000018
【図７】
2008023953.tif 000019
【図８】
2008023953.tif 000020
【図９】
2008023953.tif 000021