(57)【特許請求の範囲】
【請求項１】
画像供給デバイスから印刷装置に直接画像データを送信して印刷できるダイレクト印刷機能の有無を示す第１情報を通信することに応じて、自動的にダイレクト印刷機能モードへ移行することが可能な通信プロトコルを用いてデータオブジェクトを送受信し、前記画像供給デバイスから供給される画像を前記印刷装置により印刷する印刷システムであって、
前記画像供給デバイスは、前記第１情報と、前記ダイレクト印刷機能を拡張して実行される協働処理機能を実行可能か否かを示す第２情報とを１つのデータオブジェクトに含めて前記印刷装置に送信する送信手段を有し、
前記印刷装置は、受信した前記データオブジェクトに前記第１及び第２情報があるかどうかを判別する判別手段と、
前記判別手段により前記第１及び第２情報が含まれていると判定された場合に前記協働処理機能を実行する協働処理機能モードを設定し、前記第１情報だけが含まれていると判定された場合に前記ダイレクト印刷機能モードに設定し、前記第１情報が含まれていない場合には、前記ダイレクト印刷機能モード及び前記協働処理機能モードの設定を禁止するモード設定手段と、
を有することを特徴とする印刷システム。
【請求項２】
前記第１及び第２情報は、前記データオブジェクトの任意のデータの記述が可能な、それぞれ別の領域に記述されることを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記協働処理機能は、前記画像供給デバイスから前記印刷装置に日時情報を伝送し、当該日時情報に基づく前記ダイレクト印刷機能との協働処理を含むことを特徴とする請求項１に記載の印刷システム。
【請求項４】
前記協働処理機能は、前記印刷装置から前記画像供給デバイスに、前記印刷装置が搭載しているフォントの種類・サイズ、受信バッファサイズ、処理可能な最大画素数のうち少なくとも一つを伝送し、当該伝送情報に基づく前記ダイレクト印刷機能との協働処理を含むことを特徴とする請求項１に記載の印刷システム。
【請求項５】
前記協働処理機能は、前記画像供給デバイスから前記印刷装置に、前記画像供給デバイスが搭載しているフォントの種類・サイズ、液晶ディスプレイのサイズのうち少なくとも一つを伝送し、当該伝送情報に基づく前記ダイレクト印刷機能との協働処理を含むことを特徴とする請求項１に記載の印刷システム。
【請求項６】
前記協働処理機能は、前記画像供給デバイスから前記印刷装置に供給される画像データの形式に応じて前記印刷装置により画像を印刷する印刷形式を変更する印刷機能を含むことを特徴とする請求項１に記載の印刷システム。
【請求項７】
前記協働処理機能は、前記印刷装置において印刷処理可能な画像形式に応じて、前記画像供給デバイスで構築するＵＩを変更する機能を含むことを特徴とする請求項１に記載の印刷システム。
【請求項８】
前記協働処理機能は、前記印刷装置において印刷処理可能な画像及び文書形式に応じて、前記画像供給デバイスから発行する印刷ジョブを変更する機能を含むことを特徴とする請求項１に記載の印刷システム。
【請求項９】
前記通信プロトコルは、画像転送プロトコル（ＰＴＰ）を含むことを特徴とする請求項１に記載の印刷システム。
【請求項１０】
前記第２情報は、前記ＰＴＰのObjectInfo Datesetのキーワードエリアに記述されることを特徴とする請求項９に記載の印刷システム。
【請求項１１】
前記第１情報は、前記ＰＴＰのObjectInfo Datesetのファイル名エリアに記述されることを特徴とする請求項９に記載の印刷システム。
【請求項１２】
前記協働処理機能は、前記画像供給デバイスから構造化文書を含む印刷ジョブを発行する場合に、前記構造化文書で指定される画像を前記通信プロトコルで指定するように前記印刷ジョブを更新する機能を含むことを特徴とする請求項８に記載の印刷システム。
【請求項１３】
印刷装置に直接画像データを送信して印刷できるダイレクト印刷機能の有無を示す第１情報を通信することに応じて、自動的にダイレクト印刷機能モードへ移行することが可能な通信プロトコルによりデータオブジェクトを送受信し、画像データを印刷装置に供給する画像供給デバイスであって、
前記第１情報と、前記ダイレクト印刷機能を拡張して実行される協働処理機能の有無を示す第２情報とを１つのデータオブジェクトに含めて前記印刷装置に送信する送信手段と、
前記印刷装置からデータオブジェクトを受信して、当該データオブジェクトに前記第１及び第２情報があるかどうかを判別する判別手段と、
前記判別手段により前記第１及び第２情報が含まれていると判定された場合に前記協働処理機能を実行する協働処理機能モードに設定し、前記第１情報だけが含まれていると判定された場合に前記ダイレクト印刷機能モードに設定し、前記第１情報が含まれていない場合には、前記ダイレクト印刷機能モード及び前記協働処理機能モードの設定を禁止するモード設定手段と、
を有することを特徴とする画像供給デバイス。
【請求項１４】
前記第１及び第２情報は、前記データオブジェクトの任意のデータの記述が可能な、それぞれ別の領域に記述されることを特徴とする請求項１３に記載の画像供給デバイス。
【請求項１５】
前記協働処理機能は、前記印刷装置に日時情報を伝送し、当該日時情報に基づく前記ダイレクト印刷機能との協働処理を含むことを特徴とする請求項１３に記載の画像供給デバイス。
【請求項１６】
前記協働処理機能は、前記印刷装置から前記印刷装置が搭載しているフォントの種類・サイズ、受信バッファサイズ、処理可能な最大画素数のうち少なくとも一つを伝送し、当該伝送情報に基づく前記ダイレクト印刷機能との協働処理を含むことを特徴とする請求項１３に記載の画像供給デバイス。
【請求項１７】
前記協働処理機能は、前記印刷装置に、前記画像供給デバイスが搭載しているフォントの種類・サイズ、液晶ディスプレイのサイズのうち少なくとも一つを伝送し、当該伝送情報に基づく前記ダイレクト印刷機能との協働処理を含むことを特徴とする請求項１３に記載の画像供給デバイス。
【請求項１８】
前記協働処理機能は、前記印刷装置に供給する画像データの形式に応じて前記印刷装置により画像を印刷する印刷形式を変更する印刷機能を含むことを特徴とする請求項１３に記載の画像供給デバイス。
【請求項１９】
前記協働処理機能は、前記印刷装置に供給する画像データの形式に応じて前記印刷装置においてフレーム印刷を行う印刷機能を含むことを特徴とする請求項１３に記載の画像供給デバイス。
【請求項２０】
前記協働処理機能は、前記印刷装置において印刷処理可能な画像及び文書形式に応じて、前記画像供給デバイスから発行する印刷ジョブを変更する機能を含むことを特徴とする請求項１３に記載の画像供給デバイス。
【請求項２１】
前記協働処理機能は、前記画像供給デバイスから構造化文書を含む印刷ジョブを発行する場合に、前記構造化文書で指定される画像を前記通信プロトコルで指定するように前記印刷ジョブを更新する機能を含むことを特徴とする請求項１９に記載の画像供給デバイス。
【請求項２２】
前記通信プロトコルは、画像転送プロトコル（ＰＴＰ）を含むことを特徴とする請求項１３に記載の画像供給デバイス。
【請求項２３】
前記第２情報は、前記ＰＴＰのObjectInfo Datesetのキーワードエリアに記述されることを特徴とする請求項２２に記載の画像供給デバイス。
【請求項２４】
前記第１情報は、前記ＰＴＰのObjectInfo Datesetのファイル名エリアに記述されることを特徴とする請求項２２に記載の画像供給デバイス。
【請求項２５】
画像供給デバイスから直接画像データを受信して印刷できるダイレクト印刷機能の有無を示す第１情報を通信することに応じて、自動的にダイレクト印刷機能モードへ移行することが可能な通信プロトコルによりデータオブジェクトを送受信し画像データを受信して印刷する印刷装置であって、
前記画像供給デバイスからデータオブジェクトを受信する受信手段と、
前記受信手段により受信した当該データオブジェクトに、前記第１情報、及び、前記ダイレクト印刷機能を拡張して実行される協働処理機能の有無を示す第２情報があるかどうかを判別する判別手段と、
前記判別手段により前記第１及び第２情報が含まれていると判定された場合に前記ダイレクト印刷機能モード、及び前記協働処理機能を実行する協働処理機能モードに設定し、前記第１情報だけが含まれていると判定された場合に前記ダイレクト印刷機能モードに設定し、前記第１情報が含まれていない場合には、前記ダイレクト印刷機能モード及び前記協働処理機能モードの設定を禁止するモード設定手段と、
を有することを特徴とする印刷装置。
【請求項２６】
前記送信手段は、前記第２情報を含めた前記データオブジェクトを、前記第１情報を含めた前記データオブジェクトよりも先に送信することを特徴とする前記請求項２５に記載の印刷装置。
【請求項２７】
前記第１及び第２情報は、前記データオブジェクトの任意のデータの記述が可能な、それぞれ別の領域に記述されることを特徴とする請求項２５に記載の印刷装置。
【請求項２８】
前記協働処理機能は、前記画像供給デバイスから日時情報を受信し、当該日時情報に基づく前記ダイレクト印刷機能との協働処理を含むことを特徴とする請求項２５に記載の印刷装置。
【請求項２９】
前記協働処理機能は、前記画像供給デバイスに印刷装置が搭載しているフォントの種類・サイズ、受信バッファサイズ、処理可能な最大画素数のうち少なくとも一つを伝送し、当該伝送情報に基づく前記ダイレクト印刷機能との協働処理を含むことを特徴とする請求項２５に記載の印刷装置。
【請求項３０】
前記協働処理機能は、前記画像供給デバイスから前記画像供給デバイスが搭載しているフォントの種類・サイズ、液晶ディスプレイのサイズのうち少なくとも一つを受取り、当該伝送情報に基づく前記ダイレクト印刷機能との協働処理を含むことを特徴とする請求項２５に記載の印刷装置。
【請求項３１】
前記協働処理機能は、前記画像供給デバイスから受信する画像データの形式に応じて、画像を印刷する印刷形式を変更する印刷機能を含むことを特徴とする請求項２５に記載の印刷装置。
【請求項３２】
前記協働処理機能は、前記画像供給デバイスから受信する画像データの形式に応じてフレーム印刷を行う印刷機能を含むことを特徴とする請求項２５に記載の印刷装置。
【請求項３３】
前記通信プロトコルは、画像転送プロトコル（ＰＴＰ）を含むことを特徴とする請求項２５に記載の印刷装置。
【請求項３４】
画像供給デバイスから印刷装置に直接画像データを送信して印刷できるダイレクト印刷機能の有無を示す第１情報を通信することに応じて、自動的にダイレクト印刷機能モードへ移行することが可能な通信プロトコルによりデータオブジェクトを送受信し、画像データを印刷装置に供給する画像供給デバイスの制御方法であって、
前記第１情報と、前記ダイレクト印刷機能を拡張して実行される協働処理機能の有無を示す第２情報とを１つのデータオブジェクトに含めて前記印刷装置に送信する工程と、
前記印刷装置からデータオブジェクトを受信して、当該データオブジェクトに前記第１及び第２情報があるかどうかを判別する判別工程と、
前記判別工程で前記第１及び第２情報が含まれていると判定された場合に前記協働処理機能を実行する協働処理機能モードに設定し、前記第１情報だけが含まれていると判定された場合に前記ダイレクト印刷機能モードに設定し、前記第１情報が含まれていない場合には、前記ダイレクト印刷機能モード及び前記協働処理機能モードの設定を禁止するモード設定工程と、
を有することを特徴とする画像供給デバイスの制御方法。
【請求項３５】
画像供給デバイスから直接画像データを受信して印刷できるダイレクト印刷機能の有無を示す第１情報を通信することに応じて、自動的にダイレクト印刷機能モードへ移行することが可能な通信プロトコルによりデータオブジェクトを送受信し画像データを受信して印刷する印刷装置の制御方法であって、
前記画像供給デバイスからデータオブジェクトを受信する受信工程と、
前記受信工程で受信した当該データオブジェクトに、前記第１情報、及び、前記ダイレクト印刷機能を拡張して実行される協働処理機能の有無を示す第２情報があるかどうかを判別する判別工程と、
前記判別工程で前記第１及び第２情報が含まれていると判定された場合に前記ダイレクト印刷機能モード、及び前記協働処理機能を実行する協働処理機能モードに設定し、前記第１情報だけが含まれていると判定された場合に前記ダイレクト印刷機能モードに設定し、前記第１情報が含まれていない場合には、前記ダイレクト印刷機能モード及び前記協働処理機能モードの設定を禁止するモード設定工程と、
を有することを特徴とする印刷装置の制御方法。
【請求項３６】
印刷装置に直接画像データを送信して印刷できる第１通信プロトコルの有無を示す第１情報を通信することに応じて、自動的に前記第１通信プロトコルへ移行することが可能な通信手段によりデータオブジェクトを送受信し、画像データを印刷装置に供給する画像供給デバイスであって、
前記第１通信プロトコル又は第２通信プロトコルでの通信確立前に、前記第１情報と、前記第１通信プロトコルとは異なる第２通信プロトコルに対応していることを示す第２情報とを１つのデータオブジェクトに含めて前記通信手段を介して前記印刷装置に送信する送信手段と、
前記印刷装置からデータオブジェクトを受信して、当該データオブジェクトに前記第１及び第２情報が含まれているかどうかを判別する判別手段と、
前記判別手段により前記第２情報が含まれていると判定された場合に前記第２通信プロトコルを設定し、前記第１情報だけが含まれていると判定された場合に前記第１通信プロトコルを設定し、前記第１情報が含まれていない場合には、前記第１通信プロトコル及び前記第２通信プロトコルの設定を禁止する設定手段と、
を有することを特徴とする画像供給デバイス。
【請求項３７】
前記第１通信プロトコル又は前記第２通信プロトコルに基づく通信中に、両通信プロトコルのうち少なくとも一方は、他方へ任意に移行するための命令を有していないことを特徴とする請求項３６に記載の画像供給デバイス。
【請求項３８】
画像供給デバイスから直接画像データを受信して印刷できる第１通信プロトコルの有無を示す第１情報を通信することに応じて、自動的に第１通信プロトコルへ移行することが可能な通信プロトコルによりデータオブジェクトを送受信し、画像供給デバイスから画像データを受信して印刷する印刷装置であって、
前記画像供給デバイスからデータオブジェクトを受信する受信手段と、
前記受信手段により受信した当該データオブジェクトに、前記第１情報及び前記第１通信プロトコルとは異なる第２通信プロトコルに対応していることを示す第２情報が含まれているかどうかを判別する判別手段と、
前記判別手段により前記第２情報が含まれていると判別された場合に前記第２通信プロトコルを設定し、前記第２情報が含まれておらず前記第１情報が含まれていると判定された場合に前記第１通信プロトコルを設定し、前記第１情報が含まれていない場合には、前記第１通信プロトコル及び前記第２通信プロトコルの設定を禁止する設定手段と、
を有することを特徴とする印刷装置。
【請求項３９】
前記第１通信プロトコル又は前記第２通信プロトコルに基づく通信中に、両通信プロトコルのうち少なくとも一方は、他方へ任意に移行するための命令を有していないことを特徴とする請求項３８に記載の印刷装置。
【請求項４０】
更に、前記データオブジェクトに、前記第１情報と第２情報とを含めて前記画像供給デバイスに送信する送信手段を更に有することを特徴とする請求項２５に記載の印刷装置。
【請求項４１】
更に、前記モード設定手段の設定に応じて、前記第１情報と第２情報との内、送信すべき前記データオブジェクトに含める情報を制御する制御手段を有することを特徴とする請求項２５に記載の印刷装置。
【請求項４２】
更に、前記データオブジェクトに、前記第１情報と第２情報とを含めて前記画像供給デバイスに送信する送信手段を有することを特徴とする請求項３８に記載の印刷装置。
【請求項４３】
更に、前記モード設定手段の設定に応じて、前記第１情報と第２情報との内、送信すべき前記データオブジェクトに含める情報を制御する制御手段を有することを特徴とする請求項３８に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像供給デバイスと印刷装置とを有し、画像供給デバイスから供給される画像データに基づいて印刷装置により画像を印刷する印刷システム、及びその画像供給デバイス及び印刷装置とその制御方法に関するものである。
【背景技術】
【０００２】
デジタルスチルカメラ（ＤＳＣ）とプリンタとを直接接続し、ＤＳＣの表示器を使用して、そのＤＳＣが有している画像を選択し、ＤＳＣからプリンタにその選択された画像の画像ファイルを送信して印刷を行う、所謂、ダイレクトプリントが知られている。このダイレクトプリントは、パーソナルコンピュータ（ＰＣ）の介在を不要にして手軽に印刷できるという利点がある。【０００３】
このようなダイレクトプリントにおいて、プリンタが有するＰＣと接続するための汎用の通信手段を利用してＤＳＣから画像ファイルを受信し、ダイレクトプリントを実現する構成が特許文献１に記載されている。この特許文献１では、ダイレクトプリント仕様によって規定された情報をＤＳＣとプリンタとの間で交換することによって、互いの機器をダイレクトプリント対応であると認識している。そして、ダイレクトプリント対応であればＤＳＣはプリンタから、そのCapability（印刷機能情報）を取得し、そのCapabilityに応じた印刷モードを設定して印刷を行っている。【０００４】
図２２は、デジタルスチルカメラ（ＤＳＣ）とプリンタ（ＰＲＴ）との間で、互いにダイレクトプリント機能を有していることを認識する手順の概要を説明する図である。【０００５】
図において、ここでＰＲＴはフォトダイレクトプリント機能対応のプリンタであり、ＤＳＣはダイレクトプリント対応のＤＳＣである。ＰＲＴは、ＤＳＣに対して「Request Direct-Print-DSC ID」を送信して、ダイレクトプリント対応のＤＳＣであることを示す情報（Direct-Print-DSC ID）を要求する（１０１）。これに対してＤＳＣがダイレクトプリント対応のＤＳＣである場合、「Direct-Print-DSC ID」を含むＩＤ情報をＰＲＴに送信する（１０２）。これに対してＰＲＴは、ダイレクトプリント機能対応のプリンタであることを示すＩＤ情報（Direct-Print-PRT ID）を送信する（１０３）。【０００６】
この例によれば、１０２の時点でＰＲＴはＤＳＣがダイレクトプリント機能対応のカメラであると認識し、１０３の時点で、ＤＳＣはＰＲＴがダイレクトプリント機能対応のプリンタであると認識する。この手順が完了しない場合には、互いの機器は相手機器がダイレクトプリント機能に非対応の機器であると認識する。
【特許文献１】特開２００４−９３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、上述のダイレクトプリント機能は、カメラとプリンタとの間のみならず、最近急速に普及しているカメラ付携帯電話（以下、ＣＰ）とプリンタとの間でも実現されている。更に、カメラ付携帯電話とプリンタとの間のダイレクトプリントでは、カメラとプリンタとの間でのダイレクトプリントとは異なる、カメラ付携帯電話に特有の機能をも利用した別の通信プロトコルとしての協働機能を実現することを考えられている。この協働機能は、前述のダイレクトプリントプロトコルを拡張した機能を提供することを想定している。【０００８】
従来のダイレクトプリントプロトコルの技術では、通信する機器同士が、互いにダイレクトプリントプロトコルに対応しているかどうかを確認している。しかし、このプロトコルを拡張した協働機能を有しているかどうかを問い合わせる手段が無い。この協働機能を実装するために、既に世に出回っている製品のプログラムを更新するのは大変であり、実用的ではないため、なるべく従来のプロトコルしか有さない機器との接続性を維持しながら、協働機能を実装することを本発明の１つの目的としている。【０００９】
まず、本発明を適用しないと起こりうると考えられる不具合を説明する。ある機器がプリンタと接続された時点で、そのプリンタは相手機器が従来のダイレクトプリント機能を有するカメラであるか、協働機能をも有するカメラ付き携帯電話であるかを認識する必要が生じる。尚、協働機能付きのカメラ付き携帯電話であるか否かを確認するためのコマンドを、ここでは「Special-CP ID」と呼ぶことにする。【００１０】
図２３は、ダイレクトプリント及び上述の協働機能に対応しているプリンタ（ＰＲＴ）と、ダイレクトプリントのみに対応しているカメラ（ＤＳＣ）とが接続された場合に、互いにダイレクトプリント機能を有していることを確認した後（１０１〜１０３）、ＰＲＴからＤＳＣに対して、協働機能をも有するカメラ付き携帯電話であるかを問い合せるために、「Request Special-CP ID」を送信している（１０４）。これは図２３において、ＤＳＣではなくＣＰが接続されている場合であっても、１０２で、ＣＰは「Direct-Print-DSC ID」で応答する。このため、１０１〜１０３の手順だけでは、プリンタが相手機器がＤＳＣかＣＰかを識別できないためである。この場合、１０５で、ＤＳＣはカメラ付き携帯電話ではないため、これに対応する応答を返送する用意がなされていない。即ち、ＤＳＣから見て、このようなコマンドをダイレクトプリント機能の確認後に受信することを想定していない可能性が高い。よって、このようなコマンドを受信すると、それ以降の処理を継続できない様に実装されている可能性がある。その場合、ＰＲＴが誤動作をしたと認識して、安全のために機器認識を終了する可能性がある。その結果、ダイレクトプリント機能は実行されないこととなる。最悪の場合は、通信中にＤＳＣ及び／又はＰＲＴがフリーズしてしまうことも考えられる。【００１１】
また図２４は、ＤＳＣとＰＲＴが接続されている状態で、ＰＲＴからＤＳＣに対して、カメラ付き携帯電話によるダイレクトプリント機能を確認するコマンドを発行することによる不具合を示している。【００１２】
ＰＲＴは、ダイレクトプリント及びＣＰとの協働機能に対応したプリンタであり、ＤＳＣは、ダイレクトプリント機能には対応しているが、携帯電話ではないため上述の協働機能には非対応である。【００１３】
この状態でＰＲＴよりＤＳＣに対して、１１０で、協働機能に対応しているＣＰを示す情報（Special-CP ID）を要求する（Request Special-CP ID）。これに対しＤＳＣは、協働機能には非対応であるため、１１１で、ＤＳＣはこれに対して応答しない。これによりＰＲＴは、そのＤＳＣがダイレクトプリント機能にも対応していないと判断してしまい、ダイレクトプリントのための通信接続を切断してしまう可能性がある。【００１４】
このように、従来のカメラとプリンタとの間での確認処理を、上述の協働機能に対応しているか否かの確認にそのまま適用すると、既存のダイレクトプリント機能対応の機器との間の通信接続が保証できなくなくなる可能性がある。【００１５】
また、このような新規な機能の確認のために新たなコマンド作成し、従前の通信プロトコルを変更することは、各種機器における設計変更を招き、また新たな通信規約が必要になるため現実的ではない。【００１６】
本発明の目的は上述の従来技術の問題点を解決することにある。【００１７】
本願発明の特徴は、既存の通信プロトコルを変更することなく、ダイレクトプリント機能と、新規な機能に対応しているかどうかを確認して、安全かつ確実に互いの機器を確認できる印刷装置、画像供給デバイス及びそれらを備える印刷システム、及びその制御方法を提供することにある。
【課題を解決するための手段】
【００１８】
本願発明の一態様に係る印刷システムは以下の様な構成を備える。即ち、
画像供給デバイスから印刷装置に直接画像データを送信して印刷できるダイレクト印刷機能の有無を示す第１情報を通信することに応じて、自動的にダイレクト印刷機能モードへ移行することが可能な通信プロトコルを用いてデータオブジェクトを送受信し、前記画像供給デバイスから供給される画像を前記印刷装置により印刷する印刷システムであって、
前記画像供給デバイスは、前記第１情報と、前記ダイレクト印刷機能を拡張して実行される協働処理機能を実行可能か否かを示す第２情報とを１つのデータオブジェクトに含めて前記印刷装置に送信する送信手段を有し、
前記印刷装置は、受信した前記データオブジェクトに前記第１及び第２情報があるかどうかを判別する判別手段と、
前記判別手段により前記第１及び第２情報が含まれていると判定された場合に前記協働処理機能を実行する協働処理機能モードを設定し、前記第１情報だけが含まれていると判定された場合に前記ダイレクト印刷機能モードに設定し、前記第１情報が含まれていない場合には、前記ダイレクト印刷機能モード及び前記協働処理機能モードの設定を禁止するモード設定手段と、を有することを特徴とする。
【００１９】
また本願発明の一態様に係る画像供給デバイスは以下の様な構成を備える。即ち、
印刷装置に直接画像データを送信して印刷できるダイレクト印刷機能の有無を示す第１情報を通信することに応じて、自動的にダイレクト印刷機能モードへ移行することが可能な通信プロトコルによりデータオブジェクトを送受信し、画像データを印刷装置に供給する画像供給デバイスであって、
前記第１情報と、前記ダイレクト印刷機能を拡張して実行される協働処理機能の有無を示す第２情報とを１つのデータオブジェクトに含めて前記印刷装置に送信する送信手段と、
前記印刷装置からデータオブジェクトを受信して、当該データオブジェクトに前記第１及び第２情報があるかどうかを判別する判別手段と、
前記判別手段により前記第１及び第２情報が含まれていると判定された場合に前記協働処理機能を実行する協働処理機能モードに設定し、前記第１情報だけが含まれていると判定された場合に前記ダイレクト印刷機能モードに設定し、前記第１情報が含まれていない場合には、前記ダイレクト印刷機能モード及び前記協働処理機能モードの設定を禁止するモード設定手段と、を有することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、既存の通信プロトコルを変更することなく、ダイレクトプリント機能と、新規な機能に対応しているかどうかを確認して、安全かつ確実に互いの機器を確認できる。【００２１】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００２２】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施の形態に係るフォトダイレクトプリンタ装置の概観斜視図である。
【図２】本実施の形態に係るＰＤプリンタの操作パネルの概観図である。
【図３】本実施の形態に係るＰＤプリンタの制御に係る主要部の構成を示すブロック図である。
【図４】本実施の形態に係るＰＤプリンタのＡＳＩＣの構成を示すブロック図である。
【図５】本実施の形態に係るカメラ付き携帯電話機（ＣＰ）の構成を示すブロック図である。
【図６】本実施の形態に係るＰＤプリンタとＣＰとの接続を説明する図である。
【図７】本実施の形態に係るＣＰとＰＤプリンタとの間で、ダイレクトプリント機能及び協働機能を認識する通信手順の概要を説明する図である。
【図８Ａ】、
【図８Ｂ】本発明の実施の形態に係るＣＰとＰＤプリンタとの間でのダイレクトプリント機能及び協働機能を認識する手順を説明するフローチャートである。
【図９】本実施の形態に係る属性情報のデータフォーマットを説明する図である。
【図１０】本実施の形態に係るダイレクトプリント機能のみに対応したＤＳＣが作成する属性情報の一例を説明する図である。
【図１１】本実施の形態に係るダイレクトプリント機能のみに対応したＰＤプリンタが作成する属性情報の一例を説明する図である。
【図１２Ａ】本実施の形態に係るダイレクトプリント機能及び協働機能に対応したＣＰの属性情報の一例を説明する図である。
【図１２Ｂ】本実施の形態に係るダイレクトプリント機能及び協働機能に対応したプリの属性情報の一例を説明する図である。
【図１３Ａ】、
【図１３Ｂ】本発明の実施の形態２に係るＣＰとＰＤプリンタとの間でのダイレクトプリント機能及び協働機能認識の手順を説明するフローチャートである。
【図１４】本実施の形態２に係るダイレクトプリント機能及び協働機能に対応したＣＰ３０２０が作成する属性情報の一例を説明する図である。
【図１５】本実施の形態２に係る属性情報の一例を説明する図である。
【図１６】本発明の実施の形態２に係るＣＰとＰＤプリンタとの協働機能の一例である、回復動作を指示する手順を説明するフローチャートである。
【図１７】本発明の実施の形態３に係るＣＰとＰＤプリンタとの間での協働機能の手順例を説明するフローチャートである。
【図１８】本発明の実施の形態４に係るＣＰとＰＤプリンタとの間での協働機能の実現例を説明するフローチャートである。
【図１９】本発明の実施の形態５に係るＣＰとＰＤプリンタとの間での協働機能の実現例を説明するフローチャートである。
【図２０Ａ】、
【図２０Ｂ】本実施の形態５に係るＸＨＴＭＬファイル中の指定画像とＰＴＰのオブジェクトハンドルとの関連付け処理の例を説明する図である。
【図２１Ａ】、
【図２１Ｂ】本実施の形態５に係るＸＨＴＭＬファイル中の指定画像とＰＴＰのオブジェクトハンドルとの関連付け処理の他の例を説明する図である。
【図２２】従来例に係る、ＤＳＣとプリンタ間でのダイレクトプリント機能認識手順の概要を説明する図である。
【図２３】従来例のダイレクトプリント機能認識手法を協働機能認識にそのまま転用した場合に係る、ＣＰとプリンタ間での協働機能認識手順の概要を説明する図である。
【図２４】従来例のダイレクトプリント機能認識手法をそのまま転用してＣＰとプリンタ間での協働機能認識を行った場合に係る、ＤＳＣとプリンタ間でのダイレクトプリント機能認識時の問題を説明する図である。
【発明を実施するための最良の形態】
【００２３】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、本実施の形態では、デジタルカメラやカメラ付き携帯電話とダイレクトに通信可能なプリンタ及びシステムの場合で説明するが、昨今のデジタルカメラやカメラ付き携帯電話では動画も撮影して記憶できるものがあるが、少なくともその基本は静止画の撮影にあるので、係る機能を有する装置をもデジタルカメラ（ＤＳＣ）と称することとする。但し、本発明はこの実施の形態に限定されるものではない。【００２４】
図１は、本発明の実施の形態に係るフォトダイレクトプリンタ装置（以下、ＰＤプリンタ）１０００の概観斜視図である。このＰＤプリンタ１０００は、ホストコンピュータ（ＰＣ）からデータを受信して印刷する通常のＰＣプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラやＰＤＡなどからの画像データを受信して印刷する機能を備えている。【００２５】
図１において、本実施の形態に係るＰＤプリンタ１０００の外殻をなす本体は、下ケース１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。また、下ケース１００１は、ＰＤプリンタ１０００の略下半部を、上ケース１００２は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部がされている。さらに、排出トレイ１００４は、その一端部が下ケース１００１に回転自在に保持され、その回転によって下ケース１００１の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ１００４を前面側へと回転させて開口部を開成させることにより、ここから記録されたシート（普通紙、専用紙、樹脂シート等を含む。以下単にシートとする）が排出可能となると共に、排出されたシートを順次積載し得るようになっている。また排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて各トレイを手前に引き出すことにより、シートの支持面積を３段階に拡大、縮小させ得るようになっている。【００２６】
アクセスカバー１００３は、その一端部が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー１００３を開くことによって本体内部に収納されている記録ヘッドカートリッジ（不図示）或いはインクタンク（不図示）等の交換が可能となる。尚、ここでは特に図示しないが、アクセスカバー１００３を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバー１００３の開閉状態を検出し得るようになっている。【００２７】
また、上ケース１００２の上面には、電源キー１００５が設けられている。また、上ケース１００２の右側には、液晶表示部１００６や各種キースイッチ等を備える操作パネル１０１０が設けられている。この操作パネル１０１０の構造は、図２を参照して詳しく後述する。１００７は自動給送部で、シートを装置本体内へと自動的に給送する。１００８は紙間選択レバーで、プリントヘッドとシートとの間隔を調整するためのレバーである。１００９はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード（ＰＣ）としては、例えばコンパクトフラッシュ（登録商標）メモリ、スマートメディア、メモリスティック等がある。１０１１はビューワ（液晶表示部）で、このＰＤプリンタ１０００の本体に着脱可能であり、ＰＣカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、１コマ毎の画像やインデックス画像などを表示するのに使用される。１０１２は後述するデジタルカメラを接続するためのＵＳＢ端子である。また、このＰＤ装置１０００の後面には、パーソナルコンピュータ（ＰＣ）を接続するためのＵＳＢコネクタが設けられている。【００２８】
図２は本実施の形態に係るＰＤプリンタ１０００の操作パネル１０１０の概観図である。【００２９】
図において、液晶表示部１００６には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここに表示される項目としては、例えば、複数ある写真画像ファイルの内、印刷したい写真画像の先頭番号、指定コマ番号（開始コマ指定／印刷コマ指定）、印刷を終了したい最後の写真番号（終了）、印刷部数（部数）、印刷に使用するシートの種類（用紙種類）、１枚のシートに印刷する写真の枚数設定（レイアウト）、印刷の品位の指定（品位）、撮影した日付を印刷するかどうかの指定（日付印刷）、写真を補正して印刷するかどうかの指定（画像補正）、印刷に必要なシートの枚数表示（用紙枚数）等がある。これら各項目は、カーソルキー２００１を用いて選択、或いは指定される。２００２はモードキーで、このキーを押下する毎に、印刷の種類（インデックス印刷、全コマ印刷、１コマ印刷、指定コマ印刷等）を切り替えることができ、これに応じてＬＥＤ２００３の対応するＬＥＤが点灯される。２００４はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。２００５は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。２００６は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。【００３０】
次に図３を参照して、本実施の形態に係るＰＤプリンタ１０００の制御に係る主要部の構成を説明する。尚、この図３において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。【００３１】
図３は、本実施の形態に係るＰＤプリンタの制御に係る主要部の構成を示すブロック図である。【００３２】
図３において、３０００は制御部（制御基板）を示している。３００１はＡＳＩＣ（専用カスタムＬＳＩ）を示している。３００２はＤＳＰ（デジタル信号処理プロセッサ）で、内部にＣＰＵを有し、後述する各種制御処理及び、輝度信号（ＲＧＢ）から濃度信号（ＣＭＹＫ）への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。３００３はメモリで、ＤＳＰ３００２のＣＰＵの制御プログラムを記憶するプログラムメモリ３００３ａ、及び実行時のプログラムを記憶するＲＡＭエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。３００４はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。３００５はデジタルカメラ（ＤＳＣ）３０１２を接続するためのポートとしてのＳＵＢ−ＵＳＢで、コネクタ１０１２を有している。更に、このコネクタ１０１２には、ＤＳＣ３０１２或はカメラ付き携帯電話が接続される。３００６はビューワ１０１１を接続するためのコネクタである。３００８はＵＳＢハブ(USBHUB)で、このＰＤプリンタ１０００がＰＣ３０１０からの画像データに基づいて印刷を行う際には、ＰＣ３０１０からのデータをそのままスルーし、ＵＳＢ３０２１を介してプリンタエンジン３００４に出力する。これにより、接続されているＰＣ３０１０は、プリンタエンジン３００４と直接、データや信号のやり取りを行って印刷を実行することができる（一般的なＰＣプリンタとして機能する）。３００９は電源コネクタで、電源３０１９により、商用ＡＣから変換された直流電圧を入力している。ＰＣ３０１０は一般的なパーソナルコンピュータ、３０１１は前述したメモリカード（ＰＣカード）、３０１２はデジタルカメラ（ＤＳＣ：DigitalStillCamera)である。【００３３】
尚、この制御部３０００とプリンタエンジン３００４との間の信号のやり取りは、前述したＵＳＢ３０２１又はＩＥＥＥ１２８４バス３０２２を介して行われる。【００３４】
図４は、本実施の形態に係るＰＤプリンタ１０００のＡＳＩＣ３００１の構成を示すブロック図である。この図４においても、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。【００３５】
４００１はＰＣカードインターフェース部で、装着されたＰＣカード３０１１に記憶されている画像データの読取り、或いはＰＣカード３０１１へのデータの書き込み等を行う。４００２はＩＥＥＥ１２８４インターフェース部で、プリンタエンジン３００４との間のデータのやり取りを行う。このＩＥＥＥ１２８４インターフェース部４００２は、ＤＳＣ３０１２、ＣＰ３０２０からの、或いはＰＣカード３０１１に記憶されている画像データを印刷する場合に使用されるバスである。４００３はＵＳＢインターフェース部で、ＰＣ３０１０との間でのデータのやり取りを行う。４００４はＵＳＢホストインターフェース部で、接続されたＤＳＣ３０１２或いはＣＰ３０２０との間でのデータのやり取りを行う。４００５は操作パネル・インターフェース部で、操作パネル１０１０からの各種操作信号の入力や、表示部１００６への表示データの出力等を行う。４００６はビューワ・インターフェース部で、ビューワ１０１１への画像データの表示を制御している。４００７は各種スイッチやＬＥＤ４００９等との間のインターフェースを制御するインターフェース部である。４００８はＣＰＵインターフェース部で、ＤＳＰ３００２との間でのデータのやり取りの制御を行っている。４０１０はこれら各部を接続する内部バス（ＡＳＩＣバス）である。【００３６】
図５は、本実施の形態に係るカメラ付き携帯電話機（ＣＰ）３０２０の構成を示すブロック図である。尚、このようなカメラ付き携帯電話機のハードウェアは公知であるので簡単に説明する。【００３７】
図において、ＣＰＵ３１は、ＲＯＭ３２に記憶されている制御プログラムに従って、このＣＰ３０２０全体の制御を司っている。ＲＯＭ３２は、ＣＰＵ３１により実行される処理手順（ファームウェア）を記述したプログラムを記憶している（但し、ファームウェアは適宜バージョンアップが行われることを想定し、書き込み可能な不揮発性メモリ、例えばフラッシュメモリで構成される）。ＲＡＭ３３は、ＣＰＵ３３による処理の実行時にワークエリアとして使用され、各種データを一時的に記憶する。操作ボタン及びスイッチ群３４は、数字入力や文字入力に使用されるテンキーや通話キー、各種機能を指示するスイッチ等を含んでいる。液晶表示部３５は、カメラ機能を利用して撮像した画像を画面上で確認したり、各種設定を行う際のメニューを表示するために使用される。これら操作ボタン及びスイッチ群３４及び表示部３５は、本実施の形態では、ダイレクトプリントシステムを実現する場合に、このシステム全体のユーザインターフェースとして機能する。光学ユニット３６は、主としてレンズ及びその駆動系を有する。ＣＣＤ素子３７は、光学ユニット３６により結像された画像を電気信号に変換する。ドライバ３８は、ＣＰＵ３１の制御下において光学ユニット３６を制御して自動焦点制御や絞りの調整などを行う。メモリカード４０は、例えば、コンパクトフラッシュ（登録商標）メモリカード、スマートメディア等の記憶媒体で、コネクタ３９を介してバスに接続されている。有線インターフェース４１は、ＰＣ３０１０或いは本実施の形態に係るＰＤプリンタ１０００と接続するためのＵＳＢインターフェース（ＵＳＢのスレーブ側）である。無線インターフェース４２は、携帯電話として基地局と通信を行うための無線Ｉ／Ｆである。マイクロフォン４３及びスピーカ４４はそれぞれ電話機としての通話において使用される。【００３８】
以上が本実施の形態に係るＰＤプリンタ１０００及びＣＰ３０２０の構成である。以下、以上の構成に基づく動作概要を以下に説明する。【００３９】
＜通常のＰＣプリンタモード＞
これはＰＣ３０１０から送られてくる印刷データに基づいて画像を印刷する印刷モードである。このモードでは、ＰＣ３０１０からのデータがＵＳＢコネクタ１０１３（図３）を介して入力されると、ＵＳＢハブ３００８、ＵＳＢ３０２１を介して直接プリンタエンジン３００４に送られ、ＰＣ３０１０からのデータに基づいて印刷が行われる。【００４０】
＜ＰＣカードからの直接プリントモード＞
ＰＣカード３０１１がカードスロット１００９に装着或いは、脱着されると割り込みが発生し、これによりＤＳＰ３００２はＰＣカード３０１１が装着されたか或いは脱着（取り外された）されたかを検知できる。ＰＣカード３０１１が装着されると、そのＰＣカード３０１１に記憶されている圧縮された（例えばＪＰＥＧ圧縮）画像データを読込んでメモリ３００３に記憶する。その後、その圧縮された画像データを解凍して再度メモリ３００３に格納する。次に、操作パネル１０１０を使用して、その格納した画像データの印刷が指示されると、ＲＧＢ信号からＹＭＣＫ信号への変換、ガンマ補正、誤差拡散等を実行してプリンタエンジン３００４で印刷可能な印刷用データに変換し、ＩＥＥＥ１２８４インターフェース部４００２を介してプリンタエンジン３００４に出力することにより印刷を行う。【００４１】
＜カメラからの直接プリントモード＞
図６は、本実施の形態に係るＰＤプリンタ１０００とＣＰ３０２０との接続を説明する図である。【００４２】
図において、ケーブル５０００は、ＰＤプリンタ１０００のコネクタ１０１２と接続されるコネクタ５００１と、ＣＰ３０２０の接続用コネクタ５００３と接続するためのコネクタ５００２とを備えており、またＣＰ３０２０は、メモリカード４０などに保存している画像データを、接続用コネクタ５００３を介して出力可能に構成されている。尚、ＣＰ３０２０の構成としては、内部に記憶手段としてのメモリを備えるものや、取外し可能なメモリを装着するためのスロットを備えたもの等、種々の構成を採用することができる。このようにケーブル５０００を介してＰＤプリンタ１０００とＣＰ３０２０とを接続することにより、ＣＰ３０２０からの画像データを直接ＰＤプリンタ１０００で印刷することができる。尚、本実施の形態は、このような有線によるＣＰ３０２０とＰＤプリンタ１０００との接続だけでなく、赤外線などの光を利用して無線により通信するような接続形態をも含むものとする。【００４３】
図７は、本実施の形態に係るＣＰ３０２０とＰＤプリンタ１０００との間で、ダイレクトプリント機能及び協働機能を認識する通信手順の概要を説明する図である。尚、ここでＰＤプリンタ１０００は、ダイレクトプリント機能及び協働機能に対応しているプリンタ、ＣＰ３０２０はダイレクトプリント機能及び協働機能に対応しているカメラ付き携帯電話機である。尚、この協働機能に関しては後述するが、例えばカメラ付き携帯電話機３０２０が保持している日時情報をＰＤプリンタ１０００に提供して、プリンタ１０００における回復動作を実行するタイミングを指示したり、カメラ付き携帯電話機３０２０が保持している受信メールや、登録している電話帳やメールアドレスなどをＰＤプリンタ１０００に送信して印刷させる処理などを含む。【００４４】
まず７００で、ＰＤプリンタ１０００よりＣＰ３０２０に対して、コマンド「Request Direct-Print-DSC ID」を送信して、ダイレクトプリント機能対応のＤＳＣかどうかを問合せる。ここで「Direct-Print-DSC ID」は、ダイレクトプリント機能対応のＤＳＣであることを示すデータである。なお、ここで「-DSC ID」となっているのは、既存のデジタルカメラとの通信インターフェースをそのまま流用しているため、ＰＤプリンタ１０００は最初は、接続されている相手がデジタルカメラであるとして処理を開始するためである。次に７０１で、ＣＰ３０２０はＰＤプリンタ１０００からの要求に対応して「Direct-Print-DSC ID」を含む情報に、更に協働機能対応のＣＰであることを示す情報（Special-CP ID）を埋め込んでＰＤプリンタ１０００に送信する。これによりＰＤプリンタ１０００は、接続相手先がダイレクトプリント機能及び協働機能に対応しているカメラ付き携帯電話機（ＣＰ）であると認識できる。そして７０２で、ＰＤプリンタ１０００からＣＰ３０２０に対して、ダイレクトプリント機能対応のプリンタであることを示す「Direct-Print-PRT ID」と、更に協働機能対応のプリンタであることを示す情報（Special-PRT ID）を付与して送信する。これによりＣＰ３０２０は、相手先のＰＤプリンタ１０００がダイレクトプリント機能及び協働機能に対応しているプリンタであると認識する。【００４５】
こうしてＰＤプリンタ１０００は、７０１で、「Direct-Print-DSC ID」を含むが「Special-CP ID」が埋め込まれていない情報を受信する。そしてＰＤプリンタ１０００は接続相手（ＣＰ３０２０）がダイレクトプリント機能対応であるが、協働機能には非対応のＤＳＣであると認識することとなる。【００４６】
またＣＰ３０２０が、７０２で「Direct-Print-PRT ID」を含むが「Special-PRT ID」が付与されていない情報を受信すると、ＣＰ３０２０は接続相手（プリンタ）がダイレクトプリント機能対応であるが、協働機能には非対応のプリンタであると認識する。【００４７】
尚、互いに接続相手がダイレクトプリント機能に非対応の場合は、前述の図２２の説明と同じなので省略する。【００４８】
尚、本実施の形態に係るＤＳＣ３０１２とＰＤプリンタ１０００間での機能認識の手順では前述の図２２に示したように、１０１で、ＰＤプリンタ１０００よりＤＳＣ３０１２に対してコマンド「Request Direct-Print-DSC ID」を送信して、ダイレクトプリント機能対応のＤＳＣであるかどうかを確認する。これに対してＤＳＣ３０１２は、ダイレクトプリント機能対応のＤＳＣであれば「Direct-Print-DSC ID」で応答する（１０２）。これによりＰＤプリンタ１０００は、接続相手がダイレクトプリント機能対応であるが、協働機能には非対応のＤＳＣであると認識できる。そして次に、ＰＤプリンタ１０００は、そのＤＳＣ３０１２に対して、ダイレクトプリント機能対応のプリンタであることを示す情報（Direct-Print-PRT ID）を含む情報を送信する（１０３）。こうしてＤＳＣ３０１２は、接続相手であるＰＤプリンタ１０００がダイレクトプリント機能対応のプリンタであると認識する。そして、これ以降、ＤＳＣ３０１２とＰＤプリンタ１０００との間で通常のダイレクトプリント機能が実行可能となる。【００４９】
このように本実施の形態によれば、ダイレクトプリンタ機能の確認用データ（「Direct-Print-PRT ID」、「Direct-Print-DSC ID」）を含む情報に、協働機能を確認するためのデータ（「Special-PRT ID」、「Special-CP ID」）を「埋め込む」或は「付与する」ことにより、従来の通信手順の中で、ダイレクトプリント機能及び協働機能に対応しているかどうかを互いに確認できる。【００５０】
図８Ａ，８Ｂは、本発明の実施の形態に係るＣＰ３０２０とＰＤプリンタ１０００との間でのダイレクトプリント機能及び協働機能を認識する手順を説明するフローチャートである。本実施の形態では、ＣＰ３０２０とＰＤプリンタ１０００間での相互通信のためにＰＩＭＡ（Photographic and Imaging Manufacturers Association）で定められた標準プロトコルＰＴＰ（Picture Transfer Protocol）を用いた例で説明する。尚、本実施の形態では、ＰＴＰを用いた場合で説明するが本発明はこれに限定されるものではなく、例えば、他のインターフェース、他のクラス（Class）上で本手順を実現しても良い。尚、図８Ａ，８Ｂにおいて、ステップＳ１〜ステップＳ１７はＰＤプリンタ１０００による処理を示し、ステップＳ２１〜ステップＳ３１は、ＣＰ３０２０による処理を示している。【００５１】
まずステップＳ１で、ＰＤプリンタ１０００は、デバイス情報要求（GetDeviceInfo）をＣＰ３０２０に送信する。ＣＰ３０２０は、この要求に対して、ステップＳ２１で、自身のデバイスの属性を示す情報（DeviceInfoDataset）をＰＤプリンタ１０００に通知する。但し、この情報（DeviceInfoDataset）は、ＰＴＰで規定されているカメラに関する属性情報であり、ダイレクトプリント機能及び協働機能に関する情報を含むものではない。【００５２】
ＰＤプリンタ１０００は、このデバイス情報（DeviceInfoDataset）を受信するとステップＳ２で、（OpenSession）を発行してセッションの開始を宣言する。この宣言を受信したＣＰ３０２０は、ステップＳ２２で、ＰＤプリンタ１０００にセッション開始の了解（OK）で応答する。次にステップＳ２３で、ＣＰ３０２０は、後のステップでＰＤプリンタ１０００に送信するオブジェクトデータに、ダイレクトプリント機能対応ＤＳＣであることを示す情報（Direct-Print-DSC）とともに、協働機能対応のＣＰであることを示す情報（Special-CP）を埋め込んだ機能認識用情報を属性情報（ObjectInfoDataset）として作成する。【００５３】
次に図９〜図１２を参照して、本実施の形態に係る汎用通信プロトコル（ＰＴＰ）のDatasetに含まれるスクリプト形式の属性情報について説明する。【００５４】
図９は、本実施の形態に係る属性情報のデータフォーマットを説明する図である。このデータフォーマットは、ＰＴＰで規定されている「ObjectInfoDataset」で伝送されるデータフォーマットを示している。【００５５】
この属性情報は、複数の情報領域９０１〜９１２を含む情報群であり、図９には、ＰＴＰで規定されている属性情報（ObjectInfoDataset）で規定されている情報のうち、本実施の形態に係るダイレクトプリント機能及び協働機能の認識に関連のある事項だけを抜粋して示している。【００５６】
オブジェクト形式（ObjectFormat）９０１には、このオブジェクト（Ｊｐｅｇ、Ｔｉｆｆ、テキスト、ＸＨＴＭＬ、スクリプト等）の形式がＰＴＰ仕様で規定されたオブジェクトコードを使用して記述される。オブジェクトサイズ（ObjectCompressionSize）９０２には、この属性情報を含まない、当該オブジェクト自体のサイズが記述される。サムネイル形式（ThumbFormat）９０３には、このオブジェクトのサムネイル画像の形式がオブジェクトコードによって記述される。サムネイルサイズ（ThumbCompressionSize）９０４、サムネイル幅（ThumbPixWidth）９０５、サムネイル高さ（ThumbPixHeight）９０６にはそれぞれサムネイル画像のサイズ、幅（ピクセル数）、高さ（ピクセル数）が記述される。画像幅（ImagePixWidth）９０７、画像高さ（ImagePixHeight）９０８にはそれぞれ、伝送する画像の幅（ピクセル数）、高さ（ピクセル数）が記述される。ファイル名（Filename）９０９には、当該オブジェクトのファイル名が記述される。作成日時（CaputureDate）９１０及び修正日時（ModificationDate）９１１には、それぞれ当該オブジェクトが作成された日時及び最新の修正日時が記述される。キーワード（Keywords）９１２には、任意の文字列が記述される。【００５７】
図１０は、本実施の形態に係るダイレクトプリント機能のみに対応したＤＳＣ３０１２が作成する属性情報の一例を説明する図である。この属性情報の構造は、前述の図９の属性情報の構成と同じである。【００５８】
オブジェクト形式９０１には、「スクリプト」を示すオブジェクトコードが記述される。オブジェクトサイズ９０２には「０」が記述されており、これはオブジェクトに実体が無いことを示している。これは本実施の形態では、ダイレクトプリント機能の認識を属性情報を交換することにより行い、オブジェクトの実体は交換しない方式のためである。同様に、サムネイル形式９０３は「無し」、サムネイルサイズ９０４、サムネイル幅９０５、サムネイル高さ９０６、画像幅９０７、画像高さ９０８は全て「０」で記述される。ファイル名９０９には、ダイレクトプリント機能対応ＤＳＣであることを示す情報（Direct-Print-DSC）が記述される。また作成日時９１０、修正日時９１１、キーワード９１２には、任意の日時及び文字列が記述される。【００５９】
図１１は、本実施の形態に係るダイレクトプリント機能のみに対応したＰＤプリンタが作成する属性情報の一例を説明する図である。この属性情報の構造も、前述の図９の属性情報と同じである。尚、図１１において、ファイル名９０９の内容以外は全て図１０の属性情報の内容と同じであるため、それらの説明を省略する。【００６０】
ファイル名９０９には、ダイレクトプリント機能対応のプリンタであることを示す情報（Direct-Print-PRT）が記述されている。【００６１】
図１２Ａ、１２Ｂは、本実施の形態に係るダイレクトプリント機能及び協働機能に対応した属性情報の一例を説明する図で、図１２ＡはＣＰ３０２０が作成するダイレクトプリント機能及び協働機能対応を示す属性情報例を示し、図１２ＢはＰＤプリンタ１０００が作成するダイレクトプリント機能及び協働機能対応を示す属性情報例を示している。この属性情報の構造も図９の属性情報と同じである。図１０と比較すると明らかなように、キーワード９１２以外は全て図１０の属性情報の内容と同じであるため、それらの説明を省略する。【００６２】
図１２Ａでは、キーワード９１２には、協働機能対応のＣＰであることを示す情報（Special-CP）が埋め込まれており、図１２Ｂでは、キーワード９１２には、協働機能対応のＰＤプリンタ１０００であることを示す情報（Special-PRT）が埋め込まれている。【００６３】
以上説明したように、ＣＰ３０２０は、ステップＳ２３で、図１２Ａに示すような属性情報を作成し、その作成した属性情報に対応した実体の無い、オブジェクトサイズが「０」の仮想オブジェクトを作成し、その作成した仮想オブジェクトに対してハンドルを割り当てる。【００６４】
ＰＤプリンタ１０００は、ステップＳ３で、ＣＰ３０２０に「GetObjectHandles」を送信して、ＣＰ３０２０が保持しているオブジェクトのハンドルリストを要求する。これにより、ＣＰ３０２０は、ステップＳ２４で、自身が保持しているオブジェクト（画像やスクリプト）に割り当てられたハンドルリスト（ObjectHandleArray）をＰＤプリンタ１０００に通知する。このハンドルリストの中には、前述のステップＳ２３で作成された機能認識情報を含む属性情報に対応した仮想オブジェクトに割り当てられたハンドルも含まれている。このハンドルリストは、ステップＳ４で、ＰＤプリンタ１０００により受信される。【００６５】
次にＰＤプリンタ１０００は、ステップＳ４で受信した情報からハンドル数が分かるので、ステップＳ５で、初期値としてハンドルを示す変数ｉに「１」を代入し、ステップＳ６で、GetObjectInfo（Handle i）を送信して、ｉ番目のオブジェクトに対する属性情報をＣＰ３０２０に要求する。ＰＤプリンタ１０００からの要求に応答し、ＣＰ３０２０はステップＳ２５で、該当するオブジェクトの属性情報（ObjectInfo i Dataset）をＰＤプリンタ１０００に送信する。【００６６】
ＰＤプリンタ１０００は、ステップＳ７で、このオブジェクトの属性情報を受信し、その内容を確認する。ここでは変数ｉの値に該当するオブジェクトのファイル名９０９が「Direct-Print-DSC」であり、かつオブジェクト形式９０１が「スクリプト」であるか否かを判定する。そうであればステップＳ１１に進み、そうでない場合にはステップＳ８に進む。このステップＳ７の判定では、受信した属性情報が図１０の属性情報であっても、図１２Ａに示す属性情報であっても、その判定結果は「ＹＥＳ」となる。よってステップＳ１１に進んだ時点で、ＰＤプリンタ１０００は接続相手の機器が少なくともダイレクトプリント機能対応であると認識する。ステップＳ１１では、ＰＤプリンタ１０００は、受信した属性情報中のキーワード９１２に「Special-CP」が埋め込まれているか否かを判定し、埋め込まれていれば（図１２Ａの場合）ステップＳ１５に進み、そうでない場合はステップＳ１２へ進む。ステップＳ１５では、ＰＤプリンタ１０００は接続相手のＣＰ３０２０がダイレクトプリント機能及び協働機能対応のカメラ付き携帯電話機であると認識し、ＰＤプリンタ１０００は自らがダイレクトプリント及び協働機能対応のプリンタであることをＣＰ３０２０に通知するために、図１２Ｂに示すように、ダイレクトプリント機能対応であることを示す情報（Direct-Print-PRT）を含む情報のキーワード９１２に、協働機能対応であることを示す情報（Special-PRT）を埋め込んだ属性情報（ObjectInfoDataset）を作成し、その作成した属性情報に対応した実体の無いオブジェクトサイズが「０」の仮想オブジェクトを作成し、ＣＰ３０２０に対して作成した仮想オブジェクトの属性情報をＣＰ３０２０に送信する（SendObjectInfo）。次にステップＳ１６で、ダイレクトプリント及び協働機能確認成功したと判断し、以後ダイレクトプリント及び協働機能モードに移行する（ステップＳ１７）。一方ステップＳ１２では、ＰＤプリンタ１０００は自らがダイレクトプリント機能対応のプリンタであることを接続相手の機器に通知するために、ダイレクトプリント機能対応であることを示す情報（Direct-Print-PRT）を含む機能認識情報を属性情報（ObjectInfoDataset）（図１１）として作成する。そして作成した属性情報に対応した実体の無いオブジェクトサイズが「０」の仮想オブジェクトを作成し、ＣＰ３０２０に対して送信する（SendObjectInfo）。ＰＤプリンタ１０００は、ステップＳ１２の属性情報の送信が完了するとステップＳ１３へ進み、ダイレクトプリント機能の確認に成功したと判断し、以後ダイレクトプリントモードに移行する（ステップＳ１４）。【００６７】
またステップＳ７の判定が「ＮＯ」、つまりファイル名９０９が「Direct-Print-DSC」でないか、オブジェクト形式９０１が「スクリプト」以外の場合（撮影画像であった場合等）はステップＳ８で、変数ｉを１つインクリメントしてステップＳ９へ進む。ステップＳ９では、全ハンドルの属性を確認したか否かを判定し、全てのハンドルのチェックが終了していない場合はステップＳ６に戻って前述の処理を実行する。一方、全てのハンドルのチェックが終了した場合はステップＳ１０に進み、接続相手の機器はダイレクトプリント機能に非対応の機器であると判断し、これ以上の処理を打ち切るため未対応機器処理を行う。これは例えば、操作部１０１０に備えられたＬＥＤを点灯させることでエラー通知を行ったり、機能確認の失敗を意味するメッセージを表示部１００６に表示して、本処理を終了する。【００６８】
次にＣＰ３０２０は、ステップＳ２６で、ＰＤプリンタ１０００からの属性情報を受信し、その内容を確認する。ここでは属性情報のファイル名９０９が「Direct-Print-PRT」であり、かつオブジェクト形式９０１が「スクリプト」であるか否かを判定し、そうであればステップＳ２７に進むが、そうでない時はステップＳ２５に戻って前述の処理を実行する。ステップＳ２７では、ＣＰ３０２０は接続相手のプリンタが少なくともダイレクトプリント機能対応であることを認識し、更に属性情報中のキーワード９１２に「Special-PRT」が埋め込まれているか否かを判定する。ここで、「Special-PRT」が埋め込まれていればステップＳ３０に進み、接続相手のＰＤプリンタ１０００がダイレクトプリント機能及び協働機能対応のプリンタであると認識する。次にステップＳ３１で、ダイレクトプリント機能及び協働機能モードに移行する。またステップＳ２７で、キーワード９１２に「Special-PRT」が埋め込まれていない場合はステップＳ２８に進み、ＣＰ３０２０はダイレクトプリント機能の確認が成功したと判断し、以後ダイレクトプリントモードに移行する（ステップＳ２９）。【００６９】
以上の説明では、属性情報のキーワード９１２に協働機能に対応していることを示す情報を埋め込む例を示したが、特にキーワード９１２の領域に限定されるものではなく、ダイレクトプリント機能対応を示す情報を含む情報（本実施の形態におけるＰＴＰ上では属性情報（ObjectInfoDatase））の内、未使用かつ任意の情報が記述可能な領域であれば、その領域に、協働機能に対応しているか否かを示す情報を埋め込めばよい。例えば、このような領域としては、本実施の形態におけるＰＴＰ上の属性情報中の作成日時９１０、修正日時９１１の欄であっても良い。【００７０】
また上記説明では、ＰＤプリンタ１０００はステップＳ１２で、図１１に示す属性情報を送信し、ステップＳ１５では、図１１のキーワード９１２に「Special-PRT」を記述した属性情報を送信したが、基本的に図９〜図１２Ｂのキーワード９１２の記載内容は任意であるため、特にこれに限定されるものではない。【００７１】
また上記説明では、協働機能に対応していることを示す文字列を「Special-CP」及び「Special-PRT」としたが、このような文字列に限定する必要は無い。また或は、キーワード９１２に記述された文字列中にこのような文字列が含まれていることを条件にしても構わない。【００７２】
また上記説明では、協働機能のバージョン管理等について記述しなかったが、キーワード９１２に、協働機能に対応していることを示す文字列だけではなく、そのバージョン情報を付与しても構わない。【００７３】
また上記説明では、図７の７０２でダイレクトプリント対応情報である「Direct-Print-PRT」を含む情報に協働機能に対応していることを示す「Special-PRT」を埋め込む形で説明したが、７０１が完了した時点で、ＰＤプリンタ１０００は接続相手の機器が協働機能に対応していると認識しているので、７０２以降でＰＤプリンタ１０００からＣＰ３０２０へＰＤプリンタ１０００が協働機能対応機器であることを伝達する手段は如何なる手段を用いても構わない。例えば最初に協働機能に対応する機器であることを伝達し、次にダイレクトプリント機能に対応する機種であることを伝達しても良いし、その逆の順番で行っても構わない。また協働機能に対応していることを伝達する手段が、ダイレクトプリント機能対応であることを伝達する手段と全く異なっていても構わない（例：ＣＰ３０２０の保持する協働機能対応機器にのみ共有される秘密のハンドルに対応したオブジェクトに対して削除・修正・取得・属性情報取得指示を出す等）。【００７４】
但し、ＣＰ３０２０の側から見た場合、ＣＰ３０２０は接続相手の機器が協働機能に対応している機器か否か、更にはＰＣとの接続なのかが判別できていない場合には、以下のような課題が発生する。
・協働機能に対応している機器と非対応の機器とで振る舞いが大きく異なる場合には、ＣＰ３０２０側が両方の振る舞いに対応できる状態を維持する必要があり、実現が困難、かつ不安定になり機器の接続が保証出来ないという危険性がある。
・協働機能の確認ステップを別途設定したとしても、ダイレクトプリント機能確認を行う必要があるので、いずれにしても「Direct-Print-PRT」を送信する必要がある。【００７５】
上記説明中の７０２の処理は、上記課題２点を以下の様に良好に解決している。
・接続相手の機器が協働機能に対応しているか否かに関わらず、ＣＰ３０２０が次に受信する情報（本実施形態におけるＰＴＰ上では属性情報（ObjectInfoDataset））が確定するので動作が安定する。
・ダイレクトプリント機能の確認のための「Direct-Print-PRT」の伝達と同時に協働機能確認のための「Special-PRT」の伝達が行える。【００７６】
上記説明では、属性情報のやり取りで機能確認を行った例を説明した。しかし、属性情報のやりとりではなく、オブジェクト本体の送信（SendObject）、その取得（GetObject）を行う。そしてオブジェクト本体中の記述情報によって機能確認を行う場合であっても、ダイレクトプリント機能に対応していることを示す情報の未使用或は任意情報が記載可能な領域に、協働機能に対応していることを示す情報を埋め込めば良い。【００７７】
以上説明したように本実施の形態によれば、ダイレクトプリント機能及び協働機能に対応している機器が、ダイレクトプリント機能のみに対応した機器、及び両方の機能に対応した機器のいずれとも、確実にかつ安全に機能の確認を行えることとなる。【００７８】
また、上記説明中７０２以降の処理において協働機能に対応する機器であることの伝達と、ダイレクトプリント機能に対応する機種であることの伝達を別々に行う場合には、まず最初に協働機能に対応する機器であることを伝達し、その後にダイレクトプリント機能に対応する機種であることの伝達を行う方が好ましい。何故なら最初にダイレクトプリント機能に対応する機種であることを伝達してしまうと、ＣＰ３０２０は次にダイレクトプリント機能の処理としてＣＰ３０２０から主導的に行う処理と、協働機能に対応する機器である事の伝達を受信するという受動的な処理の両方の処理を行う可能性がある。もしその両方の処理を順次行う場合、受動的な処理に対してタイムアウト等を設定をする必要があり、それらの要素が接続性として不安定要素となってしまう。【００７９】
その点、最初に協働機能に対応する機器であることを伝達するようにしておけば、ＣＰ３０２０とすれば、７０２以降の処理において最初に協働機能に対応する機器であることの伝達を受信するか、ダイレクトプリント機能に対応する機種であることの伝達を受信するかで、一義的に接続相手の機器が協働機能に対応する機器であるか否かが確定するからである。【００８０】
［実施の形態２］
本発明の実施の形態２では、ダイレクトプリント機能に搭載されていない新機能を協働機能によって付加することにより、ダイレクトプリント機能を強化する例について説明する。このような協働機能は、プリンタがプリントヘッドの回復動作等に利用する現在時刻をＣＰから取得する機能とする。プリントヘッドの回復動作は公知のプリントヘッドの保守手段であるため、その説明は省略する。また現在時刻の取得をどのように回復動作等に利用するかの詳細は、既にＰＣとプリンタ間で実現されている機能であるため、その説明も省略する。【００８１】
ＰＴＰでは、図９に示す属性情報のオブジェクトの「作成日時」９１０や「修正日時」９１１等のような日時を記述する領域は存在するが、それらは本来それぞれのオブジェクト（写真等）の作成（撮影）、修整日時である。このため、プリンタ側で、それらが現在の日時を指していると仮定して、その日時情報を基に、プリンタに現在時刻を設定するのは好ましく無い。また、ＰＴＰでは、現在の日時を設定する領域は規定されていない。よって、プリンタからＣＰ側が管理している属性情報の特定領域の情報に基づいて、現在の日時を安全かつ確実に取得する事は極めて困難である。本実施の形態２では、現在の日時情報を安全かつ確実にＣＰから取得するという目的に対して、協働機能がどの様に有効に用いられるかを説明する。【００８２】
また本実施の形態２では、回復動作の開始がプリンタの判断によって行われ、ＣＰからプリンタへ回復動作の開始を指示しない場合と、回復動作の開始がＣＰの判断によって行われ、ＣＰからプリンタへ回復動作の開始を指示する場合の２通りについて説明する。【００８３】
図１３Ａ，１３Ｂは、本発明の実施の形態２に係るＣＰ３０２０とＰＤプリンタ１０００間でのダイレクトプリント機能及び協働機能認識の手順を説明するフローチャートで、前述の図８Ａ，８Ｂのフローチャートと共通する部分は同じ記号で示し、その説明を省略する。この処理では、回復動作を開始するか否かをＰＤプリンタ１０００が判断し、ＣＰ３０２０からＰＤプリンタ１０００へ回復動作の開始を指示しない場合で説明する。尚、この実施の形態２に係るＰＤプリンタ１０００、ＣＤ３０２０の構成は前述の実施の形態１の場合と同様であるため、その説明を省略する。【００８４】
ＣＰ３０２０は、ステップＳ２３ａで、図８ＡのステップＳ２３と同様に、ダイレクトプリント機能に対応しているＤＳＣであることを示す情報（Direct-Print-DSC）を含む属性情報に、更に協働機能に対応しているＣＰであることを示す情報（Special-CP）を埋め込んだ属性情報（ObjectInfoDataset）を作成する。そして、更に現在日時を示す情報を属性情報中に埋め込む。【００８５】
図１４は、この実施の形態２に係るダイレクトプリント機能及び協働機能に対応したＣＰ３０２０が作成する属性情報の一例を説明する図である。尚、この属性情報の構造は前述のも図９の属性情報の構造と同じであり、修正日時９１１の内容以外は全て図１２Ａ，１２Ｂの属性情報と同じである。修正日時９１１には、このＣＰ３０２０に内蔵された不図示の計時機能から取得された現在日時が埋め込まれる。この埋め込まれた情報（現在日時）は、ステップＳ２５を経てＰＤプリンタ１０００に送られる。【００８６】
ＰＤプリンタ１０００は、ステップＳ１６ａで、受信した属性情報を解析し、修正日時９１１から現在日時を取得する。この現在日時は、ＰＤプリンタ１０００が行う回復動作開始の判断等に利用できる状態にして、ステップＳ１７でダイレクトプリント及び協働機能モードに移行する。【００８７】
尚、ダイレクトプリント機能モード時には、修正日時９１１に現在日時が記述されていたとしても、接続相手の機器の持つ計時機能から取得された現在日時であるという保証がないため、この情報はＰＤプリンタ１０００が行う回復動作開始の判断等には利用されない。【００８８】
次に、ＰＤプリンタ１０００における回復動作の開始がＣＰ３０２０からの指示によって行われる場合を説明する。【００８９】
この場合、ＰＤプリンタ１０００はステップＳ１５ａで、図８ＢのステップＳ１５と同様に、ダイレクトプリント機能対応のプリンタであることを示す情報（Direct-Print-PRT）と、協働機能対応のプリンタであることを示す情報（Special-PRT）とを含む属性情報（ObjectInfoDataset）を作成する。そして、回復日時を示す情報を、この属性情報中に埋め込む。【００９０】
図１５は、本実施の形態２に係る属性情報の一例を説明する図で、この属性情報の構造も図９の属性情報と同じである。【００９１】
ここでは修正日時９１１に、ＰＤプリンタ１０００に内蔵された不図示の不揮発性メモリに記録された、最後に回復動作が行われた日時が「回復日時」として埋め込まれる。この埋め込まれた情報はステップＳ２６でＣＰ３０２０に送られる。ＣＰ３０２０は、ステップＳ３０ａで、その受信した属性情報を解析し、修正日時９１１の記述から回復日時を取得する。そして、これ以降、ＣＰ３０２０が行う、ＰＤプリンタ１０００における回復動作開始の判断等に利用できるようにして、ステップＳ３１でダイレクトプリント機能及び協働機能モードに移行する。【００９２】
尚、ダイレクトプリント機能モード時（ステップＳ２８，Ｓ２９）では、修正日時９１１に記述されている「回復日時」が、本当に接続相手の機器の持つ不揮発性メモリに記録された回復日時であるという保証がないため、ＣＰ３０２０が行う回復動作開始の判断等には利用しない。【００９３】
図１６は、本発明の実施の形態２に係るＣＰ３０２０とＰＤプリンタ１０００との協働機能の一例である、回復動作を指示する手順を説明するフローチャートである。ステップＳ４１〜Ｓ４５はＰＤプリンタ１０００による処理を示し、ステップＳ５１〜Ｓ５４はＣＰ３０２０による処理を示している。尚、この処理の開始前には、ＣＰ３０２０は、既に図１３ＢのステップＳ３０ａで回復日時を取得しているものとする。またＣＰ３０２０とＰＤプリンタ１０００とは、ステップＳ４１，Ｓ５１で、ダイレクトプリント機能及び協働機能モードで動作しているものとする。【００９４】
ＣＰ３０２０はステップＳ５２で、ＣＰ３０２０に内蔵された不図示の計時機能から取得した現在日時から、ＰＤプリンタ１０００から図１５の属性情報で得られた回復日時を差し引くことにより、ＰＤプリンタ１０００において最近実行された回復処理からの経過時間を算出する。そしてこの経過時間が、ＰＤプリンタ１０００における回復動作を必要とする閾値時間を超えたかどうかを判定し、越えていればステップＳ５３に進み、ＰＤプリンタ１０００に対して回復処理の開始を指示する回復処理ジョブを発行する。越えていないときはそのまま処理を終了する。【００９５】
ＰＤプリンタ１０００は、ステップＳ４２でこの回復処理ジョブを受信するとステップＳ４３に進み、回復処理ジョブを実行する。これは記録ヘッド（インクジェットヘッド）を回復位置に移動し、インクの吸引や強制吐出などを行ってヘッドのインク吐出性能を回復するものである。こうして回復処理を完了するとステップＳ４４に進み、この回復処理を実行した日時を、ＰＤプリンタ１０００に内蔵された不図示の不揮発性メモリに記憶する。そしてステップＳ４５４で、回復処理が終了したことを示す「回復ジョブ終了」をＣＰ３０２０に通知して処理を終了する。またこの「回復ジョブ終了」が、ステップＳ５４でＣＰ３０２０により受信されると、ＣＰ３０２０による処理が終了する。【００９６】
以上説明したように本実施の形態２によれば、ダイレクトプリント機能に搭載されていない新機能を協働機能として付加することにより、ダイレクトプリント機能を安全かつ確実に強化できる。また、協働機能に非対応の機器と接続した場合でも新機能を誤動作させること無く上記新機能の付加を行えることとなる。【００９７】
上記実施の形態２では、属性情報の「修正日時」９１１に現在の日時情報を埋め込む形式で説明したが、協働機能における現在日時の伝達方法はこれに限る必要はなく、「作成日時」９１０を用いても、また「キーワード」９１２に日時情報を付加しても良い。また、ダイレクトプリント＆協働機能確認に用いる属性情報中の領域に限る必要もなく、他のオブジェクト（写真画像等）の属性情報を利用しても構わない。要は、ダイレクトプリント機能で用いられている領域と互いに影響を与えない特定の領域を現在日時の伝達に利用するように協働機能として設定し、その協働機能に対応しているかどうかを両機器間で確認すれば良い。【００９８】
また、本実施の形態ではダイレクトプリント機能に搭載されていない新機能として現在日時の伝達を例に説明したが、本発明はこれに限定されない。例えばプリンタ側が搭載しているフォントの種類・サイズ、受信バッファサイズ、処理可能な最大画素数等、またＣＰ側が搭載しているフォントの種類・サイズ、液晶ディスプレイのサイズ等、いずれの情報を伝達しても良い。【００９９】
上記他の例で、プリンタが搭載しているフォントの種類・サイズの伝達を受けたＣＰは、プリンタが搭載していないフォントの種類・サイズで記述されたテキストファイルの印刷ジョブを発行禁止にしてユーザに明示する。これにより、文字化け等ユーザの期待しない出力の発生を防止可能である。【０１００】
上記他の例で、プリンタが搭載している受信バッファサイズの伝達を受けたＣＰは印刷対象の画像ファイルをプリンタの受信バッファサイズ以下のサイズにリサイズして印刷ジョブを発行する。これにより、プリンタへの画像転送回数を低減できる。【０１０１】
上記他の例で、プリンタが処理可能な最大画素数を知らされたＣＰは、印刷対象の画像ファイル、プリンタが処理可能な最大画素数より大きかった場合、処理可能な最大画素数以下のサイズにリサイズして印刷ジョブを発行する。これにより、プリンタでの印刷失敗の発生を防止できる。【０１０２】
上記他の例で、ＣＰが搭載しているフォントの種類・サイズ、液晶ディスプレイのサイズ等を伝達されたプリンタは、テキストファイルの印刷ジョブ実行時にＣＰの液晶ディスプレイ上での表示レイアウトを推測して印刷する。これにより、レイアウトと印刷結果のズレ等といった、ユーザが予期しない印刷結果の発生を防止できる。【０１０３】
また本実施の形態では、ＣＰとプリンタとの間で双方向に協働機能に対応していることを示す情報を伝送したが、これは本発明の効果を最も発揮し、最も安全・確実に協働機能を実現するベストケースである。【０１０４】
実際には、ＣＰからプリンタ、及びプリンタからＣＰへの協働機能に対応していることを示す情報を伝達する際、片方向のみ伝達のみを行った場合でも、本発明の効果を部分的に享受できる。例えばＣＰからプリンタに現在の日時を伝達し、回復動作の開始をプリンタで判断する機能のみを協働機能として実現する場合は、プリンタからＣＰへの協働機能に対応していることを示す情報の伝達を省略しても良い。但しこの場合は、ＣＰは、プリンタが正しく現在日時を取得して回復動作の開始を行うかどうかは判断できない。【０１０５】
［実施の形態３］
本発明の実施の形態３では、ダイレクトプリント機能に搭載されている機能の実際の運用方法を協働機能によってＣＰとプリンタとで共有することによりダイレクトプリント機能を強化する例について説明する。尚、この実施の形態３に係るＰＤプリンタ１０００、ＣＤ３０２０の構成は前述の実施の形態１の場合と同様であるため、その説明を省略する。【０１０６】
この実施の形態３では、ＰＤプリンタ１０００がＣＰ３０２０から指示された複数の画像を１ページ中に印刷するレイアウト印刷機能の場合で説明する。このようなレイアウト印刷を効果的に運用する一例として、透過率が指定された複数の画像を合成して１枚の合成画像として印刷する場合で説明する。この具体例としては、写真に額縁等のイメージを重畳して印刷するフレーム印刷機能がある。【０１０７】
この実施の形態３では、ダイレクトプリント機能として何枚の写真を１ページ中に印刷可能かという機能情報は、プリンタとＤＳＣ及びＣＰ間で交換され、１ページ中の複数枚の写真のレイアウト位置及びサイズに関してはプリンタでの任意に設定可能とする。この場合、プリンタは、透過率が指定された複数の画像を同一位置或はサイズでレイアウトすることにより合成画像を形成できる。つまり、原理的にはダイレクトプリント機能は合成印刷機能自体を潜在的に包含していると言える。【０１０８】
しかし、ダイレクトプリント機能上、そのプリンタのレイアウト位置及びサイズの機能情報がプリンタとＤＳＣ＆ＣＰ間で交換されない場合には次のような問題が発生する。まずＣＰが透過率が指定された複数の画像によって構成された印刷ジョブを接続相手のプリンタに対して発行する場合を考える。この場合、そのプリンタが印刷ジョブを合成して１枚の合成画像として印刷可能なプリンタであるか、それともそれぞれを別個の画像として印刷するプリンタなのかはＣＰには不明である。よって、ＣＰはユーザに対して明示した機能を結果的に提供できない恐れがある。逆に、プリンタが透過率が指定された複数の画像によって構成された印刷ジョブを合成して１枚の合成画像として印刷可能なプリンタの場合について考える。この場合、接続相手のＣＰが、複数の画像を合成して１枚の画像として印刷されることを期待して印刷ジョブを発行したか、それともそれぞれを別個の画像として印刷されることを期待して印刷ジョブを発行したかが不明である。よって、ＣＰがユーザに対して明示した印刷機能を、結果的に提供できない虞がある。このようにダイレクトプリント機能が包含している機能であっても、それを安全かつ確実に運用できない場合がある。【０１０９】
本実施の形態３では、この機能の運用を安全かつ確実に取得するという目的に対して、協働機能がどの様に有効に用いられるかを説明する。また、ＣＰとプリンタ間での協働機能実施の適否をプリンタが判断する場合の手順、ＣＰとプリンタ間での協働機能実施の適否をＣＰが判断する場合の手順、の２つの手順をそれぞれ図１７及び図１８を用いて説明する。【０１１０】
図１７は、本発明の実施の形態３に係るＣＰ３０２０とＰＤプリンタ１０００との間での協働機能の手順例を説明するフローチャートである。図において、ステップＳ６１〜Ｓ６９は、ＰＤプリンタ１０００による処理を示し、ステップＳ７１〜Ｓ７４に示す処理はＣＰ３０２０による処理に対応している。【０１１１】
尚、ここではＣＰ３０２０及びＰＤプリンタ１０００は共にダイレクトプリント＆協働機能対応とする。またＣＰ３０２０及びＰＤプリンタ１０００は、既に図８Ａ，８Ｂに記載のダイレクトプリント＆協働機能確認を完了し、互いの機器がダイレクトプリント及び協働機能対応である事を確認済みとする。そして、画像合成用に透過率指定がされる画像、つまりフレーム画像はＰＮＧフォーマット画像とし、これらＰＮＧフォーマット画像が合成される元画像はＪＰＧフォーマット画像とする。ダイレクトプリント及び協働機能対応で、かつＰＮＧフォーマット及びＪＰＧフォーマットが印刷可能なプリンタは、必ずＰＮＧフォーマット及びＪＰＧフォーマットの画像が混在した印刷ジョブを合成して印刷する様に協働機能として設定してあるものとする。【０１１２】
まずステップＳ７１で、ステップＳ６１で、ＣＰ３０２０からＰＤプリンタ１０００に対してプリンタの機能情報（Capability）を要求する。この機能情報には、何枚の写真を１ページに印刷可能か、及びＰＤプリンタ１０００がどのフォーマットの画像を印刷可能かを示す機能情報を含む。ＰＤプリンタ１０００は、ステップＳ６１でこの要求を受信するとステップＳ６２で、自身のCapabilityをＣＰ３０２０に通知する。このCapabilityには、ＰＤプリンタ１０００により印刷可能なフォーマットとして、ＰＮＧ及びＪＰＧが含まれている。これによりＣＰ３０２０において、例えばその取得したＰＤプリンタ１０００のCapabilityに応じたＵＩを表示して、ユーザにより印刷したい画像の選択等を行って印刷ジョブを発行する（ステップＳ７３）。ここで合成印刷を行う場合には、ＣＰ３０２０は、ステップＳ７３で、ＰＤプリンタ１０００に対してＰＮＧとＪＰＧの画像フォーマットが混在した印刷ジョブを発行する。この印刷ジョブはステップＳ６３でＰＤプリンタ１０００により受信され、ステップＳ６４で、その印刷ジョブを解析する。【０１１３】
ステップＳ６５では、印刷ジョブに含まれる画像に、その拡張子が「ＰＮＧ」と「ＪＰＧ」の画像が混在しているかどうかをみる。混在していないときはステップＳ６６に進み、指定されたフォーマットに従って、各画像をそれぞれ別々のシートに印刷する。こうして印刷ジョブで指定された画像の印刷が完了するとステップＳ６７に進み、印刷ジョブの終了をＣＰ３０２０に通知する。これにより、ＣＰ３０２０は、印刷ジョブが完了したことを確認して処理を終了する。【０１１４】
一方ステップＳ６５で、拡張子が「ＰＮＧ」と「ＪＰＧ」の画像が混在している場合はステップＳ６８に進み、ダイレクトプリント機能と協働機能モードでの動作中かどうかをみる。ダイレクトプリント機能と協働機能モードでの動作中の場合はステップＳ６９に進み、拡張子が「ＪＰＧ」の画像の上に拡張子が「ＰＮＧ」の画像を重畳させて、同一のシートに印刷する。ここで拡張子が「ＰＮＧ」の画像は、所定の色領域或は領域が透けて見える画像であるため、例えば、拡張子が「ＪＰＧ」の画像は人物や動物などの写真で、拡張子が「ＰＮＧ」の画像がフレームを示す画像の場合には、フレーム内に人物や動物などの写真が入った写真画像が、ステップＳ６９で印刷されることになる。【０１１５】
一方ステップＳ６８で、判定が「ＮＯ」の場合はステップＳ６６に進む。ＰＤプリンタ１０００及びＣＰ３０２０が共にダイレクトプリント及び協働機器対応である場合にはこのステップＳ６６に進むことはない。しかし接続相手の機器が本実施の形態に係るＣＰ３０２０ではなく、ダイレクトプリント機能対応であるが協働機能非対応であった場合にこのステップＳ６６へ進む状況が発生する。この場合、ＰＤプリンタ１０００は、ＰＮＧ，ＪＰＧの画像をそれぞれ別々のシートに印刷する。何故なら、ステップＳ６５の判定でＹＥＳであるが、ステップＳ６８での判定結果がＮＯであるため、ＰＤプリンタ１０００は接続相手であるＣＰ３０２０が協働機能非対応であることを認識している。よって、接続相手の機器が明確にＰＮＧ，ＪＰＧを合成して同一のシートに出力を行われることを期待してステップＳ７３で、ＰＮＧ、ＪＰＧ混在の印刷ジョブを発行した訳では無いと判断できるからである。よって、ステップＳ６６でのＰＮＧ，ＪＰＧの画像をそれぞれの別々のシートに印刷することは、接続相手の機器がユーザに対して明示した機能を正しく提供しているといえる。【０１１６】
このように本実施の形態３によれば、協働機能の一例として、フレーム印刷を行うことができる。【０１１７】
［実施の形態４］
図１８は、本発明の実施の形態４に係るＣＰ３０２０とＰＤプリンタ１０００との間での協働機能の実現例を説明するフローチャートで、前述の図１７と共通する処理には同じ記号を付して、その説明を省略する。尚、この実施の形態４に係るＰＤプリンタ１０００、ＣＰ３０２０の構成は前述の実施の形態１の場合と同様であるため、その説明を省略する。【０１１８】
ＣＰ３０２０は、ステップＳ７２で、ＰＤプリンタ１０００からのCapabilityを受信するとステップＳ８１に進み、ＰＤプリンタ１０００が拡張子「ＰＮＧ」、「ＪＰＧ」の画像の印刷をサポートしているかどうかをみる。サポートしていないときはステップＳ８２に進み、表示部３５に表示するＵＩにおいて「フレーム印刷」を選択できないようにする。一方、ステップＳ８１で、ＰＤプリンタ１０００が拡張子「ＰＮＧ」、「ＪＰＧ」の画像をサポートしている場合はステップＳ８３に進み、ダイレクトプリント機能と協働機能モードでの動作中かどうかを判定する。そうであればステップＳ８４に進み、表示部３５に表示するＵＩにおいて「フレーム印刷」を選択できるように表示する。【０１１９】
そして以後、ユーザがＣＰ３０２０のＵＩで「フレーム印刷」を選択した場合には、印刷ジョブとしてＰＮＧ，ＪＰＧが混在している印刷ジョブを発行する。何故なら、既にステップＳ８４で、ＰＤプリンタ１０００がダイレクトプリント及び協働機能対応であり、かつＰＮＧ，ＪＰＧが印刷可能なプリンタであることが確定しているので、ＰＤプリンタ１０００がＰＮＧ，ＪＰＧを合成して印刷可能なプリンタであると判断できるためである。【０１２０】
逆に、ＣＰ３０２０のユーザがＵＩで「フレーム印刷」を選択していない場合には、印刷ジョブとしてＰＮＧ，ＪＰＧ混在の印刷ジョブを発行しない。この場合、ユーザは「非フレーム印刷」を選択しているので各画像が別々に印刷されることを期待していると判断できるからである。もし、ダイレクトプリント及び協働機能対応プリンタにＰＮＧ，ＪＰＧ混在の印刷ジョブを発行してしまった場合には、ＰＤプリンタ１０００で合成印刷を行ってしまい、ユーザに明示した機能を正しく提供できなくなる。【０１２１】
このようにしてＣＰ３０２０では、拡張子「ＰＮＧ」、「ＪＰＧ」の画像を用いて「フレーム印刷」を指定する印刷ジョブを発行できる。こうして更新作成された印刷ジョブは、図１７のステップＳ７３でＰＤプリンタ１０００に送られて、ＣＰ３０２０のユーザが意図するフレーム印刷が実行される。【０１２２】
以上説明したように本実施の形態によれば、ダイレクトプリント機能に伴う協働機能を安全かつ確実により効果的に運用できる。また、協働機能に非対応の機器と接続した場合であっても、ダイレクトプリント機能の運用を誤動作させることなく運用できる。【０１２３】
尚、上記例では、フレーム画像としてＰＮＧ、本画像としてＪＰＧを用いたが、協働機能としてのフレーム印刷実現方法としてはこれに限る必要はなく、フレーム画像のフォーマットとしてＧＩＦ等他の画像フォーマットを用いたり、本画像のフォーマットとしてＴＩＦＦ等他の画像フォーマットを用いたりしても良い。【０１２４】
また、上記例では各ページに１枚レイアウトして印刷する例を説明したため、非フレーム印刷時にＰＮＧ，ＪＰＧを別シートに印刷しているが、例えば各ページに複数枚レイアウトして非フレーム印刷する場合には、同一ページ上にＰＮＧ，ＪＰＧ画像が合成されずに互いに別々に印刷されることになる。【０１２５】
また図１７では、印刷ジョブがＰＮＧ，ＪＰＧ混在かどうかを判別してからダイレクトプリント及び協働機能モードか否かを判定したが、この判定する順番及びタイミングに限る必要は無く、例えば逆の順番で行っても良いし、ダイレクトプリント＆協働機能モードとダイレクトプリントモードで全く別のフローとしても構わない。【０１２６】
同様に、図１８において、ＰＤプリンタ１０００がＰＮＧ，ＪＰＧを印刷可能かどうか判別してからダイレクトプリント及び協働機能モードか否かを判定したが、これもこの判定の順番及びタイミングに限る必要は無く、例えば逆の順番で行っても良いし、ダイレクトプリント＆協働機能モードとダイレクトプリントモードで全く別のフローとしても構わない。要は、印刷ジョブを発行している接続相手の機器が、フレーム合成を期待して印刷ジョブを発行したのか否かを明確に判別できるように協働機能を設定し、その協働機能に対応しているかどうかを両機器間で確認すれば良い。【０１２７】
［実施の形態５］
この実施の形態５では、ダイレクトプリント機能に搭載されている機能を用いる場合に、協働機能を利用して機能を限定する事によるメリットの例について説明する。【０１２８】
ダイレクトプリント機能に搭載されている機能としては、プリンタが印刷可能な画像フォーマット情報を通知する機能であり、機能が限定される例はＸＨＴＭＬ印刷機能とする。具体例として、完全にＸＨＴＭＬ対応にすることはＰＴＰに特有の制限によって困難であるため、協働機能に特有のＸＨＴＭＬサブセット規則をＣＰ３０２０とＰＤプリンタ１０００間で共有する。ＰＴＰでは、ファイルの転送に「ObjectHandle」という８桁のコードを用いているが、これは通常、ＸＨＴＭＬで外部ファイルを参照する際に利用されるＵＲＬの記述とは大きく異なる。よって、通常、インターネットでやり取りされるＸＨＴＭＬファイルをそのままの形でＰＴＰ上において動作するダイレクトプリント機能で印刷しようとしても、外部ファイルをプリンタ側から取得することができない。よって、何らかの手段で、ＰＤプリンタ１０００側から外部ファイルを取得する仕組みを実現する必要があるが、その仕組みの有無を判別する手段がダイレクトプリント機能中に規定されていない場合には次のような問題が発生する。【０１２９】
まずＣＰ３０２０が、ＸＨＴＭＬ印刷及び外部ファイルをプリンタが取得するための仕組みに対応したＣＰで、接続相手の機器がＸＨＴＭＬ印刷対応のプリンタの場合を考える。この場合でも、そのＸＨＴＭＬ印刷対応のプリンタが外部ファイルをプリンタ側が取得する仕組みに対応したプリンタなのか、それともその様な仕組みに対応しておらず、外部ファイルの取得が出来ないプリンタなのかがＣＰ３０２０にとって不明である。よって、ＣＰ３０２０でユーザに明示されている内容と、接続相手のプリンタの印刷結果が異なってしまう可能性がある。逆に、プリンタがＸＨＴＭＬ印刷及び外部ファイルを取得する仕組みに対応したプリンタであり、接続相手の機器がＸＨＴＭＬ印刷ジョブを発行する機器である場合を考える。この場合、プリンタには、相手機器が外部ファイルをプリンタが取得するための仕組みに対応した機器なのか、それともその様な仕組みに対応していなくて外部ファイルの取得ができないＸＨＴＭＬ印刷ジョブを発行する機器であるかが不明である。よって、接続相手の機器上でユーザに明示されている内容と、プリンタにおける印刷結果とが異なってしまう可能性がある。【０１３０】
以上のように、ダイレクトプリント機能自体に設定されている機能であっても、それを安全かつ確実に運用できない場合がある。本実施の形態５では、この機能を安全かつ確実に運用するという目的に対して、協働機能がどの様に有効に用いられるかを説明する。【０１３１】
図１９は、本発明の実施の形態５に係るＣＰ３０２０とＰＤプリンタ１０００との間での協働機能の実現例を説明するフローチャートである。尚、この実施の形態５に係るＰＤプリンタ１０００、ＣＤ３０２０の構成は前述の実施の形態１の場合と同様であるため、その説明を省略する。このフローチャートにおいて、図１７と共通する部分は同じ記号で示している。ここでは、ＣＰ３０２０及びＰＤプリンタ１０００は共にダイレクトプリント＆協働機能対応とする。またＣＰ３０２０及びＰＤプリンタ１０００は既に図８Ａ，８Ｂに記載のダイレクトプリント＆協働機能確認を完了し、互いの機器がダイレクトプリント＆協働機能対応である事を確認済みとする。またダイレクトプリント及び協働機能対応で、かつＸＨＴＭＬフォーマットが印刷可能なＰＤプリンタ１０００は、このプリンタが外部ファイルを取得するための仕組みに対応したプリンタであるように、協働機能として設定されている。またダイレクトプリント及び協働機能対応でかつＸＨＴＭＬ印刷ジョブを発行するＣＰ３０２０は、ＰＤプリンタ１０００が外部ファイルを取得するための仕組みに対応したＣＰ３０２０である様に協働機能として設定してあるものとする。【０１３２】
ＰＤプリンタ１０００は、ステップＳ６１で、機能情報の要求を受信するとステップＳ９１で、ダイレクトプリント機能と協働機能モードでの動作中かどうかを判定する。そうでない時はステップＳ９２で、拡張子「ＪＰＧ」の画像だけをサポートしているCapabilityを作成してステップＳ６２で、そのCapabilityをＣＰ３０２０に送信する。【０１３３】
またステップＳ９１で、ダイレクトプリント機能と協働機能モードでの動作中の場合はステップＳ９３に進み、拡張子「ＪＰＧ」の画像及びＸＨＴＭＬをサポートしているCapabilityを作成し、ステップＳ６２で、そのCapabilityをＣＰ３０２０に送信する。このCapabilityはステップＳ７２で、ＣＰ３０２０により受信される。ここでＸＨＴＭＬを設定する理由は上述の様に、協働機能対応の接続相手のＣＰ３０２０は、ＰＤプリンタ１０００が外部ファイルを取得するための仕組みに対応していると判断できるので、接続相手のＣＰ３０２０上でユーザに明示されている内容を確実にＰＤプリンタ１０００で印刷できると判断するからである。この時、ＰＤプリンタ１０００がＸＨＴＭＬ印刷可能を示している場合には、ＣＰ３０２０のＵＩで「ＸＨＴＭＬ印刷」を選択可能とする。またＸＨＴＭＬ印刷不可能を示している場合には、ＣＰ３０２０のＵＩで「ＸＨＴＭＬ印刷」を選択不可能とする。この場合のＵＩの運用は、図１８のステップＳ８１〜Ｓ８４のフローと同様なので省略する。【０１３４】
こうしてＣＰ３０２０のユーザによる印刷指示が行われるとステップＳ１０１に進み、印刷対象のデータがＸＨＴＭＬ文書を含むかどうかを判定する。含まないときはステップＳ１０２に進み、前述のステップＳ７３（図１７）と同様にして、印刷ジョブを生成してＰＤプリンタ１０００に発行する。【０１３５】
またステップＳ１０１で、ＸＨＴＭＬ文書を含む場合はステップＳ１０４に進み、印刷ジョブが発行できるＸＨＴＭＬファイルかどうかをみる。ここでは、ＰＤプリンタ１０００が外部ファイルを取得するための仕組みを適用することでプリンタが印刷可能なＸＨＴＭＬファイルであるか否かを判定し、その判定結果がＹＥＳの場合にはステップＳ１０７に進み、判定結果がＮＯの場合にはステップＳ１０８へ進み、印刷ジョブの発行を行わずに印刷の取消処理を実行する。一方、ステップＳ１０４で、印刷ジョブが発行できるＸＨＴＭＬファイルの場合はステップＳ１０７に進み、ＸＨＴＭＬファイルで指定されている画像と、ＰＴＰのオブジェクトハンドルとの関連付けを行う。【０１３６】
次に、具体的にどの様な関連付け処理を行うかの例を図２０Ａ，２０Ｂ及び図２１Ａ，２１Ｂを参照して説明する。【０１３７】
図２０Ａ，２０Ｂは、本発明の実施の形態５に係るＸＨＴＭＬファイル中の指定画像とＰＴＰのオブジェクトハンドルとの関連付け処理の例を説明する図である。【０１３８】
図２０Ａに示すＸＨＴＭＬファイルは、ＣＰ３０２０が印刷しようとしている元ファイルであり、そのファイル中には「＜img＞」で記述された外部ファイルの参照が含まれている。この参照される外部ファイルの存在位置情報は、「src=」以降で記述された「xyz/a.jpg」、「xyz/b.jpg」及び「xyz/c.jpg」である。【０１３９】
ＰＴＰ上では、全てのオブジェクトにはオブジェクトハンドルが割り当てられ、そのオブジェクトハンドルによって転送や消去等の管理がされている。よって、ＰＤプリンタ１０００がそれらの「サーバ名／ファイルパス」の形式で指定された参照ファイルの存在位置情報のみを受信しても、それらのファイルにどのオブジェクトハンドルが割り当てられているのかが分からない。よって、ＣＰ３０２０に対してファイルの転送要求が出せず、外部参照ファイルを取得できなくなる。よって、ＣＰ３０２０は、図２０ＡのＸＨＴＭＬファイルを修正し、ＰＴＰのオブジェクトハンドルとの関連付け処理済みの修正済みＸＨＴＭＬファイル（図２０Ｂ）を作成する。この修正済みＸＨＴＭＬファイルでは、元のＸＨＴＭＬファイルにおいて「＜img＞」で記述された外部参照ファイルの存在位置は、「src=」以降の８桁の１６進数（000000A, 0000000B, 0000000C）で表されている。これら（000000A, 0000000B, 0000000C）のそれぞれは、各外部参照ファイルをＰＤプリンタ１０００が取得するために必要なＰＴＰのオブジェクトハンドルを示す。このようにＸＨＴＭＬファイル自体を修正することにより、上記ステップＳ１０７（図１９）のＸＨＴＭＬファイルによる画像の指定と、ＰＴＰのオブジェクトハンドルの関連付け処理が行える。【０１４０】
図２１Ａ，２１Ｂは、本実施の形態５に係るＸＨＴＭＬファイル中の指定画像とＰＴＰのオブジェクトハンドルとの関連付け処理の他の例を説明する図である。【０１４１】
図２１ＡのＸＨＴＭＬファイルは、図２０ＡのＸＨＴＭＬファイルと同じであるので説明を省略する。図２１Ｂのテキスト（ＴＸＴ）ファイルは、ＸＨＴＭＬファイル（図２１Ａ）の「＜img＞」で記述された外部参照ファイルの存在位置情報と、それらファイルに割り当てられたＰＴＰのオブジェクトハンドルの対応が記述されたファイルである。このファイルは、前述のステップＳ１０７においてＣＰ３０２０によって作成される。このＴＸＴファイルと元のＸＨＴＭＬファイルの両方を印刷ジョブとしてＣＰ３０２０からＰＤプリンタ１０００に送信する。これによりＰＤプリンタ１０００は、ＸＨＴＭＬファイル（図２１Ａ）のそれぞれの外部参照ファイルを、どのＰＴＰオブジェクトハンドルを用いてファイル転送要求を行えばよいのか分かる。この様にＸＨＴＭＬファイル自体を修正しなくても、ＸＨＴＭＬファイルにおける画像の指定と、ＰＴＰのオブジェクトハンドルとを関連付けられる。【０１４２】
以上２つの例で説明したが、関連付け処理が行われ、ＰＤプリンタ１０００によって印刷可能となったＸＨＴＭＬファイル（及び関連付けＴＸＴファイル）は、ステップＳ１０２でＣＰ３０２０から印刷ジョブとして発行される。ＰＤプリンタ１０００は、ステップＳ９４で、この印刷ジョブを受信し、ステップＳ９５で印刷ジョブを実行する。ステップＳ９６の処理中には、不図示の外部参照ファイルのファイル転送要求がＰＤプリンタ１０００からＣＰ３０２０に送られる。こうして印刷ジョブが終了したら、ステップＳ９６でＰＤプリンタ１０００は印刷ジョブの終了をＣＰ３０２０に通知して処理を終了する。またステップＳ１０３で、印刷ジョブ終了を受信したＣＰ３０２０も処理を終了する。【０１４３】
尚、ステップＳ１０１からステップＳ１０４に進んだ場合には、ＸＨＴＭＬファイルの印刷では無く、通常の印刷処理であるため、以降の処理の説明を省略する。【０１４４】
またステップＳ１０４からステップＳ１０８に進んだ場合は、印刷可能なＸＨＴＭＬファイルではないため、ステップＳ１０８で印刷取り消し処理を行い、処理を終了する。【０１４５】
ここで印刷可能なＸＨＴＭＬファイルでは無い場合というのは、以下の様な状況を指す。【０１４６】
・ＸＨＴＭＬファイルを記述する文字コードとして、協働機能として非対応と設定している文字コードが用いられていた場合
・ＸＨＴＭＬファイルの記述形式が、プリンタ側の実装負荷を低減する為に協働機能として非対応と設定しているファイル形式（例えば、MINE-Multiplexed形式の様に文字と画像が１つのファイルに合成されている形式を非対応と設定した場合等）で有った場合
この様に、協働機能としては、ダイレクトプリント機能本来の機能の一部機能を利用する様に設定し、協働機能外の機能に対してＣＰ３０２０側が印刷ジョブを発行しないようにする。またＰＤプリンタ１０００側では、協働機能非対応の接続相手に対しては自らの機能を制限して機能情報を通知することにより、安全かつ確実にダイレクトプリント機能の運用が行える。【０１４７】
また通信層（本実施の形態ではＰＴＰ）等の制限により、そのまま印刷ができないファイルの印刷に関しても、協働機能としてその通信層と印刷ファイルとの関連付け処理を設定することにより、安全かつ確実にダイレクトプリント機能の運用が行える。【０１４８】
尚、上記実施の形態では、ＸＨＴＭＬファイル印刷を例に説明したが、本発明はそれに限定されるものでなく、他のページ記述言語、例えばＨＴＭＬの場合でも同様の効果が得られる。また外部参照ファイルの存在位置情報と、ＰＴＰのオブジェクトハンドルの関連付けファイルをテキスト（ＴＸＴ）ファイルで行ったが、本発明はこれに限定されず、いずれのファイル形式でも良い。【０１４９】
以上説明した実施の形態において、協働処理機能とは以下のような特性を有している。
・カメラダイレクト機能を包括する上位機能である。
・カメラダイレクト機能の基で実行される、カメラダイレクト機能とは異なる機能である。
・カメラダイレクト機能とは異なるプロトコルであるが、カメラダイレクトプリント機能を有する機器向けの機能である。【０１５０】
これら両機能（両プロトコル）に対応可能な製品も考えられるが、既存のカメラダイレクト機能（第１のプロトコル）の中では協働処理機能（第２のプロトコル）への移行する為のコマンドが用意されていない。従って、機器が両プロトコルに対応している場合であっても、これら二つのプロトコルは、一旦一方のプロトコルでの通信が確立すると、他方のプロトコルに自由に変更することが出来ない。ただし、使用者は、通信開始前に自身の設定により一方のプロトコルを設定可能にしておくのが良い。【０１５１】
自由に両プロトコル間を行き来するためには、既存のカメラダイレクトプリント機能（第１のプロトコル）自体をバージョンアップするなど、大掛かりな手間が生じる。【０１５２】
なお、上記のカメラダイレクト機能（カメラダイレクトプリント機能）は、画像送信元がカメラを基本的に意識しているが、これに限るものではなく、撮像機能を有していない情報通信機器（PCやPDAなど）でもよい。また、画像送信元もプリンタにがぎるものではなく、画像を受信して記憶しておくストレージ機器でもよい。【０１５３】
［他の実施の形態］
本発明の目的は前述したように、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。【０１５４】
またコンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。【０１５５】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。【０１５６】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【優先権の主張】
【０１５７】
本願は、２００４年８月２５日提出の日本国特許出願特願２００４−２４５６８９を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。
【図１】
0004726239.tif 000002
【図２】
0004726239.tif 000003
【図３】
0004726239.tif 000004
【図４】
0004726239.tif 000005
【図５】
0004726239.tif 000006
【図６】
0004726239.tif 000007
【図７】
0004726239.tif 000008
【図８Ａ】
0004726239.tif 000009
【図８Ｂ】
0004726239.tif 000010
【図９】
0004726239.tif 000011
【図１０】
0004726239.tif 000012
【図１１】
0004726239.tif 000013
【図１２Ａ】
0004726239.tif 000014
【図１２Ｂ】
0004726239.tif 000015
【図１３Ａ】
0004726239.tif 000016
【図１３Ｂ】
0004726239.tif 000017
【図１４】
0004726239.tif 000018
【図１５】
0004726239.tif 000019
【図１６】
0004726239.tif 000020
【図１７】
0004726239.tif 000021
【図１８】
0004726239.tif 000022
【図１９】
0004726239.tif 000023
【図２０Ａ】
0004726239.tif 000024
【図２０Ｂ】
0004726239.tif 000025
【図２１Ａ】
0004726239.tif 000026
【図２１Ｂ】
0004726239.tif 000027
【図２２】
0004726239.tif 000028
【図２３】
0004726239.tif 000029
【図２４】
0004726239.tif 000030