(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-05
(45)【発行日】2024-06-13
(54)【発明の名称】デジタルコンテンツビュー制御システム
(51)【国際特許分類】
G06F 3/04815 20220101AFI20240606BHJP
G06F 3/0482 20130101ALI20240606BHJP
G06T 19/00 20110101ALI20240606BHJP
【FI】
G06F3/04815
G06F3/0482
G06T19/00 A
【外国語出願】
(21)【出願番号】P 2022167580
(22)【出願日】2022-10-19
【審査請求日】2023-01-31
(32)【優先日】2021-10-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506151501
【氏名又は名称】イーベイ インク.
【氏名又は名称原語表記】EBAY INC.
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(74)【代理人】
【識別番号】100217733
【氏名又は名称】天野 真理
(72)【発明者】
【氏名】シェ フォン
(72)【発明者】
【氏名】ワン ペイ
(72)【発明者】
【氏名】ユー クン
(72)【発明者】
【氏名】ザン シャオジェー
【審査官】宮本 昭彦
(56)【参考文献】
【文献】特開2012-256254(JP,A)
【文献】米国特許第08405652(US,B1)
【文献】特表2013-541061(JP,A)
【文献】特開2012-94111(JP,A)
【文献】特開2005-267655(JP,A)
【文献】米国特許出願公開第2020/0301549(US,A1)
【文献】米国特許出願公開第2014/0033116(US,A1)
【文献】米国特許出願公開第2019/0164322(US,A1)
【文献】米国特許出願公開第2010/0107101(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048 - 3/04895
G06T 11/80
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイスによって実行される方法であって、
前記コンピューティングデバイスが、遠近法で複数のオブジェクトを有するデジタルコンテンツを表示するための入力を受け取ること、
前記コンピューティングデバイスが、前記デジタルコンテンツからデータを取得することであって、前記データは、前記複数のオブジェクトの階層構造を記述する、前記データを取得すること、
前記コンピューティングデバイスが、前記階層構造に基づいて、互いに対する前記複数のオブジェクトのZオーダーを決定すること、
前記コンピューティングデバイスが、前記複数のオブジェクトの複数のパースペクティブオブジェクトビューをそれぞれ生成すること、
前記コンピューティングデバイスが、前記複数のパースペクティブオブジェクトビューを前記Zオーダーに従って互いに間隔を空けて配置すること、
前記コンピューティングデバイスが、配置された複数のパースペクティブオブジェクトビューをユーザーインタフェース内に表示すること、を備え、
配置された前記複数のパースペクティブオブジェクトビューは、互いに対する前記複数のオブジェクトのZオーダーを変更するためにユーザーによって選択可能であり、
前記入力を受け取ることは、前記ユーザーインタフェースが前記複数のオブジェクトを線形透視図ビューで示すときに行われ、前記複数のパースペクティブオブジェクトビューは、複数点透視図ビューに従って構成されており、
前記方法は、
前記コンピューティングデバイスが、前記Zオーダーの変更に基づいて前記階層構造を編集し、編集された前記階層構造に基づいて、前記複数のパースペクティブオブジェクトビューを前記ユーザーインタフェース内に再表示すること、
前記コンピューティングデバイスが、前記線形透視図ビューと前記複数点透視図ビューとの間で切り替えるように構成されたオプションを表示すること、をさらに備え、
前記複数のパースペクティブオブジェクトビューの各パースペクティブオブジェクトビューは、編集のための前記ユーザーインタフェースの別個の部分に、対応するオブジェクトを並行して表示させるように選択可能である、方法。
【請求項2】
前記階層構造は、マークアップ言語を使用して前記データ内で指定される、請求項1に記載の方法。
【請求項3】
前記複数のオブジェクトは、複数のレイヤーにおいて配置され、前記デジタルコンテンツは、デジタル画像である、請求項1に記載の方法。
【請求項4】
前記複数のパースペクティブオブジェクトビューは、消失点に関連付けて定義される平面に従って生成される、請求項1に記載の方法。
【請求項5】
前記複数のオブジェクトが見られるパースペクティブの方向を指定するユーザー入力を受け取ることをさらに備え、
前記生成することは、前記方向に基づく、請求項1に記載の方法。
【請求項6】
前記各パースペクティブオブジェクトビューは、前記ユーザーインタフェース内の対応するオブジェクトを出力させ、前記ユーザーインタフェース内の別のそれぞれのパースペクティブオブジェクトビューからの別のそれぞれのオブジェクトを出力させないように選択可能である、請求項1に記載の方法。
【請求項7】
配置された前記複数のパースペクティブオブジェクトビューを表示することは、第1の前記パースペクティブオブジェクトビューの少なくとも一部が第2の前記パースペクティブオブジェクトビューの少なくとも一部に重なり合うように、前記ユーザーインタフェースにおいて同時に行われる、請求項1に記載の方法。
【請求項8】
コンピューティングデバイスであって
処理システムと、
デジタルコンテンツおよび複数の命令を記憶しているコンピュータ可読記憶媒体であって、前記複数の命令は、前記処理システムによる実行に応答して、前記処理システムに複数の動作を実行させ、前記複数の動作は、
遠近法で複数のオブジェクトを有するデジタルコンテンツを表示するための入力を受け取ること、
前記デジタルコンテンツから
データを取得することであって、前記データは、前記複数のオブジェクトの階層構造を記述する、
前記データを取得すること、
前記階層構造に基づいて、互いに対する前記複数のオブジェクトのZオーダーを決定すること、
前記複数のオブジェクトの複数のパースペクティブオブジェクトビューをそれぞれ生成すること、
前記複数のパースペクティブオブジェクトビューを前記Zオーダーに従って
互いに間隔を空けて配置
すること、
配置された複数のパースペクティブオブジェクトビューをユーザーインタフェース
内に表示すること、を含
み、
配置された前記複数のパースペクティブオブジェクトビューは、互いに対する前記複数のオブジェクトのZオーダーを変更するためにユーザーによって選択可能であり、
前記入力を受け取ることは、前記ユーザーインタフェースが前記複数のオブジェクトを線形透視図ビューで示すときに行われ、前記複数のパースペクティブオブジェクトビューは、複数点透視図ビューに従って構成されており、
前記複数の動作は、
前記Zオーダーの変更に基づいて前記階層構造を編集し、編集された前記階層構造に基づいて、前記複数のパースペクティブオブジェクトビューを前記ユーザーインタフェース内に再表示すること、
前記線形透視図ビューと前記複数点透視図ビューとの間で切り替えるように構成されたオプションを表示すること、をさらに含み、
前記複数のパースペクティブオブジェクトビューの各パースペクティブオブジェクトビューは、編集のための前記ユーザーインタフェースの別個の部分に、対応するオブジェクトを並行して表示させるように選択可能である、コンピューティングデバイス。
【請求項9】
前記階層構造は、マークアップ言語を使用して指定される、請求項8に記載のコンピューティングデバイス。
【請求項10】
前記複数のオブジェクトは、複数のレイヤー内に配置され、前記デジタルコンテンツは、デジタル画像である、請求項8に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
デジタルコンテンツビュー制御システムに関する。
【背景技術】
【0002】
デジタルコンテンツは、デジタル画像、ユーザーインタフェースの設計、ウェブページ、デジタルマルチメディア、デジタル文書などの一部として多数のオブジェクトを含むように構成可能である。多くの場合、この多数のオブジェクトは、重なり合う部分を含んだり、互いの中でネスト構造(入れ子構造)を含んだりする。したがって、これは、デジタルコンテンツ内の個々のオブジェクトを選択し、それとインタラクションするためにコンピューティングデバイスによってサポートされる従来の技法に対する課題を提示する。
【0003】
例えば、筐体内の回路基板上の複数の半導体チップなどのユーザーインタフェース内のデバイス構成要素の集合を示すために、互いの中で視覚的にネスト構造を含み、階層化されたオブジェクトの集合の一例を考える。従来の技法を使用してユーザーインタフェース内のこれらのオブジェクトのうちの特定の1つを選択するために、一連のユーザー入力が、特定のオブジェクトを選択するためにユーザーインタフェース内の同じ位置に提供される。これにより、コンピューティングデバイスは、対象のオブジェクトが選択されたものとして示されるまで、異なる複数のオブジェクトを「循環させる(cycle through)」。しかしながら、この一連の選択におけるいかなる誤りも、ユーザーに「やり直し」させ、所望の選択を達成するためにこの循環を繰り返すことを強いることになる。この課題は、この集合の一部としてネスト構造を含む他の複数のオブジェクトがユーザーインタフェースにおいて直接的に見ることができないように特定のオブジェクトにズームする場合にさらに悪化する。これによって、これらの繰り返される選択によって生じるユーザーのフラストレーションおよび計算リソースの非効率的な使用をもたらす。
【発明の概要】
【0004】
デジタルコンテンツビュー制御は、デジタルコンテンツ内で定義された複数のオブジェクトの階層構造(hierarchical structure of objects)を利用して、それらのオブジェクトがユーザーインタフェースにおいてどのようにレンダリングされる(rendered)かを制御するものとして説明される。一例では、ユーザーインタフェースに表示されたデジタルコンテンツ内の複数のオブジェクトのビュー(view)を表示するためのユーザー入力を受け取る。それに応答して、データクエリモジュール(data query module)は、デジタルコンテンツの階層構造を記述するデータをフェッチする(取り出す:fetch)ように構成されている。このデータから、Zオーダー決定モジュール(z-order determination module)は、例えば、マークアップ言語(markup language)内の複数のタグ(tags)によって定義された階層を調べることによって、デジタルコンテンツに含まれる複数のオブジェクトのZオーダー(z-order)を決定する。オブジェクトビュー生成モジュールはまた、デジタルコンテンツに含まれる複数のオブジェクトを描写する複数のオブジェクトビュー(object views)を生成するように構成されている。複数のオブジェクトビューは、レンダリングされると、階層内の複数のオブジェクトの位置付けを見る(view)能力、例えば、重なり合い、ネスト構造(nesting)等を示す能力をサポートする。
【0005】
この概要は、以下の詳細な説明においてさらに説明される複数の概念の選択を簡略化した形態で紹介している。したがって、この概要は、特許請求の範囲の主題の本質的な特徴を特定することを意図するものではなく、また特許請求の範囲の主題の範囲を決定する際の助けとして使用されることも意図するものでもない。
【図面の簡単な説明】
【0006】
詳細な説明は、添付の図面を参照して説明される。図面に示される複数のエンティティは、1つまたは複数のエンティティを示し、したがって、この説明においてエンティティの単一または複数の形態に対して互換的に参照が行われる。
【
図1】
図1は、本明細書において説明されるデジタルコンテンツビュー制御の技法を用いるように動作可能な例示的な実装における環境の図である。
【
図2】
図2は、
図1のデジタルコンテンツビュー制御システムの動作をより詳細に示す例示的な実装におけるシステムを示す。
【
図3】
図3は、デジタルコンテンツの一部として含まれる複数のオブジェクトの階層構造の一例を示す。
【
図4】
図4は、デジタルコンテンツに含まれる複数のオブジェクトの複数点透視図ビューの出力を生成するために、デジタルコンテンツを線形透視図法(線遠近法)(すなわち、平面視)でレンダリングするユーザーインタフェースにおいてオプションが選択される第1および第2の段階を使用して示される一例を示す。
【
図5】
図5は、デジタルコンテンツの一部として含まれる複数のオブジェクトのパースペクティブオブジェクトビューを生成するために使用される複数点透視図の一部として方向を定義する一例を示す。
【
図6】
図6は、複数のパースペクティブオブジェクトビューとのインタラクション(相互作用)が、デジタルコンテンツ内のZオーダーで複数のオブジェクトを並べ替えるために使用される第1および第2の段階を使用して示された一例を示す。
【
図7】
図7は、対応するパースペクティブオブジェクトビューを使用して選択されたオブジェクトを編集する第1および第2の段階を使用して示された一例を示す。
【
図8】
図8は、対応するパースペクティブオブジェクトビューを使用して選択されたオブジェクトを編集する第1および第2の段階を使用して示された他の例を示す。
【
図9】
図9は、複数のオブジェクトのデジタルコンテンツビュー制御の例示的な実装における手順を示すフロー図である。
【
図10】
図10は、デジタルコンテンツの複数のオブジェクトの異なる複数のビューの出力を制御するためにコンピューティングデバイスの向きを検出するセンサーの使用の第1および第2の段階を使用して示される別の例を示す。
【
図11】
図11は、センサーを使用してコンピューティングデバイスの筐体の向きを検出し、これから、デジタルコンテンツの複数のオブジェクトの異なる複数のビューの出力を制御する例示的な実装における手順を示すフロー図である。
【
図12】
図12は、本明細書において説明される技法の実施形態を実装するために、
図1~
図11を参照して説明および/または利用される任意のタイプのコンピューティングデバイスとして具体化され得る例示的なデバイスの様々な構成要素を含む例示的なシステムを示す。
【発明を実施するための形態】
【0007】
概要
デジタルコンテンツの複雑さおよびそのコンテンツの対応する用途は、ますます増大している。ウェブページとして構成されたデジタルコンテンツの進化の一例を考える。最初、複数のウェブページは、テキストの単純な本体を含み、場合により、タイトルも含んでいた。ウェブページが進化するにつれて、ストリーミングをサポートする多数のグラフィックス、アート(art)、ボタン、部分などが日常的な例に含まれるようになった。しかしながら、その結果、このデジタルコンテンツでの作成、編集、およびインタラクション(相互作用:interaction)は、デジタルコンテンツを形成するために使用される複数のオブジェクトの重なり合い、ネスト構造(入れ子構造 : nesting)、および配置によってさらに複雑になる。この結果、このデジタルコンテンツでの編集およびインタラクションの一部として、ユーザーはフラストレーションを感じ、計算リソースが非効率的に使用されることになる。
【0008】
したがって、複数のオブジェクトのナビゲーション(navigation)、編集、および配置をサポートするために、複数のデジタルオブジェクト内の複数のオブジェクトがどのように表示されるかを制御するデジタルコンテンツビュー制御の技法およびシステムが説明される。この結果、ユーザーインタラクション(ユーザーとの対話)および計算リソース消費の効率が向上する。上記のウェブページの例を続けると、ウェブページが、重なり合う複数のオブジェクトを含み、互いの中でネスト構造を含む(入れ子になっている)(例えば、第1のオブジェクトの境界が第2のオブジェクトの境界内に含まれる)などの一例を考える。特定のオブジェクトを選択するために使用される従来の技法は、典型的には、所望のオブジェクトが選択されたものとして示されるまで、その場所に重なり合う異なる複数のオブジェクトを循環させる(cycle through)ように、(例えば、ユーザーインタフェース内の単一場所における)反復的な選択を伴っていた。したがって、この従来の技法は、非効率的であり、誤りを生じやすく、ユーザーのフラストレーションをもたらす。
【0009】
しかしながら、以下では、デジタルコンテンツビュー制御システムは、デジタルコンテンツ内で定義された複数のオブジェクトの階層構造(hierarchical structure of objects)を用いて、それらのオブジェクトがユーザーインタフェースにおいてどのようにレンダリングされるかを制御するように構成されている。ウェブページの例では、マークアップ言語(例えば、HTML)を使用して、デジタルコンテンツ内にどの異なる複数のオブジェクトが「ある」かを定義し、プレゼンテーションセマンティクス(presentation semantics)は、デジタルコンテンツの複数のオブジェクトをどのように表示するかを記述している。この一部として、マークアップ言語は、例えば複数のタグの使用を通じて、デジタルコンテンツ内で互いに関連する複数のオブジェクトの階層構造を定義する。デジタルコンテンツビューシステムは、この構造を調べて、複数のオブジェクトのZオーダー配置(z-order arrangement)を決定するように構成されており、Zオーダー配置に基づいて、複数のオブジェクトをユーザーインタフェース内で間隔を空けて、例えば、分解されたビュー(exploded view)として表示することが行われる。分解されたビューは、例えば、特定の距離だけ離間されるようなデジタルコンテンツからの複数のオブジェクトの関係および順序に基づいて、複数のオブジェクトの関係および順序を示す。
【0010】
一例では、ユーザーインタフェースに表示されたデジタルコンテンツ内の複数のオブジェクトのビュー(view)を表示するためのユーザー入力を受け取る。ユーザー入力は、複数のオブジェクトがユーザーインタフェース内の単一平面内で重なり合うように表示される平面図(flat planar view)((例えば、線形透視図(線形パースペクティブ:linear perspective)))から複数のオブジェクトの複数点透視図ビュー(複数点パースペクティブビュー:multipoint perspective view)に切り替えるために、ユーザーインタフェース内のオプション(option)の選択に応答して受け取られる。
【0011】
それに応答して、データクエリモジュールは、デジタルコンテンツの階層構造、例えばマークアップ言語を記述するデータをフェッチするように構成されている。このデータから、Zオーダー決定モジュールは、例えば、マークアップ言語内の複数のタグによって定義された階層を調べることによって、デジタルコンテンツに含まれる複数のオブジェクトのZオーダー(z-order)を決定する。
【0012】
オブジェクトビュー生成モジュールはまた、デジタルコンテンツに含まれる複数のオブジェクトを描写する複数のオブジェクトビューを生成するように構成されている。一例では、複数のオブジェクトビューは、複数点透視図法(multipoint perspective)に基づくパースペクティブオブジェクトビュー(遠近感のあるオブジェクトビュー:perspective object views)である。オブジェクトビュー生成モジュールは、例えば、視点(viewpoint)と消失点(vanishing point)との間の平面を定義する複数点透視図(multipoint perspective)についてのパースペクティブ(遠近感:perspective)の方向を決定する。その方向は、ユーザー入力、事前定義(例えば、Y軸上の45度)等を介して等、種々の方法で指定されてもよい。次いで、複数のオブジェクトは、この平面に従うように歪められ(distorted)、ユーザーインタフェース内で離間される。その間隔はまた、事前定義された量、(例えば、スライダーなどのコントロールを用いて)ユーザーによって指定された量などの様々な方法で定義可能である。
【0013】
複数のオブジェクトビューは、レンダリングされると、階層内の複数のオブジェクトの位置付けを見る能力、例えば、重なり合い、ネスト構造等を示す能力をサポートする。複数のオブジェクトビューは、様々な機能をサポートし、その例は、対応するオブジェクトへの直接的なナビゲーション(それによって、従来の循環選択技法を回避する)、複数のオブジェクトの編集、マークアップ言語を編集するためにその後に「戻る」ように伝播される(propagated)階層内の複数のオブジェクトの再配置などを含む。結果として、本明細書において説明されるデジタルコンテンツビュー制御の技法およびシステムは、ユーザー効率および計算効率の向上を伴って、従来の技法の課題を克服する。これらおよび他の例のさらなる説明は、以下のセクションに含まれ、対応する図面に示されている。
【0014】
以下の説明では、本明細書において説明される複数の技法を使用する例示的な環境について説明する。例示的な環境ならびに他の環境において実行可能な例示的な手順も説明される。したがって、例示的な手順の実行は例示的な環境に限定されず、例示的な環境は例示的な手順の実行に限定されない。
【0015】
例示的な環境
図1は、本明細書において説明されるデジタルコンテンツビュー制御の技法を使用するように動作可能である例示的な実装における環境100の図である。図示された環境100は、様々な方法で構成可能なコンピューティングデバイス102を含む。
【0016】
コンピューティングデバイス102は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス(例えば、タブレットまたは携帯電話などのハンドヘルド構成を想定する)などとして構成可能である。したがって、コンピューティングデバイス102は、かなり大きなメモリおよびプロセッサリソースを有するフルリソースデバイス(full resource devices)(たとえば、パーソナルコンピュータ、ゲームコンソール)から、限られた小さなメモリおよび/または処理リソースを有する低リソースデバイス(low-resource device)(たとえば、モバイルデバイス)に及ぶ。加えて、単一のコンピューティングデバイス102が示されているが、コンピューティングデバイス102はまた、
図12で説明されるような「クラウド上」で動作を実行するために企業によって利用される複数のサーバー等の複数の異なるデバイスを示すものである。
【0017】
コンピューティングデバイス102は、コンテンツ処理システム104を含むものとして示されている。コンテンツ処理システム104は、コンピューティングデバイス102のストレージ108内に保持されるものとして示されているデジタルコンテンツ106を処理および変換するために、コンピューティングデバイス102のハードウェア内に少なくとも部分的に実装される。そのような処理は、デジタルコンテンツ106の作成、デジタルコンテンツ106の修正、および、例えば、ディスプレイデバイス112による出力のためのユーザーインタフェース110におけるデジタルコンテンツ106のレンダリングを含む。コンピューティングデバイス102においてローカルに実装されるものとして示されているが、コンテンツ処理システム104の機能はまた、ウェブサービスの一部または「クラウド内」などのネットワーク114を介して利用可能な機能を用いて全体的または部分的に構成され得る。デジタルコンテンツ106の複数の例は、デジタル画像、デジタルメディア、ウェブページ、デジタル文書、およびユーザーインタフェース110内のディスプレイデバイス112によるレンダリングおよび表示のために構成された任意の他の形態のコンテンツを含む。
【0018】
デジタルコンテンツ106を処理するために画像処理システム104によって組み込まれた機能の一例が、デジタルコンテンツビュー制御システム116として示されている。このシステムは、デジタルコンテンツ106の一部として含まれる複数のオブジェクト118とのインタラクション(相互作用)を制御するように構成されている。複数のオブジェクト118の複数の例は、ベクトルオブジェクト(vector objects)、ラスターオブジェクト(raster objects)、テキスト、デジタル画像、表現(representations)(例えば、ボタン、コントロール、スライダー、ラジアルダイヤル、メディアコントロール)を介して選択可能である実行可能な機能の表現などを含む。
【0019】
デジタルコンテンツ106に含まれるオブジェクト118の数が増加するにつれて、これらのオブジェクト118の編集およびインタラクション(相互作用)の複雑さも増大する。そのような第1の例では、重なり合う第1、第2、および第3のオブジェクト120,122,124の集合が、例えば、デジタル画像内の複数の層として示される。第1のオブジェクト120は、第2のオブジェクト122と部分的に重なり合っている。第1および第2のオブジェクト120,122は、第3のオブジェクト124と重なり合っている。これは、第3のオブジェクト124から外側に向かう第2のオブジェクト122、第1のオブジェクト120へのZオーダーを反映している。個々のオブジェクトの選択は、この重なり合いによって複雑になる。例えば、カーソルは、ユーザーインタフェース110内の単一の位置126に配置されるものとして示されている。第1、第2、および第3のオブジェクト120,122,124のうちのいずれか1つを選択するための従来の技法は、所望の選択の指示がユーザーインタフェース110内に出力されるまで入力を繰り返すことを伴い、これは誤りを生じやすい。この課題は、ピクニックテーブルとボールを捕球する犬を有する公園シーンのデジタル画像128などの複雑なデジタルコンテンツ106によってさらに複雑になる。この状況では、例えば、どのオブジェクトが別々に選択可能であるか(例えば、犬、ピクニックベンチ、街灯柱、または木が選択可能かどうか?)を決定し、特定のオブジェクトを選択し、複数のオブジェクトの正しいZオーダーを正確に決定することなどは困難である。
【0020】
したがって、デジタルコンテンツビュー制御システム116は、複数のオブジェクト118のビューを別々に開始するためにユーザー選択可能であり、複数のオブジェクトのZオーダーならびにどのオブジェクトがユーザーインタフェース110内に一緒に含まれるかおよび/または別々に配置されるかを示すオプション130を含む。例えば、
図10および
図11に関連して説明されるようなセンサーベースの技法のためのオプション130の選択を伴わない他の実施例もまた、企画される。
【0021】
概して、上記の例および下記の例に関連して説明される機能、特徴、および概念は、このセクションで説明される例示的な複数の手順の文脈で使用される。さらに、本明細書において異なる複数の図面および例に関連して説明される機能、特徴、および概念は、互いに交換可能であり、特定の図面または手順の文脈における実装に限定されない。さらに、本明細書における異なる代表的な手順および対応する図面に関連する複数のブロックは、一緒に適用可能であり、および/または異なる複数の方法において組み合わせ可能である。したがって、本明細書で異なる例示的な環境、デバイス、構成要素、図面、および手順に関して説明される個々の機能、特徴、および概念は、任意の適切な組合せで使用可能であり、本明細書で列挙された複数の例によって示される特定の組合せに限定されない。
【0022】
デジタルコンテンツビュー制御
図2は、
図1のデジタルコンテンツビュー制御システム116の動作をより詳細に示す例示的な実装におけるシステム200を示す。
図3は、デジタルコンテンツ106の一部として含まれる複数のオブジェクトの階層構造の一例300を示す。
図4は、デジタルコンテンツ106に含まれる複数のオブジェクトのパースペクティブビュー(遠近感のあるビュー:perspective view)の出力を生成するために、デジタルコンテンツ106を線形透視図法(線遠近法)(すなわち、平面視)でレンダリングするユーザーインタフェース110においてオプション130が選択される第1および第2の段階402,404を使用して示される一例400を示す。
図5は、デジタルコンテンツ106の一部として含まれる複数のオブジェクトのパースペクティブオブジェクトビューを生成するために使用される複数点透視図法についての方向を定義する一例500を示す。
図6は、複数のパースペクティブオブジェクトビューとのインタラクション(相互作用)が、デジタルコンテンツ106内のZオーダーで複数のオブジェクト118を並べ替えるために使用される第1および第2の段階602,604を使用して示された一例600を示す。
図7は、対応するパースペクティブオブジェクトビューを使用して選択されたオブジェクトを編集する第1および第2の段階702,704を使用して示された一例700を示す。
図8は、対応するパースペクティブオブジェクトビューを使用して選択されたオブジェクトを編集する第1および第2の段階802,804を使用して示された他の例800を示す。
図9は、複数のオブジェクトのデジタルコンテンツビュー制御の例示的な実装における手順900を示す。
図10は、デジタルコンテンツ106の複数のオブジェクト118の異なる複数のビューの出力を制御するためにコンピューティングデバイス102の向きを検出するセンサーの第1および第2の段階1002,1004を使用して示される別の例1000を示す。
図11は、センサーを使用してコンピューティングデバイス102の筐体の向きを検出し、この検出された筐体の向きから、デジタルコンテンツ106の複数のオブジェクト118の異なる複数のビューの出力を制御する例示的な実装における手順1100を示す。
【0023】
以下の説明では、前述のシステムおよびデバイスを使用して具体化され得る技法について説明する。複数の手順の各々の態様は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せで実装される。複数の手順は、1つまたは複数のデバイスによって実行される複数の動作を指定する一組のブロックとして示されており、それぞれのブロックによって複数の動作を実行するために示された順序に必ずしも限定されない。以下の説明の複数の部分では、
図1~
図11を参照する。
【0024】
まず、複数のオブジェクトを有するデジタルコンテンツを遠近法(パースペクティブ:perspective)で表示するための入力202を受け取る(ブロック902)。入力202は、様々な方法で入力モジュール204によって生成されることができる。第1の例では、入力202は、ユーザーインタフェース110におけるオプション130のユーザー選択に応答して生成される。
図4の第1の段階402に示されるように、オプション130は、ユーザーインタフェース110においてレンダリングされるデジタルコンテンツ106の一部として含まれる複数のオブジェクト118の線形透視図(すなわち、平面図)の一部として出力される。オプション130を選択すると、複数点透視図の一部として互いに分離されたZオーダーでオブジェクト118のオブジェクトビューがレンダリングされ、その一例が
図4の第2の段階404に示されている。
【0025】
別の例では、入力202は、センサー206によって生成される。センサー206は、例えば、多軸運動(multi-axis movement)の検出を通じて、例えば3次元空間におけるコンピューティングデバイス102の向きの変化を検出する。この変化に基づいて、第1の段階402に示されるような複数のオブジェクトの線形透視図から第2の段階404に示されるような複数点透視図への切り替えが行われる。多軸運動を検出するためのセンサーの使用のさらなる説明は、
図10および
図11に関連してさらに説明される。
【0026】
データクエリモジュール208による入力202の受信では、データクエリモジュール208は、デジタルコンテンツ106内で定義された複数のオブジェクト118の階層構造210を記述するデータをデジタルコンテンツ106から取得する(ブロック904)。マークアップ言語を使用して定義された階層構造302を有するデジタルコンテンツ106の一例が
図3に示されている。階層構造302は、そのコンテンツに含まれる複数のオブジェクトの構造をオブジェクト同士が関連付けられるように制御するために、マークアップ言語を用いて構成されている。階層構造302は、例えば、複数のオブジェクトを編成するための階層的な包含構造およびネスト構造(hierarchical containment and nesting structures)を指定する複数のタグを含む。
【0027】
この例では、階層構造210を記述するデータが取得されると、Zオーダー決定モジュール212は、Zオーダーデータ(z-ordering data)214として出力される階層構造に基づいて互いに対する複数のオブジェクトのZオーダーを決定する(ブロック906)ように使用される。Zオーダー決定モジュール212は、例えば、階層構造210において説明された階層的な包含構造およびネスト構造をツリー状グラフィカル構造(tree-like graphical structure)で複数のノードにマッピングする。
図3の例では、これにより、ルートノード304と、ルートノード304から順序付けられた第1の子ノード306と、第1の子ノード306の後に順序付けられた第2の子ノード308とが作成される。ルートノード304には背景オブジェクト310がマッピングされ、第1の子ノード306にはピクニックテーブルとしての第1の前景オブジェクト312がマッピングされ、第2の子ノード308には犬の第2の前景オブジェクト314がマッピングされる。このことから、互いに関連しているような複数のオブジェクトのZオーダーが容易に決定される。
【0028】
オブジェクトビュー決定モジュール216はまた、ユーザーインタフェース110を介して選択可能である複数の個別オブジェクトの複数のオブジェクトビュー218(例えば、複数のパースペクティブオブジェクトビュー)を生成する(ブロック908)ように、デジタルコンテンツビュー制御システム116によって利用される。複数のオブジェクトビュー218は、Zオーダーに従って複数のオブジェクト118の配置を示すように様々な方法で設定され得る。この例は、複数点透視図法を使用する複数のパースペクティブオブジェクトビューである。線形透視図法(線遠近法)は、平面上に複数のオブジェクトを表示するために使用される。線形透視図において奥行きを示すために、複数のオブジェクトのサイズは、観察者からの距離が増大するにつれて小さくなる。線形透視図は、画像平面(イメージプレーン:image plane)に対する単一の消失点を含み、この消失点に、基面(ground plane)からの複数の平行線が収束する。したがって、この例では、観察者は、画像平面に直交する点に位置付けされる。
【0029】
複数点透視図は、2つ以上の消失点を含む。複数点透視図は、線形透視図と同じ複数のオブジェクトを描写するために使用可能であるが、
図5に示されるように回転されたこれらのオブジェクトを示す。
図5は、画像平面504と交差する場合に消失点506で収束する複数の平行線を有する基面502を含む。図示されるように、この例における観察者は、「横(サイド)から」画像平面504を見る。
【0030】
図4の第2の段階404では、パースペクティブオブジェクトビュー406,408,410の例が、複数点(例えば、2点)透視図法に基づいてユーザーインタフェース110内にレンダリングされるものとして示されている。パースペクティブオブジェクトビュー408~410の各々は、たとえば、背景オブジェクトの公園の水平線(horizon)についての複数のオブジェクト「内」の深さを定義する第1の消失点を使用する。パースペクティブオブジェクトビュー408~410はまた、複数のオブジェクトの画像平面についての第2の消失点を使用し、複数のオブジェクトが、第2の消失点に従って位置付けられる。図示されるように、これによって、例えば、平行であるが、第2の消失点に収束するように見えるオブジェクトビューの上部ラインおよび底部ラインによって示されるように、第2の消失点に基づいて、複数のオブジェクトビューの右側がオブジェクトビューの左側よりも小さく、観察者からさらに離れて見えるようになる。
【0031】
次に、ビュー配置モジュール(view arrangement module)220は、Zオーダーに従って複数のパースペクティブオブジェクトビューを互いに間隔を空けて配置することによって、順序付けられた複数のオブジェクトビュー222を生成する(ブロック910)ように用いられる。上記の例を続けると、複数のオブジェクトビュー218は、角度、例えば、Y軸に対して45度に関連させて定義される。この角度は、デフォルトとして設定されてもよく、ユーザー入力を介して指定されてもよい(例えば、スライダー(slider)として示されるコントロール412とのインタラクション(相互作用)を介して、量として入力される)。さらに、複数のオブジェクトビュー218は、ユーザーインタフェース110において互いに間隔を空けて配置される。このことはまた、デフォルト量に基づいて、ユーザーインタフェース110内の利用可能な間隔およびビューの数に基づいて、間隔を増加または減少させるためのコントロール412とのインタラクション(相互作用)を通じて等で実行されることができる。
【0032】
次に、順序付けられた複数のオブジェクトビュー222は、レンダリングモジュール(rendering module)224によってレンダリングされて、ディスプレイデバイス112によってユーザーインタフェース110に例えば、パースペクティブオブジェクトビューとして表示される(ブロック912)。このレンダリングは、対応する様々な機能をサポートするために様々な方法で実行可能である。例えば、デジタルコンテンツナビゲーションモジュール226は、複数のパースペクティブオブジェクトビューを使用して複数の特定のオブジェクト(すなわち、複数の特定のオブジェクトの選択)へのナビゲーションをサポートするように構成されている。別の例では、デジタルコンテンツ編集モジュール228は、複数のパースペクティブオブジェクトビューを使用して複数の個別オブジェクトに対する編集をサポートするように構成されている。
【0033】
例えば、
図6は、第1および第2の段階602,604を使用する一例を示す。第1の段階602において、第1、第2、および第3のパースペクティブオブジェクト406,408,410は、
図4に関連して説明されたようにレンダリングされる。第3のパースペクティブオブジェクト410を選択して、そのZオーダーを第1のパースペクティブオブジェクト408と第2のパースペクティブオブジェクト410との間で変更するというユーザー入力を、ユーザーインタフェース110を介して受け取る。
【0034】
第1の段階602の複数点透視図ビューと第2の段階604の線形透視図ビューとの間で切り替えるための別のユーザー入力が、オプション130を用いて選択され、このことは、線形透視図ビューに戻るように繰り返されることができる。図示されるように、これにより、デジタルコンテンツ内で犬をピクニックテーブルの後ろに出現させる。さらに、オプション130は、従来の技法に含まれる「循環(cycling)」を伴わずに、複数点透視図ビューから特定のオブジェクトビューを選択する効率的な技法をサポートする。
【0035】
上記の例を続けると、デジタルコンテンツ編集モジュール228は、複数のパースペクティブオブジェクトビューとのインタラクション(相互作用)を通じて複数のオブジェクトの編集をサポートするように構成されている。上記のZオーダーでの複数のオブジェクトの再配置は、
図4の第2の段階404に示されるように、犬をピクニックテーブルの後ろに出現させる。従って、この例では、編集ビューに入るために、第3のパースペクティブビュー410が、
図7の第1の段階702で選択される。
【0036】
第2の段階704は、コンテンツビュー部分706、パースペクティブビュー部分708、および編集部分710を有する編集ビューの一例を含む。編集部分710は、第1の段階702で選択されたパースペクティブビュー部分に対応するオブジェクトを表示するように構成されている。次いで、デジタルコンテンツ106内の複数の他のオブジェクトに直接影響を及ぼすことなく、この部分に対して編集が行われ、例えば、犬のサイズを変更したり、犬の位置を変えたりする。
【0037】
編集部分710に対して行われたこれらの編集の効果は、これらの編集が受け取られるとリアルタイムでデジタルコンテンツ106に対しても行われる。このようにして、編集ビューは、パースペクティブビュー部分708を用いた、編集のために編集部分710に出力される複数の特定のパースペクティブオブジェクトビューの選択をサポートする。どのビューが編集のために現在選択されているかを示すために、パースペクティブオブジェクトビューの表示特性を変更することによって、指示712がユーザーインタフェースを用いて提供される。
【0038】
図8は、編集ビューの別の例を示す。この例では、第1の段階802は、
図4の第2の段階404に関連して説明されたように配置された第1、第2、および第3のパースペクティブビュー406,408,410を含む。第3のパースペクティブビュー410が、編集のために再び選択される。
【0039】
しかしながら、この例では、第2の段階410に示されるように、スタック配置編集ビュー(stack arrangement editing view)となる。選択された第3のパースペクティブビュー410を選択すると、例えば、犬の対応するデジタルオブジェクト806が、線形透視図法(線遠近法)でユーザーインタフェース110に出力される。第1及び第2のパースペクティブビュー406、408も、ユーザーインタフェース110に含まれ、編集のために対応するオブジェクトにナビゲートするために選択されることができる。したがって、この例では、個々のオブジェクトに対する編集を依然としてサポートしながら、Zオーダー内の位置決め(positioning)が示されている。この編集ビューはまた、
図7のコンテンツビュー部分706などの追加部分をサポートして、デジタルコンテンツ106に対する編集の効果を、それらの編集が受け取られたときにリアルタイムで全体として示すように構成されることができる。これらの例では、ユーザーインタフェース110を介して受け取ったユーザー入力は、パースペクティブオブジェクトビューの出力を制御するために使用される。以下に説明されるセンサーの使用を含む他の例も企画される。
【0040】
図10は、3次元空間におけるコンピューティングデバイス102の向きの変化の検出を利用して、デジタルコンテンツ内の複数のオブジェクトの線形透視図ビューと複数点透視図ビューとの間の切り替えを制御する例示的な実装を示す。この例におけるコンピューティングデバイス102は、3次元空間におけるコンピューティングデバイス102の向きおよび/または向きの変化の検出に応答して向きデータ(orientation data)1010を生成するように構成された複数のセンサー206を有する向き判定モジュール(orientation determination module)1008を含む。
【0041】
コンピューティングデバイス102は、この例では、ディスプレイデバイス112が設けられる筐体(ハウジング)1006を含む携帯型のフォームファクタ(portable form factor)を有するものとして示されている。複数のセンサー206は、例えば、加速度計、受動型赤外線センサー、ジャイロスコープ、デジタルカメラ、超音波センサー、マイクロ波センサー、断層撮影センサー、またはコンピューティングデバイス102の多軸方位もしくは多軸方位の変化を検出するように構成された任意の他のタイプのセンサーとして構成されることができる。筐体1006内に設けられた複数のセンサー206は、向き及び/又は向きの変化を検出するように構成されている。この向きは、筐体1006および対応するディスプレイデバイス112に関するものであると推測され、したがって、向き判定モジュール1008は、ユーザーインタフェース110を介してデジタルコンテンツが「どのように」見られるかを判定するように構成されている。
【0042】
このデータの使用を通じて、デジタルコンテンツビュー制御システム116は、第1の段階1002として示されるような線形透視図と、第2の段階1004として示されるような複数点透視図との間で切り替えるように構成されている。第1の段階1002において、例えば、デジタルコンテンツビュー制御システム116は、センサー206を使用して、3次元空間に配置された筐体1006の第1の向きを検出する(ブロック1102)。この第1の向きは、例えば、コンピューティングデバイス102(より具体的には、ディスプレイデバイス112)の視点がディスプレイデバイス112の表面に直交して位置付けられるように設定される。したがって、ユーザーインタフェース110は、線形透視図ビューにおいてデジタルコンテンツの一部として含まれる複数のオブジェクトを有するものとして表示される(ブロック1104)。
【0043】
第2の段階1004において、コンピューティングデバイス102の筐体1006は、第2の向きに動かされる。それに応答して、3次元空間に配置された筐体1006の第2の向きが、センサー206を使用して検出される(ブロック1106)。次に、ユーザーインタフェース110は、デジタルコンテンツビュー制御システム116によって、複数のオブジェクトを複数点透視図ビューで表示させるように構成される(ブロック1108)。この例では、複数のオブジェクトの複数の複数点透視図ビューが上述のように生成される。これらのビューはまた、Zオーダーを示すために互いに離間されている。例えば、テキスト「Lucy Dog Treats!」および「Buy Now」ボタンが第1層に配置され、犬が第2層に配置され、木が第3層に配置される。
【0044】
これらのビューは、異なる複数のオブジェクトがスクリーン上に「浮いている」ように見えるように構成されている。一例では、これは、ディスプレイデバイス112およびユーザーインタフェース110がユーザーに見えるパースペクティブとは異なる複数のビューの複数点透視図の使用を通じて実行される。言い換えれば、複数のビューについての画像平面を定義するために使用される消失点は、デバイス自体の消失点とは異なる。このようにして、全体としてのコンピューティングデバイス102の動きが用いられて、これらのビューの間で効率的に切り替えて、ポータブルデバイスによって使用される小型のフォームファクタの課題に対処している。
【0045】
例示的なシステムおよびデバイス
図12は、本明細書において説明される様々な技法を実装する1つまたは複数のコンピューティングシステムおよび/またはデバイスを表す例示的なコンピューティングデバイス1202を含む例示的なシステムを1200に全体的に示す。これは、デジタルコンテンツビュー制御システム116を含めることによって示される。コンピューティングデバイス1202は、たとえば、サービスプロバイダーのサーバー、クライアント(たとえば、クライアントデバイス)に関連するデバイス、オンチップシステム、および/または任意のその他の好適なコンピューティングデバイスもしくはコンピューティングシステムとして構成可能である。
【0046】
示されるような例示的なコンピューティングデバイス1202は、互いに通信可能なように結合された処理システム1204、1つまたは複数のコンピュータ可読媒体1206、および1つまたは複数のI/Oインタフェース1208を含む。示されていないが、コンピューティングデバイス1202は、様々な構成要素を互いに結合するシステムバスまたは他のデータおよびコマンド転送システムをさらに含む。システムバスは、メモリバスもしくはメモリコントローラ、周辺バス(peripheral bus)、ユニバーサルシリアルバス、および/または様々なバスアーキテクチャのいずれかを利用するプロセッサもしくはローカルバスなどの異なるバス構造のいずれか1つまたは組合せを含むことができる。制御およびデータ線などの様々な他の例も企画される。
【0047】
処理システム1204は、ハードウェアを使用して1つまたは複数の動作を実行するための機能を表す。したがって、処理システム1204は、プロセッサ、機能ブロックなどとして構成可能であるハードウェア要素1210を含むものとして示されている。これは、特定用途向け集積回路または1つもしくは複数の半導体を使用して形成された他の論理デバイスとしてのハードウェアへの実装を含む。ハードウェア要素1210は、それらのハードウェア要素1210が形成される材料またはそれらのハードウェア要素1210において使用される処理メカニズムによって限定されない。たとえば、プロセッサは、1つ又は複数の半導体および/または複数のトランジスタ(例えば、電子集積回路(IC))として構成可能である。このような文脈で、複数のプロセッサ実行可能命令は、電子的に実行可能な複数の命令である。
【0048】
コンピュータ可読記憶媒体1206は、メモリ/ストレージ1212を含むものとして示される。メモリ/ストレージ1212は、1つまたは複数のコンピュータ可読媒体に関連付けられたメモリ/ストレージ容量を表す。メモリ/ストレージ1212は、(ランダムアクセスメモリ(RAM)などの)揮発性媒体および/または(読み出し専用メモリ(ROM)、フラッシュメモリ、光ディスク、磁気ディスクなどの)不揮発性媒体を含む。メモリ/ストレージ1212は、固定の媒体(例えば、RAM、ROM、固定ハードドライブなど)ならびに取り外し可能な媒体(例えば、フラッシュメモリ、取り外し可能なハードドライブ、光ディスクなど)を含む。コンピュータ可読媒体1206は、下でさらに説明されるように様々な他の方法で構成可能である。
【0049】
1つ又は複数の入力/出力インタフェース1208は、様々な入力/出力デバイスを使用してユーザーがコンピューティングデバイス1202にコマンドおよび情報を入力することを可能にし、さらに、情報がユーザーおよび/または他の構成要素もしくはデバイスに提示されることを可能にする機能を有する。複数の入力デバイスの例は、キーボード、カーソル制御デバイス(例えば、マウス)、マイクロフォン、スキャナー、タッチ機能(例えば、物理的に触れることを検出するように構成された静電容量式または他のセンサー)、(例えば、タッチを含まないジェスチャーとして動きを認識するために可視波長または赤外線周波数などの不可視波長を用いる)カメラなどを含む。複数の出力デバイスの例は、ディスプレイデバイス(例えば、モニターまたはプロジェクター)、スピーカー、プリンター、ネットワークカード、触覚応答デバイスなどを含む。したがって、コンピューティングデバイス1202は、ユーザー対話(ユーザーインタラクション)をサポートするために、下でさらに説明されるように様々な方法で構成可能である。
【0050】
様々な技法が、ソフトウェア、ハードウェア要素、またはプログラムモジュールの一般的な文脈で本明細書において説明されている。概して、複数のそのようなモジュールは、複数の特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、構成要素、データ構造などを含む。本明細書において使用される「モジュール」、「機能」、および「構成要素」という用語は、概して、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを表す。本明細書において説明される複数の技法の特徴は、プラットフォームに依存せず、つまり、複数の技法が、様々なプロセッサを有する様々な市販のコンピューティングプラットフォームに実装可能である。
【0051】
説明されるモジュールおよび技法の実装は、何らかの形態のコンピュータ可読媒体に記憶されるかまたは何らかの形態のコンピュータ可読媒体を介して送信される。コンピュータ可読媒体は、コンピューティングデバイス1202によってアクセスされる様々な媒体を含む。限定ではなく例として、コンピュータ可読媒体は、「コンピュータ可読記憶媒体」および「コンピュータ可読信号媒体」を含む。
【0052】
「コンピュータ可読記憶媒体」は、単なる信号伝送、搬送波、または信号自体とは対照的に、情報の永続的および/または非一時的な記憶を可能にする媒体および/またはデバイスを指す。したがって、コンピュータ可読記憶媒体は、非信号担持媒体を指す。コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、論理要素/回路、または他のデータなどの情報の記憶に適した方法または技法で実装される揮発性および不揮発性の取外し可能および取外し不能な媒体および/またはストレージデバイスなどのハードウェアを含む。コンピュータ可読記憶媒体の複数の例は、RAM、ROM、EEPROM、フラッシュメモリ、もしくはその他のメモリテクノロジー、CD-ROM、デジタルバーサタイルディスク(DVD)、もしくはその他の光学式ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気式ストレージデバイス、または所望の情報を記憶するのに好適な、コンピュータによってアクセス可能であるその他のストレージデバイス、有形の媒体、もしくは製品を含む可能性があるがこれらに限定されない。
【0053】
「コンピュータ可読信号媒体」は、ネットワークを介するなどしてコンピューティングデバイス1202のハードウェアに命令を送信するように構成される信号担持媒体を指す。概して、信号媒体は、搬送波、データ信号、またはその他の移送メカニズムなどの変調されたデータ信号にコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを具現化する。信号媒体は、任意の情報配布媒体も含む。用語「変調されたデータ信号」は、その信号の特徴のうちの1つまたは複数を、信号中に情報を符号化するようにして設定または変更させる信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、RF、赤外線、およびその他のワイヤレス媒体などのワイヤレス媒体を含む。
【0054】
上で説明したように、ハードウェア要素1210およびコンピュータ可読媒体1206は、1つまたは複数の命令を実行するためになど、本明細書において説明される技法の少なくとも一部の態様を実装するために一部の実施形態において使用されるハードウェアの形態で実装されたモジュール、プログラミング可能なデバイスの論理、および/または固定のデバイスの論理を表す。ハードウェアは、集積回路またはオンチップシステム、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブル論理デバイス(CPLD: complex programmable logic device)、およびシリコンまたはその他のハードウェアにおけるその他の実装の構成要素を含む。この文脈で、ハードウェアは、命令によって定義されたプログラムのタスクおよび/もしくはハードウェアによって具現化された論理を実行する処理デバイス、ならびに実行するための命令を記憶するために利用されるハードウェア、たとえば、上に説明されたコンピュータ可読記憶媒体として動作する。
【0055】
以上のものの組合せも、本明細書において説明される様々な技法を実装するために使用される。したがって、ソフトウェア、ハードウェア、または実行可能なモジュールが、何らかの形態のコンピュータ可読記憶媒体におよび/または1つもしくは複数のハードウェア要素1210によって具現化された1つまたは複数の命令および/または論理として実装される。コンピューティングデバイス1202は、ソフトウェアおよび/またはハードウェアモジュールに対応する特定の命令および/または機能を実装するように構成される。したがって、コンピューティングデバイス1202によってソフトウェアとして実行され得るモジュールの実装は、少なくとも部分的にハードウェアにおいて、たとえば、コンピュータ可読記憶媒体および/または処理システム1204のハードウェア要素1210の使用を通じて実現される。命令および/または機能は、本明細書において説明される技法、モジュール、および例を実装するために1つまたは複数の製品(たとえば、1つまたは複数のコンピューティングデバイス1202および/または処理システム1204)によって実行され得る/操作され得る。
【0056】
本明細書において説明される技法は、コンピューティングデバイス1202の様々な構成によってサポートされており、本明細書において説明される技法の特定の例に限定されない。この機能は、下で説明されるように、プラットフォーム1216によって「クラウド」1214上などの分散型システムを使用することによってすべてまたは部分的に実装され得る。
【0057】
クラウド1214は、リソース1218のためのプラットフォーム1216を含むおよび/または表す。プラットフォーム1216は、クラウド1214のハードウェア(たとえば、サーバー)およびソフトウェアリソースの基礎をなす機能を抽象化する。リソース1218は、コンピュータ処理がコンピューティングデバイス1202から遠隔にあるサーバー上で実行される間に利用され得るアプリケーションおよび/またはデータを含む。リソース1218は、インターネット、および/またはセルラもしくはWi-Fiネットワークなどの加入者ネットワークを介して提供されるサービスも含み得る。
【0058】
プラットフォーム1216は、コンピューティングデバイス1202をその他のコンピューティングデバイスに接続するためのリソースおよび機能を抽象化する。またプラットフォーム1216は、プラットフォーム1216によって実装されるリソース1218の直面する需要に対応する規模を提供するためのリソースのスケーリングを抽象化するように働く。したがって、相互に接続されたデバイス実施形態において、本明細書において説明される機能の実装は、システム1200全体に分散され得る。たとえば、機能は、部分的にコンピューティングデバイス1202上で、ならびにクラウド1214の機能を抽象化するプラットフォーム1216によって実装され得る。
【0059】
結論
本発明が構造的特徴および/または方法の動作に特有の言葉で説明されたが、添付の特許請求の範囲で定義された本発明は説明された特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、特許請求された発明を実装することの例示的な形態として開示される。