説明

撮像装置およびその制御方法、印刷システム、並びにプログラム、記憶媒体

【課題】トリミングにより切り出した画像を高精度且つ高速に印刷できる技術を実現する。
【解決手段】設定手段により設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶手段と、前記設定手段により設定された印刷条件に基づいて、印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶手段に記憶されているトリミング情報を前記加工処理に応じて加工する加工手段と、前記加工手段により加工処理された印刷対象の画像、および、加工されたトリミング情報を印刷装置に転送する転送手段と、を有し、前記加工手段によりリサイズを行う場合は、前記加工手段は、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶手段に記憶されているトリミング情報をリサイズする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルカメラ等をプリンタに直接接続して印刷するダイレクトプリント技術に関する。
【背景技術】
【0002】
プリンタとデジタルスチルカメラ(以下、DSC(Digital Still Camera))をUSB等のインターフェースを介して直接接続し、DSCに保存されている画像をプリンタに転送して印刷する、所謂デジタルカメラダイレクトプリントシステムが一般的となっている。
【0003】
デジタルカメラカメラダイレクトプリントシステムでは、DSCに記憶されている画像ファイルがDPOF(Digital Print Order Format)という標準規格のプリント指定ファイルとして定義されている。そして、ユーザが印刷したい画像をDPOFファイルで指定し、プリンタに転送することで印刷を行う。
【0004】
このようなデジタルカメラダイレクトプリントシステムで提案されているDSCとプリンタの標準通信規格では、DSCからプリンタへの画像データの転送は、JPEGやTIFF等の画像ファイル形式で行われている。
【0005】
近年、DSCで撮影される画像の解像度が飛躍的に増大し、1600万画素の解像度を持つDSCも市販されている。ところが、高解像度のDSCで撮影した画像データをそのままJPEG形式でプリンタに転送しても、印刷される画像サイズによっては、プリンタでそのような大量の画像データを必要とせず、転送が無駄となってしまう。またメモリの容量が少ないプリンタにとっては、このような大量の画像データはメモリのオーバーフローを引き起こす原因となる。
【0006】
このような事態に対処するために、以下の特許文献1,2が提案されている。
【0007】
特許文献1では、プリンタでの処理負荷の低減を目的とし、DSCでJPEGファイルの解凍、色変換、リサイズ等を行ってプリント可能な形式のデータに変換した上でプリンタに転送し、プリンタでの画像処理負荷の低減を図っている。
【0008】
また、特許文献2では、プリンタ毎の色再現特性のばらつきをDSC側で補正し、JPEG等の一般的な画像ファイルにしてプリンタに転送している。これによりプリンタ毎の印刷特性に依存しない安定した画像を得ることができる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平10−290470号公報
【特許文献2】特開2003−134457号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
ここで、DSCで撮影した画像の印刷に際して、トリミング枠を指定して印刷することが知られている。
【0011】
「トリミング」印刷では、元の画像を切り出し、「フチなし」指定により印画紙いっぱいに画像を印刷したり、「フチあり」指定によりトリミング指定した画像全体を印刷することが基本である。
【0012】
また、画質向上のために、撮影画像を解析し、明るさ、コントラストや色補正を行って印刷することも知られている。
【0013】
明るさ、コントラスト補正処理の多くのアルゴリズムは、撮影画像全体でRGBや輝度のヒストグラムを作成し、解析して元画像を補正している。しかし、トリミング指定した場合、画像を切り出してプリンタに転送するので、切り出し位置によってヒストグラムが変化し、明るさやコントラストが変わってしまうという課題がある。
【0014】
また、「フチなし」印刷では、フチを残さないように印画紙よりも少し大きめにはみ出して印刷することが一般的であるが、画像を切り出し加工した場合は、はみ出す領域のデータがないので、はみ出した部分の画像が欠落してしまうという課題がある。
【0015】
また、上記のような課題に対処するために、プリンタに元画像とトリミング情報を転送して、プリンタ側で画像を加工する場合、トリミング指定した以外の不要な画像も転送することになるので、印刷速度が遅くなるという結果を招く。
【0016】
本発明は、上記課題に鑑みてなされたもので、その目的は、画像をトリミングして印刷する場合に、切り出し位置による明るさやコントラストの変化がなく、トリミングにより切り出した画像を高精度且つ高速に印刷することができる技術を実現することにある。
【課題を解決するための手段】
【0017】
上記課題を解決し、目的を達成するために、本発明は、画像を印刷する印刷装置と通信し、前記印刷装置に画像を送信する撮像装置であって、記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定手段と、前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定手段と、前記設定手段により設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶手段と、前記設定手段により設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶手段に記憶されているトリミング情報を前記加工処理に応じて加工する加工手段と、前記加工手段により加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送手段と、を有し、前記加工手段によりリサイズを行う場合は、前記加工手段は、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶手段に記憶されているトリミング情報をリサイズする。
【発明の効果】
【0018】
本発明によれば、画像をトリミングして印刷する場合に、切り出し位置による明るさやコントラストの変化がなく、トリミングにより切り出した画像を高精度且つ高速に印刷することができる。
【図面の簡単な説明】
【0019】
【図1】本発明に係る実施形態のフォトダイレクトプリンタの概観斜視図である。
【図2】本実施形態に係るPDプリンタの操作パネルの概観図である。
【図3】本実施形態に係るPDプリンタの制御に係る主要部の構成を示すブロック図である。
【図4】本実施形態に係るDSCの構成を示すブロック図である。
【図5】DSCからPDプリンタに対して印刷開始要求を発行して印刷を行う手順を説明する図である。
【図6】本発明に係る実施形態の印刷システムの構成を示す機能ブロック図である。
【図7】本実施形態に係るデジタルカメラとPDプリンタとの間で通信を行って、DSCからPDプリンタに画像データを供給して印刷を行う場合の処理を示すフローチャートである。
【図8】DSCで撮影した画像(a)と、(a)を印刷する画像の縦横の画素数に基づいてリサイズした画像(b)、(a)をリサイズ及び回転した画像(c)、フチあり印刷された印刷結果物(d)、フチなし印刷された印刷結果物(e)を夫々示す図である。
【図9】DSCにより実行される印刷ジョブファイルの作成処理を示すフローチャートである。
【図10】DSCによる印刷用画像ファイルの作成処理を示すフローチャートである。
【図11】PDプリンタ1000からの「画像ファイルの取得要求」に対するDSC3012での画像ファイル送信処理を示すフローチャートである。
【図12】DSC3012による印刷画像のリサイズ処理を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下に、添付図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【0021】
尚、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【0022】
[システム構成]
以下では、デジタルスチルカメラ(DSC)とプリンタとの間での、ダイレクトプリントの実施形態ついて説明する。
【0023】
図1は、本発明に係る実施形態のフォトダイレクトプリンタ(以下、PDプリンタ)1000の概観斜視図である。
【0024】
このPDプリンタ1000は、ホストコンピュータ(PC)からデータを受信して印刷する通常のPCプリンタとしての機能を備える。また、PDプリンタ1000は、メモリカード等の記憶媒体に記憶されている画像データを直接読み取って印刷する機能或いはDSCやPDA等から転送される画像データを印刷する機能と、を備える。
【0025】
図1において、本実施形態のPDプリンタ1000の外殻をなす本体は、下ケース1001、上ケース1002、アクセスカバー1003及び排出トレイ1004の外装部材を有している。下ケース1001はPDプリンタ1000の略下半部を、上ケース1002は本体の略上半部を夫々形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部には夫々開口部がされている。更に、排出トレイ1004は、その一端部が下ケース1001に回転自在に保持され、その回転によって下ケース1001の前面部に形成される開口部を開閉させ得る。
ここで、記録動作を実行させる際には、排出トレイ1004を前面側へと回転させて開口部を開成させることにより、ここから記録されたシート(普通紙、専用紙、樹脂シート等を含む。)が排出可能とされ、排出されたシートを順次積載し得る。また排紙トレイ1004には、2枚の補助トレイ1004a,1004bが収納されており、必要に応じて各トレイを手前に引き出すことにより、シートの支持面積を3段階に拡大、縮小させ得るようになっている。
【0026】
アクセスカバー1003は、その一端が上ケース1002に回転自在に保持され、上面に形成される開口部を開閉し得るようになっている。このアクセスカバー1003を開くことによって本体内部に収納されている記録ヘッドカートリッジ(不図示)或いはインクタンク(不図示)等の交換が可能となる。
尚、ここでは特に図示しないが、アクセスカバー1003を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっている。そして、レバーの回転位置をマイクロスイッチ等で検出することにより、アクセスカバー1003の開閉状態を検出し得るようになっている。
【0027】
また、上ケース1002の上面には、電源キー1005が設けられている。また、上ケース1002の右側には、液晶表示部1006や各種キースイッチ等を備える操作パネル1010が設けられている。この操作パネル1010の構造は、図2を参照して後述する。1007は自動給送部で、シートを装置本体内へと自動的に給送する。1008は紙間選択レバーで、プリントヘッドとシートとの間隔を調整するためのレバーである。1009はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接読み込んで印刷することができる。このメモリカードとしては、例えばコンパクトフラッシュ(登録商標)メモリ、スマートメディア、メモリスティック等がある。1011はビューワ(液晶表示部)で、このPDプリンタ1000の本体に着脱可能であり、PCカードに記憶されている画像の中からプリントしたい画像を検索する場合等に、1コマ毎の画像やインデックス画像等を表示するのに使用される。1012は後述するDSCを接続するためのUSB端子である。また、このPDプリンタ1000の背面には、PCを接続するためのUSBコネクタが設けられている。
【0028】
[操作パネルの構成]
図2は、本実施形態に係るPDプリンタ1000の操作パネル1010の概観図である。
【0029】
図2において、液晶表示部1006には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。表示される項目としては、例えば、複数ある写真画像ファイルの内、印刷したい写真画像の先頭番号、指定コマ番号(開始コマ指定/印刷コマ指定)、印刷を終了したい最後の写真番号(終了)、印刷部数(部数)、印刷に使用するシートの種類(用紙種類)、1枚のシートに印刷する写真の枚数設定(レイアウト)、印刷の品位の指定(品位)、撮影した日付を印刷するかどうかの指定(日付印刷)、写真を補正して印刷するかどうかの指定(画像補正)、印刷に必要なシートの枚数表示(用紙枚数)等がある。これら各項目は、カーソルキー2001を用いて選択、或いは指定される。
【0030】
2002はモードキーで、このキーを押下する毎に、印刷の種類(インデックス印刷、全コマ印刷、1コマ印刷、指定コマ印刷等)を切り替えることができ、これに応じてLED2003の対応するLEDが点灯される。
【0031】
2004はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。2005は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。
【0032】
2006は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【0033】
[PDプリンタの構成]
次に、本実施形態に係るPDプリンタ1000の制御に係る主要部の構成を説明する。尚、図3において、前述の図面と共通する部分は同じ記号を付与して、それらの説明は省略する。
【0034】
図3は、本実施形態に係るPDプリンタの制御に係る主要部の構成を示すブロック図である。
【0035】
図3において、3000は制御部(制御基板)を示している。3001はASIC(専用カスタムLSI)である。3002はDSP(デジタル信号処理プロセッサ)で、内部にCPUを有し、後述する各種制御処理及び、輝度信号(RGB)から濃度信号(CMYK)への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。
【0036】
3003はメモリで、DSP3002のCPUの制御プログラムを記憶するプログラムメモリ3003a、及び実行時のプログラムを記憶するRAMエリア、画像データ等を記憶するワークメモリとして機能するメモリエリアを有している。
【0037】
3004はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。3005はデジタルカメラ(DSC)3012を接続するためのポートとしてのUSBコネクタである。3006はビューワ1011を接続するためのコネクタである。
【0038】
3008はUSBハブ(USBHUB)で、このPDプリンタ1000がPC3010からの画像データに基づいて印刷を行う際には、PC3010からのデータをそのままスルーし、USB3021を介してプリンタエンジン3004に出力する。これにより、接続されているPC3010は、プリンタエンジン3004と直接データや信号のやり取りを行って印刷を実行することができる(一般的なPCプリンタとして機能する。)。
【0039】
3009は電源コネクタで、電源3019により、商用ACから変換された直流電圧を入力している。3010は一般的なパーソナルコンピュータ(PC)、3011は前述したメモリカード(PCカード)、3012はデジタルスチルカメラ(DSC)である。
【0040】
尚、この制御部3000とプリンタエンジン3004との間の信号のやり取りは、前述したUSB3021又はIEEE1284バス3022を介して行われる。
【0041】
[デジタルカメラの説明]
図4は、本実施形態に係るDSC(デジタルカメラ)3012の構成を示すブロック図である。
【0042】
図4において、3100はDSC3012全体の制御を司るCPUであり、3101はCPU3100による処理手順を記憶しているROMである。3102はCPU3100のワークエリアとして使用されるRAMであり、3103は各種操作を行うスイッチ群で、シャッター、モード切替スイッチ、選択スイッチやカーソルキー等が含まれている。
【0043】
2700はLCD表示部であり、現時点で撮影している映像や、撮像されてメモリカードに記憶されている画像を表示したり、各種設定を行う際のメニューを表示するために使用される。3105は光学ユニットであり、主としてレンズ及びその駆動系で構成される。3106はCCD素子であり、3107はCPU3100の制御下において光学ユニット3105を駆動制御するドライバである。
【0044】
3108は記憶媒体3109(コンパクトフラッシュ(登録商標)、スマートメディア等)を接続するためのコネクタであり、3110はPC或いはPDプリンタ1000と接続するためのUSBインターフェース(USBのスレーブ側)である。
【0045】
[図5の説明]
図5は、DSC3012とPDプリンタ1000とが、予め決められたダイレクトプリントプロトコルに対応していることを前提とする。そして、DSC3012からPDプリンタ1000に対して印刷開始要求を発行して印刷を行う処理手順を説明する図である。
【0046】
この処理手順は、PDプリンタ1000とDSC3012とがUSBケーブルを介して接続された後、或は無線により通信を行い、互いにダイレクトプリントプロトコルに準拠していることを確認した後に実行される。
【0047】
先ず、DSC3012は「Configure Print Service」をPDプリンタ1000に送信して、PDプリンタ1000の状態をチェックする(600)。これに対してPDプリンタ1000から、その時点でのPDプリンタ1000の状態(ここでは「アイドル(Idle)」状態)が「Notify Device Status」によって通知される(601)。ここでは「アイドル」状態であるため、DSC3012はPDプリンタ1000のCapabilityを問合せ(602:Get Capability)、そのCapabilityに応じた印刷開始要求(Start Job)を発行する(603)。尚、この印刷開始要求は、601で、後述するPDプリンタ1000からのステータス情報の中の「newJobOK」が「True(真)」になっていることを条件に、DSC3012からPDプリンタ1000に発行される。
【0048】
この印刷開始要求に対してPDプリンタ1000は、印刷が指示された画像データのファイルIDに基づいてファイル情報をDSC3012に要求する(604:Get File Info)。これに応答してDSC3012から、そのファイル情報(File Info)が送信される。このファイル情報にはファイル容量等の情報が含まれる。そしてPDプリンタ1000がそのファイル情報を受信して処理可能であると判断すると、そのファイル情報をDSC3012に要求する(605:Get File)。これによりその要求されたファイルの画像データ(Image File)がDSC3012からPDプリンタ1000に送られる。これによりPDプリンタ1000が印刷処理を開始すると、606で「印刷中(Printing)」を示すステータス情報が、PDプリンタ1000からDSC3012に「Notify Device Status」によって通知される。そして1頁の印刷処理が終了すると、次のページの処理開始時にPDプリンタ1000から「Notify Job Status」により、「page1/1」が通知される(607)。そして1頁だけの印刷であれば、その印刷要求した1頁の印刷が終了すると、次に「Notify Dvice Status」によりPDプリンタ1000が「アイドル(Idle)」状態になったことが通知される(608)。
【0049】
尚、例えば、1頁に複数(N)の画像をレイアウトして印刷するN−up印刷の場合には、N枚の画像を印刷する度に、「Notify Job Status」(607)がPDプリンタ1000からDSC3012に送られることになる。本実施形態での「Notify Job Status」及び「Notify Device Status」の発行タイミングと画像データの取得の順序は一例であり、製品の実装によっては様々な形態がありうる。
【0050】
[図6の説明]
図6は、本実施形態に係る印刷システムの構成を示す機能ブロック図である。
【0051】
本印刷システムは、PDプリンタ1000とDSC3012とがUSB等の通信インターフェース660を介して相互に直接通信できるように接続されている。尚、通信インターフェース660は有線によるものだけでなく、ブルーツース等の無線インターフェースであっても良い。
【0052】
PDプリンタ1000は、通信インターフェース660を介した通信制御を行う通信制御部610と、プリントバッファや受信バッファ等を含む印刷情報管理メモリ611とを備える。また、画像サイズのリサイズ処理を行う画像リサイズ処理部612と、PDプリンタ1000は、画像の回転処理を行う画像回転処理部613と、画像の色変換を行う画像色処理部614とを備える。さらに、画像データの圧縮及び伸長を行う画像伸張圧縮処理部615と、プリンタエンジン3004(図3)等を含む印刷制御部616と、を備える。尚、本実施形態では、画像リサイズ処理部612、画像回転処理部613、画像色処理部614、及び画像伸張圧縮処理部615は、図3に示すDSP3002とプログラムメモリ3003aに記憶されているプログラムとにより実現される。
【0053】
DSC3012は、通信インターフェース660を介した通信制御を行う通信制御部621と、後述する印刷画像ファイルの作成済みの画像データ等を一時的に格納するRAM3102を含む印刷情報管理メモリ622と、を備える。また、DSC3012は、画像サイズのリサイズ処理を行う画像リサイズ処理部623と、画像の回転処理を行う画像回転処理部624と、画像データの圧縮及び伸長を行う画像伸張圧縮処理部625と、色変換処理を行う画像色処理部626と、を備える。尚、本実施形態では、画像リサイズ処理部623、画像回転処理部624、画像伸張圧縮処理部625、及び画像色処理部626は、図4に示すCPU3100とROM3101に記憶されているプログラムとにより実現される。
【0054】
[図7の説明]
図7は、本実施形態に係るデジタルカメラ(DSC)3012とPDプリンタ1000とが直接通信を行って、DSC3012からPDプリンタ1000に画像データを供給して印刷を行う処理を示すフローチャートである。
【0055】
図7において、ステップS1〜S12はDSC3012による処理を示し、ステップS21〜S31はPDプリンタ1000による処理を夫々示している。
【0056】
さて、ステップS1及びステップS21では、DSC3012とPDプリンタ1000とが互いにダイレクトプリントプロトコルに準拠していることを確認する。そして、DSC3012はPDプリンタ1000に対してプリンタの状態やデバイス情報を問い合せる。これに対して、PDプリンタ1000は、その時点でのプリンタの状態やデバイス情報を通知する。デバイス情報には、例えば接続プロトコルのバージョンやプリンタのベンダー名、機種名等が含まれる。
【0057】
次に、DSC3012は、図5の602のように、PDプリンタ1000に対してCapabilityを要求する。これによりPDプリンタ1000は、ステップS22で、プリンタの印刷機能に関する能力情報(Capability)を作成してDSC3012に送信する。
【0058】
DSC3012がPDプリンタ1000からCapabilityを受信すると(ステップS2)、ステップS3で、このCapabilityに基づいてUI(ユーザインタフェース)画面を構築して表示部2700に表示する。例えば、PDプリンタ1000が用紙サイズがA4判とB5判の普通紙と写真用用紙とを装着し、1−up,2−up,4−upや「フチなし/あり」、回転、トリミング、日付印刷等が、表示部2700のUI画面を介してユーザが任意に設定可能である。
【0059】
次に、ステップS4では、表示部2700のUI画面を参照して、ユーザが印刷したい1以上の画像を選択し、それら画像の印刷条件を設定する。この印刷条件は、例えば、印刷枚数、用紙サイズ、日付印刷の有無、トリミング指定、フチなし/あり等を含み、ステップS2で受信したPDプリンタ1000のCapabilityに基づいたものとなる。
【0060】
次に、UI画面を介してユーザにより印刷開始が指示されるとステップS5に進み、PDプリンタ1000に対して印刷指示を行うための印刷ジョブファイルを作成し、ステップS6で、作成した印刷ジョブファイルをPDプリンタ1000に送信する。印刷ジョブファイルは、ステップS23でPDプリンタ1000により受信される。
【0061】
次に、ステップS24で、PDプリンタ1000は、DSC3012から受信した印刷ジョブファイルを解析し、印刷ジョブファイルに記載された印刷対象の「画像ファイル情報の取得要求」をDSC3012に送信する。この画像ファイル情報は、画像ファイル本体のデータではなく、ファイル名や、画像のフォーマット情報、画像データ量などの属性情報のことである。属性情報の種類はこれに限らず、画像に付随して管理される情報であれば、適用可能である。ここで、「画像ファイル情報の取得要求」は、USB上のPTP(Pictutre Transfer Protocol)で動作するサービスでは、そのPTPで規定されている「Get Object Info」に相当する。「画像ファイル情報の取得要求」はS11で送信すべき画像ファイルの作成タイミングをPDプリンタ1000からDSC3012に伝える役割にも利用している。
【0062】
次に、ステップS7で、「画像ファイル情報の取得要求」がDSC3012により受信されると、ステップS8で、DSC3012は、PDプリンタ1000に送信する印刷用画像ファイルを作成する。このステップS8での詳細な処理は後述する。
【0063】
次に、ステップS8で作成した印刷用画像ファイル情報(画像ファイル名、データサイズ等)を、ステップS9でPDプリンタ1000に送信する。
【0064】
ステップS25で、PDプリンタ1000は、DSC3012から印刷用画像ファイル情報を受信すると、印刷対象の画像ファイル本体の取得要求をDSC3012に送信する(ステップS26)。DSC3012は、PDプリンタ1000から画像ファイルの取得要求を受信すると(ステップS10)、その要求された画像ファイルをPDプリンタ1000に送信する(ステップS11)。
【0065】
ステップS27で、PDプリンタ1000が印刷対象の画像ファイルを受信すると、その画像ファイルを復号化して画像処理を行い、PDプリンタ1000で印刷できる形式のデータに変換し、その変換した画像データに基づいて印刷を行う(S28、S29)。
【0066】
ステップS30では、PDプリンタ1000は、画像データの最後まで印刷が終了したか判定する。そして、印刷が終了していない場合は、例えばPDプリンタ1000が受信した画像データを格納するためのバッファ領域が十分に確保できず、ステップS27で、受信した画像ファイル情報を分割して受信している等が考えられる。このため、ステップS24に戻り、再度「画像ファイル情報の取得要求」をDSC3012に送信し、前述と同様の手順で、ステップS27で画像データの部分データを受信して印刷する。
【0067】
ステップS30で、画像データの印刷が最後まで終了すると、ステップS31に進み、画像ファイルの印刷が終了した旨をDSC3012に通知する。DSC3012は、ステップS12でこの印刷終了通知を受信すると、本処理を終了する。
【0068】
図8(a)は、DSC3012で撮影した画像(4992画素(幅)×3328画素(高さ))を示し、トリミング枠(3774画素(幅)×2496画素(高さ))にトリミング指定した場合を示す。
【0069】
図8(b)は、図(a)の画像をPDプリンタ1000にて印刷する画像の縦横の画素数に基づいてリサイズした画像(3774画素(幅)×2496画素(高さ))を示している。更に図8(b)は、トリミング枠をサイズ(2830画素(幅)×1886画素(高さ))にリサイズした例を示している。
【0070】
図8(c)は、図8(a)の画像をPDプリンタ1000にて印刷する画像の縦横の画素数に基づいてリサイズ及び回転した画像(2496画素(幅)×3774画素(高さ))を示している。更に図8(c)は、トリミング枠もサイズ(1886画素(幅)×2830画素(高さ))にリサイズ及び回転した例を示している。
【0071】
図8(d)は、フチあり印刷により出力された印刷結果物、図8(e)は、フチなし印刷により出力された印刷結果物を夫々示している。
【0072】
[図9の説明]
図9は、本実施形態のDSC3012により実行される印刷ジョブファイルの作成処理を示すフローチャートであり、図7のステップS2〜S4に相当する。
【0073】
先ず、ステップS101で、PDプリンタ1000からCapabilityを受信して、PDプリンタ1000で印刷可能な用紙サイズや解像度等を取得する。本実施形態のPDプリンタ1000は、このcapabilityで、印刷に必要な画像データの縦横の画素数を算出し、その算出結果をDSC3012に通知する。この画素数の算出は、PDプリンタ1000に装着している用紙のサイズや、PDプリンタの操作部で設定されているプリント設定や、PDプリンタのメモリ等の能力に基づいて行われる。DSC3012に通知された印刷対象の画像の縦横の画素数に関する情報は、DSC3012のRAM3102に記憶される。尚、PDプリンタ1000が画像の画素数をDSC3012に通知できない機種等の場合には、そのプリンタのベンダー名や機種名、バージョン番号といったプリンタから得られる情報に基づきDSC3012でテーブル等を参照する。そして、印刷用紙毎の縦横画素数や回転方向等の情報を求めて、印刷対象の画像の画素数を算出する。
【0074】
次に、ステップS102では、表示部2700に表示されたUI画面により、ユーザが印刷対象の画像を選択する。
【0075】
次に、ステップS103では、上記印刷対象の画像を印刷する用紙サイズが選択される。
【0076】
ステップS104では、「フチあり/なし」や「画像の回転方向」等の印刷レイアウトが設定される。
【0077】
次に、ステップS105では、トリミングを行う場合にトリミングの枠サイズ及び位置を指定する。
【0078】
次に、ステップS106では、印刷に必要なパラメータが設定され、UI画面を介して印刷開始が指示されると、DSC3012において印刷ジョブファイルの作成が開始される。印刷ジョブファイルには、印刷対象の画像を指定する情報やトリミング設定情報、印刷サイズや画像補正処理に関する情報が含まれている。なお、トリミング情報に関しては、画像データにも含ませて記録しておく。
【0079】
上記ステップS102〜S106での処理は図7のステップS4に相当し、作成された印刷ジョブファイルをPDプリンタ1000に送信して印刷開始要求が発行される(図5の603)。
【0080】
[図10の説明]
図10は、本実施形態のDSC3012により実行される印刷用画像ファイルの作成処理を示すフローチャートであり、図7のステップS7〜S9に相当する。
【0081】
図10の処理はPDプリンタ1000からの「画像ファイル情報の取得要求(図7のS24)」を受信することにより開始され、先ずステップS201で、その取得要求の基になった印刷ジョブファイルに含まれている画像の情報を取得する。
【0082】
次に、ステップS202で、PDプリンタ1000で印刷される印刷条件と、印刷対象の画像ファイルの画像データとに基づいて、その画像データのリサイズ、回転、切り出し等の加工処理が必要か判定する。そして、加工処理が必要でないときはステップS215に進み、印刷対象の画像ファイルの情報をメモリカード3109から読み出して、PDプリンタ1000に転送する。
【0083】
一方、加工処理が必要ならばステップS203に進み、その印刷対象の画像ファイルを読み取り、復号化が必要な画像の場合は、ステップ204で画像データを復号化して元の画像データに変換する。
【0084】
次に、ステップS205では、用紙サイズにより決まるPDプリンタ1000での印刷に必要な縦横の画素数と、印刷対象の画像のトリミング枠サイズとを比較し、画像データのリサイズ処理が必要か判定する。ここでは、例えば、図8(a)の元画像サイズ(4992×3328)に対し、3774×2496のトリミング枠が指定され、図8(b)の印刷に必要な画素数が2830×1886であるとする。即ち、PDプリンタ1000における印刷に必要な縦横の画素数(図8(b)の2830×1886)よりも、元画像のトリミング枠の縦横画素数(図8(a)の3774×2496)が大きい場合にはリサイズ処理が必要と判定する。そして、リサイズが必要な場合はステップS206に進み、リサイズが必要ない場合にはステップS208に進む。
【0085】
S206では、画像リサイズ処理部623は、印刷対象の画像のトリミング枠サイズと印刷に必要な画素数とから算出される倍率を算出する(図12で後述する。)。
【0086】
S207では、画像リサイズ処理部623は、上記算出した倍率で画像データのリサイズを行う。
【0087】
ステップS208では、図9のS103〜S105で設定された印刷用紙サイズ、印刷レイアウト及びトリミング枠サイズに基づいて、印刷画像の回転処理が必要か判定する。つまりプリンタにセットされている用紙の向きや、レイアウトされる画像の向きに応じて、プリントの際に、画像データの回転処理が伴うか否かを判断する。そして、回転処理が必要なければステップS211に進み、回転処理が必要ならばステップS209に進む。
【0088】
ステップS209,S210では、画像回転処理部624が印刷画像を回転させると共に、印刷画像の回転方向と同一方向にトリミング枠を回転する。つまりS105でユーザが設定したトリミング枠の座標を、画像と同様に回転する。変換したトリミング枠の座標は画像データに一緒に録しておく。記録方法はここではJPEG画像の属性情報として一緒にJPEGファイルに記録しておく。
【0089】
ステップS211では、上記リサイズ及び/又は回転処理済みの画像データを画像伸張圧縮処理部625にて圧縮する。ここでは圧縮方法については特に言及しないが、一般的にはPackBits等に代表される可逆的な圧縮と、JPEG等に代表される非可逆な圧縮方法等のようなPDプリンタ1000が扱える圧縮形式が適用される。こうして符号化された画像データは、ステップS212で、EXIFのタグ付画像データか否かを判定し、EXIFタグ付の場合はステップS213で、そのEXIF情報をステップS202〜S211での処理に合わせて更新する。一方、ステップS212で、EXIFタグなしの場合はステップS214で、符号化された画像データにオリエンテーション情報を付加する。
【0090】
以上のようにして作成された印刷用画像ファイルを、PDプリンタ1000からの「画像ファイル情報の取得要求(図7のS24)」に対する応答データとして送信する(図7のS9)。
【0091】
尚、ステップS209で回転処理を施した画像をPDプリンタ1000に転送する場合には、ステップS212の判定でEXIFタグ付き画像ならば、ステップS213でEXIF情報を書き換える。そうでない場合は、ステップS214で回転を示すオリエンテーション情報を付加する。
【0092】
[図11の説明]
図11は、図7のS26におけるPDプリンタ1000からの「画像ファイルの取得要求」に対するDSC3012での画像ファイル送信処理を示すフローチャートであり、図7のS10,S11に相当している。
【0093】
図7のステップS10でPDプリンタ1000から「画像ファイルの取得要求」を受信すると、ステップS301で、印刷対象の画像データのリサイズ及び/又は回転処理が必要か判定する。そして、必要ならばステップS303に進み、図10に示す処理で作成された印刷対象の画像ファイルを読み取り、必要なければステップS302で、メモリカード3109に記憶されている印刷対象の画像ファイルを読み取る。
【0094】
その後、ステップS304で、ステップS302又はS303で読み取った画像ファイルをRAM3102の転送データエリアに格納し、通信制御部621及び通信制御部610を介してPDプリンタ1000に転送する。
【0095】
尚、前述の図10で作成された画像ファイルをRAM3102の転送データエリアに格納しておけば、図11のステップS301〜S304の処理は不要となり、図11の処理は、単に転送データエリアに格納された画像ファイルを転送すれば良いことになる。
【0096】
[図12の説明]
図12は、図10のステップS206、S207におけるDSC3012による印刷画像のリサイズ処理を示すフローチャートである。
【0097】
先ずステップS501で、画像と一緒に記録されているトリミング枠の情報を参照し、トリミング枠サイズと印刷に必要な画素数とを取得し、印刷画像の画像サイズを(Ix,Iy)とし、トリミング枠サイズを(Tx,Ty)、印刷に必要な画素数を(Px,Py)とする。
【0098】
そして、図8(a)、(b)では、Ix=4992、Iy=3328、Tx=3774、Ty=2496、Px=2830,Py=1886となる。トリミング枠サイズ(Tx,Ty)と印刷に必要な画素数(Px,Py)とを比較し、倍率の式は(Z)=(Tx)/(Px)又は(Z)=(Ty)/(Py)となる。
【0099】
ステップS502で、上記倍率の式が(Z)>1の場合(つまり、トリミング枠サイズが印刷に必要な画素数を超えている場合)、ステップS503に進む。
【0100】
ステップS503では、上記倍率で印刷画像をリサイズするので、X=(Ix)/(Z)の式から、おおよそ画像サイズ(Ix×Iy)が3774×2496に変更される。
【0101】
尚、縦倍率と横倍率のどちらを使用するかは、プリンタ及びレイアウトに依存する場合としない場合があるので、ここでは言及しない。
【0102】
本実施形態によれば、4992x3328の画像サイズをおおよそ3774×2496にリサイズすることにより、画素数が1600万画素から900万画素のデータ量に減少するので、転送時間を減少でき、高速印刷が実現できる。
【0103】
また、画像の切り出しではなく、画像のリサイズによるので、切り出し位置には依存せずに画像データ量を減少させる。よって、トリミング位置やサイズを変更しても、ヒストグラムにはほとんど影響せず、自動で明るさやコントラストを調整するプリンタが接続された場合であっても、安定した画像品質を維持することが可能となる。
【0104】
つまり、トリミングする場合もしない場合も、元の画像の特徴に基づく補正処理を同じように実行することが出来る。もし仮に、DSCでトリミングした画像を送ってプリンタに補正処理を任せてしまうと、このようなことは出来ず、トリミングの有無で色味が変わってしまう。
【0105】
更に、本実施形態は、フチなし印刷において、画像を切り出ししないので、フチが出ないように、実際の用紙サイズよりもはみ出して印刷するようなシステムに特に有効である。つまり、トリミング枠の外側のデータも存在し、図8(e)のようにトリミング枠から画像が欠けることがない。つまり、トリミング指定した部分を、用紙からはみ出してプリントさせないようにすることが可能になる。逆に、トリミング指定に従ってトリミングした画像をDSCからPDプリンタに送信指定しまうと、ふちなし印刷時には、トリミング枠内のデータでも、はみ出し部分の画像が欠落したプリント結果が得られてしまう。このように本実施形態によれば、ふちの有無に関わらず、トリミング指定した領域全体を、プリント用紙に配置することが出来る。
【0106】
[他の実施形態]
本発明は、前述した実施形態の機能を実現するコンピュータプログラムを、システムあるいは装置に直接あるいは遠隔から供給することによって達成される場合も含む。その場合、システム等のコンピュータが該コンピュータプログラムを読み出して実行することになる。
【0107】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるコンピュータプログラム自体も本発明を実現するものである。
【0108】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0109】
プログラムを供給するための記録媒体(記憶媒体)としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク等がある。その他にも、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM、DVD-R)等がある。
【0110】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのものをダウンロードすることもできる。また圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するコンピュータプログラムを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0111】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザが、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードすることもできる。この場合、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現する。
【0112】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOS等が、実際の処理の一部又は全部を行うことによっても実現され得る。
【0113】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットのメモリに書き込まれた後、該ボード等のCPU等が実際の処理の一部又は全部を行うことによっても実現される。

【特許請求の範囲】
【請求項1】
画像を印刷する印刷装置と通信し、前記印刷装置に画像を送信する撮像装置であって、
記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定手段と、
前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定手段と、
前記設定手段により設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶手段と、
前記設定手段により設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶手段に記憶されているトリミング情報を前記加工処理に応じて加工する加工手段と、
前記加工手段により加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送手段と、を有し、
前記加工手段によりリサイズを行う場合は、前記加工手段は、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶手段に記憶されているトリミング情報をリサイズすることを特徴とする撮像装置。
【請求項2】
前記加工手段は、前記設定手段により設定されたトリミング範囲と、前記印刷サイズと、前記指定手段により印刷対象に指定された画像の画像サイズとに応じて、リサイズ率を決定し、決定したリサイズ率で前記印刷対象に指定された画像をリサイズすることを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記加工手段は、前記印刷サイズにより決定される印刷に必要な画素数よりも、前記印刷対象の画像におけるトリミング範囲に対応する領域の画素数の方が大きい場合、前記トリミング範囲の画素数と当該印刷に必要な画素数とから算出される倍率に基づいて、前記印刷対象の画像をリサイズすることを特徴とする請求項2に記載の撮像装置。
【請求項4】
前記加工手段は、前記印刷サイズにより決定される印刷に必要な画素数が、前記印刷対象の画像におけるトリミング範囲に対応する領域の画素数以下の場合、前記加工手段は、前記印刷対象の画像とトリミング情報の加工処理を行わないことを特徴とする請求項3に記載の撮像装置。
【請求項5】
前記加工手段は、前記設定手段により設定された印刷レイアウトに応じて、前記印刷対象の画像に回転処理を施し、
前記回転処理を施す場合に、前記トリミング情報加工手段は、前記加工手段による回転処理の回転方向と同じ方向に前記トリミング情報を回転させることを特徴とする請求項1ないし4のいずれか1項に記載の撮像装置。
【請求項6】
画像を印刷する印刷装置と通信し、前記印刷装置に画像を送信する撮像装置の制御方法であって、
記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定工程と、
前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定工程と、
前記設定工程で設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶工程と、
前記設定工程で設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶工程で記憶されたトリミング情報を前記加工処理に応じて加工する加工工程と、
前記加工工程で加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送工程と、を有し、
前記加工工程でリサイズを行う場合は、前記加工工程では、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶工程で記憶されたトリミング情報をリサイズすることを特徴とする制御方法。
【請求項7】
撮像装置と印刷装置とが直接通信し、前記印刷装置が前記撮像装置から供給される画像を印刷する印刷システムにおいて、
前記撮像装置は、
記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定手段と、
前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定手段と、
前記設定手段により設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶手段と、
前記設定手段により設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶手段に記憶されているトリミング情報を前記加工処理に応じて加工する加工手段と、
前記加工手段により加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送手段と、を有し、
前記加工手段によりリサイズを行う場合は、前記加工手段は、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶手段に記憶されているトリミング情報をリサイズし、
前記印刷装置は、
前記転送手段により転送された前記印刷対象の画像を前記トリミング情報に応じて印刷することを特徴とする印刷システム。
【請求項8】
画像を印刷する印刷装置と直接通信し、前記印刷装置に画像データを供給する撮像装置のコンピュータを、
記憶手段に記憶されている複数の画像から印刷対象の画像を指定する指定手段と、
前記指定手段により印刷対象に指定された画像のトリミング範囲と印刷サイズを含む印刷条件を設定する設定手段と、
前記設定手段により設定されたトリミング範囲を示すトリミング情報を記憶するトリミング情報記憶手段と、
前記設定手段により設定された印刷条件に基づいて、前記印刷対象の画像にリサイズを含む加工処理を施し、前記トリミング情報記憶手段に記憶されているトリミング情報を前記加工処理に応じて加工する加工手段と、
前記加工手段により加工処理された印刷対象の画像、および、加工されたトリミング情報を前記印刷装置に転送する転送手段として機能させるためのプログラムであって、
前記加工手段によりリサイズを行う場合は、前記加工手段は、前記トリミング情報に応じた画像の切り出しは行わずに、画像全体をリサイズし、前記トリミング情報記憶手段に記憶されているトリミング情報をリサイズすることを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−147445(P2012−147445A)
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願番号】特願2012−29818(P2012−29818)
【出願日】平成24年2月14日(2012.2.14)
【分割の表示】特願2006−198707(P2006−198707)の分割
【原出願日】平成18年7月20日(2006.7.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】