(57)【要約】【課題】レイヤー印刷を行う場面において、背景が白色であることを前提としたラスタ化処理がなされた描画オブジェクトの周辺に不自然な白色領域が生じるのを防ぐ。【解決手段】プリンタドライバを備えた情報処理装置であって、前記プリンタドライバは、ＸＰＳ形式の描画データを入力として印刷ジョブを生成する生成手段と、入力された前記描画データにおいてレイヤー印刷が指定され、かつ、当該描画データに係るオブジェクトの属性がイメージである場合、当該オブジェクト周辺に前記レイヤー印刷を阻害する領域が生じないように前記描画データを変更する変更手段と、を備え、前記領域は、前記オブジェクトに隣接する周辺領域が白色であるとの前提でラスタ化されていた場合に生じ得ることを特徴とする。【選択図】図５
2019012952.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバを備えた情報処理装置であって、
前記プリンタドライバは、
ＸＰＳ形式の描画データを入力として印刷ジョブを生成する生成手段と、
入力された前記描画データにおいてレイヤー印刷が指定され、かつ、当該描画データに係るオブジェクトの属性がイメージである場合、当該オブジェクト周辺に前記レイヤー印刷を阻害する領域が生じないように前記描画データを変更する変更手段と、
を備え、
前記領域は、前記オブジェクトに隣接する周辺領域が白色であるとの前提でラスタ化されていた場合に生じ得る
ことを特徴とする情報処理装置。
【請求項２】
前記変更手段は、前記オブジェクトの内部にある白色領域がくり抜かれるように前記描画データを変更することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変更手段は、
入力された描画データに係るイメージのオブジェクトが、その内部の白色領域をくり抜くべきオブジェクトであるか否か判定する判定手段と、
くり抜くべきと判定された前記イメージのオブジェクトに対し、どの部分をくり抜くのかを特定する特定手段と、
特定された領域をくり抜くための描画を付加する付加手段と
を備えたことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記イメージのオブジェクトのエッジ画素領域が有色ではないことを条件に、その内部の白色領域をくり抜くべきオブジェクトであると判定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記判定手段は、さらに、前記イメージのオブジェクトが自然画像ではなく、かつ、当該オブジェクトの白色領域の背後に他のオブジェクトが存在しないことを条件に、その内部の白色領域をくり抜くべきオブジェクトであると判定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記判定手段は、さらに、前記イメージのオブジェクトが自然画像であって白枠を有し、かつ、当該オブジェクトの白色領域の背後に他のオブジェクトが存在しないことを条件に、その内部の白色領域をくり抜くべきオブジェクトであると判定することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記判定手段は、前記白枠を有するかどうかを、前記イメージのオブジェクトの上下左右の端部において前記エッジ画素領域から白色の画素が内側に向けて何画素分続いているか求め、上下左右それぞれで求めた画素数のうち最小値が、所定の画素数以上である場合に白枠ありと判定することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記特定された領域をくり抜くための描画は、マスクイメージを用いたマスク描画であることを特徴とする請求項３乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記特定された領域をくり抜くための描画は、クリップパスを用いたクリップ描画であることを特徴とする請求項３乃至７のいずれか１項に記載の情報処理装置。
【請求項１０】
前記特定された領域をくり抜くための描画は、当該領域を構成する画素を完全透過画素へ置き換えることであることを特徴とする請求項３乃至７のいずれか１項に記載の情報処理装置。
【請求項１１】
前記レイヤー印刷は、下地地紋印刷であることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記レイヤー印刷は、フォームオーバーレイ印刷であることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１３】
印刷装置に印刷を実行させるプリンタドライバであって、
ＸＰＳ形式の描画データを入力として印刷ジョブを生成する生成手段と、
入力された前記描画データにおいてレイヤー印刷が指定され、かつ、当該描画データに係るオブジェクトの属性がイメージである場合、当該オブジェクト周辺に前記レイヤー印刷を阻害する領域が生じないように前記描画データを変更する変更手段と、
を備え、
前記領域は、前記オブジェクトに隣接する周辺領域が白色であるとの前提でラスタ化されていた場合に生じ得る
ことを特徴とするプリンタドライバ。
【請求項１４】
ＸＰＳ形式の描画データを入力として、印刷装置に印刷を実行させるための印刷ジョブを生成する方法であって、
入力された前記描画データにおいて、レイヤー印刷が指定され、かつ、当該描画データに係るオブジェクトの属性がイメージであるか判定するステップと、
レイヤー印刷が指定され、かつ、その属性がイメージであると判定された場合、当該オブジェクトの周辺に前記レイヤー印刷を阻害する領域が生じないように前記描画データを変更するステップと、
を含み、
前記領域は、前記オブジェクトに隣接する周辺領域が白色であるとの前提でラスタ化されていた場合に生じ得る
ことを特徴とする方法。
【請求項１５】
コンピュータを、請求項１乃至１２のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力描画データを印刷装置で出力可能な形式の印刷データに変換する技術に関する。
【背景技術】
【０００２】
従来、帳票や社内機密書類など、原本であることが重要視される印刷物のコピー防止技術の１つとして、プリンタドライバとプリンタを用いて印刷物の背景に地紋と呼ばれる特殊な模様を印字する技術がある（例えば、特許文献1及び特許文献2を参照）。印刷物上の地紋は、人間の目には特に意味を持たないような背景模様に見えるが、印刷物を複写することで複写物（紙）に文字や図形が浮かび上がる。この地紋印刷技術を用いることで、印刷物が「原本」か「コピー」なのかを識別でき、第三者による不正コピーを抑止する効果が期待できる。この地紋印刷には、原稿ページ内の描画オブジェクトが存在しない部分（下地部分）にのみ地紋描画を印刷する「下地地紋印刷」と、描画オブジェクトの上にも地紋描画を印刷する「上地地紋印刷」とがある。ここで、図１を参照して具体例を示す。図１（ａ）は通常印刷（非地紋印刷）の印刷物、同（ｂ）は下地地紋印刷の印刷物、同（ｃ）は上地地紋印刷の印刷物をそれぞれ示している。
【０００３】
ところで、現在は、マイクロソフト社のWindows（登録商標）ＯＳ用のプリンタドライバとして、Version3プリンタドライバ（以下「Ｖ３ドライバ」）とVersion4プリンタドライバ（以下、「Ｖ４ドライバ」）の2種類が並存している。Ｖ３ドライバは、ＧＤＩ（Graphics Device Interface）形式の描画データから印刷データを生成するプリンタドライバである。そして、Ｖ４ドライバは、ＸＰＳ（XML Paper Specification）形式の描画データから印刷データを生成するプリンタドライバである。ＧＤＩを用いた印刷処理フローが「ＧＤＩプリントパス」、ＸＰＳを用いた印刷処理フローが「ＸＰＳプリントパス」と呼ばれる。ＧＤＩプリントパスとＸＰＳプリントパスとは排他的な関係にあるわけではなく、例えばアプリケーションがＧＤＩを使って生成したＧＤＩ形式の描画データをＸＰＳ形式に変換してＶ４ドライバで印刷データにすることも可能である。このとき、ＧＤＩからＸＰＳへの変換は、ＭＸＤＣ（Microsoft XPS Document Converter）と呼ばれる変換モジュールによってなされる。
【０００４】
上述のとおり、Ｖ４ドライバには必ずＸＰＳ描画データが入力される必要がある。ここで、描画オブジェクトが複雑または大量である場合や、表現しきることができないオブジェクトである場合に、ベクタ描画をラスタ描画に部分的に変換する処理（以下、「ラスタ化処理」と呼ぶ。）がなされる。このラスタ化処理は、上述のＭＸＤＣのほか、ＧＤＩを使うアプリケーション（以下、「ＧＤＩアプリ」）やＶ４ドライバでも行われることがある。そして、このラスタ化処理は、描画オブジェクトが存在しない隣接する周辺領域に対しては、一般的に白色であるとの前提でなされる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１９７２９７号公報
【特許文献２】特開２００１−２３８０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、前述の下地地紋印刷を行う場面において、オブジェクト周辺が白色であることを前提とするラスタ化処理がその描画データに施されていると、不自然な白色領域が地紋の模様上に発生することがある。図２にその具体例を示す。図２（ａ）は、ＧＤＩアプリ上の原稿ページの一例を示しており、グラフィクス属性の円形オブジェクト２０１が描画オブジェクトとして存在している。ここでは、円形オブジェクト２０１は、グラデーション描画が指定されているものとする。図２（ｂ）は、円形オブジェクト２０１の周辺（背景）が白色であるとの前提でラスタ化処理がなされた後の原稿ページの状態を示している。図２（ｂ）において、円形オブジェクト２０１に外接する矩形２０２はラスタ化処理によって、その属性がグラフィクスからイメージに変化した領域を示している。そして、矩形領域２０２内の円形オブジェクト２０１部分を除いた領域２０３が、前述した、白色であるとの前提でラスタ化処理された領域である。図２（ｃ）は、図２（ｂ）に示す原稿ページに下地地紋を付加して印刷した結果を示している。図２（ｃ）をみると、本来は背景であったため地紋の模様が形成されるべきである領域２０３の部分が、不自然な白色領域として地紋の模様の上に重なってしまっていることが分かる。このような地紋模様を阻害する不自然な白色領域が生じることは、下地地紋印刷を利用するユーザにとって好ましくないといえる。そして、このような不自然な白色領域が生じる問題は、レイヤー印刷（原稿ページのデータとは別に用意したデータとを合わせて印刷する技術）全般で共通して起こり得るものである。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、プリンタドライバを備えた情報処理装置であって、前記プリンタドライバは、ＸＰＳ形式の描画データを入力として印刷ジョブを生成する生成手段と、入力された前記描画データにおいてレイヤー印刷が指定され、かつ、当該描画データに係るオブジェクトの属性がイメージである場合、当該オブジェクト周辺に前記レイヤー印刷を阻害する領域が生じないように前記描画データを変更する変更手段と、を備え、前記領域は、前記オブジェクトに隣接する周辺領域が白色であるとの前提でラスタ化されていた場合に生じ得ることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、レイヤー印刷を行う場面において、背景が白色であることを前提としたラスタ化処理がなされた描画オブジェクトの周辺に不自然な白色領域が生じるのを防ぐことができる。
【図面の簡単な説明】
【０００９】
【図１】地紋印刷を説明する図。
【図２】背景が白であることを前提としたラスタ化処理の影響で地紋の模様が不自然に白くなる様子を示した図。
【図３】情報処理装置のハードウェア構成の一例を示すブロック図。
【図４】情報処理装置のソフトウェア構成の一例を示すブロック図。
【図５】ＸＰＳ描画データに基づき印刷ジョブを生成する一連の処理の流れを示すフローチャート。
【図６】レイヤー印刷の場面において、イメージオブジェクトに対して実行される白前提領域処理の大まかな流れを示すフローチャート。
【図７】くり抜きイメージ判定処理の流れを示すフローチャート。
【図８】、エッジ画素領域を説明する図。
【図９】イメージオブジェクトの様々な具体例を示す図。
【図１０】くり抜き非対象のイメージオブジェクトの一例を示す図。
【図１１】くり抜き領域特定処理の流れを示すフローチャート。
【図１２】くり抜き対象領域の一例を示す図。
【図１３】くり抜き描画付加処理の流れを示すフローチャート。
【図１４】くり抜き描画のバリエーションを説明する図。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本発明を実施する形態について説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【００１１】
本実施例の印刷システムでは、ＭＸＤＣを介して入力されたＸＰＳ描画データに基づき、Ｖ４ドライバが印刷ジョブを生成して印刷装置に出力する。そして、印刷ジョブを生成する際、レイヤー印刷の結果物において上述した不自然な白色領域が発生することがないよう手当を行なう。以下、詳しく説明する。
【００１２】
図３は、情報処理装置のハードウェア構成の一例を示すブロック図である。なお図３に示す構成は一例であって、情報処理装置１００は単体の機器であっても、ＬＡＮやＷＡＮ等のネットワークを介して接続がされた複数の機器からなるシステムであってもよい。情報処理装置１００は、ＲＯＭ１０６やハードディスク１０３に記憶された処理プログラムをＣＰＵ１０１が実行することで様々な処理を実現し、システムバス１０９に接続された各部を総括的に制御する。また、ＣＰＵ１０１は、マウスカーソル等で指示されたコマンドに基づいて、予め登録されたウインドウを開くといった種々の処理を実行する。例えばユーザが印刷の実行を指示する際は、印刷設定のウインドウを開き、後述のプリンタドライバ（不図示）に対する各種設定を行う。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ハードディスク１０３には、ＯＳ、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等が記憶される。プリンタドライバもハードディスク１０３に保存される。ディスプレイコントローラ１０４は、不図示のディスプレイの表示を制御する。プリンタコントローラ１０５は、所定の双方向性インタフェース（不図示）を介して印刷装置２００に接続され、印刷装置２００との通信制御を担う。なお、ＣＰＵ１０１は、例えばＲＡＭ１０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ディスプレイ上でのWYSIWYG（ウィジウィグ）を可能としている。外部記憶ドライブ１０７は、ＣＤやＤＶＤといった記憶媒体とのアクセスを制御する。キーボードコントローラ１０８は、キーボードやポインティングデバイスからのキー入力を制御する。
【００１３】
図４は、情報処理装置のソフトウェア構成の一例を示すブロック図である。情報処理装置１００は、前述のプリンタコントローラ１０５を介して、後述する印刷装置２００と接続されている。情報処理装置１００には、不図示のオペレーティングシステム（以下、OS）がインストールされている。ＯＳとしては、例えばＷｉｎｄｏｗｓ（登録商標）が挙げられる。アプリケーション４００は、前述のＧＤＩアプリに相当する、各種文書等を生成するソフトウェアであり、ＯＳ上で動作する。ＭＸＤＣ４１０は、アプリケーション４００がＧＤＩを使って発行した描画データを、Ｖ４ドライバで取り扱い可能なＸＰＳ描画データに変換する。この際、一定の条件に合致する描画オブジェクト（以下、単に「オブジェクト」）に対しては前述のラスタ化処理が実行され、当該オブジェクトの周辺領域（通常は、オブジェクトに外接する矩形領域）を含めてイメージ化される。
【００１４】
Ｖ４ドライバとしてのプリンタドライバ４２０は、印刷装置２００に印刷処理を実行させるための印刷ジョブを生成するソフトウェアである。プリンタドライバ４２０は、ＭＸＤＣ４１０から受け取ったＸＰＳ描画データを、印刷装置２００が処理可能なデータ形式であるＰＤＬに変換して印刷ジョブを生成する。印刷ジョブには、ＰＤＬで記述された印刷対象となる画像データに加え、用紙サイズ、部数、N-up印刷や両面印刷といったレイアウト、カラー／モノクロ設定など、印刷処理時に必要な情報（印刷設定情報）が含まれる。
【００１５】
プリンタドライバ４２０は、ＵＩ部４２１と描画データ処理部４２２で構成される。ＵＩ部４２１は、印刷処理時の各種設定や印刷開始指示をユーザが行うためのＵＩ画面を表示したり、該ＵＩ画面に入力された情報を処理するなどユーザインタフェースに関する機能を提供する。描画データ処理部４２２は、ＭＸＤＣ４１０から受け取ったＸＰＳ描画データに基づいて上述の印刷ジョブを生成する。この描画データ処理部４２２は、白前提領域処理部４２３、ＰＤＬ変換部４２４及び印刷ジョブ生成部４２５で構成される。以下、描画データ処理部４２２を構成する各部について説明する。
【００１６】
白前提領域処理部４２３は、入力されたＸＰＳ描画データを解析し、オブジェクト周辺に不自然な白色領域が生じないよう（例えば下地地紋印刷であれば地紋模様が適切に描画されるよう）に描画コマンドを追加／変更する処理を行う。
【００１７】
ＰＤＬ変換部４２４は、必要に応じ描画コマンドが追加／変更された描画データから、印刷装置２００で処理可能なＰＤＬ形式の描画データを生成する。ＰＤＬ（Post Description Language）には、例えばＰＳ（Adobe社製）やＰＣＬ（HP社製）などがあるが、特に限定されない。
【００１８】
印刷ジョブ生成部４２５は、生成されたＰＤＬ描画データと印刷設定情報とからなる印刷ジョブを生成する。生成された印刷ジョブは、ＯＳの機能の１つであるデータ送受信部４３０によって、印刷装置２００に送られる。そして、印刷装置２００は、情報処理装置１００から受け取った印刷ジョブに従って印刷処理を実行する。具体的には、印刷ジョブに含まれるＰＤＬ描画データに対しレンダリングや量子化といった必要な処理を施した後、紙等の記録媒体上に画像を形成する。
【００１９】
続いて、描画データ処理部４２２における処理について詳しく説明する。図５は、本実施例に係る、ＸＰＳ描画データに基づき印刷ジョブを生成する一連の処理の流れを示すフローチャートである。ユーザがアプリケーション４００を起動して所望の文書ファイル等の印刷を指示すると、アプリケーション４００がＧＤＩを使って発行したＧＤＩ描画データがＭＸＤＣ４１０に入力される。ＭＸＤＣ４１０ではそれをＸＰＳ描画データに変換する際に、一定条件を満たすオブジェクトに対して前述のラスタ化処理を行う。そうして生成されたＸＰＳ描画データが、ＭＸＤＣ４１０からプリンタドライバ４２０へ入力されると、図５のフローに沿った処理がスタートする。以下、図５のフローについて詳しく説明する。
【００２０】
ＭＸＤＣ４１０から入力されたＸＰＳ描画データは、まず、白前提領域処理部４２３において解析される（ステップ５０１）。ここで、ＸＰＳ描画データには、印刷方法（レイヤー印刷の指定、カラー／モノクロの指定、片面／両面の指定など）を記述したプリントチケット、各オブジェクトの属性（テキスト、イメージ、グラフィクスなど）に対応した描画コマンドなどの情報が含まれる。この場合において、レイヤー印刷として地紋印刷が指定されている場合は、下地地紋／上地地紋といったさらに詳細な情報もプリントチケットに記述されている。レイヤー印刷には、地紋印刷のほか、例えばフォームオーバーレイ印刷（すべてのページに印刷するデータを予めフォームファイルとして作成しておき、実際に印刷するときに印刷原稿とフォームファイルを重ね合わせて印刷する技術）などが含まれる。
【００２１】
そして、ステップ５０１での解析結果に基づき、白前提領域処理を行うかどうかの切り分けがなされる（ステップ５０２及び５０３）。具体的には、描画データにおいてレイヤー印刷が指定されており（ステップ５０２でＹｅｓ）、かつ、オブジェクトの属性がイメージであれば（ステップ５０３でＹｅｓ）に、ステップ５０４に進んで白前提領域処理が実行される。それ以外の場合（レイヤー印刷が指定されていない場合（ステップ５０２でＮｏ）や、オブジェクトの属性がグラフィクスやテキストなど非イメージである場合（ステップ５０３でＮｏ））は、白前提領域処理（ステップ５０４）をスルーしてステップ５０５に進む。このような処理の切り分けを行う理由は、本発明の課題で述べた、オブジェクト周辺の不自然な白色領域は、レイヤー印刷の場合で、かつ、オブジェクトとその周囲がラスタ化処理によってイメージ化された場合に発生するためである。ただし、非レイヤー印刷の場合やオブジェクト属性が非イメージである場合に白前提領域処理を行なっても動作上の問題は生じない。ステップ５０４における白前提領域処理の詳細については、別フローを参照して後述することとする。必要に応じて白前提領域処理が施されたＸＰＳ描画データは、ＰＤＬ変換部４２４に送られる。なお、入力されたＸＰＳ描画データは中間データの形式でＰＤＬ変換部４２４へ渡されるのが通常であるが、本発明においては重要でないのでここでは省略するものとする。
【００２２】
ＰＤＬ変換部４２４では、印刷装置２００が受け取ることができるＰＤＬ形式の描画データが、白前提領域処理部４２３から受け取った描画データに基づき生成される（ステップ５０５）。そして、印刷指示がなされた文書ファイル等に係るすべてのＸＰＳ描画データの処理が完了していれば（ステップ５０６でＮｏ）、ステップ５０７に進む。一方、未処理のＸＰＳ描画データがあれば（ステップ５０６でＹｅｓ）、ステップ５０１に戻って、次のＸＰＳ描画データの解析がなされる。
【００２３】
そして、印刷ジョブ生成部４２５では、ＰＤＬ変換部４２４から受け取ったＰＤＬ形式の描画データに印刷設定などのヘッダ情報を付加して印刷ジョブが生成され、印刷装置２００に送られる（ステップ５０７）。印刷装置２００は、受け取った印刷ジョブに従って印刷処理を行う。
【００２４】
以上が、本実施例に係る、Ｖ４ドライバにおける、入力されたＸＰＳ描画データに基づく印刷ジョブ生成処理の概要である。なお、上述の説明は、オブジェクトの背景が白色であることを前提としたラスタ化処理がＭＸＤＣ４１０においてなされることを想定した説明となっている。仮に、ラスタ化処理をプリンタドライバ側で行うような実装の場合は、前述の白前提領域処理をラスタ化処理の後に実行するようにプリンタドライバを構成することになる。
【００２５】
＜白前提領域処理＞
続いて、前述の図５のフローにおいて最も重要な、白前提領域処理部４２３における処理（ステップ５０４）について詳しく説明する。図６は、レイヤー印刷の場面において、イメージ属性のオブジェクト（以下、「イメージオブジェクト」）に対して実行される白前提領域処理の大まかな流れを示すフローチャートである。
【００２６】
まず、ステップ６０１で、処理対象のイメージオブジェクトが、その内部にある白い領域をくり抜くべきイメージオブジェクトであるか否かを判定する処理（くり抜きイメージ判定処理）が実行される。くり抜きイメージ判定処理の詳細については、別途図７のフローを参照して後述する。判定の結果、くり抜き対象のイメージオブジェクトであればステップ６０３に進み、くり抜き非対象のイメージオブジェクトであれば本処理を抜ける。
【００２７】
ステップ６０３では、くり抜き対象のイメージオブジェクトに対し、当該イメージオブジェクト内のどの部分をくり抜くのかを特定する処理（くり抜き領域特定処理）が実行される。くり抜き領域特定処理の詳細についても、別途図１１のフローを参照して後述する。
【００２８】
ステップ６０４では、ステップ６０３で特定された領域をくり抜くための描画を付加する処理（くり抜き描画付加処理）が実行される。くり抜き描画付加処理の詳細についても、別途図１３のフローを参照して後述する。
【００２９】
以上が、白前提領域処理の大まかな流れである。このような処理によって、例えば、前述の下地地紋印刷の場合であれば、ラスタ化処理でイメージ化されたオブジェクト内の白い領域がくり抜かれてその背後の描画が見える状態となり、地紋模様を適切に表示させることが可能になる。続けて、図６のフローに含まれる各サブプロセスについて説明する。
【００３０】
＜くり抜きイメージ判定処理＞
図７は、くり抜きイメージ判定処理の流れを示すフローチャートである。以下、図７のフローに沿って、各ステップでの判定結果の具体例を参照しつつ詳しく説明する。
【００３１】
ステップ７０１では、処理対象のイメージオブジェクトにおけるエッジ画素領域が有色か否かが判定される。ここで、エッジが領域は、当該イメージオブジェクト内側の縁を構成する１画素幅の領域を指す。図８は、エッジ画素領域を説明する図である。図８は、ラスタ化処理によってイメージ化された領域２０２の（図２（ｂ）を参照）の拡大図であり、参照符号８０１で示す１画素幅の部分がエッジ画素領域を示している。そして、有色判定では、エッジ画素領域を構成する各画素が完全白色であるかどうかをまず特定する。そして、エッジ画素領域を構成する全画素に対する完全白色画素の割合が、所定の割合（例えば50％）を超えるかどうかの閾値処理を行う。この場合において、完全白色画素とは、１画素あたりの色情報を8ビットで表わす場合の画素値が、(R, G, B) = (255, 255, 255)である画素を指している。ここで完全白色を基準に有色判定を行っているのは、画素値が(R, G, B) = (255, 255, 255)以外の白色の場合は、ユーザが意図を持って指定した白色である可能性が高いことから、そのような白色の領域についてはくり抜かずに残すためである。したがって、ユーザ意図を害すリスクがないと考えられる場合は、例えば画素値が(R, G, B) = (250, 250, 250)以上である場合を上記の完全白色と見做して扱うようにしてもよい。エッジ画素領域が有色でないと判定された場合は、ステップ７０２に進む。一方、エッジ画素領域が有色であると判定された場合は、ステップ７０６に進む。図９は、イメージオブジェクトの様々な具体例を示す図である。例えば、図９の参照符号９０１で示すような、自然画像や枠いっぱいまで描画された幾何学画像の場合は、本ステップにおいてエッジ画素領域が有色であると判定され、くり抜き非対象のイメージオブジェクトとなる（ステップ７０６）。
【００３２】
ステップ７０２では、処理対象のイメージオブジェクトが自然画像か否かが判定される。自然画像であるかどうかの判定は、使用されている色数やヒストグラムを用いた特徴量などに基づく公知の判定手法を適用すればよい。自然画像であると判定された場合は、ステップ７０３へ進む。一方、自然画像ではないと判定された場合は、ステップ７０４へ進む。例えば、図９の参照符号９０２で示すような幾何学画像（画像の縁部分が完全白色）の場合は、ステップ７０４へ進むことになる。
【００３３】
ステップ７０３では、処理対象のイメージオブジェクトに白枠があるか否かが判定される。ここでは、処理対象イメージオブジェクトの上下左右の端部において上述のエッジ画素領域から完全白色の画素が内側に向けて何画素分続いているかを求め、上下左右それぞれで求めた画素数のうち最小値が、所定の画素数以上である場合に白枠ありと判定する。この場合において所定の画素数は、例えば画像解像度が600dpiで幅が2mm以上の白枠を判定する場合であれば、48画素となる。白枠ありと判定された場合は、ステップ７０４へ進む。一方、白枠がないと判定された場合は、ステップ７０６へ進む。例えば、図９の参照符号９０３は、白枠がないと判定されるいわゆる白とび画像を示しており、このような場合はステップ７０６に進むことになる。
【００３４】
ステップ７０４では、処理対象のイメージオブジェクトの背後に他のオブジェクトが存在するか否かが判定される。他のオブジェクトが存在するかどうかは、既に処理された描画データに係るオブジェクトの位置座標を参照し、その一部でも重複する場合は背後に他のオブジェクトが存在すると判定する。背後に他のオブジェクトがないと判定された場合は、ステップ７０５に進む。一方、背後に他のオブジェクトがあると判定された場合は、ステップ７０６へ進む。
【００３５】
ステップ７０５では、処理対象のイメージオブジェクトが、その内部にある白い領域をくり抜くべきイメージオブジェクトに決定される。そして、ステップ７０６では、処理対象のイメージオブジェクトが、その内部にある白い領域をくり抜かないイメージオブジェクトに決定される。図１０は、背後に他のオブジェクトがあるために、内部の白色領域を残す（くり抜き非対象）と判定されるイメージオブジェクトの一例を示す図である。図１０（ａ）及び（ｂ）の各イメージオブジェクトにおける白の領域１００１及び１００２は、いずれもその背景が白であるとの前提でラスタ化処理されたことで生じたものではなく、元々そのような白の領域である。例えば、図１０（ａ）において、白い領域１００１をくり抜いてしまうと、本来は白い領域で隠されて見えなかったはずの星形のオブジェクト１０１０が、見えるようになってしまう。このような事態が生じるのを防ぐために、背後に他のオブジェクトが存在する場合はくり抜き非対象とされる。
【００３６】
以上が、くり抜きイメージ判定処理の内容である。こうして、内部の白色領域をくり抜くべきイメージオブジェクト（以下、「くり抜き対象イメージ」）が特定される。
【００３７】
＜くり抜き領域特定処理＞
図１１は、くり抜き領域特定処理の流れを示すフローチャートである。以下、図１１のフローに沿って、詳しく説明する。
【００３８】
ステップ１１０１では、前述のくり抜きイメージ判定処理（図７のフロー）で決定されたくり抜き対象イメージを構成する画素の中から、注目する画素が決定される。そして、ステップ１１０２では、当該注目画素の色が、完全白色であるか否かが判定される。完全白色であればステップ１１０３に進み、完全白色でなければステップ１１０５に進む。なお、「完全白色」の意味は、図７のフローのステップ７０１で説明したとおりである。
【００３９】
続くステップ１１０２では、完全白色の注目画素が、前述のエッジ画素領域を構成する少なくとも１つの完全白色画素に隣接する画素であるか否かが判定される。これは、注目画素がエッジ画素領域の一部に含まれているか、又はエッジ画素領域と連続しているか、を判定していることになる。注目画素が、エッジ画素領域の一部又はエッジ画素領域と連続する完全白色の画素である場合はステップ１１０４へ進む。一方、注目画素が、エッジ画素領域に含まれず、かつ、エッジ画素領域と連続していない完全白色の画素である場合はステップ１１０５へ進む。
【００４０】
ステップ１１０４では、注目画素がくり抜き対象画素に決定される。また、ステップ１１０５では、注目画素がくり抜き非対象画素に決定される。そして、ステップ１１０６では、くり抜き対象イメージ内のすべての画素について処理が完了したか否かが判定される。未処理の画素があればステップ１１０１に戻って次の画素を注画素に決定して処理を続行する。一方、くり抜き対象イメージ内のすべての画素が処理されていれば、本処理を終える。
【００４１】
以上が、白くり抜き領域特定処理の内容である。こうして、くり抜き対象イメージ内の画素のうち、くり抜き対象画素に決定された画素で構成される領域が、くり抜き対象領域として特定される。図１２は、くり抜き対象領域の一例を示す図である。この例では、外枠の白色領域がすべてくり抜き対象領域となる一方で、イメージ内中央の白色領域（家の外壁部分）はくり抜き非対象領域となる。
【００４２】
＜くり抜き描画付加処理＞
図１３は、くり抜き描画付加処理の流れを示すフローチャートである。以下、図１３のフローに沿って、くり抜き描画の具体例を参照しつつ詳しく説明する。
【００４３】
ステップ１３０１では、処理対象のイメージオブジェクトに対して、くり抜き対象領域に決定された領域のみをくり抜くための描画（ここでは、マスクイメージ）が生成される。マスクイメージとは、処理対象のイメージオブジェクトと、同じ幅、同じ高さを持ち、かつ、くり抜き対象領域を構成する画素に“0”、くり抜き非対象領域（描画されて最終的に残る領域）を構成する画素に“1”を立てたBitmap形式の画像である。図１４（ａ）はマスクイメージの説明図である。処理対象イメージ１４０１に対してマスクイメージ１４０２を重ねて描画（マスク描画）することで、くり抜き対象領域１４０３だけをくり抜くことができる。
【００４４】
ステップ１３０２では、ステップ１３０１で生成したマスクイメージでマスク描画するための描画コマンドが付加される。この付加は、マスク描画用の新たな描画コマンドを追加することで実現される。或いは、処理対象イメージオブジェクト用の描画コマンドを、マスク描画の内容を含む描画コマンドに変更してもよい。
【００４５】
以上が、くり抜き描画付加処理の内容である。これにより、処理対象のイメージオブジェクトのうち、くり抜くべき白色領域のみをくり抜くことが可能になる。なお、くり抜き描画は、上述のマスク描画に限られない。例えば、図１４（ｂ）に示すクリップ描画でもよい。クリップパスを用いて描画領域を制限するクリップ描画の場合、最終的に描画する領域を示すClipパス１４１２の描画コマンドを付加することによって、上述のマスク描画と同じ結果を得ることができる。さらには、くり抜き対象領域を構成する画素を完全透過画素に置き換え（透過率100％を示すアルファ値を指定）てもよい。
【００４６】
以上が、くり抜き描画付加処理の内容である。
【００４７】
本実施例によれば、イメージオブジェクト内の白色領域のうち、白前提でラスタ化処理された領域が特定され、当該領域をくり抜いた印刷ジョブが生成されて、印刷装置に送られる。これにより、レイヤー印刷を阻害する不自然な白色領域の発生を防ぐことが可能となる。
【００４８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019012952.tif 000003
【図２】
2019012952.tif 000004
【図３】
2019012952.tif 000005
【図４】
2019012952.tif 000006
【図５】
2019012952.tif 000007
【図６】
2019012952.tif 000008
【図７】
2019012952.tif 000009
【図８】
2019012952.tif 000010
【図９】
2019012952.tif 000011
【図１０】
2019012952.tif 000012
【図１１】
2019012952.tif 000013
【図１２】
2019012952.tif 000014
【図１３】
2019012952.tif 000015
【図１４】
2019012952.tif 000016