(57)【要約】【課題】制御装置から印刷装置に送信するデータのデータ量を低減する。【解決手段】ホストコンピューター１は、比較画像データを区分するブロックについて、ブロックから所定の計算式で算出される算出値を記憶する記憶部と、インクジェットプリンター５に印刷させる画像の画像データである印刷画像データを区分するブロックについて、所定の計算式で算出値を算出し、比較画像データと印刷画像データとの対応するブロックの算出値を比較し、印刷画像データのブロックのうち、算出値の異なるブロックの画像データをインクジェットプリンター５に送信するホスト制御部４５と、を備える。【選択図】図３
2015191456.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置に通信可能な制御装置であって、
比較用の画像データである比較画像データを区分するブロックについて、所定の計算式で算出される算出値を記憶する記憶部と、
前記印刷装置に印刷させる画像の画像データである印刷画像データを区分するブロックについて、前記所定の計算式で算出値を算出し、前記比較画像データと前記印刷画像データとの対応するブロックの算出値を比較し、前記印刷画像データのブロックのうち、算出値の異なるブロックの画像データを前記印刷装置に送信する制御部と、
を備えることを特徴とする制御装置。
【請求項２】
前記記憶部は、１又は複数の前記比較画像データについて、前記比較画像データを識別する識別情報と、前記比較画像データのブロックの算出値とを対応付けて記憶し、
前記制御部は、
前記印刷画像データと１又は複数の前記比較画像データとの対応するブロックの算出値を比較し、算出値の異なるブロックの数が少ない前記比較画像データを選択し、
前記印刷画像データのブロックのうち選択した前記比較画像データの対応するブロックと算出値が異なるブロックの画像データ、及び、選択した前記比較画像データの識別情報を前記印刷装置に送信することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御部は、
ブロックの画像データを圧縮して前記印刷装置に送信することを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記制御部は、
複数のブロックの画像データを送信する場合、隣接するブロックの画像データを結合して結合後の画像データを圧縮可能か否か判別し、可能な場合は、隣接するブロックの画像データを結合し、結合後の画像データを圧縮して前記印刷装置に送信することを特徴とする請求項１乃至３のいずれか１項に記載の制御装置。
【請求項５】
印刷装置と、前記印刷装置と通信可能な制御装置とを備える印刷システムであって、
前記制御装置は、
比較用の画像データである比較画像データを区分するブロックについて、所定の計算式で算出される算出値を記憶する記憶部と、
前記印刷装置に印刷させる画像の画像データである印刷画像データを区分するブロックについて、前記所定の計算式で算出値を算出し、前記比較画像データと前記印刷画像データとの対応するブロックの算出値を比較し、前記印刷画像データのブロックのうち、算出値の異なるブロックの画像データを含む制御データを前記印刷装置に送信する制御部と、を備え、
前記印刷装置は、
印刷を行う印刷部と、
前記比較画像データを記憶する装置記憶部と、
前記制御データを受信した場合、前記装置記憶部が記憶する前記比較画像データ、及び、前記制御データに含まれるブロックの画像データに基づいて、前記印刷部により画像を印刷する装置制御部と、を備えることを特徴とする印刷システム。
【請求項６】
前記制御装置の前記制御部は、
算出値の異なるブロックの画像データと、当該ブロックの前記比較画像データにおける位置を示す位置情報とを含む前記制御データを前記印刷装置に送信し、
前記印刷装置の前記装置制御部は、
前記制御データを受信した場合、前記装置記憶部が記憶する前記比較画像データに対して、前記制御データに含まれる前記位置情報が示す位置に、前記制御データに含まれる対応するブロックの画像データを重畳し、重畳後の前記比較画像データに基づいて、前記印刷部により画像を印刷することを特徴とする請求項５に記載の印刷システム。
【請求項７】
前記制御装置の前記記憶部は、
１又は複数の前記比較画像データについて、前記比較画像データのブロックの算出値と、前記比較画像データを識別する識別情報とを対応付けて記憶し、
前記印刷装置の前記装置記憶部は、
１又は複数の前記比較画像データと、前記比較画像データの識別情報と対応付けて記憶し、
前記制御装置の前記制御部は、
前記印刷画像データと、前記記憶部が記憶する１又は複数の前記比較画像データとの対応するブロックの算出値を比較し、算出値の異なるブロックの数が少ない前記比較画像データを選択し、前記印刷画像データのブロックのうち選択した前記比較画像データの対応するブロックと算出値が異なるブロックの画像データ、及び、選択した前記比較画像データの識別情報を含む前記制御データを前記印刷装置に送信し、
前記印刷装置の前記装置制御部は、
前記制御データに含まれる識別情報と対応付けて前記記憶部が記憶する前記比較画像データ、及び、前記制御データに含まれるブロックの画像データに基づいて、前記印刷部により画像を印刷することを特徴とする請求項５又は６に記載の印刷システム。
【請求項８】
前記制御装置の前記制御部は、
複数の前記制御データを連続して前記印刷装置に送信し、
前記印刷装置の前記装置制御部は、
前記制御装置から受信した複数の前記制御データに基づいて、前記制御データに対応する画像の印刷を連続して実行し、
前記制御装置の前記制御部は、
１の前記制御データを生成する場合、当該１の前記制御データによって印刷させる画像の前記印刷画像データを生成し、生成した前記印刷画像データのブロックの算出値を算出し、生成した前記印刷画像データと１又は複数の前記比較画像データとの対応するブロックの算出値を比較し、算出値の異なるブロックの数が少ない前記比較画像データを選択し、生成した前記印刷画像データの識別情報である印刷画像データ識別情報を生成し、
選択した前記比較画像データの識別情報である選択画像データ識別情報と、生成した前記印刷画像データ識別情報と、前記印刷画像データのブロックのうち決定した前記比較画像データの対応するブロックと算出値が異なるブロックの画像データと、を含む前記制御データを前記印刷装置に送信し、また、
算出した前記印刷画像データのブロックの算出値を、前記比較画像データのブロックの算出値として、生成した前記印刷画像データ識別情報と対応付けて記憶し、
前記印刷装置の前記装置制御部は、
前記制御データを受信した場合、前記制御データに基づいて前記印刷画像データの画像を印刷し、印刷する画像の画像データを、前記比較画像データとして、前記制御データに含まれる前記印刷画像データ識別情報と対応付けて記憶することを特徴とする請求項７に記載の印刷システム。
【請求項９】
前記制御装置の前記制御部は、
前記比較画像データと前記印刷画像データとの対応するブロックの算出値を比較し、前記印刷画像データのブロックのうち、算出値が同一のブロックについて、当該算出値が同一のブロックの画像データと前記比較画像データの対応するブロックの画像データとを比較し、異なる場合は、当該算出値が同一のブロックの画像データを前記制御データに含めることを特徴とする請求項５乃至８のいずれか１項に記載の印刷システム。
【請求項１０】
前記制御装置の前記制御部は、
ブロックの画像データを圧縮して前記制御データに含め、前記印刷装置に送信することを特徴とする請求項５乃至９のいずれか１項に記載の制御装置。
【請求項１１】
前記制御装置の前記制御部は、
複数のブロックの画像データを送信する場合、隣接するブロックの画像データを結合し、結合後の画像データを圧縮可能か否か判別し、可能な場合は、隣接するブロックの画像データを結合し、結合後の画像データを圧縮して前記制御データに含め、前記印刷装置に送信することを特徴とする請求項５乃至１０のいずれか１項に記載の制御装置。
【請求項１２】
印刷装置に接続可能な制御装置の制御方法であって、
比較用の画像データである比較画像データを区分するブロックについて、所定の計算式で算出される算出値を記憶し、
前記印刷装置に印刷させる画像の画像データである印刷画像データを区分するブロックについて、前記所定の計算式で算出値を算出し、前記比較画像データと前記印刷画像データとの対応するブロックの算出値を比較し、前記印刷画像データのブロックのうち、算出値の異なるブロックの画像データを前記印刷装置に送信する
ことを特徴とする制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置を制御する制御装置、印刷装置と制御装置とを含む印刷システム、及び、制御装置の制御方法に関する。
【背景技術】
【０００２】
従来、制御装置（ホスト装置）と、印刷装置（プリンター）とが通信するシステムが知られている（例えば、特許文献１参照）。
一般に、制御装置は、印刷装置を制御する場合、制御に係るデータを印刷装置に送信する。印刷装置は、制御装置から受信したデータに基づいて処理を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１１８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したシステムのように、制御装置から印刷装置にデータを送信するものでは、通信効率の向上のため、制御装置から印刷装置に送信するデータのデータ量を低減したいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、制御装置、印刷システム、及び、制御装置の制御方法について、制御装置から印刷装置に送信するデータのデータ量を低減することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、印刷装置に通信可能な制御装置であって、比較用の画像データである比較画像データを区分するブロックについて、所定の計算式で算出される算出値を記憶する記憶部と、前記印刷装置に印刷させる画像の画像データである印刷画像データを区分するブロックについて、前記所定の計算式で算出値を算出し、前記比較画像データと前記印刷画像データとの対応するブロックの算出値を比較し、前記印刷画像データのブロックのうち、算出値の異なるブロックの画像データを前記印刷装置に送信する制御部と、を備えることを特徴とする。
本発明の構成によれば、制御装置は、印刷させる画像の印刷画像データのブロックのうち、記憶した比較画像データのブロックと算出値が相違するブロックの画像データを、印刷装置に送信する。このため、印刷装置で事前に比較画像データを記憶することにより、印刷装置は、記憶した比較画像データと、受信したブロックの画像データとに基づいて、画像を印刷できる。従って、画像の印刷に際し、制御装置は、印刷させる画像の印刷画像データのブロックのうち、記憶した比較画像データのブロックと算出値が相違するブロックの画像データを印刷装置に送信すればよく、制御装置から印刷装置に送信するデータのデータ量を低減できる。
【０００６】
また、本発明は、前記記憶部は、１又は複数の前記比較画像データについて、前記比較画像データを識別する識別情報と、前記比較画像データのブロックの算出値とを対応付けて記憶し、前記制御部は、前記印刷画像データと１又は複数の前記比較画像データとの対応するブロックの算出値を比較し、算出値の異なるブロックの数が少ない前記比較画像データを選択し、前記印刷画像データのブロックのうち、選択した前記比較画像データの対応するブロックと算出値が異なるブロックの画像データ、及び、選択した前記比較画像データの識別情報を前記印刷装置に送信することを特徴とする。
本発明の構成によれば、制御装置は、印刷画像データと１又は複数の比較画像データとの対応するブロックの算出値を比較し、算出値の異なるブロックの数が少ない比較画像データを決定する。このような方法で比較画像データを決定するため、制御装置は、印刷画像データと近似する比較画像データを、ブロックの算出値の比較という簡易な手段で、決定できる。また、上記方法で比較画像データを決定するため、印刷画像データを構成する各ドットと、比較画像データを構成する各ドットとを比較して、比較画像データを決定する場合と比較して、処理負荷が小さく、また、決定までに要する時間が短い。また、本発明の構成によれば、制御装置は、印刷装置に、決定した画像データを、識別情報により通知できる。印刷装置は、識別情報と比較画像データとを対応付けて記憶することにより、制御装置が決定した比較画像データを特定でき、特定した比較画像データ、及び、受信したブロックの画像データに基づいて、画像の印刷を実行できる。
【０００７】
また、本発明は、前記制御部は、ブロックの画像データを圧縮して前記印刷装置に送信することを特徴とする。
本発明の構成によれば、制御装置から印刷装置に送信されるデータのデータ量をより低減できる。
【０００８】
また、本発明は、前記制御部は、複数のブロックの画像データを送信する場合、隣接するブロックの画像データを結合して結合後の画像データを圧縮可能か否か判別し、可能な場合は、隣接するブロックの画像データを結合し、結合後の画像データを圧縮して前記印刷装置に送信することを特徴とする。
本発明の構成によれば、制御装置から印刷装置に送信されるデータのデータ量をより効率よく低減できる。
【０００９】
また、上記目的を達成するために、本発明は、印刷装置と、前記印刷装置と通信可能な制御装置とを備える印刷システムであって、前記制御装置は、比較用の画像データである比較画像データを区分するブロックについて、所定の計算式で算出される算出値を記憶する記憶部と、前記印刷装置に印刷させる画像の画像データである印刷画像データを区分するブロックについて、前記所定の計算式で算出値を算出し、前記比較画像データと前記印刷画像データとの対応するブロックの算出値を比較し、前記印刷画像データのブロックのうち、算出値の異なるブロックの画像データを含む制御データを前記印刷装置に送信する制御部と、を備え、前記印刷装置は、印刷を行う印刷部と、前記比較画像データを記憶する装置記憶部と、前記制御データを受信した場合、前記装置記憶部が記憶する前記比較画像データ、及び、前記制御データに含まれるブロックの画像データに基づいて、前記印刷部により画像を印刷する装置制御部と、を備えることを特徴とする。
本発明の構成によれば、制御装置は、印刷装置に画像を印刷させる際に、印刷させる画像の印刷画像データのブロックのうち、記憶した比較画像データのブロックと算出値が相違するブロックの画像データを、印刷装置に送信すればよく、制御装置から印刷装置に送信するデータのデータ量の低減を実現できる。
【００１０】
また、本発明は、前記制御装置の前記制御部は、算出値の異なるブロックの画像データと、当該ブロックの前記比較画像データにおける位置を示す位置情報とを含む前記制御データを前記印刷装置に送信し、前記印刷装置の前記装置制御部は、前記制御データを受信した場合、前記装置記憶部が記憶する前記比較画像データに対して、前記制御データに含まれる前記位置情報が示す位置に、前記制御データに含まれる対応するブロックの画像データを重畳し、重畳後の前記比較画像データに基づいて、前記印刷部により画像を印刷することを特徴とする。
本発明の構成によれば、印刷装置は、記憶した比較画像データと、制御装置から受信したブロックの画像データに基づいて、所望の画像を印刷できる。
【００１１】
また、本発明は、前記制御装置の前記記憶部は、１又は複数の前記比較画像データについて、前記比較画像データのブロックの算出値と、前記比較画像データを識別する識別情報とを対応付けて記憶し、前記印刷装置の前記装置記憶部は、１又は複数の前記比較画像データと、前記比較画像データの識別情報と対応付けて記憶し、前記制御装置の前記制御部は、前記印刷画像データと、前記記憶部が記憶する１又は複数の前記比較画像データとの対応するブロックの算出値を比較し、算出値の異なるブロックの数が少ない前記比較画像データを選択し、前記印刷画像データのブロックのうち選択した前記比較画像データの対応するブロックと算出値が異なるブロックの画像データ、及び、選択した前記比較画像データの識別情報を含む前記制御データを前記印刷装置に送信し、前記印刷装置の前記装置制御部は、前記制御データに含まれる識別情報と対応付けて前記記憶部が記憶する前記比較画像データ、及び、前記制御データに含まれるブロックの画像データに基づいて、前記印刷部により画像を印刷することを特徴とする。
本発明の構成によれば、制御装置は、印刷画像データと１又は複数の比較画像データとの対応するブロックの算出値を比較し、算出値の異なるブロックの数が少ない比較画像データを決定する。このような方法で比較画像データを決定するため、制御装置は、印刷画像データと近似する比較画像データを、ブロックの算出値の比較という簡易な手段で、決定できる。また、上記方法で比較画像データを決定するため、印刷画像データを構成する各ドットと、比較画像データを構成する各ドットとを比較して、比較画像データを決定する場合と比較して、処理負荷が小さく、また、決定までに要する時間が短い。また、本発明の構成によれば、制御装置は、印刷装置に、決定した画像データを、識別情報により通知できる。印刷装置は、識別情報に基づいて、記憶する比較画像データから、制御装置が決定した比較画像データを特定でき、特定した比較画像データ、及び、受信したブロックの画像データに基づいて、画像の印刷を実行できる。
【００１２】
また、本発明は、前記制御装置の前記制御部は、複数の前記制御データを連続して前記印刷装置に送信し、前記印刷装置の前記装置制御部は、前記制御装置から受信した複数の前記制御データに基づいて、前記制御データに対応する画像の印刷を連続して実行し、前記制御装置の前記制御部は、１の前記制御データを生成する場合、当該１の前記制御データによって印刷させる画像の前記印刷画像データを生成し、生成した前記印刷画像データのブロックの算出値を算出し、生成した前記印刷画像データと１又は複数の前記比較画像データとの対応するブロックの算出値を比較し、算出値の異なるブロックの数が少ない前記比較画像データを選択し、生成した前記印刷画像データの識別情報である印刷画像データ識別情報を生成し、選択した前記比較画像データの識別情報である選択画像データ識別情報と、生成した前記印刷画像データ識別情報と、前記印刷画像データのブロックのうち決定した前記比較画像データの対応するブロックと算出値が異なるブロックの画像データと、を含む前記制御データを前記印刷装置に送信し、また、算出した前記印刷画像データのブロックの算出値を、前記比較画像データのブロックの算出値として、生成した前記印刷画像データ識別情報と対応付けて記憶し、前記印刷装置の前記装置制御部は、前記制御データを受信した場合、前記制御データに基づいて前記印刷画像データの画像を印刷し、印刷する画像の画像データを、前記比較画像データとして、前記制御データに含まれる前記印刷画像データ識別情報と対応付けて記憶することを特徴とする。
本発明の構成によれば、制御装置は、印刷装置に連続して印刷させる画像の画像データのブロックの算出値を、比較画像データのブロックの算出値として、識別情報と対応付けて累積的に記憶し、また、印刷装置は、印刷する画像の画像データを、比較画像データとして、識別情報と対応付けて累積的に記憶する。このため、制御装置が複数の制御データを連続して印刷装置に送信し、また、印刷装置が制御装置から受信した複数の制御データに基づいて、制御データに対応する画像の印刷を連続して実行する、という構成を踏まえ、制御装置は、比較用の比較画像データを累積的に記憶でき、また、印刷装置は、制御装置に対応して、比較画像データを記憶できる。
【００１３】
また、本発明は、前記制御装置の前記制御部は、前記比較画像データと前記印刷画像データとの対応するブロックの算出値を比較し、前記印刷画像データのブロックのうち、算出値が同一のブロックについて、当該算出値が同一のブロックの画像データと前記比較画像データの対応するブロックの画像データとを比較し、異なる場合は、当該算出値が同一のブロックの画像データを前記制御データに含めることを特徴とする。
ここで、算出値は、ブロックから所定の計算式で算出される値であるため、比較画像データのブロックの算出値と、印刷画像データのブロックの算出値とが同一である場合であっても、各ブロックの画像データの内容が互いに異なる可能性がある。そして、本発明の構成によれば、制御装置は、比較画像データのブロックの算出値と、印刷画像データのブロックの算出値とが同一である場合であっても、各ブロックの画像データの内容が互いに異なる場合は、印刷画像データのブロックの画像データを制御データに含めることができる。
【００１４】
また、本発明は、前記制御装置の前記制御部は、ブロックの画像データを圧縮して前記制御データに含め、前記印刷装置に送信することを特徴とする。
本発明の構成によれば、制御装置から印刷装置に送信されるデータのデータ量をより低減できる。
【００１５】
また、本発明は、前記制御装置の前記制御部は、複数のブロックの画像データを送信する場合、隣接するブロックの画像データを結合し、結合後の画像データを圧縮可能か否か判別し、可能な場合は、隣接するブロックの画像データを結合し、結合後の画像データを圧縮して前記制御データに含め、前記印刷装置に送信することを特徴とする。
本発明の構成によれば、制御装置から印刷装置に送信されるデータのデータ量をより効率よく低減できる。
【００１６】
また、上記目的を達成するために、本発明は、印刷装置に接続可能な制御装置の制御方法であって、比較用の画像データである比較画像データを区分するブロックについて、所定の計算式で算出される算出値を記憶し、前記印刷装置に印刷させる画像の画像データである印刷画像データを区分するブロックについて、前記所定の計算式で算出値を算出し、前記比較画像データと前記印刷画像データとの対応するブロックの算出値を比較し、前記印刷画像データのブロックのうち、算出値の異なるブロックの画像データを前記印刷装置に送信することを特徴とする。
本発明の構成によれば、制御装置は、印刷させる画像の印刷画像データのブロックのうち、記憶した比較画像データのブロックと算出値が相違するブロックの画像データを、印刷装置に送信する。このため、印刷装置で事前に比較画像データを記憶することにより、印刷装置は、記憶した比較画像データと、受信したブロックの画像データとに基づいて、画像を印刷できる。従って、画像の印刷に際し、制御装置は、印刷させる画像の印刷画像データのブロックのうち、記憶した比較画像データのブロックと算出値が相違するブロックの画像データを、印刷装置に送信すればよく、制御装置から印刷装置に送信するデータのデータ量を低減できる。
【発明の効果】
【００１７】
本発明によれば、制御装置から印刷装置に送信するデータのデータ量を低減できる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係るインクジェットプリンターの構成を示す図。
【図２】インクジェットプリンターにセット可能なラベル用紙を示す図。
【図３】印刷システムの機能的構成を示すブロック図。
【図４】ラベル部に印刷される画像を示す図。
【図５】ホストコンピューター、インクジェットプリンターの動作を示すフローチャート。
【図６】画像データの一例を示す図。
【図７】ハッシュ値比較処理の説明に利用する図。
【図８】ブロック圧縮処理の詳細を示す図。
【図９】ブロック圧縮処理の説明に利用する図。
【図１０】バッファーに画像データに基づく印刷の説明に利用する図。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係るインクジェットプリンター５（印刷装置）の構成を模式的に示す図である。
インクジェットプリンター５は、ライン型のインクジェット式プリンターである。インクジェットプリンター５は、搬送ローラー１０によってラベル用紙１４を搬送正方向ＹＪ１に搬送し、ラインインクジェットヘッド１２からラベル用紙１４に対してインクを吐出して、ラベル用紙１４に画像を印刷する。
インクジェットプリンター５には、以下で説明するラベル用紙１４以外の記録媒体もセット可能である。
【００２０】
図２は、インクジェットプリンター５にセット可能なラベル用紙１４を模式的に示す図である。
図２に示すように、ラベル用紙１４は、帯状のシートであり、印刷面１５において、剥離紙に、所定間隔をあけて複数のラベル部Ｓが貼付される。ラベル部Ｓの裏面はシールとなっており、剥離紙から取り剥がすことができる。ラベル部Ｓの長手方向の形状は一定であり、各ラベル部Ｓの間隔も一定である。後述するように、インクジェットプリンター５は、ラベル用紙１４に形成された複数のラベル部Ｓに、連続して画像を印刷できる。インクジェットプリンター５によってラベル用紙１４への印刷が行われる場合は、ラベル用紙１４の長手方向と、搬送正方向ＹＪ１とが対応するように、ラベル用紙１４がインクジェットプリンター５にセットされる。
図２に示すように、ラベル用紙１４の裏面には、ラベル部Ｓのそれぞれに対応して、ブラックマークＢＭが形成されている。図１における図示は省略したが、インクジェットプリンター５において、ラベル用紙１４の搬送路上の所定の位置には、搬送されるラベル用紙１４に形成されたブラックマークＢＭを光学的に検出するブラックマークセンサー４２（図３）が設けられる。インクジェットプリンター５のプリンター制御部２７（後述）は、ブラックマークセンサー４２の検出値に基づいて、当該センサーに対応する位置にブラックマークＢＭが位置していることを検出する。プリンター制御部２７は、検出結果に基づいて、ラベル用紙１４の搬送量の調整や、ラベル用紙１４の位置の調整等を実行する。
【００２１】
図１に示すように、インクジェットプリンター５は、上流ヘッドユニット１７と、下流ヘッドユニット１８とを備える。
上流ヘッドユニット１７には、上流側トップ印刷ヘッド１７Ｔ、上流側左印刷ヘッド１７Ｌ、及び、上流側右印刷ヘッド１７Ｒの３つの印刷ヘッドが配置されている。下流ヘッドユニット１８には、下流側トップ印刷ヘッド１８Ｔ、下流側左印刷ヘッド１８Ｌ、及び、下流側右印刷ヘッド１８Ｒの３つの印刷ヘッドが配置されている。
【００２２】
上流側トップ印刷ヘッド１７Ｔには、ブラックノズル列２０と、このブラックノズル列２０の下流に配置されたシアンノズル列２１が設けられている。
ブラックノズル列２０は、インクを微細なインク粒として吐出するノズル孔（不図示）が、搬送正方向ＹＪ１と交わる方向であるノズル列方向ＹＪ２に延在して形成されたノズル列である。ブラックノズル列２０には、ブラック（Ｋ）のインクカートリッジ（不図示）から、インクが供給される構成となっている。上流側トップ印刷ヘッド１７Ｔは、例えばピエゾ素子を用いて構成されるアクチュエーターによって、ブラック（Ｋ）のインクカートリッジから供給されるインクをラベル用紙１４へ向かって押し出して、所定のノズル孔から微細なインク粒を吐出する。
シアンノズル列２１は、ブラックノズル列２０と同様、ノズル孔がノズル列方向に延在して形成されたノズル列であり、シアン（Ｃ）のインクカートリッジ（不図示）からインクが供給される構成となっている。
上流側右印刷ヘッド１７Ｒ、及び、上流側左印刷ヘッド１７Ｌは、上流側トップ印刷ヘッド１７Ｔと同様の構成であり、それぞれ、ブラックノズル列２０、及び、このブラックノズル列２０の下流に配置されたシアンノズル列２１を備えている。
【００２３】
下流側トップ印刷ヘッド１８Ｔには、マゼンタノズル列２２と、このマゼンタノズル列２２の下流に配置されたイエローノズル列２３が設けられている。
マゼンタノズル列２２は、ブラックノズル列２０と同様、ノズル孔がノズル列方向に延在して形成されたノズル列であり、マゼンタ（Ｍ）のインクカートリッジ（不図示）からインクが供給される構成となっている。
イエローノズル列２３は、ブラックノズル列２０と同様、ノズル孔がノズル列方向に延在して形成されたノズル列であり、イエロー（Ｙ）のインクカートリッジ（不図示）からインクが供給される構成となっている。
下流側右印刷ヘッド１８Ｒ、及び、下流側左印刷ヘッド１８Ｌは、下流側トップ印刷ヘッド１８Ｔと同様の構成であり、それぞれ、マゼンタノズル列２２、及び、このマゼンタノズル列２２の下流に配置されたイエローノズル列２３を備えている。
なお、図１では、説明の便宜のため、各印刷ヘッド、及び、印刷ヘッドが備えるノズル列を明示しているが、実際は、ノズル列を構成するノズル孔から鉛直下方へ向かってインクが吐出される構成となっており、当該構成を実現するように各部材が配置されている。
【００２４】
インクジェットプリンター５は、ラベル用紙１４にインクを吐出してドットを形成し、ドットの組み合わせにより、画像を印刷する。以下、ラベル用紙１４に、ある１つのドットを形成する場合の基本的な動作について図１を用いて説明する。
ラベル用紙１４が図１に示す位置に存在しており、このラベル用紙１４上の位置Ｐ１に所定の色のドットを形成する場合を例にして説明する。所定の色は、ブラック（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、及び、イエロー（Ｙ）のインクがそれぞれ所定量ずつ吐出されることによって表現される色であるものとする。図１中、位置Ｐ２は、上流側トップ印刷ヘッド１７Ｔに形成されたブラックノズル列２０において、搬送される記録媒体の位置Ｐ１が通過する位置である。位置Ｐ３、位置Ｐ４、及び、位置Ｐ５についてもそれぞれ同様である。
インクジェットプリンター５は、ラベル用紙１４にドットを形成している間、ラベル用紙１４を、略一定の速さで搬送正方向ＹＪ１へ向かって搬送する。そして、図１に示す状態からラベル用紙１４の搬送正方向ＹＪ１への搬送が進行し、ラベル用紙１４上の位置Ｐ１が位置Ｐ２に対応する位置に至ったタイミングで、位置Ｐ２に対応するノズルから所定量のブラック（Ｋ）のインクを吐出する。同様にして、ラベル用紙１４上の位置Ｐ１が位置Ｐ３に至ったタイミングで、位置Ｐ３に対応するノズルから所定量のシアン（Ｃ）のインクを吐出し、ラベル用紙１４上の位置Ｐ１が位置Ｐ４に至ったタイミングで、位置Ｐ４に対応するノズルから所定量のマゼンタ（Ｍ）のインクを吐出し、ラベル用紙１４上の位置Ｐ１が位置Ｐ５に至ったタイミングで、位置Ｐ５に対応するノズルから所定量のイエロー（Ｙ）のインクを吐出する。
このようにして、ラベル用紙１４上の位置Ｐ１に、ブラック（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、及び、イエロー（Ｙ）のインクがそれぞれ所定量ずつ吐出され、位置Ｐ１に所定の色のドットが形成される。
つまり、本実施形態に係るインクジェットプリンター５では、画像の印刷に係る処理中は、ラインインクジェットヘッド１２はその位置が固定された状態であり、この固定されたラインインクジェットヘッド１２に対してラベル用紙１４が相対的に一定速度で移動しつつ、ラインインクジェットヘッド１２から適宜インクが吐出されてドットが形成され、画像が印刷される。
【００２５】
図３は、本実施形態に係る印刷システム８の機能的構成を示すブロック図である。
図３に示すように、印刷システム８は、インクジェットプリンター５と、このインクジェットプリンター５に通信可能（接続可能）であり、インクジェットプリンター５を制御するホストコンピューター１（制御装置）と、を備えている。
【００２６】
図３に示すように、インクジェットプリンター５は、プリンター制御部２７（装置制御部）と、ラインインクジェットヘッド１２（印刷部）と、紙送りモーター３６と、ブラックマークセンサー４２と、プリンター表示部３９と、プリンター入力部４０と、プリンター記憶部５０（装置記憶部）と、インターフェース（Ｉ／Ｆ）４１と、を備える。
プリンター制御部２７は、演算実行部としてのＣＰＵや、ＣＰＵによって実行可能なファームウェアやファームウェアに係るデータを不揮発的に記憶するＲＯＭ、ＣＰＵが使用するワークエリアが形成されるＲＡＭ、その他の周辺回路等を備える。プリンター制御部２７は、例えば、ファームウェアを読み出して実行することにより、インクジェットプリンター５を制御する。
ラインインクジェットヘッド１２は、プリンター制御部２７の制御で、印刷を実行する。プリンター制御部２７は、ラインインクジェットヘッド１２の各インクジェットヘッドが備えるアクチュエーターを駆動し、各ノズルから必要量のインクを吐出してラベル用紙１４にドットを形成し画像を印刷する。
【００２７】
紙送りモーター３６は、搬送ローラー１０に接続され、搬送ローラー１０を回転させて、ラベル用紙１４を、所定量、搬送する。プリンター制御部２７は、紙送りモーター３６を駆動して、ラベル用紙１４を、所定量、搬送する。本実施形態では、紙送りモーター３６は、ステッピングモーターで構成されており、プリンター制御部２７は、ステップ数によりラベル用紙１４の搬送量を管理する。
ブラックマークセンサー４２は、プリンター制御部２７に検出値を出力する。ブラックマークセンサー４２による検出位置にブラックマークＢＭが位置している場合と、位置していない場合とでは、ブラックマークセンサー４２の検出値が異なる。プリンター制御部２７は、ラベル用紙１４の搬送中、ブラックマークセンサー４２の検出値に基づいて、ブラックマークセンサー４２による検出位置にブラックマークＢＭが位置していることを検出する。
プリンター制御部２７は、ラベル用紙１４の搬送中、紙送りモーター３６のステップ数によってラベル用紙１４の搬送量を管理し、ブラックマークセンサー４２の検出値に基づいて、ラベル用紙１４の位置を管理する。プリンター制御部２７は、管理する紙送りモーター３６のステップ数、及び、ラベル用紙１４の位置に基づいて、ラベル用紙１４の搬送量の調整や、ラベル用紙１４の位置の調整等を行う。
【００２８】
プリンター表示部３９は、複数のＬＥＤを備え、プリンター制御部２７の制御で、ＬＥＤを所定の態様で点灯／消滅させ、インクジェットプリンター５の状態を報知したり、エラーの発生の有無を報知したりする。
プリンター入力部４０はインクジェットプリンター５に設けられた各種操作スイッチに接続され、各種操作スイッチに対する操作を検出し、プリンター制御部２７に出力する。
プリンター記憶部５０は、ＥＥＰＲＯＭや、ハードディスク等の不揮発性メモリーを備え、データを記憶する。プリンター記憶部５０に記憶される各種データについては後述する。
インターフェース４１は、プリンター制御部２７の制御で、ホストコンピューター１と所定のプロトコルで通信する。
【００２９】
図３に示すように、ホストコンピューター１は、ホストコンピューター１を制御するホスト制御部４５（制御部）を備える。ホスト制御部４５は、機能ブロックとして、アプリケーション実行部４５ａと、プリンタードライバー実行部４５ｂと、を備えるが、これらについては後述する。
また、ホストコンピューター１は、各種情報を表示するホスト表示部４６と、接続された入力デバイスに対する操作を検出するホスト入力部４７と、各種データを記憶するホスト記憶部４８と、インクジェットプリンター５との間で所定のプロトコルで通信するインターフェース（Ｉ／Ｆ）４９とを備える。
ホスト記憶部４８や、ＲＡＭ、ＲＯＭ、その他の記憶媒体に形成された記憶領域が「記憶部」に該当する。
【００３０】
次に、ラベル用紙１４の複数のラベル部Ｓに連続して画像を印刷するときのホストコンピューター１、及び、インクジェットプリンター５の基本的な動作について説明する。
以下の説明では、ラベル用紙１４は、少なくとも、ラベル部Ｓとして、搬送方向下流から上流へ向かって、第１ラベル部Ｓ１、第２ラベル部Ｓ２、及び、第３ラベル部Ｓ３を有する。そして以下では、インクジェットプリンター５により、第１ラベル部Ｓ１、第２ラベル部Ｓ２、第３ラベル部Ｓ３の順に画像を連続して印刷する場合を例にして、画像を連続印刷するときの各装置の動作を説明する。以下の説明では、第１ラベル部Ｓ１に印刷される画像を「第１画像ＧＱ１」と表現し、第２ラベル部Ｓ２に印刷される画像を「第２画像ＧＱ２」と表現し、第３ラベル部Ｓ３に印刷される画像を「第３画像ＧＱ３」と表現する。
ここで、アプリケーション実行部４５ａ、及び、プリンタードライバー実行部４５ｂについて説明する。
アプリケーション実行部４５ａは、ホストコンピューター１にインストールされたアプリケーション、及び、付随するプログラムを読み出して実行することにより処理を実行する機能ブロックである。アプリケーションは、少なくとも、ラベル部Ｓに印刷する画像の画像データをプリンタードライバーに出力する機能を有するソフトウェアである。
プリンタードライバー実行部４５ｂは、ホストコンピューター１にインストールされたプリンタードライバー、及び、付随するプログラムを読み出して実行することにより処理を実行する機能ブロックである。プリンタードライバーは、インクジェットプリンター５が対応するコマンド体系に従ったデータを生成し、出力する機能を有する。
【００３１】
複数のラベル部Ｓに画像を連続して印刷する場合、ホストコンピューター１のホスト制御部４５のアプリケーション実行部４５ａは、以下の処理を実行する。アプリケーション実行部４５ａは、第１画像ＧＱ１の画像データ（以下、「第１画像データＤ１」と表現する。）、第２画像ＧＱ２の画像データ（以下、「第２画像データＤ２」と表現する。）、及び、第３画像ＧＱ３の画像データ「以下、「第３画像データＤ３」と表現する。」を生成する。
本実施形態では、画像データは、ドットマトリクス状に配置されるドットについて、ドットごとに、色に関する情報を保持するデータである。色に関する情報とは、例えば、赤（Ｒ）、青（Ｂ）、及び、緑（Ｇ）のそれぞれの色成分を２５６階調の階調値として有する情報である。
次いで、アプリケーション実行部４５ａは、第１画像データＤ１、第２画像データＤ２、及び、第３画像データＤ３を、順次、プリンタードライバー実行部４５ｂに出力する。１の画像データの出力に係る処理と、他の画像データの生成に係る処理は並行して行われてもよい。
【００３２】
プリンタードライバー実行部４５ｂは、入力された第１画像データＤ１に基づいて、第１画像ＧＱ１の印刷を指示する制御データ（以下、「第１制御データＣ１」と表現する。）を生成し、インターフェース４９を制御して、インクジェットプリンター５に送信する。同様にして、プリンタードライバー実行部４５ｂは、入力された第２画像データＤ２に基づく制御データ（以下、「第２制御データＣ２」と表現する。）、及び、第３画像データＤ３に基づく制御データ（以下、「第３制御データＣ３」と表現する。）を、順次、インクジェットプリンター５に送信する。制御データの内容は後に詳述する。
インクジェットプリンター５がインターフェース４１を介して受信する制御データは、図示しない受信バッファーに、順次、格納される。
インクジェットプリンター５のプリンター制御部２７は、受信バッファーに格納された各制御データを、順次、読み出す。
プリンター制御部２７は、制御データの読み出しに応じて、ラベル用紙１４の搬送正方向ＹＪ１への搬送を開始する。プリンター制御部２７は、複数のラベル部Ｓへの画像の連続印刷の実行中、ラベル用紙１４を所定の速度で搬送正方向ＹＪ１へ搬送した状態を維持する。上述したように、ラベル用紙１４の搬送中、プリンター制御部２７は、ブラックマークセンサー４２の検出値に基づいて、ラベル用紙１４の位置を管理する。
プリンター制御部２７は、第１制御データＣ１に基づいて、図示しない画像バッファーに第１画像ＧＱ１の画像データを展開する。当該処理については後に詳述する。プリンター制御部２７は、画像バッファーに展開した画像データに基づいて、適切なタイミングで適切な態様でラインインクジェットヘッド１２を制御して、第１ラベル部Ｓ１に第１画像ＧＱ１を印刷する。同様に、プリンター制御部２７は、第２制御データＣ２に基づいて、図示しない画像バッファーに第２画像ＧＱ２の画像データを展開し、展開した画像データに基づいて、第２ラベル部Ｓ２に第２画像ＧＱ２を印刷する。また、プリンター制御部２７は、第３制御データＣ３に基づいて、図示しない画像バッファーに第３画像ＧＱ３の画像データを展開し、展開した画像データに基づいて、第３ラベル部Ｓ３に第３画像ＧＱ３を印刷する。
【００３３】
図４は、本実施形態に係る印刷システム８によってラベル用紙１４のラベル部Ｓに印刷される画像の一例を示す図である。図４の例では、ラベル部Ｓは、画像の印刷後、剥離紙から取り剥がされ、ラベルとして所定の製品や、製品の包装に貼付される。
図４に示すように、ラベル部Ｓのそれぞれには、ラベル画像Ｇ１が印刷される。各ラベル画像Ｇ１は、ラベル画像Ｇ１ごとに態様を異ならせることが可能な可変画像Ｇ２と、ラベル画像Ｇ１ごとに態様が同じ固定画像Ｇ３とを含んで構成される。
図４の例では、固定画像Ｇ３は、ラベル部Ｓの外縁に沿って形成された赤色の枠状の画像である。固定画像Ｇ３において、ラベル部Ｓの外縁の上辺に対応する部位には、「ＡＡＡＣｏｍｐａｎｙ」という製品を製造するメーカーの名称が記されている。図４に例示するように、各ラベル部Ｓに印刷される固定画像Ｇ３の態様は、同一である。
可変画像Ｇ２は、枠状の固定画像Ｇ３に囲まれた領域に印刷される画像である。可変画像Ｇ２は、製品の機種名を示す文字列（図４の例では、「ＸＸ−ＹＹＹＹ」。）と、製品ごとに一意に割り振られたコードを示すバーコードと、製品ごとに一意に付与されるシリアル番号を示す文字列と、を含んで構成される。
【００３４】
ここで、ラベル画像Ｇ１は、固定画像Ｇ３を有するため、連続して印刷される複数のラベル画像Ｇ１のうち、１のラベル画像Ｇ１と、他のラベル画像Ｇ１とは、所定の領域で画像が共通する、という特徴がある。
本実施形態に係るホストコンピューター１は、上記特徴に基づいて、インクジェットプリンター５に、複数のラベル部Ｓに画像を連続して印刷させる場合に、インクジェットプリンター５に送信するデータのデータ量を低減する。送信するデータのデータ量を低減することによって、通信効率の向上等を図ることが可能である。
以下、ラベル用紙１４の複数のラベル部Ｓに画像を連続して印刷するときのホストコンピューター１、及び、インクジェットプリンター５の動作について詳細に説明する。
【００３５】
図５（Ａ）はホストコンピューター１の動作を示すフローチャートであり、（Ｂ）はインクジェットプリンター５の動作を示すフローチャートである。
以下では、ラベル用紙１４の搬送については詳述しないが、プリンター制御部２７は、ラベル部Ｓへの画像の印刷に対応したラベル用紙１４の搬送、搬送時のラベル用紙１４の位置の管理、ラベル用紙１４の搬送量の調整、位置の調整を実行する。
アプリケーション実行部４５ａは、連続印刷を実行するのに必要な情報（例えば、各ラベル部Ｓに印刷する画像の画像データの保存場所を示す情報）の入力や、画像の印刷の開始を指示可能なユーザーインターフェースをユーザーに提供する。ユーザーは、当該ユーザーインターフェースに対して、必要な情報を入力し、画像の印刷の開始を指示する（ステップＳＸ１）。
アプリケーション実行部４５ａは、ユーザーによる画像の印刷の開始の指示に応じて、以下の処理を実行する。アプリケーション実行部４５ａは、複数のラベル部Ｓに連続して印刷する画像のそれぞれの画像データを生成する（ステップＳＡ１）。
以下、ステップＳＡ１でアプリケーション実行部４５ａが生成した画像データを「印刷画像データ」という。つまり、印刷画像データは、ラベル部Ｓに印刷する画像の画像データである。
次いで、アプリケーション実行部４５ａは、生成した印刷画像データを、順次、プリンタードライバー実行部４５ｂに出力する（ステップＳＡ２）。
【００３６】
次いで、プリンタードライバー実行部４５ｂは、アプリケーション実行部４５ａから入力された印刷画像データのうち、１の印刷画像データを取得する（ステップＳＡ３）。ステップＳＡ３で、プリンタードライバー実行部４５ｂは、アプリケーション実行部４５ａから入力された複数の印刷画像データについて、入力された順番で（＝印刷させる順番で）、１つずつ、印刷画像データを取得する。以下、ステップＳＡ２でプリンタードライバー実行部４５ｂが取得した１の印刷画像データを「処理対象画像データＧＤ１」と表現する。
次いで、プリンタードライバー実行部４５ｂは、所定の記憶領域（記憶部）に、１つ以上の比較画像データハッシュ値情報Ｊ１（後述）が記憶されているか否かを判別する（ステップＳＡ４）。後に明らかになるとおり、プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１に基づく処理の実行に応じて、処理対象画像データＧＤ１に基づいて生成される比較画像データハッシュ値情報Ｊ１を所定の記憶領域に記憶する。従って、処理対象画像データＧＤ１が、アプリケーション実行部４５ａから入力された複数の印刷画像データのうちの１つ目の印刷画像データである場合、所定の記憶領域に比較画像データハッシュ値情報Ｊ１が記憶されていない状態である。この場合、ステップＳＡ４で、プリンタードライバー実行部４５ｂは、所定の記憶領域に比較画像データハッシュ値情報Ｊ１が１つも記憶されていないと判別する（ステップＳＡ４：ＮＯ）。一方、処理対象画像データＧＤ１が、アプリケーション実行部４５ａから入力された複数の印刷画像データのうちの２つ目以降の印刷画像データである場合、所定の記憶領域に比較画像データハッシュ値情報Ｊ１が記憶された状態である。この場合、ステップＳＡ４で、プリンタードライバー実行部４５ｂは、所定の記憶領域に１つ以上の比較画像データハッシュ値情報Ｊ１が記憶されていると判別する（ステップＳＡ４：ＹＥＳ）。
【００３７】
ステップＳＡ４で、所定の記憶領域に比較画像データハッシュ値情報Ｊ１が１つも記憶されていないと判別した場合（ステップＳＡ４：ＮＯ）、プリンタードライバー実行部４５ｂは、以下の処理を実行する。
プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１を一意に識別する識別情報である画像データ識別情報ＤＣを生成する（ステップＳＡ５）。
次いで、プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１を、所定の圧縮形式で、圧縮する（ステップＳＡ６）。
次いで、プリンタードライバー実行部４５ｂは、以下の処理を実行する（ステップＳＡ７）。プリンタードライバー実行部４５ｂは、ステップＳＡ５で生成した画像データ識別情報ＤＣ、及び、ステップＳＡ６で圧縮した処理対象画像データＧＤ１を含み、処理対象画像データＧＤ１に基づく印刷を指示する制御データを生成する。
次いで、プリンタードライバー実行部４５ｂは、インターフェース４９を制御して、生成した制御データを、インクジェットプリンター５に送信する（ステップＳＡ８）。
以下、ステップＳＡ８で送信した制御データに含まれる画像データ識別情報ＤＣを、「印刷画像データ識別情報ＤＣ１」と表現し、後に説明する「選択画像データ識別情報ＤＣ２」と区別する。
【００３８】
次いで、プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１の各ブロックのハッシュ値（算出値）を算出する（ステップＳＡ９）。
以下、ブロック、及び、ハッシュ値を説明する。
図６は、処理対象画像データＧＤ１（印刷画像データ）上に、処理対象画像データＧＤ１に形成されるブロックを模式的に示す図である。
本例では、処理対象画像データＧＤ１は、縦２４００ドット×横１４０００ドットのデータであり、ドットごとに赤（Ｒ）、緑（Ｇ）、及び、青（Ｂ）の色成分を２５６階調の階調値として保持する。
ブロックは、図６に示すように、処理対象画像データＧＤ１を格子状に区分して形成される領域である。詳述すると、図６に示すように、ブロックは、処理対象画像データＧＤ１の図中左上の頂点Ｏを基点として、処理対象画像データＧＤ１を縦６４ドット、横６４ドットで格子状に区分することによって形成された領域である。このため、ブロックの基本的なサイズは、縦６４ドット×横６４ドットである。ただし、処理対象画像データＧＤ１の縦の長さは２４００ドットであるが、「２４００」が「６４」で割り切れないため、処理対象画像データＧＤ１の下辺に接する各ブロックの縦の長さは３２ドットである。また、処理対象画像データの横の長さは１４０００ドットであるが、「１４０００」が「６４」で割り切れないため、処理対象画像データの右辺に接する各ブロックの横の長さは４８ドットである。
ステップＳＡ９で、プリンタードライバー実行部４５ｂは、所定のハッシュ関数（所定の計算式）で、処理対象画像データＧＤ１の各ブロックのハッシュ値（算出値）を求める。
なお、各ブロックには、処理対象画像データＧＤ１における位置を示す位置情報が割り振られており、当該位置情報により、各ブロックの画像データにおける位置を特定できる。
本実施形態では、位置情報は、処理対象画像データＧＤ１を、頂点Ｏを原点とする直交座標系に展開した場合の、ブロックの画像データの基点（本例では、図６中左上の頂点）の座標を示す情報である。
【００３９】
以下、１のブロックのハッシュ値の算出方法の一例を示す。
１のブロックは、ドットを、ｎ個有する。例えば、縦６４ドット×横６４ドットのブロックについては、ｎ＝４０９６（６４×６４）である。
プリンタードライバー実行部４５ｂは、ｎ個の各ドットのドット値を以下の式によって算出する。「（式）ドット値＝（赤（Ｒ）の色成分の階調値）＋（（緑（Ｇ）の色成分の階調値）×２５６」）＋（（青（Ｂ）の色成分の階調値）×６５５３６）」。
以下、ｎ個のドットのそれぞれのドット値をｐ［ｉ］（０≦ｉ≦ｎ−１）とする。
次いで、プリンタードライバー実行部４５ｂは、変数ｈ［ｉ］（０≦ｉ≦ｎ−１）を定義し、以下の計算式により、ｈ［ｎ−１］を求める。
まず、プリンタードライバー実行部４５ｂは、ｈ［０］に、ｐ［０］の値を代入する。
次いで、プリンタードライバー実行部４５ｂは、「ｈ［ｉ］←３×ｈ［ｉ−１］＋ｐ［ｉ］」として、「ｉ＝１」から「ｉ＝ｎ−１」となるまで、順次、「ｉ」の値をインクリメントし、ｈ［ｎ−１］の値を求める。
プリンタードライバー実行部４５ｂは、ｈ［ｎ−１］の値を、ハッシュ値とする。なお、ｈ［ｎ−１］に格納可能な値の範囲を考慮して、ｈ［ｎ−１］の値が、値Ｔ１を上回る場合は、ｈ［ｎ−１］を値Ｔ２（値Ｔ１と同一の値であってもよい）で割ったときの余りをハッシュ値とする等してもよい。
なお、例示したハッシュ値の算出方法は一例であり、他の方法でハッシュ値を求めてもよい。
【００４０】
ステップＳＡ９で、処理対象画像データＧＤ１の各ブロックのハッシュ値を算出した後、プリンタードライバー実行部４５ｂは、比較画像データハッシュ値情報Ｊ１を生成する（ステップＳＡ１０）。比較画像データハッシュ値情報Ｊ１は、ステップＳＡ５で生成した処理対象画像データＧＤ１の画像データ識別情報ＤＣと、処理対象画像データＧＤ１と、ステップＳＡ９で算出した処理対象画像データＧＤ１の各ブロックのハッシュ値とを対応付けた情報である。
以下、比較画像データハッシュ値情報Ｊ１に含まれる処理対象画像データＧＤ１のことを、「比較画像データＧＤ２」と表現する。後に明らかとなるとおり、比較画像データＧＤ２は、アプリケーション実行部４５ａが出力した印刷画像データのうち、過去に処理対象画像データＧＤ１となった印刷画像データを意味する。
比較画像データハッシュ値情報Ｊ１は、比較画像データＧＤ２の画像データ識別情報ＤＣと、比較画像データＧＤ２と、比較画像データＧＤ２の各ブロックのハッシュ値とを含む情報である。
次いで、プリンタードライバー実行部４５ｂは、ステップＳＡ１０で生成した比較画像データハッシュ値情報Ｊ１を所定の記憶領域（記憶部）に記憶する（ステップＳＡ１１）。所定の記憶領域（記憶部）は、ホスト記憶部４８に形成された記憶領域であってもよく、ＲＡＭのワークエリア等のホスト記憶部４８以外の記憶媒体に形成された記憶領域であってもよい。次いで、プリンタードライバー実行部４５ｂは、処理手順をステップＳＡ３に戻す。
【００４１】
図５（Ｂ）に示すように、インクジェットプリンター５のプリンター制御部２７は、ホストコンピューター１から制御データを受信したか否かを監視する（ステップＳＢ１）。
受信した場合（ステップＳＢ１）、プリンター制御部２７は、受信バッファーに格納された１の制御データを読み出す（ステップＳＢ２）。ステップＳＢ２で、プリンター制御部２７は、受信バッファーに格納された制御データを、順番に、読み出す。
次いで、プリンター制御部２７は、制御データに、選択画像データ識別情報ＤＣ２（後述）が含まれているか否かを判別する（ステップＳＢ３）。
上述したように、ステップＳＡ８でホストコンピューター１が送信する制御データ（１つ目の印刷画像データに基づく制御データ）には、選択画像データ識別情報ＤＣ２は含まれない。一方、後述するように、ステップＳＡ１９でホストコンピューター１が送信する制御データ（２つ目以降の印刷画像データに基づく制御データ）には、選択画像データ識別情報ＤＣ２が含まれる。
【００４２】
制御データに選択画像データ識別情報ＤＣ２が含まれていない場合（ステップＳＢ３：ＮＯ）、プリンター制御部２７は、制御データに含まれる圧縮された処理対象画像データＧＤ１を、所定の圧縮形式に対応する解凍方式で解凍する（ステップＳＢ４）。
次いで、プリンター制御部２７は、解凍した処理対象画像データＧＤ１を、画像バッファーに展開する（ステップＳＢ５）。
次いで、プリンター制御部２７は、画像バッファーに展開した画像データに基づいて、適切なタイミングで、適切な態様でラインインクジェットヘッド１２を制御し、対応するラベル部Ｓに画像を印刷する（ステップＳＢ６）。
次いで、プリンター制御部２７は、制御データに含まれる印刷画像データ識別情報ＤＣ１（画像データ識別情報ＤＣ）を取得する（ステップＳＢ７）。
次いで、プリンター制御部２７は、後述する記憶画像データテーブルＴＢ１においてステップＳＢ７で取得した印刷画像データ識別情報ＤＣ１と、画像バッファーに展開した画像データとを対応付けて記憶する（ステップＳＢ８）。以下、記憶した画像データを、記憶画像データＧＤ３と表現する。記憶画像データＧＤ３は、「比較画像データ」に該当する。
次いで、プリンター制御部２７は、処理手順をステップＳＢ２に戻し、受信バッファーから次の制御データを読み出す。
【００４３】
図５（Ａ）に示すように、ステップＳＡ４で、所定の記憶領域（記憶部）に、比較画像データハッシュ値情報Ｊ１が記憶されていると判別した場合（ステップＳＡ４：ＹＥＳ）、プリンタードライバー実行部４５ｂは、以下の処理を実行する。なお、所定の記憶領域に、比較画像データハッシュ値情報Ｊ１が記憶されている場合とは、ステップＳＡ３で取得する処理対象画像データが、アプリケーション実行部４５ａが出力する印刷画像データのうち、２つ目以降の印刷画像データである場合である。
プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１の各ブロックのハッシュ値を算出する（ステップＳＡ１２）。
次いで、プリンタードライバー実行部４５ｂは、ハッシュ値比較処理を実行する（ステップＳＡ１３）。
以下、ハッシュ値比較処理について詳述する。
【００４４】
図７は、ステップＳＡ１３のハッシュ値比較処理の説明に用いる図である。
ハッシュ値比較処理は、所定の記憶領域に記憶された１又は複数の比較画像データハッシュ値情報Ｊ１に含まれる比較画像データＧＤ２の各ブロックのハッシュ値と、処理対象画像データＧＤ１の各ブロックのハッシュ値とを比較し、ハッシュ値の異なるブロックの少ない比較画像データＧＤ２を含む比較画像データハッシュ値情報Ｊ１を選択する処理である。
また、ステップＳＡ１３の時点では、所定の記憶領域に、１又は複数の比較画像データハッシュ値情報Ｊ１が記憶されている。図７（Ａ）では、所定の記憶領域に、複数の比較画像データハッシュ値情報Ｊ１が記憶された状態を示す。
【００４５】
ハッシュ値比較処理について詳述すると、プリンタードライバー実行部４５ｂは、１又は複数の比較画像データハッシュ値情報Ｊ１のそれぞれについて、以下の処理を実行する。
すなわち、プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１の各ブロックのハッシュ値と、１の比較画像データハッシュ値情報Ｊ１に含まれる比較画像データＧＤ２の各ブロックのハッシュ値とを比較し、ハッシュ値が異なるブロックの数を計測する。
各ブロックのハッシュ値の比較は、処理対象画像データＧＤ１のそれぞれのブロックについて、各ブロックのハッシュ値と、比較画像データＧＤ２の対応する位置に配置されたブロックのハッシュ値と比較することによって行われる。図７（Ｂ）は、左側に比較画像データＧＤ２のブロックを示し、右側に処理対象画像データＧＤ１のブロックを示す。例えば、比較画像データＧＤ２のブロックのうち、位置Ｘ１に対応する位置に配置されたブロックＰ１と、処理対象画像データＧＤ１のブロックのうち、位置Ｘ１に対応する位置に配置されたブロックＱ１とが、対応するブロックである。従って、プリンタードライバー実行部４５ｂは、ブロックＰ１のハッシュ値と、ブロックＱ１のハッシュ値とを比較する。プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１が有する全てのブロックについて、対応するブロックのハッシュ値と、ハッシュ値が一致するか異なるかを判別し、ハッシュ値が異なるブロックの数を計測する。プリンタードライバー実行部４５ｂは、以上のようなハッシュ値が異なるブロックの数の計測を、記憶する全ての比較画像データＧＤ２との比較に基づいて実行する。次いで、プリンタードライバー実行部４５ｂは、１又は複数の比較画像データハッシュ値情報Ｊ１のうち、ハッシュ値が異なるブロックの数が最も少ない比較画像データＧＤ２に係る比較画像データハッシュ値情報Ｊ１を選択する。
【００４６】
ここで、比較画像データＧＤ２のうち、処理対象画像データＧＤ１の各ブロックとハッシュ値が異なるブロックの数が最も少ない比較画像データＧＤ２は、処理対象画像データＧＤ１と近似する画像データである。
ここで、複数の比較画像データＧＤ２から、処理対象画像データＧＤ１に近似するものを選択する処理として、以下の処理を実行することも可能である。すなわち、比較画像データＧＤ２と、処理対象画像データＧＤ１との対応するドットを比較して一致／不一致を判別し、不一致のドットが最も少ない比較画像データＧＤ２を選択することも可能である。一方、本実施形態に係るハッシュ値比較処理では、プリンタードライバー実行部４５ｂは、予め比較画像データＧＤ２（過去にインクジェットプリンター５に印刷させた画像の画像データ）の各ブロックのハッシュ値を算出して記憶する。プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１の各ブロックのハッシュ値を算出し、処理対象画像データＧＤ１の各ブロックのハッシュ値と、記憶した比較画像データＧＤ２の各ブロックのハッシュ値との比較に基づいて、近似する比較画像データＧＤ２を選択する。このため、処理対象画像データＧＤ１と近似する比較画像データＧＤ２を選択する処理について、処理負荷が小さく、また、選択までに要する時間が短い。
【００４７】
図５（Ａ）に示すように、ステップＳＡ１３でハッシュ値比較処理を実行した後、プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１を一意に識別する識別情報である画像データ識別情報ＤＣを生成する（ステップＳＡ１４）。
次いで、プリンタードライバー実行部４５ｂは、ステップＳＡ１３のハッシュ値比較処理で選択した比較画像データハッシュ値情報Ｊ１に含まれる画像データ識別情報ＤＣ（比較画像データＧＤ２の識別情報）を取得する（ステップＳＡ１５）。
次いで、プリンタードライバー実行部４５ｂは、画像データ比較処理を実行する（ステップＳＡ１６）。
以下、ステップＳＡ１６の画像データ比較処理について詳述する。
【００４８】
画像データ比較処理は、処理対象画像データＧＤ１のブロックのうち、ステップＳＡ１３のハッシュ値比較処理で選択した比較画像データハッシュ値情報Ｊ１に含まれる比較画像データＧＤ２のブロックとハッシュ値が一致すると判別されたものについて、各ブロックに属する画像データ（以下、「ブロック画像データ」という。）の各ドットを比較する。そして、ハッシュ値が一致する一方、ブロック画像データが異なるブロックを特定する処理である。
例えば、図７（Ｂ）を参照し、ハッシュ値比較処理において、比較画像データＧＤ２の位置Ｘ１に配置されたブロックＰ１のハッシュ値と、処理対象画像データＧＤ１の位置Ｘ１に配置されたブロックＱ１のハッシュ値とが一致すると判別されたとする。この場合、画像データ比較処理において、プリンタードライバー実行部４５ｂは、ブロックＰ１に属する画像データ（ブロック画像データ）と、ブロックＱ１に属する画像データ（ブロック画像データ）との各ドットを比較し、一致／不一致を判別する。プリンタードライバー実行部４５ｂは、当該判別を、ハッシュ値が一致すると判別したブロックのそれぞれについて実行し、ハッシュ値が一致する一方、ブロック画像データが異なるブロックを特定する。
画像データ比較処理は、以下を目的とする処理である。すなわち、処理対象画像データＧＤ１と比較画像データＧＤ２の対応するブロックについて、対応するブロック画像データが異なる場合であっても、ハッシュ値が一致する可能性がある。そして、画像データ比較処理は、処理対象画像データＧＤ１のブロックのうち、対応するブロックとハッシュ値が一致する一方、対応するブロックのブロック画像データが異なるブロックを特定することを目的とする。
【００４９】
次いで、プリンタードライバー実行部４５ｂは、ブロック圧縮処理を実行する（ステップＳＡ１７）。
以下、ブロック圧縮処理について説明する。
なお、ブロック圧縮処理では、画像データを所定の圧縮方式で圧縮する。この所定の圧縮方式は、矩形の画像データについて圧縮可能であり、また、圧縮対象の画像データのサイズが大きければ大きいほど、圧縮の効率がよい。
図８は、ブロック圧縮処理の詳細を示すフローチャートである。
図９は、ブロック圧縮処理の説明に利用する図である。図９（Ａ）は、処理対象画像データＧＤ１のデータ上にブロックを示す図である。図９（Ａ）に示す処理対象画像データＧＤ１は、説明の明確化のため、縦に４個、横に６個、合計２４個のブロックＲ１〜ブロックＲ２４を有する。
図８に示すように、プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１のブロックのうち、ステップＳＡ１３のハッシュ値比較処理において比較画像データＧＤ２の対応するブロックとハッシュ値が異なると判別したブロックを特定する（ステップＳＣ１）。次いで、プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１のブロックのうち、ステップＳＡ１６の画像データ比較処理において比較画像データＧＤ２の対応するブロックとハッシュ値が一致する一方、ブロック画像データが異なると判別したブロックを特定する（ステップＳＣ２）。
図９（Ａ）では、ステップＳＣ１、及び、ステップＳＣ２で特定したブロックを、斜線で表す。すなわち、ブロックＲ１、Ｒ５、Ｒ７、Ｒ８、Ｒ１２、Ｒ１４、Ｒ１６、Ｒ１７、及び、Ｒ２０が、ステップＳＣ１、及び、ステップＳＣ２で特定されたブロックである。
次いで、プリンタードライバー実行部４５ｂは、ステップＳＣ１、及び、ステップＳＣ２で特定したブロックのうち、隣接するブロックが存在しないブロックを特定する（ステップＳＣ３）。１のブロックに他のブロックが隣接するとは、１のブロックの上辺、下辺、左辺、又は、右辺に接する他のブロックが存在することをいう。図８（Ａ）で、ブロックＲ１６は、ブロックＲ１７と隣接する。一方、ブロックＲ５と、ブロックＲ１２とは隣接しない。なお、隣接するブロックが存在しないブロックが無い場合は、ステップＳＣ３でブロックが特定されず、ステップＳＣ４の処理は実行されない。
図９（Ａ）の例では、ステップＳＣ３で、プリンタードライバー実行部４５ｂは、ブロックＲ５、及び、ブロックＲ１２を特定する。
【００５０】
次いで、プリンタードライバー実行部４５ｂは、ステップＳＣ３で特定したブロックのブロック画像データについて、所定の圧縮方式で圧縮し、圧縮したブロック画像データを、ブロックの位置を示す位置情報と対応付けて記憶領域に記憶する（ステップＳＣ４）。
９（Ａ）の例では、ステップＳＣ４で、プリンタードライバー実行部４５ｂは、ブロックＲ５のブロック画像データを圧縮し、位置Ｙ５を示す位置情報と対応付けて記憶する。また、プリンタードライバー実行部４５ｂは、ブロックＲ１２のブロック画像データを圧縮し、位置Ｙ１２を示す位置情報と対応付けて記憶する。
【００５１】
次いで、プリンタードライバー実行部４５ｂは、ステップＳＣ１、ＳＣ２で特定したブロックの内、隣接するブロックを含んで構成されるブロック群を特定する（ステップＳＣ５）。
図９（Ａ）の例では、プリンタードライバー実行部４５ｂは、ブロックＲ１、Ｒ７、Ｒ８、Ｒ１４、及び、Ｒ２０を含むブロック群ＢＧ１（図９（Ｂ）も併せて参照）、及び、ブロックＲ１６、及び、ブロックＲ１７を含むブロック群ＢＧ２（図９（Ｂ）も併せて参照）を特定する。なお、ブロック群が無い場合は、ステップＳＣ５でブロック群が特定されず、ステップＳＣ６〜ステップＳＣ１０の処理は行われない。
次いで、プリンタードライバー実行部４５ｂは、ステップＳＣ５で特定したブロック群のうち、矩形のブロック群を特定する（ステップＳＣ６）。
図９（Ａ）の例では、プリンタードライバー実行部４５ｂは、ブロック群ＢＧ２を矩形のブロック群として特定する。なお、矩形のブロック群が無い場合は、ステップＳＣ６で矩形のブロック群が特定されず、ステップＳＣ７の処理は行われない。
【００５２】
次いで、プリンタードライバー実行部４５ｂは、ステップＳＣ６で特定した矩形のブロック群に属する画像データを、１つの画像データとして、所定の圧縮方式で圧縮する。プリンタードライバー実行部４５ｂは、圧縮したブロック群に係る画像データを、ブロック群の位置を示す位置情報と対応付けて記憶領域に記憶する（ステップＳＣ７）。
図９（Ａ）の例では、プリンタードライバー実行部４５ｂは、ブロック群ＢＧ２に属する画像データを、１つの画像データとして、所定の圧縮方式で圧縮する。プリンタードライバー実行部４５ｂは、圧縮したブロック群ＢＧ２に係る画像データを、位置Ｙ１６を示す位置情報と対応づけて記憶する。
次いで、プリンタードライバー実行部４５ｂは、ステップＳＣ５で特定したブロック群のうち、矩形でないブロック群を特定する（ステップＳＣ８）。
図９（Ａ）の例では、プリンタードライバー実行部４５ｂは、ブロック群ＢＧ１を矩形でないブロック群として特定する。なお、矩形でないブロック群が無い場合は、ステップＳＣ８で矩形のブロック群が特定されず、ステップＳＣ９、ステップＳＣ１０の処理は行われない。
次いで、プリンタードライバー実行部４５ｂは、ステップＳＣ８で特定した矩形でないブロック群を、矩形のブロック群、又は、ブロックに分割する（ステップＳＣ９）。以下、分割された矩形のブロック群、及び、ブロックを総称して「分割ブロック」という。分割に際し、プリンタードライバー実行部４５ｂは、所定の圧縮方式に対応して、所定の圧縮方式で分割後の画像データを圧縮したときに、圧縮の効率が高くなるような態様で、矩形でないブロック群を分割する。例えば、分割後にできるだけサイズの大きいブロック群が存在した方が画像データの圧縮の効率が高い場合は、そのような態様で分割を実行する。また、分割ブロックの数が少ない方が画像データの圧縮の効率が高い場合は、そのような態様で分割を実行する。
図９（Ａ）の例では、プリンタードライバー実行部４５ｂは、ブロック群ＢＧ１を、ブロックＲ１及びＲ７を含むブロック群ＢＧ１１（図９（Ｃ）参照）、及び、ブロックＲ８、Ｒ１４、及び、Ｒ２０を含むブロック群ＢＧ１２（図９（Ｃ）参照）に分割する。
【００５３】
次いで、プリンタードライバー実行部４５ｂは、分割ブロックのそれぞれについて、分割ブロックに属する画像データを、所定の圧縮方式で圧縮する。分割ブロックが複数のブロックを含む場合は、複数のブロックの画像データを、１つの画像データとして、所定の圧縮方式で圧縮する。プリンタードライバー実行部４５ｂは、圧縮した分割ブロックの画像データのそれぞれを、分割ブロックの位置を示す位置情報と対応付けて記憶領域に記憶する（ステップＳＣ１０）。
図９（Ａ）の例では、プリンタードライバー実行部４５ｂは、ブロック群ＢＧ１１に属する画像データを、１つの画像データとして、所定の圧縮方式で圧縮する。プリンタードライバー実行部４５ｂは、圧縮したブロック群ＢＧ１１に係る画像データを、位置Ｙ１を示す位置情報と対応付けて記憶する。また、プリンタードライバー実行部４５ｂは、ブロック群ＢＧ１２に属する画像データを、１つの画像データとして、所定の圧縮方式で圧縮する。プリンタードライバー実行部４５ｂは、圧縮したブロック群ＢＧ１２に係る画像データを、位置Ｙ８を示す位置情報と対応付けて記憶領域に記憶する。
以上のようにして、ブロックに係る画像データを圧縮するため、高い効率での圧縮が可能となる。
【００５４】
図５（Ａ）に示すように、ステップＳＡ１７でブロック圧縮処理を実行した後、プリンタードライバー実行部４５ｂは、制御データを生成する（ステップＳＡ１８）。
ステップＳＡ１８で生成される制御データは、ステップＳＡ１４で生成した画像データ識別情報ＤＣ（処理対象画像データＧＤ１の識別情報）を含む。制御データに含まれる処理対象画像データＧＤ１の識別情報を示す画像データ識別情報ＤＣは、「印刷画像データ識別情報ＤＣ１」である。
また、ステップＳＡ１８で生成される制御データは、ステップＳＡ１３のハッシュ値比較処理で選択した比較画像データハッシュ値情報Ｊ１に含まれる画像データ識別情報ＤＣ（比較画像データＧＤ２の識別情報）を含む。以下、制御データに含まれる比較画像データＧＤ２の識別情報を示す画像データ識別情報ＤＣを、「選択画像データ識別情報ＤＣ２」と表現し、印刷画像データ識別情報ＤＣ１と区別する。
また、ステップＳＡ１８で生成される制御データは、ステップＳＡ１７のブロック圧縮処理で圧縮されたブロックの画像データ、又は、ブロック群の画像データと、各画像データの位置を示す位置情報との組合せを含む。
図９（Ａ）の例では、プリンタードライバー実行部４５ｂは、圧縮したブロックＲ５の画像データと位置Ｙ５を示す位置情報との組合せ、圧縮したブロックＲ１２の画像データと位置Ｙ１２を示す位置情報との組合せ、圧縮したブロック群ＢＧ２の画像データと位置Ｙ１６を示す位置情報との組合せ、圧縮したブロック群ＢＧ１１の画像データと位置Ｙ１を示す位置情報との組合せ、及び、圧縮したブロック群ＢＧ１２の画像データと位置Ｙ８を示す位置情報との組合せを、制御データに含める。
次いで、プリンタードライバー実行部４５ｂは、インターフェース４９を制御して、制御データを送信する（ステップＳＡ１９）。
このように、本実施形態では、制御データに、処理対象画像データＧＤ１の全てが含まれるのではなく、比較画像データＧＤ２とハッシュ値が相違し、また、ハッシュ値が一致してブロック画像データが相違するブロックの画像データが含まれる。このため、制御データのデータ量を低減することができる。
【００５５】
次いで、プリンタードライバー実行部４５ｂは、アプリケーション実行部４５ａが出力した全ての印刷画像データに基づく制御データの送信が完了したか否かを判別する（ステップＳＡ２０）。完了した場合（ステップＳＡ２０：ＹＥＳ）、プリンタードライバー実行部４５ｂは、処理を終了する。完了していない場合（ステップＳＡ２０：ＮＯ）、プリンタードライバー実行部４５ｂは、処理対象画像データＧＤ１に基づく比較画像データハッシュ値情報Ｊ１を生成し、所定の記憶領域（記憶部）に記憶する（ステップＳＡ２１）。
ステップＳＡ２１で生成され、記憶される比較画像データハッシュ値情報Ｊ１は、ステップＳＡ１４で生成した処理対象画像データＧＤ１の画像データ識別情報ＤＣと、比較画像データＧＤ２としての処理対象画像データＧＤ１と、ステップＳＡ１２で算出した比較画像としての処理対象画像データＧＤ１の各ブロックのハッシュ値とを対応付けた情報である。
次いで、プリンタードライバー実行部４５ｂは、処理手順をステップＳＡ３に戻す。
【００５６】
図５（Ｂ）に示すように、インクジェットプリンター５のプリンター制御部２７は、ホストコンピューター１から制御データを受信したか否かを監視する（ステップＳＢ１）。
受信した場合（ステップＳＢ１）、プリンター制御部２７は、受信バッファーに格納された１の制御データを読み出す（ステップＳＢ２）。
次いで、プリンター制御部２７は、制御データに、選択画像データ識別情報ＤＣ２（後述）が含まれているか否かを判別する（ステップＳＢ３）。
上述したように、ステップＳＡ１９でホストコンピューター１が送信する制御データ（２つ目以降の印刷画像データに基づく制御データ）には、選択画像データ識別情報ＤＣ２が含まれる。
【００５７】
制御データに選択画像データ識別情報ＤＣ２が含まれている場合（ステップＳＢ３：ＹＥＳ）、プリンター制御部２７は、プリンター記憶部５０が記憶する記憶画像データテーブルＴＢ１を参照する（ステップＳＢ９）。記憶画像データテーブルＴＢ１は、後述する記憶画像データＧＤ３（比較画像データ）と、記憶画像データＧＤ３の画像データ識別情報ＤＣと、を対応付けて記憶するテーブルである。記憶画像データテーブルＴＢ１の各レコードの生成方法については、後述する。本実施形態では、記憶画像データＧＤ３は、装置記憶部としてのプリンター記憶部５０に記憶されるが、他の記憶媒体に記憶される構成であってもよい。この場合、他の記憶媒体が装置記憶部に該当する。
次いで、プリンター制御部２７は、制御データに含まれる選択画像データ識別情報ＤＣ２を取得する（ステップＳＢ１０）。
次いで、プリンター制御部２７は、ステップＳＢ１０で取得した選択画像データ識別情報ＤＣ２をキーとして、プリンター記憶部５０が記憶する記憶画像データテーブルＴＢ１で、当該識別情報と対応付けられた記憶画像データＧＤ３を取得する（ステップＳＢ１１）。
後に明らかとなるとおり、ステップＳＢ１１で取得した記憶画像データＧＤ３は、ホストコンピューター１が、ステップＳＡ１３のハッシュ値比較処理で、選択した比較画像データハッシュ値情報Ｊ１に含まれる比較画像データＧＤ２と同一の画像データである。
次いで、プリンター制御部２７は、ステップＳＢ１１で取得した記憶画像データＧＤ３を、画像バッファーに展開する（ステップＳＢ１２）。
次いで、プリンター制御部２７は、制御データに含まれる圧縮された画像データのそれぞれを解凍する（ステップＳＢ１３）。
次いで、プリンター制御部２７は、画像バッファーに展開された記憶画像データＧＤ３に対して、解凍後の画像データのそれぞれを、各画像データに対応する位置情報が示す位置に重畳する（ステップＳＢ１４）。
以下、ステップＳＢ１４の処理を詳述する。
【００５８】
図１０は、ステップＳＢ１４の処理の説明に用いる図である。
以下、図９を援用し、制御データに、圧縮したブロックＲ５の画像データと位置Ｙ５を示す位置情報との組合せ、圧縮したブロックＲ１２の画像データと位置Ｙ１２を示す位置情報との組合せ、圧縮したブロック群ＢＧ２の画像データと位置Ｙ１６を示す位置情報との組合せ、圧縮したブロック群ＢＧ１１の画像データと位置Ｙ１を示す位置情報との組合せ、及び、圧縮したブロック群ＢＧ１２の画像データと位置Ｙ８を示す位置情報との組合せが含まれているものとして説明する。ステップＳＢ１３において、プリンター制御部２７は、制御データに含まれる圧縮された画像データのそれぞれを解凍する。
図１０（Ａ）は、ステップＳＢ１２の処理により画像バッファーに展開された記憶画像データＧＤ３を説明に適した態様で模式的に示す図である。
図ステップＳＢ１４で、プリンター制御部２７は、画像バッファーに展開された記憶画像データＧＤ３に対して、解凍後の画像データのそれぞれを、各画像データに対応する位置情報が示す位置に重畳する。具体的には、図１０（Ｂ）に示すように、プリンター制御部２７は、ブロックＲ５の画像データを、画像バッファーに展開された記憶画像データＧＤ３における位置Ｙ５に対応する位置に、重畳して展開する。また、プリンター制御部２７は、ブロックＲ１２の画像データを、画像バッファーに展開された記憶画像データＧＤ３における位置Ｙ１２に対応する位置に、重畳して展開する。また、プリンター制御部２７は、ブロック群ＢＧ２の画像データを、画像バッファーに展開された記憶画像データＧＤ３における位置Ｙ１６に対応する位置に、重畳して展開する。また、プリンター制御部２７は、ブロック群ＢＧ１１の画像データを、画像バッファーに展開された記憶画像データＧＤ３における位置Ｙ１に対応する位置に、重畳して展開する。また、プリンター制御部２７は、ブロック群ＢＧ１２の画像データを、画像バッファーに展開された記憶画像データＧＤ３における位置Ｙ８に対応する位置に、重畳して展開する。
【００５９】
解凍後の各画像データを重畳した後の記憶画像データＧＤ３（以下、「重畳後画像データＧＤ４」という。）は、ステップＳＡ２で読み出した制御データの生成元となった処理対象画像データＧＤ１と同一の画像データである。理由は以下である。上述したように、ホストコンピューター１は、記憶した比較画像データＧＤ２のうち、処理対象画像データＧＤ１と最も近似する比較画像データＧＤ２を選択し、ハッシュ値が異なるブロック、又は、ハッシュ値が一致してブロック画像データが異なるブロックを特定し、特定したブロックの画像データを送信する。インクジェットプリンター５は、記憶する複数の記憶画像データＧＤ３（比較画像データ）から、識別情報をキーとして、ホストコンピューター１が選択した比較画像データＧＤ２と同一の記憶画像データＧＤ３（比較画像データ）を選択する。インクジェットプリンター５は、選択した記憶画像データＧＤ３に対して、受信したブロックの画像データを対応する位置に重畳して重畳後画像データＧＤ４を生成する。このため、重畳後画像データＧＤ４は、比較画像データＧＤ２に対して、比較画像データＧＤ２と処理対象画像データＧＤ１との相違部分が重畳された画像データとなり、処理対象画像データＧＤ１と同一の画像データとなる。
【００６０】
次いで、プリンター制御部２７は、画像バッファーに展開された重畳後画像データＧＤ４に基づいて、対応するラベル部Ｓに画像を印刷する（ステップＳＢ１５）。ステップＳＢ１５でラベル部Ｓに印刷される画像は、アプリケーション実行部４５ａが出力した対応する印刷画像データが示す画像である。
次いで、プリンター制御部２７は、制御データに含まれる印刷画像データ識別情報ＤＣ１を取得する（ステップＳＢ１６）。
次いで、プリンター制御部２７は、プリンター記憶部５０が記憶する記憶画像データテーブルＴＢ１に１件のレコードを生成し、当該レコードにおいて、ステップＳＢ１６で取得した印刷画像データ識別情報ＤＣ１と、重畳後画像データＧＤ４とを対応付けて記憶する（ステップＳＢ１７）。ステップＳＢ１７で記憶された重畳後画像データＧＤ４は、「記憶画像データＧＤ３」に該当する。
ここで、ホストコンピューター１がステップＳＡ２１で記憶した比較画像データハッシュ値情報Ｊ１に含まれる画像データ識別情報ＤＣ及び処理対象画像データＧＤ１の組合せと、記憶画像データテーブルＴＢ１で対応付けられる印刷画像データ識別情報ＤＣ１及び重畳後画像データＧＤ４の組合せとは、一致する。
次いで、プリンター制御部２７は、全ての制御データに基づく印刷が完了したか否かを判別する（ステップＳＢ１８）。完了した場合（ステップＳＢ１８：ＹＥＳ）、プリンター制御部２７は、処理を終了する。完了していない場合（ステップＳＢ１８：ＮＯ）、プリンター制御部２７は、処理手順をステップＳＢ２に戻す。
【００６１】
以上説明したように、本実施形態に係る印刷システム８は、インクジェットプリンター５（印刷装置）と、ホストコンピューター１（制御装置）と、を備える。
ホストコンピューター１は、比較用の画像データである比較画像データＧＤ２を区分するブロックについて、ブロックから所定のハッシュ関数（所定の計算式）で算出されるハッシュ値（算出値）を記憶する記憶部と、インクジェットプリンター５に印刷させる画像の画像データである印刷画像データを区分するブロックについて、所定のハッシュ関数でハッシュ値を算出し、比較画像データＧＤ２と印刷画像データとの対応するブロックのハッシュ値を比較し、印刷画像データのブロックのうち、ハッシュ値の異なるブロックの画像データを含む制御データをインクジェットプリンター５に送信するホスト制御部４５と、を備える。
インクジェットプリンター５は、ラインインクジェットヘッド１２（印刷部）と、ホストコンピューター１が記憶する比較画像データＧＤ２に対応する画像データである記憶画像データＧＤ３（比較画像データ）を記憶するプリンター記憶部５０と、制御データを受信した場合、プリンター記憶部５０が記憶する記憶画像データＧＤ３、及び、制御データに含まれるブロックの画像データに基づいて、ラインインクジェットヘッド１２により画像を印刷するプリンター制御部２７（装置制御部）と、を備える。
この構成によれば、ホストコンピューター１は、インクジェットプリンター５に画像を印刷させる際に、印刷させる画像の印刷画像データのブロックのうち、記憶した比較画像データＧＤ２のブロックと算出値が相違するブロックの画像データを、印刷装置に送信すればよく、ホストコンピューター１からインクジェットプリンター５に送信するデータのデータ量の低減を実現できる。
【００６２】
また、本実施形態では、ホストコンピューター１のホスト制御部４５は、ハッシュ値の異なるブロックの画像データと、当該ブロックの比較画像データＧＤ２における位置を示す位置情報とを含む制御データをインクジェットプリンター５に送信する。インクジェットプリンター５のプリンター制御部２７は、制御データを受信した場合、プリンター記憶部５０が記憶する記憶画像データＧＤ３（比較画像データ）に対して、制御データに含まれる位置情報が示す位置に、制御データに含まれる対応するブロックの画像データを重畳し、重畳後画像データＧＤ４（重畳後の比較画像データ）に基づいて、ラインインクジェットヘッド１２により画像を印刷する。
この構成によれば、印刷装置は、記憶した記憶画像データＧＤ３と、ホストコンピューター１から受信したブロックの画像データに基づいて、所望の画像を印刷できる。
【００６３】
また、本実施形態では、ホストコンピューター１の記憶部（ホスト記憶部４８等）は、１又は複数の比較画像データＧＤ２について、比較画像データＧＤ２のブロックの算出値と、比較画像データＧＤ２を識別する画像データ識別情報ＤＣ（識別情報）とを対応付けて記憶する。インクジェットプリンター５のプリンター記憶部５０は、１又は複数の記憶画像データＧＤ３（比較画像データ）と、記憶画像データＧＤ３の識別情報と対応付けて記憶する。ホストコンピューター１のホスト制御部４５は、印刷画像データと、記憶部が記憶する１又は複数の比較画像データＧＤ２との対応するブロックの算出値を比較し、算出値の異なるブロックの数が少ない比較画像データＧＤ２を選択し、選択した比較画像データＧＤ２の画像データ識別情報ＤＣ、及び、印刷画像データのブロックのうち、選択した比較画像データＧＤ２の対応するブロックと算出値が異なるブロックの画像データを含む制御データをインクジェットプリンター５に送信する。インクジェットプリンター５のプリンター制御部２７は、制御データに含まれる画像データ識別情報ＤＣと対応付けてプリンター記憶部５０が記憶する記憶画像データＧＤ３、及び、制御データに含まれるブロックの画像データに基づいて、ラインインクジェットヘッド１２により画像を印刷する。
この構成によれば、ホストコンピューター１は、印刷画像データと、１又は複数の比較画像データＧＤ２との対応するブロックのハッシュ値を比較し、ハッシュ値の異なるブロックの数が少ない比較画像データＧＤ２を決定する。このような方法で比較画像データＧＤ２を決定するため、ホストコンピューター１は、印刷画像データと近似する比較画像データＧＤ２を、ブロックの算出値の比較という簡易な手段で、決定できる。また、上記方法で比較画像データＧＤ２を決定するため、印刷画像データを構成する各ドットと、比較画像データＧＤ２を構成する各ドットとを比較して、比較画像データＧＤ２を決定する場合と比較して、処理負荷が小さく、また、決定までに要する時間が短い。また、上記構成によれば、ホストコンピューター１は、インクジェットプリンター５に、決定した画像データを、画像データ識別情報ＤＣにより通知できる。インクジェットプリンター５は、当該識別情報に基づいて、記憶する記憶画像データＧＤ３（比較画像データ）から、ホストコンピューター１が決定した比較画像データＧＤ２を特定でき、特定した記憶画像データＧＤ３、及び、受信したブロックの画像データに基づいて、画像の印刷を実行できる。
【００６４】
また、本実施形態では、ホストコンピューター１のホスト制御部４５は、複数の制御データを連続してインクジェットプリンター５に送信する。インクジェットプリンター５のプリンター制御部２７は、インクジェットプリンター５から受信した複数の制御データに基づいて、制御データに対応する画像の印刷を連続して実行する。ホストコンピューター１のホスト制御部４５は、１の制御データを生成する場合、当該１の前記制御データによって印刷させる画像の印刷画像データを生成し、生成した印刷画像データのブロックのハッシュ値を算出し、生成した印刷画像データと１又は複数の比較画像データＧＤ２との対応するブロックのハッシュ値を比較し、ハッシュ値の異なるブロックの数が少ない比較画像データＧＤ２を選択し、生成した印刷画像データの画像データ識別情報ＤＣ（印刷画像データ識別情報ＤＣ１）を生成し、選択した比較画像データＧＤ２の画像データ識別情報ＤＣ（選択画像データ識別情報ＤＣ２）、生成した印刷画像データ識別情報ＤＣ１、及び、印刷画像データのブロックのうち、決定した比較画像データＧＤ２の対応するブロックと算出値が異なるブロックの画像データを含む制御データをインクジェットプリンター５に送信し、また、算出した印刷画像データのブロックのハッシュ値を、比較画像データＧＤ２のブロックのハッシュ値として、生成した印刷画像データ識別情報ＤＣ１と対応付けて記憶する。インクジェットプリンター５のプリンター制御部２７は、制御データを受信した場合、制御データに基づいて印刷画像データの画像を印刷し、また、印刷する画像の画像データ（重畳後画像データＧＤ４）を、比較画像データとして、制御データに含まれる印刷画像データ識別情報ＤＣ１と対応付けて記憶する。
この構成によれば、ホストコンピューター１は、インクジェットプリンター５に連続して印刷させる画像の画像データのブロックのハッシュ値を、比較画像データＧＤ２のブロックのハッシュ値として、画像データ識別情報ＤＣと対応付けて累積的に記憶する。また、インクジェットプリンター５は、印刷する画像の画像データを、比較画像データとして、画像データ識別情報ＤＣと対応付けて累積的に記憶する。このため、ホストコンピューター１が複数の制御データを連続してインクジェットプリンター５に送信し、また、インクジェットプリンター５がホストコンピューター１から受信した複数の制御データに基づいて、制御データに対応する画像の印刷を連続して実行する、という構成を踏まえ、ホストコンピューター１は、比較画像データＧＤ２を累積的に記憶でき、また、インクジェットプリンター５は、ホストコンピューター１に対応して、記憶画像データＧＤ３（比較画像データ）を記憶できる。
【００６５】
また、本実施形態では、ホストコンピューター１のホスト制御部４５は、比較画像データＧＤ２と印刷画像データとの対応するブロックのハッシュ値を比較し、印刷画像データのブロックのうち、ハッシュ値が同一のブロックについて、当該ハッシュ値が同一のブロックの画像データと比較画像データＧＤ２の対応するブロックの画像データとを比較し、異なる場合は、当該ハッシュ値が同一のブロックの画像データを制御データに含めることを特徴とする。
ここで、ハッシュ値は、ブロックから所定のハッシュ関数で算出される値であるため、比較画像データＧＤ２のブロックの算出値と、印刷画像データのブロックの算出値とが同一である場合であっても、各ブロックの画像データの内容が互いに異なる可能性がある。そして、本発明の構成によれば、ホストコンピューター１は、比較画像データＧＤ２のブロックの算出値と、印刷画像データのブロックの算出値とが同一である場合であっても、各ブロックの画像データの内容が互いに異なる場合は、印刷画像データのブロックの画像データを制御データに含めることができる。
【００６６】
また、本実施形態では、ホストコンピューター１のホスト制御部４５は、ブロックの画像データを圧縮して制御データに含め、インクジェットプリンター５に送信することを特徴とする。
この構成によれば、ホストコンピューター１からインクジェットプリンター５に送信されるデータのデータ量をより低減できる。
【００６７】
また、本実施形態では、ホストコンピューター１のホスト制御部４５は、複数のブロックの画像データを送信する場合、隣接するブロックの画像データを結合し、結合後の画像データを圧縮可能か否か判別し、可能な場合は、隣接するブロックの画像データを結合し、結合後の画像データを圧縮して制御データに含め、インクジェットプリンター５に送信する。
この構成によれば、ホストコンピューター１からインクジェットプリンター５に送信されるデータのデータ量をより効率よく低減できる。
【００６８】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
上述した実施形態では、ホストコンピューター１、及び、インクジェットプリンター５は、複数のラベル部Ｓに連続して印刷する画像の画像データに基づく印刷画像データを累積的に記憶する構成であった。一方、事前に、各装置が、所定の画像データを比較画像データとして記憶する構成であってもよい。
また、上述した実施形態では、インクジェットプリンター５が比較画像データとして、重畳後画像データＧＤ４を記憶する構成であった。一方で、インクジェットプリンター５が制御データに含まれるブロックの画像データを、比較画像データとして記憶する構成であってもよい。
また、上述した実施形態では、アプリケーション実行部４５ａが印刷画像データを生成する構成であったが、プリンタードライバー実行部４５ｂが印刷画像データを生成する構成であってもよい。
また、上述した実施形態で説明した処理を特定の動作モードの場合に実行する構成であってもよい。
【符号の説明】
【００６９】
１…ホストコンピューター（制御装置）、５…インクジェットプリンター（印刷装置）、８…印刷システム、１２…ラインインクジェットヘッド（印刷部）、２７…プリンター制御部（装置制御部）、４５…ホスト制御部（制御部）、４８…ホスト記憶部（記憶部）、５０…プリンター記憶部（装置記憶部）。
【図１】
2015191456.tif 000003
【図２】
2015191456.tif 000004
【図３】
2015191456.tif 000005
【図４】
2015191456.tif 000006
【図５】
2015191456.tif 000007
【図６】
2015191456.tif 000008
【図７】
2015191456.tif 000009
【図８】
2015191456.tif 000010
【図９】
2015191456.tif 000011
【図１０】
2015191456.tif 000012