以下、本発明の実施例を、図面を用いて詳細に説明する。なお、本発明の実施例に係る画像処理装置として、撮像装置の例を用いて説明する。しかしながら画像処理装置は、パーソナルコンピュータ等の汎用の画像処理装置(以下、PCとする)、デジタルカメラ、デジタルムービーカメラなどを含む。また、携帯電話、スマートフォン、いわゆるタブレット端末、カーナビゲーション装置など、画像ファイル一覧を表示可能な装置であればいずれにも適用可能であり、本発明の画像処理装置はそれらの製品形態を含む。
図1は、本実施例の画像処理装置の一例としての撮像装置100の機能構成を示すブロック図である。制御部101はコンピュータとしてのCPU(中央演算処理装置)を備え、撮像装置全体を制御する制御手段として機能している。
制御部101は、撮像装置100が備える各構成部を動作させるためのコンピュータプログラムを記憶媒体としてのROM(リード・オンリ・メモリ)102から読み出し、RAM(ランダム・アクセス・メモリ)103に展開して実行する。ROM102は書き換え可能な不揮発性メモリであり、CPUが実行する動作プログラムに加え、撮像装置100が備える各構成部の動作に必要なパラメータ等を記憶する。RAM103は書き換え可能な揮発性メモリであり、撮像装置100が備える各構成部の動作において出力されたデータの一時的な記憶領域として用いられる。
撮像光学系104はレンズや絞り及びそれらの光学部材を駆動する駆動部等を備え、被写体からの光を撮像部105に結像させる。撮像部105はCCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal-Oxide Semiconductor)イメージセンサ等の撮像素子を備える。撮像素子は、撮像光学系104により結像された光学像に対して光電変換を行い、アナログ画像信号を形成し、撮影画像を生成するための撮像手段として機能する。前記アナログ画像信号は撮像部105のA/D(アナログ/デジタル)変換部によりA/D変換されてデジタル画像データとなりRAM103に記憶される。なお、本実施例では撮像手段を画像処理装置内に有するが画像処理装置は撮像手段を持たないものであっても良い。
画像処理部107は、RAM103に記憶されている画像データに対して、ホワイトバランス調整、色補間、縮小/拡大、フィルタリング等の様々な画像処理を適用する。記録媒体108は、撮像装置100に着脱可能なメモリカード等であり、RAM103に記憶されている画像データを記録するための記録部として機能する。ここで制御部101は、記録媒体108に撮影画像または前記合成画像を記録画像として記録する記録制御手段としても機能している。画像処理部107で処理された画像データや、撮像部105によるA/D変換後の画像データ等が、記録画像データとして記録媒体108に記録される。また画像処理部107は、撮像部105による撮影時に予め設定された撮影モードに基づいた方法で、該撮影で得られ撮像部105から出力された複数の画像データを合成処理する。
例えば、操作部111によってユーザから設定された撮影モードを示す信号や撮像時に制御部101によって画像から判定された撮影シーンに基づいて決まった撮影モードに従って、制御部101は画像処理部107に指示を出す。それによって撮影モードに応じた合成処理を行われる。さらに制御部101はこのとき撮影モードを判定することで合成に係る画像の種類を示す種類データを決定し、画像処理部107で合成処理が行われた後の合成画像の画像データに対して決定した種類データを関連づけて記録媒体108に記録する。例えば本実施形態では、ヘッダ情報の少なくとも一部が汎用的な規格(Exif規格)に準拠して構成された画像ファイルを生成する。そして、このヘッダ情報の規格に準拠したデータ領域に種類データを記録することで、同じく画像ファイル内の画像データ部に記録される画像データと種類データとを関連づける。
画像処理部107は制御部101の指示に基づいて入力される複数の画像データに合成処理を行う。このとき、合成対象となるデータの少なくとも一部がROM102あるいは記録媒体108より読み出されたデータであってもよい。また画像処理部107は操作部111によってユーザから設定された合成処理の方法にしたがって、ROM102あるいは記録媒体108に記録された複数の画像データを再生時に合成する。各撮影モードとそれに対応する合成処理や再生時の各種合成処理については後述する。
表示部109は、LCD(Liquid Crystal Display)等の表示デバイスを備え、撮像部105により取得された撮像画像のスルー画像表示等を行う。また表示部109は、文字や画像などのデータや、メニューなどのいわゆるグラフィカルユーザインタフェースを表示する。
距離マップ取得部110は、例えばTOF(Time of Flight)方式やステレオカメラ等で被写体の距離分布に関連する情報を距離マップとして作成することによって取得する。距離マップまたは撮像画像に関連する視差のある画像間の像ずれ量分布やデフォーカス量分布のデータ等は、被写体の奥行方向における深度情報の分布を表すことになる。以下では、深度情報の分布を表すデータを距離マップデータという。取得された距離マップデータはデジタルデータとしてRAM103に記憶される。マップデータの生成方法については多くの方法が周知であり、いずれを使っても良い。
操作部111は、各種の物理的な操作部材のボタン、ダイヤル、タッチパネル、スライドバー等を含み、使用者の操作を受け付け、制御部101等に指示信号を出力する。
通信部106は、外部装置と通信するための無線LANインタフェースなどであるが、有線LANインタフェース、USBインタフェース等、外部装置と通信できるものであれば良く、その種別は問わない。この通信部106を介して、外部装置(例えばPCやスマートフォン等)と画像ファイルを送受信することができる。
(画像ファイルのデータ構造)
図2は、撮像装置100が生成・管理する画像ファイルのデータ構造を示している。本実施例では、Exif規格にしたがったファイル形式を採用するものとする。画像データファイル201は、例えば撮像部105による撮像時に生成されたり、通信部106を介して取得したり、記録媒体108あるいはROM102に保存されていたりする。撮像装置100が画像データファイル201を処理する際には、一時的にRAM103にコピーされることもある。
画像データファイル201は先頭に画像開始を示すマーカーSOI(202)を有し、その後にヘッダ領域としてアプリケーションマーカーAPP1(203)(APP1領域)を有する。
アプリケーションマーカーAPP1(203)内は、APP1のサイズ(204)、APP1の識別コード(205)、画像の作成日時を示す DateTime(206)、画像データが生成された日時を示す DateTimeOriginal(207)、画像の関連を示すRelationInformation(208)、撮影情報等(209)およびサムネイル画像(210)から構成される。
DateTime(206)および DateTimeOriginal(207)にはRAM103に記憶した撮影日時情報を格納する。また、RelationInformation(208)には例えば合成される複数の撮影画像間において関連がある事を示す所定の情報が記載される。この所定の情報は最初に記録した関連画像の画像番号でも良いし、特定の撮影モードを示す情報でも良い。
撮影情報等(209)としては、たとえば、撮影日時、撮影パラメータ(露光時間、絞り値、ISO感度、焦点距離、補助光源の有無等)、本実施例に係る合成情報部2091を含む。合成情報部2091には、本実施例で生成、処理する合成関連の情報が保持される。
また記録される本画像データは、量子化テーブルDQT(212)、ハフマンテーブルDHT(212)、フレーム開始マーカーSOF(213)、スキャン開始マーカー(214)および圧縮データが格納された画像データ部215から構成され、画像データの最後を示すマーカーEOI(216)で終端される。
本実施例で示したファイル構造はExif規格の構造に合わせたものとしたのでExif規格と互換性を持つことができる。しかし、本実施例の合成情報等の各種情報の記録構造は、必ずしもExif規格の構造に限定されない。例えば画像データファイル201とは別のファイルに記録してもよいし、撮像装置100が持つ特別なデータベースに記録してもよい。
図3は、合成情報部2091に保持されている情報の一例を示している。本実施例では、後段の画像処理部107や外部装置のアプリケーション、ネットワークサーバー上などで本合成画像と、本合成画像に係る情報を元に、合成処理の最適化や復元やAI等を用いた学習を行うために、本合成に係る様々な情報を記録する。かつこれらの情報の少なくとも一部を汎用的なExif領域に格納することで、Exif準拠の各種装置と互換性を持たせることができ、汎用的なアプリケーションでも参照可能とすることができる。
合成情報部2091には画像識別情報301、合成種別情報302、合成画像のソース画像数情報303、合成画像情報304、合成画像のソース画像情報305を記載する領域がそれぞれ配されている。
画像識別情報301は、主に合成に係る画像の種類を示す種類データで、「非合成画像」、「一般合成画像」、「撮影時取得合成画像」などの分類情報からいずれか1つが格納される。
「撮影時取得合成画像」は、撮影時に撮像素子から取得された一連の複数のソース画像(暫定記録画像)のみ(全数の使用を必須としない)から合成された画像である。かつ全てのソース画像の取得の際に特定の撮影の条件(絞り値、被写体距離、光源、レンズ焦点距離など)と被写体の範囲(撮影視野)がそれぞれ実質的に一定であるとみなせる合成画像に付される分類である。「撮影時取得合成画像」の場合、画像識別情報301には、「撮影時取得合成画像」であることを示す第1の種類データである「3」が付与される。
「一般合成画像」は、複数の撮影画像(ソース画)から合成された合成画像に付される分類であり、合成の方法を限定しない。「一般合成画像」の場合、画像識別情報301には「一般合成画像」であることを示す第2の種類データである「2」が付与される。
「非合成画像」は、「一般合成画像」「撮影時取得合成画像」に分類される合成画像とみなせない画像に付与する、例えば合成されていないとみなされる画像に付与される分類である。「非合成画像」の場合、「非合成画像」であることを示す種類データである「1」が付与される。なお、画像識別情報301として上記の「1」~「3」のいずれか以外の値を用意し、用いても良い。例えば、いずれの分類に付されるかが不明な場合は、種類データとして「0」を付与するなどしてもよい。
(各合成モードとその分類)
次に各種の撮影モードで合成処理を伴うものによって得られる画像や再生時の各種合成処理によって得られる合成画像に対する画像識別情報301の付与例について説明する。なお、本実施例では、前述のように、撮影時に合成に使われた複数枚の画像の特定の撮影条件と画角(撮影視野)が同じ場合には第1の種類データである「3」を生成する。また、合成に使われた複数枚の画像の撮影条件と画角の一方が異なる場合には第2の種類データである「2」を生成する。また非合成の場合は第3の種類データである「1」を生成するものとする。
例えばマルチショット系(異なるタイミングあるいは撮像光学系で複数の撮影を伴う撮影モードを以降マルチショット系と呼ぶことにする)の合成の種類の一つとして撮影時にHDR(High Dynamic Range)合成をするモードがある。この撮影時HDR合成モードでは、ISOやシャッタースピードなど、複数のソース画像の中で撮影条件が一定と見なせないものがある。従って画像識別情報として第2の種類データである「2」を付与する。ここで撮影時のHDR合成は、例えば露出(ISOやシャッタースピード等)の異なる複数枚の画像を撮影し、それぞれの画像を異なるガンマで現像し、現像結果を合成するものである。なお、撮影時HDR合成モードは露出条件の異なる複数の画像のなかから、画像の輝度値に応じて適正な画像を抜き出して合成するモードである。
また、マルチショット系の合成の種類の一つとして再生時に画像処理装置やPCアプリなどでHDR処理をする場合(再生時HDR合成モード)でも、画像識別情報として第2の種類データである「2」を付与する。これは、撮影時に合成された画像ではないためである。またISOやシャッタースピードなど、複数のソース画像の中で撮影条件が一定と見なせないものがあるためである。ここで再生時に画像処理装置やPCアプリなどで行うHDR処理とは、例えばユーザが選択した画像を露出差に応じたガンマでそれぞれ現像し、現像結果を合成するものである。
また、マルチショット系の合成の種類の一つとして、例えばHDR絵画調撮影を行うHDR絵画調撮影モードで得られた合成画像の場合も上記と同様に画像識別情報として「2」を付与する。なお、HDR絵画調撮影とは、露出(ISOやシャッタースピード等)の異なる複数枚の画像から階調処理を行うなどして絵画のような雰囲気を持つ合成画像を生成するモードである。
また、合成の種類の一つとしてマルチショットノイズ低減機能を達成するために複数撮像を行い合成画像を生成する撮影モードで得られる合成画像の場合にも画像識別情報として「2」を付与する。これは、撮影条件は一定とみなせるが、手持ち撮影前提の機能であり、手振れ等により各撮影画像の画角が異なる場合があり画角が一定と見なせないためである。なお、マルチショット低減機能とは、同一撮影条件で複数枚撮影した画像を、検出される振れ量に基づき位置合わせしてから合成し、ノイズの低減された合成画像を得る撮影モードであり、被写体が暗くノイズが多い場合などに用いる。
また、手持ち撮影で夜景をストロボなしで複数回撮影することを前提とした手持ち夜景撮影モードで得られる合成画像の場合も画像識別情報として「2」を付与する。これも撮影条件は一定であるが、手持ち撮影前提の機能であり、手振れにより各撮影画像の画角が異なる場合があり画角が一定と見なせないためである。
また、合成の種類の一つとして手持ち撮影で夜景をストロボありの撮影とストロボなしの撮影を連続で行う場合も、画像識別情報として「2」を付与する。これは手持ち撮影を前提とした機能であり、画角が一定と見なせないためである。また撮影条件のうち、「光源」に関する条件が変わる撮影画像が存在するためである。
次にいわゆるクリエイティブフィルタ系の撮影の場合について説明する。クリエイティブフィルタ系の撮影とは、撮影された画像に特殊な画像処理効果を施して記録する撮影モードである。
撮影時の撮影モードの種類として所謂ラフモノクロ撮影、ソフトフォーカス撮影、ジオラマ風撮影、トイカメラ撮影、油彩風撮影、水彩風撮影、魚眼風撮影、美肌撮影、背景ぼかし撮影などの場合には画像識別情報として「1」を付与する。また、これらのモードで撮影画像に行われる画像処理と同等の画像処理を再生時に画像に施す編集モード(アプリケーション)で得られる画像に対しても、画像識別情報として「1」を付与する。「1」を付与する理由は、これらの撮影モードあるいは編集モード(アプリケーション)で行われる画像処理の中には、画像同士の合成を伴うモードもあるものの、複数の撮影画像(ソース画像)を用いた合成処理でないためである。
ラフモノクロ撮影とは、画像を1枚撮影するとともに、撮影した画像にランダムノイズを重畳し、モノクロ処理を施すことでモノクロフィルムのような効果を出す撮影である。ソフトフォーカス撮影とは画像を例えば1枚撮影し、撮影画像にLPF(Low Pass Filter)をかけた画像と元の撮影画像とを一定比率で合成するような撮影である。ジオラマ風撮影とは画像を例えば1枚撮影し、撮影画像にLPFをかけた画像と元の撮影画像とを一部の領域で合成することで画像の一部の領域をぼかして現実の被写体をジオラマにしたものを撮影したかのような画像効果を付与する画像を生成するモードである。
トイカメラ撮影とは、画像を例えば1枚撮影し、トイカメラで撮影されたかのような画像効果を付加する撮影である。トイカメラ撮影で行われる画像処理は、例えばLPFをかけた画像と元の画像とを合成することで甘いピント効果を再現したり、輝度、色変換などにより明るい仕上がり、偏った色調、周辺減光などの効果を再現したりする処理である。油彩風撮影とは、画像を例えば1枚撮影し、撮影された画像に画像処理を施し、元の画像と合成することで油絵のような見えになる画像処理を施したものである。
水彩風撮影とは、画像を例えば1枚撮影し、撮影された画像に画像処理を施し、元の画像と合成することで水彩画のような見えになる画像処理を施したものである。魚眼風撮影とは、画像をたとえば1枚撮影し、領域毎に魚眼レンズ風の歪みを持たせるように画素の合成(補間)を行うことで魚眼レンズで撮影したかのような効果を施したものである。美肌撮影とは、肌色部分のNR(Noise Reduction)を強くして解像感を落し、肌の質感を滑らかにする撮影モードである。背景ぼかし撮影とは、絞りを変えて例えば2枚撮影し、2枚の画像の差分から主被写体と背景を分離し、背景をぼかす撮影である。この場合合成のソース画像は1枚とし、ぼかす領域を決定するために複数枚撮影をする。背景ぼかし撮影を絞りを開放にすることによって実現する場合もある。
日付写し込み撮影とは日付テキストデータを画像に重畳するものである。
また、合成の種類の一つとして多重露光撮影(多重合成モード)の場合には画像識別情報として第2の種類データである「2」を付与する。これは、撮影条件および画角をユーザが自由に設定可能であるため、それぞれ一定とみなせないためである。また連写優先の場合には一枚目に記録画像を選択できるためである。なお、多重露光撮影には、例えば加算モード、加算平均モード、比較明モード、比較暗モードなどが含まれる。加算モードとは複数枚撮影し、RAW画像を単純に加算するものである。加算平均モードとは、複数枚撮影し、RAW画像を単純に加算平均するものである。これによって例えば非常に暗い画像のS/Nを向上させるためのものである。比較明モードとは、複数枚撮影しRAW画像を合成する際に、同一座標における画素値が低くない方を採用する比較明合成処理を行うものである。
比較暗モードとは、複数枚撮影しRAW画像を合成する際に、同一座標における画素値が高くない方を採用する比較暗合成処理を行うものである。
また、合成の種類の一つとしてパノラマ撮影や深度合成撮影や星空ポートレート撮影の場合には、画像識別情報として「2」を付与する。これは、画角が異なるソース画像の合成であるためである。なお、パノラマ撮影とは、ユーザがカメラをパンニングするなどして複数の画角で撮影し、それらを合成するものである。この合成によって、複数の異なる画角で撮像された複数の画像を繋げてより広角の画像が生成される。パノラマ撮影で合成により得られる広角な画像には全方位(360度)の画像なども含まれる。
深度合成撮影とは、ピントを振って複数枚撮影し、距離マップ取得部110により取得された距離マップなどに基づいて複数の画像のピントが合っている領域を合成して、各画像よりも深度の深い画像を生成する撮影である。星空ポートレート撮影とは、ストロボを発光させて撮影を行うストロボ撮影の後、ストロボは非発光で連続して例えば2枚を撮影し、例えば3枚の画像を合成するような撮影である。
なお、合成の種類の一つとして星空軌跡撮影では画像識別情報として「3」を付与する。これは画角(被写体の範囲、撮影視野)及び撮影条件が一定と見なせるためである。なお、星空軌跡撮影とは星空を複数枚撮影し比較明合成する撮影モードである。
また撮像部105が例えば撮像素子と信号処理部とが一体の多層構造となったいわゆる積層センサである場合を考える。このとき該積層センサ内で行われる画像合成があったとしても、積層センサからの出力は通常の合成が行われない画像とデータ形式がほとんど変わらない1つの画像データである場合が考えられるため、画像識別情報として「1」を付与する。
ただし、制御部101から積層センサである撮像部105に撮像部105内の信号処理部に合成処理の指示が行えるような形態である場合には、該合成の指示に応じて撮像部105から出力された画像データに画像識別情報として「2」を付与する。
また合成の種類の一つとして超解像撮影と呼ばれる、撮像素子あるいは撮像光学系を微小に移動させて複数枚の撮影画像を行い、それらの画像を合成することで解像度を上げる撮影モードがある。この超解像撮影モードの場合には、画角をずらして撮像している点で撮影視野が一定とみなせないため画像識別情報として「2」を付与する。
合成種別情報302は、合成画像がどのような合成処理モード、合成処理、合成条件で合成されたかの種類を示す情報である。合成種別情報302は、例えば前述のような多重露出モード、加算合成、比較明合成、HDR合成、パノラマ合成などの合成用の複数の種類に応じた種類データから本画像データに対応する情報の少なくとも1つが格納される。
ソース画像数情報303は、画像データファイル201の画像データを生成するために取得した画像の数についての情報で、撮影画像(ソース画像)数、合成画像に使用されたソース画像数を示す合成画像数、使用画像番号の情報が含まれる。撮影画像数とは、本画像データを生成するために撮影した画像の総数を示す。この中には例えば手ぶれ等により画質が悪くなり最終的に合成画像には使用しなかった画像データなどの枚数も含まれている。合成画像数は実際に画像データファイル201の画像データ部215に格納されて画像データの生成に用いられた画像の数を示す。使用画像番号とは、合成画像数にカウントされる、本画像データの生成時に合成された画像データそれぞれに係る画像番号を並べた情報である。
合成画像情報304は、合成に用いられた画像の撮影条件に係る統計値の情報が記録されている。図3には露光時間の統計値として、合成に用いられた画像の中での露光時間の最大値が記録されている。また絞り値、ISO感度、焦点距離の統計値として、合成に用いられた複数画像の絞り値の平均値、ISO感度の平均値、焦点距離の平均値がそれぞれ記録されている。
合成画像情報304に記録される各撮影条件に係る統計値は1種類に限らず、最大値、最小値、合計値、平均値、分散値などデータ収集やアプリケーションの目的に応じて任意の統計値を複数種類記録しておいてもよい。また、本実施例では合成に用いられた画像についての撮影パラメータの統計値のみを格納しているが、これに限らず画像データを生成するために撮影された、合成に用いられなかった画像も含めた上記統計値の情報も1種類乃至複数種類格納してもよい。
ソース画像情報305は、画像データファイル201の画像データを生成するために取得した各画像の撮影パラメータに関する情報である。撮影画像ごとに露光時間、絞り値、ISO感度、焦点距離等の撮影パラメータが順に記録される。このような情報を格納しておくことで、あるシーンを撮影して取得された合成画像が、どのような撮影パラメータで撮影された画像を、どれくらいの数だけ取得して生成されたのかについての情報を収集することができる。
(デジタルカメラの全体動作)
以下、本実施形態の撮像装置100の全体動作について図4の本実施例の撮像装置100の全体的な動作を説明するためのフローチャートを参照して説明する。なお、図4を含む以下に示すフローチャートは、制御部101がROM102に格納されたプログラムを読み出し、演算処理や制御を行うことにより実現される。
(全体のフロー)
ステップS401では、ユーザにより操作部111に含まれる電源スイッチが操作され、電源オンに切り替わることで、制御部101はフラグや制御変数などを初期化する。また撮影モード情報の取得し、判定と設定が行われる。このとき合成処理を伴う撮影モードが設定されている場合には、合成に用いる画像数Nの設定情報も取得し、判定と設定が行われる。ステップS402では、制御部101は操作部111に含まれるモード切替スイッチの設定位置を判断し、撮影モードに設定されている場合、ステップS403に進み、撮影モード以外が設定されている場合、ステップS404に進む。ステップS403における撮影モード処理の詳細は後述する。
ステップS404では、制御部101はモード切替スイッチが再生モードに設定されているかを判断し、再生モードに設定されている場合、ステップS405に進み、再生モード以外が設定されている場合、ステップS406に進む。ステップS405における再生モード処理の詳細は後述する。ステップS406では、制御部101は選択されたその他のモードに応じた処理を実行し、実行後にステップS407に進む。その他のモードとして記録媒体108に格納されたファイルの送受信を行う通信モードなどが含まれる。
ステップS407では、制御部101は電源スイッチの設定位置を判断する。電源スイッチが電源オンに設定されている場合、ステップS402に戻り、電源スイッチが電源オフに設定されている場合、ステップS408に進む。ステップS408では、制御部101は所定の終了処理を行う。終了処理には、以下のような処理が含まれる。すなわち、制御部101は表示部109の表示を終了状態に変更し、レンズバリアを閉じて撮像部105を保護する。また、制御部101はフラグや制御変数などを含むパラメータや設定値、設定モードを不揮発性メモリ等に記録し、その後、電源供給が不要な部分への電源を遮断する。
(撮影・記録処理)
図5に本実施例における撮像装置100の撮影・記録処理のフローチャートを示す。
(撮影モード処理)
図5は、図4のステップS403の撮影モード処理の詳細を示すフローチャートである。
撮影モードを開始すると、ステップS501において、制御部101は表示部109に撮像した画像を順次出力して、表示部109に順次表示するスルー表示を行う。
ステップS502では、制御部101はユーザによりシャッタースイッチSW1が押下されたか否かを判定する。押下された場合、ステップS503に進み、押下されていない場合、シャッタースイッチSW1の押下を待つ。ステップS503では、制御部101は撮影準備動作を行う。即ち、測距を行って撮影レンズ103の焦点を被写体に合わせると共に、測光を行って絞り値およびシャッター時間を決定する。制御部101は測光結果に基づき、必要であればストロボの発光量などの設定も行う。
ステップS504では、制御部101はユーザによりシャッタースイッチSW2が押下されたか否かを判定し、押下された場合、ステップS506に進む。押下されていない場合、ステップS505に進み、制御部101はシャッタースイッチSW1の押下が継続されているかを判断する。シャッタースイッチSW1の押下が解除されている場合、ステップS502に戻る。ステップS505でYesの場合には、ステップS504に戻る。
ステップS506では、制御部101は撮影開始する日時を制御部101内のRTC(Real Time Clock)から取得し、RAM103に記憶する。続いて、ステップS507では、合成処理フラグiを0にセットする。
続いてステップS508で制御部101はRAM103またはROM102に記憶される測光データに従い、絞り機能を有する光学系104内のシャッターを絞り値に応じて開放して撮像部105の撮像素子を露光開始する。
ステップS509では、制御部101は撮像部105から画像データを出力した後、画像処理部107を用いて圧縮・符号化処理などの画像処理を行う。その後、ステップS510で制御部101は設定されている撮影モードが合成処理を伴う撮影モードか否かを判定する。即ち、ステップS401において、制御部101は撮影モードあるいは前記合成手段で行う合成の方法を判定する判定手段として機能する。
合成処理を伴う撮影モードでなければステップS511に進みヘッダに記録する画像識別情報301を通常画像(非合成画像)であることを示す種類データ「1」に決定し、格納する。
このとき制御部101は、例えば撮影モードの設定に紐づけられた合成の種類に応じた種類データを生成する種類データ生成手段として機能する。なお、前述のように制御部101は、画像処理部107によって合成がなされなかった場合には、種類データ(画像識別情報301として「1」)に決定する。そしてステップS512で画像データとともに記録媒体108に記録する。このとき制御部101は、Exif規格のヘッダ領域であるAPP1(203)に合成の種類に応じた種類データを記録画像に関連付けて記録する記録制御手段として機能する。ステップS512の後、ステップS501に戻る。
ステップS510で合成処理モードであると判別された場合には、ステップS513に進み、予め設定された合成処理モードにて合成を行う。このとき制御部101は、撮影された複数枚の撮影画像を複数種類の方法で合成して合成画像を生成するための合成手段として機能している。次いでステップS514で合成のために使う撮像画像数が予め設定された画像数Nに達したか否かを判別し、達していなければステップS508に戻って新たな露光動作を行う。画像数がNに達したらステップS515でファイル名と撮影日時を取得し、ステップS516で、ヘッダ領域としてのAPP1(203)にこれらのデータと合成の種類に応じた種類データを記録するためのヘッダ情報を生成する。
ステップS516では、制御部101は、設定された撮影モードに応じて画像データと関連づけて記録する種類データを決定する。なお、前述のように制御部101は、前記合成手段によって合成がなされた場合には、合成の種類に応じて少なくとも2種類の種類データ(画像識別情報301として「2」または「3」)のうちの一つを生成する。また画像処理部107によって合成がなされた場合と合成がなされなかった場合を含めて、少なくとも3種類の種類データのうちの一つの中から適切な分類を決定する。次にステップS517で、制御部101は、表示部109への画像表示や記録媒体108への記録を行う。このとき制御部101は、Exif規格のヘッダ領域であるAPP1(203)に種類データを記録画像に関連付けて記録する記録手段として機能する。
またこのとき、種類データが所定の種類データ(合成識別情報が3)の場合には、少なくとも「合成に使われた撮影画像の枚数」と、「合成に使われた撮影画像の撮影条件」として例えば露光時間等とを、同領域APP1(203)に記録する。ステップS517の後、ステップS501に戻る。
なお、上記実施例では露光が終了する毎に合成を実行しているが、N回の撮像を行った後で合成処理を行ってもよいことは言うまでもない。
(再生モード処理)
図6は、図4のステップ405の再生モード処理の詳細を示すフローチャートである。ユーザによるモード切替スイッチを介した再生指示によって、再生モードが開始する。または再生モードが設定されている状態で、装置の電源を投入して起動した場合に、このフローが開始される。
まず、ステップS601において、制御部101は記録媒体108から初期画像情報を取得する。この初期画像とは最新の画像あるいは前回の再生で表示した画像である。初期画像情報の取得は、後述する総画像枚数計算や検索リスト作成よりも先に行うことで、再生モードに入ると直ぐに、初期画像の画像表示ができ、総画像枚数計算等の処理の間に、何も表示が出ないような問題を防ぐことができる。
ステップS602では、制御部101はステップS601の初期画像情報の取得が正しく行われたか否かを判断する。このような判断をするのは、画像が一枚も無いような場合やメディア不良によって画像情報を取得できない場合があるためである。初期画像情報が取得できる場合、少なくとも画像が1枚あると判断される。画像がある場合、ステップS603に進み、画像がない場合、ステップS609に進む。
ステップS603では、制御部101はステップS601で取得した初期画像情報に基づいて記録媒体108から初期画像を読み込む。ステップS604では、ファイル解析処理を行って、制御部101は読み込んだ初期画像の撮影情報や合成情報などの属性情報を解析し取得する。
即ち、このとき制御部101は、記録画像に関連付けて記録された合成の種類に応じた種類データと合成種別を示す情報と合成に使われた撮影画像の枚数と合成に使われた撮影画像の撮影条件を取得する種類データ取得手段として機能している。また、画像データが壊れていないかをチェックする。
ステップS605では、制御部101は読み込んだ初期画像の表示を行うと共に、必要に応じて撮影情報や合成情報等の属性情報なども画像とともに選択的に表示する。この選択的な表示については図7において後述する。また、制御部101はステップS604のファイル解析結果に応じて、初期画像のファイルの一部が壊れているなど不正なデータであることが解析された場合、エラー表示も合わせて行う。
ステップS606では、制御部101は記録媒体108に記録されている画像の総枚数の計算を開始して、総画像枚数を取得する。この処理は、画像の表示処理とは非同期で働き、完了を待たずに次の画像の表示処理に進むことも可能である。このように処理することで、多くの画像が記録媒体108に記録されていて、総画像枚数計算に時間がかかるような場合でも画像の閲覧を可能にする。
ステップS607では、制御部101は記録媒体108内の全画像の解析を行って、その検索結果としての検索リストの作成を開始する。検索リストとは、各画像に付加された属性情報を予め取得し、一括して管理するリストである。この検索リストを作成しておくことで、例えば、ある属性を有する画像をまとめて再生対象としたり、消去対象としたりすることが可能となる。検索リスト作成処理も総画像枚数の計算と同様に、画像の表示処理とは非同期で行われ、次の画像の表示処理が可能であり、ステップS608で、制御部101はユーザによる再生の入力待ち状態に進む。
なお、ステップS602において、画像が1枚もない場合、ステップS609に進み、制御部101は「画像がありません」などのメッセージ表示を伴う、画像がない旨の表示を表示部109を介して行い、ステップS608に進む。
(画面表示)
次に、本実施例における画像データの表示方法について説明する。図7(A)は、本装置において画像表示アプリケーションを動作させた場合に表示部109に表示される画面の一例を示している。
図7(A)では、RAM103に記憶された画像データImage1~Image12が一覧表示される様を示している。この画像は、例えばデジタルカメラや携帯電話などから取得したものである。また、ネットワーク上のサーバなどからダウンロードしたものであってもよい。また、画像データ本体を用いず、画像データのサムネイルを用いることも可能である。図7(A)の状態で表示切替ボタン401を選択(タッチ)すると、図7(B)の画面に遷移する。
図7(B)に示すように、合成関連情報の付加された画像データについては「ピン」の形状をしたアイコン(以下、ピンアイコン)を、その画像のサムネイルに重畳して表示する。すなわち、ピンアイコンは、合成関連情報を有する画像ファイルに対して表示されるものである。この画面の例は、Image1、3、4、6、7、8、10、11に合成関連情報として画像識別情報301(「1」~「3」など)や合成種別情報302などが記述されていることを示している。
もちろんピンアイコンは必ずしもサムネイルに完全に重畳する必要はなく、合成関連情報を有する/有さない画像ファイルが区別が付けば良いので、ピンアイコンの一部を重畳させたり、画像データにサムネイルに重畳させなくとも、近傍に表示しても構わない。なお、この画面では合成関連情報が記述されている画像データにはピンアイコンが重畳表示される。この画面を確認することで、ユーザはどの画像データに合成関連情報が付加されているかを容易に確認することができる。
図7(B)の状態で更に、前記表示切り替えボタンをクリックすると、図7(C)の画面に遷移する。図7(C)の画面に示すように、それまでのピンアイコンに変えて、画像識別情報301や合成種別情報302などに応じたアイコンや文字に変化することで、画像識別情報301や合成種別情報302などが容易に識別可能となる。
例えばImage1、4、10、11はパノラマ合成を示す「P」あるいはパノラマを示すアイコンが重畳表示される。これは合成種別情報302がパノラマ合成、つまりパノラマ合成を用いが合成画像データであることを示すためである。
Image6、8はHDR合成を示す「HDR」またはHDRを示すアイコンが重畳表示される。これは合成種別情報302が「HDR合成」によって得た画像データであることを示すためである。
Image7は加算合成を示す「加算」または加算合成を示すアイコンが重畳表示される。これは合成種別情報302が「加算合成」、つまり加算合成によって得た画像データであることを示す。Image3はピンアイコンのままである。これは、合成種別情報302が記述されていない画像データを示す。更に、合成に使われた撮影画像の枚数や合成に使われた撮影画像の撮影条件が記録画像と関連付けて記録媒体に記録されている場合には、それらの少なくとも一方を選択的に表示することができるようにしても良い。特に種類データが例えば「3」の場合などに、合成に使われた撮影画像の枚数や合成に使われた撮影画像の撮影条件が記録画像と関連付けて記録媒体に記録されている。
以上述べたように、図7(C)の画面では、合成種別情報302に応じた文字やアイコンなどを画像データに重畳表示する。このことにより、ユーザはどの画像データがどの合成種別で合成されたかや撮影画像の枚数や合成に使われた撮影画像の撮影条件等を容易に確認することができる。なお、図7(C)の表示画面にて、表示切り替えボタンをクリックすると、図7(A)の画面に推移するものとする。すなわち、表示切り替えボタンをクリックする度に、上記3種類の表示画面が順に切り換わる。
なお、上記実施例では、表示切り換えボタン401を操作する度に、図7(A)→図7(B)→図7(C)→図7(A)…と表示形態がループするものとした。しかし、表示メニューからダイレクトにその表示種別の1つを指定し、それに従って表示を行ってもよい。
また、画像識別情報301や、合成種別情報302や、合成に使われた撮影画像の枚数であるソース画像数情報303や、合成画像情報304や合成画像のソース画像情報などの撮影画像の撮影条件等の少なくとも一つを表示できるようにしても良い。それらを見ることによって撮影者の意図や工夫を把握することができる。
(再生時の画像処理)
また、画像処理部107が画像の再生時に画像処理を行う場合の動作について説明する。たとえば制御部101がROM102あるいは記録媒体108から画像データを読み出し、表示部109の表示デバイスに表示させているとする。その状態で操作部111を介したユーザからの画像処理の指示に応じて、画像処理部107に表示部109に表示された画像に対応する画像データを入力して画像処理を行わせる。ここで、制御部101は、画像処理部107で行われる画像処理に応じて、画像処理の対象となっている画像データのヘッダ情報を書き換える。具体的には、画像ファイルの画像識別情報301に「3」が格納されている画像データに対して、階調変換処理、色変換処理、欠陥補正処理、フィルタ処理などの処理対象の画像データの画素値に基づいて行われる画像処理が行われた場合を考える。
その場合には、制御部101は、処理後の画像データを格納する画像ファイルにも画像識別情報301に撮影時取得合成画像を示す「3」を格納する。これに対して、画像ファイルの画像識別情報301に「3」が格納されている画像データに対して、他のソース画像との何かしらの合成処理や、テキストデータやフレーム、アイコン、CGなどとの合成処理を伴う画像処理が行われた場合を考える。その場合には、制御部101は、処理後の画像データを格納する画像ファイルには画像識別情報301に一般合成画像を示す「2」を格納する。制御部101をこのように動作させることで、撮影時取得合成画像「3」の情報の信頼性をシステム内で担保することができる。また、制御部101は、画像ファイルの画像識別情報301に「2」が格納されている画像データに対しては、上記いずれの画像処理が行われても、処理後の画像データを格納する画像ファイルにも画像識別情報301に一般合成画像を示す「2」を格納する。
また、画像ファイルの画像識別情報301に「1」が格納されている画像データに対して、上記各撮影モードで「2」あるいは「1」と分類されている処理に該当する画像処理が行われた場合を考える。その場合には制御部101は、上記の分類に従って処理後の画像データに対応する画像識別情報301を決定する。すなわち、制御部101は、再生画像に対して行われる画像処理が合成であるか否かおよび合成処理の方法を判定する。そして、判定結果に基づいて処理後の画像データを格納する画像ファイルに記録する画像識別情報301を決定し、処理後の画像データを含む画像ファイルの合成情報部2091に記録する。それ以外の階調変換処理、色変換処理、欠陥補正処理、フィルタ処理などの処理対象の画像データの画素値に基づいて行われる画像処理を行った場合には、処理後の画像データを格納する画像ファイルにも画像識別情報301に非合成画像を示す「1」を格納する。
以上のように、本実施例では、合成情報部2091に格納されているような情報を画像データと共に記録することによって、合成処理の有無や種類に応じて画像をユーザあるいはコンピュータが適切に判別し処理できるようになる。例えばHDR合成された画像が含まれる画像ファイルを収集し、それらの合成情報部2091に記録される情報をAI等によって分析して各種撮影条件などを学習させることができる。そして、シーンや構図から、露出差を学習させるための参考情報とすることができ、素材画像の露光時間やISOなどもそのために活用することができる。
また、星空軌跡撮影などについては、合成画像に付与された各撮影画像の露光時間と各撮影画像の撮影の間の非露光期間を含む総露光期間を示すタグから、この程度の時間撮影すればこの程度の軌跡になるということを推測できるようになる。それによって無駄に長く撮影時間を設定しなくて済むようになる。
また、カメラの学習に使う場合に、合成に失敗した(カメラが撮影時に失敗と判断した場合やクラウド側で失敗と判断された場合やユーザが失敗と判断して悪いレーティング等をつける場合など)という情報をファイルに記録しておく。そして、次回の撮影条件に活用することができる。
例えば、失敗の原因が手ぶれと考えられるなら手ぶれしやすいユーザとみなして、制御部101が次回以降の撮影に際して自動で決める露光時間の設定をより短秒にするなどの改善をすることができるようになる。
また、合成画像の画像処理パラメータ決定に利用する。
合成されたJPEG画像に対して、アプリ等で画像処理を行う時に合成情報部の情報を参考にする。
NRのパラメータをISO感度毎に保持し、撮影されたISO感度に応じてパラメータを適用するアプリにおいて、合成画像の場合はパラメータの決定のロジックを変更することもできる。
例えば、ISO3200の非合成画像の時はISO3200のパラメータとし、ISO3200X2の合成画像の場合にはISO2500のパラメータとし、ISO3200X4の合成画像の場合にはISO1600のパラメータにするなど、のように、合成枚数とソース画像のISO感度に応じてパラメータを切り替えることができる。
またExif構造のAPP1の中の特に撮影条件のデータの中に上記合成情報部2091を埋め込むことによって、既存のExif準拠の装置やソフトウェアと高い互換性を持たせることができる。
(再生時の記録画像の編集処理)
また、画像処理部107が画像の再生時に編集処理を行う場合の動作について説明する。たとえば制御部101がROM102あるいは記録媒体108から記録済みの画像データを読み出し、表示部109の表示デバイスに表示させているとする。その状態で操作部111を介したユーザからの編集処理の指示に応じて、制御部101は、画像処理部107に編集処理を行わせる。
図8は、編集処理の詳細を示すフローチャートであり、このフローチャートについても、制御部101がROM102に格納されたプログラムを読み出し、演算処理や制御を行うことにより実現される。
まず、ステップS800において、制御部101は、ユーザから、操作部111を介して、編集対象の画像と、編集内容の設定を受け付ける。ユーザは、表示部109を見ながら操作部111を操作し、記録媒体108に記録されている複数の画像の中から、編集対象とする画像を選択し、さらに、編集対象の画像に対する編集処理の内容を指定する。本実施形態の編集処理では、合成処理、トリミング処理、色変換処理等を実行することが可能であり、ユーザは、これらの処理の中から、実行する編集処理を選択する。なお、合成処理が指定された場合は、編集対象の画像として複数の画像を選択する。
次に、ステップS801において、制御部101は、S800で設定された編集処理の内容が、合成処理であるかを判断する。編集処理として合成処理を実行する場合は、ステップS802へ進み、合成処理以外の処理を実行する場合はステップS807に進む。ステップS807では、制御部101は、S800で設定された合成処理以外のその他の編集処理を実行する。
ステップS802において、制御部101は、ステップS800において、編集対象として選択された画像が、RAW画像データであるかを判定する。RAW画像データであると判定された場合は、ステップS803に進み、RAW画像データでないと判定された場合はステップS806に進む。
ステップS803では、制御部101は、合成処理の編集対象の複数枚のRAW画像データを合成することにより「撮影時取得合成画像」の条件を満たすかを判定するため、編集対象の複数枚のRAW画像データの画角(撮影視野)が同一かを判定する。本実施例では、制御部101は、編集対象の複数枚のRAW画像データが連写撮影により撮影された画像である場合は、画角が同一と判定する。画角が同一と判定された場合はS804に進み、画角が同一でないと判定された場合はS806に進む。S804では、制御部101は、合成処理の編集対象の複数枚のRAW画像データから撮影条件を読み出し、撮影条件が同一であるかを判定する。ここで同一か否かを判定する撮影条件は、上記で説明したように、「撮影時取得合成画像」として分類される画像を判定するための特定の撮影条件(絞り値、被写体距離、光源、レンズ焦点距離など)である。編集対象の複数枚のRAW画像データ撮影条件が同一であると判定された場合は、ステップS805に進み、同一でないと判定された場合はステップS806に進む。
ステップS805では、制御部101は、画像処理部107により編集対象の複数枚のRAW画像データの合成処理を行い、合成画像を生成する。そして、生成された合成画像は「撮影時取得合成画像」に分類される条件を満たしているため、画像識別情報として「3」を付与して、合成画像を記録媒体108に記録する。なお、合成画像には、画像識別情報だけでなく、他のExif情報も付加して記録する。また、「撮影時取得合成画像」であるため、合成画像情報304や、合成画像のソース画像情報305等も付加して記録する。
ステップS806では、制御部101は、画像処理部107により編集対象の複数枚の画像データ(RAW画像データまたは現像済みの画像データ)の合成処理を行って合成画像を生成する。そして、生成された合成画像に画像識別情報として「一般合成画像」に分類されることを示す種類データ「2」を付加し、記録媒体108に記録する。なお、合成画像には、画像識別情報だけでなく、他のExif情報も付加して記録する。「一般合成画像」であるため、合成画像情報304や、合成画像のソース画像情報305は付加して記録してもよいし、付加しないで記録してもよい。
このように、ステップS803、S804では、制御部101は、生成される合成画像が「撮影時取得合成画像」に分類される条件を満たしているかを判定する。そして、「撮影時取得合成画像」に分類される条件を満たしている場合はステップS805に進み、満たしていない場合はステップS806に進むことになる。
また、ステップS802において、編集対象の画像がRAW画像データの場合は、「撮影時取得合成画像」に分類される条件を満たしているかを判定し、判定した結果に応じて画像識別情報を付加する。しかし、RAW画像データでない場合は、「撮影時取得合成画像」に分類される条件を満たしているかに関わらず、生成した合成画像に、画像識別情報として「一般合成画像」を示す種類データを付加する。これは、RAW画像データの場合は、現像処理を行うために、撮影時の撮影条件等の情報を詳細に記録している。また、撮影時に取得した現像前のデータを記録しているため、再生時に合成しても、撮影時に合成したときと同等の合成画像を生成することが可能となる。そのため、本実施例では、撮影して記録媒体に記録済みの画像を合成する場合、RAW画像を合成して生成した合成画像については、「撮影時取得合成画像」の条件を満たすか否かに応じて、「撮影時取得合成画像」を示す種類データを付加するか、「一般合成画像」の種類データを付加するかを切り替えている。それに対し、通常の現像処理済みの画像を合成して生成した合成画像には、条件を判定せずに、条件を満たすか否かに関わらず、「一般合成画像」の種類データを付加している。
(再生時の記録画像の合成処理の変形例)
上述の再生時の記録画像の編集処理についての変形例について説明する。
図8は、合成処理の変形例のフローチャートである。なお、この処理についても、制御部101がROM102に格納されたプログラムを読み出し、演算処理や制御を行うことにより実現される。このフローは、例えば、ステップS801において、編集内容が合成処理と判定された場合に実行される。
合成処理の変形例においては、まず、ステップS901において、制御部101は、S800においてユーザに合成対象として指定された複数の画像(以下、合成元画像とする)を記録媒体108から読み込む。なお、RAM103内の画像キャッシュに読み込み済みであればそちらを利用しても良い。次に、ステップS902において、制御部101は、ステップS901で読み込んだ合成元画像のヘッダ情報を解析する。そして、合成元画像のヘッダ情報解析結果からExif Versionを取得し、File Ver.(合成元画像のExifバージョン)として保持する。なお、合成元画像が複数ある場合には一度に全て読み込んでも良いし、ステップS901、S902の処理を画像毎に実施しても良い。
ステップS903では、制御部101は、ステップS901で読み込んだ合成元画像の合成処理を画像処理部107に実行させ、合成画像を生成する。
ステップS904では、制御部101は、S903で生成した合成画像を記録する際のExif Version を取得し、Current Ver.として保持する。この情報は、撮像装置100の動作プログラムが更新される毎に、Exif 規格の最新のVersionを反映される。
ステップS905では、制御部101は、S904で取得したCurrent ver.(生成した合成画像を記録する際のExifのバージョン)と、S902にて取得したFile Ver.(合成元画像のExif Version)とを比較する。File Ver.がCurrent ver.以上、つまり、記録する合成画像のバージョンが、合成元画像のバージョンと同じか新しい場合には、ステップS906に進む。そして、File Ver.がCurrent ver.よりも小さい、つまり、記録する合成画像のバージョンが、合成元画像のバージョンよりも古いバージョンである場合は、ステップS909に進む。
ステップS906では、制御部101は、合成対象である複数の合成元画像の画角が同一とみなせるかを判定する。この判定は、ステップS803と同様あるため、説明を省略する。そして、捨て多yS907では、制御部101は、合成対象である複数の合成元画像の撮影条件が同じであるかを判定する。この判定は、ステップS804と同様あるため、説明を省略する。ステップS905で、File Ver.がCurrent ver.以上、と判定され、さらに、ステップS906、S907において、合成元画像の画角と撮影条件が同一と判定された場合は、S908へ進む。ステップS905で、File Ver.がCurrent ver.以上、と判定されても、合成元画像の画角、撮影条件が同一と判定されなかった場合は、S909に進む。ステップS905で、File Ver.がCurrent ver.より小さいと判定された場合は、合成元画像の画角、撮影条件に関わらず、ステップS908に進む。
ステップS908では、ステップS903で生成した合成画像が「撮影時取得合成画像」に分類される条件を満たしているため、合成画像の画像識別情報301として「3」を付加する。
ステップS909では、ステップS903で生成した合成画像の画像識別情報301として「一般合成画像」であることを示す「2」を付加する。
ステップS910にて、制御部101は、撮影条件等の他のExif情報を合成画像の画像ファイル(ヘッダ領域)に記録する。なお、ステップS908~S910で生成するExif情報は、ステップS904で取得したバージョンで生成され、Exif情報として、バージョンの情報も記録する。
S911では、制御部101は、S910でExif情報を付加した合成画像を記録媒体108に記録し、本処理を終了する。以上のように、本実施例では生成した合成画像を記録する際のExifのバージョンが合成元画像のExifのバージョンより小さい場合には、撮影条件などの判断をすることなく一般合成画像を示す「2」としてヘッダ情報を格納する。これにより、合成処理に関わる撮影条件を正しく記録できる保証のない古いExiバージョンで記録された画像を用いて合成処理を行う際には、「撮影時取得合成画像」として記録しないため、記録する画像の情報の信頼性を担保できる。
以上、再生時の記録画像の合成処理の変形例について説明したが、上述の図8の処理と、変形例を組み合わせて実現してもよい。つまり、制御部101は、合成元画像がRAW画像データであり、合成元画像のExifのバージョンが、合成後に記録するExifのバージョン以上の場合には、「撮影時取得合成画像」としての条件を満たしているかに応じて種類データを付加する。そして、合成元画像がRAW画像データでない、または、合成元画像のExifのバージョンが、合成後に記録するExifのバージョン以上でない場合には、「撮影時取得合成画像」としての条件を満たしているかに関わらず、「一般合成画像」の種類データを付加するようにするとよい。また、上述の変形例では、合成元画像のExifのバージョンと、生成した合成画像を記録する際のExifのバージョンを比較したが、合成元画像のExifのバージョンが所定のバージョン以上であるかを判定するようにしてもよい。その場合、制御部101は、合成元画像のExifのバージョンが所定のバージョン以上の場合は、ステップS906,S907の判定結果に応じて、「撮影時取得合成画像」と「一般合成画像」のどちらの種類データを付加するかを切り替える。そして、合成元画像のExifのバージョンが所定のバージョンよりも小さい場合は、「撮影時取得合成画像」としての条件を満たしているかに関わらず、「一般合成画像」の種類データを付加するようにするとよい。
また、上述の変形例では、Exifのバージョンを比較したが、画像識別情報301と同等の情報をExif情報としてではなく、画像ファイルの他の領域に格納する場合は、画像ファイルのバージョンを比較してもよい。つまり、画像識別情報が記録される記録形式のバージョンを比較すればよい。
(その他の実施例)
なお、本発明は上記実施例に限定されるものではなく、本発明の主旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。
また、本実施例における制御の一部または全部を上述した実施例の機能を実現するコンピュータプログラムをネットワーク又は各種記憶媒体を介して画像処理装置等に供給するようにしてもよい。そしてその画像処理装置等におけるコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行するようにしてもよい。その場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することとなる。