特許第6735358号(P6735358)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ フェイスブック,インク.の特許一覧

特許6735358コンテンツを提示するためのシステムおよび方法
<>
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000002
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000003
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000004
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000005
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000006
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000007
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000008
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000009
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000010
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000011
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000012
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000013
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000014
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000015
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000016
  • 特許6735358-コンテンツを提示するためのシステムおよび方法 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6735358
(24)【登録日】2020年7月15日
(45)【発行日】2020年8月5日
(54)【発明の名称】コンテンツを提示するためのシステムおよび方法
(51)【国際特許分類】
   H04N 21/435 20110101AFI20200728BHJP
   G06Q 50/00 20120101ALI20200728BHJP
【FI】
   H04N21/435
   G06Q50/00 300
【請求項の数】20
【全頁数】36
(21)【出願番号】特願2018-557333(P2018-557333)
(86)(22)【出願日】2016年5月3日
(65)【公表番号】特表2019-521547(P2019-521547A)
(43)【公表日】2019年7月25日
(86)【国際出願番号】US2016030592
(87)【国際公開番号】WO2017192125
(87)【国際公開日】20171109
【審査請求日】2019年4月26日
(31)【優先権主張番号】15/144,695
(32)【優先日】2016年5月2日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】110002974
【氏名又は名称】特許業務法人World IP
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】ウォーレン、クリフ
(72)【発明者】
【氏名】サットン、チャールズ マシュー
(72)【発明者】
【氏名】グプタ、チェタン パラグ
(72)【発明者】
【氏名】スー、ジョイス
(72)【発明者】
【氏名】フー、アニング
(72)【発明者】
【氏名】ゼン、ジユ
【審査官】 長谷川 素直
(56)【参考文献】
【文献】 国際公開第2016/009864(WO,A1)
【文献】 特開2015−186148(JP,A)
【文献】 特開2014−075743(JP,A)
【文献】 特開2004−021729(JP,A)
【文献】 特開2012−095118(JP,A)
【文献】 特表2012−529685(JP,A)
【文献】 米国特許出願公開第2015/0124048(US,A1)
【文献】 特開2005−268991(JP,A)
【文献】 特開2015−185964(JP,A)
【文献】 特開2015−162117(JP,A)
【文献】 特開2011−243205(JP,A)
【文献】 国際公開第2013/024364(WO,A2)
【文献】 特開2006−333453(JP,A)
【文献】 特開2000−182065(JP,A)
【文献】 特表2015−535399(JP,A)
【文献】 米国特許出願公開第2012/0216121(US,A1)
【文献】 米国特許出願公開第2015/0256808(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00−21/858
G06Q 50/00
(57)【特許請求の範囲】
【請求項1】
コンピュータが実行する方法であって、
コンピューティングデバイスが、コンテンツアイテムにアクセスするための少なくとも1つの要求を決定することであって、要求されたコンテンツアイテムは、1組の異なる位置から1つまたは複数のシーンを撮像する1組のカメラフィードを用いて構成される、前記少なくとも1つの要求を決定すること、
前記コンピューティングデバイスが、前記要求されたコンテンツアイテムにおける前記1つまたは複数のシーンのうちの少なくとも幾つかをナビゲートする自動視聴モードを記述する情報を取得すること、
前記コンピューティングデバイスが、前記要求されたコンテンツアイテムの再生が提示される前記コンピューティングデバイスの表示画面上にビューポートインタフェースを提供すること、
前記コンピューティングデバイスが、前記自動視聴モードに少なくとも部分的に基づいた前記要求されたコンテンツアイテムの再生中に前記1つまたは複数のシーンのうちの少なくとも幾つかにわたって、前記ビューポートインタフェースが自動的にナビゲートされるようにすること、を備え
ナビゲーションインジケータ(602)は、コンテンツアイテムがアクセスされた場合に、前記ビューポートインタフェースに提示され、前記ナビゲーションインジケータ(602)は、前記コンテンツアイテムがアクセスされている間、ビューポートの初期方向または意図された方向(604)を示し、ここで方向(604)は、前記コンテンツアイテムの開発者によって指定され、前記方向(604)は、前記コンテンツアイテムの再生中に異なる時点で変化し、
前記ナビゲーションインジケータ(602)は、前記コンテンツにより撮像される1つまたは複数のシーンにアクセスしている間に前記ビューポートの方向または方位を示す方位インジケータ(606)も含み、前記ビューポートの方向は、前記方位インジケータ(606)の方向によって示され、
前記ビューポートの方向が変化すると、前記方位インジケータ(606)が、更新されたビューポートの方向に対応する方向に向くように点(608)の周りを回転し、前記方位インジケータ(606)により示される方向は、垂直軸に沿った前記ビューポートの動きに対応し、
前記方位インジケータ(606)は、アクセスされた1つまたは複数のシーンにおける前記ビューポートのズームレベルも示し、
前記方位インジケータ(606)の長さまたはサイズは、前記ビューポートのより高いズームレベルを示すために前記点(608)の周りで増大または伸長し、前記方位インジケータ(606)の長さまたはサイズは、前記ビューポートの縮小されたズームレベルを示すために前記点(608)の周りで減少または収縮し、
前記コンテンツアイテムは、デフォルトのズームレベルに関連付けられており、コンテンツアイテムの開発者は、前記ビューポートを通じて適用される最小および/または最大のズームレベルを指定することができる、方法。
【請求項2】
前記自動視聴モードを記述する情報を取得することは、
前記コンピューティングデバイスが、前記要求されたコンテンツアイテムの再生中に前記1つまたは複数のシーンのうちの少なくとも幾つかにわたって前記ビューポートインタフェースをナビゲートするための少なくとも1つの軌跡を記述する情報を取得すること、を含む、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの軌跡を記述する情報を取得することは、
前記コンピューティングデバイスが、ユーザの1つまたは複数の属性に少なくとも部分的に基づいて前記コンピューティングデバイスを操作するユーザに対応するカテゴリを決定すること、
前記コンピューティングデバイスが、前記カテゴリに関連付けられた少なくとも1つの軌跡を取得することであって、前記軌跡は、前記カテゴリに含まれる少なくとも幾人かのユーザにとって関心があると判定されている、前記少なくとも1つの軌跡を取得すること、を含む、請求項に記載の方法。
【請求項4】
前記自動視聴モードを記述する情報を取得することは、
前記コンピューティングデバイスが、前記要求されたコンテンツアイテムの再生中に現れる少なくとも1つの注目点を記述する情報を取得すること、
前記コンピューティングデバイスが、前記要求されたコンテンツアイテムの再生中に前記1つまたは複数のシーンのうちの少なくとも幾つかにわたって、前記ビューポートインタフェースをナビゲートするための少なくとも1つの軌跡を記述する情報を取得すること、をさらに含み、
前記軌跡は、前記少なくとも1つの注目点を含む、請求項1に記載の方法。
【請求項5】
前記少なくとも1つの注目点は、前記要求されたコンテンツアイテムの開発者によって定義される、請求項4に記載の方法。
【請求項6】
前記少なくとも1つの注目点を記述する情報を取得することは、
前記コンピューティングデバイスが、ユーザの1つまたは複数の属性に少なくとも部分的に基づいて前記コンピューティングデバイスを操作するユーザに対応するカテゴリを決定すること、
前記コンピューティングデバイスが、前記カテゴリに関連付けられた少なくとも1つの注目点を取得すること、を含み、
前記少なくとも1つの注目点は、前記カテゴリに含まれる少なくとも幾人かのユーザにとって関心があると判定されている、請求項4に記載の方法。
【請求項7】
前記コンピューティングデバイスが、前記ビューポートインタフェースをマニュアルで特定の注目点にナビゲートするために、前記要求されたコンテンツアイテムの再生中に前記コンピューティングデバイスを操作するユーザが1つまたは複数のアクションを実行したことを判定すること、
前記コンピューティングデバイスが、前記特定の注目点を共有するための操作が実行されたことを判定すること、
前記コンピューティングデバイスが、前記特定の注目点を記述する情報がソーシャルネットワーキングシステムを介して共有されるようにすること、をさらに備える請求項1に記載の方法。
【請求項8】
前記コンピューティングデバイスが、前記ビューポートインタフェースをマニュアルでナビゲートしてカスタマイズされた軌跡を生成するために、前記要求されたコンテンツアイテムの再生中に前記コンピューティングデバイスを操作するユーザが1つまたは複数のアクションを実行したことを判定すること、
前記コンピューティングデバイスが、前記カスタマイズされた軌跡を共有するための操作が実行されたことを判定すること、
前記コンピューティングデバイスが、前記カスタマイズされた軌跡を記述する情報がソーシャルネットワーキングシステムを介して共有されるようにすること、をさらに備える請求項1に記載の方法。
【請求項9】
前記ビューポートインタフェースが自動的にナビゲートされるようにすることは、
前記コンピューティングデバイスが、前記要求されたコンテンツアイテムは第1の注目点および第2の注目点を含むと判定することであって、前記第2の注目点は、前記要求されたコンテンツアイテムの再生中に第1の注目点の後に現れる、前記判定すること、
前記コンピューティングデバイスが、前記ビューポートインタフェースを前記第1の注目点から前記第2の注目点に自動的にナビゲートする前に方向インジケータが前記ビューポートインタフェースに表示されるようにすること、をさらに含み、
前記方向インジケータは、前記第2の注目点に対応する方向を指し示す、請求項1に記載の方法。
【請求項10】
前記ビューポートインタフェースが自動的にナビゲートされるようにすることは、
前記コンピューティングデバイスが、前記要求されたコンテンツアイテムは第1の注目点および第2の注目点を含むと判定することであって、前記第2の注目点は、前記要求されたコンテンツアイテムの再生中に第1の注目点の後に現れる、前記判定すること、
前記コンピューティングデバイスが、少なくとも1つの映像トランジション技術を用いて前記ビューポートインタフェースが前記第1の注目点から前記第2の注目点に自動的にナビゲートされるようにすること、をさらに含む、請求項1に記載の方法。
【請求項11】
システムであって、
少なくとも1つのプロセッサと、
複数の命令を記憶するメモリと、を備え、
前記複数の命令は、前記少なくとも1つのプロセッサによって実行されると、
前記システムに、
コンテンツアイテムにアクセスするための少なくとも1つの要求を決定することであって、要求されたコンテンツアイテムは、1組の異なる位置から1つまたは複数のシーンを撮像する1組のカメラフィードを用いて構成される、前記少なくとも1つの要求を決定すること、
前記要求されたコンテンツアイテムにおける前記1つまたは複数のシーンのうちの少なくとも幾つかをナビゲートする自動視聴モードを記述する情報を取得すること、
前記要求されたコンテンツアイテムの再生が提示されるコンピューティングデバイスの表示画面上にビューポートインタフェースを提供すること、
前記自動視聴モードに少なくとも部分的に基づいた前記要求されたコンテンツアイテムの再生中に前記1つまたは複数のシーンのうちの少なくとも幾つかにわたって、前記ビューポートインタフェースが自動的にナビゲートされるようにすること、を行わせ
ナビゲーションインジケータ(602)は、コンテンツアイテムがアクセスされた場合に、前記ビューポートインタフェースに提示され、前記ナビゲーションインジケータ(602)は、前記コンテンツアイテムがアクセスされている間、ビューポートの初期方向または意図された方向(604)を示し、ここで方向(604)は、前記コンテンツアイテムの開発者によって指定され、前記方向(604)は、前記コンテンツアイテムの再生中に異なる時点で変化し、
前記ナビゲーションインジケータ(602)は、前記コンテンツにより撮像される1つまたは複数のシーンにアクセスしている間に前記ビューポートの方向または方位を示す方位インジケータ(606)も含み、前記ビューポートの方向は、前記方位インジケータ(606)の方向によって示され、
前記ビューポートの方向が変化すると、前記方位インジケータ(606)が、更新されたビューポートの方向に対応する方向に向くように点(608)の周りを回転し、前記方位インジケータ(606)により示される方向は、垂直軸に沿った前記ビューポートの動きに対応し、
前記方位インジケータ(606)は、アクセスされた1つまたは複数のシーンにおける前記ビューポートのズームレベルも示し、
前記方位インジケータ(606)の長さまたはサイズは、前記ビューポートのより高いズームレベルを示すために前記点(608)の周りで増大または伸長し、前記方位インジケータ(606)の長さまたはサイズは、前記ビューポートの縮小されたズームレベルを示すために前記点(608)の周りで減少または収縮し、
前記コンテンツアイテムは、デフォルトのズームレベルに関連付けられており、コンテンツアイテムの開発者は、前記ビューポートを通じて適用される最小および/または最大のズームレベルを指定することができる、システム。
【請求項12】
前記自動視聴モードを記述する情報を取得することは、
前記要求されたコンテンツアイテムの再生中に前記1つまたは複数のシーンのうちの少なくとも幾つかにわたって前記ビューポートインタフェースをナビゲートするための少なくとも1つの軌跡を記述する情報を取得すること、を前記システムにさらに行わせる、請求項11に記載のシステム。
【請求項13】
前記少なくとも1つの軌跡を記述する情報を取得することは、
ユーザの1つまたは複数の属性に少なくとも部分的に基づいて前記コンピューティングデバイスを操作するユーザに対応するカテゴリを決定すること、
前記カテゴリに関連付けられた少なくとも1つの軌跡を取得することであって、前記軌跡は、前記カテゴリに含まれる少なくとも幾人かのユーザにとって関心があると判定されている、前記少なくとも1つの軌跡を取得すること、を前記システムにさらに行わせる、請求項12に記載のシステム。
【請求項14】
前記自動視聴モードを記述する情報を取得することは、
前記要求されたコンテンツアイテムの再生中に現れる少なくとも1つの注目点を記述する情報を取得すること、
前記要求されたコンテンツアイテムの再生中に前記1つまたは複数のシーンのうちの少なくとも幾つかにわたって、前記ビューポートインタフェースをナビゲートするための少なくとも1つの軌跡を記述する情報を取得することであって、前記軌跡は、前記少なくとも1つの注目点を含む、前記取得すること、を前記システムにさらに行わせる、請求項11に記載のシステム。
【請求項15】
前記少なくとも1つの注目点は、前記要求されたコンテンツアイテムの開発者によって定義される、請求項14に記載のシステム。
【請求項16】
複数の命令を備える非一時的なコンピュータ可読記憶媒体であって、
前記複数の命令は、コンピューティングシステムの少なくとも1つのプロセッサにより実行されると、
前記コンピューティングシステムに、
コンテンツアイテムにアクセスするための少なくとも1つの要求を決定することであって、要求されたコンテンツアイテムは、1組の異なる位置から1つまたは複数のシーンを撮像する1組のカメラフィードを用いて構成される、前記少なくとも1つの要求を決定すること、
前記要求されたコンテンツアイテムにおける前記1つまたは複数のシーンのうちの少なくとも幾つかをナビゲートする自動視聴モードを記述する情報を取得すること、
前記要求されたコンテンツアイテムの再生が提示されるコンピューティングデバイスの表示画面上にビューポートインタフェースを提供すること、
前記自動視聴モードに少なくとも部分的に基づいた前記要求されたコンテンツアイテムの再生中に前記1つまたは複数のシーンのうちの少なくとも幾つかにわたって、前記ビューポートインタフェースが自動的にナビゲートされるようにすること、を含む方法を行わせ
ナビゲーションインジケータ(602)は、コンテンツアイテムがアクセスされた場合に、前記ビューポートインタフェースに提示され、前記ナビゲーションインジケータ(602)は、前記コンテンツアイテムがアクセスされている間、ビューポートの初期方向または意図された方向(604)を示し、ここで方向(604)は、前記コンテンツアイテムの開発者によって指定され、前記方向(604)は、前記コンテンツアイテムの再生中に異なる時点で変化し、
前記ナビゲーションインジケータ(602)は、前記コンテンツにより撮像される1つまたは複数のシーンにアクセスしている間に前記ビューポートの方向または方位を示す方位インジケータ(606)も含み、前記ビューポートの方向は、前記方位インジケータ(606)の方向によって示され、
前記ビューポートの方向が変化すると、前記方位インジケータ(606)が、更新されたビューポートの方向に対応する方向に向くように点(608)の周りを回転し、前記方位インジケータ(606)により示される方向は、垂直軸に沿った前記ビューポートの動きに対応し、
前記方位インジケータ(606)は、アクセスされた1つまたは複数のシーンにおける前記ビューポートのズームレベルも示し、
前記方位インジケータ(606)の長さまたはサイズは、前記ビューポートのより高いズームレベルを示すために前記点(608)の周りで増大または伸長し、前記方位インジケータ(606)の長さまたはサイズは、前記ビューポートの縮小されたズームレベルを示すために前記点(608)の周りで減少または収縮し、
前記コンテンツアイテムは、デフォルトのズームレベルに関連付けられており、コンテンツアイテムの開発者は、前記ビューポートを通じて適用される最小および/または最大のズームレベルを指定することができる、非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記自動視聴モードを記述する情報を取得することは、
前記要求されたコンテンツアイテムの再生中に前記1つまたは複数のシーンのうちの少なくとも幾つかにわたって前記ビューポートインタフェースをナビゲートするための少なくとも1つの軌跡を記述する情報を取得すること、を前記コンピューティングシステムにさらに行わせる、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記少なくとも1つの軌跡を記述する情報を取得することは、
ユーザの1つまたは複数の属性に少なくとも部分的に基づいて前記コンピューティングデバイスを操作するユーザに対応するカテゴリを決定すること、
前記カテゴリに関連付けられた少なくとも1つの軌跡を取得することであって、前記軌跡は、前記カテゴリに含まれる少なくとも幾人かのユーザにとって関心があると判定されている、前記少なくとも1つの軌跡を取得すること、を前記コンピューティングシステムにさらに行わせる、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記自動視聴モードを記述する情報を取得することは、
前記要求されたコンテンツアイテムの再生中に現れる少なくとも1つの注目点を記述する情報を取得すること、
前記要求されたコンテンツアイテムの再生中に前記1つまたは複数のシーンのうちの少なくとも幾つかにわたって、前記ビューポートインタフェースをナビゲートするための少なくとも1つの軌跡を記述する情報を取得することであって、前記軌跡は、前記少なくとも1つの注目点を含む、前記取得すること、を前記コンピューティングシステムにさらに行わせる、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項20】
前記少なくとも1つの注目点は、前記要求されたコンテンツアイテムの開発者によって定義される、請求項19に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、コンテンツ提示の分野に関する。より詳細には、本技術は、コンピューティングデバイスを通じて、コンテンツアイテムを提示するための技法に関する。
【背景技術】
【0002】
今日、人々は、多種多様な目的のためにコンピューティングデバイス(またはコンピューティングシステム)を利用している。ユーザは、コンピューティングデバイスを操作して、例えば、相互に対話したり、コンテンツを作成したり、コンテンツを共有したり、情報にアクセスしたりすることができる。従来のアプローチでは、コンテンツアイテム(例えば、画像、映像、音声ファイルなど)は、コンテンツ共有プラットフォームを通じて、利用可能にすることができる。ユーザは、自身のコンピューティングデバイスを操作して、プラットフォームを通じて、コンテンツアイテムにアクセスすることができる。典型的には、コンテンツアイテムは、例えば、コンテンツのパブリッシャおよびコンテンツ共有プラットフォームのユーザを含む多様なエンティティにより、提供またはアップロードされることができる。場合によっては、コンテンツアイテムを、カテゴライズおよびキュレートまたはカテゴライズもしくはキュレートすることができる。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の様々な実施形態は、コンテンツアイテムにアクセスするための少なくとも1つの要求を決定するように構成されたシステム、方法、および非一時的なコンピュータ可読媒体を含み、要求されたコンテンツアイテムは、1組の異なる位置から1つまたは複数のシーンを撮像する1組のカメラフィードを用いて構成される。要求されたコンテンツアイテムにおける1つまたは複数のシーンのうちの少なくとも幾つかをナビゲートする自動視聴モードを記述する情報が取得される。要求されたコンテンツアイテムの再生が提示されるコンピューティングデバイスの表示画面上にビューポートインタフェースが提供される。自動視聴モードに少なくとも部分的に基づいた要求されたコンテンツアイテムの再生中に1つまたは複数のシーンのうちの少なくとも幾つかにわたって、ビューポートインタフェースが自動的にナビゲートされる。
【0004】
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、要求されたコンテンツアイテムの再生中に1つまたは複数のシーンのうちの少なくとも幾つかにわたってビューポートインタフェースをナビゲートするための少なくとも1つの軌跡を記述する情報を取得するように構成される。
【0005】
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、ユーザの1つまたは複数の属性に少なくとも部分的に基づいてコンピューティングデバイスを操作するユーザに対応するカテゴリを決定すること、カテゴリに関連付けられた少なくとも1つの軌跡を取得することであって、軌跡は、前記カテゴリに含まれる少なくとも幾人にとって関心があると判定されている、少なくとも1つの軌跡を取得すること、を実行するように構成される。
【0006】
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、要求されたコンテンツアイテムの再生中に現れる少なくとも1つの注目点を記述する情報を取得すること、要求されたコンテンツアイテムの再生中に1つまたは複数のシーンのうちの少なくとも幾つかにわたって、ビューポートインタフェースをナビゲートするための少なくとも1つの軌跡を記述する情報を取得すること、を実行するように構成され、軌跡は、少なくとも1つの注目点を含む。
【0007】
幾つかの実施形態では、少なくとも1つの注目点は、要求されたコンテンツアイテムの開発者によって定義される。
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、ユーザの1つまたは複数の属性に少なくとも部分的に基づいてコンピューティングデバイスを操作するユーザに対応するカテゴリを決定すること、カテゴリに関連付けられた少なくとも1つの注目点を取得すること、を実行するように構成され、少なくとも1つの注目点は、カテゴリに含まれる少なくとも幾人にとって関心があると判定されている。
【0008】
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、ビューポートインタフェースをマニュアルで特定の注目点にナビゲートするために、要求されたコンテンツアイテムの再生中にコンピューティングデバイスを操作するユーザが1つまたは複数のアクションを実行したことを判定すること、特定の注目点を共有するための操作が実行されたことを判定すること、特定の注目点を記述する情報がソーシャルネットワーキングシステムを介して共有されるようにすること、を実行するように構成される。
【0009】
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、ビューポートインタフェースをマニュアルでナビゲートしてカスタマイズされた軌跡を生成するために、要求されたコンテンツアイテムの再生中にコンピューティングデバイスを操作するユーザが1つまたは複数のアクションを実行したことを判定すること、カスタマイズされた軌跡を共有するための操作が実行されたことを判定すること、カスタマイズされた軌跡を記述する情報がソーシャルネットワーキングシステムを介して共有されるようにすること、を実行するように構成される。
【0010】
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、要求されたコンテンツアイテムが、第1の注目点および第2の注目点を含むと判定することであって、第2の注目点は、要求されたコンテンツアイテムの再生中に第1の注目点の後に現れる、判定すること、ビューポートインタフェースを第1の注目点から第2の注目点に自動的にナビゲートする前に方向インジケータがビューポートインタフェースに表示されるようにすること、を実行するように構成され、方向インジケータは、第2の注目点に対応する方向を指し示す。
【0011】
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、要求されたコンテンツアイテムは、第1の注目点および第2の注目点を含むと判定することであって、第2の注目点は、要求されたコンテンツアイテムの再生中に第1の注目点の後に現れる、判定すること、少なくとも1つの映像トランジション技術を用いてビューポートインタフェースが第1の注目点から第2の注目点に自動的にナビゲートされること、を実行するように構成される。
【0012】
開示された技術の多くの他の特徴、応用、実施形態、および/または変形は、添付の図面および以下の詳細な説明から明らかとなることを理解されたい。開示された技術の原理から逸脱することなく、本明細書に記載の構造、システム、非一時的なコンピュータ可読媒体、および方法の追加の実施態様および代替の実施態様の両方または一方を採用することができる。
【図面の簡単な説明】
【0013】
図1】本開示の一実施形態による例示的なコンテンツプレゼンテーションモジュールを含む例示的なシステムを示す。
図2】本開示の一実施形態によるインタフェースモジュールの一例を示す。
図3】本開示の一実施形態によるコンテンツディレクタモジュールの一例を示す。
図4A】本開示の一実施形態による、コンテンツアイテムがアクセスされた場合にナビゲーションインジケータが提供されるビューポートインタフェースの例を示す。
図4B】本開示の一実施形態による、コンテンツアイテムがアクセスされた場合にナビゲーションインジケータが提供されるビューポートインタフェースの例を示す。
図4C】本開示の一実施形態による、コンテンツアイテムがアクセスされた場合にナビゲーションインジケータが提供されるビューポートインタフェースの例を示す。
図5】本開示の一実施形態による仮想コンテンツアイテムのユーザエクスペリエンスをカスタマイズするための開発者インタフェースの一例を示す。
図6A-F】本開示の実施形態によるコンテンツアイテムがアクセスされた場合にビューポートインタフェースに提供可能なナビゲーションインジケータの例を示す。
図7】本開示の一実施形態によるビューポートインタフェースをナビゲートする例示的な方法を示す。
図8】本開示の実施形態による、多様なシナリオで利用することができる例示的なソーシャルネットワーキングシステムを含む例示的なシステムのネットワーク図である。
図9】本開示の実施形態による、多様なシナリオで利用可能なコンピュータシステムまたはコンピューティングデバイスの例を示す図である。
【発明を実施するための形態】
【0014】
図面は、説明の目的のためだけに、開示された技術の多様な実施形態を示しており、図面は、同様の要素を識別するために同じ参照番号を使用している。当業者は、以下の説明から、本明細書に記載された開示技術の原理から逸脱することなく、図面に示された構造および方法の代替の実施形態を用いることができることを認識するであろう。
【0015】
コンテンツを提示するためのアプローチ
人々は、多種多様な目的のためにコンピューティングデバイス(またはコンピューティングシステム)を使用する。上記のように、従来のアプローチでは、ユーザは、コンピューティングデバイスを利用して、コンテンツアイテム(例えば、ドキュメント、画像、映像、音声など)を他のユーザと共有することができる。従来のアプローチでは、コンテンツアイテム(例えば、画像、映像、音声ファイルなど)は、コンテンツ共有プラットフォームを通じて、利用可能にすることができる。ユーザは、自身のコンピューティングデバイスを操作して、プラットフォームを通じて、コンテンツアイテムにアクセスすることができる。典型的には、コンテンツアイテムは、例えば、コンテンツのパブリッシャ(content publisher)およびコンテンツ共有プラットフォームのユーザを含む多様なエンティティにより、提供またはアップロードされることができる。
【0016】
いくつかの例では、ユーザは、例えば、これらのコンピューティングデバイスの表示画面、仮想現実システム、および/またはヘッドマウントディスプレイを介して、仮想コンテンツにアクセスすることができる。仮想コンテンツは、例えば、地理的位置および/または実行されているアクティビティ(activity)などの複数のシーンを撮像する1つまたは複数のビデオおよび/または画像を使用して構成され得る。このような複数のシーンは、現実世界から撮像され、および/またはコンピュータにより生成されてもよい。場合によっては、仮想コンテンツは、ユーザが仮想コンテンツによってキャプチャされた(captured)シーン内をナビゲートできるように構成されている。したがって、仮想コンテンツにアクセスすることによって、ユーザは、例えば、ユーザが任意の場所に物理的に存在し、および/またはシーンにおいて示されたアクティビティを物理的に実行しているかのように、キャプチャされたシーンを仮想的に経験しナビゲートすることができる。
【0017】
仮想コンテンツは、例えば、シーンの360度のビュー(view)を撮像する全天球映像(spherical video)であってもよい。全天球映像は、異なる場所および/または位置に配置された複数のカメラによって撮像された様々なビデオストリームまたはフィード(feed)を、シーンの360度のビューを撮像するためにスティッチ(stitching)することによって作成される。全体でスティッチされると、ユーザは、全天球映像にアクセスするかまたは全天球映像を再生して、ある角度で全天球映像の一部分を見ることができる。一般に、全天球映像にアクセスする間、ユーザは、全天球映像によって撮像されたシーンの別の部分にアクセスするために、ビューポート(viewport)の方向(例えば、ピッチ、ヨー、ロール)をズームするかおよび変更することができる。仮想コンテンツの特性を考慮すると、ユーザが、ズームレベルおよび/またはビューポートの方向に対する変更を把握することが困難な場合がある。そのような変更は、仮想コンテンツの開発者によって指定された意図されたズームレベルおよび/またはビューポートの方向から逸脱する可能性がある。幾つかの例では、ビューポートの方向を操作(maneuvering)している間に、ユーザは、1つまたは複数の注目点を含む全天球映像の一部を見逃す可能性がある。例えば、ユーザは、ビューポートの方向が反対の方向を向いていれば、注目点がユーザに視認された時点で一方向を見るようにビューポートの方向を変えることができる。そのような注目点がないと、全体的なユーザエクスペリエンスが低下し、ユーザが仮想コンテンツに関与することにも悪影響を与える可能性がる。したがって、このような従来のアプローチは、これらの問題およびコンピュータ技術で生じる他の問題に対処するには効果的でない可能性がある。
【0018】
コンピュータ技術に基づく改良されたアプローチは、コンピュータ技術の分野において特に生じる従来のアプローチに関連する前述の欠点および他の欠点を克服する。様々な実施形態において、ナビゲーション要素またはインジケータは、仮想コンテンツが提示されるインタフェースまたはビューポートに提供され得る。ナビゲーションインジケータは、ユーザが仮想コンテンツと対話して、i)仮想コンテンツによってキャプチャされた複数のシーンにおけるビューポートの方向または方位(heading)、および/またはii)ビューポートのズームレベルを視覚的に示すように自動的に更新され得る。様々な実施形態では、ナビゲーションインジケータは、アクセスされている仮想コンテンツに存在する複数の注目点のそれぞれの方向または方位を示すように構成することもできる。注目点の方向は、例えば、ビューポートの方向に関連してナビゲーションインジケータ内で識別され得る。その結果、ユーザは、注目点の相対的な方向とともに、いつ注目点が視聴可能であるかを容易に判定することができる。いくつかの実施形態では、ユーザは、ユーザのビューポートを複数の注目点にガイドする自動モードを自動的に用いる(engage)ことができる。
【0019】
図1は、本開示の実施形態による、コンテンツアイテムをユーザに提供するように構成された例示的なコンテンツプレゼンテーションモジュール102を含む例示的なシステム100を示す。図1の例に示されるように、コンテンツプレゼンテーションモジュール102は、インタフェースモジュール104と、コンテンツモジュール106と、コンテンツディレクタモジュール108とを含むことができる。場合によっては、例示的なシステム100は、少なくとも1つのデータストア110を含むことができる。この図および本明細書におけるすべての図に示される構成要素(例えば、モジュール、要素など)は、単なる例示にすぎず、任意の他の実施態様は、追加の、より少ない、統合された、または異なる構成要素を含むことができる。いくつかの構成要素は、関連する詳細が不明瞭とならないように図示されない場合がある。
【0020】
いくつかの実施形態では、コンテンツプレゼンテーションモジュール102は、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせとして、部分的にまたは全体的に実装することができる。概して、本明細書で考察されるモジュールは、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせと関連付けることができる。いくつかの実施態様において、モジュールの1つもしくは複数の機能、タスク、および/または動作を、ソフトウェアルーチン、ソフトウェアプロセス、ハードウェア、および/またはこれらの任意の組み合わせによって実行または行うことができる。場合によっては、コンテンツプレゼンテーションモジュール102は、ユーザコンピューティングデバイスまたはクライアントコンピューティングシステム上などの、1つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行しているソフトウェアとして、部分的にまたは全体的に実装することができる。例えば、コンテンツプレゼンテーションモジュール102またはこの少なくとも一部は、図8のユーザデバイス810などのユーザコンピューティングデバイスまたはクライアントコンピューティングシステム上で稼動するアプリケーション(例えば、app)、プログラム、またはアプレットなどとして実装するか、またはこれらの中に実装することができる。さらに、コンテンツプレゼンテーションモジュール102またはこの少なくとも一部は、ネットワークサーバまたはクラウドサーバなどの1つもしくは複数のサーバを含む1つもしくは複数のコンピューティングデバイスまたはコンピューティングシステムを使用して実装することができる。場合によっては、コンテンツプレゼンテーションモジュール102は、図8のソーシャルネットワーキングシステム830などのソーシャルネットワーキングシステム(またはソーシャルネットワーキングサービス)内で部分的にまたは全体的に実装されるか、これと連結して部分的にまたは全体的に動作するように構成することができる。多くの変形例またはその他の可能性が存在し得ることを理解されたい。
【0021】
多様な実施形態では、コンテンツプレゼンテーションモジュール102は、インタフェースモジュール104およびコンテンツモジュール106を利用して、コンテンツアイテムをユーザに提供することができる。インタフェースモジュール104は、コンテンツアイテムが提示される(例えば、ストリームされる(streamed))ことができるビューポート(例えば、グラフィカルユーザーインタフェース)を提供するように構成することができる。例えば、ビューポートは、ユーザにより操作されているコンピューティングデバイス上で実行しているソフトウェアアプリケーションを通じて提供されてもよい。ビューポートは、コンピューティングデバイスの表示画面を通じて提示されてもよい。ユーザは、例えば、入力デバイス、または表示画面を通じてアクション、例えばジェスチャ(例えば、タッチスクリーンジェスチャ、ハンドジェスチャなど)を行うことにより、ビューポートと対話することができる。
【0022】
コンテンツモジュール106は、インタフェースモジュール104によって提供されるインタフェースを介して提示され得る様々なタイプのコンテンツアイテム(content item)を提供するように構成され得る。例えば、コンテンツアイテムは、ソーシャルネットワーキングシステム(例えば、図8のソーシャルネットワーキングシステム830)または幾つかの他のコンテンツプロバイダシステムから取得されてもよい。様々な実施形態では、コンテンツモジュール106は、複数のシーン(例えば、地理的位置および/または実行されているアクティビティ)を撮像する1つまたは複数の映像および/または画像を使用して構成され得る仮想コンテンツを提供することができる。このような複数のシーンは、現実世界から撮像され、および/またはコンピュータにより生成されてもよい。仮想コンテンツは、360度のビューおよび/または任意の3次元(3D)コンテンツを撮像する任意のコンテンツであり得る。さらに、仮想コンテンツは、ビューポートが任意の時点に提示することができるよりも大きい任意のサイズのコンテンツを含むことができる。そのような例では、ビューポートの位置が変更されると、ビューポートは、コンテンツの異なる部分を表示できる。一例では、仮想コンテンツは、例えば、いくつかの例を挙げると、例えば、直線ステッチング(rectilinear stitching)、球状ステッチング(spherical stitching)、立方ステッチング(cubical stitching)を含む一般に知られているイメージステッチング技術を使用して作成され得る。別の例では、仮想コンテンツは、注目点などのシーンの360度のビューを撮像する全天球映像であってもよい。仮想コンテンツの他の例は、モノスコープ(monoscopic)の360度のビューを使用して構成された映像、立体視(stereoscopic)の180度のビューなどを使用して構成された映像を含み得る。全天球映像は、異なる場所および/または位置に配置された複数のカメラによって撮像された様々なビデオストリームまたはフィード(feed)を、シーンの360度のビューを撮像するためにステッチングすることによって作成され得る。このような複数のビデオストリームは、全天球映像の様々な角度(例えば、0度、30度、60度など)で予め決定されてもよい。ひとたび全体でステッチングされると、ユーザは、全天球映像にアクセスするかまたは全天球映像を再生してある角度で全天球映像の一部分を見ることができる。ユーザに示された全天球映像の一部分は、3次元空間におけるユーザのビューポートの位置及び方向に基づいて決定され得る。
【0023】
コンテンツディレクタモジュール108は、仮想コンテンツを見るときのユーザエクスペリエンスのカスタマイズを可能にする様々な機能へのアクセスをコンテンツの開発者に提供することができる。コンテンツディレクタモジュール108に関するさらなる詳細は、図3を参照して以下に提供される。
【0024】
いくつかの実施形態では、コンテンツプレゼンテーションモジュール102は、例示的なシステム100における少なくとも1つのデータストア110と通信および動作または通信もしくは動作するように構成することができる。少なくとも1つのデータストア110は、多様なタイプのデータを記憶および維持するように構成することができる。多様な実施形態では、少なくとも1つのデータストア110は、コンテンツプレゼンテーションモジュール102の機能および動作に関連するデータを格納することができる。そのようなデータの1つの例は、インタフェースモジュール104により提供されたインタフェースを通じてアクセスするために利用可能であるコンテンツアイテムである。いくつかの実施態様において、少なくとも1つのデータストア110は、ソーシャルネットワーキングシステム(例えば、図8のソーシャルネットワーキングシステム830)に関連付けられた情報を格納することができる。ソーシャルネットワーキングシステムに関連付けられた情報としては、ユーザ、ソーシャルつながり、ソーシャル対話、位置、ジオフェンスエリア(geo-fenced area)、地図、場所、イベント、ページ、グループ、投稿、通信、コンテンツ、フィード、アカウント設定、プライバシー設定、ソーシャルグラフについてのデータ、および多様な他のタイプのデータが挙げられる。いくつかの実施態様において、少なくとも1つのデータストア110は、ユーザ識別子、ユーザ情報、プロファイル情報、ユーザ指定の設定、ユーザによって生成または投稿されたコンテンツ、多様な他のタイプのユーザデータなどの、ユーザに関連付けられた情報を格納することができる。多くの変形例または他の可能性が存在し得ることを理解されたい。
【0025】
図2は、本開示の実施形態による、インタフェースモジュール202の例200を示す。いくつかの実施形態では、図1のインタフェースモジュール104は、インタフェースモジュール202と共に実装されることができる。図2の例に示すように、インタフェースモジュール202は、ビュー方向モジュール204と、ビューズームレベルモジュール206と、インジケータモジュール208と、注目点モジュール(a points of interest module)210と、自動モードモジュール212と、モーショントランジションモジュール214と、を含むことができる。
【0026】
上述したように、インタフェースモジュール202は、複数のコンテンツアイテム(例えば、複数の仮想コンテンツアイテム)を提示しアクセスすることができるビューポート(例えば、グラフィカルユーザーインタフェース)を提供するように構成され得る。様々な実施形態では、ユーザは、ユーザによって操作されるコンピューティングデバイスを使用して図1のコンテンツモジュール106を介して提供される複数の仮想コンテンツアイテムにアクセスすることができる。コンピューティングデバイスは、例えば、携帯電話、タブレット、バーチャルリアリティシステム、および/またはヘッドマウントディスプレイを含むコンテンツを処理し提示することができる任意のデバイスとすることができる。アクセスされると、インタフェースモジュール202は、仮想コンテンツアイテムをコンピューティングデバイスのディスプレイスクリーンを介して提示することができる。
【0027】
仮想コンテンツアイテムが最初にアクセスされるとき、コンピューティングデバイスに関連するビューポートは、仮想コンテンツアイテムのシーンの特定の部分を表示する。表示される部分は、シーンに関連するビューポートの位置および/または方向(例えば、ピッチ、ヨー、ロール)に基づくことができる。いくつかの実施形態では、表示される部分は、仮想コンテンツアイテムの開発者によって指定された位置および/または方向(たとえば、ピッチ、ヨー、ロール)に対応する。いくつかの実施形態では、ユーザは、仮想コンテンツアイテムによってキャプチャされた1つまたは複数のシーンを仮想的にナビゲートすることによってシーンの異なる部分を見ることができる。例えば、ユーザがモバイルデバイスを用いて仮想コンテンツアイテムにアクセスしている場合、例えば、複数のタッチスクリーンジェスチャに基づいて、および/またはモバイルデバイスが所望の位置および/または方向において物理的に移動されていることに基づいて、ビューポートの位置および/または方向を変更することにより仮想コンテンツアイテムにおいて1つまたは複数のシーンをナビゲートすることができる。
【0028】
ビューポートの位置および/または方向の変更は、ユーザが仮想コンテンツアイテムと対話するときに、ビュー方向モジュール(view direction module)204によってリアルタイムで決定されてもよい。別の例では、ユーザは、任意のシーンにアクセスしながら、ビューポートのズームレベルを変更することもできる。例えば、ユーザは、シーンの一部分を見るためにビューポートのズームレベルを増大または減少させたい場合がある。そのようなビューポートズームレベルへの変更によって、ビューズームレベルモジュール206によってリアルタイムで決定され得る。例えば、タッチジェスチャ(スワイプジェスチャ、ドラッグジェスチャ、スライドジェスチャ、タップジェスチャ、ダブルタップジェスチャ、ピンチジェスチャ、スプレッドジェスチャ、回転ジェスチャ、フリックジェスチャなど)、ハンドジェスチャおよび/またはコンピューティングデバイスジェスチャーを実行することによって、ユーザは、ビューポート(たとえば、位置、方向、ズームなど)を変更できる。コンピュータデバイスジェスチャ(例えば、傾斜)は、例えば、コンピューティングデバイス内の1つまたは複数のセンサ(例えば、ジャイロスコープ、加速度計、および/または慣性測定ユニット)を使用して判定される。さらに、バーチャルリアリティヘッドマウントディスプレイを介して仮想コンテンツアイテムにアクセスする場合、ユーザは、ユーザの頭の方向を変更することによって、ビューポートの方向を変更することができる。当然のことながら、他の手法が、全天球映像内をナビゲートしズームするために利用されてもよい。通常、ビューポートへの変更または調整は、ビュー方向モジュール204およびビューズームレベルモジュール206によってリアルタイム(たとえば、一定の時間間隔で)で監視され得る。このような変更は、ビューポートへの変更に基づいて決定されるように、仮想コンテンツアイテムからの適切な画像および/またはストリームがユーザに提示され得るように、ビューポートを更新するように用いられる。
【0029】
上述したように、幾つかの例では、ビューポートへの変更を把握できないと、ユーザは、アクセスされている仮想コンテンツに関して方向が見失うことになり、そのような方向感覚を失うことは、ユーザエクスペリエンスを低下させる可能性がある。したがって、様々な実施形態において、インジケータモジュール208は、仮想コンテンツが提示されるビューポート内にナビゲーションインジケータを提供するように構成され得る。いくつかの実施形態では、ナビゲーションインジケータは、ビューポート内のオーバーレイ(overlay)として提供される。ナビゲーションインジケータは、i)仮想コンテンツによって撮像された(複数の)シーン内のビューポートの方向または方向、および/またはii)(複数の)シーン内のビューポートのズームレベルを視覚的に示すことができる。いくつかの実施形態では、ナビゲーションインジケータによって示される方向は、ヨー(すなわち、垂直軸に沿ったビューポートの動き)に基づいて決定され得る。しかしながら、具体化に応じて、ナビゲーションインジケータは、ピッチ(すなわち、横軸に沿ったビューポートの動き)および/またはロール(すなわち、縦軸に沿ったビューポートの動き)を示すこともできる。ナビゲーションインジケータは、ユーザが仮想コンテンツと対話して、仮想コンテンツアイテムがアクセスされている間、任意の時点でビューポートの方向および/またはズームレベルを反映するように自動的に更新され得る。
【0030】
いくつかの実施形態では、注目点モジュール210は、アクセスされている仮想コンテンツアイテムの複数のシーンにおける様々な注目点を識別するように用いられる。いくつかの実施形態では、注目点は、ビューポートを介して提示されているビデオストリームに対応する瞬間または時間において1つまたは複数のシーンにおける空間領域として定義され得る。いくつかの実施形態では、このような注目点は、例えば、仮想コンテンツアイテムの開発者によって指定されてもよい。通常、各注目点は、仮想コンテンツアイテムによってキャプチャされた1つまたは複数のシーンにおける任意の場所(例えば、複数の座標)に関連付けられる。いくつかの実施形態では、ナビゲーションインジケータは、ビューポートを介して提示されているシーンにおけるビューポートの位置の閾値距離内の複数の注目点を識別することができる。様々な実施形態において、ナビゲーションインジケータは、注目点の対応する位置または方向を視覚的に示すことができる。しかしながら、実施態様に応じて、複数の注目点を視覚的に示すための他のアプローチは、ナビゲーションインジケータとは別々に、またはナビゲーションインジケータに加えて用いられる。例えば、いくつかの実施形態では、注目点は、注目点の位置または方向を指す方向インジケータ(directional indicator)(例えば、矢印)を使用して視覚的に示される。この例では、注目点がビューポートの右に位置する場合、ビューポートのある領域には、右を指し示す矢印が表示される。同様に、注目点がビューポートが向いている方向の後ろである方向に位置する場合、ユーザに振り向くように指示する矢印が表示されてもよい。いくつかの実施形態では、注目点が、テキストでラベル付けされ得る。例えば、ランドマークなどの注目点は、注目点の名前、その位置、および/または注目点に関する事実を含む記述テキストでラベル付けされる。
【0031】
いくつかの実施形態では、仮想コンテンツアイテムによってキャプチャされた複数のシーンの注目点は、シーンを見ながらユーザによって定義またはラベル付けされる。一例では、シーンを見ているユーザは、シーン内のある特徴を注目点としてタグ付けすることができる。ユーザは、注目点に関連付けるためにテキストラベルまたはコメントを提供することもできる。いくつかの実施形態では、仮想コンテンツアイテムに後でアクセスする他のユーザが、ユーザによって提供された任意のテキストラベルまたはコメントとともに、ユーザによってタグ付けされた注目点を見ることができるように、ユーザ定義の複数の注目点が保存される。したがって、そのような実施形態では、ユーザが、例えばナビゲーションインジケータを含む上述の複数のアプローチのいずれかを使用して仮想コンテンツアイテムにアクセスしている間に、ユーザ定義の複数の注目点が視覚的に識別される。いくつかの実施形態では、ユーザ定義の複数の注目点は、仮想コンテンツアイテムに組み込まれない。むしろ、ユーザ定義の複数の注目点を組み込んだ仮想コンテンツアイテムのコピーが保存される。次いで、ユーザは、例えばソーシャルネットワーキングシステムを介して、バーチャルコンテンツアイテムの変更されたコピーを他のユーザと共有することができる。いくつかの実施形態では、ユーザ定義の複数の注目点は、各注目点がバーチャルコンテンツアイテムにおいてどこで見つかるかを示すスクリーンショットおよび/または情報(例えば、1つまたは複数のフレーム、複数のタイムスタンプ、複数の時間範囲、座標等の位置データなど)として共有される。
【0032】
いくつかの実施形態では、ユーザは、仮想コンテンツアイテムによってキャプチャされた複数のシーンを見ながら、ビューポートの軌跡(trajectory)を記録することができる。したがって、このような実施形態では、仮想コンテンツアイテム内のシーンを見ながらユーザによって作成されたビューポートの位置および/または方向の変更が、仮想コンテンツアイテムのユーザビューポートの軌跡として保存され得る。ユーザは、例えば、ソーシャルネットワーキングシステムを介して、ビューポートの軌跡を他のユーザと共有することができる。共有されたビューポートの軌跡にアクセスする異なるユーザのビューポートは、ビューポートの軌跡を共有したユーザによるビューポートの位置および/または方向に対する変更に基づいて、仮想コンテンツアイテムによってキャプチャされた複数のシーンにわたってガイドされる。
【0033】
いくつかの実施形態では、仮想コンテンツアイテムの複数の注目点は、ユーザビューポートデータに基づいて自動的に判定される。例えば、仮想コンテンツアイテムを見ている間の複数のユーザビューポートのそれぞれの軌跡が分析されて、どのシーンまたはシーンの領域がユーザによって見られたかを判定することができる。いくつかの実施形態では、仮想コンテンツアイテムの複数のシーンを見ながら、複数のユーザビューポートのそれぞれの位置および/または方向を集約することによって、1つまたは複数のヒートマップ(heat map)が、仮想コンテンツアイテムに対して生成される。そのような実施形態では、ヒートマップが複数のシーンにおけるシーンまたは領域のうちのどれが、集約において他のものよりもより人気があるかまたはより興味深いかを判定するように用いられる。そのようなヒートマップ情報は、複数の特定のシーンまたは複数のシーンにおける領域を複数の注目点として自動的に識別するように用いられる。いくつかの実施形態では、複数のヒートマップは、異なる組のユーザのビューポートの軌跡を集約することによって、仮想コンテンツアイテムに対して生成される。そのような実施形態では、複数のユーザは、幾つかの例を挙げると、複数の人口統計(例えば、性別、年齢範囲など)、複数の興味(例えば、バードウォッチング、スノーボードなど)、および/または複数の関係(例えば、ソーシャルネットワーキングシステムにおける複数のソーシャルコネクション、または「友達」)などの属性に基づいて異なる組に分類される。異なる組のユーザのための別個のヒートマップを生成することにより、注目点モジュール210は、仮想コンテンツアイテムのどの注目点が、それらの共有された属性に応じて複数のユーザのカテゴリまたは組に最も関連するかを判定することができる。いくつかの実施形態では、仮想コンテンツアイテムに対して自動的に生成された複数の注目点を、提案として仮想コンテンツアイテムの開発者に提供される。開発者は、生成された注目点を仮想コンテンツアイテムに組み込むか、または認定することを選択できる。認定されると、生成された複数の注目点は、ユーザが、例えばナビゲーションインジケータを含む上述の複数のアプローチのいずれかを使用して仮想コンテンツアイテムにアクセスしている間に視覚的に示される。
【0034】
いくつかの例では、開発者は、自動モードの一部として仮想コンテンツアイテムを見るユーザのためのビューポートの軌跡を予め定義することができる。そのような場合、自動モードモジュール212は、仮想コンテンツアイテムにアクセスしている間に、ユーザがいつでも自動モードを用いるかまたは用いないかを可能にする。いくつかの実施形態では、仮想コンテンツアイテムがアクセスされるときに、自動モードはデフォルトで有効にされてもよい。そのような実施形態では、自動モードにある間、ビューポートは、予め定義されたビューポートの軌跡に基づいて仮想コンテンツアイテムの1つまたは複数のシーンにわたって自動的にナビゲートされる。いくつかの実施形態では、ビューポートの軌跡は、仮想コンテンツアイテムの1つ以上の部分の再生中または仮想コンテンツアイテム全体の再生中にビューポートの対応する位置および/または方向を定義する。
【0035】
いくつかの実施形態では、開発者は、1つまたは複数のシーンにおける1つ以上の注目点を指定してもよく、自動モードが用いられると、ビューポートが、複数の注目点に自動的にガイドされる。このような実施形態では、ビューポートが複数の注目点の間を移動するような各軌跡が自動的に生成される。いくつかの実施形態では、複数の注目点は、ビューポートが複数の注目点に焦点を当てるべき時間の長さを示す時間的情報(例えば、第1の注目点で3秒、第2の注目点で5秒など)に関連付けられる。そのような実施形態では、自動モードモジュール212は、そのような時間的情報に関してビューポートを適切にナビゲートすることができる。いくつかの実施形態では、自動モードが用いられる場合、第1のカラースキーム(color scheme)がナビゲーションインジケータに用いられ、かつ自動モードが用いられていない、つまり、マニュアルモードが有効である場合、第2のカラースキーム(例えば、第1のカラースキームとは逆のカラースキーム)がナビゲーションインジケータに用いられる。
【0036】
モーショントランジションモジュール(motion transition module)214は、自動モードが用いられている間にビューポートの動きを制御するように構成される。例えば、いくつかの実施形態では、ビューポートは、自動モードで現れるように複数のシーンおよび/または複数の注目点を表示するように自動的に移行される。複数のシーンおよび/または複数の注目点の間で移行する場合、モーショントランジションモジュール214は、1つまたは複数の異なる映像トランジション(film transitioning)の技術を適用することができる。一例では、トランジションは、複数のシーンおよび/または複数の注目点の間の移行が緩やかに行われるディゾルブ効果を使用して実行されてもよい。別の例では、トランジションは、カッティング効果(cut effect)を用いて実行される。他の例は、ワイプトランジションエフェクト、リニアトランジション、イージング(easing)、およびヒンティング(hinting)(たとえば、トランジションを実行する前に方向インジケータを使用するなど)を含む。いくつかの実施形態では、ビューポートは、自動モードでは自動的に移行しない。代わりに、注目点は、注目点の位置または方向を示す方向インジケータ(たとえば、矢印)を使用して、ビューポートに視覚的に表示される。そのような実施形態では、ユーザは、注目点に対応するようにビューポートをマニュアルで操作するオプションを有する。いくつかの実施形態では、モーショントランジションモジュール214は、使用されるデバイスのタイプ(例えば、モバイルコンピューティングデバイス、バーチャルリアリティシステム、ヘッドマウントディスプレイなど)に応じて、異なる映像トランジション技術を適用することができる。例えば、複数のビューポートトランジションは、モバイルコンピューティングデバイスでは自動であるが、バーチャルリアリティシステムおよび/またはヘッドマウントディスプレイでは自動ではない。デバイスのタイプは、どのトランジションエフェクトが使用されるかとともに、複数のシーンおよび/または複数の注目点の間でビューポートがどのように移行するかに影響する。例えば、デバイスがバーチャルリアリティーヘッドマウントディスプレイである場合、方向インジケータおよび/またはディゾルブ効果が用いられてビューポートの移行を実行することができる。別の例では、デバイスがモバイルコンピューティングデバイスである場合、ビューポートの移行を実行するときに複数のトランジションエフェクトが無効される。
【0037】
図3は、本開示の一実施形態によるコンテンツディレクタモジュール302の一例を示す。いくつかの実施形態では、図1のコンテンツディレクタモジュール108は、コンテンツディレクタモジュール302で具体化される。図3の例に示すように、コンテンツディレクタモジュール302は、インタフェースモジュール304、注目点モジュール306、および自動モードモジュール308を含む。
【0038】
インタフェースモジュール304は、開発者が仮想コンテンツアイテムのユーザエクスペリエンスをカスタマイズするために利用可能な様々なオプションを含むインタフェースを提供することができる。このインタフェースに関するさらなる詳細は、図5を参照して以下に提供される。いくつかの実施形態では、注目点モジュール306が、仮想コンテンツアイテムにおける1つ以上の注目点を指定するように用いられる。仮想コンテンツアイテムを見ているユーザは、例えばナビゲーションインジケータを含む上記の複数のアプローチのいずれかを使用して、そのような注目点を通知される。一例では、注目点は、仮想コンテンツアイテムの再生中に注目点が現れる位置(例えば、座標)および/または時間(秒)によって定義される。自動モードモジュール308は、1つまたは複数のビューポートの軌跡を生成するように利用される。いくつかの実施形態では、ビューポートの軌跡は、仮想コンテンツアイテムの1つ以上の部分の再生中または仮想コンテンツアイテム全体の再生中にビューポートの対応する位置および/または方向を定義する。例えば、自動モードモジュール308は、注目点モジュール306を用いて指定された注目点に基づいて、仮想コンテンツアイテムの複数のシーンをナビゲートするためのビューポートの軌跡を生成することができる。いくつかの実施形態では、自動モードモジュール308が、仮想コンテンツアイテムの1つまたは複数の部分の再生中にまたは仮想コンテンツアイテム全体の再生中にビューポートの指定された位置および/または方向に基づいて、仮想コンテンツアイテムにおける複数のシーンをナビゲートするためのビューポートの軌跡を生成するように用いられる。例えば、開発者は、仮想コンテンツアイテムの再生中に任意の時間について、ビューポートの位置および/または方向を指定してもよい。
【0039】
図4Aは、本開示の一実施形態によるコンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされている間にナビゲーションインジケータ406が提供されるビューポートインタフェース404の一例400を示す。この例では、ビューポート404は、コンピューティングデバイス402の表示画面上に提示される。さらに、ビューポート404は、コンピューティングデバイス402上で実行されるソフトウェアアプリケーション(例えば、ウェブブラウザ、ソーシャルネットワーキングアプリケーションなど)を介して提供されてもよい。表示画面に示されているナビゲーションインジケータ406の位置および/またはサイズは、具体化に応じて変更されてもよい。図4Aの例では、ビューポート404は、仮想コンテンツアイテムからのシーンを提示している。この例では、シーンは、他の複数の注目点の中に、2羽の鳥414およびハンググライダー416を含む。ビューポート404は、ビューポートの方向およびズームレベルを識別するための方位インジケータ408を含むナビゲーションインジケータ406を含む。また、ナビゲーションインジケータ406は、注目点410が識別されかつ方位インジケータ408によって識別されるビューポート方向に対して東方向に位置されていることを示す。コンピューティングデバイス402を操作するユーザは、例えば、ビューポートの方向および/またはズームレベルを変更することによってシーンをナビゲートする。例えば、ユーザは、注目点に対応する方向410に向くようにビューポートの方向を変更することができる。その結果、ビューポートは、図4Bの例に示すように、方向410に対応するコンテンツ(例えば、画像および/またはビデオストリーム)を提示するように更新され得る。いくつかの実施形態では、ナビゲーションインジケータ406は、複数の注目点の他に、アクセスされているシーン内で発生する他の複数のタイプのイベントを識別することもできる。例えば、ナビゲーションインジケータ406は、シーン内で生成された音の方向を示すことができる。
【0040】
いくつかの実施形態では、ナビゲーションインジケータ406は、最初は、半透明であるかまたはぼやけた色であるか(faded)のように示される。そのような実施形態では、ナビゲーションインジケータ406は、例えば、ビューポート404および/またはコンピューティングデバイス402を用いて、ユーザ対話を検出すると不透明になる。ナビゲーションインジケータ406は、ユーザがナビゲーションインジケータ406に対応する表示画面の領域でタッチジェスチャーを実行するときに不透明になることもある。例えば、ナビゲーションインジケータ406は、コンピューティングデバイス内のセンサに基づいてユーザ対話を検出することができる。いくつかの実施形態では、ナビゲーションインジケータ406は、ユーザ対話が閾値期間において検出されない場合、半透明の状態またはぼやけた色の状態に戻ることができる。いくつかの実施形態では、仮想コンテンツアイテムがアクセスされるときに、自動モードが、デフォルトで有効にされてもよい。そのような実施形態では、自動モードでは、ビューポートは、仮想コンテンツアイテム内の(複数の)シーンを介して自動的にナビゲートされ得る。例えば、仮想コンテンツアイテムの開発者は、(複数の)シーン内の1つ以上の注目点を指定することができ、ビューポートは、複数の注目点が表示されるように自動的にナビゲートされ得る。いくつかの実施形態では、複数の注目点間のビューポート移動のような対応する軌跡が自動的に生成され得る。いくつかの実施形態では、注目点は、ビューポートを介して提示されているビデオストリームに対応する時点または時間に(複数の)シーン内の空間領域として定義され得る。いくつかの実施形態では、複数の注目点は、ビューポートが注目点に焦点を当てるべき時間の長さを示す時間的情報(例えば、第1の注目点で3秒、第2の注目点で5秒、など)に関連付けられる。
【0041】
上述したように、幾つかの場合では、開発者は、仮想コンテンツアイテムを見るユーザのための自動モードを定義してもよい。このような場合、ユーザは、仮想コンテンツアイテムにアクセスしている間はいつでも自動モードを用いるかまたは用いないことができる。図4Aの例では、自動モードが有効であり、その結果、ビューポート404は、予め定義されたビューポートの軌跡に基づいて仮想コンテンツアイテムにおける1つまたは複数のシーンにわたって自動的にナビゲートされている。幾つかの実施形態では、仮想コンテンツアイテムがアクセスされるとき、自動モードがデフォルトで有効にされてもよい。コンピューティングデバイス402を操作するユーザは、例えば、ビューポート404をマニュアルでナビゲートすることによって、またはナビゲーションインジケータ406に対応する表示画面内の領域を選択すること(例えば、タップジェスチャを実行すること)によって、自動モードを無効にすることができる。幾つかの実施形態では、自動モードは、ユーザが閾値時間の間、ビューポートをマニュアルでナビゲートしなかった場合に再度有効にされる。いくつかの実施形態では、開発者は、1つまたは複数のシーンにおける1つ以上の注目点を指定することができ、自動モードが用いられると、ビューポート404は、注目点に自動的にガイドされる。図4Aの例では、ビューポート404は、図4Bの例に示すように、注目点410に向かって自動的にナビゲートされる。
【0042】
図4Bは、本開示の一実施形態によるコンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされている間にナビゲーションインジケータ406が提供されるビューポートインタフェース404の一例440を示す。上述したように、自動モードが用いられている間に、ビューポート404は、注目点に自動的にガイドされる。この例では、コンピューティングデバイス402の表示画面上に提示されるビューポート404の方向は、注目点410として図4Aのナビゲーションインジケータ406に示された注目点418に対応する方向に向くように変更されている。したがって、この例では、自動モード中に予め定義された軌跡をたどる意図された方位407と方位インジケータ408の両方が、注目点418が見える方向に対応する。その結果、ビューポート404に提示されたシーンは、ビューポート調整に対応するコンテンツ(例えば、複数の画像および/または複数のビデオストリーム)を提示するように更新されている。この例では、シーンは、他の複数の注目点の中で、注目点410としてナビゲーションインジケータ406によって識別されたハンググライダー416および熱気球418を示す。図4Bにおいて、方位インジケータ408は、ビューポートの方向の変化に対応するように、点412の周りを右に回転されている。いくつかの実施形態では、コンピューティングデバイス402を操作するユーザは、ナビゲーションインジケータ406に対応するディスプレイ画面の領域でタッチジェスチャーを実行して、ビューポートを仮想コンテンツアイテムに対して定義された初期の、または意図された方向、例えば自動モードに戻らせることができる。また、そのような実施形態では、ビューポートのズームレベルは、タッチジェスチャーを検出すると、仮想コンテンツアイテムに対して定義されたデフォルトの、または意図されたズームレベルにリセットされる。方位インジケータ408は、例えば、ユーザがビューポートをナビゲートする方向に応じて、時計回りまたは反時計回りの方向に点412の周りを回転することができる。例えば、ビューポート方向を0度から180度に変更すると、方位インジケータ408が点412を中心に時計回りの方向に回転し、ビューポート方向が180度から360度に変化すると、方位インジケータ408が点412を中心に反時計回りの方向に回転する。図4Bの例では、自動モードは依然として有効であり、その結果、ビューポート404は、予め定義されたビューポートの軌跡に基づいて仮想コンテンツアイテムの1つまたは複数のシーンにわたって自動的にナビゲートされる。この例では、ビューポート404は、ナビゲーションインジケータ406に示される注目点420に向かって自動的にナビゲートされる。
【0043】
図4Cは、本開示の一実施形態による、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされている間にナビゲーションインジケータ406が提供されるビューポートインタフェース404の一例480を示す。上述したように、自動モードが用いられている間、ビューポート404は、注目点に自動的にガイドされる。この例では、コンピューティングデバイス402の表示画面上に提示されるビューポート404の方向は、図4Aのシーンに示されている一対の鳥414に面するように変更されている。したがって、この例では、自動モードにあるときに予め定義された軌跡をたどる意図された方位(intended heading)407と方位インジケータ408は、注目点414を見ることが可能な方向に対応する。図4Cの例では、コンピューティングデバイス402を操作するユーザは、ビューポート404をマニュアルでナビゲートするオプションを有する。マニュアルでナビゲートされると、自動モードは無効にされ、ビューポート404は、予め定義された軌跡に基づいて自動的にガイドされない。ユーザは、例えば、ナビゲーションインジケータ406に対応する表示画面内の領域を選択することによって、自動モードを再び有効にするオプションを有する。
【0044】
図5は、本開示の一実施形態による、仮想コンテンツアイテムのユーザエクスペリエンスをカスタマイズするための開発者インタフェース502の一例500を示す。例示的なインタフェース502は、仮想コンテンツアイテムを再生することができる領域504を含む。仮想コンテンツアイテムの任意のカスタマイズまたは変更は、領域504内の仮想コンテンツアイテムの再生中に反映される。ナビゲータインジケータ506は、開発者がビューポートの位置および/または方向を視覚化することができるように、領域504に含められる。いくつかの実施形態では、開発者は、仮想コンテンツアイテムが再生を開始するときに使用されるビューポートの初期カメラ方向508を定義することができる。初期カメラ方向508は、例えば、ピッチ、ヨー、および/または視野に対応する度合いの値を指定することによって定義されてもよい。
【0045】
いくつかの実施形態では、開発者は、仮想コンテンツアイテムを見ている複数のユーザが、仮想コンテンツアイテムにおける1つまたは複数のシーンにわたってビューポートを自動的にナビゲートする自動モードを有効にさせる自動モード510または「ディレクターズカット(director’s cut)」を有効にすることができる。幾つかの実施形態では、自動モードが用いられると、ユーザのビューポートは、仮想コンテンツアイテムにおける複数の注目点に自動的に移行することができる。複数の注目点間のビューポートの対応する軌跡は、自動的に生成されてもよい。開発者は、領域504内の仮想コンテンツアイテムを見ながら、注目点を追加するためのオプション512を使用することができる。例えば、バーチャルコンテンツアイテムが領域504で再生されている間、開発者は、注目点を選択してタグ付けするためのオプション512を選択することができる。タグ付けされた注目点は、幾つかの例を挙げると、シーンにおける特徴、シーン内の領域、1組のフレームに対応し得る。注目点インジケータ514は、これまで開発者によってタグ付けされている注目点の数をカウントすることができる。開発者は、例えば、ソーシャルネットワーキングシステムに仮想コンテンツアイテムを公開するためのオプション516を選択することができる。公開された仮想コンテンツアイテムは、指定されたビューポートの軌跡とともに、指定された様々な注目点を記述する情報を含むことができる。この情報は、複数の注目点が適切に表示されるように、ユーザが仮想コンテンツアイテムにアクセスしているときに利用される。いくつかの実施形態では、開発者は、開発者によって指定されるように仮想コンテンツアイテムの複数のシーンおよび/または複数のポイントにわたってユーザのビューポートを自動的にナビゲートする「ディレクターズカット」映像(例えば、自動生成フォールバックユーザインタフェース)の完全に自動化されたバージョンを作成することができる。具体化によっては、自動生成された「ディレクターズカット」映像が再生されているので、映像にアクセスしているユーザは、ビューポートの方向を変更したり、またはビューポートのズームレベルを変更したりすることはできない。いくつかの実施形態では、自動生成された「ディレクターズカット」映像の異なるフォーマットが生成される。例えば、「ディレクターズカット」映像の自動化されたバージョンは、いくつかの例を挙げると、全天球映像(spherical video)、標準レクティリニア映像(regular rectilinear video)、2次元(2D)映像、または3次元(3D)映像としてフォーマットされる。このような実施形態では、様々な属性は、再生のためにユーザのコンピューティングデバイスにどのフォーマットを提供すべきかを決定するように用いられる。例えば、提供されるフォーマットは、コンピューティングデバイスの特性(例えば、コンピューティングデバイス上で再生可能なフォーマット)、ユーザプリファレンス、またはその両方に部分的に基づいて決定されてもよい。いくつかの実施形態では、自動生成された「ディレクターズカット」映像のいくつかのフォーマットは、ユーザのコンピューティングデバイスが映像のデフォルトフォーマットまたは好ましいフォーマットを再生できない場合のフォールバックオプション(fallback option)として機能することができる。例えば、開発者は、「ディレクターズカット」映像の全天球映像バージョンがデフォルトでユーザに提供されることを指定してもよい。ユーザのコンピューティングデバイスが映像の全天球映像バージョンを再生することができない場合、指定された映像バージョンの代わりに異なるバージョン(例えば、映像の2次元バージョン)が提供されてもよい。
【0046】
図6Aは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示されるナビゲーションインジケータ602の一例600を示す。図6Aにおいて、ナビゲーションインジケータ602は、仮想コンテンツアイテムがアクセスされている間、ビューポートの初期または意図された方向604を示す。方向604は、例えば、仮想コンテンツアイテムの開発者によって指定されてもよく、仮想コンテンツアイテムの再生中に異なるポイントで変更されてもよい。また、ナビゲーションインジケータ602は、仮想コンテンツによってキャプチャされた1つまたは複数のシーンにアクセスしている間に、ビューポートの方向または方位を示す方位インジケータ606を含む。この例では、ビューポートの方向は、方位インジケータ606の方向によって示される。ビューポート方向が変化すると、方位インジケータ606は、更新されたビューポートの方向に対応する方向に向くように点608の周りを回転することができる。幾つかの実施形態では、方位インジケータ606によって示される方向は、垂直軸(すなわち、ヨー)に沿ったビューポートの動きに対応する。方位インジケータ606は、アクセスされている1つまたは複数のシーンにおけるビューポートのズームレベルも示すことができる。幾つかの実施形態では、方位インジケータ606の長さまたはサイズは、ビューポートのより高いズームレベルを示すために、点608の周りで増大または伸長する。このような実施形態では、方位インジケータ606の長さまたはサイズは、ビューポートの縮小されたズームレベルを示すために、点608の周りで縮小するか、または縮小する。幾つかの実施形態では、仮想コンテンツアイテムは、デフォルトのズームレベル(例えば、60度または他の特定のズームレベル)に関連付けられてもよい。幾つかの実施形態では、仮想コンテンツアイテムの開発者は、ビューポートを介して適用され得る最小および/または最大のズームレベルを指定することができる。
【0047】
図6Bは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示されるナビゲーションインジケータ622の一例620を示す。図6Bでは、仮想コンテンツアイテムにアクセスするビューポートは、シーンにおいてズームインされる。その結果、方位インジケータ626は、ビューポートの増大されたズームレベルを示すために、点628の周りに伸長されるか、またはサイズが拡大されるように示される。
【0048】
図6Cは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示され得るナビゲーションインジケータ632の一例630を示す。図6Cにおいて、仮想コンテンツアイテムにアクセスするビューポートの方向は、ビューポートの初期のまたは意図された方向634に対して、西向きまたは左向きである。さらに、ビューポートは、見られているシーンからズームアウトされる。その結果、方位インジケータ636は、ビューポートの方向を示すために点638の周りで左に回転されているものとして示されている。さらに、方位インジケータ636は、ビューポートの低下されたズームレベルを示すために、点638の周りで収縮されるか、またはサイズが縮小されるように示される。
【0049】
図6Dは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示されるナビゲーションインジケータ642の一例640を示す。図6Dにおいて、仮想コンテンツアイテムにアクセスするビューポートは、仮想コンテンツアイテムのシーンにズームインされる。さらに、仮想コンテンツアイテムにアクセスするビューポートの方向は、ビューポートの初期のまたは意図された方向644に対して西向きかまたは左向きである。その結果、方位インジケータ646は、ビューポートの増大されたズームレベルを示すために、点648の周りで伸長されるか、またはサイズが増大されるように示される。さらに、方位インジケータ646は、ビューポートの方向を示すために、点648の周りを左に回転されているものとして示されている。
【0050】
図6Eは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときにビューポートインタフェースに提示され得るナビゲーションインジケータ652の一例650を示す。図6Eでは、ビューポートの初期の、または意図された方向654が更新されている。意図された方向654への変更は、例えば、ビューポートが案内されるシーンにアクセスする場合(例えば、移動する車両からのビュー)など、仮想コンテンツアイテムの再生中の異なる時点で生じる可能性がある。この例では、仮想コンテンツアイテムにアクセスするビューポートは、ビューポートの意図された方向654に対して反対方向を向いている。その結果、方位インジケータ656は、意図された方向654に対して反対方向に点658の周りを回転しているように示される。
【0051】
図6Fは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示されるナビゲーションインジケータ662の一例660を示す。図6Fにおいて、仮想コンテンツアイテムにアクセスするビューポートは、仮想コンテンツアイテムのシーンにズームインされる。さらに、仮想コンテンツアイテムにアクセスするビューポートの方向は、ビューポートの初期の、または意図された方向664に対して西に向いているか、または左に向いている。その結果、方位インジケータ666は、ビューポートの拡大されたズームレベルを示すために、ポイント668の周りで伸長されるか、またはサイズが増大されるように示される。さらに、方位インジケータ666は、ビューポートの方向を示すために、点668の周りで左に回転されているものとして示される。いくつかの実施形態では、ナビゲーションインジケータ662は、アクセスされている仮想コンテンツアイテムのシーンにおける様々な注目点を識別することができる。そのような実施形態では、ナビゲーションインジケータ662は、例えば、方向664および/または方位インジケータ666に対して、注目点の対応する方向670を視覚的に示すことができる。このような複数の注目点は、例えば、仮想コンテンツアイテムの開発者によって指定され得る。一般に、各注目点は、アクセスされているシーン(例えば、ストリームまたはフィード)に対応する時点に関する仮想コンテンツアイテムによってキャプチャされた1つまたは複数のシーンにおける任意の位置に関連付けることができる。いくつかの実施形態では、ナビゲーションインジケータ662は、ビューポートを介して提示されるシーンにおけるビューポート位置の閾値距離内の複数の注目点を識別することができる。
【0052】
図7は、本開示の一実施形態による、ビューポートインタフェースをナビゲートするための例示的な方法700を示す。別段の記載がない限り、本明細書で説明する様々な実施形態の範囲内で、同様の、または代替の順序で、または並行して実行される追加の、より少ない、または代替のステップが存在し得ることを理解されたい。
【0053】
ブロック702において、コンテンツアイテムにアクセスするための少なくとも1つの要求が決定される。要求されたコンテンツアイテムは、1組の異なる位置から1つまたは複数のシーンを撮像する1組のカメラフィードを使用して構成される。ブロック704において、要求されたコンテンツアイテムのシーンの少なくとも幾つかをナビゲートするための自動視聴モードを記述する情報が取得される。ブロック706において、要求されたコンテンツアイテムの再生が提示されるコンピューティングデバイスの表示画面上にビューポートインタフェースが提供される。ブロック708において、ビューポートインタフェースは、自動視聴モードに少なくとも部分的に基づいて、要求されたコンテンツアイテムの再生中にシーンの少なくとも幾つかにわたって自動的にナビゲートされる。
【0054】
本開示の様々な実施形態に関連する多くの他の使用、用途、および/または変形があり得ることが企図される。例えば、場合によっては、ユーザは、開示された技術を利用するか否かを選択することができる。また、開示された技術は、様々なプライバシー設定および嗜好が維持され、個人情報が漏洩するのを防止することを保証することもできる。別の例では、本開示の様々な実施形態は、学習、改善、および/または経時的に改良され得る。
【0055】
ソーシャルネットワーキングシステム−例示的な実装形態
図8は、本開示の一実施形態による、向上したビデオ符号化のための様々な実施形態で利用され得る例示的なシステム800のネットワーク図を示す。システム800は、1つまたは複数のユーザデバイス810と、1つまたは複数の外部システム820と、ソーシャルネットワーキングシステム(ソーシャルネットワーキングサービス)830と、ネットワーク850とを含む。一実施形態では、前述の実施形態との関連で論じられたソーシャルネットワーキングサービス、プロバイダ、および/またはシステムは、ソーシャルネットワーキングシステム830として実装されてよい。例示の目的のために、図8によって示される、システム800の実施形態は、単一の外部システム820と、単一のユーザデバイス810とを含む。ただし、他の実施形態において、システム800は、より多くのユーザデバイス810、および/または、より多くの外部システム820を含んでもよい。特定の実施形態において、ソーシャルネットワーキングシステム830は、ソーシャルネットワークプロバイダによって運営されるのに対して、外部システム820は、異なるエンティティによって運営され得るという点で、ソーシャルネットワーキングシステム830とは別個のものである。しかしながら、様々な実施形態において、ソーシャルネットワーキングシステム830および外部システム820は、共に動作して、ソーシャルネットワーキングシステム830のユーザ(またはメンバー)に対してソーシャルネットワーキングサービスを提供する。この意味において、ソーシャルネットワーキングシステム830は、外部システム820などの他のシステムがインターネット上のユーザに対してソーシャルネットワーキングサービスおよび機能を提供するために使用し得るプラットフォームまたはバックボーンを提供する。
【0056】
ユーザデバイス810は、ユーザから入力を受信し、ネットワーク850を通じてデータを送受信することができる1つまたは複数のコンピューティングデバイス(またはコンピューティングシステム)を備える。一実施形態において、ユーザデバイス810は、例えば、マイクロソフトウィンドウズ(登録商標)と互換性のあるオペレーティングシステム(OS)、Apple OS X、および/またはLinux(登録商標)ディストリビューションを実行する従来のコンピュータシステムである。別の実施形態において、ユーザデバイス810は、スマートフォン、タブレット、携帯情報端末(PDA:personal digital assistant)、携帯電話、ラップトップコンピュータ、ウェアラブルデバイス(例えば、眼鏡、腕時計、ブレスレット、その他)、カメラ、機器、その他などのコンピュータ機能を有するコンピューティングデバイスまたはデバイスであってもよい。ユーザデバイス810は、ネットワーク850を通じて通信するように構成される。ユーザデバイス810は、アプリケーション、例えば、ユーザデバイス810のユーザがソーシャルネットワーキングシステム830と対話することを可能にするブラウザアプリケーションを実行することができる。別の実施形態において、ユーザデバイス810は、iOSおよびANDROID(登録商標)などの、ユーザデバイス810のネイティブオペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース(API)を通じてソーシャルネットワーキングシステム830を対話する。ユーザデバイス810は、ネットワーク850を通じて外部システム820およびソーシャルネットワーキングシステム830と通信するように構成される。ネットワーク850は、有線通信システムおよび/または無線通信システムを使用する、ローカルエリアネットワークおよび/または広域ネットワークの任意の組み合わせを備え得る。
【0057】
1つの実施形態において、ネットワーク850は、標準的な通信技術およびプロトコルを使用する。したがって、ネットワーク850は、イーサネット(登録商標)、802.11、マイクロ波アクセスのための世界的相互運用性(WiMAX:worldwide interoperability for microwave access)、3G、4G、CDMA、GSM(登録商標)、LTE、デジタル加入者線(DSL:digital subscriber line)等などの技術を使用するリンクを含み得る。同様に、ネットワーク850上で使用されるネットワーキングプロトコルは、マルチプロトコルラベルスイッチング(MPLS:multiprotocol label switching)、送信制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP:simple mail transfer protocol)、ファイル転送プロトコル(FTP)などを含み得る。ネットワーク850上で交換されるデータは、ハイパーテキストマークアップ言語(HTML)および拡張マークアップ言語(XML)を含む技術および/またはフォーマットを使用して表現され得る。また、全部または一部のリンクは、セキュアソケットレイヤ(SSL)、トランスポートレイヤセキュリティ(TLS)、およびインターネットプロトコルセキュリティ(IPsec)などの従来の暗号化技術を使用して暗号化され得る。
【0058】
1つの実施形態において、ユーザデバイス810は、外部システム820から、およびソーシャルネットワーキングシステム830から受信されるマークアップ言語文書814を、ブラウザアプリケーション812を使用して処理することによって、外部システム820からのコンテンツおよび/またはソーシャルネットワーキングシステム830からのコンテンツを表示し得る。マークアップ言語文書814は、コンテンツと、そのコンテンツのフォーマッティングまたは表示方法を記述する1つまたは複数の命令とを識別する。マークアップ言語文書814内に含まれる命令を実行することによって、ブラウザアプリケーション812は、マークアップ言語文書814によって記述されたフォーマットまたは表示方法を使用して、識別されたコンテンツを表示する。例えば、マークアップ言語文書814は、外部システム820およびソーシャルネットワーキングシステム830から得られたテキストおよび/または画像データを含む複数のフレームを有するウェブページを生成および表示するための命令を含む。様々な実施形態において、マークアップ言語文書814は、拡張マークアップ言語(XML)データ、拡張ハイパーテキストマークアップ言語(XHTML)データ、または、他のマークアップ言語データを含むデータファイルを備える。また、マークアップ言語文書814は、外部システム820とユーザデバイス810との間のデータ交換を容易にするためのジャバスクリプトオブジェクトノーテーション(JSON:JavaScript(登録商標)Object Notation)データ、パディング付きのJSON(JSONP:JSON with padding)データ、およびジャバスクリプトデータを含み得る。ユーザデバイス810上のブラウザアプリケーション812は、ジャバスクリプトコンパイラを使用して、マークアップ言語文書814を復号し得る。
【0059】
マークアップ言語文書814は、FLASH(商標)アプリケーションまたはUnity(商標)アプリケーション、SilverLight(商標)アプリケーションフレームワーク等などの、アプリケーションまたはアプリケーションフレームワークも含み、または、これらに対してもリンクし得る。
【0060】
1つの実施形態において、ユーザデバイス810は、ユーザデバイス810のユーザがソーシャルネットワーキングシステム830へログインしたかを示すデータを含む、1つまたは複数のクッキー816も含む。クッキー816は、ソーシャルネットワーキングシステム830からユーザデバイス810へ通信されるデータのカスタム化を可能にし得る。
【0061】
外部システム820は、1つまたは複数のウェブページ822a、822bを含む、1つまたは複数のウェブサーバを含む。1つまたは複数のウェブページ822a、822bは、ネットワーク850を使用して、ユーザデバイス810へ通信される。外部システム820は、ソーシャルネットワーキングシステム830とは別個である。例えば、外部システム820は、第1のドメインに対して関連付けられるが、ソーシャルネットワーキングシステム830は、別個のソーシャルネットワーキングドメインに対して関連付けられる。外部システム820に含まれるウェブページ822a、822bは、コンテンツを識別し、識別されたコンテンツのフォーマッティングおよび表示方法を特定する命令を含むマークアップ言語文書814を備える。前述したように、多くのバリエーションまたは他の可能性があり得ることを理解されたい。
【0062】
ソーシャルネットワーキングシステム830は、複数のユーザを含み、ソーシャルネットワークのユーザに対して、ソーシャルネットワークの他のユーザと通信および対話するための能力を提供する、ソーシャルネットワークのための1つまたは複数のコンピューティングデバイスを含む。さらに詳細に説明されるように、ソーシャルネットワークは、グラフ、すなわち、エッジとノードとを含むデータ構造によって表現され得る。データベース、オブジェクト、クラス、メタ要素、ファイル、または任意の他のデータ構造を含むが、これらに限定されない、他のデータ構造も、ソーシャルネットワークを表現するために使用され得る。ソーシャルネットワーキングシステム830は、オペレータによって監督、管理、または制御されてよい。ソーシャルネットワーキングシステム830のオペレータは、ソーシャルネットワーキングシステム830内でコンテンツを管理し、ポリシを統制し、使用メトリクスを収集するための、人間、自動化されたアプリケーション、または一連のアプリケーションであってよい。任意のタイプのオペレータが使用されてよい。
【0063】
ユーザは、ソーシャルネットワーキングシステム830に加入し、次いで、そのユーザがつなげられることを望む、ソーシャルネットワーキングシステム830の任意の数の他のユーザへのつながりを追加し得る。本明細書において、「友達」という用語は、ユーザがソーシャルネットワーキングシステム830を通じてつながり、関連、または関係を形成した、ソーシャルネットワーキングシステム830の任意の他のユーザに及ぶ。例えば、一実施形態において、ソーシャルネットワーキングシステム830内のユーザが、ソーシャルグラフ内のノードとして表現される場合、「友達」という用語は、2つのユーザノード間に形成され、かつ、2つのユーザノードを直接的に接続するエッジを指し得る。
【0064】
つながりは、ユーザによって明示的に追加されても、または、ユーザの共通の特性(例えば、同じ教育機関の卒業生であるユーザ)に基づいて、ソーシャルネットワーキングシステム830によって自動的に作成されてもよい。例えば、第1のユーザは、友達になりたい特定の他のユーザを具体的に選択する。ソーシャルネットワーキングシステム830におけるつながりは、通常は双方向であるが、双方向である必要はなく、そのため、「ユーザ」および「友達」という用語は、枠組みに依存する。ソーシャルネットワーキングシステム830のユーザ間のつながりは、通常は、双務的(「二方向」)または「相互的」であるが、つながりは、片務的、または「一方向」であってもよい。例えば、ボブおよびジョーの両者が、ソーシャルネットワーキングシステム830のユーザであり、互いにつながっている場合、ボブおよびジョーは、互いのつながりである。他方で、ボブは、ジョーによってソーシャルネットワーキングシステム830へ通信されたデータを見るためにジョーとつながることを欲するが、ジョーは、相互的なつながりを形成することを欲しない場合、片務的なつながりが確立され得る。ユーザ間のつながりは、直接的なつながりであり得る。ただし、ソーシャルネットワーキングシステム830のいくつかの実施形態は、つながりが、1つまたは複数のつながりのレベルまたは分離度を通じた間接的なものとなることを可能にする。
【0065】
ユーザ間のつながりを確立および維持し、ユーザ間の対話を可能にすることに加えて、ソーシャルネットワーキングシステム830は、ソーシャルネットワーキングシステム830によってサポートされる様々なタイプのアイテムに対してアクションを行うための能力をユーザに対して提供する。こうしたアイテムは、ソーシャルネットワーキングシステム830のユーザが所属し得るグループまたはネットワーク(すなわち、人々、エンティティ、およびコンセプトのソーシャルネットワーク)、ユーザが興味を持ち得るイベントまたはカレンダー入力、ユーザがソーシャルネットワーキングシステム830を通じて使用し得るコンピュータベースのアプリケーション、ソーシャルネットワーキングシステム830によって提供されるサービスを通じてまたはソーシャルネットワーキングシステム830を通じてユーザがアイテムを購入または販売することを可能にする取引、ならびにユーザがソーシャルネットワーキングシステム830内外で実行し得る広告との対話を含み得る。これらは、ユーザがソーシャルネットワーキングシステム830上で作用を与え得るアイテムのわずかな例にすぎず、多くの他の例が可能である。ユーザは、ソーシャルネットワーキングシステム830において、または、ソーシャルネットワーキングシステム830とは別個の外部システム820もしくはネットワーク850を通じてソーシャルネットワーキングシステム830に対して結合される外部システム820において表現されることが可能なありとあらゆるものと対話し得る。
【0066】
ソーシャルネットワーキングシステム830は、多様なエンティティとリンクすることも可能である。例えば、ソーシャルネットワーキングシステム830は、ユーザが互いに対話すること、および、API、ウェブサービス、または他の通信チャネルを通じて外部システム820または他のエンティティと対話することを可能にする。ソーシャルネットワーキングシステム830は、複数のエッジによって相互接続された複数のノードを備える「ソーシャルグラフ」を生成および維持する。ソーシャルグラフ内の各ノードは、別のノードに対して作用を与え得るエンティティおよび/または別のノードによって作用を与えられ得るエンティティを表現し得る。ソーシャルグラフは、様々なタイプのノードを含み得る。ノードのタイプの例は、ユーザ、人間以外のエンティティ、コンテンツアイテム、ウェブページ、グループ、アクティビティ、メッセージ、コンセプト、およびソーシャルネットワーキングシステム830内のオブジェクトによって表現され得る任意の他のものを含む。ソーシャルグラフ内の2つのノード間のエッジは、ノード関係から、またはノードのうちの一方によって他方に対して実行されたアクションから生じ得る、2つのノード間の特定の種類のつながり、または関連を表現し得る。いくつかのケースでは、ノード間のエッジは、重み付けされ得る。エッジの重みは、ノード間のつながりまたは関連の強度などの、そのエッジに対して関連付けられている属性を表現し得る。異なるタイプのエッジが、異なる重みと共に提供され得る。例えば、あるユーザが別のユーザに対して「いいね」を表明するときに作成されるエッジには、ある重みが与えられてよく、ユーザが別のユーザと友達になるときに作成されるエッジには、異なる重みが与えられてよい。
【0067】
例として、第1のユーザが第2のユーザを友達として識別した場合、第1のユーザを表すノードと、第2のユーザを表す第2のノードとを接続するソーシャルグラフ中のエッジが生成される。様々なノードが互いに関係するかまたは対話するのに伴い、ソーシャルネットワーキングシステム830は、関係および対話を反映するように、様々なノードを接続するエッジを修正する。
【0068】
ソーシャルネットワーキングシステム830は、ユーザによるソーシャルネットワーキングシステム830との対話を高める、ユーザにより生成されたコンテンツも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム830に対して追加し、アップロードし、送信し、または「投稿し」得るあらゆるものを含み得る。例えば、ユーザは、ユーザデバイス810からソーシャルネットワーキングシステム830への投稿を通信する。投稿は、ステータスアップデートもしくは他の文字情報などのデータ、位置情報、写真などの画像、映像、リンク、音楽、または、他の同様のデータおよび/もしくはメディアを含み得る。コンテンツも、第三者によってソーシャルネットワーキングシステム830に対して追加され得る。コンテンツ「アイテム」は、ソーシャルネットワーキングシステム830においてオブジェクトとして表現される。このようにして、ソーシャルネットワーキングシステム830のユーザは、様々な通信チャネルを通じて様々なタイプのテキストおよびコンテンツアイテムを投稿することによって、互いに通信することを促される。そのような通信は、ユーザ同士の対話を増加させ、ユーザがソーシャルネットワーキングシステム830と対話する頻度を増加させる。
【0069】
ソーシャルネットワーキングシステム830は、ウェブサーバ832と、API要求サーバ834と、ユーザプロファイルストア836と、つながりストア838と、アクションロガー840と、アクティビティログ842と、認証サーバ844とを含む。本発明の一実施形態において、ソーシャルネットワーキングシステム830は、様々なアプリケーションのための追加的な構成要素、より少ない構成要素、または異なる構成要素を含み得る。ネットワークインタフェース、セキュリティ機構、負荷分散装置、フェイルオーバサーバ、管理およびネットワーク操作コンソールなどの他の構成要素は、本システムの詳細を曖昧にしないように、図示されていない。
【0070】
ユーザプロファイルストア836は、ユーザによって申告され、またはソーシャルネットワーキングシステム830によって推測された職歴、学歴、趣味または嗜好、住所などの経歴的情報、人口学的情報、および他のタイプの記述的情報を含む、ユーザアカウントに関する情報を維持する。この情報は、各ユーザが一意に識別されるように、ユーザプロファイルストア836内に記憶される。ソーシャルネットワーキングシステム830は、異なるユーザ間の1つまたは複数のつながりを記述するデータも、つながりストア838内に記憶する。つながり情報は、同様または共通の職歴、グループメンバーシップ、趣味、または学歴を有するユーザを示し得る。また、ソーシャルネットワーキングシステム830は、ユーザの他のユーザとの関係をユーザが特定することを可能にする、異なるユーザ間におけるユーザによって定義されたつながりを含む。例えば、ユーザによって定義されたつながりは、友達、同僚、パートナー等などの、ユーザの実生活の関係と並行する、他のユーザとの関係をユーザが生成することを可能にする。ユーザは、予め定義されたタイプのつながりから選択しても、またはユーザ自身のつながりタイプを必要に応じて定義してもよい。非人間エンティティ、バケット、クラスタセンタ、画像、興味、ページ、外部システム、コンセプト等などの、ソーシャルネットワーキングシステム830内の他のノードとのつながりも、つながりストア838内に記憶される。
【0071】
ソーシャルネットワーキングシステム830は、ユーザが対話し得るオブジェクトに関するデータを維持する。このデータを維持するために、ユーザプロファイルストア836およびつながりストア838は、ソーシャルネットワーキングシステム830によって維持されるオブジェクトの対応するタイプのインスタンスを記憶する。各オブジェクトタイプは、オブジェクトのタイプに適した情報を記憶するのに適した情報フィールドを有する。例えば、ユーザプロファイルストア836は、ユーザのアカウントおよびユーザのアカウントに関連した情報を記述するのに適したフィールドを有するデータ構造を含む。特定のタイプの新たなオブジェクトが作成される場合、ソーシャルネットワーキングシステム830は、対応するタイプの新たなデータ構造を初期化し、その新たなデータ構造に対して一意のオブジェクト識別子を割り当て、必要に応じて、そのオブジェクトに対してデータを追加することを開始する。これは、例えば、ユーザがソーシャルネットワーキングシステム830のユーザになった場合に発生し、ソーシャルネットワーキングシステム830は、ユーザプロファイルストア836内にユーザプロファイルの新たなインスタンスを生成し、ユーザアカウントに対して一意の識別子を割り当て、ユーザによって提供される情報をユーザアカウントのフィールドへ投入し始める。
【0072】
つながりストア838は、他のユーザに対するユーザのつながり、外部システム820に対するつながり、または他のエンティティに対するつながりを記述するのに適したデータ構造を含む。つながりストア838は、つながりタイプもユーザのつながりと関連付け得る。つながりタイプは、ユーザのプライバシー設定と共に使用されて、ユーザに関する情報に対するアクセスを規制し得る。本発明の一実施形態において、ユーザプロファイルストア836およびつながりストア838は、連合データベースとして実装され得る。
【0073】
つながりストア838、ユーザプロファイルストア836、およびアクティビティログ842内に記憶されるデータは、ノードを使用して、ノードを接続する様々なオブジェクトおよびエッジを識別して、異なるオブジェクト間の関係を識別するソーシャルグラフをソーシャルネットワーキングシステム830が生成することを可能にする。例えば、第1のユーザが、ソーシャルネットワーキングシステム830内で第2のユーザとのつながりを確立する場合、ユーザプロファイルストア836からの第1のユーザおよび第2のユーザのユーザアカウントは、ソーシャルグラフ内のノードとして動作し得る。つながりストア838によって記憶される、第1のユーザと第2のユーザとの間のつながりは、第1のユーザおよび第2のユーザに対して関連付けられるノード間のエッジである。この例を続けると、第2のユーザは、次いで、第1のユーザに対して、ソーシャルネットワーキングシステム830内でメッセージを送信し得る。メッセージを送信するアクションは、第1のユーザおよび第2のユーザを表現する、ソーシャルグラフ内の2つのノード間の別のエッジであり、メッセージを送信するアクションは、記憶され得る。また、メッセージ自体が、第1のユーザを表現するノードおよび第2のユーザを表現するノードに対して接続される別のノードとして、ソーシャルグラフにおいて識別され、ソーシャルグラフに含まれ得る。
【0074】
別の例において、第1のユーザは、ソーシャルネットワーキングシステム830によって維持される画像において(または、代替的に、ソーシャルネットワーキングシステム830の外部の別のシステムによって維持される画像において)第2のユーザをタグ付けし得る。画像は、それ自体がソーシャルネットワーキングシステム830内のノードとして表現され得る。このタグ付けアクションは、ユーザの各々と画像との間にエッジを作成するだけでなく、第1のユーザと第2のユーザとの間のエッジも作成し得る。画像もソーシャルグラフ内のノードである。また別の例において、ユーザが、イベントへ参加することを確かめる場合、そのユーザおよびそのイベントは、ユーザプロファイルストア836から取得されるノードであり、そのイベントへの参加は、アクティビティログ842から得られ得るノード間のエッジである。ソーシャルグラフを生成および維持することによって、ソーシャルネットワーキングシステム830は、多くの異なるタイプのオブジェクトを記述するデータ、ならびに、それらのオブジェクト間の対話およびつながりを含み、社会的に関連する情報の豊富なソースを提供する。
【0075】
ウェブサーバ832は、ソーシャルネットワーキングシステム830を、ネットワーク850を通じて、1つもしくは複数のユーザデバイス810および/または1つもしくは複数の外部システム820に対してリンクする。ウェブサーバ832は、ウェブページ、およびJava(登録商標)、JavaScript、Flash、XMLなどの他のウェブ関連コンテンツを供給する。ウェブサーバ832は、メールサーバを含み、または、ソーシャルネットワーキングシステム830と1つもしくは複数のユーザデバイス810との間のメッセージを受信およびルーティングするための他のメッセージング機能を含み得る。メッセージは、インスタントメッセージ、キューメッセージ(例えば、電子メール)、テキストおよびSMSメッセージ、または任意の他の適切なメッセージングフォーマットであり得る。
【0076】
API要求サーバ834は、1つまたは複数の外部システム820およびユーザデバイス810が、1つまたは複数のAPI関数を呼び出すことによって、ソーシャルネットワーキングシステム830からのアクセス情報を呼び出すことを可能にする。API要求サーバ834は、外部システム820が、APIを呼び出すことによって、ソーシャルネットワーキングシステム830に対して情報を送信することも可能にし得る。外部システム820は、1つの実施形態において、ネットワーク850を通じてソーシャルネットワーキングシステム830へAPI要求を送信し、API要求サーバ834は、そのAPI要求を受信する。API要求サーバ834は、API要求に対して関連付けられているAPIを呼び出すことによって要求を処理して、適当な応答を生成する。API要求サーバ834は、その適当な応答を、ネットワーク850を通じて外部システム820へ通信する。例えば、API要求に応答して、API要求サーバ834は、外部システム820に対してログインしたユーザのつながりなどの、ユーザに対して関連付けられているデータを収集し、収集されたデータを外部システム820へ通信する。別の実施形態において、ユーザデバイス810は、外部システム820と同じ手法で、APIを通じてソーシャルネットワーキングシステム830と通信する。
【0077】
アクションロガー840は、ソーシャルネットワーキングシステム830内での、および/またはソーシャルネットワーキングシステム830外でのユーザアクションに関する通信をウェブサーバ832から受信することが可能である。アクションロガー840は、ユーザアクションに関する情報をアクティビティログ842へ投入し、ソーシャルネットワーキングシステム830の内部で、およびソーシャルネットワーキングシステム830の外部で、そのユーザによって行われた様々なアクションをソーシャルネットワーキングシステム830が発見することを可能にする。特定のユーザが、ソーシャルネットワーキングシステム830上の別のノードに関して行う任意のアクションは、アクティビティログ842内または同様のデータベースもしくは他のデータレポジトリ内で維持される情報を通じて、各ユーザのアカウントに対して関連付けられ得る。識別および記憶される、ソーシャルネットワーキングシステム830内でユーザによって行われるアクションの例は、例えば、別のユーザに対するつながりを追加すること、別のユーザへメッセージを送信すること、別のユーザからのメッセージを読むこと、別のユーザに対して関連付けられるコンテンツを視聴すること、別のユーザによって投稿されたイベントに参加すること、画像を投稿すること、画像を投稿しようと試行すること、または、別のユーザもしくは別のオブジェクトと対話する他のアクションを含み得る。ユーザが、ソーシャルネットワーキングシステム830内でアクションを行う場合、そのアクションは、アクティビティログ842内に記録される。一実施形態において、ソーシャルネットワーキングシステム830は、アクティビティログ842をエントリのデータベースとして維持する。アクションが、ソーシャルネットワーキングシステム830内で行われる場合、そのアクションについてのエントリが、アクティビティログ842に対して追加される。アクティビティログ842は、アクションログと称され得る。
【0078】
また、ユーザアクションは、ソーシャルネットワーキングシステム830とは別個の外部システム820などの、ソーシャルネットワーキングシステム830の外部のエンティティ内で発生するコンセプトおよびアクションに対して関連付けられ得る。例えば、アクションロガー840は、ユーザによる外部システム820との対話を記述するデータを、ウェブサーバ832から受信し得る。この例において、外部システム820は、ソーシャルグラフにおける構造化されたアクションおよびオブジェクトに従って、ユーザによる対話を報告する。
【0079】
ユーザが外部システム820と対話するアクションの他の例は、ユーザが外部システム820もしくは別のエンティティにおいて興味を表現すること、外部システム820もしくは外部システム820内のウェブページ822aと議論するソーシャルネットワーキングシステム830に対してユーザがコメントを投稿すること、ユーザがソーシャルネットワーキングシステム830に対してユニフォームリソースロケータ(URL)もしくは外部システム820に対して関連付けられる他の識別子を投稿すること、ユーザが外部システム820に対して関連付けられるイベントへ参加すること、または、外部システム820に関連する、ユーザによる任意の他のアクションを含む。したがって、アクティビティログ842は、ソーシャルネットワーキングシステム830のユーザと、ソーシャルネットワーキングシステム830とは別個の外部システム820との間の対話を記述するアクションを含み得る。
【0080】
認証サーバ844は、ソーシャルネットワーキングシステム830のユーザの1つまたは複数のプライバシー設定を強化する。ユーザのプライバシー設定は、ユーザに対して関連付けられる特定の情報がどのように共有され得るかを決定する。プライバシー設定は、ユーザに対して関連付けられる特定の情報の仕様、および情報が共有され得る1つまたは複数のエンティティの仕様を備える。情報が共有され得るエンティティの例は、他のユーザ、アプリケーション、外部システム820、または、その情報に潜在的にアクセスし得る任意のエンティティを含み得る。ユーザによって共有され得る情報は、プロフィール写真などのユーザアカウント情報、ユーザに対して関連付けられる電話番号、ユーザのつながり、つながりを追加すること、ユーザプロフィール情報を変更することなどのユーザによって行われるアクション等を備える。
【0081】
プライバシー設定仕様は、異なるレベルの粒度で提供され得る。例えば、プライバシー設定は、他のユーザと共有されるべき具体的な情報を識別し得る。プライバシー設定は、職場電話番号、または、プロフィール写真、自宅電話番号、およびステータスを含む個人情報などの関連情報の具体的なセットを識別する。代替的に、プライバシー設定は、ユーザに対して関連付けられる全ての情報に対して適用されてもよい。特定の情報にアクセスすることができるエンティティのセットの仕様も、様々なレベルの粒度で特定され得る。情報が共有され得るエンティティの様々なセットは、例えば、ユーザの全ての友達、友達の全ての友達、全てのアプリケーション、または全ての外部システム820を含み得る。1つの実施形態は、エンティティのセットの仕様がエンティティの一覧表を備えることを可能にする。例えば、ユーザは、一定の情報に対してアクセスすることを許可される外部システム820のリストを提供し得る。別の実施形態は、情報に対してアクセスすることを許可されない例外と共にエンティティのセットを仕様が備えることを可能にする。例えば、ユーザは、全ての外部システム820がユーザの職場情報に対してアクセスすることを許可し得るが、職場情報に対してアクセスすることを許可されない外部システム820のリストを特定し得る。一定の実施形態は、一定の情報に対してアクセスすることを許可されない例外のリストを「ブロックリスト」と呼ぶ。ユーザによって特定されるブロックリストに所属する外部システム820は、プライバシー設定において特定される情報に対してアクセスすることをブロックされる。情報の仕様の粒度と、情報が共有されるエンティティの仕様の粒度との様々な組み合わせが可能である。例えば、全ての個人情報は、友達と共有され得るのに対して、全ての職場情報は、友達の友達と共有され得る。
【0082】
認証サーバ844は、ユーザに対して関連付けられる一定の情報がユーザの友達、外部システム820、ならびに/または他のアプリケーションおよびエンティティによってアクセスされ得るかを決定するためのロジックを含む。外部システム820は、ユーザの職場電話番号などの、ユーザのより個人的かつ機密的な情報に対してアクセスするために、認証サーバ844からの認証を必要とし得る。ユーザのプライバシー設定に基づいて、認証サーバ844は、別のユーザ、外部システム820、アプリケーション、または別のエンティティが、ユーザによって行われるアクションに関する情報を含む、ユーザに対して関連付けられる情報に対してアクセスすることを許可されているかを決定する。
【0083】
いくつかの実施形態では、ソーシャルネットワーキングシステム830は、コンテンツプレゼンテーションモジュール846を備えることができる。コンテンツプレゼンテーションモジュール846は、例えば、図1のコンテンツプレゼンテーションモジュール102として実装されてもよい。幾つかの実施形態では、ユーザデバイス810は、図1のコンテンツプレゼンテーションモジュール102によって実行可能な機能の一部または全てを実行するように構成されたコンテンツプレゼンテーションモジュール818を含むことができる。上述したように、多くの変形または他の可能性が存在し得ることを理解されたい。
【0084】
ハードウェア実装形態
前述のプロセスおよび特徴は、多種多様なマシンおよびコンピュータシステムアーキテクチャによって、ならびに、多種多様なネットワークおよびコンピューティング環境において実装され得る。図9は、本発明に応じて本明細書に記載された1つまたは複数の実施形態を実装するために使用され得るコンピュータシステム900の例を例示する。コンピュータシステム900は、コンピュータシステム900に対して、本明細書において議論されるプロセスおよび特徴を実行させるための命令のセットを含む。コンピュータシステム900は、他のマシンへ接続され(例えば、ネットワーク化され)得る。ネットワーク化された配置において、コンピュータシステム900は、クライアント/サーバネットワーク環境内のサーバマシンもしくはクライアントマシンの資格において動作し、または、ピアツーピア(もしくは分散)ネットワーク環境内のピアマシンとして動作し得る。本発明の一実施形態において、コンピュータシステム900は、ソーシャルネットワーキングシステム830、ユーザデバイス810、外部システム920、またはこれらの構成要素であってもよい。本発明の一実施形態において、コンピュータシステム900は、ソーシャルネットワーキングシステム830の全てまたは部分を構成する多くのサー間のうちの1つのサーバであってもよい。
【0085】
コンピュータシステム900は、プロセッサ902と、キャッシュ904と、コンピュータ読取可能な媒体上に記憶され、本明細書において説明されるプロセスおよび特徴へ向けられた、1つまたは複数の実行可能なモジュールおよびドライバとを含む。また、コンピュータシステム900は、高性能入出力(I/O)バス906と、標準I/Oバス908とを含む。ホストブリッジ910は、プロセッサ902を高性能I/Oバス906に対して結合する一方で、I/Oバスブリッジ912は、2つのバス906および908を互いに結合する。システムメモリ914および1つまたは複数のネットワークインタフェース916は、高性能I/Oバス906へ結合される。コンピュータシステム900は、ビデオメモリと、ビデオメモリに対して結合される表示デバイスとをさらに含んでもよい(図示せず)。マスストレージ918およびI/Oポート920は、標準I/Oバス908へ結合される。コンピュータシステム900は、バス908に対して結合される、キーボードおよびポインティングデバイス、表示デバイス、または他の入出力デバイス(図示せず)を随意的に含んでもよい。全体的に、これらの要素は、カリフォルニア州サンタクララのインテルコーポレーション社(Intel Corporation)によって製造されるx86互換性のあるプロセッサ、カリフォルニア州サニーベルのアドバンストマイクロデバイス社(AMD:Advanced Micro Devices,Inc)によって製造されるx86互換性のあるプロセッサ、および任意の他の適切なプロセッサを含むが、これらに限定されない、広範なカテゴリのコンピュータハードウェアシステムを表現することが意図される。
【0086】
オペレーティングシステムは、ソフトウェアアプリケーション(図示せず)へのデータの入力およびソフトウェアアプリケーションからのデータの出力を含む、コンピュータシステム900の動作を管理および制御する。オペレーティングシステムは、システム上で実行されているソフトウェアアプリケーションと、システムのハードウェア構成要素との間のインタフェースを提供する。任意の適切なオペレーティングシステム、例えば、LINUXオペレーティングシステム、カリフォルニア州クパチーノのアップルコンピュータ社(Apple Computer,Inc.)から市販されているアップルマッキントッシュオペレーティングシステム、UNIX(登録商標)オペレーティングシステム、マイクロソフト(登録商標)ウィンドウズ(登録商標)オペレーティングシステム、BSDオペレーティングシステム等などが使用され得る。他の実装も可能である。
【0087】
コンピュータシステム900の要素は、下記においてより詳細に説明される。具体的には、ネットワークインタフェース916は、コンピュータシステム900と、幅広いネットワークのうちの任意のもの、例えば、イーサネット(例えば、IEEE802.3)ネットワーク、バックプレーン等などとの間の通信を提供する。マスストレージ918は、上記に識別されたそれぞれのコンピューティングシステムによって実装される上述されたプロセスおよび特徴を実行するためのデータおよびプログラミング命令のための永続的なストレージを提供するのに対して、システムメモリ914(例えば、DRAM)は、プロセッサ902によって実行される場合のデータおよびプログラミング命令のための一時的なストレージを提供する。I/Oポート920は、コンピュータシステム900へ結合され得る付加的な周辺デバイス間の通信を提供する、1つまたは複数のシリアル通信ポートおよび/またはパラレル通信ポートであり得る。
【0088】
コンピュータシステム900は、多様なシステムアーキテクチャを含むことができ、コンピュータシステム900の様々な構成要素は、再配置されてもよい。例えば、キャッシュ904は、プロセッサ902と共にチップ上に実装されてもよい。代替的に、キャッシュ904およびプロセッサ902は、「プロセッサモジュール」としてまとめられて、プロセッサ902が「プロセッサコア」と称されてもよい。さらに、本発明の一定の実施形態は、上記構成要素の全部を必要としなくても、または、含まなくてもよい。例えば、標準I/Oバス908へ結合される周辺デバイスは、高性能I/Oバス906へ結合されてもよい。また、いくつかの実施形態において、単一のバスのみが存在して、コンピュータシステム900の構成要素が、その単一のバスへ結合されてもよい。さらに、コンピュータシステム900は、付加的なプロセッサ、記憶デバイス、またはメモリなどの付加的な構成要素を含んでもよい。
【0089】
一般に、本明細書において説明されるプロセスおよび特徴は、オペレーティングシステムの一部もしくは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、または「プログラム」と称される一連の命令として実装され得る。例えば、1つまたは複数のプログラムは、本明細書において説明される具体的なプロセスを実行するために使用され得る。プログラムは、典型的には、1つまたは複数のプロセッサによって読み出され、実行される場合に、コンピュータシステム900に対して、本明細書において説明されるプロセスおよび特徴を実行するための動作を実行させる、1つまたは複数の命令を、コンピュータシステム900内の様々なメモリおよび記憶デバイスにおいて備える。本明細書において説明されるプロセスおよび特徴は、ソフトウェア、ファームウェア、ハードウェア(例えば、特定用途向け集積回路)、または、これらの任意の組み合わせにおいて実装され得る。
【0090】
1つの実施形態において、本明細書において説明されるプロセスおよび特徴は、分散コンピューティング環境において個々にまたはまとめて、コンピュータシステム900によって実行される一連の実行可能なモジュールとして実装される。前述のモジュールは、ハードウェア、コンピュータ読取可能な媒体(もしくはマシン読取可能な媒体)上に記憶される実行可能なモジュール、または、両者の組み合わせによって実現され得る。例えば、モジュールは、プロセッサ902などの、ハードウェアシステム内のプロセッサによって実行されるべき複数の命令または一連の命令を備え得る。まず、一連の命令は、マスストレージ918などの記憶デバイス上に記憶され得る。ただし、一連の命令は、任意の適切なコンピュータ読取可能な記憶媒体上に記憶されてもよい。さらに、一連の命令は、局所的に記憶される必要はなく、ネットワーク上のサーバなどの遠隔記憶デバイスからネットワークインタフェース916を通じて受信されてもよい。命令は、マスストレージ918などの記憶デバイスからシステムメモリ914内へコピーされ、次いで、プロセッサ902によってアクセスされ、実行される。様々な実施形態において、1つまたは複数のモジュールは、並列処理環境内の複数のサーバなどの、1つまたは複数の位置における、1つまたは複数のプロセッサによって実行され得る。
【0091】
コンピュータ読取可能な媒体の例は、揮発性メモリデバイスおよび不揮発性メモリデバイスなどの記録可能なタイプの媒体、ソリッドステートメモリ、フロッピー(登録商標)ディスクおよび他の取り外し可能なディスク、ハードディスクドライブ、磁気媒体、光ディスク(例えば、コンパクトディスク読取専用メモリ(CD ROMS)、デジタル多用途ディスク(DVD))、他の同様の非一時的で(もしくは一時的で)、有形の(もしくは無形の)記憶媒体、または、本明細書において説明されるプロセスおよび特徴のうちの任意の1つもしくは複数を実行すべく、コンピュータシステム900による実行のために一連の命令を記憶し、符号化し、もしくは担持するのに適切な任意のタイプの媒体を含むが、これらに限定されない。
【0092】
説明の目的のために、多くの具体的な詳細が、本説明の完全な理解を提供するために述べられている。しかしながら、こうした具体的な詳細なしに本開示の実施形態が実施され得ることは、当業者には明らかであろう。いくつかの例において、モジュール、構造、プロセス、特徴、およびデバイスは、本説明を曖昧にすることを回避するために、ブロック図の形式で示される。他の例において、機能ブロック図およびフロー図は、データおよび論理フローを表現するために示される。ブロック図およびフロー図の構成要素(例えば、モジュール、ブロック、構造、デバイス、特徴等)は、本明細書において明示的に説明および図示されたような手法以外の手法で、様々に組み合わされ、分離され、除去され、順序を並べ替えられ、置換されてもよい。
【0093】
この明細書における、「1つの実施形態」、「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「様々な実施形態」等への言及は、実施形態に関連して説明される特定の特徴、設計、構造、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。本明細書内の様々な部分における「1つの実施形態において」または「別の実施形態」という句の出現は、必ずしも全て同じ実施形態に言及するものとは限らず、別個の実施形態または代替的な実施形態は、他の実施形態と相互排他的ではない。さらに、「実施形態」等への明示的な言及が存在しても存在しなくても、様々な特徴が説明され、様々な特徴は、いくつかの実施形態において様々に組み合わされ、含まれ得るが、他の実施形態においては様々に省略され得る。同様に、いくつかの実施形態にとっては選好事項または要件であり得るが、他の実施形態にとっては選好事項または要件ではない、様々な特徴が説明される。
【0094】
本明細書において使用される文言は、主に、読みやすさと教育的目的のために選択されており、発明の主題の輪郭を描くため、または境界線を描くために選択されたものではない。そのため、本発明の範囲は、この詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願について発行される任意の請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、本発明の範囲の例示とはなるが、限定とはならないことが意図され、本発明の範囲は、下記の特許請求の範囲において述べられる。
図1
図2
図3
図4A
図4B
図4C
図5
図6A
図6B
図6C
図6D
図6E
図6F
図7
図8
図9