(57)【要約】【課題】１つの画像データから派生した多数の画像データからなる群から所望の画像データを選択する際に、ユーザの負担を軽減するとともに、記録装置の容量が圧迫することを防止できるようにする。【解決手段】類似したサムネイル画像をグループ化して代表するサムネイル画像を一枚のみ表示させるセレクト表示モードにおいて、表示させるサムネイル画像を決定する際に、複数のリンクファイルの中で前ステップｉｄが重複すると判定された編集履歴スタック間の編集操作同士を比較し、編集操作ごとの各差分値を総計した値が閾値以下である場合は、一方のサムネイル画像を非表示とする。【選択図】図２
2014154971.tif 000002
【特許請求の範囲】
【請求項１】
元画像データに加えられる編集処理の編集パラメータを取得する取得手段と、
前記元画像データから異なる編集処理によって得られる複数の編集結果に対応するそれぞれ代表画像から、前記取得手段によって取得された編集パラメータに基づいて表示すべき代表画像を判定する判定手段と、
前記判定手段によって表示すべきと判定された代表画像を表示手段に表示する表示制御手段とを備えることを特徴とする画像表示装置。
【請求項２】
前記判定手段は、前記編集処理の種別毎に前記編集パラメータを比較して判定することを特徴とする請求項１に記載の画像表示装置。
【請求項３】
前記判定手段は、前記編集パラメータを比較する際に前記編集処理の種別毎に重み付けを行うことを特徴とする請求項２に記載の画像表示装置。
【請求項４】
前記編集処理の種別として少なくともトリミングを含み、前記判定手段は、前記トリミングに対して最も大きい重み付けを行うことを特徴とする請求項３に記載の画像表示装置。
【請求項５】
前記判定手段により表示すべきか否かを判定するための閾値を、ユーザの操作に応じて変更する変更手段をさらに備えることを特徴とする請求項１〜４の何れか１項に記載の画像表示装置。
【請求項６】
前記元画像データは、ＲＡＷフォーマットの画像データであることを特徴とする請求項１〜５の何れか１項に記載の画像表示装置。
【請求項７】
元画像データに加えられる編集処理の編集パラメータを取得する取得工程と、
前記元画像データから異なる編集処理によって得られる複数の編集結果に対応するそれぞれ代表画像から、前記取得工程において取得された編集パラメータに基づいて表示すべき代表画像を判定する判定工程と、
前記判定工程において表示すべきと判定された代表画像を表示手段に表示する表示制御工程とを備えることを特徴とする画像表示方法。
【請求項８】
元画像データに加えられる編集処理の編集パラメータを取得する取得工程と、
前記元画像データから異なる編集処理によって得られる複数の編集結果に対応するそれぞれ代表画像から、前記取得工程において取得された編集パラメータに基づいて表示すべき代表画像を判定する判定工程と、
前記判定工程において表示すべきと判定された代表画像を表示手段に表示する表示制御工程とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、所望の画像を選択するために用いて好適な画像表示装置、画像表示方法及びプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラや撮影機能付き携帯端末等が多く普及したことにより、撮影して得られた画像データをＨＤＤ等の記憶装置に記憶しておく機会が増えてきている。しかしながらその反面、記憶装置に蓄積した画像データが膨大な量となり、所望の画像を検索する負担が大きくなるといった課題も浮き彫りとなっている。
【０００３】
このような課題に対応するために、類似した画像をグループ化し、一枚の代表画像で表示するという手法が知られている（Adobe社  Elements Organizer、特許文献１等参照）。このような技術を用いると、画像を検索する際に表示するサムネイル画像を減らすことができるため、ユーザによりサムネイル群から所望の画像を探索する負担を減らすことができる。しかしながらこの手法では、記憶装置に蓄積された画像データそれぞれに対し特徴量を抽出する処理と、その特徴量を各々比較する処理とが必要となるため、グループ化するまでに時間が多くかかってしまう。
【０００４】
また、対象とする画像に対し撮影したときのイベント（花見、旅行等）を抽出し、メタデータとして付加する手法も知られている（例えば特許文献２参照）。この手法によれば、記憶しているイベントを基に画像を検索し、該当するメタデータが付与されている画像のみを提示できるため、所望の画像を検索することが容易となる。しかしながら、提示される画像数は各イベントにおける撮影枚数に依存するため、イベントによってはあまり絞り込めない場合がある。また、複数のメタデータで絞り込むことによって上記のような課題を防ぐことができるが、複数のメタデータに対応する複数のイベントを記憶していない場合は、絞り込みは困難となる。
【０００５】
また、撮影して得られた画像データが多くなるに従って記憶装置の記憶容量を圧迫してしまう。特に昨今では、画像データのフォーマットとして、データ量の大きいＲＡＷフォーマットを選択するユースケースが増えてきている。ＲＡＷフォーマットで記録を行う利点としては、非可逆圧縮による画質の劣化が生じない、ホワイトバランス等の現像パラメータをユーザが任意に決定できることなどがある。以下、ＲＡＷフォーマットで記録した画像データをＲＡＷデータと呼称する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２３６６４６号公報
【特許文献２】特開２００７−１２９４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、１つのＲＡＷデータに対し、複数の異なる現像パラメータ、及び編集を施した画像データを保存した場合、編集元となるＲＡＷデータと編集結果の画像データとは別々に保存していた。しかしながらこの方法によると、編集結果の画像データを再編集しようとした場合に、元の編集履歴は失われているため、どのような編集を行った結果なのかがわからず、また現像パラメータを劣化なく再度調整することも不可能であった。
【０００８】
上述の課題に対し、市販の現像ソフトウェアには現像パラメータを含む編集の履歴情報をＲＡＷデータとともに保存する機能が搭載されているものがある。このような機能では現像を含む編集を行った際に、編集ごとに履歴を保存することにより、遡って再編集したり現像パラメータを変更したりする操作を可能とする。しかしながらこの機能においてはＲＡＷデータと編集の履歴情報とが一緒に保存されるため、元となる１つのＲＡＷデータから複数の編集結果を生成したい場合はＲＡＷデータを編集結果の枚数分コピーする必要がある。このためデータ量が増大し、記録装置の記録容量を圧迫してしまう。
【０００９】
本発明は前述の問題点に鑑み、１つの画像データから派生した多数の画像データ群から所望の画像データを選択する際に、ユーザの負担を軽減するとともに、記録装置の容量が圧迫することを防止できるようにすることを目的としている。
【課題を解決するための手段】
【００１０】
本発明に係る画像表示装置は、元画像データに加えられる編集処理の編集パラメータを取得する取得手段と、前記元画像データから異なる編集処理によって得られる複数の編集結果に対応するそれぞれ代表画像から、前記取得手段によって取得された編集パラメータに基づいて表示すべき代表画像を判定する判定手段と、前記判定手段によって表示すべきと判定された代表画像を表示手段に表示する表示制御手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、１つの画像データから派生した多数の画像データ群から所望の画像データを選択する際に、ユーザの負担を軽減するとともに、記録装置の容量が圧迫することを防止することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】本発明の実施形態における記録装置の記録領域の構造例を示す図である。
【図３】編集履歴データ及びリンクファイルの構造例を示す図である。
【図４】外部記録媒体に格納されているＲＡＷデータを記録装置に書き込む処理手順の一例を示すフローチャートである。
【図５】サムネイル画像一覧の表示例を示す図である。
【図６】セレクト表示モードにおいて、表示するサムネイル画像を決定する処理手順の一例を示すフローチャートである。
【図７】編集履歴における編集操作ｉｄ及び前ステップｉｄの関係を示す図である。
【図８】図６のステップＳ６０５において差分を判定する具体的な処理手順の一例を示すフローチャートである。
【図９】編集履歴スタック及びパラメータの差分値の一例を示す図である。
【図１０】編集履歴スタック及びパラメータの差分値の他の一例を示す図である。
【図１１】編集結果の画像をディスプレイモニタに表示させる処理手順の一例を示すフローチャートである。
【図１２】編集結果の画像が表示された表示画面の一例を示す図である。
【図１３】編集履歴を保存する処理手順の一例を示すフローチャートである。
【図１４】編集操作が保存されている状態で異なる編集操作を加えられた二つの編集結果の一例を示す図である。
【図１５】編集履歴データ及び対応する２つのリンクファイルの構造例を示す図である。
【図１６】リンクファイルを削除する処理手順の一例を示すフローチャートである。
【図１７】閾値Ｔを変更可能なサムネイル画像の一覧画面の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照しながら本発明の実施形態を説明する。ただし、以下の実施形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、以下の個別の実施形態によって限定されるわけではない。
【００１４】
図１は、本実施形態に係る画像処理装置１００の構成例を示すブロック図である。
図１において、Central Processing Unit（ＣＰＵ）１０３は、画像処理装置１００全体を制御する。Read Only Memory（ＲＯＭ）１０４は、変更を必要としないプログラムやパラメータを格納する。Random Access Memory（ＲＡＭ）１０５は、外部装置等から供給されるプログラムやデータを一時的に記憶する。
【００１５】
外部記録媒体１１１は、メモリカードに代表されるデータの読み書き可能な記録媒体である。また、記録装置１１３は、ハードディスクに代表される大容量の記録装置として機能し、一般的には外部記録媒体１１１の記録容量よりも大きいものである。また、記録Ｉ／Ｏ１１０、１１２はそれぞれ、外部記録媒体１１１、記録装置１１３を画像処理装置１００と接続するためのＩ／Ｏである。
【００１６】
入力Ｉ／Ｏ１０７は、ユーザの操作を受け、データを入力するポインティングデバイスであるマウス１０９やキーボード１０８等の入力デバイスと接続するためのＩ／Ｏである。映像Ｉ／Ｏ１０２は、画像処理装置１００が保持するデータや供給されたデータを表示するためのディスプレイモニタ１０１と接続するためのＩ／Ｏである。通信Ｉ／Ｆ１１４は、インターネット等のネットワーク回線に接続するためのＩ／Ｆである。システムバス１０６は画像処理装置１００の各ユニットを通信可能に接続するためのバスである。
【００１７】
ここで、記録装置１１３は図２に示すように３つの記録領域を有している。まず、第一記録領域２０１は、外部記録媒体１１１から取りこまれた元画像データであるＲＡＷフォーマットの画像データ（以下、ＲＡＷデータ）を格納する領域である。このＲＡＷデータには撮影条件等のメタデータも含むものとする。以下、説明のために、第一記録領域２０１中の特定のＲＡＷデータをrawX（Ｘ＝１，２，３・・・）と呼称する。
【００１８】
第二記録領域２０２は、ＲＡＷデータを現像するためのパラメータや、行った編集操作の履歴を含む編集履歴データを保存するための領域である。以下、説明のために、ＲＡＷデータ（rawX）に対応する第二記録領域２０２中の編集履歴データをlogX（Ｘ＝１，２，３・・・）と呼称する。この編集履歴データ（logX）は、図３（ａ）に示すように、編集操作を１から順番に割り振った編集操作ｉｄが付されて記録され、さらに適用した順番を示すために前ステップの編集操作を示す前ステップｉｄもそれぞれ記録される。
【００１９】
第三記録領域２０３は、編集履歴データ中の編集操作へのリンクと、サムネイル画像データとを含むリンクファイルを保存するための領域である。以下、説明のために、編集履歴データ（logX）に対応する第三記録領域２０３中のリンクファイルをimX＿n（Ｘ＝１，２，３・・・）と呼称する。また、リンクファイル（imX＿n）の「ｎ」は同一のＲＡＷデータから得たリンクファイル同士を識別するためのｉｄであり、ｎ＝１，２，３・・・とする。
【００２０】
リンクファイルにおいては、図３（ｂ）に示すように「対応編集履歴データ」と、「編集操作ｉｄ」とがリンク部に記録される。「対応編集履歴データ」は、対応する編集履歴データへのリンクであり、「編集操作ｉｄ」は、編集履歴データ中の編集操作ｉｄへのリンクである。また、編集結果として得られる画像データの代表画像であるサムネイル画像データはサムネイル部に記録される。例えば、図２に示す例の場合、raw3、log3、im3＿1、im3＿2はそれぞれ対応しており、im3＿1、im3＿2は同じＲＡＷデータから得た異なる編集結果を得るためのリンクファイルである。
【００２１】
（登録処理）
次に、上述のような構成を備える記録装置１１３を用いて各データを操作する方法について説明する。
図４は、外部記録媒体１１１に格納されているＲＡＷデータを記録装置１１３に書き込む処理手順の一例を示すフローチャートである。なお、以下に説明するフローチャートに示す各処理は、すべてＣＰＵ１０３の制御により行われる。
まず、ステップＳ４０１において、ＲＡＷデータ（rawX）の書き込みを行う前に、記録装置１１３中に同一のＲＡＷデータが存在しないか否かを判定する。この判定の結果、同一のＲＡＷデータが存在する場合はそのまま書き込み処理を終了し、存在しない場合はステップＳ４０２に移る。
【００２２】
次に、ステップＳ４０２において、外部記録媒体１１１からＲＡＷデータ（rawX）を取得して記録装置１１３の第一記録領域２０１に書き込み、ステップＳ４０３に移る。そして、ステップＳ４０３において、ＲＡＷデータ（rawX）中に含まれる撮影条件を基に、初期の現像パラメータを決定し、ステップＳ４０４に移る。
【００２３】
次に、ステップＳ４０４において、ステップＳ４０３で決定した初期の現像パラメータを編集履歴データ（logX）として記録装置１１３の第二記録領域２０２に記録する。本ステップでは、ホワイトバランスや露出補正等の初期現像パラメータ１つ１つを編集操作として記録するが、これらはどのような順序で適用しても編集結果に差が出ることはないため、この時点ではどのような順番で記録してもよい。また、これより前に編集操作が存在しないことを示すために、図３（ａ）に示すようにｉｄ＝１の編集操作の前ステップｉｄに「０」を代入する。以上の処理を終えた後、ステップＳ４０５に移る。
【００２４】
次に、ステップＳ４０５において、編集結果の画像データを得るためのリンクファイル（imX＿n）を作成し、記録装置１１３の第三記録領域２０３に記録する。本ステップでは、ステップＳ４０４で記録した編集履歴データ（logX）を、対応する対応編集履歴データとしてリンクファイル（imX＿n）のリンク部に記録する。また、編集履歴データ（logX）中の初期現像パラメータのうち、記録順序として末尾となっているパラメータのｉｄを編集操作ｉｄとして同様にリンクファイル（imX＿n）のリンク部に記録する。図３に示した例の場合は、編集操作ｉｄは４となる。また、ステップＳ４０３で求めた初期現像パラメータを用いてＲＡＷデータ（rawX）の現像を行い、得られた結果のサムネイル画像データをリンクファイルのサムネイル部に記録する。以上の処理を終えた後、書き込み処理を終了する。
【００２５】
以上のように、ステップＳ４０１からステップＳ４０５の処理を実行することにより、記録装置１１３にＲＡＷデータを登録することができる。
【００２６】
（サムネイル画像表示処理）
次に、図２に示した構成を備える記録装置１１３を有する画像処理装置１００が、サムネイル群をディスプレイモニタ１０１に表示させる処理について説明する。本実施形態では、サムネイル群を表示させる際に、図５（ａ）に示すような全画像表示モードと、図５（ｂ）に示すようなセレクト表示モードとの二種類の表示モードから任意のモードを選択することができる。
【００２７】
まず、図５（ａ）に示す全画像表示モードについて説明する。全画像表示モードは全ての編集結果のサムネイル画像を表示させるモードであり、画像群全体を俯瞰するような場合に用いられる。このモードでは、ファイルとして操作が可能なデータは、ファイルシステム上、第三記録領域２０３上のリンクファイルに制限される。例えば、図５（ａ）のリンクファイル閲覧ＵＩ５００のサムネイル閲覧ウィンドウ５０２には、第三記録領域２０３に記録されているリンクファイル中のサムネイル画像が表示される。一方、第一記録領域２０１及び第二記録領域２０２に記録されているデータについては表示されない。このリンクファイル閲覧ＵＩ５００においては、一般的なＯＳのファイルシステム同様、ユーザがマウス１０９を操作してポインタ５０３を動かすことによって所望のリンクファイルや操作指示部５０１を選択し、コピーや削除などの操作を行うことができる。
【００２８】
次に、図５（ｂ）に示すセレクト表示モードについて説明する。セレクト表示モードは類似したサムネイル画像をグループ化して代表するサムネイル画像を一枚のみ表示させるモードであり、ユーザが所望する画像を検索する際に用いられる。以下、サムネイル画像として表示すべきか否かを判定する処理を図６のフローチャート及び図７の概念図を参照しながら説明する。
【００２９】
図６は、表示するサムネイル画像を決定する処理手順の一例を示すフローチャートである。
まず、ステップＳ６０１において、ある１つのＲＡＷデータから派生している画像データが何枚あるか、即ちリンクファイルがいくつ存在するかを判別し、その画像数Ｎの情報を得る。図７（ａ）に示すデータ構造の例の場合は、画像数は３であるため、Ｎ＝３となる。以上の処理を終えた後、ステップＳ６０２に移る。
【００３０】
次に、ステップＳ６０２において、Ｎ個分の編集履歴スタックＳｎを作成する。以上の処理を終えた後、ステップＳ６０３に移る。そして、ステップＳ６０３において、各リンクファイルのリンク部に記録されている編集操作ｉｄの編集操作を、編集履歴スタックＳｎに加える。図７（ｂ）に示す例の場合は、ｉｄ＝７の編集操作はリンクファイル（im2＿1）の編集操作であるため、ｉｄ＝７のノイズリダクションの編集操作を編集履歴スタックＳ１に加える。以上のような処理を終えた後、ステップＳ６０４に移る。
【００３１】
次に、ステップＳ６０４において、ステップＳ６０３で編集履歴スタックＳｎに加えた編集操作の前ステップｉｄ同士が重複しているかどうかを判定する。例えば、編集履歴スタックＳｎが図９（ａ）〜図９（ｃ）に示すような状態である場合、編集履歴スタックＳ１の最後に加えられた編集操作ｉｄは６であり、その前ステップｉｄは５となっている。同様に、編集履歴スタックＳ２に加えられた最後の編集操作ｉｄは３であり、その前ステップｉｄは２である。また、編集履歴スタックＳ３に加えられた最後の編集操作ｉｄは８であり、その前ステップｉｄは２である。
【００３２】
この場合、編集履歴スタックＳ２、Ｓ３の前ステップｉｄ同士が一部重複している。このことは、図７（ａ）に示すように、リンクファイル（im2＿2）とリンクファイル（im2＿3）とでは、重複した前ステップｉｄの編集操作よりも前のｉｄ＝２の編集操作から分岐していることを意味している。ステップＳ６０４の判定の結果、前ステップｉｄ同士が重複している場合はステップＳ６０５へ移り、重複していない場合はステップＳ６０７へ移る。
【００３３】
次に、ステップＳ６０５において、ステップＳ６０４で前ステップｉｄが重複すると判定された編集履歴スタック間の編集操作同士を比較し、その差分が閾値以下か否かを判定する。この処理は、比較対象の編集履歴スタック中の編集操作が、サムネイル画像で表示しても相応の効果が見て取れるような編集操作であるか否かを判別することを目的としている。
【００３４】
図８は、図６のステップＳ６０５において差分を判定する具体的な処理手順の一例を示すフローチャートである。
まず、ステップＳ８０１において、比較対象の編集履歴スタックＳａにスタックされている編集処理のパラメータを編集パラメータテーブルＴｅに書き込む。以上の処理を終えたら、ステップＳ８０２に移る。そして、ステップＳ８０２において、もう一方の比較対象の編集履歴スタックＳｂにスタックされている編集処理のパラメータを編集パラメータテーブルＴｅに書き込む。以上の処理を終えたら、ステップＳ８０３に移る。
【００３５】
次に、ステップＳ８０３において、編集パラメータテーブルＴｅに書き込みがあった編集操作の種別毎の差分値を算出する。このとき、各編集操作の記述仕様は異なるため、それらに適応した算出法により算出する。また、この差分値は、サムネイル画像の印象を左右しやすい編集操作か否かによって重み付けされていることが好ましい。特に、編集操作の中でもトリミングは印象を左右しやすい編集操作であるため、他の編集操作は省いてトリミングの差分値のみ比較対象の編集操作としてもよい。これらの具体的な例は後述する。以上の処理を終えたら、ステップＳ８０４に移る。
【００３６】
次に、ステップＳ８０４において、前ステップで得た各差分値を総計した値Ｄtotalを算出する。以上の処理を終えたら、ステップＳ８０５に移る。そして、ステップＳ８０５において、前ステップで得た値Ｄtotalと予め定められた閾値Ｔとを比較する。以上のような処理を行うことにより、編集履歴スタック間の編集操作同士を比較し、その差分が閾値以下か否かを判定することができる。
【００３７】
ここで、上述のステップＳ８０１〜Ｓ８０５の処理について、図７、図９及び図１０に示す具体例を参照しながら説明する。まず、図７（ａ）に示すようなデータ構造であって、図７（ｂ）に示すような編集履歴データであり、そして比較するための閾値Ｔが３００である場合を考える。この場合、例えば、図７（ｂ）に示す例では編集操作ｉｄ＝１の段階で露光量が＋１．２変更され、設定値が１．２となっている。
【００３８】
そして、編集履歴スタックの状態が図９（ａ）〜図９（ｃ）に示すような状態であった場合、図９（ｂ）に示す編集履歴スタックＳ２と図９（ｃ）に示す編集履歴スタックＳ３とを比較することになる。図８に示す処理に従って編集履歴スタックＳ２、Ｓ３のパラメータを編集パラメータテーブルＴｅに書き込み、差分値の計算を行うと、図９（ｄ）に示すような結果が得られる。この時、編集パラメータテーブルＴｅは全ての編集操作分のパラメータ書き込み領域があり、変更がない部分は何も書き込まれない。
【００３９】
また、各編集操作は変更する値のレンジが異なるため、正規化のための係数が登録されている。例えば、図９（ｄ）に示す例の場合、ホワイトバランスはレンジが７５００であり、０〜１００までに正規化すると、係数は１００／７５００となる。基本的な編集操作はこのような算出方法で値を算出することができるが、トリミング等の操作はパラメータが基準座標値（ｘ，ｙ）及びサイズ（width，height）となるため、正規化ではなく別途差分を数値化するための算出法が必要となる。
【００４０】
例えばトリミングの場合、重複していない領域の割合を数値化して差分とすればよい。また、正規化係数とは別に、サムネイル画像の印象を左右しやすい編集操作か否かで重み付けを行うための係数も登録しておく。例えば、トリミングや露光量等はサムネイル画像の印象を左右しやすい編集操作であるため、重み付け係数はそれぞれ２０、１０と高い値が設定されている。これらを加味して差分値を算出すると、例えば図９（ｄ）に示すホワイトバランスの差分値は|（５００）−（−１０００）｜×５×１００／７５００＝１００となる。これら差分値を総計した値Ｄtotalを算出すると、図９（ｄ）に示す例では、Ｄtotal＝４０＋１００＋０．７＝１４０．７となる。この値は、予め定められた閾値Ｔ＝３００よりも小さい値であるため、この編集履歴スタック間の差分値は閾値以下であると判定できる。
【００４１】
また、比較対象が図１０（ａ）及び図１０（ｂ）に示すような編集履歴スタックＳ１、Ｓ２であった場合は、差分値の計算を行うと、図１０（ｃ）に示すような結果が得られる。各差分値を総計した値Ｄtotalを算出すると、図１０（ｃ）に示す例では、Ｄtotal＝４００＋４０＋１３．３＋４＋２．５＝４５９．８となる。この値は予め定められた閾値Ｔ＝３００よりも大きい値であるため、この編集履歴スタック間の差分値は閾値以上であると判定できる。
【００４２】
図６の説明に戻り、以上のような処理により閾値以下である場合はステップＳ６０６へ移り、閾値以上である場合はステップＳ６０７へ移る。
【００４３】
次に、ステップＳ６０６において、一方の編集履歴スタックを削除し、対応するリンクファイルは非表示とし、代表するサムネイル画像がもう一方のリンクファイルのサムネイル画像である旨の情報をＲＡＭ１０５に保持する。以上のような処理を終えた後、ステップＳ６０７に移る。
【００４４】
次に、ステップＳ６０７において、残されている編集履歴スタックの最後の編集操作の前ステップｉｄが０であるか否かを判定する。この判定において、前ステップｉｄが０であるということは、これ以上編集操作が行われていないことを示している。この判定の結果、前ステップｉｄが０である場合は処理をそのまま終了し、前ステップｉｄが０でない場合はステップＳ６０８に移る。
【００４５】
次に、ステップＳ６０８において、残されている各編集履歴スタックの最終編集操作の前ステップｉｄに該当する編集操作をそれぞれの編集履歴スタックＳｎに加える。以上のような処理を終えた後、ステップＳ６０４に移る。以上のようにステップＳ６０１からステップＳ６０８の処理をＲＡＷデータ毎に実行することにより、セレクト表示モードにおいてサムネイル画像として表示するべきものと、そうでないものとを判定することができる。なお、上述のような判定処理はユーザの操作によりセレクト表示モードで表示する前に予め行っておくことが望ましい。
【００４６】
（編集結果画像表示処理）
次に、図２に示すような構成を備える記録装置１１３を有する画像処理装置１００が、編集結果の画像をディスプレイモニタ１０１に表示させる表示制御について、図１１のフローチャートを参照しながら説明する。図１１に示す例では、図５に示すＵＩ上から、ユーザが任意のリンクファイルを選択し、このリンクファイルに対応する編集結果の画像を表示する手順を説明する。また、例えば、図１２に示す画像編集・表示ＵＩ１２００中の編集結果画像表示部１２０２に表示するものとして説明する。なお、図１２に示す画面の詳細については後述する。
【００４７】
図１１は、編集結果の画像をディスプレイモニタ１０１に表示させる処理手順の一例を示すフローチャートである。なお、図１１の説明では、参照中の編集操作のｉｄをcurrent＿id、参照中の編集操作の前ステップのｉｄをprev＿id、編集結果の画像を得るための一連の編集操作を一時的にキャッシュしておくスタックをスタックＳと呼称する。
【００４８】
まず、ステップＳ１１０１において、ユーザの操作に応じて、図５に示すＵＩ上から対象となるサムネイル画像に対応するリンクファイル（imX＿n）を選択し、ステップＳ１１０２に移る。そして、ステップＳ１１０２において、選択されたリンクファイル（imX＿n）のリンク部に格納されている編集操作ｉｄをcurrent＿idに代入する。図３に示す例の場合は、current＿id＝４となる。以上の処理を終え、ステップＳ１１０３に移る。
【００４９】
次に、ステップＳ１１０３において、current＿idの編集操作の前ステップｉｄをprev＿idに代入し、次のステップＳ１１０４に移る。そして、ステップＳ１１０４において、current＿idの編集操作をスタックＳに加え、次のステップＳ１１０５に移る。
【００５０】
次に、ステップＳ１１０５において、prev＿idが０であるか否かを判定する。この判定の結果、prev＿idが０、即ちこれ以上の編集操作が存在しない場合はステップＳ１１０６へ移り、prev＿idが０ではない場合はステップＳ１１０７に移る。そして、ステップＳ１１０７において、current＿idにprev＿idをセットしてステップＳ１１０３に戻る。
【００５１】
次に、ステップＳ１１０６において、編集履歴データ（logX）に対応するＲＡＷデータ（rawX）を読み出し、ステップＳ１１０８に移る。そして、ステップＳ１１０８において、スタックＳの編集操作を順番にポップしてＲＡＷデータ（rawX）に編集操作を適用する。次に、ステップＳ１１０９において、ステップＳ１１０８で得られた編集結果を画面に描画し、処理を終了する。以上のように、ステップＳ１１０１からステップＳ１１０９の処理を実行することにより、編集結果の画像を表示することができる。
【００５２】
（編集処理）
次に、図２に示すような構成を備える記録装置１１３を有する画像処理装置１００が編集操作を加え、その編集履歴を保存する処理について説明する。以下、図１２に示すような画像編集・表示ＵＩ１２００の操作指示部１２０１から編集操作が指示され、その編集履歴を保存する例について説明する。
【００５３】
図１３は、編集履歴を保存する処理手順の一例を示すフローチャートである。
まず、ステップＳ１３０１において、ユーザがＵＩ上で編集結果の保存を選択することにより編集結果の保存の指示を入力し、ステップＳ１３０２に移る。
【００５４】
次に、ステップＳ１３０２において、保存対象となる一連の編集操作が既存ではないか否かを判定する。この判定の結果、保存対象となる一連の編集操作が既存でない場合はステップＳ１３０３に移り、既存である場合はステップＳ１３０７に移る。
【００５５】
次に、ステップＳ１３０３において、新規に加えた編集操作を編集履歴データ（logX）に書き込み、ステップＳ１３０４に移る。ここで、書き込む編集操作はその順序を保持するため、前の編集操作を示す前ステップｉｄもこのときに書き込む。また、本実施形態における編集履歴データのデータ構造によれば、編集操作を遡って変更して分岐させることが可能であり、このことについて図１４を参照しながら説明する。なお、図１４において示されている数字は編集履歴データ（logX）中の一つ一つの編集操作のｉｄである。
【００５６】
図１４は、ＲＡＷデータ（rawX）が記録装置１１３に登録された時に、ｉｄ＝１〜４の編集操作が保存されている状態で、ｉｄ＝１まで遡り、ｉｄ＝２〜４とは異なるｉｄ＝５〜７の編集操作を加えられた二つの編集結果の一例を示す図である。本実施形態では、図１５（ａ）に示したように、前ステップｉｄ＝１の処理を２つ持つことにより、ある編集操作から分岐した複数の編集結果を同時に保存しておくことができる。
【００５７】
次に、ステップＳ１３０４において、ユーザに編集元となったリンクファイル（imX＿n）に上書きするか否かの選択を促し、ユーザの操作により上書きの指示を受けたか否かを判定する。この判定の結果、ユーザにより上書きが指示された場合はステップＳ１３０５へ移行し、上書きが指示されていない場合はステップＳ１３０９へ移る。
【００５８】
次に、ステップＳ１３０５において、編集元となったリンクファイル（imX＿n）中のサムネイル画像データを、新しい一連の編集操作から得られる編集結果の画像におけるサムネイル画像データに更新する。例えば、図１５（ｂ）に示すリンクファイル（imX＿1）から編集を始め、ユーザがｉｄ＝１の編集操作まで遡り、ｉｄ＝２〜４とは異なるｉｄ＝５〜７の編集操作を加えたものとする。そして、この編集結果を上書きで保存する場合には、図１５（ｂ）に示すリンクファイル（imX＿1）のサムネイル部と、リンク部の編集操作ｉｄとを更新する。以上の処理を終えた後、ステップＳ１３０６に移る。
【００５９】
次に、ステップＳ１３０６において、編集履歴データ（logX）中の不要となった編集操作を削除する。例えば、図１５（ａ）に示す編集履歴において、この編集結果を上書きで保存する場合には、編集元のｉｄ＝１〜４の編集操作のうち、ｉｄ＝２〜４の編集操作は不要となるため、削除する。以上のような処理を終えた後、編集履歴を保存する処理を終了する。
【００６０】
一方、ステップＳ１３０７においては、同様の編集結果がある旨をディスプレイモニタ１０１に表示するなどによってユーザに知らせ、ステップＳ１３０８へ移る。そして、ステップＳ１３０８において、ユーザに保存するか否かの選択を促し、保存する指示を受けたか否かを判定する。この判定の結果、保存が指示された場合はステップＳ１３０９へ進み、そうでない場合は編集結果を保存する処理を終了する。
【００６１】
次のステップＳ１３０９においては、第三記録領域２０３に新しいリンクファイルを作成して保存する。例えば、図１５（ａ）に示す編集履歴において保存する場合は、図１５（ｃ）に示すように、新しいリンクファイル（imX＿2）を作成する。そして、編集履歴を保存する処理を終了する。以上のようにステップＳ１３０１からステップＳ１３０９の処理を実行することにより編集履歴を保存することができる。
【００６２】
ここで、図１２に示すように、参照中の編集結果の編集履歴一覧を編集履歴表示部１２０３に表示し、現在参照中の編集結果の画像がどのような編集操作を経て得られるかを可視化できるようにしてもよい。また、各編集操作間の関係を編集履歴ツリー表示部１２０４に示ししてもよい。これにより、同一のＲＡＷデータから派生した編集結果の関係が明確となり、より直観的な編集操作が可能となる。
【００６３】
また、編集結果の画像データを他の外部記録装置に書き込む場合に、ユーザが操作指示部１２０１等から外部に書き込むコマンドを選択し、任意の画像フォーマットとサイズとを選択することにより通常の画像ファイルとしても書き込むことができる。また、ＲＡＷデータを他の外部記録装置に書き込む場合も同様に、ユーザが操作指示部１２０１等から外部に書き込むコマンドを選択することによりＲＡＷデータを書き込むことができる。
【００６４】
（削除処理）
次に、図２に示すような構成を備える記録装置１１３を有する画像処理装置１００がリンクファイルを削除する処理について説明する。
【００６５】
図１６は、リンクファイルを削除する処理手順の一例を示すフローチャートである。
まず、ステップＳ１６０１において、ユーザが図５に示すＵＩ上から任意のサムネイル画像を選択することにより、対象となるリンクファイル（imX＿n）の削除指示を入力し、ステップＳ１６０２に移る。
【００６６】
次に、ステップＳ１６０２において、同一のＲＡＷデータ（rawX）から派生した他のリンクファイルがあるか否かを判定する。この判定の結果、他のリンクファイルが存在する場合はステップＳ１６０３へ移り、他のリンクファイルが存在しない場合はステップＳ１６０５へ移る。
【００６７】
次に、ステップＳ１６０３において、対応する編集履歴データ（logX）中の不要となった編集操作を削除する。例えば、図１５（ｂ）に示すリンクファイル（imX＿1）と図１５（ｃ）に示すリンクファイル（imX＿2）とが存在し、リンクファイル（imX＿1）を削除する場合、図１５（ａ）に示す編集履歴データ（logX）中の編集操作ｉｄ＝２〜４を削除する。以上のような処理を終えた後、ステップＳ１６０４へ移る。そして、ステップＳ１６０４において、ユーザにより指定されたリンクファイル（imX＿n）を削除し、リンクファイル削除処理を終了する。
【００６８】
一方、ステップＳ１６０５においては、リンクファイル（imX＿n）に対応するＲＡＷデータ（rawX）を削除し、ステップＳ１６０６へ移る。そして、ステップＳ１６０６において、リンクファイル（imX＿n）に対応する編集履歴データ（logX）を削除し、ステップＳ１６０４へ移る。以上のようにステップＳ１６０１からステップＳ１６０６の処理を実行することにより、リンクファイルを削除するとともに、不要となるＲＡＷデータ及び編集履歴データも削除することができる。
【００６９】
以上のように本実施形態によれば、同一の元画像から派生した多数の画像を含む画像群から所望の画像を選択する際のユーザの負担を軽減しつつ、かつデータ量の増大による記録装置の記録容量圧迫を防止する事が可能となる。
【００７０】
（その他の実施形態）
前述した実施形態では、図６のステップＳ６０５の処理において、用いる閾値Ｔを一意に決定していた。この方法によれば、ユーザは全画像表示モードかセレクト表示モードかを指定するのみでサムネイル画像を閲覧できる。しかし、決定された閾値Ｔが必ずしもユーザに志向に沿うとは限らず、過剰にグループ化を行ってしまう場合もあれば、逆にサムネイル画像数が過多となる場合もある。そこで、閾値Ｔをユーザが設定し、サムネイル画像を動的に更新することにより、直観的にサムネイル画像のグループ化の粒度を決定してもよい。この場合、閾値Ｔを小さくすると、グループ化が行われにくくなり、閾値Ｔを大きくすると、グループ化がより行われるようになる。
【００７１】
例えば、図１７に示すように、グループ化閾値指示部１７０１をＵＩに設け、ユーザにより閾値Ｔを変更できるようにしてもよい。そして、閾値Ｔを最小とした場合には全てのサムネイル画像を表示させることができ、閾値Ｔを最大とした場合には１つのＲＡＷデータに対して１つのサムネイル画像のみを表示させることができる。これにより、全画像表示モードまたはセレクト表示モードの選択は不要となり、ユーザはサムネイル画像のグループ化の粒度を直感的に決定することができる。
【００７２】
また、前述した実施形態では、編集操作の分岐も考慮した編集履歴データを用いて、サムネイル画像を表示するか否かを判定した。この方法では、比較する編集処理が少なくて済むため、高速に判断結果を得ることが可能であるが、比較する順序が編集操作の分岐位置によって固定されてしまう。この結果、最適でないグループ化が生じてしまう場合がある。
【００７３】
そこで、同一のＲＡＷデータから派生した各リンクファイルに施された全ての編集処理とパラメータとを用いて、全ての組み合わせでサムネイル画像を表示するか否かを判定してもよい。この場合、グループ化する際に、より編集履歴間の差分値が小さいものに行うようにする。このようにすることによって、より精度の高いサムネイル画像の表示判定を行うことができる。
【００７４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７５】
２０１  第一記録領域
２０２  第二記録領域
２０３  第三記録領域
【図１】
2014154971.tif 000003
【図２】
2014154971.tif 000004
【図３】
2014154971.tif 000005
【図４】
2014154971.tif 000006
【図５】
2014154971.tif 000007
【図６】
2014154971.tif 000008
【図７】
2014154971.tif 000009
【図８】
2014154971.tif 000010
【図９】
2014154971.tif 000011
【図１０】
2014154971.tif 000012
【図１１】
2014154971.tif 000013
【図１２】
2014154971.tif 000014
【図１３】
2014154971.tif 000015
【図１４】
2014154971.tif 000016
【図１５】
2014154971.tif 000017
【図１６】
2014154971.tif 000018
【図１７】
2014154971.tif 000019