(57)【要約】【課題】  所定の領域にコンテンツをアスペクト比を変えないで隙間なく、コンテンツの合計面積を最小になるように配置する。【解決手段】  矩形形状を有する複数のコンテンツの画像データを、一枚の用紙上のレイアウト領域に配置するレイアウト制御装置は、用紙上の前記レイアウト領域に複数のコンテンツを隙間なく配置するために、基準となる矩形形状のサイズを決定する決定部と、決定されたサイズに応じて、矩形形状のアスペクト比を保持しながらそれぞれのコンテンツの矩形形状のサイズを拡大または縮小する変更部と、矩形形状のサイズが変更された複数のコンテンツの画像データをレイアウト領域に配置する配置制御部とを備える。【選択図】  図５
2012231430.tif 000002
【特許請求の範囲】
【請求項１】
矩形形状を有する複数のコンテンツの画像データを、一枚の用紙上のレイアウト領域に配置するレイアウト制御装置であって、
用紙上の前記レイアウト領域に前記複数のコンテンツを隙間なく配置するために、基準となる矩形形状のサイズを決定する決定手段と、
前記決定手段により決定された前記サイズに応じて、矩形形状のアスペクト比を保持しながらそれぞれのコンテンツの矩形形状のサイズを拡大または縮小する変更手段と、
前記変更手段により前記矩形形状のサイズが変更された複数のコンテンツの画像データを前記レイアウト領域に配置する配置制御手段と、
を備えることを特徴とするレイアウト制御装置。
【請求項２】
前記決定手段は、
前記レイアウト領域の行方向に配置する複数のコンテンツを隙間なく配置するために、当該複数のコンテンツの矩形形状の合計面積が最小となるように基準となる矩形形状の横幅のサイズを決定し、
前記レイアウト領域の列方向に配置する複数のコンテンツを隙間なく配置するために、当該複数のコンテンツの矩形形状の合計面積が最小となるように基準となる矩形形状の縦幅のサイズを決定することを特徴とする請求項１に記載のレイアウト制御装置。
【請求項３】
未配置の複数のコンテンツから、配置処理の対象となる複数のコンテンツを選択する選択手段と、
前記選択手段により選択された前記複数のコンテンツが前記レイアウト領域に配置可能であるか否かを、前記複数のコンテンツの矩形形状のサイズと、前記レイアウト領域の余白領域のサイズと、の比較により判定する判定手段と、
を更に備えることを特徴とする請求項１または２に記載のレイアウト制御装置。
【請求項４】
前記判定手段は、前記矩形形状のサイズが前記余白領域のサイズより大きい場合、前記複数のコンテンツを前記余白領域に配置できないと判定し、前記配置制御手段は前記複数のコンテンツの配置処理を終了することを特徴とする請求項３に記載のレイアウト制御装置。
【請求項５】
前記配置制御手段は、前記選択手段により選択された前記複数のコンテンツを、前記レイアウト領域の行方向に順次配置したレイアウト結果と、列方向に順次配置したレイアウト結果と、を比較して、前記レイアウト領域に配置されたコンテンツの個数の多い方の配置を、前記複数のコンテンツの配置として決定することを特徴とする請求項３または４に記載のレイアウト制御装置。
【請求項６】
前記配置制御手段は、前記選択手段により選択された前記複数のコンテンツを、前記レイアウト領域の行方向に順次配置する配置処理、前記レイアウト領域の列方向に順次配置する配置処理、または、行方向の配置処理と列方向の配置処理を交互に行うことを特徴とする請求項３乃至５のいずれか１項に記載のレイアウト制御装置。
【請求項７】
前記配置制御手段によって前記配置処理が終了された後、前記選択手段は、前記未配置の複数のコンテンツの中から、前記余白領域のアスペクト比に最も近いコンテンツを選択し、
前記変更手段は、前記選択手段により選択された前記コンテンツの矩形形状のサイズを前記余白領域のサイズに合わせて拡大または縮小し、
前記配置制御手段は、前記変更手段により前記矩形形状のサイズが拡大または縮小された前記コンテンツを前記余白領域に配置することを特徴する請求項３乃至６のいずれか１項に記載のレイアウト制御装置。
【請求項８】
矩形形状を有する複数のコンテンツの配置処理の結果を表示する表示手段と、
前記表示手段に表示されている前記複数のコンテンツの中から２つのコンテンツを配置位置の入れ替えの対象として指定する指定手段と、を更に備え、
前記指定手段により指定された前記２つのコンテンツについて、前記決定手段は、コンテンツを隙間なく配置するために、基準となる矩形形状のサイズを決定し、
前記変更手段は、決定された前記サイズに応じて、矩形形状のアスペクト比を保持しながらコンテンツの矩形形状のサイズを拡大または縮小し、
前記配置制御手段は、前記変更手段により前記矩形形状のサイズが変更されたコンテンツの画像データを前記レイアウト領域に配置することを特徴とする請求項１乃至７のいずれか１項に記載のレイアウト制御装置。
【請求項９】
矩形形状を有する複数のコンテンツの画像データを、一枚の用紙上のレイアウト領域に配置するレイアウト制御装置で実行されるレイアウト制御方法であって、
決定手段が、用紙上の前記レイアウト領域に前記複数のコンテンツを隙間なく配置するために、基準となる矩形形状のサイズを決定する決定工程と、
変更手段が、前記決定工程で決定された前記サイズに応じて、矩形形状のアスペクト比を保持しながらそれぞれのコンテンツの矩形形状のサイズを拡大または縮小する変更工程と、
配置制御手段が、前記変更工程で前記矩形形状のサイズが変更された複数のコンテンツの画像データを前記レイアウト領域に配置する配置制御工程と、
を有することを特徴とするレイアウト制御方法。
【請求項１０】
前記決定工程は、
前記レイアウト領域の行方向に配置する複数のコンテンツを隙間なく配置するために、当該複数のコンテンツの矩形形状の合計面積が最小となるように基準となる矩形形状の横幅のサイズを決定し、
前記レイアウト領域の列方向に配置する複数のコンテンツを隙間なく配置するために、当該複数のコンテンツの矩形形状の合計面積が最小となるように基準となる矩形形状の縦幅のサイズを決定する
ことを特徴とする請求項９に記載のレイアウト制御方法。
【請求項１１】
選択手段が、未配置の複数のコンテンツから、配置処理の対象となる複数のコンテンツを選択する選択工程と、
判定手段が、前記選択工程で選択された前記複数のコンテンツが前記レイアウト領域に配置可能であるか否かを、前記複数のコンテンツの矩形形状のサイズと、前記レイアウト領域の余白領域のサイズと、の比較により判定する判定工程と、
を更に有することを特徴とする請求項９または１０に記載のレイアウト制御方法。
【請求項１２】
前記判定工程は、前記矩形形状のサイズが前記余白領域のサイズより大きい場合、前記複数のコンテンツを前記余白領域に配置できないと判定し、前記配置制御工程は前記複数のコンテンツの配置処理を終了することを特徴とする請求項１１に記載のレイアウト制御方法。
【請求項１３】
前記配置制御工程は、前記選択工程で選択された前記複数のコンテンツを、前記レイアウト領域の行方向に順次配置したレイアウト結果と、列方向に順次配置したレイアウト結果と、を比較して、前記レイアウト領域に配置されたコンテンツの個数の多い方の配置を、前記複数のコンテンツの配置として決定することを特徴とする請求項１１または１２に記載のレイアウト制御方法。
【請求項１４】
前記配置制御工程は、前記選択工程で選択された前記複数のコンテンツを、前記レイアウト領域の行方向に順次配置する配置処理、前記レイアウト領域の列方向に順次配置する配置処理、または、行方向の配置処理と列方向の配置処理を交互に行うことを特徴とする請求項１１乃至１３のいずれか１項に記載のレイアウト制御方法。
【請求項１５】
前記配置制御工程によって前記配置処理が終了された後、前記選択工程は、前記未配置の複数のコンテンツの中から、前記余白領域のアスペクト比に最も近いコンテンツを選択し、
前記変更工程は、前記選択手段により選択された前記コンテンツの矩形形状のサイズを前記余白領域のサイズに合わせて拡大または縮小し、
前記配置制御工程は、前記変更工程で前記矩形形状のサイズが拡大または縮小された前記コンテンツを前記余白領域に配置することを特徴する請求項１１乃至１４のいずれか１項に記載のレイアウト制御方法。
【請求項１６】
表示手段が、矩形形状を有する複数のコンテンツの配置処理の結果を表示する表示工程と、
指定手段が、前記表示手段に表示されている前記複数のコンテンツの中から２つのコンテンツを配置位置の入れ替えの対象として指定する指定工程と、を更に有し、
前記指定工程で指定された前記２つのコンテンツについて、前記決定工程は、コンテンツを隙間なく配置するために、基準となる矩形形状のサイズを決定し、
前記変更工程は、決定された前記サイズに応じて、矩形形状のアスペクト比を保持しながらコンテンツの矩形形状のサイズを拡大または縮小し、
前記配置制御工程は、前記変更工程で前記矩形形状のサイズが変更されたコンテンツの画像データを前記レイアウト領域に配置することを特徴とする請求項９乃至１５のいずれか１項に記載のレイアウト制御方法。
【請求項１７】
コンピュータを、請求項１乃至８のいずれか１項に記載のレイアウト制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト制御装置、レイアウト制御方法およびプログラムに関する。
【背景技術】
【０００２】
サイズの異なる複数の原稿（画像データ）を、余白を付した一枚の出力用紙に適正な大きさに変倍して集約して印刷することが可能な画像形成技術が特許文献１に開示されている。特許文献１では、出力用紙上の矩形の原稿描写領域の一隅を基準にして、集約の際に生じる余白を最小限にして画像データを配置しつつ、原稿描写領域内に画像データの全てが収まるように画像データのサイズを変倍する処理が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０４２３０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、所定の原稿描写領域に複数のコンテンツを配置した場合、コンテンツのアスペクト比は保持しつつ、所定の領域に余白をつくることなく、できるだけ多くのコンテンツを配置することが望ましい。
【０００５】
しかしながら、特許文献１の技術では、原稿描写領域内に配置される各画像データのアスペクト比は変倍処理により変更され配置する各画像データのアスペクト比を保持したまま配置することはできない。
【課題を解決するための手段】
【０００６】
本発明は、所定の領域に複数のコンテンツのアスペクト比を変えないで、隙間なくコンテンツを配置することが可能なレイアウト制御技術を提供する。
【０００７】
本発明の一つの側面にかかるレイアウト制御装置は、矩形形状を有する複数のコンテンツの画像データを、一枚の用紙上のレイアウト領域に配置するレイアウト制御装置であって、
用紙上の前記レイアウト領域に前記複数のコンテンツを隙間なく配置するために、基準となる矩形形状のサイズを決定する決定手段と、
前記決定手段により決定された前記サイズに応じて、矩形形状のアスペクト比を保持しながらそれぞれのコンテンツの矩形形状のサイズを拡大または縮小する変更手段と、
前記変更手段により前記矩形形状のサイズが変更された複数のコンテンツの画像データを前記レイアウト領域に配置する配置制御手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、所定の領域に複数のコンテンツのアスペクト比を変えないで、隙間なくコンテンツを配置することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施形態にかかるレイアウト制御装置の構成を説明する図。
【図２】レイアウト領域に複数のコンテンツが１行分、レイアウトされた状態を例示的に示す図。
【図３】コンテンツの合計面積が最小になるようにコンテンツを配置した状態を示す図。
【図４】レイアウト領域に複数のコンテンツを行方向に順次配置した場合を例示的に説明する図。
【図５】レイアウト制御装置の処理の流れを説明する図。
【図６】レイアウト領域に複数のコンテンツを列方向に順次配置した場合を例示的に説明する図。
【図７】コンテンツを行方向に配置する処理と、列方向に配置する処理とを交互に適用して、レイアウト領域２０１に配置した場合を例示的に説明する図。
【図８】レイアウト処理が完了しているコンテンツの入れ替えを例示的に説明する図。
【発明を実施するための形態】
【００１０】
（第１実施形態）
本発明の実施形態にかかるレイアウト制御装置１００の構成を図１の参照により説明する。レイアウト制御装置１００は、矩形形状を有する複数のコンテンツの画像データを、一枚の用紙上のレイアウト領域に配置することが可能である。ＣＰＵ１０２は、レイアウト制御装置１００の全体的な処理を制御する。ＲＯＭ１０３は、レイアウト処理を実行するための各種プログラムを記憶している。ＲＡＭ１０４はレイアウト処理の結果、演算処理の結果などのデータを一時的に保持することが可能である。
【００１１】
表示部１０６は、レイアウト制御装置１００によって処理された矩形形状を有する複数のコンテンツの配置処理の結果を、画面上に表示することが可能である。キーボード、マウスなどの入力部１０７は、レイアウト処理を実行する際のパラメータ、初期条件の設定などの入力が可能である。また、入力部１０７は、表示部１０６に表示されている複数のコンテンツの中から２つのコンテンツをレイアウト位置（配置位置）の入れ替えの対象として指定することが可能である。
【００１２】
イメージスキャナ１０８は、複数のコンテンツを読み込み、画像データに変換することが可能であり、変換された画像データは、ハードディスク１０５（ＨＤＤ）に記憶される。印刷部１０９は、レイアウト領域に配置された複数のコンテンツの画像データを印刷することが可能である。ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、ハードディスク１０５（ＨＤＤ）、表示部１０６、入力部１０７、イメージスキャナ１０８および印刷部１０９はバス１０１に接続され、データの通信が可能である。
【００１３】
図２は、レイアウト領域２０１に複数のコンテンツが１行分、レイアウトされた状態を例示的に示す図である。レイアウト制御装置１００は、複数のコンテンツＣ1,Ｃ2,Ｃ3, ・・・ＣNをできるだけ隙間なく配置するためのレイアウト（配置処理）を実行する。レイアウト（配置処理）の対象となるコンテンツは、矩形形状を有しており、例えば、長辺と短辺との比率によりアスペクト比が定められる。コンテンツとしては、文書などの各ページを示す画像データなどのほか、表、グラフや写真画像などのデータが含まれる。写真画像としては、白い縁領域を周辺に含んだいわゆる「ふちあり写真」や、縁の無い「ふちなし写真」でもよい。ＣＰＵ１０２は、レイアウト（配置処理）の対象の対象となるコンテンツＣ1,Ｃ2,Ｃ3, ・・・ＣNの面積（Ｍ）とアスペクト比の平均値（Ａ）を計算し、（１）式により、各コンテンツの平均の横幅（ｔ）を算出する。
【００１４】
【数１】
2012231430.tif 000003
【００１５】
レイアウト領域２０１の横幅のサイズを「ａ」とすると、レイアウト領域２０１の横方向（行方向）に配置できるコンテンツの個数は、ａ／ｔの計算結果のうち、整数部分の値（ｎ）になる。例えば、ａ／ｔの計算結果が４．５となった場合、整数部分の値はｎ＝４となる。以下の説明では、説明の簡明化のためａ／ｔの計算結果のうち、整数部分の値がｎ＝４の場合を例として説明する。
【００１６】
図５は、レイアウト制御装置の処理の流れを説明する図であり、本処理はＣＰＵ１０２の全体的な制御の下に実行される。
【００１７】
ステップＳ５０１では、まだ配置処理が施されていない未配置の複数のコンテンツからレイアウト（配置処理）の対象となるｎ個（ｎ≧２の整数）のコンテンツを選択する。例えば、ｎ＝４とした場合、配置処理の対象として４つのコンテンツＣ1〜Ｃ4を選択する。コンテンツの選択は、ハードディスク１０５（ＨＤＤ）に記憶されている複数のコンテンツの中からＣＰＵ１０２が読み出して選択することが可能である。あるいは、キーボード、マウスなどの入力部１０７の指定を介して、コンテンツＣ1〜Ｃ4を選択することも可能である。
【００１８】
ステップＳ５０２において、ＣＰＵ１０２は、用紙上のレイアウト領域に複数のコンテンツの画像データを隙間なく配置するために、基準となる矩形形状のサイズを決定する。選択された４つのコンテンツの合計面積Ｄを最小にする各コンテンツの横幅のサイズ（ｓ’i（i＝１〜４））を算出するため、ＣＰＵ１０２は、以下の（２）式から（５）式の演算を実行する。コンテンツＣi（i＝１〜４）の横幅をsi（i＝１〜４）、コンテンツＣi（i＝１〜４）の縦幅のサイズをpisiとすると、アスペクト比（pisi/si）はpi（i＝１〜４）となる。図３は、コンテンツＣ1〜Ｃ4のサイズを拡大または縮小するように変更して、レイアウト領域２０１の横方向（行方向）に隙間なく、コンテンツを配置した状態を例示する図であり、４つのコンテンツＣ1〜Ｃ4の合計面積Ｄは、（２）式で算出される。
【００１９】
【数２】
2012231430.tif 000004
【００２０】
コンテンツＣ1〜Ｃ4のレイアウト（配置処理）では、横方向（行方向）に隙間なく配置するという束縛条件がある。この束縛条件を数式で表わすと、（３）式が成り立つ。レイアウト領域２０１の横幅のサイズが「ａ」であるので、si（i＝１〜４）をコンテンツＣi（i＝１〜４）の横幅の合計とした場合、両者の差分がゼロになるとき、横方向に隙間なくコンテンツを配置するという束縛条件が満たされる。
【００２１】
【数３】
2012231430.tif 000005
【００２２】
（３）式の束縛条件で、（２）式の面積の総和の最小値を求めるには、ラグランジュの未定定数法（（４）式）を使うことによって解くことができる。
【００２３】
【数４】
2012231430.tif 000006
【００２４】
（３）式で与えられる束縛条件に対して定数（未定乗数）λを与え、これらを係数とする関数f(s1,s2,s3,s4,λ)について、極値を求める問題として解くことにより、（３）式の束縛条件の下に（２）式の面積の総和の最小値を求めることができる。（４）式の関数fの各変数s1,s2,s3,s4,λでの偏微分係数をゼロとおいて、（５）式の計算結果を得る。
【００２５】
【数５】
2012231430.tif 000007
【００２６】
（５）式により算出されるs’i (i=1〜４)が、コンテンツの合計面積Ｄを最小にする各コンテンツＣi（i＝１〜４）の横幅である。アスペクト比はpi（i＝１〜４）なので、（５）式から、コンテンツの縦方向（列方向）のサイズは、アスペクト比×横幅の値として求められ、全てのコンテンツに関して一致した縦方向（列方向）のサイズ（＝ａ／Ｔ）になる。本処理において各コンテンツのアスペクト比pi（i＝１〜４）は一定に保持される。
【００２７】
本ステップでは、レイアウト領域の行方向に複数のコンテンツを隙間なく配置するため、ＣＰＵ１０２は、複数のコンテンツの矩形形状の合計面積が最小となるように基準となる矩形形状の横幅のサイズを算出している。尚、レイアウト領域の列方向に複数のコンテンツを隙間なく配置する場合、ＣＰＵ１０２は、複数のコンテンツの矩形形状の合計面積が最小となるように基準となる矩形形状の縦幅のサイズを決定することも可能である。
【００２８】
ステップＳ５０３において、ＣＰＵ１０２は、コンテンツの縦方向（列方向）のサイズａ/Ｔが、レイアウト領域２０１における余白領域の縦方向（列方向）のサイズより小さいか否かを判定する。つまり、レイアウト領域２０１における余白領域に、４つの全てのコンテンツＣ1〜Ｃ4が配置可能であるか否かを判定する。複数のコンテンツの矩形形状のサイズと、レイアウト領域２０１の余白領域のサイズとを比較して、矩形形状のサイズが余白領域のサイズより大きい場合、複数のコンテンツを余白領域に配置できないと判定する。４つの全てのコンテンツがレイアウト領域２０１の余白領域に収まらない場合（Ｓ５０３−Ｎｏ）、レイアウト（配置処理）は終了する。一方、ステップＳ５０３の判定で、４つの全てのコンテンツがレイアウト領域２０１の余白領域に収まると判定される場合（Ｓ５０３−Ｙｅｓ）、処理はステップＳ５０４に進められる。
【００２９】
ステップ５０４において、ＣＰＵ１０２は、各コンテンツの矩形形状のアスペクト比を保持しながら、各コンテンツの横幅がs’iになるようにコンテンツの横幅のサイズを拡大または縮小するように変更する。
【００３０】
そして、ステップＳ５０５において、ＣＰＵ１０２は、ステップＳ５０４の変更処理により矩形形状のサイズが変更された複数のコンテンツをレイアウト領域２０１に配置する。サイズが変更された各コンテンツは、例えば、図３のように、レイアウト領域２０１の横方向（行方向）に配置され、横方向（行方向）のレイアウトが複数行にわたり実行されると図４に示すように複数のコンテンツはレイアウト領域２０１に配置制御される。図４に示すレイアウトでは端点４１０を基準点として、矩形形状のコンテンツ４２０は、この端点４１０を包含する領域に配置される。コンテンツ４２０を含む４つのコンテンツは、横方向（行方向）の１行目に配置制御される（レイアウト４３０）。
【００３１】
ステップＳ５０５の処理の終了後、処理はステップＳ５０１に戻され、次の行について、横方向（行方向）に隙間を無くすようにコンテンツをレイアウトする処理を繰り返し実行する。図４の例では、２行目のレイアウト４４０、３行目のレイアウト４５０、および４行目のレイアウト４６０が順次繰り返し実行される。５行目のレイアウト処理は、残りの余白領域に４つの全てのコンテンツが収まりきらないと判定されるため、レイアウト（配置処理）は終了する（Ｓ５０３−Ｎｏ）。
【００３２】
図５の説明では、レイアウト領域２０１の横方向（行方向）に隙間を無くすようなコンテンツのレイアウトを説明したが、レイアウト領域２０１の縦方向（列方向）について隙間を無くすようなコンテンツのレイアウト処理も図５の適用により可能である。図６は、レイアウト領域２０１に複数のコンテンツを縦方向（列方向）に順次配置した場合を例示的に説明する図である。
【００３３】
まず、レイアウト領域２０１にコンテンツを縦方向（列方向）に配置できる個数を（１）式により算出する。図６の場合ではｎ＝８の場合を示している。次に、ラグランジュの未定定数法を適用するために、（３）式と同様の束縛条件を設定する。例えば、レイアウト領域２０１の縦幅のサイズを「ｂ」とした場合、（３）式の束縛条件におけるレイアウト領域２０１の横幅「ａ」を「ｂ」で置き換えて、（３）式の束縛条件を設定する。そして、この束縛条件の下、（２）式の面積の総和の最小値を求めるラグランジュの未定定数法（（４）式）を解くことにより、縦一列のコンテンツの合計面積が最小になるようにコンテンツの縦方向（列方向）のサイズを決定できる。
【００３４】
縦方向（列方向）のレイアウトでは端点６１０を基準点として、矩形形状のコンテンツ６２０は、この端点６１０を包含する領域に配置される。コンテンツ６２０を含む８つのコンテンツは、縦方向（列方向）の第１列目に配置される（レイアウト６３０）。以後、縦方向（列方向）に隙間を無くすようにコンテンツをレイアウトする処理を繰り返し実行する。図６の例では、２列目のレイアウト６４０、３列目のレイアウト６５０、および４列目のレイアウト６６０が繰り返し実行される。５列目のレイアウト処理は、残りの余白領域６０１にコンテンツが収まりきらないと判定されるため、レイアウト（配置処理）は終了する（図５のＳ５０３−Ｎｏの処理に対応）。
【００３５】
ＣＰＵ１０２は、更に、レイアウト領域２０１に複数のコンテンツを横方向（行方向）に順次配置した場合のレイアウト結果（図４）と、縦方向（列方向）に順次配置した場合のレイアウト結果（図６）と、を比較する。この比較結果により、レイアウト領域２０１に配置されたコンテンツの個数の多い方の配置を複数のコンテンツの配置として最終的に決定する。これにより、レイアウト領域２０１に配置できるコンテンツの個数を最大にしたレイアウト結果を求めることができる。
【００３６】
（第２実施形態）
第１実施形態では、複数のコンテンツを横方向に順次配置した場合のレイアウト結果と、縦方向に順次配置した場合のレイアウトとを比較して、配置できたコンテンツの個数の多いレイアウト結果を選択する構成を説明した。本実施形態では、レイアウト領域２０１において、コンテンツの横方向（行方向）のレイアウト（配置処理）と縦方向（列方向）のレイアウト（配置処理）とを交互に行う例について説明する。各方向においてコンテンツをレイアウト（配置処理）するための演算処理は第１実施形態の処理と同様であるため具体的な処理の内容説明は省略する。
【００３７】
図７は、コンテンツを横方向（行方向）に配置する処理と、縦方向（列方向）に配置する処理とを交互に適用して、レイアウト領域２０１に配置した場合を例示的に説明する図である。本実施形態のレイアウト（配置処理）では端点７００を基準点として、選択された複数のコンテンツについて横方向（行方向）の第１行目のレイアウト７１０が実行される。次に選択された複数のコンテンツについて縦方向（列方向）の第１列目のレイアウト７２０が実行される。更に、選択された複数のコンテンツについて横方向（行方向）の第２行目のレイアウト７３０が実行され、次に選択された複数のコンテンツについて縦方向（列方向）の第２列目のレイアウト７４０が実行される。同様に第３行目のレイアウト７５０、第３列目のレイアウト７６０、第４行目のレイアウト７７０、および第４列目のレイアウト７８０が交互に実行される。
【００３８】
選択された複数のコンテンツが残りの余白領域に収まりきらないと判定される場合、余白領域７０１（図７の太線で囲まれた領域）が、コンテンツの配置されない空白領域として残る。余白領域７０１については、横方向（行方向）のレイアウトまたは縦方向（列方向）のレイアウトにおいて、余白領域７０１のサイズに応じて、コンテンツのサイズを拡大または縮小する処理を施して配置処理を行う。このような配置処理を行うことにより余白領域の面積をできるだけ小さくすることが可能である。
【００３９】
レイアウト（配置処理）が終了した後、最後に余白領域７０２が残された場合、ＣＰＵ１０２は、余白領域７０２のアスペクト比に最も近いコンテンツを未配置の複数のコンテンツの中から選択する。そして、選択されたコンテンツの矩形形状のサイズを余白領域７０２のサイズに合わせて拡大または縮小する。そして、矩形形状のサイズが拡大または縮小されたコンテンツを余白領域７０２に配置する。かかる配置処理によりレイアウト領域２０１に生じる余白を無くすことも可能である。尚、本実施形態において、コンテンツのレイアウトは、横方向（行方向）のレイアウトと縦方向（列方向）のレイアウト処理を厳密に交互に適用する必要はなく、両方向の配置処理を適宜、組み合わせて行うことも可能である。
【００４０】
余白領域７０２のアスペクト比に最も近いコンテンツが複数ある場合、ＣＰＵ１０２はレイアウトの候補として、複数のコンテンツの画像データ（またはそのサムネール画像）を表示部１０６に表示制御することが可能である。ユーザは、表示された画像データ（またはそのサムネール画像）に基づいて、余白領域に配置すべきコンテンツを選択することができる。
【００４１】
上記の各実施形態におけるレイアウト（配置処理）の結果は、表示部１０６に表示される。ユーザは、レイアウト（配置処理）の結果を表示部１０６の表示により確認し、レイアウト（配置処理）が完了しているコンテンツの入れ替えを、入力部１０７を介して指定することができる。入れ替えの対象となるコンテンツは、入力部１０７によって特定の２個のコンテンツが指定される。図８は、レイアウト（配置処理）が完了しているコンテンツの入れ替えを例示的に説明する図であり、図中のコンテンツ８０１とコンテンツ８０２が入れ替えの対象として指定されている。
【００４２】
コンテンツの入れ替えが行われた行または列（図８の場合、行８０３と行８０４）について、入れ替え後のコンテンツについて、４つのコンテンツの合計面積Ｄを最小にする各コンテンツの横幅s’iが再算出される（図５のステップＳ５０２）。各コンテンツのアスペクト比を一定に保持するため、再計算された横幅のサイズが変倍（拡大または縮小）されることに応じて、コンテンツの縦方向（列方向）のサイズも変倍（拡大または縮小）される。ＣＰＵ１０２は、再計算されたコンテンツの横幅と変倍の結果とから、コンテンツが指定されていない行８０５、行８０６と、コンテンツが入れ替えられた行８０３、８０４と、の間で隙間が生じないように配置を制御する。上記の各実施形態によれば、所定の領域に複数のコンテンツのアスペクト比を変えないで、隙間なくコンテンツを配置することが可能になる。
【００４３】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012231430.tif 000008
【図２】
2012231430.tif 000009
【図３】
2012231430.tif 000010
【図４】
2012231430.tif 000011
【図５】
2012231430.tif 000012
【図６】
2012231430.tif 000013
【図７】
2012231430.tif 000014
【図８】
2012231430.tif 000015