(57)【要約】【課題】Ｄ４通信に用いられる従来のパケットサイズは、プリンタの性能を反映せずに決定されており、その結果、プリンタによっては、プリンタの持つ印刷処理能力に見合う印刷効率を発揮できないでいた。【解決手段】ホストコンピュータから印刷データを受信して印刷するプリンタにおいて、印刷開始時に前記ホストコンピュータからの第１の要求に応答して、前記印刷データの送信パケットサイズを返信し、送信パケット数を要求する前記ホストコンピュータからの第２の要求に応答して、受信可能な送信パケット数を返信し、当該返信した送信パケット数の印刷データを前記ホストコンピュータから受信するインタフェースタスクと、前記ホストコンピュータから送信された印刷データを一時的に蓄積するバッファと、前記バッファに蓄積された印刷データを処理して印刷エンジンに印刷を指令する印刷タスクとを有し、前記インタフェースタスクにより、前記第１の要求に応答して返信する送信パケットサイズが、前記バッファのサイズに依存したサイズであることを特徴とするプリンタを提供する。【選択図】図２
2004102378.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから印刷データを受信して印刷するプリンタにおいて、
印刷開始時に前記ホストコンピュータからの第１の要求に応答して、前記印刷データの送信パケットサイズを返信し、送信パケット数を要求する前記ホストコンピュータからの第２の要求に応答して、受信可能な送信パケット数を返信し、当該返信した送信パケット数の印刷データを前記ホストコンピュータから受信するインタフェースタスクと、
前記ホストコンピュータから送信された印刷データを一時的に蓄積するバッファと、
前記バッファに蓄積された印刷データを処理して印刷エンジンに印刷を指令する印刷タスクとを有し、
前記インタフェースタスクにより、前記第１の要求に応答して返信する送信パケットサイズが、前記バッファのサイズに依存したサイズであることを特徴とするプリンタ。
【請求項２】
請求項１において、
前記送信パケットサイズは、前記バッファサイズが第１のサイズの時は、第１のパケットサイズであり、前記バッファサイズが前記第１のサイズよりも大きい第２のサイズの時は、前記第１のパケットサイズよりも大きい第２のパケットサイズであることを特徴とするプリンタ。
【請求項３】
請求項１において、
前記インタフェースタスクは、前記印刷タスクよりも高い優先度で実行されることを特徴とするプリンタ。
【請求項４】
画像送信端末から画像データを受信して表示する画像表示装置において、
表示開始時に前記画像送信端末からの第１の要求に応答して、前記画像データの送信パケットサイズを返信し、送信パケット数を要求する前記画像送信端末からの第２の要求に応答して、受信可能な送信パケット数を返信し、当該返信した送信パケット数の画像データを前記画像送信端末から受信するインタフェースタスクと、
前記画像送信端末から送信された画像データを一時的に蓄積するバッファと、
前記バッファに蓄積された画像データを処理して画像表示部に画像を出力する出力タスクとを有し、
前記インタフェースタスクにより、前記第１の要求に応答して返信する送信パケットサイズが、前記バッファのサイズに依存したサイズであることを特徴とする画像表示装置。
【請求項５】
画像送信端末から画像データを受信して蓄積する画像蓄積装置において、
蓄積開始時に前記画像送信端末からの第１の要求に応答して、前記画像データの送信パケットサイズを返信し、送信パケット数を要求する前記画像送信端末からの第２の要求に応答して、受信可能な送信パケット数を返信し、当該返信した送信パケット数の画像データを前記画像送信端末から受信するインタフェースタスクと、
前記画像送信端末から送信された画像データを一時的に蓄積するバッファと、
前記バッファに蓄積された画像データを処理して画像蓄積部に画像を蓄積する蓄積タスクとを有し、
前記インタフェースタスクにより、前記第１の要求に応答して返信する送信パケットサイズが、前記バッファのサイズに依存したサイズであることを特徴とする画像蓄積装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷データの転送効率を高くするプリンタに関する。
【０００２】
【従来の技術】
プリンタは、ホストコンピュータから送信される印刷データを受信後、それを一時的にバッファと呼ばれる記憶装置に格納し、紙などの媒体やファイルに出力する。また、プリンタは、印刷進行状況、紙詰まり、またはインク切れなどの情報を印刷ステータスとしてホストコンピュータへ送信する。そのために、プリンタは、ＩＥＥＥ１２８４．４という通信規格を用いて、ホストコンピュータとデータの送受信を行う。この通信（以降Ｄ４通信と呼ぶ）では、印刷ステータスや印刷データ等、扱うデータによりチャネルを分けて通信が行われる。
【０００３】
ホストコンピュータとプリンタは、印刷データを、パケットサイズを単位とするパケットに分割し、Ｄ４通信を行う。従来においては、印刷データを扱うチャネルを初期化する際に、ホストコンピュータにインストールされたプリンタドライバが指定するパケットサイズが、そのままパケットサイズとして固定的に設定されていた。つまり、プリンタの印刷処理能力やそれに伴う受信バッファサイズのサイズに依存せずに、パケットサイズが決定されていた。
【０００４】
チャネル初期化後、印刷データを転送するために、次の通信処理が行われる。即ち、最初にホストコンピュータが、プリンタドライバを介して、プリンタで一度に受信可能なパケット数を要求する（クレジット要求）。これに応答して、プリンタのインタフェースタスクは、受信バッファ内の空き領域に応じて、受信可能なパケット数を返信する。受信バッファ内に空き領域が存在しない場合は、プリンタのインタフェースタスクは、ゼロクレジット（パケット数ゼロ）を返信し、それに応答して、プリンタドライバは、所定時間経過後に再度クレジット要求を送信する。
【０００５】
プリンタから受信可能なパケット数が返信されると、ホストコンピュータは、プリンタドライバを介して、印刷データを、パケット数分だけ一度に送信する。この印刷データの転送処理では、パケット数分の印刷データが連続して送信され、パケット毎に受信確認を行うことはない。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来は、プリンタの種類に関わらず、印刷データを転送する際のパケットサイズを固定的に設定していたため、ある印刷処理能力を有しある受信バッファサイズのプリンタでは、ある印刷効率を達成することができていたが、それより印刷処理能力を有しそれに伴って受信バッファサイズも大きくなったプリンタでは、同じパケットサイズでは、それに見合った印刷効率に高めることができないでいた。
【０００７】
そこで、本発明の目的は、印刷データの転送処理におけるパケットサイズを最適化し、印刷効率の高いプリンタを提供することにある。
【０００８】
【課題を解決するための手段】
上記目的は、本発明第１の発明によれば、ホストコンピュータから印刷データを受信して印刷するプリンタにおいて、印刷開始時に前記ホストコンピュータからの第１の要求に応答して、前記印刷データの送信パケットサイズを返信し、送信パケット数を要求する前記ホストコンピュータからの第２の要求に応答して、受信可能な送信パケット数を返信し、当該返信した送信パケット数の印刷データを前記ホストコンピュータから受信するインタフェースタスクと、前記ホストコンピュータから送信された印刷データを一時的に蓄積するバッファと、前記バッファに蓄積された印刷データを処理して印刷エンジンに印刷を指令する印刷タスクとを有し、前記インタフェースタスクにより、前記第１の要求に応答して返信する送信パケットサイズが、前記バッファのサイズに依存したサイズであることを特徴とするプリンタを提供することにより達成される。
【０００９】
第１の発明により、プリンタに搭載されたバッファサイズに応じて最適化されたパケットサイズがプリンタにより設定される。つまり、プリンタによって、最適なパケットサイズが個別に設定される。パケットサイズが最適化されると、クレジット要求とそれに受信可能パケット数を応答する回数や、ゼロクレジットが発生する回数が減少する。従って、ホストコンピュータとプリンタ間で行われる印刷データ転送処理におけるオーバヘッドを減少させることが可能となる。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲はかかる実施の形態によって限定されるものではなく、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【００１１】
図１は、パケットサイズと印刷効率の分布図である。縦軸は、印刷効率、横軸は、パケットサイズを表しており、印刷効率が最も高くなる最適なパケットサイズがプリンタ毎に存在する。プリンタＢは、プリンタＡと比較すると、印刷処理能力が高く、それに伴って受信バッファサイズも大きい機種である。図１の例では、プリンタＡでは、パケットサイズを４キロバイトに設定すると、最も印刷効率がよく、プリンタＢでは、パケットサイズを１６キロバイトに設定した場合が、最も効率がよい。
【００１２】
印刷データの転送処理では、クレジット要求とそれに対する受信可能なパケット数の応答が、印刷データ転送処理のオーバヘッドとなっている。そして、クレジット要求に対してゼロクレジットが返信されることは、そのオーバヘッドの増大を意味する。更に、１つの印刷ジョブで印刷データ送信に必要なクレジット要求とその応答回数が増大すると、同様にオーバヘッドの増大を意味する。
【００１３】
処理能力が大きくそれに伴い受信バッファサイズも大きいプリンタの場合は、受信バッファの空き速度も大きくなる傾向にあり、あまりパケットサイズを小さく設定すると、同じ量の印刷データを送信するためのクレジット要求とその応答処理の回数が多くなり、オーバヘッドの増大を招く。
【００１４】
一方あまりにパケットサイズを大きく設定すると、クレジット要求に対してゼロクレジットの応答頻度が高くなるため、逆にオーバヘッドの増大を招く。
【００１５】
オーバヘッドが増大すると、印刷効率が減少するため、図１においては、最適なパケットサイズ以外では、印刷効率が下がる。また、図１においては、あるプリンタに対して印刷効率を最も高くするパケットサイズであっても、別のプリンタに対しても印刷効率を最も高くするものとは必ずしもならないことがわかる。図１により、印刷効率を高くするためには、プリンタ毎に最適なパケットサイズを設定する必要がある。
【００１６】
図２は、本発明の実施の一形態における構成例を示す図である。ホストコンピュータ１０とプリンタ２０は、印刷データおよび印刷ステータスなどのデータを送受信するために、Ｄ４通信を行う。Ｄ４通信では、扱うデータ毎にチャネルを分けて通信が行われ、チャネルの初期化の際に、ホストコンピュータ１０とプリンタ２０は、以降の通信に使用するパケットサイズを決定する。そして、ホストコンピュータ１０は、印刷データ等を、決定されたパケットサイズ毎に複数のパケットに分割し、プリンタ２０に送信する。
【００１７】
送信されたパケットは、外部との通信を制御するインタフェースタスク２２で受信される。インタフェースタスク２２は、受信したパケットを受信バッファ２３に格納する。
【００１８】
印刷タスク２４は、受信バッファ２３に格納されたパケットから、分割前のデータを再構築する。印刷タスク２４は、再構築された印刷データを、印刷エンジン２５で印刷するために、受信した印刷データを印字可能データに変換すると同時に、印刷エンジン２５に供給する。
【００１９】
印字可能データへの変換とは、例えば、印刷エンジンのインクヘッドに備えられた各色のノズルの駆動に対応するデータに展開することである。印字可能データに変換した後印刷タスク２４は、印刷エンジン２５に、変換されたデータと印刷エンジンの制御コマンドを送信する。印刷エンジン２５は、例えば、インクヘッドおよび給排紙機構などを有し、印刷タスク２４からの制御コマンドに従って紙などの媒体に印刷を行う。
【００２０】
印刷タスク２４の処理によって、受信バッファ２３からデータが読み出されるので、受信バッファ２３には空き領域が生じる。ホストコンピュータ１０は、受信バッファ２３に空き領域があれば、残りの印刷データを転送し終えるまで、順次データ転送処理を行う。
【００２１】
なお、インタフェースタスク２２および印刷タスク２４は、メモリ２６に格納されるアプリケーションプログラムをＣＰＵ２１が実行することで機能的に実現されるが、装置として実現することも可能である。
【００２２】
図３は、受信バッファ２３の内部を模式的に表した一例を示す図である。受信バッファをパケットサイズ毎に区切ったときの１つのブロックをクレジット２７と呼ぶ。１クレジットの大きさは、パケットサイズに等しく、クレジット数とパケット数は１対１に対応する。すなわち、空きクレジット数に等しいパケット数を受信可能である。図３では、プリンタＡの３２キロバイトの受信バッファに対し、パケットサイズが４キロバイトの８クレジットが含まれる。また、プリンタＢの１２８キロバイトの受信バッファに対し、パケットサイズが１６キロバイトの８クレジットが含まれる。
【００２３】
図４は、本発明におけるデータ転送処理である。使用するプリンタの印刷効率が最も高くなる最適なパケットサイズが１６キロバイトであるとする。図１および図２のプリンタＢを使用し、印刷データを転送する際のパケットサイズが、１６キロバイトに設定されることによって、印刷効率が最適化される例である。
【００２４】
まず、ホストコンピュータ１０は、オープンチャネルリクエストコマンドを送信し、データ転送に使用するチャネルの初期化を行う（Ｓ４０１）。コマンドの引数として、ホストコンピュータ１０は、パケットサイズを６５，５３５バイトと指定する。これは、図５にて説明するパケットサイズフィールドで表現できる最大数である。
【００２５】
プリンタ２０は、ステップＳ４０１で送信されたオープンチャネルリクエストコマンドへの応答として、オープンチャネルリプライコマンドをホストコンピュータ１０に送信する（Ｓ４０２）。最適なパケットサイズのデータは、例えば、図示省略されたＲＯＭ（ＲｅａｄＯｎｌｙＭｅｍｏｒｙ）に出荷時に記録され、プリンタの電源投入時にメモリ２６にロードされる。
【００２６】
ここでは、メモリ２６から読み出された最適なパケットサイズデータである１６キロバイトが、ホストコンピュータ２０に応答される。ステップＳ４０１、Ｓ４０２により、以降のデータ転送処理で使用されるパケットサイズが１６キロバイトと決定される。
【００２７】
次に、ホストコンピュータ１０は、印刷データを転送するために、受信バッファの受信可能パケット数を要求する（Ｓ４０３）。プリンタ２０では、受信バッファ２３の空きクレジット数を受信可能パケット数として応答する（Ｓ４０４）。図４の場合、初期状態で受信バッファ２３は空であり、ホストコンピュータ１０に、８クレジットの空きが通知される。ホストコンピュータ１０は、ステップＳ４０４で応答されたクレジット数に合わせてデータを送信する（Ｓ４０５）。ホストコンピュータ１０は、８パケットをプリンタ２０に送信する。
【００２８】
ステップＳ４０５から所定時間経過後、ホストコンピュータ１０は、再び受信バッファ２３の受信可能パケット数を要求する（Ｓ４０６）。プリンタ２０は、受信バッファの空きクレジット数を受信可能パケット数として応答する（Ｓ４０７）。ここでは、ホストコンピュータ１０に、３クレジットの空きが通知される。　ホストコンピュータ１０は、ステップＳ４０７で通知されたクレジット数に合わせてデータを送信する（Ｓ４０８）。以降、すべての印刷データが転送されるまで、ステップＳ４０６からステップＳ４０８が繰り返される。
【００２９】
また、図４において、図１および図２のプリンタＡを使用した場合は、ステップＳ４０２でプリンタ２０が応答するパケットサイズが４キロバイトとなり、その後のデータ転送処理が最適化される。パケットサイズが４キロバイトであることから、ステップＳ４０４以降のクレジット数がそれに応じて変化する。例えば、ステップＳ４０４でプリンタが応答する空きクレジット数は、図４と同じ状況であるとすれば、３２クレジットである。
【００３０】
本発明では、チャネル初期化処理において、ホストコンピュータのプリンタドライバが、設定可能な最大パケットサイズと共にオープンチャネルリクエストを送信すると、プリンタのインタフェースタスクは、自身のプリンタの受信バッファサイズなどに応じて最適化されたパケットサイズを送信する。つまり、プリンタによって最適なパケットサイズが個別に設定される。従って、その後の印刷データの転送効率を高くすることができる。
【００３１】
上記のインタフェースタスク２２は、データ通信を安定化させるために、プリンタ内において、データ変換処理などを行う印刷タスク２４などに比較してより高い優先度でＣＰＵなどのリソースを占有する。これは、もしインタフェースタスク２２の優先度が印刷タスク２４などよりも低いと、ホストコンピュータ１０とインタフェースタスク２２がデータ通信中であっても、優先度の高い他のタスクによる割り込み処理がおき、データ通信が中断される。すると、データ通信を最初からやり直すことになり、ホストコンピュータ１０、プリンタ２０で更にリソースを消費し、印刷効率を悪くするためである。
【００３２】
従って、この優先度の高いインタフェースタスク２２による印刷データの転送効率を上げることで、データ変換処理を行う印刷タスク２４の処理時間も長くなり、さらに印刷処理効率を高めることができる。
【００３３】
また、ステップＳ４０１にて、ホストコンピュータ１０は、プリンタドライバを介して、設定可能なパケットサイズの最大値を設定するため、プリンタドライバのバージョンをアップグレードしても、プリンタドライバ側に設定されるパケットサイズに変更を加える必要はない。
【００３４】
また、ステップＳ４０２にて、プリンタ２０が応答する最適なパケットサイズとしては、受信バッファサイズのＮ分の１の大きさに設定するのが好ましい。例えば、受信バッファサイズの８分の１が最適である。
【００３５】
また、最適なパケットサイズの別の選択としては、ある基準値を境に、基準値以上のバッファサイズを持つプリンタと、基準値未満のバッファサイズを持つプリンタで、プリンタが応答するパケットサイズを分けて設定することもできる。例えば、１２８キロバイト以上バッファサイズがある場合は、パケットサイズを１６キロバイトと応答し、１２８キロバイト未満であれば、８キロバイトと応答することが可能である。
【００３６】
図５は、パケットサイズフィールドを説明する図である。図５には、Ｄ４通信にて使用されるパケット５１が描かれている。パケット５１は、ある用途に使用される複数のフィールドに区切られる。その中に、パケットサイズを決定するパケットサイズフィールド５２が２バイト確保される。このパケットサイズフィールド５２に、指定できる値は、０〜６５，５３５バイトとなっている。図５に示されているのは、パケットサイズを１６キロバイトに設定する例である。
【００３７】
なお、図示は省略するが、本発明は、デジタルカメラなどの画像送信端末を、液晶ディスプレイやテレビモニタなどの画像表示端末に接続し、データ転送処理を行う際にも適用が可能である。
【００３８】
また、図示は省略するが、本発明は、デジタルカメラなどの画像送信端末を、ＰＣやストレージなどの画像蓄積装置に接続し、データ転送処理を行う際にも適用が可能である。
【図面の簡単な説明】
【図１】パケットサイズと印刷効率の分布図
【図２】実施の一形態における構成例を示す図
【図３】受信バッファの内部を模式的に表した一例を示す図
【図４】本発明におけるデータ転送処理を説明する図
【図５】パケットサイズフィールドを説明するための図
【符号の説明】
１０　ホストコンピュータ、　２０　プリンタ、　２１　ＣＰＵ、
２２　インタフェースタスク、　２３　バッファ、　２４　印刷タスク、
２５　印刷エンジン、　２６　メモリ、　２７　クレジット
【図１】
2004102378.tif 000003
【図２】
2004102378.tif 000004
【図３】
2004102378.tif 000005
【図４】
2004102378.tif 000006
【図５】
2004102378.tif 000007