(57)【特許請求の範囲】
【請求項１】
各ページ共通の単一の固定オブジェクトおよび該固定オブジェクトの前面に配置される各ページ個別の複数の可変オブジェクトが含まれる描画ジョブを入力する入力手段と、
前記複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する指定手段と、
前記固定オブジェクトの前記包含領域と重複する領域に対して、複数の透過属性について透過処理を実行し該複数の透過属性それぞれに対する透過処理画像を生成する透過処理手段と、
前記描画ジョブに含まれる各ページについて、
前記可変オブジェクトに指定された透過属性と同一の透過属性に対応する前記透過処理画像から、該可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像を生成するクリッピング画像生成手段と、
前記クリッピング画像と前記固定オブジェクトとを重ね合わせて描画データを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記複数の可変オブジェクトの各々の描画領域のすべてが含まれる矩形領域を前記包含領域として指定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数の可変オブジェクトの各々に対する描画領域の論理和により導出される領域を前記包含領域として指定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記複数の可変オブジェクトの各々の画素数を導出し、前記複数の可変オブジェクトのすべてに対する画素数の総和を導出する総画素数導出手段と、
前記総画素数導出手段により導出された画素数の総和が前記指定手段により指定された前記包含領域の画素数よりも多い場合、前記透過処理手段を実行する制御手段と、
をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
各ページ共通の単一の固定オブジェクトおよび該固定オブジェクトの前面に配置される各ページ個別の複数の可変オブジェクトが含まれる描画ジョブを入力する入力工程と、
前記複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する指定工程と、
前記固定オブジェクトの前記包含領域と重複する領域に対して、複数の透過属性について透過処理を実行し該複数の透過属性それぞれに対する透過処理画像を生成する透過処理工程と、
前記描画ジョブに含まれる各ページについて、
前記可変オブジェクトに指定された透過属性と同一の透過属性に対応する前記透過処理画像から、該可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像を生成するクリッピング画像生成工程と、
前記クリッピング画像と前記固定オブジェクトとを重ね合わせて描画データを生成する生成工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項６】
前記複数の可変オブジェクトの各々の描画領域のすべてが含まれる矩形領域を前記包含領域として指定することを特徴とする請求項５に記載の画像処理装置の制御方法。
【請求項７】
前記複数の可変オブジェクトの各々に対する描画領域の論理和により導出される領域を前記包含領域として指定することを特徴とする請求項５に記載の画像処理装置の制御方法。
【請求項８】
前記複数の可変オブジェクトの各々の画素数を導出し、前記複数の可変オブジェクトのすべてに対する画素数の総和を導出する総画素数導出工程と、
前記総画素数導出工程により導出された画素数の総和が前記指定工程により指定された前記包含領域の画素数よりも多い場合、前記透過処理工程を実行する制御工程と、
をさらに備えることを特徴とする請求項５に記載の画像処理装置の制御方法。
【請求項９】
各ページ共通の単一の固定オブジェクトおよび該固定オブジェクトの前面に配置される各ページ個別の複数の可変オブジェクトが含まれる描画ジョブを入力する入力手段と、
前記複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する指定手段と、
前記固定オブジェクトに対する領域と前記包含領域とが重複する領域において、前記固定オブジェクトと前記包含領域に対して透過処理を実行し、該透過処理が施された画像を生成し記憶部に記憶する記憶制御手段と、
前記描画ジョブに含まれる各ページについて、
前記記憶部に記憶された前記透過処理が施された画像から、前記可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像を生成するクリッピング画像生成手段と、
前記クリッピング画像と前記固定オブジェクトとを重ね合わせて描画データを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項１０】
前記複数の可変オブジェクトの各々の描画領域のすべてが含まれる矩形領域を前記包含領域として指定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記複数の可変オブジェクトの各々に対する描画領域の論理和により導出される領域を前記包含領域として指定することを特徴とする請求項９に記載の画像処理装置。
【請求項１２】
前記複数の可変オブジェクトの各々の画素数を導出し、前記複数の可変オブジェクトのすべてに対する画素数の総和を導出する総画素数導出手段と、
前記総画素数導出手段により導出された画素数の総和が前記指定手段により指定された前記包含領域の画素数よりも多い場合、前記記憶制御手段を実行する制御手段と、
をさらに備えることを特徴とする請求項９に記載の画像処理装置。
【請求項１３】
各ページ共通の単一の固定オブジェクトおよび該固定オブジェクトの前面に配置される各ページ個別の複数の可変オブジェクトが含まれる描画ジョブを入力する入力工程と、
前記複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する指定工程と、
前記固定オブジェクトに対する領域と前記包含領域とが重複する領域において、前記固定オブジェクトと前記包含領域に対して透過処理を実行し、該透過処理が施された画像を生成し記憶部に記憶する記憶制御工程と、
前記描画ジョブに含まれる各ページについて、
前記記憶部に記憶された前記透過処理が施された画像から、前記可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像を生成するクリッピング画像生成工程と、
前記クリッピング画像と前記固定オブジェクトとを重ね合わせて描画データを生成する生成工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項１４】
請求項５または請求項１３に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変データおよび固定データに基づき合成画像を生成する画像処理技術に関するものである。
【背景技術】
【０００２】
近年、固定の背景データに対し複数の可変データを重ね合わせ印刷を実行するバリアブル印刷が利用されてきている。特に透過効果を施すことにより、顧客に対しより訴求力をもつ視覚効果を持ったバリアブル印刷を行う事例が増えてきている。
【０００３】
オブジェクトに対して透過効果をもたせることのできるページ記述言語はいくつか存在する。例えば、Ａｄｏｂｅ社のＰＤＦフォーマット（非特許文献１参照）では、背景オブジェクトと透過オブジェクト間に対して透過効果を施し、ディスプレイ上に表示、もしくは印刷することが可能である。また、可変データ（バリアブルデータ）を用いた印刷を効率的に行うためのページ記述言語も各種開発されてきている。たとえば、ＰＯＤｉ（Print On Demand Initiative）の定義するＰＰＭＬ（Personalized Print Markup Language）が存在する（非特許文献２参照）。これらのページ記述言語においては、非可変領域に対して描画（レンダリング）処理を行ったものを、記憶装置にキャッシュしてく。そのキャッシュされたオブジェクトを取り出した上に、可変領域をレンダリング処理して重ね合わせることにより、非可変領域が繰り返しレンダリング処理されることを回避して高速に処理できるよう制御することが可能である。
【非特許文献１】PDF Reference, 5th Edition, Version 1.6, Adobe Systems Incorporated. ISBN: 0-321-30474-8
【非特許文献２】PPML Functional Specification, Version 2.1  （http://www.podi.org/）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、一般に透過処理を実行するためには膨大な浮動小数演算を要する。そのため、透過処理を行う場合のバリアブル印刷においては、処理時間も大幅に増大することとなっていた。特にレコード数が大規模でありながら、高速な印刷が求められる商業印刷においては、所望の印刷速度が達成できない場合があった。特に、背景オブジェクトが写真画像のような複雑な画像で、かつ、前景の透過オブジェクトが可変データとして定義されたバリアブル印刷においては、背景の画像１画素毎に透過処理を施さねばならず、印刷速度の低下も深刻であった。
【０００５】
本発明は上述の問題点に鑑みなされたものであり、大規模なバリアブル印刷における処理時間を短縮可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の問題の１つ以上を解決するために、本発明の画像処理装置は以下の構成を備える。すなわち、画像処理装置であって、各ページ共通の単一の固定オブジェクトおよび該固定オブジェクトの前面に配置される各ページ個別の複数の可変オブジェクトが含まれる描画ジョブを入力する入力手段と、前記複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する指定手段と、前記固定オブジェクトの前記包含領域と重複する領域に対して、複数の透過属性について透過処理を実行し該複数の透過属性それぞれに対する透過処理画像を生成する透過処理手段と、前記描画ジョブに含まれる各ページについて、前記可変オブジェクトに指定された透過属性と同一の透過属性に対応する前記透過処理画像から、該可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像を生成するクリッピング画像生成手段と、前記クリッピング画像と前記固定オブジェクトとを重ね合わせて描画データを生成する生成手段と、を備える。
【０００７】
または、画像処理装置であって、各ページ共通の単一の固定オブジェクトおよび該固定オブジェクトの前面に配置される各ページ個別の複数の可変オブジェクトが含まれる描画ジョブを入力する入力手段と、前記複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する指定手段と、前記固定オブジェクトと前記包含領域が重複する領域に対して透過処理を実行し透過処理が施された画像を生成し記憶部に記憶する記憶制御手段と、前記描画ジョブに含まれる各ページについて、前記記憶部に記憶された前記透過処理が施された画像から、前記可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像を生成するクリッピング画像生成手段と、前記クリッピング画像と前記固定オブジェクトとを重ね合わせて描画データを生成する生成手段と、を備える。
【０００８】
上述の問題の１つ以上を解決するために、本発明の画像処理装置の制御方法は以下の構成を備える。すなわち、画像処理装置の制御方法であって、各ページ共通の単一の固定オブジェクトおよび該固定オブジェクトの前面に配置される各ページ個別の複数の可変オブジェクトが含まれる描画ジョブを入力する入力工程と、前記複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する指定工程と、前記固定オブジェクトの前記包含領域と重複する領域に対して、複数の透過属性について透過処理を実行し該複数の透過属性それぞれに対する透過処理画像を生成する透過処理工程と、前記描画ジョブに含まれる各ページについて、前記可変オブジェクトに指定された透過属性と同一の透過属性に対応する前記透過処理画像から、該可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像を生成するクリッピング画像生成工程と、前記クリッピング画像と前記固定オブジェクトとを重ね合わせて描画データを生成する生成工程と、を備える。
【０００９】
または、画像処理装置の制御方法であって、各ページ共通の単一の固定オブジェクトおよび該固定オブジェクトの前面に配置される各ページ個別の複数の可変オブジェクトが含まれる描画ジョブを入力する入力工程と、前記複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する指定工程と、前記固定オブジェクトと前記包含領域が重複する領域に対して透過処理を実行し透過処理が施された画像を生成し記憶部に記憶する記憶制御工程と、前記描画ジョブに含まれる各ページについて、前記記憶部に記憶された前記透過処理が施された画像から、前記可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像を生成するクリッピング画像生成工程と、前記クリッピング画像と前記固定オブジェクトとを重ね合わせて描画データを生成する生成工程と、を備える。
【発明の効果】
【００１０】
本発明によれば、大規模なバリアブル印刷において処理時間を短縮可能とする技術を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１２】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、印刷装置を例に挙げて以下に説明する。
【００１３】
＜透過処理の概要＞
図１は、透過効果を施す処理を例示的に説明する図である。
【００１４】
ここでは説明を簡単にするために、背景オブジェクト１０１、および、透過属性が設定され前景として配される透過オブジェクト１０２が含まれる場合について説明する。画像は、背景オブジェクト１０１、透過オブジェクト１０２、および、それらの重なり部分１０３から構成される。また、いずれもＣＭＹＫ色空間で色が定義されている。たとえば、背景オブジェクト１０１は、Ｋ単色３０％の濃度を持つオブジェクトであり。透過オブジェクト１０２は、各々Ｃ＝１０％、Ｍ＝５０％、Ｙ＝２０％、Ｋ＝１０％の濃度をもつ、暗いピンク色のオブジェクトであるとする。
【００１５】
重なり部分１０３における、ある画素の結果の色をＣｒとしたとき、透過効果は以下の計算式により処理される。
Ｃｒ  ＝  （１−αｓ／αｒ）×Ｃｂ  ＋  αｓ／αｒ×｛（１−αｂ）×Ｃｓ＋αｂ×Ｂ（Ｃｂ，Ｃｓ）｝
ここで、
Ｃｂ：背景オブジェクトの色
Ｃｓ：（前景である）透過オブジェクトの色
αｒ：結果画像における透過度
αｂ：背景オブジェクトの透過度
αｓ：透過オブジェクトの透過度
Ｂ（Ｃｂ，Ｃｓ）：ブレンド関数
である。このうち、ブレンド関数は、透過部分の視覚的効果を定義するための関数である。ノーマル、マルチプライ、スクリーン、オーバーレイ等のモードが定義されている。ノーマルの場合はＢ（Ｃｂ，Ｃｓ）＝Ｃｓと定義される。その他の場合はＣｂとＣｓ間で算術計算が施される。
【００１６】
ここで、ブレンド関数のモードがノーマルであり、さらに、αｒ＝１００％（不透過）とすると、上述の式は
Ｃｒ  ＝  （１−αｓ）×Ｃｂ  ＋  αｓ×Ｃｓ
と、単純化できる。たとえば透過オブジェクト１０２の透過度を６０％（αｓ＝０．６）を適用し、ＣＭＹＫ各々のチャンネルに適用すると、重なり部分１０３は、
Ｃ＝０．４×０％  ＋  ０．６×１０％  ＝  ６％
Ｍ＝０．４×０％  ＋  ０．６×５０％  ＝  ３０％
Ｙ＝０．４×０％  ＋  ０．６×２０％  ＝  １２％
Ｋ＝０．４×３０％  ＋  ０．６×１０％  ＝  １８％
のように計算される。なお、透過オブジェクト１０２の、背景オブジェクト１０１と重なっていない部分においても、背景の白に対して透過処理が施される。よってそれぞれの色は
Ｃ＝０．６×１０％  ＝  ６％
Ｍ＝０．６×５０％  ＝  ３０％
Ｙ＝０．６×２０％  ＝  １２％
Ｋ＝０．６×１０％  ＝  ６％
と、各々のチャンネルに対して元の濃度の６０％の濃度となる。
【００１７】
このように、透過処理においては背景の色と重ね合わせるオブジェクトの色との両方に対して浮動少数演算を行う必要があるため、ページ記述言語におけるほかの処理に対し、比較的時間のかかる処理となる。
【００１８】
図２は、他の場合における透過効果を施す処理を例示的に説明する図である。具体的には、写真画像である背景オブジェクト３０１に対して、透過オブジェクト１０２を透過させる場合の図である。
【００１９】
この例において、背景オブジェクト３０１は写真画像であることから一般的に画素値が１画素毎に異なる。そのため、透過オブジェクト１０２と重なり部分３０２においても、１画素毎に色が異なる。したがって、上述した透過の処理を１画素毎に行わなければならない。つまり、図１の場合と比較し、透過処理に費やす計算量は膨大となってしまう。特に、商業印刷等においては高解像度画像（例えば、１２００ｄｐｉ以上）が多用されるため膨大な計算量が必要となる。
【００２０】
＜装置構成＞
図３は、第１実施形態に係る印刷装置６０１の内部構成を示す図である。
【００２１】
中央演算装置（ＣＰＵ）６０２は、システムバス６０８を介して装置内各部の制御、演算、および記憶装置に格納されたプログラムの実行を司る。ランダムアクセスメモリ（ＲＡＭ）６０６は印刷装置動作時における一時記憶領域、および、ワークメモリとして利用される。ハードディスクドライブ（ＨＤＤ）６０３は、大容量の記憶装置であり、ＣＰＵ６０２により実行される各種制御プログラムを格納している。また、処理されるデータの一時的な記憶領域としても利用される。ブートＲＯＭ６０７は印刷装置の起動処理プログラムが格納された記憶装置である。
【００２２】
ネットワークインタフェース（Ｉ／Ｆ）６０４は外部ネットワークを介してホストコンピュータなどの他の装置と通信を行う機能部である。エンジンインタフェース（Ｉ／Ｆ）６０５は、プリンタエンジン６０９との通信、制御を司る。プリンタエンジン６０９は、たとえば電子写真技術あるいはインクジェット画像形成技術を用いて、画像を物理紙面上に形成する装置である。
【００２３】
＜バリアブル印刷の基本動作フロー＞
図４は、透過効果を用いたバリアブル印刷の一例を示す図である。
【００２４】
図４（ａ）および図４（ｂ）は、それぞれ、背景オブジェクト４０１に対して、可変オブジェクト４０２、４０３をそれぞれ透過効果を用いて重ね合わせた図である。つまり、背景オブジェクト４０１は双方で同一であるが、可変オブジェクトは４０２、４０３はそれぞれ、異なる形状（４０２は文字列”Ｈｉ  Ｆｒｅｄ，”、４０３では文字列”Ｈｉ  Ｐａｔｒｉｃｉａ，”）を持ったオブジェクトである。
【００２５】
図５は、バリアブル印刷における基本動作フローチャートである。そして、この処理は従来の処理と同様のものである。なお、以下で”レコード数”とはバリアブル印刷における可変データレコードの数を意味する。なお、以下の動作の各ステップは、ＣＰＵ６０２が制御プログラムを実行することにより実現される。
【００２６】
ステップＳ５０１では、印刷装置６０１におけるバリアブル印刷のフローを開始する。
【００２７】
ステップＳ５０２では、印刷装置６０１にバリアブル印刷ジョブ（描画ジョブ）を入力する。具体的には、ネットワークインタフェース（Ｉ／Ｆ）６０４を介して、ホストコンピュータから入力を受け付ける。なお、当該バリアブル印刷ジョブには、単一の背景オブジェクト４０１および複数の可変オブジェクト４０２、４０３の描画命令が含まれる。つまり、各ページ共通の単一の固定オブジェクトおよび該固定オブジェクトの前面に配置される各ページ個別の複数の可変オブジェクトが含まれる。
【００２８】
ステップＳ５０３では、ステップＳ５０２で受信されたバリアブル印刷ジョブにおいて指定された、背景オブジェクト４０１をレンダリングする。
【００２９】
ステップＳ５０４では、背景オブジェクト４０１をＲＡＭ６０６またはＨＤＤ６０３に一時記憶（キャッシュ）する。
【００３０】
ステップＳ５０５では、ステップＳ５０２で受信されたバリアブル印刷ジョブにおいて指定された、可変オブジェクトを入力する。
【００３１】
ステップＳ５０６では、ステップＳ５０５で入力された可変オブジェクトが透過オブジェクト（透過処理が指定されたオブジェクト）であるか否かを判断する。透過オブジェクトではないと判断された場合はステップＳ５０７に進み、透過オブジェクトであると判断された場合はステップＳ５０８に進む。
【００３２】
ステップＳ５０７では、可変オブジェクトに対して透過処理を行わず通常のレンダリングを実行する。
【００３３】
ステップＳ５０８では、ステップＳ５０４においてキャッシュされた背景オブジェクトを、ＲＡＭ６０６またはＨＤＤ６０３から取り出す。
【００３４】
ステップＳ５０９では、取り出された背景オブジェクト４０１が、写真画像であるか否かを判断する。なお、ここで、写真画像とは、背景オブジェクト４０１の全面が単一の色属性を有するものではないものを示す。背景オブジェクトが写真画像でないと判断された場合はステップＳ５１１に進み、写真画像であると判断された場合はステップＳ５１０に進む。
【００３５】
ステップＳ５１０では、可変オブジェクトおよび背景オブジェクトに対して、１画素毎に可変オブジェクトの領域全面に対する透過処理を施す。一方、ステップＳ５１１では、可変オブジェクトおよび背景オブジェクトに対してオブジェクト単位に透過処理を施す。
【００３６】
ステップＳ５１２では、ステップＳ５０７、Ｓ５１０またはＳ５１１のいずれかで処理した結果と背景オブジェクトとを重ね合わせ処理する。
【００３７】
ステップＳ５１３では、ステップＳ５１２で生成されたページ画像を印刷する。
【００３８】
ステップＳ５１４では、全レコードについて処理を実行したか否かを判断する。直前に処理したレコードが最終レコードである場合にはステップＳ５９９に進んでバリアブル印刷処理を終了する。直前に処理したレコードが最終レコードではないと判断された場合には、ステップＳ５０５に進み、新たな可変オブジェクトに対して処理を実行する。
【００３９】
＜バリアブル印刷の拡張動作フロー＞
しかしながら、図５で説明した処理においては、透過処理を実行するレコード数が増加するにつれ処理負荷が増大する。その結果、処理時間も長くなってしまう。具体的には、ステップＳ５１０またはＳ５１１をレコード毎に実行する必要があり、この処理が処理負荷を増大させることとなる。
【００４０】
ところで、バリアブル印刷ジョブにおいては、すべてのレコードの可変オブジェクトが、ページ内の所定の領域内として指定されることが多い。
【００４１】
図６は、第１実施形態におけるバリアブル印刷ジョブを例示的に示す図である。つまり、図６（ａ）および図６（ｂ）に示される第１実施形態におけるバリアブル印刷ジョブにおいて、可変オブジェクト４０２、４０３は矩形７０１の領域内として指定されている。つまり、ページ内で透過処理が実行される領域は７０１で示される矩形領域であることがわかる。なお、説明を簡単にするために以下の説明では領域７０１を矩形と仮定するが任意の形状でかまわない。
【００４２】
図７および図８は、第１実施形態におけるバリアブル印刷ジョブの処理フローチャートである。特に、図７は各可変レコードに対して共通して行われる処理を示す。一方、図８は各可変レコードに対して個々に行われる処理を示す。なお、以下の動作の各ステップは、ＣＰＵ６０２が制御プログラムを実行することにより実現される。
【００４３】
ステップＳ８０１では、印刷装置６０１におけるバリアブル印刷のフローを開始する。
【００４４】
ステップＳ８０２では、印刷装置６０１にバリアブル印刷ジョブを入力する。具体的には、ネットワークインタフェース（Ｉ／Ｆ）６０４を介して、ホストコンピュータから入力を受け付ける。なお、当該バリアブル印刷ジョブには、単一の背景オブジェクト４０１および複数の可変オブジェクト４０２、４０３の描画命令が含まれる。
【００４５】
ステップＳ８０３では、ステップＳ８０２で受信されたバリアブル印刷ジョブにおいて指定された、背景オブジェクト４０１をレンダリングする。
【００４６】
ステップＳ８０４では、背景オブジェクト４０１をＲＡＭ６０６またはＨＤＤ６０３に一時記憶（キャッシュ）する。また、ステップＳ８０４では、背景オブジェクト４０１の座標情報もＲＡＭ６０６またはＨＤＤ６０３にキャッシュされる。
【００４７】
ステップＳ８０５では、ステップＳ５０２で受信されたバリアブル印刷ジョブにおいて指定された、可変オブジェクトに対する領域７０１を入力（設定）する。つまり、複数の可変オブジェクトの各々に対する描画領域が包含される包含領域を指定する。なお、ステップＳ８０５において指定される包含領域は、背景オブジェクト４０１と複数の可変オブジェクトの双方を包含する領域であってもよい。
【００４８】
ステップＳ８０６では、入力された可変オブジェクトに対する領域７０１が透過を含むかどうか判断する。透過を含まないと判断された場合は、図５を参照して説明した通常のバリアブル印刷処理を実行する。一方、透過を含むと判断された場合は、ステップＳ８０８に進む。
【００４９】
ステップＳ８０８では、ステップＳ８０４においてキャッシュされた背景オブジェクトを、ＲＡＭ６０６またはＨＤＤ６０３から取り出す。
【００５０】
ステップＳ８０９では、取り出された背景オブジェクト４０１が、写真画像であるか否かを判断する。なお、ここで、写真画像とは、背景オブジェクト４０１の全面が単一の色属性を有するものではないものを示す。背景オブジェクトが写真画像でないと判断された場合はステップＳ８１１に進み、写真画像であると判断された場合はステップＳ８１０に進む。
【００５１】
ステップＳ８１０では、可変オブジェクトおよび背景オブジェクトに対して、１画素毎に可変オブジェクトの領域全面に対する透過処理を施す。一方、ステップＳ８１１では、可変オブジェクトおよび背景オブジェクトに対してオブジェクト単位に透過処理を施す。前述のように、処理速度は一般に、１画素毎に処理が必要なステップＳ８１０のほうが、ステップＳ８１１よりも遅くなる。図６（ｃ）に示す７０２がこの透過処理の施された可変領域オブジェクトである。
【００５２】
ステップＳ８１２では、透過処理の施された可変領域オブジェクト７０２を、記憶部であるＨＤＤ６０３に記憶（キャッシュ）するよう記憶制御する。また、ステップＳ８１２では、可変領域オブジェクト７０２の座標情報もＨＤＤ６０３に記憶される。
【００５３】
ステップＳ８１３では、ステップＳ８０５〜Ｓ８１２の処理が、受信したバリアブル印刷ジョブに含まれるすべての透過モードおよびアルファ値について実行されたかどうかを判断する。そして、全ての透過モード、アルファ値に対して、可変オブジェクト領域に対する透過処理を行い、キャッシュを実行した後、ステップＳ９０１に進む。つまり、固定オブジェクトにおいて、包含領域（可変オブジェクト領域７０１）と重複する領域に対して、複数の透過属性について透過処理を実行し透過処理画像を生成する透過処理手段に相当する。
【００５４】
ステップＳ９０１では、可変オブジェクトを入力する。
【００５５】
ステップＳ９０２では、可変オブジェクトが透過を含むかどうか判断する。透過を含まないと判断された場合はステップＳ９０３に進み、含むと判断された場合はステップＳ９０４に進む。
【００５６】
ステップＳ９０３では、可変オブジェクトの通常レンダリングを行う。
【００５７】
ステップＳ９０４では、ステップＳ８１２でキャッシュされたオブジェクトに対し、透過モードおよびアルファ値が一致するかどうか判断する。一致しない場合はステップＳ９０７に、一致する場合はステップＳ９０５にそれぞれ進む。ただし、ステップＳ８１２において、受信されたバリアブル印刷データ中に含まれる可変領域はすべてキャッシュされているので、エラー時のみステップＳ９０７に進むこととなる
ステップＳ９０７では、キャッシュされている背景オブジェクトを切り出す。そして、ステップＳ９０８では、通常の透過処理を施す。
【００５８】
ステップＳ９０５では、対応する透過処理の施された可変領域オブジェクト７０２を取り出す。また、ステップＳ９０５では、可変オブジェクトに対するオブジェクト形状の座標情報も取り出す。そして、ステップＳ９０６では、透過処理の施された可変領域オブジェクト７０２に対して可変オブジェクトに対するオブジェクト形状を用いてクリッピング処理を施す。つまり、可変オブジェクトに指定された透過属性と同一の透過属性に対応する透過処理画像から、可変オブジェクトの形状に対する領域を切り抜き、クリッピング画像を生成するクリッピング画像生成手段に相当する。また、クリッピング処理においては、クリッピング画像の座標情報も生成される。
【００５９】
図９（ａ）は、第１実施形態における可変オブジェクトを用いたクリッピング処理を説明する図である。具体的には、キャッシュされている透過処理の施された可変領域オブジェクト７０２に対し、可変オブジェクト形状１００１を指定された場所に配置する。そして、可変オブジェクト形状１００１の輪郭を用いて透過処理の施された可変領域オブジェクト７０２を切り取り（クリッピング）、クリップされた可変オブジェクト１００２を生成する。つまり、クリッピング画像と固定オブジェクトとを重ね合わせて描画データを生成する生成手段に相当する。
【００６０】
ステップＳ９０９では、クリップされた可変オブジェクト１００２と、背景オブジェクト４０１を重ね合わせる。より具体的には、ステップＳ９０９では、クリッピング画像の座標情報と背景オブジェクトの座標情報を使って、クリッピング画像と背景オブジェクトとを重ね合わせる処理を行なう。これにより、背景オブジェクトの正確な位置にクリッピング画像を重ね合わせることができる。また、重ね合わせ処理においては、クリッピングされた画像が背景オブジェクトの上に上書き処理される。これにより、クリッピングされた画像と背景オブジェクトの色が合成されることを防ぐことができる。
【００６１】
図９（ｂ）は、第１実施形態におけるクリップオブジェクトと背景オブジェクトとを重ねる処理を説明する図である。
【００６２】
ステップＳ９１０では、ステップＳ９０９で生成されたページ画像を印刷する。
【００６３】
ステップＳ９１１では、全レコードについて処理を実行したか否かを判断する。直前に処理したレコードが最終レコードである場合にはステップＳ９９９に進んでバリアブル印刷処理を終了する。直前に処理したレコードが最終レコードではないと判断された場合には、ステップＳ９０１に進み、新たな可変オブジェクトに対して処理を実行する。
【００６４】
つまり、ステップＳ８１２において予め透過処理を領域７０１に対して実行し、その後各可変オブジェクトの形状に対してクリッピング処理および重ね合わせ処理を実行する。このように処理することにより、透過処理演算自体を一回の処理で終了させることが可能となる。つまり、異なる可変オブジェクトに対して、同一の座標に対して再度透過演算を行う必要がなくなる。そのためバリアブル印刷の結果を高速に得ることができる。特に、レコード数が増加するほど同一の座標に対する演算回数が多くなるため、レコード数が増加するほど上述の処理による効果が大きい。
【００６５】
以上説明したように、第１実施形態に係る印刷装置によれば、大規模なバリアブル印刷における処理時間を短縮可能とすることが出来る。
【００６６】
（第２実施形態）
上述の第１実施形態では、各可変オブジェクトは同一の領域内（領域７０１）として予め指定されていることを前提としていた。しかし、当該領域は予め指定されていなくともよい。
【００６７】
第２実施形態では、各可変オブジェクトの収まる領域が、予め指定されていない場合について説明する。
【００６８】
図１０は、第２実施形態における、可変オブジェクトのページ内における座標配置を説明する図である。ここでは、ページ左下を原点とする座標系を用いる。すると、各可変オブジェクトのＸ座標における最小値（Ｘｍｉｎ）、最大値（Ｘｍａｘ）および、Ｙ座標における最小値（Ｙｍｉｎ）、最大値（Ｙｍａｘ）はそれぞれ図１０のように表すことが出来る。つまり、すべての各可変オブジェクトに対して、最小となるＸｍｉｎ、Ｙｍｉｎおよび最大となるＸｍａｘ、Ｙｍａｘを求めれば、領域７０１に相当する領域を導出可能となることが分かる。そこで、以下では当該領域を決定する方法について詳細に説明する。
【００６９】
図１１は、第２実施形態において、各可変オブジェクトの収まる領域を決定する処理を表すフローチャートである。具体的には、図７を参照して説明したステップＳ８０４およびステップＳ８０５の間において、当該決定処理を行っている。
【００７０】
ステップＳ１２０１では、可変オブジェクトの入力を受けつける。
【００７１】
ステップＳ１２０２では、ステップＳ１２０１で入力した可変オブジェクトのＸ座標における最小値、最大値（Ｘｍｉｎ，Ｘｍａｘ）および、Ｙ座標における最小値、最大値（Ｙｍｉｎ，Ｙｍａｘ）をそれぞれ特定する。
【００７２】
ステップＳ１２０３では、現在の処理対象の可変オブジェクトが１回目の入力であるか否かを判断する。１回目である場合にはステップＳ１２０４に、それ以外（２回目以降）であればステップＳ１２０５に進む。
【００７３】
ステップＳ１２０４では、現在処理対象の可変オブジェクトの最小値、最大値（Ｘｍｉｎ，Ｘｍａｘ）および、Ｙ座標における最小値、最大値（Ｙｍｉｎ，Ｙｍａｘ）を可変矩形領域のＸ，Ｙ座標にセットしＲＡＭ６０６に保存する。つまり、１回目の処理では比較対象が無いことから、可変矩形領域の初期値としてオブジェクトの最小値、最大値を使用するのである。なお、可変矩形領域とは、導出対象となる矩形領域の座標を決定するために本フローチャート内で利用される仮の矩形領域を意味する。
【００７４】
ステップＳ１２０５では、現在処理対象の可変オブジェクトのＸ、Ｙ座標それぞれの最大値・最小値に対し、ＲＡＭ６０６に保存されている可変矩形領域のＸ、Ｙ座標それぞれの最大値・最小値をそれぞれ比較する。
【００７５】
ステップＳ１２０６では、可変矩形領域のＸ、Ｙ座標の現在の最大値あるいは最小値を超える（最小値の場合、下回る）最大値・最小値についてＲＡＭ６０６に保存されている値を更新する。
【００７６】
ステップＳ１２０７では、現在の処理対象の可変オブジェクトが最終のオブジェクトかどうか判断する。最終でない場合は、ステップＳ１２０１に戻る。このようにして、全ての可変オブジェクトに対するＸ，Ｙ座標の最大値、最小値を求めることができる。
【００７７】
以上説明したように、第２実施形態に係る印刷装置によれば、各可変オブジェクトの収まる領域が予め指定されていない場合であっても、大規模なバリアブル印刷における処理時間を短縮可能とすることが出来る。
【００７８】
（第３実施形態）
上述の第１および第２実施形態では、各可変オブジェクトの座標が含まれる領域が矩形領域であるとして説明した。しかし、矩形領域として指定した場合、一般には最終的には使用されない座標も含まれる。つまり、使用されない領域について透過処理演算をすることにより無用な処理時間が発生し得る。
【００７９】
第３実施形態では、より適した透過処理演算の対象領域を導出する方法について説明する。
【００８０】
図１２は、第３実施形態において、複数の可変オブジェクト同士が重ねあわされた状態を例示的に示す図である。具体的には、オブジェクト１３０１は、可変オブジェクト４０２および４０３に対する各領域の論理和により導出された領域である。つまり、すべての可変オブジェクトに対する各領域の論理和をとることにより、透過処理がなされる座標を示す領域を導出可能となることが分かる。そこで、以下では当該領域を決定する方法について詳細に説明する。
【００８１】
図１３は、第３実施形態において、透過処理がなされる座標を示す領域を決定する処理を表すフローチャートである。具体的には、図７を参照して説明したステップＳ８０４およびステップＳ８０５の間において、当該決定処理を行っている。
【００８２】
ステップＳ１４０１では、可変オブジェクトの入力を受けつける。
【００８３】
ステップＳ１４０２では、ステップＳ１４０１で入力した可変オブジェクトに対する領域に対して論理和演算を行い、ＲＡＭ６０６に保存されている可変領域を更新する。なお、１回目の処理では可変オブジェクトの領域そのものが可変領域として導出しＲＡＭ６０６に保存する。なお、可変領域とは、導出対象となる領域を決定するために本フローチャート内で利用される仮の領域を意味する。
【００８４】
ステップＳ１４０３では、現在の処理対象の可変オブジェクトが最終のオブジェクトかどうか判断する。最終でない場合は、ステップＳ１４０１に戻る。このようにして、全ての可変オブジェクトに対する領域の論理和領域を求めることができる。
【００８５】
以上説明したように、第３実施形態に係る印刷装置によれば、より適した透過処理演算の対象領域を導出することが出来る。
【００８６】
（第４実施形態）
第１実施形態においては、予め透過処理演算の対象となる矩形領域の全座標に対して透過処理を行い、その後クリッピング処理を行う方法について述べた。ただし、レコード数が少ない場合においては、かえって処理に時間を要する場合がある。つまり、透過演算処理が本来不要な座標についての処理時間が相対的に大きくなってしまうことによる。
【００８７】
第４実施形態では、レコード数が少ない場合にも好適なバリアブル印刷処理について説明する。
【００８８】
図１４は、第４実施形態におけるバリアブル印刷ジョブの処理フローチャートである。具体的には、図７を参照して説明したステップＳ８０４およびステップＳ８０５の間において、所定の条件に応じて図５に示す通常の処理に切り替えている。なお、以下の動作の各ステップは、ＣＰＵ６０２が制御プログラムを実行することにより実現される。
【００８９】
ステップＳ１５０１では、可変オブジェクトの入力を受けつける。
【００９０】
ステップＳ１５０２では、ステップＳ１４０１で入力した可変オブジェクトに対する領域の面積（画素数）を導出する。そして、ＲＡＭ６０６に保存されている面積との和の結果を導出しＲＡＭ６０６に保存されている値を更新する。なお、１回目の処理においてＲＡＭ６０６に保存されている初期値は”０”である。
【００９１】
ステップＳ１５０３では、現在の処理対象の可変オブジェクトが最終のオブジェクトかどうか判断する。最終でない場合は、ステップＳ１５０１に戻る。このようにして、全ての可変オブジェクトに対する領域ののべ面積（のべ画素数）を求めることができる。つまり、複数の可変オブジェクトのすべてに対する画素数の総和を導出する総画素数導出手段に相当する。
【００９２】
ステップＳ１５０４では、導出されたのべ面積（のべ画素数）が、ステップＳ８０５で入力された可変オブジェクトの領域７０１の面積（画素数）に比較し広い（多い）か否かを判断する。そして、広い（多い）と判定された場合はＳ８０８に進み、狭い（少ない）と判定された場合はＳ８０７に進む。つまり、面積（画素数）は透過処理演算に要する時間とほぼ比例することから、当該面積を比較し、より狭い面積（のべ面積）となる処理を選択するのである。
【００９３】
なお、ステップＳ１５０４において、レコード数が所定の閾値より大きいか小さいかを判定するよう構成してもよい。その場合、レコード数が所定の閾値より大きい場合は、Ｓ８０８にすすみ、レコード数が所定の閾値より小さい場合は、Ｓ８０７に進む。
【００９４】
以上説明したように、第４実施形態に係る印刷装置によれば、より高速なバリアブル印刷処理を実行することが出来る。
【００９５】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００９６】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【００９７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９８】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭなどがある。
【００９９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１００】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１０１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１０２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１０３】
【図１】透過効果を施す処理を例示的に説明する図である。
【図２】他の場合における透過効果を施す処理を例示的に説明する図である。
【図３】第１実施形態に係る印刷装置６０１の内部構成を示す図である。
【図４】透過効果を用いたバリアブル印刷の一例を示す図である。
【図５】バリアブル印刷における基本動作フローチャートである。
【図６】第１実施形態におけるバリアブル印刷ジョブを例示的に示す図である。
【図７】第１実施形態におけるバリアブル印刷ジョブの処理フローチャートである（共通処理）。
【図８】第１実施形態におけるバリアブル印刷ジョブの処理フローチャートである（個別処理）。
【図９】第１実施形態における可変オブジェクトを用いたクリッピング処理・重ね合わせ処理を説明する図である。
【図１０】第２実施形態における、可変オブジェクトのページ内における座標配置を説明する図である。
【図１１】第２実施形態において、各可変オブジェクトの収まる領域を決定する処理を表すフローチャートである。
【図１２】第３実施形態において、複数の可変オブジェクト同士が重ねあわされた状態を例示的に示す図である。
【図１３】第３実施形態において、透過処理がなされる座標を示す領域を決定する処理を表すフローチャートである。
【図１４】第４実施形態におけるバリアブル印刷ジョブの処理フローチャートである。
【図１】
0005180691.tif 000002
【図２】
0005180691.tif 000003
【図３】
0005180691.tif 000004
【図４】
0005180691.tif 000005
【図５】
0005180691.tif 000006
【図６】
0005180691.tif 000007
【図７】
0005180691.tif 000008
【図８】
0005180691.tif 000009
【図９】
0005180691.tif 000010
【図１０】
0005180691.tif 000011
【図１１】
0005180691.tif 000012
【図１２】
0005180691.tif 000013
【図１３】
0005180691.tif 000014
【図１４】
0005180691.tif 000015