(57)【要約】【課題】デジタルカメラは各メーカごとにその仕様や操作方法などが異なっているため、各種メーカのデジタルカメラに対応できるフォトダイレクトプリンタ装置の出現が望まれていた。【解決手段】デジタルカメラ（ＤＳＣ）とＰＤプリンタ装置とをＵＳＢにより直接接続し、ＤＳＣからＰＤプリンタ装置に画像データを送信して記録する記録システムであって、ＰＤプリンタ装置とＤＳＣに実装されたアプリケーション（ＮＣＤＰ）による通信手順の確立後、ＰＤプリンタ装置からＤＳＣに、そのＰＤプリンタ装置が有しているＣａｐａｂｉｌｉｔｙを数字のパラメータを用いて送信し、その送信されたＣａｐａｂｉｌｉｔｙに基づいて、ＤＳＣで設定された印刷条件に従ってＰＤプリンタ装置に対して印刷動作を実行させる。【選択図】　図２５
2004066602.tif 000002
【特許請求の範囲】
【請求項１】
画像供給デバイスと記録装置とを汎用インターフェースを介して直接接続し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムであって、
前記記録装置と前記画像供給デバイスに実装されたアプリケーションによる通信手順の確立後、前記記録装置から前記画像供給デバイスに前記記録装置が有している機能情報を、各機能を特定するパラメータを用いて送信する送信手段と、前記送信手段により送信された前記機能情報に基づいて前記画像供給デバイスで記録条件を設定し、前記記録条件を前記パラメータを用いて前記記録装置に指示して記録動作を実行させる手段と、
を有することを特徴とする記録システム。
【請求項２】
前記送信手段による送信に先立って、前記パラメータを前記画像供給デバイスと記録装置との間で予め確認する手段を更に有することを特徴とする請求項１に記載の記録システム。
【請求項３】
前記汎用インターフェースにおいて、前記記録装置をホストに、前記画像供給デバイスをスレーブとして設定することを特徴とする請求項１又は２に記載の記録システム。
【請求項４】
前記汎用インターフェースはＵＳＢであることを特徴とする請求項１乃至３のいずれか１項に記載の記録システム。
【請求項５】
前記画像供給デバイスはデジタルカメラであり、前記記録装置はプリンタ装置であることを特徴とする請求項１乃至４のいずれか１項に記載の記録システム。
【請求項６】
前記通信手順の確立は、公の規格で定義されている通信規格に基づく通信確立であることを特徴とする請求項１に記載の記録システム。
【請求項７】
画像供給デバイスと記録装置とを汎用インターフェースを介して直接接続し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムの制御方法であって、
前記記録装置と前記画像供給デバイスに実装されたアプリケーションによる通信手順の確立後、前記記録装置から前記画像供給デバイスに前記記録装置が有している機能情報を、各機能を特定するパラメータを用いて送信する送信工程と、前記送信工程で送信された前記機能情報に基づいて前記画像供給デバイスで記録条件を設定し、前記記録条件を前記パラメータを用いて前記記録装置に指示して記録動作を実行させる工程と、
を有することを特徴とする記録制御方法。
【請求項８】
前記送信工程による送信に先立って、前記パラメータを前記画像供給デバイスと記録装置との間で予め確認する工程を更に有することを特徴とする請求項７に記載の記録制御方法。
【請求項９】
前記汎用インターフェースにおいて、前記記録装置をホストに、前記画像供給デバイスをスレーブとして設定することを特徴とする請求項７又は８に記載の記録制御方法。
【請求項１０】
前記通信手順の確立は、公の規格で定義されている通信規格に基づく通信確立であることを特徴とする請求項７乃至９のいずれか１項に記載の記録制御方法。
【請求項１１】
画像供給デバイスと汎用インターフェースを介して直接接続し、前記画像供給デバイスからの画像データを受信して印刷するダイレクトプリンタ装置であって、
前記画像供給デバイスと前記プリンタ装置に実装されたアプリケーションによる通信手順を実行して前記画像供給デバイスと前記プリンタ装置間でのデータのやり取りを実行する通信手段と、
前記通信手段による通信の確立後、当該ダイレクトプリンタ装置が有している機能情報を、各機能を特定するパラメータを用いて前記画像供給デバイスに送信する送信手段と、
前記送信手段により送信された前記機能情報に基づいて前記画像供給デバイスで設定された記録条件を前記パラメータで受信して印刷動作を実行する印刷手段と、
を有することを特徴とするダイレクトプリンタ装置。
【請求項１２】
前記パラメータは数字列で表わされることを特徴とする請求項１１に記載のダイレクトプリンタ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルカメラなどの画像供給デバイスと記録装置とを有する記録システム及びその制御方法とダイレクト印刷装置に関するものである。
【０００２】
【従来の技術】
近年、簡単な操作で画像を撮影してデジタル画像データに変換できるデジタルカメラ（撮像装置）、所謂、デジカメが広く使用されるようになってきている。このようなカメラで撮影した画像を印刷して写真として使用する場合には、通常、一旦、その撮影されたデジタル画像データを、デジタルカメラからＰＣ（コンピュータ）に取り込み、そのＰＣで画像処理を行った後、そのＰＣからカラープリンタに出力して印刷するのが一般的である。
【０００３】
これに対して最近は、ＰＣを介することなく、直接、デジタルカメラからカラープリンタにデジタル画像データを伝送して印刷することができるカラープリントシステムや、デジタルカメラに搭載され、撮像した画像を記憶しているメモリカードを、直接、カラープリンタに装着し、そのメモリカードに記憶されている、撮影された画像を印刷できる、所謂フォトダイレクト（ＰＤ）プリンタ等も開発されている。
【０００４】
【発明が解決しようとする課題】
特に、デジタルカメラから直接プリンタに画像データを伝送して印刷する場合は、デジタルカメラは各メーカごとにその仕様や操作方法などが異なっているため、各種メーカのデジタルカメラに対応できるフォトダイレクトプリンタ装置の出現が望まれていた。また、このようなフォトダイレクトプリンタ装置は、上記説明したデジタルカメラ以外にも、例えば、携帯電話やＰＤＡそれ以外にも各種デバイスからの画像データを受信して印刷することが考えられ、またプリンタ自体の機能も種々であるため、互いのＣａｐａｂｉｌｉｔｙが予測できず、互いの機能情報の交換が必須になる。
【０００５】
本発明は上記従来例に鑑みてなされたもので、インターフェースに依存しない画像データの転送及び記録指示を行うことにより、各社の画像供給デバイスからの画像データを受信して記録できる記録システム及びその制御方法とフォトダイレクト印刷装置を提供することを目的とする。
【０００６】
また本発明の目的は、画像供給デバイスと記録装置との間の標準的な通信規約を規定して、互いの機能情報をパラメータ形式でやり取りすることにより、機能の相互確認を容易にした記録システム及びその制御方法とフォトダイレクト印刷装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために本発明の記録システムは以下のような構成を備える。即ち、
画像供給デバイスと記録装置とを汎用インターフェースを介して直接接続し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムであって、
前記記録装置と前記画像供給デバイスに実装されたアプリケーションによる通信手順の確立後、前記記録装置から前記画像供給デバイスに前記記録装置が有している機能情報を、各機能を特定するパラメータを用いて送信する送信手段と、前記送信手段により送信された前記機能情報に基づいて前記画像供給デバイスで記録条件を設定し、前記記録条件を前記パラメータを用いて前記記録装置に指示して記録動作を実行させる手段と、を有することを特徴とする。
【０００８】
上記目的を達成するために本発明の記録制御方法は以下のような工程を備える。即ち、
画像供給デバイスと記録装置とを汎用インターフェースを介して直接接続し、前記画像供給デバイスから前記記録装置に画像データを送信して記録する記録システムの制御方法であって、
前記記録装置と前記画像供給デバイスに実装されたアプリケーションによる通信手順の確立後、前記記録装置から前記画像供給デバイスに前記記録装置が有している機能情報を、各機能を特定するパラメータを用いて送信する送信工程と、前記送信工程で送信された前記機能情報に基づいて前記画像供給デバイスで記録条件を設定し、前記記録条件を前記パラメータを用いて前記記録装置に指示して記録動作を実行させる工程と、を有することを特徴とする。
【０００９】
上記目的を達成するために本発明のダイレクトプリンタ装置は以下のような構成を備える。即ち、
画像供給デバイスと汎用インターフェースを介して直接接続し、前記画像供給デバイスからの画像データを受信して印刷するダイレクトプリンタ装置であって、
前記画像供給デバイスと前記プリンタ装置に実装されたアプリケーションによる通信手順を実行して前記画像供給デバイスと前記プリンタ装置間でのデータのやり取りを実行する通信手段と、
前記通信手段による通信の確立後、当該ダイレクトプリンタ装置が有している機能情報を、各機能を特定するパラメータを用いて前記画像供給デバイスに送信する送信手段と、
前記送信手段により送信された前記機能情報に基づいて前記画像供給デバイスで設定された記録条件を前記パラメータで受信して印刷動作を実行する印刷手段と、を有することを特徴とする。
【００１０】
また、機能情報と、記録条件を渡すこれらのパラメータは文字の中の数字のみを使って表現することを特長とし、またその長さは固定もしくは可変でも良いことを特徴とする。
【００１１】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００１２】
図１は、本発明の実施の形態に係るフォトダイレクトプリンタ装置（以下、ＰＤプリンタ装置）１０００の概観斜視図である。このＰＤプリンタ装置１０００は、ホストコンピュータ（ＰＣ）からデータを受信して印刷する通常のＰＣプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラからの画像データを受信して印刷する機能を備えている。
【００１３】
図１において、本実施の形態に係るＰＤプリンタ装置１０００の外殻をなす本体は、ケースＭ１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。また、下ケース１００１は、ＰＤプリンタ装置１０００の略下半部を、上ケース１００２は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部が形成されている。さらに、排出トレイ１００４は、その一端部が下ケース１００１に回転自在に保持され、その回転によって下ケース１００１の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ１００４を前面側へと回転させて開口部を開成させることにより、ここから記録シートが排出可能となると共に、排出された記録シートを順次積載し得るようになっている。また、排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて各トレイを手前に引き出すことにより、用紙の支持面積を３段階に拡大、縮小させ得るようになっている。
【００１４】
アクセスカバー１００３は、その一端部が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー１００３を開くことによって本体内部に収納されている記録ヘッドカートリッジ（不図示）あるいはインクタンク（不図示）等の交換が可能となる。なお、ここでは特に図示しないが、アクセスカバー１００３を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバーの開閉状態を検出し得るようになっている。
【００１５】
また、上ケース１００２の上面には、電源キー１００５が押下可能に設けられている。また、上ケース１００２の右側には、液晶表示部１００６や各種キースイッチ等を備える操作パネル１０１０が設けられている。この操作パネル１０１０の構造は、図２を参照して詳しく後述する。１００７は自動給送部で、記録シートを装置本体内へと自動的に給送する。１００８は紙間選択レバーで、プリントヘッドと記録シートとの間隔を調整するためのレバーである。１００９はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード（ＰＣ）としては、例えばコンパクトフラッシュ（登録商標）メモリ、スマートメディア、メモリスティック等がある。１０１１はビューワ（液晶表示部）で、このＰＤプリンタ装置１０００の本体に着脱可能であり、ＰＣカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、１コマ毎の画像やインデックス画像などを表示するのに使用される。１０１２は後述するデジタルカメラを接続するためのＵＳＢ端子である。また、このＰＤ装置１０００の後面には、パーソナルコンピュータ（ＰＣ）を接続するためのＵＳＢコネクタが設けられている。
【００１６】
図２は、本実施の形態に係るＰＤプリンタ装置１０００の操作パネル１０１０の概観図である。
【００１７】
図において、液晶表示部１００６には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここに表示される項目としては、例えば、印刷したい範囲の先頭写真番号、指定コマ番号（開始コマ指定／印刷コマ指定）、印刷を終了した範囲の最後の写真番号（終了）、印刷部数（部数）、印刷に使用する用紙（記録シート）の種類（用紙種類）、１枚の用紙に印刷する写真の枚数設定（レイアウト）、印刷の品位の指定（品位）、撮影した日付を印刷するかどうかの指定（日付印刷）、写真を補正して印刷するかどうかの指定（画像補正）、印刷に必要な用紙枚数の表示（用紙枚数）等がある。これら各項目は、カーソルキー２００１を用いて選択、或いは指定される。２００２はモードキーで、このキーを押下する毎に、印刷の種類（インデックス印刷、全コマ印刷、１コマ印刷等）を切り替えることができ、これに応じてＬＥＤ２００３の対応するＬＥＤが点灯される。２００４はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。２００５は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。２００６は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【００１８】
次に図３を参照して、本実施の形態に係るＰＤプリンタ装置１０００の制御に係る主要部の構成を説明する。尚、この図３において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００１９】
図３において、３０００は制御部（制御基板）を示している。３００１はＡＳＩＣ（専用カスタムＬＳＩ）を示し、その構成は図４のブロック図を参照して詳しく後述する。３００２はＤＳＰ（デジタル信号処理プロセッサ）で、内部にＣＰＵを有し、後述する各種制御処理及び、輝度信号（ＲＧＢ）から濃度信号（ＣＭＹＫ）への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。３００３はメモリで、ＤＳＰ３００２のＣＰＵの制御プログラムを記憶するプログラムメモリ３００３ａ、及び実行時のプログラムを記憶するＲＡＭエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。３００４はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。３００５はデジタルカメラ（ＤＳＣ）３０１２を接続するためのポートとしてのＵＳＢコネクタである。３００６はビューワ１０１１を接続するためのコネクタである。３００８はＵＳＢハブ（ＵＳＢ　ＨＵＢ）で、このＰＤプリンタ装置１０００がＰＣ３０１０からの画像データに基づいて印刷を行う際には、ＰＣ３０１０からのデータをそのままスルーし、ＵＳＢ３０２１を介してプリンタエンジン３００４に出力する。これにより、接続されているＰＣ３０１０は、プリンタエンジン３００４と直接、データや信号のやり取りを行って印刷を実行することができる（一般的なＰＣプリンタとして機能する）。３００９は電源コネクタで、電源３０１１により、商用ＡＣから変換された直流電圧を入力している。ＰＣ３０１０は一般的なパーソナルコンピュータ、３０１１は前述したメモリカード（ＰＣカード）、３０１２はデジタルカメラ（ＤＳＣ：Ｄｉｇｉｔａｌ　Ｓｔｉｌｌ　Ｃａｍｅｒａ）である。
【００２０】
尚、この制御部３０００とプリンタエンジン３００４との間の信号のやり取りは、前述したＵＳＢ３０２１又はＩＥＥＥ１２８４バス３０２２を介して行われる。
【００２１】
図４は、ＡＳＩＣ３００１の構成を示すブロック図で、この図４においても、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００２２】
４００１はＰＣカードインターフェース部で、装着されたＰＣカード３０１１に記憶されている画像データを読取ったり、或いはＰＣカード３０１１へのデータの書き込み等を行う。４００２はＩＥＥＥ１２８４インターフェース部で、プリンタエンジン３００４との間のデータのやり取りを行う。このＩＥＥＥ１２８４インターフェース部４００２は、デジタルカメラ３０１２或いはＰＣカード３０１１に記憶されている画像データを印刷する場合に使用されるバスである。４００３はＵＳＢインターフェース部で、ＰＣ３０１０との間でのデータのやり取りを行う。４００４はＵＳＢホストインターフェース部で、デジタルカメラ３０１２との間でのデータのやり取りを行う。４００５は操作パネル・インターフェース部で、操作パネル１０１０からの各種操作信号を入力したり、表示部１００６への表示データの出力などを行う。４００６はビューワ・インターフェース部で、ビューワ１０１１への画像データの表示を制御している。４００７は各種スイッチやＬＥＤ４００９等との間のインターフェースを制御するインターフェース部である。４００８はＣＰＵインターフェース部で、ＤＳＰ３００２との間でのデータのやり取りの制御を行っている。４０１０はこれら各部を接続する内部バス（ＡＳＩＣバス）である。
【００２３】
以上の構成に基づく動作概要を以下に説明する。
【００２４】
＜通常のＰＣプリンタモード＞
これはＰＣ３０１０から送られてくる印刷データに基づいて画像を印刷する印刷モードである。
【００２５】
このモードでは、ＰＣ３０１０からのデータがＵＳＢコネクタ１０１３（図３）を介して入力されると、ＵＳＢハブ３００８、ＵＳＢ３０２１を介して直接プリンタエンジン３００４に送られ、ＰＣ３０１０からのデータに基づいて印刷が行われる。
【００２６】
＜ＰＣカードからの直接プリントモード＞
ＰＣカード３０１１がカードスロット１００９に装着或いは脱着されると割り込みが発生し、これによりＤＳＰ３００２はＰＣカード３０１１が装着されたか或いは脱着（取り外された）されたかを検知できる。ＰＣカード３０１１が装着されると、そのＰＣカード３０１１に記憶されている圧縮された（例えばＪＰＥＧ圧縮）画像データを読込んでメモリ３００３に記憶する。次に操作パネル１０１を使用して、その格納した画像データの印刷が指示されると、圧縮された画像データを解凍してメモリ３００３に格納し、ＲＧＢ信号からＹＭＣＫ信号への変換、ガンマ補正、誤差拡散等を実行してプリンタエンジン３００４で印刷可能な記録データに変換し、ＩＥＥＥ１２８４インターフェース部４００２を介してプリンタエンジン３００４に出力することにより印刷を行う。
【００２７】
＜カメラからの直接プリントモード＞
図５は本実施の形態に係るＰＤプリンタ装置１０００とデジタルカメラ３０１２とを接続した状態を示す図である。
【００２８】
図において、ケーブル５０００は、ＰＤプリンタ装置１０００のコネクタ１０１２と接続されるコネクタ５００１と、デジタルカメラ３０１２の接続用コネクタ５００３と接続するためのコネクタ５００２とを備えており、また、デジタルカメラ３０１２は、内部のメモリに保存している画像データを、接続用コネクタ５００３を介して出力可能に構成されている。なお、デジタルカメラ３０１２の構成としては、内部に記憶手段としてのメモリを備えるものや、取外し可能なメモリを装着するためのスロットを備えたものなど、種々の構成を採用することができる。このように、図５に示すケーブル５０００を介してＰＤプリンタ装置１０００とデジタルカメラ３０１２とを接続することにより、デジタルカメラ３０１２からの画像データを直接ＰＤプリンタ装置１０００で印刷することができる。
【００２９】
ここで図５に示すように、ＰＤプリンタ装置１０００にデジタルカメラ３０１２が接続された場合は、操作パネル１０１０の表示部１００６にはカメラマークのみが表示され、操作パネル１０１０における表示及び操作が無効になり、又ビューワ１０１１への表示も無効になる。従って、これ以降はデジタルカメラ３０１２でのキー操作及びデジタルカメラ３０１２の表示部（不図示）への画像表示のみが有効になるので、ユーザはそのデジタルカメラ３０１２を使用して印刷指定を行うことができる。
【００３０】
本実施の形態では、複数のメーカのデジタルカメラを接続してプリントすることができるＰＤプリンタ装置を提供することを目的とし、本実施の形態に係るＰＤプリンタ装置１０００とデジタルカメラとを接続してプリントを行なう場合の通信規約について詳しく説明する。
【００３１】
本実施の形態においては、ＰＤプリンタ装置とデジタルカメラとの間の通信制御を汎用ファイル、汎用フォーマットを用いて行い、インターフェースに依存しないＮＣＤＰ（Ｎｅｗ　Ｃａｍｅｒａ　Ｄｉｒｅｃｔ　Ｐｒｉｎｔ）を提案する。
【００３２】
図６は、このＮＣＤＰの構成の一例を示す図である。
【００３３】
図において、６００はＵＳＢによるインターフェース、６０１はブルーツース（Ｂｌｕｅｔｏｏｔｈ）によるインターフェースを示している。６０２はＮＣＤＰによるシステムを構築する際に組込まれるアプリケーションレイヤを示している。６０３は既存のプロトコル及びインターフェースを実行するためのレイヤで、ここではＰＴＰ（Ｐｉｃｔｕｒｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ），ＳＣＳＩ及びブルーツースのＢＩＰ（Ｂａｓｉｃ　Ｉｍａｇｅ　Ｐｒｏｆｉｌｅ），ＵＳＢインターフェース等が実装されている。本実施の形態に係るＮＣＤＰは、このようなプロトコルレイヤ等のアーキテクチャが実装されていて、その上にアプリケーションとして実装されることが前提である。ここではＰＤプリンタ装置１０００は、ＵＳＢホスト、カメラ３０１２はＵＳＢスレーブとして規定されており、図６に示すように、それぞれ同じＮＣＤＰ構成となっている。
【００３４】
図７は、本実施の形態に係るＮＣＤＰによる、ＰＤプリンタ装置１０００とデジタルカメラ（ＤＳＣ）３０１２との間での通信手順の流れを説明する図である。
【００３５】
ここでは、図５に示すようにＵＳＢケーブル５０００によりＰＤプリンタ装置１０００とＤＳＣ３０１２とが接続されたことが検知されると、これら機器間での通信が可能になる。これにより、これら機器に実装されているアプリケーションが実行されてＮＣＤＰによる手順７１０への移行が開始される。７０２はＮＣＤＰの初期状態を示し、ここでは互いの機種がＮＣＤＰを実行可能かどうかを判断し、可能であればＮＣＤＰによる手順７１０に移行している。もしここで、ＤＳＣ３０１２がＮＣＤＰを実装していない場合には、ＮＣＤＰによる通信制御は実行されない。こうしてＮＣＤＰに移行した後、７０３で示すように、ＤＳＣ３０１２から「基本手順」による画像データの転送／印刷が指示されると、ＤＳＣ３０１２から画像ファイルをＰＤプリンタ装置１０００に転送して印刷する簡易印刷モードに移行する。また７０４で示すように、ＤＳＣ３０１２から「推奨手順」による画像データの転送／印刷が指示されると、ＤＳＣ３０１２とＰＤプリンタ装置１０００との間で各種ネゴシエーションを行ってその印刷条件等を決定した後、画像ファイルをＤＳＣ３０１２からＰＤプリンタ装置１０００に転送して印刷するより多彩な印刷モードに移行する。また７０５は「拡張手順」による指示がＤＳＣ３０１２によりなされると、例えばＤＰＯＦ，ＸＨＴＭＬ−ｐｒｉｎｔ，ＳＶＧ等の高度レイアウト機能、及び各社ベンダーユニークな仕様での印刷を行うモードが設定される。尚、この「拡張手順」による詳細仕様に関しては、ＤＳＣのメーカ各社個別の拡張仕様書で規定されるので、ここでは特に説明しない。尚、これら「基本手順」及び「推奨手順」による画像印刷に関しては、図９乃至図１１を参照して後述する。
【００３６】
図８は、本実施の形態に係るＮＣＤＰにおいてプリントを行うために規定したコマンドを説明する図である。
【００３７】
図８において、「対応モード」はＤＳＣ３０１２から指示される、前述した「基本手順」、「推奨手順」及び「拡張手順」に対応している。「推奨手順」では全てのコマンドが使用できるのに対し、「基本手順」は簡易印刷モードであるため、ＮＣＤＰへの移行及びその終了、「基本手順」、「推奨手順」及び「拡張手順」の各モードへの移行コマンド及びカメラ３０１２からの画像データの取得及びカメラ３０１２よりの印刷命令のみが使用可能である。尚、「拡張手順」では、ＮＣＤＰへの移行及びその終了、「基本手順」、「推奨手順」及び「拡張手順」の各モードへの移行コマンドだけが用いられるように記載されているが、前述のように、各社の仕様に応じて他のコマンドが用いられても良いことはいうまでもない。
【００３８】
以下、前述した「基本手順」及び「推奨手順」による画像印刷について説明する。
【００３９】
図９は、「基本手順」による画像印刷を行う場合のＮＣＤＰの通信手順を説明する図である。この「基本手順」は、ＤＳＣからＰＤプリンタ装置１０００に対して１枚の画像ファイルを転送して印刷するだけの簡易印刷モードであり、対応している画像フォーマットとしては、例えばＶＧＡサイズ（６４０×４８０画素）のＲＧＢ画像、ＶＧＡサイズ（６４０×４８０画素）のＪＰＥＧ画像とし、画像ファイルサイズとしては約１Ｍバイト以下としている。ＤＳＣ３０１２はＰＤプリンタ装置１０００がサポートしている画像フォーマットで送信する。この場合はエラーハンドリグは実行しない。
【００４０】
まず９００で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対してＮＣＤＰへの移行を指示するコマンド（ＮＣＤＰＳｔａｒｔ）を送信する。ここでＤＳＣ３０１２がＮＣＤＰを実装していればＯＫが返送される（９０１）。尚、このＮＣＤＰの確認手順を行う場合の一例としてＰＴＰを用いた場合の具体例に関しては、図１４を参照して詳しく後述する。
【００４１】
こうして互いにＮＣＤＰが実装されていることが確認されると、ＰＤプリンタ装置１０００からモードに移行するように命令（ＰｒｏｃｅｄｕｒｅＳｔａｒｔ）がＤＳＣ３０１２に送信される（９０２）。これに対して９０３で、ＤＳＣ３０１２から簡易印刷モードである「基本手順」が送られてくると、これ以降は「基本手順」による印刷モードに移行する。この場合は、ＤＳＣ３０１２における操作により印刷したい画像が選択されて印刷が指示されると、印刷の開始を指示するコマンド（ＪｏｂＳｔａｒｔ）がＤＳＣ３０１２からＰＤプリンタ装置１０００に送られる（９０４）。これによりＰＤプリンタ装置１０００は簡易印刷モードとなり、ＤＳＣ３０１２に対してコマンド（ＧｅｔＩｍａｇｅ）を送信してＪＰＥＧ画像を要求する（９０５）。これによりＤＳＣ３０１２からＪＰＥＧ画像がＰＤプリンタ装置１０００に送信され（９０６）、ＰＤプリンタ装置１０００における印刷処理が開始される。こうして、指示された画像の印刷が終了すると印刷ジョブの終了を示すコマンド（ＪｏｂＥｎｄ）がＰＤプリンタ装置１０００からＤＳＣ３０１２に送信される（９０７）。これに対してＤＳＣ３０１２から肯定応答（ＯＫ）が返送されると（９０８）、この「基本手順」による印刷処理が完了する。尚、この「基本手順」でやり取りするかどうかに関しても、ＤＳＣとＰＤプリンタ装置の双方のＣａｐａｂｉｌｉｔｙで決定される。
【００４２】
図１０は、「推奨手順」による画像印刷を行う場合のＮＣＤＰの通信手順を説明する図で、前述の図９と共通する手順には同じ番号を付して、その説明を省略する。この「推奨手順」では、ＰＤプリンタ装置１０００とＤＳＣ３０１２との間でのネゴシエーションを前提とした「より多彩な印刷」モードが設定でき、複数枚の写真印刷やレイアウト印刷が可能になる。また、エラーハンドリングも実行可能となる。
【００４３】
図１０において、図９の場合と同様にして、互いにＮＣＤＰが実装されていることを確認した後、この場合では、ＤＳＣ３０１２から「推奨手順」が指示される（９１０）。この後はこの「推奨手順」による手順が実行される。まず９１１で示すように、ＰＤプリンタ装置１０００は、自機の備えている機能及び用紙設定等を含む機能をＣａｐａｂｉｌｉｔｙ情報として全てＤＳＣ３０１２に伝える。このＣａｐａｂｉｌｉｔｙ情報は、スクリプト形式（テキスト）でＤＳＣ３０１２に送信される。
【００４４】
このＣａｐａｂｉｌｉｔｙ情報の一例を図１２に示す。
【００４５】
図１２に示すように、このＣａｐａｂｉｌｉｔｙ情報は、印刷可能な用紙の種類及びサイズ、印刷品位、画像データのフォーマット、日付印刷の有無、ファイル名印刷の有無、レイアウト、画像補正の有無、更にはオプションとして、各カメラメーカの仕様に対応した機能の有無等の情報を含んでいる。
【００４６】
このようにＣａｐａｂｉｌｉｔｙ情報をスクリプト表記とすることにより、他の通信プロトコルのアーキテクチャへの移植を簡単にし、このような機能情報のやり取りを、より標準化し易くしている。尚、このスクリプト表記はＸＭＬ準拠であっても良い。
【００４７】
このようなＣａｐａｂｉｌｉｔｙ情報を受信したＤＳＣ３０１２のユーザは、そのＰＤプリンタ装置１０００が備えている機能の内のいずれを使用して印刷を行うかを判定し、印刷したい画像を選択すると共に、その画像の印刷条件をそのＰＤプリンタ装置１０００の有している機能の中から選択して決定する。こうして印刷したい画像及び印刷条件などが決定されて印刷開始が指示されるとプリント命令（ＪｏｂＳｔａｒｔ）がＰＤプリンタ装置１０００に送られる。これによりＰＤプリンタ装置１０００から、その画像データを要求するコマンド（ＧｅｔＩｍａｇｅ　ｘｎ）が発行され（９１２）、それに応答してＤＳＣ３０１２から、対応する画像データが、ＰＤプリンタ装置１０００が受信可能な画像フォーマット（Ｔｉｆｆ，ＪＰＥＧ，ＲＧＢなど）で送信される（９１３）。ここで１枚の画像印刷に対して複数の画像データを送信できるようになっているのは、例えば２×２等のレイアウト印刷が指定されている場合は、１枚の用紙に対して４枚分の画像データを送信する必要があるためである。こうして、指示された画像の印刷が終了すると印刷ジョブの終了を示すコマンド（ＪｏｂＥｎｄ）がＰＤプリンタ装置１０００からＤＳＣ３０１２に送信される（９０７）。これに対してＤＳＣ３０１２から肯定応答（ＯＫ）が返送されると（９０８）、再び、この「推奨手順」による、次に画像の選択・印刷処理に移行する。
【００４８】
図１１は、前述の「推奨手順」による画像印刷を行う場合のＮＣＤＰの通信手順において、ＰＤプリンタ装置１０００でエラーが発生した場合の通信手順を説明する図で、前述の図１０と共通する手順には同じ番号を付して、その説明を省略する。
【００４９】
この例では、「推奨手順」での印刷処理の実行中に、ＰＤプリンタ装置１０００において給紙エラーが発生した場合の例を示している。この場合には９１４で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して給紙エラーを示すステータス情報（Ｓｔａｔｕｓ）が送信される。これに対してＤＳＣ３０１２のユーザによる判断に基づいて、その印刷処理を継続するか（ＪｏｂＣｏｎｔｉｎｕｅ）、中止するか（ＪｏｂＡｂｏｒｔ）を示すコマンドがＰＤプリンタ装置１０００に送信される（９１５）。これによりＰＤプリンタ装置１０００では、中止の場合はその印刷処理を中止してプリントジョブの終了通知（ＪｏｂＥｎｄ）を送信して印刷を中止する。或いは継続が指示された場合には、その給紙エラーの修復を待って、印刷処理を継続するように動作する。
【００５０】
次に、前述した処理手順を図１３のフローチャートを参照して説明する。
【００５１】
図１３は、図７に示す処理手順を説明するフローチャートである。
【００５２】
まずステップＳ１で、デジタルカメラ（ＤＳＣ）３０１２とＰＤプリンタ装置１０００との間の通信を確立し（７００）、ステップＳ２で、これら機器がＮＣＤＰを実装済みかどうかを判定し、実装済みであればＮＣＤＰに移行する。次にステップＳ３に進み、ＤＳＣ３０１２からの手順指示を受信して、その指示された手順に移行する。ここで「基本手順」が指示された時はステップＳ４からステップＳ５に進み、「基本手順」による印刷処理を実行する。また「推奨手順」が指示された時はステップＳ６からステップＳ７に進み、前述した「推奨手順」による印刷処理を実行する。更に「拡張手順」が指示された時はステップＳ８からステップＳ９に進み、各ベンダーに応じた「拡張手順」による印刷処理を実行する。それ以外の場合はステップＳ１０に進み、このＰＤプリンタ装置１０００とＤＳＣ３０１２とによる独自のモードでの印刷を実行する。
【００５３】
次に上述したＮＣＤＰにおける各種コマンド（図８）を、汎用のＰＴＰを用いて実現した（ＰＴＰによるラッパー）例を説明する。尚、本実施の形態では、ＰＴＰを用いたＮＣＤＰの場合で説明するが本発明はこれに限定されるものではなく、例えば、他のインターフェース、他のクラス（Ｃｌａｓｓ）上でダイレクトプリントサービスＡＰＩを実装しても良い。
【００５４】
［ＮＣＤＰＳｔａｒｔ］
図１４は、ＮＣＤＰ手順の開始を指示する命令（ＮＣＤＰＳｔａｒｔ）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００５５】
ＰＤプリンタ装置１０００とＤＳＣ３０１２とが物理的に接続された後、まず１４００で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対してＧｅｔＤｅｖｉｃｅＩｎｆｏが送信され、ＤＳＣ３０１２に対して、その保持しているオブジェクトに関する情報が要求される。これに対してＤＳＣ３０１２は、ＤｅｖｉｃｅＩｎｆｏ　Ｄａｔａｓｅｔにより、ＤＳＣ３０１２に保持しているオブジェクトに関する情報をＰＤプリンタ装置１０００に送信する。次に１４０２で、ＯｐｅｎＳｅｓｓｉｏｎにより、ＤＳＣ３０１２をリソースとして割り当て、必要に応じてデータオブジェクトにハンドルをアサインしたり、特別な初期化を行うための手順の開始要求が発行されてＤＳＣ３０１２から肯定応答（ＯＫ）が返送されるとＰＴＰでの通信が開始される。次に１４０３で、ＤＳＣ３０１２に対してスクリプト形式の全てのハンドルを要求する（Ｓｔｏｒａｇｅ　ＩＤ：　ＦＦＦＦＦＦ，　Ｏｂｊｅｃｔ　Ｔｙｐｅ：　Ｓｃｒｉｐｔ）と、これに対して１４０４で、ＤＳＣ３０１２に保持されている全てのハンドルリストが返送される。次に１４０５，１４０６において、ＰＤプリンタ装置１０００からｉ番目のオブジェクトハンドルの情報を取得する。ここで、このオブジェクトに、ＤＳＣ３０１２の識別を示すキーワード（例えば「山」）が含まれていると、次に１４０７において、ＰＤプリンタ装置１０００からオブジェクト情報の送信を指示して（ＳｅｎｄＯｂｊｅｃｔＩｎｆｏ）、それに対して肯定応答（ＯＫ）を受信すると、ＳｅｎｄＯｂｊｅｃｔにより、オブジェクト情報をＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送信する。ここで、このオブジェクトには、前述のキーワードに対する応答キーワード（合言葉）として例えば「川」が含まれている。
【００５６】
このようにして、ＰＤプリンタ装置１０００とＤＳＣ３０１２の双方が互いに接続相手を認識できることになり、これ以降はＮＣＤＰによる手順（図７の７１０）に移行することができる。このようにファイルの受渡しができるトランスポートレイヤーであればキーワードの受渡しを確実に行うことができる。即ち、本実施の形態のＮＣＤＰにユニークなコマンド等を追加することなく、キーワードを交換することができる。尚、ここでキーワードとしては、上述の例に限定されるものでなく、同じキーワードであっても良い。またこのキーワードによるネゴシエーションを行う時間を短縮するために、スクリプト形式のハンドルの最初にこのキーワードを入れておくことにより、互いの機器を確認するのに要する時間を短縮できる。
【００５７】
［ＰｒｏｃｅｄｕｒｅＳｔａｒｔ］
図１５は、ＤＳＣ３０１２からの、モードへの移行手順を指示する命令を受信して、そのモードに移行するための命令（ＰｒｏｃｅｄｕｒｅＳｔａｒｔ）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００５８】
ここではまず１５０１で、ＰＤプリンタ装置１０００がサポートしている手続「基本手順」、「推奨手順」、「拡張手順」をＤＳＣ３０１２に通知するためにＳｅｎｄＯｂｊｅｃｔＩｎｆｏにより、ＤＳＣ３０１２に対して送信したいオブジェクト情報があることを伝える。これに対して肯定応答（ＯＫ）がＤＳＣ３０１２から送られてくると、１５０２でＳｅｎｄＯｂｊｅｃｔによりオブジェクトを送信する旨をＤＳＣ３０１２に伝え、次の１５０３のＯｂｊｅｃｔＤａｔａで、このＰＤプリンタ装置１０００がサポートしている手続に関する情報を送信する。次に１５０４で、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して、ＧｅｔＯｂｊｅｃｔ動作を起動したい（プッシュモードに移行）旨を伝える。これにより１５０５で、ＰＤプリンタ装置１０００からオブジェクト情報に関する情報を受信する旨が伝えられると（ＧｅｔＯｂｊｅｃｔＩｎｆｏ）、１５０６で、ＯｂｊｅｃｔＩｎｆｏ　Ｄａｔａｓｅｔにより、その情報が返送され、次に１５０７で、そのオブジェクト情報を指定してオブジェクト情報そのものが要求されると、Ｏｂｊｅｃｔ　Ｄａｔａｓｅｔにより、ＤＳＣ３０１２が使用する手続（「基本」、「推奨」、「拡張」等）をＰＤプリンタ装置１０００に知らせる（１５０８）。
【００５９】
これにより、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して、画像の印刷モードを指定することができる。
【００６０】
［ＮＣＤＰＥｎｄ］
図１６は、本実施の形態に係るＮＣＤＰにおける通信制御手順を終了する命令（ＮＣＤＰＥｎｄ）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００６１】
この手順では、１６００において、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送信したいオブジェクト情報があることを伝え、ＯｂｊｅｃｔＤａｔａにより、ＤＳＣ３０１２に対してＮＣＤＰのモードから抜けることを通知する。これに対して肯定応答（ＯＫ）を受信すると、１６０１でＣｌｏｓｅＳｅｓｓｉｏｎを送信して、この通信を終了させる。これによりＮＣＤＰによる通信手順を終了する。
【００６２】
［Ｃａｐａｂｉｌｉｔｙ］
図１７は、本実施の形態に係るＮＣＤＰにおける、ＰＤプリンタ装置１０００の機能をＤＳＣ３０１２に通知するＣａｐａｂｉｌｉｔｙ命令における通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００６３】
この手順では、１７００において、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送信したいオブジェクト情報があることをＳｅｎｄＯｂｊｅｃｔＩｎｆｏにより伝える。そして１７０１で、ＳｅｎｄＯｂｊｅｃｔによりＤＳＣ３０１２に対してオブジェクト情報の伝送を伝え、続くＯｂｊｅｃｔ　Ｄａｔａにより、ＰＤプリンタ装置１０００が有している機能をスクリプト（Ｓｃｒｉｐｔ）形式（図１２）でＤＳＣ３０１２に送信する。
【００６４】
［ＧｅｔＩｍａｇｅ］
図１８は、本実施の形態に係るＮＣＤＰにおける、ＰＤプリンタ装置１０００がＤＳＣ３０１２に保持されている画像データ（ＪＰＥＧ画像）を取得する（ＧｅｔＩｍａｇｅ）通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００６５】
まず１８００で、ＤＳＣ３０１２が保持しているオブジェクトに関する情報を要求すると、１８０１で、そのオブジェクトに関する情報（Ｏｂｊｅｃｔ　Ｄａｔａｓｅｔ）がＤＳＣ３０１２からＰＤプリンタ装置１０００に送られる。次に、１８０２で、そのオブジェクトを指定して取得要求（ＧｅｔＯｂｊｅｃｔ）を発行すると、１８０３で、その要求された画像ファイル（Ｏｂｊｅｃｔ　Ｄａｔａｓｅｔ）がＤＳＣ３０１２からＰＤプリンタ装置１０００に対して送信される。この様にしてＰＤプリンタ装置１０００は、ＤＳＣ３０１２から所望の画像ファイルを取得することができる。
【００６６】
［ＳｔａｔｕｓＳｅｎｄ］
図１９は、本実施の形態に係るＮＣＤＰにおける、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対してエラー状態などを通知する（ＳｔａｔｕｓＳｅｎｄ）通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００６７】
まず１９００で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送信したいオブジェクト情報がある旨をＳｅｎｄＯｂｊｅｃｔＩｎｆｏにより通知する。そして１９０１で、そのオブジェクト情報に関する情報セット（Ｏｂｊｅｃｔ　Ｄａｔａｓｅｔ）をＤＳＣ３０１２に送信し、ＤＳＣ３０１２からの肯定応答（ＯＫ）に対して、ＰＤプリンタ装置１０００におけるエラー等のステータス情報をＳｅｎｄＯｂｊｅｃｔおよびＯｂｊｅｃｔ
Ｄａｔａｓｅｔにより送信する。
【００６８】
［ＰａｇｅＥｎｄ］
図２０は、本実施の形態に係るＮＣＤＰにおける、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して、１ページのプリント処理が終了したことを通知する（ＰａｇｅＥｎｄ）通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００６９】
［ＪｏｂＥｎｄ］
図２１は、本実施の形態に係るＮＣＤＰにおける、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して、プリントジョブが終了したことを通知する（ＪｏｅＥｎｄ）通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。図２０，図２１においては、図１９の１９００乃至１９０１の手順実行後、図２０の１９１０で、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して１ページ印刷処理が終了したことが通知され、図２１の１９１１では、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して印刷ジョブが終了したことが通知される。
【００７０】
［ＪｏｂＳｔａｒｔ］
図２２は、本実施の形態に係るＮＣＤＰにおける、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して、プリントジョブの開始を通知する（ＪｏｂＳｔａｒｔ）通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００７１】
まず２２００において、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対してＲｅｑｕｅｓｔＯｂｊｅｃｔＴｒａｎｓｆｅｒを送り、ＰＤプリンタ装置１０００がＧｅｔＯｂｊｅｃｔコマンドを発行するように促す。これにより２２０１で、ＰＤプリンタ装置１０００からＧｅｔＯｂｊｅｃｔＩｎｆｏが発行されると、ＤＳＣ３０１２は送信したいオブジェクト情報に関する情報を送信し、これに対してＰＤプリンタ装置１０００からオブジェクト情報が要求されると（ＧｅｔＯｂｊｅｃｔ：２２０３）、２２０４で、Ｏｂｈｅｃｔ　Ｄａｔａｓｅｔを送信して、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して印刷命令を発行する。
【００７２】
［ＪｏｂＡｂｏｒｔ］
図２３は、本実施の形態に係るＮＣＤＰにおける、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対してプリント中止命令を発行する（ＪｏｂＡｂｏｒｔ）通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００７３】
［ＪｏｂＣｏｎｔｉｎｕｅ］
図２４は、本実施の形態に係るＮＣＤＰにおける、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対してプリント再開命令を発行する（ＪｏｂＣｏｎｔｉｎｕｅ）通信手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【００７４】
図２３及び図２４において、図２２の２２００乃至２２０３の手順を実行した後、図２３の２３０１で、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して印刷中止命令が発行され、図２４の２４０１では、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して印刷再開命令が通知される。
【００７５】
図２５は、本実施の形態に係るＮＣＤＰにおける、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して送られる印刷命令（ＪｏｂＳｔａｒｔ）を、各種機能を数字のパラメータ形式で表わしたスクリプトで送信する場合の例を示す図である。このような数字によるパラメータを用いることにより、上述のアルファベットの単語による機能情報の受け渡しと異なり送受信データ量を少なくすることができ、この機能情報を解釈するソフトウェアも簡単にすることができる。なお、この機能情報とスクリプトとの対応は、ＤＳＣ３０１２とＰＤプリンタ装置１０００があらかじめメモリに記憶している。
【００７６】
図２６は、本実施の形態に係るＮＣＤＰにおいてＤＳＣ３０１２とＰＤプリンタ装置１０００との間でやり取りされるパラメータを説明する図である。
【００７７】
尚、図２６に示したように、パラメータの上位桁の数字によって各機能を区別することもでき、これにより更に解釈するソフトウェアを簡単にし、解釈に要する時間を短縮できる。
【００７８】
尚、図２５及び図２６における説明では、あらかじめ記憶しているスクリプトとしての数字に固定の意味を持たせる形で説明したが、新たな定義を加えたいときや、状況によりスクリプトを変更したい場合などには、それに先立つＤＳＣ３０１２とＰＤプリンタ装置１０００との間でのネゴシェーション時に、各パラメータを確認し、新たにスクリプトを生成するようにしてもよい。それぞれの機能が向上もしくは変更された場合にも柔軟に対応することができる。もちろん、この場合にスクリプトの長さも可変にしてもよいし、多くやり取りされるスクリプトについては、少ない利用頻度のスクリプトよりも数字列がより短くなるようにして、最適化を図るようにしてもよい。
【００７９】
図２５及び図２６から、図２５におけるＤＳＣ３０１２からＰＤプリンタ装置１０００に対して送られる印刷命令の内容を簡単に説明すると、この印刷ジョブでは、印刷条件は、印刷品位は「標準（ｎｏｒｍａｌ）（１０００）」、用紙サイズは「Ｌ判（２００１）」、用紙種別は「写真専用紙（３００２）」、画像種別は「ＪＰＥＧフォーマット（４０００）」、日付印刷は「オン（５００１）」、ファイル名印刷は「オフ（６０００）」、画像最適化は「オフ（７０００）」、レイアウトは「フチなし（８００１）」であり、印刷対象画像は「ｉｍａｇｅ（０００００００１）」で、その日付は「２００２／０５／３０」であることが分かる。
【００８０】
次に図２７は、本実施の形態に係るＮＣＤＰにおける、ＰＤプリンタ装置１０００からＤＳＣ３０１２に対して送られるＰＤプリンタ装置１０００の機能を通知する機能通知（Ｃａｐａｂｉｌｉｔｙ）を説明する図である。
【００８１】
ここでも図２６に示すパラメータが使用されており、ＰＤプリンタ装置１０００の機能としては、「標準（ｎｏｒｍａｌ）（１０００）」と「高品位（ｆｉｎｅ）（１００２）」での印刷が可能であり、「デフォルトのサイズ（２０００）」、「Ｌ判（２００１）」及び「Ａ４判（２００６）」の用紙サイズでの印刷が可能であり、用紙種別は「デフォルト用紙（３０００）」、「写真専用紙（３００２）」、画像種別は「ＪＰＥＧフォーマット（４０００）」のみ対応でき、更に、日付印刷は「オフ（５０００）」、「オン（５００１）」のいずれも可能であり、ファイル名印刷は印刷しない「オフ（６０００）」、画像最適化は実施しない「オフ（７０００）」ことが分かる。更に印刷可能なレイアウトとしては、デフォルトのサイズ（２０００）の場合には、「１枚レイアウト（８０００）」、「フチなし（８００１）」、「８枚のインデックス（８Ｆ０８）」でのレイアウト印刷が可能であり、Ｌ判の場合（２００１）には「１枚レイアウト（８０００）」、「フチなし（８００１）」、「４枚レイアウト（８００４）」、「１５枚のインデックス（８Ｆ０Ｆ）」印刷が可能であり、Ａ４判の場合（２００６）には、「１枚レイアウト（８０００）」、「フチなし（８００１）」、「２枚レイアウト（８００２）」、「３枚レイアウト（８００３）」、「４枚レイアウト（８００４）」、「２５枚のインデックス（８Ｆ１９）」印刷が可能であることがわかる。
【００８２】
このように本実施の形態によれば、機能情報の各機能を表わす情報を数字のパラメータでやり取りできるので機能情報を簡略化できる。尚、これ以外の機能情報に関しても同様に数字であらわすことができる。
【００８３】
尚、このパラメータとしては数字に限定されるものでなく、アルファベットや他の記号を用いてもよいことはもちろんである。
【００８４】
なお本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８５】
また、本発明の目的は、前述した実施形態の機能（カメラ側で行われる処理、プリンタ側で行われる各種印刷処理）を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８７】
以上説明したように本実施の形態によれば、ＰＤプリンタ装置をＵＳＢホストにＤＳＣをスレーブに設定し、印刷動作に入る前に、ＰＤプリンタ装置が有しているＣａｐａｂｉｌｉｔｙに関する情報をＤＳＣに送信し、ＤＳＣ側でそのＣａｐａｂｉｌｉｔｙ情報に基づいて最適な印刷モードを決定して印刷を行わせることができる。
【００８８】
またこのＣａｐａｂｉｌｉｔｙ情報の送信をスクリプトにより行うことにより、他の通信プロトコルへの移植が容易になり、標準化し易くなる。
【００８９】
また、デバイス間の通信手順は汎用ファイル、汎用フォーマットを用いて行い、その上位レイヤに、本実施の形態に係るアプリケーションの通信手順レイヤを規定することにより、各種インターフェース仕様に依存しない通信手順を規定することができる。
【００９０】
また、本実施の形態の記録システムでは、不特定多数の装置同士が接続されるため、それらインターフェースも様々多様である。よって、各種インターフェースで標準にサポートされている仕様で情報をやり取りする必要が生じる。従って、これら装置間での送受信において必須となる機能情報は「ファイル転送」もしくは「オブジェクト転送」で実現させることにより、各種インターフェース仕様に容易に適合できるようにしている。
【００９１】
尚、画像供給デバイスとしてはデジタルカメラ以外にも、ＰＤＡや携帯電話、テレビジョン、ビデオ機器、画像記憶デバイス等が考えられる。
【００９２】
また、汎用インターフェースには、上述のＵＳＢやＩＥＥＥ１３９４等に加えてインターネット等のネットワークへの接続も含まれる。
【００９３】
【発明の効果】
以上説明したように本発明によれば、インターフェースに依存しない画像データの転送及び記録指示を行うことにより、各社の画像供給デバイスからの画像データを受信して記録できる。
【００９４】
また本発明によれば、画像供給デバイスと記録装置との間の標準的な通信規約を規定して、互いの機能情報をパラメータ形式でやり取りすることにより、機能の相互確認を容易に実行できるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＰＤプリンタ装置の概観斜視図である。
【図２】本実施の形態に係るＰＤプリンタ装置の操作パネルの概観図である。
【図３】本実施の形態に係るＰＤプリンタ装置の制御に係る主要部の構成を示すブロック図である。
【図４】本実施の形態に係るＰＤプリンタ装置のＡＳＩＣの構成を示すブロック図である。
【図５】本実施の形態に係るＰＤプリンタ装置とデジタルカメラとを接続した状態を示す図である。
【図６】本実施の形態に係るＮＣＤＰを実装したＰＤプリンタ装置とデジタルカメラのソフトウェア構成を説明する概念図である。
【図７】本実施の形態に係るＮＣＤＰ通信手順の概要を説明する図である。
【図８】本実施の形態に係るＮＣＤＰにおけるコマンドを説明する図である。
【図９】本実施の形態に係るＮＣＤＰにおける「基本手順」による印刷手順を説明する図である。
【図１０】本実施の形態に係るＮＣＤＰにおける「推奨手順」による印刷手順を説明する図である。
【図１１】本実施の形態に係るＮＣＤＰにおける「推奨手順」におけるエラー発生時の印刷手順を説明する図である。
【図１２】本実施の形態に係るＮＣＤＰで送信されるＣａｐａｂｉｌｉｔｙの一例を説明する図である。
【図１３】本実施の形態に係るＮＣＤＰ通信手順の概要を説明するフローチャートである。
【図１４】ＮＣＤＰ手順の開始を指示する命令（ＮＣＤＰＳｔａｒｔ）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図１５】ＮＣＤＰ手順において、カメラから各手順への移行命令を受取る（ＰｒｏｃｅｄｕｒｅＳｔａｒｔ）手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図１６】ＮＣＤＰ手順の終了を指示する命令（ＮＣＤＰＥｎｄ）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図１７】ＮＣＤＰ手順においてＰＤプリンタ装置からカメラに対してＣａｐａｂｉｌｉｔｙを送信する命令（Ｃａｐａｂｉｌｉｔｙ）をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図１８】ＮＣＤＰ手順において、ＰＤプリンタ装置からカメラに保持されている画像ファイルを取得する命令（ＧｅｔＩｍｇｅ）の手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図１９】ＮＣＤＰ手順において、ＰＤプリンタ装置からカメラに対してエラーステータスを送信する命令（ＳｔａｔｕｓＳｅｎｄ）の手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２０】ＮＣＤＰ手順において、ＰＤプリンタ装置からカメラに対して１ページの印刷終了を送信する命令（ＰａｇｅＥｎｄ）の手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２１】ＮＣＤＰ手順において、ＰＤプリンタ装置からカメラに対して印刷ジョブの終了命令（ＪｏｂＥｎｄ）を発行する手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２２】ＮＣＤＰ手順において、カメラからＰＤプリンタ装置に対して印刷命令の発行（ＪｏｂＳｔａｒｔ）する手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２３】ＮＣＤＰ手順において、カメラからＰＤプリンタ装置に対して印刷の中止命令（ＪｏｂＡｂｏｒｔ）を発行する手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２４】ＮＣＤＰ手順において、カメラからＰＤプリンタ装置に対して印刷再開命令（ＪｏｂＣｏｎｔｉｎｕｅ）を発行する手順をＰＴＰアーキテクチャを用いて実現した例を説明する図である。
【図２５】ＮＣＤＰ手順において、カメラからＰＤプリンタ装置に対して印刷命令の発行（ＪｏｂＳｔａｒｔ）する手順を数字のパラメータを用いて実現した例を説明する図である。
【図２６】本実施の形態に係るパラメータを説明する図である。
【図２７】ＮＣＤＰ手順において、ＰＤプリンタ装置からカメラに対してプリンタの機能を通知（Ｃａｐａｂｉｌｉｔｙ）する手順を数字のパラメータを用いて実現した例を説明する図である。
【図１】
2004066602.tif 000003
【図２】
2004066602.tif 000004
【図３】
2004066602.tif 000005
【図４】
2004066602.tif 000006
【図５】
2004066602.tif 000007
【図６】
2004066602.tif 000008
【図７】
2004066602.tif 000009
【図８】
2004066602.tif 000010
【図９】
2004066602.tif 000011
【図１０】
2004066602.tif 000012
【図１１】
2004066602.tif 000013
【図１２】
2004066602.tif 000014
【図１３】
2004066602.tif 000015
【図１４】
2004066602.tif 000016
【図１５】
2004066602.tif 000017
【図１６】
2004066602.tif 000018
【図１７】
2004066602.tif 000019
【図１８】
2004066602.tif 000020
【図１９】
2004066602.tif 000021
【図２０】
2004066602.tif 000022
【図２１】
2004066602.tif 000023
【図２２】
2004066602.tif 000024
【図２３】
2004066602.tif 000025
【図２４】
2004066602.tif 000026
【図２５】
2004066602.tif 000027
【図２６】
2004066602.tif 000028
【図２７】
2004066602.tif 000029