JP2002091717A - 印刷システム - Google Patents

印刷システム

Info

Publication number
JP2002091717A
JP2002091717A JP2000283374A JP2000283374A JP2002091717A JP 2002091717 A JP2002091717 A JP 2002091717A JP 2000283374 A JP2000283374 A JP 2000283374A JP 2000283374 A JP2000283374 A JP 2000283374A JP 2002091717 A JP2002091717 A JP 2002091717A
Authority
JP
Japan
Prior art keywords
printing
printer
data
image data
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000283374A
Other languages
English (en)
Inventor
Hirohiko Nakazato
博彦 中里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Data Corp filed Critical Oki Data Corp
Priority to JP2000283374A priority Critical patent/JP2002091717A/ja
Publication of JP2002091717A publication Critical patent/JP2002091717A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 プリンタに搭載するメモリを最小にしつつ、
印刷時間を短縮する。 【解決手段】 印刷装置(300)とUSBバス(20
0)で接続されたホスト装置(100)は、ラスタイメ
ージデータを生成するイメージデータ生成手段(12
0)と、アイソクロナスペイロードのサイズを設定する
ペイロードサイズ設定手段(130)と、ラスタイメー
ジデータを上記アイソクロナスペイロードによってアイ
ソクロナス転送するデータ転送手段(130,140な
ど)とを有し、印刷装置は、上記設定されたペイロード
サイズをもとに印刷速度を設定する印刷速度設定手段
(500)と、転送されたラスタイメージデータをアイ
ソクロナス転送用エンドポイントによって受信する受信
手段(400)と、上記設定された印刷速度でラスタイ
メージデータを印刷する印刷手段(600)と、所定の
タイミングで上記印刷手段に印刷起動をかける印刷起動
手段(500)とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホスト装置(ホス
トコンピュータ)とカラーページプリンタなどの印刷装
置とをUSB(ユニバーサル・シリアル・バス)によっ
て接続した印刷システム(プリントシステム)に関し、
特にUSBのアイソクロナス転送を用いてラスタイメー
ジデータをホスト装置から印刷装置に転送することによ
り、印刷装置に搭載されるメモリを最小にしつつ、印刷
時間を短縮化する技術に関する。
【0002】
【従来の技術】近年、USBを搭載するホストコンピュ
ータおよびその周辺デバイスが製品化されている。US
Bは、1つのシリアルバスシステムの中で、1台のホス
トコンピュータに最大127台までのデバイスを接続す
ることが可能なインターフェースである。USBの物理
的な接続は、ハブを使った階段状のスター型になってい
るが、論理的にはホストコンピュータのクライアントソ
フトウェアとデバイスとが1対1で通信する。
【0003】1996年に規定されたユニバーサルシリ
アルバス仕様書Rev1.0で規定されているUSBデ
バイスには、マウスやキーボード等のロースピードデバ
イス(最大1.5[Mビット/sec])と、プリンタ
やスキャナ等のフルスピードデバイス(最大12[Mビ
ット/sec])とがある。USBによるデータ転送
は、上記2種類のスピードがバス上で混在可能な半二重
転送である。
【0004】図52はUSBのデータ転送フォーマット
を説明する図である。図52のように、USBのデータ
転送フォーマットには、バルク転送、コントロール転
送、割り込み転送、アイソクロナス転送の4つの転送モ
ードがある。
【0005】バルク転送は、非周期的な通信の内、遅延
が問題にならない不定期大容量のデータ転送に使用され
る。また、バルク転送には、データエラー時の再送手段
が準備されているので、データの信頼性がある。このバ
ルク転送は、プリンタのラスタやスキャナとの間のイメ
ージデータの転送などに使用される。
【0006】コントロール転送は、非周期的な通信の
内、リクエスト・レスポンス形態の通信である。例え
ば、プリンタのコントロールパネルのリモート操作やU
SB標準デバイスリクエストなどで、コントロール転送
が使用される。USBに対応するデバイスは、必ずコン
トロール転送をサポートしなければならない。
【0007】割り込み転送は、非同期・低頻度のイベン
トをホストコンピュータに通知する際に使用される。例
えば、プリンタの用紙切れの通知や、マウス、キーボー
ドなどとの間のデータ通信に、割り込み転送が使用され
る。
【0008】アイソクロナス転送は、連続的で周期的な
通信、つまり等時性を確保することが必要な通信に使用
される。通信経路が確立したあとは、限定的な遅延(レ
イテンシ)で一定の転送レートが保証される。データの
再送手段は準備されていないので、転送データを保証す
ることはできないが、USB自体の信頼性が高いので、
ほとんど問題はない。このアイソクロナス転送は、動画
や音声データのようなリアルタイム性を要求されるスト
リーミングデータ転送に使用されている。
【0009】USBでは、フレームという単位時間でデ
ータ転送が行われ、1フレームの間隔は1[msec]
に規定されている。各フレームは、SOF(スタート・
オブ・フレーム)パケットにより開始され、1フレーム
で前述した4つの異なるタイプの転送(バルク、コント
ロール、割り込み、アイソクロナス(ISO))を行う
ことができる。
【0010】USBでは、ハブとファンクションを含め
たUSBデバイスが接続されたときに、そのUSBデバ
イスが持つコンフィギュレーション情報をホストコンピ
ュータが吸い上げる仕様になっている。
【0011】アイソクロナス転送を行いたいファンクシ
ョンの場合には、そのファンクションが要求するデータ
転送幅(1[msec]ごとに何バイトのデータ転送を
行いたいか)をホストコンピュータに要求する仕様にな
っている。ホストコンピュータは、この要求をもとに1
[msec]のフレーム時間の内、要求された転送幅に
応じた時間をアイソクロナス転送に優先的にリザーブす
る。
【0012】バルク転送は、フレーム時間内でアイソク
ロナス転送や割り込み転送が使用した時間以外の空いた
時間にデータ転送を行うため、アイソクロナス転送や割
り込み転送もフレーム時間をほとんど使用しないような
軽負荷の場合には、最も効率的にバスを使用することが
できるが、それらがフレーム内のほとんどの時間が占有
してしまうような高負荷の場合には、最も低い優先順位
になってしまう。
【0013】
【発明が解決しようとする課題】ところで、プリンタデ
バイスのクラス仕様によれば、プリントデータ転送に
は、前述したバルク転送が使用されている。しかしなが
ら、バルク転送では、一定のデータ転送速度を確保する
ことができないために、カラーページプリンタの場合、
色成分ごとにページメモリを持つ必要があり、経済的と
は言えない。
【0014】特に、ホストコンピュータが印刷データを
あらかじめレンダリング(3D図形データなどの印刷デ
ータをプリンタデバイス用のラスタイメージデータに変
換すること)して、ラスタイメージの形式でプリンタに
送信する方式をとるホストベースプリンタについては、
中間転写ドラム方式をとるカラー電子写真プリンタの場
合には、1色のページ分のイメージデータの受信終了ご
とにプリンタエンジンに印刷起動をかけることも可能で
あるが、タンデム方式をとるカラー電子写真プリンタの
場合には、全ての色成分(例えば、イエロー,マゼン
タ,シアン,ブラックの4色)のイメージデータを1ペ
ージ分受信してからでないと、プリンタエンジンに印刷
起動をかけることができない。
【0015】例えば、米国レター用紙に主走査方向、副
走査方向の解像度がともに600[dpi(dot/i
nch)]のイメージデータを印刷する場合、イエロー
(Y),マゼンタ(M),シアン(C),ブラック
(K)の4色カラータンデム電子写真方式のホストベー
スプリンタでは、約16[Mバイト]のページメモリが
必要となり、Y,M,C,K4色分のイメージデータの
受信を終了したあとに印刷起動がかかる。
【0016】一方、パラレルインターフェース規格であ
るIEEE1284のECP(Extended Capabilities
Port:高速パラレルインターフェース)モードでは、ホ
ストコンピュータからプリンタへのデータ転送速度は、
約700[kバイト/sec]から1[Mバイト/se
c]程度を確保できるため、そのデータ転送速度に適合
したプリンタエンジン速度で印刷することができた。
【0017】USBインターフェースはIEEE128
4に代わって今後普及が見込まれるが、従来のバルク転
送によるUSBインターフェースでは、上記のように一
定のデータ転送速度を確保できないことが、印刷装置
(特にホストベースプリンタ)に搭載するメモリの最小
化および印刷時間の短縮に関して障害となり、USBイ
ンターフェースを印刷装置に採用することの妨げになる
恐れがある。
【0018】本発明は、上記のような従来の問題点を解
決するものであり、印刷装置に搭載するメモリを最小に
しつつ、印刷時間を短縮することができるUSBインタ
ーフェースの印刷システムを提供することを目的として
いる。
【0019】
【課題を解決するための手段】上記の目的を達成するた
めに本発明の第1の印刷システムは、ホスト装置と印刷
装置とをUSBバス接続した印刷システムにおいて、上
記ホスト装置が、ラスタイメージデータを生成するイメ
ージデータ生成手段と、上記印刷装置のサポートする複
数の異なるペイロードサイズの中からアイソクロナスペ
イロードのサイズを設定するペイロードサイズ設定手段
と、上記ラスタイメージデータを上記アイソクロナスペ
イロードによって上記印刷装置にアイソクロナス転送す
るデータ転送手段とを有し、上記印刷装置が、上記設定
されたペイロードサイズをもとに印刷速度を設定する印
刷速度設定手段と、上記ホスト装置からアイソクロナス
転送されたラスタイメージデータを、複数の異なるペイ
ロードサイズをサポートするアイソクロナス転送用エン
ドポイントによって受信するデータ受信手段と、上記設
定された印刷速度で上記受信されたラスタイメージデー
タを印刷する印刷手段と、所定のタイミングで上記印刷
手段に印刷起動をかける印刷起動手段とを有することを
特徴とする。
【0020】また、本発明の第2の印刷システムは、ホ
スト装置と印刷装置とをUSBバス接続した印刷システ
ムにおいて、上記ホスト装置が、複数の色成分の内の1
色以上の色成分からなるラスタイメージデータを生成す
るイメージデータ生成手段と、USBバス使用率に応じ
て、上記複数の色成分にそれぞれ対応した複数のアイソ
クロナスペイロードのサイズを設定するペイロードサイ
ズ設定手段と、上記ラスタイメージデータのそれぞれの
色成分を上記複数のアイソクロナスペイロードによって
フレーム単位で上記印刷装置にアイソクロナス転送する
データ転送手段とを有し、上記印刷装置が、上記設定さ
れたペイロードサイズと、印刷用紙サイズと、それぞれ
の色成分のラスタイメージデータの内の最大データサイ
ズとをもとに、印刷速度を設定する印刷速度設定手段
と、上記ホスト装置からアイソクロナス転送されたラス
タイメージデータのそれぞれの色成分を、上記複数の色
成分に対応する複数のアイソクロナス転送用エンドポイ
ントによってそれぞれ受信するデータ受信手段と、上記
設定された印刷速度で上記受信されたラスタイメージデ
ータを印刷する印刷手段と、所定のタイミングで上記印
刷手段に印刷起動をかける印刷起動手段とを有すること
を特徴とする。
【0021】また、本発明の第3の印刷システムは、ホ
スト装置と印刷装置とをUSBバス接続した印刷システ
ムにおいて、上記ホスト装置が、複数の色成分の内の1
色以上の色成分からなるラスタイメージデータを生成す
るイメージデータ生成手段と、USBバス使用率に応じ
て、印刷色の数および種類をもとに、上記複数の色成分
にそれぞれ対応した複数のアイソクロナスペイロードの
サイズを個別に設定するペイロードサイズ設定手段と、
上記ラスタイメージデータのそれぞれの色成分を、ペイ
ロードサイズが個別に設定された上記複数のアイソクロ
ナスペイロードによってフレーム単位で上記印刷装置に
アイソクロナス転送するデータ転送手段とを有し、上記
印刷装置が、上記設定されたペイロードサイズと、印刷
用紙サイズと、それぞれの色成分のラスタイメージデー
タの内の最大データサイズと、印刷色数とをもとに、印
刷速度を設定する印刷速度設定手段と、上記ホスト装置
からアイソクロナス転送されたラスタイメージデータの
それぞれの色成分を、アイソクロナス転送用の複数のエ
ンドポイントのそれぞれによって受信するデータ受信手
段と、上記設定された印刷速度で上記受信されたラスタ
イメージデータを印刷する印刷手段と、所定のタイミン
グで上記印刷手段に印刷起動をかける印刷起動手段とを
有することを特徴とする。
【0022】
【発明の実施の形態】本発明の実施の形態のプリントシ
ステムについて説明する前に、USB(ユニバーサル・
シリアル・バス)のシステム構成を説明する。図53は
USBのシステム構成を説明する図である。図53にお
いて、USBホスト10は、論理的には、USBホスト
コントローラ11aを含むUSBバスインターフェース
11と、USBシステムソフトウェア12と、クライア
ントソフトウェア13とによって構成される。また、U
SB物理デバイス(ペリフェラル)30は、ファンクシ
ョンを実行するハードウェアであり、プリンタやスキャ
ナ等がこれに相当するが、論理的には、USBバスイン
ターフェース31と、USB論理デバイス32と、ファ
ンクション33とによって構成される。また、USBバ
スインターフェース11および31と、これらを物理的
に接続するUSB20とは、USBバスインターフェー
スレイヤ41を構成している。また、USBシステムソ
フトウェア12とUSB論理デバイス32とは、USB
デバイスレイヤ42を構成している。また、クライアン
トソフトウェア13とファンクション33とは、ファン
クションレイヤ43を構成している。
【0023】USBホストコントローラ11aを含むU
SBバスインターフェース11は、USBホスト10に
USB物理デバイス30を接続するためのハードウェア
であり、USBバスインターフェース31は、USB物
理デバイス30にUSBホスト10を接続するためのハ
ードウェアである。USBバスインターフェースレイヤ
41は、USBホスト10のUSBバスインターフェー
ス11と、USB20と、USB物理デバイス30のU
SBバスインターフェース31とによって、USBホス
ト10とUSB物理デバイス30の間を物理的に接続
し、信号を送受信するレイヤである。
【0024】USB論理デバイス32は、エンドポイン
トEPの集合である。また、USBシステムソフトウェ
ア12は、オペレーティングシステムの中でUSBイン
ターフェースをサポートするホストコントローラドライ
バとUSBデバイスドライバソフトウェアとを有し、U
SB論理デバイス32を管理する。USBデバイスレイ
ヤ42は、USBホスト10がUSBシステムソフトウ
ェア12によってUSB物理デバイス30を操作するレ
イヤである。
【0025】ファンクション33は、インターフェース
の集合である。また、クライアントソフトウェア13
は、USBホスト10上で実行されるソフトウェアであ
り、ファンクション33のインターフェースを管理す
る。ファンクションレイヤ43は、USBホスト10が
クライアントソフトウェア13によってUSB物理デバ
イス30のファンクション33を活用するレイヤであ
る。
【0026】図54はUSBのバストポロジの一例を説
明する図である。図54のように、USB上のデバイス
51a,51b,51c,51d,51eは、スター型
のトポロジで結ばれ、ハブ52a,52bを介して最上
位のホスト53に接続される。ハブは、ホストにも組み
込まれており、これをルートハブと呼ぶ。デバイス51
a,51b,51c,51d,51eは、物理的には、
スタートポロジ状にUSBに接続されているが、論理的
には、ルートハブ53に直接接続されているように、ホ
スト53との間で通信を行う。USBのバスアクセス
は、ホスト53によって管理され、デバイス51a,5
1b,51c,51d,51eは、ホスト53によって
要求されたときだけアクセスすることができる。
【0027】図55はUSBの通信フローを説明する図
である。図55のように、USBは、USBホスト10
のクライアントソフトウェア13と、USBデバイス
(USB物理デバイス)30のファンクション33(イ
ンターフェース)との間での通信をサポートするバスで
ある。それぞれのUSBデバイス30は、USBホスト
10に対し、それぞれ異なる通信を要求することができ
る。USBの通信フローは、エンドポイントEPとパイ
プPPとによって行われる。エンドポイントEPは、U
SBデバイス30の一意に識別可能な部分であり、US
Bホスト10とUSB物理デバイス30の間の通信フロ
ーCFの終点になる。エンドポイントEPは、それぞれ
個別の番号を持っており、USBデバイス30のアドレ
スとの組合せによって識別される。エンドポイントEP
の特性によって、USBホスト10とUSBデバイス3
0の間の転送タイプが決定される。USBデバイス30
は、論理的には、エンドポイントの集合体(USB論理
デバイス32(図53参照))として考えることができ
る。
【0028】また、パイプPPは、USBホスト10の
メモリバッファBFを介して、USBホスト10のクラ
イアントソフトウェア13とUSBデバイス30のエン
ドポイントEPの間のデータ転送を可能にするために両
者を関連づけるもので、メッセージパイプとストリーム
パイプとがある。ストリームパイプは、バルク転送、ア
イソクロナス転送、割り込み転送で使用され、メッセー
ジパイプは、コントロール転送で使用される。
【0029】図56はUSBデバイスのエンドポイント
ディスクリプタの構成を説明する図である。エンドポイ
ントディスクリプタは、エンドポイントの特性について
の情報であり、図56のように、エンドポイントアドレ
ス(エンドポイント番号を含む)、エンドポイントの属
性(転送タイプを含む)、最大パケットサイズ、インタ
ーバル(バスアクセス周波数)などから構成される。
【0030】全てのUSBデバイスは、初期設定に使用
されるエンドポイントEP0を持つことが要求されてお
り、エンドポイントEP0によってUSBデバイスのコ
ンフィギュレーション、ステータス、およびバスアクセ
ス制御情報などが設定される。高速USBデバイスは、
入力・出力それぞれに最大16個のエンドポイントを持
つことができる。
【0031】以下に本発明の実施の形態について説明す
る。 実施の形態1 図1は本発明の実施の形態1のプリントシステムのブロ
ック図である。実施の形態1のプリントシステムは、ホ
ストコンピュータ100と、USBバス200と、プリ
ンタ300とにより構成されており、ホストコンピュー
タ100とプリンタ300とは、USBバス200によ
って接続されている。
【0032】実施の形態1のプリンタ300は、発光方
式にLEDヘッド方式を使用し、A3サイズまでの用紙
を印刷することができるイエロー(Y),マゼンダ
(M),シアン(C),ブラック(K)の4色タンデム
型カラー電子写真プリンタ(以降、4色タンデムカラー
LEDプリンタ)とする。上記LEDヘッドの解像度
は、Y,M,C,Kともに600[dpi(dot/i
nch)]とする。また、実施の形態1のプリンタ30
0は、2.5[IPS(inch/sec)],2.0
[IPS],1.5[IPS],1.0[IPS],
0.5[IPS]の5種類のエンジン速度をサポートし
ているものとする。また、実施の形態1のホストコンピ
ュータ100は、オペレーティングシステムとして米国
マイクロソフト社のWindows98を使用している
ものとする。また、1996年に規定されたUSB R
ev1.0を適用するものとする。
【0033】図1を用いて、実施の形態1のホストコン
ピュータ100の構成を説明する。ホストコンピュータ
100は、アプリケーションソフトウェア110と、プ
リンタドライバ120と、USBホストドライバ130
と、USBバスドライバ140と、USBホストコント
ローラ(ハードウェア)150と、シリアルインターフ
ェース部160と、ページディスクリプタメモリ170
と、ラスタイメージデータメモリ180とを備えてい
る。
【0034】プリンタドライバ120は、全てのレンダ
リング(3D図形データなどの印刷データをプリンタデ
バイス用のラスタイメージデータに変換すること)を担
当するカラーホストベースプリンタ用プリンタドライバ
であり、アプリケーションソフトウェア110から印刷
を要求されたプリントデータから、プリンタデバイス用
データとして、ページディスクリプタ(あとで説明する
図6参照)、およびY,M,C,Kのラスタイメージデ
ータ(あとで説明する図7参照)を生成する。上記のペ
ージディスクリプタは、ページディスクリプタメモリ1
70に格納され、上記Y,M,C,Kのラスタイメージ
データは、ラスタイメージデータメモリ180に格納さ
れる。
【0035】USBホストドライバ130は、プリンタ
デバイス用のUSBホストドライバであり、USBバス
ドライバ140とUSBホストコントローラ150とを
介してプリンタ300と通信する。また、USBホスト
ドライバ130は、プリンタ300のサポートする複数
の異なるペイロードサイズの中からアイソクロナス転送
のペイロードサイズを設定する。
【0036】USBバスドライバ140は、USBホス
トコントローラ(ハードウェア)150を直接制御する
ドライバソフトウェアであり、オペレーティングシステ
ムから提供される。USBホストドライバ130は、U
SBホストコントローラ150を直接アクセスすること
がないようになっている。
【0037】図2はプリンタ300のハードウェアブロ
ック図である。また、図3は図2のプリンタ制御部50
0の論理的なブロック図である。また、図4は図2のエ
ンドポイントFIFO群440のエンドポイント構成と
FIFO構成を説明する図である。
【0038】図1および図2を用いて、プリンタ300
のハードウェア構成を説明する。プリンタ300は、U
SB制御部400と、プリンタ制御部500と、プリン
タエンジン600とを備えている。
【0039】USB制御部400は、USBトランシー
バ/レシーバ410と、DPLL(Digital Phese-Lock
ed Loop)420と、プロトコルエンジン(SIE)4
30と、エンドポイントFIFO群440と、エンドポ
イントコントローラ450と、ディスクリプタデータ4
60と、プリンタ制御部インターフェース470とを有
する。また、プリンタ制御部500は、CPU570
と、ROM580と、RAM590とを有する。
【0040】USB制御部400において、トランシー
バ/レシーバ410は、USBの差動信号を送受信する
バッファであり、デバイスの着脱の検知やデータ転送ス
ピードの検知もする。このトランシーバ/レシーバ41
0は、USBフルスピード(12[Mビット/se
c])規格に対応している。また、DPLL420は、
受信した同期パターンから内部のデータサンプリングク
ロックを生成する。
【0041】プロトコルエンジン430は、パケットプ
ロトコルの生成、SOF(Start OfFrame),EOP(E
nd Of Protocol),リセット信号の検知および生成、N
RZI(Non Retern to Zero Inverted)データのエン
コードおよびデコード、ビットスタッフリング、CRC
生成およびCRCチェック、パケットIDの生成および
パケットのデコード、シリアル/パラレル変換およびパ
ラレル/シリアル変換などのUSB転送に必要なデータ
操作をする。
【0042】エンドポイントFIFO群440は、デー
タ転送用のFIFO構成のバッファ群であり、図2およ
び図4のように、コントロール転送に使用されるエンド
ポイントEP0(8[バイト]のFIFOを受信用およ
び送信用に1本ずつ)と、バルクアウト転送に使用され
るエンドポイントEP1(64[バイト]のFIFOを
2本)と、バルクイン転送に使用されるエンドポイント
EP2(64[バイト]のFIFOを1本)と、割り込
み転送に使用されるエンドポイントEP3(8[バイ
ト]のFIFOを1本)と、アイソクロナス転送用(ア
イソクロナスアウト転送用)のエンドポイントEP4
(1024[バイト]のFIFOを2本)とを有する。
【0043】エンドポイントコントローラ450は、エ
ンドポイントを制御し、プロトコルエンジン430で処
理された信号を適切なエンドポイントに格納する処理や
その逆の処理をするブロックである。このエンドポイン
トコントローラ450は、エンドポイント以降の回路と
のインターフェースと、エンドポイントの制御に関する
ステータスやデータが格納されるレジスタと、セットア
ップトランザクションでデバイスリクエストを受信した
場合に8[バイト]のリクエストが格納されるセットア
ップレジスタとを含んでいる。
【0044】ディスクリプタデータ460は、ホストコ
ンピュータ100がプリンタ300を識別するためのデ
バイス識別情報であり、プラグイン時にホストコンピュ
ータ100に通知される。ホストコンピュータ100
は、この情報をもとに、デバイスの認識および適切なド
ライバの組み込みをする。ディスクリプタデータの中に
は、デバイスディスクリプタ、コンフィギュレーション
ディスクリプタ、インターフェースディスクリプタ、お
よびエンドポイントディスクリプタからなる4つの標準
ディスクリプタ(あとで説明する図8参照)と、プリン
タクラス仕様で規定されているクラスディスクリプタ
と、ベンダユニークなディスクリプタとが含まれる。
【0045】図3を用いて、プリンタ制御部500の論
理的な構成を説明する。プリンタ制御部500は、イン
ターフェース処理部510と、データ処理部520と、
画像データ生成処理部530と、印刷制御部540と、
メモリ550と、Y色用ビデオメモリ(Yビデオメモ
リ)560と、M色用ビデオメモリ(Mビデオメモリ)
561と、C色用ビデオメモリ(Cビデオメモリ)56
2と、K色用ビデオメモリ(Kビデオメモリ)563と
を有する。
【0046】インターフェース処理部510は、USB
制御部400を制御し、USBバス200を介してホス
トコンピュータ100との間でデータを送受信し、US
B制御部400のエンドポイントFIFO群440で受
信したページディスクリプタやY,M,C,Kのラスタ
イメージデータをメモリ550に格納し、またメモリ5
50からエンドポイントFIFO群440にデータを格
納する。
【0047】データ処理部520は、インターフェース
処理部510がメモリ550に格納したページディスク
リプタを解析し、ページバッファ(ページの構成や印刷
ドット配列などに関する情報であって、ラスタイメージ
データをビデオデータに変換するときなどに使用される
情報)を生成し、メモリ550に格納する。また、デー
タ処理部520は、ホストコンピュータ100のUSB
ホストドライバ130によって設定されたペイロードサ
イズと、4色のラスタイメージデータのラスタラインデ
ータサイズとをもとにプリンタエンジン速度(プリンタ
エンジン600の印刷速度)を設定する。
【0048】画像データ生成部530は、上記のページ
バッファに従って、メモリ550に格納されたラスタイ
メージデータから、プリンタエンジン600に送信する
ビデオデータ(Yデータ、Mデータ、Cデータ、Kデー
タ)を生成し、これらのY,M,C,Kデータを、Y,
M,C,Kビデオメモリ560,561,562,56
3にそれぞれ格納する。
【0049】また、印刷制御部540は、ビデオメモリ
560〜563のデータをプリンタエンジン600に送
り、プリンタエンジン600に印刷起動をかけ、1ペー
ジの印刷を開始する。
【0050】メモリ550には、USB制御部400が
受信したデータ、USB制御部400から送信するデー
タ、上記のページバッファなどが格納される。アイソク
ロナス転送で連続的にデータ受信できるように、プリン
タ制御部500は、USBバス200のバス速度(12
[Mビット/sec])よりも高速にメモリアクセスが
可能な構成となっている。また、Y,M,C,Kビデオ
メモリ560,561,562,563は、それぞれ少
なくとも2ラスタライン分のデータを格納可能な容量を
持っている。プリンタ300は、A3サイズ(幅11.
7[インチ])の用紙を解像度600[dpi]で印刷
することができるので、ビデオメモリ560〜563
は、それぞれ600[dpi]×11.7[インチ]×
2[ライン]/8[ビット/バイト]=1755[バイ
ト]の容量が必要である。
【0051】この実施の形態1のプリントシステムは、
ホストコンピュータ100において生成されたラスタイ
メージデータをプリンタ300にアイソクロナス転送す
ることを特徴とする。
【0052】ホストコンピュータ100において、US
Bホストドライバ130は、プリンタ300のサポート
する複数の異なるペイロードサイズの中からアイソクロ
ナスペイロードのサイズを設定する。また、USBホス
トドライバ130、USBバスドライバ140、USB
ホストコントローラ150、およびシリアルインターフ
ェース部160は、プリンタドライバ120によって生
成されたラスタイメージデータを、上記アイソクロナス
ペイロードによってプリンタ300にアイソクロナス転
送する。
【0053】プリンタ300において、データ処理部5
20は、ホストコンピュータ100のUSBホストドラ
イバ130によって設定されたペイロードサイズと、4
色のラスタイメージデータのラスタラインデータサイズ
とをもとにプリンタエンジン速度を設定する。
【0054】USB制御部400は、アイソクロナス転
送されたラスタイメージデータをエンドポイントEP4
によって受信する。また、プリンタ制御部500は、1
ページ分のラスタイメージデータに受信完了前に、設定
したプリントエンジン速度でプリントエンジン600に
印刷起動をかける。つまり、プリンタ制御部500は、
最初の1ラインまたは数ラインのラスタイメージデータ
が受信されたら、このラスタイメージデータをビデオデ
ータに変換してプリントエンジン600に送り、プリン
トエンジン600に印刷起動をかける。
【0055】図5はホストコンピュータ100における
プリンタデバイス用データの構成を説明する図である。
また、図6はホストコンピュータ100におけるプリン
タデバイス用ページディスクリプタのデータフォーマッ
トを説明する図である。また、図7はホストコンピュー
タ100におけるプリンタデバイス用ラスタイメージデ
ータ(ラスタラインデータ)のデータフォーマットを説
明する図である。
【0056】図5〜図7を用いて、ホストコンピュータ
100におけるプリンタデバイス用データを説明する。
ホストコンピュータ100のプリンタドライバ120に
よって生成される1ページ分のプリンタデバイス用デー
タは、図5のように、ページディスクリプタと、イメー
ジデータとによって構成されている。
【0057】ページディスクリプタは、エンドポイント
EP1によるバルクアウト転送によってホストコンピュ
ータ100からプリンタ300に転送されるデータであ
り、図6のようなフォーマットでページ単位に作成され
る。図6のページディスクリプタには、印刷色の種類
(オフセット0参照)、印刷用紙サイズ(オフセット1
参照)、それぞれの印刷色のデータ解像度(オフセット
8,10,12,14参照)などが記述されている。
【0058】また、イメージデータは、エンドポイント
EP4によるアイソクロナス転送によってホストコンピ
ュータ100からプリンタ300に転送されるデータで
あり、図7のようなフォーマットで印刷色単位で生成さ
れる複数のラスタラインデータによって構成される。図
7のラスタラインデータには、イメージデータ列(オフ
セット6参照)の他に、ライン番号(オフセット0参
照)、印刷色(オフセット2参照)、データサイズ(オ
フセット4参照)などが付加されている。
【0059】図8はプリンタ300のディスクリプタ構
成を説明する図である。また、図9はプリンタ300の
デバイスディスクリプタのフォーマットを説明する図で
ある。また、図10はプリンタ300のコンフィギュレ
ーションディスクリプタのフォーマットを説明する図で
ある。
【0060】図11はプリンタ300のインターフェー
ス番号0(代替インターフェース番号0)のインターフ
ェースディスクリプタのフォーマットを説明する図、図
12はプリンタ300のインターフェース番号0(代替
インターフェース番号1)のインターフェースディスク
リプタのフォーマットを説明する図、図13はプリンタ
300のインターフェース番号0(代替インターフェー
ス番号2)のインターフェースディスクリプタのフォー
マットを説明する図、図14はプリンタ300のインタ
ーフェース番号0(代替インターフェース番号3)のイ
ンターフェースディスクリプタのフォーマットを説明す
る図である。
【0061】図15はプリンタ300の代替インターフ
ェース番号0のエンドポイントディスクリプタのフォー
マットを説明する図であり、(a)はエンドポイントE
P1のエンドポイントディスクリプタ、(b)はエンド
ポイントEP2のエンドポイントディスクリプタ、
(c)はエンドポイントEP3のエンドポイントディス
クリプタ、(d)はエンドポイントEP4のエンドポイ
ントディスクリプタである。また、図16はプリンタ3
00の代替インターフェース番号1のエンドポイントE
P4のエンドポイントディスクリプタのフォーマットを
説明する図、図17はプリンタ300の代替インターフ
ェース番号2のエンドポイントEP4のエンドポイント
ディスクリプタのフォーマットを説明する図、図18は
プリンタ300の代替インターフェース番号3のエンド
ポイントEP4のエンドポイントディスクリプタのフォ
ーマットを説明する図である。
【0062】なお、代替インターフェース番号1,2,
3のエンドポイントEP1のエンドポイントディスクリ
プタのフォーマットは、図15(a)の代替インターフ
ェース番号0のエンドポイントEP1のエンドポイント
ディスクリプタと同じである。また、代替インターフェ
ース番号1,2,3のエンドポイントEP2のエンドポ
イントディスクリプタのフォーマットは、図15(b)
の代替インターフェース番号0のエンドポイントEP2
のエンドポイントディスクリプタと同じである。また、
代替インターフェース番号1,2,3のエンドポイント
EP3のエンドポイントディスクリプタのフォーマット
は、図15(c)の代替インターフェース番号0のエン
ドポイントEP3のエンドポイントディスクリプタと同
じである。
【0063】図8〜図18を用いて、プリンタ300の
ディスクリプタデータを説明する。USBデバイスは、
USBホストからの要求に従って、ディスクリプタを使
ってその属性を報告しなければならない。ディスクリプ
タとは、定義されたフォーマットを持つデータ構造であ
る。実施の形態1のプリンタ300は、デバイスディス
クリプタ、コンフィギュレーションディスクリプタ、イ
ンターフェースディスクリプタ、エンドポイントディス
クリプタの4つの標準USBディスクリプタをサポート
している。それぞれのディスクリプタは、図9〜図18
のように、ディスクリプタの合計バイト数が入る1バイ
ト幅のフィールド(図9〜図18のオフセット0参照)
から始まり、次にディスクリプタのタイプを識別する1
バイト幅のフィールド(図9〜図18のオフセット1参
照)が続く。
【0064】プリンタ300は、1つのコンフィギュレ
ーション(コンフィギュレーション番号1)を有し、こ
のコンフィギュレーションについて、4つの代替設定が
可能な1つのインターフェース(インターフェース番号
0)を有し、このインターフェースの4つの代替設定の
それぞれについて、5つのエンドポイント(エンドポイ
ント番号0のEP0,エンドポイント番号1のEP1,
エンドポイント番号2のEP2,エンドポイント番号3
のEP3,エンドポイント番号4のEP4)を有する。
これに応じて、プリンタ300のディスクリプタデータ
は、図8のように、デバイスディスクリプタと、コンフ
ィギュレーション番号1のコンフィギュレーションディ
スクリプタと、代替インターフェース番号0,1,2,
3のそれぞれについての4つのインターフェースディス
クリプタと、上記4つのインターフェースディスクリプ
タのそれぞれについてのEP1,EP2,EP3,EP
4(コントロール転送用のEP0を除く)の4つのエン
ドポイントディスクリプタとによって構成されている。
【0065】デバイスディスクリプタは、USBデバイ
スに関する一般情報を記述したものである。このデバイ
スディスクリプタには、そのUSBデバイスがサポート
するコンフィギュレーション個数が記述されている。プ
リンタ300がサポートするコンフィギュレーション数
は1である(図9のオフセット17参照)。
【0066】コンフィギュレーションディスクリプタ
は、上記のデバイスコンフィギュレーションに関する情
報を記述したものである。このコンフィギュレーション
ディスクリプタには、サポートするインターフェース個
数が記述されている。プリンタ300がサポートするイ
ンターフェース数は1である(図10のオフセット4参
照)。
【0067】インターフェースディスクリプタは、上記
コンフィギュレーション内のインターフェースに関する
情報を記述したものである。インターフェースは、複数
の代替設定が可能であり、その内の1つの設定がデフォ
ルト設定になっている。プリンタ300では、代替イン
ターフェース番号0〜3の4つの代替設定が可能であ
り、プリンタ300は、図11〜図14のような代替イ
ンターフェース番号0〜3の4つのインターフェースデ
ィスクリプタを有する。図11〜図14のそれぞれのイ
ンターフェースディスクリプタにおいて、上記の代替イ
ンターフェース番号はオフセット3に記述されており、
エンドポイントの個数(EP0を除く)は、オフセット
4に記述されている。プリンタ300の代替インターフ
ェース番号0,1のインターフェースのエンドポイント
の個数(EP0を除く)は、それぞれ4個である。
【0068】エンドポイントディスクリプタは、上記コ
ンフィギュレーション内の一意のエンドポイントに関す
る情報を記述したものである。プリンタ300は、EP
0〜EP4の5つのエンドポイントを持っており、代替
インターフェース番号0〜3の4つのインターフェース
ディスクリプタのそれぞれについて、図15〜図18の
ようなエンドポイントEP1〜EP4の4つのエンドポ
イントディスクリプタを有する。エンドポイントディス
クリプタのオフセット2には、エンドポイント番号が記
述されており、オフセット3には、そのエンドポイント
の転送モードが記述されており、オフセット4には、そ
のエンドポイントの最大データ転送パケットサイズが記
述されている。
【0069】プリンタ300では、図15(a)のよう
に、代替インターフェース番号0〜3のエンドポイント
EP1は、バルクアウト転送用として、ホストコンピュ
ータ100からプリンタ300へのプリンタ環境設定コ
マンドデータ転送に使用され、受信最大パケットサイズ
は64[バイト]に設定してある。また、図15(b)
のように、代替インターフェース番号0〜3のエンドポ
イントEP2は、バルクイン転送用として、プリンタ3
00からホストコンピュータ100へのプリンタ環境ス
テータスデータ転送に使用され、送信最大パケットサイ
ズは64[バイト]に設定してある。また、図15
(c)のように、代替インターフェース番号0〜3のエ
ンドポイントEP3は、割り込み転送用として、ジャム
や用紙切れ等のプリンタ300からホストコンピュータ
100へのアラーム情報転送に使用され、最大パケット
サイズは8[バイト]に設定してある。
【0070】また、プリンタ300では、図15(d)
のように、代替インターフェース番号0のエンドポイン
トEP4は、アイソクロナス転送用として、ホストコン
ピュータ100からプリンタ300へのラスタイメージ
データ転送に使用され、送信最大パケットサイズは10
23[バイト]に設定してある。また、図16のよう
に、代替インターフェース番号1のエンドポイントEP
4は、アイソクロナス転送用として、ホストコンピュー
タ100からプリンタ300へのラスタイメージデータ
転送に使用され、送信最大パケットサイズは512[バ
イト]に設定してある。また、図17のように、代替イ
ンターフェース番号2のエンドポイントEP4は、アイ
ソクロナス転送用として、ホストコンピュータ100か
らプリンタ300へのラスタイメージデータ転送に使用
され、送信最大パケットサイズは256[バイト]に設
定してある。また、図18のように、代替インターフェ
ース番号3のエンドポイントEP4は、アイソクロナス
転送用として、ホストコンピュータ100からプリンタ
300へのラスタイメージデータ転送に使用され、送信
最大パケットサイズは128[バイト]に設定してあ
る。
【0071】このように、上記4つの代替設定インター
フェースの違いは、エンドポイントEP4の最大パケッ
トサイズ(最大ペイロードサイズ)が異なっているだけ
である。実施の形態1のプリントシステムでは、印刷用
紙サイズやデータ解像度による1ページ当たりのラスタ
ーイメージデータ量の変化、さらにはラスタライン圧縮
率による1ページ当たりのラスターイメージデータ量の
変化やUSBバス200上のトラフィック変化に対応で
きるように、アイソクロナス転送用のエンドポイントE
P4のパケットサイズ(ペイロードサイズ)として、4
種類(1023[バイト]、512[バイト]、256
[バイト]、128[バイト])を用意してある。代替
インターフェースを変更することによってエンドポイン
トEP4のパケットサイズを変更することができるの
で、ホストコンピュータ100は、代替インターフェー
スを選択することにより、印刷用紙サイズやデータ解像
度による1ページ当たりのイメージデータ量、ラスタラ
イン圧縮率による1ページ当たりのイメージデータ量、
USBバス200上のトラフィック、ホストコンピュー
タ100自身の能力(CPUパワー、メモリサイズ、メ
モリアクセス性能等)、印刷ジョブの印刷データの複雑
度などに応じて、イメージデータの転送に用いられるア
イソクロナス転送のパケットサイズを設定することが可
能となる。
【0072】図19および図20は本発明の実施の形態
1のプリンタシステムにおけるホストコンピュータ10
0とプリンタ300間の処理の詳細を説明したフローチ
ャートである。また、図21はホストコンピュータ10
0のUSBホストドライバ130によるアイソクロナス
転送ペイロード決定処理の詳細を説明したフローチャー
トである。また、図22はプリンタ300のデータ処理
部520によるプリンタエンジン速度決定処理の詳細を
説明したフローチャートである。また、図23は本発明
の実施の形態1のプリントシステムにおけるUSBバス
上のデータフレームを説明した図である。
【0073】図19および図20を用いて、実施の形態
1のプリントシステムにおけるホストコンピュータ10
0とプリンタ300間の処理手順を説明する。まず、ス
テップS100において、ユーザがホストコンピュータ
100において印刷するための操作をすると、ホストコ
ンピュータ100上で動作するアプリケーションソフト
ウェア110(以下、アプリケーション110)はプリ
ンタドライバ120に印刷命令を出す。このときに、印
刷用紙サイズ、イメージデータ解像度、印刷色(モノク
ロかカラー)、印刷位置等の指定がアプリケーション1
10からプリンタドライバ120に渡される。次に、ス
テップS110において、カラーホストベースプリンタ
用ドライバであるプリンタドライバ120は、アプリケ
ーション110からの指定に従って、図6に示すページ
ディスクリプタと、図7に示すY,M,C,K色のラス
タイメージデータとを生成し、ページディスクリプタを
ページディスクリプタメモリ170に格納するととも
に、1ページ分のラスタイメージデータをラスタイメー
ジデータメモリ180に格納し、USBホストドライバ
130を起動する。
【0074】次に、ステップS120において、USB
ホストドライバ130は、USBバスドライバ140に
対して、プリンタ300のデバイスディスクリプタの取
得を要求する(GetDescriptorRequest)。次に、ステッ
プS130において、USBバスドライバ140は、エ
ンドポイントEP0のコントロール転送を使って、US
Bホストコントローラ150、シリアルインターフェー
ス部160を介して、プリンタ300に対して、プリン
タ300のデバイスディスクリプタの送信を要求する。
次に、ステップS140において、プリンタ300のU
SB制御部400は、ホストコンピュータ100に対し
て、図9に示すデバイスディスクリプタを返信する。
【0075】次に、ステップS150において、上記ス
テップS120〜S140と同様にして、USBホスト
ドライバ130は、USBバスドライバ140に対し
て、プリンタ300のコンフィギュレーションディスク
リプタの取得を要求し(GetConfigurationRequest)、
USBバスドライバ140は、プリンタ300に対し
て、プリンタ300のコンフィギュレーションディスク
リプタの送信を要求し、プリンタ300のUSB制御部
400は、ホストコンピュータ100に対して、図10
に示すコンフィギュレーションディスクリプタを返信す
る。
【0076】次に、ステップS160において、上記ス
テップS120〜S140と同様にして、USBホスト
ドライバ130は、USBバスドライバ140に対し
て、プリンタ300のインターフェースディスクリプタ
およびエンドポイントディスクリプタの取得を要求し
(GetInterfaceRequest)、USBバスドライバ140
は、プリンタ300に対して、プリンタ300のインタ
ーフェースディスクリプタおよびエンドポイントディス
クリプタの送信を要求し、プリンタ300のUSB制御
部400は、ホストコンピュータ100に対して、代替
インターフェース番号0〜3の4個のインターフェース
ディスクリプタ(図11〜図14参照)、およびそれぞ
れのインターフェースディスクリプタについてのエンド
ポイントEP1〜EP4のエンドポイントディスクリプ
タ(図15〜図18参照)を返信する。
【0077】上記のインターフェースディスクリプタお
よびエンドポイントディスクリプタの返信においては、
例えば、代替インターフェース番号0のインターフェー
スディスクリプタの転送されたすぐあとに、代替インタ
ーフェース番号0のインターフェースについてのエンド
ポイントEP1〜EP4のエンドポイントディスクリプ
タが転送される。
【0078】次に、ステップS170において、USB
ホストドライバ130は、上記のインターフェースディ
スクリプタおよびエンドポイントディスクリプタから、
代替インターフェース情報(代替インターフェース番号
0〜3)と、それぞれの代替インターフェースについて
のエンドポイント情報(エンドポイントEP1〜EP
4)とを取得する。
【0079】このように、ホストコンピュータ100
は、上記のGetInterfaceRequestを使って、プリンタ3
00にインターフェースディスクリプタおよびエンドポ
イントディスクリプタを要求し、これらを転送させるこ
とにって、プリンタ300の代替インターフェース設定
(それぞれの代替インターフェースのエンドポイント設
定)を認識することができる。
【0080】次に、ステップS180において、USB
ホストドライバ130は、図21に示す方法を使って、
アイソクロナス転送のペイロードサイズを計算し、代替
インターフェース番号を選択し(アイソクロナスペイロ
ードサイズを設定し)、USBバスドライバ140に対
して、プリンタ300のUSBインターフェースの設定
を要求する(SetInterfaceRequest)。
【0081】このように、ホストコンピュータ100
は、上記のSetInterfaceRequestを使ってプリンタ30
0の代替インターフェースを選択することにより、他の
USBデバイスの動作を中断させることなく、プリンタ
300の代替インターフェース設定を変更することがで
き、これによりアイソクロナス転送のパケットサイズを
変更することができる。
【0082】次に、ステップS190において、USB
ホストドライバ130およびUSBバスドライバ140
は、ページディスクリプタメモリ170の内容を、エン
ドポイントEP1のバルクアウト転送を使ってプリンタ
300に送信する(WriteAsyncRequest)。プリンタ3
00のUSB制御部400は、ホストコンピュータ10
0からバルクアウト転送されたページディスクリプタを
エンドポイントFIFO群440のエンドポイントEP
3で受信し、プリンタ300のインターフェース制御部
510は、上記エンドポイントEP3で受信されたペー
ジディスクリプタをメモリ550に格納する。
【0083】次に、ステップS200において、プリン
タ300のデータ処理部520は、上記のページディス
クリプタを解析してページバッファを生成し、メモリ5
50に格納するとともに、図22に示す方法を使ってプ
リンタエンジン速度(プリンタエンジン600の印刷速
度)を設定する。
【0084】次に、ステップS210において、USB
ホストドライバ130およびUSBバスドライバ140
は、プリンタ300のプリンタエンジン速度を、エンド
ポイントEP2のバルクイン転送を使って取得する(Re
adAsyncRequest)。
【0085】次に、ステップS220において、USB
ホストドライバ130およびUSBバスドライバ140
は、ラスタイメージデータメモリ180の内容を、エン
ドポイントEP4のアイソクロナス転送を使ってプリン
タ300に順次送信する(WriteSyncRequest)。
【0086】上記ステップS220によって、Y,M,
C,Kのラスタイメージデータは、図23のように、プ
リンタ300に順次アイソクロナス転送される。図23
は1フレームのアイソクロナスペイロードによって、1
ラスタライン分のY,M,C,またはKのラスタイメー
ジデータ(Y,M,C,またはKのラスタラインデー
タ)をアイソクロナス転送する場合のフレームであり、
(a)はアイソクロナスペイロードが1023[バイ
ト]に設定された場合、(b)はアイソクロナスペイロ
ードが512[バイト]に設定された場合、(c)はア
イソクロナスペイロードが256[バイト]に設定され
た場合である。図23では、最初のフレームによって第
1ラインのYラスタラインデータが転送され、次のフレ
ームによって第1ラインのMラスタラインデータが転送
され、その次のフレームによって第1ラインのCラスタ
ラインデータが転送され、その次のフレームによって第
1ラインのKラスタラインデータが転送され、さらにそ
の次のフレームによって第2ラインのYラスタラインデ
ータが転送される。このように、実施の形態1のプリン
トシステムでは、アイソクロナス転送によってラスタイ
メージデータを転送することにより、ラスタイメージデ
ータを等時的に(連続的かつ周期的に一定幅のデータ転
送レートを保って)転送することが可能となる。
【0087】次に、ステップS230において、プリン
タ300のUSB制御部400は、ホストコンピュータ
100からアイソクロナス転送されたラスタイメージデ
ータをエンドポイントFIFO群440のエンドポイン
トEP4で受信し、プリンタ300のインターフェース
制御部510は、上記エンドポイントEP4で受信され
たラスタイメージデータをメモリ550に格納する。
【0088】次に、ステップS240において、プリン
タ300の画像データ生成部530は、上記ステップS
200で生成されたページバッファに従って、受信した
ラスタイメージデータから、プリンタエンジン600に
送信するビデオデータ(Yデータ、Mデータ、Cデー
タ、Kデータ)を生成し、これらのY,M,C,Kデー
タを、それぞれY,M,C,Kビデオメモリ560,5
61,562,563に格納する。次に、ステップS2
50において、プリンタ300の印刷制御部540は、
データ処理部520で決定されたプリンタエンジン速度
をプリンタエンジン600に指示し、ビデオメモリ56
0〜563のデータをプリンタエンジン600に送り、
1ページの印刷を開始する。
【0089】次に、ステップS260において、1ペー
ジの印刷が終了すると、プリンタ300のプリンタ制御
部500は、USB制御部400を介してエンドポイン
トEP3の割り込み転送を使って、ページの印刷終了メ
ッセージをホストコンピュータ100に送信する。次
に、ステップS270において、ホストコンピュータ1
00のUSBホストドライバ130は、ページの印刷終
了を確認すると、プリンタドライバ120に通知する。
次に、ステップS280において、プリンタドライバ1
20は、ページが正しく印刷されたことを確認すると、
ページディスクリプタメモリ170とラスタイメージデ
ータメモリ180の内容を開放し、次のページの印刷準
備をする。
【0090】図21を用いて、USBホストドライバ1
30によるアイソクロナスペイロードサイズ決定処理の
詳細を説明する。まず、ステップS500において、U
SBホストドライバ130は、ページディスクリプタメ
モリ170から印刷用紙サイズ情報を取得し、PrintPap
erに格納する。次に、ステップS510において、US
Bホストドライバ130は、ページディスクリプタメモ
リ170からラスタイメージデータの解像度情報を取得
し、PrintDataResに格納する。
【0091】次に、ステップS520において、USB
ホストドライバ130は、用紙サイズPrintPaperと、イ
メージデータ解像度PrintDataResとから、1色当たりの
ラスタラインデータサイズを計算し、計算したラスタラ
インデータサイズをPrintRasterSizeに格納する。ラス
タラインデータサイズPrintRasterSizeは、 PrintRasterSize=PrintPaper×PrintDataRes によって計算される。
【0092】次に、ステップS530およびステップS
540〜S543において、USBホストドライバ13
0は、上記計算したラスタラインデータサイズPrintRas
terSizeからアイソクロナス転送のペイロードサイズを
決定し(代替インターフェース番号を選択し)、ペイロ
ードサイズをPayloadSizeに格納し、代替インターフェ
ース番号をAltInterfaceに格納する。ペイロードサイズ
としては、1回のアイソクロナス転送トランザクション
で、1ラインのラスタイメージデータを転送できるペイ
ロードが確保できれば十分である。
【0093】ステップS530において、ラスタライン
データサイズPrintRasterSize(PRS)が、PRS≧
512[バイト]であるか否か、512[バイト]>P
RS≧256[バイト]であるか否か、256[バイ
ト]>PRS≧128[バイト]であるか否か、および
128[バイト]>PRSであるか否かを判別する。
【0094】そして、PRS≧512[バイト]であれ
ば、ステップS540において、EP4のペイロードサ
イズを1023[バイト]に設定し(代替インターフェ
ース番号0を選択し)、PayloadSizeに1023[バイ
ト]を格納し、AltInterfaceに0を格納する。また、5
12[バイト]>PRS≧256[バイト]であれば、
ステップS541において、EP4のペイロードサイズ
を512[バイト]に設定し(代替インターフェース番
号1を選択し)、PayloadSizeに512[バイト]を格
納し、AltInterfaceに1を格納する。また、256[バ
イト]>PRS≧128[バイト]であれば、ステップ
S542において、EP4のペイロードサイズを256
[バイト]に設定し(代替インターフェース番号2を選
択し)、PayloadSizeに256[バイト]を格納し、Alt
Interfaceに2を格納する。また、128[バイト]>
PRSであれば、ステップS543において、EP4の
ペイロードサイズを128[バイト]に設定し(代替イ
ンターフェース番号3を選択し)、PayloadSizeに12
8を格納し、AltInterfaceに3を格納する。
【0095】図22を用いて、プリンタ300における
プリンタエンジン速度決定処理の詳細を説明する。ま
ず、ステップS600において、プリンタ制御部500
のデータ処理部520は、設定された代替インターフェ
ース番号からペイロードサイズを認識し、このペイロー
ドサイズをUsbPayloadSizeに格納する。次に、ステップ
S610において、データ処理部520は、ホストコン
ピュータ100から送信されたページディスクリプタ
(図6参照)をもとに、4色分のラスタラインデータサ
イズを計算し、RasterColorSizeに格納する。
【0096】次に、ステップS620において、データ
処理部520は、ペイロードサイズPayloadSizeと4色
分のラスタラインデータサイズRasterColorSizeとか
ら、プリンタエンジン600のエンジン速度を計算し、
EngineSpeedに格納する。エンジン速度EngineSpeedは、 EngineSpeed=(UsbPayloadSize×1000)/RasterColorSize…(1) によって計算される。
【0097】次に、ステップS630において、データ
処理部520は、計算したエンジン速度EngineSpeed
が、プリンタ300がサポートしている最低のエンジン
速度以上であるか否かを判別する。つまり、EngineSpee
d≧0.5であるか否かを判別する。そして、EngineSpe
ed≧0.5であれば、ステップS640に進む。また、
EngineSpeed<0.5であれば、プリンタエンジン60
0のエンジン速度の設定が不可能であると判別し、本フ
ローを終了する。
【0098】次に、ステップS640およびステップS
650〜S654において、データ処理部520は、計
算したエンジン速度EngineSpeedとプリンタ300がサ
ポートしている複数のエンジン速度とから、実際に印刷
するエンジン速度を決定し、RealEngineSpeedに格納す
る。
【0099】ステップS640において、計算したエン
ジン速度EngineSpeed(ES)が、ES≧2.5[IP
S]であるか否か、2.5[IPS]>ES≧2.0
[IPS]であるか否か、2.0[IPS]>ES≧
1.5[IPS]であるか否か、1.5[IPS]>E
S≧1.0[IPS]であるか否か、および1.0[I
PS]>ES≧0.5[IPS]であるか否かを判別す
る。そして、ES≧2.5[IPS]であれば、ステッ
プS650において、実際に印刷するエンジン速度を
2.5[IPS]に設定し、RealEngineSpeedに2.5
[IPS]を格納する。また、2.5[IPS]>ES
≧2.0[IPS]であれば、ステップS651におい
て、実際に印刷するエンジン速度を2.0[IPS]に
設定し、RealEngineSpeedに2.0[IPS]を格納す
る。また、2.0[IPS]>ES≧1.5[IPS]
であれば、ステップS652において、実際に印刷する
エンジン速度を1.5[IPS]に設定し、RealEngine
Speedに1.5[IPS]を格納する。また、1.5
[IPS]>ES≧1.0[IPS]であれば、ステッ
プS653において、実際に印刷するエンジン速度を
1.0[IPS]に設定し、RealEngineSpeedに1.0
[IPS]を格納する。また、1.0[IPS]>ES
≧0.5[IPS]であれば、ステップS654におい
て、実際に印刷するエンジン速度を0.5[IPS]に
設定し、RealEngineSpeedに0.5[IPS]を格納す
る。
【0100】なお、上記ステップS630において、計
算したエンジン速度EngineSpeedが、EngineSpeed<0.
5であり、エンジン速度の設定が不可能であった場合に
は、プリンタ300は、図20のステップS210にお
いて、エンジン速度の設定が不可能であったことを、ホ
ストコンピュータ100に通知する。ホストコンピュー
タ100は、エンジン速度の設定が不可能であったこと
を認識すると、図19のステップS110に戻り、ラス
タイメージデータ解像度(図6のオフセット8,10,
12,14参照)などを見直し、ページディスクリプタ
を修正し、図19および図20のステップS180以降
のフローを再度実施する。
【0101】
【表1】 表1はレター用紙、A4用紙、およびA3用紙に解像度
300[dpi]または600[dpi]で印刷する場
合について、1色当たりのラスタラインデータサイズ
(PrintRasterSize)と、4色分のラスタラインデータ
サイズ(RasterColorSize)と、ペイロードサイズ(Pay
loadSize)=1023[バイト],512[バイト],
256[バイト],128[バイト]のときのエンジン
速度(EngineSpeed)とを一覧にしたものである。プリ
ンタ300は、実際のエンジン速度(RealEngineSpee
d)として、2.5[IPS]、2[IPS]、1.5
[IPS]、1[IPS]、0.5[IPS]の5種類
をサポートする。
【0102】具体例として、レター用紙に300[dp
i]のデータを印刷する場合には、1色当たりのラスタ
ラインデータサイズPrintRasterSize=320[バイ
ト]であるため、代替インターフェース番号1(EP4
のペイロードサイズ=512[バイト])が選定され
る。また、4色分のラスタラインデータサイズRasterCo
lorSize=1280[バイト]であるため、上記(1)
によって表1のようにプリンタエンジン速度EngineSpee
d=1.33[IPS]と計算され、実際のプリンタエ
ンジン速度RealEngineSpeedは、1.0[IPS]が選
定される。
【0103】また、A3用紙に600[dpi]のデー
タを印刷する場合には、1色当たりのラスタラインデー
タサイズPrintRasterSize=900[バイト]であるた
め、代替インターフェース番号0(EP4のペイロード
サイズ=1023[バイト])が選択される。また、4
色分のラスタラインデータサイズRasterColorSize=3
600[バイト]であるため、上記(1)によって表1
のようにプリンタエンジン速度EngineSpeed=0.47
[IPS]と計算される。プリンタ300がサポートす
る最低のエンジン速度は0.5[IPS]であるため、
上記A3用紙に600[dpi]のデータを印刷する場
合には、エンジン速度の設定が不可能となる。このた
め、解像度を300[dpi]に低下させて、エンジン
速度を再度設定する。
【0104】A3用紙に300[dpi]のデータを印
刷する場合には、1色当たりのラスタラインデータサイ
ズPrintRasterSize=450[バイト]であるため、代
替インターフェース番号1(EP4のペイロードサイズ
=512[バイト])が選定される。また、4色分のラ
スタラインデータサイズRasterColorSize=1800
[バイト]であるため、上記(1)によって表1のよう
にエンジン速度EngineSpeed=0.95[IPS]と計
算され、実際のプリンタエンジン速度RealEngineSpeed
は、0.5[IPS]が選定される。
【0105】以上のように実施の形態1によれば、ホス
トコンピュータとプリンタとをUSB接続したプリント
システムにおいて、ホストコンピュータ側で、印刷用紙
サイズとイメージデータ解像度とをもとにアイソクロナ
ス転送のペイロードサイズを設定し、プリンタ側で、上
記設定されたペイロードサイズとラスタラインデータサ
イズとをもとにプリンタエンジン速度を設定し、上記サ
イズ設定されたアイソクロナスペイロードによってラス
タイメージデータをホストコンピュータからプリンタに
アイソクロナス転送することにより、ラスタイメージデ
ータ転送の等時性を確保することができ、1ページ分の
ラスタイメージデータの受信完了前に、プリンタエンジ
ンに印刷起動をかけることができるので、プリンタに搭
載するメモリの容量を削減することができ(1ページ分
のメモリを設ける必要がない)、印刷時間を短縮するこ
とができる。
【0106】なお、上記実施の形態1では、印刷用紙サ
イズとイメージデータ解像度とをもとにアイソクロナス
転送のペイロードサイズを設定したが、ペイロードサイ
ズは、例えばUSBバス200の使用率(トラフィッ
ク)に応じて設定しても良い。また、上記実施の形態1
では、設定されたペイロードサイズとラスタラインデー
タサイズとをもとにプリンタエンジン速度を設定した
が、設定されたペイロードサイズのみをもとにプリンタ
エンジン速度を設定しても良い。
【0107】実施の形態2 上記実施の形態1のプリントシステムが、印刷用紙サイ
ズとイメージデータ解像度とをもとにアイソクロナス転
送のペイロードを設定していたのに対して、これから説
明する実施の形態2のプリントシステムでは、印刷用紙
サイズとイメージデータ解像度とラスタライン圧縮率と
をもとにアイソクロナス転送のペイロードを設定する。
印刷用紙サイズとイメージデータ解像度に加え、ラスタ
ライン圧縮率をもとにアイソクロナス転送のペイロード
を設定することにより、上記実施の形態1よりもさらに
最適なアイソクロナス転送ペイロードサイズとプリント
エンジン速度を設定することができるので、USBバス
のトラフィックスの優れたプリントシステムを提供でき
る。この実施の形態2のプリントシステムの構成は、上
記実施の形態1の構成と同様であり(図1〜図3参
照)、USBホストドライバ130によるアイソクロナ
ス転送ペイロード決定処理、およびプリンタドライバ1
20によって生成されるプリンタディスクリプタ用ペー
ジディスクリプタのデータフォーマットが、上記実施の
形態1と異なる。
【0108】図24は本発明の実施の形態2のプリント
システムのホストコンピュータ100におけるプリンタ
デバイス用ページディスクリプタのデータフォーマット
を説明する図である。図24のプリンタデバイス用ペー
ジディスクリプタは、上記実施の形態1のプリンタデバ
イス用ページディスクリプタ(図6参照)において、ペ
ージ内の全ラスタライン中の最大圧縮率(圧縮後サイズ
/圧縮前サイズ)情報を追加したものとなっている(図
24のオフセット6参照)。
【0109】なお、プリンタデバイス用データの構成お
よびラスタイメージデータのデータフォーマットは、上
記実施の形態1と同じ構成である(図5および図7参
照)。また、実施の形態2のプリンタ300のディスク
リプタ構成およびそれぞれのディスクリプタのデータフ
ォーマットは、上記実施の形態1と同じである(図8〜
図18参照)。
【0110】図25は本発明の実施の形態2のUSBホ
ストドライバ130によるアイソクロナス転送ペイロー
ド決定処理の詳細を説明するフローチャートである。な
お、図25において、図21と同じものには同じ符号を
付してある。
【0111】図25を用いて、実施の形態2のUSBホ
ストドライバ130によるアイソクロナスペイロードサ
イズ決定処理の詳細を説明する。まず、ステップS50
0において、USBホストドライバ130は、ページデ
ィスクリプタメモリ170から印刷用紙サイズ情報を取
得し、PrintPaperに格納する。次に、ステップS510
において、USBホストドライバ130は、ページディ
スクリプタメモリ170からラスタイメージデータの解
像度情報を取得し、PrintDataResに格納する。
【0112】次に、ステップS720において、USB
ホストドライバ130は、ページディスクリプタメモリ
170からラスタイメージデータの最大圧縮率情報を取
得し、ラスタライン圧縮率としてPrintCompRatioに格納
する。
【0113】次に、ステップS730において、USB
ホストドライバ130は、印刷用紙サイズPrintPaper
と、イメージデータ解像度PrintDataResと、ラスタライ
ン圧縮率PrintCompRatioとから、1色分のラスタライン
データサイズを計算し、PrintRasterSizeに格納する。
ラスタラインデータサイズPrintRasterSizeは、 PrintRasterSize=PrintPaper×PrintDataRes×PrintCompRatio…(2) によって計算される。
【0114】次に、上記実施の形態1と同様に、ステッ
プS530およびステップS540〜S543におい
て、USBホストドライバ130は、上記計算したラス
タラインデータサイズPrintRasterSizeからアイソクロ
ナス転送のペイロードサイズを決定し(代替インターフ
ェース番号を選択し)、ペイロードサイズをPayloadSiz
eに格納し、代替インターフェース番号をAltInterface
に格納し、本フローを終了する。ペイロードサイズとし
ては、1回のアイソクロナス転送トランザクションで、
1ラインのラスタデータを転送できるペイロードが確保
できれば十分である。
【0115】
【表2】 表2は、レター用紙、A4用紙、またはA3用紙に、解
像度300[dpi]または600[dpi]、圧縮率
1.0、0.8、0.5、または0.4で印刷する場合
について、1色当たりのラスタラインデータサイズ(Pr
intRasterSize)と、4色分のラスタラインデータサイ
ズ(RasterColorSize)と、ペイロードサイズ(Payload
Size)=1023[バイト],512[バイト],25
6[バイト],128[バイト]のときのエンジン速度
(EngineSpeed)とを一覧にしたものである。プリンタ
300は、実際のエンジン速度(RealEngineSpeed)と
して、2.5[IPS]、2[IPS]、1.5[IP
S]、1[IPS]、0.5[IPS]の5種類をサポ
ートする。
【0116】具体例として、レター用紙に、解像度60
0[dpi]、ラスタライン圧縮率0.8のデータを印
刷する場合には、1色当たりのラスタラインデータサイ
ズPrintRasterSize=512[バイト]であるため、代
替インターフェース番号0(EP4のペイロードサイズ
=1023[バイト])が選定される。また、4色分の
ラスタラインデータサイズRasterColorSize=2048
[バイト]であるため、上記(1)によって表2のよう
にプリンタエンジン速度EngineSpeed=0.83[IP
S]と計算され、実際のプリンタエンジン速度RealEngi
neSpeedは、0.5[IPS]が選定される。
【0117】また、A3用紙に、解像度600[dp
i]、ラスタライン圧縮率0.4のデータを印刷する場
合には、1色当たりのラスタラインデータサイズPrintR
asterSize=360[バイト]であるため、代替インタ
ーフェース番号1(EP4のペイロードサイズ=512
[バイト])が選定される。また、4色分のラスタライ
ンデータサイズRasterColorSize=1440[バイト]
であるため、上記(1)によって表2のようにプリンタ
エンジン速度EngineSpeed=0.60[IPS]と計算
され、実際のプリンタエンジン速度RealEngineSpeed
は、0.5[IPS]が選定される。
【0118】以上のように実施の形態2によれば、ホス
トコンピュータとプリンタとをUSB接続したプリント
システムにおいて、ホストコンピュータ側で、印刷用紙
サイズとイメージデータ解像度とラスタライン圧縮率と
をもとにアイソクロナス転送のペイロードサイズを設定
し、プリンタ側で、上記設定されたペイロードサイズと
ラスタラインデータサイズとをもとにプリンタエンジン
速度を設定し、上記サイズ設定されたアイソクロナスペ
イロードによってラスタイメージデータをホストコンピ
ュータからプリンタにアイソクロナス転送することによ
り、上記実施の形態1と同じように、ラスタイメージデ
ータ転送の等時性を確保することができ、1ページ分の
ラスタイメージデータの受信完了前に、プリンタエンジ
ンに印刷起動をかけることができるので、プリンタに搭
載するメモリの容量を削減することができ(1ページ分
のメモリを設ける必要がない)、印刷時間を短縮するこ
とができる。
【0119】さらに、印刷用紙サイズとイメージデータ
解像度に加え、ラスタライン圧縮率をもとにアイソクロ
ナス転送のペイロードを設定することにより、上記実施
の形態1よりもさらに最適なアイソクロナス転送ペイロ
ードサイズとプリントエンジン速度を設定することがで
きるので、USBバスのトラフィックスの優れたプリン
トシステムを提供できる。
【0120】実施の形態3 上記実施の形態2のプリントシステムが、印刷用紙サイ
ズとイメージデータ解像度とラスタライン圧縮率とをも
とにアイソクロナス転送のペイロードを設定しているの
に対して、これから説明する実施の形態3のプリントシ
ステムは、印刷用紙サイズとイメージデータ解像度とラ
スタライン圧縮率とをもとに、かつUSBバス使用率に
応じてアイソクロナス転送のペイロードを設定する。U
SBバス使用率(USBバスのトラフィック)に応じて
アイソクロナス転送のペイロードを設定することによ
り、USBバスを効率的に活用する上でさらに最適なア
イソクロナス転送ペイロードサイズとプリントエンジン
速度を設定することができるので、USBバスの有効活
用および印刷スループットに優れたプリントシステムを
提供できる。
【0121】この実施の形態3のプリントシステムの構
成は、上記実施の形態1の構成と同様であり(図1〜図
3参照)、USBホストドライバ130によるアイソク
ロナス転送ペイロード決定処理が、上記実施の形態1と
異なる。また、実施の形態3のプリンタドライバ120
によるプリンタデバイス用データの構成、ページディス
クリプタのデータフォーマット、およびラスタイメージ
データのデータフォーマット、ならびに実施の形態3の
プリンタ300のディスクリプタ構成およびそれぞれの
ディスクリプタのデータフォーマットは、上記実施の形
態2と同じ構成である。
【0122】図26は本発明の実施の形態3のUSBホ
ストドライバ130によるアイソクロナス転送ペイロー
ド決定処理の詳細を説明するフローチャートである。な
お、図26において、図25と同じものには、同じ符号
を付してある。
【0123】図26を用いて、実施の形態3のUSBホ
ストドライバ130によるアイソクロナスペイロードサ
イズ決定処理の詳細を説明する。まず、ステップS50
0において、USBホストドライバ130は、ページデ
ィスクリプタメモリ170から印刷用紙サイズ情報を取
得し、PrintPaperに格納する。次に、ステップS510
において、USBホストドライバ130は、ページディ
スクリプタメモリ170からラスタイメージデータの解
像度情報を取得し、PrintDataResに格納する。
【0124】次に、ステップS720において、USB
ホストドライバ130は、ページディスクリプタメモリ
170からラスタイメージデータの最大圧縮率情報を取
得し、ラスタライン圧縮率としてPrintCompRatioに格納
する。次に、ステップS730において、USBホスト
ドライバ130は、印刷用紙サイズPrintPaperと、イメ
ージデータ解像度PrintDataResと、ラスタライン圧縮率
PrintCompRatioとから、1色当たりのラスタラインデー
タサイズを計算し、PrintRasterSizeに格納する。ラス
タラインデータサイズPrintRasterSizeは、上記(2)
式によって計算される。
【0125】次に、ステップS840において、USB
ホストドライバ130は、仮ラスタラインデータサイズ
TempPrintRasterSizeを設定する。まず、変数nに1を
格納し、TempPrintRasterSize[n]=TempPrintRaster
Size[0](=512バイト)を、仮ラスタラインデー
タサイズTempPrintRasterSizeに格納する。なお、上記
の変数nは0,1,2,3のいずれかである。また、上
記のTempPrintRasterSize[n]は、nに応じた値であ
り、 TempPrintRasterSize[0]=512[バイト]、 TempPrintRasterSize[1]=256[バイト]、 TempPrintRasterSize[2]=128[バイト]、 TempPrintRasterSize[3]= 0[バイト] である。
【0126】次に、ステップS850およびS860〜
S863において、USBホストドライバ130は、仮
ラスタラインデータサイズTempPrintRasterSizeからア
イソクロナス転送のペイロードサイズを決定し(代替イ
ンターフェース番号を選択し)、ペイロードサイズをPa
yloadSizeに格納し、代替インターフェース番号をAltIn
terfaceに格納する。だだし、このステップS850お
よびS860〜S863においては、ペイロードサイズ
は仮決定されたものである。ペイロードサイズが決定さ
れるのは、本フローを終了したときである。
【0127】ステップS850において、仮ラスタライ
ンデータサイズTempPrintRasterSize(TPRS)が、
TPRS=512[バイト]であるか否か、TPRS=
256[バイト]であるか否か、TPRS=128[バ
イト]であるか否か、およびTPRS=0[バイト]で
あるか否かを判別する。
【0128】そして、TPRS=512[バイト]であ
れば、ステップS860において、EP4のペイロード
サイズを1023[バイト]に設定し(代替インターフ
ェース番号0を選択し)、PayloadSizeに1023[バ
イト]を格納し、AltInterfaceに0を格納する。なお、
上記のステップS840からステップS850に進んだ
ときは、必ずTPRS=512[バイト]である。ま
た、TPRS=256[バイト]であれば、ステップS
861において、EP4のペイロードサイズを512
[バイト]に仮設定し(代替インターフェース番号1を
仮選択し)、PayloadSizeに512[バイト]を格納
し、AltInterfaceに1を格納する。また、TPRS=1
28[バイト]であれば、ステップS862において、
EP4のペイロードサイズを256[バイト]に仮設定
し(代替インターフェース番号2を仮選択し)、Payloa
dSizeに256[バイト]を格納し、AltInterfaceに2
を格納する。また、TPRS=0[バイト]であれば、
ステップS863において、EP4のペイロードサイズ
を128[バイト]に仮設定し(代替インターフェース
番号3を仮選択し)、PayloadSizeに128を格納し、A
ltInterfaceに3を格納する。
【0129】なお、上記のステップS840からステッ
プS850に進んだときは、必ずTPRS=512[バ
イト]である。従って、この場合には、ペイロードサイ
ズPayloadSizeを最大の1023[バイト]に仮設定す
ることとなる。
【0130】次に、ステップS870において、USB
ホストドライバ130は、上記ステップS730で計算
したラスタラインデータサイズPrintRasterSizeと、仮
ラスタラインデータサイズTempPrintRasterSize(TP
RS)とを比較し、ラスタラインデータサイズPrintRas
terSizeが、TPRS≦PrintRasterSizeであるか否かを
判別する。そして、TPRS≦PrintRasterSizeであれ
ば、本フローを終了する。これにより、ペイロードサイ
ズPayloadSizeは、仮設定された値に決定する。また、
TPRS>PrintRasterSizeであれば(PRS≦PrintRa
sterSizeでなければ)、ステップS880に進む。な
お、TPRS≦PrintRasterSizeであれば、ペイロード
サイズPayloadSizeは上記実施の形態2と同じ値に仮設
定されており、TPRS>PrintRasterSizeであれば、
ペイロードサイズPayloadSizeは上記実施の形態2より
も大きな値に仮設定されている。
【0131】上記ステップS870で、TPRS>Prin
tRasterSizeであれば、ステップS880において、U
SBホストドライバ130は、USBバスドライバ14
0に対して、仮設定したペイロードサイズPayloadSize
がUSBバス200上で許可されるかどうかを問い合わ
せる。USBバスドライバ140は、USBバス200
の使用率を認識しており、この使用率をもとに、仮設定
されたペイロードサイズPayloadSizeを許可するか否か
を判別し、USBホストドライバ130に通知する。そ
して、仮設定されたペイロードサイズPayloadSizeが許
可されれば、本フローを終了する。これにより、ペイロ
ードサイズPayloadSizeは、仮設定された値に決定する
とともに、上記実施の形態2よりも大きな値に決定す
る。また、仮設定したペイロードサイズPayloadSizeが
許可されなければ、ステップS890に進む。
【0132】上記のステップS880で、仮設定したペ
イロードサイズPayloadSizeがUSBバスドライバ14
0から許可されなかった場合には、ステップS880に
おいて、USBホストドライバ130は、仮ラスタライ
ンデータサイズTempPrintRasterSizeを減少更新し、ス
テップS850に戻り、減少更新した仮ラスタラインデ
ータサイズTempPrintRasterSizeを用いて、再びペイロ
ードサイズPayloadSizeを仮設定する。仮ラスタライン
データサイズTempPrintRasterSizeを減少更新するに
は、まず、変数nを1インクリメントし、そのあと、Te
mpPrintRasterSize[n]を、仮ラスタラインデータサ
イズTempPrintRasterSizeに格納する。例えば、仮ラス
タラインデータサイズTempPrintRasterSizeがTempPrint
RasterSize[0]=512[バイト]であった場合に
は、仮ラスタラインデータサイズTempPrintRasterSize
をTempPrintRasterSize[1]=256[バイト]に減
少させる。
【0133】
【表3】 表3は、レター用紙、A4用紙、およびA3用紙に、解
像度300[dpi]または600[dpi]、ラスタ
ライン圧縮率1.0、0.5、0.4、または0.3で
印刷する場合について、1色当たりのラスタラインデー
タサイズ(PrintRasterSize)と、4色分のラスタライ
ンデータサイズ(RasterColorSize)と、ペイロードサ
イズ(PayloadSize)=1023[バイト],512
[バイト],256[バイト],128[バイト]のと
きのエンジン速度(EngineSpeed)とを一覧にしたもの
である。プリンタ300は、実際のエンジン速度(Real
EngineSpeed)として、2.5[IPS]、2[IP
S]、1.5[IPS]、1[IPS]、0.5[IP
S]の5種類をサポートしているとする。
【0134】具体例として、レター用紙に、解像度60
0[dpi]、ラスタライン圧縮率0.3のデータを印
刷する場合には、1色当たりのラスタラインデータサイ
ズPrintRasterSize(PRS)=192[バイト]であ
る。最初に、仮ラスタラインデータサイズTempPrintRas
terSize(TPRS)を512[バイト]に設定し、ペ
イロードサイズ(PayloadSize)を1023[バイト]
に仮設定する。この場合、TPRS>PRSであるた
め、仮設定したペイロードサイズ=1023[バイト]
がUSBバスドライバ140から許可された場合は、代
替インターフェース番号0(EP4のペイロードサイズ
=1023[バイト])が選定される。
【0135】仮設定したペイロードサイズ=1023
[バイト]がUSBバスドライバ140から許可されな
かった場合は、仮ラスタラインデータサイズTPRSを
256[バイト]に変更し、ペイロードサイズ(Payloa
dSize)を512[バイト]に仮設定する。この場合
も、TPRS>PRSであるため、仮設定したペイロー
ドサイズ=512[バイト]がUSBバスドライバ14
0から許可された場合は、代替インターフェース番号1
(EP4のペイロードサイズ=512[バイト])が選
定される。
【0136】仮設定したペイロードサイズ=512[バ
イト]がUSBバスドライバ140から許可されなかっ
た場合は、仮ラスタラインデータサイズTPRSを12
8[バイト]に変更し、ペイロードサイズ(PayloadSiz
e)を256[バイト]に仮設定する。この場合は、T
PRS≦PRSであるため、仮設定した代替インターフ
ェース番号2(EP4のペイロードサイズ=256[バ
イト])がそのまま選定される。
【0137】また、4色分のラスタラインデータサイズ
RasterColorSize=768[バイト]であるため、ペイ
ロードサイズPayloadSize=1023[バイト]の場合
には、上記(1)によってプリンタエンジン速度Engine
Speed=2.22[IPS]と計算され、実際のプリン
タエンジン速度RealEngineSpeedは、2.0[IPS]
が選定される。また、ペイロードサイズPayloadSize=
512[バイト]の場合には、プリンタエンジン速度En
gineSpeed=1.11[IPS]と計算され、実際のプ
リンタエンジン速度RealEngineSpeedは、1.0[IP
S]が選定される。また、ペイロードサイズPayloadSiz
e=256[バイト]の場合には、プリンタエンジン速
度EngineSpeed=0.55[IPS]と計算され、実際
のプリンタエンジン速度RealEngineSpeedは、0.5
[IPS]が選定される。
【0138】次に、A3用紙に、解像度600[dp
i]、圧縮率0.4のデータを印刷する場合には、1色
当たりのラスタラインデータサイズPrintRasterSize
(PRS)=360[バイト]である。最初に、仮ラス
タラインデータサイズTempPrintRasterSize(TPR
S)を512[バイト]に設定し、ペイロードサイズ
(PayloadSize)を1023[バイト]に仮設定する。
この場合、TPRS>PRSであるため、仮設定したペ
イロードサイズ=1023[バイト]がUSBバスドラ
イバ140から許可された場合は、代替インターフェー
ス番号0(EP4のペイロードサイズ=1023[バイ
ト])が選定される。
【0139】仮設定したペイロードサイズ=1023
[バイト]がUSBバスドライバ140から許可されな
かった場合は、仮ラスタラインデータサイズTPRSを
256[バイト]に変更し、ペイロードサイズ(Payloa
dSize)を512[バイト]に仮設定する。この場合
は、TPRS≦PRSであるため、仮設定した代替イン
ターフェース番号1(EP4のペイロードサイズ=51
2[バイト])がそのまま選定される。
【0140】また、4色分のラスタラインデータサイズ
RasterColorSize=1440[バイト]であるため、ペ
イロードサイズPayloadSize=1023[バイト]の場
合には、上記(1)によって表3のようにプリンタエン
ジン速度EngineSpeed=1.18[IPS]と計算さ
れ、実際のプリンタエンジン速度RealEngineSpeedは、
1.0[IPS]が選定される。また、ペイロードサイ
ズPayloadSize=512[バイト]の場合には、表3の
ようにプリンタエンジン速度EngineSpeed=0.60
[IPS]と計算され、実際のプリンタエンジン速度Re
alEngineSpeedは、0.5[IPS]が選定される。
【0141】以上のように実施の形態3によれば、ホス
トコンピュータとプリンタとをUSB接続したプリント
システムにおいて、ホストコンピュータ側で、印刷用紙
サイズとイメージデータ解像度とラスタライン圧縮率と
をもとに、かつUSBバス使用率に応じてアイソクロナ
ス転送のペイロードサイズを設定し、プリンタ側で、上
記設定されたペイロードサイズとラスタラインデータサ
イズとをもとにプリンタエンジン速度を設定し、上記サ
イズ設定されたアイソクロナスペイロードによってラス
タイメージデータをホストコンピュータからプリンタに
アイソクロナス転送することにより、上記実施の形態1
と同じように、ラスタイメージデータ転送の等時性を確
保することができ、1ページ分のラスタイメージデータ
の受信完了前に、プリンタエンジンに印刷起動をかける
ことができるので、プリンタに搭載するメモリの容量を
削減することができ(1ページ分のメモリを設ける必要
がない)、印刷時間を短縮することができる。
【0142】さらに、USBバス使用率に応じてアイソ
クロナス転送のペイロードサイズを設定することによ
り、USBバスを効率的に活用する上で上記実施の形態
2よりもさらに最適なアイソクロナス転送ペイロードサ
イズとプリントエンジン速度を設定することができるの
で、USBバスを最大の能力で有効に活用でき、印刷ス
ループットを向上させることができる。
【0143】なお、上記実施の形態3では、印刷用紙サ
イズとイメージデータ解像度とラスタライン圧縮率とを
もとに、かつUSBバス使用率に応じてアイソクロナス
転送のペイロードサイズを設定したが、ペイロードサイ
ズは、例えば、USBバス使用率にみに応じて、あるい
は印刷用紙サイズとイメージデータ解像度とUSBバス
使用率とに応じて設定しても良い。
【0144】実施の形態4 上記実施の形態1のプリントシステムが、Y,M,C,
Kのラスタイメージデータに1つのアイソクロナスペイ
ロードを割り当て、Y,M,C,Kのラスタイメージデ
ータを異なるフレームでアイソクロナス転送していたの
に対し、以下に説明する実施の形態4のプリントシステ
ムは、Y,M,C,Kのラスタイメージデータにそれぞ
れ独立したアイソクロナスペイロードを割り当て、1フ
レーム内に4色それぞれに対応する4つのアイソクロナ
スペイロードを設けることにより、4色分のラスタイメ
ージデータを1つのフレームでアイソクロナス転送す
る、つまり4色分のラスタイメージデータをフレーム単
位でアイソクロナス転送することを特徴とする。
【0145】図27は本発明の実施の形態4のプリント
システムのブロック図である。なお、図27において、
図1と同じものには、同じ符号を付してある。実施の形
態4のプリントシステムは、ホストコンピュータ101
と、USBバス200と、プリンタ301とにより構成
されており、ホストコンピュータ101とプリンタ30
1とは、USBバス200によって接続されている。
【0146】実施の形態4のプリンタ301は、発光方
式にLEDヘッド方式を使用し、A4サイズまでの用紙
を印刷することができるY,M,C,K4色タンデムカ
ラーLEDプリンタとする。上記LEDヘッドの解像度
は、Y,M,C,Kともに600[dpi]とする。ま
た、実施の形態4のプリンタ301は、2.5[IP
S],2.0[IPS],1.5[IPS],1.0
[IPS],0.5[IPS]の5種類のエンジン速度
をサポートしているものとする。また、実施の形態4の
ホストコンピュータ101は、オペレーティングシステ
ムとして米国マイクロソフト社のWindows98を
使用しているものとする。
【0147】図27を用いて、実施の形態1のホストコ
ンピュータ101の構成を説明する。ホストコンピュー
タ101は、アプリケーションソフトウェア110と、
プリンタドライバ120と、USBホストドライバ13
0と、USBバスドライバ140と、USBホストコン
トローラ150と、シリアルインターフェース部160
と、ページディスクリプタメモリ170と、Yラスタイ
メージデータメモリ(Yプリント用ページデータメモ
リ)181と、Mラスタイメージデータメモリ(Mプリ
ント用ページデータメモリ)182と、Cラスタイメー
ジデータメモリ(Cプリント用ページデータメモリ)1
83と、Kラスタイメージデータメモリ(Kプリント用
ページデータメモリ)184とを備えている。
【0148】この実施の形態4のプリントシステムは、
ラスタイメージデータのアイソクロナス転送手順が上記
実施の形態1〜3とは異なる。このため、実施の形態4
のホストコンピュータ101は、上記実施の形態1のホ
ストコンピュータ100(図1参照)において、ラスタ
イメージデータメモリ180を、Yラスタイメージデー
タメモリ181、Mラスタイメージデータメモリ18
2、Cラスタイメージデータメモリ183、およびKラ
スタイメージデータメモリ184としたものとなってい
る。また、実施の形態4のホストコンピュータ101
は、プリンタデバイス用ページディスクリプタのデータ
フォーマット、プリンタデバイス用データ構成、および
USBホストドライバ130によるアイソクロナス転送
ペイロード決定処理が、上記実施の形態1のホストコン
ピュータ100と異なる。
【0149】上記実施の形態1のホストコンピュータ1
00では、印刷ラインごとに生成されるY,M,C,K
4色からなるカラーラスタイメージデータ(Y,M,
C,K4色からなるカラープリント用ページデータ)に
1つのメモリ(ラスタイメージデータメモリ180)を
割り当てていたのに対して、この実施の形態4のホスト
コンピュータ101では、Y,M,C,Kラスタイメー
ジデータ(Y,M,C,Kプリント用ページデータ)を
それぞれ異なるエンドポイントEP4,EP5,EP
6,EP7でプリンタ301に送信するために、Y,
M,C,Kラスタイメージデータのそれぞれに独立した
メモリを割り当てている。
【0150】プリンタドライバ120は、全てのレンダ
リングを担当するカラーホストベースプリンタ用プリン
タドライバであり、アプリケーションソフトウェア11
0から印刷を要求されたプリントデータから、プリンタ
デバイス用データとして、(図31のようなページディ
スクリプタ(あとで説明する図31参照)、およびY,
M,C,Kのラスタイメージデータ(あとで説明する図
30、図32参照)を生成する。上記のページディスク
リプタは、ページディスクリプタメモリ170に格納さ
れ、上記のY,M,C,Kラスタイメージデータは、そ
れぞれY,M,C,Kラスタイメージデータメモリ18
1、182,183,184に格納される。
【0151】図28はプリンタ301のハードウェアブ
ロック図である。なお、図28において、図2と同じも
のには、同じ符号を付してある。また、図29は図28
のエンドポイントFIFO群441のエンドポイント構
成とFIFO構成を説明する図である。
【0152】図27および図28を用いて、プリンタ3
01のハードウェアの構成を説明する。プリンタ301
は、USB制御部401と、プリンタ制御部500と、
プリンタエンジン600とを備えている。また、USB
制御部401は、USBトランシーバ/レシーバ410
と、DPLL(Digital Phese-Locked Loop)420
と、プロトコルエンジン(SIE)430と、エンドポ
イントFIFO群441と、エンドポイントコントロー
ラ450と、ディスクリプタデータ460と、プリンタ
制御部インターフェース470とを有する。従って、実
施の形態4のプリンタ301は、上記実施の形態1のプ
リンタ300(図1参照)において、USB制御部40
0をUSB制御部401としたものであり、実施の形態
4のUSB制御部401は、上記実施の形態1のUSB
制御部400(図2参照)において、エンドポイントF
IFO群440をエンドポイントFIFO群441とし
たものである。
【0153】先に説明したように、実施の形態4のプリ
ントシステムは、ラスタイメージデータのアイソクロナ
ス転送手順が上記実施の形態1〜3とは異なる。このた
め、実施の形態4のプリンタ301は、USB制御部4
01のエンドポイントFIFO群441のエンドポイン
ト構成とFIFO構成、インターフェースディスクリプ
タのデータフォーマット、ディスクリプタ構成、および
プリンタ制御部500のデータ処理部520(図3参
照)によるプリンタエンジン速度決定処理が、上記実施
の形態1のプリンタ300と異なる。
【0154】上記実施の形態1のUSB制御部400が
1023[バイト]のペイロードサイズに対応したアイ
ソクロナス転送用エンドポイント4(1024[バイ
ト]のFIFO2本により構成される)を持っていたの
に対して、この実施の形態4のUSB制御部401は、
256[バイト]のペイロードサイズに対応した4つの
アイソクロナス転送用エンドポイントEP4,EP5,
EP6,EP7(それぞれ、256[バイト]のFIF
Oが2本)を持っている。この実施の形態4のエンドポ
イントFIFO群441の容量は、上記実施の形態1の
エンドポイントFIFO群440と同じである。
【0155】エンドポイントFIFO群441は、デー
タ転送用のFIFO構成のバッファ群であり、図28お
よび図29のように、コントロール転送に使用されるエ
ンドポイントEP0(8[バイト]のFIFOを受信用
および送信用に1本ずつ)と、バルクアウト転送に使用
されるエンドポイントEP1(64[バイト]のFIF
Oを2本)と、バルクイン転送に使用されるエンドポイ
ントEP2(64[バイト]のFIFOを1本)と、割
り込み転送に使用されるエンドポイントEP3(8[バ
イト]のFIFOを1本)と、アイソクロナス転送用
(アイソクロナスアウト転送用)のエンドポイントEP
4,EP5,EP6,EP7(それぞれのエンドポイン
トについて256[バイト]のFIFOを2本ずつ)と
を有する。
【0156】図30はホストコンピュータ101におけ
るプリンタデバイス用データの構成を説明する図であ
る。また、図31はホストコンピュータ101における
プリンタデバイス用ページディスクリプタのデータフォ
ーマットを説明する図である。また、図32はホストコ
ンピュータ101におけるプリンタデバイス用ラスタイ
メージデータ(ラスタラインデータ)のデータフォーマ
ットを説明する図である。
【0157】図30〜図32を用いて、実施の形態4の
ホストコンピュータ101におけるプリンタデバイス用
データを、上記実施の形態1と相違する部分について説
明する。ホストコンピュータ101のプリンタドライバ
120によって生成される1ページ分のプリンタデバイ
ス用データは、図30のように、ページディスクリプタ
と、Yカラーイメージデータと、Mカラーイメージデー
タと、Cカラーイメージデータと、Kカラーイメージデ
ータとによって構成されている。
【0158】ページディスクリプタは、エンドポイント
EP1によるバルクアウト転送によってホストコンピュ
ータ101からプリンタ301に転送されるデータであ
り、図31のようなフォーマットでページ単位に作成さ
れる。図30のページディスクリプタは、上記実施の形
態2のページディスクリプタ(図24参照)において、
Y,M,C,Kそれぞれのページデータサイズ(図31
のオフセット6,10,14,18参照)と、Y,M,
C,Kそれぞれの最大ラスタラインデータサイズ(図3
1のオフセット22,24,26,28参照)とを追加
したものとなっている。
【0159】また、Y,M,C,Kカラーイメージデー
タは、それぞれ図32のようなフォーマットで生成され
る1ページ分のラスタラインデータによって構成され
る。YカラーイメージデータはエンドポイントEP4に
よるアイソクロナス転送によって、Mカラーイメージデ
ータはエンドポイントEP5によるアイソクロナス転送
によって、CカラーイメージデータはエンドポイントE
P6によるアイソクロナス転送によって、Kカラーイメ
ージデータはエンドポイントEP7によるアイソクロナ
ス転送によって、それぞれホストコンピュータ101か
らプリンタ301に転送される。
【0160】図33はプリンタ301のディスクリプタ
構成を説明する図である。また、図34はプリンタ30
1のインターフェースディスクリプタのデータフォーマ
ットを説明する図であり、(a)はインターフェース番
号0(代替インターフェース番号0)のインターフェー
スディスクリプタ、(b)はインターフェース番号0
(代替インターフェース番号1)のインターフェースデ
ィスクリプタである。また、図35はプリンタ301の
エンドポイントEP4のエンドポイントディスクリプタ
のデータフォーマットを説明する図であり、(a)は代
替インターフェース番号=0のエンドポイントEP4の
エンドポイントディスクリプタ、(b)は代替インター
フェース番号1のエンドポイントEP4のエンドポイン
トディスクリプタである。
【0161】図33〜図35を用いて、実施形態4のプ
リンタデバイスのディスクリプタデータを、上記実施の
形態1と相違する部分について説明する。実施の形態4
のプリンタ301は、1つのコンフィギュレーション
(コンフィギュレーション番号1)を有し、このコンフ
ィギュレーションについて、2つの代替設定が可能な1
つのインターフェース(インターフェース番号0)を有
し、このインターフェースの2つの代替設定のそれぞれ
について、8つのエンドポイント(エンドポイント番号
0〜7のEP0〜EP7)を有する。これに応じて、プ
リンタ301のディスクリプタデータは、図33のよう
に、デバイスディスクリプタと、コンフィギュレーショ
ン番号1のコンフィギュレーションディスクリプタと、
代替インターフェース番号0,1のそれぞれについての
2つのインターフェースディスクリプタと、上記2つの
インターフェースディスクリプタのそれぞれについての
EP1〜EP7(コントロール転送用のEP0を除く)
の7つのエンドポイントディスクリプタとによって構成
されている。なお、プリンタ301のデバイスディスク
リプタおよびコンフィギュレーションディスクリプタの
データフォーマットは、上記実施の形態1のデバイスデ
ィスクリプタ(図9参照)およびコンフィギュレーショ
ンディスクリプタ(図10参照)と同じである。
【0162】プリンタ301では、代替インターフェー
ス番号0,1の2つの代替設定が可能であり、プリンタ
301は、図34のような代替インターフェース番号
0,1の2つのインターフェースディスクリプタを有す
る。プリンタ301の代替インターフェース番号0,1
のインターフェースのエンドポイントの個数(EP0を
除く)は、それぞれ7個である(図34のオフセット4
参照)。
【0163】プリンタ301は、EP0〜EP7の7つ
のエンドポイントを持っており、代替インターフェース
番号0,1の2つのインターフェースディスクリプタの
それぞれについて、エンドポイントEP1〜EP7の7
つのエンドポイントディスクリプタ(エンドポイントE
P4のエンドポイントディスクリプタについては図35
参照)を持っている。
【0164】なお、代替インターフェース番号0のエン
ドポイントEP5〜EP7のエンドポイントディスクリ
プタのデータフォーマットは、図35(a)のエンドポ
イントEP4のエンドポイントディスクリプタと同じで
あり、代替インターフェース番号1のエンドポイントE
P5〜EP7のエンドポイントディスクリプタのデータ
フォーマットは、図35(b)のエンドポイントEP4
のエンドポイントディスクリプタと同じである。また、
代替インターフェース番号0,1のエンドポイントEP
1〜EP3のエンドポイントディスクリプタのデータフ
ォーマットは、上記実施の形態1のエンドポイントEP
1〜EP3のエンドポイントディスクリプタ(図15
(a)〜(c)参照)と同じである。
【0165】プリンタ301では、代替インターフェー
ス番号0,1のエンドポイントEP1は、バルクアウト
転送用として、ホストコンピュータ101からプリンタ
301へのプリンタ環境設定コマンドデータ転送に使用
され、受信最大パケットサイズは64[バイト]に設定
してある。また、代替インターフェース番号0,1のエ
ンドポイントEP2は、バルクイン転送用として、プリ
ンタ301からホストコンピュータ101へのプリンタ
環境ステータスデータ転送に使用され、送信最大パケッ
トサイズは64[バイト]に設定してある。また、代替
インターフェース番号0,1のエンドポイントEP3
は、割り込み転送用として、ジャムや用紙切れ等のプリ
ンタ301からホストコンピュータ101へのアラーム
情報転送に使用され、最大パケットサイズは8[バイ
ト]に設定してある。
【0166】また、プリンタ301では、代替インター
フェース番号0,1のエンドポイントEP4は、ホスト
コンピュータ101からプリンタ301へのYカラーラ
スタイメージデータのアイソクロナス転送用として使用
される。また、代替インターフェース番号0,1のエン
ドポイントEP5は、ホストコンピュータ101からプ
リンタ301へのMカラーラスタイメージデータのアイ
ソクロナス転送用として使用される。また、代替インタ
ーフェース番号0,1のエンドポイントEP6は、ホス
トコンピュータ101からプリンタ301へのCカラー
ラスタイメージデータのアイソクロナス転送用として使
用される。また、代替インターフェース番号0,1のエ
ンドポイントEP7は、ホストコンピュータ101から
プリンタ301へのKカラーラスタイメージデータのア
イソクロナス転送用として使用される。代替インターフ
ェース番号0のエンドポイントEP4〜7のパケットサ
イズ(ペイロードサイズ)は256[バイト]に設定し
てあり(図35(a)のオフセット4参照)、代替イン
ターフェース番号1のエンドポイントEP4〜7のパケ
ットサイズは128[バイト]に設定してある(図35
(b)のオフセット4参照)。
【0167】このように、上記2つの代替設定インター
フェースの違いは、エンドポイントEP4〜EP7の最
大パケットサイズ(最大ペイロードサイズ)が異なって
いるだけである。実施の形態4のプリントシステムで
は、USBバス200上のトラフィック変化や1ページ
当たりのラスターイメージデータ量の変化に対応できる
ように、アイソクロナス転送用のエンドポイントEP4
〜EP7のパケットサイズ(ペイロードサイズ)とし
て、それぞれ2種類(256[バイト]、128[バイ
ト])を用意してある。
【0168】図36および図37は本発明の実施の形態
4のプリントシステムにおけるホストコンピュータ10
1とプリンタ301間の処理を説明するフローチャート
である。また、図38はホストコンピュータ101のU
SBホストドライバ130によるアイソクロナス転送ペ
イロード決定処理を説明するフローチャートである。ま
た、図39はプリンタ301のデータ処理部520(図
3参照)によるプリンタエンジン速度決定処理を説明す
るフローチャートである。また、図40は本発明の実施
の形態4のプリントシステムにおけるUSBバス200
上のデータフレームを説明した図である。
【0169】図36および図37を用いて、実施の形態
4のプリントシステムにおけるホストコンピュータ10
1とプリンタ301間の処理手順を説明する。まず、ス
テップS1100において、ユーザがホストコンピュー
タ101において印刷するための操作をすると、ホスト
コンピュータ101上で動作するアプリケーション11
0はプリンタドライバ120に印刷命令を出す。このと
きに、印刷用紙サイズ、イメージデータ解像度、印刷色
(モノクロかカラー)、印刷位置等の指定がアプリケー
ション110からプリンタドライバ120に渡される。
【0170】次に、ステップS1110において、カラ
ーホストベースプリンタ用ドライバであるプリンタドラ
イバ120は、アプリケーション110からの指定に従
って、図31に示すページディスクリプタと、図30お
よび図32に示すY,M,C,Kカラーのラスタイメー
ジデータとを生成し、ページディスクリプタをページデ
ィスクリプタメモリ170に格納するとともに、1ペー
ジ分のYカラーラスタイメージデータをYラスタイメー
ジデータメモリ181に、1ページ分のMカラーラスタ
イメージデータをMラスタイメージデータメモリ182
に、1ページ分のCカラーラスタイメージデータをCラ
スタイメージデータメモリ183に、1ページ分のKカ
ラーラスタイメージデータをKラスタイメージデータメ
モリ183にそれぞれ格納し、USBホストドライバ1
30を起動する。
【0171】次に、ステップS1120において、US
Bホストドライバ130は、USBバスドライバ140
に対して、プリンタ301のデバイスディスクリプタの
取得を要求する(GetDescriptorRequest)。次に、ステ
ップS1130において、USBバスドライバ140
は、エンドポイントEP0のコントロール転送を使っ
て、USBホストコントローラ150、シリアルインタ
ーフェース部160を介して、プリンタ301に対し
て、プリンタ301のデバイスディスクリプタの送信を
要求する。次に、ステップS1140において、プリン
タ301のUSB制御部401は、ホストコンピュータ
101に対して、上記実施の形態1と同様のデバイスデ
ィスクリプタ(図9参照)を返信する。
【0172】次に、ステップS1150において、上記
ステップS1120〜S1140と同様にして、USB
ホストドライバ130は、USBバスドライバ140に
対して、プリンタ301のコンフィギュレーションディ
スクリプタの取得を要求し(GetConfigurationReques
t)、USBバスドライバ140は、プリンタ301に
対して、プリンタ301のコンフィギュレーションディ
スクリプタの送信を要求し、プリンタ301のUSB制
御部401は、ホストコンピュータ101に対して、上
記実施の形態1と同様のコンフィギュレーションディス
クリプタ(図10参照)を返信する。
【0173】次に、ステップS1160において、上記
ステップS1120〜S1140と同様にして、USB
ホストドライバ130は、USBバスドライバ140に
対して、プリンタ301のインターフェースディスクリ
プタおよびエンドポイントディスクリプタの取得を要求
し(GetInterfaceRequest)、USBバスドライバ14
0は、プリンタ301に対して、プリンタ301のイン
ターフェースディスクリプタおよびエンドポイントディ
スクリプタの送信を要求し、プリンタ301のUSB制
御部401は、ホストコンピュータ101に対して、代
替インターフェース番号0,1の2つのインターフェー
スディスクリプタ(図34参照)、およびそれぞれのイ
ンターフェースディスクリプタについてのエンドポイン
トEP1〜EP7のエンドポイントディスクリプタ(エ
ンドポイントEP1〜EP3は図15、エンドポイント
EP4〜EP7は図35参照)を返信する。
【0174】次に、ステップS1170において、US
Bホストドライバ130は、上記のインターフェースデ
ィスクリプタおよびエンドポイントディスクリプタか
ら、代替インターフェース情報(代替インターフェース
番号0,1)と、それぞれの代替インタフェースについ
てのエンドポイント情報(エンドポイントEP1〜EP
7)とを取得する。
【0175】次に、ステップS1180において、US
Bホストドライバ130は、図38に示す方法を使っ
て、アイソクロナス転送のペイロードサイズを計算し、
代替インターフェース番号を選択し(アイソクロナスペ
イロードサイズを設定し)、USBバスドライバ140
に対して、プリンタ301のUSBインターフェースを
設定する要求をする(SetInterfaceRequest)。
【0176】次に、ステップS1190において、US
Bホストドライバ130およびUSBバスドライバ14
0は、ページディスクリプタメモリ170の内容を、エ
ンドポイントEP1のバルクアウト転送を使ってプリン
タ301に送信する(WriteAsyncRequest)。プリンタ
301のUSB制御部401は、ホストコンピュータ1
01からバルクアウト転送されたページディスクリプタ
をエンドポイントFIFO群441のエンドポイントE
P3で受信し、プリンタ301のインターフェース制御
部510は、上記のページディスクリプタをメモリ55
0に格納する。
【0177】次に、ステップS1200において、プリ
ンタ301のデータ処理部520は、上記のページディ
スクリプタを解析してページバッファを生成し、メモリ
550に格納するとともに、図39に示す方法を使って
プリンタエンジン速度(プリンタエンジン600の印刷
速度)を設定する。
【0178】次に、ステップS1210において、US
Bホストドライバ130およびUSBバスドライバ14
0は、プリンタ301のプリンタエンジン速度を、エン
ドポイントEP2のバルクイン転送を使って取得する
(ReadAsyncRequest)。
【0179】次に、ステップS1220において、US
Bホストドライバ130およびUSBバスドライバ14
0は、プリンタ301に、Yラスタイメージデータメモ
リ181の内容をエンドポイントEP4のアイソクロナ
ス転送を使って順次送信し、Mラスタイメージデータメ
モリ182の内容をエンドポイントEP5のアイソクロ
ナス転送を使って順次送信し、Cラスタイメージデータ
メモリ183の内容をエンドポイントEP6のアイソク
ロナス転送を使って順次送信し、Kラスタイメージデー
タメモリ184の内容をエンドポイントEP7のアイソ
クロナス転送を使って順次送信する(WriteSyncReques
t)。
【0180】上記ステップS1220によって、Y,
M,C,Kのラスタイメージデータは、図40のよう
に、フレーム単位で(1つのフレーム内に混在して)プ
リンタ301に順次アイソクロナス転送される。図40
(a)はエンドポイントEP4〜EP7による4つのア
イソクロナスペイロードのサイズを256[バイト]に
設定した場合(代替インターフェース番号0を選択した
場合)であり、図40(b)はエンドポイントEP4〜
EP7による4つのアイソクロナスペイロードのサイズ
を128[バイト]に設定した場合(代替インターフェ
ース番号1を選択した場合)である。
【0181】それぞれのフレームによってYカラーイメ
ージデータと、Mカラーイメージデータと、Cカラーイ
メージデータと、Kカラーイメージデータがアイソクロ
ナス転送される(それぞれのフレームに、Y,M,C,
Kカラーイメージデータの4つのアイソクロナスペイロ
ードが混在している)。Yカラーイメージデータはエン
ドポイントEP4によって受信され、Mカラーイメージ
データはエンドポイントEP5によって受信され、Cカ
ラーイメージデータはエンドポイントEP6によって受
信され、KカラーイメージデータはエンドポイントEP
7によって受信される。
【0182】このように、実施の形態4のプリントシス
テムでは、Y,M,C,K用の4つのアイソクロナスペ
イロードによってY,M,C,Kカラーのラスタイメー
ジデータをフレーム単位で転送することにより、ラスタ
イメージデータを等時的に(連続的かつ周期的に一定幅
のデータ転送レートを保って)転送することが可能とな
る。最初のフレームで第1ラインの4色分のラスタライ
ンデータをアイソクロナス転送できた場合には、プリン
タ301は最初のフレームを受信したあとすぐに印刷起
動をかけることができる。
【0183】次に、ステップS1230において、プリ
ンタ301のUSB制御部401は、ホストコンピュー
タ101からアイソクロナス転送されたY,M,C,K
ラスタイメージデータをエンドポイントFIFO群44
1のエンドポイントEP4〜EP7でそれぞれ受信し、
プリンタ301のインターフェース制御部510は、上
記エンドポイントEP4〜EP7で受信されたY,M,
C,Kカラーイメージデータをメモリ550に格納す
る。
【0184】次に、ステップS1240において、プリ
ンタ301の画像データ生成部530は、上記ステップ
S1200で生成されたページバッファに従って、上記
のラスタイメージデータからプリンタエンジン600に
送信するビデオデータ(Yデータ、Mデータ、Cデー
タ、Kデータ)を生成し、これらのY,M,C,Kデー
タをY,M,C,Kビデオメモリ560,561,56
2,563にそれぞれ格納する。次に、ステップS12
50において、プリンタ301の印刷制御部540は、
データ処理部520によって設定されたプリンタエンジ
ン速度(印刷速度)をプリンタエンジン600に指示
し、ビデオメモリ560〜563のデータをプリンタエ
ンジン600に送り、1ページの印刷を開始する。
【0185】次に、ステップS1260において、1ペ
ージの印刷が終了すると、プリンタ301のプリンタ制
御部500は、USB制御部401を介してエンドポイ
ントEP3の割り込み転送を使って、ページの印刷終了
メッセージをホストコンピュータ101に送信する。次
に、ステップS1270において、ホストコンピュータ
101のUSBホストドライバ130は、ページの印刷
終了を確認すると、プリンタドライバ120に通知す
る。次に、ステップS1280において、プリンタドラ
イバ120は、ページが正しく印刷されたことを確認す
ると、ページディスクリプタメモリ170とY,M,
C,Kラスタイメージデータメモリ181,182,1
83,184の内容を開放し、次のページの印刷準備を
する。
【0186】図38を用いて、実施の形態4のUSBホ
ストドライバ130によるアイソクロナスペイロードサ
イズ決定処理を説明する。まず、ステップS1500に
おいて、USBホストドライバ130は、エンドポイン
トEP4〜EP7までの仮ペイロードサイズを256
[バイト]に設定し、TempPayloadSizeに格納する。
【0187】次に、ステップS1510において、US
Bホストドライバ130は、USBバスドライバ140
に対して、上記の仮ペイロードサイズTempPayloadSize
がUSBバス200上で許可されるかどうかを問い合わ
せる。USBバスドライバ140は、USBバス200
の使用率を認識しており、この使用率をもとに、仮ペイ
ロードサイズTempPayloadSizeを許可するか否かを判別
し、USBホストドライバ130に通知する。次に、ス
テップS1520において、USBホストドライバ13
0は、仮ペイロードサイズTempPayloadSizeがUSBバ
スドライバ140から許可されたか否かを上記の通知を
もとに判別する。
【0188】上記ステップS1510およびS1520
で仮ペイロードサイズTempPayloadSizeが許可された場
合には、ステップS1530において、USBホストド
ライバ130は、エンドポイントEP4〜EP7のペイ
ロードサイズPayloadSizeを仮ペイロードサイズTempPay
loadSizeと同じ256[バイト]に設定し、代替インタ
ーフェース番号AltInterfaceを0に設定し、本フローを
終了する。
【0189】また、上記ステップS1510およびS1
520で仮ペイロードサイズTempPayloadSizeが許可さ
れなかった場合には、ステップS1540において、U
SBホストドライバ130は、エンドポイントEP4〜
EP7のペイロードサイズPayloadSizeを128[バイ
ト]に設定し(代替インターフェース番号AltInterface
を1に設定し)、本フローを終了する。
【0190】図39を用いて、プリンタ301における
プリンタエンジン速度決定処理を説明する。まず、ステ
ップS1600において、実施の形態4のプリンタ制御
部500のデータ処理部520は、設定された代替イン
ターフェース番号からペイロードサイズを取得し、この
ペイロードサイズをUsbPayloadに格納する。
【0191】次に、ステップS1610において、デー
タ処理部520は、ホストコンピュータ101から受信
したページディスクリプタ(図31参照)から、Yカラ
ーページデータサイズ情報、Mカラーページデータサイ
ズ情報、Cカラーページデータサイズ情報、Kカラーペ
ージデータサイズ情報を取得し、それぞれYPageSize,M
PageSize,CPageSieze,KPageSizeに格納する。
【0192】次に、ステップS1620において、デー
タ処理部520は、ペイロードサイズPayloadとYカラ
ーページデータサイズYPageSizeとから、Yカラーデー
タ送信に必要なアイソクロナストランザクション回数
(Yトランザクション回数)を計算し、YTransに格納す
る。Yトランザクション回数YTransは、 YTrans=YPageSize/UsbPayload…(3) によって計算される。同様にして、ペイロードサイズUs
bPayloadと、MカラーページデータサイズMPageSize、
CカラーページデータサイズCPageSize、Kカラーペー
ジデータサイズKPageSizeとから、Mカラーデータ送信
に必要なアイソクロナストランザクション回数(Mトラ
ンザクション回数)、Cカラーデータ送信に必要なアイ
ソクロナストランザクション回数(Cトランザクション
回数)、Kカラーデータ送信に必要なアイソクロナスト
ランザクション回数(Kトランザクション回数)をそれ
ぞれ計算し、MTrans,CTrans,KTransにそれぞれ格納す
る。Mトランザクション回数MTrans、Cトランザクショ
ン回数CTrans、Kトランザクション回数KTransは、 MTrans=MPageSize/UsbPayload…(4) CTrans=CPageSize/UsbPayload…(5) KTrans=KPageSize/UsbPayload…(6) によってそれぞれ計算される。
【0193】次に、ステップS1630において、デー
タ処理部520は、4色のページデータ送信に必要なト
ランザクション回数を求め、PageTransに格納する。こ
のトランザクション回数PageTransは、Yトランザクシ
ョン回数YTrans、Mトランザクション回数MTrans、Cト
ランザクション回数CTrans、Kトランザクション回数KT
ransの内の最大値であり、この最大値をmax(YTran
s,MTrans,CTrans,KTrans)として、 PageTrans=max(YTrans,MTrans,CTrans,KTran
s) によって求められる。
【0194】次に、ステップS1640において、デー
タ処理部520は、ページデータ送信に必要な転送時間
を計算し、PageTransTimeに格納する。この転送時間Pag
eTransTime(単位は[sec])は、1フレームの転送
時間が1[msec]であるため、 PageTransTime=PageTrans/1000…(7) によって計算される。
【0195】次に、ステップS1650において、デー
タ処理部520は、ページディスクリプタ(図31参
照)から、印刷する用紙長を取得し、PageLength(単位
は[インチ])に格納する。
【0196】次に、ステップS1660において、デー
タ処理部520は、用紙長PageLengthとページデータ転
送時間PageTransTimeとから、プリンタエンジン600
のエンジン速度を計算し、EngineSpeedに格納する。エ
ンジン速度EngineSpeed(単位は[IPS])は、 EngineSpeed=PageLength/PageTransTime…(8) によって計算される。
【0197】次に、ステップS1670において、デー
タ処理部520は、計算したエンジン速度EngineSpeed
が、プリンタ301がサポートしている最低のエンジン
速度以上であるか否かを判別する。つまり、EngineSpee
d≧0.5であるか否かを判別する。そして、EngineSpe
ed≧0.5であれば、ステップS1680に進む。ま
た、EngineSpeed<0.5であれば、プリンタエンジン
600のエンジン速度の設定が不可能であると判別し、
本フローを終了する。
【0198】次に、ステップS1680およびステップ
S1690〜S1694において、データ処理部520
は、計算したエンジン速度EngineSpeedをもとに、プリ
ンタ301がサポートしている複数のエンジン速度の中
から実際に印刷するエンジン速度を決定し、RealEngine
Speedに格納する。
【0199】ステップS1680において、計算したエ
ンジン速度EngineSpeed(ES)が、ES≧2.5[I
PS]であるか否か、2.5[IPS]>ES≧2.0
[IPS]であるか否か、2.0[IPS]>ES≧
1.5[IPS]であるか否か、1.5[IPS]>E
S≧1.0[IPS]であるか否か、および1.0[I
PS]>ES≧0.5[IPS]であるか否かを判別す
る。そして、ES≧2.5[IPS]であれば、ステッ
プS1690において、実際に印刷するエンジン速度を
2.5[IPS]に設定し、RealEngineSpeedに2.5
[IPS]を格納する。また、2.5[IPS]>ES
≧2.0[IPS]であれば、ステップS1691にお
いて、実際に印刷するエンジン速度を2.0[IPS]
に設定し、RealEngineSpeedに2.0[IPS]を格納
する。また、2.0[IPS]>ES≧1.5[IP
S]であれば、ステップS1692において、実際に印
刷するエンジン速度を1.5[IPS]に設定し、Real
EngineSpeedに1.5[IPS]を格納する。また、
1.5[IPS]>ES≧1.0[IPS]であれば、
ステップS1693において、実際に印刷するエンジン
速度を1.0[IPS]に設定し、RealEngineSpeedに
1.0[IPS]を格納する。また、1.0[IPS]
>ES≧0.5[IPS]であれば、ステップS169
4において、実際に印刷するエンジン速度を0.5[I
PS]に設定し、RealEngineSpeedに0.5[IPS]
を格納する。
【0200】なお、上記ステップS1670において、
計算したエンジン速度EngineSpeedが、EngineSpeed<
0.5であり、エンジン速度の設定が不可能であった場
合には、プリンタ301は、図37のステップS121
0において、エンジン速度の設定が不可能であったこと
を、ホストコンピュータ101に通知する。ホストコン
ピュータ101は、エンジン速度の設定が不可能であっ
たことを認識すると、図36のステップS1110に戻
り、ラスタイメージデータ解像度(図30のオフセット
8、10,12,14参照)などを見直し、ページディ
スクリプタを修正し、図36および図37のステップS
1190以降のフローを再度実施する。
【0201】
【表4】 表4は、以下に説明する具体例であるジョブ1およびジ
ョブ2の内容を一覧にしたものである。表4のジョブ1
は、レター用紙に600[dpi]で印刷する場合であ
り、ジョブ2は、A4用紙に600[dpi]で印刷す
る場合である。プリンタ301は、実際のエンジン速度
(RealEngineSpeed)として、2.5[IPS]、2
[IPS]、1.5[IPS]、1[IPS]、0.5
[IPS]の5種類をサポートしているとする。
【0202】レター用紙に600[dpi]で印刷する
ジョブ1の場合には、表4においては、Yカラーページ
データサイズYPageSize=1.2[Mバイト]、Mカラ
ーページデータサイズMPageSize=1.5[Mバイ
ト]、CカラーページデータサイズCPageSize=0.8
[Mバイト]、KカラーページデータサイズKPageSize
=1.8[Mバイト]である。また、レター用紙のサイ
ズは、8.5[インチ]×11[インチ]であるから、
用紙長PageLength=11[インチ]である。
【0203】仮ペイロードサイズPayloadSize=256
[バイト]が許可され、ペイロードサイズPayloadSize
が256[バイト]に設定されたときには、上記(3)
〜(6)式によって、Yトランザクション回数(Yカラ
ー転送回数)YTrans=5033、Mトランザクション回
数(Mカラー転送回数)MTrans=6144、Cトランザ
クション回数(Cカラー転送回数)CTrans=3276、
Kトランザクション回数(Kカラー転送回数)KTrans=
7372と計算される。上記Y,M,C,Kトランザク
ション回数の最大値は、Kトランザクション回数KTrans
の7372であるから、4色のページデータ送信に必要
なトランザクション回数PageTrans=7372である。
また、上記(7)式によって、ページデータ送信に必要
な転送時間PageTransTime=7.372[sec]と計
算される。従って、上記(8)式によって、プリンタエ
ンジン速度EngineSpeed=1.49[IPS]と計算さ
れ、図39のステップS1780およびS1790〜S
1794によって、実際のプリンタエンジン速度RealEn
gineSpeedは、1.0[IPS]に設定される。
【0204】また、仮ペイロードサイズPayloadSize=
256[バイト]が許可されず、ペイロードサイズPayl
oadSizeが128[バイト]に設定されたときには、上
記(3)〜(6)式によって、Yトランザクション回数
(Yカラー転送回数)YTrans=9830、Mトランザク
ション回数(Mカラー転送回数)MTrans=12288、
Cトランザクション回数(Cカラー転送回数)CTrans=
6553、Kトランザクション回数(Kカラー転送回
数)KTrans=14745と計算される。上記Y,M,
C,Kトランザクション回数の最大値は、Kトランザク
ション回数KTransの14745であるから、4色のペー
ジデータ送信に必要なトランザクション回数PageTrans
=14745である。また、上記(7)式によって、ペ
ージデータ送信に必要な転送時間PageTransTime=1
4.745[sec]と計算される。従って、上記
(8)式によって、プリンタエンジン速度EngineSpeed
=0.74[IPS]と計算され、図39のステップS
1780およびS1790〜S1794によって、実際
のプリンタエンジン速度RealEngineSpeedは、0.5
[IPS]に設定される。
【0205】次に、A4用紙に600[dpi]で印刷
するジョブ2の場合には、表4においては、Yカラーペ
ージデータサイズYPageSize=0.5[Mバイト]、M
カラーページデータサイズMPageSize=0.9[Mバイ
ト]、CカラーページデータサイズCPageSize=1.2
[Mバイト]、KカラーページデータサイズKPageSize
=2.8[Mバイト]である。また、レター用紙のサイ
ズは、8.2[インチ]×11.7[インチ]であるか
ら、用紙長PageLength=11.7[インチ]である。
【0206】仮ペイロードサイズPayloadSize=256
[バイト]が許可され、ペイロードサイズPayloadSize
が256[バイト]に設定されたときには、上記(3)
〜(6)式によって、Yトランザクション回数(Yカラ
ー転送回数)YTrans=2048、Mトランザクション回
数(Mカラー転送回数)MTrans=3686、Cトランザ
クション回数(Cカラー転送回数)CTrans=4915、
Kトランザクション回数(Kカラー転送回数)KTrans=
11468と計算される。上記Y,M,C,Kトランザ
クション回数の最大値は、Kトランザクション回数KTra
nsの11468であるから、4色のページデータ送信に
必要なトランザクション回数PageTrans=11468で
ある。また、上記(7)式によって、ページデータ送信
に必要な転送時間PageTransTime=11.468[se
c]と計算される。従って、上記(8)式によって、プ
リンタエンジン速度EngineSpeed=1.02[IPS]
と計算され、図39のステップS1780およびS17
90〜S1794によって、実際のプリンタエンジン速
度RealEngineSpeedは、1.0[IPS]に設定され
る。
【0207】また、仮ペイロードサイズPayloadSize=
256[バイト]が許可されず、ペイロードサイズPayl
oadSizeが128[バイト]に設定されたときには、上
記(3)〜(6)式によって、Yトランザクション回数
(Yカラー転送回数)YTrans=4096、Mトランザク
ション回数(Mカラー転送回数)MTrans=7372、C
トランザクション回数(Cカラー転送回数)CTrans=9
830、Kトランザクション回数(Kカラー転送回数)
KTrans=22937と計算される。上記Y,M,C,K
トランザクション回数の最大値は、Kトランザクション
回数KTransの22937であるから、4色のページデー
タ送信に必要なトランザクション回数PageTrans=22
937である。また、上記(7)式によって、ページデ
ータ送信に必要な転送時間PageTransTime=22.93
7[sec]と計算される。従って、上記(8)式によ
って、プリンタエンジン速度EngineSpeed=0.51
[IPS]と計算され、図39のステップS1780お
よびS1790〜S1794によって、実際のプリンタ
エンジン速度RealEngineSpeedは、0.5[IPS]に
設定される。
【0208】以上のように実施の形態4によれば、ホス
トコンピュータとプリンタとをUSB接続したプリント
システムにおいて、ホストコンピュータ側で、USBバ
ス使用率に応じて、Y,M,C,Kにそれぞれ対応した
4つのアイソクロナスペイロードのサイズを設定し、プ
リンタ側で、上記設定されたペイロードサイズと、印刷
用紙サイズと、それぞれのY,M,C,Kカラーイメー
ジデータの内の最大データサイズとをもとにプリンタエ
ンジン速度を設定し、上記サイズ設定された4つのアイ
ソクロナスペイロードによってY,M,C,Kカラーイ
メージデータをフレーム単位でホストコンピュータから
プリンタにアイソクロナス転送することにより、ラスタ
イメージデータ転送の等時性を確保することができ、1
ページ分のラスタイメージデータの受信完了前に、プリ
ンタエンジンに印刷起動をかけることができるので、プ
リンタに搭載するメモリの容量を削減することができ
(1ページ分のメモリを設ける必要がない)、印刷時間
を短縮することができる。
【0209】また、USBバス使用率に応じてアイソク
ロナスペイロードのサイズを設定することにより、US
Bバスを効率的に活用する上で最適なアイソクロナス転
送ペイロードサイズとプリントエンジン速度を設定する
ことができるので、USBバスを最大の能力で有効に活
用でき、印刷スループットを向上させることができる。
【0210】実施の形態5 上記実施の形態4のプリントシステムでは、Y,M,
C,Kのアイソクロナスペイロードサイズが同じである
ため、必ずしもUSBバスを効率的に使っているとは言
えない。例えば、Mカラーのみを印刷するジョブがあっ
た場合でも、他のY,C,Kの3色分のペイロードサイ
ズがUSBバス上に割り当てられてしまう。そこで、以
下に説明する実施の形態5のプリントシステムでは、印
刷に使用する色数によって最適なアイソクロナス転送ペ
イロードサイズとプリントエンジン速度とを設定し、上
記実施の形態4よりもさらにパフォーマンスの優れたプ
リントシステムを提供することを可能とする。
【0211】図41は本発明の実施の形態5のプリント
システムのブロック図である。なお、図41において、
図27と同じものには、同じ符号を付してある。実施の
形態5のプリントシステムは、ホストコンピュータ10
1と、USBバス200と、プリンタ302とにより構
成されており、ホストコンピュータ101とプリンタ3
02とは、USBバス200によって接続されている。
この実施の形態5のプリントシステムは、上記実施の形
態4のプリントシステム(図27参照)において、プリ
ンタ301をプリンタ302としたものである。
【0212】実施の形態5のプリンタ302は、発光方
式にLEDヘッド方式を使用し、A4サイズまでの用紙
を印刷することができるY,M,C,K4色タンデムカ
ラーLEDプリンタとする。上記LEDヘッドの解像度
は、Y,M,C,Kともに600[dpi]とする。
【0213】また、実施の形態5のプリンタ302は、
印刷に使用する色数によって次のエンジン速度をサポー
トしているものとする。 (a)Y,M,C,Kの4色全てを使用する場合には、
2.5[IPS],2.0[IPS],1.5[IP
S],1.0[IPS],0.5[IPS]の5種類の
エンジン速度。 (b)Y,M,C,Kの内の3色を使用する場合には、
上記(a)の5種類のエンジン速度に加え、さらに5.
0[IPS],4.0[IPS],3.0[IPS]の
3種類のエンジン速度。 (c)Y,M,C,Kの内の2色を使用する場合には、
上記(b)の8種類のエンジン速度に加え、さらに7.
5[IPS],6.0[IPS],4.5[IPS]の
3種類のエンジンス速度。 (d)Y,M,C,Kの内の1色を使用する場合には、
上記(c)の11種類のエンジン速度に加え、さらに1
0.0[IPS],8.0[IPS]の2種類のエンジ
ン速度。
【0214】図42は実施の形態5のプリンタ302の
ハードウェアブロック図である。なお、図42におい
て、図28と同じものには、同じ符号を付してある。ま
た、図43は図42のUSB制御部402のエンドポイ
ントFIFO群442のエンドポイント構成とFIFO
を説明する図である。
【0215】図41および図42を用いて、実施の形態
5のプリンタ302のハードウェアの構成を説明する。
プリンタ302は、USB制御部402と、プリンタ制
御部500と、プリンタエンジン600とを備えてい
る。また、USB制御部402は、USBトランシーバ
/レシーバ410と、DPLL(Digital Phese-Locked
Loop)420と、プロトコルエンジン(SIE)430
と、エンドポイントFIFO群442と、エンドポイン
トコントローラ451と、ディスクリプタデータ460
と、プリンタ制御部インターフェース470とを有す
る。従って、実施の形態5のプリンタ302は、上記実
施の形態4のプリンタ301(図27参照)において、
USB制御部401をUSB制御部402としたもので
あり、実施の形態4のUSB制御部402は、上記実施
の形態4のUSB制御部402(図28参照)におい
て、エンドポイントFIFO群441をエンドポイント
FIFO群442とし、エンドポイントコントローラ4
50をエンドポイントコントローラ451としたもので
ある。
【0216】上記実施の形態4のプリンタ301のUS
B制御部401が、256[バイト]のペイロードサイ
ズに対応した4つのアイソクロナス転送用エンドポイン
トEP4〜EP7のそれぞれについて256[バイト]
のFIFOを2本ずつ持ったエンドポイントFIFO群
441を有しているのに対して、この実施の形態5のU
SB制御部402は、図43のように、アイソクロナス
転送用に64[バイト]のFIFOを32本持ったエン
ドポイントFIFO群442と、アイソクロナス転送用
の32本のFIFOを結合または分離させるとともにエ
ンドポイントEP4〜EP7のトータルサイズを管理す
るタグを内蔵するエンドポイントコントローラ451と
を有しており、このエンドポイントコントローラ451
によって4つのアイソクロナス転送用エンドポイントE
P4〜EP7のペイロードサイズを個別に64[バイ
ト]単位で増減させる。この実施の形態5のエンドポイ
ントFIFO群442の容量は、上記実施の形態4のエ
ンドポイントFIFO群441と同じである。エンドポ
イントコントローラ451は、上記のタグによって、ア
イソクロナス転送用の32本のFIFOを結合または分
離させてエンドポイントEP4〜EP7のペイロードサ
イズを個別に64[バイト]単位で設定するとともに、
エンドポイントEP4〜EP7のトータルサイズが20
48[バイト]以下になるように管理する。
【0217】実施の形態5のホストコンピュータ101
のプリンタデバイス用ページディスクリプタおよびプリ
ンタデバイス用ラスタイメージデータのデータフォーマ
ットは、上記実施の形態4と同様である(図30〜図3
2参照)。
【0218】図44はプリンタ302のディスクリプタ
構成を説明する図である。また、図45はプリンタ30
2のエンドポイントEP4のエンドポイントディスクリ
プタのデータフォーマットを説明する図である。また、
図46はプリンタ302のそれぞれの代替インターフェ
ース番号についてのエンドポイントEP4〜EP7のパ
ケットサイズ(ペイロードサイズ)の一覧図である。
【0219】図44〜図46を用いて、実施の形態5の
プリンタ302のディスクリプタデータを、上記実施の
形態4と相違する部分について説明する。実施の形態5
のプリンタ302は、1つのコンフィギュレーション
(コンフィギュレーション番号1)を有し、このコンフ
ィギュレーションについて、16個の代替設定が可能な
1つのインターフェース(インターフェース番号0)を
有し、このインターフェースの16個の代替設定のそれ
ぞれについて、8つのエンドポイント(エンドポイント
番号0〜7のEP0〜EP7)を有する。これに応じ
て、プリンタ302のディスクリプタデータは、図44
のように、デバイスディスクリプタと、コンフィギュレ
ーション番号1のコンフィギュレーションディスクリプ
タと、代替インターフェース番号0〜15のそれぞれに
ついての16個のインターフェースディスクリプタと、
上記16個のインターフェースディスクリプタのそれぞ
れについてのEP1〜EP7(コントロール転送用のE
P0を除く)の7つのエンドポイントディスクリプタと
によって構成されている。
【0220】なお、プリンタ302のデバイスディスク
リプタおよびコンフィギュレーションディスクリプタの
データフォーマットは、上記実施の形態4のデバイスデ
ィスクリプタおよびコンフィギュレーションディスクリ
プタと同じである。
【0221】プリンタ302は、図46のように、エン
ドポイントEP4〜EP7のパケットサイズ(ペイロー
ドサイズ)設定が互いに異なる代替インターフェース番
号0〜15の16個のインターフェースを持っている。
プリンタ302の代替インターフェース番号0〜15の
インターフェースディスクリプタのデータフォーマット
は、エンドポイントEP4〜EP7のパケットサイズが
図46のようにそれぞれ設定されていることを除いて、
上記実施の形態4のインターフェースディスクリプタ
(図34参照)と同じである。
【0222】代替インターフェース番号0〜7は、Y,
M,C,Kの内の1色のみを印刷する場合に選択され
る。また、代替インターフェース番号8〜13は、Y,
M,C,Kの内の2色を印刷する場合に選択される。ま
た、代替インターフェース番号14,15は、主にY,
M,C,Kの内の3色または4色全てを印刷する場合に
選択される。
【0223】また、プリンタ302は、EP0〜EP7
の7つのエンドポイントを持っており、代替インターフ
ェース番号0〜15の16個のインターフェースディス
クリプタのそれぞれについて、エンドポイントEP1〜
EP7の7つのエンドポイントディスクリプタ(エンド
ポイントEP4のエンドポイントディスクリプタについ
ては図45参照)を持っている。
【0224】なお、エンドポイントEP5〜EP7のエ
ンドポイントディスクリプタのデータフォーマットは、
図45のエンドポイントEP4のエンドポイントディス
クリプタと同じである。また、エンドポイントEP1〜
EP3のエンドポイントディスクリプタのデータフォー
マットは、上記実施の形態1のエンドポイントEP1〜
EP3のエンドポイントディスクリプタ(図15(a)
〜(c)参照)と同じである。
【0225】プリンタ302では、エンドポイントEP
4は、ホストコンピュータ101からプリンタ301へ
のYカラーラスタイメージデータのアイソクロナス転送
用として使用される。また、エンドポイントEP5は、
ホストコンピュータ101からプリンタ301へのMカ
ラーラスタイメージデータのアイソクロナス転送用とし
て使用される。また、エンドポイントEP6は、ホスト
コンピュータ101からプリンタ301へのCカラーラ
スタイメージデータのアイソクロナス転送用として使用
される。また、エンドポイントEP7は、ホストコンピ
ュータ101からプリンタ301へのKカラーラスタイ
メージデータのアイソクロナス転送用として使用され
る。エンドポイントEP4〜EP7のパケットサイズ
(ペイロードサイズ)は、図46のように、代替インタ
ーフェース番号によって、1023[バイト]、512
[バイト]、256[バイト]、128[バイト]、ま
たは64[バイト]のいずれかにそれぞれ設定されてい
る。
【0226】このように、実施の形態5のプリンタ30
2では、USBバス上のトラフィック変化と、Yカラー
イメージデータ,Mカラーイメージデータ,Cカラーイ
メージデータ,Kカラーイメージデータそれぞれのデー
タ量の変化とに対応できるように、エンドポイントEP
4〜EP7のパケットサイズ(ペイロードサイズ)をダ
イナミックに変更することが可能になっている。例え
ば、Mカラーのみを印刷する場合、エンドポイントEP
5のパケットサイズを1023[バイト]や512[バ
イト]にすれば、Mカラーイメージデータを短時間で送
信することができる。
【0227】図47および図48は本発明の実施の形態
5のプリントシステムにおけるホストコンピュータ10
1とプリンタ302間の処理を説明するフローチャート
である。また、図49は実施の形態5のホストコンピュ
ータ101のUSBホストドライバ130によるアイソ
クロナス転送ペイロード決定処理を説明するフローチャ
ートである。また、図50は実施の形態5のプリンタ3
02のデータ処理部520(図3参照)によるプリンタ
エンジン速度決定処理を説明するフローチャートであ
る。また、図51は本発明の実施の形態5のプリントシ
ステムにおけるUSBバス200上のデータフレームを
説明する図である。
【0228】図47および図48を用いて、実施の形態
5のプリントシステムにおけるホストコンピュータ10
1とプリンタ302間の処理手順を説明する。まず、ス
テップS2100において、ユーザがホストコンピュー
タ101において印刷するための操作をすると、ホスト
コンピュータ101上で動作するアプリケーション11
0はプリンタドライバ120に印刷命令を出す。このと
きに、印刷用紙サイズ、イメージデータ解像度、印刷色
(モノクロかカラー)、印刷位置等の指定がアプリケー
ション110からプリンタドライバ120に渡される。
【0229】次に、ステップS2110において、カラ
ーホストベースプリンタ用ドライバであるプリンタドラ
イバ120は、アプリケーション110からの指定に従
って、上記実施の形態4と同様のページディスクリプタ
(図31参照)と、Y,M,C,Kカラーのラスタイメ
ージデータ(図30および図32参照)とを生成し、ペ
ージディスクリプタをページディスクリプタメモリ17
0に格納するとともに、1ページ分のYカラーメージデ
ータをYラスタイメージデータメモリ181に、1ペー
ジ分のMカラーイメージデータをMラスタイメージデー
タメモリ182に、1ページ分のCカラーイメージデー
タをCラスタイメージデータメモリ183に、1ページ
分のKカラーライメージデータをKラスタイメージデー
タメモリ183にそれぞれ格納し、USBホストドライ
バ130を起動する。
【0230】次に、ステップS2120において、US
Bホストドライバ130は、USBバスドライバ140
に対して、プリンタ302のデバイスディスクリプタの
取得を要求する(GetDescriptorRequest)。次に、ステ
ップS2130において、USBバスドライバ140
は、エンドポイントEP0のコントロール転送を使っ
て、USBホストコントローラ150、シリアルインタ
ーフェース部160を介して、プリンタ302に対し
て、プリンタ302のデバイスディスクリプタの送信を
要求する。次に、ステップS2140において、プリン
タ302のUSB制御部402は、ホストコンピュータ
101に対して、上記実施の形態4と同様のデバイスデ
ィスクリプタを返信する。
【0231】次に、ステップS2150において、上記
ステップS2120〜S2140と同様にして、USB
ホストドライバ130は、USBバスドライバ140に
対して、プリンタ302のコンフィギュレーションディ
スクリプタの取得を要求し(GetConfigurationReques
t)、USBバスドライバ140は、プリンタ302に
対して、プリンタ302のコンフィギュレーションディ
スクリプタの送信を要求し、プリンタ302のUSB制
御部402は、ホストコンピュータ101に対して、上
記実施の形態4と同様のコンフィギュレーションディス
クリプタを返信する。
【0232】次に、ステップS2160において、上記
ステップS120〜S140と同様にして、USBホス
トドライバ130は、USBバスドライバ140に対し
て、プリンタ302のインターフェースディスクリプタ
およびエンドポイントディスクリプタの取得を要求し
(GetInterfaceRequest)、USBバスドライバ140
は、プリンタ302に対して、プリンタ302のインタ
ーフェースディスクリプタおよびエンドポイントディス
クリプタの送信を要求し、プリンタ302のUSB制御
部402は、ホストコンピュータ101に対して、代替
インターフェース番号0〜15の16個のインターフェ
ースディスクリプタ、およびそれぞれのインターフェー
スディスクリプタについてのエンドポイントEP1〜E
P7のエンドポイントディスクリプタ(エンドポイント
EP4〜EP7については図45参照)を返信する。
【0233】次に、ステップS2170において、US
Bホストドライバ130は、上記のインターフェースデ
ィスクリプタおよびエンドポイントディスクリプタか
ら、代替インターフェース情報(代替インターフェース
番号0〜15)と、それぞれの代替インターフェースに
ついてのエンドポイント情報(エンドポイントEP1〜
EP7)とを取得する。
【0234】次に、ステップS2180において、US
Bホストドライバ130は、図49に示す方法を使っ
て、アイソクロナス転送のペイロードサイズを計算し、
代替インターフェース番号を選択し(アイソクロナスペ
イロードサイズを設定し)、USBバスドライバ140
に対して、プリンタ302のUSBインターフェースの
設定を要求する(SetInterfaceRequest)。
【0235】次に、ステップS2190において、US
Bホストドライバ130およびUSBバスドライバ14
0は、ページディスクリプタメモリ170の内容を、エ
ンドポイントEP1のバルクアウト転送を使ってプリン
タ302に送信する(WriteAsyncRequest)。プリンタ
302のUSB制御部402は、ホストコンピュータ1
01からバルクアウト転送されたページディスクリプタ
をエンドポイントFIFO群442のエンドポイントE
P3で受信し、プリンタ302のインターフェース制御
部510は、上記のページディスクリプタをメモリ55
0に格納する。
【0236】次に、ステップS2200において、プリ
ンタ302のデータ処理部520は、上記のページディ
スクリプタを解析してページバッファを生成し、メモリ
550に格納するとともに、図50に示す方法を使って
プリンタエンジン速度(プリンタエンジン600の印刷
速度)を設定する。
【0237】次に、ステップS2210において、US
Bホストドライバ130およびUSBバスドライバ14
0は、プリンタ301の印刷速度を、エンドポイントE
P2のバルクイン転送を使って取得する(ReadAsyncReq
uest)。
【0238】次に、ステップS2220において、US
Bホストドライバ130およびUSBバスドライバ14
0は、Yカラーイメージデータがあるときには、Yラス
タイメージデータメモリ181の内容をエンドポイント
EP4のアイソクロナス転送を使ってプリンタ302に
順次送信し、Mカラーイメージデータがあるときには、
Mラスタイメージデータメモリ182の内容をエンドポ
イントEP5のアイソクロナス転送を使ってプリンタ3
02に順次送信し、Cカラーイメージデータがあるとき
には、Cラスタイメージデータメモリ183の内容をエ
ンドポイントEP6のアイソクロナス転送を使ってプリ
ンタ302に順次送信し、Kカラーイメージデータがあ
るときには、Kラスタイメージデータメモリ184の内
容をエンドポイントEP7のアイソクロナス転送を使っ
てプリンタ302に順次送信する(WriteSyncReques
t)。
【0239】上記ステップS2220によって、Y,
M,C,Kの内の1色以上のラスタイメージデータは、
図51のように、フレーム単位で(1つのフレーム内に
混在して)プリンタ302に順次アイソクロナス転送さ
れる。図51(a)はYのみの1色で印刷する場合であ
って、エンドポイントEP4のアイソクロナスペイロー
ドのサイズを1023[バイト]に設定し、エンドポイ
ントEP5〜EP7のアイソクロナスペイロードのサイ
ズを64[バイト]に設定した場合(代替インターフェ
ース番号0を選択した場合)である。また、図51
(b)はYとCの2色で印刷する場合であって、エンド
ポイントEP4,EP6のアイソクロナスペイロードの
サイズを512[バイト]に設定し、エンドポイントE
P5,EP7のアイソクロナスペイロードのサイズを6
4[バイト]に設定した場合(代替インターフェース番
号9を選択した場合)である。それぞれのフレームによ
ってY,M,C,Kの内の印刷される1色以上のラスタ
イメージデータがアイソクロナス転送される。また、
Y,M,C,Kのアイソクロナスペイロードのサイズ
は、USBバス200の使用率と印刷する色の数および
種類に応じて個別に設定される。
【0240】このように、実施の形態5のプリントシス
テムでは、サイズを個別に設定したY,M,C,K用の
4つのアイソクロナスペイロードによってY,M,C,
Kの内の印刷される1色以上のラスタイメージデータを
フレーム単位で転送することにより、ラスタイメージデ
ータを等時的に(連続的かつ周期的に一定幅のデータ転
送レートを保って)転送することが可能となる。最初の
フレームで第1ラインの4色分のラスタラインデータを
アイソクロナス転送できた場合には、プリンタ301は
最初のフレームを受信したあとすぐに印刷起動をかける
ことができる。
【0241】次に、ステップS2230において、プリ
ンタ302のUSB制御部402は、ホストコンピュー
タ101からYカラーイメージデータがアイソクロナス
転送されたときは、これをエンドポイントFIFO群4
42のエンドポイントEP4で受信し、Mカラーイメー
ジデータがアイソクロナス転送されたときは、これをエ
ンドポイントEP5で受信し、Cカラーイメージデータ
がアイソクロナス転送されたときは、これをエンドポイ
ントEP6で受信し、Kカラーイメージデータがアイソ
クロナス転送されたときは、これをエンドポイントEP
7で受信する。プリンタ302のインターフェース制御
部510は、上記エンドポイントEP4〜EP7で受信
されたラスタイメージデータをメモリ550に格納す
る。
【0242】次に、ステップS2240において、プリ
ンタ302の画像データ生成部530は、Yカラーイメ
ージデータが受信されていれば、上記ステップS220
0で生成されたページバッファに従ってYカラービデオ
データを生成し、このYカラービデオデータをYビデオ
メモリ560に格納し、Mカラーイメージデータが受信
されていれば、上記ページバッファに従って、プリンタ
エンジン600に送信するMカラービデオデータを生成
し、このMカラービデオデータをMビデオメモリ561
に格納し、Cカラーイメージデータが受信されていれ
ば、上記ページバッファに従ってCカラービデオデータ
を生成し、このCカラービデオデータをCビデオメモリ
562に格納し、Kカラーイメージデータが受信されて
いれば、上記ページバッファに従ってKカラービデオデ
ータを生成し、このKカラービデオデータをKビデオメ
モリ563に格納する。
【0243】次に、ステップS2250において、プリ
ンタ302の印刷制御部540は、データ処理部520
によって設定されたプリンタエンジン速度(印刷速度)
をプリンタエンジン600に指示し、ビデオメモリ56
0〜563のデータをプリンタエンジン600に送り、
1ページの印刷を開始する。
【0244】次に、ステップS2260において、1ペ
ージの印刷が終了すると、プリンタ302のプリンタ制
御部500は、USB制御部402を介してエンドポイ
ントEP3の割り込み転送を使って、ページの印刷終了
メッセージをホストコンピュータ101に送信する。次
に、ステップS2270において、ホストコンピュータ
101のUSBホストドライバ130は、ページの印刷
終了を確認すると、プリンタドライバ120に通知す
る。次に、ステップS2280において、プリンタドラ
イバ120は、ページが正しく印刷されたことを確認す
ると、ページディスクリプタメモリ170とY,M,
C,Kラスタイメージデータメモリ181,182,1
83,184の内容を開放し、次のページの印刷準備を
する。
【0245】図49を用いて、実施の形態5のUSBホ
ストドライバ130によるアイソクロナスペイロードサ
イズ決定処理を説明する。まず、ステップS2500に
おいて、USBホストドライバ130は、プリンタドラ
イバ120によって作成され、ページディスクリプタメ
モリ170に格納されたページディスクリプタから、印
刷に使用するカラーの情報を取得し、PrintColorに格納
する。
【0246】次に、ステップS2510において、印刷
ジョブがY,M,C,Kの内の1色のみ、例えばYカラ
ーのみを使用するとすると、USBホストドライバ13
0は、エンドポイントEP4の仮ペイロードサイズTemp
Payload4を1023[バイト]に、その他のエンドポイ
ントEP5〜EP7の仮ペイロードサイズTempPayload
5,TempPayload6,TempPayload7を64[バイト]にそ
れぞれ設定する。また、仮代替インターフェース番号Te
mpAltInterfaceを0に設定する。
【0247】次に、ステップS2520において、US
Bホストドライバ130は、USBバスドライバ140
に対して、上記の仮ペイロードサイズTempPayload4,Te
mpPayload5,TempPayload6,TempPayload7がUSBバス
200上で許可されるかどうかを問い合わせる。USB
バスドライバ140は、USBバス200の使用率を認
識しており、この使用率をもとに、仮ペイロードサイズ
TempPayload4,TempPayload5,TempPayload6,TempPayl
oad7を許可するか否かを判別し、USBホストドライバ
130に通知する。
【0248】上記のステップS2520で、仮ペイロー
ドサイズTempPayload4,TempPayload5,TempPayload6,
TempPayload7がUSBバスドライバ140から許可され
た場合には、ステップS2530において、USBホス
トドライバ130は、エンドポイントEP4〜EP7の
ペイロードサイズPayload4,Payload5,Payload6,Payl
oad7をそれぞれ仮ペイロードサイズTempPayload4,Temp
Payload5,TempPayload6,TempPayload7と同じ値に設定
し、代替インターフェース番号AltInterfaceを仮代替イ
ンターフェース番号TempAltInterface=0と同じ値に設
定し、本フローを終了する。
【0249】また、上記のステップS2520で、仮ペ
イロードサイズTempPayload4,TempPayload5,TempPayl
oad6,TempPayload7がUSBバスドライバ140から許
可されなかった場合には、ステップS2540におい
て、USBホストドライバ130は、エンドポイントE
P4の仮ペイロードサイズTempPayload4を512[バイ
ト]に変更し(その他のエンドポイントEP5〜EP7
の仮ペイロードサイズTempPayload5,TempPayload6,Te
mpPayload7は64[バイト]のまま)、仮代替インター
フェース番号TempAltInterfaceを4に変更する。
【0250】次に、ステップS2550において、US
Bホストドライバ130は、USBバスドライバ140
に対して、上記ステップS2540で設定した仮ペイロ
ードサイズTempPayload4,TempPayload5,TempPayload
6,TempPayload7がUSBバス200上で許可されるか
どうかを問い合わせる。USBバスドライバ140は、
上記の仮ペイロードサイズTempPayload4,TempPayload
5,TempPayload6,TempPayload7を許可するか否かを判
別し、USBホストドライバ130に通知する。
【0251】上記のステップS2550で仮ペイロード
サイズTempPayload4,TempPayload5,TempPayload6,Te
mpPayload7がUSBバスドライバ140から許可された
場合は、ステップS2530において、USBホストド
ライバ130は、エンドポイントEP4〜EP7のペイ
ロードサイズPayload4,Payload5,Payload6,Payload7
をそれぞれ上記ステップS2540で設定した仮ペイロ
ードサイズTempPayload4,TempPayload5,TempPayload
6,TempPayload7と同じ値に設定し、代替インターフェ
ース番号AltInterfaceを上記ステップS2540で設定
した仮代替インターフェース番号TempAltInterface=4
と同じ値に設定し、本フローを終了する。
【0252】また、上記のステップS2550で、仮ペ
イロードサイズTempPayload4,TempPayload5,TempPayl
oad6,TempPayload7がUSBバスドライバ140から許
可されなかった場合には、ステップS2560におい
て、USBホストドライバ130は、エンドポイントE
P4〜EP7の仮ペイロードサイズTempPayload4,Temp
Payload5,TempPayload6,TempPayload7を全て128
[バイト]に変更し、仮代替インターフェース番号Temp
AltInterfaceを15に変更する。そして、ステップS2
530において、USBホストドライバ130は、エン
ドポイントEP4〜EP7のペイロードサイズPayload
4,Payload5,Payload6,Payload7をそれぞれ上記ステ
ップS2560で設定した仮ペイロードサイズTempPayl
oad4,TempPayload5,TempPayload6,TempPayload7と同
じ値に設定し、代替インターフェース番号AltInterface
を上記ステップS2560で設定した仮代替インターフ
ェース番号TempAltInterface=15と同じ値に設定し、
本フローを終了する。
【0253】なお、以上説明した図49は、Yカラーの
みを印刷する場合のペイロードサイズ決定処理である
が、Mカラーのみ、Cカラーのみ、またはKカラーのみ
を印刷する場合にも、図49と同様にして、エンドポイ
ントEP4〜EP7のペイロードサイズPayload4,Payl
oad5,Payload6,Payload7が決定される。Mカラーのみ
を印刷する場合には、仮代替インターフェース番号Temp
AltInterfaceは、1、5、15の順に設定され、許可さ
れた仮代替インターフェース番号TempAltInterfaceが、
代替インターフェース番号AltInterfaceとして決定され
る。また、Cカラーのみを印刷する場合には、仮代替イ
ンターフェース番号TempAltInterfaceは、2、6、15
の順に設定される。また、Kカラーのみを印刷する場合
には、仮代替インターフェース番号TempAltInterface
は、3、7、15の順に設定される。上記それぞれ代替
インターフェース番号のエンドポイントEP4〜EP7
のペイロードサイズ(パケットサイズ)は、図46のよ
うに設定される。
【0254】さらに、Y,M,C,Kの内の2色を使っ
た印刷ジョブの場合にも、図49と同様にして、エンド
ポイントEP4〜EP7のペイロードサイズPayload4,
Payload5,Payload6,Payload7が設定される。2色を印
刷する場合には、仮代替インターフェース番号TempAltI
nterfaceは、8〜13のいずれか、14、15の順に設
定され、許可された仮代替インターフェース番号TempAl
tInterfaceが、代替インターフェース番号AltInterface
として決定される。例えば、MカラーとCカラーの2色
を印刷する場合には、仮代替インターフェース番号Temp
AltInterfaceは、11、14、15の順に設定される。
【0255】さらにまた、Y,M,C,Kの内の3色ま
たは4色全てを使った印刷ジョブの場合には、仮代替イ
ンターフェース番号TempAltInterfaceは、14、15の
順に設定され、許可された仮代替インターフェース番号
TempAltInterfaceが、代替インターフェース番号AltInt
erfaceとして決定される。
【0256】図50を用いて、プリンタ302における
プリンタエンジン速度決定処理を説明する。まず、ステ
ップS2600において、実施の形態5のデータ処理部
520は、設定された代替インターフェース番号からエ
ンドポイントEP4〜EP7のペイロードサイズを取得
し、エンドポイントEP4のペイロードサイズをUsbPay
load4に、エンドポイントEP5のペイロードサイズをU
sbPayload5に、エンドポイントEP6のペイロードサイ
ズをUsbPayload6に、エンドポイントEP7のペイロー
ドサイズをPayload7に、それぞれ格納する。
【0257】次に、ステップS2610において、デー
タ処理部520は、ホストコンピュータ101から受信
したページディスクリプタ(図31参照)から、印刷に
使用するカラー数の情報(印刷カラー数情報)、Yカラ
ーページデータサイズ情報、Mカラーページデータサイ
ズ情報、Cカラーページデータサイズ情報、Kカラーペ
ージデータサイズ情報を取得し、印刷カラー数をPrintC
olorNumに、YカラーページデータサイズをYPageSize
に、MカラーページデータサイズをMPageSizeに,Cカ
ラーページデータサイズをCPageSiezeに、Kカラーペー
ジデータサイズをKPageSizeにそれぞれ格納する。
【0258】次に、ステップS2620において、デー
タ処理部520は、エンドポイントEP4のペイロード
サイズPayload4とYカラーページデータサイズYPageSiz
eとから、Yカラーデータ送信に必要なアイソクロナス
トランザクション回数(Yトランザクション回数)を計
算し、YTransに格納する。Yトランザクション回数YTra
nsは、 YTrans=YPageSize/UsbPayload4…(9) によって計算される。同様にして、エンドポイントEP
5のペイロードサイズUsbPayload5とMカラーページデ
ータサイズMPageSizeとから、Mカラーデータ送信に必
要なアイソクロナストランザクション回数(Mトランザ
クション回数)を計算し、エンドポイントEP6のペイ
ロードサイズUsbPayload6とCカラーページデータサイ
ズCPageSizeとから、Cカラーデータ送信に必要なアイ
ソクロナストランザクション回数(Cトランザクション
回数)を計算し、エンドポイントEP7のペイロードサ
イズUsbPayload7とKカラーページデータサイズKPageSi
zeから、Kカラーデータ送信に必要なアイソクロナスト
ランザクション回数(Kトランザクション回数)を計算
し、MTrans,CTrans,KTransにそれぞれ格納する。Mト
ランザクション回数MTrans、Cトランザクション回数CT
rans、Kトランザクション回数KTransは、 MTrans=MPageSize/UsbPayload5…(10) CTrans=CPageSize/UsbPayload6…(11) KTrans=KPageSize/UsbPayload7…(12) によって計算される。
【0259】次に、ステップS2630において、デー
タ処理部520は、4色のページデータ送信に必要なト
ランザクション回数を求め、PageTransに格納する。こ
のトランザクション回数PageTransは、Yトランザクシ
ョン回数YTrans、Mトランザクション回数MTrans、Cト
ランザクション回数CTrans、Kトランザクション回数KT
ransの内の最大値であり、この最大値をmax(YTran
s,MTrans,CTrans,KTrans)として、 PageTrans=max(YTrans,MTrans,CTrans,KTran
s) によって求められる。
【0260】次に、ステップS2640において、デー
タ処理部520は、ページデータ送信に必要な転送時間
を計算し、PageTransTimeに格納する。この転送時間Pag
eTransTime(単位は[sec])は、1フレームの転送
時間が1[msec]であるため、 PageTransTime=PageTrans/1000…(13) によって計算される。
【0261】次に、ステップS2650において、デー
タ処理部520は、データ処理部520は、ページディ
スクリプタ(図31参照)から、印刷する用紙長を取得
し、PageLength(単位は[インチ])に格納する。
【0262】次に、ステップS2660において、デー
タ処理部520は、用紙長PageLengthとページデータ転
送時間PageTransTimeとから、プリンタエンジン600
のエンジン速度を計算し、EngineSpeedに格納する。エ
ンジン速度EngineSpeed(単位は[IPS])は、 EngineSpeed=PageLength/PageTransTime…(14) によって計算される。
【0263】次に、ステップS2670において、デー
タ処理部520は、計算したエンジン速度EngineSpeed
が、プリンタ302がサポートしている最低のエンジン
速度以上であるか否かを判別する。つまり、EngineSpee
d≧0.5であるか否かを判別する。そして、EngineSpe
ed≧0.5であれば、ステップS2680に進む。ま
た、EngineSpeed<0.5であれば、プリンタエンジン
600のエンジン速度の設定が不可能であると判別し、
本フローを終了する。
【0264】次に、ステップS2680およびステップ
S2690〜S2693において、データ処理部520
は、計算したエンジン速度EngineSpeedと印刷カラー数P
rintColorNumとをもとに、プリンタ302がサポートし
ている複数のエンジン速度の中から実際に印刷するエン
ジン速度を決定し、RealEngineSpeedに格納する。
【0265】ステップS2680において、データ処理
部520は、印刷カラー数PrintColorNumが、4である
か、3であるか、2であるか、1であるかを判別する。
また、プリンタ302は、印刷カラー数PrintColorNum
(PCN)に応じて、上記(a)〜(d)のように、5
種類、8種類、11種類、または13種類のエンジン速
度をサポートするため、計算したエンジン速度EngineSp
eed(ES)について、印刷カラー数PCNに応じて以
下のような判別をする。 (A)PCN=4の場合には、ES≧2.5[IPS]
であるか、2.5[IPS]>ES≧2.0[IPS]
であるか、2.0[IPS]>ES≧1.5[IPS]
であるか、1.5[IPS]>ES≧1.0[IPS]
であるか、1.0[IPS]>ES≧0.5[IPS]
であるかを判別する。 (B)PCN=3の場合には、ES≧5.0[IPS]
であるか、5.0[IPS]>ES≧4.0[IPS]
であるか、4.0[IPS]>ES≧3.0[IPS]
であるか、3.0[IPS]>ES≧2.5[IPS]
であるか、2.5[IPS]>ES≧2.0[IPS]
であるか、2.0[IPS]>ES≧1.5[IPS]
であるか、1.5[IPS]>ES≧1.0[IPS]
であるか、1.0[IPS]>ES≧0.5[IPS]
であるかを判別する。 (C)PCN=2の場合には、ES≧7.5[IPS]
であるか、7.5[IPS]>ES≧6.0[IPS]
であるか、6.0[IPS]>ES≧5.0[IPS]
であるか、5.0[IPS]>ES≧4.5[IPS]
であるか、4.5[IPS]>ES≧4.0[IPS]
であるか、4.0[IPS]>ES≧3.0[IPS]
であるか、3.0[IPS]>ES≧2.5[IPS]
であるか、2.5[IPS]>ES≧2.0[IPS]
であるか、2.0[IPS]>ES≧1.5[IPS]
であるか、1.5[IPS]>ES≧1.0[IPS]
であるか、1.0[IPS]>ES≧0.5[IPS]
であるかを判別する。 (D)PCN=1の場合には、ES≧10.0[IP
S]であるか、10.0[IPS]>ES≧8.0[I
PS]であるか、8.0[IPS]>ES≧7.5[I
PS]であるか、7.5[IPS]>ES≧6.0[I
PS]であるか、6.0[IPS]>ES≧5.0[I
PS]であるか、5.0[IPS]>ES≧4.5[I
PS]であるか、4.5[IPS]>ES≧4.0[I
PS]であるか、4.0[IPS]>ES≧3.0[I
PS]であるか、3.0[IPS]>ES≧2.5[I
PS]であるか、2.5[IPS]>ES≧2.0[I
PS]であるか、2.0[IPS]>ES≧1.5[I
PS]であるか、1.5[IPS]>ES≧1.0[I
PS]であるか、1.0[IPS]>ES≧0.5[I
PS]であるかを判別する。
【0266】そして、PCN=1,ES≧0.5[IP
S]であれば、ステップS2690において、実際に印
刷するエンジン速度を10.0[IPS]に設定し、Re
alEngineSpeedに10.0[IPS]を格納する。ま
た、PCN=1,10.0>ES≧8.0[IPS]で
あれば、ステップS2691において、実際に印刷する
エンジン速度を8.0[IPS]に設定し、RealEngine
Speedに8.0[IPS]を格納する。
【0267】また、PCN=1,8.0>ES≧1.0
[IPS]、またはPCN=2,ES≧1.0[IP
S]、またはPCN=3,ES≧1.0[IPS]、ま
たはPCN=4,ES≧1.0[IPS]であれば、ス
テップS2692に進む。
【0268】ステップS2692において、PCN=
1,8.0[IPS]>ES≧7.5[IPS]、また
はPCN=2,ES≧7.5[IPS]であれば、実際
に印刷するエンジン速度を7.5[IPS]に設定し、
RealEngineSpeedに7.5[IPS]を格納する。
【0269】2≧PNC≧1,7.5[IPS]>ES
≧6.0[IPS]であれば、実際に印刷するエンジン
速度を6.0[IPS]に設定し、RealEngineSpeedに
6.0[IPS]を格納する。
【0270】2≧PNC≧1,6.0[IPS]>ES
≧5.0[IPS]、またはPCN=3,ES≧5.0
[IPS]であれば、実際に印刷するエンジン速度を
5.0[IPS]に設定し、RealEngineSpeedに5.0
[IPS]を格納する。
【0271】2≧PNC≧1,5.0[IPS]>ES
≧4.5[IPS]であれば、実際に印刷するエンジン
速度を4.5[IPS]に設定し、RealEngineSpeedに
4.5[IPS]を格納する。
【0272】2≧PNC≧1,4.5[IPS]>ES
≧4.0[IPS]、またはPCN=3,5.0>ES
≧4.0[IPS]であれば、実際に印刷するエンジン
速度を4.0[IPS]に設定し、RealEngineSpeedに
4.0[IPS]を格納する。 3≧PNC≧1,4.
0[IPS]>ES≧3.0[IPS]であれば、実際
に印刷するエンジン速度を3.0[IPS]に設定し、
RealEngineSpeedに3.0[IPS]を格納する。
【0273】3≧PNC≧1,3.0[IPS]>ES
≧2.5[IPS]、またはPNC=4,ES≧2.5
[IPS]であれば、実際に印刷するエンジン速度を
2.5[IPS]に設定し、RealEngineSpeedに2.5
[IPS]を格納する。
【0274】4≧PNC≧1,2.5[IPS]>ES
≧2.0[IPS]であれば、実際に印刷するエンジン
速度を2.0[IPS]に設定し、RealEngineSpeedに
2.0[IPS]を格納する。
【0275】4≧PNC≧1,2.0[IPS]>ES
≧1.5[IPS]であれば、実際に印刷するエンジン
速度を1.5[IPS]に設定し、RealEngineSpeedに
1.5[IPS]を格納する。
【0276】4≧PNC≧1,1.5[IPS]>ES
≧1.0[IPS]であれば、実際に印刷するエンジン
速度を1.0[IPS]に設定し、RealEngineSpeedに
1.0[IPS]を格納する。
【0277】また、4≧PNC≧11.0[IPS]>
ES≧0.5[IPS]であれば、ステップS2693
において、実際に印刷するエンジン速度を0.5[IP
S]に設定し、RealEngineSpeedに0.5[IPS]を
格納する。
【0278】なお、上記ステップS2670において、
計算したエンジン速度EngineSpeedが、EngineSpeed<
0.5であり、エンジン速度の設定が不可能であった場
合には、プリンタ302は、図48のステップS221
0において、エンジン速度の設定が不可能であったこと
を、ホストコンピュータ101に通知する。ホストコン
ピュータ101は、エンジン速度の設定が不可能であっ
たことを認識すると、図47のステップS2110に戻
り、ラスタイメージデータ解像度などを見直し、ページ
ディスクリプタを修正し、図47および図48のステッ
プS2190以降のフローを再度実施する。
【0279】具体例として、レター用紙に1.2[Mバ
イト](=1.2×1024×1024[バイト])の
Mカラーのみを印刷するジョブ1、およびレター用紙に
2[Mバイト](=2×1024×1024[バイ
ト])のYカラーと3[Mバイト](=3×1024×
1024[バイト])のCカラーの2色を印刷するジョ
ブ2について以下に説明する。プリンタ302は、印刷
カラー数PrintColorNum(PCN)に応じて、上記
(a)〜(d)のようなエンジンスピードをサポートし
ているものとする。
【0280】まず、上記のジョブ1については、印刷カ
ラー数PrintColorNum(PCN)=1、Yカラーページ
データサイズYPageSize=0[バイト]、Mカラーペー
ジデータサイズMPageSize=1.2×1024×102
4[バイト]、CカラーページデータサイズCPageSieze
=0[バイト]、KカラーページデータサイズKPageSiz
e=0[バイト]である。また、必要なトランザクショ
ン回数PageTransは、Mカラーデータ送信に必要なアイ
ソクロナストランザクション回数MTransである。また、
レター用紙の用紙長PageLength=11[インチ]であ
る。
【0281】エンドポイントEP5のペイロードサイズ
UsbPayload5=1023[バイト]のときは、ページデ
ータ送信に必要な転送時間PageTransTimeは、上記(1
0),(13)式によって、 PageTransTime=PageTrans/1000=MTrans/1000 =MPageSize/(UsbPayload5×1000) =(1.2×1024×1024)/(1023×1000 ) =1.23[sec] である。従って、上記(14)式によって、プリンタエ
ンジン速度EngineSpeedは、 EngineSpeed=PageLength/PageTransTime=11/1.
23=8.94[IPS] と計算される。印刷カラー数PCN=1なので、上記ス
テップS2680およびS2691によって、実際のプ
リンタエンジン速度RealEngineSpeed=8.0[IP
S]に設定される。
【0282】また、UsbPayload5=512[バイト]の
ときには、転送時間PageTransTimeは、 PageTransTime=(1.2×1024×1024)/
(512×1000)=2.46[sec] である。従って、プリンタエンジン速度EngineSpeed
は、 EngineSpeed=11/2.46=4.47[IPS] と計算される。印刷カラー数PCN=1なので、上記ス
テップS2680およびS2692によって、実際のプ
リンタエンジン速度RealEngineSpeed=4.0[IP
S]に設定される。
【0283】次に、上記のジョブ2については、印刷カ
ラー数PrintColorNum(PCN)=2、Yカラーページ
データサイズYPageSize=2.0×1024×1024
[バイト]、MカラーページデータサイズMPageSize=
0[バイト]、CカラーページデータサイズCPageSieze
=3.0×1024×1024[バイト]、Kカラーペ
ージデータサイズKPageSize=0[バイト]である。
【0284】エンドポイントEP4のペイロードサイズ
UsbPayload4=512[バイト],EP6のペイロード
サイズUsbPayload6=512[バイト]のときは、Yカ
ラーデータ送信に必要なアイソクロナストランザクショ
ン回数YTrans、Cカラーデータ送信に必要なアイソクロ
ナストランザクション回数CTransは、それぞれ上記
(9),(12)式によって、 YTrans=(2.0×1024×1024)/512=4
096 CTrans=(3.0×1024×1024)/512=6
144 である。必要なトランザクション回数PageTransは、 PageTrans=max(YTrans,CTrans)=CTrans=61
44 である。ページデータ送信に必要な転送時間PageTransT
imeは、上記(13)式によって、 PageTransTime=6144/1000=6.14[se
c] である。従って、プリンタエンジン速度EngineSpeed
は、 EngineSpeed=11/6.14=1.79[IPS] と計算される。上記ステップS2680およびS269
2によって、実際のプリンタエンジン速度RealEngineSp
eed=1.5[IPS]に設定される。
【0285】また、UsbPayload4=UsbPayload6=256
[バイト]のときには、Yトランザクション回数YTran
s、Cトランザクション回数CTransは、それぞれ、 YTrans=(2.0×1024×1024)/256=8
192 CTrans=(3.0×1024×1024)/256=1
2288 である。トランザクション回数PageTransは、 PageTrans=max(YTrans,CTrans)=CTrans=12
288 である。ページデータ送信に必要な転送時間PageTransT
imeは、 PageTransTime=max(YTrans,CTrans)/1000
=CTrans/1000=12.28[sec] である。従って、プリンタエンジン速度EngineSpeed
は、 EngineSpeed=11/12.28=0.89[IPS] と計算される。上記ステップS2680およびS269
3によって、実際のプリンタエンジン速度RealEngineSp
eed=0.5[IPS]に設定される。
【0286】以上のように実施の形態5によれば、ホス
トコンピュータとプリンタとをUSB接続したプリント
システムにおいて、ホストコンピュータ側で、USBバ
ス使用率と印刷色の数および種類とに応じて、Y,M,
C,Kにそれぞれ対応した4つのアイソクロナスペイロ
ードのサイズを個別に設定し、プリンタ側で、上記設定
されたペイロードサイズと、印刷用紙サイズと、それぞ
れのY,M,C,Kカラーイメージデータの内の最大デ
ータサイズと、印刷色数とをもとにプリンタエンジン速
度を設定し、上記個別にサイズ設定された4つのアイソ
クロナスペイロードによってY,M,C,Kカラーイメ
ージデータをフレーム単位でホストコンピュータからプ
リンタにアイソクロナス転送することにより、ラスタイ
メージデータ転送の等時性を確保することができ、1ペ
ージ分のラスタイメージデータの受信完了前に、プリン
タエンジンに印刷起動をかけることができるので、プリ
ンタに搭載するメモリの容量を削減することができ(1
ページ分のメモリを設ける必要がない)、印刷時間を短
縮することができる。
【0287】また、USBバス使用率と印刷色の数およ
び種類とに応じてY,M,C,Kのアイソクロナスペイ
ロードのサイズを個別に設定することにより、USBバ
スを効率的に活用する上で上記実施の形態4よりもさら
に最適なアイソクロナス転送ペイロードサイズとプリン
トエンジン速度を設定することができるので、USBバ
スを最大の能力で有効に活用でき、印刷スループットを
向上させることができる。
【0288】なお、上記実施の形態5の応用例として、
K色用LEDヘッドの解像度が1200[dpi]、そ
の他のY,M,C色用のLEDヘッドの解像度が600
[dpi]の4色カラータンデムプリンタがある。この
場合には、プリンタのUSB制御部に内蔵されている
Y,M,C色用のエンドポイント4〜6のFIFOサイ
ズをそのままにして、K色用エンドポイント7のFIF
Oサイズのみを2倍にすれば、ホストコンピュータのK
色用のアイソクロナス転送ペイロードを2倍にでき、上
記実施の形態5と同様の機能を実現することができる。
さらに、上記実施の形態5は6色カラータンデムプリン
タにも応用できる。
【0289】
【発明の効果】以上説明したように本発明の第1の印刷
システムによれば、ホスト装置側で、アイソクロナス転
送のペイロードサイズを設定し、印刷装置側で、上記設
定されたペイロードサイズをもとにプリンタエンジン速
度を設定し、上記サイズ設定されたアイソクロナスペイ
ロードによってラスタイメージデータをホスト装置から
印刷装置にアイソクロナス転送することにより、ラスタ
イメージデータ転送の等時性を確保することができ、1
ページ分のラスタイメージデータの受信完了前に印刷手
段に印刷起動をかけることができるので、印刷装置に搭
載するメモリの容量を削減することができ、印刷時間を
短縮することができるという効果がある。
【0290】また、本発明の第2の印刷システムによれ
ば、ホスト装置側で、USBバス使用率に応じて、複数
の色成分にそれぞれ対応した複数のアイソクロナスペイ
ロードのサイズを設定し、印刷装置側で、上記設定され
たペイロードサイズと、印刷用紙サイズと、それぞれの
色成分のラスタイメージデータの内の最大データサイズ
とをもとに印刷速度を設定し、上記サイズ設定された複
数のアイソクロナスペイロードによってラスタイメージ
データのそれぞれの色成分をフレーム単位でホスト装置
から印刷装置にアイソクロナス転送することにより、ラ
スタイメージデータ転送の等時性を確保することがで
き、1ページ分のラスタイメージデータの受信完了前
に、印刷手段に印刷起動をかけることができるので、印
刷装置に搭載するメモリの容量を削減することができ、
印刷時間を短縮することができるという効果がある。ま
た、USBバス使用率に応じてアイソクロナスペイロー
ドのサイズを設定することにより、USBバスを効率的
に活用する上で最適なアイソクロナス転送ペイロードサ
イズとプリントエンジン速度を設定することができるの
で、USBバスを最大の能力で有効に活用でき、印刷ス
ループットを向上させることができるという効果があ
る。
【0291】また、本発明の第3の印刷システムによれ
ば、ホスト装置側で、USBバス使用率と印刷色の数お
よび種類とに応じて、複数の色成分にそれぞれ対応した
複数のアイソクロナスペイロードのサイズを個別に設定
し、印刷装置側で、上記設定されたペイロードサイズ
と、印刷用紙サイズと、それぞれの色成分のラスタイメ
ージデータの内の最大データサイズと、印刷色数とをも
とに印刷速度を設定し、上記個別にサイズ設定された複
数のアイソクロナスペイロードによってラスタイメージ
データのそれぞれの色成分をフレーム単位でホスト装置
から印刷装置にアイソクロナス転送することにより、ラ
スタイメージデータ転送の等時性を確保することがで
き、1ページ分のラスタイメージデータの受信完了前
に、印刷手段に印刷起動をかけることができるので、印
刷装置に搭載するメモリの容量を削減することができ、
印刷時間を短縮することができる。また、USBバス使
用率と印刷色の数および種類とに応じてそれぞれの色成
分のアイソクロナスペイロードのサイズを個別に設定す
ることにより、USBバスを効率的に活用する上でさら
に最適なアイソクロナス転送ペイロードサイズとプリン
トエンジン速度を設定することができるので、USBバ
スを最大の能力で有効に活用でき、印刷スループットを
向上させることができる。
【0292】2000年4月27日に規定されたUSB
Rev2.0では、ロースピードデバイス、フルスピ
ードデバイスの他に、ハイスピードデバイス(480
[Mビット/秒])が新たに規定された。USB Re
v2.0のハイスピードデバイスを適用することで、高
速、高解像度なプリンタへも適用できる。
【図面の簡単な説明】
【図1】本発明の実施の形態1のプリントシステムのブ
ロック図である。
【図2】図1のプリンタのハードウェアブロック図であ
る。
【図3】図2のプリンタ制御部の論理的なブロック図で
ある。
【図4】図2のエンドポイントFIFO群のエンドポイ
ント構成とFIFO構成を説明する図である。
【図5】図1のホストコンピュータにおけるプリンタデ
バイス用データの構成を説明する図である。
【図6】図1のホストコンピュータにおけるプリンタデ
バイス用ページディスクリプタのデータフォーマットを
説明する図である。
【図7】図1のホストコンピュータにおけるプリンタデ
バイス用ラスタイメージデータのデータフォーマットを
説明する図である。
【図8】図1のプリンタのディスクリプタ構成を説明す
る図である。
【図9】図1のプリンタのデバイスディスクリプタのフ
ォーマットを説明する図である。
【図10】図1のプリンタのコンフィギュレーションデ
ィスクリプタのフォーマットを説明する図である。
【図11】図1のプリンタのインターフェース番号0
(代替インターフェース番号0)のインターフェースデ
ィスクリプタのフォーマットを説明する図である。
【図12】図1のプリンタのインターフェース番号0
(代替インターフェース番号1)のインターフェースデ
ィスクリプタのフォーマットを説明する図である。
【図13】図1のプリンタのインターフェース番号0
(代替インターフェース番号2)インターフェースディ
スクリプタのフォーマットを説明する図である。
【図14】図1のプリンタのインターフェース番号0
(代替インターフェース番号3)のインターフェースデ
ィスクリプタのフォーマットを説明する図である。
【図15】図1のプリンタの代替インターフェース番号
0のエンドポイントEP4のエンドポイントディスクリ
プタのフォーマットを説明する図である。
【図16】図1のプリンタの代替インターフェース番号
1のエンドポイントEP4のエンドポイントディスクリ
プタのフォーマットを説明する図である。
【図17】図1のプリンタの代替インターフェース番号
2のエンドポイントEP4のエンドポイントディスクリ
プタのフォーマットを説明する図である。
【図18】図1のプリンタの代替インターフェース番号
3のエンドポイントEP4のエンドポイントディスクリ
プタのフォーマットを説明する図である。
【図19】本発明の実施の形態1のプリントシステムに
おけるホストコンピュータとプリンタ間の処理を説明す
るフローチャートである(その1)。
【図20】本発明の実施の形態1のプリントシステムに
おけるホストコンピュータとプリンタ間の処理を説明す
るフローチャートである(その2)。
【図21】図1のホストコンピュータのUSBホストド
ライバによるアイソクロナス転送ペイロード決定処理を
説明するフローチャートである。
【図22】図1のプリンタのデータ処理部(図3参照)
によるプリンタエンジン速度決定処理の詳細を説明する
フローチャートである。
【図23】本発明の実施の形態1のプリントシステムに
おけるUSBバス上のデータフレームを説明する図であ
る。
【図24】本発明の実施の形態2のプリントシステムの
ホストコンピュータにおけるプリンタデバイス用ページ
ディスクリプタのデータフォーマットを説明する図であ
る。
【図25】本発明の実施の形態2のプリントシステムの
USBホストドライバによるアイソクロナス転送ペイロ
ード決定処理を説明するフローチャートである。
【図26】本発明の実施の形態3のプリントシステムの
USBホストドライバによるアイソクロナス転送ペイロ
ード決定処理を説明するフローチャートである。
【図27】本発明の実施の形態4のプリントシステムの
ブロック図である。
【図28】図27のプリンタのハードウェアブロック図
である。
【図29】図28のエンドポイントFIFO群のエンド
ポイント構成とFIFO構成を説明する図である。
【図30】図27のホストコンピュータにおけるプリン
タデバイス用データの構成を説明する図である。
【図31】図27のホストコンピュータにおけるプリン
タデバイス用ページディスクリプタのデータフォーマッ
トを説明する図である。
【図32】図27のホストコンピュータにおけるプリン
タデバイス用ラスタイメージデータのデータフォーマッ
トを説明する図である。
【図33】図27のプリンタのディスクリプタ構成を説
明する図である。
【図34】図27のプリンタのインターフェースディス
クリプタのデータフォーマットを説明する図である。
【図35】図27のプリンタのエンドポイントEP4の
エンドポイントディスクリプタのデータフォーマットを
説明する図である。
【図36】本発明の実施の形態4のプリントシステムに
おけるホストコンピュータとプリンタ間の処理を説明す
るフローチャートである(その1)。
【図37】本発明の実施の形態4のプリントシステムに
おけるホストコンピュータとプリンタ間の処理を説明す
るフローチャートである(その2)。
【図38】図27のホストコンピュータのUSBホスト
ドライバによるアイソクロナス転送ペイロード決定処理
を説明するフローチャートである。
【図39】図27のプリンタのデータ処理部によるプリ
ンタエンジン速度決定処理の詳細を説明したフローチャ
ートである。
【図40】本発明の実施の形態4のプリントシステムに
おけるUSBバス上のデータフレームを説明する図であ
る。
【図41】本発明の実施の形態5のプリントシステムの
ブロック図である。
【図42】図41のプリンタのハードウェアブロック図
である。
【図43】図42のエンドポイントFIFO群のエンド
ポイント構成とFIFO構成を説明する図である。
【図44】図41のプリンタのディスクリプタ構成を説
明する図である。
【図45】図41のプリンタのエンドポイントEP4の
エンドポイントディスクリプタのデータフォーマットを
説明する図である。
【図46】図41のプリンタのそれぞれの代替インター
フェース番号についてのエンドポイントEP4〜EP7
のパケットサイズ(ペイロードサイズ)の一覧図であ
る。
【図47】本発明の実施の形態5のプリントシステムに
おけるホストコンピュータとプリンタ間の処理を説明す
るフローチャートである(その1)。
【図48】本発明の実施の形態5のプリントシステムに
おけるホストコンピュータとプリンタ間の処理を説明す
るフローチャートである(その2)。
【図49】図41のホストコンピュータのUSBホスト
ドライバによるアイソクロナス転送ペイロード決定処理
を説明するフローチャートである。
【図50】図41のプリンタのデータ処理部によるプリ
ンタエンジン速度決定処理を説明するフローチャートで
ある。
【図51】本発明の実施の形態5のプリントシステムに
おけるUSBバス上のデータフレームを説明する図であ
る。
【図52】USBのデータ転送フォーマットを説明する
図である。
【図53】USBのシステム構成を説明する図である。
【図54】USBのバストポロジの一例を説明する図で
ある。
【図55】USBの通信フローを説明する図である。
【図56】USBデバイスのエンドポイントディスクリ
プタの構成図である。
【符号の説明】
100,101 ホストコンピュータ、 110 アプ
リケーション、 120 プリンタドライバ、 130
USBホストドライバ、 140 USBバスドライ
バ、 150 USBホストコントローラ、 160
シリアルインターフェース部、 170 ページディス
クリプタメモリ、 180 ラスタイメージデータメモ
リ、 181 Yラスタイメージデータメモリ、 18
2 Mラスタイメージデータメモリ、 183 Cラス
タイメージデータメモリ、 184 Kラスタイメージ
データメモリ、 200 USBバス、 300,30
1,302 プリンタ、 400 USB制御部、 4
10 USBトランシーバ/レシーバ 420 DPL
L(Digital Phese-Locked Loop)、 430 プロト
コルエンジン(SIE)、 441,441,442
エンドポイントFIFO群、 450,451 エンド
ポイントコントローラ、 460 ディスクリプタデー
タ、 470 プリンタ制御部インターフェース47
0、 500プリンタ制御部、 510 インターフェ
ース処理部、 520 データ処理部520、 530
画像データ生成処理部、 540 印刷制御部、 5
50メモリ550、 560 Y色用ビデオメモリ、
561 M色用ビデオメモリ、 562 C色用ビデオ
メモリ、 563 K色用ビデオメモリ、 600プリ
ンタエンジン。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 ホスト装置と印刷装置とをUSBバス接
    続した印刷システムにおいて、 上記ホスト装置は、 ラスタイメージデータを生成するイメージデータ生成手
    段と、 上記印刷装置のサポートする複数の異なるペイロードサ
    イズの中からアイソクロナスペイロードのサイズを設定
    するペイロードサイズ設定手段と、 上記ラスタイメージデータを上記アイソクロナスペイロ
    ードによって上記印刷装置にアイソクロナス転送するデ
    ータ転送手段とを有し、 上記印刷装置は、 上記設定されたペイロードサイズをもとに印刷速度を設
    定する印刷速度設定手段と、 上記ホスト装置からアイソクロナス転送されたラスタイ
    メージデータを、複数の異なるペイロードサイズをサポ
    ートするアイソクロナス転送用エンドポイントによって
    受信するデータ受信手段と、 上記設定された印刷速度で上記受信されたラスタイメー
    ジデータを印刷する印刷手段と、 所定のタイミングで上記印刷手段に印刷起動をかける印
    刷起動手段とを有することを特徴とする印刷システム。
  2. 【請求項2】 上記ペイロードサイズ設定手段は、印刷
    用紙サイズとイメージデータ解像度とをもとに、アイソ
    クロナスペイロードのサイズを設定することを特徴とす
    る請求項1記載の印刷システム。
  3. 【請求項3】 上記ペイロードサイズ設定手段は、印刷
    用紙サイズとイメージデータ解像度とラスタライン圧縮
    率とをもとに、アイソクロナスペイロードのサイズを設
    定することを特徴とする請求項1記載の印刷システム。
  4. 【請求項4】 上記ペイロードサイズ設定手段は、US
    Bバス使用率に応じて、アイソクロナスペイロードのサ
    イズを設定することを特徴とする請求項1ないし3のい
    ずれか一つに記載の印刷システム。
  5. 【請求項5】 ホスト装置と印刷装置とをUSBバス接
    続した印刷システムにおいて、 上記ホスト装置は、 複数の色成分の内の1色以上の色成分からなるラスタイ
    メージデータを生成するイメージデータ生成手段と、 USBバス使用率に応じて、上記複数の色成分にそれぞ
    れ対応した複数のアイソクロナスペイロードのサイズを
    設定するペイロードサイズ設定手段と、 上記ラスタイメージデータのそれぞれの色成分を上記複
    数のアイソクロナスペイロードによってフレーム単位で
    上記印刷装置にアイソクロナス転送するデータ転送手段
    とを有し、 上記印刷装置は、 上記設定されたペイロードサイズと、印刷用紙サイズ
    と、それぞれの色成分のラスタイメージデータの内の最
    大データサイズとをもとに印刷速度を設定する印刷速度
    設定手段と、 上記ホスト装置からアイソクロナス転送されたラスタイ
    メージデータのそれぞれの色成分を、上記複数の色成分
    に対応する複数のアイソクロナス転送用エンドポイント
    によってそれぞれ受信するデータ受信手段と、 上記設定された印刷速度で上記受信されたラスタイメー
    ジデータを印刷する印刷手段と、 所定のタイミングで上記印刷手段に印刷起動をかける印
    刷起動手段とを有することを特徴とする印刷システム。
  6. 【請求項6】 ホスト装置と印刷装置とをUSBバス接
    続した印刷システムにおいて、 上記ホスト装置は、 複数の色成分の内の1色以上の色成分からなるラスタイ
    メージデータを生成するイメージデータ生成手段と、 USBバス使用率に応じて、印刷色の数および種類をも
    とに、上記複数の色成分にそれぞれ対応した複数のアイ
    ソクロナスペイロードのサイズを個別に設定するペイロ
    ードサイズ設定手段と、 上記ラスタイメージデータのそれぞれの色成分を、ペイ
    ロードサイズが個別に設定された上記複数のアイソクロ
    ナスペイロードによってフレーム単位で上記印刷装置に
    アイソクロナス転送するデータ転送手段とを有し、 上記印刷装置は、 上記設定されたペイロードサイズと、印刷用紙サイズ
    と、それぞれの色成分のラスタイメージデータの内の最
    大データサイズと、印刷色数とをもとに、印刷速度を設
    定する印刷速度設定手段と、 上記ホスト装置からアイソクロナス転送されたラスタイ
    メージデータのそれぞれの色成分を、アイソクロナス転
    送用の複数のエンドポイントのそれぞれによって受信す
    るデータ受信手段と、 上記設定された印刷速度で上記受信されたラスタイメー
    ジデータを印刷する印刷手段と、 所定のタイミングで上記印刷手段に印刷起動をかける印
    刷起動手段とを有することを特徴とする印刷システム。
JP2000283374A 2000-09-19 2000-09-19 印刷システム Withdrawn JP2002091717A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000283374A JP2002091717A (ja) 2000-09-19 2000-09-19 印刷システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000283374A JP2002091717A (ja) 2000-09-19 2000-09-19 印刷システム

Publications (1)

Publication Number Publication Date
JP2002091717A true JP2002091717A (ja) 2002-03-29

Family

ID=18767743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000283374A Withdrawn JP2002091717A (ja) 2000-09-19 2000-09-19 印刷システム

Country Status (1)

Country Link
JP (1) JP2002091717A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208952A (ja) * 2002-01-16 2003-07-25 Japan Aviation Electronics Industry Ltd カード接続用コネクタ
US7028109B2 (en) 2002-04-19 2006-04-11 Seiko Epson Corporation Data transfer control device including buffer controller with plurality of pipe regions allocated to plurality of endpoints
US7359996B2 (en) 2002-04-19 2008-04-15 Seiko Epson Corporation Data transfer control device, electronic equipment, and data transfer control method
US7428600B2 (en) 2002-04-26 2008-09-23 Seiko Epson Corporation Data transfer control device, electronic equipment, and data transfer control method
US7469304B2 (en) 2002-04-19 2008-12-23 Seiko Epson Corporation Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation
CN100553977C (zh) * 2004-04-07 2009-10-28 佳能株式会社 串行数据传送方法、电子设备和记录装置
US7889384B2 (en) 2004-06-03 2011-02-15 International Business Machines Corporation Method for more efficiently managing complex payloads in a point of sale system
JP2014056473A (ja) * 2012-09-13 2014-03-27 Ricoh Co Ltd 情報処理システム,情報送信方法,およびプログラム
JP2014211801A (ja) * 2013-04-19 2014-11-13 株式会社東芝 インターフェース制御装置、データ記憶装置及びインターフェース制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208952A (ja) * 2002-01-16 2003-07-25 Japan Aviation Electronics Industry Ltd カード接続用コネクタ
US7028109B2 (en) 2002-04-19 2006-04-11 Seiko Epson Corporation Data transfer control device including buffer controller with plurality of pipe regions allocated to plurality of endpoints
US7359996B2 (en) 2002-04-19 2008-04-15 Seiko Epson Corporation Data transfer control device, electronic equipment, and data transfer control method
US7469304B2 (en) 2002-04-19 2008-12-23 Seiko Epson Corporation Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation
US7428600B2 (en) 2002-04-26 2008-09-23 Seiko Epson Corporation Data transfer control device, electronic equipment, and data transfer control method
CN100553977C (zh) * 2004-04-07 2009-10-28 佳能株式会社 串行数据传送方法、电子设备和记录装置
US7889384B2 (en) 2004-06-03 2011-02-15 International Business Machines Corporation Method for more efficiently managing complex payloads in a point of sale system
JP2014056473A (ja) * 2012-09-13 2014-03-27 Ricoh Co Ltd 情報処理システム,情報送信方法,およびプログラム
JP2014211801A (ja) * 2013-04-19 2014-11-13 株式会社東芝 インターフェース制御装置、データ記憶装置及びインターフェース制御方法

Similar Documents

Publication Publication Date Title
US6369909B1 (en) Print system, printing method, and printer
US5577172A (en) High-capacity protocol for packet-based networks
US6334161B1 (en) System for reverse data transmission flow control wherein command is transferred by asynchronous transfer mode while data is transferred by isochronous transfer mode
US6348973B1 (en) Apparatus for printing a document over a network
US20040186928A1 (en) Data transmission apparatus, system and method, and image processing apparatus
JPH10260798A (ja) 情報処理装置及び方法、出力制御装置及び方法、情報処理システム
US8570562B2 (en) Image forming apparatus and network connection method thereof relates to an image forming apparatus which supports different network connections according to an operation mode
JP2002091717A (ja) 印刷システム
JP4432385B2 (ja) データ中継システム
JP4285474B2 (ja) 印刷システム、方法及びプリンタ
JP2005322054A (ja) 分散印刷制御装置及び印刷ジョブ分散方法
JPH1013371A (ja) データバイトストリーム通信方法および装置
US20050165956A1 (en) MAC controller of network printing device and method for enlarging bus bandwidth of network printing device
US7978357B2 (en) Printing system and method that uses a universal serial bus (USB) high-speed interrupt out pipe to transfer print data from the host computer to the printer
JP5531427B2 (ja) スイッチ、情報処理装置、アービトレーション方法及び画像形成システム
JPH1115551A (ja) ネットワーク・インタフェース装置
JP4438698B2 (ja) 分散印刷システム,印刷方法,及び,コンピュータプログラム
JP2004221629A (ja) 画像処理装置、データ通信方法、及びプログラム
JP2000259375A (ja) プリンタシステム
JP2005178347A (ja) 分散印刷制御装置及びそれを備える印刷装置
US7248578B2 (en) Network hub with functionally integrated raster image processor and associated printing method and architecture
JP2001202208A (ja) プリントシステム、印刷制御装置、および、プリンタ
JP2001209503A (ja) プリンタおよびプリンタジョブデータの転送方法
JPH0816332A (ja) スキャナプリンタサーバーシステムおよびそのデータ処理方法
JP4323656B2 (ja) データ受信装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071204