(57)【特許請求の範囲】
【請求項１】
画像供給デバイスと記録装置とを、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して直接通信し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムであって、
前記記録装置と前記画像供給デバイスに実装されたアプリケーションにより通信手順を確立し、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスと前記記録装置との間で分担させる分担手段と、
前記分担手段により前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスから供給された画像データに基づいて前記記録装置により記録を行わせる記録制御手段と、
を有することを特徴とする記録システム。
【請求項２】
前記複数の機能は、前記画像供給デバイスが保持している画像データの部分画像データを要求するデータ要求手段を含み、前記記録装置は、前記データ要求手段よりの要求に基づいて前記画像供給デバイスから供給される部分画像データに応じて記録を行うことを特徴とする請求項１に記載の記録システム。
【請求項３】
前記複数の汎用インターフェースは、通信階層のアプリケーション層以下での構成がそれぞれ異なることを特徴とする請求項１又は２に記載の記録システム。
【請求項４】
前記汎用インターフェースに応じて、前記画像供給デバイスが保持する画像データを前記記録装置へ送信する送信制御を前記画像供給デバイス或は前記記録装置のいずれかが司ることを特徴とする請求項３に記載の記録システム。
【請求項５】
前記汎用インターフェースに応じて、前記画像供給デバイスが画像データを保持するための記憶媒体中の、物理的な読み出し領域の判断を前記画像供給デバイス或は前記記録装置のいずれかが司ることを特徴とする請求項３に記載の記録システム。
【請求項６】
前記複数の汎用インターフェースのいずれかにおいて、前記記録装置をホストに、前記画像供給デバイスをスレーブとして設定し、前記分担手段は前記記録装置で実行されることを特徴とする請求項１に記載の記録システム。
【請求項７】
前記複数の機能は、少なくともユーザインターフェースを含む操作制御機能、画像ファイルを管理する記憶制御機能及び記録動作を制御する記録制御機能を含むことを特徴とする請求項１乃至６のいずれか１項に記載の記録システム。
【請求項８】
前記画像供給デバイスと前記記録装置は、前記複数の汎用インターフェースのそれぞれ毎に専用のプロトコルを備えることを特徴とする請求項１乃至７のいずれか１項に記載の記録システム。
【請求項９】
前記分担手段は、接続された汎用インターフェースに応じて前記画像供給デバイスと前記記録装置との間で分担させる機能を可変的に決定することを特徴とする請求項１乃至８のいずれか１項に記載の記録システム。
【請求項１０】
前記データ要求手段は、画像ファイル中のオフセットアドレスとデータ量を指定して前記部分画像データを要求することを特徴とする請求項２に記載の記録システム。
【請求項１１】
画像供給デバイスと記録装置とを、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して直接通信し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムの制御方法であって、
前記記録装置と前記画像供給デバイスに実装されたアプリケーションにより通信手順を確立する工程と、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスと前記記録装置との間で分担させる分担工程と、
前記分担工程で前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスから供給された画像データに基づいて前記記録装置により記録を行わせる記録制御工程と、
を有することを特徴とする記録システムの制御方法。
【請求項１２】
前記複数の機能は、前記画像供給デバイスが保持している画像データの部分画像データを要求するデータ要求工程を含み、前記記録装置は、前記データ要求工程での要求に基づいて前記画像供給デバイスから供給される部分画像データに応じて記録を行うことを特徴とする請求項１１に記載の制御方法。
【請求項１３】
前記複数の汎用インターフェースは、通信階層のアプリケーション層以下での構成がそれぞれ異なることを特徴とする請求項１１又は１２に記載の制御方法。
【請求項１４】
前記汎用インターフェースに応じて、前記画像供給デバイスが保持する画像データを前記記録装置へ送信する送信制御を前記画像供給デバイス或は前記記録装置のいずれかが司ることを特徴とする請求項１３に記載の制御方法。
【請求項１５】
前記汎用インターフェースに応じて、前記画像供給デバイスが画像データを保持するための記憶媒体中の、物理的な読み出し領域の判断を前記画像供給デバイス或は前記記録装置のいずれかが司ることを特徴とする請求項１３に記載の制御方法。
【請求項１６】
前記複数の汎用インターフェースのいずれかにおいて、前記記録装置をホストに、前記画像供給デバイスをスレーブとして設定し、前記分担工程は、前記記録装置で実行されることを特徴とする請求項１１に記載の制御方法。
【請求項１７】
前記複数の汎用インターフェースのいずれかにおいて、前記記録装置をホストに、前記画像供給デバイスをスレーブとして設定し、前記分担工程は前記画像供給デバイスで実行されることを特徴とする請求項１１又は１２に記載の制御方法。
【請求項１８】
前記複数の機能は、少なくともユーザインターフェースを含む操作制御機能、画像ファイルを管理する記憶制御機能及び記録動作を制御する記録制御機能を含むことを特徴とする請求項１１乃至１７のいずれか１項に記載の制御方法。
【請求項１９】
前記画像供給デバイスと前記記録装置は、前記複数の汎用インターフェースのそれぞれ毎に専用のプロトコルを備えることを特徴とする請求項１１乃至１８のいずれか１項に記載の制御方法。
【請求項２０】
前記分担工程は、接続された汎用インターフェースに応じて前記画像供給デバイスと前記記録装置との間で機能の割当てを決定することを特徴とする請求項１１乃至１９のいずれか１項に記載の制御方法。
【請求項２１】
前記データ要求工程では、画像ファイル中のオフセットアドレスとデータ量を指定して前記部分画像データを要求することを特徴とする請求項１２に記載の制御方法。
【請求項２２】
画像供給デバイスと、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して通信し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムに用いられる記録装置であって、
前記記録装置に実装されたアプリケーションにより通信手順を確立し、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスとの間で分担させる分担手段と、
前記分担手段により前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスから供給された画像データに基づいて記録を行う記録制御手段と、
を有することを特徴とする記録装置。
【請求項２３】
記録装置と、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して通信し、前記記録装置に画像データを送信して記録させる記録システムで用いられる画像供給デバイスであって、
前記画像供給デバイスに実装されたアプリケーションにより通信手順を確立し、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスと前記記録装置との間で分担させる分担手段と、
前記分担手段により前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスが供給された画像データに基づいて前記記録装置により記録を行わせる記録制御手段と、
を有することを特徴とする画像供給デバイス。
【請求項２４】
画像供給デバイスと、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して通信し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムに用いられる記録装置の制御方法であって、
前記記録装置に実装されたアプリケーションにより通信手順を確立し、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスとの間で分担させる分担工程と、
前記分担工程で前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスから供給された画像データに基づいて記録を行う記録制御工程と、
を有することを特徴とする記録装置の制御方法。
【請求項２５】
記録装置と、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して通信し、前記記録装置に画像データを送信して記録させる記録システムで用いられる画像供給デバイスの制御方法であって、
前記画像供給デバイスに実装されたアプリケーションにより通信手順を確立し、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスと前記記録装置との間で分担させる分担工程と、
前記分担工程で前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスが供給された画像データに基づいて前記記録装置により記録を行わせる記録制御工程と、
を有することを特徴とする画像供給デバイスの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルカメラなどの画像供給デバイスと記録装置及び、これらを有する記録システム及びその制御方法に関するものである。
【０００２】
【従来の技術】
近年、簡単な操作で画像を撮影してデジタル画像データに変換できるデジタルカメラ（撮像装置）が広く使用されるようになってきている。このようなカメラで撮影した画像を印刷して写真として使用する場合には、通常、一旦、その撮影された画像のデジタル画像データを、デジタルカメラからＰＣ（コンピュータ）に取り込み、そのＰＣで画像処理を行った後、そのＰＣからカラープリンタに出力して印刷するのが一般的である。
【０００３】
これに対して最近は、例えば特許文献１のように、ＰＣを介することなく、直接、デジタルカメラからカラープリンタにデジタル画像データを伝送して印刷することができるカラープリントシステムや、デジタルカメラに搭載され、撮像した画像を記憶しているメモリカードを、直接、カラープリンタに装着し、そのメモリカードに記憶されている、撮影された画像を印刷できる、所謂フォトダイレクト（ＰＤ）プリンタ等も開発されている。
【０００４】
特に、デジタルカメラから直接プリンタに画像データを伝送して印刷する場合は、デジタルカメラは各メーカごとにその仕様や操作方法などが異なっているため、各種メーカのデジタルカメラに対応できるフォトダイレクトプリンタ装置の出現が望まれていた。また、このようなフォトダイレクトプリンタ装置は、上記説明したデジタルカメラ以外にも、例えば、携帯電話やＰＤＡそれ以外の各種デバイスからの画像データを受信して印刷することが考えられ、またプリンタ自体の機能も種々であるため、互いのＣａｐａｂｉｌｉｔｙが予測できず、互いの機能情報の交換が必須になる。
【０００５】
【特許文献１】
特開２００３−１４３５２０
【０００６】
【発明が解決しようとする課題】
また、デジタルカメラから画像ファイル単位で記憶されている画像データを取得する場合、プリンタ装置側のメモリ容量の制限等により、その画像ファイルの画像データ全体を読込んでプリンタ装置内に記憶することができない場合がある。しかし、このような場合であっても、その画像データをカメラからプリンタ装置に転送するデータ単位は画像ファイル単位であるため、プリンタ装置内に、その画像データを記憶できるだけのメモリ容量が残っていない場合は、その画像そのものを転送できなくなってしまう。
【０００７】
本発明は上記従来例に鑑みてなされたもので、本発明の特徴は、画像供給デバイスから記録装置に対して部分的な画像データを供給し、その部分画像データに応じて記録を行うことができる記録システム及びその制御方法、記録装置及び画像供給デバイスを提供することにある。
【０００８】
また本発明の特徴は、画像供給デバイスと記録装置との間の標準的な通信規約を規定して、機種やメーカに拠らない印刷処理を実行できる記録システム及びその制御方法、記録装置及び画像供給デバイスを提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために本発明の記録システムは以下のような構成を備える。即ち、  画像供給デバイスと記録装置とを、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して直接通信し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムであって、
前記記録装置と前記画像供給デバイスに実装されたアプリケーションにより通信手順を確立し、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスと前記記録装置との間で分担させる分担手段と、
前記分担手段により前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスから供給された画像データに基づいて前記記録装置により記録を行わせる記録制御手段とを有することを特徴とする。
【００１０】
上記目的を達成するために本発明の記録装置は以下のような構成を備える。即ち、
画像供給デバイスと、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して通信し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムに用いられる記録装置であって、
前記記録装置に実装されたアプリケーションにより通信手順を確立し、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスとの間で分担させる分担手段と、
前記分担手段により前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスから供給された画像データに基づいて記録を行う記録制御手段とを有することを特徴とする。
【００１１】
上記目的を達成するために本発明の記録システムの制御方法は以下のような工程を備える。即ち、
画像供給デバイスと記録装置とを、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して直接通信し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムの制御方法であって、
前記記録装置と前記画像供給デバイスに実装されたアプリケーションにより通信手順を確立する工程と、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスと前記記録装置との間で分担させる分担工程と、
前記分担工程で前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスから供給された画像データに基づいて前記記録装置により記録を行わせる記録制御工程とを有することを特徴とする。
【００１２】
上記目的を達成するために本発明の画像供給デバイスは以下のような構成を備える。即ち、
記録装置と、それぞれ異なる複数の汎用インターフェースのうちのいずれかを介して通信し、前記記録装置に画像データを送信して記録させる記録システムで用いられる画像供給デバイスであって、
前記画像供給デバイスに実装されたアプリケーションにより通信手順を確立し、
前記複数の汎用インターフェースのうちのいずれのインターフェースを用いるかに応じて、前記記録システムとしての複数の機能を前記画像供給デバイスと前記記録装置との間で分担させる分担手段と、
前記分担手段により前記画像供給デバイスと前記記録装置に割当てられた機能間でデータ及びコマンドの授受を行い、前記画像供給デバイスが供給された画像データに基づいて前記記録装置により記録を行わせる記録制御手段とを有することを特徴とする。
【００１３】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００１４】
図１は、本発明の実施の形態に係るフォトダイレクトプリンタ装置（以下、ＰＤプリンタ装置）１０００の概観斜視図である。このＰＤプリンタ装置１０００は、ホストコンピュータ（ＰＣ）からデータを受信して印刷する通常のＰＣプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラからの画像データを受信して印刷する機能を備えている。
【００１５】
図１において、本実施の形態に係るＰＤプリンタ装置１０００の外殻をなす本体は、ケースＭ１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。また、下ケース１００１は、ＰＤプリンタ装置１０００の略下半部を、上ケース１００２は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部が形成されている。さらに、排出トレイ１００４は、その一端部が下ケース１００１に回転自在に保持され、その回転によって下ケース１００１の前面部に形成される開口部を開閉させ得るようになっている。このため、印刷動作を実行させる際には、排出トレイ１００４を前面側へと回転させて開口部を開成させることにより、ここから記録シートが排出可能となると共に、排出された記録シートを順次積載し得るようになっている。また、排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて各トレイを手前に引き出すことにより、用紙の支持面積を３段階に拡大、縮小させ得るようになっている。
【００１６】
アクセスカバー１００３は、その一端部が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー１００３を開くことによって本体内部に収納されているプリントヘッドカートリッジ（不図示）あるいはインクタンク（不図示）等の交換が可能となる。なお、ここでは特に図示しないが、アクセスカバー１００３を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバーの開閉状態を検出し得るようになっている。
【００１７】
また、上ケース１００２の上面には、電源キー１００５が設けられている。また、上ケース１００２の右側には、液晶表示部１００６や各種キースイッチ等を備える操作パネル１０１０が設けられている。この操作パネル１０１０の構造は、図２を参照して詳しく後述する。１００７は自動給送部で、記録シートを装置本体内へと自動的に給送する。１００８は紙間選択レバーで、プリントヘッドと記録シートとの間隔を調整するためのレバーである。１００９はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード（ＰＣ）としては、例えばコンパクトフラッシュ（登録商標）メモリＴＭ、スマートメディアＴＭ、メモリスティック等がある。１０１１はビューワ（液晶表示部）で、このＰＤプリンタ装置１０００の本体に着脱可能であり、ＰＣカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、１コマ毎の画像やインデックス画像などを表示するのに使用される。１０１２は後述するデジタルカメラを接続するためのＵＳＢ端子である。また、このＰＤプリンタ装置１０００の後面には、パーソナルコンピュータ（ＰＣ）を接続するためのＵＳＢコネクタが設けられている。
【００１８】
図２は、本実施の形態に係るＰＤプリンタ装置１０００の操作パネル１０１０の概観図である。
【００１９】
図において、液晶表示部１００６には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここに表示される項目としては、例えば、印刷したい範囲の先頭写真番号、指定コマ番号（開始コマ指定／印刷コマ指定）、印刷を終了したい範囲の最後の写真番号（終了）、印刷部数（部数）、印刷に使用する用紙（記録シート）の種類（用紙種類）、１枚の用紙に印刷する写真の枚数設定（レイアウト）、印刷の品位の指定（品位）、撮影した日付を印刷するかどうかの指定（日付印刷）、写真を補正して印刷するかどうかの指定（画像補正）、印刷に必要な用紙枚数の表示（用紙枚数）等がある。これら各項目は、カーソルキー２００１を用いて選択、或いは指定される。２００２はモードキーで、このキーを押下する毎に、印刷の種類（インデックス印刷、全コマ印刷、１コマ印刷等）を切り替えることができ、これに応じてＬＥＤ２００３の対応するＬＥＤが点灯される。２００４はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。２００５は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。２００６は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【００２０】
次に図３を参照して、本実施の形態に係るＰＤプリンタ装置１０００の制御に係る主要部の構成を説明する。尚、この図３において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００２１】
図３において、３０００は制御部（制御基板）を示している。３００１はＡＳＩＣ（専用カスタムＬＳＩ）を示し、その構成は図４のブロック図を参照して詳しく後述する。３００２はＤＳＰ（デジタル信号処理プロセッサ）で、内部にＣＰＵを有し、後述する各種制御処理及び、輝度信号（ＲＧＢ）から濃度信号（ＣＭＹＫ）への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。３００３はメモリで、ＤＳＰ３００２のＣＰＵの制御プログラムを記憶するプログラムメモリ３００３ａ、及び実行時のプログラムを記憶するＲＡＭエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。３００４はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。３００５はデジタルカメラ（ＤＳＣ）３０１２を接続するためのポートとしてのＵＳＢコネクタである。３００６はビューワ１０１１を接続するためのコネクタである。３００８はＵＳＢハブ（ＵＳＢ  ＨＵＢ）で、このＰＤプリンタ装置１０００がＰＣ３０１０からの画像データに基づいて印刷を行う際には、ＰＣ３０１０からのデータをそのままスルーし、ＵＳＢ３０２１を介してプリンタエンジン３００４に出力する。これにより、接続されているＰＣ３０１０は、プリンタエンジン３００４と直接、データや信号のやり取りを行って印刷を実行することができる（一般的なＰＣプリンタとして機能する）。３００９は電源コネクタで、電源３０１９により、商用ＡＣから変換された直流電圧を入力している。ＰＣ３０１０は一般的なパーソナルコンピュータ、３０１１は前述したメモリカード（ＰＣカード）、３０１２はデジタルカメラ（ＤＳＣ：Ｄｉｇｉｔａｌ  Ｓｔｉｌｌ  Ｃａｍｅｒａ）である。
【００２２】
尚、この制御部３０００とプリンタエンジン３００４との間の信号のやり取りは、前述したＵＳＢ３０２１又はＩＥＥＥ１２８４バス３０２２を介して行われる。
【００２３】
図４は、ＡＳＩＣ３００１の構成を示すブロック図で、この図４においても、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００２４】
４００１はＰＣカードインターフェース部で、装着されたＰＣカード３０１１に記憶されている画像データを読取ったり、或いはＰＣカード３０１１へのデータの書き込み等を行う。４００２はＩＥＥＥ１２８４インターフェース部で、プリンタエンジン３００４との間のデータのやり取りを行う。このＩＥＥＥ１２８４インターフェース部４００２は、デジタルカメラ３０１２或いはＰＣカード３０１１に記憶されている画像データを印刷する場合に使用されるバスである。４００３はＵＳＢインターフェース部で、ＰＣ３０１０との間でのデータのやり取りを行う。４００４はＵＳＢホストインターフェース部で、デジタルカメラ３０１２との間でのデータのやり取りを行う。４００５は操作パネル・インターフェース部で、操作パネル１０１０からの各種操作信号を入力したり、表示部１００６への表示データの出力などを行う。４００６はビューワ・インターフェース部で、ビューワ１０１１への画像データの表示を制御している。４００７は各種スイッチやＬＥＤ４００９等との間のインターフェースを制御するインターフェース部である。４００８はＣＰＵインターフェース部で、ＤＳＰ３００２との間でのデータのやり取りの制御を行っている。４０１０はこれら各部を接続する内部バス（ＡＳＩＣバス）である。
【００２５】
図５は、本発明の実施の形態に係るＤＳＣ３０１２の代表的な構成例を示すブロック図である。但し、本実施の形態のＰＤプリンタ装置１０００に接続可能なデジタルカメラの中には、後述する表示部２７００を有していない機器も存在する可能性がある。
【００２６】
同図において、３１００はＤＳＣ全体の制御を司るＣＰＵであり、３１０１はＣＰＵ３１００の処理手順（プログラム）を記憶しているＲＯＭである。３１０２はＣＰＵ３１００のワークエリアとして使用されるＲＡＭであり、３１０３は各種操作を行うスイッチ群で、各種スイッチやカーソルキー等が含まれている。２７００は液晶表示部であり、撮像した画像を確認したり、各種設定を行う際のメニューを表示するために使用される。３１０５は光学ユニットであり、主としてレンズ及びその駆動系で構成される。３１０６はＣＣＤ素子であり、３１０７はＣＰＵ３１００の制御下において光学ユニット３１０５を駆動制御するドライバである。３１０８は記憶媒体３１０９（コンパクトフラッシュ（登録商標）メモリカード、スマートメディア等）を接続するためのコネクタであり、３１１０はＰＣ或いは実施形態におけるＰＤプリンタ１０００と接続するためのＵＳＢインターフェース（ＵＳＢのスレーブ側）である。
【００２７】
本実施の形態では、上述したＰＤプリンタ装置１０００とＤＳＣ３０１２とを接続して印刷を行う場合の例を中心に説明するが、このＰＤプリンタ装置１０００のような画像出力装置に各メーカのデジタルカメラ、更には携帯電話やメモリデバイス等のデバイス（ＤＳＰＤ：Ｄｉｇｉｔａｌ  Ｓｔｉｌｌ  Ｐｈｏｔｏｇｒａｐｈｙ  Ｄｅｖｉｃｅｓ）を接続し、そこから取得した画像データに基づいてプリントできるＰＤプリンタ装置を提供することを目的とし、本実施の形態に係るＰＤプリンタ装置１０００とこれらＤＳＰＤとを接続してプリントを行なう場合の通信規約について記述する。尚、本実施の形態においては、ＰＤプリンタ装置とＤＳＰＤとの間の通信制御を汎用ファイル、汎用フォーマットを用いて行い、インターフェースに依存しない新規なＣＤＰＳ（Ｃａｎｏｎ  Ｄｉｒｅｃｔ  Ｐｒｉｎｔ  Ｓｅｒｖｉｃｅ）を提案する。
【００２８】
ＤＳＰＤと画像出力装置との間で、様々な通信プロトコルアーキテクチャ、例えば、ＵＳＢ上のＰＴＰ（Ｓｔｉｌｌ  Ｉｍａｇｅ  Ｃｌａｓｓ）やＭａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ、もしくはＢｌｕｅ  Ｔｏｏｔｈ上のＯＢＥＸ、更にはＵＰｎＰ等に対しての取り決めを行うために、ここではプリントサービス機能の概念を用いている。このプリントサービス機能とはアプリケーション層における実行機能の集合体であり、各種インターフェースに依存していない。
【００２９】
又、実際の画像データ及びデバイス間の通信制御は汎用ファイル、汎用フォーマットを用いて行う（例えば、ＸＭＬ書式を用いて記述する）ためインターフェースに依存してない。
【００３０】
このようなＤＳＰＤと画像出力装置とを接続したシステムにおいては、そのオペレーションは、どちらか一方のオペレーション部（例えば、デジタルカメラの液晶画面や、プリンタ上の操作部）を用いて行われるが、システム全体を考えた場合に、両方の装置が同様の機能を備えているような場合に、どちらの装置のオペレーション部を用いて実行させるかを決定する必要が生じる。そこで、本実施の形態に係るシステムでは、後述するＤｉｓｃｏｖｅｒｙ処理（移行処理）の後に、オペレーション部やその他の機能を、各装置間でどのように分担させるかを決定する仕組みを取り入れて汎用性を高めたものとしている。
【００３１】
［通信概要説明］
図６は、ＤＳＰＤの代表的な装置であるデジタルカメラ（ＤＳＣ）３０１２と画像出力装置の代表例である、本実施の形態に係るＰＤプリンタ装置１０００との間の通信の概要を説明する図である。尚、ここでは、これらＤＳＣ３０１２とＰＤプリンタ装置１０００とがＵＳＢで接続されており、その間の通信はＰＴＰを用いている。このＵＳＢ接続において、ＰＤプリンタ装置１０００がホスト側、ＤＳＣ３０１２がスレーブ側とする。
【００３２】
以下、この手順を順に説明する。尚、ここでは、ＤＳＣ３０１２は前述の図５の構成を有し、印刷画像及び印刷条件の設定、印刷開始指示をＤＳＣ３０１２から行う例で説明する。
（１）まず最初に、ＵＳＢケーブルによりＤＳＣ３０１２とＰＤプリンタ装置１０００とを物理的に接続する。
（２）次に、ＰＤプリンタ装置１０００のＵＳＢホストコントローラ（ＵＳＢタスク）がＤＳＣ３０１２を認識し、イメージクラス・ＰＴＰでの接続を行う。これが図６の６００で示す「通信の確立」状態である。
（３）次にＰＤプリンタ装置１０００から、本実施の形態で規定する通信規約（ＣＤＰＳ）に移行するための処理（６０１）に移る。この時、ＤＳＣ３０１２とＰＤプリンタ装置１０００との間での情報のやりとりに基づいて、両者間でＣＤＰＳサービスを実行可能であるか否か、サービスが実行可能である場合には、「標準」又は「拡張」のうちのいずれの手順で実行するかの確認及び決定が行われる（６１０）。また、この処理６０１では、印刷画像の決定及び印刷条件の設定、印刷開始の指示等をＤＳＣ３０１２或いはＰＤプリンタ装置１０００のいずれが担当するか等の決定も行われる。
（４）この処理６０１の結果、「標準」手順６０２でのサービスを実行する場合には、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して、「プリンタ側で提供出来るサービス」を通達する（６０３）。具体的には、ＰＤプリンタ装置１０００で対応可能な用紙サイズや紙種、印刷品位、レイアウト可能な組み合わせ等である。
（５）ＤＳＣ３０１２では、６０３で送られてきたサービス内容に従い、ユーザが操作するＵＩメニューを作成して表示部２７００に表示する。これによりユーザは、印刷画像の設定，印刷条件及び写真選択（これらをまとめて「ジョブ」という）をＵＩメニューを介して行う（６１１）。
（６）こうして「ジョブ」の設定が終了し、印刷開始指示がＤＳＣ３０１２においてユーザより行われると、ＤＳＣ３０１２からＰＤプリンタ装置１０００に「ジョブ」の通達が行われる（６０４）。
（７）次にＰＤプリンタ装置１０００は、６０４で送られてきた「ジョブ」の内容に従ってＰＤプリンタ装置１０００の設定を行った後、必要な画像ファイルをＤＳＣ３０１２から取得して（６０５）写真の印刷を行う（６１３）。
（８）ここで、「ジョブ」の実行中に、ＰＤプリンタ装置１０００で何らかのエラーが発生した場合には、ＤＳＣ３０１２に対して、その発生したエラーの内容を通知してユーザに対応を求める（６０６）（本実施の形態では、「印刷続行／中止」の選択とする）。こうしてユーザがＤＳＣ３０１２のＵＩを使用してその対応（印刷続行又は中止）を決定すると（６１２）、その内容がＰＤプリンタ装置１０００に送られて対応するエラー処理６１４が実行される。
（９）このようにして、画像ファイルの転送と印刷処理（→エラーの送受信）を繰り返し、「ジョブ」が完了すると、再びＤＳＣ３０１２での「ジョブ」設定状態（６１１）となる。
（１０）また、上述の６１０で、ＣＤＰＳの「拡張手順」のサービスを行うと決定された場合には、６０７で示す、各ベンダに固有の手順及び「拡張」処理を実行する。尚、この「拡張手順」での処理は各ベンダにより規定されるので、ここでは説明しない。
【００３３】
［階層構造］
図７は、ＤＳＰＤの代表であるＤＳＣ３０１２と、画像出力装置の代表であるＰＤプリンタ装置１０００とを接続した場合の全体機能を階層構造で示す図である。
【００３４】
図において、７００及び７０３はアプリケーション部を示し、７０１及び７０２は物理層で、ここではＵＳＢとブルーツース（Ｂｌｕｅｔｏｏｔｈ）の例で示している。ＤＳＣ３０１２及びＰＤプリンタ装置１０００のそれぞれは７００と７０３で示す（アプリケーション）をそれぞれ組込むことにより、本ＣＤＰＳシステムを構築することができる。但し、７０１，７０２で示すように、プロトコル層のＰＴＰやＢＩＰ，ＭＳＣ（Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ）上のファイルシステム等のアーキテクチャーの実装が前提である。又、各アプリケーション部分７００，７０３に、このプリントサービス機能の実態が存在しており、ＣＤＰＳからそれぞれのプロトコルに変換する部分でプリントサービス機能が実行される。
【００３５】
このようにして、物理的なインターフェースに依存しない形でのダイレクトプリントサービスを実現できる。
【００３６】
［システム全体の機能］
図８は、上述のＤＳＰＤと画像出力機器とが接続された時、これらを一体のシステムと見なした時の機能構成を示す図である。
【００３７】
前述の階層構造によりインターフェースに依存しないことを規定した事に続いて、ＤＳＰＤｓ及び画像出力装置の「機能」に対しての非依存を実現するために、よりハイレベルでの要素（オブジェクト）の定義を行う。本実施の形態においては、ＤＳＰＤと画像形成装置との間での各種機能の切り分けや分担を行わず、このダイレクトプリントシステム全体として必要な機能構成要素の定義及びその役割について説明する。
【００３８】
ここではシステム全体の機能を大きく４つの機能（８００〜８０３）に分けている。
【００３９】
＜ＣＤＰＳ初期化処理（ＣＤＰＳ  Ｉｎｉｔｉａｌｉｚｅ）＞
ＣＤＰＳ初期化処理８００は、他のＣＤＰＳの機能に先立って最初に起動される。ここでは、ＣＤＰＳモードへの移行（標準・拡張）等を判定し、その判定結果を「Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ」８０４として、各機能に通達する。これは前述の図６の６０１に相当している。
【００４０】
＜操作制御（Ｏｐｅｒａｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ）＞
ユーザ８１２との対話を行うＵＩ部分の管理（操作制御：Ｏｐｅｒａｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ）８０１は、ＣＤＰＳ初期化処理８００からの「Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ」８０４を受信して起動される。この操作制御８０１は、プリント制御（Ｐｒｉｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）８０３からプリントデバイス８１０（プリンタエンジン３００４）で印刷可能なサービス「Ｓｅｒｖｉｃｅ」８０７を取得し、また記憶制御（Ｓｔｏｒａｇｅ  Ｃｏｎｔｒｏｌｌｅｒ）８０２から、ＰＣカード３０１１等の記憶デバイス８１１が保持している画像情報リスト「Ｄａｔａ  Ｌｉｓｔ」８０５を取得する。そして、これら「Ｓｅｒｖｉｃｅ」８０７及び「Ｄａｔａ  Ｌｉｓｔ」８０５の記述に基づいてＵＩメニューを作成する。こうして作成されたＵＩメニューを介して入力されるユーザの指示に基づいて、出力設定指示書「Ｊｏｂ」８０８を作成してプリント制御８０３に通達する。
【００４１】
＜記憶制御（Ｓｔｏｒａｇｅ  Ｃｏｎｔｒｏｌｌｅｒ）＞
記憶制御８０２は、写真画像が保持された記憶媒体、例えば前述のＰＣカード３０１１の管理を行う。この記憶制御８０２は、ＣＤＰＳ初期化処理８００からの「Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ」８０４を受信して起動する。また、操作制御８０１からの要請に従って、記憶デバイス８１１に保持されている画像情報リスト「Ｄａｔａ  Ｌｉｓｔ」８０５を作成し、それを操作制御８０１に通達する。また、プリント制御８０３からの要請に従って、記憶デバイス８１１に保存されている画像ファイル「Ｊｏｂ  Ｄａｔａ」８０６をプリント制御８０３に送出する。
【００４２】
＜プリント制御＞
プリント制御（Ｐｒｉｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）８０３は、写真画像の印刷を行うプリントデバイス８１０の管理を行う。このプリント制御８０３は、ＣＤＰＳ初期化処理８００からの「Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ」８０４を受信して起動し、操作制御８０１にプリントデバイス８１０で印刷可能なサービス「Ｓｅｒｖｉｃｅ」８０７を通達する。また、操作制御８０１から出力設定指示書「Ｊｏｂ」８０８を取得すると、その「Ｊｏｂ」８０８の記述に基づいて、「Ｄａｔａ  Ｌｉｓｔ」８０５に記載された記述方法で、記憶制御８０２に対して記憶デバイス８１１に保存されている画像ファイル「Ｊｏｂ  Ｄａｔａ」８０６を要求して取得する。これに基づいて、プリントデバイス８１０が処理可能なプリントデータを作成してプリントデバイス８１０に出力することにより印刷が行われる。
【００４３】
図９は、図８の各機能による処理の流れを説明するフローチャートである。
【００４４】
まずステップＳ１で、ＣＤＰＳ初期化処理８００がＣＤＰＳモードへ移行できるか否かを判定し、その判定に基づいて、各機能へ「Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ」８０４を通達し、各機能を起動する。次にステップＳ２に進み、プリント制御８０３は、プリントデバイス８１０が提供できるプリントサービス「Ｓｅｒｖｉｃｅ」８０７を操作制御８０１に通達する。次にステップＳ３に進み、操作制御８０１は、記憶制御８０２から記憶デバイス８１１に保持されている画像情報リスト「Ｄａｔａ  Ｌｉｓｔ」８０５を取得する。次にステップＳ４に進み、操作制御８０１は「Ｓｅｒｖｉｃｅ」８０７及び「Ｄａｔａ  Ｌｉｓｔ」８０５に基づいて印刷設定用のＵＩを構成して表示する。このＵＩに従って入力されるユーザ８１２の指示に基づいて、印刷すべき画像と、その印刷モードの選択等を規定する印刷設定指示書「Ｊｏｂ」８０８を作成し、その作成した「Ｊｏｂ」８０８を操作制御８０１から印刷制御８０３に通達する。次にステップＳ５に進み、印刷制御８０３は、その「Ｊｏｂ」８０８の記述に従ってプリントデバイス８１０に対して印刷設定を行う。次に、記憶制御８０２に対して、「Ｄａｔａ  Ｌｉｓｔ」８０５に記載された記述方法で、記憶デバイス８１１に保持されている、印刷に必要な画像ファイル「Ｊｏｂ  Ｄａｔａ」８０６を要求して、それを取得する。そしてプリントデバイス８１０が処理可能な印刷データを作成する。次にステップＳ６に進み、その印刷データをプリントデバイス８１０に出力して印刷する。そしてステップＳ７では、印刷処理の終了が指示されたかを調べ、終了指示が入力されない時はステップＳ４に戻り、前述の処理を実行する。そして印刷処理の終了が指示されると、この処理を終了する。
【００４５】
以上説明したように、上述した各機能がＤＳＰＤ或いは画像出力装置のいずれに存在するかに関わらず、上述した階層構造、４つの機能８００〜８０３及び上記４つの機能間でやりとりされる５つの情報群８０４〜８０８を、このＣＤＰＳの基本構成とする。
【００４６】
［ＤＳＣとＰＤプリンタ装置によるＣＤＰＳ構成］
図１０は、ＤＳＣ３０１２とＰＤプリンタ装置１０００とが接続された状態でのＣＤＰＳ構成の一例を示す図である。ここでは、ＤＳＣ３０１２とＰＤプリンタ装置１０００の両者が、上述した４つの機能８００〜８０４を保持している場合を示している。この場合、記憶デバイス８１１とプリントデバイス８１０は、論理的にはこのＣＤＰＳシステムの外部に位置しており、いずれの側に接続されているかは確定していない。
【００４７】
本実施の形態のＣＤＰＳでは、ＤＳＣ３０１２とＰＤプリンタ装置１０００が物理的かつ論理的に接続された後、ＤＳＣ３０１２及びＰＤプリンタ装置１０００両方のＣＤＰＳ初期化（ＣＤＰＳ  Ｉｎｉｔｉａｌｉｚｅ）８００が対話を行って、他の３機能８０１〜８０３及び記憶デバイス８１１、プリントデバイス８１０の処理機能のそれぞれを、ＤＳＣ３０１２或いはＰＤプリンタ装置１０００のいずれが担当して管理するかを決定することを特徴としている。
【００４８】
図１１は、本実施の形態におけるＣＤＰＳでの機能分担（機能割当て）処理を説明するフローチャートである。
【００４９】
まずステップＳ１１で、ＤＳＣ３０１２における機能８００〜８０３のそれぞれのサポートレベルを、ＤＳＣ３０１２からＰＤプリンタ装置１０００に通達する。次にステップＳ１２に進み、ＰＤプリンタ装置１０００は、ＤＳＣ３０１２から受信した各機能のサポートレベルと、ＰＤプリンタ装置１０００自身のサポートレベルとを比較し、よりユーザビリティの高い機能がＤＳＣ３０１２とＰＤプリンタ装置１０００のいずれに実装されているかを判定し、各機能をいずれで分担するかを決定する。そしてステップＳ１３に進み、その決定した各機能の担当情報と管理情報をＤＳＣ３０１２に通達する。そしてステップＳ１４に進み、ＤＳＣ３０１２とＰＤプリンタ装置１０００のそれぞれにおいて、各機器が担当するように決定された各機能を起動し、ステップＳ１５で手順ＣＤＰＳを開始する。
【００５０】
尚、ここで「拡張手順」を実行する場合には、ステップＳ１２の時点で、ＤＳＣ３０１２とＰＤプリンタ装置１０００が拡張手順のサポートをしている事が判明し、その後のやりとりは各ベンダ固有となるのでここでは説明しない。
【００５１】
また、各機能が必ずしも、ＤＳＣ３０１２とＰＤプリンタ装置１０００の両方でサポートされている必要が無いが、少なくともＤＳＣ３０１２或いはＰＤプリンタ装置１０００のいずれかでサポートされている必要がある。特に、ＣＤＰＳ初期化８００に関しては、仮にＤＳＣ３０１２がＣＤＰＳ初期化８００をサポートしていなくても、インターフェースの接続状況によってはＰＤプリンタ装置１０００のＣＤＰＳ初期化８００によって、このシステムはＣＤＰＳモードに移行することが可能である。
【００５２】
［ＣＤＰＳ構成例−１］
図１２は、ＵＳＢ上でイメージクラス（Ｉｍａｇｅ  Ｃｌａｓｓ）のＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）で、ＤＳＣ３０１２とＰＤプリンタ装置１０００とを接続した場合のＣＤＰＳの構成例１を説明する図で、前述の図８及び図１０と共通する部分は同じ記号で示し、それらの説明を省略する。尚、ここでは、液晶表示部２７００が設けられているＤＳＣ３０１２と、液晶ビューワ１０１１が取付けられていないＰＤプリンタ装置１０００とを接続した場合で説明する。即ち、この例では、ＤＳＣ３０１２には、ＣＤＰＳ初期化８００、操作制御８０１及び記憶制御８０２が存在しており、ＰＤプリンタ装置１０００は、図１０のような機能構成を備えているものとする。
【００５３】
ここではまず、ＰＤプリンタ装置１０００のＣＤＰＳ初期化８００が、ＤＳＣ３０１２のＣＤＰＳ初期化８００との間で、各機能の分担及び管理について情報交換をしようとする。これに対してＤＳＣ３０１２は、操作制御８０１及び記憶制御８０２の機能をサポートしている旨（液晶表示部２７００有り等）を伝える。これによりＰＤプリンタ装置１０００のＣＤＰＳ初期化８００は、ＰＤプリンタ装置１０００の操作制御８０１及び記憶制御８０２のサポートレベル（液晶ビューワ１０１１無し、等）と比較し、以下の様にシステム構成を決定する。そして、ＰＤプリンタ装置１０００のＣＤＰＳ初期化８００に対して、「ＣＤＰＳ移行可」と返答し、かつＤＳＣ３０１２に下記のような機能分担の決定内容を通達する。
（１）操作制御８０１、記憶制御８０２は、ＤＳＣ３０１２が担当及び管理する。
（２）ＰＤプリンタ装置１０００は、プリント制御８０３を担当、管理する。
（３）記憶デバイス８１１はＤＳＣ３０１２にあり、ＤＳＣ３０１２の記憶制御８０２が、この記憶デバイス８１１を管理する。
（４）プリントデバイス８１０（プリンタエンジン３００４）はＰＤプリンタ装置１０００にあり、ＰＤプリンタ装置１０００のプリント制御８０３が印刷処理を管理する
尚、上述した処理は、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）のＴＣＰ／ＩＰ等の他のインターフェースを介して接続された場合でも同様に行われる。
【００５４】
［ＣＤＰＳ構成例−２］
図１３は、ＵＳＢ上でイメージクラス（Ｉｍａｇｅ  Ｃｌａｓｓ）のＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）で、ＤＳＣ３０１２とＰＤプリンタ装置１０００とを接続した場合のＣＤＰＳの構成例２を説明する図で、前述の図８及び図１０と共通する部分は同じ記号で示し、それらの説明を省略する。尚、ここでは、液晶表示部２７００が設けられていないＤＳＣ３０１２と、液晶ビューワ１０１１が取付けられているＰＤプリンタ装置１０００とを接続した場合、或いはＤＳＣ３０１２がＣＤＰＳ初期化８００を備えていない例で説明する。なお、ＰＤプリンタ装置１０００は、図１０のような機能構成を備えているものとする。
【００５５】
ＰＤプリンタ装置１０００のＣＤＰＳ初期化８００が、ＤＳＣ３０１２のＣＤＰＳ初期化と各機能の分担及び管理について情報交換をしようとした場合について考えると、ＤＳＣ３０１２はＣＤＰＳ初期化を有していないのでそれに応答できない。そこで、ＰＤプリンタ装置１０００のＰＴＰ  Ｗｒａｐｐｅｒ層が、以下の様にシステム構成を決定して、ＰＤプリンタ装置１０００のＣＤＰＳ初期化８００に対して「ＣＤＰＳ移行可」と応答する。
（１）操作制御８０１、記憶制御８０２及びプリント制御８０３は、いずれもＰＤプリンタ装置１０００が担当及び管理する。
（２）記憶デバイス８１１はＤＳＣ３０１２に有り、標準のＰＴＰでＰＤプリンタ装置１０００の記憶制御８０２が、この記憶デバイス８１１への画像アクセスを管理する。
（３）プリントデバイス８１０はＰＤプリンタ装置１０００にあり、ＰＤプリンタ装置１０００のプリント制御８０３がこれを管理する。
【００５６】
尚、このような場合は、ＤＳＣ３０１２がＣＤＰＳ初期化８００を有していない場合に限らず、ＤＳＣ３０１２が例え表示器２７００を有していても、その解像度や操作性が、ＰＤプリンタ装置１０００のビューワ１０１１やそのビューワ１０１１を使用したＵＩに比べて劣ると、ＰＤプリンタ装置１０００のＣＤＰＳ初期化８００が判断した場合も同様に図１３に示すような構成となる。
【００５７】
［ＣＤＰＳ構成例−３］
図１４は、ＭＳＣ（Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ）での接続時のＣＤＰＳの構成例３を説明する図で、前述の図８及び図１０と共通する部分は同じ記号で示し、それらの説明を省略する。尚、この例は例えば、液晶表示器２７００が無いＤＳＣ３０１２をＭＳＣで液晶ビューワ１０１１を装着したＰＤプリンタ装置１０００と接続した例で説明する。
【００５８】
この場合には、ＰＤプリンタ装置１０００のＣＤＰＳ初期化８００がＤＳＣ３０１２のＣＤＰＳ初期化８００と、各装置における各機能の分担及び管理について情報交換をしようとする。しかし、標準バルクオンリーのＭＳＣでは、ＤＳＣ３０１２と双方向の情報のやり取りが極めて困難である。そのため、ＰＤプリンタ装置１０００のＭａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ  Ｗｒａｐｐｅｒ層８２０が、以下の様にシステム構成を決定して、ＰＤプリンタ装置１０００のＣＤＰＳ初期化８００に対して「ＣＤＰＳ移行可」と応答する。
（１）操作制御８０１、記憶制御８０２及びプリント制御８０３は、いずれもＰＤプリンタ装置１０００が担当して管理する。
（２）記憶デバイス８１１はＤＳＣ３０１２にあり、標準のＭＳＣでＰＤプリンタ装置１０００の記憶制御８０２が管理する。
（３）プリントデバイス８１０はＰＤプリンタ装置１０００にあり、ＰＤプリンタ装置１０００のプリント制御８０３がプリントデバイス８１０を管理する。
【００５９】
［ＣＤＰＳ出力手順］
本実施の形態に係るＣＤＰＳにおける出力手順は、以下の２通りを有している。
【００６０】
＜標準手順＞
本実施の形態に係るＣＤＰＳでは、下記の機能及び情報に従う手順が定義されている。
・ＣＤＰＳ初期化（ＣＤＰＳ  Ｉｎｉｔｉａｌｉｚｅ）機能
・操作制御（Ｏｐｅｒａｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ）機能
・記憶制御（Ｓｔｏｒａｇｅ  Ｃｏｎｔｒｏｌｌｅｒ）機能
・プリント制御（Ｐｒｉｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）機能
・サービスディスカバー（Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒ）情報
・サービス（Ｓｅｒｖｉｃｅ）情報
・ジョブ（Ｊｏｂ）情報
・ジョブデータ（Ｊｏｂ  Ｄａｔａ）情報
＜拡張手順＞
各ベンダ固有の仕様に基づく各種フォーマットの出力にも対応可能な手順が下記のそれぞれに対して定義されている。
・ＸＨＴＭＬ
・ＳＶＧ
・固有フォーマット
［ＣＤＰＳ機能説明］
本実施の形態のＣＤＰＳでは、ＤＳＣ３０１２とＰＤプリンタ装置１０００の双方のＰＴＰの上位層で任意にアプリケーションを扱えるよう、即ち、ＤＳＣ３０１２とＰＤプリンタ装置１０００間の機能（例えば印刷するにはオブジェクトの受け渡し等、様々なＰＴＰプロトコルのやり取りが必要）をモデリングするために、図１５Ａ，１５Ｂに示すようなプリントサービス機能を設けた。上述の図７のアプリケーション層７００，７０３では、基本的には図１５Ａ，１５Ｂに示すプリントサービス機能を用いることによりダイレクトプリントを行うことができる。尚、このプリントサービス機能には必須機能（図１５Ａ）とオプション機能（図１５Ｂ）とがあり、ＣＤＰＳをサポートする装置は、この内の必須機能を全て用意する必要がある。
【００６１】
図１５Ａ，１５Ｂは、本実施の形態に係るＣＤＰＳにおけるサービス機能の一覧を示す図である。以下、順次これらの機能について説明する。
（ａ）  ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ（サービスディスカバリ）
ＣＤＰＳへの移行を行う機能である。この戻り値はスクリプトで、ＣＤＰＳの手順「標準」或いは「拡張」が指示されており、いずれの手順が選択されたかを受信する。尚、「拡張」手順時は、ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ機能のみが使用される。
（ｂ）  ＣＤＰＳ＿Ｓｅｒｖｉｃｅ（印刷制御８０３→操作制御８０１）
ＰＤプリンタ装置の機能を記載したスクリプトをパラメータとして通知する。ＰＤプリンタ装置の機能を記載したスクリプトを引数とし、その戻り値は通信の結果、即ち、通信の成否（”ＴＲＵＥ”  ｏｒ  ”ＦＡＬＳＥ”）を示す。
（ｃ）  ＣＤＰＳ＿ＰａｇｅＳｔａｒｔ（印刷制御８０３→操作制御８０１）
プリント開始を通知（１ページ毎）する。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否（”ＴＲＵＥ”  ｏｒ  ”ＦＡＬＳＥ”）を示す。
（ｄ）  ＣＤＰＳ＿ＰａｇｅＥｎｄ（印刷制御８０３→操作制御８０１）
プリント終了を通知（１ページ毎で排紙時）する機能である。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否（”ＴＲＵＥ”  ｏｒ  ”ＦＡＬＳＥ”）を示す。
（ｅ）  ＣＤＰＳ＿ＪｏｂＥｎｄ（印刷制御８０３→操作制御８０１）
プリントジョブの終了を通知する。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否（”ＴＲＵＥ”  ｏｒ  ”ＦＡＬＳＥ”）を示す。
（ｆ）  ＣＤＰＳ＿Ｅｒｒｏｒ（印刷制御８０３→操作制御８０１）
エラー（Ｗａｒｎｉｎｇ／Ｆａｔａｌ）を通知する機能である。パラメータは、プリント機能を記載したスクリプトで、その戻り値は通信の結果、即ち、通信の成否（”ＴＲＵＥ”  ｏｒ  ”ＦＡＬＳＥ”）を示す。
（ｇ）  ＣＤＰＳ＿ＪｏｂＤａｔａ（印刷制御８０３→記憶制御８０２）
記憶デバイス８１１からＪＰＥＧ等のイメージを取得する機能である。取得する画像データのハンドル名を記載したスクリプトを引数とし、戻り値は取得した画像データのバイト数と画像データそのものである。
（ｈ）  ＣＤＰＳ＿ＤａｔａＬｉｓｔ（操作制御８０１→記憶制御８０２）
記憶デバイス８１１からＪＰＥＧ等の画像情報のリストを取得する機能である。ＰＤプリンタ装置１０００の機能を記載したスクリプトを引数とし、その戻り値は画像データのリストを記載したスクリプトである。
（ｉ）  ＣＤＰＳ＿Ｊｏｂ（操作制御８０１→印刷制御８０３）
プリント命令を通知する機能である。プリント命令を記載したスクリプトを引数とし、戻り値は通信の結果、即ち、通信の成否（”ＴＲＵＥ”  ｏｒ  ”ＦＡＬＳＥ”）を示す。
（ｊ）  ＣＤＰＳ＿ＪｏｂＡｂｏｒｔ（操作制御８０１→印刷制御８０３）
プリント中止命令を通知する機能である。プリンタの機能を記載したスクリプトを引数とし、戻り値は通信の結果、即ち、通信の成否（”ＴＲＵＥ”  ｏｒ  ”ＦＡＬＳＥ”）を示す。
（ｋ）  ＣＤＰＳ＿ＪｏｂＣｏｎｔｉｎｕｅ（操作制御８０１→印刷制御８０３）
プリント再開命令を通知する機能である。プリンタの機能を記載したスクリプトを引数とし、戻り値は通信の結果、即ち、通信の成否（”ＴＲＵＥ”  ｏｒ  ”ＦＡＬＳＥ”）を示す。
【００６２】
以上がＣＤＰＳにおける必須機能である。
【００６３】
本ＣＤＰＳは、更に、図１５Ｂに示すように、オプション機能として、ＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａ機能を備えている。
【００６４】
このＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａ（印刷制御８０３→記憶制御８０２）は、記憶デバイス８１１からＪＰＥＧ等の画像データを取得する機能である。取得した画像データのハンドル名を記載したスクリプトを引数とし、その戻り値は、取得した画像データのバイト数と画像データそのものである。
【００６５】
［スクリプトのフォーマットの説明］
以下、上述のサービスディスカバリ（ＣＤＰＳ  ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ）に使用するスクリプトの内容、及び、それ以外の機能で使用するスクリプトのフォーマットについて説明する。
【００６６】
＜各種機能コマンドの書式＞
（１）サービスディスカバリ（ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ）のスクリプトの書式
サービスディスカバリ（ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ）に使用するスクリプトの内容（ＵｎｉＣｏｄｅで記述する）で、ＣＤＰＳモードに移行する際に使用する。これにより互いのキーワードを認識し合う。
【００６７】
ＣａｎｏｎＤｉｒｅｃｔＰｒｉｎｔＳｅｒｖｉｃｅ（ＵＩＬｅｖｅｌ＝Ｘ）  （デバイス情報で、ＵＩレベル情報（Ｘ）は０から４）
ＣａｎｏｎＤｉｒｅｃｔＰｒｉｎｔＳｅｒｖｉｃｅ（ＨｏｓｔＵＩ）  （ホスト（ＰＤプリンタ装置）のＵＩを使用する場合）
或いは
ＣａｎｏｎＤｉｒｅｃｔＰｒｉｎｔＳｅｒｖｉｃｅ（ＤｅｖｉｃｅＵＩ）  （デバイス（ＤＳＣ）側のＵＩを使用する場合）
（２）ＣＤＰＳ＿ＰａｇｅＳｔａｒｔ，ＣＤＰＳ＿ＰａｇｅＥｎｄ，ＣＤＰＳ＿ＪｏｂＥｎｄ，ＣＤＰＳ＿ＤａｔａＬｉｓｔ、ＣＤＰＳ＿ＪｏｂＡｂｏｒｔ，ＣＤＰＳ＿ＪｏｂＣｏｎｔｉｎｕｅにおけるスクリプトの書式
0003619235.tif 000002
（３）ＣＤＰＳ＿Ｓｅｒｖｉｃｅのスクリプトの書式
0003619235.tif 000003
（４）ＣＤＰＳ＿Ｊｏｂのスクリプトの書式
0003619235.tif 000004
（５）ＣＤＰＳ＿Ｅｒｒｏｒのスクリプトの書式
0003619235.tif 000005
なお、ここで「ｓｔａｔｕｓ」は、このエラーが、ジョブに復帰できるエラーか否かを記載する。例えば、”ｆａｔａｌ”は復帰不能、”ｗａｒｎｉｎｇ”は復帰可能を示す。また「ｒｅａｓｏｎ」は、そのエラー原因を記載する。
（６）ＣＤＰＳ＿ＪｏｂＤａｔａ，ＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａのスクリプトの書式
0003619235.tif 000006
尚、ここで「ｉｍａｇｅ」はファイルのハンドル名を記載し、「ｏｆｆｓｅｔ」は先頭からのオフセットのバイト数を記載し、「ｓｉｚｅ」は取得する画像データのバイト数を記載する。但し、ＣＤＰＳ＿ＪｏｂＤａｔａの場合、オプション機能の部分取得を用いない場合は、これら「ｏｆｆｓｅｔ」及び「ｓｉｚｅ」は無効である。
【００６８】
＜Ｃａｐａｂｉｌｉｔｙのフォーマット＞
ＣＤＰＳ＿Ｓｅｒｖｉｃｅ機能およびＣＤＰＳ＿Ｊｏｂ機能で用いられる＜ｃａｐａｂｉｌｉｔｙ＞の書式を以下に示す。
【００６９】
0003619235.tif 000007
但し、「ｑｕａｌｉｔｙ」は印刷品位を表し、「速い（ｄｒａｆｔ）」、「普通（ｎｏｒｍａｌ）」、「綺麗（ｆｉｎｗ）」を指定する。「ｐａｐｅｒ＿ｓｉｚｅ」は用紙サイズ（Ｌ，２Ｌ，カード、４ｘ６，Ａ４、レターサイズ等）を表し、「ｐａｐｅｒ＿ｔｙｐｅ」は用紙種類を表し、「普通紙（ｐｌａｉｎ）」、「写真専用紙（ｐｈｏｔｏ）」を指定する。
【００７０】
0003619235.tif 000008
但し、「ｉｍａｇｅ＿ｔｙｐｅ」は、サポートしている画像フォーマットを表す。「ｄａｔｅ」は日付印刷のオン／オフを表わしている。「ｆｉｌｅ＿ｎａｍｅ」は、ファイル名の印刷のオン／オフを表し、「ｉｍａｇｅ＿ｏｏｐｔｉｍｉｚｅ」は、画像補正のオン／オフを表わしている。「ｓｉｚｅ＿ｐｅｒ＿ｐａｇｅ」は、読み込み可能な画像データのサイズを表し、「ｌａｙｏｕｔ」は各種用紙種類に対して可能なレイアウトを表す。
【００７１】
0003619235.tif 000009
尚、この「ｏｐｔｉｏｎ」で囲まれた部分は、各ベンダーに固有のＰｒｉｎｔｅｒ  Ｃａｐａｂｉｌｉｔｙを表し、ここにはベンダー名と共に記載する。
【００７２】
＜Ｊｏｂフォーマット＞
ＣＤＰＳ＿Ｊｏｂ機能で用いられる＜ｊｏｂ＞の書式を以下に示す。
【００７３】
0003619235.tif 000010
但し、上記「ｃａｐａｂｉｌｉｔｙ」で囲まれた部分は、以下に続く画像の印刷設定を表している。また、「ｐｒｉｎｔｌｉｓｔ」で囲まれた部分は、このジョブ内で印刷する画像及び付加情報（日付、ファイル名）などを表わしている。
【００７４】
＜Ｊｏｂフォーマットの具体例＞
次に、このＪｏｂフォーマットの具体例を説明する。
（Ａ）Ｌ版の写真用紙にＨａｎｄｌｅ１の画像を日付を入れてフチなしで印刷する。
【００７５】
0003619235.tif 000011
（Ｂ）Ｌ版の写真用紙に２×２のレイアウトでハンドル１〜６の６つの画像を印刷する。
【００７６】
0003619235.tif 000012
［ＣＤＰＳの「標準」手順の流れの説明］
図１６は、本実施の形態に係るＣＤＰＳの基本的な処理の流れを説明する図で、ここでは上述した機能８００乃至８０３の間で送受信されているＣＤＰＳ機能を上から下方向に時系列的に表記してある。図中、破線上「Ａ」「Ｂ」「Ｃ」「Ｄ」で記述されている場所は、代表的と思われる機能分担の切り分け個所を示している。また前述の図８と共通する部分は同じ記号で示し、それらの説明を省略する。
【００７７】
前述のＣＤＰＳ初期化８００により、ＣＤＰＳモードへの移行がＰＤプリンタ装置１０００からＤＳＣ３０１２に通達されると（８０４）、これに応答してＤＳＣ３０１２から、ＤＳＣ３０１２がサポートしているレベル（「標準」、「拡張」、及びサポートしている機能）がＰＤプリンタ装置１０００に知らされる（８２１）。これに基づいてＰＤプリンタ装置１０００は、上述した機能８００〜８０３のそれぞれをＤＳＣ３０１２或いはＰＤプリンタ装置１０００のいずれで実施するかを決定し、その結果をＤＳＣ３０１２に伝える（８２２）。
【００７８】
８２３は、操作制御８０１から記憶制御８０２に対する、記憶デバイス８１１に記憶されている画像データのデータリストの要求を示しており、８２４はそれに応答して、記憶制御８０２が記憶デバイス８１１から読み出したデータを示している。これにより８０５で、記憶制御８０２から操作制御８０１に対してリストデータが送られ、ユーザ８１２の操作により、８２５で、印刷モードや印刷したい画像が選択されてプリントジョブが作成され、操作制御８０１に知らされる。これにより操作制御８０１からプリント制御８０３に対して、作成されたＵＩメニューを使用して入力されるユーザ８１２の指示に基づいて、出力設定指示書「ＣＤＰＳ＿Ｊｏｂ」８０８を作成してプリント制御８０３に通達する。そして８２６では、プリント制御８０３から記憶制御８０２に対して、その画像データが要求される。これにより記憶デバイス８１１から画像データ８２７が読み出され、印刷に必要な画像ファイル「Ｊｏｂ  Ｄａｔａ」８０６が記憶制御８０２からプリント制御８０３に送られる。これによりプリント制御８０３において画像処理等が実行されて印刷データが作成され、プリントデバイス８１０に対して、その印刷データ８２８が送られて印刷が実行される。
【００７９】
ここで、もし印刷中にエラーが発生した場合には、エラー情報８２９がプリント制御８０３から操作制御８０１に送られる。このエラーに対してユーザ８１２が「印刷中止」或いは「印刷続行」を指示すると（８３１）、それに対応して、例えば「印刷中止」指令８３０が操作制御８０１からプリント制御８０３に送られる（このコマンドは図１５Ａに示される）。そしてプリント制御８０３から操作制御８０１に対してプリントジョブの終了が通知される（８３２）。
【００８０】
図１７は、ＤＳＣ３０１２が操作制御８０１と記憶制御８０２とを受け持ち、ＰＤプリンタ装置１０００がプリント制御８０３を受け持つ場合を説明する図である。この場合の機能の切り分け位置は、前述した図１６の「Ｃ」で示す位置となる。なお、この例はＰＴＰの場合で示しているが、ＴＣＰ／ＩＰ等の他の接続でも、ＤＳＣ３０１２の操作制御８０１、記憶制御８０２を用いた場合には同様となる。
【００８１】
この場合には、ＰＤプリンタ装置１０００は８２２において、機能８００〜８０３の内、操作制御８０１と記憶制御８０２をＤＳＣ３０１２で実施し、プリント制御８０３をＰＤプリンタ装置１０００で実行するように伝える。これにより、ＤＳＣ３０１２とＰＤプリンタ装置１０００との間での機能分担が図１７のように決定される。
【００８２】
図１８は、ＤＳＣ３０１２の記憶デバイス８１１をＭａｓｓ  Ｓｔｏｒａｇｅとして扱い、ＰＤプリンタ装置１０００が操作制御８０１、記憶制御８０２及びプリント制御８０３を受け持つ場合を説明する図である。この場合の機能の切り分け位置は、前述した図１６の「Ａ」で示す位置となる。なお、この例はＰＴＰの場合で示しているが、ＴＣＰ／ＩＰ等の他の接続でも、ＤＳＣ３０１２の操作制御８０１、記憶制御８０２を用いた場合には同様となる。
【００８３】
この場合には、ＰＤプリンタ装置１０００は８２２において、機能８００〜８０３のの全ての機能をＰＤプリンタ装置１０００で実行するように伝える。これにより、ＤＳＣ３０１２とＰＤプリンタ装置１０００との間での機能分担が図１８のように決定される。
【００８４】
尚、ＰＴＰ等の他の接続でも、ＤＳＣ３０１２の有しているリソースを全く用いない場合には同様となる。また、ＤＳＣ３０１２がＣＤＰＳ初期化機能８００（ＣＤＰＳ  Ｉｎｉｔｉａｌｉｚｅ）を有していない（ＣＤＰＳに対応していない機種）場合も同様となる。
【００８５】
以下、上述したＣＤＰＳにおけるサービス機能のコマンドをＰＴＰにより実施した場合の例を説明する。
【００８６】
［プリントサービス機能のＰＴＰによる実現例］
＜ＣＤＰＳサービスディスカバリ（ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ）機能＞
図１９はＣＤＰＳサービスディスカバリー機能の手順を説明する図である。
【００８７】
ＰＤプリンタ装置１０００とＤＳＣ３０１２とが物理的に接続されてＰＴＰによる通信が可能になると、まず１４００で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対してＧｅｔＤｅｖｉｃｅＩｎｆｏが送信され、ＤＳＣ３０１２に対して、その保持しているオブジェクトに関する情報が要求される。これに対してＤＳＣ３０１２は、ＤｅｖｉｃｅＩｎｆｏ  Ｄａｔａｓｅｔにより、ＤＳＣ３０１２に保持しているオブジェクトに関する情報をＰＤプリンタ装置１０００に送信する。次に１４０２で、ＯｐｅｎＳｅｓｓｉｏｎにより、ＤＳＣ３０１２をリソースとして割り当て、必要に応じてデータオブジェクトにハンドルをアサインしたり、特別な初期化を行うための手順の開始要求が発行される。これに対してＤＳＣ３０１２から肯定応答（ＯＫ）が返送されるとＰＴＰでの通信が開始される。次に１４０３で、ＤＳＣ３０１２に対してスクリプト形式の全てのハンドルを要求する（Ｓｔｏｒａｇｅ  ＩＤ：  ＦＦＦＦＦＦ，  Ｏｂｊｅｃｔ  Ｔｙｐｅ：  Ｓｃｒｉｐｔ）と、これに対して１４０４で、ＤＳＣ３０１２に保持されている全てのハンドルリストが返送される。次に１４０５，１４０６において、ＰＤプリンタ装置１０００からｉ番目のオブジェクトハンドルの情報を取得する。ここで、このオブジェクトに、ＤＳＣ３０１２の識別を示すキーワード（例えば「山」）が含まれていると、次に１４０７において、ＰＤプリンタ装置１０００からオブジェクト情報の送信を指示して（ＳｅｎｄＯｂｊｅｃｔＩｎｆｏ）、それに対して肯定応答（ＯＫ）を受信すると、ＳｅｎｄＯｂｊｅｃｔにより、オブジェクト情報をＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送信する。ここで、このオブジェクトには、前述のキーワードに対する応答キーワード（合言葉）として例えば「川」が含まれている。
【００８８】
このようにして、ＰＤプリンタ装置１０００とＤＳＣ３０１２の双方が互いに接続相手を認識できることになり、これ以降はＣＤＰＳによる手順に移行することができる。このようにファイルの受渡しができるトランスポートレイヤーであればキーワードの受渡しを確実に行うことができる。即ち、本実施の形態のＣＤＰＳにユニークなコマンド等を追加することなく、キーワードを交換することができる。尚、ここでキーワードとしては、上述の例に限定されるものでなく、同じキーワードであっても良い。またこのキーワードによるネゴシエーションを行う時間を短縮するために、スクリプト形式のハンドルの最初（ｉ＝１）にこのキーワードを入れておくことにより、互いの機器を確認するのに要する時間を短縮できる。
【００８９】
図２０は、ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙの手順の続きを説明する図である。
【００９０】
ここではまず１５０１で、ＰＤプリンタ装置１０００がサポートしている手続「標準手順」、「拡張手順」をＤＳＣ３０１２に通知するためにＳｅｎｄＯｂｊｅｃｔＩｎｆｏにより、ＤＳＣ３０１２に対して送信したいオブジェクト情報があることを伝える。これに対して肯定応答（ＯＫ）がＤＳＣ３０１２から送られてくると、１５０２でＳｅｎｄＯｂｊｅｃｔによりオブジェクトを送信する旨をＤＳＣ３０１２に伝え、次の１５０３のＯｂｊｅｃｔＤａｔａで、このＰＤプリンタ装置１０００がサポートしている手続に関する情報（「標準」／「拡張」）を送信する。次に１５０４で、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して、ＧｅｔＯｂｊｅｃｔ動作を起動したい（プッシュモードに移行）旨を伝える。これにより１５０５で、ＰＤプリンタ装置１０００からオブジェクト情報に関する情報を受信する旨が伝えられると（ＧｅｔＯｂｊｅｃｔＩｎｆｏ）、１５０６で、ＯｂｊｅｃｔＩｎｆｏ  Ｄａｔａｓｅｔにより、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対してオブジェクトの情報が通知され、１５０７で、そのオブジェクト情報を指定してオブジェクト情報そのものが要求されると、Ｏｂｊｅｃｔ  Ｄａｔａｓｅｔにより、ＤＳＣ３０１２が使用する手続（「標準」、「拡張」等）をＰＤプリンタ装置１０００に知らせる（１５０８）。
【００９１】
これにより、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して、画像の印刷モードを指定することができる。
【００９２】
＜ＣＤＰＳ＿Ｓｅｒｖｉｃｅ  （標準）＞
図２１は、本実施の形態に係るＣＤＰＳにおけるプリンタ機能の通知手順を説明する図である。
【００９３】
この手順では、１６００において、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送信したいオブジェクト情報があることを伝え、ＳｅｎｄＯｂｊｅｃｔとＯｂｊｅｃｔＤａｔａにより、ＤＳＣ３０１２に対してプリンタ１０００の機能を通知する。
【００９４】
＜ＣＤＰＳ＿ＪｏｂＤａｔａ  （標準）＞
図２２は、本実施の形態に係るＣＤＰＳにおける、ＰＤプリンタ装置１０００がＤＳＣ３０１２に保持されている画像データ（ＪＰＥＧ画像）を取得する場合（ＣＤＰＳ＿ＪｏｂＤａｔａ）の通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００９５】
まず１８００で、ＤＳＣ３０１２（或いはストレージ）が保持しているオブジェクトに関する情報を要求すると、１８０１で、そのオブジェクトに関する情報（Ｏｂｊｅｃｔ  Ｄａｔａｓｅｔ）がＤＳＣ３０１２からＰＤプリンタ装置１０００に送られる。次に、１８０２で、そのオブジェクトを指定して取得要求（ＧｅｔＯｂｊｅｃｔ）を発行すると、１８０３で、その要求された画像ファイル（Ｏｂｊｅｃｔ  Ｄａｔａｓｅｔ）がＤＳＣ３０１２からＰＤプリンタ装置１０００に対して送信される。この様にしてＰＤプリンタ装置１０００は、ＤＳＣ３０１２から所望の画像ファイルを取得することができる。なお、この場合の戻り値は、「Ｄａｔａ＿Ｓｉｚｅ」と「Ｉｍａｇｅ＿Ｄａｔａ」である。
【００９６】
＜ＣＤＰＳ＿ＰａｇｅＳｔａｒｔ  （標準）＞
図２３は、本実施の形態に係るＣＤＰＳにおけるプリント開始通知処理の手順を説明する図である。
【００９７】
この手順では、１７００において、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送信したいオブジェクト情報（印刷開始通知）があることを伝え、１７０１で、ＳｅｎｄＯｂｊｅｃｔとＯｂｊｅｃｔＤａｔａにより、ＤＳＣ３０１２に対してプリント開始を通知する。
【００９８】
＜ＣＤＰＳ  ＰａｇｅＥｎｄ  （標準）＞
図２４は、本実施の形態に係るＣＤＰＳにおける、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して、１ページのプリント処理を通知する通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００９９】
この手順では、１９１０において、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送信したいオブジェクト情報（印刷終了通知）があることを伝え、１９１１で、ＳｅｎｄＯｂｊｅｃｔとＯｂｊｅｃｔＤａｔａにより、ＤＳＣ３０１２に対して１ページのプリント終了を通知する。
【０１００】
＜ＣＤＰＳ＿ＪｏｂＥｎｄ  （標準）＞
図２５は、本実施の形態に係るＣＤＰＳにおける、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して、プリントジョブが終了したことを通知する通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【０１０１】
１９１０で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して１ページ印刷処理が終了したことが通知され、１９１１で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して印刷ジョブが終了したことが通知される。
【０１０２】
＜ＣＤＰＳ  Ｅｒｒｏｒ  （標準）＞
図２６は、本実施の形態に係るＣＤＰＳにおける、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対してエラー状態などを通知する通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【０１０３】
まず１９００で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送信したいオブジェクト情報（エラー情報）がある旨をＳｅｎｄＯｂｊｅｃｔＩｎｆｏにより通知する。ＤＳＣ３０１２からの肯定応答（ＯＫ）に対して、ＰＤプリンタ装置１０００におけるエラー等のステータス情報をＳｅｎｄＯｂｊｅｃｔおよびＯｂｊｅｃｔＤａｔａにより送信する（１９０２）。
【０１０４】
＜ＣＤＰＳ  Ｊｏｂ  （標準）＞
図２７は、本実施の形態に係るＣＤＰＳにおける、ＤＳＣ３０１２（操作制御）からＰＤプリンタ装置１０００に対して、プリントジョブの開始を通知する通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【０１０５】
まず２２００において、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対してＲｅｑｕｅｓｔＯｂｊｅｃｔＴｒａｎｓｆｅｒを送り、ＤＳＣ３０１２が指示書を発行したい旨を通知する。これにより２２０１で、ＰＤプリンタ装置１０００からＧｅｔＯｂｊｅｃｔＩｎｆｏが発行されると、ＤＳＣ３０１２は送信したいオブジェクト情報に関する情報を送信し、これに対してＰＤプリンタ装置１０００からオブジェクト情報が要求されると（ＧｅｔＯｂｊｅｃｔ：２２０３）、２２０４で、Ｏｂｊｅｃｔ  Ｄａｔａｓｅｔ（プリント指示書）を送信して、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して印刷命令を発行する。
【０１０６】
＜ＣＤＰＳ＿ＪｏｂＡｂｏｒｔ  （標準）＞
図２８は、本実施の形態に係るＣＤＰＳにおけるＤＳＣ３０１２（操作制御）からＰＤプリンタ装置１０００（印刷制御）に対してプリント中止命令（ＣＤＰＳ＿ＪｏｂＡｂｏｒｔ）を発行する通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【０１０７】
＜ＣＤＰＳ＿ＪｏｂＣｏｎｔｉｎｕｅ  （標準）＞
図２９は、本実施の形態に係るＣＤＰＳにおける、ＤＳＣ３０１２（操作制御）からＰＤプリンタ装置１０００（印刷制御）に対してプリント再開命令（ＣＤＰＳ＿ＪｏｂＣｏｎｔｉｎｕｅ）を発行する通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【０１０８】
図２８及び図２９において、図２７と同様の手順実行後、図２８の２３０１で、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して印刷中止指示書が発行され、図２９の２４０１では、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して印刷継続指示書が通知される。
【０１０９】
＜ＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａ  （標準）＞
図３０は、本実施の形態に係るＣＤＰＳにおける、ＰＤプリンタ装置１０００（印刷制御）がＤＳＣ３０１２（ストレージ）に保持されている画像データ（ＪＰＥＧ画像）を取得する場合の部分画像の取得通信手順（オプション）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【０１１０】
まず１９２０で、ＤＳＣ３０１２が保持しているオブジェクトに関する情報を要求すると、１９２１で、そのオブジェクトに関する情報（Ｏｂｊｅｃｔ  Ｄａｔａｓｅｔ）がＤＳＣ３０１２からＰＤプリンタ装置１０００に送られる。次に、１９２２で、そのオブジェクトを指定して取得要求（ＧｅｔＯｂｊｅｃｔ）を発行する。尚、この部分画像取得機能は、前述したように、所望の画像データの先頭からバイト数（ｏｆｆｓｅｔ）と、取得したい画像データのバイト数（ｓｉｚｅ）が指示されているので、１９２３では、その要求された画像ファイル（Ｏｂｊｅｃｔ  Ｄａｔａｓｅｔ）の部分画像データがＤＳＣ３０１２からＰＤプリンタ装置１０００に対して送信される。この様にしてＰＤプリンタ装置１０００は、ＤＳＣ３０１２から所望の部分画像データを取得することができる。なお、この場合の戻り値は、「Ｄａｔａ＿Ｓｉｚｅ」と「Ｉｍａｇｅ＿Ｄａｔａ」である。
【０１１１】
図３１は、本実施の形態に係るＣＤＰＳにおける、ＰＤプリンタ装置１０００（印刷制御）がＤＳＣ３０１２（ストレージ）に保持されている画像データ（ＪＰＥＧ画像）を取得する部分画像取得機能を受信した場合のＤＳＣ或いはストレージにおける処理を説明するフローチャートである。
【０１１２】
まずステップＳ２１で、＜ｉｍａｇｅ  （＃ＰＣＤＡＴＡ  ）＞に含まれる画像ファイルのハンドル名を取得し、次にステップＳ２２に進み、「ｏｆｆｓｅｔ」により、先頭からのオフセットのバイト数を取得し、次にステップＳ２３では、「ｓｉｚｅ」により、取得する画像データのバイト数を取得する。こうしてステップＳ２４に進み、記憶デバイス８１１の、指定された画像ファイルのオフセット位置から、指定されたバイト数の画像データを読込む。そしてステップＳ２５に進み、その読み出した部分画像データを、要求元であるＰＤプリンタ装置１０００或いは印刷制御８０３に送出する。
【０１１３】
以上説明した様に、ＰＴＰアーキテクチャ上でＰＤプリンタ装置１０００がＤＳＣ３０１２の保持する画像の部分画像取得を行う場合には、ＰＤプリンタ装置が「画像ファイルのハンドル」、「先頭からのオフセットバイト数」及び「取得する部分画像データのバイト数」がパラメータとして記述されたＰＴＰオペレーション「ＧｅｔＰａｒｔｉａｌＯｂｊｅｃｔ」を発行する。ＤＳＣ３０１２は前記ＰＴＰオペレーションのパラメータに基づいて要求された部分画像データ部分を特定して前記ＰＴＰオペレーションの応答としてＰＤプリンタ装置１０００へと送出する事で部分画像データの転送が実現される。
【０１１４】
以上の説明では、物理層のＵＳＢの上にＰＴＰアーキテクチャを用いた場合で説明したが、以下、それ以外のアーキテクチャを用いた例を説明する。
【０１１５】
［ＭＳＣアーキテクチャ］
ここでは、ＭＳＣ（Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ）を用いた例を説明する。ここでは図７に示すＭａｓｓ  Ｓｔｏｒａｇｅ  ＣｌａｓｓのＵＳＢインターフェースが使用される。この場合は、ＤＳＣ３０１２のＵＩを使用せずに、ＰＤプリンタ装置１０００のＵＩを使用する。従って、前述の操作制御８０１、記憶制御８０２及び印刷制御８０３は全てＰＤプリンタ装置１０００に配置されていることになる。そして基本的にはＰＤプリンタ装置１０００のファイルシステムを利用して、画像ファイルのＯｐｅｎ、Ｒｅａｄ、Ｃｌｏｓｅ及びディレクトリ操作等（ファイル操作）により、前述したＧｅｔＪｏｂＤａｔａ及びＧｅｔＰａｒｔｉａｌＪｏｂＤａｔａ、ＧｅｔＤａｔａＬｉｓｔ（Ｆｉｌｅシステムによる）を実行する。
【０１１６】
＜ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ（標準／拡張）＞
この場合、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対してＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙが送られるが、ＤＳＣ３０１２は、前述したＣＤＰＳ初期化８００の機能を有していなくても、それに対して応答がない場合には、ＰＤプリンタ装置１０００は自動的に「標準」で受信が確立したことにしてＭＳＣ（バルクオンリー）に移行し、操作制御８０１、記憶制御８０２及び印刷制御８０３をＰＤプリンタ装置１０００側とし、ＣＤＰＳ＿ＧｅｔＰａｒｔｉａｌＤａｔａを「サポート済み」とする。
【０１１７】
＜ＣＤＰＳ＿ＪｏｂＤａｔａ（標準）＞
ＰＤプリンタ装置１０００は、プリント命令により指定された画像データを取得する。ここではＰＤプリンタ装置１０００からＤＳＣ３０１２に対して「Ｒｅｃｅｉｖｅ  Ｃｏｍｍａｎｄ」が発行され、これに応答して画像データ「Ｉｍａｇｅ  Ｄａｔａ」をＤＳＣ３０１２からＰＤプリンタ装置１０００に送信する。実際には、ＰＤプリンタ装置１０００に構築されたファイルシステムを介して記憶デバイス８１１の画像データをＳＣＳＩコマンドを用いて取得する。尚、この時の戻り値は、「Ｄａｔａ  Ｓｉｚｅ」と「Ｉｍａｇｅ  Ｄａｔａ」である。
【０１１８】
＜ＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａ（オプション）＞
この手順は上述の「ＣＤＰＳ＿ＪｏｂＤａｔａ」の場合と基本的に同じで、部分的に画像データを取得する点のみが異なる。尚、この場合の戻り値も「Ｄａｔａ  Ｓｉｚｅ」と「Ｉｍａｇｅ  Ｄａｔａ」である。
【０１１９】
以上説明した様に、ＭＳＣアーキテクチャ上でＰＤプリンタ装置１０００がＤＳＣ３０１２の保持する画像の部分画像取得を行う場合には、ＰＤプリンタ装置が「画像ファイルのハンドル」、「先頭からのオフセットバイト数」、「取得する部分画像データのバイト数」及び「ＰＤプリンタ機器１０００のファイルシステム」に基づいて、ＤＳＣ３０１２の保持するストレージ中の「読み取り位置（アドレス）」及び「読み取りバイト数」がパラメータとして記述されたＳＣＳＩコマンド「Ｒｅｃｅｉｖｅ」を発行する。ＤＳＣ３０１２は前記ＳＣＳＩコマンドのパラメータに基づいて要求されたデータを前記ＳＣＳＩコマンドへの応答としてＰＤプリンタ装置１０００へと送出する事で部分画像データの転送が実現される。この場合、ＰＴＰアーキテクチャの場合と異なり、ＤＳＣ３０１２が受け取るＳＣＳＩコマンドのパラメータには「画像ファイルのハンドル」「先頭からのオフセットバイト数」という情報は含まれていないので、ＤＳＣ３０１２から見ると、送られてきたＳＣＳＩコマンドがＣＤＰＳ＿ＪｏｂＤａｔａに基づいて発行された物なのか、ＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａに基づいて発行された物なのかの区別はつかない。
【０１２０】
［Ｂｌｕｅｔｏｏｔｈアーキテクチャ］
ここでは、ブルーツース（Ｂｌｕｅｔｏｏｔｈ）を用いた例を説明する。ここでは図７の一番右側のインターフェースが使用される。この実施の形態では、物理層の上位の通信層として２つのデバイス間のセッションを確立して、オブジェクトの送受信等を行うことができる、Ｂｌｕｅｔｏｏｔｈ  Ｓｔｉｌｌ  Ｉｍａｇｅ  Ｐｒｏｆｉｌｅを用いて上位のアプリケーションレイヤーの取り決めを記述している。
【０１２１】
このＢｌｕｅｔｏｏｔｈ  Ｓｔｉｌｌ  Ｉｍａｇｅ  Ｐｒｏｆｉｌｅの場合には、前述の接続に加えて、ＤＳＣ（Ｈｏｓｔ）→ＰＤプリンタ装置（Ｓｌａｖｅ）の向きの接続をもう一つ形成し、ＤＳＣから通常の「ＰｕｔＩｍａｇｅ」コマンドを発行することにより情報の発信を行う。尚、ここでは便宜上、
接続１：ＰＤプリンタ装置（ホスト）    →  ＤＳＣ（スレーブ）
接続２：ＰＤプリンタ装置（スレーブ）  →  ＤＳＣ  （ホスト）
とする。
【０１２２】
以下、このブルーツースにおいて、各サービス機能のプロトコルを説明する。尚、図３２乃至図４３のサービス機能は、前述の図１９乃至図３０に示すサービス機能に対応しているので、ここでは簡単に説明する。
【０１２３】
＜ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｃｏｖｅｒｙ  （標準／拡張）＞
図３２は、ブルーツースにおいて、ＣＤＰＳへの移行手順のプロトコルを示す。ここでも図１９と同様に、キーワード（”山”、”川”）により接続相手を認識している。またＤＳＣ３０１２は、このキーワードにＤＳＣ３０１２が備えているＵＩのサポートレベルを通知する。これによりＰＤプリンタ装置１０００は、ＤＳＣ或いはＰＤプリンタ装置１０００のいずれのＵＩを使用するかをキーワードに付加してＤＳＣ３０１２に通知する。
【０１２４】
＜ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ  （標準／拡張）＞
図３３は、ブルーツースにおいて、ＣＤＰＳへの移行手順のプロトコルの続きを示す図で、ＤＳＣ３０１２とＰＤプリンタ装置１０００との間でのＣＤＰＳモードでの通信が確立される。
【０１２５】
＜ＣＤＰＳ＿Ｓｅｒｖｉｃｅ  （標準）＞
図３４は、ブルーツースにおいて、ＰＤプリンタ装置の機能の通知手順のプロトコルを示す図で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して、ＰＤプリンタ装置１０００の機能が通知される。
【０１２６】
＜ＣＤＰＳ＿ＪｏｂＤａｔａ  （標準）＞
図３５は、ブルーツースにおいて、ＰＤプリンタ装置１０００がプリント命令によりＤＳＣ３０１２から画像データを取得するプロトコルを示す図で、この場合の戻り値は、「Ｄａｔａ  Ｓｉｚｅ」と「Ｉｍａｇｅ  Ｄａｔａ」である。
【０１２７】
＜ＣＤＰＳ＿ＰａｇｅＳｔａｒｔ  （標準）＞
図３６は、ブルーツースにおいて、ＰＤプリンタ装置１０００からＤＳＣ３０１２にプリント開始を通知するプロトコルを示す図である。
【０１２８】
＜ＣＤＰＳ＿ＰａｇｅＥｎｄ  （標準）＞
図３７は、ブルーツースにおいて、ＰＤプリンタ装置１０００からＤＳＣ３０１２に１ページのプリント終了を通知するプロトコルを示す図である。
【０１２９】
＜ＣＤＰＳ＿ＪｏｂＥｎｄ  （標準）＞
図３８は、ブルーツースにおいて、ＰＤプリンタ装置１０００からＤＳＣ３０１２にプリントジョブの終了を通知するプロトコルを示す図である。
【０１３０】
＜ＣＤＰＳ＿Ｅｒｒｏｒ  （標準）＞
図３９は、ブルーツースにおいて、ＰＤプリンタ装置１０００からＤＳＣ３０１２にプリンタのエラーを通知するプロトコルを示す図である。
【０１３１】
＜ＣＤＰＳ＿Ｊｏｂ  （標準）＞
図４０は、ブルーツースにおいて、ＤＳＣ３０１２からＰＤプリンタ装置１０００にプリント命令を発行するプロトコルを示す図である。
【０１３２】
＜ＣＤＰＳ＿ＪｏｂＡｂｏｒｔ  （標準）＞
図４１は、ブルーツースにおいて、ＤＳＣ３０１２からＰＤプリンタ装置１０００にプリント中止命令を発行するプロトコルを示す図である。
【０１３３】
＜ＣＤＰＳ＿ＪｏｂＣｏｎｔｉｎｕｅ  （標準）＞
図４２は、ブルーツースにおいて、ＤＳＣ３０１２からＰＤプリンタ装置１０００にプリント再開命令を発行するプロトコルを示す図である。
【０１３４】
＜ＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａ  （オプション）＞
図４３は、ブルーツースにおいて、ＰＤプリンタ装置１０００がプリント命令によりＤＳＣ３０１２から部分画像データを取得するプロトコルを示す図で、この場合の戻り値は、「Ｄａｔａ  Ｓｉｚｅ」と「Ｉｍａｇｅ  Ｄａｔａ」である。
【０１３５】
以上説明した様に、ブルーツースアーキテクチャ上でＰＤプリンタ装置１０００がＤＳＣ３０１２の保持する画像の部分画像取得を行う場合には、ＰＤプリンタ装置が「画像ファイルのハンドル」、「先頭からのオフセットバイト数」及び「取得する部分画像データのバイト数」がパラメータとして記述されたブルーツースコマンド「ＧｅｔＰａｒｉａｌＩｍａｇｅ」を発行する。ＤＳＣ３０１２は前記ブルーツースコマンドのパラメータに基づいて要求された部分画像データ部分を特定して前記ブルーツースコマンドの応答としてＰＤプリンタ装置１０００へと送出する事で部分画像データの転送が実現される。この転送方法はＰＴＰアーキテクチャ上での実現方法とほぼ同じである。
【０１３６】
上記のように、ＰＤプリンタ装置１０００は、画像提供装置たるＤＳＣ３０１２との通信で用いている通信プロトコルやインターフェースに応じて、部分画像データの要求コマンドをＤＳＣ３０１２に送信している。
【０１３７】
この際に、画像供給装置から送られる情報は、利用しているインターフェースの種類に関わらず共通にすることが可能になる。つまり、画像供給装置の操作部を操作されて、出力すべき画像及びその出力形態が指示され、その指示された情報（ｊｏｂデータ）を、出力装置たるＰＤプリンタ１０００が解釈して、インターフェースの種類に応じた部分画像要求コマンドを送信するようにしているからである。
【０１３８】
このような構成によって、電源能力に乏しいことが予想されるＤＳＣ３０１２等の画像供給装置の変換処理負荷を軽減させることが出来る。一方、ＰＤプリンタ１０００等の出力装置においては、自己の出力能力や出力状況に応じて部分画像要求をする為には、出力装置側でｊｏｂデータを変換して部分画像要求を発生させる方が、システムの制御がしやすい。
【０１３９】
なお、ブルーツースアーキテクチャ上ではＰＴＰアーキテクチャ及びＭＳＣアーキテクチャと異なり、ＤＳＣ３０１２からＰＤプリンタ機器１０００への方向のデータ転送要求（ＰｕｔＩｍａｇｅ）をＤＳＣ３０１２側から発行する事が可能なので、次の様な実現方法を用いる事も出来る。この例を以下に示す。尚、左から右への矢印は、ＰＤプリンタからＤＳＣへのデータの流れを示し、右から左への矢印は、ＤＳＣからＰＤプリンタへのデータの流れを示している。
【０１４０】
0003619235.tif 000013
【０１４１】
まず、ＰＤプリンタ機器１０００はＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａを、他のＣＤＰＳコマンド（例：ＣＤＰＳ＿ＰａｇｅＳｔａｒｔ）の様にスクリプトのまま「ＰｕｔＩｍａｇｅ」を発行してＤＳＣ３０１２に送付する。ＩｍａｇｅＯｂｊｅｃｔＤａｔａとして送信されたＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａのスクリプトを受け取ったＤＳＣ３０１２はスクリプト中に記載された「画像ファイルのハンドル」、「先頭からのオフセットバイト数」及び「取得する部分画像データのバイト数」に基づいて要求されたデータを特定し、ブルーツースコマンド「ＰｕｔＩｍａｇｅ」を発行してＰＤプリンタ装置１０００へと送出する事で部分画像データの転送が実現される。
【０１４２】
ここまで説明したＰＴＰ、ＭＳＣ、ブルーツースの３種類のアーキテクチャそれぞれにおいて、ＣＤＰＳ＿ＪｏｂＤａｔａ及びＣＤＰＳ＿ＰａｒｔｉａｌＪｏｂＤａｔａの処理はそれぞれに応じた好適な実現方法が存在するが、アプリケーション層から見れば、発行するＣＤＰＳコマンド、応答として帰ってくる情報、取得するデータは全て同じなのでアプリケーション層は共通で利用する事が可能となる。また、他のアーキテクチャにＣＤＰＳを移植する場合にはそのアーキテクチャの特性に合わせた好適な実現方法がありうる。
【０１４３】
実際に複数のアーキテクチャをサポートしているＰＤプリンタ機器１０００がどのアーキテクチャを利用してＣＤＰＳ処理を行うかは、接続されるＤＳＣ３０１２のサポートしているアーキテクチャによって決まる。また逆に、実際に複数のアーキテクチャをサポートしているＤＳＣ３０１２がどのアーキテクチャを利用してＣＤＰＳ処理を行うかは、接続されるＰＤプリンタ機器１０００のサポートしているアーキテクチャによって決まる。仮にＰＤプリンタ機器１０００及びＤＳＣ３０１２の両方が複数のアーキテクチャをサポートしていた場合には、いずれかの機器のＵＩを用いてユーザに使用するアーキテクチャを決定する、又はいずれかの機器の実装において使用するアーキテクチャの優先順位を定めておく、などとすれば良い。
【０１４４】
図４４Ａ〜図４４Ｃは、図１１のフローチャートにおいて、上述した各種制御機能（操作制御８０１、記憶制御８０２及びプリント制御８０３）をどのように分担するかを決定するための基準となるＤＳＣ３０１２及びＰＤプリンタ装置１０００それぞれのサポートレベルを説明するための図で、図４４Ａは操作制御８０１のサポートレベルを示し、図４４Ｂは記憶制御８０２のサポートレベル、そして図４４Ｃは、プリント制御８０３のサポートレベルをそれぞれ示している。ここでＤＳＣ３０１２は、レベル「０」〜「４」のサポートレベルの設定が可能であり、ＰＤプリンタ装置１０００は、レベル「１」〜「３」のサポートレベルの設定が可能である。もしここで、ＤＳＣ３０１２とＰＤプリンタ装置１０００とが同じサポートレベルの場合は、いずれの機能を優先するかは、判断する側の裁量に任せるものとする。
【０１４５】
例えば図４４Ａの操作制御８０１のサポートレベルにおいては、レベル「４」はＤＳＣ３０１２の機能を使用するように主張するレベル、レベル「３」はビューワと操作ボタンを備えていることを示している。レベル「２」は操作ボタンのみ、レベル「１」は最小限の機能しか有していないことを示し、レベル「０」は、その機能をサポートしていないことを示している。
【０１４６】
また図４４Ｂの記憶制御８０２のサポートレベルにおいては、レベル「４」はＤＳＣ３０１２の機能を使用するように主張するレベル、レベル「３」はハンドル機能を備えていることを示している。レベル「２」は画像ファイルシステムを有し、レベル「１」は記憶デバイス８１１にアクセスできる機能しか有していないことを示し、レベル「０」は、その機能をサポートしていないことを示している。
【０１４７】
更に図４４Ｃの印刷制御８０３のサポートレベルにおいては、レベル「４」はＤＳＣ３０１２の機能を使用するように主張するレベル、レベル「３」はレンダリング機能を備えていることを示している。レベル「２」は階調処理のみ、レベル「１」はＪＰＥＧの復号機能しか有していないことを示し、レベル「０」は、その機能をサポートしていないことを示している。
【０１４８】
この様にして示されるＰＤプリンタ装置１０００及びＤＳＣ３０１２のそれぞれの機能を比較し、各機能毎に、いずれの機能を使用すると最も効率が良いかを判断して、前述の図１２乃至図１４，及び図１７，図１８に示すような機能分担が実施される。
【０１４９】
なお本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１５０】
また、本発明の目的は、前述した実施形態の機能（カメラ側で行われる処理、プリンタ側で行われる各種印刷処理）を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１５１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１５２】
以上説明したように本実施例によれば、ＰＤプリンタ装置をＵＳＢホストに、ＤＳＣをスレーブに設定し、印刷動作に入る前に、ＰＤプリンタ装置とＤＳＣとの間でフォトダイレクト印刷に必要な機能を分担させ、最適な乃至はＤＳＣ側の所望の印刷モードを決定して印刷を行わせることができる。また、機能分担の際、例えばＤＳＣ３０１２がＣＤＰＳ自体をサポートしていなかった場合、図１１中のステップＳ１１で、ＤＳＣ３０１２における機能８００〜８０３のそれぞれのサポートレベルをＰＤプリンタ装置１０００に通達する事自体が不可能である。その場合であっても、ＤＳＣ３０１２の各機能８００〜８０３のそれぞれのサポートレベルを０と見做し、それら機能８００〜８０３を全てＰＤプリンタ装置１０００側でサポートする様にすれば、ＣＤＰＳ非対応のＤＳＣ３０１２との間でも、実質的にＣＤＰＳのリソースを共通利用してダイレクトプリントを行う事が可能となる。この「サポートレベルを０と見做す」という処理は図７中のいずれの階層で実現しても構わない。このようにリソースを共通利用する事により、対応機器及び非対応機器両者とのダイレクトプリント実現において、開発期間短縮・コスト削減・リソース削減・信頼性の向上等の効果が期待できる。
【０１５３】
また、本実施例ではＰＤプリンタ装置をＵＳＢホストに、ＤＳＣをスレーブに設定したが、特にこの組み合わせに拘る必要は無く、本発明の主旨である機能分担が好適に行われるのであればいずれの機器がホスト・スレーブを担当しても構わない。
【０１５４】
また、本発明においてＣＤＰＳでの機能分担処理時にユーザビリティの高い方を判定する行為を行う機器はＰＤプリンタ装置１０００に限るわけではなく、ＤＳＣ３０１２が行っても良い。
【０１５５】
更には、ＣＤＰＳでの機能分担処理は、機能８００〜８０３のそれぞれのユーザビリティの比較という手法に限るわけではなく、機能８００〜８０３内の複数の機能をまとめた機能群毎に行っても良い。
【０１５６】
例えば図１６中の切り分け位置Ａ〜Ｄの内、どの切り分け位置にＰＤプリンタ機器１０００が対応可能かどうかをＤＳＣ３０１２へ伝達し、ＤＳＣ３０１２が最終的にどの切り分け位置で接続するかを決定し、ＰＤプリンタ機器１０００へ伝達しても良い。
【０１５７】
また、所定の切り分け位置決定方法（例：ＰＤプリンタ機器１０００の希望位置が優先される、等）を予めＰＤプリンタ機器１０００及びＤＳＣ３０１２で共有しておき、両機器がそれぞれの機器が対応可能な切り分け位置を相手機器へ伝達し、共有する切り分け位置決定方法に従って決定された切り分け位置を共有する手法を用いても良い。この場合、図１６のＡ〜Ｄのような機能の並び順を、各装置で共有しておく必要がある。
【０１５８】
また、本実施の形態では機能８００〜８０３の４種類で説明したが、この４種類の区切りに限る訳ではなく、機能８００〜８０３の各機能を構成する複数の部分機能毎に部分機能分担処理を行っても良い。例えばプリント制御を構成する部分機能として、画像フォーマットサポート機能、レイアウト印刷機能、日付・ファイル名印刷機能、画像補正機能、サイズ固定印刷機能、画像切りだし印刷機能、印刷ジョブフォーマットサポート機能等がある。
【０１５９】
以下に各部分機能の機能分担の実施の形態を説明する。
【０１６０】
［画像フォーマットサポート機能］
まず、ＰＤプリンタ機器１０００がサポートしている画像フォーマット（例：ＪＰＥＧ、ＴＩＦＦ等）をＤＳＣ３０１２へ伝達する。次に、ＤＳＣ３０１２はＰＤプリンタ機器１０００がサポートしている画像フォーマットについてはＰＤプリンタ機器１０００側が担当し、それ以外の画像フォーマットについてはＤＳＣ３０１２側が担当する旨を決定し、ＰＤプリンタ機器１０００に伝達する。
【０１６１】
ＰＤプリンタ機器１０００が担当する画像フォーマットの写真画像を出力する場合には、ＤＳＣ３０１２は印刷すべき写真画像をＰＤプリンタ機器１０００へ伝達し、ＰＤプリンタ機器１０００は伝達された写真画像を出力する。
【０１６２】
ＤＳＣ３０１２が担当する画像フォーマットの写真画像を出力する場合には、ＤＳＣ３０１２が担当している画像フォーマットの写真画像をＰＤプリンタ機器１０００がサポートしている画像フォーマットへ変換してフォーマット変換済み写真画像を作成し、そのフォーマット変換済み写真画像をＰＤプリンタ機器１０００へ伝達する。ＰＤプリンタ機器１０００は伝達されたフォーマット変換済み写真画像を出力する。
【０１６３】
［レイアウト印刷機能］
まず、ＰＤプリンタ機器１０００がサポートしているレイアウト印刷機能（例：１ページあたり２写真画像、４写真画像、等）をＤＳＣ３０１２へ伝達する。次に、ＤＳＣ３０１２はＰＤプリンタ機器１０００がレイアウト印刷機能をサポートしている場合についてはＰＤプリンタ機器１０００が担当し、それ以外の場合にはＤＳＣ３０１２が担当する旨を決定し、ＰＤプリンタ機器１０００に伝達する。
【０１６４】
ＰＤプリンタ機器１０００がレイアウト印刷機能を担当して出力する場合には、ＤＳＣ３０１２は印刷すべき写真画像とレイアウト印刷情報をＰＤプリンタ機器１０００へ伝達し、ＰＤプリンタ機器１０００は伝達された写真画像とレイアウト印刷情報に基づいて写真画像のレイアウト印刷を出力する。
【０１６５】
ＤＳＣ３０１２がレイアウト印刷機能を担当して出力する場合には、ＤＳＣ３０１２が写真画像とレイアウト印刷情報に基づいて複数の写真画像を含んだ１枚のレイアウト済み写真画像を作成し、そのレイアウト済み写真画像をＰＤプリンタ機器１０００へ伝達する。ＰＤプリンタ機器１０００は伝達されたレイアウト済み写真画像を出力する。
【０１６６】
［日付・ファイル名印刷機能］
まず、ＰＤプリンタ機器１０００がサポートしている日付・ファイル名印刷機能をＤＳＣ３０１２へ伝達する。次に、ＤＳＣ３０１２はＰＤプリンタ機器１０００が日付・ファイル名印刷機能をサポートしている場合についてはＰＤプリンタ機器１０００が担当し、それ以外の場合にはＤＳＣ３０１２が担当する旨を決定し、ＰＤプリンタ機器１０００に伝達する。
【０１６７】
ＰＤプリンタ機器１０００が日付・ファイル名印刷機能を担当して出力する場合には、ＤＳＣ３０１２は印刷すべき写真画像と写真画像に付随する日付・ファイル名情報をＰＤプリンタ機器１０００へ伝達し、ＰＤプリンタ機器１０００は伝達された写真画像と日付・ファイル名情報を出力する。
【０１６８】
ＤＳＣ３０１２が日付・ファイル名印刷機能を担当して出力する場合には、ＤＳＣ３０１２が写真画像に付随する日付・ファイル名情報を印刷情報として生成し、それを写真画像と合成して合成済み写真画像を作成し、その合成済み写真画像をＰＤプリンタ機器１０００へ伝達する。ＰＤプリンタ機器１０００は伝達された合成済み写真画像を出力する。
【０１６９】
［画像補正機能］
まず、ＰＤプリンタ機器１０００がサポートしている画像補正機能をＤＳＣ３０１２へ伝達する。次に、ＤＳＣ３０１２はＰＤプリンタ機器１０００がサポートしている画像補正機能についてはＰＤプリンタ機器１０００側が担当し、それ以外の画像補正機能についてはＤＳＣ３０１２側が担当する旨を決定し、ＰＤプリンタ機器１０００に伝達する。
【０１７０】
ＰＤプリンタ機器１０００が画像補正機能を担当して出力する場合には、ＤＳＣ３０１２は印刷すべき写真画像と写真画像に付随する画像補正情報をＰＤプリンタ機器１０００へ伝達し、ＰＤプリンタ機器１０００は伝達された写真画像と画像補正情報に基づいて写真画像に画像補正を施して出力する。
【０１７１】
ＤＳＣ３０１２が画像補正機能を担当して出力する場合には、ＤＳＣ３０１２が担当している画像補正機能を写真画像へ施し、画像補正済み写真画像を作成し、その画像補正済み写真画像をＰＤプリンタ機器１０００へ伝達する。ＰＤプリンタ機器１０００は伝達された画像補正済み写真画像を出力する。
【０１７２】
［サイズ固定印刷機能］
まず、ＰＤプリンタ機器１０００がサポートしているサイズ固定印刷機能（例：用紙サイズに因らずに写真をＬ判サイズで印刷、２Ｌ判サイズで印刷、等）をＤＳＣ３０１２へ伝達する。次に、ＤＳＣ３０１２はＰＤプリンタ機器１０００がサイズ固定印刷機能をサポートしている場合についてはＰＤプリンタ機器１０００が担当し、それ以外の場合にはＤＳＣ３０１２が担当する旨を決定し、ＰＤプリンタ機器１０００に伝達する。
【０１７３】
ＰＤプリンタ機器１０００がサイズ固定印刷機能を担当して出力する場合には、ＤＳＣ３０１２は印刷すべき写真画像とサイズ固定印刷情報をＰＤプリンタ機器１０００へ伝達し、ＰＤプリンタ機器１０００は伝達された写真画像とサイズ固定印刷情報に基づいて写真画像を固定サイズへ変換し、固定サイズ変換済み写真画像を出力する。
【０１７４】
ＤＳＣ３０１２がサイズ固定印刷機能を担当して出力する場合には、ＤＳＣ３０１２が写真画像とサイズ固定印刷情報に基づいて写真画像を固定サイズへ変換し、固定サイズ変換済み写真画像を作成し、その固定サイズ変換済み写真画像をＰＤプリンタ機器１０００へ伝達する。ＰＤプリンタ機器１０００は伝達された固定サイズ変換済み写真画像を出力する。
【０１７５】
［画像切り出し印刷機能］
まず、ＰＤプリンタ機器１０００がサポートしている画像切りだし印刷機能（例：写真中の１矩形部分を切り出して印刷、円形部分を切り出して印刷、等）をＤＳＣ３０１２へ伝達する。次に、ＤＳＣ３０１２はＰＤプリンタ機器１０００が画像切りだし印刷機能をサポートしている場合についてはＰＤプリンタ機器１０００が担当し、それ以外の場合にはＤＳＣ３０１２が担当する旨を決定し、ＰＤプリンタ機器１０００に伝達する。
【０１７６】
ＰＤプリンタ機器１０００が画像切りだし印刷機能を担当して出力する場合には、ＤＳＣ３０１２は印刷すべき写真画像と画像切りだし印刷情報をＰＤプリンタ機器１０００へ伝達し、ＰＤプリンタ機器１０００は伝達された写真画像と画像切りだし印刷情報に基づいて写真画像を切りだし、画像切りだし印刷を出力する。
【０１７７】
ＤＳＣ３０１２が画像切りだし印刷機能を担当して出力する場合には、ＤＳＣ３０１２が写真画像と画像切りだし印刷情報に基づいて写真画像を切りだし、画像切りだし済み写真画像を作成し、その画像切りだし済み写真画像をＰＤプリンタ機器１０００へ伝達する。ＰＤプリンタ機器１０００は伝達された画像切りだし済み写真画像を出力する。
【０１７８】
［印刷ジョブフォーマットサポート機能］
まずＰＤプリンタ機器１０００がサポートしている印刷ジョブフォーマット（例：ＤＰＯＦ、ＣＤＰＳジョブ、等）をＤＳＣ３０１２へ伝達する。次に、ＤＳＣ３０１２はＰＤプリンタ機器１０００がサポートしている印刷ジョブフォーマットについてはＰＤプリンタ機器１０００側が担当し、それ以外の印刷ジョブフォーマットについてはＤＳＣ３０１２側が担当する旨を決定し、ＰＤプリンタ機器１０００に伝達する。
【０１７９】
ＰＤプリンタ機器１０００が担当する印刷ジョブフォーマットの印刷ジョブを出力する場合には、ＤＳＣ３０１２が印刷ジョブをＰＤプリンタ機器１０００へ伝達する。ＰＤプリンタ機器１０００は伝達された印刷ジョブを出力する。
【０１８０】
ＤＳＣ３０１２が担当する印刷ジョブフォーマットの印刷ジョブを出力する場合には、ＤＳＣ３０１２が担当している印刷ジョブフォーマットの印刷ジョブをＰＤプリンタ機器１０００がサポートしている印刷ジョブフォーマットへ変換して変換済み印刷ジョブを作成し、その変換済み印刷ジョブをＰＤプリンタ機器１０００へ伝達する。ＰＤプリンタ機器１０００は伝達された変換済み印刷ジョブを出力する。
【０１８１】
上記いずれの部分機能についても、ＰＤプリンタ機器１０００がサポートしている部分機能についてはＰＤプリンタ機器１０００側のサポートレベルとＤＳＣ３０１２側のサポートレベルを比較してより高い機能を持つ機器側が担当する様にしても良い。また、場合によっては一方の機器が部分機能の全てを担当しても良い。このような場合としては、例えば一方の機器に分担される機能の数が１つや２つ等、他の機器に分担される機能に比して極端に少ない場合が考えられる。このような場合には、多少処理能力が低下しても、却って１つの機器で全ての機能を分担したほうがシステムとしての効率が向上すると考えられる。
【０１８２】
また実際に使う機能や、ジョブに指定される機能を参照して、機能の分担決定に利用しても良い。なぜなら、利用しない機能については処理レベルが低い機器側に分担させても問題はない。このような場合には、結果的に全ての機能が一方の機器に分担されることが発生する。
【０１８３】
上記説明ではＰＤプリンタ機器１０００の機能をＤＳＣ３０１２へ伝達してＤＳＣ３０１２で分担の決定を行ったが、逆にＤＳＣ３０１２の機能をＰＤプリンタ機器１０００へ伝達してＰＤプリンタ機器１０００で分担の決定を行っても良い。
【０１８４】
またこのＣａｐａｂｉｌｉｔｙ情報や各種指示をスクリプトにより行うことにより、他の通信プロトコルへの移植が容易になり、標準化し易くなる。
【０１８５】
また、デバイス間の通信手順は汎用ファイル、汎用フォーマットを用いて行い、その上位レイヤに、本実施の形態に係るアプリケーションの通信手順レイヤを規定することにより、各種インターフェース仕様に依存しない通信手順を規定することができる。
【０１８６】
また、本実施の形態の印刷システムでは、不特定多数の装置同士が接続されるため、それらインターフェースも様々多様である。よって、各種インターフェースで標準にサポートされている仕様で情報をやり取りする必要が生じる。従って、これら装置間での送受信において必須となる機能情報は「ファイル転送」もしくは「オブジェクト転送」で実現させることにより、各種インターフェース仕様に容易に適合できるようにしている。
【０１８７】
尚、画像供給デバイスとしてはデジタルカメラ以外にも、ＰＤＡや携帯電話、テレビジョン、ビデオ機器、画像記憶デバイス等が考えられる。
【０１８８】
同様に、印刷システムとしてはプリンタ以外にも、ブラウン管等の表示素子への表示を行うテレビジョン、大容量記憶メディアへの書き込みを行うビデオ機器、情報記録デバイス等が考えられる。
【０１８９】
また、汎用インターフェースには、上述のＵＳＢやＩＥＥＥ１３９４等に加えてインターネット等のネットワークへの接続も含まれる。
【０１９０】
この様にする事で、例えば１台のＰＤプリンタ装置が複数種類の汎用Ｉ／Ｆを具備し、それぞれの汎用Ｉ／Ｆを用いて複数の異なるＤＳＣとの間でダイレクトプリントを行う場合に、アプリケーションとしては同一ＣＤＰＳのリソースを利用する事が可能となる。
【０１９１】
また逆に１台のＤＳＣが複数種類の汎用Ｉ／Ｆを具備し、それぞれの汎用Ｉ／Ｆを用いて複数の異なるＰＤプリンタとの間でダイレクトプリントを行う場合も同様の事が言える。但し、処理の高速性を要求される画像データの転送（部分転送）については各Ｉ／Ｆ向けに専用のプロトコルを用いた最適化が行われても良い。
【０１９２】
【発明の効果】
以上説明したように本発明によれば、画像供給デバイスから記録装置に対して部分的な画像データを供給し、その部分画像データに応じて記録を行うことができる。また、ＤＳＣ−ＰＤプリンタ間において、最適なダイレクトプリントサービスを提供出来る。さらに、ＣＤＰＳ非対応機器との接続においても共通のリソースを用いて効率的にダイレクトプリントサービスを提供出来る。
【０１９３】
また本発明によれば、画像供給デバイスと記録装置との間の標準的な通信規約を規定して、これらデバイスや装置の機種やメーカに拠らない記録処理を実行できるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＰＤプリンタ装置の概観斜視図である。
【図２】本実施の形態に係るＰＤプリンタ装置の操作パネルの概観図である。
【図３】本実施の形態に係るＰＤプリンタ装置の制御に係る主要部の構成を示すブロック図である。
【図４】本実施の形態に係るＰＤプリンタ装置のＡＳＩＣの構成を示すブロック図である。
【図５】本実施の形態に係るデジタルカメラの構成を示すブロック図である。
【図６】本実施の形態に係るＣＤＰＳ通信手順の概要を説明する図である。
【図７】本実施の形態に係るＣＤＰＳを実装したＰＤプリンタ装置とデジタルカメラのインターフェース及びソフトウェア構成を説明する概念図である。
【図８】本実施の形態に係るＣＤＰＳにおけるサービス機能の概念図である。
【図９】本実施の形態に係るＣＤＰＳにおける印刷までの処理の概要を説明するフローチャートである。
【図１０】本実施の形態に係るＣＤＰＳにおけるＤＳＣとＰＤプリンタ装置におけるサービス機能の概念図である。
【図１１】本実施の形態に係るＰＤプリンタ装置とＤＳＣとを接続してからＣＤＰＳが開始されるまでの処理の概要を説明するフローチャートである。
【図１２】本実施の形態に係るＣＤＰＳにおけるＤＳＣとＰＤプリンタ装置との機能分担例を示す図である。
【図１３】本実施の形態に係るＣＤＰＳにおけるＤＳＣとＰＤプリンタ装置との機能分担例を示す図である。
【図１４】本実施の形態に係るＣＤＰＳにおけるＤＳＣとＰＤプリンタ装置との機能分担例を示す図で、ここではＤＳＣをマスストレージとして扱っている。
【図１５】本実施の形態に係るＣＤＰＳにおける機能コマンドを説明する図である。
【図１６】本実施の形態に係るＣＤＰＳにおけるＤＳＣとＰＤプリンタ装置との間でのサービス機能と、処理の流れを説明するフロー図である。
【図１７】本実施の形態に係るＣＤＰＳにおけるＤＳＣとＰＤプリンタ装置との間でのサービス機能の分担（割当て）例と、処理の流れを説明するフロー図である。
【図１８】本実施の形態に係るＣＤＰＳにおけるＤＳＣとＰＤプリンタ装置との間でのサービス機能の分担（割当て）例と、処理の流れを説明するフロー図である。
【図１９】ＣＤＰＳのサービスディスカバリ（ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２０】ＣＤＰＳにおいて、カメラが使用する手続を通知する（ＣＤＰＳ＿ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ）手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２１】ＣＤＰＳにおけるプリンタ機能の通知（ＣＤＰＳ＿Ｓｅｒｖｉｃｅ）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２２】ＣＤＰＳにおいて、ＰＤプリンタ装置が画像ファイルを取得する機能（ＣＤＰＳ＿ＪｏｂＤａｔａ）の手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２３】ＣＤＰＳにおいて、ＰＤプリンタ装置からカメラに対してプリント開始を指示する機能（ＣＤＰＳ＿ＰａｇｅＳｔａｒｔ）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２４】ＣＤＰＳにおいて、ＰＤプリンタ装置からカメラに対して１ページのプリント終了を送信する機能（ＣＤＰＳ＿ＰａｇｅＥｎｄ）の手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２５】ＣＤＰＳにおいて、ＰＤプリンタ装置からカメラに対して印刷ジョブの終了命令（ＣＤＰＳ＿ＪｏｂＥｎｄ）を発行する手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２６】ＣＤＰＳにおいて、ＰＤプリンタ装置からカメラに対してエラーステータスを送信する機能（ＣＤＰＳ＿Ｅｒｒｏｒ）の手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２７】ＣＤＰＳにおいて、操作制御から印刷制御に対して印刷命令の発行（ＣＤＰＳ＿Ｊｏｂ）する手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２８】ＣＤＰＳにおいて、操作制御から印刷制御に対して印刷中止を発行（ＣＤＰＳ＿ＪｏｂＡｂｏｒｔ）する手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２９】ＣＤＰＳにおいて、操作制御から印刷制御に対して印刷再開を発行（ＣＤＰＳ＿ＪｏｂＣｏｎｔｉｎｕｅ）する手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図３０】ＣＤＰＳにおいて、印刷制御からストレージに対して部分画像の取得を発行（ＣＤＰＳ＿ＰｒｉｎｔＪｏｂＤａｔａ）する手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図３１】ＣＤＰＳにおける部分画像の取得処理を説明するフローチャートである。
【図３２】ブルーツースでのＣＤＰＳへの移行コマンドの通信プロトコルを説明する図である。
【図３３】ブルーツースでのＣＤＰＳへの移行コマンドの通信プロトコルを説明する図である。
【図３４】ブルーツースでのプリンタ機能の通知処理の通信プロトコルを説明する図である。
【図３５】ブルーツースでのストレージから画像データを取得する処理の通信プロトコルを説明する図である。
【図３６】ブルーツースでのプリント開始通知の通信プロトコルを説明する図である。
【図３７】ブルーツースでのプリント終了通知の通信プロトコルを説明する図である。
【図３８】ブルーツースでのプリントジョブの終了通知の通信プロトコルを説明する図である。
【図３９】ブルーツースでのプリンタのエラー通知の通信プロトコルを説明する図である。
【図４０】ブルーツースでのプリント命令の発行処理の通信プロトコルを説明する図である。
【図４１】ブルーツースでのプリント中止命令の発行処理の通信プロトコルを説明する図である。
【図４２】ブルーツースでのプリントジョブの再開命令発行処理の通信プロトコルを説明する図である。
【図４３】ブルーツースにおける、部分画像の取得処理の通信プロトコルを説明する図である。
【図４４】各種制御機能（操作制御、記憶制御及びプリント制御）をどのように分担するかを決定するための基準となるＤＳＣ及びＰＤプリンタ装置それぞれのサポートレベルを説明するための図である。
【図１】
0003619235.tif 000014
【図２】
0003619235.tif 000015
【図３】
0003619235.tif 000016
【図４】
0003619235.tif 000017
【図５】
0003619235.tif 000018
【図６】
0003619235.tif 000019
【図７】
0003619235.tif 000020
【図８】
0003619235.tif 000021
【図９】
0003619235.tif 000022
【図１０】
0003619235.tif 000023
【図１１】
0003619235.tif 000024
【図１２】
0003619235.tif 000025
【図１３】
0003619235.tif 000026
【図１４】
0003619235.tif 000027
【図１５】
0003619235.tif 000028
【図１６】
0003619235.tif 000029
【図１７】
0003619235.tif 000030
【図１８】
0003619235.tif 000031
【図１９】
0003619235.tif 000032
【図２０】
0003619235.tif 000033
【図２１】
0003619235.tif 000034
【図２２】
0003619235.tif 000035
【図２３】
0003619235.tif 000036
【図２４】
0003619235.tif 000037
【図２５】
0003619235.tif 000038
【図２６】
0003619235.tif 000039
【図２７】
0003619235.tif 000040
【図２８】
0003619235.tif 000041
【図２９】
0003619235.tif 000042
【図３０】
0003619235.tif 000043
【図３１】
0003619235.tif 000044
【図３２】
0003619235.tif 000045
【図３３】
0003619235.tif 000046
【図３４】
0003619235.tif 000047
【図３５】
0003619235.tif 000048
【図３６】
0003619235.tif 000049
【図３７】
0003619235.tif 000050
【図３８】
0003619235.tif 000051
【図３９】
0003619235.tif 000052
【図４０】
0003619235.tif 000053
【図４１】
0003619235.tif 000054
【図４２】
0003619235.tif 000055
【図４３】
0003619235.tif 000056
【図４４】
0003619235.tif 000057