(57)【要約】【課題】画像データのアスペクト比を変更することなく、余白領域の面積を所定値以下にして配置するための画像データのサイズを決定する。【解決手段】ＣＰＵ１０２は、第１の画像データの縦辺及び横辺のうちの何れか一方の辺の長さを変数とし、第１の画像データのアスペクト比と第２の画像データのアスペクト比とを定数として含む関数であって、所定の領域に対して第１の画像データと第２の画像データを配置した場合における余白領域の面積を表す関数の値が所定値以下となる変数の値を算出する。【選択図】図１
2012195780.tif 000002
【特許請求の範囲】
【請求項１】
矩形の第１の画像データ及び第２の画像データを所定の領域に対して配置する方法を決定する情報処理装置であって、
前記第１の画像データの縦辺及び横辺のうちの何れか一方の辺の長さを変数とし、前記第１の画像データのアスペクト比と前記第２の画像データのアスペクト比とを定数として含む関数であって、前記所定の領域に対して前記第１の画像データと前記第２の画像データとを配置した場合における余白領域の面積を表す関数の値が所定値以下となる前記変数の値を算出する算出手段を有することを特徴とする情報処理装置。
【請求項２】
前記算出手段は、前記第１の画像データの前記一方の辺の長さの制約と前記第２の画像データの前記一方の辺の長さの制約とに基づいて定まる前記変数の範囲内において、前記関数の値が所定値以下となる前記変数の値を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記関数は、前記第１の画像データ及び前記第２の画像データを前記所定の領域に対して縦方向に配置した場合における余白領域の面積を表す第１の関数と、前記第１の画像データ及び前記第２の画像データを前記所定の領域に対して横方向に配置した場合における余白領域の面積を表す第２の関数とを含み、
前記算出手段は、前記第１の関数及び前記第２の関数のそれぞれについて関数の値が所定値以下となる前記変数の値を算出することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１の関数における所定値以下の値と前記第２の関数における所定値以下の値とを比較し、当該比較の結果に応じて、前記第１の画像データ及び前記第２の画像データを前記所定の領域に対して縦方向に配置するか、横方向に配置するかを決定する決定手段を更に有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
矩形の第１の画像データ及び第２の画像データを所定の領域に対して配置する方法を決定する情報処理装置によって実行される情報処理方法であって、
前記第１の画像データの縦辺及び横辺のうちの何れか一方の辺の長さを変数とし、前記第１の画像データのアスペクト比と前記第２の画像データのアスペクト比とを定数として含む関数であって、前記所定の領域に対して前記第１の画像データと前記第２の画像データとを配置した場合における余白領域の面積を表す関数の値が所定値以下となる前記変数の値を算出する算出ステップを有することを特徴とする情報処理方法。
【請求項６】
矩形の第１の画像データ及び第２の画像データを所定の領域に対して配置する方法を決定する情報処理装置によって実行される情報処理方法をコンピュータに実行させるためのプログラムであって、
前記第１の画像データの縦辺及び横辺のうちの何れか一方の辺の長さを変数とし、前記第１の画像データのアスペクト比と前記第２の画像データのアスペクト比とを定数として含む関数であって、前記所定の領域に対して前記第１の画像データと前記第２の画像データとを配置した場合における余白領域の面積を表す関数の値が所定値以下となる前記変数の値を算出する算出ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の領域に対して複数の画像データを配置するための技術に関するものである。
【背景技術】
【０００２】
従来、複数の原稿から得た画像データを一枚の出力用紙に印刷する集約印刷のための画像形成装置が知られている。特許文献１には、出力用紙上の原稿描写領域の一隅を基準にして複数の画像データを配置し、更に当該複数の画像データが原稿描写領域内に全て収まるように画像データの大きさを変倍する画像形成装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０４２３０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、出力用紙上に複数の画像データを配置する際、原稿のアスペクト比は保持しつつ、余白の面積はできるだけ小さな状態で画像データを配置することが望ましい。しかしながら、特許文献１に開示される画像形成装置は、原稿のアスペクト比を保持したまま出力用紙上に画像データを配置することはできない。
【０００５】
そこで、本発明の目的は、画像データのアスペクト比を変更することなく、余白領域の面積を所定値以下にして配置するための画像データのサイズを決定することにある。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、矩形の第１の画像データ及び第２の画像データを所定の領域に対して配置する方法を決定する情報処理装置であって、前記第１の画像データの縦辺及び横辺のうちの何れか一方の辺の長さを変数とし、前記第１の画像データのアスペクト比と前記第２の画像データのアスペクト比とを定数として含む関数であって、前記所定の領域に対して前記第１の画像データと前記第２の画像データとを配置した場合における余白領域の面積を表す関数の値が所定値以下となる前記変数の値を算出する算出手段を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、画像データのアスペクト比を変更することなく、余白領域の面積を所定値以下にして配置するための画像データのサイズを決定することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るコンテンツレイアウト装置のハードウェア構成を示す図である。
【図２】所定のレイアウト領域において、第１のコンテンツと第２のコンテンツとを縦方向に隙間なく配置した状態を示す図である。
【図３】レイアウト領域の余白領域の面積Ｄ（ｔ）の２次関数を示す図である。
【図４】所定のレイアウト領域において、第１のコンテンツと第２のコンテンツとを横方向に隙間なく配置した状態を示す図である。
【図５】レイアウト領域の余白領域の面積Ｅ（ｔ）の２次関数を示す図である。
【図６】本発明の実施形態に係るコンテンツレイアウト装置の処理を示すフローチャートである。
【図７】実際にレイアウト領域にコンテンツを配置した例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１０】
図１は、本発明の実施形態に係るコンテンツレイアウト装置のハードウェア構成を示す図である。図１において、１０１はバスである。１０２はＣＰＵ(Central Processing Unit)である。１０３はＲＯＭ(Read Only Memory)である。１０４はＲＡＭ（Random Access Memory）である。１０５はハードディスク装置(ＨＤＤ: Hard Disk Drive)である。１０６はディスプレイ装置(ＤＳＰ: Display Unit)である。１０７はキーボードとマウスである。１０８はイメージスキャナである。１０９はプリンタである。なお、本実施形態に係るコンテンツレイアウト装置は、情報処理装置の適用例となる構成である。
【００１１】
ＲＯＭ１０３は、コンテンツレイアウト装置を制御するＢＩＯＳ(Basic Input Output System)のプログラムや各種データを記憶する。ＲＡＭ１０４は、各種プログラムの作業領域として各種データを一時的に記憶する。ＨＤＤ１０５は、コンテンツレイアウト装置に各種機能を実行させるプログラムとＯＳ（オペレーティングシステム）ソフトウェアを記憶する。ＣＰＵ１０１は、上記各種プログラムを実行する。ＤＳＰ１０６は、画像データやプログラムの状態を表示する。キーボードとマウス１０７は、操作用データ等を入力する。イメージスキャナ１０８はコンテンツを入力する。プリンタ１０９はコンテンツのレイアウト結果を印刷する。バス１０１は上述した各構成間において各種信号を伝達する。
【００１２】
図２は、所定のレイアウト領域（縦辺長：ａ、横辺長：ｂ）において、矩形の第１のコンテンツ（縦辺長：ｓ、アスペクト比：ｐ）と、同じく矩形の第２のコンテンツ（縦辺長：ｔ、アスペクト比：ｑ）とを縦方向に隙間なく配置した状態を示す図である。なお、レイアウト領域の面積はａ×ｂであり、第１のコンテンツの面積はｓ×ｐｓ＝ｐｓ2であり、第２のコンテンツの面積はｔ×ｑｔ＝ｑｔ2である。また、第１のコンテンツの縦辺長及び第２のコンテンツの縦辺長とレイアウト領域の縦辺長との関係は、ｓ＋ｔ＝ａとなる。従って、レイアウト領域の余白領域の面積をＤ（ｔ）（第１の関数）とすると、次の式１が得られる。なお、第１のコンテンツは第１の画像データ、第２のコンテンツは第２の画像データの例である。
【００１３】
【数１】
2012195780.tif 000003
【００１４】
ここで、Ｄ（ｔ）はｔの２次関数であり、図３に示すような曲線になる。なお、Ｄ（ｔ）は、ｔ＝ｔ0＝ｐａ／（ｐ＋ｑ）で最大値をとる。第１のコンテンツ及び第２のコンテンツはともに拡大及び縮小が可能であるが、縦辺長ｓ、ｔにはそれぞれ上限値及び下限値があり、その範囲を超えて拡大及び縮小してはならない制約があるものとする。縦辺長ｓの上限値及び下限値をＬ、ｍとし、縦辺長ｔの上限値及び下限値をＫ、ｎとすると、第１のコンテンツの縦辺長の範囲はｍ＜ｓ＜Ｌ、第２のコンテンツの縦辺長の範囲はｎ＜ｔ＜Ｋと表される。これより、縦辺長tの制約は、ｍａｘ（ｎ，ａ−Ｌ）＜ｔ＜ｍｉｎ（Ｋ，ａ−ｍ）と表すことができる。関数Ｄ（ｔ）は、ｍａｘ（ｎ，ａ−Ｌ）とｍｉｎ（Ｋ，ａ−ｍ）とのうち、ｔ＝ｔ0から遠い位置の方が最小値（所定値以下）をとる。Ａ＝｜ｍａｘ（ｎ，ａ−Ｌ）−ｔ0｜、Ｂ＝｜ｍｉｎ（Ｋ，ａ−ｍ）−ｔ0｜とし、Ａ及びＢのうち、大きい方をＣとする。すると、ｔ＝Ｃ、ｓ＝ａ−Ｃがレイアウト領域の余白領域の面積を最小（所定値以下）とするためのコンテンツの最適サイズとなる。即ち、第１のコンテンツと第２のコンテンツとを縦方向に並べた場合、第１のコンテンツの縦辺長をａ−Ｃ、横辺長をｐ（ａ−Ｃ）とし、第２のコンテンツの縦辺長をＣ、横辺長をｑＣとすることにより、余白領域の面積を最小（所定値以下）とすることができる。なお、アスペクト比ｐ、ｑは定数である。
【００１５】
図４は、所定のレイアウト領域（縦辺長：ａ、横辺長：ｂ）において、第１のコンテンツ（縦辺長：ｓ、アスペクト比：ｐ）と第２のコンテンツ（縦辺長：ｔ、アスペクト比：ｑ）とを横方向に隙間なく配置した状態を示す図である。余白領域の面積をＥ（ｔ）（第２の関数）とすると、次の式２が得られる。
【００１６】
【数２】
2012195780.tif 000004
【００１７】
ここで、Ｅ（ｔ）はｔの２次関数であり、図５に示すような曲線となる。なお、Ｅ（ｔ）は、ｔ＝ｔ1＝ｂｑ／（ｐｑ＋ｑ2）で最大値をとる。図２の場合と同様に、Ａ1＝｜ｍａｘ（ｎ，ａ−Ｌ）−ｔ1｜、Ｂ1＝｜ｍｉｎ（Ｋ，ａ−ｍ）−ｔ1｜とし、Ａ1及びＢ1のうち、大きい方をＣ1とする。すると、ｔ＝Ｃ1、ｓ＝ａ−Ｃ1がレイアウト領域の余白領域の面積を最小（所定値以下）とするためのコンテンツの最適サイズとなる。即ち、第１のコンテンツと第２のコンテンツとを横方向に並べた場合、第１のコンテンツの縦辺長をａ−Ｃ1、横辺長をｐ（ａ−Ｃ1）とし、第２のコンテンツの縦辺長をＣ1、横辺長をｑＣ1とすることにより、余白領域の面積を最小（所定値以下）とすることができる。
【００１８】
次に、図６を参照しながら、本実施形態に係るコンテンツレイアウト装置の処理について詳細に説明する。図６は、本実施形態に係るコンテンツレイアウト装置の処理を示すフローチャートである。
【００１９】
ステップＳ６０１において、ＣＰＵ１０２は、縦辺長ｓの上限値及び下限値（Ｌ、ｍ）と縦辺長ｔの上限値及び下限値（Ｋ、ｎ）とをキーボード１０７から入力し、ＲＡＭ１０４に記憶する。ステップＳ６０２において、ＣＰＵ１０２は、ｎとａ−Ｌとを比較し、小さくない方の数値を変数αにセットする。ステップＳ６０３において、ＣＰＵ１０２は、Ｋとａ−ｍとを比較し、大きくない方の数値を変数βにセットする。
【００２０】
ステップＳ６０４において、ＣＰＵ１０２は、ｔ0＝ｐａ／（ｐ＋ｑ）を算出し、変数ｔ0をセットする。ステップＳ６０５において、ＣＰＵ１０２は、Ａ＝｜α−t0｜を算出し、変数Ａをセットするとともに、Ｂ＝｜β−t0｜を算出し、変数Ｂをセットする。ステップＳ６０６において、ＣＰＵ１０２は、Ａ及びＢのうち小さくない方を変数Ｃにセットする。ステップＳ６０７において、ＣＰＵ１０２は、ｔ1＝ｂｑ／（ｐｑ＋ｑ2）を算出し、変数ｔ1をセットする。ステップＳ６０８において、ＣＰＵ１０２は、Ａ1＝｜α−ｔ1｜を算出し、変数Ａ1をセットするとともに、Ｂ1＝｜β−ｔ1｜を算出し、変数Ｂ1をセットする。ステップＳ６０９において、ＣＰＵ１０２は、Ａ1及びＢ1のうち、小さくない方を変数Ｃ1にセットする。
【００２１】
これにより、縦列配置の場合と横列配置の場合とでそれぞれ、レイアウト領域の余白領域の面積が最小（所定値以下）となるコンテンツの辺長が求まったことになる。ＣＰＵ１０２は、この辺長になるようにコンテンツを拡大、縮小してレイアウト領域に配置する。なお、コンテンツの縦列配置と横列配置とを図２及び図３に示したが、これらに限らず、任意の配置でよい。また、縦列配置にするか、横列配置にするかの決定は、Ｄ（ｔ）の最小値とＥ（ｔ）の最小値とを算出し、そのうち小さい方に対応する配置を選んでもよいし、配置の美観に基づいて決定してもよい。
【００２２】
図７は、実際にレイアウト領域にコンテンツを配置した例を示す図である。図７において、領域ＰＱＲＳはページ領域であり、２個のコンテンツＧ1、Ｇ2が配置されるとともに、それ以外のコンテンツ（例えば、テキスト）が斜線の領域に配置された例を示している。領域ＰＸＹＳはコンテンツのレイアウト領域であって、余白領域ＵＸＹＷＶの面積が最小（所定値以下）となるようにしている。図７の例では、余白領域ＵＸＹＷＶと領域ＸＱＲＹとを合体させてテキスト領域としている。
【００２３】
上述した実施形態においては、２個のコンテンツを所定のレイアウト領域に対して配置する際に、コンテンツのアスペクト比を変更することなく、余白領域の面積を最小（所定値以下）にして配置するためのコンテンツのサイズを決定することが可能となる。従って、本実施形態によれば、人間の手作業を要することなく、より美しいレイアウトを機械的に決定することが可能となる。
【００２４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００２５】
１０１：バス、１０２：ＣＰＵ、１０３：ＲＯＭ、１０４：ＲＡＭ、１０５：ハードディスク装置、１０６：ディスプレイ装置、１０７：キーボードとマウス、１０８：イメージスキャナ、１０９：プリンタ
【図１】
2012195780.tif 000005
【図２】
2012195780.tif 000006
【図３】
2012195780.tif 000007
【図４】
2012195780.tif 000008
【図５】
2012195780.tif 000009
【図６】
2012195780.tif 000010
【図７】
2012195780.tif 000011