(57)【要約】【課題】透明度合成に対応していないデバイスにおいても、透明度合成を適用した出力を実現するとともに、透明度合成の計算を予め行うことにより処理負荷を軽減すること。【解決手段】情報処理装置は複数のオブジェクトを含むＶＤＰ（Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｐｒｉｎｔ）文書の作成や編集を行って印刷データを出力する。重なりリスト作成ステップＳ７０２では、複数のオブジェクトの描画領域の情報と属性情報を取得し、オブジェクト同士の重なり部分を検出して重なりリストを作成する処理が実行される。透明度合成処理ステップＳ７０３では、Ｓ７０２で作成された重なりリストに基づいて透明度合成の計算が実行される。重なり部分を構成する複数のオブジェクトに対して透明度合成が適用され、合成結果であるＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）処理済みの画像データを含む印刷データは、Ｓ７０４で画像形成装置へ出力される。【選択図】  図７
2014023006.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトを含む文書を処理して印刷データを出力する情報処理装置であって、
前記複数のオブジェクトの描画領域の情報と属性情報を取得してオブジェクト同士の重なり部分を検出して重なりリストを作成するリスト作成手段と、
前記リスト作成手段により作成された前記重なりリストを用いて透明度合成の計算を行い、前記重なり部分を構成する複数のオブジェクトに対して透明度合成処理を行う透明度合成処理手段と、
前記透明度合成処理手段によって透明度合成処理を適用した印刷データを出力する出力手段を備えることを特徴とする情報処理装置。
【請求項２】
前記リスト作成手段は、前記複数のオブジェクトの前後関係及び重なり合いの状態を判別し、前記重なり部分を構成する複数のオブジェクトの描画領域の情報及び属性情報を記述した前記重なりリストを作成することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記リスト作成手段は、前記複数のオブジェクトの描画領域の情報及び属性情報を含む重なり条件を記述した前記重なりリストを作成する際、前記重なり部分を構成する複数のオブジェクトが印刷データの可変領域に配置される可変オブジェクトであるか、または印刷データの固定領域に配置される固定オブジェクトであるかを判定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記重なり条件は、前記重なり部分を構成する各オブジェクトの透明度の有無を示す情報、または該オブジェクトの透明度属性を示す情報を含むことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記透明度合成処理手段は、前記重なり部分を構成する複数のオブジェクトに対して透明度合成を適用した画像データを保存する処理を行うことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記透明度合成処理手段は、透明度合成を適用する複数のオブジェクトについて相対的な前後関係を判定して、前面側と判定したオブジェクトに前記重なり部分を含めて画像データを保存する第１の方法、または各オブジェクト及び前記重なり部分を別々の画像データとして保存する第２の方法を選択することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記透明度合成処理手段は、前記重なり部分を構成するオブジェクトについて前面側と判定したオブジェクトが印刷データの可変領域に配置される可変オブジェクトである場合に前記第１の方法で画像データを保存し、前面側と判定したオブジェクトが固定領域に配置される固定オブジェクトである場合には前記第２の方法で画像データを保存する処理を行うことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記透明度合成処理手段は、透明度合成を適用した画像データへのリンクを印刷データに記述し、印刷データから透明度合成に関わる記述部を削除する処理を行うことを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記透明度合成処理手段は、階層構造をもつマークアップ言語で記述される印刷データを作成する際に透明度合成処理を行うことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
複数のオブジェクトを含む文書を処理して印刷データを出力する情報処理装置にて実行される情報処理方法であって、
前記複数のオブジェクトの描画領域の情報と属性情報を取得してオブジェクト同士の重なり部分を検出して重なりリストを作成するリスト作成ステップと、
前記リスト作成ステップにて作成された前記重なりリストを用いて透明度合成の計算を行い、前記重なり部分を構成する複数のオブジェクトに対して透明度合成処理を行う透明度合成処理ステップと、
前記透明度合成処理を適用した印刷データを出力する出力ステップを有することを特徴とする情報処理方法。
【請求項１１】
複数のオブジェクトを含む文書を処理して印刷データを出力する情報処理装置にてコンピュータにより実行される情報処理プログラムであって、
前記複数のオブジェクトの描画領域の情報と属性情報を取得してオブジェクト同士の重なり部分を検出して重なりリストを作成するリスト作成ステップと、
前記リスト作成ステップにて作成された前記重なりリストを用いて透明度合成の計算を行い、前記重なり部分を構成する複数のオブジェクトに対して透明度合成処理を行う透明度合成処理ステップと、
前記透明度合成処理を適用した印刷データを出力する出力ステップを有することを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、透明度合成の記述を含む文書の印刷処理技術に関する。
【背景技術】
【０００２】
デジタル複写機やデジタル複合機等のデジタル画像形成装置を最大限に活用したデジタル印刷技術に、プリントオンデマンド（Ｐｒｉｎｔ  Ｏｎ  Ｄｅｍａｎｄ；以下、ＰＯＤと記す）が知られている。ＰＯＤのメリットとして、小ロット印刷、短納期に有利なことや、顧客ごとにカスタマイズした印刷を実現するバリアブルデータプリント（Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｐｒｉｎｔ；以下、ＶＤＰと記す）が挙げられる。
一方、複数のオブジェクトの画像が重なる部分にて、後に描画される前面側のオブジェクトを半透明状態にして、先に描画された背面側のオブジェクトが透けて見えるようにする技術があり、透明度合成と称する。背面側のオブジェクトの画素値と前面側のオブジェクトの画素値とを、ブレンドモードによって定義される式に基づいて計算することで重なり部分の計算値が得られる。ブレンドモードとはブレンド関数を定義するモードである。その詳細については後述するが、計算結果は透明度属性によって異なる。透明度属性とは、オブジェクトに付与される透明度の属性及び透明度合成時の属性のことであり、例えば、ブレンドモード、カラースペース、不透明度等を示す情報である。
【０００３】
特許文献１には、可変データ及び固定データに基づき合成画像を生成する画像処理技術が開示されている。画像処理装置は、単一の固定オブジェクト及び複数の可変オブジェクトが含まれる描画ジョブを入力する入力手段と、複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する指定手段を備える。固定オブジェクトの包含領域と重複する領域に対して、複数の透過属性について透過処理を実行し透過処理画像が生成される。描画ジョブに含まれる各ページについて、可変オブジェクトに指定された透過属性と同一の透過属性に対応する透過処理画像から、可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像が生成される。クリッピング画像と固定オブジェクトとを重ね合わせて描画データが生成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２３３３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、背面側のオブジェクトが可変オブジェクトである場合への対応が出来ないことや、前面側に配する可変オブジェクトの形に切り取るクリッピング処理に手間と時間がかかるといった課題がある。
透明度合成に対応していないデバイスの場合、透明度合成の記述を含むＶＤＰの印刷ジョブを印刷すると、透明度合成の記述があっても、透明度合成の計算はなされず、前面側のオブジェクトが不透明の状態のままで出力される可能性がある。また、透明度合成は計算量が多いので、ＲＩＰ時に計算すると処理の負荷が大きくなる。なお、ＲＩＰは、”Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ”のことである。これは、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述された文字、線画、図形等のベクトル情報、或いは色、パターン、写真等の画像走査線情報を、印刷や表示が可能なビットマップデータに展開するプロセッサである。
本発明は、透明度合成に対応していないデバイスにおいても、透明度合成を適用した出力を実現するとともに、透明度合成の計算を予め行うことにより処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る装置は、複数のオブジェクトを含む文書を処理して印刷データを出力する情報処理装置であって、前記複数のオブジェクトの描画領域の情報と属性情報を取得してオブジェクト同士の重なり部分を検出して重なりリストを作成するリスト作成手段と、前記リスト作成手段により作成された前記重なりリストを用いて透明度合成の計算を行い、前記重なり部分を構成する複数のオブジェクトに対して透明度合成処理を行う透明度合成処理手段と、前記透明度合成処理手段によって透明度合成処理を適用した印刷データを出力する出力手段を備える。
【発明の効果】
【０００７】
本発明によれば、透明度合成に対応していないデバイスにおいても、透明度合成を適用した出力を実現することができ、また、透明度合成の計算を予め行うことにより処理負荷を軽減できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るＶＤＰシステムの構成例を示すブロック図である。
【図２】クライアントＰＣやサーバ等に用いるコンピュータの構成例を示すブロック図である。
【図３】ＶＤＰシステムが動作する構成例を示すブロック図である。
【図４】図３のＶＤＰアプリケーションのモジュール構成例を説明する図である。
【図５】透明度合成の説明図（Ａ）、及びソフトマスクの説明図（Ｂ）である。
【図６】重なりリストの説明図である。
【図７】全体の処理を説明するフローチャートである。
【図８】重なりリスト作成の流れを説明するフローチャートである。
【図９】複数のオブジェクトを透明度合成する場合の保存方法を説明する図である。
【図１０】オブジェクトＳ（ｎ＋１）とオブジェクト「ｎ＋２」を透明度合成する場合の保存方法を説明する図である。
【図１１】透明度合成処理の流れを説明するフローチャートである。
【図１２】ＰＰＭＬデータにおけるソフトマスクの記述方法を説明する図である。
【図１３】ソフトマスク適用の記述をＰＰＭＬデータに追加した例を説明する図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を添付図面に基づいて詳細に説明する。
本発明の実施形態に係る印刷システムの基本構成を説明する前に、用語の定義について説明する。
ＶＤＰを実現するシステム（以下、ＶＤＰシステムという）における印刷データをＶＤＰデータと呼び、その生成元となる文書をＶＤＰ文書と呼ぶ。ＶＤＰデータは固定部分と可変部分を含む。可変部分のデータはＲＤＢ（Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ）やＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）ファイル等のデータベース（以下、ＤＢと記す）から供給される。ＤＢデータは、例えば顧客の姓名や性別等の文字列情報、年齢等の数値情報等の各種情報である。以下では、ＶＤＰデータの可変部分を可変領域といい、該領域に配置されたオブジェクトを可変オブジェクトという。またＶＤＰデータの固定部分を固定領域といい、該領域に配置されたオブジェクトを固定オブジェクトという。
【００１０】
ＶＤＰ文書の編集機能をもつＶＤＰアプリケーションによりＶＤＰ文書を作成する場合、可変領域と固定領域の位置やレイアウトを指定するために、ＶＤＰアプリケーションのユーザインタフェース（以下、ＵＩと記す）を用いる。ＶＤＰアプリケーションは、ＤＢデータに基づいて各可変領域に印刷するオブジェクトを決定するための条件等を指定するＵＩを有する。オブジェクトとは、テキストやイメージ等、印刷文書を構成する要素であり、例えば、幅や高さといった大きさに関する情報や、オブジェクトの色に関する情報等をもつ。以下では、テキストや、イメージ（グラフィック情報を含む）等、オブジェクトの属性の種類をオブジェクト種別という。ＶＤＰアプリケーションは指定された事項に基づいてＶＤＰデータを生成する機能を有し、ＶＤＰデータの多くは、ＶＤＰ用の構造化ＰＤＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を使って記述される。構造化ＰＤＬでは、ＰＤＬのドキュメント構造がマークアップ言語を用いて表現される。例えばＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）をベースとしたマークアップ言語が使用される。ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）は、ＶＤＰ印刷を効率的に行うためのＶＤＰ言語フォーマットの一つである。ＰＰＭＬはＸＭＬ形式をベースとした階層構造をもち、ＶＤＰアプリケーションから印刷ジョブとして出力される。以下、ＰＰＭＬで記述されるＶＤＰの印刷ジョブをＰＰＭＬデータと呼ぶ。
【００１１】
一般的に、ＶＤＰアプリケーションでは、可変領域と固定領域の位置やレイアウトが、ユーザ操作によるフレームの配置により指定される。またフレームを配置する際、オブジェクト種別も一緒に指定される。このとき、顧客毎にカスタマイズされる可変領域のオブジェクトのサイズは全て同じサイズとは限らない。そのため、実際に可変領域にオブジェクトを配置して描画した際に、可変領域のオブジェクトの一部または全部が近傍のオブジェクトと重なる場合がある。また、背景のようにフレームと最初から重なるように配置されているオブジェクトの場合にも、可変領域にオブジェクトを配置して描画した際、可変オブジェクトとの間で重なり部分が生じる。以下、先に描画されるオブジェクトを「背面オブジェクト」と呼び、後に描画されるオブジェクトを「前面オブジェクト」と呼ぶ。なお、背面オブジェクト及び前面オブジェクトという用語は複数のオブジェクトについての相対的な前後関係を表現することに注意を要する。例えば、第１オブジェクトを背面オブジェクトとし、第２オブジェクトを前面オブジェクトとする。この場合、第１オブジェクトに対して第２オブジェクトが相対的に前面側に配置されるのであって、第１オブジェクトが第２オブジェクト以外の他のオブジェクトに対して常に背面側に配置される訳ではない。
【００１２】
次に、図５（Ａ）を参照して透明度合成処理について説明する。図５（Ａ）では説明を簡単にするため、前面オブジェクト５０１及び背面オブジェクト５０２に透明度属性が設定されている場合を例示する。
重なり部分５０３は背面オブジェクト５０２と前面オブジェクト５０１とが重なり合った部分である。いずれもＣＭＹＫ色空間でそれぞれの色が定義されている。例えば、背面オブジェクト５０２は、Ｋ単色３０％の濃度を持つオブジェクトであり、前面オブジェクト５０１は、各々Ｃ＝１０％、Ｍ＝５０％、Ｙ＝２０％、Ｋ＝１０％の濃度をもつオブジェクトであるとする。重なり部分５０３にて、ある画素に係る処理結果の色をＣｒと記すとき、透明度合成は以下の計算式で処理される。
［数１］
Ｃｒ  ＝  （１−αｓ／αｒ）×Ｃｂ  ＋  αｓ／αｒ×｛（１−αｂ）×Ｃｓ  ＋  αｂ×Ｂ（Ｃｂ，Ｃｓ）｝                            （１）式
上式（１）にて、各変数は、
Ｃｂ：背面オブジェクトの色
Ｃｓ：前面オブジェクトの色
αｒ：結果画像における不透明度
αｂ：背面オブジェクトの不透明度
αｓ：前面オブジェクトの不透明度
Ｂ（Ｃｂ，Ｃｓ）：ブレンド関数
である。このうち、ブレンド関数は、半透明の部分の視覚的効果を定義するための関数である。“Ｎｏｒｍａｌ”、“Ｍｕｌｔｉｐｌｙ”、“Ｌｉｇｈｔｅｎ”、“Ｄａｒｋｅｎ”、“Ｄｉｆｆｅｒｅｎｃｅ”、“Ｅｘｃｌｕｓｉｏｎ”等のモードが定義されている。Ｎｏｒｍａｌの場合にはＢ（Ｃｂ，Ｃｓ）＝Ｃｓと定義される。その他の場合はＣｂとＣｓと間で定義される算術計算が実行される。ブレンド関数のモードが“Ｎｏｒｍａｌ”の場合、さらに、αｒ＝１（１００％）とすると、上式（１）は以下のようになる。
［数２］
Ｃｒ  ＝  （１−αｓ）×Ｃｂ  ＋  αｓ×Ｃｓ          （２）式
例えば、前面オブジェクト５０１の不透明度を６０％（αｓ＝０．６）として（２）式に適用し、ＣＭＹＫの各々のチャンネルに適用すると、重なり部分５０３は、
Ｃ＝０．４×０％    ＋  ０．６×１０％  ＝  ６％
Ｍ＝０．４×０％    ＋  ０．６×５０％  ＝  ３０％
Ｙ＝０．４×０％    ＋  ０．６×２０％  ＝  １２％
Ｋ＝０．４×３０％  ＋  ０．６×１０％  ＝  １８％
と計算される。なお、前面オブジェクト５０１のうち、背面オブジェクト５０２と重なっていない部分においても、背面の白色に対して透過処理が施される。よって、それぞれの色は
Ｃ＝０．６×１０％  ＝  ６％
Ｍ＝０．６×５０％  ＝  ３０％
Ｙ＝０．６×２０％  ＝  １２％
Ｋ＝０．６×１０％  ＝  ６％
と計算され、各々のチャンネルに対して元の濃度の６０％の濃度となる。このように、透明度合成においては、背面の色及び重ね合わせる前面オブジェクトの色の両方に対して、浮動小数点演算を行う必要がある。このため、ページ記述言語で記述される他の処理に比べて時間がかかる。図５（Ａ）では説明を簡単にするため、前面及び背面オブジェクトがともに一定の濃度値をもつ場合について透明度合成を説明した。しかし、背面オブジェクトまたは前面オブジェクトに写真を配置した場合等では、画素値が画素毎に異なるため、さらに膨大な計算量が必要となる。
【００１３】
前述のＰＰＭＬにおいても、ＳＯＵＲＣＥ要素によりソフトマスクを定義することで透明度合成の記述が可能であるが、この機能に対応していないデバイスもある。透明度合成に対応していないデバイスで、透明度合成の記述を含むＰＰＭＬデータを印刷すると、透明度合成の記述があっても、透明度合成の計算はなされず、前面オブジェクトが不透明の状態で出力される可能性がある。また、前述したように、透明度合成を行う式は浮動小数点を含むため、計算量が多い。よって、ＲＩＰ時の計算には膨大な時間がかかるため、本実施形態では透明度合成の計算が予め実行される。
【００１４】
次に、本発明の実施形態に係るＶＤＰシステムの構成を説明する。
図１は、本実施形態に係る情報処理装置を備えるＶＤＰシステムの構成例を示す。
クライアントマシンとしての、パーソナル・コンピュータ等の情報処理装置（以下、クライアントＰＣという）１０１は、プリントサーバ１０２、プリンタ１０３に対して、ネットワーク（以下、ＮＷと略記する）を介して接続され、互いに通信可能である。またクライアントＰＣ１０１は、プリントサーバ１０２に対してＶＤＰデータを送信可能である。プリントサーバ１０２は、ＮＷ１０４を経由してプリンタ１０３に印刷指示を送信可能である。プリンタ１０３は、ＮＷ１０４を経由して印刷指示を受け付ける。ＤＢサーバ１０５は、ＶＤＰアプリケーションで使用するＤＢデータ等を格納する記憶装置を備える。
【００１５】
次に、ＰＰＭＬデータと透明度属性について説明する。
ＰＰＭＬで透明度合成の実施が必要になるのは、ＰＰＭＬデータ内に記載のオブジェクトが前述したα値を持っている場合、または、ＰＰＭＬデータでＳＯＦＴＭＡＳＫ要素を用いてソフトマスクを定義している場合のいずれかである。以下、ソフトマスクについて説明する。
ソフトマスクは、他のオブジェクトの一部を半透明にするオブジェクトとして定義され、ビットマップを用いて作成される。ビットマップの画素値に応じて透明度が設定されるため、オブジェクトに適用されたソフトマスクの画素値を持つ部分が半透明になり、背面オブジェクトが透けて見えるようになる。
【００１６】
図５（Ｂ）はソフトマスクの一例を説明する図である。オブジェクト５０１、５０２は共に透明度を持たない不透明なオブジェクトであり、両者には重なり部分５０３がある。つまり、前面オブジェクト５０１と背面オブジェクト５０２が重なり合って生じる部分が、重なり部分５０３である。前面オブジェクト５０１は背面オブジェクト５０２よりも後に描画されるため、重なり部分５０３の画像が隠れて全く見えない状態である。ソフトマスク５０４は、重なり部分５０３が前面オブジェクト５０１の一部を透過して見えるようにするために、前面オブジェクト５０１を部分的に半透明にする役割をもつ。ソフトマスク５０４は、前面オブジェクト５０１と同じサイズを持ち、前面オブジェクト５０１にて重なり部分５０３に対応する範囲５０４ａにのみ画素値を有するグレースケールのビットマップデータである。ソフトマスク５０４の使用により、前面オブジェクト５０１の重なり部分５０３だけが透明度を与えられるので、背面オブジェクト５０２の一部が透過して見えるようになる。
【００１７】
次に、ソフトマスクの記述方法を説明する。
ＰＰＭＬデータでコンテンツがα値を有する場合以外で、ソフトマスクを定義するには２つの方法がある。第１の方法は、ＳＯＦＴＭＡＳＫ要素を用いて、他のコンテンツを部分的に透明にする方法であり、ソフトマスクに変換されるコンテンツを定義する方法である。第２の方法は、ＳＯＦＴＭＡＳＫ要素の属性Ｏｐａｃｉｔｙで不透明度を設定し、一定のソフトマスクを定義する方法である。図１２を参照して具体例を説明する。
図１２は、ソフトマスク適用の記述部分をＰＰＭＬデータに追加した例を示す。これは、ＰＰＭＬのＶｅｒｓｉｏｎ３．０での記述であり、ＳＯＦＴＭＡＳＫ要素によりソフトマスクの定義が可能である。図１２（Ａ）はソフトマスクをオブジェクトとして定義する場合の記述例を示し、図１２（Ｂ）はＯｐａｃｉｔｙ値を用いてソフトマスクを定義する場合の記述例を示す。
ＰＰＭＬデータは階層構造を持っており、ＰＰＭＬ要素を最上位の階層とし、ＰＡＧＥ要素は論理ページを定義する。ＭＡＲＫ要素はページ内におけるオブジェクトの配置を指定し、ＯＢＪＥＣＴ要素はページに描画されるオブジェクトを定義する。ＭＡＲＫ要素、ＯＢＪＥＣＴ要素は、子要素としてＳＯＦＴＡＭＳＫ要素を持つことができる。ＳＯＦＴＭＡＳＫ要素は、他のオブジェクトを部分的に透明にするオブジェクトとして、ソフトマスクを定義する。ＳＯＦＴＭＡＳＫ要素は子要素にＳＯＵＲＣＥ要素を持ち、ＳＯＵＲＣＥ要素はソフトマスクに変換されるオブジェクトを定義する。
【００１８】
図１２（Ａ）は、他のオブジェクトを部分的に透明にする、ソフトマスクのオブジェクトを定義した場合の記述例を示す。この例では、記述部１３０１に示すように、ソフトマスクのビットマップ“ｓｏｆｔｍａｓｋ．ｐｓ”を、ＳＯＦＴＭＡＳＫ要素にてソフトマスクとして定義している。ＰＰＭＬデータは、背面オブジェクト“ｂａｃｋｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐ”と、前面オブジェクト“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”の配置を定義しており、両オブジェクトは重なり部分を持つ。これら２つのオブジェクト種別はいずれもイメージであり、前面オブジェクト“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”がソフトマスク適用対象のオブジェクトである。ソフトマスク定義の記述部１３０１は、前面オブジェクト“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”の前に追加される。これにより、前面オブジェクト“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”の重なり部分に対してソフトマスクが適用される。
図１２（Ｂ）は、ソフトマスクの不透明度を設定した場合の記述例を示す。ＳＯＵＲＣＥは子要素を持たず、記述部１３０２に示すように、不透明度Ｏｐａｃｉｔｙ＝０．５が設定される。つまり、この直下に記述された前面オブジェクト“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”を半透明にする処理が適用される。
【００１９】
次に、図２を参照して、本実施形態に関連するコンピュータの主要な構成要素を説明する。
図２は、クライアントＰＣ１０１やサーバ等に用いるコンピュータの構成例を示すブロック図である。ＣＰＵ（中央演算処理装置）２０１は、ＲＡＭ（ランダム・アクセス・メモリ）２０４に格納されている制御プログラムに従って装置全体を制御する。ＲＯＭ（リード・オンリー・メモリ）２０７は、ＣＰＵ２０１が実行するコンピュータプログラムを記憶する。ＲＡＭ２０４は不揮発性メモリであり、ＲＯＭ２０７やＨＤＤ２０５からロードされた各種プログラムや、データファイルを記憶する。ＲＡＭ２０４に格納されているプログラムをＣＰＵ２０１が実行することによって、ＲＡＭ２０４に記憶するデータ内容の読み書きや、入力コントローラ２０２からの入力操作の受け取りや、ビデオコントローラ２０３による画像表示が行われる。ＣＰＵ２０１は、各種処理に必要なプログラムや必要なデータ等をＲＡＭ２０４にロードして、プログラムを実行することで各種処理を実現する。
【００２０】
入力コントローラ２０２は、マウス等のポインティングデバイスやキーボードからの操作入力信号を処理する操作処理部である。ビデオコントローラ２０３は、ＣＲＴディスプレイ（以下、ＣＲＴと表記する）や液晶ディスプレイ等の表示装置を制御する。ＣＰＵ２０１は、例えば、ＲＡＭ２０４の表示情報用領域でラスタライズ処理を実行することにより、ＣＲＴでの表示を可能とする。また、ＣＰＵ２０１はＣＲＴの表示画面上のマウスカーソル等を用いたユーザの操作指示を可能とする。
ＨＤＤ（ハード・ディスク・ドライブ）２０５は大容量記憶装置であり、ＣＰＵ２０１により実行される各種ソフトウェアを格納している。また、ＨＤＤ２０５は処理されるデータの一時的な記憶領域としても利用される。ＨＤＤ２０５が記憶している各種ソフトウェアは、必要に応じてＲＡＭ２０４に読み出され、同じくＲＡＭ２０４に読み出されているＯＳ（オペレーティングシステム）の機能を使用してＣＰＵ２０１の制御下で実行される。通信ＩＦ（インターフェース）部２０６は、ＮＷを介して外部機器との接続及び通信を行うために、コンピュータの通信制御処理を実行する。例えば、通信ＩＦ部２０６はＴＣＰ／ＩＰを用いたインターネット通信や、プリンタとの間でデータの送受信等を行う。なお、ＴＣＰは”Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ”の略号であり、ＩＰは”Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ”の略号である。
以上の各部はバスに接続されることで互いにデータを送受する。
【００２１】
次に、図３を参照してＶＤＰシステムの動作を説明する。
図３は、ＶＤＰシステムの動作に関連する構成例を示すブロック図である。クライアントマシン（以下、単にクライアントという）３０１は、図１のクライアントＰＣ１０１に相当し、本実施形態のＶＤＰアプリケーション３１１が動作する。ＤＢサーバ３０２はＤＢ３１２を管理する。ＤＢ３１２は、ＶＤＰ文書の可変領域にデータを供給するためのＤＢデータ３１５を有する。プリンタ３０３は画像形成装置であり、ＲＩＰプログラム（以下、ＲＩＰと表記する）３１３が動作し、プリンタエンジン３１６にて印刷処理を実行する。プリントサーバ３０４は、クライアント３０１からＰＰＭＬデータ３１４を受け取り、ＮＷ３２２経由でプリンタ３０３に送信する。
クライアント３０１のＶＤＰアプリケーション３１１は、可変領域のデータとして指定されたデータに対する取得要求を、ＮＷ３２１を介してＤＢサーバ３０２のＤＢ３１２に送信し、ＮＷ３２１を介してＤＢデータ３１５を取得する。そして、ＶＤＰアプリケーション３１１は、ＤＢ３１２から取得したＤＢデータ３１５を使用してＰＰＭＬデータ３１４を作成する。ＶＤＰアプリケーション３１１は作成したＰＰＭＬデータ３１４を、ＮＷ３２２を介してプリントサーバ３０４に送信する。プリントサーバ３０４は、ＰＰＭＬデータ３１４を受信すると、ＰＰＭＬデータ３１４を印刷指示と共にプリンタ３０３に送信する。プリンタ３０３では、ＲＩＰ３１３がＰＰＭＬデータ３１４に対するＲＩＰ処理を行い、ＲＩＰ処理の結果をプリンタエンジン３１６に送信することで、印刷処理が実行される。
【００２２】
次に、図４を参照して本実施形態に係るＶＤＰアプリケーションのモジュール構成例を説明する。本実施形態では、情報処理モジュールがＶＤＰアプリケーションのモジュールの一部として実装されているものとして説明する。
図４に示すＶＤＰアプリケーション４０は、複数のモジュール（４０１−４０６参照）で構成されており、クライアント３０１上で動作し、各モジュールは図２のＣＰＵ２０１により実行されて各種の処理が行われる。ＵＩ部４０１は、ユーザに対してテンプレート編集画面を表示し、ユーザ操作を受け付けるモジュールである。テンプレート編集部４０２は、ＶＤＰ文書のテンプレートを編集するモジュールである。テンプレート編集部４０２は、ＵＩ部４０１が受け付けたユーザの編集指示に従って、紙面の編集、可変領域及び固定領域の指定をテンプレートに反映させる。また、テンプレート編集部４０２は、ＤＢ３１２から取得したＤＢデータ３１５をテンプレートの可変領域に適用させる。なお、テンプレート編集部４０２の機能は、一般的なＶＤＰアプリケーション３１１が備えている機能であるため、その詳細な処理の説明を省略する。
【００２３】
重なり条件取得部４０３は、重なり部分を構成するオブジェクトの描画領域に関する情報と、重なり部分を構成するオブジェクトの属性情報とを取得し、重なりリストを作成するモジュールである。重なり部分の描画領域に関する情報とは、重なり部分の形状、サイズや位置等、印刷データの描画に関わる情報をいう。また、重なり部分を構成するオブジェクト属性情報とは、オブジェクトが持つ固定オブジェクトや可変オブジェクトの種別と、透明度属性情報である。以下、重なり部分を構成するオブジェクトの描画領域に関する情報及び属性情報を「重なり条件」と呼ぶ。オブジェクト同士の前後関係や重なり合い状態を記述した重なりリストについては後で詳述する。
透明度合成処理部４０４は、作成された重なりリストに従って、透明度合成済のＲＩＰ画像を作成してメモリに保存し、ＶＤＰ文書を編集するモジュールである。透明度合成処理部４０４については、後で詳述する。ＤＢ接続部４０５は、ＤＢ３１２との接続処理を実行してＤＢデータ３１５を取得するモジュールである。ＶＤＰデータ出力部４０６は、ＤＢ接続部４０５によりＤＢ３１２から取得したＤＢデータ３１５を、可変領域に適用したＶＤＰデータを出力するモジュールである。本実施形態では、ＶＤＰデータがＰＰＭＬデータである場合を説明する。
【００２４】
次に図７を参照して、全体の処理について説明する。図７は、情報処理装置によるＶＤＰ文書の作成後から、ＶＤＰデータの出力までの流れを説明するフローチャートである。
まず、Ｓ７０１でＶＤＰアプリケーション４０のＵＩ部４０１は、ユーザから受け付けたＶＤＰ文書の取得指示をテンプレート編集部４０２に通知する。テンプレート編集部４０２は、ＶＤＰ文書としてＰＰＭＬデータを取得する。次のＳ７０２で重なり条件取得部４０３は、取得したＰＰＭＬデータから重なり条件を取得し、重なりリストを作成する。重なり条件取得部４０３は、複数のオブジェクトの前後関係及び重なり合い状態を判別し、オブジェクト同士の重なり部分を検出して重なりリストを作成する機能をもつ。重なりリストの作成処理については、図８を参照して後述する。Ｓ７０３で透明度合成処理部４０４は、Ｓ７０２で作成した重なりリストを用いて、透明度合成処理を行う。透明度合成処理については、図１１を参照して後述する。そしてＳ７０４でＶＤＰデータ出力部４０６は、透明度合成処理の結果として得られたＶＤＰ文書を印刷処理するために出力する。
【００２５】
次に、図６を参照して、重なりリストについて説明する。
重なりリストは、重なり部分を持つオブジェクトの描画順に重なり条件を登録し、重なりの前後関係が分かるようにリスト化したデータである。図６は、重なりリストを表形式で例示しており、第１行６０１や第２行６０２等には、重なりリストの１行分のデータをそれぞれ示す。重なりリストにおいて、左側にある方がより背面側のオブジェクトであり、右側にある方がより前面側のオブジェクトであることを意味する。Ｉｍａｇｅ０は最も背面側に位置する、背景オブジェクトとする。最も背面側に位置するオブジェクトに対して部分的に重なり合ってオブジェクトが全て描画順に従って右側に列挙されるものとする。例えば、第１行６０１では、Ｉｍａｇｅ０が最も背面側のオブジェクトを示し、Ｉｍａｇｅ３はＩｍａｇｅ０に一部が重なるオブジェクトを示し、Ｉｍａｇｅ５は、Ｉｍａｇｅ３の後にＩｍａｇｅ０と一部が重なって描画されるオブジェクトを示している。Ｉｍａｇｅ１０は、Ｉｍａｇｅ３とＩｍａｇｅ５の後にＩｍａｇｅ０と一部が重なって描画されるオブジェクトを示す。
【００２６】
第２行６０２は、Ｉｍａｇｅ０，５，７を含む。Ｉｍａｇｅ７は、Ｉｍａｇｅ３には重ならず、Ｉｍａｇｅ５のみに一部が重なって描画されるため、第１行６０１ではなく、第２行６０２に登録される。透明度属性の有無に関わらず、重なり部分があるオブジェクトは全て重なりリストに登録される。また、各オブジェクトに重なるオブジェクトはページの区切りとは関係なく、ＰＰＭＬスクリプトで記述された順に登録される。オブジェクト名称の右横に示す括弧内の「固定」は固定オブジェクトを表し、「可変」は可変オブジェクトを表す。さらにその右側に示す括弧内の「Ｙ」は透明度属性情報を持つことを表し、「Ｎ」は透明度属性を持たないことを表す。オブジェクトが透明度属性情報を持つ場合には、当該情報についても重なりリストに登録される。括弧内のＭやＮはブレンドモードを表している。ブレンドモードが“Ｎｏｒｍａｌ”の場合にはその頭文字“Ｎ”を記し、“Ｍｕｌｔｉｐｌｙ”の場合にはその頭文字“Ｍ”を記している。その他の透明度属性についてもリストに記すものとするが、図６では省略する。また、オブジェクトの描画領域情報である、位置情報及びサイズ情報についても重なりリストに登録される。図６にてブレンドモードの後に記載した数値０．５は、不透明度Ｏｐａｃｉｔｙの値を示す。Ｏｐａｃｉｔｙが一定値で定義されている場合には重なりリストに記載され、また、Ｏｐａｃｉｔｙが一定値でなくオブジェクトで定義されている場合には「ｓｏｆｔｍａｓｋ」と記載される。
以上のように、重なりリストにより、互いに重なり合う複数のオブジェクトの前後関係や、位置関係やサイズ、透明度属性等を詳細に記述することができる。
【００２７】
次に、図８を参照して重なりリストの作成処理（図７：Ｓ７０２）を説明する。図８は、重なりリスト作成の流れを説明するフローチャートである。
まず、Ｓ９０１で重なり条件取得部４０３は、図７のＳ７０１で取得したＰＰＭＬデータを解析して、重なり部分を検出する。次のＳ９０２で重なり条件取得部４０３は、重なり条件を取得してＳ９０３に処理を進める。Ｓ９０３で重なり条件取得部４０３は、重なりリスト内のデータを検査し、重なり部分を構成するオブジェクトが登録済であるか否かについて判定する。重なり部分を構成するオブジェクトが登録済である場合、Ｓ９０４に処理を進め、当該オブジェクトが登録済でない場合にはＳ９０５に処理を進める。
Ｓ９０３にて登録済であると判定されたオブジェクトについては、Ｓ９０４において重なり条件が判定される。つまり、Ｓ９０２で取得済みの重なり条件と、重なりリストに登録済の情報とが一致するか否かについて判定される。重なり条件が重なりリストに登録済の情報と一致すると判定された場合、処理を終了する。また、重なり条件が重なりリストに登録済の情報と一致しないと判定された場合、Ｓ９０５に処理を進める。Ｓ９０３からＳ９０５に移行する場合、つまり、オブジェクトが未だ登録されていない場合には、Ｓ９０５で当該オブジェクトを重なりリストに登録する処理が実行される。また、Ｓ９０４からＳ９０５に移行する場合、つまり、重なり条件が登録済の情報と一致しないと判定されたオブジェクトについては、新たに重なりリストに登録する処理が実行される。Ｓ９０４で重なり条件が登録済の情報と一致する判定されたオブジェクトは、重なりリストには登録しない。こうして作成された重なりリストはＨＤＤ２０５に保存される。
【００２８】
次に、図８のＳ９０２に示す重なり条件取得について説明する。重なり条件取得に関する一連の処理は重なり条件取得部４０３が行う。重なり条件は、重なり部分を構成するオブジェクトの描画領域情報と、重なり部分を構成するオブジェクトの属性情報から成る。重なり部分の描画領域情報については、オブジェクト同士の重なり部分を検出し、各オブジェクトのサイズと描画位置から、重なり部分のサイズと描画位置を算出することにより取得できる。
【００２９】
次に、重なり部分の属性情報の取得について説明する。固定オブジェクトの場合には、ＤＢデータ３１５の情報に応じて変化することはないため、テンプレートに配置されたオブジェクトから、オブジェクト属性情報を取得できる。また可変オブジェクトの場合には、一般的にフレームが配置されるときにオブジェクト種別が決定するため、配置されたフレームからオブジェクト属性情報を取得できる。フレームが配置されるときにオブジェクト属性情報が決定されない場合には、ＤＢデータ３１５の情報に基づいて配置されるオブジェクトの情報からオブジェクトの属性情報を取得できる。
【００３０】
次に、図９及び図１０を参照して、重なり部分を持つオブジェクトの保存方法の選択処理について説明する。
固定オブジェクトの再利用性を維持するためには、固定オブジェクトは透明度合成後も、可能な限り再利用可能のままデータを保持することが望ましい。例えば背面オブジェクトが固定オブジェクトの場合には、透明度合成後も再利用可能な可能性が高い。しかし、前面オブジェクトは、透明度合成後に重なり部分の描画結果を内部に含む形で保存する方法の場合、重なり条件がすべて一致しなければ、再利用できない。そのため、前面オブジェクトが固定オブジェクトである場合、前面オブジェクトの再利用性を維持するためには保存方法を切り替える必要がある。
図９（Ａ）は、オブジェクト同士の透明度合成例を説明する図である。以下では説明を簡単化するために、オブジェクト名称を数値に対応させて、図中の変数ｎやｎ＋１により、各オブジェクトの名称を表すものとする。前面オブジェクト「ｎ＋１」は、重なりリストにおいてオブジェクト「ｎ」と同じ行にあり、「ｎ」よりも右側（つまり前面側）にあるオブジェクトとする。オブジェクト「ｎ」と「ｎ＋１」を、透明度属性に従って透明度合成した結果を示すオブジェクトについては、（）で囲むことにより、（ｎ）、（ｎ＋１）で表記する。オブジェクト群１００１に示すＳ（ｎ）は、最初のオブジェクト「０」からオブジェクト「ｎ」までを透明度合成した合成結果を表す。つまり、透明度合成の演算処理を簡易的に「＊」で表記するとき、Ｓ（ｎ）＝０＊１＊・・・＊ｎである。
透明度合成後のオブジェクト１００２は、Ｓ（ｎ）を背面オブジェクトとし、オブジェクト「ｎ＋１」をＳ（ｎ）に一部が重なる前面オブジェクトとした場合の合成結果を表す。つまり、Ｓ（ｎ＋１）＝Ｓ（ｎ）＊（ｎ＋１）と表わすことができる。
【００３１】
図９（Ｂ）は、透明度合成処理時におけるオブジェクトの保存方法について説明する図である。「固定」は固定オブジェクトを表し、「可変」は可変オブジェクトを表す。つまり、縦方向には、Ｓ（ｎ）が固定オブジェクトであるか、または可変オブジェクトであるかの２通りに場合分けをする。また、横方向には、Ｓ（ｎ）に重なるオブジェクト「ｎ＋１」（透明度合成前）が固定オブジェクトであるか、または可変オブジェクトであるの２通りの場合分けをする。
透明度合成後の前面オブジェクト（ｎ＋１）の保存方法としては、（ｎ＋１）に透明度合成結果の重なり部分を含ませる方法（１００４参照）と、透明度合成結果の重なり部分を（ｎ＋１）とは別に保存する方法（１００３参照）がある。図９（Ｂ）では、オブジェクト「ｎ＋１」が可変オブジェクトである場合、枠１００４内に透明度合成処理時の保存形態を視覚的に示す。また、オブジェクト「ｎ＋１」が固定オブジェクトである場合、枠１００３内に透明度合成処理時の保存形態を視覚的に示す。透明度合成結果の重なり部分を（ｘ）と表記する。以下では、枠１００４に示すように、（ｘ）を前面オブジェクト（ｎ＋１）に含ませる第１の方法を、「保存方法Ａ」と呼ぶ。保存方法Ａは、ｎ＋１が可変オブジェクトである場合に選択され、Ｓ（ｎ）が固定オブジェクトの場合、Ｓ（ｎ）と（ｎ＋１）がそれぞれ保存される。前面オブジェクト（ｎ＋１）は重なり部分（ｘ）を含む。また、Ｓ（ｎ）が可変オブジェクトの場合には、Ｓ（ｎ）と、（ｘ）を含む（ｎ＋１）がそれぞれ保存されるか、または、オブジェクトＳ（ｎ＋１）として保存される。
【００３２】
一方、枠１００３に示すように、（ｘ）を前面オブジェクト（ｎ＋１）に含めずに、別々のオブジェクトとして保存する第２の方法を、「保存方法Ｂ」と呼ぶ。保存方法Ｂは、ｎ＋１が固定オブジェクトである場合に選択され、Ｓ（ｎ）が固定オブジェクトであるか可変オブジェクトであるかに関わらず、Ｓ（ｎ）と（ｎ＋１）と（ｘ）がそれぞれ保存される。
保存方法Ａでは、オブジェクトを保存したときの重なり条件と、同オブジェクトを再呼び出しした時の重なり条件とが一致する場合にのみ再利用可能となるため、前面オブジェクト（ｎ＋１）の再利用性が低い。一方、重なり部分（ｘ）を別のオブジェクトとして保存する保存方法Ｂは、保存方法Ａより再利用性が高い。これは、前面オブジェクト（ｎ＋１）の再利用性については、透明度属性が同じであれば配置の違いは関係ないためである。また、オブジェクトを保存したときの重なり条件と、同オブジェクトを再呼び出しした時の重なり条件が一致すれば、重なり部分（ｘ）も再利用可能となる。保存方法Ｂは、背面オブジェクトが可変オブジェクトか固定オブジェクトか否かには関係せず、前面オブジェクト「ｎ＋１」が固定オブジェクトである場合に選択される。
【００３３】
図１０（Ａ）は、オブジェクトＳ（ｎ＋１）と、オブジェクト「ｎ＋２」を透明度合成する場合の説明図である。記号等の意味は図９で説明した通りであり、図１０（Ａ）に示す透明度合成前のオブジェクト群１１０１には、背面オブジェクトＳ（ｎ＋１）と前面オブジェクト「ｎ＋２」を示す。Ｓ（ｎ＋１）はオブジェクト０〜ｎ＋１を透明度合成した結果を示すオブジェクトである。また、透明度合成後のオブジェクト１１０２は、Ｓ（ｎ＋１）＊（ｎ＋２）、つまりＳ（ｎ＋２）を示す。
図１０（Ｂ）に示す枠１１０３内には、保存方法Ｂによる保存形態を例示し、ｎ＋２が固定オブジェクトの場合、透明度合成後にＳ（ｎ＋１）と（ｎ＋２）と（ｘ）の各オブジェクトが保存される。また、枠１１０４内には、保存方法Ａによる保存形態を例示し、ｎ＋２が可変オブジェクトであって、かつＳ（ｎ＋１）が固定オブジェクトの場合、透明度合成後にＳ（ｎ＋１）と、（ｘ）を含む（ｎ＋２）の各オブジェクトが保存される。ｎ＋２が可変オブジェクトであって、かつＳ（ｎ＋１）が可変オブジェクトの場合、透明度合成後にＳ（ｎ＋１）と、（ｘ）を含む（ｎ＋２）の各オブジェクトが保存されるか、またはオブジェクトＳ（ｎ＋２）が保存される。図９の場合と同様に、Ｓ（ｎ＋１）が固定オブジェクトであるか否かに関わらず、前面オブジェクト「ｎ＋２」が固定オブジェクトであれば保存方法Ｂが選択される。また前面オブジェクト「ｎ＋２」が可変オブジェクトであれば保存方法Ａが選択される。
【００３４】
なお、背面オブジェクト及び前面オブジェクトが共に可変オブジェクトである場合、再利用性を考慮する必要がない。よって、透明度合成後の画像全てを１つのオブジェクトＳ（ｎ＋２）としてまとめた画像をＲＩＰ処理して保存してもよい。あるいは前面オブジェクトを透明度合成したオブジェクトのみを保存してもよい。ただし、重なり部分の面積が小さく、１つのオブジェクトにまとめた画像領域が極端に大きくなるような場合には、各オブジェクトを個別に保存する方がよい。
【００３５】
次に、透明度合成処理（図７：Ｓ７０３）について説明する。図１１のフローチャート
を参照して、重なり部分を構成するオブジェクトの透明度合成処理の流れと、ＰＰＭＬデータへの適用を説明する。図１１では説明を簡単化するためにオブジェクトの名称を数値に対応させ、変数ｋとｋ＋１が、重なりリスト内に登録されたオブジェクト名称を表すものとする。つまり、前面オブジェクト「ｋ＋１」は、背面オブジェクト「ｋ」と同じ行にあって、重なりリスト内でオブジェクト「ｋ」の右側に記載されているものとする。
まず、Ｓ１２０１で透明度合成処理部４０４は、図７のＳ７０２で取得した重なりリストから、第１行目にあるオブジェクトの重なり条件を取得する。次のＳ１２０２で、ｋとＳ（０）の初期化が実行される。この初期化では、ｋが最初のオブジェクト０に設定され、オブジェクトｋ＝０についての重なり条件が取得される。また、Ｓ（０）はＳ（ｋ）をｋ＝０に設定したオブジェクトである。Ｓ１２０３で透明度合成処理部４０４は、Ｓ（０）のＲＩＰ処理後の画像データをＨＤＤ２０５に保存する。Ｓ１２０４で透明度合成処理部４０４は、重なりリストから次のオブジェクト「ｋ＋１」を取得する。Ｓ１２０５は、オブジェクト「ｋ＋１」が透明度属性を有しているか否かについての判定処理である。オブジェクト「ｋ＋１」が透明度属性を有していないと判定された場合、Ｓ１２１０に処理を進め、保存方法Ａでのデータ保存処理が実行される。また、オブジェクト「ｋ＋１」が透明度属性を有すると判定された場合、Ｓ１２０６に処理を進め、オブジェクト０〜ｋの透明度合成結果Ｓ（ｋ）が取得される。
【００３６】
Ｓ１２０７で透明度合成処理部４０４は、透明度合成結果Ｓ（ｋ）とオブジェクト「ｋ＋１」との透明度合成処理を行う。次のＳ１２０８は、オブジェクト「ｋ＋１」が固定オブジェクトであるか否かについての判定処理である。判定の結果、オブジェクト「ｋ＋１」が固定オブジェクトでないと判定された場合、Ｓ１２０９に進み、オブジェクト「ｋ＋１」を保存方法Ｂで保存する処理が実行される。またＳ１２０８での判定の結果、オブジェクト「ｋ＋１」が固定オブジェクトであると判定された場合、Ｓ１２１０に進み、オブジェクト「ｋ＋１」を保存方法Ａで保存する処理が実行される。Ｓ１２０９、Ｓ１２１０の次にＳ１２１１に処理を進め、透明度合成処理部４０４はＰＰＭＬデータへの適用を行う。ＰＰＭＬデータへの適用については後述する。
【００３７】
Ｓ１２１２は、オブジェクト「ｋ＋１」が重なりリストにおける、現在の行内の最後のオブジェクトであるか否かについての判定処理である。オブジェクト「ｋ＋１」が同一行内の最後のオブジェクトではないと判定された場合、Ｓ１２１３に処理を進める。Ｓ１２１３では次のオブジェクトの処理へ進むために、変数ｋがインクリメントされ、Ｓ１２０４に進む。オブジェクト「ｋ＋１」の場合、次はオブジェクト「ｋ＋２」である。一方、Ｓ１２１２での判定の結果、オブジェクト「ｋ＋１」が現在の行内での最後のオブジェクトであると判定された場合、Ｓ１２１４に処理を進める。Ｓ１２１４は、オブジェクト「ｋ＋１」が重なりリスト内で最後の行にあるか否かについての判定処理である。Ｓ１２１４での判定の結果、現時点で処理している行が最後の行でないと判定された場合、Ｓ１２１５に進み、重なりリストでの次の行が取得されて、Ｓ１２０２に処理を進める。また、Ｓ１２１４での判定の結果、現時点で処理している行が重なりリスト内の最後の行であると判定された場合、一連の処理を終了する。
【００３８】
次に、図１３を参照して、ＰＰＭＬデータへの適用（図１１：Ｓ１２１１）について説明する。
ＰＰＭＬデータの適用では、保存したＲＩＰ処理後の画像データとのリンクを記述し、透明度合成の記述部分を削除する処理が実行される。図１３（Ａ）は変換前のデータを例示し、図１３（Ｂ）は保存方法Ａで保存した場合のＰＰＭＬデータを例示する。図１３（Ｃ）は保存方法Ｂで保存した場合のＰＰＭＬデータを例示する。背面オブジェクトが“ｂａｃｋｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”であり、前面オブジェクトが“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”である。
透明度合成後の結果である画像データを保存方法Ａで保存する処理の場合、“ｂａｃｋｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”が“ｂａｃｋｇｒｏｕｎｄ＿ｏｂｊｅｃｔ＿ｎ．ｅｐｓ”という名称で保存されるものとする。“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”は“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ＿ｎ．ｅｐｓ”という名称で保存されるものとする。また、保存方法Ｂで保存する処理の場合、“ｂａｃｋｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”が“ｂａｃｋｇｒｏｕｎｄ＿ｏｂｊｅｃｔ＿ｎ．ｅｐｓ”という名称で保存されるものとする。“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”は“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ＿ｎ．ｅｐｓ”と“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ＿ｘ．ｅｐｓ”という名称で保存されるものとする。
【００３９】
図１３（Ｂ）に示す保存方法Ａでは、透明度合成済の画像データへのリンクに変更するために、背面オブジェクト“ｂａｃｋｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”が“ｂａｃｋｇｒｏｕｎｄ＿ｏｂｊｅｃｔ＿ｎ．ｅｐｓ”に変更される。前面オブジェクト“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ．ｅｐｓ”は“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ＿ｎ．ｅｐｓ”に変更される。また、ソフトマスクの記述部分は必要なくなるため、これを削除する処理が実行される。図１３（Ｃ）に示す保存方法Ｂでも、各オブジェクトのファイルが同様にして透明度合成済の画像データへのリンクに変更される。さらには、“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ＿ｎ．ｅｐｓ”を描画した上に“ｆｏｒｅｇｒｏｕｎｄ＿ｏｂｊｅｃｔ＿ｘ．ｅｐｓ”を描画する記述に変更する処理が実行される。ソフトマスクの記述部分は必要なくなるため削除される。
なお、本実施形態では、情報処理モジュールがＶＤＰアプリケーションのモジュールの一部として実装されている例を説明した。本発明はこれに限定されるものではなく、ＶＤＰアプリケーションとは独立したアプリケーションを使用する実施形態であってもよい。この場合、ＣＰＵは情報処理プログラムをメモリから読み出して以下の処理を実行する。複数のオブジェクトの描画領域の情報と属性情報を取得するステップが実行され、オブジェクト同士の重なり部分を検出して重なりリストを作成するリスト作成ステップが実行される。透明度合成処理ステップでは、作成された重なりリストを用いて透明度合成の計算が実行され、重なり部分を構成する複数のオブジェクトに対して透明度合成が適用される。出力ステップでは透明度合成結果であるＲＩＰ処理済みの画像データまたは該データへのリンク情報を含む印刷データが画像形成装置に対して出力される。
【００４０】
以上のように、本実施形態では、透明度合成後のＲＩＰ済の画像データが指定された場所に貼り付けられ、透明度合成に対応していないデバイスでも透明度合成の出力が可能となる。また、透明度合成の計算処理を予め行うことにより、ＲＩＰによるビットマップ展開時の処理負荷を減らすことができる。
【符号の説明】
【００４１】
１０１  クライアントＰＣ
１０２  プリントサーバ
１０３  プリンタ
３１１  ＶＤＰアプリケーション
【図１】
2014023006.tif 000003
【図２】
2014023006.tif 000004
【図３】
2014023006.tif 000005
【図４】
2014023006.tif 000006
【図６】
2014023006.tif 000007
【図７】
2014023006.tif 000008
【図８】
2014023006.tif 000009
【図１１】
2014023006.tif 000010
【図１２】
2014023006.tif 000011
【図１３】
2014023006.tif 000012
【図５】
2014023006.tif 000013
【図９】
2014023006.tif 000014
【図１０】
2014023006.tif 000015