(57)【特許請求の範囲】
【請求項１】
撮像装置により画像データを生成し該画像データをファイルにして管理するファイル管理システムにおいて、画像データファイルに関連する、同一の撮像装置が生成する同じファイル番号を持つ該画像データファイル以外のファイルを該画像データファイルと共に該ファイル番号に基づいて一まとめのデータとして扱い、これを一つのオブジェクトとする管理手段を設けたことを特徴とするファイル管理システム。
【請求項２】
前記オブジェクトは、データを削除する場合には該オブジェクト単位で行うことを特徴とする請求項１記載のファイル管理システム。
【請求項３】
前記オブジェクトは、前記撮像装置もしくはコンピュータのアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性があれば、該オブジェクトの削除を禁止することを特徴とする請求項１または２記載のファイル管理システム。
【請求項４】
撮像装置により画像データを生成し該画像データをファイルにして管理するファイル管理方法において、画像データファイルに関連する、同一の撮像装置が生成する同じファイル番号を持つ該画像データファイル以外のファイルを該画像データファイルと共に該ファイル番号に基づいて一まとめのデータとして扱い、これを一つのオブジェクトとすることを特徴とするファイル管理方法。
【請求項５】
前記オブジェクトは、データを削除する場合には該オブジェクト単位で行うことを特徴とする請求項４記載のファイル管理方法。
【請求項６】
前記オブジェクトは、前記撮像装置もしくはコンピュータのアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性があれば、該オブジェクトの削除を禁止することを特徴とする請求項４または５記載のファイル管理方法。
【請求項７】
撮像装置により画像データを生成し該画像データをファイルとして管理する際に、画像データファイルに関連する、同一の撮像装置が生成する同じファイル番号を持つ該画像データファイル以外のファイルを該画像データファイルと共に該ファイル番号に基づいて一まとめのデータとして扱い、これを一つのオブジェクトとするためのプログラムを記録した媒体。
【請求項８】
前記オブジェクトは、データを削除する場合には該オブジェクト単位で行うためのプログラムを記録した請求項７記載の媒体。
【請求項９】
前記オブジェクトは、前記撮像装置もしくはコンピュータのアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性があれば、該オブジェクトの削除を禁止するプログラムを記録した請求項７または８記載の媒体。
【請求項１０】
撮像装置により画像データを生成し該画像データをファイルにして管理するファイル管理システムにおける撮像装置であって、画像データファイルに関連する、同一の撮像装置が生成する同じファイル番号を持つ該画像データファイル以外のファイルを該画像データファイルと共に該ファイル番号に基づいて一まとめのデータとして扱い、これを一つのオブジェクトとする管理手段を有することを特徴とする撮像装置。
【請求項１１】
前記オブジェクトは、データを削除する場合には該オブジェクト単位で行うことを特徴とする請求項１０記載の撮像装置。
【請求項１２】
前記オブジェクトは、前記撮像装置もしくはコンピュータのアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性があれば、該オブジェクトの削除を禁止することを特徴とする請求項１０または１１記載の撮像装置。
【請求項１３】
撮像装置により画像データを生成し該画像データをファイルにして管理するファイル管理システムにおいて、画像データファイルに関連する、同一の撮像装置が生成する同じファイル番号を持つ該画像データファイル以外のファイルを該画像データファイルと共に一まとめのデータとして扱い、これを一つのオブジェクトとする管理手段を設け、前記オブジェクトは、前記撮像装置もしくはコンピュータのアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性があれば、該オブジェクトの削除を禁止することを特徴とするファイル管理システム。
【請求項１４】
撮像装置により画像データを生成し該画像データをファイルにして管理するファイル管理方法において、画像データファイルに関連する、同一の撮像装置が生成する同じファイル番号を持つ該画像データファイル以外のファイルを該画像データファイルと共に一まとめのデータとして扱い、これを一つのオブジェクトとし、前記オブジェクトは、前記撮像装置もしくはコンピュータのアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性があれば、該オブジェクトの削除を禁止することを特徴とするファイル管理方法。
【請求項１５】
撮像装置により画像データを生成し該画像データをファイルとして管理する際に、画像データファイルに関連する、同一の撮像装置が生成する同じファイル番号を持つ該画像データファイル以外のファイルを該画像データファイルと共に一まとめのデータとして扱い、これを一つのオブジェクトとし、前記オブジェクトは、前記撮像装置もしくはコンピュータのアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性があれば、該オブジェクトの削除を禁止するプログラムを記録した媒体。
【請求項１６】
撮像装置により画像データを生成し該画像データをファイルにして管理するファイル管理システムにおける撮像装置であって、画像データファイルに関連する、同一の撮像装置が生成する同じファイル番号を持つ該画像データファイル以外のファイルを該画像データファイルと共に一まとめのデータとして扱い、これを一つのオブジェクトとする管理手段を有し、前記オブジェクトは、前記撮像装置もしくはコンピュータのアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性があれば、該オブジェクトの削除を禁止することを特徴とする撮像装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子カメラ等の撮像装置における、画像データのファイル管理システム、ファイル管理方法及び媒体並びに撮像装置に関するものである。
【０００２】
【従来の技術】
電子カメラで画像を記録媒体に記録する場合に、当該画像ファイルに関連してサムネールデータファイル、音声データファイル等の記録媒体に記録されるファイルが生成されることがある。
【０００３】
【発明が解決しようとする課題】
しかしながら、これら種類の異なるファイルは、該電子カメラで画像を撮影したときに、何らかの関連をもって生成されるファイルであるにもかかわらず独立して管理されているため、例えばサムネールデータファイルのみを消去するといったことが可能であり、特定ファイルの消去を防ぐことができないという問題があった。
【０００４】
本発明は、上記のような問題点に着目してなされたもので、撮影画像ファイルに関連する異なる種類のファイルの特定ファイルの消去を防ぐことができるファイル管理システム、ファイル管理方法及び媒体並びに撮像装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
本発明に係る画像データのファイル管理システムは、次のように構成したものである。
（１）撮像装置により画像データを生成し該画像データをファイルにして管理するファイル管理システムにおいて、画像データファイルに関連する、同一の撮像装置が生成する同じファイル番号を持つ該画像データファイル以外のファイルを該画像データファイルと共に該ファイル番号に基づいて一まとめのデータとして扱い、これを一つのオブジェクトとする管理手段を設けたことを特徴とするファイル管理システム。
（２）前記オブジェクトは、データを削除する場合には該オブジェクト単位で行うことを特徴とする前項（１）記載のファイル管理システム。
（３）前記オブジェクトは、前記撮像装置もしくはコンピュータのアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性があれば、該オブジェクトの削除を禁止することを特徴とする前項（１）または（２）記載のファイル管理システム。
【０００９】
【発明の実施の形態】
図１は本発明の実施例の機器構成を示す図であり、プラットフォームである電子カメラ（撮像装置）を含むパーソナルコンピュータシステムの構成例を示している。
【００１０】
図１において、１はコンピュータの本体、２はデータを表示するディスプレー、３は代表的なポインティングデバイスであるマウス、４はそのマウスボタン、５は入出力用のキーボード、６は該コンピュータに電子カメラ７を接続するインターフェースで、双方向パラレルインターフェースやＳＣＳＩインターフェース等の高速で画像転送可能な汎用インターフェースが用いられている。
【００１１】
図２は本実施例のソフトウエアとハードウエアを含むファイル管理システムの構成を示すブロック図である。同図中、１９はハードウエアであり、１５はハードウエア１９の上で動作するオペレーティングシステム（以下ＯＳという）であり、１４はＯＳ１５の上で動作するアプリケーションソフトウエアである。
【００１２】
なお、ハードウエア１９とＯＳ１５を構成するブロックのうち構成用件として当然含まれるが本実施例を説明する上で直接必要としないブロックに関しては図示していない。この図示していないブロックの例として、ハードウエアではＣＰＵ，メモリー、ＯＳとしてはメモリー管理システム等がある。
【００１３】
図２において、２５はファイルやデータを物理的に格納するハードディスク、１８はＯＳ１５を構成するファイルシステムで、アプリケーションソフトウエア１４がハードウエア１９を意識せずにファイルの入出力が行えるようにする機能を有している。
【００１４】
２４はファイルシステム１８がハードディスク２５の読み書きを行うためのディスクＩＯインターフェース、１７はＯＳ１５を構成する描画管理システムで、アプリケーションソフトウエア１４がハードウエア１９を意識せずに描画が行えるようにする機能を有している。
【００１５】
２３は描画管理システム１７がディスプレー１２に描画を行うためのビデオインターフェース、１６はＯＳ１５を構成する入力デバイス管理システムで、アプリケーションソフトウエア１４がハードウエア１９を意識せずにユーザーの入力を受け取ることができるようにする機能を有している。
【００１６】
２０は入力デバイス管理システム１６がキーボード５の入力を受け取るためのキーボードインターフェース、２２は入力デバイス管理システム１６がマウス３からの入力を受け取ることができるようにするためのマウスインターフェースである。
【００１７】
なお、電子カメラ７は、双方向インターフェース２６若しくはＳＣＳＩインターフェース等に接続され、入力デバイス管理システム１６を通して画像データ等のやりとりを行うことができるようになっている。
【００１８】
また、１１は電子カメラホストアプリケーション、１２は画像データを属性情報若しくはユーザーの入力によるキーワード等で管理するためのデータ管理手段、１３は管理されている画像データを表示するデータ表示手段である。
【００１９】
そして、本システムでは、電子カメラホストアプリケーション１１により、電子カメラ７からの画像データをコンピュータへ転送し、また転送された画像データを画像データ管理システムへ登録するようになっている。
【００２０】
図３は電子カメラ７のシステム構成を示すブロック図である。なお、構成用件として当然含まれるが本実施例を説明する上で直接必要としないブロックに関しては図示していない。
【００２１】
図３において、撮像ユニット３１はレンズやＣＣＤを含み、撮影した画像を画像データ（ＪＰＧデータ）として出力する。また、撮影した画像の縮小画像であるサムネール画像データも同時に生成する。
【００２２】
本システムにおける電子カメラ７では、画像を撮影するほかに、音声を録音できるようになっており、録音ユニット３２により録音データ（ＷＡＶＥデータ）として出力される。補助記憶装置３３は上記撮像ユニット３１や録音ユニット３２からのデータをファイルとして保存するためのものであり、本システムでは取り外し可能な記録媒体であるＰＣＭＣＩＡ対応のメモリーカードを用いている。
【００２３】
また、３４は電子カメラ７とコンピュータを接続するときのインターフェースで、図２の双方向パラレル／ＳＣＳＩインターフェース２６と接続され、該インターフェース２６と同様に双方向パラレルインターフェースやＳＣＳＩインターフェース等の汎用インターフェースが用いられている。
【００２４】
３５はファイル名生成手段を構成するコントロールユニットで、電子カメラ全体の動作を制御する。３６はファイル番号閾値メモリーで、ファイルに含まれる数値のうち正常な値の最大値を保持するものである。本システムではこの数値を越える数値がファイル名に含まれた場合に何らかの例外処理を行い、数値が一巡して重複したファイル名が生成されるのを防ぐようにしている。
【００２５】
３７はカレントファイル番号カウンタで、次に生成するファイル名に含まれる数値を保持しておくための不揮発メモリーである。このカレントファイル番号の初期値（電子カメラ７の工場出荷時に設定）は１である。これにより、電子カメラ７の電源のオン／オフやメモリーカードの交換などを行っても、一つの電子カメラ７が生涯に発生するファイル名は基本的にユニークな重複しない固有のものとなる。
【００２６】
次に、上記のシステムにおけるファイル名、ディレクトリ名の名前付けの規則について説明する。
【００２７】
本実施例のシステムでは、自動的にユニークなファイル名を生成するために、ファイル名の一部に５桁の数値を含ませるようにしている。このとき、含ませる数値は基本的には１から順にファイルが生成される度に増えていくものとする。また、生成される数値がファイル番号閾値メモリー３６に格納されている値以上になると例外処理を行う。
【００２８】
本実施例では、ファイル番号閾値メモリー３６には９９９００の数値が格納されている。この９９９００という数値は、５桁の１０進数の最大値である９９９９９までの余裕を見るための数値であり、これに限ることなく、例えば９９０００でも問題はない。そして、このファイル番号閾値をある程度余裕をもって設定することにより、この値を超える数値を含むファイル名が生成された場合でも、ただちに不都合が生じるということが避けられる。
【００２９】
また、各ファイルはファイル名に含まれる数値により、一定個数毎にサブディレクトリに分類される。このサブディレクトリのファイル名も自動的に生成されて、記憶装置内に記憶される。
【００３０】
また本システムでは、電子カメラ７が作成するファイルを格納するサブディレクトリは“ＣＴＧ１０１００”のように“ＣＴＧ”で始まり、次に５桁の１０進数からなる８文字のファイル名を持っている。以下、この５桁の１０進数をディレクトリ番号とし、またこの格納用ディレクトリをＣＴＧディレクトリとして説明する。
【００３１】
上記ＣＴＧディレクトリは、補助記憶装置３３におけるルートディレクトリの下の“ＤＣ”サブディレクトリの下に配置される。
【００３２】
電子カメラ７が生成する画像、音声データのファイルの名前は８文字のファイル名と３文字の拡張子で構成される。本システムでは、画像データを格納するためのファイル名の先頭から３文字の英数字は固定的に“ＡＵＴ”としている。同様に、そのサムネール画像のファイル名の頭３文字は“ＴＨＭ”、音声データのファイル名の先頭から３文字は“ＳＮＤ”と固定的にしている。
【００３３】
例えば、画像データの場合は、“ＡＵＴ１０１００．ＪＰＧ”、サムネールデータの場合は“ＴＨＭ１０１００．ＪＰＧ”、音声データの場合は“ＳＮＤ１０１００．ＷＡＶ”となる。このように、各ファイル名は３文字と５桁の１０進数、３文字の拡張子で表わされる。以後の説明において、この５桁の１０進数をファイル番号とする。
【００３４】
また本システムでは、同じファイル番号を持つ画像ファイルや音声ファイルを一まとめのデータとして扱い、これをオブジェクトとする。つまり一つのオブジェクトには、同じファイル番号のファイル名が含まれる。例えば、ファイル名“ＡＵＴ１０１００．ＪＰＧ”の画像データに対するサムネール画像データのファイル名は“ＴＨＭ１０１００．ＪＰＧ”であり、音声データがある場合にはそのファイル名は“ＳＮＤ１０１００．ＷＡＶ”となる。そして、これらの三つのファイルは一つのオブジェクトを構成する。本実施例のシステムでは、オブジェクトが一つ生成される度にカレントファイル番号カウンタ３７の値が１増やされる。
【００３５】
また本システムでは、オブジェクトを一つのデータ単位として扱うため、データを削除する場合にはオブジェクト単位で行う。このオブジェクトをカメラ７若しくはコンピュータのホストアプリケーションから削除しようとする場合、オブジェクトに含まれるファイルのうち一つでもプロテクト（若しくはＲｅａｄＯｎｌｙ）の属性であれば、そのオブジェクトを削除することはできない。
【００３６】
また本システムでは、一つのＣＴＧディレクトリに含まれるオブジェクトの個数（ｋＮｕｍＯｂｊｌｎＤｉｒ）があらかじめ決められている。更に、あるファイル番号（ｆｉｌｅＮｏ）を持つファイルが含まれているオブジェクトが存在するＣＴＧディレクトリのディレクトリ番号（ｄｉｒＮｏ）は、図８のＡ式で決められる。この規則に従ってカメラ７が作成したディレクトリ及びファイルの構成例を図９に示す。
【００３７】
次に、本実施例のシステムにおけるファイル名の生成方法とそれを格納するＣＴＧディレクトリの決定方法、作成方法について説明する。
【００３８】
なお、本システムでは、電子カメラ７の記憶装置であるメモリーカードのファイル構造を管理するディスクオペレーティングシステムとしてマイクロソフト社のＭＳ−ＤＯＳを用いている。
【００３９】
まず、電子カメラ７に記憶媒体となるメモリーカードが挿入されたときや、電子カメラ７の電源が投入されたときに行われる処理を図４のフローチャートを用いて説明する。
【００４０】
初めに、ステップＳ１で電子カメラ７に挿入されたカードが正常なものかを調べ、正常でない場合はユーザーにそのことを知らせるためにステップＳ１８で警告メッセージを表示して終了する。ここでいう正常でないカードとは、電子カメラ７がカードの内容を読み取ることのできないものなどを指す。カードが正常なものの場合はステップＳ２に進む。
【００４１】
ステップＳ２では、カードの記憶領域内のファイル構造を調べ、ルートディレクトリに“ＤＣ”というファイル名のファイルが存在しているかを調べる。もし、そのようなファイル名のファイルが存在している場合は、同じ名前のディレクトリを作成することができないため、ステップＳ１８に進み、その由をユーザーに知らせるためのメッセージを表示装置に表示して処理を終了する。また、“ＤＣ”という名前のファイルがルートディレクトリに存在しない場合はステップＳ３に進む。
【００４２】
ステップＳ３では、“ＤＣ”という名前のディレクトリがルートディレクトリに存在しているかを調べる。本システムでは、ルートディレクトリのサブディレクトリである“ＤＣ”という名前のディレクトリ中に、画像や音声などの電子カメラで発生するデータを格納する。以下の説明ではこのディレクトリのことをＤＣディレクトリと呼ぶ。
【００４３】
上記ＤＣディレクトリが存在していない場合は、ステップＳ１７に進みＤＣディレクトリを作成する。その後、ステップＳ１９へ移行する。また、ＤＣディレクトリが存在する場合は、ステップＳ４へ移行する。
【００４４】
ステップＳ４では、ＤＣディレクトリ内を調べ、空のＣＴＧディレクトリが存在している場合はそれを削除する。ここで、空のＣＴＧディレストリとは、内部にファイルやディレクトリが一つも存在していないものを指す。
【００４５】
ステップＳ５では、ＤＣディレクトリにＣＴＧディレクトリが存在しているかを調べ、存在していない場合はステップＳ１９に進む。
【００４６】
ステップＳ１９は、ＤＣディレクトリのサブディレクトリとしてＣＴＧディレクトリが存在していない場合に行われる処理である。つまり、カメラ７やホストアプリケーションによりフォーマットされた直後のカードや、Ｅｒａｓｅ  Ａｌｌ（全消去）されたカードを電子カメラ７に挿入した場合に行われる処理である。
【００４７】
ここでは、電子カメラ７のカレントファイル番号カウンタ３７に格納されるカレントファイル番号とファイル番号閾値メモリー３６に記録されているファイル番号閾値とを比較し、カレントファイル番号がファイル番号閾値を越えている場合には後述する例外処理（１）を行うためにステップＳ２０の処理を行う。その後、ステップＳ２１に処理を移し、カレントディレクトリ番号をディレクトリ番号とするＣＴＧディレクトリを作成して処理を終える。
【００４８】
ここで、カレントディレクトリ番号とは、カレントファイル番号を図８のＡ式のファイル番号に代入して得られるものである。以下の説明においても、カレントディレクトリ番号とはその時点でのカレントファイル番号を図８のＡ式に代入して得られるディレクトリ番号のことを指す。
【００４９】
上記ステップＳ５において、ＤＣディレクトリ内に一つ以上のＣＴＧディレクトリが存在している場合はステップＳ６に進む。
【００５０】
ステップＳ６では、ＤＣディレクトリのディレトクリーエントリーから“ＣＴＧ”で始まるものを調べ、その中からディレクトリ番号が最大のものを求めて、その値を変数である最大ディレクトリ番号ｄｉｒＮｏＦｏｕｎｄに格納する。
【００５１】
次に、ステップＳ７では、ステップＳ６で求めた最大ディレクトリ番号ｄｉｒＮｏＦｏｕｎｄに相当する名前のものがファイルであるかディレクトリであるかを調べ、ディレクトリの場合はステップＳ１２へ進む。また、ファイルの場合はステップＳ８に進み、最大ディレクトリ番号ｄｉｒＮｏＦｏｕｎｄの値を１増やす。続いて、その結果が上限ディレクトリ番号を越えているかをステップＳ９で調べる。
【００５２】
ここで、上限ディレクトリ番号とは、ファイル番号の取りうる値の上限である９９９９９を上記Ａ式のファイル番号ｆｉｎｅＮｏに代入して求めたものである。もし、この値より最大ディレクトリ番号ｄｉｒＮｏＦｏｕｎｄが大きい場合は、ステップＳ１８でエラーメッセージを表示して処理を終了する。大きくなかった場合はステップＳ１０へ処理を移す。
【００５３】
ステップＳ１０では、ステップＳ８で求めた最大ディレクトリ番号ｄｉｒＮｏＦｏｕｎｄをディレクトリ番号とするＣＴＧディレクトリが存在するかを調べ、存在しなかった場合はステップＳ１１でＣＴＧディレクトリを作成する。
【００５４】
ステップＳ１２では、カレントディレクトリ番号ｃｕｒｒＤｉｒＮｏ  が最大ディレクトリ番号ｄｉｒＮｏＦｏｕｎｄより大きいかを比較して、大きい場合はステップＳ２３で、カレントディレクトリ番号をディレクトリ番号とするＣＴＧディレクトリを作成する。小さい場合はステップＳ１３へ処理を移す。
【００５５】
ステップＳ１３では、最大ディレクトリ番号ｄｉｒＮｏＦｏｕｎｄがディレクトリ番号であるディレクトリの中を調べ、そこに含まれているファイルのうちファイル番号が最大のものを求めて最大ファイル番号ｆｉｌｅＮｏＦｏｕｎｄに格納する。このとき、ディレクトリにファイルが存在しなかった場合には、図８のＢ式のディレクトリ番号ｄｉｒＮｏＦｏｕｎｄを代入したときのファイル番号ｆｉｌｅＮｏの取りうる値の最小値とする。
【００５６】
ステップＳ１４では、ステップＳ１３で求めた最大ファイル番号とカレントファイル番号を比較する。カレントファイル番号のほうが大きい場合はステップＳ１５へ進み、そうでない場合はステップＳ１６へ処理を移す。
【００５７】
ステップＳ１５では、カレントファイル番号を最大ファイル番号に１加えた値へ変更する。また、その結果を元にＡ式よりカレントディレクトリ番号を更新する。
【００５８】
ステップＳ１６では、カレントディレクトリ番号をディレクトリ番号とするＣＴＧディレクトリが存在するかを調べ、存在する場合は処理を終了する。また、存在しない場合はステップＳ２１でカレントディレクトリ番号に相当するＣＴＧディレクトリを作成して処理を終了する。
【００５９】
以上の処理により、カードがシステムに挿入されたときにカメラが発生するデータを格納するためのＣＴＧディレクトリの設定と次に生成するファイル名に含まれるカレントファイル番号の設定が行われることになる。
【００６０】
また、フォーマット（ｆｏｒｍａｔｔｉｎｇ）されたカードやＥｒａｓｅＡｌｌされたカードが挿入された場合に、カレントファイル番号がファイル番号閾値より大きければカレントファイル番号が１に初期化される。また、この場合には、必ずメモリーカードの中にはオブジェクトが存在しないはずなので、元々あったファイルと同名のファイル名で新規データを保存して、元々あったデータを損失するといったことが防止される。
【００６１】
次に、カメラ７が発生するデータをカードに格納する場合を図５に示すフローチャートを用いて説明する。
【００６２】
まず、ステップＳ３１で、記録すべきデータをファイルとして記憶装置に格納する。このときのファイル番号はカレントファイル番号であり、ファイルが格納されるＣＴＧディレクトリのディレクトリ番号はカレントファイル番号からＡ式により求められるものである。
【００６３】
次に、ステップＳ３２では、カレントファイル番号を１つ増加して、その値を基にカレントディレクトリ番号をＡ式から求める。
【００６４】
ステップＳ３３では、カレントディレクトリ番号に対応するディレクトリがＤＣディレクトリに存在するかを調べ、既に存在している場合は処理を終える。存在していない場合はステップＳ３４において、ディレクトリ番号がカレントディレクトリ番号となるディレクトリを作成して、処理を終了する。
【００６５】
次に、上述の例外処理について説明する。本システムでは、カレントファイル番号をカメラ７に記憶しておくことにより、一つのカメラが発生するファイル名はユニークなものとする。しかし、前述した通り、ファイル名は“ＡＵＴ１０１００．ＪＰＧ”のように３文字の英数字と５けたの１０進数からなるファイル番号、３文字の拡張子からなっているため、ファイル番号として使用できる最後（最大）の値は９９９９９である。
【００６６】
従来では、カレントファイル番号がこの値を越えるような場合にはカメラはエラー表示をして、動作しなくなったり、ファイル番号０のファイルが存在していようが、単純にファイル番号を０に初期化して新規にファイルを作成していた。そこで、本実施例では、このような状況に陥らないために例外処理として以下の処理を行う。
【００６７】
（１）まず、カメラ７で記憶しているカレントファイル番号がファイル番号閾値である９９９００以上になり、且つカードにＣＴＧディレクトリが一つも存在していない場合は、カレントファイル番号の値を１に初期化する。
【００６８】
（２）ホストアプリケーションで、ファイル番号が９９９００以上のファイルを持つカードを見つけた場合、すべてのファイルをカードからコンビューターに転送し、その後カードフォーマットなどの処理により、すべてのＣＴＧディレクトリを消去するようにユーザーに促すメッセージを表示する。
【００６９】
上述の一つ目の例外処理（１）は、カードが挿入されたり、カードが挿入されたまま電子カメラの電源が入れられた場合に行われるものであり、カメラ内部でカレントファイル番号があらかじめ設定されているファイル番号閾値（９９９００）を超えた場合に行われるものである。もし、カード内にＣＴＧディレクトリが存在していない場合は、カレントファイル番号の初期化がカメラ単体で行われる。これは図４のステップＳ２０の処理に相当する。
【００７０】
二つ目の例外処理（２）は、カードをコンピュータで読み込もうとした場合に行われるものであり、カメラ７で設定されているファイル番号閾値以上の値をファイル番号とするファイルが存在すると、警告メッセージを表示し、カード内のすべてのＣＴＧディレクトリを削除するように促す。その後、そのカードをカメラに挿入し直したり、電源を入れ直したりすると、図４で説明したフローチャートにおけるステップＳ２０の例外処理（１）が行われ、カレントファイル番号が１にリセットされる。
【００７１】
以上の動作により、ファイル番号が重複されて生成されてもファイルを上書きしてデータを失ってしまうことが避けられる。
【００７２】
次に、上述の例外処理の動作をフローチャートを用いて説明する。
【００７３】
図６に示すものは、一つ目にあげた例外処理（１）の動作であり、電子カメラ７で行われるもので、図４のステップＳ２０の処理に相当する。
【００７４】
まず、ステップＳ４１でカメラ７に挿入されているカードを調べ、ＣＴＧディレクトリが存在するかを調べる。もし、存在していない場合はステップＳ４２でカレントファイル番号を１にリセットする。
【００７５】
図７に示すものは、二つ目の例外処理（２）の動作であり、これはコンピュータにカメラ７が接続されたときに行われるもので、ホストアプリケーションによって行われる。
【００７６】
まず、ステップＳ５１において、ファイル番号がファイル番号閾値以上のファイルを格納するＣＴＧディレクトリが存在するかを調べる。ここで、ファイル番号閾値の値はカメラ７から取得するものである。また、ここで調べるＣＴＧディレクトリのディレクトリ番号は、Ａ式のファイル番号にファイル番号を閾値に代入することにより求まる。そして、存在しなかった場合はこの例外処理（２）を終了するが、存在した場合はステップＳ５２へ処理を移す。
【００７７】
ステップＳ５２は、カレントファイル番号がファイル番号閾値を超えている場合に行われる処理であり、この場合ユーザー警告とその対処法を示すメッセージを表示する。
【００７８】
これらの二つの例外処理でファイル番号閾値をファイル番号が取りうる値の最大より小さな値を余裕を持たせて設定して置くことにより、ファイル番号閾値を超えるファイル番号を持つファイルが存在していれば、ホストアプリケーションにより警告メッセージと対処法が示される。また、ファイル番号閾値がファイル番号の取りうる値より小さいため、ファイル番号がファイル番号閾値を超えなければならない状況においても、しばらくの間（ファイル番号が取りうる値の最大の値になるまで）はカメラ７が不都合なく使用できることになる。
【００７９】
このように、本実施例のシステムでは、電子カメラ７で生成するファイルの名前に含める数値を記憶するための不揮発性カウンタを保持することにより、一つのカメラ７が発生するファイル名はその生涯においてユニークになる。また、その数値が一巡して初期化された場合にやむを得ずカウンタの値を初期化して同じファイル名を生成しなければならない場合おいても、既に存在しているファイルに同じ名前で上書き保存することによって生ずるデータ損失を防ぐことができる。
【００８０】
次に、本発明の他の実施例について説明する。上述の実施例では、記録画像データをファイルとして保存する際に、同一の電子カメラで撮影した全画像データを異なる記録媒体に記録する場合でも同一の電子カメラで記録するときは重複しない個別のファイル名を生成するようにしているが、本実施例ではこれとともに、ファイル名を生成するときのカウンタ値を使って以下に示す式で数値ｄｉｒＮｏを求め、この数値ｄｉｒＮｏに基づいてディレクトリ名を生成し、この名前を持つディレクトリがファイルシステム内に存在しないときはその名前でディレクトリを生成し、その中に上記生成されたファイルを格納するようにしている。
ｄｉｒＮｏ＝（カウンタ値−１）／ｎ        ：ｎは整数
（小数値は切り捨て）
【００８１】
図１０は本実施例の電子カメラのシステム構成を示すブロック図であり、図３と同一符号は同一構成要素を示している。同図中３８はディレクトリ番号閾値メモリーで、ディレクトリ名に含まれる数値のうち正常な値の最大値を保持するものである。本実施例のシステムではこの数値を越える数値がディレクトリ名に含まれた場合に何らかの例外処理を行い、数値が一巡して重複したディレクトリ名が生成されるのを防ぐようにしている。なお、他の構成は、図１〜図３に示すものと同様であるので説明は省略する。
【００８２】
本実施例のシステムでは、自動的にユニークなファイル名を生成するために、ファイル名の一部に５桁の数値を含ませるようにしている。このとき、含ませる数値は基本的には１から順にファイルが生成される度に増えていくものとする。また、生成されるファイルが格納されるディレクトリのディレクトリ番号がディレクトリ番号閾値メモリー３８に格納されている値以上になると例外処理を行う。
【００８３】
本実施例では、ディレクトリ番号閾値メモリー３８には９９９００の数値が格納されている。この９９９００という数値は、５桁の１０進数の最大値である９９９９９までの余裕を見るための数値であり、これに限ることなく、例えば９９０００でも問題はない。そして、このディレクトリ番号閾値をある程度余裕をもって設定することにより、この値を超える数値を含むディレクトリ名が生成された場合でも、ただちに不都合が生じるということが避けられる。
【００８４】
また、各ファイルは生成された時のカレントファイル番号により、一定個数毎にサブディレクトリに分類される。このサブディレクトリのファイル名も自動的に生成されて、記憶装置内に記憶される。
【００８５】
図１１は本実施例の電子カメラ７にメモリーカードが挿入されたときや電源が投入されたときの動作を示すフローチャートであり、図４と同一ステップ番号は同一処理内容を示している。
【００８６】
ステップＳ２２は、ＤＣディレクトリのサブディレクトリとしてＣＴＧディレクトリが存在していない場合に行われる処理である。つまり、カメラ７やホストアプリケーションによりフォーマットされた直後のカードや、Ｅｒａｓｅ  Ａｌｌ（全消去）されたカードを電子カメラ７に挿入した場合に行われる処理である。
【００８７】
ここでは、電子カメラ７のカレントファイル番号カウンタ３７に格納されるカレントファイル番号から求めたカレントディレクトリ番号とディレクトリ番号閾値メモリー３８に記録されているディレクトリ番号閾値とを比較し、カレントディレクトリ番号がディレクトリ番号閾値を越えている場合には後述する例外処理（３）を行うためにステップＳ２３の処理を行う。その後、ステップＳ２１に処理を移し、カレントディレクトリ番号をディレクトリ番号とするＣＴＧディレクトリを作成して処理を終える。
【００８８】
その他のステップの処理は図４と同様であるので説明は省略するが、ステップＳ９で調べる上限ディレクトリ番号は、ディレクトリ番号の取りうる値の上限である９９９９９である。そして、もしこの値より最大ディレクトリ番号ｄｉｒＮｏＦｏｕｎｄが大きい場合は、ステップＳ１８でエラーメッセージを表示して処理を終了し、大きくなかった場合はステップＳ１０へ処理を移す。
【００８９】
そして、図１１のフローチャートに示す処理により、カードがシステムに挿入されたときにカメラが発生するデータを格納するためのＣＴＧディレクトリの設定と次に生成するファイル名に含まれるカレントファイル番号の設定が行われることになる。
【００９０】
また、フォーマット（ｆｏｒｍａｔｔｉｎｇ）されたカードやＥｒａｓｅ  Ａｌｌされたカードが挿入された場合に、カレントファイル番号から求めたカレントディレクトリ番号がディレクトリ番号閾値より大きければカレントファイル番号が１に初期化される。この場合には、必ずメモリーカードの中にはオブジェクトが存在しないはずなので、元々あったファイルと同名のファイル名で新規データを保存して、元々あったデータを損失するといったことが防止される。
【００９１】
次に、本実施例のカメラ７が発生するデータをカードに格納する場合について説明する。
【００９２】
この場合の処理は図５に示すフローチャートと同様であり、まずステップＳ３１で、記録すべきデータをファイルとして記憶装置に格納する。このときのファイル番号はカレントファイル番号であり、ファイルが格納されるＣＴＧディレクトリのディレクトリ番号はカレントファイル番号からＡ式により求められるものである。
【００９３】
次に、ステップＳ３２では、カレントファイル番号を１つ増加して、その値を基にカレントディレクトリ番号をＡ式から求める。
【００９４】
このとき、Ａ式においてｋＮｕｍＯｂｊｌｎＤｉｒは５０とする。このことによって、１ディレクトに格納されるファイルは最大でも１５０となる。例えば、１０００枚目の画像を記録する際に他の画像とのファイル名の重複をチェックする際、１ディレクトリに１０００枚の画像を格納する場合と比較して最大でもディレクトリ２０個とファイル１４７個分のディレクトリエントリをサーチすればよいから、ファイル名を決するための時間は１／５以下になる。これは、前述の８０ｃ８６、８ＭＨｚのＣＰＵでも１秒以内となり、充分実用的となる。
【００９５】
また、上記の５０という数字にすることで、ディレクトリ番号とファイル番号の関係が人間にとっても計算しやすくなり、関係がつかみやすい。
【００９６】
そして、ステップＳ３３では、カレントディレクトリ番号に対応するディレクトリがＤＣディレクトリに存在するかを調べ、既に存在している場合は処理を終える。存在していない場合はステップＳ３４において、ディレクトリ番号がカレントディレクトリ番号となるディレクトリを作成して、処理を終了する。
【００９７】
次に、本実施例の例外処理について説明する。本実施例のシステムでは、カレントファイル番号をカメラ７に記憶しておくことにより、一つのカメラが発生するディレクトリ名及びファイル名はユニークなものとする。しかし、ディレクトリ名は“ＣＴＧ１０１００”のように３文字の英数字と５けたの１０進数からなるディレクトリ番号からなっているため、ディレクトリ番号として使用できる最後（最大）の値は９９９９９である。
【００９８】
従来では、カレントディレクトリ番号がこの値を越えるような場合にはカメラはエラー表示をして、動作しなくなったり、ディレクトリ番号０のディレクトリが存在していようが、単純にディレクトリ番号を０に初期化して新規にディレクトリを作成していた。そこで、本実施例では、このような状況に陥らないために例外処理として以下の処理を行う。
【００９９】
（３）まず、カメラ７で記憶しているカレントファイル番号から求めたカレントディレクトリがディレクトリ番号閾値である９９９００以上になり、且つカードにＣＴＧディレクトリが一つも存在していない場合は、カレントファイル番号の値を１に初期化する。
【０１００】
（４）ホストアプリケーションで、ディレクトリ番号が９９９００以上のディレクトリを持つカードを見つけた場合、すべてのディレクトリをカードからコンビューターに転送し、その後カードフォーマットなどの処理により、すべてのＣＴＧディレクトリを消去するようにユーザーに促すメッセージを表示する。
【０１０１】
上述の一つ目の例外処理（３）は、カードが挿入されたり、カードが挿入されたまま電子カメラの電源が入れられた場合に行われるものであり、カメラ内部でカレントディレクトリ番号があらかじめ設定されているディレクトリ番号閾値（９９９００）を超えた場合に行われるものである。もし、カード内にＣＴＧディレクトリが存在していない場合は、カレントファイル番号の初期化がカメラ単体で行われる。これは図１１のステップＳ２３の処理に相当する。
【０１０２】
二つ目の例外処理（４）は、カードをコンピュータで読み込もうとした場合に行われるものであり、カメラ７で設定されているディレクトリ番号閾値以上の値をディレクトリ番号とするディレクトリが存在すると、警告メッセージを表示し、カード内のすべてのＣＴＧディレクトリを削除するように促す。その後、そのカードをカメラに挿入し直したり、電源を入れ直したりすると、図１１で説明したフローチャートにおけるステップＳ２３の例外処理（３）が行われ、カレントファイル番号が１にリセットされる。
【０１０３】
以上の動作により、ファイル番号が重複されて生成されてもファイルを上書きしてデータを失ってしまうことが避けられる。
【０１０４】
次に、上述の例外処理の動作をフローチャートを用いて説明する。
【０１０５】
一つ目にあげた例外処理（３）の動作は図６に示すフローチャートと同様であり、電子カメラ７で行われるもので、上記のように図１１のステップＳ２３の処理に相当する。
【０１０６】
まず、ステップＳ４１でカメラ７に挿入されているカードを調べ、ＣＴＧディレクトリが存在するかを調べる。もし、存在していない場合はステップＳ４２でカレントファイル番号を１にリセットする。
【０１０７】
図１２に示すものは、二つ目の例外処理（４）の動作であり、これはコンピュータにカメラ７が接続されたときに行われるもので、ホストアプリケーションによって行われる。
【０１０８】
まず、ステップＳ５３において、ディレクトリ番号がディレクトリ番号閾値以上のＣＴＧディレクトリが存在するかを調べる。ここで、ディレクトリ番号閾値の値はカメラ７から取得するものである。そして、存在しなかった場合はこの例外処理（４）を終了するが、存在した場合はステップＳ５２へ処理を移す。
【０１０９】
ステップＳ５２は、カレントディレクトリ番号がディレクトリ番号閾値を超えている場合に行われる処理であり、この場合ユーザー警告とその対処法を示すメッセージを表示する。
【０１１０】
これらの二つの例外処理でディレクトリ番号閾値をディレクトリ番号が取りうる値の最大より小さな値を余裕を持たせて設定して置くことにより、ディレクトリ番号閾値を超えるディレクトリ番号を持つディレクトリが存在していれば、ホストアプリケーションにより警告メッセージと対処法が示される。また、ディレクトリ番号閾値がディレクトリ番号の取りうる値より小さいため、ディレクトリ番号がディレクトリ番号閾値を超えなければならない状況においても、しばらくの間（ディレクトリ番号が取りうる値の最大の値になるまで）はカメラ７が不都合なく使用できることになる。
【０１１１】
このように、本実施例のシステムでは、電子カメラ７で生成するファイルの名前に含める数値を記憶するための不揮発性カウンタを保持することにより、一つのカメラ７が発生するディレクトリ名＋ファイル名はその生涯においてユニークになる。また、その数値が一巡して初期化された場合にやむを得ずカウンタの値を初期化して同じファイル名を生成しなければならない場合おいても、既に存在しているファイルに同じ名前で上書き保存することによって生ずるデータ損失を防ぐことができる。
【０１１２】
以上、本発明の実施例について説明したが、本発明は例えば上述のファイル管理方法をコンピュータによって実現させるためのプログラムを記録したＲＯＭやディスク等の記憶媒体にも及ぶものであり、また、実施例のシステムを有するディジタル式の電子スチルカメラ等の撮像装置、もしくはそれらの周辺装置として構成されていても構わない。
【０１１３】
【発明の効果】
以上説明したように、本発明によれば、画像撮影装置で撮影された画像データファイルと何らかの関連をもって生成されるファイルであって、該画像データファイルと同一のファイル番号を有するときは、該画像データファイルと共に一まとめでオブジェクトとして管理し、また、データを削除する場合には、削除の単位をオブジェクトとするので、特定のファイルのみ消去してしまうことを防ぐことができる。
【０１１４】
さらに、オブジェクトに含まれるファイルのうち一つでもプロテクトの属性を持つものであれば、オブジェクト全体を削除禁止の対象とすることで、より強固に誤ったファイル消去を防ぐことが可能となる。
【図面の簡単な説明】
【図１】実施例の機器構成を示す説明図
【図２】実施例のシステム構成を示すブロック図
【図３】実施例における電子カメラのシステム構成を示すブロック図
【図４】電子カメラにメモリーカードを挿入したときの動作を示すフローチャート
【図５】電子カメラにおいてデータをメモリーカードに保存するときの動作を示すフローチャート
【図６】電子カメラにメモリーカードを挿入したときの例外処理の動作を示すフローチャート
【図７】電子カメラのホストアプリケーションにおける例外処理の動作を示すフローチャート
【図８】ファイル名に含まれる数値とそれが格納されているディレクトリ名に含まれる数値の関係を示す図
【図９】実施例において電子カメラが生成するファイル構造を示す図
【図１０】他の実施例の電子カメラのシステム構成を示すブロック図
【図１１】他の実施例の電子カメラにメモリーカードを挿入したときの動作を示すフローチャート
【図１２】他の実施例の電子カメラの例外処理の動作を示すフローチャート
【符号の説明】
７  電子カメラ
３５  コントロールユニット（ファイル名生成手段）
３６  ファイル番号閾値メモリー
３７  カレントファイル番号カウンタ
３８  ディレクトリ番号閾値メモリー
【図１】
0003619210.tif 000002
【図２】
0003619210.tif 000003
【図３】
0003619210.tif 000004
【図４】
0003619210.tif 000005
【図５】
0003619210.tif 000006
【図６】
0003619210.tif 000007
【図７】
0003619210.tif 000008
【図８】
0003619210.tif 000009
【図９】
0003619210.tif 000010
【図１０】
0003619210.tif 000011
【図１１】
0003619210.tif 000012
【図１２】
0003619210.tif 000013