(57)【要約】【課題】  プリンタのCapabilityで許容されないファイルフォーマットの画像ファイルは印刷不可能となる。【解決手段】  ＤＳＣとプリンタとの間の通信接続により、プリンタのcapabilityを取得し（Ｓ３）、そのcapabilityに基づいてＵＩを構築し（Ｓ４）、メモリカードに記憶している複数の画像ファイルから、そのプリンタで印刷可能な画像ファイルを抽出し（Ｓ５）、その抽出された画像ファイルの中から印刷対象の画像ファイルを選択する（Ｓ６）。そしてＵＩに基づいて設定された印刷仕様と、選択された画像ファイルとcapabilityとに応じて、その画像ファイルの画像データを変換して（Ｓ１１）プリンタに送信する。【選択図】  図６
2007004715.tif 000002
【特許請求の範囲】
【請求項１】
データ供給デバイスと印刷装置とを有し、前記データ供給デバイスから供給される印刷データに基づいて前記印刷装置により画像を印刷する印刷システムであって、
前記データ供給デバイスは、
データファイルを記憶する記憶手段と、
前記印刷装置の機能情報を取得する手段と、
印刷仕様設定のためのＵＩを表示する手段と、
前記記憶手段に記憶されている複数のデータファイルから前記印刷装置で印刷可能なデータファイルを抽出するデータ抽出手段と、
前記データ抽出手段により抽出されたデータファイルの中から印刷対象のデータファイルを選択する選択手段と、
前記選択手段により選択されたデータファイルと前記機能情報とに応じて前記データファイルを、前記印刷装置が処理可能な印刷データに変換する変換手段と、
前記印刷装置からのデータ要求に応じて、前記変換手段により変換した印刷データを前記印刷装置に送信する送信手段とを有し、
前記印刷装置は前記データ要求に応じて前記送信手段により送信された前記処理データに基づいて画像を印刷することを特徴とする印刷システム。
【請求項２】
前記機能情報は、前記印刷装置が印刷可能なデータのフォーマット情報を含み、
前記抽出手段は、前記機能情報に含まれる前記印刷装置が印刷可能なフォーマットを有するデータファイルを抽出することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記機能情報は、前記印刷装置が印刷可能なデータファイルのフォーマットを含み、
前記データ抽出手段は、前記機能情報に含まれる前記印刷装置が印刷可能なフォーマットに変換可能データファイルを抽出することを特徴とする請求項１に記載の印刷システム。
【請求項４】
前記変換手段による変換は、データファイルのフォーマット変換、変倍、色変換、回転の少なくともいずれかを含むことを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項５】
前記変換手段は、前記印刷装置から印刷対象のデータファイルに関する情報の取得要求に応じて、前記印刷対象のデータファイルのデータ変換処理を開始することを特徴とする請求項１乃至４のいずれか１項に記載の印刷システム。
【請求項６】
前記変換手段は、前記印刷対象のデータファイルの印刷が複数ページに亘る場合に前記データファイルをページ単位で分割し、前記印刷装置からのファイル情報の取得要求に応じて各ページ分の画像データに変換することを特徴とする請求項１乃至５のいずれか１項に記載の印刷システム。
【請求項７】
前記変換手段は、前記印刷対象のデータファイルに他のデータファイルへのリンクが貼られているかを検索するリンク検索部を有し、リンクが貼られたデータが存在した場合に当該リンク先のデータファイルを、前記印刷対象のデータファイルと同様に変換することを特徴とする請求項１乃至６のいずれか１項に記載の印刷システム。
【請求項８】
前記変換手段は、
前記印刷対象のデータファイルの印刷が複数ページに亘る場合に、各ページの印刷サイズを、印刷するシートのサイズに基づいて決定するサイズ決定手段と、
前記シートのアスペクト比に合わせて前記各ページを変倍する変倍手段と、
前記変倍手段により変倍した画像に余白部分を付加する余白付加手段と、
を具備することを特徴とする請求項６又は７に記載の印刷システム。
【請求項９】
前記印刷対象のデータの印刷が複数ページに亘る場合に、ページ分割数分のハンドルを生成する手段を更に有し、
前記印刷装置からのデータ要求は、前記ハンドルに応じて発行されることを特徴とする請求項８に記載の印刷システム。
【請求項１０】
前記変換手段により変換された前記印刷データは、圧縮された画像データであることを特徴とする請求項１乃至９のいずれか１項にに記載の印刷システム。
【請求項１１】
印刷装置と直接通信し、当該印刷装置に印刷データを供給するデータ供給デバイスであって、
データファイルを記憶する記憶手段と、
前記印刷装置の機能情報を取得する手段と、
印刷仕様設定のためのＵＩ表示する手段と、
前記記憶手段に記憶されている複数のデータファイルから前記印刷装置で印刷可能なデータファイルを抽出する抽出手段と、
前記抽出手段により抽出されたデータファイルの中から印刷対象のデータファイルを選択する選択手段と、
前記選択手段により選択されたデータファイルと、前記機能情報とに応じて前記データファイルを、前記印刷装置が処理可能な印刷データに変換する変換手段と、
前記印刷装置からのデータ要求に応じて、前記変換手段により変換した印刷データを前記印刷装置に送信する送信手段とを有し、
前記印刷装置は前記データ要求に応じて前記送信手段により送信された前記印刷データに基づいて印刷することを特徴とするデータ供給デバイス。
【請求項１２】
前記機能情報は、前記印刷装置が印刷可能なデータファイルのフォーマットを含み、
前記抽出手段は、前記機能情報に含まれる前記印刷装置が印刷可能なフォーマットのデータファイルを抽出することを特徴とする請求項１１に記載のデータ供給デバイス。
【請求項１３】
前記機能情報は、前記印刷装置が印刷可能なデータファイルのフォーマットを含み、
前記抽出手段は、前記機能情報に含まれる前記印刷装置が印刷可能フォーマットに変換可能なフォーマットのデータファイルを抽出することを特徴とする請求項１１に記載のデータ供給デバイス。
【請求項１４】
前記変換手段による変換は、データファイルのフォーマット変換、変倍、色変換、回転の少なくともいずれかを含むことを特徴とする請求項１１乃至１３のいずれか１項に記載のデータ供給デバイス。
【請求項１５】
前記変換手段は、前記印刷装置からの印刷対象のデータファイルに関する情報の取得要求に応じて、前記印刷対象のデータファイルから印刷データへの変換を開始することを特徴とする請求項１１乃至１４のいずれか１項に記載のデータ供給デバイス。
【請求項１６】
前記変換手段は、前記印刷対象のデータファイルの印刷が複数ページに亘る場合に前記データファイルをページ単位で分割し、前記印刷装置からの印刷対象のデータファイルに関する情報の取得要求に応じて、データファイルを各ページ分の印刷データに変換することを特徴とする請求項１１乃至１５のいずれか１項に記載のデータ供給デバイス。
【請求項１７】
前記変換手段は、前記印刷対象のデータファイルに他のデータファイルへのリンクが貼られているかを検索するリンク検索部を有し、リンクが貼られたデータが存在した場合に当該リンク先のデータファイルを、前記印刷対象のデータファイルと同様に変換することを特徴とする請求項１１乃至１６のいずれか１項に記載のデータ供給デバイス。
【請求項１８】
前記変換手段は、
前記印刷対象のデータファイルの印刷が複数ページに亘る場合に、各ページの画像サイズを印刷するシートのサイズに基づいて決定するサイズ決定手段と、
前記シートのアスペクト比に合わせて前記各ページのデータを変倍する変倍手段と、
前記変倍手段により変倍した画像に余白部分を付加する余白付加手段と、
を具備することを特徴とする請求項１６又は１７に記載のデータ供給デバイス。
【請求項１９】
前記印刷対象のデータファイルの印刷が複数ページに亘る場合に、前記データファイルのページ分割数分のハンドルを生成する手段を更に有し、
前記印刷装置からの印刷データ要求は、前記ハンドルに応じて発行されることを特徴とする請求項１８に記載のデータ供給デバイス。
【請求項２０】
印刷装置と直接通信し、当該印刷装置に画像データを供給する画像供給デバイスの制御方法であって、
前記印刷装置の機能情報を取得する工程と、
印刷仕様設定のためのＵＩを表示する工程と、
データファイルを記憶するメモリに記憶されている複数のデータファイルから前記印刷装置で印刷可能なデータファイルを抽出するデータ抽出工程と、
前記データ抽出工程で抽出されたデータファイルの中から印刷対象のデータファイルを選択する選択工程と、
前記選択工程で選択されたデータファイルと前記機能情報とに応じて前記データファイルを、前記印刷装置が処理可能な印刷データに変換する変換工程と、
前記印刷装置からのデータ要求に応じて、前記変換工程で変換した印刷データを前記印刷装置に送信する送信工程と、
を有することを特徴とする画像供給デバイスの制御方法。
【請求項２１】
前記機能情報は、前記印刷装置が印刷可能なデータのフォーマット情報を含み、
前記抽出工程は、前記機能情報に含まれる前記印刷装置が印刷可能なフォーマットを有するデータファイルを抽出することを特徴とする請求項２０に記載の画像供給デバイスの制御方法。
【請求項２２】
前記機能情報は、前記印刷装置が印刷可能なデータファイルのフォーマットを含み、
前記データ抽出工程では、前記機能情報に含まれる前記印刷装置が印刷可能なフォーマットに変換可能データファイルを抽出することを特徴とする請求項２０に記載の画像供給デバイスの制御方法。
【請求項２３】
前記変換工程での変換は、画像ファイルのフォーマット変換、変倍、色変換、回転の少なくともいずれかを含むことを特徴とする請求項２０乃至２２のいずれか１項に記載の画像供給デバイスの制御方法。
【請求項２４】
前記変換工程では、前記印刷装置から印刷対象のデータファイルに関する情報の取得要求に応じて、前記印刷対象のデータファイルのデータ変換処理を開始することを特徴とする請求項２０乃至２３のいずれか１項に記載の画像供給デバイスの制御方法。
【請求項２５】
前記変換工程では、前記印刷対象のデータファイルの印刷が複数ページに亘る場合に前記データファイルをページ単位で分割し、前記印刷装置からのファイル情報の取得要求に応じて各ページ分の画像データに変換することを特徴とする請求項２０乃至２４のいずれか１項に記載の画像供給デバイスの制御方法。
【請求項２６】
前記変換工程では、前記印刷対象のデータファイルに他のデータファイルへのリンクが貼られているかを検索するリンク検索部を有し、リンクが貼られたデータが存在した場合に当該リンク先のデータファイルを、前記印刷対象のデータファイルと同様に変換することを特徴とする請求項２０乃至２５のいずれか１項に記載の画像供給デバイスの制御方法。
【請求項２７】
前記変換工程は、
前記印刷対象のデータファイルの印刷が複数ページに亘る場合に、各ページの印刷サイズを、印刷するシートのサイズに基づいて決定するサイズ決定工程と、
前記シートのアスペクト比に合わせて前記各ページを変倍する変倍工程と、
前記変倍工程で変倍した画像に余白部分を付加する余白付加工程と、
を具備することを特徴とする請求項２５又は２６に記載の画像供給デバイスの制御方法。
【請求項２８】
前記印刷対象のデータの印刷が複数ページに亘る場合に、ページ分割数分のハンドルを生成する工程を更に有し、
前記印刷装置からのデータ要求は、前記ハンドルに応じて発行されることを特徴とする請求項２７に記載の画像供給デバイスの制御方法。
【請求項２９】
請求項２０乃至２８のいずれか１項に記載の制御方法を実行することを特徴とするプログラム。
【請求項３０】
請求項２９に記載のプログラムを記憶することを特徴とする、コンピュータにより読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像供給デバイスと印刷装置とを有し、前記画像供給デバイスから供給される画像データに基づいて前記印刷装置により画像を印刷する印刷システム、及びその画像供給デバイス及び該デバイスの制御方法に関するものである。
【背景技術】
【０００２】
プリンタとデジタルスチルカメラ（以下ＤＳＣ）をＵＳＢ等のインタフェースを介して直接接続し、ＤＳＣの記憶媒体（メモリカード）に記憶されている写真画像をプリンタに送信して印刷する、カメラダイレクトプリントシステムが一般的となってきている。このようなプリントシステムでは、一般的にはＤＳＣから、印刷対象となるＪＰＥＧ画像ファイルをプリンタに送信し、プリンタ側で、そのＪＰＥＧ画像ファイルの解凍、色変換、リサイズ等を行い、印刷可能なデータ形式に変換して印刷を行っている。
【０００３】
またＤＳＣで、撮影画像をプリント専用に処理した後プリンタに送信して印刷するシステムが提案されている（特許文献１〜４）。特許文献１には、一般的でない固有のプロトコルを用いて、ＤＳＣからの画像と、プリンタ側の用紙サイズ等の印刷態様に応じた画像の印刷を可能にしている。具体的には、ＤＳＣからの画像とプリンタの印刷能力、例えば解像度、サイズ、紙の方向の対応を適切に行えるデジタルカメラダイレクトプリントシステムが提案されている。
【０００４】
特許文献２には、プリンタでの処理負荷の低減を目的とし、ＤＳＣでＪＰＥＧファイルの解凍、色変換、リサイズ等を行ってプリント可能なデータ形式へ変換してプリンタに送信し、プリンタにおける画像処理負荷の低減を図る技術が記載されている。
【０００５】
更に特許文献３では、プリンタ毎の色再現特性のばらつきをＤＳＣで補正し、ＪＰＥＧ等の一般的な画像ファイルに変換してプリンタに送信している。これによりプリンタ毎の印刷特性に依存しない安定した画像を得ることが記載されている。
【０００６】
更に特許文献４では、ＨＴＭＬなどのページの概念がない文書を印刷する際に、各種パーザによる描画判定を行わずに、各々の文書描画オブジェクトを描画する時点で描画判定を行っている。これにより、オリジナルの配置イメージを崩さず、かつ文書描画オブジェクトの分断を抑制できる印刷装置が記載されている。
【特許文献１】特開平８−３２９１１号公報
【特許文献２】特開平１０−２９０４７０号公報
【特許文献３】特開２００３−１３４４５７号公報
【特許文献４】特開平１０−７４２６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このような背景に伴い、上述のダイレクトプリントシステムにおいて、本願発明者は以下のような新たな課題を見つけるに至った。
（１）上述の公知例には、ＤＳＣがプリンタからプリンタの印刷態様や印刷特性を取得する旨の記載があるが、そのプリンタの印刷特性に関する情報をプリンタとＤＳＣとの間で通信する方法について具体的な記載が無い。例えば、印刷指定可能な画像ファイルは、そのプリンタのCapabilityで許容されるファイルフォーマットの範囲内であればＤＳＣでユーザが任意に設定及び選択できる。逆にこのようなシステムでは、プリンタのCapabilityで許容されないファイルフォーマットの画像ファイルは印刷不可能となる。
（２）プリンタのCapabilityで許容されるファイルフォーマットの候補として、ＨＴＭＬやＸＨＴＭＬ等が挙げられている。しかしＨＴＭＬやＸＨＴＭＬは、内部に他の画像ファイル等へのリンクが存在し得るフォーマットであるため、そのリンク先の画像データは、プリンタの許容範囲でなければ印刷不可能となる。そのため、ＨＴＭＬやＸＨＴＭＬの画像ファイルを受信して印刷可能なプリンタに、単純にＨＴＭＬファイル等を送信したのでは、満足のいかない印刷結果が得られる可能性がある。
（３）ダイレクトプリントでは、様々なサイズの画像データを様々なサイズの用紙に割り付けて印刷する。この際に、ＤＳＣから送信された画像データをどのような向きで、どのような大きさで用紙に割り付けるのかまでは指定できず、各プリンタが何かしらの規則に従って画像を展開する向きや変倍率を決定している。この際、良好な印刷結果を得るために、通常はＤＳＣから送信された画像サイズを基に画像の向きや変倍率を決定している。このため、ＨＴＭＬ文書などを複数ページに分割して印刷する際に、ページごとにプリンタに送信される画像のサイズやアスペクト比が異なってしまうと、ページごとに画像データを展開する向きや方向がばらばらになり、満足な印刷結果が得られなくなる。
【０００８】
特許文献１では、プリンタが印刷可能な印刷態様をＤＳＣに通知し、ＤＳＣではそれに従って印刷態様を変更している。このため、前述の課題に対応できない。また特許文献２及び３には、ＤＳＣがプリンタの印刷特性をプリンタから取得する旨の記載があるが、その取得した印刷特性だけに基づいてプリンタに送信する画像データの変換を実行しているため、やはりこれらの件も前述の課題に対応できない。また特許文献４は、ページ概念のない文書のページ分割を良好に行うための発明であり、これだけでは前述の課題に対応できない。
【０００９】
本発明は、上記従来技術の欠点を解決することにある。
【００１０】
また本願発明の特徴は、印刷装置からの機能情報に対応する画像ファイル、及び画像供給デバイスでフォーマット変換して印刷可能となる画像ファイルも含めた印刷可能な画像ファイルを抽出する。そして設定された印刷条件に従って画像データを画像供給デバイスで処理して印刷装置に送信する画像供給デバイス及びその制御方法及び、印刷システムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一態様に係る印刷システムは以下のような構成を備える。即ち、
データ供給デバイスと印刷装置とを有し、前記データ供給デバイスから供給される印刷データに基づいて前記印刷装置により画像を印刷する印刷システムであって、
前記データ供給デバイスは、
データファイルを記憶する記憶手段と、
前記印刷装置の機能情報を取得する手段と、
印刷仕様設定のためのＵＩを表示する手段と、
前記記憶手段に記憶されている複数のデータファイルから前記印刷装置で印刷可能なデータファイルを抽出するデータ抽出手段と、
前記データ抽出手段により抽出されたデータファイルの中から印刷対象のデータファイルを選択する選択手段と、
前記選択手段により選択されたデータファイルと前記機能情報とに応じて前記データファイルを、前記印刷装置が処理可能な印刷データに変換する変換手段と、
前記印刷装置からのデータ要求に応じて、前記変換手段により変換した印刷データを前記印刷装置に送信する送信手段とを有し、
前記印刷装置は前記データ要求に応じて前記送信手段により送信された前記処理データに基づいて画像を印刷することを特徴とする。
【００１２】
本発明の一態様に係る画像供給デバイスは以下のような構成を備える。即ち、
印刷装置と直接通信し、当該印刷装置に画像データを供給する画像供給デバイスであって、
印刷装置と直接通信し、当該印刷装置に印刷データを供給するデータ供給デバイスであって、
データファイルを記憶する記憶手段と、
前記印刷装置の機能情報を取得する手段と、
印刷仕様設定のためのＵＩ表示する手段と、
前記記憶手段に記憶されている複数のデータファイルから前記印刷装置で印刷可能なデータファイルを抽出する抽出手段と、
前記抽出手段により抽出されたデータファイルの中から印刷対象のデータファイルを選択する選択手段と、
前記選択手段により選択されたデータファイルと、前記機能情報とに応じて前記データファイルを、前記印刷装置が処理可能な印刷データに変換する変換手段と、
前記印刷装置からのデータ要求に応じて、前記変換手段により変換した印刷データを前記印刷装置に送信する送信手段とを有し、
前記印刷装置は前記データ要求に応じて前記送信手段により送信された前記印刷データに基づいて印刷することを特徴とする。
【００１３】
又本発明の一態様に係る画像供給デバイスの制御方法は以下のような工程を有する。即ち、
印刷装置と直接通信し、当該印刷装置に画像データを供給する画像供給デバイスの制御方法であって、
前記印刷装置の機能情報を取得する工程と、
印刷仕様設定のためのＵＩを表示する工程と、
データファイルを記憶するメモリに記憶されている複数のデータファイルから前記印刷装置で印刷可能なデータファイルを抽出するデータ抽出工程と、
前記データ抽出工程で抽出されたデータファイルの中から印刷対象のデータファイルを選択する選択工程と、
前記選択工程で選択されたデータファイルと前記機能情報とに応じて前記データファイルを、前記印刷装置が処理可能な印刷データに変換する変換工程と、
前記印刷装置からのデータ要求に応じて、前記変換工程で変換した印刷データを前記印刷装置に送信する送信工程とを有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、印刷装置の印刷仕様に含まれないフォーマットの画像データでも、その印刷装置により印刷させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。また本実施の形態では、デジタルカメラ（ＤＳＣ）とプリンタとの間でダイレクトプリントを実現する場合で説明するが、本発明はこれに限定されるものではない。
【００１６】
図１は、本発明の実施の形態に係るフォトダイレクトプリンタ装置（以下、ＰＤプリンタ）１０００の概観斜視図である。このＰＤプリンタ１０００は、ホストコンピュータ（ＰＣ）からデータを受信して印刷する通常のＰＣプリンタとしての機能を有している。更に、メモリカードなどの記憶媒体に記憶されている画像データ等のデータを直接読取って印刷したり、或いはデジタルカメラやＰＤＡなどからの画像データを受信して印刷する機能を備えている。
【００１７】
図１において、本実施の形態に係るＰＤプリンタ１０００の外殻をなす本体は、下ケース１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。また、下ケース１００１は、ＰＤプリンタ１０００の略下半部を、上ケース１００２は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造を有している。そして、その上面部及び前面部にはそれぞれ開口部がされている。さらに、排出トレイ１００４は、その一端部が下ケース１００１に回転自在に保持され、その回転によって下ケース１００１の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ１００４を前面側へと回転させて開口部を開成させることにより、ここから記録されたシート（普通紙、専用紙、樹脂シート等を含む。以下単にシートとする）が排出可能となる。さらに、排出されたシートを順次積載し得るようになっている。また排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて各トレイを手前に引き出すことにより、シートの支持面積を３段階に拡大、縮小させ得るようになっている。
【００１８】
アクセスカバー１００３は、その一端部が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るようになっている。そして、このアクセスカバー１００３を開くことによって本体内部に収納されている記録ヘッドカートリッジ（不図示）或いはインクタンク（不図示）等の交換が可能となる。尚、ここでは特に図示しないが、アクセスカバー１００３を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっている。そして、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバー１００３の開閉状態を検出し得るようになっている。
【００１９】
また、上ケース１００２の上面には、電源キー１００５が設けられている。また、上ケース１００２の右側には、液晶表示部１００６や各種キースイッチ等を備える操作パネル１０１０が設けられている。この操作パネル１０１０の構造は、図２を参照して詳しく後述する。１００７は自動給送部で、シートを装置本体内へと自動的に給送する。１００８は紙間選択レバーで、プリントヘッドとシートとの間隔を調整するためのレバーである。１００９はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データやHTMLファイル等のデータを直接取り込んで印刷することができる。このメモリカード（ＰＣ）としては、例えばコンパクトフラッシュ（登録商標）メモリ、スマートメディア、メモリスティック等がある。１０１１はビューワ（液晶表示部）で、このＰＤプリンタ１０００の本体に着脱可能であり、ＰＣカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、１コマ毎の画像やインデックス画像などを表示するのに使用される。１０１２は後述するデジタルカメラを接続するためのＵＳＢ端子である。また、このＰＤ装置１０００の後面には、パーソナルコンピュータ（ＰＣ）を接続するためのＵＳＢコネクタが設けられている。
【００２０】
図２は、本実施の形態に係るＰＤプリンタ１０００の操作パネル１０１０の概観図である。
【００２１】
図において、液晶表示部１００６には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここに表示される項目としては、例えば、複数ある写真画像ファイルの内、印刷したい写真画像の先頭番号、指定コマ番号（開始コマ指定／印刷コマ指定）、印刷を終了したい最後の写真番号（終了）、印刷部数（部数）、印刷に使用するシートの種類（用紙種類）、１枚のシートに印刷する写真の枚数設定（レイアウト）、印刷の品位の指定（品位）、撮影した日付を印刷するかどうかの指定（日付印刷）、写真を補正して印刷するかどうかの指定（画像補正）、印刷に必要なシートの枚数表示（用紙枚数）等がある。これら各項目は、カーソルキー２００１を用いて選択、或いは指定される。２００２はモードキーで、このキーを押下する毎に、印刷の種類（インデックス印刷、全コマ印刷、１コマ印刷、指定コマ印刷等）を切り替えることができ、これに応じてＬＥＤ２００３の対応するＬＥＤが点灯される。２００４はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。２００５は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。２００６は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【００２２】
次に図３を参照して、本実施の形態に係るＰＤプリンタ１０００の制御に係る主要部の構成を説明する。尚、この図３において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００２３】
図３は、本実施の形態に係るＰＤプリンタの制御に係る主要部の構成を示すブロック図である。
【００２４】
図３において、３０００は制御部（制御基板）を示している。３００１はＡＳＩＣ（専用カスタムＬＳＩ）を示している。３００２はＤＳＰ（デジタル信号処理プロセッサ）で、内部にＣＰＵを有し、後述する各種制御処理及び、輝度信号（ＲＧＢ）から濃度信号（ＣＭＹＫ）への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。３００３はメモリで、ＤＳＰ３００２のＣＰＵの制御プログラムを記憶するプログラムメモリ３００３ａ、及び実行時のプログラムを記憶するＲＡＭエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。３００４はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。３００５はデジタルカメラ（ＤＳＣ）３０１２を接続するためのポートとしてのＵＳＢコネクタである。３００６はビューワ１０１１を接続するためのコネクタである。３００８はＵＳＢハブ(USBHUB)で、このＰＤプリンタ１０００がＰＣ３０１０からの画像データに基づいて印刷を行う際には、ＰＣ３０１０からのデータをそのままスルーし、ＵＳＢ３０２１を介してプリンタエンジン３００４に出力する。これにより、接続されているＰＣ３０１０は、プリンタエンジン３００４と直接、データや信号のやり取りを行って印刷を実行することができる（一般的なＰＣプリンタとして機能する）。３００９は電源コネクタで、電源３０１９により、商用ＡＣから変換された直流電圧を入力している。ＰＣ３０１０は一般的なパーソナルコンピュータ、３０１１は前述したメモリカード（ＰＣカード）、３０１２はデジタルカメラ（ＤＳＣ：DigitalStillCamera)である。尚、この制御部３０００とプリンタエンジン３００４との間の信号のやり取りは、前述したＵＳＢ３０２１又はＩＥＥＥ１２８４バス３０２２を介して行われる。
【００２５】
図４は、本実施の形態に係るＤＳＣ（デジタルカメラ）３０１２の構成を示すブロック図である。
【００２６】
同図において、３１００はＤＳＣ３０１２全体の制御を司るＣＰＵであり、３１０１はＣＰＵ３１００による処理手順を記憶しているＲＯＭである。３１０２はＣＰＵ３１００のワークエリアとして使用されるＲＡＭであり、３１０３は各種操作を行うスイッチ群で、シャッター、モード切替スイッチ、選択スイッチやカーソルキー等が含まれている。２７００は液晶表示部であり、現時点で撮影している映像や、撮像されてメモリカードに記憶されている画像を表示したり、各種設定を行う際のメニューを表示するために使用される。３１０５は光学ユニットであり、主としてレンズ及びその駆動系で構成される。３１０６はＣＣＤ素子であり、３１０７はＣＰＵ３１００の制御下において光学ユニット３１０５を駆動制御するドライバである。３１０８は記憶媒体３１０９（コンパクトフラッシュ(登録商標)メモリカード、スマートメディア等）を接続するためのコネクタであり、３１１０はＰＣ或いは実施の形態におけるＰＤプリンタ１０００と接続するためのＵＳＢインターフェース（ＵＳＢのスレーブ側）である。
【００２７】
図５は、本実施の形態に係る印刷システムにおいて、ＤＳＣ３０１２からＰＤプリンタ１０００に対してプリント要求を発行して印刷を行う場合の大まかな信号フローを説明する図である。
【００２８】
この処理手順は、ＰＤプリンタ１０００とＤＳＣ３０１２とがＵＳＢケーブルを介して接続された後、或は無線により通信を行うことにより互いにＤＰＳ仕様に準拠していることを確認した後に実行される。まずＤＳＣ３０１２は「ConfigurePrintService」をＰＤプリンタ１０００に送信して、ＰＤプリンタ１０００の状態をチェックする（６００）。これに対してＰＤプリンタ１０００から、その時点でのＰＤプリンタ１０００の状態（ここでは「アイドル」状態）が通知される（６０１）。ここでは「アイドル」状態であるため、ＤＳＣ３０１２はＰＤプリンタ１０００のCapabilityを問合せ（６０２）、そのCapabilityに応じたプリント開始要求（StartJob）を発行する（６０３）。尚、このプリント開始要求は、６０１で、後述するＰＤプリンタ１０００からのステータス情報の中の「newJobOK」が「True（真）」になっていることを条件に、ＤＳＣ３０１２からＰＤプリンタ１０００に発行される。
【００２９】
このプリント開始要求に対してＰＤプリンタ１０００は、印刷が指示された画像データのファイルＩＤに基づいてファイル情報をＤＳＣ３０１２に要求する（GetFileInfo）（６０４）。これに応答してＤＳＣ３０１２から、そのファイル情報（FileInfo）が送信される。このファイル情報にはファイルフォーマット、ファイル容量等の情報が含まれる。そしてＰＤプリンタ１０００がそのファイル情報を受信して処理可能であると判断すると、そのファイル情報をＤＳＣ３０１２に要求する（GetFile）（６０５）。これにより、その要求されたファイルの画像データ（ImageFile）が、ＤＳＣ３０１２からＰＤプリンタ１０００に送られる。こうしてＰＤプリンタ１０００が画像データを取得し、画像処理を実行して印刷用の画像データを作成して印刷を開始すると、６０６で「印刷中（Printing）」を示すステータス情報が、ＰＤプリンタ１０００からＤＳＣ３０１２に「NotifyDeviceStatus」によって送られる。そして１頁のプリント処理が終了すると、次のページの処理開始時にＰＤプリンタ１０００から「NotifyJobStatus」６０７により、それが通知される。そして１頁だけの印刷であれば、そのプリントを要求した１頁の印刷が終了すると、次に「NotifyDviceStatus」６０８によりＰＤプリンタ１０００が「アイドル」状態になったことが通知される（NotifyDeviceStatus(Idle)）。
【００３０】
尚、例えば、１頁に複数（Ｎ枚）の画像をレイアウトして印刷するＮ−ｕｐ印刷の場合には、Ｎ枚の画像を印刷する度に、「NotifyJobStatus」６０７がＰＤプリンタ１０００からＤＳＣ３０１２に送られる。本実施の形態での「NotifyJobStatus」及び「NotifyDeviceStatus」の発行タイミングと画像データの取得の順番は一例であり、製品の実装によっては様々なケースが起こりうる。
【００３１】
図６は、本発明の実施の形態１に係るデジタルカメラ（ＤＳＣ）３０１２とＰＤプリンタ１０００との間で通信を行って、ＤＳＣ３０１２からＰＤプリンタ１０００に画像データを供給して印刷を行う場合の処理を説明する図である。図において、ステップＳ１〜ステップＳ１６はＤＳＣ３０１２における処理を示し、ステップＳ２１〜ステップＳ３１はＰＤプリンタ１０００における処理を示している。
【００３２】
ステップＳ１及びステップＳ２１では、ＤＳＣ３０１２とＰＤプリンタ１０００との間で、互いにＤＰＳ（Direct Print System）仕様に準拠していることを確認する。この状態でＤＳＣ３０１２は、ＰＤプリンタ１０００に対して、プリンタの状態やデバイス情報を問合せる。これに対してＰＤプリンタ１０００から、その時点でのＰＤプリンタ１０００の状態やデバイス情報が通知される。このデバイス情報には、例えば接続プロトコルのバージョンや、プリンタのベンダー名や機種名等が通知される。こうしてステップＳ２で、ＤＳＣ３０１２は、プリンタの状態及びデバイス情報の中で必要とする「情報１」をＲＡＭ３１０２に記憶する。この「情報１」には、後にＤＳＣ３０１２で画像ファイルを変換する際に必要となる情報が含まれている。次にＤＳＣ３０１２は、図５の６０２で示すように、ＰＤプリンタ１０００に対して、そのCapabilityを要求する。
【００３３】
これによりＰＤプリンタ１０００は、ステップＳ２２で、ＰＤプリンタ１０００の印刷機能に関する能力情報（Capability）を作成してＤＳＣ３０１２に送信し、ＤＳＣ３０１２はこのCapabilityを受信する（ステップＳ３）。そしてステップＳ４で、このCapabilityを基にＵＩを構築して表示部２７００に表示する。ここでは、例えば、ＰＤプリンタ１０００に装填されている用紙のサイズがＡ４判とＢ５判で、普通紙と写真用用紙を装着しており、１−ｕｐ、２−ｕｐ，４−ｕｐのレイアウト印刷が「縁なし」或は「縁あり」で可能で、更に日付印刷が可能な場合は、これらの項目を任意に選択可能で、それ以外の項目は選択できないようなＵＩ画面が作成されて表示部２７００に表示される。
【００３４】
次にステップＳ５で、ＤＳＣ３０１２はメモリカード３１０９に記憶されているファイルの中から、ＰＤプリンタ１０００で印刷可能なファイルを抽出する。このステップＳ５の印刷可能な画像ファイル抽出処理の詳細は後に記述する。
【００３５】
次にステップＳ６で、ＤＳＣ３０１２のユーザは、その構築されたＵＩ画面を参照して、ステップＳ５で抽出された画像の中から、印刷したい画像を選択し、それら画像の印刷形式を設定する。この画像の印刷形式の設定とは、印刷枚数や、用紙サイズ、レイアウト、日付印刷の有無等といった、ステップＳ３で受信したＰＤプリンタ１０００のCapabilityに基づいたものとなる。次にステップＳ７で、こうしてユーザにより設定された「情報２」をＲＡＭ３１０２に記憶する。この「情報２」は、ＤＳＣ３０１２の表示部２７００を使用したＵＩによりユーザにより設定された画像、用紙サイズ、レイアウト等の情報が含まれる。
【００３６】
そして、このＵＩを使用してユーザにより印刷開始が指示されるとステップＳ８に進み、その印刷を指示するための印刷ジョブファイル（JOBファイル）を作成し、ステップＳ９で、その作成した印刷ジョブファイルをＰＤプリンタ１０００に送信する。この印刷ジョブファイルはステップＳ２３でＰＤプリンタ１０００により受信される。次にステップＳ２４で、ＰＤプリンタ１０００は、その受信した印刷ジョブファイルを解析して印刷の準備を行う。そして、その印刷ジョブファイルに記載されている印刷対象の「画像ファイル情報の取得要求」（画像ファイル名や画像サイズ等の各種属性情報を要求する）をＤＳＣ３０１２に対して発行する。
【００３７】
尚、この「画像ファイル情報の取得要求」は、例えばＵＳＢ上のＰＴＰ（Pictutre Transfer Protocol）で動作するサービスでは、そのＰＴＰで規定されている「GetObjectInfo」に相当している。しかしながら、この実施の形態における「画像ファイル情報の取得要求」の役割は、画像ファイルの作成タイミングをＰＤプリンタ１０００からＤＳＣ３０１２に伝えることにある。本実施の形態では、この作成タイミングを伝える一つの手段として「画像ファイル情報の取得要求」を用いたが、このような手段はこれに限定されるものでなく、他の専用のコマンドや既存の通信コマンドを利用しても良い。この実施の形態では、「印刷用の画像ファイル作成」のタイミングをＰＤプリンタ１０００からＤＳＣ３０１２に対して通知することを特徴としている。
【００３８】
そしてステップＳ１０で、この「画像ファイル情報の取得要求」がＤＳＣ３０１２により受信されるとステップＳ１１に進み、本実施の形態の特徴である、ＰＤプリンタ１０００に対して送信する印刷用の画像ファイルを作成する処理を実行する。このステップＳ１１の処理は詳しく後述する。次にステップＳ１２で、その作成した印刷用の画像ファイルに関する各種の属性情報（ObjectInfo Dataset：画像フォーマット、画像ファイル名、データサイズ、ディレクトリ、日付などを含む）を、ステップＳ１２でＰＤプリンタ１０００に送信する。
【００３９】
次にＰＤプリンタ１０００はステップＳ２５で、その印刷用の画像ファイルの情報を受信すると、その指定された印刷用の画像ファイルそのものの取得要求をＤＳＣ３０１２に送信する（ステップＳ２６）。ＤＳＣ３０１２は、この画像ファイルの取得要求を受信すると（ステップＳ１３）、ステップＳ１４で、その要求された印刷用の画像ファイルをＰＤプリンタ１０００に送信する。
【００４０】
これによりＰＤプリンタ１０００は、ステップＳ２７で、その印刷用の画像ファイルを受信し、その画像ファイルの画像データを復号して画像処理を行い、ＰＤプリンタ１０００が印刷できる形式の画像に変換する（ステップＳ２８）。そしてステップＳ２９で、その変換した画像データに基づいて印刷を行う。ステップＳ３０では、その画像データの最後まで印刷が完了しているかを判定する。ここで印刷が完成していない場合は、例えばＰＤプリンタ１０００で、受信した画像データを格納するためのバッファ領域が十分に確保できず、ステップＳ２７で、その画像ファイルの画像データを分割して受信して処理している場合等が考えられる。その場合はステップＳ２４に戻り、再び「画像ファイル情報の取得要求」をＤＳＣ３０１２に送信し、前述と同様の手順で、ステップＳ２７で、画像ファイルの画像データの部分データを受信して印刷する。こうしてステップＳ３０で、その画像ファイルの画像データの印刷が完了するとステップＳ３１に進み、その画像ファイルの印刷が完了した旨をＤＳＣ３０１２に通知する。
【００４１】
この印刷終了通知を受信したＤＳＣ３０１２は、ステップＳ１１で作成した印刷用の画像ファイルをＲＡＭ３１０２から削除して（ステップＳ１６）処理を終了する。但し、メモリカード３１０９に記憶されている元の画像ファイルはそのまま保存される。
【００４２】
尚、前述のステップＳ２９で、ＰＤプリンタ１０００が取得した画像データの量が十分でない状況、例えば記録ヘッドの一走査で記録するデータ量よりも少ない場合には、ステップＳ２８での画像処理が可能であってもステップＳ２９での印刷処理ができない。この場合は、ステップＳ２９での印刷動作を行わずに、ステップＳ３０の判定を行ってステップＳ２４へ戻り、前述の処理を繰り返すことになる。
【００４３】
尚、ステップＳ１１で画像ファイルの作成が終了した後、ステップＳ１２で、「画像ファイル情報」をＤＳＣ３０１２からＰＤプリンタ１０００に送信しているが、これは前述のステップＳ２４で、ＰＤプリンタ１０００からの「画像ファイル情報の取得要求」（GetObjectInfo）（ステップＳ２４）に対する返答である。この「画像ファイル情報」も前述の「画像ファイル情報の取得要求」と同様に、ＤＳＣ３０１２で画像ファイルの変換及び作成処理が完了したことをＰＤプリンタ１０００に伝える役割がある。従って本実施の形態のステップＳ１２の「画像ファイル情報」の送信は、これに限定されるものでなく、他の専用コマンドや既存の通信コマンドを利用しても良い。
【００４４】
図７は、本実施の形態１に係るＤＳＣ３０１２における、印刷可能な画像ファイルの抽出の処理（ステップＳ５）を説明するフローチャートである。
【００４５】
まずステップＳ５００で、ＤＳＣ３０１２のメモリカード３１０９に記憶されている１つの画像ファイルを取得する。次にステップＳ５０１で、メモリカード３１０９のある１つの画像ファイルに対して、その画像ファイルのフォーマットを判断し、その情報をステップＳ５０２の印刷可能判断処理に渡す。これによりステップＳ５０２では、その画像ファイルのフォーマットと、図６のステップＳ３で取得したCapabilityと、後述する変換可能判断リストとを用いて、その画像ファイルがＰＤプリンタ１０００で印刷可能か否かを判断する。
【００４６】
この変換可能判断リストは、以下のようなものであればよい。
（１）図８に示すように、入力画像フォーマット、出力画像フォーマット、フォーマット変換処理フローを特定する情報を備えている。
【００４７】
図８では、入力画像フォーマットとして「ＢＭＰ」「ＰＮＧ」が設定されており、それに対応する出力画像フォーマットとして、それぞれ「ＪＰＥＧ」が設定されている。この場合の各フォーマット変換フローはそれぞれ「ＢＭＰデコード→ＲＧＢからＹＣＣへの変換→ＪＰＥＧ符号化」、「ＰＮＧデコード→ＲＧＢからＹＣＣへの変換→ＪＰＥＧ符号化」となっている。
（２）また図９に示すような形式で、入力画像フォーマット、出力画像フォーマット、エンコーダ入力色空間、デコーダ出力色空間からなるテーブルと、入力色空間と出力色空間の組み合わせから、実行すべき変換処理フローを特定するための情報を備えていても良い。
【００４８】
図９では、入力画像フォーマットとして「ＢＭＰ」「ＰＮＧ」が設定されており、それに対応するデコーダ出力色空間として「ＲＧＢ」が設定され、出力画像フォーマットとしてそれぞれ「ＪＰＥＧ」「ＴＩＦＦ」が設定されている。更に、この出力画像フォーマットに対応してエンコーダ入力色空間がそれぞれ「ＹＣＣ」「ＲＧＢ」に設定されている。更に、入出力色空間の組み合わせとして「ＲＧＢ／ＹＣＣ」が、変換処理フローとして「ＲＧＢからＹＣＣへの変換」が設定されている。
【００４９】
このような変換可能判断リストは、ＤＳＣ３０１２のＲＯＭ３１０１に記憶されている。ＤＳＣ３０１２で変換可能な画像ファイルフォーマットの組み合わせが多い場合、（２）の形式（図９）の方が冗長なデータ保持を避けられるため、ＲＯＭ３１０１のメモリ容量を抑えることができる。
【００５０】
ここではいくつかのリスト形式例を示したが、ＤＳＣ３０１２が復号可能な入力フォーマットと、プリンタ１０００のcapabilityを満たし、かつＤＳＣ３０１２で符号化可能な出力フォーマットと、変換のために必要となる色処理が適切に選択できるようなものであればどのようなものでも良い。
【００５１】
そしてステップＳ５０３では、ステップＳ５０２の判断結果を基に、印刷可能か否かを判断し、印刷可能と判断するとステップＳ５０４に進み、現在印刷可能か否かを判断している画像ファイルを印刷可能画像ファイルリストに登録する。この印刷可能画像ファイルリストは、ＤＳＣ３０１２のＲＡＭ３１０２に記憶される。このリスト形式については、メモリカード３１０９のどの画像ファイルが印刷可能であるかが分かる形式であれば、どのようなものでも良い。しかし、メモリサイズが小さくなるような形式にするのが望ましい。ステップＳ５０３で、印刷可能でないと判断した場合、或はステップＳ５０４の実行後にステップＳ５０５に進み、メモリカード３１０９に記憶されている全ての画像ファイルに対して行ったかどうかを調べ、全てに対して実行済でないときはステップＳ５００に戻って、前述の印刷可能な画像ファイルの抽出処理が実行される。尚、ここではステップＳ５の処理において、メモリカード３１０９の全ての画像ファイルに対して印刷可能否かを判断する例を示したが、その対象ファイルをファイルの識別子等で絞り込んでも良いことは言うまでもない。
【００５２】
図１０は、本実施の形態１に係るＤＳＣ３０１２における画像ファイルの作成処理（ステップＳ１１）を説明するフローチャートである。
【００５３】
まずステップＳ４１で、メモリカード３１０９に記憶されている処理対象の画像ファイルの画像データを読み取る。次にステップＳ４２で、その画像データに対して、画像フォーマット変換、リサイズ、回転、色変換などの処理が必要かどうかを判定する。例えば、ここではステップＳ６で記憶された「情報２」に基づいて、実際に印刷する画像のフォーマットを取得し、その印刷対象の画像データに対する処理が必要かどうかを判定する。
【００５４】
以下では例として、元の画像ファイルの画像データがＰＮＧ形式であり、ＰＤプリンタ１０００が印刷をサポートしている画像フォーマットがＥＸＩＦ，ＪＰＥＧである場合で説明する。
【００５５】
この場合には、元の画像データをそのまま転送せずに、ＤＳＣ３０１２でその画像データをＰＮＧ形式からＪＰＥＧ形式にフォーマット変換してからＰＤプリンタ１０００に送信するためにステップＳ４３に進む。尚、これ以外にも、ＰＤプリンタ１０００における印刷モードにより、画像データの回転、リサイズ等が必要かどうかを判定する。この判定は、「情報１」に含まれるプリンタ機種名やベンダー名によって、そのプリンタがどの程度のサイズの画像データまでサポートしているかを判断可能なようなリストをＤＳＣ３０１２が保持している場合に実現可能となる。そしてＰＤプリンタ１０００がサポートしているサイズに収まるように画像のリサイズや、回転を行うことで、更に適切に画像変換が行うことができるようになる。
【００５６】
こうしてステップＳ４２で、元の画像データに対して何らかの変換が必要であると判定するとステップＳ４３に進むが、そうでない時は何もせずにこの処理を終了する。
【００５７】
ステップＳ４３では、元の画像ファイルは、例えばＰＮＧにより符号化されているので、まずそれを復号して生の画像データに変換する。ステップＳ４４では、画像のリサイズが必要かを判定し、必要であればステップＳ４５に進み、その画像データを縮小する。このステップＳ４５の実行後、或はステップＳ４４で画像のリサイズが必要でなければステップＳ４６に進み、画像の回転が必要かどうかを判定する。必要であればステップＳ４７で、画像データの回転を実行してステップＳ４８に進むが、そうでない時はそのままステップＳ４８に進む。ステップＳ４８では、画像の色変換が必要かどうかを判定し、必要でなければステップＳ５０に進むが、必要であればステップＳ４９で、画像データの色変換を実行してステップＳ５０に進む。
【００５８】
ステップＳ５０では、処理済みの画像データをＪＰＥＧで符号化する。次にステップＳ５１に進み、その画像データが「ＥＸＩＦ」タグ付きの画像データかどうかを調べ、そうであればステップＳ５２で、その「ＥＸＩＦ」タグを、ステップＳ４５，Ｓ４７，Ｓ４９などで変換した内容に従って更新する。一方、ステップＳ５１で、その画像データが「ＥＸＩＦ」タグ付きの画像データでないときはステップＳ５３に進み、その画像データに、例えば画像方向などを示すオリエンテーション情報を付加する。
【００５９】
例えばステップＳ５２では、ＥＸＩＦで用いるＴＩＦＦＲｅｖ．６．０の付属情報として、画像方向（タグ番号「２７４」：Orientation）が規定されており、それによれば「１」（デフォルト）は、「０番目の行が画像の上、０番目の列が画像の右側となる」と規定されている。この「１」で画像方向が規定された画像を左に９０°回転させると、その画像のＥＸＩＦタグの画像方向は「８」、即ち「０番目の行が画像の左側、０番目の列が画像の下側となる」に変更される。尚、このＥＸＩＦタグの詳細については、ＪＥＩＤＡ規格の「デジタルカメラスチルカメラ用画像フォーマット規格（Ｅｘｉｆ）」を参照されたい。
【００６０】
尚、以上の説明において、ＤＳＣ３０１２は、ＰＤプリンタ１０００のデバイス情報などの「情報１」を取得し、そのＰＤプリンタ１０００の有する機能に応じたＵＩに基づいてＤＳＣ３０１２のユーザが設定した情報として「情報２」を取得してＲＡＭ３１０２に記憶しておき、これら情報に基づいて、印刷するべき画像データを作成してＰＤプリンタ１０００に送信することができる。これにより、ＤＳＣ３０１２からＰＤプリンタ１０００に送信する画像データの量や画像データのフォーマットを、ＰＤプリンタ１０００における印刷条件に合致したものとすることができる。
【００６１】
図１１は、本実施の形態に係るＰＤプリンタ１０００における画像データの処理（ステップＳ２８）を説明するフローチャートである。
【００６２】
まずステップＳ６１で、ＤＳＣ３０１２から受信した画像データを復号する。次にステップＳ６２で、その復号したデータを、プリンタエンジン３００４の記録ヘッド（インクジェットヘッド）に出力するために、画像データを並び替える。そしてステップＳ６３で、その並び替えたデータをプリントバッファに展開する。
【００６３】
このように本実施の形態によれば、以下のような効果がある。
（１）ＰＤプリンタ１０００のCapabilityに基づいて画像ファイルの再変換ができるため、元々印刷可能な画像ファイルも含めて全ての印刷可能な画像ファイルをＤＳＣ３０１２のメモリカード３０１９から抽出できる。
（２）それらの画像を、ＰＤプリンタ１０００のCapabilityで許容される形式に適切に変換して印刷できる。
（３）ＰＤプリンタ１０００からＤＳＣ３０１２に対して画像ファイルの作成開始タイミングを知らせ、画像ファイルの作成が完了するとＤＳＣ３０１２からＰＤプリンタ１０００に通知して画像ファイルの送信及び印刷を行うことにより、互いの処理の同期を取った信頼性の高い印刷が可能となる。
（４）メモリカード３１０９に記憶された画像ファイルから作成した印刷用画像ファイルは、その画像ファイルのＰＤプリンタ１０００への転送が終了すると消去されるため、印刷済みの印刷用画像ファイルがＤＳＣ３０１２のメモリに残存してメモリ残量を低減するのを防止できる。
【００６４】
［実施の形態２］
次に本発明の実施の形態２について説明する。この実施の形態２では、図１２に示すように、１枚の用紙中に複数の画像データをレイアウト（ｎ−ｕｐ）して印刷する場合について説明する。尚、この実施の形態２に係るＤＳＣ３０１２及びＰＤプリンタ１０００のハードウェア構成は前述の実施の形態１と同様であるため、その説明を省略する。
【００６５】
図１２は、本発明の実施の形態２に係る画像の印刷結果の一例を示す図である。
【００６６】
この例では、一枚の用紙に行方向（Ｎ＝４）×列方向（Ｍ＝４）の計１６枚の画像を印刷した例（１６−ｕｐ印刷）を示している。各画像の（Ｎ，Ｍ）（Ｎ＝１〜４，Ｍ＝１〜４）は、各画像の位置を示している。
【００６７】
図１３は、本発明の実施の形態２に係るデジタルカメラ（ＤＳＣ）３０１２とＰＤプリンタ１０００との間で通信を行って、ＤＳＣ３０１２からＰＤプリンタ１０００に画像データを供給して、レイアウトｎ−ｕｐ印刷を行う場合の処理を説明する図である。図において、前述の図６と共通する処理には同じ記号を付して、その説明を省略する。但し、ステップＳ４で作成されるＵＩには、レイアウトとして１６−ｕｐ機能が含まれており、ステップＳ７で記憶される「情報２」には、ユーザにより１６−ｕｐが指定され、ステップＳ８で作成される印刷ジョブファイルには、この１６−ｕｐのレイアウト印刷が含まれている。
【００６８】
以下、ＰＤプリンタ１０００における処理を中心に説明する。
【００６９】
ステップＳ２３で、ＤＳＣ３０１２からのｎ−ｕｐ印刷を含む印刷ジョブファイルを受信するとステップＳ７１で、用紙上の画像位置を管理する行方向変数Ｎ、列方向Ｍを共に「１」に初期化する。尚、これら変数はメモリ３００３に記憶される。次にステップＳ７２で、ステップＳ２３で受信した印刷ジョブファイルに記載されたレイアウト指定情報より、行方向の最大画像個数Ｎmax、列方向最大画像個数Ｍmaxを求めてメモリ３００３に設定する。図１２の例では、Ｎmax＝Ｍmax＝４となる。
【００７０】
次にステップＳ７３で、Ｎ行Ｍ列（最初は１行１列）の「画像ファイル情報の取得要求」をＤＳＣ３０１２の送信する。これによりＤＳＣ３０１２は、ステップＳ１０で、この「画像ファイル情報の取得要求」を受信するとステップＳ１１に進み、その要求された画像ファイルから、印刷用の画像ファイルを作成する。この印刷用画像ファイルの作成に際しては、前述の「情報１」及び「情報２」が参照されることは前述の図６の場合と同様である。そしてステップＳ１２で、その作成した印刷用の画像ファイルの情報をＰＤプリンタ１０００に送信する。
【００７１】
ＰＤプリンタ１０００は、ステップＳ７４で、この印刷用の画像ファイル（Ｎ行Ｍ列目の画像ファイル）の情報を受信し、次にステップＳ７５で、そのＮ行Ｍ列目の印刷用の画像ファイルを取得するように、前述の実施形態１の場合と同様に「画像ファイルの取得要求」をＤＳＣ３０１２に発行する。これを受信したＤＳＣ３０１２（ステップＳ１３）は、ステップＳ１１で作成した印刷用の画像ファイルをＰＤプリンタ１０００に送信する（ステップＳ１４）。この実施の形態２においても、ステップＳ７５で送信する「画像ファイルの取得要求」は、ＰＤプリンタ１０００からＤＳＣ３０１２に対する画像転送要求であり、これにより、ＤＳＣ３０１２で作成された印刷用の画像ファイルと、ＰＤプリンタ１０００で受信される画像ファイルとの同期が取られることになる。ＰＤプリンタ１０００はステップＳ７６で、その印刷用の画像ファイルを受信するとステップＳ７７に進み、その画像がＭmax（図１２の例では「４」）列目の画像かどうかを判定する。
【００７２】
これは図１２の例でも明らかなように、プリンタエンジン３００４で記録ヘッドによる印刷を行う際、少なくとも記録ヘッドの一走査分の画像データが揃っている必要があるため、４列目の画像の画像データを受信している必要があるためである。Ｍmax以下であればステップＳ８１に進み、変数Ｍを＋１してステップＳ７３に進み、今度は１行２列の画像の画像データを取得するための処理を開始する。こうしてステップＳ７７でＭmax列分の画像データが揃うとステップＳ７８に進み、Ｎ行目に位置している画像の画像データの処理を行って、記録ヘッドに出力するデータに変換し、ステップＳ７９で、Ｎ行目の画像を印刷する。これにより図１１の例では、画像（１，１），画像（１，２），画像（１，３），画像（１，４）が印刷される。そしてステップＳ８０で、Ｎ＝Ｎmaxであるかを判定し、そうでない時はステップＳ８２で、変数Ｍ＝１、変数Ｎ＝Ｎ＋１としてステップＳ７３に進み、次の行の画像データの取得処理に進む。
【００７３】
尚、ここで記録ヘッドの長さと画像の幅とが整数倍の関係に無い場合は、これら画像（１，１），画像（１，２），画像（１，３），画像（１，４）の最下行を含む画像の印刷中に、次の行の画像、即ち、画像（２，１），画像（２，２），画像（２，３），画像（２，４）も並行して印刷する事態が発生する。その場合はステップＳ７８の後にステップＳ８０、Ｓ８２を実行して、次の画像の画像データを取得する必要がある。
【００７４】
こうしてステップＳ８０で、Ｎ行Ｍ列の画像を全て印刷するとステップＳ８３に進み、「印刷終了通知」をＤＳＣ３０１２に送信して終了する。これによりステップＳ１４で、ＰＤプリンタ１０００からの「印刷終了通知」を受信したＤＳＣ３０１２は、ステップＳ１５で、それまでに作成した印刷用の画像ファイルを全て削除して処理を終了する。
【００７５】
以上説明したように本実施の形態２によれば、ｎ−ｕｐ印刷時、ＤＳＣ３０１２は、ＰＤプリンタ１０００からの要求に応じて、各画像の画像データの印刷用画像ファイルを作成する。このとき、これらｎ−ｕｐ画像中に、ｎ画像分の画像ファイルが保存されているので、同じ画像があれば、その保存されている印刷用の画像ファイルをそのまま使用できる。
【００７６】
一方、ＤＳＣ３０１２のコストの観点等で、ＤＳＣ３０１２のメモリ容量に制限がある場合には、これらｎ画像分の印刷用画像ファイルを同時に保持できない場合がある。このような場合には、ＰＤプリンタ１０００からの「Ｎ行Ｍ列の画像ファイル情報の取得要求」を受信した時点（ステップＳ９）で、それ以前に作成した印刷用の画像ファイルを消去し、ステップＳ１１で、新たに次の新規な印刷用の画像ファイルを作成すればよい。
【００７７】
また上記説明において、ＰＤプリンタ１０００の受信バッファやプリントバッファのメモリ容量が少ない場合には、受信が終了したデータのみでステップＳ７９での印刷処理を途中まで実行し、その後、足りない画像の「印刷用の画像ファイル」の画像データを取得して印刷動作を行えば良い。
【００７８】
［実施の形態３］
次に本発明の実施の形態３について説明する。前述の実施の形態１及び２では、１つの画像データを１ページもしくは１つの矩形内に展開する例について説明した。しかし印刷用の画像データの代わりに、ＨＴＭＬやＸＨＴＭＬ、テキスト、それからその他のドキュメント類等が指定された場合には、そのデータを１ページ或は１つの矩形内に展開したのでは良好な印刷結果が得られなくなる可能性がある。例えば、本来、複数ページに跨っているドキュメントを1つの画像のように、１ページに収めるように展開すると、そのドキュメントに含まれる文字や画像が極端に縮小されてしまい文字が認識できなくなるなどの弊害が発生する。
【００７９】
また画像データやドキュメントデータを複数ページに分割して印刷する場合、ＰＤプリンタ１０００に送信する、各ページ単位に分割された画像データのサイズやアスペクト比が、各ページごとにバラバラであると、画像データを展開する向きや変倍率がバラバラになってしまい適切な印刷結果が得られなくなる。またカメラダイレクト印刷のような、ＰＣを介さない印刷システムでは、複数ページ分の画像データを同時に生成するだけのメモリがない。従って、印刷する際にデータをページごとに分割して、複数ページに亘る画像データを生成し、各ページごとにＪＰＥＧ等の画像データに変換して印刷を行う必要が生じる。
【００８０】
そこで以下に説明する実施形態３及び４では、印刷指示されたデータファイルを印刷すると、複数ページに亘るデータであり、かつそのデータファイルのフォーマットがＰＤプリンタ１０００のCapabilityでサポートされていないとする。この場合、前述の実施形態１及び２と同様にして、ＤＳＣ３０１２でフォーマット変換することで印刷可能とする。こうしてデータファイルを分割して、複数ページに亘る画像データをページ単位で生成し、各ページごとにＪＰＥＧ等の画像データに変換して印刷を行う例で説明する。
【００８１】
まず初めに、本実施形態３及び４に共通して用いられるＮページ印刷のための印刷ジョブの生成方法及び、印刷ジョブの制御方法について説明する。
【００８２】
まず前提として、本実施の形態に係るダイレクトプリントシステムで、データファイルをＮページに割り付けて印刷を行う場合の処理について説明する。
【００８３】
図１４と図１５はともに、ダイレクトプリントシステムにおいて、ＤＳＣ３０１２からＰＤプリンタ１０００に対してプリント要求を発行し、複数（Ｎ）の画像をＮページに割り付けての印刷する処理における信号フローを説明する図である。尚、これら図において、前述の図５と共通する部分は同じ記号で示し、それらの説明を省略する。
【００８４】
図１４は、印刷システムにおいて、ＤＳＣ３０１２からＰＤプリンタ１０００に対してプリント要求を発行して画像を印刷する場合の大まかな信号のやり取りを説明する図である。ここでは６００〜６０７の処理に従い、１ページ目の印刷が行われる。次に２ページ目の印刷が指定された画像データのファイルＩＤに基づいて、ファイル情報をＤＳＣ３０１２に要求する（GetFileInfo）（６０９）。これに応答してＤＳＣ３０１２から、そのファイル情報（FileInfo）が送信される。このファイル情報には、ファイルフォーマット、ファイル容量等の情報が含まれる。そしてＰＤプリンタ１０００が、そのファイル情報を受信して処理可能であると判断すると、そのファイル情報をＤＳＣ３０１２に要求する（GetFile）（６１０）。これによりその要求されたファイルの画像データ（ImageFile）がＤＳＣ３０１２からＰＤプリンタ１０００に送られる。これによりＰＤプリンタ１０００がプリント処理を開始し、該当ページのプリント処理が終了すると、ＰＤプリンタ１０００から（NotifyJobStatus）６１１により、プリント処理の終了が通知される。そして６０９〜６１１の処理を繰り返し、印刷指定された全てのページの印刷が終了すると、最後に（NotifyDeviceStatus）６１２により、ＰＤプリンタ１０００が「アイドル」状態になったことが通知される（NotifyDeviceStatus（IDLE））。
【００８５】
次に図１５について説明する。
【００８６】
６１３でＰＤプリンタ１０００は、印刷が指示されたファイルＩＤに基づいてデータファイルに関する情報をＤＳＣ３０１２に要求する（GetFileInfo）。このファイル情報にはファイルフォーマット、ファイル容量等の情報が含まれる。そしてＰＤプリンタ１０００がそのファイル情報を受信して印刷可能と判断すると、そのファイル情報をＤＳＣ３０１２に要求する（GetFile）（６１４）。これにより要求されたファイル、この場合はＤＰＯＦの設定ファイルである「AUTPRINT.MRK」ファイルがＤＳＣ３０１２からＰＤプリンタ１０００に送られる。
【００８７】
ＰＤプリンタ１０００はそのファイルを受信して解析し、ＤＰＯＦファイル「AUTPRINT.MRK」に記述されているファイルパス名を利用して、印刷が指定された画像ファイルのファイルＩＤを取得する（GetFileID）（６１５）。そしてその取得したファイルＩＤを用いて、ＰＤプリンタ１０００は、その画像ファイルのファイル情報をＤＳＣ３０１２に要求する（GetFileInfo）（６１６）。これに応答してＤＳＣ３０１２から送信されるファイル情報（FileInfo）により、ＰＤプリンタ１０００は、そのファイルが印刷可能かを判断する。そして印刷可能であればＤＳＣ３０１２にファイル情報を要求する（GetFile）（６１７）。
【００８８】
こうしてＰＤプリンタ１０００が画像ファイルを取得して印刷を開始すると、６１８で「印刷中（Printing）」を示すステータス情報を、ＤＳＣ３０１２に「NotifyDeviceStatus」によって通知する。そして１ページの印刷が終了すると、次のページの印刷処理開始時に、ＰＤプリンタ１０００からＤＳＣ３０１２に「NotifyJobStatus」（６１９）が通知される。
【００８９】
この後、２ページ目以降は６２０〜６２３を繰り返し、印刷指定された全てのページの印刷が終了すると、最後に「NotifyDeviceStatus」（６２４）により、ＰＤプリンタ１０００が「アイドル」状態になったことをＤＳＣ３０１２に通知する（NotifyDeviceStatus（IDLE））。
【００９０】
以上が複数（Ｎ）の画像データをＮページに割り付けて印刷する処理の流れを説明するフローである。
【００９１】
本実施の形態３での大まかな処理フローも、このフローに沿った形で実現される。複数ページに亘る画像データをページ単位で分割し、各ページの画像データを上述のフローでいう複数の画像データとして扱うことで実現される。
【００９２】
本実施の形態３，４における特徴的な事柄は、図１４及び図１５のStartJob（６０３）で、ＤＳＣ３０１２からＰＤプリンタ１０００に渡されるジョブ設定情報の生成方法と、印刷指示されたデータを複数ページに分割し、各ページの画像データをどのようにファイル化するか、また、そのファイルをどのように破棄するかといった点にある。
【００９３】
以下にこれらの内容について説明する。
【００９４】
まず、ジョブ設定情報の生成方法について説明する。
【００９５】
以下の処理は図６及び図１３のＪＯＢファイル作成（ステップＳ８）でなされる。その処理の流れは以下の通りである。ここでは説明を簡単にするために、図６及び図１３のステップＳ６で、画像ファイルが３ページに亘る画像データであり、かつそのフォーマットがＰＤプリンタ１０００のCapabilityでサポートされていないものとする。但し、この場合の前述の実施の形態１及び２と同様に、その画像ファイルのフォーマットをＤＳＣ３０１２でＰＤプリンタ１０００のCapabilityに対応するフォーマットに変換する。尚、ここでは一つの画像ファイルだけが印刷するように指示された場合を例に説明する。
【００９６】
まず図１４のフローに沿った形態を説明する。
（１）ＤＳＣ３０１２は、図６及び図１３のステップＳ６で印刷が指示された画像ファイルが何ページに分割されるかを判断する。このページ分割に関しては特にどのような分割方法でも構わない。また、本実施の形態で特徴的となる事柄でもないため、ここでは説明を割愛する。
（２）（１）で判断されたページ数分（ここでは３ページ）だけファイルＩＤ（ファイルハンドル）を生成する。
（３）（２）で生成されたファイルＩＤ（ファイルハンドル）を用いて、図１６のような印刷ジョブファイルを生成する。
【００９７】
図１６は、本実施の形態３に係る印刷ジョブファイルの一例を示す図である。
【００９８】
図１６から明らかなように、＜fileID＞タグの内容として（２）で生成された３ページ分のファイルＩＤ（ファイルハンドル）（「0000001」〜「00000003」）が設定される。今回の例では３ページ分の画像データに分割される例を示しているため、＜fileID＞タグが３つ設定されている。
【００９９】
次に図１５のフローに沿った形態を説明する。
（１）ＤＳＣ３０１２は、図６及び図１３のステップＳ６で印刷指示された画像ファイルが何ページに分割されるかを判断する。ページ分割に関しては特にどのような分割方法でも良い。この分割方法は本実施の形態で特徴的となる事柄でもないため、ここでは説明を割愛する。
（２）「AUTPRINT.MRK」ファイル用のファイルＩＤ（ファイルハンドル）と、それから（１）で判断されたページ数分のファイルＩＤ（ファイルハンドル）、ファイルパスを生成する。
（３）（２）で生成されたファイルパスを用いて、図１７のような印刷ジョブファイルと、図１８のような「AUTPRINT.MRK」ファイルを生成する。
【０１００】
図１７は、本実施の形態３に係る印刷ジョブファイルの一例を示す図である。
【０１０１】
図１７の＜fileID＞タグの内容として（２）で生成された「AUTPRINT.MRK」ファイルのファイルＩＤ（ファイルハンドル）（「0000001」）が設定される。また、＜fileType＞タグに「53180000」が設定されているが、これはＤＰＯＦの印刷時に設定される値である。
【０１０２】
図１８は、本実施の形態３に係る「AUTPRINT.MRK」ファイルの一例を示す図である。
【０１０３】
図１８の＜IMG SRC＞タグには、ステップ（２）で生成された３ページ分のページ分割画像用のファイルパスが設定されている。前述のように、このファイルバスを利用してＰＤプリンタ１０００は、ＤＳＣ３０１２に対してファイルＩＤを要求する（GetFileID）（図１５の６１５，６２０）。ＤＳＣ３０１２は、この要求に対して、ステップ（２）で生成したページ分割画像用のファイルＩＤ（ファイルハンドル）をＰＤプリンタ１０００に通知する。
【０１０４】
以上、ジョブ設定情報の生成方法について説明したが、これらの処理によって生成されたファイルＩＤ（ファイルハンドル）、ファイルパスは印刷処理が終了するまでＤＳＣ３０１２に保持される。また「AUTPRINT.MRK」ファイル、印刷ジョブファイルはＤＳＣ３０１２からＰＤプリンタ１０００に送信され、ＤＳＣ３０１２側で保持する必要がなくなったタイミングで破棄される。
【０１０５】
次に具体的にどのようにして印刷指示された画像データを複数ページに分割し、各ページ画像をファイル化するか、また、そのファイルをどのように破棄するかといった点について説明する。
【０１０６】
以下の処理は、図６及び図１３における画像ファイル作成（ステップＳ１１）及び、画像ファイル情報送信（ステップＳ１２）でなされる。これは図１４及び図１５では、ページ分割画像に対するGetFileInfo（６０４，６０９，６１６，６２１）に該当する。そのフローは以下のとおりである。
（１）印刷用の画像ファイル作成（ステップＳ１１）で、ＤＳＣ３０１２はこれから印刷を行うページに必要なページ分割画像だけを印刷指示データから切り出し、ＰＤプリンタ１０００のCapabilityでサポートされているフォーマットに従ってファイル化する。
（２）ＤＳＣ３０１２は、（１）で生成したファイルのフォーマット情報とファイルサイズ情報をＲＡＭ３１０２に記憶しておく。
（３）画像ファイル情報送信（ステップＳ１２）で、ＤＳＣ３０１２は、（２）で生成したファイルフォーマット情報とファイルサイズ情報をＰＤプリンタ１０００に対して送信する。
【０１０７】
上記の処理は特に図１４と図１５のフローで異ならず、ＰＤプリンタ１０００がＤＳＣ３０１２に対してページ分割画像データを要求するタイミングでなされる。
【０１０８】
以上のように生成された各ページの画像データは、いずれも図１４及び図１５におけるNotifyJobStatus（６０７，６１１，６１６，６２１）のタイミングで破棄される。
【０１０９】
以上が実施の形態３及び４に共通して用いられるＮページ印刷のためのジョブ生成方法及び、ジョブの制御方法である。
【０１１０】
以上、１つの画像ファイルからＮページ分の画像データを生成し、またそれらの画像データを破棄する大まかな制御方法について説明した。以下では、Ｎページ分の画像データを生成する際の、より詳細な処理内容について説明する。尚、以下の説明では、実施の形態３及び４のそれぞれで個別に説明する。
【０１１１】
まず実施の形態３において、１つの画像ファイルからＮページ分の画像データを生成する形態について説明する。ここではＨＴＭＬファイルが印刷指定された場合を例に説明する。
【０１１２】
複数のページに亘る画像データの印刷が指示された場合は、図６及び図１３のフローにおける印刷画像ファイル作成（ステップＳ１１）に対して、図１９で示されるようにいくつかの処理が追加される。尚、図１９において、前述の図１０の処理と同じ処理のステップには同じ記号を付して、それらの説明を省略する。
【０１１３】
図１９は、本実施の形態３，４に係る印刷画像ファイル作成処理を説明するフローチャートで、前述の図１０と共通する処理は同じ符号で示し、その説明を省略する。
【０１１４】
ここでＨＴＭＬファイルがＰＤプリンタ１０００のCapabilityで許容されている場合、即ち、ＰＤプリンタ１０００がＨＴＭＬファイルを受信して印刷可能な場合は、ＰＤプリンタ１０００にＨＴＭＬファイルのパーザやページ分割印刷制御のための機能が搭載されているため、ＤＳＣ３０１２での処理は不要である。そのためステップＳ４２で変換不要と判断され、この処理を終了する。一方ステップＳ４２で、ＨＴＭＬファイルがCapabilityで許容されていない場合にはステップＳ４３以降の処理に移る。
【０１１５】
ステップＳ４３でその画像ファイルを復号した後、ステップＳ７０１で、今回作成する画像データが１ページ目かどうかを判断する。１ページ目の画像データを作成する場合はステップＳ７０２に進み、その画像データの本来の画像のサイズを基に、その画像の横方向の画素数を取得する。次にステップＳ７０３で、ステップＳ７０２で取得した横方向の画素数と、「情報２」に含まれる印刷が指定されている用紙サイズとから、ＰＤプリンタ１０００に送信するための画像のサイズを縦横それぞれ何画素にするかを決定する。また１ページ分のデータとして何ラスタ分元の画像データを切り出し、ステップＳ４４以降の処理に引き渡すかを決定する。この決定方法は例えば、横方向の画素数は元の画像データの横方向の画素数とし、縦方向の画素数を、横方向の画素数と印刷指定されている用紙サイズのアスペクト比から、その画像のアスペクト比が用紙サイズのアスペクト比とほぼ同じになるように決定すればよい。
【０１１６】
次にステップＳ４４で、ステップＳ７０３で決定された、１ページ目の画像の横方向の画素数が、元の画像の横方向の画素数と異なっているかを基にリサイズが必要かどうかを判断し、異なっている場合はリサイズが必要と判断してステップＳ４５で、それらの比率から求められる変倍率に従ってリサイズを行う。
【０１１７】
このステップＳ４４で、画像データを単純にＰＤプリンタ１０００が許容するものへ変換したのでは、ページ毎に画像のサイズがバラバラになってしまう。そこで、ステップＳ４４からステップＳ４７にかけて、これから印刷するページ用に切り出された画像データに対してリサイズや回転を行った後の画像のサイズを、ステップＳ７０３で決定した、そのページにおける画像のサイズと比較する。そして、それらが一致しない場合には、オーバー或は不足分だけリサイズや回転を行った後の画像のサイズが、ステップＳ７０３で決定した画像のサイズと一致するように余白データを付加する。ここで重要なのは画像のサイズが一致するように余白を付け加えることであって、これを満たすのであれば、切り出された画像データをセンタリングしても、或は単純に、その画像の右側と下側に余白を付け加えるようにしても良く、どのように余白を付与しても良い。
【０１１８】
以上説明したように、印刷用の画像ファイルの作成処理（ステップＳ１１）で、印刷指定されたデータファイルから１ページ分の画像データを切り出し、ＰＤプリンタ１０００が許容するファイルフォーマット等に従って１ページ分の画像データに変換し、JPEG圧縮などの所定の圧縮方法で圧縮してＰＤプリンタ１０００に送信する。こうして良好な印刷結果が得ることができる。
【０１１９】
尚、ここでは、１ページ分の画像データの切り出し方の例として、ステップＳ７０３では、１ページ当たり何ラスタ分の画像データを切り出すかを設定する例を示したが、これ以外にもいくつもの切り出し方が存在する。この切り出し方は、印刷が指定された画像データのフォーマット等にもよるが、例えば画像データに改ページ用コードが埋め込まれているようなものであれば、そのコードに従って切り出せば良い。また、そのようなコード等が存在しない場合には、今回印刷指定された印刷設定情報から用紙サイズを判断して、その用紙サイズのアスペクト比に合うような長さ単位で切り出せばよい。もしくは前述の特許文献４に記載されているような方式に従って切り出してもよい。
【０１２０】
ここで画像の切り出し方は、データファイルのフォーマット等によって非常に多岐に亘るため詳細は割愛するが、本実施の形態に係る重要な点はこの切り出し方ではなく、以下の３点である。
（１）図６及び図１３の印刷画像ファイル作成（ステップＳ１１）のタイミングで、これから印刷するページの画像データを切り出し、ＰＤプリンタ１０００に送信する画像データに変換する。
（２）印刷用の画像ファイル作成（ステップＳ１１）で作成された画像データは、実施の形態１及び２と同様のタイミングで破棄する。
（３）ＰＤプリンタ１０００に送信する全ページの画像データを、全てのページで送信される画像サイズを同じ、或はほぼ同じにする。
【０１２１】
これにより以下の効果が得られる。
（Ａ）画像データを複数ページに亘る画像に分割して印刷する場合に、ＰＤプリンタ１０００に送信する分割後の画像のサイズを適切なサイズ、アスペクト比にできる。これにより画像データの極端な変倍を避けることができ、適切な印刷結果が得られる。
（Ｂ）画像データを複数ページに亘る画像に分割して印刷する場合に、ＰＤプリンタ１０００に送信する分割後の画像のサイズを、各ページ間でほぼ同じに統一できる。これにより、画像データを展開する向きや変倍率もほぼ同じに統一でき適切な印刷結果が得られる。
（Ｃ）前述の通りパソコンを介さないダイレクト印刷システムでは、メモリ等の制約が厳しいため、プリンタに送信する画像データを何ページ分も同時に保持することは困難であるが、上述の（１）、（２）により、同時に保持する画像数を制御でき、使用するメモリ容量を削減できる。
【０１２２】
［実施の形態４］
次に本発明の実施の形態４について説明する。実施の形態４についても実施の形態１及び２，３がベースとなる形態である。前述の実施の形態３で説明したＮページ印刷のためのジョブ生成方法及び、ジョブの制御方法についても同様に実施する。本実施の形態４において、画像データからＮページ分の画像データを生成する処理は以下のようにして実現される。
【０１２３】
ＰＤプリンタ１０００のCapabilityでＨＴＭＬファイルが許容されていて、ＰＮＧファイルが許容されていなかった場合を例に説明する。このような場合は、ＰＮＧファイルへのリンクを含むようなＨＴＭＬファイルを印刷指定すると、通常であればＰＮＧファイルは正常に印刷されなくなる。これを回避するには、以下の２通りの形態がある。
（ａ）印刷指定されたＨＴＭＬファイルや、その中でリンクされている画像データを全てをまとめてＰＤプリンタ１０００が印刷できる一つの画像データに変換して、それをＰＤプリンタ１０００に送信する方法である。この場合の画像データの変換は、印刷画像ファイル作成（ステップＳ１１）でなされ、印刷が終了した変換後の画像データは前述の実施の形態１乃至３と同様にして破棄される。
（ｂ）ＨＴＭＬファイルの変換を行わず、リンク先の画像等のデータをＰＤプリンタ１０００から要求されたタイミングで、印刷可能な画像データへ変換する形態である。この場合もやはり画像データの変換は、印刷画像ファイル作成（ステップＳ１１）で実施され、印刷が終了した変換後の画像データは前述の実施の形態１乃至３と同様にして破棄するようにしている。
【０１２４】
本実施形態４における顕著な特徴は次の３点である。
（１）図６及び図１３の印刷画像ファイル作成（ステップＳ１１）のタイミングで、これから印刷を行おうとしている必要最低限の画像データのみを変換して用意する。
（２）印刷時にＤＳＣでＨＴＭＬファイルの中身を参照し、リンクを見つける度に、そのリンク先のデータがプリンタのCapabilityで許容されるかどうかを判断する。ここで許容されていない場合は、印刷可能なデータファイルの抽出（ステップＳ５）で生成された印刷可能ファイルリストに登録されているかを参照して、登録されていれば画像データを変換して印刷する。一方、登録されていなければ印刷しないようにする。
（３）前述の実施の形態３と同様に、ＰＤプリンタ１０００に送信するためにページ分割される全ての画像データを、全てのページで送信される画像のサイズを同じ、或はほぼ同じにする。ここで、ページ分割される全ての画像データと記述したのは、ＨＴＭＬ等の内部でリンクされている画像データなどに対しても同じように画像サイズの変換を行うと、不適切な印刷結果を招いてしまうためである。
【０１２５】
尚、本実施の形態４では、画像ファイルのフォーマットの変換は特に重要ではないため、その説明を割愛する。
【０１２６】
以上説明したように本実施の形態４によれば、以下の効果が得られる。
（Ａ）印刷が指定されたデータの中でリンクされているデータに関しても、プリンタのCapabilityに許容されている画像データへ変換して印刷できる。
（Ｂ）データを複数ページの画像データに分割して印刷する場合に、プリンタに送信する分割後の画像のサイズを適切なサイズ、アスペクト比にできる。これにより、画像データの極端な変倍を避けることができ、適切な印刷結果が得られる。
（Ｃ）データを複数ページに分割して印刷する場合に、プリンタに送信する分割後の画像のサイズをページ間でほぼ同じに統一できる。これにより、画像データを展開する向きや変倍率も統一され、適切な印刷結果が得られる。
（Ｄ）パソコンを介さないダイレクト印刷システムでは、メモリ等の制約が厳しいため、プリンタに送信する画像データを何ページ分も同時に保持することは困難である。しかし本実施の形態では、同時に保持する画像数を制御でき、使用メモリ量の削減を実現できる。
【０１２７】
［その他の実施形態］
上述の実施の形態１乃至４において、同一の画像ファイルの画像データを、同じ印刷仕様で繰り返し印刷する場合には、ＤＳＣ３０１２は、ステップＳ１０で受信した「画像ファイル情報の取得要求」で同じ画像ファイルが要求されてることになる。ここで同じ画像ファイルが指定されている場合には、ＤＳＣ３０１２のＲＡＭ３１０２に既に展開されている画像をデータを読み出してステップＳ１４で、ＰＤプリンタ１０００に送信すれば良い。これにより印刷用の画像ファイル作成処理の回数を減らすことができ、より高速な印刷が可能となる。
【０１２８】
また或は、ＤＳＣ３０１２からＰＤプリンタ１０００に対して、前回と同じ画像の印刷であることを示すコマンド或はデータを送信することにより、ＰＤプリンタ１０００が前回と同じ印刷データを用いて同じ画像を印刷するようにしてもよい。これにより、ＤＳＣ３０１２とＰＤプリンタ１０００との間の通信回数を減らして画像を印刷することができる。
【０１２９】
［他の実施の形態］
本発明の目的は前述したように、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１３０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【０１３１】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【０１３２】
以上説明したように本実施の形態によれば、プリンタのCapability情報を利用することで、プリンタに送信すべきファイルフォーマット等を把握し、適切な画像変換を行なえる。また、ＨＴＭＬ等のようなファイル内に他の画像データへのリンクを含むようなものが印刷指定された場合に、リンク先の画像データに対しても同様の適切な画像変換が行える。
【０１３３】
更に、ＨＴＭＬ等のような複数ページに跨る画像データに対しても、全てのページ画像の大きさを統一することで、ページ間で画像データの展開する向きや変倍率が統一でき、良好な印刷結果が得られる。
【０１３４】
更に、複数ページに亘る画像データをページ分割して印刷する場合に、プリンタとデジタルカメラとで同期を取りながら、現在印刷しているページに割り付ける画像データのみを適切に生成することで、メモリを節約した良好な印刷制御が可能となる。
【図面の簡単な説明】
【０１３５】
【図１】本発明の実施の形態に係るフォトダイレクトプリンタ装置の概観斜視図である。
【図２】本実施の形態に係るＰＤプリンタの操作パネルの概観図である。
【図３】本実施の形態に係るＰＤプリンタの制御に係る主要部の構成を示すブロック図である。
【図４】本実施の形態に係るＤＳＣの構成を示すブロック図である。
【図５】本実施の形態に係る印刷システムにおいて、ＤＳＣからＰＤプリンタに対してプリント要求を発行して印刷を行う場合の大まかな信号フローを説明する図である。
【図６】本発明の実施の形態１に係るＤＳＣとＰＤプリンタとの間で通信を行って、ＤＳＣからＰＤプリンタに画像データを供給して印刷を行う場合の処理を説明するフローチャートである。
【図７】本実施の形態１に係るＤＳＣにおける、印刷可能な画像ファイルの抽出の処理（ステップＳ５）を説明するフローチャートである。
【図８】本実施の形態に係る印刷可能画像ファイル抽出の処理の印刷可能判断（ステップＳ５０２）で参照する変換可能判断リストの一例を示す図である。
【図９】本実施の形態に係る印刷可能画像ファイル抽出の処理の印刷可能判断（ステップＳ５０２）で参照する変換可能判断リストの一例を示す図である。
【図１０】本実施の形態１に係るＤＳＣにおける画像ファイルの作成処理（ステップＳ１１）を説明するフローチャートである。
【図１１】本実施の形態に係るＰＤプリンタにおける画像データの処理（ステップＳ２８）を説明するフローチャートである。
【図１２】本発明の実施の形態２に係る画像の印刷結果の一例を示す図である。
【図１３】本発明の実施の形態２に係るＤＳＣとＰＤプリンタとの間で通信を行って、ＤＳＣからＰＤプリンタに画像データを供給して、ｎ−ｕｐのレイアウト印刷を行う場合の処理を説明するフローチャートである。
【図１４】印刷システムにおいて、ＤＳＣからＰＤプリンタに対してプリント要求を発行して画像を印刷する場合の大まかな信号のやり取りを説明する図である。
【図１５】本発明の実施の形態３乃至４に係る印刷システムにおいて、デジタルカメラ（ＤＳＣ）からＰＤプリンタに対してプリント要求を発行して、ＤＰＯＦ設定ファイルで指定された複数の画像をＮページに割り付けての印刷を行う場合の大まかな信号フローを説明する図である。
【図１６】本実施の形態３，４に係る印刷ジョブファイルの一例を示す図である。
【図１７】本実施の形態３，４に係る印刷ジョブファイルの一例を示す図である。
【図１８】本実施の形態３，４に係る「AUTPRINT.MRK」ファイルの一例を示す図である。
【図１９】本実施の形態３，４に係る印刷画像ファイル作成処理を説明するフローチャートである。
【図１】
2007004715.tif 000003
【図２】
2007004715.tif 000004
【図３】
2007004715.tif 000005
【図４】
2007004715.tif 000006
【図５】
2007004715.tif 000007
【図６】
2007004715.tif 000008
【図７】
2007004715.tif 000009
【図８】
2007004715.tif 000010
【図９】
2007004715.tif 000011
【図１０】
2007004715.tif 000012
【図１１】
2007004715.tif 000013
【図１２】
2007004715.tif 000014
【図１３】
2007004715.tif 000015
【図１４】
2007004715.tif 000016
【図１５】
2007004715.tif 000017
【図１６】
2007004715.tif 000018
【図１７】
2007004715.tif 000019
【図１８】
2007004715.tif 000020
【図１９】
2007004715.tif 000021