(57)【要約】【課題】ホスト側装置の処理能力によらず、確実で高速なデータ転送を実現することができるデータ転送方法及びデータ転送装置印刷方法及び印刷装置及びデータ転送装置の制御プログラム及び記憶媒体を提供する。【解決手段】ホストＰＣ１０１とプリンタ１０２との間のデータ転送を行うデータ転送装置において、データ終了を検知するタイマの設定時間をホストＰＣ１０１の状態に応じて変更するように、プリンタコントローラ１０４が制御する。【選択図】　　　図２
2004133537.tif 000002
【特許請求の範囲】
【請求項１】
ホスト側装置と周辺機器との間のデータ転送を行うデータ転送方法において、
データ終了を検知するタイマの設定時間を前記ホスト側装置の状態に応じて変更するように制御する制御ステップを有することを特徴とするデータ転送方法。
【請求項２】
前記ホスト側装置とは、コンピュータであることを特徴とする請求項１に記載のデータ転送方法。
【請求項３】
前記周辺機器とは、プリンタであることを特徴とする請求項１に記載のデータ転送方法。
【請求項４】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）の種類であることを特徴とする請求項１に記載のデータ転送方法。
【請求項５】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）の動作周波数であることを特徴とする請求項１に記載のデータ転送方法。
【請求項６】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）のキャッシュ容量であることを特徴とする請求項１に記載のデータ転送方法。
【請求項７】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）の使用効率であることを特徴とする請求項１に記載のデータ転送方法。
【請求項８】
前記ホスト側装置の状態とは、メモリの搭載量であることを特徴とする請求項１に記載のデータ転送方法。
【請求項９】
前記ホスト側装置の状態とは、メモリの使用率であることを特徴とする請求項１に記載のデータ転送方法。
【請求項１０】
前記ホスト側装置の状態とは、ハードディスクの性能であることを特徴とする請求項１に記載のデータ転送方法。
【請求項１１】
前記ホスト側装置の状態とは、ＯＳ（オペレーティングシステム）での実行中のタスク量であることを特徴とする請求項１に記載のデータ転送方法。
【請求項１２】
データ転送量の変化によりデータ転送の有無を判断する判断ステップを有することを特徴とする請求項１に記載のデータ転送方法。
【請求項１３】
前記ホスト側装置の状態を示す情報を前記周辺機器に送信する際には、データ転送に用いられるデータ転送路とは異なるデータ転送路を用いることを特徴とする請求項１に記載のデータ転送方法。
【請求項１４】
ホスト側装置と周辺機器との間のデータ転送を行うデータ転送方法において、
データ終了を検知するタイマの設定時間を前記ホスト側装置の処理能力計測結果に応じて変更するように制御する制御ステップを有することを特徴とするデータ転送方法。
【請求項１５】
前記ホスト側装置とは、コンピュータであることを特徴とする請求項１４に記載のデータ転送方法。
【請求項１６】
前記周辺機器とは、プリンタであることを特徴とする請求項１４に記載のデータ転送方法。
【請求項１７】
前記タイマの設定時間の変更は、該タイマが動作していない時に実行することを特徴とする請求項１４に記載のデータ転送方法。
【請求項１８】
データ転送量の変化によりデータ転送の有無を判断する判断ステップを有することを特徴とする請求項１４に記載のデータ転送方法。
【請求項１９】
前記ホスト側装置の処理能力計測結果を示す情報を前記デバイスに送信する際には、データ転送に用いられるデータ転送路とは異なるデータ転送路を用いることを特徴とする請求項１４に記載のデータ転送方法。
【請求項２０】
ホスト側装置と周辺機器との間のデータ転送を行うデータ転送装置において、
データ終了を検知するタイマの設定時間を前記ホスト側装置の状態に応じて変更するように制御する制御手段を有することを特徴とするデータ転送装置。
【請求項２１】
前記ホスト側装置とは、コンピュータであることを特徴とする請求項２０に記載のデータ転送装置。
【請求項２２】
前記周辺機器とは、プリンタであることを特徴とする請求項２０に記載のデータ転送装置。
【請求項２３】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）の種類であることを特徴とする請求項２０に記載のデータ転送装置。
【請求項２４】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）の動作周波数であることを特徴とする請求項２０に記載のデータ転送装置。
【請求項２５】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）のキャッシュ容量であることを特徴とする請求項２０に記載のデータ転送装置。
【請求項２６】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）の使用効率であることを特徴とする請求項２０に記載のデータ転送装置。
【請求項２７】
前記ホスト側装置の状態とは、メモリの搭載量であることを特徴とする請求項２０に記載のデータ転送装置。
【請求項２８】
前記ホスト側装置の状態とは、メモリの使用率であることを特徴とする請求項２０に記載のデータ転送装置。
【請求項２９】
前記ホスト側装置の状態とは、ハードディスクの性能であることを特徴とする請求項２０に記載のデータ転送装置。
【請求項３０】
前記ホスト側装置の状態とは、ＯＳ（オペレーティングシステム）での実行中のタスク量であることを特徴とする請求項２０に記載のデータ転送装置。
【請求項３１】
データ転送量の変化によりデータ転送の有無を判断する判断手段を有することを特徴とする請求項２０に記載のデータ転送装置。
【請求項３２】
前記ホスト側装置の状態を示す情報を前記デバイスに送信する際には、データ転送に用いられるデータ転送路とは異なるデータ転送路を用いることを特徴とする請求項２０に記載のデータ転送装置。
【請求項３３】
ホスト側装置と周辺機器との間のデータ転送を行うデータ転送装置において、
データ終了を検知するタイマの設定時間を前記ホスト側装置の処理能力計測結果に応じて変更するように制御する制御手段を有することを特徴とするデータ転送装置。
【請求項３４】
前記ホスト側装置とは、コンピュータであることを特徴とする請求項３３に記載のデータ転送装置。
【請求項３５】
前記周辺機器とは、プリンタであることを特徴とする請求項３３に記載のデータ転送装置。
【請求項３６】
前記タイマの設定時間の変更は、該タイマが動作していない時に実行することを特徴とする請求項３３に記載のデータ転送装置。
【請求項３７】
データ転送量の変化によりデータ転送の有無を判断する判断ステップを有することを特徴とする請求項３３に記載のデータ転送装置。
【請求項３８】
前記ホスト側装置の処理能力計測結果を示す情報を前記デバイスに送信する際には、データ転送に用いられるデータ転送路とは異なるデータ転送路を用いることを特徴とする請求項３３に記載のデータ転送装置。
【請求項３９】
請求項１乃至１９に記載のデータ転送方法を用いてデータ転送を行うことを特徴とする印刷方法。
【請求項４０】
請求項２０乃至３８に記載のデータ転送装置を用いてデータ転送を行うことを特徴とする印刷装置。
【請求項４１】
ホスト側装置と周辺機器との間のデータ転送を行うデータ転送装置を制御するためのコンピュータ読み取り可能な制御プログラムであって、
データ終了を検知するタイマの設定時間を前記ホスト側装置の状態に応じて変更するように制御する制御ステップをコンピュータに実行させるためのプログラムコードから成ることを特徴とするデータ転送装置の制御プログラム。
【請求項４２】
前記ホスト側装置とは、コンピュータであることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項４３】
前記周辺機器とは、プリンタであることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項４４】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）の種類であることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項４５】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）の動作周波数であることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項４６】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）のキャッシュ容量であることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項４７】
前記ホスト側装置の状態とは、ＣＰＵ（中央演算処理装置）の使用効率であることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項４８】
前記ホスト側装置の状態とは、メモリの搭載量であることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項４９】
前記ホスト側装置の状態とは、メモリの使用率であることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項５０】
前記ホスト側装置の状態とは、ハードディスクの性能であることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項５１】
前記ホスト側装置の状態とは、ＯＳ（オペレーティングシステム）での実行中のタスク量であることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項５２】
データ転送量の変化によりデータ転送の有無を判断する判断手段を有することを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項５３】
前記ホスト側装置の状態を示す情報を前記デバイスに送信する際には、データ転送に用いられるデータ転送路とは異なるデータ転送路を用いることを特徴とする請求項４１に記載のデータ転送装置の制御プログラム。
【請求項５４】
ホスト側装置とデバイスとの間のデータ転送を行うデータ転送装置を制御するためのコンピュータ読み取り可能な制御プログラムであって、
データ終了を検知するタイマの設定時間を前記ホスト側装置の処理能力計測結果に応じて変更するように制御するステップをコンピュータに実行させるためのプログラムコードから成ることを特徴とするデータ転送装置の制御プログラム。
【請求項５５】
前記ホスト側装置とは、コンピュータであることを特徴とする請求項５４に記載のデータ転送装置の制御プログラム。
【請求項５６】
前記周辺機器とは、プリンタであることを特徴とする請求項５４に記載のデータ転送装置の制御プログラム。
【請求項５７】
前記タイマの設定時間の変更は、該タイマが動作していない時に実行することを特徴とする請求項５４に記載のデータ転送装置の制御プログラム。
【請求項５８】
データ転送量の変化によりデータ転送の有無を判断する判断ステップを有することを特徴とする請求項５４に記載のデータ転送装置の制御プログラム。
【請求項５９】
前記ホスト側装置の処理能力計測結果を示す情報を前記周辺機器に送信する際には、データ転送に用いられるデータ転送路とは異なるデータ転送路を用いることを特徴とする請求項５４に記載のデータ転送装置の制御プログラム。
【請求項６０】
請求項４１乃至５９に記載の制御プログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホスト側装置と周辺機器との間のデータ転送を行うデータ転送方法及びデータ転送装置及び印刷方法及び印刷装置及びデータ転送装置の制御プログラム及び記憶媒体に関する。
【０００２】
【従来の技術】
ホスト側装置である例えばＰＣ（パーソナルコンピュータ）に周辺機器である例えばプリンタ（印刷装置）を接続する方法として、近年ＵＳＢの普及が進んでいる。ＵＳＢは、既存のレガシーインターフェースを統合していくことを目的に開発され、プラグアンドプレイ、活線挿抜による使い勝手の良さ、ポートの拡張性の高さ等から普及が進んでいる。更に、２０００年４月に正式な仕様が公開されたＵＳＢ規格Ｒｅｖ２．０仕様では、転送速度が４８０Ｍｂｐｓ迄引き上げられ、ＵＳＢの普及は、より一層進むものと考えられる。
【０００３】
【発明が解決しようとする課題】
ＵＳＢを使用したデータの転送方法では、ＵＳＢプロトコル上でのデータ転送の終了について規定されていない。ＵＳＢによるデータ転送方法を用いたプリンタでは、データ転送の終了が判断できないと、ＩＥＥＥ１２８４．４でのデータ転送と非ＩＥＥＥ１２８４．４でのデータ転送とが混在した場合、プリント動作に不具合が起きてしまう。
【０００４】
そのため、データ転送が終了したか否かの判断は、通常ショートパケットの認識により行われる。ＵＳＢでのデータ転送では、最大パケットサイズより大きいデータ転送を行おうとした場合、データは、パケットサイズに分割されてデータ転送が行われる。例えば、フルスピードのバルク転送を行おうとした場合、その最大パケットサイズは６４バイトである。フルスピードのバルク転送で２００バイトのデータを転送しようとした場合、データは６４バイト、６４バイト、６４バイト、８バイトとデータを分割して転送する。
【０００５】
このように、データ転送では、データ転送終了の最後のパケットまでは、最大パケット長でデータ転送が行われ、最後のパケットのみ最大パケットサイズに満たないデータ量でデータ転送が行われる。つまり、最大パケットサイズに満たないデータが転送されたことを認識して、データ転送が終了したものと判断する。
【０００６】
しかし、これだけでは最大パケットサイズの整数倍のデータを転送しようとした場合に、データ転送を終了したことを認識することができない。
【０００７】
そこで、最大パケットサイズの整数倍のデータ転送での転送終了検知には、通常はタイマを使用した方法が用いられる。この方法は、最大パケット長のデータが送られて来ても、一定時間次のパケットの受信がない場合は、データ転送が終了したものと判断するものである。
【０００８】
この方法では、データ転送が終了したものと見なすまでの時間設定を慎重に行わなければならない。何故ならば、ＵＳＢによるプリンタのデータ転送の場合、ＩＥＥＥ１２８４．４のデータと非ＩＥＥＥ１２８４．４のデータとを混在させてデータ転送を行う場合、設定時間が短すぎると、ＣＰＵによるＩＥＥＥ１２８４．４でのデータ転送か、非ＩＥＥＥ１２８４．４でのデータ転送かを判断する回数が増えてしまうため、データ転送速度が遅くなってしまう。逆に、長すぎた場合は、データの区切りを認識できないため、データ転送が失敗してしまうからである。
【０００９】
一般に、ＵＳＢによるデータ転送の終了認識方法は、前述したショートパケットによる方法とタイマの設定時間による方法とを組み合わせて行う。
【００１０】
ＵＳＢ規格Ｒｅｖ２．０規格で新しく策定されたハイスピードモードは、フルスピードモードの４０倍高速であるが、下位互換性を保つため、フルスピードモードもサポートする必要がある。具体的には、周辺機器の上位側に接続されるホスト側装置がハイスピード対応であればハイスピードでの動作が、ホスト側装置がフルスピード対応であればフルスピードでの動作が、それぞれ要求される。
【００１１】
このため、前記データ転送終了の認識方式の時間設定をフルスピードと同じ時間とすると、ハイスピード動作にとっては長すぎる時間設定となる。また、同様に、ハイスピードモードにとって最適な設定時間は、フルスピードモードにとっては短すぎる時間設定となる。
【００１２】
また、前記タイマの設定時間による方法に関しては、ＵＳＢ規格Ｒｅｖ２．０で新しく策定されたハイスピードモードとフルスピードモードに応じてタイマを切り替える方法がある。
【００１３】
前記方法によれば、転送スピードに応じたタイマ設定値を自動的に設定することにより、確実で高速なＵＳＢによるデータ転送を実現することができる。
【００１４】
一方、データ転送レートが上がるに従って、ホストＰＣ（ホスト側装置）へ要求される処理能力も厳しいものとなっている。周辺機器がプリンタの場合、一般的にプリントデータがプリントされるまでのホストＰＣ側の処理としては、印刷要求を受け、アプリケーションによる画像データのデータ変換、プリンタドライバでの画像処理、プリンタ制御コマンドへのデータ変換という行程を経て、プリンタにデータが送信される。
【００１５】
プリンタへのデータ転送を行うに際して、ＵＳＢ規格の仕様で定義されている転送レートを最大限に用いるには、データ転送速度を超える速さで前記処理を行う必要がある。現実には、ユーザのホストＰＣ環境は様々であり、実際の転送レートもユーザにより様々な速度となっている。更には、近年普及が進んでいるＯＳはマルチタスク処理が行われ、同一ユーザにおいても実際の転送レートは、印刷要求時のホストＰＣの状況により異なるものとなっている。
【００１６】
特に、転送レートがフルスピードモードの４０倍となったハイスピードモードで顕著である。
【００１７】
そのため、前記公報に開示されている転送モードに応じたタイマ時間の設定のみでは、タイマ設定時間の最適化は充分とは言えないという問題点があった。
【００１８】
本発明は上述した従来技術の有する問題点を解消するためになされたものであり、その目的は、ホスト側装置の環境によらず、データ転送終了の検知を確実に行うことができるデータ転送方法及びデータ転送装置及び印刷方法及び印刷装置及びデータ転送装置の制御プログラム及び記憶媒体を提供することである。
【００１９】
【課題を解決するための手段】
上記目的を達成するために本発明のデータ転送方法は、ホスト側装置と周辺機器との間のデータ転送を行うデータ転送方法において、データ終了を検知するタイマの設定時間を前記ホスト側装置の状態に応じて変更するように制御する制御ステップを有することを特徴とする。
【００２０】
また、上記目的を達成するために本発明のデータ転送方法は、ホスト側装置と周辺機器との間のデータ転送を行うデータ転送方法において、データ終了を検知するタイマの設定時間を前記ホスト側装置の処理能力計測結果に応じて変更するように制御する制御ステップを有することを特徴とする。
【００２１】
また、上記目的を達成するために本発明のデータ転送装置は、ホスト側装置と周辺機器との間のデータ転送を行うデータ転送装置において、データ終了を検知するタイマの設定時間を前記ホスト側装置の状態に応じて変更するように制御する制御手段を有することを特徴とする。
【００２２】
また、上記目的を達成するために本発明のデータ転送装置は、ホスト側装置と周辺機器との間のデータ転送を行うデータ転送装置において、データ終了を検知するタイマの設定時間を前記ホスト側装置の処理能力計測結果に応じて変更するように制御する制御手段を有することを特徴とする。
【００２３】
また、上記目的を達成するために本発明の印刷方法は、前記データ転送方法を用いてデータ転送を行うことを特徴とする。
【００２４】
また、上記目的を達成するために本発明の印刷装置は、前記データ転送装置を用いてデータ転送を行うことを特徴とする。
【００２５】
また、上記目的を達成するために本発明のデータ転送装置の制御プログラムは、ホスト側装置と周辺機器との間のデータ転送を行うデータ転送装置を制御するためのコンピュータ読み取り可能な制御プログラムであって、データ終了を検知するタイマの設定時間を前記ホスト側装置の状態に応じて変更するように制御する制御ステップをコンピュータに実行させるためのプログラムコードから成ることを特徴とする。
【００２６】
また、上記目的を達成するために本発明のデータ転送装置の制御プログラムは、ホスト側装置と周辺機器との間のデータ転送を行うデータ転送装置を制御するためのコンピュータ読み取り可能な制御プログラムであって、データ終了を検知するタイマの設定時間を前記ホスト側装置の処理能力計測結果に応じて変更するように制御するステップをコンピュータに実行させるためのプログラムコードから成ることを特徴とする。
【００２７】
更に、上記目的を達成するために本発明の記憶媒体は、前記制御プログラムを格納したことを特徴とする。
【００２８】
【発明の実施の形態】
以下、本発明の各実施の形態を図面に基づき説明する。
【００２９】
（第一実施の形態）
まず、本発明の第一実施の形態を図１乃至図４に基づき説明する。
【００３０】
図１は、本実施の形態に係るデータ転送装置によりデータ転送を行うプリントシステムの構成を示すブロック図である。
【００３１】
同図において、１０１はホスト側装置であるホストＰＣ（パーソナルコンピュータ）、１０２は周辺機器（デバイス）であるプリンタ（印刷装置）であり、これらは外部バス１０２を介して互いに接続されている。プリンタ１０２は、プリンタコントローラ１０４とプリンタエンジン１０５とを有している。
【００３２】
そして、ホストＰＣ１０１で生成された画像データを、外部バス１０２を経由してプリンタ１０２に転送し、このプリンタ１０２によりプリント出力処理が行われる。プリンタコントローラ１０４では、ホストＰＣ１０１との通信に用いられる外部バス１０３とのインターフェース（Ｉ／Ｆ）制御を行う。
【００３３】
即ち、プリンタコントローラ１０４では、ホストＰＣ１０１から転送されるプリンタ制御コマンド（画像データを変換したもの）の解釈・ビットマップデータ生成、ビットマップデータ生成時における各種画像処理、ユーザからの操作を受け付け、プリンタエンジン１０５へのコマンド送信が主に行われる。
【００３４】
また、プリンタエンジン１０５では、プリンタコントローラ１０４で生成されたビットマップデータを受け取り、図示しないインクヘッドの吐出タイミングデータ生成、印字処理、インクヘッドへのインク供給・回復処理、紙搬送、ヘッド動作におけるモータ制御が主に行われる。
【００３５】
以上の処理により、ホストＰＣ１０１から受け取った画像データがプリンタ１０３によりプリント出力される。
【００３６】
図２は、図１に示すプリンタシステムにおけるプリンタコントローラ１０４の構成を示すブロック図であり、同図に示すようにプリンタコントローラ１０４は、ＵＳＢコントローラ２０１、ＤＭＡ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ）コントローラ２０２、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）２０３、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）２０４、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　ａｎｄ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）２０５、メモリコントローラ２０６、操作パネル２０７、操作パネルインターフェース（操作パネルＩ／Ｆ）２０８、ＣＰＵ２０９、画像処理ＡＳＩＣ（特定用途向け集積回路）２１０、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ　Ｄｙｎａｍｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）２１１及び内部バス２１２を有している。
【００３７】
ＵＳＢコントローラ２０１にＵＳＢを介してホストＰＣ１０１が接続され、また、画像処理ＡＳＩＣ２１０にプリンタエンジン１０５が接続されている。
次に、ＵＳＢについて簡単に説明する。
【００３８】
ＵＳＢでのデータ転送は、基本的に３つのパケット、即ち、トークンパケット、データパケット、ハンドシェークパケットで構成される。これら３つのパケットで構成される１回のデータ転送をトランザクションと呼ぶ。
【００３９】
トークンパケットには、トランザクションの種類を示すパケットＩＤ（識別子）、データ転送のターゲットとなる周辺機器（デバイス）のアドレス、エンドポイント番号が格納されており、このトークンパケットの情報に適合した周辺機器（デバイス）とホスト側装置との間でデータ転送が可能になる。このトークンパケットは、ホスト側装置のみが生成することができる。これは、ホスト側装置のみでバスのアクセス権を管理していることを意味する。データパケットには、転送データが格納されている。ハンドシェークパケットには、データ転送が正常に完了したか否かを示す情報が格納されている。
【００４０】
トランザクションには、イントランザクション、アウトトランザクション、セットアップトランザクションの３種類がある。イントランザクションでは、周辺機器からホスト側装置へデータが転送される。アウトトランザクションでは、ホスト側装置から周辺機器へデータが転送される。セットアップトランザクションは、ホスト側装置から周辺機器に対して規格で規定されたコマンドの転送に使用される。これら３つのトランザクションで、バルク転送、コントロール転送、アイソクロナス転送、インタラプト転送と呼ばれるトランスファーが構成される。
【００４１】
バルク転送は、イントランザクション、またはアウトトランザクションの並びである。コントロール転送は、セットアップトランザクションのみ、またはセットアップトランザクションに続くイントランザクションとアウトトランザクションの並びである。アイソクロナス転送は、ハンドシェークパケットの無いイントランザクションまたはアウトトランザクションの並びである。インタラプト転送は、一つのイントランザクションである。
【００４２】
これらのトランスファーは、フレームと呼ばれる１ｍｓ単位の期間に並べられる。この制御は、ホスト外部バス制御部で行われる。フレームの開始は、ＳＯＦ（Ｓｔａｒｔ　ｏｆ　Ｆｒａｍｅ）パケットと呼ばれる特殊なパケットで通知される。このうち、アイソクロナス転送とインタラプト転送は、フレーム内にその帯域が確保されている。バルク転送は、非同期のデータ転送であり、コントロール転送は、バスに接続されている周辺機器外部バス制御部の初期化に使用される。アイソクロナス転送は、同期転送であり、単位時間当たりのデータ転送量が確保されている。
【００４３】
但し、他のトランスファーとは異なり、アイソクロナス転送のみデータの保証はされていない。インタラプト転送は、設定時間毎に必ず転送されることが保証されているため、割込み処理に使用される。ＵＳＢ規格Ｒｅｖ２．０仕様で、μフレームが追加されている。ハイスピードモードにおけるデータ転送は、μフレームによる同期が行われる。μフレームは、フレームの１／８の長さの１２５μｓである。ＳＯＦは、フレームと同じＳＯＦパケットが使用され、同じフレーム番号を持つＳＯＦが連続して８回発行される。
【００４４】
以上のようなＵＳＢ通信は、ホスト側装置とエンドポイントとの間で行われる。周辺機器（デバイス）は、複数のエンドポイントを持つことができ、複数のエンドポイントをグループ化することにより、インターフェースと呼ばれる単位にすることができる。周辺機器（デバイス）は、更にインターフェースを複数持つことができ、複数のインターフェースをグループ化することにより、周辺機器（デバイス）構成とすることができる。これらのインターフェース及び周辺機器（デバイス）構成を定義することにより、複雑な機能を持った周辺機器（デバイス）へ柔軟に対応することができる。
【００４５】
次に、ＵＳＢを用いたデータ転送方法に対して本発明を適用した場合のデータ転送方法について、図３を用いて説明する。
【００４６】
ここでは、ユーザが所定のアプリケーションによりプリント出力を行うところから説明する。
【００４７】
図３は、図１に示すプリンタシステムにおけるホストアプリケーションからプリント出力迄の動作の流れを示すシーケンス図である。
【００４８】
ユーザがアプリケーションから印刷を開始する命令を出すと（ステップＳ３０１）、その旨がプリンタドライバに通知される。プリンタドライバは、用紙サイズ、印刷品位等のプリンタ設定情報等をシステム及びホストＵＳＢ制御部に通知する（ステップＳ３０２）。また、同時にプリンタドライバは、ホストＵＳＢ制御部へホストＰＣ１０１の構成情報、動作状況等を通知する（ステップＳ３０２）。前記ホストＰＣ１０１の構成とは、ホストＰＣ１０１の処理能力を決定づける代表的な構成品目の仕様であり、例えば、ＣＰＵの種類、ＣＰＵの動作周波数、ＣＰＵのキャッシュ容量、ＣＰＵの使用効率、メモリの搭載量、メモリの使用率、ハードディスクの性能、ＯＳでの実行中のタスク量等が挙げられる。
【００４９】
ホストＵＳＢ制御部では、ホストＰＣ１０１の構成情報、動作状況等を周辺機器ＵＳＢ制御部へ通知する（ステップＳ３０３）。
【００５０】
周辺機器ＵＳＢ制御部では、ホストＵＳＢ制御部からホストＰＣ１０１の構成情報、動作状況等を受信し（ステップＳ３０４）、ホストＰＣ１０１の構成に応じてタイマ設定時間を決定し（ステップＳ３０５）、転送終了用タイマ設定時間のセットを行う（ステップＳ３０６）。
【００５１】
前記ステップＳ３０４において実行するタイマ設定時間の決定方法は、例えば、プリンタ毎にそれぞれ閾値を用意しておき、その閾値を下回る構成の数に応じてタイマの設定時間を長くしていく方法をとれば良い。より具体的には、一例として、ホストＰＣ１０１のＣＰＵの処理速度のみに着目した場合、ＵＳＢフルスピードモードにおいて、ＣＰＵの処理速度８００ＭＨｚ以下の場合はタイマ値２５ｍｓｅｃ、８００ＭＨｚ以上１ＧＨｚ以下の場合はタイマ値２０ｍｓｅｃ、１ＧＨｚ以上の場合は１５ｍｓｅｃで最適なデータ転送速度となることを、本願発明者等が実験的に見出している。
【００５２】
また、ホストＰＣ１０１のメインメモリの搭載量に着目した場合、ＵＳＢフルスピードモードにおいて、１２８ＭＢ以上２５６ＭＢ以下の場合は２５ｍｓｅｃ、２５６ＭＢ以上の場合は１５ｍｓｅｃで最適なデータ転送速度となることを、本願発明者等が実験的に見出している。
【００５３】
また、上述した第一実施の形態では、着目したパラメータは１つずつであるが、本発明はこれに限られるものではなく、複数のパラメータを組み合わせてタイマ設定時間を決定する方法を用いるのがより好ましい。
【００５４】
また、上述した第一実施の形態は、本願発明者等の実験時の環境での結果であり、ホストＰＣ１０１のＯＳ、プリンタドライバ、プリンタ１０２に応じて個々に求めれば良い。更に、例えば、ホストＰＣ１０１の構成とタイマの設定時間とを対応付けるテーブルを用意しておき、転送されて来る構成情報、動作状況等と前記テーブルとを比較することによりタイマ設定時間を決定しても良い。
【００５５】
このタイマ設定時間の決定方法は、ホストＰＣ１０１の構成情報、動作状況等からＵＳＢ転送モードに応じたタイマ設定時間を決定できる方法であれば良い。また、周辺機器ＵＳＢ制御部への送信方法は、計測時間転送用にエンドポイントを別に設け、前記エンドポイントへ送信を行えば良い。若しくは、ＵＳＢのベンダーリクエストに計測時間送信用のコマンドを定義し、コントロール転送を用いて行っても良い。
【００５６】
再び図３に戻って説明すると、システムは、プリンタドライバからプリンタ設定情報を受け取ったら、アプリケーションに印刷データの変換を要求し（ステップＳ３０７）、アプリケーションは、印刷データをシステムが要求する所定のフォーマットのデータに変換してシステムに転送する（ステップＳ３０８）。
【００５７】
システムは、転送された印刷データを蓄積部に格納し（ステップＳ３０９）、アプリケーションに終了許可の通知を行う（ステップＳ３１０）。アプリケーションは、この許可を受け取り、印刷動作を終了し、次の操作を受け付ける状態に移行する（ステップＳ３１１）。
【００５８】
システムは、格納した印刷データをプリンタドライバで処理可能な大きさのデータ量（バンド領域毎）に分割して、プリンタドライバに印刷データを転送する（ステップＳ３１２）。
【００５９】
プリンタドライバは、システムから受け取った印刷データからターゲットのプリンタに最適な画像データの生成のための画像処理を行う（ステップＳ３１３）。例えば、色空間変換、カラーマッチング、ラスタサイズ、エッジ強調、ソフトネス等である。これらの処理は、テキスト領域、イメージ領域に応じて最適な組み合わせが選択される。
【００６０】
以上により生成された画像データは、プリンタ制御コマンドに変換され（ステップＳ３１４）、プリンタ１０２へのデータ転送要求と共にシステムに渡される（ステップＳ３１５）。
【００６１】
システムは、プリンタドライバから受け取ったプリンタ制御コマンドをホストＵＳＢ制御部に転送する（ステップＳ３１６）。
【００６２】
ホストＵＳＢ制御部は、プリンタ制御コマンドを、ＵＳＢを介して周辺機器ＵＳＢ制御部に送信する（ステップＳ３１７）。データの転送が終了した時点で、ホストＵＳＢ制御部からシステムにデータ転送の終了が通知される（ステップＳ３１８）。
【００６３】
尚、本発明を適用した場合の詳細なデータ受信時の処理については後述する。
【００６４】
ホストＵＳＢ制御部からのデータを受信した周辺機器ＵＳＢ制御部は、プリンタコントローラ１０４へデータを送信する（ステップＳ３１９）。プリンタコントローラ１０４は、受信したデータをプリンタ１０２が解釈できるようにデータ変換を行い（ステップＳ３２０）、更に、プリント出力のための画像処理を行い、その画像処理が行われたデータをプリンタエンジン１０５に送信する（ステップＳ３２１）。
【００６５】
プリンタエンジン１０５は、プリンタコントローラ１０４からのデータの受信に基づき各機能ブロックの制御を行って、プリント出力を行う（ステップＳ３２２）。
【００６６】
一方、システムは、前記ステップＳ３１８においてホストＵＳＢ制御部からデータ転送の終了が通知されると、全てのバンド領域に対する処理が終了したか否かを判断する（ステップＳ３２３）。そして、全てのバンド領域に対する処理が終了したと判断された場合は、印刷が要求されている全てのページに対する処理が終了したか否かを判断する（ステップＳ３２４）。そして、全てのページに対する処理が終了したと判断された場合は、本処理動作を終了する。
【００６７】
一方、前記ステップＳ３２３において全てのバンド領域に対する処理が終了しないと判断された場合及び前記ステップＳ３２４において全てのページに対する処理が終了しないと判断された場合は、いずれも前記ステップＳ３１２へ戻って、全てのバンド領域に対し上述した転送処理を繰り返すと共に、全てのページに対して上述した動作を繰り返し行う。
【００６８】
次に、本実施の形態に係るデータ転送装置におけるＵＳＢによるデータ受信時の動作について、図４を用いて説明する。
【００６９】
更に、ＵＳＢコントローラのエンドポイントバッファからメモリへのデータ転送にＤＭＡ転送を使用する例を用いて説明する。
【００７０】
図４は、本実施の形態に係るデータ転送装置を適用した場合のプリントデータ転送における動作の流れを示すフローチャートである。
【００７１】
プリンタ１０２へのデータ転送を行う際には、バルクＯＵＴ転送が用いられる。
【００７２】
本実施の形態では、ホストＰＣ１０１からプリンタ１０２へプリントデータを、ＵＳＢバルクＯＵＴ転送を使用して転送する場合を例に挙げて説明する。
【００７３】
まず、データ転送に先立って、タイマ設定時間をセットする（ステップＳ４０１）。ここでのタイマ設定時間は、ホストＰＣ１０１から送信されたホストＰＣ１０１の構成情報、動作状況等に応じて最適な値を設定すれば良い。更に、ＤＭＡサイズをＭａｘパケットサイズにセットしておく（ステップＳ４０２）。
【００７４】
ホストＰＣ１０１からデータ転送が開始され、最初のパケットを受信すると（ステップＳ４０３）、データは、ＵＳＢコントローラ２０１内のシリアルインターフェースエンジンによりＵＳＢプロトコルの解釈が行われ、前記ステップＳ４０３において受信したパケットのデータサイズがＭａｘパケットサイズであるか否かを判断し（ステップＳ４０４）、データは、エンドポイントバッファに格納される。
【００７５】
そして、受信したパケットのデータサイズがＭａｘパケットサイズではないと判断された場合は、ショートパケット受信割込みが発生する（ステップＳ４１３）。ショートパケット受信割込みを検知したらＤＭＡ転送終了要求が出され（ステップＳ４１４）、ＤＭＡを停止させる。
【００７６】
ＤＭＡを停止させると、ＤＭＡコントローラ２０２からのＤＭＡ転送終了割込みが発生する（ステップＳ４０５）。ＤＭＡ転送終了割込みを検知したら、受信したデータがＩＥＥＥ１２８４．４のデータであるか否かを判断する（ステップＳ４０６）。ＩＥＥＥ１２８４．４のデータであると判断された場合は、ＩＥＥＥ１２８４．４における処理を行い（ステップＳ４１５）、その後、前記ステップＳ４０１へ戻る。
【００７７】
尚、ここでは、ＩＥＥＥ１２８４．４における処理内容についての説明は省略する。
【００７８】
一方、前記ステップＳ４０４において受信したパケットのデータサイズがＭａｘパケットサイズであると判断された場合は、ＤＭＡ転送終了割込みが発生し（ステップＳ４０５）、次に、ＩＥＥＥ１２８４．４のデータか否かを判断する（ステップＳ４０６）。そして、上述したショートパケットの場合と同様に、ＩＥＥＥ１２８４．４のデータであれば、ＩＥＥＥ１２８４．４における処理を行い（ステップＳ４１５）、その後、前記ステップＳ４０２へ戻る。
【００７９】
また、前記ステップＳ４０６において受信したデータがＩＥＥＥ１２８４．４ではないと判断された場合は、最初のパケットがショートパケットであるか否かを判断する（ステップＳ４０７）。そして、最初のパケットがショートパケットであると判断された場合は、データ転送が終了しているため、前記ステップＳ４０１へ戻る。
【００８０】
一方、前記ステップＳ４０７において最初のパケットがショートパケットではないと判断された場合は、ＤＭＡサイズを再度セットする（ステップＳ４０８）。
【００８１】
次に、パケットを設定時間内に受信したか否かを判断する（ステップＳ４０９）。そして、次のパケットを設定時間内に受信しないと判断された場合は、ＤＭＡ転送終了要求が出され（ステップＳ４１７）、ＤＭＡ転送終了割込みが発生し、ＤＭＡ転送が終了し（ステップＳ４１２）、その後、前記ステップＳ４０１へ戻る。
【００８２】
一方、前記ステップＳ４０９において、次のパケットを設定時間内に受信したと判断された場合は、その受信したパケットのサイズがＭａｘパケットサイズであるか否かを判断する。そして、受信したパケットのサイズがショートパケットの場合は、ショートパケット割込みが発生し（ステップＳ４１６）、ＤＭＡ転送終了要求が出され（ステップＳ４１７）、ＤＭＡ転送終了割込みが発生し（ステップＳ４１２）、ＤＭＡ転送を終了させて、その後、前記ステップＳ４０２へ戻る。
【００８３】
一方、前記ステップＳ４１０において設定時間内で受信したパケットのサイズがＭａｘパケットサイズであると判断された場合は、ＤＭＡデータの転送が完了したか否かを判断する（ステップＳ４１１）。そして、ＤＭＡデータの転送が完了しないと判断された場合は、前記ステップＳ４０９へ戻る。
【００８４】
一方、予めセットしておいたＤＭＡサイズと比較し、セットしたＤＭＡサイズ分のデータ受信が行われた場合は、ＤＭＡ転送完了となり、前記ステップＳ４１１にお上述した第一実施の形態ける判断結果は肯定（ＹＥＳ）となり、ＤＭＡ転送終了割込みが発生するので（ステップＳ４１２）、前記ステップＳ４０２へ戻る。
【００８５】
また、セットしておいたＤＭＡサイズのデータ受信が行われていない場合は、ホストＰＣ１０１から次のデータパケットが送信されて来るか否かが分らないため、タイマを作動させ、ここで設定時間内に次のパケットが来ればＤＭＡ転送を行い、設定時間経過してもデータ受信が無い場合は、ＤＭＡ転送を終了させる。
【００８６】
パケットを受信したか否かの判断は、エンドポイントバッファがフルになった場合に発生する割込みを用いて行えば良い。また、データ転送が行われたデータ量をカウントしておき、データ転送量に変化があるか否かで、パケットを受信したか否かを判断するようにしても良い。
【００８７】
以上の動作を繰り返すことにより、実際に転送されて来るデータの処理時間に応じてデータ転送終了用タイマの設定時間を決定することができるため、効率的なデータ転送を実現することができる。
【００８８】
（第２の実施の形態）
次に、本発明の第二実施の形態を、図５及び図６に基づき説明する。
【００８９】
尚、本実施の形態に係るデータ転送装置によりデータ転送を行うプリントシステムの構成は、上述した第一実施の形態における図１と同一であるから、同図を流用して説明する。
【００９０】
まず、ＵＳＢを用いたデータ転送方法に対して本発明を適用した場合のデータ転送方法について、図５を用いて説明する。
【００９１】
ここでは、ユーザが所定のアプリケーションによりプリント出力を行うところから説明する。
【００９２】
図５は、図１に示すプリンタシステムにおけるホストアプリケーションからプリント出力迄の動作の流れを示すシーケンス図である。
【００９３】
ユーザがアプリケーションから印刷を開始する命令を出すと（ステップＳ５０１）、その旨がプリンタドライバに通知される。プリンタドライバは、用紙サイズ、印刷品位等のプリンタ設定情報等をシステムに通知する（ステップＳ５０２）。
【００９４】
システムは、アプリケーションに印刷データの変換を要求し（ステップＳ５０３）、アプリケーションは、印刷データをシステムが要求する所定のフォーマットのデータに変換してシステムに転送する（ステップＳ５０４）。
【００９５】
システムは、転送されたデータを蓄積部に格納し（ステップＳ５０５）、アプリケーションに終了許可の通知を行う（ステップＳ５０６）。アプリケーションは、この許可を受け取り、印刷動作を終了し、次の操作を受け付ける状態へ移行する（ステップＳ５０７）。
【００９６】
システムは、格納したデータをプリンタドライバで処理可能な大きさのデータ量（バンド領域毎）に分割して、プリンタドライバにデータを転送する（ステップＳ５０８）。
【００９７】
ここでプリンタドライバは、データを処理する時間の計測を開始する（ステップＳ５０９）。
【００９８】
プリンタドライバは、受け取ったデータからターゲットのプリンタに最適な画像データの生成のための画像処理を行う（ステップＳ５１０）。例えば、色空間変換、カラーマッチング、ラスタサイズ、エッジ強調、ソフトネス等である。これらの処理は、テキスト領域、イメージ領域に応じて最適な組み合わせが選択される。
【００９９】
以上により生成された画像データは、プリンタ制御コマンドに変換され（ステップＳ５１１）、プリンタ１０２へのデータ転送要求と共にシステムに渡される（ステップＳ５１３）。
【０１００】
プリンタドライバは、以上迄の処理時間を計測したならば、その計測を終了し、その計測時間データをホストＵＳＢ制御部に渡す（ステップＳ５１２）。ホストＵＳＢ制御部は、データ処理時間を周辺機器ＵＳＢ制御部にへ通知すれば良く送信（通知）する（ステップＳ５１４）。この周辺機器ＵＳＢ制御部への送信方法は、計測時間転送用にエンドポイントを別に設け、前記エンドポイントへ送信すれば良い。若しくは、ＵＳＢのベンダーリクエストに計測時間送信用にコマンドを定義し、コントロール転送を用いて行っても良い。
【０１０１】
周辺機器ＵＳＢ制御部では、ホストＰＣ１０１からのデータ処理時間を受信したならば（ステップＳ５１５）、ホストＰＣ１０１でのデータ処理時間に応じて転送終了用タイマの設定時間を決定し（ステップＳ５１６）、設定時間セット要求をデータ受信処理部に通知する（ステップＳ５１７）。ここで直に設定時間を決定しないのは、タイマが動作している場合に設定時間を変更して動作に不具合が生じるのを防ぐためである。前記処理により安定した設定時間の変更を動的に行うことができる。
【０１０２】
また、周辺機器ＵＳＢ制御部では、転送終了用タイマの設定時間のセットが完了した旨の通知を受信したか否かを受信するまで判断する（ステップＳ５１８）。そして、設定時間セット完了通知がデータ受信処理部から発行され、タイマの設定時間のセットが完了する（ステップＳ５１９）。
【０１０３】
システムは、プリンタドライバから受け取ったプリンタ制御コマンドをホストＵＳＢ制御部に転送する（ステップＳ５２０）。
【０１０４】
ホストＵＳＢ制御部は、プリンタ制御コマンドを、外部バスを介して周辺機器ＵＳＢ制御部に送信し（ステップＳ５２１）、データの転送が終了した時点で、ホストＵＳＢ制御部からシステムにデータ転送の終了が通知される（ステップＳ５２３）。
【０１０５】
尚、本発明を適用した場合の詳細なデータ受信時の処理については後述する。
【０１０６】
周辺機器制御部では、ホストＵＳＢ制御部からのデータを受信し、プリンタコントローラ１０４へデータを送信する（ステップＳ５２２）。
【０１０７】
プリンタコントローラ１０４は、ホストＵＳＢ制御部から受信したデータをプリンタ１０２が解釈できるようにデータ変換を行い（ステップＳ５２４）、更に、プリント出力のための画像処理を行い、更に画像処理が行われたデータをプリンタ１０２に送信する（ステップＳ５２５）。
【０１０８】
プリンタエンジン１０５は、プリンタコントローラ１０４からのデータの受信に基づき各機能ブロックの制御を行って、プリント出力を行う（ステップＳ５２６）。
【０１０９】
一方、システムは、前記ステップＳ５２３においてホストＵＳＢ制御部からデータ転送の終了が通知されると、全てのバンド領域に対する処理が終了したか否かを判断する（ステップＳ５２７）。そして、全てのバンド領域に対する処理が終了したと判断された場合は、印刷が要求されている全てのページに対する処理が終了したか否かを判断する（ステップＳ５２８）。そして、全てのページに対する処理が終了したと判断された場合は、本処理動作を終了する。
【０１１０】
一方、前記ステップＳ５２７において全てのバンド領域に対する処理が終了しないと判断された場合及び前記ステップＳ５２８において全てのページに対する処理が終了しないと判断された場合は、いずれも前記ステップＳ５０８へ戻って、全てのバンド領域に対し上述した転送処理を繰り返すと共に、全てのページに対して上述した動作を繰り返し行う。
【０１１１】
次に、本実施の形態に係るデータ転送装置におけるＵＳＢによるデータ受信時の動作について、図６を用いて説明する。
【０１１２】
更に、ＵＳＢコントローラのエンドポイントバッファからメモリへのデータ転送にＤＭＡ転送を使用する例を用いて説明する。
【０１１３】
図６は、本実施の形態に係るデータ転送装置を適用した場合のプリントデータ転送における動作の流れを示すフローチャートである。
【０１１４】
プリンタ１０２へのデータ転送を行う際には、バルクＯＵＴ転送が用いられる。
【０１１５】
本実施の形態では、ホストＰＣ１０１からプリンタ１０２へプリントデータを、ＵＳＢバルクＯＵＴ転送を使用して転送する場合を例に挙げて説明する。
【０１１６】
尚、図６におけるステップＳ６０２、ステップＳ６０４乃至ステップＳ６１９は、上述した第一実施の形態の図４におけるステップＳ４０１乃至ステップＳ４１７と同一であるから、その説明は省略し、本実施の形態特有の処理についてのみ説明する。
【０１１７】
まず、データ転送に先立って、タイマ設定時間セット要求が通知されていることを確認し（ステップＳ６０１）、タイマの設定時間をセットする（ステップＳ６０２）。タイマの設定時間のセットが完了した時点で、セット完了通知を発行する（ステップＳ６０３）。
【０１１８】
ここでのタイマ設定時間は、ホストＰＣ１０１から送信されたデータ処理時間に応じて最適な値を設定すれば良い。
【０１１９】
（その他の実施の形態）
尚、本発明は、上記各実施の形態に限定されるものではなく、種々の応用が可能である。
【０１２０】
また、上記各実施の形態では、インクジェットプリンタを例示して説明したが、例えば、ＬＢＰ、ストレージ機器等のデータ転送にＵＳＢを使用した場合等、様々な周辺機器に応用が可能である。
【０１２１】
また、上記第一実施の形態では、ホストＰＣ１０１の構成情報、動作状況等を、ＵＳＢのプロトコルを用いて転送する場合を例示して説明したが、本発明はこれに限られるものではなく、例えば、プリンタ制御コマンド内に計測時間の転送を含めても良い。
【０１２２】
また、上記第一実施の形態では、ホストＰＣ１０１の構成情報、動作状況等をプリンタ１０２に送信し、プリンタ１０２側でタイマ設定時間の決定を行う場合を例示して説明したが、ホストＰＣ１０１側にホストＰＣ１０１の構成情報、動作状況等からタイマ設定時間を決定する機能を設け、ホストＰＣ１０１側で決定されたタイマ設定時間をプリンタ１０２に送信する方法を用いても良い。
【０１２３】
また、上記第二実施の形態では、計測時間の送信にＵＳＢのプロトコルを用いた転送を例示して説明したが、これに限られるものではなく、例えば、プリンタ制御コマンド内に計測時間の転送を含めても良い。
【０１２４】
また、上記第二実施の形態では、ホストＰＣ１０１の処理能力の計測に、実際に転送するデータの処理時間を計測する方法を例示して説明したが、これに限られるものではなく、例えば、ベンチマークテスト等によりホストＰＣ１０１の処理能力を計測する方法を用いても良い。
【０１２５】
また、上記第二実施の形態では、データ処理時間の計測結果をプリンタ１０２に送信し、タイマ設定時間はプリンタ１０２側で決定させる方法を例示して説明したが、これに限られるものではなく、ホストＰＣ１０１側でプリンタ情報を取得し、タイマ設定時間を決定し、決定された前記設定時間をプリンタ１０２側に送信する方法を用いても良い。
【０１２６】
また、本発明は、複数の機器（例えば、ホストコンピュータ、インターフェース機器、リーダー、プリンタ等）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【０１２７】
また、本発明の目的は、上記実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成されることは言うまでもない。
【０１２８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２９】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１３０】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１３１】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１３２】
【発明の効果】
以上説明したように、本発明によれば、ホスト側装置の処理能力によらず、確実で高速なデータ転送を実現することができる。
また、本発明のデータ転送方式を印刷装置に用いることにより、高速な印刷装置が得られる。
【図面の簡単な説明】
【図１】本発明の第一実施の形態に係るデータ転送装置によりデータ転送を行うプリントシステムの構成を示すブロック図である。
【図２】本発明の第一実施の形態に係るデータ転送装置によりデータ転送を行うプリントシステムにおけるプリンタコントローラの構成を示すブロック図である
【図３】本発明の第一実施の形態に係るデータ転送装置によりデータ転送を行うプリントシステムにおけるホストアプリケーションからプリント出力までの動作の流れを示すシーケンス図である。
【図４】本発明の第一実施の形態に係るデータ転送装置によりデータ転送を行うプリントシステムにおけるＵＳＢを使用したプリントデータ受信時における動作の流れを示すフローチャートである。
【図５】本発明の第二実施の形態に係るデータ転送装置によりデータ転送を行うプリントシステムにおけるホストアプリケーションからプリント出力までの動作の流れを示すシーケンス図である。
【図６】本発明の第二実施の形態に係るデータ転送装置によりデータ転送を行うプリントシステムにおけるＵＳＢを使用したプリントデータ受信時における動作の流れを示すフローチャートである。
【符号の説明】
１０１　　ホストＰＣ
１０２　　プリンタ
１０３　　外部バス
１０４　　プリンタコントローラ
１０５　　プリンタエンジン
２０１　　ＵＳＢコントローラ
２０２　　ＤＭＡコントローラ
２０３　　ＲＡＭ
２０４　　ＲＯＭ
２０５　　ＥＥＰＲＯＭ
２０６　　メモリコントローラ
２０７　　操作パネル
２０８　　操作パネルＩ／Ｆ
２０９　　ＣＰＵ
２１０　　画像処理ＡＳＩＣ
２１１　　ＳＤＲＡＭ
【図１】
2004133537.tif 000003
【図２】
2004133537.tif 000004
【図３】
2004133537.tif 000005
【図４】
2004133537.tif 000006
【図５】
2004133537.tif 000007
【図６】
2004133537.tif 000008