(57)【要約】【課題】複数の画像を適切な位置に配置した２次元平面のレイアウトを作成できるようにする。【解決手段】レイアウトを作成するための指示を入力すると、トリミング時のトリミングの範囲の情報やカメラによる撮影時のカメラの操作に係る情報などの操作情報を取得する。そして、これらの操作情報から画像間での相対位置を決定し、その決定した位置に画像を配置したレイアウトを作成するようにして、撮影者が体験したままの位置関係で違和感のないレイアウトを作成できるようにする。【選択図】図３
2013235375.tif 000002
【特許請求の範囲】
【請求項１】
レイアウトの対象となる複数の画像を作成するためになされたそれぞれの操作に係る操作情報を保持する保持手段と、
前記保持手段により保持されている操作情報に基づいて、前記複数の画像の間の相対的な位置関係を決定する決定手段と、
前記決定手段により決定された位置関係に基づいて、前記複数の画像のレイアウトを作成するレイアウト手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記保持手段は、前記操作情報としてトリミングする位置の操作指示の情報を保持することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記保持手段は、前記操作情報として撮影条件の操作指示の情報を保持することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記保持手段は、撮影条件の制御コマンドの履歴を前記操作指示の情報として保持することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記保持手段は、センサから取得される情報の積分値を前記操作指示の情報として保持することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
レイアウトの対象となる複数の画像を作成するためになされたそれぞれの操作に係る操作情報を保持する画像処理装置の画像処理方法であって、
前記保持されている操作情報に基づいて、前記複数の画像の間の相対的な位置関係を決定する決定工程と、
前記決定工程において決定された位置関係に基づいて、前記複数の画像のレイアウトを作成するレイアウト工程とを備えることを特徴とする画像処理方法。
【請求項７】
レイアウトの対象となる複数の画像を作成するためになされたそれぞれの操作に係る操作情報を保持する画像処理装置を制御するためのプログラムであって、
前記保持されている操作情報に基づいて、前記複数の画像の間の相対的な位置関係を決定する決定工程と、
前記決定工程において決定された位置関係に基づいて、前記複数の画像のレイアウトを作成するレイアウト工程とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法及びプログラムに関し、特に、複数の画像のレイアウトを作成するために用いて好適な技術に関する。
【背景技術】
【０００２】
写真等のコンテンツをレイアウトする際に、撮影位置情報などコンテンツに付随したメタデータを考慮して配置位置を決定するレイアウト技術が知られている。例えば、特許文献１には、撮影時に取得された撮影位置・方位等の情報を基に３次元の立体データ上の対応する点に写真を配置出力する方式が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１２２６３８号公報
【非特許文献】
【０００４】
【非特許文献１】Kaneda, K.; Wang, P. P.; "Camcorder operation judgment using a neural computing approach", Fuzzy Logic and intelligent Systems, 1995
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述した技術では、フォトアルバム等の２次元平面に写真を配置する際には、適用できない。例えば、３次元の立体データを射影することにより２次元平面上で表現することが可能だが、各コンテンツが重なってしまう問題が生じる可能性がある。さらに、トリミング処理などを行った場合に撮影時の情報は有効でなくなる可能性がある。例えば、１枚の写真から複数のトリミングを行った場合、トリミングにより生成された各画像が持つ撮影時に取得された情報は、同一のものとなる。したがって、トリミングにより生成された画像をレイアウトする際には、撮影時に取得された位置情報を有効に使用することができない。
【０００６】
本発明は前述の問題点に鑑み、複数の画像を適切な位置に配置した２次元平面のレイアウトを作成できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、レイアウトの対象となる複数の画像を作成するためになされたそれぞれの操作に係る操作情報を保持する保持手段と、前記保持手段により保持されている操作情報に基づいて、前記複数の画像の間の相対的な位置関係を決定する決定手段と、前記決定手段により決定された位置関係に基づいて、前記複数の画像のレイアウトを作成するレイアウト手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、撮影者が体験したままの位置関係で２次元平面のレイアウトを作成することができる。
【図面の簡単な説明】
【０００９】
【図１】レイアウトを作成する処理の概要を示す概念図である。
【図２】実施形態における画像処理装置のハードウェア構成例を示すブロック図である。
【図３】実施形態に係る画像処理装置の機能構成例を示すブロック図である。
【図４】第１の実施形態において、操作情報を取得する処理手順の一例を示すフローチャートである。
【図５】第１の実施形態において、レイアウトを作成する処理手順の一例を示すフローチャートである。
【図６】図４に示す処理の具体例として、トリミングにより画像を作成する際に操作情報を取得する処理手順の一例を示すフローチャートである。
【図７】図５に示す処理の具体例として、トリミングにより作成された画像のレイアウトを作成する処理手順の一例を示すフローチャートである。
【図８】第１の実施形態において、トリミングにより作成された画像のレイアウトを作成する処理の概要を説明する図である。
【図９】図４に示す処理の具体例として、カメラの操作により画像を生成する際に操作情報を取得する処理手順の一例を示すフローチャートである。
【図１０】図５に示す処理の具体例として、カメラの操作により生成された画像のレイアウトを作成する処理手順の一例を示すフローチャートである。
【図１１】第１の実施形態において、カメラの操作により作成された画像のレイアウトを作成する処理の概要を説明する図である。
【図１２】第２の実施形態において、複数の被トリミング画像からトリミング画像を作成してレイアウトを作成する処理手順の一例を示すフローチャートである。
【図１３】第２の実施形態において、複数の被トリミング画像からトリミング画像を作成してレイアウトを作成する処理の概要を説明する図である。
【図１４】制御コマンドリストの一例を示す図である。
【図１５】動きベクトルを用いて制御コマンドを決定する手法の概要を示す概念図である。
【図１６】２つの出力ユニットにより制御コマンドを規定されたリストの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の好適な実施形態について添付の図面を参照して詳細に説明する。
（第１の実施形態）
まず、本実施形態における処理概要を説明する。本実施形態では、写真等のコンテンツのレイアウトを作成して出力するシステムについて説明する。当該システムでは、コンテンツが作成される際の操作情報を用いて、コンテンツの配置位置を決定する。
【００１１】
図１は、レイアウトを作成する処理の概要を示す概念図である。図１において、写真生成対象１０１は、レイアウトを生成する画像群を包含する対象である。写真群１０２は、写真生成対象１０１から写真を生成した結果であり、各写真は生成時の操作情報を保持している。レイアウト１０３は、写真群１０２を本実施形態の手法により作成したレイアウトである。一方、写真群１０２をランダムに配置すると、レイアウト１０４が生成される可能性がある。レイアウト１０４は、写真生成対象１０１と被写体間の関係が異なっており、閲覧者に対して画像の意味的な観点から違和感を与える可能性がある。そこで、本実施形態の手法を用いることにより、写真生成対象における被写体間の関係を保持したレイアウトを出力する。
【００１２】
図２は、本実施形態における画像処理装置２００のハードウェア構成例を示すブロック図である。
図２において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２は、各種処理のための演算や論理判断などを行い、バス２０１に接続された各種要素を制御する。
【００１３】
本実施形態に係る画像処理装置２００には、プログラムメモリとデータメモリとを含むメモリが搭載されている。プログラムメモリとしてＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３には、フローチャートにより後述する各種処理手順を含むＣＰＵ２０２による制御のためのプログラムが格納されている。なお、当該プログラムが外部記憶装置２０６などからロードされてＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４に格納される構成であってもよい。あるいは、これらの組合せで実現しても構わない。
【００１４】
記憶装置２０５は例えばハードディスクであり、本実施形態に係るデータやプログラムを記憶している。また、本実施形態では、写真等を保持しておくためにも利用される。なお、写真を保持しておく装置としては、外部接続やネットワークに接続された写真保持装置を用いてもよい。また、記憶装置２０５と同様の役割を果たすものとして、外部記憶装置２０６を用いてもよい。ここで、外部記憶装置２０６は、例えば、メディア（記録媒体）と、当該メディアへのアクセスを実現するための外部記憶ドライブとにより実現することができる。このようなメディアとしては、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＭＯ、フラッシュメモリ等が知られている。
【００１５】
入力装置２０７は、ユーザからの指示を入力するためのものである。ユーザは入力装置２０７を介して、当該レイアウト処理システムに指示を行う。なお、入力装置２０７は、例えば、キーボードやポインティングデバイスにより実現することができる。また、入力装置２０７の一例として、さらに画像を撮影する撮像部（カメラ）も含まれる。出力装置２０８は、処理結果等を表示出力する表示手段としての装置である。出力装置２０８は、例えば、出力のための回路を含むＣＲＴ（Ｃａｔｈｏｄｅ−Ｒａｙ  Ｔｕｂｅ）や液晶表示器などのディスプレイ装置により実現することができる。本実施形態では、写真やレイアウト結果等を出力装置（表示装置）２０８に表示する。なお、本実施形態では入力装置２０７と出力装置２０８とを別装置として説明したが、入力装置２０７及び出力装置２０８を併せ持つタッチパネル式の装置を用いてもよい。
【００１６】
インタフェース（Ｉ／Ｆ）２０９は、外部装置とのデータのやり取りを行うためのものである。画像生成装置２１０は、画像生成対象から画像を生成するための装置である。画像生成装置２１０は、例えば、カメラやビデオカメラ、ネットワークカメラなどにより実現可能である。
【００１７】
図３は、本実施形態に係る画像処理装置２００の機能構成例を示すブロック図である。
図３において、入力部３０１は、入力装置２０７からユーザの指示を受け付け、操作情報を操作情報保持部３０２に記憶する。操作情報保持部３０２は、入力部３０１により入力された画像を生成する時の操作情報を保持している。相対位置決定部３０３は、操作情報保持部３０２により保持されている操作情報を用いて、画像の位置関係を決定する。
【００１８】
レイアウト部３０４は、相対位置決定部３０３により決定された位置関係となるように写真のレイアウトを作成する。なお、レイアウトそのものを作成する処理は、既存のレイアウト技術を用いる。既存のレイアウト技術としては、予め用意されたテンプレートに対して写真を配置することによりレイアウトを実現するものなどが知られている。また、当該処理に用いられるテンプレートは、テンプレートＤＢ３０６に保持されている。出力部３０５は、ユーザ操作を支援する各種ユーザインターフェースや処理結果等を出力装置２０８に表示するための表示制御を行う。
【００１９】
画像（写真）のレイアウトを作成する時には、操作情報保持部３０２に保持されている操作情報を用いて相対位置決定部３０３で写真間の位置関係を決定し、当該位置関係の情報を用いてレイアウト部３０４により写真のレイアウトを作成する。これにより、画像生成対象と同様の被写体の位置関係でレイアウトを作成することができる。
【００２０】
図４は、本実施形態において、操作情報を取得する処理手順の一例を示すフローチャートである。
まず、ステップＳ４００において、レイアウトに採用する写真を作成し、入力部３０１は、ユーザの操作により画像のレイアウトを作成するための指示を入力する。例えば、トリミングによりオリジナルの写真から部分写真を取り出してレイアウトを作成する指示を入力したり、別の例として、カメラを操作して撮影された複数の写真のレイアウトを作成する指示を入力したりすることが挙げられる。また、レイアウトに採用する写真を作成する処理としては、ＣＰＵ２０２の制御によりトリミング処理を行ったり、ＣＰＵ２０２により撮影部である入力装置２０７を制御して写真を撮影したりする。
【００２１】
次に、ステップＳ４０１において、入力部３０１は、ステップＳ４００で入力された指示に基づく操作情報を取得する。操作情報の一例としては、トリミング時のトリミングの範囲やカメラによる撮影時のカメラの操作情報が該当する。
【００２２】
次に、ステップＳ４０２において、操作情報保持部３０２は、ステップＳ４０１で取得した操作情報を、対象となる写真に対応づけて保持する。この処理では、操作情報を写真のメタデータとして対応づける。なお、当該メタデータは、操作情報とともに写真を操作情報保持部３０２に保持し、ＥＸＩＦのような写真のメタデータ格納領域に保持してもよく、写真との関連付けの情報を他の不図示のＤＢで管理してもよい。
【００２３】
図５は、本実施形態において、レイアウトを作成する処理手順の一例を示すフローチャートである。
まず、ステップＳ５００において、相対位置決定部３０３は、操作情報保持部３０２から操作情報を取得する。この処理では、レイアウト対象として指定された写真に対応付けられている操作情報を取得する。具体的には、図４のステップＳ４０２において対応付けた領域にアクセスすることにより取得することができる。すなわち、操作情報保持部３０２に保持されている写真のメタデータ格納領域から操作情報を取得したり、不図示のＤＢに保持された写真との関連付の情報を読み出して、対応する操作情報を操作情報保持部３０２から取得したりする。なお、レイアウトの対象の指定は、ユーザにより行われてもよく、予め設定された条件に従って指定してもよい。
【００２４】
次に、ステップＳ５０１において、相対位置決定部３０３は、ステップＳ５００で取得した操作情報に基づいて写真間の相対的な位置関係を決定する。当該処理により決定される相対的な位置関係は、写真間で上下方向と左右方向とを用いて決定される。例えば、写真Ａと写真Ｂとが存在する場合、写真Ａは写真Ｂに対しての上下方向・左右方向での相対的な位置関係が決定される。このように、上下方向及び左右方向の組合せにより、斜めの位置関係も規定することが可能である。
【００２５】
次に、ステップＳ５０２において、レイアウト部３０４は、ステップＳ５０１で決定した位置関係に基づいて写真の配置を決定する。具体的には、ステップＳ５０１で決定した位置関係と合致する配置が可能なテンプレートをテンプレートＤＢ３０６から取得する。そして、当該テンプレートに対して、各写真をステップＳ５０１で決定した位置関係となるように配置することによりレイアウトを作成する。ここで、レイアウトを作成する処理ではテンプレートを用いたが、テンプレートを用いない方式を採用してもよい。例えば、ステップＳ５０１で決定した位置関係を制約して、サイズ等をランダムで配置することも可能である。
【００２６】
続いて、図４及び図５に示した手順の具体的な適用例として、トリミングにより作成された画像のレイアウトを作成する例を説明する。例えば、多画素の撮像装置を持つカメラにより撮影された写真に対してトリミングを行うことにより、部分的な画像を作成し、当該作成された画像のレイアウトを作成する処理が挙げられる。
【００２７】
図６は、トリミングにより画像を作成する際に操作情報を取得する処理手順の一例を示すフローチャートである。すなわち、図４に示す処理をトリミング時に適用した場合の処理を説明するものである。
まず、ステップＳ６００において、ユーザの操作指示に応じてＣＰＵ２０２はトリミング処理を行う。そして、入力部３０１は、ユーザの操作によりトリミングしてレイアウトを作成する指示を入力する。トリミング指示では、例えば、入力装置２０７であるマウス等を用いてトリミング対象となる画像（被トリミング画像）から矩形領域を指定することにより行われる。なお、図８（ａ）には、ユーザの操作によりトリミング指示がなされた画像の一例を示しており、トリミング領域８０１、８０２が指示された領域である。
【００２８】
本実施形態では、トリミングはユーザの操作により指示されるものとして説明したが、オブジェクトの抽出や画像認識などを活用した既存のトリミング技術を用いてもよい。例えば、画像内の顔を認識して、認識された顔の大きさが所定値となるようにトリミング領域を決定する技術を用いてもよい。
【００２９】
次に、ステップＳ６０１において、入力部３０１は、ステップＳ６００で入力された指示に応じて、トリミングが指定された領域の重心を決定し、当該重心を操作情報として取得する。ここで、重心は、被トリミング画像の大きさを座標系として定義した空間内で算出される。図８（ｂ）には、図８（ａ）に示すトリミング領域８０１、８０２に対する重心８０３、８０４を示している。
【００３０】
次に、ステップＳ６０２において、操作情報保持部３０２は、ステップＳ６０１で取得した重心の操作情報をトリミングされた画像に対応づける。対応付けは、図４のステップＳ４０２に示した処理で実現される。
【００３１】
なお、本実施形態では、トリミング領域は矩形としたが、非矩形としてもよい。この場合も非矩形の重心を算出し、操作情報とすることができる。また、トリミング領域の重心を操作情報としたが、他の情報を操作情報としてもよい。例えば、重心ではなく領域の左上頂点の座標とするなども可能である。
【００３２】
図７は、トリミングにより作成された画像のレイアウトを作成する処理手順の一例を示すフローチャートである。すなわち、図５に示す処理をトリミングにより作成された画像に対して適用した場合の処理を説明するものである。
まず、ステップＳ７００において、相対位置決定部３０３は、レイアウトの対象として指定された画像の操作情報を取得する。ここで、レイアウトの対象として指定された画像はトリミングにより作成されたものであるため、操作情報として重心情報が取得される。
【００３３】
次に、ステップＳ７０１において、相対位置決定部３０３は、ステップＳ７００で取得した重心情報を用いて画像間の相対的な位置関係を取得する。この処理では、上下方向と左右方向とに分割して実施する。上下方向の位置関係を取得する際には、重心座標のｙ方向の値を比較することにより位置関係を取得し、左右方向の位置関係を取得する際には、重心座標のｘ方向の値を比較することにより位置関係を取得する。なお、この比較処理においては、座標の差の絶対値が規定値以内である場合には同じと判断し、規定値を超える場合は位置関係を判断する。例えば、図８（ａ）に示す例では、トリミング領域８０１の写真は、トリミング領域８０２の写真に対して左側に存在し、上下方向は同じであることがわかる。また、規定値を用いることによって、人間の見た目にはわからないような位置関係について吸収することができるという効果がある。
【００３４】
次に、ステップＳ７０２において、レイアウト部３０４は、ステップＳ７０１で取得した相対的な位置関係を用いてレイアウトを作成する。当該処理は、図５のステップＳ５０２にて説明した処理で実現される。図８（ｃ）には、図８（ａ）に示すトリミングされた画像のレイアウトを作成した結果の一例を示している。このようにステップＳ７０１で取得した位置関係と同様にレイアウトが作成される。
【００３５】
以上のように本実施形態によれば、画像を生成した時の操作情報を用いるようにしたので、画像間の相対的な位置関係を決定して当該位置関係に基づくレイアウトを作成することができると。なお、本実施形態では、静止画像を対象として説明を行ったが、動画像にも適用することも可能である。この場合、動画像の各フレームを静止画像として扱うことにより、本実施形態と同様の処理を適用できる。
【００３６】
次に、図４及び図５の処理に従った具体的の適用例として、カメラの撮影操作により画像を生成する場合の例について詳細に説明する。
【００３７】
図９は、カメラの操作により画像を生成する際に操作情報を取得する処理手順の一例を示すフローチャートである。すなわち、図４に示す処理をカメラ撮影時に適用した場合の処理を説明するものである。
まず、ステップＳ９００において、ユーザの操作指示によりＣＰＵ２０２は撮影部である入力装置２０７を制御して写真を撮影する。そして、入力部３０１は、ユーザによりパン・チルト等のカメラ操作が行われて撮影される画像のレイアウトを作成する指示を入力する。図１１（ａ）は、撮影対象となる実世界を示しており、図１１（ｂ）は、図１１（ａ）に示す撮影範囲１１００において撮影された写真を示す。
【００３８】
次に、ステップＳ９０１において、入力部３０１は、ステップＳ９０１で入力された指示に係る情報を操作情報として取得する。操作情報としては、例えば、ネットワークカメラやカメラを操作するための操作台に接続されたカメラを制御するために発行される制御コマンドが挙げられる。当該制御コマンドは、カメラの撮影角度（左右・上下方向）、ズーム及び静止画撮影情報といった撮影条件を制御することが可能であり、コマンドの発行履歴は一連のシーケンスとして得ることが可能である。
【００３９】
このステップＳ９０１においては、当該制御コマンドのリストを操作情報として取得する。取得する対象となる制御コマンドは、前回の撮影時から今回の撮影時までに整理し、前回の撮影時に生成された画像を特定するための情報も合わせて取得する。例えば、図１１（ｂ）に示す写真Ａの撮影後に、写真Ｂを撮影した場合、写真Ａの撮影時から写真Ｂの撮影時までの制御コマンドをリストとして取得する。そして、前回撮影した画像が写真Ａであることを示す情報も合わせて取得する。
【００４０】
本実施形態では、撮影毎に制御コマンドを整理する方法を用いたが、全ての撮影が終わるまでの一連の制御コマンドシーケンスを取得し、当該情報を用いて制御コマンドリストを作成してもよい。この場合、レイアウトの対象となる写真が決定された後、当該写真間の制御コマンドを制御コマンドシーケンスから抽出する。
【００４１】
図１４は、制御コマンドリストの一例を示す図であり、写真Ａ、写真Ｂ、写真Ｃの撮影間に発行された制御コマンドを抜粋したリストを示している。図１４に示すように、操作情報１４００は、写真リスト１４０１と当該写真に関連付けられている制御コマンドリスト１４０２とで構成されている。制御コマンドリスト１４０２は、制御コマンド１４０３と制御コマンド１４０３の動作を規定するためのパラメータ１４０４とを保持する。制御コマンド１４０３は、前述したようにカメラの撮影角度や撮影倍率を制御するためのものである。
【００４２】
図１４に示す例においては、カメラの横方向の撮影角度を調整するためのパンコマンド、カメラの縦方向への撮影角度を調整するためのチルトコマンド、カメラの撮影倍率を調整するためのズームコマンドを備えている。パラメータ１４０４は、当該コマンドの制御量を規定するものであり、本実施形態においては各制御コマンドに対して「＋」もしくは「−」をパラメータとして指定することができる。以下、各制御コマンドとパラメータとについて簡単に説明する。
【００４３】
パンコマンドに対してパラメータ「＋」が設定されている場合は、撮影中の画像幅の半ピクセル分だけカメラの撮影角度を右方向へ動かしたことを示している。一方、パンコマンドに対してパラメータ「−」が設定されている場合は、撮影中の画像幅の半ピクセル分左方向へ動かしたことを示している。
【００４４】
また、チルトコマンドに対してパラメータ「＋」が設定されている場合は、撮影中の画像高さの半ピクセル分だけカメラの撮影角度を上方向へ動かしたことを示している。一方、チルトコマンドに対してパラメータ「−」が設定されている場合は、撮影中の画像高さの半ピクセル分下方向へ動かしたことを示している。
【００４５】
さらに、ズームコマンドに対してパラメータ「＋」が設定されている場合は、現状の撮影倍率に対して１倍分加算していることを示している。一方、ズームコマンドに対してパラメータ「−」が設定されている場合は、現状の撮影倍率から１倍分減算していることを示している。例えば、現状のカメラの撮影倍率が３倍の際に、パラメータが「＋」のズームコマンドが発行された場合、撮影倍率は４倍に変更される。一方、パラメータが「−」のズームコマンドが発行された場合は、撮影倍率は２倍に変更される。
【００４６】
また、写真リスト１４０１は撮影順に保持されており、写真に対応付けられている制御コマンドは、当該リストにおいて１つ上の写真が撮影された後に発行された制御コマンドである。図１４に示す例では、写真Ａが撮影された後に、写真Ｂが撮影されており、写真Ｂが撮影されるまでに発行された制御コマンドは、「ズーム：−」「ズーム：−」「パン：＋」である。本実施形態では、制御コマンドを発行順に単純なリストとして管理しているが、「ズーム：−２」、「パン：＋１」というようにヒストグラムの形式にしてもよい。
【００４７】
また、操作情報を制御コマンドとして説明したが、他の情報を用いることも可能である。例えば、カメラが保持する各種センサで取得可能な情報を用いて操作情報を取得することが可能である。具体的には、角速度や加速度等のセンサで取得される情報を積算することにより、積分値としてカメラ向きの移動量を算出することが可能であり、当該移動量を操作情報としてもかまわない。例えば、加速度センサの場合、センサ出力の値である加速度を積分して速度を取得し、当該速度をさらに積分することにより移動量を算出することができる。
【００４８】
次に、ステップＳ９０２においては、操作情報保持部３０２は、ステップＳ９０１で取得した制御コマンドを操作情報として撮影された画像に対応づける。対応付けは、図４のステップＳ４０２にて説明した処理で実現される。
【００４９】
図１０は、カメラの操作により生成された画像のレイアウトを作成する処理手順の一例を示すフローチャートである。すなわち、図５に示す処理をカメラにより撮影された画像に対して適用した場合の処理を説明するものである。
【００５０】
まず、ステップＳ１０００において、相対位置決定部３０３は、レイアウト対象として指定された画像の操作情報を操作情報保持部３０２から取得する。ここで、レイアウトの対象として指定された画像はカメラにより生成されたものであるため、操作情報として制御コマンドリストが取得される。この制御コマンドリストは、前回撮影時からの差分情報であり、さらに、制御コマンドリストと共に前回撮影時の画像を特定するための情報が保持されているため、連続撮影でない写真間の操作情報（制御コマンドリスト）を取得することができる。例えば、写真Ａを撮影した後に写真Ｂが撮影され、その後写真Ｃが撮影された例を考える。レイアウトの対象が写真Ａと写真Ｃとして指定された場合、写真Ｂが持つ制御コマンドリストと写真Ｃが持つ制御コマンドリストとを結合したものが操作情報として取得される。
【００５１】
次に、ステップＳ１００１において、相対位置決定部３０３は、ステップＳ１０００で取得した制御コマンドの情報を用いて画像間の相対的な位置関係を取得する。具体的には、制御コマンドリストに記載されている各種制御コマンドで規定される移動量を積算し、画像間での位置関係を決定する。
【００５２】
ここで、ステップＳ１００１の処理について、図１４に示す制御コマンドリスト１４０２を参照しながら具体例を説明する。写真Ａと写真Ｃとがレイアウトの対象とする場合、写真Ｃが撮影される前に写真Ｂが撮影されているため、写真Ｃが撮影された際の操作情報は、写真Ｂの制御コマンドリストと写真Ｃの制御コマンドリストとが結合されたものとなる。すなわち、「ズーム：−」、「ズーム：−」、「パン：＋」、「パン：＋」、「ズーム：＋」、「ズーム：＋」が写真Ｃの操作情報となる。各制御コマンドには、前述のようにカメラの制御量が規定されているため、各コマンドの制御量を積算していくことにより各画像の位置関係を決定することが可能となる。
【００５３】
次に、ステップＳ１００２において、レイアウト部３０４は、ステップＳ１００１で取得した位置関係を用いてレイアウトを作成する。当該処理は、図５のステップＳ５０２にて説明した処理で実現される。図１１（ｃ）には、図１１（ｂ）に示す写真Ａと写真Ｃとを用いてレイアウトを作成した結果の一例を示している。
【００５４】
本実施形態では、カメラの制御量を指定するためのパラメータを「＋」、「−」の二値としたが、当該制御量を数値により指定することも可能である。例えば、パン方向の角度を数値により指定する方法がある。この場合、当該数値データの積算により各画像（写真）の位置関係を求めることが可能である。
【００５５】
また、本実施形態では、静止画像を撮影する例として説明したが、動画像を撮影する場合にも適用することが可能である。この場合、動画撮影時の全ての制御コマンドシーケンスを記憶しておき、レイアウトの対象となるフレーム（静止画像）が決定された時点で、当該フレーム間の制御コマンドを特定することにより、本実施形態記載の処理を適用できる。
【００５６】
さらに、本実施形態では、カメラの制御コマンドが発行された情報を保持しておく方法について説明したが、明示的に発行された制御コマンドを保持するのではなく、カメラにより撮影された画像の特徴量を用いて制御コマンド（制御内容）を動的に決定してもよい。例えば、カメラが撮影した画像の動きベクトルを用いることにより制御コマンドを決定する技術が知られている（例えば、非特許文献１参照）。以下、当該手法について簡単に説明する。
【００５７】
図１５は、動きベクトルを用いて制御コマンドを決定する手法の概要を示す概念図である。当該手法では、動きベクトルを入力して制御コマンドを出力するニューラルネットワークを構築することにより、動きベクトルに基づく制御コマンドを決定する。このように動きベクトルを入力層に入力することにより、制御コマンドを決定することができる。
【００５８】
制御コマンドは、出力層の各ユニットの組合せで表現することが可能である。例えば、図１６に示すように、２つの出力ユニットにより、"撮影"、"パン"、"チルト"、"ズーム"の制御コマンドを規定することができる。一方、入力する動きベクトルについては、複数の動きベクトルに関する情報を用いることができる。具体例として、カメラにより撮影された映像を１／６０秒毎にサンプリングし、当該サンプリング画像を縦５×横１０のブロックに分割した場合を考える。この場合の動きベクトルに関する情報として、動きベクトルの長さは、以下の式（１）で表現することができる。
【００５９】
【数１】
2013235375.tif 000003
【００６０】
式中、ｉはブロック番号、avxiはｉブロックにおける動きベクトルのｘ成分、avyiはｉブロックにおける動きベクトルのｙ成分である。
また、動きベクトルの角度は、以下の式（２）で表現することができる。
【００６１】
【数２】
2013235375.tif 000004
【００６２】
さらに、動きベクトルの長さに対する１ブロック当たりの変化量は、以下の式（３）により表現することができる。
【００６３】
【数３】
2013235375.tif 000005
【００６４】
式中、ｊは同一画像における動きベクトル番号、lengthi,jはブロックｉにおけるｊ番目の動きベクトルの長さ、avelengthiはｉブロックにおける動きベクトルの長さの平均値である。
また、動きベクトルの角度に対する１ブロック当たりの変化量は、以下の式（４）により表現することができる。
【００６５】
【数４】
2013235375.tif 000006
【００６６】
式中、anglei,jはブロックｉにおけるｊ番目の動きベクトルの角度、aveangleiはｉブロックにおける動きベクトルの角度の平均値である。
さらに、動きベクトルの長さに対する時間当たりの変化量は、以下の式（５）により表現することができる。
【００６７】
【数５】
2013235375.tif 000007
【００６８】
また、動きベクトルの長さに対する時間当たりの変化量は、以下の式（６）により表現することができる。
【００６９】
【数６】
2013235375.tif 000008
【００７０】
上記の式（１）〜（６）で示される動きベクトルに関する情報を各入力ユニットへ入力し、正しい出力（制御コマンド）となるように学習させることにより、動きベクトルに基づき制御コマンドを決定するニューラルネットワークを構築することができる。ニューラルネットワークの学習方法としては、バックプロパゲーション等の既存手法を用いることが可能である。
【００７１】
なお、計算の対象となる動きベクトルは、画像内のすべてのブロックの動きベクトルである必要はなく、実験的に得られる有効なブロックの動きベクトルに限定してもよい。例えば、前述の例では、ブロックの総数は５×１０＝５０であるが、有効なブロックとして５つのブロックを抽出してもよい。この場合、５つのブロックに対して上記の数式で示される動きベクトルに関する情報をニューラルネットワークに入力することにより、制御コマンドを決定することができる。また、ブロック数を限定することにより、入力数を抑えることが可能になり、計算コストを削減することができる。前述の例においては、５０個のブロックの動きベクトルを用いた場合は、５０×６（数式数）＝３００の入力が必要になるが、５つのブロックに限定した場合には、５×６（数式数）＝３０の入力に削減される。
【００７２】
以上説明した手法により、制御コマンドが規定されていないカメラに対しても制御コマンドを決定することが可能になる。このように、制御コマンドが明示的に指定されない場合も本実施形態の手法を適用することができる。
【００７３】
（第２の実施形態）
前述した第１の実施形態では、図４及び図５に示した手順の具体的な適用例として、トリミングまたはカメラ撮影により作成された画像のレイアウトを作成する例について説明した。本実施形態では、複数の被トリミング画像からトリミングにより画像を作成する場合について詳細に説明する。なお、本実施形態に係る画像処理装置の構成は、図２及び図３と同様であるため、説明は省略する。
【００７４】
まず、図１３を参照しながら本実施形態の概要を説明する。図１３は、本実施形態における処理の概要を示す概念図である。図１３におけるトリミング領域１３０１、１３０２、１３０３がレイアウトの対象となる画像群である。本実施形態では、当該画像群に対して後述する方式により相対位置を決定し、当該位置関係に基づいて図１３に示すようなレイアウト結果１３０５を得る。
【００７５】
まず、作成された画像に対する操作情報について、第１の実施形態で説明した方法を参照しながら簡略に説明する。本実施形態では、複数の被トリミング画像が撮影された際の操作情報（以下、撮影操作情報）と被トリミング画像からトリミングにより画像を作成する際の操作情報（以下、トリミング操作情報）とを取得する。複数の被トリミング画像はカメラにより撮影されているため、撮影操作情報は図９に記載の方法で操作情報を取得する。また、トリミング操作情報については、図６に記載の方法で操作情報を取得する。ただし、図６に記載の方法では、トリミング領域の重心情報のみを操作情報としていたが、本実施形態では重心情報に加えて、被トリミング画像の情報を取得する。
【００７６】
図１２は、複数の被トリミング画像からトリミング画像を作成してレイアウトを作成する処理手順の一例を示すフローチャートである。
まず、ステップＳ１２００において、相対位置決定部３０３は、レイアウトの対象として指定された画像のトリミング操作情報を操作情報保持部３０２から取得する。
【００７７】
次に、ステップＳ１２０１において、相対位置決定部３０３は、ステップＳ１２００で取得したトリミング操作情報を用いて被トリミング画像を特定する。そして、ステップＳ１２０２において、相対位置決定部３０３は、ステップＳ１２０１で特定した被トリミング画像の撮影操作情報を取得する。
【００７８】
次に、ステップＳ１２０３において、相対位置決定部３０３は、ステップＳ１２０２で取得した撮影操作情報を用いて被トリミング画像を仮想的な座標空間にマッピングする。図１３には、座標空間へのマッピング結果１３０４の一例を示している。
【００７９】
次に、ステップＳ１２０４において、ステップＳ１２０３で作成されたマッピング結果に基づき、相対位置決定部３０３は、各トリミングされた画像の相対的な位置関係を取得する。具体的には、相対的な座標空間上での重心座標を算出し、当該重心座標を用いて相対的な位置関係を取得する。重心座標を算出した後の処理は、図７のステップＳ７０１にて説明した処理と同様である。そして、ステップＳ１２０５において、ステップＳ１２０４で取得された相対的な位置関係に基づき、レイアウト対象であるトリミングされた画像のレイアウトを作成する。当該処理は、図５のステップＳ５０２にて説明した処理と同様である。
【００８０】
以上のように本実施形態によれば、前述した図１３に示すレイアウト結果１３０５を取得することができる。
【００８１】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８２】
３０２  操作情報保持部
３０３  相対位置決定部
３０４  レイアウト部
【図１】
2013235375.tif 000009
【図２】
2013235375.tif 000010
【図３】
2013235375.tif 000011
【図４】
2013235375.tif 000012
【図５】
2013235375.tif 000013
【図６】
2013235375.tif 000014
【図７】
2013235375.tif 000015
【図８】
2013235375.tif 000016
【図９】
2013235375.tif 000017
【図１０】
2013235375.tif 000018
【図１１】
2013235375.tif 000019
【図１２】
2013235375.tif 000020
【図１３】
2013235375.tif 000021
【図１４】
2013235375.tif 000022
【図１５】
2013235375.tif 000023
【図１６】
2013235375.tif 000024