(57)【特許請求の範囲】
【請求項１】
１つの主画像データと、複数の副画像データと、該複数の副画像データの各々の位置を示す副画像位置情報とを１つのファイルに含むマルチ画像ファイルの編集を行うマルチ画像ファイル編集方法において、
前記複数の副画像データから任意の第１の副画像データを削除し、
前記削除された第１の副画像データが記録されていた第１のデータ領域よりも後方の位置に記録された副画像データ群から単一又は複数の副画像データからなる第２の副画像データを選択し、
前記選択された第２の副画像データを前記第１のデータ領域にコピーし、
前記副画像位置情報に含まれる前記第２の副画像データの位置情報を、前記第２の副画像データがコピーされた後の位置を示すように修正し、
前記コピーした第２の副画像データが記録されていた第２のデータ領域の後方に記録されていた単一又は複数の副画像データからなる第３の副画像データを前方に詰めることで編集を行う、
ことを特徴とするマルチ画像ファイル編集方法。
【請求項２】
前記マルチ画像ファイルに含まれる画像データは、Ｅｘｉｆ規格に対応した画像データであることを特徴とする請求項１に記載のマルチ画像ファイル編集方法。
【請求項３】
前記第２の副画像データを選択する際、前記第２の副画像データの合計データサイズが前記第１のデータ領域のデータサイズに対して所定量以上近い組み合わせとなる単一又は複数の副画像データを前記マルチ画像ファイルの最後方から順次選択することを特徴とする請求項１又は２に記載のマルチ画像ファイル編集方法。
【請求項４】
前記第２の画像データを選択する際、さらに、前記第２の副画像データの合計データサイズが所定のデータサイズ以上の単一又は複数の副画像データを選択することを特徴とする請求項３に記載のマルチ画像ファイル編集方法。
【請求項５】
前記所定のデータサイズは、前記第１のデータ領域のデータサイズに基づいて決定されることを特徴とする請求項４に記載のマルチ画像ファイル編集方法。
【請求項６】
前記第１のデータ領域は、前記第１の副画像データが記録されていたデータ領域と、該第１の副画像データが記録されていたデータ領域に隣接する空き領域とを含むデータ領域であることを特徴とする請求項１乃至５の何れか１項に記載のマルチ画像ファイル編集方法。
【請求項７】
１つの主画像データと、複数の副画像データと、該複数の副画像データの各々の位置を示す副画像位置情報とを１つのファイルに含むマルチ画像ファイルの編集を行うためのマルチ画像ファイル編集プログラムにおいて、
前記複数の副画像データから任意の第１の副画像データを削除する機能と、
前記削除された第１の副画像データが記録されていた第１のデータ領域よりも後方の位置に記録された副画像データ群から単一又は複数の副画像データからなる第２の副画像データを選択する機能と、
前記選択された第２の副画像データを前記第１のデータ領域にコピーする機能と、
前記副画像位置情報に含まれる前記第２の副画像データの位置情報を、前記第２の副画像データがコピーされた後の位置を示すように修正する機能と、
前記コピーした第２の副画像データが記録されていた第２のデータ領域の後方に記録されていた単一又は複数の副画像データからなる第３の副画像データを前方に詰めることで編集を行う機能と、
をコンピュータに実行させるためのマルチ画像ファイル編集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像データが１つのファイルとして記録されたマルチ画像ファイルにおける画像データの編集方法及びプログラムに関する。
【背景技術】
【０００２】
デジタルカメラで得られる画像データを記録する主な手法として、撮影画像データをＪＰＥＧ方式で圧縮し、圧縮した撮影画像データにＥｘｉｆ形式に則したヘッダ情報を付加したＪＰＥＧ画像ファイルとして記録する手法がとられている。
【０００３】
また、特許文献１では、１つの画像ファイル内に複数の画像データを記録する手法が提案されている。この手法では複数の画像データを１つの画像ファイルとして扱えるため、ファイルの管理において利便性が向上することが考えられる。しかしながら、大量の画像データを記録した場合に、１つの画像ファイルのデータサイズが膨大になることが予想される。
【特許文献１】特開２００５−２５２７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１のような手法で生成された画像ファイル中の何れかの画像データを削除した後の処理として、その削除した画像データが記録されていた領域を空白領域とする方法が考えられる。しかしながら、画像データの記録効率を考慮すると、削除した画像データが記録されていた領域よりも後方の画像データを前方へ移動させることで、削除した画像データが記録されていたデータ領域を詰め、ファイルサイズを削減する処理をすることが望ましい。
【０００５】
この処理において、削除した画像データが記録されていた領域以後のデータ全体を、前方へ移動する操作を行った場合、特に大量の画像データが記録された画像ファイルにおいては大量のデータを移動させる必要がある場合があり、この操作に時間がかかる。この時間は、画像ファイルが記録されている記録媒体のアクセス速度が遅い場合に特に長くなる。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、複数の画像データが記録された画像ファイルにおいて、画像データの削除後に行われる画像データの移動を高速化できるマルチ画像ファイル編集方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の第１の態様のマルチ画像ファイル編集方法は、１つの主画像データと、複数の副画像データと、該複数の副画像データの各々の位置を示す副画像位置情報とを１つのファイルに含むマルチ画像ファイルの編集を行うマルチ画像ファイル編集方法において、前記複数の副画像データから任意の第１の副画像データを削除し、前記削除された第１の副画像データが記録されていた第１のデータ領域よりも後方の位置に記録された副画像データ群から単一又は複数の副画像データからなる第２の副画像データを選択し、前記選択された第２の副画像データを前記第１のデータ領域にコピーし、前記副画像位置情報に含まれる前記第２の副画像データの位置情報を、前記第２の副画像データがコピーされた後の位置を示すように修正し、前記コピーした第２の副画像データが記録されていた第２のデータ領域の後方に記録されていた単一又は複数の副画像データからなる第３の副画像データを前方に詰めることで編集を行うことを特徴とする。
【発明の効果】
【０００８】
本発明によると、複数の画像データが記録されたファイルにおいて、画像データの削除後にファイルサイズを削減するために行う、削除した画像データの記録されていた領域を詰める処理において、削除した画像データより後方に記録されている画像データの全てを移動させることが必ずしも必要ではない。したがって、データ移動の高速化が期待される。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施形態を詳細に説明する。但し、本発明の範囲は、以下に説明する実施形態に記載されている構成要素、種類、組み合わせ、形状、相対配置等のみに限定されるものではない。
【００１０】
［第１の実施形態］
まず、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態に係るデジタルスチルカメラのブロック図である。図１に示すデジタルスチルカメラは、レンズ１０１と、撮像素子１０２と、アナログ処理部１０３と、アナログ/デジタル（Ａ/Ｄ）変換部１０４と、バス１０５と、ＳＤＲＡＭ１０６と、画像処理部１０７と、ＡＥ処理部１０８と、ＡＦ処理部１０９と、ＪＰＥＧ処理部１１０と、メモリインターフェース（Ｉ/Ｆ）１１１と、記録媒体１１２と、ＬＣＤドライバ１１３と、ＬＣＤ１１４と、マイクロコンピュータ１１５と、操作部１１６と、Ｆｌａｓｈメモリ１１７とを有している。
【００１１】
レンズ１０１は、被写体の光学像を撮像素子１０２に集光させる。また、レンズ１０１の近傍には図示しない絞り機構及びメカシャッター機構が設けられている。マイクロコンピュータ１１５からの指示に応じて図示しない絞り機構を駆動させることで、被写体の光量を調節することが可能である。また、撮影時には、マイクロコンピュータ１１５からの指示に応じて図示しないメカシャッター機構を駆動させることで撮像素子１０２の露光時間を制御することが可能である。
【００１２】
撮像素子１０２は、ベイヤー配列のカラーフィルタが画素を構成するフォトダイオードの前面に配置された撮像素子である。ベイヤー配列は、水平方向にＲ画素とＧ（Ｇｒ）画素が交互に配置されたラインと、Ｇ（Ｇｂ）画素とＢ画素が交互に配置されたラインとを有し、さらにその２つのラインを垂直方向にも交互に配置することで構成されている。この撮像素子１０２は、レンズ１０１により集光された光を、画素を構成するフォトダイオードで受光して光電変換することで、光の量を電荷量としてアナログ処理部１０３へ出力する。なお、撮像素子１０２はＣＭＯＳ方式でもＣＣＤ方式でも良い。
【００１３】
アナログ処理部１０３は、撮像素子１０２から読み出された電気信号（アナログ画像信号）に対し、リセットノイズ等を低減した上で波形整形を行い、さらに目的の明るさとなるようゲインアップを行う。Ａ/Ｄ変換部１０４は、アナログ処理部１０３から出力されるアナログ画像信号をデジタル画像信号（以降、画像データという）に変換する。
【００１４】
バス１０５は、デジタルカメラ内部で発生した各種データをデジタルカメラ内の各部に転送するための転送路である。バス１０５は、Ａ/Ｄ変換部１０４と、ＳＤＲＡＭ１０６と、画像処理部１０７と、ＡＥ処理部１０８と、ＡＦ処理部１０９と、ＪＰＥＧ処理部１１０と、メモリＩ/Ｆ１１１と、ＬＣＤドライバ１１３と、マイクロコンピュータ１１５とに接続されている。
【００１５】
Ａ/Ｄ変換部１０４で得られた画像データは、バス１０５を介して一旦ＳＤＲＡＭ１０６に記憶される。ＳＤＲＡＭ１０６は、Ａ/Ｄ変換部１０４において得られた画像データや、画像処理部１０７、ＪＰＥＧ処理部１１０において処理された画像データ等の各種データが一時的に記憶される記憶部である。
【００１６】
画像処理部１０７は、ホワイトバランス補正部、色変換処理部、色再現処理部、ノイズ低減処理部等を含む。この画像処理部１０７は、ＳＤＲＡＭ１０６から読み出した画像データに対し、ホワイトバランス補正処理、色変換処理及び色再現処理、ノイズ低減処理等の画像処理を施す。ここで、画像処理部１０７で画像処理が行われた後の画像データは、ベイヤー配列による画像データから、１画素あたりＲＧＢの情報からなる画像データへ同時化され、同時化された画像データはＳＤＲＡＭ１０６に記憶される。
【００１７】
ＡＥ処理部１０８は、画像データを用いて被写体輝度を算出する。被写体輝度を算出するためのデータは、専用の測光センサの出力であってもよい。ＡＦ処理部１０９は、画像データから高周波成分の信号を取り出しＡＦ（Auto Focus）積算処理により合焦評価値を取得する。
【００１８】
ＪＰＥＧ処理部１１０は、画像データの記録時には、ＳＤＲＡＭ１０６からＲＧＢの画像データを読み出し、読み出した画像データをＪＰＥＧ圧縮方式に従って圧縮する。さらに、ＪＰＥＧ処理部１１０は、圧縮されて得られたＪＰＥＧ画像データを管理するためのＪＰＥＧヘッダを作成する。作成されたＪＰＥＧヘッダとＪＰＥＧ画像データとは、ＳＤＲＡＭ１０６に一旦記憶される。マイクロコンピュータ１１５は、ＳＤＲＡＭ１０６に記憶されたＪＰＥＧヘッダとＪＰＥＧ画像データとを読み出し、読み出したＪＰＥＧヘッダに、記録するファイル形式に従った情報を付加して画像ファイルを作成し、作成した画像ファイルをメモリＩ/Ｆ１１１を介して記録媒体１１２に記録する。ここで、詳細は後述するが、本実施形態においては、１つの画像ファイル内に複数のＪＰＥＧヘッダとＪＰＥＧ画像データとを有するデータを記録することも可能になされている。以降、このような複数のＪＰＥＧヘッダ及びＪＰＥＧ画像データを構成要素として有する画像ファイルをマルチ画像ファイルという。また、記録媒体１１２は、例えばカメラ本体に着脱可能なメモリカードからなる記録媒体であるが、これに限定されるものではない。
【００１９】
ＬＣＤドライバ１１３は、ＬＣＤ１１４に画像を表示させる。記録媒体１１２に記録された画像ファイルを再生する場合には、ＪＰＥＧ処理部１１０は、記録媒体１１２に記録されている画像ファイル内のＪＰＥＧ画像データを読み出して伸張処理を施した上で、伸張した画像データを一旦ＳＤＲＡＭ１０６に記憶させる。ＬＣＤドライバ１１３は、その画像データをＳＤＲＡＭ１０６から読み出し、読み出した画像データを映像信号へ変換した後でＬＣＤ１１４へ出力し、画像の表示を行う。
【００２０】
マイクロコンピュータ１１５は、デジタルカメラ本体の各種シーケンスを統括的に制御する。このマイクロコンピュータ１１５には、操作部１１６、Ｆｌａｓｈメモリ１１７が接続されている。
【００２１】
操作部１１６は、電源ボタン、レリーズボタン、各種入力キー等の操作部材である。ユーザにより操作部１１６の何れかの操作部材が操作されることにより、マイクロコンピュータ１１５は、ユーザの操作に応じた各種シーケンスを実行する。電源ボタンは、当該デジタルカメラの電源のオンオフ指示を行うための操作部材である。電源ボタンが押されたときに、マイクロコンピュータ１１５は、当該デジタルカメラの電源をオン又はオフする。レリーズボタンは、１ｓｔレリーズスイッチと２ｎｄレリーズスイッチの２段スイッチを有して構成されている。レリーズボタンが半押しされて１ｓｔレリーズスイッチがオンされた場合に、マイクロコンピュータ１１５は、ＡＥ処理やＡＦ処理等の撮影準備シーケンスを行う。また、レリーズボタンが全押しされて２ｎｄレリーズスイッチがオンされた場合に、マイクロコンピュータ１１５は撮影シーケンスを実行して撮影を行う。
【００２２】
Ｆｌａｓｈメモリ１１７は、ホワイトバランス補正値やローパスフィルタ係数等のデジタルカメラの動作に必要な各種パラメータを記憶している。また、Ｆｌａｓｈメモリ１１７は、詳細は後述するマルチ画像ファイルの編集プログラム等の、マイクロコンピュータ１１５にて実行する各種プログラムも記憶している。マイクロコンピュータ１１５は、Ｆｌａｓｈメモリ１１７に記憶されているプログラムに従い、またＦｌａｓｈメモリ１１７から各種シーケンスに必要なパラメータを読み込み、各処理を実行する。
【００２３】
図２は、第１の実施形態に係るデジタルカメラにおける画像ファイル記録時の処理を示すフローチャートである。ここで、図２においては、特にマルチ画像ファイルの記録時の処理を示している。
【００２４】
画像ファイルの記録に先立って、マイクロコンピュータ１１５は、撮影を行う（ステップＳ２０１）。ステップＳ２０１の撮影の処理は従来の処理と基本的には変わらないため、ここでは簡単に説明する。ステップＳ２０１において、ユーザによって操作部１１６のレリーズボタンが半押しされると、マイクロコンピュータ１１５は、ＡＦ処理及びＡＥ処理を実行する。ＡＦ処理において、マイクロコンピュータ１１５は、撮像素子１０２より取り込まれた画像データに基づいてＡＦ処理部１０９で算出される合焦評価値から、撮像素子１０２に集光される被写体の像が最も鮮明になるようにレンズ１０１のフォーカスを調整する。また、ＡＥ処理において、マイクロコンピュータ１１５は、撮像素子１０２より取り込まれた画像データに基づいてＡＥ処理部１０８で算出される被写体輝度と、予めＦｌａｓｈメモリ１１７に記憶された絞り値・シャッター速決定テーブルとに基づき、絞り値とシャッター速を算出する。ＡＦ処理及びＡＥ処理の後、ユーザによってレリーズボタンが全押しされると、マイクロコンピュータ１１５は、算出した絞り値とシャッター速を用いて図示しない絞り機構とメカシャッター機構を制御しつつ、撮影を行う。
【００２５】
撮影の後、マイクロコンピュータ１１５は、撮像素子１０２より取り込まれた画像データを画像処理部１０７及びＪＰＥＧ処理部１１０で処理し、ＪＰＥＧ画像データとＥｘｉｆ規格に準拠したＪＰＥＧヘッダを作成することで、記録用の画像データを作成し、作成した記録用の画像データをＳＤＲＡＭ１０６に記憶させる（ステップＳ２０２）。ここで、ステップＳ２０２で作成される記録用の画像データは、ホワイトバランスブラケット機能によって作成される画像データや連写機能により作成される画像データ等の複数の画像データである。ホワイトバランスブラケット機能は、１回の撮影により得られた画像データに対して異なる複数のホワイトバランス補正値に基づいてホワイトバランス補正処理を行うことで、ホワイトバランスの異なる複数の画像データを得る機能である。また、連写機能は、１回の撮影操作に対して複数回の撮影を行って複数の画像データを得る機能である。
【００２６】
記録用の画像データの作成後、マイクロコンピュータ１１５は、ステップＳ２０２で作成された複数の記録用の画像データの中の任意の１つを主画像データ、それ以外を副画像データとしてマルチ画像ファイルを作成する（ステップＳ２０３）。
【００２７】
図３は、マルチ画像ファイルのファイルフォーマットの例を示す図である。図３に示すファイルフォーマットでは、マルチ画像ファイルに記録される主画像データと副画像データは何れも、ＳＯＩ（Start Of Image）から始まり、ＥＯＩ（End Of Image）で終端する。そして、ＳＯＩとＥＯＩとの間には、画像データに関する情報がＥｘｉｆ規格に準拠した形で記録されたＪＰＥＧヘッダと、ＪＰＥＧ画像データとが順次記録される。即ち、マルチ画像ファイルは、ＪＰＥＧ画像ファイルの集合と考えることもできる。
【００２８】
また、図３に示すフォーマットでは、マルチ画像ファイルの最初に主画像データを記録し、主画像データの後に副画像データを記録する。ここでは、例えば最初に生成された記録用の画像データを主画像データとする。主画像データのＪＰＥＧヘッダには、同じファイル内に記録されている各副画像データに対するオフセット情報をさらに記録する。副画像位置情報としてのオフセット情報は、例えば、主画像データ中のある基準位置（例えば先頭位置）から各副画像データのＳＯＩまでの距離（例えばバイト数）を示す情報である。このオフセット情報の記録されている数が、マルチ画像ファイルに記録されている副画像データの数となる。このようなオフセット情報を主画像データのＪＰＥＧヘッダに記録しておくことで、任意の副画像データへアクセスすることが可能となる。
【００２９】
図３に示すようなマルチ画像ファイルの作成後、マイクロコンピュータ１１５は、作成したマルチ画像ファイルを、メモリＩ/Ｆ１１１を介して記録媒体１１２に記録する（ステップＳ２０４）。
【００３０】
図４は、図３の処理に従って作成されたマルチ画像ファイルにおいて、任意の副画像データ（第１の副画像データ）を削除する際の処理の手順を示すフローチャートである。この処理は、Ｆｌａｓｈメモリ１１７に記憶されているマルチ画像ファイル編集プログラムに従って行われる。
【００３１】
ユーザによって、任意の副画像データが削除対象として選択された場合に、マイクロコンピュータ１１５は、その選択された副画像データにアクセスするためのオフセット情報を、主画像データのＪＰＥＧヘッダから削除する（ステップＳ４０１）。この処理により、削除対象として選択された副画像を表示することはできなくなる。この時点では、削除対象として選択された副画像データはファイルに存在しているが、主画像データのＪＰＥＧヘッダからはアクセスできなくなる。したがって、削除対象として選択された副画像データが記録されている領域は空白領域とみなされる。
【００３２】
次に、マイクロコンピュータ１１５は、削除対象の副画像データが記録されている領域をコピー先領域とし、このコピー先領域のデータサイズを算出する（ステップＳ４０２）。このとき、コピー先領域として、削除対象の副画像データが記録されている領域と隣接する空白領域を含めても良い。
【００３３】
その後、マイクロコンピュータ１１５は、算出したコピー先領域のデータサイズ以下で、且つ算出したコピー先領域のデータサイズの８０％以上のデータサイズを有する副画像データを、コピー先領域の後方に記録されている副画像データの中から検索し、条件に合致する副画像データの中で最も後方に記録されている１つの副画像データをコピー先領域にコピーする副画像データ（第２の副画像データ）として選択する（ステップＳ４０３）。ここで、８０％以上としたのはファイルの使用効率を考慮した下限値であり、この割合に限定されるものではない。ファイルの使用効率の面ではコピー先領域のデータサイズに近い副画像データを選択できるように下限値を大きく（１００％に近く）することが望ましく、後述の副画像データの移動量を少なくするという面では下限値を小さくすることが望ましい。ステップＳ４０３の条件を満たす副画像データが見つからなかった場合には検索結果は該当無しとする。また、削除対象の副画像データがファイルの末尾に記録されていた場合も検索結果は該当無しとする。
【００３４】
ステップＳ４０３の検索の後、マイクロコンピュータ１１５は、コピーする副画像データが検索できたかどうかを判定する（ステップＳ４０４）。ステップＳ４０４の判定において、コピーする副画像データを検索できた場合にはステップＳ４０５の処理を行う。一方、ステップＳ４０４の判定において、コピーする副画像データを検索できなかった場合にはステップＳ４０８の処理を行う。
【００３５】
ステップＳ４０４の判定において、コピーする副画像データを検索できた場合に、マイクロコンピュータ１１５は、ステップＳ４０３で検索した副画像データを、コピー先領域の先頭へコピーする（ステップＳ４０５）。その後、マイクロコンピュータ１１５は、コピーした副画像データに対するオフセット情報を、コピー先の位置を示すように修正する（ステップＳ４０６）。そして、マイクロコンピュータ１１５は、コピーした副画像データが記録されていた領域を新たなコピー先領域として、このコピー先領域のデータサイズを算出する（ステップＳ４０７）。このとき、コピー先領域として、コピーした副画像データが記録されていた領域と隣接する空白領域を含めても良い。その後、処理がステップＳ４０３へ戻る。これにより、コピーする副画像データが検索できなくなるまで、ステップＳ４０３〜ステップＳ４０７の処理が繰り返されることになる。
【００３６】
また、ステップＳ４０４の判定において、コピーする副画像データを検索できなかった場合に、マイクロコンピュータ１１５は、最後にコピーした副画像データが記録されていた領域をコピー元領域として、このコピー元領域のデータサイズを算出する。そして、マイクロコンピュータ１１５は、コピー元領域よりも後方に記録されている全ての副画像データ（第３の副画像データ）を、そのコピー元領域のデータサイズ分、ファイルの前方へ移動させ、ファイルサイズを小さくする処理を行う（ステップＳ４０８）。ここで、コピー元領域より後方に副画像データが記録されていない場合、即ち最後にコピーした副画像データがファイルの末尾に記録されていた場合には、その副画像データのコピー元領域分、ファイルサイズを小さくする。
【００３７】
ここで、図４の例では、副画像データのコピーを繰り返し行う例を示しているが、図４の破線のように、ステップＳ４０７の処理の後、ステップＳ４０３の処理を行わずに、ステップＳ４０８の処理を行うようにしても良い。
【００３８】
図５は、図４の処理に従った副画像データの削除処理の具体例を示す図である。ここで、図５は、主画像データと４つの副画像データ（副画像データ１、副画像データ２、副画像データ３、副画像データ４）が記録されたマルチ画像ファイルにおいて、副画像データ１を削除する場合について例示している。
【００３９】
副画像データ１が削除対象として選択された場合、マイクロコンピュータ１１５は、まず副画像データ１についてのオフセット情報を削除する。続いて、マイクロコンピュータ１１５は、副画像データ１が記録されている領域をコピー先領域とし、このコピー先領域のデータサイズ（ＳＯＩ＋ＪＰＥＧヘッダ＋ＪＰＥＧ画像データ＋ＥＯＩ＋空白領域）を算出する。ここで、図５の例では、副画像データ１に隣接している空白領域を副画像データ１が記録されている領域に含めるようにしている。
【００４０】
コピー先領域のデータサイズの算出後、マイクロコンピュータ１１５は、コピー先領域のデータサイズ以下で、且つコピー先領域のデータサイズの８０％以上のデータサイズを有する副画像データを検索する。図５の例では、この条件に合致する副画像データは副画像データ３のみである。検索の終了後、マイクロコンピュータ１１５は、検索した副画像データをコピー先領域にコピーする。そして、マイクロコンピュータ１１５は、副画像データ３についてのオフセット情報を、新たな副画像データ３の位置を示すように修正する。その後、マイクロコンピュータ１１５は、副画像データ３が記録されていた領域をコピー元領域として、このコピー元領域のデータサイズ分、副画像データ４を前方に移動させる。このような処理によってマルチ画像ファイルのファイルサイズを削減しつつ、副画像データの移動処理も副画像データ４のみで済む。
【００４１】
なお、図５の例では、コピー先領域のデータサイズの算出の際に、空白領域も含めるようにしているが、空白領域を含めないようにしても良い。この場合には、副画像データ３のデータ領域のデータサイズがコピー先領域のデータサイズよりも大きくなるため、副画像データ３をコピーすることができなくなる。したがって、この場合には、副画像データ２以降の全ての副画像データを副画像データ１のデータサイズ分、前方へ移動させる必要が生じる。
【００４２】
以上説明したように、第１の実施形態では、マルチ画像ファイル中の副画像データの削除後に、ファイルサイズを削減するために行う、削除した副画像データの記録されていた領域を詰める処理において、移動させるデータ量を削減できる。これによって、高速に処理することができる。即ち、本実施形態では、削除した副画像データの記録されていた領域に別の副画像データをコピーすることにより、移動させるべき副画像データを可能な限りファイルの後方とすることが可能である。
【００４３】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。本発明の第２の実施形態においては、第１の実施形態同様に、デジタルカメラが図１に示すブロックから構成されている。そして、撮影時には図６に示す処理が行われる。図６において、図２と同じステップの処理については同一の処理のため、説明を省略する。即ち、ステップＳ２０１の撮影の処理は図２と同様である。
【００４４】
撮影の終了後、マイクロコンピュータ１１５は、記録用の画像データを作成する必要があるか否かを判定する（ステップＳ５０２）。例えば、連写機能による撮影によって複数の画像データが得られている場合には、一連の画像データの中で記録用の画像データが作成されていないものがあるかどうかを判定する。また、ホワイトバランスブラケット機能での撮影時には、全てのパラメータでホワイトバランス補正処理を行い、それぞれの処理後の画像データに基づいて記録用の画像データを作成したかどうかを判定する。
【００４５】
ステップＳ５０２の判定において、記録用の画像データを作成する必要がある場合に、マイクロコンピュータ１１５は、記録用の画像データの作成の必要がある画像データを画像処理部１０７とＪＰＥＧ処理部１１０で処理してＪＰＥＧ画像データとＪＰＥＧヘッダを作成し、１つの記録用の画像データを作成する（ステップＳ５０３）。その後、マイクロコンピュータ１１５は、作成した１つの記録用の画像データを、ＳＤＲＡＭ１０６に記憶させる（ステップＳ５０４）。
【００４６】
１つの記録用の画像データを、ＳＤＲＡＭ１０６に記憶させた後、マイクロコンピュータ１１５は、ＳＤＲＡＭ１０６に記憶させた記録用の画像データをマルチ画像ファイルに記録するか否かを判定する（ステップＳ５０５）。ここでの判定は、ＳＤＲＡＭ１０６内の予め記録用の画像データ用として設けられた予約領域に十分な空き領域が無いかを判定する。十分な空き容量が無い場合には、次に作成される記録用の画像データをＳＤＲＡＭ１０６に記憶させておくことができないので、それまでにＳＤＲＡＭ１０６に記憶されている記録用の画像データを記録媒体１１２に記録するようにする。
【００４７】
ステップＳ５０５の判定において、ＳＤＲＡＭ１０６に記憶させた記録用の画像データをマルチ画像ファイルに記録する場合に、マイクロコンピュータ１１５は、ＳＤＲＡＭ１０６に記憶されている記録用の画像データをマルチ画像ファイルの形式で記録媒体１１２に記録するとともに、記録した記録用の画像データをＳＤＲＡＭ１０６から消去する（ステップＳ５０６）。その後に、マイクロコンピュータ１１５は、ステップＳ５０２の処理を再び行う。
【００４８】
また、ステップＳ５０２の判定において、記録用の画像データの作成が必要ない場合に、マイクロコンピュータ１１５は、ＳＤＲＡＭ１０６に記憶させた記録用の画像データをマルチ画像ファイルに記録する必要があるか否かを判定する（ステップＳ５０７）。ここでの判定は、ＳＤＲＡＭ１０６内にまだ記録用の画像データが残っているかどうかを判定する。ステップＳ５０７の判定において、ＳＤＲＡＭ１０６に記憶させた記録用の画像データをマルチ画像ファイルに記録する必要がある場合に、マイクロコンピュータ１１５は、ＳＤＲＡＭ１０６に記憶されている記録用の画像データをマルチ画像ファイルの形式で記録媒体１１２に追記するとともに、記録した記録用の画像データをＳＤＲＡＭ１０６から消去する（ステップＳ５０８）。その後に、マイクロコンピュータ１１５は、図６の処理を終了させる。一方、ステップＳ５０７の判定において、ＳＤＲＡＭ１０６に記憶させた記録用の画像データをマルチ画像ファイルに記録する必要がない場合に、マイクロコンピュータ１１５は、ステップＳ５０８の処理をスキップして図６の処理を終了させる。
【００４９】
ここで、ステップＳ５０６においては、初回記録時、即ちマルチ画像ファイル形式のファイルを生成する時のみ、ＳＤＲＡＭ１０６に記憶された最初の記録用の画像データを主画像データとし、それ以後に得られた記録用の画像データを副画像データとして記録を行う。２回目以後は、生成されたマルチ画像ファイルに、ＳＤＲＡＭ１０６に記憶された記録用の画像データを副画像データとして順次追加記録する。
【００５０】
また、第２の実施形態においては、記録する副画像データが複数ある場合には、データサイズの大きい順に記録する。例えば、連写により得られた６枚の画像を記録する処理において、ＳＤＲＡＭ１０６における記録用の画像データ用の予約領域が４枚分である場合は、まず、撮影順に従って４枚の記録用の画像データを作成し、最初に作成した記録用の画像データを主画像データ、その後の３枚の記録用の画像データを副画像データとしてマルチ画像ファイルを作成する。このとき、３枚の副画像データはデータサイズの大きい順に記録する。そして、ＳＤＲＡＭ１０６から、記録した４枚の記録用の画像データを消去し、撮影順に従って残りの２枚の記録用の画像データを作成する。その後、２枚の記録用の画像データを副画像データとして、マルチ画像ファイルに追記する。このとき、追記する２枚の副画像データもデータサイズの大きい順に記録する。ここで、マルチ画像ファイルに副画像データを記録する際には、それぞれの副画像データについてのオフセット情報を、主画像データのＪＰＥＧヘッダに記録しておくが、第２の実施形態においては、オフセット情報を撮影順に従って並べるようにする。
【００５１】
以上のようにしてマルチ画像ファイルを作成することによって、図７に示すようなマルチ画像ファイルが記録媒体１１２に記録される。図７に示すように、第２の実施形態では、撮影順、ここでは主画像データ、副画像データ１、副画像データ２、副画像データ３、副画像データ４、副画像データ５の順で、それぞれの副画像データについてのオフセット情報が主画像データのＪＰＥＧヘッダに記録される。一方、それぞれの副画像データは、データサイズが大きい順に記録される。
【００５２】
例えば、副画像データ１のデータサイズ＞副画像データ３のデータサイズ＞副画像データ２のデータサイズ、及び副画像データ４のデータサイズ＞副画像データ５のデータサイズのような大小関係の場合には、図７に示すように、副画像データ１、副画像データ３、副画像データ２、副画像データ４、副画像データ５の順で各副画像データが記録されることになる。仮に、ＳＤＲＡＭ１０６における記録用の画像データ用の予約領域が６枚分であり、且つ副画像データ３のデータサイズ＝副画像データ４のデータサイズ、副画像データ２のデータサイズ＝副画像データ５のデータサイズであった場合には、副画像データ１、副画像データ３、副画像データ４、副画像データ２、副画像データ５の順で各副画像データが記録されることになる。
【００５３】
図８は、図６の処理に従って作成されたマルチ画像ファイルにおいて、任意の副画像データ（第１の副画像データ）を削除する際の処理の手順を示すフローチャートである。８に、第２の実施形態における削除処理を示す。ここで、図８において、図４と同じ処理については図４と同じステップ番号を付すことで説明を省略する。
【００５４】
まず、ステップＳ４０１及びステップＳ４０２の処理は図４と同様である。ステップＳ４０２において、コピー先領域のデータサイズを算出した後、マイクロコンピュータ１１５は、合計サイズが、ステップＳ４０２で算出したコピー先領域のサイズ以下で、かつ、算出したコピー先領域のサイズの８０％以上となる、コピー先領域以後に記録されている１つ以上の副画像データの組み合わせ（第２の副画像データ）を、マルチ画像ファイルの後方から検索する（ステップＳ７０３）。ここで、８０％以上としたのはファイルの使用効率を考慮した下限値であり、この割合に限定されるものではない。ステップＳ７０３の判定において、条件を満たす１つ以上の副画像データの組み合わせが見つからなかった場合、検索結果は該当無しとする。また、削除対象の副画像データがファイルの末尾に記録されていた場合も、検索結果は該当無しとする。
【００５５】
ここで、ステップＳ７０３の処理について具体的に説明する。なお、図７に示すようなマルチ画像ファイルにおいて、図７における長方形の面積とファイルに記録されているデータサイズは比例していると仮定する。ここでは、例として、副画像データ１のデータサイズを１００％としたときに、副画像データ２と副画像データ５とが副画像データ１の４５％のデータサイズを有し、副画像データ３と副画像データ４とが副画像データ１の７０％のデータサイズを有しているとする。
【００５６】
このような状態で副画像データ１を削除する処理を行った場合、副画像データ１のデータサイズの４５％のデータサイズである副画像データ５や副画像データ１のデータサイズの７０％のデータサイズである副画像データ４は下限値８０％を下回っているので単体では選択されない。また、マルチ画像ファイルの後方に記録されている副画像データ４と副画像データ５の組み合わせは合計のデータサイズが副画像データ１のデータサイズを超えてしまうので選択されない。結果、合計のデータサイズが副画像データ１のデータサイズの９０％となる副画像データ２と副画像データ５が選択される。
【００５７】
ステップＳ７０３の検索の後、マイクロコンピュータ１１５は、コピーする副画像データが検索できたかどうかを判定する（ステップＳ４０４）。ステップＳ４０４の判定において、コピーする副画像データを検索できた場合に、マイクロコンピュータ１１５は、ステップＳ７０３で検索した副画像データを、コピー先領域の先頭へコピーする（ステップＳ４０５）。その後、マイクロコンピュータ１１５は、コピーした副画像データに対するオフセット情報を、コピー先の位置を示すように修正する（ステップＳ４０６）。そして、マイクロコンピュータ１１５は、ステップＳ４０５でコピー元となった、即ちステップＳ７０３で選択された副画像データのコピー元の領域を詰める処理を行う（ステップＳ７０７）。この処理は、コピー元の領域の最も先頭の位置以後の全ての副画像データがコピー元の領域の最も先頭の位置から隙間無く記録されるように、コピー元領域以後の各副画像データを移動させる処理である。
【００５８】
また、ステップＳ４０４の判定において、コピーする副画像データを検索できなかった場合に、マイクロコンピュータ１１５は、コピー先領域よりも後方に記録されている全ての副画像データ（第３の副画像データ）を、そのコピー先領域のデータサイズ分、ファイルの前方へ移動させ、ファイルサイズを小さくする処理を行う（ステップＳ７０８）。
【００５９】
図９は、図８の処理に従った副画像データの削除処理の具体例を示す図である。ここで、図９は、主画像データと５つの副画像データ（副画像データ１、副画像データ２、副画像データ３、副画像データ４、副画像データ５）が記録されたマルチ画像ファイルにおいて、副画像データ１を削除する場合について示している。
【００６０】
副画像データ１が削除対象として選択された場合、マイクロコンピュータ１１５は、まず副画像データ１についてのオフセット情報を削除する。続いて、マイクロコンピュータ１１５は、副画像データ１が記録されている領域をコピー先領域とし、このコピー先領域のデータサイズ（ＳＯＩ＋ＪＰＥＧヘッダ＋ＪＰＥＧ画像データ＋ＥＯＩ）を算出する。ここで、図９の例においても、副画像データ１に空白領域が隣接している場合には空白領域を副画像データ１が記録されている領域に含めるようにして良い。
【００６１】
コピー先領域のデータサイズの算出後、マイクロコンピュータ１１５は、コピー先領域のデータサイズ以下で、且つコピー先領域のデータサイズの８０％以上のデータサイズを有する副画像データの組み合わせを検索する。図９の例では、この条件に合致する副画像データは副画像データ２と副画像データ５の組み合わせである。検索の終了後、マイクロコンピュータ１１５は、検索した副画像データの全てをコピー先領域にコピーする。そして、マイクロコンピュータ１１５は、副画像データ２及び副画像データ５についてのオフセット情報を、新たな副画像データ２及び副画像データ５の位置を示すように修正する。その後、マイクロコンピュータ１１５は、副画像データ２が記録されていた領域をコピー元領域として、このコピー元領域のデータサイズ分、副画像データ４を前方に移動させる。このような処理によってマルチ画像ファイルのファイルサイズを削減しつつ、副画像データの移動処理も副画像データ４のみで済む。
【００６２】
以上説明した第２の実施形態の処理により、データサイズの小さな副画像データが可能な限りファイルの後方に記録されるようにすることで、副画像データを削除して後方のデータを前方に詰める処理を行うときに、より後方の画像データをコピー先領域にコピーする可能性が向上し、より高速にファイルサイズを小さくする処理を行える。また、１つの副画像データのみをコピーするのではなく、複数の副画像データをコピーすることも可能なため、１つの副画像データのみをコピーする第１の実施形態に比べ、マルチ画像ファイルにおける画像データの記録効率を向上させることが可能になる。
【００６３】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【００６４】
さらに、前記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【図面の簡単な説明】
【００６５】
【図１】本発明の第１の実施形態に係るデジタルスチルカメラのブロック図である。
【図２】第１の実施形態に係るデジタルカメラにおける画像ファイル記録時の処理を示すフローチャートである。
【図３】マルチ画像ファイルのファイルフォーマットの例を示す図である。
【図４】図３の処理に従って作成されたマルチ画像ファイルにおいて、任意の副画像データを削除する際の処理の手順を示すフローチャートである。
【図５】図４の処理に従った副画像データの削除処理の具体例を示す図である。
【図６】第２の実施形態に係るデジタルカメラにおける画像ファイル記録時の処理を示すフローチャートである。
【図７】図６の処理に従って作成されるマルチ画像ファイルを示す図である。
【図８】図６の処理に従って作成されたマルチ画像ファイルにおいて、任意の副画像データを削除する際の処理の手順を示すフローチャートである。
【図９】図８の処理に従った副画像データの削除処理の具体例を示す図である。
【符号の説明】
【００６６】
１０１…レンズ、１０２…撮像素子、１０３…アナログ処理部、１０４…アナログ/デジタル（Ａ/Ｄ）変換部、１０５…バス、１０６…ＳＤＲＡＭ、１０７…画像処理部、１０８…ＡＥ処理部、１０９…ＡＦ処理部、１１０…ＪＰＥＧ処理部、１１１…メモリインターフェース（Ｉ/Ｆ）、１１２…記録媒体、１１３…ＬＣＤドライバ、１１４…ＬＣＤ、１１５…マイクロコンピュータ、１１６…操作部、１１７…Ｆｌａｓｈメモリ
【図１】
0004918513.tif 000002
【図２】
0004918513.tif 000003
【図３】
0004918513.tif 000004
【図４】
0004918513.tif 000005
【図５】
0004918513.tif 000006
【図６】
0004918513.tif 000007
【図７】
0004918513.tif 000008
【図８】
0004918513.tif 000009
【図９】
0004918513.tif 000010