IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ セールスフォース ドット コム インコーポレイティッドの特許一覧

特許7114366様々な電子デバイスとのプレゼンテーションのコラボレーション
<>
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図1
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図2
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図3A
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図3B
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図3C
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図3D
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図4
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図5
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図6
  • 特許-様々な電子デバイスとのプレゼンテーションのコラボレーション 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-29
(45)【発行日】2022-08-08
(54)【発明の名称】様々な電子デバイスとのプレゼンテーションのコラボレーション
(51)【国際特許分類】
   G06T 11/60 20060101AFI20220801BHJP
   G06F 3/0481 20220101ALI20220801BHJP
【FI】
G06T11/60 100D
G06F3/0481
【請求項の数】 23
【外国語出願】
(21)【出願番号】P 2018122774
(22)【出願日】2018-06-28
(65)【公開番号】P2019032826
(43)【公開日】2019-02-28
【審査請求日】2021-06-23
(31)【優先権主張番号】15/637,729
(32)【優先日】2017-06-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506332063
【氏名又は名称】セールスフォース ドット コム インコーポレイティッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】ドリュー ハムリン
(72)【発明者】
【氏名】アンドリュー チャン
(72)【発明者】
【氏名】ウィリアム ジョーゼフ フリン ザ サード
【審査官】永野 志保
(56)【参考文献】
【文献】特開2010-176520(JP,A)
【文献】国際公開第2011/122402(WO,A1)
【文献】特開2013-120414(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 11/60
G06F 40/103
G06F 3/0481
(57)【特許請求の範囲】
【請求項1】
コンピュータで実施される方法であって、
少なくとも1つのプロセッサによって、複数のレイアウトセグメントを含むプレゼンテーションスライドを受け取るステップであり、
前記複数のレイアウトセグメントは、前記プレゼンテーションスライドの視覚的な分割に対応しており、かつ、
前記複数のレイアウトセグメントの各レイアウトセグメントは、前記各レイアウトセグメントの中へ第1オブジェクトをインタラクティブに挿入することに応じて、異なるレイアウト結果を自動的に生成するように構成された異なるレイアウトルールに関連付けられている、
ステップと、
前記少なくとも1つのプロセッサによって、電子デバイスについてデバイス特性を決定するステップと、
前記少なくとも1つのプロセッサによって、前記第1オブジェクトが前記複数のレイアウトセグメントのうち第1レイアウトセグメントの中に有ると判断するステップと、
前記決定されたデバイス特性、前記判断された第1レイアウトセグメント、および、前記第1オブジェクトの第1プロパティに基づいて、前記少なくとも1つのプロセッサによって、第1レイアウトルールを決定するステップと、
前記決定された第1レイアウトルールに基づいて、前記少なくとも1つのプロセッサによって、前記第1オブジェクトを変更するステップと、
前記少なくとも1つのプロセッサによって、前記プレゼンテーションスライドの更新に応じて、第1オブジェクトが、前記複数のレイアウトセグメントの第3レイアウトセグメントの中に有ることを決定するステップと、
前記少なくとも1つのプロセッサによって、前記決定された第3レイアウトセグメントおよび前記第1オブジェクトの第2プロパティに基づいて、第2レイアウトルールを決定するステップと、
前記少なくとも1つのプロセッサによって、前記決定された第2レイアウトルールに基づいて、前記第1オブジェクトを変更するステップと、
前記少なくとも1つのプロセッサによって、前記電子デバイスにおいてレイアウト結果を出力するステップであり、前記レイアウト結果は、前記プレゼンテーションスライドおよび前記決定された第2レイアウトルールに基づく前記第1オブジェクトの変更に少なくとも部分的に基づいている、ステップと、
を含む、
方法。
【請求項2】
前記受け取るステップは、さらに、
クラウドコンピューティングプラットフォームから前記プレゼンテーションスライドを受け取るステップ、を含む、
請求項1に記載の方法。
【請求項3】
前記デバイス特性は、ディスプレイスクリーンのサイズ、ディスプレイスクリーンの向き、色深度機能、メモリサイズ、および、入力機能、を含む、
請求項1に記載の方法。
【請求項4】
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトを変更するステップは、さらに、
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトの位置、前記第1オブジェクトのサイズ、前記第1オブジェクトの向き、および、前記第1オブジェクトの色、のうち少なくとも1つを変更するステップ、を含む、
請求項1に記載の方法。
【請求項5】
前記第1オブジェクトの前記第1プロパティは、
前記第1オブジェクトのタイプ、前記第1オブジェクトのサイズ、前記第1オブジェクトの向き、または、前記第1オブジェクトの色、を含む、
請求項1に記載の方法。
【請求項6】
前記第1オブジェクトは、写真、形状、ビデオ、アニメーション、または、テキストブロックである、
請求項1に記載の方法。
【請求項7】
前記複数のレイアウトセグメントは、複数のグリッド線に基づいて定められる、
請求項1に記載の方法。
【請求項8】
メモリと、
前記メモリに対して接続された少なくとも1つのプロセッサと、
を含む、システムであって、
前記少なくとも1つのプロセッサは、
複数のレイアウトセグメントを含むプレゼンテーションスライドを受け取り、
前記複数のレイアウトセグメントは、前記プレゼンテーションスライドの視覚的な分割に対応しており、かつ、
前記複数のレイアウトセグメントの各レイアウトセグメントは、前記各レイアウトセグメントの中へ第1オブジェクトをインタラクティブに挿入することに応じて、異なるレイアウト結果を自動的に生成するように構成された異なるレイアウトルールに関連付けられており、
前記システムのデバイス特性を決定し、
前記第1オブジェクトが前記複数のレイアウトセグメントのうち第1レイアウトセグメントの中に有ると判断し、
前記決定されたデバイス特性、前記判断された第1レイアウトセグメント、および、前記第1オブジェクトの第1プロパティに基づいて、前記少なくとも1つのプロセッサによって、第1レイアウトルールを決定し、
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトを変更し、
前記プレゼンテーションスライドの更新に応じて、第1オブジェクトが、前記複数のレイアウトセグメントの第3レイアウトセグメントの中に有ることを決定し、
前記決定された第3レイアウトセグメントおよび前記第1オブジェクトの第2プロパティに基づいて、第2レイアウトルールを決定し、
前記決定された第2レイアウトルールに基づいて、前記第1オブジェクトを変更し、かつ、
レイアウト結果を出力する、
ように構成されており、
前記レイアウト結果は、前記プレゼンテーションスライド、および、前記決定された第2レイアウトルールに基づく前記第1オブジェクトの変更に少なくとも部分的に基づいている、
システム。
【請求項9】
前記プレゼンテーションスライドを受け取るために、前記少なくとも1つのプロセッサは、さらに、
クラウドコンピューティングプラットフォームから前記プレゼンテーションスライドを受け取る、ように構成されている、
請求項8に記載のシステム。
【請求項10】
前記デバイス特性は、ディスプレイスクリーンのサイズ、ディスプレイスクリーンの向き、色深度機能、メモリサイズ、および、入力機能、を含む、
請求項8に記載のシステム。
【請求項11】
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトを変更するために、前記少なくとも1つのプロセッサは、さらに、
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトの位置、前記第1オブジェクトのサイズ、前記第1オブジェクトの向き、および、前記第1オブジェクトの色、のうち少なくとも1つを変更する、ように構成されている、
請求項8に記載のシステム。
【請求項12】
前記第1オブジェクトの前記第1プロパティは、
前記第1オブジェクトのタイプ、前記第1オブジェクトのサイズ、前記第1オブジェクトの向き、または、前記第1オブジェクトの色、を含む、
請求項8に記載のシステム。
【請求項13】
前記複数のレイアウトセグメントは、複数のグリッド線に基づいて定められる、
請求項8に記載のシステム。
【請求項14】
コンピュータで読取り可能な非一時的な媒体であって、少なくとも1つのコンピューティングデバイスによって実行されると、前記少なくとも1つのコンピューティングデバイスにオペレーションを実行させるインストラクションが保管されており、
前記オペレーションは、
複数のレイアウトセグメントを含むプレゼンテーションスライドを受け取るステップであり、
前記複数のレイアウトセグメントは、前記プレゼンテーションスライドの視覚的な分割に対応しており、かつ、
前記複数のレイアウトセグメントの各レイアウトセグメントは、前記各レイアウトセグメントの中へ第1オブジェクトをインタラクティブに挿入することに応じて、異なるレイアウト結果を自動的に生成するように構成された異なるレイアウトルールに関連付けられている、
ステップと、
電子デバイスについてデバイス特性を決定するステップと、
前記第1オブジェクトが前記複数のレイアウトセグメントのうち第1レイアウトセグメントの中に有ると判断するステップと、
前記決定されたデバイス特性、前記判断された第1レイアウトセグメント、および、前記第1オブジェクトの第1プロパティに基づいて、第1レイアウトルールを決定するステップと、
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトを変更するステップと、
前記プレゼンテーションスライドの更新に応じて、第1オブジェクトが、前記複数のレイアウトセグメントの第3レイアウトセグメントの中に有ることを決定するステップと、
前記決定された第3レイアウトセグメントおよび前記第1オブジェクトの第2プロパティに基づいて、第2レイアウトルールを決定するステップと、
前記決定された第2レイアウトルールに基づいて、前記第1オブジェクトを変更するステップと、
レイアウト結果を出力するステップであり、前記レイアウト結果は、前記プレゼンテーションスライド、および、前記決定された第2レイアウトルールに基づく前記第1オブジェクトの変更に少なくとも部分的に基づいている、ステップと、
を含む、
コンピュータで読取り可能な非一時的な媒体。
【請求項15】
前記デバイス特性は、ディスプレイスクリーンのサイズ、ディスプレイスクリーンの向き、色深度機能、メモリサイズ、および、入力機能、を含む、
請求項14に記載のコンピュータで読取り可能な非一時的な媒体。
【請求項16】
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトを変更するステップは、さらに、
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトの位置、前記第1オブジェクトのサイズ、前記第1オブジェクトの向き、および、前記第1オブジェクトの色、のうち少なくとも1つを変更するステップ、を含む、
請求項14に記載のコンピュータで読取り可能な非一時的な媒体。
【請求項17】
前記第1オブジェクトの前記第1プロパティは、
前記第1オブジェクトのタイプ、前記第1オブジェクトのサイズ、前記第1オブジェクトの向き、または、前記第1オブジェクトの色、を含む
請求項14に記載のコンピュータで読取り可能な非一時的な媒体。
【請求項18】
前記複数のレイアウトセグメントの各レイアウトセグメントは、前記デバイス特性に基づく異なるレイアウト結果を生成するように構成された、異なるレイアウトルールに関連付けられている、
請求項1に記載の方法。
【請求項19】
前記方法は、さらに、
前記決定された第1レイアウトルールに基づいて、アクションを前記第1オブジェクトに関連付けるステップ、
を含む、請求項1に記載の方法。
【請求項20】
前記アクションは、前記第1オブジェクトをフルスクリーンで出力するように構成されている、
請求項19に記載の方法。
【請求項21】
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトを変更するステップは、さらに、
前記決定された第1レイアウトルールに基づいて、第2オブジェクトを変更するステップであり、前記第2オブジェクトは、前記複数のレイアウトセグメントの第2レイアウトセグメントの中に有る、ステップ、
を含む、請求項1に記載の方法。
【請求項22】
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトを変更するために、前記少なくとも1つのプロセッサは、さらに、
前記決定された第1レイアウトルールに基づいて、第2オブジェクトを変更するように構成されており、前記第2オブジェクトは、前記複数のレイアウトセグメントの第2レイアウトセグメントの中に有る、
請求項8に記載のシステム。
【請求項23】
前記決定された第1レイアウトルールに基づいて、前記第1オブジェクトを変更するステップは、さらに、
前記決定された第1レイアウトルールに基づいて、第2オブジェクトを変更するステップであり、前記第2オブジェクトは、前記複数のレイアウトセグメントの第2レイアウトセグメントの中に有る、ステップ、
を含む、請求項14に記載のコンピュータで読取り可能な非一時的な媒体。
【発明の詳細な説明】
【背景技術】
【0001】
ユーザーは、しばしば、様々な電子デバイス上で素晴らしく見えるスライドショーを迅速に作成したい。しかし、ユーザは、しばしば、従来のプレゼンテーションソフトウェアを使用して、様々な電子デバイス上で素晴らしく見えるスライドショーを迅速に作成することができない。これは、従来のプレゼンテーションソフトウェアが、しばしば、スライドに対してコンテンツを追加する以前にレイアウトテンプレートを選択することをユーザに要求するからである。レイアウトテンプレートは、コンテンツがスライド上でどのように表示されるかを定めることができる。例えば、レイアウトテンプレートは、ユーザが写真(pictures)、形状(shapes)、ビデオ、およびテキストといったオブジェクトを挿入することができる既定の場所を提供することができる。このことは、オブジェクトを場所のうち1つの中へ挿入し、かつ、オブジェクトのサイズと位置を調整するようにユーザに要求し得る。ユーザは、また、スライド上で他のオブジェクトを再配置する必要もあり得る。そのレイアウトテンプレートをユーザが好きではないと判断した場合に、ユーザは、異なるレイアウトテンプレートを選択し、かつ、オブジェクトを再構成する必要があり得る。このプロセスは退屈で、かつ、間違いが起こりやすい。ユーザーは、レイアウトテンプレートを繰り返し変更し、そして、スライド上のオブジェクトのサイズと位置を調整する必要があり得るからである。このプロセスは、また、素晴らしく見えず、かつ、貧弱なデザイン実践(design practices)に悩まされるスライドも、しばしば、結果として生じてしまう。
【0002】
加えて、ユーザは、彼らのスライドショーが異なる電子デバイス上で素晴らしく見えることを確保するように望むことがある。例えば、ユーザは、大きなスクリーン上に投影される場合、および、スマートフォン上で表示される場合に、彼らのスライドショーが素晴らしく見えることを確保するように望むことがある。しかし、従来のプレゼンテーションソフトウェアは、各デバイスのユニークなディスプレイのサイズ、ディスプレイの向き、およびグラフィカルレンダリング機能(graphical rendering capabilities)について合わせて仕立てられたプレゼンテーションの異なるバージョンを作成するように、ユーザに要求し得る。このプロセスは退屈で、間違いが起こりやすく、そして、異なる電子デバイス上で不正確に又は一貫性なく表示されるプレゼンテーションを、しばしば、結果として生じてしまう。
【0003】
このように、必要とされるものは、様々な異なる電子デバイス上で素晴らしく見えるスライドショーをユーザーが迅速に作成する方法である。
【0004】
関連出願に対する相互参照
この出願は、同時係属である2017年6月29日出願の米国特許出願第15/637717号、タイトル”Automatic Layout Engine”(代理人整理番号No.3462.0620000)、同時係属である2017年6月29日出願の米国特許出願第15/637096号、タイトル”Color Theme Maintenance For Presentation”(代理人整理番号No.3462.0630000)、同時係属である2017年6月29日出願の米国特許出願第15/637762号、タイトル”Permission Management Of Cloud-Based Documents”(代理人整理番号No.3462.0640000)、および、同時係属である2017年6月29日出願の米国特許出願第15/637077号、タイトル”Smart Defaults Based On Previous Settings For Presentation Slides”(代理人整理番号No.3462.0650000)に関し、これら全てが、全体における参照によりここにおいて包含されている。
【図面の簡単な説明】
【0005】
添付の図面は、ここにおいて取り込まれ、かつ、本明細書の一部を形成している。
図1図1は、いくつかの実施形態に従った、自動レイアウトシステムのブロック図である。
図2図2は、いくつかの実施形態に従って、プレゼンテーションスライドについて複数のレイアウトセグメントを定義する、プレゼンテーションスライドの上部にあるグラフィカルユーザインターフェイスを示している。
図3A図3Aは、いくつかの実施形態に従って、レイアウトセグメントの中へユーザがオブジェクトを挿入することに応じたレイアウト結果を示している。
図3B図3Bは、いくつかの実施形態に従って、レイアウトセグメントの中へユーザがオブジェクトを挿入することに応じたレイアウト結果を示している。
図3C図3Cは、いくつかの実施形態に従って、レイアウトセグメントの中へユーザがオブジェクトを挿入することに応じたレイアウト結果を示している。
図3D図3Dは、いくつかの実施形態に従って、レイアウトセグメントの中へユーザがオブジェクトを挿入することに応じたレイアウト結果を示している。
図4図4は、いくつかの実施形態に従って、異なる電子デバイスにおけるディスプレイのためにレイアウト結果がどのようにアップデートされるかを示している。
図5図5は、いくつかの実施形態に従って、オブジェクトの自動レイアウトを実行するためのプロセスを説明するフローチャートである。
図6図6は、いくつかの実施形態に従って、様々な電子デバイスにわたりプレゼンテーションを表示するためのプロセスを説明するフローチャートである。
図7図7は、様々な実施形態を実装するために有用なコンピュータシステムの一例である。
【0006】
図面において、同様な参照番号は、一般的に同一または類似のエレメントを示している。加えて、一般に、参照番号の一番左の桁は、その参照番号が最初に現れる図面を特定している。
【発明を実施するための形態】
【0007】
ここにおいては、プレゼンテーションのスライド上でのオブジェクトの自動レイアウトのためのシステム、装置、デバイス、方法及び/又はコンピュータプログラム製品の実施形態、及び/又は、これらの組合せ及び部分的組合せが提供される。さらに、ここにおいて提供されるのは、異なるタイプの電子デバイスにおいてプレゼンテーションを表示するためのシステム、装置、デバイス、方法及び/又はコンピュータプログラム製品の実施形態、及び/又は、これらの組合せ及び部分的組合せである。
【0008】
図1は、いくつかの実施形態に従った、自動レイアウトシステム100のブロック図である。自動レイアウトシステム100は、ユーザによってプレゼンテーションの中へ挿入されたオブジェクトを自動的に位置決めし、サイズ合わせして、そして、変換する。自動レイアウトシステム100は、また、特定のタイプの電子デバイスにおけるディスプレイのためにも、プレゼンテーションの中へ挿入されたオブジェクトを自動的に位置決めし、サイズ合わせして、そして、変換する。自動レイアウトシステム100は、レイアウトプラットフォーム102、プレゼンテーションスライド112、オブジェクト114、およびレイアウト結果116、を含んでいる。
【0009】
いくつかの実施形態において、プレゼンテーションスライド112は、プレゼンテーションの中のスライドである。当業者によって理解されるように、プレゼンテーションスライド112に関してここにおいて説明される特徴は、また、デスクトップパブリッシング文書、フォトモンタージュ、パンフレット、配布資料、ポスター、または、様々な他のタイプの文書に対しても適用することができる。
【0010】
いくつかの実施形態において、プレゼンテーションは、複数のプレゼンテーションスライド112を含んでよい。プレゼンテーションプログラムは、スライドショーとしてプレゼンテーションスライド112を表示することができる。
【0011】
いくつかの実施形態において、プレゼンテーションスライド112は、1つまたはそれ以上のオブジェクト114を含んでよい。オブジェクト114は、当業者によって理解されるように、写真、形状、ビデオ、アニメーション、テキストブロック、または、種々の他のタイプのコンテンツであってよい。
【0012】
いくつかの実施形態において、ユーザは、入力ジェスチャ(input gesture)を使用して、プレゼンテーションスライド112の中へオブジェクト114を挿入することができる。例えば、ユーザは、コンピュータマウスまたはタッチパッドを使用して、プレゼンテーションスライド112の上にオブジェクト114をドラッグアンドドロップする(dragging and dropping)ことによって、プレゼンテーションスライド112の中へオブジェクト114を挿入することができる。ユーザは、また、タッチジェスチャ(touch gesture)を使用して、プレゼンテーションスライド112の上にオブジェクト114をドラッグアンドドロップすることもできる。当業者によって理解されるように、ユーザは、様々な他のタイプの入力ジェスチャを使用して、プレゼンテーションスライド112の中へオブジェクト114を挿入することができる。
【0013】
いくつかの実施形態において、レイアウトプラットフォーム102は、ユーザがプレゼンテーションスライド112の中へオブジェクトを挿入することに応じて、オブジェクト114を自動的に位置決めし、サイズ合わせし、そして、変換することができる。レイアウトプラットフォーム102は、また、ユーザがプレゼンテーションスライド112の中へオブジェクト114を挿入することに応じて、プレゼンテーションスライド112において1つまたはそれ以上の他のオブジェクト表示することができる。1つまたはそれ以上の他のオブジェクトを自動的に位置決めし、サイズ合わせし、そして、変換することもできる。レイアウトプラットフォーム102は、また、電子デバイスの1つまたはそれ以上のデバイス特性に基づいて、特定のタイプの電子デバイスにおけるディスプレイのために、オブジェクト114を自動的に位置決めし、サイズ合わせし、そして、変換することもできる。
【0014】
いくつかの実施形態において、レイアウトプラットフォーム102は、ユーザがプレゼンテーションスライド112の中へオブジェクト114を挿入すること応じて、レイアウト結果116を生成する。レイアウト結果116は、レイアウトプラットフォーム102によるプレゼンテーションスライド112の変更を表すことができる。別の言葉で言えば、レイアウト結果116は、レイアウトプラットフォーム102によって変更されたオブジェクト114を含むプレゼンテーションスライド112であってよい。
【0015】
いくつかの実施形態において、レイアウトプラットフォーム102は、当業者によって理解されるように、デスクトップコンピュータ、サーバコンピュータ、ラップトップ、タブレット、スマートフォン、または他の電子デバイスにおいて実装されてよい。いくつかの他の実施形態において、レイアウトプラットフォーム102は、クラウドコンピューティングプラットフォームにおいて実装されてよい。
【0016】
いくつかの実施形態において、レイアウトプラットフォーム102は、レイアウトエンジン104、レイアウトルール106、オブジェクトアナライザ108、および、デバイスアナライザ110を含む。当業者によって理解されるように、レイアウトプラットフォーム102は、これらのエレメントの一部だけを含んでよい。例えば、レイアウトプラットフォーム102は、デバイスアナライザ110を含まなくてよい。
【0017】
いくつかの実施形態において、レイアウトエンジン104は、ユーザがオブジェクト114をプレゼンテーションスライド112の中へ挿入することに応じて、オブジェクト114の1つまたはそれ以上のプロパティを変更することができる。例えば、レイアウトエンジン104は、ユーザが、入力ジェスチャを使用して、オブジェクト114をプレゼンテーションスライド112の中へ挿入することに応じて、オブジェクト114の1つまたはそれ以上のプロパティを変更することができる。当業者によって理解されるように、レイアウトエンジン104は、これらに限定されるわけではないが、オブジェクト114の位置、サイズ、向き、および色を含む、オブジェクト114の様々なタイプのプロパティを変更することができる。
【0018】
いくつかの実施形態において、レイアウトエンジン104は、電子デバイスの1つまたはそれ以上のデバイス特性に基づいて、電子デバイスにおける表示のためにオブジェクト114の1つまたはそれ以上の特性を変更することができる。例えば、レイアウトエンジン104は、小さなポートレート指向スクリーン(portrait oriented screen)を有する電子デバイスに基づいて、電子デバイスにおける表示のためにオブジェクト114の1つまたはそれ以上の特性を変更することができる。例えば、レイアウトエンジン104は、ポートレート指向スクリーンを有するスマートフォンにおいて表示されているプレゼンテーションスライド112に応じて、オブジェクト114の向きをランドスケープ(landscape)からポートレートへ変えることができる。
【0019】
いくつかの実施形態において、レイアウトエンジン104は、レイアウトルール106における1つまたはそれ以上のレイアウトルールに基づいてオブジェクト114を変更することができる。例えば、レイアウトエンジン104は、レイアウトルール106における1つまたはそれ以上のレイアウトルールに基づいて、オブジェクト114の位置、サイズ、向き、及び/又は、色を変更することができる。
【0020】
いくつかの実施形態において、レイアウトルール106は、1つまたはそれ以上のレイアウトルールを定義するコンフィグレーションファイルであってよい。レイアウトルール106におけるレイアウトルールは、レイアウトエンジン104がオブジェクト114を変更するために使用するスタイルプリファレンスのセットを定義することができる。
【0021】
いくつかの実施形態において、レイアウトルール106におけるレイアウトルールは、レイアウトエンジン104によってオブジェクト114について実行される1つまたはそれ以上のオペレーションとしてスタイルプリファレンスを指定することができる。例えば、レイアウトルール106におけるレイアウトルールは、1つまたはそれ以上のスケール(scale)、クロップ(crop)、及び/又は、回転(rotation)オペレーションを指定することができる。当業者によって理解されるように、レイアウトルールは、様々な他のタイプのオペレーションを指定することができる。さらに、当業者によって理解されるように、レイアウトルールは、複数のオブジェクト114に対する1つまたはそれ以上のオペレーションを指定することができる。
【0022】
いくつかの実施形態において、レイアウトルール106におけるレイアウトルールは、また、レイアウトエンジン104によってオブジェクト114と関連付けられる1つまたはそれ以上のアクションとしてスタイルプリファレンスを指定することもできる。このことは、プレゼンテーションにおけるオブジェクトとユーザが直接的にインタラクションするための方法を提供しない従来のプレゼンテーションソフトウェアの問題を克服する。例えば、スマートフォンにおいて写真を含むプレゼンテーションを視聴しているユーザは、写真をタップしてその写真のフルスクリーン版を表示することができない。ここにおける実施形態は、この問題を解決する。例えば、レイアウトルール106におけるレイアウトルールは、プレゼンテーションスライド112が小さなスクリーン上に表示されているときに、オブジェクト114に関連するフルスクリーンアクションを指定することができる。従って、ユーザがプレゼンテーションスライド112の中のオブジェクト114をタップするとき、オブジェクト114がフルスクリーンで表示される。当業者によって理解されるように、レイアウトルールは、様々な他のタイプのオペレーションを指定することができる。
【0023】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114の1つまたはそれ以上のプロパティに基づいて、オブジェクト114に対して適用する1つまたはそれ以上のレイアウトルールを決定することができる。レイアウトエンジン104は、また、プレゼンテーションスライド112を表示する電子デバイスの1つまたはそれ以上のデバイス特性に基づいて、オブジェクト114に対して適用する1つまたはそれ以上のレイアウトルールを決定することもできる。レイアウトエンジン104は、また、オブジェクト114を含むレイアウトセグメントに基づいて、オブジェクト114に対して適用する1つまたはそれ以上のレイアウトルールを決定することもできる。当業者によって理解されるように、レイアウトエンジン104は、上記の組合せに基づいて、オブジェクト114に対して適用する1つまたはそれ以上のレイアウトルールを決定することができる。
【0024】
いくつかの実施形態において、レイアウトルール106におけるレイアウトルールは、1つまたはそれ以上の条件(conditions)および関連するオペレーションを指定することができる。レイアウトエンジン104は、真(true)である1つまたはそれ以上の条件に応じて、関連するオペレーションを適用することができる。いくつかの実施形態において、条件は、オブジェクト114が特定のレイアウトセグメントの中に有るときに、関連するオペレーションをレイアウトエンジン104が適用することを指定することができる。いくつかの実施形態において、条件は、プレゼンテーションスライド112を表示している電子デバイスが1つまたはそれ以上のデバイス特性を有するときに、関連するオペレーションをレイアウトエンジン104が適用することを指定することができる。当業者によって理解されるように、条件は、上記の組合せに基づいて、関連するオペレーションをレイアウトエンジン104が適用することを指定することができる。
【0025】
いくつかの実施形態において、レイアウトルール106におけるレイアウトルールは、コンフィギュレーションファイルの中で1つまたはそれ以上の条件および関連するオペレーションを指定することができる。いくつかの実施形態において、コンフィギュレーションファイルはテキストフォーマットファイルであってよい。例えば、コンフィギュレーションファイルは、JavaScript Object Notation(JSON)、Extensible Markup Language(XML)、または、様々な他のデータフォーマットを使用して、1つまたはそれ以上の条件および関連するオペレーションを指定することができる。
【0026】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114の1つまたはそれ以上のプロパティに基づいて、レイアウトルール106における1つまたはそれ以上のレイアウトルールを選択することができる。いくつかの実施形態において、オブジェクト114のプロパティは、オブジェクト114のタイプ、サイズ、向き、または色を含んでよい。当業者によって理解されるように、オブジェクト114は、様々な他のプロパティを含んでよい。
【0027】
例えば、レイアウトエンジン104は、写真であるオブジェクト114に基づいて、オブジェクト114に対して適用する第1レイアウトルール、および、ビデオであるオブジェクト114に基づいて、オブジェクト114に対して適用する第2レイアウトルールを選択することができる。当業者によって理解されるように、レイアウトエンジン104は、オブジェクト114の様々な他のタイプのプロパティに基づいて、オブジェクト114に対して1つまたはそれ以上のレイアウトルールを適用することができる。
【0028】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクトアナライザ108を使用してオブジェクト114の1つまたはそれ以上のプロパティを決定することができる。オブジェクトアナライザ108は、プレゼンテーションスライド112の中へのオブジェクト114の挿入に応じて、オブジェクト114の1つまたはそれ以上のプロパティを決定することができる。例えば、オブジェクトアナライザ108は、オブジェクト114のタイプ、サイズ、及び/又は、向きを決定することができる。当業者によって理解されるように、オブジェクトアナライザ108は、オブジェクト114の他のタイプのプロパティを決定することができる。
【0029】
いくつかの実施形態において、レイアウトエンジン104は、プレゼンテーションスライド112を表示する電子デバイスの1つまたはそれ以上のデバイス特性に基づいて、オブジェクト114に対して適用する1つまたはそれ以上のレイアウトルールを決定することができる。例えば、レイアウトエンジン104は、デスクトップコンピュータ上にプレゼンテーションスライド112を表示することに基づいて、オブジェクト114に対して適用する第1レイアウトルール、および、スマートフォン上にプレゼンテーションスライド112を表示することに基づいて、オブジェクト114に対して適用する第2レイアウトルールを選択することができる。当業者によって理解されるように、レイアウトエンジン104は、プレゼンテーションスライド112を表示する電子デバイスの様々なタイプのデバイス特性に基づいて、オブジェクト114に対して1つまたはそれ以上のレイアウトルールを適用することができる。例えば、レイアウトエンジン104は、プレゼンテーションスライド112を表示する電子デバイスに係るディスプレイスクリーンのサイズ、ディスプレイスクリーンの向き、グラフィカルレンダリング機能(graphical rendering capabilities)、ディスプレイスクリーン輝度、電力使用、色深度機能(color depth capability)、メモリサイズ、および入力機能に基づいて、1つまたはそれ以上のレイアウトルールを適用することができる。
【0030】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114を含むレイアウトセグメントに従ってプレゼンテーションスライド112を表示する電子デバイスの様々なタイプのデバイス特性に基づいて、オブジェクト114に対して1つまたはそれ以上のレイアウトルールを適用することができる。これにより、レイアウトエンジン104は、オブジェクト114を含むレイアウトセグメントと、プレゼンテーションスライド112を表示する電子デバイスのプロパティとの両方に関して、オブジェクト114を位置決めし、かつ、サイズ合わせすることができる。
【0031】
いくつかの実施形態において、レイアウトエンジン104は、デバイスアナライザ110を使用してプレゼンテーションスライド112を表示する電子デバイスの1つまたはそれ以上のデバイス特性を決定することができる。デバイスアナライザ110は、電子デバイス上でのプレゼンテーションスライド112の表示の際に、電子デバイスの1つまたはそれ以上のデバイス特性を決定することができる。例えば、デバイスアナライザ110は、電子デバイスに係るディスプレイスクリーンのサイズ、ディスプレイスクリーンの向き、及び/又は、グラフィカルレンダリング機能を決定することができる。当業者によって理解されるように、デバイスアナライザ110は、電子デバイス上でのプレゼンテーションスライド112の表示の際に、電子デバイスの他のデバイス特性を決定することができる。
【0032】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114を含むレイアウトセグメントに基づいて、オブジェクト114に対して適用する1つまたはそれ以上のレイアウトルールを決定することができる。いくつかの実施形態において、レイアウトエンジン104は、プレゼンテーションスライド112を複数のレイアウトセグメントへと分割することができる。例えば、レイアウトエンジンは、プレゼンテーションスライド112の上部にグラフィカルユーザインターフェイスを実装することができる。いくつかの実施形態において、グラフィカルユーザインターフェイスは、プレゼンテーションスライド112を複数のレイアウトセグメントへと分割する一連の垂直グリッド線(vertical gridlines)を含んでよい。いくつかの他の実施形態において、グラフィカルユーザインターフェイスは、プレゼンテーションスライド112を複数のレイアウトセグメントへと分割する一連の水平グリッド線(horizontal gridlines)を含んでよい。当業者によって理解されるように、グラフィカルユーザインターフェイスは、プレゼンテーションスライド112を様々な数、サイズ、および形状のレイアウトセグメントへと分割することができる。
【0033】
いくつかの実施形態において、レイアウトルール106における1つまたはそれ以上のレイアウトルールが、複数のレイアウトセグメントにおける1つのレイアウトセグメントと関連付けられてよい。例えば、ビジュアルデザイナ(visual designer)は、1つまたはそれ以上のレイアウトルールを、複数のレイアウトセグメントにおけるレイアウトセグメントと関連付けることができる。
【0034】
図2は、1つの例示的な実施形態に従って、プレゼンテーションスライド112について複数のレイアウトセグメントを定義する、プレゼンテーションスライドの上部にあるグラフィカルユーザインターフェイスを示している。当業者によって理解されるように、グラフィカルユーザインターフェイス202は、これらに限定されるわけではないが、デスクトップパブリッシング文書、フォトモンタージュ、パンフレット、配布資料、またはポスターを含む、様々な他のタイプのコンテンツに対して適用されてよい。図2は、図1及び図3A-3Dに関して説明される。図3A-3Dは、例示的な実施形態に従って、グラフィカルユーザインターフェイス202によって定義された異なるレイアウトセグメントの中へオブジェクト114が挿入されたときに、レイアウトエンジン104によって出力される様々なレイアウト結果を示している。
【0035】
図2において、レイアウトエンジン104は、プレゼンテーションスライド112のためのグラフィカルユーザインターフェイス202を表示している。レイアウトエンジン104は、プレゼンテーションスライド112の上部にグラフィカルオーバーレイ(graphical overlay)としてグラフィカルユーザインターフェイス202を表示することができる。グラフィカルユーザインターフェイス202は、レイアウトセグメント204、206、208、および210を含んでいる。いくつかの実施例において、レイアウトセグメント204、206、208、および210は、プレゼンテーションスライド112の中で1つまたはそれ以上のオブジェクト114の相対的な位置決めを提供する。レイアウトセグメント204、206、208、および210は、また、レイアウトルール106における1つまたはそれ以上のレイアウトルールと関連付けられてもよい。当業者によって理解されるように、グラフィカルユーザインターフェイス202は、レイアウトセグメントの様々な数、サイズ、および形状を定義することができる。
【0036】
いくつかの実施形態において、グラフィカルユーザインターフェイス202は、垂直グリッド線を使用して、レイアウトセグメント204、206、208、および210を定義する。当業者によって理解されるように、グラフィカルユーザインターフェイス202は、他の分割メカニズムを使用して、レイアウトセグメントを定義することができる。
【0037】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114がプレゼンテーションスライド112の中へ挿入されているときに、グラフィカルユーザインターフェイス202を表示することができる。
【0038】
いくつかの実施形態においては、レイアウトセグメント204、206、208、および210のうち所与のレイアウトセグメントの中へユーザがオブジェクト114を挿入することに応じて、レイアウトエンジン104は、オブジェクト114に対してレイアウトルール106から1つまたはそれ以上のレイアウトルールを適用する。これにより、レイアウトエンジン104は、レイアウト結果116を生成する。レイアウト結果116は、プレゼンテーションスライド112の中の1つまたはそれ以上のオブジェクト114に係るレイアウトの修正および変更を表している。レイアウトエンジン104は、レイアウトルール106における1つまたはそれ以上のレイアウトルールによって定義された1つまたはそれ以上のオペレーションをオブジェクト114に対して適用することによって、レイアウト結果116を出力することができる。レイアウトエンジン104は、また、レイアウトルール106における1つまたはそれ以上のレイアウトルールによって定義された1つまたはそれ以上のオペレーションをプレゼンテーションスライド112の中の他のオブジェクトに対して適用することもできる。
【0039】
例えば、図3Aにおいて、レイアウトエンジン104は、ユーザがレイアウトセグメント204の中へオブジェクト114を挿入することに応じて、レイアウト結果306を出力する。レイアウトエンジン104は、レイアウト結果306に示されるように、オブジェクト114を再サイズ合わせし(resize)、かつ、再位置決めする(reposition)。レイアウトエンジン104は、また、レイアウトセグメント204の中へのオブジェクト114の挿入に応じて、プレゼンテーションスライド112の中の別のオブジェクト(例えば、オブジェクト302)も再サイズ合わせし、かつ、中心に置く(center)。
【0040】
図3Bにおいて、レイアウトエンジン104は、ユーザがレイアウトセグメント206の中へオブジェクト114を挿入することに応じて、レイアウト結果307を出力する。レイアウトエンジン104は、レイアウト結果307に示されるように、オブジェクト114を再サイズ合わせし、かつ、再位置決めする。レイアウトエンジン104は、また、レイアウトセグメント206の中へのオブジェクト114の挿入に応じて、プレゼンテーションスライド112の中の別のオブジェクト(例えば、オブジェクト302)も再サイズ合わせし、かつ、中心に置く。
【0041】
図3Cにおいて、レイアウトエンジン104は、ユーザがレイアウトセグメント208の中へオブジェクト114を挿入することに応じて、レイアウト結果308を出力する。レイアウトエンジン104は、レイアウト結果308に示されるように、オブジェクト114を再サイズ合わせし、かつ、再位置決めする。レイアウトエンジン104は、オブジェクト114を背景に置く。レイアウトエンジン104は、また、レイアウトセグメント208の中へのオブジェクト114の挿入に応じて、プレゼンテーションスライド112の中の別のオブジェクト(例えば、オブジェクト302)も再サイズ合わせし、かつ、中心に置く。
【0042】
図3Dにおいて、レイアウトエンジン104は、ユーザがレイアウトセグメント210の中へオブジェクト114を挿入することに応じて、レイアウト結果309を出力する。レイアウトエンジン104は、レイアウト結果309に示されるように、オブジェクト114を再サイズ合わせし、かつ、再位置決めする。レイアウトエンジン104は、また、レイアウトセグメント210の中へのオブジェクト114の挿入に応じて、プレゼンテーションスライド112の中の別のオブジェクト(例えば、オブジェクト302)も再サイズ合わせし、かつ、再位置決めする。
【0043】
図4は、例示的な実施形態に従って、異なる電子デバイスにおけるディスプレイのために図3Aにおけるレイアウト結果306がどのようにアップデートされるかを示している。図4は、図1、2、および3Aに関して説明される。
【0044】
図4において、レイアウト結果306は、レイアウトセグメント204の中へのオブジェクト114の挿入に基づいて、オブジェクト114および302のサイズと位置を示している。レイアウト結果306は、プレゼンテーションスライド112が大きなディスプレイスクリーン上に投影されるときの、プレゼンテーションスライド112におけるオブジェクト114および302のレイアウトを表し得る。
【0045】
図4において、レイアウトエンジン104は、スマートフォンといった小さなディスプレイスクリーンの電子デバイスにおいてプレゼンテーションスライド112が表示されていることに応じて、レイアウト結果402を出力する。例えば、デバイスアナライザ110は、プレゼンテーションスライド112を表示している電子デバイスが、小さいディスプレイスクリーンのサイズとポートレート指向のディスプレイスクリーンを有するものと判断する。レイアウトエンジン104は、プレゼンテーションスライド112を表示している電子デバイスが、小さいディスプレイスクリーンのサイズとポートレート指向のディスプレイスクリーンを有するものとの判断に応じて、レイアウトルール106から1つまたはそれ以上のレイアウトルールの異なるセットを適用する。別の言葉で言えば、レイアウトエンジン104は、レイアウトセグメント204の中に有るオブジェクト114に応じて、レイアウトルールの2つのセットを適用する。大きなスクリーンの電子デバイスのためのレイアウトルールの第1セット、および、小さなスクリーン(例えば、スマートフォン)電子デバイスのためのレイアウトルールの第2セットである。結果として、レイアウトエンジン402は、スマートフォンのディスプレイスクリーンがポートレート指向であるため、オブジェクト302の上部にオブジェクト114を表示する。
【0046】
図5は、1つの実施形態に従って、オブジェクトの自動レイアウトを実行するための方法500に対するフローチャートである。方法500は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード、等)、ソフトウェア(例えば、処理デバイス上で実行するインストラクション)、又はそれらの組合せを含み得る、処理ロジック(processing logic)によって実行することができる。ここにおいて提供される開示を実行するために必ずしも全てのステップを要しなくてよいことが正しく理解されよう。さらに、ステップのうちいくつかは、同時に実行されてよく、または、当業者によって理解されるように、図5に示されるのとは異なる順序で実行されてよい。
【0047】
方法500は、図1を参照して説明される。しかしながら、方法500は、その例示的な実施形態に限定されるものではない。
【0048】
502において、レイアウトプラットフォーム102は、入力ジェスチャを介して、ユーザからプレゼンテーションスライド112の中へ挿入されるオブジェクト114を受け取る。いくつかの実施形態において、レイアウトプラットフォーム102は、コンピュータマウス、タッチパッド、またはタッチジェスチャを使用して、プレゼンテーションスライド112の中へオブジェクト114をドラッグアンドドロップするユーザからオブジェクト114を受け取る。
【0049】
504において、レイアウトエンジン104は、オブジェクト114が、プレゼンテーションスライド112における複数のレイアウトセグメントのうち1つのレイアウトセグメントの中に有るものと判断する。
【0050】
506において、レイアウトエンジン104は、判断されたレイアウトセグメントと関連するレイアウトルール106におけるレイアウトルールを決定する。いくつかの実施形態において、レイアウトエンジン104は、オブジェクトアナライザ108を使用して、オブジェクト114の1つまたはそれ以上のプロパティを決定することができる。レイアウトエンジン104は、次いで、決定されたレイアウトセグメントおよびオブジェクト114の決定された1つまたはそれ以上のプロパティについて適用する、レイアウトルール106におけるレイアウトルールを決定する。
【0051】
508において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、オブジェクト114の1つまたはそれ以上のプロパティを変更する。いくつかの実施形態において、レイアウトエンジン104は、決定されたレイアウトルールの1つまたはそれ以上のオペレーションをオブジェクト114に対して適用する。例えば、レイアウトエンジン104は、オブジェクト114のサイズ、位置、及び/又は、向きを変更することができる。
【0052】
いくつかの実施形態において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、プレゼンテーションスライド112の中の他のオブジェクトの1つまたはそれ以上のプロパティを変更することができる。例えば、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、プレゼンテーションスライド112の中の他のオブジェクトのサイズ、位置、及び/又は、向きを変更することができる。
【0053】
510において、レイアウトエンジン104は、オブジェクト114に対する1つまたはそれ以上の変更と共に、プレゼンテーションスライド112を表すレイアウト結果116を出力する。いくつかの実施形態において、レイアウト結果116は、オブジェクト114およびプレゼンテーションスライド112の中の1つまたはそれ以上の他のオブジェクトに対する1つまたはそれ以上の変更と共に、プレゼンテーションスライド112を表している。
【0054】
図6は、1つの実施形態に従って、異なる電子デバイスにわたりプレゼンテーションを表示するための方法600を説明するフローチャートである。方法600は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード、等)、ソフトウェア(例えば、処理デバイス上で実行するインストラクション)、又はそれらの組合せを含み得る、処理ロジックによって実行することができる。ここにおいて提供される開示を実行するために必ずしも全てのステップを要しなくてよいことが正しく理解されよう。さらに、ステップのうちいくつかは、同時に実行されてよく、または、当業者によって理解されるように、図6に示されるのとは異なる順序で実行されてよい。
【0055】
方法600は、図1を参照して説明される。しかしながら、方法600は、その例示的な実施形態に限定されるものではない。
【0056】
602において、レイアウトプラットフォーム102は、プレゼンテーションスライド112を受け取る。いくつかの実施形態において、プレゼンテーションスライド112は、オブジェクト114を含んでよい。いくつかの実施形態において、レイアウトプラットフォーム102は、インターネットといったネットワークによってプレゼンテーションスライド112を受け取ることができる。例えば、レイアウトプラットフォーム102は、インターネットによってプレゼンテーションスライド112を受け取り、そして、プレゼンテーションスライド112をクラウドコンピューティングプラットフォームにおいて保管することができる。
【0057】
604において、デバイスアナライザ110は、プレゼンテーションスライド112を表示する電子デバイスについて1つまたはそれ以上のデバイス特性を決定する。いくつかの実施形態において、デバイスアナライザ110は、ディスプレイのサイズ、ディスプレイの向き、およびグラフィカルレンダリング機能、電力使用特性、及び/又は、電子デバイスの他のデバイス特性を決定する。
【0058】
606において、レイアウトエンジン104は、オブジェクト114がプレゼンテーションスライド112における複数のレイアウトセグメントのうち1つのレイアウトセグメントの中に有ると判断する。
【0059】
606において、レイアウトエンジン104は、電子デバイスの決定された1つまたはそれ以上のデバイス特性、決定されたレイアウトセグメント、および、オブジェクト114の1つまたはそれ以上の特性について適用するレイアウトルール106におけるレイアウトルールを決定する。いくつかの実施形態において、レイアウトエンジン104は、オブジェクトアナライザ108を使用して、オブジェクト114の1つまたはそれ以上のプロパティを決定することができる。例えば、オブジェクトアナライザ108は、オブジェクト114のサイズ、位置、及び/又は、大きさを決定することができる。
【0060】
608において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、オブジェクト114の1つまたはそれ以上のプロパティを変更する。いくつかの実施形態において、レイアウトエンジン104は、決定されたレイアウトルールの1つまたはそれ以上のオペレーションをオブジェクト114に対して適用する。例えば、レイアウトエンジン104は、オブジェクト114のサイズ、位置、及び/又は、向きを変更することができる。当業者によって理解されるように、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、オブジェクト114の他のプロパティを変更することができる。
【0061】
いくつかの実施形態において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、プレゼンテーションスライド112の中の他のオブジェクトの1つまたはそれ以上のプロパティを変更することができる。例えば、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、プレゼンテーションスライド112の中の他のオブジェクトのサイズ、位置、及び/又は、向きを変更することができる。
【0062】
いくつかの他の実施形態において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、1つまたはそれ以上のアクションをオブジェクト114と関連付けることができる。例えば、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、オブジェクト114に対してフルスクリーンアクション(full screen action)を適用することができる。当業者によって理解されるように、決定されたレイアウトルールに基づいて、様々な他のタイプのアクションがオブジェクト114と関連付けられてよい。
【0063】
610において、レイアウトエンジン104は、オブジェクト114に対する1つまたはそれ以上の変更と共に、プレゼンテーションスライド112を表すレイアウト結果116を出力する。いくつかの実施形態において、レイアウト結果116は、オブジェクト114およびプレゼンテーションスライド112の中の1つまたはそれ以上の他のオブジェクトに対する1つまたはそれ以上の変更と共に、プレゼンテーションスライド112を表している。
【0064】
様々な実施形態は、例えば、図7に示されるコンピュータシステム700といった、1つまたはそれ以上のコンピュータシステムを使用して実施することができる。コンピュータシステム700は、例えば、図5の方法500を実施するために使用することができる。例えば、コンピュータシステム700は、オブジェクトの自動レイアウトを実行することができる。コンピュータシステム700は、さらに、いくつかの実施形態に従って、複数の電子デバイスにわたるプレゼンテーションを表示することができる。コンピュータシステム700は、ここにおいて説明される機能を実行することができる任意のコンピュータであってよい。
【0065】
コンピュータシステム700は、ここにおいて説明される機能を実行することができる任意の周知のコンピュータであってよい。
【0066】
コンピュータシステム700は、プロセッサ704といった、1つまたはそれ以上のプロセッサ(中央処理装置、またはCPUとも呼ばれるもの)を含む。プロセッサ704は、通信インフラストラクチャまたはバス706に対して接続されている。
【0067】
1つまたはそれ以上のプロセッサ704は、それぞれグラフィックス処理ユニット(graphics processing unit、GPU)であってよい。1つの実施形態において、GPUは、数学的に集約的なアプリケーションを処理するようにデザインされた特殊用途の電子回路であるプロセッサである。GPUは、コンピュータグラフィックスアプリケーション、画像、ビデオ、等に共通する数学的に集約的なデータといった、データの大きなブロックの並列処理について効率的である並列構造を有してよい。
【0068】
コンピュータシステム700は、また、ユーザ入力/出力インターフェイス702を通じて通信インフラストラクチャ706と通信する、モニタ、キーボード、ポインティングデバイス、等といった、ユーザ入力/出力デバイス703も含んでいる。
【0069】
コンピュータシステム700は、また、ランダムアクセスメモリ(RAM)といった、メインまたは主メモリ708も含んでいる。主メモリ708は、キャッシュの1つまたはそれ以上のレベルを含んでよい。主メモリ708は、コントロールロジック(すなわち、コンピュータソフトウェア)、及び/又は、データをその中に保管している。
【0070】
コンピュータシステム700は、また、1つまたはそれ以上の二次(secondary)ストレージデバイスまたはメモリ710も含んでよい。二次ストレージデバイス710は、例えば、ハードディスクドライブ712、及び/又は、リムーバブルストレージデバイスまたはドライブ714を含んでよい。リムーバブルストレージドライブ714は、フロッピー(登録商標)ディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光ストレージデバイス、テープバックアップ装置、及び/又は、あらゆる他のストレージデバイス/ドライブであってよい。
【0071】
リムーバブルストレージドライブ714は、リムーバブルストレージユニット718とインタラクションすることができる。リムーバブルストレージユニット718は、コンピュータソフトウェア(コントロール)及び/又はデータをその上に保管しているコンピュータで使用可能または読取り可能なストレージデバイスを含んでいる。リムーバブルストレージユニット718は、フロッピー(登録商標)ディスク、磁気テープ、コンパクトディスク、DVD、光ストレージディスク、及び/又は、あらゆる他のコンピュータデータストレージデバイスであってよい。リムーバブルストレージドライブ714は、周知の方法で、リムーバブルストレージユニット718から読出し、かつ/あるいは、リムーバブルストレージユニット718へ書込む。
【0072】
1つの例示的な実施形態に従って、二次メモリ710は、コンピュータプログラム、及び/又は、他のインストラクション及び/又はデータがコンピュータシステム700によってアクセスされることを可能にするための他の手段、媒介(instrumentalities)、または他のアプローチを含むことができる。そうした手段、媒介、または他のアプローチは、例えば、リムーバブルストレージユニット722とインターフェイス720を含んでよい。リムーバブルストレージユニット722とインターフェイス720の例は、プログラムカートリッジとカートリッジインターフェイス(ビデオゲーム装置において見られるものなど)、リムーバブルメモリチップ(EPROMまたはPROMといったもの)とUSBポート、メモリカードと関連のメモリカードスロット、及び/又は、あらゆる他のリムーバブルストレージユニットと関連のインターフェイス、を含んでよい。
【0073】
コンピュータシステム700は、さらに、通信またはネットワークインターフェイス724を含んでよい。通信インターフェイス724により、コンピュータシステム700は、リモートデバイス、リモートネットワーク、リモートエンティティ、等の任意の組合せ(個別的および集合的に参照番号728によって参照されるもの)と通信し、かつ、インタラクションすることができる。例えば、通信インターフェイス724により、コンピュータシステム700は、通信パス726を介してリモートデバイス728と通信することができる。通信パスは、有線及び/又は無線であってよく、かつ、LAN、WAN、インターネット等の任意の組合せを含んでよい。コントロールロジック及び/又はデータは、通信パス726を介してコンピュータシステム700に対して、および、コンピュータシステムから伝送され得る。
【0074】
1つの実施形態において、コントロールロジック(ソフトウェア)が保管されている有形の、非一時的なコンピュータで使用可能または読取り可能な媒体を含む、有形の非一時的な装置または製品は、また、ここにおいてはコンピュータプログラム製品またはプログラムストレージデバイスとしても参照される。これは、これらに限定されるわけではないが、コンピュータシステム700、主メモリ708、二次メモリ710、および、リムーバブルストレージユニット718と722、並びに、前記のものの任意の組合せを具現化している有形の製品、を含んでいる。そうしたコントロールロジックは、(コンピュータシステム700といった)1つまたはそれ以上のデータ処理装置によって実行されるとき、そうしたデータ処理装置をここにおいて説明するように動作させる。
【0075】
この開示に含まれる教示に基づいて、当業者にとっては、データ処理装置、コンピュータシステム、及び/又は、図7に示される以外のコンピュータアーキテクチャを使用して、この開示の実施形態をどのように作成および使用するのか明らかであろう。特に、実施形態は、ここにおいて記載されているもの以外のソフトウェア、ハードウェア、及び/又は、オペレーティングシステム実装を用いて動作することができる。
【0076】
詳細な説明のセクションは、あらゆる他のセクションではなく、特許請求の範囲を解釈するために使用されるように意図されていることが正しく理解されるべきである。他のセクションは、発明者によって考えられたものとして1つまたはそれ以上であるが全てではない例示的な実施形態を明らかにすることができる。そして、従って、どのようにしても本開示または添付の特許請求の範囲を限定するように意図されたものではない。
【0077】
この開示は、例示的な分野およびアプリケーションについて例示的な実施形態を説明しているが、本開示はそれに限定されないことが理解されるべきである。他の実施形態および変更が、可能であり、そして、それらは、この開示の範囲および精神の中に有る。例えば、そして、このパラグラフの一般性を制限することなく、実施形態は、図に示され、かつ/あるいは、ここにおいて説明されるソフトウェア、ハードウェア、ファームウェア、及び/又は、エンティティに限定されるものではない。さらに、実施形態(ここにおいて明示的に記載されているか否かにかかわらず)は、ここにおいて説明される実施例を超えた分野およびアプリケーションに対して顕著な功利性を有している。
【0078】
特定の機能の実装およびその関係性を図示している機能的ビルディングブロックを用いて、実施形態がここにおいて説明されてきた。これらの機能的ビルディングブロックの境界は、説明の便宜のために、ここにおいて任意に定義されたものである。特定される機能および関係(または、それらの等価物)が適切に実行される限り、代替的な境界を定義することができる。また、代替的な実施形態は、ここにおいて説明されたものとは異なる順序を使用して、機能ブロック、ステップ、オペレーション、方法、等を実行することができる。
【0079】
ここにおける「1つの実施形態(”one embodiment”)」、「実施形態(”an embodiment”)」、「例示的な実施形態(”an example embodiment”)」、または、類似のフレーズは、説明された実施形態が特定の特徴、構造、または、特性を含むことができるが、全ての実施形態が必ずしも特定の特徴、構造、または特性を含むこと要しないことを示している。その上、そうしたフレーズは、必ずしも同じ実施形態を参照することを要しない。さらに、特定の特徴、構造、または特性が1つの実施形態に関連して説明されている場合には、ここにおいて明示的に言及または説明されているか否かにかかわらず、そうした特徴、構造、または特性を他の実施形態の中へ組み込むことは、当業者の知識の範囲内であろう。加えて、いくつかの実施形態は、その派生語と併せて「結合された(”coupled”)」および「接続された(”connected”)」という表現を使用して説明することができる。これらの用語は、必ずしも相互に同義語として意図されているわけではない。例えば、いくつかの実施形態は、2つまたはそれ以上のエレメントが相互に直接的に物理的または電気的に接触していることを示すために、用語「接続された」及び/又は「結合された」を使用して説明することができる。しかしながら、用語「結合された」は、また、2つまたはそれ以上のエレメントが相互に直接的に接触していないが、依然として互いに協働またはインタラクションすることを意味することもできる。
【0080】
この開示の幅および範囲は、上記の例示的な実施形態のいずれかによって限定されるべきではなく、以降の請求項およびそれらの等価物に従ってのみ規定されるべきものである。
図1
図2
図3A
図3B
図3C
図3D
図4
図5
図6
図7