(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-02
(45)【発行日】2022-09-12
(54)【発明の名称】メディアコンテンツアイテム間を遷移するためのシステムおよび方法
(51)【国際特許分類】
G06F 3/04812 20220101AFI20220905BHJP
【FI】
G06F3/04812
(21)【出願番号】P 2019534880
(86)(22)【出願日】2017-05-22
(86)【国際出願番号】 US2017033878
(87)【国際公開番号】W WO2018125274
(87)【国際公開日】2018-07-05
【審査請求日】2020-04-10
【審判番号】
【審判請求日】2022-02-14
(32)【優先日】2016-12-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】メタ プラットフォームズ, インク.
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】バーネット, ジョン サミュエル
(72)【発明者】
【氏名】コップ, ヨハネス ピーター
【合議体】
【審判長】稲葉 和生
【審判官】中野 裕二
【審判官】▲吉▼田 耕一
(56)【参考文献】
【文献】特開2012-234566(JP,A)
【文献】特開2016-040731(JP,A)
【文献】米国特許出願公開第2015/134688(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048
G06F16/00
G06T 1/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
コンピューティングシステムが、
第1のメディアコンテンツアイテム中に描写されたコンセプトに対する第1のメディアコンテンツアイテムに関連付けられた方位データを判定すること
、ここで前記方位データは、前記第1のメディアコンテンツアイテム中に描写されたコンセプトに対するユーザの閲覧角度を少なくとも含むものであり、
前記コンピューティングシステムが、複数のメディアコンテンツアイテムを、前記複数のメディアコンテンツアイテムの各々に関連付けられた方位データが、前記第1のメディアコンテンツアイテムに関連付けられた前記方位データと一致する度合いに基づいて、スコア付けすること、
前記コンピューティングシステムが、
前記スコア付けに基づいて、前記第1のメディアコンテンツが遷移できる第2のメディアコンテンツアイテムを、前記方位データに基づいて、
前記複数のメディアコンテンツアイテムから選択すること
、ここで当該選択は、前記第2のメディアコンテンツアイテムに関連付けられた方位データが、前記第1のメディアコンテンツアイテムに関連付けられた方位データと同じであるか、または前記第1のメディアコンテンツアイテムに関連付けられた方位データの閾値差内にあることを、前記第2のメディアコンテンツアイテムについてのスコアが示すことを判定することによって行われるものであり、および
前記コンピューティングシステムが、前記第1のメディアコンテンツアイテムから前記第2のメディアコンテンツアイテムへの遷移を提示するこ
と、
を含む、コンピュータ実施方法。
【請求項2】
前記第1のメディアコンテンツアイテムのタイプが、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである、および/または、
前記第2のメディアコンテンツアイテムのタイプが、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記第1のメディアコンテンツアイテムに関連付けられた前記方位データが、コンテンツを捕捉するために使用されるカメラの角度、前記カメラの並進速度、
および前記カメラの回転速
度のうちの少なくとも1つを含む
、請求項1または2に記載のコンピュータ実施方法。
【請求項4】
前記複数のメディアコンテンツアイテムのうちスコアが最も高いメディアコンテンツアイテムを、前記第2のメディアコンテンツアイテムとして選択すること
をさらに含む、請求項1から
3のいずれか一項に記載のコンピュータ実施方法。
【請求項5】
前記第1のメディアコンテンツアイテムから前記第2のメディアコンテンツアイテムへの遷移を提示することが、
前記第1のメディアコンテンツアイテムに関連付けられた前記方位データに基づいて、前記第2のメディアコンテンツアイテム中に描写されたコンセプトにユーザビューを誘導すること
を含む、請求項1から
4のいずれか一項に記載のコンピュータ実施方法。
【請求項6】
前記第1のメディアコンテンツアイテムから前記第2のメディアコンテンツアイテムへの遷移を提示することが、
前記第2のメディアコンテンツアイテムに関連付けられた方位データを、前記第1のメディアコンテンツアイテムに関連付けられた前記方位データから閾値差値内になるように調節すること
を含む、請求項1から
5のいずれか一項に記載のコンピュータ実施方法。
【請求項7】
システムであって、
少なくとも1つのプロセッサと、
命令を記憶したメモリと、を備え、前記命令は、前記少なくとも1つのプロセッサによって実行されたとき、前記システムに、
第1のメディアコンテンツアイテム中に描写されたコンセプトに対する第1のメディアコンテンツアイテムに関連付けられた方位データを判定すること
、ここで前記方位データは、前記第1のメディアコンテンツアイテム中に描写されたコンセプトに対するユーザの閲覧角度を少なくとも含むものであり、
複数のメディアコンテンツアイテムを、前記複数のメディアコンテンツアイテムの各々に関連付けられた方位データが、前記第1のメディアコンテンツアイテムに関連付けられた前記方位データと一致する度合いに基づいて、スコア付けすること、
前記スコア付けに基づいて、前記第1のメディアコンテンツが遷移できる第2のメディアコンテンツアイテムを前記方位データに基づいて
前記複数のメディアコンテンツアイテムから選択すること
、ここで当該選択は、前記第2のメディアコンテンツアイテムに関連付けられた方位データが、前記第1のメディアコンテンツアイテムに関連付けられた方位データと同じであるか、または前記第1のメディアコンテンツアイテムに関連付けられた方位データの閾値差内にあることを、前記第2のメディアコンテンツアイテムについてのスコアが示すことを判定することによって行われるものであり、および
前記第1のメディアコンテンツアイテムから前記第2のメディアコンテンツアイテムへの遷移を提示するこ
と、
を行わせる、システム。
【請求項8】
前記第1のメディアコンテンツアイテムのタイプが、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである、請求項
7に記載のシステム。
【請求項9】
前記第1のメディアコンテンツアイテムに関連付けられた前記方位データが、コンテンツを捕捉するために使用されるカメラの角度、前記カメラの並進速度、
および前記カメラの回転速
度のうちの少なくとも1つを含む
、請求項
7または
8に記載のシステム。
【請求項10】
コンピューティングシステムの少なくとも1つのプロセッサによって実行されたとき、前記コンピューティングシステムに、
第1のメディアコンテンツアイテム中に描写されたコンセプトに対する第1のメディアコンテンツアイテムに関連付けられた方位データを判定すること
、ここで前記方位データは、前記第1のメディアコンテンツアイテム中に描写されたコンセプトに対するユーザの閲覧角度を少なくとも含むものであり、
複数のメディアコンテンツアイテムを、前記複数のメディアコンテンツアイテムの各々に関連付けられた方位データが、前記第1のメディアコンテンツアイテムに関連付けられた前記方位データと一致する度合いに基づいて、スコア付けすること、
前記スコア付けに基づいて、前記第1のメディアコンテンツが遷移できる第2のメディアコンテンツアイテムを前記方位データに基づいて
前記複数のメディアコンテンツアイテムから選択すること
、ここで当該選択は、前記第2のメディアコンテンツアイテムに関連付けられた方位データが、前記第1のメディアコンテンツアイテムに関連付けられた方位データと同じであるか、または前記第1のメディアコンテンツアイテムに関連付けられた方位データの閾値差内にあることを、前記第2のメディアコンテンツアイテムについてのスコアが示すことを判定することによって行われるものであり、および
前記第1のメディアコンテンツアイテムから前記第2のメディアコンテンツアイテムへの遷移を提示するこ
と、
を含む方法を行わせる命令を含む、非一時的なコンピュータ可読記憶媒体。
【請求項11】
前記第1のメディアコンテンツアイテムのタイプが、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである、請求項
10に記載の非一時的なコンピュータ可読記憶媒体。
【請求項12】
前記第1のメディアコンテンツアイテムに関連付けられた前記方位データが、コンテンツを捕捉するために使用されるカメラの角度、前記カメラの並進速度、前記カメラの回転速
度のうちの少なくとも1つを含む
、請求項
10または
11に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、メディアコンテンツアイテムの処理に関する。より詳細には、本技術は、メディアコンテンツプラットフォームを通じたメディアコンテンツ間の遷移を管理する技法に関する。
【背景技術】
【0002】
ユーザは、しばしば、コンピューティングデバイスを多種多様な目的に利用する。ユーザは、自身のコンピューティングデバイスを使用して、例えば、互いと対話し、メディアコンテンツにアクセスし、メディアコンテンツを共有し、メディアコンテンツを作成することができる。場合によっては、メディアコンテンツは、ソーシャルネットワーキングシステムのユーザによって提供されることがある。メディアコンテンツは、例えば、テキスト、画像、映像、および音声の1つまたは組み合わせを含むことができる。メディアコンテンツは、他の者による消費のためにソーシャルネットワーキングシステムに公開される場合がある。
【0003】
従来の手法では、ソーシャルネットワーキングシステムを通じて提供されたメディアコンテンツには、様々な方式でソーシャルネットワーキングシステムのユーザがアクセスすることができる。場合によっては、ソーシャルネットワーキングシステムによって判定されたユーザの関心事に基づいて、様々なメディアコンテンツがそのメンバーに提供されることがある。例えば、様々なメディアコンテンツは、メディアコンテンツのリストとして提示されることがあり、そこからユーザは1つまたは複数のメディアコンテンツアイテムを選択することができる。他の場合には、ソーシャルネットワーキングシステム上の他ユーザのページおよびプロフィールへのユーザによるナビゲーションに基づいて、様々なメディアコンテンツが当該ユーザによってアクセスされることがある。ページおよびプロフィールは、ユーザが選択し、アクセスすることが可能なメディアコンテンツアイテムを提示することができる。
【発明の概要】
【0004】
本技術の様々な実施形態は、第1のメディアコンテンツアイテムに関連付けられた方位データを判定するように構成された、システム、方法、および非一時的なコンピュータ可読媒体を含むことができる。第1のメディアコンテンツが遷移できる第2のメディアコンテンツアイテムが、方位データに基づいて選択される。第1のメディアコンテンツアイテムから第2のメディアコンテンツアイテムへの遷移が提示される。
【0005】
一実施形態では、第1のメディアコンテンツアイテムのタイプは、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである。
【0006】
一実施形態では、第2のメディアコンテンツアイテムのタイプは、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである。
【0007】
一実施形態では、第1のメディアコンテンツアイテムに関連付けられた方位データは、コンテンツを捕捉するために使用されるカメラの角度、カメラの並進速度、カメラの回転速度、および第1のメディアコンテンツアイテム中に描写されたコンセプトに対するユーザの閲覧角度のうちの少なくとも1つを含む。
【0008】
一実施形態では、第2のメディアコンテンツアイテムに関連付けられた方位データは、第1のメディアコンテンツアイテムに関連付けられた方位データと同じである。
【0009】
一実施形態では、第2のメディアコンテンツアイテムに関連付けられた方位データは、第1のメディアコンテンツアイテムに関連付けられた方位データから閾値差値内にある。
【0010】
一実施形態では、複数のメディアコンテンツアイテムを、各々に関連付けられた方位データが第1のメディアコンテンツアイテムに関連付けられた方位データと一致する度合いに基づいて、スコア付けする。
【0011】
一実施形態では、複数のメディアコンテンツアイテムのうちスコアが最も高いメディアコンテンツアイテムが、第2のメディアコンテンツアイテムとして選択される。
【0012】
一実施形態では、第1のメディアコンテンツアイテムから第2のメディアコンテンツアイテムへの遷移を提示することは、第1のメディアコンテンツアイテムに関連付けられた方位データに基づいて、第2のメディアコンテンツアイテム中に描写されたコンセプトにユーザビューを誘導することを含む。
【0013】
一実施形態では、第1のメディアコンテンツアイテムから第2のメディアコンテンツアイテムへの遷移を提示することは、第2のメディアコンテンツアイテムに関連付けられた方位データを、第1のメディアコンテンツアイテムに関連付けられた方位データから閾値差値内になるように調節することを含む。
【0014】
本技術の様々な実施形態は、ユーザにアクセスが提供される第1のメディアコンテンツアイテム中に表されたコンセプトを検出するように構成された、システム、方法、および非一時的なコンピュータ可読媒体を含むことができる。コンセプトがユーザに対して閾値レベルの関連性を有することが判定される。コンセプトは要素に関連付けられ、その要素は、選択されると、ユーザにアクセスが提供される第2のメディアコンテンツアイテムへの遷移を引き起こし、第2のメディアコンテンツアイテムはそのコンセプトを表している。要素は、第1のメディアコンテンツアイテム中でユーザに提示される。
【0015】
一実施形態では、第1のメディアコンテンツアイテムのタイプは、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである。
【0016】
一実施形態では、第2のメディアコンテンツアイテムのタイプは、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである。
【0017】
一実施形態では、要素は、ユーザによるジェスチャを通じて選択することができる。
【0018】
一実施形態では、要素は、第1のメディアコンテンツアイテム中に表されたコンセプトの位置から閾値距離内に配置される。
【0019】
一実施形態では、第1のメディアコンテンツアイテム中でのコンセプトの運動軌跡が検出される。第1のメディアコンテンツアイテム中の要素は、その運動軌跡に追従するように配置される。
【0020】
一実施形態では、第1のメディアコンテンツアイテム中に要素を提示することは、第1のメディアコンテンツアイテムの提供者によって許可される。
【0021】
一実施形態では、第2のメディアコンテンツアイテムへの遷移は、第2のメディアコンテンツアイテムの提供者によって許可される。
【0022】
一実施形態では、要素は遷移マーカである。
【0023】
一実施形態では、コンセプトの主題を示唆するタグが、第1のメディアコンテンツアイテム中に表されたコンセプトの位置から閾値距離内に提示される。
【0024】
本技術の様々な実施形態は、第1のメディアコンテンツアイテムからの遷移を引き起こすための、第1のメディアコンテンツアイテムに関連付けられた選択をユーザから受け取るように構成された、システム、方法、および非一時的なコンピュータ可読媒体を含むことができる。第1のメディアコンテンツアイテムと第2のメディアコンテンツアイテムとの間の遷移が構成される。遷移は、選択に応答してユーザに提示される。
【0025】
一実施形態では、ユーザからの選択の受け取りは、第1のメディアコンテンツアイテム中に表されたコンセプトに関連付けられた遷移マーカの選択を受け取ることを備える。コンセプトに関連付けられたタグに基づいて、複数のメディアコンテンツアイテムが決定される。メディアコンテンツアイテムが、複数のメディアコンテンツアイテムから第2のメディアコンテンツアイテムとして選択される。
【0026】
一実施形態では、第1のメディアコンテンツアイテムのタイプは、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである。
【0027】
一実施形態では、第2のメディアコンテンツアイテムのタイプは、画像、映像、仮想コンテンツ、および音声コンテンツのうちの少なくとも1つである。
【0028】
一実施形態では、複数のメディアコンテンツアイテムを決定することはさらに、複数のメディアコンテンツアイテムの各々が、当該コンセプトに関連付けられたタグを含むことに基づく。
【0029】
一実施形態では、複数のメディアコンテンツアイテムからメディアコンテンツアイテムを選択することは、メディアコンテンツアイテムに関連付けられたタグと、当該コンセプトに関連付けられたタグとの間の類似度、メディアコンテンツアイテムに関連付けられたタグのユーザの関心事に対する関連度、メディアコンテンツアイテムがソーシャルネットワーキングシステム上のユーザのつながりによって提供されたものであるかどうか、およびソーシャルネットワーキングシステム内でのメディアコンテンツアイテムの人気度、のうちの少なくとも1つに基づいて複数のメディアコンテンツアイテムの各々をスコア付けすることと、スコア付けに基づいて、複数のメディアコンテンツアイテムから第2のメディアコンテンツアイテムとしてのメディアコンテンツアイテムを選択することと、を備える。
【0030】
一実施形態では、複数のメディアコンテンツアイテムの各々がスコア付けされる。複数のメディアコンテンツアイテムのうち、スコアが最も高い閾値数のメディアコンテンツアイテムが、第2のメディアコンテンツアイテムの候補としてユーザに提示される。スコアが最も高いメディアコンテンツアイテムからの第2のメディアコンテンツアイテムの選択がユーザから受け取られる。
【0031】
一実施形態では、遷移は、第2のメディアコンテンツアイテムの提供者によって許可される。
【0032】
一実施形態では、第2のメディアコンテンツアイテムは、第1のメディアコンテンツアイテムよりも没入性の高い体験をユーザに提供することができる。
【0033】
一実施形態では、第1のメディアコンテンツアイテムはユーザのつながりに関連付けられ、ユーザに関連付けられたプロフィールまたはポータルに提示される。遷移は、そのつながりに関連付けられたプロフィールまたはポータルの提示に遷移したユーザに関連付けられたプロフィールまたはポータルの提示を含む。
【0034】
開示される技術の多くの他の特徴、応用例、実施形態、および/または変形例が、添付図面および以下の詳細な説明から明らかになることを認識すべきである。本明細書に記載される構造、システム、非一時的なコンピュータ可読媒体、ならびに方法の追加的な実装形態および/または代替の実装形態は、開示される技術の原理から逸脱することなく用いることができる。
【0035】
本発明による一実施形態では、1つまたは複数のコンピュータ可読の非一時的記憶媒体が、実行されたとき本発明または上述の実施形態のいずれかによる方法を実行するように動作可能なソフトウェアを具現化する。
【0036】
本発明による一実施形態では、システムが、1つまたは複数のプロセッサと、プロセッサに結合され、プロセッサにより実行可能な命令を備えた少なくとも1つのメモリとを備え、プロセッサは、命令を実行したとき本発明または上述の実施形態のいずれかによる方法を行うように動作可能である。
【0037】
本発明による一実施形態では、コンピュータ可読の非一時的記憶媒体を好ましくは備えるコンピュータプログラム製品が、データ処理システム上で実行されたとき本発明または上述の実施形態のいずれかによる方法を行うように動作可能である。
【0038】
本発明による実施形態は特に、方法、システム、および記憶媒体を対象とする添付の請求項に開示され、例えば方法などの1つのクレームカテゴリで述べられる特徴はいずれも、例えばシステムなどの別のクレームカテゴリでも請求されることが可能である。添付の特許請求の範囲における前に戻る依存関係または参照は、形式的な理由のみから選ばれている。ただし、先行する請求項への意図的な参照によって生じる主題(特に複数個の依存関係)も請求されることが可能であり、そのため、請求項およびそれら請求項の特徴の任意の組み合わせが開示され、添付の特許請求の範囲内で選ばれた依存関係に関わらず請求されることが可能である。請求されることが可能な主題は、添付の特許請求の範囲内に記載される特徴の組み合わせだけでなく、請求項中の特徴の他の組み合わせも含み、請求項中で述べられる各特徴は、請求項中の任意の他の特徴または他の特徴の組み合わせと組み合わせることができる。さらに、本明細書に記載または図示される実施形態および特徴はいずれも、別個の請求項で、および/または本明細書に記載または図示される任意の実施形態または特徴との、もしくは添付の特許請求の範囲の特徴のいずれかとの任意の組み合わせで、請求されることが可能である。
【図面の簡単な説明】
【0039】
【
図1】本技術の一実施形態による、例示的なメディアコンテンツ遷移モジュールを含むシステムの説明図である。
【
図2A】本技術の一実施形態による、例示的なタグ付けおよびメタデータモジュールの説明図である。
【
図2B】本技術の一実施形態による、例示的なコンテンツ遷移モジュールの説明図である。
【
図2C】本技術の一実施形態による、例示的な遷移整合モジュールの説明図である。
【
図3A】本技術の一実施形態による、例示的なシナリオの説明図である。
【
図3B】本技術の一実施形態による、例示的なシナリオの説明図である。
【
図3C】本技術の一実施形態による、例示的なシナリオの説明図である。
【
図3D】本技術の一実施形態による、例示的なシナリオの説明図である。
【
図3E】本技術の一実施形態による、例示的なシナリオの説明図である。
【
図3F】本技術の一実施形態による、例示的なシナリオの説明図である。
【
図3G】本技術の一実施形態による、例示的なシナリオの説明図である。
【
図4A】本技術の一実施形態による、タグ付けおよびメタデータに関係する例示的な方法の説明図である。
【
図4B】本技術の一実施形態による、コンテンツの遷移に関係する例示的な方法の説明図である。
【
図5】本技術の一実施形態による、遷移の整合に関係する例示的な方法の説明図である。
【
図6】本技術の一実施形態による、様々なシナリオで利用することができる例示的なシステムのネットワーク図である。
【
図7】本技術の一実施形態による、様々なシナリオで利用することができるコンピュータシステムの一例の説明図である。
【発明を実施するための形態】
【0040】
図は、開示される技術の様々な実施形態を単に例示のために図示し、図では、同様の要素を識別するために同様の参照番号を使用する。当業者は、以下の論述から、本明細書に記載される開示される技術の原理から逸脱することなく、図に例示される構造および方法の代替の実施形態を用いることが可能であることを直ちに認識されよう。
【0041】
メディアコンテンツアイテムに関する遷移
述べたように、ユーザは、しばしば、コンピューティングデバイスを多種多様な目的に利用する。ユーザは、自身のコンピューティングデバイスを使用して、例えば、互いと対話し、メディアコンテンツにアクセスし、メディアコンテンツを共有し、メディアコンテンツを作成することができる。場合によっては、メディアコンテンツは、ソーシャルネットワーキングシステムのユーザによって提供されることがある。メディアコンテンツは、例えば、テキスト、画像、映像、および音声の1つまたは組み合わせを含むことができる。メディアコンテンツは、他の者による消費のためにソーシャルネットワーキングシステムに公開される場合がある。
【0042】
従来の手法では、ソーシャルネットワーキングシステムを通じて提供されたメディアコンテンツには、様々な方式でソーシャルネットワーキングシステムのユーザがアクセスすることができる。例えば、ソーシャルネットワーキングシステムによって判定されたユーザの関心事に基づいて、様々なメディアコンテンツがそのメンバーに提供されることがある。様々なメディアコンテンツは、メディアコンテンツのリストとして提示されることがあり、そこからユーザは1つまたは複数のメディアコンテンツアイテムを選択することができる。別の例として、様々なメディアコンテンツは、ソーシャルネットワーキングシステム上の他のユーザのページおよびプロフィールへのユーザが望んだナビゲーションに基づいて、そのユーザからアクセスされることがある。ページおよびプロフィールは、ユーザが選択し、アクセスすることが可能なメディアコンテンツアイテムを提示することができる。
【0043】
従来の手法によるメディアコンテンツアイテムへのアクセスの管理は、メディアコンテンツアイテムへのアクセスを望むユーザと、ユーザによるアクセスのためにソーシャルネットワーキングシステムを通じてメディアコンテンツアイテムを提供するコンテンツ提供者との双方に対して課題を呈することがある。メディアコンテンツアイテムへのアクセスを望むユーザに関して、従来の手法は、ユーザが関心を持ち得るメディアコンテンツアイテムを充分にまたは完全に選択したものへのアクセスを提供しないことがある。状況によっては、ユーザに関連性があると判定されたメディアコンテンツアイテムのリストが、選択のためにユーザに提供されることがある。しかし、ユーザがメディアコンテンツアイテムにアクセスしながら自身が関心を持つコンセプトを閲覧する場合、ユーザはしばしば、そのコンセプトに関係する可能性のある他のメディアコンテンツアイテムを迅速にシームレスに見て回ることができない。そのため、そのような状況では、関心のある他のメディアコンテンツアイテムを探し求めるユーザの体験が低下することがある。メディアコンテンツアイテムのコンテンツ提供者に関して、従来の手法は、しばしば、自身のメディアコンテンツアイテムの消費に関するユーザ体験を最適化する可能性を、コンテンツ提供者から奪う。多くの事例では、コンテンツ提供者は、メディアコンテンツを消費するユーザに、そのコンテンツのある部分が他のメディアコンテンツにリンクされていることを指示するように自身のメディアコンテンツアイテムを構成する能力を有さない。さらに、多くの事例では、コンテンツ提供者は、ユーザが元のメディアコンテンツアイテムにアクセスしながら他のリンクされたメディアコンテンツにシームレスに遷移することを可能にする能力を有さない。
【0044】
コンピュータ技術に由来する改良された手法が、特にコンピュータ技術の領域で生じる従来の手法に関連する上述のおよびその他の不都合点を克服する。本技術のシステム、方法、およびコンピュータ可読媒体は、メディアコンテンツアイテム中の、人物、オブジェクト、場所、および話題などのコンセプトの自動的な識別を可能にすることができる。コンセプトの識別は、画像認識または映像認識などの様々な認識技法によって行うことができる。識別されたコンセプトには、メディアコンテンツアイテム中に提示される要素(または参照)を割り当てることができる。要素は、コンセプトによって表された主題を記述すると共にメディアコンテンツアイテムに関係する方位データに関連付けられたタグと、他のメディアコンテンツアイテムへの遷移を可能にする遷移マーカとを含むことができる。事例によっては、タグおよび遷移マーカは、メディアコンテンツアイテム中で、対応するコンセプトの近傍に出現することができる。オブジェクトなどのコンセプトが、映像などのメディアコンテンツアイテムの提示の中で移動されると、関連付けられたタグおよび遷移マーカは、そのコンセプトの運動軌跡に追従することができる。事例によっては、メディアコンテンツアイテム中に表されたコンセプトに関連付けられたタグおよび遷移マーカのすべてがユーザに提示されるのではない。そうではなく、ユーザに関連性があると判定された選択されたコンセプトに関連付けられたタグおよび遷移マーカのみが、メディアコンテンツアイテム中でユーザに提示される。メディアコンテンツアイテム中の遷移マーカは、そのメディアコンテンツアイテムから他のメディアコンテンツアイテムへの遷移に関連付けることができる。他のメディアコンテンツアイテムは、元のメディアコンテンツアイテムに表されたコンセプトと同じまたは類似するコンセプトを表すことができる。メディアコンテンツアイテムにアクセスしているユーザが遷移マーカを選択すると、ユーザは、そのメディアコンテンツアイテムから別のメディアコンテンツアイテムに遷移(または「テレポート」、「トンネル」、「ジャンプ」等)することができる。他のメディアコンテンツアイテムを選択するために、元のメディアコンテンツアイテムに関連付けられた方位データなどの状況データが維持されて、ユーザ体験を最適化する。場合によっては、メディアコンテンツアイテムに関連付けられた方位データは、カメラ方位データおよびユーザビューデータを含むことができる。ユーザが遷移できるメディアコンテンツアイテムに関連付けられた方位データは、元のメディアコンテンツに関連付けられた方位データと一致するように適合させることができる。本技術に関するさらに多くの詳細が本明細書に記載される。
【0045】
図1は、本技術の一実施形態による、メディアコンテンツに伴う遷移を選択的に管理および制御するように構成された例示的なメディアコンテンツ遷移モジュール102を含む、例示的なシステム100を例示する。メディアコンテンツ遷移モジュール102は、ソーシャルネットワーキングシステムのユーザが、第1のメディアコンテンツアイテムの一部分から、第2のメディアコンテンツアイテムの関係する部分に遷移(または「テレポート」、「トンネル」、「ジャンプ」等)することを可能にする。例えば、遷移は、共通のオブジェクトを描写する2つのメディアコンテンツアイテム同士をリンクすることができる。第1のメディアコンテンツアイテムから第2のメディアコンテンツアイテムへの遷移は、ユーザが第1のメディアコンテンツアイテムにアクセスしている(第1のメディアコンテンツアイテムを消費している)間に発生することができる。例えば、遷移は、第1のメディアコンテンツアイテムの提示(例えば再生、ライブストリーミング等)がメディアコンテンツアイテムの終点に達する前に発生することができる。2つのメディアコンテンツアイテム間の遷移は、タグおよび遷移マーカなどの要素(または参照)によって支援することができる。タグは、人物、オブジェクト、場所、または話題などのコンセプトに対応する、ソーシャルネットワーキングシステムにおいて一般に認められた用語であり得る。1つまたは複数のコンセプトを、第1のメディアコンテンツアイテム中で自動的に検出することができる。検出されると、そのコンセプトを記述するかまたはその他の形でそのコンセプトに対応するタグをメディアコンテンツアイテム中に提示して、そのコンセプトの存在を指示することができる。コンセプトに関連付けられた遷移マーカおよび対応するタグを、第1のメディアコンテンツアイテム中に提示することができる。遷移マーカは、タグに基づいて第1のメディアコンテンツアイテムから別のメディアコンテンツアイテムに遷移する選択肢をユーザに指示することができる。ユーザは、第1のメディアコンテンツアイテムから遷移して、タグに関連付けられたコンセプトに関係するさらに多くのメディアコンテンツアイテムにアクセスすることを選んでよい。例えば、あるタグに対応するコンセプトが、第1のメディアコンテンツアイテムおよび第2のメディアコンテンツアイテム中に存在することができる。この例では、第1のメディアコンテンツアイテム中に提示されたタグに関連付けられた遷移マーカを選択すると、ユーザは自動的に進行して、第2のメディアコンテンツアイテムの、第2のメディアコンテンツアイテム中で当該タグが出現する位置にアクセスすることができる。このようにして、ユーザの関心事に沿って、ユーザに追加的なメディアコンテンツアイテムを提供することができる。第2のメディアコンテンツアイテムは、第1のメディアコンテンツアイテムから進行する際にユーザのユーザ体験が最適化されるように選択または適合することができる。場合によっては、第1のメディアコンテンツアイテムに関連付けられた方位データなどの状況データを使用して、円滑な遷移を保証するように第2のメディアコンテンツアイテムを選択または適合することができる。
【0046】
本技術によるメディアコンテンツアイテムは、任意タイプのメディアコンテンツアイテムとすることができる。メディアコンテンツアイテムのタイプは、画像(例えば2次元(2D)画像)、映像(例えば2D映像)、仮想コンテンツ(例えばパノラマ写真、360度写真、全天球写真、360度映像、仮想現実(VR)環境)、音声、またはそれらの組み合わせを含むことができる。仮想コンテンツは、360度の視野を捕捉した、および/または任意の3次元(3D)コンテンツもしくは環境を提示する、任意のコンテンツとすることができる。一例では、仮想コンテンツは、あるシーンの360度の視野を捕捉した球状映像(または360度映像)を含むことができる。いくつかの例は、平面視の360度視野を使用して作られた映像、立体視の180度視野を使用して作られた映像等を含むことができる。球状映像は、シーンの360度視野を捕捉するように異なるロケーションおよび/または位置に置かれたカメラによって捕捉された、様々な映像ストリームまたはフィードをつなぎ合わせて作成することができる。そのような映像ストリームは、球状映像の様々な角度(例えば0度、30度、60度等)に対応して予め決められてよい。つなぎ合わせられると、ユーザは、ビューポートを通じて球状映像にアクセスして、球状映像の一部分をある角度で閲覧することができる。ユーザに示される球状映像の部分は、3次元空間におけるビューポートのロケーションおよび方向に基づいて決定することができる。別の例では、仮想コンテンツは、仮想現実(VR)コンテンツおよび環境を含むことができる。VRは、ユーザが装着したヘッドギアまたは他の機器の内部に搭載されたビューポートを通じて提示される模擬環境を形成する。模擬環境は、機器を介して提示される実際の場所の複製または架空の世界とすることができる。ユーザは、模擬環境内を自由に移動し、望むように模擬環境と対話する能力を有する。ユーザは、機器に提供されるコマンドまたは機器によって検出されるユーザジェスチャを通じて、模擬環境と対話することができる。
【0047】
例示のために様々な実施形態が本明細書で論じられる。遷移について、本明細書では、異なる第2のメディアコンテンツアイテムへと進行する、ユーザによる第1のメディアコンテンツへのアクセスとの関係で説明することがある。本技術は、メディアコンテンツアイテムの第1の部分(例えばシーン、空間)から、同じメディアコンテンツアイテムの第2の部分(例えばシーン、空間)への遷移も包含する。別の例として、ある遷移は、特定の第2のタイプのメディアコンテンツアイテムがその後に続く、特定の第1のタイプのメディアコンテンツアイテムに関係して説明されることがある。本技術は、任意タイプのメディアコンテンツアイテムから任意タイプのメディアコンテンツアイテムへの遷移を包含する。いくつかの例を挙げると、遷移は、これらに限定されないが、以下のタイプのメディアコンテンツアイテム、すなわち、360度映像へと進行する360度映像、VR環境へと進行する360度映像、360度映像へと進行するVR環境、VR環境へと進行するVR環境、画像へと進行する360度映像、画像へと進行するVR環境、音声コンテンツへと進行する360度映像、音声コンテンツへと進行するVR環境、360度映像へと進行する音声コンテンツ、VR環境へと進行する音声コンテンツ等を含むことができる。多くの変形例が可能である。
【0048】
メディアコンテンツ遷移モジュール102は、タグ付けおよびメタデータモジュール104、コンテンツ遷移モジュール106、ならびに遷移整合モジュール108を含むことができる。同図および本明細書のすべての図に示される構成要素(例えばモジュール、要素、ステップ、ブロック等)は代表例に過ぎず、他の実装形態は、追加的な構成要素、より少ない構成要素、統合された構成要素、または異なる構成要素を含んでよい。一部の構成要素は、関連する詳細を不明瞭にしないように図示しない場合がある。様々な実施形態において、メディアコンテンツ遷移モジュール102との関係で記載される機能性の1つまたは複数は、任意の適切な組み合わせで実装することができる。
【0049】
タグ付けおよびメタデータモジュール104は、メディアコンテンツアイテム中の、人物、オブジェクト、場所、および話題などのコンセプトの自動的な識別を可能にすることができる。コンセプトの識別は、画像認識、映像認識、音声認識などの様々な認識技法によって行うことができる。識別されたコンセプトには、それらのコンセプトによって表された主題を記述するまたは識別するタグを割り当てることができる。いくつかの実施形態では、タグは、方位データにも関連付けることができる。関係するメディアコンテンツアイテムへの遷移を許可するタグおよび遷移マーカは、メディアコンテンツアイテム中で、それらに対応するコンセプトの近傍に提示することができる。タグ付けおよびメタデータモジュール104の機能性については、本明細書でさらに詳しく説明する。
【0050】
コンテンツ遷移モジュール106は、タグに基づく第1のメディアコンテンツアイテムから第2のメディアコンテンツアイテムへの遷移を行うことができる。いくつかの実施形態では、遷移は、ソーシャルネットワーキングシステム、またはソーシャルネットワーキングシステムに当該メディアコンテンツアイテムをアップロードする責任を負うコンテンツ提供者によって決定された、メディアコンテンツアイテムに関連付けることができる。遷移は、第1のメディアコンテンツアイテム中で関連付けられたコンセプトの近傍に出現する遷移マーカによってユーザに指示することができる。ユーザが遷移マーカを選択すると、ユーザは、第1のメディアコンテンツアイテムから第2のメディアコンテンツアイテムに遷移することができる。1つまたは複数のメディアコンテンツアイテムが、第1のメディアコンテンツアイテム中でタグに関連付けられたコンセプトまたは方位データと同一であるかまたは類似するコンセプトまたは方位データを表すことができる。ユーザを遷移させる第2のメディアコンテンツアイテムは、様々な考慮事項に基づいて1つまたは複数のメディアコンテンツアイテムから選択することができる。コンテンツ遷移モジュール106の機能性については、本明細書でさらに詳しく説明する。
【0051】
遷移整合モジュール108は、第1のメディアコンテンツアイテムに関連付けられた方位データに基づいて、ユーザ体験を最適化するように第1のメディアコンテンツアイテムから第2のメディアコンテンツアイテムへの遷移を選択または構成することができる。方位データは、例えば、カメラの方位およびユーザビューを含むことができる。第2のメディアコンテンツアイテムは、第1のメディアコンテンツアイテムに関連付けられた方位データと、第2のメディアコンテンツアイテムに関連付けられた方位データとの間の一致に基づいて選択することができる。事例によっては、第2のメディアコンテンツアイテムに関連付けられた方位データは、第1のメディアコンテンツアイテムに関連付けられた方位データと一致するように適合することができる。遷移整合モジュール108の機能性については、本明細書でさらに詳しく説明する。
【0052】
いくつかの実施形態では、メディアコンテンツ遷移モジュール102は、一部または全体を、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせとして実装することができる。一般に、本明細書で論じられるモジュールは、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせに関連することがある。いくつかの実装形態では、モジュールの1つまたは複数の機能、タスク、および/または動作は、ソフトウェアルーチン、ソフトウェアプロセス、ハードウェア、および/またはそれらの任意の組み合わせによって実施するまたは行うことができる。場合によっては、メディアコンテンツ遷移モジュール102は、一部または全体を、サーバまたはクライアントコンピューティングデバイスなどの、1つまたは複数のコンピューティングデバイスまたはシステムで走るソフトウェアとして実装することができる。例えば、メディアコンテンツ遷移モジュール102は、一部または全体を、
図6のソーシャルネットワーキングシステム630などのソーシャルネットワーキングシステム(もしくはサービス)の内部に実装するか、またはソーシャルネットワーキングシステム(もしくはサービス)と連携して動作するように構成するか、またはソーシャルネットワーキングシステム(もしくはサービス)と統合することができる。別の例として、メディアコンテンツ遷移モジュール102は、ユーザコンピューティングデバイスまたはクライアントコンピューティングシステム上で走る、専用のアプリケーション(例えばアプリ)、プログラム、またはアプレットとして実装するか、またはそれらの内部に実装することができる。事例によっては、メディアコンテンツ遷移モジュール102は、一部または全体を、
図6のユーザデバイス610などのクライアントコンピューティングデバイスの内部に実装するか、またはクライアントコンピューティングデバイスと連携して動作するように構成するか、またはクライアントコンピューティングデバイスと統合することができる。多くの変形例が可能であることを理解すべきである。
【0053】
システム100は、メディアコンテンツ遷移モジュール102の支援および動作に関係するデータなど、様々なタイプのデータを記憶し、維持するように構成されたデータストア110を含むことができる。データストア110は、ソーシャルネットワーキングシステムに関連付けられた他の情報も維持することができる。ソーシャルネットワーキングシステムに関連付けられた情報は、ユーザ、ソーシャル上のつながり、ソーシャル上の対話、ロケーション、ジオフェンスで囲まれたエリア、地図、場所、イベント、グループ、投稿、通信、コンテンツ、アカウント設定、プライバシー設定、およびソーシャルグラフ、に関するデータを含むことができる。ソーシャルグラフは、ソーシャルネットワーキングシステムのすべてのエンティティとエンティティの対話を表すことができる。例示的なシステム100に示すように、メディアコンテンツ遷移モジュール102は、データストア110と通信する、および/またはデータストア110と共に動作するように構成することができる。
【0054】
図2Aは、本技術の一実施形態による、例示的なタグ付けおよびメタデータモジュール202を例示する。いくつかの実施形態では、
図1のタグ付けおよびメタデータモジュール104は、タグ付けおよびメタデータモジュール202と共に実装することができる。タグ付けおよびメタデータモジュール202は、コンセプト識別モジュール204、タグ判定モジュール206、およびタグ提示モジュール208を含むことができる。
【0055】
コンセプト識別モジュール204は、ユーザにアクセスが提供されることが可能なメディアコンテンツアイテム中に表されたコンセプトを判定することができる。コンセプトは、メディアコンテンツアイテム中に直接もしくは間接的に表す、メディアコンテンツアイテムから判別する、またはメディアコンテンツアイテムによって暗示することができる、任意の人または任意の物とすることができる。コンセプトのタイプは、例えば、メディアコンテンツアイテム中に表された、人物、オブジェクト、話題、および期間を含むことができる。メディアコンテンツアイテムは、そのメディアコンテンツアイテムによって捕捉された、またはそのメディアコンテンツアイテム中に描写された、1つまたは複数のタイプのコンセプトを表すことができる。例えば、人物またはオブジェクトが、その人物またはオブジェクトに関係するコンテンツを提示するメディアコンテンツアイテムに描写されるか、またはメディアコンテンツアイテムによって捕捉されることができる。別の例として、場所または話題が、その場所または話題に関係するコンテンツを提示するメディアコンテンツアイテム中に、同様に描写されるか、またはメディアコンテンツアイテムによって捕捉されることができる。メディアコンテンツアイテム中に表されたコンセプトは、従来の識別技法によって識別することができる。例えば、画像、2D映像、または仮想コンテンツなどの視覚コンテンツ中に表されたコンセプトは、従来の画像認識技法または映像認識技法によって識別することができる。別の例として、音声コンテンツ中に表されたコンセプトは、従来の音声認識技法によって識別することができる。
【0056】
いくつかの実施形態では、コンセプト識別モジュール204は、メディアコンテンツアイテムに関連付けられた状況データ(もしくはメタデータ)に少なくとも部分的に基づいて、または状況データ(もしくはメタデータ)の助けを借りて、メディアコンテンツアイテム中のコンセプトを識別することができる。状況データは、例えば、メディアコンテンツアイテムに関連付けられた時刻データおよびジオロケーションデータを含むことができる。時刻データは、メディアコンテンツアイテムの捕捉時刻または作成時刻を含むことができる。ジオロケーションデータは、メディアコンテンツアイテムの捕捉または作成に使用されるセンサまたはコンピューティングデバイスによって取得されるジオロケーションデータを含むことができる。そのようなジオロケーションデータは、例えば、GPS座標データおよび方位計(方向)データを含むことができる。メディアコンテンツアイテムに関連付けられた状況データを考慮することにより、コンセプト識別モジュール204は、事例によっては、メディアコンテンツアイテム中に表されたコンセプトのより正確な識別を提供することができる。例えば、コンセプト識別モジュール204は、メディアコンテンツアイテムが、第1のオブジェクトまたは第2のオブジェクトのどちらかを表していると判定することができる。この例では、メディアコンテンツアイテムに関連付けられたジオロケーションデータに対応する特定のロケーションも加味することにより、その特定のロケーションで第2のオブジェクトが第1のオブジェクトよりも頻繁に発生することが知られている場合、コンセプト識別モジュール204は、第2のオブジェクトがメディアコンテンツアイテム中に表されていると判定することができる。同様に、コンセプト識別モジュール204は、時刻データを同じようにして適用することにより、メディアコンテンツアイテム中に表されているコンセプトをより正確に識別することができる。状況データは、例えば、メディアコンテンツアイテム関連付けられたソーシャル信号に関係する情報も含むことができる。ソーシャル信号は、メディアコンテンツアイテムの提供者の識別(もしくはプロフィール)、メディアコンテンツアイテムと対話した(例えばファンになった、コメントした、共有した等)またはメディアコンテンツアイテムを閲覧したユーザの識別、メディアコンテンツアイテムに関して投稿されたコメント等の様々な情報を含むことができる。いくつかの実施形態では、コンセプト識別モジュール204は、メディアコンテンツアイテム中に表されたコンセプトを識別するように、メディアコンテンツアイテムの内容に関係する特徴ならびに関連する状況データで訓練できる1つまたは複数の機械学習モデル(または分類器)によって実装されることができる。
【0057】
タグ判定モジュール206は、メディアコンテンツアイテム中に表されたコンセプトにタグを割り当てることができる。タグは、メディアコンテンツアイテム中に表されたコンセプトの主題を識別するか、またはその他の形で示唆することができる。例えば、ある主題に関係するメディアコンテンツアイテム中で検出されたコンセプトには、その主題を意味するまたは指示するタグを割り当てることができる。タグは、テキスト、グラフィック、ロゴ、またはコンセプトの任意の他の指示とすることができる。いくつかの実施形態では、コンセプトに関連付けられたタグは、ソーシャルネットワーキングシステム内のエンティティを表現するグラフ中のノードに対応することができる。場合によっては、タグに対応するノードは、そのタグに関連付けられたコンセプトの主題に関係するコンテンツを提供する、ソーシャルネットワーキングシステム上のページ(またはプロフィール)とすることができる。タグ判定モジュール206は、メディアコンテンツアイテムへの同じタグの割り当てに基づいて、同じまたは類似するコンセプトを表したメディアコンテンツアイテムを識別することができる。いくつかの実施形態では、タグまたはそれらに対応するソーシャルネットワーキングシステムのグラフ中のノードは、各種方式で編成することができる。例えば、タグは、それらのタグに関連付けられたコンセプトの意味に基づいて階層的にクラスタに編成またはグループ化することができる。タグの編成を通じて、意味が類似するタグ、または閾値レベルの差異内で意味が類似する主題に関係するタグを判定することができる。
【0058】
いくつかの実施形態では、メディアコンテンツアイテムまたはその中に表されたコンセプトに関係するタグは、方位データに関連付けることもできる。方位データは、カメラ方位データおよびユーザビューデータを含むことができる。いくつかの実施形態では、方位データは、例えば、コンテンツを捕捉するために使用されるカメラの角度、カメラの並進速度(速さ、方向)、カメラの回転速度(速さ、方向)、コンテンツにアクセスしているユーザの視点(または閲覧角度)を含むことができる。意味の類似性に加えて、類似する方位データを有するタグを判定することができる。本明細書でさらに詳細に論じるように、遷移は、メディアコンテンツアイテム間の方位データの類似性に基づいて選択することができる。
【0059】
タグ提示モジュール208は、タグおよび関連付けられた遷移マーカをメディアコンテンツアイテム中に提示することができる。遷移マーカについては、本明細書でさらに詳しく論じる。タグおよび関連付けられた遷移マーカは、メディアコンテンツアイテム中の、そのタグに関連付けられたコンセプトの位置の近傍のロケーション、またはそのコンセプトの位置から閾値距離内のロケーションに配置することができる。例えば、視覚コンテンツに関しては、タグおよび関連付けられた遷移マーカの表示が、そのタグに関連付けられたコンセプトのロケーションの近傍になるように、タグおよび関連付けられた遷移マーカを視覚コンテンツ中に重畳することができる。コンセプトが相対的な運動を呈するかまたはメディアコンテンツアイテム中で運動軌跡を有するメディアコンテンツに関して、タグ提示モジュール208は、コンセプトが移動するのに伴って、メディアコンテンツアイテム中でのコンセプトの位置を判定することができる。例えば、タグ提示モジュール208は、オプティカルフローまたは他の運動追跡技法をメディアコンテンツアイテムに適用して、メディアコンテンツアイテムに描写されたコンセプトの位置および運動軌跡を判定することができる。メディアコンテンツアイテム中の描写されたコンセプトの判定された位置および運動軌跡に基づいて、各コンセプトに関連付けられたタグおよび遷移マーカを、コンセプトの運動軌跡に追従するような方式でメディアコンテンツアイテム中に配置することができる。
【0060】
タグ提示モジュール208は、タグおよび関連付けられた遷移マーカを選択的にメディアコンテンツアイテム中に提示することができる。いくつかの実施形態では、メディアコンテンツアイテム中で識別されたすべてのコンセプトに、メディアコンテンツアイテム中への可能性のある表示のためにタグおよび遷移マーカを割り当てることができる。メディアコンテンツアイテム中に提示されるタグは、そのメディアコンテンツアイテムにアクセスするユーザに対して、タグに関連付けられたコンセプトを指示または強調することができる。遷移マーカは、同じまたは類似するコンセプトを表す他のメディアコンテンツアイテムに直接遷移する能力または選択肢をユーザに指示することができる。いくつかの実施形態では、コンセプトに関連付けられたタグおよび遷移マーカの両方をユーザに提示することができる。いくつかの実施形態では、タグまたは遷移マーカのどちらかを、要素または参照としてユーザに提示することができる。いくつかの実施形態では、コンセプトに関連付けられユーザに提示される要素または参照が、コンセプトの主題を指示するタグと、別のメディアコンテンツアイテムに遷移できることを指示する遷移マーカとの両方として機能することができる。
【0061】
タグおよびそれらタグに関連付けられた遷移マーカは、選択的に用い、提示することができる。いくつかの実施形態では、メディアコンテンツアイテム中でのタグまたは遷移マーカの提示は、そのような提示を許すメディアコンテンツアイテムの提供者による許可に基づくことができる。いくつかの実施形態では、メディアコンテンツアイテムに関連付けられたコンテンツ提供者、またはメディアコンテンツアイテムへのアクセスを提供するソーシャルネットワーキングシステム、またはその両者が、すべての可能なタグおよび遷移マーカのうちどのタグおよび遷移マーカをメディアコンテンツアイテム中に表示できるかを決定することができる。どのタグおよび遷移マーカを表示するかの決定は、各種の考慮事項に基づくことができる。いくつかの実施形態では、メディアコンテンツアイテム中に表された関連するコンセプトの重要性に基づいて、タグおよび遷移マーカを、メディアコンテンツアイテム中への可能性のある表示のために選択することができる。これに関して、閾値レベルの重要性を有するコンセプトに対応するタグおよび遷移マーカを表示することができる。例えば、コンセプトの重要度は、そのコンセプトに関連付けられたソーシャルネットワーキングシステム上のページとのユーザ対話の量、タグまたは遷移マーカとのユーザ対話(例えばその選択)の量等に基づいて判定することができる。いくつかの実施形態では、タグおよび遷移マーカは、メディアコンテンツアイテムにアクセスしているユーザとの関連性に基づいて、メディアコンテンツアイテム中で表示するために選択することができる。例として、ユーザの関心事に対して閾値レベルの関連性を有すると見なされるコンセプトに関係するタグおよび遷移マーカをユーザに表示することができる。ユーザの関心事に対して閾値レベルの関連性を有すると見なされないコンセプトに関係するタグおよび遷移マーカはユーザに表示されない。ユーザの関心事との関連度は、各種の考慮事項に基づいて判定することができる。そのような考慮事項は、例えば、ユーザに関係する人口統計学的情報、ソーシャルネットワーキングシステム上でユーザによって取られたアクション、ソーシャルネットワーキングシステム上でユーザのつながりによって取られたアクション等を含むことができる。いくつかの実施形態では、タグおよび遷移マーカは、ユーザ体験に関係する因子に基づいて、メディアコンテンツアイテム中で表示するために選択することができる。例として、過度に多数のタグおよび遷移マーカが表示されて視覚コンテンツに乱雑さが出現する可能性を回避するために、閾値数のタグおよび遷移マーカを決定することができる。これに関して、あるシーン(または空間、メディアコンテンツアイテム等)で提示される可能性のあるタグおよび遷移マーカの数が、タグおよび遷移マーカの閾値数よりも少ない場合は、その数のタグおよび遷移マーカを表示することができる。タグおよび遷移マーカの数がタグおよび遷移マーカの閾値数を超える場合は、閾値を超える数のタグおよび遷移マーカは表示されない。多くの変形例が可能である。
【0062】
図2Bは、本技術の一実施形態による、例示的なコンテンツ遷移モジュール242を例示する。いくつかの実施形態では、
図1のコンテンツ遷移モジュール106は、コンテンツ遷移モジュール242と共に実装することができる。コンテンツ遷移モジュール242は、遷移マーカモジュール244、コンテンツ選択モジュール246、および遷移実行モジュール248を含むことができる。
【0063】
遷移マーカモジュール244は、メディアコンテンツアイテムにアクセスしているユーザが別のメディアコンテンツアイテムに遷移することを可能にする遷移マーカを、メディアコンテンツアイテム中に提示することができる。遷移マーカは、あるメディアコンテンツアイテムから別のメディアコンテンツアイテムへの可能性のある遷移の存在をユーザに指示することができる、任意の参照または要素とすることができる。遷移マーカの例は、照明、ドア、地点、カーテン、窓、通路、トンネル、出入り口等を含むことができる。遷移マーカは、メディアコンテンツアイテム中に提示するために選択されたタグに関連付けることができる。いくつかの実施形態では、遷移マーカは、論じたように、メディアコンテンツアイテム中の、当該メディアコンテンツアイテム中の関連付けられたタグまたはコンセプトの位置の近傍のロケーション、またはその位置から閾値距離内のロケーションに配置することができる。
【0064】
メディアコンテンツアイテムにアクセスしているユーザにメディアコンテンツアイテム中で遷移マーカを提示して、遷移マーカに関連付けられたコンセプトに基づいて別のメディアコンテンツアイテムに遷移する選択肢を指示することができる。遷移マーカは、各種方式で遷移マーカと対話することを通じて、ユーザによって選択することができる。単なる一例として、仮想コンテンツに関して、遷移マーカは、ユーザによって提供される適当なコマンドまたはジェスチャによって選択することができる。事例によっては、コマンドまたはジェスチャは、VR環境をサポートする、ユーザが装着したヘッドギアによって検出されるユーザによる遷移マーカの注視、VR環境内での遷移マーカの方向へのユーザの歩み、VR環境内での対話を可能にする装着型デバイスのセンサで検出される、遷移マーカの選択を形成する手のジェスチャ、タッチ画面へのタッチジェスチャ等、を含むことができる。
【0065】
コンテンツ選択モジュール246は、第1のメディアコンテンツアイテムに対応する選択された遷移マーカに関連付けられたタグを識別することができる。メディアコンテンツアイテム中の各タグは対応するコンセプトの主題を示唆するので、メディアコンテンツアイテム中のタグを使用して、同じまたは類似するコンセプトおよび主題を表すメディアコンテンツアイテムを識別することができる。そのため、第1のメディアコンテンツアイテムに関して識別されたタグを使用して、そのタグに関連付けられたコンセプトと同じまたは類似する1つまたは複数のコンセプトを表している一組の(または複数の)メディアコンテンツアイテムを識別することができる。メディアコンテンツアイテムの組は、遷移マーカを選択したときユーザが次いでアクセスする可能性のある候補メディアコンテンツアイテムを形成する。いくつかの実施形態では、メディアコンテンツアイテムの組は、選択された遷移マーカに関連付けられたタグと同じタグを含むことに基づいて選択することができる。いくつかの実施形態では、メディアコンテンツアイテムの組は、選択された遷移マーカに関連付けられたタグと閾値量だけ類似するタグを含むことに基づいて選択することができる。タグ同士の類似度は、例えば、タグが属する階層的な編成もしくはカテゴリ化、またはタグ同士のクラスタ関係を通じて表されることがある。メディアコンテンツアイテムの組は、選択された遷移マーカに関連付けられたコンセプトと同じまたは類似するコンセプトを表すので、そのメディアコンテンツアイテムの組からメディアコンテンツアイテムへのユーザの遷移に関するユーザ体験を最適化することができる。いくつかの実施形態では、第1のメディアコンテンツアイテムに関係する選択された遷移マーカに関連付けられたタグと、あるメディアコンテンツアイテムの組に関連付けられたタグとが、方位データも保有するかまたは方位データにも関連付けられることができる。第1のメディアコンテンツアイテムに関係するメディアコンテンツアイテムの組の選択は、第1のメディアコンテンツアイテムとメディアコンテンツアイテムの組との間の方位データの類似度に基づくこともできる。事例によっては、コンセプトの類似度に加えて、方位データを使用して、第1のメディアコンテンツアイテムが遷移できるメディアコンテンツアイテムの組から、第2のメディアコンテンツアイテムを決定することができ、これについては本明細書でさらに詳しくする。
【0066】
コンテンツ選択モジュール246は、第1のメディアコンテンツアイテムからの遷移時にユーザに表示するために、メディアコンテンツアイテムの組から第2のメディアコンテンツアイテムを選択することができる。参照したように、遷移は、任意のタイプの第1のメディアコンテンツアイテムと、任意のタイプの第2のメディアコンテンツアイテムとを伴うことができる。いくつかの実施形態では、メディアコンテンツアイテムの組は、各種の考慮事項に基づいてスコア付けすることができる。それらの考慮事項は、例えば、第1のメディアコンテンツアイテムのタグと組の中の各メディアコンテンツアイテムのタグとの間の類似度、各メディアコンテンツアイテムのタグによって表されるコンセプトのユーザの関心事に対する関連度、組の中のメディアコンテンツアイテムがソーシャルネットワーキングシステム上のユーザのつながりによって提供されたものかどうか、ソーシャルネットワーキングシステム内の他のユーザとの対話によって判定される、組の中の各メディアコンテンツアイテムの人気度等を含むことができる。メディアコンテンツアイテムの組は、各自のスコアに基づいてランク付けすることができる。いくつかの実施形態では、第1のメディアコンテンツアイテム中に表された遷移マーカがユーザによって選択されると、組の中で最もスコアが高い閾値数のメディアコンテンツアイテムを、メニューまたはリストでユーザに提示することができる。ユーザが遷移できる第2のメディアコンテンツアイテムを、メニューまたはリストからユーザが選択することができる。いくつかの実施形態では、組のうちの最もスコアが高いメディアコンテンツアイテムを、第2のメディアコンテンツアイテムとしてユーザに提示することができる。一例では、ユーザは、第2のメディアコンテンツアイテムの提示前に、第2のメディアコンテンツアイテムを伴う遷移を承認することができる。いくつかの実施形態では、第2のメディアコンテンツアイテムとなるメディアコンテンツアイテムの選択は、メディアコンテンツアイテムのコンテンツ提供者によって提供される許可に基づくことができる。
【0067】
遷移実行モジュール248は、ユーザ体験を最適化するように第1のメディアコンテンツアイテムと第2のメディアコンテンツアイテムとの間の遷移を実行することができる。遷移実行モジュール248は、コンテンツの唐突なもしくは不調和な合併や、最適でないユーザ体験を回避するように、第1のメディアコンテンツアイテムと第2のメディアコンテンツアイテムとの間の遷移を作成または構成することができる。そのような構成は、従来の画像、映像、音声、または触覚編集技法または修正技法の適用を含むことができる。例えば、遷移実行モジュール248は、第1のメディアコンテンツアイテムおよび第2のメディアコンテンツアイテムによって提示される視覚信号、音声信号、および触覚信号に選択的にフィルタを適用して、円滑な遷移を作り出すために信号の値が閾値差値内で整合されるようにすることができる。例として、遷移実行モジュール248は、遷移時に、適宜、メディアコンテンツアイテムのフェーディング(例えばホワイトアウトまたはブラックアウト)および増幅(例えばズームインまたはズームアウト)を選択的に用いることができる。いくつかの実施形態では、遷移実行モジュール248は、遷移を適用する2つのメディアコンテンツアイテム間の最適な遷移点を決定することができる。いくつかの実施形態では、遷移実行モジュール248は、第1のメディアコンテンツアイテムと第2のメディアコンテンツアイテムとの間に、選択されたカットまたは遷移を適用することができる。単なる一例として、第1のメディアコンテンツアイテム中に描写されたオブジェクトと、第2のメディアコンテンツアイテム中に描写されたオブジェクトとの形状およびサイズの類似度に遷移が基づくグラフィックマッチ(またはフォーム)カットを使用して、両メディアコンテンツアイテム間の遷移を作成することができる。本明細書でさらに詳しく論じるように、メディアコンテンツアイテム間の遷移の構成または選択には他の因子を考慮することができる。
【0068】
遷移実行モジュール248は、動的な性質を有するように遷移を構成することができる。いくつかの実施形態では、第2のメディアコンテンツアイテムへの遷移は、ユーザが第1のメディアコンテンツアイテムに戻ることを可能にするように構成される。例えば、第1のメディアコンテンツアイテム(例えば仮想コンテンツ)にアクセスしている間に、ユーザは1つまたは複数の第2のメディアコンテンツアイテム(例えば画像)の提示を引き起こす遷移マーカを選択することができる。1つまたは複数の第2のメディアコンテンツアイテムは、ユーザが第1のメディアコンテンツアイテムへのアクセスに直ちに直接戻ることを可能にする方式で、ユーザによってアクセスすることができる。例として、遷移は、第1のメディアコンテンツアイテムが提示される一次ユーザインターフェース要素の下位にある二次ユーザインターフェース要素(例えばモーダルウィンドウ)を通じて、1つまたは複数の第2のメディアコンテンツアイテムを提示することによって行うことができる。1つまたは複数の第2のメディアコンテンツアイテムにアクセスした後に第1のメディアコンテンツアイテムに戻るには、ユーザは、第2のユーザインターフェース要素を閉じて、第1のメディアコンテンツアイテムへのアクセスを再開することができる。
【0069】
コンテンツ遷移モジュール242は、遷移マーカモジュール244、コンテンツ選択モジュール246、および遷移実行モジュール248の1つまたは複数を任意選択で使用する他の方式で、VR環境を含むメディアコンテンツアイテム間の遷移(またはテレポーテーション、トンネリング、ジャンプ等)を生成することができる。いくつかの実施形態では、コンテンツ遷移モジュール242は、VR環境のユーザ向けにメディアコンテンツアイテム間の遷移を支援することができる。VR環境を経験しているユーザは、各種のメディアコンテンツアイテムを閲覧することができる。ユーザがあるメディアコンテンツアイテムを選択すると、コンテンツ遷移モジュール242は、VR環境内でユーザに提示される第2のメディアコンテンツアイテムへの遷移を実行することができる。例えば、ユーザは、メディアコンテンツアイテムを所定の継続時間にわたって注視するなど、適当なユーザコマンドまたはジェスチャによってメディアコンテンツアイテムを選択することができる。いくつかの実施形態では、第2のメディアコンテンツアイテムは、ユーザに提示されたとき、第1のメディアコンテンツアイテムよりも没入性の高い体験を提供する、第1のメディアコンテンツアイテムを適合したものとすることができる。例えば、第1のメディアコンテンツアイテムを選択するユーザコマンドまたはジェスチャに基づいて、第1のメディアコンテンツアイテムから適合された第2のメディアコンテンツアイテムを、全天球写真やユーザを取り囲む他の仮想コンテンツなどの360度体験としてユーザに提示することができる。
【0070】
いくつかの実施形態では、ユーザが、VR環境内に描写されたコンセプトを選択することができる。選択は、上述のように、適当なユーザコマンドまたはジェスチャによって行うことができる。コンセプトの選択に応答して、そのコンセプトを識別または記述するタグをコンセプトの近傍に提示することができる。例えば、ユーザに提示されたVR環境内に人物が描写され、ユーザがその人物を選択した場合、その人物を識別するタグを、VR環境内でユーザに提示することができる。いくつかの実施形態では、VR環境内に提示された人物がユーザによって選択されると、その人物に専用のVR環境内のロケーション、リソース、または他のプロフィールもしくはポータルなど、その人物に関連付けられたVR環境内の遷移先をユーザに提示できるように、ユーザを遷移させることができる。人物などのユーザのプロフィールまたはポータルは、VR環境内でそのユーザに関連付けられたメディアコンテンツアイテムの集合を含むことができる。加えて、プロフィールまたはポータルは、VR環境内でのユーザの存在およびVR環境内でのユーザの対話に関係する情報を含むことができる。例えば、プロフィールまたはポータルは、VR環境内でのユーザのつながり(例えば友達)の一覧、およびユーザに関連付けられたメディアコンテンツアイテムの集合を含むことができる。場合によっては、ユーザのつながりの一覧は、つながりを表現するアバターの集合を含むことができる。メディアコンテンツアイテムの集合は、ユーザによって提供されたメディアコンテンツアイテム、ユーザによって対話された(例えば「いいね」された、コメントされた、共有された等)メディアコンテンツアイテム、ユーザのつながりによって提供されたメディアコンテンツアイテム等を含むことができる。いくつかの実施形態では、ユーザが当該ユーザのプロフィールまたはポータルにアクセスする、または閲覧するとき、ユーザは、ユーザのプロフィールまたはポータル中に一覧表示された第1のつながり、またはその第1のつながりに関連付けられたアバターを選択することができる。選択は、示されたように、適当なユーザコマンドまたはジェスチャによって行うことができる。第1のつながりの選択に応答して、ユーザを遷移させることができ、その結果、ユーザは第1のつながりのプロフィールまたはポータルにアクセスする、または閲覧する。第1のつながりのプロフィールまたはポータルにアクセスする、または閲覧するとき、第1のつながりのつながりの一覧を、同様にユーザに提示することができる。ユーザが一覧から第2のつながりを選択すると、ユーザを同様に遷移させることができ、その結果、ユーザは、選択された第2のつながりのプロフィールまたはポータルにアクセスする、または閲覧する。このようにして一連の遷移を行って、ユーザが1つのプロフィールまたはポータル中の1つのつながりから、望む数だけの他のプロフィールまたはポータル中の他のつながりに遷移することを可能にする。
【0071】
図2Cは、本技術の一実施形態による、例示的な遷移整合モジュール282を例示する。いくつかの実施形態では、
図1の遷移整合モジュール108は、遷移整合モジュール282と共に実装することができる。遷移整合モジュール282は、方位モジュール284および適合モジュール286を含むことができる。
【0072】
方位モジュール284は、第1のメディアコンテンツアイテムが遷移できる第2のメディアコンテンツアイテムの識別を援助するためのメタデータおよび状況データを取得することができる。いくつかの実施形態では、メタデータは、メディアコンテンツアイテムに関連付けられた、運動データを含む方位データを含むことができる。方位データは、カメラ方位データおよびユーザビューデータを含むことができる。いくつかの実施形態では、方位データは、いくつかの例を挙げると、コンテンツを捕捉するために使用されるカメラの角度、カメラの並進速度(速さ、方向)、カメラの回転速度(速さ、方向)、コンテンツにアクセスしているユーザの視点(または閲覧角度)を含むことができる。いくつかの実施形態では、方位データは、ユーザによって閲覧されるメディアコンテンツアイテム中に表されたコンセプトとの関係で判定または測定することができる。方位データは、カメラもしくはカメラが実装されたコンピューティングデバイスに関連付けられた方位センサもしくは位置センサ(例えば加速度計、ジャイロスコープ、GPSデバイス等)、またはメディアコンテンツアイテムを消費している間のユーザの閲覧角度(もしくは注視方向)を検出できるセンサ(例えばヘッドセット、監視カメラ等)から獲得されるセンサデータに基づいて判定することができる。方位データは、メディアコンテンツアイテム中で検出された水平線や、メディアコンテンツアイテムとの関係で判定された方向方位計などの、メディアコンテンツアイテム中の視覚的指示物に基づくことができる。遷移を最適化するために、方位モジュール284は、メディアコンテンツアイテムを選択する際に、第1のメディアコンテンツアイテムに関連付けられた方位データと類似するか、その方位データから1つまたは複数の閾値差値内にある方位データに関連付けられたメディアコンテンツアイテムを、選択するか、またはより重く重み付けすることができる。そのようなメディアコンテンツアイテムは、第1のメディアコンテンツアイテムが遷移できる第2のメディアコンテンツアイテムを形成することができる。
【0073】
例えば、第1のメディアコンテンツアイテムが、第1のメディアコンテンツアイテム中に表されたコンセプトに対して特定の並進速度または特定の回転速度を有する1つまたは複数のカメラによって捕捉されるとする。そのコンセプトに関連付けられた遷移マーカをユーザが選択すると、ユーザが遷移できる適切な第2のメディアコンテンツアイテムの選択を促すことができる。本明細書でさらに詳しく論じるように、第1のメディアコンテンツアイテム中に表されたコンセプトまたは関連付けられたタグと同じまたは類似するコンセプトまたは関連付けられたタグを表している、1つまたは複数のメディアコンテンツアイテムを、第2のメディアコンテンツアイテムを形成する候補として識別することができる。この例では、方位モジュール284は、事例によっては、表されたコンセプトに対して同じカメラ並進速度または回転速度に関連付けられた1つまたは複数のメディアコンテンツアイテムを、第2のメディアコンテンツアイテムとして選択するために選択するか、重み付けするか、または優先することもできる。事例によっては、表されたコンセプトに対して、第1のメディアコンテンツアイテムに関連付けられたカメラ並進速度および回転速度からそれぞれ閾値差値内にあるカメラ並進速度または回転速度に関連付けられた1つまたは複数のメディアコンテンツアイテムが、第2のメディアコンテンツアイテムとして選択される可能性がある。いくつかの実施形態では、一続きのメディアコンテンツアイテムをメディアコンテンツアイテムのチェーンとしてリンクすることができ、遷移によって接続されるメディアコンテンツアイテムの各ペアが、同じまたは類似する方位データを有するようにする。いくつかの実施形態では、各メディアコンテンツアイテムを、そのアイテムに関連付けられた方位データが第1のメディアコンテンツアイテムに関連付けられた方位データと一致する度合いに少なくとも部分的に基づいて、可能性のある第2のメディアコンテンツアイテムとしてスコア付けおよびランク付けすることができる。事例によっては、ランクが最も高いメディアコンテンツアイテムを、第1のメディアコンテンツアイテムが遷移できる第2のメディアコンテンツアイテムとして選択することができる。事例によっては、最もランクが低い閾値数のメディアコンテンツアイテムは、それらが他の点では第1のメディアコンテンツアイテム中のコンセプトと同じまたは類似するコンセプトを表していても、可能性のある第2のメディアコンテンツアイテムとしての検討から破棄することができる。このようにして、あるメディアコンテンツアイテムを、それらが第1のメディアコンテンツアイテムと共通の主題を表していても、第1のメディアコンテンツアイテムとの不調和のレベルに基づいて、遷移の際に検討から除去することができる。
【0074】
適合モジュール286は、メディアコンテンツアイテム間の遷移を最適化するようにメディアコンテンツアイテムのユーザビューを適合することができる。いくつかの実施形態では、適合モジュール286は、第1のメディアコンテンツアイテムまたは第2のメディアコンテンツアイテムの方位データを、各自の方位データが互いと等しくなるか、または互いから閾値差値内になるように調節することができる。例えば、第1のメディアコンテンツアイテム中に表されたコンセプトに関係するユーザビューが、ユーザがそのコンセプトに対応する遷移マーカを選択するときの特定の角度、並進速度、または回転速度に基づいているとする。第2のメディアコンテンツアイテムへの遷移を最適化するために、適合モジュール286は、遷移時に、第2のメディアコンテンツアイテム中に表されたコンセプトに関係するユーザビューが、その特定の角度、並進速度、もしくは回転速度に自動的に基づくか、またはそれらから閾値差値内になるように、ユーザに対する第2のメディアコンテンツアイテムの提示を設定することができる。いくつかの実施形態では、適合モジュール286は、第2のメディアコンテンツアイテムの提供者によって予め決められた方位データに基づいて、第2のメディアコンテンツアイテムにアクセスするユーザのユーザビューを選択することができる。例えば、第2のメディアコンテンツアイテムの特定のユーザビューが第1のメディアコンテンツアイテムに関係するユーザのユーザビューと不調和であっても、ユーザには、第2のメディアコンテンツアイテムへの遷移の前に、予め決められた方位データに基づいてその特定のユーザビューを提示することができる。
【0075】
適合モジュール286は、遷移を最適化するように、メディアコンテンツアイテムに関連付けられた方位データを修正することができる。いくつかの実施形態では、第2のメディアコンテンツアイテムに関連付けられた方位データは、遷移を最適化するために、第1のメディアコンテンツアイテムに関連付けられた方位データと一致するように修正または調節することができる。例えば、第1のメディアコンテンツアイテムに関連付けられたカメラ回転速度が特定の値であるとする。さらに、メディアコンテンツアイテム中に表された共通のタグに基づいて、別のメディアコンテンツアイテムが、可能性のある第2のメディアコンテンツアイテムとして選択されているとする。またさらに、その可能性のある第2のメディアコンテンツアイテムが、第1のメディアコンテンツアイテムに関連付けられたカメラ回転速度とは異なるカメラ回転速度に関連付けられているとする。適合モジュール286は、可能性のある第2のメディアコンテンツアイテムに関連付けられた回転速度が、第1のメディアコンテンツアイテムに関連付けられたカメラ回転速度と等しくなるか、またはそのカメラ回転速度から閾値差値内となるように、第2のメディアコンテンツアイテムを処理し、編集することができる。例えば、適合モジュール286は、第2のメディアコンテンツアイテムの回転速度を変えるように、第2のメディアコンテンツアイテムのフレーム数を調節するか、その他の形で修正することができる。
【0076】
方位モジュール284および適合モジュール296に関して、閾値差値は、第1のメディアコンテンツアイテムと第2のメディアコンテンツアイテムとの間の方位データの許容逸脱量を設定するために、調節可能とすることができる。方位データの許容逸脱量は、第1のメディアコンテンツアイテムから第2のメディアコンテンツアイテムへの遷移に望まれる円滑さの量に関係することができる。様々な実施形態において、閾値差値は、メディアコンテンツアイテムにアクセスするユーザ、第1のメディアコンテンツアイテムの提供者、第2のメディアコンテンツアイテムの提供者、またはメディアコンテンツアイテムがそれを通じてアクセスされるソーシャルネットワーキングシステムの管理者によって、選択または調節することができる。
【0077】
図3Aは、本技術の一実施形態による第1の例示的なシナリオを例示する。このシナリオは、ユーザに第1のメディアコンテンツアイテム302を提示するためのユーザインターフェース300を伴う。ユーザインターフェース300は、適切な表示を通じてユーザに提示することができる。表示は、1つまたは複数のメディアコンテンツアイテムタイプを提示することができるコンピューティングデバイスまたは機器によって支援することができる。図示しないが、ユーザインターフェース300は、音声コンテンツ、触覚コンテンツ、およびその他の形態のコンテンツもユーザに提供することができる。第1のメディアコンテンツアイテム302は、仮想コンテンツ(例えば360度映像)などの、任意の適切なタイプのメディアコンテンツアイテムとすることができる。他の例では、他のタイプのメディアコンテンツアイテムを提示することができる。第1のメディアコンテンツアイテム302は、その中に描写されたコンセプトを識別するために、メディアコンテンツ遷移モジュール102によって分析することができる。様々な認識技法に基づいて、第1のメディアコンテンツアイテム302中に表されたコンセプトが識別される。図示されるように、雲304、空306、カナダガン(Canadian goose)308、山310、海312、および飛行機326が、第1のメディアコンテンツアイテム302中で検出されたコンセプトである。ソーシャルネットワーキングシステムによって判定されたユーザの関心事に基づいて、ユーザが関心を持つ可能性のあるコンセプトが、タグおよび対応する遷移マーカによって指示される。詳細には、タグ314がカナダガン308の近傍(またはカナダガン308から閾値距離内)に出現し、タグ316が山310の近傍に出現し、タグ318が空306の近傍に出現する。雲304および飛行機326に関するタグおよび関連付けられた遷移マーカは、それらに対応するコンセプトがユーザに対して閾値レベルの関連性を欠いていると判定されたため、第1のメディアコンテンツアイテム302中に出現しない。
【0078】
ユーザに関連性のある検出されたコンセプトに関連付けられた遷移マーカが、第1のメディアコンテンツアイテム302中に出現する。図示されるように、遷移マーカ320がカナダガン308の近傍に出現し、遷移マーカ322が空306の上に重畳され、遷移マーカ324が山310の上に重畳される。各遷移マーカは、関連付けられたコンセプトに基づく、第2のメディアコンテンツアイテムへの遷移を選択できることをユーザに伝える。例えば、カナダガン308のコンセプトに関連付けられた遷移マーカ320の選択は、同じくカナダガン308のコンセプトを表した第2のメディアコンテンツアイテムにユーザがアクセスできる遷移をもたらすことができる。別の例として、山310のコンセプトに関連付けられた遷移マーカ324の選択は、同じく山310のコンセプトを表した第2のメディアコンテンツアイテムにユーザがアクセスできる遷移をもたらすことができる。ユーザは、遷移マーカを所定の時間量にわたって注視することや、仮想コンテンツ内のユーザ対話をサポートする機器を通じて適当な制御をその他の形で適用することなど、適当なユーザコマンドまたはジェスチャの提供によって遷移マーカを選択することができる。各遷移マーカは図示される方式で描写されるが、遷移マーカの他の形態および表現が可能であることが認識されよう。例示されないいくつかの実施形態では、タグおよび遷移マーカを単一の参照または要素に統合することができる。例示されない様々な実施形態において、タグもしくは遷移マーカが、またはその両方ともが提示されない。例えば、第2のメディアコンテンツアイテムへの遷移は、ユーザによるコンセプト自体の選択に基づいて実行することができる。
【0079】
図3Bは、本技術の一実施形態による、第2の例示的なシナリオを例示する。このシナリオでは、
図3Aで説明したユーザとは異なる第2のユーザに、第1のメディアコンテンツアイテム302が提示される。第1のメディアコンテンツアイテム302は、その中に描写されたコンセプトを識別するために、メディアコンテンツ遷移モジュール102によって分析することができる。様々な認識技法に基づいて、第1のメディアコンテンツアイテム302中に表されたコンセプトが識別される。図示されるように、空306、カナダガン308、山310、海312、および飛行機326が、第1のメディアコンテンツアイテム302中で検出されたコンセプトである。ソーシャルネットワーキングシステムによって判定された第2のユーザの関心事に基づいて、第2のユーザが関心を持つ可能性のあるコンセプトが、タグおよび対応する遷移マーカによって指示される。詳細には、タグ330および遷移マーカ332が飛行機326の近傍(または飛行機326から閾値距離内)に出現する。雲304、空306、カナダガン308、山310、および海312に関するタグおよび関連付けられた遷移マーカは、それらに対応するコンセプトが第2のユーザに対して閾値レベルの関連性を欠いていると判定されたため、第1のメディアコンテンツアイテム302中に出現しない。
【0080】
図3Cは、本技術の一実施形態による、第3の例示的なシナリオを例示する。このシナリオでは、ユーザに対する第1のメディアコンテンツアイテム302の提示は、
図3Aに示す第1のメディアコンテンツアイテム302の提示から進行したものである。第1のメディアコンテンツアイテム302の提示が進行するのに伴い、その中に表されたコンセプトの位置が変化する。メディアコンテンツ遷移モジュール102は、第1のメディアコンテンツアイテム302中でのコンセプトの運動軌跡を追跡する。追跡に基づいて、メディアコンテンツ遷移モジュール102は、コンセプトの運動軌跡に追従するような方式で、第1のメディアコンテンツアイテム302にコンセプトに関するタグおよび遷移マーカを提示することができる。例えば、第1のメディアコンテンツアイテム302中でのカナダガン308の位置は、
図3Aにおける位置と比較して変化している。その結果、カナダガン308に関連付けられたタグ314の位置および遷移マーカ320の位置が、カナダガン308の運動軌跡に追従するように変化している。空306の相対位置は変化していないため、空306に関連付けられたタグ318の位置および遷移マーカ322の位置は変化していない。
【0081】
図示されるように、ユーザは、ユーザジェスチャ340を通じて、カナダガン308に関連付けられた遷移マーカ320を選択している。選択に応答して、メディアコンテンツ遷移モジュール102は、第2のメディアコンテンツアイテムをそこから選択できる適当なメディアコンテンツアイテムを識別することができる。カナダガン308と同じまたは類似するコンセプトを表したメディアコンテンツアイテムが判定されることができる。加えて、方位データおよびソーシャル信号などの様々なデータおよび信号を適用して、ユーザが遷移することになる第2のメディアコンテンツアイテムを形成する可能性のあるメディアコンテンツアイテムのリストをさらに精緻化することができる。例えば、ユーザのつながりによってソーシャルネットワーキングシステムに提供されたメディアコンテンツアイテム、ユーザのつながりによって「いいね」された、または最も人気があると見なされるメディアコンテンツアイテムを、他のメディアコンテンツアイテムよりも優先することができる。加えて、第1のメディアコンテンツアイテム302に関連付けられた方位データを、第2のメディアコンテンツアイテムを選択する際に考慮することができる。例えば、第1のメディアコンテンツアイテム302に関連付けられた方位データと同じであるか、または適当な閾値差値内で類似する方位データに関連付けられたメディアコンテンツアイテムを、優先して考慮することができる。第2のメディアコンテンツアイテムが選択されると、メディアコンテンツ遷移モジュール102は、ユーザ体験を最適化し、提示における第1のメディアコンテンツアイテム302から第2のメディアコンテンツアイテムへの提示の不調和を最小にするように、第1のメディアコンテンツアイテム302からの遷移を構成することができる。
【0082】
図3Dは、本技術の一実施形態による、第4の例示的なシナリオを例示する。このシナリオでは、第2のメディアコンテンツアイテム350が、
図3Cの遷移マーカ320をユーザが選択したのに応答して選択されている。図示されるように、第2のメディアコンテンツアイテム350は、第1のメディアコンテンツアイテム302中で選択されたコンセプトと同じコンセプト、すなわちカナダガン308を表している。さらに、図示されるように、カナダガン308との関係で第2のメディアコンテンツアイテム350に関連付けられた方位データは、カナダガン308との関係における第1のメディアコンテンツアイテム302の方位データと同じであるか、または適当な閾値差値内で類似している。方位データは、例えば、カナダガン308の捕捉に関係する1つまたは複数のカメラの並進速度および回転速度を含むことができる。
【0083】
第2のメディアコンテンツアイテム350には新しいコンセプトが表されている。図示されるように、超高層ビル354および月352が、第2のメディアコンテンツアイテム350中に表されたコンセプトとして識別されている。超高層ビル354はユーザの関心事に関連性があると判定されているため、超高層ビル354に関連付けられたタグ356および遷移マーカ358が提示される。ユーザが超高層ビル354のコンセプトを表した追加的なコンテンツにアクセスしたい場合、ユーザは、遷移マーカ358を選択して、そのコンセプトを表す別のメディアコンテンツアイテムに遷移することができる。月352に関連付けられたタグまたは遷移マーカは第2のメディアコンテンツアイテム350中に提示されていないが、これは、月352のコンセプトがユーザの関心事に対する閾値レベルの関連性を満たさないと判定されているためである。
【0084】
図3Eは、本技術の一実施形態による、第5の例示的なシナリオ360を例示する。シナリオ360では、ユーザは、ユーザに没入型の体験を提供するVR環境を経験している。ユーザはアバター362として提示される。VR環境内で、ユーザのアバター362は、サムネイル画像、2D画像、パノラマ画像、360度写真、2D映像、360度映像等の、各種のメディアコンテンツアイテムを閲覧することができる。メディアコンテンツアイテムの集合364は、ユーザにより選択可能である。ユーザは、適当なユーザコマンドまたはジェスチャにより、集合364からメディアコンテンツアイテムを選択することができる。図示されるように、ユーザは、メディアコンテンツアイテム366を所定の継続時間にわたって注視することにより、集合364から特定のメディアコンテンツアイテム366を選択している。例えば、メディアコンテンツアイテム366は2D画像とすることができる。ユーザによるメディアコンテンツアイテム366の選択に応答して、VR環境内でユーザへの異なる第2のメディアコンテンツアイテムの提示を引き起こす遷移を実行することができる。第1のメディアコンテンツアイテムを適合したものであり得る第2のメディアコンテンツアイテムは、第1のメディアコンテンツアイテムと比べて没入性の高い体験をユーザに提供することができる。例えば、
図3Fに示すように、第1のメディアコンテンツアイテムから適合された第2のメディアコンテンツアイテムは、ユーザを取り囲む、全天球写真や他の仮想コンテンツなどの360度体験としてユーザに提示することができる。
【0085】
図3Fは、本技術の一実施形態による、第6の例示的なシナリオ370を例示する。シナリオ370では、ユーザは、
図3Eのシナリオ360からユーザが遷移した(またはテレポーテーション、トンネリング、ジャンプ等した)VR環境を経験している。これに関して、
図3Eのシナリオ360におけるユーザへのメディアコンテンツアイテム366の提示が、ユーザへのメディアコンテンツアイテム372の提示に遷移している。図示されるように、メディアコンテンツアイテム372は、没入型の体験をユーザに提供する、360度画像などの3Dメディアコンテンツアイテムとすることができる。ユーザは、メディアコンテンツアイテム372中に描写されたコンセプトを閲覧し、選択することができる。ユーザは、適当なユーザコマンドまたはジェスチャにより、メディアコンテンツアイテム372中に描写されたコンセプトを選択することができる。コンセプトを選択すると、タグなどの、そのコンセプトの識別子がメディアコンテンツアイテム372中に提示され、その結果別のシナリオへの遷移を引き起こすことができる。図示されるように、メディアコンテンツアイテム372中に人物374が描写され得る。ユーザは、人物374を所定の第1の継続時間にわたり注視することによって人物374を選択することができる。人物374を選択すると、人物374を識別するタグ376をメディアコンテンツアイテム372中に提示させることができる。人物374に関係して遷移の希望を指示することにより、ユーザは遷移されて、人物374に関連付けられたVR環境内の遷移先がユーザに提示されるようにすることができる。例えば、遷移の希望は、人物374を所定の第2の継続時間にわたって注視することによって指示することができる。遷移先は、例えば、
図3Gに示すように、人物374に関連付けられたVR環境内のロケーション、リソース、または他のプロフィールもしくはポータルとすることができる。
【0086】
図3Gは、本技術の一実施形態による、第7の例示的なシナリオ380を例示する。シナリオ380では、
図3Fのメディアコンテンツアイテム372の提示が、ユーザに没入型の体験を提供するVR環境でのメディアコンテンツアイテム382の提示に遷移している。これに関して、
図3Fのシナリオ370でユーザが人物374を選択したことでユーザが遷移され、人物374に関連付けられたVR環境内でユーザにプロフィールまたはポータルが提示されている。プロフィールまたはポータルは、VR環境内での人物374の存在および対話に関係する情報を含むことができる。例えば、プロフィールまたはポータルは、VR環境内での人物374のつながり(例えば友達)の集合384を含むことができる。人物374のつながりの集合384は、例えば、それらつながりの画像、サムネイル、またはアバターによって表現することができる。ユーザは、集合384の中から、人物374の第1のつながりのアバター386を選択することができる。選択は、第1のつながりを所定の継続時間にわたって注視するなど、適当なユーザコマンドまたはジェスチャによって行うことができる。第1のつながりの選択に応答して、ユーザを遷移させることができ、ユーザには、VR環境内で第1のつながりのプロフィールまたはポータルが提示される。同じようにして、ユーザは、第1のつながりのプロフィールまたはポータルの中で第2のつながりのアバターを選択し、第2のつながりのプロフィールまたはポータルがユーザに提示されるような方式で遷移することができる。様々な人物のプロフィールまたはポータルやVR環境内の他の遷移先への任意の順序または個数の遷移を、このようにしてユーザが行うことができる。
【0087】
図4Aは、本技術の一実施形態による、タグ付けおよびメタデータに関係する例示的な方法400を例示する。特に断らない限り、本明細書に論じられる様々な実施形態および特徴に従って、同様の順序もしくは代替の順序で、または並行して行われる、追加的なステップ、より少ないステップ、または代替のステップがあり得ることを認識すべきである。
【0088】
ブロック402で、方法400は、ユーザにアクセスが提供される第1のメディアコンテンツアイテム中に表されたコンセプトを検出することができる。ブロック404で、方法400は、そのコンセプトがユーザに対して閾値レベルの関連性を有すると判定することができる。ブロック406で、方法400は、コンセプトを、選択されるとユーザにアクセスが提供される第2のメディアコンテンツアイテムへの遷移を引き起こす要素に関連付けることができ、第2のメディアコンテンツアイテムはそのコンセプトを表している。ブロック408で、方法400は、第1のメディアコンテンツアイテム中で要素をユーザに提示することができる。本技術の様々な特徴および実施形態を取り入れた他の適切な技法が可能である。
【0089】
図4Bは、本技術の一実施形態による、コンテンツの遷移に関係する例示的な方法450を例示する。特に断らない限り、本明細書に論じられる様々な実施形態および特徴に従って、同様の順序もしくは代替の順序で、または並行して行われる、追加的なステップ、より少ないステップ、または代替のステップがあり得ることを認識すべきである。
【0090】
ブロック452で、方法450は、第1のメディアコンテンツアイテムからの遷移を引き起こすための、第1のメディアコンテンツアイテムに関連付けられた選択をユーザから受け取ることができる。ブロック454で、方法450は、第1のメディアコンテンツアイテムと第2のメディアコンテンツアイテムとの間の遷移を構成することができる。ブロック456で、方法450は、選択に応答してユーザに遷移を提示することができる。本技術の様々な特徴および実施形態を取り入れた他の適切な技法が可能である。
【0091】
図5は、本技術の一実施形態による、遷移の整合に関係する例示的な方法500を例示する。特に断らない限り、本明細書に論じられる様々な実施形態および特徴に従って、同様の順序もしくは代替の順序で、または並行して行われる、追加的なステップ、より少ないステップ、または代替のステップがあり得ることを認識すべきである。
【0092】
ブロック502で、方法500は、第1のメディアコンテンツアイテムに関連付けられた方位データを判定することができる。ブロック504で、方法500は、方位データに基づいて、第1のメディアコンテンツが遷移できる第2のメディアコンテンツアイテムを選択することができる。ブロック506で、方法500は、第1のメディアコンテンツアイテムから第2のメディアコンテンツアイテムへの遷移を提示することができる。本技術の様々な特徴および実施形態を取り入れた他の適切な技法が可能である。
【0093】
本技術の様々な実施形態に関連する多くの他の使用例、応用例、特徴、可能性、および変形例があり得ることが企図される。例えば、ユーザは、本技術を利用することをオプトイン(opt-in)するか否かを選ぶことができる。本技術は、様々なプライバシー設定、嗜好、および構成が維持されることを保証することもでき、私的な情報が漏洩するのを防ぐことができる。別の例では、本技術の様々な実施形態は、時間と共に学習し、改良し、精緻化することができる。
ソーシャルネットワーキングシステム - 例示的な実装
【0094】
図6は、本技術の一実施形態による、様々なシナリオで利用することができる例示的なシステム600のネットワーク図を例示する。システム600は、1つまたは複数のユーザデバイス610、1つまたは複数の外部システム620、ソーシャルネットワーキングシステム(またはサービス)630、およびネットワーク655を含む。一実施形態では、上記の実施形態との関連で論じられるソーシャルネットワーキングサービス、提供者、および/またはシステムは、ソーシャルネットワーキングシステム630として実装されてよい。例示の目的のために、
図6によって示されるシステム600の実施形態は、単一の外部システム620および単一のユーザデバイス610を含む。ただし、他の実施形態では、システム600は、より多くのユーザデバイス610および/またはより多くの外部システム620を含んでよい。ある実施形態では、ソーシャルネットワーキングシステム630は、ソーシャルネットワーク提供者によって運営されるのに対して、外部システム620は、異なるエンティティによって運営され得るという点でソーシャルネットワーキングシステム630とは別個のものである。ただし、様々な実施形態において、ソーシャルネットワーキングシステム630および外部システム620は、共に動作して、ソーシャルネットワーキングシステム630のユーザ(またはメンバー)にソーシャルネットワーキングサービスを提供する。この意味で、ソーシャルネットワーキングシステム630は、外部システム620などの他のシステムがインターネット上のユーザにソーシャルネットワーキングサービスおよび機能性を提供するために使用し得る、プラットフォームまたはバックボーンを提供する。
【0095】
ユーザデバイス610は、ユーザから入力を受け取ると共にネットワーク655を介してデータを送受信することができる1つまたは複数のコンピューティングデバイスを備える。1つの実施形態では、ユーザデバイス610は、例えば、マイクロソフトWindowsと互換性のあるオペレーティングシステム(OS)、Apple OS X、および/またはLinuxディストリビューションを実行する従来のコンピュータシステムである。別の実施形態では、ユーザデバイス610は、スマートフォン、タブレット、携帯情報端末(PDA)、携帯電話等の、コンピュータ機能性を有するデバイスとすることができる。ユーザデバイス610は、ネットワーク655を介して通信するように構成される。ユーザデバイス610は、アプリケーション、例えば、ユーザデバイス610のユーザがソーシャルネットワーキングシステム630と対話することを可能にするブラウザアプリケーションを実行することができる。別の実施形態では、ユーザデバイス610は、iOSおよびANDROIDなどの、ユーザデバイス610のネイティブオペレーティングシステムによって提供されるアプリケーションプログラミングインターフェース(API)を通じて、ソーシャルネットワーキングシステム630と対話する。ユーザデバイス610は、ネットワーク655を介して外部システム620およびソーシャルネットワーキングシステム630と通信するように構成され、ネットワーク655は、有線および/または無線通信システムを使用した、ローカルエリアネットワークおよび/またはワイドエリアネットワークの任意の組み合わせを備えてよい。
【0096】
1つの実施形態では、ネットワーク655は、標準的な通信技術およびプロトコルを使用する。よって、ネットワーク655は、イーサネット、802.11、マイクロ波接続のための世界規模の相互動作性(WiMAX)、3G、4G、CDMA、GSM、LTE、デジタル加入者線(DSL)等の技術を使用するリンクを含むことができる。同様に、ネットワーク655上で使用されるネットワーキングプロトコルは、マルチ・プロトコル・ラベル・スイッチング(MPLS)、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)、ユーザ・データグラム・プロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、ファイル転送プロトコル(FTP)などを含むことができる。ネットワーク655を通じて交換されるデータは、ハイパーテキストマークアップ言語(HTML)および拡張マークアップ言語(XML)を含む技術および/またはフォーマットを使用して表現されることができる。加えて、すべてまたは一部のリンクが、セキュア・ソケット・レイヤ(SSL)、トランスポート・レイヤ・セキュリティ(TLS)、およびインターネット・プロトコル・セキュリティ(IPsec)などの従来の暗号化技術を使用して暗号化されることがある。
【0097】
1つの実施形態では、ユーザデバイス610は、外部システム620およびソーシャルネットワーキングシステム630から受信されるマークアップ言語文書614を、ブラウザアプリケーション612を使用して処理することによって、外部システム620からのコンテンツおよび/またはソーシャルネットワーキングシステム630からのコンテンツを表示してよい。マークアップ言語文書614は、コンテンツと、そのコンテンツのフォーマッティングまたは提示を記述する1つまたは複数の命令とを識別する。マークアップ言語文書614に含まれる命令を実行することによって、ブラウザアプリケーション612は、マークアップ言語文書614によって記述されたフォーマットまたは提示を使用して、識別されたコンテンツを表示する。例えば、マークアップ言語文書614は、外部システム620およびソーシャルネットワーキングシステム630から得られたテキストおよび/または画像データを含む複数個のフレームを有するウェブページを生成および表示するための命令を含む。様々な実施形態において、マークアップ言語文書614は、拡張マークアップ言語(XML)データ、拡張ハイパーテキストマークアップ言語(XHTML)データ、または、他のマークアップ言語データを含むデータファイルを備える。また、マークアップ言語文書614は、外部システム620とユーザデバイス610との間のデータ交換を容易にするためのJavaScriptオブジェクト・ノーテーション(JSON)データ、パディング付きのJSONデータ、およびJavaScriptデータを含んでよい。ユーザデバイス610のブラウザアプリケーション612は、JavaScriptコンパイラを使用してマークアップ言語文書614を復号してよい。
【0098】
マークアップ言語文書614は、FLASH(商標)アプリケーションまたはUnity(商標)アプリケーション、SilverLight(商標)アプリケーションフレームワーク等の、アプリケーションまたはアプリケーションフレームワークも含むか、またはこれらにもリンクしてよい。
【0099】
1つの実施形態では、ユーザデバイス610は、ユーザデバイス610のユーザがソーシャルネットワーキングシステム630へログインしたどうかを指示するデータを含む1つまたは複数のクッキー616も含み、クッキー616は、ソーシャルネットワーキングシステム630からユーザデバイス610へ通信されるデータの修正を可能にし得る。
【0100】
外部システム620は、ネットワーク655を使用してユーザデバイス610に通信される1つまたは複数のウェブページ622a、622bを含む、1つまたは複数のウェブサーバを含む。外部システム620は、ソーシャルネットワーキングシステム630とは別個である。例えば、外部システム620は、第1のドメインに関連付けられ、一方、ソーシャルネットワーキングシステム630は、別個のソーシャルネットワーキングドメインに関連付けられる。外部システム620に含まれるウェブページ622a、622bは、コンテンツを識別すると共に識別されたコンテンツのフォーマッティングおよび提示を指定する命令を含む、マークアップ言語文書614からなる。
【0101】
ソーシャルネットワーキングシステム630は、ソーシャルネットワークのための1つまたは複数のコンピューティングデバイスを含み、ソーシャルネットワークは、複数のユーザを含み、ソーシャルネットワークのユーザにソーシャルネットワークの他のユーザと通信および対話する能力を提供する。事例によっては、ソーシャルネットワークは、グラフ、すなわち、エッジとノードとを含むデータ構造によって表現されることがある。データベース、オブジェクト、クラス、メタ要素、ファイル、または任意の他のデータ構造を含むがこれらに限定されない他のデータ構造も、ソーシャルネットワークを表現するために使用することができる。ソーシャルネットワーキングシステム630は、オペレータによって運用、管理、または制御されてよい。ソーシャルネットワーキングシステム630のオペレータは、人間、自動化されたアプリケーション、または、コンテンツを管理し、ポリシーを規制し、ソーシャルネットワーキングシステム630内の使用メトリックを収集するための一連のアプリケーションであってよい。任意タイプのオペレータが用いられてよい。
【0102】
ユーザは、ソーシャルネットワーキングシステム630に加入し、次いで、自身がつなげられることを望む、ソーシャルネットワーキングシステム630の任意数の他のユーザへのつながりを追加してよい。本明細書で使用される用語「友達」は、ユーザがソーシャルネットワーキングシステム630を介して、つながり、関連、または関係を形成した、ソーシャルネットワーキングシステム630の任意の他のユーザを指す。例えば、一実施形態では、ソーシャルネットワーキングシステム630内のユーザがソーシャルグラフ中のノードとして表現される場合、用語「友達」は、2つのユーザノード間に形成され2つのユーザノードを直接的に接続するエッジを指し得る。
【0103】
つながりは、ユーザによって明示的に追加されても、または、ユーザ同士の共通の特性(例えば、同じ教育機関の卒業生であるユーザ)に基づいてソーシャルネットワーキングシステム630によって自動的に作成されてもよい。例えば、第1のユーザが、友達になりたい特定の他のユーザを具体的に選択する。ソーシャルネットワーキングシステム630内のつながりは、通常は双方向であるが、双方向である必要はなく、そのため、用語「ユーザ」および「友達」は枠組みに依存する。ソーシャルネットワーキングシステム630のユーザ間のつながりは、通常は、両側から(「二方向」)または「相互的」であるが、つながりは、片側のみから、または「一方向」であってもよい。例えば、ボブおよびジョーが、両者ともソーシャルネットワーキングシステム630のユーザであり、互いにつながっている場合、ボブおよびジョーは互いのつながりである。対して、ボブが、ジョーによってソーシャルネットワーキングシステム630へ通信されたデータを見るためにジョーとつながることを欲するものの、ジョーは、相互的なつながりを形成することを欲しない場合、片側のみからのつながりが確立され得る。ユーザ間のつながりは直接的なつながりであり得るが、ソーシャルネットワーキングシステム630のいくつかの実施形態は、つながりが、1つまたは複数のつながりレベルまたは分離度を介した間接的なものとなることを可能にする。
【0104】
ユーザ間のつながりを確立および維持し、ユーザ間の対話を可能にすることに加えて、ソーシャルネットワーキングシステム630は、ソーシャルネットワーキングシステム630によってサポートされる様々なタイプのアイテムに対してアクションを行う能力をユーザに提供する。こうしたアイテムは、ソーシャルネットワーキングシステム630のユーザが所属し得るグループまたはネットワーク(すなわち、人々、エンティティ、およびコンセプトのソーシャルネットワーク)、ユーザが関心を持ち得るイベントまたはカレンダー項目、ユーザがソーシャルネットワーキングシステム630を介して使用し得るコンピュータベースのアプリケーション、ソーシャルネットワーキングシステム630によって提供されるサービスを介してまたはソーシャルネットワーキングシステム630を通じてユーザがアイテムを購入または販売することを可能にする取引、ならびにユーザがソーシャルネットワーキングシステム630内外で行い得る広告との対話を含み得る。これらは、ユーザがソーシャルネットワーキングシステム630上で作用を与え得るアイテムの数例にすぎず、多くの他の例が可能である。ユーザは、ソーシャルネットワーキングシステム630において、または、ソーシャルネットワーキングシステム630とは別個であるかもしくはネットワーク655を介してソーシャルネットワーキングシステム630に結合された外部システム620において表現されることが可能なあらゆるものと対話し得る。
【0105】
ソーシャルネットワーキングシステム630は、各種のエンティティ同士をリンクすることも可能である。例えば、ソーシャルネットワーキングシステム630は、ユーザが互いに対話すること、ならびに、API、ウェブサービス、または他の通信チャネルを通じて外部システム620または他のエンティティと対話することを可能にする。ソーシャルネットワーキングシステム630は、複数のエッジによって相互に連結された複数のノードを備える「ソーシャルグラフ」を生成し、維持する。ソーシャルグラフ中の各ノードは、別のノードに作用を与え得るエンティティ、および/または別のノードによって作用を与えられ得るエンティティを表現し得る。ソーシャルグラフは様々なタイプのノードを含んでよい。ノードのタイプの例は、ユーザ、非人間エンティティ、コンテンツアイテム、ウェブページ、グループ、アクティビティ、メッセージ、コンセプト、およびソーシャルネットワーキングシステム630内のオブジェクトによって表現され得る任意の他のものを含む。ソーシャルグラフ中の2つのノード間のエッジは、ノード関係から生じ得る、または両ノードのうちの一方によって他方に対して行われたアクションから生じ得る、2つのノード間の特定の種類のつながり、または関連付けを表現し得る。場合によっては、ノード間のエッジが重み付けされることがある。エッジの重みは、ノード間のつながりまたは関連付けの強さなどの、そのエッジに関連付けられている属性を表現することができる。異なるタイプのエッジに、異なる重みを提供することができる。例えば、あるユーザが別のユーザに「いいね」するとき作成されるエッジにはある重みが与えられる一方、ユーザが別のユーザを友達にするとき作成されるエッジには異なる重みが与えられてよい。
【0106】
一例として、第1のユーザが第2のユーザを友達として識別すると、ソーシャルグラフ中に1つのエッジが生成されて、第1のユーザを表現するノードと第2のユーザを表現する第2のノードとを接続する。様々なノードが互いに関係する、または対話するのに伴い、ソーシャルネットワーキングシステム630は、それらの関係や対話を反映するように、それらの様々なノードを接続するエッジを修正する。
【0107】
ソーシャルネットワーキングシステム630は、ユーザによるソーシャルネットワーキングシステム630との対話を高める、ユーザにより生成されたコンテンツも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム630に対して追加、アップロード、送付、または「投稿」することができるあらゆるものを含み得る。例えば、ユーザは、ユーザデバイス610からソーシャルネットワーキングシステム630に投稿を通信する。投稿は、ステータスアップデートもしくは他の文字情報などのデータ、ロケーション情報、写真などの画像、映像、リンク、音楽、または、他の同様のデータおよび/もしくはメディアを含み得る。また、コンテンツは、サードパーティによってソーシャルネットワーキングシステム630に追加されてもよい。コンテンツ「アイテム」は、ソーシャルネットワーキングシステム630内でオブジェクトとして表現される。このようにして、ソーシャルネットワーキングシステム630のユーザは、様々な通信チャネルを通じて様々なタイプの媒体のテキストおよびコンテンツアイテムを投稿することによって、互いに通信することを促される。そのような通信は、ユーザ同士の対話を増加させ、ユーザがソーシャルネットワーキングシステム630と対話する頻度を増加させる。
【0108】
ソーシャルネットワーキングシステム630は、ウェブサーバ632、API要求サーバ634、ユーザプロフィールストア636、つながりストア638、アクションロガー640、アクティビティログ642、および認証サーバ644を含む。本発明の一実施形態では、ソーシャルネットワーキングシステム630は、様々なアプリケーションに関して、追加的な構成要素、より少ない構成要素、または異なる構成要素を含み得る。ネットワークインターフェース、セキュリティ機構、負荷分散装置、フェイルオーバサーバ、管理およびネットワーク操作コンソールなどの他の構成要素は、本システムの詳細を不明瞭にしないように、図示されていない。
【0109】
ユーザプロフィールストア636は、ユーザによって申告された、またはソーシャルネットワーキングシステム630によって推測された、職歴、学歴、趣味または嗜好、所在地などの経歴的情報、人口統計学的情報、および他のタイプの記述的情報を含む、ユーザアカウントに関する情報を維持する。この情報は、各ユーザが一意に識別されるように、ユーザプロフィールストア636に記憶される。ソーシャルネットワーキングシステム630は、異なるユーザ間の1つまたは複数のつながりを記述するデータも、つながりストア638に記憶する。つながり情報は、類似または共通する職歴、グループメンバーシップ、趣味、または学歴を有するユーザを指示し得る。また、ソーシャルネットワーキングシステム630は、ユーザが自身と他のユーザとの関係を指定することを可能にする、種々のユーザ間にユーザによって定義されたつながりを含む。例えば、ユーザによって定義されたつながりは、友達、同僚、パートナー等の、ユーザの実生活の関係に相当する他のユーザとの関係を、ユーザが生成することを可能にする。ユーザは、予め定義されたタイプのつながりから選択しても、またはユーザ独自のつながりタイプを必要に応じて定義してもよい。非人間エンティティ、バケット、クラスタセンタ、画像、関心事、ページ、外部システム、コンセプト等の、ソーシャルネットワーキングシステム630内の他のノードとのつながりも、つながりストア638に記憶される。
【0110】
ソーシャルネットワーキングシステム630は、ユーザが対話し得るオブジェクトに関するデータを維持する。このデータを維持するために、ユーザプロフィールストア636およびつながりストア638は、ソーシャルネットワーキングシステム630によって維持されている対応するタイプのオブジェクトのインスタンスを記憶する。各オブジェクトタイプは、オブジェクトのタイプに適する情報を記憶するのに適した情報フィールドを有する。例えば、ユーザプロフィールストア636は、ユーザのアカウントとユーザのアカウントに関連した情報とを記述するのに適したフィールドを有するデータ構造を保有する。特定のタイプの新しいオブジェクトが作成される場合、ソーシャルネットワーキングシステム630は、対応するタイプの新たなデータ構造を初期化し、この新たなデータ構造に一意のオブジェクト識別子を割り当て、必要に応じて、そのオブジェクトにデータを追加することを開始する。これは、例えば、ユーザがソーシャルネットワーキングシステム630のユーザになるとき発生し、ソーシャルネットワーキングシステム630は、ユーザプロフィールストア636にユーザプロフィールの新たなインスタンスを生成し、ユーザアカウントに一意の識別子を割り当て、ユーザによって提供される情報をユーザアカウントのフィールドに投入し始める。
【0111】
つながりストア638は、他のユーザに対するユーザのつながり、外部システム620に対するつながり、または他のエンティティに対するつながりを記述するのに適したデータ構造を含む。つながりストア638は、つながりタイプもユーザのつながりに関連付けてよく、つながりタイプは、ユーザのプライバシー設定と共に使用されて、ユーザに関する情報へのアクセスを規制し得る。本発明の一実施形態では、ユーザプロフィールストア636およびつながりストア638は、連合データベースとして実装されてよい。
【0112】
つながりストア638、ユーザプロフィールストア636、およびアクティビティログ642に記憶されたデータは、様々なオブジェクトを識別するノードと、異なるオブジェクト間の関係を識別するノード間を接続するエッジとを使用するソーシャルグラフを、ソーシャルネットワーキングシステム630が生成することを可能にする。例えば、第1のユーザがソーシャルネットワーキングシステム630内で第2のユーザとのつながりを確立する場合、ユーザプロフィールストア636にある第1のユーザおよび第2のユーザのユーザアカウントが、ソーシャルグラフ中のノードとなり得る。つながりストア638によって記憶された第1のユーザと第2のユーザとの間のつながりは、第1のユーザおよび第2のユーザに関連付けられた各ノード間のエッジである。この例を続けると、第2のユーザは、次いで、第1のユーザに対して、ソーシャルネットワーキングシステム630内でメッセージを送付し得る。メッセージを送付するアクションは、第1のユーザおよび第2のユーザを表現するソーシャルグラフ中の2つのノード間の別のエッジとなり、メッセージを送付するアクションは記憶されてよい。また、メッセージ自体が、第1のユーザおよび第2のユーザを表現する各ノードに接続される別のノードとして、ソーシャルグラフ中に識別され、ソーシャルグラフに含まれてもよい。
【0113】
別の例では、第1のユーザが、ソーシャルネットワーキングシステム630によって維持される画像の中で(または、代替的に、ソーシャルネットワーキングシステム630の外部の別のシステムによって維持される画像の中で)第2のユーザをタグ付けし得る。画像は、それ自体がソーシャルネットワーキングシステム630内のノードとして表現され得る。このタグ付けアクションは、ユーザの各々と、同じくソーシャルグラフ中のノードである画像との間のエッジを作成するだけでなく、第1のユーザと第2のユーザとの間のエッジも作成し得る。さらに別の例において、ユーザが、あるイベントに参加することを確定した場合、そのユーザおよびそのイベントは、ユーザプロフィールストア636から取得されるノードであり、そのイベントへの参加は、アクティビティログ642から得られ得るノード間のエッジとなる。ソーシャルグラフを生成し、維持することにより、ソーシャルネットワーキングシステム630は、多くの異なるタイプのオブジェクトを記述するデータ、ならびに、それらのオブジェクト間の対話およびつながりを含むことになり、社交上関連する情報の豊富なソースを提供する。
【0114】
ウェブサーバ632は、ソーシャルネットワーキングシステム630を、ネットワーク655を介して、1つもしくは複数のユーザデバイス610および/または1つもしくは複数の外部システム620にリンクする。ウェブサーバ632は、ウェブページ、およびJava、JavaScript、Flash、XMLなどの他のウェブ関連コンテンツを供給する。ウェブサーバ632は、メールサーバ、または、ソーシャルネットワーキングシステム630と1つもしくは複数のユーザデバイス610との間のメッセージを受信およびルーティングするための他のメッセージング機能性を含み得る。メッセージは、インスタントメッセージ、キューメッセージ(例えば電子メール)、テキストおよびSMSメッセージ、または任意の他の適切なメッセージングフォーマットであり得る。
【0115】
API要求サーバ634は、1つまたは複数の外部システム620およびユーザデバイス610が、1つまたは複数のAPI関数を呼び出すことによって、ソーシャルネットワーキングシステム630からアクセス情報を呼び出すことを可能にする。API要求サーバ634は、外部システム620が、APIを呼び出すことによって、ソーシャルネットワーキングシステム630に情報を送付することも可能にし得る。外部システム620は、1つの実施形態では、ネットワーク655を介してソーシャルネットワーキングシステム630にAPI要求を送付し、API要求サーバ634は、API要求を受信する。API要求サーバ634は、API要求に関連付けられたAPIを呼び出すことにより要求を処理して適当な応答を生成し、API要求サーバ634は、この応答を、ネットワーク655を介して外部システム620に通信する。例えば、API要求に応答して、API要求サーバ634は、外部システム620にログインしたユーザのつながりなどの、ユーザに関連付けられたデータを収集し、収集されたデータを外部システム620に通信する。別の実施形態では、ユーザデバイス610が、外部システム620と同じ方式で、APIを通じてソーシャルネットワーキングシステム630と通信する。
【0116】
アクションロガー640は、ソーシャルネットワーキングシステム630内での、および/またはソーシャルネットワーキングシステム630外でのユーザアクションに関する通信を、ウェブサーバ632から受信することが可能である。アクションロガー640は、ユーザアクションに関する情報をアクティビティログ642に投入して、ソーシャルネットワーキングシステム630の内部およびソーシャルネットワーキングシステム630の外部でシステム630のユーザによって行われた様々なアクションを、ソーシャルネットワーキングシステム630が発見することを可能にする。特定のユーザがソーシャルネットワーキングシステム630上の別のノードに関して行う任意のアクションが、アクティビティログ642または類似のデータベースもしくは他のデータレポジトリに維持される情報を通じて、各ユーザのアカウントに関連付けられてよい。識別および記憶される、ソーシャルネットワーキングシステム630内でユーザによって行われるアクションの例は、例えば、別のユーザに対するつながりを追加すること、別のユーザにメッセージを送付すること、別のユーザからのメッセージを読むこと、別のユーザに関連付けられたコンテンツを閲覧すること、別のユーザによって投稿されたイベントに参加すること、画像を投稿すること、画像の投稿を試みること、または、別のユーザもしくは別のオブジェクトと対話する他のアクションを含み得る。ユーザがソーシャルネットワーキングシステム630内でアクションを行うと、そのアクションは、アクティビティログ642に記録される。1つの実施形態では、ソーシャルネットワーキングシステム630は、アクティビティログ642を項目のデータベースとして維持する。ソーシャルネットワーキングシステム630内でアクションが行われると、そのアクションについての項目が、アクティビティログ642に追加される。アクティビティログ642は、アクションログと呼ばれることもある。
【0117】
また、ユーザアクションは、ソーシャルネットワーキングシステム630とは別個の外部システム620などの、ソーシャルネットワーキングシステム630の外部のエンティティ内で発生するコンセプトおよびアクションに関連付けられてよい。例えば、アクションロガー640は、ユーザによる外部システム620との対話を記述するデータをウェブサーバ632から受信し得る。この例では、外部システム620は、ソーシャルグラフ中の構造化されたアクションおよびオブジェクトに従って、ユーザによる対話を報告する。
【0118】
ユーザが外部システム620と対話するアクションの他の例は、ユーザが外部システム620もしくは別のエンティティにおいて関心を表出すること、ユーザが外部システム620もしくは外部システム620内のウェブページ622aについて論じるコメントをソーシャルネットワーキングシステム630に投稿すること、ユーザがソーシャルネットワーキングシステム630に対して、ユニフォームリソースロケータ(URL)もしくは外部システム620に関連付けられた他の識別子を投稿すること、ユーザが外部システム620に関連付けられたイベントに参加すること、または、外部システム620に関係するユーザによる任意の他のアクションを含む。よって、アクティビティログ642は、ソーシャルネットワーキングシステム630のユーザと、ソーシャルネットワーキングシステム630とは別個の外部システム620との間の対話を記述するアクションを含み得る。
【0119】
認証サーバ644は、ソーシャルネットワーキングシステム630のユーザの1つまたは複数のプライバシー設定を強化する。ユーザのプライバシー設定は、ユーザに関連付けられた特定の情報がどのように共有され得るかを決定する。プライバシー設定は、ユーザに関連付けられた特定の情報の仕様と、情報が共有され得る1つまたは複数のエンティティの仕様とを備える。情報が共有され得るエンティティの例は、他のユーザ、アプリケーション、外部システム620、または、その情報にアクセスする可能性のある任意のエンティティを含み得る。ユーザによって共有され得る情報は、プロフィール写真などのユーザアカウント情報、ユーザに関連付けられた電話番号、ユーザのつながり、つながりを追加することやユーザプロフィール情報を変更することなどのユーザによって行われるアクション等を備える。
【0120】
プライバシー設定の仕様は、種々のレベルの粒度で提供され得る。例えば、プライバシー設定は、他のユーザと共有されるべき具体的な情報を識別し得る。プライバシー設定は、職場電話番号、または、プロフィール写真、自宅電話番号、およびステータスを含む個人情報などの関連情報の具体的な組を識別する。代替的に、プライバシー設定は、ユーザに関連付けられたすべての情報に適用されてもよい。特定の情報にアクセスすることができるエンティティの組の仕様も、様々なレベルの粒度で指定され得る。情報が共有され得るエンティティの様々な組は、例えば、ユーザのすべての友達、友達のすべての友達、すべてのアプリケーション、またはすべての外部システム620を含み得る。1つの実施形態は、エンティティの組の仕様がエンティティの一覧表を備えることを可能にする。例えば、ユーザは、ある情報にアクセスすることを許される外部システム620のリストを提供し得る。別の実施形態は、仕様が、情報にアクセスすることを許されない例外と併せてエンティティの組を備えることを可能にする。例えば、ユーザは、すべての外部システム620がユーザの職場情報にアクセスすることを許し得るが、職場情報へのアクセスを許されない外部システム620のリストを指定し得る。ある実施形態では、ある情報にアクセスすることを許されない例外のリストを「ブロックリスト」と呼ぶ。ユーザによって指定されるブロックリストに所属する外部システム620は、プライバシー設定において指定された情報にアクセスできないようにブロックされる。情報の仕様の粒度と、情報が共有されるエンティティの仕様の粒度との様々な組み合わせが可能である。例えば、すべての個人情報は、友達と共有され得るのに対して、すべての職場情報は、友達の友達と共有され得る。
【0121】
認証サーバ644は、ユーザに関連付けられたある情報が、ユーザの友達、外部システム620、ならびに/または他のアプリケーションおよびエンティティによってアクセスされることが可能かどうかを決定するロジックを保有する。外部システム620は、ユーザの職場電話番号など、ユーザのより個人的かつ機密的な情報にアクセスするために、認証サーバ644からの認証を必要とし得る。ユーザのプライバシー設定に基づいて、認証サーバ644は、別のユーザ、外部システム620、アプリケーション、または別のエンティティが、ユーザによって行われたアクションに関する情報を含む、ユーザに関連付けられた情報にアクセスすることを許されるかを判定する。
【0122】
いくつかの実施形態では、ソーシャルネットワーキングシステム630は、メディアコンテンツ遷移モジュール646を含むことができる。メディアコンテンツ遷移モジュール646は、本明細書でさらに詳しく論じるように、メディアコンテンツ遷移モジュール102と共に実装することができる。いくつかの実施形態では、メディアコンテンツ遷移モジュール646の1つまたは複数の機能性は、ユーザデバイス610内に実装することができる。
【0123】
ハードウェア実装
前述のプロセスおよび特徴は、多種多様なマシンおよびコンピュータシステムアーキテクチャによって、ならびに、多種多様なネットワークおよびコンピューティング環境において実装することができる。
図7は、本発明の一実施形態による、本明細書に記載される実施形態の1つまたは複数を実装するために使用され得るコンピュータシステム700の一例を例示する。コンピュータシステム700は、コンピュータシステム700に、本明細書で論じられるプロセスおよび特徴を行わせるための命令のセットを含む。コンピュータシステム700は、他のマシンに接続され(例えばネットワーク化され)得る。ネットワーク化された配備では、コンピュータシステム700は、クライアント/サーバネットワーク環境内のサーバマシンもしくはクライアントマシンの資格で動作する、または、ピアツーピア(もしくは分散)ネットワーク環境内のピアマシンとして動作し得る。本発明の一実施形態では、コンピュータシステム700は、ソーシャルネットワーキングシステム630、ユーザデバイス610、および外部システム720、またはそれらの一構成要素であってよい。本発明の一実施形態では、コンピュータシステム700は、ソーシャルネットワーキングシステム630の一部または全部を構成する多数のサーバの中の1つのサーバであってよい。
【0124】
コンピュータシステム700は、プロセッサ702と、キャッシュ704と、コンピュータ可読媒体に記憶され、本明細書に記載されるプロセスおよび特徴を対象とする、1つまたは複数の実行可能なモジュールおよびドライバとを含む。また、コンピュータシステム700は、高性能入出力(I/O)バス706と、標準I/Oバス708とを含む。ホストブリッジ710が、プロセッサ702を高性能I/Oバス706に結合するのに対し、I/Oバスブリッジ712は、2つのバス706および708を互いに結合する。システムメモリ714および1つまたは複数のネットワークインターフェース716が、高性能I/Oバス706に結合される。コンピュータシステム700は、ビデオメモリと、ビデオメモリに結合された表示デバイスとをさらに含んでよい(図示せず)。マスストレージ718およびI/Oポート720が、標準I/Oバス708に結合される。コンピュータシステム700は、標準I/Oバス708に結合される、キーボードおよびポインティングデバイス、表示デバイス、または他の入出力デバイス(図示せず)を任意選択で含んでもよい。全体的に、これらの要素は、カリフォルニア州サンタクララのインテルコーポレーション社(Intel Corporation)によって製造されるx86互換プロセッサ、カリフォルニア州サニーベルのアドバンスト・マイクロ・デバイス社(AMD:Advanced Micro Devices,Inc)によって製造されるx86互換プロセッサ、および任意の他の適切なプロセッサに基づくコンピュータシステムを含むが、これらに限定されない、広範なカテゴリのコンピュータハードウェアシステムを表現することが意図される。
【0125】
オペレーティングシステムが、ソフトウェアアプリケーション(図示せず)との間のデータの入力および出力を含む、コンピュータシステム700の動作を管理および制御する。オペレーティングシステムは、システム上で実行されているソフトウェアアプリケーションと、システムのハードウェア構成要素との間のインターフェースを提供する。任意の適切なオペレーティングシステム、例えば、LINUXオペレーティングシステム、カリフォルニア州クパチーノのアップル・コンピュータ社(Apple Computer,Inc.)から市販されているアップル・マッキントッシュ・オペレーティング・システム、UNIXオペレーティングシステム、Microsoft(登録商標)Windows(登録商標)オペレーティングシステム、BSDオペレーティングシステム等が使用され得る。他の実装形態が可能である。
【0126】
コンピュータシステム700の要素について以下詳細に説明する。具体的には、ネットワークインターフェース716は、コンピュータシステム700と、幅広いネットワークのうちの任意のもの、例えば、イーサネット(例えばIEEE802.3)ネットワーク、バックプレーン等との間の通信を提供する。マスストレージ718は、上記に識別されたそれぞれのコンピューティングシステムによって実装される上述されたプロセスおよび特徴を行うためのデータおよびプログラミング命令のための永続的なストレージを提供するのに対して、システムメモリ714(例えばDRAM)は、プロセッサ702によって実行されたときデータおよびプログラミング命令のための一時的なストレージを提供する。I/Oポート720は、コンピュータシステム700に結合され得る追加的な周辺デバイス間の通信を提供する、1つまたは複数のシリアル通信ポートおよび/またはパラレル通信ポートであり得る。
【0127】
コンピュータシステム700は、各種システムアーキテクチャを含んでよく、コンピュータシステム700の様々な構成要素は、構成が変更されてよい。例えば、キャッシュ704は、プロセッサ702と共にチップ上に実装されてもよい。代替的に、キャッシュ704およびプロセッサ702が「プロセッサモジュール」としてまとめられて、プロセッサ702が「プロセッサコア」と称されてもよい。さらに、本発明のある実施形態は、上記構成要素のすべては必要とせず、また含まなくてよい。例えば、標準I/Oバス708に結合される周辺デバイスは、高性能I/Oバス706に結合されてもよい。加えて、いくつかの実施形態では、単一のバスのみが存在して、コンピュータシステム700の構成要素が、その単一のバスに結合されてもよい。さらに、コンピュータシステム700は、追加的なプロセッサ、記憶デバイス、またはメモリなどの追加的な構成要素を含んでよい。
【0128】
一般に、本明細書に記載されるプロセスおよび特徴は、オペレーティングシステムもしくは特定のアプリケーションの一部、構成要素、プログラム、オブジェクト、モジュール、または「プログラム」と称される一連の命令として実装され得る。例えば、1つまたは複数のプログラムが、本明細書に記載される具体的なプロセスを実行するために使用され得る。プログラムは、典型的には、1つまたは複数のプロセッサによって読み出されて実行されると、本明細書に記載されるプロセスおよび特徴を実行するための動作をコンピュータシステム700に行わせる1つまたは複数の命令を、コンピュータシステム700内の様々なメモリおよび記憶デバイスに備える。本明細書に記載されるプロセスおよび特徴は、ソフトウェア、ファームウェア、ハードウェア(例えば特定用途向け集積回路)、または、これらの任意の組み合わせとして実装され得る。
【0129】
一実装形態では、本明細書に記載されるプロセスおよび特徴は、分散コンピューティング環境において個々にまたはまとめて、コンピュータシステム700によって実行される一連の実行可能モジュールとして実装される。前述のモジュールは、ハードウェア、コンピュータ可読媒体(もしくは機械可読媒体)に記憶される実行可能モジュール、または、両者の組み合わせによって実現され得る。例えば、モジュールは、プロセッサ702などの、ハードウェアシステム内のプロセッサによって実行される複数の命令または一連の命令を備え得る。まず、一連の命令は、マスストレージ718などの記憶デバイスに記憶され得る。ただし、一連の命令は、任意の適切なコンピュータ可読記憶媒体に記憶することができる。さらに、一連の命令は、ローカルに記憶される必要はなく、ネットワーク上のサーバなどの遠隔記憶デバイスからネットワークインターフェース716を通じて受信されてもよい。命令は、マスストレージ718などの記憶デバイスからシステムメモリ714内へコピーされ、次いで、プロセッサ702によってアクセスされ、実行される。様々な実装形態において、1つまたは複数のモジュールは、並列処理環境内の複数のサーバなど、1つまたは複数のロケーションにある1つまたは複数のプロセッサによって実行され得る。
【0130】
コンピュータ可読媒体の例は、揮発性メモリデバイスおよび不揮発性メモリデバイスなどの記録可能なタイプの媒体、ソリッドステートメモリ、フロッピーディスクおよび他の取り外し可能なディスク、ハードディスクドライブ、磁気媒体、光ディスク(例えばコンパクトディスク読取専用メモリ(CD ROMS)、デジタル多用途ディスク(DVD))、他の同様の非一時的で(もしくは一時的で)、有形の(もしくは無形の)記憶媒体、または、本明細書に記載されるプロセスおよび特徴のうちの任意の1つもしくは複数を行うためにコンピュータシステム700により実行される一連の命令を記憶し、符号化し、もしくは担持するのに適切な任意のタイプの媒体を含むが、これらに限定されない。
【0131】
説明の目的のために、多くの具体的な詳細が、本説明の完全な理解を提供するために述べられている。しかし、こうした具体的な詳細なしに本開示の実施形態が実施され得ることは、当業者には明らかであろう。事例によっては、モジュール、構造、プロセス、特徴、およびデバイスは、説明を不明瞭にすることを回避するために、ブロック図の形式で示される。他の事例において、データおよび論理フローを表現するために、機能ブロック図およびフロー図が示される。ブロック図およびフロー図の構成要素(例えばモジュール、ブロック、構造、デバイス、特徴等)は、本明細書において明示的に記載および図示されたような方式以外の方式で、様々に組み合わされ、分離され、除去され、順序を並べ替えられ、置換されてもよい。
【0132】
本明細書における、「1つの実施形態」、「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「様々な実施形態」等への言及は、実施形態に関連して記載される特定の特徴、設計、構造、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。本明細書内の様々な箇所における、例えば「1つの実施形態では」、または「一実施形態では」という句の出現は、必ずしもすべてが同じ実施形態に言及するものとは限らず、また、別個の実施形態または代替的な実施形態は、他の実施形態と相互排他的ではない。さらに、「実施形態」等への明示的な言及が存在しても存在しなくても、様々な特徴が記載され、様々な特徴は、いくつかの実施形態において様々に組み合わされ、含まれ得るが、他の実施形態では様々に省略されてもよい。同様に、いくつかの実施形態にとっては選好事項または要件であり得るが、他の実施形態にとっては選好事項または要件ではない、様々な特徴が記載される。
【0133】
本明細書において使用される文言は、主に、読みやすさと教育的目的のために選択されており、発明の主題の範囲を示す、または範囲を定めるために選択されたものとは限らない。したがって、本発明の範囲は、この詳細な説明によってではなく、本明細書に基づく出願に関して生じる特許請求の範囲によって限定されることが意図される。そのため、本発明の実施形態の開示は、添付の特許請求の範囲に記述される本発明の範囲を例示することを意図しており、限定することは意図していない。