(57)【特許請求の範囲】
【請求項１】
画像を印刷する印刷装置と通信し、前記印刷装置に画像を送信する撮像装置であって、
記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定手段と、
前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定手段と、
前記設定手段により設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶手段と、
前記設定手段により設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶手段に記憶されているトリミング情報を前記加工処理に応じて加工する加工手段と、
前記加工手段により加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送手段と、を有し、
前記加工手段によりリサイズを行う場合は、前記加工手段は、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶手段に記憶されているトリミング情報をリサイズすることを特徴とする撮像装置。
【請求項２】
前記加工手段は、前記設定手段により設定されたトリミング範囲と、前記印刷サイズと、前記指定手段により印刷対象に指定された画像の画像サイズとに応じて、リサイズ率を決定し、決定したリサイズ率で前記印刷対象に指定された画像をリサイズすることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記加工手段は、前記印刷サイズにより決定される印刷に必要な画素数よりも、前記印刷対象の画像におけるトリミング範囲に対応する領域の画素数の方が大きい場合、前記トリミング範囲の画素数と当該印刷に必要な画素数とから算出される倍率に基づいて、前記印刷対象の画像をリサイズすることを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記加工手段は、前記印刷サイズにより決定される印刷に必要な画素数が、前記印刷対象の画像におけるトリミング範囲に対応する領域の画素数以下の場合、前記加工手段は、前記印刷対象の画像とトリミング情報の加工処理を行わないことを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記加工手段は、前記設定手段により設定された印刷レイアウトに応じて、前記印刷対象の画像に回転処理を施し、
前記回転処理を施す場合に、前記トリミング情報加工手段は、前記加工手段による回転処理の回転方向と同じ方向に前記トリミング情報を回転させることを特徴とする請求項１ないし４のいずれか１項に記載の撮像装置。
【請求項６】
画像を印刷する印刷装置と通信し、前記印刷装置に画像を送信する撮像装置の制御方法であって、
記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定工程と、
前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定工程と、
前記設定工程で設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶工程と、
前記設定工程で設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶工程で記憶されたトリミング情報を前記加工処理に応じて加工する加工工程と、
前記加工工程で加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送工程と、を有し、
前記加工工程でリサイズを行う場合は、前記加工工程では、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶工程で記憶されたトリミング情報をリサイズすることを特徴とする制御方法。
【請求項７】
撮像装置と印刷装置とが直接通信し、前記印刷装置が前記撮像装置から供給される画像を印刷する印刷システムにおいて、
前記撮像装置は、
記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定手段と、
前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定手段と、
前記設定手段により設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶手段と、
前記設定手段により設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶手段に記憶されているトリミング情報を前記加工処理に応じて加工する加工手段と、
前記加工手段により加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送手段と、を有し、
前記加工手段によりリサイズを行う場合は、前記加工手段は、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶手段に記憶されているトリミング情報をリサイズし、
前記印刷装置は、
前記転送手段により転送された前記印刷対象の画像を前記トリミング情報に応じて印刷することを特徴とする印刷システム。
【請求項８】
画像を印刷する印刷装置と直接通信し、前記印刷装置に画像データを供給する撮像装置のコンピュータを、
記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定手段と、
前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定手段と、
前記設定手段により設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶手段と、
前記設定手段により設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶手段に記憶されているトリミング情報を前記加工処理に応じて加工する加工手段と、
前記加工手段により加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送手段として機能させるためのプログラムであって、
前記加工手段によりリサイズを行う場合は、前記加工手段は、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶手段に記憶されているトリミング情報をリサイズすることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラ等をプリンタに直接接続して印刷するダイレクトプリント技術に関する。
【背景技術】
【０００２】
プリンタとデジタルスチルカメラ（以下、ＤＳＣ(Digital Still Camera)）をＵＳＢ等のインターフェースを介して直接接続し、ＤＳＣに保存されている画像をプリンタに転送して印刷する、所謂デジタルカメラダイレクトプリントシステムが一般的となっている。
【０００３】
デジタルカメラカメラダイレクトプリントシステムでは、ＤＳＣに記憶されている画像ファイルがＤＰＯＦ(Digital Print Order Format)という標準規格のプリント指定ファイルとして定義されている。そして、ユーザが印刷したい画像をＤＰＯＦファイルで指定し、プリンタに転送することで印刷を行う。
【０００４】
このようなデジタルカメラダイレクトプリントシステムで提案されているＤＳＣとプリンタの標準通信規格では、ＤＳＣからプリンタへの画像データの転送は、ＪＰＥＧやＴＩＦＦ等の画像ファイル形式で行われている。
【０００５】
近年、ＤＳＣで撮影される画像の解像度が飛躍的に増大し、１６００万画素の解像度を持つＤＳＣも市販されている。ところが、高解像度のＤＳＣで撮影した画像データをそのままＪＰＥＧ形式でプリンタに転送しても、印刷される画像サイズによっては、プリンタでそのような大量の画像データを必要とせず、転送が無駄となってしまう。またメモリの容量が少ないプリンタにとっては、このような大量の画像データはメモリのオーバーフローを引き起こす原因となる。
【０００６】
このような事態に対処するために、以下の特許文献１，２が提案されている。
【０００７】
特許文献１では、プリンタでの処理負荷の低減を目的とし、ＤＳＣでＪＰＥＧファイルの解凍、色変換、リサイズ等を行ってプリント可能な形式のデータに変換した上でプリンタに転送し、プリンタでの画像処理負荷の低減を図っている。
【０００８】
また、特許文献２では、プリンタ毎の色再現特性のばらつきをＤＳＣ側で補正し、ＪＰＥＧ等の一般的な画像ファイルにしてプリンタに転送している。これによりプリンタ毎の印刷特性に依存しない安定した画像を得ることができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１０−２９０４７０号公報
【特許文献２】特開２００３−１３４４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ここで、ＤＳＣで撮影した画像の印刷に際して、トリミング枠を指定して印刷することが知られている。
【００１１】
「トリミング」印刷では、元の画像を切り出し、「フチなし」指定により印画紙いっぱいに画像を印刷したり、「フチあり」指定によりトリミング指定した画像全体を印刷することが基本である。
【００１２】
また、画質向上のために、撮影画像を解析し、明るさ、コントラストや色補正を行って印刷することも知られている。
【００１３】
明るさ、コントラスト補正処理の多くのアルゴリズムは、撮影画像全体でＲＧＢや輝度のヒストグラムを作成し、解析して元画像を補正している。しかし、トリミング指定した場合、画像を切り出してプリンタに転送するので、切り出し位置によってヒストグラムが変化し、明るさやコントラストが変わってしまうという課題がある。
【００１４】
また、「フチなし」印刷では、フチを残さないように印画紙よりも少し大きめにはみ出して印刷することが一般的であるが、画像を切り出し加工した場合は、はみ出す領域のデータがないので、はみ出した部分の画像が欠落してしまうという課題がある。
【００１５】
また、上記のような課題に対処するために、プリンタに元画像とトリミング情報を転送して、プリンタ側で画像を加工する場合、トリミング指定した以外の不要な画像も転送することになるので、印刷速度が遅くなるという結果を招く。
【００１６】
本発明は、上記課題に鑑みてなされたもので、その目的は、画像をトリミングして印刷する場合に、切り出し位置による明るさやコントラストの変化がなく、トリミングにより切り出した画像を高精度且つ高速に印刷することができる技術を実現することにある。
【課題を解決するための手段】
【００１７】
上記課題を解決し、目的を達成するために、本発明は、画像を印刷する印刷装置と通信し、前記印刷装置に画像を送信する撮像装置であって、記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定手段と、前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定手段と、前記設定手段により設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶手段と、前記設定手段により設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶手段に記憶されているトリミング情報を前記加工処理に応じて加工する加工手段と、前記加工手段により加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送手段と、を有し、前記加工手段によりリサイズを行う場合は、前記加工手段は、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶手段に記憶されているトリミング情報をリサイズする。
【発明の効果】
【００１８】
本発明によれば、画像をトリミングして印刷する場合に、切り出し位置による明るさやコントラストの変化がなく、トリミングにより切り出した画像を高精度且つ高速に印刷することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明に係る実施形態のフォトダイレクトプリンタの概観斜視図である。
【図２】本実施形態に係るＰＤプリンタの操作パネルの概観図である。
【図３】本実施形態に係るＰＤプリンタの制御に係る主要部の構成を示すブロック図である。
【図４】本実施形態に係るＤＳＣの構成を示すブロック図である。
【図５】ＤＳＣからＰＤプリンタに対して印刷開始要求を発行して印刷を行う手順を説明する図である。
【図６】本発明に係る実施形態の印刷システムの構成を示す機能ブロック図である。
【図７】本実施形態に係るデジタルカメラとＰＤプリンタとの間で通信を行って、ＤＳＣからＰＤプリンタに画像データを供給して印刷を行う場合の処理を示すフローチャートである。
【図８】ＤＳＣで撮影した画像（ａ）と、（ａ）を印刷する画像の縦横の画素数に基づいてリサイズした画像（ｂ）、（ａ）をリサイズ及び回転した画像（ｃ）、フチあり印刷された印刷結果物（ｄ）、フチなし印刷された印刷結果物（ｅ）を夫々示す図である。
【図９】ＤＳＣにより実行される印刷ジョブファイルの作成処理を示すフローチャートである。
【図１０】ＤＳＣによる印刷用画像ファイルの作成処理を示すフローチャートである。
【図１１】ＰＤプリンタ１０００からの「画像ファイルの取得要求」に対するＤＳＣ３０１２での画像ファイル送信処理を示すフローチャートである。
【図１２】ＤＳＣ３０１２による印刷画像のリサイズ処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下に、添付図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００２１】
尚、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００２２】
［システム構成］
以下では、デジタルスチルカメラ（ＤＳＣ）とプリンタとの間での、ダイレクトプリントの実施形態ついて説明する。
【００２３】
図１は、本発明に係る実施形態のフォトダイレクトプリンタ（以下、ＰＤプリンタ）１０００の概観斜視図である。
【００２４】
このＰＤプリンタ１０００は、ホストコンピュータ（ＰＣ）からデータを受信して印刷する通常のＰＣプリンタとしての機能を備える。また、ＰＤプリンタ１０００は、メモリカード等の記憶媒体に記憶されている画像データを直接読み取って印刷する機能或いはＤＳＣやＰＤＡ等から転送される画像データを印刷する機能と、を備える。
【００２５】
図１において、本実施形態のＰＤプリンタ１０００の外殻をなす本体は、下ケース１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。下ケース１００１はＰＤプリンタ１０００の略下半部を、上ケース１００２は本体の略上半部を夫々形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部には夫々開口部がされている。更に、排出トレイ１００４は、その一端部が下ケース１００１に回転自在に保持され、その回転によって下ケース１００１の前面部に形成される開口部を開閉させ得る。
ここで、記録動作を実行させる際には、排出トレイ１００４を前面側へと回転させて開口部を開成させることにより、ここから記録されたシート（普通紙、専用紙、樹脂シート等を含む。）が排出可能とされ、排出されたシートを順次積載し得る。また排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて各トレイを手前に引き出すことにより、シートの支持面積を３段階に拡大、縮小させ得るようになっている。
【００２６】
アクセスカバー１００３は、その一端が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るようになっている。このアクセスカバー１００３を開くことによって本体内部に収納されている記録ヘッドカートリッジ（不図示）或いはインクタンク（不図示）等の交換が可能となる。
尚、ここでは特に図示しないが、アクセスカバー１００３を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっている。そして、レバーの回転位置をマイクロスイッチ等で検出することにより、アクセスカバー１００３の開閉状態を検出し得るようになっている。
【００２７】
また、上ケース１００２の上面には、電源キー１００５が設けられている。また、上ケース１００２の右側には、液晶表示部１００６や各種キースイッチ等を備える操作パネル１０１０が設けられている。この操作パネル１０１０の構造は、図２を参照して後述する。１００７は自動給送部で、シートを装置本体内へと自動的に給送する。１００８は紙間選択レバーで、プリントヘッドとシートとの間隔を調整するためのレバーである。１００９はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接読み込んで印刷することができる。このメモリカードとしては、例えばコンパクトフラッシュ（登録商標）メモリ、スマートメディア、メモリスティック等がある。１０１１はビューワ（液晶表示部）で、このＰＤプリンタ１０００の本体に着脱可能であり、ＰＣカードに記憶されている画像の中からプリントしたい画像を検索する場合等に、１コマ毎の画像やインデックス画像等を表示するのに使用される。１０１２は後述するＤＳＣを接続するためのＵＳＢ端子である。また、このＰＤプリンタ１０００の背面には、ＰＣを接続するためのＵＳＢコネクタが設けられている。
【００２８】
［操作パネルの構成］
図２は、本実施形態に係るＰＤプリンタ１０００の操作パネル１０１０の概観図である。
【００２９】
図２において、液晶表示部１００６には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。表示される項目としては、例えば、複数ある写真画像ファイルの内、印刷したい写真画像の先頭番号、指定コマ番号（開始コマ指定／印刷コマ指定）、印刷を終了したい最後の写真番号（終了）、印刷部数（部数）、印刷に使用するシートの種類（用紙種類）、１枚のシートに印刷する写真の枚数設定（レイアウト）、印刷の品位の指定（品位）、撮影した日付を印刷するかどうかの指定（日付印刷）、写真を補正して印刷するかどうかの指定（画像補正）、印刷に必要なシートの枚数表示（用紙枚数）等がある。これら各項目は、カーソルキー２００１を用いて選択、或いは指定される。
【００３０】
２００２はモードキーで、このキーを押下する毎に、印刷の種類（インデックス印刷、全コマ印刷、１コマ印刷、指定コマ印刷等）を切り替えることができ、これに応じてＬＥＤ２００３の対応するＬＥＤが点灯される。
【００３１】
２００４はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。２００５は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。
【００３２】
２００６は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【００３３】
［ＰＤプリンタの構成］
次に、本実施形態に係るＰＤプリンタ１０００の制御に係る主要部の構成を説明する。尚、図３において、前述の図面と共通する部分は同じ記号を付与して、それらの説明は省略する。
【００３４】
図３は、本実施形態に係るＰＤプリンタの制御に係る主要部の構成を示すブロック図である。
【００３５】
図３において、３０００は制御部（制御基板）を示している。３００１はＡＳＩＣ（専用カスタムＬＳＩ）である。３００２はＤＳＰ（デジタル信号処理プロセッサ）で、内部にＣＰＵを有し、後述する各種制御処理及び、輝度信号（ＲＧＢ）から濃度信号（ＣＭＹＫ）への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。
【００３６】
３００３はメモリで、ＤＳＰ３００２のＣＰＵの制御プログラムを記憶するプログラムメモリ３００３ａ、及び実行時のプログラムを記憶するＲＡＭエリア、画像データ等を記憶するワークメモリとして機能するメモリエリアを有している。
【００３７】
３００４はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。３００５はデジタルカメラ（ＤＳＣ）３０１２を接続するためのポートとしてのＵＳＢコネクタである。３００６はビューワ１０１１を接続するためのコネクタである。
【００３８】
３００８はＵＳＢハブ(USBHUB)で、このＰＤプリンタ１０００がＰＣ３０１０からの画像データに基づいて印刷を行う際には、ＰＣ３０１０からのデータをそのままスルーし、ＵＳＢ３０２１を介してプリンタエンジン３００４に出力する。これにより、接続されているＰＣ３０１０は、プリンタエンジン３００４と直接データや信号のやり取りを行って印刷を実行することができる（一般的なＰＣプリンタとして機能する。）。
【００３９】
３００９は電源コネクタで、電源３０１９により、商用ＡＣから変換された直流電圧を入力している。３０１０は一般的なパーソナルコンピュータ（ＰＣ）、３０１１は前述したメモリカード（ＰＣカード）、３０１２はデジタルスチルカメラ（ＤＳＣ）である。
【００４０】
尚、この制御部３０００とプリンタエンジン３００４との間の信号のやり取りは、前述したＵＳＢ３０２１又はＩＥＥＥ１２８４バス３０２２を介して行われる。
【００４１】
［デジタルカメラの説明］
図４は、本実施形態に係るＤＳＣ（デジタルカメラ）３０１２の構成を示すブロック図である。
【００４２】
図４において、３１００はＤＳＣ３０１２全体の制御を司るＣＰＵであり、３１０１はＣＰＵ３１００による処理手順を記憶しているＲＯＭである。３１０２はＣＰＵ３１００のワークエリアとして使用されるＲＡＭであり、３１０３は各種操作を行うスイッチ群で、シャッター、モード切替スイッチ、選択スイッチやカーソルキー等が含まれている。
【００４３】
２７００はＬＣＤ表示部であり、現時点で撮影している映像や、撮像されてメモリカードに記憶されている画像を表示したり、各種設定を行う際のメニューを表示するために使用される。３１０５は光学ユニットであり、主としてレンズ及びその駆動系で構成される。３１０６はＣＣＤ素子であり、３１０７はＣＰＵ３１００の制御下において光学ユニット３１０５を駆動制御するドライバである。
【００４４】
３１０８は記憶媒体３１０９（コンパクトフラッシュ（登録商標）、スマートメディア等）を接続するためのコネクタであり、３１１０はＰＣ或いはＰＤプリンタ１０００と接続するためのＵＳＢインターフェース（ＵＳＢのスレーブ側）である。
【００４５】
［図５の説明］
図５は、ＤＳＣ３０１２とＰＤプリンタ１０００とが、予め決められたダイレクトプリントプロトコルに対応していることを前提とする。そして、ＤＳＣ３０１２からＰＤプリンタ１０００に対して印刷開始要求を発行して印刷を行う処理手順を説明する図である。
【００４６】
この処理手順は、ＰＤプリンタ１０００とＤＳＣ３０１２とがＵＳＢケーブルを介して接続された後、或は無線により通信を行い、互いにダイレクトプリントプロトコルに準拠していることを確認した後に実行される。
【００４７】
先ず、ＤＳＣ３０１２は「Configure Print Service」をＰＤプリンタ１０００に送信して、ＰＤプリンタ１０００の状態をチェックする（６００）。これに対してＰＤプリンタ１０００から、その時点でのＰＤプリンタ１０００の状態（ここでは「アイドル(Idle)」状態）が「Notify Device Status」によって通知される（６０１）。ここでは「アイドル」状態であるため、ＤＳＣ３０１２はＰＤプリンタ１０００のCapabilityを問合せ（６０２：Get Capability）、そのCapabilityに応じた印刷開始要求（Start Job）を発行する（６０３）。尚、この印刷開始要求は、６０１で、後述するＰＤプリンタ１０００からのステータス情報の中の「newJobOK」が「True（真）」になっていることを条件に、ＤＳＣ３０１２からＰＤプリンタ１０００に発行される。
【００４８】
この印刷開始要求に対してＰＤプリンタ１０００は、印刷が指示された画像データのファイルＩＤに基づいてファイル情報をＤＳＣ３０１２に要求する（６０４：Get File Info）。これに応答してＤＳＣ３０１２から、そのファイル情報（File Info）が送信される。このファイル情報にはファイル容量等の情報が含まれる。そしてＰＤプリンタ１０００がそのファイル情報を受信して処理可能であると判断すると、そのファイル情報をＤＳＣ３０１２に要求する（６０５：Get File）。これによりその要求されたファイルの画像データ（Image File）がＤＳＣ３０１２からＰＤプリンタ１０００に送られる。これによりＰＤプリンタ１０００が印刷処理を開始すると、６０６で「印刷中（Printing）」を示すステータス情報が、ＰＤプリンタ１０００からＤＳＣ３０１２に「Notify Device Status」によって通知される。そして１頁の印刷処理が終了すると、次のページの処理開始時にＰＤプリンタ１０００から「Notify Job Status」により、「page1/1」が通知される（６０７）。そして１頁だけの印刷であれば、その印刷要求した１頁の印刷が終了すると、次に「Notify Dvice Status」によりＰＤプリンタ１０００が「アイドル(Idle)」状態になったことが通知される（６０８）。
【００４９】
尚、例えば、１頁に複数（Ｎ）の画像をレイアウトして印刷するＮ−ｕｐ印刷の場合には、Ｎ枚の画像を印刷する度に、「Notify Job Status」（６０７）がＰＤプリンタ１０００からＤＳＣ３０１２に送られることになる。本実施形態での「Notify Job Status」及び「Notify Device Status」の発行タイミングと画像データの取得の順序は一例であり、製品の実装によっては様々な形態がありうる。
【００５０】
［図６の説明］
図６は、本実施形態に係る印刷システムの構成を示す機能ブロック図である。
【００５１】
本印刷システムは、ＰＤプリンタ１０００とＤＳＣ３０１２とがＵＳＢ等の通信インターフェース６６０を介して相互に直接通信できるように接続されている。尚、通信インターフェース６６０は有線によるものだけでなく、ブルーツース等の無線インターフェースであっても良い。
【００５２】
ＰＤプリンタ１０００は、通信インターフェース６６０を介した通信制御を行う通信制御部６１０と、プリントバッファや受信バッファ等を含む印刷情報管理メモリ６１１とを備える。また、画像サイズのリサイズ処理を行う画像リサイズ処理部６１２と、ＰＤプリンタ１０００は、画像の回転処理を行う画像回転処理部６１３と、画像の色変換を行う画像色処理部６１４とを備える。さらに、画像データの圧縮及び伸長を行う画像伸張圧縮処理部６１５と、プリンタエンジン３００４（図３）等を含む印刷制御部６１６と、を備える。尚、本実施形態では、画像リサイズ処理部６１２、画像回転処理部６１３、画像色処理部６１４、及び画像伸張圧縮処理部６１５は、図３に示すＤＳＰ３００２とプログラムメモリ３００３ａに記憶されているプログラムとにより実現される。
【００５３】
ＤＳＣ３０１２は、通信インターフェース６６０を介した通信制御を行う通信制御部６２１と、後述する印刷画像ファイルの作成済みの画像データ等を一時的に格納するＲＡＭ３１０２を含む印刷情報管理メモリ６２２と、を備える。また、ＤＳＣ３０１２は、画像サイズのリサイズ処理を行う画像リサイズ処理部６２３と、画像の回転処理を行う画像回転処理部６２４と、画像データの圧縮及び伸長を行う画像伸張圧縮処理部６２５と、色変換処理を行う画像色処理部６２６と、を備える。尚、本実施形態では、画像リサイズ処理部６２３、画像回転処理部６２４、画像伸張圧縮処理部６２５、及び画像色処理部６２６は、図４に示すＣＰＵ３１００とＲＯＭ３１０１に記憶されているプログラムとにより実現される。
【００５４】
［図７の説明］
図７は、本実施形態に係るデジタルカメラ（ＤＳＣ）３０１２とＰＤプリンタ１０００とが直接通信を行って、ＤＳＣ３０１２からＰＤプリンタ１０００に画像データを供給して印刷を行う処理を示すフローチャートである。
【００５５】
図７において、ステップＳ１〜Ｓ１２はＤＳＣ３０１２による処理を示し、ステップＳ２１〜Ｓ３１はＰＤプリンタ１０００による処理を夫々示している。
【００５６】
さて、ステップＳ１及びステップＳ２１では、ＤＳＣ３０１２とＰＤプリンタ１０００とが互いにダイレクトプリントプロトコルに準拠していることを確認する。そして、ＤＳＣ３０１２はＰＤプリンタ１０００に対してプリンタの状態やデバイス情報を問い合せる。これに対して、ＰＤプリンタ１０００は、その時点でのプリンタの状態やデバイス情報を通知する。デバイス情報には、例えば接続プロトコルのバージョンやプリンタのベンダー名、機種名等が含まれる。
【００５７】
次に、ＤＳＣ３０１２は、図５の６０２のように、ＰＤプリンタ１０００に対してCapabilityを要求する。これによりＰＤプリンタ１０００は、ステップＳ２２で、プリンタの印刷機能に関する能力情報（Capability）を作成してＤＳＣ３０１２に送信する。
【００５８】
ＤＳＣ３０１２がＰＤプリンタ１０００からCapabilityを受信すると（ステップＳ２）、ステップＳ３で、このCapabilityに基づいてＵＩ（ユーザインタフェース）画面を構築して表示部２７００に表示する。例えば、ＰＤプリンタ１０００が用紙サイズがＡ４判とＢ５判の普通紙と写真用用紙とを装着し、１−ｕｐ，２−ｕｐ，４−ｕｐや「フチなし／あり」、回転、トリミング、日付印刷等が、表示部２７００のＵＩ画面を介してユーザが任意に設定可能である。
【００５９】
次に、ステップＳ４では、表示部２７００のＵＩ画面を参照して、ユーザが印刷したい１以上の画像を選択し、それら画像の印刷条件を設定する。この印刷条件は、例えば、印刷枚数、用紙サイズ、日付印刷の有無、トリミング指定、フチなし／あり等を含み、ステップＳ２で受信したＰＤプリンタ１０００のCapabilityに基づいたものとなる。
【００６０】
次に、ＵＩ画面を介してユーザにより印刷開始が指示されるとステップＳ５に進み、ＰＤプリンタ１０００に対して印刷指示を行うための印刷ジョブファイルを作成し、ステップＳ６で、作成した印刷ジョブファイルをＰＤプリンタ１０００に送信する。印刷ジョブファイルは、ステップＳ２３でＰＤプリンタ１０００により受信される。
【００６１】
次に、ステップＳ２４で、ＰＤプリンタ１０００は、ＤＳＣ３０１２から受信した印刷ジョブファイルを解析し、印刷ジョブファイルに記載された印刷対象の「画像ファイル情報の取得要求」をＤＳＣ３０１２に送信する。この画像ファイル情報は、画像ファイル本体のデータではなく、ファイル名や、画像のフォーマット情報、画像データ量などの属性情報のことである。属性情報の種類はこれに限らず、画像に付随して管理される情報であれば、適用可能である。ここで、「画像ファイル情報の取得要求」は、ＵＳＢ上のＰＴＰ（Pictutre Transfer Protocol）で動作するサービスでは、そのＰＴＰで規定されている「Get Object Info」に相当する。「画像ファイル情報の取得要求」はＳ１１で送信すべき画像ファイルの作成タイミングをＰＤプリンタ１０００からＤＳＣ３０１２に伝える役割にも利用している。
【００６２】
次に、ステップＳ７で、「画像ファイル情報の取得要求」がＤＳＣ３０１２により受信されると、ステップＳ８で、ＤＳＣ３０１２は、ＰＤプリンタ１０００に送信する印刷用画像ファイルを作成する。このステップＳ８での詳細な処理は後述する。
【００６３】
次に、ステップＳ８で作成した印刷用画像ファイル情報（画像ファイル名、データサイズ等）を、ステップＳ９でＰＤプリンタ１０００に送信する。
【００６４】
ステップＳ２５で、ＰＤプリンタ１０００は、ＤＳＣ３０１２から印刷用画像ファイル情報を受信すると、印刷対象の画像ファイル本体の取得要求をＤＳＣ３０１２に送信する（ステップＳ２６）。ＤＳＣ３０１２は、ＰＤプリンタ１０００から画像ファイルの取得要求を受信すると（ステップＳ１０）、その要求された画像ファイルをＰＤプリンタ１０００に送信する（ステップＳ１１）。
【００６５】
ステップＳ２７で、ＰＤプリンタ１０００が印刷対象の画像ファイルを受信すると、その画像ファイルを復号化して画像処理を行い、ＰＤプリンタ１０００で印刷できる形式のデータに変換し、その変換した画像データに基づいて印刷を行う（Ｓ２８、Ｓ２９）。
【００６６】
ステップＳ３０では、ＰＤプリンタ１０００は、画像データの最後まで印刷が終了したか判定する。そして、印刷が終了していない場合は、例えばＰＤプリンタ１０００が受信した画像データを格納するためのバッファ領域が十分に確保できず、ステップＳ２７で、受信した画像ファイル情報を分割して受信している等が考えられる。このため、ステップＳ２４に戻り、再度「画像ファイル情報の取得要求」をＤＳＣ３０１２に送信し、前述と同様の手順で、ステップＳ２７で画像データの部分データを受信して印刷する。
【００６７】
ステップＳ３０で、画像データの印刷が最後まで終了すると、ステップＳ３１に進み、画像ファイルの印刷が終了した旨をＤＳＣ３０１２に通知する。ＤＳＣ３０１２は、ステップＳ１２でこの印刷終了通知を受信すると、本処理を終了する。
【００６８】
図８（ａ）は、ＤＳＣ３０１２で撮影した画像（４９９２画素（幅）×３３２８画素（高さ））を示し、トリミング枠（３７７４画素（幅）×２４９６画素（高さ））にトリミング指定した場合を示す。
【００６９】
図８（ｂ）は、図（ａ）の画像をＰＤプリンタ１０００にて印刷する画像の縦横の画素数に基づいてリサイズした画像（３７７４画素（幅）×２４９６画素（高さ））を示している。更に図８（ｂ）は、トリミング枠をサイズ（２８３０画素（幅）×１８８６画素（高さ））にリサイズした例を示している。
【００７０】
図８（ｃ）は、図８（ａ）の画像をＰＤプリンタ１０００にて印刷する画像の縦横の画素数に基づいてリサイズ及び回転した画像（２４９６画素（幅）×３７７４画素（高さ））を示している。更に図８（ｃ）は、トリミング枠もサイズ（１８８６画素（幅）×２８３０画素（高さ））にリサイズ及び回転した例を示している。
【００７１】
図８（ｄ）は、フチあり印刷により出力された印刷結果物、図８（ｅ）は、フチなし印刷により出力された印刷結果物を夫々示している。
【００７２】
［図９の説明］
図９は、本実施形態のＤＳＣ３０１２により実行される印刷ジョブファイルの作成処理を示すフローチャートであり、図７のステップＳ２〜Ｓ４に相当する。
【００７３】
先ず、ステップＳ１０１で、ＰＤプリンタ１０００からCapabilityを受信して、ＰＤプリンタ１０００で印刷可能な用紙サイズや解像度等を取得する。本実施形態のＰＤプリンタ１０００は、このcapabilityで、印刷に必要な画像データの縦横の画素数を算出し、その算出結果をＤＳＣ３０１２に通知する。この画素数の算出は、ＰＤプリンタ１０００に装着している用紙のサイズや、ＰＤプリンタの操作部で設定されているプリント設定や、ＰＤプリンタのメモリ等の能力に基づいて行われる。ＤＳＣ３０１２に通知された印刷対象の画像の縦横の画素数に関する情報は、ＤＳＣ３０１２のＲＡＭ３１０２に記憶される。尚、ＰＤプリンタ１０００が画像の画素数をＤＳＣ３０１２に通知できない機種等の場合には、そのプリンタのベンダー名や機種名、バージョン番号といったプリンタから得られる情報に基づきＤＳＣ３０１２でテーブル等を参照する。そして、印刷用紙毎の縦横画素数や回転方向等の情報を求めて、印刷対象の画像の画素数を算出する。
【００７４】
次に、ステップＳ１０２では、表示部２７００に表示されたＵＩ画面により、ユーザが印刷対象の画像を選択する。
【００７５】
次に、ステップＳ１０３では、上記印刷対象の画像を印刷する用紙サイズが選択される。
【００７６】
ステップＳ１０４では、「フチあり／なし」や「画像の回転方向」等の印刷レイアウトが設定される。
【００７７】
次に、ステップＳ１０５では、トリミングを行う場合にトリミングの枠サイズ及び位置を指定する。
【００７８】
次に、ステップＳ１０６では、印刷に必要なパラメータが設定され、ＵＩ画面を介して印刷開始が指示されると、ＤＳＣ３０１２において印刷ジョブファイルの作成が開始される。印刷ジョブファイルには、印刷対象の画像を指定する情報やトリミング設定情報、印刷サイズや画像補正処理に関する情報が含まれている。なお、トリミング情報に関しては、画像データにも含ませて記録しておく。
【００７９】
上記ステップＳ１０２〜Ｓ１０６での処理は図７のステップＳ４に相当し、作成された印刷ジョブファイルをＰＤプリンタ１０００に送信して印刷開始要求が発行される（図５の６０３）。
【００８０】
［図１０の説明］
図１０は、本実施形態のＤＳＣ３０１２により実行される印刷用画像ファイルの作成処理を示すフローチャートであり、図７のステップＳ７〜Ｓ９に相当する。
【００８１】
図１０の処理はＰＤプリンタ１０００からの「画像ファイル情報の取得要求（図７のＳ２４）」を受信することにより開始され、先ずステップＳ２０１で、その取得要求の基になった印刷ジョブファイルに含まれている画像の情報を取得する。
【００８２】
次に、ステップＳ２０２で、ＰＤプリンタ１０００で印刷される印刷条件と、印刷対象の画像ファイルの画像データとに基づいて、その画像データのリサイズ、回転、切り出し等の加工処理が必要か判定する。そして、加工処理が必要でないときはステップＳ２１５に進み、印刷対象の画像ファイルの情報をメモリカード３１０９から読み出して、ＰＤプリンタ１０００に転送する。
【００８３】
一方、加工処理が必要ならばステップＳ２０３に進み、その印刷対象の画像ファイルを読み取り、復号化が必要な画像の場合は、ステップ２０４で画像データを復号化して元の画像データに変換する。
【００８４】
次に、ステップＳ２０５では、用紙サイズにより決まるＰＤプリンタ１０００での印刷に必要な縦横の画素数と、印刷対象の画像のトリミング枠サイズとを比較し、画像データのリサイズ処理が必要か判定する。ここでは、例えば、図８（ａ）の元画像サイズ（４９９２×３３２８）に対し、３７７４×２４９６のトリミング枠が指定され、図８（ｂ）の印刷に必要な画素数が２８３０×１８８６であるとする。即ち、ＰＤプリンタ１０００における印刷に必要な縦横の画素数（図８（ｂ）の２８３０×１８８６）よりも、元画像のトリミング枠の縦横画素数（図８（ａ）の３７７４×２４９６）が大きい場合にはリサイズ処理が必要と判定する。そして、リサイズが必要な場合はステップＳ２０６に進み、リサイズが必要ない場合にはステップＳ２０８に進む。
【００８５】
Ｓ２０６では、画像リサイズ処理部６２３は、印刷対象の画像のトリミング枠サイズと印刷に必要な画素数とから算出される倍率を算出する（図１２で後述する。）。
【００８６】
Ｓ２０７では、画像リサイズ処理部６２３は、上記算出した倍率で画像データのリサイズを行う。
【００８７】
ステップＳ２０８では、図９のＳ１０３〜Ｓ１０５で設定された印刷用紙サイズ、印刷レイアウト及びトリミング枠サイズに基づいて、印刷画像の回転処理が必要か判定する。つまりプリンタにセットされている用紙の向きや、レイアウトされる画像の向きに応じて、プリントの際に、画像データの回転処理が伴うか否かを判断する。そして、回転処理が必要なければステップＳ２１１に進み、回転処理が必要ならばステップＳ２０９に進む。
【００８８】
ステップＳ２０９，Ｓ２１０では、画像回転処理部６２４が印刷画像を回転させると共に、印刷画像の回転方向と同一方向にトリミング枠を回転する。つまりＳ１０５でユーザが設定したトリミング枠の座標を、画像と同様に回転する。変換したトリミング枠の座標は画像データに一緒に録しておく。記録方法はここではJPEG画像の属性情報として一緒にJPEGファイルに記録しておく。
【００８９】
ステップＳ２１１では、上記リサイズ及び／又は回転処理済みの画像データを画像伸張圧縮処理部６２５にて圧縮する。ここでは圧縮方法については特に言及しないが、一般的にはPackBits等に代表される可逆的な圧縮と、ＪＰＥＧ等に代表される非可逆な圧縮方法等のようなＰＤプリンタ１０００が扱える圧縮形式が適用される。こうして符号化された画像データは、ステップＳ２１２で、ＥＸＩＦのタグ付画像データか否かを判定し、ＥＸＩＦタグ付の場合はステップＳ２１３で、そのＥＸＩＦ情報をステップＳ２０２〜Ｓ２１１での処理に合わせて更新する。一方、ステップＳ２１２で、ＥＸＩＦタグなしの場合はステップＳ２１４で、符号化された画像データにオリエンテーション情報を付加する。
【００９０】
以上のようにして作成された印刷用画像ファイルを、ＰＤプリンタ１０００からの「画像ファイル情報の取得要求（図７のＳ２４）」に対する応答データとして送信する（図７のＳ９）。
【００９１】
尚、ステップＳ２０９で回転処理を施した画像をＰＤプリンタ１０００に転送する場合には、ステップＳ２１２の判定でＥＸＩＦタグ付き画像ならば、ステップＳ２１３でＥＸＩＦ情報を書き換える。そうでない場合は、ステップＳ２１４で回転を示すオリエンテーション情報を付加する。
【００９２】
［図１１の説明］
図１１は、図７のＳ２６におけるＰＤプリンタ１０００からの「画像ファイルの取得要求」に対するＤＳＣ３０１２での画像ファイル送信処理を示すフローチャートであり、図７のＳ１０，Ｓ１１に相当している。
【００９３】
図７のステップＳ１０でＰＤプリンタ１０００から「画像ファイルの取得要求」を受信すると、ステップＳ３０１で、印刷対象の画像データのリサイズ及び／又は回転処理が必要か判定する。そして、必要ならばステップＳ３０３に進み、図１０に示す処理で作成された印刷対象の画像ファイルを読み取り、必要なければステップＳ３０２で、メモリカード３１０９に記憶されている印刷対象の画像ファイルを読み取る。
【００９４】
その後、ステップＳ３０４で、ステップＳ３０２又はＳ３０３で読み取った画像ファイルをＲＡＭ３１０２の転送データエリアに格納し、通信制御部６２１及び通信制御部６１０を介してＰＤプリンタ１０００に転送する。
【００９５】
尚、前述の図１０で作成された画像ファイルをＲＡＭ３１０２の転送データエリアに格納しておけば、図１１のステップＳ３０１〜Ｓ３０４の処理は不要となり、図１１の処理は、単に転送データエリアに格納された画像ファイルを転送すれば良いことになる。
【００９６】
［図１２の説明］
図１２は、図１０のステップＳ２０６、Ｓ２０７におけるＤＳＣ３０１２による印刷画像のリサイズ処理を示すフローチャートである。
【００９７】
先ずステップＳ５０１で、画像と一緒に記録されているトリミング枠の情報を参照し、トリミング枠サイズと印刷に必要な画素数とを取得し、印刷画像の画像サイズを（Ｉｘ，Ｉｙ）とし、トリミング枠サイズを（Ｔｘ，Ｔｙ）、印刷に必要な画素数を（Ｐｘ，Ｐｙ）とする。
【００９８】
そして、図８（ａ）、（ｂ）では、Iｘ＝４９９２、Iｙ＝３３２８、Ｔｘ＝３７７４、Ｔｙ＝２４９６、Ｐｘ＝２８３０，Ｐｙ＝１８８６となる。トリミング枠サイズ（Ｔｘ，Ｔｙ）と印刷に必要な画素数（Ｐｘ，Ｐｙ）とを比較し、倍率の式は（Ｚ）＝（Ｔｘ）／（Ｐｘ）又は（Ｚ）＝（Ｔｙ）／（Ｐｙ）となる。
【００９９】
ステップＳ５０２で、上記倍率の式が（Ｚ）＞１の場合（つまり、トリミング枠サイズが印刷に必要な画素数を超えている場合）、ステップＳ５０３に進む。
【０１００】
ステップＳ５０３では、上記倍率で印刷画像をリサイズするので、Ｘ＝（Ｉｘ）／（Ｚ）の式から、おおよそ画像サイズ（Iｘ×Iｙ）が３７７４×２４９６に変更される。
【０１０１】
尚、縦倍率と横倍率のどちらを使用するかは、プリンタ及びレイアウトに依存する場合としない場合があるので、ここでは言及しない。
【０１０２】
本実施形態によれば、４９９２ｘ３３２８の画像サイズをおおよそ３７７４×２４９６にリサイズすることにより、画素数が１６００万画素から９００万画素のデータ量に減少するので、転送時間を減少でき、高速印刷が実現できる。
【０１０３】
また、画像の切り出しではなく、画像のリサイズによるので、切り出し位置には依存せずに画像データ量を減少させる。よって、トリミング位置やサイズを変更しても、ヒストグラムにはほとんど影響せず、自動で明るさやコントラストを調整するプリンタが接続された場合であっても、安定した画像品質を維持することが可能となる。
【０１０４】
つまり、トリミングする場合もしない場合も、元の画像の特徴に基づく補正処理を同じように実行することが出来る。もし仮に、ＤＳＣでトリミングした画像を送ってプリンタに補正処理を任せてしまうと、このようなことは出来ず、トリミングの有無で色味が変わってしまう。
【０１０５】
更に、本実施形態は、フチなし印刷において、画像を切り出ししないので、フチが出ないように、実際の用紙サイズよりもはみ出して印刷するようなシステムに特に有効である。つまり、トリミング枠の外側のデータも存在し、図８（ｅ）のようにトリミング枠から画像が欠けることがない。つまり、トリミング指定した部分を、用紙からはみ出してプリントさせないようにすることが可能になる。逆に、トリミング指定に従ってトリミングした画像をＤＳＣからＰＤプリンタに送信指定しまうと、ふちなし印刷時には、トリミング枠内のデータでも、はみ出し部分の画像が欠落したプリント結果が得られてしまう。このように本実施形態によれば、ふちの有無に関わらず、トリミング指定した領域全体を、プリント用紙に配置することが出来る。
【０１０６】
［他の実施形態］
本発明は、前述した実施形態の機能を実現するコンピュータプログラムを、システムあるいは装置に直接あるいは遠隔から供給することによって達成される場合も含む。その場合、システム等のコンピュータが該コンピュータプログラムを読み出して実行することになる。
【０１０７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるコンピュータプログラム自体も本発明を実現するものである。
【０１０８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１０９】
プログラムを供給するための記録媒体（記憶媒体）としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク等がある。その他にも、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM、DVD-R)等がある。
【０１１０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのものをダウンロードすることもできる。また圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するコンピュータプログラムを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【０１１１】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザが、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードすることもできる。この場合、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現する。
【０１１２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ等が、実際の処理の一部又は全部を行うことによっても実現され得る。
【０１１３】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットのメモリに書き込まれた後、該ボード等のＣＰＵ等が実際の処理の一部又は全部を行うことによっても実現される。
【図１】
0005241933.tif 000002
【図２】
0005241933.tif 000003
【図３】
0005241933.tif 000004
【図４】
0005241933.tif 000005
【図５】
0005241933.tif 000006
【図６】
0005241933.tif 000007
【図７】
0005241933.tif 000008
【図８】
0005241933.tif 000009
【図９】
0005241933.tif 000010
【図１０】
0005241933.tif 000011
【図１１】
0005241933.tif 000012
【図１２】
0005241933.tif 000013