JP4929397B2 - 相対エリア・ベースの制御を用いてのページ上のグラフィック・オブジェクトの配置 - Google Patents

相対エリア・ベースの制御を用いてのページ上のグラフィック・オブジェクトの配置 Download PDF

Info

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
Application number
JP2010514832A
Other languages
English (en)
Other versions
JP2010532042A (ja
Inventor
アトキンズ・シー・ブライアン
トレッター・ダニエル・アール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2010532042A publication Critical patent/JP2010532042A/ja
Application granted granted Critical
Publication of JP4929397B2 publication Critical patent/JP4929397B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/60Creating 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)を作り出す。
これらの遺伝的構造は、所与のページ上に配置される画像の位置、縮尺、回転の向きを定める。
レイアウト評価モジュールは、上記レイアウトを、いくつかの他の好みおよびページ要件と比較する。
適切なレイアウトが作成されているときには、その最終アルバム・レイアウトが表示され、印刷され、あるいは他の方法で後で転送され得る。
他の自動デジタル画像アルバム作成システムは、イベントで編成され、かつ一組のアルバム作成パラメータに基づいて自動的にレイアウトされるアルバムを、ユーザーに表示するページ・レイアウト・モジュールを含む。
ページ上にレイアウトされる画像の数は、パラメトリック法によるか、あるいは、これらの画像の属性の解析により、決定される。
このパラメトリック法は、ページを一組のグリッド・スクエアに分けて、これらのグリッド・スクエア上に画像をレイアウトする一組のルールに基づいて、このページ上にレイアウトされる画像の数を決定する。
このシステムでは、ページ上の画像の実際のレイアウトはまた、これらの画像の属性(例えば、画像のサイズ)を、一組のテンプレートに合わせることにより、決定されうる。
他の自動デジタル画像アルバム作成システムは、それぞれの画像が、同一ページ上にある他の画像に力を加えると仮定する力モデル(force model)に基づいて、ページ上に画像を自動的に位置づける。
この力は、画像を隔てる距離の関数である。
このシステムは、それぞれの画像を、その画像に作用する正味力(net force)の方向に、その正味力の関数である距離だけ移動させることで、このページ上の画像の初期レイアウトを変更する。
必要とされるものは、ページ上にグラフィック・オブジェクトを自動的に配置するシステムおよび方法であって、それらは、それぞれのレイアウトにおいて1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みにより誘導または制御され得るものである。
一面において、本発明は、ページ上にグラフィック・オブジェクトを配置する方法を特徴づける。
この方法により、グラフィック・オブジェクトごとに、グラフィック・オブジェクトに割り当てられた対応する公称サイズに基づいて、ページ上のグラフィック・オブジェクトの対応する目標レンダリング・サイズが確かめられる。
ページ上のグラフィック・オブジェクト1つ1つの対応する異なる候補レイアウトが構築される。
このプロセスにおいて、候補レイアウトごとに、ページ上のグラフィック・オブジェクトのそれぞれの実際のレンダリング・サイズが計算される。
実際のレンダリング・サイズの1つ1つを、目標レンダリング・サイズの対応する1つ1つと比較することに少なくとも一部、基づいて、ページ上のグラフィック・オブジェクトの最終レイアウトが決定される。
グラフィック・オブジェクトの最終レイアウトが出力される。
一面において、本発明は、ページ上にグラフィック・オブジェクトを配置する方法を特徴づける。
この方法により、これらのグラフィック・オブジェクトへの対応する公称サイズの2つ以上の候補割当てが決定される。
これらの候補割当てはそれぞれ互いに異なっている。
ページ上のグラフィック・オブジェクトの1つまたは複数の候補レイアウトから成る対応する組が、2つ以上の候補割当てのそれぞれに基づいて構築される。
1つまたは複数の候補レイアウトが出力される。
本発明の他の特徴および利点は、図面および特許請求の範囲を含め、以下の説明から明らかになろう。
ページ上のグラフィック・オブジェクトのレイアウトの略図である。 構成単一要素グラフィック・オブジェクトから形成されている多要素グラフィック・オブジェクトが破線楕円で特定されている、図1に示されるグラフィック・オブジェクトのレイアウトの略図である。 6つの構成グラフィック・オブジェクトから形成された多要素グラフィック・オブジェクトの表示の略図である。 6つの構成グラフィック・オブジェクトから形成された多要素グラフィック・オブジェクトの表示の略図である。 6つの構成グラフィック・オブジェクトから形成された多要素グラフィック・オブジェクトの表示の略図である。 6つの構成グラフィック・オブジェクトから形成された多要素グラフィック・オブジェクトの表示の略図である。 1つまたは複数のページ上にグラフィック・オブジェクトを配置するシステムの一実施形態のブロック図である。 図4のシステムで実施されるグラフィック・オブジェクト配置方法の一実施形態の流れ図である。 ページ上に配置されるグラフィック・オブジェクトに、それぞれの公称サイズ、およびそれぞれの縦横比(aspect ratio)を割り当てる動作を含むページ・レジスタの一実施形態の略図である。 ページ上にグラフィック・オブジェクトを配置する方法の一実施形態の流れ図である。 ページ上のグラフィック・オブジェクトの異なるレイアウトをインタラクティブに閲覧するユーザー・インターフェースの略図である。 グラフィック・オブジェクトの選択候補配置をメイン・ウィンドウに表示し、また、グラフィック・オブジェクトの代替配置をサイド・ウィンドウに表示するユーザー・インターフェースの略図である。 グラフィック・オブジェクトの代替配置のうちユーザーで選択された1つをメイン・ウィンドウに表示する図8のユーザー・インターフェースの略図である。 グラフィック・オブジェクトへのそれぞれの公称サイズの1つまたは複数の割当てに基づいて、ページ上にグラフィック・オブジェクトの1つまたは複数の配置を作成する方法の一実施形態の流れ図である。 ページ上にレイアウトされるグラフィック・オブジェクトへのそれぞれの公称サイズの候補割当てを作成する方法の一実施形態の流れ図である。 一連のグラフィック・オブジェクトの略図である。 図13Aに示されるグラフィック・オブジェクトが一組の所定のオブジェクト型クラスのそれぞれに分布する略図である。 図13Bに示されるグラフィック・オブジェクトの分布に基づいて、一連のグラフィック・オブジェクトを作成する方法の一実施形態の略図である。 図13Cに示される方法により、図13Aに示されるグラフィック・オブジェクトから作成された一連のグラフィック・オブジェクトの略図である。 図13Dに示される順序にてグラフィック・オブジェクトへのそれぞれの公称サイズの候補割当ての実施形態の略図である。 図13Dに示される順序にてグラフィック・オブジェクトへのそれぞれの公称サイズの候補割当ての実施形態の略図である。 図13Dに示される順序にてグラフィック・オブジェクトへのそれぞれの公称サイズの候補割当ての実施形態の略図である。 図13Dに示される順序にてグラフィック・オブジェクトへのそれぞれの公称サイズの候補割当ての実施形態の略図である。 図13Dに示される順序にてグラフィック・オブジェクトへのそれぞれの公称サイズの候補割当ての実施形態の略図である。 図13Dに示される順序にてグラフィック・オブジェクトへのそれぞれの公称サイズの候補割当ての実施形態の略図である。 グラフィック・オブジェクトへのそれぞれの公称サイズの候補割当てを作成する方法の一実施形態の流れ図である。 グラフィック・オブジェクトへのそれぞれの公称サイズの割当てを比較する方法の一実施形態の流れ図である。 図13Bに示されるグラフィック・オブジェクトに割当てられた公称サイズが、この組の所定のオブジェクト型クラスのそれぞれに分布する略図である。 それぞれのオブジェクト型クラス中の公称サイズが大きさの順に分類されている、図19Aに示されるグラフィック・オブジェクトに割り当てられた公称サイズの分布の略図である。 1つまたは複数のページ上にグラフィック・オブジェクトを配置するシステムの一実施形態のブロック図である。 複数のページ上にグラフィック・オブジェクトを配置する方法の一実施形態の流れ図である。 ページの区画と、このページ区画に対応する階層木構造の略図である。 ページ上のグラフィック・オブジェクトのレイアウトを評価する方法の実施形態の流れ図である。 ページ上のグラフィック・オブジェクトのレイアウトを評価する方法の実施形態の流れ図である。 木構造を通るパスの実現可能性を判定する方法の一実施形態の流れ図である。 ページ上のグラフィック・オブジェクトの相対レイアウトを通る一組のパスを生成する方法の一実施形態の流れ図である。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 典型的な候補相対レイアウトに関して、図25の方法により生成されるパスの組を示す。 木構造のノードのバウンディング・ボックスを評価する方法の一実施形態の流れ図である。 ページ上にグラフィック・オブジェクトの初期配置を作成する方法の一実施形態の流れ図である。 ページの異なる区画と、対応する階層木構造の略図である。 ページの異なる区画と、対応する階層木構造の略図である。 ページの異なる区画と、対応する階層木構造の略図である。 第1のグラフィック・オブジェクトの表示と、その表示を記述する木構造の略図である。 第2のグラフィック・オブジェクトの表示と、その表示を記述する木構造の略図である。 図30Aに示される第1のグラフィック・オブジェクトと図30Bに示される第2のグラフィック・オブジェクトに対応する葉ノードを含む粗な木構造と、この粗木構造から得られる対応する改善された木構造の略図である。 図30Cに示される粗な木構造と改善された木構造に対応する、ページ上のグラフィック・オブジェクトの相対レイアウトである。 ページ上にグラフィック・オブジェクトのレイアウトを作成する方法の一実施形態の第1の部分の流れ図である。 ページ上にグラフィック・オブジェクトのレイアウトを作成する方法の一実施形態の第2の部分の流れ図である。 ページ・スペースの一領域を木構造の根ノードに割り当てる方法の一実施形態の流れ図である。 ページ・スペースの複数領域を木構造のノードの子に割り振る方法の一実施形態の流れ図である。
以下の説明では、同じ要素を識別するのに、同じ参照番号が使用される。さらに、図面は、典型的な実施形態の主な特徴を略示することを目的としている。図面は、実際の実施形態のあらゆる特徴も、これらの描かれた要素の相対的寸法も示すつもりはなく、定尺では描かれていない。
(I.序説)
ここで詳細に説明される実施形態は、1つまたは複数のページ上にグラフィック・オブジェクトを配置する方法を提供する。
これらの実施形態は、それぞれのレイアウト(または配置)において1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みにより誘導または制御され得る。
いくつかの実施形態は、このような特徴を活用して、グラフィック・オブジェクトの異なる1つ1つを特別に目立たせる(すなわち、特徴づける)代替配置を作成する。
このようにして、これらの代替配置は、ページ上のグラフィック・オブジェクトの可能な配置の分布にわたるレイアウトのサンプリングをもたらす。
いくつかの実施形態は、このような特徴を活用して、ユーザーが、1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する好みを入力できるようにし、そこで、このような相対的サイズの好みが、特定のレイアウトにおいてグラフィック・オブジェクトの一部のものを1つ1つ目立たせる(例えば、さらに大きくする)か、あるいは目立たなくする(例えば、さらに小さくする)ように、レイアウト作成プロセスを誘導する。
このようにして、ユーザーは、グラフィック・オブジェクトの特定配置に留意してないときでも、ユーザーの美的好みを満たすような上記グラフィック・オブジェクトの特定レイアウトまでこのシステムを誘導することができる。
ここで使用される「ページ(page)」という語は、グラフィック・オブジェクトのレイアウトが印刷されうる個別の物理媒体(例えば、一枚の紙)で具現される物理ページや、例えば、電子表示装置によりユーザーに表示されうるグラフィック・オブジェクトのレイアウトを収める仮想ページ、デジタル・ページ、または電子ページを含め、グラフィック・オブジェクトがレイアウトされうる任意タイプの個別エリアをさす。
「グラフィック・オブジェクト(graphic object)」という語は、概括的に言えば、画像やテキスト(文章)を含め、物理ページまたは仮想ページ上にレンダリングされうる任意タイプの視覚的に感知できるコンテンツをさす。
画像ベースのグラフィック・オブジェクト(あるいは、単に「画像(image)」)は、イメージ・センサ(例えば、ビデオ・カメラ、静止画カメラ、または光学式スキャナ)により取り込まれた画像、または、このような画像を処理した(例えば、フィリタリングされたり、再フォーマットされたり、改良されたりなどして、変更された)もの、コンピュータで生成されたビットマップ画像またはベクターグラフィック画像、テキスト画像(例えば、テキストを含むビットマップ画像)、および、アイコン画像(iconographic image)を含め、任意タイプのデジタル画像または電子画像の完全なもの、または部分的なものでありうる。
「グラフィック・オブジェクト」という語は、単一要素グラフィック・オブジェクトと、1つまたは複数のグラフィック・オブジェクトの結合力あるグループまたはコレクションから形成された多要素グラフィック・オブジェクトとを両方とも含む。
特定の多要素グラフィック・オブジェクトへの単一要素グラフィック・オブジェクトの割当ては、構成単一要素グラフィック・オブジェクトが結び付けられることを意味する。
一般に、多要素グラフィック・オブジェクト中の単一要素グラフィック・オブジェクトの型は同一であるか、あるいは異なってもよい。
いくつかの実施例では、画像ベースのグラフィック・オブジェクト(例えば、写真などの画像)は、固定エリア画像または可変エリア画像と呼ばれることがある。
これらの実施例では、固定エリア画像のエリアまたはサイズは、作成されたレイアウトでは変更されないが、しかるに、可変エリア画像のサイズは、変更できるようになる。
可変エリア画像は、同一ページ上にレンダリングされた画像の相対エリアに関連する制約を持つことも、持たないこともある。
図示される実施形態では、画像ベースのグラフィック・オブジェクトのそれぞれには、対応する縦横比(aspect ratio)が割り当てられる。
この縦横比は、画像幅に対する画像高さの比率として定義される。
それぞれの可変エリア画像には、さらに、対応する正のスカラー値公称サイズも割り当てられることがある。
「公称サイズ(nominal size)」という語は、実際のサイズ、またはレンダリングされたサイズとは異なることも、異ならないこともある指定サイズまたは理論サイズをさす。
グラフィック・オブジェクトの「サイズ(size)」は、グラフィック・オブジェクトで占有されるページのエリアの大きさをさす。
いくつかの実施形態では、画像に割り当てられる公称サイズの値をユーザーがセットできるようにしている。
他の実施形態では、グラフィック・オブジェクト配置システムは、これらの公称サイズの値をグラフィック・オブジェクトに自動的に割り当てる。
図1は、複数の単一要素グラフィック・オブジェクト(12〜32)を含む典型的なページ10を示している。
図2に示されるように、単一要素グラフィック・オブジェクト(12〜32)のうち選択されたものが1つ1つ集められて、グラフィック・オブジェクト42を形成することがある。グラフィック・オブジェクト42では、構成グラフィック・オブジェクト(すなわち、14〜24)は、グラフィック・オブジェクトのレイアウトにおいて互いに近づけてページに載せるようにもくろまれている。
図2に示される例では、多要素グラフィック・オブジェクト42は、異なる型の単一要素グラフィック・オブジェクト(例えば、画像ベースのグラフィック・オブジェクトやテキスト形式グラフィック・オブジェクト)を含むことがある。
さらに、多要素グラフィック・オブジェクトの単一要素グラフィック・オブジェクトは、任意に、または特定の順序づけられた連なり(例えば、ビデオ・クリップの時間的に順序づけられた一連のキーフレーム)で、配置されることがある。
他のグラフィック・オブジェクトとの結合力ある関係をまったく持たない単一要素グラフィック・オブジェクトは、1つしか表示を持たない「退化した(degenerate)」グラフィック・オブジェクトである。
図3A〜図3Dに示されるように、構成グラフィック・オブジェクトを2つ以上有するグラフィック・オブジェクト52は、2つ以上のやり方で表示(または、配置)されることがある。
いくつかの実施例では、多要素グラフィック・オブジェクト中の単一要素グラフィック・オブジェクトの表示は、単一要素グラフィック・オブジェクトの水平配置と垂直配置に限定される。
これらの実施例の一部において、上記表示はさらに、単一要素グラフィック・オブジェクトのいくつかの好ましい水平配置と垂直配置に限定されることがある。
例えば、一実施例は、同一多要素グラフィック・オブジェクト中の画像の右側または下方にのみテキスト形式グラフィック・オブジェクトが現われるような表示だけを可能にしている。
このような場合、画像とテキスト・ブロックを含むグラフィック・オブジェクトが2つの異なるやり方で表示されることがある。
図3A〜図3Dは、一連(sequence)の6つのグラフィック・オブジェクト54(例えば、ビデオ・キーフレーム)を含むグラフィック・オブジェクト52が4つの異なるやり方で表示されうることを示している。
一般に、グラフィック・オブジェクトは、「ストリクト・エリア(strict area)」スタイルまたは「ブリック(brick)」スタイルにより、ページ上にレイアウトされることがある。
ストリクト・エリア・スタイルのレイアウトでは、同一ページ上のグラフィック・オブジェクトの相対エリアは、あらかじめ指定された割合に応じる。
例えば、ユーザーは、同一ページ上のすべてのグラフィック・オブジェクトが同一エリアを持つという条件をつけることがある。
ブリック・スタイルのレイアウトでは、同一ページ上のグラフィック・オブジェクトの相対エリアは、画像間に空きスペースがないように選択される。
ストリクト・エリア・スタイルのレイアウトと、ブリック・スタイルのレイアウトに関するさらなる詳細は、2004年9月30日に出願された米国特許出願第10/675,724号と、2004年9月30日に出願された米国特許出願第10/675,823号から入手できる。
(II.ページ上にグラフィック・オブジェクトを配置する一般フレームワーク)
図4は、ページ割当てモジュール62、ページ・レイアウト作成モジュール64、および、ユーザーがグラフィック・オブジェクト配置システム60と対話するときに使うユーザー・インターフェース・モジュール66を含む、1つまたは複数のページ上にグラフィック・オブジェクト70を配置するシステム60の一実施形態を示している。
一般に、グラフィック・オブジェクト配置システム60のモジュール(62〜66)は、特定のハードウェア構成またはソフトウェア構成には限定されず、もっと適切に言えば、それらのモジュールは、デジタル電子回路、あるいは、コンピュータのハードウェア、ファームウェア、デバイス・ドライバ、またはソフトウェアを含む、任意のコンピューティング環境または処理環境に導入されることがある。
例えば、いくつかの実施例では、これらのモジュールは、デスクトップ・コンピュータやワークステーション・コンピュータ、デジタル静止画カメラ、デジタル・ビデオカメラ、プリンタ、スキャナ、および携帯用電子装置(例えば、携帯電話、ラップトップ・コンピュータやノートブック・コンピュータ、携帯情報端末)を含む、多種多様なデジタル式およびアナログ式の電子装置のどれか1つの装置のハードウェアに組み込まれる。
いくつかの実施例では、モジュール(62〜66)を実行するコンピュータ処理命令と、モジュール(62〜66)により生成されるデータは、1つまたは複数の機械可読媒体に保存される。
これらの命令やデータを確実に収めるのに適している記憶装置は、例えば、半導体メモリ素子(例えば、EPROM、EEPROM、フラッシュ・メモリ素子)、磁気ディスク(例えば、内部ハードディスクやリムーバブル・ディスク)、光磁気ディスク、および、CD−ROMを含む、あらゆる形式の不揮発性メモリを含む。
図5は、ページ割当てモジュール62とページ・レイアウト作成モジュール64とが協働して、1つまたは複数のページのそれぞれにグラフィック・オブジェクトの対応するレイアウトを作成するときに用いる方法の一実施形態を示している。
ページ割当てモジュール62は、1つまたは複数のページにグラフィック・オブジェクトを割り当てる(図5のブロック68)。
ページ割当てモジュール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に渡す。
ページ・レイアウト作成モジュール64は、グラフィック・オブジェクト割当てデータ72により、それぞれのページ上の対応するグラフィック・オブジェクトの最終レイアウト74または確定レイアウト74を出力する(図5のブロック76)。
ここで使用される「確定レイアウト(determinate layout)」と「最終レイアウト(final layout)」という語は、グラフィック・オブジェクトの位置および寸法が指定されているページ上のグラフィック・オブジェクトのレイアウトをさすように、同じ意味で使用される。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、グラフィック・オブジェクトのサイズを、グラフィック・オブジェクトに割り当てられた公称サイズに近づける最終レイアウトの作成を促進する採点、評価、または適格の機能に基づいて、ページの所与の1つに対して最終レイアウトを決定する。
このような採点、評価、または適格の機能は、以下で詳しく説明されるように、多種多様な異なるレイアウト作成の実施形態において利用されることがある。
いくつかの実施例では、ページ・レイアウト作成モジュール64は、特定のファイル形式(例えば、PDFまたはXML)で構成されている仕様書(specification)の形式で最終レイアウト74を出力する。
ページ・レイアウト作成モジュール64は、1つまたは複数のページ上のグラフィック・オブジェクト70の最終レイアウト74をユーザー・インターフェース・モジュール66に出力し、そこで、最終レイアウトをディスプレイ77上に表示(またはレンダリング)する(図5のブロック78)。
いくつかの実施例では、ユーザー・インターフェース・モジュール66により、ユーザーは、グラフィック・オブジェクト配置システム60で自動的に生成されたページをインタラクティブに閲覧することができる。
また、ユーザー・インターフェース・モジュール66により、ユーザーは、これらのページに編集を指定することもできる。
所与のページに指定されたどんな編集も、ユーザー・インターフェース・モジュール66により解釈される。
ユーザー・インターフェース・モジュール66は、解釈されたユーザー・コマンド命令をページ・レイアウト作成モジュール64に送る。
ページ・レイアウト作成モジュール64は、図5の方法の1つまたは複数の面を繰り返して、ユーザー・インターフェース・モジュール66から受け取られた編集により、1つまたは複数のページの修正最終レイアウト74を決定する。
ユーザー・インターフェース・モジュール66は、その修正最終レイアウト74をユーザーに表示する。
次に、ユーザーは、修正ページを閲覧するか、これらの1つまたは複数の修正ページに編集を指定するか、あるいは、システム60に命じて、これらのページの一部または全部をレンダリングすることがある。
(III.相対エリア・ベースの制御を用いてページ上にグラフィック・オブジェクトを配置する)
(A.前置き)
以下で詳しく説明されるように、ページ・レイアウト作成モジュール64は、それぞれのページ・レイアウトにおける1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みにより誘導または制御され得る。
このような特徴により、ユーザーは、1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する好みを入力することができ、そこで、このような相対的サイズの好みから、ページ・レイアウト作成モジュール64は、ユーザーの好みに応じて、特定のレイアウトにおいてグラフィック・オブジェクトの一部のものを1つ1つ目立たせる(例えば、さらに大きくする)か、あるいは目立たなくする(例えば、さらに小さくする)。
これにより、ユーザーは、グラフィック・オブジェクトの特定配置に留意してないときでも、ユーザーの美的好みを満たすような上記グラフィック・オブジェクトの特定レイアウトまでこのシステムを誘導することができる。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みを利用して、これらのグラフィック・オブジェクトの異なる1つ1つを特別に目立たせることで、ページ上のグラフィック・オブジェクトの可能な配置の広範分布にわたる代替レイアウトのサンプリングをもたらす。
このような特徴により、ユーザーは、最終レイアウトを選択してレンダリングする前に、多種多様な異なるページ・レイアウトをすばやく閲覧することができる。
図6を参照すると、ページ・レイアウト作成モジュール64は、ページ割当てモジュール62(図4を参照)により生成されたページ割当てデータ72とそれぞれのページを指定する対応するページ・レジスタとに基づいて、最終ページ・レイアウト74を作成する。
図示される実施形態では、それぞれのページは、ページ上に配置されるようにスケジュールされているグラフィック・オブジェクト(例えば、IMG_1、IMG_2、…、IMG_N)のリストと、そのリスト中のグラフィック・オブジェクトそれぞれへの対応する縦横比の値(例えば、a1、a2、…、aN)および対応する公称サイズの値(例えば、e1、e2、…、eN)の割当てとを含むページ・レジスタ80によって指定される。
上に説明されるように、画像ベースのグラフィック・オブジェクト(例えば、画像)の縦横比は、グラフィック・オブジェクトの幅に対するその高さの比率として定義される。
公称サイズの値(例えば、e1、e2、…、eN)は、ユーザーまたはグラフィック・オブジェクト配置システム64によりセットされることがある。
ページ上の一組のグラフィック・オブジェクトのどんな特定レイアウトの視覚的外観も、そのページに関してページ・レジスタで指定される縦横比の値と公称サイズの値との結び付きによって決定され、その場合、それらの縦横比の値と公称サイズの値との結び付きが異なれば、一般に、視覚的外観の異なるページ・レイアウトが作成されることになる。
(B.相対エリアの制御を用いてページ・レイアウトを作成する)
(1.概要)
図7は、それぞれのレイアウト(または配置)において1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みにより誘導または制御できるようにするやり方で、ページ・レイアウト作成モジュール64がページ上に一組のグラフィック・オブジェクトを配置する方法の一実施形態を示している。
図7の方法により、ページ・レイアウト作成モジュール64は、グラフィック・オブジェクトごとに、グラフィック・オブジェクトに割り当てられた対応する公称サイズに基づいて、ページ上のグラフィック・オブジェクトの対応する目標レンダリング・サイズを確かめる(図7のブロック82)。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、グラフィック・オブジェクトiごとの目標レンダリング・サイズ(t)を、グラフィック・オブジェクトを配置するために割り振られたページの総面積(AALLOCATED)の一部分(fraction)にセットする。
その場合、この割合は、このページ上に配置されるグラフィック・オブジェクトの全部(N)に割り当てられたそれぞれの公称サイズの合計に対する対応する公称サイズ(e)の比率に等しい。
すなわち、次式となる。
Figure 0004929397
ページ・レイアウト作成モジュール64は、ページ上のグラフィック・オブジェクト1つ1つのそれぞれ異なる候補レイアウトを構築する(図7のブロック84)。
このプロセスにおいて、ページ・レイアウト作成モジュール64は、候補レイアウトごとに、ページ上のグラフィック・オブジェクトのそれぞれの実際のレンダリング・サイズを計算する。
以下で詳しく説明されるように、これらの異なる候補レイアウトは、木構造ベースのページ区分手法と、遺伝的(genetic)アルゴリズム・ベースのグラフィック・オブジェクト配置手法を含む(ただし、それらには限定されない)、多種多様な異なるやり方で構築されることがある。
ページ・レイアウト作成モジュール64は、実際のレンダリング・サイズの1つ1つを、目標レンダリング・サイズの対応する1つ1つと比較することに少なくとも一部、基づいて、ページ上のグラフィック・オブジェクトの最終レイアウトを決定する(図7のブロック86)。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、グラフィック・オブジェクトのサイズをグラフィック・オブジェクトに割り当てられた公称サイズに近づける最終レイアウトの作成を促進する採点、評価、または適格の機能に基づいて、所与のページに対して最終レイアウトを決定する。
このような採点、評価、または適格の機能は、以下で詳しく説明されるように、多種多様な異なるレイアウト作成システムに組み込まれることがある。
グラフィック・オブジェクトの最終レイアウトが決定された(図7のブロック86)後で、ページ・レイアウト作成モジュール64は、グラフィック・オブジェクトの最終レイアウトを出力する(図7のブロック88)。
ページ・レイアウト作成モジュール64は、最終ページ・レイアウトを記述するデータ構造(例えば、テーブルまたはリスト)を含む仕様書の形式で最終レイアウトを出力することがある。
いくつかの実施形態では、この仕様書は、XML(eXtensible Markup Language)ファイル形式で機械可読媒体に保存される。
仕様書を確実に収めるのに適している記憶装置は、例えば、半導体メモリ素子(例えば、EPROM、EEPROM、フラッシュ・メモリ素子)、磁気ディスク(例えば、内部ハードディスクやリムーバブル・ディスク)、光磁気ディスク、および、CD−ROMを含む(ただし、それらには限定されない)、あらゆる形式の不揮発性コンピュータ読取り可能媒体と揮発性コンピュータ読取り可能媒体とを含む。
最終レイアウト仕様書は、ディスプレイまたは印刷媒体(例えば、紙)上で最終レイアウトをレンダリングするために、ユーザー・インターフェース・モジュール66または印刷モジュールで使用されることがある。
(2.相対エリア制御用に構成された典型的なタイプのページ・レイアウト作成モジュール)
一般に、ページ・レイアウト作成モジュール64は、多種多様な異なるやり方で所与のページ上のグラフィック・オブジェクトの最終レイアウトを決定することがある。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、それぞれのページの木構造ベースの区分を用いて、所与のページに対して最終レイアウトを決定する。
このプロセスにおいて、ページ・レイアウト作成モジュール64は、一連の逐次レイアウトを繰り返し構築する。これらのレイアウトはそれぞれ、この一連の逐次レイアウト中の直前のレイアウトに追加されるグラフィック・オブジェクトの追加の1つを含む。
このような繰返しごとに、ページ・レイアウト作成モジュール64は、それぞれのスコアに基づいて、これらの逐次レイアウトの現在の1つを、その直前の逐次レイアウトから構築する。
これらのスコアは、実際のレンダリング・サイズの1つ1つを、目標レンダリング・サイズの対応する1つ1つと比較することから、計算される。また、これらのスコアは、直前の逐次レイアウトにおける追加グラフィック・オブジェクトのそれぞれ異なる相対的位置で定められた現在候補レイアウトに対して、算出される。
木構造ベースのページ区分の実施形態の構造および動作に関するさらなる詳細は、下記のセクションIVに記載される。
他の実施形態では、ページ・レイアウト作成モジュール64は、遺伝的アルゴリズムにより、所与のページ上に配置されるグラフィック・オブジェクトの位置、縮尺、回転の向きを定める対応する遺伝的構造を進化させ、かつ、いくつかの好みおよびページ要件とともに、上述の採点、評価、または適格の機能に基づいて、その結果得られるレイアウトから最終レイアウトを選択することで、所与のページに対して最終レイアウトを決定する。
遺伝的進化ベースのグラフィック・オブジェクト配置の実施形態の構造および動作に関するさらなる詳細は、例えば、米国特許第6,636,648号と米国特許出願公報第2002/0122067号に記載される。
他の実施形態では、ページ・レイアウト作成モジュール64は、それぞれの画像が同一ページ上に位置づけられる他の画像に力を加えると仮定する力モデルに基づいて、ページ上に画像を位置づけることで、所与のページに対して最終レイアウトを決定する。
この力は、画像を隔てる距離の関数である。
それぞれの画像は、その画像に作用する正味力の方向に、その正味力の関数である距離だけ移動する。
力モデル・ベースのグラフィック・オブジェクト配置の実施形態の構造および動作に関するさらなる詳細は、例えば、米国特許第6,636,650号に記載される。
使用されるグラフィック配置モデルのタイプに関係なく、ページ・レイアウト作成モジュール64のそれぞれの実施形態は、グラフィック・オブジェクトのサイズをグラフィック・オブジェクトに割り当てられた公称サイズに近づける最終レイアウトの作成を促進する採点、評価、または適格の機能に基づいて、所与の組のグラフィック・オブジェクトに対して最終ページ・レイアウトを決定する。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、候補レイアウトにおけるグラフィック・オブジェクトの実際のレンダリング・サイズが対応する目標レンダリング・サイズと一致する度合いに基づいて、候補レイアウトごとに、対応するレイアウト・スコアを計算する。
採点の機能は一般に、所与のレイアウトにおけるグラフィック・オブジェクトの実際のサイズがこれらのグラフィック・オブジェクトに割り当てられた公称サイズにどれくらい近いかの指標となる測度(metric)を、取り入れている。
これらの実施形態の一部では、ページ・レイアウト作成モジュール64は、対応する目標レンダリング・サイズに対する実際のレンダリング・サイズの比率に基づいて、候補レイアウトごとに、これらのグラフィック・オブジェクトのそれぞれに対して、対応するグラフィック・オブジェクト・スコアを計算する。
ページ・レイアウト作成モジュール64は、候補レイアウトごとに、それぞれのグラフィック・オブジェクト・スコアから、対応するレイアウト・スコアを計算する。
典型的な一実施形態では、レイアウト・スコア(layout_score)は、以下の擬似コードにより、所与の候補ページ・レイアウトに対して計算される。
layout_score=SINITIAL;
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
この典型的な実施形態では、パラメータSINITIALは、初期レイアウト・スコアであり、一般に、0.0にセットされる。
パラメータMINITIALは、group-multiplier変数の初期値であり、これは一般に1.0にセットされる。
変数「actual_area」は、所与の候補ページ・レイアウトにおけるグラフィック・オブジェクトの実際のレンダリング・サイズに対応する。
また、変数「target_area」は、図7のブロック82において確かめられるグラフィック・オブジェクトの目標レンダリング・サイズに対応する。
パラメータσは、[0,1]の範囲内の値を持つ第1の比率しきい値(ratio threshold)であって、この比率しきい値は、グラフィック・オブジェクトのそれぞれの実際のエリアがそれらの目標エリアに対して小さいと見なされるためにスコアを減点しなければならないグラフィック・オブジェクトを、特定するものである。
パラメータσは、[0,1]の範囲内でσよりも小さい値を持つ第2の比率しきい値であって、この比率しきい値は、グラフィック・オブジェクトのそれぞれの実際のエリアがそれらの目標エリアに対して過度に小さいと見なされるためにスコアをさらに減点しなければならないグラフィック・オブジェクトを、特定するものである。
典型的な一実施例では、σ=0.9であり、またσ=0.5である。
パラメータδは、総合レイアウト・スコアを減点しなければならないほどスコアが低いと見なされるグラフィック・オブジェクトを特定するグラフィック・オブジェクト・スコアしきい値であって、これは、「group_multiplier」変数の値を、ペナルティー係数パラメータθPENALTYでセットされた大きさだけ下げることで得られる。
典型的な一実施例では、δ=0.25であり、またθPENALTY=0.8である。
これらの実施形態では、ページ・レイアウト作成モジュール64は一般に、ユーザー・インターフェース・モジュール66に出力されてユーザーに表示する最終レイアウトとして、最高レイアウト・スコアを持つレイアウトを選択する。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、最高採点レイアウトの複数のもの1つ1つに対して仕様書を保存する。
ユーザーの要求に応じて、これらのレイアウト仕様書の1つまたは複数をユーザー・インターフェース・モジュール66に出力して、1つまたは複数の代替レイアウトを閲覧することもある。
(C.相対エリアの制御を用いて代替レイアウトを作成する)
(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を含む。
ユーザー・インターフェース90は、グラフィック・オブジェクト100のうち、1つまたは複数の点で現在のレイアウト98とは異なる指定された数の代替レイアウトをシステム60に作成させる要求を出すオプションをユーザーに提供する。
代替レイアウトの数は、ユーザーにより指定されることがある。別法として、代替レイアウトの数はデフォルトの数であることもある。
ユーザーは、システム60に代替レイアウトを作成させる要求において、1つまたは複数のグラフィック・オブジェクト100の相対的サイズに対する好みを入力することがある。
このような相対的サイズの好みは、特定のレイアウトにおいてグラフィック・オブジェクトの一部のものを1つ1つ目立たせる(例えば、さらに大きくする)か、あるいは目立たなくする(例えば、さらに小さくする)点で、レイアウト作成プロセスを誘導する。
ページ・レイアウト作成モジュール64は、以下で述べられるランダム化されたやり方で、または、以下で述べられるあらかじめ定められた方法により、あるいは、ユーザーの好みにより(ユーザーの好みが、この要求で指定される場合)、指定された数の代替レイアウトのページに等しい数のページ・レジスタを生成する。
以下で詳しく説明されるように、それぞれのページ・レジスタが、グラフィック・オブジェクトへのそれぞれの公称サイズの一意の割当てを含むように(例えば、図6を参照)、ページ・レイアウト作成モジュール64は、ページ・レジスタを生成する。
図9は、メイン・ウィンドウ115とサイド・ウィンドウ118を含むユーザー・インターフェース113を示している。
メイン・ウィンドウ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」)が選択された。
(2.代替グラフィック・オブジェクト・レイアウトを作成する)
(a.概要)
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、以下の処理ステップにより、所与の組のグラフィック・オブジェクトの代替レイアウトを作成する。
1.グラフィック・オブジェクトの縦横比とグラフィック・オブジェクトに割り当てられた公称サイズとの一意の結び付きをそれぞれが含む一組のページ・レジスタを生成する。
2.それぞれのページ・レジスタに対して候補レイアウトを作成する。
3.1つまたは複数のやり方で、異なるものと判定される候補レイアウトの1つ1つを選択する。
ステップ1において生成されるページ・レジスタは一般に、それぞれ異なる候補ページ・レイアウトを作成させる。なぜなら、これらの代替ページ・レジスタが、グラフィック・オブジェクトの縦横比とグラフィック・オブジェクトの公称サイズとの一意の結び付きを含むからである。
システム60のいくつかの実施形態により、ユーザーは、この組の代替候補レイアウトにおいて、グラフィック・オブジェクトの1つまたは複数が目立たせられる(例えば、さらに大きくなる)べきか、あるいは目立たなくされられる(例えば、さらに小さくなる)べきという条件をつけることができる。
これらの実施形態では、上述の作業の流れは同一である。しかしながら、ユーザーで指定される好みにより、候補レイアウトごとに、これらの選択グラフィック・オブジェクトは、目立たせられるか、あるいは、目立たなくさせられる。
これらの実施形態により、ページ・レイアウト作成モジュール64は、以下の処理ステップにより、所与の組のグラフィック・オブジェクトの代替レイアウトを作成する。
1.グラフィック・オブジェクトの縦横比とグラフィック・オブジェクトに割り当てられた公称サイズとの一意の結び付きをそれぞれが含み、また、ユーザーの好みにより、グラフィック・オブジェクトの選択されたものを1つ1つ目立たせるか、あるいは、目立たなくする一組のページ・レジスタを生成する。
2.それぞれのページ・レジスタに対して候補レイアウトを作成する。
3.1つまたは複数のやり方で、異なるものと判定され、また、ユーザーの好みにより、グラフィック・オブジェクトの選択されたものを1つ1つ目立たせるか、あるいは、目立たなくする候補レイアウトの1つ1つを選択する。
図11は、ページ上にグラフィック・オブジェクトの1つまたは複数の代替配置を作成する方法の一実施形態を示している。
図11の方法により、ページ・レイアウト作成モジュール64は、グラフィック・オブジェクトへの対応する公称サイズの2つ以上の候補割当てを決定する(図11のブロック110)。
以下で詳しく説明されるように、これらの候補割当てはそれぞれ互いに異なっている。
ページ・レイアウト作成モジュール64は、1つまたは複数の候補割当てのそれぞれに基づいて、ページ上のグラフィック・オブジェクトの1つまたは複数の候補レイアウトから成る対応する組を構築する(図11のブロック112)。
上で説明されるように、これらの異なる候補レイアウトは、木構造ベースのページ区分手法と、遺伝的アルゴリズム・ベースのグラフィック・オブジェクト配置手法を含む(ただし、それらには限定されない)、多種多様な異なるやり方で構築されることがある。
ページ・レイアウト作成モジュール64は、これらの候補レイアウトの1つまたは複数を出力する(図11のブロック114)。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、そのレイアウトが他のレイアウトとは異なるものと判定される候補レイアウトを、1つ1つ出力する。
(b.異なる候補割当てを決定する)
これらのグラフィック・オブジェクトへのそれぞれの公称サイズの1つまたは複数の候補割当てを、ページ・レイアウト作成モジュール64が決定できる異なる方法が多数ある(図11のブロック110)。
このセクションに述べられる実施形態は、ページ・レイアウト作成モジュール64で異なる候補レイアウトを作成させそうな候補割当てを含む一組のページ・レジスタを生成することを目的としている。
図12は、ページ上にレイアウトされるグラフィック・オブジェクトへのそれぞれの公称サイズの候補割当てを作成する方法の一実施形態を示している。
この方法により、ページ・レイアウト作成モジュール64は、これらのグラフィック・オブジェクトのそれぞれを、一組の所定のグラフィック・オブジェクト型クラスから選択された対応するクラスに分類する(図12のブロック130)。
ページ・レイアウト作成モジュール64は、一連のグラフィック・オブジェクトを、これらのグラフィック・オブジェクトにそれぞれ割り当てられたクラスに基づいて生成する(図12のブロック132)。
いくつかの実施形態では、この一連のグラフィック・オブジェクトは、異なる候補レイアウトにおいて、これらのグラフィック・オブジェクトの異なるものを1つ1つ特徴づける(または、目立たせる)ように設計される。
ページ・レイアウト作成モジュール64は、この一連のグラフィック・オブジェクトから、1つまたは複数の候補割当てを作成する(図12のブロック134)。
一般に、この組の所定のグラフィック・オブジェクト型クラスは、多種多様の異なるグラフィック・オブジェクト型クラスを含むことがある(図12のブロック130を参照)。
図13A〜図16B、図19A、図19Bに示される実施形態では、これらのグラフィック・オブジェクトは、ポートレート・クラス(P)、ランドスケープ・クラス(L)、正方形クラス(S)、ワイド・ランドスケープ・クラス(W)、ナロー・ポートレート・クラス(N)から選択された対応するクラスに分類される。
この種の分類は、写真などの画像ベースのグラフィック・オブジェクトを分類するのに特に適している。
これらのクラスはそれぞれ、クラス中のグラフィック・オブジェクトの縦横比(すなわち、高さ/幅)により定められる。
この種の典型的な一実施形態では、ポートレート・クラス(P)は、約4:3の縦横比を持つ画像を含み、ランドスケープ・クラス(L)は、約3:4の縦横比を持つ画像を含み、正方形クラス(S)は、約1:1の縦横比を持つ画像を含み、ワイド・ランドスケープ・クラス(W)は、3:4よりも小さい縦横比を持つ画像を含み、さらに、ナロー・ポートレート・クラス(N)は、4:3よりも大きい縦横比を持つ画像を含む。
図13Aは、グラフィック・オブジェクト型クラスに対応する最初の文字と、それに続く順序番号(sequence number)に対応する数字とでそれぞれが標記されている典型的な一連の9つのグラフィック・オブジェクト136(すなわち、P1、L2、P3、P4、L5、S6、W7、L8、N9)を示している。
図13Bは、この組の所定のオブジェクト型クラス(W、L、S、P、N)のそれぞれへのグラフィック・オブジェクト136の分布138を示している。
一般に、ページ・レイアウト作成モジュール64は、多くの異なるやり方で、一連のグラフィック・オブジェクトを、これらのグラフィック・オブジェクトにそれぞれ割り当てられたクラスに基づいて生成することがある(図12のブロック132)。
いくつかの実施形態では、ページ・レイアウト作成モジュール64は、これらのグラフィック・オブジェクトのそれぞれ直前のものを1つ1つ選択したグラフィック・オブジェクト型クラスとは異なるグラフィック・オブジェクト型クラスの1つ1つから、一連のグラフィック・オブジェクトとして、これらのグラフィック・オブジェクトの連続する1つ1つを選択する。
例えば、図13Cは、このような一連のグラフィック・オブジェクトを生成する典型的な一方法を示している。
この方法では、ページ・レイアウト作成モジュール64は、図13Cに示される順序づけられた一連のスキャンラインに従って左から右へ、分布138をスキャンする。
ページ・レイアウト作成モジュール64は、スキャンラインの順番にグラフィック・オブジェクト136を順序づける。
その結果得られるグラフィック・オブジェクト136の一連のもの(140)が図13Dに示されている。
ページ・レイアウト作成モジュール64は、多種多様な異なるやり方で、一連のグラフィック・オブジェクト140から、1つまたは複数の候補割当てを作成することがある(図12のブロック134を参照)。
いくつかの実施形態では、このページ上にレイアウトされるグラフィック・オブジェクトの組で、それぞれのグラフィック・オブジェクト型クラスが表現される場合に、ページ・レイアウト作成モジュール64は、そのオブジェクト型クラスの1つの画像が特徴づけられる1つの対応する候補割当てを作成する。
これらの実施形態の一部では、これらのグラフィック・オブジェクト型クラスの表現されたものそれぞれがこれらのグラフィック・オブジェクトの少なくとも1つを含む場合に、ページ・レイアウト作成モジュール64は、表現された対応するグラフィック・オブジェクト型クラスのグラフィック・オブジェクトの対応する1つに、これらの公称サイズの最大の1つが割り当てられる候補割当ての対応する1つを作成する。
このタイプの典型的な一実施形態では、ページ・レイアウト作成モジュール64は、以下の擬似コードにより、それぞれの候補割当てを含むページ・レジスタを生成する(「候補割当て作成プロセスA」)。
I.候補割当て作成プロセスA
マーカ=0にセット(Set)する
(i=0; i<C; i++)の場合(for){
あらゆるグラフィック・オブジェクトで、新たな「現在」ページ・レジスタをスタートする
一連のグラフィック・オブジェクト中で「マーカ」位置のグラフィック・オブジェクトを選択する
マーカ=マーカ+1
この選択グラフィック・オブジェクトを、ページ上で「特徴づけられる」と称する
他のすべてのグラフィック・オブジェクトを、「特徴づけられない」と称する
これらの名称を現在ページ・レジスタに保存する
この現在ページ・レジスタを、代替ページ・レジスタのリストに登録する
}
このプロセスにおいて、変数Cは、このページ上にレイアウトされるグラフィック・オブジェクトの組で表現されるグラフィック・オブジェクト型クラスの数である。
図14Aと図14Bは、それぞれ、順序づけられた一連のグラフィック・オブジェクト140中のグラフィック・オブジェクトへの公称サイズ(146、148)の対応する割当てを含む典型的なページ・レジスタ(142、144)を示している。
ページ・レジスタ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という対応する公称サイズが割り当てられている。
このページ上にレイアウトされるグラフィック・オブジェクトの組で表現されるグラフィック・オブジェクト型クラスの数(C)が、呼出しモジュール(例えば、ユーザー・インターフェース90)で要求された代替レイアウトの数よりも多いか、あるいは等しい場合には、ページ・レイアウト作成モジュール64は、候補割当て作成プロセスAにより生成された代替ページ・レジスタから候補レイアウトを作成して、その要求された数の候補レイアウトを出力する。
このページ上にレイアウトされるグラフィック・オブジェクトの組で表現されるグラフィック・オブジェクト型クラスの数(C)が、呼出しモジュール(例えば、ユーザー・インターフェース90)で要求された代替レイアウトの数よりも少ない場合には、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)の数である。
II.候補割当て作成プロセスB
(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)
この選択グラフィック・オブジェクトを、ページ上で「特徴づけられる」と称する
他のすべてのグラフィック・オブジェクトを、「特徴づけられない」と称する
これらの名称を現在ページ・レジスタに保存する
この現在ページ・レジスタを、代替ページ・レジスタのリストに追加する
}
}
図15Aと図15Bはそれぞれ、プロセスAが完了した直後に、条件(NADDITIONAL>N−2)が真であった(すなわち、プロセスBの第1のforループに進むよう制御を強制する)と仮定して、順序づけられた一連のグラフィック・オブジェクト140中のグラフィック・オブジェクトへの公称サイズ(156、158)の対応する割当てを含む典型的なページ・レジスタ(152、154)を示している。
ページ・レジスタ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という対応する公称サイズが割り当てられている。
図16Aと図16Bはそれぞれ、プロセスAが完了した直後に、条件(NADDITIONAL>N−2)が偽であった(すなわち、プロセスBの第2のforループに進むよう制御を強制する)と仮定して、順序づけられた一連のグラフィック・オブジェクト140中のグラフィック・オブジェクトへの公称サイズ(166、168)の対応する割当てを含む典型的なページ・レジスタ(162、164)を示している。
ページ・レジスタ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という対応する公称サイズが割り当てられている。
いくつかの実施形態では、その要求された数の代替候補ページ・レイアウトを満たすために、追加の代替候補割当てを必要とする場合には、ページ・レイアウト作成モジュール64は、代替候補割当てをランダムに作成する。
例えば、いくつかの実施形態では、これらの候補割当ての対応する1つ1つに対して、ページ・レイアウト作成モジュール64は、1つまたは複数の公称サイズから成る第1の組から選択された対応する公称サイズを、このページ上にレイアウトされるグラフィック・オブジェクトのランダムな数のランダム選択物に割り当てる。
また、ページ・レイアウト作成モジュール64は、1つまたは複数の公称サイズから成る第2の組から選択された対応する公称サイズを、これらのグラフィック・オブジェクトの他の1つ1つに割り当てる。
これらの実施形態の一部では、この第2の組の公称サイズのそれぞれは、この第1の組の公称サイズの最小のものよりも小さい。
図17は、この種の典型的な一実施形態を示している。
図17の候補割当て作成方法により、このページ上にレイアウトされる現在のランダムな一連のグラフィック・オブジェクトが生成される(図17のブロック170)。
対応する候補レイアウトにおいて特徴づける上記現在のランダムな一連のグラフィック・オブジェクト中の現在のランダムな数(R)のグラフィック・オブジェクトから成る現在の一組が決定される(図17のブロック172)。
いくつかの実施形態では、この現在の一組のグラフィック・オブジェクトとして、上記現在のランダムな一連のグラフィック・オブジェクト中の最初のR個のグラフィック・オブジェクトが選択される。
1つまたは複数の公称サイズから成る第1の組から選択された対応する公称サイズが、上記現在のランダムな一連のグラフィック・オブジェクト中の上記現在の一組のグラフィック・オブジェクトに割り当てられる(図17のブロック174)。
1つまたは複数の公称サイズから成る第2の組から選択された対応する公称サイズが、上記現在のランダムな一連のグラフィック・オブジェクト中の他のグラフィック・オブジェクトに割り当てられる。そこでは、この第2の組の公称サイズのそれぞれは、この第1の組の公称サイズの最小のものよりも小さい(図17のブロック176)。
現在の割当てが、前に作成されたすべての候補割当てと比較される(図17のブロック178)。
現在の割当てが、前に作成されたすべての候補割当てとは異なる場合(図17のブロック180)には、現在の割当てが、代替候補割当てのリストに追加される(図17のブロック182)。
そうでなく、現在の割当てが、前に作成されたすべての候補割当てのどれにも類似する(すなわち、大して違わない)場合には、現在の割当てが廃棄される(図17のブロック184)。
図17のプロセスは、代替候補割当てのリストが所望の長さを持つまで、あるいは、最高回数の試行が行われるまで、繰り返されることがある。
図18は、グラフィック・オブジェクトへのそれぞれの公称サイズの割当てを比較する(図17のブロック178を参照)方法の一実施形態の流れ図である。
この方法により、これらのグラフィック・オブジェクトが、それぞれ、一組の所定のグラフィック・オブジェクト型クラスから選択された対応するクラスに分類される(図18のブロック186)。
現在の割当てと、前に作成された候補割当てのそれぞれに対して、ページ・レイアウト作成モジュール64は、これらのグラフィック・オブジェクトに割当てられた公称サイズを、これらのグラフィック・オブジェクト型クラスのそれぞれに分布させる(図18のブロック188)。
図19Aは、図13Bに示されるグラフィック・オブジェクト176に割り当てられた典型的な一組の公称サイズを、上記組の所定のオブジェクト型クラスのそれぞれに分布させたもの192を示している。
現在割当て用の分布を、前に作成された候補割当て用にもたらされた分布と比較する(図18のブロック190)。
図19Bは、図19Aに示されるグラフィック・オブジェクトに割り当てられた公称サイズの分布194を示しており、そこでは、それぞれのオブジェクト型クラス中の公称サイズが、大きさの順に分類されている。
割当てを比較する基礎として、分布194が使用されることがある。
例えば、2つの割当てが、図19Bに示されるタイプのものと同一の分布を持つ場合には、これらの割当ては、同一のものと見なされる。そうでなければ、これらの割当ては、異なるものと見なされる。
図18に示される比較プロセスも使用して、図12のブロック134から出力される候補割当てが一意であることを保証することがある。
(IV.典型的なページ・レイアウト生成実施形態)
(A.前置き)
このセクションに述べられる実施形態では、ページ・レイアウト作成モジュール64は、それぞれのページの木構造ベースの区分を用いて、所与のページに対して最終レイアウトを決定する。
このプロセスにおいて、ページ・レイアウト作成モジュール64は、一連の逐次レイアウトを繰り返し構築する。これらのレイアウトはそれぞれ、この一連の逐次レイアウト中の直前のレイアウトに追加されるグラフィック・オブジェクトの1つを含む。
このような繰返しごとに、ページ・レイアウト作成モジュール64は、それぞれのスコアに基づいて、これらの逐次レイアウトの現在の1つを、その直前の逐次レイアウトから構築する。
これらのスコアは、実際のレンダリング・サイズの1つ1つを、目標レンダリング・サイズの対応する1つ1つと比較することから、計算される。また、これらのスコアは、直前の逐次レイアウトにおける追加グラフィック・オブジェクトのそれぞれ異なる相対的位置で定められる現在候補レイアウトに対して、算出される。
図20は、初期レイアウト作成モジュール264、レイアウト評価モジュール266、最終レイアウト作成モジュール270を含むページ・レイアウト作成モジュール64の一実施形態を示している。
一般に、ページ・レイアウト作成モジュール64のモジュール(264〜270)は、特定のハードウェア構成やソフトウェア構成にはまったく限定されず、もっと適切に言えば、それらのモジュールは、デジタル電子回路、あるいは、コンピュータのハードウェア、ファームウェア、デバイス・ドライバ、またはソフトウェアを含む、任意のコンピューティング環境または処理環境に導入されることがある。
例えば、いくつかの実施例では、これらのモジュールは、デスクトップ・コンピュータやワークステーション・コンピュータ、デジタル静止画カメラ、デジタル・ビデオカメラ、プリンタ、スキャナ、および携帯用電子装置(例えば、携帯電話、ラップトップ・コンピュータやノートブック・コンピュータ、携帯情報端末)を含む、多種多様なデジタル式およびアナログ式の電子装置のどれか1つの装置のハードウェアに組み込まれうる。
いくつかの実施例では、モジュール(264〜270)を実行するコンピュータ処理命令と、モジュール(264〜270)により生成されるデータは、1つまたは複数の機械可読媒体に保存される。
これらの命令やデータを確実に収めるのに適している記憶装置は、例えば、半導体メモリ素子(例えば、EPROM、EEPROM、フラッシュ・メモリ素子)、磁気ディスク(例えば、内部ハードディスクやリムーバブル・ディスク)、光磁気ディスク、および、CD−ROMを含め、あらゆる形式の不揮発性メモリを含む。
図21は、初期レイアウト作成モジュール264、レイアウト評価モジュール266、および最終レイアウト作成モジュール270が、協働して、1つまたは複数のページ上にグラフィック・オブジェクトのレイアウトを作成するときに用いる方法の一実施形態を示している。
初期レイアウト作成モジュール264は、グラフィック・オブジェクト割当てデータ78に基づいて、それぞれのページ上に、グラフィック・オブジェクト70の初期配置280(または、初期相対レイアウト)を作成する(図21のブロック282)。
ここで使用される「相対レイアウト(relative layout)」という語は、これらのグラフィック・オブジェクトの相対的位置が指定されるが、ただし、これらのグラフィック・オブジェクトの絶対的位置が指定されないページ上のグラフィック・オブジェクトのレイアウトをさす。
いくつかの実施例では、初期レイアウト作成モジュール264は、グラフィック・オブジェクトに対応する葉ノードと、対応するページの境界線(division)に対応する内部ノードとを有する2分木を表す対応するデータ構造268に、それぞれの相対ページ・レイアウトの仕様書を保存している。
初期レイアウト作成モジュール264は、ページ上のグラフィック・オブジェクト70の初期配置280を、最終レイアウト作成モジュール270に渡す。
最終レイアウト作成モジュール270は、初期レイアウト作成モジュール264より受け取った初期配置から、ページ上にグラフィック・オブジェクトの最終配置を作成する(図21のブロック288)。
このプロセスにおいて、最終レイアウト作成モジュール270は、1つまたは複数のページ上のグラフィック・オブジェクトの対応する確定レイアウト290を決定する。
ここで使用される「確定レイアウト(determinate layout)」または「最終レイアウト(final layout)」という語は、グラフィック・オブジェクトの位置および寸法が指定されているページ上のグラフィック・オブジェクトのレイアウトをさす。
最終レイアウト作成モジュール270は、1つまたは複数のページ上のグラフィック・オブジェクトの最終確定レイアウト290を、ユーザー・インターフェース・モジュール66に出力する。
1つまたは複数のページ上にグラフィック・オブジェクトの初期配置280および最終配置290を作成するプロセスにおいて(図21のブロック282、ブロック288)、初期レイアウト作成モジュール264と最終レイアウト作成モジュール270は、1つまたは複数のページ上にグラフィック・オブジェクト70の様々な候補配置と一組の最終配置を作成する。
初期レイアウト作成モジュール264と最終レイアウト作成モジュール270は、これらの配置の仕様書をレイアウト評価モジュール266に渡し、そこで、レイアウト実現可能性を決定し、ページ上のグラフィック・オブジェクトに対して様々なレイアウト寸法を算出し、さらに、候補配置に対してスコアを算出する。
以下で詳しく説明されるように、実現可能性テスト結果、寸法、スコアは、初期レイアウト作成モジュール264と最終レイアウト作成モジュール270で使用されて、作成された様々な候補配置から、グラフィック・オブジェクトの初期配置80と最終配置290とを選択する。
(B.木構造)
図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)の一意の相対的位置を指定する。
(C.候補レイアウト評価)
候補レイアウト評価は、候補レイアウトが実現可能であるかどうか判定するステップと、これらのグラフィック・オブジェクトに対して寸法を算出するステップと、レイアウト・スコアを算出するステップのうち1つまたは複数のステップを含むことがある。
レイアウト評価モジュール266は、いくつかの異なる評価方法を自由に処理できる。
どの方法が選択されるかは、レイアウトの評価の要求を出すモジュールの要件や、所望のレイアウト・スタイルによって決まることもある。
方法実行時間、計算機資源、メモリ制約などの他の要因も、レイアウト評価法の選択に影響を及ぼすこともある。
レイアウト評価法を選択するプロセスが、図23Aと図23Bに示されている。
図23Aを参照すると、ブリック・レイアウト・スタイルが要望される(ブロック271)場合に、ページ上にレイアウトされるグラフィック・オブジェクトの組の中に固定エリアのグラフィック・オブジェクトが少なくとも1つあるかどうか判定が行われる(ブロック273)。
図示される実施形態では、ブリック・スタイルのレイアウトは、すべてのグラフィック・オブジェクトが可変エリアのものである場合にのみ、実現可能であると見なされる。
それゆえ、このレイアウトにおいて、固定エリアのグラフィック・オブジェクトが少なくとも1つある(ブロック273)場合には、レイアウト評価プロセスの実行が終了する(ブロック275)。
すべてのグラフィック・オブジェクトが、可変エリア・タイプのものであると仮定すると、隣り合ったグラフィック・オブジェクト間の間隔に明示的な制約を受けるグラフィック・オブジェクト・エリアの算出が、呼出しモジュールで必要とされるかどうか第2の判定が行われる(ブロック277)。
その応答が肯定的である場合には、以下で詳しく説明されるように、その候補木が実現可能なレイアウトを表現するかどうかについて、最初にチェックが行われる(ブロック279)。
このレイアウトが実現不可能である場合(ブロック279)には、呼出しモジュールにそのことを知らせて、この候補レイアウトを廃棄する(ブロック281)。
このレイアウトが実現可能である場合(ブロック279)には、呼出しモジュールにそのことを知らせて(必要である場合)、以下で詳しく説明される線形システム・ベースのエリア決定評価法を使用して、そのレイアウトを評価する(ブロック283)。
呼出しモジュールが、グラフィック・オブジェクト間の間隔に関連する制約への固守(adherence)を必要としない場合(ブロック277)には、2つの処理手順のいずれかが、レイアウト評価モジュール266により実行される。
第1の処理手順では、レイアウト評価モジュール266は、候補レイアウトが実現可能であることを確認して、線形システム・ベースのエリア決定評価プロセスを使用する(ブロック285)。
第2の処理手順では、レイアウト評価モジュール66は、レイアウト実現可能性をテストしないで、バウンディング・ボックス・ベースのエリア決定評価プロセスを使用する(ブロック287)。
代表的な実施例では、第2の処理手順(ブロック287)は、第1の処理手順(ブロック285)よりも速い。
いくつかの実施形態では、以下のルールを使用して、レイアウトの評価に、第1の処理手順と第2の処理手順のどちらを使用すべきか選択する。
すなわち、呼出しモジュールが初期レイアウト作成モジュール64である場合には、第2の処理手順(ブロック287)を使用する。
また、呼出しモジュールが最終レイアウト作成モジュール270である場合には、第1の処理手順(ブロック285)を使用する。
図23Bを参照すると、ストリクト(strict)・エリア・レイアウト・スタイルが要望される場合(ブロック289)に、候補レイアウトに固定エリアのグラフィック・オブジェクトが少なくとも1つあること、あるいは、隣り合ったグラフィック・オブジェクト間の間隔に明示的な制約を受けるグラフィック・オブジェクト・エリアの算出が、呼出しモジュールで必要とされることが、真であるかどうか判定が行われる(ブロック291)。
候補レイアウトに固定エリアのグラフィック・オブジェクトが少なくとも1つあるか、あるいは、隣り合ったグラフィック・オブジェクト間の間隔に明示的な制約を受けるグラフィック・オブジェクト・エリアの算出が呼出しモジュールで必要とされる(ブロック291)場合には、その候補木が、以下で詳しく説明される実現可能なレイアウトを表現するかどうかについて、最初にチェックが行われる(ブロック293)。
このレイアウトが実現不可能である場合には、そのことを呼出しモジュールに知らせる。
このレイアウトが実現可能である場合には、そのことを呼出しモジュールに知らせて(必要である場合)、以下で詳しく説明されるパス・ベースのエリア決定評価プロセスを使用して、そのレイアウトを評価する(ブロック295)。
候補レイアウトに固定エリアのオブジェクトがまったくなく、かつ、隣り合ったグラフィック・オブジェクト間の間隔に明示的な制約を受けるグラフィック・オブジェクト・エリアの算出が、呼出しモジュールでは必要とされない場合(ブロック291)には、2つの利用可能な処理手順のいずれかに従うことができる。
第1の処理手順では、レイアウト評価モジュール66は、候補レイアウトが実現可能であることを確認して、パス・ベースのエリア決定評価プロセスを使用する(ブロック297)。
第2の処理手順では、レイアウト評価モジュール66は、レイアウト実現可能性をテストしないで、バウンディング・ボックス・ベースのエリア決定評価プロセスを使用する(ブロック299)。
代表的な実施例では、第2の処理手順(ブロック299)は、第1の処理手順(ブロック297)よりも速い。
いくつかの実施形態では、以下のルールを使用して、レイアウトの評価に、第1の処理手順と第2の処理手順のどちらを使用すべきか選択する。
すなわち、呼出しモジュールが初期レイアウト作成モジュール264である場合には、第2の処理手順(ブロック299)を使用する。
また、呼出しモジュールが最終レイアウト作成モジュール270である場合には、第1の処理手順(ブロック297)を使用する。
(1.候補木構造の実現可能性)
(a.概要)
いくつかの実施形態では、レイアウト評価モジュール66は、現在の候補木構造が、実現可能な候補相対レイアウトを表現するかどうか、最初に判定する。
固定エリアのグラフィック・オブジェクトと、グラフィック・オブジェクト間の任意のユーザー指定およびシステム指定の固定間隔の考慮を含め、構成グラフィック・オブジェクトが、ページ上で利用可能なスペース内に収まる場合に、候補相対レイアウトが実現可能である。
上述の実施形態では、ページ上に固定エリアのグラフィック・オブジェクトがまったくなく、かつ、隣り合ったグラフィック・オブジェクト間の間隔に制約がない場合には、どんなレイアウトも実現可能である。
したがって、図23Aと図23Bから推定され得るように、選択エリア決定モジュールが、パス・ベースのエリア決定モジュールか、線形システム・ベースのエリア決定モジュールのいずれかである場合にのみ、レイアウト実現可能性が考慮される。
選択エリア決定モジュールが、バウンディング・ボックス・ベースのエリア決定である場合には、レイアウト実現可能性は考慮されない。
(b.候補木構造の実現可能性を判定する)
図24は、レイアウト評価モジュール66が候補木構造の実現可能性を判定するときに用いる一実施形態を示している。
レイアウト評価モジュール66は、図9〜図10Jに関連して、以下で説明されるパス生成プロセスにより、候補木構造を通るパスPを生成する(図24のブロック410)。
レイアウト評価モジュール66は、それぞれのパスPに対してパス長さL(P)を計算する(図24のブロック412)。
パスPが垂直である場合には、その長さは次式の通りである。
Figure 0004929397
グラフィック・オブジェクトの高さ(HGO)は、次式のように書き表すことができる。
Figure 0004929397
ここで、Aは、グラフィック・オブジェクトのエリア(面積)であり、aは、その高さをその幅で除算した比率として定義される縦横比であり、さらに、Qは、その面積の平方根である。
それゆえ、Pが垂直パスである場合には、その長さは、次式のように書く表すことができる。
Figure 0004929397
ここで、Kは、式(2)中の最初の2つの項の合計(すなわち、パスPに沿ったすべての一定距離)であり、Qi,jは、パスP上のj番目の可変エリアのオブジェクトの面積の平方根であり、さらに、ai,jは、パスP上のj番目の可変エリアのオブジェクトの縦横比である。
上記総和項は、パスP上の可変エリアのグラフィック・オブジェクトの高さの合計に対応することに留意されたい。
同様な導出から、水平パスPの長さは、次式のように書く表すことができる。
Figure 0004929397
ここで、Kは、パスPに沿って、固定エリアのグラフィック・オブジェクトの幅と水平の一定距離との合計である。
レイアウト評価モジュール266は、これらのパスの一定距離の項(K)を、対応する利用可能なページ・スペースの寸法と比較する(図24のブロック414)。
それぞれの一定距離の項が、利用可能なページ・スペース内に収まる(すなわち、それぞれのパスPに対して、K≦対応するページ・スペースの寸法)場合には(図24のブロック416)、レイアウト評価モジュール266は、このレイアウトを、実現可能であると称する(図24のブロック418)。
そうでなければ、レイアウト評価モジュール266は、このレイアウトを、実現不可能であると称する(図24のブロック420)。
(c.パスを生成する)
(i.パス生成法の概要)
図25は、ページ上のグラフィック・オブジェクトの相対レイアウトを通る一組のパスを生成する方法の一実施形態の流れ図を示している。
簡単に言えば、図25のパス生成法は、相対レイアウトに対応する木構造内のそれぞれのノードに対して、1回実行される。
すなわち、それぞれのノードは1つずつ順番に「現在ノード」となり、それに関して、パス生成法の対応するインスタンスがブロック428から始まる。
このパス生成法のそれぞれのインスタンスの出力は、現在ノードに対応する一組のパスである。
現在ノードが終端ノード(すなわち、葉ノード)であるときには、ブロック432において、現在ノードに対して、2つの新たなパスが確立される。
現在ノードが内部ノードであるときには、パス生成法の現在インスタンスは、2つの段階に分けられる。
第1の段階では、ブロック434とブロック436において、現在ノードの左側子ノードと右側子ノードとに対して、パス生成法の対応するインスタンスが実行される。
第2の段階では、ブロック438〜ブロック450において、左側子ノード用のパスと右側子ノード用のパスを組み合わせて、現在ノードのパスを形成する。
ノードが根ノードであるときには、パス生成法の対応するインスタンスから得られるパスは、処理されている相対レイアウトに対する一組のパス全部である。
(ii.パス生成法の詳細な説明)
初めに、パス生成法は、ブロック428にて、所与の候補相対レイアウトの根ノードから始まる。
パス生成法は、内部ノードと終端ノードのそれぞれに対してパスを再帰的に決定して、現在の候補相対レイアウトを通る一組のパス全部を得る。
この再帰的プロセスにおいて、このプロセスに現在ノードを入力して、この現在ノードが終端ノードであるかどうか、ブロック430において、決定がなされる。
この現在ノードが終端ノードである場合には、終端ノードに対応づけられるグラフィック・オブジェクトを1回のステップで通る水平パス(例えば、左から右へ)と、このグラフィック・オブジェクトを1回のステップで通る垂直パス(例えば、上から下へ)という2つの新たなパスが、ブロック432においてスタートする。
ブロック432の後で、現在の終端ノードに対応づけられるパス生成法のインスタンスが完結する。
現在ノードが終端ノードでない場合には(ブロック430)、ブロック434とブロック436は、パス生成法の対応するインスタンスで、ノード428から始まって処理される現在ノードとして、現在内部ノードの2つの子ノード(すなわち、左側子ノードと右側子ノード)を投入する。
現在親ノードに対して実行中のパス生成法のインスタンスは、子ノードに対してパス生成法のインスタンスを実行している間は、保留状態にある。
図示される実施形態では、右側子ノードに対するパス生成法のインスタンスは、左側子ノードに対するパス生成法のインスタンスが終了した後で実行される。
左側子ノードと右側子ノードに対して実行されるパス生成法のインスタンスの結果は、2組のパスである。
ブロック437〜ブロック450では、これら2つの子ノードに対して決定されるパスが組み合わされる。
ブロック437は、現在ノードに対してパス・リストを確立する。
ブロック438は、現在内部ノードが水平境界線を表しているか、垂直境界線を表しているかどうか判定する。
現在内部ノードが水平境界線を表している場合、現在内部ノードは、その子の水平パスを継承(inherit)して(ブロック440、ブロック442)、その子の垂直パスを組み合わせる(ブロック444)。
特に、現在内部ノードが水平境界線を表している場合には、現在内部ノードは、その左側の子のNLH個の水平パスのそれぞれ(ブロック440)と、その右側の子のNRH個の水平パスのそれぞれ(ブロック442)を継承する。
ブロック444において、現在内部ノードは、左側の子のNLV個の垂直パスのそれぞれを1つずつ順番に右側の子のNRV個の垂直パスのそれぞれに連結して、現在ノードの(NLV*NRV)個の垂直パスを形成することで、新たな一組の垂直パスを得る。
パスの総数は、NLH+NRH+(NLV×NRV)である。
現在内部ノードが垂直境界線を表している場合、現在内部ノードは、その子の垂直パスを継承して(ブロック446、ブロック448)、その子の水平パスを組み合わせる(ブロック450)。
特に、現在内部ノードが垂直境界線を表している場合には、現在内部ノードは、その左側の子のNLV個の垂直パスのそれぞれ(ブロック446)と、その右側の子のNRV個の垂直パスのそれぞれ(ブロック448)を継承する。
ブロック450において、現在内部ノードは、左側の子のNLH個の水平パスのそれぞれを1つずつ順番に右側の子のNRH個の水平パスのそれぞれに連結して、現在ノードの(NLH*NRH)個の水平パスを形成することで、新たな一組の水平パスを得る。
したがって、パスの数は、NLV+NRV+(NLH×NRH)である。
ノードに対して実行されているパス生成法の所与のインスタンスが終了すると(例えば、ブロック432、ブロック444、ブロック450の後)、プロセス制御は、その所与のインスタンスを呼び出したインスタンスに戻る。
根ノードに対して起動されたインスタンスが終了すると、この根ノードに対応づけられるパスの組は、相対レイアウトに対する全パスの組となり、パス生成法が終わる。
(iii.典型的な候補相対レイアウトへのパス生成法の適用)
図26A〜図26Jは、典型的な相対レイアウト453に対応する木構造452のそれぞれのノードに対して、図25のパス生成法により生成されるパスを示している。
図26Aは、上記パス生成法が始まる前の木構造452と対応する候補相対レイアウト453とを示している。
候補相対レイアウト452における水平境界線と垂直境界線は、破線として示されている。
図26B〜図26Jのそれぞれは、図面中に丸で囲まれている対応する現在ノードに対してパス生成法のインスタンスが終了するまで生成されてきたパスが、対応するノード位置に示されている木構造452の対応するバージョン(変形例)を示している。
対応するパスは、相対レイアウト453に重ねられた矢印として示されている。
この木構造では、これらのパスはそれぞれ、対応するグラフィック・オブジェクトのリストに先行する矢印で表されている。
グラフィック・オブジェクトのリストに先行する右向き矢印は、これらのグラフィック・オブジェクトを通る水平パスを示している。
グラフィック・オブジェクトのリストに先行する下向き矢印は、これらのグラフィック・オブジェクトを通る垂直パスを示している。
例えば、「→GO4」は、グラフィック・オブジェクトGO4を通る水平パスを示し、また、「→GO4、GO5」は、グラフィック・オブジェクトGO4とグラフィック・オブジェクトGO5を通る水平パスを示している。
図26Bは、図25のブロック432において生成されて、グラフィック・オブジェクトGO1に対応する終端ノード455を通る水平パスと垂直パスを示している。
図26Cは、図25のブロック432において生成されて、グラフィック・オブジェクトGO2に対応する終端ノード457を通る水平パスと垂直パスを示している。
図26Dは、図25のブロック432において生成されて、グラフィック・オブジェクトGO3に対応する終端ノード459を通る水平パスと垂直パスを示している。
図26Eは、垂直親ノード461に対して図25のブロック440〜ブロック444において生成された、GO2とGO3を通るパスの組合せを垂直親ノード461の所に示している。
図26Fは、図25のブロック432において生成されて、グラフィック・オブジェクトGO4に対応する終端ノード463を通る水平パスと垂直パスを示している。
図26Gは、図25のブロック432において生成されて、グラフィック・オブジェクトGO5に対応する終端ノード465を通る水平パスと垂直パスを示している。
図26Hは、垂直親ノード467に対して図25のブロック440〜ブロック444において生成された、GO2とGO3を通るパスの組合せを垂直親ノード467の所に示している。
図26Iは、水平親ノード469に対して図25のブロック446〜ブロック450において生成された、垂直ノード461と垂直ノード467を通るパスの組合せを水平親ノード469の所に示している。
図26Jは、候補相対レイアウト453を通る全パスの組、すなわち、垂直根ノード471に対して図25のブロック446〜ブロック450において生成された垂直ノード469と終端ノード455とを通るパスの組合せに対応するものを、垂直根ノード471の所に示している。
(2.候補木構造を評価する)
本出願のこのセクションに述べられる実施形態では、候補相対レイアウトを評価するのに用いられるスコアは、ページ上でグラフィック・オブジェクトが占有するエリアの測度によって決まる。
(a.グラフィック・オブジェクトのエリアを決定する)
レイアウト評価モジュール266は、バウンディング・ボックス・ベースの決定プロセス、パス・ベースの決定プロセス、または線形システム・ベースの決定プロセスに基づいて、候補相対レイアウトの所与のインスタンスで指定されるグラフィック・オブジェクトで占有されたエリアを計算する。
(i.グラフィック・オブジェクト・エリアのバウンディング・ボックス・ベースの決定)
図示される実施形態では、バウンディング・ボックス決定プロセスの目的は、所与の木構造内のそれぞれの内部ノードに対して、縦横比および公称サイズ値を算出することである。
それぞれのバウンディング・ボックスは、それが包囲するボックスで求められる。
以下でさらに詳しく説明されるように、バウンディング・ボックスは、グラフィック・オブジェクトの公称サイズを用いて算出される。
上述のように、これらの公称サイズは、現在ページのページ・レジスタに記録されるものと想定される。
いくつかの実施例では、バウンディング・ボックス特徴付け(characterization)プロセスは、図27に示されるように、葉ノードから始まって、深さ優先探索(depth-first search)の順に根ノードに向けて進む。
任意の内部ノードの縦横比および公称サイズの公式が以下に与えられる。
一般に、縦横比aおよび公称サイズeを持つどんな画像バウンディング・ボックスでも、√aeおよび√e/aの量は、それぞれ、その画像バウンディング・ボックスの公称高さと公称幅である。
任意の内部ノードに対する縦横比aおよび公称サイズeは、その2つの子の縦横比および公称サイズの関数である。
以下の式では、aおよびeは、右側子ノードの縦横比および公称サイズであり、また、aおよびeは、左側子ノードの縦横比および公称サイズである。
したがって、この右側子ノードと左側子ノードとが並んで配置される場合には、それらの子ノードを包囲するバウンディング・ボックスの縦横比および公称サイズは、次式となる。
Figure 0004929397
Figure 0004929397
ここで、
Figure 0004929397
式(6)中の縦横比は、大きい方の公称高さを上記2つの公称幅の合計で除算した比率であり、また、式(7)中の公称サイズは、大きい方の公称高さと上記2つの公称幅の合計との積である。
式(8)中の最大値を求めることにより、2つの子ノード・ボックスのどちらが名目的に高いか決定され、それゆえ、親ノード・ボックスの高さが制御される。
これら2つの子ノードが、互いに上下に配置されるボックスを表現する場合には、それらの子ノードを包囲するバウンディング・ボックスの縦横比および公称サイズは、次式となる。
Figure 0004929397
Figure 0004929397
ここで、
Figure 0004929397
この場合、式(11)により、2つの子ノード・ボックスのどちらが名目的に広いか決定され、それゆえ、親ノード・ボックスの幅が制御される。
根ノードのバウンディング・ボックスは、対応する木構造で指定されたページのレイアウト全体の形状および公称サイズを表す。
根ノードのバウンディング・ボックスは、ここでは、「主バウンディング・ボックス」と呼ばれる。
主バウンディング・ボックスの縦横比および公称サイズが既知であるときには、グラフィック・オブジェクトiに対するバウンディング・ボックス・ベースのエリア(面積)Aは、次式のように算出される。
Figure 0004929397
ここで、eおよびepbbはそれぞれ、グラフィック・オブジェクトiの公称サイズおよび主バウンディング・ボックスの公称サイズであり、また、Apbbは、次式のように算出される主バウンディング・ボックスの面積であり、
Figure 0004929397
ここで、Apageは、使用できるページ・スペースの面積である。
図27は、レイアウト評価モジュール266が、木構造のノード用のバウンディング・ボックスの相対的な高さおよび幅の寸法を計算するときに用いる再帰的プロセスの一実施形態の流れ図を示している。
このプロセスは、現在ノードとして根ノードから始まる。
現在ノードが終端ノードであるかどうか決定を下す(図27のブロック480)。
現在ノードが終端ノードである場合には、関連するグラフィック・オブジェクトの公称高さおよび公称幅を持つバウンディング・ボックスが確立される(図27のブロック482)。
現在ノードが終端ノードでない場合には、現在ノードの2つの子ノード(すなわち、左側子ノードと右側子ノード)が、同一再帰的プロセスに投入される(図27のブロック484、ブロック486)。
これら2つの子のバウンディング・ボックスを組み合わせて、以下のように現在ノード用のバウンディング・ボックスを形成する。
レイアウト評価モジュール266は、現在ノードが水平境界線であるか、垂直境界線であるか判定する(図27のブロック488)。
現在ノードが水平境界線を表している場合には、このバウンディング・ボックスの公称幅が、これら2つの子のバウンディング・ボックスの広い方の公称幅にセットされ(図27のブロック490)、また、このバウンディング・ボックスの公称高さが、これら2つの子のバウンディング・ボックスの公称高さの合計にセットされる。
現在ノードが垂直境界線を表している場合には(図27のブロック488)、このバウンディング・ボックスの公称高さが、これら2つの子のバウンディング・ボックスの高い方の公称高さにセットされ(図27のブロック494)、また、このバウンディング・ボックスの公称幅が、これら2つの子のバウンディング・ボックスの公称幅の合計にセットされる。
このプロセスは、根ノード用のバウンディング・ボックスが算出されるまで続く。
(ii.グラフィック・オブジェクト・エリアのパス・ベースの決定)
ストリクト・エリア・スタイルのレイアウトでは、それぞれの可変エリアのグラフィック・アセンブリ(集成体)は、変数eで表される割当て(assigned)公称サイズを持っている。
構成単一要素グラフィック・オブジェクト(例えば、ビデオからの一連のキーフレーム)を2つ以上持つ多要素グラフィック・オブジェクトに関連して、単一集計公称サイズは、グラフィック・オブジェクト全体に割り当てられ、また、この多要素グラフィック・オブジェクト中の個々のグラフィック・オブジェクトの公称サイズは、上記集計公称サイズをこの多要素グラフィック・オブジェクト中のグラフィック・オブジェクトの数で除算したものに等しいようにセットされる。
このセクションの残りの部分では、パスP上のそれぞれのグラフィック・オブジェクトjは、正の公称サイズeを持つ単一要素グラフィック・オブジェクトであると、想定される。
公称サイズは実際のエリア(面積)に比例するから、上で定義される変数Qを一般化して、次式のように公称サイズ(絶対エリアではなく)の平方根を反映させることができる。
Figure 0004929397
ここで、gは、gに公称サイズを乗算したものが絶対測定可能エリア(例えば、平方インチ)であるような正のスカラーである。
Qを√eで除算した比率は、すべての可変エリアのグラフィック・オブジェクトに共通の定数であり、したがって、gと同一の値が、ページ上のすべての可変エリアのグラフィック・オブジェクトに使用される。
したがって、上記の式(4)と式(5)において、Qにg・√eを代入する場合、gをこれらの総和項から引っ張り出して、次式を得ることができる。
Figure 0004929397
Figure 0004929397
ここで、ei,jは、パスP上のj番目の可変エリアのグラフィック・オブジェクトの公称サイズである。
パスPが垂直パスであり、また、ページ上の利用可能なエリアが高さHPAGEを持つ場合には、次のgの方程式を解いて、この利用可能なエリアが高い限り、Pがぴったり合う値が与えられる。
Figure 0004929397
同様に、パスPが水平パスであり、また、利用可能なエリアが幅WPAGEを持つ場合には、次のgの方程式を解いて、この利用可能なエリアの全幅にわたって、このパスがぴったり合う値が与えられる。
Figure 0004929397
一実施形態では、可変エリアのグラフィック・オブジェクト用のエリアをできるだけ広くするが、それでも、Pが垂直パスであるか、水平パスであるかどうかにより、方程式(17)か、方程式(18)のいずれかを用いて(それぞれのPに対して)gを求めることで、すべてのグラフィック・オブジェクトが、ページの利用可能なエリアに完全に入れるようにしている。
このレイアウトは、上で説明されるように、実現可能であると前もって判定されているため、gのそれぞれの解は正となる。
次式のように、gが、すべてのパスの中で最小の解であると定められる場合には、
Figure 0004929397
j番目の可変エリアのグラフィック・オブジェクトのエリア(面積)Aは、次式のように算出される。
Figure 0004929397
ここで、eは、j番目の可変エリアのグラフィック・オブジェクトに割り当てられた公称サイズである。
(iii.グラフィック・オブジェクト・エリアの線形システム・ベースの決定)
ブリック・スタイルのレイアウトでは、グラフィック要素のエリアは、最初にQの値を算出することで決定される。
Qの値が既知であると、これらの値を二乗して、絶対測定可能なエリア(例えば、平方インチ)を算出できる。
(I)グラフィック要素で占有されるエリアの高さは、ページ上の利用可能なエリアの高さに等しいことを強いられる、(II)グラフィック要素で占有されるエリアの幅は、ページ上の利用可能なエリアの幅に等しいことを強いられるという2つの仮説シナリオに対して、Qの値が算出される。
たいていの場合、シナリオ(I)とシナリオ(II)の一方だけが、実現可能な解を与えることになる。なぜなら、他方のシナリオでは、強いられない寸法が、上記の利用可能なスペースよりも大きくなるからである。
実現可能な解を与えるシナリオを選択して、最終の組のグラフィック要素のエリアを作り出す。
シナリオ(I)またはシナリオ(II)のいずれかにおいて、N個の未知数を持つ一次連立方程式の解として、Qの値が算出される。ここで、Nは、グラフィック要素の数である。
上記方程式のうちのN−1個のそれぞれは、完全な木構造の内部ノードから得られる。なぜなら、N個のグラフィック要素を収める木には、ちょうど(N−1)個の内部ノードがあるからである。
このエリアの垂直の境界線またはカット(切れ目)を表現する内部ノードでは、最初に2つの垂直パス(その2つの子それぞれから1つのパス)を得て、これらの垂直パスの長さを等しくセットすることにより、対応する方程式が導き出される。
上記の式(15)を参照して、左側の子からの垂直パスをPと表し、また、右側の子からの垂直パスをPと表すと、対応する式は、次式によって与えられる。
Figure 0004929397
ここで、変数jは、Pに沿ったグラフィック・オブジェクトを指示し、また、kは、Pに沿ったグラフィック・オブジェクトを指示する。
式(21)を配列し直すと、次式が与えられる。
Figure 0004929397
このエリアの水平の境界線またはカット(切れ目)を表現する内部ノードでも、上記の状況と類似している。
2つの水平パスを得て、これらの水平パスの長さを等しくセットすることにより、次式が与えられる。
Figure 0004929397
それぞれの内部ノードに対して、式(22)または式(23)の形式の方程式を構築することで、N個の未知数に対して、N−1個の方程式が得られる。
シナリオIでは、根ノードからの任意の垂直パスの長さを、利用可能なエリアの高さに等しくセットすることで、N番目の方程式が得られる。
シナリオIIでは、根ノードからの任意の水平パスの長さを、利用可能なエリアの幅に等しくセットすることで、N番目の方程式が得られる。
シナリオIおよびシナリオIIの双方の場合、N個の方程式は、行列・ベクトル形式(Ax=b)で書き表される。
この行列は、グラフィック要素縦横比のゼロおよび正並びに負の平方根と、グラフィック要素縦横比の平方根の正および負の逆数(inverse)とのみを含む。
ベクトルxのN個の要素は、Qの変数である。
ベクトルbのN個の要素の中で、(N−1)個が、式(21)または式(22)のいずれかの式の右辺として算出される。その他は、利用可能なエリアの高さ(シナリオI)または幅(シナリオII)(対応する行を得るのに用いられたパスに沿った一定距離を引く)に等しい。
逆数(inverse)(A)*bを算出すれば、Q値のベクトルが与えられる。
(b.木構造を採点する)
いくつかの実施形態では、初期レイアウト作成モジュール64は、最高の適性またはスコアを持つものを特定することで、候補レイアウトを選択する。
これらのスコアは、上記のセクションIIIのB.2項に述べられるタイプの採点、評価、または適格の機能を用いて、レイアウト評価モジュール266で算出される。
この採点、評価、または適格の機能は、グラフィック・オブジェクトのサイズがグラフィック・オブジェクトに割り当てられた公称サイズに近づくような最終レイアウトの作成を促進する。
いくつかの実施形態では、レイアウト評価モジュール266は、候補レイアウトにおけるグラフィック・オブジェクトの実際のレンダリング・サイズが対応する目標レンダリング・サイズと一致する度合いに基づいて、候補レイアウトごとに、対応するレイアウト・スコアを計算する。
採点の機能は一般に、所与のレイアウトにおけるグラフィック・オブジェクトの実際のサイズがこれらのグラフィック・オブジェクトに割り当てられた公称サイズにどれくらい近いかの指標となる測度を、取り入れている。
これらの実施形態の一部では、レイアウト評価モジュール266は、対応する目標レンダリング・サイズに対する実際のレンダリング・サイズの比率に基づいて、候補レイアウトごとに、これらのグラフィック・オブジェクトのそれぞれに対して、対応するグラフィック・オブジェクト・スコアを計算する。
レイアウト評価モジュール266は、候補レイアウトごとに、それぞれのグラフィック・オブジェクト・スコアから、対応するレイアウト・スコアを計算する。
いくつかの実施形態では、レイアウト評価モジュール266で使用される採点、評価、または適格の機能は、上記のセクションIIIのB.2項に述べられる擬似コードで定められる目標レイアウト・スコア機能に対応する。
いくつかの実施形態では、レイアウト評価モジュール266で使用される採点、評価、または適格の機能は、上記のセクションIIIのB.2項に述べられる擬似コードで定められる目標レイアウト・スコア機能を、1つまたは複数の他の測度と組み合わせる。
適格または採点の機能に含まれることも含まれないこともある他の測度は、カバー範囲(すなわち、グラフィック・オブジェクトで占有されるページの一部)と一貫性(consistency)(すなわち、ページ上のグラフィック・オブジェクトで占有されるエリアのむら(variation))を含むが、ただし、それらには限定されない。
例えば、ストリクト・エリア・レイアウト・スタイルを要望する実施形態では、レイアウト評価モジュール266は、上記のセクションIIIのB.2項に述べられる擬似コードで定められる目標レイアウト・スコア機能をカバー範囲と組み合わせるレイアウト・スコアを算出する。
いくつかの実施形態では、カバー範囲は、ページ上のグラフィック・オブジェクト・エリアの合計として算出される。
これらのエリアは、パス・ベースのエリア決定法によるか、あるいはバウンディング・ボックス・ベースのエリア決定法により、算出された場合もある。
ブリック・レイアウト・スタイルを要望する実施形態では、レイアウト・スコアは、上記のセクションIIIのB.2項に述べられる擬似コードで定められる目標レイアウト・スコア機能を、カバー範囲および一貫性の双方と組み合わせる。
これらの実施形態の一部では、この組み合わされたレイアウト・スコア(Score)は、式(24)により計算される。
Figure 0004929397
、a、aのパラメータは、経験的に決定された重み係数である。
変数αは、ページ上の利用可能なエリアの縦横比が主バウンディング・ボックスの縦横比とどれくらいよく一致するかの尺度となる。
変数υは、一貫性の尺度となる。
いくつかの実施形態では、変数αおよび変数υは、それぞれ、0と1との範囲内の値を取り、その場合、0は、低いカバー範囲および一貫性に対応し、また、1は、高いカバー範囲および一貫性に対応する。
これらの実施形態では、変数αは、次式のように算出される。
Figure 0004929397
ここで、page_aspectは、ページ上の利用可能なエリアの縦横比であり、また、pbb_aspectは、主バウンディング・ボックス(すなわち、根ノードに対応づけられるバウンディング・ボックス)の縦横比である。
変数υは、次式のように算出される。
Figure 0004929397
式(26)では、グラフィック・オブジェクト・エリアは、線形システム・ベースのエリア決定法によるか、あるいはバウンディング・ボックス・ベースのエリア決定法により、算出されることがある。
これらの実施形態では、一貫性の測度υは、最小グラフィック・オブジェクト・エリアを最大グラフィック・オブジェクト・エリアで除算したものであると定義される。
他の実施形態は、ブリック・スタイルのレイアウトに対して、異なる採点機能を用いることがある。
例えば、式(24)により算出されたスコアは、所定のしきい値よりも低いαおよび/またはυの値に対して減点(penalize)される。
いくつかの実施例では、αおよび/またはυの値は、グラフィック・オブジェクト間のどんなスペースも考慮入れることがある。
(V.ページ上にグラフィック・オブジェクトの初期配置を作成する)
(A.グラフィック・オブジェクトの初期配置を作成するプロセスの概要)
図28は、ページ上にグラフィック・オブジェクト270の初期配置280を形成する2分木構造が初期レイアウト作成モジュール264で生成されるときに用いる方法の一実施形態の流れ図を示している。
初期レイアウト作成モジュール264は、一組のグラフィック・オブジェクトから選択された第1のグラフィック・オブジェクトに対して、ページのうちの選択された1つに相対的位置を定める第1のノードを含む現在木構造を起動する(図28のブロック501)。
初期レイアウト作成モジュール264は、現在木構造と、上記組のグラフィック・オブジェクトから選択された別のグラフィック・オブジェクトに対して上記選択ページ上の対応する相対的位置を定める対応するノードとをそれぞれが含む候補木構造を生成する(図28のブロック503)。
初期レイアウト作成モジュール264は、現在木構造に1つのグラフィック・オブジェクトを追加することで、それぞれの候補木構造を生成する。
(以下で説明される拡張プロセスを用いて)現在木構造内の多要素グラフィック・オブジェクトが拡張された後で、初期レイアウト作成モジュール264は、それらの候補木構造に対して、対応する初期サイズ寸法に少なくとも一部、基づいて、対応する実現可能性テスト結果とスコアを得る(図28のブロック507)。
これらのスコアおよび実現可能性テスト結果は、レイアウト評価モジュール266から得られる。
レイアウト評価モジュール266により実現不可能とみなされる候補木構造があれば、それは考慮の対象から排除される。
初期レイアウト作成モジュール264は、算出されたスコアに基づいて、これらの候補木構造の1つを現在木構造として選択する(図28のブロック509)。
初期レイアウト作成モジュール264は、現在木構造内の対応するノードにより、上記組のグラフィック・オブジェクトすべてに対して、ページ上の相対的位置が定められるまで、作成するプロセス(図28のブロック503)、得るプロセス(図28のブロック507)、選択するプロセス(図28のブロック509)を繰り返す(図28のブロック511)。
図28のプロセスは、グラフィック・オブジェクトがレイアウトされる1つまたは複数のページのそれぞれに対して、繰り返される。
図28に定められるプロセスでは、木構造生成プロセスは、ただ1つのグラフィック・オブジェクトから始まり、ページに割り当てられるグラフィック・オブジェクトのすべてが追加されるまで、追加のグラフィック・オブジェクトが1つずつ木構造に追加される。
ページに割り当てられるグラフィック・オブジェクトの総数がMである場合には、このページに対するレイアウトは、次式のように、増大する一連の2分木内の最後のものに対応する。
Figure 0004929397
ここで、p≧1の場合のT(p)は、p個の終端ノードを持つ木を表す。
中間の木{T{p}:1≦p≦N−1}のそれぞれは、発展性ある(viable)レイアウトを作成する。
図29A〜図29Cは、木構造生成プロセスの異なる段階において、あるページの異なる区画と、対応する階層木構造とを示しており、そこでは、括弧に入れた数字は、対応するグラフィック・オブジェクト(A、B、C、D)に割り当てられた公称サイズである。
この木構造内のそれぞれのノードは、ページのレイアウトにおけるバウンディング・ボックスに対応づけられる。
それぞれの内部ノードは、その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)は、たまたま葉ノードであった。しかしながら、一般に、内部ノードに根づいている部分木も含め、どんな部分木も選択されたかもしれない。
部分木は、部分木の根を、そこから出るすべてのノードと合わせたものと称されるノードとして定義される。
部分木の根が内部ノードである場合には、その部分木は、内部ノードと、その子である終端ノードとを両方とも含む。
以下で詳しく説明されるように、初期レイアウト作成モジュール264は、利用可能な新たなセル位置ごとに、新たなグラフィック・オブジェクトの可能なあらゆる表示に対応する候補相対レイアウトのコレクションを評価することで、前のレイアウトに、どのセルが取り入れられるか選択する。
しかしながら、これらの候補相対レイアウトをそれぞれ評価する前に、多要素グラフィック・オブジェクトの候補相対レイアウトに対応する粗なグラフィック・オブジェクト木構造を拡張して(あるいは、変形して)、これらのグラフィック・オブジェクトの個々の構成グラフィック・オブジェクトに葉が対応するような改善された(または、完全な)木構造を形成する。
典型的な一例示において、図30Aは、グラフィック・オブジェクト540(GO1)およびその対応する木構造542の一表示を示している。
図30Bは、グラフィック・オブジェクト544(GO4)およびその対応する木構造546の一表示を示している。
図30Cは、水平根ノードと、図29Aおよび図29Bにそれぞれ示されるグラフィック・オブジェクト表示(540、544)に対応する2つの終端ノードとから成る粗な木構造348を示している。
図30Cに示されるように、グラフィック・オブジェクト表示(540、544)を表す終端ノードの代りに木構造(542、546)を用いることで、粗な木構造548を拡張して、改善された木構造350を形成する。
図30Dは、この結果として得られる、改善された木構造550に対応する候補相対レイアウトを、ページ552に示している。
(B.グラフィック・オブジェクトの初期配置を作成する典型的なプロセス)
図31Aと図31Bは、初期レイアウト作成モジュール264が、候補相対レイアウトを作成して、これらの候補相対レイアウトの1つを、ページ上のグラフィック・オブジェクトの初期配置80として選択するときに用いる典型的な方法の一実施形態を示している(図20を参照)。
ブロック560は、1番目のグラフィック・オブジェクト(GO)の第1の表示で、現在候補レイアウトTを起動する。
ブロック362は、現在候補レイアウトTをレイアウト評価モジュール266に送る(図20を参照)。
上で詳しく説明されるように、レイアウト評価モジュール266は、候補相対レイアウトの実現可能性を確認し、現在候補レイアウトTにおけるグラフィック・オブジェクトに対する初期サイズ寸法を決定し、少なくとも一部、これらの初期サイズ寸法に基づいて、現在候補レイアウトTに対してスコアScore(T)を算出する。
上記レイアウト評価モジュールがこの候補レイアウトを実現不可能とみなす場合には、この候補レイアウトは廃棄され、このプロセスは、直接、ブロック568に移る。
この候補レイアウトが実現可能である場合には、ブロック564は、これが、1番目のグラフィック・オブジェクトの第1の表示であるかどうか判定する。
これが、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に進む。
ブロック568は、1番目のグラフィック・オブジェクトのどんな追加表示も利用可能であるかどうか判定する。
1番目のグラフィック・オブジェクトのもっと多くの表示が利用可能である場合には、ブロック572は、1番目のグラフィック・オブジェクトの次の表示を取り込んで、新たな現在候補レイアウトTを形成し、このプロセスは、その新たな現在候補レイアウトに対して繰り返される。ブロック568が1番目のグラフィック・オブジェクトの追加表示がまったくないと判定する場合には、このプロセスは、図31B中のブロック574に進む。
ブロック574は、現在候補レイアウトに追加されるグラフィック・オブジェクトがこれ以上あるかどうか判定する。
現在候補レイアウトに追加されるグラフィック・オブジェクトがもうない場合には、この初期配置作成プロセスからの最終レイアウトとして、現在Best_Tが選択され、このプロセスは、ブロック576において終了する。
ブロック574が、現在候補レイアウトに追加されるグラフィック・オブジェクトがあると判定する場合には、ブロック578は、現在最適レイアウトBest_Tを、新たな現在候補レイアウトTに指定する。
ブロック580は、次の現在グラフィック・オブジェクトを取り込む。
ブロック582は、現在グラフィック・オブジェクトの第1の表示を取り込む(または、決定する)。
ブロック584は、現在候補レイアウトTにおいて、現在グラフィック・オブジェクトの表示を評価すべき第1の位置を選択する。
この位置は、現在候補レイアウトTの内部ノードまたは外部ノード(すなわち、葉)のいずれであってもよい。
ブロック586において、第1の位置に新たなノードを追加することで、代替候補レイアウトT'が作成される。
この新たなノードの1つの子は、現在候補レイアウトTの部分木であり、しかも、その根は、Tにおける上記第1の位置である。
この新たなノードの他方の子は、このレイアウトに追加されている現在グラフィック・オブジェクトの現在表示である。
代替現在候補レイアウトT'において、この新たなノードに水平境界線が割り当てられる。
ブロック588は、代替候補レイアウトT'をレイアウト評価モジュール266に送る。
上で詳しく説明されるように、レイアウト評価モジュール266は、候補相対レイアウトの実現可能性を確認し、代替候補レイアウトT'におけるグラフィック・オブジェクトに対する初期サイズ寸法を決定し、少なくとも一部、これらの初期サイズ寸法に基づいて、代替候補レイアウトT'に対してスコアScore(T')を算出する。
上記レイアウト評価モジュールが、この候補レイアウトを実現不可能と見なす場合には、この候補レイアウトは廃棄され、このプロセスは、直接、ブロック594に移る。
この候補レイアウトが実現可能である場合には、ブロック590は、これが、現在グラフィック・オブジェクトの第1の位置および第1の表示であるかどうか判定する。
これが現在グラフィック・オブジェクトの第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に進む。
ブロック594において、現在位置の所に新たなノードを追加することで、他の代替現在レイアウトT'が作成される。
この新たなノードの1つの子はTの部分木であり、その根は、Tの上記位置である。
この新たなノードの他方の子は、現在このレイアウトに追加されているグラフィック・オブジェクトの現在表示である。
ブロック594の代替現在レイアウトT'において、この新たなノードに水平境界線が割り当てられる。
ブロック597は、代替候補レイアウトT'をレイアウト評価モジュール266に送る。
レイアウト評価モジュール266は、候補相対レイアウトの実現可能性を確認し、代替候補レイアウトT'におけるグラフィック・オブジェクトに対する初期サイズ寸法を決定し、少なくとも一部、これらの初期サイズ寸法に基づいて、代替候補レイアウトT'に対してスコアScore(T')を算出する。
上記レイアウト評価モジュールが、この候補レイアウトを実現不可能と見なす場合には、この候補レイアウトは廃棄され、このプロセスは、直接、ブロック602に移る。
この候補レイアウトが実現可能である場合には、ブロック598は、代替現在候補レイアウトT'に対応するレイアウト用のスコアScore(T')を決定して、Score(T')をScore(Best_T)と比較する。
ブロック570、ブロック596、ブロック598は、同一の、または異なる採点方法を使用することがある。
Score(T')がScore(Best_T)よりも大きい場合には、ブロック600は、代替現在レイアウトT'を最適現在レイアウトBest_Tに指定し、このプロセスはブロック602に進む。
ブロック598が、T'のスコアがBest_Tのスコア以下であると判定する場合には、このプロセスは、直接、ブロック602に進む。
ブロック602は、現在候補レイアウトTにおいて利用可能な追加位置があるかどうか判定する。
現在候補レイアウトTにおいて追加位置が利用可能である場合には、ブロック604は、現在候補レイアウトTにおいて、現在グラフィック・オブジェクトの表示を評価すべき新たな位置を選択する。
ブロック586〜ブロック602は、同じ現在グラフィック・オブジェクトの表示を用いて、繰り返される。
ブロック602が、現在候補レイアウトTにおいて追加位置がまったく利用できないと判定すると、このプロセスは、ブロック606に進む。
ブロック606は、考慮すべき現在グラフィック・オブジェクトの追加表示があるかどうか判定する。
グラフィック・オブジェクトの追加表示が利用可能である場合には、このプロセスは、ブロック607に進み、そこで、現在グラフィック・オブジェクトの次の表示を取り込む。
ブロック584は、現在候補レイアウトTにおいて、現在グラフィック・オブジェクトの表示を評価すべき第1の位置を選択する。
ブロック586〜ブロック604は、現在候補レイアウトTにおいて、利用可能な位置ごとに現在グラフィック・オブジェクトTの次の表示を評価する。
ブロック606が、考慮すべき現在グラフィック・オブジェクトの表示がもうないと判定すると、このプロセスはブロック574に進み、そこで、現在候補レイアウトに追加されるグラフィック・オブジェクトがあるかどうか判定する。
ブロック574が、現在候補レイアウトに追加されるグラフィック・オブジェクトがもうないと判定すると、最終確定レイアウトとして現在Best_Tが選択され、このプロセスは、ブロック576において終了する。
(VI.ページ上にグラフィック・オブジェクトの最終配置を作成する)
上で説明されるように、最終レイアウト作成モジュール270は、グラフィック・オブジェクト配置システム60にレイアウト変更モジュール68が含まれるかどうかにより、初期レイアウト作成モジュール264またはレイアウト変更モジュール68のいずれかから、ページ区画を表現する木構造を受け取る。
木構造のそれぞれの葉ノードは、縦横比の値(a)、および、ストリクト・エリア・スタイルのレイアウトの場合には、公称サイズの値(e)を持ち、また、それぞれの内部ノードは、ページ上の水平境界線または垂直境界線のいずれかを示す。
最終レイアウト作成モジュール270は、それぞれのページ上のグラフィック・オブジェクトのエリアを決定し、次に、ページ・スペースの正確な領域をそれぞれのノードに割り振る。
ページのこれらの割振り領域は、対応する木構造と同様にネスト(nest)される。
これらの割振り領域は、ここでは、「セル(cells)」と呼ばれる。
いくつかの実施例では、或るセルが既知であると、そのセルに割り当てられるグラフィック・オブジェクトの位置は、このグラフィック・オブジェクトを、このセルの中心に置くことで、決定される。
(A.グラフィック・オブジェクト・エリアを決定する)
これらのグラフィック・オブジェクトのエリアは、所望の精度、所望のレイアウト・スタイル、利用可能な計算機資源に応じて、バウンディング・ボックス・ベースのエリア決定法か、パス・ベースのエリア決定法か、線形システム・ベースのエリア決定法のいずれかにより決定される。
ときには、上記のグラフィック・オブジェクト・エリア決定法の1つを用いて、レイアウト評価モジュール266が直前の上流側レイアウト・モジュールに対して計算したグラフィック・オブジェクト・エリアが、最終レイアウト作成モジュール270で使用されることもある。
その他の場合、最終レイアウト作成モジュール270は、上記のグラフィック・オブジェクト・エリア決定法の別の1つを用いてグラフィック・オブジェクト・エリアを算出するよう、レイアウト評価モジュール266に指示することもある。
(B.木構造内のノードの周りのバウンディング・ボックスを決定する)
絶対エリアが算出された後で、木構造内のそれぞれのノードの周りで、バウンディング・ボックスが評価される。
このプロセスを達成するのに必要な実際のステップは、図27に示されるように、バウンディング・ボックス・ベースのエリア決定に関連して上述のバウンディング・ボックスを算出するプロセスとまったく類似している。ただし、次の2つの例外がある。
第1に、これらの公称サイズは、たまたま実際のグラフィック・オブジェクト・エリアである。
第2に、内部ノードに割り当てられた間隔は、無視されるのではなく、もっと適切に言えば、ブロック492およびブロック496の算出の合計に加えられる。
(C.グラフィック・オブジェクトにページ・スペースを割り振る)
(1.ページ・スペース割振りプロセスの概要)
いくつかの実施形態では、ノードにページ・スペースの領域を割り振るプロセスは、ページをセルに分けて、それぞれのグラフィック・オブジェクトを、その対応するセルの中に位置づけるものである。
このページは、最初の長方形としてページの使用できるエリア全体から始めて、ページを複数の長方形に分割することで、セルに分けられる。
それぞれの分割は、幅優先探索の順に根ノードから始まって、内部ノードの対応する1つに対して線分を引くことで達成される。
垂直境界線に対応する内部ノードの場合には、最終レイアウト作成モジュール270は、利用可能な領域の幅に沿って、水平位置xを選択する。
1つの式で表すと、x∈(0,1)となる。ここで、x=0は、利用可能な領域内の最左端の位置を表し、また、x=1は、利用可能な領域内の最右端の位置を表す。
この場合、次式が成り立つ。
Figure 0004929397
ここで、a、eおよびa、eは、内部ノードの左側の子および右側の子に対する、バウンディング・ボックスの縦横比およびエリア(面積)である。
このように式で表すと、比率として幅が直接に利用される。
水平境界線に対する類似の公式は、高さを使用する。すなわち、利用可能なスペースの高さに沿った垂直位置がy∈(0,1)で示される場合(ここで、y=0は最下位の位置を表し、また、y=1は最上位の位置を表す)、次式が成り立つ。
Figure 0004929397
ここで、a、eおよびa、eは、内部ノードの下側の子および上側の子に対して、バウンディング・ボックスの縦横比およびエリア(面積)である。
この結果、ページ上に得られるグラフィック・オブジェクトのレイアウトは、図20に示されるグラフィック・オブジェクトの最終レイアウト290を形成している。
(2.グラフィック・オブジェクトにページ・スペースを割り振る詳細なプロセス)
図32は、ページ上の物理的なスペース領域を現在木構造の根ノードに割り振る方法の一実施形態を示している。
この方法により、レイアウト・スタイルが決定される(図32のブロック630)。
ストリクト・エリア・スタイルのレイアウトでは、このページの使用できるエリア全体が根ノードに割り当てられる(図32のブロック632)。
ブリック・スタイルのレイアウトでは、根ノードに割り当てられたページ・スペースは、この根ノードに対応づけられるバウンディング・ボックスの高さおよび幅を持っている(図32のブロック634、ブロック636)。
次に、根ノードに割り当てられた領域が、利用可能なページ・スペースの中心に位置づけられる(図32のブロック638)。
図33は、ページ・スペースの領域を木構造のノードの子に割り振る方法の一実施形態を示している。
このプロセスにおいて、それぞれの内部ノードに割り当てられたスペース領域は、その2つの直接の子の間に配分(divide)される。
このような配分は、現在木構造の根ノードを現在ノードにセットして、再帰的プロセスを実行することで達成される。
この再帰的プロセスにおいて、現在ノードが終端ノードであるかどうか決定がなされる(図33のブロック640)。
現在ノードが終端ノード(すなわち、葉ノード)である場合には、このプロセスは終了する(図33のブロック642)。
現在ノードが内部ノードである場合には、現在ノードが単一要素グラフィック・オブジェクトを2つ以上持つ多要素グラフィック・オブジェクト(GO)に対応する木の根ノードであるかどうかの判定が、行われる(図33のブロック644)。
これが当てはまる場合には、現在ノードに割り当てられた領域は、その領域の高さおよび幅を、前に現在ノードに対して算出されたバウンディング・ボックスの高さおよび幅になるように再び割り当てることで、圧縮され(図33のブロック646)、また、この領域の位置は、前に現在ノードに割り当てられた領域の中心に置かれる。
ブリック・スタイルのレイアウトでは、これは、なんの効果もない。
ストリクト・エリア・スタイルのレイアウトでは、これは、グラフィック要素を2つ以上持つグラフィック・アセンブリ(例えば、一連のキーフレーム)において、画像をまとめる効果がある。
現在ノードが、多要素グラフィック・オブジェクトに対応する木の根ノードではないと判定される場合には(図33のブロック644)、現在ノードの左側の子および右側の子に対して、スペース領域の高さおよび幅を算出する(図33のブロック648)。
現在ノードが水平ページ境界線である場合には、右の子および左の子に割り当てられる領域の高さ(H、H)は、次式で与えられる。
Figure 0004929397
Figure 0004929397
ここで、HNODEは現在ノードのスペース領域の高さであり、Sはノード間隔であり、Lは左側子ノードのバウンディング・ボックスの高さであり、さらに、Rは、右側子ノードのバウンディング・ボックスの高さである。
左側の子および右側の子に割り当てられる領域の幅は、現在ノードに割り当てられた領域の幅に等しくセットされる。
現在ノードが垂直ページ境界線である場合には、右の子および左の子に割り当てられる領域の幅(W、W)は、次式で与えられる。
Figure 0004929397
Figure 0004929397
ここで、WNODEは現在ノードのスペース領域の幅である。
左側の子および右側の子に割り当てられる領域の高さは、現在ノードに割り当てられた領域の高さに等しくセットされる。
現在ノードが水平ページ境界線である場合には(図33のブロック650)、左側の子のスペース領域は、現在ノードに割り当てられたスペース領域の上側境界のできるだけ近くに位置づけられる(図33のブロック652)。
右側の子のスペース領域は、現在ノードに割り当てられたスペース領域の下側境界のできるだけ近くに位置づけられる(図33のブロック654)。
現在ノードが垂直ページ境界線である場合には(図33のブロック650)、左側の子のスペース領域は、現在ノードに割り当てられたスペース領域の左側境界のできるだけ近くに位置づけられる(図33のブロック656)。
右側の子のスペース領域は、現在ノードに割り当てられたスペース領域の右側境界のできるだけ近くに位置づけられる(図33のブロック658)。
左側子ノードの子にスペース領域を割り振り(図33のブロック660)、また、右側子ノードの子にスペース領域を割り振る(図33のブロック662)ために、上述のプロセスが繰り返される。
現在ノードのすべての子(直接、またはそれ以外)にページ・スペース領域が割り当てられるまで、このプロセスは繰り返される。
(VII.結論)
ここで詳細に説明される実施形態は、1つまたは複数のページ上にグラフィック・オブジェクトを配置する方法を提供する。
これらの実施形態は、それぞれのレイアウト(または配置)において1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する明示的な好みにより誘導または制御され得る。
いくつかの実施形態は、このような特徴を活用して、グラフィック・オブジェクトの異なる1つ1つを特別に目立たせる(すなわち、特徴づける)代替配置を作成する。
このようにして、これらの代替配置は、ページ上のグラフィック・オブジェクトの可能な配置の分布にわたるレイアウトのサンプリングをもたらす。
いくつかの実施形態は、このような特徴を活用して、ユーザーが、1つまたは複数のグラフィック・オブジェクトの相対的サイズに対する好みを入力できるようにし、そこで、このような相対的サイズの好みが、特定のレイアウトにおいてグラフィック・オブジェクトの一部のものを1つ1つ目立たせる(例えば、さらに大きくする)か、あるいは目立たなくする(例えば、さらに小さくする)ように、レイアウト作成プロセスを誘導する。
このようにして、ユーザーは、グラフィック・オブジェクトの特定配置に留意してないときでも、ユーザーの美的好みを満たすような上記グラフィック・オブジェクトの特定レイアウトまでこのシステムを誘導することができる。
他の実施形態は、併記の特許請求の範囲の範囲内にある。
60 システム
62 ページ割当てモジュール
64 ページ・レイアウト作成モジュール
66 ユーザー・インターフェース・モジュール
70 グラフィック・オブジェクト
98 最終レイアウト
100 グラフィック・オブジェクト
102 ページ
120 候補レイアウト
264 初期レイアウト作成モジュール
266 レイアウト評価モジュール
270 最終レイアウト作成モジュール

Claims (8)

  1. ページ(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)のそれぞれに対して、対応するグラフィック・オブジェクト・スコアを計算するステップと、
    前記対応するグラフィック・オブジェクト・スコアから、前記対応するレイアウト・スコアを計算するステップと
    を含む
    方法。
  2. 前記確かめるステップは、
    前記目標レンダリング・サイズのそれぞれを、前記グラフィック・オブジェクト(100)を配置するために割り振られた前記ページ(102)の総面積の一部分(fraction)にセットし、その割合を、すべてのグラフィック・オブジェクト(100)に割り当てられたそれぞれの公称サイズの合計に対する対応する前記公称サイズの比率に等しくしているステップ
    を含む
    請求項1に記載の方法。
  3. 前記決定するステップは、
    一連の逐次レイアウトを繰り返し構築するステップ
    を含み、
    前記一連の逐次レイアウトのそれぞれは、
    前記一連の逐次レイアウト中の直前のレイアウトに追加される前記グラフィック・オブジェクトの1つ(524、528、532)
    を含み、
    前記直前の逐次レイアウトにおける前記追加グラフィック・オブジェクト(524、528、532)のそれぞれ異なる相対的位置で定められた現在候補レイアウトに対して算出される、前記比較の1つ1つから計算されるそれぞれのスコアに基づいて、繰返しごとに、前記逐次レイアウトの現在の1つが、前記直前の逐次レイアウトから構築される
    請求項1に記載の方法。
  4. ページ(102)上にグラフィック・オブジェクト(100)を配置する方法であって、
    システムのページ・レイアウト作成モジュールが、前記グラフィック・オブジェクト(100)への対応する公称サイズであって、予め指定されたサイズである公称サイズの2つ以上のそれぞれ互いに異なる候補割当て(142、144)を決定するステップと、
    前記ページ・レイアウト作成モジュールが、前記ページ(102)上の前記グラフィック・オブジェクト(100)の1つまたは複数の候補レイアウト(120)から成る対応する組を、前記2つ以上の候補割当て(142、144)のそれぞれに基づいて構築するステップと、
    前記ページ・レイアウト作成モジュールが、前記1つまたは複数の候補レイアウト(120)を出力するステップと
    を含み、
    前記決定するステップは、
    前記グラフィック・オブジェクト(136)のそれぞれを、一組の所定のグラフィック・オブジェクト型クラスから選択された対応するクラスに分類するステップと、
    一連のグラフィック・オブジェクト(136)を、前記グラフィック・オブジェクト(136)にそれぞれ割り当てられたクラスに基づいて生成するステップと、
    前記一連のグラフィック・オブジェクトから、1つまたは複数の候補割当て(142、144)を作成するステップと
    を含む
    方法。
  5. 前記決定するステップは、前記候補割当て(142、144)の対応する1つ1つに対して、
    1つまたは複数の公称サイズから成る第1の組から選択された対応する公称サイズを、前記グラフィック・オブジェクト(136)のランダムな数のランダム選択物に割り当てるステップと、
    それぞれが前記第1の組の公称サイズの最小のものよりも小さい1つまたは複数の公称サイズから成る第2の組から選択された対応する公称サイズを、前記グラフィック・オブジェクト(136)の他の1つ1つに割り当てるステップと
    を含む
    請求項に記載の方法。
  6. 前記決定するステップは、
    前記候補割当て(142、144)の1つ1つを互いに比較するステップと、
    前記比較するステップに基づいて、互いに異なるものと判定された前記候補割当て(142、144)の1つまたは複数を選択するステップと
    を含み、
    前記出力するステップは、
    前記候補レイアウトの選択されなかったもの1つ1つの対応する仕様書(Specification)であって、最終的なレイアウトを記述するデータ構造を指定する仕様書を出力するのを控え(omit)ながら、前記候補割当て(142、144)の選択されたもの1つ1つに対応する前記候補レイアウト1つ1つの対応する仕様書を出力するステップ
    を含む
    請求項に記載の方法。
  7. ページ(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)のそれぞれに対して、対応するグラフィック・オブジェクト・スコアを計算することと、
    前記対応するグラフィック・オブジェクト・スコアから、前記対応するレイアウト・スコアを計算することと
    を含む
    システム。
  8. ページ(102)上にグラフィック・オブジェクト(100)を配置するシステムであって、
    前記グラフィック・オブジェクト(100)への対応する公称サイズであって、予め指定されたサイズである公称サイズの2つ以上のそれぞれ互いに異なる候補割当て(142、144)を決定し、
    前記ページ(102)上の前記グラフィック・オブジェクト(100)の1つまたは複数の候補レイアウト(120)から成る対応する組を、前記2つ以上の候補割当て(142、144)のそれぞれに基づいて構築し、
    前記1つまたは複数の候補レイアウト(120)を出力する
    ように作動するページ・レイアウト作成モジュール
    を備え
    前記決定することは、
    前記グラフィック・オブジェクト(136)のそれぞれを、一組の所定のグラフィック・オブジェクト型クラスから選択された対応するクラスに分類することと、
    一連のグラフィック・オブジェクト(136)を、前記グラフィック・オブジェクト(136)にそれぞれ割り当てられたクラスに基づいて生成することと、
    前記一連のグラフィック・オブジェクトから、1つまたは複数の候補割当て(142、144)を作成することと
    を含む
    システム。
JP2010514832A 2007-06-27 2008-06-27 相対エリア・ベースの制御を用いてのページ上のグラフィック・オブジェクトの配置 Expired - Fee Related JP4929397B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 그래픽스 데이터의 렌더링방법 및 시스템

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