本発明の実施の形態について図面を参照しながら説明する。本実施形態では、本発明が、画像データの記録、再生および消去可能なデジタルカメラに適用された場合を示す。
また、本実施形態のデジタルカメラでは、撮影モードと再生モードが設定可能である。撮影モードでは、動画撮影と静止画撮影を行うことができる。さらに、動画撮影中にも静止画の同時撮影を行うことができる。
また、本実施形態のデジタルカメラで記録される画像データは、画像サイズ1920x1080ピクセルの各フレームデータを、ハフマン符号を用いて可逆圧縮し、連続して記録されたデータ構造を有する。また、本実施形態の画像データは、フレーム間圧縮が行われず、フレームレート60fpsで記録される。なお、ハフマン符号以外の圧縮方式を用いて圧縮された画像データに対しても、本発明は適用可能である。また、圧縮しないRAW画像データを用いた場合、MotionJPEGのように不可逆な圧縮形式を用いた場合、さらにはMPEGのようにフレーム間圧縮する圧縮形式を用いた場合でも、本発明は適用可能である。
(デジタルカメラの概要説明)
図1は実施の形態におけるデジタルカメラ1の背面側から視たユーザインタフェースの構成を示す図である。このデジタルカメラ1のユーザインタフェースは、液晶ディスプレイ(LCD)モニタ21、静止画撮影ボタン22、動画撮影ボタン23、モード切替スイッチ24、操作ボタン25、setボタン27およびmenuボタン26から構成される。
液晶ディスプレイ(LCD)モニタ21は撮影画像や再生画像などを表示する。静止画撮影ボタン22(静止画撮影指示手段)を押下すると、静止画撮影が行える。動画撮影ボタン23(動画撮影指示手段)を押下すると、動画撮影が行える。モード切替スイッチ24は、再生モード、撮影モードおよび電源OFF状態のいずれかに切り替える。
操作ボタン25は、デジタルカメラ1の操作を行うために使用される。操作ボタン25は上下左右の4つのボタンで構成されている。この操作ボタン25、setボタン27およびmenuボタン26の3つを使って、デジタルカメラ1の撮影/再生操作やデジタルカメラの設定を行うことができる。
モード切替スイッチ24は、左側に設定されると再生モード、右側に設定されると撮影モード、中央に設定されると電源OFFの状態に切り替えることができる。本実施形態では、撮影モード時の動作、再生モード時の動作を順番に説明する。
図2はデジタルカメラ1の電気的構成を示すブロック図である。図1において、撮像部10は被写体の光学像を電気信号に変換する。撮像部10は、撮影レンズ、シャッタ・絞りおよびCCDで構成されており、オートフォーカス機能を有する。撮像部10で変換された電気信号はA/D変換器30に送られる。また、撮像部10の動作に関する情報はシステムコントローラ70に送られる。
マイク20は音声を電気信号に変換する。アナログ−デジタル(A/D)変換器30は、撮像部10からの電気信号をデジタル画像データに変換し、エンコーダ40に送信する。また、撮影モードの場合、A/D変換器30はLCD(モニタ)21に表示するためにD/A変換器120に送信する。
エンコーダ40はデジタル画像データ(フレームデータ)を圧縮符号化する機能を有する。本実施形態では、前述したように、ハフマン符号でフレームデータは可逆圧縮される。なお、前述したように、ハフマン符号以外の圧縮方式を用いても、本発明は同様に適用される。エンコーダ40は、システムコントローラ70からの指示に従って、圧縮したフレームデータをシステムコントローラ70やデータアクセス制御部50に送る。
データアクセス制御部50はメモリカード60とデータのやり取りを行う。また、データアクセス制御部50は、システムコントローラ70からの指示に従い、画像データの記録や読み込みを行う。メモリカード60は取り外し可能な外部記録媒体である。メモリカード60は画像データなどのデジタルデータをファイルとして記録する。
システムコントローラ70は、本装置の全般的な動作制御や信号処理を行うものであり、マイクロコンピュータを有する。デジタルカメラ全体の処理を実現するために必要な制御プログラムはシステムコントローラ70の内部メモリ80に記録されている。なお、図2においては、分かり易くするために、内部メモリ80はシステムコントローラ70の外側に示されているが、実際にはシステムコントローラ70の内部に設けられている。
内部メモリ80は、制御プログラムが格納されている読み出し専用メモリと、本装置が一時的な記憶メモリとして使用するための読み書き可能なメモリとからなる。
デジタルカメラ1の操作部90は、前述した図1の静止画撮影ボタン22、動画撮影ボタン23、モード切替スイッチ24、操作ボタン25、setボタン27およびmenuボタン26を有する。操作部90の操作情報は、システムコントローラ70に送られ、システムコントローラ70で管理される。
デコーダ100は圧縮符号化されたデジタルデータを復号化する機能を有する。デジタル−アナログ(D/A)変換器120は、表示部であるLCD(モニタ)21に表示するために、デジタル画像データをアナログ信号に変換する。スピーカ140は音を出力する。
(撮影モードの動作の説明)
デジタルカメラ1の動作について説明する。本実施形態のデジタルカメラ1には、メモリカード60に画像データを記録する撮影モードと、メモリカード60に記録されている画像データを再生する再生モードとの2つのモードがある。
まず、モード切替スイッチ24を右側(図1参照)に設定した場合の撮影モード時の動作を示す。図3は撮影モード時の動作を示すフローチャートである。このフローチャートの処理を実現する制御プログラム(記録プログラム)は、システムコントローラ70の内部メモリ80に記録されており、システムコントローラ70内のCPU(図示せず)によって実行される。なお、本実施形態では、この制御プログラムは、システムコントローラ70に記録されているが、メモリカード60などの外部記録媒体に記録され、システムコントローラ70にロードされて実行されるようにしてもよい。また同様に、ネットワーク上にプログラムが存在する場合でも、本発明は同様に適用される。
まず、システムコントローラ70は、1秒分のフレームデータを内部メモリ80に保持する処理を行う(ステップS1)。このステップ処理では、システムコントローラ70は、エンコーダ40から圧縮フレームデータを受け取り、1秒分(60フレーム分)のフレームデータを内部メモリ80に保持しておく。本実施形態では、デジタルカメラ1は、動画撮影ボタン23または静止画撮影ボタン22が押された時よりも1秒前のデータから、画像データを記録する。このため、このステップでは、1秒分の画像データを内部メモリに保持するように、処理が行われる。この1秒分のフレームデータを保持する処理の詳細については後述する。
システムコントローラ70は、動画撮影ボタン23が押されたか否かを判別する(ステップS2)。動画撮影ボタン23が押された場合、システムコントローラ70は、動画撮影モード時の1フレーム分の画像データの記録処理を行う(ステップS3)。このステップ処理では、システムコントローラ70は、動画像データの記録処理を1フレームずつ行い、この1フレームの記録処理を繰り返すことで、連続したフレームデータの記録を行う。なお、ステップS3の動画像データ記録処理の詳細については後述する。
動画像データの記録処理中、システムコントローラ70は、静止画撮影ボタン22が押されたか否かを判別する(ステップS4)。静止画撮影ボタン22が押された場合、システムコントローラ70は、同時撮影の処理を行う(ステップS5)。このステップ処理では、静止画撮影ボタン22が押された時間の前後の複数フレームに静止画フラグを付ける等の処理を行うが、この処理の詳細については後述する。ステップS5の処理後、システムコントローラ70は、ステップS3の処理に戻り、1フレームごとの動画像データ記録処理を行う。
一方、ステップS4で静止画撮影ボタン22が押されなかった場合、システムコントローラ70は、動画像データ記録処理中、再度、動画撮影ボタン23が押されたか否かを判別する(ステップS6)。ここで、動画像データの記録処理中に動画撮影ボタン23を押す操作は、動画像データ記録の終了操作となる。ステップS6で動画撮影ボタン23が押されなかった場合、システムコントローラ70は、ステップS3の処理に戻り、1フレームごとの動画像データ記録処理を続ける。
一方、ステップS6で動画撮影ボタン23が押された場合、システムコントローラ70は、動画撮影モード時の記録処理を停止する(ステップS7)。このステップ処理では、1フレームごとに記録していた動画像データの記録処理を停止する処理が行われる。この後、システムコントローラ70はステップS10の処理に進む。
一方、ステップS2で動画撮影ボタン23が押されず、画像データ記録を行っていない場合、システムコントローラ70は、静止画撮影ボタン22が押されたか否かを判別する(ステップS8)。静止画撮影ボタン22が押されていない場合、システムコントローラ70はステップS10の処理に進む。一方、ステップS8で静止画撮影ボタン22が押された場合(静止画撮影指示時)、システムコントローラ70は、静止画撮影モード時の画像データの記録処理(静止画記録)を行う(ステップS9)。本実施形態では、静止画撮影モード時の記録処理では、複数フレーム分の画像データが記録される。ステップS9の画像データの記録処理の詳細については後述する。
そして、システムコントローラ70は、ステップS1で内部メモリ80に保持しておいたフレームデータの更新を行う(ステップS10)。すなわち、システムコントローラ70は、1秒より古いフレームデータを消去し、最新の1秒分のフレームデータを保持するように、処理を行う。このステップ処理によって、常に最新の1秒分のフレームデータを保持することができるようになる。
システムコントローラ70は、モード切替スイッチ24が切り替えられたか否かを判別する(ステップS11)。モード切替スイッチ24が切り替えられなかった場合、システムコントローラ70は、撮影モードの処理を続けるために、ステップS2の処理に戻る。一方、モード切替スイッチ24が再生モードまたは電源オフの状態に切り替えられた場合、システムコントローラ70は本撮影モードの処理を終了する。
このように、ステップS2からステップS11の処理を繰り返すことで、画像データの記録が行われる。
(1秒分のフレームデータ保持)
図4はステップS1における1秒分(60フレーム分)のフレームデータを内部メモリ80に保持する処理手順を示すフローチャートである。まず、システムコントローラ70は、圧縮フレームデータを取得する(ステップS21)。この処理では、撮像部10からの画像データがエンコーダ40によって圧縮され、システムコントローラ70はその圧縮画像データ(圧縮フレームデータ)を受け取る。
システムコントローラ70は時間情報を取得する(ステップS22)。すなわち、システムコントローラ70は、内部時計(タイマ)を用いて時間を計測し、その情報を取得する。
システムコントローラ70はフレーム情報を作成する処理を行う(ステップS23)。すなわち、システムコントローラ70は、ステップS21、S22で取得した情報を元に、フレーム情報を作成する。
ここで、1フレーム分の画像データ(記録フレームデータと呼ぶ)の構造について説明する。図5は記録フレームデータの構造を示す図である。記録フレームデータはフレーム情報および圧縮フレームデータからなる。圧縮フレームデータは圧縮した画像データそのものである。一方、フレーム情報はその付加情報である。
本実施形態では、フレーム情報は、次のような情報を有する。フレーム情報のバイト数(2バイト)、圧縮フレームデータのバイト数(8バイト)、タイムコード(8バイト)、撮影日時(8バイト)、撮影モード(1バイト)、静止画フラグ(1バイト)、撮影動作情報(1バイト)および予約領域(3バイト)が情報である。なお、それぞれの情報の領域は、上記カッコ内に示されるデータサイズとなる。
ここで、「フレーム情報のバイト数」の値は固定であり、常に「32」となる。また、「圧縮フレームデータのバイト数」はフレームデータごとに異なり、ステップS21で取得した圧縮フレームデータのデータサイズに設定される。
「タイムコード」には、撮影開始時からの時間情報が1ms単位で記録される。ここでは、まだ撮影が開始していないので、「タイムコード」は値0に設定される。
「撮影日時」には、現在の日時情報が1ms単位で記録される。
「撮影モード」には、動画撮影モードか静止画撮影モードかを示す値が記録される(撮影モード記録)。動画撮影モードの場合、値1が記録される。静止画撮影モードの場合、値2が記録される。ここでは、まだ撮影が開始していないので、「撮影モード」は値0に設定される。
「静止画フラグ」は、記録するフレームデータが静止画であるか否かを指し示すフラグである。ここではまだ撮影が開始していないので、静止画フラグは値0に設定される。
「撮影動作情報」は、撮影時のカメラ動作に関する情報であり、記録される(撮影動作情報記録)。図6は撮影動作情報の構造を示す図である。本実施形態では、ビットごとに意味が決まっており、各フレームデータの動作に関するビットを立てることで、フラグが設定される。例えば、撮影ボタン半押しのフレームデータである場合、0番のビットが値1に設定される。ここではまだ撮影が開始していないため、全てのビットは値0に設定される。
「予約領域」は現在使用されていないが、将来のために予約されている領域である。本実施形態では、予約領域は全て0を設定される。
フレームデータに対してフレーム情報が作成されると、システムコントローラ70は、ステップS23で作成したフレーム情報と、ステップS21で取得した圧縮フレームデータをもとに、記録フレームデータを作成する処理を行う(ステップS24)。
図5に示したように、記録フレームデータは、フレーム情報の後に圧縮フレームデータが付加されたデータ構造を有する。システムコントローラ70は、ステップS24で作成した1フレーム分の記録フレームデータを、内部メモリ80に保持する処理を行う(ステップS25)。
システムコントローラ70は、1秒分の記録フレームデータを内部メモリ80に保持したか否かを判別する(ステップS26)。1秒分の記録フレームデータを内部メモリ80に保持した場合、システムコントローラ70は本処理を終了し、元の処理に復帰する。一方、まだ1秒分の記録フレームデータを保持できていない場合、システムコントローラ70は、ステップS21の処理に戻り、1秒分の記録フレームデータが蓄えられるまで、本処理を繰り返す。
このように、システムコントローラ70はステップS21からステップS26までを繰り返し処理することで、撮影の開始前に1秒(一定時間)分の記録フレームデータを内部メモリ80に蓄えることができる。なお、一定時間としては、1秒に限らず、適当な任意時間でよい。また、撮影の開始前に蓄えられる記録フレームデータは、一定時間分でなく、一定フレーム数分であってもよい。
(動画撮影モードの画像データ記録)
図7はステップS3における動画撮影モード時の画像データ記録手順を示すフローチャートである。この処理では、1フレーム分の画像データが記録される。
まず、システムコントローラ70は、記録する動画像データファイルを、既に作成済みか否かを判別する(ステップS31)。
ここで、動画像データ記録時に、最初のフレームデータを記録する場合、まだ動画像データファイルを作成していない状態となる。一方、2フレーム目以降のフレームデータを記録する場合、既に動画像データファイルを作成した後にフレームデータを追加する処理となる。
ステップS31でまだ動画像データファイルを作成していない場合、システムコントローラ70は、内部メモリ80に保持されている1秒分の記録フレームデータをメモリカード60に画像データファイルとして記録する処理を行う(ステップS32)。このとき、撮影モードは動画撮影モードであるので、システムコントローラ70は、各記録フレームデータの撮影モードを全て動画撮影モード(=値1)に変更しながら記録する。
図8は画像データの構造を示す図である。図8において、1つ1つの四角形が記録フレームデータであるとする。その記録フレームデータが連続して繋がったデータが画像データである。ここでは、1秒分の記録フレームデータ、つまり60個の記録フレームデータが繋がったものを、画像データファイルとして記録する。
一方、ステップS31で動画像データファイルを既に作成済みである場合、システムコントローラ70はそのままステップS33の処理に進む。
システムコントローラ70は、圧縮フレームデータを取得する(ステップS33)。この処理では、撮像部10からの画像データはエンコーダ40によって圧縮され、システムコントローラ70はその圧縮画像データを受け取る。
システムコントローラ70は、撮像部10および操作部90から撮影動作情報を取得する(ステップS34)。例えば、動画撮影開始の直後、撮影動作情報として「撮影ボタン全押し」の情報が取得される。
システムコントローラ70は、撮影モードを取得する(ステップS35)。ここでは、動画撮影ボタン23が押されたときの記録処理であるので、動画撮影モードが取得される。
システムコントローラ70は、時間情報の取得を行う(ステップS36)。すなわち、システムコントローラ70は、内部時計を用いて時間を計測し、その情報を取得する。
システムコントローラ70は、フレーム情報を作成する処理を行う(ステップS37)。すなわち、システムコントローラ70は、ステップS33からステップS36までの処理で取得した情報を元に、フレーム情報を作成する。
ここで、作成されるフレーム情報の「タイムコード」には撮影開始時からの時間情報が1ms単位で記録される。「撮影日時」には現在の日時情報が1ms単位で記録される。また、ここでは動画撮影モードとなるので、「撮影モード」には、値1が設定される。「静止画フラグ」は、記録するフレームデータが静止画であるか否かを指し示すフラグである。ここでは単純な動画像データの記録であるので、静止画フラグは値0に設定される。「撮影動作情報」は撮影時のカメラ動作に関するフラグである。ここでは単純な動画像データの記録であるので、記録開始時、最初のフレーム情報にだけ、「撮影ボタン全押し」のビットが値1に設定される。「予約領域」は全て値0に設定される。
システムコントローラ70は、ステップS37で作成したフレーム情報、およびステップS33で取得した圧縮フレームデータをもとに、記録フレームデータを作成する処理を行う(ステップS38)。作成される記録フレームデータは、図5で既に説明したように、フレーム情報の後に圧縮フレームデータが付加されたデータ構造を有する。
システムコントローラ70は、記録対象となっている画像データファイルの末尾に、ステップS38で作成した記録フレームデータを追加する処理を行う(ステップS39)。
このように、システムコントローラ70はステップS32からステップS39までの処理を行うことで、1フレーム分の画像データの保存が行われる。この処理を繰り返し行うことで、図8に示すように、フレームデータの連続した画像データが保存される。さらに、動画像データ記録の際、最初に必ず1秒分のフレームデータが保存される。
(静止画撮影モードの画像データ記録)
図9はステップS9における静止画撮影モード時の画像データ記録手順を示すフローチャートである。この処理では、2秒分のデータ、つまり120フレーム分の画像データが記録される。
システムコントローラ70は、内部メモリ80に保持されている1秒分の記録フレームデータをメモリカード60に画像データファイルとして記録する処理を行う(ステップS41)。このとき、撮影モードは静止画撮影モードとなるので、システムコントローラ70は、各記録フレームデータの撮影モードを全て静止画撮影モード(=値2)に変更しながら記録する。
システムコントローラ70は圧縮フレームデータを取得する(ステップS42)。撮像部10からの画像データはエンコーダ40によって圧縮され、システムコントローラ70はその圧縮画像データを受け取る。
システムコントローラ70は、撮像部10および操作部90から撮影動作情報を取得する(ステップS43)。静止画撮影の場合、状況に応じて、撮影動作情報として「撮影ボタン半押し」、「撮影ボタン全押し」、「AF合焦」、「ストロボ発光」および「撮影ポイント」の情報が取得される。
システムコントローラ70は撮影モードを取得する(ステップS44)。ここでは、静止画撮影ボタン22が押されたときの記録処理のため、静止画撮影モードが取得される。
システムコントローラ70は、時間情報の取得を行う(ステップS45)。すなわち、システムコントローラ70は、内部時計を用いて時間を計測し、その情報を取得する。
システムコントローラ70は、フレーム情報を作成する処理を行う(ステップS46)。すなわち、システムコントローラ70は、ステップS43からステップS45で取得した情報を元に、フレーム情報を作成する。
ここで、作成されるフレーム情報の「タイムコード」には、撮影開始時からの時間情報が1ms単位で記録される。「撮影日時」には、現在の日時情報が1ms単位で記録される。また、ここでは静止画撮影モードとなるので、「撮影モード」には値2が設定される。「静止画フラグ」は、記録するフレームデータが静止画であるか否かを指し示すフラグである。ここでは、静止画像データの記録のため、静止画フラグには値1が設定される。「撮影動作情報」は撮影時のカメラ動作に関するフラグである。ここでは、静止画像データの記録のため、動画像データ記録の場合と比べると、いろいろな動作情報がセットされる。状況に応じて、ステップS43で取得した撮影動作情報に対応する各ビットが値1に設定される。「予約領域」には全て値0が設定される。
システムコントローラ70は、ステップS46で作成したフレーム情報と、ステップS42で取得した圧縮フレームデータをもとに、記録フレームデータを作成する処理を行う(ステップS47)。図5で既に説明したように、記録フレームデータは、フレーム情報の後に圧縮フレームデータが付加されたデータ構造を有する。
システムコントローラ70は、記録対象となっている画像データファイルの末尾に、ステップS47で作成した記録フレームデータを追加する処理を行う(ステップS48)。
システムコントローラ70は、画像データに2秒分のフレームデータを記録したか否かを判別する(ステップS49)。まだ2秒分記録していない場合、システムコントローラ70はステップS42に戻り、処理を続ける。一方、2秒分記録した場合、システムコントローラ70は静止画像データ記録の処理を終了し、元の処理に復帰する。
このように、システムコントローラ70がステップS41からステップS49の処理を行うことで、撮影ボタンを押される1秒前のフレームデータから2秒分のフレームデータの記録が行われる。ここで記録される画像データの構造は、図8に示した画像データの構造と同様である。さらに、静止画撮影時の撮影動作情報も、対応するフレームデータとともに記録される。
図10は静止画像データの構造を示す図である。図8と同様に、1つ1つの四角形が記録フレームデータであるとする。図10では、途中のフレームデータの記述を省略しているが、静止画像データは、全体として2秒分のフレームデータ、つまり120フレーム分のデータ構造を有する。
また図10では、各フレームデータに静止画フラグと撮影動作情報がどのように関連付けられているか分かるように、静止画フラグが値1のフレームに下向きの矢印が記述され、撮影動作情報が値0ではないフレームに上向きの矢印が記述される。特に、撮影動作情報に関し、どの動作に関連するか分かるように、上向き矢印と一緒に撮影動作も記述される。
このように、静止画撮影モードで記録した画像データには、全てのフレームに静止画フラグが値1の状態で記録されている。また撮影動作が行われた時のフレームに対応し、撮影動作情報のビットが立った状態で記録されている。図10では、「撮影ボタン半押し」、「AF合焦」、「撮影ボタン全押し」、「ストロボ発光」、「撮影ポイント」の順で撮影動作が行われたことが、対応する各フレームに記録されている。
(同時撮影の画像データ記録)
図11はステップS5における同時撮影時の画像データ記録手順を示すフローチャートである。この処理では、2秒分のデータ、つまり120フレーム分の画像データが記録される。
システムコントローラ70は、既にメモリカード60に記録されている画像データ中、最新の1秒分のフレームデータを変更する処理を行う(ステップS51)。具体的に、画像データ内の1秒分のフレームデータの静止画フラグを全て値1に変更する処理が行われる。なお、撮影モードは変更されず、動画撮影モードのままとなる。
システムコントローラ70は圧縮フレームデータを取得する(ステップS52)。撮像部10からの画像データはエンコーダ40によって圧縮され、システムコントローラ70はその圧縮画像データを受け取る。
システムコントローラ70は、撮像部10および操作部90から、撮影動作情報を取得する(ステップS53)。同時撮影の場合、状況に応じて、撮影動作情報として「撮影ボタン半押し」、「撮影ボタン全押し」、「AF合焦」、「ストロボ発光」および「撮影ポイント」の情報が取得される。なお、それ以外の情報が取得される構成でもよいことは勿論である。
システムコントローラ70は撮影モードを取得する(ステップS54)。同時撮影処理は基本的に動画撮影中の動作となるので、動画撮影モードが取得される。
システムコントローラ70は時間情報の取得を行う(ステップS55)。すなわち、システムコントローラ70は、内部時計を用いて時間を計測し、その情報を取得する。
システムコントローラ70はフレーム情報を作成する処理を行う(ステップS56)。すなわち、システムコントローラ70は、ステップS53からステップS55で取得した情報を元に、フレーム情報を作成する(ステップS57)。
作成されるフレーム情報の「タイムコード」には、撮影開始時からの時間情報が1ms単位で記録される。「撮影日時」には、現在の日時情報が1ms単位で記録される。「撮影モード」には、同時撮影中、動画撮影モードとなるので、値1が設定される。「静止画フラグ」は、記録するフレームデータが静止画であるか否かを指し示すフラグである。ここでは、同時撮影のため、静止画フラグには値1が設定される。「撮影動作情報」は撮影時のカメラ動作に関するフラグである。ここでは、同時撮影時の状況に応じて、ステップS53で取得した情報に対応する各ビットが値1に設定される。「予約領域」には全て値0が設定される。
システムコントローラ70は、ステップS56で作成したフレーム情報と、ステップS52で取得した圧縮フレームデータをもとに、記録フレームデータを作成する処理を行う(ステップS57)。図5で既に説明したように、記録フレームデータはフレーム情報の後に圧縮フレームデータが付加されたデータ構造を有する。
システムコントローラ70は、記録対象となっている画像データファイルの末尾に、ステップS57で作成した1フレーム分の記録フレームデータを追加する処理を行う(ステップS58)。
システムコントローラ70は画像データに2秒分の静止画フラグを付加したか否かを判別する(ステップS59)。まだ2秒分処理していない場合、システムコントローラ70はステップS52に戻り、処理を続ける。一方、2秒分記録した場合、システムコントローラ70は、同時増撮影時の記録の処理を終了し、動画撮影時の処理に復帰する。
このように、システムコントローラ70はステップS51からステップS59の処理を行うことで、動画記録中でも処理を滞らせることなく同時撮影が可能となる。その際、静止画像データを別ファイルとして作成するのではなく、記録中の動画像データに静止画フラグや撮影動作情報が設定される。特に、静止画フラグに関し、静止画撮影の場合と同様に、静止画撮影ボタン22が押される1秒前のフレームデータから静止画フラグが設定される。
図12は同時撮影時の画像データの構造を示す図である。図8、図10と同様、1つ1つの四角形が記録フレームデータである。また図12では、各フレームデータに静止画フラグと撮影動作情報がどのように関連付けられているか分かるように、静止画フラグが値1のフレームに下向きの矢印が記述され、撮影動作情報が値0ではないフレームに上向きの矢印が記述される。特に、撮影動作情報に関し、どの動作に関連するか分かるように、上向き矢印と一緒に撮影動作も記述される。
また図12では、途中のフレームデータの記述を省略しているが、全体として2秒分のフレームデータに対し、静止画フラグが値1に設定されている。そのフレームは、分かりやすいよう濃い色(斜線)で記述されている。
このように、同時撮影で記録した画像データには、全体の画像データの一部に静止画フラグが値1の状態で記録されている。また、撮影動作が行われた時のフレームに対応し、撮影動作情報のビットが立った状態で記録されている。図12では、「撮影ボタン半押し」、「AF合焦」、「撮影ボタン全押し」、「ストロボ発光」、「撮影ポイント」の順で、撮影動作が行われたことが、対応する各フレームに記録されている。
撮影モード時の動作では、動画撮影、静止画撮影、同時撮影の各モードにおいて、それぞれ適切な画像データを記録することができる。
(再生モードの動作の説明(再生処理))
つぎに、モード切替スイッチ24を左側(図1参照)に設定した場合の再生モード時の動作を示す。図13は再生モード時の動作手順を示すフローチャートである。この再生モード時に扱われる画像データは、デジタルカメラ1で撮影された画像データである。
このフローチャートの処理を実現する制御プログラム(再生プログラム、消去プログラムを含む)は、システムコントローラ70の内部メモリ80に記録されており、システムコントローラ70内のCPU(図示せず)によって実行される。なお、本実施形態では、この制御プログラムは、システムコントローラ70に記録されているが、メモリカード60などの外部記録媒体に記録され、システムコントローラ70にロードされて実行されるようにしてもよい。また同様に、ネットワーク上にプログラムが存在する場合でも、本発明は同様に適用される。
まず、システムコントローラ70は、メモリカード60に記録されている画像データの一覧表示を行う(ステップS61)。この一覧表示では、LCD(モニタ)21に各画像データの縮小画像(サムネイル)が一覧表示される。
図14はLCD(モニタ)21の一覧表示を示す図である。LCD(モニタ)21の画面には、6個のサムネイル14A、14B、14C、14D、14E、14Fが並べて一覧表示されている。それぞれのサムネイルの右上には、撮影日時順に表示番号が表示される。また、サムネイル14A、14D、14Eの左上には、サムネイルに対応した画像データが動画像データであることを示す「動画マーク」141が表示される。なお、このステップS61の画像データ一覧表示処理の詳細については後述する。
システムコントローラ70は、ステップS61で一覧表示したサムネイルの中から、再生対象となるサムネイルの選択を行う(ステップS62)。サムネイルの選択操作は、操作ボタン25の左右ボタンを使用することで行われ、再生対象となる画像データに対応するサムネイルが選択される。サムネイルの選択状態は、サムネイル14Bに示すように、サムネイルの周囲の色を変えて表示したり、枠を太く表示することで表される。操作ボタン25の右ボタンを押すと、現在選択されている画像より表示番号の1つ大きい画像が選択される。左ボタンを押すと、現在選択されている画像より表示番号の1つ小さい画像が選択される。
システムコントローラ70は、再生操作が行われたか否かを判別する(ステップS63)。すなわち、操作ボタン25の上ボタンが押されたか否かが判断される。操作ボタン25の下ボタンが押された場合、つまり消去操作が選択された場合(消去指示)、システムコントローラ70は、消去処理を行うために、消去処理を行う(ステップS64)。なお、この消去処理の詳細については後述する。この後、システムコントローラ70はステップS61の処理に戻る。
一方、操作ボタン25の上ボタンが押された場合、つまり、再生操作が選択された場合(再生指示)、ステップS62で選択されたサムネイルに対応した画像データが、再生対象となる画像データとなる。システムコントローラ70は、再生対象となる画像データの先頭フレームデータを取得し、そのフレームデータから撮影モードを取得する処理を行う(ステップS65)。
システムコントローラ70は、ステップS65で取得した、再生対象となる画像データの撮影モードを判断し、それが動画撮影モードであるか否かを判別する(ステップS66)。撮影モードが静止画撮影モードである場合、システムコントローラ70は、静止画再生モード時の再生処理を行う(ステップS67)。この静止画撮影モード時の再生処理の詳細については、後述する。
一方、ステップS66で撮影モードが動画撮影モードである場合、システムコントローラ70は、動画再生モード時の再生処理を行う(ステップS68)。この動画撮影モード時の再生処理の詳細については、後述する。
システムコントローラ70は、ステップS67、S68の処理後、モード切替スイッチ24が切り替えられたか否かを判別する(ステップS69)。モード切替スイッチ24が切り替えられなかった場合、システムコントローラ70は、再生モードの処理を続けるために、ステップS61の処理に戻る。一方、モード切替スイッチ24が撮影モードもしくは電源オフの状態に切り替えられた場合、システムコントローラ70は再生モードの処理を終了する。
このように、システムコントローラ70は、ステップS61からステップS69までの処理を繰り返し行うことで、画像データの再生を行う。
(画像データ一覧表示)
図15はステップS61における画像データの一覧表示手順を示すフローチャートである。システムコントローラ70は、メモリカード60に記録されている画像データファイルの一覧を取得する処理を行う(ステップS71)。ここで、ステップS71からステップS80までの処理は、1つの画像データに対する処理である。ステップS71で取得した画像データファイル一覧の数だけ処理を繰り返すことで、全ての画像データに対して処理が行われる。本実施形態では、画像データファイル一覧の中で、撮影日時の古い順から、対象画像データとして処理が行われる。
システムコントローラ70は、ステップS71で取得した画像データファイル一覧の中の1つの画像データを、対象として撮影モードを取得する処理を行う(ステップS72)。撮影モードは、対象となる画像データの先頭のフレームデータから取得される。
システムコントローラ70は、ステップS72で取得した対象画像データの撮影モードが動画撮影モードであるか否かを判別する(ステップS73)。撮影モードが静止画撮影モードである場合、システムコントローラ70は、対象画像データのサムネイルを表示する処理を行う(ステップS74)。この処理では、システムコントローラ70は、対象画像データの先頭フレームの圧縮フレームデータを読み込み、そのデータをデコーダ100に渡してデコード済みの画像データを取得する。そして、システムコントローラ70は、そのデコード済みの画像データを縮小処理してからサムネイル表示を行う。また、システムコントローラ70は、サムネイル表示の際、サムネイルの右上に表示番号を表示する。この後、システムコントローラ70はステップS81の処理に進む。
一方、ステップS73で動画撮影モードである場合、システムコントローラ70は、対象画像データのサムネイルを表示する処理を行う(ステップS75)。この処理では、システムコントローラ70は、対象画像データの先頭の圧縮フレームデータを読み込み、そのデータをデコーダ100に渡してデコード済みの画像データを取得する。そして、システムコントローラ70は、そのデコード済みの画像データを縮小処理してからサムネイル表示を行う。また、システムコントローラ70は、サムネイル表示の際、サムネイルの右上に表示番号を表示し、左上に動画マークを表示する。
撮影モードが動画撮影モードである場合、画像データ内に同時撮影された箇所がある可能性がある。従って、システムコントローラ70は、同時撮影された箇所があるか否かのチェックを、ステップS76からステップS80までの処理で繰り返し行う。1つの動画像データの撮影の際、何度も同時撮影している可能性を考慮し、システムコントローラ70は、対象としている画像データの最後のフレームデータまで同時撮影のチェックを行う。すなわち、システムコントローラ70は、1フレームごとのチェックを行い、この処理を繰り返すことで、最後のフレームまでチェックを行う。本実施形態では、画像データの先頭フレームから順番にチェックが行われる。
システムコントローラ70は、対象となるフレームデータのフレーム情報から静止画フラグを取得する(ステップS76)。システムコントローラ70は、ステップS76で取得した静止画フラグが値1であるか否かを判別する(ステップS77)。
動画撮影モード内の静止画フラグが値1であるフレームは同時撮影したフレームであるので、別途サムネイルを表示する必要がある。従って、静止画フラグが値1である場合、システムコントローラ70は、対象画像データのサムネイルを表示する処理を行う(ステップS78)。
この処理では、システムコントローラ70は、静止画フラグが値1であるフレームの圧縮フレームデータを読み込み、そのデータをデコーダ100に渡してデコード済みの画像データを取得する。そして、システムコントローラ70は、そのデコード済みの画像データを縮小処理してからサムネイル表示を行う。また、サムネイル表示の際、サムネイルの右上に表示番号を表示する。
システムコントローラ70は、連続した静止画フラグをスキップする(ステップS79)。静止画フラグは、1回の同時撮影で2秒分のフレームデータに連続して記録されているので、次の同時撮影のチェックを行うために、システムコントローラ70は連続した静止画フラグのフレームをスキップする。
一方、ステップS77で静止画フラグが値1でない場合、システムコントローラ70はそのままステップS80の処理に進む。
システムコントローラ70は、対象としている画像データの最後のフレームまで同時撮影のチェックを行ったか否かを判別する(ステップS80)。最後のフレームまで同時撮影のチェックを行っていない場合、ステップS76に戻り、システムコントローラ70は次のフレームデータに対して処理を続ける。
一方、ステップS80で最後のフレームまで同時撮影のチェックを行った場合、システムコントローラ70は、ステップS76からステップS80までの処理を繰り返すことで、対象としている画像データのフレームを順番に最後までチェックすることができる。
システムコントローラ70は、全ての画像データのサムネイルを表示したか否かを判別する(ステップS81)。全ての画像データのサムネイルを表示した場合、システムコントローラ70は画像データ一覧表示の処理を終了する。
一方、全ての画像データのサムネイルを表示していない場合、ステップS72の処理に戻り、システムコントローラ70は次の画像データに対して処理を続ける。
このように、システムコントローラ70がステップS72からステップS81までの処理を繰り返すことで、メモリカード60に記録されている全ての画像データのサムネイルを一覧表示することができる。すなわち、画像データの一覧表示では、動画撮影、静止画撮影、同時撮影に対応したサムネイルを一覧表示することができるようになる。また同時撮影時の静止画部分に関しては、静止画撮影モードで撮影した画像データと同様の表示となる。なお、本実施形態では、サムネイルに先頭フレームを使用したが、撮影動作情報の撮影ポイントが値1となっているフレームなど、他のフレームをサムネイルとして使用してもよい。
(静止画撮影モードの再生処理)
図16はステップS67における静止画撮影モード時の画像データ再生処理手順を示すフローチャートである。本実施形態では、静止画撮影モードで撮影された画像データは、2秒分のフレームデータで構成されているので、動画再生のように先頭フレームから順番に1フレームずつ表示される。
システムコントローラ70は、現在選択されている画像データファイルから、1フレーム分の記録フレームデータの取得を行う(ステップS91)。本実施形態では、ステップS91からステップS96の処理は1フレーム分の処理である。システムコントローラ70は、この1フレーム分の処理を繰り返すことで、画像データ内の全てのフレームデータを表示する。
システムコントローラ70は、ステップS91で取得した記録フレームデータ内の圧縮フレームデータをデコーダ100に渡してデコードする(ステップS92)。システムコントローラ70は、ステップS92でデコードしたフレームデータをLCD(モニタ)21に表示する(ステップS93)。
システムコントローラ70は、ステップS91で取得した記録フレームデータから撮影動作情報を取得し、撮影動作情報の撮影ポイントのビットが立っているか否かを判別する(ステップS94)。撮影ポイント(撮影点)のビットが立っていない場合、システムコントローラ70はステップS97の処理に進む。一方、撮影ポイントのビットが立っていた場合、現在処理しているフレームが静止画撮影を行ったポイントであるとして、システムコントローラ70は、デジタルカメラの撮影時の効果を出すために、撮影音を鳴らす処理を行う(ステップS95)。なお、撮影音を鳴らす代わりに、画面に特定の画像効果を付けるようにしてもよい。システムコントローラ70は、デジタルカメラの撮影時の効果を出すために、フレームデータの表示を1秒間、一時停止する処理を行う(ステップS96)。
システムコントローラ70は、1秒間停止した後、再生動作を通常に戻し、再生対象となっている画像データの再生が最後のフレームまで行われたか否かを判別する(ステップS97)。最後まで再生した場合、システムコントローラ70は再生処理を終了する。
一方、最後まで再生していない場合、システムコントローラ70は、ステップS91の処理に戻り、次のフレームに対して処理を行う。
このように、システムコントローラ70がステップS91からステップS97の処理を繰り返すことで、画像データの全てのフレームデータを表示することができる。静止画撮影モードで撮影した画像データの再生時においても、動画のように再生することができ、実際の撮影ポイントで撮影効果を表現することが可能となる。
(動画撮影モードの再生処理)
図17はステップS68における動画撮影モード時の画像データ再生処理手順を示すフローチャートである。本実施形態では、同時撮影を行うことが可能であるので、動画撮影モードで撮影された画像データは、動画再生中に同時撮影の箇所が分かるように表示される。
システムコントローラ70は、現在選択されている画像データファイルから、1フレーム分の記録フレームデータの取得を行う(ステップS101)。
本実施形態では、ステップS101からステップS108までの処理は1フレーム分の処理である。システムコントローラ70は、この1フレーム分の処理を繰り返すことで、画像データ内の全てのフレームデータを表示する。ここで、現在選択されているサムネイルが、動画マークが付いているサムネイルである場合、画像データ全体を動画として再生するために先頭フレームから最終フレームまでを再生対象フレームとする。一方、現在選択されているサムネイルが同時撮影のサムネイルである場合、同時撮影の箇所だけを再生するために、選択されたサムネイルに対応する同時撮影の箇所の2秒間だけを再生対象フレームとする。
システムコントローラ70は、ステップS101で取得した記録フレームデータ内の圧縮フレームデータをデコーダ100に渡してデコードする(ステップS102)。システムコントローラ70は、ステップS102でデコードしたフレームデータをLCD(モニタ)21に表示する(ステップS103)。
システムコントローラ70は、ステップS101で取得した記録フレームデータから静止画フラグを取得し、静止画フラグが値1であるか否かを判別する(ステップS104)。静止画フラグが値1でない場合、システムコントローラ70はステップS109の処理に進む。
一方、ステップS104で静止画フラグが値1である場合、同時撮影を行った箇所であるとして、システムコントローラ70は、ステップS103で表示しているフレームデータの画像に重ねて静止画アイコンを表示する(ステップS105)。現在表示しているフレームが同時撮影した箇所であることが静止画アイコンによってユーザに示される(静止画提示)。このように、静止画アイコンは、静止画があることをユーザに示すアイコンである。
システムコントローラ70は、ステップS101で取得した記録フレームデータから撮影動作情報を取得し、撮影動作情報の撮影ポイントのビットが立っているか否かを判別する(ステップS106)。撮影ポイントのビットが立っていない場合、システムコントローラ70はステップS109の処理に進む。一方、撮影ポイントのビットが立っていた場合、システムコントローラ70は、現在処理しているフレームが撮影動作を行ったポイントであるとして、デジタルカメラの撮影時の効果を出すために、撮影音を鳴らす処理(再生停止通知)を行う(ステップS107)。なお、撮影音を鳴らす代わりに、画面に特定の画像効果を付けるようにしてもよい。
システムコントローラ70は、デジタルカメラの撮影時の効果を出すために、フレームデータの表示を1秒間、一時停止する処理(再生停止)を行う(ステップS107)。システムコントローラ70は、1秒間停止した後、再生動作を通常に戻し、画像データの再生が再生対象フレームの最後まで行われたか否かを判別する(ステップS109)。最後まで再生した場合、システムコントローラ70は再生処理を終了する。一方、最後まで再生していない場合、システムコントローラ70は、ステップS101の処理に戻り、次のフレームに対して処理を行う。
このように、システムコントローラ70は、ステップS101からステップS108までの処理を繰り返すことで、画像データ内の再生対象フレームを全て表示することができる。動画撮影モードで撮影した画像データの再生時、通常の動画再生だけでなく、同時撮影した箇所も判別することができ、しかも実際の撮影ポイントで撮影効果を表現することが可能となる。また、同時撮影した箇所を再生する場合、静止画撮影モードで記録された画像データと同様、動画のように再生することができ、しかも実際の撮影ポイントで撮影効果を表現することが可能となる。
再生モード時の動作では、動画撮影、静止画撮影、同時撮影の各モードで撮影された画像データを、それぞれ適切に再生できるようになる。特に、静止画撮影モードで撮影された画像データの再生においても、同時撮影時の画像データと同様の再生方法が可能となり、撮影動作情報や静止画フラグを活用した柔軟な再生方法が可能となる。
なお、本実施形態では、撮影動作情報と静止画フラグを活用した簡単な再生方法の例を示したが、それ以外の再生方法を行ってもよい。例えば、静止画アイコンの代わりに、ピクチャインピクチャで静止画を小さく表示する、つまり再生している画像データと静止画を同時に表示するなどの再生方法を行ってもよい。
(再生モードの動作の説明(消去処理))
つぎに、画像データ消去処理について説明する。図13のフローチャートで示したように、本実施形態では、再生モード時に操作ボタン25(図1参照)の下ボタンが押されると、選択サムネイルに対応した画像データの消去処理が行われる。
図18はステップS64における画像データ消去処理手順を示すフローチャートである。なお、本実施形態では、動画撮影モードで撮影された画像データの中で、同時撮影の箇所がある場合、その箇所だけ別ファイルとして残すように動作が行われる。
システムコントローラ70は、現在選択されているサムネイルに対応する画像データファイルの先頭フレームデータのフレーム情報を取得し、撮影モードが動画撮影モードか静止画撮影モードかを判定する(ステップS111)。静止画撮影モードである場合、システムコントローラ70は、選択された画像データファイルを削除し(ステップS112)、本処理を終了し、元の処理に復帰する。ここで、静止画撮影モードで撮影された画像データファイルの削除に関しては、単純にファイルを削除する処理となる。
一方、ステップS111で撮影モードが動画撮影モードである場合、システムコントローラ70は、選択されたサムネイルが同時撮影のサムネイルか否かを判別する(ステップS113)。
選択されたサムネイルが同時撮影のサムネイルだった場合、システムコントローラ70は、選択されたサムネイルに対応する同時撮影箇所の2秒分の静止画フラグを値0に書き換える処理を行う(ステップS114)。静止画フラグを値0にするだけで、同時撮影の情報が無くなることになる(静止画消去)。このように、同時撮影の消去処理として、システムコントローラ70は、実際に画像データを消去すること無く、静止画フラグを値0に設定するだけで、本処理を終了し、元の処理に復帰する。
一方、ステップS113で、選択されたサムネイルが動画マークの付いた動画サムネイルだった場合、システムコントローラ70は、ステップS115以降の処理を行う。本実施形態では、ステップS115からステップS118までの処理は1フレーム分の処理である。システムコントローラ70は、この1フレーム分の処理を繰り返すことで、動画撮影モードの画像データ内の全てのフレームデータ(消去対象の画像データ)を処理する。ここでは、画像データ全体を処理するために、先頭フレームから最終フレームまでが処理対象フレームとなる。
システムコントローラ70は、1フレーム分のフレーム情報を取得し、対象フレームデータが同時撮影部のフレームデータであるか否かを判別する(ステップS115)。フレームデータが同時撮影部のフレームデータであるか否かは、静止画フラグが値1であるか否かで判断される。静止画フラグが値1でない場合、システムコントローラ70はそのままステップS118の処理に進む。
一方、対象フレームの静止画フラグが値1である場合、システムコントローラ70は、静止画フラグが連続して値1であるフレームデータを読み出し、別ファイルの画像データとして保存する処理を行う(ステップS116)。ここで、静止画フラグは、1つの同時撮影で2秒分のフレームデータに連続して記録されているので、2秒分のフレームデータが別ファイルの画像データとして記録される。また、ここで記録される画像データのファイル名は、対象フレームの撮影日時情報から作成される。なお、それ以外の方法でファイル名が決定されてもよいことは勿論である。
システムコントローラ70は、ステップS116で記録した画像データの全フレーム情報の撮影モードの値を、静止画撮影モードに変更する処理を行う(ステップS117)。このように、ステップS116、117の処理により、別ファイルとして記録された同時撮影部の画像データは、静止画撮影モードで記録された画像データと同様に扱えるようになる。本実施形態では、撮影動作フラグはそのまま残されるが、撮影動作フラグを消すようにしてもよい。
システムコントローラ70は、対象としている画像データの最後のフレームまで同時撮影のチェックをしたか否かを判別する(ステップS118)。まだ最後までチェックしていない場合、システムコントローラ70は、ステップS115の処理に戻り、選択された画像データの対象フレームを次に進め、次フレームに対して処理を続ける。
一方、最後のフレームまでチェックした場合、システムコントローラ70は、選択された画像データファイルを削除する(ステップS120、動画消去)。
このように、ステップS115からステップS120までの処理を繰り返すことで、対象としている画像データのフレームを順番に最後までチェックすることができる。1つの画像データ内に複数の同時撮影があったとしても、全てのフレームをチェックすることで、同時撮影部のフレームデータは、漏れなく別の画像データファイルとして記録される。
ここまでの処理で同時撮影部の画像データは、別ファイルとして記録済みであるので、システムコントローラ70は、最後に画像データを削除して本処理を終了し、元の処理に復帰する。システムコントローラ70は、画像データ消去処理が終了した後、再度、一覧表示をし直すので、最新の状態の一覧表示が行われる。
図19は同時撮影時の消去処理による画像データの構造の変化を示す図である。同図(A)に示す画像データは消去前の同時撮影を行った画像データである。この画像データは図12の画像データと同一のデータ構造を有する。同図(B)に示す画像データは同図(A)の画像データから同時撮影部を消去した状態の画像データである。同時撮影部を消去した後では、同時撮影部の静止画フラグが全てなくなった状態、つまり静止画フラグ=0の状態となる。
図20は動画撮影モード時の画像データの消去処理による画像データの構造の変化を示す図である。ここでは、同時撮影箇所が1箇所あった場合を示す。同図(A)に示す画像データは消去前の同時撮影を行った画像データである。この画像データは図12の画像データと同一のデータ構造を有する。同図(B)に示す画像データは同図(A)の画像データを消去した状態の画像データである。動画撮影モードで撮影された画像データを消去しても、同時撮影部の画像データだけは残る。
図21は同時撮影箇所が2箇所あった場合の画像データの構造の変化を示す図である。同図(A)に示す画像データは消去前の画像データである。同図(B)、(C)に示す画像データは、同図(A)に示す画像データを消去した状態の画像データである。動画撮影モードで撮影された画像データを消去した場合、同時撮影部の2箇所がそれぞれ別の画像データとして残る。
このように、動画撮影、静止画撮影および同時撮影の各モードで撮影された画像データを、それぞれ適切に消去することができる。特に、同時撮影された画像データの消去処理においても、同時撮影部の画像データを別ファイルとして残しておくので、従来と同様の操作が可能となる。また、別ファイルとして残された同時撮影部の画像データのデータ構造は、静止画撮影モードで記録された画像データと同様のデータ構造となるので、それ以降、静止画撮影モードで記録された画像データと同様に扱うことができる。
以上示したように、本実施形態の画像データ記録装置によれば、画像データは静止画も動画と同様のデータ構造を有するので、同時撮影ではない静止画像データを再生する場合、同時撮影時のように、動画であることを利用した再生を行うことができる。また、動画記録中でも処理を滞らせることなく同時撮影が可能となる。また、静止画撮影指示が行われる前のフレームデータから静止画フラグを設定することができる。従って、複数のフレームデータを活用した再生が可能となる。また、同時撮影が行われる場合、静止画撮影の場合と同様、同時撮影指示が行われる前のフレームデータから静止画フラグを設定することができる。また、動画撮影、静止画撮影、同時撮影の各撮影モード時、それぞれ適切な画像データを記録することができる。また、撮影動作情報を対応する各フレームデータに関連付けて記録することができる。従って、撮影動作情報を活用した再生が可能となる。また、撮影動作情報として、撮影ボタン半押し、AF合焦、撮影ボタン全押し、ストロボ発光および撮影点の各撮影動作をそれぞれ対応するフレームデータに記録することができる。
画像データ再生装置によれば、動画撮影、静止画撮影、同時撮影の各モードで撮影された画像データを、それぞれ適切に再生することができる。また、静止画撮影モードで撮影した画像データを再生する場合でも、動画のように再生することができる。また、動画再生中、ユーザは静止画があることを知ることができる。静止画アイコンあるいはピクチャインピクチャを用いることで、静止画があることを視覚的に分かり易くすることができる。また、再生を一時停止し、その旨を通知することで、撮影時の効果を出すことができる。例えば、実際の撮影ポイントで撮影効果を表現することができる。
画像データ消去装置によれば、動画撮影、静止画撮影、同時撮影の各モードで撮影された画像データを、それぞれ適切に消去処理することができる。また、同時撮影された画像データの消去処理では、同時撮影部を別ファイルとして残しておくので、従来と同様の操作が可能となる。また、別ファイルとして残された同時撮影部の画像データは、静止画撮影モードで記録された画像データと同様のデータ構造を有するので、それ以降、静止画撮影モードで記録された画像データと同様に扱うことができる。
なお、本発明は、上記実施形態の構成に限られるものではなく、特許請求の範囲で示した機能、または本実施形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
例えば、上記実施形態では、コンパクトタイプのデジタルカメラを例に説明したが、本発明はデジタルビデオカメラやデジタルSLR(一眼レフカメラ)にも適用可能である。
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。