(57)【要約】      （修正有）【課題】様々な電子デバイスにわたりプレゼンテーションを表示するためのシステム、方法およびデバイスを提供する。【解決手段】電子デバイスは、複数のレイアウトセグメントと１つのオブジェクトとを含むプレゼンテーションスライドを受け取ることによって動作し、デバイス特性を決定する。電子デバイスは、オブジェクトが複数のレイアウトセグメントのうち１つのレイアウトセグメントの中に有ると判断し、決定したデバイス特性、判断したレイアウトセグメントおよびオブジェクトのプロパティに基づいて、レイアウトルールを決定し、決定したレイアウトルールに基づいて、オブジェクトを変更する。次いで、プレゼンテーションスライドおよび変更したオブジェクトに基づいて、レイアウト結果を出力する。【選択図】図４
2019016353.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実施される方法であって、
少なくとも１つのプロセッサによって、プレゼンテーションスライドにおいて複数のレイアウトセグメントを有するグラフィカルユーザインターフェイスを実施するステップであり、前記グラフィカルユーザインターフェイスは、入力ジェスチャによって前記プレゼンテーションスライドの中へオブジェクトを挿入することができるように構成されている、ステップと、
前記少なくとも１つのプロセッサによって、前記入力ジェスチャを介して前記オブジェクトを受け取るステップと、
前記少なくとも１つのプロセッサによって、前記オブジェクトが前記複数のレイアウトセグメントのうち１つのレイアウトセグメントの中に有ると判断するステップと、
前記判断されたレイアウトセグメントおよび前記オブジェクトのプロパティに基づいて、前記少なくとも１つのプロセッサによって、レイアウトルールを決定するステップと、
前記決定されたレイアウトルールに基づいて、前記少なくとも１つのプロセッサによって、前記オブジェクトを変更するステップと、
前記プレゼンテーションスライドおよび前記変更されたオブジェクトに少なくとも部分的に基づいて、前記少なくとも１つのプロセッサによって、レイアウト結果を出力するステップと、
を含み、
前記実施するステップ、前記受け取るステップ、前記オブジェクトがレイアウトセグメントの中に有ると判断するステップ、変更するステップ、前記レイアウトルールを決定するステップ、および、出力するステップ、のうち少なくとも１つが、１つまたはそれ以上のコンピュータによって実行される、
方法。
【請求項２】
前記変更するステップは、さらに、
前記決定されたレイアウトルールに基づいて、前記オブジェクトの位置、前記オブジェクトのサイズ、前記オブジェクトの向き、および、前記オブジェクトの色、のうち少なくとも１つを変更するステップ、を含む、
請求項１に記載の方法。
【請求項３】
前記オブジェクトのプロパティは、
前記オブジェクトのタイプ、前記オブジェクトのサイズ、前記オブジェクトの向き、または、前記オブジェクトの色、を含む、
請求項１に記載の方法。
【請求項４】
前記オブジェクトは、写真、形状、ビデオ、アニメーション、または、テキストブロックである、
請求項１に記載の方法。
【請求項５】
前記方法は、さらに、
第２入力ジェスチャを介して第２オブジェクトを受け取るステップと、
前記複数のレイアウトセグメントのうち第２レイアウトセグメントの中で前記第２オブジェクトの位置を判断するステップと、
前記判断された第２レイアウトセグメントおよび前記第２オブジェクトのプロパティに基づいて、第２レイアウトルールを決定するステップと、
前記決定された第２レイアウトルールに基づいて、前記オブジェクトを変更するステップと、
前記決定された第２レイアウトルールに基づいて、前記第２オブジェクトを変更するステップと、
前記プレゼンテーションスライド、前記変更されたオブジェクト、および、前記変更された第２オブジェクトに少なくとも部分的に基づいて、前記レイアウト結果を出力するステップと、
を含む、
請求項１に記載の方法。
【請求項６】
前記実施するステップは、さらに、
複数のグリッド線に基づいて、前記複数のレイアウトセグメントを定めるステップ、
を含む、請求項１に記載の方法。
【請求項７】
前記方法は、さらに、
一式のスタイルプリファレンスに基づいて、コンフィグレーションファイルにおける前記レイアウトルールを定めるステップ、
を含む、請求項１に記載の方法。
【請求項８】
メモリと、
前記メモリに対して接続された少なくとも１つのプロセッサと、
を含む、システムであって、
前記少なくとも１つのプロセッサは、
プレゼンテーションスライドにおいて複数のレイアウトセグメントを有するグラフィカルユーザインターフェイスを実施し、前記グラフィカルユーザインターフェイスは、入力ジェスチャによって前記プレゼンテーションスライドの中へオブジェクトを挿入することができるように構成されており、
前記入力ジェスチャを介して前記オブジェクトを受け取り、
前記オブジェクトが前記複数のレイアウトセグメントのうち１つのレイアウトセグメントの中に有ると判断し、
前記判断されたレイアウトセグメントおよび前記オブジェクトのプロパティに基づいて、レイアウトルールを決定し、
前記決定されたレイアウトルールに基づいて、前記オブジェクトを変更し、かつ、
前記プレゼンテーションスライドおよび前記変更されたオブジェクトに少なくとも部分的に基づいて、レイアウト結果を出力する、
ように構成されている、
システム。
【請求項９】
前記前記オブジェクトを変更するために、前記少なくとも１つのプロセッサは、さらに、
前記決定されたレイアウトルールに基づいて、前記オブジェクトの位置、前記オブジェクトのサイズ、前記オブジェクトの向き、および、前記オブジェクトの色、のうち少なくとも１つを変更する、ように構成されている、
請求項８に記載のシステム。
【請求項１０】
前記オブジェクトのプロパティは、
前記オブジェクトのタイプ、前記オブジェクトのサイズ、前記オブジェクトの向き、または、前記オブジェクトの色、を含む、
請求項８に記載のシステム。
【請求項１１】
前記オブジェクトは、写真、形状、ビデオ、アニメーション、または、テキストブロックである、
請求項８に記載のシステム。
【請求項１２】
前記少なくとも１つのプロセッサは、さらに、
第２入力ジェスチャを介して第２オブジェクトを受け取り、
前記複数のレイアウトセグメントのうち第２レイアウトセグメントの中で前記第２オブジェクトの位置を判断し、
前記判断された第２レイアウトセグメントおよび前記第２オブジェクトのプロパティに基づいて、第２レイアウトルールを決定し、
前記決定された第２レイアウトルールに基づいて、前記オブジェクトを変更し、
前記決定された第２レイアウトルールに基づいて、前記第２オブジェクトを変更し、かつ、
前記プレゼンテーションスライド、前記変更されたオブジェクト、および、前記変更された第２オブジェクトに少なくとも部分的に基づいて、前記レイアウト結果を出力する、
ように構成されている、
請求項８に記載のシステム。
【請求項１３】
前記グラフィカルユーザインターフェイスを実施するために、前記少なくとも１つのプロセッサは、さらに、
複数のグリッド線に基づいて、前記複数のレイアウトセグメントを定める、ように構成されている、
請求項８に記載のシステム。
【請求項１４】
前記少なくとも１つのプロセッサは、さらに、
一式のスタイルプリファレンスに基づいて、コンフィグレーションファイルにおける前記レイアウトルールを定める、ように構成されている、
請求項８に記載のシステム。
【請求項１５】
コンピュータで読取り可能な非一時的なデバイスであって、少なくとも１つのコンピューティングデバイスによって実行されると、前記少なくとも１つのコンピューティングデバイスにオペレーションを実行させるインストラクションが保管されており、
前記オペレーションは、
プレゼンテーションスライドにおいて複数のレイアウトセグメントを有するグラフィカルユーザインターフェイスを実施するステップであり、前記グラフィカルユーザインターフェイスは、入力ジェスチャによって前記プレゼンテーションスライドの中へオブジェクトを挿入することができるように構成されている、ステップと、
前記入力ジェスチャを介して前記オブジェクトを受け取るステップと、
前記オブジェクトが前記複数のレイアウトセグメントのうち１つのレイアウトセグメントの中に有ると判断するステップと、
前記判断されたレイアウトセグメントおよび前記オブジェクトのプロパティに基づいて、レイアウトルールを決定するステップと、
前記決定されたレイアウトルールに基づいて、前記オブジェクトを変更するステップと、
前記プレゼンテーションスライドおよび前記変更されたオブジェクトに少なくとも部分的に基づいて、前記少なくとも１つのプロセッサによって、レイアウト結果を出力するステップと、
を含む、
コンピュータで読取り可能な非一時的なデバイス。
【請求項１６】
前記変更するステップは、
前記決定されたレイアウトルールに基づいて、前記オブジェクトの位置、前記オブジェクトのサイズ、前記オブジェクトの向き、および、前記オブジェクトの色、のうち少なくとも１つを変更するステップ、を含む、
請求項１５に記載のコンピュータで読取り可能な非一時的なデバイス。
【請求項１７】
前記オブジェクトのプロパティは、
前記オブジェクトのタイプ、前記オブジェクトのサイズ、前記オブジェクトの向き、または、前記オブジェクトの色、を含む、
請求項１５に記載のコンピュータで読取り可能な非一時的なデバイス。
【請求項１８】
前記オブジェクトは、写真、形状、ビデオ、アニメーション、または、テキストブロックである、
請求項１５に記載のコンピュータで読取り可能な非一時的なデバイス。
【請求項１９】
前記オペレーションは、さらに、
第２入力ジェスチャを介して第２オブジェクトを受け取るステップと、
前記複数のレイアウトセグメントのうち第２レイアウトセグメントの中で前記第２オブジェクトの位置を判断するステップと、
前記判断された第２レイアウトセグメントおよび前記第２オブジェクトのプロパティに基づいて、第２レイアウトルールを決定するステップと、
前記決定された第２レイアウトルールに基づいて、前記オブジェクトを変更するステップと、
前記決定された第２レイアウトルールに基づいて、前記第２オブジェクトを変更するステップと、
前記プレゼンテーションスライド、前記変更されたオブジェクト、および、前記変更された第２オブジェクトに少なくとも部分的に基づいて、前記レイアウト結果を出力するステップと、
を含む、
請求項１５に記載のコンピュータで読取り可能な非一時的なデバイス。
【請求項２０】
前記オペレーションは、さらに、
一式のスタイルプリファレンスに基づいて、コンフィグレーションファイルにおける前記レイアウトルールを定めるステップ、を含む、
請求項１５に記載のコンピュータで読取り可能な非一時的なデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
ユーザーは、しばしば、様々な電子デバイス上で素晴らしく見えるスライドショーを迅速に作成したい。しかし、ユーザは、しばしば、従来のプレゼンテーションソフトウェアを使用して、様々な電子デバイス上で素晴らしく見えるスライドショーを迅速に作成することができない。これは、従来のプレゼンテーションソフトウェアが、しばしば、スライドに対してコンテンツを追加する以前にレイアウトテンプレートを選択することをユーザに要求するからである。レイアウトテンプレートは、コンテンツがスライド上でどのように表示されるかを定めることができる。例えば、レイアウトテンプレートは、ユーザが写真（pictures）、形状（shapes）、ビデオ、およびテキストといったオブジェクトを挿入することができる既定の場所を提供することができる。このことは、オブジェクトを場所のうち１つの中へ挿入し、かつ、オブジェクトのサイズと位置を調整するようにユーザに要求し得る。ユーザは、また、スライド上で他のオブジェクトを再配置する必要もあり得る。そのレイアウトテンプレートをユーザが好きではないと判断した場合に、ユーザは、異なるレイアウトテンプレートを選択し、かつ、オブジェクトを再構成する必要があり得る。このプロセスは退屈で、かつ、間違いが起こりやすい。ユーザーは、レイアウトテンプレートを繰り返し変更し、そして、スライド上のオブジェクトのサイズと位置を調整する必要があり得るからである。このプロセスは、また、素晴らしく見えず、かつ、貧弱なデザイン実践（design  practices）に悩まされるスライドも、しばしば、結果として生じてしまう。
【０００２】
加えて、ユーザは、彼らのスライドショーが異なる電子デバイス上で素晴らしく見えることを確保するように望むことがある。例えば、ユーザは、大きなスクリーン上に投影される場合、および、スマートフォン上で表示される場合に、彼らのスライドショーが素晴らしく見えることを確保するように望むことがある。しかし、従来のプレゼンテーションソフトウェアは、各デバイスのユニークなディスプレイのサイズ、ディスプレイの向き、およびグラフィカルレンダリング機能（graphical  rendering  capabilities）について合わせて仕立てられたプレゼンテーションの異なるバージョンを作成するように、ユーザに要求し得る。このプロセスは退屈で、間違いが起こりやすく、そして、異なる電子デバイス上で不正確に又は一貫性なく表示されるプレゼンテーションを、しばしば、結果として生じてしまう。
【０００３】
このように、必要とされるものは、様々な異なる電子デバイス上で素晴らしく見えるスライドショーをユーザーが迅速に作成する方法である。
【０００４】
関連出願に対する相互参照
この出願は、同時係属である2017年6月29日出願の米国特許出願第15/637729号、タイトル”Presentation  Collaboration  with  Various  Electronic  Devices”（代理人整理番号No.3462.0660000）、同時係属である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）に関し、これら全てが、全体における参照によりここにおいて包含されている。
【図面の簡単な説明】
【０００５】
添付の図面は、ここにおいて取り込まれ、かつ、本明細書の一部を形成している。
【図１】図１は、いくつかの実施形態に従った、自動レイアウトシステムのブロック図である。
【図２】図２は、いくつかの実施形態に従って、プレゼンテーションスライドについて複数のレイアウトセグメントを定義する、プレゼンテーションスライドの上部にあるグラフィカルユーザインターフェイスを示している。
【図３Ａ】図３Ａは、いくつかの実施形態に従って、レイアウトセグメントの中へユーザがオブジェクトを挿入することに応じたレイアウト結果を示している。
【図３Ｂ】図３Ｂは、いくつかの実施形態に従って、レイアウトセグメントの中へユーザがオブジェクトを挿入することに応じたレイアウト結果を示している。
【図３Ｃ】図３Ｃは、いくつかの実施形態に従って、レイアウトセグメントの中へユーザがオブジェクトを挿入することに応じたレイアウト結果を示している。
【図３Ｄ】図３Ｄは、いくつかの実施形態に従って、レイアウトセグメントの中へユーザがオブジェクトを挿入することに応じたレイアウト結果を示している。
【図４】図４は、いくつかの実施形態に従って、異なる電子デバイスにおけるディスプレイのためにレイアウト結果がどのようにアップデートされるかを示している。
【図５】図５は、いくつかの実施形態に従って、オブジェクトの自動レイアウトを実行するためのプロセスを説明するフローチャートである。
【図６】図６は、いくつかの実施形態に従って、様々な電子デバイスにわたりプレゼンテーションを表示するためのプロセスを説明するフローチャートである。
【図７】図７は、様々な実施形態を実装するために有用なコンピュータシステムの一例である。
【０００６】
図面において、同様な参照番号は、一般的に同一または類似のエレメントを示している。加えて、一般に、参照番号の一番左の桁は、その参照番号が最初に現れる図面を特定している。
【発明を実施するための形態】
【０００７】
ここにおいては、プレゼンテーションのスライド上でのオブジェクトの自動レイアウトのためのシステム、装置、デバイス、方法及び／又はコンピュータプログラム製品の実施形態、及び／又は、これらの組合せ及び部分的組合せが提供される。さらに、ここにおいて提供されるのは、異なるタイプの電子デバイスにおいてプレゼンテーションを表示するためのシステム、装置、デバイス、方法及び／又はコンピュータプログラム製品の実施形態、及び／又は、これらの組合せ及び部分的組合せである。
【０００８】
図１は、いくつかの実施形態に従った、自動レイアウトシステム100のブロック図である。自動レイアウトシステム100は、ユーザによってプレゼンテーションの中へ挿入されたオブジェクトを自動的に位置決めし、サイズ合わせして、そして、変換する。自動レイアウトシステム100は、また、特定のタイプの電子デバイスにおけるディスプレイのためにも、プレゼンテーションの中へ挿入されたオブジェクトを自動的に位置決めし、サイズ合わせして、そして、変換する。自動レイアウトシステム100は、レイアウトプラットフォーム102、プレゼンテーションスライド112、オブジェクト114、およびレイアウト結果116、を含んでいる。
【０００９】
いくつかの実施形態において、プレゼンテーションスライド112は、プレゼンテーションの中のスライドである。当業者によって理解されるように、プレゼンテーションスライド112に関してここにおいて説明される特徴は、また、デスクトップパブリッシング文書、フォトモンタージュ、パンフレット、配布資料、ポスター、または、様々な他のタイプの文書に対しても適用することができる。
【００１０】
いくつかの実施形態において、プレゼンテーションは、複数のプレゼンテーションスライド112を含んでよい。プレゼンテーションプログラムは、スライドショーとしてプレゼンテーションスライド112を表示することができる。
【００１１】
いくつかの実施形態において、プレゼンテーションスライド112は、１つまたはそれ以上のオブジェクト114を含んでよい。オブジェクト114は、当業者によって理解されるように、写真、形状、ビデオ、アニメーション、テキストブロック、または、種々の他のタイプのコンテンツであってよい。
【００１２】
いくつかの実施形態において、ユーザは、入力ジェスチャ（input  gesture）を使用して、プレゼンテーションスライド112の中へオブジェクト114を挿入することができる。例えば、ユーザは、コンピュータマウスまたはタッチパッドを使用して、プレゼンテーションスライド112の上にオブジェクト114をドラッグアンドドロップする（dragging  and  dropping）ことによって、プレゼンテーションスライド112の中へオブジェクト114を挿入することができる。ユーザは、また、タッチジェスチャ（touch  gesture）を使用して、プレゼンテーションスライド112の上にオブジェクト114をドラッグアンドドロップすることもできる。当業者によって理解されるように、ユーザは、様々な他のタイプの入力ジェスチャを使用して、プレゼンテーションスライド112の中へオブジェクト114を挿入することができる。
【００１３】
いくつかの実施形態において、レイアウトプラットフォーム102は、ユーザがプレゼンテーションスライド112の中へオブジェクトを挿入することに応じて、オブジェクト114を自動的に位置決めし、サイズ合わせし、そして、変換することができる。レイアウトプラットフォーム102は、また、ユーザがプレゼンテーションスライド112の中へオブジェクト114を挿入することに応じて、プレゼンテーションスライド112において１つまたはそれ以上の他のオブジェクト表示することができる。１つまたはそれ以上の他のオブジェクトを自動的に位置決めし、サイズ合わせし、そして、変換することもできる。レイアウトプラットフォーム102は、また、電子デバイスの１つまたはそれ以上のデバイス特性に基づいて、特定のタイプの電子デバイスにおけるディスプレイのために、オブジェクト114を自動的に位置決めし、サイズ合わせし、そして、変換することもできる。
【００１４】
いくつかの実施形態において、レイアウトプラットフォーム102は、ユーザがプレゼンテーションスライド112の中へオブジェクト114を挿入すること応じて、レイアウト結果116を生成する。レイアウト結果116は、レイアウトプラットフォーム102によるプレゼンテーションスライド112の変更を表すことができる。別の言葉で言えば、レイアウト結果116は、レイアウトプラットフォーム102によって変更されたオブジェクト114を含むプレゼンテーションスライド112であってよい。
【００１５】
いくつかの実施形態において、レイアウトプラットフォーム102は、当業者によって理解されるように、デスクトップコンピュータ、サーバコンピュータ、ラップトップ、タブレット、スマートフォン、または他の電子デバイスにおいて実装されてよい。いくつかの他の実施形態において、レイアウトプラットフォーム102は、クラウドコンピューティングプラットフォームにおいて実装されてよい。
【００１６】
いくつかの実施形態において、レイアウトプラットフォーム102は、レイアウトエンジン104、レイアウトルール106、オブジェクトアナライザ108、および、デバイスアナライザ110を含む。当業者によって理解されるように、レイアウトプラットフォーム102は、これらのエレメントの一部だけを含んでよい。例えば、レイアウトプラットフォーム102は、デバイスアナライザ110を含まなくてよい。
【００１７】
いくつかの実施形態において、レイアウトエンジン104は、ユーザがオブジェクト114をプレゼンテーションスライド112の中へ挿入することに応じて、オブジェクト114の１つまたはそれ以上のプロパティを変更することができる。例えば、レイアウトエンジン104は、ユーザが、入力ジェスチャを使用して、オブジェクト114をプレゼンテーションスライド112の中へ挿入することに応じて、オブジェクト114の１つまたはそれ以上のプロパティを変更することができる。当業者によって理解されるように、レイアウトエンジン104は、これらに限定されるわけではないが、オブジェクト114の位置、サイズ、向き、および色を含む、オブジェクト114の様々なタイプのプロパティを変更することができる。
【００１８】
いくつかの実施形態において、レイアウトエンジン104は、電子デバイスの１つまたはそれ以上のデバイス特性に基づいて、電子デバイスにおける表示のためにオブジェクト114の１つまたはそれ以上の特性を変更することができる。例えば、レイアウトエンジン104は、小さなポートレート指向スクリーン（portrait  oriented  screen）を有する電子デバイスに基づいて、電子デバイスにおける表示のためにオブジェクト114の１つまたはそれ以上の特性を変更することができる。例えば、レイアウトエンジン104は、ポートレート指向スクリーンを有するスマートフォンにおいて表示されているプレゼンテーションスライド112に応じて、オブジェクト114の向きをランドスケープ（landscape）からポートレートへ変えることができる。
【００１９】
いくつかの実施形態において、レイアウトエンジン104は、レイアウトルール106における１つまたはそれ以上のレイアウトルールに基づいてオブジェクト114を変更することができる。例えば、レイアウトエンジン104は、レイアウトルール106における１つまたはそれ以上のレイアウトルールに基づいて、オブジェクト114の位置、サイズ、向き、及び／又は、色を変更することができる。
【００２０】
いくつかの実施形態において、レイアウトルール106は、１つまたはそれ以上のレイアウトルールを定義するコンフィグレーションファイルであってよい。レイアウトルール106におけるレイアウトルールは、レイアウトエンジン104がオブジェクト114を変更するために使用するスタイルプリファレンスのセットを定義することができる。
【００２１】
いくつかの実施形態において、レイアウトルール106におけるレイアウトルールは、レイアウトエンジン104によってオブジェクト114について実行される１つまたはそれ以上のオペレーションとしてスタイルプリファレンスを指定することができる。例えば、レイアウトルール106におけるレイアウトルールは、１つまたはそれ以上のスケール（scale）、クロップ（crop）、及び／又は、回転（rotation）オペレーションを指定することができる。当業者によって理解されるように、レイアウトルールは、様々な他のタイプのオペレーションを指定することができる。さらに、当業者によって理解されるように、レイアウトルールは、複数のオブジェクト114に対する１つまたはそれ以上のオペレーションを指定することができる。
【００２２】
いくつかの実施形態において、レイアウトルール106におけるレイアウトルールは、また、レイアウトエンジン104によってオブジェクト114と関連付けられる１つまたはそれ以上のアクションとしてスタイルプリファレンスを指定することもできる。このことは、プレゼンテーションにおけるオブジェクトとユーザが直接的にインタラクションするための方法を提供しない従来のプレゼンテーションソフトウェアの問題を克服する。例えば、スマートフォンにおいて写真を含むプレゼンテーションを視聴しているユーザは、写真をタップしてその写真のフルスクリーン版を表示することができない。ここにおける実施形態は、この問題を解決する。例えば、レイアウトルール106におけるレイアウトルールは、プレゼンテーションスライド112が小さなスクリーン上に表示されているときに、オブジェクト114に関連するフルスクリーンアクションを指定することができる。従って、ユーザがプレゼンテーションスライド112の中のオブジェクト114をタップするとき、オブジェクト114がフルスクリーンで表示される。当業者によって理解されるように、レイアウトルールは、様々な他のタイプのオペレーションを指定することができる。
【００２３】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114の１つまたはそれ以上のプロパティに基づいて、オブジェクト114に対して適用する１つまたはそれ以上のレイアウトルールを決定することができる。レイアウトエンジン104は、また、プレゼンテーションスライド112を表示する電子デバイスの１つまたはそれ以上のデバイス特性に基づいて、オブジェクト114に対して適用する１つまたはそれ以上のレイアウトルールを決定することもできる。レイアウトエンジン104は、また、オブジェクト114を含むレイアウトセグメントに基づいて、オブジェクト114に対して適用する１つまたはそれ以上のレイアウトルールを決定することもできる。当業者によって理解されるように、レイアウトエンジン104は、上記の組合せに基づいて、オブジェクト114に対して適用する１つまたはそれ以上のレイアウトルールを決定することができる。
【００２４】
いくつかの実施形態において、レイアウトルール106におけるレイアウトルールは、１つまたはそれ以上の条件（conditions）および関連するオペレーションを指定することができる。レイアウトエンジン104は、真（true）である１つまたはそれ以上の条件に応じて、関連するオペレーションを適用することができる。いくつかの実施形態において、条件は、オブジェクト114が特定のレイアウトセグメントの中に有るときに、関連するオペレーションをレイアウトエンジン104が適用することを指定することができる。いくつかの実施形態において、条件は、プレゼンテーションスライド112を表示している電子デバイスが１つまたはそれ以上のデバイス特性を有するときに、関連するオペレーションをレイアウトエンジン104が適用することを指定することができる。当業者によって理解されるように、条件は、上記の組合せに基づいて、関連するオペレーションをレイアウトエンジン104が適用することを指定することができる。
【００２５】
いくつかの実施形態において、レイアウトルール106におけるレイアウトルールは、コンフィギュレーションファイルの中で１つまたはそれ以上の条件および関連するオペレーションを指定することができる。いくつかの実施形態において、コンフィギュレーションファイルはテキストフォーマットファイルであってよい。例えば、コンフィギュレーションファイルは、JavaScript  Object  Notation（JSON）、Extensible  Markup  Language（XML）、または、様々な他のデータフォーマットを使用して、１つまたはそれ以上の条件および関連するオペレーションを指定することができる。
【００２６】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114の１つまたはそれ以上のプロパティに基づいて、レイアウトルール106における１つまたはそれ以上のレイアウトルールを選択することができる。いくつかの実施形態において、オブジェクト114のプロパティは、オブジェクト114のタイプ、サイズ、向き、または色を含んでよい。当業者によって理解されるように、オブジェクト114は、様々な他のプロパティを含んでよい。
【００２７】
例えば、レイアウトエンジン104は、写真であるオブジェクト114に基づいて、オブジェクト114に対して適用する第１レイアウトルール、および、ビデオであるオブジェクト114に基づいて、オブジェクト114に対して適用する第２レイアウトルールを選択することができる。当業者によって理解されるように、レイアウトエンジン104は、オブジェクト114の様々な他のタイプのプロパティに基づいて、オブジェクト114に対して１つまたはそれ以上のレイアウトルールを適用することができる。
【００２８】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクトアナライザ108を使用してオブジェクト114の１つまたはそれ以上のプロパティを決定することができる。オブジェクトアナライザ108は、プレゼンテーションスライド112の中へのオブジェクト114の挿入に応じて、オブジェクト114の１つまたはそれ以上のプロパティを決定することができる。例えば、オブジェクトアナライザ108は、オブジェクト114のタイプ、サイズ、及び／又は、向きを決定することができる。当業者によって理解されるように、オブジェクトアナライザ108は、オブジェクト114の他のタイプのプロパティを決定することができる。
【００２９】
いくつかの実施形態において、レイアウトエンジン104は、プレゼンテーションスライド112を表示する電子デバイスの１つまたはそれ以上のデバイス特性に基づいて、オブジェクト114に対して適用する１つまたはそれ以上のレイアウトルールを決定することができる。例えば、レイアウトエンジン104は、デスクトップコンピュータ上にプレゼンテーションスライド112を表示することに基づいて、オブジェクト114に対して適用する第１レイアウトルール、および、スマートフォン上にプレゼンテーションスライド112を表示することに基づいて、オブジェクト114に対して適用する第２レイアウトルールを選択することができる。当業者によって理解されるように、レイアウトエンジン104は、プレゼンテーションスライド112を表示する電子デバイスの様々なタイプのデバイス特性に基づいて、オブジェクト114に対して１つまたはそれ以上のレイアウトルールを適用することができる。例えば、レイアウトエンジン104は、プレゼンテーションスライド112を表示する電子デバイスに係るディスプレイスクリーンのサイズ、ディスプレイスクリーンの向き、グラフィカルレンダリング機能（graphical  rendering  capabilities）、ディスプレイスクリーン輝度、電力使用、色深度機能（color  depth  capability）、メモリサイズ、および入力機能に基づいて、１つまたはそれ以上のレイアウトルールを適用することができる。
【００３０】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114を含むレイアウトセグメントに従ってプレゼンテーションスライド112を表示する電子デバイスの様々なタイプのデバイス特性に基づいて、オブジェクト114に対して１つまたはそれ以上のレイアウトルールを適用することができる。これにより、レイアウトエンジン104は、オブジェクト114を含むレイアウトセグメントと、プレゼンテーションスライド112を表示する電子デバイスのプロパティとの両方に関して、オブジェクト114を位置決めし、かつ、サイズ合わせすることができる。
【００３１】
いくつかの実施形態において、レイアウトエンジン104は、デバイスアナライザ110を使用してプレゼンテーションスライド112を表示する電子デバイスの１つまたはそれ以上のデバイス特性を決定することができる。デバイスアナライザ110は、電子デバイス上でのプレゼンテーションスライド112の表示の際に、電子デバイスの１つまたはそれ以上のデバイス特性を決定することができる。例えば、デバイスアナライザ110は、電子デバイスに係るディスプレイスクリーンのサイズ、ディスプレイスクリーンの向き、及び／又は、グラフィカルレンダリング機能を決定することができる。当業者によって理解されるように、デバイスアナライザ110は、電子デバイス上でのプレゼンテーションスライド112の表示の際に、電子デバイスの他のデバイス特性を決定することができる。
【００３２】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114を含むレイアウトセグメントに基づいて、オブジェクト114に対して適用する１つまたはそれ以上のレイアウトルールを決定することができる。いくつかの実施形態において、レイアウトエンジン104は、プレゼンテーションスライド112を複数のレイアウトセグメントへと分割することができる。例えば、レイアウトエンジンは、プレゼンテーションスライド112の上部にグラフィカルユーザインターフェイスを実装することができる。いくつかの実施形態において、グラフィカルユーザインターフェイスは、プレゼンテーションスライド112を複数のレイアウトセグメントへと分割する一連の垂直グリッド線（vertical  gridlines）を含んでよい。いくつかの他の実施形態において、グラフィカルユーザインターフェイスは、プレゼンテーションスライド112を複数のレイアウトセグメントへと分割する一連の水平グリッド線（horizontal  gridlines）を含んでよい。当業者によって理解されるように、グラフィカルユーザインターフェイスは、プレゼンテーションスライド112を様々な数、サイズ、および形状のレイアウトセグメントへと分割することができる。
【００３３】
いくつかの実施形態において、レイアウトルール106における１つまたはそれ以上のレイアウトルールが、複数のレイアウトセグメントにおける１つのレイアウトセグメントと関連付けられてよい。例えば、ビジュアルデザイナ（visual  designer）は、１つまたはそれ以上のレイアウトルールを、複数のレイアウトセグメントにおけるレイアウトセグメントと関連付けることができる。
【００３４】
図２は、１つの例示的な実施形態に従って、プレゼンテーションスライド112について複数のレイアウトセグメントを定義する、プレゼンテーションスライドの上部にあるグラフィカルユーザインターフェイスを示している。当業者によって理解されるように、グラフィカルユーザインターフェイス202は、これらに限定されるわけではないが、デスクトップパブリッシング文書、フォトモンタージュ、パンフレット、配布資料、またはポスターを含む、様々な他のタイプのコンテンツに対して適用されてよい。図２は、図１及び図３Ａ−３Ｄに関して説明される。図３Ａ−３Ｄは、例示的な実施形態に従って、グラフィカルユーザインターフェイス202によって定義された異なるレイアウトセグメントの中へオブジェクト114が挿入されたときに、レイアウトエンジン104によって出力される様々なレイアウト結果を示している。
【００３５】
図２において、レイアウトエンジン104は、プレゼンテーションスライド112のためのグラフィカルユーザインターフェイス202を表示している。レイアウトエンジン104は、プレゼンテーションスライド112の上部にグラフィカルオーバーレイ（graphical  overlay）としてグラフィカルユーザインターフェイス202を表示することができる。グラフィカルユーザインターフェイス202は、レイアウトセグメント204、206、208、および210を含んでいる。いくつかの実施例において、レイアウトセグメント204、206、208、および210は、プレゼンテーションスライド112の中で１つまたはそれ以上のオブジェクト114の相対的な位置決めを提供する。レイアウトセグメント204、206、208、および210は、また、レイアウトルール106における１つまたはそれ以上のレイアウトルールと関連付けられてもよい。当業者によって理解されるように、グラフィカルユーザインターフェイス202は、レイアウトセグメントの様々な数、サイズ、および形状を定義することができる。
【００３６】
いくつかの実施形態において、グラフィカルユーザインターフェイス202は、垂直グリッド線を使用して、レイアウトセグメント204、206、208、および210を定義する。当業者によって理解されるように、グラフィカルユーザインターフェイス202は、他の分割メカニズムを使用して、レイアウトセグメントを定義することができる。
【００３７】
いくつかの実施形態において、レイアウトエンジン104は、オブジェクト114がプレゼンテーションスライド112の中へ挿入されているときに、グラフィカルユーザインターフェイス202を表示することができる。
【００３８】
いくつかの実施形態においては、レイアウトセグメント204、206、208、および210のうち所与のレイアウトセグメントの中へユーザがオブジェクト114を挿入することに応じて、レイアウトエンジン104は、オブジェクト114に対してレイアウトルール106から１つまたはそれ以上のレイアウトルールを適用する。これにより、レイアウトエンジン104は、レイアウト結果116を生成する。レイアウト結果116は、プレゼンテーションスライド112の中の１つまたはそれ以上のオブジェクト114に係るレイアウトの修正および変更を表している。レイアウトエンジン104は、レイアウトルール106における１つまたはそれ以上のレイアウトルールによって定義された１つまたはそれ以上のオペレーションをオブジェクト114に対して適用することによって、レイアウト結果116を出力することができる。レイアウトエンジン104は、また、レイアウトルール106における１つまたはそれ以上のレイアウトルールによって定義された１つまたはそれ以上のオペレーションをプレゼンテーションスライド112の中の他のオブジェクトに対して適用することもできる。
【００３９】
例えば、図３Ａにおいて、レイアウトエンジン104は、ユーザがレイアウトセグメント204の中へオブジェクト114を挿入することに応じて、レイアウト結果306を出力する。レイアウトエンジン104は、レイアウト結果306に示されるように、オブジェクト114を再サイズ合わせし（resize）、かつ、再位置決めする（reposition）。レイアウトエンジン104は、また、レイアウトセグメント204の中へのオブジェクト114の挿入に応じて、プレゼンテーションスライド112の中の別のオブジェクト（例えば、オブジェクト302）も再サイズ合わせし、かつ、中心に置く（center）。
【００４０】
図３Ｂにおいて、レイアウトエンジン104は、ユーザがレイアウトセグメント206の中へオブジェクト114を挿入することに応じて、レイアウト結果307を出力する。レイアウトエンジン104は、レイアウト結果307に示されるように、オブジェクト114を再サイズ合わせし、かつ、再位置決めする。レイアウトエンジン104は、また、レイアウトセグメント206の中へのオブジェクト114の挿入に応じて、プレゼンテーションスライド112の中の別のオブジェクト（例えば、オブジェクト302）も再サイズ合わせし、かつ、中心に置く。
【００４１】
図３Ｃにおいて、レイアウトエンジン104は、ユーザがレイアウトセグメント208の中へオブジェクト114を挿入することに応じて、レイアウト結果308を出力する。レイアウトエンジン104は、レイアウト結果308に示されるように、オブジェクト114を再サイズ合わせし、かつ、再位置決めする。レイアウトエンジン104は、オブジェクト114を背景に置く。レイアウトエンジン104は、また、レイアウトセグメント208の中へのオブジェクト114の挿入に応じて、プレゼンテーションスライド112の中の別のオブジェクト（例えば、オブジェクト302）も再サイズ合わせし、かつ、中心に置く。
【００４２】
図３Ｄにおいて、レイアウトエンジン104は、ユーザがレイアウトセグメント210の中へオブジェクト114を挿入することに応じて、レイアウト結果309を出力する。レイアウトエンジン104は、レイアウト結果309に示されるように、オブジェクト114を再サイズ合わせし、かつ、再位置決めする。レイアウトエンジン104は、また、レイアウトセグメント210の中へのオブジェクト114の挿入に応じて、プレゼンテーションスライド112の中の別のオブジェクト（例えば、オブジェクト302）も再サイズ合わせし、かつ、再位置決めする。
【００４３】
図４は、例示的な実施形態に従って、異なる電子デバイスにおけるディスプレイのために図３Ａにおけるレイアウト結果306がどのようにアップデートされるかを示している。図４は、図１、２、および３Ａに関して説明される。
【００４４】
図４において、レイアウト結果306は、レイアウトセグメント204の中へのオブジェクト114の挿入に基づいて、オブジェクト114および302のサイズと位置を示している。レイアウト結果306は、プレゼンテーションスライド112が大きなディスプレイスクリーン上に投影されるときの、プレゼンテーションスライド112におけるオブジェクト114および302のレイアウトを表し得る。
【００４５】
図４において、レイアウトエンジン104は、スマートフォンといった小さなディスプレイスクリーンの電子デバイスにおいてプレゼンテーションスライド112が表示されていることに応じて、レイアウト結果402を出力する。例えば、デバイスアナライザ110は、プレゼンテーションスライド112を表示している電子デバイスが、小さいディスプレイスクリーンのサイズとポートレート指向のディスプレイスクリーンを有するものと判断する。レイアウトエンジン104は、プレゼンテーションスライド112を表示している電子デバイスが、小さいディスプレイスクリーンのサイズとポートレート指向のディスプレイスクリーンを有するものとの判断に応じて、レイアウトルール106から１つまたはそれ以上のレイアウトルールの異なるセットを適用する。別の言葉で言えば、レイアウトエンジン104は、レイアウトセグメント204の中に有るオブジェクト114に応じて、レイアウトルールの２つのセットを適用する。大きなスクリーンの電子デバイスのためのレイアウトルールの第１セット、および、小さなスクリーン（例えば、スマートフォン）電子デバイスのためのレイアウトルールの第２セットである。結果として、レイアウトエンジン402は、スマートフォンのディスプレイスクリーンがポートレート指向であるため、オブジェクト302の上部にオブジェクト114を表示する。
【００４６】
図５は、１つの実施形態に従って、オブジェクトの自動レイアウトを実行するための方法500に対するフローチャートである。方法500は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード、等）、ソフトウェア（例えば、処理デバイス上で実行するインストラクション）、又はそれらの組合せを含み得る、処理ロジック（processing  logic）によって実行することができる。ここにおいて提供される開示を実行するために必ずしも全てのステップを要しなくてよいことが正しく理解されよう。さらに、ステップのうちいくつかは、同時に実行されてよく、または、当業者によって理解されるように、図５に示されるのとは異なる順序で実行されてよい。
【００４７】
方法500は、図１を参照して説明される。しかしながら、方法500は、その例示的な実施形態に限定されるものではない。
【００４８】
502において、レイアウトプラットフォーム102は、入力ジェスチャを介して、ユーザからプレゼンテーションスライド112の中へ挿入されるオブジェクト114を受け取る。いくつかの実施形態において、レイアウトプラットフォーム102は、コンピュータマウス、タッチパッド、またはタッチジェスチャを使用して、プレゼンテーションスライド112の中へオブジェクト114をドラッグアンドドロップするユーザからオブジェクト114を受け取る。
【００４９】
504において、レイアウトエンジン104は、オブジェクト114が、プレゼンテーションスライド112における複数のレイアウトセグメントのうち１つのレイアウトセグメントの中に有るものと判断する。
【００５０】
506において、レイアウトエンジン104は、判断されたレイアウトセグメントと関連するレイアウトルール106におけるレイアウトルールを決定する。いくつかの実施形態において、レイアウトエンジン104は、オブジェクトアナライザ108を使用して、オブジェクト114の１つまたはそれ以上のプロパティを決定することができる。レイアウトエンジン104は、次いで、決定されたレイアウトセグメントおよびオブジェクト114の決定された１つまたはそれ以上のプロパティについて適用する、レイアウトルール106におけるレイアウトルールを決定する。
【００５１】
508において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、オブジェクト114の１つまたはそれ以上のプロパティを変更する。いくつかの実施形態において、レイアウトエンジン104は、決定されたレイアウトルールの１つまたはそれ以上のオペレーションをオブジェクト114に対して適用する。例えば、レイアウトエンジン104は、オブジェクト114のサイズ、位置、及び／又は、向きを変更することができる。
【００５２】
いくつかの実施形態において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、プレゼンテーションスライド112の中の他のオブジェクトの１つまたはそれ以上のプロパティを変更することができる。例えば、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、プレゼンテーションスライド112の中の他のオブジェクトのサイズ、位置、及び／又は、向きを変更することができる。
【００５３】
510において、レイアウトエンジン104は、オブジェクト114に対する１つまたはそれ以上の変更と共に、プレゼンテーションスライド112を表すレイアウト結果116を出力する。いくつかの実施形態において、レイアウト結果116は、オブジェクト114およびプレゼンテーションスライド112の中の１つまたはそれ以上の他のオブジェクトに対する１つまたはそれ以上の変更と共に、プレゼンテーションスライド112を表している。
【００５４】
図６は、１つの実施形態に従って、異なる電子デバイスにわたりプレゼンテーションを表示するための方法600を説明するフローチャートである。方法600は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード、等）、ソフトウェア（例えば、処理デバイス上で実行するインストラクション）、又はそれらの組合せを含み得る、処理ロジックによって実行することができる。ここにおいて提供される開示を実行するために必ずしも全てのステップを要しなくてよいことが正しく理解されよう。さらに、ステップのうちいくつかは、同時に実行されてよく、または、当業者によって理解されるように、図６に示されるのとは異なる順序で実行されてよい。
【００５５】
方法600は、図１を参照して説明される。しかしながら、方法600は、その例示的な実施形態に限定されるものではない。
【００５６】
602において、レイアウトプラットフォーム102は、プレゼンテーションスライド112を受け取る。いくつかの実施形態において、プレゼンテーションスライド112は、オブジェクト114を含んでよい。いくつかの実施形態において、レイアウトプラットフォーム102は、インターネットといったネットワークによってプレゼンテーションスライド112を受け取ることができる。例えば、レイアウトプラットフォーム102は、インターネットによってプレゼンテーションスライド112を受け取り、そして、プレゼンテーションスライド112をクラウドコンピューティングプラットフォームにおいて保管することができる。
【００５７】
604において、デバイスアナライザ110は、プレゼンテーションスライド112を表示する電子デバイスについて１つまたはそれ以上のデバイス特性を決定する。いくつかの実施形態において、デバイスアナライザ110は、ディスプレイのサイズ、ディスプレイの向き、およびグラフィカルレンダリング機能、電力使用特性、及び／又は、電子デバイスの他のデバイス特性を決定する。
【００５８】
606において、レイアウトエンジン104は、オブジェクト114がプレゼンテーションスライド112における複数のレイアウトセグメントのうち１つのレイアウトセグメントの中に有ると判断する。
【００５９】
606において、レイアウトエンジン104は、電子デバイスの決定された１つまたはそれ以上のデバイス特性、決定されたレイアウトセグメント、および、オブジェクト114の１つまたはそれ以上の特性について適用するレイアウトルール106におけるレイアウトルールを決定する。いくつかの実施形態において、レイアウトエンジン104は、オブジェクトアナライザ108を使用して、オブジェクト114の１つまたはそれ以上のプロパティを決定することができる。例えば、オブジェクトアナライザ108は、オブジェクト114のサイズ、位置、及び／又は、大きさを決定することができる。
【００６０】
608において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、オブジェクト114の１つまたはそれ以上のプロパティを変更する。いくつかの実施形態において、レイアウトエンジン104は、決定されたレイアウトルールの１つまたはそれ以上のオペレーションをオブジェクト114に対して適用する。例えば、レイアウトエンジン104は、オブジェクト114のサイズ、位置、及び／又は、向きを変更することができる。当業者によって理解されるように、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、オブジェクト114の他のプロパティを変更することができる。
【００６１】
いくつかの実施形態において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、プレゼンテーションスライド112の中の他のオブジェクトの１つまたはそれ以上のプロパティを変更することができる。例えば、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、プレゼンテーションスライド112の中の他のオブジェクトのサイズ、位置、及び／又は、向きを変更することができる。
【００６２】
いくつかの他の実施形態において、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、１つまたはそれ以上のアクションをオブジェクト114と関連付けることができる。例えば、レイアウトエンジン104は、決定されたレイアウトルールに基づいて、オブジェクト114に対してフルスクリーンアクション（full  screen  action）を適用することができる。当業者によって理解されるように、決定されたレイアウトルールに基づいて、様々な他のタイプのアクションがオブジェクト114と関連付けられてよい。
【００６３】
610において、レイアウトエンジン104は、オブジェクト114に対する１つまたはそれ以上の変更と共に、プレゼンテーションスライド112を表すレイアウト結果116を出力する。いくつかの実施形態において、レイアウト結果116は、オブジェクト114およびプレゼンテーションスライド112の中の１つまたはそれ以上の他のオブジェクトに対する１つまたはそれ以上の変更と共に、プレゼンテーションスライド112を表している。
【００６４】
様々な実施形態は、例えば、図７に示されるコンピュータシステム700といった、１つまたはそれ以上のコンピュータシステムを使用して実施することができる。コンピュータシステム700は、例えば、図５の方法500を実施するために使用することができる。例えば、コンピュータシステム700は、オブジェクトの自動レイアウトを実行することができる。コンピュータシステム700は、さらに、いくつかの実施形態に従って、複数の電子デバイスにわたるプレゼンテーションを表示することができる。コンピュータシステム700は、ここにおいて説明される機能を実行することができる任意のコンピュータであってよい。
【００６５】
コンピュータシステム700は、ここにおいて説明される機能を実行することができる任意の周知のコンピュータであってよい。
【００６６】
コンピュータシステム700は、プロセッサ704といった、１つまたはそれ以上のプロセッサ（中央処理装置、またはCPUとも呼ばれるもの）を含む。プロセッサ704は、通信インフラストラクチャまたはバス706に対して接続されている。
【００６７】
１つまたはそれ以上のプロセッサ704は、それぞれグラフィックス処理ユニット（graphics  processing  unit、GPU）であってよい。１つの実施形態において、GPUは、数学的に集約的なアプリケーションを処理するようにデザインされた特殊用途の電子回路であるプロセッサである。GPUは、コンピュータグラフィックスアプリケーション、画像、ビデオ、等に共通する数学的に集約的なデータといった、データの大きなブロックの並列処理について効率的である並列構造を有してよい。
【００６８】
コンピュータシステム700は、また、ユーザ入力／出力インターフェイス702を通じて通信インフラストラクチャ706と通信する、モニタ、キーボード、ポインティングデバイス、等といった、ユーザ入力／出力デバイス703も含んでいる。
【００６９】
コンピュータシステム700は、また、ランダムアクセスメモリ（RAM）といった、メインまたは主メモリ708も含んでいる。主メモリ708は、キャッシュの１つまたはそれ以上のレベルを含んでよい。主メモリ708は、コントロールロジック（すなわち、コンピュータソフトウェア）、及び／又は、データをその中に保管している。
【００７０】
コンピュータシステム700は、また、１つまたはそれ以上の二次（secondary）ストレージデバイスまたはメモリ710も含んでよい。二次ストレージデバイス710は、例えば、ハードディスクドライブ712、及び／又は、リムーバブルストレージデバイスまたはドライブ714を含んでよい。リムーバブルストレージドライブ714は、フロッピー（登録商標）ディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光ストレージデバイス、テープバックアップ装置、及び／又は、あらゆる他のストレージデバイス／ドライブであってよい。
【００７１】
リムーバブルストレージドライブ714は、リムーバブルストレージユニット718とインタラクションすることができる。リムーバブルストレージユニット718は、コンピュータソフトウェア（コントロール）及び／又はデータをその上に保管しているコンピュータで使用可能または読取り可能なストレージデバイスを含んでいる。リムーバブルストレージユニット718は、フロッピー（登録商標）ディスク、磁気テープ、コンパクトディスク、ＤＶＤ、光ストレージディスク、及び／又は、あらゆる他のコンピュータデータストレージデバイスであってよい。リムーバブルストレージドライブ714は、周知の方法で、リムーバブルストレージユニット718から読出し、かつ／あるいは、リムーバブルストレージユニット718へ書込む。
【００７２】
１つの例示的な実施形態に従って、二次メモリ710は、コンピュータプログラム、及び／又は、他のインストラクション及び／又はデータがコンピュータシステム700によってアクセスされることを可能にするための他の手段、媒介（instrumentalities）、または他のアプローチを含むことができる。そうした手段、媒介、または他のアプローチは、例えば、リムーバブルストレージユニット722とインターフェイス720を含んでよい。リムーバブルストレージユニット722とインターフェイス720の例は、プログラムカートリッジとカートリッジインターフェイス（ビデオゲーム装置において見られるものなど）、リムーバブルメモリチップ（EPROMまたはPROMといったもの）とUSBポート、メモリカードと関連のメモリカードスロット、及び／又は、あらゆる他のリムーバブルストレージユニットと関連のインターフェイス、を含んでよい。
【００７３】
コンピュータシステム700は、さらに、通信またはネットワークインターフェイス724を含んでよい。通信インターフェイス724により、コンピュータシステム700は、リモートデバイス、リモートネットワーク、リモートエンティティ、等の任意の組合せ（個別的および集合的に参照番号728によって参照されるもの）と通信し、かつ、インタラクションすることができる。例えば、通信インターフェイス724により、コンピュータシステム700は、通信パス726を介してリモートデバイス728と通信することができる。通信パスは、有線及び／又は無線であってよく、かつ、LAN、WAN、インターネット等の任意の組合せを含んでよい。コントロールロジック及び／又はデータは、通信パス726を介してコンピュータシステム700に対して、および、コンピュータシステムから伝送され得る。
【００７４】
１つの実施形態において、コントロールロジック（ソフトウェア）が保管されている有形の、非一時的なコンピュータで使用可能または読取り可能な媒体を含む、有形の非一時的な装置または製品は、また、ここにおいてはコンピュータプログラム製品またはプログラムストレージデバイスとしても参照される。これは、これらに限定されるわけではないが、コンピュータシステム700、主メモリ708、二次メモリ710、および、リムーバブルストレージユニット718と722、並びに、前記のものの任意の組合せを具現化している有形の製品、を含んでいる。そうしたコントロールロジックは、（コンピュータシステム700といった）１つまたはそれ以上のデータ処理装置によって実行されるとき、そうしたデータ処理装置をここにおいて説明するように動作させる。
【００７５】
この開示に含まれる教示に基づいて、当業者にとっては、データ処理装置、コンピュータシステム、及び／又は、図７に示される以外のコンピュータアーキテクチャを使用して、この開示の実施形態をどのように作成および使用するのか明らかであろう。特に、実施形態は、ここにおいて記載されているもの以外のソフトウェア、ハードウェア、及び／又は、オペレーティングシステム実装を用いて動作することができる。
【００７６】
詳細な説明のセクションは、あらゆる他のセクションではなく、特許請求の範囲を解釈するために使用されるように意図されていることが正しく理解されるべきである。他のセクションは、発明者によって考えられたものとして１つまたはそれ以上であるが全てではない例示的な実施形態を明らかにすることができる。そして、従って、どのようにしても本開示または添付の特許請求の範囲を限定するように意図されたものではない。
【００７７】
この開示は、例示的な分野およびアプリケーションについて例示的な実施形態を説明しているが、本開示はそれに限定されないことが理解されるべきである。他の実施形態および変更が、可能であり、そして、それらは、この開示の範囲および精神の中に有る。例えば、そして、このパラグラフの一般性を制限することなく、実施形態は、図に示され、かつ／あるいは、ここにおいて説明されるソフトウェア、ハードウェア、ファームウェア、及び／又は、エンティティに限定されるものではない。さらに、実施形態（ここにおいて明示的に記載されているか否かにかかわらず）は、ここにおいて説明される実施例を超えた分野およびアプリケーションに対して顕著な功利性を有している。
【００７８】
特定の機能の実装およびその関係性を図示している機能的ビルディングブロックを用いて、実施形態がここにおいて説明されてきた。これらの機能的ビルディングブロックの境界は、説明の便宜のために、ここにおいて任意に定義されたものである。特定される機能および関係（または、それらの等価物）が適切に実行される限り、代替的な境界を定義することができる。また、代替的な実施形態は、ここにおいて説明されたものとは異なる順序を使用して、機能ブロック、ステップ、オペレーション、方法、等を実行することができる。
【００７９】
ここにおける「１つの実施形態（”one  embodiment”）」、「実施形態（”an  embodiment”）」、「例示的な実施形態（”an  example  embodiment”）」、または、類似のフレーズは、説明された実施形態が特定の特徴、構造、または、特性を含むことができるが、全ての実施形態が必ずしも特定の特徴、構造、または特性を含むこと要しないことを示している。その上、そうしたフレーズは、必ずしも同じ実施形態を参照することを要しない。さらに、特定の特徴、構造、または特性が１つの実施形態に関連して説明されている場合には、ここにおいて明示的に言及または説明されているか否かにかかわらず、そうした特徴、構造、または特性を他の実施形態の中へ組み込むことは、当業者の知識の範囲内であろう。加えて、いくつかの実施形態は、その派生語と併せて「結合された（”coupled”）」および「接続された（”connected”）」という表現を使用して説明することができる。これらの用語は、必ずしも相互に同義語として意図されているわけではない。例えば、いくつかの実施形態は、２つまたはそれ以上のエレメントが相互に直接的に物理的または電気的に接触していることを示すために、用語「接続された」及び／又は「結合された」を使用して説明することができる。しかしながら、用語「結合された」は、また、２つまたはそれ以上のエレメントが相互に直接的に接触していないが、依然として互いに協働またはインタラクションすることを意味することもできる。
【００８０】
この開示の幅および範囲は、上記の例示的な実施形態のいずれかによって限定されるべきではなく、以降の請求項およびそれらの等価物に従ってのみ規定されるべきものである。
【図１】
2019016353.tif 000003
【図２】
2019016353.tif 000004
【図３Ａ】
2019016353.tif 000005
【図３Ｂ】
2019016353.tif 000006
【図３Ｃ】
2019016353.tif 000007
【図３Ｄ】
2019016353.tif 000008
【図４】
2019016353.tif 000009
【図５】
2019016353.tif 000010
【図６】
2019016353.tif 000011
【図７】
2019016353.tif 000012
【外国語明細書】
2019016353000001.pdf