以下、添付図面を参照しながら、本発明の例示的な実施形態を詳細に説明する。
図1は、本発明の実施形態に係る画像処理装置の一例としての撮像装置の機能構成例を示すブロック図である。これらの機能ブロックは、ASICなどの専用ハードウェアによって実現されてもよいし、MPU等の汎用プロセッサがプログラムを実行することによりソフトウェア的に実現されてもよい。
図1に示した撮像装置100は、被写体像を撮像して得られた画像データを記録媒体に記録するだけでなく、画像データを記録媒体から再生し、現像処理して表示する機能や、画像データを外部の装置やサーバ(クラウド)等と送受信する機能を有する。従って、本発明の実施形態に係る撮像装置は、画像処理装置、記録装置、再生装置、記録再生装置、通信装置等と表現することもできる。
図1において、制御部161は、CPU、MPUなどのプログラマブルプロセッサと、プログラマブルプロセッサが実行する制御プログラムを格納する不揮発性メモリを含み、撮像装置100の全体の処理を制御する。なお、図1では煩雑さを避けるために一部しか記載していないが、制御や通信を行うための信号線が制御部161から各機能ブロックに接続されている。操作部162は、ユーザが撮像装置100に対して指示を与えるために用いるキーやボタン、タッチパネルなどの入力デバイスを含む。操作部162からの操作信号は、制御部161によって検出され、制御部161は検出した操作に応じた動作が実行されるように他の機能ブロックなどを制御する。表示部123は、表示処理部122を通じて提供される、撮像装置100で撮影もしくは再生された画像や、メニュー画面、各種情報等を表示する。表示部123は例えば液晶ディスプレイ(LCD)等を含む。
撮像対象となる被写体像は、撮像光学部101を介して撮像センサ部102上に結像する。操作部162による撮影開始の指示に応答して制御部161は撮影および記録動作を開始させる。なお、撮影スタンバイ時にライブビュー表示を実現するための動画撮影を行うように構成してもよい。撮像光学部101及び撮像センサ部102の動作は、評価値算出部105により取得される絞り、フォーカス、手ぶれ等の評価値算出結果や、認識部131からの被写体情報に基づいて、制御部161によって制御される。
撮像センサ部102は、画素毎に配置される赤、緑、青(RGB)のカラーフィルターを透過した光を電気信号に変換する、例えばCCDイメージセンサやCMOSイメージセンサであってよい。図9は、撮像センサ部102に配置されるカラーフィルターの一例であり、撮像装置100が扱う画像の画素配列を表している。図9に示すように、赤(R)1603、緑(G)1601、青(B)1602が画素毎にモザイク状に配置されていて、2×2の4画素につき赤1画素、青1画素、緑2画素を1セットにして規則的に並べられた構造となっている。このようなカラーフィルターの配列は、一般に原色ベイヤー配列と呼ばれる。本実施形態の撮像センサ部102は、横8000画素×縦4000画素の画像データを60フレーム毎秒で出力する能力を有するものとする。なお、カラーフィルターを構成する色や配列は原色ベイヤー配列に限定されず、他の任意の配列を採用することができる。
撮像センサ部102によって変換された電気信号は、センサ信号処理部103によって画素の修復処理が施される。修復処理には、撮像センサ部102における欠落画素や信頼性の低い画素の値に対し、周辺画素値を用いて修復対象の画素を補間したり、所定のオフセット値を減算したりする処理が含まれる。本実施形態では、センサ信号処理部103から出力される画像データを、未現像の画像を意味するRAW画像データという。なお、センサ信号処理部103において、差分パルス符号変調(DPCM)等の符号化技術を用いてビット長を圧縮した画像データを出力してもよい。画像データのビット長を圧縮すると、データ送出時のバス帯域の占有量が軽減されるので効果的である。なお、センサ信号処理部103でビット長を圧縮して出力する画像データや、圧縮されたビット長を復元した画像データも、RAW画像データとして取り扱う。
センサ信号処理部103から出力されたRAW画像データは、現像部110で現像処理される。現像部110は、複数(本実施形態では2つ)の異なる現像処理部を有し、それぞれ、処理精度と処理負荷の優先度が異なっている。本実施形態では、第1の現像処理を行う簡易現像部111と、第2の現像処理を行う高画質現像部112とから成り、それらの出力を選択するスイッチ部121を含んで構成される。簡易現像部111、高画質現像部112は共に、RAW画像データに対してデベイヤー処理(デモザイク処理もしくは色補間処理とも呼ばれる)、ホワイトバランス調整、RGB→YUV変換、ノイズ低減、光学歪の補正などの現像処理を行う。なお、これらは現像処理に含まれる処理の例示であり、これらの全てが現像処理に必須であることを意味しない。他の処理が含まれてもよいし、一部が含まれなくてもよい。
高画質現像部112は、簡易現像部111よりも各々の処理を高精度に行う。高精度であるため、簡易現像部111よりも高画質な現像画像が得られるが、一方で、処理負荷が大きい。他方、簡易現像部111は、RAW画像データの1画面の画素数を、横2000画素×縦1000画素に縮小する。更に、簡易現像部111は、高画質現像部112よりも処理の精度が低いため、得られる画質は高画質現像部112よりも低いものの、撮影中に高速に現像処理を行うことができる。このように、簡易現像部111は、RAW画像データよりも画素数が少ない画像データを処理し、更に、処理自体も簡易的に行うことで、処理量が少なくなるように構成されている。簡易現像部111の処理負荷は小さいので、撮影動作と並行したリアルタイムの現像の際には簡易現像部111を用いるようにする。スイッチ部121は、操作部162によりユーザから指示された操作内容や実行中の動作モードに応じた制御に従って、制御部161によって切り替えられる。
なお、本実施形態では、現像部110の中に簡易現像部111と高画質現像部112が独立に存在する構成を示しているが、一つの現像部が動作モードを切り替えて、簡易現像と高画質現像の処理を排他的に行う構成としてもよい。また、複数の現像部は互いに処理負荷が異なればよく、処理する画像のサイズと処理精度の両方を下げることは必須ではない。例えば、処理する画素数は同一であるが、処理精度が異なっている現像部や、処理精度は同一であるが処理する画素数が異なっている現像部が含まれていてもよい。ただし、撮影された画像の現像処理が、次の画像の撮影開始までに完了できる現像部が少なくとも1つ含まれるようにする。
なお、図1ではセンサ信号処理部103からのRAW画像データが現像部110の中の簡易現像部111と高画質現像部112に入力されるように図示しているが、これは同一のRAW画像データに対して両方の現像部で現像処理を行うことを意味していない。処理負荷の観点から、基本的には1つの現像部だけが現像処理を実行する。従って、RAW画像データが入力される現像部を切り替えるようにスイッチ部121が設けられても良い。
現像部110によって現像処理された画像データは、表示処理部122によって所定の処理がなされた後、表示部123にて表示される。また、現像処理された画像データは、映像出力端子124により、外部に接続された表示機器に出力してもよい。映像出力端子124は、例えばHDMI(登録商標)やSDIのような汎用インタフェースを含む。
現像部110によって現像処理された画像データは、評価値算出部105にも供給される。評価値算出部105は、画像データから例えばフォーカス状態や露出状態などの評価値を算出する。これらの評価値は例えば制御部161による自動焦点検出や自動露出制御に用いられる。
現像部110によって現像処理された画像データは、認識部131にも供給される。認識部131は、画像データ中の被写体情報を検出及び認識する機能を有する。認識部131は例えば、画像データによって表される画像に含まれる人物の顔を検出し、検出された場合は顔の位置や大きさなどを示す情報を出力する。認識部131はさらに顔などの特徴情報に基づいて特定の人物の認証などを行ってもよい。
現像部110によって現像処理された画像データは、静止画圧縮部141及び動画圧縮部142にも供給される。画像データを静止画として圧縮する場合は、静止画圧縮部141を用いる。符号化手段としての静止画圧縮部141は、JPEG等の公知の符号化方式に従い静止画データを符号化する。画像データを動画として圧縮する場合は、動画圧縮部142を用いる。動画圧縮部142は、H.264、H.265等の公知の符号化方式に従って動画データを符号化する。静止画圧縮部141及び動画圧縮部142は、それぞれ対象となる画像データを高能率符号化(圧縮符号化)し、情報量が圧縮された画像データを生成して、記録再生部151に送る。
RAW圧縮部113は、センサ信号処理部103から出力されたRAW画像データにウエーブレット変換や、差分符号化等を適用し、データ量を削減した圧縮RAWデータを生成する。RAW圧縮部113は、圧縮RAWデータをバッファ部115に格納する。バッファ部115はメモリやHDDなど、任意の記憶装置であってよい。圧縮RAWデータは、バッファ部115に保存しておいてもよいし、格納後にさらに別の記録媒体に移動させてバッファ部115から削除してもよい。
記録再生部151は、静止画圧縮部141からの静止画データや、動画圧縮部142からの動画データを記録媒体152に記録する。また記録再生部151は、バッファ部115から読み出したRAWデータの状態の静止画および動画データを、圧縮後の静止画並びに動画データとは別個のRAWファイルとして記録媒体152に記録する。また記録再生部151は、記録媒体152に記録されたデータを、FAT等の公知のファイルシステムに従いファイルとして管理する。記録媒体152は、例えば内蔵式の大容量メモリやハードディスク、又は、着脱式のメモリカード等である。また、記録再生部151は、記録媒体152から静止画ファイル、動画ファイル、RAWファイル(静止画、動画)を読み出すこともできる。また、記録再生部151は、通信部153を介して、外部のストレージやサーバに、各種データファイルを書き込んだり、読み出したりすることができる。通信部153は通信端子154を通じ、無線通信や有線通信によりコンピュータネットワークや外部機器へのアクセスを撮像装置100に提供する。
記録再生部151は、記録媒体152から、又は、通信部153を介して、所望のファイルを取得して再生する。再生対象のファイルがRAWファイルであれば、記録再生部151は、取得されたRAWファイルをバッファ部115に格納する。再生対象のファイルが静止画ファイルであれば、記録再生部151は、取得された静止画ファイルを静止画伸張部143に供給する。再生対象のファイルが動画ファイルであれば、記録再生部151は、取得された動画ファイルを動画伸張部144に供給する。
RAW伸張部114は、バッファ部115に格納されているRAWファイルを読みだして、圧縮RAWデータを復号して伸張する。RAW伸張部114によって伸張されたRAWデータは、現像部110の簡易現像部111、高画質現像部112に供給される。
静止画伸張部143は、入力された静止画ファイルを復号して伸張し、静止画の再生画像として表示処理部122に供給する。動画伸張部144は、入力された動画ファイルを復号して伸張し、動画の再生画像として表示処理部122に供給する。表示処理部122で処理された静止画や動画は、表示部123で表示される。
次に、図2に示すフローチャートを用いて、撮像装置100の撮影モードにおける動作について説明する。図2のフローチャートは、特に明示されている場合を除き、図1に示した機能ブロックを制御部161が制御することで実現される処理の手順を示す。具体的には制御部161が有する不揮発性メモリに格納されたプログラムをメモリ(RAM)に展開し、CPUが実行することにより実現される処理である。
制御部161は撮像装置100の処理負荷状況が低いか否かを判定し(S301)、負荷状況に応じてアイドル状態(S320)へ遷移させ、そうでなければS302へ処理を進める。負荷状態は制御部161が有するCPUの稼働率や、予め定められた高負荷の動作、例えば高速連写動作が行われているかどうかなどに応じて判別することができるが、これらに限定されない。アイドル状態に遷移する程度に処理負荷が低くない場合、制御部161は処理をS302へ進める。なお、アイドル状態へ移行するかどうかの判定処理については後述する。
S302において制御部161は、撮像光学部101や撮像センサ部102の動作を制御する。例えば、制御部161は、操作部162を通じたユーザのズーム指示や撮影準備指示に従って、撮像光学部101に含まれるズームレンズやフォーカスレンズを移動させたり、撮影画素数の指示に従って撮像センサ部102の読み出し領域を設定したりする。また、制御部161は、評価値算出部105からの評価値の情報や認識部131からの被写体情報に基づいて、特定被写体に対する合焦や追尾などの制御を実現する。S302では、所定のフレーム周期に応じた撮影条件で撮影が実施される。
S303では、撮像センサ部102によって変換された電気信号に対して、センサ信号処理部103が画素の修復のための信号処理を施す。例えば、センサ信号処理部103は、撮像素子の欠落画素に対応する電気信号や、信頼性の低い画素の電気信号に対し、周辺画素値を用いて補間したり、所定のオフセット値を減算したりする。本実施形態では、S303の処理を終えて、センサ信号処理部103から出力される画像情報を、生(未現像)の画像を意味するRAW画像と呼ぶ。
S304において、簡易現像部111がRAW画像データを現像処理する。なお、制御部161は、遅くともS304の開始時までに、現像部110から簡易現像部111で現像処理された画像データが出力されるようにスイッチ部121の状態を制御する。
簡易現像部111は、RAW画像データの画素数を前述のように削減し、画像を縮小する。そして、簡易現像部111は、縮小RAW画像データに対してデベイヤー処理(デモザイク処理)して各画素に不足している色信号を生成したのち、輝度と色差から成る信号へ変換する(RGB→YUV変換)。さらに簡易現像部111は、各信号に含まれるノイズを除去したり、撮影光学系の光学歪(収差)を補正したり、ホワイトバランスを調整したりする。上述の通り簡易現像部111は画素数を削減してから現像処理したり、ノイズ除去や光学歪補正を、処理速度を優先した処理で行ったり省いたりすることで、現像処理の負荷(処理速度や消費電力)が撮像装置100の撮影能力に与える制限を軽減または除去する。簡易現像部111を用いることで、例えば、高画質現像部112を用いた場合には不可能な高速連写速度や連続撮影枚数などを実現することができる。
簡易現像部111で現像処理された画像データは、スイッチ部121を通じて評価値算出部105に供給される。評価値算出部105は、画像データに含まれる輝度値やコントラスト値などから撮像光学部101の合焦状態や、画像の露出状態などの評価値を所定の方法で算出する(S305)。なお、評価値算出部105は、現像処理前のRAW画像データに対してこれらの評価値を算出しても良い。
また、簡易現像部111で現像処理された画像データは、認識部131に供給される。認識部131は、画像データに対し、予め定められた特定の特徴を有する被写体(例えば人物の顔)の検出処理を適用し、被写体情報を生成する。例えば、画像データ内における顔の有無や、顔の位置や大きさ、顔に基づいて認識された個人の情報などを被写体情報として出力する(S306)。
また、簡易現像部111で現像処理された画像データは、表示処理部122に供給される。表示処理部122は、取得した画像データから表示画像を形成し、表示部123又は外部の表示装置に出力して、表示する(S307)。表示部123による表示画像は例えば、撮影待機状態において、ユーザが被写体を適切にフレーミングするためのライブビュー表示(撮影スルー画像表示)のために用いられる。さらに、表示処理部122は、評価値算出部105や認識部131から供給される評価値や被写体情報を活用して、例えば、表示画像に合焦領域や認識された顔の位置を示す枠状のマークを重畳表示したりしてもよい。
S308において、制御部161は、操作部162を通じてユーザから撮影指示が入力されたか判定し、撮影指示が入力された場合は処理をS310へ進め、撮影指示の入力が無かった場合はS301からの処理を繰り返す。
S310で制御部161は、撮影指示に応答して、撮像光学部101、撮像センサ部102を制御して所定の撮影条件での撮影を開始させる。ここでは、静止画撮影時の動作を説明する。撮像センサ部102で得られた1画面分の画像データは現像部110に供給されて簡易現像部111で現像処理されたのち、静止画圧縮部141に供給される。静止画圧縮部141は、供給された画像データに対してJPEG符号化処理など所定の符号化処理(静止画圧縮)を施し(S310)、静止画データを生成する。本実施形態では、このように、撮影時において、簡易現像部111により現像され、静止画圧縮部141で符号化された静止画データを簡易静止画データ(第1の符号化画像データ)と呼ぶ。なお、符号化方法はJPEG方式に限らず、任意のものが使用可能である。
撮像センサ部102で得られた1画面分のRAW画像データは、さらにRAW圧縮部113に供給される。RAW圧縮部113は、RAW画像データにデータ量を削減するための符号化(RAW圧縮)処理を適用して圧縮RAW画像データに変換する(S312)。圧縮RAW画像データはバッファ部115に格納される。なお、RAW画像データの符号化は可逆および不可逆符号化のいずれであってもよい。
S311において記録再生部151は、簡易静止画データを含む静止画ファイル(簡易静止画ファイル)を記録媒体152に記録する。
S313において、記録再生部151は、バッファ部115から画像データを読み出し、(圧縮)RAW画像データが格納されたデータファイル(RAWファイル)を記録媒体152に記録する。
なお、簡易静止画データの生成および記録処理(S310〜S311)と、RAW画像データの圧縮および記録処理(S312〜S313)の少なくとも一部は並列処理されてよい。また、S311及びS313において、記録再生部151は、静止画ファイル及び/又はRAWファイルを、通信部153を介して、通信端子154から外部のストレージに送って、外部のストレージによって記録するようにしても良い。
なお、ここでは、S308で静止画の撮影指示がなされた場合について説明したが、動画の撮影指示がなされた場合も基本的には同様に処理できる。まず、S301〜S307までの処理は共通である。そして、S310〜S311で簡易動画データの生成および記録処理を、S312〜S313でRAWデータの圧縮および記録処理を実施すればよい。なお、動画撮影時にはS308で撮影指示がなされた場合に改めて撮影を行う必要は無く、S302で撮影し、S304で簡易現像した画像データを用いれば良い。
簡易動画データは、撮像センサ部102から得られるRAW画像データから構成される動画データについて、S310で各フレーム画像を簡易現像部111で現像処理し、動画圧縮部142で符号化して生成する。そして、S311で記録再生部151が簡易動画データを記録する。また、RAWデータについては、S312で各RAW画像フレームを圧縮したデータを、S313でバッファ部115を通じて記録再生部151が記録する。なお、動画撮影時には、動画の記録開始前(スタンバイ中)だけでなく、動画の記録中(REC中)においても、被写体を適切にフレーミングするためのライブビュー表示のために簡易動画データが用いられる。
次に、本実施形態における静止画ファイルおよびRAWファイルの構造について説明する。図3は、静止画ファイル及びRAWファイルの構成例を示す図である。
図3(a)は静止画ファイルの構造例を示す。静止画ファイル400は、ヘッダ部401、メタデータ部402、圧縮データ部403から成る。ヘッダ部401には、このファイルが静止画ファイルであることを示す識別コードなどが含まれている。圧縮データ部403には、高能率符号化された静止画の圧縮データが含まれている。
メタデータ部402には、この静止画ファイルと同時に生成された(対応する)RAWファイル(圧縮データ部403に格納される静止画データの元になっているRAWデータが格納されたファイル)を特定する情報(例えばファイル名)404が含まれる。また、現像ステータス405は、この静止画ファイルに格納されている圧縮データが簡易現像されたものかどうかを判別可能な情報である。また、撮影メタデータ406は、評価値算出部105や認識部131が求めた評価値や被写体情報や、撮像光学部101や撮像センサ部102からの撮影時情報(例えば、絞り値、シャッタ速度、感度、レンズ種別識別情報、センサ種別識別情報など)を含む。また、図示していないが、メタデータ部402は、同時に生成された(対応する)RAWファイルが記録されている記録媒体の識別コードや、記録先のパス情報などをさらに含んでも良い。これらのメタデータは、例えば制御部161から記録再生部151に送られて記録される。
以上説明したように、本実施形態に係る撮像装置100は、ライブビュー表示や、撮影開始指示に応答して生成される静止画ファイルのための現像処理を、簡易現像部111によって行う。また、本実施形態に係る撮像装置100は、撮影開始指示に応答して、RAWファイルを記録する。RAWファイルの記録には現像処理を必要としない。
図3(b)は、RAWファイル410の構造例を示す。RAWファイル410は、記録再生部151によって、例えば記録媒体152の所定の記録エリアに記録されている。RAWファイル410は、ヘッダ部411、メタデータ部412、圧縮データ部413から成る。ヘッダ部411には、このファイルがRAWファイルの形式であることを示す識別コードなどが含まれている。圧縮データ部413には、高能率符号化された静止画のRAW圧縮データが含まれている(非圧縮のRAW画像データであっても良い)。
メタデータ部412には、このRAWファイルと同時に生成された(対応する)静止画ファイルを特定する情報(例えばファイル名)414が含まれる。また、対応する静止画ファイルが格納する画像データが簡易現像されたことを示す現像ステータス415も含まれる。また、撮影メタデータ406と同様の撮影メタデータ416が含まれる。
また、図示していないが、同時に生成された静止画ファイルが記録されている記録媒体の識別コードや、記録されているフォルダのパス情報などを更に含んでも良い。或いはまた、同時に生成された静止画ファイルそのものをメタデータ化して、メタデータ部412に格納しても良い。これらのメタデータは、例えば制御部161から記録再生部151に送られて記録される。
なお、図3に示しここで説明したファイル構造は一例であり、EXIFなど他の標準規格に準じた構成であっても良い。また、記録媒体152へのファイル記録は例えばDCFに従ったファイルシステムで行うことができる。
なお、圧縮データ部403に高能率符号化された動画と音声の圧縮データが含まれていること、圧縮データがAVCHDやMPEG2などの動画用の符号化形式であることを除き、動画ファイルであっても基本的なデータ構造は静止画ファイルと共通である。
本実施形態に係る撮像装置100は、撮影モードにおける、撮影指示が行われるまでのライブビュー表示や、撮影指示に応答して生成される静止画もしくは動画ファイルのための現像処理を、簡易現像部111によって行う。簡易現像部111は、現像後の画像サイズを例えば200万画素以下に制限したり、ノイズ除去や光学的な歪補正を限定的な処理に留めたり、省いたりして、例えば毎秒60コマの静止画やHDサイズの動画の現像処理を小規模かつ少消費電力の回路で実現する。一方で、本実施形態に係る撮像装置100は、撮影指示に応答して、静止画または動画のRAWファイルを生成する。RAWファイルは、センサ信号処理部103から供給される画像情報を大きく損なわない高画質ファイルであるが、このファイルの生成に現像処理を必要としない。そのため、画素数や連写のスピードを高めたり、フレームあたりの画素数やフレームレートを高めたりしても、小規模かつ少消費電力の回路でRAWファイルを記録することが可能である。
次に、本実施形態における後現像の処理について説明する。後現像処理は、撮影時におけるRAW画像データと簡易静止画/動画データの記録動作を終えた後、RAW画像データから高画質静止画/動画データを生成し、記録する処理である。具体的には、まず、バッファ部115又は記録媒体152等に記録されたRAW画像データを読み出して高画質現像部112で現像処理する。そして、静止画圧縮部141または動画圧縮部142において高画質な符号化画像データ(第2の符号化画像データ)を生成し、記録媒体152に記録する。本実施形態では、静止画および動画のRAW画像データに対して後現像処理が可能である。
前述のように、撮影時に記録される簡易静止画/動画データは、簡易現像部111で現像処理した後に圧縮されたものである。そのため、高画質現像部112で現像処理した場合と比較して画素数が少なかったり、画質が劣ったりする。簡易静止画/動画データの品質は、撮影内容を撮影直後に大まかに確認したり、撮像装置100の表示部123のように画素数の低い表示装置に表示したりするには十分であっても、画像の細部を確認したり、プリントアウトしたりするには十分でない場合がある。
もちろん、ユーザがRAW画像データの高画質な現像処理を必要に応じて都度行ってもよいが、手間や時間がかかる。そのため本実施形態では撮像装置100がアイドル状態である際に、後現像処理を自動的に実行するものとする。アイドル状態とは、撮影スタンバイ時、静止画/動画再生時の待機状態、スリープ状態など、撮像装置100の処理負荷が小さいと判定される状態である。なお、自動的に実施するだけでなく、ユーザからの指示によって後現像処理を開始してもよい。
撮像装置100がアイドル状態かどうかの判定方法に特に制限は無く、一般的な処理負荷の測定方法をはじめとした任意の判定方法を用いることができる。例えば、制御部161が有するCPUの稼働率が予め定めた閾値未満かどうかや、予め定められた高負荷の動作、例えば高速連写動作、記録・再生処理が行われているかどうかなどに応じて判別することができる。あるいは、基本的に負荷の低い処理しか発生しない動作モードが選択されていれば、無条件にアイドル状態とみなしてもよい。
続いて、図2のS320で実施するアイドル処理について、図4のフローチャートを用いて説明する。なお、アイドル処理は静止画撮影モードだけでなく、静止画/動画再生モードなど、他の動作モードにおいてアイドル状態と判定された場合にも実行される。
図4のフローチャートは、制御部161によって、各処理ブロックを制御し実行される処理手順を図示したものであり、制御部161が有するメモリ(ROM)に格納されているプログラムをメモリ(RAM)に展開し、CPUが実行することにより実現される。
図4においてアイドル状態の処理が開始されると、制御部161が、ユーザの設定に基づいて、後現像を行うか否かを判定し(S501)、後現像を行わない場合はアイドル処理を終了して元の処理に復帰し、後現像を行う場合はS520に遷移する。
後現像を行う場合、制御部161は、記録媒体152に記録されている各RAWファイルについて、後現像処理により高画質静止画ファイルが記録されているか(後現像済みかどうか)判定する(S520)。例えば制御部161は、RAWファイル410の中の現像ステータス415を参照し、対応する静止画ファイルが簡易現像部111で処理されたことを示す情報が含まれていればRAWファイルの後現像が行われていないと判定する。あるいは、制御部161は、RAWファイルのメタデータ部412に含まれる静止画ファイル名414を有する静止画ファイルを記録媒体152内で探索する。これは、静止画撮影モードで撮影されていれば、記録媒体152には、1回の撮影開始指示に対して静止画ファイルとRAWファイルが互いに関連付けられて1つずつ記録されていることに基づく。そして、見つかった静止画ファイル400のメタデータ部402に格納されている現像ステータス405を参照し、簡易現像部111で処理されたことを示す情報が含まれていればRAWファイルに後現像が行われていないと判定する。あるいは、一連の静止画に対し、後現像処理の実行有無を示すテーブルを別に用意しておき、このテーブルを参照して判定するようにしても良い。
記録媒体152に記録されたRAWファイルの全てが後現像処理済みである場合(S520,NO)、制御部161は後現像処理を行わない場合と同様、アイドル処理を終了して元の処理に復帰する。一方、記録媒体152に記録されているRAWファイルに後現像処理が行われていないものが存在した場合、制御部161は処理をS521に遷移させる。
制御部161は、記録媒体152に記録されている、後現像処理が行われていないRAWファイルに対応するRAW画像データが、バッファ部115にも記憶されているかどうか調べる(S521)。そして、制御部161は、RAWファイルがバッファ部115に残っていれば直接、バッファ部115に残っていなければS522で記録媒体152からRAWファイルを読み出した後、処理をS523に進める。バッファ部115には直近に撮影されたものから予め定められた数のRAWファイルが保持されている。そのため、制御部161は後処理を行うRAWファイルが、記録媒体152に記録されているRAWファイルのうち、直近に撮影されたものから予め定められた数に含まれていれば、バッファ部115に記憶されていることが分かる。なお、記録再生部151から記録時のRAWファイルの情報を取得し、バッファ部115に記憶されているRAWファイルと、記録媒体152に記録されているRAWファイルとの対応関係を保存しておいてもよい。
なお、後現像処理が行われておらず、バッファ部115にないRAWファイルが複数ある場合、制御部161は1つずつ読み出して後現像処理を行ってもよいし、バッファ部115に記憶可能な範囲で任意の数のRAWファイルをまとめて読み出してもよい。
制御部161は、記録媒体152からRAWファイルを読み出す場合、古いものから順に読みだしてバッファ部115に記憶する。そして、バッファ部115の記憶領域が一杯になった場合、最も古いRAW画像データをバッファ部115から削除し、新たに撮影、あるいは、記録媒体152から読み出されたRAW画像データをバッファ部115に格納する。こうすることにより、直前に撮影されたRAW画像データは常にバッファに保持されているので、S522をスキップし、高速に処理できる。さらに、直前に撮影された画像から時刻を遡って、後現像を実行するようにすれば、バッファ部115に保持されている画像から優先的に処理が完了できるため、処理の効率化ができる。
S523において、制御部161は後現像処理するRAW画像データをRAW伸張部114に供給する。RAW伸張部114はRAW画像データが圧縮処理されたものであれば伸張処理してRAW画像データを復元してから、一方、圧縮処理されていなければそのまま出力する。RAW画像データが圧縮されているものかどうかは、圧縮時に例えばRAW画像データの先頭に識別可能な情報を記録しておくことなどによって判別可能である。
RAW伸張部114が出力したRAW画像データは、現像部110に供給される。後現像処理時には高画質現像部112で現像処理を行い、簡易現像部111では現像処理しないように制御部161が動作を制御する。RAW画像データに対して高画質現像部112は簡易現像部111よりも高画質の画像が得られる現像処理を適用する(S524)。本実施形態では高画質現像部112はRAW画像データの画素数を削減しないほか、適用する現像処理の品質(精度や工程の数など)も簡易現像部111より高くする。しかし、高画質現像部112は簡易現像部111よりも高品質の画像が得られる画像処理を行いさえすれば、その具体的な現像処理の内容に制限は無い。例えば現像処理の内容は簡易現像部111と同等とし、画像の画素数を多くしてもよいし、画像の画素数は同様に削減するが、現像処理の品質を高くしてもよい。
高画質現像部112は、RAW画像をデベイヤー処理(デモザイク処理)し、輝度と色差から成る信号へ変換して、各信号に含まれるノイズを除去、光学的な歪を補正し、画像を適正化するなどの所謂現像処理を行う。高画質現像部112によって生成される現像処理済みの画像の画素数は、撮像センサ部102から読出された画素数のまま、あるいはユーザから設定された画素数となる。そのため、高画質現像部112からの画像データの画素数は、簡易現像部111から出力される画像データよりも多い。
高画質現像部112は簡易現像部111よりも各々の処理が高精度であるため、より高画質な現像画像が得られるが、一方で、処理負荷が大きくなってしまう。本実施形態の高画質現像部112は、撮影と並行したリアルタイムの現像処理を行わないことで、消費電力やコストの大きな回路の利用を回避している。
高画質現像部112で現像処理された画像データは、静止画圧縮部141に供給され、静止画圧縮部141は、取得した画像データに対して高能率符号化処理(静止画圧縮)を施し(S525)、高画質静止画データを生成する。
S526において、記録再生部151が高画質静止画データを含む静止画ファイルを記録媒体152に記録する。
S527は、アイドル状態でなくなったかどうかの判断処理であり、例えば予め定められた、アイドル状態を脱するイベントが発生したかどうかの判断処理であってよい。イベントは例えば、撮影準備指示や撮影開始指示の入力、再生処理の実行指示の入力、CPUの稼働率が閾値を超えるなどであってよい。なお、これらのイベント発生は、実際にはS527で示されるタイミングで実施するのではなく、アイドル処理中に制御部161がバックグラウンドで監視している。イベントの発生を検知した時点で実施中の動作を中断もしくは中止するか、静止画記録が終了するまでは実行を継続するかは予め定めておくことができる。例えば、S522〜S526のどの処理を実行中かに応じて処理を継続するか中断もしくは中止するかが異なってもよい。また、発生したイベントに応じて対応が異なってもよい。例えば撮影開始指示のようにタイムラグが問題になるイベントが発生した場合は直ちに撮影処理に移行し、再生開始指示のように緊急性がさほど高くないイベントの場合には静止画記録が終了してから再生処理に移行するようにしてもよい。
処理を中断する場合、制御部161は、中断した処理を次にアイドル状態になった際に再開できるように必要な情報を記憶する中断処理を行う(S528)。中断処理は例えば途中まで処理が終わったデータの保存や、どこまで処理が終わっているのか(あるいはどこから処理を再開するか)を示す情報の保存などを含む。一方、処理を中止する場合には、次回の処理において未処理のRAWファイルの処理を行えば良いため、中断処理を実施しなくてもよい。
アイドル状態でなくなった場合、制御部161はアイドル処理を実行する前に実施していた動作モードとイベントに応じた処理に移行する。例えば静止画撮影モードからアイドル処理に移行していた場合に撮影指示が入力された場合、制御部161は静止画撮影モードの処理をS310の撮影処理から復帰させる。
S526で記録処理が終了した後、アイドル状態が継続していれば、処理をS520に戻し、後現像が未処理のRAW画像データが残っている場合には、上述した処理を繰り返して実行する。
S526で記録される高画質静止画ファイルは、現像ステータス405が高画質現像部112で処理されたことを示す情報であることを除き、簡易現像部111で処理された画像データの静止画ファイルと同様の構成を有する。
なお、S526で記録される高画質静止画ファイルは、RAWファイルと同時に記録された簡易静止画ファイルと同じファイル名で記録する。これは、読み出したRAWファイルのメタデータ部に含まれる静止画ファイル名を制御部161から記録再生部151に通知することで実現できる。バッファ部115に残っているRAW画像データを用いる場合には、記録媒体152に記録された対応するRAWファイルのメタデータを参照すればよい。あるいは、記録再生部151が簡易静止画ファイルを記録する際にファイル名を制御部161に通知し、制御部161がバッファ部115内のRAW画像データと対応付けて保存するようにしてもよい。このようなファイル名とすることで、記録媒体152内の簡易静止画ファイルを高画質静止画ファイルで置き換えることができる。
また、制御部161は、高画質静止画ファイルを記録する際に、記録再生部151を通じて、対応するRAWファイルにおけるメタデータ部412内の現像ステータス415を、高画質現像済(又は後現像済)を示す情報で更新する。
このように、本実施形態の撮像装置100は、撮影と撮影の合間や、再生モードやスリープ状態などユーザ操作待ちの、比較的、装置の処理負荷が小さい状態のときに後現像を実行する。そして、撮影時の簡易現像による静止画ファイルを、RAWファイルを用いた高画質現像による静止画ファイルに置き換えて行く。これにより、細部の確認表示やプリントアウトなど、高画質な画像が要求された場合であっても、その都度な現像処理を実行する必要がなく、また、従来の静止画ファイルと同様の一般的な環境における活用が可能となる。
なお、撮影時の簡易現像による動画ファイルについても、同様にして後現像処理を実施し、高画質現像による動画ファイルに置き換えて行く。RAW動画データは各フレームがRAW画像データで構成されているため、各フレームを静止画ファイルと同様にして現像処理することができる。そして、現像後のフレーム画像を動画の符号化方式に応じて符号化することで、高画質な動画ファイルを順次生成する。なお、符号化処理の効率を向上させるため、記録媒体152から未処理のRAWファイルを読み出す場合に、動画の符号化方式に応じたフレーム数(例えばGOPを構成するフレーム数)を単位とすることができる。
動画ファイルの後現像処理を中断する場合、S528の中断処理では、例えば、動画圧縮部142が所定フレーム数を単位とした符号化を行う場合、記録媒体152に符合化単位で高画質動画ファイルが書き込まれるまで待つ。そして、高画質動画ファイルを書き込む(簡易動画ファイルに上書きする)際に、後現像中のRAW動画データのファイル名と、何フレーム目まで処理が終わっているかの情報を制御部161が保存しておく。あるいは、またはさらに、高画質動画ファイルのメタデータ部402の現像ステータス405にも、同様の情報を記録する。そして、次回のアイドル時には、この情報を用いて後現像処理を再開する。なお、動画の後現像処理時には、符合化単位で高画質動画ファイルを書き込む毎にファイルをクローズして記録媒体152の管理情報を更新してもよいし、中断時にこれらの書き込み終了処理を実施してもよい。前者の方が処理が煩雑であるが、後現像処理から他の処理に移行するまでに要する時間が短いほか、ファイルが破損したりする可能性は小さくできる。なお、イベントによっては直ちに処理を中止してもよいことは静止画の後現像処理と同様であるが、この場合でも記録媒体152における処理中の動画ファイルをクローズする点で異なる。
なお、後現像処理を行う場合、最初は先頭の所定時間(例えば1分)についてのみ実行するように構成してもよい。これは、動画ファイルは数十フレーム/秒という多数のフレームから構成されているため、例えば数分から数十分の撮影期間の簡易動画データの全フレームについて後現像処理すると、次の画像ファイルに対する後現像処理がなかなか開始されないためである。また、後現像処理による撮像装置のバッテリー消費が多くなりすぎないようにするためでもある。動画ファイルの先頭部分のみを後現像することで、バッテリー消費も抑制しつつ、高画質の画像表示や高画質の動画ファイルの再生の即時に行うことが可能になる。
このように、所定部分のみ後現像を行う場合、所定部分の後現像が終了したら、中断処理と同様に、未処理部分について後現像を再開するための情報を動画ファイルのメタデータや制御部161内に保存しておく。なお、未処理の画像ファイルが無い場合には、未処理部分について後現像処理を実行するように構成してもよい。この場合も、1ファイルあたり所定時間分ずつ後現像処理を実行するようにしてよい。
なお、S520における処理済みか否かの判断方法として、いくつかのステップを設けてもよい。例えば動画の撮影時間全てに対して処理されているかを判断する構成にしてもよい。また、動画先頭部分から予め定められた時間(例えば、1分)毎に区切って、先頭から所定の時間分について後現像処理がなされていれば、その簡易動画ファイルを処理済みと判断する構成でもよい。更に、後現像処理が所定時間なされているか判断する場合においては、操作部162からの操作によって後現像処理済みか否かを判断する際の時間を設定出来る構成にしてもよい。
また、先頭部分のみなど、一部だけが後現像処理されている場合には、RAWファイルと同時に記録された簡易動画ファイルは削除しない。そして、制御部161は、後現像で生成された高画質の動画ファイルのメタデータ部402に、対応する簡易動画ファイル名などの識別情報を含めるように記録再生部151を制御する。また、制御部161は、簡易動画ファイルの圧縮データ部403は保持しつつ、メタデータ部402に後現像処理で生成された動画ファイル名や後現像処理済みの部分を特定可能な情報などをメタデータ部902に含めるよう、記録再生部151を制御する。
このように、本実施形態の撮像装置100は、撮影と撮影の合間や、再生モードやスリープ状態などユーザ操作待ちの、比較的、装置の処理負荷が小さい状態のときに後現像を実行する。そして、撮影時の簡易現像による静止画ファイルを、RAWファイルを用いた高画質現像による静止画ファイルに置き換えて行く。撮影時の簡易現像による動画ファイルも、RAWファイルを用いた高画質現像による動画ファイルに置き換えて行く。こうすることにより、細部の確認表示やプリントアウトなど、高画質な再生の要求が与えられた場合であっても、その都度余計な現像処理が発生せず、また、従来の静止画ファイルと同様の一般的な環境における活用が可能となる。
次に、図5に示すフローチャートを用いて、撮像装置100の静止画再生モードにおける動作について説明する。図5のフローチャートは、特に明示されている場合を除き、図1に示した機能ブロックを制御部161が制御することで実現される処理の手順を示す。具体的には制御部161が有する不揮発性メモリに格納されたプログラムをメモリ(RAM)に展開し、CPUが実行することにより実現される処理である。
制御部161は撮像装置100の処理負荷状況が低いか否かを判定し(S601)、負荷状況に応じてアイドル状態(S610)へ遷移させ、そうでなければS602へ処理を進める。負荷状態は制御部161が有するCPUの稼働率や、予め定められた高負荷の動作、例えば高速連写動作が行われているかどうかなどに応じて判別することができるが、これらに限定されない。アイドル状態に遷移する程度に処理負荷が低くない場合、制御部161は処理をS602へ進める。なお、アイドル状態へ移行するかどうかの判定処理については撮影モード動作で説明したものと同じであってよい。
例えば、ユーザからの操作に応じて静止画の再生が開始されている(再生中の状態を含む)場合、制御部161は処理をS602へ進める。S602において、制御部161は、静止画を拡大表示するようにユーザから指示されているか判定する。制御部161は、拡大表示の指示を受けていればS603に、受けていなければS620に処理を進める。
図6は、本実施形態の撮像装置100が静止画再生時に表示部123で行う表示の形態例を模式的に示す図である。
図6(a)に示す表示画面700は、縮小画像を表示する例であり、ここでは6つずつ表示する例を示している。図6(b)に示す表示画面710は、1つの画像711の全体を表示している例であり、通常表示の状態である。図6(c)に示す表示画面720は、1つの画像の一部の拡大画像721を表示している例であり、拡大表示に該当する。拡大表示は例えば、撮影直後にフォーカスの適否の確認を行うような場合に用いられる。また、ユーザからの拡大表示の指示に応じても実行される。
S602で拡大表示の指示を受けていない場合、制御部161は、表示部123の表示画素数Aと、簡易静止画ファイルの画素数Bとの関係がA≦Bであれば通常表示、A>Bであれば縮小表示とする。
S620において、制御部161は、記録再生部151を通じて記録媒体152等から再生対象の静止画ファイルを読み出し、静止画伸張部143に供給する。そして、S621において、制御部161は静止画伸張部143が伸張した静止画ファイルを表示処理部122に供給する。S608において表示処理部122が図6(a)〜(c)に示すような形態で画像を表示部123へ出力する。
画像の全体を表示する場合、表示画素数Aが簡易現像による静止画ファイルの画素数B、上述の例ならば200万画素以下であれば、簡易現像部111で現像処理された静止画ファイルであっても十分な画質である。高画質現像部112で現像処理された静止画ファイルが全体表示に十分な画質であるということは言うまでも無い。
一方、画像の一部を切り出して等倍表示することにより拡大表示を実現する場合、簡易現像による静止画ファイルでは切り出した部分の画素数が表示画素数を下回ることが起こり得る。この場合、画素補間などの拡大処理が必要となり、解像感の低下を招いてしまう。
よって、拡大表示する場合、制御部161はS603において、拡大表示する画像の静止画ファイルが、高画質現像部112で現像されたもの(後現像されたもの)であるかどうかを判定する。判定は、例えば静止画ファイル400のメタデータ部402に格納されている現像ステータス405に含まれる、簡易現像部111で処理されたものか否かを識別するフラグから行うことができる。あるいは、RAWファイル410の中の現像ステータス415を参照して判定したり、一連の撮影された静止画に対して、現像処理の状態を示すテーブルファイルを別に用意して判定してもよい。
S603で、拡大表示する静止画が高画質現像されたものであると判定された場合、十分な画質で拡大表示可能である。そのため制御部161は処理をS620に進め、記録再生部151によって記録媒体152等から読み出した静止画ファイルを、表示処理部122を通じて表示部123に表示する。
S603で、拡大表示する静止画が高画質現像されたものでないと判定された場合、簡易現像部111で現像処理された静止画ファイルであることを意味する。この場合、制御部161はS604移行の処理によって高画質現像(上述した、後現像)を実行する。なお、ここでは簡易現像された画像ファイルが拡大表示対象の場合は無条件に高画質現像を実行するものとしたが、簡易現像による静止画ファイルにおける拡大表示領域内の画素数が表示画素数未満である場合だけ高画質現像を実行するようにしてもよい。
S604において制御部161は、再生対象の静止画に対応するRAWファイルがバッファ部115に存在しているかどうかを調べる。RAWファイルがバッファ部115に存在していない場合、制御部161はRAWファイルを、記録再生部151を通じて記録媒体152等からバッファ部115に読み出す(S605)。
バッファ部115は、古いものから順に削除することで、静止画撮影モードで撮影された直近の所定数のRAWデータが保存されるように更新されている。こうすることにより、比較的最近に記録媒体152に記録された画像ファイルに対応するRAWデータはバッファ部115に保持されているので、S605をスキップして、表示処理を高速に実施することが可能になる。
S606において、RAW伸張部114が、バッファ部115から読み出したRAWファイルを復号して伸張し、RAW画像を復元する。RAWファイル内のRAW画像データが圧縮されていない場合には復元処理は不要である。
復元されたRAW画像は、高画質現像部112に供給されて高画質現像処理が適用され(S607)た後、スイッチ部121を経由して表示処理部122に出力される。S608において、表示処理部122が図6(c)に示すような拡大画像を表示部123へ出力する。なお、拡大表示用の部分画像の切り出しは例えば制御部161からの指示に従って表示処理部122が行うことができる。
高画質現像部112は、RAW画像をデベイヤー処理(デモザイク処理)し、輝度と色差から成る信号へ変換して、各信号に含まれるノイズを除去、光学的な歪を補正し、画像を適正化するなどの現像処理を行う。高画質現像部112によって生成される現像処理済みの画像のサイズ(画素数)は、撮像センサ部102から読出された全体サイズのまま、あるいはユーザから設定されたサイズである。これは、通常、簡易現像された画像のサイズ(例えば200万画素以下)よりも大幅に大きいため、高画質現像部112で現像された静止画ならば、十分な画質で拡大表示が可能である。
なお、S608で表示が行われると、制御部161は処理をS601に戻す。なお、表示対象の画像の変更指示、拡大表示の解除指示、縮小表示画面からの全体表示もしくは拡大表示指示などに応じて上述の処理を実行し、制御部161は指示に応じた表示用画像の生成ならびに表示を実現する。例えば制御部161は、全体表示状態で次の画像もしくは前の画像の表示指示があれば、表示中の画像の次もしくは直前に記録媒体152に記録された画像ファイルを表示対象ファイルとして上述の処理を実施する。拡大表示の解除指示については、制御部161は切り出しを解除し、高画質現像された画像の全体を表示するように表示処理部122に指示する。また、縮小表示画面から1つの縮小画像が選択されると、制御部161は選択された縮小画像に対応する画像ファイルもしくはRAWファイルについて通常表示を実行させる。
本実施形態では、静止画再生モードにおける装置の処理負荷が小さい状態やスリープ状態など装置の処理負荷が比較的小さい状態になると、静止画の後現像が徐々に実行される。そして、簡易現像された静止画ファイルが自然と高画質現像された静止画ファイルに置き換わる。置き換えが進むに従って、拡大表示時であってもS604〜S607の処理が実施される頻度が低下し、高画質画像を利用した拡大表示がスムーズに実施されるようになり、操作性が一層高まっていく。
また、高画質現像処理されていない画像の拡大表示に要する時間を短縮するため、例えば縮小表示や通常(全体)表示をしている簡易画像ファイルに対応するRAWファイルがバッファ部115になければ、予め記録媒体152から読み込んでおくことができる。
次に、撮像装置100の動画再生モードにおける動作について、図7に示すフローチャートを用いて説明する。
図7のフローチャートは、特に明示されている場合を除き、図1に示した機能ブロックを制御部161が制御することで実現される処理の手順を示す。具体的には制御部161が有する不揮発性メモリに格納されたプログラムをメモリ(RAM)に展開し、CPUが実行することにより実現される処理である。
図7において動画再生モードの処理が開始されると、制御部161が撮像装置100の処理負荷状況が低いか否かを判定し(S1101)、負荷状況が低い場合にアイドル状態(S1110)へ遷移させ、そうでなければS1102へ処理を進める。なお、アイドル状態へ移行するかどうかの判定処理については撮影モード動作で説明したものと同じであってよい。
例えば、再生指示などのユーザ操作を待っている間は、処理負荷が低いため、制御部161は処理をS1110に進めてアイドル処理を実行する。また、ユーザからの操作に応じて動画の再生が開始されている(再生中の状態を含む)場合は処理負荷が低くないため、制御部161は処理をS1102へ進める。
S1102において制御部161は、例えばユーザから再生指示された表示対象の動画ファイルの高画質現像処理済みのものが記録媒体152等に存在するか否かを判定し、存在する場合はS1103に進め、存在しない場合はS1107に処理を進める。上述したようにこの判定では、先頭の一部のみが高画質現像済みの動画ファイルが存在する場合も、高画質現像処理済みのものが存在すると見なしてよい。
S1103において制御部161は、高画質現像処理された動画ファイルが終端まで再生されたか否かを判定する。制御部161は、高画質現像処理された動画ファイルが終端まで再生されたと判定された場合にはS1107へ、高画質現像処理された動画ファイルの再生が完了していないと判定された場合にはS1104へ、それぞれ処理を進める。
S1104で制御部161は、記録再生部151を通じて記録媒体152から再生対象の動画ファイルを所定量読み出し、動画伸張部144に供給する。そして、S1105において、動画伸張部144が、読み出された動画ファイルを1フレームずつ復号して伸張して表示処理部122へ出力し、S1106において、表示処理部122が再生された動画の表示画像を表示部123へ出力する。
なお、S1106の表示は1フレーム毎に行われ、動画再生中は、次のフレームの表示を行うため、制御部161は処理をS1101に戻す。
S1107で制御部161は、再生対象の動画ファイルの簡易現像処理されたものが記録媒体152等に存在するか否か判定し、存在すると判定された場合はS1108へ、存在しないと判定された場合はS1101へ処理を進める。なお、簡易現像処理された動画ファイルが存在しないのは、再生対象の動画ファイルが最後まで高画質現像処理されていることを意味する。
S1108で制御部161は、簡易現像処理された動画ファイルの再生が完了したか否かを判定する。S1108において、簡易現像処理された動画ファイルの再生が完了していないと判定された場合、制御部161は処理をS1109へ進め、記録再生部151を通じて記録媒体152から再生対象の簡易現像処理された動画ファイルを読み出す。制御部161はS528の中断処理時に保存した情報や再生中の動画ファイルのメタデータによって高画質現像処理された部分(例えば最終フレーム番号)を特定し、高画質現像処理された部分に続くフレームから簡易現像処理された動画ファイルを再生する。
そして、S1105において、動画伸張部144が、読み出された動画ファイルを1フレームずつ復号して伸張し、S1106において、表示処理部122が再生された動画の表示画像を表示部123へ出力する。
S1108で簡易現像処理された動画ファイルの再生が完了したと判定された場合、制御部161は処理をS1001に戻す。
本実施形態においては、後現像処理(高画質現像処理)が途中まで行われているRAWファイルについては、簡易現像処理された動画ファイルと高画質現像処理された動画ファイルの両方が記録媒体152等に記録されている。この場合、例えば再生指示を行った動画の画質が途中で低下すれば、ユーザは後現像処理が途中までしか完了していないことは把握可能だが、具体的な進捗状況までは容易に把握できない。また、特定の動画ファイルについて再生や後現像処理の実行を指示するような場合であっても、現在の進捗状況が把握できる方が使い勝手がよい。そのため、本実施形態では、記録されている動画ファイルについて、後現像処理がどの程度進捗しているのかをユーザが容易に把握できる情報を提供する。
後現像処理の進捗状況は、例えばS528の中断処理時に保存する情報に基づいて把握することができる。例えば、中断処理時に処理済みの最終フレームについての番号もしくはタイムコードが保存されている場合、RAWファイルのメタデータから得られる総フレーム数や総時間に対する割合が進捗状況を表す。なお、中断処理でこの割合を求め、中断情報の1つとして高画質現像された動画ファイルの現像ステータス405や制御部161に保存するようにしてもよい。
制御部161は、例えば操作部162から、メニュー画面などを通じて後現像処理の進捗状況の表示指示がなされた際や、再生する画像ファイルの選択画面において、後現像処理の進捗状況の情報をユーザに提供することができる。
図8に、本実施形態の撮像装置100が提供する、後現像処理の進捗状況の情報提示画面1300の例を示す。この例では、記録媒体152に記録されている画像ファイルをサムネイル画像によって閲覧する画面に、後現像処理の進捗状況を示す情報を付加した場合を示している。なお、この画面は、再生すべき画像をユーザが指定可能とするインデックスとしても利用される。
図8の例では、1画面あたり6ファイルのサムネイルを表示する例を示しているが、1画面あたりのサムネイル画像の数に制限はない。また、撮影時のモードやパラメータや撮影日時の情報など、他の情報が表示されてもよい。また、図8の例では6ファイルの全てが動画ファイルである場合を示しているが、静止画ファイルが含まれていてもよい。
制御部161は記録媒体152に記録されている画像ファイルのうち、例えば記録日時の新しいものから順にサムネイル画像を取得するとともに、対応する進捗状況を上述した方法で取得する。そして、制御部161は、進捗状況を視覚的に表す画像を生成し、サムネイル画像と対応付けてレイアウトした画面の画像データを表示処理部122に供給する。表示処理部122は供給された画像データを表示部123に表示する。
図8(a)は、サムネイル画像1301〜1306のそれぞれに対応付けて、後現像処理の進捗状況をプログレスバー1311〜1316で示した例である。プログレスバー1311〜1316は、左端が0%、右端が100%に対応し、塗りつぶされた範囲で進捗状況を表している。サムネイル画像1306に対応するプログレスバー1316は塗りつぶされていないので、対応する動画ファイルは後現像処理がまだ行われていない状態であることがわかる。また、プログレスバーを塗りつぶす色を、進捗割合に応じて変更してもよい(例えば0〜30%:赤、30〜60%:黄、70〜99%:黄緑、100%:緑など)。なお、プログレスバー1311〜1316内に具体的な進捗状況を表す数値(x%完了)等を含めるようにしてもよい。
図8(b)は、進捗状況を数値で示した例である。ここでは、サムネイル画像1301〜1306のそれぞれに対応付けて、後現像処理の進捗状況を全体に対する処理済み部分のパーセンテージで示す画像1321〜1326で示している。
図8(c)は、進捗状況を円グラフで示した例である。ここでは、サムネイル画像1301〜1306のそれぞれに対応付けた円グラフ1331〜1336の塗りつぶし量で後現像処理の進捗状況を示している。円グラフ1331〜1336は、中心から直上へ延びる半径を起点として時計回りに塗りつぶされた割合で進捗状況を表している。
図8(b),(c)の例においても、文字や塗りつぶしの色を進捗割合に応じて変更することができる。また図8(c)の例で円グラフ内に具体的な進捗状況を表す数値(x%完了)等を含めるようにしてもよい。
図8(d)は、サムネイル画像1301〜1306のそれぞれに対応付けて、後現像処理の進捗状況を特定の文字によって示した例である。図8(d)の例では、後現像処理が未終了の画像については「現像中...」と付記され、後現像処理が終了している画像については「現像完了」と付記されている。なお、図8(d)に示された特定文字は一例であって、進捗やステータスを表し、ユーザにそれを認知させる効果を有するものであれば、他の文字やワード、或いはマークで代用しても良い。
図8(a)〜(d)の何れの例であっても、各サムネイルの何れかをユーザがカーソルやタッチ操作により選択して再生命令することによって、選択されたサムネイルに対応する画像が再生されるモードに移行する。この再生命令に応じて、後現像処理が完了している画像であれば、高画質現像処理済みの動画が最初から最後まで再生される。一方、後現像処理が未終了のものであれば、動画の少なくとも先頭シーンでは高画質現像処理済みの画像が再生され、その後(動画の途中から)簡易現像処理済みの画像にシームレスに移行して再生される。或いは、最初から最後まで簡易現像処理済の画像が再生される場合もある。
なお、図8(a)〜(c)は後現像処理の進捗状況を視覚的に表す情報の例示であり、他の方法で示してもよい。例えば、サムネイル画像自体をプログレスバーとして利用し、現在の進捗割合を示す塗りつぶし画像を半透明で重畳したり、進捗割合に対応する位置に垂直な線を重畳するなどの方法であってもよい。また、プログレスバーなど進捗状況を示す情報は、サムネイル画像に重畳させて表示するなど、対応関係が一見して明らかであれば他の位置に表示してもよい。また、図8(a)〜(c)の例やその変形例と、図8(d)のような文字とを組み合わせて適用しても良い。
ここでは説明および理解が容易な動画ファイルについて説明したが、静止画ファイルについても進捗状況の状況を提供することができる。静止画ファイルの進捗状況は基本的に後現像処理が完了しているか未処理かのいずれかであるため、その処理済みもしくは未処理のいずれかを示す情報をサムネイル画像に対応付けて表示すればよい。制御部161は、あるRAW静止画ファイルについて、高画質現像処理された静止画ファイルが存在すれば、後現像処理が完了しており、存在しなければ未処理であると判別できる。
以上説明したように本実施形態によれば、撮影時にはRAW画像を簡易現像処理した画像とともに記録しておく。その後、記録済みのRAW画像に対して簡易現像処理よりも高画質な画像が得られる現像処理を適用して高画質な画像を生成し、簡易現像処理で得られた画像と置き換える後現像処理を行う。このような構成により、高速に現像処理を行う回路が無くても高速連写などが可能になるほか、他の装置で内容を確認したい場合などにもRAW画像の内容を容易に確認できる。
また、後現像処理を撮像装置の負荷が低い状態に自動的に行うようにすることで、ユーザに後現像処理を意識させることなく高画質な画像が得られるため、再生時に後現像処理を実施する手間なく、直ちに高画質な画像を再生することができる。
さらに、後現像処理の進捗状況を示す情報を提示するので、進捗状況に応じて再生する動画像を選択したり、高画質現像処理の実行を指示したりすることが可能になり、ユーザの使い勝手を向上させることが可能になる。
(その他の実施形態)
前述の実施形態では、撮像装置100で後現像処理を行う例について説明した。しかし後現像処理を撮像装置100の外部機器で行ってもよい。後現像処理を外部機器で行うことで、撮像装置100の処理負荷を軽減できるほか、外部機器の能力に基づいた後現像処理が可能なため、撮像装置100が実行するよりも高速に処理を行うことも可能となる。
図10は、撮像装置100と、通信端子154および通信路165を介して通信可能に接続された外部機器170で後現像処理を行うシステムの機能構成例を示すブロック図である。外部機器170は、撮像装置100と通信可能で、撮像装置100の高画質現像部112と同等の処理を実行可能な任意の電子機器であり、例えば汎用コンピュータ、携帯端末、サーバであってよい。あるいは外部機器170は、高画質現像部112と同等の処理が可能な現像処理部を有するサーバや撮像装置であってもよい。
撮像装置100の制御部161は通信部153を通じ、通信路165に接続された外部機器170に、現像処理を行うRAWファイルを送信する。外部機器170はRAWファイルの後現像処理を実行し、現像処理済みの画像ファイルを撮像装置100に返送する。後述するように、外部機器170で後現像処理を行う場合についても、撮像装置100で後現像処理を行う場合と同様に、後現像処理の進捗状況を把握することができる。
なお、図10には通信路165を有線通信路として図示しているが、無線通信路であってもよいし、有線通信路と無線通信路が混在していてもよい。また、通信路165が1つ以上のネットワークを含んでいてもよい。
外部機器170は、通信路165を通じたデータの送受信に用いる入出力バッファ1703と、RAWファイルや現像処理済の画像ファイルを保存するストレージ1005と、高画質現像部112と同等の処理が可能な高画質現像部1007を備える。外部機器170が汎用コンピュータ、携帯端末、およびサーバなどの場合、高画質現像部1007はソフトウェア的に実現されてよい。具体的には、これらコンピュータ機器が有するプログラマブルプロセッサ(CPUなど)により、高画質現像部1007の機能を実現するためのアプリケーションプログラムをメモリにロードして実行することで、高画質現像部1007が実現される。もちろん、高画質現像部1007がASICなどのハードウェアで実現されてもよい。
外部機器170はさらに、進捗管理部1009を有する。進捗管理部1009は、ストレージ1005に保存される各RAWファイルの入出力を管理するとともに、管理下にあるRAWファイルに対する高画質現像部1007による現像処理の進捗状況を把握する。
RAWファイルが撮像装置100から外部機器170に送信されるタイミングに特に制限はないが、例えばRAWファイルを記録媒体152等に記録する処理と並行して、あるいは記録が完了してから、通信部153から外部機器170に送信することができる。
RAWファイルが外部機器170に送信(記録)されたか否かの情報(送信情報)は、記録媒体152に記録されている動画ファイルの撮影メタデータ406や制御部161内のメモリに保存しておく。なお、RAWファイルのオリジナルが送信された(すなわち、転送された)のか、複製が送信されたのかを示す情報も保存しておく。ここでは、転送された場合についてまず説明する。RAWファイルが転送された場合、RAWファイルは撮像装置100に存在しないため、後現像処理は外部機器170だけで行われるが、複製が送信された場合は後現像処理を外部機器170だけでなく撮像装置100でも行うことが可能である点が異なる。RAWファイルの複製が送信された場合の処理については後述する。
外部機器170で後現像処理を実行する場合も、後現像処理の進捗状況は、現像処理で得られる動画ファイルの現像ステータス405やRAWファイルの現像ステータス415に保存することができる。この保存は、高画質現像部1007または進捗管理部1009が行うことができる。
進捗管理部1009は、後現像処理の進捗状況を表す情報を、RAWファイルを特定する情報と関連付けて例えば入出力バッファ1703に保存し、予め定めたタイミング(例えば一定周期)で更新する。この情報を、撮像装置100の制御部161が取得することにより、撮像装置100で後現像処理を行うRAWファイルと同様の進捗状況の表示を行うことができる。制御部161は例えば撮像装置100の起動時や、アイドル処理の開始時または実行中に入出力バッファ1703にアクセスし、外部機器170における後現像処理の進捗状況を取得することができる。
あるいは、またはさらに、制御部161は、撮像装置100の動作状態に関わらず、定期的に、または所定のタイミングで後現像処理の進捗状況を取得してもよい。
撮像装置100が再生状態の場合、表示部123に進捗状況を一旦表示した後に外部機器170から進捗状況の情報を取得し、進捗状況に変化があれば表示部123の表示を更新する。
あるいは、またはさらに、外部機器170から定期的に、または所定のタイミングで後現像処理の進捗状況を撮像装置100にプッシュ送信や外部割り込みコマンドなどを発行して、情報を通知したり、情報の取得を促したりしてもよい。
例えば外部機器170から撮像装置100へ進捗状況の情報を取得するように促すイベント(トリガ)を発行し、これに応じて撮像装置100が受動的に外部機器170へアクセスして、進捗状況の情報を取得してもよい。
通信部153を介して外部機器170から取得した進捗状況は、撮像装置100の記録媒体152に記録されている簡易現像済みの動画ファイルの撮影メタデータ406や制御部161等に保存することができる。また、途中まで高画質現像処理が終わった動画ファイルが外部機器170から撮像装置100に取得されていれば、高画質現像処理が終わった動画ファイルの撮影メタデータ406に保存してもよい。
なお、撮像装置100は、進捗状況の情報の取得だけでなく、後現像処理が進捗中の高画質現像動画ファイルを外部機器170から取得してもよい。これにより、転送されたRAWファイルについても、途中までではあるが撮像装置100で高画質で再生することが可能になる。
後現像処理が完了した場合、進捗状況と同様に、外部機器170から撮像装置100へ通知を行ったり高画質現像処理が終わった動画ファイルの取得を促すイベントを発行するようにしてもよい。あるいは、撮像装置100が進捗状況から後現像処理の完了を把握した場合に外部機器170から高画質現像処理が終わった動画ファイルを取得してもよい。また、転送したRAWファイルも取得してもよい。
このように、RAWファイルを外部機器170に転送して後現像処理を行う場合であっても、撮像装置100で後現像処理を行う場合と同様に後現像処理の進捗状況の情報をユーザに提供することができる。
次に、RAWファイルの複製が外部機器170に送信される場合について説明する。この場合、外部機器170と撮像装置100の双方にRAWファイルが存在するため、両方で後現像処理を行うことができる(必ずしも行わなくてよい)。外部機器170だけで後現像処理を実行する場合は、RAWファイルを転送した場合と基本的には同じであるため、ここでは、外部機器170と撮像装置100の両方で後現像処理を行う場合について説明する。
後現像処理は、撮像装置100の方が進んでいる場合もあれば、外部機器170の方が進んでいる場合もある。外部機器170の方が進んでいるが、通信路165の状態や撮像装置100の負荷などにより、外部機器170から高画質現像処理された動画ファイルを取得できないこともありうる。再生できない動画ファイルの進捗状況を提供すると、かえって使い勝手が低下することもあるため、状況に応じて適切な進捗状況をユーザに提供する必要がある。
外部機器170と撮像装置100の両方で同じRAWファイルに対して後現像処理が行われている場合に、後現像処理の進捗状況の情報をどのようにして提供するかについて、図11に示すフローチャートを用いて説明する。
制御部161はまず、S1400で処理の終了が必要か否かを判断し、終了が必要と判断されれば進捗状況提示処理を終了する。終了が必要でなければ、S1401で制御部161は撮像装置100に存在する、進捗状況の確認対象の動画ファイルの現像ステータス405もしくは制御部161を参照し、高画質現像処理の進捗状況の情報を取得する。また、制御部161はS1401において、対象の動画ファイルの撮影メタデータ406などから、RAWファイルが外部機器170に送信されているかどうかの情報(送信情報)も取得する。
次にS1402で制御部161は、送信情報に基づいて対象の動画ファイルのRAWファイルが外部機器170に送信されていると判定さればS1403へ、送信されていないと判定されればS1408へ処理を進める。
S1403で制御部161は、通信部153を介して外部機器170へアクセス可能な状態にあるか否かを判別する。判別方法に特に制限はないが、コマンドを送信して所定時間内に正常応答があるか否かによって判別するなど、公知の方法を用いることができる。制御部161は、外部機器170へアクセス可能な状態と判別した場合にはS1404へ、アクセス可能な状態と判別できない場合にはS1408へ処理を進める。なお、通信自体は可能であっても、通信品質が低い(エラーが多い、遅延が大きいなどの)場合には、アクセス可能な状態でないと判別してもよい。
S1404で制御部161は、外部機器170の入出力バッファ1703に保存されている、対象の動画ファイルの進捗状況の情報を取得する。なお、上述したように、進捗状況の情報の取得は、撮像装置100から能動的に行わなくてもよい。外部機器170から進捗状況の情報が通知されたり、進捗状況の情報取得を促された場合にも、S1404からの処理を実施する。
S1405で制御部161は、撮像装置100にある動画ファイルから取得した進捗情報と、外部機器170から取得した進捗情報とを比較し、撮像装置100と外部機器170のどちらの後現像処理が進んでいるか判断する。
S1406で制御部161は、外部機器170の方が後現像処理が進んでいると判断した場合にはS1407へ、撮像装置100の方が後現像処理が進んでいると判断した場合にはS1408へ処理を進める。
制御部161は、S1407では外部機器170から取得した進捗状況の情報を選択し、S1408では撮像装置100で取得した進捗状況の情報を選択する。このように、本実施形態では、撮像装置100と外部機器170の両方で後現像処理を行う場合、外部機器170にアクセス可能な状態なら処理が進んでいる方の進捗状況を、外部機器170にアクセス可能な状態でないなら撮像装置100の進捗状況を選択する。外部機器170にRAWファイルが送信されていない場合(S1402、NO)は、撮像装置100の進捗状況を選択する。表示する。
S1409で制御部161は、S1407およびS1408で選択した情報に基づいて、上述の実施形態で説明したように進捗状況を表示部123に表示する。
なお、同一のRAWファイルが複数の外部機器に送信される場合も、同様に対応することができる。まず、RAWファイルが転送されている場合、制御部161は転送先の外部機器のうちアクセス可能な状態のものをS1403で判別し、S1404でアクセス可能な状態の外部機器から進捗状況の情報を取得する。そして制御部161はS1405で、取得した情報を比較し、S1407で、進捗状況が一番進んでいるものを選択する。RAWファイルが転送されている場合には、撮像装置100の進捗状況が存在しないため、S1406,S1408は実行されない。
また、RAWファイルの複製が複数の外部機器に送信されている場合、制御部161は転送先の外部機器のうちアクセス可能な状態のものをS1403で判別し、S1404でアクセス可能な状態の外部機器から進捗状況の情報を取得する。S1405で制御部161は、撮像装置100から取得した進捗状況の情報と、S1404で外部機器から取得した進捗状況の情報とを比較する。
S1406で制御部161は、一番後現像処理が進んでいるのが外部機器170のいずれかであると判断した場合にはS1407へ、撮像装置100が一番後現像処理が進んでいると判断した場合にはS1408へ処理を進める。
S1407で制御部161は、外部機器から取得した進捗状況の情報のうち、一番後現像処理が進んでいるものを選択する。
以上説明したように、外部機器で後現像処理を行う場合においても、撮像装置で後現像処理を行う場合と同様に進捗状況をユーザに提供することができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。