(57)【要約】【課題】白い細線を太らせる処理において、ユーザが意図しない白い細線までを太らせることがないよう、その適用範囲を制御する。【解決手段】画像データから、所定幅以下の幅を有し且つ所定濃度以下の濃度を有する細線を検出する検出手段と、前記検出手段が検出した細線が、描画指示に従って描画される描画オブジェクトの細線である場合には該細線の幅を拡げる処理である太らせ処理を行い、前記検出手段が検出した細線が、描画指示がなされていない非描画領域において検出された細線である場合には該細線に対する前記太らせ処理を行わない処理手段とを有することを特徴とする。【選択図】図１４
2020066164.tif 000002
【特許請求の範囲】
【請求項１】
画像データから、所定幅以下の幅を有し且つ所定濃度以下の濃度を有する細線を検出する検出手段と、
前記検出手段が検出した細線が、描画指示に従って描画される描画オブジェクトの細線である場合には該細線の幅を拡げる処理である太らせ処理を行い、前記検出手段が検出した細線が、描画指示がなされていない非描画領域において検出された細線である場合には該細線に対する前記太らせ処理を行わない処理手段と
を有することを特徴とする画像処理装置。
【請求項２】
画像データを構成する各画素のうち、所定幅以下の幅を有し且つ所定濃度以下の濃度を有する細線に隣接する隣接画素を特定する特定手段と、
特定された前記隣接画素の濃度を下げる第１の補正処理を行う第１の補正手段と、
を備え、
前記細線が非描画領域の細線である場合には、前記隣接画素について前記第１の補正処理を行う前の前記画像データが出力される
ことを特徴とする画像処理装置。
【請求項３】
前記画像データはビットマップ形式の多値画像データであり、
前記多値画像データから、その濃度が前記所定濃度以下の領域と前記所定濃度を超える領域とを示す２値画像データを生成する二値化手段をさらに備え、
前記特定手段は、前記２値画像データを用いて、前記隣接画素を特定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記特定手段は、前記２値画像データに対し、前記所定濃度以下の濃度を持つ画素と前記所定濃度を超える濃度を持つ画素との組み合わせからなる所定のパターンとのマッチング処理を行なって、前記隣接画素を特定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記特定手段は、
前記マッチング処理において一致したパターンの情報に基づき、細線を構成する細線画素を特定し、
特定した前記細線画素の位置情報、及び、前記各画素のオブジェクト属性を示す属性データに基づいて、前記非描画領域の細線を特定する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記第１の補正手段は、前記多値画像データの各画素に対して前記第１の補正処理を行い、
前記細線が非描画オブジェクトの細線である場合、前記隣接画素については、前記第１の補正処理を行った後の多値画像データに代えて、前記第１の補正処理を行う前の多値画像データが出力される
ことを特徴とする請求項３乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記特定手段は、
前記多値画像データの各画素について、前記隣接画素であるか否かを示す第１のフラグを設定し、
前記多値画像データの各画素が前記細線を構成する細線画素である場合、当該画素が非描画領域の画素であるか否かを示す第２のフラグを設定し、
前記隣接画素について、
前記第１のフラグ及び前記第２のフラグがいずれも肯定を意味する値を有している場合は、前記第１の補正処理を行う前の多値画像データが出力され、
前記第１のフラグが肯定を意味する値を有し、かつ、前記第２のフラグが否定を意味する値を有している場合は、前記第１の補正処理を行った後の多値画像データが出力される、
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記第１の補正手段は、前記細線が非描画領域の細線である場合、前記隣接画素についての前記第１の補正処理を行わないことを特徴とする請求項３乃至５のいずれか１項に記載の画像処理装置。
【請求項９】
前記特定手段によって特定された前記非描画領域の前記細線を構成する前記細線画素に対し、濃度を上げる第２の補正処理を行う第２の補正手段をさらに備えることを特徴とする、請求項５に記載の画像処理装置。
【請求項１０】
ＰＤＬデータを解釈して、前記画像データを生成するレンダリング手段と、
前記ＰＤＬデータが所定のＰＤＬ種である場合に働く線幅調整機能を有効にするかどうかを設定する設定手段と、
をさらに備え、
前記特定手段及び前記第１の補正手段は、前記設定手段にて前記線幅調整機能が有効に設定されている場合に動作する
ことを特徴とする請求項２乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
ＰＤＬデータを解釈して、前記画像データを生成するレンダリング手段をさらに備え、
前記特定手段及び前記第１の補正手段は、所定のＰＤＬ種である場合に働く線幅調整機能が前記ＰＤＬデータに含まれるＰＤＬコマンドにて有効に設定されている場合に動作する
ことを特徴とする請求項２乃至９のいずれか１項に記載の画像処理装置。
【請求項１２】
ＰＤＬデータを解釈して、前記画像データを生成するレンダリング手段と、
前記ＰＤＬデータが所定のＰＤＬ種である場合に働く線幅調整機能を有効にするかどうかを設定する設定手段と、
をさらに備え、
前記検出手段及び前記処理手段は、前記設定手段にて前記線幅調整機能が有効に設定されている場合に動作する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１３】
ＰＤＬデータを解釈して、前記画像データを生成するレンダリング手段をさらに備え、
前記検出手段及び前記処理手段は、所定のＰＤＬ種である場合に働く線幅調整機能が前記ＰＤＬデータに含まれるＰＤＬコマンドにて有効に設定されている場合に動作する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１４】
画像データから、所定幅以下の幅を有し且つ所定濃度以下の濃度を有する細線を検出する検出ステップと、
前記検出ステップで検出された細線が描画指示に従って描画される描画オブジェクトの細線である場合には該細線の見た目の幅を拡げる太らせ処理を行い、前記検出ステップで検出された細線が非描画領域において検出されたオブジェクトの細線である場合には該細線に対する前記太らせ処理を行わない、処理ステップと
を含むことを特徴とする画像処理方法。
【請求項１５】
画像データを構成する各画素のうち、所定幅以下の幅を有し且つ所定濃度以下の濃度を有する細線に隣接する隣接画素を特定する特定ステップと、
前記特定ステップで特定された前記隣接画素の濃度を下げる補正処理を行う補正ステップと、
前記細線が描画指示に従って描画される描画オブジェクトの細線である場合には、前記隣接画素について前記補正処理を行った後の前記画像データを出力し、前記細線が非描画領域の細線である場合には、前記隣接画素について前記補正処理を行う前の前記画像データを出力する出力ステップと、
を含むことを特徴とする画像処理方法。
【請求項１６】
コンピュータを、請求項１乃至１３のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＤＬデータのレンダリング時における画像処理技術に関する。
【背景技術】
【０００２】
電子写真方式のプリンタにおいて、例えば黒い背景上に白い細線を形成する場合、当該細線の部分は色材であるＫトナーを載せない非描画領域となるため、用紙上の当該部分にはＫトナーが付着しないのが理想である。しかしながら、現実には、黒い背景（描画領域）を形成するためのＫトナーが、白い細線に対応する非描画領域にも付着してしまい、結果的に細線が潰れてしまうことがある。このような現象は他の画像形成方式、例えばインクジェット方式のプリンタにおいても、黒い背景上に白い細線を形成する場合、Ｋインクが白い細線に対応する非描画領域にまで滲んで拡がってしまい、細線が潰れてしまうことがある。
【０００３】
このように、色材を用いて記録媒体上に画像を形成するプリンタにおいて、白い細線を色材を載せないことで形成しようとすると、描画領域に載る色材が非描画領域にまで侵食することが起きる。その結果、白い細線の部分が想定より細くなる、或いは、細線自体が消失してしまう「細線潰れ」という現象が起こり得る。この「細線潰れ」対策として、印刷対象の画像データに白い細線が含まれていた場合、当該白い細線部分を強調する技術が従来から知られている。例えば特許文献１では、印刷対象画像内の白い細線を検出し、検出された細線の幅を太らせる処理を施すことでトナーの載らない非描画領域を拡げ、白い細線の視認性を向上させる方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６―１６７７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
白い細線を太らせる上記従来の処理は、印刷対象画像内に存在するすべての白い細線に対し一律に適用され、例えユーザが描画することを意図していなかった白い細線の部分であっても太らせてしまうという問題があった。このようなユーザが意図しない白い細線にまで太らせ処理を適用して目立たせると、本来は印刷品質を向上させるための太らせ処理が、寧ろ悪化させる方向に働いてしまう。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、画像データから、所定幅以下の幅を有し且つ所定濃度以下の濃度を有する細線を検出する検出手段と、前記検出手段が検出した細線が、描画指示に従って描画される描画オブジェクトの細線である場合には該細線の幅を拡げる処理である太らせ処理を行い、前記検出手段が検出した細線が、描画指示がなされていない非描画領域において検出された細線である場合には該細線に対する前記太らせ処理を行わない処理手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、白い細線を太らせる処理において、ユーザが意図しない白い細線までを太らせることがないよう、その適用範囲を制御することができる。これにより、印刷品質を向上させることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】印刷システムの構成の一例を示すブロック図
【図２】（ａ）はプリンタが備える画像処理部の内部構成の一例を示すブロック図、（ｂ）は、実施形態１に係る超低濃度細線補正部の内部構成を示す詳細ブロック図
【図３】（ａ）は太らせ処理の設定用ＵＩ画面の一例を示す図、（ｂ）は線幅調整機能の設定用ＵＩ画面の一例を示す図
【図４】印刷システムにおける処理の流れを示すフローチャート
【図５】（ａ）及び（ｂ）は、アプリケーション画面の一例を示す図
【図６】図５（ｂ）における破線の枠で囲まれた範囲に対応する、用紙上の領域を拡大した図
【図７】（ａ）及び（ｂ）は、論理座標の位置を少しだけ異ならせてＰＤＬデータを描画したときの結果に、物理座標を重ねて示した図
【図８】（ａ−１）及び（ｂ−１）は物理座標に従ったレンダリング後の画像データの一例、（ａ−２）及び（ｂ−２）はそれらに対応する属性データの一例を示す図
【図９】用紙上の２つの黒矩形オブジェクトの隣接する部分を拡大した図
【図１０】ＰＤＬデータをアプリケーションの論理座標に描画した結果に、物理座標を重ねて示した図
【図１１】（ａ）は物理座標に従ったレンダリング後の画像データの一例を示す図、（ｂ）はそれに対応する属性データの一例を示す図
【図１２】用紙上の２つの黒矩形オブジェクトの隣接する部分を拡大した図
【図１３】（ａ）はＰＤＬデータをアプリケーションの論理座標に描画した結果に物理座標を重ねて示した図、（ｂ）はＰＤＬ種がＰＳの場合の変換後の物理座標における画像の一例を示す図、（ｃ）は線幅調整機能が適用された場合の物理座標へ変換後の画像の一例を示す図
【図１４】実施形態１に係る、太らせ処理の流れを示すフローチャート
【図１５】（ａ−１）〜（ｃ−１）はＫ版のＢＭＰデータの一例を示す図、（ａ−２）〜（ｃ−２）はそれらの属性データの一例を示す図
【図１６】（ａ−１）〜（ｃ−１）は２値画像の一例を示す図、（ａ−２）〜（ｃ−２）はそれらの属性データの一例を示す図
【図１７】（ａ）〜（ｄ）はマッチング処理におけるパターンの一例を示す図、（ｅ）はウィンドウ画像内の各画素の画素位置を示す図
【図１８】（ａ―１）〜（ｃ−１）は再判定処理後の細線隣接フラグの一例を示す図、（ａ−２）〜（ｃ−２）は、細線隣接フラグに応じて選択された画素値の一例を示す図
【図１９】（ａ）〜（ｃ）は、実施形態１の太らせ処理終了後の画像データの一例を示す図
【図２０】実施形態２に係る、超低濃度細線補正部の内部構成を示す詳細ブロック図
【図２１】実施形態２に係る、太らせ処理の流れを示すフローチャート
【図２２】（ａ）及び（ｂ）はマッチング処理におけるパターンの一例を示す図
【図２３】（ａ―１）〜（ｃ−１）はフラグ統合処理後の統合フラグの一例を示す図、（ａ−２）〜（ｃ−２）は統合フラグに応じて選択された画素値の一例を示す図
【図２４】実施形態２の太らせ処理終了後の画像データの一例を示す図
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明を好適な実施例に従って詳細に説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１０】
＜実施形態１＞
（システム構成図）
図１は、本実施形態に係る、印刷システムの構成の一例を示すブロック図である。図１に示す印刷システム１００は、クライアント端末としてのＰＣ１１０と、画像形成装置としてのプリンタ１２０とで構成され、ＬＡＮ等のネットワーク１３０で相互に接続されている。
【００１１】
ＰＣ１１０は、ＣＰＵ１１１、メモリ１１２、ＨＤＤ１１３、入力デバイス１１４、モニタ１１５、及びネットワークＩ／Ｆ１１６を備える。ＣＰＵ１１１は、ＰＣ１１０全体の制御を司る演算装置である。ネットワークＩ／Ｆ１１６は、ネットワーク１３０を介してプリンタ１２０を含むネットワーク１３０上の他の装置（不図示）と各種データをやり取りするためのインタフェースである。メモリ１１２は、ＣＰＵ１１１のワークエリアとしてのＲＡＭや各種プログラムを格納するためのＲＯＭで構成される。ＨＤＤ１１３は、ＯＳやプログラム或いはアプリケーションで処理された各種データ等の格納に使用する大容量記憶装置であり、ＳＳＤやフラッシュメモリであってもよい。入力デバイス１１４は、ユーザが各種操作指示を行うためのキーボードやマウス等である。モニタ１１５は、ユーザに各種表示を行うための表示デバイスである。そして、上記各要素は、バス１１７を介して相互に接続されている。ＰＣ１１０には、プリンタ１２０に対応したプリンタドライバがインストールされている。プリンタドライバは、ユーザが各種アプリケーション上で作成等したデータ（以下、「アプリケーションデータ」と表記）を、プリンタ１２０で印刷するためのＰＤＬデータに変換する処理を行なう。プリンタドライバで作成されたＰＤＬデータは、プリンタ１２０に送られる。
【００１２】
プリンタ１２０は、ＣＰＵ１２１、メモリ１２２、ＨＤＤ１２３、ＵＩ操作部１２４、画像処理部１２５、印刷部１２６及びネットワークＩ／Ｆ１２７を備える。ＣＰＵ１２１は、プリンタ１２０全体の制御を司る演算装置である。ＣＰＵ１２１は、ＰＣ１１０から受信したＰＤＬデータを解釈し、ビットマップ形式の多値画像データ（以下、「ＢＭＰデータ」と表記）を生成するレンダリングを行う。本実施形態では、レンダリングをソフトウェアで実現する構成としているが、ハードウェアで実現してもよい。レンダリングによって得られる多値画像データにおける各画素は、グレースケールやＲＧＢ（レッド、グリーン、ブルー）といった複数の色成分で表され、各色成分につき例えば８ビット（２５６階調）の値を持つ。また、レンダリングでは、ＢＭＰデータに加え、当該ＢＭＰデータを構成する各画素のオブジェクト属性を示すデータ（以下、「属性データ」と呼ぶ。）も生成される。この属性データは、各画素がどの種類の描画オブジェクトに属するのかを示す情報である。描画オブジェクトの種類としては、Ｔｅｘｔ（文字）、Ｌｉｎｅ（線）、Ｇｒａｐｈｉｃ（図形）、Ｉｍａｇｅ（写真）などがある。そして、ページ内のどの描画オブジェクトにも属さない領域（描画オブジェクトなしの領域）が非描画領域であり、背景として扱われることになる。例えば、隣り合う第１の描画オブジェクト（矩形）と第２の描画オブジェクト（矩形）との間に見える背景が線を構成する場合がある。本実施形態では、複数の描画オブジェクト間に生じる非描画領域におけるオブジェクトを非描画オブジェクトと呼ぶ。属性データは、非描画オブジェクトを含めたオブジェクト種それぞれに対応する値を保持している。非描画オブジェクトに対応する値とは例えば、背景であることを示す背景属性を示す属性値である。ネットワークＩ／Ｆ１２６は、ネットワーク１３０を介してＰＣ１１０を含むネットワーク１３０上の他の装置（不図示）と各種データをやり取りするためのインタフェースである。メモリ１２２は、ＣＰＵ１２１のワークエリアとしてのＲＡＭや各種プログラムを格納するためのＲＯＭで構成される。ＨＤＤ１２３は、ＯＳやプログラム或いはＰＣ１１０から受け取ったＰＤＬデータ等の格納に使用する大容量記憶装置であり、ＳＳＤやフラッシュメモリであってもよい。ＵＩ操作部１２４は、例えばタッチパネルディスプレイであり、各種情報の表示とユーザの入力操作を受け付ける。さらに、テンキーやボタンを備えていてもよい。画像処理部１２５は、多値画像データに対し、各種画像処理を行って印刷部１２６での印刷処理に供するためのハーフトーン画像データ（印刷用データ）を生成する。画像処理部１２５の詳細については後述する。印刷部１２６は、画像処理部１２５で生成された印刷用データを用いて、紙等の記録媒体に印刷出力を行う。そして、上記各要素は、バス１２８を介して相互に接続されている。プリンタ１２０において各種の動作・処理を実現するソフトウェアは、例えば上述のＨＤＤ１２３に格納されており、それがＲＡＭにロードされ、ＣＰＵ１２１がこれを実行することで実現される。
【００１３】
（画像処理部の詳細）
図２（ａ）は、プリンタ１００が備える画像処理部１２５の内部構成の一例を示すブロック図である。画像処理部１２５は、色変換部２０１、超低濃度細線補正部２０２、ガンマ補正部２０３、スクリーン処理部２０４、細線用スクリーン処理部２０５、ハーフトーン画像選択部２０６を有する。画像処理部１２５には、レンダリングによって得られたＢＭＰデータとその各画素に対応した属性データが入力される。
【００１４】
色変換部２０１は、入力されたＢＭＰデータのグレースケールあるいはＲＧＢの色成分を、ＣＭＹＫ（シアン、マゼンタ、イエロー、ブラック）の色成分に変換する色変換処理を行う。ＣＭＹＫの各色成分を有する色変換後のＢＭＰデータを、以下、「ＣＭＹＫデータ」と呼ぶこととする。色変換処理によって得られたＣＭＹＫデータは、不図示のバッファに格納される。なお、ＰＳ（Post Script）やＰＤＦ（Portable Document Format）のようなＣＭＹＫ色空間を扱うＰＤＬデータが入力されていた場合は、レンダリング後の多値画像データがＣＭＹＫの色成分を持つため、色変換部２０１での色変換処理は行われない。この場合、画像処理部１２５に入力されたＣＭＹＫデータが、超低濃度細線補正部２０２に直接入力される。
【００１５】
超低濃度細線補正部２０２は、ＣＭＹＫデータの各色版に含まれる、その濃度値が“０”又はそれと等価の極めて低い濃度値を持つ細線（以下、「超低濃度細線」と呼ぶ。）に対し、その見た目の幅を拡げる太らせ処理を行う。濃度値が“０”又はそれと等価の極めて低い濃度値を持つ領域とは、いわゆる極ハイライト領域である。超濃度細線とは、例えば、複数の描画オブジェクト間に生じた隙間としての白色の細線などである。
【００１６】
太らせ処理について、具体的には、不図示のバッファからＣＭＹＫデータを取得し、各色版における超低濃度細線を検出する。そして検出した超低濃度細線に隣接する画素に対してその濃度値を下げる補正処理を行う。例えば、Ｋ版において、超低濃度細線を検出した際は、当該超低濃度細線に隣接する領域（すなわち、黒の領域）に属する画素の濃度値を“０”に近づける。これにより、印刷対象画像内の超低濃度細線を太らせることができる。また、超低濃度細線補正部２０２は、超低濃度細線を構成する画素とそれ以外の画素とで適用するスクリーン処理を切り替えるためのフラグ情報を、ハーフトーン画像選択部２０６に出力する。スクリーン処理とは、所定のディザマトリクスを用いて、入力されるＣＭＹＫデータをＮ値化し、網点で表現されたハーフトーン画像データを生成する処理のことである。細線を構成する画素に対しては平坦型スクリーン処理を適用することで、オブジェクトの途切れやジャギーを軽減することができる。なお、前述のとおり、太らせ処理は「細線潰れ」現象への対策として行うものであるが、例えば背景領域の濃度が低いときなど条件によっては超低濃度細線部分が潰れずに済む場合もある。そこで、例えば図３（ａ）に示すようなＵＩ画面を介して、太らせ処理の有効／無効をユーザが状況に応じて設定できるように構成してもよい。図２（ｂ）は、本実施形態に係る、超低濃度細線補正部２０２の内部構成を示す詳細ブロック図である。超低濃度細線補正部２０２は、二値化部２１１、隣接画素判定部２１２、細線画素判定部２１３、属性判定部２１４、隣接画素再判定部２１５、隣接画素補正部２１６及び画素選択部２１７からなる。図２（ｂ）に示す各処理部の機能等を含め、超低濃度細線補正部２０２における太らせ処理の詳細については後述する。太らせ処理後のＣＭＹＫデータは、ガンマ補正部２０３に入力される。
【００１７】
ガンマ補正部２０３は、トナー画像が用紙へ転写された際の濃度特性が所望の濃度特性となるよう、一次元のルックアップテーブル（ＬＵＴ）を用いて、太らせ処理後のＣＭＹＫデータにおける画素値を補正するガンマ補正処理を実行する。一次元ＬＵＴは、例えば入力値がそのまま出力値となるようなリニアな変換特性のものなど複数を用意しておき、印刷部１２６の状態変化に応じて適宜使用する一次元ＬＵＴを選択すればよい。或いは、ＣＰＵ１２１が一次元ＬＵＴの書き換えを適宜行ってもよい。ガンマ補正後のＣＭＹＫデータは、スクリーン処理部２０４および細線用スクリーン処理部２０５に入力される。
【００１８】
スクリーン処理部２０４は、ガンマ補正後のＣＭＹＫデータに対し、ＣＭＹＫの色版毎に集中型スクリーン処理を行なう。また、細線用スクリーン処理部２０５は、ガンマ補正後のＣＭＹＫデータに対し、細線用のスクリーン処理としての平坦型スクリーン処理をＣＭＹＫの色版毎に行なう。いずれのスクリーン処理の結果（ＣＭＹＫの色版毎に得られたハーフトーン画像データ）も、ハーフトーン画像選択部２０６へ入力される。
【００１９】
ハーフトーン画像選択部２０６は、スクリーン処理部２０４で生成されたハーフトーン画像データと細線用スクリーン処理部２０５で生成されたハーフトーン画像データの何れかを、上述のフラグ情報に従って画素単位で選択し、印刷用データとして印刷部１２６へ出力する。
【００２０】
（レンダリングまでの流れ）
次に、印刷システム１００におけるＰＤＬデータの作成からレンダリングまでの処理の流れを説明する。図４は、印刷システム１００における処理の流れを示すフローチャートである。図４のフローに示す各ステップのうち、Ｓ４０１及びＳ４０２はＰＣ１１０における処理であり、Ｓ４０３〜Ｓ４１０はプリンタ１２０における処理である。
【００２１】
Ｓ４０１では、ＰＣ１１０において、ユーザの印刷指示に基づき、アプリケーションデータからＰＤＬデータが作成される。この際、プリンタドライバは、プリンタ１２０の動作を制御するためのコマンド（プリンタ制御コマンド）も併せて作成し、ＰＤＬデータに含める。例えば、前述の超低濃度細線補正機能（太らせ処理）のＯＮ／ＯＦＦを指定するコマンドや、後述の線幅調整機能のＯＮ／ＯＦＦを指定するコマンドなどが、プリンタ制御コマンドとして含まれる。
【００２２】
Ｓ４０２では、Ｓ４０１で作成したＰＤＬデータが、ネットワークＩ／Ｆ１１６を介してプリンタ１２０に送信される。
【００２３】
Ｓ４０３では、プリンタ１２０において、ＰＣ１１０から送信されたＰＤＬデータが受信される。続くＳ４０４では、受信したＰＤＬデータ内のプリンタ制御コマンドが解釈され、当該コマンドに従った動作設定がなされる。例えば、超低濃度細線補正をＯＮにするプリンタ制御コマンドが含まれていたときは、超低濃度細線補正部２０２において太らせ処理が実行されるように、ＣＰＵ１２１によって画像処理部１２５の動作設定がなされる。
【００２４】
Ｓ４０５では、レンダリングの準備処理として、Ｐａｇｅメモリの初期化処理が実行される。Ｐａｇｅメモリは、１ページ分のビットマップ形式の多値画像データ（以下、「ＢＭＰデータ」と表記）を格納する記憶領域である。続くＳ４０６では、受信したＰＤＬデータ内の注目するページデータにおけるＰＤＬコマンドを１つずつ解釈し、レンダリング用コマンドに変換する処理が実行される。そして、Ｓ４０７では、Ｓ４０６で得られたレンダリング用コマンドを用いて、注目ページデータについてのレンダリングが実行される。このレンダリングによって得られた、デバイス依存のページ単位のＢＭＰデータが、上述のＰａｇｅメモリに格納される。この際には、当該１ページ分のＢＭＰデータにおける各画素の属性を示す属性データも併せて生成・格納されることになる。レンダリングの詳細に関しては後述する。
【００２５】
Ｓ４０８では、注目ページデータにおいて未処理のＰＤＬコマンドがあるか否かが判定される。注目ページデータ内に未処理のＰＤＬコマンドが存在する場合はＳ４０６に戻り、次のＰＤＬコマンドが解釈され、レンダリングが実行される。一方、注目ページデータ内の全てのＰＤＬコマンドが処理された場合はＳ４０９に進む。Ｓ４０９では、Ｐａｇｅメモリに格納された１ページ分のＢＭＰデータがＨＤＤ１２３にスプール（保存）される。
【００２６】
Ｓ４１０では、Ｓ４０３で受信したＰＤＬデータ内に未処理のページデータがあるか否かが判定される。未処理のページデータが存在する場合はＳ４０５に戻り、次のページデータについての処理が続行される。一方、全てのページデータが処理された場合（受信したＰＤＬデータの全ページのＢＭＰデータが生成され、ＨＤＤ１２３にスプールされた場合）は、本処理を終える。
【００２７】
以上が、印刷システム１００における処理の大まかな流れである。
【００２８】
（本発明の課題の確認）
ここで、上述のＳ４０７のレンダリング時に起こる本発明の課題、すなわち、ユーザの意図しない超低濃度細線が発生するケースについて確認しておく。ユーザの意図しない超低濃度細線が発生する場合としては、大きく分けて２つのケースがある。
【００２９】
１つ目のケースは、ＰＤＬの塗りルールに起因して生じるケースである。このケースは、アプリケーション上で複数の描画オブジェクトを隙間がないように並べて配置したつもりが実際には極僅かな隙間があり、当該隙間がレンダリング後のＢＭＰデータにおいてより大きな隙間へと拡がってしまうケースである。図５（ａ）及び（ｂ）は、ＰＣ１１０のモニタ１１５に表示される、あるアプリケーション画面の一例を示す図である。図５（ａ）は２つの黒い矩形オブジェクト５０１及び５０２を隣り合わせで配置したときの、表示倍率１００％の状態を示している。そして、図５（ｂ）は、図５（ａ）における表示倍率を１００％から２００％へと変更したときの状態を示している。両者を比較すると、倍率変更後の図５（ｂ）においては、図５（ａ）では確認できない白い細線（隙間）５００が存在しているのが分かる。ページ記述言語（Page Description Language）と呼ばれるプリンタ制御用の言語で記載されるＰＤＬデータは、オブジェクトの描画コマンド（以下、「ＰＤＬコマンド」と表記）が、アプリケーション上の論理座標で表される。プリンタ１２０は、入力されたＰＤＬコマンドを解釈し、アプリケーション上の論理座標をデバイス依存の物理座標（印刷するための画素に相当）へと変換したビットマップ形式の画像データを用いて印刷処理を行う。この論理座標から物理座標への変換の際、ＰＤＬ種別に応じた塗りルールに従うと、変換誤差に拠って、隙間が最大で１画素幅（６００ｄｐｉの場合で４２μｍ）まで拡がり、そもそも意図せず発生した白い細線がさらに目立ってしまうことがある。このような現象が起きる、ＰＤＬ種としては、例えばＬＩＰＳ（ＵＦＲ）、ＰＣＬなどが挙げられる。ＰＤＬの塗りルールに従った、論理座標から物理座標への変換については、図７（ａ）（ｂ）、図８（ａ−１）、（ａ−２）、（ｂ−１）、及び（ｂ−２）を用いて後述する。
【００３０】
２つ目のケースは、ＰＳ（Post Script）やＰＤＦ（Portable Document Format）に代表される、細線を描画する際に太めに再現されるＰＤＬの場合において、本来の太さに近づくよう補正する機能を利用した結果、意図せず隙間が生じてしまうケースである。ＰＳやＰＤＦの塗りルールでは、描画領域に少しでも掛かった画素は塗り潰しの対象となる。この結果、細線が所定の幅よりも太く再現されることになる。そのため、線幅を本来の太さに戻すように補正する、「ストロークアジャスト」と呼ばれる線幅調整機能が設けられている。この線幅調整機能によって塗り潰す領域が減ることで、ユーザが意図しない隙間（１画素幅の白い細線）が発生することがある。
【００３１】
本発明は、いずれのケースにおいても、意図せずに発生した隙間（白い細線）までが拡大することがないよう、細線の太らせ処理の適用範囲を制御するものである。本発明に係る太らせ処理の制御の説明に入る前に、ユーザの意図に反して白い細線が発生するそれぞれのケースについて、具体例を用いてさらに詳しく説明する。
【００３２】
＜ＰＤＬの塗りルールに起因して生じる白い細線＞
ここでは、前述の図５（ａ）及び（ｂ）に示した２つの黒矩形オブジェクトの描画を指定するＰＤＬデータがプリンタ１２０に入力されたとの仮定の下で説明を行うものとする。図６は、図５（ｂ）における破線の枠５０４で囲まれた範囲に対応する、用紙６００上の領域を拡大した図である。この場合、一方の黒矩形オブジェクト５０１の黒く塗られる部分５０１’と他方の黒矩形オブジェクト５０２の黒く塗られる部分５０２’とが隣合わせに用紙６００上に描画され、白い細線５０３’が形成されることになる。いま、この白い細線５０３’は、その幅が１画素未満であるものとする。プリンタ１２０では、上述のとおり、ＰＤＬデータを解釈し、アプリケーション上の論理座標からデバイス依存の物理座標に変換する。図７の（ａ）と（ｂ）は、上記ＰＤＬデータを描画したときの結果の上に物理座標を重ねて示した図であり、図５（ｂ）における破線の枠５０４で囲まれた範囲に対応している。両図において、点線で囲まれた最小単位の正方形が物理座標における１画素を表す。図７（ａ）では、上述の白い細線５０３に対応する隙間７００は、物理座標における画素境界を表す点線上に存在している。一方、図７（ｂ）において、上述の白い細線５０３に対応する隙間７００’は、画素境界を表す平行な２本の点線の間に存在している。このように、論理座標が僅かでも異なっていると、変換後の物理座標上の位置が変わってしまうことがある。例えば、ＧＤＩ塗りルールでは、直交する点線同士の交点が、ＰＤＬデータによって塗り指定された領域（ここでは黒の矩形領域）に含まれていれば、当該交点が含まれる右下方向の１画素がその塗り値で塗られることになる。言い換えると、物理座標における１画素の左上の頂点が、ＰＤＬデータによって塗指定された領域に含まれる場合には、当該画素を塗るという処理を行う。当該画素を例えば、図７（ａ）における交点７０１は、塗り指定された黒の矩形領域に含まれていないので、その右下方向の画素７０２は塗られない。一方、交点７０１の直下にある交点７０３は、塗り指定された黒の矩形領域に含まれているので、その右下方向の画素７０４はＰＤＬデータで指定された塗り値（例えば２５５）で塗られることになる。以上の塗りルールに基づき、図７（ａ）及び（ｂ）では、塗り指定された黒の矩形領域に含まれない交点に対し×印、含まれる交点に対し○印が付されている。図７（ａ）を見ると、隙間７００は点線上に存在し、その点線上にある交点７０５を含む縦に並んだ交点はすべて、ＰＤＬデータで塗り指定された黒の矩形領域に含まれていないため、×印が付されている。一方、図７（ｂ）を見ると、隙間７００’は点線上には存在せず、上記交点７０５に対応する交点７０５’もＰＤＬデータで塗り指定された黒の矩形領域に含まれるため、○印が付されている。図８（ａ−１）及び（ｂ−１）は、上記図７（ａ）及び（ｂ）にそれぞれ対応する、物理座標に従ったレンダリング後の画像データを示している。いずれも、○印が付された交点の画素を黒で塗り、×印が付された交点の画素を塗らないという処理を行った結果である。そして、図８（ａ−２）及び（ｂ−２）はレンダリング時に同時に生成される属性データであり、図８（ａ−２）は図８（ａ−１）に対応し、図８（ｂ−２）は図８（ｂ−１）に対応する。なお、図８（ａ−２）及び（ｂ−２）におけるアルファベットの意味は、Ｎ＝非描画オブジェクト（背景）、Ｇ＝図形オブジェクトである。ここでは、説明のためアルファベットで記載しているが、実際の属性データでは、例えば、Ｎは“０”、Ｇは“１”といった具合に数値化されて保持される。前述のとおり、ＰＤＬデータにおいて２つの黒矩形オブジェクト５０１及び５０２は隣合わせで配置され、２つのオブジェクトの間には１画素幅未満の極僅かな隙間があった。しかし、図８（ａ−１）のレンダリング結果では、当該隙間の幅がデバイス最小解像度である１画素幅にまで拡大している。一方で、図８（ｂ−１）のレンダリング結果では、当該隙間がなくなっている。このように、論理座標が僅かに異なるだけでレンダリング結果に違いが生じることがあるが、同じＰＤＬデータであれば、本来は同じレンダリング結果となることが望ましいといえる。
【００３３】
上記の例ではＧＤＩ塗りルールに従った場合の例について説明したが、これに限られない。例えば、ＰＣＬという種類のＰＤＬは、以下の塗りルールを有する。すなわち、物理座標における１画素の中心が塗り指定された領域に含まれる場合には、当該画素を塗る。ここで画素の中心とは対角線の交点である。図７（ａ）または（ｂ）の例では、ＰＣＬ塗りルールでは、点線で表された正方形の対角線の交点が黒の矩形領域に含まれる場合には、当該正方形が塗られることとなる。このようなＰＣＬ塗りルールを適用した場合にも、ＧＤＩ塗りルールを適用した場合と同様に、１画素幅未満の僅かな隙間が１画素幅にまで拡大されてしまう場合があるという課題がある。
【００３４】
次に、ページ内に２つの黒矩形オブジェクトを１画素分だけ離して並べて配置し、さらにその隙間部分を埋めるように１画素幅の白い線オブジェクトを配置したＰＤＬデータがプリンタ１２０に入力された場合を考える。図９は、このＰＤＬデータに従った描画結果であり、用紙６００上の２つの黒矩形オブジェクトの隣接する部分を拡大した図である。この場合、一方の黒矩形オブジェクト９０１の黒く塗られる部分９０１’と他方の黒矩形オブジェクト９０２の黒く塗られる部分９０２’とが隣合わせに描画され、さらにその隣接部分に、線オブジェクト９０３の白く塗られる部分９０３’が上書き描画される。図１０は、上記ＰＤＬデータをアプリケーションの論理座標に描画した結果に、物理座標を重ねて示した図であり、点線で囲まれた最小単位の四角が物理座標の１画素を表している。ここからは、図６のケースとの差異、すなわち、ＰＤＬデータの違いから生じる相違点について説明する。
【００３５】
まず、２つの黒矩形オブジェクトを描くところまでは、図６のケースと同じである。異なるのは線オブジェクト９０３の白く塗られる部分９０３’がさらに上書き描画されるところである。この際、白の線オブジェクト９０３について、図１０では、上述のＧＤＩ塗りルールに従い、交点１００１〜１００６が塗り指定された白の線オブジェクトの描画領域に含まれることから、○印が付されている。図１１（ａ）は、物理座標に従ったレンダリング後の画像データを示しており、○印が付された交点に対応する画素を黒で塗り、×印が付された交点に対応する画素を塗らないという処理を行った結果である。そして、図１１（ｂ）はレンダリング時に同時に生成される属性データを示している。なお、図１１（ｂ）におけるアルファベットの意味は、Ｎ＝非描画オブジェクト、Ｇ＝図形オブジェクト、Ｌ＝線オブジェクトである。ここでは、説明のためアルファベットで記載しているが、実際の属性データでは、例えば、Ｎは“０”、Ｇは“１”、Ｌは“２”といった具合に数値化されて保持される。ここで、図１１（ａ）と前述の図８（ａ−１）とを比較すると、双方の画像データは同じ内容となっている。しかし、属性データに着目すると、図１１（ｂ）と図８（ｂ−１）とでは、白い細線に相当する部分の属性が異なっている。すなわち、図８（ａ−１）における白画素群８０１は非描画オブジェクトの領域であるのに対し、図１１（ａ）における白画素群１１０１はＬｉｎｅ属性の描画オブジェクトの領域である。このように、レンダリング後の画像データで同じ様に白い細線として再現される部分であっても、当該細線が非描画オブジェクト（描画オブジェクトが存在しない領域）である場合と、白の線オブジェクト（描画オブジェクトが存在する領域）である場合とがある。そして、前者の場合には、ユーザが意図しない白い細線であることから、太らせ処理を適用しないことが望ましい。
【００３６】
＜ＰＤＬ種がＰＳ又はＰＤＦの場合に生じる白い細線＞
前述の図９のケースと同様、ページ内に２つの黒矩形オブジェクトを１画素分だけ離して並べて配置し、さらにその隙間部分を埋めるようにＬｉｎｅ属性の１画素幅の白い線オブジェクトを配置して描画するＰＤＬデータがプリンタ１２０に入力された場合を考える。ただし、前述の図９のケースとは、白の線オブジェクトの位置が右方向にわずかにずれており、オブジェクト間の隙間が完全には埋まらない配置となっている点で相違する。図１２は、前述の図９に相当する図である。この場合も、一方の黒矩形オブジェクト１２０１の黒く塗られる部分１２０１’と他方の黒矩形オブジェクト１２０２の黒く塗られる部分１２０２’とが隣合わせに描画され、その隙間部分に、線オブジェクト１２０３の白く塗られる部分１２０３’が上書き描画される。ただし、ここでは図示のとおり、僅かに隙間が残るように描画される。なお、図１２では、隙間を僅かに残した状態で描画されることが認識しやすいよう、白く塗られる部分１２０３’を網掛けで表している。
【００３７】
図１３（ａ）は、上記ＰＤＬデータをアプリケーションの論理座標に描画した結果に、物理座標を重ねて示した図であり、点線で囲まれた最小単位の四角が物理座標の１画素を表している。ＰＳやＰＤＦの塗りルールでは、描画オブジェクトを構成する画素が物理座標に少しでも掛かっていればその画素は塗られる。そのため、オブジェクト間に意図しない隙間が発生することは基本的には起こりにくい。例えば、上記ＰＤＬデータの変換後の物理座標における画像は、通常であれば図１３（ｂ）のようになる。すなわち、１画素幅のストローク指定の線オブジェクト１２０３に相当する網掛け部分１２０３”が、物理座標では２画素幅に拡がる。
【００３８】
しかしながら、ＰＳやＰＤＦには「Stroke Adjust」と呼ばれるＬｉｎｅ属性オブジェクトの幅を補正する機能がある。これは、変換後の物理座標においても、ストローク指定に係る線の太さに線幅を合わせる機能である。この線幅調整機能が適用された場合の物理座標へ変換後の画像を、図１３（ｃ）に示す。図１３（ｃ）では、線オブジェクト１２０３に相当する網掛け部分が１画素幅になっているが、同時に１画素幅の隙間が発生しているのが分かる。この場合、隙間が拡がってしまっており、このような結果はユーザが望むところではないため、隙間が拡がってしまうのを抑制できるのが望ましい。
【００３９】
（超低濃度細線補正処理）
次に、本実施形態の特徴である、超低濃度細線補正部２０２で実行する超低濃度細線の補正処理（太らせ処理）について、図１４のフローチャートに沿って詳しく説明する。ここでは、入力ＣＭＹＫデータのうちＫ版についての処理を例に説明を行うものとする。そして、処理対象であるＫ版のＢＭＰデータ（以下、「Ｋデータ」と表記）とその属性データが、前述の図８と図１１で示したレンダリング結果であったものとする。いま、図１５（ａ−１）が前述の図８（ａ−１）に対応するＫデータであり、同（ａ−２）が前述の図８（ａ−２）に対応する属性データである。図８（ａ−１）における黒画素の部分が図１５（ａ−１）ではＫ＝２５５、図８（ａ−１）における白画素の部分が図１５（ａ−１）ではＫ＝０で表されている。説明の便宜上、図１５（ａ−１）及び（ａ−２）では、図８（ａ−１）及び（ａ−２）よりも少し広い範囲を図示している。同様に、図１５（ｂ−１）が前述の図８（ｂ−１）に対応するＫデータであり、同（ｂ−２）が前述の図８（ｂ−２）に対応する属性データである。さらに、図１５（ｃ−１）が前述の図１１（ａ−１）に対応するＫデータであり、同（ｃ−２）が前述の図１１（ａ−２）に対応する属性データである。
【００４０】
Ｓ１４０１では、二値化部２１１が、次の隣接画素判定処理（Ｓ１４０２）を行うための前処理として、入力されたＫデータ内の注目画素を中心とした所定サイズ（例えば５×５画素）のウィンドウ画像に対して二値化処理を行なって、２値画像データを生成する。具体的には、濃度値が“０”と略同等な所定濃度に対応する予め設定された閾値（例えば“５”）とウィンドウ画像の各画素値（濃度値）とを比較する単純二値化処理を行なう。この場合、画素値が“０”であれば“０”が出力され、画素値が“２５５”であれば“１”が出力される。上述の図１５（ａ―１）〜（ｃ−１）のＫデータそれぞれは、この二値化処理によって、図１６（ａ―１）〜（ｃ−１）に示すような、各画素値が“１”と“０”で表現される２値画像データが得られる。こうして、印刷対象の画像に含まれる所定濃度以下の領域が特定される。図１６（ａ−２）〜（ｃ−２）は、図１６（ａ−１）〜（ｃ−１）にそれぞれ対応する属性データである。なお、二値化処理としては、閾値を固定した単純二値化処理に限定されるものではない。例えば、適用する閾値を、注目画素と周辺画素の濃度値の差としてもよい。二値化処理後のウィンドウ画像のデータは、隣接画素判定部２１２に出力される。
【００４１】
次に、Ｓ１４０２では、隣接画素判定部２１２が、二値化処理後のウィンドウ画像を用いて、注目画素が超低濃度細線画素に隣接する画素（超低濃度細線隣接画素）に該当するか否かを判定し、判定結果に応じたフラグ（以下、「細線隣接フラグ」と呼ぶ。）を設定する。まず、超低濃度細線隣接画素の判定処理について説明する。
【００４２】
注目画素が超低濃度細線隣接画素に該当するか否かは、下記のようなマッチング処理によって行う。具体的には、注目画素とその周辺画素の画素値に基づき、図１７（ａ）〜（ｄ）に示す各パターンのいずれかと一致するかを確認し、１画素幅の細線に隣接する画素を検出する。図１７（ｅ）は、マッチング処理における、ウィンドウ画像内の各画素の画素位置を示している。そして、図１７（ａ）〜（ｄ）の各パターンにおいて、太枠内の３つの画素がマッチングを行う画素である。斜線のない画素が“０”の画素値を持つ超低濃度細線画素を示し、斜線のある画素が“１”の画素値を持つ超低濃度細線隣接画素を示す。例えば、図１７（ａ）のパターンは、注目画素位置がｐ２２でその画素値が“１”、その左隣（画素位置ｐ２１）の画素値が“０”、さらにその左隣（画素位置ｐ２０）の画素値が“１”になるパターンである。この図１７（ａ）のパターンでは、超低濃度細線画素の位置がｐ２１であるとき、その両隣の位置ｐ２０とｐ２２にある画素が超低濃度細線隣接画素となる。同様に、注目画素位置がｐ２２でその画素値が“１”、その右隣（画素位置ｐ２３）の画素値が“０”、さらにその右隣（画素位置ｐ２４）の画素値が“１”になるパターンが、図１７（ｂ）のパターンである。同様に、注目画素位置がｐ２２でその画素値が“１”、その上隣（画素位置ｐ１２）の画素値が“０”、さらにその上隣（画素位置ｐ０２）の画素値が“１”になるパターンが、図１７（ｃ）のパターンである。同様に、注目画素位置がｐ２２でその画素値が“１”、その下隣（画素位置ｐ３２）の画素値が“０”、さらにその下隣（画素位置ｐ４２）の画素値が“１”になるパターンが、図１７（ｄ）のパターンである。注目画素とその周辺画素の画素値が、これら図１７（ａ）〜（ｄ）のいずれかのパターンと一致した場合、当該注目画素は、超低濃度細線隣接画素と判定されることになる（ただし、この判定結果は暫定的であり、後述の再判定処理（Ｓ１４０５）で変わり得る）。そして、隣接画素判定部２１２は、マッチング処理の結果を示すパターン信号を決定する。例えば、図１７（ａ）のパターンと一致すると“１”、図１７（ｂ）のパターンと一致すると“２”、図１７（ｃ）のパターンと一致すると“３”、図１７（ｄ）のパターンと一致すると“４”といった具合に、パターン信号を決定する。どのパターンとも一致しない場合は、パターン信号に“０”を設定する。さらに、注目画素に対し、超低濃度細線隣接画素と判定された場合は細線隣接フラグの値として肯定を意味する“１”が設定され、超低濃度細線隣接画素と判定されなかった場合は否定を意味する“０”が設定される。
【００４３】
例えば、図１６（ａ−１）の２値画像において、画素１６０１が注目画素であったとする。この場合、注目画素の画素値は“１”、その右隣りの画素１６０２は画素値が“０”、さらにその右隣りの画素１６０３の画素値は“１”なので、図１７（ｂ）のパターンと一致する。よって、注目画素である画素１６０１は、超低濃度細線隣接画素と判定されることになる。そして、パターン信号は“２”となり、フラグ値“１”の細線隣接フラグが設定されることになる。一方、図１６（ｂ−１）の２値画像の場合には、どの画素を注目画素としても、図１７（ａ）〜（ｄ）のどのパターンとも一致しない。よって、この場合は、超低濃度細線隣接画素と判定される画素は存在せず、どの画素についてもパターン信号が“０”、細線隣接フラグの値が“０”となる。これに対し、図１６（ｃ−１）の２値画像の場合は、図１６（ａ−１）と同様、図１７（ｂ）のパターンと一致することがあるので、当該パターンと一致したときの注目画素について、パターン信号が“２”、細線隣接フラグの値が“１”となる。こうして注目画素について設定された情報のうち、細線隣接フラグの情報は隣接画素再判定部２１５に送られ、マッチング処理の結果を示すパターン信号の情報は、細線画素判定部２１３に送られる。なお、本実施形態では、１画素幅の細線に隣接する画素を検出しているが、パターンの構成を変更することで例えば２画素幅など所定幅以下の細線に隣接する画素の検出も可能である。
【００４４】
次に、Ｓ１４０３では、細線画素判定部２１３が、隣接画素判定部２１２から受け取ったパターン信号に基づき、注目画素が超低濃度細線隣接画素であった場合の超低濃度細線画素の位置を特定する。上述の４つのパターンそれぞれにおける超低濃度細線画素の位置は、パターン信号“１”の場合はｐ２１、パターン信号“２”の場合はｐ２３、パターン信号“３”の場合はｐ１２、パターン信号“４”の場合はｐ３２である（図１７（ａ）〜（ｄ）を参照）。なお、パターン信号“０”の場合は、超低濃度細線画素は不存在となる。例えば、図１６（ａ―１）の２値画像において、注目画素が画素１６０１のときのパターン信号は“２”なので、画素位置ｐ２３に相当する位置の画素１６０２が超低濃度細線画素として特定されることになる。また、図１６（ｂ―１）の２値画像では、どの注目画素についてもパターン信号は“０”なので、超低濃度細線画素は存在しないと判定される。また、図１６（ｃ―１）の２値画像において、注目画素が画素１６１１のときのパターン信号は“２”なので、画素位置ｐ２３に相当する位置の画素１６１２が超低濃度細線画素として特定されることになる。こうして特定された超低濃度細線画素の位置情報が、属性判定部２１４に送られる。
【００４５】
Ｓ１４０４では、属性判定部２１４が、超低濃度細線画素と特定された画素の属性を、その位置情報と属性データとに基づき判定し、判定結果に応じたフラグ（以下、「非描画フラグ」と呼ぶ。）を設定する。例えば、図１６（ａ―１）の２値画像において注目画素が画素１６０１のときは画素１６０２が超低濃度細線画素として特定されている。この画素１６０２の属性が、図１６（ａ―２）の属性データに基づき判定される。いま、図１６（ａ−２）の属性データでは、画素１６０２に対応する画素１６０２’の属性値は“０”である。属性値“０”は描画オブジェクトの存在しない非描画領域の画素であることを示すので、非描画フラグの値として肯定を意味する“１”を設定する。同様に、図１６（ｃ―１）の２値画像において注目画素が画素１６１１のときは画素１６１２が超低濃度細線画素として特定されている。この画素１６１２の属性が、図１６（ｃ―２）の属性データに基づき判定される。いま、図１６（ｃ−２）の属性データでは、画素１６１２に対応する画素１６１２’の属性値は“２”である。属性値“２”はＬｉｎｅ属性の描画オブジェクトの画素であることを示すので、非描画フラグの値として否定を意味する“０”を設定する。なお、図１６（ｂ−２）の２値画像のように超低濃度細線画素が特定されなかった場合は、その位置情報が入力されることもない。このため、非描画フラグの値として否定を意味する“０”を設定する。
【００４６】
次に、Ｓ１４０５では、隣接画素再判定部２１５が、Ｓ１４０４で設定された非描画フラグに基づいて、細線隣接画素と判定された注目画素が、濃度補正を行って太らせるべき細線に隣接する画素か否かを判定する。具体的には、以下の基準に従って、細線隣接フラグの見直しを行う。
【００４７】
・細線隣接フラグが“１”、かつ、非描画フラグが“１”の場合
非描画オブジェクトの細線（背景）であるので、補正対象から除外するべく細線隣接フラグをキャンセル（フラグ値を“０”に変更）
【００４８】
・細線隣接フラグが“１”、かつ、非描画フラグが“０”の場合
描画オブジェクトの細線であるので、補正対象とするべく細線隣接フラグを維持（フラグ値は“１”のまま）
【００４９】
・細線隣接フラグが“０”の場合
非描画フラグの値に関係なく、細線隣接フラグを維持（フラグ値は“０”のまま）
【００５０】
以上を整理すると、細線隣接フラグが“１”となって太らせ処理の適用を受ける画素は、入力された細線隣接フラグが“１”、かつ、非描画フラグが“０”の画素のみである。そして、最終的に細線隣接フラグが“１”となった画素についてだけ、次のＳ１４０６で低濃度化された補正後の画素値が出力されることになる。見直し後の細線隣接フラグの情報は、画素選択部２１７とハーフトーン画像選択部２０６に送られる。
【００５１】
次に、Ｓ１４０６では、隣接画素補正部２１６は、所定の太らせ量に応じて注目画素値を補正する。この処理は、例えば太らせ量を１画素分とした場合、１画素の最大値“２５５”の分だけ超低濃度細線画素の両隣りの画素の濃度を下げる、つまり、２５５／２＝“１２８”を超低濃度細線隣接画素の画素値から差し引くことで実現する。これにより、超低濃度細線の見かけ上の幅が拡がることになる。なお、本実施形態では、注目画素の画素値をすべて補正しておき、後述の画素選択処理において細線隣接フラグが“１”の画素についてのみ補正後（低濃度化後）の画素値を出力するように構成することで、これを実現している。
【００５２】
Ｓ１４０７〜Ｓ１４０９では、画素選択部２１７が、注目画素に設定された細線隣接フラグに応じて、注目画素の画素値として補正後の画素値を用いるか補正前の画素値を用いるかを選択し、当該選択した画素値をガンマ補正部２０３に出力する。すなわち、細線隣接フラグの値に基づき処理の切り分けがなされ（Ｓ１４０７）、フラグ値が“１”であれば太らせ処理用の濃度補正が施された後の画素値を出力し（Ｓ１４０８）、フラグ値が“０”であれば、濃度補正なしの画素値を出力する（Ｓ１４０９）。図１８（ａ―１）〜（ｃ−１）は、図１５（ａ―１）〜（ｃ−１）のＫデータそれぞれに対応する、上述の再判定処理後の細線隣接フラグを示している。そして、図１８（ａ−２）〜（ｃ−２）は、再判定処理後の細線隣接フラグに応じて画素選択部２１７が選択した画素値を示している。例えば、図１５（ａ−１）のＫデータにおける画素１５０１が注目画素であったとき、図１８（ａ−１）における対応する画素１８０１の細線隣接フラグの値は“０”なので、補正なしの画素値“２５５”が選択される。同様に、図１５（ｂ−１）のＫデータにおける画素１５０２が注目画素であったとき、図１８（ｂ−１）における対応する画素位置１８０２の細線隣接フラグの値は“０”なので、補正なしの画素値“２５５”が選択される。さらに、図１５（ｃ−１）のＫデータにおける画素１５０３が注目画素であったとき、図１８（ｃ−１）における対応する画素１８０３の細線隣接フラグの値は“１”なので、補正後の画素値“１２７”が選択される。
【００５３】
Ｓ１４１０では、色変換部２０１のバッファに含まれている全ての画素について上述の処理が行われたか否かが判定される。未処理の画素があれば、Ｓ１４０１に戻り、次の画素を注目画素に決定して処理を続行する。一方、全ての画素について処理が終了していた場合は、本フローを終了する。図１９（ａ）〜（ｃ）は、本フロー終了後の画像データを示している。図１９（ａ）は、図８（ａ−１）に示すレンダリング後の画像に対する処理結果を示している。課題としていた白の隙間については、太らせ処理が適用されないことで超低濃度細線の幅が維持され、意図せず生じた隙間が広がることを防止できている。また、図１９（ｂ）は、図８（ｂ−１）に示すレンダリングの画像に対する処理結果を示している。元から白の隙間が存在しない場合であり、本処理による影響を受けないことが分かる。図１９（ｃ）は、図１１（ａ）に示すレンダリング後の画像に対する処理結果を示している。白線オブジェクトを描画することで形成される細線なので、太らせ処理が適用されてその幅が広がり、白い細線をよりくっきりと再現することができている。
【００５４】
以上が、本実施形態に係る、太らせ処理の内容である。
【００５５】
＜変形例＞
なお、本実施形態では、隣接画素補正部２１６において処理対象画像の各画素値を補正しておき（Ｓ１４０６）、画素選択部２１７にて細線隣接フラグが“１”の画素についてのみ補正後の画素値を出力するようにしていた（Ｓ１４０７でＹｅｓ、Ｓ１４０８）。しかし、このような構成に限定されない。例えば、隣接画素補正部２１６が、細線隣接フラグが“１”の画素についてのみ画素値を補正するような構成を採用してもよい。この場合、画素選択部２１７を省略することができる。
【００５６】
また、ＰＤＬ種がＰＳやＰＤＦの場合に働く線幅調整機能であるが、入力されたＰＳ或いはＰＤＦのＰＤＬデータに対する当該機能の適用の有無をユーザが選択可能なタイプのプリンタもある。図３（ｂ）に線幅調整機能のＯＮ／ＯＦＦをユーザが選択するためのＵＩ画面の一例を示す。このようなタイプのプリンタでは、線幅調整機能がＯＮに設定されている場合のときにだけ、上述の太らせ処理の制御を行うように構成してもよい。或いは、ＰＳ或いはＰＤＦのＰＤＬコマンドにおいて「Stroke Adjust」の適用が指定されていた場合にのみ上述の太らせ処理の制御を行うようにしてもよい。
【００５７】
以上のとおり、本実施形態によれば、画像内の細線が、非描画オブジェクトの濃度ゼロ（或いはそれと等価）の細線である場合には太らせ処理を適用しないように制御する。これにより、ＰＤＬデータをレンダリングする際に生じ得るユーザが意図しない白い細線まで太らせてしまうのを防ぐことができる。
【００５８】
＜実施形態２＞
実施形態１では、超低濃度の細線に隣接する画素のみを太らせ処理における濃度補正の対象画素としていた。次に、超低濃度の細線を構成する画素についても濃度補正の対象とする態様を実施形態２として説明する。なお、実施形態１と共通の内容については説明を省略することとし、以下では、差異点である超低濃度細線補正部の処理について説明を行うものとする。
【００５９】
図２０は、本実施形態に係る、超低濃度細線補正部２０２’の内部構成を示す詳細ブロック図である。実施形態１の超低濃度細線補正部２０２との大きな違いは、細線画素第２判定部２０００、属性第２判定部２００１、非描画細線画素判定部２００２、フラグ統合部２００３、細線画素補正部２００４が追加されている点である。以下、本実施形態の超低濃度細線補正処理について、図２１に示すフローチャートに沿って説明する。
【００６０】
Ｓ２１０１〜Ｓ２１０６は、実施形態１の図１４のフローのＳ１４０１〜Ｓ１４０６にそれぞれ対応する。すなわち、二値化部２１１、隣接画素判定部２１２、細線画素判定部２１３、属性判定部２１４、隣接画素再判定部２１５、隣接画素補正部２１６による各処理が実行される。なお、本実施形態においては、便宜上、細線画素判定部２１３を「細線画素第１判定部」として扱い、属性判定部２１４を「属性第１判定部」として扱うこととするが、動作面で実施形態１との違いはない。
【００６１】
Ｓ２１０７では、細線画素第２判定部２０００が、二値化処理後のウィンドウ画像を用いて、注目画素が超低濃度細線画素であるか否かを判定し、判定結果に応じたフラグ（以下、「超低濃度細線フラグ」と呼ぶ）を設定する。まず、本ステップにおける超低濃度細線画素の判定処理について説明する。
【００６２】
注目画素が超低濃度細線画素に該当するか否かは、下記のようなマッチング処理によって行う。具体的には、注目画素とその周辺画素の画素値に基づき、図２２（ａ）及び（ｂ）に示すいずれかのパターンと一致するかを確認する。このマッチング処理の際の、５×５画素のウィンドウ画像における各画素の画素位置は、前述の図１７（ｅ）に示したとおりである。そして、図２２の（ａ）（ｂ）の両パターンにおいて、太枠内の３つの画素がマッチングを行う画素であり、斜線のない画素が“０”の画素値を持つ超低濃度細線画素を示し、斜線のある画素が“１”の画素値を持つ超低濃度細線隣接画素を示す。図２２（ａ）のパターンは、注目画素位置がｐ２２でその画素値が“０”、その左右両隣（画素位置ｐ２１とｐ２３）の画素値が“１”になるパターンである。この図２２（ａ）のパターンは、超低濃度細線画素の位置がｐ２２であるとき、その左右両隣の位置ｐ２１とｐ２３にある画素が超低濃度細線隣接画素となるパターンである。同様に、図２２（ｂ）のパターンは、注目画素位置がｐ２２でその画素値が“０”、その上下両隣（画素位置ｐ１２とｐ３２）の画素値が“１”になるパターンである。この図２２（ｂ）のパターンは、超低濃度細線画素の位置がｐ２２であるとき、その上下両隣の位置ｐ１２とｐ３２にある画素が超低濃度細線隣接画素となるパターンである。注目画素とその周辺画素の画素値が、この両パターンのいずれかと一致した場合、当該注目画素は、超低濃度細線画素と判定されることになる。そして、超低濃度細線画素であると判定された場合は、当該注目画素に対し、超低濃度細線フラグの値として肯定を意味する“１”が設定される。一方、超低濃度細線画素と判定されなかった場合は、超低濃度細線フラグの値として否定を意味する“０”が設定される。
【００６３】
いま、Ｓ２１０１における二値化処理によって前述の図１６（ａ−１）〜（ｃ−１）に示す２値画像と、同（ａ−２）〜（ｃ−２）に示す属性データが得られたとする。例えば、図１６（ａ−１）の２値画像の場合において、画素１６０２が注目画素であったとする。このとき、注目画素の画素値は“０”、その両隣の画素１６０１及び１６０３の画素値はともに“１”なので、図２２（ａ）のパターンと一致する。よって、注目画素である画素１６０２は、超低濃度細線画素と判定されることになる。そして、フラグ値“１”の超低濃度細線フラグが設定される。一方、図１６（ｂ−１）の２値画像の場合は、どの画素を注目画素としても、図２２（ａ）（ｂ）のどのパターンとも一致しない。よって、この場合は、どの画素も超低濃度細線画素と判定されず、フラグ値“０”の超低濃度細線フラグが設定されることになる。これに対し、図１６（ｃ−１）の２値画像の場合は、図１６（ａ−１）と同様、図２２（ａ）のパターンと一致することがあるので、当該パターンと一致したときの注目画素について、フラグ値“１”の超低濃度細線フラグが設定される。こうして設定された超低濃度細線フラグの情報は非描画細線画素判定部２００２に送られ、超低濃度細線画素と判定された注目画素の位置情報が属性第２判定部２００１に送られる。
【００６４】
次に、Ｓ２１０８では、属性第２判定部２００１が、細線画素第２判定部２０００から受け取った注目画素位置の情報に基づき、超低濃度細線画素と判定された画素が非描画領域の画素であるか否かを判定する。例えば、図１６（ａ−２）の属性データにおいて、画素１６０２’の値は“０”なので、オブジェクトとして描画されない画素であることを示している。よって、図１６（ａ−１）の２値画像において画素１６０２が注目画素であった場合は、その非描画フラグの値として肯定を意味する“１”が設定される。一方、図１６（ｂ−２）の属性データでは、そもそもＳ２１０７のマッチング処理で一致したパターンが存在しないので位置情報が存在せず、非描画フラグの値として“０”が設定される。また、図１６（ｃ−２）の属性データにおいて、画素１６１２’の値は“２”なので、Ｌｉｎｅ属性のオブジェクトに属する描画される画素であることを示している。よって、図１６（ｃ−１）の２値画像において画素１６１２が注目画素であった場合は、その非描画フラグの値として否定を意味する“０”が設定される。
【００６５】
次に、Ｓ２１０９では、非描画細線画素判定部２００２が、Ｓ２１０７で設定された超低濃度細線フラグとＳ２１０８で設定された非描画フラグとに基づいて、注目画素が、非描画の画素、かつ、超低濃度細線の画素であるかどうかを判定する。そして、判定結果に応じたフラグ（以下、「非描画細線フラグ」と呼ぶ）を設定する。具体的には、以下の基準に従って、非描画細線フラグが設定される。
【００６６】
・超低濃度細線フラグが“１”、かつ、非描画フラグが“１”の場合
非描画オブジェクトの超低濃度細線なので、非描画細線フラグの値として肯定を意味する“１”を設定
【００６７】
・超低濃度細線フラグが“１”、かつ、非描画フラグが“０”の場合
描画オブジェクトの超低濃度細線なので、非描画細線フラグの値として否定を意味する“０”を設定
【００６８】
・細線フラグが“０”の場合
非描画フラグの値に関係なく、非描画細線フラグの値として否定を意味する“０”を設定
【００６９】
次に、Ｓ２１１０では、細線画素補正部２００４が、非描画オブジェクトである超低濃度細線を構成する各画素の濃度を上げて、非描画の細線領域を狭くする補正を行う。具体的には、注目画素の両隣にある画素の濃度値の平均値を求め、得られた平均値を注目画素の新たな画素値とする。この他、注目画素の右隣や左隣の画素の画素値を、注目画素の新たな画素値としてもよい。要は、注目画素の濃度を上げる効果があればよい。なお、本実施形態では、処理対象画像の各画素値を補正しておき、後述の統合フラグが“２”の画素についてのみ、本ステップにおける補正後の画素値を出力するように構成している。
次に、Ｓ２１１１では、フラグ統合部２００３が、注目画素に対し、細線隣接フラグ（Ｓ２１０５）と非描画細線フラグ（Ｓ２１０９）とに基づき、両フラグを統合したフラグ（以下、「統合フラグ」と呼ぶ。）を設定する。この統合フラグでは、非描画の超低濃度細線画素の場合に“２”、超低濃度細線隣接画素の場合に“１”、その他の画素の場合に“０”が、以下の基準に従って設定される。
【００７０】
・細線隣接フラグが“１”の場合
超低濃度細線隣接画素であり、非描画細線フラグの値に関係なく、統合フラグの値を“１”に設定。
【００７１】
・細線隣接フラグが“０”、かつ、非描画細線フラグが“１”の場合
非描画の超低濃度細線画素であり、統合フラグの値を“２”に設定
【００７２】
・細線隣接フラグが“０”、かつ、非描画細線フラグが“０”の場合
いずれの補正も必要のない画素であり、統合フラグの値を“０”に設定
【００７３】
次に、Ｓ２１１２〜Ｓ２１１５では、画素選択部２１７’が、注目画素に設定された統合フラグに応じて画素値を選択し、ガンマ補正部２０３に出力する。すなわち、統合フラグの値に基づき処理の切り分けがなされ（Ｓ２１１２）、フラグ値が“２”であればＳ２１１０での補正後の画素値を出力し（Ｓ２１１３）、フラグ値が“１”であればＳ２１０６での補正後の画素値を出力する（Ｓ２１１４）。そして、フラグ値が“０”であれば濃度補正なしの画素値を出力する（Ｓ２１１５）。そして、画素値の出力と共に、統合フラグの情報がハーフトーン画像選択部２０６に出力される。図２３（ａ―１）〜（ｃ−１）は、図１５（ａ―１）〜（ｃ−１）のＫデータそれぞれに対応する、上述のフラグ統合処理後の統合フラグを示している。そして、図２３（ａ−２）〜（ｃ−２）は、フラグ統合処理後の統合フラグに応じて画素選択部２１７’が選択した画素値を示している。例えば、図１５（ａ−１）のＫデータにおける画素１５０４が注目画素であったとき、図２３（ａ−１）における対応する画素２３０１の統合フラグの値は“２”なので、細線画素補正部２００４による補正後の画素値“２５５”が選択される。同様に、図１５（ｂ−１）のＫデータにおける画素１５０５が注目画素であったとき、図２３（ｂ−１）における対応する画素位置２３０２の統合フラグの値は“０”なので、補正なしの画素値“２５５”が選択される。さらに、図１５（ｃ−１）のＫデータにおける画素１５０３が注目画素であったとき、図２３（ｃ−１）における対応する画素２３０３の統合フラグの値は“１”なので、隣接画素補正部２１６による補正後の画素値“１２７”が選択される。
【００７４】
Ｓ２１１６では、色変換部２０１のバッファに含まれている全ての画素について上述の処理が行われたか否かが判定される。未処理の画素があれば、Ｓ２１０１に戻り、次の画素を注目画素に決定して処理を続行する。一方、全ての画素について処理が終了していた場合は、本フローを終了する。図２４（ａ）〜（ｃ）は、本フロー終了後の画像データを示している。図２４（ａ）は、図８（ａ−１）に示すレンダリング後の画像に対する処理結果を示している。課題としていた白の隙間については、非描画の超低濃度細線画素と判定されて濃度を上げる処理が適用されることで、意図せず生じた隙間が消失している。また、図２４（ｂ）は、図８（ｂ−１）に示すレンダリングの画像に対する処理結果を示している。元から白の隙間が存在しない場合であり、本処理による影響を受けないことが分かる。図２４（ｃ）は、図１１（ａ）に示すレンダリング後の画像に対する処理結果を示している。白の線オブジェクトを描画することで形成される細線なので、太らせ処理が適用されてその幅が広がり、白い細線をよりくっきりと再現することができている。
【００７５】
以上が、本実施形態に係る、太らせ処理の内容である。
【００７６】
なお、本実施形態では、フラグを処理毎に設けていたが、これに限定されず、複数の処理結果に対応したフラグを用いてもよい。例えば、超低濃度細線隣接画素には“１”、非描画の超低濃度細線画素には“２”、それ以外の画素には“０” の各フラグ値を対応付けた１種類のフラグを、複数の処理で共通で使用し、統合処理では当該フラグに設定された値を更新するような構成でもよい。
【００７７】
以上のとおり本実施形態によれば、非描画オブジェクトである超低濃度細線部の濃度を上げる補正を行うことで、ユーザの意図に反して生じた隙間をなくすことができ、印刷品質をより向上させることが可能となる。
【００７８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2020066164.tif 000003
【図２】
2020066164.tif 000004
【図３】
2020066164.tif 000005
【図４】
2020066164.tif 000006
【図５】
2020066164.tif 000007
【図６】
2020066164.tif 000008
【図７】
2020066164.tif 000009
【図８】
2020066164.tif 000010
【図９】
2020066164.tif 000011
【図１０】
2020066164.tif 000012
【図１１】
2020066164.tif 000013
【図１２】
2020066164.tif 000014
【図１３】
2020066164.tif 000015
【図１４】
2020066164.tif 000016
【図１５】
2020066164.tif 000017
【図１６】
2020066164.tif 000018
【図１７】
2020066164.tif 000019
【図１８】
2020066164.tif 000020
【図１９】
2020066164.tif 000021
【図２０】
2020066164.tif 000022
【図２１】
2020066164.tif 000023
【図２２】
2020066164.tif 000024
【図２３】
2020066164.tif 000025
【図２４】
2020066164.tif 000026