特許第5698532号(P5698532)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト コーポレーションの特許一覧

特許5698532事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト
<>
  • 特許5698532-事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト 図000002
  • 特許5698532-事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト 図000003
  • 特許5698532-事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト 図000004
  • 特許5698532-事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト 図000005
  • 特許5698532-事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト 図000006
  • 特許5698532-事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト 図000007
  • 特許5698532-事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5698532
(24)【登録日】2015年2月20日
(45)【発行日】2015年4月8日
(54)【発明の名称】事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト
(51)【国際特許分類】
   G06F 17/21 20060101AFI20150319BHJP
   G06F 3/048 20130101ALI20150319BHJP
   G06T 11/60 20060101ALI20150319BHJP
   H04N 1/387 20060101ALI20150319BHJP
【FI】
   G06F17/21 610
   G06F3/048 651C
   G06T11/60 100A
   H04N1/387
【請求項の数】18
【全頁数】19
(21)【出願番号】特願2010-512263(P2010-512263)
(86)(22)【出願日】2008年6月1日
(65)【公表番号】特表2010-530107(P2010-530107A)
(43)【公表日】2010年9月2日
(86)【国際出願番号】US2008065464
(87)【国際公開番号】WO2008157012
(87)【国際公開日】20081224
【審査請求日】2011年4月15日
【審判番号】不服2013-13661(P2013-13661/J1)
【審判請求日】2013年7月16日
(31)【優先権主張番号】11/763,644
(32)【優先日】2007年6月15日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】500046438
【氏名又は名称】マイクロソフト コーポレーション
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100153028
【弁理士】
【氏名又は名称】上田 忠
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100119781
【弁理士】
【氏名又は名称】中村 彰吾
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(74)【代理人】
【識別番号】100173565
【弁理士】
【氏名又は名称】末松 亮太
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(74)【代理人】
【識別番号】100091063
【弁理士】
【氏名又は名称】田中 英夫
(72)【発明者】
【氏名】クリスタル リン ホイヤー
(72)【発明者】
【氏名】ローレンス ウォルドマン
(72)【発明者】
【氏名】ジェイソン スチュアート シュネクロス
(72)【発明者】
【氏名】トーマス チャールズ アンダーヒル
(72)【発明者】
【氏名】クリストファー マイケル ベッカー
【合議体】
【審判長】 金子 幸一
【審判官】 須田 勝巳
【審判官】 石川 正二
(56)【参考文献】
【文献】 米国特許出願公開第2004/0183830(US,A1)
【文献】 特開2006−107491(JP,A)
【文献】 八木 玲子 外1名,速報!大きく変わる機能と使い勝手 姿を見せ始めたWindows Vista,日経パソコン,日経BP社,2006年02月27日,第500号,p71〜91
【文献】 エクセルもワードもこんなに変わった! 丸ごと体験できるCD付き! マイクロソフト オフィス プロフェッショナル プラス 2007 ベータ2 CD&新機能ガイド−こんなに変わった! 新オフィス2007の操作画面−,アスキー ドットPC,株式会社アスキー,2006年08月01日,第9巻,第8号,p86〜93
【文献】 立山 秀利,旧製品との比較でわかったエクセル,ワード,アウトルック,パワーポイントの劇的変化 オフィス2007のスゴ技を即使う−オフィス共通編 操作の手順が驚くほど変わった7つの新機能を見てみよう!−,アスキー ドットPC,株式会社アスキー,2007年03月01日,第10巻,第3号,p40〜43
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/21
(57)【特許請求の範囲】
【請求項1】
1つまたは複数の画像、および前記画像の1つまたは複数に関連付けられたテキストをレイアウトするための方法であって、
前記1つまたは複数の画像および前記テキストを表示するためのキャンバス、および前記キャンバスの前記1つまたは複数の画像および前記テキストについての1つまたは複数の事前定義済みレイアウトの選択可能な1つまたは複数の視覚表現を表示するレイアウトギャラリを有するユーザインターフェースを表示することであって、前記キャンバス内のコンテンツの位置およびサイズを規定するための制約が規定されており、当該制約が、当該コンテンツに対して当該制約を適用したことにより、当該コンテンツが、そのコンテンツに対する指定境界をオーバーフローしたときに、当該制約を修正するための規則により修正されるものと、
前記1つまたは複数の画像および前記テキストを受け取ること、
前記1つまたは複数の視覚表現のうちの1つでのホバリングを検出することと、
ホバリングの検出に応答して、当該ホバリングが検出された視覚表現に対応する事前定義済みレイアウトに従ってライブプレビュー用に前記1つまたは複数の画像および前記テキストのレイアウトを動的に生成して表示すること、
事前定義済みレイアウトに従って前記1つまたは複数の画像および前記テキストをレイアウトするための要求を受け取ること、
前記要求に応答して、前記事前定義済みレイアウトに従って前記1つまたは複数の画像および前記テキスト用のレイアウトを生成すること、
前記キャンバスに前記レイアウトを表示すること
前記事前定義済みレイアウトに対する修正を受け取ること、
前記事前定義済みレイアウトに対する前記修正を受け取ることに応答して、前記制約を満足しつつ前記事前定義済みレイアウトのデザイン要素を維持して、前記修正を反映して前記レイアウトを動的に刷新すること、および、
前記レイアウトを表示すること、
を含むことを特徴とする方法。
【請求項2】
前記事前定義済みレイアウト用の追加のコンテンツを受け取ること、
前記事前定義済みレイアウト用の追加のコンテンツを受け取ることに応答して、前記事前定義済みレイアウトのデザイン要素を維持して、前記追加のコンテンツを組み込んで前記事前定義済みレイアウトを動的に刷新すること、および、
前記レイアウトを表示すること
をさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
第2の定義済みレイアウトに従って前記1つまたは複数の画像および前記テキストをレイアウトするための要求を受け取ること、
第2の定義済みレイアウトに従って前記画像およびテキストをレイアウトするための要求に応答して、前記第2の事前定義済みレイアウトに従って前記画像および前記テキスト用の第2のレイアウトを生成すること、および、
前記第2のレイアウトを表示すること
をさらに含むことを特徴とする請求項1に記載の方法。
【請求項4】
事前定義済みレイアウトに従って前記1つまたは複数の画像およびテキストをレイアウトするための要求を受け取ることが、前記レイアウトギャラリ内で表示された前記視覚表現のうちの1つの選択を受け取ることを含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記第2の事前定義済みレイアウトに従って前記1つまたは複数の画像およびテキストをレイアウトするための要求を受け取ることが、前記レイアウトギャラリ内で表示された前記視覚表現のうちの第2の1つの選択を受け取ることを含むことを特徴とする請求項4に記載の方法。
【請求項6】
前記1つまたは複数の画像の表現を含むコンテンツペインを表示することをさらに含むことを特徴とする請求項3に記載の方法。
【請求項7】
プロセッサとプログラムを記録した記録媒体とを備えた装置であって、前記グログラムは、前記プロセッサに請求項1乃至6のいずれかに記載の方法を実行させることを特徴とする装置。
【請求項8】
コンピュータによって実行されたとき請求項1乃至6のいずれかに記載の方法を前記コンピュータに実施させることになるコンピュータ実行可能命令が記憶されていることを特徴とするコンピュータ記憶媒体。
【請求項9】
1つまたは複数の画像、および前記画像の1つまたは複数に関連付けられたテキストをレイアウトするための方法であって、
1つまたは複数の事前定義済みレイアウトの1つまたは複数の選択可能な視覚表現を含むレイアウトギャラリを表示することであって、前記キャンバス内のコンテンツの位置およびサイズを規定するための制約が規定されており、当該制約が、当該コンテンツに対して当該制約を適用したことにより、当該コンテンツが、そのコンテンツに対する指定境界をオーバーフローしたときに、当該制約を修正するための規則により修正されるものと、
前記レイアウトギャラリ内で表示された前記視覚表現のうちの1つでのホバリングを検出することと、
ホバリングの検出に応答して、当該ホバリングが検出された視覚表現に対応する事前定義済みレイアウトに従ってライブプレビュー用に前記1つまたは複数の画像および前記テキストのレイアウトを動的に生成して表示すること、
前記レイアウトギャラリ内で表示された前記視覚表現のうちの1つの選択を受け取ること、および、
前記選択を受け取ることに応答して、前記選択された視覚表現に関連付けられた事前定義済みレイアウトに従って1つまたは複数の画像およびテキストのレイアウトを生成すること、および、
前記レイアウトを表示すること
を含み、
前記レイアウトギャラリ内で表示された前記表現のうちの第2の1つの選択を受け取ること、
第2の視覚的表現の前記選択を受け取ることに応答して、前記第2の視覚的表現に関連付けられた事前定義済みレイアウトに従って1つまたは複数の画像およびテキストの第2のレイアウトを生成すること、および、
前記第2のレイアウトを表示すること
をさらに含み、
前記レイアウトが前記レイアウトギャラリに隣接してキャンバス上で表示され、
前記事前定義済みレイアウトの修正または前記事前定義済みレイアウトに対する新しいコンテンツの追加を検出すること、および、それに応答して、前記制約を満足しつつ前記事前定義済みレイアウトのデザイン要素を維持して、前記修正を反映してまたは前記追加のコンテンツを組み込んで前記事前定義済みレイアウトを動的に刷新することを含む、
方法。
【請求項10】
前記1つまたは複数の画像の表現を含むコンテンツペインを、前記キャンバスに隣接して表示することをさらに含むことを特徴とする請求項9に記載の方法。
【請求項11】
プロセッサとプログラムを記録した記録媒体とを備えた装置であって、前記プログラムは、前記プロセッサに請求項9または10のいずれかに記載の方法を実行させることを特徴とする装置。
【請求項12】
コンピュータによって実行されたとき請求項9または10のいずれかに記載の方法を前記コンピュータに実施させることになるコンピュータ実行可能命令が記憶されていることを特徴とするコンピュータ記憶媒体。
【請求項13】
1つまたは複数の事前定義済みレイアウトに従って、1つまたは複数の画像を、前記画像の1つまたは複数に関連付けられたテキストと共にレイアウトするための方法であって、
レイアウトを提示するためのキャンバスを表示すること、
前記キャンバス上での前記1つまたは複数の画像および前記テキストの配置を受け取ること、
選択されたとき、前記キャンバス上の前記画像およびテキストを、対応する事前定義済みレイアウトに従ってレイアウトさせる、1つまたは複数の事前定義済みレイアウトの選択可能な視覚表現を含むレイアウトギャラリを、前記キャンバスに隣接して表示することであって、前記キャンバス内のコンテンツの位置およびサイズを規定するための制約が規定されており、当該制約が、当該コンテンツに対して当該制約を適用したことにより、当該コンテンツが、そのコンテンツに対する指定境界をオーバーフローしたときに、当該制約を修正するための規則により修正されるものと、
前記レイアウトギャラリ内で前記1つまたは複数の視覚表現のうちの1つでのホバリングを検出することと、
ホバリングの検出に応答して、当該ホバリングが検出された視覚表現に対応する事前定義済みレイアウトに従ってライブプレビュー用に前記1つまたは複数の画像および前記テキストのレイアウトを動的に生成して表示すること、
前記レイアウトギャラリ内の前記表現のうちの1つの選択を受け取ること、
前記表現のうちの1つの前記選択を受け取ることに応答して、前記選択された表現に対応する事前定義済みレイアウトに基づいて前記1つまたは複数の画像および前記テキストのレイアウトを動的に生成すること、
前記キャンバス上で前記レイアウトを表示すること、
前記事前定義済みレイアウトに対する修正を受け取ること、
前記事前定義済みレイアウトに対する前記修正を受け取ることに応答して、前記制約を満足しつつ前記事前定義済みレイアウトのデザイン要素を維持して、前記修正を反映して前記レイアウトを動的に刷新すること、および、
前記レイアウトを表示すること、
を含むことを特徴とする方法。
【請求項14】
前記レイアウトギャラリ内で表示された第2の表現の選択を受け取ること、
第2の表現の前記選択を受け取ることに応答して、前記選択された第2の表現に対応する事前定義済みレイアウトに基づいて前記1つまたは複数の画像および前記テキストのレイアウトを動的に刷新すること、および、
前記キャンバス上で前記刷新されたレイアウトを表示すること
をさらに含むことを特徴とする請求項13に記載の方法。
【請求項15】
前記1つまたは複数の画像の表現を含むコンテンツペインを、前記キャンバスに隣接して表示することをさらに含むことを特徴とする請求項14に記載の方法。
【請求項16】
前記コンテンツペイン内で表示された表現の選択により、対応する画像が前記キャンバス上で選択されることになることを特徴とする請求項15に記載の方法。
【請求項17】
プロセッサとプログラムを記録した装置であって、前記プログラムは、前記プロセッサに前記請求項13乃至16のいずれかに記載の方法を実行させることを特徴とする装置。
【請求項18】
コンピュータによって実行されたとき請求項13乃至16のいずれかに記載の方法を前記コンピュータに実施させることになるコンピュータ実行可能命令が記憶されていること
を特徴とするコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、事前定義済みレイアウトを使用する、画像および関連のテキストの動的レイアウト
【背景技術】
【0002】
多くのタイプのデスクトップアプリケーションでは、ユーザが自分の文書に画像および関連のテキストアノテーションを追加することができる。たとえば、多くのワードプロセッシングアプリケーション、スプレッドシートアプリケーション、およびプレゼンテーションアプリケーションでは、ユーザが文書に1つまたは複数の画像を挿入し、それらの画像に対してテキストアノテーションを配置することができる。しかし、これらのアプリケーションは、一般に、画像および関連のテキストアノテーションを互いに関係付けてどのようにレイアウトすべきかに関して、設計ガイダンスを提供しない、またはほとんど提供しない。それどころか、大抵のアプリケーションは、ユーザが手動で画像および関連のテキストアノテーションをレイアウトすることを必要とする。
【0003】
画像および関連のテキストアノテーションをレイアウトするための手動の手法は、非常に熟練した設計者に対して大きな柔軟性をもたらすが、大抵のユーザは、画像および関連のテキストのプロ級のレイアウトを生み出すのに必要な、創造的な設計技能を身につけていない。その結果、多数のユーザは、素人臭く見える、整然と並んでいないまたは不適切なサイズの画像と、おそらくは関連画像のレイアウトとして位置またはサイズが不適切なテキストアノテーションとを含む、画像および関連のテキストを有するレイアウトを作成することで終わる。多くの場合、手動で生成されたレイアウトでは、ユーザが望むメッセージが容易く伝わらない。
【0004】
一部のデスクトップアプリケーションは、静的なテンプレートを自動的に使用して、ページ上で複数の画像をレイアウトする際にユーザを支援するための限られた機能を提供する。しかし、これらのタイプのアプリケーションは、画像を動的にレイアウトせず、その画像に関連するテキストアノテーションをレイアウトするためのなんらかのガイダンスをも提供しない。さらに、これらのタイプのアプリケーションは、一般に、提供されるテンプレートの正確な構造および設計を使用することをユーザに強いる。ユーザは、画像または関連テキストの再配置または追加を通じて、テンプレートによって提供されるレイアウトを修正することが許されないことがある。これは、テキストアノテーション、またはテンプレートによって可能にされるより多い、もしくは少ない画像を含むレイアウトを作成しようと試みるユーザにとって期待はずれとなる可能性がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2006/0209093号公報
【特許文献2】米国特許出願公開第2006/0212801号公報
【特許文献3】米国特許出願公開第2006/0066631号公報
【発明の概要】
【0006】
これらの考慮すべき点などに関連して、本明細書の開示が提供されている。
【0007】
本明細書では、画像および関連テキストアノテーションを動的に配置するための技術について述べる。本明細書に提示されている技術および概念の使用を通じて、アプリケーションプログラムは、事前定義済みレイアウトを使用して、画像および関連のテキストアノテーションを動的にレイアウトすることができる。様々なレイアウトを画像およびそれらの関連のテキストアノテーションに適用することができ、事前定義済みレイアウトは、可能な最良のレイアウト確認するまで変更することができる。さらに、事前定義済みレイアウトは、そのレイアウトの図案要素(design elements)を依然として保持したまま、追加の画像またはアノテーションを追加することを可能にする。これらの技術の使用を通じて、事実上創造的な設計技能のないユーザが画像および関連のテキストアノテーションのプロ級のレイアウトを作成することができる。
【0008】
本明細書に提示されている一態様によれば、1つまたは複数の事前定義済みレイアウトが作成され、そのレイアウトを定義するデータがレイアウト定義ファイル内に格納される。各事前定義済みレイアウトは、1つまたは複数の画像および関連のテキストアノテーション用のレイアウトを指定する。具体的には、各事前定義済みレイアウトは、画像および任意の関連のテキストアノテーションを、互いに関係付けてどのようにサイズ設定および位置決めすべきか指定する。たとえば、レイアウトは、そのレイアウト内の画像の場所およびサイズを、それらの画像に関連付けられたテキストの場所、サイズ、およびスタイルと共に指定することができる。また、レイアウトは、追加の画像またはテキストがレイアウトに追加された場合、レイアウトをどのように修正すべきか指定することができる。下記で詳細に述べるように、レイアウト定義ファイルの内容を使用して、画像および関連のテキストを動的にレイアウトし、および新しいコンテンツを追加した後またはレイアウトを修正した後にレイアウトを刷新(regenerate)する。
【0009】
他の態様に従って、レイアウト定義ファイルの内容を使用し画像および関連のテキストを動的にレイアウトするように動作するアプリケーションプログラムについて本明細書で述べる。一実施例では、このアプリケーションプログラムは、画像および関連のテキストを動的にレイアウトするためのユーザインターフェースを提供する。このユーザインターフェースは、ユーザが1つまたは複数の画像を配置することができるキャンバスを含む。また、このユーザインターフェースは、キャンバス上に配置された画像に適用される事前定義済みレイアウトを選択することができるコントロールを含む。一実施例では、このコントロールは、キャンバスに隣接して表示されるレイアウトギャラリである。レイアウトギャラリは、使用可能な事前定義済みレイアウトのそれぞれに対応する、選択可能な視覚的表現を含む。視覚的表現の1つが選択されると、対応する事前定義済みレイアウトが、キャンバス上の画像に動的に割り当てられる。
【0010】
レイアウトが動的に生成および表示された後で、ユーザは、レイアウト内で追加の画像を追加する、またはテキストアノテーションを完成させることによって、レイアウトを修正することができる。また、ユーザは、レイアウト内の要素のサイズまたは位置を修正することができる。レイアウトの修正に応答して、レイアウト定義ファイルの内容が使用され、修正を鑑みてレイアウトを刷新する。たとえば、新しい画像が追加された場合、その新しい画像をレイアウトに適切に組み込むようにレイアウトを刷新することができる。また他の事前定義済みレイアウトを、レイアウトギャラリ内の視覚的表現の選択を通じて画像およびテキストに適用することもできる。
【0011】
他の態様によれば、レイアウトギャラリ内に表示される視覚的表現を使用し、レイアウトのプレビューを生成することができる。たとえば、一実施例では、ユーザインターフェースのマウスカーソルがレイアウトギャラリ内の視覚的表現の上でホバー(hover)されたとき、対応する事前定義済みレイアウトのライブプレビューが生成される。ホバリングは、ユーザ入力マウスカーソルを、マウスボタンを使用してオブジェクトを選択することなしに、オブジェクトの上に置くプロセスを指す。レイアウトのプレビューを生成させるために、マウス以外の他のタイプのユーザ入力デバイスを使用する他のユーザ入力機構を使用することができることを理解されたい。このようにしてプレビューを生成することによって、ユーザは、事前定義済みレイアウトを適用する前に、キャンバス上の画像に事前定義済みレイアウトを適用した結果を見ることができる。適切なレイアウトが識別されたとき、事前定義済みレイアウトを、適切な視覚的表現の選択を通じて適用することができる。
【0012】
本明細書で述べられている実施例は、画像および関連のテキストをレイアウトする任意のタイプのコンピュータプログラムに適用可能であることを理解されたい。たとえば、本明細書に提示されている概念は、ワードプロセッシングアプリケーションプログラム、スプレッドシートアプリケーションプログラム、プレゼンテーションアプリケーションプログラム、デスクトップパブリッシングアプリケーションプログラム、および他のタイプのアプリケーションプログラムで使用することができる。また、上述の主題は、コンピュータによって制御される装置、コンピュータプロセス、コンピューティングシステムとして、またはコンピュータ可読媒体などの製品として実施することができる。これらの、また様々な他の特徴は、以下の詳細な説明を読み、関連の図面を検討すれば明らかになるであろう。
【0013】
この概要は、以下、詳細な説明でさらに述べられる概念の集まりを、簡潔な形態で紹介するために提供されている。この概要は、特許請求されている主題の重要な特徴または不可欠な特徴を識別することが意図されているものでも、特許請求されている主題の範囲を限定するためにこの概要が使用されることが意図されているものでもない。さらに、特許請求されている主題は、この開示のいずれかの部分に示されている欠点の一部またはすべてを解決する実施例に限定されない。
【図面の簡単な説明】
【0014】
図1】一実施例で提示されている、レイアウト定義ファイルの内容およびそこに定義されるいくつかの事前定義済みレイアウトをグラフィックに示す図である。
図2】本明細書に提示されている一実施形態における、事前定義済みレイアウトを使用して画像および関連のテキストを動的にレイアウトすることができるアプリケーションプログラムによって提供されるユーザインターフェースの態様を示す画面図である。
図3】本明細書に提示されている一実施形態における、事前定義済みレイアウトを使用して画像および関連のテキストを動的にレイアウトすることができるアプリケーションプログラムによって提供されるユーザインターフェースの態様を示す画面図である。
図4】本明細書に提示されている一実施形態における、事前定義済みレイアウトを使用して画像および関連のテキストを動的にレイアウトすることができるアプリケーションプログラムによって提供されるユーザインターフェースの態様を示す画面図である。
図5】本明細書に提示されている一実施形態における、事前定義済みレイアウトを使用して画像および関連のテキストを動的にレイアウトすることができるアプリケーションプログラムによって提供されるユーザインターフェースの態様を示す画面図である。
図6】本明細書で述べられている一実施例における、事前定義済みレイアウトを使用して画像および関連のテキストを動的にレイアウトするための例示的なプロセスを示す流れ図である。
図7】本明細書に提示されている実施形態を実施することができるコンピューティングシステムのための例示的なコンピュータハードウェア/ソフトウェアアーキテクチャを示すコンピュータアーキテクチャ図である。
【発明を実施するための形態】
【0015】
以下の詳細な説明は、事前定義済みレイアウトを使用して画像および関連のテキストを動的に配置するための技術を対象とする。本明細書に提示されている実施形態の使用を通じて、アプリケーションプログラムは、事前定義済みレイアウトを使用する、画像および関連のテキストの自動化された動的な配置を実現することができる。本明細書に提示されている概念および技術を実施するアプリケーションプログラムを使用して、ユーザは、画像および関連のテキストアノテーションのプロ級のレイアウトを容易に生成することができる。
【0016】
本明細書で述べられている主題は、コンピュータシステム上でのオペレーティングシステムおよびアプリケーションプログラムの実行と共に実行されるプログラムモジュールの一般的な状況で提示されているが、他の実施例を他のタイプのプログラムモジュールと組み合わせて実施することができることを、当業者なら理解するであろう。一般に、プログラムモジュールは、特定のタスクを実施する、または特定の抽象データ型を実装する、ルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造を含む。さらに、本明細書で述べられている主題は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサをベースとする、またはプログラム可能な家電、ミニコンピュータ、メインフレームコンピュータなどを含めて、他のコンピュータシステム構成と共に実施することができることを、当業者なら理解するであろう。
【0017】
以下の詳細な説明では、その一部を形成する、かつ例として特定の実施形態または実施例を示す添付の図面を参照する。次に、同様の符号がいくつかの図全体にわたって同様の要素を表す図面を参照して、画像および関連のテキストをレイアウトするためのコンピューティングシステムおよび方法の態様について述べる。
【0018】
次に、図1を参照して、事前定義済みレイアウトを使用して画像およびその画像に関連付けられたテキストを動的に配置するための、本明細書に提示されている一実施形態について詳述する。具体的には、図1は、アプリケーションプログラム100およびレイアウト定義ファイル102の態様を示す。アプリケーションプログラム100は、画像およびテキストを動的にレイアウトするときレイアウト定義ファイル102の内容を使用する。アプリケーションプログラム100は、それだけには限らないが、ワードプロセッシングアプリケーションプログラム、スプレッドシートアプリケーションプログラム、プレゼンテーション作成アプリケーションプログラム、ウェブページ設計プログラム、またはデスクトップパブリッシングアプリケーションプログラムを含めて、画像および関連のテキストをレイアウトする任意のタイプのアプリケーションプログラムとすることができることを理解されたい。本明細書に提示されている概念は、アプリケーションプログラムと共に使用し任意の特定の機能を実施することに限定されない。
【0019】
一実施例によれば、レイアウト定義ファイル102は、1つまたは複数のレイアウト104A〜104Dを定義するデータを格納する。レイアウト104A〜104Dはそれぞれ、1つまたは複数の画像について、またそれらの画像に関連付けられたテキストについて、配置、サイズ、および他の特性を定義する。たとえば、レイアウト104Aは、6つの画像106A〜106Dと、それらの画像に関連するテキスト108A〜108Dとを含む。レイアウト104Bは、1つの画像106Gと、画像106Gを横切って水平に配向されたテキスト108Gとを含む。レイアウト104Cは、3つの画像106H〜106Jと、画像間に配置されたテキスト108Hとを含む。レイアウト104Dは、1つの画像106K、およびテキスト108Iを含む。図1に示されているレイアウト104A〜104Dが例示的なものにすぎないこと、また、レイアウト定義ファイル102は、画像および/または関連のテキストの任意の配置を有する任意の数のレイアウトを定義することができることを理解されたい。
【0020】
本明細書に提示されている他の態様によれば、レイアウト定義ファイル102はまた、各レイアウト内で画像およびテキストを動的にレイアウトする際にアプリケーションプログラムが使用するためのデータを格納する。このデータはまた、レイアウト内での画像もしくはテキストの再配置またはレイアウトに対する新しい画像もしくはテキストの追加など、レイアウトに対する修正の後で、アプリケーションプログラム100がレイアウトを動的に生成することを可能にする。一実施例では、このデータは、各レイアウトを動的に生成するための制約および規則として格納される。アプリケーションプログラム100は、これらの制約および規則を使用し、レイアウト内で画像およびテキストのそれぞれをレイアウトし、また修正の後でそのレイアウトを刷新する。
【0021】
制約は、コンテンツオブジェクトをアプリケーションプログラムがどのようにレイアウトすべきか定義する。コンテンツオブジェクトは、画像、動画、テキスト、または他のタイプのデジタルメディアとすることができる。制約は、各コンテンツオブジェクトの位置およびサイズを定義するデータを含むことができる。各オブジェクトのサイズおよび位置は、他のオブジェクトに対して、または他のオブジェクトから独立に定義することができる。また、制約は、各コンテンツオブジェクトをどのようにフォーマットすべきか定義する。たとえば、テキストオブジェクト用の制約は、フォントフェース、フォントサイズ、位置合わせ、行揃え、およびテキストのための他のフォーマット特性を定義することができる。制約は、数値またはブール値を含むことができる。数値制約は、特定の数値を指定することができる(たとえば、幅=1インチ(2.54cm))。また、数値制約は、参照を使用して他の制約を参照することによってそれらの値を定義することができる(たとえば、高さ=幅×0.75)。
【0022】
アプリケーションプログラム100は、レイアウト定義ファイル102内で定義された規則を使用し、制約を修正することができる。具体的には、規則は、コンテンツをレイアウト内にはめ込もうと試みるために1つまたは複数の制約をどのように修正するか定義する。たとえば、アプリケーションプログラム100は、コンテンツオブジェクトに対して制約を適用したことにより、コンテンツが、そのコンテンツオブジェクトに対する指定境界をオーバーフローしたとき制約を修正するために規則を使用する。例として、レイアウトにとって大きすぎる画像がレイアウトに追加された場合、レイアウトに合うように、画像を動的に縮尺、トリミング、ストレッチ、または他の方法でサイズ変更することができる。これらの動作は、画像の内容を保存するように非破壊的な仕方で実施することができる。諸実施形態では、いくつかの動作が破壊的な仕方で実施されてもよい。別の例として、制約では、テキストオブジェクト用のフォントサイズが14ポイントであることを指定することができる。次に、規則では、そのテキストをレイアウトにはめ込もうと試みる際にフォントサイズを8ポイントに縮小することができることを指定することができる。規則および制約は、レイアウト内での一貫性を確保するために、相異なるオブジェクト間で伝播(propagate)されてもよいことを理解されたい。このようにして、たとえば、レイアウト内のテキストまたは画像すべてを同じサイズにすることができる。アプリケーションプログラム100は、レイアウト内にあるテキストの量または画像の量に応じて、テキストまたは画像のサイズを動的に調整することになる。
【0023】
他の実施例によれば、レイアウト定義ファイル102はまた、コンテンツをレイアウトするためにアプリケーションプログラム100によって使用されるべきレイアウトアルゴリズムを指定することができる。たとえば、レイアウト定義ファイル102はまた、テキストをレイアウト内に配置するためにアプリケーションプログラム100によって使用される、テキストをレイアウトするためのアルゴリズムを指定することができる。また、他のタイプのコンテンツオブジェクト用の、他のタイプのレイアウトアルゴリズムを、レイアウト定義ファイル102内で指定することができる。また、ユーザがレイアウト定義ファイル102に新しいレイアウトを追加することが許されてもよい。
【0024】
一実施例によれば、レイアウト定義ファイル102の内容は、拡張マークアップ言語(XML)を使用して指定される。XMLは、データを通信するための標準的なフォーマットである。XMLデータフォーマットでは、スキーマが使用され、通信することができるデータのタイプおよび構造を支配する文法規則およびデータ型規則のセットをXMLデータに提供する。XMLデータフォーマットは当業者に周知であり、したがって本明細書ではこれ以上詳細に論じない。レイアウト定義ファイル102の内容、ならびに画像およびテキストを動的にレイアウトするためにアプリケーションプログラム100によって使用されるプロセスに関する追加の詳細は、2005年3月15日に出願された「Method and Computer−Readable Medium for Generating Graphics Having a Finite Number of Dynamically Sized and Positioned Shapes」という名称の特許出願(特許文献1参照)、2006年3月15日に出願された「Method and Computer−Readable Medium for Fitting Text to Shapes Within a Graphic」という名称の特許出願(特許文献2参照)、2004年9月30日に出願された「Method, System, and Computer−Readable Medium for Creating and Laying Out a Graphic Within an Application Program」という名称の特許出願(特許文献3参照)に見出すことができ、これらのそれぞれは、その全体を参照により明確に本明細書に組み込む。
【0025】
次に図2を参照して、画像および関連のテキストを動的にレイアウトするための一実施形態におけるアプリケーション100によって提供される例示的なユーザインターフェース202について述べる。図2に示されているように、ユーザインターフェース202は、キャンバス206を含む。キャンバス206は、レイアウト用の画像およびテキストを保持するために使用される。ユーザは、挿入操作、または「カットアンドペースト」操作など、適切な操作を通じてキャンバス206上に画像を配置することができる。たとえば、図2に示されている例では、ユーザが画像106Lをキャンバス206上に配置済みである。キャンバス206は、アプリケーションプログラム100の性質に応じて様々な形態をとることができることを理解されたい。たとえば、アプリケーションプログラム100がプレゼンテーションアプリケーションプログラムである場合、キャンバス206は、スライドプレゼンテーション内の単一のスライドであってもよい。アプリケーションプログラム100がワードプロセッシングアプリケーションプログラム100である場合、キャンバス206は、ワードプロセッシング文書内のページを含むことができる。アプリケーションプログラム100がスプレッドシートアプリケーションプログラムである場合、キャンバス206は、スプレッドシートの一部分を含むことができる。キャンバス206は、他のタイプのアプリケーションプログラムによって実装されるとき他の形態をとることができる。
【0026】
また、図2に示されているユーザインターフェース202は、レイアウトギャラリ204を含む。レイアウトギャラリ204は、キャンバス206上に配置された画像に動的に適用することができる事前定義済みレイアウトの、選択可能な視覚的表現210A〜210Dを含む。視覚的表現210A〜210Dのそれぞれは、レイアウトに対応する。マウスボタンまたは他のタイプのユーザ入力デバイスを使用することによってなど、視覚的表現が選択されたとき、対応するレイアウトが、キャンバス206上に配置されている画像およびテキストに適用されることになる。たとえば、視覚的表現210Aは、単一の画像を有しテキストを有していないレイアウトに対応する。視覚的表現210Bは、単一の画像と、その画像を横切って水平にレイアウトされたテキストとに対応する。視覚的表現210Cは、3つの画像を有するレイアウトに対応し、テキストがそれらの3つの画像の間に配置される。視覚的表現210Dは、2つの画像を有するレイアウトに対応し、テキストが両画像を横切って垂直に配置される。
【0027】
諸実施例によれば、ユーザインターフェース202はまた、画像調整パレット208を含むことができる。画像調整パレット208は、キャンバス206上に配置された画像を調整するためのユーザインターフェースコントロール212A〜212Cを提供する。たとえば、ユーザインターフェースコントロール212Aは、選択されたとき、画像の明るさを調整するための機能を提供し、ユーザインターフェースコントロール212Bは、画像のコントラストを調整するための機能を提供し、ユーザインターフェースコントロール212Cは、画像の色を調整するための機能を提供する。画像の内容を調整するために、他のツールを同様の仕方で提供することができる。
【0028】
他の実施例によれば、ユーザインターフェース202はまた、コンテンツペイン214を含む。コンテンツペイン214は、キャンバス206上に陳列されているデータモデルの視覚的表現を提供する。具体的には、一実施形態では、コンテンツペイン214は、キャンバス206上の各画像に対するサムネイル画像を含む。たとえば、図2に示されている例では、コンテンツペイン214は、画像106Lに対応するサムネイル216Aを含む。サムネイル画像は、画像に対するスタイルの適用など、対応する画像に対して加えられた修正を反映することができる。また、コンテンツペイン214は、キャンバス上の各画像に関連付けられたテキストを含む。
【0029】
諸実施例によれば、コンテンツペイン214を使用し、キャンバス206上にある画像およびテキストを選択および編集することができる。たとえば、一実施例では、コンテンツペイン内でサムネイル画像を選択することにより、キャンバス上の対応する画像もまた選択されることになる。また、コンテンツペイン214内に示されているテキストをも、選択および編集することができる。そのような編集は、キャンバス206上に示されているテキストに反映される。また、コンテンツペイン214を使用し、追加のノードをデータモデルに追加すること、ノードをデータモデルから除去すること、ノードの順番を変更すること、また他の編集機能を実施することができる。
【0030】
次に図3を参照すると、本明細書に提示されている一実施形態におけるユーザインターフェース202の態様についてさらに詳述する。この実施形態では、ユーザインターフェース202は、ユーザコマンドに応答して、選択されたレイアウトのライブプレビューを提供するように動作する。具体的には、この実施形態では、ユーザは、マウス入力デバイスを使用し、マウスカーソル302を視覚的表現210A〜210Dの1つの上でホバーすることができる。そのような入力を検出したことに応答して、アプリケーションプログラム100は、対応する事前定義済みレイアウトに従ってキャンバス206上にある画像を動的にレイアウトするように動作する。生成されたレイアウトは、プレビューとして表示される。すなわち、生成されたレイアウトは、実際にはキャンバス206上の画像に適用されない。より正確に言えば、レイアウトは、一時的にユーザに対して表示されるにすぎない。このようにして、ユーザは、マウスカーソル302を視覚的表現210A〜210Dのそれぞれの上でホバーし、対応するレイアウトがキャンバス206の内容に割り当てられたときどのように見えることになるかについてプレビューを得ることができる。他のユーザ入力デバイスを使用する他のタイプのユーザ入力を使用し、プレビューを生成させることができることを理解されたい。
【0031】
図3に示されている例では、マウスカーソル302は、視覚的表現210Bの上でホバー中である。その結果、アプリケーションプログラム100は、キャンバス上にある単一の画像106Lを使用して、レイアウト304Aのプレビューを生成および表示している。レイアウト304Aはテキスト108Jを含み、テキスト108Jは、キャンバス206上およびコンテンツペイン214内で反映されている。レイアウト304Aは、実際にはキャンバス206の内容に適用されていないことを理解されたい。その結果、マウスカーソル302が視覚的表現210Bから離されると、キャンバス206は、再び図1のように見えることになる。マウスホバーイベントは、レイアウトのライブプレビューを生成および表示すべきであることをアプリケーションプログラム100に対して示すための1つの機構にすぎないことをも理解されたい。他のタイプのユーザ入力機構をも同様な仕方で使用することができる。図5に関連して下記でより詳細に述べるように、マウスボタンの使用を通じてなど、視覚的表現210A〜210Dの1つを選択することにより、選択された視覚的表現に対応するレイアウトが、キャンバス206の内容に動的に適用されることになる。
【0032】
次に図4を参照して、一実施形態において提供されるユーザインターフェース202の動作に関する追加の詳細について述べる。図4に示されている例では、ユーザがマウスカーソル302とマウスボタンとを使用し、視覚的表現210Dを選択した。その結果、視覚的表現210Dに対応するレイアウトが、図4に示されているキャンバス206の内容に動的に適用されている。これにより、図4におけるキャンバス206上に示されているレイアウト304Bが得られる。
【0033】
図4に示されているように、レイアウト304Bは、画像106Lと、テキスト108Jとを含む。この例では、ユーザは、プレースホルダテキストを「Our Lake House(私たちの湖の家)」という文句で置き換えた。視覚的表現210Dが選択されたときキャンバス206上に画像が1つしかなかったため、画像106Mに対してキャンバス上にプレースホルダが配置されている。ユーザは、キャンバス206上で定位置に画像を挿入し、プレースホルダを置き換えることができる。また、ユーザは、テキスト108Kを選択し、新しいテキストをタイプすることによって、テキスト108Kを修正することができる。タイプされたテキストがテキスト108Kに取って代わることになる。諸実施形態によれば、テキストアノテーションは、キャプションを含んでも、参照に動的に結びつけられてもよいことを理解されたい。
【0034】
下記でより詳細に述べるように、ユーザはまた、いつでも視覚的表現210A〜210Dをどれでも選択し、対応するレイアウトをキャンバスの内容に適用させることができる。ユーザが新しい視覚的表現を選択すると、現在のレイアウト内の画像が、選択された視覚的表現に対応する新しいレイアウトに繰り越される。このようにして、ユーザは、レイアウト内で使用しようとする画像を選択し直す必要なしにレイアウト間を迅速に移動することができる。
【0035】
キャンバスの内容にレイアウトを適用したことに応答して、ユーザインターフェース202はまた、スタイルパレット404と、レイアウト修正パレット402とを提示している。スタイルパレット404は、レイアウト304B内の画像およびテキストに適用されたスタイルを調整するためのユーザインターフェースオブジェクト212G〜212Jを含む。たとえば、ユーザインターフェースオブジェクト212Gを選択し、テキストまたは画像背景の色など、レイアウト304B内の色を修正することができる。ユーザインターフェースオブジェクト212H〜212Iを選択し、異なるスタイルをレイアウト304Bに適用することができる。ユーザインターフェースオブジェクト212Jを選択し、スタイルパレット404内に示されていない追加のスタイルにアクセスすることができる。本明細書で述べられていない、画像を修正するための他の機能をも提供することができることを理解されたい。
【0036】
レイアウト修正パレット402は、レイアウトを修正するための機能を提供する。たとえば、ユーザインターフェースオブジェクト212Dは、選択されたとき、ユーザが別の画像をレイアウトに追加することを可能にする機能を提供する。ユーザインターフェースオブジェクト212Eは、選択されたとき、ユーザが追加のテキストをレイアウトに追加することを可能にする機能を提供する。ユーザインターフェースオブジェクト212Fは、選択されたとき、レイアウトに対する、ユーザによって加えられたどの修正をも除去することによって、レイアウトをリセットする機能を提供する。新しい画像またはテキストの追加など、修正がレイアウトに加えられたとき、アプリケーションプログラム100は、図1を参照して上述した仕方で、レイアウト定義ファイル102の内容を使用して、レイアウトを動的に刷新する。また、画像がレイアウト内で表示される順番を修正するための機能を提供することができる。たとえば、一実施例では、ユーザは、画像を選択およびドラッグし、画像の順番をレイアウト内で互いに変更することができる。
【0037】
やはり図4に示されているように、コンテンツペイン214は、キャンバスに対する選択されたレイアウトの適用を反映するように更新されている。具体的には、テキスト108Jが、画像サムネイル216Aに隣接して表示されている。また、画像106Mに対応する画像サムネイル216Bが、対応するテキスト108Kに沿って表示されている。上記で論じたように、画像サムネイル216A〜216Bは、それぞれ対応する画像106L〜106Mを選択するために使用することができる。また、コンテンツペイン214を使用し、上述の、他のテキスト編集操作を実施することができる。
【0038】
次に、図5を参照して、ユーザインターフェース202の動作についてさらに詳述する。具体的には、図5は、レイアウトを変更するプロセスを示す。上述のように、いつでも視覚的表現210A〜210Dの1つを選択することにより、キャンバス206の内容に、対応するレイアウトが適用されることになる。図5に示されている例では、ユーザは、マウスカーソル302を用いて、またマウスボタンを押して視覚的表現210Bを選択した。その結果、対応するレイアウトが、キャンバス206の内容に適用されており、図4に示されているレイアウト304Bが、図5に示されているレイアウト304Aと置き換えられている。レイアウト304Aは、画像106Lと、テキスト108Jとを含む。キャンバス206の内容にレイアウトを適用することは非破壊的であり、いつでも新しいレイアウトを、キャンバス206上の画像およびテキストに動的に適用することができることを理解されたい。
【0039】
次に図6を参照して、画像および関連のテキストを動的にレイアウトするための、本明細書に提示されている実施形態についてさらに詳述する。具体的には、図6は、事前定義済みレイアウトを使用して画像および関連のテキストを動的にレイアウトするためにアプリケーションプログラム100によって実施される例示的なプロセスの態様を示すルーチン600を示す流れ図である。本明細書で述べられている論理オペレーションは、(1)一連の、コンピュータによって実施される働き(act)もしくはコンピューティングシステム上で動作するプログラムモジュールとして、および/または(2)コンピューティングシステム内の相互接続された機械論理回路または回路モジュールとして実装されることを理解されたい。実装は、コンピューティングシステムの性能および他の要件によって決まる選択の問題である。したがって、本明細書で述べられている論理オペレーションは、オペレーション、構造デバイス、働き、またはモジュールとして様々に称される。これらのオペレーション、構造デバイス、働き、およびモジュールは、ソフトウェア、ファームウェア、専用デジタル論理で、またそれらの任意の組合せで実装することができる。また、図に示され本明細書で述べられているものより多い、または少ないオペレーションを実施することができることを理解されたい。また、これらのオペレーションは、本明細書で述べられているものと異なる順番で実施することができる。
【0040】
ルーチン600は、オペレーション602で始まり、ここでユーザは、1つまたは複数の画像をキャンバス206上に配置する。次いで、ルーチン600は、オペレーション604に進み、ここでアプリケーションプログラム100は、レイアウトギャラリ204を表示する。ルーチン600は、オペレーション604からオペレーション606に進み、ここでアプリケーションプログラム100は、マウスカーソル302が、レイアウトギャラリ204内に示されている視覚的表現210A〜210Dの1つの上でホバーしているかどうか判定する。ホバーしている場合、ルーチン600は、オペレーション606からオペレーション608に分岐し、ここで、その視覚的表現に対応するレイアウトのライブプレビューが、図3に関連して上述した仕方で表示される。ルーチン600は、オペレーション608から、下記で述べるオペレーション610に進む。
【0041】
オペレーション606でマウスカーソル302が視覚的表現210A〜210Dの1つの上でホバーしていないとアプリケーションプログラム100が決定した場合、ルーチン600は、オペレーション610に進む。オペレーション610では、アプリケーションプログラム100は、マウスカーソル302および対応するマウスボタンクリックを用いて選択することによってなど、視覚的表現210A〜210Dの1つが選択されているかどうか判定する。選択されていない場合、ルーチン600は、上述のオペレーション606に戻る。視覚的表現210A〜210Dの1つが選択され、それによって、対応するレイアウトをキャンバス206の内容に適用すべきであることを示す場合、ルーチン600は、オペレーション610からオペレーション612に進む。
【0042】
オペレーション612では、アプリケーションプログラム100は、図1に関連して上述した仕方で、適切なレイアウトをキャンバス206上の画像およびテキストに動的に適用する。次いで、ルーチン600は、オペレーション614に進み、ここでアプリケーションプログラム100は、視覚的表現210A〜210Dの1つの選択を通じて新しいレイアウトが要求されているかどうか判定する。要求されている場合、ルーチン600は、上述のオペレーション612に戻り、ここでアプリケーションプログラム100は、図1に関連して上述した仕方で、適切なレイアウトをキャンバス206の内容に動的に適用する。新しいレイアウトが要求されていない場合、ルーチン600は、オペレーション614からオペレーション616に進む。
【0043】
オペレーション616では、アプリケーションプログラム100は、現在のレイアウトが修正されている、または追加のコンテンツが現在のレイアウトに追加されているかどうか判定する。どちらでもない場合、ルーチン600は、上述のオペレーション614に戻る。どちらかである場合、ルーチン600は、オペレーション618に進む。オペレーション618では、アプリケーションプログラム100は、修正をレイアウトに適切に組み込むために、レイアウト定義ファイル102を使用して現在のレイアウトを動的に刷新する。次いで、ルーチン600は、オペレーション618から、上述のオペレーション614に進む。
【0044】
図7は、画像および関連のテキストアノテーションをレイアウトするための、本明細書で述べられているソフトウェアコンポーネントを実行することができるコンピュータ700用の例示的なコンピュータアーキテクチャを示す。図7に示されているコンピュータアーキテクチャは、従来のデスクトップ、ラップトップコンピュータ、またはサーバコンピュータを示し、本明細書で述べられているアプリケーションプログラム100の任意の態様を実行するために使用することができる。
【0045】
図7に示されているコンピュータアーキテクチャは、中央処理装置702(CPU)と、ランダムアクセスメモリ714(RAM)および読出し専用メモリ(ROM)716を含むシステムメモリ708と、メモリをCPU702に結合するシステムバス704とを含む。 起動中などにコンピュータ700内の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システムは、ROM716内に記憶されている。コンピュータ700は、オペレーティングシステム718、アプリケーションプログラム、および他のプログラムモジュールを記憶するための大容量記憶装置710をさらに含み、これについては下記でより詳細に述べる。
【0046】
大容量記憶装置710は、バス704に接続された大容量記憶コントローラ(図示せず)を介してCPU702に接続される。大容量記憶装置710、およびその関連のコンピュータ可読媒体は、コンピュータ700用の不揮発性記憶を実現する。本明細書に含まれているコンピュータ可読媒体の説明は、ハードディスクまたはCD−ROMドライブなど大容量記憶装置を参照するが、コンピュータ可読媒体は、コンピュータ700によってアクセスすることができる任意の使用可能なコンピュータ記憶媒体とすることができることを、当業者なら理解されたい。
【0047】
限定ではなく例を挙げると、コンピュータ可読媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報を記憶するための任意の方法または技術で実施される揮発性と不揮発性、取外し式と非取外し式の媒体が含まれる。たとえば、コンピュータ可読媒体には、それだけには限らないが、RAM、ROM、EPROM、EEPROM、フラッシュメモリもしくは他の固体メモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、HD−DVD、ブルーレイもしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または、所望の情報を記憶するために使用することができ、コンピュータ700によってアクセスすることができる任意の他の媒体が含まれる。
【0048】
本発明の様々な実施形態によれば、コンピュータ700は、インターネット720などネットワークを介して、遠隔コンピュータに対する論理接続を使用してネットワーク環境内で動作することができる。コンピュータ700は、バス704に接続されたネットワークインターフェースユニット706を介してネットワーク720に接続することができる。ネットワークインターフェースユニット706はまた、他のタイプのネットワークおよび遠隔コンピュータシステムに接続するために使用することができることを理解されたい。また、コンピュータ700は、キーボード、マウス、または電子スタイラス(図7に示さない)を含めて、いくつかの他のデバイスから入力を受け取り、処理するための入出力コントローラ712を含むことができる。同様に、入出力コントローラは、ディスプレイ画面、プリンタ、または他のタイプの出力デバイス(やはり図7に示さない)に出力を送ることができる。
【0049】
上記で簡潔に述べたように、いくつかのプログラムモジュールおよびデータファイルは、ネットワーク化されたデスクトップコンピュータ、ラップトップコンピュータ、またはサーバコンピュータの動作を制御するのに適したオペレーティングシステム718を含めて、コンピュータ700の大容量記憶装置710およびRAM714内に記憶することができる。大容量記憶装置710およびRAM714はまた、1つまたは複数のプログラムモジュールを記憶することができる。具体的には、大容量記憶装置710およびRAM714は、事前定義済みレイアウトを使用して画像および関連のテキストを動的にレイアウトするための、本明細書で述べられている機能を提供するアプリケーションプログラム100を記憶することができる。大容量記憶装置710およびRAM714はまた、アプリケーションプログラム100によって使用されるレイアウト定義ファイル102および画像106を記憶することができる。
【0050】
前述に基づいて、画像および関連のテキストを動的にレイアウトするための技術が本明細書に提示されていることを理解されたい。本明細書に提示されている主題について、コンピュータの構造的特徴、方法上の働き、およびコンピュータ可読媒体に特有の言葉で述べたが、添付の特許請求の範囲に規定されている本発明は、必ずしも本明細書で述べられている特定の特徴、働き、または媒体に限定されないことを理解されたい。それどころか、これらの特定の特徴、働き、または媒体は、特許請求の範囲を実施する例示的な形態として開示されている。
【0051】
上述の主題は、例として提供されているものにすぎず、限定するものと解釈すべきでない。図示され述べられている例示的な実施形態および応用例に従うことなしに、また以下の特許請求の範囲に述べられている本発明の真の精神および範囲から逸脱することなしに、様々な修正および変更を、本明細書で述べられている主題に加えることができる。
図1
図2
図3
図4
図5
図6
図7