以下、図面を参照して本発明を実施するための最良の形態を説明する。
(第1の実施形態)
図1は、本実施形態に係る画像処理装置の構成を示す図である。図1において、100はデジタルカメラである。10は撮影レンズ、12は絞り機能を備えるシャッター、14は光学像を電気信号に変換する撮像素子、16は撮像素子14のアナログ信号出力をディジタル信号に変換するA/D変換器である。18は撮像素子14、A/D変換器16、D/A変換器26にクロック信号や制御信号を供給するタイミング発生回路であり、メモリ制御回路22及びシステム制御部50により制御される。
20は画像処理回路であり、A/D変換器16からのデータ或いはメモリ制御回路22からのデータに対して所定の画素補間処理や色変換処理を行う。また、画像処理回路20においては、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてシステム制御部50が露光制御部40、測距制御部42に対して制御を行う。ここでは、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理を行っている。さらに、画像処理回路20においては、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
22はメモリ制御回路であり、A/D変換器16、タイミング発生回路18、画像処理回路20、画像表示メモリ24、D/A変換器26、メモリ30、圧縮・伸長回路32を制御する。A/D変換器16のデータが画像処理回路20、メモリ制御回路22を介して、或いはA/D変換器16のデータが直接メモリ制御回路22を介して、画像表示メモリ24或いはメモリ30に書き込まれる。
24は画像表示メモリ、26はD/A変換器、28はTFT LCD等から成る画像表示部であり、画像表示メモリ24に書き込まれた表示用の画像データはD/A変換器26を介して画像表示部28により表示される。画像表示部28を用いて撮像した画像データを逐次表示すれば、電子ファインダ機能を実現することが可能である。また、画像表示部28は、システム制御部50の指示により任意に表示をON/OFFすることが可能であり、表示をOFFにした場合にはデジタルカメラ100の電力消費を大幅に低減することが出来る。
30は撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えている。これにより、複数枚の静止画像を連続して撮影する連射撮影やパノラマ撮影の場合にも、高速かつ大量の画像書き込みをメモリ30に対して行うことが可能となる。また、メモリ30はシステム制御部50の作業領域としても使用することが可能である。32は適応離散コサイン変換(ADCT)等により画像データを圧縮伸長する圧縮・伸長回路であり、メモリ30に格納された画像を読み込んで圧縮処理或いは伸長処理を行い、処理を終えたデータをメモリ30に書き込む。
40は絞り機能を備えるシャッター12を制御する露光制御部であり、フラッシュ48と連携することによりフラッシュ調光機能も有するものである。42は撮影レンズ10のフォーカシングを制御する測距制御部、44は撮影レンズ10のズーミングを制御するズーム制御部、46はバリアである保護部102の動作を制御するバリア制御部である。48はフラッシュであり、AF補助光の投光機能、フラッシュ調光機能も有する。露光制御部40、測距制御部42はTTL方式を用いて制御されており、撮像した画像データを画像処理回路20によって演算した演算結果に基づき、システム制御部50が露光制御部40、測距制御部42に対して制御を行う。
50はデジタルカメラ100全体を制御するシステム制御部、52はシステム制御部50の動作用の定数、変数、プログラム等を記憶するメモリである。54はシステム制御部50でのプログラムの実行に応じて、文字、画像、音声等を用いて動作状態やメッセージ等を表示する液晶パネル、スピーカー等の表示部である。これらは、デジタルカメラ100の操作部近辺の視認し易い位置に単数或いは複数個所設置され、例えばLCDやLED、発音素子等の組み合わせにより構成されている。また、表示部54は、その一部の機能が光学ファインダ104内に設置されている。
表示部54の表示内容のうち、LCD等に表示するものとしては、シングルショット/連写撮影表示、セルフタイマー表示、圧縮率表示、記録画素数表示、記録枚数表示、残撮影可能枚数表示等がある。また、シャッタースピード表示、絞り値表示、露出補正表示、フラッシュ表示、赤目緩和表示、マクロ撮影表示、ブザー設定表示等がある。また、時計用電池残量表示、電池残量表示、エラー表示、複数桁の数字による情報表示、外部記録媒体200の着脱状態表示、通信I/F動作表示、日付け・時刻表示、等がある。また、表示部54の表示内容のうち、光学ファインダ104内に表示するものとしては、合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタースピード表示、絞り値表示、露出補正表示、等がある。
56は電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROM等が用いられる。60、62、64、66、68及び70は、システム制御部50の各種の動作指示を入力するための入力部である。この入力部は、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。
ここで、これらの入力部の各構成についての具体的な説明を行う。60はモードダイアルスイッチで、電源オフ、自動撮影モード、撮影モード、パノラマ撮影モード、再生モード、マルチ画面再生・消去モード、PC接続モード等の各機能モードを切り替え設定することが出来る。62はシャッタースイッチSW1で、不図示のシャッターボタンの操作途中でONとなり、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の動作開始を指示する。
64はシャッタースイッチSW2で、不図示のシャッターボタンの操作完了でONとなり、撮像素子14から読み出した信号をA/D変換器16、メモリ制御回路22を介してメモリ30に画像データを書き込む。また、画像処理回路20やメモリ制御回路22での演算を用いた現像処理、メモリ30から画像データを読み出し、圧縮・伸長回路32で圧縮を行い、記録媒体200或いは210に画像データを書き込む記録処理を行う。すなわち、シャッタースイッチ64で一連の処理の動作開始を指示する。
66は画像表示ON/OFFスイッチで、画像表示部28のON/OFFを設定することが出来る。この機能により、光学ファインダ104を用いて撮影を行う際に、TFT LCD等から成る画像表示部への電流供給を遮断することにより、省電力を図ることが可能となる。68はクイックレビューON/OFFスイッチで、撮影直後に撮影した画像データを自動再生するクイックレビュー機能を設定する。なお、本実施形態では特に、画像表示部28をOFFとした場合におけるクイックレビュー機能の設定をする機能を備えるものとする。
70は各種ボタンやタッチパネル等からなる操作部で、メニューボタン、セットボタン、マクロボタン、マルチ画面再生改ページボタン、フラッシュ設定ボタン、単写/連写/セルフタイマー切り替えボタン等を備える。また、メニュー移動+(プラス)ボタン、メニュー移動−(マイナス)ボタン、再生画像移動+(プラス)ボタン、再生画像−(マイナス)ボタン、撮影画質選択ボタン、露出補正ボタン、日付/時間設定ボタン等がある。また、ユーザの操作入力に応じて、DCFデータファイル、RAWデータファイル、RAWデータファイル及びDCFデータファイルの両方のデータファイルのいずれを記録媒体に記録するかを選択するための選択スイッチを備える。
80は電源制御部で、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されており、電池の装着の有無、電池の種類、電池残量の検出を行う。また、検出結果及びシステム制御部50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。82はコネクタ、84はコネクタ、86はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる電源部である。
90はメモリカード等の外部記録媒体とデータの送受信を行うカードコントローラである。91はメモリカード等の外部記録媒体とのインタフェースである。92はメモリカード等の外部記録媒体と接続を行うコネクタである。98はコネクタ92に外部記録媒体200が装着されているか否かを検知する記録媒体着脱検知部である。なお、本実施形態では記録媒体を取り付けるインタフェースやコネクタは、単数或いは複数、いずれの系統数を備える構成としても構わない。また、異なる規格のインタフェース及びコネクタを組み合わせて備える構成としても構わない。インタフェース及びコネクタとしては、PCMCIAカードやCF(コンパクトフラッシュ(登録商標))カード等の規格に準拠したものを用いて構成して構わない。さらに、インタフェース91、そしてコネクタ92をPCMCIAカードやCF(コンパクトフラッシュ(登録商標))カード等の規格に準拠したものを用いて構成することができる。そうした場合、LANカードやモデムカード、USBカード、IEEE1394カード、P1284カード、SCSIカード、PHS等の通信カード、等の各種通信カードを接続することができる。これにより、他のコンピュータやプリンタ等の周辺機器との間で画像データや画像データに付属した管理情報を転送し合うことが出来る。
102は、デジタルカメラ100のレンズ10を含む撮像部を覆う事により、撮像部の汚れや破損を防止するバリアである保護部である。104は光学ファインダであり、画像表示部28による電子ファインダ機能を使用すること無しに、光学ファインダのみを用いて撮影を行うことが可能である。また、光学ファインダ104内には、表示部54の一部の機能、例えば、合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタースピード表示、絞り値表示、露出補正表示などが設置されている。200はメモリカード等の外部記録媒体である。以上がデジタルカメラ100の全体のシステム構成である。
次に、本実施形態のデジタルカメラが採用している記録フォーマットである、DCF(Design rule for Camera File system)について説明する。図2は、DCFデータファイルの構造の概略を示す図である。図2に示すようにDCFデータファイルは、ファイルの先頭を示すマーカ(SOIマーカ)とファイルの最後を示すマーカ(EOIマーカ)を有する。そして、それらの間にDCFヘッダ部201と呼ばれるメタデータ、サムネイル画像データ部202、非可逆圧縮であるJPEG画像データのためのJPEG画像データ部203を内包している。このうちDCFヘッダ部201には、DCFとして規格化された情報だけでなく、メーカ独自の情報を埋め込むことも可能となっている。拡張子は「○○.jpg」と表記される。
次に、本実施形態のデジタルカメラが採用しているもう一つの記録フォーマットである、RAWデータファイルの構造の概略を、図3に示す。図3において、RAWデータファイルは、RAWヘッダ部301、サムネイル画像データ部302、再生用JPEG画像データ部303及びRAWデータ部304から構成される。拡張子は「○○.RAW」と表記される。RAWデータ部304に格納されるRAWデータそのものは非圧縮または可逆圧縮されておりデータ量が多く画像確認等には通常は適さない。このため、サムネイル画像データ部302や再生用JPEG画像データ部303を設けて、参照用の画像をとする。なお、図4のように、再生用JPEG画像データ部ではなく、生成したJPEG画像データそのものを格納するようなフォーマットもある。
本実施形態のデジタルカメラでは、ユーザが、一回の撮影によって、上記のDCFデータファイル、RAWデータファイル、或いはその両方を出力するように設定することができる。だたし、本実施形態では、両方のファイルを出力するよう設定されている場合、RAWデータファイルは、図5の構造を有するように生成される。
以下、図5を参照して、本実施形態のデータファイルの構造について説明する。本実施形態のデジタルカメラは、予め設定された条件を満たす場合に、撮影処理により作成されたメモリ30内のRAWデータを、図5のファイル構造により記録媒体200に記録することを1つの特徴とする。図5の図3を比較したとき、DCFファイル未生成情報502を含む点が異なる。
図5において、RAWヘッダ部501はRAWヘッダ情報を格納する領域であって、予め所定のデータサイズが与えられている。RAWヘッダ情報には、RAWデータの撮影情報やパラメータ等のメタデータが含まれており、後述するDCFファイル未生成情報502が書き込まれる。サムネイル画像データ部503は、画像表示部28に複数枚(インデックス)表示を行う際などに利用するために、後述する再生用JPEG画像データ部504に格納されているJPEG画像データを間引いてリサイズしたサムネイル画像を格納する領域である。再生用JPEG画像データ部504はRAWデータ部505に格納されるRAWデータそのものはデータ量が多く画像確認等には通常は適さないため、表示用に用意された画像ファイルデータを格納する領域である。RAWデータ部505は撮像素子14から読み出された現像・圧縮前の容量の大きい画像データであるRAWデータを格納する領域である。
上記の予め設定された条件とは、次の3つである。〔1〕記録媒体200の空き容量が所定の値より小さい場合。〔2〕RAW画像データファイルのサイズが所定の値より大きい場合。〔3〕デジタルカメラがRAW画像データファイルを作成する連写撮影を行う場合。本実施形態では〔1〕の場合について詳細に説明する。なお、他の条件を採用しても構わない。なお、空き容量と比較する所定の値とは、本実施形態では、標準のRAWデータファイルとDCFデータファイルの合計サイズとしているがこれに限られない。例えば、標準のRAWデータファイルとDCFデータファイルのそれぞれのサイズの合計に管理情報のサイズを加えたサイズであってもよい。また、後述するRAWデータファイルのサイズ設定値のようにユーザが設定しても良い。
本実施形態における撮影記録処理(1)〜(3)に先立ち、予めユーザが操作部70の選択スイッチによりRAWデータファイル及びDCFデータファイルの両方のファイルを記録する設定がされる。そして、その設定がされた状態で、シャッタースイッチSW1(62)とSW2(64)の押下されたことに応答して、撮影記録処理(1)〜(3)が開始される。
次に、図6のフローチャートを参照して、上記のRAWデータファイルとDCFデータファイルの撮影記録処理(1)を説明する。図6の撮影記録処理(1)では、撮像素子14によって取り込んだ画像データを外部記録媒体200の空き容量に応じて、RAWデータファイル及びJPEG画像データファイルの外部記録媒体200へ書き込みを制御する。
まず、ステップS301では、先に述べたように、不図示のシャッタースイッチを構成するSW1(62)とSW2(64)の操作に応答し、AF処理、AE処理、露光処理までの一連の撮影処理が行われる。
次に、ステップS302において、A/D変換器16、画像処理回路20、メモリ制御回路22を介して、メモリ30の画像記憶バッファ領域に撮影したRAWデータを書き込むRAWデータ取得処理を実行する。ここで、RAWデータを、A/D変換器16から直接メモリ制御回路22を介してメモリ30に書き込んでも良い。また、ここでは、システム制御部50は、メモリ30の画像記憶バッファ領域のRAWデータをメモリ制御回路22を介して読み出す。そして、現像処理を行うために必要なWB(ホワイトバランス)積分演算処理、OB(オプティカルブラック)積分処理を行い、演算結果をシステム制御部50の内部メモリ或いはメモリ52に記憶する。
システム制御部50は、ステップS303において、メモリ30の画像記憶バッファ領域内のRAWデータを読み出す。そして、設定されたモードに応じた画像圧縮処理を圧縮・伸長回路32により行う、圧縮されたRAWデータを生成する。
そして、システム制御部50は、ステップS304において、メモリ30の画像記憶バッファ領域内のRAWデータを読み出す。そして、システム制御部50の内部メモリ或いはメモリ52に記憶した演算結果を用いて、AWB(オートホワイトバランス)処理、ガンマ変換処理、色変換処理を含む各種現像処理を行う。ステップS304では更に、ダーク取り込み処理において取り込んだダーク画像データを用いて減算処理を行うことにより、撮像素子14の暗電流ノイズ等を打ち消すダーク補正演算処理も併せて行う。
ステップS305において、システム制御部50は、一連の処理がされたデータに対してJPEG圧縮処理を施してJPEG画像データを生成する。そして、メモリ30の画像記憶バッファ領域に空き領域に、生成されたJPEG画像データを記録する。ステップS306において、システム制御部50は、撮影画像の再生用JPEG画像データを作成する。なお再生用JPEG画像データは、ステップS305で生成したJPEG画像データからリサイズされたものである。システム制御部50は、作成した再生用JPEG画像データをメモリ30の画像記憶バッファの空き領域に転送する。さらに、ステップS307において、再生用JPEG画像データをリサイズしてサムネイル画像データを生成し、生成したサムネイル画像をメモリ30の画像記憶バッファの空き領域に転送する。
システム制御部50は、ステップS308において、前述のステップ301の撮影情報やステップS303及びS304の生成情報を元にRAWヘッダ及びDCFヘッダを作成し、メモリ30の画像記憶バッファの空き容量に転送する。これらステップS302からステップS308までのステップにより、図5のRAWデータファイル及び図2のJPEG画像データファイルがメモリ30の画像記憶バッファに作成される。システム制御部50は、ステップS309において、記録媒体200の空き容量を取得或いは参照し、ステップS310において、メモリ30の画像記憶バッファに作成したRAWデータファイルとJPEG画像データファイルの合計記録サイズを算出する。
次に、ステップS311では、システム制御部50によって、ステップS310において算出された合計記録サイズとステップS309において取得された外部記録媒体200の空き容量を比較する。合計記録サイズが記録媒体200の空き容量より大きい場合(ステップS311において「Yes」)は、ステップS312の処理が行えない。すなわち、ステップS312において、システム制御部50は、RAWデータファイル及びJPEG画像データファイルの両方を外部記録媒体200に記憶することができない。したがって、メモリ30の画像記憶バッファ上のRAWヘッダにDCFファイル未生成情報502を記録し、ステップS314において、RAWデータファイルのみを外部記録媒体200に記録する。
一方、合計記録サイズが外部記録媒体200の空き容量より小さい場合(ステップS311において「No」)は、2つのファイルの両方が記録できる。したがって、ステップS313において、システム制御部50は、メモリ30の画像記憶バッファ上のJPEG画像ファイルを外部記録媒体200に記録し、ステップS314において、RAWデータファイルも記録する。
以上説明したように、本実施の形態によれば、外部記録媒体の空き容量がRAWデータファイルとDCFデータファイルの合計サイズよりも小さい場合においても、DCFデータファイルを再圧縮して記録する必要が無い。したがって、画質の劣化したDCFデータファイルを、ユーザの意図に反して無駄に記録してしまうことが無くなる。
また、DCFデータファイルを記録しないように制御する場合は、DCFファイル未生成情報をRAWデータファイルに記録するようにしており、これは記録後においてDCFデータファイルを生成するための参照情報として利用することができる。DCFファイル未生成情報の具体的な利用方法については、後述する実施形態において説明する。
(第2の実施形態)
第1の実施形態では、外部記録媒体の空き容量に応じて記録制御を行ったが、本実施形態では、外部記録媒体の容量にかかわらず画像データ自体での容量に基づき記録制御を行うことで、記憶領域の圧迫を未然に防ぐ方法を説明する。
第1の実施形態で述べたように、システム制御部50は、撮像素子14により取り込まれたRAWデータに対して可逆圧縮を施した圧縮RAWデータを生成して、メモリ30の画像記憶バッファに記録する。システム制御部50は、作成する圧縮RAWデータのサイズを想定するが、RAWデータのビット離散等により、想定以下の圧縮しか実行できない場合がある。本実施形態では、このような、作成したRAWデータのサイズが可変のサイズである場合に有効な撮影記録処理(2)を説明する。
以下、図10の設定画面及び図7のフローチャートを参照して、本実施形態の撮影記録処理(2)を説明する。まず、図10のRAWサイズ決定画面例を参照して、最大RAWサイズの設定方法を説明する。最初に、図10のRAWサイズ決定画面700の各項目について説明する。警告表示701は、本画面で設定した後述する最大RAWサイズ702より大きいサイズのRAWデータを作成した場合において、DCFデータファイルを記録しないことを警告している。この場合においても、RAWヘッダ部501にDCFファイル未生成情報502を記録したRAWデータが外部記録媒体200に記録される。
最大RAWサイズ702は、DCFデータファイルとRAWデータファイルの両方の記録を許容するRAWデータファイルのサイズの最大値である。変更項目703及び変更項目704は、それぞれ最大RAWサイズ702の値をデクリメント又はインクリメントする設定項目である。AUTO設定値705は、デジタルカメラが最大RAWサイズ702の値を決定する設定である。画像処理装置が、外部記録媒体200の空き容量に応じて自動で調整しても良い。その場合の設定値は、例えば、想定される基準圧縮率を撮影シーンモード(夜景、ポートレート、スポーツ等、シーンに応じて画質が変化するモード)毎に記憶しておき、圧縮前のRAWデータサイズとの積により決める方法がある。また、図10のRAWサイズ決定画面でAUTO設定値705を実行しなくても、システム制御部50が、記録媒体の空き容量や、標準のRAWサイズ等の情報からデジタルカメラが最大RAWサイズを決定しても良い。本実施形態では、図7の撮影記録処理(2)が開始されることに先立ち、ユーザが、図10のRAWサイズ決定画面700を用いてRAWデータファイルの最大サイズを設定している。
図7のフローチャートにおいて、ステップS401からステップS408までの処理は、第1の実施形態のステップS301からステップS308までの処理と同じである。
ステップS409において、予め設定しておいた最大RAWデータサイズを取得、参照する。そして、ステップS410において、メモリ30の画像記憶バッファに作成されたRAWデータファイルの記録サイズを算出する。
ステップS411において、システム制御部50は、作成されたRAWデータファイルが前述するRAWデータファイルの最大サイズの設定値より大きいかを比較する。
作成されたRAWデータファイルのサイズがRAWデータファイルの最大サイズの設定値より大きい場合(ステップS411において「Yes」)は、ステップS412に進む。そして、システム制御部50は、外部記録媒体200の容量を節約するために、DCFデータファイルを作成しない。そして、RAWヘッダ部501にDCFファイル未生成情報502を作成し、ステップS415において、RAWデータファイルを外部記録媒体に記録する。
一方、作成されたRAWデータファイルのサイズがRAWデータファイルの最大サイズの設定値より小さい場合(ステップS411において「No」)は、ステップS413に進む。そしてステップS313において、システム制御部50は、外部記録媒体200にDCFデータファイルを記録し、ステップS415において、RAWデータファイルを外部記録媒体200に記録する。
以上説明したように、本実施の形態によれば、圧縮処理の結果として作成したRAWデータファイルのサイズが大きいものであれば、外部記録媒体には、DCFデータファイルを記録しないようにすることができる。したがって、予測しなかったRAWデータファイルの増大による外部記録媒体の記憶領域の圧迫を未然に防ぐことができる。
(第3の実施形態)
デジタルカメラの動作モードの中でも、連写モードは、他の動作モードに対してデータサイズ及びデータ処理時間が大幅に増大するおそれがある。本実施形態では、撮影記録処理(3)を行うことにより、この連写モードにおいてRAWデータファイル及びDCFデータファイルの両方の記録を行う場合の不具合を解消させる。
以下、図8のフローチャートを参照して、本実施形態の撮影処理(3)を説明する。本実施形態は、連続撮影によりユーザがRAWデータファイルとDCFデータファイルとを共に記録しており、ステップS501からステップS508までの処理は、ステップS301からステップS308までの処理と同じである。
システム制御部50は、ステップS509において、現在の撮影モードの設定やメモリ30へのRAWデータの書き込みの状態といった撮影状態情報の検出を行う。この情報は後のステップS510及びステップS511における判断に用いられる。システム制御部50は、ステップS510において、デジタルカメラの撮影モードが連写モードであるかを判断する。デジタルカメラの撮影モードが連写モードである(ステップS510において「Yes」)場合、ステップS511において、システム制御部50は、作成したRAWデータファイルが連続撮影の最後のファイルであるかを判断する。連続撮影の最後のファイルでない(ステップS511において「No」)場合、システム制御部50は、ステップS512のおいて、RAWヘッダ部に501にDCFファイル未生成情報502を記録する。さらに、ステップS514において、外部記録媒体200にRAWデータファイルを記録する。
一方、連続撮影の最後のファイルである(ステップS511において「Yes」)場合、システム制御部50は、ステップS513において、DCFファイル未生成情報502ではなく、DCFデータファイルを外部記録媒体200に記録する。そして、ステップS514において、外部記録媒体200にRAWデータファイルを記録する。なお、本実施形態では、連続撮影の最後の画像だけDCFデータファイルを記録しているが、連続撮影の最初の画像でも良い。或いは、ユーザがデジタルカメラの設定を変更することにより、それらが切り替わっても良い。
また、画像撮影装置の撮影モードが連写モードでない(ステップS510において「No」)場合、システム制御部50は、ステップS513において、DCFデータファイルを外部記録媒体200に記録し、ステップS515において、外部記録媒体200にRAWデータファイルを記録する。
上記撮影記録処理(3)は、ステップS509の撮影状態情報に基づき、連写により得られた全てのRAWデータについて処理及び記録されるまで、繰り返し実行される。
以上説明したように、本実施形態によれば、連写モードでの撮影の場合、一連の連写の中で最後のDCFデータファイルだけ記録し、他のDCFデータファイルは記録しないようにした。これは、記録後、連写画像を再生するに際して、まずはその中の1つのDCFデータファイルを再生すれば、ユーザの内容確認の要求を満たすことが多いという実情を反映した構成である。そして、この構成を採ることにより、ユーザの画像再生の要求を満たしながらも、記録媒体の容量の節約及び連写におけるデータ処理時間お短縮を達成することができる。
(第4の実施形態)
本実施形態は、予め設定された条件に該当する場合に、内部のメモリ30においても、DCFデータファイルを作成しないことにより、全体での記憶容量及びデータ処理時間のさらなる節約を図ろうとするものである。
以下、図11のフローチャートを参照して、本実施形態の撮影記録処理(4)を説明する。
システム制御部50は、ステップS603において、撮影処理を実行する前に、ステップS601において、デジタルカメラの撮影モードが連写モードであるであるかを判断する。デジタルカメラの撮影モードが連写モードである(ステップS601において「Yes」)場合、ステップS603において、システム制御部50は、DCFデータファイル自体を生成しないことを意味するDCF未生成フラグを立てる。一方、デジタルカメラの撮影モードが連写モードでない(ステップS601において「No」)場合、ステップS602に進む。そして、ステップS602において、システム制御部50は、外部記録媒体200の空き容量と現在の設定されたモード(例えば、既に述べたシーンモード)に応じたDCFデータファイルのサイズと標準のRAWデータファイルの合計サイズを比較する。システム制御部50は、外部記録媒体200の空き容量が現在の設定されたモードに応じたDCFデータファイルのサイズと標準のRAWデータファイルの合計サイズより小さい(ステップS602において「Yes」)場合、ステップS603に進む。ステップS603において、システム制御部50は、DCF未生成フラグを立てる。システム制御部50は、外部記録媒体200の空き容量が現在の設定されたモードに応じたDCFデータファイルのサイズと標準のRAWデータファイルの合計サイズより大きい(ステップS602において「Yes」)場合、DCF未生成フラグを立てない。
ステップS604及びステップS605において、ステップS301及びステップS302と同様の撮影処理とRAWデータのメモリ30への転送をそれぞれ行う。システム制御部50は、ステップS606において、DCF未生成フラグが立っているかを判断する。DCF未生成フラグが立っている(ステップS606において「Yes」)場合、システム制御部50は、ステップS607からステップS609までの処理を行わない。一方、DCF未生成フラグが立っていない(ステップS606において「No」)場合、ステップS607、ステップS608、ステップS609において、それぞれステップS303、ステップS304、ステップS305と同様の処理を行う。
ステップS610からステップS612までの処理は、ステップS306からステップS308と同様に、再生用のJPEG画像データの作成及び記憶、サムネイル画像データの作成及び記憶、RAWヘッダ作成及び記憶を行う。
ステップS615において、DCF未生成フラグが立っている(ステップS613において「Yes」)場合、ステップS614に進む。そして、システム制御部50は、ステップS312と同様に、RAWヘッダ部501にDCFファイル未生成情報502を作成する。そして、ステップS616において、外部記録媒体200にRAWデータファイルを記録する。一方、DCF未生成フラグが立っていない(ステップS615において「No」)場合、ステップS617において、システム制御部50は、外部記録媒体200にDCFデータファイルを記録する。そして、ステップS617において、外部記録媒体200にRAWデータファイルを記録する。
以上説明したように、本実施形態では、連写モードである場合や記録媒体の空き容量が所定サイズより小さい場合に、メモリ30において、DCFデータファイルを作成しないようにした。これにより、外部記録媒体とデジタルカメラの内部メモリを合わせた全体での記憶容量及びデータ処理時間のさらなる節約が可能となる。
(第5の実施形態)
本実施形態では、DCFファイル未成生情報の利用方法の一例として、デジタルカメラの画像表示部28の表示について説明する。図9は、DCFファイル未生成情報が記録されたRAWデータファイルを再生した場合の表示画面600である。
画像情報601は、表示画面600に表示しているファイルの情報である、枚数情報602、日付情報604及びファイルの種類情報603を示している。ファイルの種類情報603は、表示している画像データのファイルの種類に応じて変わる。例えば、ファイルがRAWデータファイルなら「RAW」、ファイルがDCFデータファイルなら「J」、ファイルがDCFファイル未生成情報502を持つRAWデータファイルならば「RAW+J’」のように表示される。
したがって、ユーザは、RAWデータファイルを再生したときに、そのファイルに対応したDCFデータファイルが記録しているか否かを知ることができる。そして、デジタルカメラが、再生時にDCFデータファイルを作成できる機能を有していれば、所望とするタイミングで、ユーザが作成を指示して、DCFデータファイルを作成することができる。
また、RAWデータファイルをパーソナルコンピュータ等や他のデジタルカメラ等に移動させたとしても、DCFファイル未生成情報502もそれに伴って移動することになる。したがって、他の装置又はアプリケーションソフトにおいても、ユーザは、同様にDCFデータファイルの記録の有無を知ることができ、必要に応じてDCFデータファイルを作成することができる。
(第6の実施形態)
以下、図12を参照して、本実施形態に対応するDCFファイル未生成情報502の構造について説明する。本実施形態では、DCF未生成フラグ801及び未生成DCFファイル生成条件802の各情報から構成されている。
ここで、DCF未生成フラグ801は、DCFファイル未生成情報502が有効であるかを示すフラグである。本実施形態において、DCF未生成フラグ801は、JPEG画像を作成しているか否かの判断に用いている。このフラグが有効な場合において、システム制御部50は、DCFデータファイルが作成されていないと判断することができる。
DCFファイル生成条件802は、作成していないDCFデータファイルを生成する条件を示すものである。生成する条件としては、後述する実施形態のように、外部記録媒体200の『空き領域発生時』、『画像送り時』、『PC接続時』、ユーザによる『UI操作時』がある。なお、その他の条件を生成条件としても良い。また、DCFデータファイル生成条件803は、DCFファイル未生成情報502に記載しないで、デジタルカメラ100のメモリ30にRAWデータファイルとは別に記録しておいても良い。
図13は、RAW・JPEG変換テーブル900である。このテーブルでは、作成元RAWサイズ901と作成予定DCFサイズ902が対応づけられており、このテーブルはRAWデータファイルとともに記憶されている。このテーブルを参照することで、作成元となるRAWデータファイルのサイズに応じて確保しておくべき生成後のDCFデータファイルのサイズを求めることができる。本実施形態では、これらの情報をデジタルカメラ100の再生起動時の処理に利用することで、DCFデータファイルを生成するようにした。図14のフローチャートを利用して、デジタルカメラ100の再生起動処理を説明する。
ステップS701において、ユーザによるデジタルカメラ100の電源をオンにする操作により起動処理が開始される。ステップS702において、着脱検知部98は、コネクタ92に外部記録媒体200が接続されているかを検出する。外部記録媒体200が接続されている場合(ステップS702において「Yes」)は、ステップS703において、システム制御部50は、外部記録媒体200のMBRやBOOTセクタを解析する。これにより、FATのサイズやクラスタサイズ等の外部記録媒体200を構成するファイルシステムの情報を取得する。そして、ステップS704において、FATを検索し書き込み可能なクラスタの先頭位置を探し、且つ空きクラスタの数を数える。
そして、ステップS705において、後述するDCFデータファイルの作成処理を行う。ステップS706において、システム制御部50は、外部記録媒体200内の撮影済み画像を検索し、撮影済み画像枚数を取得し、ステップS707において前述する撮影済み枚数を表示する。なお、ここでの表示態様は第5の実施形態で述べた、図9の、撮影済み枚数を表示する場合のUI画面表示がある。態様がある。ここで、ステップS705でDCFデータファイルの作成を行えたか否かに応じて、第5の実施形態と同様に、ファイル種別の表示も変化する。
一方、外部記録媒体200が接続されていない場合(ステップS703において「No」)は、ステップS708において、システム制御部50は、外部記録媒体200がコネクタ92に接続されていない旨を画像表示部28に表示する。図23は、カードが無い場合のUI画面表示を示すものであり、同時に警告音を発生するようにしてもよい。
(第7の実施形態)
本実施形態では、図15、図16を参照して、図14のステップS705で述べたDCFデータファイル作成処理のフロー1〜3を説明する。
まず、図15を参照してDCFデータファイル作成処理の第1のフローを説明する。
ステップS801において、システム制御部50は、後述するDCFファイル未生成情報502の検索処理を行う。もしステップS801においてDCFファイル未生成情報502内のDCF未生成フラグ801が有効であった場合(ステップS802において「Yes」)、ステップS803に進む。ステップS803において、システム制御部50は、RAW・JPEG変換テーブル900において、DCFファイル未生成情報502を持つ作成元RAWサイズ901を参照し、作成予定DCFサイズ902を取得する。そしてステップS804において、外部記録媒体200内の書き込み可能クラスタ数と作成予定DCFサイズ902を比較し、外部記録媒体200にDCFデータファイルを作成できるかを判断する。もしDCFデータファイルを作成できると判断した場合(ステップS804において「Yes」)、ステップS805に進む。そして、システム制御部50は、後述するRAWデータファイルから DCFデータファイル作成処理を行い、ステップS801のDCFファイル未生成情報502の検索処理に戻る。ここで、DCFデータファイルを作成できないと判断された場合(ステップS804において「No」)、RAWデータファイルからDCFデータファイルを作成しないで、ステップS801のDCFファイル未生成情報502の検索処理に戻る。
一方、ステップS801において検索したDCFファイル未生成情報502内のDCF未生成フラグ801が無効であった場合(ステップS802において「No」)、DCFファイル作成処理フローを終了する。
続いて、図16を参照してDCFデータファイル作成処理の第2のフローを説明する。
図16において、ステップS901からステップS904は、図15におけるステップS801からステップS804と同様である。もし外部記録媒体200に空き領域があると判断された場合(ステップS904において「Yes」)、ステップS905において、システム制御部50は、DCFデータファイルを作成するかを画像表示部28を利用してユーザに確認する。なお、図24は、ユーザがDCFデータファイルの作成操作を行う場合のUI画面表示を示す。DCFデータファイルはJPEG圧縮された画像データのファイルであるので、ユーザにはより馴染みのある“JPEGファイル”と表示している。ステップS906において、システム制御部50は、ユーザによる作成指示操作あったかを判断する。もしユーザによる作成処指示操作があった場合(ステップS906において「Yes」)、ステップS907に進む。そして、システム制御部50は、後述するRAWデータファイルからDCFデータファイルの作成処理を行い、ステップS901のDCFファイル未生成情報502の検索処理に戻る。もしユーザによる作成指示操作がなかった場合(ステップS906において「No」)、RAWデータファイルからDCFデータファイルを作成しないで、ステップS901のDCFファイル未生成情報502の検索処理に戻る。
続いて、DCFデータファイル作成処理の第3のフローを説明する。
本フローでは、図16におけるステップS901からステップS907と同様である。つまり、システム制御部50は、他のフローと同様に、DCF未生成フラグ801が有効でない場合、DCFファイル作成処理を終了する。他のフローとの違い、本フローでは、この場合のみでなく、ステップS904において外部記録媒体200に空き領域が無いと判断された場合も、ステップS901に戻らないで、DCFファイル作成処理を終了する。さらに、ステップS907において後述するRAWデータファイルからDCFデータファイル作成処理を行った後、ステップS901に戻らないで、DCFファイル作成処理を終了する。
(第8の実施形態)
以下、図17を参照して、ステップS801及びステップS901で述べたDCFファイル未生成情報の検索処理のフロー1、2を説明する。まず、検索処理フロー1を説明する。
ステップS1101において、システム制御部50は、メモリ30からDCFファイル未生成情報502の不図示の検索済みフラグを取得する。ステップS1102において、システム制御部50は、この検索済みフラグが有効かどうか判断することにより、全てのDCFファイル未生成情報502を検索済みかどうかを判断する。もし既に全てのDCFファイル未生成情報502を読み込み済みでない場合(ステップS1102において、「No」)、ステップS1103において、システム制御部50は、外部記録媒体200内のディレクトリエントリを調べる。ここで言うディレクトリエントリとは、外部記録媒体200内の各ファイルの目次が記載されている領域である。このディレクトリエントリにはファイル名も記載されている。もし調べているファイルがRAWファイルでない場合(ステップS1104において、「No」)、ステップS1110において、システム制御部50は、次のファイルを参照し、もう一度未取得のDCFファイル未生成情報502を検索する。もし調べているファイルがRAWファイルである場合(ステップS1104において、「Yes」)、ステップS1105において、システム制御部50は、外部記録媒体200内に未取得のDCFファイル未生成情報502を検索する。もし未取得のDCFファイル未生成情報502があった場合(ステップS1105において、「Yes」)、ステップS1106に進む。そして、システム制御部50は、外部記録媒体200から未取得のRAWヘッダ内のDCF未生成フラグ801を取得し、ステップS1107において、DCF未生成フラグ801をメモリ30に記録する。ステップS1108において、システム制御部50は、外部記録媒体200から未取得のRAWヘッダ内のDCFファイル生成条件802を取得し、ステップS1109において、DCFファイル生成条件802をメモリ30に記録する。そして、システム制御部50は、ステップS1110において、次のファイルを参照し、ステップS1103に戻り、もう一度未取得のDCFファイル未生成情報502を検索する。もし未取得のDCFファイル未生成情報502がなかった場合(ステップS1105において、「No」)、ステップS1111に進む。そして、システム制御部50は、外部記録媒体200内の未取得のDCFファイル未生成情報502の検索を終了し、これまでの検索で未取得のDCFファイル未生成情報502を発見したかを判断する。もし未取得のDCFファイル未生成情報502を発見していた場合(ステップS1111において、「Yes」)、ステップS1112に進む。そして、システム制御部50は、メモリ30から未取得のDCFファイル未生成情報502内のDCF未生成フラグ801を取得し、ステップS1113において、メモリ30から未取得のDCFファイル未生成情報502内のDCFファイル生成条件802を取得する。もし未取得のDCFファイル未生成情報502が発見できなかった場合(ステップS1111において、「No」)、システム制御部50は、ステップS1112及びステップS1113の処理を行わないで、本検索処理を終了する。
一方、もし既に全てのDCFファイル未生成情報502を読み込み済みである場合(ステップS1102において、「Yes」)、ステップS1103からステップS1110までの外部記録媒体200内の検索を省略することができる。
以上が、検索処理フロー1であり、次に検索処理フロー2を説明する。本フローでは、図17におけるステップS1108のDCFファイル生成条件802の取得処理、ステップS1109の、DCFファイル生成条件802をメモリ30に書き込む処理が、処理フローに無いところが異なる。本フローにおいては、DCFファイル生成条件802は、RAWヘッダ内に記載されているのではなく、メモリ30に記録して覚えている。
(第9の実施形態)
以下、図18を参照して、ステップS805及びステップS907で述べたDCFデータファイル作成処理の処理フロー1、2を説明する。まず、図18を参照してDCFデータファイル作成処理の処理フロー1を説明する。
ステップS1301において、システム制御部50は、前述したDCFファイル未生成情報検索処理で取得したDCFファイル生成条件802が現在行っている処理に適合しているかを判断する。後述する例では、画像削除処理に対するDCFファイル生成条件802としては、外部記録媒体200内の画像削除時おける『空き領域発生時』、画像送り処理に対する『画像送り時』、PC接続処理に対する『PC接続時』、ユーザによる『UI操作時』がある。もしDCFファイル生成条件802が実行中の処理に対応する条件である場合(ステップS1301において、「Yes」)、ステップS1302に進む。そして、システム制御部50は、外部記録媒体200のRAWデータファイル内のRAWデータを取り出し、現像処理を施す。ステップ1303において、システム制御部50は、メモリ30の画像記憶バッファ領域に空き領域に、一連の現像処理を終えたJPEGデータをもとにDCFデータファイルを作成する。ステップS1304において、システム制御部50は、メモリ30の画像記憶バッファ上のDCFデータファイルを外部記録媒体200に記録する。そして、ステップS1305において、システム制御部50は、外部記録媒体200内の該当するRAWデータファイルのDCFファイル未生成情報502を消去する。そして、ステップS1306において、メモリ30の該当するRAWデータファイルのDCFファイル未生成情報502を消去する。もしDCFファイル生成条件802が実行中の処理に対応する条件でない場合(ステップS1301において、「No」)、DCFデータファイルを作成しないで作成処理を終了する。
以上が処理フロー1であるが、処理フロー2は、DCFデータファイルのもととなるデータが異なる。すなわち、処理フロー1では、RAWデータファイルのRAWデータを用いたが、本フローでは、ファイル内の再生用JPEG画像データ504を取り出して、DCFデータファイルを作成する。この処理以外のフローについては、フロー1と同じであるので、説明を省略する。
(第10の実施形態)
以下、図19〜図22を参照して、これまで説明してきたDCF画像情報を作成する処理を説明する。まず、図19において、画像削除を行った場合にRAWデータファイルからDCFデータファイルを作成する処理を説明する。
ステップS1501において、前述した図14の再生起動処理を行う。前述したように、この処理により、外部記録媒体200内の全てのDCFファイル未生成情報502をメモリ30に読み出す。ステップS1502において、システム制御部50は、液晶画面に再生画像を表示する。もし画像削除操作があった場合(ステップS1503において、「Yes」)、ステップS1504において、システム制御部50は、再生画像を消去し、ステップS1505において、DCFデータファイル作成処理を行う。なおこの時、DCFファイル生成条件802が『空き領域発生時』でなければ、DCFデータファイルは作成されない。ステップS1506において、システム制御部50は、削除した画像の使用するクラスタ数と作成したDCFデータファイルのクラスタ数を考慮して、撮影可能枚数を計算しなおす。なお、画像削除操作が無かった場合(ステップS1503において、「No」)の処理は上記の処理を行わない。
以上のように、本実施形態によれば、空き容量が発生したときにDCFファイルを生成するので、ユーザの手間を煩わせることなく、メモリを効率的に利用することができる。
(第11の実施形態)
続いて、図20において、画像送り処理を行った場合にRAWデータファイルからDCFデータファイルを作成する処理を説明する。
図20におけるステップS1601からステップS1602の処理は図19におけるステップS1501からステップS1502と同様である。もし画像削除操作があった場合(ステップS1503において、「Yes」)、ステップS1604において、システム制御部50は、液晶画面に画像送り後の再生画像を表示する。ここでシステム制御部50は、次の画像送りに備え、次の画像送り時に読み込む画像を予め読み込む先読み処理を行う。もしシステム制御部50がDCFファイル未生成情報502を持つRAWデータファイルを先読みしようとした場合(ステップS1605において、「Yes」)、ステップS1606において、システム制御部50は、DCFデータファイル作成処理を行う。なおこの時、未生成DCFファイル生成条件802が『画像送り時』でなければ、JPEGデータファイルは作成されない。ステップ1607は図19において前述したステップS1506と同様である。なお、画像送り操作が無かった場合(ステップS1603において、「No」)の処理及びDCFファイル未生成情報502を持つRAWデータファイルを先読みしようとしなかった場合(ステップS1605において、「No」)の処理は上記の処理を行わない。
以上のように、本実施形態によれば、閲覧の必要が生じたときにDCFファイルを生成するので、ユーザの手間を煩わせることなく、メモリを効率的に利用することができ、かつDCFファイルを表示することができる。
(第12の実施形態)
続いて、図21において、PC接続処理を行った場合にRAWデータファイルからDCFデータファイルを作成する処理を説明する。
図21におけるステップS1701からステップS1702の処理は図19におけるステップS1501からステップS1502と同様である。もしPC接続操作があった場合(ステップS1703において、「Yes」)、ステップS1704において、システム制御部50は、デジタルカメラからPCにRAWデータファイルを転送する。なお、この転送はRAWデータファイルを移動させても良いし、RAWデータファイルのコピーを転送しても良い。ステップS1705において、図示しないPC上のシステム制御部は、DCFファイル作成処理を行う。なおこの時、DCFファイル生成条件802が『PC接続時』でなければ、DCFデータファイルは作成されない。ステップS1706において、PC上のシステム制御は、PC上で作成したDCFデータファイルをデジタルカメラへ転送する。ステップS1707において、システム制御部50は、PCから受信したDCFデータファイルを外部記録媒体200に記録する。なお、PC接続操作が無かった場合(ステップS1703において、「No」)の処理は上記の処理を行わない。
以上のように、本実施形態によれば、PCに接続したときにDCFファイルを生成するので、ユーザの手間を煩わせることなく、メモリを効率的に利用することができ、かつDCFファイルをPCで利用することができる。
(第13の実施形態)
続いて、図22において、UI操作処理を行った場合にRAWデータファイルからDCFデータファイルを作成する処理を説明する。
図22におけるステップS1801からステップS1802の処理は図19におけるステップS1501からステップS1502と同様である。ステップS1803において、システム制御部50は、図24で示したように、未生成JPEGファイルを作成するかをユーザに確認する。ステップS1804において、システム制御部50は、ユーザによる作成指示操作あったかを判断する。もしユーザによる指示操作があった場合(ステップS1804において「Yes」)、DCFファイル作成処理を行う。なおこの時、DCFファイル生成条件802が『UI操作時』でなければ、DCFデータファイルは作成されない。なお、指示操作が無かった場合(ステップS1804において、「No」)の処理は上記の処理を行わない。
以上のように、本実施形態によれば、ユーザ操作の必要が生じたときにDCFファイルを生成するので、メモリを効率的に利用することができ、かつ任意のタイミングでDCFファイルを生成することができる。
(他の実施形態)
本発明を実現するために、上述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記憶媒体を用いても良い。この場合には記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって本発明の目的が達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)等が実際の処理の一部又は全部を行う場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。この場合には、書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行ってもよい。