(57)【要約】【課題】編集画像の管理が容易で、かつ画像を比較して編集を行うことができるようにする。【解決手段】制御部１０１はオリジナル画像に複数の基準点を設定して、基準点の設定されたオリジナル画像に対する編集処理を実行して、基準点が付加された編集画像を生成する。そして、制御部は編集画像に付加された基準点とオリジナル画像に設定された基準点に基づき、編集画像をオリジナル画像に重ねて表示部１１１に表示する。【選択図】図１３
2018085561.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記オリジナル画像に複数の基準点を設定する設定手段と、
前記基準点の設定されたオリジナル画像に対する編集処理を実行して、前記基準点が付加された編集画像を生成する編集手段と、
前記編集画像に付加された基準点と前記オリジナル画像に設定された基準点に基づき、前記編集画像を前記オリジナル画像に重ねて表示部に表示するよう制御する表示手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記編集処理が予め定められた編集処理であるとき、前記基準点の位置を変更する変更手段をさらに有し、
前記編集手段は、前記変更された基準点が付加された前記編集画像を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記予め定められた編集処理は、トリミング処理、拡大処理、および縮小処理の少なくとも１つであることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記編集手段は、前記オリジナル画像に対して異なる編集処理を実行して複数の編集画像を生成し、
前記表示手段は、前記複数の編集画像を重ね合わせて前記表示部に表示するよう制御することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記表示手段は、前記オリジナル画像と前記複数の編集画像とに含まれる基準点から少なくとも１点を抽出して、前記オリジナル画像と前記複数の編集画像とを前記抽出した１点に基づいて位置合わせすることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記表示手段は、前記オリジナル画像および前記複数の編集画像をそのサイズに応じて重ねて前記表示部に表示することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記表示手段は、前記複数の編集画像をそのサイズが大きい編集画像が表示画面の奥側となるように配置して表示するよう制御することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
情報処理装置の制御方法であって、
前記オリジナル画像に複数の基準点を設定する設定ステップと、
前記基準点の設定されたオリジナル画像に対する編集処理を実行して、前記基準点が付加された編集画像を生成する編集ステップと、
前記編集画像に付加された基準点と前記オリジナル画像に設定された基準点に基づき、前記編集画像を前記オリジナル画像に重ねて表示部に表示するよう制御する表示ステップと、
を有することを特徴とする制御方法。
【請求項９】
コンピュータを請求項１乃至７のいずれか1項に記載の情報処理装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、および制御プログラムに関し、特に、特に、同一の画像データ（以下単に画像と呼ぶ）を用いて複数の編集画像を生成する情報処理装置に関する。
【背景技術】
【０００２】
一般に、デジタルカメラなどの撮像装置で撮影した画像を編集して、ブログ又はソーシャルネットワーキングサービス（以下ＳＮＳと呼ぶ）に画像を投稿することが行われている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１１１４０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ブログおよびＳＮＳにおいては、投稿可能な画像サイズが大きいものがある一方、投稿可能な画像の縦横比が正方形などの特徴的な形状であるものがある。つまり、ブログおよびＳＮＳ毎に画像の表示方法および縦横サイズが異なることがある。
【０００５】
このため、ユーザは、複数のブログおよびＳＮＳに同一の画像を投稿すれば、画像の表示方法および縦横サイズが異なることを気にする必要はない。一方、効果的に情報を発信するためには、画像をブログおよびＳＮＳの各々において最適な縦横サイズにトリミングし、さらにはトリミング領域に応じた色味の調節をすることが求められる。つまり、投稿先であるブログおよびＳＮＳの特性に応じた画像編集を行う必要がある。よって、ユーザはオリジナル画像を元にして画像編集を行って、当該複数の編集画像を管理する必要がある。
【０００６】
また、ユーザは１つのブログおよびＳＮＳ用に編集した画像をベースとして、別のブログおよびＳＮＳ用の編集画像を作成することがある。この場合、ユーザは以前に編集した画像およびオリジナル画像と比較しつつ編集を行いたいものの、編集画像はについてリジナル画像をトリミングしたものが多く、画像を比較して編集することが難しい。
【０００７】
よって、本発明の目的はオリジナル画像から編集画像を生成した場合に、編集画像とオリジナル画像の比較が容易になり、効率的に編集を行うことができる情報処理装置、その制御方法、および制御プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本発明による情報処理装置は、前記オリジナル画像に複数の基準点を設定する設定手段と、前記基準点の設定されたオリジナル画像に対する編集処理を実行して、前記基準点が付加された編集画像を生成する編集手段と、前記編集画像に付加された基準点と前記オリジナル画像に設定された基準点に基づき、前記編集画像を前記オリジナル画像に重ねて表示部に表示するよう制御する表示手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、オリジナル画像から編集画像を生成した場合に、編集画像とオリジナル画像の比較が容易になり、効率的に編集を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態による情報処理装置の一例についてその構成を示すブロック図である。
【図２】図１に示す情報処理装置で行われる画像編集処理の一例を説明するためのフローチャートである。
【図３】図１に示す情報処理装置において表示部に表示される埋め込み設定画面の一例を示す図である。
【図４】図１に示す情報処理装置で用いられる画像データのデータ構造の一例を説明するための図である。
【図５】図４に示す基準点情報のデータ構造についてその一例を示す図である。
【図６】図１に示す情報処理装置において基準点情報が埋め込まれた画像データの一例を説明するための図である。
【図７】図２に示す画像の編集処理を説明するためのフローチャートである。
【図８】図１に示す情報処理装置で行われるトリミング処理に応じた基準点の調節処理を説明するための図である。
【図９】図５に示す基準点情報のデータ構造についてその更新の一例を示す図である。
【図１０】図１に示す情報処理装置で行われる拡大・縮小処理に応じた基準点の調節処理を説明するための図である。
【図１１】図５に示す基準点情報のデータ構造についてその更新の他の例を示す図である。
【図１２】図８（ｂ）に示す画像を拡大処理した際の基準点情報のデータ構造の一例を示す図である。
【図１３】図１に示す情報処理装置で行われる画像の比較表示処理を説明するためのフローチャートである。
【図１４】図１３に示すステップＳ１１１３の処理を説明するための図である。
【図１５】図１３に示すステップＳ１１１３の処理において基準点の座標の変化を示す図である。
【図１６】図１に示す情報処理装置で行われる基準点の重ね合わせ処理の一例を説明するための図である。
【図１７】図１３に示すステップＳ１１１５の処理で表示部に表示される画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態による情報処理装置の一例について図面を参照して説明する。
【００１２】
［第１の実施形態］
図１は、本発明の第１の実施形態による情報処理装置の一例についてその構成を示すブロック図である。
【００１３】
図示の情報処理装置は、例えば、コンピュータ装置（ＰＣ）である。この情報処理装置は単一のＰＣであってもよく、必要に応じて複数のＰＣに機能を分散させるようにしてもよい。複数のＰＣを用いる場合には、相互に通信可能とするためＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）などの通信回線によって接続される。
【００１４】
制御部１０１は情報処理装置１００全体を制御する。制御部１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２には変更を要しないプログラムおよびパラメータが格納される。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３は外部装置などから供給されるプログラムおよびデータを一時的に記憶する。記憶装置１０４は情報処理装置１００に固定的に設置されたハードディスク又はメモリカードなどであり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）などのプログラムを記憶する。
【００１５】
入力インターフェース（Ｉ／Ｆ）１０５は、ユーザの操作を受け付けるポインティングデバイス又はキーボードなどの入力装置（図示せず）に接続される。ＢＭＵ（Ｂｉｔ  Ｍｏｖｅ  Ｕｎｉｔ）１０６は、メモリ間（例えば、ＶＲＡＭ１０７と他のメモリとの間）およびメモリとＩ／Ｏデバイス（例えば、ネットワークインターフェイス１０９）間のデータ転送を制御する。
【００１６】
ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）１０７には、表示部１１１に表示するための画像が描画される。ＶＲＡＭ１０７に生成（描画）された画像は所定の規定に従って表示部１１１に送信されて表示部１１１に表示される。ネットワークインターフェイス（ＮＥＴ  Ｉ．Ｆ）１０９はインターネットなどの通信回線１１０に接続される。システムバス１１２は各ブロック（ユニット）を相互に接続する。
【００１７】
なお、記憶装置１０４には、フォトサイトのアプリケーションプログラムソフトウエア（以下「フォトアプリ」という）が記憶され。さらに、デジタルカメラなどの撮像装置で得られた画像ファイルなどのコンテンツが記憶される。また、表示部１１１にはタッチセンサを有するタッチパネルを備えるようにしてもよい。
【００１８】
図２は、図１に示す情報処理装置１００で行われる画像編集処理の一例を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は、制御部１０１が記憶装置１０４から画像編集プログラムを読み出して実行することによって行われる。
【００１９】
制御部１０１は、ユーザの操作に応じて編集のベースとなる画像を選択する（ステップＳ２０１）。ここでは、制御部１０１は、ユーザの選択に応じた画像（画像データ）を記憶装置１０４から読み出す。続いて、制御部１０１は、ユーザによって選択された画像データに基準点情報が埋め込まれているか否かを判定する（ステップＳ２０２）。画像データに基準点情報が埋め込まれていると（ステップＳ２０２において、ＹＥＳ）、制御部２０１は画像データから基準点情報を読み出す（ステップＳ２０３）。そして、制御部２０１は後述する画像の編集処理を行う（ステップＳ２０５）。
【００２０】
一方、ユーザによって選択された画像データに基準点情報が埋め込まれていないと（ステップＳ２０２において、ＮＯ）、制御部２０１は後述する埋め込み設定画面に応じて基準点情報の埋め込みを行う（ステップＳ２０４）。そして、制御部２０１はステップＳ２０５の処理に進む。なお、基準点情報が埋め込まれていない場合には、当該画像データについて一度も編集処理が行われていないことになる。つまり、当該画像データは編集元となるオリジナル画像データである。
【００２１】
ステップＳ２０５の処理の後、制御部２０１は、ユーザ操作に応じてＮＥＴ  Ｉ／Ｆ１０９を介してブログ・ＳＮＳに編集処理済みの画像データをアップロード（投稿）する（ステップＳ２０６）。そして、制御部２０１は編集処理を終了する。なお、ステップＳ２０６の投稿処理では、ブログ・ＳＮＳ毎の仕様に応じて投稿処理が行われる。
【００２２】
図３は、図１に示す情報処理装置１００において表示部１１１に表示される埋め込み設定画面の一例を示す図である。なお、図示の埋め込み設定画面は、ユーザによって選択された画像データに基準点情報が埋め込まれていない場合に、制御部２０１によって表示される。
【００２３】
埋め込み設定画面３００には、第１のラジオボタン３０１および第２のラジオボタン３０２が表示されるとともに、第１のコンボボックス３０３および第２のコンボボックス３０４が表示される。第１のラジオボタン３０１は基準点情報を埋め込む間隔を情報処理装置（システム）に任せる場合に用いられる。第２のラジオボタン３０２は基準点情報を埋め込む間隔をユーザが設定する際に用いられる。そして、第１のコンボボックス３０３はユーザが基準点情報を設定する際の縦方向の間隔設定に用いられる。第２のコンボボックス３０４はユーザが基準点情報を設定する際の横方向の間隔設定に用いられる。
【００２４】
ユーザが第１のラジオボタン３０１を選択すると、制御部１０１は選択された画像の縦横サイズをベースとして基準点情報の間隔を設定する。なお、予め画像サイズ毎に基準点情報の間隔を設定しておくようにしてもよく、学習によって基準点情報の間隔を設定するようにしてもよい。
【００２５】
ユーザが第２のラジオボタン３０２を選択すると、制御部１０１は埋め込み設定画面３００に画像の縦横サイズを表示するとともに、前述の第１および第２のコンボボックス３０３および３０４を表示する。第１および第２のコンボボックス３０３および３０４の各々によって、基準点情報を設定する間隔をピクセル単位で設定することができる。
【００２６】
なお、図示の例では、基準点情報の設定間隔を１０ピクセル単位としているが、基準情報の設定間隔はこの例に限定されない。また、図示の例では、第１および第１のコンボボックス３０３および３０４を用いて基準点情報の間隔を設定するようにした。一方、基準情報の設定間隔をキーボードなどを用いて入力するための入力フィールドを埋め込み設定画面３００に表示するようにしてもよい。
【００２７】
図４は、図１に示す情報処理装置１００で用いられる画像データのデータ構造の一例を説明するための図である。そして、図４（ａ）は画像フォーマットの一例であるＪＰＥＧデータフォーマットの一例を示す図であり、図４（ｂ）は画像フォーマットの一例であるＪＰＥＧデータフォーマットの他の例を示す図である。
【００２８】
図４（ａ）において、図示のフォーマットはその先頭にＳＯＩ（Ｓｔａｒｔ  Ｏｆ  Ｉｍａｇｅ）のマーカ４００が位置し、最後にＥＯＩマーカ（Ｅｎｄ  Ｏｆ  Ｉｍａｇｅ）４０３が位置する。そして、ＳＯＩマーカ４００とＥＯＩマーカ４０３の間に複数のセグメント領域４０１と画像データ４０２とが位置づけられている。
【００２９】
制御部１０１は、図２で説明したステップＳ２０４において、図４（ｂ）に示すように、ＥＯＩマーカ４０３の後に後述するデータ構造を有する基準点情報４０４を追加して、その後に再度ＥＯＩマーカ４０５を埋め込む。ＥＯＩマーカ４０５の埋め込みによって、ＪＰＥＧフォーマットの構造を保つことができ、他の画像編集アプリなどにおいても正常に扱うことができる。
【００３０】
なお、ここでは、画像フォーマットとしてＪＰＥＧフォーマットを例に挙げて説明したが、基準点情報を付加可能であれば、他のフォーマットを用いるようにしてもよい。
【００３１】
図５は、図４に示す基準点情報のデータ構造についてその一例を示す図である。
【００３２】
図示の例では、データ形式としてＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）形式を例に挙げて説明するが、Ｋｅｙ＝Ｖａｌｕｅの形式でデータを格納できる形式であれば、特にデータ形式は限定されない。
【００３３】
基準点情報は、編集元となったオリジナル画像のパス５００、画像データの表示開始位置５０１、基準点のうち表示範囲に入っている数（表示範囲数）５０２、および基準点の位置５０３をデータとして有している。
【００３４】
オリジナル画像のパス５００は、“ｏｒｉｇｉｎａｌ＿ｉｍｇ”のＫｅｙで管理されており、具体的なファイルパスをＶａｌｕｅに有している。前述のように、基準点情報が埋め込まれていない場合には、オリジナル画像となるので、基準点情報を埋め込む際にデフォルト値としてオリジナル画像のファイルパスを埋め込む。以後の編集でこのデータ（ファイルパス）は変更および削除されることがない。
【００３５】
画像データの表示開始位置５０１は、“ｏｒｉｇｉｎ”のＫｅｙで管理されている。当該表示開始位置５０１は、後述する画像表示処理においてオリジナル画像と重ねて表示する際の原点位置のＸ軸座標“ｘ＿ｐｏｓ”、Ｙ軸座標“ｙ＿ｐｏｓ”をＶａｌｕｅとして有している。
【００３６】
なお、ここでは画像の左下を原点とし、横軸方向をＸ軸、縦軸方向をＹ軸とするが、原点の位置および軸方向が本発明を限定するものではない。
【００３７】
オリジナル画像に対して最初に基準点情報を埋め込む際には、座標（ｘ＿ｐｏｓ，ｙ＿ｐｏｓ）に（０，０）がデフォルト値として埋め込まれる。
【００３８】
表示範囲数５０２は、“ｖａｌｉｄ＿ｃｏｕｎｔ”のＫｅｙで管理される。表示範囲数５０２は基準点の位置５０３において“ｖａｌｉｄ”の値が“１”であるデータ数のＶａｌｕｅを有する。なお、具体的な利用方法については後述する。オリジナル画像に対して最初に基準点情報を埋め込む際には、埋め込む基準点の総数がデフォルト値として埋め込まれる。
【００３９】
基準点の位置５０３は、“ｐｏｉｎｔ”のＫｅｙで管理される。基準点の位置５０３は各基準点の情報をＶａｌｕｅに有する。基準点の情報は、基準点のＩＤを“ｉｄ”、該当基準点のＸ軸座標を“ｘ＿ｐｏｓ”、該当基準点のＹ軸座標を“ｙ＿ｐｏｓ”、該当基準点が表示領域に含まれているかを示すフラグを“ｖａｌｉｄ”の各Ｋｅｙで管理する。
【００４０】
図５に示す例では、横４，０００ピクセル／縦３，０００ピクセルの画像に対して、縦横方向ともに２５０ピクセルの間隔で基準点を設定した際の基準点の一例が示されている。“ｉｄ”は原点からＸ軸方向のカウント数と、Ｙ軸方向のカウント数を“＿”で接続した文字列となっている。“ｘ＿ｐｏｓ”／“ｙ＿ｐｏｓ”には、該当基準点の座標のピクセル数が格納されている。“ｖａｌｉｄ”には、該当基準点が表示領域に含まれている場合には“１”が格納され、含まれていない場合には“０”が格納される。
【００４１】
オリジナル画像に対して最初に基準点情報を埋め込む際には、図３に示す埋め込み設定画面３００で指定した間隔設定に応じて“ｉｄ”の文字列、および“ｘ＿ｐｏｓ”／”ｙ＿ｐｏｓ”のピクセル数がデフォルトとして埋め込まれる。また、“ｖａｌｉｄ”については全て“１”がデフォルトとして埋め込まれる。
【００４２】
図６は、図１に示す情報処理装置において基準点情報が埋め込まれた画像データの一例を説明するための図である。そして、図６（ａ）は基準点情報を埋め込む前のオリジナル画像データを示す図であり、図６（ｂ）は基準点情報が埋め込まれた画像データを模式化して示す図である。
【００４３】
図示の例では、横４，０００ピクセル／縦３，０００ピクセルのオリジナル画像に対して、縦横方向ともに２５０ピクセルの間隔で基準点が設定されている。図６（ｂ）では、黒丸で示す位置に基準点情報が設定されている。
【００４４】
図７は、図２に示す画像の編集処理を説明するためのフローチャートである。
【００４５】
編集処理を開始すると、制御部１０１は、ユーザによる編集操作が行われたか否かを判定する（ステップＳ７０１）。ユーザによる編集操作が行われないと（ステップＳ７０１において、ＮＯ）、制御部１０１は待機する。
【００４６】
一方、ユーザによる編集操作が行われると（ステップＳ７０１において、ＹＥＳ）、制御部１０１は当該編集操作がトリミング処理を行う操作（トリミング操作）であるか否かを判定する（ステップＳ７０２）。編集操作がトリミング操作であると（ステップＳ７０２において、ＹＥＳ）、制御部１０１は、トリミング操作に応じて基準情報が埋め込まれた画像データについてトリミング処理を行い、編集画像を生成する（ステップＳ７０３）。そして、制御部１０１はトリミング処理に応じて基準点を調節する調節処理を行い、オリジナル画像に設定された基準点を調整結果に基づき変更して編集画像に付加する（ステップＳ７０４）。
【００４７】
図８は、図１に示す情報処理装置で行われるトリミング処理に応じた基準点の調節処理を説明するための図である。そして、図１０（ａ）はトリミング領域を示す図であり、図１０（ｂ）は画像の移動を示す図である。なお、ここでは、図６に示す画像データについてトリミング処理が行われたものとする。
【００４８】
図８（ａ）に示すように、ここでは、破線で示す枠（５００，２５０）〜（４，０００，２，７５０）の領域（トリミング領域）８０１がトリミング処理される。この場合、トリミング処理後、制御部１０１はトリミング領域８０１の左隅の点（基準点）が原点となるように画像を移動させる（図８（ｂ）参照）。ここでは、制御部１０１は、画像全体をＸ軸方向に−５００ピクセル、Ｙ軸方向に−２５０ピクセル移動させる。そして、制御部１０１は“ｐｏｉｎｔ”で管理する各基準点の座標をＸ軸方向に−５００ピクセル、Ｙ軸方向に−２５０ピクセル移動させる。
【００４９】
この際、トリミング枠（つまり、トリミング領域８０１）の座標は（０，０）〜（３，５００，２，５００）に移動する。このため、制御部１０１は、トリミング枠の範囲外となった基準点の“ｖａｌｉｄ”の値を“０”に更新する。さらに、全ての基準点の“ｖａｌｉｄ”を更新した後、制御部１０１は“ｖａｌｉｄ”の値が“１”である基準点を求めて、その値を“ｖａｌｉｄ＿ｃｏｕｎｔ”に代入する。なお、“ｏｒｉｇｉｎａｌ＿ｉｍｇ”および“ｏｒｉｇｉｎ”の情報については更新しない。
【００５０】
図９は、図５に示す基準点情報のデータ構造についてその更新の一例を示す図である。
【００５１】
図８（ｂ）に示すように基準点の座標を更新すると、図５に示す基準点情報は図９に示す基準点情報に更新される。
【００５２】
再び図７を参照して、編集操作がトリミング操作でないと（ステップＳ７０２において、ＮＯ）、制御部１０１は編集操作が画像の拡大又は縮小処理を行う操作（拡大・縮小操作）である否かを判定する（ステップＳ７０６）。編集操作が拡大・縮小操作であると（ステップＳ７０６において、ＹＥＳ）、制御部１０１は、画像に対して拡大・縮小操作に応じた拡大又は縮小処理を行う（ステップＳ７０７）。そして、制御部１０１はステップＳ７０４の処理に進んで、基準点の調節処理を行う。
【００５３】
図１０は、図１に示す情報処理装置で行われる拡大・縮小処理に応じた基準点の調節処理を説明するための図である。そして、図１０（ａ）はトリミング領域を示す図であり、図１０（ｂ）は画像の移動を示す図である。また、図１０（ｃ）は拡大処理された画像を示す図である。なお、ここでは、図６に示す画像データについてトリミング処理が行われたものとする。
【００５４】
図１０（ａ）に示すように、ここでは、破線で示す枠（１０００，５００）〜（３，２５０，２，７５０）の領域（トリミング領域）９０１がトリミングされる。この場合、トリミング後、制御部１０１はトリミング領域９０１の左隅の点（基準点）が原点となるように画像を移動させる（図１０（ｂ）参照）。この際の処理は、図８に関連して説明した処理と同様であり、制御部１０１は、画像全体をＸ軸方向に−１００ピクセル、Ｙ軸方向に−５５０ピクセル移動させる。そして、制御部１０１は“ｐｏｉｎｔ”で管理する基準点の座標をＸ軸方向に−１００ピクセル、Ｙ軸方向に−５５０ピクセル移動させる。
【００５５】
図１１は、図５に示す基準点情報のデータ構造についてその更新の他の例を示す図である。
【００５６】
図１０（ｂ）に示すように基準点の座標を更新すると、図５に示す基準点情報は図１１に示す基準点情報に更新される。
【００５７】
続いて、図１０（ｂ）に示すトリミング後の画像をＸおよびＹ軸方向ともに１．５倍に拡大したものとする。
【００５８】
図１０（ｂ）においては、トリミングの際に画像の移動を行っているので、当該画像を１．５倍に拡大する際には、制御部１０１は画像および基準点を１．５倍に拡大すればよい。そして、当該拡大処理の際にはトリミング領域には変化はないので、基準点のｖａｌｉｄの値の更新を行う必要はなく、基準点の座標のみが変更となる。具体的には、基準点のＸ軸座標およびＹ軸座標を全て１．５倍する。
【００５９】
図１２は、図８（ｂ）に示す画像を拡大処理した際の基準点情報のデータ構造の一例を示す図である。
【００６０】
図１０（ｂ）に示す画像を１．５倍に拡大処理すると、その基準点情報は図１２に示す基準点情報に更新される。
【００６１】
再び図７を参照して、編集操作が拡大・縮小操作でないと（ステップＳ７０６において、ＮＯ）、制御部１０１は基準点の変更を伴わない編集処理を行い、編集画像を生成する（ステップＳ７０８）。ここで、基準点の変更を伴わない編集処理とは、例えば、色および明るさ、そして、シャープネスなどの調節、又は赤目補正などの処理をいう。編集画像には、オリジナル画像での位置を維持した基準点が付加される。
【００６２】
なお、同一のオリジナル画像をベースとする編集において、１つの編集においては画像の回転処理を行い、他の編集では回転処理を行わないケースはレアケースである。よって、図示の例では、処理については説明を省略している。回転処理についても、拡大処理などと同様に座標の変更（回転量に応じた座標移動を、三角関数を用いて算出する）によって行うことができる。このように基準点の調節処理が必要な編集処理の種類などについては特に限定されない。
【００６３】
ステップＳ７０４の処理の後、制御部１０１は編集後の画像を表示部１１１に表示する（ステップＳ７０９）。なお、ステップＳ７０８の処理の後、制御部１０１はステップＳ７０９の処理に進む。
【００６４】
続いて、制御部１０１は、編集処理が終了したか否かを判定する（ステップＳ７１０）。つまり、制御部１０１はユーザが引き続き次の編集処理を行うか否かを判定する。編集処理が終了しないと（ステップＳ７１０において、ＮＯ）、制御部１０１はステップＳ７０１の処理に戻る。
【００６５】
編集処理が終了すると（ステップＳ７１０において、ＹＥＳ）、制御部１０１は、編集後の画像ファイルを別ファイルとして扱うため、編集後のファイルをオリジナル画像と別のファイル名で記憶装置１０４に保存する（ステップＳ７１１）。そして、制御部１０１は編集処理を終了する。
【００６６】
図１３は、図１に示す情報処理装置で行われる画像の比較表示処理を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は、制御部１０１が記憶装置１０４から画像編集プログラムを読み出して実行することによって行われる。
【００６７】
図示の比較表示処理は、例えば、画像の編集処理中に処理モードの切り替えなどによって実行される。比較表示処理によって、ユーザは同一のオリジナル画像から生成した編集画像を比較して、また編集処理に戻って編集を継続することができる。
【００６８】
比較表示処理を開始すると、制御部１０１は、ユーザの操作に応じて比較したい画像を選択する（ステップＳ１１０１）。ここでは、制御部１０１は、ユーザの選択に応じた画像（画像データ）を記憶装置１０４から読み出す。なお、編集モードから比較表示モードに切り替えた場合には、制御部１０１は編集中の画像を比較したい画像として選択する。
【００６９】
続いて、制御部１０１は、該当選択した画像における基準点情報を参照して、編集元のオリジナル画像のパスを“ｏｒｉｇｉｎａｌ＿ｉｍｇ”から取得し画面に表示する（ステップＳ１１０２）。そして、制御部１０１は、オリジナル画像のパスを有する画像を記憶装置１０４から検索して、同一のオリジナル画像から生成した編集画像の一覧を取得する（ステップＳ１１０３）。
【００７０】
ここでは、毎回、記憶装置１０４を検索すると時間が掛かってしまうので、例えば、管理対象ファイルを予め情報処理装置に登録する。これによって、検索の範囲を絞り込んで検索時間を短縮するようにする。
【００７１】
制御部１０１は、編集画像の一覧において編集画像を基準点情報の“ｖａｌｉｄ＿ｃｏｕｎｔ”の降順にソートする（ステップＳ１１０４）。例えば、図８（ｂ）に示す編集画像と図１０（ｃ）に示す編集画像が編集画像の一覧として表示されたとする。この場合には、図９および図１２に示すように、図８（ｂ）に示す画像の方が“ｖａｌｉｄ＿ｃｏｕｎｔ”が大きい。よって、制御部１０１は図８（ｂ）に示す画像＞図１０（ｃ）に示す画像の順番にソートすることになる。
【００７２】
続いて、制御部１０１は、自然数Ｎに編集画像の一覧数を代入し、さらにループ変数ｉに初期値“１”を代入する。さらに、制御部１０１は配列Ａｒｒａｙ［  ］に編集元となった基準点のＩＤリストを初期値として代入する（ステップＳ１１０５）。
【００７３】
続いて、制御部１０１は自然数Ｎ≧ループ変数ｉであるか否かを判定する（ステップＳ１１０６）。つまり、制御部１０１は編集画像一覧に未だ検索対象の画像が残っているか否かを判定する。自然数Ｎ≧ループ変数ｉであると（ステップＳ１１０６において、ＹＥＳ）、制御部１０１は、ｉ番目の編集画像で“ｖａｌｉｄ”が“１”の基準点ＩＤリストを取得する。つまり、制御部１０１は編集画像の表示領域に含まれる基準点のリストを取得する（ステップＳ１１０７）。続いて、制御部１０１は、基準点ＩＤリストとＡｒｒａｙ［  ］に格納されたリストとの共通集合を求めて、との結果をＡｒｒａｙ［  ］に代入する（ステップＳ１１０８）。
【００７４】
次に、制御部１０１は、ループ変数ｉをインクリメントする（ステップＳ１１０９）。そして、制御部１０１はステップＳ１１０６の処理に戻る。これによって、制御部１０１は編集画像一覧の全ての画像を検索する。
【００７５】
このようにすれば、オリジナル画像および全ての編集画像について表示領域に含まれる基準点のリストを生成することができる。
【００７６】
自然数Ｎ＜ループ変数ｉであると（ステップＳ１１０６において、ＮＯ）、制御部１０１はオリジナル画像および全ての編集画像について表示領域に含まれる基準点のリストから任意の２点の基準点を選択（抽出）する（ステップＳ１１１０）。そして、制御部１０１は、再度編集画像の一覧（リスト）を検索するため、自然数Ｎに編集画像の一覧数を代入するとともに、ループ変数ｉに初期値“１”を代入する（ステップＳ１１１１）。
【００７７】
続いて、制御部１０１は自然数Ｎ≧ループ変数ｉであるか否かを判定する（ステップＳ１１１２）。自然数Ｎ≧ループ変数ｉであると（ステップＳ１１１２において、ＹＥＳ）、制御部１０１は、選択した２つの基準点のうちいずれか一方がオリジナル画像の同一の基準点（つまり、ＩＤ）と一致するように編集画像を移動する（ステップＳ１１１３）。
【００７８】
図１４は、図１３に示すステップＳ１１１３の処理を説明するための図である。そして、図１４（ａ）は図６で示したオリジナル画像を示す図であり、図１４（ｂ）は図８の処理でトリミングをした画像の図である。また、図１４（ｃ）は図１０の処理でトリミング及び拡大処理された画像を示す図である。
【００７９】
また、図１５は、図１３に示すステップＳ１１１３の処理において基準点の座標の変化を示す図である。そして、図１５（ａ）は選択された基準点の一例を示す図であり、図１５（ｂ）は画像の移動による基準点の移動を示す図である。また、図１５（ｃ）は拡大処理後の基準点座標を示す図である。
【００８０】
図１４に示す例では、基準点情報のｉｄが６＿６および１０＿６の２点が選択された状態が示されている。そして、この場合の図１４（ａ）〜図１４（ｃ）に示す画像における選択された２点および原点（ｏｒｉｇｉｎ）の座標は図１５（ａ）に示す座標となる。
【００８１】
いま、選択された２点のうちｉｄが６＿６の基準点の位置合わせを行うとする。図１４（ｂ）に示す状態では、Ｘ軸方向に＋５００ピクセル、そして、Ｙ軸方向に＋２５０ピクセル移動させる必要がある。一方、図１４（ｃ）に示す状態では、Ｘ軸方向に＋７００ピクセル移動させるが、Ｙ軸方向には移動させる必要がない。
【００８２】
また、原点位置も移動させるので、基準点情報におけるｏｒｉｇｉｎの（ｘ＿ｐｏｓ，ｙ＿ｐｏｓ）も同様に平行移動させる。その結果、図１５（ｂ）に示す座標となる。なお、図１５（ｂ）においては、移動に応じて変化した箇所を太字のイタリック文字で示している。
【００８３】
上述の処理によって、図１４（ｂ）および図１４（ｃ）に示すｉｄが６＿６の基準点が図１４（ａ）に示すオリジナル画像と重なり、さらに、原点の位置を平行移動することができる。
【００８４】
再び図１３を参照して、ここで、他方の１点がオリジナル画像の基準点と重なっていないとする。この場合、編集画像が拡大又は縮小されているので、制御部１０１は、他方の１点も重なるように編集画像を拡大又は縮小処理して位置およびサイズ合わせる（ステップＳ１１１４）。
【００８５】
ここで、図１４および図１５を参照して、図１４（ｂ）に示す画像は拡大又は縮小処理が行われていないので、図１５（ｂ）に示すようにｉｄが１０＿６の基準点は既に重なっており、この結果、制御部１０１はステップＳ１１１５の処理をスキップする。
【００８６】
一方、ｉｄが１０＿６の基準点が重なっていないと、制御部１０１はｉｄが６＿６の基準点を中心として、例えば、図１４（ｃ）に示すように拡大処理を行って基準点を重ね合わせる。
【００８７】
図１６は、図１に示す情報処理装置で行われる基準点の重ね合わせ処理の一例を説明するための図である。そして、図１６（ａ）は基準点の移動を示す図であり、図１６（ｂ）は縮小処理を示す図である。また、図１６（ｃ）は、縮小処理後の基準点の移動を示す図であり、図１６（ｄ）は基準点の重ね合せを示す図である。
【００８８】
まず、図１６（ａ）に示すように、中心点とするｉｄが６＿６の基準点が原点にとなるように、画像をＸ軸方向に−１，５００ピクセル、そして、Ｙ軸方向に−１，５００ピクセル移動させる。この際、画像全体が移動するので、ｉｄが６＿６の基準点およびｉｄが１０＿６の基準点とともに原点（ｏｒｉｇｉｎ）の位置も移動させる。
【００８９】
続いて、図１６（ｂ）に示すように、ｉｄが６＿６の基準点を中心として画像の縮小処理が行われる。図１４に示す例では、図１４（ａ）においてはｉｄが６＿６とｉｄが１０＿６の基準点の距離は１，０００ピクセルである。一方、図１４（ｃ）においては、この距離が１，５００ピクセルである。よって、ｉｄが６＿６の基準点を中心として２／３に縮小すればよい。
【００９０】
さらに、図１６（ｃ）に示すように、ｉｄが６＿６の基準点が元の位置に戻るように、画像をＸ軸方向に＋１，５００ピクセル、そして、Ｙ軸方向に＋１，５００ピクセル移動させる。その結果、図１６（ｄ）に示す結果が得られる。つまり、ｉｄが１０＿６の基準点が座標（２，５００，１，５００）の位置に移動され、オリジナル画像の同一の基準点の座標と重なることになる。なお、この場合のｉｄが６＿６の基準点、ｉｄが１０＿６の基準点、そして、ｏｒｉｇｉｎの座標は、図１５（ｃ）に示す状態となる。
【００９１】
再び図１３を参照して、制御部１０１は、ステップＳ１１１３およびＳ１１１４の処理によって得られた編集画像をオリジナル画像に重ねて表示部１１１に表示する（ステップＳ１１１５）。ここでは、画像のサイズが大きい画像が画面の奥側に配置される。
【００９２】
図１７は、図１３に示すステップＳ１１１５の処理で表示部に表示される画面の一例を示す図である。
【００９３】
図１７に示す例では、画像の重なりをユーザに分かり易く表示するため、制御部１０１は、例えば、オリジナル画像１２０１と編集画像１２０２および１２０３の各々に枠線を施す。なお、ユーザが画像の重なりを理解可能な表示であれば、枠線以外の手法を用いるようにしてもよい。また、編集画像１２０２はステップＳ１１１３の処理で得られた画像であり、編集画像１２０３はステップＳ１１１４の処理で得られた画像である。
【００９４】
次に、制御部１０１は、ループ変数ｉをインクリメントする（ステップＳ１１１６）。そして、制御部１０１はステップＳ１１１２の処理に戻る。これによって、制御部１０１は編集画像一覧の全ての編集画像を検索する。なお、自然数Ｎ＜ループ変数ｉであると（ステップＳ１１１２において、ＮＯ）、制御部１０１は比較表示処理を終了する。
【００９５】
上述のように、編集画像一覧は“ｖａｌｉｄ＿ｃｏｕｎｔ”の大きい順、つまり、表示領域が大きい順に並んでいる。よって、比較表示処理によってオリジナル画像上に編集画像が表示領域の大きい順に重なる状態で表示されることになる。編集モードから比較表示モードに切り替えた場合には、編集モードにおいて編集中の画像を最も前面側に表示するようにすれば、今までに編集された編集画像と編集中の画像との比較が容易になる。
【００９６】
さらに、編集画像が重ねて表示されている場合に、矢印キーの押下又はタッチパネルにおけるスワイプ操作などによって、表示画面における奥行き方向の前後の編集画像の奥行き方向の位置を切り替えるようにする。これによって、ユーザは複数の編集画像の比較をスムーズに行うことができる。
【００９７】
なお、上述の例では、画像の位置および縦横サイズの合わせるため、全ての編集画像に含まれる任意の２点の基準点情報を用いた。一方、ある１点に着目して位置のみを合わせたい場合がある。このような場合には、任意の１点の基準点情報をユーザが選択して、当該基準点を合わせるようにすればよい。
【００９８】
このように、本発明の実施の形態では、ユーザがオリジナル画像に基づいて複数の編集画像の作成する際に、編集画像の差異を容易に比較して効率的な編集を行うことができる。
【００９９】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【０１００】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を情報処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを情報処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【０１０１】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０２】
１０１  制御部
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  記憶装置
１０５  入力Ｉ／Ｆ
１０６  ＢＭＵ
１０７  ＶＲＡＭ
１０９  ＮＥＴ  Ｉ／Ｆ
１１１  表示部
【図１】
2018085561.tif 000003
【図２】
2018085561.tif 000004
【図３】
2018085561.tif 000005
【図４】
2018085561.tif 000006
【図５】
2018085561.tif 000007
【図６】
2018085561.tif 000008
【図７】
2018085561.tif 000009
【図８】
2018085561.tif 000010
【図９】
2018085561.tif 000011
【図１０】
2018085561.tif 000012
【図１１】
2018085561.tif 000013
【図１２】
2018085561.tif 000014
【図１３】
2018085561.tif 000015
【図１４】
2018085561.tif 000016
【図１５】
2018085561.tif 000017
【図１６】
2018085561.tif 000018
【図１７】
2018085561.tif 000019