以下、添付図面を参照して本発明の好適な実施形態について説明する。
本実施形態では、本発明に係る画像処理装置の一適用例として、デジタルカメラを挙げる。なお、本発明に係る画像処理装置は、デジタルカメラやデジタルビデオカメラだけでなく、カメラ機能を備えたスマートフォンやタブレット装置などの各種携帯端末、工業用カメラ、車載カメラ、医療用カメラなどの各種撮像装置にも適用可能である。また、本実施形態では、本発明に係る情報処理装置の一適用例として、タブレット装置を挙げる。なお、本発明に係る情報処理装置は、タブレット装置だけでなく、スマートフォンなどの各種スマートデバイスにも適用可能である。
<デジタルカメラとタブレット装置の概略構成>
図1は、本実施形態のデジタルカメラ(以下、カメラ100Aとする。)とタブレット装置100Bからなる画像処理システムの概略的な全体構成を示す図である。カメラ100Aは、撮像部102A、画像処理部103A、不揮発性メモリ104A、作業用メモリ105A、操作部106A、表示部107A、電源管理部108Aを有する。また、カメラ100Aは、CPU101A、記録媒体109A、無線通信部110A、省電力無線通信部111A、サブCPU112Aを有している。カメラ100Aの各部は、システムバス113Aにより相互に接続されている。タブレット装置100Bは、不揮発性メモリ102B、作業用メモリ103B、操作部104B、表示部105B、電源管理部106B、記録媒体109B、CPU101B、無線通信部107B、省電力無線通信部108Bなどを有する。タブレット装置100Bの各部は、システムバス110Bにより相互に接続されている。
先ず、カメラ100Aについて説明する。
カメラ100AのCPU101Aは、制御プログラムに従って各部を制御する。なお、CPU101Aがカメラ100Aの全体を制御する代わりに、複数のハードウェアが処理を分担して、それらがカメラ100Aの全体を制御してもよい。
撮像部102Aは、例えば、絞り、ズーム及びフォーカス機能を備える光学レンズユニット、撮像素子などを有する。撮像素子は、光学レンズユニットによって撮像面上に結像された光学像に応じた電気信号(アナログ信号)を生成し、さらにそのアナログ信号をA/D変換したデジタル画像信号を出力する。撮像素子としては、例えば、CMOS(Complementary Metal Oxide Semiconductor)又はCCD(Charge Coupled Device Image Sensor)が用いられる。撮像部102Aは、CPU101Aによる制御下で、デジタル画像信号をシステムバス113Aに出力する。
画像処理部103Aは、CPU101Aによる制御の下、作業用メモリ105Aや記録媒体109Aに格納された画像データ、撮像部102Aが出力したデジタル画像信号に対して、各種画像処理を施す。画像処理部103Aが行う画像処理には、RAWデータの現像処理、画像データの符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理、顔検出処理などが含まれる。画像処理部103Aは、特定の画像処理を施すための専用の回路ブロックで構成されていてもよい。また、画像処理の種別によっては、画像処理部103Aを用いずにCPU101Aがプログラムに従って画像処理を施すことも可能である。
ここで、本実施形態のカメラ100Aでは、撮像部102Aから出力されたデジタル画像信号に対し、画像処理部103Aにて可逆圧縮のみを施して作業用メモリ105A或いは記録媒体109Aに送られるデータが、RAWデータとなされている。RAWデータは、撮像部102Aが出力した情報を全て含んでいるため、データサイズは非常に大きい。例えば、撮像部102Aが2000万画素の撮像素子を有している場合、RAWデータは20〜30メガバイトほどになる。
また、画像処理部103Aは、作業用メモリ105A或いは記録媒体109AからRAWデータを読み込み、そのRAWデータに対して現像処理を行い、その現像処理結果の画像データを、作業用メモリ105A或いは記録媒体109Aに出力する。本実施形態の場合、画像処理部103Aは、現像処理結果の画像データとして、例えばJPEGデータを出力可能となされている。つまり本実施形態における現像処理は、RAWデータを例えばJPEGデータに変換する画像変換処理を含む。また、現像処理は、現像パラメータに基づいて行われ、その現像パラメータには、例えばホワイトバランス、シャープネス、ノイズ低減度合、トーンカーブの設定値などが含まれる。なお、JPEGデータのデータサイズは、非可逆圧縮の利用や1ピクセル当たりの階調数の違いなどによりRAWデータと比較してかなり小さくなる。例えば、撮像部102Aが2000万画素の撮像素子を有している場合は、JPEGデータは5メガバイト前後になる。なお、画像処理部103AからのJPEGデータ又はRAWデータを記録媒体109Aに記録する際には、DCF(Design rule for Camera File system)の規格に応じた記録がなされる。
不揮発性メモリ104Aは、電気的に消去及び記録が可能なメモリであり、CPU101Aで実行される制御プログラムなどが格納されている。作業用メモリ105Aは、画像処理部103Aによる画像処理の結果得られたJPEGデータやRAWデータを一時的に記録するバッファメモリとして用いられるとともに、画像表示用メモリ及びCPU101Aの作業領域として用いられる。作業用メモリ105Aは、例えば半導体素子を利用した揮発性のメモリであるDRAMが用いられる。
操作部106Aは、ユーザからの指示を受け付けるために用意されている。操作部106Aには、例えばカメラ100Aの電源をオン又はオフするための電源ボタン、撮像指示を行うためのレリーズスイッチ、画像データの再生を指示するための再生ボタンなどが含まれている。なお、後述する表示部107Aの画面上に形成されたタッチパネルも操作部106Aに含まれる。
表示部107Aには、静止画を撮像するための撮像準備段階におけるいわゆるライブビュー映像や、撮像の結果得られた静止画等が表示される。さらには、表示部107Aには対話的な操作のための文字などが表示される。
電源管理部108Aは、カメラ100Aに電力を供給するためのユニットである。電源管理部108Aは、カメラ100Aの全体に電力を供給する場合だけでなく、後述するサブCPU112A及び省電力無線通信部111Aに限定した電力供給をも可能となされている。また、電源管理部108Aは、サブCPU112Aと省電力無線通信部111Aと作業用メモリ105Aに限定して電力を供給することも可能となされている。
以下の説明では、カメラ100A全体に電力が供給されている状態を「アクティブ状態」と呼び、サブCPU112A及び省電力無線通信部111Aに限定して電力が供給されている状態を「第1省電力状態」と呼ぶ。なお、図1の図中の点線で示す範囲が、第1省電力状態の際に電力が供給される範囲を表している。また、サブCPU112Aと省電力無線通信部111Aと作業用メモリ105Aに限定して電力が供給されている状態を「第2省電力状態」と呼ぶ。第1省電力状態と第2省電力状態では、デジタルカメラ100Aの消費電力が極めて低い状態に保たれる。なお、これらの状態の遷移関係については、図3を用いて後述する。
記録媒体109Aには、画像処理部103Aによる画像処理の結果得られた画像データ(RAWデータ或いはJPEGデータ)が記録される。なお、記録媒体109Aは、カメラ100Aに着脱可能であってもよいし、カメラ100Aに内蔵されていてもよい。
無線通信部110Aは、無線LAN通信を実現するための通信ユニットである。無線通信部110Aは、無線LAN通信のためのアンテナと、無線信号を処理するための通信コントローラとを有して構成され、IEEE802.11a・b・g・n・acの規格に従った無線通信を実現する。無線通信部110Aは、後述する省電力無線通信部111Aよりも高速通信可能となされているが、その一方、電力消費量が大きい。
省電力無線通信部111Aは、無線通信のためのアンテナと、無線信号を処理するため変復調回路及び通信コントローラとを有して構成されている。省電力無線通信部111Aは、無線信号をアンテナから送信し、また、アンテナで受信した無線信号を復調して無線通信を行う。本実施形態では、省電力無線通信部111Aは、IEEE802.15の規格(いわゆるBluetooth(登録商標))に応じた近距離無線通信を行う。また、本実施形態において、Bluetooth通信は、低消費電力であるBluetooth Low Energy(以降、BLEと省略する)のバージョン4.0を用いるものとする。このため、省電力無線通信部111Aは、BLEのPeripheralデバイスとして動作する。なお、Bluetooth通信は、無線通信部110Aによる無線LAN通信と比較すると、通信可能な範囲が狭く(つまり通信可能な距離が短い)通信速度も遅いが、消費電力は少ない。
サブCPU112Aは、省電力無線通信部111Aによる通信の制御と、電源管理部108Aを介してカメラ100Aの第1省電力状態、第2省電力状態の制御とを行う。サブCPU112Aには、その動作に必要な作業用メモリと不揮発性メモリが内蔵されており、したがって、サブCPU112Aは、不揮発性メモリ104A及び作業用メモリ105Aに電力が供給されない省電力状態でも動作可能となされている。また、サブCPU112Aは、カメラ100Aが省電力状態であっても、省電力無線通信部111Aを用いて、外部の情報処理装置の一例であるタブレット装置100Bと通信可能となされている。さらに、サブCPU112Aは、省電力無線通信部111Aによる通信内容に応じて、電源管理部108Aを介してカメラ100Aを省電力状態からアクティブ状態に復帰させることも可能となされている。これらの詳細な説明については後述する。
次に、タブレット装置100Bについて説明する。
タブレット装置100BのCPU101Bは、制御プログラムに従ってタブレット装置100Bの全体を制御する。なお、CPU101Bがタブレット装置100Bの全体を制御する代わりに、複数のハードウェアが処理を分担して、それらがタブレット装置100Bの全体を制御するようにしてもよい。
不揮発性メモリ102Bは、カメラ100Aの不揮発性メモリ104Aと同様のメモリであり、CPU101Bで実行される制御プログラムなどが格納されている。作業用メモリ103Bは、カメラ100Aの作業用メモリ105Aと同様であり、バッファメモリ、画像表示用メモリ、及びCPU101Bの作業領域として用いられる。
操作部104Bは、ユーザからの指示を受け付けるために用意されている。操作部104Bには、例えば、タブレット装置100Bの電源をオン又はオフするための電源ボタン、画面遷移の指示を行うための操作ボタンなどが含まれている。なお、後述する表示部105Bの画面上に形成されたタッチパネルも操作部104Bに含まれる。表示部105Bには、対話的な操作を行うためのグラフィカルユーザインターフェース(GUI)画面が表示される。
無線通信部107Bは、カメラ100Aの無線通信部110Aと同様の機能に加え、ソフトAP機能(いわゆる親機モード)を有する。ソフトAP機能とは、CPU101Bの指示により無線アクセスポイント機能として振舞うことができる機能である。したがって、本実施形態において、ソフトAP機能を有効にすることにより、カメラ100Aの無線通信部110Aが無線通信部107Bに接続可能となり、カメラ100Aとタブレット装置100Bが直接無線通信を行うことができる。
省電力無線通信部108Bは、カメラ100Aの省電力無線通信部111Aと同様のデバイスである。ただし、カメラ100Aの省電力無線通信部111AがいわゆるBLE Peripheralデバイスとして動作するのに対し、タブレット装置100Bの省電力無線通信部108Bは、いわゆるBLE Centralデバイスとして動作する。
記録媒体109Bには、外部の画像処理装置であるカメラ100Aから、無線通信部107Bや省電力無線通信部108Bを介して受信した各種データが記録される。また、記録媒体109Bには、CPU101Bが生成したデータも同様に記録される場合もある。なお、記録媒体109Bは、タブレット装置100Bに着脱可能であるが、タブレット装置100Bに内蔵されていてもよい。
電源管理部106Bは、タブレット装置100Bの各部に電力を供給するためのユニットである。
図2(a)は、本実施形態のカメラ100Aの概略的な筐体外観例を示す図である。図2(a)はカメラ100Aの筐体外観のうち、図1の表示部107Aのディスプレイが配されている背面側の筐体外観を示している。
図2(a)に示すように、本実施形態のカメラ100Aの筐体背面側には、図1の表示部107Aの液晶表示装置(LCD)のディスプレイ205が配されている。ディスプレイ205は、例えば撮影開始前のプレビュー画像による撮影構図の決定の際や、カメラ100Aを操作するための操作メニューの表示、撮影した画像データを再生して表示したりする際に使用される。
電源ボタン201は、ユーザがカメラ100Aの電源をオン/オフする際(電源状態を変化させる際)に操作される。リンクボタン204は、ユーザがカメラ100Aの省電力無線通信部111Aとタブレット装置100Bの省電力無線通信部108Bとの間の省電力無線通信を開始させる際に操作される。レリーズスイッチ202は、ユーザが撮像開始の指示を入力する際に操作される。その他のボタン群203は、ユーザがカメラ100Aに対し、例えば各種メニュー項目の選択、再生の開始などを指示する際に操作される。また、ディスプレイ205には、タッチパネルが設けられている。ユーザは、ディスプレイ205の画面上の表示を見ながら、タッチパネルを操作することで各種指示を入力できる。これら電源ボタン201、リンクボタン204、ボタン群203、タッチパネルは、図1の操作部106Aに含まれている。
図2(b)は本実施形態のタブレット装置100Bの概略的な筐体外観例を表す図であり、タブレット装置100Bの筐体外観のうち、図1の表示部105Bのディスプレイが配されている正面側の筐体外観を示している。
図2(b)に示すように、タブレット装置100Bの筐体正面側には、図2の表示部105BのLCD等のディスプレイ207が配されている。ディスプレイ207には、タッチパネルが設けられており、ユーザは、ディスプレイ207の画面上の表示を見ながら、タッチパネルを操作することで各種指示等を入力できる。
また、タブレット装置100Bの筐体正面側には、ボタン群206も設けられている。タブレット装置100Bは、これらのボタン群206に対するユーザ操作に応じて、ディスプレイ207の画面へのメニュー表示やアプリケーションの切り替え処理を行う。これらボタン群206、タッチパネルは、図1の操作部104Bに含まれている。
図3は、本実施形態のカメラ100Aの電源状態とそれらの関係を説明するための状態遷移図である。
本実施形態のカメラ100Aは、電源状態として、ステートS0〜S3の四つの状態を有する。ステートS0は電源OFF状態であり、カメラ100Aの各部に電力が供給されていない状態である。このステートS0において電源ボタン201が押下されると、カメラ100Aの電源状態はステートS3へ遷移する。一方、ステートS0においてリンクボタン204が押下されると、カメラ100Aの電源状態はステートS1に遷移する。
ステートS1は第1省電力状態であり、カメラ100AのサブCPU112A及び省電力無線通信部111Aに限定して電力が供給されている状態である。ステートS1において、電源ボタン201が押下された場合、カメラ100Aの電源状態は、ステートS1の第1の省電力状態が解除されて、ステートS3に遷移する。また、ステートS1において省電力無線通信部111AがBLEにより特定のデータを受信した場合にも、カメラ100Aの電源状態はステートS3に遷移する。なお、本実施形態の場合、このときの特定のデータは、例えば後述するユニークID等の識別情報となされている。一方、ステートS1においてリンクボタン204が押下された場合、カメラ100Aの電源状態はステートS0へ遷移する。
ステートS2は第2省電力状態であり、カメラ100AのサブCPU112Aと省電力無線通信部111Aと作業用メモリ105Aに限定して電力が供給されている状態である。ステートS2では、作業用メモリ105Aはその記憶内容を保持する記憶保持動作モード(セルフリフレッシュモード)となされ、読み書きはできないものの、メモリの内容を喪失することがないとする。ステートS2において、電源ボタン201が押下された場合、カメラ100Aの電源状態は、ステートS2の第2の省電力状態が解除されて、ステートS3に遷移する。また、ステートS2において省電力無線通信部111AがBLEにより特定のデータを受信した場合にも、カメラ100Aの電源状態はステートS3に遷移する。なお、本実施形態の場合、このときの特定のデータは、例えば後述するようにタブレット装置100Bにて設定された現像パラメータの情報となされている。なお、ステートS2からステートS3に遷移する際には、作業用メモリ105Aの動作モードは通常のモードに変更され、作業用メモリ105Aの内容を読み書きできるようにするものとする。
ステートS3はアクティブ状態であり、通信のため以外にも電力供給が行われる状態、つまりカメラ100Aの全体に対して電力が供給されている状態である。ステートS3において、電源ボタン201が押下された場合、カメラ100Aの電源状態はステートS0に遷移する。また、ステートS3において、カメラ100Aの電源状態は、CPU101Aの動作状況により、ステートS1或いはステートS2に遷移する。この動作については後述の図10のフローチャートを用いて説明する。
図4(a)と図4(b)は、カメラ100Aの記録媒体109Aに記録されるデータ(ファイル)とそのデータの中身を模式的に表した図である。
図4(a)は、記録媒体109A内のファイルのディレクトリ構成を説明するための図である。記録媒体109Aには、RAWデータの各ファイル(RAWファイル401)が複数記録されている。また、記録媒体109Aには、各RAWファイル401とともに、それら記録されているRAWデータを管理するためのデータベースファイル402が記録されている。なお、これらのファイルのファイル名や配置はいわゆるDCF規格に準じているとする。
図4(b)は、データベースファイル402の内容を説明するための図である。
カメラ100Aは、撮像部102Aにより撮像がなされ、画像処理部103Aの画像処理で得られた画像データ(RAWデータ或いはJPEGデータ)に対して、その画像データを一意に特定する識別情報であるユニークID403を付与する。そして、カメラ100Aは、その画像データを記録媒体109A内にファイルとして記録した場所(ローカルパス404)とユニークIDとをペアにしてデータベースファイル402に記録する。ここで、ユニークID403は、各画像データに対して付与された128ビットの識別子である。各画像データにはそれぞれ異なるユニークID403が付与されているため、それらユニークID403を用いることでそれぞれの画像データの特定が可能となる。なお、本実施形態ではユニークID403には、いわゆるUUID(Univerally Unique Identifier)を用いる。
図5は、画像処理部103Aが生成するRAWデータのファイルの構造を説明するための図である。
RAWデータ500は、メタ情報501とプレビュー用JPEGデータ502とSRAWデータ503とセンサーデータ504の4つのブロックに分かれている。
メタ情報501は、いわゆるExif形式にしたがって構成され、撮影を行ったカメラの情報、撮影時のカメラの設定情報、ユニークIDなどの情報を有する。また、メタ情報501は、画素数の少ないサムネイル表示用のJPEGデータ505や、RAWデータを現像するためのデフォルト(標準)の現像パラメータ506をも含んでいる。
プレビュー用JPEGデータ502は、後述するセンサーデータ504をデフォルトの現像パラメータ506で現像処理して生成したJPEGデータである。このようにRAWデータに対しても、予め現像済みのJPEGデータが付加されている。これにより、RAWデータを取り扱う機器は、プレビュー用JPEGデータ502を用いることで、RAWデータを現像することなく、RAWデータの画像の内容を表示等することができる。
SRAWデータ503は、RAWデータ500を容易に処理可能とするための、軽量化されたRAWデータである。具体的には、メタ情報507と縮小版プレビュー用JPEGデータ508と縮小版センサーデータ509とから構成されるデータである。SRAWデータ503におけるメタ情報507とデータ508,509の詳細については後述する。
センサーデータ504は、撮影時に撮像部102Aが出力するデジタル画像信号をデータ化したものである。センサーデータ504は、画像データではあるが、撮像素子のフィルタ構成が一般的なRGB配列ではない構造であったり、各色のビット数がJPEGデータのビット数と異なったりするため、そのままでは画像として用いることはできないデータである。また、センサーデータ504は、撮像素子が出力する全情報を含むため、データサイズが非常に大きくなる。
SRAWデータ503に含まれるメタ情報507は、メタ情報501と概ね同じ内容の情報である。ただし、SRAWデータ503にはセンサーデータ504を縮小化した縮小版センサーデータ509が含まれているため、メタ情報507内の画素数などの情報は、その縮小化に応じて値が調整された情報となされている。なお、メタ情報507に含まれるサムネイル用JPEGデータ510とデフォルトの現像パラメータ511は、それぞれ前述したサムネイル用JPEGデータ505と現像パラメータ506と同一のものである。
縮小版プレビュー用JPEGデータ508は、後述する縮小版センサーデータ509をデフォルトの現像パラメータ511(506)に従って現像して生成されたJPEGデータである。
縮小版センサーデータ509は、センサーデータ504の画素数を減らし縮小化したデータである。センサーデータ504の縮小化は、例えばセンサーデータ504に対する間引き処理により実現してもよいし、センサーデータ504に対して簡単なフィルタ処理を適用することで実現してもよい。
ここで、SRAWデータ503は、前述したような縮小版センサーデータ509や現像パラメータ511、縮小版プレビュー用JPEGデータ508を有している。このため、これを考慮すると、RAWデータ500からSRAWデータ503を取り出し、そのSRAWデータ503の現像処理を行えば、RAWデータ500の現像処理を行った場合と概ね同じ現像処理結果を得ることができることになる。ただし、SRAWデータ503は、RAWデータ500よりも画素数が大幅に少ないデータであるため、RAWデータ500の現像処理を行う場合と比較して、このSRAWデータ503の現像処理は短時間に完了させることができる。そのため、このSRAWデータ503は現像パラメータ506の検討や調整に用いるようにし、最終的な仕上げ(最終版のJPEGデータの取得)の際にはRAWデータ500を用いた現像処理等を行う、というようなデータの使い分けが可能となる。
図6は、タブレット装置100Bの記録媒体109Bに格納されているファイルを説明するための図である。
タブレット装置100Bにおいて、記録媒体109Bは、不揮発性メモリ102B上に形成されたファイルシステムのsdcardディレクトリ601にマウントされ、CPU101Bによる認識が可能となされている。記録媒体109B内には、RAWファイル602が複数記録されている。本実施形態の場合、タブレット装置100Bの記録媒体109Bに格納されているRAWファイル602は、前述したようなSRAWデータ503に基づくデータ形式となされている。すなわち、本実施形態において、タブレット装置100Bの記録媒体109Bには、カメラ100Aの記録媒体109Aに格納されているSRAWデータ503と対応したRAWファイル602が格納されているとする。より具体的に説明すると、例えば図6中の「IMG_0001_S.RAW」として表されているRAWファイル602は、図4(a)中の「IMG_0001.RAW」で表されているRAWファイル401のSRAWデータであるとする。同様に、図6の「IMG_0002_S.RAW」は図4(a)の「IMG_0002.RAW」のSRAWデータ、図6の「IMG_0003_S.RAW」は図4(a)の「IMG_0003.RAW」のSRAWデータであるとする。図6の「IMG_0004_S.RAW」、「IMG_0005_S.RAW」も同様に、図4(a)の「IMG_0004.RAW」、「IMG_0005.RAW」のそれぞれSRAWデータであるとする。
なお、これらのSRAWデータに基づくファイルは、事前にカメラ100Aからタブレット装置100Bに転送されたものであるとする。すなわち、この転送処理は、例えば事前に無線通信部110A及び無線通信部107B間で行われているものとし、その詳細な説明については省略する。
図7(a)〜図7(e)は、タブレット装置100BがRAW現像アプリケーションを実行することで表示部105Bに表示されるGUIを説明するための図である。
図7(a)は画像選択画面のGUI例であり、エリア701、各ボタン702〜705を表すアイコンが表示される。エリア701は、記録媒体109Bに格納されている図6に示したようなSRAWデータのサムネイル画像が表示される領域である。すなわち、エリア701には、RAWファイル602のSRAWデータのサムネイル用JPEGデータ(510)に基づくサムネイル画像が表示される。
また、GUI画面上部には、ユーザによる操作入力が可能な各ボタン702〜705のアイコンが表示される。例えば、ユーザによりボタン702が選択された場合、タブレット装置100Bは、RAW現像アプリケーションを終了する。例えば、ユーザによりボタン703が選択された場合、タブレット装置100Bは、選択中のサムネイル画像に対応するSRAWデータのRAW現像パラメータ処理画面に遷移する。RAW現像パラメータ処理画面は、例えば図7(b)に示すようなGUI画面となされている。また例えば、図7(a)のボタン704がユーザにより選択された場合、タブレット装置100Bは、選択中のサムネイル画像に対応するSRAWデータを削除する。なお、ボタン705は、ユーザが各種メニューの設定等を行う際に操作されるメニューボタンである。それら各種メニューの説明は省略する。また、詳細は後述するが、図7(a)の画像選択画面でボタン703が選択されてRAW現像パラメータ処理画面に遷移する際、タブレット装置100Bは、この時点で選択されている画像に対応したユニークIDを、カメラ100Aに通知するようになされている。
図7(b)に示したRAW現像パラメータ設定画面には、エリア707、ボタン708〜711のアイコン、スライダー・グラフ・タブ706のアイコンなどが表示される。ユーザは、ボタン708〜711の選択を行うことができ、また、スライダー・グラフ・タブ706に対するスライド操作により現像パラメータの各種設定や変更等を行うことができる。エリア707は、プレビュー画像を表示するための領域であり、選択中のSRAWデータを、スライダー・グラフ・タブ706で設定された現像パラメータを用いて現像処理した結果(JPEGデータ)の画像が表示される。なお、プレビュー画像の際に現像処理されるSRAWデータは、前述したカメラ100AのRAWデータ500より画素数が大幅に少ないデータである。このため、その現像処理は短時間に完了させることができ、したがって、プレビュー画像の更新も比較的短時間に行うことができる。
図7(b)の各ボタン708〜711は、GUI画面上部に配されており、例えばボタン708がユーザにより選択された場合、タブレット装置100Bは、RAW現像パラメータ設定画面を終了して、図7(a)の画像選択画面に遷移する。また例えば、ボタン709がユーザにより選択された場合、タブレット装置100Bは、直前にスライダー・グラフ・タブ706で行われたRAW現像パラメータの設定操作を取り消す。また例えば、ボタン710がユーザにより選択された場合、タブレット装置100Bは、現在のRAW現像パラメータに基づくRAW現像処理を行った後、図7(c)のRAW現像結果画面に遷移する。なお、ボタン711は、ユーザが各種メニューの設定等を行う際に操作されるメニューボタンである。それら各種メニューの説明は省略する。
図7(c)は、RAW現像結果を表示する画面である。タブレット装置100Bは、図7(b)の画面のボタン710がユーザにより選択された場合、図7(c)のRAW現像結果の表示画面に遷移する。ユーザは、RAW現像結果の表示画面においてRAW現像結果の画像を見ることで、RAW現像結果が想定通りの仕上がりか否かを確認することができる。ここで、本実施形態の場合、詳細は後述するが、図7(c)の画面上に表示されるRAW現像結果の画像は、カメラ100AにおいてRAWデータが現像処理された結果の画像となされる。タブレット装置100Bは、例えば操作部104Bを介してユーザから拡大表示の指示や表示位置の選択・変更指示が入力された場合には、そのユーザ指示に応じて、図7(c)に表示されている画像の拡大表示や表示位置の変更などを行う。
また、図7(c)のGUI画面には、RAW現像結果の画像とともに、ボタン712と713のアイコンが表示される。例えばボタン712がユーザにより選択された場合、タブレット装置100Bは、RAW現像結果を破棄して図7(b)のRAW現像パラメータ設定画面に遷移する。また例えば、ボタン713がユーザにより選択された場合、タブレット装置100Bは、RAW現像結果のJPEGデータを、記録媒体109Bに記録した後、図7(a)の画像選択画面に遷移する。
なお、図7(d)と図7(e)の詳細については後述する。
<動作説明>
以下、本実施形態のカメラ100Aとタブレット装置100Bの間の動作を、図8〜図10を用いて説明する。先ず図8を用いて動作概要を説明し、次に図9と図10を用いてタブレット装置100Bとカメラ100Aの動作をそれぞれ詳細に説明する。
図8は、タブレット装置100Bにおける現像処理の際の、タブレット装置100B、カメラ100A及び記録媒体109Aの動作の相互関係を説明するためのシーケンス図である。なお、図8の例において、カメラ100Aは、事前にユーザにより前述したリンクボタン204が押下されたことで、電源状態がステートS1(第1省電力状態)になっているとする。
図8において、タブレット装置100Bは、ユーザにより操作部104Bが操作されてRAW現像アプリケーション起動の指示が入力されたことを検知すると、ステップS801において、RAW現像アプリケーションを起動する。これにより、タブレット装置100Bの表示部105Bには、図7(a)に示したようなGUI画面が表示される。
タブレット装置100Bは、更にユーザにより操作部104Bが操作され、ステップS802において現像対象の画像が選択されたことを検知すると、図7(b)で説明したRAW現像パラメータ設定画面を、表示部105Bに表示させる。ここで、RAW現像パラメータ設定画面においてプレビュー画像として表示される画像は、前述したように、記録媒体109Bに格納されている画像データ(すなわちSRAWデータ)に基づく画像となる。
また、タブレット装置100Bは、ステップS802で現像対象の画像の選択がなされたときには、その選択された画像のユニークIDを、ステップS803において、省電力無線通信部108Bを介してカメラ100Aに通知する。
その後、タブレット装置100Bは、ステップS804において、図7(b)に示したRAW現像パラメータ設定画面のGUIにより、ユーザからの各種現像パラメータの設定指示の入力を可能な状態となる。そして、タブレット装置100Bは、ステップS804において、現像パラメータの設定が変更されると、その都度、その変更された現像パラメータでSRAWデータを現像して、図7(b)のエリア707に表示するプレビュー画像を更新する。これにより、ユーザは、エリア707のプレビュー画像が満足いく仕上がりになるように、繰り返し現像パラメータを修正することが可能となる。
一方、前述のステップS803でタブレット装置100Bが送信したユニークIDの通知を受け取ったカメラ100Aは、ステップS805において、電源状態をステートS1(第1省電力状態)からステートS3(アクティブ状態)に遷移させる。
電源状態をステートS3(アクティブ状態)に遷移させたカメラ100Aは、タブレット装置100Bから通知されたユニークIDに対応するRAWデータを、ステップS806において、記録媒体109Aの中から検索する。そして、カメラ100Aは、ステップS807において、その検索で見つけたRAWデータを、記録媒体109Aから読み出して、作業用メモリ105Aへ転送する。なお、記録媒体109Aから読み出されるRAWデータは、縮小されていないRAWデータであるため、データサイズが大きく、そのデータの読み込みには、例えば数秒程度のある程度長い時間がかかることが多い。ただし、本実施形態の場合、カメラ100Aで記録媒体109AからRAWデータの読み込みがなされている際、タブレット装置100Bでは、ステップS804による現像パラメータの設定等が行われていることになる。すなわち、このときのユーザは現像パラメータの設定作業等を行っているため、カメラ100Aで作業用メモリ105AへのRAWデータの読み込みにある程度長い時間が必要であったとしても、その時間がユーザにとって待ち時間として認識されることはない。
その後、カメラ100Aは、ステップS808で記録媒体109Aから作業用メモリ105Aへのデータの転送(読み込み)が完了すると、ステップS809において、電源状態をステートS3(アクティブ状態)からステートS2(第2省電力状態)に遷移させる。ステートS2である第2省電力状態は、前述したように、サブCPU112A及び省電力無線通信部111Aに加えて作業用メモリ105Aにも電力が供給されている状態であるため、作業用メモリ105Aに記憶されたデータは消えることなく保持される。
ここで、タブレット装置100Bは、前述のステップS804における現像パラメータの調整等が終わり、例えばユーザにより操作部104Bが操作されて現像パラメータの決定と現像開始の指示が入力されたことを、ステップS810において検出したとする。このとき、タブレット装置100Bは、ステップS811において、カメラ100Aに対してRAW現像開始要求と現像パラメータを通知する。なお、本実施形態の場合、この時点のカメラ100Aは、前述のようにステートS2の状態になっているため、例えば省電力無線通信部108Bを介してRAW現像開始要求を送ってカメラ100Aの電源状態をステートS2からステートS3に遷移させる。その後、ステートS3のカメラ100Aに対し、無線通信部107Bを介して現像パラメータを送信する。
タブレット装置100BからRAW現像開始要求を受信した場合、カメラ100Aは、ステップS812において、電源状態をステートS2(第2省電力状態)からステートS3(アクティブ状態)に遷移させる。その後、ステートS3のカメラ100Aは、タブレット装置100Bから無線通信部107Bを介して現像パラメータを受信することになる。そして、カメラ100Aは、ステップS806〜S808で作業用メモリ105Aに既に読み込まれているRAWデータを、ステップS813において、タブレット装置100Bから受信した現像パラメータを用いて現像処理して、JPEGデータを生成する。すなわち、本実施形態の場合、カメラ100Aでは、ステップS810でユーザが現像パラメータの決定と現像開始の指示が入力されて現像パラメータ等の通知を受けた後直ぐに、ステップS813による現像処理が行われることになる。
カメラ100Aは、ステップS813での現像処理によるJPEGデータの生成が完了すると、ステップS814において、現像結果であるJPEGデータを、無線通信部110Aを介してタブレット装置100Bに送信する。そして、カメラ100Aは、JPEGデータの送信が完了すると、ステップS815において、電源状態をステートS3(アクティブ状態)からステートS1(第1省電力状態)に遷移させる。
一方、カメラ100Aから現像結果となるJPEGデータを受信したタブレット装置100Bは、ステップS816において、そのJPEGデータを、図7(c)で説明したように表示部105Bの画面上に表示させる。したがって、ユーザは、その画面表示を見ることにより、現像結果を詳細に確認することができる。すなわち、ユーザは、ステップS810で現像パラメータの決定と現像開始の指示を入力した後、殆ど待つことなく、直ぐに現像結果の画像を確認することが可能となる。
図8で説明したタブレット装置100Bとデジタルカメラ100Aの動作について、図9と図10のフローチャートを用いて詳細に説明する。ここでは、説明の都合上、先にタブレット装置100Bの動作を説明し、次にカメラ100Aの動作を説明する。このときのカメラ100Aとタブレット装置100Bは、省電力通信部の通信に関して既にペアリングがなされているものとする。ペアリングとは、それら装置(本実施形態の場合はカメラ100Aとタブレット装置100B)が相互に通信可能であるように認証された状態になることである。この場合、カメラ100AのサブCPU112Aに内蔵された不揮発性メモリには、タブレット装置100Bの省電力無線通信部108BのID(識別情報)であるCentralIDが書き込まれた状態となる。また、タブレット装置100Bの不揮発性メモリ102Bには、カメラ100Aの省電力無線通信部111AのIDであるPeripheralIDが書き込まれた状態となる。
図9は、タブレット装置100Bの動作を詳細に説明するためのフローチャートである。
図9のフローチャートにおいて、ステップS901では、タブレット装置100BのCPU101Bは、不揮発性メモリ102Bにペアリング済みのBLEデバイスのPeripheralID情報が1つ以上保存されているか否かを判定する。CPU101Bは、ステップS901でPeripheralID情報が存在しないと判定した場合には、ステップS902へ進む。ステップS902では、CPU101Bは、図7(d)に示すようなエラーメッセージを表示部105Bに表示させた後、図9のフローチャートの処理を終了する。一方、CPU101Bは、ステップS902においてPeripheralID情報が存在すると判定した場合には、ステップS903の処理に進む。
ステップS903では、CPU101Bは、図7(a)に示したGUI画面を表示部105Bに表示させる。またこの時、CPU101Bは、図7(a)のGUI画面内のサムネイル画像のエリア701には、記録媒体109Bに格納されているSRAWデータに基づくサムネイル画像を表示させる。ステップS903の後、CPU101Bは、ステップS904の処理に進む。
ステップS904では、CPU101Bは、操作部104Bからのユーザ指示入力を監視し、エリア701内のサムネイル画像の何れかが選択されるのを待つ。そして、CPU101Bは、ステップS804において何れかのサムネイル画像が選択された場合には、ステップS905の処理に進む。
ステップS905では、CPU101Bは、ステップS904で選択されたサムネイル画像に対応したSRAWデータを、記録媒体109B内のSRAWデータから検索することにより、そのサムネイル画像のユニークIDを取得する。ステップS905の後、CPU101Bは、ステップS906の処理に進む。
ステップS906では、CPU101Bは、省電力無線通信部108BによりBLE PeripheralからAdvertise(ネットワークを管理するのに必要な情報)を受信したか否かを判定する。CPU101Bは、ステップS906において、Advertiseを受信したと判定した場合には、ステップS907の処理に進む。一方、CPU101Bは、ステップS906において、Advertiseを受信しなかったと判定した場合には、ステップS906の処理を繰り返す。
ステップS907では、CPU101Bは、ステップS906において受信したAdvertiseが、RAW現像サービスを含むか否かを判定する。RAW現像サービスとは、カメラ100AがRAW現像処理を受け付ける機能に相当し、AdvertiseがRAW現像サービスを含む場合、カメラ100AがRAW現像処理を受け付け可能になっていることを表す。なお、ここで受信するRAW現像サービスのAdvertiseは、後述する図10に示すステップS1002の処理において、カメラ100Aより送信されるAdvertiseに対応することになる。CPU101Bは、ステップS907において、AdvertiseがRAW現像サービスを含まないと判定した場合には、ステップS906の処理に戻る。一方、CPU101Bは、ステップS907において、AdvertiseがRAW現像サービスを含むと判定した場合には、ステップS908の処理に進む。
ステップS908では、CPU101Bは、ステップS906とステップS907の処理によって検出したBLE Peripheralに対して、ステップS904において選択された画像に関する情報を通知する。このとき通知される情報には少なくともステップS905で取得したユニークIDが含まれる。例えば、CPU101Bは、BLEのGATTプロファイルによってRAW現像サービスの情報の書き込み処理を行う。RAW現像サービスには、選択されたRAWデータを表すユニークID特性が含まれている。ステップS908の後、CPU101Bは、ステップS909の処理に進む。
ステップS909では、CPU101Bは、省電力無線通信部108Bが、ステップS908での書き込みに対する結果をカメラ100Aから受信するのを待つ。CPU101Bは、ステップS909において、カメラ100Aで記録媒体109Aから作業用メモリ105AへのRAWデータの読み込みが開始されたことを表す「先読み開始」の情報を受信したならばステップS910の処理に進む。一方、CPU101Bは、ステップS909において、ユニークIDに対応するRAWデータをカメラ100Aが読み込めなかったことを表す「エラー」の情報を受信したならば、ステップS911の処理に進む。なお、「先読み開始」の情報は後述する図10のステップS1007によりカメラ100Aから通知され、「エラー」の情報は後述する図10のステップS1010によりカメラ100Aから通知される。
ステップS910では、CPU101Bは、図7(b)に示したRAW現像パラメータを設定するためのGUIを、表示部105Bに表示させた後、ステップS912の処理に進む。一方、ステップS911では、CPU101Bは、図7(e)に示すようなエラーメッセージを、表示部105Bに表示させた後、ステップS903に戻る。なお、ステップS911でカメラ100Aから通知されるエラーの情報は、ユニークIDに対応するRAWデータをカメラ100Aが読み込めなかったことを表す情報であるが、ユーザに対しては図7(e)のようなエラーメッセージが通知される。
ステップS912では、CPU101Bは、操作部104Bを監視し、図7(b)のGUIを表示している状態でユーザ操作が行われるのを待つ。CPU101Bは、ステップS912において、操作部104Bを介してユーザによりスライダー・グラフ・タブ706が操作されてRAW現像パラメータの設定等が行われる場合にはステップS913の処理に進む。また、CPU101Bは、ステップS912において、ユーザによりボタン710が選択されて現像開始の指示が入力された場合にはステップS915の処理に進む。また、CPU101Bは、ユーザによりボタン708が選択されてキャンセル指示が入力された場合にはステップS923の処理に進む。
ステップS913では、CPU101Bは、ステップ904で選択されたサムネイル画像に対応したSRAWデータを、記録媒体109Bから読み込み、図7(b)に示したGUIで設定されているRAW現像パラメータにしたがってRAW現像処理を行う。このとき、記録媒体109Bから読み出されるSRAWデータは、画素数が削減されたデータであるため、その現像結果であるJPEGデータも画素数が削減された画像データとなる。ステップS913の後、CPU101Bは、ステップS914の処理に進む。
ステップS914では、CPU101Bは、ステップS913で生成したJPEGデータを用いて、図7(b)のエリア707に表示するプレビュー画像を更新する。この更新が終わると、CPU101Bは、ステップS912へ戻り、次なる操作を受け付ける状態に遷移する。
ステップS915では、CPU101Bは、BLE Peripheral(カメラ100A)に対して、無線通信部107Bが親機モードで動作した際に、この無線通信部107Bに接続するための情報を通知する。具体的には、無線通信部107BのソフトAPのSSIDとパスワードが、カメラ100Aに通知される。RAW現像サービスに、無線LAN接続をすべきSSIDを表す要求元SSID特性と、接続する際に使用するパスワードを表す要求元パスワード特性が含まれている場合、CPU101Bは、BLEのGATTプロファイルによりこれらの特性に値を書き込む。ステップS915の後、CPU101Bは、ステップS916の処理に進む。
ステップS916では、CPU101Bは、無線通信部107Bの設定を変更し、ソフトAP機能(親機モード)を有効にした後、ステップS917の処理に進む。ステップS917では、CPU101Bは、無線通信部107Bの状態を監視し、ステップS915で接続情報を通知したBLE Pefipheral(カメラ100A)から無線LAN接続が行われるのを待つ。そして、無線LAN接続が行われると、CPU101Bは、ステップS918の処理に進む。
ステップS918では、CPU101Bは、図7(b)に示したGUIで設定されたRAW現像パラメータを、無線通信部107Bを介した無線LANによりカメラ100Aに通知する。ステップS918の後、CPU101Bは、ステップS919の処理に進む。
ステップS919では、CPU101Bは、無線通信部107Bが受信したデータを監視し、カメラ100AからJPEGデータを受信するのを待つ。なお、ここで受信するJPEGデータは、後述する図10のステップS1019でカメラ100Aから送信されるJPEGデータである。そして、JPEGデータが受信されると、CPU101Bは、その受信したJPEGデータを作業用メモリ103Bに格納させる。ステップS919の後、CPU101Bは、ステップS920の処理に進む。
ステップS920では、CPU101Bは、表示部105Bの表示を、図7(c)の表示に更新し、ステップS919で受信したJPEGデータを、ステップS904で選択した画像の現像結果として表示させる。ステップS920の後、CPU101Bは、ステップS921の処理に進む。
ステップS921では、CPU101Bは、操作部104Bを監視し、図7(c)に示したGUIを表示している状態においてユーザ操作が行われるのを待つ。ここで、CPU101Bは、ユーザによりボタン712が選択された場合には、作業用メモリ103Bに保持しているJPEGデータを破棄した後、ステップS910に戻り、表示部105Bに図7(a)のGUIを表示させる。一方、CPU101Bは、ステップS921において、ボタン713が選択された場合は、ステップS922の処理に進む。
ステップS922では、CPU101Bは、ステップS919で受信されたJPEGデータを記録媒体109Bに保存させ、作業用メモリ103BのJPEGデータを破棄した後、ステップS903に戻る。
ステップS923では、CPU101Bは、BLE Peripheral(カメラ100A)に対して、選択している画像のRAW現像処理の中止を通知する。例えば、RAW現像サービスに、RAW現像のキャンセル要求を表すキャンセル特性が含まれている場合、CPU101Bは、BLEのGATTプロファイルによってこの特性値に値を書き込む。
以上が、前述の図8の処理におけるタブレット装置100Bの動作の詳細な流れである。
次に図10を用いてカメラ100Aの動作を詳細に説明する。図10のフローチャートは、カメラ100Aの電源状態がステートS0の時に、リンクボタン204が押下され、ステートS1に遷移した後に実行される。
図10のフローチャートのステップS1001では、カメラ100AのサブCPU112Aは、内蔵されている不揮発性メモリにペアリング済みBLEデバイスのCentralID情報が一つ以上保存されているか否かを判定する。サブCPU112Aは、ステップS1001において、CentralID情報が存在しないと判定した場合には、図10のフローチャートの処理を終了し、一方、CentralID情報が存在すると判定した場合には、ステップS1002の処理に進む。
ステップS1002では、サブCPU112Aは、省電力無線通信部111Aを介してRAW現像処理を受け付けるための情報を送信する(Advertiseする)。例えば、サブCPU112Aは、BLEのGATTプロファイルによって、RAW現像処理のためのRAW現像サービスのAdvetiseを行う。ここで、RAW現像サービスには、RAW現像処理を要求するデバイスが選択したRAWデータを表すユニークID特性、処理の中断を要求するキャンセル特性等が含まれている。また、RAW現像サービスには、要求元のデバイスが自身の無線LAN AP情報を書き込むための要求元SSID特性と要求元パスワード特性が含まれている。なお、このBLEによるAdvertiseは、ユーザ操作によりカメラ100Aの電源状態がステートS0に遷移するまでは、省電力無線通信部111Aによって繰り返し行われる。ステップS1002の後、サブCPU112Aは、ステップS1003の処理に進む。
ステップS1003では、サブCPU112Aは、省電力無線通信部111Aに対してRAW現像サービスのユニークID特性に対する書き込み要求があるか否かを判定する。ここで書き込み要求がない場合、サブCPU112Aは、書き込み要求を受信するまでステップS1003を繰り返す。一方、サブCPU112Aは、ステップS1003において、書き込み要求を受信すると、ステップS1004の処理に進む。なお、ステップS1003において受信する書き込み要求は、図9のステップS908において送信される書き込み要求に対応する。
ステップS1004では、サブCPU112Aは、ステップS1003で受信した書き込み要求がペアリング済みのBLEデバイス(タブレット装置100B)から送信されたものか否かを判定する。ここでは、サブCPU112Aは、書き込み要求を行ったCentralデバイスのCentralIDが、サブCPU112Aに内蔵の不揮発性メモリに保存されているか否かを判定する。すなわち、サブCPU112Aは、事前にペアリング設定を行ったCentralデバイス(ペアリング済みのBLEデバイス(タブレット装置100B))であるか否かを判定する。サブCPU112Aは、ステップS1004において、ペアリング済みのBLEデバイスからの書き込み要求であると判定すると、RAW現像サービスのユニークID特性の値を内蔵の不揮発性メモリに保存した後、ステップS1005の処理に進む。一方、サブCPU112Aは、ステップS1004において、ペアリング済みでないBLEデバイスからの書き込み要求でないと判定した場合には、ステップS1003の処理に戻る。
ステップS1005では、サブCPU112Aは、電源管理部108Aを制御してカメラ100Aの電源状態をステートS3(アクティブ状態)とする。このステップS1005の後、カメラ100Aの制御は、CPU101Aが行うことになる。
ステップS1006では、CPU101Aは、サブCPU112A内の不揮発性メモリに保存されているユニークIDを取得し、そのユニークIDを持つRAWデータが記録媒体109Aに存在するか否かを判定する。この判定処理においては、CPU101Aは、記録媒体109A内のデータベースファイル402を読み込み、ユニークID403の欄に、要求されたユニークIDが存在するか否かを確認する。そして、CPU101Aは、ユニークIDがデータベースファイル402にあった場合は、そのローカルパス404を取得し、ローカルパス404で示したRAWデータが記録媒体109A内に存在するか否かを判定する。そして、CPU101Aは、ステップS1006において、RAWデータが存在していると判定した場合にはステップS1007の処理に進み、RAWデータが存在しないと判定した場合にはステップS1010の処理に進む。
ステップS1007では、CPU101Aは、省電力無線通信部111Aを介して、指定されたRAWデータの先読みを開始する旨をタブレット装置100Bに通知する。この通知は、図9のステップS909でタブレット装置100Bが受信する通知に対応している。ステップS1007の後、CPU101Aは、ステップS1008の処理に進む。
ステップS1008では、CPU101Aは、ステップS1006で検出したRAWデータを、記録媒体109Aから読み出して、作業用メモリ105Aに書き込む。ステップS1008の後、CPU101Aは、ステップS1009の処理に進む。
ステップS1009では、CPU101Aは、ステップS1008におけるRAWデータの読み込みが完了すると、電源状態をステートS2(第2省電力状態)に遷移させる。ステップS1009の後、サブCPU112Aが行うステップS1012の処理に移行する。
ステップS1006でRAWデータが存在しないと判定されてステップS1010に進んだ場合、CPU101Aは、省電力無線通信部111Aを介して、指定されたRAWデータを読み込むことができないことを示すエラー通知を行う。この通知は、図9のステップS909でタブレット装置100Bが受信する通知に対応している。ステップS1010の後、CPU101Aは、ステップS1011の処理に進む。
ステップS1011では、CPU101Aは、電源状態をステートS1(第1省電力状態)に遷移させた後、ステップS1003に処理を戻し、次なるユニークID特性の書き込みを待つ。
ステップS1009からステップS1012の処理に進むと、サブCPU112Aは、省電力無線通信部111Aに対してRAW現像サービスの特性に対する新たな書き込み要求があるか否かを判定する。サブCPU112Aは、ステップS1012において書き込み要求がないと判定した場合には、書き込み要求を受信するまでステップS1012を繰り返し、書き込み要求を受信したと判定した場合には、ステップS1013の処理に進む。ステップS1012で受信した書き込み要求は、図9のステップS915及びS923において送信される書き込み要求に対応する。
ステップS1013では、サブCPU112Aは、ステップS1004の処理と同様に、ステップS1012で受信した書き込み要求がペアリング済みのBLEデバイスから送信されたものか否かを判定する。サブCPU112Aは、ステップS1013において、ペアリング済みのBLEデバイスからの書き込み要求であると判定した場合、書き込まれたRAW現像サービスの特性の種類と値を内蔵の不揮発性メモリに保存した後、ステップS1014の処理に進む。一方、サブCPU112Aは、ステップS1013において、ペアリング済みでないBLEデバイスからの書き込み要求であると判定した場合には、ステップS1012の処理に戻る。
ステップS1014では、サブCPU112Aは、ステップS1005の処理と同様に、カメラ100Aの電源状態をステートS3(アクティブ状態)とする。このステップS1014の後は、CPU101Aが行うステップS1015の処理に移行する。
ステップS1015では、CPU101Aは、ステップS1012で書き込まれた特性を判定する。CPU101Aは、ステップS1015において、無線LANを接続するための要求元SSID特性と要求元パスワード特性が書き込まれたと判定した場合には、ステップS1016の処理に進む。無線LANを接続するための要求元SSID特性と要求元パスワード特性が書き込まれる場合は、前述の図9のステップS915に対応する。また、CPU101Aは、ステップS1015において、キャンセル特性が書き込まれたと判定した場合には、ステップS1023の処理に進む。キャンセル特性が書き込まれる場合は、前述の図9のステップS923に対応する。
ステップS1016では、CPU101Aは、無線通信部110Aに対して、要求元SSID特性で書き込まれたSSIDを有するアクセスポイントに、要求元パスワード特性で書き込まれた値のパスワードで接続するように制御する。この制御により、無線通信部110Aは、アクセスポイントとして動作する無線通信部107Bに接続する。この処理は、図9のフローチャートのステップS917に対応している。ステップS1016の後、CPU101Aは、ステップS1017の処理に進む。
ステップS1017では、CPU101Aは、無線通信部110Aを介して、RAW現像パラメータをタブレット装置100Bから受信する。この処理は、図9のフローチャートのステップS918に対応している。ステップS1017の後、CPU101Aは、ステップS1018の処理に進む。
ステップS1018では、CPU101Aは、画像処理部103Aを用いて、ステップS1008で作業用メモリ105Aに読み込んだRAWデータを、ステップS1017で受信したRAW現像パラメータに基づいて現像処理させる。そして、CPU101Aは、この現像処理により得られたJPEGデータを、作業用メモリ105Aに保存させる。ステップS1018の後、CPU101Aは、ステップS1019の処理に進む。
ステップS1019では、CPU101Aは、ステップS1018で生成して作業用メモリ105Aに保存されているJPEGデータを、無線通信部110Aを介して、タブレット装置100Bに送信する。この処理は、図9のフローチャートのステップS919に対応している。ステップS1019の後、CPU101Aは、ステップS1020の処理に進む。
ステップS1020では、CPU101Aは、無線通信部110Aに対し、ステップS1016で確立した無線通信接続を切断するように制御する。ステップS1020の後、CPU101Aは、ステップS1021の処理に進む。
ステップS1021では、CPU101Aは、ステップS1008で作業用メモリ105Aに書き込んだRAWデータを破棄して、その作業用メモリ105Aで使用されていたメモリ領域を開放する。ステップS1021の後、CPU101Aは、ステップS1022の処理に進む。
ステップS1022では、CPU101Aは、ステップS1011の処理と同様に、電源状態をステートS1(第1省電力状態)に遷移させた後、ステップS1003に処理を戻し、次なるユニークID特性の書き込みを待つ。
一方、ステップS1023では、CPU101Aは、ステップS1021の処理と同様に、ステップS1008で作業用メモリ105Aに書き込まれたRAWデータを破棄して、その作業用メモリ105Aで使用されていたメモリ領域を開放する。ステップS1023の後、CPU101Aは、ステップS1024の処理に進む。
ステップS1024では、CPU101Aは、ステップS1022の処理と同様に、電源状態をステートS1(第1省電力状態)に遷移させた後、ステップS1003入力処理を戻し、次なるユニークID特性の書き込みを待つ。
以上が、前述の図8の処理におけるカメラ100Aの動作の詳細な流れである。
以上、図9と図10のフローチャートで説明したように、タブレット装置100Bはサムネイル画像がRAW現像対象として選択された段階で、そのサムネイル画像に対応したRAWデータのユニークIDを、カメラ100Aに通知する。このことにより、カメラ100Aは、そのRAWデータに対するRAW現像処理の実行要求と現像パラメータの受信に先立って、記録媒体109Aから作業用メモリ105Aに先読みすることができる。そして、タブレット装置100BでRAW現像パラメータが確定されてRAW現像の開始要求と現像パラメータが送られてきた時点で、カメラ100Aでは、現像対象のRAWデータが既に作業用メモリ105Aに存在している。このため、カメラ100Aは、RAW現像の開始要求と現像パラメータを受信した時点で速やかにRAW現像処理を実行でき、その現像結果をJPEGデータとしてタブレット装置100Bに送信することができる。すなわち本実施形態によれば、タブレット装置100B側でSRAWデータを用いた現像処理によって現像パラメータの調整が完了してから、カメラ100Aにより現像処理された結果が表示部105Bに表示されるまでの時間が短縮されている。
また、カメラは一般にバッテリ等による電力を用いて動作するが、データサイズの大きいRAWデータに対する現像処理は、処理負荷だけでなく電力消費も大きいため、出来る限り電力消費を抑えることも望まれている。本実施形態の場合、カメラ100Aは、ユニークIDが受信されるまでは第1の省電力状態となされており、ユニークIDを受信したときにアクティブ状態に遷移するため、常にアクティブ状態になっている場合よりも消費電力を抑えることができる。また、本実施形態の場合、カメラ100Aは、記録媒体109AからRAWデータを作業用メモリ105Aに読み込んだ後は第2の省電力状態に遷移し、無線通信と作業用メモリ105Aの記憶保持動作以外の電力消費を無くすことで、消費電力を低減している。また、本実施形態では、データ量が少ないユニークIDや現像開始要求を伝送する際には、低速ではあるが消費電力の少ない省電力無線通信を用いることで省電力化を可能としている。一方、本実施形態では、データ量が多い現像パラメータや現像後のJPEGデータを伝送する際には、消費電力は多いが高速通信が可能な無線LAN通信を用いることで、データ伝送時の伝送時間短縮を可能としている。
<その他の実施形態>
前述した実施形態では、RAW現像パラメータの伝送に無線LAN通信を用いたが、RAW現像パラメータはJPEGデータほどデータ量が多くないため、例えば省電力無線通信により伝送してもよい。また、前述の実施形態では、画像処理装置としてデジタルカメラ100Aを挙げたが、画像処理装置は、RAWデータを現像処理する機能を備えたスマートフォンやタブレット装置、パーソナルコンピュータ、メディアプレーヤ、ゲームコンソールなどでもよい。また、前述の実施形態では、情報処理装置としてタブレット装置100Bを挙げたが、情報処理装置は、例えばスマートフォンやパーソナルコンピュータ、メディアプレーヤ、メディアストレージ、ゲームコンソール、デジタルカメラなどでもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、本発明は、上述の実施形態の各機能は回路(例えばASIC)とプログラムとの協働により実現することも可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。