(57)【要約】【課題】ユーザーが、テンプレートに配置された画像を入れ替えるなどの編集作業を行った後に、再びレイアウト処理を行うと、編集結果が破棄されてしまっていた。【解決手段】本発明の一実施形態における情報処理装置は、画像データをテンプレートにレイアウトするレイアウト手段と、前記レイアウト手段によるレイアウト結果に対してユーザーが編集した内容を記憶する記憶手段と、前記画像データを前記レイアウト手段によって再レイアウトする場合、前記編集した内容を再レイアウト結果に反映する反映手段とを有することを特徴とする。【選択図】図３
2018125660.tif 000002
【特許請求の範囲】
【請求項１】
画像データをテンプレートにレイアウトするレイアウト手段と、
前記レイアウト手段によるレイアウト結果に対してユーザーが編集した内容を記憶する記憶手段と、
前記画像データを前記レイアウト手段によって再レイアウトする場合、前記編集した内容を再レイアウト結果に反映する反映手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記レイアウト手段は、前記テンプレートとは異なるテンプレートを使用して再レイアウトすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段は、編集される前の前記画像データの画像識別子及び編集された後の前記画像データの画像識別子を対応付けて記憶することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記反映手段は、編集される前の前記画像データの画像識別子を使用して、再レイアウトに使用したテンプレートにおけるスロットを特定し、前記特定されたスロットに編集された後の前記画像データの画像識別子を割り当てることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記反映手段は、前記特定されたスロットに割り当てられた前記画像識別子が前記再レイアウトに使用したテンプレートにおける他のスロットに既に割り当てられていた場合、前記特定されたスロットに割り当てられていた画像識別子を前記他のスロットに割り当てることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記編集は、前記テンプレートにレイアウトされた前記画像データの入れ替えを含むことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
画像データをテンプレートにレイアウトするステップと、
前記テンプレートにレイアウトされたレイアウト結果に対してユーザーが編集した内容を記憶するステップと、
前記画像データを再レイアウトする場合、前記編集した内容を再レイアウト結果に反映するステップと
を含むことを特徴とする情報処理方法。
【請求項８】
第１のテンプレートに画像データをレイアウトした結果に対してユーザーが編集した内容を記憶する記憶手段であって、前記編集した内容に対応する前記第１のテンプレートの第１のスロット識別子及び前記第１のスロット識別子に対応する画像データの画像識別子を記憶する第１記憶手段と、
前記第１のテンプレートと異なる第２のテンプレートの第２のスロット識別子を、前記第１のスロット識別子と対応付けて記憶する第２記憶手段と、
前記画像データを前記第２のテンプレートに再レイアウトする場合、前記第１記憶手段に記憶された前記第１のスロット識別子及び前記画像識別子と、前記第１のスロット識別子と対応付けられて前記第２記憶手段に記憶された前記第２のスロット識別子と、に基づいて、再レイアウト結果に前記編集した内容を反映する反映手段と
を有することを特徴とする情報処理装置。
【請求項９】
前記第２のテンプレートは、前記第１のテンプレートに対して選択された変更後のテンプレートであることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記反映手段は、前記第２のスロット識別子に対応する前記画像識別子が記憶されていない場合に、前記第１のテンプレートにレイアウトされていない新たな画像データの画像識別子を前記第２のスロット識別子と対応付けて前記第１記憶手段に記憶させることを特徴とする請求項８または９に記載の情報処理装置。
【請求項１１】
前記新たな画像データは、前記第１のテンプレートにレイアウトされていない画像データの中から、解析スコアの高い順に選択されることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記編集は、前記第１のテンプレートにレイアウトされた前記画像データの入れ替えを含むことを特徴とする請求項８乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
第１のテンプレートに画像データをレイアウトした結果に対してユーザーが編集した内容を記憶するステップであって、前記編集した内容に対応する前記第１のテンプレートの第１のスロット識別子及び該第１のスロット識別子に対応する画像データの画像識別子を記憶するステップと、
前記画像データを前記第１のテンプレートと異なる第２のテンプレートに再レイアウトする場合、前記第１のスロット識別子及び前記画像識別子と、前記第２のテンプレートの第２のスロット識別子であり前記第１のスロット識別子と対応付けられて記憶される第２のスロット識別子と、に基づいて、再レイアウト結果に前記編集した内容を反映するステップと
を含むことを特徴とする情報処理方法。
【請求項１４】
コンピュータを請求項１乃至６及び８乃至１２のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データをフォトアルバムのテンプレートに自動レイアウトする技術に関する。
【背景技術】
【０００２】
従来、フォトアルバムを自動作成するために、画像データの特徴に基づいて、画像データをテンプレートにレイアウトする技術が知られている（特許文献１）。
【０００３】
また、画像がレイアウトされたテンプレートを変更する場合に、メイン画像の位置やサイズを変更しないで、テンプレートの特徴を保つ技術が知られている（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−７２９３４号公報
【特許文献２】特開２００７−４９５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ユーザーが、テンプレートにレイアウトされた画像を入れ替えるなどの編集をした後に、再びレイアウト処理を行うと、ユーザーによる編集結果（すなわち、ユーザーが編集した内容）が破棄されてしまうという問題があった。
【課題を解決するための手段】
【０００６】
本発明の一実施形態における情報処理装置は、画像データをテンプレートにレイアウトするレイアウト手段と、前記レイアウト手段によるレイアウト結果に対してユーザーが編集した内容を記憶する記憶手段と、前記画像データを前記レイアウト手段によって再レイアウトする場合、前記編集した内容を再レイアウト結果に反映する反映手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によると、ユーザーが、テンプレートに配置された画像を入れ替えるなどの編集をした後に、再びレイアウト処理を行った場合にも、ユーザーによる編集結果を再レイアウト結果に反映させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態１におけるフォトアルバム作成システムの構成図である。
【図２】実施形態１における情報処理装置の（ａ）ソフトウェア構成図と（ｂ）機能ブロック図である。
【図３】実施形態１における自動レイアウト処理のフローチャートである。
【図４】実施形態１におけるテンプレートデータ描画図である。
【図５】実施形態１におけるテンプレートデータ表を示す図である。
【図６】実施形態１における画像データ表を示す図である。
【図７】実施形態１における自動レイアウト計算表を示す図である。
【図８】実施形態１における自動レイアウト結果表を示す図である。
【図９】実施形態１における自動レイアウト結果の描画図である。
【図１０】実施形態１における編集操作のフローチャートである。
【図１１】実施形態１における編集操作のためのユーザーインターフェースを示す図である。
【図１２】実施形態１における編集後の自動レイアウト結果表を示す図である。
【図１３】実施形態１における編集結果の描画図である。
【図１４】実施形態１における再レイアウト処理のフローチャートである。
【図１５】実施形態１における再レイアウト退避表を示す図である。
【図１６】実施形態１における再レイアウト処理のテンプレートデータ描画図である。
【図１７】実施形態１における再レイアウト処理のテンプレートデータ表を示す図である。
【図１８】実施形態１における再レイアウト計算表を示す図である。
【図１９】実施形態１における再レイアウト処理の途中経過の描画図である。
【図２０】実施形態１における再レイアウト処理の過程及び再レイアウト結果表を示す図である。
【図２１】実施形態１における再レイアウト結果の描画図である。
【図２２】実施形態２における再レイアウト処理のフローチャートである。
【図２３】実施形態２におけるテンプレートデータ表を示す図である。
【図２４】実施形態２における再レイアウト処理の過程および変換テーブルを示す図である。
【図２５】実施形態２における再レイアウト結果の描画図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の好適な実施形態を詳しく説明する。なお、以下の実施の形態は、特許請求の範囲に関わる本発明を限定するものでなく、また、本実施の形態で説明されている特徴の組み合わせすべてが本発明の解決手段に必須のものとは限らない。
【００１０】
＜実施形態１＞
図１は、本実施形態におけるフォトアルバム作成システムの構成を示す。情報処理装置１００４は、入力された画像データを含むアルバムデータを作成することができる。また、作成したアルバムデータを印刷データとしてプリンタ１００５に出力することや、ネットワーク１００３を介して外部サーバー１００２にアップロードすることができる。
【００１１】
情報処理装置１００４は、ＲＯＭ（リードオンリーメモリ）１００９、ＲＡＭ（ランダムアクセスメモリ）１０１０、及びＣＰＵ（中央演算装置）１０１１を有する。また、プリンタ１００５、モニタ１００６、入力装置１００７、記憶装置１００８、及びネットワーク１００３と接続するための入出力インターフェース（不図示）を有する。
【００１２】
ＣＰＵ１０１１は、記憶装置１００８、ＲＯＭ１００９、またはＲＡＭ１０１０に記憶されているオペレーションシステムプログラム（以下、ＯＳと略す）を実行することにより、情報処理装置１００４全体の制御を行う。また、ＣＰＵ１０１１は、ＲＯＭ１００９やＲＡＭ１０１０に記憶されているプログラムを実行することによって、情報処理装置１００４の各機能構成の実現や情報の演算、加工、各ハードウェアの制御を実行する。
【００１３】
ＲＯＭ１００９は読み出し専用メモリであり、各プログラムが格納されている。ＲＡＭ１０１０は、ＣＰＵ１０１１のワークメモリである。不揮発性のＲＡＭであれば各プログラムが格納されている。
【００１４】
ネットワーク１００３は、情報処理装置１００４と、外部サーバー１００２とを接続し、それぞれの情報の伝達を行う。外部サーバー１００２は、プリンタ１００１と接続するための入出力インターフェース（不図示）を有しており、プリンタ１００１が接続されている。
【００１５】
情報処理装置１００４で作成したアルバムデータは、ネットワーク１００３を介して外部サーバー１００２にアップロードされる。外部サーバー１００２では、アップロードされたアルバムデータが印刷可能であれば、プリンタ１００１に出力する。外部サーバー１００２は、例えばアルバムの受注・管理サーバーである。すなわち、ユーザーが自身の情報処理装置１００４で作成したアルバムデータをアップロードし、不図示のウェブブラウザなどを介して必要なアルバム購入手続きを取ると、アルバムデータがプリンタ１００１によって印刷される。その後、プリンタ１００１によって印刷された印刷物は製本され、ユーザーに届けられる。
【００１６】
情報処理装置１００４に接続されたプリンタ１００５は、情報処理装置１００４で作成されたアルバムデータを印刷するためのプリンタである。一実施形態では、ユーザーが作成したアルバムデータをユーザー自身が所有しているプリンタ１００５で印刷し、ユーザーが製本し、アルバムに仕上げてもよい。モニタ１００６は、情報処理装置１００４において出力された画像情報を表示する表示装置である。入力装置１００７は、情報処理装置１００４に入力を行うためのキーボードやポインティングデバイスなどの入力装置である。一実施形態では、入力装置１００７はモニタ１００６と一体となっており、ユーザーがモニタ１００６に直接触れることで入力する構成の装置もある。記憶装置１００８は、画像データやアルバムのテンプレートなどを保存するＨＤＤ（ハードディスクドライブ）やＳＳＤ（ソリッドステートドライブ）などの記憶装置である。
【００１７】
図１では、情報処理装置１００４と、モニタ１００６、入力装置１００７、及び記憶装置１００８とが別の装置として記載されているが、一実施形態では、情報処理装置１００４と各装置は一体化されている。すなわち、情報処理装置１００４の構成物としてモニタ、入力装置、及び記憶装置（情報処理装置のＲＡＭと共有となる場合もある）が含まれてもよい。
【００１８】
図２は、本実施形態における情報処理装置１００４の（ａ）ソフトウェア構成図と（ｂ）機能ブロック図を示す。図２（ａ）に示されるように、情報処理装置１００４は、ＯＳ２００１、アルバム作成アプリケーション２００２、及びウェブブラウザアプリケーション２００３等を含んで構成される。これらのソフトウェアの機能は、情報処理装置１００４のＣＰＵ１０１１がＲＯＭ１００９、ＲＡＭ１０１０、または記憶装置１００８に格納された各プログラムを読み出して実行することにより実現される。
【００１９】
ＯＳ２００１は、上述したように、ＣＰＵ１０１１によって実行されると情報処理装置１００４全体の制御を行う。
【００２０】
アルバム作成アプリケーション２００２は、ＣＰＵ１０１１によって実行されると、ＲＡＭ１０１０や記憶装置１００８に格納された画像データや、アルバムのテンプレートを読み出し、ユーザー操作に従って、アルバムデータを生成する。すなわち、アルバム作成アプリケーション２００２は、ＣＰＵ１０１１によって実行されると、情報処理装置１００４における各機能を実現するための手段として機能する。また、アルバム作成アプリケーション２００２は、アルバムデータを生成するための種々のユーザーインターフェース（以下、ＵＩとも呼ぶ）を提供する。ユーザーは、アルバム作成アプリケーション２００２が提供するユーザーインターフェースに従って、アルバム作成のための作業を行うことができる。
【００２１】
ウェブブラウザアプリケーション２００３は、ＣＰＵ１０１１によって実行されると、ユーザーがネットワーク１００３を介して外部サーバー１００２にアクセスすることを可能にする。例えば、上述したように、ユーザーは、ウェブブラウザアプリケーション２００３を利用して外部サーバー１００２にアクセスし、アルバム購入手続き等を取ることができる。
【００２２】
また、図２（ｂ）に示すように、本実施形態における情報処理装置１００４は、アルバム作成アプリケーション２００２をＣＰＵ１０１１が実行することにより、以下の処理部を実装する。
【００２３】
画像解析部２０１０は、アルバムにレイアウトするための複数の画像ファイル（複数の画像データ）の解析及びスコアリングを行い、その結果（解析スコア）をＲＡＭ１０１０または記憶装置１００８に記憶する。たとえば、画像メタ情報に格納されているレーティング情報を使用する方法や、顔検出結果や画像のヒストグラム、周波数解析によって独自の基準を使用する方法がある。
【００２４】
ファイル分割部２０１１は、複数の画像ファイルをアルバムのページごとに分割する。たとえば、ページごとに均等に画像を割り当てる方法や、画像の撮影日時によりクラスタリングを行い、各クラスターをページごとに割り当てる方法などがある。
【００２５】
自動レイアウト処理部２０１２は、分割された複数の画像ファイルをテンプレートにレイアウトする。すなわち、レイアウト手段として機能する。具体的には、画像ファイルに適したテンプレートを選択し、選択されたテンプレートの各スロットに各画像ファイルを割り当てる。
【００２６】
編集結果保持部２０１３は、レイアウト結果に対するユーザーの編集結果（すなわち、ユーザーが編集した内容）を保持するように機能する。具体的には、ユーザーが編集した内容を記憶装置１００８などの記憶手段に記憶し、退避させる。また、編集結果保持部２０１３は、再レイアウト結果に対して、記憶装置１００８などの記憶手段に記憶されたユーザーが編集した内容を反映させる。すなわち、ユーザーが編集した内容の反映手段としても機能する。
【００２７】
なお、情報処理装置１００４の機能は上述した機能に限定されるものではなく、その他の機能を有してもよい。
【００２８】
図３は、情報処理装置１００４における画像データの自動レイアウト処理のフローチャートを示す。以下の処理は、情報処理装置１００４がアルバム作成アプリケーション２００２を実行することにより実施される。
【００２９】
ステップＳ３００１において、ユーザーは、アルバム作成アプリケーション２００２が提供するＵＩに従って、アルバムのページ数と、テンプレートを選択する。テンプレートは、事前にデザイナーなどが作成したものをテンプレートデータとして記憶装置１００８に格納したものである。以下の説明では、１つのテンプレートは、アルバムの見開き１ページに対応するものとし、ページ内の画像のレイアウト情報、すなわち、画像データをレイアウトするためのスロット情報を含む。
【００３０】
図４は、それぞれのテンプレートデータに基いて描画された４つのテンプレートＡ−１、Ｂ−１、Ｃ−１、Ｄ−１の描画図である。各テンプレートは、画像データが割り当てられるスロットを含む。例えば、テンプレートＡ−１には、４つのスロット４００１、４００２、４００３、４００４が含まれる。以下の説明では、これらの４つのテンプレートがユーザーによって選択されたものとする。
【００３１】
図５に示したテンプレートデータ表は、上述した４つのテンプレートＡ−１、Ｂ−１、Ｃ−１、Ｄ−１のそれぞれに含まれる各スロットの座標値（位置及び大きさ）、並びに優先度などを格納している。
【００３２】
なお、上述した各テンプレートは４つのスロットを含むが、スロット数はこれに限定されるものではなく、各テンプレートのスロット数は異なってもよい。
【００３３】
ステップＳ３００２において、ユーザーは、アルバム作成アプリケーション２００２が提供するＵＩに従って、画像ファイルが格納されているフォルダーを選択する。選択されるフォルダーは、記憶装置１００８上にあってもよいし、情報処理装置１００４に接続された外部メモリ上にあってもよい。
【００３４】
ステップＳ３００３において、情報処理装置１００４は、ユーザーが選択したフォルダーから画像ファイルを取得し、画像解析部２０１０によって画像の解析及びスコアリングを行い、その結果（解析スコア）を記憶する。図６に、スコアリング結果などを格納する画像データ表を示す。画像データ表には、画像ファイルの画像識別子（画像ＩＤ）、撮影日時、画像データ、解析スコア（スコアリング結果）などが含まれる。スコアリングは、画像メタ情報に格納されているレーティング情報を使用して行われたり、顔検出結果や画像のヒストグラム、周波数解析によって独自の基準を使用して行われたりする。また、画像データは、Ｂｉｎａｒｙ  Ｌａｒｇｅ  Ｏｂｊｅｃｔ（以下、ＢＬＯＢ）形式など、データベースに格納できる形式に変換され、画像データ表に格納される。図６では一例として、７つの画像ファイルのスコアリング結果を示している。
【００３５】
ステップＳ３００４において、情報処理装置１００４は、ファイル分割部２０１１によって複数の画像ファイルをページごとに分割する。たとえば、ページごとに均等に画像を割り当てる方法や、画像の撮影日時によりクラスタリングを行い、各クラスターをページごとに割り当てる方法などがある。以下では、説明を単純化する為、図６の画像データ表に含まれる画像ファイルを、任意の１ページに配置するために分割された画像ファイルとする。
【００３６】
なお、解像度の低い画像ファイルを用いてアルバムを作成すると印刷の品質が低下してしまうため、所定の解像度以下の画像ファイルは、分割から除外される。また、画像ファイルの除外は、ステップＳ３００３における画像の解析及びスコアリング処理において行ってもよい。この場合、所定の解像度以下の画像ファイルは、画像データ表に登録されず、所定の解像度以下のファイルが除外された画像データ表に基づいて画像ファイルの分割処理が行われる。
【００３７】
ステップＳ３００５において、情報処理装置１００４は、任意の１ページ（通常は最初の１ページ）について、分割された画像ファイルをテンプレートにレイアウトする。すなわち、自動レイアウト処理部２０１２が、レイアウト手段として機能する。ここでは、分割された画像ファイルに適したテンプレートが選択され、選択されたテンプレートの各スロットに画像ファイルが割り当てられる。
【００３８】
図７は、画像ファイルを自動的にレイアウトするための自動レイアウト計算表を示す。以下では、図７の自動レイアウト計算表を参照して、ステップＳ３００５における処理を詳細に説明する。
【００３９】
まず、情報処理装置１００４は、ステップＳ３００１で選択された各テンプレートがそれぞれ４つのスロットを含むため、図６の画像データ表から、解析スコアが高い順に４つの画像データを取得し、撮影日時順に並び替える。具体的には、図６の画像データ表から、スコアの高い順に、画像ＩＤ００４（スコア８５）、画像ＩＤ００２（スコア８１）、画像ＩＤ００５（スコア３９）、画像ＩＤ００６（スコア３６）の４つの画像ファイルが取得される。これらの画像データを撮影日時順に並び替えると、画像ＩＤ００２（スコア８１）、画像ＩＤ００４（スコア８５）、画像ＩＤ００５（スコア３９）、画像ＩＤ００６（スコア３６）の順になる。情報処理装置１００４は、ここまでの処理で、図７の自動レイアウト計算表の１列目の「画像ＩＤ」、及び２列目の「スコア」に値を格納する。
【００４０】
次に、情報処理装置１００４は、図５のテンプレートデータ表から、各テンプレートに含まれる各スロットの「優先度」を取得し、「スロットＩＤ（スロット識別子）」の順番に従って図７の自動レイアウト計算表にセットする。具体的には、図７の自動レイアウト計算表の３列目、５列目、７列目、９列目の各テンプレートの「優先度」に値が格納される。
【００４１】
次に、情報処理装置１００４は、図７の自動レイアウト計算表の２列目の画像データの「スコア」と、３列目、５列目、７列目、９列目の各テンプレートの「優先度」を掛け合わせる。情報処理装置１００４は、図７の自動レイアウト計算表の４列目、６列目、８列目、１０列目の各テンプレートの「計算値」に、「スコア」と「優先度」を掛け合わせた値を格納する。
【００４２】
次に、情報処理装置１００４は、テンプレート毎に「計算値」の合計値を算出し、「合計」の行に格納する。このように、画像データの解析スコアと、各テンプレートのスロット毎にセットされた優先度とを掛け合わせた値の合計値が求まる。
【００４３】
次に、情報処理装置１００４は、合計値が最も大きいテンプレートを選択する。本実施形態では、テンプレートＢ−１の合計値（４１１）が最も高いので、テンプレートＢ−１が選択される。
【００４４】
最後に、情報処理装置１００４は、図７の自動レイアウト計算表の「画像ＩＤ」と、選択されたテンプレートの各「スロットＩＤ」とを対応づけて記憶する。図８は、自動的にレイアウトした「自動レイアウト画像ＩＤ」と「スロットＩＤ」とを対応付けた自動レイアウト結果表を示す。図８の自動レイアウト結果表では、単純に図５のテンプレートデータ表のテンプレートＢ−１に含まれるスロットＩＤを上から順に取得し、図７の自動レイアウト計算表に含まれる画像ＩＤを上から順に取得し、それらが対応付けて格納されている。図９に、図８の自動レイアウト結果表に基づくテンプレートＢ−１の描画図を示す。図示されるように、テンプレートデータに基づき、スロット４０１１、４０１２、４０１３、４０１４のそれぞれに、画像ＩＤ（画像識別子）００２、００４、００５、００６の画像データが描画される。なお、図８の自動レイアウト結果表に含まれる「編集画像ＩＤ」は、後述するフォトアルバム編集操作時に使用される。
【００４５】
このようにして、ステップＳ３００５では、ユーザーが選択したテンプレートの中から、分割された画像ファイルに適したテンプレートが自動的に選択され、画像ファイルが自動的にレイアウトされる。
【００４６】
ステップＳ３００６において、情報処理装置１００４は、アルバムの全ページのレイアウトが完了したか判定する。全ページのレイアウトが完了していなければ、ステップＳ３００５に戻り、次ページについて処理を繰り返す。一方、全ページのレイアウトが完了していれば、処理を終了する。
【００４７】
以上のフロー処理により、テンプレートに対して画像ファイルを自動的に割り振り、レイアウトすることが可能となる。
【００４８】
図１０は、ユーザーによる編集操作のフローチャートを示す。以下では、図１０を参照して、ユーザーによるフォトアルバムの編集操作について詳細に説明する。ユーザーによる編集操作は、アルバム作成アプリケーション２００２が提供するＵＩ上で行われる。また、ユーザーによる編集操作として、ここでは、自動レイアウトされた画像ファイルを、別の画像ファイルに入れ替える編集操作について説明する。
【００４９】
ステップＳ１０００１において、ユーザーは、選択したページ上で、入れ替える画像ファイルのスロットを選択する。
【００５０】
ステップＳ１０００２において、ユーザーは、ステップＳ１０００１で選択したスロットに入れ替えるための別の画像ファイルを選択する。たとえば、情報処理装置１００４は、図１１のユーザーインターフェースに示したように、記憶装置１００８内の画像ファイルをサムネイル表示し、ユーザーに選択させることができる。なお、図１１では、テンプレートＢ−１のスロット４０１２が選択され、画像ＩＤ００４が入れ替えられる。そのほか、スロット間の画像入れ替えであれば、ユーザーが別のスロットを選択し、別のスロットに指定されている画像ファイルを選択することもできる。
【００５１】
ステップＳ１０００３において、情報処理装置１００４は、画像ファイルの入れ替え処理を行い、図１２に示すように、自動レイアウト結果表に入れ替えた画像ファイルの画像識別子（画像ＩＤ）を格納する。ユーザーインターフェース上では、ユーザーが選択したスロットに、ユーザーが選択した別の画像ファイルが表示された状態となる。
【００５２】
図１２は、編集後の自動レイアウト結果表を示す。ここでは、テンプレートＢ−１のスロット４０１２、４０１３の画像ファイル（画像ＩＤ００４、００５）がそれぞれ、画像ＩＤ００１、００３の画像ファイルで入れ替えられたことを示している。すなわち、図８の自動レイアウト結果表の「編集画像ＩＤ」に、入れ替えた別の画像ファイルの画像ＩＤ（画像識別子）が格納されている。このようにして、フォトアルバム編集処理が完了する。
【００５３】
図１３に、図１２のフォトアルバム編集後の自動レイアウト結果表に基づくテンプレートＢ−１の描画図を示す。図示されたように、スロット４０１２、スロット４０１３は、「編集画像ＩＤ」がセットされているため、「自動レイアウト画像ＩＤ」で指定された画像ではなく、編集画像ＩＤ００１、００３の画像ファイルが描画されている。一方、スロット４０１１、スロット４０１４は、「編集画像ＩＤ」がセットされていないため、自動レイアウト画像ＩＤ００２、００６で指定された画像ファイルが描画されている。
【００５４】
以上の処理を繰り返し、ユーザーは、自動レイアウトされた画像ファイルを入れ替えることができる。
【００５５】
図１４は、本実施形態における再レイアウト処理のフローチャートを示す。以下では、図１４を参照して、画像ファイルを入れ替えた後に再び画像ファイルを自動レイアウトする処理について説明する。また、以下の処理は、情報処理装置１００４がアルバム作成アプリケーション２００２を実行することにより実施される。
【００５６】
ステップＳ１４００１において、情報処理装置１００４は、図１２のフォトアルバム編集後の自動レイアウト結果表から、「自動レイアウト画像ＩＤ」と、編集結果の「編集画像ＩＤ」を取り出し、退避させる。すなわち、編集結果保持部２０１３が、ユーザーが編集した内容を記憶装置１００８などの記憶手段に記憶する。図１５は、取り出した「自動レイアウト画像ＩＤ」と「編集画像ＩＤ」を退避させるための再レイアウト退避表を示す。退避が必要なデータは、「編集画像ＩＤ」が指定されたデータであり、図１２の自動レイアウト結果表から、スロット４０１２、スロット４０１３のデータが取り出される。そして、編集前の画像ファイルの画像識別子である「自動レイアウト画像ＩＤ」と、編集後の画像ファイルの画像識別子である「編集画像ＩＤ」とが対応付けられ、セットで保持される。
【００５７】
ステップＳ１４００２において、情報処理装置１００４は、１ページを再レイアウトする。すなわち、自動レイアウト処理部２０１２が、レイアウト手段として機能する。ここでは、種類の異なるテンプレートや、スロット数を増減させたテンプレートなどが使用される。ここで図３のステップＳ３００５における自動レイアウト処理と同じテンプレートを使用しても、レイアウト結果は変わらないためである。また、テンプレート自体のサイズや形を変更する場合は、変更したサイズや形のテンプレートが使用される。たとえば、１ページが正方形のテンプレートを、縦長の長方形や横長の長方形に変更する場合、縦長の長方形や横長の長方形のテンプレートが使用される。そのほか、図３のステップＳ３００３におけるスコアリングの基準を変化させたり、図５のテンプレートデータの優先度を変化させたりすることで、異なるレイアウト結果を得ることができる。本実施形態では、一例として、図１６及び図１７に示すようなそれぞれが５つのスロットを含むテンプレートＡ−２、Ｂ−２、Ｃ−２、Ｄ−２が使用されるものとする。
【００５８】
画像ファイルを複数のテンプレートに自動レイアウトする処理は、図３のステップＳ３００５と同じであるため説明は省略し、図１８に、処理結果である再レイアウト計算表を示す。また、再レイアウト処理の途中経過の参考として、図１９に、図１８の再レイアウト計算表に基づいて自動的に選択されたテンプレートＢ−２の描画結果を示す。図１９の描画結果と図１２の編集結果とを比較すると、再び自動レイアウト処理がなされた結果、ユーザーが画像ファイルを入れ替えた編集結果は破棄されていることがわかる。本発明は、このような場合でも、ユーザーが画像ファイルを入れ替えた編集結果を保持して、レイアウト結果に反映させる。
【００５９】
ステップＳ１４００３において、情報処理装置１００４は、ステップＳ１４００１で退避したデータ（すなわち、ユーザーが編集した内容である退避情報）を、ステップＳ１４００２において再レイアウトする場合に再レイアウト結果に反映させる。すなわち、編集結果保持部２０１３が、編集結果の反映手段として機能する。具体的には、情報処理装置１００４は、ステップＳ１４００２における再レイアウト結果から、図１５の再レイアウト退避表に退避した「自動レイアウト画像ＩＤ」が割り当てられているスロットを特定する。次いで、特定したスロットの「編集画像ＩＤ」として、図１５の再レイアウト退避表に退避した「編集画像ＩＤ」を登録する。以下では、図２０に示した再レイアウト処理の過程及び再レイアウト結果表を参照して、この処理を詳細に説明する。
【００６０】
図２０（ａ）は、ステップＳ１４００２における再レイアウト結果を示し、図２０（ｂ）は、図１５の再レイアウト退避表の１行目の「編集画像ＩＤ」を反映させた後の状態を示す。図１５の再レイアウト退避表の１行目において、「自動レイアウト画像ＩＤ」は００４であり、「編集画像ＩＤ」が００１である。この退避データを反映した結果、図２０（ｂ）のスロットＩＤ４１１２の「編集画像ＩＤ」には、「００１」が格納されている。なお、図２０（ｃ）に示すように、図１５の再レイアウト退避表の２行目のデータを反映させると、スロット４１１３の「編集画像ＩＤ」には、「００３」が格納される。
【００６１】
ステップＳ１４００４において、情報処理装置１００４は、ステップＳ１４００３で格納した「編集画像ＩＤ」が、図２０（ａ）の他のスロットの「自動レイアウト画像ＩＤ」として含まれているか判定する。図１５の再レイアウト退避表の１行目の「編集画像ＩＤ」は「００１」であり、図２０（ａ）の「自動レイアウト画像ＩＤ」の列には含まれていない。そのため、処理は、ステップＳ１４００６に進む。
【００６２】
一方、図１５の再レイアウト退避表の２行目の「編集画像ＩＤ」は「００３」であり、図２０（ａ）の「自動レイアウト画像ＩＤ」の列に含まれている。そのため、処理は、ステップＳ１４００５に進む。
【００６３】
ステップＳ１４００５において、情報処理装置１００４は、ステップＳ１４００３で格納した「編集画像ＩＤ」とセットで保持された「自動レイアウト画像ＩＤ」を、別のスロットの「編集画像ＩＤ」に格納する。別のスロットとは、ステップＳ１４００３で格納した「編集画像ＩＤ」を「自動レイアウト画像ＩＤ」として含むスロットである。
【００６４】
図２０（ｃ）に示すように、ステップ１４００３の処理を繰り返すことで、スロット４１１３の「編集画像ＩＤ」に「００３」が格納される。そして、ステップＳ１４００４で、画像ＩＤ００３が、スロット４１１５の「自動レイアウト画像ＩＤ」に含まれると判定される。このため、スロット４１１３の「自動レイアウト画像ＩＤ」である「００５」が、スロット４１１５の「編集画像ＩＤ」に格納される。図２０（ｄ）に、退避情報を反映させた後の再レイアウト結果表を示す。こうすることにより、同じ画像ファイルが重複して描画されることを防ぐことができる。
【００６５】
ステップＳ１４００６において、情報処理装置１００４は、図１５の再レイアウト退避表に処理していない退避情報があるか判定する。退避情報がある場合、ステップＳ１４００３に戻り、処理を繰り返す。一方、退避情報がない場合、処理は終了する。
【００６６】
図２１に、本処理が終わった図２０（ｄ）の再レイアウト結果表に基づくテンプレートＢ−２の描画図を示す。図１３の編集結果の描画図と、図２１の再レイアウト結果の描画図とを比較すると、再レイアウト処理後も、図２１のスロット４１１２、４１１３において、ユーザーが画像ファイルを入れ替えた編集結果が反映されていることがわかる。また、図２１のスロット４１１５において、編集結果を考慮した更なる画像ファイルの入れ替えも行われている。
【００６７】
以上のフロー処理により、ユーザーが画像ファイルを編集した後に再レイアウト処理が行われても、ユーザーの編集結果が反映されたレイアウト結果を得ることができる。
【００６８】
＜実施形態２＞
実施形態１の再レイアウト処理では、図１５の再レイアウト退避表へユーザーによる編集情報を退避させた後、再び、複数のテンプレートから最適な１つのテンプレートを選択する自動レイアウト処理を行った。一方、本実施形態における再レイアウト処理では、ユーザーが変更後のテンプレートを個別に指定した上で自動レイアウト処理を行なう。すなわち、ユーザーが明示的に指定したテンプレートに基づいて、自動レイアウト処理が行われる。具体的には、本実施形態における再レイアウト処理では、テンプレート毎に対応するスロットを予め決めておくことで、変更前後のテンプレートの変換テーブルを生成し、画像ファイルをレイアウトする。そうすることで、ユーザーの編集結果（すなわち、ユーザーが編集した内容）が反映された再レイアウト結果を得ることができる。
【００６９】
なお、初回の自動レイアウト処理、及びユーザーによる編集操作については、実施形態１と同じであるため、説明は省略する。
【００７０】
図２２は、実施形態２における再レイアウト処理のフローチャートを示す。以下では、図２２を参照して、ユーザーによる編集操作後のページレイアウトを、異なるテンプレートを使用して再び自動レイアウトする処理について説明する。なお、以下の処理は、情報処理装置１００４がアルバム作成アプリケーション２００２を実行することにより実施される。また、ユーザー操作については、アルバム作成アプリケーション２００２が提供するユーザーインターフェース上で行われる。
【００７１】
また、図２３は、実施形態２におけるテンプレートデータ表を示し、変更前のテンプレートＢ−１と変更後のテンプレートＢ−２のテンプレートデータを示す。図２３のテンプレートデータ表は、図１５及び図１７のテンプレートデータ表と比較して、スロット毎に「対応ＩＤ」を有する点で異なる。「対応ＩＤ」には、異なるテンプレート間のスロットを対応付けるための識別子が予め格納されており、対応するスロットには共通の識別子が格納されている。つまり、異なるテンプレートの少なくとも一部のスロット同士はそれぞれ対応付けられて記憶されている。
【００７２】
また、図２４は、実施形態２における再レイアウト処理の過程および変換テーブルを示す。
【００７３】
まず、図２２のステップＳ２２００１において、ユーザーは、テンプレート（変更後のテンプレート）を選択する。ここでは、編集操作を行ったテンプレートＢ−１に対して、図１６及び図１７に示すテンプレートＢ−２を選択したとする。
【００７４】
ステップＳ２２００２において、情報処理装置１００４は、図２４（ａ）に示すように、再レイアウト前の状態、すなわち、ユーザーの編集結果を変換テーブルに格納する。このように、変換テーブルは、編集結果の記憶手段として機能する。具体的には、図１２の編集後の自動レイアウト結果表の「スロットＩＤ（スロット識別子）」が、図２４（ａ）の変換テーブルの「変更前スロットＩＤ」として格納される。また、図１２の「自動レイアウト画像ＩＤ」あるいは「編集画像ＩＤ」が、図２４（ａ）の「画像ＩＤ」として格納される。すなわち、図２４（ａ）において、編集されたスロット４０１２、４０１３の「画像ＩＤ」には、図１２の編集画像ＩＤ００１、００３が格納される。また、図２４（ａ）において、編集されてないスロット４０１１、４０１４の「画像ＩＤ」には、図１２の自動レイアウト画像ＩＤ００２、００５が格納される。
【００７５】
ステップＳ２２００３において、情報処理装置１００４は、図２４（ｂ）に示すように、ステップＳ２２００１で選択したテンプレートのテンプレートデータを変換テーブルに格納する。すなわち、図１７のテンプレートデータ表から、変更後テンプレートＢ−２の「スロットＩＤ」を、図２４（ａ）の「変更後スロットＩＤ」に格納する。このとき、変更前後のスロットの対応関係については、図２３に示すテンプレートデータ表の「対応ＩＤ」に従う。図２４（ａ）の１行目は、スロット４０１１であり、図２３のテンプレートＢ−１を参照するとスロット４０１１の「対応ＩＤ」は１である。次に、図２３のテンプレートＢ−２を参照すると、「対応ＩＤ」が１であるスロットは、スロット４１１１となる。したがって、スロットＩＤ４１１１が共通の識別子を有するので、図２４（ａ）の１行目の「変更後スロットＩＤ」に格納される。同じように、図２４（ａ）のスロット４０１２、スロット４０１３、スロット４０１４の「変更後スロットＩＤ」にテンプレートＢ−２の対応するスロットＩＤが格納される。最後に、図２３のテンプレートＢ−２で参照されていないスロットＩＤ４１１５が、図２４（ａ）の最後の行に格納される。このようにして、図２４（ｂ）に示すように、ステップＳ２２００１で選択したテンプレートのテンプレートデータが変換テーブルに格納される。
【００７６】
ステップＳ２２００４において、情報処理装置１００４は、変換テーブルにおいて「変更後スロットＩＤ」が格納されているが、「画像ＩＤ」が格納されていない行に対し、「画像ＩＤ」を割り当て、格納する。すなわち、変更後のテンプレートに対して不足画像の割り当てを行う。具体的には、図６の画像データ表から、使われていない新たな画像ファイルを、解析スコアが高い順にセットしていく。ここでは、図２４（ｂ）に示すように、使用されている画像ＩＤは、「００１」、「００２」、「００３」、「００６」であるため、使用されていない新たな画像ファイルの画像ＩＤ（画像識別子）は、「００４」、「００５」、「００７」の３つとなる。その中で、解析スコアが最も高いのは画像ＩＤ００４であるため、この画像ＩＤ００４が、図２４（ｂ）の変更後スロットＩＤ４１１５に対応する画像ＩＤに格納される。図２４（ｃ）に、すべてのデータが格納された結果の変換テーブルを示す。
【００７７】
図２５は、図２４（ｃ）の変換テーブルに基づくテンプレートＢ−２の描画図を示す。図１３のユーザーによる編集結果の描画図と、図２５の描画図とを比較すると、図２５のスロット４１１２、４１１３において、ユーザーが画像ファイルを入れ替えた編集結果が反映されていることがわかる。これは変更前後のテンプレートでスロット同士が対応付けられているためである。また、変更後のテンプレートで画像データが割り当てられていないスロット４１１５には、使用されていない画像データの中からスコアが高い画像データ００４がレイアウトされている。このように、編集結果保持部２０１３は、編集結果を再レイアウト結果に反映させる反映手段として機能する。すなわち、本実施形態では、変更前後のテンプレートの変換テーブルを生成することで、編集結果を再レイアウト結果に反映させることができる。
【００７８】
以上のフロー処理により、ユーザーが画像ファイルを編集した後に再レイアウト処理が行われても、ユーザーの編集結果が反映されたレイアウト結果を得ることができる。
【００７９】
＜実施形態３＞
本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８０】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００８１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図１】
2018125660.tif 000003
【図２】
2018125660.tif 000004
【図３】
2018125660.tif 000005
【図４】
2018125660.tif 000006
【図５】
2018125660.tif 000007
【図６】
2018125660.tif 000008
【図７】
2018125660.tif 000009
【図８】
2018125660.tif 000010
【図９】
2018125660.tif 000011
【図１０】
2018125660.tif 000012
【図１１】
2018125660.tif 000013
【図１２】
2018125660.tif 000014
【図１３】
2018125660.tif 000015
【図１４】
2018125660.tif 000016
【図１５】
2018125660.tif 000017
【図１６】
2018125660.tif 000018
【図１７】
2018125660.tif 000019
【図１８】
2018125660.tif 000020
【図１９】
2018125660.tif 000021
【図２０】
2018125660.tif 000022
【図２１】
2018125660.tif 000023
【図２２】
2018125660.tif 000024
【図２３】
2018125660.tif 000025
【図２４】
2018125660.tif 000026
【図２５】
2018125660.tif 000027