(57)【要約】【課題】  従来のダイレクト印刷では、プリンタの印刷特性に応じた画像印刷を指定することが重点で、ＤＳＣのユーザの希望に則した画像処理や印刷処理を行った画像を印刷できるとは限らない。【解決手段】  印刷装置に対する供給対象の画像の内、所定の画像処理を必要とする画像とそれ以外の画像のそれぞれに対してそれぞれ実及び仮想オブジェクトハンドルを設定し（Ｓ１０５）、印刷指示に応じて、印刷対象の画像のオブジェクトハンドルを含む印刷ジョブを発行し（Ｓ１０７）、その印刷ジョブの発行に応答して印刷装置から要求される画像のハンドルが仮想オブジェクトハンドルである場合、そのハンドルに対応する画像データに対して所定の画像処理を実行して印刷装置に供給する。【選択図】  図１０
2006119892.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置に画像データを供給する画像供給装置であって、
前記印刷装置に対する供給対象の画像の内、所定の画像処理を必要とする画像とそれ以外の画像のそれぞれに対してそれぞれ第１と第２の参照番号を設定する設定手段と、
前記印刷装置を使用する印刷指示に応じて、印刷対象の画像の参照番号を含む印刷ジョブを発行するジョブ発行手段と、
前記ジョブ発行手段による印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第１の参照番号である場合、前記第１の参照番号に対応する画像データに対して前記所定の画像処理を実行して前記印刷装置に供給する第１画像供給手段と、
前記ジョブ発行手段による印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第２の参照番号である場合、前記第２の参照番号に対応する画像データを読み出して前記印刷装置に供給する第２画像供給手段と、
を有することを特徴とする画像供給装置。
【請求項２】
前記第２の参照番号の設定を前記印刷装置へ通達する設定通達手段と、
前記印刷ジョブの完了に応じて、前記第２の参照番号を無効とするように前記印刷装置に通達する無効通達手段とを更に有することを特徴とする請求項１に記載の画像供給装置。
【請求項３】
前記第２の参照番号の設定を前記印刷装置へ通達する設定通達手段と、
印刷ページの更新に応じて、前記第２の参照番号を無効とするように前記印刷装置に通達する無効通達手段とを更に有することを特徴とする請求項１に記載の画像供給装置。
【請求項４】
前記第２の参照番号の設定を前記印刷装置へ通達する設定通達手段と、
印刷ページの更新に応じて、前記第２の参照番号を破棄するように前記印刷装置に通達する破棄通達手段とを更に有することを特徴とする請求項１に記載の画像供給装置。
【請求項５】
前記印刷装置に対する供給対象の画像は、ユーザにより指定された印刷対象の画像であることを特徴とする請求項１乃至４のいずれか１項に記載の画像供給装置。
【請求項６】
前記第２の参照番号は、実際に記憶されている画像データを参照し、前記第１の参照番号は、前記第２の参照番号に対応する実際に存在しない画像データを参照することを特徴とする請求項１乃至５のいずれか１項に記載の画像供給装置。
【請求項７】
画像データを印刷装置に供給する画像供給装置であって、
第１画像データに対して第１の参照番号を設定し、前記第１画像データに対して所定の画像処理を施した第２画像データ用の第２の参照番号を設定する第１設定手段と、
前記第１の参照番号を含む印刷ジョブを前記印刷装置へ送信して印刷を指示する印刷制御手段と、
前記印刷ジョブに応答して前記印刷装置からの画像要求を受信する受信手段と、
前記画像要求が前記第２の参照番号を含む場合、当該第２の参照番号に対応する前記第１の参照番号に対応する前記第１画像データに対して前記所定の画像処理を施して前記第２画像データを作成する画像処理手段と、
前記画像処理手段により作成された前記第２画像データを前記印刷装置へ送出する送出手段と、
を有することを特徴とする画像供給装置。
【請求項８】
前記印刷装置から前記第１の参照番号に対応する画像情報が要求されると、対応する前記第１画像データの画像の幅及び高さを含む画像情報を前記印刷装置へ送出する画像情報送出手段を更に有することを特徴とする請求項７に記載の画像供給装置。
【請求項９】
前記所定の画像処理は、画像の回転、変倍、色変換処理の少なくともいずれかを含むことを特徴とする請求項１乃至８のいずれか１項に記載の画像供給装置。
【請求項１０】
印刷装置に画像データを供給する画像供給装置の制御方法であって、
前記印刷装置に対する供給対象の画像の内、所定の画像処理を必要とする画像とそれ以外の画像のそれぞれに対してそれぞれ第１と第２の参照番号を設定する設定工程と、
前記印刷装置を使用する印刷指示に応じて、印刷対象の画像の参照番号を含む印刷ジョブを発行するジョブ発行工程と、
前記ジョブ発行工程での印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第１の参照番号である場合、前記第１の参照番号に対応する画像データに対して前記所定の画像処理を実行して前記印刷装置に供給する第１画像供給工程と、
前記ジョブ発行工程での印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第２の参照番号である場合、前記第２の参照番号に対応する画像データを読み出して前記印刷装置に供給する第２画像供給工程と、
を有することを特徴とする画像供給装置の制御方法。
【請求項１１】
前記第２の参照番号の設定を前記印刷装置へ通達する設定通達工程と、
前記印刷ジョブの完了に応じて、前記第２の参照番号を無効とするように前記印刷装置に通達する無効通達工程とを更に有することを特徴とする請求項８に記載の画像供給装置の制御方法。
【請求項１２】
前記印刷装置に対する供給対象の画像は、ユーザにより指定された印刷対象の画像であることを特徴とする請求項１０又は１１に記載の画像供給装置の制御方法。
【請求項１３】
前記第２の参照番号は、実際に記憶されている画像データを参照し、前記第１の参照番号は、前記第２の参照番号に対応する実際に存在しない画像データを参照することを特徴とする請求項１０乃至１２のいずれか１項に記載の画像供給装置の制御方法。
【請求項１４】
画像データを印刷装置に供給する画像供給装置の制御方法であって、
第１画像データに対して第１の参照番号を設定し、前記第１画像データに対して所定の画像処理を施した第２画像データ用の第２の参照番号を設定する第１設定工程と、
前記第１の参照番号を含む印刷ジョブを前記印刷装置へ送信して印刷を指示する印刷制御工程と、
前記印刷ジョブに応答して前記印刷装置からの画像要求を受信する受信工程と、
前記画像要求が前記第２の参照番号を含む場合、当該第２の参照番号に対応する前記第１の参照番号に対応する前記第１画像データに対して前記所定の画像処理を施して前記第２画像データを作成する画像処理工程と、
前記画像処理工程で作成された前記第２画像データを前記印刷装置へ送出する送出工程と、
を有することを特徴とする画像供給装置の制御方法。
【請求項１５】
前記印刷装置から前記第１の参照番号に対応する画像情報が要求されると、対応する前記第１画像データの画像の幅及び高さを含む画像情報を前記印刷装置へ送出する画像情報送出工程を更に有することを特徴とする請求項１４に記載の画像供給装置の制御方法。
【請求項１６】
前記所定の画像処理は、画像の回転、変倍、色変換処理の少なくともいずれかを含むことを特徴とする請求項１０乃至１５のいずれか１項に記載の画像供給装置の制御方法。
【請求項１７】
画像供給装置から印刷装置に画像データを供給して印刷する印刷システムであって、
前記画像供給装置は、
前記印刷装置に対する供給対象の画像の内、所定の画像処理を必要とする画像とそれ以外の画像のそれぞれに対してそれぞれ第１と第２の参照番号を設定する設定手段と、
前記印刷装置を使用する印刷指示に応じて、印刷対象の画像の参照番号を含む印刷ジョブを発行するジョブ発行手段と、
前記ジョブ発行手段による印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第１の参照番号である場合、前記第１の参照番号に対応する画像データに対して前記所定の画像処理を実行して前記印刷装置に供給する第１画像供給手段と、
前記ジョブ発行手段による印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第２の参照番号である場合、前記第２の参照番号に対応する画像データを読み出して前記印刷装置に供給する第２画像供給手段とを有し、
前記印刷装置は、
前記印刷ジョブに含まれる画像の参照番号を用いて前記画像供給装置に画像データを要求する画像要求手段を有し、前記画像要求手段による要求に応答して前記画像供給装置から送信される画像データを受信して印刷を行うことを特徴とする印刷システム。
【請求項１８】
画像供給装置から印刷装置に画像データを供給して印刷する印刷システムであって、
前記画像供給装置は、
第１画像データに対して第１の参照番号を設定し、前記第１画像データに対して所定の画像処理を施した第２画像データ用の第２の参照番号を設定する第１設定手段と、
前記第１の参照番号を含む印刷ジョブを前記印刷装置へ送信して印刷を指示する印刷制御手段と、
前記印刷ジョブに応答して前記印刷装置からの画像要求を受信する受信手段と、
前記画像要求が前記第２の参照番号を含む場合、当該第２の参照番号に対応する前記第１の参照番号に対応する前記第１画像データに対して前記所定の画像処理を施して前記第２画像データを作成する画像処理手段と、
前記画像処理手段により作成された前記第２画像データを前記印刷装置へ送出する送出手段とを有し、
前記印刷装置は、
前記印刷ジョブに含まれる画像に対して前記所定の画像処理が必要かどうかを判定する判定手段と、
前記判定手段による判定結果に応じて、前記第１或は第２の参照番号を使用して前記画像供給装置に画像を要求する画像要求手段と、
を有することを特徴とする印刷システム。
【請求項１９】
前記画像供給装置は、前記印刷装置から前記第１の参照番号に対応する画像情報が要求されると、対応する前記第１画像データの画像の幅及び高さを含む画像情報を前記印刷装置へ送出する画像情報送出手段を更に有し、
前記印刷装置の前記判定手段は、前記画像の幅及び高さを含む画像情報に基づいて前記所定の画像処理が必要かどうかを判定することを特徴とする請求項１８に記載の印刷システム。
【請求項２０】
前記所定の画像処理は、画像の回転、変倍、色変換処理の少なくともいずれかを含むことを特徴とする請求項１７乃至１９のいずれか１項に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像供給装置と印刷装置とを有し、前記画像供給装置から供給される画像データに基づいて前記印刷装置により画像を印刷する印刷システム、及びその画像供給装置及び該装置の制御方法に関するものである。
【背景技術】
【０００２】
プリンタとデジタルスチルカメラ（以下ＤＳＣ）をＵＳＢ等のインタフェースを介して直接接続し、ＤＳＣの記憶媒体（メモリカード）に記憶されている写真画像をプリンタに送信して印刷する、所謂、デジタルカメラダイレクトプリントシステムが一般的となってきている。
【０００３】
このようなプリントシステムでは、一般的にはＤＳＣから、印刷対象となる画像のＪＰＥＧファイルをプリンタに送信し、プリンタ側で、そのＪＰＥＧファイルの解凍、色変換、リサイズ等を行ってプリント可能なデータ形式へ変換して印刷を行っている。
【０００４】
またＤＳＣにおける画像の高画質化の進歩も著しいものがあり、ＤＳＣで撮像されて記憶される画像データは、数年前までは最大１００〜２００万画素／画像だったのもが、近年では、一画像当り８００万画素以上の高解像度の画像を撮影して記憶できるＤＳＣが販売されている。このようなＤＳＣの撮影画素数の増大に伴い、ＤＳＣで、撮影画像をプリント専用に処理した後プリンタに送信して印刷するシステムが提案されている（特許文献１〜３）。
【０００５】
特許文献１では、一般性の低い固有のプリントプロトコルを用いて、ＤＳＣからの画像と、プリンタ側の用紙サイズ等の印刷態様に応じた画像の印刷を可能とするデジタルカメラダイレクトプリントシステムが提案されている。
【０００６】
特許文献２では、プリンタでの処理負荷の低減を目的とし、ＤＳＣでＪＰＥＧファイルの解凍、色変換、リサイズ等を行ってプリント可能なデータ形式へ変換処理を行い、プリント可能なデータとしてプリンタに送信し、プリンタでの画像処理負荷の低減を図っている。
【０００７】
更に特許文献３では、プリンタ毎の色再現特性のばらつきをＤＳＣ側で補正し、ＪＰＥＧなどの一般的な画像ファイルに変換してプリンタに送信している。これによりプリンタ毎の印刷特性に依存しない安定した画像を得ることが記載されている。
【特許文献１】特開平８−３２９１１号公報
【特許文献２】特開平１０−２９０４７０号公報
【特許文献３】特開２００３−１３４４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述の背景技術のように、処理の負荷分散を目的として印刷用の画像データの画像処理の一部をＤＳＣで処理する場合に、以下のような問題があることが新たに解った。また、上記特許文献には、プリンタにおける印刷態様や印刷特性に関する情報をプリンタから取得する旨の記載があるが、そのプリンタの印刷特性に関する情報をプリンタとＤＳＣ間での通信により取得する方法について具体的な記載が無い。例えば、プリンタによる印刷時の用紙サイズ、レイアウトは、そのプリンタのCapabilityが許容している範囲内であればＤＳＣ側でユーザが任意に設定及び選択できるプリントシステムが知られている。このようなプリントシステムでは、プリンタの印刷条件を設定する印刷設定は、プリンタからのCapabilityのみでは適切に設定されるとは限らない。特に特許文献１では、プリンタがその時点で印刷可能な印刷態様をＤＳＣに通知し、ＤＳＣではそれに従って印刷仕様を変更している。例えば、Ａ４サイズの用紙がプリンタにセットされていて、そのプリンタが用紙サイズの検知機能を有している場合は、そのプリンタからＤＳＣに対して、印刷可能な用紙サイズとして「Ａ４」が通知される。また、そのプリンタが用紙サイズの検知機能を有していない場合は、ユーザがプリンタの設定パネルを使用してそのプリンタに装着されている用紙サイズを選択し、その結果をＤＳＣに通知している。いずれの場合も、プリンタが認知している、その時点での印刷仕様を、プリンタからＤＳＣに通知するものでありＤＳＣにおいてユーザが希望する設定を反映したものではない。
【０００９】
また特許文献２及び３には、プリンタの有する印刷特性をそのプリンタから取得する旨の記載があるが、その取得した印刷特性だけに基づいて、プリンタに送信する画像データを変換しているため、写真画像を印刷したいＤＳＣユーザの希望に則した画像処理や印刷処理を行う点については記載されていない。
【００１０】
本発明は上記問題点に鑑みてなされたもので、本願発明の特徴は、実画像の参照番号と実画像に所定の画像処理を施した画像の参照番号とを設定し、印刷装置からその参照番号を用いて画像を指定することにより、画像供給装置側で所定の画像処理を行った画像データを印刷装置に供給できるようにした画像供給装置及びその制御方法及び、印刷システムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一態様に係る画像供給装置は以下のような構成を備える。即ち、
印刷装置に画像データを供給する画像供給装置であって、
前記印刷装置に対する供給対象の画像の内、所定の画像処理を必要とする画像とそれ以外の画像のそれぞれに対してそれぞれ第１と第２の参照番号を設定する設定手段と、
前記印刷装置を使用する印刷指示に応じて、印刷対象の画像の参照番号を含む印刷ジョブを発行するジョブ発行手段と、
前記ジョブ発行手段による印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第１の参照番号である場合、前記第１の参照番号に対応する画像データに対して前記所定の画像処理を実行して前記印刷装置に供給する第１画像供給手段と、
前記ジョブ発行手段による印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第２の参照番号である場合、前記第２の参照番号に対応する画像データを読み出して前記印刷装置に供給する第２画像供給手段とを有することを特徴とする。
【００１２】
本発明の一態様に係る印刷システムは以下のような構成を備える。即ち、
画像供給装置から印刷装置に画像データを供給して印刷する印刷システムであって、
前記画像供給装置は、
前記印刷装置に対する供給対象の画像の内、所定の画像処理を必要とする画像とそれ以外の画像のそれぞれに対してそれぞれ第１と第２の参照番号を設定する設定手段と、
前記印刷装置を使用する印刷指示に応じて、印刷対象の画像の参照番号を含む印刷ジョブを発行するジョブ発行手段と、
前記ジョブ発行手段による印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第１の参照番号である場合、前記第１の参照番号に対応する画像データに対して前記所定の画像処理を実行して前記印刷装置に供給する第１画像供給手段と、
前記ジョブ発行手段による印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第２の参照番号である場合、前記第２の参照番号に対応する画像データを読み出して前記印刷装置に供給する第２画像供給手段とを有し、
前記印刷装置は、
前記印刷ジョブに含まれる画像の参照番号を用いて前記画像供給装置に画像データを要求する画像要求手段を有し、前記画像要求手段による要求に応答して前記画像供給装置から送信される画像データを受信して印刷を行うことを特徴とする。
【００１３】
本発明の一態様に係る画像供給装置の制御方法は以下のような工程を備える。即ち、
印刷装置に画像データを供給する画像供給装置の制御方法であって、
前記印刷装置に対する供給対象の画像の内、所定の画像処理を必要とする画像とそれ以外の画像のそれぞれに対してそれぞれ第１と第２の参照番号を設定する設定工程と、
前記印刷装置を使用する印刷指示に応じて、印刷対象の画像の参照番号を含む印刷ジョブを発行するジョブ発行工程と、
前記ジョブ発行工程での印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第１の参照番号である場合、前記第１の参照番号に対応する画像データに対して前記所定の画像処理を実行して前記印刷装置に供給する第１画像供給工程と、
前記ジョブ発行工程での印刷ジョブの発行に応答して前記印刷装置から要求される画像の前記参照番号が前記第２の参照番号である場合、前記第２の参照番号に対応する画像データを読み出して前記印刷装置に供給する第２画像供給工程とを有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、実画像の参照番号と実画像に所定の画像処理を施した画像の参照番号とを設定し、印刷装置からその参照番号を用いて画像を指定することにより、画像供給装置側で所定の画像処理を行った画像データを印刷装置に供給できる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、本実施の形態では、デジタルカメラ（ＤＳＣ）とプリンタとの間でダイレクトプリントを実現する場合で説明するが、本発明はこれに限定されるものではない。
【００１６】
図１は、本発明の実施の形態に係るフォトダイレクトプリンタ装置（以下、ＰＤプリンタ）１０００の概観斜視図である。このＰＤプリンタ１０００は、ホストコンピュータ（ＰＣ）からデータを受信して印刷する通常のＰＣプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラやＰＤＡなどからの画像データを受信して印刷する機能を備えている。
【００１７】
図１において、本実施の形態に係るＰＤプリンタ１０００の外殻をなす本体は、下ケース１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。また、下ケース１００１は、ＰＤプリンタ１０００の略下半部を、上ケース１００２は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部がされている。さらに、排出トレイ１００４は、その一端部が下ケース１００１に回転自在に保持され、その回転によって下ケース１００１の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ１００４を前面側へと回転させて開口部を開成させることにより、ここから記録されたシート（普通紙、専用紙、樹脂シート等を含む。以下単にシートとする）が排出可能となると共に、排出されたシートを順次積載し得るようになっている。また排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて各トレイを手前に引き出すことにより、シートの支持面積を３段階に拡大、縮小させ得るようになっている。
【００１８】
アクセスカバー１００３は、その一端部が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー１００３を開くことによって本体内部に収納されている記録ヘッドカートリッジ（不図示）或いはインクタンク（不図示）等の交換が可能となる。尚、ここでは特に図示しないが、アクセスカバー１００３を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバー１００３の開閉状態を検出し得るようになっている。
【００１９】
また、上ケース１００２の上面には、電源キー１００５が設けられている。また、上ケース１００２の右側には、液晶表示部１００６や各種キースイッチ等を備える操作パネル１０１０が設けられている。この操作パネル１０１０の構造は、図２を参照して詳しく後述する。１００７は自動給送部で、シートを装置本体内へと自動的に給送する。１００８は紙間選択レバーで、プリントヘッドとシートとの間隔を調整するためのレバーである。１００９はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード（ＰＣ）としては、例えばコンパクトフラッシュ（登録商標）メモリ、スマートメディア、メモリスティック等がある。１０１１はビューワ（液晶表示部）で、このＰＤプリンタ１０００の本体に着脱可能であり、ＰＣカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、１コマ毎の画像やインデックス画像などを表示するのに使用される。１０１２は後述するデジタルカメラを接続するためのＵＳＢ端子である。また、このＰＤ装置１０００の後面には、パーソナルコンピュータ（ＰＣ）を接続するためのＵＳＢコネクタが設けられている。
【００２０】
図２は本実施の形態に係るＰＤプリンタ１０００の操作パネル１０１０の概観図である。
【００２１】
図において、液晶表示部１００６には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここに表示される項目としては、例えば、複数ある写真画像ファイルの内、印刷したい写真画像の先頭番号、指定コマ番号（開始コマ指定／印刷コマ指定）、印刷を終了したい最後の写真番号（終了）、印刷部数（部数）、印刷に使用するシートの種類（用紙種類）、１枚のシートに印刷する写真の枚数設定（レイアウト）、印刷の品位の指定（品位）、撮影した日付を印刷するかどうかの指定（日付印刷）、写真を補正して印刷するかどうかの指定（画像補正）、印刷に必要なシートの枚数表示（用紙枚数）等がある。これら各項目は、カーソルキー２００１を用いて選択、或いは指定される。２００２はモードキーで、このキーを押下する毎に、印刷の種類（インデックス印刷、全コマ印刷、１コマ印刷、指定コマ印刷等）を切り替えることができ、これに応じてＬＥＤ２００３の対応するＬＥＤが点灯される。２００４はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。２００５は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。２００６は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【００２２】
次に図３を参照して、本実施の形態に係るＰＤプリンタ１０００の制御に係る主要部の構成を説明する。尚、この図３において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００２３】
図３は、本実施の形態に係るＰＤプリンタの制御に係る主要部の構成を示すブロック図である。
【００２４】
図３において、３０００は制御部（制御基板）を示している。３００１はＡＳＩＣ（専用カスタムＬＳＩ）を示している。３００２はＤＳＰ（デジタル信号処理プロセッサ）で、内部にＣＰＵを有し、後述する各種制御処理及び、輝度信号（ＲＧＢ）から濃度信号（ＣＭＹＫ）への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。３００３はメモリで、ＤＳＰ３００２のＣＰＵの制御プログラムを記憶するプログラムメモリ３００３ａ、及び実行時のプログラムを記憶するＲＡＭエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。３００４はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。３００５はデジタルカメラ（ＤＳＣ）３０１２を接続するためのポートとしてのＵＳＢコネクタである。３００６はビューワ１０１１を接続するためのコネクタである。３００８はＵＳＢハブ(USBHUB)で、このＰＤプリンタ１０００がＰＣ３０１０からの画像データに基づいて印刷を行う際には、ＰＣ３０１０からのデータをそのままスルーし、ＵＳＢ３０２１を介してプリンタエンジン３００４に出力する。これにより、接続されているＰＣ３０１０は、プリンタエンジン３００４と直接、データや信号のやり取りを行って印刷を実行することができる（一般的なＰＣプリンタとして機能する）。３００９は電源コネクタで、電源３０１９により、商用ＡＣから変換された直流電圧を入力している。ＰＣ３０１０は一般的なパーソナルコンピュータ、３０１１は前述したメモリカード（ＰＣカード）、３０１２はデジタルカメラ（ＤＳＣ：DigitalStillCamera)である。
【００２５】
尚、この制御部３０００とプリンタエンジン３００４との間の信号のやり取りは、前述したＵＳＢ３０２１又はＩＥＥＥ１２８４バス３０２２を介して行われる。
【００２６】
＜デジタルカメラの概要説明＞
図４は、本実施の形態に係るＤＳＣ（デジタルカメラ）３０１２の構成を示すブロック図である。
【００２７】
同図において、３１００はＤＳＣ３０１２全体の制御を司るＣＰＵであり、３１０１はＣＰＵ３１００による処理手順を記憶しているＲＯＭである。３１０２はＣＰＵ３１００のワークエリアとして使用されるＲＡＭであり、３１０３は各種操作を行うスイッチ群で、シャッター、モード切替スイッチ、選択スイッチやカーソルキー等が含まれている。２７００は液晶表示部であり、現時点で撮影している映像や、撮像されてメモリカードに記憶されている画像を表示したり、各種設定を行う際のメニューを表示するために使用される。３１０５は光学ユニットであり、主としてレンズ及びその駆動系で構成される。３１０６はＣＣＤ素子であり、３１０７はＣＰＵ３１００の制御下において光学ユニット３１０５を駆動制御するドライバである。３１０８は記憶媒体３１０９（コンパクトフラッシュ(登録商標)メモリカード、スマートメディア等）を接続するためのコネクタであり、３１１０はＰＣ或いは実施の形態におけるＰＤプリンタ１０００と接続するためのＵＳＢインターフェース（ＵＳＢのスレーブ側）である。
【００２８】
＜ダイレクトプリント概要説明＞
図５は、上述の本実施の形態の印刷システムにおいて、ＤＳＣ３０１２からＰＤプリンタ１０００に対してプリント要求を発行して印刷を行う場合の大まかな信号フローを説明する図である。
【００２９】
この処理手順は、ＰＤプリンタ１０００とＤＳＣ３０１２とがＵＳＢケーブルを介して接続された後、或は無線により通信を行うことにより互いにＤＰＳ仕様に準拠していることを確認した後に実行される。まずＤＳＣ３０１２は「ConfigurePrintService」をＰＤプリンタ１０００に送信して、ＰＤプリンタ１０００の状態をチェックする（６００）。これに対してＰＤプリンタ１０００から、その時点でのＰＤプリンタ１０００の状態（ここでは「アイドル」状態）が通知される（６０１）。ここでは「アイドル」状態であるため、ＤＳＣ３０１２はＰＤプリンタ１０００のCapabilityを問合せ（６０２）、そのCapabilityに応じたプリント開始要求（StartJob）を発行する（６０３）。尚、このプリント開始要求は、６０１で、後述するＰＤプリンタ１０００からのステータス情報の中の「newJobOK」が「True（真）」になっていることを条件に、ＤＳＣ３０１２からＰＤプリンタ１０００に発行される。
【００３０】
このプリント開始要求に対してＰＤプリンタ１０００は、印刷が指示された画像データのファイルＩＤに基づいてファイル情報をＤＳＣ３０１２に要求する（GetFileInfo）（６０４）。これに応答してＤＳＣ３０１２から、そのファイル情報（FileInfo）が送信される。このファイル情報にはファイル容量等の情報が含まれる。そしてＰＤプリンタ１０００がそのファイル情報を受信して処理可能であると判断すると、そのファイル情報をＤＳＣ３０１２に要求する（GetFile）（６０５）。これによりその要求されたファイルの画像データ（ImageFile）がＤＳＣ３０１２からＰＤプリンタ１０００に送られる。これによりＰＤプリンタ１０００がプリント処理を開始すると、６０６で「印刷中（Printing）」を示すステータス情報が、ＰＤプリンタ１０００からＤＳＣ３０１２に「NotifyDeviceStatus」によって送られる。そして１頁のプリント処理が終了すると、次のページの処理開始時にＰＤプリンタ１０００から「NotifyJobStatus」６０７により、それが通知される。そして１頁だけの印刷であれば、そのプリント要求した１頁の印刷が終了すると、次に「NotifyDviceStatus」６０８によりＰＤプリンタ１０００が「アイドル」状態になったことが通知される（NotifyDeviceStatus(Idle)）。
【００３１】
尚、例えば、１頁に複数（Ｎ）の画像をレイアウトして印刷するＮ−ｕｐ印刷の場合には、Ｎ枚の画像を印刷する度に、「NotifyJobStatus」６０７がＰＤプリンタ１０００からＤＳＣ３０１２に送られることになる。本実施の形態での「NotifyJobStatus」及び「NotifyDeviceStatus」の発行タイミングと画像データの取得の順番は一例であり、製品の実装によっては様々なケースが起こりうる。
【００３２】
図６は、本発明の実施の形態に係るデジタルカメラ（ＤＳＣ）３０１２とＰＤプリンタ１０００との間で通信を行って、ＤＳＣ３０１２からＰＤプリンタ１０００に画像データを供給して印刷を行う場合の処理を説明する図である。図において、ステップＳ１〜Ｓ１５はＤＳＣ３０１２における処理を示し、ステップＳ２１〜Ｓ３１はＰＤプリンタ１０００における処理を示している。
【００３３】
ステップＳ１及びステップＳ２１では、ＤＳＣ３０１２とＰＤプリンタ１０００との間で、互いにＤＰＳ仕様に準拠していることを確認する。この状態でＤＳＣ３０１２はＰＤプリンタ１０００に対して、プリンタの状態やデバイス情報を問合せる。これに対してＰＤプリンタ１０００から、その時点でのＰＤプリンタ１０００の状態やデバイス情報が通知される。このデバイス情報には、例えば接続プロトコルのバージョンや、プリンタのベンダー名や機種名等が通知される。こうしてステップＳ２で、ＤＳＣ３０１２は、プリンタの状態及びデバイス情報の中で必要とする「情報１」をＲＡＭ３１０２に記憶する。この「情報１」には、後に、ＤＳＣ３０１２で画像ファイルを変換する際に必要となる情報が含まれている。次にＤＳＣ３０１２は、図５の６０２で示すように、ＰＤプリンタ１０００に対して、そのCapabilityを要求する。
【００３４】
これによりＰＤプリンタ１０００は、ステップＳ２２で、ＰＤプリンタ１０００の印刷機能に関する能力情報（Capability）を作成してＤＳＣ３０１２に送信する。ＤＳＣ３０１２はこのCapabilityを受信する（ステップＳ３）。そしてステップＳ４で、このCapabilityを基にＵＩを構築して表示部２７００に表示する。ここでは、例えば、用紙サイズがＡ４判とＢ５判で、ＰＤプリンタ１０００が普通紙と写真用用紙を装着しており、１−ｕｐ、２−ｕｐ，４−ｕｐのレイアウト印刷が「縁なし」、或は「縁あり」で可能で、更に日付印刷が可能な場合は、これらの項目を任意に選択可能で、それ以外の項目は選択できないようなＵＩ画面が表示部２７００に表示される。
【００３５】
次にステップＳ５では、ＤＳＣ３０１２のユーザは、その構築されたＵＩ画面を参照して、印刷したい画像を選択し、それら画像の印刷形式を設定する。この画像の印刷形式の設定とは、印刷枚数や、用紙サイズ、レイアウト、日付印刷の有無等といった、ステップＳ３で受信したＰＤプリンタ１０００のCapabilityに基づいたものとなる。次にステップＳ６で、こうしてユーザにより設定された「情報２」をＲＡＭ３１０２に記憶する。この「情報２」は、ＵＩを使用してユーザにより設定された用紙サイズ、レイアウト等の情報が含まれる。
【００３６】
そして、このＵＩを使用してユーザにより印刷開始が指示されるとステップＳ７に進み、その印刷を指示するための印刷ジョブファイルを作成し、ステップＳ８で、その作成した印刷ジョブファイルをＰＤプリンタ１０００に送信する。この印刷ジョブファイルはステップＳ２３でＰＤプリンタ１０００により受信される。次にステップＳ２４で、ＰＤプリンタ１０００は、その受信した印刷ジョブファイルを解析してプリントの準備を行う。そして、その印刷ジョブファイルに記載されている印刷対象の「画像ファイル情報の取得要求」（画像ファイル名）をＤＳＣ３０１２に対して発行する。
【００３７】
尚、この「画像ファイル情報の取得要求」は、例えばＵＳＢ上のＰＴＰ（Pictutre Transfer Protocol）で動作するサービスでは、そのＰＴＰで規定されている「GetObjectInfo」に相当している。しかしながら、この実施の形態における「画像ファイル情報の取得要求」の役割は、画像ファイルの作成タイミングをＰＤプリンタ１０００からＤＳＣ３０１２に伝えることにある。本実施の形態では、この作成タイミングを伝える一つの手段として「画像ファイル情報の取得要求」を用いたが、このような手段はこれに限定されるものでなく、他の専用のコマンドや既存の通信コマンドを利用しても良い。この実施の形態では、「印刷用の画像ファイル作成」のタイミングをＰＤプリンタ１０００からＤＳＣ３０１２に対して通知することを特徴としている。
【００３８】
そしてステップＳ９で、この「画像ファイル情報の取得要求」がＤＳＣ３０１２により受信されるとステップＳ１０に進み、本実施の形態の特徴である、ＰＤプリンタ１０００に対して送信する印刷用の画像ファイルを作成する処理を実行する。このステップＳ１０の処理は詳しく後述する。次にステップＳ１１で、その作成した印刷用の画像ファイルの情報（ObjectInfo Dataset：画像ファイル名、データサイズ、ディレクトリ、日付などの属性情報を含む）を、ステップＳ１１でＰＤプリンタ１０００に送信する。
【００３９】
次にステップＳ２５で、ＰＤプリンタ１０００は、その印刷用の画像ファイルの情報を受信すると、その指定された印刷用の画像ファイルそのものの取得要求をＤＳＣ３０１２に送信する（ステップＳ２６）。ＤＳＣ３０１２は、この画像ファイルの取得要求を受信すると（ステップＳ１２）、ステップＳ１３で、その要求された印刷用の画像ファイルをＰＤプリンタ１０００に送信する。
【００４０】
ＰＤプリンタ１０００は、ステップＳ２７で、その印刷用の画像ファイルを受信すると、その画像ファイルの画像データを復号して画像処理を行い、ＰＤプリンタ１０００で出力できる形式の画像に変換する（ステップＳ２８）。そしてステップＳ２９で、その変換した画像データに基づいて印刷を行う。ステップＳ３０では、その画像データの最後まで印刷が完了しているかを判定する。ここで印刷が完成していない場合は、例えばＰＤプリンタ１０００で、受信した画像データ格納するためのバッファ領域が十分に確保できず、ステップＳ２７で、その画像ファイルの画像データを分割して受信して処理している場合等が考えられる。その場合はステップＳ２４に戻り、再び「画像ファイル情報の取得要求」をＤＳＣ３０１２に送信し、前述と同様の手順で、ステップＳ２７で、画像ファイルの画像データの部分データを受信して印刷する。
【００４１】
こうしてステップＳ３０で、その画像ファイルの画像データの印刷が完了するとステップＳ３１に進み、その画像ファイルの印刷が完了した旨をＤＳＣ３０１２に通知する。
【００４２】
この印刷終了通知を受信したＤＳＣ３０１２は、ステップＳ１０で作成した印刷用の画像ファイルをＲＡＭ３１０２から削除して（ステップＳ１５）処理を終了する。但し、メモリカード３１０９に記憶されている元の画像ファイルはそのまま保存される。
【００４３】
尚、前述のステップＳ２９で、取得した画像データの量が十分でない状況、例えば記録ヘッドの一走査で記録するデータ量よりも少ない場合には、ステップＳ２８での画像処理が可能であってもステップＳ２９での印刷処理ができない。この場合は、ステップＳ２９での印刷動作を行わずに、ステップＳ３０の判定を行ってステップＳ２４へ進むことになる。
【００４４】
尚、ステップＳ１０で画像ファイルの作成が終了した後、ステップＳ１１で、「画像ファイル情報」をＤＳＣ３０１２からＰＤプリンタ１０００に送信しているが、これは前述のステップＳ２４で、ＰＤプリンタ１０００からの「画像ファイル情報の取得要求」（GetObjectInfo）（ステップＳ２４）に対する返答である。この「画像ファイル情報」も前述の「画像ファイル情報の取得要求」と同様に、ＤＳＣ３０１２で画像ファイルの変換及び作成処理が完了したことをＰＤプリンタ１０００に伝える役割がある。従って本実施の形態における「画像ファイル情報」の送信は、これに限定されるものでなく、他の専用コマンドや既存の通信コマンドを利用しても良い。
【００４５】
図７は、図６のステップＳ２２で、ＰＤプリンタ１０００からＤＳＣ３０１２に送信されるCapability情報の一例であるschemaの一例を示す図である。
【００４６】
このschemaでは、ＰＤプリンタ１０００が使用できる用紙サイズ（paperSizes）が記述されている。図７の７００で示す
＜paperSizes＞  80010000  80010001  80010002
は、用紙サイズの情報を表している。本実施の形態に係るＰＤプリンタ１０００では、３種類の用紙サイズ、即ち、「Ａ４」「Ｌ」「２Ｌ」判の用紙を用いて印刷を行うことができる。７００で示す３つの８桁の数字列「80010000」、「80010001」、「80010002」は、それぞれ用紙サイズ「Ａ４」、「Ｌ」、「２Ｌ」判に対応している。これら数字列と用紙サイズとの対応は予めＰＤプリンタ１０００とＤＳＣ３０１２との間で取り決められている。このschemaを受信したＤＳＣ３０１２は、確実にＰＤプリンタ１０００が印刷で使用できる用紙サイズを知ることができる。
【００４７】
まずステップＳ４１で、メモリカード３１０９に記憶されている処理対象の画像ファイルの画像データを読み取る。次にステップＳ４２で、その画像データに対して、リサイズ（縮小）、回転、色変換などの処理が必要かどうかを判定する。例えば、ここでは前述のステップＳ２で、ＲＡＭ３１０２に記憶されている「情報１」に基づいて、ＰＤプリンタ１０００の解像度やメモリ容量などを取得し、ステップＳ６で記憶された「情報２」に基づいて、実際に印刷する画像の解像度やサイズなどを取得し、その印刷対象の画像データに対する処理が必要かどうかを判定する。例えば、元の画像ファイルの画像データの解像度が８百万画素、ＰＤプリンタ１０００の印刷解像度が７２０ｄｐｉ、印刷する画像サイズが略３×５cmの場合には、元の画像データの８百万画素分の画像データをそのまま転送せずに、ＤＳＣ３０１２でその画像データを縮小（リサイズ）してからＰＤプリンタ１０００に送信すると判定する。尚、これ以外にも、ＰＤプリンタ１０００における印刷モードにより、画像データの回転、色変換等が必要かどうかを判定する。
【００４８】
こうしてステップＳ４２で、元の画像データに対して何らかの変換が必要であると判定するとステップＳ４３に進むが、そうでない時は何もせずにこの処理を終了する。
【００４９】
ステップＳ４３では、元の画像ファイルは、例えばＪＰＥＧにより符号化されているので、それを復号して生の画像データに変換する。ステップＳ４４では、画像のリサイズが必要かを判定し、必要であればステップＳ４５に進み、その画像データを縮小する。ステップＳ４５の実行後、或はステップＳ４４で画像のリサイズが必要でなければステップＳ４６に進み、画像の回転が必要かどうかをみる。必要であればステップＳ４７で、画像データの回転を実行してステップＳ４８に進むが、そうでない時はそのままステップＳ４８に進む。ステップＳ４８では、画像の色変換が必要かどうかを判定し、必要でなければステップＳ５０に進むが、必要であればステップＳ４９で、画像データの色変換を実行してステップＳ５０に進む。
【００５０】
ステップＳ５０では、処理済みの画像データを再度ＪＰＥＧ符号化する。次にステップＳ５１に進み、その画像データが「ＥＸＩＦ」タグ付きの画像データかどうかを調べ、そうであればステップＳ５２で、その「ＥＸＩＦ」タグを、ステップＳ４５，Ｓ４７，Ｓ４９などで変換した内容に従って更新する。一方、ステップＳ５１で、その画像データが「ＥＸＩＦ」タグ付きの画像データでないときはステップＳ５３に進み、その画像データに、例えば画像方向などを示すオリエンテーション情報や、変換後の画像サイズなどの必要な情報をＥＸＩＦタグとして付加する。
【００５１】
例えばステップＳ５２では、ＥＸＩＦで用いるＴＩＦＦＲｅｖ．６．０の付属情報として、画像方向（タグ番号「２７４」：Orientation）が規定されており、それによれば「１」（デフォルト）は、「０番目の行が目で見たときの画像の上、０番目の列が目で見たときの画像の右側となる」と規定されている。この「１」で画像方向が規定された画像を左に９０°回転させると、その画像のＥＸＩＦタグの画像方向は「８」、即ち「０番目の行が目で見たときの画像の左側、０番目の列が目で見たときの画像の下となる」に変更される。尚、このＥＸＩＦタグの詳細については、ＪＥＩＤＡ規格の「デジタルカメラスチルカメラ用画像フォーマット規格（Ｅｘｉｆ）」を参照されたい。
【００５２】
尚、以上の説明において、ＤＳＣ３０１２は、プリンタのデバイス情報などの「情報１」を取得し、プリンタの有する機能に応じたＵＩに基づいてカメラのユーザが設定した情報として「情報２」を取得してメモリに記憶しておき、これら情報に基づいて、印刷するべき画像データを作成してプリンタに送信することができる。これにより、カメラからプリンタに送信する画像データの量や画像データのフォーマットを、プリンタにおける印刷条件に合致したものとすることができるため、プリンタにおける画像データの処理に要する負荷を軽減でき、また画像データの処理に際してプリンタで使用されるメモリ容量を少なくできる。また、プリンタにおける印刷に応じて、予め画像データを縮小してプリンタに送信することができるため、画像データの送信に要する時間を減少できるという効果がある。
【００５３】
図９は、本実施の形態に係るＰＤプリンタ１０００における画像データの処理（図６のステップＳ２８）を説明するフローチャートである。
【００５４】
まずステップＳ６１で、ＤＳＣ３０１２から受信した画像データを復号する。次にステップＳ６２で、その復号したデータを、プリンタエンジン３００４の記録ヘッド（インクジェットヘッド）に出力するために、画像データを並び替える。そしてステップＳ６３で、その並び替えたデータをプリントバッファに展開する。
【００５５】
このように本実施の形態によれば、ＰＤプリンタ１０００における画像データの処理において、画像データのリサイズ、回転や色変換処理が不要となるため、ＰＤプリンタ１０００における画像処理が簡単になり、ＰＤプリンタ１０００による負荷を軽減できる。
【００５６】
以上説明した技術を前提として以下に本発明の実施の形態を詳しく説明する。
【００５７】
［実施の形態１］
図１０は、本発明の実施の形態１に係る印刷システムにおけるＤＳＣ３０１２及びＰＤプリンタ１０００の処理を説明するフローチャートである。この実施の形態１では、例えば回転、リサイズ等の処理をＤＳＣ３０１２で行う場合に、その処理を行う画像を仮想オブジェクトハンドルで指定する印刷ジョブを発行して印刷を行っている。尚、図１０において、ステップＳ１０１〜Ｓ１１２の処理はＤＳＣ３０１２により実行され、ステップＳ１２１〜Ｓ１３１の処理はＰＤプリンタ１０００により実行される。従って、これら各ＤＳＣ３０１２、ＰＤプリンタ１０００により実行される処理を実行させるためのプログラムは、それぞれ対応するＤＳＣ３０１２のＲＯＭ３１０１、ＰＤプリンタ１０００のプログラムメモリ３００３ａに記憶されている。ここでステップＳ１０１は、図６中のステップＳ１〜Ｓ６の処理に相当し、ステップＳ１２１は、図６のステップＳ２１〜Ｓ２２の処理に相当している。尚、以下の説明では、ＤＳＣ３０１２で行う画像処理として、画像の回転、リサイズの場合で説明しているが本発明はこれに限定されるものでなく、例えば画像の色変換等も含まれる。
【００５８】
まずステップＳ１０２では、ＤＳＣ３０１２のメモリカード３１０９に記憶されている全ての画像の実オブジェクトハンドル（ObjectHandle）リストをＰＤプリンタ１０００に送信する。ステップＳ１２２でこれを受信したＰＤプリンタ１０００は、通信相手のＤＳＣ３０１２のメモリカード３１０９に記憶されている全画像を把握することができる。
【００５９】
次にステップＳ１０３で、ＤＳＣ３０１２のＵＩを使用して、メモリカード３１０９に記憶されている全ての画像の中から、ユーザにより印刷対象の画像が選択される。次にステップＳ１０４で、それら選択された印刷対象の画像の内、画像の回転及び／又はリサイズを必要とする画像がユーザにより選択される。この選択は自動的に行われても良く、この場合は、画像のアスペクト比と印刷用紙のアスペクト比とを参照して回転やリサイズが必要かを判断する等、前述の選定方法の基準のいずれを用いても良い。次にステップＳ１０５で、ステップＳ１０４で回転、リサイズを行うと選択された画像に仮想オブジェクトハンドルを割当てる。この仮想オブジェクトハンドルは、メモリカード３１０９のファイル等に割り当てられていない新規のオブジェクトハンドルである。次にステップＳ１０６で、それら仮想オブジェクトハンドルとして設定された各オブジェクトハンドル毎に、ＰＤプリンタ１０００に対してPTP_Eventである「ObejctAdded」を発行する。これはＰＤプリンタ１０００に対して、ステップＳ１０２で送信したオブジェクトハンドル以外に、仮想のオブジェクトハンドルが存在していることを教えるものである。ステップＳ１２３で、この「ObejctAdded」を受信したＰＤプリンタ１０００は、その仮想オブジェクトハンドルを登録して、これ以降の処理で、その仮想オブジェクトハンドルを用いて画像を指定できるようにする。
【００６０】
次にステップＳ１０７で、ＤＳＣ３０１２から、ステップＳ１０３，Ｓ１０４でのＵＩを用いたユーザの選択処理に基づいて、実オブジェクトハンドル及び仮想オブジェクトハンドルを含む印刷ジョブ（StartJob）をＰＤプリンタ１０００に対して発行する。尚、ここでは、回転及び／又はリサイズが必要ではない画像に対しては、StartJob中で仮想ではない実オブジェクトハンドルを指定する。
【００６１】
ステップＳ１２４では、この印刷ジョブを受信したＰＤプリンタ１０００は、印刷ジョブの実行を開始する。次にステップＳ１２５で、その印刷ジョブに含まれる画像データを、そのオブジェクトハンドルを用いてＤＳＣ３０１２に要求する（GetObjectInfo, GetObject）。
【００６２】
これを受信したＤＳＣ３０１２は、ステップＳ１０８で、その要求された画像のオブジェクトハンドルが仮想オブジェクトハンドルかどうかをみる。仮想オブジェクトハンドルであればステップＳ１０９に進み、その仮想オブジェクトハンドルに対応する実オブジェクトハンドルの画像データを読み出して復号し、その画像データのリサイズ及び／又は回転を実行し、そのリサイズ及び／又は回転した画像データを符号化してＰＤプリンタ１０００に送信する。尚、ここでＤＳＣ３０１２が行う回転及びリサイズ処理は、前述の図６及び図８の説明と同様であるため、その説明を省略する。一方、ステップＳ１０８で、受信した画像のオブジェクトハンドルが実オブジェクトハンドルであればステップＳ１１０に進み、その実オブジェクトハンドルに対応する画像データを読み出してＰＤプリンタ１０００に送信する。こうしてステップＳ１０９或はＳ１１０を実行するとステップＳ１１１に進み、ＰＤプリンタ１０００から印刷完了を受信したかを調べ、終了していないときはステップＳ１０８に進み、次の画像の要求の受信待ちに進む。こうしてステップＳ１１１で印刷完了を受信するとステップＳ１１２に進み、仮想オブジェクトハンドル毎に、PTP_Eventである「ObejctRemoved」を発行して、ＰＤプリンタ１０００に登録されている、この印刷ジョブに特有の仮想オブジェクトハンドル及びそれに付随しているデータを消去させる。
【００６３】
一方、ＰＤプリンタ１０００は、ステップＳ１２５で画像データを要求した後、ステップＳ１２６で、ＤＳＣ３０１２から送信されてくる（ステップＳ１０９或はＳ１１０から）画像データを受信し、ステップＳ１２７で、それを復号して印刷データに展開して印刷を行う。こうしてステップＳ１２８で、印刷ジョブに含まれる全ての画像の印刷が完了したかを調べ、終了していないときはステップＳ１２５に戻り、前述の処理を実行する。ステップＳ１２８で印刷が完了するとステップＳ１２９に進み、印刷完了をＤＳＣ３０１２に通知する。次にステップＳ１３０で、PTP_Eventである「ObejctRemoved」を受信するとステップＳ１３１に進み、ステップＳ１２３で登録した仮想オブジェクトハンドルを消去し、またその仮想オブジェクトハンドルに対応して、画像データがキャッシュされている場合には、そのキャッシュされている画像データを消去する。
【００６４】
このように本実施の形態１によれば、実オブジェクトハンドルで、実際の画像データを特定し、仮想オブジェクトハンドルで、ＤＳＣ３０１２で画像の回転及び／又はリサイズを行う画像を特定した印刷ジョブをＤＳＣ３０１２から発行する。これによりＰＤプリンタ１０００からの画像要求時に、ＤＳＣ３０１２側で、その画像データの回転及び／又はリサイズが必要かどうかを判断し、それに対応した処理を実行することができる。
【００６５】
図１１は、本発明の実施の形態１に係る印刷システムで印刷される印刷レイアウト例を説明する図である。この実施の形態１では、１枚の用紙に４枚の画像Ａ〜Ｄを印刷する場合で説明する。
【００６６】
画像Ａ〜Ｄはそれぞれ異なる画像であり、メモリカード３１０９には、全て横長のフォーマットで記録されている。これに対して、これら画像の印刷時には、画像Ａ〜Ｄのそれぞれは縦長で印刷されるように指示されている。従って、画像Ａ〜Ｄのいずれも回転が必要となる。この場合、前述の実施の形態１によれば、図１０のステップＳ１０５において、これら画像Ａ〜Ｄのそれぞれに対して仮想オブジェクトハンドルが割当てられることになる。
【００６７】
図１２は、実施の形態１に係るＰＤプリンタ１０００における回転及び／又はリサイズ用の画像ファイルの生成及び消滅を説明する図である。
【００６８】
本実施の形態に係るＤＳＣ３０１２は、メモリ３１０２を使用して、１つの画像の回転及び／又はリサイズを行うことができるものとする。従って、別の画像データの回転及び／又はリサイズを行う場合には、直前に生成した画像データをメモリ３１０２から消去する必要がある。図１２のステップＳ４４０１では、ＰＤプリンタ１０００からの要求により画像Ａの回転画像を生成する。図中の「０」は画像が生成されたことを示している。次にステップＳ４４０２で、ＰＤプリンタ１０００の要求により画像Ｂの回転画像を生成する。この際ステップＳ４４０１で生成された画像Ａの回転済みの画像データはメモリ３１０２から消去される。図中の「Ｘ」は、画像が消去（破棄）されたことを示している。
【００６９】
次にステップＳ４４０３は、ＰＤプリンタ１０００の要求により再び画像Ａの回転画像を生成する。これは図１１の画像Ａ、画像Ｂの全てをＰＤプリンタ１０００がメモリ３００３に展開できない場合に、画像Ａと画像Ｂの部分画像データを要求する場合に該当している。このステップＳ４４０３では、ステップＳ４４０２で生成された画像Ｂの回転済みの画像データが消去される。この様にして、順次ＰＤプリンタ１０００からの要求に応じて、画像Ａ〜Ｂの回転画像の生成及び破棄を繰り返し、画像Ａ、Ｂの印刷が終了するとステップＳ４４０５で、画像Ｃ，Ｄの印刷が開始される。
【００７０】
ステップＳ４４０５では、ＰＤプリンタ１０００の要求により画像Ｃの回転画像を生成する。この際ステップＳ４４０４で生成された画像Ｂの回転済みの画像データはメモリ３１０２から消去される。次にステップＳ４４０６では、ＰＤプリンタ１０００の要求により画像Ｄの回転画像を生成する。この際ステップＳ４４０５で生成された画像Ｃの回転済みの画像データはメモリ３１０２から消去される。この様にして、順次ＰＤプリンタ１０００からの要求に応じて、画像Ｃ〜Ｄの回転画像の生成及び破棄を繰り返し、画像Ｃ，Ｄの印刷が終了すると、この印刷尾ジョブの処理が完了する。
【００７１】
通常ＰＴＰでは、メモリカード３１０９に保存され、オブジェクトハンドルに対応付けられた画像が消去された場合には、ＤＳＣ３０１２からＰＤプリンタ１０００に対して「ObjectRemoved」が発行される。しかし図１０のステップＳ１０５で割り当てた仮想のオブジェクトハンドルに対しては、対応する回転及び／又はリサイズ済みの画像データがメモリ３１０９から消去された場合であっても「ObjectRemoved」を発行せずに、印刷ジョブの完了を待って、ＤＳＣ３０１２からＰＤプリンタ１０００に対して「ObjectRemoved」を発行することが好ましい。この理由は、印刷ジョブの進行中に印刷対象のオブジェクトハンドル対象の「ObjectRemoved」がＤＳＣ３０１２からＰＤプリンタ１０００に対して発行されると、ＤＳＣ３０１２がこれ以上印刷を続行できないと、ＰＤプリンタ１０００が判断してしまう虞があるからである。
【００７２】
また、印刷ジョブが完了した後に速やかに仮想オブジェクトハンドルを破棄する理由は、印刷以外の目的で仮想オブジェクトハンドルに対応した回転及び／又はリサイズ対象の画像が使用されないようにするためである。これは仮想オブジェクトハンドルに対応した回転及び／又はリサイズ対象の画像に対して何らかのPTP OperationがPTP Initiator側から発行される可能性が否定できないためである。例えば、メモリカード３１０９の容量が１０枚の画像を収容可能で１０枚の画像が収容されており（実オブジェクトハンドル１〜１０）、各画像のそれぞれに対して仮想オブジェクトハンドル（仮想オブジェクトハンドル１１〜２０）が割当てられている場合を想定する。これら画像の実オブジェクトハンドル及び仮想オブジェクトハンドルを通知されたＰＤプリンタ１０００側では、メモリカード３１０９には合計２０枚の画像が収容されていると判断する（メモリカード３１０９のメモリ容量を判別できないため）。この状態でＰＤプリンタ１０００からコマンド「MoveObject」を発行して、例えばオブジェクトハンドル１の画像を仮想オブジェクトハンドル１５に「移動させる」という要求を発行する可能性がある。この場合には、ＤＳＣ３０１２では、メモリカード３１０９の残り容量がないためメモリカード３１０９内で画像の移動は不可能であるとして「メモリカード容量オーバ」という応答をＰＤプリンタ１０００に返答しなければならない。しかし、ＰＤプリンタ１０００（Initiator）側では、本来メモリカード３１０９上に存在しているはずのオブジェクトを移動する処理で「メモリカード容量オーバ」が発生することは想定していないため、このようなエラーの発生に対し、以降の通信に支障をきたす虞がある。このような理由で、印刷ジョブが完了した後に速やかに仮想オブジェクトハンドルを破棄する必要がある。
【００７３】
尚、上記「速やかに仮想オブジェクトハンドルを破棄する」という目的を実現する手段としては、特に印刷ジョブの完了に限定する必要は無い。例えばＤＳＣ３０１２が複数ページの印刷ジョブを発行した場合、各ページの印刷完了は、そのページで印刷され、かつ以降のページで印刷される予定の無い仮想オブジェクトハンドルに関しては、実質的には上記「印刷ジョブ完了」と同等と見なすことができる。よって、ＤＳＣ３０１２はＰＤプリンタ１０００の発行する印刷ジョブの進行状況を確認することにより、破棄可能な仮想オブジェクトハンドルを確定させることができる。
【００７４】
このように本実施の形態１によれば、印刷時に仮想オブジェクトハンドルを用いることで、安全にかつ確実に、ＤＳＣ３１０２側で、ＰＤプリンタ１０００が要求する印刷画像を生成して、プリンタに供給することができる。
【００７５】
また、仮想オブジェクトハンドルの割り当てを印刷ジョブが確定した後、仮想オブジェクトハンドルの削除を印刷ジョブの終了直後に行うため、印刷ジョブ以外での仮想オブジェクトハンドルに対するアクセスを防止できる。
【００７６】
［実施の形態２］
図１３は、本発明の実施の形態２に係る印刷システムにおけるＤＳＣ３０１２及びＰＤプリンタ１０００の処理を説明するフローチャートである。この実施の形態２では、前述の実施の形態１と同様に、回転、リサイズ等の処理をＤＳＣ３０１２で行う場合に、その処理を行う画像を、印刷オブジェクトにおいて仮想オブジェクトハンドルで指定する印刷ジョブを発行して印刷を行っている。前述の実施の形態１と異なる点は、ＤＳＣ３０１２が、印刷対象に設定された画像の全てに対して仮想オブジェクトを設定する点にある。尚、図１３において、ステップＳ２０１〜Ｓ２１２の処理はＤＳＣ３０１２により実行され、ステップＳ２２１〜Ｓ２３１の処理はＰＤプリンタ１０００により実行される。従って、これら各ＤＳＣ３０１２、ＰＤプリンタ１０００により実行される処理を実行させるためのプログラムは、それぞれ対応するＤＳＣ３０１２のＲＯＭ３１０１、ＰＤプリンタ１０００のプログラムメモリ３００３ａに記憶されている。ここでステップＳ２０１は、図６中のステップＳ１〜Ｓ６の処理に相当し、ステップＳ２２１は、図６のステップＳ２１〜Ｓ２２の処理に相当している。尚、以下の説明では、ＤＳＣ３０１２で行う画像処理として、画像の回転、リサイズの場合で説明しているが本発明はこれに限定されるものでなく、例えば画像の色変換等も含まれる。
【００７７】
まずステップＳ２０２では、ＤＳＣ３０１２のメモリカード３１０９に記憶されている全ての画像の実オブジェクトハンドル（ObjectHandle）リストをＰＤプリンタ１０００に送信する。ステップＳ２２２でこれを受信したＰＤプリンタ１０００は、通信相手のＤＳＣ３０１２のメモリカード３１０９に記憶されている全画像を把握することができる。
【００７８】
次にステップＳ２０３で、ＤＳＣ３０１２のＵＩを使用して、メモリカード３１０９に記憶されている画像の中からユーザにより印刷対象の画像が選択される。次にステップＳ２０４で、それら選択された印刷対象の画像の全てに対して仮想オブジェクトハンドルが割当てられる。次にステップＳ２０５で、それら選択された印刷対象の画像の内、画像の回転及び／又はリサイズを必要とする画像がユーザにより選択される。この選択は自動的に行われても良く、この場合は、画像のアスペクト比と印刷用紙のアスペクト比とを参照して回転やリサイズが必要かを判断する等、前述の選定方法の基準のいずれを用いても良い。次にステップＳ２０６で、ステップＳ２０４で印刷対象と選択された画像の各仮想オブジェクトハンドル毎に、ＰＤプリンタ１０００に対してPTP_Eventである「ObejctAdded」を発行する。これはＰＤプリンタ１０００に対して、ステップＳ２０２で送信したオブジェクトハンドル以外に、仮想のオブジェクトハンドルが存在していることを教えるものである。ステップＳ２２３で、この「ObejctAdded」を受信したＰＤプリンタ１０００は、その仮想オブジェクトハンドルを登録して、これ以降の処理で、その仮想オブジェクトハンドルを用いて画像を指定できるようにする。尚、メモリカード３１０９に記憶されている全ての画像を印刷する場合には、ステップＳ２０３の処理は不要になり、ステップＳ２０２で、メモリカード３１０９に記憶されている全ての画像の実オブジェクトハンドルと、仮想オブジェクトハンドルが送信されることになる。
【００７９】
次にステップＳ２０７で、ＤＳＣ３０１２から、ステップＳ２０３，Ｓ２０５でのＵＩを用いたユーザの選択処理に基づいて、実オブジェクトハンドル及び、回転及び／又はリサイズ対象の画像の仮想オブジェクトハンドルを含む印刷ジョブ（StartJob）をＰＤプリンタ１０００に対して発行する。尚、ここでは、回転及び／又はリサイズが必要ではない画像に対しては、StartJob中で仮想ではない実オブジェクトハンドルを指定する。
【００８０】
ステップＳ２２４では、この印刷ジョブを受信したＰＤプリンタ１０００は、印刷ジョブの実行を開始する。次にステップＳ２２５で、その印刷ジョブに含まれる画像データを、そのオブジェクトハンドルを用いてＤＳＣ３０１２に要求する（GetObjectInfo, GetObject）。
【００８１】
これを受信したＤＳＣ３０１２は、ステップＳ２０８で、その要求された画像のオブジェクトハンドルが仮想オブジェクトハンドルかどうかをみる。仮想オブジェクトハンドルであればステップＳ２０９に進み、その仮想オブジェクトハンドルに対応する実オブジェクトハンドルの画像データを読み出して復号し、その画像データのリサイズ及び／又は回転を実行し、そのリサイズ及び／又は回転した画像データを符号化してＰＤプリンタ１０００に送信する。尚、ここでＤＳＣ３０１２が行う回転及びリサイズ処理は、前述の図６及び図８の説明と同様であるため、その説明を省略する。一方、ステップＳ２０８で、受信した画像のオブジェクトハンドルが実オブジェクトハンドルであればステップＳ２１０に進み、その実オブジェクトハンドルに対応する画像データを読み出してＰＤプリンタ１０００に送信する。こうしてステップＳ２０９或はＳ２１０を実行するとステップＳ２１１に進み、ＰＤプリンタ１０００から印刷完了を受信したかを調べ、終了していないときはステップＳ２０８に進み、次の画像の要求の受信待ちに進む。こうしてステップＳ２１１で印刷完了を受信するとステップＳ２１２に進み、仮想オブジェクトハンドル毎に、PTP_Eventである「ObejctRemoved」を発行して、ＰＤプリンタ１０００に登録されている、この印刷ジョブに特有の仮想オブジェクトハンドル及びそれに付随しているデータを消去させる。
【００８２】
一方、ＰＤプリンタ１０００は、ステップＳ２２５で画像データを要求した後、ステップＳ２２６で、ＤＳＣ３０１２から送信されてくる（ステップＳ２０９或はＳ２１０から）画像データを受信し、ステップＳ２２７で、それを復号して印刷データに展開して印刷を行う。こうしてステップＳ２２８で、印刷ジョブに含まれる全ての画像の印刷が完了したかを調べ、終了していないときはステップＳ２２５に戻り、前述の処理を実行する。ステップＳ２２８で印刷が完了するとステップＳ２２９に進み、印刷完了をＤＳＣ３０１２に通知する。次にステップＳ２３０で、PTP_Eventである「ObejctRemoved」を受信するとステップＳ２３１に進み、ステップＳ２２３で登録した仮想オブジェクトハンドルを消去し、またその仮想オブジェクトハンドルに対応して、画像データがキャッシュされている場合には、そのキャッシュされている画像データを消去する。
【００８３】
尚、この実施の形態２において、ＤＳＣ３０１２が、メモリカード３１０９に保持している全ての画像、或は印刷可能な全ての画像を印刷対象画像とする場合等、ダイレクトプリント処理中に仮想オブジェクトハンドルを生成及び消去する必要がないい場合には、ステップＳ２０３，Ｓ２０４，Ｓ２１２，ＳＳ２２３，Ｓ２３０の処理はスキップして構わない。
【００８４】
以上の様にすれば、仮想オブジェクトハンドルの割り当てと印刷ジョブ発行の因果関係が切り離せるので、印刷ジョブ発行毎に「ObjectAdded」及び「ObjectRemoved」を発行しなくても良くなる。
【００８５】
また、ＤＳＣ３０１２とＰＤプリンタ１０００との通信接続に応じて仮想オブジェクトハンドルを割り当てることにより、ダイレクトプリント目的以外での仮想オブジェクトハンドルに対するアクセスを防止できる。仮想オブジェクトハンドルに対しては、ＰＣ等他のホストからのアクセスを防止した方が好ましい。何故なら、前述の実施の形態１で説明したような、「ObjectをMoveする行為でのメモリカード容量オーバ」の発生等が考えられるからである。その他の例として、メモリカード３１０９の全画像に対応した仮想オブジェクトハンドルをＰＣからアクセス可能とした場合、実オブジェクトハンドル及び仮想オブジェクトハンドルに対応した画像サイズの合計がメモリカード３１０９の容量を越える場合が発生し得る（前述の例の場合など）。ＰＣ等のホストでは、「メモリカードの容量以上の画像を保存した状態」を予想していない可能性が有り、想定外の情報を取得した後のＰＣとの接続に支障をきたす可能性があるからである。
【００８６】
［実施の形態３］
図１４は、本発明の実施の形態３に係る印刷システムにおけるＤＳＣ３０１２及びＰＤプリンタ１０００の処理を説明するフローチャートである。この実施の形態３では、回転及び／又はリサイズ等の処理を行う画像のオブジェクトハンドルを仮想オブジェクトハンドルとし、そのオブジェクトハンドルの番号を実オブジェクトハンドルと区別できるようにしたものである。この実施の形態３では、奇数番号を実オブジェクトハンドルに割り当て、偶数番号を仮想オブジェクトハンドルに割り当てている。従って、この実施の形態３では、ＤＳＣ３０１２とＰＤプリンタ１０００が協働し、ＰＤプリンタ１０００は前もって、どのオブジェクトハンドルが仮想オブジェクトハンドルであるかを知っている必要がある。尚、図１４において、ステップＳ３０１〜Ｓ３１０の処理はＤＳＣ３０１２により実行され、ステップＳ３２１〜Ｓ３３０の処理はＰＤプリンタ１０００により実行される。従って、これら各ＤＳＣ３０１２、ＰＤプリンタ１０００により実行される処理を実行させるためのプログラムは、それぞれ対応するＤＳＣ３０１２のＲＯＭ３１０１、ＰＤプリンタ１０００のプログラムメモリ３００３ａに記憶されている。ここでステップＳ３０１は、図６中のステップＳ１〜Ｓ６の処理に相当し、ステップＳ３２１は、図６のステップＳ２１〜Ｓ２２の処理に相当している。尚、以下の説明では、ＤＳＣ３０１２で行う画像処理として、画像の回転、リサイズの場合で説明しているが本発明はこれに限定されるものでなく、例えば画像の色変換等も含まれる。
【００８７】
まずステップＳ３０２では、メモリカード３１０９に記憶されている全ての画像に対して、奇数の実オブジェクトハンドルと、偶数の仮想オブジェクトハンドルを割り当てる。  次にステップＳ３０３で、ＤＳＣ３０１２のＵＩを使用して、メモリカード３１０９に記憶されている画像の中からユーザにより印刷対象の画像が選択される。次にステップＳ３０４で、ＤＳＣ３０１２から、ステップＳ３０３でのＵＩを用いたユーザの選択処理に基づいて、全てが実オブジェクトハンドル印刷ジョブ（StartJob）をＰＤプリンタ１０００に対して発行する。
【００８８】
ステップＳ３２２で、この印刷ジョブを受信したＰＤプリンタ１０００は、印刷ジョブの実行を開始する。次にステップＳ３２３で、その印刷ジョブに含まれる画像の情報を、そのオブジェクトハンドルを用いてＤＳＣ３０１２に要求する（GetObjectInfo）。これを受信したＤＳＣ３０１２は、ステップＳ３０５で、その要求された画像の情報（ObjectInfo）をＰＤプリンタ１０００に送信する。この画像の情報は、ステップＳ３２４でＰＤプリンタ１０００により受信され、その情報に基づいて、その画像の画像データの回転及び／又はリサイズが必要かどうかを調べる。回転及び／又はリサイズが必要であればステップＳ３２５に進み、その画像のオブジェクトハンドルの番号を＋１したオブジェクトハンドルに対応する画像データをＤＳＣ３０１２に要求する（GetObject）。一方、ステップＳ３２４で、画像データの回転及び／又はリサイズが必要でないと判断するとステップＳ３２６に進み、そのオブジェクトハンドルに対応する画像データを要求する（GetObject）。
【００８９】
これを受信したＤＳＣ３０１２は、ステップＳ３０６で、オブジェクトハンドルの番号が奇数（実オブジェクトハンドル）であるかどうかをみる。奇数番号のオブジェクトハンドルであればステップＳ３０８に進み、そのオブジェクトハンドル（実オブジェクトハンドル）に対応する画像データを読み出してステップＳ３０９に進む。一方、ステップＳ３０６で、オブジェクトハンドルが奇数でないときはステップＳ３０７に進み、その受信したオブジェクトハンドルの番号を−１した実オブジェクトハンドルに対応する画像データを読み出して復号し、その画像データのリサイズ及び／又は回転を実行し、そのリサイズ及び／又は回転した画像データを符号化してステップＳ３０９に進む。ステップＳ３０９では、符号化画像データをＰＤプリンタ１０００に送信する。尚、ここでＤＳＣ３０１２が行う回転及びリサイズ処理は、前述の図６及び図８の説明と同様であるため、その説明を省略する。次にステップＳ３１０に進み、ＰＤプリンタ１０００から印刷完了を受信したかを調べ、終了していないときはステップＳ３０５の次の画像の要求の受信待ちに進む。こうしてステップＳ３１０で印刷完了を受信すると、この処理を終了する。
【００９０】
一方、ＰＤプリンタ１０００は、ステップＳ３２５又はステップＳ３２６で画像データを要求した後、ステップＳ３２７で、ＤＳＣ３０１２から送信されてくる画像データを受信し、ステップＳ３２８で、それを復号して印刷データに展開して印刷を行う。こうしてステップＳ３２９で、印刷ジョブに含まれる全ての画像の印刷が完了したかを調べ、終了していないときはステップＳ３２３に戻り、前述の処理を実行する。ステップＳ３２９で印刷が完了するとステップＳ３３０に進み、印刷完了をＤＳＣ３０１２に通知する。
【００９１】
尚、この実施の形態３では、オブジェクトハンドルの割り当てルールが、ＤＳＣ３０１２とＰＤプリンタ１０００との間では共有されている必要がある。この割り当てルールを互いに確認する手段は、接続相手のベンダ名、機器名を用いる等、このルールに固有の何らかのキーワードを交換する等の既存の如何なる方法を用いても良い。尚、ステップＳ３０２の時点では、偶数のオブジェクトハンドルに対応した回転或はリサイズ済みの画像データはＤＳＣ３０１２には存在しておらず、奇数のオブジェクトハンドルに対応した元の画像データのみ存在している。
【００９２】
以上説明したように本実施の形態３によれば、ＰＤプリンタ１０００が、画像の回転及び／又は非回転を行うかどうかを判定して処理を行うので、より安全かつ確実にＤＳＣ３１０２でＰＤプリンタ１０００に対して好適な印刷画像を生成することが可能となる。
【００９３】
また本実施の形態３では、ＤＳＣ３０１２のっ目折カード３１０９に記憶されている画像が縦長／横長のいずれであるかが未定である場合を例に説明したが、予めＤＳＣ３０１２とＰＤプリンタ１０００との間で、奇数のオブジェクトハンドルは横長、偶数のオブジェクトハンドルは縦長、という様に割り当てるルールが設定されている場合には、図１４のステップＳ３２３の画像情報の要求処理をスキップできる。
【００９４】
また実施の形態３では、偶数／奇数のオブジェクトハンドルのそれぞれに回転画像、非回転画像を割り当てたが、この割り当てルールに限定されるものではなく、（回転画像＋Ｘ）が非回転画像という様に割り当てたり（Ｘは任意の整数）、オブジェクトハンドルの特定のビットで、画像の回転／非回転を指定するものでも良い。要は、回転及び／又はリサイズ画像と、それに対応する原画像とを、互いに関連付けることができるものであれば如何なる手法を用いても構わない。
【００９５】
また実施の形態３では、互いに割り当てルールを共有している機器であるか否かを認識していることを前提に説明したが、この割り当てルールの共有は必ずしも必要ではなく、ＰＤプリンタ１０００からＤＳＣ３０１２が「割り当てルール対応機器」と認識するだけでも良く、ＤＳＣ３０１２は、接続相手のＰＤプリンタ１０００が「接続ルール対応機器」なのか否かは知らなくても、上記割り当てルールに従って動作すれば良い。なぜならば、割り当てルール対応のＰＤプリンタ１０００であれば、必要に応じて偶数のオブジェクトハンドルを用いて画像データを要求し、割り当てルール非対応のＰＤプリンタ１０００であれば、常時奇数のオブジェクトハンドルを使用して画像データを要求するからである。
【００９６】
［他の実施の形態］
本発明の目的は前述したように、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００９７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ機器で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【００９８】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【図面の簡単な説明】
【００９９】
【図１】本発明の実施の形態に係るＰＤプリンタの概観斜視図である。
【図２】本実施の形態に係るＰＤプリンタの操作パネルの概観図である。
【図３】本実施の形態に係るＰＤプリンタの制御に係る主要部の構成を示すブロック図である。
【図４】本実施の形態に係るＤＳＣの構成を示すブロック図である。
【図５】本実施の形態に係る印刷システムにおいて、ＤＳＣからＰＤプリンタに対してプリント要求を発行して印刷を行う場合の大まかな信号フローを説明する図である。
【図６】本発明の実施の形態１に係るデジタルカメラ（ＤＳＣ）とＰＤプリンタとの間で通信を行って、ＤＳＣからＰＤプリンタに画像データを供給して印刷を行う場合の処理を説明する図である。
【図７】図６のステップＳ２２で、ＰＤプリンタからＤＳＣに送信されるCapability情報の一例であるschemaの一例を示す図である。
【図８】本実施の形態に係るＤＳＣにおける画像ファイルの作成処理（ステップＳ１０）を説明するフローチャートである。
【図９】本実施の形態に係るＰＤプリンタにおける画像データの処理（ステップＳ２８）を説明するフローチャートである。
【図１０】本発明の実施の形態１に係る印刷システムにおけるＤＳＣ及びＰＤプリンタの処理を説明するフローチャートである。
【図１１】本発明の実施の形態１に係る印刷レイアウト例を説明する図である。
【図１２】実施の形態１に係る画像の回転、リサイズ画像ファイルの生成及び消去の順序を説明する図である。
【図１３】本発明の実施の形態２に係る印刷システムにおけるＤＳＣ及びＰＤプリンタの処理を説明するフローチャートである。
【図１４】本発明の実施の形態１に係る印刷システムにおけるＤＳＣ及びＰＤプリンタの処理を説明するフローチャートである。
【図１】
2006119892.tif 000003
【図２】
2006119892.tif 000004
【図３】
2006119892.tif 000005
【図４】
2006119892.tif 000006
【図５】
2006119892.tif 000007
【図６】
2006119892.tif 000008
【図７】
2006119892.tif 000009
【図８】
2006119892.tif 000010
【図９】
2006119892.tif 000011
【図１０】
2006119892.tif 000012
【図１１】
2006119892.tif 000013
【図１２】
2006119892.tif 000014
【図１３】
2006119892.tif 000015
【図１４】
2006119892.tif 000016