以下に添付図面を参照して、この発明に係る画像処理装置およびデジタルカメラの最良な実施の形態を詳細に説明する。なお、以下では、画像処理装置を備えるデジタルカメラへの適用例について説明するが、適用可能な装置はデジタルカメラに限定されるものではなく、例えば、撮影機能を備えない画像処理装置にも有効に適用できる。
(第1の実施形態)
まず、本発明が適用されるデジタルカメラの一構成例について説明する。図1は、本実施形態に係るデジタルカメラの外観を示す図であり、図1−1は同デジタルカメラの上面図、図1−2は同デジタルカメラの正面図、図1−3は同デジタルカメラの裏面図である。
本実施形態のデジタルカメラは、図1−1に示すように、その上面に、静止画撮影が可能な枚数などを表示するサブLCD1と、撮影の際に押圧操作されるレリーズシャッタボタン2と、画像を撮影(記録)する撮影モードや記録された画像を再生する再生モード、カメラ設定のためのSETUPモードなどの各種モードの切替えの際に操作されるモードダイアル3を有する。
また、本実施形態のデジタルカメラは、図1−2に示すように、その正面に、ストロボを発光させるストロボ発光部4と、被写体までの距離を測定する測距ユニット5と、図示しないリモコン端末からの赤外線信号を受信するリモコン受光部6と、後述するズームレンズ25やフォーカスレンズ26、メカニカルシャッタ27およびこれらを一体に支持する支持部材などから構成される鏡胴ユニット7と、光学ファインダ(正面)8を有する。また、本実施形態のデジタルカメラの側面には、後述するメモリカード80を挿入するメモリカードスロットや電池を収容する電池収容部が設けられており、これらメモリカードスロットや電池収容部は蓋体9により閉塞されている。
また、本実施形態のデジタルカメラは、図1−3に示すように、その裏面に、オートフォーカス作動時に点灯するオートフォーカスLED(AFLED)10と、ストロボ発光時に点灯するストロボLED11と、各種設定画面の表示や再生画像の表示および撮影時の電子ファインダとして用いられるLCDモニタ12と、光学ファインダ(裏面)13を有する。
さらに、本実施形態のデジタルカメラの裏面には、広角側ズーム時に操作されるズームボタン(WIDE)14および望遠側ズーム時に操作されるズームボタン(TELE)15と、電源スイッチ16と、セルフタイマの作動時に操作されるセルフタイマ/削除スイッチ17と、メニュー選択の際に操作されるメニュースイッチ18と、選択した事項を確定させる際に操作されるOKスイッチ19と、撮影した画像をLCDモニタ12で確認する際に操作されるとともにLCDモニタ12上のカーソルを左移動させる場合等に操作される左/画像確認スイッチ20と、LCDモニタ12上のカーソルを右移動させる場合等に操作される右スイッチ21と、マクロ撮影を行う際に操作されるとともにLCDモニタ12上のカーソルを下移動させる場合等に操作される下/マクロスイッチ22と、ストロボのモードを切り替える際に操作されるとともにLCDモニタ12上のカーソルを上移動させる場合等に操作される上/ストロボスイッチ23と、LCDモニタ12の表示の切替え時に操作されるディスプレイスイッチ24とが設けられている。
本実施形態のデジタルカメラでは、メニュースイッチ18の操作により各種設定画面をLCDモニタ12に表示することができる。そして、左/画像確認スイッチ20、右スイッチ21、下/マクロスイッチ22、上/ストロボスイッチ23などを操作して、LCDモニタ12に表示している設定画面の中から撮影モードの選択や、各種の画像処理機能の選択などを行うことができる。
図2は、本実施形態のデジタルカメラの制御系の構成を示すブロック図である。本実施形態のデジタルカメラは、制御系の構成として、ズームレンズ25やフォーカスレンズ26、メカニカルシャッタ27を駆動するためのモータドライバ28と、イメージセンサであるCMOSセンサ30と、CMOSセンサ30から出力されるアナログの画像信号を処理してデジタル画像データを生成するアナログフロントエンド(AFE)40と、CMOSセンサ30およびAFE40に対して駆動タイミング信号を出力するタイミングジェネレータ(TG)50と、AFE40から出力されたデジタル画像データに対して各種デジタル画像処理を実行するとともにデジタルカメラ全体の動作を制御する信号処理IC60とを備えている。信号処理IC60には、上述したLCDモニタ12のほか、SDRAM70やメモリカード80、ROM90、操作部100などが接続されている。
メカニカルシャッタ27は、開状態によりCMOSセンサ30に光を入射させ、閉状態によりCMOSセンサ30への光の入射を遮断する機械的なシャッタである。このメカニカルシャッタ27は、ズームレンズ25やフォーカスレンズ26とともに、モータドライバ28により駆動される。モータドライバ28によるズームレンズ25、フォーカスレンズ26およびメカニカルシャッタ27の駆動は、信号処理IC60の内部に含まれるCPU61によって制御される。
CMOSセンサ30は、光電変換機能によって、光学レンズにより結像した光学像をその明るさに比例した電気信号に変換して出力する撮像素子である。CMOSセンサ30は、TG50から出力される駆動タイミング信号に従って駆動され、各画素の露光や信号読み出しが制御される。CMOSセンサ30からの出力電気信号は、AFE40に入力される。
AFE40は、CMOSセンサ30の出力電気信号(アナログ画素信号)をサンプリングホールド(相関二重サンプリング)するCDS41と、CDS41によりサンプリングされた信号のゲインを調整するAGC(Auto Gain Control)42と、AGC42の出力をデジタル信号に変換するA/D変換器(A/D)43とを有する。これらAFE40を構成する各部は、TG50から出力される駆動タイミング信号に従ってCMOSセンサ30と同期して駆動され、また、AGC42におけるゲインの設定などは、信号処理IC60内部に含まれるCPU61の命令に従って実施される。AFE40により出力されるデジタルデータ(デジタル画像データ)は、信号処理IC60に入力される。
TG50には、信号処理IC60内部に含まれる同期信号生成部69によって生成された垂直同期信号VDおよび水平同期信号HDが供給される。TG50は、これら垂直同期信号VDおよび水平同期信号HDに基づいて、CMOSセンサ30およびAFE40を同期して駆動させるための駆動タイミング信号を生成し、生成した駆動タイミング信号をCMOSセンサ30およびAFE40に供給する。
信号処理IC60は、デジタルカメラ全体の動作を統括的に制御するCPU61と、垂直同期信号VDおよび水平同期信号HDに合わせてAFE40からデジタル画像データの取り込みを行うCMOSI/F部62と、SDRAM70へのデータの書き込みや読み出しを制御するメモリコントローラ63と、CMOSI/F部62から入力されたデジタル画像データを表示や記録が可能なYUVのデータ形式に変換するYUV変換部64と、画像データを所定のフォーマット(例えばJPEG)に従って圧縮および伸張する圧縮伸張部65と、LCDモニタ12や外部表示装置への表示データの出力を制御する表示出力制御部66と、表示や記録のサイズに合わせて画像サイズを変更するリサイズ処理部67と、メモリカード80へのデータの書き込みや読み出しを制御するメディアI/F部68と、CPU61の命令により垂直同期信号VDおよび水平同期信号HDを生成する同期信号生成部69とを有している。
AFE40から出力されるデジタル画像データは、CMOSI/F部62により画像フレームを一単位として信号処理IC60内部に取り込まれ、信号処理IC60内部で黒レベルの補正、欠損画素の補正、シェーディング補正などの画像処理が行われた上で、メモリコントローラ63によりSDRAM70に画像フレームごとのRGBデータ(RAW−RGB画像データ)として一時保管される。
SDRAM70に保存された画像フレームごとのRAW−RGB画像データは、メモリコントローラ63によりSDRAM70から読み出され、ホワイトバランスのゲイン乗算やガンマ補正、RGB補間処理を経てYUV変換部64に供給される。YUV変換部64は、この画像データに対してエッジ強調や色設定などの各種画像処理を行うとともに、輝度/色差信号であるYUV画像データへの変換を行う。YUV変換部64で生成されたYUV画像データは、メモリコントローラ63により再度SDRAM70に格納される。
SDRAM70に保存されたYUV画像データは、メモリコントローラ63によりSDRAM70から読み出され、撮影モードアイコンなどを表示するためのOSD(オンスクリーンディスプレイ)データとともに表示出力制御部66に供給される。表示出力制御部66は、これらYUV画像データとOSDデータを合成して表示用データを生成し、同期信号などの信号を付加してLCDモニタ12に出力する。なお、表示出力制御部66は、生成した表示用データをTVビデオ信号として出力して外部表示装置に表示させることも可能であり、例えば外部表示装置がNTSCシステムのTVであれば、リサイズ処理部67により、そのシステムに合わせた水平・垂直の変倍処理が施された上で、TVに出力される。
また、メモリカード80への記録時には、SDRAM70に保存されたYUV画像データが、CPU61の命令によりメモリコントローラ63によってSDRAM70から読み出されて圧縮伸張部65に供給され、圧縮伸張部65においてJPEGデータなどの圧縮データが生成される。ここで、SDRAM70に保存されたYUV画像データはフルサイズのデータであり、メモリカード80に記録する画像サイズがCMOSセンサ30の画像サイズよりも小さい場合は、リサイズ処理部67にて記録用に画像が縮小された上で圧縮伸張部65に供給される。圧縮伸張部65で生成された圧縮データは、メモリコントローラ63により再度SDRAM70に格納され、その後、ヘッダ追加などの処理が行われた後に、メディアI/F部68を介してメモリカード80に記録される。
また、メモリカード80に記録された画像の再生時には、CPU61の命令により、メモリカード80に記録された圧縮データがメディアI/F部68を介して読み出され、メモリコントローラ63によりSDRAM70に格納される。その後、この圧縮データはSDRAM70から圧縮伸張部65に供給され、圧縮伸張部65により伸張された画像データ(YUV画像データ)が表示出力制御部66に供給される。表示出力制御部66は、この画像データから表示用データを生成してLCDモニタ12に出力する。これにより、LCDモニタ12に画像が再生表示される。
以上の信号処理IC60内部における各部の動作は、CPU61の命令に従って実行される。CPU61は、例えばROM90に格納されたデジタルカメラの制御を行うための制御プログラムおよび制御データを、例えばSDRAM70上にロードし、ロードした制御プログラムのプログラムコードに基づいて、デジタルカメラ全体の動作を統括的に制御する。すなわち、CPU61は、操作部100の各種ボタンキーによる指示や図示しないリモコン端末からの動作指示などに基づいて、指示に応じた画像を適切に撮影、記録、表示できるように、モータドライバ28やAFE40、TG50、信号処理IC60内部の各処理部などを制御する。なお、操作部100は、デジタルカメラに対するユーザの操作を受け付けるためのものであり、図1に示したレリーズシャッタボタン2やメニュースイッチ18、右スイッチ21、左/画像確認スイッチ20などの各種キースイッチが該当する。
また、特に本実施形態のデジタルカメラでは、例えば、CPU61が所定の制御プログラムを実行することによって、メモリカード80から読み出した画像に対してトリミングやぼかし処理などの編集処理を行って新たな画像を生成する機能と、生成した新たな画像(以下、編集後画像という。)を、この編集後画像を生成する元になった画像(以下、元画像という。)の日時情報に基づいて生成される日時情報と関連付けてメモリカード80に記録する機能と、が実現される。ここで日時情報とは、時間に関するあらゆる情報を含む。つまり、日時だけでなく、西暦、月、タイムスタンプ情報なども、ここで言う日時情報に含まれる。
以下、CPU61によって実現される上記の特徴的な機能について、詳しく説明する。まず、機能の説明に先立ち、編集処理の対象となる元画像や編集処理により生成される編集後画像が画像ファイルとして記録されるメモリカード80のフォーマットおよび画像ファイルのデータ構造の具体例について説明する。なお、本実施形態では、画像の記録媒体としてメモリカード80を用いる場合を説明するが、記録媒体はメモリカード80に限らず、様々なものを用いることができる。
図3は、メモリカード80のフォーマットの一例を示す概念図である。この図3に示すフォーマットは、一般的なパーソナルコンピュータ用のDOS(Disk Operating System)のフォーマットと同一のものとなっており、ファイル管理領域(ファイルシステムで管理するシステム領域)として、MBR(Master Boot Record)、PBR(Partition Boot Record)、FAT(File Allocation Table)およびルートディレクトリが規定されている。データエリアは、実際に画像ファイルが記録される領域である。
MBRは、メモリカード80の先頭に配置される。MBRには、パーティションの位置、サイズなどを記録したパーティションテーブルが記録される。
PBRは、パーティションの先頭セクタに配置される。PBRには、メモリカード80の記録形式を規定するデータが記録される。
FATは、PBRに続くセクタから複数のセクタにわたって記録される。FATは、データエリアの使用状態(使用/未使用)、および、データエリアで扱われるファイルの連結状態をクラスタ単位で管理している。通常、メモリカード80に記録される画像ファイルは、クラスタ単位で管理されている。1つの画像ファイルが複数のクラスタで構成されている場合には、ひとつのクラスタを読み出した後に次のクラスタを読み出す必要がある。FATは、あるクラスタに続くクラスタがどのクラスタであるかを示す情報であり、FATによって示されるクラスタの連結状態はFATチェインと呼ばれる。
ルートディレクトリには、該ルートディレクトリに配置される各ファイルおよびサブディレクトリ(追加のディレクトリ)のエントリが記録される。図4は、ルートディレクトリに記録されるエントリの一例を示す図である。各エントリには、それぞれのファイルのファイル名、拡張子、ファイルの作成日時や更新日時などのタイムスタンプ情報、対応するファイルまたはサブディレクトリエントリの物理的位置(開始クラスタ)と該ファイルのサイズについての情報がそれぞれ記録されている。
図5は、メモリカード80におけるファイルの格納構造の一例を示す概念図である。メモリカード80では、階層的に分類されたディレクトリにファイルが格納される。画像ファイルをメモリカード80に格納する場合、ルートディレクトリ(ROOT)の下に画像用のディレクトリとしてイメージディレクトリ(IMAGE)が作成され、イメージディレクトリ(IMAGE)に画像ファイルが格納される。画像ファイルのファイル名は、例えば「IMG****.JPG」である。このファイル名における「****」は整数値、例えば撮影順に割り振られる連続番号(つまり画像のコマ番号)である。また、ファイル名の拡張子「JPG」は、JPEG方式によって圧縮符号化された画像であることを示す。
図6は、メモリカード80に記録される画像ファイルのデータ構造の一例を示す図である。画像ファイルは、画像ヘッダ部と画像データ部とを有する。画像ヘッダ部には、画像に付属する各種の情報(タグ情報)が格納される。画像データ部には、画像データそのものが格納される。画像ヘッダ部に格納されるタグ情報としては、例えば、画像を撮影した機器のメーカ名やモデル名、画像撮影時の露出時間、絞り値、輝度値などの撮影情報、日時情報、サムネイル画像データなどが記録される。つまり、画像に関連付ける後述の日時情報は、一例として、画像ヘッダ部のタグ情報として記録することができる。
次に、本実施形態のデジタルカメラにおける上記の特徴的な機能について説明する。図7は、CPU61が所定の制御プログラムを実行することで実現される機能構成を示す機能ブロック図である。CPU61は、所定の制御プログラムを実行することで実現される機能構成として、画像編集処理部101と、関連付け処理部102と、を備える。なお、これら画像編集処理部101や関連付け処理部102は、FPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの専用のハードウエアにより構成することも可能である。
画像編集処理部101は、上記の元画像から編集後画像を生成する処理を実行する。すなわち、画像編集処理部101は、操作部100の各種ボタンキーによる指示などに基づき、指示に応じた元画像をメモリカード80から読み出してSDRAM70に格納する。そして、画像編集処理部101は、SDRAM70をワークエリアとして利用しながら、メモリカード80から読み出した元画像に対してトリミングやぼかし処理などの指示に応じた各種編集処理を行い、編集後画像を生成する。
関連付け処理部102は、画像編集処理部101が生成した編集後画像を、該編集後画像の生成に用いた元画像の日時情報に基づいて生成される日時情報に関連付けてメモリカード80に記録する処理を実行する。ここで、元画像の日時情報に基づいて生成される日時情報とは、例えば、元画像の日時情報と一致する日時情報(元画像の日時情報をコピーした日時情報)である。つまり、関連付け処理部102は、画像編集処理部101が生成した編集後画像に対して、元画像と同じ日時情報を関連付けて、メモリカード80に記録する。
また、関連付け処理部102は、画像編集処理部101が生成した編集後画像に対して、元画像の日時情報と完全に一致する日時情報ではなく、元画像の日時情報に近い日時情報、つまり、元画像の日時情報との差分が予め定めた所定範囲内となる日時情報を関連付けるようにしてもよい。ここで、所定範囲とは、元画像の日時情報と編集後画像の日時情報との間に、時間的な観点から別の画像の日時情報が介在しないような範囲であり、例えば、標準的なユーザによるデジタルカメラの利用傾向などを考慮して、経験的に求められる値を事前に定めておけばよい。また、編集後画像をメモリカード80に記録する際に、元画像よりも後に生成された別の画像が既にメモリカード80に記録されているか否かを確認し、元画像よりも後に生成された別の画像が既にメモリカード80に記録されている場合に、その別の画像の日時情報よりも元画像の日時情報に近い日時情報を、編集後画像に関連付けるようにしてもよい。
図8は、CPU61の画像編集処理部101および関連付け処理部102による処理の流れを示すフローチャートである。この図8に示す一連の処理は、デジタルカメラのユーザが操作部100のボタンキーなどを用いて、デジタルカメラの機能のうち、画像の編集機能を選択することによって開始される。
図8のフローチャートで示す処理が開始されると、まずステップS101において、画像編集処理部101が、操作部100のボタンキーの操作などにより指定される編集対象の元画像をメモリカード80から読み出してSDRAM70に格納する。
次に、ステップS102において、画像編集処理部101が、SDRAM70に格納した元画像に対して、指示に応じた編集処理を施して編集後画像を生成する。
次に、ステップS103において、関連付け処理部102が、ステップS102で生成された編集後画像に付属する情報であるタグ情報を生成する。その際、関連付け処理部102は、タグ情報のうちの日時情報として、元画像の日時情報に基づく日時情報を生成する。つまり、関連付け処理部102は、編集後画像の日時情報として、元画像の日時情報と一致する日時情報、あるいは、元画像の日時情報との差分が予め定めた所定範囲内となる日時情報を生成する。
次に、ステップS104において、関連付け処理部102が、ステップS102で生成された編集後画像とステップS103で生成したタグ情報とを合成して所定のデータ構造に従った画像ファイル(図6参照)を生成し、新たなファイル番号を付与して、生成した画像ファイルをメモリカード80に記録する。なお、以上説明した処理は、画像編集処理部101および関連付け処理部102による処理の一例を例示したものであり、これに限定されるものではない。
本実施形態のデジタルカメラでは、上述したように、関連付け処理部102が、画像編集処理部101が生成した編集後画像を、元画像の日時情報に基づいて生成される日時情報に関連付けてメモリカード80に記録することで、元画像と編集後画像とを連続して再生表示できるようにしている。デジタルカメラのユーザは、画像編集処理部101の機能を利用して画像の編集処理を行った場合、元画像と編集後画像とを連続して再生表示することで、元画像と編集後画像と比較できるようにすることを望む場合が多い。しかし従来は、元画像よりも後に生成された画像が既にメモリカード80に記録されている場合、メモリカード80に記録されている画像をファイル番号順に再生表示しても、日時情報順に再生表示しても、元画像と編集後画像とを連続して再生表示することができなかった。これに対して、本実施形態のデジタルカメラでは、関連付け処理部102が、元画像の日時情報に基づいて生成される日時情報を編集後画像に関連付けてメモリカード80に記録するため、メモリカード80に記録された画像を日時情報順にソートし、再生表示するようにすれば、元画像と編集後画像とを連続して再生表示することができる。
以下、元画像の日時情報に基づいて生成される日時情報が、元画像の日時情報と一致する日時情報であるものとし、画像の編集処理により新たに生成される編集後画像の記録および再生表示の順番について、具体例を挙げながら説明する。
図9は、図5に示したファイル番号「IMG0002.JPG」を元画像として画像編集処理部101による編集処理が行われ、編集後画像が新たに生成されてメモリカード80に記録された場合のメモリカード80のファイル格納状態を示している。新たに生成された編集後画像は、既に存在するファイル番号から連続する新たなファイル番号、つまり画像のコマ番号となる新たなファイル番号が付されて、メモリカード80に格納される。図9に示す例では、ファイル番号「IMG0001.JPG」〜「IMG0004.JPG」が既に存在するため、新たに生成された編集後画像に対しては、これら既に存在するファイル番号に続くファイル番号「IMG0005.JPG」が付与される。
図10は、メモリカード80に記録された画像に日時情報が関連付けられている状態を示す概念図である。デジタルカメラにより撮影されてメモリカード80に記録されたオリジナルの画像(画像編集により生成された画像ではない撮影画像)には、デフォルトの日時情報が関連付けられている。デフォルトの日付情報は、例えば、撮影日時、ファイル更新日時、などが考えられる。図10に示す例では、ファイル番号「IMG0001.JPG」の画像には日時情報「2011/04/01 9:07:04」が関連付けられ、ファイル番号「IMG0002.JPG」の画像には日時情報「2011/04/24 22:01:23」が関連付けられ、ファイル番号「IMG0003.JPG」の画像には日時情報「2011/05/06 11:12:03」が関連付けられ、ファイル番号「IMG0004.JPG」の画像には日時情報「2011/05/15 14:21:09」が関連付けられている。
図11は、ファイル番号「IMG0002.JPG」の画像を元画像として編集処理を行うことで生成されたファイル番号「IMG0002.JPG」の編集後画像に対して、関連付け処理部102が日時情報を関連付けた状態を示す概念図である。関連付け処理部102は、図11に示すように、元画像であるファイル番号「IMG0002.JPG」の画像の日時情報と同じ日時情報「2011/04/24 22:01:23」を、ファイル番号「IMG0002.JPG」の編集後画像に関連付けている。
画像に関連付ける日時情報の格納場所としては、上述したように、画像ファイルの画像ヘッダ部に含まれる日時情報(図6参照)を利用することができる。この場合、日時情報は画像のデータそのものと一体にメモリカード80に格納される。
また、画像ファイルとは別に画像ファイル群を管理する管理情報ファイルを生成し、この管理情報ファイルに画像の日時情報を格納するようにしてもよい。この場合、管理情報ファイルは、メモリカード80のルートディレクトリの下のイメージディレクトリとは別に設けられたディレクトリ(例えば「テンプレート」など)に配置される。図12は、管理情報ファイルの一例を示す図であり、(a)は図10に対応した管理情報ファイルの一例を示し、(b)は図11に対応した管理情報ファイルの一例を示している。管理情報ファイルには、図12(a),(b)に示すように、イメージディレクトリに配置された各画像ファイルのファイル番号と日時情報とを対応付けた情報が記述されている。
また、画像に関連付ける日時情報の格納場所としては、メモリカード80のファイル管理領域(ファイルシステムで管理するシステム領域)に存在するタイムスタンプ情報を使用してもよい。具体的には、ルートディレクトリに記録される各エントリの中にある、ファイルの作成日時や更新日時などのタイムスタンプ情報(図4参照)を、日時情報の格納場所として用いることができる。この場合、編集後画像に対応するエントリの作成日時や更新日時などが、元画像に対応するエントリの作成日時や更新日時と同じになる。
また、編集後画像に日時情報を関連付ける際に、画像ファイルの画像ヘッダ部には、編集後画像が生成された日時を表す日時情報を格納するようにし、ファイル管理領域のタイムスタンプ情報(日時情報)を、元画像のタイムスタンプ情報(日時情報)と同じにするようにしてもよい。この場合、メモリカード80に記録された画像を日時情報順に再生表示する際に、画像ファイルの画像ヘッダ部に含まれる日情報ではなく、メモリカード80のファイル領域のタイムスタンプ情報を参照して画像を日時情報順にソートすれば、元画像と編集後画像とを連続して再生表示することができる。
本実施形態のデジタルカメラは、メモリカード80に記録された画像を再生表示する際に、操作部100を用いたユーザの操作に応じて、ファイル番号順での再生表示と、日時情報順での再生表示との選択が可能である。ファイル番号順での再生表示が選択された場合、CPU61は、メモリカード80に記録された画像のファイル番号を、該ファイル番号の順番に従ってソートしたコマ管理テーブルを生成する。一方、日時情報順での再生表示が選択された場合、CPU61は、メモリカード80に記録された画像のファイル番号を、画像に関連付けられた日時情報順にソートしたコマ管理テーブルを生成する。なお、日時情報が同じ画像については、ファイル番号が古い(番号の値が小さい)画像の次にファイル番号が若い(番号の値が大きい)画像が続くようにソートする。コマ管理テーブルの生成は、例えば、デジタルカメラの起動時に行われてSDRAM70に保存される。SDRAM70に保存されたコマ管理テーブルは、新たな画像の撮影が行われると更新される。
図13は、CPU61が生成するコマ管理テーブルの一例を示す図であり、(a)は図11に示した画像のファイル番号をファイル番号の順番に従ってソートしたコマ管理テーブルを示し、(b)は図11に示した画像のファイル番号を日時情報順にソートしたコマ管理テーブルを示している。
メモリカード80に記録された画像をファイル番号順で再生表示させる場合、CPU61は、例えば図13(a)に示すコマ管理テーブルに従い、「IMG0001.JPG」→「IMG0002.JPG」→「IMG0003.JPG」→「IMG0004.JPG」→「IMG0005.JPG」の順序で、メモリカード80に記録された各画像を再生表示する。この場合、元画像であるファイル番号「IMG0002.JPG」の画像と、編集後画像であるファイル番号「IMG0005.JPG」は、連続して再生表示されない。
一方、メモリカード80に記録された画像を日時情報順で再生表示させる場合、CPU61は、例えば図13(b)に示すコマ管理テーブルに従い、「IMG0001.JPG」→「IMG0002.JPG」→「IMG0005.JPG」→「IMG0003.JPG」→「IMG0004.JPG」の順序で、メモリカード80に記録された各画像を再生表示する。この場合、元画像であるファイル番号「IMG0002.JPG」の画像と、編集後画像であるファイル番号「IMG0005.JPG」とが、連続して再生表示されることになる。
なお、メモリカード80に記録された画像をファイル番号順で再生表示させる場合も、日時情報順で再生表示させる場合も、表示する各画像の切り替えは、例えば、操作部100の右スイッチ21が操作されるたびに行われる。また、操作部100の左/画像確認スイッチ20が操作された場合は、上記とは逆の順序で再生表示が行われる。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のデジタルカメラは、元画像に対して編集処理を行って編集後画像を生成した場合、生成した編集後画像を、元画像の日時情報に基づいて生成される日時情報に関連付けてメモリカード80に記録するようにしている。したがって、本実施形態のデジタルカメラによれば、メモリカード80に記録された画像を日時情報順にソートして再生表示することで、元画像のファイル番号と編集後画像のファイル番号との間に別の画像のファイル番号が介在していたとしても、元画像と編集後画像が連続するように画像のソートおよび再生表示を行うことができる。元画像と編集後画像とを連続して再生表示すれば、ユーザは、編集処理の結果を容易に確認することができる。
元画像と編集後画像とを連続して再生表示できるようにする方法としては、編集後画像を生成したときに、編集後画像とともに元画像に対しても新たなファイル番号を付与し、元画像に付与されていた元のファイル番号を欠番にする方法もある。しかし、この方法を採用した場合は、ファイル番号の連続性が失われるため、元画像の画像ファイルを検索することが困難になる。これに対して、本実施形態のデジタルカメラによれば、ファイル番号については各画像の生成時に付与されたファイル番号が維持されるため、ユーザが目的とする画像ファイルを検索しやすいという効果がある。特に、元画像がデジタルカメラにより撮影された撮影画像である場合、ファイル番号順が撮影順になっているため、より有用である。
また、本実施形態のデジタルカメラにおいて、編集後画像に日時情報を関連付ける際に、画像ファイルの画像ヘッダ部には編集後画像が生成された日時を表す日時情報を格納するようにし、ファイル管理領域のタイムスタンプ情報(日時情報)として、元画像のタイムスタンプ情報(日時情報)に基づいて生成されるタイムスタンプ情報(日時情報)を格納するようにすれば、画像ファイルの画像ヘッダ部に格納された日時情報から、編集後画像の処理履歴等の確認を行うことも可能となる。また、画像の再生表示時には、画像ファイルの画像ヘッダ部に含まれる日時情報を参照するよりも、ファイル管理領域のタイムスタンプ情報(日時情報)を参照して画像のソート、再生表示を行う方が短時間での処理が可能になるため、ユーザがより早く画像の確認を行うことができるという効果もある。
なお、上記の説明では、編集処理の対象となる元画像が、他の画像に対して編集処理を行うことで生成された編集後画像ではないオリジナルの画像である場合を想定していたが、他の画像に対して編集処理を行うことで生成された編集後画像を元画像とし、この元画像に対して新たに編集処理を行うことで、新たな編集後画像を生成するようにしてもよい。
また、上記の説明では、編集後画像に対して、元画像の日時情報に基づいて生成される日時情報を関連付けるものとしたが、編集後画像に対しては該編集後画像が生成されたときの日時情報を関連付け、元画像に対して、編集後画像の日時情報に基づいて生成される新たな日時情報を関連付ける(つまり、元画像の日時情報を変更する)ようにしてもよい。ここで、編集後画像の日時情報に基づいて生成される日時情報とは、例えば、編集後画像の日時情報と一致する日時情報(編集後画像の日時情報をコピーした日時情報)、あるいは、編集後画像の日時情報との差分が予め定めた所定範囲内となる日時情報である。このように、元画像に対して、編集後画像の日時情報に基づいて生成される新たな日時情報を関連付けるようにした場合であっても、編集後画像に対して、元画像の日時情報に基づいて生成される日時情報を関連付ける場合と同様に、メモリカード80に記録された画像を日時情報順にソートして再生表示することで、元画像のファイル番号と編集後画像のファイル番号との間に別の画像のファイル番号が介在していたとしても、元画像と編集後画像が連続するように画像のソートおよび再生表示を行うことができる。
また、上記の説明では、メモリカード80に記録された元画像と編集後画像とを本実施形態のデジタルカメラで再生表示するものとしたが、メモリカード80に記録された画像を日時情報順でソート、再生表示することが可能な表示装置であれば、本実施形態のデジタルカメラ以外の表示装置であっても、元画像と編集後画像とが連続するようにソートして、再生表示することができる。
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、合成撮影機能を持つデジタルカメラへの適用例である。デジタルカメラの構成のうち、第1の実施形態と異なるのは、CPU61により実現される機能である。以下、第2の実施形態のデジタルカメラが備えるCPU61をCPU61−2と表記し、第2の実施形態の特徴部分についてのみ説明する。
図14は、CPU61−2が所定の制御プログラムを実行することで実現される機能構成を示す機能ブロック図である。CPU61−2は、所定の制御プログラムを実行することで実現される機能構成として、画像合成処理部201と、関連付け処理部202と、を備える。なお、これら画像合成処理部201や関連付け処理部202は、FPGAやASICなどの専用のハードウエアにより構成することも可能である。
画像合成処理部201は、合成撮影機能により合成画像を生成する処理を実行する。合成撮影機能とは、連続撮影される複数の画像を順次重畳合成して、合成画像を生成する機能である。例えば連続撮影される5枚のオリジナル画像を順次重畳合成して最終合成画像を生成する場合、画像合成処理部201は、まず、最初に撮影される1枚目のオリジナル画像と次に撮影される2枚目のオリジナル画像とを重畳合成し、合成画像を生成する。ここで生成される合成画像は、最終的に得たい最終合成画像ではなく、最終合成画像を生成する過程で生成される合成画像であるため、中間合成画像と呼ばれる。次に、画像合成処理部201は、3枚目のオリジナル画像と最初の中間合成画像とを重畳合成することで、1〜3枚目のオリジナル画像を合成した2番目の中間合成画像を生成する。さらに、画像合成処理部201は、4枚目のオリジナル画像と2番目の中間合成画像とを重畳合成することで、1〜4枚目のオリジナル画像を合成した3番目の中間合成画像を生成する。そして、画像合成処理部201は、5枚目のオリジナル画像と3番目の中間合成画像とを重畳合成することで、1〜5枚目のオリジナル画像を合成した最終合成画像を生成する。
関連付け処理部202は、中間合成画像に対して、最終合成画像の日時情報に基づいて生成される日時情報を関連付ける処理を行う。ここで、最終合成画像の日時情報に基づいて生成される日時情報とは、第1の実施形態と同様、最終合成画像の日時情報と一致する日時情報、あるいは、最終合成画像の日時情報との差分が予め定めた所定範囲内となる日時情報である。また、日時情報の定義および関連付けた日時情報の格納場所についても、第1の実施形態と同様である。以下では、中間合成画像に対して、最終合成画像の日時情報と一致する日時情報を関連付ける場合を例に説明する。
関連付け処理部202は、例えば、画像合成処理部201により新たな合成画像が生成されるたびに、その中間合成画像に対してはデフォルトの日時情報として、その中間合成画像が生成された日時を表す日時情報を関連付けるとともに、それより以前に生成された合成画像(つまり、新たな合成画像に関連する中間合成画像)が存在する場合には、それより以前に生成された合成画像に関連付けられている日時情報を、新たな合成画像に関連付けた日時情報と同じ情報に更新する。関連付け処理部202は、画像合成処理部201により合成画像が生成されるたびに以上の処理を繰り返すことで、最終的に、最終合成画像に対して関連付けた日時情報と一致する日時情報を、最終合成画像に関連するすべての中間合成画像に対して関連付ける。
画像合成処理部201が合成画像を生成する処理を実行している間、CPU61−2は、画像合成処理部201が扱う各画像について、オリジナル画像か合成画像かを判別できる属性情報を管理している。また、CPU61−2は、合成撮影機能の先頭画像と最終画像とを特定するための情報も管理している。関連付け処理部202は、画像合成処理部201が合成画像を生成する処理を実行している間、これらの情報を用いて関連する中間合成画像を認識して、新たな合成画像(中間合成画像や最終合成画像)が生成されるたびに、その新たな合成画像に関連する中間合成画像の日時情報を更新する。なお、CPU61−2が管理する上記の情報は、画像合成処理部201による処理が終了すると破棄される。
図15は、CPU61−2の画像合成処理部201および関連付け処理部202による処理の流れを示すフローチャートである。この図15に示す一連の処理は、デジタルカメラのユーザが操作部100のボタンキーなどを用いて、デジタルカメラの機能のうち、合成撮影機能を選択することによって開始される。なお、図中、オリジナル画像はIMGn、合成画像はTMPnを用いて表記する。nは0を初期値とする自然数である。
図15のフローチャートで示す処理が開始されると、まずステップS201において、nが初期化(n=0)され、ステップS202において、撮影要求があるかどうかの判定が行われる。そして、撮影要求がなければ撮影要求があるまで待機し(ステップS202:No)、撮影要求があると(ステップS202:Yes)、ステップS203において、オリジナル画像IMGnの撮影が行われ、ステップS204において、撮影されたオリジナル画像IMGnがメモリカード80に記録される。
次に、ステップS205およびステップS206において、ステップS204で記録されたオリジナル画像IMGnが何枚目のオリジナル画像であるかの確認が行われる。すなわち、ステップS205において、nの値が1を超える値か否か(つまり、ステップS204で記録されたオリジナル画像IMGnが3枚目以降のオリジナル画像かどうか)が確認され、nの値が1以下の場合は(ステップS205:No)、ステップS206において、nの値が1か否か(つまり、ステップS204で記録されたオリジナル画像IMGnが2枚目のオリジナル画像かどうか)が確認される。そして、nの値が1ではない(つまり、ステップS204で記録されたオリジナル画像IMGnが1枚目のオリジナル画像である)場合(ステップS206:No)は、ステップS207において、合成撮影が終了したか否かが判定され、合成撮影が終了していなければ(ステップS207:No)、ステップS208において、nの値がインクリメント(n=n+1)される。そして、ステップS202に戻って以降の処理が繰り返される。
また、nの値が1の場合は(ステップS206:Yes)、ステップS209において、画像合成処理部201が、オリジナル画像IMG0とオリジナル画像IMG1とを重畳合成し、1枚目の合成画像TMP1を生成する。そして、ステップS210において、関連付け処理部202が、1枚目の合成画像TPM1に対してデフォルトの日時情報(合成画像TPM1の生成日時を表す日時情報)を関連付けて、メモリカード80に記録する。その後、ステップS207において、合成撮影が終了したか否かが判定され、合成撮影が終了していなければ(ステップS207:No)、ステップS208において、nの値がインクリメント(n=n+1)される。そして、ステップS202に戻って以降の処理が繰り返される。
また、nの値が1を超える場合は(ステップS205:Yes)、ステップS211において、画像合成処理部201が、オリジナル画像IMGnと合成画像TMP(n−1)とを重畳合成し、新たな合成画像TPMnを生成する。そして、ステップS212において、関連付け処理部202が、新たな合成画像TMPnに対してデフォルトの日時情報(合成画像TPMnの生成日時を表す日時情報)を関連付けて、メモリカード80に記録する。また、ステップS213において、関連付け処理部202が、合成画像TMPnよりも前に生成された関連する合成画像TMP1〜TMP(n−1)の日時情報を、合成画像TMPnに関連付けた日時情報と同じ日時情報に更新する。その後、ステップS207において、合成撮影が終了したか否かが判定され、合成撮影が終了していなければ(ステップS207:No)、ステップS208において、nの値がインクリメント(n=n+1)される。そして、ステップS202に戻って以降の処理が繰り返される。
以上の処理が合成撮影が終了するまで繰り返され、最終的に、所望の合成画像(最終合成画像)がメモリカード80に記録される。そして、ステップS207において合成撮影が終了したと判定されると(ステップS207:Yes)、図15に示す一連の処理が終了する。
図16は、オリジナル画像と画像合成処理部201により生成される合成画像とがメモリカード80に記録される様子を時系列に沿って示した概念図である。図16に示すように、新たなオリジナル画像が撮影されるたびに、そのオリジナル画像と既に記録された合成画像と重畳合成して得られる新たな合成画像が、メモリカード80に順次記録されることが分かる。
本実施形態のデジタルカメラでは、上述したように、画像合成処理部201により新たな合成画像が生成されるたびに、関連付け処理部202が、新たな合成画像に対してはその合成画像の生成日時を表す日時情報を関連付けるとともに、それよりも以前に生成された合成画像に対しては、新たな合成画像に対して関連付けた日時情報と同じ日時情報を関連付ける。そして、最終的にはすべての中間合成画像に対して、最終合成画像に対して関連付けた日時情報と同じ日時情報を関連付ける。これにより、本実施形態のデジタルカメラでは、合成に用いた複数のオリジナル画像をまとめて連続再生表示した後に、順次生成された複数の合成画像(中間合成画像や最終合成画像)をまとめて連続再生表示できるようにしている。
デジタルカメラのユーザは、合成撮影機能を利用した撮影を行った場合、合成に用いた複数のオリジナル画像をまとめて連続再生表示した後に、順次生成された複数の合成画像(中間合成画像や最終合成画像)をまとめて連続再生表示することを望む場合が多い。しかし従来は、合成撮影機能を利用した撮影を行った場合、画像が記録される順番は図16に示した順番となり、この順番で各画像にファイル番号が付されるとともに、この順番の日時情報が関連付けられるため、合成撮影機能により得られる各画像をファイル番号順に再生表示しても、日時情報順に再生表示しても、オリジナル画像と合成画像とが混在して再生表示され、ユーザの望む順番で再生表示することができなかった。これに対して、本実施形態のデジタルカメラでは、関連付け処理部202が、すべての中間合成画像に対して、最終合成画像に対して関連付けた日時情報と同じ日時情報を関連付けるようにしているため、記録された画像を日時情報順にソートし、再生表示するようにすれば、合成に用いた複数のオリジナル画像をまとめて連続再生表示した後に、順次生成された複数の合成画像(中間合成画像や最終合成画像)をまとめて連続再生表示することができる。
以下、連続撮影される5枚のオリジナル画像を順次重畳合成して最終合成画像を生成する場合を例に挙げて、合成撮影機能による撮影時に画像が記録される順番と、記録した画像を再生表示する順番について、具体的に説明する。
図17は、連続撮影される5枚のオリジナル画像A〜Eを順次重畳合成して最終合成画像E’を生成する様子を示す概念図である。撮影1回目でオリジナル画像Aが撮影されると、このオリジナル画像Aは、ファイル番号「IMG0001.JPG」が付与され、日時情報It1と関連付けられてメモリカード80に記録される。次に、撮影2回目でオリジナル画像Bが撮影されると、このオリジナル画像Bは、ファイル番号「IMG0002JPG」が付与され、日時情報It2と関連付けられてメモリカード80に記録される。また、オリジナル画像Aと新たに撮影されたオリジナル画像Bとが重畳合成され、合成画像B’が生成される。この合成画像B’は、ファイル番号「IMG0003JPG」が付与され、デフォルトの日時情報It3と関連付けられてメモリカード80に記録される。
次に、撮影3回目でオリジナル画像Cが撮影されると、このオリジナル画像Cは、ファイル番号「IMG0004JPG」が付与され、日時情報It4と関連付けられてメモリカード80に記録される。また、合成画像B’と新たに撮影されたオリジナル画像Cとが重畳合成され、合成画像C’が生成される。この合成画像C’は、ファイル番号「IMG0005JPG」が付与され、デフォルトの日時情報It5と関連付けられてメモリカード80に記録される。このとき、合成画像C’に関連する合成画像B’の日時情報It3は、合成画像C’に関連付けた日時情報と同じ日時情報It5に更新される。
次に、撮影4回目でオリジナル画像Dが撮影されると、このオリジナル画像Dは、ファイル番号「IMG0006JPG」が付与され、日時情報It6と関連付けられてメモリカード80に記録される。また、合成画像C’と新たに撮影されたオリジナル画像Dとが重畳合成され、合成画像D’が生成される。この合成画像D’は、ファイル番号「IMG0007JPG」が付与され、デフォルトの日時情報It7と関連付けられてメモリカード80に記録される。このとき、合成画像D’に関連する合成画像B’および合成画像C’の日時情報It3は、合成画像D’に関連付けた日時情報と同じ日時情報It7に更新される。
最後に、撮影5回目でオリジナル画像Eが撮影されると、このオリジナル画像Eは、ファイル番号「IMG0008JPG」が付与され、日時情報It8と関連付けられてメモリカード80に記録される。また、合成画像D’と新たに撮影されたオリジナル画像Eとが重畳合成され、合成画像(最終合成画像)E’が生成される。この最終合成画像E’は、ファイル番号「IMG0009JPG」が付与され、日時情報It9と関連付けられてメモリカード80に記録される。このとき、最終合成画像E’に関連する中間合成画像である合成画像B’、合成画像C’および合成画像D’の日時情報It7は、最終合成画像E’に関連付けた日時情報と同じ日時情報It9に更新される。
以上の結果、図18に示すように、最終合成画像E’と、この最終合成画像E’に関連するすべての中間合成画像B’,C’,D’とに、同じ日時情報It9が関連付けられることになる。
本実施形態のデジタルカメラは、メモリカード80に記録された画像を再生表示する際に、第1の実施形態と同様に、操作部100を用いたユーザの操作に応じて、ファイル番号順での再生表示と、日時情報順での再生表示との選択が可能である。ファイル番号順での再生表示が選択された場合、CPU61−2は、メモリカード80に記録された画像のファイル番号を、該ファイル番号の順番に従ってソートしたコマ管理テーブルを生成する。一方、日時情報順での再生表示が選択された場合、CPU61−2は、メモリカード80に記録された画像のファイル番号を、画像に関連付けられた日時情報順にソートしたコマ管理テーブルを生成する。なお、日時情報が同じ画像については、ファイル番号が古い(番号の値が小さい)画像の次にファイル番号が若い(番号の値が大きい)画像が続くようにソートする。
合成撮影機能により得られる各画像を日時情報順で順次再生表示させる場合、CPU61−2は、日時情報順にソートしたコマ管理テーブルに従って、各画像を順次再生表示する。図19は、図18に示した各画像を日時情報順にソートしたコマ管理テーブルに従って順次再生表示する様子を示す概念図である。本実施形態のデジタルカメラでは、図19に示すように、オリジナル画像A→オリジナル画像B→オリジナル画像C→オリジナル画像D→オリジナル画像Eの順に、すべてのオリジナル画像をまとめて連続再生表示した後に、合成画像B’→合成画像C’→合成画像D’→合成画像E’の順に、すべての合成画像をまとめて連続再生表示することが可能となる。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のデジタルカメラは、合成撮影機能により連続撮影される複数の画像を順次重畳合成して合成画像を生成する場合に、最終合成画像に関連するすべての中間合成画像に対して、最終合成画像の日時情報に基づいて生成される日時情報を関連付けてメモリカード80に記録するようにしている。したがって、本実施形態のデジタルカメラによれば、メモリカード80に記録された画像を日時情報順にソートして再生表示することで、合成に用いた複数のオリジナル画像をまとめて連続再生表示した後に、順次生成された複数の合成画像(中間合成画像や最終合成画像)をまとめて連続再生表示することができる。これにより、ユーザは、合成撮影機能の効果を直感的に把握することができる。
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態は、処理対象の画像が動画の場合の例であり、動画を分割編集する機能を持つデジタルカメラへの適用例である。デジタルカメラの構成のうち、第1の実施形態と異なるのは、CPU61により実現される機能である。以下、第3の実施形態のデジタルカメラが備えるCPU61をCPU61−3と表記し、第3の実施形態の特徴部分についてのみ説明する。
まず、図20および図21を参照して、メモリカード80における動画ファイルの格納構造について説明する。図20は、分割編集が行われる前の動画ファイルの格納構造の一例を示す概念図である。動画ファイルは、ルートディレクトリ(ROOT)の下のイメージディレクトリ(IMAGE)に格納される。動画ファイルのファイル名は、例えば「FILE****.AVI」である。このファイル名における「****」は整数値、例えば動画の撮影順に割り振られる連続番号である。また、ファイル名の拡張子「AVI」は、MPEG方式によって圧縮符号化された動画であることを示す。
図21は、図20に示したファイル番号「FILE0002.AVI」の動画を対象に分割編集を行った後の動画ファイルの格納構造の一例を示す概念図である。以下、分割編集の対象となった動画を元動画といい、分割編集により新たに生成された動画を分割後動画という。分割編集によって新たな分割後動画が生成されると、元動画は削除され、新たに生成された複数の分割後動画がメモリカード80に記録される。このとき、新たに生成された分割後動画に対しては、既に存在するファイル番号から連続する新たなファイル番号が付与される。図21に示す例では、ファイル番号「FILE0001.AVI」〜「FILE0004.AVI」が既に存在するため、新たに生成された2つの分割後動画に対して、これら既に存在するファイル番号に続くファイル番号「FILE0005.AVI」および「FILE0006.AVI」が付与される。なお、元動画に付与されていたファイル番号「FILE0002.AVI」は欠番となる。
図22は、本実施形態のデジタルカメラにおいて、CPU61−3が所定の制御プログラムを実行することで実現される機能構成を示す機能ブロック図である。CPU61−3は、所定の制御プログラムを実行することで実現される機能構成として、分割編集処理部301と、関連付け処理部302と、を備える。なお、これら分割編集処理部301や関連付け処理部302は、FPGAやASICなどの専用のハードウエアにより構成することも可能である。
分割編集処理部301は、元動画を分割して複数の分割後動画を生成する処理を実行する。すなわち、分割編集処理部301は、操作部100の各種ボタンキーによる指示などに基づき、指示に応じた元動画をメモリカード80から読み出してSDRAM70に格納する。そして、分割編集処理部301は、SDRAM70をワークエリアとして利用しながら、操作部100の各種ボタンキーによる指示などに応じて、メモリカード80から読み出した元動画を分割して、複数の分割後動画を生成する。
図23は、分割編集処理部301による分割編集処理の具体例を例示した概念図である。図23に示す例では、まず、ファイル番号「FILE0002.AVI」の動画を元動画とし、この元動画を開始から4秒のコマで分割することで、2つの分割後動画を生成している。ここで生成された2つの分割後動画には、それぞれファイル番号「FILE0005.AVI」および「FILE0006.AVI」が付与される。また、ファイル番号「FILE0002.AVI」の元動画は削除される。次に、上記で生成された2つの分割後動画のうち、時間が早い方のコマを含む分割後動画、つまりファイル番号「FILE0005.AVI」が付与された分割後動画を元動画とし、この元動画を開始から2秒のコマで分割することで、新たに2つの分割後動画を生成している。ここで新たに生成された2つの分割後動画には、それぞれファイル番号「FILE0007.AVI」および「FILE0008.AVI」が付与される。また、ファイル番号「FILE0005.AVI」の元動画は削除される。
関連付け処理部302は、分割編集処理部301により生成された分割後動画に対して、元動画の日時情報に基づいて生成される日時情報を関連付ける処理を行う。ここで、元動画の日時情報に基づいて生成される日時情報とは、第1の実施形態と同様、元動画の日時情報と一致する日時情報、あるいは、元動画の日時情報との差分が予め定めた所定範囲内となる日時情報である。また、日時情報の定義および関連付けた日時情報の格納場所についても、第1の実施形態と同様である。
本実施形態のデジタルカメラでは、関連付け処理部302が、分割編集処理部301が生成した分割後動画を、元動画の日時情報に基づいて生成される日時情報に関連付けてメモリカード80に記録することで、メモリカード80に記録された動画を、撮影された時間軸に沿って正しい順序でソートして再生できるようにするとともに、動画の検索を容易に行えるようにしている。すなわち、従来は、分割後動画に対して分割編集が行われたときの日時情報が関連付けられていたため、分割後動画を含む複数の動画を、撮影された時間軸に沿って正しい順序でソートできない場合があった。例えば、図23に示した例では、ファイル番号「FILE0006.AVI」の分割後動画よりも、ファイル番号「FILE0007.AVI」の分割後動画やファイル番号「FILE0008.AVI」の分割後動画の方が時間軸上で先になるが、ファイル番号「FILE0007.AVI」の分割後動画やファイル番号「FILE0008.AVI」の分割後動画は、ファイル番号「FILE0006.AVI」の分割後動画よりも後に生成されたため、これらの動画を日時情報順にソートすると、従来は「FILE0006.AVI」→「FILE0007.AVI」→「FILE0008.AVI」の順序となり、撮影された時間軸に沿った順序での再生ができないといった問題や、動画の検索が困難になるといった問題があった。
これに対して、本実施形態のデジタルカメラでは、関連付け処理部302が、分割後動画に対して、元動画の日時情報に基づいて生成される日時情報を関連付けるようにしているため、分割後動画を含む複数の動画を、撮影された時間軸に沿って正しい順序でソートすることができ、撮影された時間軸に沿った順序での再生を行うことができるとともに、動画の検索を容易に行うことができる。例えば、図23に示した例では、ファイル番号「FILE0005.AVI」の分割後動画やファイル番号「FILE0006.AVI」の分割後動画に対して、ファイル番号「FILE0002.AVI」の元動画の日時情報に基づいて生成される日時情報が関連付けられる。また、ファイル番号「FILE0007.AVI」の分割後動画やファイル番号「FILE0008.AVI」の分割後動画に対して、ファイル番号「FILE0005.AVI」の元動画の日時情報に基づいて生成される日時情報、つまりファイル番号「FILE0002.AVI」の元動画の日時情報に基づいて生成される日時情報が関連付けられる。
以下では、分割編集処理部301により生成される2つの分割後動画のうち、撮影された時間軸上で先になる分割後動画に対して、元動画の日時情報と一致する日時情報を関連付け、撮影された時間軸で後になる分割後動画に対して、元画像の日時情報を分割位置に応じて後側にシフトした日時情報を関連付ける場合を例に説明する。
図24は、ファイル番号「FILE0001.AVI」〜「FILE0004.AVI」の動画に日時情報が関連付けられている状態を示す概念図である。分割編集処理が行われていないオリジナルの動画には、デフォルトの日時情報が関連付けられている。デフォルトの日付情報は、例えば、撮影日時、ファイル更新日時、などが考えられる。図24に示す例では、ファイル番号「FILE0001.AVI」の動画には日時情報「2011/07/11 09:00:00」が関連付けられ、ファイル番号「FILE0002.AVI」の動画には日時情報「2011/07/11 10:05:00」が関連付けられ、ファイル番号「FILE0003.AVI」の動画には日時情報「2011/08/05 12:00:00」が関連付けられ、ファイル番号「FILE0004.AVI」の動画には日時情報「2011/09/12 08:00:00」が関連付けられている。
図25は、ファイル番号「FILE0002.AVI」の動画を元動画として分割編集処理を行うことで生成されたファイル番号「FILE0005.AVI」の分割後動画と、「FILE0006.AVI」の分割後動画とに、関連付け処理部301が日時情報を関連付けた状態を示す概念図である。関連付け処理部301は、図25に示すように、2つの分割後動画のうち、撮影された時間軸上で先になるファイル番号「FILE0005.AVI」の分割後動画に対して、元動画であるファイル番号「FILE0002.AVI」の動画の日時情報と同じ日時情報「2011/07/11 10:05:00」を関連付ける。また、関連付け処理部301は、2つの分割後動画のうち、撮影された時間軸上で後になるファイル番号「FILE0006.AVI」の分割後動画に対しては、該分割後動画が元動画の開始から4秒のコマで分割された動画であるため、元動画であるファイル番号「FILE0002.AVI」の動画の日時情報「2011/07/11 10:05:00」を4秒分シフトした日時情報「2011/07/11 10:05:04」を関連付ける。なお、元動画であるファイル番号「FILE0002.AVI」の動画は削除される。
図26は、図25に示した例から、さらにファイル番号「FILE0005.AVI」の動画を元動画として分割編集処理を行うことで生成されたファイル番号「FILE0007.AVI」の分割後動画と、「FILE0008.AVI」の分割後動画とに、関連付け処理部301が日時情報を関連付けた状態を示す概念図である。関連付け処理部301は、図26に示すように、2つの分割後動画のうち、撮影された時間軸上で先になるファイル番号「FILE0007.AVI」の分割後動画に対して、元動画であるファイル番号「FILE0005.AVI」の動画の日時情報と同じ日時情報「2011/07/11 10:05:00」を関連付ける。また、関連付け処理部301は、2つの分割後動画のうち、撮影された時間軸上で後になるファイル番号「FILE0008.AVI」の分割後動画に対しては、該分割後動画が元動画の開始から2秒のコマで分割された動画であるため、元動画であるファイル番号「FILE0005.AVI」の動画の日時情報「2011/07/11 10:05:00」を2秒分シフトした日時情報「2011/07/11 10:05:02」を関連付ける。なお、元動画であるファイル番号「FILE0005.AVI」の動画は削除される。
本実施形態のデジタルカメラは、メモリカード80に記録された動画を再生する際に、第1の実施形態と同様に、操作部100を用いたユーザの操作に応じて、ファイル番号順での動画再生と、日時情報順での動画再生との選択が可能である。ファイル番号順での動画再生が選択された場合、CPU61−3は、メモリカード80に記録された動画のファイル番号を、該ファイル番号の順番に従ってソートしたコマ管理テーブルを生成する。一方、日時情報順での動画再生が選択された場合、CPU61−3は、メモリカード80に記録された動画のファイル番号を、画像に関連付けられた日時情報順にソートしたコマ管理テーブルを生成する。
図27は、図26に示した動画のファイル番号を日時情報順にソートしたコマ管理テーブルを示す図である。メモリカード80に記録された動画を日時情報順で再生させる場合、CPU61−3は、例えば図27に示すコマ管理テーブルに従い、「FILE0001.AVI」→「FILE0007.AVI」→「FILE0008.AVI」→「FILE0006.AVI」→「FILE0003.AVI」→「FILE0004.AVI」の順序で、メモリカード80に記録された各動画を再生する。
このように、本実施形態のデジタルカメラでは、メモリカード80に記録された各動画を、撮影された時間軸に沿った順序で再生することができる。また、コマ管理テーブルは、メモリカード80に記録された各動画のファイル番号を、各動画が撮影された時間軸に沿ってソートしたものであるため、このコマ管理テーブルを用いてメモリカード80に記録された動画を検索するようにすれば、検索を容易に行うことができる。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のデジタルカメラは、元動画を分割して新たな分割後動画を生成する場合に、分割後動画に対して、元動画の日時情報に基づいて生成される日時情報を関連付けてメモリカード80に記録するようにしている。したがって、本実施形態のデジタルカメラによれば、メモリカード80に記録された画像を日時情報順にソートすることで、分割後動画を含む複数の動画を、撮影された時間軸に沿って正しい順序でソートすることができ、撮影された時間軸に沿った順序での再生を行うことができるとともに、動画の検索を容易に行うことができる。
(第4の実施形態)
次に、第4の実施形態について説明する。第4の実施形態は、連写撮影や3D撮影などの撮影処理が行われた際に、複数の静止画を1つのファイルに纏めたマルチピクチャ形式の画像(MPOファイル)を生成する機能を持つデジタルカメラへの適用例である。デジタルカメラの構成のうち、第1の実施形態と異なるのは、CPU61により実現される機能である。以下、第4の実施形態のデジタルカメラが備えるCPU61をCPU61−4と表記し、第4の実施形態の特徴部分についてのみ説明する。
図28は、CPU61−4が所定の制御プログラムを実行することで実現される機能構成を示す機能ブロック図である。CPU61−4は、所定の制御プログラムを実行することで実現される機能構成として、MPOファイル生成処理部401と、関連付け処理部402と、を備える。なお、これらMPOファイル生成処理部401や関連付け処理部402は、FPGAやASICなどの専用のハードウエアにより構成することも可能である。
MPOファイル生成処理部401は、複数の静止画(個別画像)を1つに纏めたMPOファイルを生成する処理を実行する。MPOファイルを生成するには、まず、MPOファイルに含まれる複数の個別画像が撮影される。これら複数の個別画像には、デフォルトの日時情報が関連付けられる。個別画像の撮影が終わると、MPOファイル生成処理部401は、これら複数の個別画像を1組としたMPOファイルを生成する。MPOファイル生成処理部401により生成されたMPOファイルは、新たなファイル番号が付与されてメモリカード80に記録される。
また、MPOファイル生成処理部401は、メモリカード80に記録されたMPOファイルを読み出して、MPOファイルに含まれる個別画像のうち、指定された個別画像を書き出すことで新たな静止画(以下、書き出し画像という。)を生成する処理を実行する。MPOファイルから個別画像を書き出すことで生成された書き出し画像は、新たなファイル番号が付与されてメモリカード80に記録される。
関連付け処理部402は、MPOファイル生成処理部401がMPOファイルを生成した際に、そのMPOファイルに対して、MPOファイルに含まれる先頭の個別画像(MPOファイルに含まれる複数の個別画像のうち、最も早く撮影された個別画像)の日時情報に基づいて生成される日時情報を関連付けて、メモリカード80に記録する処理を実行する。ここで、先頭の個別画像の日時情報に基づいて生成される日時情報とは、先頭の個別画像の日時情報と一致する日時情報、あるいは、先頭の個別画像の日時情報との差分が予め定めた所定範囲内となる日時情報である。
また、関連付け処理部402は、MPOファイル生成処理部401がMPOファイルから個別画像を書き出す処理を行った場合には、個別画像の書き出しにより生成される書き出し画像に対して、個別画像に対して既に関連付けられている日時情報に基づいて生成される日時情報を関連付けて、メモリカード80に記録する処理を実行する。ここで、個別画像に対して既に関連付けられている日時情報に基づいて生成される日時情報とは、個別画像に対して既に関連付けられている日時情報と一致する日時情報、あるいは、個別画像に対して既に関連付けられている日時情報との差分が予め定めた所定範囲内となる日時情報である。
本実施形態のデジタルカメラでは、上述したように、MPOファイル生成処理部401によりMPOファイルが生成されると、関連付け処理部402が、MPOファイルに対して、該MPOファイルに含まれる先頭の個別画像の日時情報に基づいて生成される日時情報を関連付ける。また、MPOファイル生成処理部401がMPOファイルから個別画像が書き出すことで書き出し画像が生成さると、関連付け処理部402が、書き出し画像に対して、個別画像に対して既に関連付けられている日時情報に基づいて生成される日時情報を関連付ける。これにより、本実施形態のデジタルカメラでは、MPOファイルとそこに含まれる個別画像もしくは書き出し画像を日時情報順にソート、再生を行うことで、これらMPOファイルと個別画像もしくは書き出し画像を順序よくソート、再生することができる。
すなわち、MPOファイルを生成する機能を持つ従来のデジタルカメラでは、MPOファイルを生成した場合に、MPOファイルに対して、MPOファイルに含まれる最後の個別画像(MPOファイルに含まれる複数の個別画像のうち、最も遅く撮影された個別画像)と同じ日時情報が関連付けられていた。また、MPOファイルから個別画像を書き出すことで書き出し画像を生成した場合、書き出し画像に対して、その書き出し画像の生成日時(書き出しの処理が行われた日時)を表す日時情報が関連付けられていた。このため、MPOファイルとそこに含まれる個別画像もしくは書き出し画像を日時情報順にソート、再生を行った場合、MPOファイルと個別画像もしくは書き出し画像がばらばらにソート、再生されてしまい、ユーザが確認しにくくなっていた。これに対して、本実施形態のデジタルカメラでは、関連付け処理部402が、MPOファイルに対しては、該MPOファイルに含まれる先頭の個別画像の日時情報に基づいて生成される日時情報を関連付け、書き出し画像に対しては、個別画像に対して既に関連付けられている日時情報に基づいて生成される日時情報を関連付けるようにしているので、MPOファイルとそこに含まれる個別画像もしくは書き出し画像を日時情報順にソート、再生を行うことで、これらMPOファイルと個別画像もしくは書き出し画像を順序よくソート、再生することができる。
以下では、MPOファイルに対して該MPOファイルに含まれる先頭の個別画像の日時情報と一致する日時情報を関連付け、書き出し画像に対して個別画像に関連付けられている日時情報と一致する日時情報を関連付けるものとして、関連付け処理部402による処理の具体例について説明する。
図29は、MPOファイルに対して日時情報を関連付ける場合の処理の概要を示す概念図である。図29では、個別画像a〜dの4枚の個別画像を1つに纏めてMPOファイルを生成する様子を示している。個別画像a〜dは、個別画像a→個別画像b→個別画像c→個別画像dの順で順次撮影され、個別画像aにはその撮影日時を表すデフォルトの日時情報It11、個別画像bにはその撮影日時を表すデフォルトの日時情報It12、個別画像cにはその撮影日時を表すデフォルトの日時情報Tt13、個別画像dにはその撮影日時を表すデフォルトの日時情報It14がそれぞれ関連付けられている。なお、図29に示す例では、各個別画像に関連付ける日時情報は、各個別画像の画像ヘッダ部にそれぞれ格納されている。
MPOファイル生成処理部401により個別画像a〜dを1つに纏めたMPOファイルが生成されると、関連付け処理部402は、MPOファイルに対して、該MPOファイルに含まれる先頭の個別画像である個別画像aに関連付けられているデフォルトの日時情報と同じ日時情報It11を関連付ける。これにより、MPOファイルと該MPOファイルに含まれる各個別画像a〜cを日時情報順にソートすると、MPOファイル→個別画像a→個別画像b→個別画像c→個別画像dの順に各画像がソートされることとなり、ユーザの望む順序でソートすることができる。
図30は、MPOファイルから個別画像を書き出すことで生成される書き出し画像に対して日時情報を関連付ける場合の処理の概要を示す概念図である。図30では、図29に示したMPOファイルから個別画像aを書き出すことで書き出し画像a’を生成し、個別画像bを書き出すことで書き出し画像b’を生成し、個別画像cを書き出すことで書き出し画像c’を生成し、個別画像dを書き出すことで書き出し画像d’を生成する様子を示している。
MPOファイル生成処理部401により書き出し画像a’が生成されると、関連付け処理部402は、書き出し画像a’に対して、個別画像aに関連付けられているデフォルトの日時情報と同じ日時情報It11を関連付ける。また、MPOファイル生成処理部401により書き出し画像b’が生成されると、関連付け処理部402は、書き出し画像b’に対して、個別画像bに関連付けられているデフォルトの日時情報と同じ日時情報It12を関連付ける。また、MPOファイル生成処理部401により書き出し画像c’が生成されると、関連付け処理部402は、書き出し画像c’に対して、個別画像cに関連付けられているデフォルトの日時情報と同じ日時情報It13を関連付ける。また、MPOファイル生成処理部401により書き出し画像d’が生成されると、関連付け処理部402は、書き出し画像d’に対して、個別画像dに関連付けられているデフォルトの日時情報と同じ日時情報It14を関連付ける。これにより、MPOファイルと各書き出し画像a’〜c’を日時情報順にソートすると、MPOファイル→書き出し画像a’→書き出し画像b’→書き出し画像c’→書き出し画像d’の順に各画像がソートされることとなり、ユーザの望む順序でソートすることができる。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のデジタルカメラは、複数の個別画像を1つに纏めたMPOファイルを生成した場合は、そのMPOファイルに対して、該MPOファイルに含まれる先頭の個別画像の日時情報に基づいて生成される日時情報を関連付けるようにしている。また、MPOファイルから個別画像を書き出すことで書き出し画像を生成した場合は、その書き出し画像に対して、個別画像に対して既に関連付けられている日時情報に基づいて生成される日時情報を関連付けるようにしている。したがって、本実施形態のデジタルカメラによれば、MPOファイルとそこに含まれる個別画像もしくは書き出し画像を日時情報順にソート、再生を行うことで、これらMPOファイルと個別画像もしくは書き出し画像を順序よくソート、再生することができる。
なお、上述した各実施形態において、CPU61により実行される制御プログラムは、例えば、ROM90に予め組み込まれて提供される。また、CPU61により実行される制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、CPU61により実行される制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でデジタルカメラにダウンロードさせることにより提供するように構成してもよい。また、CPU61により実行される制御プログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
CPU61により実行される制御プログラムは、第1の実施形態の場合は画像編集処理部101および関連付け処理部102、第2の実施形態の場合は画像合成処理部201および関連付け処理部202、第3の実施形態の場合は分割編集処理部301および関連付け処理部302、第4の実施形態の場合はMPOファイル生成処理部401および関連付け処理部402の各処理機能を含むモジュール構成となっており、実際のハードウエアとしては、CPU61(プロセッサ)が制御プログラムを実行することにより、上述した各処理機能がSDRAM70(主記憶装置)上にロードされ、各処理機能が主記憶装置上に生成されるようになっている。
以上、本発明の具体的な実施形態として第1乃至第4の実施形態について詳しく説明したが、本発明は上述した各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で様々な変形を加えて実施することができる。