(57)【特許請求の範囲】
【請求項１】
ジョブを指示するデータを生成する第１の装置と、前記データに基づいて、オブジェクトをラスタライズして合成する第２の装置と、を少なくとも備える画像処理システムにおいて、
前記第１の装置は、各々のオブジェクトに対して、当該オブジェクトの形式的な名称に、当該オブジェクトをラスタライズする際に必要な、オブジェクトの画像の幅、画像の高さ、画像を切り出す場合の切り出し位置を特定する情報、画像を拡大、縮小、回転する場合の画像操作を特定する情報、オブジェクトを出力する装置のデバイス名、解像度、カラーモードのいずれかを含む当該オブジェクトに関連する情報を付加してオブジェクト名を生成し、
前記第２の装置は、ラスタライズ後のオブジェクトをメモリにキャッシュすると共に、当該オブジェクトに対して生成されたオブジェクト名をテーブルに登録し、
前記第１の装置は、次のジョブを指示するデータを生成する際に、当該ジョブで利用するオブジェクトが前記テーブルに登録されているかを前記第２の装置に問い合わせ、登録されていないオブジェクトを前記データに付加する、ことを特徴とする画像処理システム。
【請求項２】
前記第２の装置は、前記テーブルに登録されたオブジェクトをキャッシュの必要性を示す所定のパラメータに基づいて重み付けし、必要性が相対的に低いオブジェクトを前記メモリから削除すると共に、当該オブジェクトに対応するオブジェクト名を前記テーブルから削除する、ことを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記所定のパラメータは、オブジェクトの利用回数、オブジェクトサイズ、オブジェクトタイプのいずれかを含む、ことを特徴とする請求項２に記載の画像処理システム。
【請求項４】
ジョブを指示するデータを生成する第１の装置と、前記データに基づいて、オブジェクトをラスタライズして合成する第２の装置と、を少なくとも備える画像処理システムにおける画像処理方法であって、
前記第１の装置が、各々のオブジェクトに対して、当該オブジェクトの形式的な名称に、当該オブジェクトをラスタライズする際に必要な、オブジェクトの画像の幅、画像の高さ、画像を切り出す場合の切り出し位置を特定する情報、画像を拡大、縮小、回転する場合の画像操作を特定する情報、オブジェクトを出力する装置のデバイス名、解像度、カラーモードのいずれかを含む当該オブジェクトに関連する情報を付加してオブジェクト名を生成するオブジェクト名生成ステップと、
前記第２の装置が、ラスタライズ後のオブジェクトをメモリにキャッシュすると共に、当該オブジェクトに対して生成されたオブジェクト名をテーブルに登録するオブジェクト管理ステップと、を少なくとも有し、
前記第１の装置は、次のジョブを指示するデータを生成する際に、当該ジョブで利用するオブジェクトが前記テーブルに登録されているかを前記第２の装置に問い合わせ、登録されていないオブジェクトを前記データに付加する、ことを特徴とする画像処理方法。
【請求項５】
前記オブジェクト管理ステップでは、前記テーブルに登録されたオブジェクトをキャッシュの必要性を示す所定のパラメータに基づいて重み付けし、必要性が相対的に低いオブジェクトを前記メモリから削除すると共に、当該オブジェクトに対応するオブジェクト名を前記テーブルから削除する、ことを特徴とする請求項４に記載の画像処理方法。
【請求項６】
前記所定のパラメータは、オブジェクトの利用回数、オブジェクトサイズ、オブジェクトタイプのいずれかを含む、ことを特徴とする請求項５に記載の画像処理方法。
【請求項７】
ジョブを指示するデータを生成する第１の装置と、前記データに基づいて、オブジェクトをラスタライズして合成する第２の装置と、を少なくとも備える画像処理システムにおける前記第１の装置で動作するオブジェクト名生成プログラムであって、
コンピュータを、
前記第２の装置のメモリにキャッシュされる各々のオブジェクトに対して、当該オブジェクトの形式的な名称に、当該オブジェクトをラスタライズする際に必要な、オブジェクトの画像の幅、画像の高さ、画像を切り出す場合の切り出し位置を特定する情報、画像を拡大、縮小、回転する場合の画像操作を特定する情報、オブジェクトを出力する装置のデバイス名、解像度、カラーモードのいずれかを含む当該オブジェクトに関連する情報を付加してオブジェクト名を生成するオブジェクト名生成部、として機能させることを特徴とするオブジェクト名生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム及び画像処理方法並びにオブジェクト名生成プログラムに関し、特に、オブジェクトを再利用する画像処理システム及び画像処理方法並びにオブジェクト名生成プログラムに関する。
【背景技術】
【０００２】
プリンタや複合機（ＭＦＰ：Multi Function Peripheral）などの印刷装置（以下、画像形成装置と呼ぶ。）が普及している。画像形成装置を用いて印刷する場合、ページ記述言語（ＰＤＬ：Page Description Language）形式の印刷データを解析し、ページ毎にビットマップ展開（ラスタライズ）してイメージデータを作成し、そのイメージデータに基づいて印刷が実行される。
【０００３】
ここで、複数部の印刷物を作成する場合、通常の印刷形態では印刷物毎にイメージデータを作成する必要はないが、文字や画像などのオブジェクト（コンテンツ）を差し替えて印刷する印刷形態（このような印刷形態をバリアブル印刷と呼ぶ。）では、印刷物毎にラスタライズを行ってイメージデータを作成する必要があり、このラスタライズの処理に時間がかかるため、システムの処理効率が低下するという問題が生じる。
【０００４】
そこで、バリアブル印刷では、各ページに配置されるオブジェクト（コンテンツ）を、１つのジョブで１度しか使用されないオブジェクトと、１つのジョブで繰り返し利用されるオブジェクト（再利用オブジェクトと呼ぶ。）に分類し、再利用オブジェクトをラスタライズしてメモリにキャッシュしておき、キャッシュしたオブジェクトを再利用することにより、処理効率を上げる手法が採用される（例えば、下記特許文献１参照）。
【０００５】
【特許文献１】特開２００６−２４３８１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、オブジェクトの再利用時に、オブジェクト名とリンクしたラスタライズ後のオブジェクトが存在しなければエラーになってしまうことから、従来はオブジェクトに「File1」のような形式的な名称（他のオブジェクトと区別することを目的とした簡易な名称）を付与してオブジェクトを識別していた。
【０００７】
しかしながら、形式的な名称ではオブジェクトの内容を識別することができないため、例えば、オブジェクト名が同じであるにもかかわらず使用されるオブジェクトの解像度や切り取り領域が違う場合、解像度や画像サイズが同じであるにもかかわらずカラーモードが違う場合などに、ユーザが意図しないオブジェクトが選択されて、誤印刷となってしまう。
【０００８】
そこで、オブジェクトの誤選択の問題を回避するために、オブジェクトに有効範囲を設け、有効範囲内でのみオブジェクトを再利用できるようにしている。しかしながら、オブジェクトに有効範囲を設けると、キャッシュしたオブジェクトを効率的に再利用することができないという問題が生じる。例えば、プリンタＡで、ジョブ１がオブジェクト１を使用し、次のジョブが同じオブジェクト１を使用する場合であっても、再度オブジェクト１をラスタライズしなければならない。
【０００９】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、誤印刷を防止しつつ、オブジェクトの再利用率を上げることができる画像処理システム及び画像処理方法並びにオブジェクト名生成プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、ジョブを指示するデータを生成する第１の装置と、前記データに基づいて、オブジェクトをラスタライズして合成する第２の装置と、を少なくとも備える画像処理システムにおいて、前記第１の装置は、各々のオブジェクトに対して、当該オブジェクトの形式的な名称に、当該オブジェクトをラスタライズする際に必要な、オブジェクトの画像の幅、画像の高さ、画像を切り出す場合の切り出し位置を特定する情報、画像を拡大、縮小、回転する場合の画像操作を特定する情報、オブジェクトを出力する装置のデバイス名、解像度、カラーモードのいずれかを含む当該オブジェクトに関連する情報を付加してオブジェクト名を生成し、前記第２の装置は、ラスタライズ後のオブジェクトをメモリにキャッシュすると共に、当該オブジェクトに対して生成されたオブジェクト名をテーブルに登録し、前記第１の装置は、次のジョブを指示するデータを生成する際に、当該ジョブで利用するオブジェクトが前記テーブルに登録されているかを前記第２の装置に問い合わせ、登録されていないオブジェクトを前記データに付加するものである。
【００１１】
本発明においては、前記第２の装置は、前記テーブルに登録されたオブジェクトをキャッシュの必要性を示す所定のパラメータに基づいて重み付けし、必要性が相対的に低いオブジェクトを前記メモリから削除すると共に、当該オブジェクトに対応するオブジェクト名を前記テーブルから削除する構成とすることができ、前記所定のパラメータは、オブジェクトの利用回数、オブジェクトサイズ、オブジェクトタイプのいずれかを含むことが好ましい。
【００１２】
また、本発明は、ジョブを指示するデータを生成する第１の装置と、前記データに基づいて、オブジェクトをラスタライズして合成する第２の装置と、を少なくとも備える画像処理システムにおける画像処理方法であって、前記第１の装置が、各々のオブジェクトに対して、当該オブジェクトの形式的な名称に、当該オブジェクトをラスタライズする際に必要な、オブジェクトの画像の幅、画像の高さ、画像を切り出す場合の切り出し位置を特定する情報、画像を拡大、縮小、回転する場合の画像操作を特定する情報、オブジェクトを出力する装置のデバイス名、解像度、カラーモードのいずれかを含む当該オブジェクトに関連する情報を付加してオブジェクト名を生成するオブジェクト名生成ステップと、前記第２の装置が、ラスタライズ後のオブジェクトをメモリにキャッシュすると共に、当該オブジェクトに対して生成されたオブジェクト名をテーブルに登録するオブジェクト管理ステップと、を少なくとも有し、前記第１の装置は、次のジョブを指示するデータを生成する際に、当該ジョブで利用するオブジェクトが前記テーブルに登録されているかを前記第２の装置に問い合わせ、登録されていないオブジェクトを前記データに付加するものである。
【００１３】
また、本発明は、ジョブを指示するデータを生成する第１の装置と、前記データに基づいて、オブジェクトをラスタライズして合成する第２の装置と、を少なくとも備える画像処理システムにおける前記第１の装置で動作するオブジェクト名生成プログラムであって、コンピュータを、前記第２の装置のメモリにキャッシュされる各々のオブジェクトに対して、当該オブジェクトの形式的な名称に、当該オブジェクトをラスタライズする際に必要な、オブジェクトの画像の幅、画像の高さ、画像を切り出す場合の切り出し位置を特定する情報、画像を拡大、縮小、回転する場合の画像操作を特定する情報、オブジェクトを出力する装置のデバイス名、解像度、カラーモードのいずれかを含む当該オブジェクトに関連する情報を付加してオブジェクト名を生成するオブジェクト名生成部、として機能させるものである。
【発明の効果】
【００１４】
本発明の画像処理システム及び画像処理方法並びにオブジェクト名生成プログラムによれば、下記記載の効果を奏する。
【００１５】
本発明の第１の効果は、誤印刷を防止しつつ、バリアブル印刷におけるオブジェクトの再利用率を上げることができるということである。
【００１６】
その理由は、所定のルールに従って、オブジェクトの画像情報やオブジェクトを出力するデバイス情報などのオブジェクトに関連する情報を利用してオブジェクト名を生成し、生成したオブジェクト名でラスタライズ後のオブジェクトをメモリにキャッシュすることにより、オブジェクトの有効範囲を広くしても誤ったオブジェクトを選択することがなく、複数のジョブでオブジェクトを再利用することができるからである。
【００１７】
また、本発明の第２の効果は、オブジェクトのキャッシュに必要なメモリ量を低減することができるということである。
【００１８】
その理由は、各々のオブジェクトを、利用回数やサイズ、タイプなどのキャッシュの必要性を示す所定のパラメータに基づいて重み付けし、必要性が相対的に高いオブジェクトを優先的にメモリにキャッシュするからである。
【発明を実施するための最良の形態】
【００１９】
背景技術で示したように、バリアブル印刷において、ラスタライズ後のオブジェクトの再利用率が上がれば処理効率は向上する。しかしながら、ＰＰＭＬ（Personalized Print Markup Language）などに使用されるオブジェクトはそれぞれ有効範囲が規定されており、有効範囲外になった時点でオブジェクトキャッシュ・メモリから破棄され、それ以降、そのオブジェクトの利用はできなくなる。一方、グローバルオブジェクトは有効範囲無しの特別なオブジェクトであり、いつでも利用できるオブジェクトとして保障されている。従って、グローバルオブジェクト以外のオブジェクトもグローバルオブジェクトと同様に扱うことができれば処理効率は向上する。
【００２０】
しかしながら、多数のオブジェクトをメモリにキャッシュした場合、オブジェクトに形式的な名称（他のオブジェクトと区別することを目的とした簡易な名称）を付与すると、オブジェクト名ではオブジェクトの内容を識別することができないためにオブジェクトの誤選択が生じやすくなり、ユーザが意図しないオブジェクトが合成されて誤印刷となってしまう。
【００２１】
そこで、本実施形態では、各々のオブジェクトに対して、所定のルールに従って、当該オブジェクトに関連する情報を利用してオブジェクト名を生成し、生成したオブジェクト名でラスタライズ後のオブジェクトをメモリにキャッシュする。これにより、誤印刷を防止しつつ、多数のオブジェクトを効果的に再利用することができる。
【実施例】
【００２２】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る画像処理システム及び画像処理方法並びにオブジェクト名生成プログラムについて、図１乃至図１１を参照して説明する。図１は、本実施例のバリアブル印刷システムの構成を示すブロック図であり、図２は、バリアブル印刷データ生成装置のプログラム構成、図３は、印刷制御装置のプログラム構成を示す図である。また、図４は、オブジェクトの名前付け方法の一例を示す図であり、図５は、オブジェクト管理テーブルの一例を示す図、図６は、バリアブル印刷結果例とバリアブル印刷データのデータ構成を示す図である。また、図７乃至図９は、バリアブル印刷データ生成装置の処理を示すフローチャート図であり、図１０及び図１１は、印刷制御装置の処理を示すフローチャート図である。
【００２３】
図１に示すように、本実施例の画像処理システム（バリアブル印刷システム１０）は、バリアブル言語の印刷データを生成するバリアブル印刷データ生成装置２０と、バリアブル言語の印刷データを解析してページ毎のイメージデータを生成する印刷制御装置３０と、ページ毎のイメージデータに基づいて印刷を実行する出力装置４０とから構成される。バリアブル印刷データ生成装置２０と印刷制御装置３０はＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）などのネットワークで接続されており、印刷制御装置３０と出力装置４０は専用のインターフェースで接続されている。
【００２４】
バリアブル印刷データ生成装置２０は、ＣＰＵ（Central Processing Unit）２１、ＲＯＭ（Read Only Memory）２２、ＲＡＭ（Random Access Memory）２３、ＨＤＤ（Hard Disk Drive）２４、ＮＩＣ（Network Interface Card）２５等から構成され、ＲＯＭ２２やＨＤＤ２３に記憶されたプログラムをＲＡＭ２３に展開し、ＣＰＵ２１で実行する。ＨＤＤ２４にはバリアブル印刷におけるオブジェクト（コンテンツ）の配置を規定するレイアウトデータとラスタライズ前のオブジェクトデータとユーザ情報を含む顧客情報データベースとが格納されている。ＮＩＣ２５は印刷制御装置３０との通信処理を行う。
【００２５】
印刷制御装置３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、ＶＩＦ（Video Interface）３４、ＮＩＣ３５等から構成され、ＲＯＭ３２に記憶されたプログラムをＲＡＭ３３に展開し、ＣＰＵ３１で実行する。ＲＡＭ３３には、ラスタライズ後のオブジェクトデータを格納するキャッシュメモリ（オブジェクトキャッシュ）とオブジェクト名を管理する管理テーブル（オブジェクト管理テーブル）とが格納されている。ＶＩＦ３４は出力装置４０に合成した画像を転送するために使用する。
【００２６】
出力装置４０は、ネットワークプリンタや複合機などの画像形成装置である。
【００２７】
図２は、バリアブル印刷データ生成装置２０のプログラム構成を示す図であり、コンピュータを、レイアウト制御編集部、バリアブル印刷制御部、オブジェクト名生成部、オブジェクト有無確認部、バリアブル印刷データ生成部などとして機能させるプログラムを備える。
【００２８】
レイアウト制御編集部は、レイアウトデータを作成・編集し、ＨＤＤ２４に保存する。また、ＨＤＤ２４にある顧客情報データベースの項目と指定されたレイアウトデータのレイアウト枠とのリンクを行う。このレイアウトデータはレイアウト枠の配置情報とオブジェクトをレイアウト枠に貼り付けるための制御情報とが含まれている。
【００２９】
バリアブル印刷制御部は、出力先として指定された印刷制御装置３０の解像度やカラーモードなどの情報を基にレイアウト枠に貼り付けるオブジェクトを特定する。
【００３０】
オブジェクト名生成部は、バリアブル印刷制御部で特定されたオブジェクトに対して、所定のルールに従って、オブジェクトに関連する情報を利用してオブジェクト名を生成する。なお、名前付けの方法に関しては後述する。
【００３１】
オブジェクト有無確認部は、オブジェクト名生成部で名前付けされたオブジェクト名が指定された印刷制御装置３０のオブジェクトキャッシュに存在するかを確認する。
【００３２】
バリアブル印刷データ生成部は、オブジェクト名有無確認部にて確認したオブジェクト名の有無により、オブジェクトが存在する場合はオブジェクト名とレイアウトデータのみのバリアブル印刷データを生成し、オブジェクトが存在しない場合はオブジェクト名とレイアウトデータとラスタライズ前のオブジェクトデータを含んだバリアブル印刷データを生成する。
【００３３】
なお、レイアウト制御編集部、バリアブル印刷制御部、オブジェクト名生成部、オブジェクト有無確認部、バリアブル印刷データ生成部はプログラムとして構成してもよいし、ハードウェアとして構成してもよい。
【００３４】
図３は、印刷制御装置３０のプログラム構成を示す図であり、コンピュータを、バリアブル言語解析部、オブジェクト管理部、ＲＩＰ（Raster Image Processor）部、画像合成部、エンジンＩ／Ｆ部として機能させるプログラムを備える。
【００３５】
バリアブル言語解析部は、バリアブル印刷データ生成装置２０から送信されたバリアブル印刷データを解析する。
【００３６】
オブジェクト管理部は、バリアブル言語解析部で解析したバリアブル印刷データにキャッシュすべきオブジェクトが含まれている場合は、そのオブジェクトやオブジェクト名を取り出す。
【００３７】
ＲＩＰ部は、オブジェクトをラスタライズし、ラスタライズ後のオブジェクトデータをオブジェクトキャッシュに格納し、オブジェクト名をオブジェクト管理テーブルに登録する。
【００３８】
画像合成部は、バリアブル言語解析部で解析したレイアウトデータを基にラスタライズ後のオブジェクトデータを合成して、ページ毎のイメージデータを作成する。
【００３９】
エンジンＩ／Ｆ部は、画像合成部で作成したページ毎のイメージデータを出力装置４０に転送する。
【００４０】
なお、バリアブル言語解析部、オブジェクト管理部、ＲＩＰ部、画像合成部、エンジンＩ／Ｆ部はプログラムとして構成してもよいし、ハードウェアとして構成してもよい。
【００４１】
次に、バリアブル印刷データ生成装置２０のオブジェクト名生成部（オブジェクト名生成プログラム）で行うオブジェクトの名前付け方法について説明する。
【００４２】
オブジェクトの名称は他のオブジェクトと識別できるようにすることを目的としており、従来は、例えば、「File1.tif」のような形式的な名称としていた。そのため、この名称を見ただけでは、そのオブジェクトがどのようなオブジェクトであるかを認識することができず、誤印刷の原因となっていた。これは、例えば、形式的な名称だけでは、オブジェクトをラスタライズ処理する際の処理パラメータ（例えば、解像度、画像の幅、画像の高さ、カラーモード等）が不明であったことに由来する。
【００４３】
そこで、本実施例では、オブジェクトの元のファイル名（形式的な名称）に、オブジェクトの画像情報や出力装置４０のデバイス情報などのオブジェクトに関連する情報を付加する。例えば、以下のようなオブジェクトの場合、図４に示すように、オブジェクト名を「File1.tif_D600W412H655_DV22C-KM_CMYK」とする。
【００４４】
オブジェクトの元のファイル名： File1.tif
解像度：600dpi
画像の幅：412ピクセル
画像の高さ：655ピクセル
プリンタデバイス名：22C-KM
カラーモード：カラー(CMYK)
【００４５】
このように、所定のルールに従って、画像情報やデバイス情報などのオブジェクトに関連する情報を利用してオブジェクト名を生成することにより、オブジェクト名からどのようなオブジェクトであるかが分かるため、オブジェクトの誤選択を防止することができる。これにより、オブジェクトの利用範囲を広げて多数のオブジェクトをキャッシュすることが可能となり、ラスタライズ後のオブジェクトの再利用率を上げて、システムの処理効率を向上させることができる。
【００４６】
上記ルールは、オブジェクト名の名前付け方法の一例であり、オブジェクトが画像ファイルからクリップボックスを使って画像が切り出されている場合は、切り出し位置を特定するクリップボックス情報をオブジェクト名に付加することもできる。例えば、クリップボックスの左下座標が（x=-1,y=0）、右上座標が（x=200,y=100）の場合は、クリップボックス座標である（-1,0,200,100）をCB_-1_0_200_100としてオブジェクト名に付加してもよく、この場合、オブジェクト名は、「File1_tif_D600W412H655_CB_-1_0_200_100_DV22C-KM_CMYK」のようになる。
【００４７】
また、オブジェクトに対して拡大縮小、回転などの画像変換がされている場合は、変換行列（Transformation Matrix）などの画像操作を特定する情報をオブジェクト名に付加することもできる。例えば、反時計回りに90°回転する場合の変換行列である（0,1,-1,0,0,0）をTM0_1_-1_0_0_0としてオブジェクト名に付加してもよく、この場合、オブジェクト名は、「File1_tif_D600W412H655_DV22C-KM_CMYK_TM0_1_-1_0_0_0」のようになる。
【００４８】
また、オブジェクトの画像変換をクリップ矩形にて画像が切り出されている場合は、切り出し位置を特定するクリップ情報をオブジェクト名に付加することもできる。例えば、クリップ矩形の左下座標が（x=0,y=0）、右上座標が（x=90,y=100）の場合は、クリップ矩形座標である（0,0,90,100）をCR_0_0_90_100としてオブジェクト名に付加してもよく、この場合、オブジェクト名は、「File1_tif_D600W412H655_DV22C-KM_CMYK_TM0_1_-1_0_0_0_CR_0_0_90_100」のようになる。
【００４９】
なお、本実施例では、オブジェクト名に、画像の幅、画像の高さ、プリンタデバイス名、解像度、カラーモード、クリップボックス情報、画像操作情報、クリップ情報などを付加する構成としたが、オブジェクト名には、オブジェクトをラスタライズして得られた画像データを特定するのに十分な情報が、オブジェクトに関連する情報として含まれていればよい。
【００５０】
次に、上記ルールで名前付けされたオブジェクト名を管理するオブジェクト管理テーブルについて説明する。
【００５１】
図３で示したように、印刷制御装置３０内のＲＡＭ３３上にオブジェクト管理テーブルとオブジェクトキャッシュがある。図５はオブジェクト管理テーブルとオブジェクトキャッシュに格納されたオブジェクトがどのような関係になるかを示した図である。オブジェクト管理テーブルは、オブジェクト名とオブジェクトがオブジェクトキャッシュのどこに格納されているかを示すアドレス情報とで構成され、オブジェクト名と実際のオブジェクトがリンクされている。従って、オブジェクト管理テーブルを検索することでオブジェクトの有無やオブジェクトの取り出しが可能になる。
【００５２】
なお、印刷制御装置３０だけにオブジェクト管理テーブルを持たせているのは、バリアブル印刷データ生成装置２０が複数の印刷制御装置３０にバリアブル印刷データを転送する可能性を想定しているからである。すなわち、バリアブル印刷データ生成装置２０にオブジェクト管理テーブルを持つと、印刷制御装置３０毎の複数のオブジェクト管理テーブルが必要になり、印刷制御装置３０側でオブジェクトが削除された場合や登録が発生した場合、バリアブル印刷データ生成装置２０内の該当データベースを更新し、常に同期をとらなければ整合性が保てなくなる。そこで、このような煩雑さを避けるため、印刷制御装置３０内だけでオブジェクト管理テーブルを操作し、オブジェクトのキャッシュ登録や削除が発生したら各印刷制御装置３０内のオブジェクト管理テーブルとオブジェクトキャッシュの整合性を維持する。このように、バリアブル印刷データ生成装置２０は、各印刷制御装置３０内の整合性のあるオブジェクト管理テーブルを参照して、どのようなバリアブル印刷データを印刷制御装置３０に転送すれば正しく出力されるかを確認した後、バリアブル印刷データを生成することで確実に期待した印刷結果を得ることができる。
【００５３】
次に、バリアブル印刷の例について説明する。
【００５４】
図６は、バリアブル印刷例を示すイメージ図であり、オブジェクトを再利用しない場合とオブジェクトを再利用する場合のデータ量の違いを示している。バリアブル印刷結果例のような宛名、再利用Obj1/Obj2/Obj3/Obj4を組合せたバリアブル印刷データがあった場合、オブジェクトの再利用率が多いとバリアブル印刷データの量が減少する。
【００５５】
例えば、バリアブル印刷データ例１は、オブジェクトキャッシュにオブジェクトが無い状態で印刷処理装置３０にバリアブル印刷データを処理させる場合のデータ構成である。この場合、オブジェクトキャッシュにラスタライズ後のオブジェクトが無く、バリアブル印刷データに再利用Obj1/Obj2/Obj3/Obj4が含まれるため、データ量が大きくなる。バリアブル印刷データ例２は、再利用Obj1/Obj4を再利用したときのデータ構成である。この場合、バリアブル印刷データに再利用Obj2/Obj3のみが含まれるため、データ量が大幅に減少していることが分かる。バリアブル印刷データ例３は、全てのオブジェクトが再利用されたデータ構成である。この場合、バリアブル印刷データにオブジェクトが含まれないため、データ量を最も少なくすることができる。
【００５６】
次に、本実施例のバリアブル印刷システム１０の具体的な処理について説明する。
【００５７】
バリアブル印刷データ生成装置２０は、バリアブル印刷データを生成する過程で使用するオブジェクト名の名前付け方法に従ったオブジェクト名を使い、ラスタライズ後のオブジェクトが印刷制御装置３０内にキャッシュされているか確認を行い、キャッシュされている場合はキャッシュされたラスタライズ後のオブジェクトを再利用するようなバリアブル印刷データを生成し、キャッシュされていない場合はラスタライズ前のオブジェクトデータを含んだバリアブル印刷データを生成する。印刷制御装置３０は、バリアブル印刷データ生成装置２０で名前付けされたオブジェクト名を使ってラスタライズ後のオブジェクトの管理を行い、バリアブル印刷データ生成装置２０からオブジェクト名の存在確認に対して回答し、バリアブル印刷データがジョブとして送付されたら処理を行う。以下、図７乃至図１１を参照して、バリアブル印刷データ生成装置２０及び印刷制御装置３０の処理について個別に説明する。
【００５８】
［バリアブル印刷データ生成装置の処理］
図７に示すように、ステップＳ１０１でユーザからの印刷要求が発生すると、ステップＳ１０２で、レイアウト制御編集部はレイアウトデータを生成する。図８にレイアウト制御編集部の具体的な処理を示す。レイアウト制御編集部は、ステップＳ１０２ａでＨＤＤ２４に保存されたレイアウトデータの中から印刷要求に合致するレイアウトを選択し、ステップＳ１０２ｂで選択したレイアウトに顧客情報データベースがリンクされているかを判断する。リンクされていない場合は、ステップＳ１０２ｃで顧客情報データベースを選択し、ステップＳ１０２ｄで、顧客情報データベースの項目（カラム）とレイアウト枠とをリンクさせる。次に、ステップＳ１０２ｅで必要に応じてレイアウト枠の属性設定を行う。例えば、レイアウト枠に貼り付けられるオブジェクトの幅、高さ、画像操作（拡大縮小、回転、オブジェクトを枠のサイズに合わせるなど）を設定する。そして、設定／変更したレイアウトデータを保存する場合（ステップＳ１０２ｆのＹｅｓの場合）は、ステップＳ１０２ｇでレイアウトデータをＨＤＤ２４に保存する。
【００５９】
次に、図７に戻って、ステップＳ１０３で、バリアブル印刷制御部は、レイアウト編集制御部にてリンクされた顧客情報データベースのレコード（１件分のデータ）を読み込み、選択したレイアウトのレイアウト枠に適用する。次に、ステップＳ１０４で、バリアブル印刷制御部は、顧客情報データベースのレコードからレイアウト枠に配置されるオブジェクトデータを特定してＨＤＤ２４から取り出し、必要に応じて、レイアウト枠に対して設定された、幅、高さ、画像操作などの属性情報を取得する。
【００６０】
そして、取り出したオブジェクトデータをオブジェクト名生成部に転送し、ステップＳ１０５で、オブジェクト名生成部はオブジェクト名を生成する。図９にオブジェクト名生成部の処理の流れを示す。オブジェクト名生成部は、ステップＳ１０５ａでオブジェクトの元のファイル名を取り出し、そのファイル名を名前バッファにコピーする。次に、ステップＳ１０５ｂでオブジェクトの幅、高さなどの画像情報を取り出し、文字列に変換した後、名前バッファに追加コピーする。次に、ステップＳ１０５ｃでプリンタデバイス名、解像度、カラーモードなどのプリンタ情報を取り出し、文字列に変換した後、名前バッファに追加コピーする。次に、ステップＳ１０５ｄでオブジェクトにクリップボックスが使われているかを判断し、使われている場合は、ステップＳ１０５ｅでクリップボックス情報を取り出し、文字列に変換した後、名前バッファに追加コピーする。次に、ステップＳ１０５ｆでオブジェクトの画像操作が指定されているかを判断し、指定されている場合は、ステップＳ１０５ｇでオブジェクトの画像操作（拡大縮小、回転など）情報を取り出し、文字列に変換した後、名前バッファに追加コピーする。次に、ステップＳ１０５ｈでオブジェクトのクリップ操作が指定されているかを判断し、指定されている場合は、ステップＳ１０５ｉでオブジェクトのクリップ情報を取り出し、文字列に変換した後、名前バッファに追加コピーする。そして、ステップＳ１０５ｊで名前バッファの文字列をオブジェクト名としてリターンする。
【００６１】
次に、図７に戻って、ステップＳ１０６で、オブジェクト名有無判定部は、生成されたオブジェクト名が出力先の印刷制御装置３０内のオブジェクト管理テーブルに存在するか印刷制御装置３０に問い合わせを行う。印刷制御装置３０内にオブジェクト名が存在しない場合（ステップＳ１０７のＮｏの場合）は、ステップＳ１０８で、バリアブル印刷データ生成部は、オブジェクトデータをバリアブル印刷データ用に変換する。次に、ステップＳ１０９で、バリアブル印刷データ生成部は、レイアウト枠の配置情報をバリアブル印刷データとして作成する。次に、ステップＳ１１０で、次のレイアウト枠があるかを判断し、全てのレイアウト枠に対して、ステップＳ１０５〜Ｓ１０９の処理を繰り返す。次に、ステップＳ１１１で、顧客情報データベースの次のレコードがあるかを判断し、全てのレコードに対して、ステップＳ１０３〜Ｓ１１０の処理を繰り返す。そして、全てのレコードの処理が終了したら、ステップＳ１１２で生成したバリアブル印刷データを印刷制御装置３０にジョブとして転送する。
【００６２】
［印刷制御装置の処理］
図１０に示すように、ステップＳ２０１で、制御部は、バリアブル印刷データ生成装置２０からの要求を監視する。ジョブ要求の場合（ステップＳ２０２のＹｅｓの場合）は、バリアブル言語解析部によりバリアブル言語を解析し、バリアブル印刷データがオブジェクトの登録要求の場合（ステップＳ２０４のＹｅｓの場合）は、オブジェクト管理部に処理を依頼する。一方、ジョブ要求で無い場合（ステップＳ２０２のＮｏの場合）は、ステップＳ２０５でオブジェクト名の問合せであるかを判断し、問合せでなければステップＳ２０１に戻り、問合せであればオブジェクト管理部に処理を依頼する。
【００６３】
図１１にオブジェクト管理部の処理の流れを示す。オブジェクト管理部は、ステップＳ２０６ａで要求がオブジェクト登録であるかを判断し、オブジェクト登録の場合は、ステップＳ２０６ｂでバリアブル印刷データをＲＩＰ部に転送し、オブジェクトのラスタライズを依頼する。次に、ステップＳ２０６ｃで、ＲＩＰ部からラスタライズ後のオブジェクトを受け取り、オブジェクトキャッシュに格納する。そして、ステップＳ２０６ｄで、そのオブジェクトのオブジェクト名をオブジェクト管理テーブルに登録する。一方、要求がオブジェクト登録でない場合は、ステップＳ２０６ｅで、オブジェクト名の問合せであるかを判断し、オブジェクト名の問合せであれば、ステップＳ２０６ｆで問い合わせのオブジェクト名がオブジェクト管理テーブルに存在するかを確認し、ステップＳ２０６ｇでその確認結果をリターンする。
【００６４】
図１０に戻って、ステップＳ２０７で、バリアブル言語解析部は、バリアブル印刷データから配置情報を取り出し、画像合成部に転送する。次に、ステップＳ２０８で、１ページ分の解釈が終了したかを判断し、終了していなければステップＳ２０３に戻ってバリアブル言語の解釈を行う。１ページ分の解釈が終了したら、ステップＳ２０９で、オブジェクト管理部は、ページに必要なオブジェクトがオブジェクトキャッシュに揃っているかを判断し、揃っている場合は、ステップＳ２１０で、画像合成部で１ページ分の画像合成を行い、合成画像をエンジンＩ／Ｆ部に転送し、ステップＳ２１１で、エンジンＩ／Ｆ部は合成画像を出力装置４０に転送する。その後、ステップＳ２１２で、ジョブが終了したかを判断し、終了していなければステップＳ２０３に戻ってバリアブル言語の解釈を行い、終了したらステップＳ２０１に戻ってバリアブル印刷データ生成装置２０からの要求を監視する。
【００６５】
このように、バリアブル印刷データ生成装置２０のオブジェクト名生成部でオブジェクトに関連する情報を利用してオブジェクト名を生成し、印刷制御装置３０のオブジェクトキャッシュにラスタライズ後のオブジェクトデータを保存すると共にオブジェクト管理テーブルにオブジェクト名を登録しておき、ジョブ要求に際して、バリアブル印刷データ生成装置２０はジョブで利用するオブジェクトがオブジェクトキャッシュに保存されているかを印刷制御装置３０に問い合わせてバリアブル印刷データを生成するため、誤印刷を防止しつつ、オブジェクトの再利用率を上げ、システムの処理効率を向上させることができる。
【００６６】
ここで、ラスタライズ後のオブジェクトをできるだけ多くキャッシュした方が処理効率は向上するが、印刷制御装置３０内のオブジェクトキャッシュの記憶領域には物理的な制限があり、キャッシュ可能なオブジェクトの数量には限りがある。一方、オブジェクトキャッシュに登録されているオブジェクトには、利用頻度が高いものもあれば、あまり利用されないものもある。また、オブジェクトのキャッシュはラスタライズの時間をセーブするために行われるが、オブジェクトのサイズやタイプによっては、オブジェクトキャッシュからオブジェクトを取り出す時間と、オブジェクトをラスタライズする時間に大きな差がない場合がある。
【００６７】
上記課題に対して、オブジェクトを一律にキャッシュするのではなく、利用回数、オブジェクトサイズ（面積）、オブジェクトタイプなどのキャッシュの必要性を示す情報をパレメータとし、そのパラメータを数値化してオブジェクトに重み付けを行い、必要性が相対的に高いオブジェクトを優先的にキャッシュすることもできる。
【００６８】
例えば、表１のように、オブジェク管理テーブルに７つのオブジェクトが登録されているとする。この場合、オブジェクトタイプを表２に従って数値化し、式１に従って各オブジェクトの重みを算出する。
【００６９】
【表１】
0004596285.tif 000002
【００７０】
【表２】
0004596285.tif 000003
【００７１】
（利用回数）×（Object Size）＋（Object Type）  …  （１）
【００７２】
表３は、表１に重みの欄を設け、算出した重みを付け加えたものである。そして、オブジェクト管理テーブルの各オブジェクトをオブジェクトの重みが高いものからソートすると表４のようになる。
【００７３】
【表３】
0004596285.tif 000004
【００７４】
【表４】
0004596285.tif 000005
【００７５】
この表の上位にあるオブジェクトは可能な限り、キャッシュに存在することで処理効率が良くなり、下位にあるオブジェクト（例えば、最下位２件の重みが２０に満たないオブジェクト）は、キャッシュしても効果は低いとして、オブジェクトキャッシュから削除する。このように、登録されているオブジェクトを、必要性が相対的に高いオブジェクトと必要性が相対的に低いオブジェクトとに分類し、必要性が相対的に低いオブジェクトをオブジェクトキャッシュから削除することにより、記憶資源の有効活用とオブジェクト再利用率の向上を図ることができる。
【００７６】
なお、上記例では、オブジェクトの利用回数、オブジェクトサイズ（面積）、オブジェクトタイプをパレメータとして重み付けを行ったが、パラメータはこれらに限定されず、キャッシュの必要性の指標となる任意の情報を用いることができる。
【００７７】
また、上記実施例では、バリアブル印刷に関して説明したが、本発明は上記実施例に限定されるものではなく、ラスタライズ後のオブジェクトデータをキャッシュして再利用する任意の印刷形態に対して同様に適用することができる。また、上記実施例では、印刷を前提にして説明したが、ラスタライズ後のオブジェクトデータを再利用して作成したイメージデータを表示する場合に対しても同様に適用することができる。
【産業上の利用可能性】
【００７８】
本発明は、ラスタライズ後のオブジェクトをキャッシュして再利用する画像処理システム、特に、バリアブル印刷システムに利用可能である。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施例に係るバリアブル印刷システムの構成を示すブロック図である。
【図２】本発明の一実施例に係るバリアブル印刷データ生成装置のプログラム構成を示す図である。
【図３】本発明の一実施例に係る印刷制御装置のプログラム構成を示す図である。
【図４】本発明の一実施例に係るオブジェクトの名前付け方法の一例を示す図である。
【図５】本発明の一実施例に係るオブジェクト管理テーブルの一例を示す図である。
【図６】本発明の一実施例に係るバリアブル印刷結果例とバリアブル印刷データのデータ構成を示す図である。
【図７】本発明の一実施例に係るバリアブル印刷データ生成装置の処理を示すフローチャート図である。
【図８】本発明の一実施例に係るバリアブル印刷データ生成装置のレイアウト制御編集部の処理を示すフローチャート図である。
【図９】本発明の一実施例に係るバリアブル印刷データ生成装置のオブジェクト名生成部の処理を示すフローチャート図である。
【図１０】本発明の一実施例に係る印刷制御装置の処理を示すフローチャート図である。
【図１１】本発明の一実施例に係る印刷制御装置のオブジェクト管理部の処理を示すフローチャート図である。
【符号の説明】
【００８０】
１０  バリアブル印刷システム
２０  バリアブル印刷データ生成装置
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  ＨＤＤ
２５  ＮＩＣ
３０  印刷制御装置
３１  ＣＰＵ
３２  ＲＯＭ
３３  ＲＡＭ
３４  ＶＩＦ
３５  ＮＩＣ
４０  出力装置
【図１】
0004596285.tif 000006
【図２】
0004596285.tif 000007
【図３】
0004596285.tif 000008
【図４】
0004596285.tif 000009
【図５】
0004596285.tif 000010
【図６】
0004596285.tif 000011
【図７】
0004596285.tif 000012
【図８】
0004596285.tif 000013
【図９】
0004596285.tif 000014
【図１０】
0004596285.tif 000015
【図１１】
0004596285.tif 000016