(57)【要約】【課題】イメージ属性のオブジェクトの背景にイメージ属性以外の属性を有するオブジェクトが重なる場合に、色味の違いが発生するのを回避する。【解決手段】描画コマンドを含む印刷データを取得して印刷処理を行う装置であって、前記印刷データを解析して属性毎の描画データを生成する解析手段と、生成された描画データの中に上書きが指定されたイメージ属性の描画データがある場合、当該イメージ属性の描画データの背景に描画される他の描画データにおける描画領域のうち、当該イメージ属性の描画データの描画領域と重複する領域について、当該他の描画データにおける属性で描画するための重複描画処理を行なう重複描画処理手段と、を含むことを特徴とする。【選択図】  図６
2015222898.tif 000002
【特許請求の範囲】
【請求項１】
描画コマンドを含む印刷データを取得して印刷処理を行う装置であって、
前記印刷データを解析して属性毎の描画データを生成する解析手段と、
生成された描画データの中に上書きが指定されたイメージ属性の描画データがある場合、当該イメージ属性の描画データの背景に描画される他の描画データにおける描画領域のうち、当該イメージ属性の描画データの描画領域と重複する領域について、当該他の描画データにおける属性で描画するための重複描画処理を行なう重複描画処理手段と、
を含むことを特徴とする装置。
【請求項２】
前記重複描画処理手段は、前記重複する領域における全画素の画素値が、前記イメージ属性の描画データとその背景に描画される前記他の描画データとで同じである場合に、前記重複描画処理を行なうことを特徴とする請求項１に記載の装置。
【請求項３】
前記重複描画処理手段は、前記重複する領域における画素値と、当該重複する領域に隣接する前記イメージ属性の描画データによる描画領域における画素値とが同じである場合に、前記イメージ属性の描画データの属性又は前記他の描画データの属性を変更して、両描画データにおける属性を一致させる処理を行なうことを特徴とする請求項１又は２に記載の装置。
【請求項４】
前記重複描画処理手段は、前記重複する領域における画素値と、当該重複する領域に隣接する前記イメージ属性の描画データによる描画領域における画素値とが同じである場合に、属性毎に設定されている画像処理の内容を、すべての属性に共通する特定の画像処理に変更することを特徴とする請求項１又は２に記載の装置。
【請求項５】
前記重複描画処理手段は、前記重複描画処理において、前記重複する領域をイメージ属性で描画しないためのマスクデータを生成することを特徴とする請求項１乃至４のいずれか１項に記載の装置。
【請求項６】
前記重複描画処理手段は、前記重複描画処理において、前記重複する領域をイメージ属性で描画しないことを指定するクリップ処理を行なうことを特徴とする請求項１乃至４のいずれか１項に記載の装置。
【請求項７】
前記印刷データには、当該印刷データに含まれる描画コマンドを生成したアプリケーションを特定する情報が含まれ、
前記重複描画処理手段は、前記アプリケーションを特定する情報に基づいて、前記重複描画処理を実行するかどうかを決定する
ことを特徴とする請求項１乃至６のいずれか１項に記載の装置。
【請求項８】
前記印刷データには、当該印刷データに含まれる描画コマンドの属性毎の画像処理の内容を示す画像処理設定の情報が含まれ、
前記重複描画処理手段は、前記画像処理設定の情報に基づいて、前記重複描画処理を実行するかどうかを決定する
ことを特徴とする請求項１乃至６のいずれか１項に記載の装置。
【請求項９】
描画コマンドを含む印刷データを取得して印刷処理を行う装置における方法であって、
前記印刷データを解析して属性毎の描画データを生成するステップと、
生成された描画データの中に上書きが指定されたイメージ属性の描画データがある場合、当該イメージ属性の描画データの背景に描画される他の描画データにおける描画領域のうち、当該イメージ属性の描画データの描画領域と重複する領域について、当該他の描画データにおける属性で描画するための重複描画処理を行なうステップと、
を含むことを特徴とする方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか１項に記載の装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データに含まれる描画コマンドから画像形成装置に適した印刷情報を作成する技術に関する。
【背景技術】
【０００２】
近年、デジタル複写機やプリンタ等の画像形成装置においては、入力された描画コマンドの情報に基づき画像形成装置に適した印刷情報を作成して、高画質な画像出力を行うことを可能としてきた。 具体的には、以下の１）〜３）の手順で印刷情報が作成されている。
【０００３】
１）入力された描画コマンドに基づき、画像データと属性データとから第１の画像データを生成する。
【０００４】
２）第１の画像データにおいて、属性データに基づき処理パラメータを変更し、画像データを画像処理して第２の画像データを生成する。
【０００５】
３）第２の画像データをビデオ信号に変換して画像形成装置に出力して印刷を実行する。
【０００６】
一方、コンピュータにおいては演算性能の向上に伴い、アプリケーションにより高機能な描画表現（立体描画、グラデーション等）を使ったドキュメントの作成が容易になってきている。これらの高機能な描画表現を含むドキュメントを印刷する際、アプリケーションにおいては、描画論理等の複雑な描画コマンドでの描画を避けるために、予めレンダリングし、イメージ描画に置き換える処理がなされる。この場合において、当該イメージ描画を背景画像に合成するときの演算方法を指定する描画論理が「上書き」に設定されることで、背景画像の属性がイメージ属性に変化し、色味が変わってしまうという問題がある。一例として、最初に単純な２次元図形のグラフィック描画を行い、次にアプリケーションでレンダリングされたイメージ描画を行う場合について、図１と図２を参照して説明する。図１（ａ）は、アプリケーション上で作成したドキュメント１００を示している。ドキュメント１００は、単純な２つの２次元図形（円１１０と正方形１２０）及び立体加工された１つの３次元図形（歯車１３０）の計３つのオブジェクトで構成されている。図１の（ｂ）〜（ｄ）は、ドキュメント１００をアプリケーション上で印刷実行したときに作成される描画データを示している。図１（ｂ）は円１１０に対応するグラフィック描画データであり、同（ｃ）は正方形１２０に対応するグラフィック描画データである。そして、図１（ｄ）は、歯車１３０と、歯車１３０を囲む矩形領域１４０内に含まれる正方形１２０とを合成して作成されたイメージ描画データである。図２（ａ）は、これら２つのグラフィック描画データと１つのイメージ描画データとに基づき生成される画像データを示しており、円１１０の画素値と正方形１２０の画素値とは同じである。図２（ｂ）は、属性データを可視化（画像化）したものであり、円形の領域２１０はグラフィック属性を示し、矩形の領域２２０はイメージ属性を示している。上述の図１（ｃ）で示した正方形１２０に対応するグラフィック描画データの描画コマンドは、図１（ｄ）で示したイメージ描画データの描画コマンドによって上書きされ、正方形１２０の描画領域の属性はグラフィック属性からイメージ属性に変更されている。そして、図２（ｃ）は、画像処理が施された後の画像データを示しており、円１１０の領域に対してはグラフィック用、正方形１２０の領域に対してはイメージ用の画像処理がそれぞれ施された結果、本来は同じであるはずの色味が異なっている。
【０００７】
上述したように、異なる属性の描画コマンドがページ上で重なっている場合、「上書き」が設定された描画コマンドの属性情報に従い画像処理が行われることになるが、その結果、色味に違いが生じてしまうという問題が起こってしまう。上述の例では、円１１０はグラフィック属性のまま画像処理され、正方形１２０はイメージ属性で画像処理されることになるが、特に両図形において描画色が同じである場合に、本来は同じであるはずの色味が異なって印刷されてしまう。
【０００８】
この点、描画データの重なりの境界における色味の異なりを解決する技術として、例えば特許文献１が提案されている。特許文献１には、重なり合う描画データにおいて、前景の描画データの周辺の背景画素の色値を比較し、同一または一定閾値内の場合に前景と背景の描画データの属性情報を同じにする手法が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−１５７７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述の特許文献１に開示された手法は、画像データ中の着目画素と、着目画素以外の画素間の色値の類似性を判定し、着目画素と着目画素以外の画素との間で属性情報を一致させるものである。つまり、画像データ中の異なる位置にある画素の色値を用いて前景と背景との属性情報を一致させるかどうかを判定するものであるため、上述の図１に示されるような描画データにおいて生じる色味の違いの問題には対処することができない。 
【課題を解決するための手段】
【００１１】
本発明に係る装置は、描画コマンドを含む印刷データを取得して印刷処理を行う装置であって、前記印刷データを解析して属性毎の描画データを生成する解析手段と、生成された描画データの中に上書きが指定されたイメージ属性の描画データがある場合、当該イメージ属性の描画データの背景に描画される他の描画データにおける描画領域のうち、当該イメージ属性の描画データの描画領域と重複する領域について、当該他の描画データにおける属性で描画するための重複描画処理を行なう重複描画処理手段と、を含むことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、イメージ属性のオブジェクトの背景にイメージ属性以外の属性を有するオブジェクトが重なる場合に、上述した色味の違いが発生するのを回避することができる。
【図面の簡単な説明】
【００１３】
【図１】従来技術における問題点を説明する図である。
【図２】従来技術における問題点を説明する図である。
【図３】印刷システムのハードウェア構成の一例を示す図である。
【図４】印刷システムのソフトウェア構成を示す機能ブロックである。
【図５】実施例１に係る、印刷装置における印刷処理の流れを示すフローチャートである。
【図６】重複描画処理の詳細を示すフローチャートである。
【図７】上書きイメージの描画領域の背景に、他の描画データがあるかどうかを判定する処理の説明図である。
【図８】イメージの一部と重複するように文字の描画データが背景として存在する場合の一例を示す図である。
【図９】レンダリング処理の詳細を示すフローチャートである。
【図１０】レンダリング結果として生成された画像データと属性データの一例を示す図である。
【図１１】属性データに基づいて、所定の画像処理が施された画像データを示す図である。
【図１２】実施例２に係る、印刷装置における印刷処理の流れを示すフローチャートである。
【図１３】印刷データのデータ構造を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施する為の形態について図面を用いて説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【００１５】
＜印刷システムの概略＞
図３は、本実施例に係る印刷システムのハードウェア構成の一例を示す図である。印刷システム３００は、ホストコンピュータ３１０と印刷装置（画像形成装置）３２０を含み、ＬＡＮ等のネットワーク３３０を介してこれらが相互に接続されている。
【００１６】
ホストコンピュータ３１０は、ＣＰＵ３１１、ＲＡＭ３１２、ＨＤＤ３１３、ネットワークＩ／Ｆ３１４、ディスプレイ３１５から構成される。
【００１７】
ＣＰＵ３１１は、ホストコンピュータ３１０全体を統括的に制御する演算プロセッサであり、ＲＡＭ３１２に展開された各種プログラムを実行する。ＲＡＭ３１２は、揮発性メモリであり、ＨＤＤ３１３に格納された各種プログラムが展開される。また、後述する印刷データ処理部４０２で生成された印刷データの一次的な記憶領域としても用いられる。ＨＤＤ３１３は、各種データを格納するための大容量記憶装置であり、各種プログラムの他、印刷データスプール４０４やファイル４０５の記憶領域としても用いられる。ネットワークＩ／Ｆ３１４は、印刷装置３２０との間でネットワーク３３０を介して画像データ等の送受信を行うためのインタフェースである。ディスプレイ３１５は、例えばファイル４０５に格納されたドキュメントを展開した画像の表示等を行う。
【００１８】
印刷装置３２０は、ＣＰＵ３２１、ＲＯＭ３２２、ＲＡＭ３２３、ＨＤＤ３２４、ネットワークＩ／Ｆ３２５、エンジンＩ／Ｆ３２６、プリンタエンジン３２７から構成される。
【００１９】
ＣＰＵ３２１は、印刷装置３２０全体を統括的に制御する演算プロセッサであり、ＲＡＭ３２３に展開された各種プログラムを実行する。ＲＯＭ３２２は、不揮発性メモリであり、後述する各処理部を実現するためのプログラムが格納される。ＲＡＭ３２３は、揮発性メモリであり、ＲＯＭ３２２に格納された各種プログラムが展開される。また、印刷データスプール４１７、画像データスプール４１８、描画データスプール４１９の一次的な記憶領域としても用いられる。ＨＤＤ３２４は、各種データを格納するための大容量記憶装置である。ネットワークＩ／Ｆ３２５は、ネットワーク３３０を介して、ホストコンピュータ３１０と通信を行うためのインタフェースである。エンジンＩ／Ｆ３２６は、画像データスプール４１９に格納された画像データをビデオデータに変換し、プリンタエンジン３２７に出力する。プリンタエンジン３２７は、入力されたビデオデータに基づいて、例えば電子写真方式等の所定の印刷プロセスによって用紙に画像を形成する。
【００２０】
続いて、印刷システム３００のソフトウェア構成について説明する。図４は、印刷システム３００のソフトウェア構成を示す機能ブロックである。
【００２１】
まず、ホストコンピュータ３１０について説明する。ホストコンピュータ３１０は、ユーザが選択したドキュメントの印刷データを生成し、ネットワーク３３０を介して、印刷装置３２０に印刷データを送信する。ホストコンピュータ３１０は、アプリケーション処理部４０１、印刷データ処理部４０２、ネットワーク処理部４０３で構成される。以下、各処理部について説明する。
【００２２】
アプリケーション処理部４０１は、ユーザ操作を受け付け、ドキュメントの生成や印刷データを生成する処理を行う。アプリケーションで作成したドキュメントのデータは、ファイル４０５に格納される。
【００２３】
印刷データ処理部４０２は、アプリケーション処理部４０１の指示に従い、ファイル４０５に格納されたドキュメントの各描画データに基づいて印刷データを生成する。生成された印刷データは、印刷データスプール４０４に格納される。
【００２４】
ネットワーク処理部４０３は、アプリケーション処理部４０１の指示に従い、印刷データスプール４０４に格納された印刷データを、ネットワーク３３０を介して印刷装置３２０に送信する処理を行なう。
【００２５】
次に、印刷装置３２０について説明する。印刷装置３２０は、ホストコンピュータ３１０から受信した印刷データを印刷処理する。印刷装置３２０は、ネットワーク処理部４１１、解析処理部４１２、重複描画処理部４１３、展開処理部４１４、画像処理部４１５、印刷処理部４１６で構成される。以下、各処理部について説明する。
【００２６】
ネットワーク処理部４１１は、ホストコンピュータ３１０からネットワーク３３０を介して送られてきた印刷データを受信する。受信した印刷データは、印刷データスプール４１７に格納される。
【００２７】
解析処理部４１２は、ネットワーク処理部４１１の指示に従い、印刷データスプール４１７に格納された印刷データを解析して描画データを生成する。生成された描画データは描画データスプール４１８に格納される。
【００２８】
重複描画処理部４１３は、描画データスプール４１８に格納された描画データのうち、上書きが指定されたイメージ描画データについて、その背景にある他の属性の描画データにおける重なりが生じる部分をイメージで上書き描画しないための処理を行う。
【００２９】
展開処理部４１４は、描画データスプール４１８に格納された描画データから、画像データと属性データに展開する処理を行なう。展開によって得られた画像データと属性データは、画像データスプール４１９に格納される。
【００３０】
画像処理部４１５は、画像データスプール４１９に格納された画像データに対し、属性データを参照して各属性に応じた画像処理を行う。画像処理後の画像データは、画像データスプール２１０に再び格納される。
【００３１】
印刷処理部４１６は、画像データスプール４１９に格納された画像処理後の画像データを用いて印刷処理を行う。
【００３２】
続いて、本実施例に係る、印刷装置３２０における印刷処理について説明する。図５は、本実施例に係る、印刷処理の流れを示すフローチャートである。この一連の処理は、ＣＰＵ３２１が、ＲＯＭ３２２等に格納されているプログラムをＲＡＭ３２３にロードし、実行することで実現される。
【００３３】
ステップ５０１において、ネットワーク処理部４１１は、ホストコンピュータ３１０から送信された印刷データをネットワークＩ／Ｆ３２５で受信する。受信した印刷データは、印刷データスプール４１７に格納される。
【００３４】
ステップ５０２において、解析処理部４１２は、印刷データスプール４１７から印刷データを読み出して解析し、描画データをページ毎に生成する。生成された描画データは、描画データスプール４１８に格納される。
【００３５】
ステップ５０３において、重複描画処理部４１３は、生成された描画データの中に上書きが指定されたイメージ描画データ（以下、上書きイメージ描画データ）があるかどうかをページ毎に判定する。イメージ描画データに係るイメージとその背景に合成される他のオブジェクトとを合成するときの演算方法を指定する描画論理には「上書き」の他、「背景とＡＮＤ」「ＯＲ」「ＸＯＲ」などがある。また、透過率を指定することで背景を透かすことも可能である。上書きイメージ描画データがある場合は、ステップ５０４に進む。一方、生成された描画データの中に上書きイメージ描画データがない場合は、ステップ５０５に進む。
【００３６】
ステップ５０４において、重複描画処理部４１３は、上書きイメージ描画データと他の属性の描画データとが重複する場合にどのように描画するかを決定する処理（以下、重複描画処理）を各ページについて行う。重複描画処理の詳細については後述する。重複描画処理後の描画データは、再び描画データスプール４１８に格納される。
【００３７】
ステップ５０５において、展開処理部４１４は、描画データスプール４１８から描画データを読み出してページ毎にレンダリングし、画像データと属性データを生成する。生成された画像データと属性データは、画像データスプール４１９に格納される。
【００３８】
ステップ５０６において、画像処理部４１５は、画像データスプール４１９から画像データと属性データを読み出し、属性データを参照して画像データに対し所定の画像処理を行う。なお、所定の画像処理は、属性毎に予め設定されている。所定の画像処理がなされた画像データは、再び画像データスプール４１９に格納される。
【００３９】
ステップ５０７において、印刷処理部４１６は、画像データスプール４１９から画像処理後の画像データを読み出し、プリンタエンジン４０７を用いて、当該画像データに従った画像を記録媒体上に形成する。
【００４０】
＜重複描画処理＞
続いて、ステップ５０４における重複描画処理の詳細について説明する。図６は、重複描画処理の詳細を示すフローチャートである。
【００４１】
ステップ６０１において、重複描画処理部４１３は、上書きイメージ描画データの描画領域を取得する。前述の図１の例では、矩形領域１４０が取得されることになる。
【００４２】
ステップ６０２おいて、重複描画処理部４１３は、取得した上書きイメージの描画領域の背景に他の描画データの描画領域があるかどうかを判定する。具体的には、例えば以下のようにして判定する。まず、ページの左上隅を原点（０，０）とし、上書きイメージの描画領域の左上隅座標を（ｉＴｘ，ｉＴｙ）、右下隅座標を（ｉＢｘ，ｉＢｙ）、他の描画データの描画領域の左上隅座標を（Ｔｘ，Ｔｙ）、右下隅座標を（Ｂｘ，Ｂｙ）とする（図７を参照）。そして、以下の４つの条件式をすべて満たす場合に、上書きイメージの描画領域の背景に他の描画データの描画領域がある（当該他の描画データの描画領域は上書きイメージの描画領域と重複している）と判定されることになる。
【００４３】
・ｉＴｘ≦Ｂｘ
・ｉＴｙ≦Ｂｙ
・ｉＢｘ≧Ｔｘ
・ｉＢｙ≧Ｔｙ
このようにして、上書きイメージ描画データの背景に他の描画データがあると判定された場合はステップ６０３に進む。一方、上書きイメージ描画データの背景に他の描画データがないと判定された場合は、重複描画処理の必要がないので本処理を抜ける。
【００４４】
ステップ６０３において、重複描画処理部４１３は、ステップ６０１で取得した上書きイメージの描画領域と重複する他の描画データの描画領域（以下、重なり領域）を抽出する。重なり領域は、例えば以下の式によって求められる。
【００４５】
左上隅座標：  Ｍａｘ（ｉＴｘ，Ｔｘ），Ｍａｘ（ｉＴｙ，Ｔｙ）
右下隅座標：  Ｍｉｎ（ｉＢｘ，Ｂｘ），Ｍｉｎ（ｉＢｙ，Ｂｙ）
上述の図７の例では、上書きイメージの描画領域内に存在する、座標（Ｔｘ，Ｔｙ）と座標（Ｂｘ，Ｂｙ）で特定される領域（正方形１２０の領域）が、重なり領域として抽出されることになる。
【００４６】
ステップ６０４において、重複描画処理部４１３は、抽出された重なり領域における全画素の画素値が、上書きイメージ描画データと他の描画データとで同じかどうかを判定する。判定の結果、重なり領域内の全画素値が上書きイメージ描画データと他の描画データとで同じであった場合、ステップ６０５に進む。一方、同じではなかった場合は、ステップ６０８に進む（この場合は、当該重なり領域についてはイメージの描画データで上書きされることになる。）。
【００４７】
ステップ６０５において、重複描画処理部４１３は、上書きイメージ描画データと他の描画データとで画素値が一致している重なり領域における色（画素値）と、当該重なり領域に隣接する領域におけるイメージ部分の色（画素値）とが同じかどうかを判定する。これは、上書きするイメージ部分の色が、背景の描画データ（例えば文字）の色と同じであった場合に、当該背景の描画データ部分が浮き上がって見えてしまうことがあるため、その発生を未然に防ぐため判定するものである。図８は、イメージの一部と重複するように文字の描画データが背景として存在する場合の一例を示す図である。図８の（ａ）は、背景としての文字の描画データを示しており、同じ文字列が、上段は黒の文字で、下段はグレーの文字でそれぞれ構成される。図８（ｂ）は、図８（ａ）の文字描画データに、黒色の歯車１３０が一部重複して上書きされた状態を示している。図８の（ｂ）では、上段の黒色の文字列のうち歯車１３０と重複部分において、上段の黒の文字列が浮き上がっている（説明の便宜上、縁取り文字で浮き上がりを表現している。）。判定の結果、画素値が一致している重なり領域の色（画素値）と、当該重なり領域の周辺のイメージ部分の色（画素値）が同じでなかった場合は、ステップ６０６に進む。一方、同じであった場合（上述のような問題が懸念される場合）は、ステップ６０７に進む。
【００４８】
ステップ６０６において、重複描画処理部４１３は、ステップ６０３で抽出された重なり領域内をイメージで上書きしないためのマスクデータを生成する。具体的には、まず、全画素の値を「１」に設定した、上書きイメージの描画領域と同じ大きさのマスクデータを用意する。そして、ステップ６０３で抽出された重なり領域に対応する領域の画素値を「０」に変更する。このようにして、マスクデータが生成される。なお、背景に複数の他の描画データが存在し、本ステップの処理時に既にマスクデータが生成済みであった場合は、当該生成済みマスクデータにおいて、新たな重なり領域に対応する領域の画素値を「０」に変更すればよい。すなわち、１の上書きイメージ描画データに対して生成されるマスクデータは１つでよい。生成されたマスクデータは、上書きイメージ描画データの付属データとして付加される。これにより、後述するレンダリング処理において、マスクデータの画素値が「０」の領域については、イメージ属性で描画されなくなる。
【００４９】
ステップ６０７において、重複描画処理部４１３は、上書きイメージ描画データの属性とその背景にある他の描画データの属性とを一致させる。例えば、上述の図８の場合、歯車１３０の描画データにおけるイメージ属性をその背景の描画データの属性である文字属性に変更して、両者を同じ属性の描画データとする。両描画データの属性を一致させることにより、上述の浮き上がりの問題を防ぐことができる。なお、ここでは、イメージ属性を文字属性に変更する例を挙げたが、反対に文字属性の方をイメージ属性に変更してもよい。また、異なる属性の他の描画データが背景に複数存在することも考えられる。例えば、イメージ属性のオブジェクトの上部分で重なりが起こるグラフィック属性のオブジェクトが背景に存在し、さらに、その下部分で重なりが起こる文字属性のオブジェクトが背景に存在するような場合である。そのような場合は、イメージ属性、グラフィック属性、文字属性のうちのいずれかの属性に統一するよう各オブジェクトの属性を変更すればよい。また、どのように属性を一致させるかについては、例えば、予めケース毎にどのように属性を変更するかを定めたテーブルを用意しておき、当該テーブルを参照して決定するなどすればよい。
【００５０】
ステップ６０８において、重複描画処理部４１３は、ステップ６０１で取得した上書きイメージの描画領域の背景に未処理の他の描画データの描画領域があるかどうかを判定する。未処理の他の描画データの描画領域があればステップ６０３に戻り、ステップ６０３以降の処理を繰り返す。一方、未処理の他の描画データの描画領域がなければ、本処理を終える。
【００５１】
以上が、重複描画処理の内容である。
【００５２】
＜レンダリング処理＞
続いて、ステップ５０５におけるレンダリング処理の詳細について説明する。図９は、レンダリング処理の詳細を示すフローチャートである。
【００５３】
ステップ９０１において、展開処理部４１４は、描画データスプール４１８に格納された描画データを描画順に参照し、処理対象とする描画データが上書きイメージ描画データかどうかを判定する。処理対象の描画データが上書きイメージ描画データである場合は、ステップ９０２に進む。一方、処理対象の上書きイメージ描画データでない場合は、ステップ９０７に進む。
【００５４】
ステップ９０２において、展開処理部４１４は、上書きイメージ描画データにマスクデータが付属しているかどうかを判定する。マスクデータが付属している場合は、ステップ９０３に進む。一方、マスクデータが付属していない場合は、ステップ９０７に進む。
【００５５】
ステップ９０３において、展開処理部４１４は、当該上書きイメージ描画データの任意の画素に対応するマスクデータの画素値を取得する。この場合、当該上書きイメージの描画領域における例えば左上隅の画素から順に任意の画素として決定していく。
【００５６】
ステップ９０４において、展開処理部４１４は、取得したマスクデータの画素値が「１」であるかどうかを判定する。取得した画素値が「１」である場合は、ステップ９０５に進む。一方、取得した画素値が「０」である場合は、ステップ９０６に進む。
【００５７】
ステップ９０５において、展開処理部４１４は、上記任意の画素について、上書きイメージ描画データに従ったレンダリングを行なう。すなわち、当該任意の画素についてイメージとして画像データを生成すると共に、属性データにイメージ属性を指定する。
【００５８】
ステップ９０６において、展開処理部４１４は、上書きイメージ描画データの描画領域に未処理の画素があるかどうかを判定する。未処理の画素があれば、ステップ９０３に戻って次の画素についての処理を続行する。一方、上書きイメージ描画データの描画領域内のすべての画素についての処理が終了している場合は、ステップ９０８に進む。
【００５９】
ステップ９０７において、展開処理部４１４は、処理対象の描画データの属性に従ったレンダリングを行なう。すなわち、イメージ属性であればイメージの画像データ、グラフィック属性であればグラフィックの画像データ、文字属性であれば文字の画像データを生成し、当該画像データに応じた属性を属性データに指定する。
【００６０】
ステップ９０８において、展開処理部４１４は、全描画データのレンダリングが終了したかどうかを判定する。未処理の描画データがあれば、ステップ９０１に戻って上記各処理を繰り返す。一方、全描画データのレンダリングが終了していれば、本処理を終える。
【００６１】
図１０は、本実施例におけるレンダリング結果として生成された画像データと属性データの一例を示す図である。図１０（ａ）は画像データであり、前述の図２（ａ）と同様、正方形１２０の画素値と円１１０の画素値とは同じである。図１０（ｂ）は属性データであり、上述の重複描画処理によって、重なり領域内の正方形１２０に対応する領域１０００の属性が、イメージ属性に変更されることなくグラフィック属性のまま残っていることを示している。
【００６２】
以上が、本実施例におけるレンダリング処理の内容である。そして、このようにして得られたレンダリング結果（画像データと属性データ）はページ毎に画像データスプール４１９に格納され、前述のステップ５０６で属性データを参照して画像データに所定の画像処理がなされることになる。
【００６３】
図１１は、図１０（ｂ）に示した属性データに基づいて、図１０（ａ）の画像データに対し所定の画像処理が施された後の画像データを示している。前述の図２（ｃ）で示した画像処理後の画像データと比較すると明らかなように、図１１における画像処理後の画像データでは、イメージ描画領域１４０内の正方形１２０の色味が、イメージ描画領域１４０外の円１１０と同じ色味になっている。
【００６４】
なお、本実施例においては、重複描画処理をレンダリング処理の前段階で行っているが、例えばレンダリング処理の中で行うようにしてもよい。
【００６５】
また、ステップ６０６においてマスクデータを生成する代わりに、クリップ処理によってイメージ属性で描画しない領域を指定するようにしてもよい。
【００６６】
さらに、ステップ６０７において描画データの属性を一致させる代わりに、属性毎に設定されている画像処理の内容を、すべての属性に共通する特定の画像処理に変更してもよい。
【００６７】
本実施例によれば、上書きイメージの描画データとその背景に描画される他の属性の描画データとの間で生じ得る色味の異なりの問題を回避することができる。
【実施例２】
【００６８】
実施例１においては、印刷データ内の全ての上書きイメージ描画データに対し、重複描画処理を行う態様であった。次に、印刷データの生成に使用されたアプリケーションや画像処理設定の内容に応じて、重複描画処理を行うかどうかを切り替える態様について、実施例２として説明する。なお、実施例１と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明するものとする。
【００６９】
図１２は、本実施例に係る、印刷処理の流れを示すフローチャートである。
【００７０】
ステップ１２０１において、ネットワーク処理部４１１は、ホストコンピュータ３１０から送信された印刷データをネットワークＩ／Ｆ３２５で受信する。図１３は、本実施例における印刷データのデータ構造を示す図である。本実施例における印刷データは、ヘッダ部と描画コマンド部とで構成される。そして、ヘッダ部には、当該印刷データにおける描画コマンドを生成したアプリケーション名を示すアプリケーション情報と、属性毎の画像処理の内容を示す画像処理設定（イメージ、グラフィック、文字の各属性に応じた画像処理設定）の情報が含まれる。図１３（ａ）の印刷データにおけるアプリケーション名「ＡＡＡ」は、上書きイメージ描画データを含むタイプのアプリケーションの名称を指すものとする。また、図１３（ｂ）の印刷データにおけるアプリケーション名「ＢＢＢ」は、上書きイメージ描画データを含まないタイプのアプリケーションの名称を指すものとする。さらに、図１３（ａ）の印刷データでは属性毎に異なる内容の画像処理（画像処理１〜３）が設定され、同（ｂ）の印刷データでは各属性に共通の画像処理（画像処理１）が設定されているものとする。受信した印刷データは、印刷データスプール４１７に格納される。
【００７１】
ステップ１２０２において、解析処理部４１２は、印刷データスプール４１７から印刷データを読み出して解析し、描画データをページ毎に生成する。生成された描画データは、描画データスプール４１８に格納される。
【００７２】
ステップ１２０３において、重複描画処理部４１３は、ステップ１２０１で取得した印刷データのヘッダ部を参照し、当該印刷データを作成したアプリケーションが上書きイメージ描画データを含むタイプのアプリケーションであるかどうかを判定する。この判定は、例えば、上書きイメージ描画データを含むタイプのアプリケーションかどうかをアプリケーション名と対応付けて登録したテーブルを参照することで可能である。印刷データを作成したアプリケーションが上書きイメージ描画データを含むタイプのアプリケーションであると判定された場合は、ステップ１２０４に進む。一方、印刷データを作成したアプリケーションが上書きイメージ描画データを含まないタイプのアプリケーションであると判定された場合は、重複描画処理を行なう必要がないので、ステップ１２０７に進む。上述の図１３の例では、（ａ）の印刷データの場合はステップ１２０４に進み、（ｂ）の印刷データの場合はステップ１２０７に進むことになる。
【００７３】
ステップ１２０４において、重複描画処理部４１３は、ステップ１２０１で取得した印刷データのヘッダ部を参照し、画像処理設定の内容が属性毎に異なるかどうかを判定する。画像処理設定の内容が属性毎に異なる場合は、ステップ１２０５に進む。一方、画像処理設定の内容が各属性で共通である場合は、重複描画処理を行なう必要がないので、ステップ１２０７に進む。上述の図１３の例では、（ａ）の印刷データの場合はステップ１２０５に進み、（ｂ）の印刷データの場合はステップ１２０７に進むことになる。
【００７４】
以降のステップ１２０５〜ステップ１２０９の各処理は、実施例１における図５のフローのステップ５０３〜ステップ５０７にそれぞれ対応する。
【００７５】
すなわち、ページ毎に生成された描画データの中に上書きイメージ描画データがあるかどうかが判定され（ステップ１２０５）、上書きのイメージ描画データがあれば重複描画処理がなされる（ステップ１２０６）。そして、レンダリング処理によって画像データと属性データが生成され（ステップ１２０７）、属性データを参照して画像データに所定の画像処理が施される（ステップ１２０８）。最後に、画像処理後の画像データに従った印刷処理が実行される（ステップ１２０９）。
【００７６】
以上が、本実施例に係る印刷処理の内容であり、印刷データを作成したアプリケーションや画像処理設定の内容に応じて、重複描画処理が必要な場合にのみ実行される。
【００７７】
本実施例によれば、重複描画処理を実行する印刷データを最小限にすることで、印刷処理全体に要する時間を抑制することが可能となる。
【００７８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図３】
2015222898.tif 000003
【図４】
2015222898.tif 000004
【図５】
2015222898.tif 000005
【図６】
2015222898.tif 000006
【図９】
2015222898.tif 000007
【図１２】
2015222898.tif 000008
【図１３】
2015222898.tif 000009
【図１】
2015222898.tif 000010
【図２】
2015222898.tif 000011
【図７】
2015222898.tif 000012
【図８】
2015222898.tif 000013
【図１０】
2015222898.tif 000014
【図１１】
2015222898.tif 000015