(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
ページ内の複数の領域毎に独立して圧縮処理を施す圧縮部と、
複数ページからなる画像データのうちの所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士の内容が異なる固有領域を判別する判別部と、
前記所定ページについて、当該ページ内の複数の領域の全てについて前記圧縮部による圧縮処理を施して得られた前記所定ページの圧縮済み画像データを格納部に格納し、前記所定ページとは異なるページについて、当該ページ内の複数の領域のうち前記判別部によって判別された固有領域についてのみ前記圧縮部による圧縮処理を施して修正固有圧縮画像データを生成し、前記格納部に格納されている前記所定ページの圧縮済み画像データのうちの前記固有領域に対応する固有圧縮画像データを、前記修正固有圧縮画像データに修正する制御部と、
前記所定ページについては前記格納部に格納された当該所定ページの圧縮済み画像データを出力し、前記所定ページと異なるページについては修正された後の圧縮済み画像データを出力する出力部と、を有することを特徴とする画像処理装置。
【請求項２】
前記画像データの各ページは、前記画像処理装置に入力されたプリントデータの各ページを、印刷に使用されるビットマップ形式のデータに変換して取得され、
前記判別部は、前記プリントデータに含まれページ内にどのオブジェクトをどこに配置するかを示すレイアウト情報に基づいて、前記固有領域を判別する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像データの所定ページは、前記画像処理装置に入力されたプリントデータの前記所定ページを、印刷に使用されるビットマップ形式のデータに変換して取得され、
前記判別部は、前記プリントデータに含まれページ内にどのオブジェクトをどこに配置するかを示すレイアウト情報に基づいて、前記固有領域を判別し、
前記修正固有圧縮画像データは、前記固有圧縮画像データを復元した復元画像データに、前記プリントデータの前記固有領域に対応するオブジェクトを印刷に使用されるビットマップ形式のデータに変換して得られたオブジェクト画像データを上書きした画像データに対して、圧縮処理を施した画像データである、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記判別部は、前記画像データをページ内で複数の領域に等分割し、等分割された前記所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士を比較して両ページで内容が異なる領域を固有領域と判別する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記対応する領域同士は、各領域を数値化したデータに基づいて比較されることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記圧縮処理は、固定長データ圧縮であることを特徴とする請求項１〜５のいずれか１つに記載の画像処理装置。
【請求項７】
画像処理プログラムであって、
複数ページからなる画像データのうちの所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士の内容が異なる固有領域を判別する手順１）と、
前記所定ページについて、当該ページ内の複数の領域の全てについてページ内の複数の領域毎に独立して圧縮処理を施す圧縮部による圧縮処理を施して得られた前記所定ページの圧縮済み画像データを格納部に格納し、前記所定ページとは異なるページについて、当該ページ内の複数の領域のうち前記判別部によって判別された固有領域についてのみ前記圧縮部による圧縮処理を施して修正固有圧縮画像データを生成し、前記格納部に格納されている前記所定ページの圧縮済み画像データのうちの前記固有領域に対応する固有圧縮画像データを、前記修正固有圧縮画像データに修正する手順２）と、
前記所定ページについては前記格納部に格納された当該所定ページの圧縮済み画像データを出力し、前記所定ページと異なるページについては修正された後の圧縮済み画像データを出力する手順３）と、
を備えた処理をコンピュータに実行させるための画像処理プログラム。
【請求項８】
前記画像データの各ページは、前記画像処理装置に入力されたプリントデータの各ページを、印刷に使用されるビットマップ形式のデータに変換して取得され、
前記手順１）は、前記プリントデータに含まれページ内にどのオブジェクトをどこに配置するかを示すレイアウト情報に基づいて、前記固有領域を判別するものである、
ことを特徴とする請求項７に記載の画像処理プログラム。
【請求項９】
前記画像データの所定ページは、前記画像処理装置に入力されたプリントデータの前記所定ページを、印刷に使用されるビットマップ形式のデータに変換して取得され、
前記手順１）は、前記プリントデータに含まれページ内にどのオブジェクトをどこに配置するかを示すレイアウト情報に基づいて、前記固有領域を判別するものであり、
前記修正固有圧縮画像データは、前記固有圧縮画像データを復元した復元画像データに、前記プリントデータの前記固有領域に対応するオブジェクトを印刷に使用されるビットマップ形式のデータに変換して得られたオブジェクト画像を上書きした画像データに対して、圧縮処理を施した画像データである、
ことを特徴とする請求項７に記載の画像処理プログラム。
【請求項１０】
前記手順１）は、前記画像データをページ内で複数の領域に等分割し、等分割された前記所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士を比較して両ページで内容が異なる領域を固有領域と判別するものである、ことを特徴とする請求項７に記載の画像処理プログラム。
【請求項１１】
前記対応する領域同士は、各領域を数値化したデータに基づいて比較されることを特徴とする請求項１０に記載の画像処理プログラム。
【請求項１２】
前記圧縮処理は、固定長データ圧縮であることを特徴とする請求項７〜１１のいずれか１つに記載の画像処理プログラム。
【請求項１３】
請求項７〜１２のいずれか１つに記載の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
画像処理方法であって、
複数ページからなる画像データのうちの所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士の内容が異なる固有領域を判別するステップ１）と、
前記所定ページについて、当該ページ内の複数の領域の全てについてページ内の複数の領域毎に独立して圧縮処理を施す圧縮部による圧縮処理を施して得られた前記所定ページの圧縮済み画像データを格納部に格納し、前記所定ページとは異なるページについて、当該ページ内の複数の領域のうち前記判別部によって判別された固有領域についてのみ前記圧縮部による圧縮処理を施して修正固有圧縮画像データを生成し、前記格納部に格納されている前記所定ページの圧縮済み画像データのうちの前記固有領域に対応する固有圧縮画像データを、前記修正固有圧縮画像データに修正するステップ２）と、
前記所定ページについては前記格納部に格納された当該所定ページの圧縮済み画像データを出力し、前記所定ページと異なるページについては修正された後の圧縮済み画像データを出力するステップ３）と、
を備えたことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理プログラム、および画像処理方法に関する。本発明は、特に、画像データを印刷部に出力する際の処理を効率化するための画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
例えばダイレクトメール、ラベル、帳票などの大量印刷において、絵や写真などが豊富に使われている場合には、印刷に使用されるビットマップ形式の画像データ（以下、ラスタ画像ともいう）を形成するのに非常に時間がかかる。
【０００３】
この問題の解決策の一つとして、例えばバリアブルデータプリント方式が存在する。ここで、バリアブルデータプリント方式とは、１枚１枚の出力内容を必要に応じて部分的に差し替えることが可能なプリント方式をいう。このバリアブルデータプリント方式では、プリントデータは、複数回にわたって使用される再利用可能オブジェクトと一回しか利用されない非再利用オブジェクトとを最小構成単位として含む。また、各オブジェクトが再利用可能オブジェクトなのか非再利用オブジェクトなのかは、プリントデータにおけるレイアウト情報において明確に区別されている。さらに、レイアウト情報には、オブジェクト群をページ内でどのようにレイアウトするかが記述されている。そして、バリアブルデータプリント言語をサポートした印刷装置は、プリントデータにおける再利用可能オブジェクトにＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）を施して作成したラスタ画像を、メモリやハードディスク上にキャッシュし、このキャッシュしたラスタ画像を再利用することで、ＲＩＰに要する時間を削減し、性能を向上させている。
【０００４】
さらに、ファイル内の複数のページで共通して使用されるオブジェクト単位の再利用データを抽出し、抽出された再利用データを合成してフォームデータを作成するプリンタコントローラが提案されている（特許文献１参照）。この場合、プリンタコントローラは、作成されたフォームデータと、当該フォームデータに含まれないオブジェクト単位のデータとを合成して１ページのラスタ画像を作成することができる。
【特許文献１】特開２００６−２３７８２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術は、各ページのラスタ画像を作成するのに要する時間の短縮化を図る技術であって、作成されたラスタ画像を印刷するためにプリンタエンジンへ転送する際の処理の効率化については開示していない。
【０００６】
すなわち、ＲＩＰ後の高解像度カラー画像は、膨大なデータサイズ（例えば、ＣＭＹＫ  ８ｂｉｔ／６００ｄｐｉ／Ａ４フルサイズでは１ページ当たり約１３０ＭＢｙｔｅ）を有する場合がある。この場合、画像データ転送にかかる時間が印刷処理時間のボトルネックとなる事態を回避するため、一般に、ＲＩＰ後のラスタ画像は、圧縮処理が施された後にプリンタエンジンへ転送される。しかし、上記の圧縮処理はラスタ画像のページ全体に対して施されるため、１ページごとの圧縮処理に時間がかかり、更なる高速印刷を実現する観点から圧縮処理時間の短縮化が求められている。
【０００７】
本発明は、上述の課題を解決するためになされたものであり、本発明の目的は、複数ページからなる画像データの圧縮処理にかかる時間を短縮化することにより印刷処理性能を向上させることができる画像処理装置、画像処理プログラム、および画像処理方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の上記目的は、下記の手段によって達成される。
【０００９】
（１）画像処理装置であって、ページ内の複数の領域毎に独立して圧縮処理を施す圧縮部と、複数ページからなる画像データのうちの所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士の内容が異なる固有領域を判別する判別部と、前記所定ページについて、当該ページ内の複数の領域の全てについて前記圧縮部による圧縮処理を施して得られた前記所定ページの圧縮済み画像データを格納部に格納し、前記所定ページとは異なるページについて、当該ページ内の複数の領域のうち前記判別部によって判別された固有領域についてのみ前記圧縮部による圧縮処理を施して修正固有圧縮画像データを生成し、前記格納部に格納されている前記所定ページの圧縮済み画像データのうちの前記固有領域に対応する固有圧縮画像データを、前記修正固有圧縮画像データに修正する制御部と、前記所定ページについては前記格納部に格納された当該所定ページの圧縮済み画像データを出力し、前記所定ページと異なるページについては修正された後の圧縮済み画像データを出力する出力部と、を有することを特徴とする画像処理装置。
【００１０】
（２）前記画像データの各ページは、前記画像処理装置に入力されたプリントデータの各ページを、印刷に使用されるビットマップ形式のデータに変換して取得され、前記判別部は、前記プリントデータに含まれページ内にどのオブジェクトをどこに配置するかを示すレイアウト情報に基づいて、前記固有領域を判別する、ことを特徴とする上記（１）に記載の画像処理装置。
【００１１】
（３）前記画像データの所定ページは、前記画像処理装置に入力されたプリントデータの前記所定ページを、印刷に使用されるビットマップ形式のデータに変換して取得され、前記判別部は、前記プリントデータに含まれページ内にどのオブジェクトをどこに配置するかを示すレイアウト情報に基づいて、前記固有領域を判別し、前記修正固有圧縮画像データは、前記固有圧縮画像データを復元した復元画像データに、前記プリントデータの前記固有領域に対応するオブジェクトを印刷に使用されるビットマップ形式のデータに変換して得られたオブジェクト画像データを上書きした画像データに対して、圧縮処理を施した画像データである、ことを特徴とする上記（１）に記載の画像処理装置。
【００１２】
（４）前記判別部は、前記画像データをページ内で複数の領域に等分割し、等分割された前記所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士を比較して両ページで内容が異なる領域を固有領域と判別する、ことを特徴とする上記（１）に記載の画像処理装置。
【００１３】
（５）前記対応する領域同士は、各領域を数値化したデータに基づいて比較されることを特徴とする上記（４）に記載の画像処理装置。
【００１４】
（６）前記圧縮処理は、固定長データ圧縮であることを特徴とする上記（１）〜（５）のいずれか１つに記載の画像処理装置。
【００１５】
（７）画像処理プログラムであって、複数ページからなる画像データのうちの所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士の内容が異なる固有領域を判別する手順１）と、前記所定ページについて、当該ページ内の複数の領域の全てについてページ内の複数の領域毎に独立して圧縮処理を施す圧縮部による圧縮処理を施して得られた前記所定ページの圧縮済み画像データを格納部に格納し、前記所定ページとは異なるページについて、当該ページ内の複数の領域のうち前記判別部によって判別された固有領域についてのみ前記圧縮部による圧縮処理を施して修正固有圧縮画像データを生成し、前記格納部に格納されている前記所定ページの圧縮済み画像データのうちの前記固有領域に対応する固有圧縮画像データを、前記修正固有圧縮画像データに修正する手順２）と、前記所定ページについては前記格納部に格納された当該所定ページの圧縮済み画像データを出力し、前記所定ページと異なるページについては修正された後の圧縮済み画像データを出力する手順３）と、を備えた処理をコンピュータに実行させるための画像処理プログラム。
【００１６】
（８）前記画像データの各ページは、前記画像処理装置に入力されたプリントデータの各ページを、印刷に使用されるビットマップ形式のデータに変換して取得され、前記手順１）は、前記プリントデータに含まれページ内にどのオブジェクトをどこに配置するかを示すレイアウト情報に基づいて、前記固有領域を判別するものである、ことを特徴とする上記（７）に記載の画像処理プログラム。
【００１７】
（９）前記画像データの所定ページは、前記画像処理装置に入力されたプリントデータの前記所定ページを、印刷に使用されるビットマップ形式のデータに変換して取得され、前記手順１）は、前記プリントデータに含まれページ内にどのオブジェクトをどこに配置するかを示すレイアウト情報に基づいて、前記固有領域を判別するものであり、前記修正固有圧縮画像データは、前記固有圧縮画像データを復元した復元画像データに、前記プリントデータの前記固有領域に対応するオブジェクトを印刷に使用されるビットマップ形式のデータに変換して得られたオブジェクト画像を上書きした画像データに対して、圧縮処理を施した画像データである、ことを特徴とする上記（７）に記載の画像処理プログラム。
【００１８】
（１０）前記手順１）は、前記画像データをページ内で複数の領域に等分割し、等分割された前記所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士を比較して両ページで内容が異なる領域を固有領域と判別するものである、ことを特徴とする上記（７）に記載の画像処理プログラム。
【００１９】
（１１）前記対応する領域同士は、各領域を数値化したデータに基づいて比較されることを特徴とする上記（１０）に記載の画像処理プログラム。
【００２０】
（１２）前記圧縮処理は、固定長データ圧縮であることを特徴とする上記（７）〜（１１）のいずれか１つに記載の画像処理プログラム。
【００２１】
（１３）上記（７）〜（１２）のいずれか１つに記載の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【００２２】
（１４）画像処理方法であって、複数ページからなる画像データのうちの所定ページ内の複数の領域、および前記所定ページと異なるページ内の複数の領域の間で対応する領域同士の内容が異なる固有領域を判別するステップ１）と、前記所定ページについて、当該ページ内の複数の領域の全てについてページ内の複数の領域毎に独立して圧縮処理を施す圧縮部による圧縮処理を施して得られた前記所定ページの圧縮済み画像データを格納部に格納し、前記所定ページとは異なるページについて、当該ページ内の複数の領域のうち前記判別部によって判別された固有領域についてのみ前記圧縮部による圧縮処理を施して修正固有圧縮画像データを生成し、前記格納部に格納されている前記所定ページの圧縮済み画像データのうちの前記固有領域に対応する固有圧縮画像データを、前記修正固有圧縮画像データに修正するステップ２）と、前記所定ページについては前記格納部に格納された当該所定ページの圧縮済み画像データを出力し、前記所定ページと異なるページについては修正された後の圧縮済み画像データを出力するステップ３）と、を備えたことを特徴とする画像処理方法。
【発明の効果】
【００２３】
本発明によれば、所定ページについて、当該ページ内の複数の領域の全てについて圧縮処理を施して得られた所定ページの圧縮済み画像データが格納部に格納され、所定ページとは異なるページについて、当該ページ内の複数の領域のうち判別された固有領域についてのみ圧縮処理を施して修正固有圧縮画像データが生成され、格納部に格納されている所定ページの圧縮済み画像データのうちの固有領域に対応する固有圧縮画像データが、修正固有圧縮画像データに修正される。
【００２４】
このようにして、圧縮済み画像データのうち、複数ページで内容が共通する領域は再利用され、更新する必要のある領域だけが更新される。したがって、複数ページからなる画像データの圧縮処理にかかる時間を短縮化することができ、これにより、印刷処理性能を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００２６】
図１は、本発明の第１の実施形態に係る印刷システムの全体構成図である。
【００２７】
印刷システムは、クライアント端末１Ａ，１Ｂ，１Ｃと、プリンタコントローラ２Ａ，２Ｂと、プリンタ３Ａ，３Ｂとを備えている。
【００２８】
クライアント端末１Ａ，１Ｂ，１Ｃとプリンタコントローラ２Ａ，２Ｂとは、ネットワーク５を介して相互に通信可能に接続されている。ネットワーク５は、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格によりコンピュータやネットワーク機器同士を接続したＬＡＮ、あるいはＬＡＮ同士を専用線で接続したＷＡＮ等からなる。プリンタコントローラ２Ａ，２Ｂとプリンタ３Ａ，３Ｂとはそれぞれ、例えばＩＥＥＥ１３９４シリアルバス等の専用インタフェース用バスを介して接続されている。ただし、プリンタコントローラとプリンタとはネットワーク５を介して接続されていてもよい。なお、ネットワーク５に接続される機器の種類および台数は、図１に示す例に限定されない。
【００２９】
次に、上記各機器の構成について説明するが、各機器で同様の機能を有する部分については、説明の重複を避けるため初回のみその説明を行い、２回目以降はその説明を省略する。
【００３０】
図２は、クライアント端末１Ａ，１Ｂ，１Ｃの概略構成を示すブロック図である。クライアント端末１Ａ，１Ｂ，１Ｃは、例えば一般的なＰＣ（パーソナルコンピュータ）である。クライアント端末１Ａ，１Ｂ，１Ｃは相互に同様の構成であるため、以下、クライアント端末１Ａを代表として用いて説明する。
【００３１】
クライアント端末１Ａは、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスク１４、ディスプレイ１５、入力装置１６、およびネットワークインタフェース１７を含み、これらは信号をやり取りするためのバス１８を介して相互に接続されている。
【００３２】
ＣＰＵ１１は、プログラムにしたがって、上記各部の制御や各種の演算処理を行う。ＲＯＭ１２は、各種プログラムや各種データを格納する。ＲＡＭ１３は、作業領域として一時的にプログラムやデータを記憶する。ハードディスク１４は、オペレーティングシステムを含む各種プログラムや、各種データを格納する。
【００３３】
ハードディスク１４には、文書ファイルを作成するためのアプリケーションと、文書ファイルをプリンタコントローラが解釈可能なプリントデータに変換するためのプリンタドライバとがインストールされている。
【００３４】
ディスプレイ１５は、例えばＬＣＤ、ＣＲＴ等であり、各種の情報を表示する。入力装置１６は、例えばマウス等のポインティングデバイスやキーボードを含み、各種情報の入力を行うために使用される。ネットワークインタフェース１７は、例えばＬＡＮカードであり、ネットワーク５を介して外部機器と通信するために使用される。
【００３５】
クライアント端末１Ａは、プリントデータを作成してプリンタコントローラに送信する。また、クライアント端末１Ａは、プリンタコントローラ２Ａ，２Ｂにおける処理状況の監視、およびプリンタコントローラ２Ａ，２Ｂで作成されたページデータの表示を行うことが可能である。
【００３６】
本実施形態では、プリントデータは、好ましくはＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）にしたがう形式のファイルである。ここで、プリントデータは、各ページにおけるオブジェクトのレイアウト情報を有するレイアウトファイルと、オブジェクト単位のデータ群を有するデータファイルとが一つにまとめられたファイルである。データファイルには、再利用オブジェクトと、非再利用オブジェクトとが含まれる。再利用オブジェクトとは、１ページまたは複数ページにおいて複数回使用されるオブジェクトであり、非再利用オブジェクトとは、一回限り使用されるオブジェクトである。レイアウトファイルのレイアウト情報には、各オブジェクトが再利用オブジェクトであるか非再利用オブジェクトであるかを示すオブジェクト種別の情報、およびページ内にどのオブジェクトをどこに配置するかを示す情報が含まれる。
【００３７】
図３は、プリンタコントローラ２Ａ，２Ｂの概略構成を示すブロック図である。プリンタコントローラ２Ａ，２Ｂは相互に同様の構成であるため、以下、プリンタコントローラ２Ａを代表として用いて説明する。
【００３８】
プリンタコントローラ２Ａは、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ハードディスク２４、ラスタ画像圧縮部２５、ネットワークインタフェース２６、およびプリンタインタフェース２７を含み、これらは信号をやり取りするためのバス２８を介して相互に接続されている。
【００３９】
ラスタ画像圧縮部２５は、ラスタ画像のページ内の複数の領域毎に独立して圧縮処理を施す。本実施形態では、ラスタ画像圧縮部２５は、ハードウェアとして構成されているが、例えばＲＯＭ２２等の記憶部に対応するプログラムが格納され、当該プログラムをＣＰＵ２１が実行することによりその機能が発揮されるように構成されてもよい。
【００４０】
プリンタインタフェース２７は、プリンタ３Ａと通信を行うためのインタフェースである。プリンタインタフェース２７は、１ページ分の圧縮済み画像の転送に用いられる。
【００４１】
図４に示すように、ＲＯＭ２２は、ラスタ画像生成部２１１、およびプリントデータ解析部２１２に対応するプログラムを格納するためのそれぞれの領域を有する。ラスタ画像生成部２１１は、受信したプリントデータに基づいて、ビットマップ形式の画像データに変換するためのラスタライズ処理（ＲＩＰ：Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）を実行する。すなわち、ラスタ画像生成部２１１は、プリントデータに含まれるデータファイルのオブジェクトを、プリンタ３Ａが印刷に用いるビットマップ形式の画像データであるラスタ画像に変換する。プリントデータ解析部２１２は、受信したプリントデータを解析し、基準ページと内容が異なる固有領域を判別して、更新ブロック情報として出力する。例えばダイレクトメールであれば、顧客名、顧客住所などが挙げられる。なお、ラスタ画像生成部２１１、およびプリントデータ解析部２１２の機能は、それぞれに対応するプログラムをＣＰＵ２１が実行することにより発揮される。
【００４２】
図５に示すように、ＲＡＭ２３は、ラスタ画像記憶部２３１、更新ブロック情報記憶部２３２、および圧縮済み画像記憶部２３３のためのそれぞれの領域を有する。ラスタ画像記憶部２３１は、生成されたラスタ画像を記憶する。更新ブロック情報記憶部２３２は、作成された更新ブロック情報を記憶する。更新ブロック情報は、ラスタ画像圧縮部２５で使用された後は速やかにＲＡＭ２３から消去される。圧縮済み画像記憶部２３３は、生成または修正された圧縮済み画像を記憶する。ここで、圧縮済み画像は、１ページ分のラスタ画像を圧縮した画像データである。
【００４３】
図６に示すように、ハードディスク２４は、プリントデータ記憶部２４１のための領域を有する。プリントデータ記憶部２４１は、受信したプリントデータを記憶する。
【００４４】
図７は、プリンタ３Ａの概略構成を示すブロック図である。プリンタ３Ａ，３Ｂは相互に同様の構成であるため、以下、プリンタ３Ａを代表として用いて説明する。
【００４５】
プリンタ３Ａは、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、操作パネル部３４、印刷部３５、およびプリンタコントローラインタフェース３６を含み、これらは信号をやり取りするためのバス３７を介して相互に接続されている。
【００４６】
操作パネル部３４は、各種情報の表示および各種指示の入力に使用される。印刷部３５は、帯電、露光、現像、転写および定着の各工程を含む電子写真式プロセスなどの作像プロセスを用いて、画像を用紙などの記録媒体上に印刷する。プリンタコントローラインタフェース３６は、プリンタコントローラ２Ａと通信を行うためのインタフェースである。
【００４７】
クライアント端末１Ａ，１Ｂ，１Ｃ、プリンタコントローラ２Ａ，２Ｂ、およびプリンタ３Ａ，３Ｂは、上述した構成要素以外の構成要素を含んでいてもよく、あるいは、上述した構成要素のうちの一部が含まれていなくてもよい。
【００４８】
ここで、本実施形態で使用されるデータの圧縮処理について説明する。
【００４９】
データの圧縮処理としては固定長データ圧縮と可変長データ圧縮がある。固定長データ圧縮とは、圧縮後の圧縮率が固定的であるデータの圧縮処理をいう。固定長データ圧縮の特徴としては、ブロック単位で（特定のデータ量をターゲットとして）データの圧縮を行うことが挙げられる。
【００５０】
図８に示すように、１ピクセル１Ｂｙｔｅのデータ量で、２０×２０ピクセルの画像データがあるとする。そして、例えば図８に示す画像データに対して固定長データ圧縮を施す場合について説明する。
【００５１】
図９は、固定長データ圧縮の例として代表的な固定長画像データ圧縮技術として知られるＧＢＴＣ（Ｇｅｎｅｒａｌｉｚｅｄ  Ｂｌｏｃｋ  Ｔｒｕｎｃａｔｉｏｎ  Ｃｏｄｉｎｇ）圧縮がブロック単位での圧縮であることについて模式的に示すものである。
【００５２】
ＧＢＴＣ圧縮では、４×４ピクセル（１６バイト）のブロックが、隣接するブロックに関係なくそれぞれ独立して圧縮される。図８の画像データを４×４ピクセルのブロックに分けた場合、図９に示すＡ〜Ｙの２５のブロックに分けられる。ＧＢＴＣ圧縮では、このＡ〜Ｙの各ブロックが、６バイトの長さに圧縮される。図１０は、図９の画像データが圧縮された後のデータを模式的に示す。
【００５３】
ここで、図９におけるＡ〜Ｙ、図１０におけるＡ−〜Ｙ−の各ブロックの配置に注目すると、図９と図１０とで各ブロックの配置構成は同じであることがわかる。そして、図１０におけるＡ−〜Ｙ−の各ブロックは、ブロック単位で独立した圧縮が行われているため、ブロック単位で生成された圧縮済み画像を再利用することが可能となる。したがって、本実施形態では、固定長データ圧縮が使用されることが、処理効率の観点から望ましい。ただし、ブロック単位で生成された圧縮済み画像を再利用できるものであれば、使用可能な圧縮処理の種類は任意である。
【００５４】
次に、図１１および図１２を参照して、プリンタコントローラ２Ａにおける処理について説明する。なお、図１１および図１２のフローチャートにより示されるアルゴリズムは、プリンタコントローラ２ＡのＲＯＭ２２などの記憶部にプログラムとして記憶されており、ＣＰＵ２１により実行される。
【００５５】
予め、ユーザは、クライアント端末１Ａにインストールされているアプリケーションソフトウェアを用いて、バリアブルプリントを実行するためのプリントデータを作成する。
【００５６】
そして、プリンタコントローラ２Ａは、クライアント端末１Ａからプリントデータを受信するまで待機する（Ｓ１０１でＮＯ）。
【００５７】
プリントデータが受信されると（Ｓ１０１でＹＥＳ）、プリンタコントローラ２Ａは、受信したプリントデータをハードディスク２４のプリントデータ記憶部２４１に保存する（Ｓ１０２）。ただし、受信したプリントデータは、リモートのデータベースサーバ、あるいは共有ファイルシステムに保存されてもよい。
【００５８】
前述したように、プリントデータは、レイアウトファイルとデータファイルとを含んでいる。データファイルとしては、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ（登録商標））、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＥＰＳ（Ｅｎｃａｐｓｕｌａｔｅｄ  ＰｏｓｔＳｃｒｉｐｔ）などのＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：ページ記述言語）で記述されたファイルが使用される。ただし、ＲＩＰ済みのデータ、ベクトルデータなどの他の形式のデータが、データファイルとして使用され得る。
【００５９】
続いて、圧縮済み画像の作成および出力が実行される（Ｓ１０３）。ここで、１ページごとに圧縮済み画像が作成され、プリンタ３Ａに出力される。
【００６０】
次に、図１２を参照して、圧縮済み画像の作成および出力について説明する。
【００６１】
まず、ハードディスク２４に保管されているプリントデータがラスタ画像生成部２１１に受け渡されて、１ページ分のラスタ画像が生成される（Ｓ２０１）。
【００６２】
続いて、生成されたラスタ画像が基準ページであるか否かが判断される（Ｓ２０２）。ここで、基準ページは、ページ間の類似度に基づいて類別されたグループ中の最小ページである。例えば顧客名、顧客住所の部分のみが異なるダイレクトメール等の場合、グループは１つであるため、基準ページはＴＯＰページ（最初のページ）である。一方、例えばオモテページとウラページとを有するプリントデータが両面印刷されるチケット等の場合、グループは２つであるため、基準ページは、ＴＯＰページ（最初のページ）、および第２ページである。基準ページは、プリントデータのレイアウト情報を解析することによって把握され得る。
【００６３】
生成されたラスタ画像が基準ページである場合（Ｓ２０２：ＹＥＳ）、プリントデータ解析部２１２は、当該ページ全体を更新ブロックとする更新ブロック情報を生成する（Ｓ２０３）。
【００６４】
続いて、基準ページのラスタ画像に対して圧縮処理が施されて、圧縮済み画像が生成され（Ｓ２０４）、ステップＳ２０７に進む。生成された圧縮済み画像は、圧縮済み画像記憶部２３３に記憶される。なお、圧縮済み画像は、基準ページの数だけ別個に保持される。
【００６５】
一方、生成されたラスタ画像が基準ページでない場合（Ｓ２０２：ＮＯ）、プリントデータ解析部２１２は、プリントデータのレイアウト情報に基づいて、対応する基準ページのラスタ画像との差分を固有領域として把握し、当該差分を更新ブロックとする更新ブロック情報を生成する（Ｓ２０５）。
【００６６】
続いて、対応する基準ページのラスタ画像と、更新ブロック情報とに基づいて、圧縮済み画像記憶部２３３に記憶されている圧縮済み画像が修正される（Ｓ２０６）。具体的には、更新ブロック情報に基づき、ステップＳ２０１で生成されたラスタ画像内から、圧縮済み画像における更新すべき部分に対応する固有領域が切り出され、圧縮処理が施されて修正固有圧縮画像が作成される。そして、圧縮済み画像のうちの固有領域に対応する固有圧縮画像が、修正固有圧縮画像に修正される。なお、固有圧縮画像の修正固有圧縮画像への修正（更新）は、上書き、差し替え等の処理で行われ得る。このようにして、圧縮済み画像のうち、複数ページで内容が共通する領域は再利用され、更新する必要のある領域だけが更新される。
【００６７】
ステップＳ２０７では、ステップＳ２０４で生成された圧縮済み画像、またはステップＳ２０６で修正された圧縮済み画像が、プリンタ３Ａに出力される。ここで、プリンタ３Ａは、プリンタコントローラ２Ａから受信した圧縮済み画像を復元（伸長）して、用紙などの記録媒体上に印刷する。
【００６８】
ステップＳ２０８では、現在処理中のページが最終ページであるか否かが判断される。最終ページでないと判断された場合（Ｓ２０８：ＮＯ）、ステップＳ２０１に戻る。最終ページであると判断された場合（Ｓ２０８：ＹＥＳ）、図１１のフローチャートに戻る。
【００６９】
次に、更新ブロック情報の生成（Ｓ２０３，Ｓ２０５）についてより詳しく説明する。
【００７０】
更新ブロック情報とは、圧縮済み画像記憶部２３３に記憶されている圧縮済み画像において更新するべきブロックを特定するための情報である。本実施形態では、プリントデータがバリアブル言語にて作成されており、プリントデータには、レイアウト情報が含まれる。レイアウト情報とは、再利用可能オブジェクトと非再利用可能オブジェクトを、ページ上にどのように配置するかを示す情報である。レイアウト情報には、配置するオブジェクト（を特定可能である名称）、配置するオブジェクトのサイズ（幅、高さ）、およびオブジェクトを配置する座標（Ｘ座標、Ｙ座標）が含まれる。
【００７１】
更新ブロック情報の生成は、このレイアウト情報に基づいて行われる。
【００７２】
図１３は、ページのレイアウトの一例を示す。
【００７３】
図中の更新フィールド５０１〜５０４は、ページ毎に更新されるフィールドである（図中において実線の矩形または楕円で示す）。また、再利用フィールド６０１〜６０３は、全ページで共通のフィールドである（図中において破線の矩形で示す）。各フィールドは、少なくとも１つのオブジェクトから構成される。ここで、プリントデータ内のレイアウト情報がページ単位で比較され、基準ページと異なるフィールドが更新フィールド、基準ページと同じフィールドが再利用フィールドと判断される。
【００７４】
図１４は、ページのレイアウトをブロックで区切った図である。
【００７５】
図１４に示すように、更新フィールドはブロックの境界と関係なく存在している。更新ブロック情報は、更新フィールドを含むブロックを矩形領域で示すものとして生成される。このため、例えば図１４に示す更新フィールド５０４のような楕円形の更新フィールドが存在した場合、更新フィールド５０４を含むブロック全体を、ブロック境界線で囲う矩形領域が、更新ブロックとされる。結果として、更新フィールド５０４に対応する更新ブロックは、図１５の符号５１４で示される部分となる。
【００７６】
圧縮対象となるブロック１個のＸ軸方向バイト数およびＹ軸バイト数をそれぞれｎｘ、ｎｙとし、更新フィールドのＸ軸方向の開始座標およびＹ軸方向の開始座標（ピクセル単位）をそれぞれｍｘ、ｍｙとし、更新フィールドのＸ軸方向の終了座標およびＹ軸方向の終了座標（ピクセル単位）をそれぞれｐｘ、ｐｙとした場合、更新ブロックのＸ軸方向の開始座標およびＹ軸方向の開始座標Ｍｘ、Ｍｙ、更新ブロックのＸ軸方向の終了座標およびＹ軸方向の終了座標Ｐｘ、Ｐｙは、以下の式で算出される。なお、図１４において、左上隅が原点である。
Ｍｘ＝ＲＤ（ｍｘ／ｎｘ）×ｎｘ
Ｍｙ＝ＲＤ（ｍｙ／ｎｙ）×ｎｙ
Ｐｘ＝ＲＵ（ｐｘ／ｎｘ）×ｎｘ
Ｐｙ＝ＲＵ（ｐｙ／ｎｙ）×ｎｙ
ここで、「ＲＤ」は切り捨てを示す関数、「ＲＵ」は切り上げを示す関数とする。
【００７７】
このように、更新ブロック情報は、上記式に基いて計算された、ラスタ画像上のピクセル単位で表される座標によって示される。
【００７８】
次に、更新ブロック情報に基づく圧縮済み画像の修正（Ｓ２０６）についてより詳しく説明する。
【００７９】
バリアブル言語で記述されたプリントデータがその効果を発揮するためには、全ページが同一サイズであり、同一レイアウトである事が望ましく、また一般的であるため、ここでは、全ページが同一サイズである事を前提としている。
【００８０】
図１６は、更新ブロック情報に基づく圧縮済み画像の修正方法を示す図である。
【００８１】
ラスタ画像生成部２１１によって生成されたラスタ画像８０１は、１ページ分の画像データである。また、圧縮済み画像８０３は、１ページ分の画像データを圧縮したものである。圧縮済み画像８０３の修正を行う際には、まず更新ブロック情報８０２によって示されるラスタ画像８０１上のブロックが参照される。かかるブロックは、更新すべき部分に対応する固有領域８０４である。続いて、参照されたブロックが圧縮されて修正固有圧縮画像８０５が作成される。そして、修正固有圧縮画像８０５が、圧縮済み画像８０３の対応する部分に上書きされる。つまり、圧縮済み画像８０３のうちの固有領域８０４に対応する固有圧縮画像８０６が、修正固有圧縮画像８０５に修正される。
【００８２】
圧縮済み画像８０３上における更新すべきブロックは、ラスタ画像８０１上のピクセル座標によって示される更新ブロック情報８０２に基いて、以下のように求められる。
【００８３】
圧縮済み画像８０３上における更新すべきブロックのＸ軸方向の開始座標およびＹ軸方向の開始座標Ｂｓｘ、Ｂｓｙ、圧縮済み画像８０３上における更新すべきブロックのＸ軸方向の終了座標およびＹ軸方向の終了座標Ｂｅｘ、Ｂｅｙは、ブロック単位の座標にて、以下の式で算出される。
Ｂｓｘ＝Ｍｘ／ｎｘ
Ｂｓｙ＝Ｍｙ／ｎｙ
Ｂｅｘ＝Ｐｘ／ｎｘ
Ｂｅｙ＝Ｐｙ／ｎｙ
ここで、圧縮対象となるブロック１個のＸ軸方向バイト数およびＹ軸バイト数をそれぞれｎｘ、ｎｙとし、更新ブロックのＸ軸方向の開始座標（ピクセル単位）およびＹ軸方向の開始座標（ピクセル単位）をそれぞれＭｘ、Ｍｙとし、更新ブロックのＸ軸方向の終了座標（ピクセル単位）およびＹ軸方向の終了座標（ピクセル単位）をそれぞれＰｘ、Ｐｙとする。
【００８４】
このように、圧縮済み画像８０３上における更新すべきブロックの位置は、上記式に基いて計算された、圧縮済み画像８０３上のブロック単位で表される座標によって示される。
【００８５】
上述したように、本実施形態のプリンタコントローラ２Ａは、複数ページからなる画像データの所定ページに対して、ページ内の複数の領域毎に独立して圧縮処理を施し、圧縮されて得られた圧縮済み画像８０３を格納部に格納する。続いて、プリンタコントローラ２Ａは、前記所定ページと異なるページのうち、前記所定ページと対応する領域同士の内容が異なる固有領域８０４を判別する。そして、プリンタコントローラ２Ａは、格納部に格納されている圧縮済み画像８０３のうちの前記固有領域８０４に対応する固有圧縮画像８０６を、前記所定ページと異なるページ内の固有領域８０４に対して圧縮処理が施された修正固有圧縮画像８０５に修正し、修正された圧縮済み画像をプリンタ３Ａに出力する。
【００８６】
このようにして、圧縮済み画像のうち、複数ページで内容が共通する領域は再利用され、更新する必要のある領域だけが更新される。したがって、複数ページからなる画像データの圧縮処理にかかる時間を短縮化することができ、これにより、印刷処理性能を向上させることができる。
【００８７】
次に、本発明の第２の実施形態に係る印刷システムについて説明する。なお、ハードウェア構成は、第１の実施形態にかかる印刷システムと同様であるため説明を省略する。以下、第１の実施形態と異なる点を中心に、第２の実施形態にかかる印刷システムの動作について説明する。
【００８８】
第１の実施形態では、ラスタ画像生成部２１１により、１ページ全体のラスタ画像が全ページ分生成される。これにより、圧縮済み画像を更新する際に、生成されたラスタ画像内から固有領域を切り出して圧縮したものを、圧縮済み画像に対して例えば上書きすることを可能としている。しかし、バリアブル言語をサポートするプリンタ等の画像形成装置は、再利用可能オブジェクトをＲＩＰして作成したオブジェクトのラスタ画像を、メモリやハードディスク上にキャッシュし、このキャッシュしたラスタ画像を再利用することで、ＲＩＰ時間を削減し、性能を向上させることができる。そこで、第２の実施形態は、プリントデータに含まれるレイアウト情報に基き、指定された再利用可能オブジェクトのラスタ画像を用いて、圧縮済み画像を修正する方法を提供するものである。
【００８９】
図１７は、第２の実施形態における圧縮済み画像の作成および出力についての処理の手順を示すフローチャートである。
【００９０】
まず、処理対象のページが基準ページであるか否かが判断される（Ｓ３０１）。ここで、基準ページは、ページ間の類似度に基づいて類別されたグループ中の最小ページである。かかる基準ページは、プリントデータのレイアウト情報を解析することによって把握され得る。
【００９１】
処理対象のページが基準ページである場合（Ｓ３０１：ＹＥＳ）、当該１ページ分のラスタ画像が生成される（Ｓ３０２）。
【００９２】
続いて、基準ページのラスタ画像に対して圧縮処理が施されて、圧縮済み画像が生成され（Ｓ３０３）、ステップＳ３０９に進む。生成された圧縮済み画像は、圧縮済み画像記憶部２３３に記憶される。なお、圧縮済み画像は、基準ページの数だけ別個に保持される。
【００９３】
一方、生成されたラスタ画像が基準ページでない場合（Ｓ３０１：ＮＯ）、プリントデータ解析部２１２は、プリントデータのレイアウト情報に基づいて、対応する基準ページとの差分の一つを固有領域として把握し、当該差分のラスタ画像を生成する（Ｓ３０４）。
【００９４】
続いて、圧縮済み画像記憶部２３３に記憶されている圧縮済み画像のうち、差分に対応する固有圧縮画像が復元される（Ｓ３０５）。
【００９５】
続いて、復元画像に対して差分のラスタ画像を上書きして得た画像を圧縮することにより、修正固有圧縮画像が作成される（Ｓ３０６）。
【００９６】
そして、修正固有圧縮画像を用いて、圧縮済み画像が修正される（Ｓ３０７）。すなわち、圧縮済み画像のうちの固有領域に対応する固有圧縮画像が、修正固有圧縮画像に修正される。
【００９７】
ステップＳ３０８では、圧縮済み画像のページが完成したか否かが判断される。すなわち、処理対象のページと、対応する基準ページとの差分の全てが修正されたか否かが判断される。
【００９８】
ステップＳ３０９では、ステップＳ３０３で生成された圧縮済み画像、またはステップＳ３０７で修正されて完成した圧縮済み画像が、プリンタ３Ａに出力される。ここで、プリンタ３Ａは、プリンタコントローラ２Ａから受信した圧縮済み画像を復元（伸長）して、用紙などの記録媒体上に印刷する。
【００９９】
ステップＳ３１０では、現在処理中のページが最終ページであるか否かが判断される。最終ページでないと判断された場合（Ｓ３１０：ＮＯ）、ステップＳ３０１に戻る。最終ページであると判断された場合（Ｓ３１０：ＹＥＳ）、図１１のフローチャートに戻る。
【０１００】
次に、第２の実施形態における圧縮済み画像の修正についてより詳しく説明する。図１８は、第２の実施形態における圧縮済み画像の修正方法を示す図である。
【０１０１】
まず、レイアウト情報９０１に基づいて、圧縮済み画像９０３上に配置すべきラスタ画像（オブジェクト画像）９０２の指定が行われ、かかるラスタ画像９０２の圧縮済み画像９０３上における配置先座標が指定される。この配置先座標はページ全体のラスタ画像上におけるピクセル単位の座標であるため、まず、この配置先座標が圧縮済み画像上におけるブロック単位の座標に変換される。
【０１０２】
ラスタ画像９０２の配置先を示す圧縮済み画像９０３上におけるブロック単位の、Ｘ軸方向における開始位置及び終了位置Ｂｓｘ、Ｂｅｘ、Ｙ軸方向における開始位置及び終了位置Ｂｓｙ、Ｂｅｙは、以下の式で算出される。
Ｂｓｘ＝ＲＤ（ｓｘ／ｎｘ）
Ｂｅｘ＝ＲＵ（（ｓｘ＋ｗ）／ｎｘ）
Ｂｓｙ＝ＲＤ（ｓｙ／ｎｙ）
Ｂｅｙ＝ＲＵ（（ｓｙ＋ｈ）／ｎｙ）
ここで、圧縮対象となるブロック１個のＸ軸方向バイト数およびＹ軸バイト数をそれぞれｎｘ、ｎｙとし、ページ全体のラスタ画像上におけるラスタ画像９０２のＸ軸方向における開始座標（ピクセル単位）およびＹ軸方向における開始座標（ピクセル単位）をそれぞれｓｘ、ｓｙとし、ラスタ画像９０２の幅および高さ（ピクセル単位）をそれぞれｗ、ｈとする。また、「ＲＤ」は切り捨てを示す関数、「ＲＵ」は切り上げを示す関数とする。
【０１０３】
そして、圧縮済み画像上におけるブロック単位の配置先座標によって示されるブロックが復元され、復元済み画像９０４が作成される。
【０１０４】
更に、復元済み画像９０４に対してラスタ画像９０２が上書きされる。
【０１０５】
復元済み画像９０４上においてラスタ画像９０２を上書きすべき位置の、Ｘ軸方向における開始座標（ピクセル単位）およびＹ軸方向における開始座標（ピクセル単位）Ｒｓｘ、Ｒｓｙは、以下の式で算出される。
Ｒｓｘ＝ｓｘ％ｎｘ
Ｒｓｙ＝ｓｙ％ｎｙ
ここで、例えば「Ａ％Ｂ」は、ＡをＢで割った余りを示す。
【０１０６】
復元済み画像９０４にラスタ画像９０２が上書きされた後、上書きされて得られた画像が再度圧縮されることにより、修正固有圧縮画像９０５が作成される。
【０１０７】
最後に、修正固有圧縮画像９０５が、圧縮済み画像上におけるブロック単位のＸ軸方向における開始位置及び終了位置Ｂｓｘ、Ｂｅｘ、Ｙ軸方向における開始位置及び終了位置Ｂｓｙ、Ｂｅｙで示される配置先に、上書きされる。
【０１０８】
このように第２の実施形態では、修正固有圧縮画像は、圧縮済み画像のうちの固有圧縮画像を復元した復元画像に、固有領域に対応するオブジェクトにラスタライズ処理を施して得られたオブジェクト画像を上書きした画像に対して、圧縮処理を施すことにより、作成される。すなわち、プリントデータに含まれるレイアウト情報に基き、指定された再利用可能オブジェクトのラスタ画像を用いて、圧縮済み画像が修正される。これにより、全ページ分のラスタ画像を生成する必要がなくなる。しかも、固有領域に対応するオブジェクトの周辺画像が欠落してしまう事態を防止でき、精密な修正が可能となる。
【０１０９】
したがって、第２の実施形態によれば、第１の実施形態による効果と同様の効果を得ることができることに加えて、再利用可能なオブジェクトをＲＩＰして作成したラスタ画像を再利用することでＲＩＰ時間を削減することが可能となり、さらなる印刷処理性能の向上を図ることができる。
【０１１０】
次に、本発明の第３の実施形態に係る印刷システムについて説明する。なお、ハードウェア構成は、第１の実施形態にかかる印刷システムと同様であるため説明を省略する。以下、第１の実施形態と異なる点を中心に、第３の実施形態にかかる印刷システムの動作について説明する。
【０１１１】
第１の実施形態では、プリントデータがバリアブル言語で作成されており、そのレイアウト情報に基づいて、更新ブロック情報が生成される。第３の実施形態は、プリントデータがバリアブル言語で作成されていない場合でも、更新ブロック情報を生成する方法を提供するものである。
【０１１２】
図１９は、第３の実施形態における圧縮済み画像の作成および出力についての処理の手順を示すフローチャートである。
【０１１３】
まず、ラスタ画像解析処理が行われる（Ｓ４０１）。ラスタ画像解析処理では、プリントデータに含まれる画像データがページ内で等分割され、等分割された領域同士が各ページ間で比較されて、複数ページで共通して使用される共通領域と当該共通領域に該当しない固有領域とが判別される。ここでの画像データは、印刷に使用されるビットマップ形式の画像データよりも低い解像度のビットマップ形式の画像データに変換されたものが使用される。
【０１１４】
図２０は、生成された低解像度のＲＧＢラスタ画像の一例を示す図である。ここで、生成時間および解析時間を極力短くするために、低解像度でかつＲＧＢのラスタ画像が生成される。生成されたＲＧＢラスタ画像は、図２１に示すように、Ｍ（行）×Ｎ（列）領域に等分割される。図２１では、ＲＧＢラスタ画像は、６行４列に分割されている。なお、ＲＧＢラスタ画像は、ページ内で格子状に等分割されることが効率的な処理の観点から好ましい。特に、複数ページに亘り大部分の画像が共通し、一部の画像のみが異なるようなデータの場合に効率的な処理が期待できる。尚、分割数Ｍ×Ｎは任意であり予め設定される。ここで、画像データがページ内で等分割される領域は、圧縮処理が施されるブロックに相当することが望ましい。その後、等分割された各領域が数値化される。すなわち、各領域におけるＲＧＢ色成分のピクセル値を入力として、例えばハッシュ関数を用いることにより、各領域のハッシュ値が算出される。図２２は、１ページ分のＲＧＢラスタ画像における各領域のハッシュ値の一例を示す。ハッシュ関数として、例えばＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５）やＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）等が用いられる。なお、ピクセル値は、一般に、Ｒ（赤）＝０〜２５５、Ｇ（緑）＝０〜２５５、Ｂ（青）＝０〜２５５の範囲をとる。以上の処理が、全ページの処理が終了するまで繰り返される。
【０１１５】
そして、全ページの処理が終了すると、ページ毎の類似度を判定して、各ページがグループ化される。続いて、グループ毎に共通領域と固有領域とが抽出される。具体的には、まず、領域（行１列１、行２列１……行６列４）毎に一致率が算出される。なお、領域毎の一致率は、ある領域において基準ページの領域と値が一致する領域を含むページの全ページに対する割合を示す。そして、領域毎の一致率が１００％の領域が共通領域、それ以外の領域が固有領域と判別される（図２３参照）。このように等分割された領域同士は、各領域を数値化したデータに基づいて、各ページ間で比較される。これにより、高速かつ正確な領域同士の比較が可能となる。図２４は、オモテページとウラページとを有するプリントデータが両面印刷される場合の、生成された低解像度のＲＧＢラスタ画像の一例を示す図である。この場合、グループは２つできるため、基準ページは、ＴＯＰページ（最初のページ）、および第２ページである。
【０１１６】
続いて、ハードディスク２４に保管されているプリントデータがラスタ画像生成部２１１に受け渡されて、１ページ分のラスタ画像が生成される（Ｓ４０２）。ここで生成されるラスタ画像は、印刷に使用される解像度のビットマップ形式の画像データである。
【０１１７】
続いて、生成されたラスタ画像が基準ページであるか否かが判断される（Ｓ４０３）。ここで、基準ページは、ページ間の類似度に基づいて類別されたグループ中の最小ページである。
【０１１８】
生成されたラスタ画像が基準ページである場合（Ｓ４０３：ＹＥＳ）、プリントデータ解析部２１２は、当該ページ全体を更新ブロックとする更新ブロック情報を生成する（Ｓ４０４）。
【０１１９】
続いて、基準ページのラスタ画像に対して圧縮処理が施されて、圧縮済み画像が生成され（Ｓ４０５）、ステップＳ４０８に進む。生成された圧縮済み画像は、圧縮済み画像記憶部２３３に記憶される。なお、圧縮済み画像は、基準ページの数だけ別個に保持される。
【０１２０】
一方、生成されたラスタ画像が基準ページでない場合（Ｓ４０３：ＮＯ）、ステップＳ４０１におけるラスタ画像解析処理の結果に基づいて、対応する基準ページのラスタ画像との差分が固有領域として把握され、当該差分を更新ブロックとする更新ブロック情報が生成される（Ｓ４０６）。
【０１２１】
続いて、対応する基準ページのラスタ画像と、更新ブロック情報とに基づいて、圧縮済み画像記憶部２３３に記憶されている圧縮済み画像が修正される（Ｓ４０７）。
【０１２２】
ステップＳ４０８では、ステップＳ４０５で生成された圧縮済み画像、またはステップＳ４０７で修正された圧縮済み画像が、プリンタ３Ａに出力される。ここで、プリンタ３Ａは、プリンタコントローラ２Ａから受信した圧縮済み画像を復元（伸長）して、用紙などの記録媒体上に印刷する。
【０１２３】
ステップＳ４０９では、現在処理中のページが最終ページであるか否かが判断される。最終ページでないと判断された場合（Ｓ４０９：ＮＯ）、ステップＳ４０２に戻る。最終ページであると判断された場合（Ｓ４０９：ＹＥＳ）、図１１のフローチャートに戻る。
【０１２４】
このように第３の実施形態のプリンタコントローラは、画像データをページ内で複数の領域に等分割し、等分割された所定ページ内の複数の領域、および所定ページと異なるページ内の複数の領域の間で対応する領域同士を比較して両ページで内容が異なる領域を固有領域と判別する。
【０１２５】
したがって、第３の実施形態によれば、プリントデータがバリアブル言語で作成されていない場合でも、更新ブロック情報を生成することができ、第１の実施形態による効果と同様の効果を得ることができる。すなわち、圧縮済み画像のうち、複数ページで内容が共通する領域は再利用され、更新する必要のある領域だけが更新される。したがって、複数ページからなる画像データの圧縮処理にかかる時間を短縮化することができ、これにより、印刷処理性能を向上させることができる。
【０１２６】
なお、第３の実施形態では、受信されるプリントデータが汎用のＰＤＬで記述されたプリントデータである場合が想定される。しかし、本実施形態は、プリントデータがＲＩＰ済のページ画像データの場合にも適用され得る。ＲＩＰ済みのページ画像データとしては、マルチページＴＩＦＦ画像、ＧＤＩドライバで生成した画像、ビットマップ画像、ＪＰＥＧ画像等が挙げられる。
【０１２７】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【０１２８】
上記実施形態では、画像処理装置としてのプリンタコントローラと、画像形成装置としてのプリンタとが別個の装置として分離して設置され、互いにローカル接続された構成の場合について述べたが、プリンタコントローラはプリンタの中に内包されていてもよい。
【０１２９】
また、上記実施形態では、画像形成装置としてプリンタが採用されているが、本発明はこれに限定されるものではない。本発明は、例えばＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）、複写機等の画像形成装置にも適用可能である。
【０１３０】
本実施形態の印刷システムにおける各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、たとえばフレキシブルディスクやＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【図面の簡単な説明】
【０１３１】
【図１】本発明の第１の実施形態に係る印刷システムの全体構成図である。
【図２】クライアント端末の概略構成を示すブロック図である。
【図３】プリンタコントローラの概略構成を示すブロック図である。
【図４】ラスタ画像生成部、およびプリントデータ解析部を説明するための図である。
【図５】ラスタ画像記憶部、更新ブロック情報記憶部、および圧縮済み画像記憶部を説明するための図である。
【図６】プリントデータ記憶部を説明するための図である。
【図７】プリンタの概略構成を示すブロック図である。
【図８】２０×２０ピクセルの画像データを説明するための模式図である。
【図９】ブロック単位での圧縮を説明するための模式図である。
【図１０】図９の画像データが圧縮された後のデータを模式的に示す図である。
【図１１】プリンタコントローラにおける処理の手順を示すフローチャートである。
【図１２】圧縮済み画像の作成および出力につての処理の手順を示すフローチャートである。
【図１３】ページのレイアウトの一例を示す図である。
【図１４】ページのレイアウトをブロックで区切った図である。
【図１５】更新フィールドに対応する更新ブロックを説明するための図である。
【図１６】更新ブロック情報に基づく圧縮済み画像の修正方法を示す図である。
【図１７】第２の実施形態における圧縮済み画像の作成および出力についての処理の手順を示すフローチャートである。
【図１８】第２の実施形態における圧縮済み画像の修正方法を示す図である。
【図１９】第３の実施形態における圧縮済み画像の作成および出力についての処理の手順を示すフローチャートである。
【図２０】生成された低解像度のＲＧＢラスタ画像の一例を示す図である。
【図２１】Ｍ×Ｎ領域に分割されたラスタ画像の一例を示す図である。
【図２２】１ページ分のＲＧＢラスタ画像における各領域のハッシュ値の一例を示す図である。
【図２３】共通領域と固有領域との判別結果を示す図である。
【図２４】オモテページとウラページとを有するプリントデータが両面印刷される場合の、生成された低解像度のＲＧＢラスタ画像の一例を示す図である。
【符号の説明】
【０１３２】
１Ａ，１Ｂ，１Ｃ    クライアント端末、
１１，２１，３１    ＣＰＵ、
１２，２２，３２    ＲＯＭ、
１３，２３，３３    ＲＡＭ、
１４，２４    ハードディスク、
１５    ディスプレイ、
１６    入力装置、
１７，２６    ネットワークインタフェース、
１８，２８，３７    バス、
２Ａ，２Ｂ    プリンタコントローラ（画像処理装置）、
２１１    ラスタ画像生成部、
２１２    プリントデータ解析部、
２３１    ラスタ画像記憶部、
２３２    更新ブロック情報記憶部、
２３３    圧縮済み画像記憶部、
２４１    プリントデータ記憶部、
２５    ラスタ画像圧縮部、
２７    プリンタインタフェース、
３Ａ，３Ｂ    プリンタ、
３４    操作パネル部、
３５    印刷部、
３６    プリンタコントローラインタフェース、
５    ネットワーク、
５０１〜５０４    更新フィールド、
５１４    更新ブロック、
６０１〜６０３    再利用フィールド、
８０１    ラスタ画像、
８０２    更新ブロック情報、
８０３，９０３    圧縮済み画像、
８０４    固有領域、
８０５，９０５    修正固有圧縮画像、
８０６    固有圧縮画像、
９０１    レイアウト情報、
９０２    ラスタ画像、
９０４    復元済み画像。
【図１】
0004375449.tif 000002
【図２】
0004375449.tif 000003
【図３】
0004375449.tif 000004
【図４】
0004375449.tif 000005
【図５】
0004375449.tif 000006
【図６】
0004375449.tif 000007
【図７】
0004375449.tif 000008
【図８】
0004375449.tif 000009
【図９】
0004375449.tif 000010
【図１０】
0004375449.tif 000011
【図１１】
0004375449.tif 000012
【図１２】
0004375449.tif 000013
【図１３】
0004375449.tif 000014
【図１４】
0004375449.tif 000015
【図１５】
0004375449.tif 000016
【図１６】
0004375449.tif 000017
【図１７】
0004375449.tif 000018
【図１８】
0004375449.tif 000019
【図１９】
0004375449.tif 000020
【図２０】
0004375449.tif 000021
【図２１】
0004375449.tif 000022
【図２２】
0004375449.tif 000023
【図２３】
0004375449.tif 000024
【図２４】
0004375449.tif 000025