(57)【特許請求の範囲】
【請求項１】
画像印刷装置と直接通信可能な画像供給装置であって、
前記画像供給装置が前記画像印刷装置を用いて行う第１のサービスであって、ダイレクトプリントプロトコルを用いた、規格化されたプリントサービス、を前記画像供給装置がサポートすることを表す第１情報を前記画像印刷装置に送信する第１の送信手段と、
前記第１のサービスと協働し、前記第１のサービスではサポートされない画像処理を提供する第２のサービスを前記画像供給装置がサポートすることを表す第２情報を、前記問い合わせに応答して前記画像印刷装置に送信する第２の送信手段と、
前記画像印刷装置から、前記画像印刷装置が前記第１のサービスをサポートすることを表す第３情報を受信する第１の受信手段と、
第１の受信手段により前記第３情報を受信するよりも前に、前記画像印刷装置から、前記画像印刷装置が前記第２のサービスをサポートすることを表す第４情報を受信する第２の受信手段と、
前記第３の情報を受信すると、前記画像印刷装置が前記第１のサービスで設定可能な印刷条件が記述されたcapability情報を前記画像印刷装置から取得する取得手段と、
ユーザの指示を受けて、前記第１のサービスで設定可能な印刷条件と、前記第２のサービスで設定可能な画像処理の条件を設定する設定手段と、
前記設定手段で設定した前記画像処理の条件を前記画像印刷装置に送信する第３の送信手段と、
前記第３の送信手段による前記画像処理の条件の送信が終了してから、前記印刷条件を記述した印刷ジョブを前記画像印刷装置に送信する第４の送信手段とを有し、
前記第２のサービスで設定可能な画像処理の条件は、前記capability情報には記述されない条件を含むことを特徴とする画像供給装置。
【請求項２】
前記第４情報に、前記第２のサービスで設定可能な前記画像処理の条件についての情報が含まれ、
前記設定手段が、前記capability情報と前記第４情報に従って、ユーザに前記第１のサービスで設定可能な印刷条件と、前記第２のサービスで設定可能な画像処理の条件の設定を行わせるためのユーザインタフェース画面を構築し、呈示するユーザインタフェース構築手段をさらに有することを特徴とする請求項１記載の画像供給装置。
【請求項３】
前記第１及び第２の送信手段が、１つのメッセージを共用して同時に前記第１及び第２情報を送信することを特徴とする請求項１又は請求項２記載の画像供給装置。
【請求項４】
画像供給装置と直接通信可能な画像印刷装置であって、
前記画像供給装置が前記画像印刷装置を用いる第１のサービスであって、ダイレクトプリントプロトコルを用いた、規格化されたプリントサービスを前記画像供給装置がサポートすることを表す第１情報を前記画像供給装置から受信する第３の受信手段と、
前記第１のサービスと協働し、前記第１のサービスではサポートされない画像処理を提供する第２のサービスを前記画像供給装置がサポートすることを表す第２情報を前記画像供給装置から受信する第４の受信手段と、
前記画像供給装置に、前記画像印刷装置が前記第１のサービスをサポートすることを表す第３情報を送信する第４の送信手段と、
前記第４の送信手段による前記第３情報の送信より前に、前記画像供給装置に、前記画像印刷装置が前記第２のサービスをサポートすることを表す第４情報を送信する第５の送信手段と、
前記第３情報の送信後、前記画像供給装置からの要求に応答して、前記画像印刷装置が前記第１のサービスで設定可能な印刷条件が記述されたcapability情報を前記画像供給装置に送信する第６の送信手段と、
前記第２のサービスに基づく画像処理の条件を前記画像供給装置から受信する第５の受信手段と、
前記第５の受信手段で前記画像処理の条件の受信が終了した後に、前記第１のサービスに基づく印刷条件を記述した印刷ジョブを前記画像供給装置から受信する第６の受信手段とを有し、
前記第２のサービスで設定可能な画像処理の条件は、前記capability情報には記述されない条件を含むことを特徴とする画像印刷装置。
【請求項５】
前記第４情報に、前記第２のサービスで設定可能な前記画像処理の条件についての情報が含まれることを特徴とする請求項４記載の画像印刷装置。
【請求項６】
前記第３及び第４の受信手段が、前記画像供給装置からの同一のメッセージから前記第１情報及び前記第２情報を受信することを特徴とする請求項４又は請求項５に記載の画像印刷装置。
【請求項７】
前記第２のサービスにより、前記画像印刷装置の設定が変更される場合、その旨を報知する報知手段をさらに有することを特徴とする請求項４乃至請求項６のいずれか１項に記載の画像印刷装置。
【請求項８】
請求項１乃至請求項３のいずれか１項に記載の画像供給装置と、請求項４乃至請求項７のいずれか１項に記載の画像印刷装置とを直接接続して形成される画像印刷システム。
【請求項９】
送信手段と、受信手段とを有し、画像印刷装置と直接通信可能な画像供給装置の制御方法であって、
前記送信手段が、前記画像供給装置が前記画像印刷装置を用いて行う第１のサービスであって、ダイレクトプリントプロトコルを用いた、規格化されたプリントサービス、を前記画像供給装置がサポートすることを表す第１情報を前記画像印刷装置に送信する第１の送信ステップと、
前記送信手段が、前記第１のサービスと協働し、前記第１のサービスではサポートされない画像処理を提供する第２のサービスを前記画像供給装置がサポートすることを表す第２情報を、前記問い合わせに応答して前記画像印刷装置に送信する第２の送信ステップと、
前記受信手段が、前記画像印刷装置から、前記画像印刷装置が前記第１のサービスをサポートすることを表す第３情報を受信する第１の受信ステップと、
前記第１の受信ステップにおいて前記第３情報を受信するよりも前に、前記受信手段が、前記画像印刷装置から、前記画像印刷装置が前記第２のサービスをサポートすることを表す第４情報を受信する第２の受信ステップと、
前記第３の情報を受信すると、前記送信手段が、前記画像印刷装置が前記第１のサービスで設定可能な印刷条件が記述されたcapability情報を前記画像印刷装置から取得する第３の送信ステップと、
前記画像供給装置の設定手段が、ユーザの指示を受けて、前記第１のサービスで設定可能な印刷条件と、前記第２のサービスで設定可能な画像処理の条件を設定する設定ステップと、
前記送信手段が、前記設定ステップで設定された前記画像処理の条件を前記画像印刷装置に送信する第３の送信ステップと、
前記送信手段が、前記第３の送信ステップによる前記画像処理の条件の送信が終了してから、前記印刷条件を記述した印刷ジョブを前記画像印刷装置に送信する第４の送信ステップとを有し、
前記第２のサービスで設定可能な画像処理の条件は、前記capability情報には記述されない条件を含むことを特徴とする画像供給装置の制御方法。
【請求項１０】
送信手段と、受信手段とを有し、画像供給装置と直接通信可能な画像印刷装置の制御方法であって、
前記受信手段が、前記画像供給装置が前記画像印刷装置を用いる第１のサービスであって、ダイレクトプリントプロトコルを用いた、規格化されたプリントサービスを前記画像供給装置がサポートすることを表す第１情報を前記画像供給装置から受信する第３の受信ステップと、
前記受信手段が、前記第１のサービスと協働し、前記第１のサービスではサポートされない画像処理を提供する第２のサービスを前記画像供給装置がサポートすることを表す第２情報を前記画像供給装置から受信する第４の受信ステップと、
前記送信手段が、前記画像供給装置に、前記画像印刷装置が前記第１のサービスをサポートすることを表す第３情報を送信する第４の送信ステップと、
前記送信手段が、前記第４の送信ステップにおける前記第３情報の送信より前に、前記画像供給装置に、前記画像印刷装置が前記第２のサービスをサポートすることを表す第４情報を送信する第５の送信ステップと、
前記送信手段が、前記第３情報の送信後、前記画像供給装置からの要求に応答して、前記画像印刷装置が前記第１のサービスで設定可能な印刷条件が記述されたcapability情報を前記画像供給装置に送信する第６の送信ステップと、
前記受信手段が、前記第２のサービスに基づく画像処理の条件を前記画像供給装置から受信する第５の受信ステップと、
前記受信手段が、前記第５の受信ステップにおける前記画像処理の条件の受信が終了した後に、前記第１のサービスに基づく印刷条件を記述した印刷ジョブを前記画像供給装置から受信する第６の受信ステップとを有し、
前記第２のサービスで設定可能な画像処理の条件は、前記capability情報には記述されない条件を含むことを特徴とする画像印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像印刷装置と直接通信する画像供給装置及び、画像供給装置と通信して用いる画像印刷装置、さらには画像供給装置と画像印刷装置とが通信することで構成される画像印刷システムに関する。
【背景技術】
【０００２】
デジタルカメラで撮影した画像をプリントする場合、プリントする画像をパーソナルコンピュータ（以下、ＰＣ）で読取り、ＰＣで動作するアプリケーションを用い、ＰＣに接続されたプリンタで印刷する手順が一般的である。
【０００３】
なお、本明細書では、撮影した画像をデジタルデータの形式で記録可能な機能を有する装置を総称してデジタルカメラ（ＤＳＣ）と呼ぶ。従って、静止画撮影機能を有するデジタルビデオカメラはもとより、デジタルカメラ付きの携帯電話やＰＤＡなども本明細書で言うデジタルカメラの一例である。
【０００４】
上述した手順において、画像データはＰＣを経由してプリンタへ転送されるため、プリントにはＰＣが必須である。また、ＤＳＣに記憶されている画像を印刷するのに、一々ＰＣを起動しなければならないという問題もある。
【０００５】
かかる点に着目し、ＤＳＣとプリンタとを直接接続し、ＰＣを介さずにプリントするフォトダイレクトプリント技術が知られている（特許文献１参照）。この場合、ユーザからプリンタへの指示などは、ＤＳＣが通常備えている表示装置と操作部（キー、スイッチ等）を用いて実現される。以下、ＤＳＣとプリンタが接続されたシステムのように、画像供給装置と画像印刷装置が接続されたプリントシステムを、フォトダイレクトプリントシステムと呼ぶ。
【０００６】
フォトダイレクトプリントシステムのメリットは、ＰＣを起動する必要がないため、手軽に印刷できる点は勿論のこと、ＰＣが不要であるため、システムを安価に構築できる点にもある。また、各種指示の確認、特に、印刷させようとする画像を確認するための手段として、ＤＳＣが通常備える表示装置を利用するので、プリンタに画像確認のための格別な表示装置を必要とせず、コストを更に削減できることも大きなメリットである。
【０００７】
【特許文献１】特許第3530847号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
また、最近ではＤＳＣとプリンタのメーカに依存しないフォトダイレクトプリントシステムを実現するため、フォトダイレクトプリントシステムの統一規格が提案され、市販されているＤＳＣやプリンタの殆どに採用されている。そして、規格で規定されている項目を設定する事で、印刷品位・用紙サイズ・用紙種類・ファイル種類等を指定した印刷が可能となっている。
【０００９】
しかし、規格で規定されていない項目について、設定やそれに基づく処理、例えば印刷調整・補正等を行いたい場合には、以下の課題が発生する。
・統一規格が各ベンダによる任意の規格拡張を制限している場合には、制限範囲内での拡張に限定される。そして、制限範囲内の拡張では実現出来ない印刷調整・補正機能は、規格自体がバージョンアップされ、所望の印刷調整・補正機能が規定されるまでは、互換性のない独自機能としてしか提供できない。
・規格とは互換性のない、ベンダ固有の方法で所望の印刷調整・補正機能を実現する場合にも、統一規格のサポートは必要であるため、結局は２通りの手順に対応しなくてはならず、開発効率が良くない。
【００１０】
従来、フォトダイレクトプリントシステムにおいて、規格に定められていない印刷調整・補正を実現する方法としては、以下のようなものがあった。すなわち、ＤＳＣ−プリンタ間で行われるフォトダイレクトプリント手順ではなく、プリンタ側で印刷調整や補正の実行を独自に設定した上で、フォトダイレクトプリントを行う方法である。つまり、フォトダイレクトプリントの手順はそのままで、プリンタの印刷設定を変更することで、結果に補正や調整を反映させるというものである。この場合、プリンタで印刷調整や補正の指示を与えるため、プリンタにカラーディスプレイなどの特別な表示装置を設けたり、プリンタにＰＣを接続し、ＰＣアプリケーションを利用して所望の印刷調整・補正をプリンタに対して設定したりする必要がある。
【００１１】
しかし、いずれの方法であっても、ユーザは、プリンタのＵＩとＤＳＣのＵＩ、もしくはＰＣアプリケーションのＵＩとＤＳＣのＵＩの両方を用い、２つの装置に設定を行う必要が有り、操作が煩雑になってしまっていた。また、ＤＳＣのＵＩだけでは全ての設定内容が確認出来ないため、結局何度も２つのＵＩを確認してから印刷する必要があった。
【００１２】
本発明はこのような従来技術の課題に鑑みなされたものであり、ユーザの使い勝手を改善しながら、規格化されている機能とは別の協働機能を提供可能とする画像供給装置、画像印刷装置並びに画像印刷システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述の課題は、画像印刷装置と直接通信可能な画像供給装置であって、画像供給装置が画像印刷装置を用いて行う第１のサービスであって、ダイレクトプリントプロトコルを用いた、規格化されたプリントサービス、を画像供給装置がサポートすることを表す第１情報を画像印刷装置に送信する第１の送信手段と、前記第１のサービスと協働し、第１のサービスではサポートされない画像処理を提供する第２のサービスを画像供給装置がサポートすることを表す第２情報を、問い合わせに応答して画像印刷装置に送信する第２の送信手段と、画像印刷装置から、画像印刷装置が第１のサービスをサポートすることを表す第３情報を受信する第１の受信手段と、第１の受信手段により第３情報を受信するよりも前に、画像印刷装置から、画像印刷装置が第２のサービスをサポートすることを表す第４情報を受信する第２の受信手段と、第３の情報を受信すると、画像印刷装置が第１のサービスで設定可能な印刷条件が記述されたcapability情報を画像印刷装置から取得する取得手段と、ユーザの指示を受けて、第１のサービスで設定可能な印刷条件と、第２のサービスで設定可能な画像処理の条件を設定する設定手段と、設定手段で設定した画像処理の条件を画像印刷装置に送信する第３の送信手段と、第３の送信手段による画像処理の条件の送信が終了してから、印刷条件を記述した印刷ジョブを画像印刷装置に送信する第４の送信手段とを有し、第２のサービスで設定可能な画像処理の条件は、capability情報には記述されない条件を含むことを特徴とする画像供給装置によって達成される。
【００１４】
また、上述の目的は、画像供給装置と直接通信可能な画像印刷装置であって、前記画像供給装置が画像印刷装置を用いる第１のサービスであって、ダイレクトプリントプロトコルを用いた、規格化されたプリントサービスを画像供給装置がサポートすることを表す第１情報を画像供給装置から受信する第３の受信手段と、前記第１のサービスと協働し、第１のサービスではサポートされない画像処理を提供する第２のサービスを画像供給装置がサポートすることを表す第２情報を画像供給装置から受信する第４の受信手段と、画像供給装置に、画像印刷装置が第１のサービスをサポートすることを表す第３情報を送信する第４の送信手段と、第４の送信手段による第３情報の送信より前に、画像供給装置に、画像印刷装置が第２のサービスをサポートすることを表す第４情報を送信する第５の送信手段と、第３情報の送信後、画像供給装置からの要求に応答して、画像印刷装置が第１のサービスで設定可能な印刷条件が記述されたcapability情報を画像供給装置に送信する第６の送信手段と、第２のサービスに基づく画像処理の条件を画像供給装置から受信する第５の受信手段と、第５の受信手段で画像処理の条件の受信が終了した後に、第１のサービスに基づく印刷条件を記述した印刷ジョブを画像供給装置から受信する第６の受信手段とを有し、第２のサービスで設定可能な画像処理の条件は、capability情報には記述されない条件を含むことを特徴とする画像印刷装置によっても達成される。
【発明の効果】
【００１５】
このような構成により、本発明によれば、ユーザの使い勝手を改善しながら、規格化されている機能とは別の協働機能を提供可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面に従って、本発明をその実施形態に基づき詳細に説明する。
＜基本構成の説明＞
先ず、本実施形態における基本構成について説明する。なお、以下、画像印刷装置の一例としてのプリンタが、画像供給装置の一例としてのデジタルスチルカメラ（ＤＳＣ）とが直接通信しながら、ＤＳＣ内の記憶媒体に記憶された画像をプリントする方式をフォトダイレクトプリント方式と呼ぶことにする。また、フォトダイレクトプリント方式を実現する画像処理システムをダイレクトプリントシステム、フォトダイレクトプリント方式に対応したプリンタをフォトダイレクトプリンタと呼ぶ。
【００１７】
図１は、本発明の実施形態におけるフォトダイレクトプリンタ（ＰＤプリンタという）の外観例を示す斜視図である。
図１において、ＰＤプリンタ１０００は、ホストコンピュータ（ＰＣ）からデータを受信して印刷する通常のＰＣプリンタとしての機能を有する。また、デジタルカメラから画像データを受信して印刷するダイレクトプリント機能も備えている。
【００１８】
ＰＤプリンタ１０００の外殻をなす本体は、下ケース１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。また、下ケース１００１は、ＰＤプリンタ１０００の略下半部を、上ケース１００２は本体の略上半部をそれぞれ形成する。これら両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部が形成されている。
【００１９】
さらに、排出トレイ１００４は、その一端部が下ケース１００１に回転自在に保持され、その回転によって下ケース１００１の前面部に形成される開口部を開閉させ得るように構成される。このため、印刷を実行させる際には、排出トレイ１００４を前面側へと回転させて開口部を開成させることにより、ここから紙などの記録媒体が排出可能となり、また、排出された記録媒体を順次積載することが可能である。また、排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて補助トレイを手前に引き出すことにより、排紙トレイ１００４の大きさを記録媒体サイズに合わせて拡大、縮小させることができる。
【００２０】
アクセスカバー１００３は、その一端部が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るように構成される。アクセスカバー１００３を開くことによって本体内部に収納されている記録ヘッドカートリッジ（不図示）あるいはインクタンク（不図示）等の交換が可能となる。
【００２１】
また、上ケース１００２の上面には、電源キー１００５が設けられている。１００７は自動給送部で、記録媒体を装置本体内へと自動的に給送する。１０１２は外部インタフェースコネクタであり、ここではＵＳＢ(Universal Serial Bus)規格に準拠した形状を有する。勿論、他の規格に準じたインタフェースであってもよい。一方、ＰＤプリンタ１０００はパーソナルコンピュータ（ＰＣ）からの印刷をも実現するため、例えば背面にもインタフェースを備える。
【００２２】
図２は、図１のＰＤプリンタにＤＳＣを接続して、ダイレクトプリントシステムを構築する様を示している。
図において、ケーブル５０００（ＵＳＢケーブル）は、ＰＤプリンタ１０００のコネクタ１０１２に接続するためのコネクタ５００１と、デジタルカメラ（ＤＳＣ）３０１２の接続用コネクタ５００３と接続するためのコネクタ５００２とを備えている。なお、デジタルカメラ３０１２をＰＣと接続する場合には、ＰＣが有するＵＳＢコネクタに、上記コネクタ５００１を接続することで、撮像した画像をＰＣに転送することができる。
【００２３】
また、デジタルカメラ３０１２は、内蔵もしくは着脱可能な記憶媒体に保存している画像データを、接続用コネクタ５００３を介して出力可能に構成されている。このように、図２に示すケーブル５０００を介してＰＤプリンタ１０００とデジタルカメラ３０１２とを接続することにより、ダイレクトプリントシステムを構築することができる。
【００２４】
図３は、ＰＤプリンタ１０００の制御系のブロック構成図である。
図において、１は装置全体の制御を司るＣＰＵ、２はＣＰＵ１の動作処理手順（プログラム）やフォントを記憶しているＲＯＭ、３はＣＰＵ１のワークエリアとして使用されるＲＡＭである。４は操作パネルである。５はＰＣとの接続を行うためのインタフェースであり、７はＤＳＣとの接続を行うインタフェース（ＵＳＢのホスト側）である。６はプリンタエンジン部であり、実施形態では、熱エネルギーを利用してインク液を吐出するプリントエンジンであるが、記録方式はこれにより限定されるものではない。
【００２５】
図４はＤＳＣ（デジタルスチルカメラ）３０１２のブロック構成図である。
同図において、３１はＤＳＣ全体の制御を司るＣＰＵであり、３２はＣＰＵ３１の処理手順を記憶しているＲＯＭである。３３はＣＰＵ３１のワークエリアとして使用されるＲＡＭであり、３４は各種操作を行うボタン並びにスイッチ群である。３５は液晶表示器（ＬＣＤ）であり、撮像した画像を確認したり、各種設定を行う際のメニューを表示するために使用される。３６は光学ユニットであり、主としてレンズ及びその駆動系で構成される。３７は撮像素子（ここではＣＣＤ）であり、３８はＣＰＵ３１の制御下において光学ユニット３６を制御するドライバである。３９はメモリカード４０を接続するためのコネクタであり、４１はＰＣ或いは実施形態におけるＰＤプリンタ１０００と接続するためのＵＳＢインタフェース（ＵＳＢのデバイス側）である。
【００２６】
図５は、ダイレクトプリントシステムを実現するためにＰＤプリンタ１０００並びにＤＳＣ３０１２が備える制御ソフトウェアのプロトコルスタックを説明する図である。
USB-Device５０５は、デジタルカメラ３０１２のプロトコルスタックの最下層に位置する物理接続層である。本実施形態では、ＤＳＣ３０１２とＰＤプリンタ１０００とをＵＳＢで接続しているため、ＵＳＢの物理層（デバイス側）が実装されている。
【００２７】
SICD-Devece５０４は、デバイスの振る舞いを規定するデバイスクラス層である。本実施形態では、ＵＳＢ上での振る舞いを規定するSICD(Still-Image Class)-Deviceを用いている。
PTP-Responder５０３は、任意のファイルを転送する為の転送プロトコル層である。本実施形態では下位層であるUSB-Device５０５およびSICD-Device５０４を用いてファイル転送を実現するPTP(Picture Transfer Protocol)-Responderを用いている。
【００２８】
Direct Print Service-DSC５０２は、ダイレクトプリント機能を実現するダイレクトプリントプロトコル層である。本実施形態は下位層であるPTP-Responder５０３のファイル転送機能を利用するDirect Print Service-DSCというダイレクトプリントプロトコルを用いている。
【００２９】
Direct Print DSC Application５０１は、下位層であるダイレクトプリント機能およびスイッチ群、液晶表示器、コネクタ、記憶媒体等を利用し、ダイレクトプリントシステム中のデジタルカメラ３０１２側を構成するアプリケーション層である。
【００３０】
USB-Host５１５は、ＰＤプリンタ１０００の物理接続層である。本実施形態では、ＤＳＣ３０１２とＰＤプリンタ１０００とをＵＳＢで接続しているため、ＵＳＢの物理層（ホスト側）が実装されている。
【００３１】
SICD-Host５１４は、接続相手のデバイスクラスに応じてデバイスを制御するデバイスクラス層である。本実施形態ではデジタルカメラ３０１２をSICDデバイスとして制御するSICD(Still-Image Class)-Hostを用いている。
【００３２】
PTP-Initiator５１３は、任意のファイルを転送する為の転送プロトコル層である。本フォトダイレクトプリントシステムでは下位層であるUSB-Host５１５およびSICD-Host５１４を用いてファイル転送を実現するPTP(Picture Transfer Protocol)-Initiatorを用いている。
【００３３】
Direct Print Service-Printer５１２は、ダイレクトプリント機能を実現するダイレクトプリントプロトコル層である。本実施形態では下位層であるPTP-Initiator５１３のファイル転送機能を利用するDirect Print Service-Printerというダイレクトプリントプロトコルを用いている。
【００３４】
Direct Print Printer Application５１１は、下位層であるダイレクトプリント機能と、ＰＤプリンタ１０００の有する、操作パネル４などのハードウェアを利用してダイレクトプリントシステムのＰＤプリンタ１０００側を構成するアプリケーション層である。
【００３５】
このようなダイレクトプリントシステムでは、物理的にはUSB-Device５０５とUSB-Host５１５がそれぞれの機器のインタフェースを介して直接通信を行っている。しかし、論理的には、対応する階層のスタック（５０１と５１１、５０２と５１２、５０３と５１３、５０４と５１４）同士が直接通信を行っている。
【００３６】
図６は、図５に示した制御プログラムを用いたダイレクトプリントシステムの処理手順を示すシーケンス図である。
本図では、ダイレクトプリントプロトコル層であるDirect Print Service - DSC５０２およびDirect Print Service - Printer５１２間での処理手順を説明する。図中縦方向は時間軸を表す。矢印はアクションの方向を意味し、ステップＳ６０１〜ステップＳ６０６、ステップＳ６１０〜ステップＳ６１３はDirect Print Service５１２が発行するアクションであり、ステップＳ６０７〜ステップＳ６０９はDirect Print Service５０２が発行するアクションである。なお、図６では、アクションに対する応答に関しては記載を省略している部分がある。
【００３７】
また、時間軸を表す線の太さはDirect Print Service５０２，５１２のいずれがアクションの権限を有するかを示し、基本的に細線は待ち状態、太線は権限有りを示している。つまり、Direct Print Service５０２は接続時点〜ステップＳ６０６のアクション実行まで待ち状態であり、その後Direct Print Service５１２がステップＳ６０９のアクション実行まで待ち状態となり、更にその後Direct Print Service５０２が待ち状態となる。
【００３８】
ステップＳ６０１〜ステップＳ６０６までの手順は、デジタルカメラ３０１２およびＰＤプリンタ１０００が、互いに、相手機器がDirect Print Service対応の機器であるか否かを判定するDirect Print Service Discovery処理である。
【００３９】
図に示すように、このDiscovery処理中にはＰＤプリンタ１０００（Direct Print Service - Printer５１２）がアクション権限を有している。これは、ＰＤプリンタ１０００の物理層がUSB Host５１５であり、Discovery処理に用いるPTP Operationの発行はUSB Host側から行う必要があるからである。
【００４０】
まずステップＳ６０１で、Direct Print Service - Printer５１２は、PTPのGetDeviceInfo Operationを発行し、デジタルカメラ３０１２のPTP-Responder５０３の機能を取得する。PTP-Responder５０３は、機能に関する情報をDeviceinfoDatasetにより返送する。この中には、Direct Print Service-DSC機能のサポートに関する情報も含まれている。Direct Print Service - Printer５１２は、取得した情報から、デジタルカメラ３０１２がDirect Print Service - DSC機能をサポート可能であるかを判定する。そして、もしサポート不可能であればUSB接続を終了して処理を終了する。
【００４１】
次に、ステップＳ６０２でDirect Print Service - Printer ５１２は、OpenSession Operation を発行してPTPのSessionを開始する。
次にステップＳ６０３〜Ｓ６０５でDirect Print Service - Printer ５１２はDirect Print Service - DSC ５０２がDirect Print Service Discovery スクリプト(Object名は”DPS_DIS_A”)を保持しているかどうかを確認する。
【００４２】
まずステップＳ６０３で、GetNumObject Operation（数を取得するオブジェクトを指定する引数(ObjectFormatCode)に、”スクリプト”(0x3002)を指定）を発行してDirect Print Service - DSC ５０２が保持しているスクリプト数ｎを取得する。
【００４３】
次に、ステップＳ６０４で、GetObjectHandles Operation（引数に”スクリプト”を指定）を発行し、Direct Print Service - DSC ５０２が保持しているｎ個のスクリプトに割り当てられたｎ個のObject Handleを取得する。
【００４４】
そしてステップＳ６０５で、取得したｎ個のObjectHandleの各々に対してGetObjectInfo Operationを発行し、ＤＳＣ３０１２に”DPS_DIS_A”という名前のObjectが存在するかを判定する。もし判定結果がNoであった場合にはステップＳ６０５を最大ｎ回繰り返し、ＤＳＣ３０１２が有するｎ個のスクリプト全てに対して判定を行う。具体的には、GetObjectInfo Operationに対して返されたObjectInfo Datasetを参照し、object名(filename)が”DPS_DIS_A”かどうかを判定する。
【００４５】
もしｎ回の判定全てにおいて判定結果がNoであった場合、Direct Print Service - Printer ５１２はデジタルカメラ３０１２がDirect Print Service - DSCをサポートしていないとみなし、USB接続を終了して処理を終了する。
【００４６】
ステップＳ６０５において、object名が”DPS_DIS_A”のスクリプトの存在が確認されると、Direct Print Service - Printer ５１２はＤＳＣ３０１２がDirect Print Service - DSCをサポートしているとみなす。そして、残りのスクリプトに対するアクションの発行及び判定をスキップしてステップＳ６０６へと進む。
【００４７】
この時点でDirect Print Service - Printer ５１２は接続相手であるデジタルカメラ３０１２がDirect Print Service - DSCをサポートしている事を認識している。しかし、Direct Print Service - DSC ５０２は接続相手であるＰＤプリンタ１０００がDirect Print Service - Printerをサポートしているか否かは認識していない。
【００４８】
そこでステップＳ６０６で、Direct Print Service - Printer ５１２はSendObjectInfo Operationを発行する。このアクションにより、ＰＤプリンタ１０００から、”DPS_DIS_B”という名前のObjectを送信する旨の予告を行って、ＰＤプリンタ１０００がDirect Print Service - Printerをサポートしている事をＤＳＣ３０１２へ通知する。
【００４９】
この時点でDirect Print Service - DSC ５０２は接続相手であるＰＤプリンタ１０００がDirect Print Service - Printerをサポートしている事を認識する。
こうしてDirect Print Service - DSC ５０２およびDirect Print Service - Printer ５１２はお互いがDirect Print Serviceをサポートしている事を認識し、以後はDirect Print ServiceのOprationの発行が可能となる。そして、一般的にDirect Print ServiceとしてはＰＤプリンタ１０００がServerであり、デジタルカメラ３０１２がClientとなるので、以後のアクション権限はデジタルカメラ３０１２に移る。
【００５０】
ステップＳ６０７で、Direct Print Service - DSC ５０２は、DPS_ConfigurePrintService Operationを発行してDirect Print Serviceを開始する。
次にステップＳ６０８で、DPS_GetCapabilities Operationを発行してDirect Print Service - Printer ５１２がサポートしている印刷機能を示す情報（印刷機能情報）を取得する。
【００５１】
図１３はステップＳ６０８で取得する印刷機能情報の一例としてのスクリプトファイルを示す図である。図１３の例では、印刷機能の項目がタグにより示され、項目の値が開始タグと終了タグの間に記載される形式で記述されている。
【００５２】
ｓｃ１３０１は、サポート機能記述の開始を示すタグである。
ｓｃ１３０２は、サポート印刷機能記述の開始を示すタグである。
ｓｃ１３０３は、サポート印刷品位記述の開始を示すタグである。本例では印刷品位として最も低い”draft”、印刷品位として標準である”normal”、印刷品位として最も高い”fine”をサポートしている事を表している。
【００５３】
ｓｃ１３０４は、サポート印刷用紙サイズ記述の開始を示すタグである。本例では印刷用紙サイズとして”Ｌ”判、”２Ｌ”判、”Ａ４”、”Hagaki”(葉書)の４種類をサポートしている事を表している。
ｓｃ１３０５は、サポート印刷用紙種類記述の開始を示すタグである。本例では印刷用紙種類として普通紙である”Plain”、写真用紙である”Photo”の２種類をサポートしている事を表している。
【００５４】
ｓｃ１３０６は、サポート画像フォーマット記述の開始を示すタグである。本例では画像フォーマットとして”Jpeg”、”Tiff”の２種類をサポートしている事を表している。
ｓｃ１３０７は、サポート日付印刷設定記述の開始を示すタグである。本例では日付印刷設定として日付印刷を行わない”Off”、日付印刷を行う”On”の２種類をサポートしている事を表している。
【００５５】
ｓｃ１３０８は、サポート画像補正設定記述の開始を示すタグである。本例では画像補正設定としてPrinter側の設定に準じる”PrinterDependent”、Printer側で補正を行わない”Off”、Printer側で補正を行う”On”の３種類をサポートしている事を表している。
ｓｃ１３０９は、サポート切り出し領域設定記述の開始を示すタグである。本例では切り出しを行わない”Off”、切り出しを行う”On”の２種類をサポートしている事を表している。
【００５６】
印刷機能情報を取得すると、ＤＳＣ３０１２のDirect Print DSC Apprication５０１により、取得した機能情報に応じた設定画面（ＵＩ）が構築され、ＬＣＤ３５に表示される。そしてユーザは、ＤＳＣ３０１２のボタン及びスイッチ群３４を用い、ＰＤプリンタ１０００がサポートする印刷機能の設定を行うとともに、メモリカード中の撮影画像から、印刷を行う画像（印刷画像）を選択する。そして、ユーザがボタン及びスイッチ群３４を用いて印刷開始を選択、指示すると、処理がステップＳ６０９へと進む。
【００５７】
ステップＳ６０９で、Direct Print Service - DSC ５０２はDPS_StartJob Operationを発行してDirect Print Systemによる印刷処理を開始する。
【００５８】
図７は、ステップＳ６０９でDirect Print Service - DSC ５０２から送信される印刷設定情報の一例としてのスクリプトファイルを示す図である。
ｓｃ７０１〜ｓｃ７０９の各項目の設定項目は、図１３中のｓｃ１３０１〜ｓｃ１３０９にそれぞれ対応している。
【００５９】
ｓｃ７１０〜ｓｃ７１２は印刷設定時に追加で設定される印刷情報である。
ｓｃ７０１は、印刷設定記述の開始を示すタグである。
ｓｃ７０２は、印刷機能設定記述の開始を示すタグである。
ｓｃ７０３は、印刷品位設定記述の開始を示すタグである。本例では印刷品位として標準である”normal”を設定している事を表している。
【００６０】
ｓｃ７０４は、印刷用紙サイズ設定記述の開始を示すタグである。本例では印刷用紙サイズとして”Ｌ”判を設定している事を表している。
ｓｃ７０５は、印刷用紙種類設定記述の開始を示すタグである。本例では印刷用紙種類として写真用紙である”Photo”を設定している事を表している。
【００６１】
ｓｃ７０６は、画像フォーマット設定記述の開始を示すタグである。本例では画像フォーマットとして”Jpeg”を設定している事を表している。
ｓｃ７０７は、日付印刷設定記述の開始を示すタグである。本例では日付印刷設定として日付印刷を行う”On”を設定している事を表している。
【００６２】
ｓｃ７０８は、画像補正設定記述の開始を示すタグである。本例では画像補正設定としてPrinter側の設定に準じる”PrinterDependent”を設定している事を表している。
ｓｃ７０９は、切り出し領域設定記述の開始を示すタグである。本例では切り出しを行わない”Off”を設定している事を表している。
【００６３】
ｓｃ７１０は、印刷写真設定記述の開始を示すタグである。
ｓｃ７１１は、印刷写真ID設定記述の開始を示すタグである。本例では印刷写真IDとして”０００００００１”を設定していることを表している。
ｓｃ７１２は、印刷写真日付設定記述の開始を示すタグである。本例では印刷写真日付として”２００６/０１/２０”を設定していることを表している。
【００６４】
ステップＳ６０９が完了すると、印刷処理が開始され、以後印刷ステータスの発行や、必要とされる写真画像ファイルの取得等のアクション権限がＰＤプリンタ１０００に移る。
続いてステップＳ６１０ではＰＤプリンタ１０００がDPS_NotifyDeviceStatusを発行し、印刷を開始した事を通知する。
【００６５】
ステップＳ６１１ではＰＤプリンタ１０００がDPS_NotifyJobStatusを発行し、印刷ジョブの進行状況を示す。
ステップＳ６１２では必要とされる写真画像ファイル（図７に記載の例であればID=０００００００１の写真画像ファイル）の属性情報を取得している。
【００６６】
ステップＳ６１３では必要とされる写真画像ファイル（図７に記載の例であればID=０００００００１の写真画像ファイル）本体を取得している。
以後印刷が完了するとその旨をDPS_NotifyDeviceStatusで通知し、またステップＳ６０８後の状況に戻り、以後処理を継続する。
【００６７】
以上説明したように、フォトダイレクトプリントシステムでは図１３に記載されている項目を印刷設定する事で様々な印刷品位・用紙サイズ・用紙種類・ファイル種類等を設定して印刷を行う事が可能である。
【００６８】
しかし、図１３に記載されていない項目、つまりフォトダイレクトプリント規格に規定されていない項目についての印刷調整・補正を行おうとした場合には、前述した課題が発生する。
そこで、規格化されているフォトダイレクトプリントサービスとは別に、協働機能として、プリンタ側の標準設定を設定する標準設定サービスを用いる事で、フォトダイレクトプリントサービスの接続性を維持しつつ、印刷調整・補正を行う事を実現する。
【００６９】
＜第１の実施形態＞
図８は、本発明の第１の実施形態に係るＤＳＣ３０１２及びＰＤプリンタ１０００の制御プログラムのプロトコルスタックを説明する図である。図８において、図５と同じスタックについては同じ参照数字を付し、説明を省略する。
【００７０】
図５と図８との比較から明らかなように、本実施形態では、標準設定に係るプロトコルスタック８０１，８０２，８１１，８１２が、ＰＴＰプロトコル層の上位層として追加されている。
Default Setting Service-DSC８０２は、下位層であるPTP-Responderのファイル転送機能を利用して、標準設定機能を実現する標準設定プロトコル層である。
【００７１】
Default Setting DSC Application８０１は、下位層である標準設定機能および、ボタン及びスイッチ群３４、ＬＣＤ３５、コネクタ３９、記憶媒体４０等を利用して実際に標準設定システム中のデジタルカメラ３０１２側を構成する標準設定アプリケーション層である。
【００７２】
Default Setting Service-Printer８１２は、下位層であるPTP-Initiatorのファイル転送機能を利用し、標準設定機能を実現する標準設定プロトコル層である。
Default Setting Printer Application８１１は、下位層である標準設定機能および、図３中の操作パネル４等を利用して実際に標準設定システム中のＰＤプリンタ１０００側を構成する標準設定アプリケーション層である。
【００７３】
図５で説明したように、本実施形態においても、物理的にはUSB-DEVICE５０５とUSB-HOST５１５がＵＳＢインタフェースを介して直接通信を行っているが、論理上は同じ階層のスタック同士（８０１と８１１、８０２と８１２）が互いに直接通信を行っている。
【００７４】
図９は、図８に示した制御プログラムを用いたダイレクトプリントシステムの処理手順を示すシーケンス図である。
ステップＳ９０１〜Ｓ９１３は図６中のステップＳ６０１〜Ｓ６１３と振る舞いおよび働きが同一であるので説明を省略する。
【００７５】
本図において図６と異なるのは、標準設定システムの動作であるステップＳ９５１〜Ｓ９５３であるので、それらのステップに注目してフローを説明する。ステップＳ９５１〜Ｓ９５２は互いの機器がDefault Setting Serviceをサポートしている事を確認するDiscovery処理であり、ステップＳ９５３は実際のDefault Setting Serviceを利用した標準設定行為である。
【００７６】
まずステップＳ９５１で、８１２はGetDeviceInfo Operationを発行してデジタルカメラ３０１２のPTP-Responder５０３の機能を取得する。ここで、デジタルカメラ３０１２がDefault Setting Service - DSC機能をサポート可能であるかを判定し、もしサポート不可能であればUSB接続を終了して処理を終了する。
【００７７】
本実施形態では、デジタルカメラ３０１２がDefault Setting Serviceをサポートしている事を示す情報”DSS_DIS_A”に相当する情報は、GetDeviceInfo Operationに対するResponse(DeviceInfo Dataset)に含まれている。Responseに”DSS_DIS_A”相当の情報を含める方法としては、例えば以下の方法がある。
【００７８】
後述の、標準設定サポート通知スクリプト”DSS_DIS_B”および標準設定スクリプト”DSS_SET”用として、ベンダ固有の画像フォーマットを設定する。そして、GetDeviceInfoに対するResponse中の(ImageFormatsフィールド）に記述される、サポート画像フォーマットをチェックする。
【００７９】
このサポート画像フォーマットに、上記”DSS_DIS_B”および”DSS_SET”用のベンダ固有の画像フォーマットが含まれていれば、Default Setting Serviceをサポートしているものと判断できる。つまり、このベンダ固有画像フォーマットを表す情報が、”DSS_DIS_A”相当の情報である。
【００８０】
この時点で、ＰＤプリンタ１０００はデジタルカメラ３０１２がDefault Setting Service - DSCをサポートしていることを認識できる。しかし、デジタルカメラ３０１２は、ＰＤプリンタ１０００がDefault Setting Service - Printerをサポートしているか否かを認識できていない。
【００８１】
なお、本実施形態では、ステップＳ９５１を、規格に準拠したサービスにおいてGetDeviceInfoを発行するステップＳ９０１と、ＤＳＣ３０１２側から見て区別できないように実装している。これは、ＤＳＣ３０１２が規格に規定された動作しかサポートしていない場合でも正常な動作を確保するためである。
【００８２】
つまり、ＤＳＣ３０１２が、Default Setting Service - DSCをサポートしておらず、或いはDefault Setting Service - Printerの存在を想定せずに設計された機器（非互換機器）であっても、トラブルを生じさせないためである。
【００８３】
仮に、ステップＳ９５１の処理を、ステップＳ９０１とは別の処理として実現し、それがDirect Print Serviceの規定外の動作だったとする。この場合、ＤＳＣ３０１２が非互換機器だと、ＰＤプリンタ１０００の動作を異常動作と判断し、安全のためにUSB接続を切断してしまう可能性がある。
このような動作が発生する危険性を避けるためにも、ステップＳ９５１の処理は既存のDirect Print Serviceの処理ステップＳ９０１を共通利用して実装する事が好ましい。
【００８４】
以後、図６のステップＳ６０２〜Ｓ６０５と同様に、ステップＳ９０２〜Ｓ９０５の処理を行う。
ステップＳ９０５が終了した時点でも、依然としてDirect Print Service - DSC ５０２は接続相手であるＰＤプリンタ１０００がDirect Print Service - Printerをサポートしているか否かを認識できない。
【００８５】
そのため、次にステップＳ９５２で、Default Setting Service-Printer８１２は、SendObjectInfo Operationと、それに引き続くSendObject Operationを発行する。これにより、ＤＳＣ３０１２に対して、Default Setting Serivce - Printer をサポートしている事ならびにサポート内容を通知するための、標準設定サポート通知スクリプト”DSS_DIS_B”を送付する。
【００８６】
図１０は、ステップＳ９５２で送信される標準設定サポート通知スクリプト”DSS_DIS_B”の例を示す図である。他のスクリプトと同様、各項目がタグにより示され、項目の値が開始タグ（＜（文字列）＞）と終了タグ（＜／（文字列）＞）の間に記載される形式で記述されている。
【００８７】
ｓｃ１００１は、サポート機能記述の開始を示すタグである。
ｓｃ１００２は、メインＵＩ中で選択可能なサポート機能記述の開始を示すタグである。
ｓｃ１００３は、サポート印刷モード記述の開始を示すタグである。本例では印刷モードとしてカラー印刷を行う”color”、白黒印刷を行う”monochrome”をサポートしている事を表している。
【００８８】
ｓｃ１００４は、サブＵＩ中で選択可能なサポート機能記述の開始を示すタグである。
ｓｃ１００５は、サポート明るさ調整記述の開始を示すタグである。本例では明るさ調整として”−３”〜”＋３”の７段階の調整をサポートしている事を表している。
ｓｃ１００６は、サポートレベル調整記述の開始を示すタグである。本例ではレベル調整として自動調整である”auto”、調整を行わない”off”、調整を行う”on”の３種類をサポートしている事を表している。
【００８９】
ｓｃ１００７は、サポート顔明るく補正記述の開始を示すタグである。本例では顔明るく補正として自動補正である”auto”、補正を行わない”off”、補正を行う”on”の３種類をサポートしている事を表している。
ｓｃ１００８は、サポート赤目補正記述の開始を示すタグである。本例では赤目補正として自動補正である”auto”、補正を行わない”off”、補正を行う”on”の３種類をサポートしている事を表している。
【００９０】
ｓｃ１００９は、詳細ＵＩ中で選択可能なサポート機能記述の開始を示すタグである。
ｓｃ１０１０は、サポートコントラスト調整記述の開始を示すタグである。本例ではコントラスト調整として”−３”〜”＋３”の７段階の調整をサポートしている事を表している。
ｓｃ１０１１は、サポート彩度調整記述の開始を示すタグである。本例では彩度調整として”−３”〜”＋３”の７段階の調整をサポートしている事を表している。
【００９１】
ｓｃ１０１２は、サポート色相調整記述の開始を示すタグである。本例では色相調整として”−３”〜”＋３”の７段階の調整をサポートしている事を表している。
ｓｃ１０１３は、サポートカラーバランス調整記述の開始を示すタグである。
ｓｃ１０１４は、サポートカラーバランスの赤色調整記述の開始を示すタグである。本例では赤色調整として”−５”〜”＋５”の１１段階の調整をサポートしている事を表している。
【００９２】
ｓｃ１０１５は、サポートカラーバランスの緑色調整記述の開始を示すタグである。本例では緑色調整として”−５”〜”＋５”の１１段階の調整をサポートしている事を表している。
ｓｃ１０１６は、サポートカラーバランスの青色調整記述の開始を示すタグである。本例では青色調整として”−５”〜”＋５”の１１段階の調整をサポートしている事を表している。
【００９３】
ステップＳ９５２において、SendObject Oprationを受信すると、ＤＳＣ３０１２のDefault Setting Service - DSC ８０２は接続相手であるＰＤプリンタ１０００がDefault Setting Service - Printerをサポートしている事を認識する。こうしてDefault Setting Service - DSC ８０２およびDefault Setting Service - Printer ８１２はお互いがDefault Setting Serviceをサポートしている事を認識し、以後はDefault Setting ServiceのOprationの発行が可能となる。
【００９４】
続いてステップＳ９０６の処理を行う。
上述のように、ステップＳ９０６のSendObjectInfo Operationの受信により、Direct Print Service - DSC ５０２は接続相手であるＰＤプリンタ１０００がDirect Print Service - Printer５１２をサポートしている事を認識する。
【００９５】
こうしてDirect Print Service - DSC ５０２およびDirect Print Service - Printer ５１２はお互いがDirect Print Serviceをサポートしている事を認識し、以後はDirect Print ServiceのOprationの発行が可能となる。
【００９６】
続いてステップＳ９０７〜Ｓ９０８の処理を行う。
ステップＳ９０８において、DPS_GetCapabilities Operationへの応答として、図１３で説明したような印刷設定情報が送信されてくる。これにより、Direct Print Serviceおよび、ステップＳ９５２で通知されたDefault Setting Serviceの両方のCapabilityに応じた設定画面（ＵＩ）が構築され、ＬＣＤ３５に表示される。このＵＩについては後で詳しく説明する。
【００９７】
そしてユーザは、ＤＳＣ３０１２のボタン及びスイッチ群３４を用い、ＰＤプリンタ１０００がサポートする印刷機能の設定及び、必要に応じて標準設定を行うとともに、メモリカード中の撮影画像から、印刷を行う画像（印刷画像）を選択する。
そして、ユーザがボタン及びスイッチ群３４を用いて印刷開始を選択、指示すると、DPS_StartJobを送信するステップＳ９０９を実行する前に、ステップＳ９５３へと進む。
【００９８】
ステップＳ９５３で、Default Setting Service - DSC ８０２が、DSS_SetDefault Operationを用いて標準設定情報スクリプト”DSS_SET”をDefault Setting Service - Printer ８１２に送付する。
【００９９】
図１１は、ステップＳ９５３で送信される標準設定情報スクリプト”DSS_SET”の例を示す図である。他のスクリプトと同様、各項目がタグにより示され、項目の値が開始タグ（＜（文字列）＞）と終了タグ（＜／（文字列）＞）の間に記載される形式で記述されている。
ｓｃ１１０１〜ｓｃ１１１６の各項目の設定項目は図１０中のｓｃ１００１~ｓｃ１０１６にそれぞれ対応している。
ｓｃ１１０１は、標準設定記述の開始を示すタグである。
【０１００】
ｓｃ１１０２は、メインＵＩ中で選択可能な標準設定機能記述の開始を示すタグである。
ｓｃ１１０３は、標準印刷モード記述の開始を示すタグである。本例では標準印刷モードとしてカラー印刷を行う”color”を設定している事を表している。
【０１０１】
ｓｃ１１０２は、メインＵＩ中で選択可能な標準設定機能記述の終了を示すタグである。
ｓｃ１１０４は、サブＵＩ中で選択可能な標準設定機能記述の開始を示すタグである。
ｓｃ１１０５は、標準明るさ調整記述の開始を示すタグである。本例では標準明るさ調整として”＋２”を設定している事を表している。
【０１０２】
ｓｃ１１０６は、標準レベル調整記述の開始を示すタグである。本例では標準レベル調整として自動調整である”auto”を設定している事を表している。
ｓｃ１１０７は、標準顔明るく補正記述の開始を示すタグである。本例では標準顔明るく補正として補正を行わない”off”を設定している事を表している。
【０１０３】
ｓｃ１１０８は、標準赤目補正記述の開始を示すタグである。本例では標準赤目補正として補正を行わない”off”を設定している事を表している。
ｓｃ１１０９は、詳細ＵＩ中で選択可能な標準設定機能記述の開始を示すタグである。
ｓｃ１１１０は、標準コントラスト調整記述の開始を示すタグである。本例では標準コントラスト調整として”-２”を設定している事を表している。
【０１０４】
ｓｃ１１１１は、標準彩度調整記述の開始を示すタグである。本例では標準彩度調整として”+２”を設定している事を表している。
ｓｃ１１１２は、標準色相調整記述の開始を示すタグである。本例では標準色相調整として”+１”を設定している事を表している。
【０１０５】
ｓｃ１１１３は、標準カラーバランス調整記述の開始を示すタグである。
ｓｃ１１１４は、標準カラーバランスの標準赤色調整記述の開始を示すタグである。本  例では標準赤色調整として”+２”を設定している事を表している。
ｓｃ１１１５は、標準カラーバランスの標準緑色調整記述の開始を示すタグである。本例では標準緑色調整として”+３”を設定している事を表している。
ｓｃ１１１６は、標準カラーバランスの標準青色調整記述の開始を示すタグである。本例では標準青色調整として”-１”を設定している事を表している。
【０１０６】
続いてステップＳ９０９が処理され、印刷処理の開始がDPS_StartJob OperationによってDirect Print Service-Printer８１２へ、印刷設定情報（図７）と共に通知される。
ここで、印刷設定情報に含まれる、ｓｃ７０８の画像補正設定値として、”PrinterDependent”が記述されている場合には、Printer側の設定に準じる事た補正が指定される。従って、ステップＳ９５３で送信される、Default Setting ServiceのDSS_SetDefaultの設定内容が反映された印刷結果が得られる。
【０１０７】
もしｓｃ７０８の画像補正設定記述タグ中に”off”が記述されている場合には、Printer側の設定を行わない事を意味するので、Default Setting ServiceのDSS_SetDefaultの設定内容は無効となる。
以後、ステップＳ６１０〜Ｓ６１３と同様にしてステップＳ９１０〜Ｓ９１３の印刷処理が行われる。印刷が完了するとＰＤプリンタ１０００はその旨をDPS_NotifyDeviceStatusで通知し、またステップＳ９０８後の状況に戻り、以後処理を継続する。
【０１０８】
この様に、本実施形態では、フォトダイレクトプリントサービスとは別に、ＰＤプリンタの標準設定を設定する標準設定サービスを協働して用いる。これにより、フォトダイレクトプリントサービスの接続性を維持しつつ、フォトダイレクトプリントサービスの規格で定められていない印刷調整・補正を実施する事が可能になる。
【０１０９】
なお、本実施形態中で、ＰＤプリンタ１０００が標準設定サービスに関する情報をＤＳＣ３０１２へ通知するステップＳ９５２を、標準ＤＰＳサービスが行うステップＳ９０５とＳ９０６の間で行うようにしているのには、以下のような理由がある。
【０１１０】
まず第１に、本実施形態において、Default Setting ServiceはDirect Print Serviceの補助的なサービスとして設定されているからである。ＤＳＣ３０１２の状況によってはDirect Print Serviceに移行せずに他のプロトコルに移行する可能性もある。従って、ステップＳ９０５の処理により、ＤＳＣ３０１２がDirect Print Service - DSCをサポートしている（DPS_DIS_Aを有している）事を確認してから、補助サービスである標準設定サービスの情報を通知した方が安全である。
【０１１１】
第２に、ステップＳ９０６の後になると、Direct Print Serviceのアクション権限がデジタルカメラ３０１２に移ってしまうからである。アクション権限を有するデジタルカメラ３０１２は、ステップＳ９０８までの処理を直ちに実行し、印刷設定ＵＩを構築してＬＣＤ３５に表示することが可能である。そしてユーザが印刷設定ＵＩを介して印刷開始を選択すると、ステップＳ９０９へと処理が進む。
【０１１２】
ステップＳ９０６の後、ステップＳ９０９までのどこかのタイミングで、ステップＳ９５２の処理を実行したとする。この場合、ＤＳＣ３０１２は、ユーザが標準設定サービスに関する設定を行えるようにするため、印刷設定ＵＩの再構築を余儀なくされたり、印刷開始を指示したジョブのキャンセルを行う必要に迫られたりする可能性がある。
【０１１３】
既に印刷開始を指示したジョブについてはキャンセルせずに、そのジョブ完了後にDefault Setting Serviceを反映した印刷設定ＵＩの構築を行うようにしてもよい。しかし、この場合、ユーザは最初と異なるＵＩを呈示される。そのため、ユーザの混乱を招いたり、既に印刷指示してしまったジョブについて、標準設定サービスを利用したいユーザは、再度同じ画像の印刷を指示する必要があるなど、ユーザビリティの点で好ましくない。
【０１１４】
また、既に印刷指示したジョブに関する印刷設定情報（図７）において、ｓｃ７０８の画像補正設定項目の設定値が、Printer側の設定に準じる”PrinterDependent”に設定されていた場合、別の問題が生じうる。つまり、ＰＤプリンタ１０００側ではDefault Setting Serviceが有効であると判断するので、その時点でのDefault Setting Serviceの設定内容を反映してジョブを処理（画像を出力）してしまう可能性がある。
【０１１５】
このように、ＰＤプリンタ１０００がサポートする標準設定サービスに関する情報をＤＳＣ３０１２へ通知するステップＳ９５２は、少なくともＤＰＳのアクション権限がＤＳＣ３０１２に移る前、具体的にはステップＳ９０６の実行前であることが好ましい。
【０１１６】
なお、本実施形態では、ステップＳ９５２において、SendObjectInfo Operation及びSendObject Operationにより、スクリプト”DPS_DIS_B”の存在並びに実体をＰＤプリンタ１０００からＤＳＣ３０１２へ送信する。つまり、ＰＤプリンタ１０００がDefault Setting Service - Printerをサポートしている事を通知する機能（Discovery機能）と、Default Setting Service - Printerがサポートしている機能を通知する機能（DSS_SendCapability）をステップＳ９５２にまとめている。
【０１１７】
しかし、それぞれの機能をより時間的に異なるタイミングで実現しても良い。但し、ステップＳ９５２の実行タイミングについて説明したように、DSS_SendCapabilityの実行は少なくともデジタルカメラ３０１２がステップＳ９０８で印刷機能情報を取得し、印刷設定ＵＩを構築する前に行う事が好ましい。
【０１１８】
また、本実施形態ではステップＳ９５１をステップＳ９０１と統合しているが、ステップＳ９０１〜Ｓ９０５までの処理のいずれかと同じタイミングであれば良い。重要なのは、基本サービスであるDirect Print Serviceの手順に影響を及ぼさずに、ＤＳＣ３０１２３０１２がDefault Setting Service - DSCに対応している事を示す情報”DSS_DIS_A”をＰＤプリンタ１０００へ伝達するという事である。
【０１１９】
例えば、ステップＳ９０５においてDirect Print ServiceのDiscoveryで用いられる”DPS_DIS_A”オブジェクトの属性情報中の、Direct Print Serviceで使用していない領域を利用し、”DDS_DIS_A”に相当する情報を伝達しても良い。この情報伝達に利用可能な領域としては、例えばオブジェクト作成日時領域・オブジェクト修正日時領域・キーワード領域等がある。
【０１２０】
次に、本実施形態におけるＤＳＣ３０１２で構築され、ＬＣＤ３５に表示される印刷設定ＵＩについて説明する。
本実施形態の印刷設定ＵＩは、基本サービスであるDirect Print Serviceに関する設定を行うＵＩと、本実施形態で追加されているDefault Setting Serviceに関する設定を行うＵＩを含む。
【０１２１】
図１４、図１５、図１６は、「Direct Print Service」でサポートされる設定項目を示すスクリプト（図１３）と、「Default Setting Service」でサポートされる設定項目を示すスクリプト（図１０）とに基づいて構築される設定ＵＩ（設定画面）の例を示す図である。
【０１２２】
本実施形態のＤＳＣ３０１２において、設定ＵＩは階層構造を有するＧＵＩであり、ＬＣＤ３５に表示される。ユーザは、ＤＳＣ３０１２の有するボタン及びキー３４を操作して、所望の項目について所望の値を設定することができる。
【０１２３】
図１４は、主に「Direct Print Service」の設定を行うための画面（メインＵＩ）の例を示す図である。図１５は、メインＵＩから呼び出される、「Defualt Setting Service」の設定を行うための画面（サブＵＩ）の例を示す図である。図１６は、サブＵＩから呼び出される、「Default Setting Service」の詳細設定を行うための画面（詳細ＵＩ）の例を示す図である。
【０１２４】
図１４において、タイトル２０００は、設定画面の種類を示しており、カメラダイレクトプリントの設定画面であることをユーザが認識できるように設けられている。２００１〜２０１９は実際にユーザが設定等を行うためのボタンである。ユーザは、ＤＳＣ３０１２が有する方向キーや実行キーを用いて、所望のボタンを選択、押下する操作を行うことができる。或いは、ＬＣＤ３５がタッチパネルを装備している場合には、実際のボタンを扱うように操作することが可能である。ＧＵＩの操作を実現する手法は本発明とは直接関係が無く、また周知のどのような手法を用いてもよいため、これ以上の説明は割愛する。
【０１２５】
２００１は部数選択ボタンで、例えば選択状態でキーを操作することで印刷部数を指定できる。２００３は日付印刷設定ボタンであり、ＯＮ，ＯＦＦがトグルする。ＯＮで日付印刷が行われる。２００５はキャンセルボタンで、印刷をスタートせずにカメラダイレクトプリント設定を終了する際に用いる。２００７はプリントスタートボタンで、設定画面の設定内容を反映した印刷の開始を指示するためのものである。
【０１２６】
２００９はトリミング設定ボタンであり、本ボタンを押すことにより、トリミング枠の詳細を設定する別画面（図示せず）に遷移する。ユーザは、この別画面でトリミング枠を調整、設定することが可能である。２０１１は用紙サイズ設定ボタンで、現在は“Ｌ判”が指定されている。例えばこのボタンを選択状態にし、方向キーを操作すると他の用紙サイズに変更することが可能である。２０１３はレイアウト設定ボタンで、ここでは縁なし印刷か縁有り印刷かを指定可能にしている。２０１５は印刷品位設定ボタンで、用紙サイズと同様の方法で品質を変更することが可能である。
【０１２７】
メインＵＩにおいて、ボタン２００１、２００９、２０１１、２０１３、２０１５は、Direct Print Serviceに基づいたPrinterCapabilityに関する設定項目であり、図１３に示したスクリプトファイルに基づく項目と、選択肢を有するＵＩが構築される。
一方、色調設定ボタン２０１７と調整ボタン２０１９は、Default Setting Serviceに基づいた設定項目であり、図１０に示したスクリプトファイルに基づいて構築されている。
【０１２８】
色調調整ボタン２０１７は色調の設定を行うためのボタンであり、例えば選択状態で方向キーを操作することにより、設定値を変更することができる。具体的には、図１０のｓｃ１００３の＜PrinteModes＞の設定可能項目である「color」「monochrome」のいずれかを選択することが可能である。なお、図１４において、「color」＝「カラー」、「monochrome」＝「白黒」と表示されているように、スクリプトファイル中に記載された選択肢そのものをＵＩに用いる必要はない。ＤＣＳ３０１２は、ＵＩ構築時に、適宜表現を変えたり、一部の選択肢のみを選択可能にする等の処理を行なってもよい。
【０１２９】
調整ボタン２０１９は、色調整を行うサブＵＩに画面を遷移させるためのボタンで、図１０のスクリプトにおける＜subUIs＞の存在に基づいて構築する。調整ボタン２０１９が押下されると、ＤＣＳ３０１２は、メインＵＩに代えて、図１５に示すサブＵＩをＬＤＣ３５に表示させる。
【０１３０】
図１５に示すサブＵＩは、ＤＳＣ３０１２が、図１０記載のスクリプトで、サブＵＩタグ（ｓｃ１００５以降の＜subUIs＞〜＜/subUIs＞）に囲まれた範囲に記述されている項目と選択肢に基づいて構築する。
【０１３１】
タイトル２１００は、設定画面の種類を示しており、色調整に間する設定画面であることをユーザが認識できるように設けられている。明るさ調整項目２１０１は、図１０のｓｃ１００６の＜brightneses＞に記載された設置値ー３〜＋３を選択肢として構築する。ユーザは、例えば上下の矢印キーでこの項目を選択状態にし、例えば左右の方向キーを操作して、所望の値を選択状態にすることで設定を行うことが可能である。
【０１３２】
同様に、レベル調整項目２１０３、逆光補正項目２１０５、赤目補正項目２１０７は、それぞれ、図１０のスクリプトにおけるｓｃ１００７＜levelAdjusts＞、ｓｃ１００８＜faceBrigeters＞、ｓｃ１００９＜redEyeRemavals＞に対応した設定項目である。ユーザは上下左右キーなどでカーソルを移動し、設定を行う。「戻る」ボタン２１０９は、サブＵＩでの設定が終了した際に、図１４のカメラダイレクトプリント設定画面（メインＵＩ）に戻るためのボタンである。詳細調整ボタン２１１１は、図１６記載の色調整詳細設定画面に遷移するためのボタンである。詳細調整ボタン２１０９が押下されると、ＤＣＳ３０１２は、サブＵＩに代えて、図１６に示す詳細ＵＩをＬＤＣ３５に表示させる。
【０１３３】
図１６に示す詳細ＵＩは、ＤＳＣ３０１２が、図１０記載のスクリプトで、詳細ＵＩタグ（ｓｃ１０１０以降の＜detailUIs＞〜＜/detailUIs＞）に囲まれた範囲に記述されている項目と選択しに基づいて構築する。
【０１３４】
タイトル２２００は設定画面の種類を示しており、色調整の詳細設定画面であることをユーザが認識できるように設けられている。コントラスト調整項目２２０１は、コントラスト調整に関する設定を行う項目である。図１０のスクリプトにおけるｓｃ１０１１の＜contraste＞に記載された設置値ー３〜＋３を選択肢として構築する。ユーザは、例えば上下の矢印キーでこの項目を選択状態にし、例えば左右の方向キーを操作して、所望の値を選択状態にすることで設定を行うことが可能である。
【０１３５】
同様に、彩度強調量調整項目２２０３、色調調整項目２２０５は、それぞれ、図１０のスクリプトにおけるｓｃ１０１２＜saturations＞、ｓｃ１０１３＜hues＞に対応した設定項目である。カラーバランス調整用ボタン２２０７、２２０９、２２１１はそれぞれ図１０のスクリプトにおけるｓｃ１０１４＜colorBalarances＞の項目の詳細であるｓｃ１０１５＜reds＞、ｓｃ１０１６＜greens＞、ｓｃ１０１７＜blues＞を設定するための設定ボタンである。ボタンを選択して例えば上下矢印キーを操作して、−５〜＋５の間で設定可能である。「戻る」ボタン２２１３は、詳細ＵＩでの設定が終了した際に、図１５の色設定画面（サブＵＩ）に戻るためのボタンである。
【０１３６】
このように、本実施形態においてＤＳＣ３０１２が構築する各設定画面（ＵＩ）は階層構造を有している。そして、最初に表示するメインＵＩは、基本サービスであるDirect Photo Print Serviceに関する設定項目を含んでいる。そして、補助サービスであるDefoult Setting Serviceに関する設定項目は、図１０のスクリプトでの指定によって、＜mainUIs＞タグで囲まれる設定項目は最上位層（ここではメインＵＩ）に含めてＵＩを構築する。同様に、ＤＳＣ３０１２は、＜sbuUIs＞タグに囲まれる設定項目は最上位層から呼び出される中間層、＜detailUIs＞タグに囲まれる設定項目は中間層から呼び出される最深層の設定画面に含めるようにＵＩを構築する。
【０１３７】
このような構成により、ユーザは、より詳細な設定を行いたい時だけ、設定画面の階層を下がってゆけばよい。標準的な設定を行えればよい、通常のユーザは、最初に表示される最上位層の設定画面により、必要最低限の設定が可能である。より詳細な設定を行いたいユーザは、下位層の設定画面に遷移すれば、所望の設定を行うことができる。
【０１３８】
なお、本実施形態では、図１０記載のスクリプト中に含まれる、設定階層を指定するタグ＜mainUIs＞、＜subUis＞、＜detailUIs＞に従った階層関係で設定画面を構築した例を示した。しかし、ＤＳＣ３０１２は、必ずしもスクリプトに指定された階層構造通りの設定画面を構築しなくても良い。
しかしながら、スクリプトの指定に従った階層構造を採用することで、以下に説明するような効果を達成できる。
【０１３９】
最上位層（メインＵＩ）のカメラダイレクトプリント設定画面（図１４）は、基本サービスであるダイレクトフォトプリントサービス（ＤＰＳ）に関するプリンタの能力を示す、図１３のスクリプトに記載された項目に基づいて構成している。最初に表示されるメインＵＩでは、印刷結果に大きな影響を与える、主要設定項目を設定するための画面である。一方で、主要設定項目に加え、標準設定サービス（ＤＳＳ）に関するプリンタの能力を示す図１０のスクリプトに記述された設定項目のうち、最上位階層に指定された設定項目を含めている。すなわち、ｓｃ１００３の＜PrintMode＞に対応する項目である。カラー印刷かモノクロ印刷かのような印刷結果に大きな影響を与える設定項目が、標準設定サービスの設定項目中にある場合、ＤＰＳの設定と同様にメインＵＩで設定ができるようにした方が、使い勝手がよい。また、意図しない印刷結果となってしまうことを防ぐこと効果も得られる。
【０１４０】
また、ＤＰＳの設定を行うＵＩに、別サービスであるＤＳＳの設定を行うＵＩへの遷移ボタン２０１９を設けている。一般に表示サイズが小さいデジタルカメラの表示装置では、多くの項目を一画面に表示するのは困難であり、かといって、画面をスクロールするように構成すると、画面外に出た項目の設定値を見ることができない。本実施形態の設定画面構成のように、類似したレベルの設定項目毎にまとめた階層的な構造とすることで、ユーザにとって設定が容易になるという効果がえられる。
【０１４１】
本発明のＵＩ構成では、ＤＰＳの設定を主とした設定および印刷開始指示画面から、図１５、２２記載のようなＤＳＳの設定を主とした設定画面へ遷移する、図１４記載の遷移ボタン２０１９のような構成を有している。また、ＤＳＳの設定を主とした設定画面から、ＤＰＳの設定を主とした設定画面へ遷移する、図１５記載の遷移ボタン２１０９のような構成を有している。このため、ユーザは、ＤＳＳ関連の設定を行った際には、必ずＤＰＳのメイン設定画面に戻ってから印刷をスタートすることになる。これによりＤＳＳ設定が必ず確定した状態で印刷スタートすることが可能となる。すなわち「ＤＳＳ設定」が完了した後に「プリントスタート」をユーザは行うことになる。
【０１４２】
本実施形態において、図９のステップＳ９５３の「DSS_set」とステップＳ９０９「DPS_StartJob」は、いずれもＤＳＣ３０１２が行なう処理であるが、ステップＳ９５３がステップＳ９０９の前に実行されることが好ましい。これは、ＤＳＳの設定を行った場合、それが確定した後で、「プリントスタート」の指示がなされるよう、本実施形態のようにＵＩを構成することで可能となる。
【０１４３】
もし、本実施形態のような設定画面間の遷移構成等がなく、「ＤＰＳ設定」と「ＤＳＳ設定」とが全く独立して設定し互いのＵＩ間で遷移構成を有さない場合を考える。この場合、図９のステップＳ９５３の「DSS_set」が、Ｓ９０９の「DPS_StartJob」よりも必ず前に実行されるようにすることは困難であったり、ユーザに負荷を与えたり、操作上違和感を与えたりする可能性が高い。
【０１４４】
例えば、プリントスタート時に、「ＤＳＳ設定が終了したか？」「ＤＳＳ設定を行ってから印刷開始してください」などのワーニングが必要となり、ユーザに操作上違和感を与えることになってしまう。一方で、本実施形態のように、「ＤＰＳ設定」画面と「ＤＳＳ設定」画面との間に、規則的な遷移関係を持たせることで、ユーザに余計な負荷や操作上の違和感を与えることなく、確実に「DSS_set」と「DPS_StartJob」の送信順序を確定することが可能となる。
【０１４５】
なお、本実施形態では、ＤＳＳに関する設定画面（図１５、図１６）には、ＤＰＳに関する設定画面（図１４）を起点として遷移する場合のみを記載した。しかし、ＤＳＳに関する設定が完了してから印刷開始指示を入力可能にしさえすれば、ＤＰＳに関する設定画面以外からＤＳＳに関する設定画面に遷移可能な構成であってもよい。
【０１４６】
ただし、本実施形態のように、ＤＰＳに関する設定が、ダイレクトプリントに関する基本設定であることから、ＤＰＳに関する設定を行う画面からＤＳＳに関する設定を行う画面へ遷移する構成とした方が、ユーザにとって違和感ない操作感がえられ好ましい。また、ユーザが「ＤＳＳ設定」の変更を行わない場合においても、「ＤＳＳ設定」画面への遷移する構成を有している「ＤＰＳ設定」画面から操作することにより、ユーザが意図をもって「ＤＳＳ設定」を変更しなかったと判断できるのでより好ましい。
【０１４７】
一方、ＤＳＳを用いないケースでは、図１０に示すような、ＤＳＳが提供するプリンタの設定項目を示すスクリプトファイルはＰＤプリンタ１０００からＤＳＣ３０１２へ送信されない。
【０１４８】
この場合、メインＵＩは例えば図１７に示すように、ＤＳＳに関する設定項目が無効（ここでは非表示）になる。ただし、ＤＳＳに関する設定項目のうち、メインＵＩに含まれるべき項目が確定している場合には、図１７に示すように項目名のみ表示してもよい。このように、ＤＳＳを用いない場合、ＤＳＳに関する設定画面への遷移を行えないようにすることで、変更できない項目の操作や変更を誤ってユーザが指定することが無く、ユーザの操作感を向上できるという効果が得られる。
【０１４９】
なお、上述の例では、設定画面間を遷移するためのボタンを、ＬＣＤ３５に表示するＧＵＩに含めていたが、ＤＳＣが操作部として有するボタンであってもよい。この場合、画面遷移用の専用ボタンであっても、他機能と共用されるボタンであってもよい。つまり、各設定画面において、それらのボタンの機能が画面間の遷移するための機能として有効となればよい。
【０１５０】
さらに、ＤＰＳに関する設定画面に印刷指示を行う「プリントスタート」ボタン２００７を設けた場合を説明したが、ＤＰＳに関する設定と、印刷指示とを同一画面から行うように構成する必要はない。例えば、上述の設定画面間の遷移ボタンと同様、印刷指示を与えるボタンはＧＵＩ中ではなく、ＤＳＣが有する実際のボタンであってもよいし、ＤＰＳに関する設定画面よりさらに上位階層の設定画面に含まれていても良い。ただし、上述のように、ＤＳＳ設定がなされた場合には、かならずその設定が完了してから印刷開始指示を行えないような構成とする必要がある。
【０１５１】
本実施形態では、ＤＳＣ３０１２に表示するＵＩの構築を、ＰＤプリンタ１０００から送信されるＤＰＳ及びＤＳＳに関するスクリプトに基づいて行っている。スクリプト中には含まれる項目の関係や、ＤＳＣ３０１２の種類によっては、ＵＩ中に表示できない項目や選択肢が存在する可能性がある。この場合、それら項目についてはどのように処理してもよいが、表示可能なものは極力表示するのが好ましい。逆に、予めＤＳＣ３０１２が準備している設定項目や選択肢（設定範囲）よりも、スクリプトで与えられた項目や選択肢（設定範囲）が少ない場合、スクリプトに合わせてＵＩを構築した方が、ユーザにとって親切であるので、より好ましいが、特に限定されない。
【０１５２】
以上説明したように、本実施形態によれば、標準でサポートされるダイレクトプリントサービスにおいて、相手側装置の能力を確認するディスカバリー手順を利用して、別のサービスの有無を確認することができる。そのため、相手装置が別のサービスを利用可能であれば、標準でサポートされるダイレクトプリントサービスの手順に影響を与えることなく、別のサービスを反映したダイレクトプリント処理を行なうことが可能である。
【０１５３】
また、相手装置が別のサービスを有していない場合には、これまで通り標準でサポートされるダイレクトプリント処理を実行可能であるため、異常な動作を引き起こす可能性もない。
また、カメラ側で、２つのサービスに関する設定を行うことが可能であるため、ユーザの使い勝手がよい。
【０１５４】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。
本実施形態においては、ＰＤプリンタ１０００からＤＳＣ３０１２へ送信するＤＳＳに関するスクリプトファイルと、ＤＳＣ３０１２でのＵＩ構築動作以外は第１の実施形態と共通であるため、共通の構成や動作については説明を省略する。
【０１５５】
図１２は、本実施形態に係る画像印刷装置の一例としてのＰＤプリンタ１０００から、図９のステップＳ９５２で送信される標準設定サポート通知スクリプト”DSS_DIS_B”の例を示す図である。
ｓｃ１２０１は、第１サポート機能記述の開始を示すタグである。本実施形態では、このタグは複数回の使用が可能であり、それぞれ選択可能な印刷モードと他の調整・補正項目との関係を規定することを可能としている。
【０１５６】
ｓｃ１２０２は、メインＵＩ中で選択可能なサポート機能記述の開始を示すタグである。
ｓｃ１２０３は、サポート印刷モード記述の開始を示すタグである。本例では印刷モードとしてカラー印刷を行う”color”をサポートしている事を表している。つまり、ｓｃ１２０４〜ｓｃ１２１６までの調整・補正項目はこの”color”に関しての調整・補正項目である事を示す。
【０１５７】
ｓｃ１２０４〜ｓｃ１２１３は、図１０中のｓｃ１００４〜ｓｃ１０１３と内容・働きが同一であるので説明を省略する。
ｓｃ１２１４〜ｓｃ１２１６は、それぞれ、サポートカラーバランスの赤色、緑色、青色調整記述の開始を示すタグである。本例では各色とも、”−３”〜”＋３”の７段階の調整をサポートしている事を表している。
【０１５８】
ｓｃ１２２１は、第２サポート機能記述の開始を示すタグである。
ｓｃ１２２２は、メインＵＩ中で選択可能なサポート機能記述の開始を示すタグである。
ｓｃ１２２３は、サポート印刷モード記述の開始を示すタグである。本例では印刷モードとして白黒印刷を行う”monochrome”をサポートしている事を表している。つまり、ｓｃ１２２４〜ｓｃ１２２８までの調整・補正項目はこの”monochrome”に関しての調整・補正項目である事を示す。
【０１５９】
ｓｃ１２２４、ｓｃ１２２６〜ｓｃ１２２８は、ｓｃ１２０４、ｓｃ１２０６〜ｓｃ１２０８と内容・働きが同一であるので説明を省略する。
ｓｃ１２２５では本例では明るさ調整として”−２”〜”＋２”の５段階の調整をサポートしている事を表している。
【０１６０】
第２サポート機能設定群では、第１サポート機能設定群でのｓｃ１２０９〜ｓｃ１２１６に相当する、詳細ＵＩ中で選択可能なサポート機能記述が存在しない。これは、第２のサポート機能がモノクロ印刷に関する調整、補正項目であり、モノクロ印刷時には、色調整に関する機能は不要と考えられるからである。
【０１６１】
この様に、本実施形態では、印刷モードが”color”か”monochrome”であるかに応じ、サポートする調整項目や調整範囲を変更可能とした記述形式を用いたスクリプトファイルを用いる。
【０１６２】
次に、このようなスクリプトファイルを受信したＤＳＣ３０１２がどのようなＵＩを構築するかについて説明する。
図１０と図１２のスクリプトファイルの比較から判るように、ｓｃ１００４〜ｓｃ１０１６と、ｓｃ１２０４〜ｓｃ１２１６は共通であるため、＜printModes＞が「color」である場合、設定可能な項目や選択肢は同じであり、構築されるＵＩにも違いがない。
【０１６３】
そのため、図１２のスクリプトファイルにのみ存在する、＜printModes＞が「monochrome」の場合のスクリプトの処理について、図１８を用いて説明する。
ＤＳＣ３０１２では、ＤＳＳに関して図１２の形式のスクリプトファイルを受信すると、＜defaultSettingCapabilities＞タグに続く＜mainUIs＞に規定されている項目をメインＵＩに含めるようにＵＩを構築する。従って、図１８（ａ）に示す「カメラダイレクトプリント設定画面」は、第１の実施形態で説明した図１４と同一である。
【０１６４】
ただし、図１８（ａ）では、ユーザが色調設定ボタン２０１７を操作し、印刷モードを「モノクロ」に設定している点が異なる。この状態で、調整ボタン２０１９を押下する操作がなされると、ＤＳＣ３０１２はサブＵＩを構築、表示する。
【０１６５】
この際、図１２のスクリプトでは、色調設定、すなわち＜printModes＞の値に応じて異なるサブＵＩが指定されている。そのため、ＤＳＣ３０１２は、色調設定がモノクロであることに基づき、ｓｃ１２２４〜ｓｃ１２２８に基づいた図１８（ｂ）に示すサブＵＩを構築、表示する。
【０１６６】
カラー印刷モードにおいて構築、表示されるサブＵＩ（図１５）との比較から明らかなように、モノクロ印刷モードに対応したサブＵＩは、＜brightnesses＞タグで規定される明るさ調整項目２１０１ｂの設定可能範囲が−２〜＋２となっている。また、「詳細調整画面」への遷移ボタンである２１１１ｂが選択不能な状態（ここでは非表示）となっている。
【０１６７】
これは、本実施形態におけるスクリプトファイル（図１２）の＜printModes＞が「monochrome」の場合の設定ｓｃ１２２２〜ｓｃ１２２８の内容を反映したものである。ｓｃ１２２３＜printMode＞が「Monochrome」の場合＜subUIs＞中のｓｃ１２２５＜brightnesses＞がー２〜＋２になっている。＜printMode＞が「Color」の場合には、ｓｃ１２０５の設定値がー３〜＋３である。また、＜printMode＞が「Color」の場合には、ｓｃ１２０９以下に記載されていた＜detailUIs＞が「Monochrome」の場合の場合には記載がない。これを反映して、詳細設定画面への遷移ボタン２１１１ｂを無効としている。
【０１６８】
このように、カメラダイレクトプリント設定画面で印刷モードが「モノクロ」に設定された状態でサブＵＩへの遷移が指定された場合には、スクリプトファイル中の、モノクロ印刷モードに対応した記述を用いてＵＩを構築する。
【０１６９】
このように、本実施形態によれば、設定値に応じてサポート機能が変化する項目がある場合、実際の設定値に対応したサポート機能を設定可能なＵＩを構築することが可能である。そのため、実際にはサポートしていない機能を誤ってユーザが選択してしまうことを防止することが可能となるという効果がある。
【０１７０】
＜他の実施形態＞
上述の実施形態では、標準的にサポートされるサービス（Direct Print Service）と協働する、標準的にはサポートされていない機能を実現する別サービスの例として、プリンタ設定を利用可能としたDefault Setting Serviceに注目して説明した。
【０１７１】
しかし、本発明の本質は、規格化され、標準的にサポートされるサービス（標準サービス）のディスカバリ手順の期間に、好ましくはこの手順を利用して、標準サービスに規定されない協働機能を実現する別サービス（補助サービス）のディスカバリを行うことにある。従って、対象とする標準サービスや補助サービスの種類は他の機能を実現するものであってもよい。
【０１７２】
例えば、標準サービスが実施形態と同様にフォトダイレクトプリントサービスであり、ＰＤプリンタが２つ以上の給紙口を持つ場合に、給紙口の数の伝達や、印刷処理にどの給紙口から給紙するかを指定可能にする補助サービスであってもよい。また、標準サービスでサポートされない高度なレイアウト機能を実現する補助サービスのサポート情報の伝達と、補助サービスがサポートする高度なレイアウトを利用した印刷を指定可能にするサービスであっても良い。また、両面印刷機能サポート情報の伝達および両面印刷を利用を可能にするサービス等も考えられる。
【０１７３】
上述の実施形態において、ＰＤプリンタとＤＳＣが互いに共通する補助サービスのサポートを認識した場合、その旨をユーザに報知するように構成することができる。
例えば、上述の実施形態では、ステップＳ９５１に対する応答を受信した時点で、ＤＳＣが補助サービスをサポートしているかどうかがＰＤプリンタで認識できる。この場合、例えばＰＤプリンタは、補助サービスをサポートするＤＳＣが接続されたことを、何らかの方法でユーザに報知することが好ましい。
【０１７４】
例えば、プリンタ本体にＬＣＤ等の文字表示可能な表示装置があれば、メッセージを表示しても良いし、ＬＥＤ等の点灯状態を変更してもよい。また、音声を用いても良い。特に、上述した標準設定サービスのように、プリンタの設定が変更される可能性がある場合には、その旨をユーザに伝えることで、動作状態をユーザにより適切に理解してもらえるというメリットがある。
【０１７５】
また、実際にプリンタの設定内容が変更されることが確定した場合（DSS_SETがＤＳＣからプリンタに送信され、かつ、標準サービスでの印刷設定がプリンタ設定優先である場合）に、その旨を報知しても同様の利点がある。また、プリンタが文字表示可能な表示装置を有する場合には、実際に設定が変更された内容を表示することによって、さらに詳細な情報をユーザに報知することができる。
【０１７６】
また、ＤＳＣから設定を変更した直後の印刷処理は、設定内容についてＤＳＣのＬＣＤで確認した上で設定を行っているため、ユーザ自身は設定内容がわかっていると考えられる。しかし、時間が経過したり、他のＤＳＣを用いる場合、他のユーザが知らないうちに設定を変更している場合などは、現在プリンタにどのような設定がなされているのか、ユーザが分からなかったり、ユーザの記憶と異なる状態となる場合がある。
【０１７７】
このようなことを考慮して、プリンタの電源をOFFしたり、ＤＳＣとプリンタを接続しているＵＳＢコネクタが抜かれた場合には、以前設定したＤＳＳ設定の変更内容を用いず、予めプリンタ本体に設定されている出荷時設定に戻るようにする。これにより、ユーザの誤解や混乱を防ぐことが可能となる。
【０１７８】
既に述べたように、上述の実施形態では、標準サービスの「DPS」と協働し、規格化されている機能とは別の機能を提供する補助サービスとして「DSS」の例を挙げて説明した。しかし、印刷処理に関連性が高く、標準サービスと協働可能な他の補助サービスの利用に関しても本発明を適用することが可能である。
【０１７９】
また、実施形態ではＤＳＣとＰＤプリンタとをＵＳＢインタフェース並びにＵＳＢケーブルで接続する例を説明した。しかし、接続方法はこれに限らず、他のインタフェースを利用しても良い。例えば、無線（ｂｌｕｅｔｏｏｔｈ（Ｒ）や無線ＬＡＮ）接続であっても良い。
【図面の簡単な説明】
【０１８０】
【図１】本発明の実施形態に係るフォトダイレクトプリンタの外観例を示す斜視図である。
【図２】図１のＰＤプリンタにデジタルスチルカメラを接続して、ダイレクトプリントシステムを構築する様を示す図である。
【図３】本発明の実施形態に係るＰＤプリンタの制御系のブロック構成図である。
【図４】本発明の実施形態に係るデジタルスチルカメラのブロック構成図である。
【図５】標準的なダイレクトプリントシステムを実現するためにＰＤプリンタ並びにＤＳＣが備える制御ソフトウェアのプロトコルスタックを説明する図である。
【図６】図５に示した制御プログラムを用いたダイレクトプリントシステムの処理手順を示すシーケンス図である。
【図７】図６のステップＳ６０９でDirect Print Service - DSC ５０２から送信される印刷設定情報の一例としてのスクリプトファイルを示す図である。
【図８】本発明の第１の実施形態にＤＳＣ及びＰＤプリンタの制御プログラムのプロトコルスタックを説明する図である。
【図９】図８に示した制御プログラムを用いた、本発明の第１の実施形態に係るダイレクトプリントシステムの処理手順を示すシーケンス図である。
【図１０】図９のステップＳ９５２で送信される標準設定サポート通知スクリプト”DSS_DIS_B”の例を示す図である。
【図１１】図９のステップＳ９５３で送信される標準設定情報スクリプト”DSS_SET”の例を示す図である。
【図１２】第２の実施形態において、送信される標準設定サポート通知スクリプト”DSS_DIS_B”の例を示す図である。
【図１３】図６のステップＳ６０８で取得する印刷機能情報の一例としてのスクリプトファイルを示す図である。
【図１４】本発明の第１の実施形態に係るＤＳＣが構築、表示する設定画面（メインＵＩ）の例を示す図である。
【図１５】本発明の実施形態に係るＤＳＣが構築、表示する設定画面（サブＵＩ）の例を示す図である。
【図１６】本発明の第１の実施形態に係るＤＳＣが構築、表示する設定画面（詳細ＵＩ）の例を示す図である。
【図１７】標準設定サービスを用いない場合に、本発明の第１の実施形態に係るＤＳＣが構築、表示する設定画面（メインＵＩ）の例を示す図である。
【図１８】本発明の第２の実施形態に係るＤＳＣが構築、表示する設定画面（メインＵＩ及びサブＵＩ）の例を示す図である。
【図１】
0004683642.tif 000002
【図２】
0004683642.tif 000003
【図３】
0004683642.tif 000004
【図４】
0004683642.tif 000005
【図５】
0004683642.tif 000006
【図６】
0004683642.tif 000007
【図７】
0004683642.tif 000008
【図８】
0004683642.tif 000009
【図９】
0004683642.tif 000010
【図１０】
0004683642.tif 000011
【図１１】
0004683642.tif 000012
【図１２】
0004683642.tif 000013
【図１３】
0004683642.tif 000014
【図１４】
0004683642.tif 000015
【図１５】
0004683642.tif 000016
【図１６】
0004683642.tif 000017
【図１７】
0004683642.tif 000018
【図１８】
0004683642.tif 000019