(57)【要約】      （修正有）【課題】  ユーザの設定した印刷条件と印刷装置の印刷可能範囲とに基づいて、印刷装置に送信する画像データを処理して印刷装置に送信する画像供給デバイス及びその制御方法及び、印刷システムを提供する。【解決手段】  プリンタからの機能情報に基づいてＵＩを構築してＤＳＣに表示し、そのＵＩに基づいて設定された印刷仕様とプリンタにおける印刷可能範囲情報とに応じて、印刷対象の画像ファイルの画像データを変換し（Ｓ７５）、その変換した画像ファイルをプリンタに送信する。【選択図】  図１０
2006085296.tif 000002
【特許請求の範囲】
【請求項１】
画像供給デバイスと印刷装置とを有し、前記画像供給デバイスから供給される画像データに基づいて前記印刷装置により画像を印刷する印刷システムであって、
前記画像供給デバイスは、
前記印刷装置による印刷可能範囲を示す印刷可能範囲情報を取得する取得手段と、
前記画像供給デバイスと前記印刷装置との間の通信接続に応じて、前記印刷装置の機能情報を取得する手段と、
前記機能情報に基づいてＵＩを構築して表示する手段と、
前記ＵＩに基づいて設定された印刷仕様と前記印刷可能範囲情報に応じて、印刷対象の画像ファイルの画像データを変換する変換手段と、
前記印刷装置からのデータ要求に応じて、前記変換手段により変換した画像データを前記印刷装置に送信する送信手段とを有し、
前記印刷装置は前記データ要求に応じて前記送信手段により送信された前記画像データに基づいて画像を印刷することを特徴とする印刷システム。
【請求項２】
前記取得手段は、前記画像供給デバイスに記憶している、印刷装置の機種別の印刷可能画素数情報リストから前記印刷装置に対応する印刷可能範囲情報を取得することを特徴とする請求項１記載の印刷システム。
【請求項３】
前記取得手段は、前記機能情報に含まれる印刷可能画素数から前記印刷装置に対応する印刷可能範囲情報を取得することを特徴とする請求項１記載の印刷システム。
【請求項４】
前記印刷仕様と、前記印刷装置で印刷に使用する記録媒体の種類とに応じて印刷範囲を示す印刷範囲情報を取得する手段を更に有し、
前記変換手段は前記印刷範囲情報と前記画像データのサイズに応じて前記画像データを変換することを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項５】
前記印刷可能範囲情報は、印刷可能範囲を示す画素数を含むことを特徴とする請求項１乃至４のいずれか１項に記載の印刷システム。
【請求項６】
前記変換手段による変換は、画像データの変倍、回転の少なくともいずれかを含むことを特徴とする請求項１乃至５のいずれか１項に記載の印刷システム。
【請求項７】
前記画像データの回転が指示された場合、当該回転により前記画像データのサイズが前記印刷可能範囲を超える場合、前記回転後の画像データを変倍する変倍手段を更に有することを特徴とする請求項６に記載の印刷システム。
【請求項８】
画像供給デバイスと印刷装置とを有し、前記画像供給デバイスから供給される画像データに基づいて前記印刷装置により画像を印刷する印刷システムであって、
前記画像供給デバイスは、
印刷装置との間の通信接続に応じて、前記印刷装置が格納可能な縦横の最大画素数を示す情報を取得する取得手段と、
印刷すべき画像ファイルを指定する指定手段と、
印刷対象の画像ファイルの画像データを回転する回転手段と、
前記印刷可能範囲情報と前記指定手段で指定された画像の縦横の画素数とに応じて、前記回転手段による回転処理を行うか否かを制御する制御手段と、
を有することを特徴とする印刷システム。
【請求項９】
前記制御手段は、回転後の画像データの縦横の画素数が、前記印刷装置の格納可能な縦横の画素数を越えない場合に回転処理を行わせ、超える場合には回転処理を行わないように制御することを特徴とする請求項８に記載の印刷システム。
【請求項１０】
印刷態様として、速度優先か画質優先かを指定する印刷態様指定手段と、
画像データをリサイズするリサイズ手段とを有し、
前記印刷態様指定手段により速度優先が指定されている場合には、回転後の画像データの縦横の画素数が、前記印刷装置の格納可能な縦横の画素数を越える場合に、前記リサイズ手段によるリサイズ処理と、前記回転手段による回転処理を行うことを特徴とする請求項８又は９に記載の印刷システム。
【請求項１１】
前記印刷可能範囲情報は、プリンタが格納可能な縦横の画素数を示す情報であることを特徴とする請求項１乃至１０のいずれか１項に記載の印刷システム。
【請求項１２】
印刷装置と直接通信し、当該印刷装置に画像データを供給する画像供給デバイスであって、
印刷装置との間の通信接続に応じて、前記印刷装置の機能情報を取得する手段と、
前記印刷装置による印刷可能範囲を示す印刷可能範囲情報を取得する取得手段と、
前記機能情報に基づいてＵＩを構築して表示する手段と、
前記ＵＩに基づいて設定された印刷仕様と前記印刷可能範囲情報に応じて、印刷対象の画像ファイルの画像データを変換する変換手段と、
前記印刷装置からのデータ要求に応じて、前記変換手段により変換した画像データを前記印刷装置に送信する送信手段と、
を有することを特徴とする画像供給デバイス。
【請求項１３】
印刷装置の機種別の印刷可能画素数リストを記憶する手段を更に有し、
前記取得手段は、記憶している印刷可能画素数情報リストから前記印刷装置に対応する印刷可能範囲情報を取得することを特徴とする請求項１２記載の画像供給デバイス。
【請求項１４】
前記取得手段は、前記機能情報に含まれる印刷可能画素数から前記印刷装置に対応する印刷可能範囲情報を取得することを特徴とする請求項１２記載の画像供給デバイス。
【請求項１５】
前記印刷仕様と、前記印刷装置で印刷に使用する記録媒体の種類とに応じて印刷範囲を示す印刷範囲情報を取得する手段を更に有し、
前記変換手段は、前記印刷範囲情報と前記画像データのサイズに応じて前記画像データを変換することを特徴とする請求項１２乃至１４のいずれか１項に記載の画像供給デバイス。
【請求項１６】
前記印刷可能範囲情報は、印刷可能範囲を示す画素数を含むことを特徴とする請求項１２乃至１５のいずれか１項に記載の画像供給デバイス。
【請求項１７】
前記変換手段による変換は、画像データの変倍、回転の少なくともいずれかを含むことを特徴とする請求項１２乃至１６のいずれか１項に記載の画像供給デバイス。
【請求項１８】
前記画像データの回転が指示された場合、当該回転により前記画像データのサイズが前記印刷可能範囲を超える場合、前記回転後の画像データを変倍する変倍手段を更に有することを特徴とする請求項１７に記載の画像供給デバイス。
【請求項１９】
印刷装置と直接通信し、当該印刷装置に画像データを供給する画像供給デバイスであって、
印刷装置との間の通信接続に応じて、前記印刷装置が格納可能な縦横の最大画素数を示す情報を取得する取得手段と、
印刷すべき画像ファイルを指定する指定手段と、
印刷対象の画像ファイルの画像データを回転する回転手段と、
前記印刷可能範囲情報と前記指定手段で指定された画像の縦横の画素数とに応じて、前記回転手段による回転処理を行うか否かを制御する制御手段と、
を有することを特徴とする画像供給デバイス。
【請求項２０】
前記制御手段は、回転後の画像データの縦横の画素数が、前記印刷装置の格納可能な縦横の画素数を越えない場合に回転処理を行わせ、超える場合には回転処理を行わないように制御することを特徴とする請求項１９に記載の画像供給デバイス。
【請求項２１】
印刷態様として、速度優先か画質優先かを指定する印刷態様指定手段と、
画像データをリサイズするリサイズ手段とを有し、
前記印刷態様指定手段により速度優先が指定されている場合には、回転後の画像データの縦横の画素数が、前記印刷装置の格納可能な縦横の画素数を越える場合に、前記リサイズ手段によるリサイズ処理と、前記回転手段による回転処理を行うことを特徴とする請求項１９又は２０に記載の画像供給デバイス。
【請求項２２】
前記印刷可能範囲情報は、プリンタが格納可能な縦横の画素数を示す情報であることを特徴とする請求項１２乃至２１のいずれか１項に記載の画像供給デバイス。
【請求項２３】
印刷装置と直接通信し、当該印刷装置に画像データを供給する画像供給デバイスの制御方法であって、
印刷装置との間の通信接続に応じて、前記印刷装置の機能情報を取得する工程と、
前記印刷装置による印刷可能範囲を示す印刷可能範囲情報を取得する取得工程と、
前記機能情報に基づいてＵＩを構築して表示する工程と、
前記ＵＩに基づいて設定された印刷仕様と前記印刷可能範囲情報に応じて、印刷対象の画像ファイルの画像データを変換する変換工程と、
前記印刷装置からのデータ要求に応じて、前記変換工程で変換した画像データを前記印刷装置に送信する送信工程と、
を有することを特徴とする画像供給デバイスの制御方法。
【請求項２４】
印刷装置の機種別の印刷可能画素数リストを記憶する工程を更に有し、
前記取得工程では、記憶している印刷可能画素数情報リストから前記印刷装置に対応する印刷可能範囲情報を取得することを特徴とする請求項２３記載の制御方法。
【請求項２５】
前記取得工程では、前記機能情報に含まれる印刷可能画素数から前記印刷装置に対応する印刷可能範囲情報を取得することを特徴とする請求項２３記載の制御方法。
【請求項２６】
前記印刷仕様と、前記印刷装置で印刷に使用する記録媒体の種類とに応じて印刷範囲を示す印刷範囲情報を取得する工程を更に有し、
前記変換工程では、前記印刷範囲情報と前記画像データのサイズに応じて前記画像データを変換することを特徴とする請求項２３乃至２５のいずれか１項に記載の制御方法。
【請求項２７】
前記印刷可能範囲情報は、印刷可能範囲を示す画素数を含むことを特徴とする請求項２３乃至２６のいずれか１項に記載の制御方法。
【請求項２８】
前記変換工程による変換は、画像データの変倍、回転の少なくともいずれかを含むことを特徴とする請求項２３乃至２７のいずれか１項に記載の制御方法。
【請求項２９】
前記画像データの回転が指示された場合であって且つ、当該回転により前記画像データのサイズが前記印刷可能範囲を超える場合、前記回転後の画像データを変倍する変倍工程を更に有することを特徴とする請求項２８に記載の制御方法。
【請求項３０】
印刷装置と直接通信し、当該印刷装置に画像データを供給する画像供給デバイスの制御方法であって、
印刷装置との間の通信接続に応じて、前記印刷装置が格納可能な縦横の最大画素数を示す情報を取得する取得工程と、
印刷すべき画像ファイルを指定する指定工程と、
印刷対象の画像ファイルの画像データを回転する回転工程と、
前記印刷可能範囲情報と前記指定工程で指定された画像の縦横の画素数とに応じて、前記回転工程で回転処理を行うか否かを制御する制御工程と、
を有することを特徴とする画像供給デバイスの制御方法。
【請求項３１】
前記制御工程は、回転後の画像データの縦横の画素数が、前記印刷装置の格納可能な縦横の画素数を越えない場合に回転処理を行わせ、超える場合には回転処理を行わないように制御することを特徴とする請求項３０に記載の制御方法。
【請求項３２】
印刷態様として、速度優先か画質優先かを指定する印刷態様指定工程と、
画像データをリサイズするリサイズ工程とを有し、
前記印刷態様指定工程で速度優先が指定されている場合には、回転後の画像データの縦横の画素数が、前記印刷装置の格納可能な縦横の画素数を越える場合に、前記リサイズ工程によるリサイズ処理と、前記回転工程による回転処理を行うことを特徴とする請求項３０又は３１に記載の制御方法。
【請求項３３】
前記印刷可能範囲情報は、プリンタが格納可能な縦横の画素数を示す情報であることを特徴とする請求項２３乃至３２のいずれか１項に記載の制御方法。
【請求項３４】
請求項２３乃至３３のいずれか１項に記載の制御方法を実行することを特徴とするプログラム。
【請求項３５】
請求項３４に記載のプログラムを格納することを特徴とするコンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像供給デバイスと印刷装置とを有し、前記画像供給デバイスから供給される画像データに基づいて前記印刷装置により画像を印刷する印刷システム、及びその画像供給デバイス及び該デバイスの制御方法に関するものである。
【背景技術】
【０００２】
プリンタとデジタルスチルカメラ（以下ＤＳＣ）とをＵＳＢ等のインタフェースを介して直接接続し、ＤＳＣの記憶媒体（メモリカード）に記憶されている写真画像をプリンタに送信して印刷する、所謂、デジタルカメラダイレクトプリントシステムが一般的となってきている。
【０００３】
このようなプリントシステムでは、一般的にはＤＳＣから、印刷対象となる画像のＪＰＥＧファイルをプリンタに送信し、プリンタ側で、そのＪＰＥＧファイルの解凍、色変換、リサイズ等を行ってプリント可能なデータ形式へ変換して印刷を行っている。
【０００４】
一方、ＤＳＣで、撮影画像をプリント専用に処理した後プリンタに送信して印刷するシステムが提案されている（特許文献１〜３）。
【０００５】
特許文献１では、一般性の低い固有のプリントプロトコルを用いて、ＤＳＣからの画像と、プリンタ側の用紙サイズ等の印刷態様に応じた画像の印刷を可能とするデジタルカメラダイレクトプリントシステムが提案されている。
【０００６】
特許文献２では、プリンタでの処理負荷の低減を目的とし、ＤＳＣでＪＰＥＧファイルの解凍、色変換、リサイズ等を行ってプリント可能なデータ形式へ変換処理を行い、プリント可能なデータとしてプリンタに送信し、プリンタでの画像処理負荷の低減を図っている。
【０００７】
更に特許文献３では、プリンタ毎の色再現特性のばらつきをＤＳＣ側で補正し、ＪＰＥＧなどの一般的な画像ファイルに変換してプリンタに送信している。これによりプリンタ毎の印刷特性に依存しない安定した画像を得ることが記載されている。
【特許文献１】特開平８−３２９１１号公報
【特許文献２】特開平１０−２９０４７０号公報
【特許文献３】特開２００３−１３４４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述のデジタルカメラダイレクトプリントシステムにおける通信手順を規定したPictBridgeと呼ばれる規格により、デジタルカメラダイレクトプリントシステムが益々普及してきており、更に、ＤＳＣにおける画像の高画質化の進歩も著しいものがある。ＤＳＣで撮像されて記憶される画像データの解像度は、数年前までは最大１００〜２００万画素／画像だったのもが、近年では、一画像当り８００万画素以上の高解像度の画像を撮影して記憶できるＤＳＣが販売されている。
【０００９】
このようなＤＳＣにおける解像度の増大に伴い、上述のデジタルカメラダイレクトプリントシステムにおいて、本願発明者は以下のような新たな課題を見つけるに至った。
（１）プリンタ側での処理すべき画素数が大きくなり、プリンタの負荷が増大する。
（２）画素数に合わせて画像ファイルサイズが大きくなり、ＤＳＣ−プリンタ間での画像ファイルの転送負荷が増大する。
【００１０】
これらが要因となり、印刷時にプリント速度が低下するという問題が発生している。
【００１１】
先述の公知例のような処理の負荷分散を目的として、印刷用の画像データの画像処理の一部をＤＳＣで行う場合の問題点があることが新たに解った。また、いずれの公知例においても、プリンタが有する印刷態様や印刷特性をプリンタから取得する旨の記載があるが、そのプリンタの印刷特性に関する情報をプリンタとＤＳＣ間での通信する方法について具体的な記載が無い。例えば、プリンタの印刷能力をＤＳＣに伝える手法では、プリンタによる印刷時のサイズ／レイアウト等の印刷形態を、そのプリンタの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の一例を示す図である。このCapability情報は、図６のステップＳ２２で、ＰＤプリンタ１０００からＤＳＣ３０１２に送信され、ステップＳ３で受信される。このschemaではＰＤプリンタ１０００が使用できる用紙サイズ（paperSizes）が記述されている。行７０１の「＜paperSizes＞  80010000  80010001  80010002」は、用紙サイズの情報を表している。
【００４９】
本実施の形態に係るＰＤプリンタ１０００では、Ａ４／Ｌ判／２Ｌ判の紙サイズを使用できる。ここで８桁の数字列「80010000」、「80010001」、「80010002」はそれぞれＡ４判、Ｌ判、２Ｌ判を示している。これら数字列と用紙サイズとの対応は予めＰＤプリンタ１０００とＤＳＣ３０１２との間で取り決めてあるので、このschemaを受信したＤＳＣ３０１２は、ＰＤプリンタ１０００が使用できる用紙サイズを確実に識別することができる。
【００５０】
図８は、本実施の形態に係るＰＤプリンタ１０００における画像データの処理（図６のステップＳ２８）を説明するフローチャートである。
【００５１】
まずステップＳ６１で、ＤＳＣ３０１２から受信した画像データを復号する。次にステップＳ６２で、その復号したデータを、プリンタエンジン３００４の記録ヘッド（インクジェットヘッド）に出力するために、画像データを並び替える。そしてステップＳ６３で、その並び替えたデータをプリントバッファに展開する。
【００５２】
このように本実施の形態によれば、ＰＤプリンタ１０００における画像データの処理において、画像データのリサイズ、回転や色変換処理が不要となるため、ＰＤプリンタ１０００における画像処理が簡単になり、ＰＤプリンタ１０００による負荷を軽減できる。
【００５３】
図９は、本実施の形態１に係るＤＳＣ３０１２における画像ファイルの作成処理（図６のステップＳ１０）を説明するフローチャートである。
【００５４】
まずステップＳ４１で、メモリカード３１０９に記憶されている処理（印刷）対象の画像ファイルの画像データを読み取る。次にステップＳ４２で、その画像データに対して、リサイズフラグ、回転フラグを設定する。これらリサイズフラグ及び回転フラグは、それぞれ、画像データの変倍、回転処理を行う必要があるかを表すフラグで、いずれもＲＡＭ３１０２のワークエリアに設けられている。これらフラグがオン（「１」）に設定された場合は、そのフラグに対応する処理を行う必要があることを表し、オフ（「０」）に設定された場合は、その処理を行う必要がないことを表す。このステップＳ４２の処理は詳しく後述する。
【００５５】
次にステップＳ４３で、上述のフラグを参照して、リサイズ、回転などの処理が必要かどうか、即ち、これらフラグのいずれかが「１」に設定されているかどうか判定する。リサイズフラグ、回転フラグのどちらか一つでもオンに設定されている場合はステップＳ４４に進むが、リサイズフラグ、回転フラグが共にオフ（「０」）に設定されている場合は、リサイズ、回転処理が必要ないため、この処理を終了する。
【００５６】
ステップＳ４４では、ステップＳ４１で読み取った原画像ファイルは、例えばＪＰＥＧにより符号化されているので、それを復号して生の画像データに変換する。次にステップＳ４５で、画像のリサイズ（縮小）が必要か否かを判定し、必要であれば（リサイズフラグが「１」であれば）ステップＳ４６に進み、指定された縮小率に従って、ステップＳ４４で得られた画像データを縮小する。ステップＳ４６の実行後、或はステップＳ４５で画像のリサイズが必要でなければステップＳ４７に進み、画像の回転が必要かどうかをみる。必要であれば（回転フラグが「１」であれば）ステップＳ４８に進み、ステップＳ４４で得られた画像データの回転処理を実行してステップＳ４９に進むが、そうでない時はそのままステップＳ４９に進む。
【００５７】
ステップＳ４９では、処理済みの画像データを再度ＪＰＥＧ符号化する。次にステップＳ５０に進み、その画像データが「ＥＸＩＦ」タグ付きの画像データかどうかを調べ、そうであればステップＳ５１で、その「ＥＸＩＦ」タグを、ステップＳ４６，Ｓ４８などで変換した内容に従って更新する。一方、ステップＳ５０で、その画像データが「ＥＸＩＦ」タグ付きの画像データでないときはステップＳ５２に進み、その画像データに、例えば画像方向などを示すオリエンテーション情報を付加する。
【００５８】
ステップＳ５１の処理の具体例を説明する。ＥＸＩＦで用いる「TIFF Rev.6.0」の付属情報として、画像方向（タグ番号「２７４」：Orientation）が規定されており、それによれば「１」（デフォルト）は、「０番目の行が目で見たときの画像の上、０番目の列が目で見たときの画像の右側となる」と規定されている。この「１」で画像方向が規定された画像を左に９０°回転させると、その画像のＥＸＩＦタグの画像方向は「８」、即ち「０番目の行が目で見たときの画像の左側、０番目の列が目で見たときの画像の下となる」に変更される。このように画像の回転やリサイズに応じて、そのＥＸＩＦ情報を更新する。尚、このＥＸＩＦタグの詳細については、ＪＥＩＤＡ規格の「デジタルカメラスチルカメラ用画像フォーマット規格（Ｅｘｉｆ）」を参照されたい。
【００５９】
図１０は、本実施の形態１に係るＤＳＣ３０１２におけるリサイズフラグ、回転フラグの設定処理（図９のステップＳ４２）の詳細を説明するフローチャートである。
【００６０】
まずステップＳ７１で、図６のステップＳ２及びＳ６でＲＡＭ３１０２に記憶した「情報１」と「情報２」とを取得する。ここで「情報１」はデバイス情報であり、この「情報１」は、例えばベンダー（Vendor）名、機種名、バージョン（Version）情報等を含んでいる。
【００６１】
図１１は、この「情報１」（デバイス情報）の具体例を説明する図である。
【００６２】
図において、ＰＤプリンタ１０００のベンダー名、機種、バージョンが記述されている。
【００６３】
図１２は、「情報２」（ＵＩ設定情報）の具体例を説明する図である。
【００６４】
図において、ＰＤプリンタ１０００における用紙サイズ、紙種、レイアウト情報、縁あり／なし印刷等の設定内容が記述されている。
【００６５】
次にステップＳ７２で、ＰＤプリンタ１０００における印刷可能な最大画素数を取得する。
【００６６】
図１３は、この印刷可能な最大画素数情報を記憶しているテーブルのデータ構成例を示す図である。
【００６７】
この印刷可能な最大画素数情報テーブルは、ＤＳＣ３０１２のＲＯＭ３１０１或はＲＡＭ３１０２に記憶されている。このテーブルには、プリンタの機種に対応して、そのバージョンごとに印刷可能な最大画素数を示す情報が、縦及び横のそれぞれに対して記憶されている。
【００６８】
従って、ステップＳ７２では、ステップＳ７１で取得した「情報１」に含まれるプリンタの機種名とバージョン情報とを用いて、この印刷可能最大画素数情報テーブルから印刷可能な最大画素数を検索する。この検索により、例えば機種名が「Model A」で、バージョンが「1.00」の場合は、印刷可能な最大画素数は縦４８００画素、横６４００画素であることが分かる。尚、この印刷可能な最大画素数情報は、この実施の形態に限らず他の情報が含まれていても良いことは言うまでもない。
【００６９】
次にステップＳ７３で、ＰＤプリンタ１０００で印刷する矩形領域の画素数を取得する。
【００７０】
図１４（Ａ）（Ｂ）は、この印刷する矩形領域の画素数を記憶しているテーブルデータの一例を示す図である。このテーブルは、ＲＯＭ３１０１或はＲＡＭ３１０２に記憶されている。またこのテーブルは、機種に依存する情報を含む場合もあるため、複数のテーブルが存在する場合もある。
【００７１】
図１４（Ａ）は、プリンタの機種名が「Model A」であるプリンタにおける、印刷に使用する紙種、印刷レイアウト及び用紙サイズにに対応して、印刷する最大画素数を規定したテーブルのデータ例を示している。また図１４（Ｂ）は、プリンタの機種名が「Model B」であるプリンタにおける、印刷に使用する紙種、印刷レイアウト及び用紙サイズにに対応して、印刷する最大画素数を規定したテーブルのデータ例を示している。
【００７２】
例えば、機種名が「Model A」のプリンタで、Ａ４の普通紙に１−ｕｐで縁なしで印刷する場合は、２４００×３３００画素が印刷されるのに対して、機種名が「Model B」のプリンタで、Ａ４の普通紙に１−ｕｐで縁なしで印刷する場合は、４８００×６６００画素が印刷される事がわかる。
【００７３】
このようにステップＳ７３では、ステップＳ７１で取得した「情報１」を用いて、ＰＤプリンタ１０００に対応する印刷矩形画素数情報テーブル（例えば図１４（Ａ）又は（Ｂ））を決定し、同じく「情報２」を用いて、その印刷矩形画素数情報テーブルから所望の画素数を求める。この検索により、例えば「情報１」から「Model A」が判明し、「情報２」から「写真用紙」、「Ａ４」、「１ｕｐ−縁あり」が得られると、この場合の印刷矩形画素数は「４８００×６６００」であると分かる。尚、この印刷矩形画素数情報テーブルの構成についても本例に限らず他の情報を含めることが可能であることは言うまでもない。
【００７４】
次にステップＳ７４で、ステップＳ７２，７３で取得したプリンタの印刷可能最大画素数と印刷矩形画素数から、画像データのリサイズが必要か否かを判定する。リサイズが必要と判断した場合はステップＳ７５に進み、ＲＡＭ３１０２のリサイズフラグにオン（「１」）に設定するとともに、その縮小率を求めてＲＡＭ３１０２に保持しておく。一方ステップＳ７４で、リサイズが不要と判定した場合はステップＳ７６に進み、リサイズフラグをオフ（「０」）に設定する。
【００７５】
図１５は、図１０のステップＳ７４における、リサイズが必要か否かを判定する処理の詳細を説明するフローチャートである。
【００７６】
ステップＳ９１で、印刷対象の画像データの長辺画素数と、ＰＤプリンタ１０００における印刷矩形の長辺画素数とを比較する。画像データの長辺画素数の方が大きい場合はリサイズ処理が必要となるため図１０のステップＳ７５に進む。一方、画像データの長辺画素数が矩形の長辺画素数以下である場合は、画像データの長辺についてはリサイズ処理が不要であるためステップＳ９２に進む。ステップＳ９２では、短辺について同様の比較を行う。ここで画像データの短辺画素数の方が、ＰＤプリンタ１０００における印刷矩形の短辺画素数よりも大きい場合はリサイズ処理が必要となるため、図１０のステップＳ７５に進む。一方、画像データの短辺画素数が、印刷矩形領域の短辺画素数以下である場合にはリサイズ処理が不要であるためステップＳ９３に進み、これ以降は、画像データのサイズとプリンタにおける印刷可能最大画素数とを比較する。
【００７７】
まずステップＳ９３で、画像データの横方向の画素数と、横方向の印刷可能最大画素数とを比較する。ここで画像データの横方向の画素数の方が大きい場合はリサイズ処理が必要となるため図１０のステップＳ７５に進む。一方、画像データの横方向の画素数が横方向の印刷可能最大画素数以下である場合にはリサイズ処理が不要であるためステップＳ９４に進み、画像データの縦方向の画素数と、縦方向の印刷可能最大画素数とを比較する。画像データの縦方向の画素数の方が大きい場合はリサイズ処理が必要となるため、図１０のステップＳ７５に進む。一方、画像データの縦方向の画素数が縦方向の印刷可能最大画素数以下である場合にはリサイズ処理が不要であるため、図１０のステップＳ７６に進む。以上がステップＳ７４で行われる判定処理の詳細である。
【００７８】
こうしてステップＳ７５或はＳ７６を実行するとステップＳ７７に進み、レイアウト情報を取得する。
【００７９】
図１６（Ａ）〜（Ｄ）は、本実施の形態に係るレイアウト情報テーブルと、そのレイアウトを説明する図で、このレイアウト情報テーブルは、ＲＯＭ３１０１或はＲＡＭ３１０２に設けられている。また、このレイアウト情報テーブルは機種依存の情報を含む場合もあるため、複数のレイアウト情報テーブルが存在する場合もある。
【００８０】
図１６（Ａ）は、機種「Model A」のレイアウト情報テーブル例を示し、図１６（Ｂ）は、機種「Model A」においてレイアウトされて印刷される画像の向き、及び用紙の搬送方向を説明している。
【００８１】
同様に図１６（Ｃ）は、機種「Model B」のレイアウト情報テーブル例を示し、図１６（Ｄ）は、機種「Model B」においてレイアウトされて印刷される画像の向き、及び用紙の搬送方向を説明している。
【００８２】
これにより、用紙の搬送方向が、印刷された画像の上下方向に対応していることがわかる。即ち、機種「Model A」では、いずれの用紙サイズでも、２−ｕｐ以外は縦長の画像（portrait）であるのに対し、機種「Model B」では、いずれの用紙サイズでも、２−ｕｐ以外は横長の画像（landscape）である。
【００８３】
これによりステップＳ７７では、ステップＳ７１で取得した「情報１」を用いてＰＤプリンタ１０００のレイアウト情報テーブル（例えば図１６（Ａ）又は（Ｃ））を決定し、同じく「情報２」を用いて、そのレイアウト情報テーブル内を検索する。この検索により、例えば機種「Model A」であれば図１６（Ａ）のテーブルを参照して、「情報２」により用紙サイズ「Ａ４」、レイアウト「１−ｕｐ」等に対応する、印刷矩形の形状をPortrait（縦長矩形）として取得する。尚、この図１６（Ａ）（Ｃ）に示すレイアウト情報の構成についても本例に限らず他の情報を含めることが可能であることは言うまでもない。
【００８４】
次にステップＳ７８で、ステップＳ７７で取得したレイアウト情報に基づいて、画像データの回転が必要か否かを判定する。回転が必要と判定した場合はステップＳ７９に進むが、必要でないと判定した場合はステップＳ８１に進み、回転フラグにオフ（「０」）に設定して処理を終了する。例えば、画像データが横長の画像を表しており、そのサイズが縦４８００／横６４００の場合に、印刷レイアウトが縦長（Portrait）であれば画像データの矩形形状（横長矩形）と印刷矩形の形状（縦長矩形）とが異なるため、画像データの回転が必要であると判定する。
【００８５】
ステップＳ７９では、回転後の画像データのサイズが、ＰＤプリンタ１０００の印刷可能な最大画素数を超えないかを判定する。この時リサイズフラグがオン（「１」）に設定されている場合は、ＲＡＭ３１０２に保持している縮小率に従ってリサイズ、回転した画像データのサイズと印刷可能な最大画素数とを比較する。回転した画像データのサイズが印刷可能な最大画素数を超えないと判定した場合はステップＳ８０に進み、回転フラグをオン（「１」）に設定して処理を終了する。一方ステップＳ７９で、印刷可能な最大画素数を超えると判定した場合はステップＳ８１に進み、回転フラグをオフ（「０」）に設定して処理を終了する。ここで回転フラグをオフに設定するのは、画像データを回転することで画像データのサイズが印刷可能な最大画素数を超えて、ＰＤプリンタ１０００で印刷できなくなることを防ぐためである。
例えば、リサイズフラグがオフに設定されていて、元の画像データのサイズが縦４８００画素／横６４００画素であり、ＰＤプリンタ１０００における印刷可能な最大画素数が縦４８００画素／横６４００画素の場合、この画像データを時計回りに９０度回転すると、この画像データのサイズは縦６４００画素／横４８００画素に変更する。これにより、画像データの縦サイズ（６４００画素）が、ＰＤプリンタ１０００の縦方向の印刷可能最大４８００画素を超えてしまい、ＰＤプリンタ１０００では印刷できなくなる。よってこの場合は、回転フラグをオフにして、縦４８００画素／横６４００画素の画像データとして処理する。
【００８６】
尚、以上の説明において、ＤＳＣ３０１２は、プリンタのデバイス情報などの「情報１」及びCapabilityを取得し、そのプリンタの有する機能に応じたＵＩを構築して表示し、そのＵＩに基づいてＤＳＣ３０１２のユーザが設定した情報として「情報２」を取得してメモリに記憶しておき、これら「情報１」と「情報２」のうちの少なくとも１つからプリンタにおいて印刷可能な最大画素数情報を取得し、これら情報に基づいて、印刷するべき画像データを作成してプリンタに送信することができる。これにより、ＤＳＣからプリンタに送信する画像データの量や画像データのフォーマットを、プリンタにおける印刷条件に合致したものとすることができるため、プリンタにおける画像データの処理に要する負荷を軽減でき、また画像データの処理に際してプリンタで使用されるメモリ容量を少なくできる。
【００８７】
また、プリンタでの用紙サイズや印刷フォーマット等に応じて、前もって画像データを縮小してプリンタに送信するため、画像データの送信に要する時間を減少することができる。
【００８８】
更に、ＤＳＣはプリンタの印刷可能な最大画素数を知ることができるため、画像データのサイズが印刷可能な最大画素数よりも大きい場合には、前もって画像データを縮小してからプリンタに送信することができる。また、画像データを回転することにより、その画像データのサイズがプリンタの印刷可能な最大画素数を超える場合には、その画像データを回転しないようにしてプリンタに送信するため、画像データを回転することにより、その画像が印刷できなくなるという不具合を防止できる。
【００８９】
以上説明したように本実施の形態１によれば、以下のような効果がある。
（１）ＤＳＣ３０１２において画像データの回転、リサイズ等の処理を行った後、ＰＤプリンタ１０００に、その画像データを送信するため、ＰＤプリンタ１０００では特別で高価な画像処理機能を設ける必要が無く、かつ画像処理が簡略化できる。これにより高速に印刷が可能となる。
（２）ＤＳＣ３０１２で画像処理を施した画像ファイルを作成する際に、ＰＤプリンタ１０００から取得する機能情報に基づいたＵＩをＤＳＣ３０１２で作成し、そのＵＩを使用してユーザが設定した印刷条件に従って印刷を行うため、ＰＤプリンタ１０００の印刷機能などを生かした印刷処理を行うことができる。
（３）ＤＳＣ３０１２は、ＰＤプリンタ１０００の印刷可能な最大画素数を知ることができ、その情報に基づいて画像データのリサイズ、回転等の処理が必要か否かを判定するため、ＰＤプリンタ１０００の性能に適した画像ファイルを作成することができる。
（４）またプリンタに送信される画像データは、印刷に使用される画像データだけであるため、カメラからプリンタに無駄なデータが送信されるのを防止できる。またこれによりプリンタのメモリ容量を最小限に抑えることが可能となる。更に、カメラからプリンタへのデータ送信の開始後、最初の画像が印刷されるまでの時間を短縮できるという効果がある。
なお、画像データを回転することで画像データのサイズが印刷可能な最大画素数を超えて、ＰＤプリンタ１０００で印刷できなくなる場合に、画像データをリサイズにより縮小することも考えられるが、この場合には当然ながら画質が悪くなってしまう。
したがって、DSC側の設定や、プリンタ側の設定で、高画質優先ではなく、速度優先でプリントしたいと言う設定が予めなされているような場合には、画像データを回転することで画像データの縦横のいずれかが、印刷可能（プリンタが格納可能）な最大画素数を超えていても、リサイズ処理を行って、回転処理をしても格納可能な最大画素数以内の大きさにするのが良いであろう。
この場合に、高画質優先か速度優先かの設定は、例えばDCSでは、印刷太陽を設定するUI上に、優先モードを設定するメニューを設けることで設定可能としても良い。そしてこの優先モードを指定するメニューはいつでも設定可能にしても良い。
しかし、回転処理により画像データの縦横のいずれかが、印刷可能（プリンタが格納可能）な最大画素数を超えてしまう場合に表示させるようにすると、画質を落としてしまうような設定をなるべくさせないことが出来、さらに満足度は高いであろう
なぜなら、最大画素数を超えるような画像データを扱うユーザは、もともと高画質嗜好が強いことが大いに考えられるからである。
［実施の形態２］
次に本発明の実施の形態２について説明する。尚、この実施の形態２に係るＤＳＣ３０１２及びＰＤプリンタ１０００のハードウェア構成は前述の実施の形態１と同様であるため、その説明を省略する。また本発明の実施の形態２に係るデジタルカメラ（ＤＳＣ）３０１２とＰＤプリンタ１０００との間で通信を行って、ＤＳＣ３０１２からＰＤプリンタ１０００に画像データを供給して印刷を行う場合の処理は前述の実施の形態１と同様であるため、前述の図６を引用し、その説明を省略する。更に本発明の実施の形態２に係るＤＳＣ３０１２における画像ファイルの作成処理についても、前述の実施の形態１と同様であるため、前述の図９を引用し、その説明を省略する。
【００９０】
図１７は、本実施の形態２に係るＤＳＣ３０１２におけるリサイズフラグ、回転フラグの設定処理（図９のステップＳ４２）を説明するフローチャートである。図において、前述の図１０と共通する処理には同じ記号を付して、その説明を省略する。
【００９１】
ステップＳ７９において、回転後の画像データのサイズが、ＰＤプリンタ１０００の印刷可能な最大画素数を超えると判定した場合はステップＳ１０１に進み、ＲＡＭ３１０２のリサイズフラグをオフ（「０」）に設定するとともに、回転後の画像データのサイズが、ＰＤプリンタ１０００における印刷可能な最大画素数内に収まるように、その画像データを縮小するための縮小率を求める。そしてその求めた縮小率をＲＡＭ３１０２に記憶すしてステップＳ８０に進む。ここでは例えば、リサイズフラグ画オフに設定されており、元の画像データのサイズが縦４８００画素／横６４００画素で、ＰＤプリンタ１０００の印刷可能な最大画素数が縦４８００画素／横６４００画素の場合を考える。この場合、画像を回転しない場合には、その画像データのサイズは印刷可能領域に収容できるので問題はない。しかし、例えば画像データを時計回りに９０度回転すると指定されると、回転後の画像データのサイズは縦６４００画素／横４８００画素となり、縦方向の印刷可能な最大画素数である４８００画素を超えてしまう。そこで、このような場合には、リサイズフラグをオン（「１」）に設定し、縮小率を「３/４」（＝４８００／６４００）に設定する。こうして画像の回転及びリサイズを行った後の画像データのサイズは、縦４８００画素、横３６００画素となり、印刷可能な最大画素数内に収めることができる。
【００９２】
以上説明したように本実施の形態２によれば、画像データを回転することにより、その画像データのサイズがプリンタが印刷可能な最大画素数を超えてしまう場合でも、回転後の画像データのサイズを、その印刷可能な最大画素数内に収まるように縮小してプリンタに画像データを供給できる。このため、常にプリンタの印刷条件に合致した印刷用の画像データを作成して供給できるのでプリンタにおける処理の負荷を軽減させて高速で高画質な印刷が可能となる。
【００９３】
［実施の形態３］
次に本発明の実施の形態３について説明する。この実施の形態３では、印刷可能な最大画素数情報をプリンタから取得して印刷する場合について説明する。尚、この実施の形態３に係るＤＳＣ３０１２及びＰＤプリンタ１０００のハードウェア構成は前述の実施の形態１と同様であるため、その説明を省略する。また本発明の実施の形態３に係るデジタルカメラ（ＤＳＣ）３０１２とＰＤプリンタ１０００との間で通信を行って、ＤＳＣ３０１２からＰＤプリンタ１０００に画像データを供給して印刷を行う場合の処理は前述の実施の形態１と同様であるため、前述の図６を引用し、その説明を省略する。更に、本発明の実施の形態３に係るＤＳＣ３０１２における画像ファイルの作成処理についても前述の実施の形態１と同様であるため、前述の図９を引用し、その説明を省略する。
【００９４】
図１８は、本実施の形態３の特徴であるＰＤプリンタ１０００からＤＳＣ３０１２に送信されるCapability情報を示したschemaの一例を示す図である。このCapability情報は、図６のステップＳ２２で、ＰＤプリンタ１０００からＤＳＣ３０１２に送信される。このschemaでは、行７０２に、ＰＤプリンタ１０００が印刷可能な最大画像サイズ（maxSupportSizes）が記述されている。
【００９５】
＜maxSupportSizes＞  FBAA19CB   FBAB12C0
は、最大画像サイズの情報を表している。
【００９６】
このschemaはステップＳ３でＤＳＣ３０１２により受信され、これを受信したＤＳＣ３０１２は、ＰＤプリンタ１０００とＤＳＣ３０１２との間で予め取り決めている事項に従って、＜maxSupportSizes＞の行７０２に含まれる情報がＰＤプリンタ１０００において印刷可能な最大画像サイズを表していると認識する。行７０２の２つの８桁の文字列のそれぞれにおいて、上位４桁は画像の方向（縦／横）を示し、下位４桁は実際の印刷サイズを１６進法で示している。上位４桁の「ＦＢＡＡ」は横方向を示し、「ＦＢＡＢ」は縦方向を示している。そして縦方向の下位４桁「19CB」は１０進数の「６４００」に該当している。また横方向の下位４桁の「12C0」は１０進数の「４８００」に相当している。従って、この場合は、ＰＤプリンタ１０００における印刷可能な最大画素数は、縦方向が６４００画素で、横方向が４８００画素であることが分かる。
【００９７】
図１９は、本発明の実施の形態３に係るＤＳＣ３０１２におけるリサイズフラグ、回転フラグの設定処理（図９のステップＳ４２）を説明するフローチャートである。図において、前述の図１０と共通する処理には同じ記号を付して、その説明を省略する。
【００９８】
ステップＳ１１１では、ステップＳ７１でＲＡＭ３１０２に記憶した「情報１」と「情報２」を取得する。ここで「情報１」は、例えば図１１に示すデバイス情報であり、例えばVendor名、プリンタ名、Version情報等が含まれている。また「情報２」は、例えば図１２に示すような、ユーザにより設定された情報であり、例えば用紙サイズ、紙種、レイアウト、縁あり／なしの情報等が含まれている。また「情報１」「情報２」のいずれかには、上述したCapability情報で取得した印刷可能な最大画素数情報も含まれている。
【００９９】
そして、印刷可能な最大画素数の情報を記憶するテーブルを作成する。このテーブルは、例えば前述の図１３に示すような、印刷可能な最大画素数の情報を記憶しているテーブルと同じである。尚、ここでは、このテーブルを構成する要素は、上述したCapability情報で取得した印刷可能な最大画素数である。また、この作成したテーブルはＲＡＭ３１０２に格納される。その他の処理については、本実施の形態１の図１０のフローチャートと同様であるため、その説明を省略する。
【０１００】
以上説明したように本実施の形態３によれば、ＤＳＣ３０１２は印刷可能な画素数をＰＤプリンタ１０００から取得して、画像データのリサイズや回転が必要であるかを判定することが可能である。
【０１０１】
また、印刷可能な画素数を、プリンタから取得できない場合は、ＤＳＣ３０１２に前もって記憶している情報を基に、前述の実施の形態１と同様に印刷することも可能であることは言うまでもない。
【０１０２】
更に、印刷矩形情報、レイアウト情報も前述のCapability情報に含めても良く、ＤＳＣ３０１２はこれら情報を予め記憶しておく代わりに、ＰＤプリンタ１０００からのCapability情報に基づいて判定しても良い。
【０１０３】
以上説明したように本実施の形態３によれば、ＤＳＣに前もって印刷特性情報や印刷機能を記憶していないプリンタが接続された場合にでも、そのプリンタからのCapability情報により、プリンタに出力する画像データのリサイズ、回転が必要か否かを判定して、そのプリンタに適した画像処理を実行することができる。またこうして処理された画像データがプリンタに送信されて印刷されるため、プリンタの処理の負荷を軽減して高速で印刷が可能となる。
【０１０４】
［他の実施の形態］
本発明の目的は前述したように、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１０５】
またコンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【０１０６】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施の形態に係るＰＤプリンタの概観斜視図である。
【図２】本実施の形態に係るＰＤプリンタの操作パネルの概観図である。
【図３】本実施の形態に係るＰＤプリンタの制御に係る主要部の構成を示すブロック図である。
【図４】本実施の形態に係るＤＳＣの構成を示すブロック図である。
【図５】本実施の形態に係る印刷システムにおいて、ＤＳＣからＰＤプリンタに対してプリント要求を発行して印刷を行う場合の大まかな信号フローを説明する図である。
【図６】本発明の実施の形態１に係るデジタルカメラ（ＤＳＣ）とＰＤプリンタとの間で通信を行って、ＤＳＣからＰＤプリンタに画像データを供給して印刷を行う場合の処理を説明する図である。
【図７】図６のステップＳ２２で、ＰＤプリンタからＤＳＣに送信されるCapability情報のschemaの一例を示す図である。
【図８】本実施の形態に係るＰＤプリンタにおける画像データの処理（ステップＳ２８）を説明するフローチャートである。
【図９】本発明の実施の形態に係るＤＳＣにおける画像ファイルの作成処理（ステップＳ１０）を説明するフローチャートである。
【図１０】本発明の実施の形態１に係るＤＳＣにおけるリサイズフラグ、回転フラグの設定処理（図９のステップＳ４２）を説明する図である。
【図１１】本実施の形態に係る「情報１」（デバイス情報）の具体例を説明する図である。
【図１２】本実施の形態に係る「情報２」（ＵＩ設定情報）の具体例を説明する図である。
【図１３】本発明の実施の形態に係る印刷可能な最大画素数情報を記憶しているテーブルのデータ構成例を示す図である。
【図１４】本発明の実施の形態に係る印刷矩形領域の画素数を記憶しているテーブルデータの一例を示す図である。
【図１５】図１０のステップＳ７４における、リサイズが必要か否かを判定する処理の詳細を説明するフローチャートである。
【図１６】本発明の実施の形態に係るレイアウト情報テーブルと、そのレイアウトを説明する図である。
【図１７】本発明の実施の形態２に係るＤＳＣにおけるリサイズフラグ、回転フラグの設定処理（図９のステップＳ４２）を説明するフローチャートである。
【図１８】本実施の形態３の特徴であるＰＤプリンタからＤＳＣに送信されるCapability情報を示したschemaの一例を示す図である。
【図１９】本発明の実施の形態３に係るＤＳＣ３０１２におけるリサイズフラグ、回転フラグの設定処理（図９のステップＳ４２）を説明するフローチャートである。
【図１】
2006085296.tif 000003
【図２】
2006085296.tif 000004
【図３】
2006085296.tif 000005
【図４】
2006085296.tif 000006
【図５】
2006085296.tif 000007
【図６】
2006085296.tif 000008
【図７】
2006085296.tif 000009
【図８】
2006085296.tif 000010
【図９】
2006085296.tif 000011
【図１０】
2006085296.tif 000012
【図１１】
2006085296.tif 000013
【図１２】
2006085296.tif 000014
【図１３】
2006085296.tif 000015
【図１４】
2006085296.tif 000016
【図１５】
2006085296.tif 000017
【図１６】
2006085296.tif 000018
【図１７】
2006085296.tif 000019
【図１８】
2006085296.tif 000020
【図１９】
2006085296.tif 000021