(57)【要約】【課題】  オブジェクトを含む画像を迅速に出力させることができる画像処理装置を提供することを目的とする。【解決手段】  出力対象の画像に配置されるオブジェクトと、参照候補の画像に配置されるオブジェクトとに基づいて、当該出力対象の画像と、当該参照候補の画像との相関性を判定し、判定された相関性に基づき、出力対象の画像に対応する参照画像を決定する。  そして、決定された前記参照画像と、前記出力対象の画像との差分を取得し、取得された当該差分を出力装置に送信して、当該出力装置に、当該差分を当該参照画像に反映させることにより、当該出力装置に当該出力対象の画像を出力させる。【選択図】  図４
2013123118.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトを取得し、取得されたオブジェクトが配置された画像を作成する作成手段と、
前記作成手段により作成される出力対象の画像に配置されるオブジェクトと、参照候補の画像に配置されるオブジェクトとに基づいて、当該出力対象の画像と、当該参照候補の画像との相関性を判定する判定手段と、
前記判定手段により判定された相関性に基づき、前記出力対象の画像に対応する参照画像を決定する決定手段と、
前記決定手段により決定された参照画像と、前記出力対象の画像との差分を取得し、取得された当該差分を出力装置に送信して、当該出力装置に、当該差分を当該参照画像に反映させることにより、当該出力装置に当該出力対象の画像を出力させる出力制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記作成手段は、メモリに記憶されているオブジェクトを繰り返し利用することによって、当該オブジェクトを複数の画像に配置することが可能であり、前記判定手段は、複数の画像に利用される、前記メモリに記憶されているオブジェクトに基づき、当該複数の画像の相関性を判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記出力対象の画像と前記参照候補の画像に配置されるオブジェクトと、当該オブジェクトが配置される配置位置に基づき、当該出力対象の画像と当該参照候補の画像の相関性を判定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記作成手段は、オブジェクトと、前記作成手段により作成される画像においてオブジェクトが配置される配置位置を特定するためのレイアウト情報を取得し、前記判定手段は、前記レイアウト情報により特定された配置位置に基づき、前記出力対象の画像と前記参照候補の画像の相関性を判定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記レイアウト情報は、前記作成手段により作成される画像におけるオブジェクトの配置位置と、当該画像に配置されるオブジェクトを特定するための情報であり、前記判定手段は、前記レイアウト情報により特定されたオブジェクトと当該オブジェクトの配置位置に基づき、前記出力対象の画像と前記参照候補の画像の相関性を判定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記判定手段は、前記作成手段により作成される画像に配置されるオブジェクトの、当該画像における面積と、当該画像において配置される数の少なくとも一方に基づき、前記出力対象の画像と前記参照候補の画像の相関性を判定することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記出力装置は、当該出力装置自身が出力した画像のうちの、前記決定手段により決定された参照画像に対応する画像に、前記出力制御手段により送信された差分を反映することにより前記出力対象の画像を作成し、作成された当該出力対象の画像を出力することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記出力制御手段は、前記出力装置に、前記差分と、前記決定手段により決定された参照画像を特定するための特定情報を送信し、前記出力装置は、当該特定情報により特定された参照画像に対応する画像に、当該差分を反映することによって、前記出力対象の画像を作成することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記決定手段は、前記出力対象の画像と前記参照候補の画像との相関性に基づき、当該出力対象の画像に対応する参照画像を決定するか判定し、参照画像を決定すると判定した場合に、前記参照候補の画像から、参照画像を決定することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記決定手段は、前記参照画像を決定しないと判定した場合、前記出力制御手段は、前記出力対象の画像と参照画像との差分を取得せずに、当該出力対象の画像を前記出力装置に送信することによって、当該出力対象の画像を出力させることを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
オブジェクトを取得し、取得されたオブジェクトが配置された画像を作成し、
作成される出力対象の画像に配置されるオブジェクトと、参照候補の画像に配置されるオブジェクトとに基づいて、当該出力対象の画像と、当該参照候補の画像との相関性を判定し、
判定された前記相関性に基づき、前記出力対象の画像に対応する参照画像を決定し、
決定された前記参照画像と、前記出力対象の画像との差分を取得し、取得された当該差分を出力装置に送信して、当該出力装置に、当該差分を当該参照画像に反映させることにより、当該出力装置に当該出力対象の画像を出力させることを特徴とする画像処理方法。
【請求項１２】
請求項１１に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトが含まれている画像を出力させる画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
印刷対象の画像を構成する複数のオブジェクトの一部を画像ごとに差換え、また複数の画像に共通のオブジェクトを繰り返し利用することにより、複数の画像を印刷装置に印刷させるバリアブル印刷が知られている。このように、バリアブル印刷では一部のオブジェクトを差し替え、また一部のオブジェクトを繰り返し利用することができるため、例えば同じ内容のハガキを宛て名だけ変更して印刷させることができる。
【０００３】
このようなバリアブル印刷を実現するシステムとして、クライアントＰＣとサーバとプリンタを含む印刷システムがある。このシステムでは、クライアントＰＣから、複数の画像で共通に使用されるマスタデータを予めサーバに転送し、サーバ内のメモリに記憶させておく。そして印刷時には、差換データをクライアントＰＣからサーバに転送し、サーバにおいて、マスタデータと差替えデータとを含むページ画像を作成して、プリンタに印刷させる。この印刷システムによれば、クライアントＰＣは印刷のたびにマスタデータをサーバに転送する必要がないため、クライアントＰＣとサーバ間のデータ転送量を抑えることができる。
【０００４】
しかしながら、サーバはオブジェクトが配置されている画像をプリンタに転送するため、複数の画像において共通する部分があった場合には、同内容の画像データを重複して転送することになる。特許文献１には、印刷対象の画像と、その印刷対象の画像に対して基準となる基準画像の差分を生成して、その差分を転送することが記載されている。この差分を受信したプリンタでは、その差分を、予め記憶しておいた上記の基準画像に加えることで、上記の印刷対象の画像を復元する。このように、２つの画像間の差分を印刷データとして転送することで、データ転送量を抑えることが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１６７５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の特許文献１の記載の技術では、２つの画像間の差分をプリンタに転送するが、差分を取得する２つの画像の内容が大きく異なる場合、差分のデータ量が多くなってしまい、プリンタへのデータ転送量が多くなってしまうことがある。この場合、データ転送に多くの時間を要してしまい、プリンタが画像の復元、印刷を迅速に行うことができない場合がある。
【０００７】
本発明は上記の課題を鑑みて、オブジェクトを含む画像を迅速に出力させることができる画像処理装置、画像処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の画像処理装置は、オブジェクトを取得し、取得されたオブジェクトが配置された画像を作成する作成手段と、前記作成手段により作成される出力対象の画像に配置されるオブジェクトと、参照候補の画像に配置されるオブジェクトとに基づいて、当該出力対象の画像と、当該参照候補の画像との相関性を判定する判定手段と、前記判定手段により判定された相関性に基づき、前記出力対象の画像に対応する参照画像を決定する決定手段と、前記決定手段により決定された参照画像と、前記出力対象の画像との差分を取得し、取得された当該差分を出力装置に送信して、当該出力装置に、当該差分を当該参照画像に反映させることにより、当該出力装置に当該出力対象の画像を出力させる出力制御手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、オブジェクトを含む画像を迅速に出力させることができる。
【図面の簡単な説明】
【００１０】
【図１】バリアブル印刷システムの構成を示すブロック図である。
【図２】圧縮処理部内の構成を示すブロック図である。
【図３】伸張処理部内の構成を示すブロック図である。
【図４】圧縮処理部内の制御部のフローチャートである。
【図５】伸張処理部内の制御部のフローチャートである。
【図６】バリアブル印刷を実行した結果のオブジェクトの配置例である。
【図７】圧縮処理部内の参照データを特定するフローチャートである。
【図８】圧縮処理部内の参照データを特定するフローチャートである。
【図９】圧縮処理内の構成を示すブロック図である。
【図１０】圧縮符号化方法と参照ページを示した表である。
【図１１】圧縮符号化方法と参照ページを示した表である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施例を詳細に説明する。
【実施例１】
【００１２】
本実施例のバリアブル印刷システムは、ホストＰＣとサーバとプリンタを含み、ホストＰＣからサーバにオブジェクトを転送して、サーバにおいて印刷対象の画像を生成する。そして、サーバからプリンタへ画像データを転送して、その画像データをもとにプリンタで印刷する。
【００１３】
図１は、本発明の代表的な実施例であるバリアブル印刷システムの構成例を示すブロック図である。１０１はホストコンピュータで、１０２はバリアブル印刷サーバで、１０３はプリンタである。ホストコンピュータ１０１は、ユーザがバリアブル印刷のための印刷物生成や印刷実行やレイアウト情報を含む印刷ジョブの作成などを行う情報処理装置である。バリアブル印刷サーバ１０２は、バリアブル印刷に対応した印刷ジョブを受信してバリアブル印刷画像データを生成する画像処理装置である。プリンタ１０３は、生成したページデータを受信して記録媒体に画像を形成する画像形成装置である。
【００１４】
続いて、バリアブル印刷サーバ１０２の内部について説明する。１０４はＣＰＵで、１０５はホストＩＦ制御部で、１０６はＲＯＭで、１０７はデータ処理部で、１０８はプリンタＩＦ制御部で、１０９はＲＡＭで、１１０は圧縮処理部である。ＣＰＵ１０４は、ＲＯＭ１０６に格納されたプログラムを実行することによりサーバの制御を行う。ＲＯＭ１０６は、サーバを制御するためのプログラムを格納している読出し可能なメモリである。ＲＡＭ１０９は、プログラムの実行領域やデータの格納領域として使用している読書き可能なメモリである。データ処理部１０７で処理されたデータや圧縮処理部１１０で圧縮されたデータもＲＡＭ１０９へ格納される。ＣＰＵ１０４が、ＲＯＭ１０６に記憶されているプログラムを、ＲＡＭ１０９をワークメモリとして実行することにより、バリアブル印刷サーバ１０２の各種の制御を行うことができる。
【００１５】
データ処理部１０７は、印刷ジョブに含まれるレイアウト情報に従ってオブジェクトを配置することにより、印刷可能な画像データを１ページずつ生成する処理を含めたデータ処理を行う。圧縮処理部１１０は、プリンタ１０３へ送信する合成画像データに対して圧縮処理を行い、圧縮データを生成する。圧縮処理部１１０は、データ処理部１０７で生成された合成画像データが格納されているＲＡＭ１０９から、印刷対象の合成画像データを読み出す。そして、読み出された合成画像データに対して圧縮処理を実行して圧縮データを生成し、生成された圧縮データをＲＡＭ１０９へ書き込む。
【００１６】
なお、上記の圧縮処理は、印刷対象の画像データと、参照データとの差分を算出し、その差分を圧縮データとする。この圧縮処理の詳細については後述する。
【００１７】
ホストＩＦ制御部１０５は、ホストコンピュータ１０１との通信を行い、印刷ジョブの受信などを行う。プリンタＩＦ制御部１０８は、プリンタ１０３との通信を行い、ＲＡＭ１０９圧縮データの送信などを行う。
【００１８】
続いて、プリンタ１０３の内部について説明する。１１１はＣＰＵで、１１１２はプリンタＩＦ制御部で、１１３はＲＯＭで、１１４はデータ処理部で、１１５はヘッド制御部で、１１６はＲＡＭで、１１７は伸張処理部ある。ＣＰＵ１１１は、ＲＯＭ１１３に格納されたプログラムを実行することによりプリンタの制御を行う。ＲＯＭ１１３は、サーバを制御するためのプログラムを格納している読出し可能なメモリである。ＲＡＭ１１６は、プログラムの実行領域やデータの格納領域として使用している読書き可能なメモリである。受信した圧縮データや参照データや伸張処理部１１７で復元された合成画像データもＲＡＭ１１６へ格納される。ＣＰＵ１１１は、ＲＯＭ１１３に格納されているプログラムを、ＲＡＭ１１６をワークメモリとして実行することにより、プリンタ１０３の各種の制御を行う。
【００１９】
伸張処理部１１７は、バリアブル印刷サーバから受信した圧縮データと、プリンタ内のメモリに予め記憶しておいた上記の参照データを用いて伸張処理を行い、合成画像データを復元させる。
【００２０】
なお、参照データとは、サーバにおいてはオブジェクトを配置した画像であり、プリンタにおいては、印刷を行った画像である。上記の処理に従えば、サーバで生成した画像（参照データ）と、プリンタで印刷を行った画像（参照データ）が同じものとなる。よって、サーバ、プリンタのそれぞれにおいて画像生成、画像印刷を行ったときに、その画像を参照データとして蓄積する。そして、サーバにおける圧縮、プリンタにおける伸張を行うときには、それぞれの装置に蓄積しておいた参照データを用いる。また上記の参照データは、プリンタ内のＲＯＭ１０６や圧縮処理部１１０内のメモリ、バリアブル印刷サーバ内のＲＯＭ１１３やデータ処理部１１４内のメモリに記憶させておく。
【００２１】
データ処理部１１４は、復元された合成画像データにデータ処理が施され、印刷画像データを生成する。プリンタＩＦ制御部１１２は、バリアブル印刷サーバ１０２との通信を行い、圧縮データの受信などを行う。ヘッド制御部１１５は、印刷画像データを記録媒体に印字されるように制御を行う。
【００２２】
また、ホストコンピュータ１０１で生成されるバリアブル印刷のジョブには、出力対象のオブジェクトと、レイアウト情報が含まれている。このレイアウト情報には、出力対象の画像においてオブジェクトのそれぞれが配置される配置位置を特定するための配置情報が含まれている。さらに、このレイアウト情報には、レイアウト情報として基本的な情報である配置情報だけでなく、配置されるオブジェクト毎に画像処理条件を指定するための画像処理情報を付加することができる。
【００２３】
なお、出力対象のオブジェクトとは、複数の配置位置に複数回繰り返し利用される再利用オブジェクトと、１回のみ使用される非再利用オブジェクト（バリアブルオブジェクト）が含まれる。上記の再利用オブジェクトは、１つのページ内において繰り返し利用されてもよいし、または複数のページにおいて繰り返し利用されてもよい。さらに、複数の印刷ジョブに対して繰り返し利用されてもよい。
【００２４】
本実施例における、バリアブル印刷サーバは、上記の再利用オブジェクトを繰り返し利用し、またバリアブルオブジェクトを用いて、画像の内容を差し替えながら、印刷対象の画像を生成する。よって、例えば、フォームデータやマスタデータなど、複数のページで共通に利用されるデータなどは、再利用オブジェクトとして利用される。一方、宛名等のページ毎に差し替えが必要な情報はバリアブルオブジェクトとして利用される。
【００２５】
また本実施例では、ホストＰＣはサーバに再利用オブジェクトを記憶させることができる。そして、印刷ジョブには、バリアブルオブジェクトと、当該印刷ジョブにおいて利用される再利用オブジェクトを示すレイアウト情報を含ませる。この印刷ジョブを受信したサーバは、印刷ジョブ内のバリアブルオブジェクトと、予めメモリに記憶させておいた再利用オブジェクトを、レイアウト情報に従って配置することで、印刷対象の画像を生成する。
【００２６】
なお、図１ではバリアブル印刷サーバとプリンタは別の装置とした例を示したが、本発明はバリアブル印刷サーバの機能を有する画像形成装置においても同様に実施可能である。また上記構成は実施形態の一例であり、同様の効果を得ることが可能なシステムであれば本発明の範囲に含まれる。
【００２７】
また、本実施例では、ホストＰＣは、バリアブル印刷を表現するためのデータフォーマットの標準の１つであるＰＰＭＬ（Ｐａｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を用いて印刷ジョブを生成する。このＰＰＭＬでは複数の画像部品（オブジェクト）によってページが構成されている。ＰＰＭＬでは、複数回使用する再利用オブジェクトを宣言することができるため、ページ中のマスタデータなどの繰返し使用される描画パターンは再利用オブジェクトとすることでデータの総量を削減することができる。さらに、再利用オブジェクトを、ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）処理後あるいは色変換や低階調化などの画像処理後に保持することで、データ処理時間の低減も可能になる。ただし、印刷ジョブに使用する言語は、上記のＰＰＭＬに限定されるものではない。
【００２８】
図２は、本実施例におけるバリアブル印刷サーバ１０２内の圧縮処理部１１０の内部構成を示すブロック図である。２０１は参照データ選択部で、２０２はページ間差分圧縮符号化処理部で、２０３はページ内圧縮符号化処理部で、２０４は圧縮処理制御部である。参照データ選択部２０１は、ＲＡＭ１０９に格納される複数の合成画像データの中から、差分圧縮符号化処理に必要な参照データをレイアウト情報に基づいて特定する。
【００２９】
本実施例では、レイアウト情報に記述されている、印刷対象の画像に含まれる再利用オブジェクトに応じて、当該印刷対象の画像と相関性の高い（共通部分が多い）の画像を、参照データとして抽出する。即ち、２つの画像において共通の再利用オブジェクトが、それぞれの画像において共通の配置位置に含まれている場合には、その２つの画像の相関性が高いということできる。
【００３０】
ページ間差分圧縮符号化処理部２０２は、圧縮対象の合成画像データと参照データの差分を算出して差分情報を取得し、その差分情報を用いることによって圧縮データを生成する。ページ内圧縮符号化処理部２０３は、参照データを使用せずに圧縮対象の合成画像データのページ内で圧縮符号化処理を行い、圧縮データを生成する。圧縮制御部２０４は、ページ間差分圧縮符号化処理部２０２とページ内圧縮符号化部のどちらの圧縮方法を行うかを参照データ選択部２０１の結果によって制御する。例えば、参照データ選択部２０１で参照データが特定された場合はページ間差分圧縮符号化処理部２０２を使用し、参照データが特定されなかった場合はページ内圧縮符号化処理部２０３を使用するように制御する。
【００３１】
図３は、本実施例におけるプリンタ１０３内の伸張処理部１１７の内部構成を示すブロック図である。３０１はページ間差分伸張処理部で、３０２はページ内伸張部で、３０３は伸張処理制御部である。ページ間差分伸張処理部３０１は、参照データと圧縮データとを用いて圧縮対象だった合成画像データを復元する。この復元された圧縮対象だった合成画像データをＲＡＭ１１６へ格納する。この合成画像データは、参照データとなる可能性があるため、記録媒体への印刷後も削除の許可がでない限りＲＡＭ１１６に保持される。
【００３２】
ページ内伸張部３０２は、参照データを使用せずに圧縮データに対して伸張処理を施して圧縮対象だった合成画像データを復元する。この復元された圧縮対象だった合成画像データをＲＡＭ１１６へ格納する。伸張制御部３０３は、圧縮制御部２０４で指定した圧縮方法に応じてページ間差分伸張処理部３０１とページ内伸張部３０２のどちらかを伸張処理として使用するように制御する。ページ間差分圧縮符号化処理部２０２が使用された場合はページ間差分伸張処理部３０１を使用し、ページ内圧縮符号化処理部が使用された場合はページ内伸張部３０２を使用するように制御する。
【００３３】
なお、サーバにおいて、ページ間差分圧縮、ページ内圧縮のいずれを実行したか、またページ間差分圧縮の場合にはどの参照データを用いたか特定するための情報が、サーバからプリンタに通知される。プリンタはこの情報を参照して、サーバにおける圧縮処理に応じた伸張処理を行うことができる。また、この情報は、例えば印刷データとともに通知されるものとする。
【００３４】
図４は、本実施例におけるバリアブル印刷サーバ１０２内の圧縮処理におけるフローチャートである。この処理は、圧縮処理部１１０において行う。なお、ＣＰＵがＲＯＭ内のプログラムを実行することにより、処理を実行してもよい。
【００３５】
まず、Ｓ４０１で、圧縮対象の合成画像データを指定する。Ｓ４０２で、圧縮対象の合成画像データのレイアウト情報である第１のレイアウト情報を入手する。Ｓ４０３で、参照候補である合成画像データのレイアウト情報である第２のレイアウト情報を入手する。なお、この第２のレイアウト情報は、印刷ジョブが受信されるたびにバリアブル印刷サーバのＲＯＭ１０６や、圧縮処理部１１０内のメモリに記憶され、同メモリに蓄積されている。
【００３６】
Ｓ４０４では、Ｓ４０２で取得した第１のレイアウト情報と、Ｓ４０３で取得した第２のレイアウト情報とを比較することにより、Ｓ４０１で指定した圧縮対象の画像と当該参照候補との相関性を確認する。ここでは、参照候補の合成画像データが圧縮対象の合成画像データと相関性を示す値を算出する。この値の算出方法については図７を用いて後述する。
【００３７】
Ｓ４０５で、Ｓ４０４で算出した値が基準値より大きいかを判定する。算出値が基準値より大きければ、参照候補の合成画像データが圧縮対象の合成画像データと一定以上の相関性を持つものとしてＳ４０６へ進む。一方で、算出値が基準値より小さければ参照候補の合成画像データが圧縮対象の合成画像データと相関性が高くないものとしてＳ４０９へ進む。なお、基準値は予めＣＰＵ１０４などによって設定され、ＲＯＭ１０６や圧縮処理部１１０内のメモリに格納されている。またその基準値は、例えばユーザによる指示に応じて決定するものであってもよい。
【００３８】
Ｓ４０６で、参照候補の合成画像データがこれまで相関性が高いと判定していた参照候補の合成画像データよりも相関性が高いかを判定する。この判定は、Ｓ４０５で算出した値を、後述のＳ４０７でＲＯＭ１０６等に記憶しておき、当該算出値と比較することによって行う。
【００３９】
これまでの参照候補よりも相関性が高いと判定された場合は、Ｓ４０７へ進み、相関性が高くないと判定された場合は、Ｓ４０９へ進む。
【００４０】
Ｓ４０７では、合成画像データ名を参照データ名として登録あるいは更新する。Ｓ４０８で、参照データが１度でも特定されたことを示すために参照データ特定用フラグを１にする。一方、Ｓ４０９では、これまでの登録されていた参照データ名を保持する。なお、一度も参照データ名が登録されなかった場合は参照データが特定できなかったことになり、参照データ特定用フラグが０になる。このフラグは、ＲＯＭ１０６や圧縮処理部１１０内のメモリ等に設定する。
【００４１】
Ｓ４１０で、参照候補の合成画像データが他にもあるか判定する。他にも候補がある場合はＳ４０３へ進み、残りの合成画像データに対してもＳ４０３〜Ｓ４０９の処理を他の候補がなくなるまで繰返す。他に候補がない場合は、当該圧縮対象の画像データと相関性の最も高い参照データが特定されたものとして、Ｓ４１１へ進む。
【００４２】
Ｓ４１１では、参照データを特定できたかを、上記の参照データ特定用フラグで判定する。参照データ特定用フラグが１である場合は、参照データを特定できているとしてページ間差分圧縮符号化処理を実施するためＳ４１２へ進む。一方、参照データ特定用フラグが０である場合は、参照データを特定できていないとしてページ内圧縮符号化処理を実施するためＳ４１５へ進む。
【００４３】
Ｓ４１２で、圧縮対象の合成画像データをＲＡＭ１０９から読込む。Ｓ４１３で、特定された参照データである合成画像データをＲＡＭ１０９から読込む。Ｓ４１４で、圧縮データと参照データの差分を算出することで、ページ間差分圧縮符号化処理を実施し、圧縮データを生成する。
【００４４】
一方、Ｓ４１５では、Ｓ４１２と同様に圧縮対象の合成画像データをＲＡＭ１０９から読込む。Ｓ４１６で、圧縮対象の合成画像データに対してページ内で圧縮符号化処理を実施、圧縮データを生成する。
【００４５】
Ｓ４１７で、Ｓ４１４あるいはＳ４１６で生成された圧縮データをＲＡＭ１０９へ書き込む。またこのとき、サーバにおいて当該印刷データに対して行った圧縮方式、またページ間差分を取った場合の参照データを特定するための特定情報を書き込む。
【００４６】
以上が圧縮処理における処理フローである。なお、Ｓ４１７においてＲＡＭ１０９に書き込まれたデータは、プリンタＩＦ制御部１０８により読みだされて、プリンタ１０３に転送される。このプリンタＩＦ制御部が圧縮データ（差分）を出力する出力制御を行うことにより、プリンタにおいて画像が印刷される。プリンタの出力処理については、図５を用いて説明する。
【００４７】
図７は、図４のＳ４０４での参照データを抽出するための算出処理の例を示したフローチャートである。図７のフローチャートにより、上述のＳ４０４の処理内容を具体的に述べる。
【００４８】
まず、Ｓ７０１で、Ｓ４０２で取得した第１のレイアウト情報から、圧縮対象の画像に配置される再利用オブジェクト名を抽出する。Ｓ７０２で、Ｓ４０３で取得した第２のレイアウト情報に、Ｓ７０１で抽出した再利用オブジェクト名があるかを検索する。同じ再利用オブジェクト名がある場合は、圧縮対象の画像と参照候補において共通の再利用オブジェクトＳ７０３へ進む。一方、同じ再利用オブジェクト名がない場合は、このままＳ４０４を終了する。
【００４９】
Ｓ７０３では、Ｓ７０１、Ｓ７０２により、圧縮対象の画像と参照候補において共通の再利用オブジェクトが、２つの画像のそれぞれにおいて、同じ配置にあるか、同じ配置順であるか判定する。同じ配置で同じ配置順である場合は、該当する再利用オブジェクトの画像領域が同じ画素値であると判定できるため、Ｓ７０４へ進む。同じ配置でないあるいは同じ配置順でない場合は、このままＳ４０４を終了する。
【００５０】
Ｓ７０４では、圧縮対象の画像における、参照候補の画像と共通の再利用オブジェクトが配置される領域の面積を算出し、Ｓ４０４を終了する。なお、この再利用オブジェクトは、圧縮対象の画像と、参照候補の画像とにおいて共通であり、２つの画像において同じ領域に配置される。
【００５１】
そして、上述の図４のＳ４０５〜４１０の処理では、参照候補の画像のうち、圧縮対象の画像と共通の再利用オブジェクトの、圧縮対象の画像における面積が最も大きな候補を特定する。なお、上述の例では、圧縮画像における面積を求めたが、圧縮画像に対する再利用オブジェクトの面積比を求め、Ｓ４０５〜Ｓ４１０ではその面積比に応じて、参照候補から参照データを特定してもよい。このようにして、レイアウト情報から参照データを特定していくことになる。
【００５２】
図５は、本実施例におけるプリンタ１０３内の伸張処理におけるフローチャートである。この処理は、伸張処理部１１７により実行されてもよいし、ＣＰＵ１１１が、ＲＯＭ１１３に格納されているプログラムを実行することによって実現してもよい。
【００５３】
まず、Ｓ５００では、バリアブル印刷サーバ１０２から圧縮データと、サーバにおいて当該印刷データに対して行った圧縮方式、またページ間差分を取った場合の参照データを特定するための特定情報を受信する。
【００５４】
Ｓ５０１では、Ｓ５００で受信した特定情報に基づき、バリアブル印刷サーバ１０２で行われた圧縮手法がページ間差分圧縮符号化処理だったかを判定する。ページ間差分圧縮符号化処理である場合はＳ５０２へ進み、ページ間差分伸張処理を実施する。一方、ページ間差分圧縮符号化処理でない場合はＳ５０５へ進み、ページ内伸張処理を実施する。
【００５５】
Ｓ５０２では、Ｓ５００で受信した圧縮データをＲＡＭ１１６から読込む。この圧縮データは、Ｓ４１４においてサーバにより算出された、圧縮画像と参照画像との差分である。Ｓ５０３では、Ｓ５００で受信した特定情報により特定された参照データをＲＡＭ１１６から読込む。この参照データは、プリンタ自身（出力装置自身）が出力したデータである。Ｓ５０４では、Ｓ５０２で読みこんだ圧縮データ（差分）を、Ｓ５０３で読みこんだ参照データに反映させることにより、圧縮対象だった合成画像データを復元する。
【００５６】
一方、Ｓ５０５では、Ｓ５０２と同様に圧縮データをＲＡＭ１１６から読込む。Ｓ５０６で、圧縮データに対して伸張処理を施して圧縮対象だった合成画像データを復元する。そして、Ｓ５０７で復元された圧縮対象だった合成画像データをＲＡＭ１１６へ書き込む。以上が伸張処理における処理フローである。
【００５７】
図６は、本実施例におけるバリアブル印刷を実行した結果のオブジェクトの配置例である。本実施例では、顧客数を３名で、印刷ページの合計ページ数が９ページである場合の例を示す。６０１〜６０９はページ１〜９からなる印刷ページで、６４１〜６４３は顧客の氏名を示すバリアブルオブジェクトで、６５１〜６５９は再利用オブジェクトである。
【００５８】
この図６の例では、顧客６４１の印刷ページは６０１〜６０３の合計３ページで、顧客６４２の印刷ページは６０４〜６０７の合計４ページで、顧客６４３の印刷ページは６０８〜６０９の合計２ページである。オブジェクト６５１は全ページで使用され、オブジェクト６５２とオブジェクト６５８は全顧客のページの最初と最後のページに使用される。オブジェクト６５３〜６５７とオブジェクト６５９は、顧客６４１〜６４３の情報に応じて使用されるオブジェクトの差換えや追加が行われ、使用されるページも顧客によって変わってくる。例えば、オブジェクト６５６の「高級自動車Ｄ」は、顧客６４１の３ページ目であるページ３と顧客６４３の２ページ目であるページ９に使用されるが、顧客６４２では使用されていない。このようにして、顧客の情報に応じてオブジェクトの使用が変わり、ページ数も異なってくる。なお、各ページにおいて使用される再利用オブジェクトは、印刷ジョブに含まれているレイアウト情報において指定されている。
【００５９】
図１０は、本実施例における圧縮処理を施した際の圧縮符号化方法と参照ページの関係を示した表である。この表は、サーバにより、図４のＳ４０３〜Ｓ４１０における処理により作成される。
【００６０】
図１０の表は、図６の印刷ページに対して圧縮処理を実施する際に、圧縮符号化方法がページ内圧縮符号化処理とページ間差分圧縮符号化処理のどちらを使用したのか、参照ページはどのページだったのかがページ毎に記載されている。例として、ページ１、ページ２、ページ８、ページ９について説明する。ページ１は、１ページ目なので参照ページがないため、ページ内圧縮符号化処理を行い、参照ページの候補となる。ページ２は、ページ１がページ２と同じ画像領域が少ないため参照ページとならなかったため、ページ内圧縮符号化処理を行い、参照ページの候補となる。ページ８は、参照ページの候補であるページ１〜７の中でページ８と同じ領域が多いページ１が参照ページとなり、ページ間差分圧縮符号化処理を行い、参照ページの候補となる。ページ９は、参照ページの候補であるページ１〜８の中でページ９と同じ領域が多いページ３が参照ページとなり、ページ間差分圧縮符号化処理を行う。以上のように、印刷ページを転送する際に参照ページを特定して印刷ページのデータ転送量を削減している。
【００６１】
以上の実施例によれば、バリアブル印刷のレイアウト情報により、印刷対象のページ毎に、参照する画像を特定し、当該印刷対象のページと、参照画像との差分を取得することで、ページ間差分圧縮符号化処理を行う。具体的には、レイアウト情報により、印刷対象のページと、参照ページとの２つのページに共通の再利用オブジェクトを特定し、その再利用オブジェクトに応じて、当該参照ページとの差分を算出するか判定する。特に、本実施例では、印刷対象のページにおける再利用オブジェクトの面積に基づき、上記の判定を行う。
【００６２】
これにより、印刷対象のページと共通する部分が多い（相関性が高い）参照ページとの差分を取ることで、ページ間圧縮処理を実現することができる。すると、結果的に、差分のデータ量が少なくなるため、サーバからプリンタへの転送データ量が少なくなる。よって、オブジェクトが含まれている画像を、迅速に印刷させることができる。
【００６３】
また、複数の画像において共通のオブジェクトがない場合や、共通のオブジェクトがあったとしても、配置位置が異なる場合には、画像間の差分の算出、出力は行わず、出力対象の画像を出力している。これにより、画像間の差分が大きく、転送されるデータ量の低減が望めないにも拘らず、差分の算出や画像の復元を実行してしまうことを防ぐことができる。
【００６４】
なお、以上の実施例では、オブジェクトの面積に基づき、画像の相関性を判定していたが、出力対象の画像との差分が少ない画像を特定するための、各種の情報を利用することができる。例えば、画像に含まれるオブジェクトの種類や、オブジェクトに指定されている画像処理の内容を利用することができる。
【００６５】
例えば背景のオブジェクトであれば、面積が大きかったとしても、そのオブジェクトに他のオブジェクトが合成されることがある。その場合、出力対象の画像と共通の背景オブジェクトを有する画像があったとしても、その背景に合成されるオブジェクトが大きく異なる場合には、画像間の差分が大きくなってしまう場合がある。
【００６６】
そこで、２つの画像において共通のオブジェクトが背景であるか否かを判定し、背景である場合には、その背景を含む画像の、参照画像とするための優先度を下げるようにしてもよい。例えば、背景オブジェクトについては、参照画像を決定するための条件から除外するようにしてもよい。オブジェクトの種類の判定は、例えばクライアントＰＣからオブジェクトの種類を示す情報を受信して、その情報に基づき行ってもよいし、レイアウト情報に基づき行ってもよい。
【００６７】
さらに、レイアウト情報においてオブジェクトに対して指定されている画像処理の内容に応じて、参照画像を決定してもよい。上記のようにオブジェクト同士の合成が実行される場合には、背景となるオブジェクトの面積が大きかったとしても、２つの画像の差分が大きくなる場合がある。そこで、オブジェクトに対して合成が指定されている場合には、参照画像とするための優先度を下げるようにしてもよい。例えば、合成処理が指定されており、背景となるオブジェクトについては、参照画像を決定するための条件から除外するようにしてもよい。
【００６８】
また、バリアブル印刷サーバが、レイアウト情報に基づき、オブジェクトの重なりを判定してもよい。レイアウト情報には、オブジェクトの配置位置が記述されており、その配置位置とオブジェクトのサイズとを考慮することにより、オブジェクトの重なりを判定することができる。この判定によりオブジェクトの重なりが確認できた場合、他のオブジェクトと重なるオブジェクトを参照画像の決定処理から除外するようにしてもよい。または、オブジェクトの重なりが確認できた場合、上のレイヤーとなり、他のオブジェクトが上に重ならないオブジェクトに関しては、参照画像の決定処理に含めるようにしてもよい。
【実施例２】
【００６９】
実施例１では、印刷対象のページと、参照候補のページとの相関性を判定する例として、２つページで共通の再利用オブジェクトの面積に基づき、相関性を判定していた。本実施例においては、上記の判定の別の例として、２つのページにおいて共通の再利用オブジェクトの数に基づき判定を行う。なお、バリアブル印刷システム構成、圧縮・伸張処理部、圧縮・伸張処理のフローチャート、バリアブル印刷を実行した結果のオブジェクトの配置例は、実施例１の図１、図２、図３、図４、図５、図６と同じである。そのため、参照データを抽出するための算出処理のフローチャートの違いのみを説明する。
【００７０】
図８は、図４のＳ４０４での参照データを抽出するための算出処理の例を示したフローチャートである。図８のフローチャートにより、Ｓ４０４の処理内容を具体的に述べる。なお、Ｓ８０１〜ＳＳ８０３の処理については、図７で説明したＳ７０１〜Ｓ７０３の処理と同様であるため説明を省略する。
【００７１】
Ｓ８０４では、Ｓ８０１〜Ｓ８０３において抽出された再利用オブジェクトの数を算出する。なお、この再利用オブジェクトは、圧縮対象の画像と、参照候補の画像とにおいて共通であり、２つの画像において同じ領域に配置される。
【００７２】
そして、上述の図４のＳ４０５〜４１０の処理では、参照候補の画像のうち、圧縮対象の画像と共通の再利用オブジェクトの数が最も多い候補を特定する。なお、上述の例では、再利用オブジェクトの数を求めたが、圧縮画像に含まれるオブジェクトの総数や、圧縮画像と参照画像に含まれるオブジェクトの総数との比を求めてもよい。そして、Ｓ４０５〜Ｓ４１０ではその比に応じて、参照候補から参照データを特定する。
【００７３】
なお、再利用オブジェクトの配置サイズが固定サイズで使用されるようなバリアブル印刷が実行された場合、再利用オブジェクトの数に基づき参照データを特定する方法の方が、面積を用いる方法よりも参照ページを特定する算出方法が単純である。そのため演算に時間がかからない。
【実施例３】
【００７４】
本実施例では、参照データの候補である合成画像データの保持・削除の処理について説明する。以上の実施例と共通の部分については説明を省略する。
【００７５】
図９は、本実施例におけるバリアブル印刷サーバ１０２内の圧縮処理部１１０の内部構成を示すブロック図である。図２との違いは、複数の合成画像データのうち削除する合成画像データを選択して、削除を指示するデータ削除制御部９０１があることである。よって、その違いのみを説明する。
【００７６】
データ削除制御部９０１は、参照データの候補である複数の合成画像データのうち、参照データの候補から削除する合成画像データを選択し、選択した合成画像データを削除するようにＣＰＵ１０４とＣＰＵ１１１へ指示を出す。そして、ＣＰＵ１０４は、複数の合成画像データが格納されているメモリ（ＲＯＭ１０６、ＲＡＭ１０９等）から選択された合成画像データを削除する。さらに、この削除とともに、参照データ選択部２０１で選択される参照データの候補からも削除される。参照データ選択部２０１が、例えば参照データを特定するためのテーブルを用いて参照データを読み出していた場合には、削除対象の参照データを特定するための特定情報が、このテーブルから削除される。すると、メモリにおいて当該参照データが上書き可能な状態になるため、特定情報を削除することにより、参照画像を削除したということができる。
【００７７】
また、このとき、サーバからプリンタへ、削除対象の参照データを特定するための特定情報が送信される。すると、プリンタ１０３内のＣＰＵ１１１は、複数の復元された合成画像データが格納されているメモリ（ＲＯＭ１１３やＲＡＭ１１６）から、特定情報により特定された合成画像データを削除する。このようにして、ページ間差分圧縮符号化処理を行うための参照データの候補でなくなった合成画像データを削除する。
【００７８】
なお、本実施例では、保存された合成画像データのうち削除する合成画像データを選択して削除するように指示する構成及び方法を説明したが、どの合成画像データを保存するかを指示するような構成及び方法であってもよい。
【００７９】
また、サーバ、プリンタのそれぞれのメモリに格納される参照データは、その保存形式が限定されるものではない。例えば、ページ内圧縮符号化処理部を用いて圧縮して格納していてもよいし、圧縮せずに格納していてもよい。ＲＡＭに格納できる容量と圧縮した合成画像データを伸張する処理時間によって、どの合成画像データを圧縮するかを選択して格納する方法であってもよい。
【００８０】
また、参照データの候補から削除する合成画像データを選択する基準は、本実施例では特に限定されない。例えば、参照データの候補である合成画像データを格納しているＲＡＭの容量が不足したら、今後生成される合成画像データを参照データの候補から削除してもよい。あるいは、参照データとして使用された回数が多い合成画像データを保持し、使用された回数が少ない合成画像データから削除する手法であってもよい。
【００８１】
また、複数の合成画像データが格納されている記憶装置をＲＡＭであると説明したが、これに限定されない。例えば、参照ページを格納する専用のバッファを設けていてもよい。
【００８２】
また、合成画像データの削除の指示をＣＰＵによって出していた、専用の制御回路によって合成画像データの削除の指示を出してもよい。
【００８３】
このようにして、１ページ毎に最適な圧縮符号化処理を施すことができることに加え、参照データの候補である合成画像データを削減し、メモリの空き容量を確保することが可能となる。
【００８４】
以上の実施例によれば、バリアブル印刷のレイアウト情報により、印刷対象のページ毎に、参照する画像を特定し、当該印刷対象のページと、参照画像との差分を取得することで、ページ間差分圧縮符号化処理を行う。具体的には、レイアウト情報により、印刷対象のページと、参照ページとの２つのページに共通の再利用オブジェクトを特定し、その再利用オブジェクトに応じて、当該参照ページとの差分を算出するか判定する。
【００８５】
これにより、印刷対象のページと共通する部分が多い（相関性が高い）参照ページとの差分を取ることで、ページ間圧縮処理を実現することができる。すると、結果的に、差分のデータ量が少なくなるため、サーバからプリンタへの転送データ量が少なくなる。よって、オブジェクトが含まれている画像を、迅速に印刷させることができる。
【００８６】
なお、以上の実施例では、再利用オブジェクトの面積、または数により、参照データを特定していたが、面積と数を組み合わせてもよいし、面積、数以外の条件により、参照データを特定してもよい。つまり、出力対象の画像と、参照データにおいて共通の再利用オブジェクトに基づき、出力対象の画像と相関性の高い参照データを特定するものであれば、その特定方法は限定されない。
【００８７】
また、以上の実施例では、ページ内圧縮符号化処理とは合成画像データのページ内で圧縮する処理であると述べたが、その具体的な手法は特に限定されない。例えば、同じ色が連続する長さを符号化するランレングス符号化でもよいし、同じ色が発生する回数に応じて符号化するハフマン符号化であってもよい。本発明では、圧縮対象の合成画像データとは別の参照データを用いることなく、同じページ内でデータを圧縮することが可能な圧縮アルゴリズムであれば、その具体的な圧縮手法を限定しない。
【００８８】
さらに、以上の実施例では、ページ間差分圧縮符号化処理とは差分情報を用いて圧縮データを生成する処理であると述べたが、その具体的な手法は特に限定されない。例えば、圧縮対象の合成画像データと参照データとの差分を算出した差分情報を圧縮データとしてもよいし、差分情報に対して圧縮符号化処理を施してもよい。また、差分情報とは、圧縮対象の合成画像データと参照データの差分を算出した情報であると述べたが、これに限定されない。圧縮対象の合成画像データとレイアウト情報から差分を算出した情報であってもよい。例えば、圧縮対象の合成画像データと参照データのレイアウト情報を見ればどの画素が同じ再利用オブジェクトかがわかるため、その情報をもとに差分情報を生成することもできる。つまり、圧縮対象の合成画像データと相関性が高い参照データを用いて差分圧縮する手法であれば、その具体的な圧縮手法を限定しない。
【００８９】
さらに、圧縮対象の画像と、参照データの候補において共通の再利用オブジェクトに、いずれか一方の画像において画像処理が実行されている場合には、共通のオブジェクトとして判定してもよいし、異なるオブジェクトとして判定してもよい。また、オブジェクト名が異なっていたとしても、オブジェクトの内容が類似している場合には、共通のオブジェクトとして判定してもよい。
【００９０】
例えば、図６において、ページ１のオブジェクト６５３の「普通自動車Ａ」とページ２のオブジェクト６５５の「普通自動車Ｃ」の違いが車体の色のみである場合を考える。この２つのオブジェクトは、車体以外の画像である背景画像が同じで車体画像も色が異なるだけで輪郭の情報も同じであるため、相関性が高いと判断できる。そのため、図１１に示すようにページ２の参照ページをページ１にすることでページ間差分圧縮符号化処理を行うことができる。
【００９１】
同様にオブジェクト６５４の「普通自動車Ｂ」とオブジェクト６５６の「高級自動車Ｄ」の背景画像が同じであるとすると、車体は異なるが背景画像が同じであるため、相関性が高いと判断できる。ページ２と同様にページ間差分圧縮符号化処理を行うことができる。
【００９２】
レイアウト情報から異なるオブジェクト同士でも相関性があるかを判定するためには、例えば、相関性を示すことができるような属性情報をオブジェクト毎に付加させるだけでもよい。例えば、単なる色違いであれば属性Ａ、背景のみが同じであれば属性Ｂのようにしておくことで判断することができる。また、人物画像であれば、同じオブジェクトであっても顧客情報に応じて肌色補正を行うことがある。そういった場合もレイアウト情報によって、どういった肌色補正がかかっているかが分かるのであれば、その人物画像が相関性が高いかを判断することができる。
【００９３】
また、以上の実施例では、ページ間で同じ画素位置に相関性の高い再利用オブジェクトが配置されている例を述べた。しかし、同じサイズの再利用オブジェクトが異なる画素位置に配置されていても、参照データの画素位置をレイアウト情報から解析できるのでその情報を用いてページ間差分圧縮符号化処理を行ってもよい。
【００９４】
さらに、バリアブル印刷サーバ１０２とプリンタ１０３のデータ処理には、前述した処理以外にもデバイス色空間に変換する色変換処理や、印字可能なデータに変換する低階調化処理などの処理も含まれる。本実施例では、どちらのデータ処理部にどの処理が含まれているかは限定されない。
【００９５】
また、以上の実施例では、圧縮処理部１１０、伸張処理部１１７で圧縮処理と伸張処理を施すことを扱った例を示した。しかし、同様の効果が得られるように圧縮処理部１１０と伸張処理部１１７の処理内容の一部あるいは全てをプログラム化したコードを、ＲＯＭ１０６あるいはＲＯＭ１１３に格納してＣＰＵ１０４あるいはＣＰＵにて実行する方法であってよい。同様に、データ処理部１０７、データ処理部１１４の処理内容の一部あるいは全てをプログラム化したコードを、ＲＯＭ１０６あるいはＲＯＭ１１３に格納してＣＰＵ１０４あるいはＣＰＵにて実行する方法であってよい。
【００９６】
以上の実施例におけるプリンタは、インクを用いたインクジェットプリンタでもよいし、トナーを用いたレーザプリンタであってもよし、複写機であってもよい。
【００９７】
また、以上の実施例では、画像を出力する装置として、画像を印刷するプリンタを例に説明したが、これに限らず。例えば、画像を表示する表示装置にサーバから表示対象の画像を転送して、当該表示装置にその画像を表示させる場合であってもよい。
【００９８】
また、以上の実施例は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。例えば、処理内容の一部あるいは全てをプログラム化したコードをＲＯＭへ格納してＣＰＵにて実行する方法であってもよい。また、上記のプログラムを１つのコンピュータ（ＣＰＵやＭＰＵ）が実行する場合であってもよいし、複数のコンピュータが協働することにより実行する場合であってもよい。
【符号の説明】
【００９９】
１０１  ホストコンピュータ
１０２  バリアブル印刷サーバ
１０３  プリンタ
１０４  ＣＰＵ
１０５  ホストＩＦ制御部
１０６  ＲＯＭ
１０７  データ処理部
１０８  プリンタＩＦ制御部
１０９  ＲＡＭ
１１０  圧縮処理部
【図１】
2013123118.tif 000003
【図２】
2013123118.tif 000004
【図３】
2013123118.tif 000005
【図４】
2013123118.tif 000006
【図５】
2013123118.tif 000007
【図６】
2013123118.tif 000008
【図７】
2013123118.tif 000009
【図８】
2013123118.tif 000010
【図９】
2013123118.tif 000011
【図１０】
2013123118.tif 000012
【図１１】
2013123118.tif 000013