(57)【要約】【課題】ホスト装置側のプログラムやプリンタ装置の構成を大きく変更することなく印刷品位の低下を防ぐこと。【解決手段】プリンタ装置は、１ラインごとの印刷データを逐次受信する通信部と、前記通信部が受信する前記印刷データのデータ転送時間に基づいて、前記印刷データの印刷を制御する印刷制御部と、を備える。【選択図】図２
2016221705.tif 000002
【特許請求の範囲】
【請求項１】
１ラインごとの印刷データを逐次受信する通信部と、
前記通信部が受信する前記印刷データのデータ転送時間に基づいて、前記印刷データの印刷を制御する印刷制御部と、
を備えるプリンタ装置。
【請求項２】
前記印刷制御部は、
前記データ転送時間に基づいて、前記印刷データの印刷速度を制御する印刷速度制御部、
を備える請求項１に記載のプリンタ装置。
【請求項３】
前記印刷速度制御部は、
前記データ転送時間に基づいて、１ライン分の前記印刷データの受信にかかる時間より当該１ライン分の前記印刷データの印刷にかかる時間が長くなる前記印刷速度に制御する、
請求項２に記載のプリンタ装置。
【請求項４】
少なくとも前記通信部の通信方式に基づいて、前記データ転送時間を予測する予測部、
を備え、
前記印刷速度制御部は、
前記予測部が予測した前記データ転送時間に基づいて、前記印刷速度を制御する、
請求項２または請求項３に記載のプリンタ装置。
【請求項５】
前記通信部が受信する前記印刷データの前記データ転送時間を計測する計測部、
を備え、
前記印刷速度制御部は、
前記計測部が計測した前記データ転送時間に基づいて、前記印刷速度を制御する、
請求項２または請求項３に記載のプリンタ装置。
【請求項６】
前記印刷制御部は、
前記印刷データのデータ転送時間に基づいて、前記印刷データの印刷開始タイミングを制御する印刷方式制御部、
を備える請求項１に記載のプリンタ装置。
【請求項７】
前記印刷方式制御部は、
１ライン分の前記印刷データの受信にかかる時間より当該１ライン分の前記印刷データの印刷にかかる時間が短い場合、すべてのライン分または少なくとも２ライン以上を含む一部のライン分の前記印刷データの受信後に印刷を開始させ、１ライン分の前記印刷データの受信にかかる時間より当該１ライン分の前記印刷データの印刷にかかる時間が長い場合、１ライン分の前記印刷データの受信後に印刷を開始させる、
請求項６に記載のプリンタ装置。
【請求項８】
前記通信部の通信方式に基づいて、前記データ転送時間を予測する予測部、
を備え、
前記印刷方式制御部は、
前記予測部が予測した前記データ転送時間に基づいて、前記印刷データの印刷開始タイミングを制御する、
請求項６または請求項７に記載のプリンタ装置。
【請求項９】
前記通信部が受信する前記印刷データの前記データ転送時間を計測する計測部、
を備え、
前記印刷方式制御部は、
前記計測部が計測した前記データ転送時間に基づいて、前記印刷データの印刷開始タイミングを制御する、
請求項６または請求項７に記載のプリンタ装置。
【請求項１０】
プリンタ装置の制御方法であって、
通信部が、１ラインごとの印刷データを逐次受信する通信過程と、
印刷制御部が、前記通信部が受信する前記印刷データのデータ転送時間に基づいて、前記印刷データの印刷を制御する印刷制御過程と、
を含む制御方法。
【請求項１１】
コンピュータに、
通信部を介して１ラインごとに逐次受信される印刷データの印刷を、前記印刷データのデータ転送時間に基づいて制御するステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ホスト装置に接続されたラインプリンタにおいて、イメージを印刷する場合、ホスト装置からイメージ印刷開始コマンドに続いてイメージデータが送られてくる。ラインプリンタは、１ライン分のイメージデータを受信すると、印刷を開始する。以降、ラインプリンタは、印刷中においてもイメージデータを受信し、１ライン分の印刷が完了すると、受信済みの次の１ラインのイメージデータを連続して印刷する。
【０００３】
しかし、１ライン分のデータ転送時間が１ライン分の印刷時間よりも多くかかってしまうと、１ラインの印刷が完了したときに、次の１ラインのイメージデータの受信が完了していないことになる。この場合、ラインプリンタは、一時的に印刷を停止してイメージデータの受信を待ってから印刷を再開するといったように間欠印刷を行ったり、印刷速度の減速と加速とを繰り返して印刷を行ったりすることになるため、印刷ずれや印刷ムラが発生して印刷品位が著しく低下してしまう。これを避けるため、１ページ分のデータ転送が完了してから印刷を行うページモードを使用することや、予めイメージデータを不揮発性メモリに登録し、印刷時にそれを呼び出すことで、１ページ分のイメージデータを一括して印刷し、印刷品位の低下を防ぐ方法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許２００３−２３１３３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ページモードを使用するには、ラインプリンタによる印刷に対応したホスト装置のプログラムを変更する必要がある。また、稼働中のシステムにおいて、ラインプリンタだけを印刷速度の速い最新のモデルに置き換えたりすることは困難である。また、イメージデータを不揮発性メモリに登録する方法では、毎回の印刷において異なるイメージデータを印刷するといった要求に対しては、印刷毎にイメージデータを不揮発性メモリに登録する時間が余計にかかってしまう。加えて、ラインプリンタの装置構成としても、登録するイメージデータ分の不揮発性メモリを搭載しなくてはならず、コストが高くなる。
【０００６】
そこで、本発明は上述の事情を鑑みてなされたものであり、ホスト装置側のプログラムやプリンタ装置の構成を大きく変更することなく印刷品位の低下を防ぐプリンタ装置、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の幾つかの態様は、１ラインごとの印刷データを逐次受信する通信部と、前記通信部が受信する前記印刷データのデータ転送時間に基づいて、前記印刷データの印刷を制御する印刷制御部と、を備えるプリンタ装置である。
【０００８】
また、本発明の他の態様のプリンタ装置において、前記印刷制御部は、前記データ転送時間に基づいて、前記印刷データの印刷速度を制御する印刷速度制御部、を備える。
【０００９】
また、本発明の他の態様のプリンタ装置において、前記印刷速度制御部は、前記データ転送時間に基づいて、１ライン分の前記印刷データの受信にかかる時間より当該１ライン分の前記印刷データの印刷にかかる時間が長くなる前記印刷速度に制御する。
【００１０】
また、本発明の他の態様のプリンタ装置は、少なくとも前記通信部の通信方式に基づいて、前記データ転送時間を予測する予測部、を備え、前記印刷速度制御部は、前記予測部が予測した前記データ転送時間に基づいて、前記印刷速度を制御する。
【００１１】
また、本発明の他の態様のプリンタ装置は、前記通信部が受信する前記印刷データの前記データ転送時間を計測する計測部、を備え、前記印刷速度制御部は、前記計測部が計測した前記データ転送時間に基づいて、前記印刷速度を制御する。
【００１２】
また、本発明の他の態様のプリンタ装置において、前記印刷制御部は、前記印刷データのデータ転送時間に基づいて、前記印刷データの印刷開始タイミングを制御する印刷方式制御部、を備える。
【００１３】
また、本発明の他の態様のプリンタ装置において、前記印刷方式制御部は、１ライン分の前記印刷データの受信にかかる時間より当該１ライン分の前記印刷データの印刷にかかる時間が短い場合、すべてのライン分または少なくとも２ライン以上を含む一部のライン分の前記印刷データの受信後に印刷を開始させ、１ライン分の前記印刷データの受信にかかる時間より当該１ライン分の前記印刷データの印刷にかかる時間が長い場合、１ライン分の前記印刷データの受信後に印刷を開始させる。
【００１４】
また、本発明の他の態様のプリンタ装置は、前記通信部の通信方式に基づいて、前記データ転送時間を予測する予測部、を備え、前記印刷方式制御部は、前記予測部が予測した前記データ転送時間に基づいて、前記印刷データの印刷開始タイミングを制御する。
【００１５】
また、本発明の他の態様のプリンタ装置は、前記通信部が受信する前記印刷データの前記データ転送時間を計測する計測部、を備え、前記印刷方式制御部は、前記計測部が計測した前記データ転送時間に基づいて、前記印刷データの印刷開始タイミングを制御する。
【００１６】
また、本発明の他の態様は、プリンタ装置の制御方法であって、通信部が、１ラインごとの印刷データを逐次受信する通信過程と、印刷制御部が、前記通信部が受信する前記印刷データのデータ転送時間に基づいて、前記印刷データの印刷を制御する印刷制御過程と、を含む制御方法である。
【００１７】
また、本発明の他の態様は、コンピュータに、通信部を介して１ラインごとに逐次受信される印刷データの印刷を、前記印刷データのデータ転送時間に基づいて制御するステップ、を実行させるためのプログラムである。
【発明の効果】
【００１８】
本発明によれば、ホスト装置側のプログラムやプリンタ装置の構成を大きく変更することなく印刷品位の低下を防ぐことができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態によるＰＯＳシステムの構成例を示す図。
【図２】第１の実施形態によるプリンタ装置の構成の一例を示すブロック図。
【図３】第１の実施形態による印刷処理の一例を示すフローチャート。
【図４】第２の実施形態によるプリンタ装置の構成の一例を示すブロック図。
【図５】第２の実施形態による印刷処理の一例を示すフローチャート。
【図６】第３の実施形態によるプリンタ装置の構成の一例を示すブロック図。
【図７】第３の実施形態によるデータ蓄積処理の一例を説明する図。
【図８】第３の実施形態による印刷処理の一例を示すフローチャート。
【図９】第３の実施形態によるデータ蓄積印刷処理の一例を示すフローチャート。
【図１０】第４の実施形態によるプリンタ装置の構成の一例を示すブロック図。
【図１１】第４の実施形態による印刷処理の一例を示すフローチャート。
【図１２】第４の実施形態によるデータ蓄積印刷処理の一例を示すフローチャート。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について、図面を参照しながら説明する。
［第１の実施形態］
まず、本発明の第１の実施形態について説明する。
（ＰＯＳシステム１の構成）
図１は、本実施形態によるＰＯＳシステム１の構成例を示す図である。ＰＯＳシステム１は、プリンタ装置１００と、ホスト装置２００と、を備えている。ホスト装置２００は、商品名や価格などの入力、レシートの発行を行う操作、及びＰＯＳシステムの各種設定を行う操作等が行われるＰＯＳ端末である。例えば、ホスト装置２００は、レシートの発行を行う操作がされると、入力された商品名や価格に基づいて、レシートの発行を指示するイメージ印刷開始コマンド、及びレシートに印刷するイメージデータ（印刷データ）をプリンタ装置１００に送信する。
【００２１】
プリンタ装置１００は、１ライン毎にイメージデータを印刷するラインプリンタである。例えば、プリンタ装置１００は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＲＳ−２３２Ｃ（Ｒｅｃｏｍｍｅｎｄｅｄ  Ｓｔａｎｄａｒｄ  ２３２  ｖｅｒｓｉｏｎ  Ｃ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信方式によりホスト装置２００と通信接続される。そして、プリンタ装置１００は、ホスト装置２００から送信されるイメージデータを受信し、受信したイメージデータに基づいて印刷を行う。
【００２２】
（プリンタ装置１００の構成）
図２は、本実施形態よるプリンタ装置１００の構成の一例を示すブロック図である。プリンタ装置１００は、第１通信部１１と、第２通信部１２と、第３通信部１３と、ＣＰＵ２０と、通信時間予測部２１と、印刷速度制御部２５と、印刷部３０と、を備えている。
【００２３】
第１通信部１１、第２通信部１２、及び第３通信部１３は、ホスト装置２００と通信接続するための通信インターフェースであり、それぞれ異なる通信方式でホスト装置２００と通信する。例えば、第１通信部１１は、ＵＳＢを用いた通信インターフェースである。また、第２通信部１２は、ＲＳ−２３２Ｃを用いた通信インターフェースである。また、第３通信部１３は、Ｂｌｕｅｔｏｏｔｈを用いた通信インターフェースである。プリンタ装置１００とホスト装置２００とは、ホスト装置２００の仕様等に応じて任意に、第１通信部１１、第２通信部１２、及び第３通信部１３のいずれかを用いて通信接続することができる。第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続された通信部は、ホスト装置２００から送信されるイメージ印刷開始コマンド、及びレシートに印刷するイメージデータ等を受信してＣＰＵ２０に出力する。
【００２４】
ＣＰＵ２０は、中央演算処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含んで構成され、プリンタ装置１００の各部を制御する。例えば、ＣＰＵ２０は、第１通信部１１、第２通信部１２、または第３通信部１３が受信したイメージ印刷開始コマンドを取得すると、イメージ印刷開始コマンドに続けてホスト装置２００から送信されるイメージデータを印刷部３０に印刷させるために各部を制御する。例えば、ＣＰＵ２０は、イメージ印刷開始コマンドを取得すると、通信時間（データ転送時間）の予測を通信時間予測部２１に行わせる。また、ＣＰＵ２０は、通信時間予測部２１から通信時間（データ転送時間）の予測結果を取得して印刷速度制御部２５に受け渡す。
【００２５】
通信時間予測部２１は、第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続されている通信部の通信方式に基づいて通信時間を予測する。例えば、通信時間予測部２１は、１ライン分のイメージデータをホスト装置２００からプリンタ装置１００に送信するのにかかる通信時間（即ち、イメージデータのデータ転送時間）を予測する。
【００２６】
例えば、第１通信部１１、第２通信部１２、及び第３通信部１３の各通信方式（例えば、ＵＳＢ、ＲＳ−２３２Ｃ、Ｂｌｕｅｔｏｏｔｈ）と、各通信方式を用いたときの通信時間とが関連付けられたルックアップテーブルが予め設定されており、通信時間予測部２１は、このルックアップテーブルを参照することで、通信接続されている通信部の通信方式に基づいて通信時間を取得し、１ライン分のイメージデータの通信時間を予測する。
【００２７】
ここで、ルックアップテーブルに設定されている通信時間は、例えば、所定のデータ量（例えば、１バイト分のイメージデータ）をホスト装置２００からプリンタ装置１００に送信するのにかかる時間（例えば、平均値）であり、通信速度ということもできる。また、１ライン分のイメージデータのデータ量は、プリンタ装置１００の仕様として予め定められている。よって、通信時間予測部２１は、通信方式に基づいてルックアップテーブルから通信時間（通信速度）を取得することで、取得した通信時間（通信速度）と１ライン分のイメージデータのデータ量とに基づいて、１ライン分のイメージデータの通信時間を予測することができる。
【００２８】
また、上述したルックアップテーブルにおいて、通信方式によっては、さらに通信設定毎の通信時間が設定されていてもよい。例えば、ＲＳ−２３２Ｃの場合、ボーレートの値、データビットの値、パリティチェックの有無、ストップビットの値等の設定に応じた通信時間が設定される。この場合、通信時間予測部２１は、通信方式及び通信設定に基づいて１ライン分のイメージデータの通信時間を予測する。
【００２９】
なお、ルックアップテーブルに設定されている通信時間は、１ライン分のイメージデータをホスト装置２００からプリンタ装置１００に送信するのにかかる時間（例えば、平均値）であってもよい。この場合、通信時間予測部２１は、通信方式に基づいてルックアップテーブルから１ライン分のイメージデータの通信時間を取得することができる。
【００３０】
印刷速度制御部２５は、ホスト装置２００から受信するイメージデータの通信時間に基づいて、当該イメージデータの印刷速度を制御する。例えば、印刷速度制御部２５は、通信時間予測部２１が予測した通信時間に基づいて、印刷速度を制御する。
【００３１】
例えば、印刷速度制御部２５は、プリンタ装置１００において予め設定されている標準速度（最高速度）から最低速度までの範囲で印刷速度を可変することができる。ここで、印刷速度は、所定のデータ量（例えば、１バイト分のデータ）の印刷にかかる時間として設定されている。なお、印刷速度制御部２５は、最高速度（標準速度）から最低速度までの範囲で、段階的に印刷速度を可変する構成としてもよいし、連続的に印刷速度を可変する構成としてもよい。
【００３２】
具体的には、印刷速度制御部２５は、通信時間予測部２１が予測した通信時間に基づいて、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷にかかる印刷時間が長くなるように印刷速度を制御する。即ち、「（１ライン分のイメージデータの通信時間）＜（１ライン分のイメージデータの印刷にかかる印刷時間）」の関係が成り立つように印刷速度が設定される。
【００３３】
印刷部３０は、ホスト装置２００から受信するイメージデータを、印刷速度制御部２５が設定した印刷速度で印刷する。例えば、印刷部３０は、ホスト装置２００から逐次受信する１ライン毎のイメージデータを、印刷速度制御部２５が設定した印刷速度で、受信した順に印刷する。そして、１ページ分（１レシート分）のイメージデータをすべて印刷すると印刷処理を終了する。
【００３４】
ここで、上述したように、印刷部３０は、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間が長くなる印刷速度で印刷が行うため、ある１ラインの印刷が完了した時には少なくとも次の１ラインのイメージデータの受信が完了している。よって、プリンタ装置１００では、印刷中に一時的に印刷を停止してイメージデータの受信を待つことや、印刷速度の減速と加速とを繰り返すといったことが生じない。従って、プリンタ装置１００は、１ページ分（１レシート分）のイメージデータを、印刷ずれや印刷ムラが発生しないように、設定された印刷速度で続けて印刷することができる。
【００３５】
（プリンタ装置１００が実行する印刷処理の動作）
図３は、本実施形態による印刷処理の一例を示すフローチャートである。この図を参照して、プリンタ装置１００が実行する印刷処理の動作を説明する。
【００３６】
（ステップＳ１０２）プリンタ装置１００は、ホスト装置２００からイメージ印刷開始コマンドを受信する。具体的には、プリンタ装置１００の第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続されている通信部が、イメージ印刷開始コマンドを受信する。ＣＰＵ２０は、上記受信部が受信したイメージ印刷開始コマンドを取得する。その後、ステップＳ１０４の処理に進む。
【００３７】
（ステップＳ１０４）ＣＰＵ２０は、イメージ印刷開始コマンドを取得すると、通信時間（データ転送時間）の予測を通信時間予測部２１に行わせる。通信時間予測部２１は、まず、第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続されている通信部の通信方式、及び必要に応じて通信設定を取得する。その後、ステップＳ１０６の処理に進む。
【００３８】
（ステップＳ１０６）通信時間予測部２１は、前述したルックアップテーブルを参照して、ステップＳ１０４において取得した通信方式に関連付けられている通信時間、または通信方式及び通信設定に関連付けられている通信時間（例えば、１バイト分のイメージデータの通信時間）を取得する。通信時間予測部２１は、ステップＳ１０６において取得した通信時間（例えば、１バイト分のイメージデータの通信時間）で、１ライン分のデータ量を除算して１ライン分のイメージデータの通信時間を算出することにより、１ライン分のイメージデータの通信時間を予測する。ＣＰＵ２０は、通信時間予測部２１から１ライン分のイメージデータの通信時間の予測結果を取得して印刷速度制御部２５に受け渡す。その後、ステップＳ１０８の処理に進む。
【００３９】
（ステップＳ１０８）印刷速度制御部２５は、通信時間予測部２１が予測した１ライン分のイメージデータの通信時間と、１ライン分のイメージデータの印刷時間との比較を行う。例えば、印刷速度制御部２５は、１ライン分のイメージデータの通信時間より、最高速度（標準速度）で印刷したときの１ライン分のイメージデータの印刷時間の方が長いか否かを判定する。そして、１ライン分のイメージデータの印刷時間の方が長いと印刷速度制御部２５が判定した場合（ＹＥＳ）、ステップＳ１１０の処理に進む。一方、１ライン分のイメージデータの印刷時間の方が長くないと印刷速度制御部２５が判定した場合（ＮＯ）、ステップＳ１１２の処理に進む。
【００４０】
（ステップＳ１１０）印刷速度制御部２５は、印刷速度を最高速度（標準速度）に設定する。その後、ステップＳ１１４の処理に進む。
（ステップＳ１１２）印刷速度制御部２５は、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間が長くなる印刷速度に設定する。即ち、印刷速度制御部２５は、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間の方か多くかかるように、印刷速度を遅く設定する。その後、ステップＳ１１４の処理に進む。
【００４１】
（ステップＳ１１４）第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続されている通信部は、イメージデータの受信を開始する。その後、ステップＳ１１６の処理に進む。
【００４２】
（ステップＳ１１６）印刷部３０は、１ライン分のイメージデータの通信が完了したか否かを判定する。印刷部３０は、１ライン分のイメージデータの通信が完了していないと判定した場合（ＮＯ）、ステップＳ１１６の処理を再度実行する。そして、１ライン分のイメージデータの通信が完了したと印刷部３０が判定した場合（ＹＥＳ）、ステップＳ１１８の処理に進む。
【００４３】
（ステップＳ１１８）印刷部３０は、受信済みの１ライン分のイメージデータを、印刷速度制御部２５が設定した印刷速度で印刷する。印刷が完了すると、ステップＳ１２０の処理に進む。
【００４４】
（ステップＳ１２０）印刷部３０は、１ページ分（１レシート分）のすべてのラインのイメージデータを印刷したか否かを判定する。すべてのラインのイメージデータを印刷していないと印刷部３０が判定した場合（ＮＯ）、ステップＳ１１６の処理に戻る。
【００４５】
以降のステップＳ１１６、Ｓ１１８の処理では、印刷部３０は、次の１ラインのイメージデータの印刷を、通信が完了していることを確認した上で実行する。但し、本処理では、ステップＳ１１０またはステップＳ１１２のいずれかの処理において、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間の方が多くかかるように印刷速度が設定されている。よって、印刷が完了したラインの次の１ラインのイメージデータは、受信済みの状態にあり、ステップＳ１１６ではＹＥＳと判定される。従って、印刷部３０は、印刷速度制御部２５が設定した印刷速度で、次の１ラインのイメージデータを続けて印刷する。
【００４６】
そして、ステップＳ１２０において、印刷部３０は、すべてのラインのイメージデータを印刷したと判定した場合（ＹＥＳ）、印刷処理を終了する。
【００４７】
以上説明したように、本実施形態によるプリンタ装置１００は、第１通信部１１、第２通信部１２、及び第３通信部１３と、印刷速度制御部２５（印刷制御部の一例）と、を備えている。第１通信部１１、第２通信部１２、及び第３通信部１３は、１ラインごとのイメージデータ（印刷データ）を逐次受信する。印刷速度制御部２５は、上記通信部が受信するイメージデータの通信時間（データ転送時間）に基づいて、イメージデータの印刷を制御する。例えば、印刷速度制御部２５は、受信するイメージデータの通信時間（データ転送時間）に基づいて、イメージデータの印刷速度を制御する。
【００４８】
これにより、プリンタ装置１００は、受信するイメージデータの通信時間（データ転送時間）に応じてイメージデータの印刷速度を適切に調整することができる。よって、プリンタ装置１００は、ホスト装置２００側のプログラムやプリンタ装置１００の構成を大きく変更することなく印刷品位の低下を防ぐことができる。
【００４９】
例えば、印刷速度制御部２５は、受信するイメージデータの通信時間（データ転送時間）に基づいて、１ライン分のイメージデータの受信にかかる時間より当該１ライン分のイメージデータの印刷にかかる時間が長くなる印刷速度に制御する。
【００５０】
これにより、プリンタ装置１００は、１ライン分のイメージデータの印刷が完了したときに、次の１ラインのイメージデータの受信が未了である事態を防止できる。よって、本実施形態によれば、一時的に印刷を停止してイメージデータの受信を待ってから印刷を再開するというような間欠印刷や、印刷速度の減速と加速とを繰り返して印刷を行うといったことがなくなる。従って、印刷品位の低下を防ぐことができる。
【００５１】
また、プリンタ装置１００は、少なくとも第１通信部１１、第２通信部１２、及び第３通信部１３のうちイメージデータを受信する通信部の通信方式に基づいて、イメージデータの通信時間（データ転送時間）を予測する通信時間予測部２１（予測部の一例）を備えている。そして、印刷速度制御部２５は、通信時間予測部２１が予測した通信時間（データ転送時間）に基づいて、印刷速度を制御する。
【００５２】
これにより、プリンタ装置１００は、いずれの通信部を用いてホスト装置２００と通信接続されても１ライン分のイメージデータの通信時間を適切に予測できるので、イメージデータの印刷速度を適切に調整することができる。
【００５３】
また、本実施形態では、イメージデータの蓄積用の不揮発メモリを搭載しないので、印刷時間を短くできるとともに、プリンタ装置１００の構成を簡略化でき、コストの低減を図れる。
【００５４】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。
第１の実施形態では、通信方式に基づいて予測した通信時間に基づいて印刷速度を制御する例を説明した。本実施形態では、実際に測定した通信時間に基づいて印刷速度を制御する例を説明する。なお、本実施形態によるＰＯＳシステムの構成は、図１に示す構成と基本的に同様であるが、プリンタ装置の内部の構成が異なる。以下、本実施形態によるプリンタ装置１００Ａの構成について説明する。
【００５５】
（プリンタ装置１００Ａの構成）
図４は、本実施形態によるプリンタ装置１００Ａの構成の一例を示すブロック図である。この図において、図２の各部に対応する構成には同一の符号を付しており、その説明を適宜省略する。プリンタ装置１００Ａは、第１通信部１１と、第２通信部１２と、第３通信部１３と、ＣＰＵ２０と、通信時間計測部２２と、印刷速度制御部２５と、印刷部３０と、を備えており、第１の実施形態の図２に示すプリンタ装置１００とは、通信時間予測部２１に代えて通信時間計測部２２を備えている点が異なる。
【００５６】
通信時間計測部２２は、第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続されている通信部が受信するイメージデータの通信時間を計測する。例えば、通信時間計測部２２は、１ライン分のイメージデータをホスト装置２００からプリンタ装置１００に送信するのにかかる通信時間（即ち、イメージデータのデータ転送時間）を計測する。
【００５７】
なお、通信時間計測部２２は、１ライン分のイメージデータの通信時間を計測することに代えて、所定のデータ量（例えば、１バイト分のイメージデータ）の通信時間（換言すると、通信速度）を計測してもよい。この場合、通信時間計測部２２は、計測した所定のデータ量（例えば、１バイト分のイメージデータ）の通信時間と、１ライン分のデータ量とに基づいて１ライン分のイメージデータの通信時間を算出する。また、通信時間計測部２２は、計測時間を固定して、所定の時間（例えば、１秒間）に受信されるデータ量を計測してもよい。この場合、通信時間計測部２２は、計測した所定の時間（例えば、１秒間）に受信されるデータ量と、１ライン分のデータ量とに基づいて１ライン分のイメージデータの通信時間を算出する。
【００５８】
例えば、ＣＰＵ２０は、イメージ印刷開始コマンドを取得すると、通信時間（データ転送時間）の計測を通信時間計測部２２に行わせる。そして、ＣＰＵ２０は、通信時間計測部２２から通信時間の計測結果を取得して印刷速度制御部２５に受け渡す。印刷速度制御部２５は、通信時間の計測結果に基づいて印刷速度を制御する。具体的には、印刷速度制御部２５は、通信時間計測部２２が計測した通信時間に基づいて、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷にかかる印刷時間が長くなるように印刷速度を制御する。
【００５９】
（プリンタ装置１００Ａが実行する印刷処理の動作）
図５は、本実施形態による印刷処理の一例を示すフローチャートである。この図を参照して、プリンタ装置１００Ａが実行する印刷処理の動作を説明する。
【００６０】
（ステップＳ２０２）プリンタ装置１００Ａは、ホスト装置２００からイメージ印刷開始コマンドを受信する。具体的には、プリンタ装置１００Ａの第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続されている通信部が、イメージ印刷開始コマンドを受信する。ＣＰＵ２０は、上記受信部が受信したイメージ印刷開始コマンドを取得する。その後、ステップＳ２０４の処理に進む。
【００６１】
（ステップＳ２０４）ＣＰＵ２０がイメージ印刷開始コマンドを取得すると、通信時間計測部２２は、受信されるイメージデータの通信時間の計測を開始する。その後、ステップＳ２０６の処理に進む。
【００６２】
（ステップＳ２０６）第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続されている通信部は、イメージデータの受信を開始する。通信時間計測部２２は、イメージデータの受信が開始されると通信時間をカウントする。その後、ステップＳ２０８の処理に進む。
【００６３】
（ステップＳ２０８）通信時間計測部２２は、１ライン分のイメージデータの通信が完了したか否かを判定する。通信時間計測部２２は、１ライン分のイメージデータの通信が完了していないと判定した場合（ＮＯ）、通信時間のカウントを継続し、ステップＳ２０８の処理を再度実行する。そして、１ライン分のイメージデータの通信が完了したと通信時間計測部２２が判定した場合（ＹＥＳ）、ステップＳ２１０の処理に進む。
【００６４】
（ステップＳ２１０）通信時間計測部２２は、１ライン分のイメージデータの通信の完了とともに通信時間のカウントを終了し、通信時間の計測を停止する。そして、通信時間計測部２２は、１ライン分のイメージデータの通信時間を算出する。
【００６５】
（ステップＳ２１２）印刷速度制御部２５は、通信時間計測部２２が計測した１ライン分のイメージデータの通信時間と、１ライン分のイメージデータの印刷時間との比較を行う。例えば、印刷速度制御部２５は、１ライン分のイメージデータの通信時間より、最高速度（標準速度）で印刷したときの１ライン分のイメージデータの印刷時間の方が長いか否かを判定する。そして、１ライン分のイメージデータの印刷時間の方が長いと印刷速度制御部２５が判定した場合（ＹＥＳ）、ステップＳ２１４の処理に進む。一方、１ライン分のイメージデータの印刷時間の方が長くないと印刷速度制御部２５が判定した場合（ＮＯ）、ステップＳ２１６の処理に進む。
【００６６】
（ステップＳ２１４）印刷速度制御部２５は、印刷速度を最高速度（標準速度）に設定する。その後、ステップＳ２１８の処理に進む。
（ステップＳ２１６）印刷速度制御部２５は、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間が長くなる印刷速度に設定する。その後、ステップＳ２１８の処理に進む。
【００６７】
（ステップＳ２１８）印刷部３０は、受信済みの１ライン分のイメージデータを、印刷速度制御部２５が設定した印刷速度で印刷する。印刷が完了すると、ステップＳ２２０の処理に進む。
【００６８】
（ステップＳ２２０）印刷部３０は、１ページ分（１レシート分）のすべてのラインのイメージデータを印刷したか否かを判定する。印刷部３０は、すべてのラインのイメージデータを印刷したと判定した場合（ＹＥＳ）、印刷処理を終了する。一方、すべてのラインのイメージデータを印刷していないと印刷部３０が判定した場合（ＮＯ）、ステップＳ２２２の処理に進む。
【００６９】
（ステップＳ２２２）印刷部３０は、次の１ライン分のイメージデータの通信が完了したか否かを判定する。印刷部３０は、次の１ライン分のイメージデータの通信が完了していないと判定した場合（ＮＯ）、ステップＳ２２２の処理を再度実行する。そして、次の１ライン分のイメージデータの通信が完了したと印刷部３０が判定した場合（ＹＥＳ）、ステップＳ２１８の処理に戻り、印刷部３０は、次の１ラインのイメージデータを、印刷速度制御部２５が設定した印刷速度で印刷する。
【００７０】
なお、本処理では、ステップＳ２１４またはステップＳ２１６のいずれかの処理において、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間の方が多くかかるように印刷速度が設定されているため、ステップＳ２２２ではＹＥＳと判定される。従って、印刷部３０は、続けて次の１ラインのイメージデータを、印刷速度制御部２５が設定した印刷速度で印刷する。
【００７１】
以上説明したように、本実施形態によるプリンタ装置１００Ａは、第１の実施形態によるプリンタ装置１００と同様に、第１通信部１１、第２通信部１２、及び第３通信部１３と、印刷速度制御部２５（印刷制御部の一例）と、を備えている。
また、プリンタ装置１００Ａは、第１通信部１１、第２通信部１２、及び第３通信部１３が受信するイメージデータ（印刷データ）の通信時間（データ転送時間）を計測する通信時間計測部２２（計測部の一例）を備えている。そして、印刷速度制御部２５は、通信時間計測部２２が計測した通信時間（データ転送時間）に基づいて、印刷速度を制御する。
【００７２】
これにより、プリンタ装置１００Ａは、いずれの通信部を用いてホスト装置２００と通信接続されても、計測した１ライン分のイメージデータの通信時間に基づいてイメージデータの印刷速度を適切に調整することができる。
【００７３】
例えば、プリンタ装置１００Ａは、第１の実施形態によるプリンタ装置１００と同様に、印刷速度制御部２５は、受信するイメージデータの通信時間（データ転送時間）に基づいて、１ライン分のイメージデータの受信にかかる時間より当該１ライン分のイメージデータの印刷にかかる時間が長くなる印刷速度に制御することができる。即ち、プリンタ装置１００Ａは、１ライン分のイメージデータの印刷が完了したときに、次の１ラインのイメージデータの受信が未了である事態を防止できる。
【００７４】
よって、本実施形態によれば、一時的に印刷を停止してイメージデータの受信を待ってから印刷を再開するというような間欠印刷や、印刷速度の減速と加速とを繰り返して印刷を行うといったことがなくなる。
【００７５】
従って、プリンタ装置１００Ａは、ホスト装置２００側のプログラムやプリンタ装置１００Ａの構成を大きく変更することなく（例えば、イメージデータの蓄積用の不揮発メモリ等を搭載することなく）印刷品位の低下を防ぐことができる。
【００７６】
［第３の実施形態］
次に、本発明の第３の実施形態について説明する。
第１の実施形態及び第２の実施形態では、通信時間に基づいて印刷速度を制御する例を説明した。本実施形態では、印刷速度は所定の印刷速度（例えば、第１、第２の実施形態における最高速度に相当）に予め設定されており、通信時間に基づいて印刷開始タイミングを制御する例を説明する。なお、本実施形態によるＰＯＳシステムの構成は、図１に示す構成と基本的に同様であるが、プリンタ装置の内部の構成が異なる。以下、本実施形態によるプリンタ装置１００Ｂの構成について説明する。
【００７７】
（プリンタ装置１００Ｂの構成）
図６は、本実施形態によるプリンタ装置１００Ｂの構成の一例を示すブロック図である。この図において、図２の各部に対応する構成には同一の符号を付しており、その説明を適宜省略する。プリンタ装置１００Ｂは、第１通信部１１と、第２通信部１２と、第３通信部１３と、ＣＰＵ２０と、通信時間予測部２１と、印刷方式制御部２６と、メモリ２７と、印刷部３０と、を備えている。つまり、プリンタ装置１００Ｂは、第１の実施形態の図２に示すプリンタ装置１００とは、印刷速度制御部２５に代えて印刷方式制御部２６を備えている点と、メモリ２７を更に備えている点が異なる。
【００７８】
印刷方式制御部２６は、ホスト装置２００から受信するイメージデータの通信時間に基づいて、当該イメージデータの印刷開始タイミングを制御する。例えば、印刷方式制御部２６は、通信時間予測部２１が予測した通信時間に基づいて、印刷開始タイミングを制御する。
【００７９】
具体的には、印刷方式制御部２６は、１ライン分のイメージデータの受信にかかる通信時間より当該１ライン分のイメージデータの印刷にかかる印刷時間が短い場合、すべてのライン分または少なくとも２ライン以上を含む一部のライン分のイメージデータの受信後に印刷を開始させる。例えば、印刷方式制御部２６は、印刷中にイメージデータの受信が間に合わなくなることがないように、すべてのライン分または少なくとも２ライン以上を含む一部のライン分のイメージデータを蓄積してから印刷を開始するデータ蓄積印刷処理を印刷部３０に実行させる。メモリ２７は、このデータ蓄積印刷処理を実行する際にイメージデータを蓄積するための記憶部であり、例えば揮発性のメモリである。
【００８０】
一方、印刷方式制御部２６は、１ライン分のイメージデータの受信にかかる通信時間より当該１ライン分のイメージデータの印刷にかかる印刷時間が長い場合、イメージデータを蓄積しなくとも印刷中にイメージデータの受信が間に合わなくなることがないため、１ライン分のイメージデータの受信後に印刷を開始させる。即ち、印刷方式制御部２６は、第１、第２の実施形態の印刷処理と同様に、１ライン分のイメージデータを受信する毎に印刷を行う印刷処理を印刷部３０に実行させる。
【００８１】
（データ蓄積処理における印刷開始タイミングの計算例）
ここで、図７を参照して、データ蓄積処理における印刷開始タイミングの計算例を説明する。図７は、本実施形態によるデータ蓄積処理の一例を説明する図である。この図は、１ページ分（１レシート分）のイメージデータ（印刷するイメージ）を示しており、このイメージデータの上から下方向への順に、１ライン毎のイメージデータがホスト装置２００からプリンタ装置１００Ｂに送信されるものとする。
【００８２】
図示する１ページ分のイメージデータのライン数を「Ａ」とし、イメージデータを受信しても印刷を開始せずにメモリ２７に蓄積するイメージデータのライン数を「Ｂ」とする。また、図示する「印刷を開始する位置」が印刷開始タイミングであり、印刷開始後に、印刷処理と並行して受信するイメージデータのライン数を「Ｃ」とすると、以下の式１の関係となる。
【００８３】
Ｃ＝Ａ−Ｂ    ・・・（式１）
【００８４】
また、１ライン分のイメージデータの印刷時間を「ｘ」とし、１ライン分のイメージデータの通信時間を「ｙ」とすると、印刷を開始してからＢライン分のイメージデータを印刷する間に、Ｃライン分のイメージデータの通信が完了していれば良いので、以下の式２の関係となる。
【００８５】
Ｂ×ｘ≧Ｃ×ｙ    ・・・（式２）
【００８６】
この式２に式１を代入すると、以下の式３となる。
【００８７】
Ｂ×ｘ≧（Ａ−Ｂ）×ｙ    ・・・（式３）
【００８８】
ここで、印刷するイメージデータのライン数Ａは、例えば、イメージ印刷開始コマンドに含まれる。プリンタ装置１００Ｂは、イメージ印刷開始コマンドを受信したときに、印刷するイメージデータのライン数Ａを取得する。また、ｘ及びｙは、予測及び計算により決まる値であるため、印刷を開始する位置Ｂは、計算で求まる。以下に、印刷を開始する位置Ｂの計算例を２例示す。
【００８９】
（例１)
Ａ＝１００ライン、ｘ＝１ｍｓｅｃ、ｙ＝１０ｍｓｅｃ、とした場合、各値を式３に代入すると、「Ｂ×１≧（１００−Ｂ）×１０」となる。よって、「１１×Ｂ≧１０００」となり、「Ｂ≧９０．９・・・」となる。従ってこの例では、９１ライン分受信したタイミングで印刷を開始すればよい。
【００９０】
（例２)
Ａ＝１０ライン、ｘ＝１ｍｓｅｃ、ｙ＝２０ｍｓｅｃとした場合、各値を式３に代入すると、「Ｂ×１≧（１０−Ｂ）×２０」となる。よって、「２１×Ｂ≧２００」となり、「Ｂ≧９．５・・・」となる。従ってこの例では、１０ライン分すべて受信してから印刷を開始する必要がある。
【００９１】
（プリンタ装置１００Ｂが実行する印刷処理の動作）
図８は、本実施形態による印刷処理の一例を示すフローチャートである。この図を参照して、プリンタ装置１００Ｂが実行する印刷処理の動作を説明する。
【００９２】
図８のステップＳ３０２、Ｓ３０４、及びＳ３０６の各処理は、図３のステップＳ１０２、Ｓ１０４、及びＳ１０６の各処理と同様である。即ち、通信時間予測部２１は、通信方式または通信設定に基づいて１ライン分のイメージデータの通信時間を予測する。また、ＣＰＵ２０は、通信時間予測部２１から１ライン分のイメージデータの通信時間の予測結果を取得して印刷方式制御部２６に受け渡す。その後、ステップＳ３０８の処理に進む。
【００９３】
（ステップＳ３０８）印刷方式制御部２６は、通信時間予測部２１が予測した１ライン分のイメージデータの通信時間と、１ライン分のイメージデータの印刷時間との比較を行う。例えば、印刷方式制御部２６は、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間の方が長いか否かを判定する。印刷方式制御部２６は、１ライン分のイメージデータの印刷時間の方が長くないと判定した場合（ＮＯ）、データ蓄積印刷処理を印刷部３０に実行させる指示をする。そして、ステップＳ４００のデータ蓄積印刷処理に進む。このデータ蓄積印刷処理については、図９を参照して後述する。一方、印刷方式制御部２６は、１ライン分のイメージデータの印刷時間の方が長いと判定した場合（ＹＥＳ）、１ライン分のイメージデータを受信する毎に印刷を行う印刷処理を印刷部３０に実行させる指示をする。そして、ステップＳ３１４の処理に進む。
【００９４】
（ステップＳ３１４）第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続されている通信部は、イメージデータの受信を開始する。その後、ステップＳ３１６の処理に進む。
【００９５】
（ステップＳ３１６）印刷部３０は、１ライン分のイメージデータの通信が完了したか否かを判定する。印刷部３０は、１ライン分のイメージデータの通信が完了していないと判定した場合（ＮＯ）、ステップＳ３１６の処理を再度実行する。そして、１ライン分のイメージデータの通信が完了したと印刷部３０が判定した場合（ＹＥＳ）、ステップＳ３１８の処理に進む。
【００９６】
（ステップＳ３１８）印刷部３０は、受信済みの１ライン分のイメージデータを、所定の印刷速度で印刷する。印刷が完了すると、ステップＳ３２０の処理に進む。
【００９７】
（ステップＳ３２０））印刷部３０は、１ページ分（１レシート分）のすべてのラインのイメージデータを印刷したか否かを判定する。すべてのラインのイメージデータを印刷していないと印刷部３０が判定した場合（ＮＯ）、ステップＳ３１６の処理に戻る。
【００９８】
以降のステップＳ３１６、Ｓ３１８の処理では、印刷部３０は、次の１ラインのイメージデータの印刷を、通信が完了していることを確認した上で実行する。但し、本処理では、ステップＳ３０８の処理において、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間が長いと判定されている。そのため、印刷が完了したラインの次の１ラインのイメージデータは、受信済みの状態となっており、ステップＳ３１６ではＹＥＳと判定される。従って、印刷部３０は、所定の印刷速度で、次の１ラインのイメージデータを続けて印刷する。
【００９９】
そして、ステップＳ３２０において、印刷部３０は、すべてのラインのイメージデータを印刷したと判定した場合（ＹＥＳ）、印刷処理を終了する。
【０１００】
（データ蓄積印刷処理の動作）
次に、図９を参照して、図８のステップＳ４００のデータ蓄積印刷処理の動作を説明する。図９は、本実施形態によるデータ蓄積印刷処理の一例を示すフローチャートである。
【０１０１】
（ステップＳ４０２）印刷方式制御部２６は、印刷開始位置（何ライン目から印刷を開始するか）を計算する。例えば、図７を参照して説明した式３を満たす印刷開始タイミングを計算する。その後、ステップＳ４０４の処理に進む。
【０１０２】
（ステップＳ４０４）第１通信部１１、第２通信部１２、及び第３通信部１３のうちホスト装置２００と通信接続されている通信部は、イメージデータの受信を開始する。その後、ステップＳ４０６の処理に進む。
【０１０３】
（ステップＳ４０６）印刷方式制御部２６は、受信されるイメージデータのメモリ２７への保存を開始する。その後、ステップＳ４０８の処理に進む。
【０１０４】
（ステップＳ４０８）印刷方式制御部２６は、メモリ２７に保存されたイメージデータのライン数が、ステップＳ４０２において計算した印刷開始位置（印刷開始タイミング）であるか否かを判定する。印刷開始位置ではないと判定された場合（ＮＯ）、印刷方式制御部２６は、ステップＳ４０８の処理を再度実行する。一方、印刷開始位置であると判定された場合（ＹＥＳ）、印刷方式制御部２６は、印刷部３０に印刷の開始を指示する。その後、ステップＳ４１０の処理に進む。
【０１０５】
（ステップＳ４１０）印刷部３０は、メモリ２７に保存されている１ライン目のイメージデータを、所定の印刷速度で印刷する。印刷が完了すると、ステップＳ４１２の処理に進む。
【０１０６】
（ステップＳ４１２）印刷部３０は、１ページ分（１レシート分）のすべてのラインのイメージデータを印刷したか否かを判定する。すべてのラインのイメージデータを印刷していないと印刷部３０が判定した場合（ＮＯ）、ステップＳ４１０の処理に戻る。即ち、印刷部３０は、メモリ２７に保存されている（蓄積されている）次の１ラインのイメージデータを、所定の印刷速度で続けて印刷する。そして、ステップＳ４１２において、印刷部３０は、すべてのラインのイメージデータを印刷したと判定した場合（ＹＥＳ）、印刷処理を終了する。
【０１０７】
以上説明したように、本実施形態によるプリンタ装置１００Ｂは、第１通信部１１、第２通信部１２、及び第３通信部１３と、印刷方式制御部２６（印刷制御部の一例）と、を備えている。印刷方式制御部２６は、上記通信部が受信するイメージデータの通信時間（データ転送時間）に基づいて、イメージデータ（印刷データ）の印刷を制御する。例えば、印刷方式制御部２６は、受信するイメージデータの通信時間（データ転送時間）に基づいて、イメージデータの印刷開始タイミングを制御する。
【０１０８】
これにより、プリンタ装置１００Ｂは、受信するイメージデータの通信時間（データ転送時間）に応じてイメージデータの印刷開始タイミングを適切に調整することができる。よって、プリンタ装置１００Ｂは、ホスト装置２００側のプログラムやプリンタ装置１００Ｂの構成を大きく変更することなく印刷品位の低下を防ぐことができる。
【０１０９】
例えば、印刷方式制御部２６は、１ライン分のイメージデータの受信にかかる時間より当該１ライン分のイメージデータの印刷にかかる時間が短い場合、すべてのライン分または少なくとも２ライン以上を含む一部のライン分のイメージデータの受信後に印刷を開始させる。一方、印刷方式制御部２６は、１ライン分のイメージデータの受信にかかる時間より当該１ライン分のイメージデータの印刷にかかる時間が長い場合、１ライン分のイメージデータの受信後に印刷を開始させる。
【０１１０】
これにより、プリンタ装置１００Ｂは、１ライン分のイメージデータの受信にかかる時間より当該１ライン分のイメージデータの印刷にかかる時間が短い場合、イメージデータを蓄積してから印刷を開始するデータ蓄積印刷処理を行うため、印刷中にイメージデータの受信が間に合わなくなることがなく、印刷品位の低下を防ぐことができる。
【０１１１】
また、プリンタ装置１００Ｂは、少なくとも第１通信部１１、第２通信部１２、及び第３通信部１３のうちイメージデータを受信する通信部の通信方式に基づいて、イメージデータの通信時間（データ転送時間）を予測する通信時間予測部２１（予測部の一例）を備えている。そして、印刷方式制御部２６は、通信時間予測部２１が予測した通信時間（データ転送時間）に基づいて、印刷開始タイミングを制御する。
これにより、プリンタ装置１００Ｂは、通信方式からイメージデータの通信時間を予測することにより、印刷開始タイミングを切り替えることができる。
【０１１２】
［第４の実施形態］
次に、本発明の第４の実施形態について説明する。
本実施形態は、第３の実施形態と同様に、通信時間に基づいて印刷開始タイミングを制御する例である。但し、第３の実施形態では、通信方式に基づいて予測した通信時間に基づいて印刷開始タイミングを制御する例を説明したが、本実施形態では、計測した通信時間に基づいて印刷開始タイミングを制御する例を説明する。ここで、通信時間の計測は、第２の実施形態で説明した通信時間計測部２２の機能を適用することができる。なお、本実施形態によるＰＯＳシステムの構成は、図１に示す構成と基本的に同様であるが、プリンタ装置の内部の構成が異なる。以下、本実施形態によるプリンタ装置１００Ｃの構成について説明する。
【０１１３】
（プリンタ装置１００Ｃの構成）
図１０は、本実施形態によるプリンタ装置１００Ｃの構成の一例を示すブロック図である。この図において、図６の各部に対応する構成には同一の符号を付しており、その説明を適宜省略する。プリンタ装置１００Ｃは、第１通信部１１と、第２通信部１２と、第３通信部１３と、ＣＰＵ２０と、通信時間計測部２２と、印刷方式制御部２６と、メモリ２７と、印刷部３０と、を備えている。つまり、プリンタ装置１００Ｃは、第３の実施形態の図６に示すプリンタ装置１００Ｂとは、通信時間予測部２１に代えて通信時間計測部２２を備えている点が異なる。
【０１１４】
本実施形態では、印刷方式制御部２６は、通信時間計測部２２が計測した通信時間に基づいて、印刷開始タイミングを制御する。具体的には、印刷方式制御部２６は、通信時間計測部２２が計測した通信時間に基づいて、１ライン分のイメージデータの受信にかかる通信時間より当該１ライン分のイメージデータの印刷にかかる印刷時間が短い場合、データ蓄積印刷処理を印刷部３０に実行させる。一方、印刷方式制御部２６は、通信時間計測部２２が計測した通信時間に基づいて、１ライン分のイメージデータの受信にかかる通信時間より当該１ライン分のイメージデータの印刷にかかる印刷時間が長い場合、１ライン分のイメージデータを受信する毎に印刷を行う印刷処理を印刷部３０に実行させる。
【０１１５】
（プリンタ装置１００Ｃが実行する印刷処理の動作）
図１１は、本実施形態による印刷処理の一例を示すフローチャートである。この図を参照して、プリンタ装置１００Ｃが実行する印刷処理の動作を説明する。
【０１１６】
図１１のステップＳ５０２、Ｓ５０４、Ｓ５０６，Ｓ５０８，及びＳ５１０の各処理は、図３のステップＳ２０２、Ｓ２０４、Ｓ２０６，Ｓ２０８，及びＳ２１０の各処理と同様である。即ち、通信時間計測部２２は、ステップＳ５０６でイメージデータの受信が開始されると、１ライン分のイメージデータの通信時間を計測する。その後、ステップＳ５１２の処理に進む。
【０１１７】
（ステップＳ５１２）印刷方式制御部２６は、通信時間計測部２２が計測した１ライン分のイメージデータの通信時間と、１ライン分のイメージデータの印刷時間との比較を行う。例えば、印刷方式制御部２６は、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間の方が長いか否かを判定する。印刷方式制御部２６は、１ライン分のイメージデータの印刷時間の方が長くないと判定した場合（ＮＯ）、データ蓄積印刷処理を印刷部３０に実行させる指示をする。そして、ステップＳ６００のデータ蓄積印刷処理に進む。このデータ蓄積印刷処理については、図１２を参照して後述する。一方、印刷方式制御部２６は、１ライン分のイメージデータの印刷時間の方が長いと判定した場合（ＹＥＳ）、１ライン分のイメージデータを受信する毎に印刷を行う印刷処理を印刷部３０に実行させる指示をする。そして、ステップＳ５１８の処理に進む。
【０１１８】
（ステップＳ５１８）印刷部３０は、受信済みの１ライン分のイメージデータを、所定の印刷速度で印刷する。印刷が完了すると、ステップＳ５２０の処理に進む。
【０１１９】
（ステップＳ５２０）印刷部３０は、１ページ分（１レシート分）のすべてのラインのイメージデータを印刷したか否かを判定する。印刷部３０は、すべてのラインのイメージデータを印刷したと判定した場合（ＹＥＳ）、印刷処理を終了する。一方、すべてのラインのイメージデータを印刷していないと印刷部３０が判定した場合（ＮＯ）、ステップＳ５２２の処理に進む。
【０１２０】
（ステップＳ５２２）印刷部３０は、次の１ライン分のイメージデータの通信が完了したか否かを判定する。印刷部３０は、次の１ライン分のイメージデータの通信が完了していないと判定した場合（ＮＯ）、ステップＳ５２２の処理を再度実行する。そして、次の１ライン分のイメージデータの通信が完了したと印刷部３０が判定した場合（ＹＥＳ）、ステップＳ５１８の処理に戻り、印刷部３０は、次の１ラインのイメージデータを所定の印刷速度で印刷する。
【０１２１】
なお、本処理では、ステップＳ５１２の処理において、１ライン分のイメージデータの通信時間より１ライン分のイメージデータの印刷時間が長いと判定されている。そのため、印刷が完了したラインの次の１ラインのイメージデータは、受信済みの状態となっており、ステップＳ５２２ではＹＥＳと判定される。従って、印刷部３０は、所定の印刷速度で、次の１ラインのイメージデータを続けて印刷する。
【０１２２】
（データ蓄積印刷処理の動作）
次に、図１２を参照して、図１１のステップＳ６００のデータ蓄積印刷処理の動作を説明する。図１２は、本実施形態によるデータ蓄積印刷処理の一例を示すフローチャートである。
【０１２３】
図９に示すデータ蓄積印刷処理には、ステップＳ４０４のイメージデータの受信を開始する処理が含まれていたが、本実施形態では、図１１のステップＳ５０６で既にイメージデータの受信を開始しているため、データ蓄積印刷処理であらためてイメージデータの受信を開始する処理は含まれない。それ以外の図１２のステップＳ６０２、Ｓ６０６、Ｓ６０８、Ｓ６１０、及びＳ６１２の各処理は、図９のステップＳ４０２、Ｓ４０６、Ｓ４０８、Ｓ４１０、及びＳ４１２の各処理と同様である。
【０１２４】
つまり、印刷方式制御部２６は、印刷開始位置（何ライン目から印刷を開始するか）を計算し、メモリ２７に保存されたイメージデータのライン数がその印刷開始位置（印刷開始タイミング）であると判定された場合、印刷部３０に印刷の開始を指示する。印刷部３０は、メモリ２７に保存されているイメージデータを、１ライン目から順に所定の印刷速度で続けて印刷する。
【０１２５】
以上説明したように、本実施形態によるプリンタ装置１００Ｃは、第３の実施形態によるプリンタ装置１００Ｂと同様に、第１通信部１１、第２通信部１２、及び第３通信部１３と、印刷方式制御部２６（印刷制御部の一例）と、を備えている。
【０１２６】
これにより、プリンタ装置１００Ｃは、受信するイメージデータの通信時間（データ転送時間）に応じてイメージデータの印刷開始タイミングを適切に調整することができる。よって、プリンタ装置１００Ｃは、ホスト装置２００側のプログラムやプリンタ装置１００Ｃの構成を大きく変更することなく印刷品位の低下を防ぐことができる。
【０１２７】
また、プリンタ装置１００Ｃは、第１通信部１１、第２通信部１２、及び第３通信部１３が受信するイメージデータ（印刷データ）の通信時間（データ転送時間）を計測する通信時間計測部２２（計測部の一例）を備えている。そして、印刷方式制御部２６は、通信時間計測部２２が計測した通信時間（データ転送時間）に基づいて、印刷開始タイミングを制御する。
これにより、プリンタ装置１００Ｃは、イメージデータの通信時間を計測することにより、印刷開始タイミングを切り替えることができる。
【０１２８】
なお、上述した実施形態におけるプリンタ装置１００（１００Ａ、１００Ｂ、１００Ｃ）が備える各部の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１２９】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１３０】
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
【符号の説明】
【０１３１】
１  ＰＯＳシステム、１１  第１通信部、１２  第２通信部、１３  第３通信部、２０  ＣＰＵ、２１  通信時間予測部、２２  通信時間計測部、２５  印刷速度制御部、２６  印刷方式制御部、２７  メモリ、３０  印刷部、１００，１００Ａ，１００Ｂ，１００Ｃ  プリンタ装置、２００  ホスト装置
【図１】
2016221705.tif 000003
【図２】
2016221705.tif 000004
【図３】
2016221705.tif 000005
【図４】
2016221705.tif 000006
【図５】
2016221705.tif 000007
【図６】
2016221705.tif 000008
【図７】
2016221705.tif 000009
【図８】
2016221705.tif 000010
【図９】
2016221705.tif 000011
【図１０】
2016221705.tif 000012
【図１１】
2016221705.tif 000013
【図１２】
2016221705.tif 000014