(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】撮像装置、撮像装置の制御方法、撮像システム、およびプログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20240610BHJP
G03B 17/18 20210101ALI20240610BHJP
G03B 17/24 20210101ALI20240610BHJP
H04N 23/63 20230101ALI20240610BHJP
【FI】
H04N23/60 300
G03B17/18
G03B17/24
H04N23/60 500
H04N23/63 300
(21)【出願番号】P 2020049940
(22)【出願日】2020-03-19
【審査請求日】2023-03-14
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】白井 邦宏
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2013-145978(JP,A)
【文献】特開2018-011327(JP,A)
【文献】特開2004-326423(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
G03B 17/18
G03B 17/24
H04N 23/63
(57)【特許請求の範囲】
【請求項1】
撮像光学系により結像された像を撮像する撮像手段と、
実行要求に応じて所定の画像処理を実行可能な外部装置と通信する通信手段と、
前記撮像手段によって生成された画像を、前記通信手段を介して前記外部装置に送信し、前記外部装置に、前記画像に対する前記所定の画像処理を実行させる制御手段と、を有し、
前記制御手段は、
前記画像に対する前記所定の画像処理の前記外部装置での実行の推奨または非推奨を示す情報を取得し、
前記取得された情報に基づく指標を表示手段に表示させる、
ように構成されており、
前記指標は、前記外部装置により未処理であることを示す第1指標と、前記外部装置により処理済であることを示す第2指標とを含み、
前記制御手段は、前記取得された情報に基づいて、前記第1指標および前記第2指標のうちのいずれか一方を前記表示手段に表示させる、
ことを特徴とする撮像装置。
【請求項2】
前記制御手段は、前記画像の撮像時における前記撮像光学系および前記撮像の少なくともいずれかの状態に基づいて前記情報を取得する、ことを特徴とする請求項1
に記載の撮像装置。
【請求項3】
前記所定の画像処理は、前記画像に対する収差補正処理を含み、
前記制御手段は、前記画像の撮像時における前記撮像光学系の焦点距離と絞りとに基づいて前記収差補正処理の前記外部装置での実行の推奨または非推奨を示す情報を取得する、
ことを特徴とする請求項1
または2に記載の撮像装置。
【請求項4】
前記所定の画像処理は、前記画像に対するノイズ低減処理を含み、
前記制御手段は、前記画像の撮像時における前記撮像手段のISO感度に基づいて前記ノイズ低減処理の前記外部装置での実行の推奨または非推奨を示す情報を取得する、
ことを特徴とする請求項1乃至
3のいずれか1項に記載の撮像装置。
【請求項5】
前記制御手段は、さらに、前記画像を解析して得られる前記画像の輝度値およびエッジ量に基づいて前記情報を取得することを特徴とする請求項1乃至
4のいずれか1項に記載の撮像装置。
【請求項6】
前記画像および該画像に付随するメタデータを記憶する記憶手段を更に有し、
前記メタデータは、前記情報を含む、
ことを特徴とする請求項1乃至
5のいずれか1項に記載の撮像装置。
【請求項7】
前記メタデータは、前記所定の画像処理の前記外部装置による実行の履歴を更に含む、ことを特徴とする請求項
6に記載の撮像装置。
【請求項8】
前記制御手段は、前記画像および前記情報を表示手段に表示させる、
ことを特徴とする請求項1乃至
7のいずれか1項に記載の撮像装置。
【請求項9】
撮像光学系により結像された像を撮像する撮像手段と、
実行要求に応じて所定の画像処理を実行可能な外部装置と通信する通信手段と、
前記撮像手段によって生成された画像を、前記通信手段を介して前記外部装置に送信し、前記外部装置に、前記画像に対する前記所定の画像処理を実行させる制御手段と、を有し、
前記制御手段は、
前記画像に対する前記所定の画像処理の前記外部装置での実行の推奨または非推奨を示す情報を取得し、
前記取得された情報に基づく指標を表示手段に表示させる、ように構成されており、
前記指標は、前記所定の画像処理の前記外部装置での実行の推奨を示す第1指標と、前記所定の画像処理の前記外部装置での実行の非推奨を示す第2指標とを含み、
前記第1指標は、前記外部装置により未処理であることを示す第3指標または前記外部装置により処理済であることを示す第4指標を更に含む、
ことを特徴とする
撮像装置。
【請求項10】
前記所定の画像処理は、複数種類の画像処理を含み、
前記制御手段は、各種類の画像処理に対する指標を前記表示手段に表示させる、
ことを特徴とする請求項
1に記載の撮像装置。
【請求項11】
前記所定の画像処理は、複数種類の画像処理を含み、
前記制御手段は、前記複数種類の画像処理に対する指標を前記表示手段に一緒に表示させる、
ことを特徴とする請求項
1に記載の撮像装置。
【請求項12】
撮像により画像を生成する撮像手段と、所定の画像処理を実行可能な外部装置と通信する通信手段とを有する撮像装置の制御方法であって、
前記撮像手段によって生成された画像に対する前記所定の画像処理の前記外部装置での実行の推奨または非推奨を示す情報を取得する
取得ステップと、
前記取得された情報に基づく指標を表示手段に表示させる
表示制御ステップと、
を有
し、
前記指標は、前記外部装置により未処理であることを示す第1指標と、前記外部装置により処理済であることを示す第2指標とを含み、
前記表示制御ステップでは、前記取得された情報に基づいて、前記第1指標および前記第2指標のうちのいずれか一方を前記表示手段に表示させる、
ことを特徴とする制御方法。
【請求項13】
撮像装置と、前記撮像装置と通信可能であり、所定の画像処理を実行可能な外部装置と、を含む撮像システムであって、
前記撮像装置は、
撮像により画像を生成する撮像手段と、
前記撮像手段によって生成された画像に対する前記所定の画像処理を前記外部装置に実行させるために、前記画像を前記外部装置に送信する制御手段と、を有し、
前記制御手段は、
前記画像に対する前記所定の画像処理の前記外部装置での実行の推奨または非推奨を示す情報を取得し、
前記取得された情報に基づく指標を表示手段に表示させる、
ように構成されており、
前記指標は、前記外部装置により未処理であることを示す第1指標と、前記外部装置により処理済であることを示す第2指標とを含み、
前記制御手段は、前記取得された情報に基づいて、前記第1指標および前記第2指標のうちのいずれか一方を前記表示手段に表示させる、
ことを特徴とする撮像システム。
【請求項14】
撮像により画像を生成する撮像手段と、実行要求に応じて所定の画像処理を実行可能な外部装置と通信する通信手段とを有する撮像装置のコンピュータを、請求項1乃至1
1のいずれか1項に記載の撮像装置における制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置、撮像装置の制御方法、撮像システム、およびプログラムに関する。
【背景技術】
【0002】
デジタルカメラ等の撮像装置はさまざまな画像処理機能を有するが、年々進化する種々の画像処理機能をその撮像装置において維持することは難しい。
【0003】
特許文献1および2には、撮像装置で撮影された画像がネットワークを介してサーバに転送されサーバにおいて画像処理が行われ、画像処理が適用された画像がネットワークを介して撮像装置に返送される技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2003-259281号公報
【文献】特開2003-157425号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記した従来技術においては、撮像装置で撮影された画像は全て、ネットワークを介してサーバに転送されサーバにおいて画像処理が行われる。しかし、画像によっては画像処理を施しても画質が向上しないなど、画像処理を適用する意味のないものもある。したがって、全ての画像を一律に画像処理させるのでは、ネットワークを介したサーバとの通信やサーバ内でのCPU処理などのコストが無駄になってしまう場合が少なからず発生しうる。また、ユーザ側の観点でも、サーバ処理が有償サービスである場合、コストを払ってサーバ処理を実行しても期待した結果が得られないというケースも発生してしまう。
【0006】
本発明は、例えば、画像処理の高機能化を低コストで実現する上で有利な技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一側面によれば、撮像光学系により結像された像を撮像する撮像手段と、実行要求に応じて所定の画像処理を実行可能な外部装置と通信する通信手段と、前記撮像手段によって生成された画像を、前記通信手段を介して前記外部装置に送信し、前記外部装置に、前記画像に対する前記所定の画像処理を実行させる制御手段と、を有し、前記制御手段は、前記画像に対する前記所定の画像処理の前記外部装置での実行の推奨または非推奨を示す情報を取得し、前記取得された情報に基づく指標を表示手段に表示させる、ように構成されており、前記指標は、前記外部装置により未処理であることを示す第1指標と、前記外部装置により処理済であることを示す第2指標とを含み、前記制御手段は、前記取得された情報に基づいて、前記第1指標および前記第2指標のうちのいずれか一方を前記表示手段に表示させる、ことを特徴とする撮像装置が提供される。
【発明の効果】
【0008】
本発明によれば、例えば、画像処理の高機能化を低コストで実現する上で有利な技術を提供することができる。
【図面の簡単な説明】
【0009】
【
図4】デジタルカメラの制御方法のフローチャート。
【
図5】所定の画像処理のサーバでの実行の推奨または非推奨の情報を取得する処理のフローチャート。
【
図6】所定の画像処理のサーバでの実行の推奨または非推奨の情報を取得するために参照されるテーブルの例を示す図。
【
図7】サーバによる所定の画像処理に関する制御方法のフローチャート。
【
図9】サーバによる所定の画像処理に関する制御方法のフローチャート。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
[第1実施形態]
<システム構成>
撮像システムは、撮像装置と、該撮像装置と通信可能であり、実行要求に応じて所定の画像処理を実行可能なサーバとを含みうる。撮像装置は、デジタルカメラ、カメラ付き携帯電話、スマートフォン、タブレット端末、カメラ付きパーソナルコンピュータ等のいずれかでありうるが、ここでは撮像装置の一例としてデジタルカメラが示される。サーバは、撮像装置に対する外部装置であって、実行要求に応じて所定の画像処理を実行可能な、いわゆるクラウドサービスを提供するサーバでありうる。
【0012】
図1は、実施形態に係る撮像システムの構成を示す図である。撮像システムは、撮像装置であるデジタルカメラ100と、外部装置であるサーバ200および第2サーバ300とを含みうる。デジタルカメラ100と、サーバ200と、第2サーバ300とは、ネットワーク400を介して互いに通信可能に接続される。ネットワーク400を介した接続は、有線接続であるか無線接続であるかを問わない。また、
図1には、デジタルカメラ100はネットワーク400を介してサーバ200および第2サーバ300と通信可能に接続される構成が示されているが、ネットワークを介さずに直接接続される構成であってもよい。第1サーバ220と第2サーバ300とは互いに異なるクラウドサービスを提供するように構成されうる。ただし、本発明はデジタルカメラ100と接続可能なサーバの数が特定の数に限定されるものではない。以下では、説明を簡単にするため、デジタルカメラ100に対してクラウドサービスを提供する外部装置としてサーバ200のみが使用される形態を説明する。
【0013】
図2は、デジタルカメラ100の構成を示すブロック図である。CPU101は、デジタルカメラ100が有する各ブロックの動作を制御する制御部である。具体的にはCPU101は、ROM102に記憶されている撮影処理や再生処理等のプログラムをRAM103に展開して実行することにより、各ブロックの動作を制御する。
【0014】
ROM102は、上記のとおり、撮影処理や再生処理等のプログラムを記憶する。ROM102は、例えば書き換え可能な不揮発性メモリ(例えばフラッシュROM)によって構成され、デジタルカメラ100が有する各ブロックの動作に必要なパラメータやユーザ設定情報等を記憶することができる。RAM103は、プログラムのワークエリアを提供する他、各ブロックの動作において出力された中間データ等も格納することができる。RAM103は、揮発性メモリによって構成されうる。
【0015】
撮像部105は、例えばCCDやCMOSセンサ等の撮像素子を含み、撮像光学系104により受光面に結像された光学像を光電変換して得られたアナログ画像信号をA/D変換部106に出力する。撮像光学系104は、被写体像を撮像部105の撮像素子に結像するための光学素子である。撮像光学系104は、撮像部105と一体化されたモジュールとして構成されてもよいし、交換可能なモジュールであってもよい。また、撮像光学系104は、CPU101からの指示に応じて駆動する不図示の駆動部を含み、撮像光学系104の状態がRAM103に格納されうる。
【0016】
通信部107は、所定のプロトコルに従って、外部装置であるサーバ200および第2サーバ300と通信するための通信インタフェースである。通信部107は、外部装置に画像処理を実行させるための命令である実行要求を送信し、外部装置で処理された画像の受信を行うことができる。
【0017】
表示部109は、LCD等で構成され、A/D変換部106から出力された後に所定の画像処理が適用されて得られた画像や記録媒体110に記録されている画像等を表示する。表示部109への画像の表示は、表示制御部108によって制御される。ユーザは表示部109を通じて画像情報の確認をすることができる。
【0018】
記録媒体110は、撮像により得られた画像、画像処理が適用された画像等を記憶する。記録媒体110は、デジタルカメラ100の内蔵メモリとして構成されてもよいし、デジタルカメラ100に対して着脱可能に接続されたメモリカードやHDD等の記録装置として構成されてもよい。
【0019】
操作入力部111は、シャッタボタン、モードダイアル、メニューボタン等のユーザインタフェースを含みうる。操作入力部111は、表示部109上に構成されたタッチパネルを含んでいてもよい。操作入力部111は、それらユーザインタフェースを介してなされた操作に対応する制御信号をCPU101に伝送する。
【0020】
画像処理部120は、所定の画像処理を実行する。例えば、画像処理部120は、撮像によりA/D変換部106から出力された画像に対して、記録あるいは表示に係る予め定められた処理を実行する。また、画像処理部120は、画像の再生時には、記録媒体110から読み出された画像に対して表示に係る予め定められた処理を実行する。画像処理部120は、補正処理部121、現像処理部122、符号化部123、および復号部124を含みうる。これらの各部は、それぞれ異なるハードウェアで構成されてもよいし、各処理を実行するためのプログラムを画像処理部120が読み込み、画像処理部120が実行するソフトウェアモジュールとして構成されてもよい。
【0021】
補正処理部121は、画像補正処理を行うモジュールである。具体的には補正処理部121は、RAM103に記憶されている画像について、撮像光学系104や撮像部105の特性によって劣化した信号を画像処理によって補正するモジュールである。さらに詳細に説明すると、撮像光学系104においては、その収差特性によって画質が劣化し、撮像部105においては、一部の欠陥画素やフィルタの光学特性によって画質が劣化しうる。補正処理部121では、事前に求められた撮像光学系104や撮像部105の劣化特性に基づいて画像を補正する。
【0022】
現像処理部121は、現像処理を行うモジュールである。一般に、撮像部105の撮像素子は、画素ごとに異なる色感度特性を持っている。現像処理部121は、最終的には鑑賞用の画像とするために、色画素間の補間を行い、視覚特性や官能特性を考慮して最終的な画素値を生成する。現像処理部121は更に、画素間の平均をとることで画像のノイズを低減するノイズ低減処理(以下、NR (Noise Reduction) という。)を行うことができる。
【0023】
符号化部123は、符号化処理を行うモジュールである。具体的には符号化部123は、RAM103に記憶されている画像に対して、記録ファイル形式に対応する符号化処理を実行する。
【0024】
復号部124は、復号処理を行うモジュールである。具体的には復号部124は、例えば記録媒体110から読み出された記録画像に対して、記録ファイル形式に対応する復号処理を実行する。
【0025】
画像処理部120は、更に、符号化部123により符号化された記録ファイル形式の画像を記録媒体110に記録する記録処理、および、記録媒体110に記録された画像の再生制御を行う再生制御処理を行いうる。
【0026】
図3は、サーバ200および第2サーバ300の構成を示すブロック図である。サーバ200および第2サーバ300は同一の構成を有し、それぞれが、上述の所定の画像処理の全てを実行する機能を有するものとして説明する。
【0027】
サーバCPU201は、サーバ200が有する各ブロックの動作を制御する。具体的にはサーバCPU201は、サーバROM202あるいはサーバ記録媒体205に記憶された、所定の画像処理のプログラムをサーバRAM203に展開して実行することにより、各ブロックの動作を制御する。なお、以下の説明では、プログラムはサーバROM202に記憶されているものとする。
【0028】
サーバROM202は、所定の画像処理のプログラムを記憶するとともに、各ブロックの動作に必要な動作パラメータ等を記憶する。サーバROM202は、例えば書き換え可能な不揮発性メモリによって構成されうる。サーバRAM203は、プログラムのワークエリアを提供する他、各ブロックの動作において出力された中間データ等も格納することができる。サーバRAM203は、揮発性メモリによって構成されうる。
【0029】
サーバ通信部204は、所定のプロトコルに従って、デジタルカメラ100および第2サーバ300と通信するための通信インタフェースである。サーバ通信部204は、デジタルカメラ100から実行要求を受信し、所定の画像処理が適用された後の画像をデジタルカメラ100に送信することができる。
【0030】
サーバ記録媒体205は、受信した画像または所定の画像処理が適用された後の画像等を記憶する。サーバ記録媒体205は、例えばHDDやSSD等の記録装置でありうる。
【0031】
<撮影処理>
CPU101は、撮像によって生成された画像に対する所定の画像処理を画像処理部120に行わせるかわりに、該画像を通信部107を介してサーバ200に送信し、サーバ200に該画像に対する所定の画像処理を実行させることができる。画像処理部120で画像処理を実施する場合、その画像処理は、組み込まれた画像処理部120の動作精度でしか実施することはできない。一方、サーバ側では柔軟に処理機能を改善強化することが可能であるため、サーバは画像処理部120に比べて強化された画像処理を行いうる。しかし、そのようなサーバ側の画像処理の効果は処理対象の画像等によって異なり、サーバ側で画像処理を実施すれば画像処理部120で行った場合と比べて有意な効果が必ず得られるとは限らない。有意な効果が得られないのであれば外部に画像処理を委託する意味はない。そこで本実施形態では、CPU101は、画像ごとに、所定の画像処理を画像処理部120に行わせるかサーバ200に行わせるかを判断する。具体的には、CPU101は、画像に対する所定の画像処理のサーバ200での実行の推奨または非推奨を示す情報を取得し、取得された情報がサーバ処理の推奨を示す場合に、該画像に対する所定の画像処理の実行要求をサーバ200に送信する。
【0032】
図4は、実施形態におけるデジタルカメラ100の制御方法のフローチャートである。このフローチャートに対応するプログラムは例えばROM102に記憶されているプログラムに含まれ、RAM103にロードされた後、CPU101によって実行される。この制御処理は、例えば、複数の撮影モードのいずれかが選択された状態でデジタルカメラ100が起動された際に開始される。
【0033】
S401では、CPU101は、ユーザによる操作入力部111の操作状態に応じて撮影モードを設定する。撮影モードの設定項目は例えば、撮像光学系104の焦点距離および絞り(F値)、撮像部105のISO感度、シャッタースピード等を含みうる。その他の設定項目として、撮像光学系104の収差補正機能の有無、NR機能の有無または強弱等もありうる。操作入力部111のモードダイアルがオートにセットされている場合には、これらの設定項目の値は自動的に決定されうる。
【0034】
S402では、操作入力部111のシャッタボタンが押されたことに応じて、CPU101は、S401で設定された撮影モードに従い撮影処理(撮像)を実行する。撮影動作を経ることで最終的に設定された撮影条件が確定するので、S403において、CPU101は、その撮影条件を取得する。取得された撮影条件は、撮像により生成された画像とともに、該画像に付随するメタデータとして、記録媒体110に記憶される。なお、メタデータは、Exif画像ファイルの規格に準拠した形式で記録媒体110に記録されてもよい。
【0035】
次に、S404では、CPU101は、撮像により得られた画像に対する所定の画像処理のサーバ200での実行の推奨または非推奨を示す情報を取得する。ここで、「所定の画像処理のサーバ200での実行の推奨」とは、サーバ200で所定の画像処理を実施すれば画像処理部120で行った場合と比べて有意な効果が得られるので所定の画像処理をサーバ200で実行することが推奨されることをいう。一方、「所定の画像処理のサーバ200での実行の非推奨」とは、サーバ200で所定の画像処理を実施しても画像処理部120で行った場合と比べて有意な効果を望めないため所定の画像処理をサーバ200で実行することは推奨されないことをいう。以下では、所定の画像処理のサーバでの実行のことを「サーバ処理」ともいう。サーバ処理の推奨または非推奨を示す情報を取得するための処理については、
図5および
図6を参照して後述する。
【0036】
S405では、CPU101は、「推奨」とされた画像処理の実行要求を、通信部107を介してサーバ200に送信する。この実行要求に応答してサーバ200で実行される画像処理については、
図7を参照して後述する。
【0037】
S406では、CPU101は、サーバ200からの実行可能応答を待つ。実行可能応答が受信されると、S407で、CPU101は、撮像により得られた画像(対象画像)およびこれに付随するメタデータをサーバ200に送信する。
【0038】
S408で、CPU101は、サーバ200で画像処理が行われた画像を受信する。S409で、CPU101は、受信された処理後の画像を記録媒体110に格納する。このとき、S402で取得された元の画像に、受信された処理後の画像を上書きしてもよいし、元の画像が残るよう別の領域に処理後の画像を記録してもよい。
【0039】
なお、
図4は、撮像により1枚の画像が得られる都度、S403以降の処理が行われるフローとなっているがこれに限定されない。例えば、連写等によって複数の画像が生成され記録媒体110に記憶された後に、それぞれの画像についてS403以降の処理が実行されるフローであってもよい。
【0040】
次に、S404における推奨または非推奨の情報を取得する処理について説明する。所定の画像処理のうちの1つでありうる収差補正処理に関して言えば、例えば高性能な撮像光学系で撮影が行われた場合、一般には、サーバ200で現像処理を実施しても顕著な効果が得られることは期待できない。したがって、そのような場合にはわざわざサーバ200に現像処理を行わせる必要はない。逆に、撮像光学系104の収差が大きい場合には、補正処理部121では十分な補正ができないため、サーバ200で補正を行わせるのが有効である。一般的にユーザは撮像光学系104のどのような条件で収差が発生するのかは判断できないため、収差の発生に関して自動で判定することが求められる。NRについても同様であり、ISO感度が低い場合は発生するノイズは少ないので現像処理部122の処理によって十分な効果を期待できるが、ISO感度が高い場合は現像処理部122の処理では十分な効果が得られないケースが増えてくる。この点に関してもユーザは効果の判断が難しいため、自動で判断することが求められる。
【0041】
図5は、S404における、サーバ処理の推奨または非推奨の情報を取得する処理のフローチャートである。S404では、画像の撮像時における撮像光学系104および撮像部105の少なくともいずれかの状態に基づいて推奨または非推奨の情報を取得する処理が行われる。
S501では、CPU101は、各フラグ変数の初期化を行う。具体的には、失敗写真フラグ、収差補正フラグ、およびNRフラグがそれぞれ0に初期化される。
【0042】
次に、S502で、CPU101は、撮像により得られた画像(対象画像)が失敗画像か否かを判定する。例えば、対象画像が明らかな露出オーバーまたは露出アンダーの画像、あるいは、完全なピンボケ画像である場合、そのような画像に画像処理を適用するのは無駄であるから、対象画像を失敗画像と判定する。CPU101は、対象画像を解析して得られる該画像の輝度値およびエッジ量に基づいて対象画像が失敗画像か否かを判定することができる。例えば、ROM102には、
図6(a)に示すような、画像の明るさとエッジ量と判定値(失敗画像/成功画像)との間の予め得られた関係を表す参照テーブルが記憶されている。
図6(a)の参照テーブルにおいては、失敗画像を表す判定値は0、成功画像を表す判定値は1で示されている。
【0043】
CPU101は、対象画像を解析し、対象画像が
図6(a)の参照テーブルのどの条件に該当するかを判定する。明るさは、例えば対象画像全体の輝度値の平均によって表される。エッジ量は、対象画像に対して所定のエッジ抽出フィルタを適用した結果の値の積分値によって表される。例えば、対象画像が全域ほぼ真っ暗でかつエッジもほとんどない画像である場合、対象画像は、
図6(a)における明るさ0、エッジ量0に分類される。
図6(a)において、エッジ量0、明るさ0の場合の判定値は、失敗画像を表す0である。この場合、S503において対象画像は失敗写真と判定され、S504において、CPU101は、失敗写真フラグを1に変更する。また、対象画像が明るさ1、エッジ量1に分類された場合、判定値は、成功画像を表す1である。この場合、処理はS505に進む。この場合、処理はS504には進まないので、失敗画像判定フラグは0のままである。後述するように、失敗画像判定フラグが1とされた場合、対象画像に対するサーバ処理は非推奨とされる。したがって、その画像は、サーバ200には送信されないか、サーバ200に送信されても処理されないことになる。なお、上記した参照テーブルを用いた判定結果は、ユーザの意図と異なる場合もありうるので、ユーザが参照テーブルを変更できるようにしてもよい。
【0044】
S505では、CPU101は、収差補正処理に関して、サーバ200での実行が推奨か非推奨かの判定を行う。ここで、収差補正とは、例えば、周辺光量補正、歪曲収差補正、色収差補正等でありうる。また、収差補正は、球面収差等による画質劣化を回復させる回復処理であってもよい。周辺光量補正、歪曲収差補正、色収差補正、球面収差等は、デジタルカメラ100内の補正処理部121でも実施されうるが、それぞれ以下の理由により十分に補正できない場合がある。周辺光量補正の場合は、一定の補正量を超えるとノイズの悪化が目立ってしまうため十分な補正をするのが難しい。歪曲収差補正の場合は、歪量が極端に大きい補正した結果、解像感の劣化が大きくなり十分補正できない場合がある。色収差補正の場合は、画像周辺に余剰画素がないと十分な補正ができない場合がある。回復処理の場合は、補正処理部121の補正フィルタのタップ数に補正精度の制約を受けるし、ノイズ悪化のため強度も所望の補正ができない場合がある。
【0045】
補正量が小さい場合には、撮像装置100内の補正処理部121での補正で十分な場合もある。しかし、上記のような判定をユーザ側で実施することは現実的には難しい。一般的に、撮像光学系104の特性の詳細は開示されてない場合が多く、さらに、補正の効果は補正処理部121の能力によっても影響するためである。
【0046】
本実施形態では、CPU101は、対象画像の撮像時における撮像光学系104の焦点距離と絞りとに基づいて収差補正処理についての推奨または非推奨を示す情報を取得することができる。撮像光学系104の光学特性(収差)は、焦点距離と絞りに応じて変動しうる。そこで、ROM102には、
図6(b)に示すような、焦点距離と絞りと判定値(推奨/非推奨)との間の予め得られた関係を表す参照テーブルが記憶されている。
図6(b)の参照テーブルにおいては、収差補正処理がサーバ200で実行されることに関して「推奨」を表す判定値は1、「非推奨」を表す判定値は0で示されている。例えば、S403で取得された撮影条件に含まれる絞りおよび焦点距離がそれぞれ、絞り0、焦点距離1に分類された場合の判定値は、「推奨」を表す1である。この場合、S506において収差補正処理についてはサーバ処理が推奨されると判定され、S507において、CPU101は、収差補正フラグを1に変更する。S506において、収差補正処理についてサーバ処理は非推奨と判定された場合には、収差補正フラグは0のままとされる。
【0047】
なお、ここでは、収差補正処理に関して
図6(b)に示されるような1つの参照テーブルを例示したが、このような参照テーブルを補正の対象とする複数の収差のそれぞれごとに作成してもよい。また、焦点距離や絞りのみならず、ピント位置、瞳距離等の特性値が変数項目に追加されてもよい。また、交換レンズシステムの撮像装置の場合、新たに開発された撮像光学系が装着される場合もある。その場合は、新たな撮像光学系の内部のROMに参照テーブルを記録しておき、その撮像光学系が新たに装着された際にその参照テーブルが撮像装置100のROM102に転送されるような構成が採用されてもよい。
【0048】
次に、S508では、CPU101は、NR処理に関して、サーバ200での実行が推奨か非推奨かの判定を行う。NR処理は、例えば、画像の平均値処理によりノイズを平滑化する処理である。しかし、単純な平滑化を実施すれば同時に解像感も落ちてしまうため、様々な工夫により解像感を保ちながらノイズを低減する方法がある。デジタルカメラ100の現像処理部122では、複雑なアルゴリズムでノイズ低減を行うことには対処できない場合がある。そのような場合は、サーバ上に画像を転送してNR処理をした方が良好な結果が得られることも多い。一方で、ISO感度が低い撮影条件であったため画像にノイズがあまり発生していない場合は、現像処理部122での処理で十分効果が得られる場合もある。この条件はデジタルカメラの特性や、現像処理部122の特性によって変わりうるため、ユーザが判定することは難しい。
【0049】
そこで本実施形態では、CPU101は、対象画像の撮像の際の撮像部105のISO感度に基づいてNR処理についてのサーバ処理の推奨または非推奨を示す情報を取得することができる。例えば、ROM102は、
図6(c)に示すような、ISO感度と判定値(推奨/非推奨)との間の予め得られた関係を表す参照テーブルが記憶されている。
図6(c)の参照テーブルにおいては、NR処理がサーバ200で実行されることに関して「推奨」を表す判定値1、「非推奨」を表す判定値0で示されている。例えば、S403で取得された撮影条件に含まれるISO感度がISO感度3に分類された場合の判定値は、「推奨」を表す1である。この場合、S509においてNR処理についてサーバ処理が推奨されると判定され、S510において、CPU101は、NRフラグを1に変更する。S509においてNR処理についてサーバ処理が非推奨と判定された場合には、NRフラグは0のままとされる。
【0050】
以上の処理によれば、失敗写真フラグ、収差補正フラグ、NRフラグのそれぞれは、所定の画像処理がサーバ200で実行されることが推奨されるか否かの情報を反映している。S511では、CPU101は、失敗写真フラグ、収差補正フラグ、NRフラグそれぞれの値を、例えば、対象画像のメタデータに記録する。
【0051】
なお、以上のS404の処理は、サーバ200において実施する構成としてもよい。そのような態様については第2実施形態において後述する。
【0052】
<実行要求について>
以上のS404の処理によって、各画像処理についてのサーバ処理の推奨/非推奨の情報が取得される。したがって、S405では、CPU101は、対象画像のメタデータに記録されている各フラグの値をチェックする。ここで、収差補正フラグおよびNRフラグのうちの少なくともいずれかが1であれば、CPU101は、実行要求をサーバ200に送信する。実行要求は、実行を要求する画像処理の種別(収差補正処理/NR処理)を特定するフィールドを含みうる。失敗写真フラグが1であれば、CPU101はサーバ200に実行要求を送信しない。また、収差補正フラグおよびNRフラグがともに0であれば、CPU101は実行要求をサーバ200に送信しない。実行要求をサーバ200に送信しない場合には、例えば自動的にまたはユーザによる操作指示に応じて、画像処理部120によって所定の画像処理が行われうる。
【0053】
また、実行要求には、サーバで画像処理が実行された画像のサーバからの返送の要否の指示が記述される返送要否フィールドを含みうる。例えば、再生(表示)される画像がサーバでどのような画像処理が実行された画像であるのかを確認することをユーザが希望する場合には、ユーザによる操作により、返送要否フィールドに「返送要」の指示を記述することができる。そのような確認をユーザは希望しない場合には、返送要否フィールドに「返送不要」の指示を含めればよい。その場合、S408における画像の受信は行われない。
【0054】
<サーバによる画像処理>
図7は、サーバ200による所定の画像処理の実行に関する制御方法のフローチャートである。このフローチャートに対応するプログラムは例えばサーバROM202に記憶されているプログラムに含まれ、サーバRAM203にロードされた後、サーバCPU201によって実行される。この制御処理は、例えば、サーバ200の起動後に開始され、繰り返し実行されるものとして説明する。
【0055】
S701では、サーバCPU201は、サーバ通信部204を介してデジタルカメラ100からの実行要求(S405参照)が受信されるのを待つ。実行要求が受信されると、サーバCPU201は該実行要求をサーバRAM203に格納した後、S702で、実行要求に含まれている画像処理の種別(収差補正処理/NR処理)を読み出すことで、要求されている画像処理を判定する。
【0056】
S703で、サーバCPU201は、要求された画像処理をサーバ200が実行可能な状態であることを確認した後、実行可能応答を、サーバ通信部204を介してデジタルカメラ100に送信する。上記したように、デジタルカメラ100は、実行可能応答を受信したこと(S406)に応答して対象画像およびメタデータを送信する(S407)ので、S704で、サーバCPU201はこれを受信(取得)する。受信された対象画像およびメタデータは一時的にサーバRAM203に格納される。
【0057】
S705で、サーバCPU201は、S702で判定された画像処理のプログラムをサーバROM202から読み出してサーバRAM203にロードし、サーバRAM203に格納された対象画像に対して画像処理を実行する。S706で、サーバCPU201は、画像処理が実行された後の画像を、いったんサーバRAM203に格納する。このときサーバCPU201は、画像処理が実行された後の画像をサーバ記録媒体205に格納してもよい。また、このときサーバCPU201は、S702で判定された種別の画像処理のサーバ200による実行の履歴をメタデータに追記する。
【0058】
S707では、サーバCPU201は、実行要求の返送要否フィールドの値が「返送要」を示している否か確認する。実行要求の返送要否フィールドの値が「返送要」である場合、S708で、サーバCPU201は、処理済み画像をデジタルカメラ100に送信する。
【0059】
<再生表示>
CPU101は、記録媒体110に記憶されている1つ以上の画像のうちから選択された画像を表示部109に表示させることができる。ここで、記録媒体110に記憶されている各画像は画像処理の適用の履歴が異なりうる。すなわち、記録媒体110に記憶されている画像には、サーバで処理済みの画像とそうでない画像とが混在しうる。より具体的には、記録媒体110に記憶されている画像は、以下のような状態を有しうる。
A.サーバ処理「非推奨」、
B.サーバ処理「推奨」であるがサーバ処理は未済、
C.サーバ処理「推奨」で、サーバ処理済み。
【0060】
そのため、画像を表示した際にそのような履歴を容易に確認可能であることが望まれる。そこで本実施形態では、表示部109に画像が表示されるとともに、該画像についての、推奨または非推奨を示す情報、およびサーバ処理の履歴を表す情報が表示部109に表示される。
【0061】
図8に、表示部109における画像の表示態様の例を示す。
図8(a)において、ユーザによって選択された画像801が、表示部109のサイズに合わせて縮小表示されている。表示部109のサイズによっては縮小率が大きくなり、その画像を見ただけでは、適用された画像処理の効果が把握しにくくなる場合がある。画面802には、画像801の撮影条件が表示される。画面802に表示される項目は、ユーザによって選択された項目であってもよいし、サーバ処理の推奨/非推奨の判定に利用された項目であってもよい。画面803には、画像801に対するサーバ処理(クラウド現像)の履歴が表示される。
【0062】
図8(b)は、前述の状態A(サーバ処理「非推奨」)の画像が選択されたときの表示例である。ここには、サーバ処理(クラウド現像)が推奨されない例として完全なピンボケ写真の例が示されている。このような場合、画像から有効なエッジは検出されず失敗写真と判定される。そのような画像に対しては、失敗写真と判定されたことを示すアイコン804が表示される。
【0063】
図8(c)は、前述の状態B(サーバ処理「推奨」であるがサーバ処理は未済)の画像が選択されたときの表示例である。ここには、それぞれの画像処理についてサーバ処理(クラウド現像)が推奨であるがクラウド現像は済んでいないことを示すアイコン805が表示される。
【0064】
図8(d)は、前述の状態C(サーバ処理「推奨」で、サーバ処理済み)の画像が選択されたときの表示例である。サーバ処理(クラウド現像)が有効と判断され、かつクラウド現像が済んでいることを示すアイコン806が表示される。
【0065】
以上のように、画像再生時にサーバ処理の履歴を表示することにより、表示された画像の状態をユーザが直観的に理解できる。なお、このような態様の画像表示は、撮影した機器(デジタルカメラ100)とは異なる機器(例えばパーソナルコンピュータ)上のアプリケーションによって行われてもよい。
【0066】
[第2実施形態]
上述の第1実施形態では、サーバ処理の推奨/非推奨の判定をデジタルカメラ100内のROM102に記録された参照テーブル(
図6)を用いて行った。しかし、サーバ側での画像処理には更新により高性能な処理に改善できるという利点があり、参照テーブルをROM102に記録した当時よりも性能が向上する可能性がある。ROM102に記録された参照テーブルを更新すること可能であるが、その方法では改善された画像処理に追従することは難しい。
【0067】
本実施形態では、サーバ処理の推奨/非推奨の判定もサーバ側で行うことができる。
【0068】
図9は、第2実施形態における、サーバ200による所定の画像処理の実行に関する制御方法のフローチャートである。このフローチャートに対応するプログラムは例えばサーバROM202に記憶されているプログラムに含まれ、サーバRAM203にロードされた後、サーバCPU201によって実行される。この制御処理は、例えば、サーバ200の起動後に開始され、繰り返し実行されるものとして説明する。
【0069】
図9において本実施例のサーバ上の処理について説明を行う。
図9において、S701~S708は、
図7と同様でありこれらの説明は省略する。ただし本実施形態では、S701とS702の間に、S901~S903の処理ステップが入る。S902は、サーバ処理の推奨/非推奨を判定する処理であり、これは、第1実施形態ではデジタルカメラ100側で行われていた処理(S404)に相当する。S903は、サーバ側で実行すべき処理モードを判定する処理である。サーバ200は、例えばモード1,2,3の3つの処理モードを有する。デジタルカメラ100では、サーバの処理モードの選択を行うことができ、サーバをどのモードで動作させるかの指示を実行要求に含めることができるものとする。
【0070】
モード1は、各画像処理についてのサーバ処理の推奨/非推奨の判定結果だけを提供する処理モードである。一般的に、サーバの維持・運営・レンタルに対してコストがかかるため、サーバ現像処理は、その処理量に応じて課金されるサービスとして提供されることが多い。ユーザとしては、効果の薄いサーバ処理に料金を支払うことは避けたいところである。そのような場合にモード1を選択すると、ユーザは、極めて少ないサーバ負荷によって、各画像処理についてのサーバ処理の推奨/非推奨の情報のみを取得することができる。ユーザは、このモード1によって取得された情報をみて、その後で他のモード(例えばモード2)を指定して実行要求を出すようにすればよい。
【0071】
モード2は、サーバでの画像処理を簡易的に行う処理モードである。モード2は、サーバでの画像処理に対して画像枚数に応じて課金されるシステムにおいて、ユーザが少しでも処理済み画像を見て画像処理の効果を判断したいと思う場合に有効である。モード2では、サーバは、対象画像の一部の領域のみに対して画像処理を行い、その結果を送信する。サーバは、例えば、ユーザが指定した部分領域または主被写体が存在する可能性が高い測距枠付近の部分領域に対して画像処理を実施し、その処理済み画像と推奨/非推奨の判定結果とをデジタルカメラ100に送信する。これにより、ユーザは、判定結果とともに、領域の一部ではあるが実際の処理済み画像を確認できる。ユーザはその後、例えばモード2を指定して実行要求を出すようにすることができる。
【0072】
モード3は、
図7で示したような、対象画像の全体に対して画像処理を行いその結果を送信する処理モードである。なお、モード3は、例えば、サーバ処理の効果の量(例えば大、中、小など)を判定し、その判定結果が所定の条件を満たしていれば自動的にサーバ処理を実施する処理モードとして構成されてもよい。このようなモード3によれば、モード1,2のようにいったん判定のためにサーバに処理を依頼する必要がなく、一度に対象画像にサーバ処理を適用することができる。
【0073】
S901では、サーバCPU201は、デジタルカメラ100から対象画像およびそのメタデータを受信する。S902では、サーバCPU201は、
図5で示したようなフローに従い、対象画像に対するサーバ処理の推奨/非推奨の判定を行う。この場合、サーバROM202に
図6(a)~(C)で示したような参照テーブルが記憶されており、判定はこれらの参照テーブルを用いて行われる。なお、サーバ側では画像処理の結果を高精度に判定できるため、期待される効果の量(大、中、小など)も合わせて判定するようにしてもよい。その場合は、効果の量(大、中、小など)に応じた参照テーブルを別途作成しておく必要がある。
【0074】
S903では、サーバCPU201は、実行要求において指定されている処理モードを判定する。判定された処理モードがモード1である場合、処理はS904へ進む。判定された処理モードがモード2である場合、処理はS911へ進む。判定された処理モードがモード3である場合、処理はS702へ進む。
【0075】
モード1におけるS904では、サーバCPU201は、S902での判定結果である、対象画像に対するサーバ処理の推奨/非推奨の情報(失敗写真フラグ、収差補正フラグ、NRフラグそれぞれの値)を、デジタルカメラ100に送信する。モード1はこのような情報の送信のみであるから、サーバ上の負荷を最小に抑えることができる。
【0076】
モード2におけるS911では、サーバCPU201は、実行要求に含まれている画像処理の種別を読み出すことで、要求されている画像処理を判定する。S912では、サーバCPU201は、要求された画像処理をサーバ200が実行可能な状態であることを確認した後、実行可能応答を、サーバ通信部204を介してデジタルカメラ100に送信する。デジタルカメラ100は、実行可能応答を受信したことに応答して、対象画像のうちのユーザによって指定された一部の領域の画像である部分画像を送信する。S913で、サーバCPU201はこの部分画像を受信する。受信された部分画像は一時的にサーバRAM203に格納される。S913では、デジタルカメラ100から送信された部分画像を受信するのではなく、S901で受信した画像のうち主被写体が存在する可能性が高い測距枠付近の部分領域の画像である部分領域を取得してもよい。
【0077】
S914で、サーバCPU201は、S911で判定された画像処理のプログラムをサーバROM202から読み出してサーバRAM203にロードし、サーバRAM203に格納された部分画像に対して画像処理を実行する。S915で、サーバCPU201は、S902での対象画像に対するサーバ処理の推奨/非推奨の情報と、S914で行われた画像処理後の部分画像とを、デジタルカメラ100に送信する。
【0078】
S903で処理モードがモード3と判定された場合は、S702~S708の処理が実行される。これらの処理の説明は省略する。ただし、S708では、サーバCPU201は、処理済み画像を、S902での対象画像に対するサーバ処理の推奨/非推奨の情報とともに、デジタルカメラ100に送信する。
【0079】
図10に、モード2によって取得された部分画像の、デジタルカメラ100の表示部109による表示態様の例を示す。画面1001には対象画像の全体像が表示されている。この全体像の上に表示されている枠1002は、部分画像の領域を示している。画面1003には、枠1002内の部分画像に対するサーバ処理の履歴が表示される。
図10の例では、画面1003は、NR処理と収差補正処理の両方がサーバで実施済みであることを示している。
【0080】
画面1004には、サーバ処理前の枠1002内の部分画像が拡大表示され、画面1005には、サーバ処理後の枠1002内の部分画像が拡大表示される。このようにサーバ処理前の部分画像とサーバ処理後の部分画像が隣接して表示されるので、ユーザはサーバ処理の効果を容易に確認することができる。
【0081】
以上説明した第2実施形態によれば、有償のサーバシステムにおいても、効率よくサーバ処理の効果を確認することができる。
【0082】
(他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0083】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0084】
100:デジタルカメラ、200:サーバ、300:第2サーバ、400:ネットワーク