JP4929397B2 - 相対エリア・ベースの制御を用いてのページ上のグラフィック・オブジェクトの配置 - Google Patents
相対エリア・ベースの制御を用いてのページ上のグラフィック・オブジェクトの配置 Download PDFInfo
- Publication number
- JP4929397B2 JP4929397B2 JP2010514832A JP2010514832A JP4929397B2 JP 4929397 B2 JP4929397 B2 JP 4929397B2 JP 2010514832 A JP2010514832 A JP 2010514832A JP 2010514832 A JP2010514832 A JP 2010514832A JP 4929397 B2 JP4929397 B2 JP 4929397B2
- Authority
- JP
- Japan
- Prior art keywords
- layout
- page
- candidate
- graphic object
- graphic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—Two-dimensional [2D] image generation
- G06T11/60—Creating or editing images; Combining images with text
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
- Document Processing Apparatus (AREA)
Description
本出願は、それぞれ参照によって本明細書中に組み入れられている以下の同時係属中の出願にも関係する。
・2003年9月30日に出願された米国特許出願第10/675,724号。
・2003年9月30日に出願された米国特許出願第10/675,823号。
・2005年5月12日に出願された米国特許出願第11/127,326号。
・2005年5月12日に出願された米国特許出願第11/128,543号。
・2004年4月23日に出願された米国特許出願第10/831,436号。
・2005年4月15日に出願された米国特許出願第11/126,637号。
・2005年6月10日に出願された米国特許出願第11/151,167号。
・2005年3月1日に出願された米国特許出願第11/069,512号。
・2004年11月12日に出願された米国特許出願第10/987,288号。
・2006年3月1日に出願された米国特許出願第11/364,933号。
このデジタル画像コンテンツは、個別に表示されるか、あるいは、文書、カタログ、プレゼンテーション、スチール写真、コマーシャル・ビデオ、ホーム・ビデオ、および、1つまたは複数の関連するデジタル・コンテンツ・ファイルを記述したメタデータを含め、多種多様な異なる形式で組み合わされることがある。
これらのコレクションの数と多様性が増すにつれて、個人や団体は、自分のコレクションの中でデジタル・コンテンツを編成して、表示するシステムおよび方法をますます必要とするようになる。
このような要望を満たすために、デジタル画像コンテンツを編成し、表示する異なる様々なシステムおよび方法が提案されてきた。
これらのアルバム作成システムは一般に、画像コレクションを編成して、1つまたは複数のページ上にこれらの画像をレイアウトするツールを提供する。
デジタル・フォトアルバムを手動で作成する普通タイプのツールの中には、アルバムのページに載せる上記画像コレクションの中から一部の画像を選択するツール、このページ上の画像を手動で配置し直すグラフィカル・ユーザー・インターフェース、および、アルバムに載せる画像の様々な特性(例えば、サイズや向き)を変更する基本画像編集ツールがある。
ユーザーは通常、完全手動のデジタル画像アルバム作成システムを用いてデジタル・フォトアルバムを作成するプロセスが面倒で、時間がかかることがわかる。
また、これらの画像アルバム作成システムにより、通常、ユーザーは、デジタル・フォトアルバム・ページに載せる画像にアノテーションを付与することもできる。
いくつかの自動デジタル画像アルバム作成システムは、デジタル・フォトアルバムを作成するためにユーザーが選択できるあらかじめ定められた様々なレイアウト・テンプレートを提供する。
これらの自動デジタル画像アルバム作成システムでは、ユーザーが上記画像コレクションからの画像を、選択レイアウト・テンプレート上のあらかじめ定められた様々な画像位置に割り当てると、このシステムは、選択レイアウト・テンプレート上のあらかじめ定められた様々な画像位置に指定されたパラメータに従って、画像のサイズ、配置、回転、フレーミングを自動的に調整する。
このようなシステムの1つには、ページ作成モジュール(page creator module)と画像配置モジュールが含まれる。
ページ作成モジュールは、第1の遺伝的進化(genetic evolution)アルゴリズムに基づいて、コレクション中の画像をアルバム・ページに割り当てる。
画像配置モジュールは、第2の遺伝的進化アルゴリズムに基づいて所与のページに割り当てられる画像用のページ・レイアウトの遺伝的構造(genetic structure)を作り出す。
これらの遺伝的構造は、所与のページ上に配置される画像の位置、縮尺、回転の向きを定める。
レイアウト評価モジュールは、上記レイアウトを、いくつかの他の好みおよびページ要件と比較する。
適切なレイアウトが作成されているときには、その最終アルバム・レイアウトが表示され、印刷され、あるいは他の方法で後で転送され得る。
ページ上にレイアウトされる画像の数は、パラメトリック法によるか、あるいは、これらの画像の属性の解析により、決定される。
このパラメトリック法は、ページを一組のグリッド・スクエアに分けて、これらのグリッド・スクエア上に画像をレイアウトする一組のルールに基づいて、このページ上にレイアウトされる画像の数を決定する。
このシステムでは、ページ上の画像の実際のレイアウトはまた、これらの画像の属性(例えば、画像のサイズ)を、一組のテンプレートに合わせることにより、決定されうる。
この力は、画像を隔てる距離の関数である。
このシステムは、それぞれの画像を、その画像に作用する正味力(net force)の方向に、その正味力の関数である距離だけ移動させることで、このページ上の画像の初期レイアウトを変更する。
この方法により、グラフィック・オブジェクトごとに、グラフィック・オブジェクトに割り当てられた対応する公称サイズに基づいて、ページ上のグラフィック・オブジェクトの対応する目標レンダリング・サイズが確かめられる。
ページ上のグラフィック・オブジェクト1つ1つの対応する異なる候補レイアウトが構築される。
このプロセスにおいて、候補レイアウトごとに、ページ上のグラフィック・オブジェクトのそれぞれの実際のレンダリング・サイズが計算される。
実際のレンダリング・サイズの1つ1つを、目標レンダリング・サイズの対応する1つ1つと比較することに少なくとも一部、基づいて、ページ上のグラフィック・オブジェクトの最終レイアウトが決定される。
グラフィック・オブジェクトの最終レイアウトが出力される。
この方法により、これらのグラフィック・オブジェクトへの対応する公称サイズの2つ以上の候補割当てが決定される。
これらの候補割当てはそれぞれ互いに異なっている。
ページ上のグラフィック・オブジェクトの1つまたは複数の候補レイアウトから成る対応する組が、2つ以上の候補割当てのそれぞれに基づいて構築される。
1つまたは複数の候補レイアウトが出力される。
ここで詳細に説明される実施形態は、1つまたは複数のページ上にグラフィック・オブジェクトを配置する方法を提供する。
これらの実施形態は、それぞれのレイアウト(または配置)において1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みにより誘導または制御され得る。
いくつかの実施形態は、このような特徴を活用して、グラフィック・オブジェクトの異なる1つ1つを特別に目立たせる(すなわち、特徴づける)代替配置を作成する。
このようにして、これらの代替配置は、ページ上のグラフィック・オブジェクトの可能な配置の分布にわたるレイアウトのサンプリングをもたらす。
いくつかの実施形態は、このような特徴を活用して、ユーザーが、1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する好みを入力できるようにし、そこで、このような相対的サイズの好みが、特定のレイアウトにおいてグラフィック・オブジェクトの一部のものを1つ1つ目立たせる(例えば、さらに大きくする)か、あるいは目立たなくする(例えば、さらに小さくする)ように、レイアウト作成プロセスを誘導する。
このようにして、ユーザーは、グラフィック・オブジェクトの特定配置に留意してないときでも、ユーザーの美的好みを満たすような上記グラフィック・オブジェクトの特定レイアウトまでこのシステムを誘導することができる。
画像ベースのグラフィック・オブジェクト(あるいは、単に「画像(image)」)は、イメージ・センサ(例えば、ビデオ・カメラ、静止画カメラ、または光学式スキャナ)により取り込まれた画像、または、このような画像を処理した(例えば、フィリタリングされたり、再フォーマットされたり、改良されたりなどして、変更された)もの、コンピュータで生成されたビットマップ画像またはベクターグラフィック画像、テキスト画像(例えば、テキストを含むビットマップ画像)、および、アイコン画像(iconographic image)を含め、任意タイプのデジタル画像または電子画像の完全なもの、または部分的なものでありうる。
「グラフィック・オブジェクト」という語は、単一要素グラフィック・オブジェクトと、1つまたは複数のグラフィック・オブジェクトの結合力あるグループまたはコレクションから形成された多要素グラフィック・オブジェクトとを両方とも含む。
特定の多要素グラフィック・オブジェクトへの単一要素グラフィック・オブジェクトの割当ては、構成単一要素グラフィック・オブジェクトが結び付けられることを意味する。
一般に、多要素グラフィック・オブジェクト中の単一要素グラフィック・オブジェクトの型は同一であるか、あるいは異なってもよい。
これらの実施例では、固定エリア画像のエリアまたはサイズは、作成されたレイアウトでは変更されないが、しかるに、可変エリア画像のサイズは、変更できるようになる。
可変エリア画像は、同一ページ上にレンダリングされた画像の相対エリアに関連する制約を持つことも、持たないこともある。
この縦横比は、画像幅に対する画像高さの比率として定義される。
それぞれの可変エリア画像には、さらに、対応する正のスカラー値公称サイズも割り当てられることがある。
「公称サイズ(nominal size)」という語は、実際のサイズ、またはレンダリングされたサイズとは異なることも、異ならないこともある指定サイズまたは理論サイズをさす。
グラフィック・オブジェクトの「サイズ(size)」は、グラフィック・オブジェクトで占有されるページのエリアの大きさをさす。
いくつかの実施形態では、画像に割り当てられる公称サイズの値をユーザーがセットできるようにしている。
他の実施形態では、グラフィック・オブジェクト配置システムは、これらの公称サイズの値をグラフィック・オブジェクトに自動的に割り当てる。
図2に示される例では、多要素グラフィック・オブジェクト42は、異なる型の単一要素グラフィック・オブジェクト(例えば、画像ベースのグラフィック・オブジェクトやテキスト形式グラフィック・オブジェクト)を含むことがある。
さらに、多要素グラフィック・オブジェクトの単一要素グラフィック・オブジェクトは、任意に、または特定の順序づけられた連なり(例えば、ビデオ・クリップの時間的に順序づけられた一連のキーフレーム)で、配置されることがある。
他のグラフィック・オブジェクトとの結合力ある関係をまったく持たない単一要素グラフィック・オブジェクトは、1つしか表示を持たない「退化した(degenerate)」グラフィック・オブジェクトである。
いくつかの実施例では、多要素グラフィック・オブジェクト中の単一要素グラフィック・オブジェクトの表示は、単一要素グラフィック・オブジェクトの水平配置と垂直配置に限定される。
これらの実施例の一部において、上記表示はさらに、単一要素グラフィック・オブジェクトのいくつかの好ましい水平配置と垂直配置に限定されることがある。
例えば、一実施例は、同一多要素グラフィック・オブジェクト中の画像の右側または下方にのみテキスト形式グラフィック・オブジェクトが現われるような表示だけを可能にしている。
このような場合、画像とテキスト・ブロックを含むグラフィック・オブジェクトが2つの異なるやり方で表示されることがある。
図3A〜図3Dは、一連(sequence)の6つのグラフィック・オブジェクト54(例えば、ビデオ・キーフレーム)を含むグラフィック・オブジェクト52が4つの異なるやり方で表示されうることを示している。
ストリクト・エリア・スタイルのレイアウトでは、同一ページ上のグラフィック・オブジェクトの相対エリアは、あらかじめ指定された割合に応じる。
例えば、ユーザーは、同一ページ上のすべてのグラフィック・オブジェクトが同一エリアを持つという条件をつけることがある。
ブリック・スタイルのレイアウトでは、同一ページ上のグラフィック・オブジェクトの相対エリアは、画像間に空きスペースがないように選択される。
ストリクト・エリア・スタイルのレイアウトと、ブリック・スタイルのレイアウトに関するさらなる詳細は、2004年9月30日に出願された米国特許出願第10/675,724号と、2004年9月30日に出願された米国特許出願第10/675,823号から入手できる。
図4は、ページ割当てモジュール62、ページ・レイアウト作成モジュール64、および、ユーザーがグラフィック・オブジェクト配置システム60と対話するときに使うユーザー・インターフェース・モジュール66を含む、1つまたは複数のページ上にグラフィック・オブジェクト70を配置するシステム60の一実施形態を示している。
一般に、グラフィック・オブジェクト配置システム60のモジュール(62〜66)は、特定のハードウェア構成またはソフトウェア構成には限定されず、もっと適切に言えば、それらのモジュールは、デジタル電子回路、あるいは、コンピュータのハードウェア、ファームウェア、デバイス・ドライバ、またはソフトウェアを含む、任意のコンピューティング環境または処理環境に導入されることがある。
例えば、いくつかの実施例では、これらのモジュールは、デスクトップ・コンピュータやワークステーション・コンピュータ、デジタル静止画カメラ、デジタル・ビデオカメラ、プリンタ、スキャナ、および携帯用電子装置(例えば、携帯電話、ラップトップ・コンピュータやノートブック・コンピュータ、携帯情報端末)を含む、多種多様なデジタル式およびアナログ式の電子装置のどれか1つの装置のハードウェアに組み込まれる。
いくつかの実施例では、モジュール(62〜66)を実行するコンピュータ処理命令と、モジュール(62〜66)により生成されるデータは、1つまたは複数の機械可読媒体に保存される。
これらの命令やデータを確実に収めるのに適している記憶装置は、例えば、半導体メモリ素子(例えば、EPROM、EEPROM、フラッシュ・メモリ素子)、磁気ディスク(例えば、内部ハードディスクやリムーバブル・ディスク)、光磁気ディスク、および、CD−ROMを含む、あらゆる形式の不揮発性メモリを含む。
ページ割当てモジュール62は、グラフィック・オブジェクト70のコレクションを処理する。このコレクションは、ユーザーで指定されるか、あるいは、グラフィック・オブジェクト配置システム60で自動的に識別されることがある。
ページ割当てモジュール62は、多種多様なページ割当て方法のどれか1つを用いて、1つまたは複数のページにグラフィック・オブジェクト70を割り当てる。
いくつかの手法では、ページ割当てモジュール62は、1つのページ、あるいはユーザー指定またはデフォルトの一定数のページ上にレイアウトされうるユーザー指定またはデフォルトの最大数のグラフィック・オブジェクト70などのページ埋め(page-filling)基準に基づいて、ページにグラフィック・オブジェクト70を割り当てる。
これらの手法では、ページ割当てモジュール62は、グラフィック・オブジェクトのユーザー指定の配置、あるいはグラフィック・オブジェクト70に関連するメタデータに関して指定されるデフォルト配置ルールなど、1つまたは複数の配置基準により、ページにグラフィック・オブジェクト70を割り当てることがある。
例えば、ページ割当てモジュール62は、グラフィック・オブジェクト70に関連する日付および時間のメタデータに基づいて、発生順にページにグラフィック・オブジェクト70を割り当てる。
別法として、ページ割当てモジュール62は、グラフィック・オブジェクト70のイベント・ベースの解析に基づいて、ページにグラフィック・オブジェクト70を割り当てることがある。
ページ割当てモジュール62は、ページへのグラフィック・オブジェクト70の割当てを指定するグラフィック・オブジェクト・ページ割当てデータ72を、初期レイアウト作成モジュール64に渡す。
ここで使用される「確定レイアウト(determinate layout)」と「最終レイアウト(final layout)」という語は、グラフィック・オブジェクトの位置および寸法が指定されているページ上のグラフィック・オブジェクトのレイアウトをさすように、同じ意味で使用される。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、グラフィック・オブジェクトのサイズを、グラフィック・オブジェクトに割り当てられた公称サイズに近づける最終レイアウトの作成を促進する採点、評価、または適格の機能に基づいて、ページの所与の1つに対して最終レイアウトを決定する。
このような採点、評価、または適格の機能は、以下で詳しく説明されるように、多種多様な異なるレイアウト作成の実施形態において利用されることがある。
いくつかの実施例では、ページ・レイアウト作成モジュール64は、特定のファイル形式(例えば、PDFまたはXML)で構成されている仕様書(specification)の形式で最終レイアウト74を出力する。
いくつかの実施例では、ユーザー・インターフェース・モジュール66により、ユーザーは、グラフィック・オブジェクト配置システム60で自動的に生成されたページをインタラクティブに閲覧することができる。
また、ユーザー・インターフェース・モジュール66により、ユーザーは、これらのページに編集を指定することもできる。
所与のページに指定されたどんな編集も、ユーザー・インターフェース・モジュール66により解釈される。
ユーザー・インターフェース・モジュール66は、解釈されたユーザー・コマンド命令をページ・レイアウト作成モジュール64に送る。
ページ・レイアウト作成モジュール64は、図5の方法の1つまたは複数の面を繰り返して、ユーザー・インターフェース・モジュール66から受け取られた編集により、1つまたは複数のページの修正最終レイアウト74を決定する。
ユーザー・インターフェース・モジュール66は、その修正最終レイアウト74をユーザーに表示する。
次に、ユーザーは、修正ページを閲覧するか、これらの1つまたは複数の修正ページに編集を指定するか、あるいは、システム60に命じて、これらのページの一部または全部をレンダリングすることがある。
(A.前置き)
以下で詳しく説明されるように、ページ・レイアウト作成モジュール64は、それぞれのページ・レイアウトにおける1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みにより誘導または制御され得る。
このような特徴により、ユーザーは、1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する好みを入力することができ、そこで、このような相対的サイズの好みから、ページ・レイアウト作成モジュール64は、ユーザーの好みに応じて、特定のレイアウトにおいてグラフィック・オブジェクトの一部のものを1つ1つ目立たせる(例えば、さらに大きくする)か、あるいは目立たなくする(例えば、さらに小さくする)。
これにより、ユーザーは、グラフィック・オブジェクトの特定配置に留意してないときでも、ユーザーの美的好みを満たすような上記グラフィック・オブジェクトの特定レイアウトまでこのシステムを誘導することができる。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みを利用して、これらのグラフィック・オブジェクトの異なる1つ1つを特別に目立たせることで、ページ上のグラフィック・オブジェクトの可能な配置の広範分布にわたる代替レイアウトのサンプリングをもたらす。
このような特徴により、ユーザーは、最終レイアウトを選択してレンダリングする前に、多種多様な異なるページ・レイアウトをすばやく閲覧することができる。
図示される実施形態では、それぞれのページは、ページ上に配置されるようにスケジュールされているグラフィック・オブジェクト(例えば、IMG_1、IMG_2、…、IMG_N)のリストと、そのリスト中のグラフィック・オブジェクトそれぞれへの対応する縦横比の値(例えば、a1、a2、…、aN)および対応する公称サイズの値(例えば、e1、e2、…、eN)の割当てとを含むページ・レジスタ80によって指定される。
上に説明されるように、画像ベースのグラフィック・オブジェクト(例えば、画像)の縦横比は、グラフィック・オブジェクトの幅に対するその高さの比率として定義される。
公称サイズの値(例えば、e1、e2、…、eN)は、ユーザーまたはグラフィック・オブジェクト配置システム64によりセットされることがある。
ページ上の一組のグラフィック・オブジェクトのどんな特定レイアウトの視覚的外観も、そのページに関してページ・レジスタで指定される縦横比の値と公称サイズの値との結び付きによって決定され、その場合、それらの縦横比の値と公称サイズの値との結び付きが異なれば、一般に、視覚的外観の異なるページ・レイアウトが作成されることになる。
(1.概要)
図7は、それぞれのレイアウト(または配置)において1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みにより誘導または制御できるようにするやり方で、ページ・レイアウト作成モジュール64がページ上に一組のグラフィック・オブジェクトを配置する方法の一実施形態を示している。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、グラフィック・オブジェクトiごとの目標レンダリング・サイズ(ti)を、グラフィック・オブジェクトを配置するために割り振られたページの総面積(AALLOCATED)の一部分(fraction)にセットする。
その場合、この割合は、このページ上に配置されるグラフィック・オブジェクトの全部(N)に割り当てられたそれぞれの公称サイズの合計に対する対応する公称サイズ(ei)の比率に等しい。
すなわち、次式となる。
このプロセスにおいて、ページ・レイアウト作成モジュール64は、候補レイアウトごとに、ページ上のグラフィック・オブジェクトのそれぞれの実際のレンダリング・サイズを計算する。
以下で詳しく説明されるように、これらの異なる候補レイアウトは、木構造ベースのページ区分手法と、遺伝的(genetic)アルゴリズム・ベースのグラフィック・オブジェクト配置手法を含む(ただし、それらには限定されない)、多種多様な異なるやり方で構築されることがある。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、グラフィック・オブジェクトのサイズをグラフィック・オブジェクトに割り当てられた公称サイズに近づける最終レイアウトの作成を促進する採点、評価、または適格の機能に基づいて、所与のページに対して最終レイアウトを決定する。
このような採点、評価、または適格の機能は、以下で詳しく説明されるように、多種多様な異なるレイアウト作成システムに組み込まれることがある。
ページ・レイアウト作成モジュール64は、最終ページ・レイアウトを記述するデータ構造(例えば、テーブルまたはリスト)を含む仕様書の形式で最終レイアウトを出力することがある。
いくつかの実施形態では、この仕様書は、XML(eXtensible Markup Language)ファイル形式で機械可読媒体に保存される。
仕様書を確実に収めるのに適している記憶装置は、例えば、半導体メモリ素子(例えば、EPROM、EEPROM、フラッシュ・メモリ素子)、磁気ディスク(例えば、内部ハードディスクやリムーバブル・ディスク)、光磁気ディスク、および、CD−ROMを含む(ただし、それらには限定されない)、あらゆる形式の不揮発性コンピュータ読取り可能媒体と揮発性コンピュータ読取り可能媒体とを含む。
最終レイアウト仕様書は、ディスプレイまたは印刷媒体(例えば、紙)上で最終レイアウトをレンダリングするために、ユーザー・インターフェース・モジュール66または印刷モジュールで使用されることがある。
一般に、ページ・レイアウト作成モジュール64は、多種多様な異なるやり方で所与のページ上のグラフィック・オブジェクトの最終レイアウトを決定することがある。
このプロセスにおいて、ページ・レイアウト作成モジュール64は、一連の逐次レイアウトを繰り返し構築する。これらのレイアウトはそれぞれ、この一連の逐次レイアウト中の直前のレイアウトに追加されるグラフィック・オブジェクトの追加の1つを含む。
このような繰返しごとに、ページ・レイアウト作成モジュール64は、それぞれのスコアに基づいて、これらの逐次レイアウトの現在の1つを、その直前の逐次レイアウトから構築する。
これらのスコアは、実際のレンダリング・サイズの1つ1つを、目標レンダリング・サイズの対応する1つ1つと比較することから、計算される。また、これらのスコアは、直前の逐次レイアウトにおける追加グラフィック・オブジェクトのそれぞれ異なる相対的位置で定められた現在候補レイアウトに対して、算出される。
木構造ベースのページ区分の実施形態の構造および動作に関するさらなる詳細は、下記のセクションIVに記載される。
遺伝的進化ベースのグラフィック・オブジェクト配置の実施形態の構造および動作に関するさらなる詳細は、例えば、米国特許第6,636,648号と米国特許出願公報第2002/0122067号に記載される。
この力は、画像を隔てる距離の関数である。
それぞれの画像は、その画像に作用する正味力の方向に、その正味力の関数である距離だけ移動する。
力モデル・ベースのグラフィック・オブジェクト配置の実施形態の構造および動作に関するさらなる詳細は、例えば、米国特許第6,636,650号に記載される。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、候補レイアウトにおけるグラフィック・オブジェクトの実際のレンダリング・サイズが対応する目標レンダリング・サイズと一致する度合いに基づいて、候補レイアウトごとに、対応するレイアウト・スコアを計算する。
採点の機能は一般に、所与のレイアウトにおけるグラフィック・オブジェクトの実際のサイズがこれらのグラフィック・オブジェクトに割り当てられた公称サイズにどれくらい近いかの指標となる測度(metric)を、取り入れている。
これらの実施形態の一部では、ページ・レイアウト作成モジュール64は、対応する目標レンダリング・サイズに対する実際のレンダリング・サイズの比率に基づいて、候補レイアウトごとに、これらのグラフィック・オブジェクトのそれぞれに対して、対応するグラフィック・オブジェクト・スコアを計算する。
ページ・レイアウト作成モジュール64は、候補レイアウトごとに、それぞれのグラフィック・オブジェクト・スコアから、対応するレイアウト・スコアを計算する。
group_multiplier=MINITIAL;
フォトごとに、{
比率=actual_area/target_area
graphic_object_score=1.0;
(比率<σ1)の場合、{
graphic_object_score=比率/σ1
(比率<σ2)の場合、{
graphic_object_score=
(graphic_object_score)2;
}
}
(graphic_object_score<δT)の場合、{
group_multiplier=
group_multiplier*θPENALTY;
}
layout_score=layout_score +
graphic_object_score;
}
layout_score= layout_score* group_multiplier
パラメータMINITIALは、group-multiplier変数の初期値であり、これは一般に1.0にセットされる。
変数「actual_area」は、所与の候補ページ・レイアウトにおけるグラフィック・オブジェクトの実際のレンダリング・サイズに対応する。
また、変数「target_area」は、図7のブロック82において確かめられるグラフィック・オブジェクトの目標レンダリング・サイズに対応する。
パラメータσ1は、[0,1]の範囲内の値を持つ第1の比率しきい値(ratio threshold)であって、この比率しきい値は、グラフィック・オブジェクトのそれぞれの実際のエリアがそれらの目標エリアに対して小さいと見なされるためにスコアを減点しなければならないグラフィック・オブジェクトを、特定するものである。
パラメータσ2は、[0,1]の範囲内でσ1よりも小さい値を持つ第2の比率しきい値であって、この比率しきい値は、グラフィック・オブジェクトのそれぞれの実際のエリアがそれらの目標エリアに対して過度に小さいと見なされるためにスコアをさらに減点しなければならないグラフィック・オブジェクトを、特定するものである。
典型的な一実施例では、σ1=0.9であり、またσ2=0.5である。
パラメータδTは、総合レイアウト・スコアを減点しなければならないほどスコアが低いと見なされるグラフィック・オブジェクトを特定するグラフィック・オブジェクト・スコアしきい値であって、これは、「group_multiplier」変数の値を、ペナルティー係数パラメータθPENALTYでセットされた大きさだけ下げることで得られる。
典型的な一実施例では、δT=0.25であり、またθPENALTY=0.8である。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、最高採点レイアウトの複数のもの1つ1つに対して仕様書を保存する。
ユーザーの要求に応じて、これらのレイアウト仕様書の1つまたは複数をユーザー・インターフェース・モジュール66に出力して、1つまたは複数の代替レイアウトを閲覧することもある。
(1.グラフィック・オブジェクト・レイアウトを閲覧するユーザー・インターフェース)
図8は、システム60(図4を参照)により自動的に生成されるページをインタラクティブに閲覧するユーザー・インターフェース90の一実施形態を示している。
ユーザー・インターフェース90は、メイン・ウィンドウ92、グラフィック・オブジェクト閲覧ウィンドウ94、レイアウト閲覧ウィンドウ96を含む。
メイン・ウィンドウ92は、ページ102上のグラフィック・オブジェクト100(すなわち、IMG_443、IMG_429、IMG_421、IMG_423、IMG_425、IMG_442)の現在のレイアウト98を表示している。
グラフィック・オブジェクト閲覧ウィンドウ94は、グラフィック・オブジェクト100の低解像度のサムネイル画像104の配列(array)を含む。
レイアウト閲覧ウィンドウ96は、アルバム(図8に示される典型的なアルバムでは、単一ページから成っている)の複数ページの現在のレイアウトの低解像度サムネイル画像106を含む。
代替レイアウトの数は、ユーザーにより指定されることがある。別法として、代替レイアウトの数はデフォルトの数であることもある。
ユーザーは、システム60に代替レイアウトを作成させる要求において、1つまたは複数のグラフィック・オブジェクト100の相対的サイズに対する好みを入力することがある。
このような相対的サイズの好みは、特定のレイアウトにおいてグラフィック・オブジェクトの一部のものを1つ1つ目立たせる(例えば、さらに大きくする)か、あるいは目立たなくする(例えば、さらに小さくする)点で、レイアウト作成プロセスを誘導する。
ページ・レイアウト作成モジュール64は、以下で述べられるランダム化されたやり方で、または、以下で述べられるあらかじめ定められた方法により、あるいは、ユーザーの好みにより(ユーザーの好みが、この要求で指定される場合)、指定された数の代替レイアウトのページに等しい数のページ・レジスタを生成する。
以下で詳しく説明されるように、それぞれのページ・レジスタが、グラフィック・オブジェクトへのそれぞれの公称サイズの一意の割当てを含むように(例えば、図6を参照)、ページ・レイアウト作成モジュール64は、ページ・レジスタを生成する。
メイン・ウィンドウ115は、ユーザーで選択されたレイアウト116を表示する。
サイド・ウィンドウ118は、ページ・レイアウト作成モジュール64により生成されたグラフィック・オブジェクト100の代替配置120のサムネイル画像を表示する。
現在のレイアウト98のサムネイル106(図8を参照)は、図9に「Variation1」と標記される、サイド・ウィンドウ118(すなわち、「変形形態」)の上端に含まれる。
ユーザーは、例えばポインタ(例えば、コンピュータのマウス)を用いて、サイド・ウィンドウ118内の対応するサムネイル画像120を選択することで、メイン・ウィンドウ115に表示される代替配置を選択することがある。
ユーザーは、「<<Apply」ボタン122を選択することで、ユーザー・インターフェース90のメイン・ウィンドウに表示される現在のレイアウト98(図8を参照)を、代替配置のうちの選択された1つに代える。
図10は、ユーザーが「<<Apply」ボタン122を選択した後のユーザー・インターフェース90を示しているが、一方、代替レイアウト116のサムネイル画像(すなわち、「variation2」)が選択された。
(a.概要)
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、以下の処理ステップにより、所与の組のグラフィック・オブジェクトの代替レイアウトを作成する。
1.グラフィック・オブジェクトの縦横比とグラフィック・オブジェクトに割り当てられた公称サイズとの一意の結び付きをそれぞれが含む一組のページ・レジスタを生成する。
2.それぞれのページ・レジスタに対して候補レイアウトを作成する。
3.1つまたは複数のやり方で、異なるものと判定される候補レイアウトの1つ1つを選択する。
ステップ1において生成されるページ・レジスタは一般に、それぞれ異なる候補ページ・レイアウトを作成させる。なぜなら、これらの代替ページ・レジスタが、グラフィック・オブジェクトの縦横比とグラフィック・オブジェクトの公称サイズとの一意の結び付きを含むからである。
これらの実施形態では、上述の作業の流れは同一である。しかしながら、ユーザーで指定される好みにより、候補レイアウトごとに、これらの選択グラフィック・オブジェクトは、目立たせられるか、あるいは、目立たなくさせられる。
これらの実施形態により、ページ・レイアウト作成モジュール64は、以下の処理ステップにより、所与の組のグラフィック・オブジェクトの代替レイアウトを作成する。
1.グラフィック・オブジェクトの縦横比とグラフィック・オブジェクトに割り当てられた公称サイズとの一意の結び付きをそれぞれが含み、また、ユーザーの好みにより、グラフィック・オブジェクトの選択されたものを1つ1つ目立たせるか、あるいは、目立たなくする一組のページ・レジスタを生成する。
2.それぞれのページ・レジスタに対して候補レイアウトを作成する。
3.1つまたは複数のやり方で、異なるものと判定され、また、ユーザーの好みにより、グラフィック・オブジェクトの選択されたものを1つ1つ目立たせるか、あるいは、目立たなくする候補レイアウトの1つ1つを選択する。
以下で詳しく説明されるように、これらの候補割当てはそれぞれ互いに異なっている。
上で説明されるように、これらの異なる候補レイアウトは、木構造ベースのページ区分手法と、遺伝的アルゴリズム・ベースのグラフィック・オブジェクト配置手法を含む(ただし、それらには限定されない)、多種多様な異なるやり方で構築されることがある。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、そのレイアウトが他のレイアウトとは異なるものと判定される候補レイアウトを、1つ1つ出力する。
これらのグラフィック・オブジェクトへのそれぞれの公称サイズの1つまたは複数の候補割当てを、ページ・レイアウト作成モジュール64が決定できる異なる方法が多数ある(図11のブロック110)。
このセクションに述べられる実施形態は、ページ・レイアウト作成モジュール64で異なる候補レイアウトを作成させそうな候補割当てを含む一組のページ・レジスタを生成することを目的としている。
この方法により、ページ・レイアウト作成モジュール64は、これらのグラフィック・オブジェクトのそれぞれを、一組の所定のグラフィック・オブジェクト型クラスから選択された対応するクラスに分類する(図12のブロック130)。
ページ・レイアウト作成モジュール64は、一連のグラフィック・オブジェクトを、これらのグラフィック・オブジェクトにそれぞれ割り当てられたクラスに基づいて生成する(図12のブロック132)。
いくつかの実施形態では、この一連のグラフィック・オブジェクトは、異なる候補レイアウトにおいて、これらのグラフィック・オブジェクトの異なるものを1つ1つ特徴づける(または、目立たせる)ように設計される。
ページ・レイアウト作成モジュール64は、この一連のグラフィック・オブジェクトから、1つまたは複数の候補割当てを作成する(図12のブロック134)。
図13A〜図16B、図19A、図19Bに示される実施形態では、これらのグラフィック・オブジェクトは、ポートレート・クラス(P)、ランドスケープ・クラス(L)、正方形クラス(S)、ワイド・ランドスケープ・クラス(W)、ナロー・ポートレート・クラス(N)から選択された対応するクラスに分類される。
この種の分類は、写真などの画像ベースのグラフィック・オブジェクトを分類するのに特に適している。
これらのクラスはそれぞれ、クラス中のグラフィック・オブジェクトの縦横比(すなわち、高さ/幅)により定められる。
この種の典型的な一実施形態では、ポートレート・クラス(P)は、約4:3の縦横比を持つ画像を含み、ランドスケープ・クラス(L)は、約3:4の縦横比を持つ画像を含み、正方形クラス(S)は、約1:1の縦横比を持つ画像を含み、ワイド・ランドスケープ・クラス(W)は、3:4よりも小さい縦横比を持つ画像を含み、さらに、ナロー・ポートレート・クラス(N)は、4:3よりも大きい縦横比を持つ画像を含む。
図13Bは、この組の所定のオブジェクト型クラス(W、L、S、P、N)のそれぞれへのグラフィック・オブジェクト136の分布138を示している。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、これらのグラフィック・オブジェクトのそれぞれ直前のものを1つ1つ選択したグラフィック・オブジェクト型クラスとは異なるグラフィック・オブジェクト型クラスの1つ1つから、一連のグラフィック・オブジェクトとして、これらのグラフィック・オブジェクトの連続する1つ1つを選択する。
例えば、図13Cは、このような一連のグラフィック・オブジェクトを生成する典型的な一方法を示している。
この方法では、ページ・レイアウト作成モジュール64は、図13Cに示される順序づけられた一連のスキャンラインに従って左から右へ、分布138をスキャンする。
ページ・レイアウト作成モジュール64は、スキャンラインの順番にグラフィック・オブジェクト136を順序づける。
その結果得られるグラフィック・オブジェクト136の一連のもの(140)が図13Dに示されている。
これらの実施形態の一部では、これらのグラフィック・オブジェクト型クラスの表現されたものそれぞれがこれらのグラフィック・オブジェクトの少なくとも1つを含む場合に、ページ・レイアウト作成モジュール64は、表現された対応するグラフィック・オブジェクト型クラスのグラフィック・オブジェクトの対応する1つに、これらの公称サイズの最大の1つが割り当てられる候補割当ての対応する1つを作成する。
このタイプの典型的な一実施形態では、ページ・レイアウト作成モジュール64は、以下の擬似コードにより、それぞれの候補割当てを含むページ・レジスタを生成する(「候補割当て作成プロセスA」)。
マーカ=0にセット(Set)する
(i=0; i<C; i++)の場合(for){
あらゆるグラフィック・オブジェクトで、新たな「現在」ページ・レジスタをスタートする
一連のグラフィック・オブジェクト中で「マーカ」位置のグラフィック・オブジェクトを選択する
マーカ=マーカ+1
この選択グラフィック・オブジェクトを、ページ上で「特徴づけられる」と称する
他のすべてのグラフィック・オブジェクトを、「特徴づけられない」と称する
これらの名称を現在ページ・レジスタに保存する
この現在ページ・レジスタを、代替ページ・レジスタのリストに登録する
}
ページ・レジスタ142は、候補割当て作成プロセスAのforループの1回目の繰返し後に生成される。
マーカは、プロセスAのforループの1回目の繰返し中に増分された後で、一連のグラフィック・オブジェクト中の2番目のグラフィック・オブジェクト(すなわち、L2)に位置づけられる。
1番目のグラフィック・オブジェクト(W7)は、4という公称サイズの割当てによって、ページ・レジスタ142の中で特徴づけられるが、しかるに、その他のグラフィック・オブジェクトには、1という対応する公称サイズが割り当てられている。
ページ・レジスタ144は、上記擬似コードのforループの2回目の繰返し後に生成される。そこでは、マーカ「M」が、一連のグラフィック・オブジェクト140中の3番目のグラフィック・オブジェクト(すなわち、S6)に位置づけられ、また、その値は2回目のforループ繰返し中に増分されている。
2番目のグラフィック・オブジェクト(L2)は、4という公称サイズの割当てによって、ページ・レジスタ144の中で特徴づけられるが、しかるに、その他のグラフィック・オブジェクトには、1という対応する公称サイズが割り当てられている。
いくつかの実施形態では、候補レイアウト作成モジュール64は、第1の組の1つまたは複数の公称サイズか、あるいは、第2の組の1つまたは複数の公称サイズから選択された対応する公称サイズがこれらのグラフィック・オブジェクトに割り当てられ、しかも、第2の組の公称サイズのそれぞれが第1の組の公称サイズの最小のものよりも小さいような、追加の代替候補割当てを作成する。
図示される実施形態では、第1の組は、4というただ1つの公称サイズから成り、また、第2の組は、1というただ1つの公称サイズから成っている。
これらの代替候補割当てはそれぞれ、第1の組の公称サイズから選択された公称サイズが割り当てられた異なる数のグラフィック・オブジェクトを持っている。
この種の典型的な一実施形態では、ページ・レイアウト作成モジュール64は、以下の擬似コードにより、それぞれの候補割当てを含む追加のページ・レジスタを生成する(「候補割当て作成プロセスB」)。
このプロセスにおいて、NADDITIONAL=NREQUESTED−NGENERATED。ここで、NREQUESTEDは、呼出しモジュールで要求された代替レイアウトの数であり、また、NGENERATEDは、ページ・レイアウト作成モジュール64ですでに作成された候補割当ての数である。
また、Nは、このページ上に配置される写真(photo)の数である。
(NADDITIONAL>N-2)の場合(if)に、
then{
(i=2; i<N; i++)では(for){
あらゆるグラフィック・オブジェクトで、新たな「現在」ページ・レジスタをスタートする
一連のグラフィック・オブジェクト中で「マーカ」位置以降のi枚の写真を選択する(必要に応じて、その一連のグラフィック・オブジェクトの始まりまでラップ(wrap)する)
マーカ=(マーカ+i)モジュロ(modulo)(N)
この選択グラフィック・オブジェクトを、ページ上で「特徴づけられる」と称する
他のすべてのグラフィック・オブジェクトを、「特徴づけられない」と称する
これらの名称を現在ページ・レジスタに追加する
この現在ページ・レジスタを、代替ページ・レジスタのリストに追加する
}
}
そうでない場合(else){
(i=1; i≦NADDITIONAL; i++)では(for){
あらゆるグラフィック・オブジェクトで、新たな「現在」ページ・レジスタをスタートする
x=(2*i-1)/(2* NADDITIONAL)
x=x*(N-2)
x=x+2
一連のグラフィック・オブジェクト中で「マーカ」位置以降のx枚の写真を選択する(必要に応じて、その一連のグラフィック・オブジェクトの始まりまでラップする)
マーカ=(マーカ+x)モジュロ(modulo)(N)
この選択グラフィック・オブジェクトを、ページ上で「特徴づけられる」と称する
他のすべてのグラフィック・オブジェクトを、「特徴づけられない」と称する
これらの名称を現在ページ・レジスタに保存する
この現在ページ・レジスタを、代替ページ・レジスタのリストに追加する
}
}
ページ・レジスタ152は、このforループの1回目の繰返し後に生成される。
マーカ「M」は、一連のグラフィック・オブジェクト140中のグラフィック・オブジェクト(すなわち、L8)に位置づけられている。なぜなら、「候補割当て作成プロセスA」の終了時には、このマーカがグラフィック・オブジェクトL5をポイントしていたことになり、また、「候補割当て作成プロセスB」の1回目のfor−loop繰返し中に、その値が2だけ増分されたからである。
オブジェクトL5とオブジェクトP3は、4という公称サイズの割当てによって、ページ・レジスタ152の中で特徴づけられるが、しかるに、その他のグラフィック・オブジェクトには、1という対応する公称サイズが割り当てられている。
ページ・レジスタ154は、候補割当て作成プロセスBの第1のforループの2回目の繰返し後に生成され、そこでは、マーカ「M」が、一連のグラフィック・オブジェクト140中のグラフィック・オブジェクトL2に位置づけられている。
8番目のオブジェクトL8、9番目のオブジェクトP4、および1番目のオブジェクトW7は、4という公称サイズの割当てによって、ページ・レジスタ154の中で特徴づけられるが、しかるに、その他のグラフィック・オブジェクトには、1という対応する公称サイズが割り当てられている。
ページ・レジスタ162は、候補割当て作成プロセスBの第2のforループの1回目の繰返し後に生成され、そこでは、マーカ「M」が、一連のグラフィック・オブジェクト140中のグラフィック・オブジェクトP4に位置づけられている。
オブジェクトL5、オブジェクトP3、およびオブジェクトL8は、4という公称サイズの割当てによって、ページ・レジスタ162の中で特徴づけられるが、しかるに、その他のグラフィック・オブジェクトには、1という対応する公称サイズが割り当てられている。
ページ・レジスタ164は、候補割当て作成プロセスBの第2のforループの2回目の繰返し後に生成され、そこでは、マーカ「M」が、一連のグラフィック・オブジェクト140中のグラフィック・オブジェクトP3に位置づけられている。
オブジェクトP4、オブジェクトW7、オブジェクトL2、オブジェクトS6、オブジェクトP1、オブジェクトN9、オブジェクトL5は、4という公称サイズの割当てによって、ページ・レジスタ164の中で特徴づけられるが、しかるに、その他のグラフィック・オブジェクトには、1という対応する公称サイズが割り当てられている。
例えば、いくつかの実施形態では、これらの候補割当ての対応する1つ1つに対して、ページ・レイアウト作成モジュール64は、1つまたは複数の公称サイズから成る第1の組から選択された対応する公称サイズを、このページ上にレイアウトされるグラフィック・オブジェクトのランダムな数のランダム選択物に割り当てる。
また、ページ・レイアウト作成モジュール64は、1つまたは複数の公称サイズから成る第2の組から選択された対応する公称サイズを、これらのグラフィック・オブジェクトの他の1つ1つに割り当てる。
これらの実施形態の一部では、この第2の組の公称サイズのそれぞれは、この第1の組の公称サイズの最小のものよりも小さい。
図17は、この種の典型的な一実施形態を示している。
対応する候補レイアウトにおいて特徴づける上記現在のランダムな一連のグラフィック・オブジェクト中の現在のランダムな数(R)のグラフィック・オブジェクトから成る現在の一組が決定される(図17のブロック172)。
いくつかの実施形態では、この現在の一組のグラフィック・オブジェクトとして、上記現在のランダムな一連のグラフィック・オブジェクト中の最初のR個のグラフィック・オブジェクトが選択される。
1つまたは複数の公称サイズから成る第1の組から選択された対応する公称サイズが、上記現在のランダムな一連のグラフィック・オブジェクト中の上記現在の一組のグラフィック・オブジェクトに割り当てられる(図17のブロック174)。
1つまたは複数の公称サイズから成る第2の組から選択された対応する公称サイズが、上記現在のランダムな一連のグラフィック・オブジェクト中の他のグラフィック・オブジェクトに割り当てられる。そこでは、この第2の組の公称サイズのそれぞれは、この第1の組の公称サイズの最小のものよりも小さい(図17のブロック176)。
現在の割当てが、前に作成されたすべての候補割当てと比較される(図17のブロック178)。
現在の割当てが、前に作成されたすべての候補割当てとは異なる場合(図17のブロック180)には、現在の割当てが、代替候補割当てのリストに追加される(図17のブロック182)。
そうでなく、現在の割当てが、前に作成されたすべての候補割当てのどれにも類似する(すなわち、大して違わない)場合には、現在の割当てが廃棄される(図17のブロック184)。
この方法により、これらのグラフィック・オブジェクトが、それぞれ、一組の所定のグラフィック・オブジェクト型クラスから選択された対応するクラスに分類される(図18のブロック186)。
現在の割当てと、前に作成された候補割当てのそれぞれに対して、ページ・レイアウト作成モジュール64は、これらのグラフィック・オブジェクトに割当てられた公称サイズを、これらのグラフィック・オブジェクト型クラスのそれぞれに分布させる(図18のブロック188)。
図19Aは、図13Bに示されるグラフィック・オブジェクト176に割り当てられた典型的な一組の公称サイズを、上記組の所定のオブジェクト型クラスのそれぞれに分布させたもの192を示している。
現在割当て用の分布を、前に作成された候補割当て用にもたらされた分布と比較する(図18のブロック190)。
図19Bは、図19Aに示されるグラフィック・オブジェクトに割り当てられた公称サイズの分布194を示しており、そこでは、それぞれのオブジェクト型クラス中の公称サイズが、大きさの順に分類されている。
割当てを比較する基礎として、分布194が使用されることがある。
例えば、2つの割当てが、図19Bに示されるタイプのものと同一の分布を持つ場合には、これらの割当ては、同一のものと見なされる。そうでなければ、これらの割当ては、異なるものと見なされる。
(A.前置き)
このセクションに述べられる実施形態では、ページ・レイアウト作成モジュール64は、それぞれのページの木構造ベースの区分を用いて、所与のページに対して最終レイアウトを決定する。
このプロセスにおいて、ページ・レイアウト作成モジュール64は、一連の逐次レイアウトを繰り返し構築する。これらのレイアウトはそれぞれ、この一連の逐次レイアウト中の直前のレイアウトに追加されるグラフィック・オブジェクトの1つを含む。
このような繰返しごとに、ページ・レイアウト作成モジュール64は、それぞれのスコアに基づいて、これらの逐次レイアウトの現在の1つを、その直前の逐次レイアウトから構築する。
これらのスコアは、実際のレンダリング・サイズの1つ1つを、目標レンダリング・サイズの対応する1つ1つと比較することから、計算される。また、これらのスコアは、直前の逐次レイアウトにおける追加グラフィック・オブジェクトのそれぞれ異なる相対的位置で定められる現在候補レイアウトに対して、算出される。
例えば、いくつかの実施例では、これらのモジュールは、デスクトップ・コンピュータやワークステーション・コンピュータ、デジタル静止画カメラ、デジタル・ビデオカメラ、プリンタ、スキャナ、および携帯用電子装置(例えば、携帯電話、ラップトップ・コンピュータやノートブック・コンピュータ、携帯情報端末)を含む、多種多様なデジタル式およびアナログ式の電子装置のどれか1つの装置のハードウェアに組み込まれうる。
いくつかの実施例では、モジュール(264〜270)を実行するコンピュータ処理命令と、モジュール(264〜270)により生成されるデータは、1つまたは複数の機械可読媒体に保存される。
これらの命令やデータを確実に収めるのに適している記憶装置は、例えば、半導体メモリ素子(例えば、EPROM、EEPROM、フラッシュ・メモリ素子)、磁気ディスク(例えば、内部ハードディスクやリムーバブル・ディスク)、光磁気ディスク、および、CD−ROMを含め、あらゆる形式の不揮発性メモリを含む。
ここで使用される「相対レイアウト(relative layout)」という語は、これらのグラフィック・オブジェクトの相対的位置が指定されるが、ただし、これらのグラフィック・オブジェクトの絶対的位置が指定されないページ上のグラフィック・オブジェクトのレイアウトをさす。
いくつかの実施例では、初期レイアウト作成モジュール264は、グラフィック・オブジェクトに対応する葉ノードと、対応するページの境界線(division)に対応する内部ノードとを有する2分木を表す対応するデータ構造268に、それぞれの相対ページ・レイアウトの仕様書を保存している。
初期レイアウト作成モジュール264は、ページ上のグラフィック・オブジェクト70の初期配置280を、最終レイアウト作成モジュール270に渡す。
このプロセスにおいて、最終レイアウト作成モジュール270は、1つまたは複数のページ上のグラフィック・オブジェクトの対応する確定レイアウト290を決定する。
ここで使用される「確定レイアウト(determinate layout)」または「最終レイアウト(final layout)」という語は、グラフィック・オブジェクトの位置および寸法が指定されているページ上のグラフィック・オブジェクトのレイアウトをさす。
最終レイアウト作成モジュール270は、1つまたは複数のページ上のグラフィック・オブジェクトの最終確定レイアウト290を、ユーザー・インターフェース・モジュール66に出力する。
初期レイアウト作成モジュール264と最終レイアウト作成モジュール270は、これらの配置の仕様書をレイアウト評価モジュール266に渡し、そこで、レイアウト実現可能性を決定し、ページ上のグラフィック・オブジェクトに対して様々なレイアウト寸法を算出し、さらに、候補配置に対してスコアを算出する。
以下で詳しく説明されるように、実現可能性テスト結果、寸法、スコアは、初期レイアウト作成モジュール264と最終レイアウト作成モジュール270で使用されて、作成された様々な候補配置から、グラフィック・オブジェクトの初期配置80と最終配置290とを選択する。
図22を参照すると、初期レイアウト作成モジュール264は、それぞれのページ300を、対応する木構造302で表現される対応する候補相対レイアウトに従って分割する。
木構造302のそれぞれの葉ノードは、ページ300上の対応するグラフィック・オブジェクト(GO1、GO2、GO3、GO4、GO5、GO6)に対応する。
木構造302のそれぞれの内部ノード(H、V)は、対応するページ300上の水平境界線か、または垂直境界線のいずれか1つに対応する。
ページ300の典型的な候補相対レイアウトと、対応する木構造302では、根Hノード104は、ページ300の水平境界線306を表している。
左側内部Vノード308は、ページ300の上部垂直境界線310を表し、また、右側内部Vノード312は、ページ300の下部垂直境界線314を表している。
内部Hノード(316、318)はそれぞれ、ページ300の水平境界線(322、320)を表している。
木構造302内の葉ノードの位置は、ページ300上の対応するグラフィック・オブジェクト(GO1、GO2、GO3、GO4、GO5、GO6)の一意の相対的位置を指定する。
候補レイアウト評価は、候補レイアウトが実現可能であるかどうか判定するステップと、これらのグラフィック・オブジェクトに対して寸法を算出するステップと、レイアウト・スコアを算出するステップのうち1つまたは複数のステップを含むことがある。
レイアウト評価モジュール266は、いくつかの異なる評価方法を自由に処理できる。
どの方法が選択されるかは、レイアウトの評価の要求を出すモジュールの要件や、所望のレイアウト・スタイルによって決まることもある。
方法実行時間、計算機資源、メモリ制約などの他の要因も、レイアウト評価法の選択に影響を及ぼすこともある。
図示される実施形態では、ブリック・スタイルのレイアウトは、すべてのグラフィック・オブジェクトが可変エリアのものである場合にのみ、実現可能であると見なされる。
それゆえ、このレイアウトにおいて、固定エリアのグラフィック・オブジェクトが少なくとも1つある(ブロック273)場合には、レイアウト評価プロセスの実行が終了する(ブロック275)。
その応答が肯定的である場合には、以下で詳しく説明されるように、その候補木が実現可能なレイアウトを表現するかどうかについて、最初にチェックが行われる(ブロック279)。
このレイアウトが実現不可能である場合(ブロック279)には、呼出しモジュールにそのことを知らせて、この候補レイアウトを廃棄する(ブロック281)。
このレイアウトが実現可能である場合(ブロック279)には、呼出しモジュールにそのことを知らせて(必要である場合)、以下で詳しく説明される線形システム・ベースのエリア決定評価法を使用して、そのレイアウトを評価する(ブロック283)。
第1の処理手順では、レイアウト評価モジュール266は、候補レイアウトが実現可能であることを確認して、線形システム・ベースのエリア決定評価プロセスを使用する(ブロック285)。
第2の処理手順では、レイアウト評価モジュール66は、レイアウト実現可能性をテストしないで、バウンディング・ボックス・ベースのエリア決定評価プロセスを使用する(ブロック287)。
代表的な実施例では、第2の処理手順(ブロック287)は、第1の処理手順(ブロック285)よりも速い。
いくつかの実施形態では、以下のルールを使用して、レイアウトの評価に、第1の処理手順と第2の処理手順のどちらを使用すべきか選択する。
すなわち、呼出しモジュールが初期レイアウト作成モジュール64である場合には、第2の処理手順(ブロック287)を使用する。
また、呼出しモジュールが最終レイアウト作成モジュール270である場合には、第1の処理手順(ブロック285)を使用する。
このレイアウトが実現不可能である場合には、そのことを呼出しモジュールに知らせる。
このレイアウトが実現可能である場合には、そのことを呼出しモジュールに知らせて(必要である場合)、以下で詳しく説明されるパス・ベースのエリア決定評価プロセスを使用して、そのレイアウトを評価する(ブロック295)。
第1の処理手順では、レイアウト評価モジュール66は、候補レイアウトが実現可能であることを確認して、パス・ベースのエリア決定評価プロセスを使用する(ブロック297)。
第2の処理手順では、レイアウト評価モジュール66は、レイアウト実現可能性をテストしないで、バウンディング・ボックス・ベースのエリア決定評価プロセスを使用する(ブロック299)。
代表的な実施例では、第2の処理手順(ブロック299)は、第1の処理手順(ブロック297)よりも速い。
いくつかの実施形態では、以下のルールを使用して、レイアウトの評価に、第1の処理手順と第2の処理手順のどちらを使用すべきか選択する。
すなわち、呼出しモジュールが初期レイアウト作成モジュール264である場合には、第2の処理手順(ブロック299)を使用する。
また、呼出しモジュールが最終レイアウト作成モジュール270である場合には、第1の処理手順(ブロック297)を使用する。
(a.概要)
いくつかの実施形態では、レイアウト評価モジュール66は、現在の候補木構造が、実現可能な候補相対レイアウトを表現するかどうか、最初に判定する。
上述の実施形態では、ページ上に固定エリアのグラフィック・オブジェクトがまったくなく、かつ、隣り合ったグラフィック・オブジェクト間の間隔に制約がない場合には、どんなレイアウトも実現可能である。
したがって、図23Aと図23Bから推定され得るように、選択エリア決定モジュールが、パス・ベースのエリア決定モジュールか、線形システム・ベースのエリア決定モジュールのいずれかである場合にのみ、レイアウト実現可能性が考慮される。
選択エリア決定モジュールが、バウンディング・ボックス・ベースのエリア決定である場合には、レイアウト実現可能性は考慮されない。
図24は、レイアウト評価モジュール66が候補木構造の実現可能性を判定するときに用いる一実施形態を示している。
パスPiが垂直である場合には、その長さは次式の通りである。
それゆえ、Piが垂直パスである場合には、その長さは、次式のように書く表すことができる。
上記総和項は、パスPi上の可変エリアのグラフィック・オブジェクトの高さの合計に対応することに留意されたい。
そうでなければ、レイアウト評価モジュール266は、このレイアウトを、実現不可能であると称する(図24のブロック420)。
(i.パス生成法の概要)
図25は、ページ上のグラフィック・オブジェクトの相対レイアウトを通る一組のパスを生成する方法の一実施形態の流れ図を示している。
すなわち、それぞれのノードは1つずつ順番に「現在ノード」となり、それに関して、パス生成法の対応するインスタンスがブロック428から始まる。
このパス生成法のそれぞれのインスタンスの出力は、現在ノードに対応する一組のパスである。
現在ノードが終端ノード(すなわち、葉ノード)であるときには、ブロック432において、現在ノードに対して、2つの新たなパスが確立される。
現在ノードが内部ノードであるときには、パス生成法の現在インスタンスは、2つの段階に分けられる。
第1の段階では、ブロック434とブロック436において、現在ノードの左側子ノードと右側子ノードとに対して、パス生成法の対応するインスタンスが実行される。
第2の段階では、ブロック438〜ブロック450において、左側子ノード用のパスと右側子ノード用のパスを組み合わせて、現在ノードのパスを形成する。
ノードが根ノードであるときには、パス生成法の対応するインスタンスから得られるパスは、処理されている相対レイアウトに対する一組のパス全部である。
初めに、パス生成法は、ブロック428にて、所与の候補相対レイアウトの根ノードから始まる。
パス生成法は、内部ノードと終端ノードのそれぞれに対してパスを再帰的に決定して、現在の候補相対レイアウトを通る一組のパス全部を得る。
この再帰的プロセスにおいて、このプロセスに現在ノードを入力して、この現在ノードが終端ノードであるかどうか、ブロック430において、決定がなされる。
ブロック432の後で、現在の終端ノードに対応づけられるパス生成法のインスタンスが完結する。
現在親ノードに対して実行中のパス生成法のインスタンスは、子ノードに対してパス生成法のインスタンスを実行している間は、保留状態にある。
図示される実施形態では、右側子ノードに対するパス生成法のインスタンスは、左側子ノードに対するパス生成法のインスタンスが終了した後で実行される。
左側子ノードと右側子ノードに対して実行されるパス生成法のインスタンスの結果は、2組のパスである。
ブロック437は、現在ノードに対してパス・リストを確立する。
ブロック438は、現在内部ノードが水平境界線を表しているか、垂直境界線を表しているかどうか判定する。
現在内部ノードが水平境界線を表している場合、現在内部ノードは、その子の水平パスを継承(inherit)して(ブロック440、ブロック442)、その子の垂直パスを組み合わせる(ブロック444)。
特に、現在内部ノードが水平境界線を表している場合には、現在内部ノードは、その左側の子のNLH個の水平パスのそれぞれ(ブロック440)と、その右側の子のNRH個の水平パスのそれぞれ(ブロック442)を継承する。
ブロック444において、現在内部ノードは、左側の子のNLV個の垂直パスのそれぞれを1つずつ順番に右側の子のNRV個の垂直パスのそれぞれに連結して、現在ノードの(NLV*NRV)個の垂直パスを形成することで、新たな一組の垂直パスを得る。
パスの総数は、NLH+NRH+(NLV×NRV)である。
特に、現在内部ノードが垂直境界線を表している場合には、現在内部ノードは、その左側の子のNLV個の垂直パスのそれぞれ(ブロック446)と、その右側の子のNRV個の垂直パスのそれぞれ(ブロック448)を継承する。
ブロック450において、現在内部ノードは、左側の子のNLH個の水平パスのそれぞれを1つずつ順番に右側の子のNRH個の水平パスのそれぞれに連結して、現在ノードの(NLH*NRH)個の水平パスを形成することで、新たな一組の水平パスを得る。
したがって、パスの数は、NLV+NRV+(NLH×NRH)である。
根ノードに対して起動されたインスタンスが終了すると、この根ノードに対応づけられるパスの組は、相対レイアウトに対する全パスの組となり、パス生成法が終わる。
図26A〜図26Jは、典型的な相対レイアウト453に対応する木構造452のそれぞれのノードに対して、図25のパス生成法により生成されるパスを示している。
候補相対レイアウト452における水平境界線と垂直境界線は、破線として示されている。
対応するパスは、相対レイアウト453に重ねられた矢印として示されている。
この木構造では、これらのパスはそれぞれ、対応するグラフィック・オブジェクトのリストに先行する矢印で表されている。
グラフィック・オブジェクトのリストに先行する右向き矢印は、これらのグラフィック・オブジェクトを通る水平パスを示している。
グラフィック・オブジェクトのリストに先行する下向き矢印は、これらのグラフィック・オブジェクトを通る垂直パスを示している。
例えば、「→GO4」は、グラフィック・オブジェクトGO4を通る水平パスを示し、また、「→GO4、GO5」は、グラフィック・オブジェクトGO4とグラフィック・オブジェクトGO5を通る水平パスを示している。
図26Dは、図25のブロック432において生成されて、グラフィック・オブジェクトGO3に対応する終端ノード459を通る水平パスと垂直パスを示している。
図26Eは、垂直親ノード461に対して図25のブロック440〜ブロック444において生成された、GO2とGO3を通るパスの組合せを垂直親ノード461の所に示している。
図26Gは、図25のブロック432において生成されて、グラフィック・オブジェクトGO5に対応する終端ノード465を通る水平パスと垂直パスを示している。
図26Hは、垂直親ノード467に対して図25のブロック440〜ブロック444において生成された、GO2とGO3を通るパスの組合せを垂直親ノード467の所に示している。
本出願のこのセクションに述べられる実施形態では、候補相対レイアウトを評価するのに用いられるスコアは、ページ上でグラフィック・オブジェクトが占有するエリアの測度によって決まる。
レイアウト評価モジュール266は、バウンディング・ボックス・ベースの決定プロセス、パス・ベースの決定プロセス、または線形システム・ベースの決定プロセスに基づいて、候補相対レイアウトの所与のインスタンスで指定されるグラフィック・オブジェクトで占有されたエリアを計算する。
図示される実施形態では、バウンディング・ボックス決定プロセスの目的は、所与の木構造内のそれぞれの内部ノードに対して、縦横比および公称サイズ値を算出することである。
それぞれのバウンディング・ボックスは、それが包囲するボックスで求められる。
上述のように、これらの公称サイズは、現在ページのページ・レジスタに記録されるものと想定される。
いくつかの実施例では、バウンディング・ボックス特徴付け(characterization)プロセスは、図27に示されるように、葉ノードから始まって、深さ優先探索(depth-first search)の順に根ノードに向けて進む。
一般に、縦横比aおよび公称サイズeを持つどんな画像バウンディング・ボックスでも、√aeおよび√e/aの量は、それぞれ、その画像バウンディング・ボックスの公称高さと公称幅である。
任意の内部ノードに対する縦横比aおよび公称サイズeは、その2つの子の縦横比および公称サイズの関数である。
以下の式では、arおよびerは、右側子ノードの縦横比および公称サイズであり、また、alおよびelは、左側子ノードの縦横比および公称サイズである。
したがって、この右側子ノードと左側子ノードとが並んで配置される場合には、それらの子ノードを包囲するバウンディング・ボックスの縦横比および公称サイズは、次式となる。
式(8)中の最大値を求めることにより、2つの子ノード・ボックスのどちらが名目的に高いか決定され、それゆえ、親ノード・ボックスの高さが制御される。
根ノードのバウンディング・ボックスは、ここでは、「主バウンディング・ボックス」と呼ばれる。
現在ノードが終端ノードであるかどうか決定を下す(図27のブロック480)。
現在ノードが終端ノードである場合には、関連するグラフィック・オブジェクトの公称高さおよび公称幅を持つバウンディング・ボックスが確立される(図27のブロック482)。
現在ノードが終端ノードでない場合には、現在ノードの2つの子ノード(すなわち、左側子ノードと右側子ノード)が、同一再帰的プロセスに投入される(図27のブロック484、ブロック486)。
これら2つの子のバウンディング・ボックスを組み合わせて、以下のように現在ノード用のバウンディング・ボックスを形成する。
レイアウト評価モジュール266は、現在ノードが水平境界線であるか、垂直境界線であるか判定する(図27のブロック488)。
現在ノードが水平境界線を表している場合には、このバウンディング・ボックスの公称幅が、これら2つの子のバウンディング・ボックスの広い方の公称幅にセットされ(図27のブロック490)、また、このバウンディング・ボックスの公称高さが、これら2つの子のバウンディング・ボックスの公称高さの合計にセットされる。
現在ノードが垂直境界線を表している場合には(図27のブロック488)、このバウンディング・ボックスの公称高さが、これら2つの子のバウンディング・ボックスの高い方の公称高さにセットされ(図27のブロック494)、また、このバウンディング・ボックスの公称幅が、これら2つの子のバウンディング・ボックスの公称幅の合計にセットされる。
このプロセスは、根ノード用のバウンディング・ボックスが算出されるまで続く。
ストリクト・エリア・スタイルのレイアウトでは、それぞれの可変エリアのグラフィック・アセンブリ(集成体)は、変数eで表される割当て(assigned)公称サイズを持っている。
構成単一要素グラフィック・オブジェクト(例えば、ビデオからの一連のキーフレーム)を2つ以上持つ多要素グラフィック・オブジェクトに関連して、単一集計公称サイズは、グラフィック・オブジェクト全体に割り当てられ、また、この多要素グラフィック・オブジェクト中の個々のグラフィック・オブジェクトの公称サイズは、上記集計公称サイズをこの多要素グラフィック・オブジェクト中のグラフィック・オブジェクトの数で除算したものに等しいようにセットされる。
このセクションの残りの部分では、パスPi上のそれぞれのグラフィック・オブジェクトjは、正の公称サイズejを持つ単一要素グラフィック・オブジェクトであると、想定される。
公称サイズは実際のエリア(面積)に比例するから、上で定義される変数Qを一般化して、次式のように公称サイズ(絶対エリアではなく)の平方根を反映させることができる。
Qを√eで除算した比率は、すべての可変エリアのグラフィック・オブジェクトに共通の定数であり、したがって、gと同一の値が、ページ上のすべての可変エリアのグラフィック・オブジェクトに使用される。
したがって、上記の式(4)と式(5)において、Qにg・√eを代入する場合、gをこれらの総和項から引っ張り出して、次式を得ることができる。
このレイアウトは、上で説明されるように、実現可能であると前もって判定されているため、giのそれぞれの解は正となる。
次式のように、g*が、すべてのパスの中で最小の解であると定められる場合には、
ブリック・スタイルのレイアウトでは、グラフィック要素のエリアは、最初にQの値を算出することで決定される。
Qの値が既知であると、これらの値を二乗して、絶対測定可能なエリア(例えば、平方インチ)を算出できる。
(I)グラフィック要素で占有されるエリアの高さは、ページ上の利用可能なエリアの高さに等しいことを強いられる、(II)グラフィック要素で占有されるエリアの幅は、ページ上の利用可能なエリアの幅に等しいことを強いられるという2つの仮説シナリオに対して、Qの値が算出される。
たいていの場合、シナリオ(I)とシナリオ(II)の一方だけが、実現可能な解を与えることになる。なぜなら、他方のシナリオでは、強いられない寸法が、上記の利用可能なスペースよりも大きくなるからである。
実現可能な解を与えるシナリオを選択して、最終の組のグラフィック要素のエリアを作り出す。
上記方程式のうちのN−1個のそれぞれは、完全な木構造の内部ノードから得られる。なぜなら、N個のグラフィック要素を収める木には、ちょうど(N−1)個の内部ノードがあるからである。
上記の式(15)を参照して、左側の子からの垂直パスをPLと表し、また、右側の子からの垂直パスをPRと表すと、対応する式は、次式によって与えられる。
式(21)を配列し直すと、次式が与えられる。
2つの水平パスを得て、これらの水平パスの長さを等しくセットすることにより、次式が与えられる。
シナリオIIでは、根ノードからの任意の水平パスの長さを、利用可能なエリアの幅に等しくセットすることで、N番目の方程式が得られる。
この行列は、グラフィック要素縦横比のゼロおよび正並びに負の平方根と、グラフィック要素縦横比の平方根の正および負の逆数(inverse)とのみを含む。
ベクトルxのN個の要素は、Qの変数である。
ベクトルbのN個の要素の中で、(N−1)個が、式(21)または式(22)のいずれかの式の右辺として算出される。その他は、利用可能なエリアの高さ(シナリオI)または幅(シナリオII)(対応する行を得るのに用いられたパスに沿った一定距離を引く)に等しい。
逆数(inverse)(A)*bを算出すれば、Q値のベクトルが与えられる。
いくつかの実施形態では、初期レイアウト作成モジュール64は、最高の適性またはスコアを持つものを特定することで、候補レイアウトを選択する。
これらのスコアは、上記のセクションIIIのB.2項に述べられるタイプの採点、評価、または適格の機能を用いて、レイアウト評価モジュール266で算出される。
この採点、評価、または適格の機能は、グラフィック・オブジェクトのサイズがグラフィック・オブジェクトに割り当てられた公称サイズに近づくような最終レイアウトの作成を促進する。
いくつかの実施形態では、レイアウト評価モジュール266は、候補レイアウトにおけるグラフィック・オブジェクトの実際のレンダリング・サイズが対応する目標レンダリング・サイズと一致する度合いに基づいて、候補レイアウトごとに、対応するレイアウト・スコアを計算する。
採点の機能は一般に、所与のレイアウトにおけるグラフィック・オブジェクトの実際のサイズがこれらのグラフィック・オブジェクトに割り当てられた公称サイズにどれくらい近いかの指標となる測度を、取り入れている。
これらの実施形態の一部では、レイアウト評価モジュール266は、対応する目標レンダリング・サイズに対する実際のレンダリング・サイズの比率に基づいて、候補レイアウトごとに、これらのグラフィック・オブジェクトのそれぞれに対して、対応するグラフィック・オブジェクト・スコアを計算する。
レイアウト評価モジュール266は、候補レイアウトごとに、それぞれのグラフィック・オブジェクト・スコアから、対応するレイアウト・スコアを計算する。
適格または採点の機能に含まれることも含まれないこともある他の測度は、カバー範囲(すなわち、グラフィック・オブジェクトで占有されるページの一部)と一貫性(consistency)(すなわち、ページ上のグラフィック・オブジェクトで占有されるエリアのむら(variation))を含むが、ただし、それらには限定されない。
いくつかの実施形態では、カバー範囲は、ページ上のグラフィック・オブジェクト・エリアの合計として算出される。
これらのエリアは、パス・ベースのエリア決定法によるか、あるいはバウンディング・ボックス・ベースのエリア決定法により、算出された場合もある。
これらの実施形態の一部では、この組み合わされたレイアウト・スコア(Score)は、式(24)により計算される。
変数αは、ページ上の利用可能なエリアの縦横比が主バウンディング・ボックスの縦横比とどれくらいよく一致するかの尺度となる。
変数υは、一貫性の尺度となる。
いくつかの実施形態では、変数αおよび変数υは、それぞれ、0と1との範囲内の値を取り、その場合、0は、低いカバー範囲および一貫性に対応し、また、1は、高いカバー範囲および一貫性に対応する。
これらの実施形態では、変数αは、次式のように算出される。
変数υは、次式のように算出される。
これらの実施形態では、一貫性の測度υは、最小グラフィック・オブジェクト・エリアを最大グラフィック・オブジェクト・エリアで除算したものであると定義される。
例えば、式(24)により算出されたスコアは、所定のしきい値よりも低いαおよび/またはυの値に対して減点(penalize)される。
いくつかの実施例では、αおよび/またはυの値は、グラフィック・オブジェクト間のどんなスペースも考慮入れることがある。
(A.グラフィック・オブジェクトの初期配置を作成するプロセスの概要)
図28は、ページ上にグラフィック・オブジェクト270の初期配置280を形成する2分木構造が初期レイアウト作成モジュール264で生成されるときに用いる方法の一実施形態の流れ図を示している。
初期レイアウト作成モジュール264は、現在木構造に1つのグラフィック・オブジェクトを追加することで、それぞれの候補木構造を生成する。
これらのスコアおよび実現可能性テスト結果は、レイアウト評価モジュール266から得られる。
レイアウト評価モジュール266により実現不可能とみなされる候補木構造があれば、それは考慮の対象から排除される。
ページに割り当てられるグラフィック・オブジェクトの総数がMである場合には、このページに対するレイアウトは、次式のように、増大する一連の2分木内の最後のものに対応する。
中間の木{T{p}:1≦p≦N−1}のそれぞれは、発展性ある(viable)レイアウトを作成する。
この木構造内のそれぞれのノードは、ページのレイアウトにおけるバウンディング・ボックスに対応づけられる。
それぞれの内部ノードは、その2つの子ノードのボックスの周りのバウンディング・ボックスに対応づけられ、また、それぞれの葉ノードは、対応するグラフィック・オブジェクトが配置されるセルに対応づけられる。
したがって、部分木構造524を図29Bに示される新たな内部Hノード526に代えることで、図29Aに示される部分木構造524にグラフィック・オブジェクトCが追加される。
この新たな内部Hノード526は、新たなセルC(2)に対応する新たな葉ノード528と、代えられた部分木524との親となる。
同様に、部分木構造528を図29Cに示される新たな内部Vノード530に代えることで、図29Bに示される部分木構造528にグラフィック・オブジェクトDが追加される。
この新たな内部Vノード530は、新たなセルD(3)に対応する新たな葉ノード532と、代えられた部分木528との親となる。
図29A〜図29Cに示される例では、代えられる選択部分木(524と528)は、たまたま葉ノードであった。しかしながら、一般に、内部ノードに根づいている部分木も含め、どんな部分木も選択されたかもしれない。
部分木は、部分木の根を、そこから出るすべてのノードと合わせたものと称されるノードとして定義される。
部分木の根が内部ノードである場合には、その部分木は、内部ノードと、その子である終端ノードとを両方とも含む。
しかしながら、これらの候補相対レイアウトをそれぞれ評価する前に、多要素グラフィック・オブジェクトの候補相対レイアウトに対応する粗なグラフィック・オブジェクト木構造を拡張して(あるいは、変形して)、これらのグラフィック・オブジェクトの個々の構成グラフィック・オブジェクトに葉が対応するような改善された(または、完全な)木構造を形成する。
図30Bは、グラフィック・オブジェクト544(GO4)およびその対応する木構造546の一表示を示している。
図30Cは、水平根ノードと、図29Aおよび図29Bにそれぞれ示されるグラフィック・オブジェクト表示(540、544)に対応する2つの終端ノードとから成る粗な木構造348を示している。
図30Cに示されるように、グラフィック・オブジェクト表示(540、544)を表す終端ノードの代りに木構造(542、546)を用いることで、粗な木構造548を拡張して、改善された木構造350を形成する。
図30Dは、この結果として得られる、改善された木構造550に対応する候補相対レイアウトを、ページ552に示している。
図31Aと図31Bは、初期レイアウト作成モジュール264が、候補相対レイアウトを作成して、これらの候補相対レイアウトの1つを、ページ上のグラフィック・オブジェクトの初期配置80として選択するときに用いる典型的な方法の一実施形態を示している(図20を参照)。
ブロック362は、現在候補レイアウトTをレイアウト評価モジュール266に送る(図20を参照)。
上で詳しく説明されるように、レイアウト評価モジュール266は、候補相対レイアウトの実現可能性を確認し、現在候補レイアウトTにおけるグラフィック・オブジェクトに対する初期サイズ寸法を決定し、少なくとも一部、これらの初期サイズ寸法に基づいて、現在候補レイアウトTに対してスコアScore(T)を算出する。
これが、1番目のグラフィック・オブジェクトの第1の表示である場合には、ブロック566は、木Tを現在最適レイアウトBest_Tに指定して、ブロック568に進む。
これが、1番目のグラフィック・オブジェクトの第1の表示でない場合には、ブロック570は、Score(T)を、最適の木に対応するレイアウト用のスコアScore(Best_T)と比較し、そこでは、上で説明されるやり方で採点が行われることがある。
Score(T)がScore(Best_T)よりも大きい場合には、ブロック566は、現在候補レイアウトTを、新たなBest_Tに指定して、ブロック568に進む。
Score(T)がScore(Best_T)以下である場合には、最適現在候補レイアウトの指定を変更せず、このプロセスは、ブロック568に進む。
1番目のグラフィック・オブジェクトのもっと多くの表示が利用可能である場合には、ブロック572は、1番目のグラフィック・オブジェクトの次の表示を取り込んで、新たな現在候補レイアウトTを形成し、このプロセスは、その新たな現在候補レイアウトに対して繰り返される。ブロック568が1番目のグラフィック・オブジェクトの追加表示がまったくないと判定する場合には、このプロセスは、図31B中のブロック574に進む。
現在候補レイアウトに追加されるグラフィック・オブジェクトがもうない場合には、この初期配置作成プロセスからの最終レイアウトとして、現在Best_Tが選択され、このプロセスは、ブロック576において終了する。
ブロック580は、次の現在グラフィック・オブジェクトを取り込む。
ブロック582は、現在グラフィック・オブジェクトの第1の表示を取り込む(または、決定する)。
ブロック584は、現在候補レイアウトTにおいて、現在グラフィック・オブジェクトの表示を評価すべき第1の位置を選択する。
この位置は、現在候補レイアウトTの内部ノードまたは外部ノード(すなわち、葉)のいずれであってもよい。
ブロック586において、第1の位置に新たなノードを追加することで、代替候補レイアウトT'が作成される。
この新たなノードの1つの子は、現在候補レイアウトTの部分木であり、しかも、その根は、Tにおける上記第1の位置である。
この新たなノードの他方の子は、このレイアウトに追加されている現在グラフィック・オブジェクトの現在表示である。
代替現在候補レイアウトT'において、この新たなノードに水平境界線が割り当てられる。
上で詳しく説明されるように、レイアウト評価モジュール266は、候補相対レイアウトの実現可能性を確認し、代替候補レイアウトT'におけるグラフィック・オブジェクトに対する初期サイズ寸法を決定し、少なくとも一部、これらの初期サイズ寸法に基づいて、代替候補レイアウトT'に対してスコアScore(T')を算出する。
これが現在グラフィック・オブジェクトの第1の位置および第1の表示である場合には、ブロック592は、代替候補レイアウトT'を最適現在レイアウトBest_Tに指定して、ブロック594に進む。
これが現在グラフィック・オブジェクトの第1の位置および第1の表示でない場合には、ブロック596は、Score(T')を、最適現在レイアウトに対応するレイアウト用のスコアScore(Best_T)と比較し、そこでは、上で説明されるやり方で採点が行われることがある。
Score(T')がScore(Best_T)よりも大きい(代替候補レイアウトT'が現在候補レイアウトTよりも良いことを示す)場合には、ブロック592は、T'を最適現在レイアウトBest_Tに指定し、このプロセスは、ブロック594に進む。
Score(T')がScore(Best_T)以下である場合には、最適現在レイアウトの指定を変更せず、処理は、同じブロック594に進む。
この新たなノードの1つの子はTの部分木であり、その根は、Tの上記位置である。
この新たなノードの他方の子は、現在このレイアウトに追加されているグラフィック・オブジェクトの現在表示である。
ブロック594の代替現在レイアウトT'において、この新たなノードに水平境界線が割り当てられる。
レイアウト評価モジュール266は、候補相対レイアウトの実現可能性を確認し、代替候補レイアウトT'におけるグラフィック・オブジェクトに対する初期サイズ寸法を決定し、少なくとも一部、これらの初期サイズ寸法に基づいて、代替候補レイアウトT'に対してスコアScore(T')を算出する。
ブロック570、ブロック596、ブロック598は、同一の、または異なる採点方法を使用することがある。
Score(T')がScore(Best_T)よりも大きい場合には、ブロック600は、代替現在レイアウトT'を最適現在レイアウトBest_Tに指定し、このプロセスはブロック602に進む。
ブロック598が、T'のスコアがBest_Tのスコア以下であると判定する場合には、このプロセスは、直接、ブロック602に進む。
現在候補レイアウトTにおいて追加位置が利用可能である場合には、ブロック604は、現在候補レイアウトTにおいて、現在グラフィック・オブジェクトの表示を評価すべき新たな位置を選択する。
ブロック586〜ブロック602は、同じ現在グラフィック・オブジェクトの表示を用いて、繰り返される。
ブロック606は、考慮すべき現在グラフィック・オブジェクトの追加表示があるかどうか判定する。
グラフィック・オブジェクトの追加表示が利用可能である場合には、このプロセスは、ブロック607に進み、そこで、現在グラフィック・オブジェクトの次の表示を取り込む。
ブロック584は、現在候補レイアウトTにおいて、現在グラフィック・オブジェクトの表示を評価すべき第1の位置を選択する。
ブロック586〜ブロック604は、現在候補レイアウトTにおいて、利用可能な位置ごとに現在グラフィック・オブジェクトTの次の表示を評価する。
ブロック574が、現在候補レイアウトに追加されるグラフィック・オブジェクトがもうないと判定すると、最終確定レイアウトとして現在Best_Tが選択され、このプロセスは、ブロック576において終了する。
上で説明されるように、最終レイアウト作成モジュール270は、グラフィック・オブジェクト配置システム60にレイアウト変更モジュール68が含まれるかどうかにより、初期レイアウト作成モジュール264またはレイアウト変更モジュール68のいずれかから、ページ区画を表現する木構造を受け取る。
木構造のそれぞれの葉ノードは、縦横比の値(a)、および、ストリクト・エリア・スタイルのレイアウトの場合には、公称サイズの値(e)を持ち、また、それぞれの内部ノードは、ページ上の水平境界線または垂直境界線のいずれかを示す。
最終レイアウト作成モジュール270は、それぞれのページ上のグラフィック・オブジェクトのエリアを決定し、次に、ページ・スペースの正確な領域をそれぞれのノードに割り振る。
ページのこれらの割振り領域は、対応する木構造と同様にネスト(nest)される。
これらの割振り領域は、ここでは、「セル(cells)」と呼ばれる。
いくつかの実施例では、或るセルが既知であると、そのセルに割り当てられるグラフィック・オブジェクトの位置は、このグラフィック・オブジェクトを、このセルの中心に置くことで、決定される。
これらのグラフィック・オブジェクトのエリアは、所望の精度、所望のレイアウト・スタイル、利用可能な計算機資源に応じて、バウンディング・ボックス・ベースのエリア決定法か、パス・ベースのエリア決定法か、線形システム・ベースのエリア決定法のいずれかにより決定される。
ときには、上記のグラフィック・オブジェクト・エリア決定法の1つを用いて、レイアウト評価モジュール266が直前の上流側レイアウト・モジュールに対して計算したグラフィック・オブジェクト・エリアが、最終レイアウト作成モジュール270で使用されることもある。
その他の場合、最終レイアウト作成モジュール270は、上記のグラフィック・オブジェクト・エリア決定法の別の1つを用いてグラフィック・オブジェクト・エリアを算出するよう、レイアウト評価モジュール266に指示することもある。
絶対エリアが算出された後で、木構造内のそれぞれのノードの周りで、バウンディング・ボックスが評価される。
このプロセスを達成するのに必要な実際のステップは、図27に示されるように、バウンディング・ボックス・ベースのエリア決定に関連して上述のバウンディング・ボックスを算出するプロセスとまったく類似している。ただし、次の2つの例外がある。
第1に、これらの公称サイズは、たまたま実際のグラフィック・オブジェクト・エリアである。
第2に、内部ノードに割り当てられた間隔は、無視されるのではなく、もっと適切に言えば、ブロック492およびブロック496の算出の合計に加えられる。
(1.ページ・スペース割振りプロセスの概要)
いくつかの実施形態では、ノードにページ・スペースの領域を割り振るプロセスは、ページをセルに分けて、それぞれのグラフィック・オブジェクトを、その対応するセルの中に位置づけるものである。
このページは、最初の長方形としてページの使用できるエリア全体から始めて、ページを複数の長方形に分割することで、セルに分けられる。
それぞれの分割は、幅優先探索の順に根ノードから始まって、内部ノードの対応する1つに対して線分を引くことで達成される。
1つの式で表すと、x∈(0,1)となる。ここで、x=0は、利用可能な領域内の最左端の位置を表し、また、x=1は、利用可能な領域内の最右端の位置を表す。
この場合、次式が成り立つ。
このように式で表すと、比率として幅が直接に利用される。
水平境界線に対する類似の公式は、高さを使用する。すなわち、利用可能なスペースの高さに沿った垂直位置がy∈(0,1)で示される場合(ここで、y=0は最下位の位置を表し、また、y=1は最上位の位置を表す)、次式が成り立つ。
図32は、ページ上の物理的なスペース領域を現在木構造の根ノードに割り振る方法の一実施形態を示している。
この方法により、レイアウト・スタイルが決定される(図32のブロック630)。
ストリクト・エリア・スタイルのレイアウトでは、このページの使用できるエリア全体が根ノードに割り当てられる(図32のブロック632)。
ブリック・スタイルのレイアウトでは、根ノードに割り当てられたページ・スペースは、この根ノードに対応づけられるバウンディング・ボックスの高さおよび幅を持っている(図32のブロック634、ブロック636)。
次に、根ノードに割り当てられた領域が、利用可能なページ・スペースの中心に位置づけられる(図32のブロック638)。
このプロセスにおいて、それぞれの内部ノードに割り当てられたスペース領域は、その2つの直接の子の間に配分(divide)される。
このような配分は、現在木構造の根ノードを現在ノードにセットして、再帰的プロセスを実行することで達成される。
現在ノードが終端ノード(すなわち、葉ノード)である場合には、このプロセスは終了する(図33のブロック642)。
現在ノードが内部ノードである場合には、現在ノードが単一要素グラフィック・オブジェクトを2つ以上持つ多要素グラフィック・オブジェクト(GO)に対応する木の根ノードであるかどうかの判定が、行われる(図33のブロック644)。
これが当てはまる場合には、現在ノードに割り当てられた領域は、その領域の高さおよび幅を、前に現在ノードに対して算出されたバウンディング・ボックスの高さおよび幅になるように再び割り当てることで、圧縮され(図33のブロック646)、また、この領域の位置は、前に現在ノードに割り当てられた領域の中心に置かれる。
ブリック・スタイルのレイアウトでは、これは、なんの効果もない。
ストリクト・エリア・スタイルのレイアウトでは、これは、グラフィック要素を2つ以上持つグラフィック・アセンブリ(例えば、一連のキーフレーム)において、画像をまとめる効果がある。
左側の子および右側の子に割り当てられる領域の幅は、現在ノードに割り当てられた領域の幅に等しくセットされる。
左側の子および右側の子に割り当てられる領域の高さは、現在ノードに割り当てられた領域の高さに等しくセットされる。
右側の子のスペース領域は、現在ノードに割り当てられたスペース領域の下側境界のできるだけ近くに位置づけられる(図33のブロック654)。
右側の子のスペース領域は、現在ノードに割り当てられたスペース領域の右側境界のできるだけ近くに位置づけられる(図33のブロック658)。
現在ノードのすべての子(直接、またはそれ以外)にページ・スペース領域が割り当てられるまで、このプロセスは繰り返される。
ここで詳細に説明される実施形態は、1つまたは複数のページ上にグラフィック・オブジェクトを配置する方法を提供する。
これらの実施形態は、それぞれのレイアウト(または配置)において1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みにより誘導または制御され得る。
いくつかの実施形態は、このような特徴を活用して、グラフィック・オブジェクトの異なる1つ1つを特別に目立たせる(すなわち、特徴づける)代替配置を作成する。
このようにして、これらの代替配置は、ページ上のグラフィック・オブジェクトの可能な配置の分布にわたるレイアウトのサンプリングをもたらす。
いくつかの実施形態は、このような特徴を活用して、ユーザーが、1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する好みを入力できるようにし、そこで、このような相対的サイズの好みが、特定のレイアウトにおいてグラフィック・オブジェクトの一部のものを1つ1つ目立たせる(例えば、さらに大きくする)か、あるいは目立たなくする(例えば、さらに小さくする)ように、レイアウト作成プロセスを誘導する。
このようにして、ユーザーは、グラフィック・オブジェクトの特定配置に留意してないときでも、ユーザーの美的好みを満たすような上記グラフィック・オブジェクトの特定レイアウトまでこのシステムを誘導することができる。
62 ページ割当てモジュール
64 ページ・レイアウト作成モジュール
66 ユーザー・インターフェース・モジュール
70 グラフィック・オブジェクト
98 最終レイアウト
100 グラフィック・オブジェクト
102 ページ
120 候補レイアウト
264 初期レイアウト作成モジュール
266 レイアウト評価モジュール
270 最終レイアウト作成モジュール
Claims (8)
- ページ(102)上にグラフィック・オブジェクト(100)を配置する方法であって、
システムのページ・レイアウト作成モジュールが、前記グラフィック・オブジェクト(100)ごとに、前記グラフィック・オブジェクト(100)に割り当てられた対応する公称サイズであって、予め指定されたサイズである公称サイズに基づいて、前記ページ(102)上の前記グラフィック・オブジェクト(100)の対応する目標レンダリング・サイズを確かめるステップと、
前記ページ・レイアウト作成モジュールが、前記ページ上の前記グラフィック・オブジェクト1つ1つの対応する異なる候補レイアウトを構築するステップであって、前記候補レイアウトごとに、前記ページ(102)上の前記グラフィック・オブジェクト(100)の対応する前記実際のレンダリング・サイズを計算するステップを含む構築するステップと、
前記ページ・レイアウト作成モジュールが、実際のレンダリング・サイズの1つ1つを、前記目標レンダリング・サイズの対応する1つ1つと比較することに少なくとも一部、基づいて、前記ページ(102)上の前記グラフィック・オブジェクト(100)の最終レイアウト(98)を決定するステップと、
グラフィック・オブジェクト(100)の前記最終レイアウト(98)を出力するステップと
を含み、
前記決定するステップは、
前記候補レイアウト(120)における前記グラフィック・オブジェクト(100)の実際のレンダリング・サイズと、前記対応する目標レンダリング・サイズが一致する度合いに基づいて、前記候補レイアウト(120)ごとに、対応するレイアウト・スコアを計算するステップ
を含み、
前記計算するステップは、
前記候補レイアウト(120)ごとに、前記対応する目標レンダリング・サイズに対する前記実際のレンダリング・サイズの比率に基づいて、前記候補レイアウト(120)における前記グラフィック・オブジェクト(100)のそれぞれに対して、対応するグラフィック・オブジェクト・スコアを計算するステップと、
前記対応するグラフィック・オブジェクト・スコアから、前記対応するレイアウト・スコアを計算するステップと
を含む
方法。 - 前記確かめるステップは、
前記目標レンダリング・サイズのそれぞれを、前記グラフィック・オブジェクト(100)を配置するために割り振られた前記ページ(102)の総面積の一部分(fraction)にセットし、その割合を、すべてのグラフィック・オブジェクト(100)に割り当てられたそれぞれの公称サイズの合計に対する対応する前記公称サイズの比率に等しくしているステップ
を含む
請求項1に記載の方法。 - 前記決定するステップは、
一連の逐次レイアウトを繰り返し構築するステップ
を含み、
前記一連の逐次レイアウトのそれぞれは、
前記一連の逐次レイアウト中の直前のレイアウトに追加される前記グラフィック・オブジェクトの1つ(524、528、532)
を含み、
前記直前の逐次レイアウトにおける前記追加グラフィック・オブジェクト(524、528、532)のそれぞれ異なる相対的位置で定められた現在候補レイアウトに対して算出される、前記比較の1つ1つから計算されるそれぞれのスコアに基づいて、繰返しごとに、前記逐次レイアウトの現在の1つが、前記直前の逐次レイアウトから構築される
請求項1に記載の方法。 - ページ(102)上にグラフィック・オブジェクト(100)を配置する方法であって、
システムのページ・レイアウト作成モジュールが、前記グラフィック・オブジェクト(100)への対応する公称サイズであって、予め指定されたサイズである公称サイズの2つ以上のそれぞれ互いに異なる候補割当て(142、144)を決定するステップと、
前記ページ・レイアウト作成モジュールが、前記ページ(102)上の前記グラフィック・オブジェクト(100)の1つまたは複数の候補レイアウト(120)から成る対応する組を、前記2つ以上の候補割当て(142、144)のそれぞれに基づいて構築するステップと、
前記ページ・レイアウト作成モジュールが、前記1つまたは複数の候補レイアウト(120)を出力するステップと
を含み、
前記決定するステップは、
前記グラフィック・オブジェクト(136)のそれぞれを、一組の所定のグラフィック・オブジェクト型クラスから選択された対応するクラスに分類するステップと、
一連のグラフィック・オブジェクト(136)を、前記グラフィック・オブジェクト(136)にそれぞれ割り当てられたクラスに基づいて生成するステップと、
前記一連のグラフィック・オブジェクトから、1つまたは複数の候補割当て(142、144)を作成するステップと
を含む
方法。 - 前記決定するステップは、前記候補割当て(142、144)の対応する1つ1つに対して、
1つまたは複数の公称サイズから成る第1の組から選択された対応する公称サイズを、前記グラフィック・オブジェクト(136)のランダムな数のランダム選択物に割り当てるステップと、
それぞれが前記第1の組の公称サイズの最小のものよりも小さい1つまたは複数の公称サイズから成る第2の組から選択された対応する公称サイズを、前記グラフィック・オブジェクト(136)の他の1つ1つに割り当てるステップと
を含む
請求項4に記載の方法。 - 前記決定するステップは、
前記候補割当て(142、144)の1つ1つを互いに比較するステップと、
前記比較するステップに基づいて、互いに異なるものと判定された前記候補割当て(142、144)の1つまたは複数を選択するステップと
を含み、
前記出力するステップは、
前記候補レイアウトの選択されなかったもの1つ1つの対応する仕様書(Specification)であって、最終的なレイアウトを記述するデータ構造を指定する仕様書を出力するのを控え(omit)ながら、前記候補割当て(142、144)の選択されたもの1つ1つに対応する前記候補レイアウト1つ1つの対応する仕様書を出力するステップ
を含む
請求項4に記載の方法。 - ページ(102)上にグラフィック・オブジェクト(100)を配置するシステムであって、
前記グラフィック・オブジェクト(100)ごとに、前記グラフィック・オブジェクト(100)に割り当てられた対応する公称サイズであって、予め指定されたサイズである公称サイズに基づいて、前記ページ(102)上の前記グラフィック・オブジェクト(100)の対応する目標レンダリング・サイズを確かめ、
前記ページ(102)上の前記グラフィック・オブジェクト(100)1つ1つの対応する異なる候補レイアウトを構築し、その構築することは、前記候補レイアウトごとに、前記ページ(102)上の前記グラフィック・オブジェクト(100)の対応する実際のレンダリング・サイズを計算することを含み、
前記実際のレンダリング・サイズの1つ1つを、前記目標レンダリング・サイズの対応する1つ1つと比較することに少なくとも一部、基づいて、前記ページ(102)上の前記グラフィック・オブジェクト(100)の最終レイアウト(98)を決定し、
グラフィック・オブジェクト(100)の前記最終レイアウト(98)を出力する
ように作動するページ・レイアウト作成モジュール
を備え、
前記決定することは、
前記候補レイアウト(120)における前記グラフィック・オブジェクト(100)の実際のレンダリング・サイズと、前記対応する目標レンダリング・サイズが一致する度合いに基づいて、前記候補レイアウト(120)ごとに、対応するレイアウト・スコアを計算すること
を含み、
前記計算することは、
前記候補レイアウト(120)ごとに、前記対応する目標レンダリング・サイズに対する前記実際のレンダリング・サイズの比率に基づいて、前記候補レイアウト(120)における前記グラフィック・オブジェクト(100)のそれぞれに対して、対応するグラフィック・オブジェクト・スコアを計算することと、
前記対応するグラフィック・オブジェクト・スコアから、前記対応するレイアウト・スコアを計算することと
を含む
システム。 - ページ(102)上にグラフィック・オブジェクト(100)を配置するシステムであって、
前記グラフィック・オブジェクト(100)への対応する公称サイズであって、予め指定されたサイズである公称サイズの2つ以上のそれぞれ互いに異なる候補割当て(142、144)を決定し、
前記ページ(102)上の前記グラフィック・オブジェクト(100)の1つまたは複数の候補レイアウト(120)から成る対応する組を、前記2つ以上の候補割当て(142、144)のそれぞれに基づいて構築し、
前記1つまたは複数の候補レイアウト(120)を出力する
ように作動するページ・レイアウト作成モジュール
を備え、
前記決定することは、
前記グラフィック・オブジェクト(136)のそれぞれを、一組の所定のグラフィック・オブジェクト型クラスから選択された対応するクラスに分類することと、
一連のグラフィック・オブジェクト(136)を、前記グラフィック・オブジェクト(136)にそれぞれ割り当てられたクラスに基づいて生成することと、
前記一連のグラフィック・オブジェクトから、1つまたは複数の候補割当て(142、144)を作成することと
を含む
システム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/769,671 US20090002764A1 (en) | 2007-06-27 | 2007-06-27 | Arranging graphic objects on a page with relative area based control |
| US11/769,671 | 2007-06-27 | ||
| PCT/US2008/008048 WO2009002555A2 (en) | 2007-06-27 | 2008-06-27 | Arranging graphic objects on a page with relative area based control |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010532042A JP2010532042A (ja) | 2010-09-30 |
| JP4929397B2 true JP4929397B2 (ja) | 2012-05-09 |
Family
ID=40160049
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010514832A Expired - Fee Related JP4929397B2 (ja) | 2007-06-27 | 2008-06-27 | 相対エリア・ベースの制御を用いてのページ上のグラフィック・オブジェクトの配置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20090002764A1 (ja) |
| EP (1) | EP2171680A4 (ja) |
| JP (1) | JP4929397B2 (ja) |
| CN (1) | CN101796538B (ja) |
| WO (1) | WO2009002555A2 (ja) |
Families Citing this family (54)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090006987A1 (en) * | 2007-06-29 | 2009-01-01 | Merav Simhi | Visual design tools for portal content creation |
| US7810047B2 (en) * | 2007-09-04 | 2010-10-05 | Apple Inc. | List item layouts system and method |
| CN102165410A (zh) | 2008-01-31 | 2011-08-24 | 惠普开发有限公司 | 打印结构化文档 |
| US8127221B2 (en) * | 2008-02-29 | 2012-02-28 | Microsoft Corporation | Optimal sizes of objects in a document |
| US9405513B2 (en) * | 2008-04-18 | 2016-08-02 | Software Ag | Systems and methods for graphically developing rules for transforming models between description notations |
| JP5340048B2 (ja) * | 2008-06-17 | 2013-11-13 | キヤノン株式会社 | 画像処理装置、画像処理方法、およびプログラム |
| TW201004591A (en) * | 2008-07-24 | 2010-02-01 | Flexmedia Electronics Corp | Digital photo album and display method thereof and controller using the same |
| JP5349879B2 (ja) * | 2008-09-18 | 2013-11-20 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム、及び、記憶媒体 |
| US9152292B2 (en) | 2009-02-05 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Image collage authoring |
| US8291314B2 (en) * | 2009-04-23 | 2012-10-16 | Hewlett-Packard Development Company, L.P. | Arranging graphic objects on a page |
| US9142044B2 (en) * | 2009-05-26 | 2015-09-22 | Oracle International Corporation | Apparatus, systems and methods for layout of scene graphs using node bounding areas |
| US20110029914A1 (en) * | 2009-07-30 | 2011-02-03 | Whitby Laura R | Apparatus for generating artistic image template designs |
| US8854395B2 (en) * | 2009-07-30 | 2014-10-07 | Intellectual Ventures Fund 83 Llc | Method for producing artistic image template designs |
| US8422794B2 (en) | 2009-07-30 | 2013-04-16 | Intellectual Ventures Fund 83 Llc | System for matching artistic attributes of secondary image and template to a primary image |
| US8849853B2 (en) * | 2009-07-30 | 2014-09-30 | Intellectual Ventures Fund 83 Llc | Method for matching artistic attributes of a template and secondary images to a primary image |
| US20110029635A1 (en) * | 2009-07-30 | 2011-02-03 | Shkurko Eugene I | Image capture device with artistic template design |
| US20110029562A1 (en) * | 2009-07-30 | 2011-02-03 | Whitby Laura R | Coordinating user images in an artistic design |
| US8438495B1 (en) * | 2009-08-17 | 2013-05-07 | Adobe Systems Incorporated | Methods and systems for creating wireframes and managing containers |
| JP5387285B2 (ja) * | 2009-09-28 | 2014-01-15 | ブラザー工業株式会社 | 印刷装置およびプログラム |
| US20120284595A1 (en) * | 2009-11-25 | 2012-11-08 | Lyons Nicholas P | Automatic Page Layout System and Method |
| US9235575B1 (en) | 2010-03-08 | 2016-01-12 | Hewlett-Packard Development Company, L.P. | Systems and methods using a slideshow generator |
| US9454520B2 (en) * | 2010-07-29 | 2016-09-27 | Hewlett-Packard Development Company, L.P. | Generating a representation of a layout having partitions for exclusion zones |
| CN103119624A (zh) | 2010-07-29 | 2013-05-22 | 惠普发展公司,有限责任合伙企业 | 向页面中插入内容和隔离区 |
| US8704850B2 (en) * | 2010-08-31 | 2014-04-22 | Microsoft Corporation | Two-dimensional object packing |
| US9002139B2 (en) | 2011-02-16 | 2015-04-07 | Adobe Systems Incorporated | Methods and systems for automated image slicing |
| US20120324354A1 (en) * | 2011-06-15 | 2012-12-20 | Chipperfield John Stuart | Computer system |
| FR2983600B1 (fr) * | 2011-12-01 | 2014-02-07 | Airbus Operations Sas | Procede et systeme de surveillance d'une interface graphique dans un cockpit d'aeronef |
| US8868230B2 (en) * | 2012-04-26 | 2014-10-21 | Disney Enterprises, Inc. | Iterative packing optimization |
| JP6045232B2 (ja) * | 2012-07-09 | 2016-12-14 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
| KR101414195B1 (ko) | 2012-11-26 | 2014-07-01 | 네이버 주식회사 | 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 |
| US20140195949A1 (en) * | 2013-01-08 | 2014-07-10 | Samsung Electronics Co., Ltd. | Content delivery system with sequence generation mechanism and method of operation thereof |
| US9460056B2 (en) * | 2013-01-22 | 2016-10-04 | Xerox Corporation | Dynamic image layout for personalized packages |
| US10007469B2 (en) | 2013-03-25 | 2018-06-26 | Ricoh Company, Ltd. | Virtual page generation mechanism |
| US20140365906A1 (en) * | 2013-06-10 | 2014-12-11 | Hewlett-Packard Development Company, L.P. | Displaying pre-defined configurations of content elements |
| CN103337086B (zh) * | 2013-06-17 | 2015-11-25 | 北京金山安全软件有限公司 | 用于移动终端的图片编辑方法和装置 |
| US9399525B2 (en) | 2014-02-03 | 2016-07-26 | Airbus Operations (S.A.S.) | Method, systems, and computer readable media for troubleshooting an aircraft system during system failure |
| US9457892B2 (en) * | 2014-02-03 | 2016-10-04 | Airbus Operations (S.A.S.) | Management interfaces for aircraft systems |
| US9457893B2 (en) | 2014-02-03 | 2016-10-04 | Airbus Operations (S.A.S.) | Methods, systems and computer readable media for managing aircraft systems |
| USD766918S1 (en) | 2014-02-03 | 2016-09-20 | Airbus Operations (S.A.S.) | Display screen of portion thereof with changeable graphical user interface |
| USD765688S1 (en) | 2014-02-03 | 2016-09-06 | Airbus Operations (S.A.S.) | Display screen or portion thereof with graphical user interface |
| USD766280S1 (en) | 2014-02-03 | 2016-09-13 | Airbus Operations (S.A.S.) | Display screen or portion thereof with graphical user interface |
| USD766281S1 (en) | 2014-02-03 | 2016-09-13 | Airbus Operations (S.A.S.) | Display screen or portion thereof with graphical user interface |
| CN104978445B (zh) * | 2014-04-04 | 2018-01-12 | 北京猎豹网络科技有限公司 | 一种图片组合的方法及装置 |
| CN105068779B (zh) * | 2015-08-18 | 2018-07-13 | 北京恒华伟业科技股份有限公司 | 一种显示控制方法及装置 |
| CN106056651A (zh) * | 2016-06-03 | 2016-10-26 | 北京金山安全软件有限公司 | 图片布局的管理方法、装置及电子设备 |
| JP6885896B2 (ja) * | 2017-04-10 | 2021-06-16 | 富士フイルム株式会社 | 自動レイアウト装置および自動レイアウト方法並びに自動レイアウトプログラム |
| US11829703B2 (en) * | 2018-01-09 | 2023-11-28 | Adobe Inc. | Parallel object analysis for efficiently generating layouts in digital design documents |
| CN108255489B (zh) * | 2018-01-12 | 2021-05-25 | 北京三快在线科技有限公司 | 前端界面代码生成方法、装置、电子设备及存储介质 |
| US11144717B2 (en) * | 2018-09-26 | 2021-10-12 | Adobe Inc. | Automatic generation of document layouts |
| JP2020057381A (ja) * | 2018-09-28 | 2020-04-09 | 大日本印刷株式会社 | 情報処理装置、情報処理方法及びプログラム |
| CN111597481B (zh) * | 2020-05-09 | 2023-10-13 | 北京奇艺世纪科技有限公司 | 页面显示方法、装置、电子设备及可读存储介质 |
| US11580295B2 (en) * | 2020-06-19 | 2023-02-14 | Adobe Inc. | Systems for generating layouts of text objects |
| WO2023035250A1 (zh) * | 2021-09-10 | 2023-03-16 | 华为技术有限公司 | 用于对芯片进行布局的方法、设备、介质以及程序产品 |
| SE2351115A1 (en) * | 2023-09-27 | 2025-03-28 | Waestfelt Design Ab | Determining rendering data for a graphical user interface |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3922396B2 (ja) * | 1995-03-16 | 2007-05-30 | ソニー株式会社 | レイアウト装置および表示装置 |
| AU2003901416A0 (en) * | 2003-03-27 | 2003-04-10 | Canon Kabushiki Kaisha | Graphical object group management system |
| US7555730B2 (en) * | 2005-05-12 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Method for arranging graphic assemblies |
| US7743322B2 (en) * | 2003-09-30 | 2010-06-22 | Hewlett-Packard Development Company, L.P. | Automatic photo album page layout |
| US8065627B2 (en) * | 2003-09-30 | 2011-11-22 | Hewlett-Packard Development Company, L.P. | Single pass automatic photo album page layout |
| US8056013B2 (en) * | 2005-05-13 | 2011-11-08 | Hewlett-Packard Development Company, L.P. | Method for arranging graphic assemblies |
| US7640516B2 (en) * | 2003-09-30 | 2009-12-29 | Hewlett-Packard Development Company, L.P. | Arranging graphic objects on pages |
| JP4250540B2 (ja) * | 2004-01-30 | 2009-04-08 | キヤノン株式会社 | レイアウト調整方法および装置およびレイアウト調整プログラム |
| EP1752880A4 (en) * | 2004-04-30 | 2008-10-22 | Access Co Ltd | DYNAMIC IMAGE ENHANCEMENT / REDUCTION PROCEDURE FOR THE BROWSEN, ENDING DEVICE AND PROGRAM DISPLAY |
| KR100682456B1 (ko) * | 2006-02-08 | 2007-02-15 | 삼성전자주식회사 | 렌더링 영역을 최소화하는 3d 그래픽스 데이터의 렌더링방법 및 시스템 |
-
2007
- 2007-06-27 US US11/769,671 patent/US20090002764A1/en not_active Abandoned
-
2008
- 2008-06-27 CN CN200880105067.4A patent/CN101796538B/zh not_active Expired - Fee Related
- 2008-06-27 JP JP2010514832A patent/JP4929397B2/ja not_active Expired - Fee Related
- 2008-06-27 EP EP08779841A patent/EP2171680A4/en not_active Ceased
- 2008-06-27 WO PCT/US2008/008048 patent/WO2009002555A2/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2009002555A2 (en) | 2008-12-31 |
| US20090002764A1 (en) | 2009-01-01 |
| JP2010532042A (ja) | 2010-09-30 |
| CN101796538A (zh) | 2010-08-04 |
| EP2171680A2 (en) | 2010-04-07 |
| EP2171680A4 (en) | 2011-06-29 |
| WO2009002555A3 (en) | 2009-02-26 |
| CN101796538B (zh) | 2016-08-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4929397B2 (ja) | 相対エリア・ベースの制御を用いてのページ上のグラフィック・オブジェクトの配置 | |
| US8161384B2 (en) | Arranging graphic objects on a page with text | |
| US7640516B2 (en) | Arranging graphic objects on pages | |
| JP5113909B2 (ja) | 相対位置に基く制御によるページ上のグラフィックスオブジェクトの配置 | |
| US7644356B2 (en) | Constraint-based albuming of graphic elements | |
| US7656543B2 (en) | Albuming images | |
| US8161377B2 (en) | Arranging images on pages of an album | |
| JP5043163B2 (ja) | オブジェクトを位置付ける方法、並びに、予め定められたスペースにイメージを位置付ける方法 | |
| JP4751047B2 (ja) | エリア内にオブジェクトのセットを配置する方法 | |
| JP4333348B2 (ja) | ディジタル画像を編成してユーザへ表示する方法をプロセッサに実行させるプログラム | |
| JP4945813B2 (ja) | 印刷構造化文書 | |
| JP4294348B2 (ja) | 表示システム | |
| JP5788455B2 (ja) | 画像割当装置および画像割当方法 | |
| JP2005236646A (ja) | 画像表示装置および方法およびプログラム | |
| US8086950B2 (en) | Method and system for enhancing engineering information | |
| JP3922396B2 (ja) | レイアウト装置および表示装置 | |
| JP2009265814A (ja) | 情報提示装置、情報提示方法および情報提示用プログラム | |
| JP2004086262A (ja) | 視覚的情報分類方法、視覚的情報分類装置、視覚的情報分類プログラムおよびそのプログラムを記録した記録媒体 | |
| JP4949996B2 (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
| JP4336813B2 (ja) | 画像記述システムおよび方法 | |
| JP2010244337A (ja) | 画像ブロックレイアウト方法及び画像ブロックレイアウトシステム | |
| JP4189461B2 (ja) | ファイル管理プログラム、ファイル管理プログラムを記録したコンピュータ読取可能な記録媒体、ファイル管理装置およびファイル管理方法 | |
| JPH05265171A (ja) | レイアウト装置 | |
| JP2007104563A (ja) | レイアウト編集装置、レイアウト編集方法及びレイアウト編集プログラム | |
| JP2014021916A (ja) | 情報表示プログラム、情報表示装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111012 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111019 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111227 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120126 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120213 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150217 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4929397 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |
