(57)【要約】【課題】差分の画像データを利用してデータ量を減らす処理において、データ量を減らす効果と処理の高速化との両方を実現する。【解決手段】ホストコンピューター１は、第１の画像及び第２の画像を複数の画素を含む矩形のセルに分割し、第１の画像と第２の画像とを比較して差異を有するセルを特定し、特定したセルを抽出する。そして、抽出した複数のセルを結合して矩形のユニットを生成し、生成したユニットに基づき差分画像データをプリンター５に出力する。【選択図】図１
2015053575.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像及び第２の画像を複数の画素を含む矩形のセルに分割し、前記第１の画像と前記第２の画像とを比較して差異を有する前記セルを特定する比較手段と、
前記比較手段により特定された前記セルを抽出し、抽出した前記セルを結合して矩形のユニットを生成する結合処理手段と、
前記結合処理手段により処理された前記ユニットに基づき、前記第１及び第２の画像の差分画像データを出力する出力手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記結合処理手段により生成された前記ユニットの外周に位置する画素の中で前記第１の画像と前記第２の画像とが一致する画素を、前記ユニットの辺を単位として除く処理を行うユニット処理手段を備え、
前記出力手段は、前記ユニット処理手段により処理された前記ユニットに基づき、前記第１及び第２の画像の差分画像データを出力すること、を特徴とする請求項１記載の画像処理装置。
【請求項３】
前記結合処理手段は、隣接する複数の前記ユニットが全体として矩形となる場合に、これら複数の前記ユニットを結合して、さらに大きい前記ユニットを生成すること、を特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記出力手段が出力する前記差分画像データは、前記結合処理手段により生成された前記ユニットの画像データと、前記ユニットの位置を示すデータとを含むこと、を特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記出力手段は、前記差分画像データを圧縮して出力すること、を特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
請求項１から５のいずれかに記載の画像処理装置と、画像データを受信する受信装置とを備え、
前記画像処理装置は、
前記受信装置が記憶している画像データに関する情報を記憶した記憶手段を備え、
前記記憶手段が記憶する情報に基づき、前記受信装置が記憶している画像データのいずれかと送信する画像データとの差分画像データを生成して、前記受信装置に送信し、
前記受信装置は、
画像データを記憶する記憶手段を備え、
前記画像処理装置により送信されたデータを受信して、前記差分画像データと前記記憶手段に記憶された画像データとに基づいて画像データを生成すること、
を特徴とする画像送信システム。
【請求項７】
前記受信装置は、印刷媒体に印刷する印刷手段を備え、
前記画像処理装置により送信されたデータを受信して、前記差分画像データと前記記憶手段に記憶された画像データとに基づいて画像データを生成し、生成した画像データを前記印刷手段により印刷すること、を特徴とする請求項６記載の画像送信システム。
【請求項８】
第１の画像及び第２の画像を複数の画素を含む矩形のセルに分割し、
前記第１の画像と前記第２の画像とを比較して差異を有する前記セルを特定し、
特定した前記セルを抽出し、複数の前記セルを結合して矩形のユニットを生成し、
生成した前記ユニットに基づき、前記第１及び第２の画像の差分画像データを出力すること、
を特徴とする画像処理方法。
【請求項９】
請求項１から５のいずれかに記載の画像処理装置から受信装置に画像データを送信する画像送信方法であって、
前記画像処理装置により、
前記受信装置が記憶している画像データに関する情報に基づき、前記受信装置が記憶している画像データのいずれかと送信する画像データとの差分画像データを生成して、前記受信装置に送信し、
前記受信装置により、前記画像処理装置から送信されたデータを受信して、前記差分画像データと前記記憶手段に記憶された画像データとに基づいて画像データを生成すること、
を特徴とする画像送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像送信システム、画像処理方法、及び、画像送信方法に関する。
【背景技術】
【０００２】
従来、複数の画像データを送受信する場合のデータ量を減らすために差分の画像データを利用する方法が知られている（例えば、特許文献１参照）。特許文献１記載の方法では、２つの画像を比較して、任意のドット数の差分矩形を抽出し、この差分矩形をマージすることにより、差分画像を得る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−４４４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１記載の方法のように、２つの画像の差分を示す矩形を抽出する方法では、矩形のサイズを細かくすると、無駄が少ない、きめ細かい差分の抽出が可能になるが、矩形の数が多いため処理に時間がかかるという問題がある。これに対し、抽出する矩形のサイズを大きくすれば、矩形の数が少なくなるため処理時間が短くて済むが、抽出される矩形に、差分として抽出する必要のないドットが多く含まれるため、無駄が多くなる。このため、差分を抽出することによるデータ量の削減効果が損なわれてしまう。従って、差分の画像データを利用してデータ量を減らす処理において、データ量を減らす効果と処理の高速化との両方を実現可能な方法が望まれていた。
本発明は、上述した事情に鑑みてなされたものであり、差分の画像データを利用してデータ量を減らす処理において、データ量を減らす効果と処理の高速化との両方を実現することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の画像処理装置は、第１の画像及び第２の画像を複数の画素を含む矩形のセルに分割し、前記第１の画像と前記第２の画像とを比較して差異を有する前記セルを特定する比較手段と、前記比較手段により特定された前記セルを抽出し、抽出した前記セルを結合して矩形のユニットを生成する結合処理手段と、前記結合処理手段により処理された前記ユニットに基づき、前記第１及び第２の画像の差分画像データを出力する出力手段と、を備えたことを特徴とする。
本発明によれば、第１の画像と第２の画像とで異なる画素を有するセルが抽出され結合され、ユニットが生成され、これらのユニットに基づき差分画像データが生成される。このため、例えばセルを構成する画素数を大きくして処理の高速化を図ることができ、差分の画像データを利用してデータ量を減らす効果と処理の高速化との両方を実現できる。
【０００６】
また、本発明は、上記画像処理装置において、前記結合処理手段により生成された前記ユニットの外周に位置する画素の中で前記第１の画像と前記第２の画像とが一致する画素を、前記ユニットの辺を単位として除く処理を行うユニット処理手段を備え、前記出力手段は、前記ユニット処理手段により処理された前記ユニットに基づき、前記第１及び第２の画像の差分画像データを出力すること、を特徴とする。
本発明によれば、差異を有する画素を含むセルを結合して得られたユニットから、第１及び第２の画像が一致する画素を除く処理が行われ、一致する画素が除かれた差分画像データが出力される。このため、より無駄の少ない差分画像データを出力でき、処理の高速化を図るとともに効果的にデータ量を減らすことができる。
【０００７】
また、本発明は、上記画像処理装置において、前記結合処理手段は、隣接する複数の前記ユニットが全体として矩形となる場合に、これら複数の前記ユニットを結合して、さらに大きい前記ユニットを生成すること、を特徴とする。
本発明によれば、ユニットを構成する画素数が大きくなることで、例えば差分画像データを圧縮する処理を施した場合に、圧縮効果が高まるという利点がある。また、差分画像データに含まれるユニットの数を減らすことができるので、ユニットの位置を指定するためのデータの量を減らすことができ、より効率よくデータ量を削減できる。
【０００８】
また、上記画像処理装置において、前記出力手段が出力する前記差分画像データは、前記結合処理手段により生成された前記ユニットの画像データと、前記ユニットの位置を示すデータとを含んでもよい。この場合、差分画像データのデータ量を効率よく削減できる。
また、上記画像処理装置において、前記出力手段は、前記差分画像データを圧縮して出力してもよい。この場合、差分画像データのデータ量を、より一層削減できる。
【０００９】
また、上記目的を達成するために、本発明の画像送信システムは、上記いずれかに記載の画像処理装置と、画像データを受信する受信装置とを備え、前記画像処理装置は、前記受信装置が記憶している画像データに関する情報を記憶した記憶手段を備え、前記記憶手段が記憶する情報に基づき、前記受信装置が記憶している画像データのいずれかと送信する画像データとの差分画像データを生成して、前記受信装置に送信し、前記受信装置は、画像データを記憶する記憶手段を備え、前記画像処理装置により送信されたデータを受信して、前記差分画像データと前記記憶手段に記憶された画像データとに基づいて画像データを生成すること、を特徴とする。
本発明によれば、受信装置が記憶している画像データを利用して、差分画像データを生成して送受信することにより、転送するデータ量を効率よく減らすことができる。また、差分画像データを生成する処理において、データ量を効果的に減らすことが可能である上、処理の高速化を図ることができる。
【００１０】
また、本発明は、上記画像送信システムにおいて、前記受信装置は、印刷媒体に印刷する印刷手段を備え、前記画像処理装置により送信されたデータを受信して、前記差分画像データと前記記憶手段に記憶された画像データとに基づいて画像データを生成し、生成した画像データを前記印刷手段により印刷すること、を特徴とする。
本発明によれば、画像データを転送して印刷するシステムにおいて、転送される画像データのデータ量を高速に、かつ効率よく削減できる。
【００１１】
また、上記目的を達成するために、本発明の画像処理方法は、第１の画像及び第２の画像を複数の画素を含む矩形のセルに分割し、前記第１の画像と前記第２の画像とを比較して差異を有する前記セルを特定し、特定した前記セルを抽出し、複数の前記セルを結合して矩形のユニットを生成し、生成した前記ユニットに基づき、前記第１及び第２の画像の差分画像データを出力すること、を特徴とする。
本発明によれば、第１の画像及び第２の画像の差分のユニットから、第１及び第２の画像が一致する画素を除く処理を行う。このため、第１の画像及び第２の画像の差分として抽出するセルを構成する画素数が多くても、最終的に出力する差分画像データに含まれる差分でない画素を減らすことができる。これにより、例えばセルを構成する画素数を大きくして処理の高速化を図っても、無駄の少ない差分画像データを出力できる。従って、差分の画像データを利用してデータ量を減らす処理において、データ量を減らす効果と処理の高速化との両方を実現できる。
【００１２】
また、上記目的を達成するために、本発明は、上記のいずれかに記載の画像処理装置から受信装置に画像データを送信する画像送信方法であって、前記画像処理装置により、前記受信装置が記憶している画像データに関する情報に基づき、前記受信装置が記憶している画像データのいずれかと送信する画像データとの差分画像データを生成して、前記受信装置に送信し、前記受信装置により、前記画像処理装置から送信されたデータを受信して、前記差分画像データと前記記憶手段に記憶された画像データとに基づいて画像データを生成すること、を特徴とする。
本発明によれば、受信装置が記憶している画像データを利用して、差分画像データを生成して送受信することにより、転送するデータ量を効率よく減らすことができる。また、差分画像データを生成する処理において、データ量を効果的に減らすことが可能である上、処理の高速化を図ることができる。
【発明の効果】
【００１３】
本発明によれば、差分の画像データを利用してデータ量を減らす処理において、データ量を減らす効果と処理の高速化との両方を実現できる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る印刷システムの機能ブロック図である。
【図２】印刷システムの動作を示すフローチャートである。
【図３】差分画像データを利用した画像送信方法の説明図である。
【図４】差分画像データを生成する動作を示すフローチャートである。
【図５】差分画像データを生成する動作の説明図である。
【図６】差分画像データを生成する動作の説明図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
図１は、実施形態に係る印刷システム８（画像送信システム）の機能ブロック図である。
印刷システム８は、プリンター５（受信装置）と、プリンター５を制御するホストコンピューター１（画像処理装置）とを接続して構成される。
印刷システム８は、オペレーターの操作によりホストコンピューター１が印刷コマンド及び印刷データをプリンター５に出力し、プリンター５が、印刷コマンド及び印刷データに基づいて印刷媒体に印刷するシステムである。
【００１６】
ホストコンピューター１は、ホストコンピューター１の各部を制御するホスト制御部４５を備えている。ホスト制御部４５は、アプリケーション実行部４５ａと、プリンタードライバー実行部４５ｂと、を備えている。アプリケーション実行部４５ａは、文書作成プログラム、画像編集プログラム、或いはＰＯＳアプリケーション等のアプリケーションプログラムを実行する。アプリケーション実行部４５ａは、オペレーターの操作により印刷実行が指示された場合に、作成した文書や画像を印刷するための印刷データを生成して出力する。プリンタードライバー実行部４５ｂは、プリンター５を制御するためのデバイスドライバープログラムを実行する。プリンタードライバー実行部４５ｂは、プリンター５を制御するコマンドと、このコマンドに関連するデータとを生成して、プリンター５に出力し、プリンター５の動作を制御する。例えば、プリンタードライバー実行部４５ｂは、アプリケーション実行部４５ａが出力する印刷データをもとに、プリンター５に対して印刷を指示する印刷コマンドと印刷データを生成して、出力する。なお、プリンタードライバー実行部４５ｂが実行するデバイスドライバープログラムは、プリンター５に最適化されたプログラムに限らず、汎用のデバイスドライバープログラムであってもよい。また、他の機種のプリンター向けのデバイスドライバープログラムであってもよい。この場合、プリンター５が、他の機種のプリンターに合わせてプリンタードライバー実行部４５ｂが出力するコマンドやデータを、処理可能な構成であればよい。
【００１７】
ホストコンピューター１は、各種情報を表示するホスト表示部４６と、接続された入力デバイスに対する操作を検出するホスト入力部４７と、各種データを記憶するホスト記憶部４８と、プリンター５に接続される通信インターフェース（Ｉ／Ｆ）４９とを備えている。ホスト表示部４６及びホスト入力部４７はオペレーターの操作に供される。ホスト記憶部４８は、ホスト制御部４５が実行する制御プログラム、アプリケーションプログラム、デバイスドライバープログラム等の各種のプログラム、及び、これらのプログラムに関するデータ等を不揮発的に記憶する。
【００１８】
本実施形態のプリンター５は、一例として、インクジェット式のプリンターを示す。プリンター５は、インクを吐出するノズルを有するインクジェット式の印刷ヘッド１２を備えている。印刷ヘッド１２は、搬送方向に直交する方向にノズルが列をなして配置されたヘッドである。印刷ヘッド１２は、シアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）、及びブラック（Ｋ）の４色の色毎にノズル列を有し、フルカラーで印刷媒体に印刷を行うことができる。印刷ヘッド１２のノズル列およびノズル数は特に限定されない。また、印刷ヘッド１２が、さらに多色のインクを使用する構成であってもよいし、２色またはモノクロのインクを使用する構成であってもよい。
【００１９】
プリンター５で使用する印刷媒体は、所定サイズにカットされたカットシートまたは連続シートであり、これらのシートは紙または合成樹脂製である。これらのシートは、例えば、インクジェット式の印刷に適した、インクの吸収能および定着性を高める表面加工が施されたファイン紙であってもよい。連続シートは、例えば、ロール状に巻かれた状態でプリンター５の印刷媒体収容部（図示略）に収容されるロール紙や、折りたたまれた状態でプリンター５の外部からプリンター５に供給されるファンフォールド紙である。ロール紙としては、普通紙やファイン紙をロール状に巻いた用紙のほか、裏面に粘着剤が付された定型サイズのラベルを、剥離紙（台紙）に並べてロール状に巻いたラベル用紙が挙げられる。
【００２０】
プリンター５は、プリンター５の各部を制御するプリンター制御部２７を備えている。プリンター制御部２７は、図示しない演算実行部としてのＣＰＵ、ＲＯＭ、ＲＡＭ等を備えている。プリンター制御部２７のＲＯＭには、ＣＰＵによって実行可能なファームウェア、ファームウェアに係るデータ等が不揮発的に記憶される。また、ＲＡＭにはＣＰＵが実行するファームウェアに係るデータ等が一時的に記憶される。プリンター制御部２７は、その他の周辺回路等を備えていてもよい。
【００２１】
プリンター制御部２７には、上述した印刷ヘッド１２の他、紙送りモーター３６、プリンター表示部３９、プリンター入力部４０、通信インターフェース４１、ブラックマークセンサー４２、及び、プリンター記憶部５０の各部が接続される。
プリンター表示部３９は、プリンター制御部２７の制御によりプリンター５の動作状態等を表示するＬＥＤインジケーターや液晶表示パネルを備える。プリンター入力部４０は、各種スイッチを備え、これらスイッチの操作に応じた信号をプリンター制御部２７に出力する。通信インターフェース４１は、ホストコンピューター１に接続される。ブラックマークセンサー４２は、プリンター５の内部で印刷媒体（ラベル用紙及びロール紙）が搬送される搬送経路上に設けられ、印刷媒体に付された位置合わせ用のブラックマーク（図示略）を検出する光センサーである。通信インターフェース（Ｉ／Ｆ）４１（インターフェイス）は、プリンター制御部２７の制御の下、ホストコンピューター１との間で所定のプロトコルに準拠した通信を行う。
【００２２】
紙送りモーター３６は、プリンター制御部２７の制御に従って搬送ローラー（図示略）を回転させて、印刷媒体を搬送する。紙送りモーター３６は、例えばステッピングモーターにより構成され、プリンター制御部２７によって紙送りモーター３６の回転量及び回転方向を制御できる。ブラックマークセンサー４２は、印刷媒体の搬送中にブラックマークの検出を行い、検出値をプリンター制御部２７に出力する。
【００２３】
プリンター制御部２７は、機能ブロックとして、印刷制御部２７ａ、画像処理部２７ｂ及びバッファーメモリー２７ｃを備えている。印刷制御部２７ａ及び画像処理部２７ｂはＣＰＵがファームウェアを実行した場合の機能である。また、バッファーメモリー２７ｃは、プリンター制御部２７のＲＡＭ（図示略）の一部の記憶領域に設けられる。バッファーメモリー２７ｃをプリンター記憶部５０に設けることも、プリンター制御部２７に外部接続されるＲＡＭにバッファーメモリー２７ｃを設けることも可能である。
印刷制御部２７ａは、印刷ヘッド１２とともに印刷手段を構成する。また、画像処理部２７ｂは、比較手段、結合処理手段、ユニット処理手段、出力手段を構成する。
【００２４】
プリンター記憶部５０は、ＥＥＰＲＯＭやフラッシュメモリー等の半導体記憶素子、或いは、ハードディスク等の記憶媒体を備え、各種データを書き換え可能に不揮発的に記憶する。プリンター記憶部５０は、プリンター制御部２７が実行するプログラム、プリンター制御部２７が処理するフォントデータ等の各種データを記憶する。プリンター記憶部５０には、ホストコンピューター１から受信した画像データを記憶する画像記憶部５０ａ（記憶手段）が設けられる。
【００２５】
印刷制御部２７ａは、通信インターフェース（Ｉ／Ｆ）４１を介してホストコンピューター１から入力された印刷コマンド及び印刷データに基づいて、印刷を実行する。印刷制御部２７ａは、紙送りモーター３６を制御して印刷媒体を搬送させるとともに、印刷ヘッド１２を駆動してインクを印刷媒体に吐出させる。
また、印刷制御部２７ａは、ホストコンピューター１から受信した印刷データを処理する際に画像処理部２７ｂを呼び出す。画像処理部２７ｂは、印刷データに基づいて、印刷する画像をバッファーメモリー２７ｃにラスターデータとして描画する。バッファーメモリー２７ｃは、印刷ヘッド１２の印刷解像度、及び、プリンター５の印刷可能領域のサイズに合わせて生成された記憶領域である。
【００２６】
画像処理部２７ｂは、ホストコンピューター１から受信した印刷データに第１の画像を印刷するための画像データが含まれている場合、この画像データに基づきバッファーメモリー２７ｃに画像を描画するとともに、この画像データを画像記憶部５０ａに記憶する。また、画像処理部２７ｂは、ホストコンピューター１から受信した印刷データに差分画像データが含まれている場合、差分画像データに基づいてバッファーメモリー２７ｃに画像を描画する。この差分画像データは、第２の画像を印刷するための画像データと既に受信した第１の画像を印刷するための画像データとの差分に相当する画像データである。差分画像データはホストコンピューター１が生成する。画像処理部２７ｂは、バッファーメモリー２７ｃに、画像記憶部５０ａに記憶した画像データに基づく画像を描画し、さらに差分画像データに基づく画像を描画することにより、バッファーメモリー２７ｃに新たな画像を描画する。
【００２７】
印刷制御部２７ａは、バッファーメモリー２７ｃに描画された画像の画素毎の色情報を、予め設定されたＬＵＴ（Ｌｏｏｋｕｐ  ｔａｂｌｅ）に従って、印刷ヘッド１２が吐出するインク色毎のインク量に変換する。その後、印刷制御部２７ａは、変換後のインク量に基づき、印刷ヘッド１２が吐出するドットの位置及びサイズを、インクの色毎に決定し、印刷を実行する。
【００２８】
図２は、印刷システム８の動作を示すフローチャートであり、（Ａ）はホストコンピューター１の動作を示し、（Ｂ）はプリンター５の動作を示す。
図２には、ホストコンピューター１が、アプリケーション実行部４５ａの動作により生成された複数ページ（ここでは３ページ）の画像データをプリンター５によって印刷させるため、ページ毎に画像データをプリンター５に送信する例について説明する。プリンター５は、１ページずつ画像データを受信して、印刷する。
【００２９】
図２（Ａ）に示すように、ホストコンピューター１のプリンタードライバー実行部４５ｂは、プリンター５に印刷させる最初のページ（ページ１）の画像データをアプリケーション実行部４５ａから取得する（ステップＳ１１）。プリンタードライバー実行部４５ｂは、取得した画像データを、通信インターフェース４９を介してプリンター５に送信する（ステップＳ１２）。
図２（Ｂ）に示すように、プリンター５のプリンター制御部２７は、ホストコンピューター１から送信された画像データを含む印刷データ（１番目の印刷データ）を受信し、印刷データに含まれる画像データに基づいて、画像を印刷する（ステップＳ２１）。
【００３０】
次に、ホストコンピューター１のプリンタードライバー実行部４５ｂは、次のページ（ページ２）の画像データを取得する（ステップＳ１３）。ここで、プリンタードライバー実行部４５ｂは、先にプリンター５に送信した画像データ（ページ１）と、取得した画像データ（ページ２）との差分に相当する差分画像データを生成する。そして、生成した差分画像データを含む印刷データ（２番目の印刷データ）を、印刷コマンドとともにプリンター５に送信する（ステップＳ１４）。
【００３１】
その後、プリンタードライバー実行部４５ｂは、次のページ（ページ３）の画像データを取得する（ステップＳ１５）。
ここで、プリンタードライバー実行部４５ｂは、既に送信した画像データと画像データ（ページ３）との差分に相当する差分画像データを生成するため、差分の対象とする画像データを選択する。すなわち、送信済みの画像データ（ページ１）と画像データ（ページ２）のうち、これから送信する対象の画像データ（ページ３）との差分が小さい画像データを選択する。本実施形態では、画像データ（ページ１）が、画像データ（ページ３）との差分が小さいので、この画像データ（ページ１）を選択する（ステップＳ１６）。
プリンタードライバー実行部４５ｂは、選択した画像データ（ページ１）と画像データ（ページ３）との差分に相当する差分画像データを生成し、この差分画像データを含む印刷データ（３番目の印刷データ）を、印刷コマンドとともにプリンター５に送信する（ステップＳ１７）。プリンタードライバー実行部４５ｂが生成した印刷データ（３番目の印刷データ）には、差分画像データとともに、差分の対象とした画像データ（ページ１）を指定する情報が含まれる。
【００３２】
プリンター制御部２７は、ホストコンピューター１から２番目の印刷データが送信されると、この印刷データを受信する（ステップＳ２２）。ここで、画像処理部２７ｂが、受信した印刷データに差分画像データが含まれるため、この差分画像データに基づき印刷する画像データを生成して、この画像データに基づく画像をバッファーメモリー２７ｃに描画する（ステップＳ２３）。画像処理部２７ｂは、画像記憶部５０ａに記憶された画像データ（ページ１）と、受信した差分画像データとを合成することにより、バッファーメモリー２７ｃに画像（ページ２）を再現する。ここで、画像処理部２７ｂは、画像記憶部５０ａに記憶した画像データに、受信した差分画像データを上書きすることで、画像データを再現することができる。或いは、画像処理部２７ｂは、差分の対象とした画像データを画像記憶部５０ａから読み出し、この画像データと差分画像データとを重ね合わせる処理を行い、画像データ（ページ２）を再現してもよい。この場合、画像処理部２７ｂは再現した画像データ（ページ２）に基づき画像をバッファーメモリー２７に描画する。印刷制御部２７ａは、バッファーメモリー２７ｃに描画された画像を印刷する（ステップＳ２４）。
【００３３】
また、プリンター制御部２７は、ホストコンピューター１から３番目の印刷データが送信されると、この印刷データを受信する（ステップＳ２５）。ここで、画像処理部２７ｂが、受信した印刷データに差分画像データが含まれるため、この差分画像データに基づき印刷する画像データを生成して、バッファーメモリー２７ｃに描画する（ステップＳ２６）。
画像処理部２７ｂは、画像記憶部５０ａに記憶された画像データ（ページ１）と、受信した差分画像データとを合成することにより、バッファーメモリー２７ｃに画像データ（ページ３）を再現する。印刷制御部２７ａは、バッファーメモリー２７ｃに描画された画像データを印刷する（ステップＳ２７）。
【００３４】
ホストコンピューター１は、プリンタードライバー実行部４５ｂによりプリンター５に送信した画像データを、ホスト記憶部４８の画像記憶部４８ａに記憶する。また、ホストコンピューター１は、プリンター５が記憶している画像データおよび差分画像データに関する情報を、ホスト記憶部４８の転送情報記憶部４８ｂに記憶する。
プリンタードライバー実行部４５ｂは、プリンター５に対して画像データまたは差分画像データを含む印刷データを送信した場合に、画像データまたは差分画像データを画像記憶部４８ａに記憶し、転送情報記憶部４８ｂの情報を更新する。このため、ホストコンピューター１は、プリンター５がどの画像データおよび差分画像データを記憶しているかに基づいて制御を行うことができる。
【００３５】
一方、プリンター５は、ホストコンピューター１から受信した画像データ、および差分画像データを、画像記憶部５０ａに記憶する。
プリンタードライバー実行部４５ｂは、プリンター５が有する画像記憶部５０ａの記憶容量に関する情報を有しており、画像記憶部５０ａに記憶されるデータを管理する機能を有する。具体的には、プリンタードライバー実行部４５ｂは、プリンター５に画像データまたは差分画像データを送信する際に、送信するデータを画像記憶部５０ａに記憶できるか否かを判定する。この判定は、画像記憶部５０ａの空き容量と、プリンター５に送信する予定の画像データまたは差分画像データの容量とに基づいて実行される。画像記憶部５０ａに画像データまたは差分画像データを記憶できないと判定した場合、プリンタードライバー実行部４５ｂは、画像記憶部５０ａに既に記憶されている画像データまたは差分画像データの削除を指示するコマンドを、プリンター５に送信する。プリンタードライバー実行部４５ｂは、このコマンドに対する応答をプリンター５から受信した場合、転送情報記憶部４８ｂの情報を更新する。
【００３６】
また、プリンタードライバー実行部４５ｂは、プリンター５に送信する差分画像データを生成する際に、差分をとる対象となる（差分のもとになる）画像データを、画像記憶部５０ａに記憶されている画像データの中から選択する。このとき、プリンタードライバー実行部４５ｂは、上述したように、差分が小さい画像データを選択する。
【００３７】
図３は、ホストコンピューター１からプリンター５に画像データを送信する場合に差分画像データを利用する、画像送信方法の説明図である。
図３には、印刷システム８が５種類の印刷物を繰り返し印刷する動作の例を示す。印刷される５種類の印刷物は、例えば、５種類の背景に重ねて文字等が配置されたラベルである。より詳細には、本実施形態の印刷システム８は、第１〜第５の背景画像を利用して、５種類の印刷物の印刷を３回繰り返して（３巡して）、１５個の印刷物を印刷する。内訳は、第１の背景画像を用いた印刷物Ａ、Ａ２、Ａ３、第２の背景画像を用いた印刷物Ｂ、Ｂ２、Ｂ３、第３の背景画像を用いた印刷物Ｃ、Ｃ２、Ｃ３、第４の背景画像を用いた印刷物Ｄ、Ｄ２、Ｄ３、および第５の背景画像を用いた印刷物Ｅ、Ｅ２、Ｅ３である。１巡目に印刷する印刷物Ａと、２巡目に印刷する印刷物Ａ２と、３巡目に印刷する印刷物Ａ３とは、共通の背景画像を有し、内容の一部が異なる。印刷物Ｂ、Ｂ２、Ｂ３も同様に、共通の背景画像を有し、内容の一部が異なる。印刷物Ｃ、Ｃ２、Ｃ３、印刷物Ｄ、Ｄ２、Ｄ３、および、印刷物Ｅ、Ｅ２、Ｅ３は、同様の組合せとなっている。印刷物Ａ、Ａ２およびＡ３は背景画像が共通であるため類似性の高い印刷物となっている。印刷物Ｂ、Ｂ２およびＢ３も同様であり、印刷物Ｃ、Ｃ２、Ｃ３、Ｄ、Ｄ２、Ｄ３、Ｅ、Ｅ２、Ｅ３も同様である。ここでの印刷物が図２のページに対応し、図３の例では、印刷物Ａ〜Ｅ３が１〜１５ページに対応する。
【００３８】
ホストコンピューター１は、これら５種類の印刷物を印刷するための画像データを、印刷物Ａ〜Ｅ、Ａ２〜Ｅ２、Ａ３〜Ｅ３、の順に、プリンター５に画像Ａ〜Ｅ３として印刷させる。本実施形態では、１つの印刷物に印刷される情報が１つの画像として処理される。言い換えれば、本実施形態で示す例は１つの印刷物が１ページで構成され、この１ページの情報が１つの画像を構成する。ホストコンピューター１は、印刷物を印刷するためのデータとして、この印刷物の画像の画像データをプリンター５に送信し、プリンター５は画像を描画して印刷媒体に印刷することにより、印刷物を出力する。図３（Ａ）は１巡目の処理を示し、（Ｂ）は２巡目の処理を示し、（Ｃ）は３巡目の処理を示す。図３（Ａ）〜（Ｃ）中の各ボックスは画像処理部２７ｂが行う処理を示している。なお、画像Ａ〜Ｅ３のいずれかが、第１の画像また葉第２の画像に対応する。
【００３９】
１巡目の動作において、印刷制御部２７ａは、画像Ａ〜Ｅを用いて、印刷物Ａ〜Ｅの印刷処理を実行する。すなわち、プリンタードライバー実行部４５ｂおよび画像処理部２７ｂは、以下の処理を行う。
プリンタードライバー実行部４５ｂは画像Ａの画像データを送信し、画像処理部２７ｂは、図３（Ａ）に示す１巡目の最初の処理Ｐ１で画像Ａを描画する。処理Ｐ１では、ホストコンピューター１から受信した画像Ａの画像データを登録する処理Ｐ１ａ、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ１ｂを実行する。
次に、プリンタードライバー実行部４５ｂは、画像Ａと画像Ｂとの差分画像データを送信する。画像処理部２７ｂは、処理Ｐ２で画像Ｂを描画する。処理Ｐ２では、ホストコンピューター１から受信した画像Ａと画像Ｂの差分画像データを登録する処理Ｐ２ａ、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ２ｂ、および、バッファーメモリー２７ｃに差分画像データを上書きすることにより画像Ｂを描画する処理Ｐ２ｃを実行する。
【００４０】
次に、プリンタードライバー実行部４５ｂは、画像Ａと画像Ｃとの差分画像データを生成してプリンター５に送信する。ここで、画像Ｃとの差分画像データを生成する対象として画像Ａを選択することにより、画像Ｂを画像記憶部５０ａに記憶しておく必要がなく、いつでも画像Ｂを削除して画像記憶部５０ａの容量を確保できるという利点がある。画像記憶部５０ａの容量が十分である場合、プリンタードライバー実行部４５ｂは、画像Ｂと画像Ｃとの差分画像データを生成してもよい。
画像処理部２７ｂは、画像Ａと画像Ｃとの差分画像データを受信して、処理Ｐ３で画像Ｃを描画する。処理Ｐ３では、差分画像データを登録する処理Ｐ３ａ、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ３ｂ、および、バッファーメモリー２７ｃに差分画像データを上書きして画像Ｃを描画する処理Ｐ３ｃを実行する。
【００４１】
プリンタードライバー実行部４５ｂは、画像Ａと画像Ｄとの差分画像データを生成してプリンター５に送信する。画像処理部２７ｂは、画像Ａと画像Ｄとの差分画像データを受信して、処理Ｐ４で画像Ｄを描画する。処理Ｐ４では、ホストコンピューター１から受信した差分画像データを登録する処理Ｐ４ａ、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ４ｂ、および、バッファーメモリー２７ｃに差分画像データを上書きすることにより画像Ｄを描画する処理Ｐ４ｃを実行する。
プリンタードライバー実行部４５ｂは、画像Ａと画像Ｅとの差分画像データを生成してプリンター５に送信する。画像処理部２７ｂは、画像Ａと画像Ｅとの差分画像データを受信して、処理Ｐ５で画像Ｅを描画する。処理Ｐ５では、差分画像データを登録する処理Ｐ５ａ、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ５ｂ、および、バッファーメモリー２７ｃに差分画像データを上書きして画像Ｅを描画する処理Ｐ５ｃを実行する。
【００４２】
続いて、印刷システム８は２巡目の処理を実行する。すなわち、印刷物Ａ２〜Ｅ２の印刷処理を実行するため、プリンタードライバー実行部４５ｂおよび画像処理部２７ｂは、以下の処理を行う。
プリンタードライバー実行部４５ｂは、画像Ａと画像Ａ２との差分画像データをプリンター５に送信する。画像処理部２７ｂは、画像Ａと画像Ａ２との差分画像データを受信して、処理Ｐ６で画像Ａ２を描画する。処理Ｐ６では、ホストコンピューター１から受信した差分画像データを登録する処理Ｐ６ａ、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ６ｂ、および、バッファーメモリー２７ｃに差分画像データを上書きすることにより画像Ａ２を描画する処理Ｐ６ｃを実行する。
【００４３】
次に、プリンタードライバー実行部４５ｂは、画像Ｂと画像Ｂ２との差分画像データをプリンター５に送信する。画像Ｂと画像Ｂ２とは同じ背景画像を用いているため共通性（類似性）が高く、差分画像データが小さい。このため、画像Ｂと画像Ｂ２との差分画像データを用いると、送受信する画像データの容量を効率的に圧縮できる。画像処理部２７ｂは、画像Ｂと画像Ｂ２との差分画像データを受信して、処理Ｐ７で画像Ｂ２を描画する。
処理Ｐ７では、ホストコンピューター１から受信した画像Ｂと画像Ｂ２との差分画像データを登録する処理Ｐ７ａを実行し、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ７ｂを実行する。さらに、画像処理部２７ｂはバッファーメモリー２７ｃに、画像記憶部５０ａに記憶した画像Ａと画像Ｂとの差分画像データを上書きする処理Ｐ７ｃを実行し、画像Ｂを描画する。その後、画像処理部２７ｂは、ホストコンピューター１から受信した画像Ｂと画像Ｂ２との差分画像データを上書きして、画像Ｂ２を描画する処理Ｐ７ｄを実行する。処理Ｐ７では、画像Ｂの画像データを使わずに、画像Ｂ２を描画している。画像Ａと画像Ｂとの差分画像データのサイズは、画像Ｂの画像データよりもサイズが小さいため、画像記憶部５０ａの容量を節約できるという利点がある。
なお、処理Ｐ７のように、プリンター５がホストコンピューター１から受信したデータのみを利用する場合、画像記憶部５０ａに、差分画像データを用いて画像処理部２７ｂが描画した画像データを記憶しなくてもよい。この場合、処理の効率化を図ることにより、高速に処理を実行できる。本実施形態では、画像処理部２７ｂが差分画像データに基づき描画した画像データも画像記憶部５０ａに記憶される場合を示す。
【００４４】
プリンタードライバー実行部４５ｂは、画像Ｃと画像Ｃ２との差分画像データをプリンター５に送信する。画像処理部２７ｂは、画像Ｃと画像Ｃ２との差分画像データを受信して、処理Ｐ８で画像Ｃ２を描画する。
処理Ｐ８では、ホストコンピューター１から受信した差分画像データを登録する処理Ｐ８ａを実行し、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ８ｂを実行する。さらに、画像処理部２７ｂはバッファーメモリー２７ｃに、画像記憶部５０ａに記憶した画像Ａと画像Ｃとの差分画像データを上書きする処理Ｐ８ｃを実行し、画像Ｃを描画する。その後、画像処理部２７ｂは、ホストコンピューター１から受信した差分画像データを上書きして、画像Ｃ２を描画する処理Ｐ８ｄを実行する。
【００４５】
プリンタードライバー実行部４５ｂは、画像Ｄと画像Ｄ２との差分画像データをプリンター５に送信する。画像処理部２７ｂは、画像Ｄと画像Ｄ２との差分画像データを受信して、処理Ｐ９で画像Ｄ２を描画する。
処理Ｐ９では、ホストコンピューター１から受信した差分画像データを登録する処理Ｐ９ａを実行し、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ９ｂを実行する。さらに、画像処理部２７ｂはバッファーメモリー２７ｃに、画像記憶部５０ａに記憶した画像Ａと画像Ｄとの差分画像データを上書きする処理Ｐ９ｃを実行し、画像Ｄを描画する。その後、画像処理部２７ｂは、ホストコンピューター１から受信した差分画像データを上書きして、画像Ｄ２を描画する処理Ｐ９ｄを実行する。
【００４６】
印刷物Ｅ２を印刷させる場合は、さらに別の差分画像データを利用する。プリンタードライバー実行部４５ｂは、画像Ｅと画像Ｅ２との差分画像データをプリンター５に送信する。画像処理部２７ｂは、画像Ｅと画像Ｅ２との差分画像データを受信して、処理Ｐ１０で画像Ｅ２を描画する。
ここで、プリンタードライバー実行部４５ｂは、差分画像データの送信に先立って、画像記憶部５０ａの空き容量を確保するため、画像記憶部５０ａから画像Ａ２の画像データを削除するよう指示する。このため、画像処理部２７ｂが実行する処理Ｐ１０では、まず、処理Ｐ１０ａで画像Ａ２の画像データが画像記憶部５０ａから削除される。
【００４７】
ところで、図３（Ａ）の処理Ｐ５で、プリンタードライバー実行部４５ｂは、画像Ｃと画像Ｅとの差分画像データをプリンター５に送信した。このため、画像記憶部５０ａには画像Ｃと画像Ｅとの差分画像データが記憶されている。画像処理部２７ｂは、画像Ｅを描画する場合に、この差分画像データを利用する。すなわち、画像処理部２７ｂは、ホストコンピューター１から受信した画像Ｅと画像Ｅ２との差分画像データを登録する処理Ｐ１０ｂを実行し、画像記憶部５０ａに記憶した画像Ａの画像データに基づき、バッファーメモリー２７ｃに画像Ａを描画する処理Ｐ１０ｃを実行する。さらに、画像処理部２７ｂはバッファーメモリー２７ｃに、画像記憶部５０ａに記憶した画像Ａと画像Ｃとの差分画像データを上書きする処理Ｐ１０ｄを実行し、画像Ｃを描画する。次に、画像処理部２７ｂは、画像記憶部５０ａに記憶した画像Ｃと画像Ｅとの差分画像データを上書きする処理Ｐ１０ｅを実行し、画像Ｅを描画する。そして、画像処理部２７ｂは、ホストコンピューター１から受信した画像Ｅと画像Ｅ２との差分画像データを上書きして、画像Ｅ２を描画する処理Ｐ１０ｆを実行する。このように、画像処理部２７ｂは、複数の差分画像データを重ねることで、目的の印刷物の画像データをバッファーメモリー２７ｃに描画することもできる。複数の差分画像データを重ねて用いる処理により、画像記憶部５０ａに記憶する画像データのデータ量を、より効率よく削減できる。また、画像処理部２７ｂは、ホストコンピューター１から受信した差分画像データを利用し、プリンター制御部２７は差分画像データを生成する処理を行わない。このため、プリンター制御部２７の処理負荷が軽くて済むという利点もある。
【００４８】
３巡目以後は上記の２巡目と同様の処理が実行される。すなわち、プリンタードライバー実行部４５ｂは、差分画像データをプリンター５に送信する。画像処理部２７ｂは、差分画像データを受信し、画像記憶部５０ａに記憶している画像Ａの画像データ、および、差分画像データを利用して、目的の印刷物の画像データを描画する。これにより、ホストコンピューター１からプリンター５に送信するデータ量と、画像記憶部５０ａに記憶するデータ量とを抑えて、効率よく、多品種の印刷物を切り替えて印刷できる。
【００４９】
続いて、プリンタードライバー実行部４５ｂが差分画像データを生成する動作について説明する。
図４は、プリンタードライバー実行部４５ｂが差分画像データを生成する動作を示すフローチャートである。また、図５および図６は、プリンタードライバー実行部４５ｂによる差分画像データの生成につての説明図である。図４に示すプリンタードライバー実行部４５ｂの動作のうち、ステップＳ５１の動作は比較手段に対応し、ステップＳ５２〜Ｓ５５の動作は結合処理手段に対応し、ステップＳ５６の動作はユニット処理手段に対応する。また、ホスト制御部４５は、生成した差分画像データを出力する出力手段と機能する。
【００５０】
プリンタードライバー実行部４５ｂは、２つの画像（第１画像、第２画像）の差分画像データを生成する。図４の動作に先立ち、プリンタードライバー実行部４５ｂは処理対象の２つの画像データを画像記憶部４８ａから読み出す。ここで読み出される２つの画像データＦ１、Ｆ２は、本実施形態では、図５（Ａ）に示すように矩形であり、縦方向の画素数および横方向の画素数は一致している。プリンタードライバー実行部４５ｂは、画像データＦ２において画像データＦ１とは異なる部分の画像データを、差分画像データとして生成する。
なお、プリンタードライバー実行部４５ｂは、画素数が一致しない２つの画像の差分画像データを生成することも可能である。この場合、重ならない画素の位置を示す情報を、生成された差分画像データに付加すれば良い。
【００５１】
プリンタードライバー実行部４５ｂは、差分画像データを生成する対象となる２つの画像データを重ねて、画素毎に比較し、画素の情報が一致する画素をマスクする（ステップＳ５１）。画素の情報とは、例えば、１つの画素におけるＲ、Ｇ、Ｂの各色の階調値である。
続いて、プリンタードライバー実行部４５ｂは、重ねた画像データを、予め設定された画素数のセルに分割する（ステップＳ５２）。
図５（Ａ）には、第1の画像と第２の画像に対応する処理対象の画像データＦ１と画像データＦ２とが、それぞれセルに分割された様子を示す。図中の各マスが、１つのセルＣＥを示している。各セルＣＥのサイズは等しく、例えば６４画素×６４画素である。
【００５２】
プリンタードライバー実行部４５ｂは、マスクされていない画素を含むセルを抽出する（ステップＳ５３）。マスクされていない画素とは、画像データＦ１と画像データＦ２とで一致しない画素である。プリンタードライバー実行部４５ｂは、マスクされていない画素のみを抽出するのではなく、マスクされていない画素を含むセル全体を抽出する。図５（Ｂ）には、抽出されたセルＭＣＥを模様付き（網掛け）で示している。図５（Ｂ）に示す画像データＦ３の網掛けのセルＭＣＥは、マスクされてない画像データＦ２の画素を含む。また、網掛けがされていなセルは、マスクされている。プリンタードライバー実行部４５ｂは、画像データＦ３から網掛けのセルＭＣＥのみを抽出し、図５（Ｃ）に示す抽出画像データＦ４を生成する。抽出画像データＦ４では、抽出されたセルのみが配置され、他の部分は空白のデータとなっている。
【００５３】
プリンタードライバー実行部４５ｂは、抽出されたセルＭＣＥのうち、隣接するセルＭＣＥどうしを結合してユニットを生成する処理を行う（ステップＳ５４）。このステップＳ５４では、Ｘ方向（画像の幅方向）またはＹ方向（画像の高さ方向）のいずれかが選択され、セルが結合される。このため、プリンタードライバー実行部４５ｂが生成するユニットは、図６（Ａ）に示すように、矩形となる。図６（Ａ）の例ではＸ方向にセルが結合されて、Ｘ方向に延びる矩形のユニットが１６個生成されている。
【００５４】
さらに、プリンタードライバー実行部４５ｂは、生成したユニットどうしを結合して、より大きなユニットを生成する（ステップＳ５５）。ステップＳ５５では、例えば、Ｘ方向およびＹ方向のうち、ステップＳ５４で選択しなかった方向に、ユニットを結合する。ここで、プリンタードライバー実行部４５ｂは、結合後のユニットが矩形になるように処理をする。図６（Ａ）に示す抽出画像データＦ４に対しては、Ｘ方向に延びる各ユニットのうち、Ｙ方向に隣接するユニットが結合される。結合後のユニットが矩形であるためには、結合される各ユニットのＸ方向のサイズが一致する必要がある。このため、プリンタードライバー実行部４５ｂは、Ｘ方向のサイズが一致し、かつＹ方向に隣接するユニットを結合する。この処理により、抽出画像データＦ４におけるユニットは、図６（Ｂ）に示すように９個に集約され、より大きなユニットも形成される。生成されたユニットは、セルの画素数（ここでは６４画素×６４画素）の整数倍の画素を含む。図６（Ｂ）に示すユニットの１つを、ユニットＵとする。
なお、プリンタードライバー実行部４５ｂは、ステップＳ５４とＳ５５の処理を一括して行ってもよい。すなわち、Ｘ方向およびＹ方向の両方で隣接するセルを結合し、矩形のユニットを生成してもよい。
【００５５】
プリンタードライバー実行部４５ｂは、集約された各ユニットの周縁に位置する画素のうち、マスクされた画素を、ユニットから除く処理をする（ステップＳ５６）。ステップＳ５３ではマスクされていない画素を含む所定サイズ（本実施形態では縦６４画素、横６４画素）のセルを抽出した。このため、各セルにはマスクされた画素が含まれている可能性がある。このうち、ユニットの周縁にマスクされた画素があり、かつ、マスクされた画素を除いてもユニットが矩形を保持できる場合、マスクされた画素を除けばユニットを小さくすることができる。図６（Ｃ）に示すように、ユニットＵの周囲にマスクされた画素の帯Ｍがある場合、この画素の帯Ｍをユニットから除くことができる。マスクされた画素を除くことが可能になる条件は、例えば、マスクされた画素がユニットの縦方向または横方向の全体にわたって隙間無く並んでいて、ユニットの最も外側に位置している場合である。言い換えれば、ユニットの周縁の上下左右いずれかの１辺が、マスクされた画素のみで構成されている場合である。このような場合、マスクされた画素からなる辺をユニットから除去できる。
【００５６】
その後、プリンタードライバー実行部４５ｂは、各ユニットの位置を示す情報を生成する（ステップＳ５７）。例えば、プリンタードライバー実行部４５ｂは、各ユニットの左上隅の座標を取得する。この座標は、例えば、抽出画像データの１つの隅を原点として、仮想のＸ−Ｙ直交座標系を設定した場合の、Ｘ座標およびＹ座標である。プリンタードライバー実行部４５ｂは、全てのユニットの左上隅の座標と、全てのユニットの画像データを含む差分画像データを生成する（ステップＳ５８）。
【００５７】
ステップＳ５８で生成される差分画像データは、例えば、もとの画像データＦ２と同じサイズであって、ユニット以外の部分の階調値が透明に設定された画像データであってもよい。この場合、例えば透明の画素（或いは透過度）を設定可能なＰＮＧ形式等の画像フォーマットで、差分画像データを出力すれば、差分画像データのサイズを小さくすることができる。また、ステップＳ５８で生成する差分画像データは、例えば、もとの画像データＦ２と同じサイズであって、ユニット以外の部分が所定の色でマスクされた画像データであってもよい。図６（Ｄ）に示す差分画像データＦ５は、斜線部分の画素が白、黒、グレー等の所定の色でマスクされている。この差分画像データＦ５の全体の画素数は画像データＦ２と変わりないが、マスクされた画素は同じ色であるため、ＪＰＥＧ、ＧＩＦ、ＰＮＧ等の各種形式で差分画像データを圧縮すると、高い圧縮率で圧縮がなされ、小さいサイズの圧縮画像データが得られる。また、ステップＳ５８で生成する差分画像データを、各ユニットの画像データの集合とすることもできる。この場合、１つのユニットが１つの画像データを構成する。各ユニットの位置を示す情報は、別のファイルとしてもよいし、各ユニットの画像データに付加してもよい。
【００５８】
このように、プリンタードライバー実行部４５ｂが生成した差分画像データは、通信インターフェース４９（図１）を介してプリンター５に送信される。ここで、プリンタードライバー実行部４５ｂは、差分画像データを圧縮して、送信してもよい。この場合、差分画像データの圧縮効果により、送受信するデータ量を効果的に削減できる。プリンタードライバー実行部４５ｂは、ステップＳ５４〜Ｓ５５で、セルを結合して、より大きなユニットを生成している。このため、差分画像データを圧縮すると、セルよりも大きな画素数のユニットを圧縮することになり、圧縮の効果が出やすい。このため、より効率よく画像データのデータ量を削減できる。
【００５９】
以上説明したように、本発明を適用した実施形態に係る印刷システム８で、ホストコンピューター１は、プリンター５によって印刷させる印刷物の画像データを、差分画像データを利用して送信する。ホストコンピューター１は、第１の画像及び第２の画像を複数の画素を含む矩形のセルに分割し、第１の画像と第２の画像とを比較して差異を有するセルを特定し、特定したセルを抽出し、抽出した複数のセルを結合して矩形のユニットを生成し、生成したユニットに基づき差分画像データを出力する。
このため、例えばセルを構成する画素数を大きくして処理の高速化を図ることができ、差分の画像データを利用してホストコンピューター１からプリンター５に送信するデータ量を減らす効果と処理の高速化を実現できる。
【００６０】
また、ホストコンピューター１は、生成されたユニットの外周に位置する画素の中で第１の画像と第２の画像とが一致する画素を、ユニットの辺を単位として除く処理を行い、処理されたユニットに基づき差分画像データを出力する。このため、差異を有する画素を含むセルを結合して得られたユニットから、第１及び第２の画像が一致する画素を除く処理が行われ、一致する画素が除かれた差分画像データが出力される。従って、より無駄の少ない差分画像データを出力でき、処理の高速化を図るとともに効果的にデータ量を減らすことができる。
【００６１】
また、ホストコンピューター１は、隣接する複数のユニットが全体として矩形となる場合に、これら複数のユニットを結合して、さらに大きいユニットを生成する。このため、ユニットを構成する画素数が大きくなるので、例えば差分画像データを圧縮する処理を施した場合に、圧縮効果が高まるという利点がある。また、差分画像データに含まれるユニットの数を減らすことができるので、ユニットの位置を指定するためのデータの量を減らすことができ、より効率よくデータ量を削減できる。
また、ホストコンピューター１が出力する差分画像データは、ユニットの画像データと、ユニットの位置を示すデータとを含んでもよい。この場合、差分画像データのデータ量を効率よく削減できる。また、ホストコンピューター１は、差分画像データを圧縮して出力してもよい。この場合、差分画像データのデータ量を、より一層削減できる。
また、プリンター５のプリンター制御部２７は、ホストコンピューター１により送信されたデータを受信して、差分画像データと画像記憶部５０ａに記憶した画像データとに基づいて画像データを生成し、生成した画像データを印刷する。このように、画像データを転送して印刷するシステムにおいて、転送される画像データのデータ量を高速に、かつ効率よく削減できる。
【００６２】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、印刷物を印刷するための画像データをホストコンピューター１からプリンター５に送信する構成を例示し、数種類の画像データを送信する場合を例に挙げて説明した。本発明はこれに限定されるものではなく、共通の背景画像を含まない複数の画像データをランダムに送信する場合にも本発明を適用できる。また、ホストコンピューター１がプリンター５に送信した画像データと、その後に印刷する画像データとの差分画像データを利用する場合に限定されない。例えば、予めプリンター５が画像記憶部５０ａに画像データを記憶しておき、ホストコンピューター１は、画像記憶部５０ａに記憶している画像データと、印刷する画像データとの差分画像データを送信しても良い。この場合、ホストコンピューター１がプリンター５に、差分画像データのみを送信する使用法が可能になるので、転送するデータ量を、より効率よく削減できる。
【００６３】
また、上記実施形態ではインクジェット式プリンターを例に挙げて説明したが、プリンター５の構成は特に限定されず、ドットインパクト式プリンター、サーマルプリンター、レーザープリンター等にも適用できる。また、受信装置はプリンター５に限定されず、画像を表示する表示装置やプロジェクターにホストコンピューター１から画像データを送信するシステムにも、本発明を適用できる。
また、図１に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、ホストコンピューター１、プリンター５の各機能を、これら装置に外部接続される別の装置に持たせるようにしてもよい。また、ホストコンピューター１、プリンター５は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。
【符号の説明】
【００６４】
１…ホストコンピューター（画像処理装置）、５…プリンター（受信装置）、８…印刷システム（画像送信システム）、１２…印刷ヘッド（印刷手段）、２７…プリンター制御部、２７ａ…印刷制御部（印刷手段）、２７ｂ…画像処理部、２７ｃ…バッファーメモリー、４１…通信インターフェース、４５…ホスト制御部、４５ａ…アプリケーション実行部、４５ｂ…プリンタードライバー実行部（比較手段、結合処理手段、ユニット処理手段、出力手段）、４８ａ…画像記憶部、４９…通信インターフェース、５０…プリンター記憶部、５０ａ…画像記憶部（記憶手段）。
【図１】
2015053575.tif 000003
【図２】
2015053575.tif 000004
【図３】
2015053575.tif 000005
【図４】
2015053575.tif 000006
【図５】
2015053575.tif 000007
【図６】
2015053575.tif 000008