(57)【要約】【課題】  ファイルシステムに電子情報をファイルとして保存し、ファイル名の一部をファイル番号で管理し、マルチプロセス、マルチスレッドでファイルを保存する環境下において、異なるプロセルやスレッドに対して重複して同じ番号を付与することなく、確実にファイル番号を得られ、電子情報をファイルに保存する際、ユーザがファイル名に関与することなく、自動的にファイル名を作成して、ファイルを保存する方法を提供する。【解決手段】  ファイルシステム内を検索して得られる最大のファイル番号と最後に作成されたファイルのファイル番号を記録したファイル番号管理ファイルから得られる番号を比較し、大きい番号に１を加えた番号を新規のファイル番号として、ファイル名の一部に使用してファイルを保存する。【選択図】  図２
2006139676.tif 000002
【特許請求の範囲】
【請求項１】
電子情報をディレクトリとファイルという構成で管理する情報管理装置であって、
ファイル名の一部に番号をつけた電子ファイルとして電子情報を管理する情報管理装置において、
電子情報を新規に保管する場合、新規に作成するファイルのファイル名の番号が、既存のファイルのファイル名の番号とは異なる番号を自動的に付与され、ファイル名の一部として電子情報がファイルとして保管されることを特徴とする情報管理装置。
【請求項２】
新規にファイルを作成する場合、既存のファイルを検索し、ファイル名から番号を取り出して、比較し、最も大きい番号を抽出した後、最も大きい番号に１を加えた番号を新規ファルのファイル名として採用することを特徴とする請求項１の情報管理装置。
【請求項３】
新規にファイルが作成されるごとに、ファイル名に使用した番号を特定のファイル番号管理ファイルに記述しておき、新規にファイルを作成する場合、ファイル番号管理ファイルに記述されている番号に１を加えた番号を新規ファイルのファイル名として採用することを特徴とする請求項２の情報管理装置。
【請求項４】
新規にファイルを作成する場合、
既存のファイルを検索し、ファイル名から番号を取り出して、比較し、最も大きい番号を抽出した後、最も大きい番号と、
新規にファイルが作成されるごとに、ファイル名に使用した番号を特定のファイル番号管理ファイルに記述しておき、新規にファイルを作成する場合、ファイル番号管理ファイルに記述されている番号の
２つの番号を比較し、大きい番号に１を加えた番号を新規ファイルのファイル名の番号として採用することを特徴とする請求項３情報管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子情報をディレクトリとファイルの構成で管理する情報管理装置に関する。
【背景技術】
【０００２】
今日、テキスト、静止画像、動画、音などの様々な情報がデジタル化され、電子情報としてコンピュータのハードディスク、メモリ、フロッピー（登録商標）ディスク、メモリカード、光磁気ディスクなど様々な記憶装置に蓄積されるようになってきた。
【０００３】
一般に広く普及しているコンピュータの基本ソフト（ＯＳ）では、これらの電子情報は、ファイルシステムと呼んでいるディレクトリとファイルという構成によって保管されている。ファイルシステムでは、１つの電子情報は１つのファイルに保管される。ディレクトリは、その中に複数のファイルおよび複数のディレクトリを含むことができる。
【０００４】
ファイルおよびディレクトリには、任意の英数字から成るファイル名およびディレクトリ名という名称を付ける必要がある。また、ファイル名やディレクトリ名といった名称は、ファイルやディレクトリを区別する為、同一のディレクトリ内では、重複することが許されず、ユニークであることが求められる。
【０００５】
ユーザがコンピュータ内に新たな電子情報をコンピュータ内のファイルシステムに保管する場合、ユーザは既存のファイルおよびディレクトリの名称を調べ、既存のファイルおよびディレクトリの名称と重複しない名称をユーザが考案し、新たな電子情報を納めるファイルにファイル名としてつけなければならない。新規の情報を登録するたびに、新規の名称を考案するのは、大変手間がかかる作業である。デジタルカメラのように次々と写真を撮影し、デジタルイメージデータのような電子情報が発生する場合、これを記録するごとにユニークなファイル名をユーザにつけて貰うやり方は不適当である。
【０００６】
従来から、ファイル名の一部に通し番号を付けて、この手間を省く手法が取られている。デジタルカメラでは、静止画や動画、音声などのデジタルデータをファイルシステムに格納する方法としてカメラファイルシステム規格ＤＣＦ（Ｄｅｓｉｇｎ  ｒｕｌｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）を定めた。共通規格を定めたことにより他社のデジタルカメラとデータ交換を容易にするメリットも大きい。
【０００７】
カメラファイルシステム規格ＤＣＦ  Ｖｅｒｓｉｏｎ  １．０では、ルートディレクトリの直下にＤＣＩＭという名称を持つディレクトリを作成し、その下に３桁のユニークなディレクトリ番号と５文字の任意文字列という名前をもつディレクトリを作成し、その中に、４文字の任意文字列と４文字のファイル番号という名前を持つファイルを保管することになっている。
【０００８】
今日多くのデジタルカメラでは、カメラファイルシステム規格ＤＣＦ  Ｖｅｒｓｉｏｎ  １．０に準拠し、デジタル静止画、動画、音データをメモリカード等のファイルシステムに保存する際、ファイル名に通し番号を付けて保存している。
【０００９】
デジタルカメラでは、これを実現する方法として、撮影を行い新規にデータをメモリカードのファイルシステムにファイルを作成するごとに、ファイル名に使用した番号を特定のファイル番号管理ファイルに記述しておき、新規にファイルを作成する場合、ファイル番号管理ファイルに記述されている番号に１を加えた番号を新規ファルのファイル名として採用し、使用した番号はファイル番号管理ファイルに記述しておくようにしていることが多い。
【００１０】
例えば、特許文献１参照。
【特許文献１】特開平１０−１７７６４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、ファイル番号管理ファイルを使用した方法は、ＤＣＦ規格で定められた方法ではない為、他社製品で撮影したメモリカードの場合、ファイル番号管理ファイルが異なる、または、ファイル番号管理ファイルがない、などの事由で、ファイルの最大番号を取得ができなくなる。電子情報をメモリカードに保存し、別の機種とやり取りが多い場合、この方法では、対処できないという欠点を持つ。
【００１２】
一方、このような環境下でもファイル番号を取得する方法として、ファイルシステム内のファイル名を検索を行って番号を抽出し、最大の番号に１を加えて新しいファイル番号とするという方法がある。この方法に拠れば異機種間で、電子情報を記録したメモリカードなどの受け渡しを行っても構わない。
【００１３】
しかしながら、ファイル名を検索して番号を得る方法では、プログラムがマルチプロセス、マルチスレッドで走っており、ほぼ同時にファイル番号取得を行った場合、複数のプロセスが同じ番号を取得してしまうという致命的な欠点を持つ。
【００１４】
例えば、最大１００番の番号のファイル名を持つファイルが存在しており、ＡスレッドとＢスレッドの２つのスレッドが同時に動作している状況で、まず、Ａスレッドがファイル番号取得の要求が発生したとき、ファイルを検索し、最大のファイル番号を１００番を取得する。Ａスレッドではこれに１を加えて１０１番をＡスレッドでのファイル番号とする。すぐにＡスレッドが１０１番の番号でファイルを作成すればよいが、マルチスレッドの場合、Ａスレッドが１０１番の番号でファイルを作成する前に、Ｂスレッドがファイル番号取得の要求が発生することが考えられる。このとき、Ｂスレッドは、Ａスレッドが１０１番のファイル番号でファイルを作成する前なので、ファイルを検索し、Ｂスレッドも最大のファイル番号を１００番を取得し、Ｂスレッドもファイル番号１０１を取得して、Ａスレッドと重複して１０１のファイル番号をもつファイルを作成しようとする。このようにして、マルチプロセス、マルチスレッド環境下の装置では、ファイル検索を行ってファイル番号を取得する方法は不適である。
【００１５】
今日までのデジタルカメラのような単機能、単アプリケーションの装置であれば問題は無かったが、今日普及しつつあるＰＤＡや更に複雑化しつつあるデジタルカメラや携帯電話の場合、複数のアプリケーションを搭載し、複数のプロセス、複数のスレッドが同時に動作する状況を採用せざるを得ない。マルチプロセル、マルチスレッドで、ファイルシステムに電子情報をファイルに保存する際に使用するファイル番号が自動的に確実に取得できる方法が求められていた。
【課題を解決するための手段】
【００１６】
本発明は、上記の課題を鑑みてなされたもので、以下の方法により、マルチプロセスでプログラムが実行される環境下でファイル番号を確実に取得する方法を提供する。
【００１７】
電子情報をファイルシステムにファイルとして保存する場合に必要なファイル番号を得る為、ファイルシステムを検索し、最大のファイル番号をファイル番号に１を加えたものをファイル番号とする。
【００１８】
ファイルシステムにファイルを保存する際、使用したファイル番号を、ファイル番号管理ファイルに保存する。
【００１９】
本発明では、ファイルシステムに電子情報をファイルとして保存する際、ファイル番号管理ファイルをオープンし、ファイル番号管理ファイルから得られたファイル番号に１を加えたものと、ファイルシステムを検索して得られた最大のファイル番号に１を加えた番号を比較し、数値の大きい値をファイル番号として採用し、得られたファイル番号を持つファイルとして電子情報をファイルに保存する。保存を行った後、ファイル管理番号ファイルをオープンし、使用したファイル番号を保存しておく。
【００２０】
ファイルシステムに電子情報をファイルとして保存する際、ファイル管理番号ファイルが存在しない場合は、ファイルシステムを検索して得られた最大のファイル番号に１を加えた番号に１を加えたものをファイル番号として採用し、得られたファイル番号を持つファイルとして電子情報をファイルに保存する。保存を行った後、ファイル管理番号ファイルを作成し、使用したファイル番号を保存しておく。
【００２１】
ファイルシステムを検索して得られた番号を利用することによって、異なる機種間でメモリカードなどの記憶装置を交換する場合にでも確実にファイル番号を取得できるようになる。また、ファイル番号管理ファイルを利用することによってマルチプロセス、マルチスレッドの環境下においても、異なるプロセス、異なるスレッドに同じ番号が得られることを阻止し、確実にファイル番号を取得して、電子情報をファイルに保存することができるようになる。
【発明の効果】
【００２２】
以上説明したように、請求項１および請求項２、請求項３、請求項４の発明では、ファイルシステムに電子情報をファイルとして保存し、ファイル名を通しのファイル番号で管理し、マルチプロセス、マルチスレッドでファイルを保存する環境下において、異なるプロセルやスレッドに対して重複して同じ番号を付与することなく、確実にファイル番号を得られ、電子情報をファイルに保存する際、ユーザがファイル名に関与することなく、自動的にファイル名を作成して、ファイルを保存する方法を提供することができた。
【発明を実施するための最良の形態】
【００２３】
以下、図面を用いて本発明の実施の形態について説明する。
【実施例１】
【００２４】
実施例１は、デジタルカメラの構成をとっている。マルチプロセス対応であり、デジタルカメラの撮影、デジタルイメージの表示、フォトレタッチ、スケジュール帳といったアプリケーションの実行が可能となっている。フォトレタッチアプリを実行中にカメラ撮影の起動も可能であり、フォトレタッチアプリケーションでのイメージのセーブとカメラ撮影アプリケーションでイメージファイルのセーブを同時期に行う可能性を持つ。
【００２５】
図１は、本発明の実施例１のハードウェア構成を示すブロック図である。
【００２６】
本発明による実施例のプログラムを処理するＣＰＵ１００、入力および操作、結果表示を行う液晶ディスプレィ１０２および液晶ディスプレィ上につけられたタッチパネル１０１がある。ＣＰＵには、本実施例を実現するプログラムとデータ、操作記録を保管するＲＡＭ／ＲＯＭ  １０３が接続されている。更に、本プログラムにより撮影できるカメラモジュール１０６およびデータを保管するメモリカード１０５、メモリカードをＣＰＵに接続する為のメモリカードアダプタ１０４が接続されている。撮影されたデジタルイメージは、メモリカード１０５に格納される。
【００２７】
本実施例では、本発明を図１におけるハードウェア構成とＲＯＭに格納されたプログラムにより実現させているが、メモリカードやＦＤに格納されたプログラム、または、全てハードウェアで実現されていても構わない。
【００２８】
ユーザは、液晶ディスプレィおよびタッチパネルを用いて、カメラ撮影、デジタルイメージの表示、フォトレタッチ、スケジュール帳といったアプリケーションの操作を行う。本実施例では、タッチパネルと液晶ディスプレィを用いているが、本プログラムを操作、入出力を行えるものであれば、ブラウン管とキーボード、マウスなどでも構わない。
【００２９】
メモリカード内のファイルシステムはＭＳ−ＤＯＳのＦＡＴ形式を採用している。イメージファイルのセーブは、カメラファイルシステム規格ＤＣＦ  Ｖｅｒｓｉｏｎ  １．０に準拠しており、図２に示すようになっている。２０４  ＤＣＦファイルは、自由文字列４文字とファイル番号４文字の計８文字からなり、同一ディレクトリでユニークな番号を付ける必要がある。２０５はファイル番号管理ファイルであり、ファイル番号を１０進数のＡＳＣＩＩ文字として記述している。
【００３０】
図３フローチャートを用いて、本発明のファイル番号を取得する流れを説明する。イメージファイルをメモリカード内のＤＣＦフォーマットのファイルシステムに保存する場合、図３のフローチャートで示されるファイル番号取得ルーチンが呼び出され、番号を決定し、ファイル番号として、ファイル名に使用してファイルをイメージをメモリカードにセーブする。
【００３１】
ステップ３０１では、ディレクトリをオープンする。ステップ３０２ではオープンしたディレクトリ内のファイル一覧を取得する。ステップ３０３では変数Ｎの値を０に初期化する。
【００３２】
ステップ３０４では、取得したファイル一覧の中から順にファイルを１つ取り出し、ステップ３０５では取り出したファイルのファイル名からファイル番号を抽出し、変数Ｍに設定する。ステップ３０６では、変数Ｎの値と変数Ｍの値を比較し、Ｍが大きい場合、ステップ３０７にてＭの値をＮに設定する。変数Ｎ値が変数Ｍの値より大きい場合は、変数Ｎの値を変更しない。ステップ３０８では最後のファイルかどうかを確認し、残りのファイルがある場合は、ステップ３０４に戻る。ファイルが最後の場合はループから抜ける。このループを繰り返すことにより、オープンしたディレクトリ内で、最も大きなファイル番号を変数Ｎに設定することができる。
【００３３】
ステップ３０９では、ファイル番号管理ファイル（ＦＩＬＥＮＯ．ＣＮＴ）をオープンする。ファイル番号管理ファイルがない場合は、オープンに失敗し、ステップ３１０で、失敗を確認した場合、ステップ３１２で変数Ｌを０に設定する。オープンに成功した場合は、ステップ３１１にて、ファイル番号管理ファイル（ＦＩＬＥＮＯ．ＣＮＴ）から番号を読み出し、変数Ｌに設定する。ファイル番号管理ファイル（ＦＩＬＥＮＯ．ＣＮＴ）には、１０進数のＡＳＣＩＩ文字列として前回使用した番号が記述されている。
【００３４】
ステップ３１３では変数Ｌの値と変数Ｎの値を比較し、変数Ｎの値が大きい場合、変数Ｎの値に１を加えた値を新規ファイル番号として採用する。変数Ｌの値が大きい場合、変数Ｌの値に１を加えた値を新規ファイル番号として採用する。これにより、ディレクトリ内のファイルを検索して得られた最大のファイル番号と、ファイル番号管理ファイルで保存されている前回のファイル番号とを比較し、大きい方の数値に１を加えた数値を新規のファイル番号として採用することができる。
【００３５】
ステップ３１６では、得られた新規ファイル番号をファイル番号管理ファイル（ＦＩＬＥＮＯ．ＣＮＴ）に書き出し、ファイルをクローズする。
【実施例２】
【００３６】
図４は、本発明の実施例２のハードウェア構成を示すブロック図である。実施例２では、カメラモジュールを搭載しないＰＤＡの形式を取っている点が、実施例１と異なる。また、電子情報が保管されるファイルフォーマットは、ＤＣＦ規格に準拠していない。本発明は、このような場合にでも活用することができる。
【００３７】
実施例１では、描画ツールをもち、メモリカードに図５のフォーマットで電子情報をＰＩＣ＿０００１．ＢＭＰというようなファイル名をつけたファイルとして保存している。ファイルのファイル名は図５のファイル名の構成になっており、ファイル番号を使用する。ファイル番号を取得するルーチンは、実施例１の図３と同様である。ファイルはアプリケーション名とファイル番号によって自動的に決定されるので、ユーザはファイル名の命名を気にしなくて済む。
【図面の簡単な説明】
【００３８】
【図１】実施例１の構成を示すブロック図
【図２】実施例１のファイルシステムの構成
【図３】実施例１のファイル番号を取得するフローチャート
【図４】実施例１の構成を示すブロック図
【図５】ファイルシステムの構成
【符号の説明】
【００３９】
１００  ＣＰＵ
１０１  タッチパネル
１０２  液晶ディスプレィ
１０３  ＲＡＭ／ＲＯＭメモリ
１０４  メモリカードアダプタ
１０５  メモリカード
１０６  カメラモジュール
２０１  メモリカード内のルートディレクトリ
２０２  ＤＣＦイメージルートディレクトリ
２０３  ＤＣＦディレクトリ
２０４  ＤＣＦファイル
２０５  ファイル番号管理ファイル
４００  ＣＰＵ
４０１  タッチパネル
４０２  液晶ディスプレィ
４０３  ＲＡＭ／ＲＯＭメモリ
４０４  メモリカードアダプタ
４０５  メモリカード
５０１  メモリカード内のルートディレクトリ
５０２  データファイル
５０３  ファイル番号管理ファイル
【図１】
2006139676.tif 000003
【図２】
2006139676.tif 000004
【図３】
2006139676.tif 000005
【図４】
2006139676.tif 000006
【図５】
2006139676.tif 000007