(57)【要約】【課題】デバイス装置としてのプリンターの受信蓄積可能な上限を超える印刷対象ファイルを、ホスト装置でピクセルサイズの縮小や圧縮率の再設定等を行なうことなく印刷するホスト装置のプリンタードライバー、プリンターの印刷制御プログラム、印刷システムを提供する。【解決手段】ホスト装置１のコンピューターにより、印刷対象ファイルＦのデータがプリンター２の受信蓄積メモリー２２の記憶容量を超えるか否かを判定し、受信蓄積メモリー２２の記憶容量を超えるときに、プリンター２にオンデマンド送信開始コマンドを送り、オンデマンド送信開始コマンドに応じてプリンター２からデータ要求を受信する毎に、印刷対象ファイルＦのデータをプリンター２の印刷処理単位量のデータに分割した部分データファイルＦ１〜Ｆｎをプリンター２に送信し、受信蓄積メモリー２２にデータを受信蓄積することなく印刷する。【選択図】図９
2010224826.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置のコンピューターを、
前記ホスト装置に接続されたデバイス装置としてのプリンターのデータ要求に基づき、印刷対象ファイルのデータを前記プリンターに送って印刷する際に、前記印刷対象ファイルのデータがプリンターの受信蓄積メモリーの記憶容量を超えるか否かを判定するデータ量判定手段、
前記印刷対象ファイルのデータが前記受信蓄積メモリーの記憶容量を超えるときに、前記プリンターに送るファイル送信開始コマンドを、一括送信開始マンドからオンデマンド送信開始コマンドに切り替える開始コマンド切替手段、
前記オンデマンド送信開始コマンドの送信後の前記プリンターからのデータ要求の受信により、前記印刷対象ファイルのデータを前記プリンターの印刷処理単位量のデータに分割して形成した部分データファイルを前記プリンターに送信するオンデマンド送信制御手段として機能させるためのプリンタードライバー。
【請求項２】
請求項１記載のプリンタードライバーが組み込まれたホスト装置にデバイス装置として接続されるプリンターのコンピューターを、
オンデマンド送信開始コマンドの受信により前記ホスト装置にデータ要求を初期送信し、印刷対象ファイルのデータを印刷処理単位量のデータに分割して前記ホスト装置から送信された部分データファイルのデータを印刷する毎につぎのデータ要求を送信するデータ要求送信制御手段、
データ要求に基づき前記ホスト装置から送信された部分データファイルを受信する毎に、受信した前記部分データファイルのデータの印刷処理を制御する印刷処理制御手段として機能させるための印刷制御プログラム。
【請求項３】
ホスト装置と、該ホスト装置にデバイス装置として接続されたプリンターとを備え、
前記ホスト装置は、
前記プリンターのデータ要求に基づいて印刷対象ファイルのデータを前記プリンターに送って印刷する際に、前記印刷対象ファイルのデータがプリンターの受信蓄積メモリーの記憶容量を超えるか否かを判定するデータ量判定手段と、
前記印刷対象ファイルのデータが前記受信蓄積メモリーの記憶容量を超えるときに、前記プリンターに送るファイル送信開始コマンドを、一括送信開始マンドからオンデマンド送信開始コマンドに切り替える開始コマンド切替手段と、
前記オンデマンド送信開始コマンドの送信後の前記プリンターからのデータ要求の受信により、前記印刷対象ファイルのデータを前記プリンターの印刷処理単位量のデータに分割して形成した部分データファイルを前記プリンターに送信するオンデマンド送信制御手段とを有し、
前記プリンターは、
前記オンデマンド送信開始コマンドの受信により前記ホスト装置に前記データ要求を初期送信し、前記印刷対象ファイルのデータを印刷処理単位量のデータに分割して前記ホスト装置から送信された部分データファイルのデータを印刷する毎につぎの前記データ要求を送信するデータ要求送信制御手段と、
前記データ要求に基づき前記ホスト装置から送信された部分データファイルを受信する毎に、受信した前記部分データファイルのデータの印刷処理を制御する印刷処理制御手段とを有する印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ホスト装置からデバイス装置としてのプリンターに印刷対象ファイルのデータを送って印刷する印刷システムの前記ホスト装置に組み込まれるプリンタードライバー、前記プリンターの印刷制御プログラムおよび印刷システムに関する。
【背景技術】
【０００２】
従来、デジタルカメラのＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）ファイルの画像データをプリンターで印刷する場合、デジタルカメラとプリンターとの間にダイレクトプリントアダプターを設け、デジタルカメラのＪＰＥＧファイルの画像データをダイレクトプリントアダプターによりプリンターの印刷データに変換し、この印刷データをプリンターに送って印刷することが提案されている（例えば、特許文献１（段落００４３、００４８、図１、図２等）参照）。
【０００３】
また、ピクトブリッジ（ＰｉｃｔＢｒｉｄｇｅ）規格を採用してデジタルカメラとプリンターとを例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）で直接接続し、プリンターをホスト装置、デジタルカメラをデバイス装置として、デジタルカメラからプリンターに印刷対象データとしての画像データのＪＰＥＧファイルを送り、受信した画像データをプリンター側で印刷データに変換して印刷することが行なわれている。
【０００４】
さらに、近年の高機能の家庭用ゲーム装置のようなコンピューター構成の情報処理装置においては、この情報処理装置とプリンターとをＵＳＢケーブルで接続して印刷システムを形成し、情報処理装置に組み込まれたプリンタードライバーの所定コマンドの印刷制御に基づき、情情報処理装置をホスト装置、プリンターをデバイス装置として、プリンターのデータ要求に基づき、デジタルカメラの撮影やウェブサイトからのダウンロード等によって得られた情報処理装置のＪＰＥＧファイル（印刷対象ファイル）の画像データ等の印刷対象ファイルの画像データを情報処理装置からプリンターに送り、プリンターにより、受信した印刷対象ファイルの画像データを印刷データに変換して印刷することが行なわれている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３５９３８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前記のようにデバイス装置としてのプリンターのデータ要求に基づき、情報処理装置等のホスト装置からプリンターにＪＰＥＧファイル等の印刷対象ファイルのデータを送ってプリンターで印刷する印刷システムの場合、ホスト装置からプリンターに送ることができる印刷対象ファイルのデータサイズが、プリンターの受信蓄積バッファーの記憶容量（ＲＡＭ容量）で決まり、例えば、３ＭＢ又は５ＭＢ程度（ＭＢはメガバイト）が上限であり、この上限を超えるデータサイズの印刷対象ファイルのデータについては、プリンターで受信して印刷することができない。
【０００７】
一方、例えばデジタルカメラの近年の高解像度化等に伴い、前記印刷対象ファイルのデータサイズは大きくなる傾向にあり、前記上限を容易に超える。
【０００８】
そのため、前記印刷システムにおいては、前記上限を超えるデータサイズの印刷対象ファイルのデータの印刷をどのようにして行なうかが重要な課題となっている。
【０００９】
なお、前記上限を超えるデータサイズの印刷対象ファイルのデータの印刷を可能にするため、データサイズが大きい印刷対象ファイルについては、データサイズが前記上限以下になるように、データのピクセルサイズを縮小したり、圧縮率のパラメーターをより高圧縮率に再設定したりしてプリンターに送信することが考えられるが、この場合は、ピクセルサイズの縮小や圧縮率の再設定を不用意に行なうことで印刷画質が大きく低下するおそれがある。また、ピクセルサイズの縮小や圧縮率の再設定を行なうために、ホスト装置に、大容量のワークバッファーメモリー、具体的には、例えばＡ４サイズの画像データに対して約４０ＭＢものワークバッファーメモリーを備える必要があるが、そのような大容量のワークバッファーメモリーをホスト装置側に確保できない可能性もある。
【００１０】
この発明は、デバイス装置としてのプリンターのデータ要求に基づき、ホスト装置からプリンターに印刷対象ファイルのデータを送って印刷する際、プリンターの受信蓄積可能な上限を超える印刷対象ファイルのデータについても、ピクセルサイズの縮小や圧縮率の再設定を行なうことなく印刷できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るプリンタードライバー（プログラム）は、上記課題に鑑みなされたものであり、ホスト装置のコンピューターを、前記ホスト装置に接続されたデバイス装置としてのプリンターのデータ要求に基づき、印刷対象ファイルのデータを前記ホスト装置から前記プリンターに送って印刷する際に、前記印刷対象ファイルのデータが前記プリンターの受信蓄積メモリーの記憶容量を超えるか否かを判定するデータ量判定手段、前記印刷対象ファイルのデータが前記受信蓄積メモリーの記憶容量を超えるときに、前記プリンターに送るファイル送信開始コマンドを、一括送信開始マンドからオンデマンド送信開始コマンドに切り替える開始コマンド切替手段、前記オンデマンド送信開始コマンドの送信後の前記プリンターからのデータ要求の受信により、前記印刷対象ファイルのデータを前記プリンターの印刷処理単位量のデータに分割して形成した部分データファイルを前記プリンターに送信するオンデマンド送信制御手段として機能させる。
【００１２】
上記のように構成された本発明のプリンタードライバーが組み込まれたホスト装置は、ホスト装置からプリンターに送って印刷する印刷対象ファイルのデータがプリンターの受信蓄積メモリーの記憶容量より大きく、プリンターの受信蓄積可能な上限を超えていると、データ量判定手段の判定に基づき、開始コマンド切替手段により、プリンターに送るファイル送信開始コマンドを、一括送信開始マンドからオンデマンド送信開始コマンドに切り替え、オンデマンド送信開始コマンドを前記プリンターに送る。さらに、オンデマンド送信開始コマンドに応じてプリンターからデータ要求を受信すると、オンデマンド送信制御手段により、印刷対象ファイルのデータをプリンターの印刷処理単位量のデータに分割して形成した部分データファイルをプリンターに送信する。
【００１３】
したがって、プリンターの受信蓄積可能な上限を超えるデータサイズの印刷対象ファイルのデータを印刷する際には、全データをホスト装置からプリンターに一時に送ってプリンターで受信蓄積するのではなく、プリンターのデータ要求にしたがって、印刷対象ファイルのデータをプリンターの印刷処理可能なデータサイズに分割したデータのファイル（部分データファイル）をホスト装置からプリンターに順次に送り、オンデマンドの処理によって部分的なデータの送受信と印刷をくり返して、印刷対象ファイルのデータを印刷することができる。この場合、ホスト装置側で印刷対象ファイルのピクセルサイズの縮小や圧縮率の再設定等を行なう必要がなく、そのための大容量のワークバッファーメモリーをホスト装置側に確保する必要もない。
【００１４】
本発明に係る印刷制御プログラムは、前記プリンタードライバーが組み込まれたホスト装置にデバイス装置として接続されるプリンターのコンピューターを、オンデマンド送信開始コマンドの受信により前記ホスト装置にデータ要求を初期送信し、印刷対象ファイルのデータを印刷処理単位量のデータに分割して前記ホスト装置から送信された部分データファイルのデータを印刷する毎につぎのデータ要求を送信するデータ要求送信制御手段、データ要求に基づき前記ホスト装置から送信された部分データファイルを受信する毎に、受信した前記部分データファイルのデータの印刷処理を制御する印刷処理制御手段として機能させる。
【００１５】
上記のように構成された本発明の印刷制御プログラムが組み込まれたプリンターは、ホスト装置からのオンデマンド送信開始コマンドを受信すると、データ要求送信制御手段によりホスト装置にデータ要求を初期送信する。そして、データ要求に基づき、印刷対象ファイルのデータを印刷処理単位量のデータに分割してホスト装置から送信された部分データファイルを受信する毎に、受信した部分データファイルのデータを印刷処理制御手段の制御により印刷処理し、データ要求送信制御手段によりつぎのデータ要求を送信して受信したつぎの部分データファイルのデータを同様に印刷処理する。
【００１６】
したがって、プリンターの受信蓄積可能な上限を超えるデータサイズの印刷対象ファイルのデータを印刷する際、いわゆるオンデマンドの処理により、データ要求にしたがってホスト装置から送られてくる部分データファイルのデータを逐次印刷して印刷対象ファイルのデータを印刷することができる。
【００１７】
本発明に係る印刷システムは、ホスト装置と、該ホスト装置にデバイス装置として接続されたプリンターとを備え、前記ホスト装置は、前記プリンターのデータ要求に基づいて印刷対象ファイルのデータを前記プリンターに送って印刷する際に、前記印刷対象ファイルのデータが前記プリンターの受信蓄積メモリーの記憶容量を超えるか否かを判定するデータ量判定手段と、前記印刷対象ファイルのデータが前記受信蓄積メモリーの記憶容量を超えるときに、前記プリンターに送るファイル送信開始コマンドを、一括送信開始マンドからオンデマンド送信開始コマンドに切り替える開始コマンド切替手段と、前記オンデマンド送信開始コマンドの送信後の前記プリンターからのデータ要求の受信により、前記印刷対象ファイルのデータを前記プリンターの印刷処理単位量のデータに分割して形成した部分データファイルを前記プリンターに送信するオンデマンド送信制御手段とを有し、前記プリンターは、前記オンデマンド送信開始コマンドの受信により前記ホスト装置に前記データ要求を初期送信し、前記印刷対象ファイルのデータを印刷処理単位量のデータに分割して前記ホスト装置から送信された部分データファイルのデータを印刷する毎につぎの前記データ要求を送信するデータ要求送信制御手段と、前記データ要求に基づき前記ホスト装置から送信された部分データファイルを受信する毎に、受信した前記部分データファイルのデータの印刷処理を制御する印刷処理制御手段とを有する。
【００１８】
上記のように構成された本発明の印刷システムは、ホスト装置からプリンターに送る印刷対象ファイルのデータがプリンターの受信蓄積メモリーの記憶容量を超えていると、ホスト装置側においては、データ量判定手段の判定に基づき、開始コマンド切替手段により、プリンターに送るファイル送信開始コマンドを、一括送信開始マンドからオンデマンド送信開始コマンドに切り替え、オンデマンド送信開始コマンドを前記プリンターに送る。さらに、オンデマンド送信開始コマンドの送信後にプリンターからデータ要求を受信すると、オンデマンド送信制御手段により、印刷対象ファイルのデータをプリンターの印刷処理単位量のデータに分割して形成した部分データファイルをプリンターに送信する。また、プリンター側においては、ホスト装置からのオンデマンド送信開始コマンドを受信すると、データ要求送信制御手段によりホスト装置にデータ要求を初期送信する。そして、データ要求に基づきホスト装置から送信された部分データファイルをプリンターが受信する毎に、プリンターの印刷処理制御手段により、受信した部分データファイルのデータを印刷処理し、部分データファイルのデータを印刷する毎に、プリンターのデータ要求送信制御手段により、つぎのデータ要求をホスト装置に送信し、つぎに受信した部分データファイルのデータを同様に印刷処理することができる。
【００１９】
したがって、プリンターの受信蓄積可能な上限を超えるデータサイズの印刷対象ファイルのデータを印刷する際、プリンターからホスト装置に送信されるデータ要求に基づき、ホスト装置より印刷対象ファイルのデータを分割した部分的データファイルのデータをプリンターで逐次印刷し、ホスト装置側で印刷対象ファイルのピクセルサイズの縮小や圧縮率の再設定等を行なうことなく、また、プリンター側で受信したデータを蓄積保持することなく、いわゆるオンデマンドの部分的なデータの送受信と印刷処理のくり返しで印刷対象ファイルのデータを印刷することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態の印刷システムのブロック図。
【図２】図１のプリンターの制御構造の説明図。
【図３】図１のホスト装置の処理のフローチャート。
【図４】図１のプリンターの処理のフローチャート。
【図５】図１のプリンターの処理の一部のさらに詳細なフローチャート。
【図６】図１のプリンターの処理の他の一部のさらに詳細なフローチャート。
【図７】図１のプリンターの処理のさらに他の一部の詳細なフローチャート。
【図８】図１のプリンターのデータ要求の応答処理のフローチャート。
【図９】図１のホスト装置とプリンターの処理および通信の関連を示すフローチャート。
【発明を実施するための形態】
【００２１】
図１はこの発明の一実施形態の印刷システムの構成を示し、ホスト装置１は例えばマイクロコンピューター機器の情報処理装置からなる。プリンター２は例えばインクジェットプリンターからなる。そして、ホスト装置１のＵＳＢ端子１１とプリンター２のＵＳＢ端子２１とは、ＵＳＢケーブル３で有線接続されている。なお、ワイヤレスＵＳＢ（ＷＵＳＢ）の場合は両ＵＳＢ端子１１、２１が無線接続される。また、ホスト装置１とプリンター２との接続は、ＵＳＢ以外の通信インターフェース規格にしたがったものであってもよい。
【００２２】
ホスト装置１は、半導体メモリーやハードディスク装置により形成されるデータ保持部１２にデジタルカメラの撮影画像等の１又は複数のＪＰＥＧファイルＦを保持し、マイクロコンピューター構成のホスト側制御部１３および、ＵＳＢ端子１１を含む通信部１４を有する。
【００２３】
ホスト側制御部１３は図示省略したＲＯＭ又はＲＡＭに、ホスト装置１に組み込まれた本発明のプリンタードライバー（プログラム）を保持し、ＪＰＥＧファイルＦのデータをプリンター２で印刷する際には、前記プリンタードライバーにより、ホスト側制御部１３がデータ量判定手段、開始コマンド切替手段、オンデマンド送信制御手段として機能する。
【００２４】
データ量判定手段は、印刷対象ファイルＦのフレームヘッダー等に記述されているデータサイズと、プリンター２から受信したプリンター２の受信蓄積メモリー２２の記憶容量（例えば、３ＭＢ又は５ＭＢ）とを比較し、印刷対象ファイルＦのデータが受信蓄積メモリー２２の記憶容量を超えているか否かを判定する。
【００２５】
開始コマンド切替手段は、印刷対象ファイルＦのデータが受信蓄積メモリー２２の記憶容量を超えるときに、データを送信する前にプリンター２に送るファイル送信開始コマンドを、一括送信開始マンド（通常モードの送信開始コマンド）からオンデマンド送信開始コマンド（オンデマンドモードの送信開始コマンド）に切り替える。なお、プリンター２は所定のプリンター制御コマンド（具体的には、ＥＳＣ／Ｐのコマンド）により動作し、前記の一括送信開始マンドやオンデマンド送信開始コマンドは、それぞれ前記プリンター制御コマンドの１つである。
【００２６】
オンデマンド送信制御手段は、印刷対象ファイルＦのデータが受信蓄積メモリー２２の記憶容量を超える場合、オンデマンド送信開始コマンドの送信後のプリンター２からのデータ要求の受信により、印刷対象ファイルＦのデータをプリンター２の印刷処理単位量のデータに分割して形成したＪＰＥＧの部分データファイルＦ１、Ｆ２、…、Ｆｎ−１、Ｆｎを、通信部１４のＵＳＢ端子１１からプリンター２に送信する。なお、プリンター２の印刷処理単位量のデータは、プリンター２の印刷ヘッドのノズル数等で定まる一定のバンド量のデータ（数十ピクセル程度の高さの印刷に必要な量のデータ）であり、そのデータサイズは予め設定されている。
【００２７】
プリンター２は、従来のデジタルカメラの撮影画像のピクトブリッジ印刷機能およびメモリーカードの印刷機能を有するとともに、本発明の印刷制御プログラムの印刷機能（以下、この印刷機能を本発明印刷機能という）を備える。この本発明刷機能を備えるため、プリンター２はＵＳＢ端子２１を含む通信部２３、受信蓄積メモリー２２、プリンター側制御部（印刷ジョブ生成部）２４、印刷部２５を有し、ホスト装置１に対してデバイス装置として動作する。
【００２８】
受信蓄積メモリー２２は例えば３ＭＢ又は５ＭＢのＲＡＭからなり、前記一括送信開始マンドに基づくプリンター２のデータ要求に応じてホスト装置１からＵＳＢ端子２１を通って通信部２３に一度に送られてきた記憶容量（３ＭＢ又は５ＭＢ）以下のＪＰＥＧファイル等のデータを保持する。
【００２９】
マイクロコンピューター構成のプリンター側制御部（印刷ジョブ生成部）２４は、図示要略したＲＯＭ又はＲＡＭに、プリンター２に組み込まれた本発明の印刷制御プログラムおよび、従来のピクトブリッジ印刷制御プログラム、メモリーカード印刷制御プログラム等を保持し、本発明の印刷制御プログラムにより、つぎのデータ要求送信制御手段、印刷処理制御手段として機能する。
【００３０】
データ要求送信制御手段は、ホスト装置１からのオンデマンド送信開始コマンドを通信部２３を介して受信すると、ホスト装置１に印刷コマンドの１つであるデータ要求をＵＳＢ端子２１からホスト装置１に初期送信し、ホスト装置１からプリンター２のＵＳＢ端子２１に送信された部分データファイルＦ１〜Ｆｎのデータを印刷部２５に送って印刷する毎に、つぎのデータ要求をＵＳＢ端子２１からホスト装置１に送信する。
【００３１】
印刷処理制御手段は、データ要求に基づきホスト装置１から送信された部分データファイルＦ１〜Ｆｎを受信する毎に、受信した部分データファイルＦ１〜Ｆｎのデータを印刷部２５に送り、印刷部２の印刷ヘッドおよび給排紙給機構を制御して部分データファイルＦ１〜Ｆｎのデータを用紙に印刷する。
【００３２】
そして、上記した各制御プログラムに基づき、プリンター２の印刷処理の制御は、概ね図２に示す階層的な構造で表すことができる。図２において、２００はホスト装置１に対してプリンター２がデバイス装置として動作する際にホスト装置１が形成するＵＳＢホスト装置に接続されるＵＳＢデバイス層、２０１はＵＳＢデバイス層２００の上層のオンデマンド印刷制御プロトコルの通信制御層であり、部分印刷ファイルＦ１〜Ｆｎのデータを受け取る。２０２は一括転送印刷制御プロトコルの通信制御層であり、ホスト装置１から一括送信された印刷対象ファイルのデータを受け取る。２０３は通信制御層２０１、２０２の上層のファイルシステム層であり、印刷対象ファイルＦ、部分印刷ファイルＦ１〜Ｆｎ等のファイルの取り扱いを制御する。２０４はファイルシステム層２０３の上層の印刷データ生成層であり、印刷対象ファイルＦや部分印刷ファイルＦ１〜Ｆｎのデータから印刷部２５の印刷データを生成する。２０５はファイルシステム層２０３の上層のスタンドアローン印刷制御層、２０６は印刷部２５を制御して印刷を実行する最上層としての印刷エンジン層である。４はピクトブリッジ印刷の際にＵＳＢホスト装置としてのプリンター２に接続されるＵＳＢデバイス装置としてのデジタルカメラ、２０７はデジタルカメラ４が接続されるＵＳＢホスト層、２０８、２０９、２１０はＵＳＢホスト層２０７の上層のＳＩＣ（ＵＳＢスティルイメージクラス）、ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＤＳＰ（Ｄｉｓｐｌａｙ  ＰｏｓｔＳｃｒｉｐｔ）の各通信制御層であり、通信制御層２１０の上層はファイルシステム層２０３およびＤＳＰファンクション層２１１であり、ＤＳＰファンクション層２１１の上層はスタンドアローン印刷制御層２１２である。さらに、ファイルシステム層２０３の下層にはコンパクトフラッシュ（登録商標）やＳＤカードなどのメモリーカードの制御層２１３、受信蓄積メモリー２２の制御層２１４があり、制御層２１３、２１４により、メモリーカード（図示せず）、受信蓄積メモリー２２のデータの読み出し、書き込みが制御される。
【００３３】
そして、受信蓄積メモリー２２は、ピクトブリッジ印刷、メモリーカード印刷を含む全ての印刷において、データの一時保管場所として共用される。例えばピクトブリッジ印刷、メモリーカード印刷においては、ＪＰＥＧファイルの横長の画像データを印刷する場合、画像を９０度回転して用紙に印刷するため、ＪＰＥＧファイルの読み出しアクセス順序を書き込みアクセス順序（記録順序）と異ならせる必要があるが、物理的なデバイスであるデジタルカメラ４やメモリーカード２１２のデバイス装置側でそのようなファイルアクセスの変更を行なうと、処理速度の低下を招く。そのため、ピクトブリッジ印刷、メモリーカード印刷においては、ホスト装置側となるプリンター２により、受信したＪＰＥＧファイルの画像データを受信蓄積メモリー２２に一時的に保存し、読み出しのファイルアクセスを書き込みのファイルアクセスと異ならせて受信蓄積メモリー２２から９０度回転した画像の画像データを読み出して印刷し、処理の高速化を実現する。一方、本発明印刷機能の印刷においては、受信蓄積メモリー２２は、一括送信開始マンドに基づくプリンター２のデータ要求に応じてホスト装置１から一度に送られてきたＪＰＥＧファイルのデータを一時的に保持するために用いられる。なお、受信蓄積メモリー２２の記憶容量を超えるデータサイズのＪＰＥＧファイルについては、受信蓄積メモリー２２には受信蓄積できないため、部分ファイルＦ１〜Ｆｎに分割し、受信蓄積メモリー２２を使用することなくオンデマンドで印刷する。
【００３４】
つぎに、印刷対象ファイルが画像のＪＰＥＧファイルであるとして、ホスト装置１およびプリンター２の処理手順を説明する。
【００３５】
図３はホスト装置１の処理のフローチャートであり、ホスト装置１は、まず、プリンター２から用紙サイズ、用紙種類などの印刷パラメーター設定一覧情報と、受信蓄積メモリー２２の記憶容量（ＪＰＥＧ画像保存ＲＡＭ領域のサイズ）の情報を取得するとともに、ユーザーインターフェースを通して表示画面に選択対象の画像および、用紙サイズ、用紙種類などの印刷設定メニューを表示する（ステップＡ１）。そして、ユーザーの画像選択および、用紙サイズ、用紙種類などの印刷バラメータ設定を受け付け、印刷対象のＪＰＥＧファイルおよびその印刷パラメーターを決定する（ステップＡ２）。そして、プリンター２に印刷パラメーターの情報を送信する（ステップＡ３）。つぎに、印刷対象のＪＰＥＧファイルのデータサイズが前記ＪＰＥＧ画像保存ＲＡＭ領域のサイズを超えているか否かを判断する（ステップＡ４）。そして、超えていなければ、ステップＡ４を否定（ＮＯ）で通過してファイル一括送信開始コマンドを送信し（ステップＡ５）、プリンター２からのデータ要求を受信して印刷対象のＪＰＥＧファイルの全データを一度に送信し（ステップＡ６）、処理を終了する。一方、超えていると、ステップＡ４を肯定（ＹＥＳ）で通過し、送信開始コマンドをオンデマンド送信開始コマンドに切り替えてオンデマンド送信開始コマンドを送信し（ステップＡ７）、さらに、画像サイズ、画像ハンドルを送信する（ステップＡ８）。そして、例えば１００ｍｓの応答時間待機した後（ステップＡ９）、データ要求のステータスをプリンター２にポーリングして問い合わせる（ステップＡ１０）。このとき、受信したデータ要求コマンドが「要求なし」であればステップＡ１１をＹＥＳで通過してステップＡ７に戻る。データ要求コマンドが「データ要求」であればステップＡ１１をＮＯ、ステップＡ１２をＹＥＳで通過し、要求された開始位置、データサイズにしたがって印刷対象のＪＰＥＧファイルのデータを分割した部分データファイル（ＪＰＥＧファイル）のデータを送信してステップＡ９に戻り（ステップＡ１３）、「データ要求中」のデータ要求コマンドを受信する毎に部分データファイルのデータを逐次送信する。全ての部分データファイルのデータを送信すると、データ要求コマンドが「データ要求完了」になり、ステップＡ１２をＮＯで通過し、ステップＡ１４をＹＥＳで通過して処理を終了する。
【００３６】
図４はプリンター２の処理のフローチャートであり、プリンター２は、まず、前記の印刷バラメータ設定一覧情報と、ＪＰＥＧ画像保存ＲＡＭ領域のサイズの情報の要求コマンドを受信して（ステップＢ１）、ホスト装置１にそれらの情報を送信後（ステップＢ２）、ホスト装置１から印刷パラメーター情報、データ送信開始コマンド(一括送信開始コマンド又はオンデマンド送信開始コマンド)を受信する（ステップＢ３、Ｂ４）。そして、一括送信開始コマンドを受信したときは、「データ要求」のデータ要求の送信に基づいて一度に受信したＪＰＥＧファイルの全データを受信蓄積メモリー２２に保存し（ステップＢ６）、ステップＢ７のファイルオープン処理を実行する。この処理においては図５に示すように、ファイルの所在（ドライブ）を確認し（ステップＢ７１）、メモリーカード（図示せず）等のファイルについては、ステップＢ７１をＮＯで通過して対応する既存処理を実行し（ステップＢ７２）、ファイルハンドルを返して終了する（ステップＢ７３）。一方、ホスト装置１のファイルの場合はステップＢ７１をＹＥＳで通過し、データ要求を「要求なし」にセットし（ステップＢ７４）、受信したファイルにファイルハンドルを割り当て（ステップＢ７５）、ステップＢ７３でそのファイルハンドルを返して終了する。また、オンデマンド送信開始コマンドを受信したときは、「データ要求」のデータ要求の送信により部分データファイルのデータを受信する毎に、蓄積メモリー２２に保存することなく前記と同様のファイルオープン処理を実行する（ステップＢ８）。
【００３７】
つぎに、ステップＢ７又はステップＢ８のファイルハンドルで指定されるファイルに対してステップＢ９〜Ｂ１４の印刷データ作成のループ処理を実行し、全ての印刷データを作成して印刷が終了すると、ファイルクローズの処理（ステップＢ１５）を実行して終了する。なお、ステップＢ９は印刷処理ループの始端、ステップＢ１０は印刷部２５に送るバンドデータ（印刷処理単位量のデータ）の矩形領域（高さは通常数十ビクセル）を決定する処理、ステップＢ１１はＪＰＥＧファイルの部分解凍（デコード）処理であり、ステップＢ１０で求めた矩形領域を抽出するために必要なファイル内のデータ位置（開始位置と長さ）を求める。ステップＢ１２はファイルリード処理であり、ファイルハンドルおよびファイル先頭からの位置（何バイト目）、読み込む長さ（バイト数）の引数を求める。ステップＢ１３は前記引数に基づき受信したＪＰＥＧデータを部分解凍し、バンドデータ（印刷データ）を作成して印刷部２５に送り印刷する。ステップＢ１４は印刷処理ループの終端である。また、ステップＢ１２のファイルリード処理は、図６に示すステップＢ１２１〜Ｂ１２３からなり、ファイルハンドルに基づきファイルがホスト装置１のものか否かを判断し（ステップＢ１４１）、ホスト装置１以外のファイルであれば、対応する既存のファイルリード処理を実行し（ステップＢ１２２）、ホスト装置１のファイルであれば、データ要求のステータスを「データ要求」にセットし、パラメーターに先頭からの位置と長さをセットし、要求したデータの受信を待ち（ステップＢ１２３）、受信したデータを返す（ステップＢ１２４）。また、ステップＢ１５のファイルクローズ処理は、図７に示すステップＢ１５１〜Ｂ１５３からなり、ファイルハンドルに基づきファイルがホスト装置１のものか否かを判断し（ステップＢ１５１）、ホスト装置１以外のファイルであれば、対応する既存のファイルクローズ処理を実行し（ステップＢ１５２）、ホスト装置１のファイルであれば、データ要求のステータスを「要求完了」にセットする。
【００３８】
図８はプリンター２のデータ要求の応答処理を示し、ホスト装置１からのポーリングの問い合わせに基づき、現在のデータ要求のステータスを判定する（ステップＣ１）。受信したデータの印刷中等には「要求なし」をホスト装置１に返信する（ステップＣ２）。データを要求するときは「データ要求」及び開始位置と長さを返信し（ステップＣ３）、ホスト装置１から長さ分のデータを受信し、データの一括送信であれば受信データを受信蓄積メモリー２２に保持し（ステップＣ４）、一括送信、オンデマンド送信のいずれであっても、データの受信を完了すると、ステータスを「要求なし」にセットする（ステップＣ５）。データの要求が完了すると、ホスト装置１に「要求完了」を返信する（ステップＣ６）。
【００３９】
したがって、本実施形態の場合、印刷対象ファイルのデータがプリンター２の受信蓄積メモリー２２の記憶容量を超えるデータサイズのＪＰＥＧファイルのデータであれば、プリンター２が印刷可能な単位量ずつに分割したデータの部分データファイルを、ホスト装置１からプリンター２に送り、すべてのデータを受信蓄積メモリー２２に受信蓄積することなく印刷することができる。図９はその際のホスト装置１とプリンター２の処理および通信の関係を概念的に示し、ホスト装置１において、画面表示された画像の選択操作等により印刷対象のＪＰＥＧファイルの画像データが選択され、画面表示された印刷メニューの印刷条件の設定操作等により選択された画像の各種のパラメーター（印刷パラメーター）が設定されると（ステップＤ１）、ホスト装置１はプリンター２に選択された画像の印刷パラメーターを渡す（ステップＤ２）。つぎに、オンデマンド送信開始コマンドに基づくデータ要求のポーリングにより、ホスト装置１はデータ要求を受信して選択された画像のＪＰＥＧファイルＦの部分データファイルＦ１〜Ｆｎをプリンター２に順次に送る（ステップＤ３）。プリンター２は部分データファイルＦ１〜Ｆｎのデータを受信すると（ステップＤ４）、受信する毎に部分データファイルのデータを印刷部２５で逐次印刷し（ステップＤ５）、印刷が終了すると、印刷終了をプリンター２からホスト装置１に通知して処理を終了する（ステップＤ６、Ｄ７）。なお、図９の太線が通信を示す。
【００４０】
そして、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行なうことが可能である。例えば、印刷対象ファイルのデータはＪＰＥＧファイルのデータに限るものではなく、種々のデータ形式の画像ファイルデータであってよいのは勿論である。また、ホスト装置１は種々のコンピューター機器であってよく、プリンター２はインクジェットプリンター以外のプリンターであってもよい。さらに、ホスト装置１、プリンター２の構成や処理手順等が前記実施形態と異なっていてもよいのは勿論である。
【００４１】
そして、この発明は、ホスト装置にデバイス装置としてのプリンターを接続した構成の種々の印刷システムおよび、そのホスト装置のプリンタードライバー、プリンターの印刷プログラムに提供することができる。
【符号の説明】
【００４２】
１…ホスト装置、２…プリンター、２２…受信蓄積メモリー、Ｆ…印刷対象ファイル、Ｆ１〜Ｆｎ…部分データファイル
【図１】
2010224826.tif 000003
【図２】
2010224826.tif 000004
【図３】
2010224826.tif 000005
【図４】
2010224826.tif 000006
【図５】
2010224826.tif 000007
【図６】
2010224826.tif 000008
【図７】
2010224826.tif 000009
【図８】
2010224826.tif 000010
【図９】
2010224826.tif 000011