本発明に係る実施形態について図面を参照して説明する。なお、本発明は下記の実施形態及び図面によって限定されるものではない。下記の実施形態及び図面に変更(構成要素の削除も含む)を加えることができるのはもちろんである。また、以下の説明では、本発明の理解を容易にするために、重要でない公知の技術的事項の説明を適宜省略する。
本実施形態に係る画像データ記録装置100は、デジタルカメラ等の撮影装置(コンピュータ)である。画像データ記録装置100は、撮影モードとして一般的な、動画撮影モード及び連写撮影モード等を有する。
画像データ記録装置100は、図1のように、制御部110と、入力部120と、撮像部130と、表示部140と、記憶部150とを備える。
制御部110は、画像データ記録装置100全体を制御する。制御部110は、一時記録部110a、画像保存部110bを備える。一時記録部110aと画像保存部110bとは、特に後述の画像データ記録処理を行う。一時記録部110aは、撮像部130からの撮像信号を受け取り、受け取った撮像信号を所定の画像データに変換し、変換した画像データを記憶部150に一時記録する。画像保存部110bは、記憶部150に記録した画像データを所定のデータ形式で記憶媒体160に保存する。制御部110は、記憶媒体160に保存された画像データを読み出し、読み出した画像データを用いて、この画像データの画像(デジタル写真、デジタル動画)を表示部140に表示する。
入力部120は、ユーザからの操作入力を受け付けて、受け付けた操作入力に応じた操作入力信号を制御部110に対して供給する。
撮像部130は、制御部110の制御のもと、例えば、ユーザの撮影操作により取り込まれる画像(つまり、撮像画像)を表す撮像信号を生成し、生成した撮像信号を制御部110に供給する。
表示部140は、制御部110の制御のもと、画像データ記録装置100を操作するために必要なメニュー画面、設定画面、撮像された画像等を表示する。
記憶部150は、制御部110の制御のもと、後述の画像データ記録処理に使用されるデータ、後述の画像データ等を記憶する。特に、記憶部150は、後述の画像データ記録処理において、画像データを記憶する。また、記憶部150は、制御部110のワーキングメモリとしても機能する。記憶部150は、制御部110が直接アクセスできる記憶装置であれば良く、例えば、画像データ記録装置100の内部メモリによって構成される。
画像データ記録装置100には、記憶媒体160が取り付けられる。記憶媒体160は、制御部110(画像保存部110b)の制御のもと、上記の画像データを記憶する。記憶媒体160は、メモリーカード等によって構成される。
次に、図2を用いて、本実施形態に係る画像データ記録装置100のハードウェア構成を説明する。
画像データ記録装置100は、CPU(Central Processing Unit)111と、ROM(Read Only Memory)112と、画像データ記録プログラム113、TG(Timing Generator)114と、ドライバ115と、AFE(Analog Front End)116と、メディアコントローラ117と、操作キー群121と、撮像素子131と、撮像レンズ群133と、撮像駆動部135と、ディスプレイ141と、RAM(Random Access Memory)151とを備える。画像データ記録装置100の各構成要素のうちの一部は適宜、バス199によって接続される。また、画像データ記録装置100が備える各構成要素は、必要に応じて、TG114、又は、それ以外の図示しないタイミングジェネレータによって、同期が取られるものとする。
制御部110は、画像データ記録プログラム113によって処理を実行するCPU111と、ROM112と、TG114と、ドライバ115と、AFE116と、メディアコントローラ117とを含む。一時記録部110aは、画像データ記録プログラム113によって処理を実行するCPU111と、ROM112と、TG114と、ドライバ115と、AFE116とを含む。画像保存部110bは、画像データ記録プログラム113によって処理を実行するCPU111と、メディアコントローラ117とを含む。また、記憶部150は、RAM151を含む。
CPU111は、画像データ記録装置100の各構成要素の動作を制御する。つまり、CPU111は、各部を制御するための制御データを生成し、生成した制御データを構成要素に供給することによって各構成要素を制御する。特に、CPU111は、入力部120から供給される操作入力信号(入力データの一例)及びROM112に記録されている画像データ記録プログラム113に従い、さらに、ROM112に記録されている各種データを用いて、各構成要素を制御し、後述の画像データ記録処理を実行する。
なお、CPU111に供給されるデータは、例えば、RAM151(つまり、記憶部150、以下同じ)を介して供給される。また、CPU111は、例えば、RAM151を介して各構成要素にデータを供給する。また、CPU111の機能の少なくとも一部は、各種専用回路によって実現されてもよい。つまり、制御部110の少なくとも一部を各種専用回路によって構成してもよい。各種専用回路としては、例えば、DSP(Digital Signal Processor)、各種エンコーダ、各種デコーダ等がある。
ROM112は、適宜の半導体記憶装置によって構成される。ROM112には、画像データ記録プログラム113等の各種プログラム、及び、CPU111が使用する各種データ等が記憶されている。これらのプログラム及びデータは、CPU111によって直接読み出されるか、RAM151に一度記録される。なお、ROM112は、書き換え等が可能な他の記憶装置に変更してもよい。
RAM151は、適宜の半導体記憶装置(特に一次記憶装置)によって構成される。RAM151は、CPU111のワーキングメモリとして機能する他、画像データ等の各種データを一時記憶する。なお、RAM151の機能の一部を、画像データ記録装置100が備える又は画像データ記録装置100の外部に形成される他の記憶装置に持たせてもよい。この場合、画像データ記録装置100が備える他の記憶装置も記憶部150を構成する。
なお、画像データ記録プログラム113は、OS(Operation System)と協働してCPU111に後述の画像データ記録処理を行わせるものであってもよい。また、画像データ記録プログラム113は、持ち運び可能な記録媒体(CD−ROM(Compact Disk Read Only Memory)、又は、DVD−ROM(Digital Versatile Disk Read Only Memory)等)に記録され、画像データ記録装置100に供給されてもよい。また、画像データ記録プログラム113は、ネットワークを介して画像データ記録装置100に供給されてもよい。画像データ記録プログラム113が記録されたROM112、RAM151、又は、持ち運び可能な記録媒体は、コンピュータが読み取り可能なプログラム製品になる。画像データ記録プログラム113は、機能の少なくとも一部が専用回路によって実現されたコンピュータを動作させるものであってもよい。つまり、コンピュータは、全体として、後述の画像データ記録処理を行うものであればよく、画像データ記録プログラム113は、そのようなコンピュータを動作させるものであればよい。
TG114は、CPU111の制御のもと、ドライバ115を動作させるためのパルス信号を生成し、ドライバ115に供給する。つまり、後述の撮像素子131から1フレーム分(つまり、1画像分)の撮像信号が供給される間隔(シャッタースピード)は、TG114からドライバ115に供給されるパルス信号に依存する。また、TG114は、CPU111の制御のもと、AFE116にも同様のパルス信号を供給する。TG114は、パルス信号の供給によって、AFE116とドライバ115との動作タイミングの同期を図る。つまり、AFE116とドライバ115とは、TG114を介してCPU111によって制御される。
ドライバ115は、TG114からのパルス信号に従い、後述の撮像素子131に駆動信号を供給する駆動回路である。
AFE116は、撮像素子131から供給される撮像信号に所定の処理(処理A)を行い、撮像素子131が撮像した画像を表すデジタルデータ(画像元データ、以下同じ)を生成して出力する。AFE116は、例えば、OB(Optical Black)クランプ部、CDS(Correlated Double Sampling)回路、AGC(Automatic Gain Control)回路、A/D(Analog/digital)変換器等(図示しない)を備え、これらによって処理Aを行う。
OBクランプ部は、撮像素子131から供給される撮像信号を受け取り、クランプ処理を行い、クランプ後信号としてCDS回路に供給する。CDS回路は、OBクランプ部から供給されたクランプ後信号に対して、相関二重サンプリングを行い、相関二重サンプリング後の信号をサンプリング後信号としてAGC回路に供給する。AGC回路は、CDS回路から供給されたサンプリング後信号に対して、自動利得調整を行い、自動利得調整後の信号を調整後信号として、A/D変換器に供給する。AGC回路のゲインは、CPU111が制御することもできる。A/D変換器は、AGC回路から供給されたアナログ信号である調整後信号をデジタル信号に変換し、変換後のデジタル信号を画像元データとして、RAM151に記録する。
ここで、画像元データは、撮像素子131の各有効画素(OB等を除いた画像の再生に寄与する画素)の画素値を含む、1フレーム分の静止画像を表すデータである。画像元データは、例えば、RGB(Red-Green-Blue)データである。
CPU111は、適宜、RAM151に記録された画像元データを読み出す。つまり、CPU111は、AFE116から供給された画像元データを取得する。CPU111は、必要に応じて、取得した画像元データに対して各種処理(処理B)を行い、YUV(輝度・色差)データ(画像データの一例)への変換を行う。処理Bは、輪郭強調、オートホワイトバランス、オートアイリス等の画質を向上させる処理を含む。また、処理Bは、必要に応じて画像データ(YUVデータ)が表現する画像のサイズ及び解像度等を変更する処理を含む。CPU111は、処理Bによって変換した1画像分の画像データをRAM151に記録する。この画像データは静止画像の画像データである。
なお、制御部110(一時記録部110a)がDSPを含む場合、DSPは、AFE116から画像元データを受け取って、受け取った画像元データを処理Bによって画像データ(YUVデータ)に変換し、変換した画像データをRAM151に記録する。
CPU111は、適宜、RAM151に記録した画像元データ又は画像データを表示用データに変換し、RAM151に記録する。CPU111は、RAM151に記録した表示用データをディスプレイ141に供給する。表示用データは、例えばRGBデータである。
CPU111は、適宜、RAM151に記録された1以上の画像データを圧縮し、圧縮した圧縮データをRAM151に記録する。制御部110がエンコーダを含む場合、このエンコーダが圧縮を行っても良い。CPU111は、適宜、RAM151に記録した圧縮データをメディアコントローラ117に供給する。圧縮データは、例えば、MPEG形式のデータ又はJPEG形式のデータである。
メディアコントローラ117は、CPU111の制御のもと、圧縮データを受け取って記録媒体50に保存(記録)する。
CPU111とメディアコントローラ117とは、画像データを所定のデータ形式で記憶媒体160に保存する。なお、CPU111は、上記圧縮処理を行わずに、画像データをデータ形式を変更せずにメディアコントローラ117に供給してもよい。つまり、所定のデータ形式は、RAM151に一時記録した画像データのデータ形式であってもよい。
また、メディアコントローラ117は、適宜、CPU111の制御のもと、記録媒体160に保存(記録)した所定形式の画像データを読み出し、読み出した画像データをRAM151に記録する。CPU111は、RAM151に記録した画像データを表示用データに変換し、RAM151に記録する。CPU111は、RAM151に記録した表示用データをディスプレイ141に供給する。
入力部120は、操作キー群121を含んで構成される。操作キー群121は、半押し全押しの二段階操作可能なシャッターキー、モード切り替えキー、十字キー、ズームキー、及び、メニューキー、セットキー、電源キー等の複数の操作キーを含む。
撮像部130は、撮像素子131、撮像レンズ群133、撮像駆動部135によって構成される。
撮像レンズ群133は、フォーカスレンズ及びズームレンズ等から構成されるレンズ群からなる。レンズ群を構成する複数のレンズは、それぞれ、撮像駆動部135が備えるレンズ駆動部によって駆動される。レンズ駆動部は、撮像レンズ群133を光軸方向にそれぞれ移動させるモータと、このモータを駆動するモータドライバとから構成される。レンズ駆動部は、CPU111の制御のもと、モータドライバによってモータを駆動させ、撮像レンズ群133を光軸方向にそれぞれ移動させる。
さらに、撮像駆動部135は、絞り兼用シャッター部を備える。この絞り兼用シャッター部は、絞り兼用シャッターと、駆動回路とを含む。駆動回路はCPU111の制御のもと、絞り兼用シャッターを動作させる。この絞り兼用シャッターは、絞りとシャッターとして機能する。絞りとは、撮像レンズ群133を介して入射する光の量を制御する機構のことをいい、シャッターとは、撮像素子131に光を当てる時間、つまり、受光素子が受光する時間を制御する機構のことをいう。
撮像素子131は、例えば、ベイヤー配列の色フィルタを有する各種CCD(Charge Coupled Device:電荷結合素子)イメージセンサーによって構成される。撮像素子131は、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサー等、他のイメージセンサーであってもよい。撮像素子131は、CPU111の制御のもと、ドライバ115から供給される駆動信号に従い、撮像レンズ群133を介して入射する光による画像を取り込んで画素毎に光電変換し、光電変換により発生した画素毎の電荷をアンプにより増幅し、増幅した信号を撮像信号としてAFE116に供給する。つまり、撮像素子131は、CPU111の制御のもと、撮像信号をAFE116に供給する。
図1の表示部140は、ディスプレイ141によって構成される。ディスプレイ141は、表示画面と表示コントローラとを備える。表示コントローラには、CPU111の制御のもと、RAM151が記憶する表示用データ(例えば、RGBデータ)が供給される。表示コントローラは、供給されたRGBデータをアナログ信号に変換し、変換したアナログ信号に基づいて表示画面に画像を表示する。つまりディスプレイ141は、供給された画像データに基づいて、この画像データが表現する画像を表示する。
次に、本実施形態に係る画像データ記録装置100が行う画像データ記録処理について、図3等を参照して説明する。なお、以下では、動画撮影モードにおける画像データ記録処理について説明する。
例えば、ユーザは、電源投入後に表示部140(ディスプレイ141)に表示されるメニュー画面から動画撮影モードを選択する操作を、入力部120(操作キー群のキー)を用いて行う。これにより、入力部120は、動画撮影モードの選択操作の入力に応じた操作入力信号を制御部110に対して供給する。制御部110は、入力部120からの操作入力信号を受け取ると、画像データ記録処理をスタートする。具体的には、例えば、CPU111は、画像データ記録プログラム113に従って画像データ記録装置100の制御を行い、画像データ記録処理を行う。なお、ユーザが入力部120を用いて他の操作をすることによって、画像データ記録処理は適宜終了する。
画像データ記録処理のスタート後、一時記録部110a(CPU111、TG114、ドライバ115、AFE116)は一つの画像を表示部140に表示する(ステップS301)。
具体的には、例えば、一時記録部110a(CPU111、TG114、ドライバ115)は、予め設定されたシャッタースピードにより撮像部130の駆動制御を行う。一時記録部110a(CPU111、AFE116)は、撮像部130から供給される撮像信号に対して、所定の処理(例えば処理A及びB)を行い、1フレーム分の画像データ(YUVデータ)を取得(生成)する。画像データ記録処理において、この画像データが撮像部130が撮像した画像を表す画像データになる。一時記録部110a(CPU111)は、取得した画像データを表示用データに変換し、変換した表示用データを表示部140に供給する。なお、一時記録部110a(CPU111、AFE116)は、例えば、画像元データを表示用データに変換し、変換した表示用データを表示部140に供給してもよい。表示部140は、供給された表示用データに基づいて画像を表示140に表示する。
一時記録部110a(CPU111)は、入力部120に撮影指示があったかを判断する(ステップS302)。
具体的には、例えば、ユーザが入力部120に撮影指示を入力すると、入力部120は撮影指示に応じた入力信号(入力データ)を、記憶部150(RAM151)に記録する。ここで、撮影指示とは、動画撮影を開始する指示であって、例えばシャッターキーを押下することによって入力される指示である。一時記録部110aは、ステップS302において、撮影指示が入力されていると認識すると(記憶部150に撮影指示が記録されていると判断すると)、入力部120に撮影指示があったと判断する。また、一時記録部110aは、ステップS302において、撮影指示が入力されていないと認識すると(例えば記憶部150に撮影指示が記録されていないと判断すると)、まだ入力部120に撮影指示が入力されていないと判断する。
一時記録部110aは、入力部120に撮影指示がないと判断すると(ステップS302;No)、ステップS301の処理を再び行う。このように、一時記録部110aは、入力部120に撮影指示があったと判断するまで、ステップS301の処理を繰り返し行う。これによって、一時記録部110aは、表示部140に所謂ライブビュー画像を表示する。ユーザは、表示部140に表示されたライブビュー画像を確認して動画撮影の開始タイミングを見極め、所望のタイミングで撮影指示を入力する。
入力部120に撮影指示があると判断すると(ステップS302;Yes)、一時記録部110a(CPU111、TG114、ドライバ115、AFE116)は、撮像部130が撮影した一つの画像を表示部140に表示するとともにこの画像を表す画像データを記憶部150に一時記録する(ステップS303)。
具体的には、ステップS301と同様に、一時記録部110aは、撮像部130の駆動制御を行い、撮像部130からの撮像信号を取得し、取得した撮像信号を用いて1フレーム分の画像データ(YUVデータ)を取得する。一時記録部110aは、取得した画像データを表示用データに変換し、変換した表示用データを表示部140に供給する。なお、一時記録部110a(CPU111)は、例えば、画像元データを表示用データに変換し、変換した表示用データを表示部140に供給するか、画像元データをそのまま表示用データとして表示部140に供給するとともに、この表示用データを上記と同様に画像元データに基づいて画像データを生成してもよい。表示部140は、供給された表示用データに基づいて画像を表示140に表示する。
また、一時記録部110a(CPU111)は、取得した画像データを記憶部150(RAM151)の所定の記憶領域に一時記録する。一時記録部110aは、撮影終了の時期が到来するまで、繰り返しステップS303の処理を行う。このようにして、一時記録部110aは、撮影終了の時期が到来するまで、表示部140にライブビュー画像を表示するとともに、撮像部130が撮像した画像を表す画像データを取得し、取得した画像データを記憶部150に一時記録する処理を順次行う一時記録処理を行う。一時記録部110aは、画像データを記憶部150に時系列に沿って順次一時記録する。例えば、図4のように、一時記録部110aは画像データの新旧が分かるように、所定の記憶領域150a内に順次画像データを記録する(図4では、上から順に記録する)。このようにして、一時記録部110aは記憶部150の所定の記憶領域150a内の記憶領域150aaに、画像データを時系列に沿って順次一時記録していく。画像データを時系列に沿って順次一時記録するとは、例えば、画像データをリアルタイムで一時記録するとともに、画像データの取得の時系列が分かるように記憶領域150aaを順次指定して画像データを記録することである。
次に、一時記録部110a(CPU111)は撮影終了時期であるかを判断する(ステップS304)。
具体的には、例えば、一時記録部110aは、前記の所定の記憶領域150aに空きがない場合に、撮影終了時期であると判断する。また、一時記録部110aは、前記の所定の記憶領域150aに空きがある場合に、撮影終了時期でないと判断する。
また、例えば、一時記録部110aは、ユーザが撮影終了の指示を入力部120を介して入力している場合に、撮影終了時期であると判断する。また、一時記録部110aは、ユーザが撮影終了の指示を入力部120を介して入力していない場合に、撮影終了時期でないと判断する。ユーザが入力部120に撮影終了を入力すると、入力部120は撮影終了に応じた入力信号を、記憶部150(RAM151)に記録する。ここで、撮影終了とは、動画撮影を終了する指示であって、例えばシャッターキーを再度押下することによって入力される指示である。一時記録部110aは、ステップS304において、撮影終了が入力されていると認識すると(例えば記憶部150に撮影終了が記録されていると判断すると)、撮影終了時期であると判断する。また、一時記録部110aは、ステップS304において、撮影終了が入力されていないと認識すると(例えば記憶部150に撮影終了が記録されていないと判断すると)、まだ撮影終了時期でないと判断する。
一時記録部110aは、撮影終了時期でないと判断すると(ステップS304;No)、ステップS303の処理を再び行う。このように、一時記録部110aは、撮影終了時期であると判断するまで、ステップS303の処理を繰り返し行う。これによって、一時記録部110aは、上述のように、撮影終了の時期が到来するまで、表示部140にライブビュー画像を表示するとともに、画像データを記憶部150に時系列に沿って順次一時記録する。ユーザは、表示部140に表示されたライブビュー画像を確認して動画撮影の終了タイミングを見極めることができる。
一時記録部110a(CPU111)は、撮影終了時期であると判断する(つまり、撮影終了時期を検出する)と(ステップS304;Yes)、記憶部150に一時記録した複数の画像データを用いて、これら画像データが表す画像間の被写体像の変化を検出する(ステップS305)。
上記ステップS303は、通常複数回行われる。このため、複数の画像データが記憶部150の所定の記憶領域150aに一時記録される。一時記録部110aは、ステップS303において一時記録した複数の画像データを用いて、画像間の被写体像の変化を検出する。例えば、一時記録部110aは、現在(撮影終了時期、後述の延長撮影終了時期等)から遡った所定期間内に記憶部150の所定の記憶領域150aに一時記録された複数の画像データを用いて、画像間の被写体像の変化を検出する。この複数の画像データは、現在から所定期間逆のぼった期間に記録された画像データである。この所定期間は、例えば、現在から遡った一秒間である。このような期間は、フレームレートから算出できる。また、所定期間内は、例えば、十枚分の画像データ等、画像データの数で規定してもよい。一時記録部110aは、記憶部150の所定の記憶領域150aに記録した画像データを全て用いてもよい。
画像間の被写体像の変化は、例えば、動きベクトル、差分絶対値和(Sum of Absolute Differences: SAD)、差分自乗和(Sum of Squared Differences: SSD)等を用いて求められる値である。どれを用いて画像間の被写体像の変化を求めるかは予め設定される。一時記録部110aは、いずれか少なくとも一つを用いて画像間の被写体像の変化を検出する。
画像間の被写体像の変化を動きベクトルを用いて求める場合、一時記録部110aは、例えば、検出に用いる複数の画像データを用いて、画像を分割したマクロブロック毎の、最古の画像から最新の画像までの動きベクトルの大きさを検出する。一時記録部110aは、検出した、各マクロブロックにおける動きベクトルの大きさの総和、平均、最小値、最大値等を算出する。この算出した値が画像間の被写体像の変化となる。このようにして、一時記録部110aは、画像間の被写体像の変化を検出する。
画像間の被写体像の変化を差分絶対値和又は差分自乗和を用いて求める場合、一時記録部110aは、例えば、検出に用いる複数の画像データそれぞれについて、時間的に隣接する画像データ同士についての差分絶対値和又は差分自乗和の値を検出する。一時記録部110aは、検出した差分絶対値和又は差分自乗和の値それぞれを用いて、検出に用いる複数の画像データについての最新の画像から最古の画像にかけての差分絶対値和又は差分自乗和の値の総和、平均、最小値、最大値等を算出する。この算出した値が画像間の被写体像の変化となる。このようにして、一時記録部110aは、画像間の被写体像の変化を検出する。
なお、一時記録部110aは、検出に用いる複数の画像データのうちの、最古の画像データと最新の画像データ等、検出に用いる複数の画像データのうちの予め設定された二つ以上の画像データを選択し、選択した二つ以上の画像データに用いて画像間の被写体像の変化を検出してもよい。
一時記録部110a(CPU111)は、画像間の被写体像の変化が大きいか(具体的には、所定の基準を満たすか)を判断する(ステップS306)。具体的には、例えば、一時記録部110aは、ステップS305の処理で検出した画像間の被写体像の変化(X)が閾値X1(このデータは、例えば予めROM112に記録されている。)以上であるかを判断する。閾値X1は、予め設定されている値であり、画像間の被写体像の変化がこの値以上である場合に、画像の変化が大きくなるような値である。画像間の被写体像の変化(X)が閾値X1以上となる場合、一時記録部110aは、画像間の被写体像の変化が大きいと判断する。画像間の被写体像の変化(X)が閾値X1未満である場合、一時記録部110aは、画像間の被写体像の変化が大きくないと判断する。
画像間の被写体像の変化が大きい場合、画像の変化が大きくなっているので、検出対象の複数の画像データによって表現される動画像(画像データの静止画像の連続)はユーザの興味を引く動画像である可能性が高い。さらに、この画像間の被写体像の変化は、例えば動画像の終盤(現在から遡った所定期間内の動画像)において検出されたものであり、現在以降でもこの変化が続く可能性が高い。つまり、現在以降でも、ユーザの興味を引く被写体の動きが撮影対象のシーン内で展開される可能性が高い。
一時記録部110a(CPU111)が画像間の被写体像の変化が大きくない(所定の基準を満たさない)と判断すると(ステップS306;No)、画像保存部110b(CPU111、メディアコントローラ117)は、複数の画像データを所定のデータ形式で記憶媒体160に保存し(ステップS311)、画像データ記録装置100は、画像データ記録処理を終了する。
具体的には、例えば、画像保存部110bは、記憶部150の所定の記憶領域150aに一時記録している複数の画像データを所定のデータ形式の画像データ(ここでは、例えば、mpeg形式の動画像データ)に変換(圧縮)し、変換後の変換後データを記憶媒体160に保存する(ステップS311)。画像間の被写体像の変化が大きくない場合、画像の変化が小さいので、現在以降においても画像の変化が小さい可能性が高く、ユーザの興味のあるシーンは終了している可能性が高い。このため、一時記録部110aは、一時記録処理を終了し、画像保存部110bは、画像データを所定のデータ形式で記憶媒体160に保存する。なお、記憶媒体160に保存した画像データは、記憶部150から削除される。
一時記録部110a(CPU111、ROM112)は、画像間の被写体像の変化が大きい(所定の基準を満たす)と判断すると(ステップS306;Yes)、ステップS305で検出した画像間の被写体像の変化に基づいて、延長撮影処理の処理条件(つまり、続行する一時記録処理の処理条件)を特定する。
具体的には、例えば、一時記録部110aは、画像間の被写体像の変化の値と処理条件とを対応付けた延長撮影条件テーブル(図5参照、このテーブルは例えばROM112に記録されている。)を参照し、ステップS305で検出した画像間の被写体像の変化(X)の値に対応する延長撮影処理の処理条件を特定する。例えば、画像間の被写体像の変化(X)が所定値X2以上でX3未満である場合、一時記録部110aは、処理条件のうちの、延長撮影処理の期間(一時記録処理の続行期間)を3秒間、フレームレート(画像データの取得間隔)を30fps(frame per second)として処理条件を特定する。なお、延長撮影処理の期間(一時記録する画像データの数等によって制御できる)、フレームレート(シャッタースピード等によって制御できる)等は、固定であっても良い。また、処理条件は、解像度(例えば、画像データへの変換時における解像度)等を含んでも良い。
一時記録部110a(CPU111、TG114、ドライバ115、AFE116)は、延長撮影処理の処理条件(つまり、続行する一時記録処理の処理条件)を特定すると、この処理条件でステップS303と同様の処理を行う(ステップS308)。次に、一時記録部110a(CPU111)は、記憶部150の所定の記憶領域150aに画像データが記録されていない空き領域が存在するか判断し(ステップS309)、空き領域が存在すると(ステップS309;Yes)、延長撮影処理の期間(一時記録処理の続行期間)の終了時期が到来しているか判断する(ステップS310)。この判断は、例えば、記録した画像データの数によって行われる。フレームレートが決まっているので、画像データの数で期間が算出できる。延長撮影処理の期間(処理条件に含まれる)の終了時期が到来していなければ(ステップS310;No)、一時記録部110a(CPU111、TG114、ドライバ115、AFE116)は、ステップS308の処理を再び行う。
上記のように、一時記録部110aは、所定の記憶領域150aに画像データが記録されていない空き領域が存在する限り、延長撮影処理の期間が経過するまで、延長撮影処理の処理条件に従って、ステップS308の処理を繰り返し行う(延長撮影)。つまり、一時記録部110aは、ステップS307で特定した処理条件に従って、一時記録処理を続行する。
上記で説明した延長撮影について図6を参照して説明すると、一時記録部110aは、撮影終了時期から遡った所定期間内に取得した画像データをもとに画像間の被写体像の変化を検出し、この変化に応じて撮影終了時期から第1回延長撮影の処理(第1回延長撮影)、つまり、一時記録処理の続行を行う。
上記のように、一時記録部110aは、検出した画像間の変化に基づいて一時記録処理の処理条件を特定し、特定した処理条件に基づいて一時記録処理を続行する。これによって、画像間の被写体像の変化に応じて適切に一時記録処理を続行できる。
例えば、画像間の被写体像の変化が小さければ、ユーザの興味のあるシーンがすぐに終了する可能性があるので、一時記録処理の続行期間を短くしてもよい。このため、画像間の被写体像の変化が小さければ、一時記録処理の続行期間を短くできるので、画像データ記録装置100の処理負担の軽減を図ることができる。
また、例えば、画像間の被写体像の変化が小さければ、フレームレートを落としても動画の画質等にそれほど影響が出なくなる場合がある。このため、画像間の被写体像の変化が小さければ、フレームレートを落とすことができる。これによって、画像データ記録装置100の処理負担の軽減を図ることができる。
また、例えば、画像間の被写体像の変化が小さければ、解像度を落としても動画の画質等にそれほど影響が出なくなる場合がある。このため、画像間の被写体像の変化が小さければ、解像度を落とすことができる。これによって、画像データ記録装置100の処理負担の軽減を図ることができる。
なお、ステップS309において、一時記録部110aが記憶部150の所定の記憶領域150aに画像データが記録されていない空き領域が存在しないと判断すると(ステップS309;No)、画像データをさらに一時記録できないので、画像保存部110b(CPU111、メディアコントローラ117)は、ステップS311の処理を行う。
また、ステップS310において、一時記録部110a(CPU111)は、延長撮影処理の期間(一時記録処理の続行期間)の終了時期(延長撮影終了時期)が到来している判断すると(ステップS310;Yes)、ステップS305の処理を再び行う。このとき、一時記録部110aは、上記の現在は延長撮影終了時期になる。このようにして、一時記録部110aは、記憶部150の所定の記憶領域150aに空きの領域がある限り、また、画像間の被写体像の変化が大きい限り、延長撮影処理を繰り返し行う(一時記録処理を繰り返し続行する)。
この延長撮影の繰り返しについて図7を参照して説明すると、一時記録部110aは、第1回延長撮影の延長撮影終了時期から遡った所定期間内に取得した画像データをもとに画像間の被写体像の変化を検出し、この変化に応じて延長撮影終了時期から第2回延長撮影の処理(第2回延長撮影)、つまり、一時記録処理の再続行を行う。もちろん、一時記録部110aは、第3回目以降の延長撮影を適宜行っても良い。
なお、画像データ記録装置100は、画像データ記録処理を連写撮影モードにおいても実行できる。この場合、画像保存部110bは、一時記録した複数の画像データそれぞれ、又は、一時記録した複数の画像データのうちの一部を、例えば、jpeg形式に変換して記憶媒体160に保存する。
また、上記では、一時記録する画像データはYUVデータであるとして画像データ記録処理を説明したが、画像データは撮像部130が撮像した画像を表現可能なデータであれば、そのデータ形式は問わない。つまり、画像データは、例えば、画像元データ(例えばRGBデータ)のデータ形式、jpegのデータ形式、mpegデータ形式等のデータであってもよく、解像度、画像サイズ等が変更された画像データであってもよい。この場合、画像データ記録装置100(一時記録部110a等)は、適宜画像データを所望のデータ形式に変換(圧縮等も含む)して、画像データ記録処理に用いる。
また、延長撮影の際の処理条件は固定であってもよい。この場合、ステップS307は不要になる。
また、画像データ記録装置100は、撮像部130、表示部140等を備えていないパーソナルコンピュータの本体であってもよい。この場合、撮像部130、表示部140は、画像データ記録装置100と外部接続される。
上記で説明したように、本実施形態に係る画像データ記録装置100は、撮像素子131が撮像した画像を表す画像データを取得し、取得した画像データを記憶部150に一時記録する処理を順次行う(順次実行する)一時記録処理を行う(実行する)一時記録部110aと、一時記録部110aが記憶部150に一時記録した画像データを所定のデータ形式で記憶媒体160へ保存する保存処理を行う(実行する)画像保存部110bと、を備える。そして、画像保存部110bが保存処理を行うときに、一時記録部110aは、一時記録処理で記憶部150に記録した複数の画像データのうちの少なくとも一部の複数の画像データを用いて、これら画像データの画像間の被写体像の変化を検出し、検出した被写体像の変化に基づいて一時記録処理を続行する。これによって、本実施形態に係る画像データ記録装置100は、被写体像の変化に基づいて(所定の基準を満たす場合に)延長撮影を自動で続行する。そして、ユーザが撮影終了を指示した後にユーザが撮影したいシーンが生じても、この延長撮影によってこのシーンを撮り逃す可能性が低くなる。そして、この延長撮影が自動で続行されるため、画像データ記録装置100はユーザにとって使い勝手が良い。
また、一時記録部110aは、一時記録処理を続行しているときに記憶部150に記録した複数の画像データのうちの少なくとも一部の複数の画像データを用いて、これら画像データの画像間の被写体像の変化を検出し、検出した被写体像の変化に基づいて一時記録処理を再度続行するので、繰り返し延長撮影が続行され、上記で説明したシーンの撮り逃しを効率良く防止又は軽減できる。