(57)【要約】【課題】　本発明の課題は、ホスト装置が従来のようなプリンタドライバを必要とすることなく、ホスト装置上のドキュメントデータをプリンタに印刷させることができるようにすることである。【解決手段】　本発明は、ホスト装置から送られる印刷設定に関する問い合わせ情報を受け取り、前記受け取った問い合わせ情報に対して、自身の固有情報に基づく回答情報を前記ホスト装置に送り、前記回答情報に基づいて前記ホスト装置から送られる印刷設定情報を受け取り、前記受け取った印刷設定情報に従って、前記ホスト装置に印刷対象データを要求し、前記要求に従って前記ホスト装置から送られる印刷対象データを受け取り、前記受け取った印刷対象データに基づいて印刷を行うことを特徴とするプリンタである。【選択図】　図１　
2004005730.tif 000002
【特許請求の範囲】
【請求項１】
　ホスト装置から送られる印刷設定情報を受け取り、
　前記印刷設定情報に基づいて印刷対象データを前記ホスト装置に要求し、
　前記要求に従って前記ホスト装置から送られる印刷対象データを受け取り、
　前記印刷設定情報に基づいて前記印刷対象データに基づく印刷を行うことを特徴とするプリンタ。
【請求項２】
　ホスト装置から送られる印刷設定に関する問い合わせ情報を受け取り、
　前記受け取った問い合わせ情報に対して、自身の固有情報に基づく回答情報を前記ホスト装置に送り、
　前記回答情報に基づいて前記ホスト装置から送られる印刷設定情報を受け取り、
　前記印刷設定情報に基づいて前記ホスト装置に印刷対象データを要求し、
　前記要求に従って前記ホスト装置から送られる印刷対象データを受け取り、
　前記印刷設定情報に基づいて前記印刷対象データに基づく印刷を行うことを特徴とするプリンタ。
【請求項３】
　ホスト装置から送られる印刷設定情報を受け付ける第１の受付手段と、
　前記第１の受付手段によって受け付けた印刷設定情報に基づいて印刷対象データを前記ホスト装置に要求する要求手段と、
　前記要求手段による要求に従って前記ホスト装置から送られる印刷対象データを受け付ける第２の受付手段と、
　前記第１の受付手段で受け付けた印刷設定情報に基づいて前記印刷対象データに基づくビットマップデータを生成する生成手段と、
　前記生成手段によって生成されたビットマップデータを記憶する記憶手段と、
　前記記憶手段によって記憶されたビットマップデータに基づいて印刷記録媒体に対して印刷を実行する印刷手段と、
を備えたことを特徴とするプリンタ。
【請求項４】
　前記要求手段は、
　前記印刷設定情報が複数の印刷対象データに基づく印刷を指定する場合、前記複数の印刷対象データをそれぞれ要求することを特徴とする請求項３記載のプリンタ。
【請求項５】
　前記要求手段は、
　前記印刷設定情報に基づいて所定の順序で印刷対象データを特定し、前記特定した印刷対象データを要求することを特徴とする請求項４記載のプリンタ。
【請求項６】
　ホスト装置から送られるコマンドデータを解釈し、前記解釈結果に応じて所定の処理を行う処理手段と、
　ビットマップデータを記憶する記憶手段と、
　前記記憶手段に記憶されたビットマップデータに基づいて印刷記録媒体に対して印刷を実行する印刷手段とを備え、
　前記処理手段は、
　印刷設定に関するコマンドデータに基づく印刷設定情報で指定された印刷対象データを前記ホスト装置に要求する要求手段と、
　前記印刷設定情報に基づいて、データ送信に関するコマンドデータから得られる印刷対象データに基づくビットマップデータを生成し、前記記憶手段に記憶させる生成手段と、
を備えたことを特徴とするプリンタ。
【請求項７】
　プリンタに所定の機能を実現させるプログラムを記録した記録媒体であって、前記プログラムは、
　ホスト装置から送られるコマンドデータを解釈し、その解釈結果に応じて所定の処理を行う処理手段を備え、
　前記処理手段は、
　印刷設定に関するコマンドデータに基づく印刷設定情報で指定された印刷対象データを前記ホスト装置に要求する要求手段と、
　データ送信に関するコマンドデータに基づいて得られる印刷対象データおよび前記印刷設定情報に基づいてビットマップデータを生成し、所定のメモリに記憶させる生成手段と、
を備えたことを特徴とするプログラムを記録した記録媒体。
【請求項８】
　印刷設定情報をプリンタに送り、
　前記印刷設定情報に基づいて前記プリンタから送られる印刷対象データの要求に従って前記プリンタに前記印刷対象データを送ることを特徴とするホスト装置。
【請求項９】
　特定のプリンタで印刷するために必要なプリンタの固有情報を、前記特定のプリンタから取得し、
　前記取得した固有情報に基づいて印刷設定情報を作成し、
　前記作成した印刷設定情報を前記特定のプリンタに送ることを特徴とするホスト装置。
【請求項１０】
　ホスト装置に所定の機能を実現させるプログラムを記録した記録媒体であって、前記プログラムは、
　所定のコマンドデータをプリンタに出力するとともに、前記プリンタから送られる所定のコマンドデータを受け取って、前記受け取った所定のコマンドデータを解釈し、その解釈結果に応じて所定の処理を行う処理手段を備え、
　前記処理手段は、
　印刷設定に関するコマンドデータを出力する設定要求手段と、
　前記プリンタから送られるデータ要求に関するコマンドデータに基づいて、所定の記憶装置に記憶された印刷対象データを読み出して、前記印刷対象データに基づくデータ送信に関するコマンドデータを出力するデータ出力手段と、
を備えたことを特徴とするプログラムを記録した記録媒体。
【請求項１１】
　ホスト装置とプリンタとを備えたプリントシステムであって、
　前記ホスト装置は、印刷設定情報を前記プリンタに送り、
　前記プリンタは、前記ホスト装置から送られる印刷設定情報を受け取って、前記印刷設定情報で指定された印刷対象データを前記ホスト装置に要求し、
　前記ホスト装置は、前記プリンタから送られる前記要求に従って前記プリンタに前記印刷対象データを送り、
　前記プリンタは、前記ホスト装置から送られる印刷対象データを受け取り、前記印刷設定情報および前記印刷対象データに基づいて印刷を行うことを特徴とすることを特徴とするプリントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、プリンタの技術に関する。また、本発明は、ホスト装置とプリンタとの間の通信で用いられる特定のコマンド体系に基づく処理制御の技術に関する。
【背景技術】
【０００２】
　パーソナルコンピュータに代表されるホスト装置がアプリケーションデータをプリンタに印刷させるためには、ホスト装置は、プリンタごとに用意されたプリンタドライバ（プリンタ制御用プログラム）を必要とする。プリンタドライバは、アプリケーションプログラムからアプリケーションデータを受け取ると、プリンタ固有のプリントジョブデータに変換して、そのプリンタに対して出力する。プリンタは、このプリントジョブデータを受け取ると、これを解釈してラスタ形式のビットマップデータを生成し、印刷用紙に対するプリントを実現する。
【０００３】
　また、典型的な情報処理システムでは、ホスト装置を中心にしてその周囲に、プリンタやスキャナ、デジタルカメラなどの電子機器が配置される。電子機器ごとの固有のドライバ（デバイスドライバ）が組み込まれたホスト装置は、これら電子機器との間で情報を仲介する。例えば、デジタルカメラに記憶されたイメージデータの印刷に際しては、ホスト装置は、このデジタルカメラに記憶されたイメージデータを、一旦、アプリケーションプログラムに読み込んで、このアプリケーションプログラムからプリンタドライバを介してプリントジョブデータに変換してプリンタに出力する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
　プリンタドライバのプログラムサイズは、通常、数百KByte以上である。従って、プロセッサの性能に優れ、メモリ容量の豊富なコンピュータなどのホスト装置では、プリンタドライバを組み込むことについて何ら問題はない。しかしながら、例えば、デジタルカメラのような小型の電子機器では、プリンタドライバを組み込むことは、ハードウェア上の制約などにより困難である。
【０００５】
　そこで、本発明は、ホスト装置が従来のようなプリンタドライバを必要とすることなく、ホスト装置上のドキュメントデータをプリンタに印刷させることができるようにすることを目的とする。
【０００６】
　また、本発明は、特定のコマンド体系に基づくホスト装置とプリンタとの間の新たな通信プロトコルを提供することを目的とする。
【課題を解決するための手段】
【０００７】
　上記課題を解決するために、本発明は以下のように特定される。
【０００８】
　すなわち、本発明は、ホスト装置から送られる印刷設定情報を受け取り、前記印刷設定情報に基づいて印刷対象データを前記ホスト装置に要求し、前記要求に従って前記ホスト装置から送られる印刷対象データを受け取り、前記印刷設定情報に基づいて前記印刷対象データに基づく印刷を行うことを特徴とするプリンタおよび印刷制御方法である。
【０００９】
　また、本発明は、ホスト装置から送られる印刷設定に関する問い合わせ情報を受け取り、前記受け取った問い合わせ情報に対して、自身の固有情報に基づく回答情報を前記ホスト装置に送り、前記回答情報に基づいて前記ホスト装置から送られる印刷設定情報を受け取り、前記印刷設定情報に基づいて前記ホスト装置に印刷対象データを要求し、前記要求に従って前記ホスト装置から送られる印刷対象データを受け取り、前記印刷設定情報に基づいて前記印刷対象データに基づく印刷を行うことを特徴とするプリンタおよび印刷制御方法である。
【００１０】
　また、本発明は、ホスト装置から送られる第１の印刷設定情報から自身の固有情報に基づいて第２の印刷設定情報を作成し、前記第２の印刷設定情報に基づいて前記ホスト装置から送られる印刷対象データに基づく印刷を行うことを特徴とするプリンタおよび印刷制御方法である。
【００１１】
　さらにまた、本発明は、ホスト装置から送られる印刷設定情報を受け付ける第１の受付手段と、前記第１の受付手段によって受け付けた印刷設定情報に基づいて印刷対象データを前記ホスト装置に要求する要求手段と、前記要求手段による要求に従って前記ホスト装置から送られる印刷対象データを受け付ける第２の受付手段と、前記第１の受付手段で受け付けた印刷設定情報に基づいて前記印刷対象データに基づくビットマップデータを生成する生成手段と、前記生成手段によって生成されたビットマップデータを記憶する記憶手段と、前記記憶手段によって記憶されたビットマップデータに基づいて印刷記録媒体に対して印刷を実行する印刷手段と、を備えたことを特徴とするプリンタとしても把握することができる。
ここで、前記要求手段は、前記印刷設定情報が複数の印刷対象データに基づく印刷を指定する場合、前記複数の印刷対象データをそれぞれ要求することを特徴とする。
【００１２】
　また、前記要求手段は、前記印刷設定情報に基づいて所定の順序で印刷対象データを特定し、前記特定した印刷対象データを要求することを特徴とする。
【００１３】
　さらに、本発明は、ホスト装置から送られるコマンドデータを解釈し、前記解釈結果に応じて所定の処理を行う処理手段と、ビットマップデータを記憶する記憶手段と、前記記憶手段に記憶されたビットマップデータに基づいて印刷記録媒体に対して印刷を実行する印刷手段とを備え、前記処理手段が、印刷設定に関するコマンドデータに基づく印刷設定情報で指定された印刷対象データを前記ホスト装置に要求する要求手段と、前記印刷設定情報に基づいて、データ送信に関するコマンドデータから得られる印刷対象データに基づくビットマップデータを生成し、前記記憶手段に記憶させる生成手段と、を備えたことを特徴とするプリンタである。
【００１４】
　また、本発明は、プログラム製品またはプログラムを記録した記録媒体としても成立する。具体的には、本発明は、プリンタに所定の機能を実現させるプログラムを記録した記録媒体であって、前記プログラムは、ホスト装置から送られるコマンドデータを解釈し、その解釈結果に応じて所定の処理を行う処理手段を備え、前記処理手段は、印刷設定に関するコマンドデータに基づく印刷設定情報で指定された印刷対象データを前記ホスト装置に要求する要求手段と、データ送信に関するコマンドデータに基づいて得られる印刷対象データおよび前記印刷設定情報に基づいてビットマップデータを生成し、所定のメモリに記憶させる生成手段と、を備えたことを特徴とするプログラムを記録した記録媒体である。
【００１５】
　また、本発明は、印刷設定情報をプリンタに送り、前記印刷設定情報に基づいて前記プリンタから送られる印刷対象データの要求に従って前記プリンタに前記印刷対象データを送ることを特徴とするホスト装置である。
【００１６】
　さらに、特定のプリンタで印刷するために必要なプリンタの固有情報を、前記特定のプリンタから取得し、前記取得した固有情報に基づいて印刷設定情報を作成し、前記作成した印刷設定情報を前記特定のプリンタに送ることを特徴とするホスト装置である。
【００１７】
　また、本発明は、ホスト装置に所定の機能を実現させるプログラムを記録した記録媒体であって、前記プログラムは、所定のコマンドデータをプリンタに出力するとともに、前記プリンタから送られる所定のコマンドデータを受け取って、前記受け取った所定のコマンドデータを解釈し、その解釈結果に応じて所定の処理を行う処理手段を備え、前記処理手段は、印刷設定に関するコマンドデータを出力する設定要求手段と、前記プリンタから送られるデータ要求に関するコマンドデータに基づいて、所定の記憶装置に記憶された印刷対象データを読み出して、前記印刷対象データに基づくデータ送信に関するコマンドデータを出力するデータ出力手段と、を備えたことを特徴とするプログラムを記録した記録媒体である。
【００１８】
　さらにまた、本発明は、ホスト装置とプリンタとを備えたプリントシステムであって、前記ホスト装置は、印刷設定情報を前記プリンタに送り、前記プリンタは、前記ホスト装置から送られる印刷設定情報を受け取って、前記印刷設定情報で指定された印刷対象データを前記ホスト装置に要求し、前記ホスト装置は、前記プリンタから送られる前記要求に従って前記プリンタに前記印刷対象データを送り、前記プリンタは、前記ホスト装置から送られる印刷対象データを受け取り、前記印刷設定情報および前記印刷対象データに基づいて印刷を行うことを特徴とすることを特徴とするプリントシステムである。
【００１９】
　なお、前記記録媒体とは、例えば、ハードディスク（ＨＤ）、ＤＶＤ−ＲＡＭ、フレキシブルディスク（ＦＤ）やＣＤ−ＲＯＭ等のほかに、ＲＡＭやＲＯＭ等のメモリ、ネットワークなどの伝送媒体を含む。
【発明の効果】
【００２０】
　本発明によれば、ホスト装置が従来のようなプリンタドライバを必要とすることなく、ホスト装置上のドキュメントデータをプリンタに印刷させることができるようになる。従って、コンピュータを介することなく、安価なホスト装置からプリンタに対して直接的に印刷を行わせることができるようになる。
【発明を実施するための最良の形態】
【００２１】
　次に、本発明の実施の形態について、図面を参照しつつ説明する。
１　構成
１−１　プリントシステムの構成
　図１は、本実施形態に係るプリントシステムの構成を示す図である。同図に示すように、プリンタ１は、パラレルケーブルなどの専用線３を介してホスト装置２とローカル接続され、またはＬＡＮなどのネットワーク４を介してホスト装置２とネットワーク接続される。ホスト装置２は、典型的には、デジタルカメラやスキャナなどの電子機器に置き換えることができるが、汎用のパーソナルコンピュータであってもよい。以下では、プリンタ１とホスト装置２に位置付けされるデジタルカメラとがネットワーク４に接続されたプリントシステムを例に説明する。
１−２　プリンタの構成
　図２は、プリンタ１のハードウェア構成を示す図である。同図に示すように、プリンタ１は、プロセッサ２１、ＲＯＭ２２、ＲＡＭ２３、ユーザインターフェース２４、イメージメモリ２５、エンジンコントローラ２６、プリントエンジン２７および通信インターフェース（以下「通信Ｉ／Ｆ」という。）２８を備える。プロセッサ２１は、ＲＯＭ２２に記憶されたプログラムを実行することにより、他のハードウェアと共働して、プリンタ１に所定の機能を実現させる。例えば、プロセッサ２１は、後述するように、ホスト装置２から送られるコマンドを解釈して、そのコマンドに応じた各種の処理を実行する。典型的には、プロセッサ２１は、ホスト装置２から送られる印刷対象のデータをラスタ形式のビットマップデータに変換し、イメージメモリ２５に出力する。ＲＡＭ２３は、プロセッサ２１の主記憶装置として機能するものである。ユーザインターフェース２４は、例えば、各種印刷設定を行うための表示パネルおよび操作ボタンなどによって構成され、ユーザによる対話的操作を可能にする。イメージメモリ２５は、印刷に必要なビットマップデータを所定のバンド数単位で記憶する。エンジンコントローラ２６は、イメージメモリ２５に記憶されたビットマップデータをプリントエンジン２７に供給する。プリントエンジン２７は、例えば、紙送り機構やプリントヘッドなどによって構成され、紙などの印刷記録媒体に印刷を行うものである。プリントエンジン２７は、レーザプリンタやシリアルプリンタといったプリンタの種類に応じたものを用いることができる。通信Ｉ／Ｆ２８は、ネットワーク４に物理的に接続され、ホスト装置２との間でネットワーク通信を可能にするためのものである。
１−３　ホスト装置の構成
　図３は、ホスト装置２のハードウェア構成を示す図である。同図に示すように、ホスト装置２は、プロセッサ３１、ＲＯＭ３２、ＲＡＭ３３、ユーザインターフェース３４、入力デバイス３５、ファイルシステム３６および通信Ｉ／Ｆ３７を備え、これらは内部バスを介して相互に接続されている。プロセッサ３１は、ＲＯＭ３２に記憶されたプログラムに従って、ホスト装置２全体の動作を制御する。ＲＡＭ３３は、プロセッサ３１の主記憶装置として機能するものである。ユーザインターフェース３４は、例えばデジタルカメラであれば、表示パネルや操作ボタンなどによって構成され、ユーザによる対話的操作を可能にする。入力デバイス３５は、ユーザインターフェース３４から与えられるユーザによる撮像指示に従い、ＣＣＤによって撮像して得られるイメージデータを内部バスに入力する。ファイルシステム３６は、例えば、フラッシュメモリやハードディスクによって構成されるいわゆる外部記憶装置であり、入力デバイス３５によって取り込まれたイメージデータを所定のフォーマットで記憶する。通信Ｉ／Ｆ３７は、ネットワーク４に物理的に接続され、プリンタ１との間でネットワーク通信を可能にするためのものである。
２　コマンドの説明
　本実施形態に係るプリントシステムにおいては、ホスト装置２とプリンタ１とが所定のコマンド体系に基づく通信を行って、印刷処理を進めていく。以下、本実施形態に係るプリントシステムで定義されるコマンドを説明する。
２−１　コマンドの概要
　図４は、本実施形態に係るプリントシステムに使用されるコマンドデータの概略を説明するための図である。同図に示すように、本実施形態におけるコマンドデータは、可変長のデータ列で構成される。以下、図中の各領域について説明する。
【００２２】
　　ESC：バイト列の先頭マーカ（コントロールコード“ESC”，1Bh）
　　class：コマンドの分類を表す１バイトのASCIIコード
　　　　classは以下のように分類される。
【００２３】
　　　　　　d ：data
　　　　　　m ：model dependent
　　　　　　o ：object
　　　　　　p ：page
　　parameter length：パラメータブロックの長さ（バイト数）
　　command name：コマンド名を表す４バイトの文字列
　　　　classとの組み合わせでコマンドを識別する。
【００２４】
　　parameter block：パラメータブロック
　　　　任意の個数のパラメータユニットから構成される。
【００２５】
　　parameter unit：パラメータユニット
　　　　パラメータの種類を示す１バイトのparameter ID，区切り文字“：”および値valueで構成される。
【００２６】
　　コマンドは、それぞれ各パラメータの値のサイズが規定される。また、パラメータの値として２バイト以上の数値を用いる場合は、各コマンドの定義で特に示さない限りビッグエンディアンとする。
【００２７】
　　また、パラメータブロック中に同図（ｂ）の形式のパラメータを含む場合には、“data length”で示されたバイト数のバイナリデータがパラメータブロックの後に続く。このバイナリデータのサイズは、“parameter length”には含まれない。
【００２８】
　以降の説明では、コマンドを“[class:command name]”の形式で表す。例えば、[p:make]は、classが“p”、command nameが“make”であることを意味する。
２−２　各コマンドの説明
（１）[m:qlty]　set printing quality　印刷品質設定（図５および図６）
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、印刷条件を設定するためのものである。プリンタが特定され、ホスト装置が機種固有の情報を把握している場合と、機種に依存せずに設定する場合とで、パラメータの内容が異なる。
【００２９】
　　Ｍ：用紙品質を指定する。設定可能な値の範囲および対応する用紙の種類は、機種によって異なる。
【００３０】
　　Ｑ：印刷品質を１６段階で指定する。
【００３１】
　　Ｐ，Ｔ：写真画像オブジェクト、およびテキスト・グラフ画像オブジェクトそれぞれの色補正を指定するパラメータを順に送る。各パラメータは、符号付き１バイトで、−５０〜＋５０の範囲とする。−５０より小さい値が指定された場合は、−５０が指定されたものとして扱う。＋５０が指定された場合は、＋５０が指定されたものとして扱う。
【００３２】
　　Ｂ：カラー印刷／白黒印刷を指定する。
【００３３】
　　Ｗ：マイクロウィーブ印刷のオン／オフを指定する。拡張マイクロウィーブとして指定できる範囲および対応するマイクロウィーブの種類は、機種によって異なる。
【００３４】
　　Ｄ：印刷方向制御の方式を指定する。
【００３５】
　　Ｈ：ハーフトーン処理の種類を指定する。
【００３６】
　　Ｚ：ドットサイズを指定する。設定可能な値の範囲および対応するドットサイズは、機種によって異なる。
【００３７】
　　Ｈ，Ｔ：水平・垂直方向の印刷解像度をｄｐｉ（dot per inch）で指定する。設定可能な値の範囲およびデフォルト値は機種によって異なる。また、水平・垂直のどちらか一方のみの指定の場合は、どちらもデフォルト値となる。
【００３８】
　　Ｌ：色変換に用いる参照テーブルとして、[m:slut]で設定したユーザ定義ＬＵＴのＩＤを指定する。指定可能な範囲は、プリンタの機種によって異なる。また、lut-idが指定されていない場合は、用紙の種類や印刷品質に合わせて、プリンタ１が判断し、プリンタ１に内蔵されたＬＵＴを用いる。
（２）[m:slut]　set user defined LUT　ユーザ定義ＬＵＴ設定（図７）
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、色変換に用いるＬＵＴとして、ユーザ定義のものをプリンタに設定するためのものである。
【００３９】
　　Ｉ：ＬＵＴのＩＤ番号を指定する。設定可能なＩＤ番号の範囲およびＩＤ番号に対応するＬＵＴの記憶先の種類は、機種によって異なる。対応しないＩＤ番号を指定した場合、本コマンドは無視される。
【００４０】
　　＋：ＬＵＴデータの長さを示す。
【００４１】
　本コマンドに続くdtlenバイトのバイナリデータがＬＵＴデータとして扱われる。ＬＵＴデータのフォーマットは、機種によって異なる。
（３）[p:inqa]　inquire page availabillity　ページ有効範囲問い合わせ（図８）
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、ページ印刷領域の設定可能な範囲および配置の回答をプリンタ１に要求するためのものである。プリンタ１は、本コマンドに対して[p:rpla]コマンドで回答する。
【００４２】
　　Ｄ：この問い合わせに対する回答で用いる分母を指定する。指定されない場合は、プリンタの規定値を用いる。
（４）[p:rpla]　reply page availabillity　ページ有効範囲回答（図９）
　本コマンドは、プリンタ１からホスト装置２に対して送られる。本コマンドは、[p:inqa]コマンドによる問い合わせに対して、ページ印刷領域の設定可能な範囲を回答するためのものである。
【００４３】
　　Ｄ：[p:inqa]コマンドによって指定された値で、以下の各パラメータの分母を表す。ただし、[p:inqa]コマンドで指定された値を用いたときに分子の値が４バイトに収まらない場合や、[p:inqa]コマンドで０が指定された場合、または[p:inqa]コマンドでdenomiが指定されていない場合は、プリンタの既定値を用いて回答する。
【００４４】
　　Ｗ，Ｈ：設定可能なページ印刷領域の最大幅および最大長を示す。
【００４５】
　　　　最大幅＝width／denomi　（inch）
　　　　最大長＝height／denomi　（inch）
なお、最大幅および最大長が整数にならない場合は、切り捨てて回答する。
【００４６】
　　Ｔ：用紙上端からページ印刷領域の上端までの距離（トップマージン）の設定可能な最小値を示す。
【００４７】
　　　　トップマージン最小値＝tmrgin／denomi　（inch）
なお、トップマージン最小値が整数にならない場合は、切り捨てて回答する。
【００４８】
　　Ｌ：用紙左端からページ印刷領域の水平方向開始位置までの距離（レフトマージン）を示す。
【００４９】
　　　　レフトマージン＝lmrgin／denomi　（inch）
なお、レフトマージンが整数にならない場合は、切り捨てて回答する。
【００５０】
　　Ｒ：用紙右端からページ印刷領域の右端までに必要な最小の距離（ライトマージン最小値）を示す。用紙右端からページ印刷領域右端までの距離がライトマージン最小値を下回るようなページ印刷領域の設定を行った場合の処理は、機種に依存する。
【００５１】
　　　　ライトマージン最小値＝rmrgin／denomi　（inch）
なお、ライトマージン最小値が整数にならない場合は、切り捨てて回答する。
【００５２】
　　Ｂ：用紙下端からページ印刷領域の下端までに必要な最小の距離（ボトムマージン最小値）を示す。用紙下端からページ印刷領域下端までの距離がボトムマージン最小値を下回るようなページ印刷領域の設定を行った場合の処理は、機種に依存する。
【００５３】
　　　　ボトムマージン最小値＝bmrgin／denomi　（inch）
なお、ボトムマージン最小値が整数にならない場合は、切り捨てて回答する。
（５）[p:make]　make page　ページフォーマット定義（図１０）
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、ページ印刷領域のサイズを設定するとともに、印刷オブジェクトの配置方法を指定するためのものである。ホスト装置２は、ページ印刷領域を格子状に分割し、各セルに印刷オブジェクトを配置していく“自動配置”と、印刷オブジェクトごとに位置を指定する“個別指定”のどちらかを指定し、“自動配置”の場合は、ページ印刷領域を水平・垂直方向にそれぞれいくつに区切るかを指定する。
【００５４】
　　Ｄ：以下の各パラメータの分母を表す。
【００５５】
　　Ｗ，Ｈ：ページ印刷領域の幅および長さを指定する。
【００５６】
　　　　幅＝width／denomi　（inch）
　　　　長さ＝height／denomi　（inch）
最大値を超える幅および／または長さが指定された場合は、最大幅および／または最大長が設定されたものとして扱う。denomiが指定されていない場合や０が指定された場合は、widthおよびheightは、[m:qlty]コマンドで指定されている解像度におけるドット数として扱う。
【００５７】
　　Ｔ：用紙上端からページ印刷領域の上端までの距離（トップマージン）を指定する。
【００５８】
　　　　トップマージン＝tmrgin／denomi　（inch）
最小値を下回るトップマージンが指定された場合は、プリンタ１は、最小値が設定されたものとして扱う。また、denomiが指定されていない場合や０が指定された場合は、tmrginは、[m:qlty]コマンドで指定されている解像度におけるドット数として扱う。
【００５９】
　　Ａ：印刷オブジェクトの配置方法を指定する。なお、“垂直方向直列配置”の場合は、単方向通信による画像データの転送を行う。
【００６０】
　　Ｈ，Ｖ：水平方向、垂直方向の分割数を指定する。これらが指定されていない場合や０が指定された場合は、“自動配置”にはならない。印刷オブジェクトの配置方法が“自動配置”以外の場合は、これらのパラメータは無視される。
【００６１】
　　Ｘ，Ｙ：分割された各領域間の余白として取る部分の割合をパーセンテージで指定する。指定されていない場合や１００異常の値が指定された場合は、０が指定されたものとして扱う。印刷オブジェクトの配置方法が“自動配置”以外の場合は、これらのパラメータは無視される。
（６）[p:proc]　proceed　印刷進行
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、それまでに設定した画像オブジェクトの印刷を実行するように指示するためのものである。
（７）[p:fini]　page finished　ページ処理終了（図１１）
　本コマンドは、プリンタ１からホスト装置２に対して送られる。本コマンドは、[p:endp]コマンドまでに設定された印刷情報について、展開処理が終了したことを通知するためのものである。
（８）[o:req3]　request object numbers　オブジェクト番号要求（図１２）
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、印刷オブジェクトの設定に使用する“オブジェクト番号”の発行をプリンタに要求するためのものである。プリンタ１は、本コマンドで要求した数に達するまで、１または複数回、[o:iss#]コマンドによりオブジェクト番号を発行する。
（９）[p:endp]　end of page　ページ設定終了（図１３）
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、１ページ分の印刷情報設定が終了したことを通知するためのものである。本コマンドを受信した場合、[o:req#]コマンドで要求した数のオブジェクト番号が、まだ[o:iss#]コマンドで発行されていない場合、残りの分についての発行は行われない。また、[o:iss#]コマンドでプリンタからオブジェクト番号が発行されたにもかかわらず、まだ[o:make]コマンドで使用されていないオブジェクト番号があった場合、そのオブジェクト番号は無効となる。
（１０）[p:term]　terminate page　ページ処理中断（図１４）
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、印刷中のページの処理を中断させるためのものである。プリンタ１は、処理中のすべての印刷オブジェクトについて中断処理を行い、各印刷オブジェクトについて[o:rles]コマンドで処理終了をホスト装置２に通知する。すべての印刷オブジェクトの処理を中断した後、［p:fini]コマンドでページ処理の中断が完了したことをホスト装置２に通知する。[o:req#]コマンドで要求した数のオブジェクト番号がまだ[o:iss#]コマンドで発行されていない場合、残りの分についての要求はキャンセルとしたものみなされる。また、[o:iss#]コマンドでプリンタ１からオブジェクト番号が発行されたにもかかわらず、まだ]m:make]コマンドで使用されていないオブジェクト番号があった場合、そのオブジェクト番号は無効となる。
（１１）[o:iss#]　issue object numbers 　オブジェクト番号発行（図１５）
　本コマンドは、プリンタ１からホスト装置２に対して送られる。本コマンドは、[o:req#]コマンドによる要求に対して、使用可能なオブジェクト番号を発行するためのものである。
【００６２】
　　Ｎ：本コマンドで発行するオブジェクト番号の数を示す。
【００６３】
　　＃：印刷オブジェクトの設定のためにホスト装置２が使用可能なオブジェクト番号を示す。同時に複数のオブジェクト番号を発行する場合、(nobj#)で示した数の相異なるオブジェクト番号が続く。
（１２）[o:mkim]　make image object　画像オブジェクト設定（図１６，図１７，図１８および図１９）
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、画像印刷オブジェクトの設定を行うためのものである。[p:make]コマンドでページフォーマットの指定が行われていない場合は、本コマンドは無効となる。
【００６４】
　　＃：[o:iss#]コマンドで発行されたオブジェクト番号の１つを選んで指定する。以後、該当する印刷オブジェクトに関する情報・画像データなどのホスト装置２とプリンタ１との間での情報の交換は、このオブジェクト番号を用いて行う。以下のような場合には、本コマンドは無効となる。
【００６５】
　　　　(i) オブジェクト番号が指定されていない。
【００６６】
　　　　(ii) [o:iss#]コマンドで発行されたオブジェクト番号以外のオブジェクト番号が指定された。
【００６７】
　　　　(iii) すでに[o:mkim]コマンドで設定されているオブジェクト番号が指定された。
【００６８】
　　Ｄ：以下のパラメータの分母を表す。
【００６９】
　Ｘ，Ｙ：ページ印刷領域の左上を原点として、オブジェクト展開領域の左上の位置を指定する。
【００７０】
　　　　水平位置＝(xpos)／(denomi)　(inch)
　　　　垂直位置＝(ypos)／(denomi)　(inch)
denomiが指定されていない、または０が指定された場合は、xposおよびyposは[m:qlty]コマンドで指定されている解像度におけるドット数として扱う。また、ページ印刷領域以外の位置が指定された場合、オブジェクトの印刷は行われずに、[o:rles]コマンドでエラーが通知される。この場合、このオブジェクト番号は、再び[o:iss#]コマンドで発行されるまで使用できない。
【００７１】
　また、[p:make]コマンドで自動配置が指定された場合には、これらのパラメータは無視される。
【００７２】
　　Ｗ，Ｈ：オブジェクト展開領域の幅および長さを設定するためのものである。
【００７３】
　　　　幅＝(width)／(denomi)　(inch)
　　　　長さ＝(height)／(denomi)　(inch)
denomiが指定されていない、または０が指定された場合は、widthおよびheightは[m:qlty]コマンドで指定されている解像度におけるドット数として扱う。また、ページ印刷領域からはみ出すような幅および長さが指定された場合、オブジェクトの印刷は行われずに、[o:rles]コマンドでエラーが通知される。この場合、このオブジェクト番号は、再び[o:iss#]コマンドで発行されるまで使用できない。
【００７４】
　また、[p:make]コマンドで自動配置が指定された場合には、これらのパラメータは無視される。
【００７５】
　　Ｒ：画像の回転方向を指定する。なお、“４”または“５”が指定された場合、プリンタ１が自身の能力に応じて決定することになる。
【００７６】
　　Ｆ：オブジェクト展開領域と画像データの縦横比が異なる場合の、サイズ調整方法を指定する。
【００７７】
　　　　“０”の場合、画像データががすべて紙面に現れるように印刷する。オブジェクト展開領域の左右または上下が余ることになる。画像の縦横比は保存される。
【００７８】
　　　　“１”の場合、オブジェクト展開領域がすべて埋め尽くされるように印刷する。画像データの左右または上下が切れることになる。画像の縦横比は保存される。
【００７９】
　　　　“２”の場合、画像データがオブジェクト展開領域にぴったり収まるように、画像の縦横比を変更して印刷する。
【００８０】
　　Ａ：size fittingで“０”または“１”が指定された場合、上下および左右方向の配置を指定する。
【００８１】
　　Ｑ：画像の展開処理を高速に行うため、可能であれば、画像データを間引いて展開するように指示する。解像度の低いデータを用いることになるため、印刷品質が低下する。また、リサイズにはＴＢＤで指定したアルゴリズムを用いず、最も高速なリサイズアルゴリズムを用いる。
【００８２】
　　Ｉ：適切な色変換処理を行うために、画像の種別を指定する。ただし、画像データがインテント情報を含むフォーマットである場合には、intentによる指定は無視される。
【００８３】
　　Ｚ：イメージデータのサイズをバイト数で指定する。プリンタ１が十分なメモリ領域を有している場合には、イメージデータをバッファリングすることにより、（特に画像を回転させる場合）高速に展開処理が行われる可能性がある。dtsizeが指定されていない場合、十分なメモリ領域を有している場合であっても、イメージデータのバッファリングは行われない。
【００８４】
　　Ｐ：ＡＰＦ（Auto Photo Fine）の設定を指定する。ＡＰＦとは画質の調整を行うための処理である。上位バイトでＡＰＦ適用の有無、下位バイトでＡＰＦ適用項目が指定される。上位バイトが“１”の場合、印刷宇野前に画像データをプリスキャンし、下位バイトで指定した項目の補正を行う。上位バイトが“２”の場合、パラメータＳ（statistical data）で送る画像統計値に基づいて、簡易ＡＰＦを適用する。簡易ＡＰＦは、コントラスト強調、彩度強調およびシャープネスを行う。この場合、画像データのプリスキャンは行われない。また、statistical dataのパラメータがない場合は、簡易ＡＰＦは適用しない。なお、上位バイトが“０”または“１”の場合、下位バイトは無視される。
【００８５】
　　Ｓ：簡易ＡＰＦを適用するための画像データの統計データを順に送るためのものである。統計データは、最大値（ＹMAX，ＲMAX，ＧMAX，ＢMAX）、最小値（Ｙmin，Ｒmin，Ｇmin，Ｂmin）、標準偏差値（ＹSTD，ＲSTD，ＧSTD，ＢSTD）および平均値（ＹAVR，ＲAVR，ＧAVR，ＢAVR）からなる。ここで、Ｙは１バイトで表される輝度であり、次式で示される。
【００８６】
　　　　Ｙ＝（３８×Ｒ＋７６×Ｇ＋１４×Ｂ）／１２８
また、ＲＧＢは各色８ビットで表される。
【００８７】
　　Ｔ：切り取りガイド線の描画を指定する。枠線の描画と同時に指定した場合、枠線の描画指定は無効となる。各値は、denomiを分母とした値を指定する。例えば、
　　　　水平方向オフセット＝ＯH ／denomi　(inch)
denomiが指定されていない場合または０が指定された場合は、値は[m:qlty]コマンドで指定されている解像度におけるドット数として扱う。
【００８８】
　　Ｂ：枠線の描画を指定する。ただし、切り取りガイド線の描画が指定されている場合は、枠線の描画指定は無効である。各値は、denomiを分母とした値を指定する。例えば、
　　　　水平方向オフセット＝ＯH ／denomi　(inch)
denomiが指定されていない場合または０が指定された場合は、値は[m:qlty]コマンドで指定されている解像度におけるドット数として扱う。
【００８９】
　“＞”および“）”は、画像のキャプションの位置、サイズおよび色を指定する。指定されない場合は、キャプションは印刷されない。
【００９０】
　　　　offset：オブジェクト展開領域の端からの距離を指定する。
【００９１】
　　　　　　距離＝offset／denomi　(inch)
denomiが指定されていない場合または０が指定された場合は、値は[m:qlty]コマンドで指定されている解像度におけるドット数として扱う。
【００９２】
　　　　pos：位置と文字の向きを指定する。
【００９３】
　　　　P :画像に対する位置（０：上，１：下，２：右，３：左）
　　　　A ：配置（０：左寄せ，１：中央，２：右寄せ）
　　　　I ：文字の向き（０：正位置，１：逆転）
　　　　pitch ：文字ピッチを指定する。
【００９４】
　　　　size：文字のサイズを指定する。
【００９５】
　　　　R,G,B ：テキストの色をＲＧＢ各色８ビットで指定する。
【００９６】
　　＜，（：キャプションの文字列をＡＳＣＩＩコードで指定する。４８バイト固定長で、これよりも短い文字列を使用する場合は不要な部分をヌルキャラクタで埋める。
（１３）[o:rles]　release object　オブジェクト解放（図２０）
　本コマンドは、プリンタ１からホスト装置２に対して送られる。本コマンドは、印刷オブジェクトの処理が終了したことを通知するためのものである。
【００９７】
　　＃：処理が終了した印刷オブジェクトのオブジェクト番号を示す。
【００９８】
　　Ｓ：処理終了の状態を示すためのものである。
（１４）[o:dreq]　data request　データ要求（図２１）
　本コマンドは、プリンタ１からホスト装置２に対して送られる。本コマンドは、オブジェクトの画像データをホスト装置２に要求するためのものである。
【００９９】
　　＃：データを要求する印刷オブジェクトのオブジェクトを指定する。
【０１００】
　　Ｌ：要求するデータ長を指定する。
【０１０１】
　ホスト装置２は、本コマンドを受信した場合、該当する印刷オブジェクトのデータを要求されたバイト数に従って[d:dsnd]コマンドで送信する。また、ホスト装置２は、送信できない場合には、[d:dsnd]コマンドでエラーを通知する。
（１５）[d:dsnd]　send data　データ送信（図２２）
　本コマンドは、ホスト装置２からプリンタ１に対して送られる。本コマンドは、[d:dreq]コマンドで要求された画像データをプリンタ１に対して送信する。
【０１０２】
　　＃：データを送信する印刷オブジェクトのオブジェクト番号を指定する。
【０１０３】
　　Ｓ：画像データの送信情報を示す。
【０１０４】
　　＋：送信するデータ長を示す。statusが“１”または“２”の場合で、データを送信できない場合は、dtlenは０とする。
【０１０５】
　なお、本コマンドに続くdtlenバイトのバイナリデータが画像データとして扱われる。
（１６）[d:seek]　seek　データ読み出し位置変更（図２３）
　本コマンドは、プリンタ１からホスト装置２に対して送られる。本コマンドは、印刷オブジェクトのデータ読み出し位置の変更をホスト装置に要求するためのものである。
【０１０６】
　　＃：読み出し位置を変更する印刷オブジェクトのオブジェクト番号を指定する。
【０１０７】
　　Ｏ：読み出し位置指定の基準を示す。
【０１０８】
　　Ｌ：originからデータ読み出し位置までの距離を符号付きのバイト数で示す。
【０１０９】
　ホスト装置２は、[d:dreq]コマンドを受信した後、要求したデータを[d:dsnd]コマンドでプリンタ１に送信するまでの間に本コマンドを受信した場合、要求されたデータを送信した後に読み出し位置を変更する。
３　機能構成
　次に、本実施形態に係るプリントシステムの機能構成について説明する。
３−１　プリンタの機能構成
　図２４は、プリンタ１の機能構成を示すブロックダイアグラムである。すなわち、同図は、図２に示したプリンタ１を機能的に表現したものである。同図に示すように、プリンタ１は、通信Ｉ／Ｆ部２４１、コマンド解釈部２４２、印刷設定処理部２４３、固有情報記憶部２４４、設定情報記憶部２４５、印刷処理部２４６およびプリントエンジン部２４６を備える。
【０１１０】
　コマンド解釈部２４２は、通信Ｉ／Ｆ部２４１（図２の通信Ｉ／Ｆ２８に相当する。）を介してホスト装置２からコマンドデータを受け取ると、このコマンドデータに含まれるコマンドを解釈し、その解釈結果に応じた処理が行われるように制御する。印刷設定処理部２４３は、ホスト装置２との間で、定義されたコマンド体系に基づく通信によって、印刷設定に関する処理を進行させていく。印刷設定処理部４３の詳細については後述する。固有情報記憶部２４４は、自身の仕様に関する情報（以下「固有情報」という。）を記憶する。固有情報は、例えば、対応可能な解像度、対応可能な用紙サイズ、ページ有効範囲など、プリンタの機種ごとに定められた値である。印刷設定情報記憶部２４５は、ホスト装置２から送られる印刷設定要求に基づいて印刷設定処理部２４４が設定した印刷設定情報を記憶する。印刷処理部２４６は、コマンド解釈部２４２を介してホスト装置２から送られる印刷対象のデータ（印刷オブジェクト）を、印刷設定情報記憶部４５に記憶された印刷設定情報に基づいて、ラスタ形式のビットマップデータに展開し、これをプリントエンジン部２４６（図２のプリントエンジン２７に相当する。）に出力する。印刷処理部２４６の詳細については後述する。
【０１１１】
　図２５は、印刷設定処理部２４３の機能構成を示すブロックダイアグラムである。同図において、印刷品質設定部２５１は、印刷品質設定に関するコマンドデータ（[m:qlty]コマンド）を処理する。印刷品質設定部２５１は、コマンドデータに含まれるパラメータユニットの内容に従い、固有情報記憶部２４４に記憶された固有情報を参照しながら、印刷品質に関する印刷設定情報を作成し、これを印刷設定情報記憶部２４５に出力する。つまり、ホスト装置２によって指定されるパラメータユニットの内容は絶対的なものではなく、プリンタ１の仕様に合うように変換され、印刷設定情報として出力される。例えば、画質を指定するパラメータ“Ｑ”においては、１２００ｄｐｉや６００ｄｐｉというように絶対的な値が指定されるのではなく、１６段階の相対的な値で指定される。従って、最高画質を意味する“１５”が指定された場合、１２００ｄｐｉに対応可能なプリンタであれば、画質は１２００ｄｐｉに設定され、６００ｄｐｉまで対応可能なプリンタであれば、画質は６００ｄｐｉに設定されることになる。
【０１１２】
　ページ有効範囲回答部２５２は、ページ有効範囲の問い合わせに関するコマンドデータ（[p:inqa]コマンド）を処理する。ページ有効範囲回答部２５２は、このコマンドデータを受け取ると、固有情報記憶部２４４に記憶された固有情報を参照して、設定可能なページ印刷領域の範囲を回答するためのコマンドデータ（ページ有効範囲の回答に関するコマンドデータ（[p:rpla]コマンド））を作成する。作成されたコマンドデータは、通信Ｉ／Ｆ部２４１を介して、ホスト装置２に送られる。なお、ページ有効範囲回答部２５２は、このコマンドデータのパラメータユニットで係数“Ｄ”が指定されている場合、この係数に基づいて設定可能なページ印刷領域の範囲が回答される。
【０１１３】
　ページフォーマット定義部２５３は、ページフォーマット定義に関するコマンドデータ（[p:make]コマンド）を処理する。ページフォーマット定義部２５３は、このコマンドデータに含まれるパラメータユニットの内容に従って、ページ印刷領域のサイズや印刷オブジェクトの配置方法などのページフォーマットに関する印刷設定情報を作成し、これを印刷設定情報記憶部２４５に出力する。
【０１１４】
　オブジェクト番号発行部２５４は、オブジェクト番号の発行要求に関するコマンドデータ（[o:req#]コマンド）を処理する。オブジェクト番号は、印刷オブジェクトを個別に管理するためのものである。オブジェクト番号発行部２５４は、パラメータユニットで指定されたオブジェクト番号の数（要求するオブジェクト数）に対して、自身が同時に管理可能な数分のオブジェクト番号を回答するためのコマンドデータ（オブジェクト番号の発行に関するコマンドデータ（[o:iss#]コマンド））を作成する。作成されたコマンドデータは、通信Ｉ／Ｆ部２４１を介して、ホスト装置２に送られる。
【０１１５】
　オブジェクト設定部２５５は、印刷オブジェクトの設定に関するコマンドデータ（[o:mkim]コマンド）を処理する。オブジェクト設定部２５５は、このコマンドデータに含まれるパラメータユニットの内容に従って、印刷オブジェクトの設定に関する印刷設定情報を作成し、これを印刷設定情報記憶部２４５に出力する。
【０１１６】
　ページ設定終了部２５６は、ページ設定の終了に関するコマンドデータ（[p:endp]コマンド）を処理する。ページ設定終了部２５６は、このコマンドデータを受け取ると、ページ設定の終了処理を行い、後述するオブジェクト要求部２６１にその旨を通知する。
【０１１７】
　図２６は、印刷処理部４６の機能構成を示すブロックダイアグラムである。同図において、オブジェクト要求部２６１は、印刷オブジェクトのデータをホスト装置２に対して要求するため、データ要求に関するコマンドデータ（[d:dreq]コマンド）を作成し、通信Ｉ／Ｆ部２４１に出力する。オブジェクト要求部２６１は、印刷設定情報記憶部４５に記憶された印刷設定情報に従って印刷オブジェクトを特定し、印刷オブジェクトごとにそのデータを要求する。この場合、オブジェクト要求部２６１は、要求するデータの長さ（バイト数）を指定する。つまり、オブジェクト要求部６１は、作成された印刷設定情報に従って印刷ページ領域に配置される印刷オブジェクトをラスタ順に特定し、その印刷オブジェクトに対して与えられるバッファの使用状況に応じて要求するデータ長を決定し、その印刷オブジェクトのオブジェクト番号を用いてホスト装置に要求する。
【０１１８】
　データ処理部２６２は、データ送信に関するコマンドデータ（[d:dsnd]コマンド）を処理する。すなわち、データ処理部２６２は、データ要求に関するコマンドデータに応答してホスト装置２から送られるデータ送信に関するコマンドデータに含まれる印刷オブジェクトのデータを、印刷設定情報記憶部４５に記憶された印刷設定情報に従ってデータ処理モジュール２６３に処理させて、最終的に得られたラスタ形式のビットマップデータをイメージメモリ２６４に出力する。本実施形態では、データ処理モジュール２６３は、画像展開部２６３１、解像度変換部２６３２、ＡＰＦ部２６３３および色変換部２６３４を備える。なお、データ処理部２６２は、印刷オブジェクトのデータをそれぞれ処理することができるように、発行したオブジェクト番号の数分の作業領域（バッファ）を有し、また、そのデータをホスト装置２から何バイト取得したか、何バンド目まで展開したか、ビットマップデータの何ライン目まで展開したかに関する情報を記憶することが好ましい。
【０１１９】
　画像展開部２６３１は、圧縮形式で転送される印刷オブジェクトのデータを展開（伸長）して元の印刷オブジェクトのデータに復元する。解像度変換部２６３２は、復元された印刷オブジェクトのデータを印刷設定情報記憶部２４５に記憶された印刷設定情報に従い、解像度を変換する。例えば、[o:mkim]コマンドで２×３(inch)の展開領域が指定され、[m:qlty]コマンドで間接的に７２０（dpi）の解像度が指定されている場合、イメージサイズが１４４０×２１６０（dot）のビットマップデータを印刷することになる。しかしながら、ホスト装置２から送られる印刷オブジェクトのイメージサイズは必ずしもこのサイズではない。このため、ホスト装置２から送られる印刷オブジェクトが印刷すべきイメージサイズよりも小さい場合は、補完処理を行い、逆に、ホスト装置２から送られる印刷オブジェクトが印刷すべきイメージサイズよりも大きい場合は間引き処理を行う。これら補完処理および間引き処理をここでは解像度変換と呼ぶものとする。なお、[o:mkim]コマンドの“Ｆ”パラメータで、縦横比を変更することにより印刷オブジェクトが展開領域にちょうど収まるように指定された場合には、縦方向と横方向とで変換率（補完／間引き率）を変えて解像度変換を行う。ＡＰＦ部２６３３は、印刷品質に関する印刷設定情報にＡＰＦ指定がある場合、その指定に従って画像の補正を行うものである。画像の補正には、例えば、トーン調整、彩度強調やシャープネスなどがある。また、画像の統計データを利用するものであってもよい。色変換部２６３４は、ＲＧＢ各色８ビットで表現されるデータをＣＭＹＫ各色８ビットで表現されるデータに変換する。この場合に、色変換部２６３４は、印刷設定情報に色変換のための参照テーブル（ＬＵＴ）が指定されている場合には、これを参照する。
【０１２０】
　データ処理部２６２は、データ処理モジュール２６３に処理させて、印刷オブジェクトの展開を終了した場合には、その印刷オブジェクトのオブジェクト番号をオブジェクト解放部２５５に通知する。オブジェクト解放部２５５は、これを受けて、オブジェクト解放に関するコマンドデータ（[o:rles]コマンド）を出力するとともに、その印刷オブジェクトを解放したことをオブジェクト番号発行部２５４に通知する。オブジェクト番号発行部２５４は、オブジェクト番号が解放されると、新たなオブジェクト番号を発行し、ホスト装置２に送る。これにより、ホスト装置２は、新たに発行されたオブジェクト番号に基づいて、印刷オブジェクトの設定を行うことができるようになる。
【０１２１】
　イメージメモリ２６４は、データ処理モジュール２６３によって処理されたラスタ形式のビットマップデータを記憶する。エンジン制御部２６６は、イメージメモリ２６４に記憶されたイメージデータをプリントエンジン部２４７に供給する。
３−２　ホスト装置の機能構成
　図２７は、ホスト装置２の機能構成を示すブロックダイアグラムである。すなわち、同図は、図３に示したホスト装置２を機能的に表現したものである。
【０１２２】
　印刷制御部２７１は、ユーザインターフェース部２７２（図３のユーザインターフェース３４に相当する。）から与えられる印刷開始指示や印刷中断指示に従って、印刷の進行に関する制御を行う。印刷制御部２７１は、印刷の中断指示が与えられた場合、プリンタ１に対してページ処理中断に関するコマンドデータ（[p:term]コマンド）を通信Ｉ／Ｆ部２７３に出力する。
【０１２３】
　印刷設定要求部２７４は、印刷仕様情報記憶部２７５を参照して、印刷仕様情報をパラメータユニットに含むコマンドデータ（[m:qlty]コマンドなど）を作成し、通信Ｉ／Ｆ部７３に出力する。印刷仕様情報は、印刷品質やページフォーマットに関する情報などを含む。印刷仕様情報は、予め設定され、またはユーザインターフェース部２７２から入力される。
【０１２４】
　コマンド解釈部２７６は、通信Ｉ／Ｆ部２７３を介してプリンタ１からコマンドデータを受け取ると、このコマンドデータに含まれるコマンドを解釈して、その解釈結果に応じた処理が行われるように制御する。ファイルアクセス部２７７は、データ記憶部２７８をアクセスしてデータを書き込みまたは読み出すためのものである。ファイルアクセス部２７７は、データ要求に関するコマンドデータ（[d:dreq]コマンド）を受け取ると、そのパラメータユニットで指定されている印刷オブジェクトのデータをデータ記憶部２７８から読み出して、これをパラメータユニットに含むデータ送信に関するコマンドデータ（[d:dsnd]コマンド）を作成し、通信Ｉ／Ｆ部２７３に出力する。入力デバイス２７９は、ユーザＩ／Ｆ部２７２から与えられる入力指示に従って、取得したイメージデータをファイルアクセス部２７７を介してデータ記憶部２７８に記憶させる。
【０１２５】
　図２８は、印刷設定要求部７３の機能構成を示すブロックダイアグラムである。同図において、印刷品質設定要求部８１は、印刷仕様情報記憶部７４に記憶されている印刷仕様情報に基づいて印刷品質設定に関するコマンドデータを作成し、これを通信Ｉ／Ｆ部７５に出力する。ページ有効範囲要求部８２は、ページ有効範囲を問い合わせに関するコマンドデータを通信Ｉ／Ｆ部７５に出力する。このコマンドデータに応答して、プリンタ１から送られるページ有効範囲の回答に関するコマンドデータ（[p:rpla]コマンド）は、コマンド解釈部７６を介してページフォーマット要求部８３に入力される。ページフォーマット要求部８３は、印刷仕様情報記憶部７５に記憶された印刷仕様情報およびプリンタ１から取得したページ有効範囲に従ってページ印刷領域のサイズおよび配置方法などのページフォーマットに関するコマンドデータ（p:mak]コマンド）を作成する。オブジェクト番号要求部８４は、印刷仕様情報記憶部７５に記憶された印刷仕様情報に基づいて必要なオブジェクト番号をプリンタ１に要求するため、オブジェクト番号の発行要求に関するコマンドデータ（[o:req#]コマンド）を出力する。このコマンドデータに応答してプリンタ１から送られるオブジェクト番号の発行に関するコマンドデータ（[o:iss#]コマンド）は、オブジェクト設定要求部８５に入力される。オブジェクト設定要求部８５は、ページフォーマット要求部８３によって設定されたページフォーマットに基づいて、印刷オブジェクトの設定に関するコマンドデータ（[o:mkim]コマンド）を作成する。印刷オブジェクトの設定は、オブジェクト番号によって識別される印刷オブジェクトごとに行われる。ページ設定終了通知部８６は、１ページ分（[p:endp]コマンド）の印刷仕様の設定が終了したことをプリンタ１に通知するためのコマンドデータを作成する。
４　動作の説明
４−１　印刷設定処理
　図２９は、本実施形態に係るプリントシステムの印刷設定処理を説明するためのタイミングチャートである。
（１）ユーザから印刷開始指示が与えられると、ホスト装置２は、印刷品質設定に関するコマンドデータをプリンタ１に送る。プリンタ１は、このコマンドデータを受け取り、自身の固有情報に従って、印刷品質に関する印刷設定情報を作成する。
（２）ホスト装置２は、ページ有効範囲の問い合わせに関するコマンドデータをプリンタ１に送る。
（３）プリンタ１は、このコマンドデータを受け取ると、ページ有効範囲の回答に関するコマンドデータをホスト装置２に送る。
（４）ホスト装置２は、ページ有効範囲について回答を受け取ると、このページ有効範囲に基づいてページフォーマットを作成し、ページフォーマットに関するコマンドデータをプリンタ１に送る。プリンタ１は、このコマンドデータを受け取り、ページフォーマットに関する印刷設定情報を作成する。
（５）ホスト装置２は、プリンタ１にページフォーマットを要求した後、印刷オブジェクトの印刷に必要なオブジェクト番号の発行を要求するため、オブジェクト番号の発行要求に関するコマンドデータをプリンタ１に送る。
（６）プリンタ１は、オブジェクト番号の発行要求に関するコマンドデータを受け取ると、自身で同時に扱うことができるオブジェクト番号をホスト装置２に通知するため、オブジェクト番号の発行に関するコマンドデータをホスト装置２に送る。
（７）ホスト装置２は、プリンタ１によって許可されたオブジェクト番号に従い、印刷オブジェクトのそれぞれについてオブジェクト設定に関するコマンドデータをプリンタ１に送る。
（８）ホスト装置２は、印刷オブジェクトのそれぞれについて設定をプリンタ１に通知することにより、１ページ分の設定が終了すると、ページ設定終了に関するコマンドデータをプリンタ１に送る。プリンタ１は、このコマンドデータを受け取ることによって、次のデータ転送・印刷処理を開始する。
４−２　データ転送・印刷処理
　図３０は、本実施形態に係るプリントシステムのデータ転送処理を説明するためのタイミングチャートである。
（１）プリンタ１は、ページ設定終了に関するコマンドデータを受け取ると、印刷オブジェクトのデータを要求するため、データ要求に関するコマンドデータをホスト装置２に送る。
（２）ホスト装置２は、データ要求に関するコマンドデータを受け取ると、パラメータデータの指定に従って印刷オブジェクトのデータを読み出して、データ送信に関するコマンドデータをプリンタ１に送る。
（３）プリンタ１は、印刷オブジェクトのデータを受け取り、それに対する処理が終了した場合には、その印刷オブジェクトの解放をホスト装置２に通知するため、オブジェクト解放に関するコマンドデータをホスト装置２に出力する。
（４）プリンタ１は、１ページ分の印刷に必要な印刷オブジェクトのデータを受け取り、次の通信が可能になった時点で、ページ処理終了に関するコマンドデータをホスト装置２に送る。
【０１２６】
　上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。例えば、上記機能実現手段の動作をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、動作に矛盾が生じない限り、処理の順序を入れ替えまたは並行動作するように構成しても良い。
【図面の簡単な説明】
【０１２７】
【図１】プリントシステムの概略構成を示す図
【図２】プリンタのハードウェア構成を示す図
【図３】ホスト装置のハードウェア構成を示す図
【図４】コマンドの概略を説明するための図
【図５】印刷品質設定コマンドを説明するための図
【図６】印刷品質設定コマンドを説明するための図
【図７】ユーザ定義ＬＵＴ設定コマンドを説明するための図
【図８】ページ有効範囲問い合わせコマンドを説明するための図
【図９】ページ有効範囲回答コマンドを説明するための図
【図１０】ページフォーマット定義コマンドを説明するための図
【図１１】ページ処理終了コマンドを説明するための図
【図１２】オブジェクト番号要求コマンドを説明するための図
【図１３】ページ設定終了コマンドを説明するための図
【図１４】ページ処理中断コマンドを説明するための図
【図１５】オブジェクト番号発行コマンドを説明するための図
【図１６】画像オブジェクト設定コマンドを説明するための図
【図１７】画像オブジェクト設定コマンドを説明するための図
【図１８】画像オブジェクト設定コマンドを説明するための図
【図１９】画像オブジェクト設定コマンドを説明するための図
【図２０】オブジェクト解放コマンドを説明するための図
【図２１】データ要求コマンドを説明するための図
【図２２】データ送信コマンドを説明するための図
【図２３】データ読み出し位置変更コマンドを説明するための図
【図２４】プリンタの機能構成を示すブロックダイアグラム
【図２５】印刷設定処理部の機能構成を示すブロックダイアグラム
【図２６】印刷処理部の機能構成を示すブロックダイアグラム
【図２７】ホスト装置の機能構成を示すブロックダイアグラム
【図２８】印刷設定要求部の機能構成を示すブロックダイアグラム
【図２９】プリントシステムの印刷設定処理を説明するためのタイミングチャート
【図３０】プリントシステムのデータ転送処理を説明するためのタイミングチャート
【符号の説明】
【０１２８】
１…プリンタ
２…ホスト装置
３…パラレルケーブル
４…ネットワーク
２４１…通信インターフェース部
２４２…コマンド解釈部
２４３…印刷設定処理部
２４４…固有情報記憶部
２４５…印刷設定情報記憶部
２４６…印刷処理部
２４７…プリントエンジン
２７１…印刷制御部
２７２…ユーザインターフェース部
２７３…通信インタフェース部
２７４…印刷設定要求部
２７５…印刷仕様情報記憶部
２７６…コマンド解釈部
２７７…ファイルアクセス部
２７８…データ記憶部
２７９…入力デバイス部
【図１】
2004005730.tif 000003
【図２】
2004005730.tif 000004
【図３】
2004005730.tif 000005
【図４】
2004005730.tif 000006
【図５】
2004005730.tif 000007
【図６】
2004005730.tif 000008
【図７】
2004005730.tif 000009
【図８】
2004005730.tif 000010
【図９】
2004005730.tif 000011
【図１０】
2004005730.tif 000012
【図１１】
2004005730.tif 000013
【図１２】
2004005730.tif 000014
【図１３】
2004005730.tif 000015
【図１４】
2004005730.tif 000016
【図１５】
2004005730.tif 000017
【図１６】
2004005730.tif 000018
【図１７】
2004005730.tif 000019
【図１８】
2004005730.tif 000020
【図１９】
2004005730.tif 000021
【図２０】
2004005730.tif 000022
【図２１】
2004005730.tif 000023
【図２２】
2004005730.tif 000024
【図２３】
2004005730.tif 000025
【図２４】
2004005730.tif 000026
【図２５】
2004005730.tif 000027
【図２６】
2004005730.tif 000028
【図２７】
2004005730.tif 000029
【図２８】
2004005730.tif 000030
【図２９】
2004005730.tif 000031
【図３０】
2004005730.tif 000032