(57)【要約】【課題】画像の順序を保った上で、可能な限りユーザの意図を反映した画像の選択・配置を自動的に行なうことを目的とする。【解決手段】画像群に含まれる画像の属性に基づいて、画像群に含まれる画像を整列させる画像整列手段と、画像の配置対象であるテンプレートに含まれる画像を配置する配置枠の順序と、配置枠の属性と、に基づいて、配置枠を選択する配置枠選択手段と、画像整列手段で整列させられた画像の順序と、画像の属性と、に基づいて、画像を選択する画像選択手段と、配置枠選択手段で選択された配置枠に画像選択手段で選択された画像を配置する選択画像配置手段と、を有することによって課題を解決する。【選択図】図２
2010266929.tif 000002
【特許請求の範囲】
【請求項１】
画像群に含まれる画像の属性に基づいて、画像群に含まれる画像を整列させる画像整列手段と、
画像の配置対象であるテンプレートに含まれる画像を配置する配置枠の順序と、前記配置枠の属性と、に基づいて、配置枠を選択する配置枠選択手段と、
前記画像整列手段で整列させられた画像の順序と、前記画像の属性と、に基づいて、画像を選択する画像選択手段と、
前記配置枠選択手段で選択された配置枠に前記画像選択手段で選択された画像を配置する選択画像配置手段と、
を有する画像配置装置。
【請求項２】
前記配置枠選択手段は、前記テンプレートのうち、枠選択範囲内にある配置枠の中から、前記枠選択範囲内における配置枠のレイアウトに関する順序と、配置枠の属性と、に基づいて、配置枠を選択する請求項１記載の画像配置装置。
【請求項３】
前記配置枠選択手段は、前記テンプレートの配置枠のレイアウトに基づいて、初期値として先頭の配置枠から末尾の配置枠までを枠選択範囲と設定し、前記選択画像配置手段で配置枠に画像が配置された場合は、前記配置枠を前記枠選択範囲からはずす請求項２記載の画像配置装置。
【請求項４】
前記配置枠選択手段は、前記テンプレートの配置枠のレイアウトに基づいて、初期値として先頭の配置枠から末尾の配置枠までを枠選択範囲と設定し、前記選択画像配置手段で配置枠に画像が配置された場合は、前記配置枠より順序が前の配置枠群、又は前記配置枠より順序が後ろの配置枠群を枠選択範囲とする請求項２又は３記載の画像配置装置。
【請求項５】
前記画像選択手段は、前記画像整列手段で整列させられた画像のうち、画像選択範囲内にある画像の中から、前記画像選択範囲内における画像の順序と、画像の属性と、に基づいて、画像を選択する請求項１乃至４の何れか１項記載の画像配置装置。
【請求項６】
前記画像選択手段は、前記画像整列手段で整列させられた画像の順序に基づいて、初期値として先頭の画像から末尾の画像までを画像選択範囲と設定し、前記選択画像配置手段で配置枠に画像が配置された場合は、前記画像を前記画像選択範囲からはずす請求項５記載の画像配置装置。
【請求項７】
前記画像選択手段は、前記画像整列手段で整列させられた画像の順序に基づいて、初期値として先頭の画像から末尾の画像までを画像選択範囲と設定し、前記選択画像配置手段で配置枠に画像が配置された場合は、前記画像より順序が前の画像群、又は前記画像より順序が後ろの画像群を枠選択範囲とする請求項５又は６記載の画像配置装置。
【請求項８】
前記画像選択手段は、前記画像整列手段で整列させられた画像の順序と、前記画像の属性と、に基づいて、前記画像選択範囲に、選択する画像が存在しないと判断すると、エラーを通知し、
前記エラーの通知を受け取ると、前記配置枠選択手段で選択された配置枠の前、又は後ろの配置枠に画像が配置されているか否かを判断し、前、又は後ろの配置枠に画像が配置されている場合は、前記画像に基づいて、前記配置枠選択手段で選択された配置枠に配置する画像を生成する画像生成手段を更に有する請求項５又は６記載の画像配置装置。
【請求項９】
前記画像選択手段は、前記画像整列手段で整列させられた画像の順序と、前記画像の属性と、に基づいて、前記画像選択範囲に、選択する画像が存在しないと判断すると、エラーを通知し、
前記エラーの通知を受け取ると、エラーをユーザに提示すると共に、画像の順序によらない配置を行うか否かの選択肢をユーザに提示する提示手段を更に有する請求項５又は６記載の画像配置装置。
【請求項１０】
前記画像群に含まれる画像の属性に基づいて、前記属性が順序に係る属性か否かを判断する判断手段と、
前記判断手段で前記属性が順序に係る属性ではないと判断された場合、画像の順序に基づかない画像の選択及び配置の処理を実行する画像選択・配置手段と、
を更に有し、
前記画像整列手段は、前記判断手段で前記属性が順序に係る属性であると判断された場合、画像群に含まれる画像の属性に基づいて、画像群に含まれる画像を整列させる請求項１乃至９の何れか１項記載の画像配置装置。
【請求項１１】
前記テンプレートの属性に基づいて、前記属性が順序に係る属性か否かを判断する判断手段と、
前記判断手段で前記属性が順序に係る属性ではないと判断された場合、画像の順序に基づかない画像の選択及び配置の処理を実行する画像選択・配置手段と、
を更に有し、
前記画像整列手段は、前記判断手段で前記属性が順序に係る属性であると判断された場合、画像群に含まれる画像の属性に基づいて、画像群に含まれる画像を整列させる請求項１乃至９の何れか１項記載の画像配置装置。
【請求項１２】
前記配置枠選択手段は、ユーザの選択操作に基づいて、枠選択範囲を設定し、
前記画像選択手段は、ユーザの選択操作に基づいて、画像選択範囲を設定する請求項１記載の画像配置装置。
【請求項１３】
画像の配置対象であるテンプレートに含まれる画像を配置する配置枠が同一ページ内か否かを判断する判断手段と、
前記画像選択手段は、前記判断手段で同一ページ内であると判断された場合、画像の属性に基づいて、画像を選択し、前記判断手段で同一ページ内でないと判断された場合、前記画像整列手段で整列させられた画像の順序と、前記画像の属性と、に基づいて、画像を選択する請求項１乃至９の何れか１項記載の画像配置装置。
【請求項１４】
画像群に含まれる画像の属性に基づいて、画像群に含まれる画像を整列させる画像整列ステップと、
画像の配置対象であるテンプレートに含まれる画像を配置する配置枠の順序と、前記配置枠の属性と、に基づいて、配置枠を選択する配置枠選択ステップと、
前記画像整列ステップで整列させられた画像の順序と、前記画像の属性と、に基づいて、画像を選択する画像選択ステップと、
前記配置枠選択ステップで選択された配置枠に前記画像選択ステップで選択された画像を配置する選択画像配置ステップと、
を有する画像配置方法。
【請求項１５】
コンピュータを、
画像群に含まれる画像の属性に基づいて、画像群に含まれる画像を整列させる画像整列手段と、
画像の配置対象であるテンプレートに含まれる画像を配置する配置枠の順序と、前記配置枠の属性と、に基づいて、配置枠を選択する配置枠選択手段と、
前記画像整列手段で整列させられた画像の順序と、前記画像の属性と、に基づいて、画像を選択する画像選択手段と、
前記配置枠選択手段で選択された配置枠に前記画像選択手段で選択された画像を配置する選択画像配置手段と、
して機能させるプログラム。
【請求項１６】
請求項１５に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像配置装置、画像配置方法、プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
近年、画像を配置してアルバムを作成するソフトウェア及び装置が普及している。このようなソフトウェア或いは装置においては、画像はある一定の順序（例えば画像の撮影順）で自動的に配置されるか、ユーザが手動で配置を指定していた。
これに対し、よりユーザの意図に即した画像選択及びレイアウトを簡便に行なうために、いくつかの技術が提案されている。１つには画像の各配置枠に配置すべき画像の特徴を指定することにより、情報に基づいて自動的に画像を選別する画像編集装置が提案されている（例えば、特許文献１参照）。また、画像の注目度を自動的に算出し、その注目度順に優先度の高い配置枠に配置する画像レイアウト装置が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２１０６８９号公報
【特許文献２】特開２００４−２３４５００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上述したような従来の画像レイアウト装置には以下のような課題がある。
まず、ある一定の順序で自動に画像を配置する場合においては、配置枠に配置する画像がユーザの希望とは無関係に決定される問題があった。また、ユーザが手動で選択を行なう場合においては、大量の画像から全ての配置枠に当てはめる画像を手動で選択・配置を行なうのに多くの手間と時間とを要する問題があった。
一方で、これらを解決すべく提案されている技術においては、ユーザの意図を反映した画像の選択・配置を自動で行なうことが可能であるものの、必ずしも画像の配置順が、画像の撮影順と一致しない。つまり、ある流れに沿った画像群である場合には、ユーザの意図どおりではないレイアウトになってしまう問題があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、画像の順序を保った上で、可能な限りユーザの意図を反映した画像の選択・配置を自動的に行なうことを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の画像配置装置は、画像群に含まれる画像の属性に基づいて、画像群に含まれる画像を整列させる画像整列手段と、画像の配置対象であるテンプレートに含まれる画像を配置する配置枠の順序と、前記配置枠の属性と、に基づいて、配置枠を選択する配置枠選択手段と、前記画像整列手段で整列させられた画像の順序と、前記画像の属性と、に基づいて、画像を選択する画像選択手段と、前記配置枠選択手段で選択された配置枠に前記画像選択手段で選択された画像を配置する選択画像配置手段と、を有する。
かかる構成とすることにより、画像の順序を保った上で、可能な限りユーザの意図を反映した画像の選択・配置を自動的に行なうことができる。
また、本発明は、画像配置方法、プログラム及び記憶媒体としてもよい。
【発明の効果】
【０００７】
本発明によれば、画像の順序を保った上で、可能な限りユーザの意図を反映した画像の選択・配置を自動的に行なうことができる。
【図面の簡単な説明】
【０００８】
【図１】画像配置装置（コンピュータ）の一例である画像レイアウト装置のハードウェア構成の一例を示す概念図である。
【図２】画像レイアウト装置のソフトウェア構成の一例を示す概念図である。
【図３】第１の実施形態における画像選択・配置処理の流れの一例を示すフローチャートである。
【図４】選択範囲の初期値設定処理の一例を示すフローチャートである。
【図５】選択範囲からの選択・配置処理の一例を示すフローチャートである。
【図６】第１の実施形態の画像を選択・配置した配置枠と画像の前方を新たな範囲とし、画像の選択・配置を行なう処理の一例を示すフローチャートである。
【図７】第１の実施形態の画像を選択・配置した配置枠と画像の後方を新たな範囲とし、画像の選択・配置を行なう処理の一例を示すフローチャートである。
【図８】画像の選択・配置に一度も失敗しない場合の選択範囲からの画像の選択・配置処理の一例を表わす概念図である。
【図９】画像の選択・配置の途中に失敗がある場合の選択範囲からの画像の選択・配置処理の一例を表わす概念図である。
【図１０】画像の選択・配置に失敗した際の処理の一例を示すフローチャートである。
【図１１】第２の実施形態における画像選択・配置処理の流れの一例を示すフローチャートである。
【図１２】第３の実施形態における画像選択・配置処理の流れの一例を示すフローチャートである。
【図１３】第４の実施形態における画像選択・配置処理の流れの一例を示すフローチャートである。
【図１４】順序を守る対象外の配置枠に対する配置処理の一例を示すフローチャートである。
【図１５】第５の実施形態の画像を選択・配置した配置枠と画像の前方を新たな範囲とし、画像の選択・配置を行なう処理の一例を示すフローチャートである。
【図１６】第５の実施形態の画像を選択・配置した配置枠と画像の後方を新たな範囲とし、画像の選択・配置を行なう処理の一例を示すフローチャートである。
【図１７】第１の画像の選択・配置に失敗した際の処理の一例を示すフローチャートである。
【図１８】第２の画像の選択・配置に失敗した際の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜第１の実施形態＞
図１は、画像配置装置（コンピュータ）の一例である画像レイアウト装置のハードウェア構成の一例を示す概念図である。
ＣＰＵ１０２は、各種処理のための演算や論理判断等を行い、バス１０１に接続された各構成要素を制御する。画像レイアウト装置には、プログラムメモリとデータメモリとを含むメモリが搭載されている。プログラムメモリには、フローチャートにより後述する各種処理手順に係るプログラムが格納されている。メモリは、ＲＯＭ１０３であってもよいし、外部記憶装置等からプログラムがロードされるＲＡＭ１０４であってもよい。記憶装置１０５は、画像を配置するテンプレート等のデータやプログラムを記憶しておくためのハードディスク等の装置である。入力装置１０６は、ユーザからの指示を入力するための装置である。出力装置１０７は、出力のための回路を含むＣＲＴや液晶表示器、スピーカー等の装置である。通信Ｉ／Ｆ１０８は、メモリカード読み取り装置やプリンタ等の外部機器やネットワークとの命令やデータのやり取りを行なうための外部インタフェースである。
ＣＰＵ１０２が、プログラムに基づき処理を実行することによって、後述するソフトウェア及び後述するフローチャートに係る処理が実現される。
【００１１】
図２は、画像レイアウト装置のソフトウェア構成の一例を示す概念図である。
画像整列部２０１は、ユーザにより与えられた配置する候補の画像群に含まれる画像を画像に付属する属性（属性値）により一定の基準（例えば撮影日時順）で整列させる。配置枠選択部２０２は、画像を配置する対象のテンプレートからまだ画像が配置されていない配置枠を選択する。画像選択部２０３は、選択した配置枠に配置するのに適した画像を、画像群から選択する。エラー回復部２０４は、選択した配置枠に配置すべき適切な画像が存在しない場合にエラーを回復する。画像配置時に配置すべき画像が存在しない場合、エラーが画像選択部２０３からエラー回復部２０４へ伝えられる。選択・配置制御部２０５は、配置枠の選択、画像の選択、選択配置枠への選択画像の配置を制御する。選択画像配置部２０６は、選択された配置枠に対し選択された画像の配置を行なう。
【００１２】
ユーザがメモリカード読み取り装置等から通信Ｉ／Ｆ１０８を介して入力した画像は画像整列部２０１で整列された後、画像選択部２０３により選択される。選択・配置制御部２０５は、配置枠選択部２０２、画像選択部２０３に対し、適切な範囲からの選択指示を行ない、選択画像配置部２０６に対し、配置指示を行なうことにより、配置枠に対する画像の配置処理の全体を制御している。
配置枠選択部２０２が選択した配置枠に関する情報は画像選択部２０３に送られ、整列済みの画像群から画像を選択する際に配置枠の有する属性に適した画像選択が行なわれる。選択画像配置部２０６には、画像選択部２０３から選択された配置枠と画像との情報が送られる。エラー回復部２０４では、１つ前の画像選択を取り消し、選択した配置枠に対し次に適した画像選択処理を行なうよう、選択・配置制御部２０５に対し再選択・配置指示を行なう。
【００１３】
図３は、第１の実施形態における画像選択・配置処理の流れの一例を示すフローチャートである。なお、以下では説明の簡略化のため、ＣＰＵ１０２が処理を行うものとして説明を行う。他のフローチャートでも同様である。
まず、ＣＰＵ１０２は、ユーザにより与えられた配置する候補の画像群に含まれる画像を画像に付属する属性により一定の基準（例えば撮影日時順）で整列させる（Ｓ３０１）。次に、ＣＰＵ１０２は、選択範囲の初期値設定処理を行なう（Ｓ３０２）。Ｓ３０２の処理の詳細は、後述する図４を用いて説明する。
【００１４】
そして、ＣＰＵ１０２は、選択範囲の初期値設定処理で設定された範囲の配置枠に対し、処理で設定された範囲の画像を配置する処理を行なう（Ｓ３０３）。Ｓ３０３の処理の詳細は、後述する図５を用いて説明する。その後、ＣＰＵ１０２は、画像選択・配置処理が失敗したか否かを判断する（Ｓ３０４）。ＣＰＵ１０２は、判断の結果、処理が失敗していれば選択・配置処理の失敗に対する処理を行ない（Ｓ３０５）、Ｓ３０４の判断の結果、処理が失敗していなければ、何も行なわずに図３に示す処理を終了する。Ｓ３０５の処理の詳細は、後述する図１０を用いて説明する。
【００１５】
図４は、選択範囲の初期値設定処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、処理に先立ってあらかじめユーザにより選択された画像を配置する対象のテンプレートから先頭の画像の配置枠を、枠選択範囲の先頭とする（Ｓ４０１）。次に、ＣＰＵ１０２は、テンプレートの末尾の画像の配置枠を、枠選択範囲の末尾とする（Ｓ４０２）。その後、ＣＰＵ１０２は、Ｓ３０１により整列された配置する候補の画像群の先頭画像を画像選択範囲の先頭とする（Ｓ４０３）。さらに、ＣＰＵ１０２は、配置する候補の画像群の末尾画像を画像選択範囲の末尾とし（Ｓ４０４）、図４に示す処理を終了する。
【００１６】
図５は、選択範囲からの選択・配置処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、配置枠の選択範囲内（枠選択範囲内）に配置枠が１つ以上あるか否かを判断し（Ｓ５０１）、選択範囲に選択すべき配置枠が１つも存在しなければ、戻り値を処理完了として、図５に示す処理を終了する。Ｓ５０１の判断の結果、選択範囲に選択すべき配置枠が１つ以上存在するならば、ＣＰＵ１０２は、配置枠の選択範囲中において、最も優先度の高い配置枠を選択する（Ｓ５０２）。優先度は各配置枠の属性（例えば、枠の大きさ）に基づいて決定されるものとする。
次に、ＣＰＵ１０２は、選択した配置枠に配置すべき画像が、選択された画像範囲内（画像選択範囲内）に１つ以上存在するか否かを判断する（Ｓ５０３）。ＣＰＵ１０２は、判断の結果、画像が存在するならば、画像範囲から最も優先度の高い画像を選択し（Ｓ５０４）、選択された配置枠に配置する（Ｓ５０５）。優先度は各画像の属性（例えば、お気に入り度）に基づいて決定されるものとする。
【００１７】
その後、ＣＰＵ１０２は、Ｓ５０２で選択した配置枠及びＳ５０４で選択した画像より前方の範囲（前記配置枠より前方の配置枠群、及び前記画像より前方の画像群）に対し画像の選択・配置処理を行なう（Ｓ５０６）。Ｓ５０６の処理の詳細は、後述する図６を用いて説明する。ＣＰＵ１０２は、Ｓ５０６の処理が失敗したか否かを判断する（Ｓ５０７）。ＣＰＵ１０２は、処理が正常に完了した場合には、Ｓ５０２で選択した配置枠及びＳ５０４で選択した画像より後方の範囲（前記配置枠より前方の配置枠群、及び前記画像より前方の画像群）に対し画像の選択・配置処理を行なう（Ｓ５０８）。Ｓ５０８の処理の詳細は、後述する図７を用いて説明する。ＣＰＵ１０２は、Ｓ５０８の処理が失敗したか否かを判断し（Ｓ５０９）、処理が正常に完了した場合には、処理結果の戻り値を処理が正常に完了として、図５に示す処理を終了する。
ＣＰＵ１０２は、Ｓ５０３の判断の結果、選択した配置枠に配置すべき画像が、選択された画像範囲内に存在しない場合、処理結果の戻り値を処理失敗として、図５に示す処理を終了する。また、ＣＰＵ１０２は、Ｓ５０７或いはＳ５０９の判断の結果、選択範囲からの画像の選択・配置処理の結果が、処理失敗である場合には、画像の選択範囲内に、現在選択されている画像の次の優先度の画像が存在するか否かを判断する（Ｓ５１０）。ＣＰＵ１０２は、判断の結果、次の優先度の画像が存在するならば画像を選択し（Ｓ５１１）、Ｓ５０５の処理に戻る。ＣＰＵ１０２は、Ｓ５１０の判断の結果、次の優先度の画像が存在しない場合には、処理結果の戻り値を処理失敗として、図５に示す処理を終了する。
【００１８】
図６は、第１の実施形態の画像を選択・配置した配置枠と画像の前方を新たな範囲とし、画像の選択・配置を行なう処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、画像を選択・配置した現在の配置枠より前方に対して既に画像が配置されている配置枠を順に探索する（Ｓ６０１）。次に、ＣＰＵ１０２は、探索の結果、既に画像が配置されている配置枠が存在するか否かを判断する（Ｓ６０２）。ＣＰＵ１０２は、判断の結果、既に画像が配置されている配置枠が存在すれば配置枠の次の配置枠を新たな配置枠の範囲の先頭配置枠とする（Ｓ６０３）。そして、ＣＰＵ１０２は、画像の整列順において配置枠に配置されている画像の次の画像を新たな画像の範囲の先頭画像とする（Ｓ６０４）。
【００１９】
ＣＰＵ１０２は、Ｓ６０２の判断の結果、既に画像が配置されている配置枠が存在しなかった場合には、テンプレートの先頭の配置枠を新たな配置枠の範囲の先頭配置枠とする（Ｓ６０８）。そして、ＣＰＵ１０２は、画像の整列順において先頭の画像を新たな画像の範囲の先頭画像とする（Ｓ６０９）。
ＣＰＵ１０２は、画像を選択・配置した現在の配置枠の１つ前の配置枠を新たな配置枠の範囲の末尾配置枠とする（Ｓ６０５）。続いて、ＣＰＵ１０２は、画像の整列順において現在の配置枠に配置されている画像の１つ前の画像を新たな画像の範囲の末尾画像とする（Ｓ６０６）。その後、ＣＰＵ１０２は、図５に示される選択範囲に対する画像の選択・配置処理を行ない（Ｓ６０７）、図６に示す処理を終了する。
【００２０】
図７は、第１の実施形態の画像を選択・配置した配置枠と画像の後方を新たな範囲とし、画像の選択・配置を行なう処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、画像を選択・配置した現在の配置枠より後方に対して既に画像が配置されている配置枠を順に探索する（Ｓ７０１）。次に、ＣＰＵ１０２は、探索の結果、既に画像が配置されている配置枠が存在するか否かを判断する（Ｓ７０２）。ＣＰＵ１０２は、判断の結果、既に画像が配置されている配置枠が存在すれば配置枠の前の配置枠を新たな配置枠の範囲の末尾配置枠とする（Ｓ７０３）。そして、ＣＰＵ１０２は、画像の整列順において配置枠に配置されている画像の前の画像を新たな画像の範囲の末尾画像とする（Ｓ７０４）。
【００２１】
一方、ＣＰＵ１０２は、Ｓ７０２の判断の結果、既に画像が配置されている配置枠が存在しなかった場合には、テンプレートの末尾の配置枠を新たな配置枠の範囲の末尾配置枠とする（Ｓ７０８）。そして、ＣＰＵ１０２は、画像の整列順において末尾の画像を新たな画像の範囲の末尾画像とする（Ｓ７０９）。
ＣＰＵ１０２は、画像を選択・配置した現在の配置枠の１つ後の配置枠を新たな配置枠の範囲の先頭配置枠とし（Ｓ７０５）、画像の整列順において現在の配置枠に配置されている画像の１つ後の画像を新たな画像の範囲の末尾画像とする（Ｓ７０６）。その後に、ＣＰＵ１０２は、図５に示される選択範囲に対する画像の選択・配置処理を行ない（Ｓ７０７）、図７に示す処理を終了する。
【００２２】
図８は、画像の選択・配置に一度も失敗しない場合の選択範囲からの画像の選択・配置処理の一例を表わす概念図である。
図８において、８００、８１０は、画像配置対象であるテンプレートにおけるページを表わしている。８０１〜８０３、８１１は、各ページ内の配置枠を表わしている。現在選択されている配置枠の範囲は８０１、８０２、８０３、８１１であり、配置枠の順序（レイアウトに係る順序）もこの順であるものとする。図８のように本実施形態においては、各配置枠は枠の大きさに基づいて優先度が決定されており、数字が大きいものほど優先度が高いものとする。
８２１〜８２８は、現在選択されている範囲の配置する候補の画像群であり、８２１から８２８までの順に並んでいるものとする。また、図のように各画像にはユーザによって設定されたお気に入り度が設定されているものとする。本実施形態においては、より高い優先度を持つ配置枠により高いお気に入り度を持つ画像を選択・配置するものとする。即ち、本実施形態では、ＣＰＵ１０２は、お気に入り度がより高い画像を優先度がより高い画像として取り扱う。ＣＰＵ１０２が、このように選択している配置枠の範囲と画像の範囲とに対し、図５に示した選択範囲からの画像の選択・配置処理を行なうと、Ｓ５０２において配置枠８０１、８０２、８０３、８１１のうち最も優先度の高い配置枠８１１が選択される。
【００２３】
次に、ＣＰＵ１０２は、Ｓ５０４において画像８２１〜８２８のうち最もお気に入り度の高い画像８２６を選択し、Ｓ５０５で配置枠８１１に画像８２６を配置する。次に、ＣＰＵ１０２は、Ｓ５０６において配置枠８１１より前方の配置枠８０１〜８０３を新たな枠選択範囲として設定し、画像８２６より前方の画像８２１〜８２５を新たな画像選択範囲として設定する。そして、ＣＰＵ１０２は、新たな選択範囲からの画像の選択・配置処理が再帰的に呼び出す。その中では、ＣＰＵ１０２は、まずＳ５０２において配置枠８０１、８０２、８０３のうち最も優先度の高い配置枠８０１を選択する。そして、ＣＰＵ１０２は、Ｓ５０４において画像８２１〜８２５のうち最もお気に入り度の高い画像８２１を選択し、Ｓ５０５で配置枠８０１に画像８２１を配置する。その後、ＣＰＵ１０２は、配置枠８０１より前方の配置枠は無いことからＳ５０６の処理は何も行なわず正常終了する。
【００２４】
そして、ＣＰＵ１０２は、Ｓ５０８において配置枠８０１より後方の配置枠８０２、８０３を新たな枠選択範囲として設定し、画像８２１より後方の画像８２２〜８２５を新たな画像選択範囲として設定する。そして、ＣＰＵ１０２は、新たな選択範囲からの画像の選択・配置処理を再帰的に呼び出す。その中では、ＣＰＵ１０２は、まずＳ５０２において配置枠８０２、８０３のうち最も優先度の高い配置枠８０２を選択する（同値の場合は前方が優先されるものとする）。そして、ＣＰＵ１０２は、Ｓ５０４において画像８２２〜８２５のうち最もお気に入り度の高い画像８２２を選択し、Ｓ５０５で配置枠８０２に画像８２２を配置する。その後、ＣＰＵ１０２は、配置枠８０２より前方の空き配置枠は無いことから、Ｓ５０６の処理は何も行なわず正常終了する。
【００２５】
そして、ＣＰＵ１０２は、Ｓ５０８において配置枠８０２より後方の配置枠８０３を新たな枠選択範囲として設定し、画像８２２より後方の画像８２３〜８２５を新たな画像選択範囲として設定する。そして、ＣＰＵ１０２は、新たな選択範囲からの画像の選択・配置処理を再帰的に呼び出す。ＣＰＵ１０２は、まずＳ５０２において配置枠８０３を選択し、Ｓ５０４において画像８２３〜８２５のうち最もお気に入り度の高い画像８２４を選択する。そして、ＣＰＵ１０２は、Ｓ５０５で配置枠８０３に画像８２４を配置する。
以上の処理により、最終的に配置枠８０１には画像８２１、配置枠８０２には画像８２２、配置枠８０３には画像８２４、配置枠８１１には画像８２６が配置される。
【００２６】
図９は、画像の選択・配置の途中に失敗がある場合の選択範囲からの画像の選択・配置処理の一例を表わす概念図である。
図９において、９００、９１０は画像配置対象であるテンプレートにおけるページを表わしている。９０１〜９０３、９１１は、各ページ内の配置枠を表わしている。現在選択されている配置枠の範囲は９０１、９０２、９０３、９１１であり、配置枠の順序（レイアウトに係る順序）もこの順であるものとする。図９のように本実施形態においては、各配置枠は枠の大きさに基づいて優先度が決定されており、数字が大きいものほど優先度が高いものとする。
９２１〜９２８は、現在選択されている範囲の配置する候補の画像群であり、９２１から９２８までの順に並んでいるものとする。また、図のように各画像にはユーザによって設定されたお気に入り度が設定されているものとする。本実施形態においては、より高い優先度を持つ配置枠により高いお気に入り度を持つ画像を選択・配置するものとする。ＣＰＵ１０２が、このように選択されている配置枠の範囲と画像の範囲とに対し、図５に示した選択範囲からの画像の選択・配置処理を行なうと、Ｓ５０２において配置枠９０１、９０２、９０３、９１１のうち最も優先度の高い配置枠９１１が選択される。
【００２７】
次に、ＣＰＵ１０２は、Ｓ５０４において画像９２１〜９２８のうち最もお気に入り度の高い画像９２１を選択し、Ｓ５０５で配置枠９１１に画像９２１を配置する。次に、ＣＰＵ１０２は、Ｓ５０６において配置枠９１１より前方の配置枠９０１〜９０３を新たな枠選択範囲として設定し、画像９２１より前方の画像は存在しないので空の画像選択範囲を設定する。そして、ＣＰＵ１０２は、新たな選択範囲からの画像の選択・配置処理を再帰的に呼び出す。その中で、ＣＰＵ１０２は、まずＳ５０２において配置枠９０１、９０２、９０３のうち最も優先度の高い配置枠９０１を選択する。そして、ＣＰＵ１０２は、Ｓ５０３において画像の範囲に画像が存在しないので処理失敗で呼び出し元の処理に戻り、呼び出し元のＳ５０７で処理結果が処理失敗なのでＳ５１０において画像９２１の次のお気に入り度の画像が存在するか否かを判断する。
そして、ＣＰＵ１０２は、Ｓ５１１において画像９２７を選択する。その後、ＣＰＵ１０２は、Ｓ５０５において先に選択した配置枠９１１に対し画像９２７を配置する。次に、ＣＰＵ１０２は、Ｓ５０６において配置枠９１１より前方の配置枠９０１〜９０３を新たな枠選択範囲として設定し、画像９２７より前方の画像９２１〜９２６を新たな画像選択範囲として設定する。そして、ＣＰＵ１０２は、新たな選択範囲からの画像の選択・配置処理を再帰的に呼び出す。その中で、ＣＰＵ１０２は、まずＳ５０２において配置枠９０１、９０２、９０３のうち最も優先度の高い配置枠９０１を選択する。そして、ＣＰＵ１０２は、Ｓ５０４において画像９２１〜９２６のうち最もお気に入り度の高い画像９２１を選択し、Ｓ５０５で配置枠９０１に画像９２１を配置する。
【００２８】
その後、ＣＰＵ１０２は、配置枠９０１より前方の配置枠は無いことから、Ｓ５０９において配置枠９０１より後方の配置枠９０２、９０３を新たな枠選択範囲として設定し、画像９２１より後方の画像９２２〜９２６を新たな画像選択範囲として設定する。次にＣＰＵ１０２は、Ｓ５０７において図５に示した選択範囲からの画像の選択・配置処理を再帰的に呼び出し、その中で、まずＳ５０２において配置枠９０２、９０３のうち最も優先度の高い配置枠９０２を選択する（同値の場合は前方が優先されるものとする）。そして、ＣＰＵ１０２は、Ｓ５０４において画像９２２〜９２６のうち最もお気に入り度の高い画像９２４を選択し、Ｓ５０５で配置枠９０２に画像９２４を配置する。その後、ＣＰＵ１０２は、配置枠９０２より前方の空き配置枠は無いことから、Ｓ５０６の処理は何も行なわず正常終了する。
【００２９】
そしてＣＰＵ１０２は、Ｓ５０８において配置枠９０２より後方の配置枠９０３を新たな枠選択範囲として設定し、画像９２４より後方の画像９２５、９２６を新たな画像選択範囲として設定し、新たな選択範囲からの画像の選択・配置処理を再帰的に呼び出す。その中で、ＣＰＵ１０２は、まずＳ５０２において配置枠９０３を選択し、Ｓ５０４において画像９２５、９２６のうちお気に入り度のより高い画像９２６を選択し、Ｓ５０５で配置枠９０３に画像９２６を配置する。
以上の処理により、最終的に配置枠９０１には画像９２１、配置枠９０２には画像９２４、配置枠９０３には画像９２６、配置枠９１１には画像９２７が配置される。
【００３０】
図１０は、画像の選択・配置に失敗した際の処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、画像の選択・配置処理の失敗をユーザに通知（又は提示）する（Ｓ１００１）。この際、ＣＰＵ１０２は、指示が画像の並び順を崩してでも自動配置するものであるか否かをユーザが選択可能な選択肢をユーザに提示する。次に、ＣＰＵ１０２は、ユーザからの指示（又は前記選択肢の選択）を受け付け、指示が画像の並び順を崩してでも自動配置するものであるか否かを判断する（Ｓ１００２）。ＣＰＵ１０２は、判断の結果、指示が画像の並び順を崩してでも自動配置するものであった場合、全ての画像に対し画像の並び順に関係なく画像の配置枠の属性と画像の属性との対応関係に基づいた配置処理を行ない（Ｓ１００３）、図１０に示す処理を終了する。一方、ＣＰＵ１０２は、Ｓ１００２の判断の結果、指示が画像の並び順は必ず守る指示であった場合、配置枠の先頭から順に配置枠の数だけの画像を先頭から配置し（Ｓ１００４）、図１０に示す処理を終了する。
【００３１】
本実施形態においては、ＣＰＵ１０２は、配置枠の大きさに基づいて配置枠の優先度を決定したが、テンプレート内の先頭の配置枠はより優先度を高くする等テンプレート内の位置により優先度を調整してもよい。また、ＣＰＵ１０２は、配置枠の形状が星型やハート型等通常の長方形以外の配置枠はより優先度を高くする等、配置枠の形状により優先度を調整してもよい。また、ＣＰＵ１０２は、配置枠の装飾に基づいて優先度を決定してもよい。
また、本実施形態においては、ＣＰＵ１０２は、画像を撮影日時順で整列したが、画像のファイル名順、撮像機順、被写体順等で整列してもよい。また、ＣＰＵ１０２は、年を考慮しない月日順或いは季節順、又は被写体の年齢順で整列してもよい。
また、本実施形態においては、ＣＰＵ１０２は、画像の属性であるお気に入り度を画像の優先度として使用したが、画像の画質、解像度、ピントのあっている度合い、露出値、被写体、被写体の大きさ、被写体の笑顔の度合い等を画像の優先度として使用してもよい。
以上のように、本実施形態の画像レイアウト装置においては、画像の並び順を守った上でお気に入りの高い画像を優先度の高い配置枠に配置することができる。
【００３２】
＜第２の実施形態＞
本実施形態においては、ＣＰＵ１０２が、画像の属性に基づいて画像の順序を守って画像を選択・配置を行なうか否かを切り替える処理を行う実施形態を、図面を参照しながら説明する。なお、本実施形態においては、上述した実施形態と異なる点について説明を行う。
図１１は、第２の実施形態における画像選択・配置処理の流れの一例を示すフローチャートである。
まず、ＣＰＵ１０２は、画像群に含まれる画像の属性（例えば画像のジャンル）を参照し（Ｓ１１０１）、画像が、順序が重要な属性を有するか否かを判断する（Ｓ１１０２）。ＣＰＵ１０２は、判断の結果、画像が、順序が重要な属性（例えば、画像は結婚式の写真）を有するならば、ユーザにより与えられた配置する候補の画像群に含まれる画像を画像に付属する属性により一定の基準（例えば撮影日時順）で整列させる（Ｓ１１０３）。
【００３３】
次に、ＣＰＵ１０２は、選択範囲の初期値設定処理を行なう（Ｓ１１０４）。そして、ＣＰＵ１０２は、選択範囲の初期値設定処理で設定された範囲の配置枠に対し、処理で設定された範囲の画像を配置する処理を行なう（Ｓ１１０５）。その後、ＣＰＵ１０２は、画像選択・配置処理が失敗したか否かを判断する（Ｓ１１０６）。ＣＰＵ１０２は、判断の結果、処理が失敗していれば選択・配置処理の失敗に対する処理を行ない（Ｓ１１０７）、Ｓ１１０６の判断の結果、処理が失敗していなければ、何も行なわずに処理を終了する。ＣＰＵ１０２は、Ｓ１１０２の判断の結果、画像の撮影順序が重要な属性を有さないならば、画像の並び順に関係なく画像の配置枠の属性と画像の属性の対応関係に基づいた配置処理を行ない（Ｓ１１０８）、図１１に示す処理を終了する。
【００３４】
ここで、画像の撮影順序が重要な属性を有さない画像とは、風景写真や花や動物の写真のように画像の撮影順序はあまり重要ではなく、被写体の様子や美しさ、画質等が重要な画像を指すものとする。
以上のように、本実施形態の画像レイアウト装置においては、画像の属性に基づいて画像の順序を守って画像を選択・配置を行なうか否かを切り替えることが可能となる。
【００３５】
＜第３の実施形態＞
本実施形態においては、ＣＰＵ１０２が、テンプレートの属性に基づいて画像の順序を守って画像を選択・配置を行なうか否かを切り替える処理を行う実施形態を、図面を参照しながら説明する。なお、本実施形態においては、上述した実施形態と異なる点について説明を行う。
図１２は、第３の実施形態における画像選択・配置処理の流れの一例を示すフローチャートである。
まず、ＣＰＵ１０２は、画像を配置する対象となるテンプレートの属性（例えばテンプレートのジャンル）を参照し（Ｓ１２０１）、テンプレートは順序が重要な属性を有するか否かを判断する（Ｓ１２０２）。ＣＰＵ１０２は、判断の結果、テンプレートが、順序が重要な属性（例えば、テンプレートが子供の成長記録に関する属性）を有するならば、Ｓ１２０３に処理を進め、順序が重要な属性を有していなければ、Ｓ１２０８に処理を進める。
【００３６】
Ｓ１２０３において、ＣＰＵ１０２は、ユーザにより与えられた配置する候補の画像群に含まれる画像を画像に付属する属性情報により一定の基準（例えば撮影日時順）で整列させる。次に、ＣＰＵ１０２は、選択範囲の初期値設定処理を行なう（Ｓ１２０４）。そして、ＣＰＵ１０２は、選択範囲の初期値設定処理で設定された範囲の配置枠に対し、処理で設定された範囲の画像を配置する処理を行なう（Ｓ１２０５）。その後、ＣＰＵ１０２は、画像選択・配置処理が失敗したか否かを判断する（Ｓ１２０６）。ＣＰＵ１０２は、判断の結果、処理が失敗していれば選択・配置処理の失敗に対する処理を行ない（Ｓ１２０７）、Ｓ１２０６の判断の結果、処理が失敗していなければ、何も行なわずに図１２に示す処理を終了する。
一方、Ｓ１２０８において、ＣＰＵ１０２は、画像の並び順に関係なく画像の配置枠の属性と画像の属性の対応関係に基づいた配置処理を行なう。そして、ＣＰＵ１０２は、図１２に示す処理を終了する。
【００３７】
なお、本実施形態における順序が重要な属性は、子供の成長記録以外に、旅行やレースの記録、結婚式等の行事、建造物の建築記録等であってもよい。
以上のように、本実施形態の画像レイアウト装置においては、画像を配置する対象となるテンプレートの属性に基づいて画像の順序を守って画像を選択・配置を行なうか否かを切り替えることができる。
【００３８】
＜第４の実施形態＞
本実施形態においては、ＣＰＵ１０２が、特定の配置枠を、順序を守って配置する対象から除外する実施形態を、図面を参照しながら説明する。なお、本実施形態においては、上述した実施形態と異なる点について説明を行う。
図１３は、第４の実施形態における画像選択・配置処理の流れの一例を示すフローチャートである。
まず、ＣＰＵ１０２は、配置枠の属性等に基づいて、順序を守る対象外の配置枠を選択し、選択した配置枠に対する画像の配置処理を行なう（Ｓ１３０１）。Ｓ１３０１の処理の詳細は、後述する図１４を用いて説明する。ＣＰＵ１０２は、ユーザにより与えられた配置する候補の画像群に含まれる画像を画像に付属する属性により一定の基準（例えば撮影日時順）で整列させる（Ｓ１３０２）。次に、ＣＰＵ１０２は、選択範囲の初期値設定処理を行なう（Ｓ１３０３）。
【００３９】
そして、ＣＰＵ１０２は、選択範囲の初期値設定処理で設定された範囲の配置枠に対し、処理で設定された範囲の画像を配置する処理を行なう（Ｓ１３０４）。その後、ＣＰＵ１０２は、画像選択・配置処理が失敗したか否かを判断する（Ｓ１３０５）。判断の結果、処理が失敗していれば選択・配置処理の失敗に対する処理を行ない（Ｓ１３０６）、Ｓ１３０５の判断の結果、処理が失敗していなければ、何も行なわずに図１３に示す処理を終了する。
【００４０】
図１４は、順序を守る対象外の配置枠に対する配置処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、順序を守って配置する対象外の配置枠で、まだ画像が配置されていないもののうち、最も優先度の高い配置枠を選択する（Ｓ１４０１）。ここで、順序を守って配置する対象外の配置枠とは、例えば結婚式のアルバムや旅行アルバムにおける全員の集合写真のように順序はあまり重要でなく、大きな配置枠に配置することが重要である画像を配置する配置枠のことである。
次に、ＣＰＵ１０２は、ユーザにより与えられた配置する候補の画像群の画像で、まだ配置枠に配置されていない画像のうち最も優先度の高い画像を選択し（Ｓ１４０２）、選択した配置枠に配置する（Ｓ１４０３）。ＣＰＵ１０２は順序を守って配置する対象外の配置枠のうち、まだ画像が配置されていないものがまだあるか否かを判断し（Ｓ１４０４）、まだ配置していないものがあればＳ１４０１の処理に移り、まだ配置していないものがなければ図１４に示す処理を終了する。
【００４１】
本実施形態において、ＣＰＵ１０２は、図６に示した前方の選択範囲からの選択配置処理における、配置枠の選択範囲を決定する処理では順序を守って配置する対象外の配置枠は除外して配置枠の選択範囲を決定するものとする。図７に示した後方の選択範囲からの選択処理も同様である。また、ＣＰＵ１０２は、図５の選択範囲からの選択・配置処理における配置枠の選択処理においても、順序を守って配置する対象外の配置枠は除外して選択処理を行なうものとする。
なお、本実施形態では、ＣＰＵ１０２が、順序を守った配置の対象外の配置枠には、配置枠の属性と画像の属性との対応により画像を自動配置したが、ユーザによる手動に基づいて配置するようにしてもよい。
以上のように、本実施形態の画像レイアウト装置においては、特定の配置枠を、順序を守って配置する対象から除外した上で、その他の配置枠に対して画像の並び順を守った上でお気に入りの高い画像を優先度の高い配置枠に配置することができる。
【００４２】
＜第５の実施形態＞
本実施形態においては、ＣＰＵ１０２が、ページを跨った場合には画像の順序を守った上で、同一ページ内であれば順序よりも属性の一致を重視した画像の選択・配置を行なう実施形態を、図面を参照しながら説明する。なお、本実施形態においては、上述した実施形態と異なる点について説明を行う。
図１５は、第５の実施形態の画像を選択・配置した配置枠と画像の前方を新たな範囲とし、画像の選択・配置を行なう処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、画像を選択・配置した現在の配置枠より前方に対して既に画像が配置されている配置枠を順に探索する（Ｓ１５０１）。次に、ＣＰＵ１０２は、探索の結果、既に画像が配置されている配置枠が存在するか否かを判断する（Ｓ１５０２）。ＣＰＵ１０２は、判断の結果、既に画像が配置されている配置枠が存在すれば、配置枠は現在の配置枠と同一ページ内にあるか否かを判断する（Ｓ１５０３）。
【００４３】
一方、ＣＰＵ１０２は、判断の結果、配置枠が現在の配置枠と同一ページ内にある場合には、Ｓ１５０１の処理に戻り、異なるページにある場合には、配置枠の次の配置枠を新たな配置枠の範囲の先頭配置枠とする（Ｓ１５０４）。そして、ＣＰＵ１０２は、画像の整列順において配置枠に配置されている画像の次の画像を新たな画像の範囲の先頭画像とする（Ｓ１５０５）。ＣＰＵ１０２は、Ｓ１５０２の判断の結果、既に画像が配置されている配置枠が存在しなかった場合には、テンプレートの先頭の配置枠を新たな配置枠の範囲の先頭配置枠とする（Ｓ１５１０）。そして、ＣＰＵ１０２は、画像の整列順において先頭の画像を新たな画像の範囲の先頭画像とする（Ｓ１５１１）。
ＣＰＵ１０２は、画像を選択・配置した現在の配置枠の１つ前の配置枠を新たな配置枠の範囲の末尾配置枠とする（Ｓ１５０６）。それから、ＣＰＵ１０２は、新たに設定した配置枠の範囲中の最も優先度の高い配置枠は現在の配置枠と同一ページに存在するか否かを判断する（Ｓ１５０７）。ＣＰＵ１０２は、判断の結果、新たな配置枠の範囲中の最も優先度の高い配置枠が現在の配置枠と同一ページに存在しなかった場合には、画像の整列順において現在の配置枠に配置されている画像の１つ前の画像を新たな画像の範囲の末尾画像とする（Ｓ１５０８）。その後に、ＣＰＵ１０２は、選択範囲に対する画像の選択・配置処理を行ない（Ｓ１５０９）、図１５に示す処理を終了する。
【００４４】
ＣＰＵ１０２は、Ｓ１５０７の判断の結果、新たな配置枠の範囲中の最も優先度の高い配置枠が現在の配置枠と同一ページに存在する場合には、現在の配置枠より後方で既に画像が配置されている配置枠を順に探索する（Ｓ１５１２）。そして、ＣＰＵ１０２は、探索の結果、既に画像が配置されている配置枠が存在するか否かを判断する（Ｓ１５１３）。ＣＰＵ１０２は、判断の結果、既に画像が配置されている配置枠が存在すれば、配置枠は現在の配置枠と同一ページ内にあるか否かを判断する（Ｓ１５１４）。ＣＰＵ１０２は、判断の結果、配置枠が現在の配置枠と同一ページ内にある場合、Ｓ１５１２の処理に戻り、異なるページにある場合、配置枠に配置されている画像の１つ前の画像を新たな画像の範囲の末尾画像とし（Ｓ１５１５）、Ｓ１５０９の処理に移る。ＣＰＵ１０２は、Ｓ１５１３の判断の結果、既に画像が配置されている配置枠が存在しなかった場合には、画像の整列順において末尾の画像を新たな画像の範囲の末尾画像とし（Ｓ１５１６）、Ｓ１５０９の処理に移る。
【００４５】
図１６は、第５の実施形態の画像を選択・配置した配置枠と画像の後方を新たな範囲とし、画像の選択・配置を行なう処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、画像を選択・配置した現在の配置枠より後方に対して既に画像が配置されている配置枠を順に探索する（Ｓ１６０１）。次に、ＣＰＵ１０２は、探索の結果、既に画像が配置されている配置枠が存在するか否かを判断する（Ｓ１６０２）。ＣＰＵ１０２は、判断の結果、既に画像が配置されている配置枠が存在すれば、配置枠は現在の配置枠と同一ページ内にあるか否かを判断する（Ｓ１６０３）。
ＣＰＵ１０２は、判断の結果、配置枠が現在の配置枠と同一ページ内にある場合には、Ｓ１６０１の処理に戻り、異なるページにある場合には、配置枠の前の配置枠を新たな配置枠の範囲の末尾配置枠とする（Ｓ１６０４）。そして、ＣＰＵ１０２は、画像の整列順において配置枠に配置されている画像の前の画像を新たな画像の範囲の先頭画像とする（Ｓ１６０５）。ＣＰＵ１０２は、Ｓ１６０２の判断の結果、既に画像が配置されている配置枠が存在しなかった場合には、テンプレートの末尾の配置枠を新たな配置枠の範囲の末尾配置枠とする（Ｓ１６１０）。そして、ＣＰＵ１０２は、画像の整列順において末尾の画像を新たな画像の範囲の末尾画像とする（Ｓ１６１１）。
【００４６】
ＣＰＵ１０２は、画像を選択・配置した現在の配置枠の１つ後の配置枠を新たな配置枠の範囲の先頭配置枠とする（Ｓ１６０６）。それから、ＣＰＵ１０２は、新たに設定した配置枠の範囲中の最も優先度の高い配置枠は現在の配置枠と同一ページに存在するか否かを判断する（Ｓ１６０７）。ＣＰＵ１０２は、判断の結果、新たな配置枠の範囲中の最も優先度の高い配置枠が現在の配置枠と同一ページに存在しなかった場合には、画像の整列順において現在の配置枠に配置されている画像の１つ後の画像を新たな画像の範囲の先頭画像とする（Ｓ１６０８）。その後に、ＣＰＵ１０２は、選択範囲に対する画像の選択・配置処理を行ない（Ｓ１６０９）、図１６に示す処理を終了する。
ＣＰＵ１０２は、Ｓ１６０７の判断の結果、新たな配置枠の範囲中の最も優先度の高い配置枠が現在の配置枠と同一ページに存在する場合には、現在の配置枠より前方で既に画像が配置されている配置枠を順に探索する（Ｓ１６１２）。そして、ＣＰＵ１０２は、探索の結果、既に画像が配置されている配置枠が存在するか否かを判断する（Ｓ１６１３）。ＣＰＵ１０２は、判断の結果、既に画像が配置されている配置枠が存在すれば、配置枠は現在の配置枠と同一ページ内にあるか否かを判断する（Ｓ１６１４）。ＣＰＵ１０２は、判断の結果、配置枠が現在の配置枠と同一ページ内にある場合には、Ｓ１６１２の処理に戻り、異なるページにある場合には、配置枠に配置されている画像の次の画像を新たな画像の範囲の先頭画像とし（Ｓ１６１５）、Ｓ１６０９の処理に移る。ＣＰＵ１０２は、Ｓ１６１３の判断の結果、既に画像が配置されている配置枠が存在しなかった場合には、画像の整列順において先頭の画像を新たな画像の範囲の先頭画像とし（Ｓ１６１６）、Ｓ１６０９の処理に移る。
【００４７】
以上のように、本実施形態の画像レイアウト装置においては、ある決められた区間を跨った場合には画像の順序が守られた上で、同一区間内であれば順序よりも属性の一致を重視した画像の選択・配置を行なうことができる。
【００４８】
＜その他の実施形態＞
画像の順序を守って画像を選択・配置するか否かを、ユーザが指定可能なように構成してもよい。つまり、ＣＰＵ１０２は、画像の順序を守って画像を選択・配置するか否かの選択肢を含み、画像の順序を守って画像を選択・配置するルールを適用する、画像選択範囲及び配置枠選択範囲を選択可能な画面をユーザに提示する。そして、ＣＰＵ１０２は、前記画面を介したユーザによる選択指示及び画像選択範囲及び配置枠選択範囲の選択操作に応じて、処理を実行するようにしてもよい。
つまり、ＣＰＵ１０２は、ユーザが画像の順序を守って画像を選択配置するよう指示したか否かを判断する。そして、ＣＰＵ１０２は、前記指示がなされた場合のみ、選択操作に基づいて、選択された配置枠選択範囲内の配置枠に対して、選択された画像選択範囲内の画像を選択、配置する、図３に記載の画像選択・配置処理を行なう。ＣＰＵ１０２は、前記指示がなされなかった場合、及び前記指示が選択された場合でも、前記選択されなかった範囲内の配置枠及び画像に対しては、順序を考慮せず、配置枠と画像との優先度に基づいて順に画像の選択・配置を行う。
これにより、画像を配置する対象のテンプレートや、配置する画像に応じてユーザが任意に画像の順序を守った配置とするか否かを指定することができる。
【００４９】
また、ＣＰＵ１０２は、選択した配置枠に配置する画像が存在しない場合に、前後の画像を拡大・トリミングして、画像数を増やすことにより配置を可能とするようにしてもよい。
図１７は、第１の画像の選択・配置に失敗した際の処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、選択された配置枠の前の配置枠が存在するか否かを判断し（Ｓ１７０１）、存在するならば、配置枠に画像が配置済みであるか否かを判断する（Ｓ１７０２）。ＣＰＵ１０２は、判断の結果、配置枠に画像が配置済みである場合には、選択された配置枠の後の配置枠が存在するか否かを判断し（Ｓ１７０３）、存在するならば、配置枠に画像が配置済みであるか否かを判断する（Ｓ１７０４）。ＣＰＵ１０２は、判断の結果、配置枠に画像が配置済みである場合には、選択された配置枠の後の配置枠の方が前の配置枠よりも優先度が高いか否かを判断する（Ｓ１７０５）。
【００５０】
ＣＰＵ１０２は、Ｓ１７０３の判断の結果、選択された配置枠の後の配置枠が存在しない、或いはＳ１７０４の判断の結果、配置枠に画像が未配置の場合には、Ｓ１７０６の処理に移る。また、Ｓ１７０５の判断の結果、後の配置枠の方が、優先度が高い場合には、Ｓ１７０６の処理に移る。Ｓ１７０６において、ＣＰＵ１０２は、前の配置枠の画像を拡大・トリミングすることにより前の配置枠に配置する画像と、選択された配置枠に配置する画像と、を生成、配置する。そして、ＣＰＵ１０２は、図１７に示す処理を終了する。
一方、Ｓ１７０１の判断で、選択された配置枠の前の配置枠が存在しなかった場合、或いはＳ１７０２の判断で選択された配置枠の前の配置枠に画像が配置されていなかった場合には、Ｓ１７０７の処理に移る。この場合、ＣＰＵ１０２は、選択された配置枠の後の配置枠が存在するか否かを判断し（Ｓ１７０７）、存在するならば、配置枠に画像が配置済みであるか否かを判断する（Ｓ１７０８）。ＣＰＵ１０２は、判断の結果、配置枠に画像が配置済みである場合、或いはＳ１７０５の判断の結果、前の配置枠の方が、優先度が高い場合には、Ｓ１７０９の処理に移る。
【００５１】
Ｓ１７０９において、ＣＰＵ１０２は、後の配置枠の画像を拡大・トリミングすることにより前の配置枠に配置する画像と、選択された配置枠に配置する画像と、を生成（画像生成）、配置する。そして、ＣＰＵ１０２は、図１７に示す処理を終了する。Ｓ１７０７の判断の結果、選択された配置枠の後の配置枠が存在しない、或いはＳ１７０８の判断の結果、配置枠に画像が未配置の場合、ＣＰＵ１０２は、選択配置処理の失敗をユーザに通知し（Ｓ１７１０）、図１７に示す処理を終了する。
これにより、選択された配置枠に配置する画像が存在しない場合は、前後の配置枠の画像から、配置すべき画像を生成することができる。
【００５２】
また、ＣＰＵ１０２は、選択した配置枠に配置する画像が存在しない場合に、配置枠を変更することにより配置を可能としてもよい。
図１８は、第２の画像の選択・配置に失敗した際の処理の一例を示すフローチャートである。
まず、ＣＰＵ１０２は、当てはめる画像が存在しない配置枠を削除する（Ｓ１８０１）。次に、ＣＰＵ１０２は、あらかじめテンプレートに応じて用意された代用の画像を削除された配置枠の位置に挿入し（Ｓ１８０２）、図１８に示す処理を終了する。
これにより、選択された配置枠に配置する画像が存在しない場合には、配置枠を削除し、代用の画像を挿入することにより画像の自動配置を完了することができる。
【００５３】
また、上述した実施形態の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は上述した実施形態を構成することになる。
【００５４】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００５５】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００５６】
上述した実施形態を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００５７】
以上、上述した各実施形態によれば、画像の順序を保った上で、画像の配置対象である配置枠の属性と画像の属性との対応に基づく配置を行なうことで、ユーザの意図を反映した画像の選択・配置を自動的に行なうことができる。
【００５８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
また、上述した各実施形態は任意に組み合わせて実施してもよい。
【符号の説明】
【００５９】
１０２  ＣＰＵ、１０３  ＲＯＭ、１０４  ＲＡＭ、１０５  記憶装置
【図１】
2010266929.tif 000003
【図２】
2010266929.tif 000004
【図３】
2010266929.tif 000005
【図４】
2010266929.tif 000006
【図５】
2010266929.tif 000007
【図６】
2010266929.tif 000008
【図７】
2010266929.tif 000009
【図８】
2010266929.tif 000010
【図９】
2010266929.tif 000011
【図１０】
2010266929.tif 000012
【図１１】
2010266929.tif 000013
【図１２】
2010266929.tif 000014
【図１３】
2010266929.tif 000015
【図１４】
2010266929.tif 000016
【図１５】
2010266929.tif 000017
【図１６】
2010266929.tif 000018
【図１７】
2010266929.tif 000019
【図１８】
2010266929.tif 000020