(57)【特許請求の範囲】
【請求項１】
データ変換のためのコンピュータにより実施される方法であって、
前記コンピュータにおいて複数のデータ要素を含むデータを取得することと、
前記複数のデータ要素間の関係性を特定するように前記データを分析することと、
前記関係性に少なくとも部分的に基づき、前記複数のデータ要素の少なくとも１つを含む出力を生成するように使用可能な複数のワールドを特定することであって、前記複数のワールドのそれぞれは前記複数のデータ要素に付与する可視化モデルを規定する、特定することと、
前記データおよび前記関係性に対する前記ワールドの適用性の決定に少なくとも部分的に基づき、前記ワールドの格付けを決定するように前記複数のワールドのそれぞれを格付けすることと、
前記ワールドの前記格付けに少なくとも部分的に基づき前記複数のワールドからワールドを選択することと、
前記データを選択された前記ワールドに付与するためのルールを取得することと、
前記出力を生成するように前記データに前記ルールを付与することと、
を含む、方法。
【請求項２】
前記出力を前記コンピュータに関連づけられた表示装置に示すことと、
前記コンピュータのユーザからフィードバックを取得することと、
少なくとも部分的に前記フィードバックに基づき前記ワールドが変更されるかどうかを決定することと、
前記ワールドが変更されると決定されることに反応して、前記フィードバックにより新しいワールドを選択することと、をさらに含む、請求項１に記載の方法。
【請求項３】
前記出力に変化を導入するために前記複数のデータ要素に付与するための少なくとも１つの変化を決定することと、
前記変化および前記関係性に基づき前記可視化モデルを決定することと、
少なくとも部分的に前記可視化モデルおよび前記関係性に基づき前記ワールドを選択することと、をさらに含む、請求項１に記載の方法。
【請求項４】
前記複数のワールドを特定することは、前記データに対して決定された形状に少なくとも部分的に基づき前記データが適用可能なワールドを決定するように前記データを分析することを含む、請求項１に記載の方法。
【請求項５】
前記データに対して決定された前記形状は、一定量のテキスト、前記データ内の一定量の画像、または一定量の別のタイプのデータのうちの少なくとも１つを特定するデータを含む、請求項４に記載の方法。
【請求項６】
前記複数のワールドからワールドを選択することは、
前記格付けに少なくとも部分的に基づき前記ワールドを選択することと、
前記選択されたワールドを出力することと、を含む請求項４に記載の方法。
【請求項７】
前記ワールドを選択することは、最も高い前記格付けを有する前記ワールドを選択することを含む、請求項６に記載の方法。
【請求項８】
コンピュータ可読命令を記憶するコンピュータ記憶媒体であって、前記コンピュータ可読命令はコンピュータにより実行された場合に前記コンピュータに、
複数のデータ要素を含むデータを取得させることと、
前記複数のデータ要素間の関係性を特定するように前記データを分析させることと、
前記関係性に少なくとも部分的に基づき、前記複数のデータ要素の少なくとも１つを含む出力を生成するように使用可能な複数のワールドを特定させることであって、前記複数のワールドのそれぞれは前記複数のデータ要素に付与する可視化モデルを規定する、特定させることと、
前記データおよび前記関係性に対する前記ワールドの適用性の決定に少なくとも部分的に基づき、前記ワールドの格付けを決定するように前記複数のワールドのそれぞれを格付けさせることと、
前記ワールドの前記格付けに少なくとも部分的に基づき前記複数のワールドからワールドを選択させることと、
前記データを前記選択されたワールドに付与するためのルールを取得させることと、
前記出力を生成するように前記データに前記ルールを付与させることと、をさせる、コンピュータ記憶媒体。
【請求項９】
前記コンピュータにより実行された場合に、前記データに対して決定された形状に少なくとも部分的に基づき、前記データが付与可能なワールドを決定するように前記データを分析することにより前記コンピュータに前記複数のワールドを特定させる、コンピュータ可読命令をさらに含む、請求項８に記載のコンピュータ記憶媒体。
【請求項１０】
前記データに対して決定された前記形状は、前記データ内の一定量のテキスト、前記データ内の一定量の画像、前記データに関連付けられた画像とテキストの比率、前記データに関連付けられた平均画像サイズ、または前記データ内のテキストブロックのサイズのうちの少なくとも１つを特定するデータを含む、請求項９に記載のコンピュータ記憶媒体。
【請求項１１】
前記データに対して決定された前記形状は、前記データ内の一定量の画像、前記データ内の画像のサイズ、前記データ内の画像の解像度、前記データ内の画像のアスペクト比、前記データ内のテキストブロックの長さ、前記データ内の関連するテキストブロックの数、または前記データ内のセクションの数量のうちの少なくとも１つをさらに含む、請求項９に記載のコンピュータ記憶媒体。
【請求項１２】
前記コンピュータにより実行された場合に前記コンピュータに、
前記格付けに少なくとも部分的に基づきワールドを選択させることと、
前記選択されたワールドを出力させることとにより、前記ワールドを選択させる、コンピュータ可読命令をさらに含む、請求項９に記載のコンピュータ記憶媒体。
【請求項１３】
前記コンピュータにより実行された場合に前記コンピュータに、
前記出力を表示させることと、
前記出力に関連するフィードバックを取得させることと、をさせるコンピュータ可読命令をさらに含む、請求項８に記載のコンピュータ記憶媒体。
【請求項１４】
前記コンピュータにより実行された場合に前記コンピュータに、
前記フィードバックに基づき前記ワールドが変更されるかどうか決定させることと、
前記ワールドが変更されると決定したことに応じて、前記データを付与する新しいワールドを決定させ、決定された前記新しいワールドを特定するデータを出力させることと、をさせるコンピュータ可読命令をさらに含む、請求項１３に記載のコンピュータ記憶媒体。
【請求項１５】
前記コンピュータにより実行された場合に前記コンピュータに、
前記複数のワールドの再格付けをさせることと、
前記複数のワールドの再格付けに少なくとも部分的に基づき、前記新しいワールドを選択させることとにより、
前記ワールドが変更されるかどうか決定させる、コンピュータ可読命令をさらに含む、請求項１４に記載のコンピュータ記憶媒体。
【請求項１６】
前記フィードバックは、
前記出力のアスペクトが好まれているという指示、
前記出力のアスペクトが好まれていないという指示、または
異なるワールドが望まれているという指示、の少なくとも１つを含む、請求項１３に記載のコンピュータ記憶媒体。
【請求項１７】
前記コンピュータにより実行された場合に前記コンピュータに、
前記データが更新されたことを決定させることと、
前記更新されたデータを反映させるように前記出力を更新させることと、をさせるコンピュータ可読命令をさらに含む、請求項８に記載のコンピュータ記憶媒体。
【請求項１８】
前記データまたは新しいデータに対する変更を検出することと、
前記データまたは前記新しいデータに対する前記変更に基づき前記複数のワールドを再格付けすることと、
前記データまたは新しいデータに対する前記変更に基づく前記複数のワールドの再格付けに基づき新しいワールドを選択することと、をさらに含む、請求項１に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  情報を瞬時に公開するために使用できる、多様なソフトウェアが入手しやすくなり、多様化の進む一群のユーザーが増大する多種多様なタイプのデータを加速した速度と頻度とで、拡大する対象ユーザーに対して共有できるようになったことにより、データ共有は大変革を受けた。そのため、データを作成し、生成し、共有し、および／または公開する多くのユーザーは、閲覧者に対して意味のあるフォーマットでデータを提示するために使用され得るデザインコンセプトに精通している場合もしていない場合もある。これらのユーザーが提示データのデザイン特性を改善するのに時間がかかる場合、データの有用性は、そのユーザーまたは他のユーザーがその後データを公開することで減じる可能性がある。
【０００２】
[0002]  これらの時間に関係する問題に対応するために、データを単純なドキュメントで公開し、および／またはデータをプレゼンテーション、ビデオ、または他の出力の中にロードするユーザーもいる。データを提示するために選択されたフォーマットは理想的であることもそうでないこともあるため、これらのプレゼンテーションに、使用できる十分な情報がなく、および／またはあまりにも多くの情報が含まれていて閲覧者が容易に消費できない場合がある。したがって、データ公開の量および頻度が増えることによりユーザーに対して提起される難題が、共有されるか、または他の何らかの方法で公開される情報の有用性に影響を及ぼし得る。
【０００３】
[0003]  データを公開するためにテンプレートが使用され得るが、これらのテンプレートは、特定のソフトウェアパッケージに標準で付属していることがあり、またユーザーによって公開される特定のタイプのデータに適していることも適していないこともある。それに加えて、ユーザーは、公開をユニークなものに見せることによって自分の公開データを他のユーザーのデータから区別し、それによって、閲覧者を引き付けて逸らさず、および／またはユーザーがドキュメントを自分で生成したという印象を与えることを望んでいる場合もある。
【０００４】
[0004]  以上の考慮事項および他の考慮事項に関して、本明細書でなされている開示が提示される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
[0005]  本明細書で、データを消費型コンテンツに変換するときにバリエーション（variations）を生じさせるためのコンセプトおよび技術について説明する。本明細書で使用されているような「消費型（消費可能な）」という用語は、ユーザー、閲覧者、または他のエンティティによってすぐに閲覧されるか、解釈されるか、またはアクセスされ得るコンテンツを指すために使用することができる。いくつかの場合において、コンテンツまたはその一部は、階層または論理関係に従って、および／または適用されるデザインルールに従って配置構成され得る。本明細書で開示されているコンセプトおよび技術により、データはコンピューティングデバイスによって取得され得る。いくつかの場合において、データは、テキストファイル、ウェブページ、ドキュメント、プレゼンテーションファイル、スプレッドシート、ビデオ、写真もしくは他の画像、または別のタイプのデータを含むものとしてよい。データは、さまざまなフォーマットで取得され、データのデータ要素および／または一部分の間の関係を識別するために分析され得る。これらの関係を使用して、階層、強調、クラスタを識別し、および／または他の何らかの方法でデータの理解を得ることができる。
【０００６】
[0006]  コンピューティングデバイスは、差異またはバリエーションをデータに導入する仕方を決定することができる。バリエーションは、アニメーション、効果、レイアウト、配色、または他のデザインバリエーションにおける差異を含み得る。コンピューティングデバイスは、データを提示するためのワールド（world）を選択することができる。本明細書で使用されているような、「ワールド」という用語は、データを提示するためのアプローチ、モデル、またはテーマを指すために使用され得る。コンピューティングデバイスは、データの決定された関係、階層、および／またはタイプおよびインスタンス数に基づき、データに適しているか、または適用可能であるものとしてよい複数のワールドを識別するように構成され、さまざまな考察結果に基づき可能なワールドを順位付けすることができる。ワールドの順位付けおよび／または他の考察結果に基づき、コンピューティングデバイスは、データを提示するためのワールドを選択することができる。コンピューティングデバイスは、データをワールドに翻訳する仕方を定義するルールの１つまたは複数のセットを使用してデータをワールドに適用することができる。いくつかの実施形態において、ルールは、それぞれのワールドに合わせて手直しされ、例えば、特定のタイプのデータを選択された、または選ばれたワールド内にどのように表現するかを定義し得る。
【０００７】
[0007]  バリエーション、可視化モデル、ワールド、および／またはルールの適用を通じて、コンピューティングデバイスは消費型コンテンツを含む、また出力を閲覧者に区別できるものとして、さらにはユニークなものとして見せることができるバリエーションを含む出力を生成することができる。出力は、プレゼンテーション、ドキュメント、ビデオ、インタラクティブデータ出力、または他のデータを含み得る。いくつかの実施形態において、コンピューティングデバイスは、出力をユーザーまたは他のエンティティに提示し、ユーザーまたは他のエンティティは、出力のさまざまな態様に関係する選好を表明する。したがって、例えば、ユーザーは、出力の特定の態様が好きか嫌いかを表明することができ、コンピューティングデバイスは、表明された好き嫌いを出力に適用するように構成されるものとしてよい。いくつかの実施形態において、コンピューティングデバイスは、ユーザーの選好に基づき、データを翻訳するために使用されるワールドが変更されるべきかどうかを決定するように構成され得る。コンピューティングデバイスは、後で使用するためにそれらの選好を記憶しておくように構成されてもよい。
【課題を解決するための手段】
【０００８】
[0008]  一態様によれば、コンピューティングデバイスはデータを取得する。データは、インターネット、サーバー、または同様のものなどのローカルまたはリモートの記憶装置デバイスから取得することができる。コンピューティングデバイスは、データを分析し、データ内の関係を識別し、可視化モデルを決定し、ワールドを選び、ワールドに関連付けられているデザインルールなどのルールをデータに適用し、出力を生成するために変換エンジンを実行するように構成され得る。いくつかの実施形態において、変換エンジンは、多数のモジュールを備えるか、または多数のモジュールで置き換えることができる。これらのモジュールは、分解および理解モジュール（decomposition and understanding module）、バリエーションモジュール（variation module）、およびワールド選択モジュール（world chooser module）を含み得る。変換エンジンは、選ばれた、または選択されたワールドに基づきデータを翻訳するためのルールの表現も備えることができ、変換エンジンは、ルールをデータに適用して出力を生成するように構成することができる。
【０００９】
[0009]  別の態様によれば、変換エンジンは、データを翻訳するために使用され得るワールドを最初に決定することによってワールドを選択するように構成され得る。ワールドは、さまざまな考察結果に基づきコンピューティングデバイスによって順位付けされるものとしてよい。コンピューティングデバイスは、これらの順位付けに、少なくとも部分的に基づき、ワールドを選択し、ワールドをデータに適用することができる。データが更新された場合、またはコンピューティングデバイスがフィードバックに基づきワールドが変更されるべきと決定した場合、コンピューティングデバイスはワールドを変更するか、または修正することができる。そのようなものとして、コンピューティングデバイスは、ユーザーの選好に基づき、および／またはコンピューティングデバイスによって変換されるデータへの変更に基づき出力を生成し、出力を修正するように構成され得る。コンピューティングデバイスは、後で使用するために、および／または他のデータに適用するためにそれらの選好を記憶しておくように構成することもできる。
【００１０】
[0010]  上で説明されている主題は、コンピュータ制御装置、コンピュータプロセス、コンピューティングシステム、またはコンピュータ可読記憶媒体などの製造品として実装され得ることは理解されるであろう。これらおよび他のさまざまな特徴は、以下の詳細な説明を読み、関連する図面を精査することで明らかになる。
【００１１】
[0011]  この「課題を解決するための手段」は、以下の「発明を実施するための形態」でさらに説明される簡素化された形式のコンセプトの選択を導入するために用意されている。この「課題を解決するための手段」は、請求されている主題の鍵となる特徴または本質的特徴を明示することを意図しておらず、またこの「課題を解決するための手段」は請求されている主題の範囲を制限するために使用されることも意図していない。さらに、請求されている主題は、本開示の任意の部分において明記されているどれか、またはすべての不利点を解決する実装に限定されることはない。
【図面の簡単な説明】
【００１２】
【図１】[0012]本明細書で開示されているさまざまな実施形態に対する例示的な動作環境を示すシステム図である。
【図２】[0013]例示的な実施形態による、変換エンジンの追加の態様を示すブロック図である。
【図３】[0014]例示的な実施形態による、データを消費型コンテンツに変換するための方法の態様を示す流れ図である。
【図４】[0015]例示的な実施形態による、バリエーションをデータに導入するためにワールドを順位付けし、選択するための方法の態様を示す流れ図である。
【図５】[0016]例示的な実施形態による、バリエーションをデータに導入するためにワールドを変更する態様を示す流れ図である。
【図６】[0017]本明細書で提示されている実施形態の態様を実装することができるコンピューティングシステムのための例示的なコンピュータのハードウェアおよびソフトウェアのアーキテクチャを示すコンピュータアーキテクチャ図である。
【図７】[0018]本明細書で提示されている実施形態の態様を実装することができる分散コンピューティング環境を示す図である。
【図８】[0019]本明細書で提示されている実施形態の態様を実装することができるコンピューティングデバイスのアーキテクチャを示すコンピュータアーキテクチャ図である。
【発明を実施するための形態】
【００１３】
[0020]  以下の詳細な説明は、データを消費型コンテンツに変換するときにバリエーションを生じさせるためのコンセプトおよび技術を対象としている。本明細書で説明されているコンセプトおよび技術によれば、コンピューティングデバイスは、データを消費型コンテンツに変換し、バリエーションを消費型コンテンツに導入するために変換エンジンを実行することができる。いくつかの実施形態において、コンピューティングデバイスは、メモリまたはサーバー、インターネット、または同様のものなどのローカルもしくはリモートの記憶装置デバイスからデータを取得する。他のいくつかの実施形態では、データは、コンピューティングデバイス側で実行するアプリケーションプログラムを使用してコンピューティングデバイス側で生成される。コンピューティングデバイスは、データを分析するために変換エンジンを実行するように構成され得る。データの分析を介して、コンピューティングデバイスは、データのデータ要素または他の部分内の関係を識別することができる。また、コンピューティングデバイスは、変換エンジンを実行して、データに適用するバリエーションを決定し、データに適用する可視化モデルおよび／またはワールドを選択することができる。ワールドを選択する際に、コンピューティングデバイスは、データに対する可能なワールドを決定し、可能なワールドを順位付けし、可能なワールドの順位付けに基づき単一のワードを選択することができる。コンピューティングデバイスは、変換エンジンを実行して、選択された、または選ばれたワールドに関連付けられているルールを取得し、それらのルールをデータに適用して出力を生成することができる。
【００１４】
[0021]  コンピューティングデバイスは、ユーザーまたは他のエンティティから入力またはフィードバックを取得し、適用するように構成され得る。出力に関するユーザーまたは他のエンティティの選好を理解するために、フィードバックがコンピューティングデバイスによって解釈され得る。入力またはフィードバックは、ユーザーまたは他のエンティティから直接取得され、および／またはコンピューティングデバイスによって生成され得る１つまたは複数のプロンプトに応答して取得され得る。入力またはフィードバックに基づき、コンピューティングデバイスは、データを変換するために使用されるワールドを修正し、出力を修正し、および／またはワールドもしくは出力が修正されるべきでないと判定するように構成することができる。コンピューティングデバイスは、後で使用するために、および／または他のデータに適用するためにそれらの選好を記憶しておくように構成することもできる。
【００１５】
[0022]  コンピューティングデバイスによって記憶されている選好は、特定のユーザーに対する選好だけでなく、それに加えて、または代替的に、複数のもしくはすべてのユーザーに対する選好も含むことができる。それに加えて、または代替的に、選好は、特定のコンテンツまたは出力、さらには１人または複数のユーザーに関係するものとしてよい。したがって、選好は、例えば、特定のデータ要素、データ要素のクラスタ、プレゼンテーションの態様、プレゼンテーションもしくはデザインスキーム、ルール、または同様のものが、他のデータ要素、データ要素のクラスタ、プレゼンテーションの態様、プレゼンテーションもしくはデザインスキーム、ルール、または同様のものに比べて重要であるか、またはあまり重要でないかも示し得る。
【００１６】
[0023]  本明細書で説明されている発明対象は、コンピュータシステム上のオペレーティングシステムおよびアプリケーションプログラムの実行と併せて実行されるプログラムモジュールの一般コンテキストにおいて提示されているが、当業者であれば、他の実装を他のタイプのプログラムモジュールと組み合わせて実行することも可能であることを理解するであろう。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造を含む。さらに、当業者であれば、本明細書で説明されている発明対象は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ミニコンピュータ、メインフレームコンピュータ、および同様のものを含む、他のコンピュータシステム構成を使用して実施できることを理解するであろう。
【００１７】
[0024]  以下の詳細な説明では、説明の一部をなす、特定の実施形態または例が図解を用いて示されている、添付図面を参照する。次に、複数の図全体にわたって類似の番号は類似の要素を表している図面を参照すると、コンピューティングシステム、コンピュータ可読記憶媒体、およびデータを消費型コンテンツに変換するときにバリエーションを生じさせるためのコンピュータによって実装される方法が示されていることがわかる。
【００１８】
[0025]  そこで図１を参照しつつ、本明細書で提示されているさまざまな実施形態に対する１つの動作環境１００の態様について説明する。図１に示されている動作環境１００は、コンピューティングデバイス１０２を含む。さまざまな実施形態により、コンピューティングデバイス１０２の機能性が、デスクトップ、タブレット、またはラップトップコンピュータシステムなどのパーソナルコンピュータ（「ＰＣ」）によって実現され得る。コンピューティングデバイス１０２の機能性は、限定はしないが、サーバーコンピュータ、ハンドヘルドコンピュータ、ネットブックコンピュータ、埋込式コンピュータシステム、携帯情報端末、携帯電話、タブレットもしくはスレートコンピュータ、スマートフォン、または本明細書において詳しく説明されているさまざまなソフトウェア要素を実行する能力を有する他のデバイスもしくはシステムを含む他のタイプのコンピューティングシステムによって実現することもできる。本明細書で開示されているコンセプトおよび技術を説明することを目的として、本明細書では、コンピューティングデバイス１０２は、ＰＣ、またはタブレットコンピュータなどのモバイルコンピューティングデバイスを含むものとして説明されている。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００１９】
[0026]  いくつかの実施形態によれば、コンピューティングデバイス１０２は、通信ネットワーク（「ネットワーク」）１０４と通信しながら、またはその一部として動作するように構成される。他のいくつかの実施形態では、コンピューティングデバイス１０２は、ネットワーク１０４と通信して動作しない。コンピューティングデバイス１０２は、オペレーティングシステム１０６および１つまたは複数のアプリケーションプログラム、モジュール、ソフトウェア要素、または例えば変換エンジン１０８などの他のコンピュータ実行可能もしくはコンピュータ可読命令を実行するように構成され得る。
【００２０】
[0027]  オペレーティングシステム１０６は、コンピューティングデバイス１０２の動作を制御するためのコンピュータプログラムである。変換エンジン１０８は、オペレーティングシステム１０６の上で実行され情報を消費型コンテンツに変換するときにバリエーションを生じさせるための本明細書で説明されている機能性を実現するように構成された実行可能プログラムを備えることができる。変換エンジン１０８は、コンピューティングデバイス１０２の一コンポーネントとして例示されているが、変換エンジン１０８は、ネットワーク１０４および／またはコンピューティングデバイス１０２の一部として、またはネットワーク１０４および／またはコンピューティングデバイス１０２と通信して動作するスタンドアロン型デバイスまたはそのコンポーネントとして、またはそのようなスタンドアロン型デバイスまたはそのコンポーネントにおいて具現化され得る。変換エンジン１０８は、コンピューティングデバイス１０２上で、および／または他の実もしくは仮想デバイス上で実行する仮想化サービスもしくは技術層であってもよい。したがって、例示されている実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでない。
【００２１】
[0028]  以下でさらに詳しく説明されるように、図２〜５を特に参照すると、変換エンジン１０８は、データ１１０を取得し、データ１１０を分析してデータ１１０がロードされるべき「ワールド」を決定し、ワールド内のコンテンツにバリエーションを生じさせ、および／またはデータ１１０を、コンピューティングデバイス１０２によって生成された出力１１２を含み得る、または出力１１２内に含まれ得る消費型コンテンツに変換するように構成することができる。本明細書で使用されているような「ワールド」という用語は、データ要素を表示するためのアプローチ、データ１１０内の要素を出力１１２中の要素に変換するためのルール、および／または特定のワールド内にバリエーションを導入するか、バリエーションにアクセントを付けるためのさまざまなパラメータを指すために使用され得る。同様に、本明細書で使用されているような「消費型（消費可能な）」という用語は、ユーザーまたは閲覧者によってすぐに、もしくは容易に閲覧されるか、解釈されるか、またはアクセスされ得る出力１１２などの出力を指すために使用することができる。より具体的には、以下でさらに詳しく説明されるように、出力１１２は、本明細書で開示されているさまざまなコンセプトおよび技術により変換エンジン１０８によって配置構成されるデータ１１０のさまざまなデータ要素または一部分を含み得る。そのようなものとして、データ１１０は、データのデータ要素または他の部分を多数含み得ることは理解できる。
【００２２】
[0029]  いくつかの実施形態では、変換エンジン１０８は、データ１１０を分析してデータ１１０内のさまざまなデータ要素同士の関係を識別し、決定されたワールドに基づきデータ１１０を関係ベースのデザインに翻訳するか、または配置構成するように構成される。この関係ベースのデザインは、必ずというわけではないが、論理および／または階層方式で配置構成され、および／またはデータを配置構成および／またはレイアウトするためのさまざまなデザイナーベースのプレゼンテーションルールに従って配置構成され得る。したがって、「消費型コンテンツ」という言い回しは、必ずというわけではないが、視覚に訴える、および／または論理的に配置構成されたデータを指すものとしてよい。しかし、本明細書で説明されているような出力１１２は、視覚に訴える必要はなく、また視覚的訴求は、主観的であってもよいことは理解されるであろう。例えば、出力１１２の目的は、可読性および／または理解に関して最適化する出力１１２を提示するなど、実用に関するものであってよい。そのようなものとして、出力１１２は、本明細書で説明されているように出力１１２に翻訳されるデータ１１０のさまざまなデータ要素または他の部分を含み得る。
【００２３】
[0030]  さまざまな実施形態により、コンピューティングデバイス１０２は、データ１１０を受信するか、または格納するように構成される。例えば、データ１１０は、コンピューティングデバイス１０２のメモリ、ディスクドライブ、または他のデータ記憶装置要素内に格納することができる。図１に例示されている実施形態などのいくつかの他の実施形態において、データ１１０は、ネットワーク１０４の一部として、またはネットワーク１０４と通信して動作するように構成され得るデータソース１１４から取得され得る。データソース１１４の機能性は、ネットワークドライブ、ネットワーク１０４上で、またはネットワーク１０４と通信して動作するサーバーコンピュータ、データベースもしくは別の実もしくは仮想データ記憶装置要素、および／または他のデータ記憶装置デバイスによって実現することができる。いくつかの実施形態において、変換エンジン１０８が、コンピューティングデバイス１０２内の技術層を操作する場合、データ１１０は、アプリケーションまたは記憶装置デバイスから取得され、変換エンジン１０８内にロードされるか、または他の何らかの方法で供給されるものとしてよい。そのようなものとして、動作環境１００の例示され説明されている実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００２４】
[0031]  本明細書で開示されているコンセプトおよび技術のさまざまな態様により、変換エンジン１０８は、１つまたは複数のアプリケーション、プログラム、ソフトウェア、コンピュータ実行可能命令、および／または他のデータを備えることができる。変換エンジン１０８の一部として含まれ得るデータのいくつかの例は、図２を参照しつつ以下に例示されさらに詳しく説明される。簡単に言うと、コンピュータ実行可能命令は、限定はしないが、データ１１０とともに含まれるコンテンツを分解し、理解するための命令、データ１１０を出力１１２の一部として提示するときに使用されるバリエーションを生成し、および／または提案するための命令、出力１１２を生成する際に使用されるワールドのテーマ、雰囲気、配色、アニメーション、レイアウト、論理的アプローチ、および／または他の態様を選ぶための命令、選択された、または選ばれたワールドを手直しするためのルール、および／またはユーザーもしくは他のエンティティからの入力に基づき出力を修正するための命令を含み得る。
【００２５】
[0032]  変換エンジン１０８のこれらおよび他の態様は、単一のまたは複数のアプリケーションもしくはモジュールによって実現され得る。したがって、コンピューティングデバイス１０２は、変換エンジン１０８を実行することによって、データ１１０を受信し、データ１１０のさまざまな要素または他の部分の間の関係を識別し、これらの関係に基づき、データ１１０をロードするワールドを識別し、ワールドに関連付けられているパラメータおよび／またはルールを修正することによってデータ１１０をどのように提示するかを決定し、決定されたフォーマット、スキーム、テーマ、または同様のものでデータを提示するための出力１１２を生成し、出力１１２を提示することができる。出力１１２を提示する前、提示しているとき、または提示した後に、コンピューティングデバイス１０２は、ユーザーもしくは他のエンティティからの出力１１２に関して入力またはフィードバック（「フィードバック」）を取得するようにも構成され得る。いくつかの実施形態において、コンピューティングデバイス１０２は、フィードバックを返すことをユーザーに促すように構成することができる。他のいくつかの実施形態では、コンピューティングデバイス１０２は、フィードバックを返すことを促すことなく、さまざまなユーザーもしくは他のエンティティからフィードバックを受信するように構成され得る。
【００２６】
[0033]  コンピューティングデバイス１０２によって受信されたフィードバックに基づき、コンピューティングデバイス１０２は、新規ワールドを選択し、そのワールドに関連付けられているパラメータを修正し、データ１１０に追加されるバリエーションを導入または修正し、および／またはユーザーもしくは他のエンティティに関連付けられている選好、好き、嫌い、または同様のものを反映する出力１１２を修正することができる。いくつかの実施形態において、コンピューティングデバイス１０２は、出力１１２の特定の態様をユーザー側で調節することができる「エキスパートモード」をサポートするように構成することもできる。他のいくつかの実施形態では、ユーザーは、出力１１２の一部の、または全部の態様をオーバーライドすることを制限されるものとしてよい。そのようなものとして、コンピューティングデバイス１０２は、コンピューティングデバイス１０２によって決定されるフォーマットでデータ１１０を提示するだけでなく、さらにフィードバックを供給することを介してユーザーもしくは他のエンティティによって手直しされ、および／または修正されたフォーマットでデータ１１０を提示するように構成され得る。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００２７】
[0034]  いくつかの実施形態では、コンピューティングデバイス１０２は、データ１１０を取り出すか、受信するか、または他の何らかの方法で取得する。データ１１０は、ローカルのデータ記憶装置デバイスから、またはデータソース１１４などのリモートのデータ記憶装置デバイスもしくはエンティティから取得することができる。データ１１０は、限定はしないが、ドキュメント、テキスト、画像、プレゼンテーション、スプレッドシート、ウェブページ、ビデオ、メディア、または他の情報を含む、ほとんどのタイプの情報を含むことができる。データ１１０は、他のタイプの情報またはコンテンツを含むことができるので、これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００２８】
[0035]  コンピューティングデバイス１０２は、データ１１０を分析してデータ１１０内の階層および／または関係を識別するように構成され得る。特に、コンピューティングデバイス１０２は、データ１１０内に含まれるデータの１つまたは複数のデータ要素または一部分の間の関係を識別するように構成され得る。例えば、データ１１０が、プレゼンテーションドキュメントを含む場合、データ要素は、プレゼンテーションのスライド、プレゼンテーションのスライド内のオブジェクト、および／または個別のテキスト文字、画像、文、単語、黒丸付きリスト、番号付きリスト、テキストブロック、背景、タイトルブロック、メディアオブジェクト、または同様のものなどのプレゼンテーションに含まれるデータの他の部分を含むことができる。コンピューティングデバイス１０２は、データ１１０のさまざまな要素または部分（「データ要素」）を分析してさまざまなデータ要素間の関係を識別し、および／またはデータ１１０内の階層を識別するように構成され得る。同様に、コンピューティングデバイス１０２は、データ１１０の１つまたは複数のインスタンスの間の関係を認識し、および／またはデータ１１０が変化したことを示す通知を受信するように構成され得る。例えば、ＦＬＩＣＫＲまたは他の写真アルバムソフトウェアからの画像は、画像同士の関係を識別するためにＦＡＣＥＢＯＯＫまたはＴＷＩＴＴＥＲ更新および／またはタイムスタンプ情報などのステータス更新またはメッセージに関連付けることができる。そのようなものとして、出力１１２を生成した後であっても、コンピューティングデバイス１０２は、データ１１０の更新バージョンおよび／またはデータ１１０が更新されたことを示す指示を受信するように構成され、その変化を反映するように出力１１２を更新することができる。他のタイプのデータおよび／またはデータソースは、データ１１０の要素の間の関係を識別するために使用することができるので、これらの例は、例示的であるものとして理解されるべきであって、いかなる形でも制限するものとして解釈されるべきでない。
【００２９】
[0036]  コンピューティングデバイス１０２は、出力１１２を生成するために使用される可視化モデルを決定するように構成することもできる。特に、コンピューティングデバイス１０２は、差別化された出力１１２を供給するために出力１１２を生成するときに含めることができるバリエーションを決定することができる。例えば、コンピューティングデバイス１０２は、アニメーション、画像サイズ、テキスト効果、レイアウト、配色、テーマ、または他の可視化におけるバリエーションを、高度に差別化された出力を得るために出力１１２として含まれるデータに適用することができる。さらに、強調、逆強調、順序付きリスト、コレクション、親子関係、または同様のものなどの、データにおける関係は、多くの可視化を作成するために使用することができ、これらのそれぞれが基礎となる関係を表す。例えば、テキスト内の強調は、テキストを太字にすること、テキストのフォントサイズを大きくすること、テキストの色を赤色に変更すること、繊細なアニメーションを加えること、および／または他の方法により可視化され得る。こうして、コンピューティングデバイス１０２のユーザーは、他のユーザーが実質的に類似しているか、またが同一の入力を供給するとしても、コンピューティングデバイス１０２を使用してユニークなプロダクトを生成することができる。いくつかの実施形態において、これらのバリエーションは、選択されたワールドに関連付けられているさまざまなパラメータを調節することによって出力１１２に加えることができる。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００３０】
[0037]  コンピューティングデバイス１０２は、出力１１２を生成するために使用されるワールドを選ぶように構成することもできる。上で述べたように、本明細書で使用されているような「ワールド」という用語は、データ１１０に適用され、出力１１２を生成するために使用され得る可視化および／またはテーマのタイプまたはカテゴリを指すために使用することができる。これらのワールドは、二次元（「２Ｄ」）または三次元（「３Ｄ」）可視化でデータ１１０を可視化するための命令、フォントおよびフォントフォーマットを指定するための命令、画像および画像フォーマット、アニメーション、背景、オーディオ効果、テキストブロックサイズおよびレイアウト、ドキュメントレイアウト、または出力１１２の他の態様を備えることができる。しかし、「ワールド」は、必ずしもテンプレートに限定されないことは理解されるであろう。むしろ、本明細書で説明されている実施形態では、ワールドは、テンプレートではなく、その代わりに、本明細書で説明されているように出力１１２を取得するためにデータ１１０に適用され得る可視化の様相または態様を定義する。例えば、いくつかの実施形態では、「ワールド」は、可視化、スタイル、およびデータ１１０の取り扱い方および表示方法をガイドするチューニングされたルールの複合体を含む。本明細書で開示されているワールドの追加の態様は、図２を参照しつつ以下でさらに詳しく説明される。
【００３１】
[0038]  ワールドの一部または全部も、ルールのセットに関連付けることができる。ルールの追加の態様は、図２を参照しつつ以下で詳しく説明される。簡単に言うと、ルールは、ワールドのさまざまな態様をデータ１１０などのデータにどのように適用するかを定義することができる。ルールの追加の態様およびルールをどのように使用できるかを示すいくつかの例について、図２を参照しつつ以下でさらに詳しく述べる。コンピューティングデバイス１０２は、選ばれたワールドがもし利用可能であればこのワールドに関連付けられているルールを取得し、それらのルールをデータ１１０に適用して出力１１２を取得するように構成され得る。したがって、コンピューティングデバイス１０２は、出力１１２を生成して、出力１１２をユーザーまたは他のエンティティに提示することができる。出力１１２は、望ましい場合にはデータ記憶装置デバイスに保存することもできる。
【００３２】
[0039]  以下でさらに詳しく説明されるように、特に図５を参照すると、コンピューティングデバイス１０２および／またはその上で実行されている変換エンジン１０８は、データ１１０が変化した場合に出力１１２を更新するように構成され得ることがわかる。例えば、コンピューティングデバイス１０２は、データ１１０の以前のバージョンを表すために選ばれたワールドを評価し、新規のワールドを、適切であれば、更新に基づき採用するか、またはデータ１１０の修正されたバージョンを反映するように出力１１２をただ単に更新することができる。出力１１２を更新することは、限定はしないが、データ１１０への更新を受け入れるようにワールド内にデータの一部または全部を再度レイアウトすることを含み得る。望ましい場合には、新規データを追加するためにアニメーションを生成することができる。例えば、出力１１２内の要素を移動して、新規データ要素を受け入れる場所を作ることができる。コンピューティングデバイス１０２は、異なるワールドを明示的に採用する、複数のワールドで生成される出力１１２を提示して好ましいワールドのユーザー選択を可能にする、または同様のことを行うユーザー要求をサポートするように構成することもできる。
【００３３】
[0040]  本明細書で開示されているコンセプトおよび技術のいくつかの実施形態により、コンピューティングデバイス１０２は、ユーザーフィードバックを取得し出力１１２に適用するようにも構成される。いくつかの実施形態において、ユーザーフィードバックは、さまざまなプロンプトまたは質問へのユーザー応答を含む。例えば、コンピューティングデバイス１０２は、出力１１２のさまざまな態様を評価するために、ユーザーまたは他のエンティティに質問を提示することができる。いくつかの実施形態において、コンピューティングデバイス１０２は、出力１１２の色、配色、フォント、レイアウト、要素配置、画像サイズ、重要度、強調、データの配置構成、または他の態様に関するフィードバックを、その特定の態様が好きか嫌いかを表明することによって返すようにユーザーまたは他のエンティティに求めるか、または促す。
【００３４】
[0041]  コンピューティングデバイス１０２は、フィードバックを返すことを促すことに加えて、またはその代わりに、出力１１２のさまざまな態様に関するユーザー向けの質問を生成するように構成することもできる。例えば、コンピューティングデバイスは、特定の態様が好きか嫌いか、良いか悪いか、または同様のことを尋ねることができる。フィードバック、質問、プロンプト、または同様のものは、はい／いいえ、好き／嫌い、または真／偽の二択回答の質問としてフォーマットされ得ることは理解されるであろう。質問またはプロンプトでは、例えば、１から１０までなどの数値の目盛り、「Ａ」から「Ｆ」までなどの文字による等級、星の数、または同様のものなどのさまざまな範囲にわたる順位を要求することもできる。ユーザーは、出力１１２全体に関するこのタイプおよび／または他のタイプのフィードバックを返すことができ、および／またはコンピューティングデバイス１０２は、出力１１２の個別の部分またはコンポーネントに関してこのフィードバックを表現することをユーザーに尋ねるように構成され得る。例えば、コンピューティングデバイス１０２は、出力１１２が好きか嫌いかを尋ねるか、または出力１１２の特定のフォント、配色、および／または他の態様もしくはコンポーネントが好きか嫌いかを尋ねるように構成され得る。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００３５】
[0042]  コンピューティングデバイス１０２は、ユーザーからのフィードバックを評価し、フィードバックに基づき出力１１２が修正されるべきかどうかを判定するように構成することができる。例えば、ユーザーまたは別のエンティティから受信されたフィードバックが、配色が「嫌い」であることを示している場合、コンピューティングデバイス１０２は、配色を変更し得る。同様に、「好き」は、出力１１２を修正するのに使用することができ、したがって、ユーザーまたは他のエンティティが好きである出力１１２の態様は、出力１１２内に繰り返され、および／または今後、他の出力１１２を生成するために使用され得る。そのようなものとして、出力１１２のさまざまな態様は、フィードバックに基づき修正され得ることは理解できる。選好を、ルールシステムにフィードバックすることができるので、出力１１２の特定のインスタンスに関して表明される選好は、現在の出力１１２および／またはその閲覧された要素をただ単に更新する代わりに、またはそれに加えて、ワールド全体に対して一貫した効果を有し得る。
【００３６】
[0043]  いくつかの実施形態では、フィードバックは、データ１１０を表すように選ばれたワールドを修正し、および／またはワールドに関連付けられているさまざまなパラメータもしくは特性を調節するために使用することができる。したがって、フィードバックは、データ１１０が選択されたワールド内でどのように表されるか、および／またはさまざまなバリエーションが選択されたワールド内でどのように適用されるかを決定するために使用され得る。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００３７】
[0044]  図１は、１つのコンピューティングデバイス１０２、１つのネットワーク１０４、および１つのデータソース１１４を例示している。しかし、動作環境１００のいくつかの実装は、複数のコンピューティングデバイス１０２、複数のネットワーク1０４、ゼロもしくは複数のデータソース１１４、および／または追加のもしくは代替的なハードウェア要素を備えることは理解されるであろう。したがって、例示されている実施形態は、例示的なものであると理解されるべきであり、またいかなる形でも制限するものとして解釈されるべきでない。
【００３８】
[0045]  次に図２を参照し、変換エンジン１０８の追加の態様について、例示的な実施形態に従って詳細に説明することにする。図１を参照して上で説明されているように、変換エンジン１０８は、データ１１０を出力１１２に変換するように構成することができる。図２に例示されている実施形態などのいくつかの実施形態において、変換エンジン１０８は、変換エンジン１０８および／またはコンピューティングデバイス１０２に関して本明細書で説明されている機能性を実現するために多数のモジュール、アプリケーション、プログラム、ソフトウェア、または他のコンピュータ実行可能命令を備える。それに加えて、または代替的に、変換エンジン１０８は他のデータも備えることができ、これについて本明細書でさらに詳しく説明する。
【００３９】
[0046]  例示されている実施形態において、変換エンジン１０８は、分解および理解モジュール２００、バリエーションモジュール２０２、ワールド選択モジュール２０４、ルール２０６、オーサリングモジュール２０８、ワールド２１０、および他のデータもしくは命令（図示せず）を備える。図２には示されていないが、変換エンジン１０８は、ルール２０６のオーサリング、作成、および／または保存を行うためのデザインルールモジュールを備えることもできる。そのようなものとして、変換エンジン１０８は、コンピュータ実行可能コードもしくは命令の１つまたは複数の部分の実行により、データ１１０を出力１１２に変換するように構成され得る。図２に示されているさまざまなモジュールおよび他のデータに関して本明細書で説明されているさまざまな機能性は、単一のアプリケーション、モジュール、プログラム、または他のソフトウェアもしくはデータによって実現されること、またそのようなものとして、図示されている実施形態は例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００４０】
[0047]  分解および理解モジュール２００は、データ１１０を分析するように構成され得る。上で説明されているように、データ１１０の分析は、データ１１０のさまざまなデータ要素または他の部分の間の関係を理解できるように達成され得る。より具体的には、いくつかの実施形態において、データ１１０は、フローベースのフォーマットで配置構成され、および／または特定のフォーマットでは配置構成されない。分解および理解モジュール２００は、データ１１０を解釈するためにさまざまなルールを適用し、それによりさまざまなデータ同士の関係を識別することができる。例えば、プレゼンテーションまたは他のドキュメントの複数のページに、類似の、または同一のタイトルが含まれている場合、分解および理解モジュール２００は複数のページが互いに関係していると判定するように構成され得る。同様に、１つのページ上のタイトルが第２のページ上のタイトルに類似しているが、「ｃｏｎｔｉｎｕｅｄ」という語または「ｃｏｎｔ’ｄ」などの略語も含んでいる場合、分解および理解モジュール２００は、これらのページが関係していると判定することができる。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００４１】
[0048]  いくつかの実施形態において、分解および理解モジュール２００は、黒丸付きリストまたは番号付きリスト内の要素は互いに、および／またはリストの見出しに関係していると判定するように構成することができる。他のいくつかの実施形態では、分解および理解モジュール２００は、同じ、または類似の画像を囲むテキストは関係している、類似の、または同一の参照もしくは脚注を含むテキストは関係している、および／またはデータ１１０の他の要素もしくは部分は互いに関係している、と判定するように構成され得る。他のいくつかの実施形態では、分解および理解は、画像分析を含むものとしてよい。例えば、画像を分析して、画像の顔、突出領域、不変領域（テキストをその上に置くことができる）、組成分析、または他の態様を検出することができる。データ１１０を解釈するためのさまざまなルールが、分解および理解モジュール２００によって適用され得る。関係を識別するための他のプロセスまたはルールが企図されているので、これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００４２】
[0049]  バリエーションモジュール２０２は、ユーザーまたは他のエンティティのために差別化された出力１１２を生成するように構成することができる。特に、バリエーションモジュール２０２は、アニメーション、視覚効果、デザイン、テーマ、または他のバリエーションにおいてバリエーションを適用することができる。バリエーションをデータ１１０に適用することで、コンピューティングデバイス１０２のそれぞれの出力１１２をユニークなものに思わせるために使用され得る差別化を生じさせることができる。これらのバリエーションは、図３を参照しつつ以下でさらに詳しく説明されているように、データ１１０に適用され得る。いくつかの実施形態において、バリエーションは、データ１１０を表すために選ばれたワールド２１０に関連付けられている１つまたは複数の特性もしくはパラメータの修正もしくは調節を行うことで出力１１２に導入され得る。
【００４３】
[0050]  ワールド選択モジュール２０４は、データ１１０に適用するワールド２１０を評価して選ぶように構成することができる。上で説明されているように、「ワールド」は、出力１１２を取得するために格納され、選択され、および／またはデータ１１０に適用することができるデータを表すためのテーマ、モデル、スキーム、または他のアプローチを含むものとしてよい。いくつかの実施形態では、ワールドは、拡張可能である。特に、サードパーティまたは他のエンティティが、新規の、または追加のワールド２１０を作成し、データ１１０がワールド２１０にデータ１１０がどのように適用できるかを定義することができる。
【００４４】
[0051]  ワールド選択モジュール２０４は、データ１１０のさまざまな態様を考慮し、データ１１０に最も適合する決定されたワールド２１０に基づきデータ１１０にどのような可視化モデルおよび／または差別化を適用すべきかを決定するように構成され得る。いくつかの実施形態では、ワールド選択モジュール２０４は、データ１１０を表すために使用することができるワールド２１０を決定するように構成される。したがって、データ１１０を表す上でまずい選択であると判定されるワールド２１０は、可能なワールド２１０のグループから除外され得る。ワールド選択モジュール２０４は、図４を参照しつつ以下でさらに詳しく説明されているように、さまざまな考察結果に基づき可能なワールドの順位付けを行うことができる。順位付けに基づき、ワールド選択モジュール２０４は、データ１１０を適用するワールド２１０を選択することができる。いくつかの実施形態では、ワールド２１０は、図２に示されているように、変換エンジン１０８によって格納される。ワールド選択モジュール２０４は、例えば、データ１１０の形状、データ１１０内で識別される階層、およびデータ１１０の他の態様を考慮することができる。
【００４５】
[0052]  上で述べたように、データ１１０は、さまざまなデータ要素２１２を含み得る。したがって、本明細書ではさまざまなオペレーションおよび／または分析がデータ１１０に関して説明されているが、これらの、および／または他のオペレーションは、データ要素２１２に関して実行され得ることは理解されるであろう。そこで、ワールド選択モジュール２０４は、例えば、データ要素２１２同士の関係、および／またはデータ要素２１２の間の階層を考慮して、ワールド２１０を順位付けし、選択することができる。ワールド２１０を選択するこれらの、および他の態様について、図３を参照しつつ以下でさらに詳しく述べる。
【００４６】
[0053]  それに加えて、ワールド選択モジュール２０４は、さまざまな時点において、データ１１０を表すために選ばれたワールド２１０が修正または変更されるべきかどうかを判定するように構成することができる。そこで、例えば、データ１１０が更新された場合にワールド選択モジュール２０４が呼び出され、選ばれたワールド２１０が変更されるべきかどうか、または出力１１２がデータ１１０の修正バージョンを同じワールド２１０に適用することによって変更されるべきかどうかを判定することができる。ワールド２１０を更新する追加の態様は、図５を参照しつつ以下で例示され説明される。
【００４７】
[0054]  ルール２０６は、バリエーションおよび選ばれたワールド２１０に基づき、任意のコンテンツを含み得る、データ１１０を出力１１２に変換するように構成された適応型ルールを備えるものとしてよい。言い換えると、ルール２０６は、出力１１２を取得するためにデータ１１０に適用することができる翻訳のカテゴリを含むものとしてよい。したがって、いくつかの実施形態では、ルール２０６は、それぞれのワールド２１０に対するルールの１つまたは複数のセットを含み、ルール２０６はコンピューティングデバイス１０２によって選択され、これに基づきワールド２１０が選ばれる。そのようなものとして、ルール２０６は、データ１１０を出力１１２に変換または翻訳するための手直しされたオペレーション、ステップ、またはルールであり得る。データ１１０は、常に出力１１２への直接的翻訳であるとは限らないことは理解されるであろう。特に、データ１１０のコンテンツまたはレイアウトは、データ１１０を出力１１２に翻訳するときに操作され得る。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００４８】
[0055]  ルール２０６は、出力１１２のレイアウトまたは他の形態に含まれるべき、データ１１０の部分、例えば、以下でさらに詳しく説明されているデータ要素２１２を選択するために使用され得る。特に、ルール２０６は、出力１１２のそれぞれのビューについて情報またはデータ要素２１２を選択し、選ばれたワールドに関連付けられているレイアウト、ビュー、または他の出力１１２内の所定の配置にどのようなタイプの情報および／またはどのようなデータ要素２１２が必要であるか、望ましいか、または適切であるかを定義するために使用することができる。開発者または他のエンティティは、ルール２０６を用いて、それぞれのビューまたはレイアウトにどのような情報が提示されるべきかを指定することができる。
【００４９】
[0056]  ルール２０６は、出力１１２について選択されたデータ要素２１２または他の情報のフロー、進行、および／またはレイアウトを決定するためにも使用され得る。特に、コンピューティングデバイス１０２は、ルール２０６を適用して、変換エンジン１０８が出力１１２に関連付けられているレイアウトを生成するときに意志決定機能を実行することができる。レイアウトは、どのようなタイプの情報またはデータ要素２１２が画面上のどのようなグリッドセル内で使用されるかを定義することができるが（またはデータ要素２１２を画面上に配置するために他のアプローチを使用してデータ要素２１２の配置を定義する）、ルール２０６は、情報がレイアウトに配置された後、情報フローをどのように修正するか（スタイルに関して、または他の何らかの特性、例えば、情報のサイズ、形状、または他の態様に関して）を定義することができる。いくつかの場合において、ルール２０６は、定義済みの既定のレイアウトを超えて情報が流れる場合のレイアウトの調節の仕方も取り扱うことができる。
【００５０】
[0057]  ルール２０６をデータ１１０に適用して、出力１１２に含まれるデータ要素２１２または他の情報の１つまたは複数をアップグレードするか、または他の何らかの形で修正することもできる。したがって、どのようなタイプのデータ１１０についても、ワールドのフロー処理動作は、ワールドに関連付けられているルール２０６を修正することによって変更することができることは理解され得る。特に、ルール２０６は、データ１１０のデータ要素２１２または他の部分を改善するか、アップグレードするか、または他の何らかの形で修正するために使用することができる。例えば、データ要素２１２が、低解像度画像を含む場合、データ要素２１２をアップグレードすることは、低解像度画像をより高い解像度の画像で置き換えること、ぼやかしまたは同様の効果などの画像処理を画像に適用して芸術的な表現を生み出すこと、または同様の操作を含み得る。
【００５１】
[0058]  同様に、データ要素２１２が、データテーブルを含む場合、データ要素２１２をアップグレードすること、または改善することは、データテーブルをグラフで置き換えることを含み得る。これらの、および／または他のタイプのアップグレード、改善、および／または他の修正は、ルール２０６によって制御されるものとしてよい。したがって、デザイナーには、画像のアップグレード、グラフへの変換などの利用可能なツールセットを使用して特定のタイプの情報がどのようにアップグレードされるか、または他の何らかの形で修正されるかを明確にすることができるようになる。いくつかの実施形態では、デザイナーは、本明細書で説明されているようにルール２０６を適用する前にさまざまなルール２０６を明確に述べることができる。そのようなものとして、ルール２０６の明確化はほとんどいつでも行うことができ、またルール２０６の利用もほとんどいつでも行うことができ、これはルール２０６が明確に述べられたずっと後も含む。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００５２】
[0059]  ルール２０６をデータ１１０に適用して、出力１１２の１つまたは複数のレイアウトもしくは他のフォームにスコアを付けることもできる。特に、ルール２０６を使用することで、所定のレイアウトに対して情報をどのように取り扱うか、また品質制約（quality bar）を満たしているかどうかに関するフィードバックを返すことによってレイアウトの選択を円滑にすることができる。ワールド内のそれぞれのレイアウトに対する正確なスコアが取得され、スコアはコードベースの再コンパイルなしでルール２０６のセットを用いて調節され得る。
【００５３】
[0060]  ルール２０６は、変換エンジン１０８によって考慮されるさまざまなワールド２１０にスコアを付けるためにも使用され、スコアは、注目しているワールド２１０にスコアを付けるためにワールド選択モジュール２０４に受け渡されるものとしてよい。特に、ルール２０６は、ワールド２１０内に入れられる情報の適合の質に関するフィードバックを生成することによってワールド２１０のうちから１つ選択する作業を円滑にするために使用され得る。ルール２０６は、ワールドの順位付けに関する最終決定を下すことはできないが、決定を支援する情報を提供するコンポーネントとすることができる。情報セットに対するワールド２１０の適合度を記述するそれぞれのワールド２１０に対する正確なスコアが取得され、スコアはコードベースの再コンパイルなしでルール２０６のセットを用いて調節され得る。ワールド２１０を順位付けし、選択する追加の態様は、図４〜５を参照しつつ以下で例示され説明されている。
【００５４】
[0061]  変換エンジン１０８のさまざまな実装に従って、デザイナー、ユーザー、または他のエンティティによってルール２０６が作成され、修正され、および／または削除され得る。そのようなものとして、ルール２０６は、デザイナーのワークフローに合う仕方でルール２０６を明確に表現するためにデザイナーからアクセス可能であるものとしてよい。いくつかの実施形態では、デザイナーが必要な情報すべてを、理想的には視覚的に、明確に表現できるようにするツールで、このリスト中の前の目標に対処する。ツール２０６の追加の態様が本明細書において説明されており、そのようなものとして、ツール２０６の上記の使用は、例示的なものであると理解されるべきであり、またいかなる形でも制限するものとして解釈されるべきでない。
【００５５】
[0062]  そこで、ルール２０６は、特定のワールドの適用によってデータ１１０がどのように表されるかを調節するために適用され得る。例えば、ルール２０６をデータ１１０に適用してテキストの可読性を調節することができる。これらの調節は、例えば、文字が単語、文、および段落でレイアウトされているときの書体の相対的な読み取りやすさ、読者を捉えて放さず、および／または高いレベルで理解してもらうためにテキストの長いブロックが読みやすい必要があるという仮定、テキストを段組にして１行の長さを短くすると、可読性が改善され得るという仮定、「右ラグ」揃えにされたテキストは、「強制揃え」されるか、または左右の余白上に一列に並ぶように操作されたテキストに比べて読みやすいと仮定するルール、空白類、小見出し、および／または他の要素を導入してテキストを分割し、読者の目の休み所を作って疲労を防ぐのを補助するためのルールに基づくものとしてよく、そうするために、テキストの行数に基づきレディングを調節し、コンテンツおよびレイアウトの量に基づき１行の長さを調節し、コンテンツを閲覧するために使用されるデバイスの能力（例えば、画面サイズ、解像度、入力デバイス、または同様のもの）に基づきコンテンツを調節し、コンテンツの量に基づきフォントサイズを調節し、および／または他の調節もしくは修正をデータに適用する。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００５６】
[0063]  ルール２０６は、出力１１２の判読性を改善するためにも使用することができる。例えば、ルール２０６は、特定の一続きのテキストが背景画像に対してどれだけ読みやすいかを評価するために使用され得る。またルール２０６を使用することで、テキストが判読できるように背景画像とテキストとの間に透明なフィールドを挿入すること、半透明の背景をテキストの背後に重ね合わせて、テキストが半透明の背景なしの場合に比べて判読性が高まるようにすること、画像全体および／またはその一部を暗くし、および／または明るくするためのルールを適用すること、優れた判読性を有するフォントサイズ、色、およびタイプスタイルを選択すること、テキスト用のスペースがテキストの優れた判読性とともに残されるようにレイアウトの領域内に置くべき画像の再配置、選択、および／または拡大縮小を行うことによって、ドロップシャドウを加えてテキストの判読性を高めること、テキストの背後に微妙な透明性を加えること、フォトダークニング（photo darkening）、露光、または他の画像変換を適用して画像を修正すること、他の調節を適用すること、または同様のことを行うこともできる。
【００５７】
[0064]  ルール２０６は、出力１１２の品質を改善するためにも使用することができる。例えば、ルール２０６を使用することで、テキストをグリッドライン上に揃えるか、または制約し、および／またはテキストが視覚的にグリッド上に一列に並ぶようにテキストの配置またはフローを調節し、テキストが画像上に重ね合わされたボディコピーおよびタイトルコピーに対して最適化されるようにテキストサイズの関係を定義することができるが、そうするために、テキストの行数に基づきレディングを調節し、テキストのカーニング、テキストのレディング、さまざまなサイズのテキストのベースラインの位置揃え、および同様の操作を適用する。ルール２０６は、コンテンツに重なる写真が写真内の基底構造に関係するように写真内の構造を識別するためにも使用され得る。同様に、ルール２０６を使用することで、テキストブロックが互いに、および／または他のテキストと位置を揃えることを確実にし、それにより、テキストブロックが一緒に流れて、可変文字列に応じて適切な配置、位置揃えが確実になされるようにすることができる。さらに、画像それ自体の中に存在する構造は、レイアウト内のテキストに関して位置決めされ得るか、またはそれ自体、所定のレイアウトでのテキストの配置を案内することができる。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００５８】
[0065]  ルール２０６は、画像を調節するためにも使用され得る。例えば、ルール２０６を使用することで、１つまたは複数の目立つ領域に基づき画像のクロッピングを行うこと、画像をアップグレードすること、１つまたは複数の方向での画像のクロッピングを行い、および／または画像のクロッピングを回避すること、および／または画像方向を維持することを実行できる。レイアウトの何らかの目標を達成するために使用される場合、そうしてクロッピングされた画像は、十分に高い品質であることを規定されているとき、およびワールドパラメータによって許容可能であるときに１つまたは複数のエッジに沿って補外され、合成された画像データを含み得る。
【００５９】
[0066]  ルール２０６は、データ１１０の要約の探索および／または生成を行うためにも使用することができる。またルール２０６を使用することで、データ１１０および／またはデータ要素２１２のアップグレードを、例えば、全世界測位システム（「ＧＰＳ」）または地図データを使用してデータ１１０において参照されている場所／位置に関する追加の情報を取得することによって行うこと、現在の統計量および／または他のタイプのライブコンテンツを追加すること、コメント数、コンテンツがリンクされた回数、コンテンツがダウンロードされた回数などの関係する情報を追加すること、または同様のことを行うこともできる。ルール２０６は、データ１１０および／またはデータ要素２１２のサイズを決めるためにも使用することができる。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでない。
【００６０】
[0067]  またルール２０６を使用することで、それぞれのデータ要素２１２が他のデータ要素２１２に関してどのように移動するかにも影響を及ぼすことができる。例えば、一部のテキストは、インタラクティブに操作されたとき、および／または上でホバリングされたときに反応し得、移動またはアニメーションは、移動の速度またはどのようなユーザーがデータ１１０をインタラクティブに操作しているかということに影響され得、クリックまたはタッチジェスチャーが検出されるまで周囲運動が適用され得、または同様のことが行われ得る。データ要素２１２のこれらの、および他の移動および／または相対的位置決めは、ルール２０６によって決定され得る。また、ルール２０６は、データ要素２１２の順序、コンテンツがどのようにナビゲートされるか（例えば、ナビゲートする際のクリック回数、スワイプ回数、画面の数、または同様のもの）を決定するためにも使用され得る。
【００６１】
[0068]  上で述べているように、ルール２０６は、データ１１０のデータ要素２１２および／または他の部分にバリエーションを生じさせるためにも使用することができる。ルールは２０６は、どのようなデータ１１０またはデータ要素２１２が特定のデータ部分またはデータ要素２１２を囲むかに基づきいくつかのバリエーションを適用することができる。これらのバリエーションは、コンテンツにも基づき得る。例えば、データ１１０がタイムラインベースのデータに対応する場合、ワールドまたはレイアウトは、少数の画像が含まれているという仮定または認識に基づき選ばれ得る。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００６２】
[0069]  ルール２０６は、テキストに関連付けられている書体および／または他の設定を選択し、サイズ変更し、および／または他の何らかの形でフォーマットするためにも使用され得る。例えば、ルール２０６を使用することで、テキストまたは近くにあるフィールドに対するハイライトの色および／または補色を選択することができる。ルール２０６は、また、コンテンツのソースに基づきカラーパレットを定義するためにも使用され得る。例えば、配色は、特定のブランドに関連付けられている配色、データ１１０に含まれる配色、含まれる画像から抽出された配色、または同様のものに基づき選択され得る。ルール２０６に基づき、モーションを変化させ、および／または選択することができる。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００６３】
[0070]  オーサリングモジュール２０８は、ユーザーまたは他のエンティティからの出力１１２に関するフィードバック２１４を分析するように構成することができる。フィードバック２１４は、オーサリングモジュール２０８によって取得され、および／または変換エンジン１０８によって取得され、オーサリングモジュール２０８に受け渡され得る。オーサリングモジュール２０８は、出力１１２を修正するためにフィードバック２１４を出力１１２に適用するように構成され得る。オーサリングモジュール２０８は、変換エンジン１０８を今後使用するためにフィードバック２１４を格納するように構成され得る。
【００６４】
[0071]  そのため、図１〜２には示されていないが、ユーザーの選好は、変換エンジン１０８によって生み出され、望ましい場合には、変換エンジン１０８によって格納され、適用され得る。フィードバック２１４に基づき出力１１２を修正することに関して上で説明されているように、オーサリングモジュール２０８は、フィードバック２１４を促すプロンプトを出すように構成され得るか、またはユーザーもしくは他のエンティティからフィードバック２１４を受信するように構成され得る。フィードバック２１４は、質問へのはい／いいえまたは真／偽の回答として、星の数、範囲内の数、文字による等級などの評価情報として、選択または並べ替えなどの単純なアクションの補外を通じて、または同様のもので、好き嫌いに関して返され得る。フィードバック２１４は、オーサリングモジュール２０８によって解釈されるものとしてよい。
【００６５】
[0072]  上で指摘されているように、嫌いに基づき出力１１２を変更することに加えて、オーサリングモジュール２０８は、好きに基づき出力１１２を修正するようにも構成され得る。特に、変換エンジン１０８は、ユーザーが好む出力１１２のさまざまな態様を、より頻繁に繰り返し、および／または使用することができる。ユーザーの好き嫌いは、他のユーザーに対しても変換エンジン１０８によって使用され得ることは理解されるであろう。特に、変換エンジン１０８は、選好に基づき、ソーシャルネットワーキング情報に基づき、および／または他の情報に基づきさまざまなユーザー同士の、および／またはさまざまなユーザーの間の類似性と、変換エンジン１０８が、ユーザーに類似していると考えられる、またはユーザーに類似しているものとして指示されている別のユーザーに特定のユーザーの選好を適用することができるということとを認識するように構成され得る。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００６６】
[0073]  図２の上記の説明に照らして、本明細書で説明されているコンピューティングデバイス１０２は、アプリケーション、ソフトウェアコンポーネント、モジュール、または他の命令をいくつでも実行することによって変換エンジン１０８および／または変換エンジン１０８のさまざまなモジュールの機能を実現することができる。そのようなものとして、明細書において「コンピューティングデバイス」の機能を参照している場合、説明されている機能性は、本明細書で説明されているソフトウェアモジュール、データ、および／またはハードウェア要素のうちのどれかによって実現される機能性を含み得ることは理解されるであろう。さらに、変換エンジン１０８は、コンピューティングデバイス１０２で実行するさまざまなプログラムによって呼び出されるか、またはアクセスされる技術層として動作し得ることは理解されるであろう。同様に、変換エンジン１０８は、さまざまなアプリケーションまたはデバイスによって呼び出され得るサービスとして動作させることができる。そのようなものとして、さまざまな説明されている実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでない。
【００６７】
[0074]  次に図３を参照して、データを消費型コンテンツに変換するための方法３００の態様を詳しく説明することにする。本明細書で開示されている方法のオペレーションは、必ずしも特定の順序で提示されておらず、代替的順序（複数可）でのオペレーションの一部または全部の実行が可能であり、企図されていることは理解されるであろう。これらのオペレーションは、説明および例示を容易にするために示されている順序で提示されている。オペレーションは、付属の請求項の範囲から逸脱することなく、追加され、省略され、および／または同時に実行され得る。
【００６８】
[0075]  例示されている方法は、いつでも終了させることができ、その全体が実行される必要はないことも理解されるであろう。本明細書で開示されている方法の一部または全部のオペレーション、および／または実質的に同等のオペレーションは、本明細書で定義されているように、コンピュータ記憶媒体上に収められているコンピュータ可読命令の実行によって実行され得る。「コンピュータ可読命令」という用語、およびその変形は、説明および請求項において使用されているように、本明細書では、ルーチン、アプリケーション、アプリケーションモジュール、プログラムモジュール、プログラム、コンポーネント、データ構造、アルゴリズム、および同様のものを含むように拡大解釈して使用されている。コンピュータ可読命令は、シングルプロセッサもしくはマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースのデバイス、プログラム可能な家電製品、これらの組合せ、および同様のものを含む、さまざまなシステム構成で実装され得る。
【００６９】
[0076]  本明細書で説明されている論理的なオペレーションは、（１）コンピュータシステム上で実行される一連のコンピュータ実装活動またはプログラムモジュールとして、および／または（２）コンピューティングシステム内の相互接続された機械論理回路もしくは回路モジュールとして実装されることは理解されるであろう。この実装は、コンピューティングシステムの性能および他の要件に応じて選択できるものである。したがって、本明細書において説明されている論理的なオペレーションは、状態、演算、構造的デバイス、活動、またはモジュールとさまざまに称される。これらの演算、構造的デバイス、活動、およびモジュールは、ソフトウェア、ファームウェア、専用デジタル論理回路、およびこれらの任意の組合せで実装され得る。
【００７０】
[0077]  本開示のコンセプトを例示し説明することを目的として、本明細書で開示されている方法は、例えば、変換エンジン１０８などの、コンピュータ実行可能命令の実行を介してコンピューティングデバイス１０２によって実行されるものとして説明される。図２に関して上記で説明されているように、変換エンジン１０８は、本明細書で説明されている機能性を実現するためにコンピューティングデバイス１０２によって実行され、および／または使用され得るさまざまなモジュールおよび／または他のデータを含むものとしてよい。追加の、または代替的なデバイスは、変換エンジン１０８以外の、またはそれに加えた命令の実行を介して本明細書で説明されている機能性を実現することができることは理解されるであろう。そのようなものとして、説明されている実施形態は、例示的なものであり、いかなる形でも制限するものとしてみなされるべきでないことは理解されるであろう。
【００７１】
[0078]  方法３００はオペレーション３０２から開始し、そこでコンピューティングデバイス１０２がデータ１１０を取得する。上で説明されているように、データ１１０は、さまざまなタイプの情報またはコンテンツを含むことができ、例えば、限定はしないが、ビデオファイル、アニメーションファイル、スライドショーファイル、画像ファイル、オーディオファイル、他のメディアファイル、または同様のものを含むメディアファイル、テキストドキュメント、プレーンテキスト、ウェブページ、ウェブコンテンツ、リッチテキスト、または同様のもの、および／または他のタイプの情報などを含み得る。企図されている一実施形態において、データ１１０は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ社（ワシントン州レドモンド所在）のＭＩＣＲＯＳＯＦＴ  ＰＯＷＥＲＰＯＩＮＴプレゼンテーションソフトウェア製品ファミリの一員の製品によって生成されたファイルなどのプレゼンテーションファイルに対応する。データ１１０に提供され得るさまざまなタイプの情報に照らして、この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００７２】
[0079]  さまざまな実装により、データ１１０は、コンピューティングデバイス１０２に関連付けられているデータ記憶装置デバイスまたはコンポーネントから取得される。データ記憶装置デバイスのいくつかの例について、図６〜８を参照しつつ以下で詳細に説明する。他のいくつかの実施形態では、データ１１０は、本明細書で説明されているデータソース１１４などのリモート記憶装置デバイスまたはリソースに格納され得る。したがって、データ１１０は、データソース１１４との通信を介してコンピューティングデバイス１０２によって取得され得る。そのようなものとして、データ１１０は、実または仮想デバイスから、直接的接続を介して、１つまたは複数のネットワークを介して、および／または他のノード、デバイス、および／またはデバイスコンポーネントを介して取得され得ることが理解されるであろう。
【００７３】
[0080]  方法３００は、オペレーション３０２からオペレーション３０４へ進み、コンピューティングデバイス１０２は、データ１１０のデータ要素または他の部分の間の関係を識別することができる。いくつかのタイプの情報、およびデータ１１０のいくつかの実施形態は、フローベースの配置構成で配置構成されるか、または編成され、および／または他の何らかの方法で論理的および／または階層的配置構成で配置構成され得ない。例えば、ワードプロセッシングドキュメントまたはプレゼンテーションなどのドキュメントのそれぞれのスライドまたはページは、タイトル、テキストの１つまたは複数の段落、１つまたは複数の文、１つまたは複数の単語、１つまたは複数の箇条書き、１つまたは複数の番号付きリスト、１つまたは複数の表、１つまたは複数の画像、および／または他のオブジェクトなどのデータ要素２１２を含み得る。いくつかの場合において、それぞれのスライドまたはページは、異なるトピックまたはサブトピックを対象とすることができるか、または扱う。他のいくつかの場合において、それぞれのスライドまたはページは、同じまたは類似のトピックを対象とすることができる。オペレーション３０４は、データ１１０のさまざまなデータ要素２１２または他の部分の間の関係を決定し、識別することを含み得る。いくつかの実施形態では、コンピューティングデバイス１０２は、分解および理解モジュール２００の実行を介してオペレーション３０４に関して本明細書で説明されている機能性を実現する。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００７４】
[0081]  企図されている一例において、１０ページからなるドキュメントのそれぞれのページにタイトルを入れることができる。タイトルは、「ｔｉｔｌｅ」というラベルを付けたブロックまたはフィールドによって指示され、および／または情報の配置、フォーマット、サイズ、色、コンテンツ、または他の態様に基づきタイトルを含むと判定され得る。したがって、１０ページのうちの３ページに同じ、または類似のタイトル情報が含まれる場合、それら３ページは、関係があるとみなされ、それら３ページに載っている情報は、タイトルとの関係を共有するものとして判定され得る。別の例では、コンピューティングデバイス１０２は、見出しの下にある番号付きリストまたは黒丸付きリストを見出しに関係するものとみなすように構成され得る。同様に、コンピューティングデバイス１０２は、リスト内にある番号付きまたは黒丸付き項目を互いに関係するものとみなすように構成され得る。
【００７５】
[0082]  したがって、テキスト、画像、または他のデータの配置、サイズ、フォーマット、コンテンツ、および／または他の態様、さらにはデータの相対的位置、配置、フォーマット、サイズ、コンテンツ、または他の態様は、ドキュメント内の他のデータに関して、オペレーション３０４でデータ同士の関係を決定するために使用できることは理解され得る。データ１１０のさまざまなデータ要素または他の部分の間の関係を識別するための他の多くのアプローチが企図されているので、これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００７６】
[0083]  方法３００は、オペレーション３０４からオペレーション３０６に進み、そこでコンピューティングデバイス１０２がデータ１１０に適用するバリエーションを決定する。オペレーション３０６では、コンピューティングデバイス１０２は、オペレーション３０４で決定された関係を調べて、データ１１０がどのように提示されるべきかを決定することができる。特に、コンピューティングデバイス１０２は、データ１１０に関連付けられているさまざまなファクタを調べて、データ１１０にバリエーションを加える仕方を決定することができる。したがって、例えば、コンピューティングデバイス１０２は、さまざまな方法でオペレーション３０４において決定された関係を提示するためにデータ１１０に適用され得る視覚的効果、デザイン、および／または他のバリエーションを決定することができる。企図されている一実施形態において、コンピューティングデバイス１０２は、図２を参照しつつ上で例示されさらに詳しく説明されているバリエーションモジュール２０２の実行を介してオペレーション３０６に関して本明細書で説明されている機能性を実現する。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００７７】
[0084]  方法３００は、オペレーション３０６からオペレーション３０８に進み、そこでコンピューティングデバイス１０２がデータ１１０を提示するためのワールド２１０を選ぶ。ワールド２１０を選択する追加の態様は、図４を参照しつつ以下で例示され説明される。簡単に言うと、上で述べたように、本明細書で使用されているような「ワールド」という用語は、データ１１０に適用され、出力１１２を生成するために使用され得る可視化および／またはテーマのタイプを含み得る。オペレーション３０８において、コンピューティングデバイス１０２は、データ１１０のさまざまな態様、オペレーション３０６で識別されたバリエーション、データ要素２１２同士の関係、および／または他の考慮事項に基づきワールド２１０を選択することができる。例えば、コンピューティングデバイス１０２は、データ１１０の形状を調べる、例えば、データ１１０の全体的な雰囲気もしくは調子、プレゼンテーションまたはドキュメントなどのデータ１１０の長さ、データ１１０のテキスト対画像比、データ１１０に含まれる多数の画像または他の媒体オブジェクト、データ１１０内のテキスト文字、単語、文、段落、または同様のものの総数、出力１１２の予想される対象閲覧者、出力１１２を表示するための予想される場所、出力１１２を表示するために使用されると予想される表示デバイスなどの予想される表示媒体、出力１１２が表示され得る配置、データ１１０内の、および／またはデータ要素２１２間の階層、出力１１２を表示するか、または出力１１２をインタラクティブに操作するときに使用され得る入力メカニズム、テキスト、画像、または同様のものなどの視覚的オブジェクトまたは他のデータ要素２１２の相対的サイズ、および／またはデータ１１０の他の態様などを調べるように構成され得る。
【００７８】
[0085]  ワールド２１０を選択する際に、コンピューティングデバイス１０２は、多数のワールド２１０を考慮するか、またはデータ１１０、および／またはデータ１１０および／またはデータ要素２１２の決定された関係、階層、雰囲気、形状、および／または他の態様に適合する単一のワールド２１０を識別することができる。したがって、オペレーション３０８は、多数の利用可能なワールド２１０から最高順位のワールド２１０を選択すること、バリエーションに基づき単一のワールド２１０を識別すること、または特定のワールド２１０を指定する入力を受信することを含み得る。企図されている一実施形態において、コンピューティングデバイス１０２は、ワールド選択モジュール２０８の実行を介してオペレーション３０８に関して本明細書で説明されている機能性を実現する。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００７９】
[0086]  方法３００は、オペレーション３０８からオペレーション３１０に進み、そこでコンピュータデバイス１０２が選ばれたワールド２１０に関連付けられているルール２０６を取得する。オペレーション３１０で、コンピューティングデバイス１０２は、選択されたワールド２１０に関連付けられているルール２０６をデータ１１０に適用することができる。ルール２０６をデータ１１０に適用することで、コンピューティングデバイス１０２はデータ１１０を意図したとおりに提示するように構成され得る。特に、ルール２０６は、データ１１０を特定のワールド２１０においてどのように提示すべきかを指定することができる。したがって、オペレーション３１０は、少なくとも部分的には、オペレーション３０８で選ばれたワールド２１０に基づきルール２０６を取得することを含むものとしてよい。
【００８０】
[0087]  方法３００は、オペレーション３１０からオペレーション３１２に進み、そこでコンピュータデバイス１０２はオペレーション３１０で取得されたルール２０６を適用する。上で述べているように、コンピューティングデバイス１０２は、ルール２０６をデータ１１０に適用して、オペレーション３０８で選ばれたワールド２１０に関連付けられているフォーマットまたはフォームでデータ１１０をフォーマットすることができる。例えば、ルール２０６は、テキストを提示するフォント、表示される画像に対するサイズ、または出力１１２を取得するためにデータ１１０を修正する他の命令を定義することができる。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００８１】
[0088]  方法３００は、オペレーション３１２からオペレーション３１４に進み、そこでコンピュータデバイス１０２は出力１１２を生成する。オペレーション３１４で、コンピューティングデバイス１０２は、オペレーション３０６〜３１２で識別されたバリエーション、ワールド２１０、およびルール２０６をデータ１１０に適用することができる。方法３００は、オペレーション３１４からオペレーション３１６に進み、そこでコンピュータデバイス１０２は出力１１２を提示する。出力１１２は、例えば、コンピューティングデバイス１０２および／または別のデバイスに関連付けられている表示デバイスに提示することができる。いくつかの実施形態では、コンピューティングデバイス１０２は、後で閲覧または提示できるように出力１１２をデータ記憶装置デバイスに保存するように構成され得るが、そのようなオペレーションは図３に示されていない。本明細書で開示されているコンセプトおよび技術のさまざまな実施形態を説明することを目的として、方法３００は、出力１１２をコンピューティングデバイス１０２に関連付けられている表示デバイス上に表示する一実施形態に関して説明されている。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００８２】
[0089]  方法３００は、オペレーション３１６からオペレーション３１８に進み、そこでコンピュータデバイス１０２は、コンピューティングデバイス１０２で受け取ったフィードバック２１４に基づき、出力１１２を生成するために使用されるデータまたは関係が修正されるべきかどうかを判定する。そこで、図３には示されていないが、方法３００は、コンピューティングデバイス１０２でフィードバック２１４を受け取り、および／または出力１１２に関するフィードバックを返すようにユーザーまたは他のエンティティに促すためのオペレーションを含むことができる。いくつかの実施形態では、例えば、出力１１２が提示され、ユーザーは、出力１１２に関するフィードバック２１４を返すよう促される。例えば、ユーザーは、出力１１２に視覚的に訴える点があるか、特定の色が好きか嫌いか、要素のレイアウトが好きか嫌いか、および／または他の質問を尋ねられ得る。いくつかの実施形態では、コンピューティングデバイス１０２は、出力１１２のほとんどいかなる態様に関するフィードバック２１４および／またはコメントを受け取る。
【００８３】
[0090]  コンピューティングデバイス１０２で受け取ったフィードバック２１４に応答して、コンピューティングデバイス１０２は、出力１１２を生成するために使用されるデータまたは関係が修正されるべきと判定することができる。例えば、コンピューティングデバイス１０２は、出力１１２の色、レイアウト、配色、テーマ、雰囲気、または他の態様がフィードバック２１４に応答して修正されるべきと判定し、この判定結果に基づき、出力１１２のその態様を生成するために使用されるデータ要素または関係が修正されるべきであると判定することができる。出力１１２を生成するために使用されるデータまたは関係が修正されるべきであると判定する際に、コンピューティングデバイス１０２は、オペレーション３０４で決定されたデータ１１０および／または関係もしくは階層、さらにはオペレーション３０８で選ばれたワールド２１０は、出力１１２の他の態様のうちでもとりわけ変更され得ることは理解されるであろう。出力１１２のほとんどいかなる態様も変更できるので、これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００８４】
[0091]  コンピューティングデバイス１０２が、オペレーション３１８において、出力１１２が修正されるべきであると判定した場合、方法３００はオペレーション３２０に進み、そこで、コンピューティングデバイス１０２は、出力１１２を生成するために使用されるデータまたは関係を修正する。データまたは関係の修正は、テキストを強調または逆強調すること、テキストのサイズを変更すること、画像のサイズを変更すること、テキストまたは画像のフォーマットを変更すること、テキストのフォント、サイズ、または色を変更すること、ワールド２１０を変更すること、可視化モードを変更すること、バリエーションもしくはバリエーションのタイプを変更すること、および／または出力１１２を生成するために使用されるデータもしくは関係を他の何らかの方法で修正することを含み得る。出力１１２を生成するために使用されるデータまたは関係に、追加のまたは代替的な修正を加えることができるので、これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００８５】
[0092]  方法は、オペレーション３２０からオペレーション３１２に戻り、ルール２０６が再びデータ１１０に適用される。そのようなものとして、方法３００のオペレーション３１２〜３２０は、オペレーション３１８の繰り返しにおいて、コンピューティングデバイス１０２が、出力１１２を生成するために使用されるデータまたは関係が修正されるべきでないと判定するまで、繰り返すことができることは理解され得る。コンピューティングデバイス１０２が、出力１１２を生成するために使用されるデータまたは関係が修正されるべきでないと判定した場合、方法３００はオペレーション３２２に進む。方法３００はオペレーション３２２で終了する。
【００８６】
[0093]  次に図４を参照し、ワールド２１０を選ぶ追加の態様について、詳細に説明することにする。特に、図４は、いくつかの例示的な実施形態により、バリエーションをデータ１１０に導入するためにワールド２１０を順位付けし、選択するための方法４００の態様を示している。図４に例示されている方法４００は、必ずというわけではないが、図３に例示されている方法３００のオペレーション３０８においてコンピューティングデバイス１０２よって実行され得ることは理解されるであろう。そのようなものとして、例示されている実施形態は、例示的なものであると理解されるべきであり、またいかなる形でも制限するものとして解釈されるべきでない。
【００８７】
[0094]  方法４００はオペレーション４０２から始まり、そこでコンピューティングデバイス１０２がデータ１１０に対する可能なワールドを識別する。上で述べているように、コンピューティングデバイス１０２は、データ１１０の形状、例えば、データ１１０の全体的な雰囲気もしくは調子、プレゼンテーションまたはドキュメントなどのデータ１１０の長さ、データ１１０のテキスト対画像比、データ１１０に含まれる多数の画像または他の媒体オブジェクト、データ１１０内のテキスト文字、単語、文、段落、または同様のものの総数、例えば、高解像度画像、低解像度画像、顔を含む画像、または同様のものなどの、データ１１０に含まれる画像のタイプ、出力１１２の予想される対象閲覧者、出力１１２を表示するための予想される場所、出力１１２を表示するために使用されると予想される表示デバイスなどの予想される表示媒体、出力１１２が表示され得る配置、データ１１０内の、および／またはデータ要素２１２間の階層、出力１１２を表示するか、または出力１１２をインタラクティブに操作するときに使用され得る入力メカニズム、テキスト、画像、または同様のものなどの視覚的オブジェクトまたは他のデータ要素２１２の相対的サイズ、および／またはデータ１１０の他の態様などを調べるように構成され得る。そこで、コンピューティングデバイス１０２は、データ１１０を分析して、コンピューティングデバイス１０２によって取得されるデータ１１０のタイプを記述する属性のリストをコンパイルすることができる。
【００８８】
[0095]  少なくとも部分的に、データ１１０の形状に基づき、コンピューティングデバイス１０２は、データ１１０を表すために使用することができるワールド２１０を決定することができる。いくつかの実施形態では、コンピューティングデバイス１０２は、コンピューティングデバイス１０２によって、分析されるデータ１１０のタイプにはよくない、または適切でないと判定されたワールド２１０を除外することができる。例えば、データ１１０が、テキストの大きなブロックおよび少数の低解像度画像を含む場合、テキストがほとんどない複数の高解像度画像を提示するようにデザインされたワールド２１０は、コンピューティングデバイス１０２によって、データ１１０を表現するのによくない選択であると判定され得る。可能なワールド２１０を決定するために閾値を定義することができる。例えば、コンピューティングデバイス１０２は、定義済みの閾値と比べて適切でないと判定されたワールド２１０を無視するか、または除外するように構成され得る。閾値は、テキスト対画像の比、テキストの文字数対テキストのスペースの比、他の比、比に関係しない他の考慮事項、および／または同様のものに基づき妥当性に対して適用され得る。そのようなものとして、オペレーション４０２でコンパイルされた可能なワールド２１０のリストは、ワールド２１０をゼロ個、ワールド２１０を１個、および／またはワールド２１０を複数個含むものとしてよい。
【００８９】
[0096]  方法４００は、オペレーション４０２からオペレーション４０４へ進み、そこでコンピューティングデバイス１０２が可能なワールド２１０を順位付けする。いくつかの実施形態では、コンピューティングデバイス１０２は、ワールド２１０をデータ１１０に関係付ける妥当性レベルまたは係数を決定することができる。この妥当性係数は、データ１１０の決定された形状、および１つまたは複数のルールに基づき決定された形状に対してワールド２１０がどのように適切であるかないかということに基づくものとすることができる。可能なワールド２１０のそれぞれのさまざまな態様は、データ１１０および／または識別された関係に基づき決定され、それぞれのワールド２１０は、順位付けされ得る。
【００９０】
[0097]  例えば、特定のワールド２１０は、２：１以上のテキスト対画像比を有し、１つの文の平均的な長さが１５語以下である、データ１１０に対して適切であると判定され得る。データ１１０が１．８：１のテキスト対画像比を有し、１つの文の平均的な長さが１８語である場合、ワールド２１０が決定され得る。その一方で、１．５：１以上の画像比を有し、１つの文の平均的な長さが２０語以下である、データ１１０に対して適切であると判定された別のワールド２１０は、上で説明されている第１の例のワールド２１０よりも高い順位を付けられるものとしてよい。データの形状の他の多くの態様は、ワールド２１０を重み付けおよび／または順位付けする際に考慮することができるので、この例は、例示的なものであると理解されるべきであり、またいかなる形でも制限するものとして解釈されるべきでない。
【００９１】
[0098]  方法４００は、オペレーション４０４からオペレーション４０６に進み、そこでコンピューティングデバイス１０２は、順位付けに基づきワールド２１０を選択することができる。いくつかの実施形態では、最高順位のワールド２１０が選ばれ得る。いくつかの実施形態では、複数のワールド２１０が同一のまたは実質的に類似する順位を付けられた場合、ユーザーは、ワールド２１０を選択することができ、ワールド２１０は、同じまたは類似する順位を有するワールド２１０から無作為に選ばれ得るか、または他の考慮事項により、最高順位のワールド２１０の選択を促すことができる。
【００９２】
[0099]  方法４００は、オペレーション４０６からオペレーション４０８へ進み、コンピューティングデバイス１０２は、選択されたワールド２１０および／またはコンピューティングデバイス１０２によって選択されたワールド２１０を示すデータを出力する。そのようなものとして、コンピューティングデバイス１０２は、データ１１０を出力１１２に変換するためにどのようなワールド２１０が使用されるべきであるかを示すデータを生成することができる。
【００９３】
[00100]  方法４００は、オペレーション４０８からオペレーション４１０に進む。方法はオペレーション４１０で終了することができる。いくつかの実施形態では、図４を参照しつつ本明細書で説明されている機能性が、方法３００のオペレーション３０８に関連してコンピューティングデバイス１０２によって実行される場合、コンピューティングデバイス１０２は、方法４００を実行した後にオペレーション３１０で方法３００の実行を再開することができる。方法４００は、方法３００の実行に関連していてもいなくてもよいので、この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００９４】
[00101]  図５は、いくつかの例示的な実施形態により、バリエーションをデータ１１０に導入するためにワールド２１０を変更するための方法４００の態様を示している。方法４００の例示されている実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。方法５００はオペレーション５０２から始まり、そこでコンピューティングデバイス１０２は、新規コンテンツが検出されたかどうかを判定する。特に、コンピューティングデバイス１０２は、データ１１０の新規バージョンがリリースされたか、検出されたか、または受信されたかどうか、新規データ要素２１２がリリースされたか、検出されたか、または受信されたかどうか、および／または新規データ１１０および／または新規データ要素２１２を示す通知が受信されたか、もしくは検出されたかどうかを判定することができる。
【００９５】
[00102]  いくつかの実施形態では、データ１１０は、ＲＳＳフィード、ウェブログ、記事、ソーシャルネットワーキング投稿、ウェブサイト、または同様のもののコメントセクション、ＴＷＩＴＴＥＲリアルタイムメッセージングサービスによって提供されるメッセージングフィードなどのリアルタイムメッセージフィード、写真アルバムもしくは写真フィード、または時間の経過とともに変化し得る他のデータ１１０を含むか、または対応し得る。そのようなものとして、コンピューティングデバイス１０２は、フィードにサブスクライブして、更新を取得もしくは検出することができるか、またはデータが変更されたことを示す通知を他のデバイスから受信することができる。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００９６】
[00103]  コンピューティングデバイス１０２が、データ１１０が変更されていないと判定した場合、方法５００はオペレーション５０２に戻ることができ、そこでコンピューティングデバイス１０２が再びデータ１１０が変更されたかどうかを判定することができる。したがって、方法５００の実行は、データ更新が検出されるまでオペレーション５０２で一時停止することができる。コンピューティングデバイス１０２が、オペレーション５０２の繰り返しにおいて、データ１１０が変更されたと判定した場合、方法５００はオペレーション５０４に進む。
【００９７】
[00104]  オペレーション５０４において、コンピューティングデバイス１０２は、ワールド２１０が変更されるべきかどうかを決定することができる。いくつかの実施形態では、オペレーション５０２の機能性は省略され、方法５００は、オペレーション５０４に関して本明細書で説明されている機能性から始めることができる。そのようなものとして、いくつかの実施形態では、ワールド２１０が変更されるべきであるという指示は、データ１１０を表すために使用されるワールド２１０を変更するユーザーもしくは他のエンティティからの明示的コマンドから発せられ得ることは理解されるであろう。
【００９８】
[00105]  他のいくつかの実施形態では、コンピューティングデバイス１０２は、データ１１０への変更を検出した後、ワールド２１０を調べて、データ１１０になされた変更が選ばれたワールド２１０が変更されるべきであることを示すかどうかを判定することができる。ワールド２１０が変更されるべきであるという決定は、例えば、特定のワールド２１０により表され得る要素の最大数、データタイプの変更、更新頻度の変更、または同様のものの指示などの任意の数の考慮事項に基づき行うことができる。ワールド２１０が変更されるべきかどうかを判定するための他のアプローチも企図されており、可能であるので、そのような判定を行うためのこれらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【００９９】
[00106]  コンピューティングデバイス１０２が、オペレーション５０４において、ワールド２１０が変更されないと判定した場合、方法５００はオペレーション５０２に戻ることができ、そこでコンピューティングデバイス１０２が再びデータ１１０が変更されたかどうかを判定することができる。図５には明示的に示されていないけれども、ルール２０６が再評価され、および／またはワールド５１０は、データ１１０の変更を受け入れるように変更され得る。したがって、方法５００の実行で、オペレーション５０４の繰り返しにおいて、ワールド２１０が変更されるべきとコンピューティングデバイス１０２が決定するまでオペレーション５０２〜５０４を繰り返し得る。コンピューティングデバイス１０２が、オペレーション５０４の繰り返しにおいて、ワールド２１０が変更されるべきと決定した場合、方法５００はオペレーション５０６に進む。
【０１００】
[00107]  オペレーション５０６において、コンピューティングデバイス１０２は、データ１１０を提示するための可能なワールド２１０を順位付けすることができる。したがって、図５には図示されていないが、コンピューティングデバイス１０２は、ここでもまた、可能なすべてのワールド２１０を識別し、新規または更新データ１１０に基づき可能なワールド２１０を順位付けすることができる。可能なワールド２１０を順位付けするためのコンピューティングデバイスの機能性は、必ずというわけではないが、図４に示されているように可能なワールド２１０の順位付けに類似しているか、または同一ですらあり得ることは理解されるであろう。
【０１０１】
[00108]  方法５００は、オペレーション５０６からオペレーション５０８へ進み、そこでコンピューティングデバイス１０２は、順位付けに基づきワールド２１０を選択する。方法５００は、オペレーション５０８からオペレーション５１０に進み、そこで、コンピューティングデバイス１０２が選択されたワールド２１０を出力する。オペレーション５０８〜５１０に示されているようにワールド２１０を選択し、選択されたワールド２１０を出力するためのコンピューティングデバイスの機能性は、必ずというわけではないが、図４のオペレーション４０６〜４０８を参照しつつ図示され上で説明されているようにワールド２１０の順位付けおよび選択に類似しているか、または同一ですらあり得ることは理解されるであろう。方法５００は、オペレーション５１０からオペレーション５１２に進む。方法はオペレーション５１２で終了することができる。
【０１０２】
[00109]  上で述べたように、ただし図５には明示的に示されていないが、ワールド２１０は、フィードバック２１４に基づき変更され得る。したがって、例えば、ユーザーの好き嫌いを使用して、データ１１０を表すために新規ワールド２１０が選択されるべきであると決定することができる。それに加えて、または代替的に、ユーザーは、データ１１０を新規ワールド２１０内に明示的にロードすべきであると指定することができる。したがって、コンピューティングデバイス１０２は、複数のワールド２１０内にロードされるデータ１１０の表現を提示するように構成され、ユーザーまたは他のエンティティは、これらの表現に基づき所望のワールド２１０を選択することができる。フィードバック２１４および／または他の入力に基づきワールドを変更するための他の方法が企図され、可能であるので、入力のこれらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【０１０３】
[00110]  図６は、データを消費型コンテンツに変換するときにバリエーションを生じさせるために本明細書で説明されているソフトウェアコンポーネントを実行することができるデバイスに対する例示的なコンピュータアーキテクチャ６００を示している。したがって、図６に例示されているコンピュータアーキテクチャ６００は、サーバーコンピュータ、携帯電話、ＰＤＡ、スマートフォン、デスクトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、および／またはラップトップコンピュータに対するアーキテクチャを示している。コンピュータアーキテクチャ６００は、本明細書で提示されているソフトウェアコンポーネントの任意の態様を実行するために利用され得る。
【０１０４】
[00111]  図６に例示されているコンピュータアーキテクチャ６００は、中央演算処理装置６０２（「ＣＰＵ」）、ランダムアクセスメモリ６０６（「ＲＡＭ」）およびリードオンリーメモリ（「ＲＯＭ」）６０８を含むシステムメモリ６０４、およびメモリ６０４をＣＰＵ６０２に結合するシステムバス６１０を備える。起動時などにコンピュータアーキテクチャ６００内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システムは、ＲＯＭ６０８に格納される。コンピュータアーキテクチャ６００は、オペレーティングシステム１０６および限定はしないが変換エンジン１０８を含む１つまたは複数のアプリケーションプログラムを格納するための大容量記憶装置デバイス６１２をさらに備える。図６には図示されていないが、大容量記憶装置デバイス６１２も、データ１１０、出力１１２、ルール２０６、ワールド２１０、データ要素２１２、フィードバック２１４、および／または本明細書で説明されている他のアプリケーション、モジュール、または他の情報を格納するように構成され得る。
【０１０５】
[00112]  大容量記憶装置デバイス６１２は、バス６１０に接続されている大容量記憶装置コントローラ（図示せず）を通じてＣＰＵ６０２に接続されている。大容量記憶装置デバイス６１２およびその関連するコンピュータ可読媒体は、コンピュータアーキテクチャ６００用の不揮発性記憶域を提供する。本明細書に記載されているコンピュータ可読媒体の説明では、ハードディスクまたはＣＤ−ＲＯＭドライブなどの大容量記憶装置デバイスに言及しているが、当業者であれば、コンピュータ可読媒体は、コンピュータアーキテクチャ６００によってアクセス可能な利用可能なコンピュータ記憶媒体または通信媒体とすることができることは理解されるであろう。
【０１０６】
[00113]  通信媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、または搬送波もしくは他のトランスポートメカニズムなどの変調データ信号による他のデータを含み、任意の配信媒体を含む。「変調データ信号」という用語は、信号内に情報を符号化するような方法で特性のうちの１つまたは複数が変更または設定された信号を意味する。例えば、限定はしないが、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、ＲＦ、赤外線、およびその他のワイヤレス媒体などのワイヤレス媒体がある。上記のいずれの組合せもコンピュータ可読媒体の範囲に収まらなければならない。
【０１０７】
[00114]  例えば、限定はしないが、コンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータなどの情報を格納するための方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能媒体を含むものとしてよい。例えば、コンピュータ媒体として、限定はしないが、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他の半導体メモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（「ＤＶＤ」）、ＨＤ−ＤＶＤ、ＢＬＵ−ＲＡＹ、または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置デバイス、または所望の情報を格納するために使用することができ、しかもコンピュータアーキテクチャ６００によってアクセス可能な他の媒体が挙げられる。請求項の目的に関して、「コンピュータ記憶媒体」という語句およびその変形は、波、信号、および／または他の一時的および／または無形の通信媒体を、本質的に、含まない。
【０１０８】
[00115]  さまざまな実施形態により、コンピュータアーキテクチャ６００は、ネットワーク１０４などの、ネットワークを通じてリモートコンピュータへの論理的接続を使用しネットワーク接続環境において動作し得る。コンピュータアーキテクチャ６００は、バス６１０に接続されているネットワークインターフェースユニット６１４を通じてネットワーク１０４に接続することができる。ネットワークインターフェースユニット６１４は、他の種類のネットワークおよびリモートコンピュータシステム、例えば、データソース１１４に接続するために使用することもできることは理解されるであろう。コンピュータアーキテクチャ６００は、キーボード、マウス、または電子スタイラス（図６には図示せず）を含む、多数の他のデバイスから入力を受け取り、処理するための入出力コントローラ６１６を備えることもできる。同様に、入出力コントローラ６１６は、ディスプレイ画面、プリンタ、または他の種類の出力デバイス（これも図６には図示せず）への出力を行うことができる。
【０１０９】
[00116]  本明細書で説明されているソフトウェアコンポーネントは、ＣＰＵ６０２にロードされ実行されたときに、ＣＰＵ６０２およびコンピュータアーキテクチャ６００全体を汎用コンピューティングシステムから本明細書に提示されている機能性を円滑にするようにカスタマイズされた専用コンピューティングシステムに変換することができることは理解されるであろう。ＣＰＵ６０２は、任意の数の状態を個別に、またはまとめて取り得る、任意の数のトランジスタまたは他の離散回路要素から製作することができる。より具体的には、ＣＰＵ６０２は、本明細書で開示されているソフトウェアモジュールに収められている実行可能命令に応答して、有限状態機械として動作し得る。これらのコンピュータ実行可能命令は、状態間でＣＰＵ６０２がどのように遷移するかを指定し、これにより、ＣＰＵ６０２を構成するトランジスタまたは他の離散ハードウェア要素を変換することによって、ＣＰＵ６０２を変換することができる。
【０１１０】
[00117]  本明細書で提示されているソフトウェアモジュールを符号化することでも、本明細書で提示されているコンピュータ可読媒体の物理的構造を変化することができる。物理的構造の特定の変換は、この説明の異なる実装におけるさまざまな要因に依存し得る。このような要因のいくつかの例として、限定はしないが、コンピュータ可読媒体を実装するために使用される技術、コンピュータ可読媒体が一次または二次記憶装置として特徴付けられるかどうか、および同様の要因が挙げられる。例えば、コンピュータ可読媒体が、半導体ベースのメモリとして実装される場合、本明細書で開示されているソフトウェアは、半導体メモリの物理的状態を変換することによってコンピュータ可読媒体上に符号化され得る。例えば、ソフトウェアは、トランジスタ、コンデンサ、または半導体メモリを構成する他の離散回路要素の状態を変換することができる。ソフトウェアは、データを格納するためにそのようなコンポーネントの物理的状態を変換することもできる。
【０１１１】
[00118]  別の例として、本明細書で開示されているコンピュータ可読媒体は、磁気または光技術を使用して実装され得る。このような実装では、本明細書で提示されているソフトウェアは、ソフトウェアが中に符号化されたときに、磁気または光媒体の物理的状態を変換することができる。これらの変換は、所定の磁気媒体内の特定の配置の磁気特性を変えることを含み得る。これらの変換は、所定の光媒体内の特定の配置の物理的特徴または特性を変えて、それらの配置の光学特性を変化させることも含み得る。本発明の説明の範囲および精神から逸脱することなく、物理的媒体の他の変換が可能であり、前記の例はこの説明をわかりやすくするためにのみ用意されている。
【０１１２】
[00119]  上記に照らして、本明細書で提示されているソフトウェアコンポーネントを格納し、実行するために多くのタイプの物理的変換がコンピュータアーキテクチャ６００内で行われることは理解されるであろう。また、コンピュータアーキテクチャ６００は、ハンドヘルドコンピュータ、埋込式コンピュータシステム、携帯情報端末、および当業者に知られている他のタイプのコンピューティングデバイスを含む、他のタイプのコンピューティングデバイスを含み得ることも理解されるであろう。また、コンピュータアーキテクチャ６００は、図６に示されているコンポーネントのすべてを含み得ないか、または図６に明示的に示されていない他のコンポーネントを含み得るか、または図６に示されているものと完全に異なるアーキテクチャを使用し得ることも企図されている。
【０１１３】
[00120]  図７は、データを消費型コンテンツに変換するときにバリエーションを生じさせるために本明細書で説明されているソフトウェアコンポーネントを実行することができる例示的な分散コンピューティング環境７００を示している。そこで、図７に示されている分散コンピューティング環境７００は、コンピューティングデバイス１０２に関して本明細書で説明されている機能性を実現するために使用することができる。したがって、分散コンピューティング環境７００は、本明細書で提示されているソフトウェアコンポーネントの任意の態様を実行するために利用され得る。
【０１１４】
[00121]  さまざまな実装により、分散コンピューティング環境７００は、ネットワーク７０４上で、ネットワーク７０４と通信して、またはネットワーク７０４の一部として動作するコンピューティング環境７０２を含む。ネットワーク７０４は、さまざまなアクセスネットワークも含み得る。さまざまな実装によれば、ネットワーク７０４の機能性は、図１および６に例示されているネットワーク１０４によって実現される。１つまたは複数のクライアントデバイス７０６Ａ〜７０６Ｎ（これ以降、まとめておよび／または総称的に「クライアント７０６」と称される）は、ネットワーク７０４および／または他の接続（図７に図示せず）を介してコンピューティング環境７０２と通信することができる。例示されている実施形態では、クライアント７０６は、ラップトップコンピュータ、デスクトップコンピュータ、または他のコンピューティングデバイスなどのコンピューティングデバイス７０６Ａ、スレートまたはタブレットコンピューティングデバイス（「タブレットコンピューティングデバイス」）７０６Ｂ、携帯電話、スマートフォン、または他のモバイルコンピューティングデバイスなどのモバイルコンピューティングデバイス７０６Ｃ、サーバーコンピュータ７０６Ｄ、および／または他のデバイス７０６Ｎを備えることができる。任意の数のクライアント７０６が、コンピューティング環境７０２と通信することができることは理解されるであろう。クライアント７０６に対する２つの例示的なコンピューティングアーキテクチャは、図６および６を参照しつつ本明細書で例示され説明されている。例示されているクライアント７０６および本明細書で例示され説明されているコンピューティングアーキテクチャは、例示的なものであり、いかなる形でも制限されるものとして解釈されるべきでないことは理解されるであろう。
【０１１５】
[00122]  例示されている実施形態において、コンピューティング環境７０２は、アプリケーションサーバー７０８、データ記憶装置７１０、および１つまたは複数のネットワークインターフェース７１２を備える。さまざまな実装により、アプリケーションサーバー７０８の機能性は、ネットワーク７０４の一部として、またはネットワーク７０４と通信して実行している１つまたは複数のサーバーコンピュータによって実現され得る。アプリケーションサーバー７０８は、さまざまなサービス、仮想マシン、ポータル、および／または他のリソースをホストすることができる。例示されている実施形態では、アプリケーションサーバー７０８は、アプリケーションまたは他の機能性をホストするために１つまたは複数の仮想マシン７１４をホストする。さまざまな実装により、仮想マシン７１４は、データを消費型コンテンツに変換するときにバリエーションを生じさせるために本明細書で説明されている機能性を実現する１つまたは複数のアプリケーションおよび／またはソフトウェアモジュールをホストする。この実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。アプリケーションサーバー７０８は、１つまたは複数のウェブポータル、リンクページ、ウェブサイト、および／または他の情報（「ウェブポータル」）７１６をホストすること、またはそれらへのアクセスを提供することも行う。
【０１１６】
[00123]  さまざまな実装により、アプリケーションサーバー７０８は、１つまたは複数のメールボックスサービス７１８および１つまたは複数のメッセージングサービス７２０も備える。メールボックスサービス７１８は、電子メール（「ｅｍａｉｌ」）サービスを含み得る。メールボックスサービス７１８は、限定はしないが、カレンダーサービス、連絡先管理サービス、コラボレーションサービス、および／または他のサービスを含むさまざまな個人情報管理（「ＰＩＭ」）サービスも含み得る。メッセージングサービス７２０は、限定はしないが、インスタントメッセージングサービス、チャットサービス、フォーラムサービス、および／または他の通信サービスを含み得る。
【０１１７】
[00124]  アプリケーションサーバー７０８も、１つまたは複数のソーシャルネットワーキングサービス７２２を備え得る。ソーシャルネットワーキングサービス７２２は、限定はしないが、ステータス更新、インスタントメッセージ、リンク、写真、ビデオ、および／または他の情報を共有または投稿するためのサービス、記事、製品、ブログ、または他のリソースへの関心をコメントするか、または表示するためのサービス、および／または他のサービスを含むさまざまなソーシャルネットワーキングサービスを含み得る。いくつかの実施形態では、ソーシャルネットワーキングサービス７２２は、ＦＡＣＥＢＯＯＫソーシャルネットワーキングサービス、ＬＩＮＫＥＤＩＮプロフェッショナルネットワーキングサービス、ＭＹＳＰＡＣＥソーシャルネットワーキングサービス、ＦＯＵＲＳＱＵＡＲＥ位置情報ネットワーキングサービス、ＹＡＭＭＥＲ職場同僚ネットワーキングサービス、および同様のサービスによって提供されるか、またはこれらを含む。他の実施形態では、ソーシャルネットワーキングサービス７２２は、ソーシャルネットワーキングプロバイダとして明示的に知られ得る、または知られない他のサービス、サイト、および／またはプロバイダによって提供される。例えば、いくつかのウェブサイトでは、ユーザーは、公開記事を読むこと、商品もしくはサービスにコメントを付けること、出版、共同制作、ゲームをすること、および同様の活動などのさまざまな活動および／またはコンテキストにおいて電子メール、チャットサービス、および／または他の手段を介して互いに情報をやり取りすることができる。このようなサービスの例としては、限定はしないが、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ社（ワシントン州レドモンド所在）のＷＩＮＤＯＷＳ  ＬＩＶＥサービスおよびＸＢＯＸ  ＬＩＶＥサービスが挙げられる。他のサービスも可能であり、企図される。
【０１１８】
[00125]  ソーシャルネットワーキングサービス７２２は、コメントサービス、ブログサービス、および／またはマイクロブログサービスも含み得る。このようなサービスの例として、限定はしないが、ＹＥＬＰコメントサービス、ＫＵＤＺＵレビューサービス、ＯＦＦＩＣＥＴＡＬＫ企業向けマイクロブログサービス、ＴＷＩＴＴＥＲメッセージングサービス、ＧＯＯＧＬＥ  ＢＵＺＺサービス、および／または他のサービスが挙げられる。サービスの上記のリストは網羅的でなく、多数のソーシャルネットワークキングサービス７２２がこれらに加えて、および／または代替的に存在するが簡単のため本明細書では言及されていないことは理解されるであろう。そのようなものとして、上記の実施形態は、例示的なものであり、いかなる形でも制限されるものとして解釈されるべきでない。
【０１１９】
[00126]  図７に示されているように、アプリケーションサーバー７０８は、他のサービス、アプリケーション、ポータル、および／または他のリソース（「他のリソース」）７２４をホストすることもできる。したがって、コンピューティング環境７０２は、データを消費型コンテンツに変換するときにバリエーションを生じさせるために本明細書に載せられている本明細書で開示されているコンセプトおよび技術とさまざまなメールボックス、メッセージング、ソーシャルネットワーキング、および／または他のサービスもしくはリソースとの統合を行うことができることは理解され得る。例えば、本明細書で開示されているコンセプトおよび技術は、ソーシャルネットワーキングデータまたはメールボックスデータをユーザー向けに視覚的コンテンツに変換するために使用され得る。同様に、本明細書で開示されているコンセプトおよび技術は、メッセージングまたは他のリソースを視覚的コンテンツに変換するために使用され得る。これらの実施形態は、例示的なものであり、いかなる形でも制限するものとして解釈されるべきでないことは理解されるであろう。
【０１２０】
[00127]  上で述べているように、コンピューティング環境７０２は、データ記憶装置７１０を備えることができる。さまざまな実装により、データ記憶装置７１０の機能性は、ネットワーク７０４上で、またはネットワーク７０４と通信して動作する１つまたは複数のデータベースによって実現される。データ記憶装置７１０の機能性は、コンピューティング環境７０２用のデータをホストするように構成された１つまたは複数のサーバーコンピュータによっても実現され得る。データ記憶装置７１０は、１つまたは複数の実もしくは仮想データストア７２６Ａ〜７２６Ｎ（これ以降まとめて、および／または総称的に「データストア７２６」と称される）を備えるか、ホストするか、または提供することができる。データストア７２６は、アプリケーションサーバー７０８および／または他のデータによって使用されるかまたは生じるデータをホストするように構成される。図７には図示されていないが、データストア７２６は、データ１１０、出力１１２、ルール２０６、ワールド２１０、データ要素２１２、フィードバック２１４、および／または本明細書で説明されている他のデータ、コンピュータ実行可能命令、もしくは他の情報をホストするか、または格納することもできる。
【０１２１】
[00128]  コンピューティング環境７０２は、ネットワークインターフェース７１２と通信するか、またはネットワークインターフェース７１２によってアクセスされ得る。ネットワークインターフェース７１２は、限定はしないが、クライアント７０６およびアプリケーションサーバー７０８を含む、２つまたはそれ以上のコンピューティングデバイスの間の通信をサポートするためさまざまなタイプのネットワークハードウェアおよびソフトウェアを備えることができる。ネットワークインターフェース７１２は、他のタイプのネットワークおよび／またはコンピュータシステムに接続するためにも利用され得ることは理解されるであろう。
【０１２２】
[00129]  本明細書で説明されている分散コンピューティング環境７００は、本明細書で開示されているソフトウェアコンポーネントの態様を実行するように構成され得る多数の仮想コンピューティングリソースおよび／または他の分散コンピューティング機能性を用いて本明細書で説明されているソフトウェア要素の態様を実現することができることは理解されるであろう。本明細書で開示されているコンセプトおよび技術のさまざまな実装により、分散コンピューティング環境７００は、クライアント７０６へのサービスとして本明細書で説明されているソフトウェア機能性を提供する。クライアント７０６は、限定はしないが、サーバーコンピュータ、ウェブサーバー、パーソナルコンピュータ、モバイルコンピューティングデバイス、スマートフォン、および／または他のデバイスを含む実または仮想マシンを含み得ることは理解されるであろう。そのようなものとして、本明細書で開示されているコンセプトおよび技術のさまざまな実施形態を用いると、分散コンピューティング環境７００にアクセスするように構成されたデバイスは、データを消費型コンテンツに変換するときに本明細書で説明されている機能性を利用してバリエーションを生じさせることができる。
【０１２３】
[00130]  次に図８を参照すると、データを消費型コンテンツに変換するときにバリエーションを生じさせるために本明細書で説明されているさまざまなソフトウェアコンポーネントを実行することができるコンピューティングデバイスに対する例示的なコンピューティングデバイスアーキテクチャ８００が示されている。コンピューティングデバイスアーキテクチャ８００は、一部はフォームファクタ、ワイヤレス接続性、および／または電池式動作によりモバイルコンピューティングを円滑にするコンピューティングデバイスに適用可能である。いくつかの実施形態では、コンピューティングデバイスとしては、限定はしないが、携帯電話、タブレットデバイス、スレートデバイス、携帯型ビデオゲームデバイス、および同様のものが挙げられる。さらに、コンピューティングデバイスアーキテクチャ８００は、図７に示されているクライアント８０６のうちのどれかに適用可能である。さらに、コンピューティングデバイスアーキテクチャ８００の態様は、図８を参照しつつ本明細書で説明されているような、従来型のデスクトップコンピュータ、携帯型コンピュータ（例えば、ラップトップ、ノートブック、ウルトラポータブル、およびネットブック）、サーバーコンピュータ、および他のコンピュータシステムに適用可能であるものとしてよい。例えば、本明細書において以下で開示されているシングルタッチおよびマルチタッチの態様は、タッチスクリーンまたはタッチ対応トラックパッドもしくはタッチ対応マウスなどの、他の何らかのタッチ対応デバイスを利用するデスクトップコンピュータに適用することができる。
【０１２４】
[00131]  図８に例示されているコンピューティングデバイスアーキテクチャ８００は、プロセッサ８０２、メモリコンポーネント８０４、ネットワーク接続性コンポーネント８０６、センサーコンポーネント８０８、入出力コンポーネント８１０、および電源コンポーネント８１２を備える。例示されている実施形態では、プロセッサ８０２は、メモリコンポーネント８０４、ネットワーク接続性コンポーネント８０６、センサーコンポーネント８０８、入出力（「Ｉ／Ｏ」）コンポーネント８１０、および電源コンポーネント８１２と通信する。図８に例示されている個別のコンポーネントの間に接続は示されていないが、それらのコンポーネントは、デバイス機能を実行するためにインタラクティブに動作し得る。いくつかの実施形態では、コンポーネントは、１つまたは複数のバス（図示せず）を介して通信するように配置構成される。
【０１２５】
[00132]  プロセッサ８０２は、データを処理し、１つまたは複数のアプリケーションプログラムのコンピュータ実行可能命令を実行し、コンピューティングデバイスアーキテクチャ８００の他のコンポーネントと通信して本明細書で説明されているさまざまな機能性を実行するように構成された中央演算処理装置（「ＣＰＵ」）を備える。プロセッサ８０２を利用することで、本明細書で提示されているソフトウェアコンポーネントの態様、および特に、少なくとも一部はタッチ対応入力を利用する態様を実行することができる。
【０１２６】
[00133]  いくつかの実施形態では、プロセッサ８０２は、限定はしないが、汎用科学および工学コンピューティングアプリケーション、さらには高解像度ビデオ（例えば、７２０Ｐ、１０８０Ｐ、およびそれ以上の解像度）、ビデオゲーム、三次元（「３Ｄ」）モデリングアプリケーション、および同様のものなどのグラフィックスを多用するコンピューティングアプリケーションを実行することによって実行されるオペレーションを含む、ＣＰＵによって実行されるオペレーションのアクセラレーションを行うように構成されたグラフィックスプロセッシングユニット（「ＧＰＵ」）を含む。いくつかの実施形態では、プロセッサ８０２は、別個のＧＰＵ（図示せず）と通信するように構成される。いずれの場合も、ＣＰＵおよびＧＰＵは、コプロセッシングＣＰＵ／ＧＰＵコンピューティングモデルに従って構成されるものとしてよく、アプリケーションの逐次的部分は、ＣＰＵ上で実行され、計算の多い部分は、ＧＰＵによるアクセラレーションが施される。
【０１２７】
[00134]  いくつかの実施形態では、プロセッサ８０２は、本明細書において以下で説明されている他のコンポーネントのうちの１つまたは複数を伴うシステムオンチップ（「ＳｏＣ」）であるか、またはそれに含まれる。例えば、ＳｏＣは、プロセッサ８０２、ＧＰＵ、ネットワーク接続性コンポーネント８０６のうちの１つまたは複数、およびセンサーコンポーネント８０８のうちの１つまたは複数を備えることができる。いくつかの実施形態では、プロセッサ８０２は、一部は、パッケージオンパッケージ（「ＰｏＰ」）集積回路パッケージング技術を利用して、製造される。さらに、プロセッサ８０２は、シングルコアまたはマルチコアプロセッサであり得る。
【０１２８】
[00135]  プロセッサ８０２は、ＡＲＭ  ＨＯＬＤＩＮＧＳ社（英国ケンブリッジ所在）のライセンスを得て利用可能なＡＲＭアーキテクチャに従って製作され得る。代替的に、プロセッサ８０２は、ＩＮＴＥＬ  ＣＯＲＰＯＲＡＴＩＯＮ社（カリフォルニア州マウンテンビュー所在）および他の会社から入手できる、ｘ８６アーキテクチャに従って製作することができる。いくつかの実施形態では、プロセッサ８０２は、ＱＵＡＬＣＯＭＭ社（カリフォルニア州サンディエゴ所在）から入手できるＳＮＡＰＤＲＡＧＯＮ  ＳｏＣ、ＮＶＩＤＩＡ社（カリフォルニア州サンタクララ所在）から入手できるＴＥＧＲＡ  ＳｏＣ、ＳＡＭＳＵＮＧ（韓国ソウル所在）から入手できるＨＵＭＭＩＮＧＢＩＲＤ  ＳｏＣ、ＴＥＸＡＳ  ＩＮＳＴＲＵＭＥＮＴＳ（テキサス州ダラス所在）から入手できるＯｐｅｎ  Ｍｕｌｔｉｍｅｄｉａ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ（「ＯＭＡＰ」）ＳｏＣ、上記ＳｏＣのうちのどれかのカスタマイズされたバージョン、または専用ＳｏＣである。
【０１２９】
[00136]  メモリコンポーネント８０４としては、ランダムアクセスメモリ（「ＲＡＭ」）８１４、リードオンリーメモリ（「ＲＯＭ」）８１６、集積化記憶装置メモリ（「集積化記憶装置」）８１８、および取り外し可能な記憶装置メモリ（「取り外し可能な記憶装置」）８２０が挙げられる。いくつかの実施形態では、ＲＡＭ８１４またはその一部、ＲＯＭ８１６またはその一部、および／またはＲＡＭ８１４とＲＯＭ８１６との何らかの組合せが、プロセッサ８０２内に集積化されている。いくつかの実施形態では、ＲＯＭ８１６は、ファームウェア、オペレーティングシステムもしくはその一部（例えば、オペレーティングシステムのカーネル）、および／または集積化記憶装置８１８もしくは取り外し可能な記憶装置８２０からオペレーティングシステムのカーネルをロードするためのブートローダーを格納するように構成される。
【０１３０】
[00137]  集積化記憶装置８１８は、ソリッドステートメモリ、ハードディスク、またはソリッドステートメモリとハードディスクとの組合せを含み得る。集積化記憶装置８１８は、ロジックボードにハンダ付けされるか、または他の何らかの方法で接続され、その上で本明細書で説明されているプロセッサ８０２および他のコンポーネントも接続され得る。そのようなものとして、集積化記憶装置８１８は、コンピューティングデバイス内に集積化される。集積化記憶装置８１８は、本明細書で説明されているオペレーティングシステムもしくはその一部、アプリケーションプログラム、データ、および他のソフトウェアコンポーネントを格納するように構成される。
【０１３１】
[00138]  取り外し可能な記憶装置８２０は、ソリッドステートメモリ、ハードディスク、またはソリッドステートメモリとハードディスクとの組合せを含み得る。いくつかの実施形態では、取り外し可能な記憶装置８２０は、集積化記憶装置８１８の代わりに用意される。他の実施形態では、取り外し可能な記憶装置８２０は、追加のオプション記憶装置として用意される。いくつかの実施形態では、取り外し可能な記憶装置８２０は、利用可能な記憶域全体が利用できるように、また集積化記憶装置８１８および取り外し可能な記憶装置８２０の組合せの全記憶容量としてユーザーに見えるように集積化記憶装置８１８と論理的に組み合わされる。
【０１３２】
[00139]  取り外し可能な記憶装置８２０は、取り外し可能な記憶装置メモリスロット（図示せず）または他のメカニズム内に挿入されるように構成され、これにより、取り外し可能な記憶装置８２０がプロセッサ８０２などの、コンピューティングデバイスの他のコンポーネントと通信する際に使用することができる接続が円滑になるように、取り外し可能な記憶装置８２０が挿入され、固定される。取り外し可能な記憶装置８２０は、限定はしないが、ＰＣカード、コンパクトフラッシュカード、メモリスティック、セキュアデジタル（「ＳＤ」）、ｍｉｎｉＳＤ、ｍｉｃｒｏＳＤ、Ｕｎｉｖｅｒｓａｌ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｃａｒｄ（「ＵＩＣＣ」）（例えば、加入者識別モジュール（「ＳＩＭ」）または汎用ＳＩＭ（「ＵＳＩＭ」））、専用フォーマット、または同様のものを含む、さまざまなメモリカードフォーマットで具現化され得る。
【０１３３】
[00140]  メモリコンポーネント８０４のうちの１つまたは複数がオペレーティングシステムを格納することができることは理解され得る。さまざまな実施形態により、オペレーティングシステムとして、限定はしないが、ＳＹＭＢＩＡＮ  ＬＩＭＩＴＥＤ社のＳＹＭＢＩＡＮ  ＯＳ、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ社（ワシントン州レドモンド所在）のＷＩＮＤＯＷＳ  ＭＯＢＩＬＥ  ＯＳ、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ社のＷＩＮＤＯＷＳ  ＰＨＯＮＥ  ＯＳ、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ社のＷＩＮＤＯＷＳ、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  Ｃｏｍｐａｎｙ社（カリフォルニア州パロアルト所在）のＰＡＬＭ  ＷＥＢＯＳ、Ｒｅｓｅａｒｃｈ  Ｉｎ  Ｍｏｔｉｏｎ  Ｌｉｍｉｔｅｄ社（カナダ、オンタリオ州ワーテルロー所在）のＢＬＡＣＫＢＥＲＲＹ  ＯＳ、Ａｐｐｌｅ  Ｉｎｃ．社（カリフォルニア州クパチーノ所在）のＩＯＳ、およびＧｏｏｇｌｅ  Ｉｎｃ．社（カリフォルニア州マウンテンビュー所在）のＡＮＤＲＯＩＤ  ＯＳが挙げられる。他のオペレーティングシステムも企図される。
【０１３４】
[00141]  ネットワーク接続性コンポーネント８０６は、ワイヤレスワイドエリアネットワークコンポーネント（「ＷＷＡＮコンポーネント」）８２２、ワイヤレスローカルエリアネットワークコンポーネント（「ＷＬＡＮコンポーネント」）８２４、およびワイヤレスパーソナルエリアネットワークコンポーネント（「ＷＰＡＮコンポーネント」）８２６を含む。ネットワーク接続性コンポーネント８０６は、ネットワーク８２８との間の通信を円滑にするものであり、これはＷＷＡＮ、ＷＬＡＮ、またはＷＰＡＮとすることができる。単一のネットワーク８２８が示されているが、ネットワーク接続性コンポーネント８０６は、複数のネットワークとの同時通信を円滑にすることができる。例えば、ネットワーク接続性コンポーネント８０６は、ＷＷＡＮ、ＷＬＡＮ、またはＷＰＡＮのうちの１つまたは複数を介して複数のネットワークとの同時通信を円滑にすることができる。
【０１３５】
[00142]  いくつかの実施形態では、ネットワーク８２８の機能性は、ネットワーク１０４、７０４のうちの１つまたは複数によって実現される。いくつかの実施形態では、ネットワーク８２８は、ネットワーク１０４、７０４のうちの１つまたは複数を含む。他のいくつかの実施形態では、ネットワーク８２８は、ネットワーク１０４、７０４のうちの１つまたは複数へのアクセスを提供する。
【０１３６】
[00143]  ネットワーク８２８は、ＷＷＡＮコンポーネント８２２を介してコンピューティングデバイスアーキテクチャ８００を利用し、１つまたは複数の移動体通信技術を利用して音声および／またはデータサービスをコンピューティングデバイスに提供する移動体通信ネットワークなどのＷＷＡＮであってよい。移動体通信技術として、限定はしないが、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（「ＧＳＭ」）、Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ（「ＣＤＭＡ」）ＯＮＥ、ＣＤＭＡ２０００、Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ（「ＵＭＴＳ」）、Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（「ＬＴＥ」）、およびＷｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（「ＷｉＭＡＸ」）が挙げられる。さらに、ネットワーク８２８は、限定はしないが、時分割多元接続（「ＴＤＭＡ」）、周波数分割多元接続（「ＦＤＭＡ」）、ＣＤＭＡ、広帯域ＣＤＭＡ（「Ｗ−ＣＤＭＡ」）、直交周波数分割多元接続（「ＯＦＤＭＡ」）、空間分割多元接続（「ＳＤＭＡ」）、および同様のものを含むさまざまなチャネルアクセス方法（前述の標準によって使用される場合も使用されない場合もある）を利用することができる。データ通信は、Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ（「ＧＰＲＳ」）、Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ｒａｔｅｓ  ｆｏｒ  Ｇｌｏｂａｌ  Ｅｖｏｌｕｔｉｏｎ（「ＥＤＧＥ」）、高速ダウンリンクパケットアクセス（「ＨＳＤＰＡ」）、Ｅｎｈａｎｃｅｄ  Ｕｐｌｉｎｋ（「ＥＵＬ」）、または他の名称の高速アップリンクパケットアクセス（「ＨＳＵＰＡ」）を含む高速パケットアクセス（「ＨＳＰＡ」）プロトコルファミリ、発展型ＨＳＰＡ（「ＨＳＰＡ＋」）、ＬＴＥ、およびさまざまな他の現在および将来のワイヤレスデータアクセス標準を使用して実現され得る。ネットワーク８２８は、上述の技術の任意の組合せにより音声および／またはデータ通信を行うように構成され得る。ネットワーク８２８は、将来世代の技術に従って音声および／またはデータ通信を行うように構成または適合され得る。
【０１３７】
[00144]  いくつかの実施形態では、ＷＷＡＮコンポーネント８２２は、ネットワーク８２８へのデュアルマルチモードの接続性を提供するように構成される。例えば、ＷＷＡＮコンポーネント８２２は、ネットワーク８２８への接続性を提供するように構成されるものとしてよく、ネットワーク８２８は、ＧＳＭおよびＵＭＴＳ技術を介して、または技術の他の何らかの組合せを介してサービスを提供する。あるいは、複数のＷＷＡＮコンポーネント８２２を利用して、そのような機能性を実行することができ、および／または他の非互換技術（つまり、単一のＷＷＡＮコンポーネントによってサポートすることができない）をサポートするために追加の機能性を提供することができる。ＷＷＡＮコンポーネント８２２は、複数のネットワーク（例えば、ＵＭＴＳネットワークとＬＴＥネットワーク）への類似の接続性を円滑にすることができる。
【０１３８】
[00145]  ネットワーク８２８は、ＩＥＥＥ  ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、および／または将来の８０２．１１（本明細書ではＷＩ−ＦＩと総称される）などの１つまたは複数の米国電気電子学会（「ＩＥＥＥ」）８０２．１１標準に従って動作するＷＬＡＮとすることができる。８０２．１１ドラフト標準も企図される。いくつかの実施形態では、ＷＬＡＮは、１つまたは複数のワイヤレスＷＩ−ＦＩアクセスポイントを利用して実装される。いくつかの実施形態では、ワイヤレスＷＩ−ＦＩアクセスポイントのうちの１つまたは複数は、ＷＩ−ＦＩホットスポットとして機能しているＷＷＡＮへの接続性を有する別のコンピューティングデバイスである。ＷＬＡＮコンポーネント８２４は、ＷＩ−ＦＩアクセスポイントを介してネットワーク８２８に接続するように構成される。そのような接続は、限定はしないが、ＷＩ−ＦＩ  Ｐｒｏｔｅｃｔｅｄ  Ａｃｃｅｓｓ（「ＷＰＡ」）、ＷＰＡ２、Ｗｉｒｅｄ  Ｅｑｕｉｖａｌｅｎｔ  Ｐｒｉｖａｃｙ（「ＷＥＰ」）、および同様のものを含むさまざまな暗号化技術を介して安全性が確保され得る。
【０１３９】
[00146]  ネットワーク８２８は、赤外線通信協会（「ＩｒＤＡ」）、ＢＬＵＥＴＯＯＴＨ、ワイヤレスユニバーサルシリアルバス（「ＵＳＢ」）、Ｚ−Ｗａｖｅ、ＺＩＧＢＥＥ、または他の何らかの短距離ワイヤレス技術に従って動作するＷＰＡＮであってもよい。いくつかの実施形態では、ＷＰＡＮコンポーネント８２６は、ＷＰＡＮを介して周辺機器、コンピュータ、または他のコンピューティングデバイスなどの他のデバイスと通信を円滑にするように構成される。
【０１４０】
[00147]  センサーコンポーネント８０８は、磁力計８３０、周辺光センサー８３２、近接センサー８３４、加速度計８３６、ジャイロスコープ８３８、および全世界測位システムセンサー（「ＧＰＳセンサー」）８４０を含む。限定はしないが、温度センサーまたは衝撃検出センサーなどの他のセンサーも、コンピューティングデバイスアーキテクチャ８００に組み込まれ得ることも企図されている。
【０１４１】
[00148]  磁力計８３０は、磁場の強さと方向を測定するように構成される。いくつかの実施形態では、磁力計８３０は、主要方向、北、南、東、および西を含む基準系内で正確な方向をユーザーに与えるためにメモリコンポーネント８０４のうちの１つの中に格納されているコンパスアプリケーションプログラムに測定結果を送る。類似の測定結果が、コンパスコンポーネントを含むナビゲーションアプリケーションプログラムに送られ得る。磁力計８３０によって取得された測定結果の他の用途も企図される。
【０１４２】
[00149]  周辺光センサー８３２は、周辺光を測定するように構成される。いくつかの実施形態では、周辺光センサー８３２は、メモリコンポーネント８０４のうちの１つの中に格納されているアプリケーションプログラムに測定結果を送り、ディスプレイの輝度を自動的に調節し（以下で説明されている）、光の少ない環境および光の多い環境について補償する。周辺光センサー８３２によって取得された測定結果の他の用途も企図される。
【０１４３】
[00150]  近接センサー８３４は、直接接触することなくコンピューティングデバイスに近接している物体または物の存在を検出するように構成される。いくつかの実施形態では、近接センサー８３４は、ユーザーの身体（例えば、ユーザーの顔）の存在を検出し、この情報をメモリコンポーネント８０４のうちの１つの中に格納されているアプリケーションプログラムに送り、この近接情報を利用してコンピューティングデバイスの一部の機能性を有効化または無効化することができる。例えば、電話アプリケーションプログラムは、ユーザーの顔でうっかり通話を切らないように、または通話中に電話アプリケーションプログラム内の他の機能性を有効化／無効化しないように近接情報を受信したことに応答してタッチスクリーン（後述）を自動的に無効化することができる。近接センサー８３４によって検出される近接性の他の用途も企図される。
【０１４４】
[00151]  加速度計８３６は、適切な加速度を測定するように構成される。いくつかの実施形態では、加速度計８３６からの出力はアプリケーションプログラムによって入力メカニズムとして使用され、これによりアプリケーションプログラムの一部の機能性を制御する。例えば、アプリケーションプログラムは、加速度計８３６を介して受信された入力に応答してキャラクター、その一部、またはオブジェクトが移動されるか、または他の何らかの形で操作されるビデオゲームであってよい。いくつかの実施形態では、加速度計８３６からの出力はアプリケーションプログラムに送られて、ランドスケープモードとポートレートモードとの切り換え、座標加速度の計算、落下の検出に使用される。加速度計８３６の他の用途も企図される。
【０１４５】
[00152]  ジャイロスコープ８３８は、向きを測定し維持するように構成される。いくつかの実施形態では、ジャイロスコープ８３８からの出力はアプリケーションプログラムによって入力メカニズムとして使用され、これによりアプリケーションプログラムの一部の機能性を制御する。例えば、ジャイロスコープ８３８は、ビデオゲームアプリケーションまたは他の何らかのアプリケーションの３Ｄ環境内での移動の正確な認識のために使用され得る。いくつかの実施形態では、アプリケーションプログラムは、ジャイロスコープ８３８および加速度計８３６からの出力を使用して、アプリケーションプログラムの一部の機能性の制御を向上させる。ジャイロスコープ８３８の他の用途も企図される。
【０１４６】
[00153]  ＧＰＳセンサー８４０は、配置を計算する際に使用するためＧＰＳ衛星から信号を受信するように構成される。ＧＰＳセンサー８４０によって計算された配置は、位置情報を必要とするか、または活用する任意のアプリケーションプログラムによって使用され得る。例えば、ＧＰＳセンサー８４０によって計算された配置は、ナビゲーションアプリケーションプログラムとともに使用され、その配置から目的地までの方向、またはその目的地からその配置までの方向を提供することができる。さらに、ＧＰＳセンサー８４０は、Ｅ９１１サービスなどの、外部位置情報ベースサービスに位置情報を提供するために使用され得る。ＧＰＳセンサー８４０は、ＧＰＳセンサー８４０による位置修正の取得を補助するためにネットワーク接続性コンポーネント８０６のうちの１つまたは複数を利用してＷＩ−ＦＩ、ＷＩＭＡＸ、および／またはセルラー三角測量法を介して生成された位置情報を取得することができる。ＧＰＳセンサー８４０は、補助ＧＰＳ（「ＡーＧＰＳ」）システムでも使用することができる。
【０１４７】
[00154]  Ｉ／Ｏコンポーネント８１０は、ディスプレイ８４２、タッチスクリーン８４４、データＩ／Ｏインターフェースコンポーネント（「データＩ／Ｏ」）８４６、オーディオＩ／Ｏインターフェースコンポーネント（「オーディオＩ／Ｏ」）８４８、ビデオＩ／Ｏインターフェースコンポーネント（「ビデオＩ／Ｏ」）８５０、およびカメラ８５２を備える。いくつかの実施形態では、ディスプレイ８４２およびタッチスクリーン８４４が組み合わされる。いくつかの実施形態では、データＩ／Ｏコンポーネント８４６、オーディオＩ／Ｏコンポーネント８４８、およびビデオＩ／Ｏコンポーネント８５０のうちの２つまたはそれ以上が組み合わされる。Ｉ／Ｏコンポーネント８１０は、以下で説明されているさまざまなインターフェースをサポートするように構成された個別のプロセッサを備えるか、またはプロセッサ８０２に内蔵された処理機能性を備えることができる。
【０１４８】
[00155]  ディスプレイ８４２は、情報を視覚的形態で提示するように構成された出力デバイスである。特に、ディスプレイ８４２は、グラフィカルユーザーインターフェース（「ＧＵＩ」）要素、テキスト、画像、ビデオ、通知、仮想ボタン、仮想キーボード、メッセージングデータ、インターネットコンテンツ、デバイスステータス、時刻、日付、カレンダーデータ、選好、地図情報、位置情報、および視覚的形態で提示することができる他の情報を提示することができる。いくつかの実施形態では、ディスプレイ８４２は、任意のアクティブまたはパッシブマトリックス技術および任意の背面照明技術（使用される場合）を利用する液晶ディスプレイ（「ＬＣＤ」）である。いくつかの実施形態では、ディスプレイ８４２は、有機発光ダイオード（「ＯＬＥＤ」）ディスプレイである。他のディスプレイタイプも企図される。
【０１４９】
[00156]  タッチスクリーン８４４は、タッチの有無および配置を検出するように構成された入力デバイスである。タッチスクリーン８４４は、抵抗膜式タッチスクリーン、静電容量式タッチスクリーン、表面弾性波式タッチスクリーン、赤外線タッチスクリーン、光学イメージング式タッチスクリーン、分散信号タッチスクリーン、音響パルス認識タッチスクリーンであるか、または他のタッチスクリーン技術を利用することもできる。いくつかの実施形態では、タッチスクリーン８４４は、ディスプレイ８４２の上に透明層として組み込まれ、これにより、ユーザーは１回または複数回のタッチで、ディスプレイ８４２に提示されているオブジェクトまたは他の情報をインタラクティブに操作することができる。他の実施形態では、タッチスクリーン８４４は、ディスプレイ８４２を備えていないコンピューティングデバイスの表面に組み込まれたタッチパッドである。例えば、コンピューティングデバイスは、ディスプレイ８４２の上に組み込まれたタッチスクリーンおよびディスプレイ８４２の対向面上のタッチパッドを有することができる。
【０１５０】
[00157]  いくつかの実施形態では、タッチスクリーン８４４は、シングルタッチのタッチスクリーンである。他の実施形態では、タッチスクリーン８４４は、マルチタッチのタッチスクリーンである。いくつかの実施形態では、タッチスクリーン８４４は、個別のタッチ、シングルタッチジェスチャー、および／またはマルチタッチジェスチャーを検出するように構成される。これらは、本明細書では便宜上ジェスチャーと総称される。次にいくつかのジェスチャーについて説明する。これらのジェスチャーは、例示的であり、付属の請求項の範囲を制限することを意図していないことは理解されるであろう。さらに、説明されているジェスチャー、追加のジェスチャー、および／または代替的なジェスチャーは、タッチスクリーン８４４とともに使用するためにソフトウェアで実装され得る。そのようなものとして、開発者は、特定のアプリケーションプログラムに特有のジェスチャーを作成することもできる。
【０１５１】
[00158]  いくつかの実施形態では、タッチスクリーン８４４は、ディスプレイ８４２上に提示されているアイテムについてタッチスクリーン８４４をユーザーが１回タップするタップジェスチャーをサポートする。タップジェスチャーは、限定はしないが、ユーザーがタップするものであれば何でも開く、または起動することを含むさまざまな理由に対して使用され得る。いくつかの実施形態では、タッチスクリーン８４４は、ディスプレイ８４２上に提示されているアイテムについてタッチスクリーン８４４をユーザーが２回タップするダブルタップジェスチャーをサポートする。ダブルタップジェスチャーは、限定はしないが、段階的にズームインまたはズームアウトすることを含むさまざまな理由に対して使用され得る。いくつかの実施形態では、タッチスクリーン８４４は、ユーザーがタッチスクリーン８４４をタップし、少なくとも定義済みの時間の間接触を維持するタップアンドホールドジェスチャーをサポートする。タップアンドホールドジェスチャーは、限定はしないが、コンテキスト固有メニューを開くことを含むさまざまな理由に対して使用され得る。
【０１５２】
[00159]  いくつかの実施形態では、タッチスクリーン８４４は、ユーザーがタッチスクリーン８４４上に指を置いて、タッチスクリーン８４４上で指を動かしながらタッチスクリーン８４４との接触を維持するパンジェスチャーをサポートする。パンジェスチャーは、限定はしないが、画面、画像、またはメニュー内を制御された速度で進むことを含むさまざまな理由に対して使用され得る。複数の指パンジェスチャーも企図される。いくつかの実施形態では、タッチスクリーン８４４は、ユーザーが画面を移動したい方向へユーザーが指をスワイプするフリックジェスチャーをサポートする。フリックジェスチャーは、限定はしないが、メニューまたはページを水平方向にまたは垂直方向にスクロールすることを含むさまざまな理由に対して使用され得る。いくつかの実施形態では、タッチスクリーン８４４は、ユーザーがタッチスクリーン８４４上で２本の指（例えば、親指と人差し指）によりつまむ動作をするか、または２本の指を離すピンチアンドストレッチジェスチャーをサポートする。ピンチアンドストレッチジェスチャーは、限定はしないが、ウェブサイト、地図、または画像を徐々にズームインまたはズームアウトすることを含むさまざまな理由に対して使用され得る。
【０１５３】
[00160]  上記のジェスチャーは、ジェスチャーを実行するために１つまたは複数の指を使用することに関して説明されてきたが、つま先などの他の付属肢またはスタイラスなどの物体を使用して、タッチスクリーン８４４をインタラクティブに操作することができる。そのようなものとして、上記のジェスチャーは、例示的なものであると理解されるべきであり、またいかなる形でも制限するものとして解釈されるべきでない。
【０１５４】
[00161]  データＩ／Ｏインターフェースコンポーネント８４６は、コンピューティングデバイスへのデータの入力およびコンピューティングデバイスからのデータの出力を円滑にするように構成される。いくつかの実施形態では、データＩ／Ｏインターフェースコンポーネント８４６は、コンピューティングデバイスとコンピュータシステムとの間の有線接続性を、例えば、同期動作を目的として提供するように構成されたコネクタを備える。コネクタは、専用コネクタ、またはＵＳＢ、ｍｉｃｒｏ−ＵＳＢ、ｍｉｎｉ−ＵＳＢ、もしくは同様のものなどの標準化されたコネクタとすることができる。いくつかの実施形態では、コネクタは、ドッキングステーション、オーディオデバイス（例えば、デジタルミュージックプレーヤー）、またはビデオデバイスなどの別のデバイスとコンピューティングデバイスとをドッキングするためのドックコネクタである。
【０１５５】
[00162]  オーディオＩ／Ｏインターフェースコンポーネント８４８は、コンピューティングデバイスにオーディオ入力および／または出力機能を持たせるように構成される。いくつかの実施形態では、オーディオＩ／Ｏインターフェースコンポーネント８４６は、オーディオ信号を収集するように構成されたマイクロフォンを備える。いくつかの実施形態では、オーディオＩ／Ｏインターフェースコンポーネント８４６は、ヘッドホンまたは他の外部スピーカーの接続性を提供するように構成されたヘッドホンジャックを備える。いくつかの実施形態では、オーディオインターフェースコンポーネント８４８は、オーディオ信号の出力用のスピーカーを備える。いくつかの実施形態では、オーディオＩ／Ｏインターフェースコンポーネント８４６は、光学オーディオケーブル出力を備える。
[00163]  ビデオＩ／Ｏインターフェースコンポーネント８５０は、コンピューティングデバイスにビデオ入力および／または出力機能を持たせるように構成される。いくつかの実施形態では、ビデオＩ／Ｏインターフェースコンポーネント８５０は、ビデオを別のデバイス（例えば、ＤＶＤもしくはＢＬＵＲＡＹプレーヤーなどのビデオメディアプレーヤー）からの入力として受信し、またはビデオを別のデバイス（例えば、モニタ−、テレビ、または他の何らかの外部ディスプレイ）への出力として送信するように構成されたビデオコネクタを備える。いくつかの実施形態では、ビデオＩ／Ｏインターフェースコンポーネント８５０は、ビデオコンテンツの入出力のために高精細度マルチメディアインターフェース（「ＨＤＭＩ」）、ｍｉｎｉ−ＨＤＭＩ、ｍｉｃｒｏ−ＨＤＭＩ、ＤｉｓｐｌａｙＰｏｒｔ、または専用コネクタを備える。いくつかの実施形態では、ビデオＩ／Ｏインターフェースコンポーネント８５０またはその一部は、オーディオＩ／Ｏインターフェースコンポーネント８４８またはその一部と組み合わされる。
【０１５６】
[00164]  カメラ８５２は、静止画像および／またはビデオをキャプチャするように構成され得る。カメラ８５２は、電荷結合素子（「ＣＣＤ」）または相補型金属酸膜半導体（「ＣＭＯＳ」）イメージセンサーを利用して画像をキャプチャすることができる。いくつかの実施形態では、カメラ８５２は、光の少ない環境で撮像するのを補助するためにフラッシュを備える。カメラ８５２の設定は、ハードウェアまたはソフトウェアボタンとして実装され得る。
【０１５７】
[00165]  図示されていないが、１つまたは複数のハードウェアボタンを、コンピューティングデバイスアーキテクチャ８００に備えることもできる。ハードウェアボタンは、コンピューティングデバイスの一部の動作態様を制御するために使用され得る。ハードウェアボタンは、専用ボタンまたは多用途ボタンとすることができる。ハードウェアボタンは、機械的またはセンサーベースとすることができる。
【０１５８】
[00166]  例示されている電源コンポーネント８１２は、バッテリ残量計８５６に接続することができる、１つまたは複数のバッテリ８５４を備える。バッテリ８５４は、再充電可能または使い捨てタイプとすることができる。充電可能バッテリタイプとして、限定はしないが、リチウムポリマー、リチウムイオン、ニッケルカドミウム、およびニッケル金属水素バッテリが挙げられる。バッテリ８５４のそれぞれは、１つまたは複数の電池で構成され得る。
【０１５９】
[00167]  バッテリ残量計８５６は、電流、電圧、および温度などのバッテリパラメータを測定するように構成され得る。いくつかの実施形態では、バッテリ残量計８５６は、バッテリの放電速度、温度、経年劣化、および他の要因の影響を測定して、ある誤差率の範囲内で残量を予測するように構成される。いくつかの実施形態では、バッテリ残量計８５６は、測定結果を利用して有用な電力管理データをユーザーに提示するように構成されたアプリケーションプログラムに測定値を送る。電力管理データは、バッテリ使用量のパーセンテージ、バッテリ残量のパーセンテージ、バッテリ状態、残存時間、残存容量（例えば、ワット時）、電流引き込み、および電圧のうちの１つまたは複数を含み得る。
【０１６０】
[00168]  電源コンポーネント８１２は、前述のＩ／Ｏコンポーネント８１０のうちの１つまたは複数と組み合わせることができる、電源コネクタも備えることができる。電源コンポーネント８１２は、電源Ｉ／Ｏコンポーネント８４４を介して外部電源システムまたは充電機器とインターフェースすることができる。
【０１６１】
[00169]  前記に基づき、データを消費型コンテンツに変換するときにバリエーションを生じさせるための技術が本明細書で開示されていることは理解されるであろう。本明細書に提示されている発明対象は、コンピュータの構造的特徴、方法および変換に関する活動、特定の計算機械装置、およびコンピュータ可読媒体に特有の用語を用いて説明されてきたが、付属の請求項で定められている発明は、本明細書で説明されている特定の特徴、活動、または媒体に必ずしも制限されないことは理解されるであろう。むしろ、特定の特徴、活動、および媒体は、請求項を実施する形態の例として開示されている。
【０１６２】
[00170]  上で説明されている発明対象は、例示のみによって提示されており、制限として解釈すべきでない。例示され、説明されている実施形態および用途の例に従うことなく、また以下の請求項において述べられている、本発明の精神および範囲から逸脱することなく、本明細書で説明されている発明対象にさまざまな修正および変更を加えることができる。
【図１】
0006293142.tif 000002
【図２】
0006293142.tif 000003
【図３】
0006293142.tif 000004
【図４】
0006293142.tif 000005
【図５】
0006293142.tif 000006
【図６】
0006293142.tif 000007
【図７】
0006293142.tif 000008
【図８】
0006293142.tif 000009