(57)【要約】【課題】被参照印刷画像データと参照印刷画像データとの差分を圧縮したデータを、保存する場合、保存領域の使用容量を最小限で動作させることができる印刷制御装置を提供することを目的とする。【解決手段】受信したジョブデータに基づいて、印刷画像データを生成する画像処理手段と、第１の被参照印刷画像データを参照する第１の参照印刷画像データと前記第１の被参照印刷画像データとの間で差分圧縮して、差分圧縮データを得る差分圧縮手段と、前記第１の被参照印刷画像データを削除する前に、前記差分圧縮データを伸長して、第２の被参照印刷画像データを得る伸長手段とを有する。【選択図】図９
2017022656.tif 000002
【特許請求の範囲】
【請求項１】
受信したジョブデータに基づいて、印刷画像データを生成する画像処理手段と、
第１の被参照印刷画像データを参照する第１の参照印刷画像データと前記第１の被参照印刷画像データとの間で差分圧縮して、差分圧縮データを得る差分圧縮手段と、
前記第１の被参照印刷画像データを削除する前に、前記差分圧縮データを伸長して、第２の被参照印刷画像データを得る伸長手段と、
を有することを特徴とする印刷制御装置。
【請求項２】
前記伸長手段が前記差分圧縮データを伸長して、第２の被参照印刷画像データを得た後に、前記第１の被参照印刷画像データを削除する削除手段を有することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
差分を生成して圧縮されている印刷前の印刷画像データを印刷するために送信までにかかる時間と、再圧縮に必要な時間とを比較し、再圧縮に必要な時間が短ければ、再圧縮処理を行うことを特徴とする請求項１に記載の印刷制御装置。
【請求項４】
前記被参照印刷画像データの印刷が完了した後に、前記被参照印刷画像データとの間で差分圧縮した圧縮データを伸長し、再圧縮した結果が、所定の条件を満たすか否かを判定する判定手段と、
前記所定の条件を満たすと、判定されれば、再圧縮する前の参照印刷画像データを、新たな被参照印刷画像データとし、新たな被参照印刷画像データの前に被参照印刷画像データであった被参照印刷画像データを削除し、一方、前記所定の条件を満たさないと、判定されれば、前記再圧縮する前の被参照印刷画像データを残す制御手段と、
を有することを特徴とする請求項１に記載の印刷制御装置。
【請求項５】
前記所定の条件は、再圧縮を行うかどうかを判定する対象の印刷画像データが、プリントエンジンに送信する前のページであるという条件であることを特徴とする請求項４に記載の印刷制御装置。
【請求項６】
前記所定の条件は、排紙完了した印刷画像データの圧縮データサイズとスプール領域に保存されている対象の印刷画像データの圧縮データサイズとの合計から、再圧縮後のデータサイズを引いたデータサイズが、閾値以下であるという条件であることを特徴とする請求項４に記載の印刷制御装置。
【請求項７】
前記所定の条件は、圧縮時の時間を参考に再圧縮時間を見積り、見積もった再圧縮時間が、印刷までの時間よりも短いという条件であることを特徴とする請求項４に記載の印刷制御装置。
【請求項８】
前記被参照印刷画像データは、直前の印刷画像データであることを特徴とする請求項１に記載の印刷制御装置。
【請求項９】
前記被参照印刷画像データは、最初の印刷画像データであることを特徴とする請求項１に記載の印刷制御装置。
【請求項１０】
前記被参照印刷画像データは、複数の印刷画像データのそれぞれとの間で差分圧縮し、この差分圧縮したデータが最も小さい印刷画像データであることを特徴とする請求項１に記載の印刷制御装置。
【請求項１１】
前記伸長手段は、前記第１の被参照印刷画像データの印刷が終わり、前記第１の被参照印刷画像データを削除する前に、前記差分圧縮データを伸長して、第２の被参照印刷画像データを得ることを特徴とする請求項１に記載の印刷制御装置。
【請求項１２】
前記伸長手段は、スプール領域の空き容量が閾値以下になり、前記第１の被参照印刷画像データを削除する前に、前記差分圧縮データを伸長して、第２の被参照印刷画像データを得ることを特徴とする請求項１または２に記載の印刷制御装置。
【請求項１３】
受信したジョブデータに基づいて、印刷画像データを生成する画像処理工程と、
第１の被参照印刷画像データを参照する第１の参照印刷画像データと前記第１の被参照印刷画像データとの間で差分圧縮して、差分圧縮データを得る差分圧縮工程と、
前記第１の被参照印刷画像データを削除する前に、前記差分圧縮データを伸長して、第２の被参照印刷画像データを得る伸長工程と、
を有することを特徴とする印刷制御方法。
【請求項１４】
請求項１３に記載の印刷制御方法をコンピュータに実行させるためのプログラム。
【請求項１５】
受信したジョブデータに基づいて、印刷画像データを生成する画像処理手段と、
第１の被参照印刷画像データを参照する第１の参照印刷画像データと前記第１の被参照印刷画像データとの間で差分圧縮して、差分圧縮データを得る差分圧縮手段と、
前記第１の被参照印刷画像データを削除する前に、前記差分圧縮データを伸長して、第２の被参照印刷画像データを得る伸長手段と、
前記画像処理手段により生成された印刷画像データに基づき印刷を実行する印刷手段とを有することを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置を有し、印刷画像単位で画像を圧縮保存して印刷する印刷装置、その制御方法及び、プログラムに関する。
【背景技術】
【０００２】
デジタル印刷装置では、入力されたジョブデータから、用紙上に印刷される印刷画像データを生成し、印刷する。このときに、デジタル印刷装置では、生成した印刷画像データを一定量スプール領域に保存する。このように保存することによって、印刷順序の並び替えや、ジャム等のエラー時の再印刷、ジョブデータの再印刷要求に対応している。スプール領域として、ＲＡＭなどの揮発性メモリ、フラッシュメモリ等の不揮発性メモリ、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）等が、必要な容量、コストを鑑みて使用される。
【０００３】
スプール領域に使用される容量は、主にコスト面から必要最低限の大きさであることが望ましい。逆に言えば、一定のスプール領域内に、できるだけ多くの印刷画像データを保存できることが望ましく、そのために、印刷画像データを圧縮して保存することが一般的に行われる。圧縮には、元のデータを復元できる可逆圧縮と、データの欠落が生じるが圧縮率の高い不可逆圧縮とがある。
【０００４】
印刷装置のスプール領域に保存する印刷画像データを圧縮する場合、画質の観点から可逆圧縮が望ましいが、不可逆圧縮に比べて圧縮率が低い点が課題である。スプール領域への保存データ量を増やすために、次の手法が提案されている。つまり、印刷画像データを高い圧縮率で、比較的高速に圧縮保存する方法として、生成した印刷画像データ間の差分情報を保存することによって、圧縮率の高い圧縮を行う発明が知られている（たとえば、特許文献１参照。）。
【０００５】
この従来例は、ジョブデータの各ページが共通している部分が多いデータの場合に、特に有効な手段である。この従来例は、バリアブルデータ印刷（Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｐｒｉｎｔ、ＶＤＰ）形式のデータである。つまり、この従来例は、たとえば、表計算ソフトで生成されるデータや帳票印刷等に用いられる印刷物の一部を可変データ部分とし、印刷物一部ごとに、可変データ部分の内容を異ならせて出力する発明である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３２６７２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、前記従来例を実現しようとすると、以下の課題がある。スプール領域に保存された印刷画像データ間の差分圧縮を伸長して印刷するためには、参照される印刷画像データ（被参照印刷画像データ）が必要になる。したがって、既に印刷し終わった被参照印刷画像データを参照している他の印刷画像データ（参照印刷画像データ）が存在している限り、既に印刷し終わった被参照印刷画像データを保持しなければならない。このために、印刷が完了しても、スプール領域に保存されている印刷画像データが蓄積されると、後続のジョブを保存できる容量を確保できない場合がある。
【０００８】
特許文献１に記載の発明では、被参照印刷画像データが、参照されないのに長期間保持する等、場合によっては、既に印刷済みの印刷画像データを長期間保持しておかなければならない。これは、大規模な印刷装置で、印刷画像データを再利用するために、長期間保存する場合には有効である。しかし、ビジネス用途やコンシューマ用途の印刷装置では、コスト面から、スプール領域は比較的小さいことが求められる。よって、正常に印刷された印刷画像データは、スプール領域から速やかに破棄し、後続の印刷画像データを保存する領域を空けることが望ましい。
【０００９】
すなわち、上記従来例は、被参照印刷画像データと参照印刷画像データとの差分を圧縮したデータを、保存する場合、保存領域の使用容量を最小限で動作させることができないという問題がある。
【００１０】
本発明は、被参照印刷画像データと参照印刷画像データとの差分を圧縮したデータを、保存する場合、保存領域の使用容量を最小限で動作させることができる印刷制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る印刷制御装置は、受信したジョブデータに基づいて、印刷画像データを生成する画像処理手段と、第１の被参照印刷画像データを参照する第１の参照印刷画像データと前記第１の被参照印刷画像データとの間で差分圧縮して、差分圧縮データを得る差分圧縮手段と、前記第１の被参照印刷画像データを削除する前に、前記差分圧縮データを伸長して、第２の被参照印刷画像データを得る伸長手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、被参照印刷画像データと参照印刷画像データとの差分を圧縮したデータを、保存する場合、保存領域の使用容量を最小限で動作させることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】本実施形態における端末１００と印刷装置２００との接続を示す図である。
【図２】端末１００と印刷装置２００とのハードウェア構成を示す図である。
【図３】印刷装置２００の機能構成を示すブロック図である。
【図４】制御部２１０が受信したデータをスプール部２５０へ保存する処理を示す。
【図５】差分画像生成に際して被参照印刷画像データの選択方法を示す図である。
【図６】差分画像生成に際して被参照印刷画像データの選択方法を示す図である。
【図７】差分画像生成に際して被参照印刷画像データの選択方法を示す図である。
【図８】保存されている圧縮データを印刷するまでの処理のフローチャートである。
【図９】圧縮データを印刷完了時に削除する処理を示すフローチャートである。
【図１０】印刷画像データを印刷するまでの状態遷移を示す図である。
【図１１】印刷画像データを印刷後に再圧縮するまでの状態遷移を示す図である。
【図１２】印刷画像データを印刷後に再圧縮するまでの状態遷移を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の好適な実施の形態について図面を参照して説明する。但し、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、実施形態で説明されている構成要素の組み合わせの全てが、課題を解決するための手段に必須のものとは限らない。本明細書において「印刷装置」とは、印刷機能に特化した専用機に限らず、印刷機能とその他の機能を複合した複合機や、記録用紙等の媒体に画像やパターンを形成する製造装置等も含まれる。
【実施形態１】
【００１５】
図１は、本実施形態における、端末１００と、印刷装置２００との接続構成を示す概略図である。端末１００と、印刷装置２００とは、ネットワークを介して相互に通信可能に接続されている。本実施形態においては、端末１００として、ＰＣ（パーソナルコンピュータ）などの情報機器が用いられる。
【００１６】
図２は、本実施形態における端末１００及び印刷装置２００のハードウェア構成を示すブロック図である。端末１００のＣＰＵ１０１は、バス１０８を介して相互に接続された端末１００の各部を制御する制御部であり、端末１００の全体を統括制御する。ＲＯＭ１０２は、制御プログラムや各種の情報を格納する。ＣＰＵ１０１は、ＲＯＭ１０２に格納されている各種プログラムを、ワークメモリとしてのＲＡＭ１０３上で実行することによって、端末１００を制御する。
【００１７】
なお、このような制御プログラムは、ＲＯＭ１０２に格納されているものに限らず、ＣＤ−ＲＯＭ等による外部の記憶媒体に記憶されているものを使用するようにしてもよい。さらに、これを専用の読取装置によって、端末１００のＲＡＭ１０３に読み取り、ＲＡＭ１０３をワークメモリとして、ＣＰＵ１０１が制御プログラムを実行するようにしてもよい。ＨＤＤ１０４は、端末１００の補助記憶装置であり、各種データを格納することができる。
【００１８】
端末１００の入力装置１０５は、たとえばキーボードやポインティング装置等である。表示装置１０６は、たとえば液晶ディスプレイ等であり、ＣＰＵ１０１の制御によって、ＲＡＭ１０３上に読み出された画像であって、印刷装置２００に出力させるための画像を表示する。
【００１９】
外部接続Ｉ／Ｆ（外部接続インタフェース）１０７は、端末１００と印刷装置２００とを接続するインタフェースであり、端末１００は、外部接続Ｉ／Ｆ１０７を介してジョブデータなどの各種データを送受信する。
【００２０】
印刷装置２００は、外部接続Ｉ／Ｆ２１３を介して、端末１００から送信されるジョブデータなどの各種データを受信する。
【００２１】
印刷装置２００のＣＰＵ２１１は、相互に接続された印刷装置２００の各部を制御する制御部であり、印刷装置２００の全体を統括制御する。プログラムＲＯＭ２１２は、制御プログラムや各種の情報を格納する。ＣＰＵ２１１は、プログラムＲＯＭ２１２に格納されている制御プログラムに基づいて、ワークＲＡＭ２１６を使用して印刷装置２００に関する各種の動作を実行する。ワークＲＡＭ２１６は、外部接続Ｉ／Ｆ２１３を介して取得したジョブデータや後述するプリントエンジンに印刷画像データなどの各種情報を一時記憶する領域である。
【００２２】
印刷装置２００のＨＤＤ２１４は、後述する画像処理部がジョブデータから生成した印刷画像データなどの各種情報を記憶する領域である。印刷装置の操作パネル２２０は、たとえばタッチパネルディスプレイ等から構成され、ユーザからの操作を受け付けることによって、所望の処理を印刷装置２００に実行させる。操作パネル２２０は、操作パネルＩ／Ｆ（操作パネルインタフェース）２１５を介して、制御部２１０に接続され、ユーザからの操作を制御部２１０に伝えるとともに、印刷装置２００の状態を表示し、警報を表示する。なお、制御部２１０は、印刷制御装置としての機能を有する。
【００２３】
プリントエンジン２３０は、エンジンＩ／Ｆ（エンジンインタフェース）２１７を介して制御部２１０から印刷画像データを受信し、色変換などの所定の処理を加えた後に、印刷用紙などに印刷する処理を実行する印刷部である。プリントエンジン２３０は、インクタンクと、印刷ヘッドなどから構成されるインクジェット方式のものであってもよく、電子写真方式によるものであってもよい。
【００２４】
本実施形態１では、ＣＰＵ２１１と、プログラムＲＯＭ２１２と、ワークＲＡＭ２１６と、ＨＤＤ２１４と、外部接続Ｉ／Ｆ２１３と、操作パネルＩ／Ｆ２１５と、エンジンＩ／Ｆ２１７とは、印刷装置２００における制御部２１０として機能する。
【００２５】
図３は、本実施形態における印刷装置２００の機能構成を示すブロック図である。
【００２６】
本実施形態の印刷装置２００は、端末１００から受信するジョブデータを処理し、ジョブデータから印刷画像データを生成する。さらに、ＣＰＵ２１１は、プリントエンジン２３０を介して、生成した印刷画像データによって構成される画像を、印刷用紙等の媒体に印刷する。
【００２７】
印刷装置２００における制御部２１０は、ジョブ管理部２４０と、通信部２４１と、画像処理部２４２と、圧縮処理部２４３と、再圧縮処理部２４４と、伸長処理部２４５と、エンジンＩ／Ｆ部２４６と、スプール部２５０とから構成される。
【００２８】
制御部２１０が、端末１００から通信部２４１を経由してジョブデータを受信すると、ＣＰＵ２１１は、ジョブ管理部２４０を介して、ページ毎に（印刷画像単位で）、画像処理部２４２に印刷画像データの生成を依頼する。この場合、用紙情報等の印刷データを生成する情報とジョブデータとに基づいて、画像処理部２４２に印刷画像データの生成を依頼する。
【００２９】
ＣＰＵ２１１は、画像処理部２４２を介して、ジョブデータに基づいて、印刷画像データを生成すると、ジョブ管理部２４０を介して、圧縮処理部２４３で印刷画像データを後述する方式で圧縮し、圧縮データをスプール部２５０に保存する。ＣＰＵ２１１は、ジョブ管理部２４０を介して、スプール部２５０に保存されている圧縮データの印刷順を管理し、印刷時に伸長処理部２４５を介して、圧縮データを伸長して印刷画像データを復元する。そして、前記復元した印刷画像データを、エンジンＩ／Ｆ部２４６を通じて、プリントエンジン２３０に送信して印刷する。印刷完了後に、スプール部２５０に保存された圧縮データは、任意のタイミングで削除される。このときに、スプール部２５０に保存されている印刷前の圧縮データは、ジョブ管理部２４０で、後述する再圧縮の判定が行われる。ＣＰＵ２１１は、再圧縮すると判定された印刷前のデータを、再圧縮処理部２４４を介して、一旦伸長した後に、通常圧縮で再圧縮し、スプール部２５０に保存されている印刷完了した圧縮データを、この再圧縮された圧縮データと置き換える。
【００３０】
なお、スプール部２５０は、図２に示すＨＤＤ２１４を、印刷画像データの記憶領域として利用する。
【００３１】
本実施形態では、制御部２１０は、印刷装置２００にプログラムとしてインストールされているが、外部接続Ｉ／Ｆ２１３を介して、印刷装置２００と接続されているコンピュータ装置に、制御部２１０を構築するようにしてもよい。
【００３２】
次に、制御部２１０の処理内容について説明する。
【００３３】
図４は、本実施形態における印刷装置２００の制御部２１０が受信したデータをスプール部２５０へ保存するまでの処理内容を示すフローチャートである。図４のフローチャートに関わるプログラムは、プログラムＲＯＭ２１２に記憶され、ＣＰＵ２１１によってワークＲＡＭ２１６にロードされ実行される。
【００３４】
Ｓ１０２で、ＣＰＵ２１１は、制御部２１０を介して、端末１００からジョブデータを受信する。Ｓ１０３で、ＣＰＵ２１１は、画像処理部２４２を介して、受信したジョブデータから印刷画像データを生成する。次いで、Ｓ１０４で、ＣＰＵ２１１は、圧縮処理部２４３を介して、生成された印刷画像データを通常圧縮方式で圧縮するか、差分圧縮方式で圧縮するかを判定し、判定結果に基づいて圧縮する。Ｓ１０４で、通常圧縮を行うと判定されれば、Ｓ１０５で、印刷画像データを通常圧縮し、Ｓ１０７で、スプール部２５０へ保存する。なお、通常圧縮するか、差分圧縮するかの判定基準、つまり、圧縮方式を判定する（Ｓ１０４）基準について、後で説明する。
【００３５】
Ｓ１０４で差分の圧縮を行うと判定されれば、Ｓ１０６で、印刷画像データ（被参照印刷画像データ）と参照する印刷画像データ（参照印刷画像データ）との差分を生成する。圧縮した後に、参照画像情報や伸長するときの時間を見積もるために必要な圧縮時間等とともに、Ｓ１０７で、スプール部２５０へ保存する。前記参照画像情報は、たとえば、どのページに被参照印刷画像データが存在しているかを示す情報である。
【００３６】
Ｓ１０８で、次の印刷画像データが存在すると判断されれば、Ｓ１０３に戻り、Ｓ１０３〜Ｓ１０７の処理を繰り返し、Ｓ１０９で、次のジョブデータが存在すると判断されれば、Ｓ１０２に戻り、繰り返し処理する。
【００３７】
圧縮方式を判定する（Ｓ１０４）基準は、次のとおりである。この圧縮方式の判定基準は、たとえば、通常圧縮した場合と差分圧縮した場合とで、圧縮データのサイズを比較し、通常圧縮の圧縮データよりも差分圧縮の圧縮データが小さいサイズであると判断されれば、差分圧縮を選択するように判定するという基準である。
【００３８】
この差分を生成する手法として、次の第１の差分生成手法、第２の差分生成手法が考えられる。
【００３９】
第１の差分生成手法は、既に圧縮してスプール部２５０に保存されている圧縮データを、ワークＲＡＭ２１６に一旦伸長し、この伸長したデータと、これから印刷しようとする印刷画像データとの差分を演算する手法である。
【００４０】
第２の差分生成手法は、１つ前のページを伸長せずに、ワークＲＡＭ２１６に残し、この１つ前のページの画像データと、現在のページの画像データとの間で差分を生成する手法である。第２の差分生成手法は、伸長するコストを必要としないので、処理速度に有利であるが、ワークＲＡＭの容量に制限があるので、被参照印刷画像データを任意に選択することができない。この点を考慮して、被参照印刷画像データを選択する方法を、以下に説明する。
【００４１】
図５、６、７は、差分画像を生成する際に被参照印刷画像データを選択する方法の説明図である。図５、６、７において、印刷画像データ３０１〜３０５は、画像処理部２４２で生成される。印刷画像データ３０１〜３０５のそれぞれは、共通する画像４０１と、互いに異なる画像４１１〜４１５との２つの画像によって構成されている。
【００４２】
図５に示す例では、印刷画像データ３０１を圧縮した圧縮データ３１１は、最初のページであるので、通常圧縮を行う。
【００４３】
２ページ目以降の印刷画像データ３０２〜３０５のそれぞれを圧縮した圧縮データ３１２〜３１５を生成する場合、１つ前のページを参照して生成する。つまり、直前の印刷画像データを参照して生成する。必ず１つ前の印刷画像データとの差分を生成するので、圧縮データの生成時に、被参照印刷画像データを伸長せずに、ワークＲＡＭ２１６に、被参照印刷画像データを生成しながら、差分を作成することができる。
【００４４】
なお、図５に示す例において、たとえば、印刷画像データ３０３から見れば、印刷画像データ３０２が被参照印刷画像データであり、印刷画像データ３０３が参照印刷画像データである。
【００４５】
また、図５に示す例において、印刷画像データ３０１の印刷が終了した場合には、印刷画像データ３０１を消去する前に、圧縮データ３１２を伸長し、通常圧縮してから、印刷画像データ３０１、圧縮データ３１１を消去する。
【００４６】
図６に示す例において、印刷画像データ３０１を圧縮する場合、印刷画像データ３０１が最初のページであるので、通常圧縮し、圧縮データ３２１を得る。
【００４７】
２ページ目以降の印刷画像データ３０２〜３０５のそれぞれを圧縮する場合、最初のページである印刷画像データ３０１との間の差分を圧縮して、圧縮データ３２２〜３２５を得る。必ず、先頭ページの印刷画像データとの差分を生成するので、圧縮データの生成時に、参照印刷画像データを伸長せずに、ワークＲＡＭ２１６に、最初のページの印刷画像データ３０１を一度生成すれば足り、この印刷画像データ３０１を使いまわすことができる。したがって、差分圧縮データを生成する場合、被参照印刷画像データを、その都度読み出す必要がないので、差分圧縮データの生成時間を、より短縮することができる。
【００４８】
なお、図６に示す例において、たとえば、印刷画像データ３０３から見れば、印刷画像データ３０１が被参照印刷画像データであり、印刷画像データ３０３が参照印刷画像データである。
【００４９】
図７に示す例では、印刷画像データ３０１を圧縮する場合、印刷画像データ３０１が最初のページであるので、通常圧縮し、圧縮データ３３１を得る。
【００５０】
２ページ目以降の印刷画像データ３０２〜３０５に対する圧縮データ３３２〜３３５は、差分圧縮したデータが最も小さくなるものを選択する。たとえば、圧縮データ３３４を生成する場合、印刷画像データ３０４と、印刷画像データ３０１、３０２、３０３のそれぞれとの差を比較し、差が最も小さい印刷画像データを選択する。
【００５１】
印刷画像データ３０２は、印刷画像データ３０１との差分情報で圧縮し、圧縮データ３３２を生成する。印刷画像データ３０３は、印刷画像データ３０２との差分よりも、印刷画像データ３０１との差分が小さいので、印刷画像データ３０１との差分情報で圧縮し、圧縮データ３３３を生成する。印刷画像データ３０４は、印刷画像データ３０１、３０２、３０３との差分のうちで、印刷画像データ３０３との差分が最も小さいので、印刷画像データ３０３との差分情報で圧縮し、圧縮データ３３４を生成する。印刷画像データ３０５は、印刷画像データ３０１、３０２、３０３、３０４との差分のうちで、印刷画像データ３０４との差分が最も小さいので、印刷画像データ３０４との差分情報で圧縮し、圧縮データ３３５を生成する。
【００５２】
つまり、複数の差分を評価し、サイズが最も小さくなる印刷画像データを選択するので、差分圧縮データを生成する時間が長い。しかし、スプール部２５０に保存する差分情報のサイズが最も小さいので、スプール部２５０の保存サイズを最も小さくすることができる。
【００５３】
また、図７に示す例において、印刷画像データ３０１の印刷が終了した場合には、印刷画像データ３０１を消去する前に、圧縮データ３３２及び圧縮データ３３３を伸長し、通常圧縮してから、印刷画像データ３０１、圧縮データ３３１を消去する。
【００５４】
次に、制御部２１０の処理について説明する。
【００５５】
図８は、本実施形態において、印刷装置２００の制御部２１０がスプール部２５０に保存されている圧縮データを、プリントエンジン２３０へ送信し、印刷を開始するまでの処理を示すフローチャートである。図８のフローチャートに関わるプログラムは、プログラムＲＯＭ２１２に記憶され、ＣＰＵ２１１によってワークＲＡＭ２１６にロードされ、実行される。
【００５６】
Ｓ２０１で印刷を開始する際、Ｓ２０２で、ＣＰＵ２１１が、伸長処理部２４５を介して、スプール部２５０から圧縮データを読み出す。Ｓ２０３で、ＣＰＵ２１１が、伸長処理部２４５を介して、伸長処理を行い、印刷画像データを生成する。Ｓ２０４で、ＣＰＵ２１１が、エンジンＩ／Ｆ部２４６を介して、生成された印刷画像データをプリントエンジン２３０に送信し、印刷される。Ｓ２０５で、次の印刷画像データが存在すると判断されれば、Ｓ２０２から繰り返し処理を行う。次の印刷画像データが存在しなければ、Ｓ２０６で終了する。
【００５７】
次に、スプール部２５０に保存した圧縮データを印刷完了したときに、この印刷完了した圧縮データを削除する処理について説明する。
【００５８】
図９は、本実施形態において、印刷装置２００の制御部２１０が、スプール部２５０に保存した圧縮データを印刷完了した時点で、削除する処理を示すフローチャートである。図９のフローチャートに関わるプログラムは、プログラムＲＯＭ２１２に記憶され、ＣＰＵ２１１によってワークＲＡＭ２１６にロードされ、実行される。
【００５９】
Ｓ３０１で再圧縮処理を開始する際、Ｓ３０２で、ＣＰＵ２１１は、ジョブ管理部２４０を介して、プリントエンジン２３０に印刷を完了させ、対象の用紙が排紙されたことを検知する。Ｓ３０３で、再圧縮対象データが有るかどうかを判断する。つまり、ＣＰＵ２１１は、ジョブ管理部２４０を介して、排紙完了した印刷画像データを参照して差分圧縮した印刷前のページが、存在するかどうかを調べる。存在していると判断されれば、Ｓ３０４に進み、対象となるページに再圧縮を行うかどうかを判定する。この再圧縮の判定基準を、後で説明する。
【００６０】
Ｓ３０４で再圧縮すると判定されれば、Ｓ３０５で、ＣＰＵ２１１が、再圧縮処理部２４４を介して、対象の圧縮データを伸長し、この伸長した印刷画像データを再圧縮し、Ｓ３０６で、スプール部２５０の圧縮データを差し替える。つまり、スプール部２５０の対応する圧縮データを、再圧縮したデータで差し替える。参照されている印刷画像データ（被参照印刷画像データ）と、その差分圧縮データとに基づいて、元の印刷画像データに伸長し、これを通常圧縮することによって、再圧縮を実現する。その後に、Ｓ３０３に戻り、他の対象のページが存在しなくなるまで繰り返す。
【００６１】
Ｓ３０４で再圧縮を行わないと判定されると、再圧縮せずに、Ｓ３０３に戻り、他の対象のページが存在しなくなるまで繰り返す。
【００６２】
Ｓ３０３で全ての対象ページを評価し終わると、Ｓ３０７に進む。ＣＰＵ２１１が、ジョブ管理部２４０を介して、排紙完了したページを参照している印刷前のページの内で、再圧縮対象でないもの（つまりＳ３０４でＮｏと判定されているもの）が存在しているかどうかを判断する。再圧縮対象が存在していなければ、Ｓ３０７で、削除可能であると判断し、Ｓ３０８で、排紙完了した圧縮データ及び、そのデータが参照している圧縮データを、スプール部２５０から削除する。その後に、Ｓ３０９で、次の印刷画像データが存在すると判断されると、Ｓ３０２から繰り返し処理する。次の印刷画像データが存在しなければ、Ｓ３１０で終了する。
【００６３】
次に、再圧縮の判定基準について説明する。再圧縮を判定する（Ｓ３０４）判定条件としての第１の再圧縮の判定条件は、再圧縮を行うかどうかを判定する対象の印刷画像データが、プリントエンジンに送信する前のページであるという条件である。
【００６４】
第２の再圧縮の判定条件は、排紙完了した印刷画像データの圧縮データサイズとスプール領域に保存されている対象の印刷画像データの圧縮データサイズとの合計から、再圧縮後のデータサイズを引いたデータサイズが、閾値以下であるという条件である。この第２の再圧縮の判定条件は、より効率的に判定するための条件であり、これを、追加条件としてもよい。
【００６５】
第３の再圧縮の判定条件は、圧縮時の時間を参考に再圧縮時間を見積り、印刷までの時間が再圧縮しても間に合う（つまり、見積もった再圧縮時間が、印刷までの時間よりも短い）という条件である。この第３の条件を、前記第１の再圧縮の判定条件に加えるようにしてもよい。
【００６６】
図１０は、本実施形態において、印刷装置２００の印刷画像データを印刷するまでの状態の遷移と、印刷画像データとの関係を示す図である。
【００６７】
圧縮処理状態５０１が、図４に示すＳ１０４〜Ｓ１０６の処理に相当し、保存処理状態５０２が、Ｓ１０７に相当する。伸長処理状態５０３が、図８に示すＳ２０３に相当し、送信処理状態５０４が、Ｓ２０４に相当する。排紙処理状態５０５が、図９に示すＳ３０２に相当し、削除処理状態５０６が、Ｓ３０３〜Ｓ３０８に相当する。
【００６８】
図１０に示す状態５０１、５０２、５０６のそれぞれに、印刷画像データ６０１、６０２、６０３、６０４のそれぞれが対応しているものとする。即ち、印刷画像データ６０１は、排紙が完了して削除できる状態にある。印刷画像データ６０２、６０３は、それぞれ前のページとの差分としてスプール部２５０に圧縮保存され、印刷前の状態である。印刷画像データ６０４は、前のページとの差分として圧縮処理部２４３で圧縮処理中である。
【００６９】
図１１は、本実施形態において、印刷装置２００の印刷画像データを印刷後再圧縮するまでの状態の遷移と、印刷画像データとの関係を示す図である。
【００７０】
ここでは、印刷画像データ６０２が、再圧縮の対象であるとする。印刷画像データ６０１が、排紙完了し、印刷画像データ６０１を削除できる状態になった場合、図９に示すＳ３０３で、印刷画像データ６０１を参照している印刷画像データ６０２を検出する。なお、Ｓ３０２で排紙完了と判断した後、スプール部２５０の空き領域が閾値以下となったか判別し、閾値以下と判別された場合、Ｓ３０３に進むようにしてもよい。また、Ｓ３０２の排紙完了の判別の代わりに、スプール部２５０の空き領域が閾値以下となったか判別してもよい。また、Ｓ３０２の排紙完了の判別の代わりに、特定ページの削除指示が入力されたかを判別してもよい。Ｓ３０４で、印刷画像データ６０２が再圧縮可能であると判断したら、Ｓ３０５で、印刷画像データ６０５に対応する圧縮データを伸長し、通常圧縮し、Ｓ３０６で、スプール部２５０に格納されている差分圧縮データを、前記伸長、再圧縮したデータに置き換える。Ｓ３０３に戻り、印刷画像データ６０１を参照しているものが他になければ、Ｓ３０７に遷移し、削除可能であると判断する。Ｓ３０８で、印刷画像データ６０１の圧縮データであって、スプール部に保存されている圧縮データを削除する。
【００７１】
なお、印刷画像データ６０５に対応する圧縮データを伸長して印刷画像データ６０３とし、これを通常圧縮する。Ｓ３０６でスプール部２５０に格納されている差分圧縮データを、前記伸長、再圧縮したデータに置き換えた後には、ページ４の印刷画像データ６０４の差分圧縮データを改めて作成する必要はない。つまり、ページ４の印刷画像データ６０４の差分圧縮データは既に作成されているので、前記差分圧縮データを改めて作成する必要はない。すなわち、たとえば、図５に示す例では、圧縮データ３１２を伸長し通常圧縮し、スプール部２５０に格納されている差分圧縮データを、前記伸長、再圧縮した圧縮データ３１２に置き換えた後には、圧縮データ３１３、３１４、３１５を改めて作成する必要はない。この段階では、圧縮データ３１３、３１４、３１５が既に存在するので、改めて作成する必要はない。
【００７２】
図１２は、本実施形態において、印刷装置２００の印刷画像データを印刷後に再圧縮するまでの状態の遷移と、印刷画像データとの関係を示す図である。
【００７３】
図１０と同様に、各状態の位置の下に、印刷画像データ７０１〜７０４のそれぞれが、処理され、存在しているとする。即ち、印刷画像データ７０１は、排紙が完了して削除できる状態にあるとする。印刷画像データ７０２は、展開され、プリントエンジンに送信している状態であるとする。印刷画像データ７０３については、前のページとの差分がスプール部２５０に圧縮保存され、印刷前の状態であるとする。印刷画像データ７０４については、前のページとの差分が圧縮処理部２４３で圧縮処理中であるとする。
【００７４】
上記のように、印刷画像データ７０１が削除できる状態であり、この状態で印刷画像データ７０１を削除すると、印刷画像データ７０２を再現できなくなる。したがって、印刷画像データ７０１を削除する前に、印刷画像データ７０１の通常圧縮と差分圧縮とに基づいて、印刷画像データ７０２を伸長し、これを通常圧縮する。すなわち、印刷画像データ７０２が、再圧縮の対象になる。印刷画像データ７０１が排紙完了し、削除できる状態になった場合、図９に示すＳ３０３で、印刷画像データ７０１を参照している印刷画像データ７０２を検出する。印刷画像データ７０２は、図１２に示すように、既にプリントエンジンに送信されている状態であるので、再圧縮する対象が存在しない。したがって、Ｓ３０４で、印刷画像データ７０２を再圧縮不可能と判断し、Ｓ３０７で、ＣＰＵ２１１が、印刷画像データ７０１は削除不可能であると判断する。
【００７５】
前記のように、印刷が終わって削除する印刷画像データを参照して差分圧縮している印刷画像データが、スプール領域に存在する場合、印刷が終わった印刷画像データと差分圧縮データとを用いて、伸長し、再圧縮する。このようにすれば、印刷が終わった印刷画像データを削除することができ、これを削除すれば、スプール領域を少なくすることができる。また、印刷が終わった印刷画像データを削除すれば、次の印刷画像データを保存することができる。
【００７６】
（その他の実施例）
本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータ（またはＣＰＵやＭＰＵ）における１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【００７７】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【００７８】
１００…端末、
２００…印刷装置、
２１０…制御部、
２４４…再圧縮処理部、
２５０…スプール部。
【図１】
2017022656.tif 000003
【図２】
2017022656.tif 000004
【図３】
2017022656.tif 000005
【図４】
2017022656.tif 000006
【図５】
2017022656.tif 000007
【図６】
2017022656.tif 000008
【図７】
2017022656.tif 000009
【図８】
2017022656.tif 000010
【図９】
2017022656.tif 000011
【図１０】
2017022656.tif 000012
【図１１】
2017022656.tif 000013
【図１２】
2017022656.tif 000014