(57)【要約】【課題】複数の画像ファイルから１つのマルチ画像ファイルを作成する処理を少ない空き容量の記録媒体でも高速に行い得る画像ファイル編集装置等を提供する。【解決手段】ファイルをクラスタ単位で記録するファイルシステムにおいて、複数の画像ファイルの各々に含まれる画像データが記録されているクラスタを全て含むようにファイルアロケーションテーブルにおけるマルチ画像ファイルに関するクラスタチェーンを作成し（Ｓ１１０２）、マルチ画像ファイルのファイル名とクラスタチェーンにおける先頭クラスタの番号とを含むディレクトリエントリを作成して、ファイルアロケーションテーブルとディレクトリエントリとを記録媒体に記録する（Ｓ１１０５）ことにより画像データのコピーや移動を行うことなく複数の画像ファイルを統合して１つのマルチ画像ファイルを構成する画像ファイル編集装置。【選択図】図１１
2010010809.tif 000002
【特許請求の範囲】
【請求項１】
所定サイズの記録単位であるクラスタに分割して記録されていて、各々が画像データを含む複数の画像ファイルから、該複数の画像ファイルの各画像データを含む１つのマルチ画像ファイルを生成する画像ファイル編集装置であって、
上記マルチ画像ファイルを生成する元となる上記複数の画像ファイルが記録されている上記クラスタの内の、少なくとも上記画像データが記録されているクラスタの全てを含むように、クラスタのつながり順序を示すファイルアロケーションテーブルを作成するファイルアロケーションテーブル作成部と、
上記マルチ画像ファイルのファイル名と、上記ファイルアロケーションテーブルにおける該マルチ画像ファイルに関するクラスタチェーンの先頭クラスタを示す情報と、を含むディレクトリエントリを作成するディレクトリエントリ作成部と、
上記ファイルアロケーションテーブルと、上記ディレクトリエントリと、を記録することにより、上記マルチ画像ファイルを構成する画像情報記録部と、
を具備することを特徴とする画像ファイル編集装置。
【請求項２】
上記マルチ画像ファイルは、上記複数の画像ファイルの内の少なくとも１つの画像ファイルについて新たな情報を追加して含むように構成されるものであり、
上記ファイルアロケーションテーブル作成部は、さらに、上記新たな情報を記録するためのクラスタを含むクラスタのつながり順序を示すファイルアロケーションテーブルを作成するものであることを特徴とする請求項１に記載の画像ファイル編集装置。
【請求項３】
上記マルチ画像ファイルは、上記複数の画像ファイルの内の、１つの画像ファイルに含まれる画像データを主画像とし、該主画像以外の画像ファイルに含まれる画像データをそれぞれ副画像として含むものであって、
上記新たな情報は、当該マルチ画像ファイルにおける上記複数の副画像それぞれの位置を示すオフセット情報を含むことを特徴とする請求項２に記載の画像ファイル編集装置。
【請求項４】
上記新たな情報は、さらに、上記主画像および上記副画像が同一のマルチ画像ファイルに属する画像であることを識別するための識別情報を含むことを特徴とする請求項３に記載の画像ファイル編集装置。
【請求項５】
上記マルチ画像ファイルは、上記複数の画像ファイルの内の少なくとも１つの画像ファイルについて新たな情報を追加して含むように構成されるものであり、
上記複数の画像ファイルの内の任意の画像ファイルは、上記新たな情報を追加するための領域を予め空白情報として有していることを特徴とする請求項１に記載の画像ファイル編集装置。
【請求項６】
上記複数の画像ファイルは、それぞれ、上記画像データと、該画像データに係る情報を含むヘッダ情報と、上記空白情報と、を有するものであり、
上記マルチ画像ファイルは、上記複数の画像ファイルの内の、１つの画像ファイルに含まれる画像データを主画像とし、該主画像以外の画像ファイルに含まれる画像データをそれぞれ副画像として、該主画像と、該主画像のヘッダ情報と、該副画像と、該副画像のヘッダ情報と、を含み、さらに、必要に応じて上記主画像に係る空白情報と上記副画像に係る空白情報との何れか一以上を含み得るものであって、
上記複数の画像ファイルの各々は、該各々の画像ファイルにおける上記ヘッダ情報と上記空白情報とを合計したデータサイズが、上記副画像のヘッダ情報として規定され得る最大のデータサイズ以上となるように構成されたものであることを特徴とする請求項５に記載の画像ファイル編集装置。
【請求項７】
上記複数の画像ファイルの各々は、さらに、該各々の画像ファイルにおける上記ヘッダ情報と上記空白情報とを合計したデータサイズが、上記主画像のヘッダ情報として規定され得る最大のデータサイズ以上となるように構成されたものであることを特徴とする請求項６に記載の画像ファイル編集装置。
【請求項８】
上記空白情報は、上記複数の画像ファイルの各々に含まれる画像データよりも、上記クラスタのつながり順序が示す方向における前方に配置されたものであることを特徴とする請求項５から請求項７の何れか一項に記載の画像ファイル編集装置。
【請求項９】
所定サイズの記録単位であるクラスタに分割して記録されていて、各々が画像データを含む複数の画像ファイルから、該複数の画像ファイルの各画像データを含む１つのマルチ画像ファイルを生成する画像ファイル編集方法であって、
上記マルチ画像ファイルを生成する元となる上記複数の画像ファイルが記録されている上記クラスタの内の、少なくとも上記画像データが記録されているクラスタの全てを含むクラスタのつながり順序を示すファイルアロケーションテーブルと、上記マルチ画像ファイルのファイル名と上記ファイルアロケーションテーブルにおける該マルチ画像ファイルに関するクラスタチェーンの先頭クラスタを示す情報とを含むディレクトリエントリと、を作成するステップと、
上記ファイルアロケーションテーブルと、上記ディレクトリエントリと、を記録することにより、上記マルチ画像ファイルを構成するステップと、
を含むことを特徴とする画像ファイル編集方法。
【請求項１０】
所定サイズの記録単位であるクラスタに分割して記録されていて、各々が画像データを含む複数の画像ファイルから、該複数の画像ファイルの各画像データを含む１つのマルチ画像ファイルを生成する処理をコンピュータに実行させるためのプログラムであって、
上記マルチ画像ファイルを生成する元となる上記複数の画像ファイルが記録されている上記クラスタの内の、少なくとも上記画像データが記録されているクラスタの全てを含むクラスタのつながり順序を示すファイルアロケーションテーブルと、上記マルチ画像ファイルのファイル名と上記ファイルアロケーションテーブルにおける該マルチ画像ファイルに関するクラスタチェーンの先頭クラスタを示す情報とを含むディレクトリエントリと、を作成するステップと、
上記ファイルアロケーションテーブルと、上記ディレクトリエントリと、を記録することにより、上記マルチ画像ファイルを構成するステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像ファイルから複数の画像データを含むマルチ画像ファイルを生成する画像ファイル編集装置、画像ファイル編集方法、プログラムに関する。
【背景技術】
【０００２】
現在市販されているデジタルカメラにおいて、画像を記録する主な手法となっているのは、撮影した画像データをＪＰＥＧ方式で圧縮してＪＰＥＧ画像データを作成し、Ｅｘｉｆ形式に則した形式の情報から構成されるＪＰＥＧヘッダを付加し、拡張子を「JPG」としたＪＰＥＧファイルとして記録する手法である。このＪＰＥＧファイルは、１つのファイル内に１つの画像（ただし、サムネイル画像を除く）のみを格納する規格のものとなっている。
【０００３】
これに対して例えば特開２００５−２５２７５４号公報には、ＪＰＥＧファイルの規格を拡張して、１つのファイル内に複数のＪＰＥＧ画像データを格納することができるようにする技術が記載されている。該公報に記載の技術により複数のＪＰＥＧ画像データをまとめて１つのファイルに格納する場合には、格納元の画像データの圧縮方式も格納先の画像データの圧縮方式も何れも同じＪＰＥＧであるために、格納元の個別のファイルとして記録されているＪＰＥＧファイル内のＪＰＥＧ画像データを、圧縮方式を変更することなく格納先においてもそのまま格納することが可能である。
【０００４】
ところで、複数のファイルから、これら複数のファイルをまとめた１つのファイルを作成する場合には、一般に、個別のファイルの内容をコピーして１つのファイルを作成することが行われる（そして、元ファイルが不要である場合には、削除される）。従って、元ファイルがＪＰＥＧファイルである場合にも、一般には、個別のＪＰＥＧファイルにおけるＪＰＥＧ画像データをそれぞれコピーして、複数のＪＰＥＧ画像データが格納されたマルチ画像ファイルを作成し、マルチ画像ファイルを作成した後でＪＰＥＧファイルを削除する手法がとられると考えられる。
【特許文献１】特開２００５−２５２７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したようなマルチ画像ファイルの作成方法では、全てのＪＰＥＧ画像データの読み込みと書き込みとが発生することになるが、ＪＰＥＧ画像データは比較的データサイズが大きいために、処理に時間を要することになる。特に、データを記録する記録媒体のアクセス速度が遅い場合や、大量のＪＰＥＧファイルを１つのマルチ画像ファイルにまとめる場合などにおいては、処理時間が非常に長くなってしまうことになる。また、上述したようなマルチ画像ファイルの作成方法では、１つのファイルにまとめようとしている複数のＪＰＥＧファイルの合計サイズと同等以上のサイズの空き領域が記録媒体になければ、処理を行うことができないという課題もある。
【０００６】
本発明は上記事情に鑑みてなされたものであり、複数の画像ファイルを統合して１つのマルチ画像ファイルを作成する処理を、空き領域がマルチ画像ファイルのデータサイズよりも少ない記録媒体においても高速に行うことができる画像ファイル編集装置、画像ファイル編集方法、プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の第１の態様による画像ファイル編集装置は、所定サイズの記録単位であるクラスタに分割して記録されていて、各々が画像データを含む複数の画像ファイルから、該複数の画像ファイルの各画像データを含む１つのマルチ画像ファイルを生成する画像ファイル編集装置であって、上記マルチ画像ファイルを生成する元となる上記複数の画像ファイルが記録されている上記クラスタの内の、少なくとも上記画像データが記録されているクラスタの全てを含むように、クラスタのつながり順序を示すファイルアロケーションテーブルを作成するファイルアロケーションテーブル作成部と、上記マルチ画像ファイルのファイル名と、上記ファイルアロケーションテーブルにおける該マルチ画像ファイルに関するクラスタチェーンの先頭クラスタを示す情報と、を含むディレクトリエントリを作成するディレクトリエントリ作成部と、上記ファイルアロケーションテーブルと上記ディレクトリエントリとを記録することにより上記マルチ画像ファイルを構成する画像情報記録部と、を具備したものである。
【０００８】
また、本発明の第２の態様による画像ファイル編集方法は、所定サイズの記録単位であるクラスタに分割して記録されていて、各々が画像データを含む複数の画像ファイルから、該複数の画像ファイルの各画像データを含む１つのマルチ画像ファイルを生成する画像ファイル編集方法であって、上記マルチ画像ファイルを生成する元となる上記複数の画像ファイルが記録されている上記クラスタの内の、少なくとも上記画像データが記録されているクラスタの全てを含むクラスタのつながり順序を示すファイルアロケーションテーブルと、上記マルチ画像ファイルのファイル名と上記ファイルアロケーションテーブルにおける該マルチ画像ファイルに関するクラスタチェーンの先頭クラスタを示す情報とを含むディレクトリエントリと、を作成するステップと、上記ファイルアロケーションテーブルと上記ディレクトリエントリとを記録することにより上記マルチ画像ファイルを構成するステップと、を含む方法である。
【０００９】
さらに、本発明の第３の態様によるプログラムは、所定サイズの記録単位であるクラスタに分割して記録されていて、各々が画像データを含む複数の画像ファイルから、該複数の画像ファイルの各画像データを含む１つのマルチ画像ファイルを生成する処理をコンピュータに実行させるためのプログラムであって、上記マルチ画像ファイルを生成する元となる上記複数の画像ファイルが記録されている上記クラスタの内の、少なくとも上記画像データが記録されているクラスタの全てを含むクラスタのつながり順序を示すファイルアロケーションテーブルと、上記マルチ画像ファイルのファイル名と上記ファイルアロケーションテーブルにおける該マルチ画像ファイルに関するクラスタチェーンの先頭クラスタを示す情報とを含むディレクトリエントリと、を作成するステップと、上記ファイルアロケーションテーブルと上記ディレクトリエントリとを記録することにより上記マルチ画像ファイルを構成するステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１０】
本発明の画像ファイル編集装置、画像ファイル編集方法、プログラムによれば、複数の画像ファイルを統合して１つのマルチ画像ファイルを作成する処理を、空き領域がマルチ画像ファイルのデータサイズよりも少ない記録媒体においても高速に行うことが可能となる。
【発明を実施するための最良の形態】
【００１１】
実施形態を説明するに当たって、まず、本明細書において使用される用語の幾つかについて説明する。
【００１２】
画像データは、任意の１つの画像に関するデータである。ＪＰＥＧ画像データは、画像データをＪＰＥＧ圧縮したデータである。ＪＰＥＧヘッダは、ＪＰＥＧファイルを構成するためにＪＰＥＧ画像データに付加されるヘッダである。ＪＰＥＧファイルは、１つのＪＰＥＧ画像データと、このＪＰＥＧ画像データに対応するＪＰＥＧヘッダと、を含むファイルである。マルチ画像ファイルは、複数のＪＰＥＧファイルのデータを含む構成のファイルである。主画像は、マルチ画像ファイルに含まれる複数の画像を代表する１つの画像である。この主画像は、ＪＰＥＧ画像データとＪＰＥＧヘッダとを１つずつ含んでいる。そして、主画像ヘッダは、マルチ画像ファイル内の最初の位置に配置されていて、主画像のＪＰＥＧ画像データも、基本的にはマルチ画像ファイル内の主画像ヘッダに続く位置に配置されている。副画像は、マルチ画像ファイルに含まれる複数の画像の内の、主画像以外の画像である。この副画像は、ＪＰＥＧ画像データとＪＰＥＧヘッダとを１つずつ含んでいる。
【００１３】
以下、図面を参照して本発明の実施の形態を説明する。
【００１４】
［実施形態１］
図１から図１１は本発明の実施形態１を示したものであり、図１は画像ファイル編集装置の一例としてのデジタルスチルカメラの構成を示すブロック図である。
【００１５】
このデジタルスチルカメラ（以後、単にデジタルカメラなどという）は、図１に示すように、カメラ本体１００と、レンズ１０１と、を備えて構成されている。
【００１６】
カメラ本体１００は、撮像素子１０２と、アナログ処理部１０３と、アナログ／デジタル（Ａ／Ｄ）変換部１０４と、バス１０５と、ＳＤＲＡＭ１０６と、画像処理部１０７と、ＡＥ処理部１０８と、ＡＦ処理部１０９と、ＪＰＥＧ処理部１１０と、メモリインタフェース（Ｉ／Ｆ）１１１と、記録媒体１１２と、ＬＣＤドライバ１１３と、ＬＣＤ１１４と、マイクロコンピュータ１１５と、操作部１１６と、フラッシュメモリ１１７と、を備えている。
【００１７】
レンズ１０１は、被写体の光学像を撮像素子１０２に集光させる光学系である。また、このレンズ１０１から撮像素子１０２に至る光路上には、図示しない絞り機構およびメカニカルシャッタ機構が設けられている。絞り機構は、マイクロコンピュータ１１５からの指示に応じて駆動され、レンズ１０１により撮像素子１０２上に結像される被写体の光学像の光量を調節するものである。また、メカニカルシャッタ機構は、マイクロコンピュータ１１５からの指示に応じて撮影時に駆動され、レンズ１０１から撮像素子１０２に到達する光学像の到達時間、すなわち撮像素子１０２の露光時間を制御するものである。
【００１８】
撮像素子１０２は、画素を構成するフォトダイオードの前面にベイヤー配列のカラーフィルタが配置された撮像素子である。ベイヤー配列のＲＧＢカラーフィルタは、水平方向にＲ画素とＧ（Ｇｒ）画素とが交互に配置されたラインと、水平方向にＧ（Ｇｂ）画素とＢ画素とが交互に配置されたラインと、を有し、さらにこれら２つのラインを垂直方向にも交互に配置することにより構成されている（なお、Ｒ画素に垂直方向に隣接するのがＧｂ画素、Ｂ画素に垂直方向に隣接するのがＧｒ画素となる）。この撮像素子１０２は、レンズ１０１により集光された光を、画素を構成するフォトダイオードで受光して光電変換することにより、光の量を電荷量としてアナログ処理部１０３へ出力する。なお、撮像素子１０２はＣＭＯＳ方式でもＣＣＤ方式でも良いし、その他の方式であっても構わない。
【００１９】
アナログ処理部１０３は、撮像素子１０２から読み出された電気信号（アナログ画像信号）に対して、リセットノイズ等を低減した上で波形整形を行い、さらに目的の明るさとなるようゲインアップを行う。
【００２０】
Ａ／Ｄ変換部１０４は、アナログ処理部１０３から出力されるアナログ画像信号をデジタル画像信号（以降、画像データという）に変換する。
【００２１】
バス１０５は、デジタルカメラ内のある部分で発生した各種データを、デジタルカメラ内の他の部分へ転送するための転送路である。このバス１０５には、Ａ／Ｄ変換部１０４と、ＳＤＲＡＭ１０６と、画像処理部１０７と、ＡＥ処理部１０８と、ＡＦ処理部１０９と、ＪＰＥＧ処理部１１０と、メモリＩ／Ｆ１１１と、ＬＣＤドライバ１１３と、マイクロコンピュータ１１５と、が接続されている。
【００２２】
Ａ／Ｄ変換部１０４により得られた画像データは、バス１０５を介して、ＳＤＲＡＭ１０６に一旦記憶される。
【００２３】
ＳＤＲＡＭ１０６は、Ａ／Ｄ変換部１０４において得られた画像データや、画像処理部１０７において処理された画像データ、あるいはＪＰＥＧ処理部１１０において処理された画像データ等の各種データが一時的に記憶される記憶部である。また、このＳＤＲＡＭ１０６は、マイクロコンピュータ１１５による作業用のメモリとしても用いられる。
【００２４】
画像処理部１０７は、ＳＤＲＡＭ１０６に記憶されている画像データに対して、各種の画像処理を行うものである。この画像処理部１０７は、図示はしないが機能部として、ホワイトバランス補正処理を行うホワイトバランス補正部、同時化処理を行う同時化部、色変換処理を行う色変換処理部、色再現処理を行う色再現処理部、ノイズ低減処理を行うノイズ低減処理部等を含んでいる。ここに、同時化処理は、１画素当たりに１つの色成分のみが得られているベイヤー配列の画像データから、１画素当たりにＲＧＢの３つの色成分の全てが揃っている画像データ（ＲＧＢ画像データ）へ変換する処理（欠落色成分の補間処理）である。こうして、画像処理部１０７により画像処理して得られたＲＧＢ画像データは、ＳＤＲＡＭ１０６に再び記憶される。
【００２５】
ＡＥ処理部１０８は、Ａ／Ｄ変換部１０４から得られた画像データを用いて、被写体輝度を算出する。なお、ＡＥ処理部１０８が被写体輝度を算出するために用いるデータとしては、撮像素子１０２から得られたデータに限るものではなく、別途に専用の測光センサを設けた場合にはこの測光センサの出力データであっても構わない。
【００２６】
ＡＦ処理部１０９は、Ａ／Ｄ変換部１０４から得られた画像データから、高周波成分の信号を取り出して、ＡＦ（オートフォーカス：Auto Focus）積算処理を行うことにより合焦評価値を取得する。なお、ＡＦ処理部１０９が合焦評価値を算出するために用いるデータとしては、撮像素子１０２から得られたデータに限るものではなく、別途に専用のＡＦセンサを設けた場合にはこのＡＦセンサの出力データであっても構わない。
【００２７】
ＪＰＥＧ処理部１１０は、画像データを記録するときには、ＳＤＲＡＭ１０６からＲＧＢ画像データを読み出して、読み出した画像データをＪＰＥＧ圧縮方式に従って圧縮する。このＪＰＥＧ処理部１１０により圧縮された画像データは、ＳＤＲＡＭ１０６に一旦記憶される。さらに、ＪＰＥＧ処理部１１０は、ＪＰＥＧヘッダに格納される量子化テーブルやハフマンテーブル等の情報も出力して、ＳＤＲＡＭ１０６に一旦記憶させる。なお、このＪＰＥＧ処理部１１０は、後述するように、記録媒体１１２から読み出されたＪＰＥＧ圧縮された画像データを伸張する処理も行う。
【００２８】
メモリＩ／Ｆ１１１は、画像データを含む各種データの記録媒体１１２への記録や、記録媒体１１２からの各種データの読み出しを行うものである。
【００２９】
記録媒体１１２は、例えばカメラ本体１００に着脱可能なメモリカードなどとして構成される記録媒体であるが、この例に限定されるものではない。
【００３０】
ＬＣＤドライバ１１３は、ＬＣＤ１１４に画像を表示させる制御を行うものである。ここに、ＬＣＤドライバ１１３により表示される画像の例としては、撮像素子１０２により撮像されて画像処理部１０７により処理された画像データ、記録媒体１１２に既に記録されているＪＰＥＧ画像データ、などが挙げられる。ここに、記録媒体１１２に記録されている画像ファイルを再生する場合には、まず、記録媒体１１２に記録されている画像ファイル内のＪＰＥＧ画像データをメモリＩ／Ｆ１１１を介して読み出して、ＳＤＲＡＭ１０６に一旦記憶する。次に、このＪＰＥＧ画像データをＪＰＥＧ処理部１１０により伸張処理して、伸張した画像データを再びＳＤＲＡＭ１０６に記憶させる。ＬＣＤドライバ１１３は、この伸張された画像データをＳＤＲＡＭ１０６から読み出して、読み出した画像データを映像信号へ変換してからＬＣＤ１１４へ出力し、画像の表示を行わせる。
【００３１】
マイクロコンピュータ１１５は、制御部としての機能を備えており、カメラ本体１００の各種シーケンスを統括的に制御するものである。このマイクロコンピュータ１１５は、ＪＰＥＧヘッダを作成し、さらにＪＰＥＧ画像データと統合して画像ファイルを作成する処理も行い、ファイルアロケーションテーブル作成部、ディレクトリエントリ作成部、画像情報記録部を兼ねたものとなっている。すなわち、マイクロコンピュータ１１５は、撮影時に得られた各種のデータや、ＪＰＥＧ処理部１１０から出力されてＳＤＲＡＭ１０６に記憶されている量子化テーブルおよびハフマンテーブル等に、さらにファイル形式に従った情報を付加して、ＪＰＥＧ画像データを管理するためのＪＰＥＧヘッダを作成する。ここで作成されたＪＰＥＧヘッダは、ＳＤＲＡＭ１０６に一旦記憶される。さらに、マイクロコンピュータ１１５は、ＳＤＲＡＭ１０６に記憶されているＪＰＥＧヘッダとＪＰＥＧ画像データとを読み出して、メモリＩ／Ｆ１１１を介して記録媒体１１２に画像ファイルとして記録させる。なお、後で詳しく説明するように、本実施形態においては、１つの画像ファイル内に、ＪＰＥＧヘッダとＪＰＥＧ画像データとでなる組を複数組を記録することも可能となっている。このような複数組のＪＰＥＧヘッダおよびＪＰＥＧ画像データを構成要素として含む画像ファイルを、上述したように、マルチ画像ファイルと呼ぶことにする。
【００３２】
また、このマイクロコンピュータ１１５には、操作部１１６とフラッシュメモリ１１７とが接続されている。
【００３３】
操作部１１６は、デジタルカメラの電源をオン／オフする指示入力を行うための電源ボタン、撮影の指示入力を行うための２段式の押圧ボタンでなるレリーズボタン、各種キー入力デバイス等を含んで構成されている。ここに、レリーズボタンは、半押しによってオンする１ｓｔレリーズスイッチと、全押しによってオンする２ｎｄレリーズスイッチと、を備えて構成されている。
【００３４】
フラッシュメモリ１１７は、ホワイトバランス補正値やローパスフィルタ係数等のデジタルカメラの動作に必要な各種パラメータや、デジタルカメラを特定するための製造番号などを不揮発に記憶するとともに、マイクロコンピュータ１１５により実行される処理プログラムを不揮発に記憶する記録媒体である。
【００３５】
そして、ユーザにより操作部１１６が操作されると、マイクロコンピュータ１１５は、フラッシュメモリ１１７に記憶されている処理プログラムに従って、ユーザからの操作に応じた各種のシーケンスを実行するために必要なパラメータをフラッシュメモリ１１７から読み込んで、その各種シーケンスを実行し、カメラ本体１００内の各部に対して必要な命令を発行するようになっている。例えば、電源ボタンが押されると、マイクロコンピュータ１１５は、このデジタルカメラの電源をオンまたはオフする。また例えば、レリーズボタンが半押しされて１ｓｔレリーズスイッチがオンされると、マイクロコンピュータ１１５は、ＡＥ処理部１０８にＡＥ処理を行わせると共に、ＡＦ処理部１０９にＡＦ処理を行わせる等の撮影準備シーケンスを実行する。さらに例えば、レリーズボタンが全押しされて２ｎｄレリーズスイッチがオンされると、マイクロコンピュータ１１５は、撮影シーケンスを実行して撮影を行う。
【００３６】
次に、図２は、デジタルカメラにおける画像ファイル記録時の処理を示すフローチャートである。この図２においては、特に、ＪＰＥＧファイルを記録するときの処理を示している。
【００３７】
ＪＰＥＧファイルを記録するのに先立って、マイクロコンピュータ１１５は、一連の撮影シーケンスに基づき撮影を行う（ステップＳ２０１）。このステップＳ２０１における撮影の処理は、通常のデジタルカメラにおいて行われている撮影の処理と基本的に同様であるために、ここでは簡単に説明する。
【００３８】
すなわち、ステップＳ２０１において、ユーザによって操作部１１６のレリーズボタンが半押しされると、マイクロコンピュータ１１５は、ＡＦ処理およびＡＥ処理を実行する。ＡＦ処理において、マイクロコンピュータ１１５は、撮像素子１０２から取り込まれた画像データに基づいてＡＦ処理部１０９により算出される合焦評価値から、撮像素子１０２に集光される被写体の像が最も鮮明になるようにレンズ１０１のフォーカスを調整する。また、ＡＥ処理において、マイクロコンピュータ１１５は、撮像素子１０２から取り込まれた画像データに基づいてＡＥ処理部１０８により算出される被写体輝度と、予めフラッシュメモリ１１７に記憶されている絞り値・シャッタ速度決定テーブルとに基づき、絞り値とシャッタ速度とを算出する。ＡＦ処理およびＡＥ処理が行われた後に、ユーザによりレリーズボタンが全押しされると、マイクロコンピュータ１１５は、算出した絞り値に基づき図示しない絞り機構を制御すると共に、算出したシャッタ速度に基づき図示しないメカニカルシャッタ機構を制御して、撮影を行う。
【００３９】
撮影が行われた後に、マイクロコンピュータ１１５は、撮像素子１０２から取り込まれた画像データを画像処理部１０７およびＪＰＥＧ処理部１１０により処理させ、ＪＰＥＧ画像データを作成させてＳＤＲＡＭ１０６に記憶させると共に、ＪＰＥＧヘッダ作成に必要な情報（上述した量子化テーブル等）を取得する。そして、マイクロコンピュータ１１５は、取得した情報に基づきＥｘｉｆ規格に準拠したＪＰＥＧヘッダを作成して、作成したＪＰＥＧヘッダをＳＤＲＡＭ１０６に記憶させる（ステップＳ２０２）。
【００４０】
次に、マイクロコンピュータ１１５は、ステップＳ２０２において作成されたＪＰＥＧ画像データとＪＰＥＧヘッダとを用いて、後述するＥｘｉｆ規格に準拠したＪＰＥＧファイルを作成する（ステップＳ２０３）。
【００４１】
さらに、マイクロコンピュータ１１５は、メモリＩ／Ｆ１１１を制御して、ステップＳ２０３において作成したＪＰＥＧファイルを記録媒体１１２へ記録させる（ステップＳ２０４）。
【００４２】
図３は、図２のステップＳ２０３において作成する、ＪＰＥＧファイルのファイルフォーマットの例を示す図である。
【００４３】
この図３に示すファイルフォーマットにおいては、ファイルのデータは、ＳＯＩ（Start Of Image）を始端とし、ＥＯＩ（End Of Image）を終端とする。そして、ＳＯＩとＥＯＩとの間には、画像データに関する情報がＥｘｉｆ規格に準拠した形式で記録されたＪＰＥＧヘッダと、ＪＰＥＧ画像データと、が順次記録される。ここで、画像データに関する情報とは、画像の幅や高さ、ＪＰＥＧ画像データの形式、ＪＰＥＧファイルにおけるＪＰＥＧヘッダの先頭からＪＰＥＧ画像データへのオフセット情報、サムネイル画像、上述した量子化テーブルやハフマンテーブルなどである。
【００４４】
図４は、記録媒体１１２に構成されている、ファイルやファイルに記録されるデータを管理するためのファイルシステムの概要を示す図である。
【００４５】
図４に示すファイルシステムにおいては、記録媒体１１２の記録領域を、クラスタと呼ばれる一定サイズの記録単位（ファイルシステムにおける最小の記録単位）に分割して管理を行うようになっている。従って、クラスタよりも小さいサイズのデータを記録媒体１１２に記録する場合であっても、必ず１つのクラスタが使用されることになる。なお、以下の説明においては、１つのクラスタのデータサイズをクラスタサイズと呼ぶ。また、記録媒体１１２に構成されるそれぞれのクラスタには、１から始まる番号が順に付されて、管理されるようになっている。
【００４６】
さらに、記録媒体１１２は、図４に示すように、ファイルアロケーションテーブル（以下、ＦＡＴという）記録領域と、ディレクトリエントリ記録領域と、データ記録領域と、を有するように構成されていて、各領域は１つ以上のクラスタ（通常は複数のクラスタ）により構成されている。
【００４７】
まず、ＦＡＴ記録領域は、ＦＡＴを記録する領域である。このＦＡＴは、記録媒体１１２の総クラスタ数と同じ数の要素のそれぞれに整数を記録することができるように構成されたテーブルであり、このテーブルにおける各要素の位置を示す番号（以下、インデックスという）とクラスタの番号とが一致している。すなわち、ＦＡＴにおけるインデックスがｎの要素は、クラスタ番号ｎに関する情報を保持している。テーブルの要素に記録される整数は、対応するクラスタが未使用である場合には「０」、使用されている場合には０以外の数が記録される。
【００４８】
さらに、テーブルの要素に記録されている整数が０以外の数であって、かつ、１以上の数である場合には、その数が、このインデックスに該当するクラスタに記録されているファイルのデータの続きが記録されているクラスタの番号を指し示している。
【００４９】
また、テーブルの要素に記録されている整数が「−１」である場合には、このクラスタにおいてファイルのデータが終端することを示している。
【００５０】
従って、ＦＡＴにおいて、ファイルの開始を示すある要素から順次要素を参照していくことを、要素に記録されている整数が−１になるまで行うことにより、ファイルを構成するクラスタのつながり順序を示すクラスタチェーンを参照することができる。
【００５１】
次に、ディレクトリエントリ記録領域は、ディレクトリエントリを記録するための領域である。このディレクトリエントリ記録領域には、１つ以上の（通常は、複数の）ディレクトリエントリが記録される。ここに、１つのディレクトリエントリには、１つのファイルに関する情報が記録されるようになっている。このディレクトリエントリに記録される情報としては、ファイル名、データサイズ（ファイルサイズ）、ファイルを構成するデータが記録されている先頭のクラスタ番号などがある。
【００５２】
また、データ記録領域は、ファイルを構成するデータを記録するための領域である。
【００５３】
上述したように、ファイルを構成するデータがクラスタサイズ以下である場合には、データ記録領域内の１つのクラスタを使用してファイルのデータが記録される。一方、ファイルを構成するデータがクラスタサイズより大きい場合には、データ記録領域内の複数のクラスタを使用してファイルのデータが記録される。
【００５４】
例えば、図４に示すように、「Sample.jpg」というファイル名のＪＰＥＧファイルが存在して、このＪＰＥＧファイルのファイルサイズがＳ、データ記録領域においてこのＪＰＥＧファイルの記録が開始されている先頭クラスタがＣであるものとする。このときには、このＪＰＥＧファイルに対応するディレクトリエントリには、ファイル名として「Sample.jpg」が、サイズ情報として画像ファイル全体のデータサイズであるＳが、先頭のクラスタ番号としてＣが、それぞれ記録される。なお、ＦＡＴのさらなる詳細については、後で説明する。
【００５５】
次に、図５は、図４に示すようなファイルシステムにおいて、ファイルを記録媒体１１２に書き込むときの処理を示すフローチャートである。この図５においては、ファイルのデータサイズがＬである場合を例に挙げて説明する。
【００５６】
この処理を開始すると、マイクロコンピュータ１１５は、まず最初に、記録するファイルのデータサイズＬを取得して、取得したデータサイズＬを変数Ｒへ代入する（ステップＳ５０１）。
【００５７】
次に、マイクロコンピュータ１１５は、ＦＡＴを参照して要素の値が０であるインデックス、すなわち空きクラスタに対応したインデックスを検索する。ここで、要素の値が０であるインデックスを発見した場合には、そのインデックスを変数Ｃｎへ代入する（ステップＳ５０２）。
【００５８】
続いて、マイクロコンピュータ１１５は、書き込みサイズを算出する（ステップＳ５０３）。この処理においては、変数Ｒの値とクラスタサイズとを比較して、大きくない方（等しくない場合には、何れか小さい方）を書き込みサイズとする。
【００５９】
書き込みサイズを算出した後に、マイクロコンピュータ１１５は、変数Ｃｎが示すクラスタへ、ステップＳ５０３において算出した書き込みサイズ分だけのデータを記録する（ステップＳ５０４）。
【００６０】
その後に、マイクロコンピュータ１１５は、変数ＲからステップＳ５０３で算出した書き込みサイズを減算する（ステップＳ５０５）。この減算により得られる値は、まだ書き込みが終了していないデータのデータサイズを示すものとなる。
【００６１】
次に、マイクロコンピュータ１１５は、変数Ｒの値が０より大きいか否かを判定する（ステップＳ５０６）。
【００６２】
ここで、変数Ｒの値が０より大きいと判定した場合には、書き込むデータがまだ残っていることになる。このときには、マイクロコンピュータ１１５は、ステップＳ５０２の処理と同様に、ＦＡＴからインデックスＣｎ以外で且つ値が０の要素を有するインデックス、すなわちステップＳ５０４においてデータを記録した空きクラスタとは別の空きクラスタを検索する。そして、検索したインデックスを、ＦＡＴにおけるインデックスＣｎの要素へ記録した後に変数Ｃｎへ代入する（ステップＳ５０７）。さらに、マイクロコンピュータ１１５は、ステップＳ５０３へ戻って上述したような処理を再び実行する。
【００６３】
一方、ステップＳ５０６において、変数Ｒの値が０以下であると判定された場合には、書き込むデータが残っていないことになる。この場合には、マイクロコンピュータ１１５は、ＦＡＴにおけるインデックスＣｎの要素に、ファイルの終端のデータが記録されているクラスタであることを示す「−１」を記録する（ステップＳ５０８）。
【００６４】
次に、マイクロコンピュータ１１５は、ファイル名を取得する（ステップＳ５０９）。このファイル名の取得は、撮影日時や撮影順等に基づく自動的なファイル名の付与、あるいは操作部１１６を介したユーザからのファイル名の入力、等に基づき行われる。
【００６５】
ファイル名を取得した後に、マイクロコンピュータ１１５は、取得したファイル名と、ステップＳ５０１において取得したデータサイズＬと、ステップＳ５０２において検索したインデックス、すなわちファイルの先頭のデータが記録されているクラスタを示す番号とを、記録したファイルに対応するディレクトリエントリとしてディレクトリエントリ記録領域へ記録する（ステップＳ５１０）。
【００６６】
その後に、マイクロコンピュータ１１５は、この図５に示す処理を終了する。
【００６７】
次に、図６は、ＪＰＥＧファイルを構成するデータとこのデータが記録される各クラスタとの関係を示す図、図７は、図６に示すクラスタ構成に該当するＦＡＴのデータを示す図である。これら図６および図７においては、図５に示したような処理に従って、ＪＰＥＧ１からＪＰＥＧ４までの４つのＪＰＥＧファイルを記録した場合の例を示している。
【００６８】
図６に示すように、ＪＰＥＧファイルを構成するデータは、データ記録領域内の１つ以上のクラスタ（通常は、複数のクラスタ）を使用して記録される。ここで、データの記録は、必ずしも連続したクラスタを使用して行われるものとは限らない。例えば、連続したクラスタが既に他のデータの記録に使用されている場合には、別の未使用となっているクラスタが記録に使用されることになる。
【００６９】
この図６に示す例においては、ＪＰＥＧ１のファイルの先頭データはクラスタｍに記録され、続くデータはクラスタｍ＋１に記録される。この場合に、ＦＡＴのインデックスｍの要素には、図７に示すように、クラスタｍに続いてデータが記録されるクラスタの番号であるｍ＋１が記録される。そして、図示の例では、ＪＰＥＧ１のファイルの終端は、クラスタｍ＋７の途中に記録される。つまり、ＪＰＥＧ１のデータはクラスタｍ＋７で終わるために、ＦＡＴのインデックスｍ＋７には終端を示す整数「−１」が記録される。
【００７０】
また、図６におけるＪＰＥＧ２のファイルの記録例は、クラスタｍ＋９の後に連続してデータを記録することができず、クラスタｍ＋９に記録されているデータに続くデータを、クラスタｍ＋９とは連続していないクラスタｎに記録した例となっている。この場合には、ＦＡＴのインデックスｍ＋９の要素には整数「ｎ」が記録される。
【００７１】
ここで、図６に示すようにして、クラスタにデータを記録した場合には、ディレクトリエントリ記録領域におけるＪＰＥＧ１からＪＰＥＧ４までの４つのＪＰＥＧファイルに対応するファイルのディレクトリエントリには、ｍ、ｍ＋８、ｎ＋５、ｐがそれぞれ記録される。
【００７２】
次に、図８は、図４に示すようなファイルシステムを用いて記録されたファイルからデータを読み込むときの処理を示すフローチャートである。
【００７３】
最初に、マイクロコンピュータ１１５は、読み込むファイルのファイル名を取得する（ステップＳ８０１）。
【００７４】
そして、マイクロコンピュータ１１５は、ディレクトリエントリ記録領域に記録されているディレクトリエントリの中から、ファイル名がステップＳ８０１において取得したファイル名と一致するディレクトリエントリを検索する（ステップＳ８０２）。
【００７５】
その後に、マイクロコンピュータ１１５は、取得したファイル名に対応したディレクトリエントリが見つかったか否かを判定する（ステップＳ８０３）。このステップＳ８０３の判定において、取得したファイル名に対応するディレクトリエントリが見つからなかった場合には、マイクロコンピュータ１１５は、この図８に示す処理を終了させる。この場合には、データの読み込みが失敗したことになる。なお、処理を終了する前、または処理を終了した後に、例えばエラーメッセージ等を表示するなどして、データの読み込みが失敗した旨をユーザに通知するようにしても良い。
【００７６】
一方、ステップＳ８０３の判定において、取得したファイル名に対応するディレクトリエントリが見つかった場合には、マイクロコンピュータ１１５は、そのディレクトリエントリを参照して、読み込むファイルのファイルサイズを読み取り、読み取ったファイルサイズを変数Ｒへ代入する（ステップＳ８０４）。
【００７７】
さらに、マイクロコンピュータ１１５は、ステップＳ８０２の検索により発見されたディレクトリエントリから、読み取るファイルの先頭データが記録されているクラスタの番号を取得して、その値を変数Ｃｎへ代入する（ステップＳ８０５）。
【００７８】
次に、マイクロコンピュータ１１５は、変数Ｃｎの値が０より大きいか否かを判定する（ステップＳ８０６）。上述したように、記録媒体１１２に構成されているクラスタには１から始まる番号がつけられている。従って、先頭データが記録されているクラスタの番号が代入されている変数Ｃｎの値（初回の変数Ｃｎの値）が０以下となることはあり得ない。このステップＳ８０５の判定において、変数Ｃｎの値が０以下である場合には、何等かのエラーが発生していると判定して、マイクロコンピュータ１１５は、この図８に示す処理を終了させる。なお、この図８に示す処理を終了させる前、または終了させた後に、エラーが発生した旨をユーザに通知するようにしても良いことは上述と同様である。また、２回目以後のこのステップＳ８０５の判定においても、変数Ｃｎの値が−１となる場合があり得る。この場合にも同様にして、この図８に示す処理を終了させる。
【００７９】
また、ステップＳ８０６の判定において、変数Ｃｎの値が０より大きい場合には、マイクロコンピュータ１１５は、読み込みサイズを算出する（ステップＳ８０７）。ここでは、変数Ｒの値とクラスタサイズとを比較して、大きくない方（等しくない場合には、何れか小さい方）を読み込みサイズとする。
【００８０】
次に、マイクロコンピュータ１１５は、変数Ｃｎによって示されるクラスタからステップＳ８０７で算出した読み込みサイズ分のデータを読み込む（ステップＳ８０８）。
【００８１】
さらに、マイクロコンピュータ１１５は、変数Ｒから読み込みサイズの値を減算する（ステップＳ８０９）。
【００８２】
そして、マイクロコンピュータ１１５は、変数Ｒの値が０より大きいか否かを判定する（ステップＳ８１０）。
【００８３】
このステップＳ８１０の判定において、変数Ｒの値が０よりも大きい場合には、まだデータの読み込みが終了していない。従って、マイクロコンピュータ１１５は、ＦＡＴからインデックスＣｎの要素の値を読み取り、読み取った値を変数Ｃｎへ代入する（ステップＳ８１１）。その後に、マイクロコンピュータ１１５は、ステップＳ８０６へ戻って上述したような処理を再び行う。
【００８４】
一方、ステップＳ８１０の判定において、変数Ｒの値が０以下となった場合には、データの読み込みが終了したとして、マイクロコンピュータ１１５は、図８に示す処理を終了させる。
【００８５】
図９は、マルチ画像ファイルのファイルフォーマットの例を示す図である。
【００８６】
この図９に示すファイルフォーマットにおいては、マルチ画像ファイルの最初に記録される画像を主画像と呼び、主画像の後に記録される画像を副画像と呼ぶ。マルチ画像ファイルに記録される主画像と副画像とは、何れも、図３に示すＪＰＥＧファイルのファイルフォーマットと同様に、ＳＯＩ（Start Of Image）を始端とし、ＥＯＩ（End Of Image）を終端とする。そして、ＳＯＩとＥＯＩとの間には、画像データに関する情報がＥｘｉｆ規格に準拠した形式で記録されたＪＰＥＧヘッダと、ＪＰＥＧ画像データと、が順次記録される。すなわち、マルチ画像ファイルは、ＪＰＥＧファイルの集合と考えることもできる。
【００８７】
また、図９に示すフォーマットにおいては、主画像のＪＰＥＧヘッダに、同一のマルチ画像ファイル内に記録されている各副画像に対するオフセット情報をさらに記録する。副画像位置情報としてのオフセット情報は、例えば、主画像中のある基準位置（例えば先頭位置）から各副画像のＳＯＩまでの距離（後述する図１１のステップＳ１１０３において説明するように、例えばバイト数を単位とした、クラスタチェーンに沿った距離）を示す情報である。このオフセット情報の記録されている数が、マルチ画像ファイルに記録されている副画像の数となる。このようなオフセット情報を主画像のＪＰＥＧヘッダに記録しておくことにより、任意の副画像へアクセスすることが可能となっている。
【００８８】
ここで、オフセット情報を適切に設定することにより、マルチ画像ファイルにおいて、主画像と副画像との間に任意の空白領域を設けたり、あるいは副画像と副画像との間に任意の空白領域を設けたりすることもできる。
【００８９】
次に、図１０は図７に示したようなＦＡＴを備える図６に示したようなＪＰＥＧファイルを結合して作成されるマルチ画像ファイルのＦＡＴ構成を示す図、図１１はマルチ画像ファイルを作成する処理を示すフローチャートである。なお、図１１に示す処理は、図２に示したような処理に従って記録された図３に示したようなＪＰＥＧファイルから、図９に示したようなマルチ画像ファイルを作成するときの処理を示したものである。
【００９０】
図１１に示す処理を開始すると、マイクロコンピュータ１１５は、まず最初に、ＪＰＥＧ処理部１１０やＬＣＤドライバ１１３などを制御することにより、記録媒体１１２に記録されているＪＰＥＧファイルの画像をＬＣＤ１１４に表示する。そして、表示されている画像を見ながらユーザが操作部１１６を操作することにより、マルチ画像ファイルに格納しようとするＪＰＥＧファイルを選択する（ステップＳ１１０１）。ここでは、一例として、最初に選択したＪＰＥＧファイルを主画像とし、その後に選択された他のＪＰＥＧファイルを副画像として、選択した順にマルチ画像ファイル内に格納するものとする。
【００９１】
次に、マイクロコンピュータ１１５は、ステップＳ１１０１において選択したＪＰＥＧファイルが１つのマルチ画像ファイルになるようにＦＡＴを修正する（ステップＳ１１０２）。
【００９２】
ここで、上述したように、マルチ画像ファイルにおける主画像のＪＰＥＧヘッダには各副画像に対するオフセット情報が含まれることになるために、主画像にしようとする元のＪＰＥＧファイルにおけるＪＰＥＧヘッダのデータサイズよりも、マルチ画像ファイル化されたときの主画像のＪＰＥＧヘッダサイズの方が大きくなる。
【００９３】
そこで、主画像と対応するＪＰＥＧファイルのＪＰＥＧヘッダサイズと、主画像のＪＰＥＧヘッダサイズとの差分をΔ、追加するクラスタ数をｎ、クラスタサイズをｃとしたときに、
ｃ×ｎ≧Δ
を満たす最小のｎを求めて、主画像とするＪＰＥＧファイルのクラスタチェーンの先頭にｎ個の空きクラスタを追加する。
【００９４】
クラスタを追加する場合には、追加するクラスタ番号が例えばｋおよびｋ＋１であった場合に、ＦＡＴにおけるインデックスｋの要素としてｋ＋１を、インデックスｋ＋１の要素として主画像に対応するＪＰＥＧファイルの先頭クラスタ番号（図６、図７、および図１０に示す例においてはｍ）を記録することにより、主画像とするＪＰＥＧファイルの先頭にクラスタｋおよびｋ＋１を追加することができる。同様の処理を行えば、より多くの数のクラスタを先頭に追加することができる。
【００９５】
そして、主画像とするＪＰＥＧファイルのクラスタチェーンの末尾に、ステップＳ１１０１において２番目に選択されたＪＰＥＧファイルのクラスタチェーンがつながるように、ＦＡＴの要素を変更する。図６、図７、および図１０に示す例においては、要素の値「−１」が格納されていたインデックスｍ＋７に、２番目のＪＰＥＧファイルの先頭クラスタ番号であるｍ＋８を格納する。同様にして、ステップＳ１１０１において選択された全てのＪＰＥＧファイルのクラスタチェーンが順次つながるように、ＦＡＴの要素を変更する。このようにして変更されたＦＡＴの様子を示すのが図１０である。
【００９６】
次に、マイクロコンピュータ１１５は、主画像の先頭からの各副画像に対するオフセットを算出する（ステップＳ１１０３）。ステップＳ１１０１において選択された全てのＪＰＥＧファイルのデータは、各ＪＰＥＧファイルに対応するディレクトリエントリにおける先頭クラスタ番号から記録されている。従って、各副画像に対するマルチ画像ファイルの先頭からのオフセットの算出は、ステップＳ１１０２において作成したマルチ画像ファイルに対応するクラスタチェーンを先頭から順次スキャンしながら、その先頭クラスタ番号直前までのクラスタ数をカウントして、そのカウント値にクラスタサイズを乗算することにより行うことができる。
【００９７】
そして、マイクロコンピュータ１１５は、主画像のＪＰＥＧヘッダを作成して記録する（ステップＳ１１０４）。ここでは、マイクロコンピュータ１１５は、主画像に対応するＪＰＥＧファイルのＳＯＩとＪＰＥＧヘッダとをＳＤＲＡＭ１０６に一旦読み込んで、ステップＳ１１０３において算出したオフセット値を副画像数分追加する。また、主画像のＪＰＥＧ画像データの開始位置は、主画像に対応するＪＰＥＧファイルにおける開始位置よりも、ステップＳ１１０２において追加したクラスタ分だけ後方になるために、マイクロコンピュータ１１５は、その位置を指し示すように、ＳＤＲＡＭ１０６に読み込んだＪＰＥＧヘッダにおけるＪＰＥＧ画像データへのオフセット情報を修正する。そして、ステップＳ１１０２において追加したクラスタにおける先頭クラスタからＳＯＩとＪＰＥＧヘッダとが順に記録されるように、ＳＤＲＡＭ１０６に記憶されているＪＰＥＧヘッダを記録媒体１１２に記録する。
【００９８】
最後に、マイクロコンピュータ１１５は、ディレクトリエントリ記録領域におけるディレクトリエントリの追加と削除とを行う（ステップＳ１１０５）。ここでは、作成するマルチ画像ファイルにおける先頭クラスタ、すなわち、ステップＳ１１０２において追加したクラスタにおける先頭クラスタ（図１０に示す例においてはクラスタ番号ｋ）、マルチ画像ファイル名、およびマルチ画像ファイルの合計データサイズに基づいて、マルチ画像ファイルに対するディレクトリエントリを作成する。ここで、合計データサイズは、作成したマルチ画像ファイルの総クラスタ数、すなわち、ステップＳ１１０２で作成したクラスタチェーンの総クラスタ数に、クラスタサイズを乗算したサイズとする。さらに、マイクロコンピュータ１１５は、ステップＳ１１０１において選択したＪＰＥＧファイルに対応するディレクトリエントリを全て削除する。
【００９９】
なお、上述においては、マルチ画像ファイルの元となったＪＰＥＧファイルのディレクトリエントリを全て削除する例を示したが、これに限るものではなく、ＪＰＥＧファイルのディレクトリエントリを残しておいても構わない。すなわち、本発明は、同一のＪＰＥＧ画像データを、マルチ画像ファイル内の画像データとしても参照することができ、かつＪＰＥＧファイル内の画像データとしても参照することができるような構成を妨げるものではない。
【０１００】
このような実施形態１によれば、ＦＡＴの変更と主画像のヘッダ情報の変更とディレクトリエントリ記録領域の変更とを行うが、ＪＰＥＧ画像データ自体はコピーも移動も行うことなく、複数のＪＰＥＧファイルを統合して１つのマルチ画像ファイルを作成することができる。このときに変更されるデータの合計サイズは、一般に、ＪＰＥＧ画像データの合計サイズに比べて非常に小さいために、マルチ画像ファイルを極めて高速に作成することが可能となる。さらに、ＪＰＥＧ画像データのコピーを記録媒体に作成することがないために、記録媒体の空き領域がマルチ画像ファイルのデータサイズよりも小容量であっても処理を行うことが可能となる利点がある。
【０１０１】
また、上述では、マルチ画像ファイルの元となるＪＰＥＧファイルが同一の記録媒体内に全て存在する例を示したが、これに限るものではなく、マルチ画像ファイルの元となるＪＰＥＧファイルが少なくとも１つ以上存在する記録媒体であれば、マルチ画像ファイルの作成をより高速化することが可能となる。すなわち、マルチ画像ファイル化しようとする複数のＪＰＥＧファイルが幾つかの記録媒体内に分かれて存在していて、これらの内の何れかの記録媒体（以下ではターゲット記録媒体という）にマルチ画像ファイルを作成しようとする場合には、まず、マルチ画像ファイル化しようとする複数のＪＰＥＧファイルの内のターゲット記録媒体以外の記録媒体に記録されているＪＰＥＧファイルを、全てターゲット記録媒体へコピーまたは移動する。その後に、上述と同様の処理を行えばよい。この場合であっても、ターゲット記録媒体に元々記録されていたＪＰＥＧファイルのＪＰＥＧ画像データはコピーも移動も行われることはないために、処理の高速化を図ることができる。
【０１０２】
［実施形態２］
図１２から図１５は本発明の実施形態２を示したものであり、図１２はマルチ画像ファイルのファイルフォーマットの例を示す図である。この実施形態２において、上述の実施形態１と同様である部分については同一の符号を付して説明を省略し、主として異なる点についてのみ説明する。
【０１０３】
本実施形態において、画像ファイル編集装置が適用されるデジタルカメラの構成は実施形態１の図１に示したものと同様であり、撮影時における処理は図２に示したものと同様であり、記録されるＪＰＥＧファイルの構成は図３に示したものと同様である。
【０１０４】
次に、本実施形態におけるマルチ画像ファイルのファイルフォーマットは、図１２に示すようになっている。この図１２に示すファイルフォーマットは、基本的には実施形態１の図９に示したファイルフォーマットと同様であるが、主画像および副画像のＪＰＥＧヘッダに、これら主画像および副画像が含まれるマルチ画像ファイルを識別するための情報（マルチ画像ファイル識別情報）が付加されている点が異なっている。このマルチ画像ファイル識別情報は、マルチ画像ファイル内に含まれるＪＰＥＧ画像データに基づいて別のＪＰＥＧファイルを作成した場合に、このＪＰＥＧファイルの作成元となったマルチ画像ファイルを特定することができるようにするための情報である。このマルチ画像ファイル識別情報は、例えば、フラッシュメモリ１１７に記録されている製造番号やマルチ画像ファイルが生成された日時などを組み合わせることに得られる重複がない番号である。
【０１０５】
次に、図１３はマルチ画像ファイルを作成する処理を示すフローチャートである。この図１３に示す処理は、図２に示したような処理に従って記録された図３に示したようなＪＰＥＧファイルから、図１２に示すようなマルチ画像ファイルを作成するときの処理を示したものである。なお、この図１３において、図１１における処理と同様の処理を行う部分については同一の符号を付して説明を省略する。
【０１０６】
上述したようなステップＳ１１０１の処理が行われた後に、マイクロコンピュータ１１５は、このステップＳ１１０１において選択されたＪＰＥＧファイルが１つのマルチ画像ファイルになるようにＦＡＴを修正する（ステップＳ１３０２）。
【０１０７】
ここでは、まず、主画像に対応するＪＰＥＧファイルに対して、上述したステップＳ１１０２と同様に、クラスタチェーンの先頭にクラスタを追加する処理を行う。このときのヘッダ情報の増加に伴う必要に応じたクラスタの追加は、ステップＳ１１０２において説明したのと同様である。
【０１０８】
次に、本実施形態においては、副画像のＪＰＥＧヘッダに対して、副画像に対応するＪＰＥＧファイルのＪＰＥＧヘッダには存在しないマルチ画像ファイル識別情報を付加することになる。このために、副画像に対するＪＰＥＧヘッダサイズも、増加することになる。そこで、主画像に対して行った処理と同様の処理を行うことにより、副画像に対応するＪＰＥＧファイルに対して、クラスタチェーンの先頭に空きクラスタを追加する処理を行う。
【０１０９】
そして、主画像とするＪＰＥＧファイルのクラスタチェーンの末尾に、ステップＳ１１０１において２番目に選択されたＪＰＥＧファイルのクラスタチェーンがつながるように、ＦＡＴの要素を変更する。同様にして、ステップＳ１１０１において選択された全てのＪＰＥＧファイルのクラスタチェーンが順次つながるように、ＦＡＴの要素を変更する。
【０１１０】
ステップＳ１３０３の処理を行った後に、マイクロコンピュータ１１５は、各副画像のＪＰＥＧヘッダを修正しながら、主画像の先頭からの各副画像に対するオフセットを算出する（ステップＳ１３０３）。このステップＳ１３０３における処理の詳細は、次のようになっている。
【０１１１】
すなわち、マイクロコンピュータ１１５は、まず、副画像のＳＯＩとＪＰＥＧヘッダとをＳＤＲＡＭ１０６に読み込む。
【０１１２】
次に、マイクロコンピュータ１１５は、マルチ画像ファイル識別情報をＪＰＥＧヘッダ内に追加して、追加したデータサイズ分だけ後方を指すようにＪＰＥＧ画像データへのオフセット情報を修正する。
【０１１３】
続いて、マイクロコンピュータ１１５は、追加したデータサイズ分だけマルチ画像ファイルにおける前方の位置から、ＳＯＩとＪＰＥＧヘッダとを記録媒体１１２へ記録する。
【０１１４】
最後に、マイクロコンピュータ１１５は、ＪＰＥＧヘッダを記録した位置を示す、マルチ画像ファイルの先頭からのオフセットを算出する。オフセット算出の対象とする副画像に対応するＪＰＥＧファイルは、対応するディレクトリエントリにおける先頭クラスタ番号から記録されていた。そのために、ステップＳ１３０２において作成したマルチ画像ファイルに対応するクラスタチェーンを先頭から順次スキャンしながら、その先頭クラスタ番号直前までのクラスタ数をカウントして、そのカウント値にクラスタサイズを乗算することにより、ＪＰＥＧヘッダ修正前のオフセットが求まる。そして、追加したデータサイズ分だけそのオフセットから減算することにより、その副画像に対するオフセットを算出することができる。
【０１１５】
マイクロコンピュータ１１５は、このステップＳ１３０３の処理において、全ての副画像に対して、１番目の副画像から順に、上述したような処理を行うようになっている。
【０１１６】
次に、マイクロコンピュータ１１５は、主画像のＪＰＥＧヘッダを作成して記録する（ステップＳ１３０４）。このステップＳ１３０４において、上述したステップＳ１１０４と異なるのは、マルチ画像ファイル識別情報をＪＰＥＧヘッダ内にさらに追加するという点である。
【０１１７】
その後に、上述したステップＳ１１０５の処理を行って、この処理を終了する。
【０１１８】
ここで、図１４および図１５を参照して、副画像に対応するＪＰＥＧファイルと、このＪＰＥＧファイルをマルチ画像ファイル内に組み込んだときの副画像と、のＪＰＥＧヘッダの変化およびクラスタチェーンの変化の様子を説明する。
【０１１９】
図１４は、ある副画像に対応するＪＰＥＧファイルと、このＪＰＥＧファイルが記録されているクラスタとの関係を示す図である。この図１４に示す例においては、ＪＰＥＧファイルは、クラスタｍからクラスタｍ＋６までの連続する７つのクラスタに記録されている。
【０１２０】
図１５は、図１４に示したＪＰＥＧファイルをマルチ画像ファイル内に副画像として組み込んだときのクラスタチェーンの様子を示す図である。この図１５に示す例においては、上述したステップＳ１３０２において１つのクラスタ（クラスタ番号がｎのクラスタ）が先頭に追加され、上述したステップＳ１３０３においてＪＰＥＧヘッダが修正されてマルチ画像ファイル識別情報が追加されている。このようなＪＰＥＧヘッダの拡張を行ったために、この副画像のＳＯＩは、先頭クラスタであるクラスタ番号ｎのクラスタの（先頭からではなく）途中から、記録されている。
【０１２１】
このような実施形態２によれば、ＦＡＴの変更と主画像および各副画像のヘッダ情報の変更とディレクトリエントリ記録領域の変更とを行うが、ＪＰＥＧ画像データ自体はコピーも移動も行うことなく、複数のＪＰＥＧファイルを統合して、マルチ画像ファイルに必要なヘッダを構成しながら、マルチ画像ファイルを作成することができる。このときに変更されるデータの合計サイズは、一般に、ＪＰＥＧ画像データの合計サイズに比べて非常に小さいために、マルチ画像ファイルを極めて高速に作成することが可能となる。さらに、ＪＰＥＧ画像データのコピーを記録媒体に作成することがないために、記録媒体の空き領域がマルチ画像ファイルのデータサイズよりも小容量であっても処理を行うことが可能となる利点がある。加えて、マルチ画像ファイルに含まれるＪＰＥＧ画像データから別途のＪＰＥＧファイルを作成したときに、ＪＰＥＧヘッダ内にマルチ画像ファイル識別情報が含まれているために、元のマルチ画像ファイルを識別することができる。
【０１２２】
［実施形態３］
図１６から図１８は本発明の実施形態３を示したものであり、図１６はＪＰＥＧファイルのファイルフォーマットの例を示す図である。この実施形態３において、上述の実施形態１，２と同様である部分については同一の符号を付して説明を省略し、主として異なる点についてのみ説明する。
【０１２３】
本実施形態において、画像ファイル編集装置が適用されるデジタルカメラの構成は実施形態１の図１に示したものと同様であり、撮影時における処理は図２に示したものと同様であり、ファイルシステムも実施形態１において説明したものと同様である。
【０１２４】
ただし、本実施形態におけるマルチ画像ファイルを作成する元となるＪＰＥＧファイルの構成は、実施形態１の図３に示したものとは異なっている。
【０１２５】
本実施形態におけるＪＰＥＧファイルのファイルフォーマットの例について、図１６を参照して説明する。なお、このＪＰＥＧファイルは、図２のステップＳ２０３の処理により作成される。
【０１２６】
この図１６に示すファイルフォーマットにおいては、ファイルのデータはＳＯＩ（Start Of Image）を始端とし、ＥＯＩ（End Of Image）を終端とする。そして、ＳＯＩとＥＯＩとの間には、画像データに関する情報（実施形態１の説明参照）がＥｘｉｆ規格に準拠した形式で記録されたＪＰＥＧヘッダと、空白情報と、ＪＰＥＧ画像データと、が順に記録される。
【０１２７】
これらの内の空白情報とは、例えば０で埋められた情報である。ＪＰＥＧヘッダにおけるＪＰＥＧ画像データへのオフセット情報を、ＪＰＥＧヘッダの最終データよりもさらにファイル後方を指すように設定して、その位置からＪＰＥＧ画像データを記録することにより、ＪＰＥＧヘッダとＪＰＥＧ画像データとの間にこの空白情報を設けることができる。
【０１２８】
この空白情報であるが、主画像のＪＰＥＧヘッダの最大データサイズをＭ、副画像のＪＰＥＧヘッダの最大データサイズをＳ、ＪＰＥＧファイルにおけるＪＰＥＧヘッダサイズをＪとしたときに、
ｍａｘ［Ｍ，Ｓ］−Ｊ
により算出されるサイズである。ここに、記号ｍａｘ［ｘ，ｙ］は、ｘとｙとの内の小さくない方（ｘ≠ｙの場合には、ｘとｙとの内の大きい方）の値をとることを示す。すなわち、具体的に書き下せば、Ｍ＞ＳのときにＭ−Ｊ、Ｍ≦ＳのときにＳ−Ｊの値となることを示している。
【０１２９】
ここで、マルチ画像ファイルに含まれる副画像の数に応じてオフセット情報の個数が変わるために、主画像のＪＰＥＧヘッダサイズは変動することになるが、例えば、マルチ画像ファイルに含まれ得る副画像の最大数を予め規格等として定めておけば、最大のＪＰＥＧヘッダサイズを予め決めることができる。
【０１３０】
図１７は、本実施形態におけるマルチ画像ファイルのファイルフォーマットの例を示す図である。
【０１３１】
この図１７に示すファイルフォーマットは、基本的には実施形態２の図１２に示したファイルフォーマットと同様であるが、主画像および副画像に空白情報が含まれている点が異なっている（ただし、ＪＰＥＧヘッダが理論上の最大値をとる場合には、空白情報が含まれていないこともあり得る）。この空白情報は、図１６を参照して説明したような形式のＪＰＥＧファイルに含まれる空白情報よりも、マルチ画像ファイルに格納するためにＪＰＥＧヘッダに新たに加えた情報の分だけデータサイズが減少した空白情報となっている。
【０１３２】
続いて、図１８は、マルチ画像ファイルを作成する処理を示すフローチャートである。この図１８に示す処理は、図２に示したような処理に従って記録された図１６に示すようなＪＰＥＧファイルから、図１７に示すようなマルチ画像ファイルを作成するときの処理を示したものである。なお、この図１８において、図１１、図１３における処理と同様の処理を行う部分については同一の符号を付して説明を省略する。
【０１３３】
上述したようなステップＳ１１０１の処理が行われた後に、マイクロコンピュータ１１５は、このステップＳ１１０１において選択されたＪＰＥＧファイルが１つのマルチ画像ファイルになるようにＦＡＴを修正する（ステップＳ１８０２）。
【０１３４】
ここで、ＪＰＥＧファイルのＪＰＥＧヘッダとＪＰＥＧ画像データとの間には適切なサイズの空白情報が予め記録されているために、マルチ画像ファイルにおいてＪＰＥＧファイルに対応する主画像または副画像のＪＰＥＧヘッダおよびＪＰＥＧデータのサイズは、もとのＪＰＥＧファイルサイズを超えることはない。そのために、この処理では、主画像に対応するＪＰＥＧファイルのクラスタチェーンの末尾に、ステップＳ１１０１において２番目に選択されたＪＰＥＧファイルのクラスタチェーンがつながるように、ＦＡＴの要素を変更し、同様に、ステップＳ１１０１において選択された全てのＪＰＥＧファイルのクラスタチェーンが順次つながるように、ＦＡＴの要素を変更すれば足りる。
【０１３５】
次に、マイクロコンピュータ１１５は、各副画像のＪＰＥＧヘッダを修正しながら、主画像の先頭からの各副画像に対するオフセットを算出する（ステップＳ１８０３）。
【０１３６】
すなわち、マイクロコンピュータ１１５は、まず、副画像のＪＰＥＧヘッダをＳＤＲＡＭ１０６に読み込む。
【０１３７】
次に、マイクロコンピュータ１１５は、マルチ画像ファイル識別情報をＪＰＥＧヘッダ内に追加する。
【０１３８】
続いて、マイクロコンピュータ１１５は、マルチ画像ファイルにおいて元々記録されていた位置から上書きするように、ＪＰＥＧヘッダを記録する。
【０１３９】
最後に、マイクロコンピュータ１１５は、ＪＰＥＧヘッダを記録した位置を示す、マルチ画像ファイルの先頭からのオフセットを算出する。オフセット算出の対象とする副画像に対応するＪＰＥＧファイルは、対応するディレクトリエントリにおける先頭クラスタ番号から記録されている。そのために、ステップＳ１８０２において作成したマルチ画像ファイルに対応するクラスタチェーンを先頭から順次スキャンしながら、その先頭クラスタ番号直前までのクラスタ数をカウントして、そのカウント値にクラスタサイズを乗算することにより、オフセットを求めることができる。
【０１４０】
マイクロコンピュータ１１５は、このステップＳ１８０３の処理において、全ての副画像に対して、１番目の副画像から順に、上述したような処理を行うようになっている。
【０１４１】
その後は、上述したようなステップＳ１３０４およびステップＳ１１０５の処理を行って、この処理を終了する。
【０１４２】
このような実施形態３によれば、ＪＰＥＧファイルを記録する際に予め適切なサイズの空白情報を含むようにしたために、ＦＡＴの変更と主画像および各副画像のヘッダ情報の変更とディレクトリエントリ記録領域の変更とを行うが、ＪＰＥＧ画像データ自体はコピーも移動も行うことなく、複数のＪＰＥＧファイルを統合して、マルチ画像ファイルに必要なヘッダを構成しながら、マルチ画像ファイルを作成することができる。このときに変更されるデータの合計サイズは、一般に、ＪＰＥＧ画像データの合計サイズに比べて非常に小さいために、マルチ画像ファイルを極めて高速に作成することが可能となる。さらに、ＪＰＥＧ画像データのコピーを記録媒体に作成することがなく、かつ、作成されるマルチ画像ファイルのファイルサイズが、作成元のＪＰＥＧファイルの合計ファイルサイズよりも大きくなることはなく、かつＪＰＥＧヘッダは上書きにより記録されるために、記録媒体に空き領域がない場合であっても処理を行うことができる利点がある。
【０１４３】
［実施形態４］
図１９は本発明の実施形態４を示したものであり、マルチ画像ファイルを作成する処理を示すフローチャートである。この実施形態４において、上述の実施形態１〜３と同様である部分については同一の符号を付して説明を省略し、主として異なる点についてのみ説明する。
【０１４４】
本実施形態において、画像ファイル編集装置が適用されるデジタルカメラの構成は実施形態１の図１に示したものと同様であり、撮影時における処理は図２に示したものと同様であり、記録されるＪＰＥＧファイルの構成は図３に示したものと同様である。
【０１４５】
次に、図１９を参照して、マルチ画像ファイルを作成する処理を説明する。この図１９に示す処理は、図２に示したような処理に従って記録された図３に示したようなＪＰＥＧファイルから、ＪＰＥＧヘッダとＪＰＥＧ画像データとの間に空白情報が存在するようなマルチ画像ファイル（例えば、図１７に示したようなマルチ画像ファイル）を作成するときの処理を示したものである。なお、この図１９において、図１１における処理と同様の処理を行う部分については同一の符号を付して説明を省略する。
【０１４６】
上述したようなステップＳ１１０１の処理が行われた後に、マイクロコンピュータ１１５は、選択されたＪＰＥＧファイルの中から、これから処理対象にしようとするＪＰＥＧファイル（処理対象ＪＰＥＧファイル）を選択する（ステップＳ１９０２）。ここでは、マイクロコンピュータ１１５は、ステップＳ１１０１においてユーザにより選択された順に、処理対象ＪＰＥＧファイルとして選択するものとする。
【０１４７】
次に、ＪＰＥＧヘッダを作成する（ステップＳ１９０３）。
【０１４８】
この処理では、ステップＳ１９０２において選択した処理対象ＪＰＥＧファイルから、ＳＯＩおよびＪＰＥＧヘッダをＳＤＲＡＭ１０６に読み込む。
【０１４９】
そして、処理対象ＪＰＥＧファイルがステップＳ１１０１において最初に選択されたファイルであった場合には主画像のＪＰＥＧヘッダを、それ以外の場合には副画像のＪＰＥＧヘッダを、それぞれ作成する。ここで、主画像のヘッダを作成する場合には、この時点では各副画像に対するオフセットがまだ不明であるために、副画像の数だけオフセット情報を書き込むための領域を確保して、オフセット情報自体には任意の情報（例えば、０）を記録しておく。
【０１５０】
また、この処理では、ＪＰＥＧ画像データへのオフセット情報も変更する。ここでは、処理対象ＪＰＥＧファイルに記録されていたオフセット情報から求まる処理対象ＪＰＥＧファイルにおけるＪＰＥＧ画像データの開始位置をｐ、クラスタサイズをｃ、ＳＯＩと作成したＪＰＥＧヘッダとの合計サイズをｓとした場合に、
ｐ≧ｃ×ｎ
を満たす最大の整数ｎと、
ｓ≦ｃ×ｍ
を満たす最小の整数ｍと、を求めて、
ｐ−ｃ×ｎ＋ｃ×ｍ
の演算により求められる位置を示すようなオフセット情報にする。
【０１５１】
このオフセット情報は、処理対象ＪＰＥＧファイルにおけるＪＰＥＧ画像データ以外の情報が記録されているクラスタをクラスタチェーンの先頭から全て開放して、ＳＯＩおよびマルチ画像ファイル用のＪＰＥＧヘッダを記録するためのクラスタをクラスタチェーンの先頭に追加してできるファイルにおける、ＪＰＥＧ画像データへのオフセット情報と同じである。そして、このようにしてオフセット情報を作成した場合には、ヘッダサイズなどの関係から、ＪＰＥＧヘッダとＪＰＥＧ画像データとの間に空白領域を含むことがある（ｐおよびｓが両方ともクラスタサイズの丁度整数倍となるような特別な場合を除いては、通常は空白領域が含まれることになる。）（なお、空白領域が含まれるマルチ画像ファイルの構成については、例えば図１７を参照）。
【０１５２】
次に、ＦＡＴを変更する（ステップＳ１９０４）。まず、ステップＳ１９０３において求めたｎを用いて、処理対象ＪＰＥＧファイルに対応するクラスタチェーンにおける先頭クラスタからｎクラスタまでを開放する。この開放は、開放したいクラスタ番号と同一のインデックス番号のＦＡＴにおける要素を０に変更することにより行われる。そして、ステップＳ１９０３において求めたｍを用いて、ｍ個の空きクラスタをクラスタチェーンの先頭に追加して、追加後のクラスタチェーンの先頭クラスタを記憶しておく。次に、ここまでの処理により作成されたクラスタチェーンを、処理対象ＪＰＥＧファイルがステップＳ１１０１において最初に選択されたＪＰＥＧファイル（つまり、主画像に対応するＪＰＥＧファイル）であった場合にはマルチ画像ファイルのクラスタチェーンとし、処理対象ＪＰＥＧファイルがステップＳ１１０１において２番目もしくはそれ以降に選択されたファイルであった場合にはマルチ画像ファイルのクラスタチェーンの末尾に追加する。
【０１５３】
続いて、ＳＤＲＡＭ１０６に記憶されているＳＯＩとＪＰＥＧヘッダ（ステップＳ１９０３において作成されたＪＰＥＧヘッダ）とを、ステップＳ１９０４において記憶した先頭クラスタの最初からｍクラスタを使用して記録する（ステップＳ１９０５）。
【０１５４】
そして、ステップＳ１９０４において記憶した先頭クラスタまでのオフセットを算出する（ステップＳ１９０６）。
【０１５５】
さらに、ステップＳ１１０１において選択されたＪＰＥＧファイルの中に未処理のＪＰＥＧファイルが存在するか否かを確認して（ステップＳ１９０７）、まだ未処理のＪＰＥＧファイルが存在する場合にはステップＳ１９０２に戻って未処理のＪＰＥＧファイルを処理対象ＪＰＥＧファイルとして選択してから上述したような処理を繰り返して行う。
【０１５６】
一方、ステップＳ１９０７において、未処理のＪＰＥＧファイルが存在しない場合には、ステップＳ１１０１において選択された全てのＪＰＥＧファイルの結合が完了していることになる。そこで、ステップＳ１９０６において各副画像に対応して算出した各オフセットを、その副画像に対するオフセット情報として主画像ＪＰＥＧヘッダに記録する（ステップＳ１９０８）。ここで、主画像ＪＰＥＧヘッダにおける副画像に対するオフセット情報を記録する領域は、上述したステップＳ１９０３において予め確保され任意の情報が記録されているために、この任意の情報に上書きしてオフセット情報が記録される。
【０１５７】
その後に、マイクロコンピュータ１１５は、上述したステップＳ１１０５の処理により、ディレクトリエントリ記録領域におけるディレクトリエントリの追加と削除とを行う。
【０１５８】
このような処理により作成されたマルチ画像ファイルは、上述したように、ＪＰＥＧファイルにおけるＪＰＥＧヘッダサイズや、主画像および副画像におけるＪＰＥＧヘッダサイズなどの関係から、空白領域を含む場合も含まない場合もある。
【０１５９】
このような実施形態４によれば、ＪＰＥＧファイルにおいてデータサイズの大部分を占めるＪＰＥＧ画像データをコピーも移動も行うことなく、複数のＪＰＥＧファイルを統合してマルチ画像ファイルを作成することができるために、極めて高速な処理を行うことが可能となる。また、ＪＰＥＧファイルにおけるＪＰＥＧヘッダが、例えば実施形態３の図１６に示したような空白領域を含むものである場合には、この空白領域を縮小することが可能となり、さらに、ＪＰＥＧファイルのＪＰＥＧヘッダサイズよりもマルチ画像ファイルにおいて該当するＪＰＥＧヘッダサイズをより小さくすることが可能となる場合があって、この場合には、上述した実施形態３よりも記録領域を有効に用いてマルチ画像ファイルのファイルサイズを小さくすることが可能となる。その他、本実施形態によれば、上述した実施形態１〜３とほぼ同様の効果を奏することができる。
【０１６０】
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。
【図面の簡単な説明】
【０１６１】
【図１】本発明の実施形態１において、画像ファイル編集装置の一例としてのデジタルカメラの構成を示すブロック図。
【図２】上記実施形態１において、デジタルカメラにおける画像ファイル記録時の処理を示すフローチャート。
【図３】上記実施形態１の図２のステップＳ２０３において作成する、ＪＰＥＧファイルのファイルフォーマットの例を示す図。
【図４】上記実施形態１において、記録媒体に構成されている、ファイルやファイルに記録されるデータを管理するためのファイルシステムの概要を示す図。
【図５】上記実施形態１の図４に示すようなファイルシステムにおいて、ファイルを記録媒体に書き込むときの処理を示すフローチャート。
【図６】上記実施形態１において、ＪＰＥＧファイルを構成するデータとこのデータが記録される各クラスタとの関係を示す図。
【図７】上記実施形態１の図６に示すクラスタ構成に該当するＦＡＴのデータを示す図。
【図８】上記実施形態１の図４に示すようなファイルシステムを用いて記録されたファイルからデータを読み込むときの処理を示すフローチャート。
【図９】上記実施形態１におけるマルチ画像ファイルのファイルフォーマットの例を示す図。
【図１０】上記実施形態１の図７に示したようなＦＡＴを備える図６に示したようなＪＰＥＧファイルを結合して作成されるマルチ画像ファイルのＦＡＴ構成を示す図。
【図１１】上記実施形態１においてマルチ画像ファイルを作成する処理を示すフローチャート。
【図１２】本発明の実施形態２におけるマルチ画像ファイルのファイルフォーマットの例を示す図。
【図１３】上記実施形態２においてマルチ画像ファイルを作成する処理を示すフローチャート。
【図１４】上記実施形態２において、ある副画像に対応するＪＰＥＧファイルと、このＪＰＥＧファイルが記録されているクラスタとの関係を示す図。
【図１５】上記実施形態２の図１４に示したＪＰＥＧファイルをマルチ画像ファイル内に副画像として組み込んだときのクラスタチェーンの様子を示す図。
【図１６】本発明の実施形態３におけるＪＰＥＧファイルのファイルフォーマットの例を示す図。
【図１７】上記実施形態３におけるマルチ画像ファイルのファイルフォーマットの例を示す図。
【図１８】上記実施形態３においてマルチ画像ファイルを作成する処理を示すフローチャート。
【図１９】本発明の実施形態４においてマルチ画像ファイルを作成する処理を示すフローチャート。
【符号の説明】
【０１６２】
１００…カメラ本体
１０１…レンズ
１０２…撮像素子
１０３…アナログ処理部
１０４…Ａ／Ｄ変換部
１０５…バス
１０６…ＳＤＲＡＭ
１０７…画像処理部
１０８…ＡＥ処理部
１０９…ＡＦ処理部
１１０…ＪＰＥＧ処理部
１１１…メモリＩ／Ｆ
１１２…記録媒体
１１３…ＬＣＤドライバ
１１４…ＬＣＤ
１１５…マイクロコンピュータ（ファイルアロケーションテーブル作成部、ディレクトリエントリ作成部、画像情報記録部）
１１６…操作部
１１７…フラッシュメモリ
【図１】
2010010809.tif 000003
【図２】
2010010809.tif 000004
【図３】
2010010809.tif 000005
【図４】
2010010809.tif 000006
【図５】
2010010809.tif 000007
【図６】
2010010809.tif 000008
【図７】
2010010809.tif 000009
【図８】
2010010809.tif 000010
【図９】
2010010809.tif 000011
【図１０】
2010010809.tif 000012
【図１１】
2010010809.tif 000013
【図１２】
2010010809.tif 000014
【図１３】
2010010809.tif 000015
【図１４】
2010010809.tif 000016
【図１５】
2010010809.tif 000017
【図１６】
2010010809.tif 000018
【図１７】
2010010809.tif 000019
【図１８】
2010010809.tif 000020
【図１９】
2010010809.tif 000021