(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-09
(45)【発行日】2024-04-17
(54)【発明の名称】画像処理装置およびその制御方法、プログラム、並びに記憶媒体
(51)【国際特許分類】
H04N 23/60 20230101AFI20240410BHJP
H04N 23/617 20230101ALI20240410BHJP
H04N 5/765 20060101ALI20240410BHJP
【FI】
H04N23/60 500
H04N23/617
H04N5/765
H04N23/60 300
(21)【出願番号】P 2020004670
(22)【出願日】2020-01-15
【審査請求日】2022-12-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】水森 龍太
(72)【発明者】
【氏名】四宮 岳史
【審査官】▲うし▼田 真悟
(56)【参考文献】
【文献】特開2008-236396(JP,A)
【文献】特開2004-030251(JP,A)
【文献】特開2003-319311(JP,A)
【文献】特開2019-029819(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
H04N 23/617
H04N 5/765
(57)【特許請求の範囲】
【請求項1】
外部装置と通信する通信手段と、
第1の画像データに対して第1の画像処理を実行する画像処理手段と、
前記第1の画像データに対して前記第1の画像処理とは異なる第2の画像処理を実行するための要求を前記外部装置に対して行い、前記外部装置から前記第2の画像処理が実行された第2の画像データを取得する制御手段と、を有し、
前記制御手段は、前記外部装置で実行可能な前記第2の画像処理の機能が更新されたことに応じて、前記外部装置に対して前記第2の画像処理を実行するための再度の要求を行うか否かを判定
し、
前記外部装置に対して前記第2の画像処理を実行するための再度の要求を行うと判定した場合、複数の前記第1の画像データの中から、前記第2の画像処理の更新された機能に適合する画像データを選択することを特徴とする画像処理装置。
【請求項2】
前記制御手段は、前記通信手段により前記外部装置から取得した当該外部装置で実行可能な前記第2の画像処理の機能に関する情報に基づき、前記第2の画像処理の機能が更新されているか否かを判
定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1の画像処理は、現像処理におけるノイズリダクション機能、露出補正機能、レンズ補正機能、HDR(High Dynamic Range)機能、コントラスト調整機能、シャープネス調整機能、彩度調整機能のうち少なくともいずれかを含むことを特徴とする請求項1
または2に記載の画像処理装置。
【請求項4】
前記第2の画像処理を実行するための再度の要求の対象となる画像データは、前記外部装置において既に前記第2の画像処理が実行された画像データであることを特徴とする請求項
1から3のいずれか1項に記載の画像処理装置。
【請求項5】
前記制御手段は、前記外部装置に対して前記再度の要求を行う場合に当該外部装置が前記第2の画像処理を実行する対象の前記第1の画像データを保持している場合、前記再度の要求により前記第2の画像処理を実行する対象の前記第1の画像データを前記外部装置に送信しないことを特徴とする請求項1から
4のいずれか1項に記載の画像処理装置。
【請求項6】
前記第1の画像処理および前記第2の画像処理は現像処理であり、
前記第2の画像処理は第1の画像処理よりも高度な機能を備えることを特徴とする請求項1から
5のいずれか1項に記載の画像処理装置。
【請求項7】
前記第1の画像データは、静止画または動画のRAW画像データであることを特徴とする請求項1から
6のいずれか1項に記載の画像処理装置。
【請求項8】
前記画像処理装置は、RAW画像データを生成する撮像装置であり、
前記外部装置は、サーバ装置であることを特徴とする請求項1から
7のいずれか1項に記載の画像処理装置。
【請求項9】
前記画像処理装置は、RAW画像データを生成する撮像装置であり、
前記外部装置は、ユーザが保有する情報処理装置であることを特徴とする請求項1から
7のいずれか1項に記載の画像処理装置。
【請求項10】
外部装置と通信する通信手段と、第1の画像データに対して第1の画像処理を実行する画像処理手段と、を有する画像処理装置の制御方法であって、
前記第1の画像データに対して前記第1の画像処理とは異なる第2の画像処理を実行するための要求を前記外部装置に対して行い、前記外部装置から前記第2の画像処理が実行された第2の画像データを取得する制御ステップを有し、
前記制御ステップでは、前記外部装置で実行可能な前記第2の画像処理の機能が更新されたことに応じて、前記外部装置に対して前記第2の画像処理を実行するための再度の要求を行うか否かを判定
し、
前記外部装置に対して前記第2の画像処理を実行するための再度の要求を行うと判定した場合、複数の前記第1の画像データの中から、前記第2の画像処理の更新された機能に適合する画像データを選択することを特徴とする制御方法。
【請求項11】
コンピュータを、請求項1から
9のいずれか1項に記載された画像処理装置として機能させるためのプログラム。
【請求項12】
コンピュータを、請求項1から
9のいずれか1項に記載された画像処理装置として機能させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラウドサービスなどを利用して画像処理を行うシステムに関する。
【背景技術】
【0002】
ユーザはRAW画像データの現像処理をPC(パーソナルコンピュータ)などで実行することにより、デジタルカメラなどで現像する場合よりも意図通りの画像に仕上げることができる。また、特許文献1のように、クラウドサービスなどで提供されるより高度な現像処理機能(クラウド現像)を利用して、現像処理をサーバ装置で行うことによりPCで現像処理を行った画像よりも高品位な画像を生成できるシステムがある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、クラウド現像は、サーバ装置と通信することを前提としているため、様々な要因によってクラウド現像を利用することが常に最適であるとは限らない。例えば、通信状態が悪い場合、現像処理に即時性が求められる場合などは、外部で現像処理を行うのではなく、機器内部で現像処理を行う方が好適な場合もある。また、クラウド現像を行うRAW画像データが多数ある場合、全てのRAW画像データの現像処理が完了するまでに長時間を要する可能性がある。
【0005】
本発明は、上記課題に鑑みてなされ、その目的は、外部の画像処理機能を効率的に活用できる技術を実現することである。
【課題を解決するための手段】
【0006】
上記課題を解決し、目的を達成するために、本発明の画像処理装置は、外部装置と通信する通信手段と、第1の画像データに対して第1の画像処理を実行する画像処理手段と、前記第1の画像データに対して前記第1の画像処理とは異なる第2の画像処理を実行するための要求を前記外部装置に対して行い、前記外部装置から前記第2の画像処理が実行された第2の画像データを取得する制御手段と、を有し、前記制御手段は、前記外部装置で実行可能な前記第2の画像処理の機能が更新されたことに応じて、前記外部装置に対して前記第2の画像処理を実行するための再度の要求を行うか否かを判定し、前記外部装置に対して前記第2の画像処理を実行するための再度の要求を行うと判定した場合、複数の前記第1の画像データの中から、前記第2の画像処理の更新された機能に適合する画像データを選択する。
【発明の効果】
【0007】
本発明によれば、外部の画像処理機能を効率的に活用できるようになる。
【図面の簡単な説明】
【0008】
【
図2】実施形態1、3、4、5のスマートデバイスの構成を示すブロック図。
【
図3】実施形態1~5のデジタルカメラの構成を示すブロック図。
【
図4】実施形態1、2、3、5のサーバ装置の構成を示すブロック図。
【
図6】実施形態1、2、5の現像機能の更新情報のデータ構成図。
【
図13】実施形態6のデジタルカメラの構成を示すブロック図。
【
図14】実施形態6のサーバ装置の構成を示すブロック図。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでするものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
本実施形態では、スマートデバイス101またはデジタルカメラ102で実行するRAW画像データの現像処理の一部または全部を、スマートデバイス101またはデジタルカメラ102で実行する現像処理よりも高度な現像処理機能を提供するサービスサイトのサーバコンピュータ(サーバ装置103)を利用して実施する例を説明する。なお、本実施形態では、サーバ装置103においてRAW画像データに現像処理を実施する例を説明するが、本実施形態で例示する現像処理以外の画像処理を行うようにしてもよい。
【0011】
[実施形態1]
実施形態1は、サーバ装置103の現像機能の更新に応じてスマートデバイス101が保有するRAW画像データをクラウド現像する例を説明する。
【0012】
<システム構成>まず、
図1を参照して、本実施形態のシステム構成について説明する。
【0013】
本実施形態のシステムは、スマートデバイス101、デジタルカメラ102、サーバ装置103、無線基地局104、通信ネットワーク105を含む。
【0014】
ユーザは、スマートデバイス101およびデジタルカメラ102を所有しているものとする。スマートデバイス101には、サーバ装置103が提供するクラウドサービスを利用するためのクラウドアプリケーションがインストールされている。スマートデバイス101とサーバ装置103は、無線基地局104を介して通信ネットワーク105に接続することによりサーバ装置103と通信可能である。通信ネットワーク105は、WAN(Wide Area Network)、インターネット、公衆回線などである。
【0015】
スマートデバイス101は、サーバ装置103が提供する各種のクラウドサービスを利用できる情報処理装置である。本実施形態では、サーバ装置103が提供するクラウドサービスとしてRAW画像データの現像機能(クラウド現像)を想定しており、スマートデバイス101は、現像アプリケーションを介してサーバ装置103が提供するクラウド現像サービスを利用できる。
【0016】
クラウド現像は、スマートデバイス101が保有しているRAW画像データをサーバ装置103にアップロードし、サーバ装置103がRAW画像データに現像処理を実行し、現像済み画像データをスマートデバイス101に返信する機能である。ユーザは、スマートデバイス101の現像アプリケーションからクラウド現像のパラメータ設定を行い、パラメータ設定指示がサーバ装置103に送信される。サーバ装置103は、パラメータ設定指示を受けるたびに現像処理を実行し、現像済みの画像データをJPEGファイルとしてスマートデバイス101に返信する。このようにすることで、ユーザはクライド現像結果を確認しながら、RAW画像データを自分の好みに仕上げていくことができる。このように、クラウド現像は、スマートデバイス101の現像処理性能が低い場合であっても、サーバ装置103でより高度な現像処理を提供でき、さらにサーバ装置103の現像機能を更新するだけで常に最新の現像処理をユーザに提供できる。
【0017】
スマートデバイス101が利用するRAW画像データは、デジタルカメラ102で生成される静止画や動画など画像データであって、現像処理を行わないでファイル化されたものである。ユーザは、デジタルカメラ102を用いて撮影を行う場合、RAW画像データを記録するモードで撮影を行い、その後、RAW画像データをデジタルカメラ102からスマートデバイス101に転送する。データ転送には無線LAN(Local Area Network)を用いる。PTP(Picture Transfer Protocol)をIP(Internet Protocol)上で実現するPTP-IPを用いることでRAW画像データをデジタルカメラ102からスマートデバイス101に転送できる。
【0018】
<スマートデバイス101の構成>次に、
図2を参照して、スマートデバイス101の構成および機能について説明する。
【0019】
制御部201は、スマートデバイス101の全体を統括して制御する演算処理装置(CPU)であって、ROM202に格納されたプログラムを実行することで、後述する動作シーケンスを実現する。なお、制御部201が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【0020】
ROM(Read Only Memory)202は、電気的にデータの書き換えが可能なEEPROMなどの不揮発性メモリである。ROM202には、制御部201の動作用の定数、プログラムなどが記録される。ここでいう、プログラムとは、本実施形態にて後述するデジタルカメラ102およびサーバ装置103との通信処理や現像処理を実行するためのプログラムを含む。また、ROM202には、制御部201が実行する基本的なソフトウェアであるOS(オペレーティングシステム)や、このOSと協働して応用的な機能を実現する現像アプリケーションが格納されている。本実施形態のスマートデバイス101の処理は、現像アプリケーションにより提供されるソフトウェアを読み込むことにより実現される。なお、現像アプリケーションはスマートデバイス101にインストールされたOSの基本的な機能を利用するためのソフトウェアを有しているものとする。なお、スマートデバイス101のOSが本実施形態における処理を実現するためのソフトウェアを有していてもよい。
【0021】
RAM(Random Access Memory)203は、制御部201の動作用の定数、変数、ROM202から読み出したプログラムなどを展開する作業領域として使用される揮発性メモリである。
【0022】
記憶部204は、ハードディスクドライブ(HDD)、フラッシュメモリで構成されるソリッドステートドライブ(SSD)、ハードディスクとフラッシュメモリを併用したハイブリッドドライブ、メモリカードなどの記録媒体である。記憶部204はRAW画像データの記録も可能である。
【0023】
BMU(Bit Move Unit)205は、例えばメモリ間(例えば、VRAM206と他のメモリとの間)や、メモリと各I/Oデバイス(例えば、ローカル無線通信部210)間のデータ転送を制御する。
【0024】
VRAM(Video RAM)206は、表示部208に表示するための画像データを描画する。表示部208は、液晶パネルや有機パネルなどを備えるモニタとコントローラを含む。VRAM206に描画された画像データを、所定のフレームレートに従って表示部208に転送することにより、表示部208に画像が表示される。また、表示部208には、表示画面に対するタッチ操作を検出可能なタッチセンサを有するタッチパネル207が設けられている。タッチパネル207は、表示部208の表示画面に重ね合わせて平面的に構成され、接触された位置に応じた座標情報が出力されるようにした入力デバイスである。制御部201は、タッチパネル207に対する以下の操作を検出できる。タッチパネル207を指やペンで触れたこと(タッチダウン)。タッチパネル207を指やペンで触れている状態であること(タッチオン)。タッチパネル207を指やペンで触れたまま移動していること(ムーブ)。タッチパネル207に触れていた指やペンを離したこと(タッチアップ)。タッチパネル207に何も触れていない状態(タッチオフ)。タッチパネル207に指やペンでタッチダウンとタッチアップを連続して行うことをタップと称する。これらの操作や、タッチパネルに指やペンが触れている位置座標は、制御部201に通知され、制御部201は通知された情報に基づいてタッチパネルにどのような操作が行われたかを判定する。ムーブについてはタッチパネル207で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル207の垂直成分・水平成分ごとに判定できる。またタッチパネル207をタッチダウンから所定の距離以上のムーブを経てタッチアップをしたとき、ドラッグを経てドロップが行われたこととする(ドラッグアンドドロップ)。タッチパネル207は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いてもよい。
【0025】
近距離無線通信部209は、近距離無線通信によりデジタルカメラ102と通信するためのインターフェースであり、本実施形態ではBluetooth(登録商標)を想定している。Bluetooth(登録商標)は、通信速度は遅いが、消費電力の面で有利な無線インターフェースであり、デジタルカメラ102との間で、通知や簡単なメッセージのやり取りを行う場合に好適である。
【0026】
ローカル無線通信部210は、無線LANによりデジタルカメラ102と高速な通信を行うためのインターフェースである。ローカル無線通信部210は、デジタルカメラ102のRAW画像データなど大容量のデータのやり取りに適している。
【0027】
広域無線通信部211は、無線基地局104と通信することで通信ネットワーク105への接続が可能なインターフェースである。
【0028】
システムバス212は、スマートデバイス101の各構成要素201~211を通信可能に接続する、アドレスバス、データバスおよびコントロールバスを含む。
【0029】
<デジタルカメラ102の構成>次に、
図3を参照して、本実施形態のデジタルカメラ102の構成および機能について説明する。
【0030】
制御部301は、デジタルカメラ102の全体を統括して制御する演算処理装置(CPU)であって、ROM302に格納されたプログラムを実行することで、後述する動作シーケンスを実現する。なお、制御部301が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【0031】
ROM302は、電気的にデータの書き換えが可能なEEPROMなどの不揮発性メモリである。ROM302には、制御部301の動作用の定数、プログラムなどが記録される。ここでいう、プログラムとは、本実施形態にて後述するスマートデバイス101やスマートデバイス101やサーバ装置103との通信処理や現像処理を実行するためのプログラムを含む。また、ROM302には、制御部301が実行する基本的なソフトウェアであるOS(オペレーティングシステム)や、このOSと協働して応用的な機能を実現する現像アプリケーションが格納されている。
【0032】
RAM303は、制御部301の動作用の定数、変数、ROM302から読み出したプログラムなどを展開する作業領域として使用される揮発性メモリである。
【0033】
記憶部304は、撮像部314により生成されたRAW画像データや符号化部316により符号化された画像ファイルを記録するメモリカードなどの記録媒体である。
【0034】
BMU305は、例えばメモリ間(例えば、RAM303と他のメモリとの間)や、メモリと各I/Oデバイス(例えば、ローカル無線通信部310)間のデータ転送を制御する。
【0035】
近距離無線通信部309は、近距離無線通信によりスマートデバイス101と通信するためのインターフェースであり、本実施形態ではBluetooth(登録商標、以下、BTと略称する)を想定している。ローカル無線通信部310は、無線LANによりスマートデバイス101と高速な通信を行うためのインターフェースである。広域無線通信部311は、無線基地局104と通信することで通信ネットワーク105への接続が可能なインターフェースである。
【0036】
光学系313は、被写体像を結像してデジタルカメラ102に導くレンズや絞りなどを含む。撮像部314は、光学系313により結像された被写体像を光電変換してアナログ画像信号を生成するCCDやCMOSなどの撮像素子、アナログ画像信号をデジタル信号に変換するAD変換回路を含む。
【0037】
画像処理部315は、撮像部314により生成された画像データ(RAW画像データを含む)に対して所定の画像処理(RAW現像処理)を行う。符号化部316は、画像処理部315で処理された画像データに対して所定の符号化処理を行う。
【0038】
システムバス312は、デジタルカメラ102の各構成要素301~305、309~311、313~316を通信可能に接続する。
【0039】
<サーバ装置103の構成>次に、
図4を参照して、本実施形態のサーバ装置103の構成および機能について説明する。
【0040】
制御部401は、サーバ装置103の全体を統括して制御する演算処理装置(CPU)であって、ROM402に格納されたプログラムを実行することで、後述する動作シーケンスを実現する。なお、制御部401が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【0041】
ROM402は、電気的にデータの書き換えが可能なEEPROMなどの不揮発性メモリである。ROM402には、制御部401の動作用の定数、プログラムなどが記録される。ここでいう、プログラムとは、本実施形態にて後述するスマートデバイス101やデジタルカメラ102との通信処理や現像処理を実行するためのプログラムを含む。また、ROM402には、制御部401が実行する基本的なソフトウェアであるOS(オペレーティングシステム)や、このOSと協働して応用的な機能を実現する現像アプリケーションが格納されている。本実施形態のサーバ装置103の処理は、現像アプリケーションにより提供されるソフトウェアを読み込むことにより実現される。なお、現像アプリケーションはサーバ装置103にインストールされたOSの基本的な機能を利用するためのソフトウェアを有しているものとする。なお、サーバ装置103のOSが本実施形態における処理を実現するためのソフトウェアを有していてもよい。
【0042】
RAM403は、制御部401の動作用の定数、変数、ROM402から読み出したプログラムなどを展開する作業領域として使用される揮発性メモリである。
【0043】
記憶部404は、ハードディスクドライブ(HDD)、フラッシュメモリで構成されるソリッドステートドライブ(SSD)、ハードディスクとフラッシュメモリを併用したハイブリッドドライブ、メモリカードなどの記録媒体である。記憶部404はRAW画像データの記録も可能である。
【0044】
BMU405は、例えばメモリ間(例えば、RAM403と他のメモリとの間)や、メモリと各I/Oデバイス(例えば、有線通信部407)間のデータ転送を制御する。
【0045】
現像処理部406は、RAW画像データに対して所定の現像処理を実行可能である。現像処理はソフトウェアおよび/またはハードウェアにより実現される。現像機能はソフトウェアを更新することで処理能力を向上することができる。現像処理はRAW画像データと現像設定情報を用いて行われる。現像設定情報は、現像処理に関する各種のパラメータをまとめた情報であり、現像処理部406がRAW画像データに対して実行する現像処理を示す情報である。
【0046】
有線通信部407は、有線通信により通信ネットワーク105に接続するためのインターフェースである。システムバス408は、サーバ装置の各構成要素401~407を通信可能に接続する。
【0047】
<現像処理シーケンス>次に、
図5を参照して、本実施形態のシステムにおいて、サーバ装置103の現像機能が更新された場合の動作について説明する。
【0048】
図5のシーケンスの前提として、ユーザは、デジタルカメラ102で撮影したRAW画像データをスマートデバイス101に転送済みであるものとする。スマートデバイス101のローカル無線通信部210とデジタルカメラ102のローカル無線通信部210の間の通信により、デジタルカメラ102の記憶部304に記憶されているRAW画像データを、スマートデバイス101に送信する。また、スマートデバイス101ではクラウド現像を利用可能な現像アプリケーションが起動されている。ユーザは、現像アプリケーションのGUIを操作することでクラウド現像機能を利用できる。
【0049】
S501では、スマートデバイス101は、ユーザがクラウド現像の対象とするRAW画像の選択を行ったことをトリガとして処理を開始する。S501では、ユーザは、スマートデバイス101の現像アプリケーション画面に表示されたRAW画像データのサムネイル一覧から所望のサムネイルをタップすることでRAW画像を選択する。
【0050】
S502では、スマートデバイス101は、S501で選択されたRAW画像データをサーバ装置103にアップロードする処理を行う。サーバ装置103との通信プロトコルには、Hyper Text Transport Protocol(HTTP)を用い、データ送信はHTTP PUTメッセージを使用する。制御部201は、BMU205により記憶部204からRAM203にRAW画像データを読み出し、RAW画像データがBodyとなるHTTP PUTメッセージを生成し、RAM203に記憶する。その後、制御部201がBMU205によりHTTP PUTメッセージをRAM203から広域無線通信部211に転送することでRAW画像データが送信される。送信されたデータは、無線基地局104を介して通信ネットワーク105に接続されたサーバ装置103に届けられる。サーバ装置103では、制御部401がBMU405により有線通信部407で受信したデータをRAM403に転送する受信処理を行う。これによりRAW画像データをサーバ装置103にアップロードすることができる。
【0051】
S503では、スマートデバイス101は、ユーザが現像アプリケーションで所望の現像処理のパラメータを調整する指示を受け付ける。ユーザは、現像アプリケーションのGUIを操作することで所望の現像パラメータの設定指示が行える。
【0052】
S504では、スマートデバイス101は、S503で設定された現像パラメータを含む現像設定情報をサーバ装置103に現像依頼として送信する。現像依頼はHTTP POSTメッセージを使用する。制御部201は、ユーザが指定した現像設定情報がBodyとなるHTTP POSTメッセージをRAM203に記憶する。RAM203に記憶されたPOSTメッセージがサーバ装置103に届けられるまでの処理はS502と同じである。
【0053】
S505では、サーバ装置103は、S502で受信したRAW画像データに対し、S504で受信した現像設定情報を用いて現像処理を実行する。制御部401は、BMU405によりRAM403に記憶されているRAW画像データと現像設定情報を、現像処理部406に転送することで現像処理が開始される。現像処理は現像処理部406で実行され、生成したJPEGデータを、BMU405によりRAM403に書き込むことで現像処理は完了する。
【0054】
S506では、サーバ装置103は、現像済みのJPEGデータをスマートデバイス101に返信する。返信処理はS504のHTTP POSTメッセージのレスポンスとして実行される。制御部401は、S505でRAM403に記憶されたJPEGデータをBodyに持つHTTPレスポンスメッセージを生成し、BMU405によりHTTPレスポンスメッセージを有線通信部407に転送する送信処理を行う。送信されたHTTPレスポンスメッセージは、通信ネットワーク105に接続されたサーバ装置103から無線基地局104を介してスマートデバイス101に届けられる。スマートデバイス101では、制御部201がBMU405により広域無線通信部211で受信したデータをRAM203に転送する受信処理を行う。これにより現像済みのJPEGデータをサーバ装置103からスマートデバイス101に送信することができる。
【0055】
S507では、スマートデバイス101は、S506で受信したJPEGデータを表示する処理を行う。制御部201は、BMU205によりRAM203に記憶したJPEGデータをVRAM206に書き込むことで表示部208に表示する。
【0056】
S503からS507の処理により、ユーザは所望の現像パラメータを用いて現像処理を行ったときの現像結果を確認することができる。S503からS507の処理を繰り返すことで、ユーザはRAW画像データを自分の好みに仕上げていくことができる。ユーザが自分の好みに仕上がったと判定した場合、S508でユーザは、スマートデバイス101に対して保存指示を出す。現像アプリケーションのGUIを操作することで保存指示を出すことができる。
【0057】
S509では、スマートデバイス101は、S508で受けた保存指示に従い保存処理を実行する。制御部201は、RAM203に記憶されているJPEGデータを、BMU205により記憶部204に転送し、RAW画像データ、JPEGデータ、それに現像設定情報を関連付けて記憶部204に記憶することで保存処理を行う。
【0058】
以上がクラウド現像を行う場合の基本的な処理である。次に、サーバ装置103において現像機能が更新された場合の処理を説明する。以下の処理はスマートデバイス101のバックグラウンド処理として行われる。
【0059】
S510では、スマートデバイス101は、サーバ装置103の現像機能に対するバージョン確認のリクエストを送信する。リクエストの送信はHTTPのGETメッセージを使用する。制御部201は、現像機能を確認するためのURL(Uniform Resource Locator)に対するHTTP GETメッセージを生成し、RAM203に記憶する。RAM203に記憶したGETメッセージがサーバ装置103に届けられるまでの処理はS502と同じである。
【0060】
S511では、サーバ装置103は、現像機能のバージョン情報をスマートデバイス101に返信する。返信処理はS510のHTTP GETメッセージのレスポンスとして実行される。制御部401は、現像処理部406のソフトウェアのバージョンを確認し、バージョン情報をBodyに持つHTTPレスポンスメッセージを生成し、BMU405によりHTTPレスポンスメッセージを有線通信部407に転送することで送信処理を行う。レスポンスメッセージがスマートデバイス101に届けられるまでの処理はS506と同じである。S511で受信した情報からスマートデバイス101は、サーバ装置103の現像機能のバージョン情報を確認できる。バージョン情報が前回と同じ場合は、特に何もしない。バージョンに変化を確認できた場合は、S512に移行する。また、S510とS511のバージョン確認は、スマートデバイス101がバックグラウンドで行う定期処理である。一例として一日一回行うことが考えられる。これによりサーバ装置103の現像機能の能力を把握できる。
【0061】
S511においてサーバ装置103の現像機能に更新が確認できた場合、S512でスマートデバイス101は、更新情報取得メッセージを送信する。メッセージの送信は、S510と同様にHTTPのGETメッセージを使用する。制御部201は、更新情報を取得するためのURLに対するHTTP GETメッセージを生成し、RAM203に記憶する。RAM203に記憶したGETメッセージがサーバ装置103に届けられるまでの処理はS502と同じである。
【0062】
S513では、サーバ装置103は、更新情報をスマートデバイス101に返信する。返信処理はS512のHTTP GETメッセージのレスポンスとして実行される。制御部401は、現像処理部406の更新情報を確認し、更新情報をBodyに持つHTTPレスポンスメッセージを生成し、BMU405によりHTTPレスポンスメッセージを有線通信部407に転送する送信処理を行う。レスポンスメッセージがスマートデバイス101に届けられるまでの処理はS506と同じである。
【0063】
図6は、本実施形態の更新情報のデータ構成を例示している。更新情報は、現像機能において改善された内容が記載された情報を含む。
図6では、更新情報として、レンズ補正機能(レンズ補正対応)とノイズリダクション機能(ノイズリダクションアルゴリズムの改善)を例示している。レンズ補正機能(レンズ補正対応)は、レンズごとのゆがみ補正である。レンズごとの特性に応じて補正を調整する必要があるため、全てのレンズに対応することは難しい。特に製造が古いレンズに対しては対応が後手に回ることになるため、現像機能の更新として継続的に追加されていくものとなる。ノイズリダクション機能(ノイズリダクションアルゴリズムの改善)は高感度ノイズを抑制するアルゴリズムの改善である。ISO感度を高く設定して撮影されたRAW画像データの現像結果の画質向上に対して効果がある。
【0064】
S514では、スマートデバイス101は、S513で取得した現像機能の更新情報に基づき、記憶部204に記憶されているRAW画像データの中から、更新情報に適合するものを抽出する。本実施形態では、レンズ補正機能とノイズリダクション機能であるため、適合するレンズで撮影されたRAW画像データと、高感度設定で撮影されたRAW画像データを抽出する。特に高感度設定としては、ISO3200以上の設定で撮影された画像を選定する。
【0065】
S515~S519では、スマートデバイス101は、S514で抽出したRAW画像データに対して順次再現像処理を実行する。
【0066】
S515では、スマートデバイス101は、RAW画像データをサーバ装置103にアップロードする、アップロード処理はS502と同じである。
【0067】
S516では、スマートデバイス101は、S515でアップロードしたRAW画像データに関連する現像設定情報をサーバ装置103に送信する。RAW画像データに関連する現像設定情報は、S509の保存処理で関連付けられている。送信処理はS504と同じである。その後、S517におけるサーバ装置103での現像処理と、S518の現像済みのJPEGデータをサーバ装置103からスマートデバイス101に転送する。この処理もS505とS506と同じである。
【0068】
S519では、スマートデバイス101は、JPEGデータの保存処理を行う。保存処理は、記憶部204にRAW画像データと関連付けて記憶されているJPEGデータを置き換える。制御部201は、BMU205によりRAM203に記憶したJPEGデータを、既にJPEGデータが記憶されている領域に上書きする。スマートデバイス101は、S514で抽出したRAW画像データの数だけS515からS519の処理を繰り返す。
【0069】
本実施形態では、サーバ装置103の現像機能の更新に伴い、更新内容に適合したRAW画像データに対して再現像処理を行う動作シーケンスを説明した。これは、サーバ装置103に新たな現像機能が登場したことをトリガとして再現像処理を実行する処理といえる。また、この再現像処理では、再現像するRAW画像データを、サーバ装置103における現像機能の変更点に適合するものだけに限定している。サーバ装置103の現像機能を効率的に利用することで、スマートデバイス101が保有する全てのRAW画像データの現像処理を実行しなくても、必要最低限の現像処理で、最良の現像結果をスマートデバイス101で実現できる。
【0070】
本実施形態では、サーバ装置103における現像機能更新内容として、
図6で説明したレンズ補正機能(レンズ補正対応)とノイズリダクション機能(ノイズリダクションアルゴリズムの改善)を例示したが、これに限定されない。他の現像機能として、「露出補正機能」、「ホワイトバランス調整機能」、「HDR(High Dynamic Range)機能」、「コントラスト調整機能」、「シャープネス調整機能」、「彩度調整機能」などの少なくともいずれかでもよい。
【0071】
また、本実施形態では、再現像するRAW画像データを選定する場合、記憶部304に記憶されている全てのRAW画像データを母集団として、更新内容に適合したRAW画像データを抽出する例を説明したが、これに限らず、母集団を絞る方法もある。例えば、過去に一度でもクラウド現像を行ったことのあるRAW画像データを母集団とする、つまり、過去のRAW現像履歴を考慮し、ユーザが価値のあると考えているRAW現像データを選定し再現像を行うことで、より効率的に再現像を行うことができる。
【0072】
さらに、本実施形態では、
図5のS515の処理においてサーバ装置103にRAW画像データをアップロードする例を説明したが、サーバ装置103の仕様によっては、過去にアップロードしたRAW画像データを保持している可能性も考えられる。よって、そのような場合は、S515におけるRAW画像データのアップロードは行わないようにしてもよい。
【0073】
[実施形態2]次に、実施形態2について説明する。
【0074】
実施形態2では、実施形態1のシステムにおいて、サーバ装置103の現像機能の更新に応じてデジタルカメラ102が保有するRAW画像データをクラウド現像する例を説明する。
【0075】
まず、
図7を参照して、本実施形態のシステム構成について説明する。
【0076】
本実施形態のシステムは、デジタルカメラ102、サーバ装置103、無線基地局104、通信ネットワーク105を含む。
【0077】
ユーザは、デジタルカメラ102を所有している。デジタルカメラ102には、サーバ装置103と通信する機能が搭載されている。デジタルカメラ102は、無線基地局104を介して通信ネットワーク105に接続することによりサーバ装置103と通信可能である。
【0078】
デジタルカメラ102は、サーバ装置103が提供する各種のクラウドサービスを利用できる撮像装置である。本実施形態では、サーバ装置103が提供するクラウドサービスとしてRAW画像データの現像機能(クラウド現像)を想定しており、デジタルカメラ102は、現像アプリケーションを介してサーバ装置103が提供するクラウド現像サービスを利用できる。
【0079】
本実施形態のシステムは、デジタルカメラ102の現像機能をサーバ装置103で代替する例である。デジタルカメラ102は、RAW画像データをサーバ装置103にアップロードし、サーバ装置103は、RAW画像データに現像処理を実行し、現像済み画像データをデジタルカメラ102に返信する。このように、デジタルカメラ102の現像処理をサーバ装置103で実行することで、サーバ装置103の現像機能を更新するだけで常に最新の現像処理をユーザに提供できる。
【0080】
なお、本実施形態におけるデジタルカメラ102とサーバ装置103の構成および機能は実施形態1の
図3と
図4と同様である。
【0081】
次に、
図8を参照して、本実施形態のシステムにおいて、サーバ装置103の現像機能が更新された場合の動作シーケンスを説明する。
図8のシーケンスは、
図5のシーケンスと比較して、サーバ装置103の通信相手がスマートデバイス101からデジタルカメラ102に変更されており、デジタルカメラ102の処理として
図5の処理と同様の処理が存在する。よって、スマートデバイス101の制御部201、ROM202、RAM203、記憶部204、BMU205、広域無線通信部211を、デジタルカメラ102の制御部301、ROM302、RAM303、記憶部304、BMU305、広域無線通信部311に置き換えればよい。
【0082】
S801では、デジタルカメラ102は、ユーザがデジタルカメラ102を操作して撮影を行う。ユーザは、デジタルカメラ102に設けられたシャッターボタンを押すことでデジタルカメラ102に撮影を指示することができる。
【0083】
S802では、デジタルカメラ102は、撮影処理を実行する。デジタルカメラ102は、光学系313を通して入射した光を、撮像部314でデジタル画像データに変換する。撮像部314から読み出した無加工のデータがRAW画像データである。シャッターボタンが押されると、制御部301が撮像部314から読み出したRAW画像データを、BMU305によりRAM303に記憶することで、シャッターボタンが押されたタイミングでのRAW画像データを保持することができる。
【0084】
S803では、デジタルカメラ102は、RAM303に記憶したRAW画像データをサーバ装置103にアップロードする処理を行う。この処理は
図5のS502の処理と同じである。S803でデジタルカメラ102は現像設定情報を送信する。現像設定情報は、デジタルカメラ102が内蔵する現像機能を利用して現像する場合の現像情報である。送信処理は
図5のS504と同じである。
【0085】
S805では、サーバ装置103は、S803で受信したRAW画像データに対し、S804で受信した現像設定情報を用いて現像処理を実行する。この処理は
図5のS505の処理と同じである。
【0086】
S806では、サーバ装置103は、現像済みのJPEGデータをスマートデバイス101に送信する。送信処理は
図5のS506の処理と同じである。これにより、サーバ装置103での現像処理を経て、JPEGデータがデジタルカメラ102に転送される。
【0087】
S807では、デジタルカメラ102は、S802で生成されたRAW画像データ、S803で送信した現像設定情報、S806で受信したJPEGデータを関連付けて記憶する。制御部301は、BMU305によりRAM303に保持されているデータを記憶部204に転送し、RAW画像データ、JPEGデータ、現像設定情報を関連付けて記憶部304に記憶する。
【0088】
S808からS817までの処理は、
図5のS510からS519の処理と同じである。サーバ装置103における現像機能の更新をトリガとして、デジタルカメラ102のRAW画像データから更新内容に適合したRAW画像データに対して再現像を実行する。
【0089】
上述した処理は、サーバ装置103に新たな現像機能が追加されたことをトリガとしてデジタルカメラ102が保有するRAW画像データを再現像する処理である。また、本実施形態では、再現像するRAW画像データを、サーバ装置103における現像機能の変更点に適合するものだけに限定している。サーバ装置103の現像機能を効率的に利用することで、デジタルカメラ102が保有する全てのRAW画像データに現像処理を実行しなくても、必要最低限の現像処理で、最良の現像結果をデジタルカメラ102で実現できる。
【0090】
本実施形態では、サーバ装置103における現像機能更新内容として、
図6で説明したレンズ補正機能(レンズ補正対応)とノイズリダクション機能(ノイズリダクションアルゴリズムの改善)を例示したが、これに限定されない。他の現像機能として、「露出補正機能」、「ホワイトバランス調整機能」、「HDR(High Dynamic Range)機能」、「コントラスト調整機能」、「シャープネス調整機能」、「彩度調整機能」などの少なくともいずれかでもよい。
【0091】
また、本実施形態では、再現像するRAW画像データを選定する場合、記憶部304に記憶されている全てのRAW画像データを母集団として、更新内容に適合したRAW画像データを抽出する例を説明したが、これに限らず、母集団を絞る方法もある。例えば、過去に一度でもクラウド現像を行ったことのあるRAW画像データを母集団とする、つまり、過去のRAW現像履歴を考慮し、ユーザが価値のあると考えているRAW現像データを選定し再現像を行うことで、より効率的に再現像を行うことができる。
【0092】
さらに、本実施形態では、
図8のS813の処理においてサーバ装置103にRAW画像データをアップロードする例を説明したが、サーバ装置103の仕様によっては、過去にアップロードしたRAW画像データを保持している可能性も考えられる。よって、そのような場合は、S813におけるRAW画像データのアップロードは行わないようにしてもよい。
【0093】
[実施形態3]次に、実施形態3について説明する。
【0094】
実施形態3では、実施形態1のシステムにおいて、デジタルカメラ102の通信状態の変化に応じてデジタルカメラ102が保有するRAW画像データをクラウド現像する例を説明する。
【0095】
なお、本実施形態のシステム構成は、実施形態2の
図7と同じである。また、本実施形態のデジタルカメラ102とサーバ装置103の構成は実施形態1の
図3と
図4と同様である。
【0096】
次に、
図9を参照して、本実施形態のシステムにおいて、デジタルカメラ102の通信状態の変化により、デジタルカメラ102が保有するRAW画像データを再現像する場合の動作シーケンスを説明する。
【0097】
S901とS902では、デジタルカメラ102は、ユーザの撮影指示に従い撮影を行う。これらの処理は、
図8のS801とS802と同じである。次に電波状況に応じて処理が分岐する。
【0098】
S903は、デジタルカメラ102の電波状況が悪い場合に行われる処理となる。電波状況については、制御部301が広域無線通信部311の状態を確認することで把握できる。S903では、デジタルカメラ102は、電波状況が悪いため、サーバ装置103を利用したクラウド現像ができない。このため、デジタルカメラ102は、自己の現像機能を用いて現像処理を行う。S901とS902の処理においてRAW画像データの生成までは完了している。制御部301は、BMU305によりRAW画像データを画像処理部315に転送して所望の画像処理を行い、画像処理を施したRAW画像データを符号化部316に転送し、JPEGデータを生成することで現像処理が完了する。また、電波状況が良好だった場合は、サーバ装置103を利用してクラウド現像を行う。この処理は
図8のS803~S806の処理と同じである。
【0099】
その後、S904では、デジタルカメラ102は、S902で生成したRAW画像データ、現像設定情報、JPEGデータを関連付けて記憶する。この処理は、
図8のS807の処理と同じである。ここまでの処理により、デジタルカメラ102での撮影において、デジタルカメラ102の電波状況の違いに応じ、デジタルカメラ102で現像された画像データとクラウド現像された画像データが存在することになる。この場合、クラウド現像は新しい現像機能を利用するのでより好ましい状況といえる。
【0100】
S905以降は、デジタルカメラ102の電波状況が回復した場合の処理である。通信状態が回復したことをトリガとしてS905の処理を開始する。
【0101】
S905では、デジタルカメラ102は、サーバ装置103との通信が可能か否かの確認を行う。ここではHTTPのGETメッセージを使用する。制御部201は、サーバ装置103が管理する所定のURLに対するHTTP GETメッセージを生成し、RAM203に記憶する。RAM203に記憶したGETメッセージがサーバ装置103に届けられるまでの処理は
図8のS808の処理と同じである。
【0102】
S906では、サーバ装置103は、S905のアクセス確認リクエストに対するレスポンスを返信する。制御部401は、S510のHTTP GETメッセージのレスポンスとして実行され、HTTPの単純なレスポンスデータを生成し、BMU405によりHTTPレスポンスメッセージを有線通信部407に転送する送信処理を行う。レスポンスメッセージがデジタルカメラ102に届けられるまでの処理は
図8のS809の処理と同じである。これにより、デジタルカメラ102はサーバ装置103との通信が可能であることが確認できる。
【0103】
S907では、デジタルカメラ102は、記憶部304に記憶されているRAW画像データの中から、電波状況が悪い場合に撮影されたクラウド現像を実施していないRAW画像データの抽出を行う。これはデジタルカメラ102の電波状況により、撮影時にS903の処理が実行されたRAW画像データを抽出することを意味する。
【0104】
その後の処理は、
図8のS813からS817の処理と同じである。抽出したRAW画像データをサーバ装置103に送信することでクラウド現像による再現像処理を順次行う。
【0105】
本実施形態は、電波状況の改善による通信機能の回復により、利用できる現像機能が増えたことをトリガとして再現像処理を実行した処理である。また、本実施形態では、再現像するRAW画像データを、電波状況が悪い時に撮影されたRAW画像データに限定している。サーバ装置103の現像機能を効率的に利用することで、必要最低限の現像処理で、最良の現像結果をデジタルカメラ102で実現できる。
【0106】
[実施形態4]次に、実施形態4について説明する。
【0107】
実施形態4では、スマートデバイス101とデジタルカメラ102が通信するシステムにおいて、通信接続状態の変化に応じてデジタルカメラ102が保有するRAW画像データをスマートデバイス101で現像する例を説明する。
【0108】
なお、本実施形態のスマートデバイス101とデジタルカメラ102の構成および機能は実施形態1の
図2と
図3と同様である。
【0109】
図10は、本実施形態のシステム構成図である。デジタルカメラ102とスマートデバイス101は、BTと無線LANの2種類の無線通信方式を用いて通信が可能である。BTでは、通知などの簡易なメッセージのやり取りを行い、無線LANでは画像データなどサイズの大きなデータのやり取りを行う。スマートデバイス101には、RAW画像データに対する現像処理を実行可能な現像アプリケーションがインストールされており、デジタルカメラ102からRAW画像データを取得することで現像処理を行うことができる。
【0110】
本実施形態のシステムは、デジタルカメラ102の現像機能をスマートデバイス101で代替する例である。デジタルカメラ102は、RAW画像データをスマートデバイス101に転送し、スマートデバイス101は、RAW画像データに現像処理を実行し、現像済み画像データをデジタルカメラ102に返信する。このように、デジタルカメラ102の現像処理をスマートデバイス101で実行することで、スマートデバイス101の現像アプリケーションを更新するだけで常に最新の現像処理をユーザに提供できる。
【0111】
次に、
図11を参照して、本実施形態のシステムにおいて、デジタルカメラ102とスマートデバイス101の間の接続状態の変化に伴う現象処理の切り替える場合の動作シーケンスついて説明する。
【0112】
S1101からS1103は、
図9のS901からS903の処理と同じである。ユーザによりデジタルカメラ102のシャッターボタンが押されたことに応じて撮影を実行し、RAW画像データを生成する。その後、本実施形態では切断状態であればS1103を実行する。切断状態は、BTによるデジタルカメラ102とスマートデバイス101の接続が切れていることを意味している。つまり通知などの基本的なデータのやり取りができない状態を意味する。この場合は、S1103でデジタルカメラ102が有する現像機能を用いて現像処理を実行する。
【0113】
S1104以降は、デジタルカメラ102とスマートデバイス101がBTにより接続状態にある場合の動作である。
【0114】
S1104では、デジタルカメラ102は、スマートデバイス101に対して撮影が実行されたことを通知する。この処理は、制御部301が、撮影通知となるメッセージを生成し、近距離無線通信部309に書き込むことにより実現できる。送信されたデータはBT通信に従い、スマートデバイス101に届けられる。スマートデバイス101では、制御部201が近距離無線通信部209で受信したメッセージをRAM203に書き込む受信処理を行う。これにより撮影通知メッセージをスマートデバイス101に送信することができる。
【0115】
S1105では、スマートデバイス101は、RAW画像取得要求をデジタルカメラ102に送信する。送信されるメッセージは、PTPのコマンド体系で定義された独自のRAW画像取得要求メッセージである。この処理は、制御部201が、RAW画像取得要求のメッセージをローカル無線通信部210に書き込むことで実現できる。送信されたメッセージは無線LANの通信に従い、デジタルカメラ102に届けられる。デジタルカメラ102では、制御部301がローカル無線通信部310で受信したメッセージをRAM303に書き込む受信処理を行う。これによりRAW画像取得要求メッセージをデジタルカメラ102に送信することができる。
【0116】
S1106では、デジタルカメラ102は、S1105のRAW画像取得要求メッセージに対するレスポンスとしてRAW画像データを送信する。制御部301は、BMU305によりRAW画像データを記憶部304からRAM303に転送し、PTPのレスポンス形式となるヘッダーを付与したレスポンスメッセージを生成し、RAM303に記憶する。その後、制御部301は、BMU305によりRAW画像データを含むPTPレスポンスメッセージをローカル無線通信部310に転送する送信処理を行う。送信されたデータは無線LANの通信に従い、スマートデバイス101に届けられる。スマートデバイス101は、制御部201がローカル無線通信部210で受信したRAW画像データを、BMU205によりRAM203に転送する受信処理を行う。
【0117】
S1107では、スマートデバイス101は、S1106で受信したRAW画像データに対して現像処理を実行する。制御部201は、現像処理をソフトウェア処理として実行する。ソフトウェアによる現像処理の結果としてJPEGデータが生成される。
【0118】
S1108では、スマートデバイス101は、S1107で生成したJPEGデータをデジタルカメラ102に転送するための画像送信要求メッセージを送信する。送信処理はS1105と同じである。
【0119】
S1109では、スマートデバイス101は、JPEGデータの送信を行う。制御部201は、S1107でRAM203に記憶したJPEGデータを、BMU205によりローカル無線通信部210に転送する送信処理を行う。送信されたJPEGデータは無線LANの通信に従い、デジタルカメラ102に届けられる。デジタルカメラ102は、制御部301がBMU305によりローカル無線通信部310で受信したJPEGデータをRAM303に転送する受信処理を行う。これにより現像済みのJPEGデータをスマートデバイス101からデジタルカメラ102に送信することができる。
【0120】
S1110とS1111では、スマートデバイス101は、S1107で実行した現像処理で使用した現像設定情報をデジタルカメラ102に送信する。送信されるメッセージは、PTPのコマンド体系で定義された独自の現像設定送信要求メッセージである。この送信処理はS1108とS1109と同じである。
【0121】
S1112では、デジタルカメラ102は、RAW画像データ、現像設定情報、JPEGデータを関連付けて記憶する。この処理は
図8のS807の処理と同じである。これまでの処理により、デジタルカメラ102での撮影において、デジタルカメラ102とスマートデバイス101の接続状態の違いに応じ、デジタルカメラ102で現像された画像データとスマートデバイス101で現像された画像データが存在することになる。この場合、スマートデバイス101による現像処理は新しい現像機能を利用するのでより好ましい状況といえる。
【0122】
S1113以降は、デジタルカメラ102とスマートデバイス101間の接続状態が切断から接続に復帰した際の処理である。通信状態が回復したことをトリガとしてS1113の処理を開始する。
【0123】
S1113では、デジタルカメラ102は、切断中に撮影された画像データが存在することを通知するメッセージを送信する。この処理はS1104の処理と同じである。
【0124】
S1114では、デジタルカメラ102は、記憶部304に記憶されているRAW画像データの中から、スマートデバイス101とのBT接続が切断状態であったときに撮影され、スマートデバイス101での現像処理を実行していないRAW画像データの抽出を行う。これはデジタルカメラ102での撮影時にS1103の処理が実行されたRAW画像データを抽出することを意味する。
【0125】
S1115からS1121では、S1114で抽出したRAW画像データを順次スマートデバイス101に送信し、スマートデバイス101の現像アプリケーションにより現像済みの画像データをデジタルカメラ102に送信する。送信処理はS1105からS1111の処理と同じである。
【0126】
S1122では、デジタルカメラ102は、JPEGデータの保存処理を行う。保存処理は、記憶部304にRAW画像データと関連付けて記憶されているJPEGデータと現像設定情報を置き換える。制御部301は、BMU305によりRAM303に記憶したJPEGデータと現像設定情報を、既にJPEGデータと現像設定情報が記憶されている領域に上書きする。
【0127】
本実施形態は、スマートデバイス101とデジタルカメラ102の接続状態の回復による通信の回復により、利用できる現像機能が増えたことをトリガとして再現像処理を実行する処理である。また、本実施形態では、再現像するRAW画像データを、スマートデバイス101とデジタルカメラ102のBT接続が切断状態のときに撮影されたRAW画像データに限定している。スマートデバイス101の現像機能を効率的に利用することで、必要最低限の現像処理で、最良の現像結果をデジタルカメラ102で実現できる。
【0128】
[実施形態5]次に、実施形態5について説明する。
【0129】
実施形態5では、実施形態4のシステムにおいて、スマートデバイス101で現像処理を行う現像アプリケーションの更新に応じて、デジタルカメラ102が保有するRAW画像データを現像する例を説明する。
【0130】
本実施形態のシステムは、
図1のシステム構成と同じである。また、デジタルカメラ102との通信によりスマートデバイス101が実行する現像処理は
図10と同じである。なお、スマートデバイス101の現像アプリケーションは、サーバ装置103と通信することにより更新可能である。現像アプリケーションを更新することにより、最新の現像機能をスマートデバイス101で実行できる。
【0131】
実施形態5は実施形態4を前提としているため、ユーザがデジタルカメラ102を用いて撮影を行っている場合は、
図11で説明した処理に従うことで、デジタルカメラ102に最良の画像データを提供することができる。
【0132】
それを前提として、S1201では、スマートデバイス101は、現像アプリケーションの更新確認リクエストを送信する。これは現像アプリケーションのバージョンアップの有無を確認することを目的としたメッセージである。この処理は
図5のS510の処理と同じである。
【0133】
S1202では、サーバ装置103は、S1201の更新確認リクエストに対するレスポンスメッセージを返信する。この処理は
図5のS511の処理と同じである。S1202のレスポンスメッセージにより、更新が確認された場合は、S1203の処理を開始する。
【0134】
S1203では、スマートデバイス101は、更新ファイルの取得要求リクエストを送信する。実際の更新ファイルを取得するためのリクエストメッセージである。この処理は、
図5のS510の処理と同じである。
【0135】
S1204では、サーバ装置103は、更新ファイルの送信を行う。S1203のリクエストに対するレスポンスメッセージとして更新ファイルの送信を行う。この処理は、
図5のS511の処理と同じである。
【0136】
S1205では、スマートデバイス101は、S1204で取得した更新ファイルで現像アプリケーションの更新を行う。制御部201は、BMU205によりRAM203に記憶した更新ファイルを記憶部204に転送し、記憶部204に記憶されている現像アプリケーションの実行ファイルを上書きする。
【0137】
S1206では、スマートデバイス101は、デジタルカメラ102に現像アプリケーションに更新があったことを通知する。通知処理はBT通信で行われ、制御部201が近距離無線通信部209に更新通知となるメッセージを転送することにより実現できる。送信されたデータはBT通信に従い、デジタルカメラ102に届けられる。デジタルカメラ102では、制御部301が近距離無線通信部309で受信したメッセージをRAM303に書き込む受信処理を行う。これにより更新通知メッセージをデジタルカメラ102に送信することができる。
【0138】
S1207では、デジタルカメラ102は、更新情報取得リクエストを送信する。リクエストはBT通信で行われる。この処理は、
図11のS1104の処理と同じである。
【0139】
S1208では、スマートデバイス101は、更新情報を含むレスポンスを送信する。更新情報は
図6で説明した情報とする。この処理はS1206の処理と同じである。
【0140】
S1209では、デジタルカメラ102は、S1208で取得した現像機能の更新情報に基づいて、記憶部304に記憶されているRAW画像データの中から、更新情報に適合する画像データを抽出する。本実施形態では、レンズ補正機能とノイズリダクション機能であるため、適合するレンズで撮影されたRAW画像データと、高感度設定で撮影されたRAW画像データを抽出する。高感度設定としては、ISO3200以上の設定で撮影された画像を選定する。
【0141】
S1209でRAW画像データが存在した場合、
図11のS1115からS1122の処理に従い、抽出されたRAW画像データに対する再現像処理を実行する。
【0142】
本実施形態は、スマートデバイス101に新たな現像機能が登場したことをトリガとして再現像処理を実行した処理である。また、本実施形態では、再現像するRAW画像データを、スマートデバイス101の現像アプリケーションの変更点に適合するものだけに限定している。スマートデバイス101の現像機能を効率的に利用することで、デジタルカメラ102が保有する全てのRAW画像データに対する現像処理を実行しなくても、必要最低限の現像処理で、最良の現像結果をデジタルカメラ102で実現できる。
【0143】
本実施形態では、スマートデバイス101における現像機能更新内容として、
図6で説明したレンズ補正機能(レンズ補正対応)およびノイズリダクション機能(ノイズリダクションアルゴリズムの改善)を例示したが、これに限定されない。他の現像機能として、「露出補正機能」、「ホワイトバランス調整機能」、「HDR(High Dynamic Range)機能」、「コントラスト調整機能」、「シャープネス調整機能」、「彩度調整機能」などのうち少なくともいずれかでもよい。
【0144】
また、本実施形態では、再現像するRAW画像データを選定する場合、記憶部に記憶されている全てのRAW画像データを母集団として、更新内容に適合したRAW画像データを抽出する例を説明したが、これに限らず、母集団を絞る方法もある。例えば、過去に一度でもクラウド現像を行ったことのあるRAW画像データを母集団とする、つまり、過去のRAW現像履歴を考慮し、ユーザが価値のあると考えているRAW現像データを選定し再現像を行うことで、より効率的に再現像を行うことができる。
【0145】
さらに、本実施形態では、
図12のS1116の処理においてサーバ装置103にRAW画像データをアップロードする例を説明したが、サーバ装置103の仕様によっては、過去にアップロードしたRAW画像データを保持している可能性も考えられる。よって、そのような場合は、S1116におけるRAW画像データのアップロードは行わないようにしてもよい。
【0146】
[実施形態6]次に、実施形態6について説明する。
【0147】
実施形態6では、実施形態1のシステムにおいて、デジタルカメラ102で撮影した画像データの用途に応じてクラウド現像を行う例を説明する。なお、本実施形態ではデジタルカメラ102は静止画に加えて動画も撮影可能であるものとし、デジタルカメラ102で撮影した動画データの現像処理を実行可能であるものとする。
【0148】
まず、
図13を参照して、本実施形態のデジタルカメラ102の構成および機能について説明する。
【0149】
図13において、構成要素301~305、309~314は
図3と同じである。
【0150】
画像処理部1301は、
図3の画像処理部315の機能に加え、動画撮影時は撮像部314により撮像されたRAW画像形式のフレームデータに対してRAW現像処理を実行可能である。また、後述する復号部1303によりRAW動画データから復号したRAW画像形式のフレームデータについても同様に現像処理を実行することができる。
【0151】
符号化部1302は、
図3の符号化部316の機能に加え、一連のRAW画像形式のフレームデータに対して所定の符号化処理を行い、動画データを生成する。また、符号化部1302は、画像処理部1301により現像処理が実行された一連のフレームデータに対して符号化処理を行い、動画データを生成することもできる。符号化部1302で生成された動画データは記憶部304に記憶することが可能である。
【0152】
本実施形態では、RAW画像形式のフレームデータからなる動画データを「RAW動画データ」、現像処理を施されたフレームデータからなる動画データを「現像済み動画データ」と呼ぶものとする。
【0153】
復号部1303は、記憶部304に記憶されているRAW動画データや現像済み動画データを復号し、動画の各フレームデータを取得する機能を有する。なお、RAW動画データを復号した場合のフレームデータはRAW画像形式のフレームデータとなり、現像済み動画データを復号した場合のフレームデータは現像処理されたフレームデータとなる。
【0154】
表示部1304は、液晶パネルや有機パネルなどを備えるモニタとコントローラを含む。デジタルカメラ102で撮影しているライブビュー映像を表示部1304に表示する場合は、制御部301は、撮像部314から読み出した画像データを画像処理部1301に転送し、現像処理を実行した後に表示部1304に逐次転送するように制御する。また、記憶部304に記憶されているRAW動画データを表示部1304に表示する場合は、制御部301は、記憶部304に記憶されているRAW動画データを復号部1303に転送し、復号されたRAW画像形式のフレームデータを画像処理部1301で現像処理を実行した後に表示部1304に転送するように制御する。さらに、記憶部304に記憶されている現像済み動画データを表示部1304に表示する場合は、制御部301は、記憶部304に記憶されている現像済み動画データを復号部1303に転送し、復号されたRAW現像処理済みのフレームデータを表示部1304に転送するように制御する。
【0155】
映像出力部1305は、図示しない外部ディスプレイ(例えば、モニタ装置やテレビ装置)に動画データを出力する機能を有する。映像出力部1305は、HDMI(登録商標)コネクタやDisplayPort(登録商標)コネクタなどのインターフェースとコントローラなどを含む。デジタルカメラ102で撮影しているライブビュー映像を外部ディスプレイに表示する場合、制御部301は、撮像部314から読み出した画像データを画像処理部1301に転送し、現像処理を実行した後に映像出力部1305に転送するように制御する。また、記憶部304に記憶されているRAW動画データを外部ディスプレイに表示する場合は、制御部301は、記憶部304に記憶されているRAW動画データを復号部1303に転送し、復号されたRAW画像形式のフレームデータを画像処理部1301で現像処理を実行した後に映像出力部1305に転送するように制御する。さらに、記憶部304に記憶されている現像済み動画データを外部ディスプレイに表示する場合、制御部301は、記憶部304に記憶されている現像済み動画データを復号部1303に転送し、復号されたRAW現像処理済みのフレームデータを映像出力部1305に転送するように制御する。
【0156】
次に、
図14を参照して、本実施形態のサーバ装置103の構成および機能について説明する。
【0157】
図14において、制御部401、ROM402、RAM403、記憶部404、BMU405、有線通信部407およびバス408は、
図4と同じである。
【0158】
現像処理部1401は、
図4の現像処理部406の機能に加え、後述の復号部1402で復号されたRAW画像形式のフレームデータの現像処理も行うことができる。
【0159】
復号部1402は、記憶部404に記憶されているRAW動画データや現像済み動画データを復号し、復号された動画データの各フレームデータを取得する機能を有する。なお、RAW動画データを復号した場合のフレームデータはRAW画像形式のフレームデータとなり、現像済み動画データを復号した場合のフレームデータは現像処理が実行されたフレームデータとなる。
【0160】
符号化部1403は、現像処理部1401により現像処理が実行された一連のフレームデータを所定の符号化処理を行い、現像済み動画データを生成し、記憶部404に記憶する。
【0161】
次に、
図15を参照して、本実施形態のシステムにおいて、現像済み動画データの用途に応じた現像処理を行う場合の動作シーケンスについて説明する。
【0162】
S1501~S1505は、デジタルカメラ102においてRAW動画データの撮影を行う場合の動作である。
【0163】
S1501では、デジタルカメラ102は、ユーザから動画撮影を開始する指示を受け付け、動画の撮影を開始する。ユーザは、デジタルカメラ102に設けられた動画撮影の開始/停止ボタンを押すことでは、デジタルカメラ102に動画撮影の開始を指示することができる。
【0164】
S1502~S1504では、デジタルカメラ102は、RAW動画データの撮影と記録を行う。
【0165】
S1502では、制御部301は、光学系313を通して入射した光を、撮像部314でデジタル画像データに変換する。撮像部314から取り出した無加工のデータがRAW画像形式のフレームデータであり、RAM303に記憶される。制御部301は、RAW画像形式のフレームデータがRAM303に所定のフレーム数記憶されるまでS1502を繰り返す。
【0166】
S1503では、制御部301は、S1502においてRAM303に記憶した複数のRAW画像形式のフレームデータを符号化部1302へ転送する。符号化部1302は、転送された複数のRAW画像形式のフレームデータを符号化し、RAW動画データを生成する。符号化部1302は、RAW画像形式のフレームデータをロスレス圧縮したり、MXF(Material eXchange Format)などのコンテナフォーマットに従ったデータ構造を構築したりする。符号化部1302は生成したRAW動画データをRAM303に記憶する。
【0167】
S1504では、制御部301は、S1503において符号化されRAM303に記憶されたRAW動画データを、記憶部304にファイルとして記憶する。この場合、S1501で撮影を開始したRAW動画データが既に記憶部304に記憶されている場合は、当該RAW動画データファイルに対してS1503で生成したRAW動画データを追記する。
【0168】
S1505では、制御部301は、ユーザがデジタルカメラ102に設けられた開始/停止ボタンを再度押すことで動画撮影の停止指示を受け付け、動画の撮影を停止する。
【0169】
S1506~S1526は、記憶部304に記憶されているRAW動画データを使用する場合の動作である。本実施形態では、RAW動画データに対して現像処理を実行した現像済み動画データを、撮影内容のチェックに使用する場合と、納品などの最終データとして使用する場合について説明する。
【0170】
S1506~S1514は、RAW動画データに対してRAW現像処理を施した現像済み動画データを、撮影内容のチェックに使用する場合の動作である。
【0171】
S1506では、制御部301は、ユーザが記憶部304に記憶されているRAW動画データの中から、撮影内容をチェックしたいRAW動画データを選択する指示を受け付ける。制御部301は、記憶部304に記憶されているRAW動画データの情報(例えば、撮影日時、ファイル名、サムネイル画像)を表示部1304に表示し、表示された情報に基づきユーザがデジタルカメラ102に設けられた操作部材などを用いてRAW画像データを選択する。あるいは、制御部301と近距離無線通信部309またはローカル無線通信部310を介して通信可能なスマートデバイス101に対して記憶部304に記憶されているRAW動画データの情報を送信し、スマートデバイス101においてユーザが選択した内容を取得するようにしてもよい。
【0172】
S1507では、制御部301は、ユーザがS1506で選択したRAW動画データに対して現像処理を実行するためのパラメータを選択する指示を受け付ける。選択可能なパラメータは、例えば、カラーLUT(Look UP Table)やノイズリダクション強度である。このパラメータの選択もS1506と同様に、制御部301が表示部1304に選択項目を表示してユーザが選択できるようにしてもよいし、スマートデバイス101のアプリケーション画面に表示するようにデータ通信を行い、スマートデバイス101においてユーザが選択できるようにしてもよい。
【0173】
S1508では、制御部301は、ユーザがS1506で選択したRAW動画データを再生する指示を受け付ける。再生の指示はデジタルカメラ102に設けられた再生ボタンを押すことで実現できる。
【0174】
S1509~S1512では、制御部301は、RAW動画データの再生を行う。
【0175】
S1509では、制御部301は、記憶部304に記憶されているRAW動画データの一部をRAM303に読み込む。S1509において、RAW動画データの読み込み位置をS1509~S1512を繰り返す処理に応じてずらしていくことにより、後述のS1512で出力される映像が順次更新され、動画として視聴できるようになる。
【0176】
S1510では、制御部301は、S1509で読み込んだデータをRAM303から復号部1303に転送する。復号部1303は、このデータを復号することにより1つ以上のRAW画像形式のフレームデータを生成し、生成したRAW画像形式のフレームデータをRAM303に記憶する。
【0177】
S1511~S1512は、S1510でRAM303に記憶した各フレームデータの処理である。
【0178】
S1511では、制御部301は、RAM303に記憶されているRAW画像形式のフレームデータと、S1507で選択されたRAW現像処理のためのパラメータを画像処理部1301に供給し、当該フレームデータのRAW現像処理を行う。画像処理部1301は、RAW現像処理により得られたフレームデータをRAM303に記憶する。
【0179】
S1512では、制御部301は、S1511でRAW現像したフレームデータをRAM303から表示部1304へ転送する。表示部1304は、当該フレームデータに基づいた映像を表示する。あるいは、S1512において、制御部301は、S1511で現像処理が実行されたフレームデータをRAM303から映像出力部1305に転送するように制御してもよい。この場合、映像出力部1305はフレームデータに基づく映像信号を映像出力部1305から出力する。外部ディスプレイは、映像出力部1305から出力された映像信号を受信することにより映像を表示する。
【0180】
上述したS1509~S1512の処理を繰り返すことにより、ユーザはS1506で選択したRAW動画データに対してS1507で指定したパラメータで現像した映像を表示部1304、あるいは、外部ディスプレイにより確認することができる。
【0181】
S1509~S1512の繰り返し処理は、S1509で全てのRAW動画データを読み込む、あるいはユーザ指示(デジタルカメラ102の再生ボタンの押下)により終了する。
【0182】
ユーザは、S1509~S1512の処理により表示部1304あるいは外部ディスプレイに出力される映像を確認する。そして、映像が撮影意図通りの内容(構図、色合いなど)である場合は、S1513において、デジタルカメラ102に設けられた操作部材などを用いて、S1506で選択したRAW画像データがチェック済みであることを設定する。
【0183】
S1514では、制御部301は、S1506で選択されたRAW動画データと、S1507で設定されたRAW現像処理パラメータの組み合わせを記憶部304に記憶する。
【0184】
S1515~S1526は、RAW動画データに対して現像処理を実行した現像済み動画データを納品などの最終データとして使用する処理である。
【0185】
S1515では、制御部301は、ユーザが記憶部304に記憶されているチェック済みのRAW動画データの中から、最終データとして生成したいRAW動画データを選択する指示を受け付ける。
制御部301は、記憶部304に記憶されているチェック済みのRAW動画データの情報(例えば、撮影日時、ファイル名、サムネイル画像)を表示部1304に表示し、ユーザが表示された情報を見てデジタルカメラ102に設けられた操作部材などを用いてRAW画像データを選択する。あるいは、制御部301と近距離無線通信部309またはローカル無線通信部310を介して通信可能なスマートデバイス101に対して記憶部304に記憶されているRAW動画データの情報を送信し、スマートデバイス101がユーザが選択した内容を取得するようにしてもよい。
【0186】
S1516では、制御部301は、ユーザがS1515で選択したRAW動画データの現像処理を開始する指示を受け受ける。この処理もS1515と同様に、制御部301が表示部1304に現像開始ボタンなどを表示してユーザが選択できるようにしてもよい。あるいは、スマートデバイス101のアプリケーション画面に表示するようにデータ通信を行い、スマートデバイス101においてユーザが指示できるようにしてもよい。
【0187】
S1517では、制御部301は、プS1515で選択されたRAW動画データと組み合わせて記憶されている現像処理パラメータを記憶部304から読み出す。現像処理パラメータはS1514で記憶されたものである。
【0188】
S1518では、制御部301は、S1517で読み出した現像処理パラメータを広域無線通信部311を介してサーバ装置103へ送信し、サーバ装置103へRAW動画データの現像処理を要求する。サーバ装置103の制御部401は、有線通信部407を介してデジタルカメラ102から現像処理パラメータおよび現像処理要求を受信すると、記憶部404に記憶する。
【0189】
S1519では、制御部301は、S1515で選択されたRAW動画データをデジタルカメラ102からサーバ装置103へ転送する。この処理は、制御部301が、記憶部304に記憶されているRAW動画データを順次RAM303へ読み込み、当該データを広域無線通信部311を介してサーバ装置103へ送信する処理を繰り返すことで実現される。サーバ装置103では、有線通信部407を介して受信したRAW動画データを記憶部404に記憶する。
【0190】
S1520~S1524では、サーバ装置103において、デジタルカメラ102からの現像処理要求に応じた、RAW動画データの現像処理が行われる。
【0191】
S1520では、制御部401は、記憶部404に記憶されているRAW動画データの一部をRAM403に読み込む。この処理において、RAW動画データの読み込み位置を、S1520~S1524の繰り返し処理に応じてずらすことにより、RAW動画データ全体に対してS1522のRAW現像処理が適用される。
【0192】
S1521では、制御部401は、S1520で読み込んだデータをRAM403から復号部1402に転送する。復号部1402は、このデータを復号することにより1つ以上のRAW画像形式のフレームデータを生成し、生成したRAW画像形式のフレームデータをRAM403に記憶する。
【0193】
S1522は、S1521においてRAM403に記憶したフレームデータに対する処理である。
【0194】
S1522では、制御部401は、RAM403に記憶されたRAW画像形式のフレームデータと、S1518で受信したRAW現像処理のためのパラメータを現像処理部1401に供給し、当該フレームデータのRAW現像処理を行う。現像処理部1401は現像処理により生成されたフレームデータをRAM403に記憶する。
【0195】
S1523では、制御部401は、S1522においてRAM403に記憶された現像済みのフレームデータを符号化部1403へ転送する。符号化部1403では、転送された複数の現像済みのフレームデータを符号化し、現像済み動画データを生成する。符号化部1403は、フレームデータをH.264などのコーデックに従い圧縮し、MP4やMOVなどのコンテナフォーマットに従ったデータ構造を構築する。
【0196】
S1524では、制御部401は、S1523において符号化されRAM403に記憶された現像済み動画データを、記憶部404にファイルとして記憶する。この場合、S1520で読み出したRAW動画データに対応する現像済み動画データが既に記憶部404に記憶されている場合は、当該現像済み動画データファイルに対してS1523で生成した現像済み動画データを追記する。
【0197】
S1519で受信したRAW動画データ全体に対して、S1520~S1524の処理を適用すると、この繰り返し処理は終了する。
【0198】
S1525では、制御部401は、要求された現像処理結果として、S1520~S1524により生成された現像済み動画データをサーバ装置103からデジタルカメラ102へ転送する。この処理は、制御部401が、記憶部404に記憶されている現像済み動画データを順次RAM403へ書き込み、当該データを有線通信部407を介してデジタルカメラ102へ送信する処理を繰り返すことで実現される。
【0199】
S1526では、制御部301は、広域無線通信部311を介して受信した現像済み動画データを記憶部304に記憶する。
【0200】
本実施形態によれば、即時性が求められ、画質の重要性が相対的に低い「撮影内容のチェック」が利用目的である場合は、高速な処理が期待できるデジタルカメラ102での現像処理による現像済み動画データを利用する。一方、画質が重要な最終データを生成することが利用目的である場合は、サーバ装置103に現像処理要求を行い、サーバ装置103が有する最新の現像処理による現像済み動画データを利用する。このように、現像済み動画データの用途に応じて、サーバ装置103に現像処理要求を行うか否かを決定することができる。
【0201】
本実施形態では、サーバ装置103への現像要求を行う場合の現像済み動画データの用途として、最終データを生成する例を示したが、これに限らず、例えば、特定の外部装置へ転送するための現像済み動画データを生成することも考えられる。
【0202】
本実施形態では、動画データを例にして説明したが、これに限らず、静止画データについても同様に、現像済み動画データの用途に応じて、サーバ装置103にRAW画像データの現像を要求するようにしてもよい。
【0203】
[他の実施形態]
本発明は、各実施形態の1以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0204】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0205】
101…スマートデバイス、102…デジタルカメラ、103…サーバ装置、201、301、401…制御部、209、309、409…近距離無線通信部、210、310、410…ローカル無線通信部、211、311、411…広域無線通信部