(57)【特許請求の範囲】
【請求項１】
画像データに含まれるオブジェクトを変形する画像処理装置であって、
画像データに含まれるオブジェクトのエッジ部から所定距離だけ当該オブジェクトから離れた位置を決定する決定手段と、
前記決定された位置に基づいて、前記決定された位置が前記オブジェクトの新たなエッジ部となるように前記オブジェクトを変形する変形手段と、
前記決定された位置に基づいて、前記変形が行われた後の前記オブジェクトの前記新たなエッジ部に所定の画像処理を行う処理手段と
を有し、
前記決定手段は、前記変形が行なわる前に、前記離れた位置の他に、前記変形が行なわれる前の前記オブジェクトの元々のエッジ部の位置も決定し、
前記処理手段は、前記決定された元々のエッジ部の位置に基づいて、前記変形が行なわれる前の前記オブジェクトの元々のエッジ部に前記所定の画像処理とは異なる別の所定の画像処理を行なうことを特徴とする画像処理装置。
【請求項２】
前記決定手段は、前記オブジェクトに対する上下左右の方向の変形が行なわれた後の前記新たなエッジ部の位置を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、前記オブジェクトに対する上下左右のうちの一部の方向のみの変形が行なわれた後の前記新たなエッジ部の位置を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記決定手段は、前記オブジェクトに対する前記一部の方向以外の方向に対応するエッジ部の位置を、前記変形が行なわれた後のオブジェクトの前記新たなエッジ部の位置として用いることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記決定手段は、前記オブジェクトに対する複数画素分の変形が行なわれた後のエッジ部の位置を決定することを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記決定手段は、前記画像データの画素ごとに、前記オブジェクトの内側のエッジか、前記オブジェクトの外側のエッジか、またはそれ以外かを判定し、判定した結果を用いて前記位置を決定することを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
前記決定手段は、オブジェクト同士の距離が所定の画素数以内である場合、前記変形が行われた後のオブジェクトの前記新たなエッジ部の位置として、前記変形が行なわれる前のオブジェクトのエッジ部の位置を決定することを特徴とする請求項１乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
前記変形手段は、前記変形が行われた後のオブジェクトの前記新たなエッジ部の位置の画素の画素値を、該画素に近接する画素の画素値で上書きすることで前記変形を行なうことを特徴とする請求項１乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
前記変形手段は、前記変形が行われた後のオブジェクトの前記新たなエッジ部の位置の画素の画素値を、該画素に近接する前記オブジェクト内の画素の画素値で上書きすることで前記変形を行なうことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記変形手段は、前記変形が行なわる前のオブジェクトの元々のエッジ部の位置の画素の画素値を、該画素に近接する前記オブジェクト外の画素の画素値で上書きすることで前記変形を行なうことを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
画像データに含まれるオブジェクトを変形する画像処理方法であって、
画像データに含まれるオブジェクトのエッジ部から所定距離だけ当該オブジェクトから離れた位置を決定する決定ステップと、
前記決定された位置に基づいて、前記決定された位置が前記オブジェクトの新たなエッジ部となるように前記オブジェクトを変形する変形ステップと、
前記決定された位置に基づいて、前記変形が行われた後の前記オブジェクトの前記新たなエッジ部に所定の画像処理を行う処理ステップと
を有し、
前記決定ステップでは、前記変形が行なわる前に、前記離れた位置の他に、前記変形が行なわれる前の前記オブジェクトの元々のエッジ部の位置も決定し、
前記処理ステップでは、前記決定された元々のエッジ部の位置に基づいて、前記変形が行なわれる前の前記オブジェクトの元々のエッジ部に前記所定の画像処理とは異なる別の所定の画像処理を行なうことを特徴とする画像処理方法。
【請求項１２】
コンピュータを、請求項１乃至１０のいずれか一項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エッジ部を変形させる画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
画像データに含まれるオブジェクトのエッジ部に対してエッジ部用の画像処理を行うことで、印刷されるオブジェクトの画質を向上させる技術がある。特許文献１は、画像データに含まれるオブジェクトのエッジ部を、画像データを解析することで特定し、その特定されたエッジ部に対して、オブジェクトのエッジ部を拡張（変形）する処理を行う技術を開示する。その特許文献１は、さらに、その拡張されたオブジェクトを含む画像データを再度解析することで、その拡張されたオブジェクトのエッジ部を再特定し、その再特定されたエッジ部に対して、エッジ部用のスクリーン処理を行う技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１０／０１２８３１４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示される技術では、変形されるべきオブジェクトのエッジ部を特定するために画像データが解析され、そして変形された後のオブジェクトのエッジ部を特定するために画像データが再度解析される。このように、画像データを再解析することは計算コストの増大を招く。
【課題を解決するための手段】
【０００５】
本発明に係る画像処理装置は、画像データに含まれるオブジェクトを変形する画像処理装置であって、画像データに含まれるオブジェクトのエッジ部から所定距離だけ当該オブジェクトから離れた位置を決定する決定手段と、前記決定された位置に基づいて、前記決定された位置が前記オブジェクトの新たなエッジ部となるように前記オブジェクトを変形する変形手段と、前記決定された位置に基づいて、前記変形が行われた後の前記オブジェクトの前記新たなエッジ部に所定の画像処理を行う処理手段とを有し、前記決定手段は、前記変形が行なわる前に、前記離れた位置の他に、前記変形が行なわれる前の前記オブジェクトの元々のエッジ部の位置も決定し、前記処理手段は、前記決定された元々のエッジ部の位置に基づいて、前記変形が行なわれる前の前記オブジェクトの元々のエッジ部に前記所定の画像処理とは異なる別の所定の画像処理を行なうことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像データを再解析せずに、変形されたオブジェクトのエッジ部に所定の画像処理を行うことができる。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態の説明で用いる画像処理装置の構成を示す図である。
【図２】第１の実施形態の説明で用いる画像処理部の構成を示す図である。
【図３】第１の実施形態の説明で用いる太らせ処理前と後の画像データの一例を示す図である。
【図４】第１、３、４の実施形態の説明で用いるフィルタ処理後のデータ、およびエッジデータの一例を示す図である。
【図５】第１の実施形態の説明で用いるエッジデータ生成部の処理を示すフローチャートである。
【図６】第１の実施形態の説明で用いるフィルタ処理を説明する図である。
【図７】第１の実施形態の説明で用いる閾値判定の処理を示すフローチャートである。
【図８】第１の実施形態の説明で用いる太らせ処理後のエッジを判定するパターンを示す図である。
【図９】第１の実施形態の説明で用いる太らせ処理をキャンセルすべきケースを示す図である。
【図１０】第１の実施形態の説明で用いるパターンマッチングを説明するための図である。
【図１１】第１の実施形態の説明で用いる太らせ処理のフローチャートを示す図である。
【図１２】第２の実施形態の説明で用いる画像処理部の構成を示す図である。
【図１３】第３の実施形態の説明で用いる太らせ処理後のエッジ位置を参照する方法を示す図である。
【図１４】第３の実施形態の説明で用いるエッジデータ生成部の処理を示すフローチャートである。
【図１５】第３の実施形態の説明で用いる太らせ処理後のエッジを判定するパターンを示す図である。
【図１６】第４の実施形態の説明で用いる太らせ処理後のエッジ位置を参照する方法を示す図である。
【図１７】第４の実施形態の説明で用いるエッジデータ生成部の処理を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための形態について図面を用いて説明する。以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【０００９】
＜第１の実施形態＞
第１の実施形態では、画像データにおけるオブジェクトを変形させる一例として、上・下・左・右の４方向にエッジ部を１画素だけ拡張させることで太らせる処理を説明する。そして、太らせた後に、太らせた後のオブジェクトのエッジ部と太らせた後のオブジェクト内部とで画像処理の手法を切り替える画像処理装置について説明する。
【００１０】
図１に本実施形態における画像処理装置を含む印刷装置の構成を示す。本実施形態における印刷装置は、コントローラ１００と操作部１０６とプリント部１０７とを有する。印刷装置はネットワーク１０８と接続される。
【００１１】
コントローラ１００は、ネットワーク１０８からＰＤＬデータを受信する。ＰＤＬとはページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）の略であり、ページにおける描画を表現するために一般的に用いられているコマンド体系のことである。またコントローラ１００は、操作部１０６を介してユーザが設定した「オブジェクトを太らせる幅」の設定情報を取得する。そして、コントローラ１００は、ＰＤＬデータをビットマップ形式の画像データに変換した後に「オブジェクトを太らせる幅」の設定情報に基づいた画像処理を行う。詳細については後述する。そしてコントローラ１００は、その画像処理が行われたビットマップ形式の画像データをプリント部１０７に出力する。
【００１２】
操作部１０６は、本実施形態においては例えば液晶タッチパネルとすることができる。操作部１０６は、ユーザからの各操作を受け付ける。例えば操作部１０６は、ユーザからの各操作に従って「オブジェクトを太らせる幅」の設定情報をコントローラ１００に送信する。
【００１３】
プリント部１０７は、コントローラ１００から取得したビットマップ形式の画像データに基づき、インクやトナーなどの色材を用いて画像を紙媒体上に印刷する。
【００１４】
［コントローラ１００の説明］
コントローラ１００の構成について説明する。コントローラ１００は不図示のＣＰＵ、ＲＯＭ、ＲＡＭを有している。このＣＰＵがＲＯＭに記録されているプログラムをＲＡＭに展開し、実行することで、ＰＤＬデータ受信部１０１、ＰＤＬ処理部１０２、及び画像処理制御部１０５が実現される。また、本実施形態ではレンダリング処理部１０３と画像処理部１０４とは半導体集積回路として実装されているものとする。もちろん、レンダリング処理部１０３と画像処理部１０４とはＣＰＵが実行するプログラムとして実装されても構わない。
【００１５】
ＰＤＬデータ受信部１０１は、ネットワーク１０８からＰＤＬのデータを受信し、ＰＤＬ処理部１０２に出力する。
【００１６】
ＰＤＬ処理部１０２は、ＰＤＬデータ受信部１０１で受信したＰＤＬのデータで表現された描画命令を解釈して、レンダリング処理部１０３に描画指示を出力する。
【００１７】
レンダリング処理部１０３は、ＰＤＬ処理部１０２から出力された描画指示に基づいてビットマップ形式の画像データを生成し、その生成された画像データを画像処理部１０４に出力する。この画像データは、プリント部１０７が扱う色材（即ちプロセスカラー）である例えばシアン、マゼンタ、イエロー、ブラックについての４色分の濃度情報を持っている。そして、画像データの各画素について０〜２５５の８ビット階調の濃度情報をそれぞれ有するものとする。
【００１８】
画像処理制御部１０５は、操作部１０６から「オブジェクトを太らせる幅」の設定情報を取得する。画像処理制御部１０５は、この設定情報に基づいて、後述する画像処理部１０４の有する各部が「オブジェクトを太らせる前のエッジ部の位置」と「オブジェクトを太らせた後のエッジ部の位置」を判定する方法を画像処理部１０４に指示する。具体的には、後述するエッジデータのうち、どの値が「オブジェクトを太らせる前のエッジ部の位置」と「オブジェクトを太らせた後のエッジ部の位置」とそれぞれを示しているかを、画像処理部１０４に指示する。詳細は後述する。
【００１９】
画像処理部１０４は、レンダリング処理部１０３から取得した画像データ、および、画像処理制御部１０５によって設定された指示に基づいて、各処理を実行する。この処理の詳細については、[画像処理部１０４の説明]において後述する。そして、画像処理部１０４は、各処理が実行されたビットマップ形式の画像データをプリント部１０７に出力する。
【００２０】
［画像処理部１０４の説明］
次に、画像処理部１０４の各処理の詳細について説明する。図２は、画像処理部１０４の構成を示す図である。画像処理部１０４は、メモリバッファ２０１、エッジデータ生成部２０２、太らせ処理部２０３、下色除去処理部２０４、色材載量制限処理部２０５、及びスクリーン処理部２０６を有する。メモリバッファ２０１はレンダリング処理部１０３から取得したビットマップ形式の画像データを順次蓄積する。そして、所定のバンド幅の画像データが貯まるとそのバンド幅の画像データをエッジデータ生成部２０２および太らせ処理部２０３に出力していく。
【００２１】
エッジデータ生成部２０２はメモリバッファ２０１から取得した画像データの「オブジェクトを太らせる前のエッジ部の位置」と「オブジェクトを太らせた後のエッジ部の位置」とを決定し、その情報を含むエッジデータを生成する。このエッジデータを生成するためのエッジデータ生成部２０２の処理の詳細については［エッジデータ生成部２０２の説明］で後述する。エッジデータ生成部２０２は生成したエッジデータを太らせ処理部２０３、下色除去処理部２０４、色材載量制限処理部２０５、及びスクリーン処理部２０６に出力する。
【００２２】
このエッジデータは画像データと同じサイズのビットマップ形式をしており、画素ごとに２ビットの情報を持つ。下位から１ビット目は「オブジェクトを太らせる前のエッジ部の位置」についての情報である。下位から１ビット目の値が０ならばその画素は太らせる前のエッジ部ではなく、値が１ならばその画素は太らせる前のエッジ部であることを示す。また、下位から２ビット目は「オブジェクトを太らせた後のエッジ部の位置」についての情報である。下位から２ビット目の値が０ならばその画素は太らせた後のエッジ部ではなく、値が１ならばその画素は太らせた後のエッジ部であることを示す。もちろん、これらのビットの割り当ては一例に過ぎず、「オブジェクトを太らせる前のエッジ部の位置」と「オブジェクトを太らせた後のエッジ部の位置」とを示す情報が含まれていればどのような形態であってもよい。
【００２３】
次にエッジデータについて図３と図４を用いて説明する。図３は画像データからオブジェクトの一部を抽出した図である。図３（ａ）は太らせ処理前の画像データであり、図３（ｂ）は太らせ処理後の画像データである。図４はエッジデータとエッジデータを生成する元となるフィルタ処理後のデータとを示す図である。図３（ｂ）の太らせ処理後の画像データや図４のフィルタデータの詳細について後述する。ここでは、エッジデータを説明する。
【００２４】
図３（ａ）に示す画像データから生成したエッジデータを図４（ｂ）に示す。図３（ａ）において、ハッチングが施されている画素はオブジェクトが描画されている画素を示す。図４（ｂ）のエッジデータは実際には画素ごとに２ビットの情報を持つが、説明のため便宜上図面では１０進数の数値で表している。つまり、図４（ｂ）のエッジデータのうち、「１」の数値が付されている画素は「オブジェクトを太らせる前のエッジ部の位置」の画素であり、「２」の数値が付されている画素は「オブジェクトを太らせた後のエッジ部の位置」の画素である。なお、図４（ｂ）のようなエッジデータを生成する処理の詳細については後述する。
【００２５】
太らせ処理部２０３は、エッジデータ生成部２０２から取得したエッジデータと画像処理制御部１０５の指示とを基に、「オブジェクトを太らせる前のエッジ部の位置」と「オブジェクトを太らせた後のエッジ部の位置」とを判定する。第１の実施形態における画像処理制御部１０５の指示では、エッジデータに含まれる各画素の下位から１ビット目は「オブジェクトを太らせる前のエッジ部の位置」についての情報を表すことを指示する。また、下位から２ビット目は「オブジェクトを太らせた後のエッジ部の位置」についての情報を表すことを指示する。太らせ処理部２０３はメモリバッファ２０１から取得した画像データにおけるオブジェクトを太らせる処理を行い、下色除去処理部２０４に太らせた後のオブジェクトを含む画像データを出力する。太らせ処理部２０３の処理の詳細については［太らせ処理部２０３の説明］で後述する。
【００２６】
下色除去処理部２０４は、エッジデータ生成部２０２から取得したエッジデータと画像処理制御部１０５の指示とを基に、「オブジェクトを太らせた後のエッジ部の位置」を判定する。そして、太らせ処理部２０３から取得した画像データのエッジ部に対して下色除去処理を行う。下色とは画像データにおける各画素のシアン・マゼンタ・イエローの濃度の最小値のことである。この下色は同じ濃度のブラックの色材に置き換えることができる。下色をブラックの色材に置き換えることによってエッジ部の色材量を減らし、滲み・飛び散り・色ズレなどの画像品位の劣化を抑制する。
【００２７】
色材載量制限処理部２０５は、エッジデータ生成部２０２から取得したエッジデータと画像処理制御部１０５の指示とを基に、「オブジェクトを太らせた後のエッジ部の位置」を判定する。そして、下色除去処理部２０４から取得した画像データのエッジ部とそれ以外とで異なる色材載量制限処理を行う。色材載量制限とは、単位面積あたりの色材の濃度の合計（これを色材載量と呼ぶ）を制限することである。これは紙媒体上に単位面積あたり大量の色材を載せると転写・定着不良など画像品位の不良が発生するためである。この色材載量制限はオブジェクトのエッジ部に対してはより低い値で色材載量を制限することが好ましい。これは、エッジ部では転写・定着不良だけでなく滲みや飛び散りなどの画像不良が発生しやすいためである。よって、色材載量制限処理部２０５は、エッジ部とそれ以外とで色材載量の制限値を切り替える。色材載量の制限値を超える画素に対しては色材載量制限値になるまで各色材の濃度を一律の割合で落とす処理を行う。
【００２８】
スクリーン処理部２０６は、エッジデータ生成部２０２から取得したエッジデータと画像処理制御部１０５の指示とを基に、「オブジェクトを太らせた後のエッジ部の位置」を判定する。そして、色材載量制限処理部２０５から取得した画像データに対して、スクリーンの処理を行う。このとき、エッジ部には高線数のスクリーンの処理を、それ以外には低線数のスクリーンの処理を行う。これは、低線数のスクリーンはエッジ部に対しては粒状感が出やすく不向きであるが、階調が滑らかでオブジェクトの内部には好ましく、一方、高線数のスクリーンは階調が滑らかではないが、粒状感が出にくくオブジェクトのエッジ部に好ましいためである。
【００２９】
［エッジデータ生成部２０２の説明］
エッジデータ生成部２０２の処理を図５のフローチャートに示す。ステップＳ５０１においてエッジデータ生成部２０２は、画像データの色材の版ごとに、画像データ全体にラプラシアンフィルタをかける。このラプラシアンフィルタは図６（ａ）に示すような３×３のマトリックスのフィルタである。エッジデータ生成部２０２は注目画素とその隣接画素の値を参照して図６（ａ）のラプラシアンフィルタの畳み込み計算を行う。そして、エッジデータ生成部２０２は、畳み込み計算を行った計算結果をさらに１６で割り１２８のオフセットを加算することで、最小値が０、中心値が１２８、最大値が２５５に正規化された値が算出される。ラプラシアンフィルタの効果を説明する。図３（ａ）の画像データに対して点線３０１のある色材の濃度分布の断面図を図６（ｂ）に示す。そして、これに対してラプラシアンフィルタをかけて正規化を行うと、図６（ｃ）のような分布となる。図６（ｃ）では、オブジェクトのエッジの内側が中心値１２８より大きく、エッジの外側が中心値１２８より小さくなっている。この中心値１２８より大きいか小さいかで、オブジェクトのエッジ位置だけでなくオブジェクトの内側と外側に関する情報も判別することができる。これがラプラシアンフィルタの効果である。ここで、オブジェクトの内側にあるエッジ部のことを内エッジと称し、オブジェクトの外側にあるエッジ部のことを外エッジと称する。
【００３０】
ステップＳ５０２においてエッジデータ生成部２０２は、各画素に対して、ステップＳ５０１で得られたラプラシアンフィルタを適用して得られた値を基に、各画素が内エッジか、外エッジか、あるいは非エッジかを決定する。具体的には、エッジデータ生成部２０２は、各画素に対して、ステップＳ５０１で得られた値を基に閾値判定を行う。この処理の目的は、ある一定以上の強度のエッジのみ拾うこと、さらに２つのオブジェクトが互いに隣接するエッジは除外することである。２つのオブジェクトが互いに隣接する領域では、ラプラシアンフィルタの結果が正となる版と負となる版が混在することになる。そのような箇所で双方のオブジェクトを太らせると、版が重なりあって別の擬似的なオブジェクトが発生してしまう。このステップＳ５０２の処理によりそのような領域を除外できる。
【００３１】
図７は、ステップＳ５０２における閾値判定の処理のフローチャートを示す図である。ステップＳ７０１においてエッジデータ生成部２０２は、注目画素について閾値ＴＨ１を越える版が存在するかを判定する。閾値ＴＨ１を越える版が存在する場合は、ステップＳ７０２においてさらに閾値ＴＨ２を下回る版が存在するかを判定する。閾値ＴＨ２を下回る版が存在しない場合は、ステップＳ７０３においてエッジデータ生成部２０２は、注目画素はオブジェクトの内側のエッジである内エッジであると判定する。一方、ステップＳ７０２で閾値ＴＨ２を下回る版が存在する場合は、オブジェクトの内部である版とオブジェクトの外部である版が混在することを意味している。このような画素はエッジ用の画像処理は不要である。よって、ステップＳ７０４においてエッジデータ生成部２０２は、注目画素は非エッジであると判定する。また、ステップＳ７０１で閾値ＴＨ１を越える版が存在しない場合は、ステップＳ７０５において、さらに閾値ＴＨ２を下回る版が存在するかを判定する。閾値ＴＨ２を下回る版が存在する場合は、ステップＳ７０６においてエッジデータ生成部２０２は、注目画素はオブジェクトの外側のエッジである外エッジと判定する。一方、ステップＳ７０５で閾値ＴＨ２を下回る版が存在しない場合は、エッジデータ生成部２０２は、注目画素は非エッジと判定する。
【００３２】
このようにして決定した「内エッジ」「外エッジ」「非エッジ」を、画像データと同じ画素数分のビットマップ形式に記録したデータを生成する。このデータを「フィルタデータ」と呼ぶことにする。実際の記録方法はフィルタデータの画素ごとに内エッジを１、外エッジを２、非エッジを０として記録すれば良い。図４（ａ）は、図３（ａ）の画像データから生成したフィルタデータを示す。ここでは説明をわかりやすくするため、塗り４０１で示すセルは内エッジの画素を示し、塗り４０２で示すセルは外エッジの画素を示す。
【００３３】
次に、図５のフローチャートに戻り説明を続ける。ステップＳ５０３においてエッジデータ生成部２０２はフィルタデータに「内エッジ」と記録された画素が「オブジェクトを太らせる前のエッジの位置」であると決定する。そして、エッジデータ生成部２０２はエッジデータのその画素の値の下位から１ビット目に１を立てることで「オブジェクトを太らせる前のエッジ部の位置」をエッジデータに記録する。
【００３４】
ステップＳ５０４においてエッジデータ生成部２０２は、フィルタデータに記録された「内エッジ」「外エッジ」「非エッジ」の配置パターンにより、「オブジェクトを太らせた後のエッジ部の位置」を判定する。判定方法としては、フィルタデータに対して図８に示す全てのパターンのパターンマッチングを行う。図８において太い枠で囲まれたセルは注目画素であり、また、「内」「外」「非」と記載しているセルはそれぞれ順番に内エッジ、外エッジ、非エッジとマッチする画素を示す。また、斜線で塗られたセルは、パターンがマッチした場合に「オブジェクトを太らせる後のエッジ部の位置」を示す画素を示す。また、それぞれのパターンについて、基本パターンを９０度、１８０度、２７０度回転させたパターンもパターンとして使用する。これは、第１の実施形態において太らせる方向は上・下・右・左であり方向に依存性がないためである。このパターンマッチングを図４（ａ）のフィルタデータに適用して生成したエッジデータが、前述のように図４（ｂ）で示すエッジデータとなる。前述のように、内エッジの画素に対して、「オブジェクトを太らす前のエッジ部の位置」を示す「１」の値が付されている。また、図８に示すパターンマッチングの結果、パターン３に一致する各画素（つまり外エッジの画素）に対して、「オブジェクトを太らせた後のエッジ部の位置」を示す「２」の値が付されている。また、その他の画素には非エッジを示す「０」の値が付されている。
【００３５】
次に、図８のパターンを用いる理由について詳細に説明する。「オブジェクトを太らせた後のエッジ部の位置」は、基本的には、内エッジに上・下・左・右の方向に隣接する外エッジとなる。よって、パターン３がそのような配置を検出するパターンである。しかしながら、全ての外エッジが「オブジェクトを太らせた後のエッジ部の位置」になる訳ではない。それは、図９（ａ）や図９（ｄ）に示すような、２つのオブジェクトが２画素以内の距離で描画されているようなオブジェクト同士が近接する場合のケースである。図９（ａ）や図９（ｄ）は、画像データを示しており、ハッチングが施された画素がオブジェクトの画素を示している。図９（ａ）および図９（ｄ）に対して生成したフィルタデータを、それぞれ図９（ｂ）および図９（ｅ）に示す。この外エッジを「オブジェクトを太らせた後のエッジ部の位置」とすると、オブジェクトを太らせた後に２つのオブジェクトが結合されてしまう。そのため、２つの内エッジが外エッジを挟んで３画素以内に存在するようなケースでは、オブジェクトが太らないように、外エッジではなく内エッジを「オブジェクトを太らせた後のエッジ部の位置」とする。図８のパターン４とパターン５がそのような配置を検出するパターンである。図９（ａ）および図９（ｄ）から生成したエッジデータをそれぞれ図９（ｃ）と図９（ｆ）に示す。前述のように、内エッジの画素には、「オブジェクトを太らせる前のエッジ部の位置」を示す下位から１ビット目が「１」となっている。そしてさらに内エッジの画素には「オブジェクトを太らせた後のエッジ部の位置」を示す下位から２ビット目が「１」となっている。従って、図９（ｃ）および図９（ｆ）のエッジデータでは、内エッジの画素に１０進表記で３の値が付されている。なお、隣接する方向以外の外エッジは、図８のパターン３と一致することにより、「オブジェクトを太らせた後のエッジ部の位置」を示す下位から２ビット目が「１」（すなわち、１０進表記で２）が付されている。
【００３６】
また、図８のパターン３では、内エッジに隣接する外エッジの隣は非エッジとなっているが、外エッジでも構わない。そのさらに隣が内エッジのケース（パターン４とパターン５）でなければ良い。例えば、図１０（ａ）に斜めの線や曲線の図形を表す画像データを示す。図１０（ａ）の画像データに対応するフィルタデータは図１０（ｂ）のようになる。前述のように、第１の実施形態において太らせる方向は上・下・右・左であり方向に依存性がないので、パターン３だけでもこのような斜めの線や曲線を太らすことが可能ではある。しかしながら、後述する第３の実施形態で説明するように、ある方向のみに太らす方向を限定する形態では、図１０（ｂ）のようなフィルタデータではパターン３だけだと右・左方向に太ることはできない。そこで図８のパターン１とパターン２を用意することで、図１０（ｂ）斜めの線を横方向に太らすことができる。パターン１とパターン２がそのような配置を検出するパターンである。
【００３７】
上記のような理由のもと、図８のパターン１〜３は外エッジが「オブジェクトを太らせた後のエッジ部の位置」となるパターンを検出するものである。また、パターン４〜５は内エッジが「オブジェクトを太らせた後のエッジ部の位置」となるパターンを検出するものである。
【００３８】
このように、エッジデータ生成部２０２の処理により、太らせ処理の前に、太らせた後のエッジ位置を特定することが可能となる。
【００３９】
［太らせ処理部２０３の説明］
太らせ処理部２０３の処理について説明する。太らせ処理部２０３は、「オブジェクトを太らせた後のエッジ部の位置」の画素に「太らせる前のエッジ部の位置」の画素値を上書きすることでオブジェクトを太らせる処理を実現する。
【００４０】
図１１は太らせ処理部２０３の処理のフローチャートを示す図である。ステップＳ１１０１において太らせ処理部２０３は画像データの注目画素について、対応するエッジデータの画素の２ビット目に１が立っているかどうかを判定する。２ビット目に１が立っていない場合は「オブジェクトを太らせた後のエッジ部の位置」ではないため、処理を終えて次の画素の処理へと進む。２ビット目に１が立っている場合は、ステップＳ１１０２において、さらに１ビット目に１が立っているかどうかを判定する。１ビット目に１が立っている場合、太らせ処理前後でエッジの位置が変わらないことを示すため、処理を終えて次の画素の処理へと進む。１ビット目に１が立っていない場合、ステップＳ１１０３において、上・下・左・右の方向に隣接する画素のうち、１ビット目に１が立っている画素を検出する。１ビット目に１が立っている隣接画素が見つかった場合は、ステップＳ１１０４において画像データにおけるその画素の値を注目画素の値に上書きする。
【００４１】
以上の処理を画像データとエッジデータの全体に行うことで、画像データのオブジェクトを上・下・左・右方向に１画素だけ太らせることができる。一例として、図３（ａ）の画像データと図４（ｂ）のエッジデータを基に、オブジェクトを太らせた後の画像データを図３（ｂ）に示す。
【００４２】
以上により、第１の実施形態によれば、画像データのオブジェクトを太らせる前に、「オブジェクトを太らせた後のエッジ部の位置」を決定している。これにより、オブジェクトを太らせた後に、もう一度エッジ部の位置を判定することなくオブジェクトのエッジ部とオブジェクトの内部とで画像処理の手法を切り替えることが可能となる。
【００４３】
なお、上記の第１の実施形態では、画像データにおけるオブジェクトの変形処理の一例として幅を太らせる例について記載したが、変形処理としてオブジェクトの幅を細らせる処理でも構わない。具体的には、図８のパターンマッチングに用いるパターンを、オブジェクトの幅を細らせる処理に対応するパターンを用いればよい。例えば、図８のパターン３の基本パターンのような場合には、内エッジのさらに左側に非エッジの画素を含むパターンを用意し、変形後のエッジの位置を、その内エッジの左側の非エッジの画素とすればよい。その場合、内エッジの画素の画素値をその右隣の非エッジの画素（オブジェクト外の画素）の画素値で上書きすることで細らせる処理が行なわれてもよい。オブジェクトの幅を細らせる処理の場合にも、画像処理制御部１０５は操作部１０６から取得する「オブジェクトの変形後のエッジ部の変形幅」の設定情報に基づいて上述したような処理を行なうことができる。
【００４４】
＜第２の実施形態＞
第１の実施形態では、画像データのオブジェクトを太らせた後に、予め生成しておいた「太らせ後のエッジ部の位置」の情報に基づいて各種の画像処理を行う例を説明した。
【００４５】
第２の実施形態では、オブジェクトを太らせる前の各種の画像処理では「太らせる前のエッジ部の位置」の情報に基づいて各種の画像処理を行う。そして、太らせた後の各種の画像処理では「太らせた後のエッジ部の位置」の情報に基づいて各種の画像処理を行うような、画像処理装置について説明する。
【００４６】
図１２に第２の実施形態における画像処理部１０４の構成を示す。第１の実施形態と異なる点は３つある。１つ目は、下色除去処理部１２０３が太らせ処理部１２０４よりも前段にあること。２つ目は、エッジデータ生成部１２０２が生成する「オブジェクトを太らせる前のエッジ部の位置」の情報は、下色除去処理部１２０３と太らせ処理部１２０４に出力すること。３つ目は、エッジデータ生成部１２０２が生成する「オブジェクトを太らせた後のエッジ部の位置」の情報は、太らせ処理部１２０４、色材載量制限処理部１２０５とスクリーン処理部１２０６に出力することである。
【００４７】
エッジデータ生成部１２０２はメモリバッファ１２０１から取得した画像データについて、「オブジェクトを太らせる前のエッジ部の位置」と「オブジェクトを太らせた後のエッジ部の位置」とを決定する。ただし、その情報を別々含むエッジデータを合計２つ生成する。すなわち、第２の実施形態においては、エッジデータ生成部１２０２は「オブジェクトを太らせる前のエッジ部の位置」の情報を１ビットのビットマップ形式で保持するエッジデータを生成する。また、エッジデータ生成部１２０２は「オブジェクトを太らせた後のエッジ部の位置」の情報を１ビットのビットマップ形式で保持するエッジデータを生成する。
【００４８】
下色除去処理部１２０３は、エッジデータ生成部１２０２から「オブジェクトを太らせる前のエッジの位置」の情報を持つエッジデータを取得し、メモリバッファ１２０１から取得した画像データのエッジ部に対して下色除去処理を行う。なお、下地除去処理が行なわれたエッジ部の画素値は、その後の太らせ処理部１２０４において、太らせた後の画素の画素値として用いられる。従って、太らせた後のエッジ位置の下色除去を行なうことと同様の効果が得られる。
【００４９】
太らせ処理部１２０４はエッジデータ生成部から「オブジェクトを太らせる前のエッジ部の位置」の情報を持つエッジデータと「オブジェクトを太らせた後のエッジ部の位置」の情報を持つエッジデータとを取得する。そして、これらのエッジデータに基づいて下色除去処理部１２０３から取得した画像データのオブジェクトを太らせる処理を行う。太らせ処理の方法は実施形態１と同じである。
【００５０】
色材載量制限処理部１２０５とスクリーン処理部１２０６とは、エッジデータ生成部１２０２から「オブジェクトを太らせた後のエッジ部の位置」の情報を持つエッジデータを取得する。そして色材載量制限処理部１２０５は、太らせ処理部１２０４から取得した画像データに対して画像処理を行い、スクリーン処理部１２０６は色材載量制限処理部１２０５から取得した画像データに対して画像処理を行なう。
【００５１】
以上により、第２の実施形態によれば、オブジェクトを太らせる前の画像処理では「オブジェクトを太らせる前のエッジ部の位置」の情報を基に処理を行い、太らせた後の画像処理では「オブジェクトを太らせた後のエッジ部の位置」の情報を基に処理を行う。これにより、画像データのオブジェクトを太らせる前と太らせた後のどちらにおいても、エッジと内部で画像処理の手法を切り替えることが可能となる。
【００５２】
＜第３の実施形態＞
第１の実施形態では、画像データにおけるオブジェクトを上・下・左・右の４方向に１画素だけ太らせる例を説明した。これにより、オブジェクトの幅は合計で２画素だけ太ることになる。オブジェクトの幅を合計で１画素だけ太らせるには、オブジェクトをある方向、例えば右・下の２方向にだけ１画素太らせることで対応が可能である。第３の実施形態では、「オブジェクトを太らせる幅」の設定として「０画素」「１画素」「２画素」の３種類の設定を操作部がユーザから取得し、その指示通りにオブジェクトの幅を太らせる。そしてその後に適切な画像処理をかけることを可能とする画像処理装置の実施形態について説明する。なお、太らせる幅が「０画素」の場合、太らせる処理を行なわないことを示す。「１画素」の場合には、例えば右・下の２方向にだけ１画素太らせることを示す。「２画素」の場合には、第１の実施形態で説明したように上・下・左・右の４方向に１画素だけ太らせることを示す。
【００５３】
第３の実施形態における画像処理装置１００および画像処理部１０４の構成は第１の実施形態と同じである。第１の実施形態と処理内容が異なる箇所について説明する。
【００５４】
操作部１０６は「オブジェクトを太らせる幅」の設定として「０画素」「１画素」「２画素」の３種類の設定をユーザから取得し、画像処理制御部１０５に通知する。
【００５５】
画像処理制御部１０５は、この設定情報に基づいて、画像処理部１０４の有する各部が「オブジェクトを太らせる前のエッジ部の位置」と「オブジェクトを太らせた後のエッジ部の位置」を判定する方法を画像処理部１０４に指示する。オブジェクトを太らせる幅に応じて、「オブジェクトを太らせた後のエッジ部の位置」は異なるものとなるので、どの位置を「オブジェクトを太らせた後のエッジ部の位置」と決定するかの元となる指示を送る。
【００５６】
エッジデータ生成部２０２はメモリバッファ２０１から取得した画像データにおける、オブジェクトを太らせる前の、右または下方向を向いているエッジと左または上方向を向いているエッジとの位置とを決定する。またエッジデータ生成部２０２は、オブジェクトを太らせた後の、右または下方向を向いているエッジと左または上方向を向いているエッジとの位置を決定する。そして、その情報を含むエッジデータを生成する。このエッジデータを生成するためのエッジデータ生成部２０２の処理の詳細については［第３の実施形態におけるエッジデータ生成部２０２の説明］で後述する。エッジデータ生成部２０２は生成したエッジデータを太らせ処理部２０３、下色除去処理部２０４、色材載量制限処理部２０５、スクリーン処理部２０６に出力する。
【００５７】
第３の実施形態におけるエッジデータは画像データと同じサイズのビットマップ形式をしており、画素ごとに４ビットの情報を持つ。下位から１ビット目は「オブジェクトを太らせる前の、右または下方向を向いているエッジ部の位置」についての情報であり、値が０ならばその画素はエッジ部ではないことを示し、値が１ならばその画素はエッジ部であることを示す。また、下位から２ビット目は「オブジェクトを太らせる前の、左または上方向を向いているエッジ部の位置」についての情報であり、値が０ならばその画素はエッジ部ではないことを示し、値が１ならばその画素はエッジ部であることを示す。また、下位から３ビット目は「オブジェクトを１画素太らせた後の、右または下方向を向いているエッジ部の位置」についての情報であり、値が０ならばその画素はエッジ部ではないことを示し、値が１ならばその画素はエッジ部であることを示す。また、下位から４ビット目は「オブジェクトを１画素太らせた後の、左または上方向を向いているエッジ部の位置」についての情報であり、値が０ならばその画素はエッジ部ではないことを示し、値が１ならばその画素はエッジ部であることを示す。第３の実施形態におけるエッジデータの一例として、図３（ａ）に示す画像データから生成したエッジデータを図４（ｃ）に示す。図４（ｃ）のエッジデータは画素ごとに４ビットの情報を持つが、説明のため、便宜上各画素の値を、１０進数の数値で表している。
【００５８】
次に、太らせ処理部２０３、下色除去処理部２０４、色材載量制限処理部２０５、スクリーン処理部２０６について説明する。これらの処理方法は第１の実施形態と同様であるが、「オブジェクトを太らせた後のエッジ部の位置」を判定する方法が第１の実施形態と異なる。第１の実施形態では「オブジェクトを太らせた後のエッジ部の位置」そのものがエッジデータ生成部２０２の出力するエッジデータに含まれていた。しかし、第３の実施形態では、ユーザが操作部で設定した「オブジェクトを太らせる幅」の設定に応じて、「オブジェクトを太らせた後のエッジ部の位置」を示すエッジデータのビットが異なる。
【００５９】
「オブジェクトを太らせる幅」の設定が「０画素」のときはエッジデータの１ビット目または２ビット目が「１」の画素が「オブジェクトを太らせた後のエッジ部の位置」を示す。
【００６０】
また、「オブジェクトを太らせる幅」の設定が「１画素」のときはエッジデータの２ビット目のみまたは３ビット目のみが「１」の画素が「オブジェクトを太らせた後のエッジ部の位置」を示す。なお、２ビット目のみまたは３ビット目のみが「１」の画素としている理由を図４（ｃ）を用いて説明する。図４（ｃ）において２ビット目のみが「１」の画素は、１０進表記で「２」で示される画素である。３ビット目のみが「１」の画素は、１０進表記で「４」で示される画素である。ここで、図４（ｃ）の内エッジの左下の画素は、オブジェクトを太らせる前の「下方向」を向いており、かつ「左方向」を向いている画素である。従って、１ビット目と２ビット目が「１」であるので１０進表記で「３」と示されている。この画素は、実際の１画素幅だけ太らせた場合には下方向に太らせられることになるので太らせた後のエッジ部の位置の画素とはならない。よって、また、「オブジェクトを太らせる幅」の設定が「１画素」のときはエッジデータの２ビット目のみまたは３ビット目のみが「１」の画素が「オブジェクトを太らせた後のエッジ部の位置」を示すものとしている。
【００６１】
また、「オブジェクトを太らせる幅」の設定が「２画素」のときはエッジデータの３ビット目または４ビット目が「１」の画素が「オブジェクトを太らせた後のエッジの位置」を示す。以上説明したような判定の仕方を図１３に示す。画像処理制御部１０５は、この判定の仕方を太らせ処理部２０３、下色除去処理部２０４、色材載量制限処理部２０５、スクリーン処理部２０６に指示する。
【００６２】
＜第３の実施形態におけるエッジデータ生成部２０２の詳細＞
エッジデータ生成部２０２の処理の図１４のフローチャートに示す。まず、ステップＳ１４０１においてエッジデータ生成部２０２は画像データの色材の版ごとに、画像データ全体にラプラシアンフィルタをかける。これは実施形態１におけるＳ５０１と同じ処理である。
【００６３】
次に、ステップＳ１４０２においてエッジデータ生成部２０２は、各画素に対して、ラプラシアンフィルタの計算値を基に閾値判定を行い、フィルタデータを生成する。これは実施形態１におけるＳ５０２と同じ処理である。
【００６４】
次に、ステップＳ１４０３においてエッジデータ生成部２０２はフィルタデータに記録されている内エッジ・外エッジ・非エッジの配置パターンに基づき、「オブジェクトを太らせる前の、右または下方向を向いているエッジ部の位置」を判定する。そしてその位置を、エッジデータに記録する。このとき、エッジデータの対応する画素の画素値の下位から１ビット目に１を立てる。この判定方法は、エッジデータにおける内エッジを注目画素として、右または下に隣接する画素に外エッジが存在するかどうかを判定すれば良い。
【００６５】
次に、ステップＳ１４０４においてエッジデータ生成部２０２はフィルタデータに記録されている内エッジ・外エッジ・非エッジの配置パターンに基づき、「オブジェクトを太らせる前の、左または上方向を向いているエッジ部の位置」を判定する。そしてその位置をエッジデータに記録する。このとき、エッジデータの対応する画素の画素値の下位から２ビット目に１を立てる。この判定方法は、エッジデータにおける内エッジを注目画素として、左または上に隣接する画素に外エッジが存在するかどうかを判定すれば良い。
【００６６】
次に、ステップＳ１４０５においてエッジデータ生成部２０２はフィルタデータに記録されている内エッジ・外エッジ・非エッジの配置パターンに基づき、「オブジェクトを太らせた後の、右または下方向を向いているエッジ部の位置」を判定する。そしてその位置をエッジデータに記録する。この判定では、フィルタデータに対して図１５（ａ）に示すパターンのパターンマッチングを行う。図１５（ａ）に示すパターンは、図８のパターンのうち０度と９０度回転のものに対応する。パターンがマッチしたとき、斜線で塗られているセルの画素に対応するエッジデータの画素の画素値の下位から３ビット目に１を立てる。
【００６７】
次に、ステップＳ１４０６においてエッジデータ生成部２０２はフィルタデータに記録されている内エッジ・外エッジ・非エッジの配置パターンに基づき、「オブジェクトを太らせた後の、左または上方向を向いているエッジ部の位置」を判定する。そしてその位置をエッジデータに記録する。この判定では、フィルタデータに対して図１５（ｂ）に示すパターンのパターンマッチングを行う。図１５（ｂ）に示すパターンは、図８のパターンの１８０度回転、２７０度回転したものに対応する。パターンがマッチしたとき、斜線で塗られているセルの画素に対応するエッジデータの画素の画素値の下位から４ビット目に１を立てる。
【００６８】
最後に、ステップＳ１４０７においてエッジデータ生成部２０２は、生成したエッジデータを太らせ処理部２０３に出力する。
【００６９】
以上により、第３の実施形態によれば、オブジェクトを太らせる幅として「０画素」「１画素」「２画素」の３種類の設定を操作部がユーザから取得する。そして、その指示通りにオブジェクトの幅を太らせた後、オブジェクトのエッジ部とオブジェクトの内部とでそれぞれ適切な画像処理を行うことが可能となる。
【００７０】
なお、第３の実施形態では、オブジェクトの太らせ幅として「１画素」を指示した場合、右及び下方向に太らせる例を説明した。しかしながら、太らせる方向はこれに限られるものではなく、例えば左及び上方向を太らせても良い。
【００７１】
＜第４の実施形態＞
第１の実施形態では、画像データにおけるオブジェクトを上・下・左・右の４方向に１画素だけ太らせる例を説明した。これにより、「オブジェクトの幅」は合計で２画素だけ太ることになる。しかしながら、レンダリング処理部１０３やプリント処理部１０７の解像度がより高い場合は、解像度に応じた効果を出すためにエッジ部の幅が２画素であり、オブジェクトを太らせる幅が合計で４画素まで可能であることが望ましい。第４の実施形態では、エッジ部の幅を２画素とし、「オブジェクトを太らせる幅」の設定として合計で「０画素」「２画素」「４画素」の３段階での設定を操作部がユーザから取得する。そして、その指示通りにオブジェクトの幅を複数画素分太らせた後、適切な画像処理をかけることを可能とする、画像処理装置の実施形態について説明する。
【００７２】
第４の実施形態における画像処理装置１００および画像処理部１０４の構成は第１の実施形態と同じである。第１の実施形態と処理内容が異なる箇所について説明する。
【００７３】
操作部１０６は「オブジェクトを太らせる幅」の設定として「０画素」「２画素」「４画素」の３種類の設定をユーザから取得し、画像処理制御部１０５に通知する。
【００７４】
画像処理制御部１０５は、この設定情報に基づいて、画像処理部１０４の有する各部が「オブジェクトを太らせる前のエッジ部の位置」と「オブジェクトを太らせた後のエッジ部の位置」を判定する方法を画像処理部１０４に指示する。エッジデータ生成部２０２はメモリバッファ２０１から取得した画像データについて各位置を決定する。すなわち、「オブジェクトを太らせる前のエッジ部の位置」と「オブジェクトの幅を２画素太らせた後のエッジ部の位置」と「オブジェクトの幅を４画素太らせた後のエッジ部の位置」を決定する。そして、その情報を含むエッジデータを生成する。このエッジデータを生成するためのエッジデータ生成部２０２の処理の詳細については［第４の実施形態におけるエッジデータ生成部２０２の説明］で後述する。エッジデータ生成部２０２は生成したエッジデータを太らせ処理部２０３、下色除去処理部２０４、色材載量制限処理部２０５、スクリーン処理部２０６に出力する。
【００７５】
第４の実施形態のエッジデータは画像データと同じサイズのビットマップ形式をしており、画素ごとに３ビットの情報を持つ。下位から１ビット目は「オブジェクトを太らせる前のエッジ部の位置」についての情報であり、値が０ならばその画素はエッジ部ではないことを示し、値が１ならばその画素はエッジ部であることを示す。また、下位から２ビット目は「オブジェクトの幅を２画素だけ太らせた後のエッジ部の位置」についての情報であり、値が０ならばその画素はエッジ部ではないことを示し、値が１ならばその画素はエッジ部であることを示す。また、下位から３ビット目は「オブジェクトの幅を４画素だけ太らせた後のエッジ部の位置」についての情報であり、値が０ならばその画素はエッジ部ではないことを示し、値が１ならばその画素はエッジ部であることを示す。第４の実施形態におけるエッジデータの一例として、図３（ａ）に示す画像データから生成したエッジデータを図４（ｄ）に示す。図４（ｄ）のエッジデータは画素ごとに３ビットの情報を持つが、説明のため、便宜上各画素の値を、１０進数の数値で表している。図４（ｄ）では、エッジ部の幅が２画素であるので内エッジのさらに内側の画素もオブジェクトを太らせる前のエッジ部の位置となっている。第４の実施形態におけるエッジデータ生成部２０２の処理の詳細については後述する。
【００７６】
次に、下色除去処理部２０４、色材載量制限処理部２０５、スクリーン処理部２０６について説明する。これらの処理方法は第１の実施形態と同様であるが、「オブジェクトを太らせた後のエッジ部の位置」を判定する方法が第１の実施形態と異なる。第４の実施形態では、ユーザが操作部で設定した「オブジェクトを太らせる幅」の設定に応じて、「オブジェクトを太らせた後のエッジ部の位置」が示すエッジデータのビットが異なる。「オブジェクトを太らせる幅」の設定が「０画素」のときはエッジデータの１ビット目が「オブジェクトを太らせた後のエッジ部の位置」を示す。また、「オブジェクトを太らせる幅」の設定が「２画素」のときはエッジデータの２ビット目が「オブジェクトを太らせた後のエッジ部の位置」を示す。また、「オブジェクトを太らせる幅」の設定が「４画素」のときはエッジデータの３ビット目が「オブジェクトを太らせた後のエッジ部の位置」を示す。この判定の仕方を図１６に示す。画像処理制御部１０５は、この判定の仕方を太らせ処理部２０３、下色除去処理部２０４、色材載量制限処理部２０５、スクリーン処理部２０６に指示する。
【００７７】
次に、太らせ処理部２０３の処理について説明する。太らせ処理部２０３も図１６に従って「オブジェクトを太らせた後のエッジの位置」を判定する。そして、オブジェクトを太らせる処理として、まずエッジデータから「オブジェクトを太らせた後のエッジの位置」である画素を検出する。そして、その画素を注目画素として、そこから上下左右方向に２画素以内に「オブジェクトを太らせる前のエッジの位置」を示す画素を検出する。そのような画素が見つかれば、その画素の画像データにおける画素値を、画像データにおける注目画素に上書きする。
【００７８】
＜第４の実施形態におけるエッジデータ生成部２０２の詳細＞
エッジデータ生成部２０２の処理の図１７のフローチャートに示す。なお、第４の実施形態では説明を簡単にするため、第１の実施形態の際に考慮した、図９に示すような「太らせると結合されてしまうオブジェクト」については考慮しないこととする。
【００７９】
まず、ステップＳ１７０１においてエッジデータ生成部２０２は画像データの色材の版ごとに、画像データ全体にラプラシアンフィルタをかける。これは実施形態１におけるＳ５０１と同じ処理である。次に、ステップＳ１７０２においてエッジデータ生成部２０２は、各画素に対して、ラプラシアンフィルタの計算値を基に閾値判定を行い、フィルタデータを生成する。これは実施形態１におけるＳ５０２と同じ処理である。
【００８０】
次に、ステップＳ１７０３においてエッジデータ生成部２０２は、フィルタデータにおいて、内エッジと、内エッジに上下左右に隣接する非エッジとを「オブジェクトを太らせる前のエッジの位置」と判定し、エッジデータに記録する。このとき、エッジデータの対応する画素の画素値の下位から１ビット目に１を立てる。
【００８１】
次に、ステップＳ１７０４においてエッジデータ生成部２０２は、フィルタデータにおいて、内エッジおよび外エッジに対して、「オブジェクトの幅を２画素だけ太らせた後のエッジ部の位置」と判定し、エッジデータに記録する。すなわち、オブジェクトの幅を合計で２画素太らせた後のエッジ部の位置と判定する。このとき、エッジデータの対応する画素の画素値の下位から２ビット目に１を立てる。
【００８２】
次に、ステップＳ１７０５においてエッジデータ生成部２０２は、フィルタデータにおいて、外エッジと、外エッジに上下左右に隣接する非エッジとに対して、「オブジェクトの幅を４画素だけ太らせた後のエッジの位置」と判定し、エッジデータに記録する。すなわち、オブジェクトの幅を合計で４画素太らせた後のエッジ部の位置と判定する。このとき、エッジデータの対応する画素の画素値の下位から３ビット目に１を立てる。
【００８３】
最後に、ステップＳ１７０７においてエッジデータ生成部２０２はエッジデータを太らせ処理部２０３に出力する。
【００８４】
以上により、第４の実施形態によれば、エッジの幅を２画素とし、太らせるオブジェクトの幅を「０画素」「２画素」「４画素」の３段階でオブジェクトの幅を太らせた後、適切な画像処理をかけることが可能となる。
【００８５】
（その他の実施形態）
本発明の目的は、以下の処理を実行することによっても達成される。即ち、前記実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【００８６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
0006525526.tif 000002
【図２】
0006525526.tif 000003
【図３】
0006525526.tif 000004
【図４】
0006525526.tif 000005
【図５】
0006525526.tif 000006
【図６】
0006525526.tif 000007
【図７】
0006525526.tif 000008
【図８】
0006525526.tif 000009
【図９】
0006525526.tif 000010
【図１０】
0006525526.tif 000011
【図１１】
0006525526.tif 000012
【図１２】
0006525526.tif 000013
【図１３】
0006525526.tif 000014
【図１４】
0006525526.tif 000015
【図１５】
0006525526.tif 000016
【図１６】
0006525526.tif 000017
【図１７】
0006525526.tif 000018