(57)【特許請求の範囲】
【請求項１】
ディレクトリ内に記録されている複数のファイルの属性情報の予め定められた項目が全て同一条件を満たすか否かを判定する判定手段と、
複数のディレクトリに記録されているファイルを１つのディレクトリに統合する統合手段と、を備え、
前記統合手段は、前記判定手段により前記複数のファイルの属性情報の予め定められた項目が全て同一条件を満たすと判定されたディレクトリが存在する場合に、該判定されたディレクトリより前に作成された複数のディレクトリ、及び該判定されたディレクトリより後に作成された複数のディレクトリの少なくともいずれかに記録されているファイルを統合し、該判定されたディレクトリに記録されている複数のファイルを他のディレクトリに記録されているファイルと同一ディレクトリに統合しないことを特徴とする記録装置。
【請求項２】
前記統合手段は、前記統合される複数のディレクトリに含まれるファイルのうちの、記録された時系列順に選択された１つのディレクトリに記録可能なファイル数のファイルを、１つのディレクトリに統合することを特徴とする請求項１に記載の記録装置。
【請求項３】
ディレクトリ及びファイルのそれぞれについて、所定の上限値を有する番号を記録された時系列順で昇順となるように付す採番手段をさらに備え、
前記採番手段は、前記統合手段により統合されたディレクトリ及び該ディレクトリ内のファイルに、それぞれ最小の番号からの連番となるように新たに番号を付すことを特徴とする請求項１または２に記載の記録装置。
【請求項４】
前記判定手段は、前記採番手段によりディレクトリ及びファイルに付された番号の少なくともいずれかが上限値となった場合に判定を行うことを特徴とする請求項３に記載の記録装置。
【請求項５】
前記採番手段は、ＤＣＦ形式規格に則ってディレクトリ及びファイルに番号を付すことを特徴とする請求項３または４に記載の記録装置。
【請求項６】
前記判定手段は、ディレクトリ内に記録されている全てのファイルの前記属性情報の記録日の項目が同一条件を満たすか否かを判定することを特徴とする請求項１乃至５のいずれか１項に記載の記録装置。
【請求項７】
判定手段が、ディレクトリ内に記録されている複数のファイルの属性情報の予め定められた項目が全て同一条件を満たすか否かを判定する判定工程と、
統合手段が、複数のディレクトリに記録されているファイルを１つのディレクトリに統合する統合工程と、を備え、
前記統合工程において前記統合手段は、前記判定工程において前記複数のファイルの属性情報の予め定められた項目が全て同一条件を満たすと判定されたディレクトリが存在する場合に、該判定されたディレクトリより前に作成された複数のディレクトリ、及び該判定されたディレクトリより後に作成された複数のディレクトリの少なくともいずれかに記録されているファイルを統合し、該判定されたディレクトリに記録されている複数のファイルを他のディレクトリに記録されているファイルと同一ディレクトリに統合しないことを特徴とする記録装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のディレクトリに記録されたファイルを統合する技術に関する。
【背景技術】
【０００２】
従来、デジタルカメラ等の撮像装置では、撮像した画像を記録媒体に記録する際、カメラファイルシステム規格であるＤＣＦ形式規格（ＪＥＩＤＡ規格：Design Rule for Camera File system）に則った記録方式が主流である。ＤＣＦ形式規格では、図２のように記録媒体のｒｏｏｔディレクトリにＤＣＦイメージルートディレクトリであるＤＣＩＭディレクトリを設け、ＤＣＩＭディレクトリ以下にディレクトリ構造を持ち、画像ファイルを記録する。具体的には、ＤＣＩＭディレクトリ直下にはＤＣＦディレクトリが配置され、ＤＣＦディレクトリ内に、ＤＣＦオブジェクトである画像ファイルが記録される。
【０００３】
ＤＣＦ形式規格では、ＤＣＦディレクトリ及びＤＣＦオブジェクトの命名規則が規定されており、記録媒体に画像ファイルを記録する際には、画像ファイル名が命名規則に従って決定されて記録されることになる。ＤＣＦディレクトリの名称は半角英数字８文字で構成され、１〜３文字目に「100」〜「999」のディレクトリ番号、及び４〜８文字目に半角大文字英数字及びアンダーバーで構成される自由な文字列が割り当てられる。またＤＣＦオブジェクトの名称も半角英数字８文字で構成され、１〜４文字目に半角大文字英数字及びアンダーバーで構成される自由な文字列、及び５〜８文字目に「0001」〜「9999」のファイル番号が割り当てられる。なお、ＤＣＦオブジェクトは８文字の名称に加え、記録形式のフォーマットに従った拡張子が付される。
【０００４】
このように、ＤＣＦディレクトリ及びＤＣＦオブジェクトの命名規則では、割り当てることが可能なディレクトリ番号及びファイル番号が存在する。また、ディレクトリ番号及びファイル番号は、新規にＤＣＦディレクトリまたはＤＣＦオブジェクトが作成される際に、直前に作成したＤＣＦディレクトリまたはＤＣＦオブジェクトに付された番号と連番になるように付すことが、ＤＣＦ形式規格で推奨されている。即ち、ディレクトリ番号及びファイル番号は、ＤＣＦディレクトリまたはＤＣＦオブジェクトが作成された時系列順に、昇順となるように付される。このため、ディレクトリ番号及びファイル番号が上限値となった際に、記録媒体の記録可能容量に満たない場合であっても、新たなディレクトリ番号及びファイル番号が採番できないため、それ以上記録媒体に画像ファイルを記録できない状況に陥る問題があった。特許文献１では、ディレクトリ番号及びファイル番号が上限値となった際に、全てのディレクトリ番号を最小値から採番し直す、またはＤＣＩＭディレクトリをリネームすることにより、画像ファイルを記録可能とする技術が開示されている。
【０００５】
しかしながら、記録媒体に全てのディレクトリ番号のディレクトリが存在する場合、特許文献１のようにディレクトリ番号及びファイル番号が上限値となった際に、ディレクトリ番号を最小値から採番し直しても、ディレクトリ番号の空きは作ることができなかった。また、ディレクトリ番号及びファイル番号が上限値となった際にＤＣＩＭディレクトリをリネームする方式では、ＤＣＦ形式規格に記録されたディレクトリ構造のファイルを読み取り可能な任意の機器において、全てのファイルを読み取れない可能性があった。
このため、ＤＣＦディレクトリ内のファイル番号の空きがある場合は、２つのＤＣＦディレクトリ間でＤＣＦオブジェクトを移動することにより、少なくともファイル番号の空きを作ることが可能であるため、記録媒体に画像ファイルを記録することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１５８６４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ＤＣＦディレクトリの中には、例えばユーザが画像ファイルを分類するために、意図的に作成されたＤＣＦディレクトリが存在することがある。このような意図的に作成されたＤＣＦディレクトリが存在する場合に、上述のように２つのＤＣＦディレクトリ間でＤＣＦオブジェクトを移動することによりファイル番号の空きを作ろうとすると、次のような問題があった。即ち、意図的に作成されたＤＣＦディレクトリに記録されている画像ファイルが、別のＤＣＦディレクトリに移動してしまうことがあり、ユーザは再度画像ファイルを分類しなおす必要があった。
本発明は、上述の問題点に鑑みてなされたものであり、意図的に作成されたディレクトリのファイル構成及びディレクトリの時系列順序を崩すことなく、ファイルの統合を行うことを目的とする。
【課題を解決するための手段】
【０００８】
前述の目的を達成するために、本発明の記録装置は、以下の構成を備える。
ディレクトリ内に記録されている複数のファイルの属性情報の予め定められた項目が全て同一条件を満たすか否かを判定する判定手段と、複数のディレクトリに記録されているファイルを１つのディレクトリに統合する統合手段と、を備え、統合手段は、判定手段により複数のファイルの属性情報の予め定められた項目が全て同一条件を満たすと判定されたディレクトリが存在する場合に、該判定されたディレクトリより前に作成された複数のディレクトリ、及び該判定されたディレクトリより後に作成された複数のディレクトリの少なくともいずれかに記録されているファイルを統合し、該判定されたディレクトリに記録されている複数のファイルを他のディレクトリに記録されているファイルと同一ディレクトリに統合しないことを特徴とする。
【発明の効果】
【０００９】
このような構成により本発明によれば、意図的に作成されたディレクトリのファイル構成及びディレクトリの時系列順序を崩すことなく、ファイルの統合を行うことを可能とする。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るデジタルカメラの機能構成を表すブロック図。
【図２】ＤＣＦ形式規格のフォルダ構造及びファイル構成を説明するための図。
【図３】実施形態１のファイル再構築処理を説明するための図。
【図４】実施形態１のファイル再構築処理のフローチャート。
【図５】変形例のファイル再構築処理のフローチャート。
【図６】変形例のディレクトリ単位統合確認処理のフローチャート。
【図７】実施形態２のディレクトリ作成条件を設定するためのＧＵＩ例。
【図８】実施形態２の管理ファイルの構成例。
【発明を実施するための形態】
【００１１】
（実施形態１）
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、記録装置の一例としての、ＤＣＦ形式規格に則った画像記録が可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、ディレクトリ構造を有し、複数のディレクトリに記憶されたファイルを統合することが可能な任意の機器に適用可能である。
【００１２】
図１は、本発明の実施形態に係るデジタルカメラ１００の機能構成を示すブロック図である。
ＣＰＵ１０１は、例えば内蔵メモリ１０７に記憶されているデジタルカメラ１００の各ブロックの動作プログラムを読み出して、ＲＡＭ１０４に展開して実行することにより、デジタルカメラ１００の各ブロックの動作を制御する。内蔵メモリ１０７は、書き換え可能な不揮発性メモリであり、デジタルカメラ１００の各ブロックの動作プログラムに加え、各ブロックの動作に必要な設定値や、ユーザによって設定された撮像解像度等の設定情報を記憶する。ＲＡＭ１０４は、一時的なデータの記憶領域であり、デジタルカメラ１００の各ブロックの動作プログラムの展開や、後述する画像音声処理部１０３から出力された画像データ等が記録される。撮像部１０２は、撮像レンズ群、絞り、シャッタ等の制御可能な撮像光学系と、ＣＣＤやＣＭＯＳセンサ等の撮像素子からなり、撮像光学系によって撮像素子上に結像された光学像を光電変換し、得られたアナログ画像信号を、画像音声処理部１０３に出力する。画像音声処理部１０３は、入力されたアナログ画像信号にＡ／Ｄ変換処理を適用し、得られたデジタル画像データに対し、各種画質調整処理及び圧縮符号化処理を適用してＲＡＭ１０４に出力する。画像音声処理部１０３は、撮像された画像信号だけでなく、動画像撮像時に不図示のマイクから入力された音声信号に対し、種々の調整処理を適用し、得られたデジタル音声データをＲＡＭ１０４に出力する。
【００１３】
本実施形態では、画像音声処理部１０３からＲＡＭ１０４に出力されたデジタル画像データに対し、ＣＰＵ１０１が後述する記録媒体１０６に記録する際のディレクトリ名及びファイル名を、ＤＣＦ形式に基づいて決定する。ディレクトリ名及びファイル名のそれぞれに、ＤＣＦ形式に基づいて付される番号は、例えば内蔵メモリ１０７に記憶されているものとする。ＣＰＵ１０１は、内蔵メモリ１０７に記憶されている、前回記録された画像に付したディレクトリ及びファイルそれぞれの番号を参照し、ＲＡＭ１０４に記憶されている、新たに記録するデジタル画像データのディレクトリ名及びファイル名を決定する。なお、本実施形態では、ＤＣＦ形式規格に則り、ディレクトリ名は１００〜９９９、ファイル名は０００１〜９９９９までの番号を付して決定するものとし、それぞれの番号は、記録された時系列順に昇順となるように付される。例えば前回記録されたファイルの、ディレクトリ名に付した番号（ディレクトリ番号）が１９９、ファイル名に付した番号（ファイル番号）が９９９９である場合、新たに記録されるファイルにはディレクトリ名には２００、ファイル名には０００１が付される。このときＣＰＵ１０１は、内蔵メモリ１０７から、ディレクトリ番号が１９９及びファイル番号が９９９９であることを表す情報を受信し、それぞれの番号についてＤＣＦ形式規格に則って、連続する新たな番号を採番する。また、ＣＰＵ１０１はＲＡＭ１０４に記憶されている、新たに記録するデジタル画像データにディレクトリ名及びファイル名を決定して記録媒体１０６に記録した後、新たなディレクトリ番号及びファイル番号の情報を、内蔵メモリ１０７に上書きして記憶させる。
【００１４】
記録媒体１０６は、例えばデジタルカメラ１００に着脱可能に接続される、メモリカードやＨＤＤ等の記録装置であり、記録媒体Ｉ／Ｆ１０５によって接続が検出されている間、デジタルカメラ１００と通信可能である。記録媒体１０６には、ＣＰＵ１０１によって決定されたファイル名を付された、ＲＡＭ１０４から入力されたデジタル画像データが記録される。なお、ＲＡＭ１０４から出力されたデジタル画像データは、記録媒体Ｉ／Ｆ１０５が記録媒体１０６の接続を検出していない場合は、例えば内蔵メモリ１０７に記憶されればよい。
【００１５】
表示部１０８は、例えば小型ＬＣＤ等の表示装置であり、撮像部１０２から出力されたアナログ画像信号、及び記録媒体１０６に記録されているデジタル画像データに、画像音声処理部１０３でＤ／Ａ変換処理が適用されて出力されたアナログ画像信号を表示する。音声出力部１０９は、例えばスピーカ等の音声信号を出力可能な再生装置であり、記録媒体１０６に記録されているデジタル音声データを、画像音声処理部１０３により音声出力部１０９で再生可能な形式に変換されて得られた音声信号が入力され、再生される。ユーザ操作部１１０は、例えばレリーズボタンやメニューボタン等の、デジタルカメラ１００が備える入力インタフェースであり、ユーザによってなされた操作指示を判別し、ＣＰＵ１０１に伝送する。
【００１６】
次に図３を用いて、このような構成をもつ本実施形態のデジタルカメラ１００における、ディレクトリのファイルを統合する、ファイル再構築処理の流れについて説明する。
ファイル再構築処理を行う前に、例えば記録媒体１０６に図３（ａ）のようなディレクトリ構造を有してファイルが記録されている場合を考える。ＣＰＵ１０１は、ＤＣＩＭディレクトリ以下のディレクトリに関する情報を記録媒体Ｉ／Ｆ１０５を介して記録媒体１０６から取得する。そして、ＤＣＦディレクトリである、ＤＣＩＭディレクトリ以下のディレクトリのそれぞれについて、ディレクトリ番号及びファイル番号に空きがあるかを確認する。
【００１７】
例えば、ディレクトリ「100AAAAA」には「IMG_0001.JPG」、「IMG_0002.JPG」、「IMG_0003.JPG」の３つのファイルのみが記録されている。このため、ディレクトリ「100AAAAA」には０００４〜９９９９までのファイル番号が付されたファイルが存在しないため、９９９６個のファイル番号の空きが存在する。またＤＣＩＭディレクトリには「100AAAAA」、「200AAAAA」、「300AAAAA」、「400AAAAA」、「500AAAAA」の５つのディレクトリが記録されている。このため、ＤＣＩＭディレクトリには１０１〜１９９、２０１〜２９９、３０１〜３９９、４０１〜４９９、及び５０１〜９９９のディレクトリ番号が付されたディレクトリが存在しないため、８９５個のディレクトリ番号の空きが存在する。
【００１８】
ディレクトリ番号及びファイル番号の空きが存在するのは、当該番号は、時系列順に昇順とする命名規則では採番が不可能となってしまったためである。これらの空き番号は、ディレクトリ及びファイルを統合して、ディレクトリ番号及びファイル番号を、それぞれの最小の番号からの連番となるように付け直すことにより、採番が可能である。このような統合処理によれば、記録媒体１０６にまだ記録可能な空き容量が存在するにも関わらず、ＤＣＦ形式規格の命名規則のために新たなファイルの記録が不可能となってしまうことを回避できる。
【００１９】
さらにＣＰＵ１０１は、ＤＣＦディレクトリである、ＤＣＩＭディレクトリ以下のディレクトリのそれぞれについて、ファイルの属性情報を記録媒体１０６に記録されているそれぞれのファイルから取得する。そしてＣＰＵ１０１は、ＤＣＦディレクトリが意図的に分類されたディレクトリであるか否かを判断する。具体的には、ＣＰＵ１０１は１つのＤＣＦディレクトリ内に複数のファイルが存在し、全てのファイルの属性情報の記録日の項目が同一である場合、該当のＤＣＦディレクトリはユーザまたは設定により意図的に作成されたディレクトリであると判断する。即ち、ディレクトリ内に記録されている全てのファイルの属性情報の記録日が同一である場合は、ディレクトリが特定の記録日の撮影のために作成されたディレクトリである可能性が高い。このため、ＣＰＵ１０１は該当のディレクトリによって分類されているファイルが、ファイルの統合処理によって異なるディレクトリに記録されたり、ディレクトリ内に異なる条件のファイルが統合によって記録されたりしないように保護する必要があると判断する。
【００２０】
例えば、ディレクトリ「300AAAAA」は、ディレクトリ内に記録されている「IMG_0301.JPG」、「IMG_0302.JPG」、「IMG_0303.JPG」の３つのファイルの記録日が「2007/12/21」で全て同一である。このためＣＰＵ１０１は、ディレクトリ「300AAAAA」を意図的に作成されたディレクトリであると判断し、ファイル再構築処理の保護対象ディレクトリとして設定する。
【００２１】
以上のように、ディレクトリ番号及びファイル番号に空きがあるか、及びディレクトリが意図的に作成されたディレクトリであるかを判断して、ＣＰＵ１０１は意図的に作成されたディレクトリのファイル構成を崩すことなく、ファイルの統合を行うことができる。例えば図３（ａ）のディレクトリ構造を有する場合は、ディレクトリ「300AAAAA」を保護して、図３（ｂ）のようにディレクトリ構造及びファイル構成を再構築することができる。
【００２２】
このとき、保護されたディレクトリに記録されているファイルより後に記録されたファイルは、保護されたディレクトリの再構築後のディレクトリ番号より小さいディレクトリ番号のディレクトリには移動しない。即ち、再構築後のディレクトリ「100AAAAA」に空きがあっても、再構築前のディレクトリ「400AAAAA」及び「500AAAAA」に記憶されているファイルは再構築後のディレクトリ「100AAAAA」に移動しない。再構築前のディレクトリ「400AAAAA」及び「500AAAAA」に記憶されているファイルは、保護された再構築後のディレクトリ「101AAAAA」より後のディレクトリ「102AAAAA」に統合される。このようにすることで、ディレクトリ番号順に各ＤＣＦディレクトリのファイルを読み出した際に、時系列順となるようにディレクトリ構造及びファイル構成を保つことが可能となる。
【００２３】
なお、本実施形態では、ＤＣＦオブジェクトである画像データが有する属性情報のうち、記録日の項目に基づいて、意図的に作成されたディレクトリとして判断する方法について説明するが、本発明の実施はこれに限らない。意図的に作成されたディレクトリとして判断するために用いられる属性情報の項目は、例えば読み取り専用フラグや、撮像モード設定等、ユーザが任意に選択可能である項目であってよい。また、例えば日付をまたぐ一連の連射撮像された画像ファイル等は、撮像時刻の間隔を参照することにより、同一のディレクトリとなるように再構築を行ってもよい。
【００２４】
（ファイル再構築処理）
以下、本実施形態のデジタルカメラ１００のファイル再構築処理について、図４（ａ）のフローチャートをさらに用いて、具体的な処理について説明する。当該フローチャートに対応する処理は、ＣＰＵ１０１が、例えば内蔵メモリ１０７に記憶されている対応する処理プログラムを読み出し、ＲＡＭ１０４に展開して実行することにより実現することができる。なお、本ファイル再構築処理は、例えば撮像途中で、ディレクトリ番号及びファイル番号がそれぞれの上限値に達し、新たな画像ファイルの記録が不可能な状態になった際に開始されるものとして説明する。
【００２５】
Ｓ４０１で、ＣＰＵ１０１は記録媒体Ｉ／Ｆ１０５を介して記録媒体１０６内のディレクトリ構造及び全てのディレクトリのファイル構成を参照して、未使用のディレクトリ番号及びファイル番号が存在するかを解析する。そしてＳ４０２で、ＣＰＵ１０１は解析の結果、ディレクトリ番号またはファイル番号に空き、即ち未使用の番号が存在するか否かを判断し、ディレクトリ番号またはファイル番号に空きが存在する場合は処理をＳ４０３に移す。なお、ディレクトリ番号またはファイル番号に空きが存在しない場合は、記録媒体１０６に全てのディレクトリ番号が付されたディレクトリと、それぞれのディレクトリに全てのファイル番号が付されたファイルが記録されているということである。即ち、記録されているファイルまたはディレクトリを削除しない限り、新たな画像ファイルの記録を行うことができないため、ＣＰＵ１０１は本ファイル再構築処理を終了する。
【００２６】
Ｓ４０３以降、ＣＰＵ１０１は記録媒体１０６に存在する全てのＤＣＦディレクトリについてスキャンを繰り返し、ファイルの再構築を行う。即ち、Ｓ４０３からＳ４１０の処理を繰り返すことにより、記録媒体１０６に存在するディレクトリを、時系列順に１つずつ選択し、ディレクトリ番号及びファイル番号を変更する処理を行う。なお、全てのＤＣＦディレクトリついてスキャンを開始する前に、ＣＰＵ１０１はファイルの再構築を行うため、内蔵メモリ１０７に記憶されている、ディレクトリ番号及びファイル番号の情報を消去するものとする。即ち、ファイルの再構築によって最初にディレクトリ番号及びファイル番号を付した名称を決定する際、ＣＰＵ１０１は内蔵メモリ１０７に、前回の記録の際に付したディレクトリ番号及びファイル番号の情報がないため、それぞれの最小値を付して名称を決定する。
【００２７】
Ｓ４０４で、ＣＰＵ１０１はスキャンを行っているディレクトリ（スキャンディレクトリ）内に記録されているファイルが複数存在し、全てのファイルに係る属性情報の記録日の項目が同一の日付であるかを判断する。ＣＰＵ１０１は、スキャンディレクトリ内のファイルの記録日が同一の日付であった場合は処理をＳ４０５に移し、ディレクトリ単位統合処理を実行する。
【００２８】
ここで、Ｓ４０５で行われるディレクトリ単位統合処理について、図４（ｂ）のフローチャートを用いて説明する。なお、ディレクトリ単位統合処理は、スキャンディレクトリが意図的に作成されたディレクトリと判断した際の再構築処理であり、ファイル構成を維持したまま、スキャンディレクトリに付されているディレクトリ番号のみを変更する。
【００２９】
Ｓ４１１で、ＣＰＵ１０１は、内蔵メモリ１０７から、すでに付された（前回の記録の際にＣＰＵ１０１が付した）ディレクトリ番号の情報を取得し、当該ディレクトリ番号の次の番号を用いて、スキャンディレクトリのディレクトリ番号を変更する。本ファイル再構築処理では、再構築を行った後にディレクトリ番号及びファイル番号のそれぞれが、最小の番号から連番となるように、ＣＰＵ１０１はディレクトリ番号及びファイル番号を新たに採番して付すものとする。このため、Ｓ４１１でスキャンディレクトリに付されるディレクトリ番号は、処理の過程で付されたディレクトリ番号を除いたディレクトリ番号のうち、採番可能な最小のディレクトリ番号が付される。即ち、処理の過程で１１６までのディレクトリ番号がすでに再構築を行ったディレクトリに付されている場合、Ｓ４１１で新たに付されるディレクトリ番号は１１７となる。なお、すでに付されたディレクトリ番号及びファイル番号の情報は、例えば内蔵メモリ１０７に記憶されていればよい。なお、ＣＰＵ１０１は本ステップで付したディレクトリ番号の情報を、内蔵メモリ１０７に、すでに付されたディレクトリ番号の情報として上書きして記憶させる。  そしてＳ４１２で、ＣＰＵ１０１は、内蔵メモリ１０７に記憶されている移動先ディレクトリの情報を削除し、ディレクトリ単位統合処理を完了する。なお、移動先ディレクトリとは、ファイルを統合する際に、処理対象となっているファイルを移動する、ファイル番号に空きが存在するディレクトリである。Ｓ４１２で移動先ディレクトリの情報を削除することにより、ＣＰＵ１０１は次のスキャンディレクトリのファイルが、本ディレクトリ単位統合処理でディレクトリ番号を変更したディレクトリより小さいディレクトリ番号のディレクトリに移動されることを防ぐ。即ち、ディレクトリ番号順に記録媒体１０６に存在する各ＤＣＦディレクトリのファイルを読み出した際に時系列順となるように、ディレクトリ構造及びファイル構成が保たれる。
また、Ｓ４０４でスキャンディレクトリ内のファイルの記録日が同一の日付ではなかった場合、ＣＰＵ１０１は処理をＳ４０６に移す。
【００３０】
Ｓ４０６で、ＣＰＵ１０１は、内蔵メモリ１０７を参照し、移動先ディレクトリの情報が設定されているか否かを判断する。移動先ディレクトリの情報が存在しない場合、ＣＰＵ１０１は処理をＳ４０７に移し、内蔵メモリ１０７から、すでに付されたディレクトリ番号の情報を取得し、当該ディレクトリ番号の次の番号を用いて、スキャンディレクトリのディレクトリ番号を変更する。そしてＳ４０８で、ＣＰＵ１０１は内蔵メモリ１０７に、移動先ディレクトリの情報としてスキャンディレクトリの情報を設定して処理をＳ４０９に移し、ファイル単位統合処理を実行する。
【００３１】
ここで、Ｓ４０９で行われるファイル単位統合処理について、図４（ｃ）のフローチャートを用いて説明する。
Ｓ４２１以降、ＣＰＵ１０１はスキャンディレクトリ内の全てのファイルについて処理を繰り返し、ファイルの再構築を行う。即ち、Ｓ４２１からＳ４２８の処理を繰り返すことにより、スキャンディレクトリ内に記録されているファイルを、時系列順に１つずつＲＡＭ１０４に読み出し、新たなディレクトリへの移動及びファイル番号変更の処理を行う。
【００３２】
Ｓ４２２で、ＣＰＵ１０１は内蔵メモリ１０７から、すでに付されたファイル番号の情報を取得し、当該ファイル番号の次の番号を用いて、ＲＡＭ１０４に読み出されている、選択されたファイルのファイル番号を変更する。なお、ＣＰＵ１０１は本ステップで付したファイル番号の情報を、内蔵メモリ１０７に、すでに付されたファイル番号の情報として上書きして記憶させる。そしてＳ４２３で、ＣＰＵ１０１は内蔵メモリ１０７を参照し、設定されている移動先ディレクトリに選択されたファイルを移動する。
【００３３】
Ｓ４２４で、ＣＰＵ１０１はＳ４２２で付したファイル番号が、ファイル番号の上限値であるか否かを判断する。即ち、ＣＰＵ１０１は移動先ディレクトリが、移動したファイルによって全てのファイル番号が付されたファイルが記録され、新たなファイルを記録不可能な状態になったかを判断する。ＣＰＵ１０１は、Ｓ４２２で付したファイル番号がファイル番号の上限値であった場合は処理をＳ４２５に移し、上限値ではなかった場合は処理をＳ４２８に移して次のファイルについてＳ４２２からの処理を行う。
【００３４】
Ｓ４２５で、ＣＰＵ１０１は、Ｓ４２３のファイルの移動後も、スキャンディレクトリに記録されているファイルが存在するかを判断する。スキャンディレクトリに記録されているファイルが存在する場合、ＣＰＵ１０１は処理をＳ４２６に移す。そしてＳ４２６でＣＰＵ１０１は、内蔵メモリ１０７から、すでに付されたディレクトリ番号の情報を取得し、当該ディレクトリ番号の次の番号を用いて、スキャンディレクトリのディレクトリ番号を変更する。また、ＣＰＵ１０１は本ステップで付したディレクトリ番号の情報を、内蔵メモリ１０７に、すでに付されたディレクトリ番号の情報として上書きして記憶させる。さらにＳ４２７で、ＣＰＵ１０１は内蔵メモリ１０７に、移動先ディレクトリの情報としてスキャンディレクトリの情報を設定して処理をＳ４２８に移して次のファイルについてＳ４２２からの処理を行う。
【００３５】
Ｓ４２５で、スキャンディレクトリに記録されているファイルが存在しないと判断された場合、ＣＰＵ１０１は処理をＳ４２９に移し、記録されているファイルがなくなったスキャンディレクトリを削除する。そしてＳ４３０で、ＣＰＵ１０１は内蔵メモリ１０７に記憶されている移動先ディレクトリの情報を削除し、ファイル単位統合処理を完了する。
【００３６】
なお、上述したようにスキャンディレクトリに対し、Ｓ４０５のディレクトリ単位統合処理またはＳ４０９のファイル単位統合処理を行った後、ＣＰＵ１０１は処理をＳ４１０に移し、次のスキャンディレクトリに対し、Ｓ４０３からの処理を行う。
【００３７】
このようにして、スキャンディレクトリ内のファイルの属性情報が全て同一であるか否かによって、ディレクトリ単位統合処理またはファイル単位統合処理を行って、ファイルの再構築を行うことができる。なお、本実施形態では、ファイル再構築処理はディレクトリ番号及びファイル番号の両方が上限数に到達した際に実行されるものとして説明した。しかしながら、ファイル再構築処理の開始はユーザによって決定可能であってもよいし、例えば設定されたディレクトリ番号より大きいディレクトリ番号が記録された際に行うようにしてもよい。
【００３８】
以上説明したように、本実施形態の記録装置は、それぞれに少なくとも１つのファイルを記録する、時系列に作成された２以上のディレクトリが存在する場合、ディレクトリに記録されているファイルを統合して、ディレクトリ構造及びファイルの再構築を行う。具体的には、記録装置は、記録されている全てのファイルに係る属性情報を、ファイルとともに記録し、ファイルを統合する際に以下のように処理する。記録装置は、ファイルを統合する際に、１つのディレクトリに複数のファイルが記録されており、複数のファイルの属性情報の予め定められた項目が全て同一である場合、該ディレクトリを保護し、該ディレクトリに記録されている複数のファイルは統合を行わない。また、保護されたディレクトリより前に作成されたディレクトリ、及び保護されたディレクトリより後に作成されたディレクトリの少なくともいずれかで、それぞれにファイルの統合を行う。
【００３９】
これにより、属性情報が同一である、意図的に作成されたディレクトリのファイル構成を保ったまま、ディレクトリ構造及びファイルの再構築を行うことが可能である。また、意図的に作成されたディレクトリより前または後に作成されたディレクトリのファイルを、それぞれ独立に統合することにより、時系列順を保ったままディレクトリ構造及びファイルの再構築を行うことができる。
【００４０】
（変形例）
上述した実施形態１のファイル再構築処理では、記録媒体１０６に存在するディレクトリに記録されている複数のファイルが、全て同一の記録日の属性情報を有する場合にディレクトリ単位で統合処理を行う方法について説明した。本変形例では、さらに記録媒体１０６に全てのディレクトリ番号のディレクトリが存在し、かつ、それぞれのディレクトリに記録されているファイルが全て同一の記録日の属性情報を有する場合に、ファイルの再構築を行う方法について説明する。
【００４１】
記録媒体１０６に全てのディレクトリ番号のディレクトリが存在し、かつ、それぞれのディレクトリに記録されているファイルが全て同一の記録日の属性情報を有する場合、上述の実施形態１のファイル再構築処理では、全てのディレクトリは保護される。このとき、各ディレクトリのファイル番号に空きがある場合は、意図的に作成されたディレクトリのファイル構成を崩すことにはなるが、ファイル単位統合処理を行うことにより、デジタルカメラ１００を記録可能な状態にすることができる。
【００４２】
（ファイル再構築処理）
以下、意図的に作成されたディレクトリのファイル構成を崩すか否かをユーザに選択させ、ファイル単位統合処理を行うファイル再構築処理について図５のフローチャートを用いて説明する。当該フローチャートに対応する処理は、ＣＰＵ１０１が、例えば内蔵メモリ１０７に記憶されている対応する処理プログラムを読み出し、ＲＡＭ１０４に展開して実行することにより実現することができる。なお、本ファイル再構築処理において、実施形態１と同様の処理を行うステップについては同一の参照符号を付して説明を省略し、本変形例の特徴的なステップの説明に留める。
【００４３】
Ｓ４０１で記録媒体１０６内のディレクトリ構造及び全てのディレクトリのファイル構成を参照して、未使用のディレクトリ番号及びファイル番号が存在するかを解析した後、Ｓ５０１で、ＣＰＵ１０１はディレクトリ単位統合確認処理を行う。ここで、ディレクトリ単位統合確認処理について図６のフローチャートを用いて説明する。
【００４４】
Ｓ６０１で、ＣＰＵ１０１はＳ４０１で解析を行った結果、記録媒体１０６に存在するディレクトリが上限数であるか否か、即ち、全てのディレクトリ番号のディレクトリが存在するか否かを判断する。ＣＰＵ１０１は、記録媒体１０６に存在するディレクトリが上限数である場合は処理をＳ６０２に移し、上限数ではない場合は処理をＳ６１２に移し、ディレクトリ単位で統合処理を行うことが可能であることを、例えば内蔵メモリ１０７に記憶し、処理を完了する。
【００４５】
Ｓ６０２で、ＣＰＵ１０１は、実際にファイルの移動は行わないが、移動先ディレクトリに移動を行った際のファイル数を算出するための変数を設け、値を０とする。そしてＳ６０３以降、ＣＰＵ１０１は記録媒体１０６に存在する全てのＤＣＦディレクトリについてスキャンを繰り返し、ディレクトリ単位で統合処理を行うことが可能であるかを判断する。即ち、Ｓ６０３からＳ６１１の処理を繰り返すことにより、記録媒体１０６に存在するディレクトリを、時系列順に１つずつ選択し、移動先ディレクトリに移動を行った際のファイル数を参照して、ディレクトリ単位で統合処理を行えるかを判断する。
【００４６】
Ｓ６０４で、ＣＰＵ１０１は、スキャンディレクトリ内に記録されているファイルが複数存在し、全てのファイルに係る属性情報の記録日の項目が同一の日付であるかを判断する。ＣＰＵ１０１は、スキャンディレクトリ内のファイルの記録日が同一の日付であった場合は処理をＳ６０５に移し、移動先ディレクトリに移動を行った際のファイル数を０にリセットした後、処理をＳ６１１に移し、次のディレクトリについてＳ６０４の処理を行う。
【００４７】
Ｓ６０４でスキャンディレクトリ内のファイルの記録日が同一の日付ではなかった場合、ＣＰＵ１０１は処理をＳ６０６に移し、移動先ディレクトリに移動を行った際のファイル数が、現在０であるかを判断する。移動先ディレクトリに移動を行った際のファイル数が０であるとは、スキャンディレクトリが記録媒体１０６に記録されている先頭のディレクトリであるか、スキャンディレクトリの次にディレクトリ番号が大きいディレクトリが保護されていることを意味する。ＣＰＵ１０１は、移動先ディレクトリに移動を行った際のファイル数が０である場合は処理をＳ６０７に移し、０ではない場合は処理をＳ６０８に移す。
【００４８】
Ｓ６０７で、ＣＰＵ１０１は、移動先ディレクトリに移動を行った際のファイル数に、スキャンディレクトリに記録されているファイル数を設定し、処理をＳ６１１に移し、次のディレクトリについてＳ６０４の処理を行う。
【００４９】
また、Ｓ６０８で、ＣＰＵ１０１は、移動先ディレクトリに移動を行った際のファイル数に、スキャンディレクトリに記録されているファイル数を加算する。そしてＳ６０９で、ＣＰＵ１０１は、移動先ディレクトリに移動を行った際のファイル数が、ディレクトリに記録可能なファイルの上限数、即ち採番可能なファイル番号の数より大きいか否かを判断する。ＣＰＵ１０１は、移動先ディレクトリに移動を行った際のファイル数が、ディレクトリに記録可能なファイルの上限数より大きいである場合は処理をＳ６１０に移す。またＣＰＵ１０１は、移動先ディレクトリに移動を行った際のファイル数が、ディレクトリに記録可能なファイルの上限数以下である場合は処理をＳ６１２に移し、ディレクトリ単位で統合処理を行うことが可能であることを内蔵メモリ１０７に記憶する。即ち、移動先ディレクトリに、２以上のディレクトリからファイルを移動した場合に、移動先ディレクトリに記録可能なファイルの上限数を超えないのであれば、２以上のディレクトリを１つのディレクトリに統合可能であることを意味する。このため、記録媒体１０６はファイル単位統合処理を行うことにより、ディレクトリ数を減らすことが可能であるから、ディレクトリ単位の統合処理を行うことが可能となる。
【００５０】
またＳ６１０で、ＣＰＵ１０１は、移動先ディレクトリに移動を行った際のファイル数からディレクトリに記録可能なファイルの上限数を減算した後、処理をＳ６１１に移し、次のディレクトリについてＳ６０４の処理を行う。
【００５１】
なお、全てのディレクトリについてＳ６０３からＳ６１１の処理を行う間にＳ６１２に処理が移らなかった場合、ＣＰＵ１０１は処理をＳ６１３に移す。そしてＳ６１３でＣＰＵ１０１は、ディレクトリ単位で統合処理を行うことが不可能であることを内蔵メモリ１０７に記憶して、ディレクトリ単位統合確認処理を完了する。
【００５２】
このようにしてディレクトリ単位統合確認処理で判定された情報を用いて、Ｓ５０２でＣＰＵ１０１はディレクトリ単位で統合可能か否かを判断する。内蔵メモリ１０７に、ディレクトリ単位で統合処理を行うことが可能である情報が記憶されている場合、ＣＰＵ１０１は処理をＳ４０３に移し、実施形態１と同様にファイルの再構築を行う。また、内蔵メモリ１０７に、ディレクトリ単位で統合処理を行うことが不可能である情報が記憶されている場合、ＣＰＵ１０１は処理をＳ５０３に移す。
【００５３】
Ｓ５０３で、ＣＰＵ１０１は、意図的に作成したディレクトリのファイル構成を崩すことになるが、ファイル単位で統合処理を行って記録可能な状態にするか否かを、ユーザに確認する表示を表示部１０８に表示させ、ユーザの入力を待機する。ユーザによって、統合処理を行うことが選択された場合、ＣＰＵ１０１は処理をＳ４０３に移し、全てのディレクトリに対し、ファイル単位統合処理のみを行って、ファイル再構築処理を完了する。また、ユーザによって統合処理を行わないことが選択された場合、ＣＰＵ１０１はそのままファイル再構築処理を完了する。なお、Ｓ４０１で記録媒体１０６に存在する全てのディレクトリにおいて、ファイル番号の空きが存在しないと判断された場合は、ＣＰＵ１０１は実施形態１と同様にファイル再構築処理を完了してもよい。
【００５４】
以上のようにすることで、ディレクトリ単位に統合処理が行えない状況であっても、各ディレクトリのファイル番号に空きがある場合は、ファイル単位統合処理を行うことにより、デジタルカメラ１００を記録可能な状態にすることができる。
【００５５】
（実施形態２）
上述した実施形態１及び変形例では、ディレクトリに記録されている全てのファイルの属性情報を参照することにより、ディレクトリが意図的に作成されたディレクトリであるか否かを判定する方法について説明した。本実施形態では、ディレクトリが作成された際の情報を、ディレクトリを作成する際に管理ファイルとして記録媒体１０６に記録する場合の、ファイルを統合する方法について説明する。管理ファイルは、例えばＤＣＩＭディレクトリ下に「ＭＩＳＣ」ディレクトリを作成し、図８のようなテーブル形式のデータの「M0100.CTG」として記録されればよい。なお、本実施形態の記録装置の一例であるデジタルカメラは、実施形態１と同じの構成を有するものとして、デジタルカメラが備える各ブロックの説明は省略する。
【００５６】
本実施形態では図７（ａ）のように、ユーザが設定可能な記録に関するメニューに、ディレクトリの作成条件を設定可能な項目を備える。ユーザによってディレクトリ作成のメニューが選択されると、ユーザはメニュー内で記録媒体１０６に記録するディレクトリを新規作成するか、設定された時間及び条件で自動的にディレクトリを作成するように設定することが可能である。図７（ｂ）は、ユーザによってディレクトリを新規作成するよう選択された際の表示部１０８に表示されるＧＵＩを表している。このようにユーザがメニューを操作することで、記録媒体１０６には新たにＣＰＵ１０１によって採番されたディレクトリ番号が付されたディレクトリが作成される。また、図７（ｃ）のようにディレクトリを自動作成する条件を、毎日午前８時として設定することで、ＣＰＵ１０１は設定された条件の日時を過ぎると、記録媒体１０６に新たにディレクトリ番号が付されたディレクトリが作成される。このように、ユーザによって、またはユーザによって選択された条件によって作成されたディレクトリについては、管理ファイル内のフォルダ作成条件を表す項目に、それぞれ「新規作成」または「自動作成」を表す情報が記録される。
【００５７】
（ファイル再構築処理）
本実施形態のファイル再構築処理については、実施形態１とＳ４０４における判断処理のみが異なるため、図及びその他のステップについての説明は省略する。
ＣＰＵ１０１は、Ｓ４０４に対応するステップおいて、記録媒体１０６に記録されている管理ファイルを参照することにより、スキャンディレクトリがユーザによって意図的に作成されたディレクトリであるか否かを判断する。ＣＰＵ１０１は、スキャンディレクトリが意図的に作成されたディレクトリである場合は処理をＳ４０５に移し、意図的に作成されたディレクトリではない場合は処理をＳ４０６に移す。
【００５８】
これにより、意図的に作成されたディレクトリのファイル構成を保ったまま、ディレクトリ構造及びファイルの再構築を行うことが可能である。また、意図的に作成されたディレクトリより前または後に作成されたディレクトリのファイルを、それぞれ独立に統合することにより、時系列順を保ったままディレクトリ構造及びファイルの再構築を行うことができる。
【００５９】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005624389.tif 000002
【図２】
0005624389.tif 000003
【図３】
0005624389.tif 000004
【図４】
0005624389.tif 000005
【図５】
0005624389.tif 000006
【図６】
0005624389.tif 000007
【図７】
0005624389.tif 000008
【図８】
0005624389.tif 000009