(57)【特許請求の範囲】
【請求項１】
グラフィックオブジェクトのスキャン変換を行う画像形成装置であって、
グラフィックオブジェクトを取得する取得手段と、
前記取得手段により取得された前記グラフィックオブジェクトの線幅を太くする処理を行う補正手段と、
前記補正手段による線幅を太くする処理が行われたグラフィックオブジェクトのスキャン変換を第１の描画方式で行い、前記補正手段による線幅を太くする処理が行われなかったグラフィックオブジェクトのスキャン変換を第２の描画方式で行う描画手段と、を備え、
前記第１の描画方式は、スキャン変換によってグラフィックオブジェクトの幅が切り上げられるか若しくは切り捨てられるかが当該グラフィックオブジェクトの描画位置によって決定する描画方式であり、
前記第２の描画方式は、スキャン変換によってグラフィックオブジェクトの幅が当該幅よりも大きい整数画素幅に変換される描画方式である、
ことを特徴とする画像形成装置。
【請求項２】
前記補正手段による線幅を太くする処理を行うよう設定されているか否かを判定する設定判定手段、をさらに備え、
前記取得手段がグラフィックオブジェクトである細線オブジェクトを取得した場合に、前記補正手段は、前記設定判定手段による判定に従って、前記細線オブジェクトに前記補正手段による線幅を太くする処理を行うか若しくは行わず、
前記描画手段は、前記補正手段による線幅を太くする処理が行われた前記細線オブジェクトのスキャン変換を前記第１の描画方式で行い、前記補正手段による線幅を太くする処理が行われなかった前記細線オブジェクトのスキャン変換を前記第２の描画方式で行う、
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記描画手段は、前記設定判定手段による判定の結果に基づいて、前記取得手段により取得された前記グラフィックオブジェクトのスキャン変換を前記第１の描画方式で行うかあるいは前記第２の描画方式で行う、ことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記取得手段により取得された前記グラフィックオブジェクトが細線オブジェクトであるか否かを判定する細線判定手段、をさらに備え、
前記描画手段は、
前記補正手段による線幅を太くする処理を行うよう設定されていると前記設定判定手段により判定され、かつ、前記取得手段により取得された前記グラフィックオブジェクトが前記細線オブジェクトであると前記細線判定手段により判定された場合、前記描画手段は、前記取得手段により取得された前記グラフィックオブジェクトのスキャン変換を前記第１の描画方式で行い、
前記補正手段による線幅を太くする処理を行うよう設定されていると前記設定判定手段により判定され、かつ、前記取得手段により取得された前記グラフィックオブジェクトが前記細線オブジェクトでないと前記細線判定手段により判定された場合、前記描画手段は、前記取得手段により取得された前記グラフィックオブジェクトのスキャン変換を前記第２の描画方式で行い、
前記補正手段による線幅を太くする処理を行うよう設定されていないと前記設定判定手段により判定された場合、前記描画手段は、前記取得手段により取得された前記グラフィックオブジェクトのスキャン変換を前記第２の描画方式で行う、
ことを特徴とする請求項２又は３に記載の画像形成装置。
【請求項５】
前記取得手段により取得された前記グラフィックオブジェクトの属性はグラフィックである、ことを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記取得手段は、ＰｏｓｔＳｃｒｉｐｔのＰＤＬデータから前記グラフィックオブジェクトを取得する、ことを特徴とする請求項１乃至５のいずれか１項に記載の画像形成装置。
【請求項７】
画像形成装置において実行される方法であって、
グラフィックオブジェクトを取得する取得工程と、
前記取得工程において取得された前記グラフィックオブジェクトの線幅を太くする処理を行う補正工程と、
前記補正工程における線幅を太くする処理が行われたグラフィックオブジェクトのスキャン変換を第１の描画方式で行い、前記補正工程における線幅を太くする処理が行われなかったグラフィックオブジェクトのスキャン変換を第２の描画方式で行う描画工程と、を有し、
前記第１の描画方式は、スキャン変換によってグラフィックオブジェクトの幅が切り上げられるか若しくは切り捨てられるかが当該グラフィックオブジェクトの描画位置によって決定する描画方式であり、
前記第２の描画方式は、スキャン変換によってグラフィックオブジェクトの幅が当該幅よりも大きい整数画素幅に変換される描画方式である、
ことを特徴とする方法。
【請求項８】
前記補正工程における線幅を太くする処理を行うよう設定されているか否かを判定する設定判定工程、をさらに有し、
前記取得工程でグラフィックオブジェクトである細線オブジェクトを取得した場合に、前記補正工程では、前記設定判定工程における判定に従って、前記細線オブジェクトに前記補正工程における線幅を太くする処理を行うか若しくは行わず、
前記描画工程では、前記補正工程における線幅を太くする処理が行われた前記細線オブジェクトのスキャン変換を前記第１の描画方式で行い、前記補正工程における線幅を太くする処理が行われなかった前記細線オブジェクトのスキャン変換を前記第２の描画方式で行う、
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記描画工程では、前記設定判定工程における判定の結果に基づいて、前記取得工程において取得された前記グラフィックオブジェクトのスキャン変換を前記第１の描画方式で行うかあるいは前記第２の描画方式で行う、ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記取得工程において取得された前記グラフィックオブジェクトが細線オブジェクトであるか否かを判定する細線判定工程、をさらに有し、
前記描画工程では、
前記補正工程における線幅を太くする処理を行うよう設定されていると前記設定判定工程において判定され、かつ、前記取得工程において取得された前記グラフィックオブジェクトが前記細線オブジェクトであると前記細線判定工程において判定された場合、前記描画工程では、前記取得工程において取得された前記グラフィックオブジェクトのスキャン変換を前記第１の描画方式で行い、
前記補正工程における線幅を太くする処理を行うよう設定されていると前記設定判定工程において判定され、かつ、前記取得工程において取得された前記グラフィックオブジェクトが前記細線オブジェクトでないと前記細線判定工程において判定された場合、前記描画工程では、前記取得工程において取得された前記グラフィックオブジェクトのスキャン変換を前記第２の描画方式で行い、
前記補正工程における線幅を太くする処理を行うよう設定されていないと前記設定判定工程において判定された場合、前記描画工程では、前記取得工程において取得された前記グラフィックオブジェクトのスキャン変換を前記第２の描画方式で行う、
ことを特徴とする請求項８又は９に記載の方法。
【請求項１１】
前記取得工程において取得された前記グラフィックオブジェクトの属性はグラフィックである、ことを特徴とする請求項７乃至１０のいずれか１項に記載の方法。
【請求項１２】
前記取得工程では、ＰｏｓｔＳｃｒｉｐｔのＰＤＬデータから前記グラフィックオブジェクトを取得する、ことを特徴とする請求項７乃至１１のいずれか１項に記載の方法。
【請求項１３】
請求項７乃至１２のいずれか１項に記載の方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成処理を行う画像形成装置、方法およびプログラムに関する。
【背景技術】
【０００２】
画像形成装置において、入力された描画命令に含まれる属性情報に基づき、描画方式を切り替えて画像を生成する場合がある。ここで、属性情報とは描画命令の種類を示す情報であり、例えば、グラフィック、イメージ、テキストなどがある。
【０００３】
グラフィック、イメージ、テキストなどの描画オブジェクトの要素は、スキャン変換という処理によりレンダリングされ、ラスタ出力デバイスに出力される。スキャン変換では、描画オブジェクトの要素が数学的に記述されたデータから、出力デバイスの最小単位である画素（ピクセル）の色値と位置を計算し、出力デバイスの解像度に適切な出力イメージをレンダリングする。
【０００４】
このスキャン変換において画素の色値をその描画命令に従って決める際に、様々な描画方式が用いられる場合がある。描画方式には、交差方式、左上方式、中心方式などがある。交差方式では、オブジェクトの描画領域にわずかでも交差する画素が塗りつぶされる。左上方式では、画素の左上の端点がオブジェクトの描画領域内にある画素のみ塗りつぶされる。中心方式では、画素の中心がそのオブジェクトの描画領域内にある画素のみが塗りつぶされる。また、非特許文献１は、描画オブジェクトの属性情報に応じて異なる描画方式を用いることを開示する。非特許文献１によれば、グラフィック属性を持つオブジェクトの描画では、交差方式が用いられ、イメージ属性を持つオブジェクトの描画では、中心方式が用いられる。
【０００５】
一方、線幅が狭い細線の描画オブジェクト（細線オブジェクト）を描画する際、細線の再現性を向上するために、細線オブジェクトを補正して出力する技術がある。特許文献１には、線幅が１ドット以下である場合に、アンチエイリアシング処理を通常とは異なる階調で実施することで、細線の再現性を向上させる技術が記載されている。このように細線の再現性を向上することで、画像形成装置の印刷特性を改善することができる。例えば、細線オブジェクトの線幅を太らせる補正を行うことにより、その細線が薄く出力されてしまうことを防ぐ。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−１３９５８９号公報
【非特許文献】
【０００７】
【非特許文献１】ＰｏｓｔＳｃｒｉｐｔリファレンスマニュアル第３版（アドビシステムズ著、株式会社アスキー発行）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
グラフィック属性のオブジェクトのスキャン変換は、オブジェクトの描画領域にわずかでも交差する画素が塗りつぶされる交差方式により実行される。この場合、描画オブジェクトの位置によっては、線幅が太り過ぎてしまうことがある。この現象について、図３を参照しながら説明する。
【０００９】
図３（Ａ）は、０．８ピクセルの論理的な線幅を持つ描画オブジェクトに対して太らせ処理を行って、スキャン変換を行った場合を示している。ここでの太らせ処理は、２．０ピクセル未満の論理的な線幅を持つ描画オブジェクト（細線オブジェクト、あるいは細線と単に呼ぶ）を、２．０ピクセルの論理的な線幅を持つ描画オブジェクトに変換（補正）する処理である。つまり０．８ピクセルの論理的な線幅を持つ描画オブジェクトに対して行われる細線太らせ処理は、その線幅を＋１．２ピクセル太らせる処理である。
【００１０】
図３（Ａ）に示すように、ピクセル座標３００の上に０．８ピクセルの描画オブジェクト３０１がある。描画オブジェクト３０２は、太らせ処理によって描画オブジェクト線幅を２ピクセルに太らせた結果を示している。この描画オブジェクト３０２を、左上方式でスキャン変換した結果がピクセル座標３０３に示されている。図示されるように、色が塗られた座標は、２ピクセルの線幅になる。
【００１１】
一方、描画オブジェクト３０２を、交差方式でスキャン変換した場合、描画オブジェクト３０２に交差したピクセルに色が載る。その結果、ピクセル座標３０４に示されるように、色が塗られた座標は、３ピクセルの線幅になる。これは、太らせ処理の結果が２ピクセルの線幅となることを期待しているのにも関わらず、１ピクセル太らせ過ぎの描画結果になってしまう。
【００１２】
図３（Ｂ）は、描画オブジェクトの位置（左辺）が座標の境界と一致している場合を示している。ピクセル座標３００の上にある０．８ピクセルの描画オブジェクト３０５の左辺位置は、ピクセルの境界と一致している。ここで、太らせ処理を行って線幅を２ピクセルに太らせた場合の描画オブジェクト３０６は、右辺も座標の境界と一致する。つまり、この場合、スキャン変換後の結果は、ピクセル座標３０７と３０８に示されるように、左上方式や交差方式などの描画方式に関わらず、期待通りの２ピクセルの線幅になる。以上のように、太らせ処理を実施すると、描画方式あるいは描画位置によっては、スキャン変換によって描画オブジェクトの線幅が想定したよりも太くなってしまうことがある。
【００１３】
本発明の目的は、このように、太らせ処理を実施する場合に描画オブジェクトの線幅が太くなりすぎてしまうことを解決することにある。上記の点に鑑み、本発明は、所定の条件を満たすオブジェクトに対して行われる処理を適切に実行する画像形成装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、本発明に係る画像形成装置は、グラフィックオブジェクトのスキャン変換を行う画像形成装置であって、グラフィックオブジェクトを取得する取得手段と、前記取得手段により取得された前記グラフィックオブジェクトの線幅を太くする処理を行う補正手段と、前記補正手段による線幅を太くする処理が行われたグラフィックオブジェクトのスキャン変換を第１の描画方式で行い、前記補正手段による線幅を太くする処理が行われなかったグラフィックオブジェクトのスキャン変換を第２の描画方式で行う描画手段と、を備え、前記第１の描画方式は、スキャン変換によってグラフィックオブジェクトの幅が切り上げられるか若しくは切り捨てられるかが当該グラフィックオブジェクトの描画位置によって決定する描画方式であり、前記第２の描画方式は、スキャン変換によってグラフィックオブジェクトの幅が当該幅よりも大きい整数画素幅に変換される描画方式である、ことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、所定の条件を満たすオブジェクトに対して行われる処理を適切に実行することができる。
【図面の簡単な説明】
【００１６】
【図１】画像形成システムの構成を示す図である。
【図２】制御装置のソフトウェアモジュール構成を示す図である。
【図３】スキャン変換を説明するための図である。
【図４】描画補正処理についてのソフトウェアモジュール構成を示す図である。
【図５】線幅の判定方法を説明するための図である。
【図６】細線の補正処理の実行制御を示すフローチャートである。
【図７】描画命令を説明するための図である。
【図８】スキャン変換を説明するための図である。
【図９】細線の補正処理の実行制御を示すフローチャートである。
【図１０】細線の補正処理の実行制御を示すフローチャートである。
【図１１】線幅の補正処理を説明するための図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１８】
［第１の実施形態］
［画像形成システムの構成］
図１は、本実施形態における画像形成システムの構成を示す図である。図１に示すように、本実施形態における画像形成システム１０は、画像形成装置１００と、情報処理装置１７０および１７５とを含む。画像形成装置１００と、情報処理装置１７０と、情報処理装置１７５は、イーサネット（登録商標）等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１６０を介して相互に通信可能に接続されている。
【００１９】
画像形成装置１００は、スキャンやプリント等の画像形成処理や、ファクスや送信機能等、複数種類の機能を実行可能な、いわゆるＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ）である。画像形成装置１００は、リーダー装置１２０、プリンタ装置１３０、操作部１４０、画像記憶部１５０、それらの構成要素を制御する制御装置（コントローラ部）１１０を含む。また、画像形成装置１００は、不図示のネットワークインターフェースコントローラ（ＮＩＣ）を有する。
【００２０】
制御装置１１０は、ＣＰＵ１１２、ＲＯＭ１１４、ＲＡＭ１１６を有し、ＣＰＵ１１２は、ＲＯＭ１１４やＲＡＭ１１６、または、他の記憶領域に記憶されたプログラムを実行することにより、画像形成装置１００全体を統括的に制御する。例えば、ＣＰＵ１１２は、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）解釈処理、ディスプレイリスト生成処理、レンダリング処理等を行うために、予め定められたプログラムをロードして実行する。他の態様として、例えば、レンダリング処理に関して、ＣＰＵ１１２とは別の専用のハードウェアにより実行されるように構成されても良い。
【００２１】
リーダー装置１２０は、不図示の原稿台に置かれた原稿や自動給送装置（ＡＤＦ：Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）から供給された原稿を光学的に読み取る読取装置である。リーダー装置１２０は、例えば、原稿を照射する光源、および、原稿からの反射光を受光して読取信号を出力するイメージセンサを含むイメージセンサユニットを備える。
【００２２】
プリンタ装置１３０は、画像データの画像出力処理（印刷処理）を行う記録装置である。プリンタ装置１３０は、インクジェット記録方式や電子写真方式等、各種の記録方式により、印刷用紙等の記録媒体に対して記録を行う。操作部１４０は、画像出力処理を行うための各種印刷設定や指示操作を受付けるキーボード、画像出力設定を行う操作ボタン等の表示を行う液晶パネル（表示部）を含む。画像記憶部１５０はＨＤＤであり、ＰＤＬで記述された印刷データ（ＰＤＬデータ）を記憶する。例えば、制御装置１１０は、ＮＩＣ（不図示）でＬＡＮ１６０を介してＰＣ等の情報処理装置１７０から送られてくるＰＤＬデータを受信すると、そのＰＤＬデータを画像記憶部１５０に記憶する。このとき画像記憶部１５０は受信バッファとして機能している。なおＰＤＬデータの受信を印刷ジョブの受信とも呼ぶ。本実施形態において、画像形成装置１００として、ＭＦＰの他、ＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）やＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）、または、他の記録方式を実行可能な装置が用いられても良い。
【００２３】
情報処理装置１７０及び１７５は、例えば汎用的なＰＣ等の構成を有する。図１に示すように、情報処理装置１７０及び１７５は、各装置を統括的に制御するＣＰＵ１７２、ＲＯＭ１７４、ＲＡＭ１７６を含む。画像形成装置１００、情報処理装置１７０及び１７５は、図１に示すブロック構成のみでなく、各装置が実行可能な機能に応じたブロックを適宜備える。これら情報処理装置１７０、１７５は、不図示のプリンタードライバープログラムをＣＰＵ１７２によって実行することで、作成されたドキュメントデータをＰＤＬデータに変換して画像形成装置１００に送る。
【００２４】
［画像形成装置１００において動作するソフトウェアモジュールの構成］
図２は、本実施形態における画像形成装置１００の制御装置１１０において動作するソフトウェアモジュールの構成を示す図である。図２に示すソフトウェアは、画像形成装置１００におけるＲＯＭ１１４に記憶され、起動時に、ＲＡＭ１１６へ展開され、ＣＰＵ１１２により実行されることで動作する。
【００２５】
ジョブ制御部２００は、印刷ジョブの入力から画像出力までを関数コールやメッセージ通信などにより制御する。ＰＤＬ解析部２０１、２０２、２０３は、画像形成装置１００に搭載されるＰＤＬの種類に対応して構成されている。例えば、本実施形態では、３種類のＰＤＬ（ＬＩＰＳ（登録商標）、ＰｏｓｔＳｃｒｉｐｔ（登録商標）、ＰＣＬ（登録商標））に各対応したＰＤＬ解析部２０１、２０２、２０３が構成されている。図３のＰＤＬ（Ａ）がＬＩＰＳに、ＰＤＬ（Ｂ）がＰｏｓｔＳｃｒｉｐｔに、ＰＤＬ（Ｃ）がＰＣＬに対応する。ＰＤＬ解析部２０１、２０２、２０３は、ジョブ制御部２００からの制御により、ＰＤＬ受信バッファ（不図示）に格納されたＰＤＬデータを読み込んで取得し、ＰＤＬ解釈処理を実行する。解釈処理後、ＰＤＬ解析部２０１、２０２、２０３はそれぞれ、描画命令（描画情報）をディスプレイリスト生成部２１０に出力する。
【００２６】
ディスプレイリスト生成部２１０は、ジョブ制御部２００からの制御の下、ＰＤＬ解析部２０１、２０２、２０３から出力された描画命令によりディスプレイリストを生成し、生成したディスプレイリストをＲＡＭ１１６に格納する。レンダリング処理部２２０は、ＲＡＭ１１６からディスプレイリストをロードし、レンダリング処理を実行することでディスプレイリストをイメージデータに変換し、画像記憶部１５０へ出力する。本実施形態では、ディスプレイリスト生成部２１０によりディスプレイリストが生成され、レンダリング処理部２２０により画素へのレンダリングが行われるまでの動作を、描画と呼ぶこととする。
【００２７】
画像処理部２３０は、画像記憶部１５０から描画ビットマップイメージおよび属性ビットマップイメージをロードし、属性に応じた最適な画像処理パラメーターで画像処理を実行する。画像処理部２３０は、画像処理により、コントーンイメージデータをハーフトーンイメージデータに変換して画像記憶部１５０へ出力する。
【００２８】
なお、本実施形態の画像形成装置１００は、上述のように、図２に示されるソフトウェアモジュールによって、受信されたＰＤＬデータを処理するが、別の実施形態も考えられる。例えば、ソフトウェアモジュールに代えて、各ソフトウェアモジュールで実行される処理を行うハードウェア回路によっても、画像形成装置１００は実現できる。また、図２のソフトウェアモジュールの一部はソフトウェアモジュールによって実現し、他の部分はハードウェア回路によって実現するようにしても良い。例えば、ＰＤＬ解析部２０１、２０２、２０３、及び、ディスプレイリスト生成部２１０はソフトウェアモジュールによって実現し、レンダリング処理部２２０、画像処理部２３０はハードウェア回路によって実現するようにしても良い。
【００２９】
［太らせ処理のソフトウェアモジュールの構成］
図４は、本実施形態におけるディスプレイリスト生成部２１０に含まれる描画補正処理ソフトウェアモジュールの構成を示す図である。ここで、描画補正処理の一つとして行われる太らせ処理は、「スキャン変換前のＮ未満の細線をＮにする」という処理であり、例えば、Ｎ＝２とすると、線幅が２ピクセル未満の細線を２ピクセルに太らせる処理である。なお、後述のように、描画オブジェクトの線幅を太くする設定がなされている場合に、ディスプレイリスト生成部２１０の描画補正処理モジュールは、描画オブジェクトに対して太らせ処理を行い、その設定がなされていない場合には太らせ処理を行わない。
【００３０】
図３（Ａ）に示すように、ピクセル座標３００の上に０．８ピクセルの描画対象のオブジェクト（描画オブジェクト）３０１がある。描画オブジェクト３０２は、太らせ処理によって描画オブジェクト線幅を２ピクセルに太らせた結果を示している。この描画オブジェクト３０２を左上方式でスキャン変換した結果がピクセル座標３０３に示されている。また、図示されるように、色が塗られた座標は、２ピクセルの線幅になる。
【００３１】
図３（Ｂ）は、描画オブジェクトの位置（左辺）が座標の境界と一致している場合を示している。ピクセル座標３００の上にある０．８ピクセルの描画オブジェクト３０５の左辺位置は、ピクセルの境界と一致している。ここで、太らせ処理を行って線幅を２ピクセルに太らせた場合の描画オブジェクト３０６は、右辺も座標の境界と一致する。スキャン変換後の結果は、ピクセル座標３０７と３０８に示されるように２ピクセルの線幅になる。
【００３２】
描画命令受付部４１０は、ＰＤＬ解析部２０１、２０２、２０３から出力される描画命令を受け付ける。これは、描画命令受付部４１０が描画オブジェクトを取得することに相当する。補正対象決定部４２０は、描画命令受付部４１０が受け付けた描画命令から、補正対象となる描画命令を決定する。本実施形態では、例えば、グラフィック属性であり且つ線幅がＮピクセル未満の細線オブジェクト（Ｎは任意）の描画命令を補正対象とする。これは、補正対象決定部４２０が、描画オブジェクトが所定の条件を満たすかを判定することに相当する。描画命令補正部４３０は、補正対象決定部４２０が補正対象として決定した描画命令について補正処理を行う。つまり、描画命令補正部４３０は、閾値Ｎ未満である線幅をＮに太らせる補正処理を行う。この補正処理は、図７を用いて後述される、描画命令７００に含まれる描画位置・形状７０３の情報を変更（補正）する処理であり、太らせ処理と呼ばれる。またこれは、描画命令補正部４３０が、所定の条件を満たす描画オブジェクトに対して太らせ処理を行うことに相当する。
【００３３】
ここで、補正対象決定部４２０により行われる、線幅が閾値Ｎピクセル未満であるか否かの判定方法について、図５を参照しながら説明する。
【００３４】
グラフィック属性の場合に線を描画する方法として、例えば、ストローク描画方法５１０、２点描画方法５２０、エッジ描画方法５３０がある。ストローク描画方法５１０は、パス５１１と線幅５１２を用いる線描画方法である。このパス５１１は、描画命令７００の描画種別７０１がストローク描画方法である場合に描画位置・形状７０３に含まれる始点および終点の座標で表現される。また線幅５１２は、描画命令７００の描画種別７０１がストローク描画方法である場合に描画位置・形状７０３に含まれるピクセル単位の値で表現される。ストローク描画方法５１０における細線判定方法は、描画オブジェクトの線幅５１２の値が閾値未満（Ｎピクセル未満）であれば細線オブジェクトであり、閾値以上（Ｎピクセル以上）であれば細線オブジェクトでないと判定する。
【００３５】
２点描画方法５２０は、開始点（左上点）５２１と終了点（右下点）５２２を用いる線描画方法である。この開始点５２１および終了点５２２は、描画命令７００の描画種別７０１が２点描画方法である場合に描画位置・形状７０３に含まれる開始点および終了点の座標で表現される。２点描画方法５２０における細線判定方法は、開始点５２１と終了点５２２の幅５２３あるいは幅５２４が閾値未満であれば細線オブジェクトであり、閾値以上であれば細線オブジェクトでないと判定する。幅５２３は、各点のＸ座標の差の絶対値であり、幅５２４は、各点のＹ座標の差の絶対値である。
【００３６】
エッジ描画方法５３０は、左側エッジ５３１と右側エッジ５３２の集合を用いる線描画方法である。この左側エッジ５３１および右側エッジ５３２は、描画命令７００の描画種別７０１がエッジ描画方法である場合に描画位置・形状７０３に含まれる左側エッジの形状を示すパス（複数の座標）および右側エッジの形状を示すパス（複数の座標）で表現される。エッジ描画方法５３０における細線判定方法は、エッジ間の幅５３３あるいはエッジ集合の高さ５３４が閾値未満であれば細線オブジェクトであり、閾値以上であれば細線オブジェクトでないと判定する。エッジ間の幅５３３は、各Ｙ座標における左側エッジと右側エッジのＸ座標の差の絶対値であり、エッジ集合の高さ５３４は、左側エッジおよび右側エッジの高さの最小値である。
【００３７】
次に、後述の図６のフローチャートの処理（Ｓ６１５）で行われる、線幅の太らせ方法を説明する。図５の各線描画方法について太らせ処理したものを図１１に示す。細線太らせ方法は、細線の各描画方法によって異なる。ストローク描画方法１１１０の場合、描画位置・形状７０３に含まれる線幅１１１２が閾値未満である場合に線幅１１１２を閾値Ｎピクセルに補正する。２点描画方法１１２０の場合、幅１１２３が閾値未満である場合に幅１１２３を閾値Ｎピクセルとするように、描画位置・形状７０３に含まれる終了点１１２１を右側に移動する。若しくは、高さ１１２４が閾値未満である場合、高さをＮピクセルとするように、描画位置・形状７０３に含まれる終了点１１２１を下側に移動する。エッジ描画方法１１３０の場合、エッジ間の幅１１３１が閾値未満の場合、エッジ間の幅が線幅Ｎとなるように、描画位置・形状７０３に含まれる右側エッジの位置を移動する。若しくは、エッジ集合の高さ１１３４が閾値未満の場合、エッジ集合の高さが高さＮとなるように、描画位置・形状７０３に含まれる左側エッジ１１３１と右側エッジ１１３２の高さを延長する。
【００３８】
上記のいずれの場合においても、閾値未満に該当するサイズの値を閾値にするように補正しているが、細線の再現性の設定等に応じて、閾値以上の値となるように補正するような構成であっても良い。
【００３９】
［画像形成装置１００の描画方式］
図８は、本実施形態における画像形成装置１００のレンダリング処理部２２０で描画オブジェクトのスキャン変換を行う際の、描画方式による違いを説明するための図である。前述のように、スキャン変換は、描画オブジェクトをピクセル座標の画素に変換する処理である。そのため、小数画素幅（例えば０．８ピクセル幅）を持つ描画オブジェクトは、スキャン変換によって整数画素幅（例えば１ピクセル幅）を持つ描画オブジェクトのイメージ画像に変換される。本実施形態における描画方式としては、例えば、図８に示す交差方式、中心方式、左上方式、左辺方式などがあるが、この他の方式が用いられても良い。なお、これら描画方式は、図７を用いて後述するように、ディスプレイリスト生成部２１０によって生成されたディスプレイリストにおいて指定されている。そして、レンダリング処理部２２０は、その指定されている描画方式にしたがって描画オブジェクトのスキャン変換を行うことで、描画オブジェクトのイメージ画像を生成する。
【００４０】
図８に示す画素８０１〜８１２の大きさは画像形成装置１００の印刷解像度に依存する。通常は、画像形成装置１００の印刷解像度が６００ｄｐｉである場合に、画素の大きさは１／６００＝０．００１６７ｉｎｃｈとなる。また、画像形成装置１００の印刷解像度が１２００ｄｐｉである場合、画素の大きさは１／１２００＝０．０００８３ｉｎｃｈとなる。ここで、図８に示すように、描画オブジェクト８２０は、ディスプレイリスト生成部２１０により生成される描画オブジェクトを表し、画素８０１〜８１２に部分的に重なっているとする。
【００４１】
交差方式では、描画オブジェクト８２０について、描画オブジェクト８２０の領域にわずかでも交差する画素を、塗りつぶす対象（描画対象、レンダリング対象）として塗りつぶしを行う。つまり、描画オブジェクト８２０について、画素８０１、８０２、８０３を、描画オブジェクト８２０の色で塗りつぶす対象とする。すなわち、交差方式に従ったスキャン変換は、スキャン変換前の描画オブジェクトの幅を、その幅よりも大きい整数画素幅に変換する。整数画素幅が描画オブジェクトの幅を切り上げた値となるか、その切り上げた値に１を加えた値になるかは、描画オブジェクトの描画位置に依存する。
【００４２】
中心方式では、描画オブジェクト８２０について、画素の中心が描画オブジェクト８２０の領域内にある画素のみを、塗りつぶす対象として塗りつぶしを行う。つまり、描画オブジェクト８２０について、画素８０５、８０６を、描画オブジェクト８２０の色で塗りつぶす対象とし、画素８０４を塗りつぶす対象としない。
【００４３】
左上方式では、描画オブジェクト８２０について、画素の左上の端点が描画オブジェクト８２０の領域内にある画素のみを、塗りつぶす対象として塗りつぶしを行う。つまり、描画オブジェクト８２０について、画素８０７を描画オブジェクト８２０の色で塗りつぶす対象とし、画素８０８、８０９を描画オブジェクト８２０の色で塗りつぶす対象としない。
【００４４】
左辺方式では、描画オブジェクト８２０について、画素の左辺が描画オブジェクト８２０の領域に包含される画素、および画素の左辺が描画オブジェクト８２０の領域とわずかでも交差する画素を塗りつぶす対象として塗りつぶしを行う。つまり、描画オブジェクト８２０について、画素８１０、８１１を描画オブジェクト８２０の色で塗りつぶす対象とし、画素８１２を描画オブジェクト８２０の色で塗りつぶす対象としない。
【００４５】
すなわち、中心方式、左上方式、左辺方式に従ったスキャン変換は、スキャン変換前の描画オブジェクトの幅を、その幅を切り上げた値か、あるいは、切り捨てた値に変換する。切り上げた値か、切り捨てた値かは、描画オブジェクトの描画位置によって決まる。以上のことから交差方式は、他の描画方式に比べて、画素がオブジェクトの色で塗られやすい傾向がある。
【００４６】
図６は、画像形成装置１００が印刷ジョブを受信し、細線の補正処理の実行制御を示すフローチャートである。図６の各処理は、例えば、ＣＰＵ１１２がＲＯＭ１１４に記憶されたプログラムをＲＡＭ１１６に読み出して実行することにより実現される。
【００４７】
Ｓ６０１にて、ＣＰＵ１１２は、印刷ジョブを受信すると、ジョブ制御部２００によりＰＤＬ種別の判定を行う。例えば、ＣＰＵ１１２は、ＰＤＬ種別がＬＩＰＳであるか、ＰｏｓｔＳｃｒｉｐｔであるかを判定する。
【００４８】
Ｓ６０２にて、ＣＰＵ１１２は、ＰＤＬ種別がＬＩＰＳであると判定された場合はＳ６０３に進み、ＰｏｓｔＳｃｒｉｐｔであると判定された場合はＳ６０６に進む。なお、Ｓ６０３〜Ｓ６０５の処理はＬＩＰＳ用のＰＤＬ解析部２０１により行われ、Ｓ６０６〜Ｓ６１３の処理はＰｏｓｔＳｃｒｉｐｔ用のＰＤＬ解析部２０２により行われる。
【００４９】
以下、Ｓ６０２にて、ＰＤＬ種別がＬＩＰＳと判定された場合の処理について説明する。Ｓ６０３〜Ｓ６０５にて、ＣＰＵ１１２は、ＰＤＬ解析部２０１により、ＰＤＬデータをデータの先頭から末尾まで、描画オブジェクト単位で解釈し、解釈された描画オブジェクトの描画命令をディスプレイリスト生成部２１０に出力する（描画指示）。この場合、描画オブジェクトの描画命令は、左上方式として出力される。この処理をＰＤＬデータ内の全ての描画オブジェクトについて繰り返し行われる（Ｓ６０３〜Ｓ６０５）。なおＳ６０３およびＳ６０５は、描画オブジェクトごとに繰返し行われるＳ６０４の処理のループ端を示す。
【００５０】
図７は、ＰＤＬ解析部２０１、２０２、２０３によってディスプレイリスト生成部２１０に出力される描画命令の一例を示す図である。オブジェクト描画命令７００は、描画種別７０１、描画方式７０２、描画位置・形状７０３を含む。描画種別７０１には、ストローク描画方法５１０、２点描画方法５２０、エッジ描画方法５３０のいずれかの情報が格納される。描画方式７０２には、交差方式、中心方式、左上方式、左辺方式などの描画方式の情報が格納される。描画位置・形状７０３には、描画オブジェクトの位置及び形状情報が格納される。この描画位置・形状７０３は、前述のように、描画種別７０１によって異なる。それらの情報を含むオブジェクト描画命令７００が、各描画オブジェクトについて生成されディスプレイリスト生成部２１０に出力される。そしてディスプレイリスト生成部２１０は、入力された（取得された）これらの情報７０１〜７０３を含むディスプレイリストを生成する。
【００５１】
以下、Ｓ６０２でＰＤＬ種別がＰｏｓｔＳｃｒｉｐｔと判定された場合の処理について説明する。Ｓ６０６〜Ｓ６１３は、ＰＤＬ解析部２０２により行われる処理である。Ｓ６０６〜Ｓ６１３の処理は、ＰＤＬ解析部２０２によりＰＤＬデータ内の全ての描画オブジェクトについて繰り返し行われる。なおＳ６０６およびＳ６１３は、描画オブジェクトごとに繰返し行われるＳ６０７〜Ｓ６１２の処理のループ端を示す。
【００５２】
Ｓ６０６にて、ＣＰＵ１１２は、ＰＤＬ解析部２０２により、ＰＤＬデータの解析を開始する。Ｓ６０７にて、ＣＰＵ１１２は、描画オブジェクトの種別が「グラフィック」であるか、若しくは、「イメージ／テキスト」であるかを判定する。ここで、「イメージ／テキスト」であると判定された場合、Ｓ６１２に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して中心方式で描画命令を出力する。
【００５３】
一方、Ｓ６０７で描画オブジェクトの種別が「グラフィック」であると判定された場合はＳ６０８に進む。Ｓ６０８にて、ＣＰＵ１１２は、現在の画像形成装置１００の動作モードが細線太らせモードに設定されているか否かを判定する。つまりここで、ＣＰＵ１１２は、描画オブジェクトの線幅を太くする設定がなされているか否かを判定している。この設定判定は、例えば、ユーザによる操作部１４０を介しての設定内容に基づいて判定されても良い。ここで、細線太らせモードとは、ディスプレイリスト生成部２１０により、細線と判定されたグラフィックオブジェクトの線幅を閾値まで太らせる処理であり、例えば、細線の再現性を向上させるために行われる。細線太らせモードの設定値（線幅や閾値など、描画オブジェクトのサイズを表す値）は、画像形成装置１００の設定値として予め保持されている。
【００５４】
Ｓ６０８で細線太らせモードでないと判定された場合、Ｓ６０９に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して描画オブジェクトを交差方式で描画するように描画命令を出力する。一方、Ｓ６０８で細線太らせモードであると判定された場合、Ｓ６１０に進み、ＣＰＵ１１２は、図５において説明したように、対象となる描画オブジェクトが細線であるか否かを判定する。ここで、細線でないと判定された場合（Ｓ６１０でＮｏ）はＳ６０９に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して、描画オブジェクトを交差方式で描画するように描画命令を出力する。一方、対象となる描画オブジェクトが細線であると判定された場合（Ｓ６１０でＹｅｓ）は、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して、描画オブジェクトを左上方式で描画するように描画命令を出力する。
【００５５】
図６では、Ｓ６０８で細線太らせモードであると判定された場合、Ｓ６１０の判定が行われている。しかしながら、特に装置のモードを判定することなく、描画オブジェクトの種別がグラフィックであると判定されたのであれば細線に対して細線太らせモードを行うようにしても良い。その場合には、Ｓ６０７でグラフィックと判定されると、Ｓ６１０の判定が行われる。一方、Ｓ６１０で対象となる描画オブジェクトが細線であると判定された場合は、Ｓ６１１に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して、描画オブジェクトを左上方式で描画するように描画命令を出力する。
【００５６】
ＣＰＵ１１２は、ＰＤＬ解析部２０１〜２０３による処理が終了すると、Ｓ６１４に進む。Ｓ６１４〜Ｓ６１６の処理は、ディスプレイリスト生成部２１０により行われる処理である。
【００５７】
Ｓ６１４にて、ＣＰＵ１１２は、ディスプレイリスト生成部２１０により、細線太らせモードがＯＮであり且つ描画オブジェクトが細線であるか、否かを判定する。描画オブジェクトが細線であるか否かの判定方法は、図５を用いて説明したとおりである。Ｓ６１４で、「細線太らせモードがＯＮであり且つ描画オブジェクトが細線」であると判定された場合はＳ６１５に進み、ＣＰＵ１１２は、図１１を用いて説明したように、細線オブジェクトを太らせる処理を行う。つまり、ＣＰＵ１１２は、その描画オブジェクトに対して、線幅を広げるための処理（太らせ処理）を行う。一方、Ｓ６１４で、「細線太らせモードがＯＮであり且つ描画オブジェクトが細線」でないと判定された場合は、Ｓ６１６に進む。
【００５８】
Ｓ６１６にて、ＣＰＵ１１２は、ディスプレイリスト生成部２１０によりディスプレイリストの生成を行い、Ｓ６１７に進む。Ｓ６１７にて、ＣＰＵ１１２は、レンダリング処理部２２０により、生成されたディスプレイリストをレンダリング処理し、イメージ画像を生成する。その際に、図８及び図３で説明したスキャン変換が行われる。つまり、レンダリング処理部２２０は、ディスプレイリストに含まれる描画種別７０１および描画位置・形状７０３で表される描画オブジェクトのスキャン変換を、そのディスプレイリストにおいて指定される描画方式に従って行う。その結果、描画オブジェクトのイメージ画像が生成される。このように、ディスプレイリストの生成時に、描画方式７０３を決定してその決定された描画方式７０３をディスプレイリストで指示するだけで、レンダリング処理部２２０は、その指示された描画方式でレンダリング処理を行える。すなわち、レンダリング処理部２２０は、描画方式を決定して指示する処理や、太らせ処理を行う必要は無い。スキャン変換後、Ｓ６１８に進む。Ｓ６１８にて、ＣＰＵ１１２は、画像処理部２３０により、生成されたイメージ画像に対して画像処理を行う。Ｓ６１９にて、ＣＰＵ１１２は、プリンタ装置１３０により、画像処理を行った画像を印刷し、その後、図６の処理を終了する。
【００５９】
以上のように、本実施形態では、例えばＰｏｓｔＳｃｒｉｐｔのように、グラフィックオブジェクトを交差方式で描画するＰＤＬ解釈処理において、細線太らせモードがＯＮであり且つ細線描画の場合には、左上方式で描画するようにする。その結果、図３のピクセル３０４で示すような細線が太りすぎることを防ぐことができる。
【００６０】
なお、上述のように、Ｓ６０８およびＳ６１０の判定の結果にしたがって、描画オブジェクトの描画方式は、交差方式か左上方式に設定される。一方で、図６のフローチャートのうち、ステップＳ６１０の判定を省略した次の変形例でも良い。具体的には、Ｓ６０８において描画オブジェクトの線幅を太くする設定がなされていないと判定されると、ＣＰＵ１１２は、Ｓ６０９においてグラフィック属性の描画オブジェクトの描画方式として交差方式を設定する。このように設定することで、線幅が１ピクセル未満であっても、描画位置によらず、グラフィック属性の描画オブジェクトを確実に描画することができる。一方、Ｓ６０８において描画オブジェクトの線幅を太くする設定がなされていないと判定されると、ＣＰＵ１１２は、Ｓ６１１においてグラフィック属性の描画オブジェクトの描画方式として左上方式を設定する。このようにすることで、グラフィック属性の描画オブジェクトに対して太らせ処理を行っても太くなりすぎてしまうことを防ぐことができる。
【００６１】
［第２の実施形態］
以下、第２の実施形態について説明する。特定の属性の描画オブジェクトに、所定の描画設定が行われている場合があり、例えば、ＰｏｓｔＳｃｒｉｐｔにおいては、細線に対して線幅「ゼロ」に描画設定されることがある。ＰｏｓｔＳｃｒｉｐｔにおいては、線幅「ゼロ」に描画設定されている場合、デバイス最小の描画単位（例えばピクセル幅）で描画することが推奨される。つまり、線幅「ゼロ」に描画設定されている細線については、太らせ処理を行わない方が良い。
【００６２】
図９は、本実施形態における、画像形成装置１００が印刷ジョブを受信し、細線の補正処理の実行制御を示すフローチャートである。図９の各処理は、例えば、ＣＰＵ１１２がＲＯＭ１１４に記憶されたプログラムをＲＡＭ１１６に読み出して実行することにより実現される。
【００６３】
Ｓ９０１にて、ＣＰＵ１１２は、印刷ジョブを受信するとジョブ制御部２００によりＰＤＬ種別の判定を行う。例えば、ＣＰＵ１１２は、ＰＤＬ種別がＬＩＰＳであるか、ＰｏｓｔＳｃｒｉｐｔであるかを判定する。
【００６４】
Ｓ９０２にて、ＣＰＵ１１２は、ＰＤＬ種別がＬＩＰＳであると判定された場合はＳ９０３に進み、ＰｏｓｔＳｃｒｉｐｔであると判定された場合はＳ９０６に進む。Ｓ９０２でＬＩＰＳと判定された場合のＳ９０３〜Ｓ９０５の処理は、第１の実施形態のＳ６０３〜Ｓ６０５と同様のため、その説明を省略する。
【００６５】
以下、Ｓ９０２でＰＤＬ種別がＰｏｓｔＳｃｒｉｐｔであると判定された場合を説明する。Ｓ９０６〜Ｓ９１３の処理は、ＰＤＬ解析部２０２により行われる処理であり、ＰＤＬデータ内の全ての描画オブジェクトについて繰り返し行われる。
【００６６】
Ｓ９０６にて、ＣＰＵ１１２は、ＰＤＬ解析部２０２により、ＰＤＬデータの解析を開始する。Ｓ９０７にて、ＣＰＵ１１２は、描画オブジェクトの種別が「グラフィック」であるか、若しくは、「イメージ／テキスト」であるかを判定する。ここで、「イメージ／テキスト」であると判定された場合、Ｓ９１３に進み、ディスプレイリスト生成部２１０に対して中心方式で描画命令を出力する。一方、Ｓ９０７で描画オブジェクトの種別が「グラフィック」であると判定された場合はＳ９０８に進む。Ｓ９０８にて、ＣＰＵ１１２は、現在の画像形成装置１００の動作モードが細線太らせモードであるか否かを判定する。
【００６７】
Ｓ９０８で細線太らせモードでないと判定された場合、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して交差方式で描画命令を出力する。一方、Ｓ９０８で細線太らせモードであると判定された場合、Ｓ９１０に進み、ＣＰＵ１１２は、対象となる描画オブジェクトが細線であるか否かを判定する。ここで、細線でないと判定された場合はＳ９０９に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して交差方式で描画命令を出力する。一方、Ｓ９１０で対象となる描画オブジェクトが細線であると判定された場合は、Ｓ９１１に進む。
【００６８】
Ｓ９１１にて、ＣＰＵ１１２は、その細線が線幅「ゼロ」に設定されている細線であるか否かを判定する。ここで、線幅「ゼロ」に設定されている細線であると判定された場合はＳ９０９に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して交差方式で描画命令を出力する。一方、Ｓ９１１で細線が線幅「ゼロ」に設定されている細線でないと判定された場合はＳ９１２に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して左上方式で描画命令を出力する。
【００６９】
ＣＰＵ１１２は、ＰＤＬ解析部２０２での処理が終了すると、Ｓ９１５に進む。Ｓ９１５〜Ｓ９２０の処理は、ディスプレイリスト生成部２１０により行われる処理である。
【００７０】
Ｓ９１５にて、ＣＰＵ１１２は、ディスプレイリスト生成部２１０により、ＰＤＬ解析部２０１〜２０３から受け取ったオブジェクト描画命令７００が、細線太らせモードがＯＮであり且つ左上方式の描画指示であるか、否かを判定する。
【００７１】
Ｓ９１５で、「細線太らせモードがＯＮであり且つ左上方式の細線描画指示」でないと判定された場合はＳ９１７に進む。一方、Ｓ９１５で、「細線太らせモードがＯＮであり且つ左上方式の細線描画指示」であると判定された場合はＳ９１６に進み、ＣＰＵ１１２は、図１１において説明した太らせ処理を行う。
【００７２】
本実施形態ではこのように、第１の実施形態での構成に加えて、線幅「ゼロ」に設定されている描画オブジェクトについては太らせ処理を行わない。その結果、デバイス最小のピクセル幅で描画することが推奨される描画オブジェクトまで太らせ処理が行われることを防ぐことができる。
【００７３】
Ｓ９１７にて、ＣＰＵ１１２は、ディスプレイリスト生成部２１０により、ディスプレイリストの生成を行う。Ｓ９１８にて、ＣＰＵ１１２は、レンダリング処理部２２０により、生成されたディスプレイリストをレンダリング処理し、イメージ画像を生成する。その際に、図８及び図３で説明したスキャン変換が行われる。スキャン変換後、Ｓ９１９に進む。Ｓ９１９にて、ＣＰＵ１１２は、画像処理部２３０により、生成されたイメージ画像に対して画像処理を行う。Ｓ９２０にて、ＣＰＵ１１２は、プリンタ装置１３０により、画像処理を行った画像を印刷し、その後、図９の処理を終了する。
【００７４】
このように、細線であっても線幅「ゼロ」に設定されている場合には描画方式を交差方式とする。そして、ディスプレイリスト生成部２１０における太らせ処理の対象に描画方式が左上方式で設定されていることを加えている。その結果、線幅「ゼロ」に設定された細線に対する太らせ処理を回避することができる。
【００７５】
［第３の実施形態］
第１及び第２の実施形態では、ＰｏｓｔＳｃｒｉｐｔの描画時に細線であれば描画方式を左上方式に変更し、その結果、太らせ処理を行ったときに太らせ過ぎる問題を回避することができると説明した。本実施形態では、描画方式の変更ではなく、描画オブジェクトの位置を変更することによって、細線を太らせ過ぎることを回避する。
【００７６】
図１０は、本実施形態における、画像形成装置１００が印刷ジョブを受信し、細線の補正処理の実行制御を示すフローチャートである。
【００７７】
Ｓ１００１にて、ＣＰＵ１１２は、印刷ジョブを受信するとジョブ制御部２００によりＰＤＬ種別の判定を行う。例えば、ＣＰＵ１１２は、ＰＤＬ種別がＬＩＰＳであるか、ＰｏｓｔＳｃｒｉｐｔであるかを判定する。
【００７８】
Ｓ１００２にて、ＣＰＵ１１２は、ＰＤＬ種別がＬＩＰＳであると判定された場合はＳ１００３に進み、ＰｏｓｔＳｃｒｉｐｔであると判定された場合はＳ１００６に進む。ＬＩＰＳと判定された場合のＳ１００３〜Ｓ１００５の処理は、第１の実施形態のＳ６０３〜Ｓ６０５における説明と同様であるので、その説明を省略する。
【００７９】
以下、Ｓ１００２でＰＤＬ種別がＰｏｓｔＳｃｒｉｐｔであると判定された場合の処理について説明する。Ｓ１００６〜Ｓ１０１３は、ＰＤＬ解析部２０２により行われる処理である。Ｓ１００６〜Ｓ１０１３の処理は、ＰＤＬ解析部２０２により、ＰＤＬデータ内の全ての描画オブジェクトについて繰り返し行われる。
【００８０】
Ｓ１００６にて、ＣＰＵ１１２は、ＰＤＬ解析部２０２により、ＰＤＬデータの解析を開始する。Ｓ１００７にて、ＣＰＵ１１２は、描画オブジェクトの種別が「グラフィック」であるか、若しくは、「イメージ／テキスト」であるかを判定する。ここで、「イメージ／テキスト」であると判定された場合、Ｓ１０１２に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して中心方式で描画命令を出力する。一方、Ｓ１００７で描画オブジェクトの種別が「グラフィック」であると判定された場合はＳ１００８に進む。Ｓ１００８にて、ＣＰＵ１１２は、現在の画像形成装置１００の動作モードが細線太らせモードであるか否かを判定する。Ｓ１００８の判定は、例えば、ユーザにより操作部１４０を介して設定された設定内容に基づいて行われても良い。
【００８１】
Ｓ１００８で細線太らせモードでないと判定された場合、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して交差方式で描画命令を出力する。一方、Ｓ１００８で細線太らせモードであると判定された場合、Ｓ１０１０に進む。
【００８２】
Ｓ１０１０にて、ＣＰＵ１１２は、描画オブジェクトが細線であるか否かを判定する。ここで、細線でないと判定された場合はＳ１００９に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して交差方式で描画命令を出力する。一方、Ｓ１０１０で描画オブジェクトが細線であると判定された場合は、Ｓ１０１１に進む。
【００８３】
Ｓ１０１１にて、ＣＰＵ１１２は、描画オブジェクトの位置について、ピクセル座標の境界位置と合わせるために、位置情報の小数点以下を切り捨てて整数値に丸める。つまり、描画オブジェクトの座標位置をピクセル座標の境界位置に整合させるように補正する。その後、Ｓ１００９に進み、ＣＰＵ１１２は、ディスプレイリスト生成部２１０に対して交差方式で描画命令を出力する。つまり、Ｓ１０１１の処理を行うことで、図３（Ｂ）で説明した状態となり、描画方式によらず、細線が太りすぎてしまうことを防ぐことができる。
【００８４】
ＣＰＵ１１２は、ＰＤＬ解析部２０２での処理が終了すると、Ｓ１０１４に進む。Ｓ１０１４〜Ｓ１０１９の処理は、ディスプレイリスト生成部２１０により行われる処理である。
【００８５】
Ｓ１０１４にて、ＣＰＵ１１２は、ディスプレイリスト生成部２１０により、ＰＤＬ解析部２０１〜２０３から受け取ったオブジェクト描画命令７００が、太らせ処理モードがＯＮであり且つ細線のオブジェクトであるか、否かを判定する。
【００８６】
Ｓ１０１４で、「太らせ処理モードがＯＮであり且つ細線のオブジェクト」であると判定された場合はＳ１０１５に進む。一方、「太らせ処理モードがＯＮであり且つ細線のオブジェクト」でないと判定された場合は、Ｓ１０１６に進む。
【００８７】
Ｓ１０１５にて、ＣＰＵ１１２は、図１１を用いて説明したように、細線オブジェクトに対して太らせ処理を行う。なお細線オブジェクトはＳ１０１１の処理が行われているので、太らせ処理の結果は、描画方式によらずスキャン変換によって一定の線幅を描画できるものになっている。
【００８８】
Ｓ１０１６にて、ＣＰＵ１１２は、ディスプレイリスト生成部２１０により、ディスプレイリストの生成を行う。Ｓ１０１７にて、ＣＰＵ１１２は、レンダリング処理部２２０により、生成されたディスプレイリストをレンダリング処理し、イメージ画像を生成する。Ｓ１０１８にて、ＣＰＵ１１２は、画像処理部２３０により、生成されたイメージ画像に対して画像処理を行う。Ｓ１０１９にて、ＣＰＵ１１２は、プリンタ装置１３０により、画像処理を行った画像を印刷し、その後、図１０の処理を終了する。
【００８９】
このように、例えばＰｏｓｔＳｃｒｉｐｔのように細線オブジェクトを左上描画で描画するＰＤＬ解釈処理において、太らせ処理モードがＯＮの場合には、細線オブジェクトの位置を座標境界に合わせるように位置を補正する。その結果、図３の描画オブジェクト３０６の状態となり、図３のピクセル３０４に示すような細線を太らせ過ぎてしまうことを防ぐことができる。
【００９０】
以上の各実施形態の動作の他、例えば、図６のＳ６１０や図９のＳ９１０で「細線である」と判定された後に、Ｓ１０１１の処理を行うか否かを判定するようにしても良い。例えば、図６のＳ６１０で「細線である」と判定された後、描画オブジェクトの位置情報の小数点以下を切り捨てて整数値に丸め、描画オブジェクトの位置をピクセル座標の境界位置に整合させる補正処理を行うか否かを判定する。補正処理を行うと判定された場合にはＳ６０９に進み、補正処理を行わないと判定された場合にはＳ６１１に進む。また、例えば、図９のＳ９１０で「細線である」と判定された後、描画オブジェクトの位置情報の小数点以下を切り捨てて整数値に丸め、描画オブジェクトの位置をピクセル座標の境界位置に整合させる補正処理を行うか否かを判定する。補正処理を行うと判定された場合にはＳ９０９に進み、補正処理を行わないと判定された場合にはＳ９１１に進む。
【００９１】
また、例えば、図６のＳ６１０や図９のＳ９１０で「細線である」と判定された後に、描画方式を切り替えるか否かの判定を行うようにしても良い。例えば、図６のＳ６１０で「細線である」と判定された後、ユーザ設定等に基づいて、描画方式を切り替えるか否かの判定を行い、切り替えると判定された場合、Ｓ６１１に進む。一方、描画方式を切り替えないと判定された場合、描画オブジェクトの位置情報の小数点以下を切り捨てて整数値に丸め、描画オブジェクトの位置をピクセル座標の境界位置に整合させる補正処理を行った上でＳ６０９に進む。また、例えば、図９のＳ９１０で「細線である」と判定された後、ユーザ設定等に基づいて、描画方式を切り替えるか否かの判定を行い、切り替えると判定された場合、Ｓ９１１に進む。一方、描画方式を切り替えないと判定された場合、描画オブジェクトの位置情報の小数点以下を切り捨てて整数値に丸め、描画オブジェクトの位置をピクセル座標の境界位置に整合させる補正処理を行った上でＳ９０９に進む。
【００９２】
また、例えば、図１０では、Ｓ１００８およびＳ１０１０の判定の結果にしたがって、処理Ｓ１０１１が行われるか否かが決まるが、図１０のフローチャートのうち、Ｓ１０１０の判定を省略した次の変形例でも良い。具体的には、Ｓ１００８において描画オブジェクトの線幅を太くする設定がなされていないと判定されると、ＣＰＵ１１２は、Ｓ１０１１の処理を行わずに、Ｓ１００９の処理（交差方式の指示）を行う。このようにすることで、線幅が１ピクセル未満であっても、描画位置によらず、グラフィック属性の描画オブジェクトを確実に描画することができる。一方、Ｓ１００８において描画オブジェクトの線幅を太くする設定がなされていないと判定されると、ＣＰＵ１１２は、Ｓ１０１１の処理を行ってからＳ１００９の処理を行う。このようにすることで、グラフィック属性の描画オブジェクトに対して太らせ処理を行っても、描画位置に依存して太くなりすぎてしまうことを防ぐことができる。
【００９３】
以上のように、各実施形態によれば、線幅が閾値未満の細線と判定されたオブジェクトについて、描画方式の切り替えもしくはオブジェクト位置の補正として描画方法を決定し、決定された描画方法に従って、描画が行われる。その結果、所定の条件を満たすオブジェクトに対して行われる補正処理を適切に実行し、線の太りすぎ等の過剰な補正が行われることを防ぐことができる。
【００９４】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９５】
１００  画像形成装置：  １１０  制御装置：  １２０  リーダー装置：  １３０  プリンタ装置：  １４０  操作部：  １５０  画像記憶部：  １７０  情報処理装置：  １１２、１７２  ＣＰＵ：  １１４、１７４  ＲＯＭ：  １１６、１７６  ＲＡＭ
【図１】
0006671188.tif 000002
【図２】
0006671188.tif 000003
【図３】
0006671188.tif 000004
【図４】
0006671188.tif 000005
【図５】
0006671188.tif 000006
【図６】
0006671188.tif 000007
【図７】
0006671188.tif 000008
【図８】
0006671188.tif 000009
【図９】
0006671188.tif 000010
【図１０】
0006671188.tif 000011
【図１１】
0006671188.tif 000012