(57)【要約】【課題】本発明は、バリアブル印刷における処理を高速化する画像処理装置を提供する。【解決手段】固定オブジェクトが固定オブジェクトとは別の他の固定オブジェクトと重なっているか否かを判定し、重なっていると判定された場合に、固定オブジェクトと他の固定オブジェクトとを組み合わせるように第１の画像形成処理を行うかもしくは固定オブジェクトまたは他の固定オブジェクトを処理するように第２の画像形成処理を行うかにより、画像形成処理されたデータを生成する。生成されたデータを可変オブジェクトと合わせて印刷用のデータを生成して出力する。【選択図】図４
2010109967.tif 000002
【特許請求の範囲】
【請求項１】
画像形成時に再利用される固定オブジェクトと可変オブジェクトとを含む印刷データに従ってバリアブル印刷を行う画像処理装置であって、
前記固定オブジェクトが前記固定オブジェクトとは別の他の固定オブジェクトと重なっているか否かを判定する第１の判定手段と、
前記第１の判定手段により重なっていると判定された場合に、前記固定オブジェクトと前記他の固定オブジェクトとを組み合わせるように第１の画像形成処理を行うか、若しくは、前記固定オブジェクトまたは前記他の固定オブジェクトを処理するように第２の画像形成処理を行うかによって、該画像形成処理されたデータを生成する生成手段と、
前記生成手段によって生成された前記データを格納する格納手段と、
前記格納手段によって格納された前記データを取り出し、前記可変オブジェクトと合わせて印刷用のデータを生成し、前記印刷用のデータを出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第１の画像形成処理は、前記固定オブジェクトを前記他の固定オブジェクトと結合して１つのオブジェクトとすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の画像形成処理は、前記固定オブジェクトを前記他の固定オブジェクトによってクリッピングすることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記固定オブジェクトと前記他の固定オブジェクトとの間に可変オブジェクトが存在するか否かを判定する第２の判定手段を更に備え、
前記第２の判定手段による判定の結果、可変オブジェクトが存在しないと判定された場合に、前記第１の画像形成処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記固定オブジェクトが、前記印刷データを含むジョブとは異なる他のジョブにおいて用いられるか否かを判定する第３の判定手段を更に備え、
前記第３の判定手段による判定の結果、前記他のジョブにおいて用いられないと判定された場合に、前記第１の判定手段によって判定を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記第３の判定手段による判定の結果、前記他のジョブにおいて用いられると判定された場合に、
前記格納手段は、前記固定オブジェクトを格納し、
前記出力手段は、前記固定オブジェクトを取り出し、前記可変オブジェクトと合わせて印刷用のデータを生成し、前記印刷用のデータを出力することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記第３の判定手段による判定の結果、前記他のジョブにおいて用いられると判定された場合に、
前記固定オブジェクトを前記他のジョブにおいて利用するために格納する第２の格納手段を更に備え、
前記第２の格納手段により格納した後に、前記第１の判定手段によって判定を行うことを特徴とする請求項５に記載の画像処理装置。
【請求項８】
画像形成時に再利用される固定オブジェクトと可変オブジェクトとを含む印刷データに従ってバリアブル印刷を行う画像処理装置において実行される画像処理方法であって、
前記画像処理装置の第１の判定手段が、前記固定オブジェクトが前記固定オブジェクトとは別の他の固定オブジェクトと重なっているか否かを判定する第１の判定工程と、
前記画像処理装置の生成手段が、前記第１の判定工程において重なっていると判定された場合に、前記固定オブジェクトと前記他の固定オブジェクトとを組み合わせるように第１の画像形成処理を行うか、若しくは、前記固定オブジェクトまたは前記他の固定オブジェクトを処理するように第２の画像形成処理を行うかによって、該画像形成処理されたデータを生成する生成工程と、
前記画像処理装置の格納手段が、前記生成工程において生成された前記データを格納する格納工程と、
前記画像処理装置の出力手段が、前記格納工程によって格納された前記データを取り出し、前記可変オブジェクトと合わせて印刷用のデータを生成し、前記印刷用のデータを出力する出力工程と
を備えることを特徴とする画像処理方法。
【請求項９】
画像形成時に再利用される固定オブジェクトと可変オブジェクトとを含む印刷データに従ってバリアブル印刷を行うためのデータを生成するためのプログラムであって、
前記固定オブジェクトが前記固定オブジェクトとは別の他の固定オブジェクトと重なっているか否かを判定手段と、
前記判定手段により重なっていると判定された場合に、前記固定オブジェクトと前記他の固定オブジェクトとを組み合わせるように第１の画像形成処理を行うか、若しくは、前記固定オブジェクトまたは前記他の固定オブジェクトを処理するように第２の画像形成処理を行うかによって、該画像形成処理されたデータを生成する生成手段と、
前記生成手段により生成された前記データを格納する格納手段と、
前記格納手段により格納された前記データを取り出し、前記可変オブジェクトと合わせて印刷用のデータを生成して出力する出力手段と
してコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バリアブル印刷を行う画像処理装置、画像処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
近年、固定データに対し複数の可変データを重ね合わせ、高速に印刷を実行するバリアブル印刷が利用されてきている。
【０００３】
可変データ（バリアブルデータ）を用いた印刷を効率的に行うためのページ記述言語も各種開発されてきている。たとえば、ＰＯＤｉ（Print On Demand Initiative）の定義するＰＰＭＬ（Personalized Print Markup Language）という言語が存在する（非特許文献１参照）。これらのページ記述言語を用いたバリアブル印刷においては、非可変領域に対して描画（レンダリング）処理を行ったものを、記憶装置のキャッシュに格納していく。
【０００４】
更に、キャッシュに格納されたオブジェクトを取り出した上に、可変領域をレンダリング処理して重ね合わせる。そのことにより、非可変領域が繰り返しレンダリング処理されることを回避して高速に処理できるよう制御することが可能である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＰＰＭＬ  Ｆｕｎｃｔｉｏｎａｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｖｅｒｓｉｏｎ  ２．１  （ｈｔｔｐ：／／ｗｗｗ．ｐｏｄｉ．ｏｒｇ／）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、一般的に、固定データは再利用性のために、オブジェクト単位で記憶装置にキャッシュに格納されている。従来、複数のオブジェクト同士が重なりあうような印刷データの場合、常に他のオブジェクトの下に隠れてしまうような画像に対してまで、記憶装置のキャッシュに格納してしまっていた。
【０００７】
このため、記憶装置に常にほかのオブジェクトの下に隠れてしまう画像のための無駄な領域を確保しなければならなかった。また、そのような無駄な画像に対しても、データの展開処理、又は、上位のオブジェクトによる下位のオブジェクトのクリッピング処理をレコードごと、ページごとに行われなければならず、処理時間の増大を招いてしまっていた。
そこで、上記の点に鑑み、本発明は、バリアブル印刷における処理を高速化する画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る画像処理装置は、画像形成時に再利用される固定オブジェクトと可変オブジェクトとを含む印刷データに従ってバリアブル印刷を行う画像処理装置であって、
前記固定オブジェクトが、前記固定オブジェクトとは別の他の固定オブジェクトと重なっているか否かを判定する第１の判定手段と、
前記第１の判定手段により重なっていると判定された場合に、前記固定オブジェクトと前記他の固定オブジェクトとを組み合わせるように第１の画像形成処理を行うか、若しくは、前記固定オブジェクトまたは前記他の固定オブジェクトを処理するように第２の画像形成処理を行うかによって、該画像形成処理されたデータを生成する生成手段と、
前記生成手段によって生成された前記データを格納する格納手段と、
前記格納手段によって格納された前記データを取り出し、前記可変オブジェクトと合わせて印刷用のデータを生成し、前記印刷用のデータを出力する出力手段とを備える。
【発明の効果】
【０００９】
本発明によれば、バリアブル印刷における処理を高速化することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る第１の実施例における画像処理装置の構成を示す図である。
【図２】本実施例における画像処理装置のソフトウェアのモジュール構成を示す図である。
【図３】ＰＰＭＬ言語のバリアブル印刷ジョブの構成を示す図である。
【図４】第１の実施例におけるバリアブル印刷処理の手順を示すフローチャートである。
【図５】第１の実施例におけるリユーザブル・オブジェクトの一例を示す図である。
【図６】第２の実施例におけるバリアブル印刷処理の手順を示すフローチャートである。
【図７】第２の実施例におけるリユーザブル・オブジェクトの一例を示す図である。
【図８】バリアブル印刷ジョブにおいて、リユーザブル・オブジェクト間に可変オブジェクトが配置される例について説明する図である。
【図９】第３の実施例におけるバリアブル印刷処理の手順を示すフローチャートである。
【図１０】第４の実施例におけるバリアブル印刷処理の手順を示すフローチャートである。
【図１１】第５の実施例におけるバリアブル印刷処理の手順を示すフローチャートである。
【図１２】バリアブル印刷の一例を示す図である。
【図１３】バリアブル印刷の他の例を示す図である。
【図１４】図１２および図１３に示すバリアブル印刷における背景画像を示す図である。
【図１５】本実施例の前提となるバリアブル印刷処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明を実施するための形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１２】
＜第１の実施例＞
＜装置構成＞
図１は、本発明に係る実施例におけるバリアブル印刷を実行する画像処理装置を表すブロック図である。
【００１３】
画像処理装置１００に含まれる中央演算装置（ＣＰＵ）１０１は、システムバス１０８を介して装置内各部の制御、演算、および記憶装置に格納されたプログラムの実行を司る。ランダムアクセスメモリ（ＲＡＭ）１０６は、印刷装置動作時における一時記憶領域、および、ワークメモリとして利用される。ハードディスクドライブ（ＨＤＤ）１０４は、大容量の記憶装置であり、ＣＰＵ１０１により実行される各種制御プログラムを格納している。また、処理されるデータの一時的な記憶領域としても利用される。ＲＯＭ１０６は、画像処理装置の起動処理プログラムが格納された記憶装置である。
【００１４】
ネットワークインターフェイス（Ｉ／Ｆ）１０２は、外部ネットワークを介してホストコンピュータなどの他の装置と通信を行う。エンジンインタフェース（Ｉ／Ｆ）１０５は、プリンタエンジン１０７との通信、制御を司る。プリンタエンジン１０７は、たとえば電子写真技術あるいはインクジェット画像形成技術を用いて、画像を物理紙面上に形成する。
【００１５】
図２は、本発明の実施例におけるバリアブル印刷を実行するソフトウェアモジュールを表すブロック図である。各々のソフトウェアモジュールは、ＲＡＭ１０３に展開され、プログラムにより呼び出されてＣＰＵ１０１上で実行される。
【００１６】
ジョブ展開部２０１は、ネットワークインターフェイス（Ｉ／Ｆ）１０２を介して受信したバリアブル印刷ジョブを展開する。オブジェクト判定部２０２は、展開されたバリアブル印刷ジョブ内に含まれるオブジェクトの属性を判定する。レンダラ２０３は、入力されたオブジェクトを描画（レンダリング）し、ビットマップ画像を生成する。オブジェクト格納部２０４は、生成されたビットマップオブジェクトを、オブジェクト判定部２０２の判定に基づき、ＨＤＤ１０４に格納する。
【００１７】
オブジェクト配置部２０５は、レンダラにより生成されたオブジェクト、あるいはオブジェクト格納部２０４によりＨＤＤ１０４に格納されているオブジェクトをページ上に配置する。
【００１８】
図３は、ＰＰＭＬ言語によるバリアブル印刷ジョブの構成を表す図である。バリアブル印刷ジョブ３００は、一つのテンプレートファイル３０１を必ず含む。また、テンプレートの他に、複数のリユーザブル・オブジェクト３０２、３０３、および、可変オブジェクト３０４、３０５を含んで構成されている。
【００１９】
以下の説明においては、ＰＰＭＬ言語により記述されたバリアブル印刷ジョブを一例として説明する。しかしながら、バリアブル印刷を実施できるようなオブジェクト構成であれば、記述言語はＰＰＭＬ言語に特に限定されない。
【００２０】
＜バリアブル印刷の処理フロー＞
図１２および図１３は、本実施例の前提となるバリアブル印刷の一例を示す図である。図１２において、リユーザブル・オブジェクト１２０１と１２０３は固定オブジェクトであり、その上に可変オブジェクト１２０２が配置されている。ここで、固定オブジェクトとは、複数のページと複数のジョブと複数の可変レコードとのうち少なくとも１つにおいて再利用されるリユーザブル・オブジェクトをいう。一方、可変オブジェクトとは、各ページもしくは各可変レコードにより内容変わるオブジェクトをいう。即ち、例えば、可変オブジェクト１２０２と１３０１は、同一のオブジェクトである（オブジェクトの内容は、１２０２と１３０１のように可変である）。固定オブジェクト１２０３と１３０２は、相異なる独立したオブジェクトである。
【００２１】
図１４は、図１２および図１３のバリアブル印刷における、固定オブジェクト、つまりリユーザブル・オブジェクト１２０１のみを示す図である。ここで、背景画像は、図１２又は図１３に示すように、他のオブジェクトとともに再利用されるので、リユーザブル・オブジェクトという。リユーザブル・オブジェクト１２０１の矩形領域１４０１は、常に固定オブジェクト１２０３および１３０２により遮蔽される。
【００２２】
しかしながら、この部分に実際には矩形領域１４０１で囲まれた画像が隠れている。この矩形領域１４０１の画像は最終的には印刷されないにもかかわらず、この部分の情報量も含めてＨＤＤ１０４あるいはＲＡＭ１０３にキャッシュに格納され、さらにＣＰＵ１０１により画像処理を施されてしまう。
【００２３】
特に商用印刷におけるバリアブル印刷では、より多くの固定オブジェクトをより高解像度の状態でキャッシュに格納することも多い。そのような場合、無駄に記憶装置キャッシュに格納されてしまう情報量も無視できない。
【００２４】
また、ＨＤＤ１０４あるいはＲＡＭ１０３にキャッシュに格納される情報量のみならず、ＣＰＵ１０１が、格納されている画像をＲＡＭ１０３上に展開し、圧縮・伸張や画像処理を施すにも大きな時間を費やしてしまうこととなる。
【００２５】
図１５は、本実施例の前提となるバリアブル印刷の処理の手順を示すフローチャートである。Ｓ１５０１において、ネットワークＩ／Ｆ１０２がジョブを受信し、ＣＰＵ１０１がプログラムの実行を開始し、画像処理装置１００はネットワークＩ／Ｆ１０２を介してバリアブル印刷ジョブを入力する。
Ｓ１５０２において、バリアブル印刷ジョブを展開し、使用されるオブジェクトを抽出する。Ｓ１５０３において、展開されたバリアブル印刷ジョブに含まれるオブジェクトがリユーザブル・オブジェクトか否か判定する。ここで、リユーザブル・オブジェクトであると判定された場合、Ｓ１５０４において、入力オブジェクトのデータが既にキャッシュに格納されているか否か判定する。
【００２６】
ここで、既にキャッシュに格納されているオブジェクトである場合、Ｓ１５０５において、キャッシュに格納されたデータに対応するオブジェクトを取り出し、Ｓ１５０９において、オブジェクトをページ上に配置する。
【００２７】
Ｓ１５０４において、入力オブジェクトが既にキャッシュに格納されていないと判定された場合、Ｓ１５０６において、入力オブジェクトをレンダリングする。Ｓ１５０７において、レンダリング済みオブジェクトをキャッシュに格納に格納すると共に、Ｓ１５０９において、オブジェクトをページ上に配置する。レンダリング処理は、画像形成処理の一例である。画像形成処理の例には、ビットマップ生成のほか、ビットマップを形成するための中間コード（ビットマップオブジェクト）の生成を含む。
【００２８】
Ｓ１５０３において、展開されたバリアブル印刷ジョブに含まれるオブジェクトがリユーザブル・オブジェクトではないと判断された場合、Ｓ１５０８において、入力オブジェクトをレンダリングする。Ｓ１５０９において、オブジェクトをページ上に配置する。
【００２９】
以上のようにＳ１５０３からＳ１５０９の処理をすべての入力オブジェクトに対して実行したか否かをＳ１５１０において判定する。ここで、全ての入力オブジェクトに対して実行したと判定された場合には、Ｓ１５１１に進み、ページを構成し、印刷処理を行うようＣＰＵ１０１によって印刷制御され、本処理を終了する。一方、全てのオブジェクトに対して実行されていないと判定された場合には、Ｓ１５０３に戻る。
【００３０】
＜本実施例におけるバリアブル印刷の処理フロー＞
図４は、本発明に係る第１の実施例におけるバリアブル印刷の処理の手順を示すフローチャートである。図４に示す処理は、Ｓ４０１、Ｓ４０２において、図１５に示す処理と異なる。
【００３１】
ネットワークＩ／Ｆ１０２がジョブを受信し、ＣＰＵ１０１がプログラムの実行を開始し、Ｓ１５０１〜Ｓ１５０４は、図１５に示すバリアブル印刷の処理フローと同じ処理を行う。
【００３２】
Ｓ１５０４において、入力オブジェクトがキャッシュに格納されていないと判定された場合、Ｓ４０１（第１の判定処理の一例）において、入力オブジェクトの上に、他のリユーザブル・オブジェクトが常に重なるか否かを判定する。これは、図１４に示す矩形領域１４０１を判定することにあたる。
【００３３】
ここで、常に重なると判断された場合、Ｓ４０２において、入力オブジェクトに重なるオブジェクトの論理積領域により、入力オブジェクトに対してクリッピング処理を行い、矩形領域１４０１を切り抜く（以下、ノックアウト処理という）。すなわち、Ｓ４０２における判定の結果、常に重なると判定された場合に、その重なった部分について固定オブジェクト又は他の固定オブジェクトの少なくとも一方に基づく画像形成処理（第２の画像形成処理の一例）を行うことになる。ここで、クリッピングとは、所定領域の範囲のみ、画像処理を施すことをいう。
【００３４】
次に、Ｓ１５０６において、ノックアウトされたオブジェクトをレンダリングし、Ｓ１５０７において、レンダリング済みオブジェクトをキャッシュに格納するとともに、Ｓ１５０９において、オブジェクトをページ上に配置する。
【００３５】
図５は、本実施例におけるバリアブル印刷のリユーザブル・オブジェクトを表す図である。図１４に示すリユーザブル・オブジェクト１２０１と、図５に示すリユーザブル・オブジェクト５０１とを比較すると、必要のない領域がノックアウト処理されている。このため、特に圧縮をしてキャッシュに格納する場合においては、リユーザブル・オブジェクト５０１は、リユーザブル・オブジェクト１２０１よりも少ないデータ量でキャッシュに格納することが可能となる。
【００３６】
また、Ｓ１５０９における、レンダリング済みオブジェクトをページ上に展開する処理においても、リユーザブル・オブジェクト１５０１は、リユーザブル・オブジェクト１２０１よりも少ない処理時間で配置することが可能となる。
【００３７】
以上のように、本実施例において、画像処理装置は、大規模なバリアブル印刷における処理時間を短縮することができる。
【００３８】
＜第２の実施例＞
第１の実施例においては、１つのリユーザブル・オブジェクトが常に他のリユーザブル・オブジェクトに重なる領域をノックアウト処理することによりデータ量の削減し、処理の高速化を実現していた。
【００３９】
本実施例においては、キャッシュへの格納のためのＨＤＤ１０４が十分な記憶容量である場合にも処理を高速化することができる実施例について述べる。
【００４０】
図６は、第２の実施例におけるバリアブル印刷処理の手順を示すフローチャートである。図６に示す処理は、Ｓ６０１において、図４に示す処理と異なる。ネットワークＩ／Ｆ１０２がジョブを受信し、ＣＰＵ１０１がプログラムの実行を開始し、Ｓ１５０１〜Ｓ４０１は、図４に示すバリアブル印刷の処理と同じ処理を行う。
【００４１】
Ｓ４０１において、入力オブジェクトの上に、他のリユーザブル・オブジェクトが常に重なると判断された場合、Ｓ６０１において、該当する上位オブジェクトに対し、それぞれ下位オブジェクトと結合を行う（第１の画像形成処理の一例）。
【００４２】
図７は、本実施例におけるリユーザブル・オブジェクトの例を示す図である。本実施例において新たに生成される結合オブジェクト７０１は、図１２における下位オブジェクト（リユーザブル・オブジェクト１２０１）と、上位オブジェクト（他のリユーザブル・オブジェクト）を１つのオブジェクトとして結合したオブジェクトである。
【００４３】
Ｓ１５０６において、上述の結合されたオブジェクトをそれぞれレンダリングし、Ｓ１５０７において、それぞれキャッシュに格納する。
【００４４】
本実施例における結合オブジェクト７０１のサイズは、図５に示すリユーザブル・オブジェクト５０１のサイズより大きいので、キャッシュへの格納に要する記憶容量は、第１の実施例と比較して増加する。
【００４５】
しかしながら、本実施例の前提となるバリアブル印刷フローと比較すると、上位オブジェクトと下位オブジェクトをそれぞれ、その都度、ページ上に配置して処理を行う必要がないため、処理速度を向上させることができる。
【００４６】
＜第３の実施例＞
第２の実施例においては、オブジェクト同士を結合することによってキャッシュへの格納の効率化と処理の高速化を実現していた。以下、第３の実施例について説明する。
【００４７】
図８は、バリアブル印刷ジョブにおいて、リユーザブル・オブジェクト間に可変オブジェクトが配置される例について説明する図である。図８に示すように、リユーザブル・オブジェクト間に可変オブジェクトが重なるように配置される場合に、前述の第２の実施例のようなオブジェクトの結合を行うとする。
【００４８】
その場合に第２の実施例で説明したように、リユーザブル・オブジェクト１００２と１００３とは、結合されてキャッシュに格納されるので、可変オブジェクト１００１がリユーザブル・オブジェクト１００３によりクリッピングされて形状が失われてしまう。
【００４９】
本実施例は、図８のようなリユーザブル・オブジェクト間に可変オブジェクトが重なるように配置されるバリアブル印刷ジョブにおける処理について適用される。
【００５０】
図９は、本実施例におけるバリアブル印刷処理の手順を示すフローチャートである。図９に示す処理は、Ｓ９０１の点で、図６に示す処理と異なる。
【００５１】
ネットワークＩ／Ｆ１０２がジョブを受信し、ＣＰＵ１０１がプログラムの実行を開始し、Ｓ１５０１〜Ｓ１５０４は、前述の第１の実施例におけるバリアブル印刷の処理フローと同じ処理を行う。
【００５２】
Ｓ１５０４において、入力オブジェクトがキャッシュへの格納済みでないと判定された場合に、Ｓ９０１に進む。Ｓ９０１において、入力オブジェクトの上に、他のリユーザブル・オブジェクトが常に重なり、かつ、その間に可変オブジェクトが存在するか否かを判定する。Ｓ９０１は、本実施例における第２の判定処理の一例である。
【００５３】
ここで、入力オブジェクトの上に、他のリユーザブル・オブジェクトが常に重なり、かつ、その間に可変オブジェクトを含まないと判定された場合、Ｓ６０１に進み、該当する上位オブジェクトに対して、それぞれ下位オブジェクトと結合を行う。
【００５４】
Ｓ１５０６において、結合されたオブジェクトをそれぞれレンダリングし、Ｓ１５０７において、それぞれキャッシュに格納する。
【００５５】
以上のように本実施例においては、第２の実施例で説明したような処理を行う場合に、リユーザブル・オブジェクト間に可変オブジェクトが重なるように配置されるのであれば、リユーザブル・オブジェクト間の結合は行わない。従って、リユーザブル・オブジェクト間に可変オブジェクトが重なる場合に、第２の実施例で説明した処理を行う際に、可変オブジェクトが予期しない形で配置されてしまうことを防ぐことができる。
【００５６】
＜第４の実施例＞
第１〜第３の実施例においては、リユーザブル・オブジェクトは、同一ジョブ内でのみ使用され、ジョブ終了後は削除されていた。しかしながら、例えば、ＰＰＭＬ言語では、リユーザブル・オブジェクトに寿命属性を付与し、ジョブ間で共有されるリユーザブル・オブジェクトを定義することができる場合がある（以下、グローバル・リユーザブル・オブジェクトという）。
【００５７】
第４の実施例においては、そのようなグローバル・リユーザブル・オブジェクトの入力時に対する処理について述べる。
【００５８】
図１０は、本実施例におけるバリアブル印刷処理の手順を示すフローチャートである。図１０に示す処理は、Ｓ１００１の点において、図４に示す処理と異なる。
【００５９】
ネットワークＩ／Ｆ１０２がジョブを受信し、ＣＰＵ１０１がプログラムの実行を開始する。Ｓ１５０１〜Ｓ１５０４は、図４に示すバリアブル印刷の処理フローと同じ処理を行う。
【００６０】
Ｓ１００１（第３の判定処理の一例）において、入力されたリユーザブル・オブジェクトの寿命属性を判断し、グローバル・リユーザブル・オブジェクトか否かを判定する。ここで、入力オブジェクトがグローバル・リユーザブル・オブジェクトであると判定された場合、第１の実施例において説明したようなリユーザブル・オブジェクト同士のクリッピング処理は行わずにＳ１５０６に進む。以降は、第１の実施例において説明したような制御を行う。
【００６１】
以上のように、第１の実施例において、他のジョブでも再利用される可能性のあるグローバル・リユーザブル・オブジェクトに対する加工処理を防ぐことができる。
【００６２】
＜第５の実施例＞
第４の実施例においては、入力オブジェクトがグローバル・リユーザブル・オブジェクトである場合、グローバル・リユーザブル・オブジェクトへの加工処理を行わずにキャッシュに格納していた。
【００６３】
本実施例においては、グローバル・リユーザブル・オブジェクトをキャッシュに格納しながら、その処理と並行に、第１の実施例で説明したような加工処理を行ったグローバル・リユーザブル・オブジェクトをキャッシュに格納する。
【００６４】
図１１は、本実施例におけるバリアブル印刷処理の手順を示すフローチャートである。図１１に示す処理は、Ｓ１１０１の点において、図１０の処理と異なる。ネットワークＩ／Ｆ１０２がジョブを受信し、ＣＰＵ１０１がプログラムの実行を開始する。Ｓ１５０１〜Ｓ１００１は、図１０に示すバリアブル印刷の処理フローと同じである。
【００６５】
Ｓ１００１において、入力されたリユーザブル・オブジェクトの寿命属性を判断し、グローバル・リユーザブル・オブジェクトか否かを判定する。ここで、入力オブジェクトがグローバル・リユーザブル・オブジェクトである場合、Ｓ１１０１において、グローバル・リユーザブル・オブジェクトを非加工処理のままキャッシュに格納する（第２の格納処理の一例）。ここで、非加工処理されたグローバル・リユーザブル・オブジェクトは、他のジョブで再利用されることができる。以降の処理は、図１０に示すフローと同じである。
【００６６】
以上のように、本実施例においては、他のジョブでも再利用される可能性のあるグローバル・リユーザブル・オブジェクトに対する加工処理を行う。その結果、ジョブ内のリユーザブル・オブジェクトがグローバル・リユーザブル・オブジェクトである場合にも、第１の実施例で説明したような処理の高速化を実現することができる。
【００６７】
また、同時に、Ｓ１１０１でグローバル・リユーザブル・オブジェクトを入力された状態のままキャッシュに格納するので、他のジョブでも再利用される可能性のあるグローバル・リユーザブル・オブジェクトに対する加工処理を防ぐことができる。
【００６８】
以上説明したように、第４及び第５の実施例は、第１の実施例において、リユーザブル・オブジェクトがグローバル・リユーザブル・オブジェクトである場合について処理する形態である。
【００６９】
なお、上位のリユーザブル・オブジェクトが下位のリユーザブルオブジェクトより図形のサイズが大きく、完全にカバーする場合もある。この場合は、上位オブジェクトを下位オブジェクトを上書きすることで、リユーザブル・オブジェクト同士を結合処理してもよいが、次のようにしてもよい。即ち、透過処理が設定されていない上位オブジェクトのみをRIPすることで画像形成処理し、下位オブジェクトを何も処理せずに破棄する。これにより、上位オブジェクトのみをリユーザブル・オブジェクトとしてキャッシュすることができる。但し、上位オブジェクトに透過の属性が設定されている場合は、単純に上書き処理する。この処理は前述の各実施例において適用可能であることはいうまでもない。
【００７０】
各実施例の技術原理はつぎのとおりである。画像形成時即ちRIP(raster image processing)時に再利用される固定オブジェクトと可変オブジェクトとを含む印刷データに従って、バリアブル印刷を行う画像処理装置１００を開示した。
【００７１】
その装置において、印刷データに含まれる固定オブジェクトが、固定データとは別の他の固定オブジェクトと重なっているか否かをCPUが判定する。また、CPUが重なっていると判定した場合に、固定オブジェクトと他の固定オブジェクトを組み合わせてRIPするか、若しくは、固定オブジェクト若しくは他の固定オブジェクトのいずれか一方をCPUはRIPする。CPUは処理手段の一例であるが、ソフトウェアで構築されていても良い。CPUによってRIP処理されたデータを格納手段の一例であるHDD又はRAMに格納する。さらに、HDD又はRAMによって格納されたデータを繰り返し取り出し、可変オブジェクトそのもの若しくは可変データをRIPしたデータとCPUはマージ処理をする。これにより、印刷用のデータをCPUは出力書誌することができる。なお、本実施例において、リユーザブル・オブジェクトは、ビットマップデータやJPEGデータとしてキャッシュしてもよいが、レンダリングコマンド（いわゆる中間ビットマップ表現）としてキャッシュしてもよい。
【００７２】
しかしながら、第４及び第５の実施例は、第２及び第３の実施例と組み合わせることも可能である。その場合には、第２及び第３の実施例において、リユーザブル・オブジェクトがグローバル・リユーザブル・オブジェクトでないと判定された場合に、結合処理（図６及び図９のＳ６０１）で説明したような結合処理を行う。若しくは、リユーザブル・オブジェクトがグローバル・リユーザブル・オブジェクトであると判定された場合に、そのリユーザブル・オブジェクトを他のジョブで用いるために一旦、キャッシュに格納してから結合処理を行う。
【００７３】
また、既に説明したように、第１、第４及び第５の実施例においては、画像処理装置において受信したバリアブル印刷ジョブに対して、リユーザブル・オブジェクトの上位オブジェクトと重なる部分をノックアウト処理する。この方法は、バリアブル印刷ジョブを受信する画像処理装置のみならず、バリアブル印刷ジョブを生成するアプリケーションにおいても適用することが可能である。
【００７４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2010109967.tif 000003
【図２】
2010109967.tif 000004
【図３】
2010109967.tif 000005
【図４】
2010109967.tif 000006
【図５】
2010109967.tif 000007
【図６】
2010109967.tif 000008
【図７】
2010109967.tif 000009
【図８】
2010109967.tif 000010
【図９】
2010109967.tif 000011
【図１０】
2010109967.tif 000012
【図１１】
2010109967.tif 000013
【図１２】
2010109967.tif 000014
【図１３】
2010109967.tif 000015
【図１４】
2010109967.tif 000016
【図１５】
2010109967.tif 000017