(57)【要約】システム、方法、および非一時的なコンピュータ可読媒体は、複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得することができる。複数の面を有する三次元の形状が判定され、それぞれの面は、元の境界のそれぞれのセットに関連付けられている。複数の面のうちの１つまたは複数に対する拡張された境界のそれぞれのセットが判定される。球状のメディアコンテンツアイテムのそれぞれの部分は、１つまたは複数の面のそれぞれにマッピングされ、球状のメディアコンテンツアイテムの第１の部分は、拡張された境界のセットを有する第１の面にマッピングされる。
2018534661.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する方法であって、
コンピューティングシステムが、複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得するステップと、
前記コンピューティングシステムが、複数の面を有する三次元オブジェクトを判定するステップであって、それぞれの面は、対応する１組の元の境界に関連付けられている、前記三次元オブジェクトを判定するステップと、
前記コンピューティングシステムが、前記複数の面のうちの１つまたは複数に対する拡張された対応する１組の境界を判定するステップと、
前記コンピューティングシステムが、前記球状のメディアコンテンツアイテムのそれぞれの部分を、前記１つまたは複数の面のそれぞれにマッピングするステップであって、前記球状のメディアコンテンツアイテムの第１の部分は、拡張された１組の境界を有する第１の面にマッピングされる、前記マッピングするステップと、を備える方法。
【請求項２】
前記第１の面に対応する前記拡張された境界は、調整されたマッピング角度に少なくとも部分的に基づいて判定される、請求項１に記載の方法。
【請求項３】
前記コンピューティングシステムが、前記球状のメディアコンテンツアイテムの第１の部分を、前記三次元オブジェクトの第１の面に投影するためのマッピング角度を、前記第１の面に対応する１組の元の境界に少なくとも部分的に基づいて判定するステップと、
前記コンピューティングシステムが、前記マッピング角度を調整するステップであって、前記球状のメディアコンテンツアイテムの第１の部分は、前記調整されたマッピング角度で、前記第１の面に投影される、前記調整するステップと、をさらに備える請求項２に記載の方法。
【請求項４】
前記調整されたマッピング角度は、前記マッピング角度より大きい、請求項３に記載の方法。
【請求項５】
前記球状のメディアコンテンツアイテムのそれぞれの部分を前記１つまたは複数の面のそれぞれにマッピングするステップは、
前記コンピューティングシステムが、前記球状のメディアコンテンツアイテムの第２の部分を前記三次元オブジェクトの第２の面に投影させるステップをさらに含み、
前記第２の面は、拡張された１組の境界を有し、
前記第２の面は、前記第１の面に隣接し、前記投影された第１の部分および前記投影された第２の部分は、少なくとも部分的に重なっている、請求項１に記載の方法。
【請求項６】
前記三次元オブジェクトは、立方体であり、前記球状のメディアコンテンツアイテムのそれぞれの部分は、前記立方体のそれぞれの面にマッピングされる、請求項１に記載の方法。
【請求項７】
前記球状のメディアコンテンツアイテムの上面視部分は、前記立方体内の上面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの左面視部分は、前記立方体内の左面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの右面視部分は、前記立方体内の右面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの前面視部分は、前記立方体内の前面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの後面視部分は、前記立方体内の後面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの下面視部分は、前記立方体内の下面視の正方形にマッピングされる、請求項６に記載の方法。
【請求項８】
前記コンピューティングシステムが、画像ぼかし処理を前記第１の面の少なくとも一部に適用するステップをさらに備える請求項１に記載の方法。
【請求項９】
前記画像ぼかし処理を適用するステップは、
前記コンピューティングシステムが、ローパスフィルタを前記第１の面の一部に適用するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記画像ぼかし処理を適用するステップは、
前記コンピューティングシステムが、ぼかしを前記第１の面の一部に適用するステップをさらに含む、請求項８に記載の方法。
【請求項１１】
システムであって、
少なくとも１つのプロセッサと、
命令を記憶するメモリと、を備え、
前記命令は、前記少なくとも１つのプロセッサによって実行されると、前記システムに、
複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得すること、
複数の面を有する三次元オブジェクトを判定することであって、それぞれの面は、対応する１組の元の境界に関連付けられている、前記三次元オブジェクトを判定すること、
前記複数の面のうちの１つまたは複数に対する拡張された対応する１組の境界を判定すること、
前記球状のメディアコンテンツアイテムのそれぞれの部分を、前記１つまたは複数の面のそれぞれにマッピングすることであって、前記球状のメディアコンテンツアイテムの第１の部分は、拡張された１組の境界を有する第１の面にマッピングされる、前記マッピングすること、を行わせる、システム。
【請求項１２】
前記第１の面に対応する前記拡張された１組の境界は、調整されたマッピング角度に少なくとも部分的に基づいて判定される、請求項１１に記載のシステム。
【請求項１３】
前記システムは、
前記球状のメディアコンテンツアイテムの第１の部分を前記三次元オブジェクトの第１の面に投影するためのマッピング角度を、前記第１の面に対応する１組の元の境界に少なくとも部分的に基づいて判定すること、
前記マッピング角度を調整することであって、前記球状のメディアコンテンツアイテムの第１の部分は、前記調整されたマッピング角度で、前記第１の面に投影される、前記調整すること、をさらに行う、請求項１２に記載のシステム。
【請求項１４】
前記調整されたマッピング角度は、前記マッピング角度より大きい、請求項１３に記載のシステム。
【請求項１５】
前記球状のメディアコンテンツアイテムのそれぞれの部分を前記１つまたは複数の面のそれぞれにマッピングすることは、前記システムに、
前記球状のメディアコンテンツアイテムの第２の部分を前記三次元オブジェクトの第２の面に投影させることであって、前記第２の面は、拡張された１組の境界を有する、前記投影させることをさらに行わせ、
前記第２の面は、前記第１の面に隣接し、前記投影された第１の部分および前記投影された第２の部分は、少なくとも部分的に重なっている、請求項１１に記載のシステム。
【請求項１６】
非一時的なコンピュータ可読記憶媒体であって、
コンピューティングシステムの少なくとも１つのプロセッサによって実行されると、前記コンピューティングシステムに、
複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得するステップと、
複数の面を有する三次元オブジェクトを判定するステップであって、それぞれの面は、対応する１組の元の境界に関連付けられている、前記三次元オブジェクトを判定するステップと、
前記複数の面のうちの１つまたは複数に対する拡張された対応する１組の境界を判定するステップと、
前記球状のメディアコンテンツアイテムのそれぞれの部分を、前記１つまたは複数の面のそれぞれにマッピングするステップであって、前記球状のメディアコンテンツアイテムの第１の部分は、拡張された１組の境界を有する第１の面にマッピングされる、前記マッピングするステップと、を含む方法を行わせる命令を含む非一時的なコンピュータ可読記憶媒体。
【請求項１７】
前記第１の面に対応する前記拡張された１組の境界は、調整されたマッピング角度に少なくとも部分的に基づいて判定される、請求項１６に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１８】
前記コンピューティングシステムは、
前記球状のメディアコンテンツアイテムの第１の部分を前記三次元オブジェクトの第１の面に投影するためのマッピング角度を、前記第１の面に対応する１組の元の境界に少なくとも部分的に基づいて判定すること、
前記マッピング角度を調整することであって、前記球状のメディアコンテンツアイテムの第１の部分は、前記調整されたマッピング角度で、前記第１の面に投影される、前記調整すること、をさらに行う、請求項１７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記調整されたマッピング角度は、前記マッピング角度より大きい、請求項１８に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２０】
前記球状のメディアコンテンツアイテムのそれぞれの部分を前記１つまたは複数の面のそれぞれにマッピングすることは、前記コンピューティングシステムに、
前記球状のメディアコンテンツアイテムの第２の部分を前記三次元オブジェクトの第２の面に投影させることであって、前記第２の面は、拡張された１組の境界を有する、前記投影させることをさらに行わせ、
前記第２の面は、前記第１の面に隣接し、前記投影された第１の部分および前記投影された第２の部分は、少なくとも部分的に重なっている、請求項１６に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２１】
コンピューティングシステムが、複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得するステップと、
前記コンピューティングシステムが、複数の面を有する三次元オブジェクトを判定するステップであって、それぞれの面は、対応する１組の元の境界に関連付けられている、前記三次元オブジェクトを判定するステップと、
前記コンピューティングシステムが、前記複数の面のうちの１つまたは複数に対する拡張された対応する１組の境界を判定するステップと、
前記コンピューティングシステムが、前記球状のメディアコンテンツアイテムのそれぞれの部分を、前記１つまたは複数の面のそれぞれにマッピングするステップであって、前記球状のメディアコンテンツアイテムの第１の部分は、拡張された１組の境界を有する第１の面にマッピングされる、前記マッピングすること、を含む方法。
【請求項２２】
前記第１の面に対応する前記拡張された１組の境界は、調整されたマッピング角度に少なくとも部分的に基づいて判定され、
前記方法は、好ましくは、
前記コンピューティングシステムが、前記球状のメディアコンテンツアイテムの第１の部分を、前記三次元オブジェクトの第１の面に投影するためのマッピング角度を、前記第１の面に対応する１組の元の境界に少なくとも部分的に基づいて判定するステップと、
前記コンピューティングシステムが、前記マッピング角度を調整するステップであって、前記球状のメディアコンテンツアイテムの第１の部分は、前記調整されたマッピング角度で、前記第１の面に投影される、前記調整するステップと、をさらに含み、
好ましくは、前記調整されたマッピング角度は、前記マッピング角度より大きい、請求項２１に記載の方法。
【請求項２３】
前記球状のメディアコンテンツアイテムのそれぞれの部分を、前記１つまたは複数の面のそれぞれにマッピングするステップは、
前記コンピューティングシステムが、前記球状のメディアコンテンツアイテムの第２の部分を前記三次元オブジェクトの第２の面に投影させるステップを含み、
前記第２の面は、拡張された１組の境界を有し、
前記第２の面は、前記第１の面に隣接し、前記投影された第１の部分および前記投影された第２の部分は、少なくとも部分的に重なっている、請求項２１または２２に記載の方法。
【請求項２４】
前記三次元オブジェクトは、立方体であり、前記球状のメディアコンテンツアイテムのそれぞれの部分は、前記立方体のそれぞれの面にマッピングされ、
好ましくは、前記球状のメディアコンテンツアイテムの上面視部分は、前記立方体内の上面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの左面視部分は、前記立方体内の左面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの右面視部分は、前記立方体内の右面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの前面視部分は、前記立方体内の前面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの後面視部分は、前記立方体内の後面視の正方形にマッピングされ、前記球状のメディアコンテンツアイテムの下面視部分は、前記立方体内の下面視の正方形にマッピングされる、請求項２１〜２３のいずれか一項に記載の方法。
【請求項２５】
前記コンピューティングシステムが、画像ぼかし処理を、前記第１の面の少なくとも一部に適用するステップをさらに含み、
好ましくは、前記画像ぼかし処理を適用するステップは、
前記コンピューティングシステムが、ローパスフィルタを前記第１の面の前記一部に適用するステップをさらに含み、および／または
好ましくは、前記画像ぼかし処理を適用するステップは、前記コンピューティングシステムが、前記第１の面の前記一部にぼかしを適用するステップをさらに含む、請求項２１〜２４のいずれか一項に記載の方法。
【請求項２６】
システムであって、
少なくとも１つのプロセッサと、
命令を記憶するメモリと、を備え、
前記命令は、前記少なくとも１つのプロセッサによって実行されると、前記システムに、
複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得すること、
複数の面を有する三次元オブジェクトを判定することであって、それぞれの面は、対応する１組の元の境界に関連付けられている、前記三次元オブジェクトを判定すること、
前記複数の面のうちの１つまたは複数に対する拡張された対応する１組の境界を判定すること、
前記球状のメディアコンテンツアイテムのそれぞれの部分を、前記１つまたは複数の面のそれぞれにマッピングすることであって、前記球状のメディアコンテンツアイテムの第１の部分は、拡張された１組の境界を有する第１の面にマッピングされる、前記マッピングすること、を行わせる、システム。
【請求項２７】
前記第１の面に対応する前記拡張された１組の境界は、調整されたマッピング角度に少なくとも部分的に基づいて判定され、好ましくは、前記システムは、
前記球状のメディアコンテンツアイテムの第１の部分を前記三次元オブジェクトの第１の面に投影するためのマッピング角度を、前記第１の面に対応する１組の元の境界に少なくとも部分的に基づいて判定すること、
前記マッピング角度を調整することであって、前記球状のメディアコンテンツアイテムの第１の部分は、前記調整されたマッピング角度で、前記第１の面に投影される、前記調整すること、をさらに行い、
好ましくは、前記調整されたマッピング角度は、前記マッピング角度より大きい、請求項２６に記載のシステム。
【請求項２８】
前記球状のメディアコンテンツアイテムのそれぞれの部分を前記１つまたは複数の面のそれぞれにマッピングすることは、前記システムに、
前記球状のメディアコンテンツアイテムの第２の部分を前記三次元オブジェクトの第２の面に投影させることであって、前記第２の面は、拡張された１組の境界を有する、前記投影させることをさらに行わせ、
前記第２の面は、前記第１の面に隣接し、投影された第１の部分および投影された第２の部分は、少なくとも部分的に重なっている、請求項２６または２７に記載のシステム。
【請求項２９】
非一時的なコンピュータ可読記憶媒体であって、
コンピューティングシステムの少なくとも１つのプロセッサによって実行されると、前記コンピューティングシステムに、
複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得するステップと、
複数の面を有する三次元オブジェクトを判定するステップであって、それぞれの面は、対応する１組の元の境界に関連付けられている、前記三次元オブジェクトを判定するステップと、
前記複数の面のうちの１つまたは複数に対する拡張された対応する１組の境界を判定するステップと、
前記球状のメディアコンテンツアイテムのそれぞれの部分を、前記１つまたは複数の面のそれぞれにマッピングするステップであって、前記球状のメディアコンテンツアイテムの第１の部分は、拡張された１組の境界を有する第１の面にマッピングされる、前記マッピングするステップと、を含む方法を行わせる命令を含む非一時的なコンピュータ可読記憶媒体。
【請求項３０】
前記第１の面に対応する前記拡張された１組の境界は、調整されたマッピング角度に少なくとも部分的に基づいて判定され、
好ましくは、前記コンピューティングシステムは、
前記球状のメディアコンテンツアイテムの第１の部分を前記三次元オブジェクトの第１の面に投影するためのマッピング角度を、前記第１の面に対応する１組の元の境界に少なくとも部分的に基づいて判定すること、
前記マッピング角度を調整することであって、前記球状のメディアコンテンツアイテムの第１の部分は、前記調整されたマッピング角度で、前記第１の面に投影される、前記調整すること、をさらに行い、
好ましくは、前記調整されたマッピング角度は、前記マッピング角度より大きい、請求項２９に記載の非一時的なコンピュータ可読記憶媒体。
【請求項３１】
前記球状のメディアコンテンツアイテムのそれぞれの部分を前記１つまたは複数の面のそれぞれにマッピングすることは、前記コンピューティングシステムに、
前記球状のメディアコンテンツアイテムの第２の部分を前記三次元オブジェクトの第２の面に投影させることであって、前記第２の面は、拡張された１組の境界を有する、前記投影させることをさらに行わせ、
前記第２の面は、前記第１の面に隣接し、前記投影された第１の部分および前記投影された第２の部分は、少なくとも部分的に重なっている、請求項２９または３０に記載の非一時的なコンピュータ可読記憶媒体。
【請求項３２】
コンピュータが実行する方法であって、
コンピューティングデバイスが、提示される少なくとも１つのコンテンツアイテムを判定するステップであって、前記コンテンツアイテムは、複数の異なる位置から少なくとも１つのシーンを捕捉する１組のコンテンツストリームを使用して構成されている、前記少なくとも１つのコンテンツアイテムを判定するステップと、
前記コンピューティングデバイスが、前記コンテンツアイテムを提示するためのビューポートインタフェースを判定するステップであって、前記ビューポートインタフェースは、ビューポート形状に関連付けられている、前記ビューポートインタフェースを判定するステップと、
前記コンピューティングデバイスが、ディスプレイを介して前記ビューポートインタフェースを提供するステップと、を含み、
少なくとも１つのコンテンツストリームは、前記ビューポートインタフェースを介して提示され、前記ビューポート形状の内側の領域に対応する前記コンテンツストリームの一部は、第１のコンテンツ品質で提示される、方法。
【請求項３３】
前記ビューポート形状の外側の領域に対応する前記コンテンツストリームの別の部分は、前記第１のコンテンツ品質より低い第２のコンテンツ品質で提示される、請求項３２に記載の方法。
【請求項３４】
前記ビューポートインタフェースを判定するステップは、
前記コンピューティングデバイスが、前記コンテンツアイテムにアクセスしているユーザの視聴パターンを記述する情報を取得するステップであって、前記視聴パターンは、前記ユーザによりアクセスされた１つまたは複数の他のコンテンツアイテムに少なくとも部分的に基づいて判定される、前記取得するステップと、
前記コンピューティングデバイスが、前記視聴パターンに少なくとも部分的に基づいて、前記ビューポート形状を判定するステップと、をさらに含み、
好ましくは、前記視聴パターンは、前記コンテンツアイテムの少なくとも一部の再生の間、前記ビューポートインタフェースの方向の変化に対応する、請求項３２または３３に記載の方法。
【請求項３５】
前記ビューポートインタフェースを判定するステップは、
前記コンピューティングデバイスが、前記コンテンツアイテムにアクセスした複数のユーザの集計された視聴パターンを記述する情報を取得するステップと、
前記コンピューティングデバイスが、前記集計された視聴パターンに少なくとも部分的に基づいて、前記ビューポート形状を判定するステップと、をさらに含む、請求項３２〜３４のいずれか一項に記載の方法。
【請求項３６】
前記ビューポートインタフェースを判定するステップは、
前記コンピューティングデバイスが、前記コンテンツアイテムの再生の間、前記ビューポート形状が、コンテンツストリームが切り替えられる速度を低減させていると判定するステップをさらに含む、請求項３２〜３６のいずれか一項に記載の方法。
【請求項３７】
前記ビューポート形状は、菱形形状、楕円形状、矩形形状、または他の多角形形状のうちの１つに対応する、請求項３２〜３６のいずれか一項に記載の方法。
【請求項３８】
前記コンテンツストリームのセットは、前記シーンの３６０度ビューをまとめて捕捉する、請求項３２〜３７のいずれか一項に記載の方法。
【請求項３９】
前記ビューポートインタフェースを介して提示されている前記少なくとも１つのコンテンツストリームは、前記シーンに対して前記ビューポートインタフェースの方向に少なくとも部分的に基づいて選択され、
好ましくは、
前記コンピューティングデバイスが、前記ビューポートインタフェースの方向の変化を判定するステップと、
前記コンピューティングデバイスが、前記変化した方向が、第２のコンテンツストリームにおいて捕捉された前記シーンの異なる部分に対応すると判定するステップと、
前記コンピューティングデバイスが、前記ビューポートインタフェースを介して前記第２のコンテンツストリームを提供するステップと、をさらに含む、請求項３２〜３８のいずれか一項に記載の方法。
【請求項４０】
システムであって、
少なくとも１つのプロセッサと、
命令を記憶するメモリと、を備え、
前記命令は、前記少なくとも１つのプロセッサによって実行されると、前記システムに、
提示される少なくとも１つのコンテンツアイテムを判定することであって、前記コンテンツアイテムは、複数の異なる位置から少なくとも１つのシーンを捕捉するコンテンツストリームのセットを使用して構成されている、前記少なくとも１つのコンテンツアイテムを判定すること、
前記コンテンツアイテムを提示するためのビューポートインタフェースを判定することであって、前記ビューポートインタフェースは、ビューポート形状に関連付けられている、前記ビューポートインタフェースを判定すること、
ディスプレイを介して前記ビューポートインタフェースを提供することであって、少なくとも１つのコンテンツストリームは、前記ビューポートインタフェースを介して提示され、前記ビューポート形状の内側の領域に対応する前記コンテンツストリームの一部は、第１のコンテンツ品質で提示される、前記提供すること、を行わせる、システム。
【請求項４１】
前記ビューポート形状の外側の領域に対応する前記コンテンツストリームの別の部分は、前記第１のコンテンツ品質より低い第２のコンテンツ品質で提示される、請求項４０に記載のシステム。
【請求項４２】
前記ビューポートインタフェースを判定することは、前記システムに、
前記コンテンツアイテムにアクセスしているユーザの視聴パターンを記述する情報を取得することであって、前記視聴パターンは、前記ユーザによりアクセスされた１つまたは複数の他のコンテンツアイテムに少なくとも部分的に基づいて判定される、前記取得すること、
前記ビューポート形状を前記視聴パターンに少なくとも部分的に基づいて判定することと、をさらに行わせ、
好ましくは、前記視聴パターンは、前記コンテンツアイテムの少なくとも一部の再生の間、前記ビューポートインタフェースの方向の変化に対応する、請求項４０または４１に記載のシステム。
【請求項４３】
前記ビューポートインタフェースを判定することは、前記システムに、
前記コンテンツアイテムにアクセスした複数のユーザの集計された視聴パターンを記述する情報を取得することと、
前記集計された視聴パターンに少なくとも部分的に基づいて、前記ビューポート形状を判定することと、をさらに行わせる、請求項４０〜４２のいずれか一項に記載のシステム。
【請求項４４】
非一時的なコンピュータ可読記憶媒体であって、
コンピューティングシステムの少なくとも１つのプロセッサによって実行されると、前記コンピューティングシステムに、
提示される少なくとも１つのコンテンツアイテムを判定するステップであって、前記コンテンツアイテムは、複数の異なる位置から少なくとも１つのシーンを捕捉するコンテンツストリームのセットを使用して構成されている、前記少なくとも１つのコンテンツアイテムを判定するステップと、
前記コンテンツアイテムを提示するためのビューポートインタフェースを判定するステップであって、前記ビューポートインタフェースは、ビューポート形状に関連付けられている、前記ビューポートインタフェースを判定するステップと、
ディスプレイを介して前記ビューポートインタフェースを提供するステップであって、少なくとも１つのコンテンツストリームは、前記ビューポートインタフェースを介して提示され、前記ビューポート形状の内側の領域に対応する前記コンテンツストリームの一部は、第１のコンテンツ品質で提示される、前記提供するステップと、を含む方法を行わせる命令を含む非一時的なコンピュータ可読記憶媒体。
【請求項４５】
前記ビューポート形状の外側の領域に対応する前記コンテンツストリームの別の部分は、前記第１のコンテンツ品質より低い第２のコンテンツ品質で提示される、請求項４４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項４６】
前記ビューポートインタフェースを判定することは、前記コンピューティングシステムに、
前記コンテンツアイテムにアクセスしているユーザの視聴パターンを記述する情報を取得することであって、前記視聴パターンは、前記ユーザによりアクセスされた１つまたは複数の他のコンテンツアイテムに少なくとも部分的に基づいて判定される、前記取得すること、
前記ビューポート形状を前記視聴パターンに少なくとも部分的に基づいて判定することと、をさらに行わせ、
好ましくは、前記視聴パターンは、前記コンテンツアイテムの少なくとも一部の再生の間、前記ビューポートインタフェースの方向の変化に対応し、および／または
前記ビューポートインタフェースを判定することは、前記コンピューティングシステムに、
前記コンテンツアイテムにアクセスした複数のユーザの集計された視聴パターンを記述する情報を取得すること、
前記集計された視聴パターンに少なくとも部分的に基づいて、前記ビューポート形状を判定することと、をさらに行わせる、請求項４４または４５に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンテンツストリーミングの分野に関する。より具体的には、本技術は、球状または三次元（３Ｄ）のコンテンツを符号化し、ストリーミングするための技術に関する。
【発明の概要】
【課題を解決するための手段】
【０００２】
本開示の様々な実施形態は、提示される少なくとも１つのコンテンツアイテムを判定するように構成された、システム、方法、および非一時的なコンピュータ可読媒体を含むことができ、コンテンツアイテムは、複数の異なる位置から少なくとも１つのシーンを捕捉するコンテンツストリームのセットを使用して構成されている。コンテンツアイテムを提示するためのビューポートインタフェースが判定され、ビューポートインタフェースは、ビューポート形状に関連付けられている。ビューポートインタフェースは、ディスプレイを介して提供され、少なくとも１つのコンテンツストリームは、ビューポートインタフェースを介して提示され、ビューポート形状の内側の領域に対応するコンテンツストリームの一部は、第１のコンテンツ品質で提示される。
【０００３】
いくつかの実施形態において、ビューポート形状の外側の領域に対応するコンテンツストリームの別の部分は、第１のコンテンツ品質より低い第２のコンテンツ品質で提示される。
【０００４】
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、コンテンツアイテムにアクセスしているユーザの視聴パターンを記載する情報を取得し、視聴パターンに少なくとも部分的に基づいて、ビューポート形状を判定するように構成され、視聴パターンは、ユーザによってアクセスされた１つまたは複数の他のコンテンツアイテムに少なくとも部分的に基づいて判定される。
【０００５】
いくつかの実施形態において、視聴パターンは、コンテンツアイテムの少なくとも一部の再生の間、ビューポートインタフェースの方向の変化に対応する。
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、コンテンツアイテムにアクセスした複数のユーザの集計された視聴パターンを示す情報を取得し、集計された視聴パターンに少なくとも部分的に基づいて、ビューポート形状を判定するように構成されている。
【０００６】
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、ビューポート形状が、コンテンツアイテムの再生の間、コンテンツストリームが切り替えられる速度を低減させていると判定するように構成されている。
【０００７】
いくつかの実施形態において、ビューポート形状は、菱形形状、楕円形状、矩形形状、または他の多角形状のうちの１つに対応する。
いくつかの実施形態において、コンテンツストリームのセットは、シーンの３６０度ビューをまとめて捕捉する。
【０００８】
いくつかの実施形態において、ビューポートインタフェースを介して提示されている少なくとも１つのコンテンツストリームは、シーンに対してビューポートインタフェースの方向に少なくとも部分的に基づいて選択される。
【０００９】
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、ビューポートインタフェースの方向の変化を判定し、変化した方向が、第２のコンテンツストリームにおいて捕捉されたシーンの異なる部分に対応すると判定し、ビューポートインタフェースを介して第２のコンテンツストリームを提供するように構成されている。
【００１０】
本開示の多様な実施形態は、複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得するように構成された、システム、方法、および非一時的なコンピュータ可読媒体を含むことができる。複数の面を有する三次元オブジェクトが判定され、それぞれの面は、元の境界のそれぞれのセットに関連付けられている。複数の面のうちの１つまたは複数に対する拡張された境界のそれぞれのセットが判定される。球状のメディアコンテンツアイテムのそれぞれの部分は、１つまたは複数の面のそれぞれにマッピングされ、球状のメディアコンテンツアイテムの第１の部分は、拡張された境界のセットを有する第１の面にマッピングされる。
【００１１】
いくつかの実施形態において、第１の面に対応する拡張された境界は、調整されたマッピング角度に少なくとも部分的に基づいて判定される。
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、球状のメディアコンテンツアイテムの第１の部分を、三次元オブジェクトの第１の面に投影するためのマッピング角度を、第１の面に対応する元の境界のセットに少なくとも部分的に基づいて判定し、マッピング角度を調整するように構成され、球状のメディアコンテンツアイテムの第１の部分は、調整されたマッピング角度の第１の面に投影される。
【００１２】
いくつかの実施形態において、調整されたマッピング角度は、前記マッピング角度より大きい。
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、球状のメディアコンテンツアイテムの第２の部分を三次元オブジェクトの第２の面に投影させるように構成され、第２の面は、拡張された境界のセットを有し、第２の面は、第１の面に隣接し、投影された第１の部分および投影された第２の部分は、少なくとも部分的に重なっている。
【００１３】
いくつかの実施形態において、三次元オブジェクトは、立方体であり、球状のメディアコンテンツアイテムのそれぞれの部分は、立方体のそれぞれの面にマッピングされている。
【００１４】
いくつかの実施形態において、球状のメディアコンテンツアイテムの上面視部分は、立方体内の上面視の正方形にマッピングされ、球状のメディアコンテンツアイテムの左面視部分は、立方体内の左面視の正方形にマッピングされ、球状のメディアコンテンツアイテムの右面視部分は、立方体内の右面視の正方形にマッピングされ、球状のメディアコンテンツアイテムの前面視部分は、立方体内の前面視の正方形にマッピングされ、球状のメディアコンテンツアイテムの後面視部分は、立方体内の後面視の正方形にマッピングされ、球状のメディアコンテンツアイテムの下面視部分は、立方体内の下面視の正方形にマッピングされている。
【００１５】
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、第１の面の少なくとも一部に画像ぼかし処理を適用するように構成されている。
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、第１の面の部分にローパスフィルタを適用するように構成されている。
【００１６】
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、第１の面の部分にぼかしを適用するように構成されている。
本開示の多様な実施形態は、複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得するように構成された、システム、方法、および非一時的なコンピュータ可読媒体を含むことができる。一点に収束する複数の面を有する三次元オブジェクトが判定される。球状のメディアコンテンツアイテムの少なくとも第１の部分は、複数の面の少なくとも第１の面にマッピングされる。
【００１７】
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、球状のメディアコンテンツアイテムの第１の部分を第１の面に投影させるように構成されている。
【００１８】
いくつかの実施形態において、第１の部分は、シーンの第１のビューに対応し、第１の面は、三次元オブジェクトの底面領域に対応する。
いくつかの実施形態において、システム、方法、および非一時的なコンピュータ可読媒体は、球状のメディアコンテンツアイテムの第２の部分を複数の面の第２の面に投影するように構成され、第２の面は、三次元オブジェクトの側面領域に対応する。
【００１９】
いくつかの実施形態において、第１の面に投影されている第１の部分は、第２の面に投影されている第２の部分より高いグラフィカル品質を有する。
いくつかの実施形態において、第２の部分が第２の面に投影されているグラフィカル品質は、第２の面がその点に収束するにつれて、次第に低くなる。
【００２０】
いくつかの実施形態において、三次元オブジェクトは、複数の面が接続される底面を含み、複数の面は、頂点で収束する。
いくつかの実施形態において、三次元オブジェクトは、角錐であり、底面は、菱形形状に対応する。
【００２１】
いくつかの実施形態において、三次元オブジェクトは、円錐であり、底面は、楕円形状に対応する。
いくつかの実施形態において、三次元オブジェクトは、涙滴形状に対応する。
【００２２】
開示された技術の多くの他の特徴、応用、実施形態、および／または変形例は、添付の図面および以下の詳細な説明から明らかとなることを理解されたい。開示技術の原理から逸脱することなく、本明細書に記載の構造、システム、非一時的なコンピュータ可読媒体、および方法の、追加の実施形態および代替の実施形態の両方または一方を採用できる。
【００２３】
本発明による実施形態は、方法、記憶媒体、システムおよびコンピュータプログラム製品に向けられた添付の請求項で特に開示され、ある請求項のカテゴリ、例えば方法、で述べられた任意の特徴は、別の請求項のカテゴリ、例えばシステム、でも同様に請求されることができる。添付の請求項の従属性または後方参照は、形式上の理由でのみ選択されている。しかし、任意の先行請求項への意図的な後方参照から生じる任意の主題（特に多項従属）は同様に請求されることができるので、添付の請求項で選ばれた従属性に関係なく、請求項およびその特徴の任意の組み合わせが開示され、請求されることができる。請求することのできる主題は、添付の請求項に記載される特徴の組み合わせだけでなく、請求項の特徴の任意の他の組み合わせも含み、請求項で述べられる各特徴は請求項の任意の他の特徴または他の特徴の組み合わせと組み合わせることができる。さらに、本明細書で記述または示される実施形態および特徴のいずれも、個別の請求項で、および／または、本明細書で記述もしくは示される任意の実施形態もしくは特徴または添付の請求項の特徴のいずれかとの任意の組み合わせで請求することができる。
【図面の簡単な説明】
【００２４】
【図１Ａ】本開示の実施形態による、全天球映像のストリーミングの例を示す図である。
【図１Ｂ】本開示の実施形態による、全天球映像のストリーミングの例を示す図である。
【図１Ｃ】本開示の実施形態による、全天球映像のストリーミングの例を示す図である。
【図１Ｄ】本開示の実施形態による、全天球映像のストリーミングの例を示す図である。
【図１Ｅ】本開示の実施形態による、全天球映像のストリーミングの例を示す図である。
【図２Ａ】本開示の実施形態による、ユーザの行動に基づいた全天球映像の新しいストリームを生成する例を示す図である。
【図２Ｂ】本開示の実施形態による、ユーザの行動に基づいた全天球映像の新しいストリームを生成する例を示す図である。
【図２Ｃ】本開示の実施形態による、ユーザの行動に基づいた全天球映像の新しいストリームを生成する例を示す図である。
【図２Ｄ】本開示の実施形態による、ユーザの行動に基づいた全天球映像の新しいストリームを生成する例を示す図である。
【図３Ａ】本開示の実施形態による、社会的予測データに基づく、全天球映像のストリーミングの例を示す図である。
【図３Ｂ】本開示の実施形態による、社会的予測データに基づく、全天球映像のストリーミングの例を示す図である。
【図４Ａ】本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオを示す図である。
【図４Ｂ】本開示の実施形態による、多角形のメディアマッピングのためのエッジ拡張を利用することに関連付けられた例示的なシナリオを示す図である。
【図４Ｃ】本開示の実施形態による、多角形のメディアマッピングのためのエッジ拡張を利用することに関連付けられた例示的なシナリオを示す図である。
【図４Ｄ】本開示の実施形態による、多角形のメディアマッピングのためのエッジ拡張を利用することに関連付けられた例示的なシナリオを示す図である。
【図４Ｅ】本開示の実施形態による、多角形のメディアマッピングのためのエッジ拡張を利用することに関連付けられた例示的なシナリオを示す図である。
【図５Ａ】本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオを示す図である。
【図５Ｂ】本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオを示す図である。
【図５Ｃ】本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオを示す図である。
【図５Ｄ】本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオを示す図である。
【図６Ａ】本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオを示す図である。
【図６Ｂ】本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオを示す図である。
【図６Ｃ】本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオを示す図である。
【図６Ｄ】本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオを示す図である。
【図６Ｅ】本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオを示す図である。
【図６Ｆ】本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオを示す図である。
【図７】本開示の実施形態による、コンテンツを提示するための例示的な方法を示す図である。
【図８】本開示の実施形態による、コンテンツを提示するための例示的な別の方法を示す図である。
【図９】本開示の実施形態による、コンテンツを提示するための例示的なさらに別の方法を示す図である。
【図１０】本開示の実施形態による、様々なシナリオで利用することができる例示的なソーシャルネットワーキングシステムを含む例示的なシステムのネットワーク図である。
【図１１】本開示の実施形態による、様々なシナリオで利用することができるコンピュータシステムまたはコンピューティングデバイスの例を示す図である。
【発明を実施するための形態】
【００２５】
図面は、説明の目的のためだけに、開示された技術の多様な実施形態を示しており、図面は、同様の要素を識別するために同じ符号を使用している。当業者は、以下の説明から、本明細書に記載された開示技術の原理から逸脱することなく、図面に示された構造および方法の代替実施形態を用いることができることを認識するであろう。
【００２６】
コンテンツストリーミング
人々は、様々な目的のために、コンピューティングシステム（またはデバイス）を使用する。ユーザは、自身のコンピューティングシステムを利用して、接続を確立したり、通信を行ったり、互いに対話したり、および／または様々なタイプのコンテンツと対話したりすることができる。場合によっては、コンピューティングデバイスは、全天球映像（spherical videos）のような球状のメディアコンテンツ（spherical media content）を提供するように構成することができる。例えば、バーチャルリアリティ（ＶＲ）コンピューティングデバイスは、球状のメディアコンテンツを表示するように構成することができる。バーチャルリアリティコンピューティングデバイス（例えば、ヘッドセット、眼鏡など）のユーザが自身の頭を回転させると、球状のメディアコンテンツアイテムの、ユーザの視界または表示されたエリアは、それに応じて調整されることができる。別の例において、スマートフォン、タブレット、またはスマートウォッチなどのモバイルまたはウェアラブルコンピューティングデバイスは、球状のメディアコンテンツを表示するように構成することができる。モバイルまたはウェアラブルコンピューティングデバイスへの位置の移動または変化により、球状のメディアのコンテンツの表示された部分も同様に変更することができる。さらなる例では、デスクトップコンピューティングデバイスは、球状のメディアコンテンツを表示することができる。デスクトップコンピューティングデバイスの入力機構（例えば、マウス、キーボード）を介したコマンドまたは対話に基づいて、球状のメディアコンテンツの表示された部分または視認可能な部分もまた、それに応じて変化することができる。
【００２７】
場合によっては、メディア処理のためのコンピュータ技術に根ざした従来のアプローチは、データ効率の目的で、球状のメディアコンテンツアイテム（例えば、球状の画像、全天球映像など）を、正距円筒図手法を用いるなどして、矩形上にマッピングしようと試行する場合がある。しかしながら、正距円筒図法は、矩形上にマッピングされた場合、球状のメディアコンテンツアイテムが表示において不要に歪められてしまう結果をもたらす場合がある。さらに、場合によっては、メディア処理のためのコンピュータ技術に根ざした従来のアプローチは、球状のメディアコンテンツアイテムを、キューブマッピング技法を用いるなどして、三次元立方体上にマッピングしようと試行する場合がある。球状のメディアコンテンツアイテムの対応する部分は、例えば、立方体の６つの面（例えば、内面）にマッピングすることができる。しかしながら、このような従来のアプローチにより、６つの面が接続されて、球状のメディアコンテンツアイテムの立方体の表現を形成する場合、６つの面のエッジが接続された不要な目視可能な繋ぎ目および歪みまたは繋ぎ目もしくは歪みが存在する場合がある。
【００２８】
これらの懸念または他の懸念のために、従来のアプローチは、不利または問題となる場合がある。したがって、改善されたアプローチは、従来のアプローチに伴う様々な欠点に対処するか、またはかかる欠点を軽減するために有益であり得る。一例では、開示技術は、球状のメディアマッピングのために多角形のエッジ拡張を利用することができる。本開示の様々な実施形態は、球状のメディアコンテンツアイテムを取得（すなわち、検索、受信、識別、選択、アクセスなど）することができる。複数の多角形の面を含む三次元幾何オブジェクトを選択（すなわち、定義、予め設定、識別など）することができる。複数の多角形の面のそれぞれの多角形の面に付属している対応する１組のエッジは、それぞれの多角形の面に付属している拡張された対応する１組のエッジを生成するように外方に拡張させることができる。球状のメディアコンテンツアイテムのそれぞれの部分を、拡張された対応する１組のエッジを含むそれぞれの多角形の面にマッピングすることができる。拡張された第１の組のエッジを含む少なくとも第１の多角形の面は、球状のメディアコンテンツアイテムの表現の少なくとも一部を生成するために、拡張された第２の組のエッジを含む少なくとも第２の多角形の面に接続可能であり得る。従来のアプローチにおいて典型的に発生する欠点を克服するための他の改善されたアプローチもまた、本明細書に記載される。
【００２９】
図１Ａ〜図１Ｅは、本開示の実施形態による、全天球映像のストリーミングの例を示している。図１Ａは、全天球映像の映像ストリーム１０６の一部を表示するビューポート（viewport）１０４の例１００を図示している。ビューポート１０４は、本明細書に記載の様々な実施形態の理解を容易にするために、全天球映像の表現１０２内に位置付けられるものとして図１Ａの図に示されている。いくつかの実施形態において、全天球映像は、三次元シーンの３６０度ビューを捕捉する。全天球映像は、単一のカメラで作成可能であり、あるいはシーンの３６０度ビューを捕捉するために異なる場所および位置または異なる場所もしくは位置に位置付けられた複数のカメラによって撮像された様々な映像ストリームもしくはフィード同士を繋げることによって作成可能である。
【００３０】
繋ぎ合わされると、ユーザは、ある角度で全天球映像の一部を視聴するために、ビューポート１０４を介して、全天球映像にアクセスするかまたはこれを再生することができる。ビューポート１０４は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話もしくはタブレットなどのモバイルデバイス上の映像プレイヤーソフトウェア、および／またはバーチャルリアリティシステムもしくはヘッドマウントディスプレイを介して視聴され得る。表現１０２により示されるように、繋げられた全天球映像を球体として投影することができる。全般的に、全天球映像にアクセスしている間、ユーザは、全天球映像により捕捉されたシーンの別の部分にアクセスするために、ビューポート１０４の方向（例えば、ピッチ、ヨー、ロール）を変更することができる。図１Ｂは、ビューポート１５４の方向が（例えば、ビューポート１０４と比較して）上に向かって変化した例１５０を示し、その結果、ビューポート１５４を介してアクセスされている全天球映像の映像ストリーム１５６が（例えば、映像ストリーム１０６と比較して）更新されて、更新されたビューポート方向に対応する全天球映像の部分を示している。
【００３１】
ビューポート１０４の方向は、実施態様に応じて、様々な形で変化してもよい。例えば、コンピューティングデバイス上で実行している映像プレイヤーを介して全天球映像にアクセスしている間、ユーザは、マウスもしくは同様のデバイスを使用するか、またはコンピューティングデバイスにより認識されたジェスチャを介して、ビューポート１０４の方向を変更することができる。方向が変化すると、例えば、１つまたは複数のサーバ上に遠隔でホスティングされていてもよいコンテンツプロバイダシステムから、ビューポート１０４には、その方向に対応するストリームが提供され得る。別の例において、モバイルデバイスのディスプレイスクリーンを介して全天球映像にアクセスしている間、ユーザは、例えば、ジャイロスコープ、加速度計、タッチセンサおよび／またはモバイルデバイス内の慣性測定装置を使用して、判定されたモバイルデバイスの方向（例えば、ピッチ、ヨー、ロール）を変更することによって、ビューポート１０４の方向を変更することができる。さらに、バーチャルリアリティのヘッドマウントディスプレイを介して全天球映像にアクセスしている場合、ユーザは、ユーザの頭の方向（例えば、ピッチ、ヨー、ロール）を変更することにより、ビューポート１０４の方向を変更することができる。当然、例えば、タッチスクリーンまたは他の好適なジェスチャを含む、全天球映像の再生をナビゲートするための他のアプローチを利用してもよい。
【００３２】
上述のように、シーンの全天球映像は、様々な位置のシーンの撮影されたカメラフィードを繋ぎ合わせることによって作成することができる。ビューポート１０４の方向を変更する場合、ビューポート１０４には、シーンの撮影された１つまたは複数のカメラフィードから構成することができる全天球映像のストリームが提供され得る。このようなストリームは、全天球映像の様々な角度（例えば、０度、３０度、６０度など）に対して予め判定されてもよく、かつビューポートに、その方向（例えば、完全な３６０度シーン内で角度および位置のうちの一方または両方を考慮すること）に基づいて、適切なストリームを提供してもよい。
【００３３】
いくつかの実施形態において、提供されているストリームは、例えば、コンテンツプロバイダシステムにより、ビューポート１０４の判定された方向に基づいて、リアルタイムで提供される。例えば、ビューポート１０４の方向が新しい位置に変化する場合、ビューポート１０４がアクセスされているコンピューティングデバイスおよびコンテンツプロバイダシステムの両方または一方は、ビューポート１０４の新しい位置を判定することができ、コンテンツプロバイダシステムは、コンピューティングデバイスに、新しい位置に対応するストリームデータを送信することができる。よって、このような実施形態では、方向の変化に対応する適切なストリームをコンテンツプロバイダシステムが送信することができるように、ビューポート１０４の位置のそれぞれの変更はリアルタイムで（例えば、定常的にまたは所定の時間間隔で）モニタされ、変更に関連付けられた情報は、コンテンツプロバイダシステムに提供される。
【００３４】
いくつかの実施形態において、提供されているストリーム（例えば、データ、ビットなど）は、図１Ｃ〜図１Ｅに示すように、ビューポート形状（viewport shape）に基づいて、またはビューポート形状に部分的に基づいて調整することができる。いくつかの実施形態において、全天球映像のためのビューポートは、視聴されている全天球映像の方向（例えば、角度）およびビューポート用に利用されている形状に基づいて判定される。例えば、ビューポートは、全天球映像により捕捉されたシーンの一般的な視聴パターンを反映した形状に関連付けることができる。様々な実施形態において、ユーザが一般には視聴しないシーンの領域ではより低い品質のコンテンツを提供しつつ、一般的な視聴パターンに対応するシーンの領域内ではユーザがより高い品質のコンテンツを見ることができるように、ビューポート形状の境界内の映像コンテンツ（例えば、ピクセル）を、より高い符号化またはビットレートでストリーミング可能である。様々な実施形態において、ビューポート形状は、特定ユーザおよび全天球映像用または特定ユーザもしくは全天球映像用にカスタマイズされてもよい。さらに、異なるビューポート形状を、所与の全天球映像の異なる部分のために利用してもよい。こうしたビューポート形状は、例えば、個々のユーザの視聴パターンを分析すること、および、様々な全天球映像についてのユーザ視聴パターンを全体として分析すること、の両方または一方により判定され得る。視聴パターンを分析する際、コンピューティングシステムは、一定時間または全天球映像の再生にわたって、ユーザがビューポートの方向に加えた変更を分析することができる。こうした変更は、ユーザがマウスもしくはジェスチャを使用することによって、モバイルデバイスの向きを変更することによって、またはバーチャルリアリティヘッドマウントディスプレイの向きを変更すること（例えば、ヘッドトラッキング情報により判定されたピッチ、ヨー、ロールへの変更）により、ビューポートの方向を変更した結果であってもよい。いくつかの実施形態において、ビューポート形状は、時間間隔（例えば、１秒）ごとに異なるビューポート形状を利用するためのコスト関数（cost function）に、部分的に、基づいて判定されてもよい。例えば、コスト関数は、全天球映像の再生中に、ストリームが切り替えられる速度を低減させるビューポート形状を利用することに基づいていてもよい。一例では、例えば、ビューポート形状が小さすぎるために、ビューポート形状によりストリームが頻繁に切り替わる場合、映像の継続的な再生を容易にするために、より多くのデータをダウンロードする必要がある場合がある。これは、ユーザにとって、準最適な視聴経験をもたらし得る。
【００３５】
図１Ｃは、シーン１６０を視聴するユーザが、シーンの角部を視聴することなく、概ね、垂直および水平の視聴パターンを示すと判定することができる例示的なシーン１６０を図示している。この例において、ユーザの行動に基づいて、ビューポート形状の境界１６２内にある映像コンテンツをより高い品質（例えば、ビットレート）でストリーミングすることができ、一方でビューポート形状１６２の映像コンテンツ外部１６４をより低い品質（例えば、ビットレート）でストリーミングすることができるように、菱形のビューポート形状１６２を利用することができる。
【００３６】
図１Ｄは、楕円形状のビューポート形状１７２が利用されている例示的なシーン１７０を図示している。例えば、全天球映像を視聴しているユーザが全般的に、ビューポートの位置を（例えば、垂直に位置を変更するより多く）左右に変更すると判定した場合、楕円形状のビューポート形状１７２を利用することができる。この例において、シーン１７０のための映像コンテンツを、ビューポート１７２内部でより高い品質（例えば、ビットレート）でストリーミングすることができる一方で、ビューポート形状１７２の映像コンテンツ外部１７４をより低い品質でストリーミングすることができる。
【００３７】
図１Ｅは、矩形形状のビューポート形状１８２が利用されている例示的なシーン１８０を図示している。この例において、シーン１８０のための映像コンテンツを、ビューポート１８２内部でより高い品質（例えば、ビットレート）でストリーミングすることができる一方、ビューポート形状１８２の映像コンテンツ外部１８４をより低い品質でストリーミングすることができる。
【００３８】
図２Ａ〜図２Ｄは、本開示の実施形態による、ユーザの行動に基づいた全天球映像の新しいストリームを生成する例を図示している。上述のように、シーンの全天球映像は、様々な位置におけるシーンの撮影されたカメラフィードを繋ぎ合わせることによって作成することができる。ビューポートを介して全天球映像にアクセスすると、ビューポートには、全天球映像内のビューポートの方向（例えば、角度または位置を含む）に対応するストリームが提供され得る。提供されたストリームは、シーンの撮影されたカメラフィードのうちの１つまたは複数から構成することができる。こうしたストリームは、全天球映像の様々な角度（例えば、０度、３０度、６０度など）に対して予め判定されてもよく、ビューポートには、その方向に基づく適切なストリームが提供され得る。
【００３９】
図２Ａは、全天球映像の例示的な図２０２を図示している。図２０２は、本明細書に記載の様々な実施形態の理解を容易にするために、二次元の形態で提供される。図２Ａに示すように、例示的な全天球映像は、ストリーム２０４、２０６、２０８、および２１０から構成されている。コンテンツプロバイダシステムは、コンピューティングデバイスに関連付けられたビューポート２１２の方向に基づいて、コンピューティングデバイスに送信するストリームを判定することができる。一例では、図２Ｂに示すように、ビューポート２３２は、ストリーム２２６に関連づけられた方向に対応する方向を向いている。この例において、コンテンツプロバイダシステムは、ビューポート２３２を介して提示されるストリーム２２６に対応するデータを送信することができる。図示されたストリームの数は、単なる例示のためのものであり、任意の数のストリームを、所与の全天球映像のために利用してもよい。
【００４０】
いくつかの実施形態において、全天球映像のためのストリーム（例えば、ストリームの角度）は、ユーザ視聴パターンに少なくとも部分的に基づいて改良または調整することができる。例えば、図２Ｃは、ストリーム２４６、２４８、２５０、および２５２から構成される全天球映像の図２４２を図示している。図示されているように、ビューポート２４４は、２つのストリーム２４６および２４８の間にある方向を向いている。ビューポート２４４がストリームの間の方向を向いている場合、提示されている全天球映像の品質および経験または品質もしくは経験が低下する場合がある。よって、いくつかの実施形態において、例えば、図２Ｃに示すように、閾値数のユーザが、既存のストリーム２４６、２４８、２５０、または２５２が良好に機能していない全天球映像の領域または方向を視聴していると判定された場合、視聴されている領域または方向に対応する方向のための全天球映像について、追加的なストリームが生成されてもよい。例えば、第１の方向（例えば、０度）に対応する第１のストリームと第２の方向（例えば、３０度）に対応する第２のストリームとを有する全天球映像は、ユーザの視聴経験を向上させるために生成される第３の方向（例えば１５度）に対応する第３のストリームを必要とする、という判定がなされてもよい。図２Ｄは、図２Ｃのストリーム２４６および２４８の角度が、図２Ｃの例では以前は利用できなかった領域の角度または視聴方向に対応する追加的なストリーム２６８により、ストリーム２６６および２７０に調整された全天球映像の例示的な図２６２を図示している。
【００４１】
図３Ａおよび図３Ｂは、本開示の実施形態による、社会的予測データに基づく全天球映像のストリーミングの例を図示している。いくつかの実施形態において、全天球映像にアクセスしている間、様々なユーザによりなされたビューポート方向に対する変更は、全体として、測定および評価されることができる。これらの集計された変更を使用して、所与の再生時間において、全天球映像を見ている間、ユーザが概ねどの方向にビューポートを位置付けるかを判定することができる。これらの判定された方向を使用して、全天球映像をまだ視聴していないユーザは、ユーザが所与の時間にビューポートを位置付けることができる方向を予測することができる。こうした予測を利用して、例えば、ビューポート方向がその方向に変更される前に、ある方向に対して適切なストリームデータを送信する（例えば、ストリームが使用される前に該ストリームをバッファリングする）ことによって、映像の再生を改善させることができる。例えば、全天球映像を見る間、７０パーセントのユーザがビューポートＡから開始し、再生時間５秒（すなわち、全天球映像の再生が始まって５秒）でビューポートＢに視聴方向を変更する一方、３０パーセントのユーザがビューポートＡから開始し、再生時間５秒でビューポートＣに視聴方向を変更したという判定がなされてもよい。この例において、ビューポートＡは、全天球映像の第１の視聴方向に対応し、ビューポートＢは、全天球映像の第２の視聴方向に対応し、ビューポートＣは、全天球映像の第３の視聴方向に対応する。様々な実施形態において、こうしたユーザデータを使用して、第１のビューポート方向を視聴しているユーザが所与の再生時間に第２のビューポート方向に移行している尤度を提供する移行確率マップ（例えば、マルコフモデル）を生成することができる。
【００４２】
例えば、図３Ａは、全天球映像３０２を視聴している間にユーザが行ったビューポート方向に対する変更をモニタおよび測定することにより生成された、全天球映像３０２のための移行確率マップ３０４の例示的な部分を図示している。移行確率マップに含まれるビューポートの数ならびに遷移が行われる間隔は、実装または使用されるモデルによって異なり得る。例えば、移行確率マップは、全天球映像の再生時間の１秒ごとにいくつかのビューポートの遷移情報を含んでもよい。この例において、移行確率マップ３０４は、再生時間０秒においてビューポートＡ（ＶＡ）の全天球映像を見ているユーザが再生時間５秒でビューポートＡを視聴し続けている可能性が９０パーセントであり、こうしたユーザが再生時間５秒でビューポートＢ（ＶＢ）を視聴するように切り替えるよう移行する可能性が１０パーセントであったことを示している。移行確率マップ３０４はまた、再生時間０秒においてビューポートＢの全天球映像を見ているユーザが再生時間５秒でビューポートＡに移行する可能性が８５パーセントであり、こうしたユーザが再生時間５秒でビューポートＢを視聴し続けている可能性が１５パーセントであったことを示している。この例において、再生時間０秒でビューポートＡまたはビューポートＢにアクセスしているユーザは、再生時間５秒でビューポートＡにアクセスする可能性がとても高いと判定することができる。
【００４３】
様々な実施形態において、全天球映像の移行確率マップを利用して、任意の所与の再生時間における全天球映像に対するユーザの視聴方向を予測することができる。こうした情報を利用して、全天球映像がアクセスされているコンピューティングデバイス（例えば、モバイルデバイス、バーチャルリアリティヘッドマウントディスプレイ装置など）とコンテンツプロバイダシステムとの間の映像コンテンツのストリーミングを改善することができる。図３Ｂに示すように、いくつかの実施形態において、コンピューティングデバイス３５０によりアクセスされている全天球映像の移行確率マップは、コンピューティングデバイス３５０およびコンテンツプロバイダシステム３５４の両方により利用することができる。一例では、コンテンツプロバイダシステム３５４は、移行確率マップを使用して、例えば、コンテンツプロバイダシステム３５４により利用されているデータストア３５６に全天球映像のどのビューポートまたはストリームをキャッシュするべきかを判定し、こうしたデータを適切なコンピューティングデバイスに迅速に提供することができる。同様に、いくつかの実施形態において、コンピューティングデバイス３５０は、移行確率マップを利用して、コンピューティングデバイス３５０にアクセスしているユーザが一定時間視聴する可能性が高いビューポートまたはストリームを、リクエストおよびバッファすることが可能である。例えば、移行確率マップが、再生時間１秒で全天球映像のビューポートＡを見るユーザの９９パーセントが再生時間５秒でビューポートＡを継続して見るであろうことを示す場合、コンピューティングデバイス３５０は、ビューポートＡに対応するデータをリクエストおよびバッファまたはリクエストもしくはバッファすることができる。別の例において、移行確率マップが、再生時間１秒でビューポートＡを見るユーザの５０パーセントが再生時間５秒でビューポートＡを見て、再生時間１秒でビューポートＡを見るユーザの４０パーセントが再生時間５秒でビューポートＢを見るであろうことを示す場合、コンピューティングデバイス３５０は、ビューポートＡおよびビューポートＢの両方に対応するデータをリクエストおよびバッファまたはリクエストもしくはバッファすることができる。
【００４４】
上述のように、全体としてユーザ視聴パターンを分析することによって、所与の全天球映像に対して移行確率マップを生成することができる。しかしながら、いくつかの実施形態において、例えば、同様の視聴パターンを示すか、または任意の他の同様の特性（例えば、地理的位置、年齢、ソーシャルネットワーキングシステムで表現される行動もしくは興味などを含む、人口統計）を示すユーザの特定のグループに対応するそれぞれの移行確率マップを用いて、所与の全天球映像に対して複数の移行確率マップを生成することができる。一例では、アクションシーンを好んで見るユーザの１グループが存在する一方、景色のよいシーンを好んで見るユーザの別のグループが存在してもよい。いくつかの実施形態において、クラスタリングアルゴリズム（clustering algorithm）を適用して、ユーザが所与の再生時間でどのビューポートを見たかを相関させることに基づいて、こうしたユーザを別個のグループに分離することができる。こうしたユーザのグループのために別個の移行確率マップが判定および利用されてもよい。例えば、コンピューティングデバイス３５０を介して全天球映像にアクセスしているユーザが特定の再生時間に映像のあるストリームまたはビューポートを好んで見るユーザのグループに属することが既知である場合、コンピューティングデバイス３５０は、こうした情報を利用して、特定の再生時間の間、ストリームまたはビューポートのリクエストおよびバッファリングの両方もしくは一方をカスタマイズするように構成することができる。同様に、コンテンツプロバイダシステム３５４は、こうした情報に基づいた関連するストリームまたはビューポートのキャッシングを最適化することができる。
【００４５】
いくつかの実施形態において、本明細書に記載のアプローチを、全天球映像の再生およびバーチャルリアリティ装置の利用の両方または一方ができないレガシークライアント（legacy clients）（例えば、映像プレイヤー）に適用することができる。一例では、こうしたレガシークライアントのためのビューポートは、全天球映像のタイムライン全体にわたって、閾値数のユーザにより視聴される全天球映像の方向に基づいて判定されてもよい。こうした情報は、例えば、全天球映像のために判定された移行確率マップを使用して、判定されてもよい。したがって、レガシークライアントのために判定されたビューポートは、全天球映像を処理することができる映像プレイヤーがなくても、レガシークライアントが依然として全天球映像の関連する部分を見ることができるように、時間の経過とともに全天球映像を通って進むことができる。
【００４６】
図４Ａは、本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオ４００を図示している。例示的なシナリオ４００は、データ効率の目的などのために、球状のメディアコンテンツアイテム４０２がマッピングされることとなる三次元立方体オブジェクト４０４内の球状のメディアコンテンツアイテム４０２を図示している。場合によっては、球状のメディアコンテンツアイテム４０２は、全天球映像（例えば、３６０度全天球映像）に対応することができる。図示されているように、三次元立方体オブジェクト４０４は、前面４０６を含む６つの面または表面（例えば、正方形）により形成することができる。
【００４７】
いくつかの実施形態において、全天球映像４０２の前部分を、立方体オブジェクト４０４の前面４０６にマッピングすることができる。同様に、全天球映像４０２の後ろ部分は、立方体オブジェクト４０４の後面にマッピングすることができる。全天球映像４０２の上部分は、立方体オブジェクト４０４の上面にマッピングすることができる。全天球映像４０２の下部分は、立方体オブジェクト４０４の下面にマッピングすることができる。全天球映像４０２の左部分は、立方体オブジェクト４０４の左面にマッピングすることができる。全天球映像４０２の右部分は、立方体オブジェクト４０４の右面にマッピングすることができる。
【００４８】
図４Ｂは、本開示の実施形態による、多角形のメディアマッピングのためのエッジ拡張を利用することに関連付けられた例示的なシナリオ４２０を図示している。例示的なシナリオ４２０は、図４Ａの球状のメディアコンテンツアイテム４０２および三次元立方体オブジェクト４０４（すなわち、立方体）の断面図を図示している。場合によっては、断面図は、立方体４０４の右面を通って見るなどの垂直断面図に対応することができる。場合によっては、断面図は、立方体４０４の上面を通って見るなどの水平断面図に対応することができる。
【００４９】
前述したように、球状のメディアコンテンツアイテム４０２（例えば、全天球映像）の前部分は、立方体４０４の前面４０６にマッピングまたは投影することができる。場合によっては、図４Ｂに示すように、キューブマッピングに対する従来のアプローチは、９０度のマッピング角度４０８を利用することができる。このようにして、マッピング角度４０８の２つの脚部（two legs）間の全天球映像４０２の一部分は、全天球映像４０２の前部分に対応することができ、かつ、立方体４０４の前面４０６にマッピングまたは投影することができる。
【００５０】
開示技術の様々な実施形態は、球状のメディアマッピングのための多角形エッジ拡張を利用することができる。例示的なシナリオ４２０に示すように、開示技術は、９０度の元のマッピング角度４０８より大きい拡張されたマッピング角度４１０に基づいて、前面４０６のエッジを外方に拡張することができる。その結果、前面４０６は、拡張されたエッジ４１２を含むように拡張することができる。さらに、全天球映像４０２の前部分は、拡張されたマッピング角度４１０の２つの脚部間の全天球映像４０２の一部分に対応することができ、かつ、拡張されたエッジ４１２を含む前面４０６にマッピングまたは投影することができる。この処理は、立方体４０４の他の全ての面に対して繰り返すことができる。よって、（それぞれの拡張されたエッジを含む）６つの面が、提示のために全天球映像４０２の立方体の表現を形成するように接続された場合、面が接続する場所に潜在的に位置する、歪みおよび他の望ましくない視覚的品質または歪みもしくは他の望ましくない視覚的品質を、開示技術により低減または除去することができる。それぞれの拡張されたエッジは、面または線分においてオーバーラップする部分または小区域をもたらし得る。
【００５１】
１つの事例では、元のマッピング角度４０８が９０度に対応する場合、拡張されたマッピング角度４１０は、１００度に対応することができる。任意の好適な度数の値を使用できることを理解されたい。本明細書の全ての例は、説明目的で提供され、開示技術に関連する多くの変形例が可能であることもまた企図される。
【００５２】
図４Ｃは、本開示の実施形態による、多角形のメディアマッピングのためのエッジ拡張を利用することに関連付けられた例示的なシナリオ４４０を図示している。例示的なシナリオ４４０は、全天球映像４０２、立方体４０４、および、図４Ｂの拡張されたエッジ４１２を含む前面４０６の別の図を図示している。
【００５３】
図４Ｄは、本開示の実施形態による、多角形のメディアマッピングのためのエッジ拡張を利用することに関連付けられた例示的なシナリオ４６０を図示している。例示的なシナリオ４６０は、全天球映像４０２、立方体４０４、および、図４Ｃの拡張されたエッジ４１２を含む前面４０６を図示している。さらに、図４Ｄの例示的なシナリオ４６０は、立方体４０６の全６面に付属している他の全ての拡張されたエッジを図示している。
【００５４】
図４Ｅは、本開示の実施形態による、多角形のメディアマッピングのためのエッジ拡張を利用することに関連付けられた例示的なシナリオ４８０を図示している。例示的なシナリオ４８０は、図４Ｄの全天球映像４０２、立方体４０４、および前面４０６を図示している。いくつかの実施態様において、図４Ｅの例示的なシナリオ４８０に示すように、立方体４０４の全６面の拡張されたエッジ４１２は、それぞれの面から外方に延在するフラップであるように見え得る。
【００５５】
ここでも、開示技術に関連した多くの変形例が可能である。例えば、三次元幾何オブジェクトは、立方体オブジェクトに限定される必要はなく、任意の好適な多角形を三次元幾何オブジェクトの面として使用することができる。さらに、上述の通り、本開示の様々な実施形態は、球状のメディアコンテンツアイテムを取得（すなわち、検索、受信、識別、選択、アクセスなど）することができる。複数の多角形の面を含む三次元幾何オブジェクトを選択（すなわち、定義、予め設定、識別など）することができる。複数の多角形の面のそれぞれの多角形の面に付属している対応する１組のエッジは、それぞれの多角形の面に付属している拡張された対応する１組のエッジを生成するように外方に拡張させることができる。球状のメディアコンテンツアイテムのそれぞれの部分を、拡張された対応する１組のエッジを含むそれぞれの多角形の面にマッピングすることができる。拡張された第１の組のエッジを含む少なくとも第１の多角形の面は、球状のメディアコンテンツアイテムの表現の少なくとも一部を生成するために、拡張された第２の組のエッジを含む、少なくとも第２の多角形の面に接続可能であり得る。一実施形態において、拡張された第２の組のエッジを含む少なくとも第２の多角形の面に接続可能である拡張された第１の組のエッジを含む少なくとも第１の多角形の面は、少なくとも第１の多角形の面と少なくとも第２の多角形の面とが接続可能である、１つまたは複数の歪みを低減することができる。
【００５６】
一実施形態において、三次元幾何オブジェクトは、立方体に対応することができる。複数の多角形の面は、６つの正方形に対応することができる。６つの正方形は、上面視の正方形、左面視の正方形、前面視の正方形、右面視の正方形、後面視の正方形、および下面視の正方形を含むことができる。
【００５７】
一実施形態において、各組のエッジに対する外方への拡張量を判定することができる。外方への拡張量は、９０度より大きい拡張されたマッピング角度に基づくことができる。
図５Ａは、本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオ５００を図示している。例示的なシナリオ５００は、複数の多角形の面を包囲または囲繞することができる仮想矩形５０２を図示している。仮想矩形の面積は、例えば、コンテンツアイテムを表現するために使用される総データ量（例えば、ファイルサイズ）を表現してもよく、またはこれに関連付けられてもよい。複数の多角形の面は、三次元幾何オブジェクトに含まれてもよく、これを形成してもよく、および／またはこれの一部として含まれてもよい。この例示的なシナリオ５００において、複数の多角形の面は、三次元立方体オブジェクトを形成するために接続可能な６つの正方形または面を含むことができる。三次元立方体オブジェクトは、球状のメディアコンテンツアイテムを表現すること、および、球状のメディアコンテンツアイテムをマッピングするために使用すること、の両方または一方ができる。いくつかの実施形態において、６つの正方形は、送信および潜在的な提示のために仮想矩形５０２に包囲され得る。しかしながら、従来のアプローチは、非効率である場合がある。
【００５８】
例えば、図示されているように、（球状のメディアコンテンツアイテムの上部分をマッピングまたは表現するための）上面視の正方形５０４、（球状のメディアコンテンツアイテムの左部分をマッピングまたは表現するための）左面視の正方形５０６、（球状のメディアコンテンツアイテムの前部分をマッピングまたは表現するための）前面視の正方形５０８、（球状のメディアコンテンツアイテムの右部分をマッピングまたは表現するための）右面視の正方形５１０、（球状のメディアコンテンツアイテムの後ろ部分をマッピングまたは表現するための）後面視の正方形５１２、および（球状のメディアコンテンツアイテムの下部分をマッピングまたは表現するための）下面視の正方形５１４が存在し得る。しかしながら、メディアの送信および処理またはメディアの送信もしくは処理のために、６つの正方形を仮想矩形５０２に嵌め込んで配置するかまたは嵌め込むかもしくは配置する従来のアプローチに従って、図５Ａに示すように、大量の無駄なデータスペース５１６が存在する可能性がある。
【００５９】
図５Ｂは、本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオ５２０を図示している。例示的なシナリオ５２０は、６つの正方形のセット（例えば、右面視の正方形５２４、左面視の正方形５２６、上面視の正方形５２８、下面視の正方形５３０、前面視の正方形５３２、および後面視の正方形５３４）を嵌め込み、配置、包囲、または囲繞することができる仮想矩形５２２を図示している。
【００６０】
いくつかの実施態様において、開示技術は、送信、ストレージ、使用および／または他の処理のためにこのようなデータを包囲するための改善されたアプローチを提供することができる。例示的なシナリオ５２０に示すように、一実施形態において、６つの正方形を２つの水平方向の行および３つの垂直方向の列に編成することができる。６つの正方形は、仮想矩形５０２に比較して全体のサイズが小さくてもよい仮想矩形５２２を形成するように編成することができる。したがって、開示技術は、図示されているように、無駄なデータスペースを削減および除去または削減もしくは除去することができる。これにより、データ効率を改善することができる。その後、提示のために仮想矩形５２２を送信することができる。６つの正方形を再編成することに基づいて、球状のメディアコンテンツアイテムの表現を提示することが可能になる。球状のメディアコンテンツアイテムの表現は、立方体の表現に対応することができる。
【００６１】
一実施形態において、６つの正方形を再編成することは、上面視の正方形を立方体表現の内側の上正方形に配置することと、左面視の正方形を立方体表現の内側の左正方形に配置することと、前面視の正方形を立方体表現の内側の前正方形に配置することと、右面視の正方形を立方体表現の内側の右正方形に配置することと、後面視の正方形を立方体表現の内側の後ろ正方形に配置することと、下面視の正方形を立方体表現の内側の下正方形に配置することと、を含むことができる。
【００６２】
１つの事例では、仮想矩形５２２の６つの正方形の配置および順序の両方または一方を変更してもよい。他の事例では、代わりに、３つの水平方向の行および２つの垂直方向の列を有するなど、仮想矩形５２２の向き、位置、および／または形状を変更可能である。多くの変形例が可能であることを理解されたい。
【００６３】
図５Ｃは、本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオ５４０を図示している。例示的なシナリオ５４０は、６つの正方形のセット（例えば、右面視の正方形５２４、左面視の正方形５２６、上面視の正方形５２８、下面視の正方形５３０、前面視の正方形５３２、および後面視の正方形５３４）を嵌め込み、配置、包囲、または囲繞することができる図５Ｂの仮想矩形５２２を図示している。６つの正方形または面は、球状のメディアコンテンツアイテムを表現すること、および、球状のメディアコンテンツアイテムをその上にマッピングすること、の両方または一方ができる三次元立方体を形成するように接続可能であり得る。
【００６４】
一実施形態において、開示技術は、立方体の後ろ部分を識別することができる。立方体の後ろ部分を、少なくとも部分的に、表現する６つの正方形の一部分もまた識別することができる。画像ぼかし処理（例えば、ローパスフィルタリングまたはぼかし）を、一部分のそれぞれの正方形の少なくとも一部に適用することができる。場合によっては、一部分のそれぞれの正方形の少なくとも一部分に適用された画像ぼかし処理は、全天球映像のための映像圧縮などにおいて、球状のメディアコンテンツアイテムのためのメディア処理における効率を改善することができる。図５Ｃの例示的なシナリオ５４０に示すように、ぼかし処理を、右面視の正方形５２４の右部分５４４、左面視の正方形５２６の左部分５４６、上面視の正方形５２８の上部分５４８、下面視の正方形５３０の下部分５５０に適用することができ、前面視の正方形５３２には適用することができず、後面視の正方形５３４には全体に適用することができる。さらに、球状のメディアコンテンツアイテムの立方体の表現が６つの正方形に基づいて形成されると、立方体の表現は、その前部分（もしくはユーザが現在視聴しているか、もしくはユーザが典型的にはより頻繁に視聴している任意の部分）において、より高い視覚的品質（例えば、解像度）を有し、ユーザが現在視聴していないか、またはユーザが典型的にはより低い頻繁で視聴している後ろ部分において、より低い視覚的品質を有し得る。
【００６５】
多くの変形例が可能であることを理解されたい。例えば、画像ぼかし処理は、識別された一部分のそれぞれの正方形の少なくとも一部分をピクセル化し、識別された一部分のそれぞれの正方形の少なくとも一部を描画／着色し、および／または識別された一部分におけるそれぞれの正方形の少なくとも一部を除去／消去するなどを行うことができる。
【００６６】
図５Ｄは、本開示の実施形態による、多角形のメディアマッピングを利用することに関連付けられた例示的なシナリオ５６０を図示している。例示的なシナリオ５６０は、球状のメディアコンテンツアイテム５６４を表現すること、および、球状のメディアコンテンツアイテム５６４をその上にマッピングすること、の両方または一方ができる三次元立方体５６２を図示している。
【００６７】
一実施形態において、開示技術は、立方体の後ろ部分を識別することができる。残りの部分（例えば、非後ろ部分、前部分など）もまた識別することができる。立方体の後ろ部分を、少なくとも部分的に、表現する矩形部分の第１の部分５６６、および立方体の残りの部分（例えば、前部分）を、少なくとも部分的に、表現する矩形部分の第２の部分５６８を６つの正方形のうちから識別することができる。矩形部分の縮小された一部分５７０を生成するために矩形部分の第１の部分５６６を縮小することができる。仮想矩形５７２を形成するために、矩形部分の縮小された一部分５７０および矩形部分の第２の部分５６８を縮小することができる。したがって、球状のメディアコンテンツアイテム５６４の立方体の表現が、矩形部分の縮小された一部分５７０および矩形部分の第２の部分５６８に基づいて形成されるとき、立方体の表現は、前部分において、より高い視覚的品質（例えば、解像度）を有し、典型的にはユーザがより低い頻度で視聴している後ろ部分において、より低い視覚的品質を有し得る。ここでも、多くの変形例または他の可能性が存在し得る。例えば、場合によっては、後ろ部分の映像再生のフレームレートは、前部分の映像再生のフレームレートより小さくてもよい。
【００６８】
図６Ａは、本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオ６００を図示している。場合によっては、開示技術の様々な実施形態は、球状のメディアコンテンツアイテム６０２を取得することができる。底面６０６と底面に接続された１つまたは複数のオブジェクト側面とを含む三次元幾何オブジェクト６０４を選択することができる。１つまたは複数のオブジェクト側面は、後方に延在し、収束ポイント６０８まで次第に狭くなり得る。球状のメディアコンテンツアイテム６０２を、三次元幾何オブジェクト６０４にマッピングすることができる。球状のメディアコンテンツアイテム６０２の前部分を、底面６０６の少なくとも一部にマッピングすることができる。球状のメディアコンテンツアイテムの後ろ部分を、１つまたは複数のオブジェクト側面の少なくとも一部にマッピングすることができる。
【００６９】
例示的なシナリオ６００に示すように、一実施形態において、三次元幾何オブジェクト６０４は、角錐形状に関連付けることができる。底面６０６は、菱形形状に関連付けることができる。球状のメディアコンテンツアイテム６０２の前部分の上部サブ部分は、菱形形状の上部領域にマッピングされることができる。球状のメディアコンテンツアイテム６０２の前部分の下部サブ部分は、菱形形状の下部領域にマッピングされることができる。球状のメディアコンテンツアイテム６０２の前部分の左サブ部分は、菱形形状の左領域にマッピングされることができる。球状のメディアコンテンツアイテム６０２の前部分の右サブ部分は、菱形形状の右領域にマッピングされることができる。さらに、一実施形態において、図６Ａに示すように、１つまたは複数のオブジェクト側面は４つの三角形を含む。
【００７０】
さらに、一実施形態において、球状のメディアコンテンツアイテムを三次元幾何オブジェクトにマッピングすることは、１つまたは複数のオブジェクト側面において次第に低くなるグラフィカル品質に対して、底面において、より高いグラフィカル品質を生成することができる。これは、ユーザが典型的には、球状のメディアコンテンツアイテムの前部分に対応する底面の視聴に、より多くの時間を費やしているので有益であり得る。さらに、菱形形状は、ユーザが典型的には、正方形または矩形形状の中央部および角部（左上、右上、左下、右下）よりもむしろ菱形形状の中央部および角部（上、下、左、および右）の視聴に、より多くの時間を費やすので有利であり得る。例えば、ユーザは、頭を、斜めに動かすよりもむしろ、上下左右に動かす可能性がより高い。
【００７１】
図６Ｂは、本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオ６２０を図示している。例示的なシナリオ６２０は、図６Ａの球状のメディアコンテンツアイテム６０２を図示している。しかしながら、図６Ｂの例示的なシナリオ６２０において、三次元幾何オブジェクト６０４の１つまたは複数のオブジェクト側面は、外側に向けて折られて底面６０６と同じ平面となるように示されている。
【００７２】
図６Ｃは、本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオ６４０を図示している。例示的なシナリオ６４０は、球状のメディアコンテンツアイテム６４２と底面６４６を有する三次元の幾何オブジェクト６４４とを図示している。この例示的なシナリオ６４０において、三次元幾何オブジェクト６４４の底面６４６は、その高さより長い幅を有する菱形に対応する。したがって、球状のメディアコンテンツアイテム６４２の前部分が底面６４６にマッピングされると、ユーザは、垂直より水平に、より多くのコンテンツを視聴することができる。多くの変形例が可能である。
【００７３】
図６Ｄは、本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオ６６０を図示している。例示的なシナリオ６６０は、図６Ｃの球状のメディアコンテンツアイテム６２２を図示している。しかしながら、図６Ｄの例示的なシナリオ６６０において、三次元幾何オブジェクト６２４の１つまたは複数のオブジェクト側面（例えば、第１の三角形６３２、第２の三角形６３４、第３の三角形６３６、第４の三角形６３８）は、外側に向けて折られて底面６２６と同じ平面となるように示されている。
【００７４】
図６Ｅは、本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオ６８０を図示している。一実施形態において、（底面６２６に関連付けられた）菱形形状を、仮想矩形６８２内に嵌め込むことができる。これにより、送信および映像圧縮の両方または一方のためなどのデータ効率を改善することができる。菱形形状の上の点は、仮想矩形６８２の上辺（例えば、上縁、上側境界など）と接触することができる。菱形形状の下の点は、仮想矩形６８２の下辺と接触することができる。菱形形状の左の点は、仮想矩形６８２の左辺と接触することができる。菱形形状の右の点は、仮想矩形６８２の右辺と接触することができる。
【００７５】
一実施形態において、例示的なシナリオ６８０に示すように、４つの三角形（例えば、第１の三角形６３２、第２の三角形６３４、第３の三角形６３６、第４の三角形６３８）を仮想矩形６８２内に嵌め込むことができる。４つの三角形のそれぞれの少なくともそれぞれの部分は、仮想矩形６８２のそれぞれの角部を形成することができる。
【００７６】
一実施形態において、仮想矩形６８２を提示のために送信することができる。球状のメディアコンテンツアイテムの角錐の表現を提示することが可能になる。多くの変形例が可能である。
【００７７】
図６Ｆは、本開示の実施形態による、集光点を有する三次元幾何オブジェクトに、球状のメディアをマッピングすることに関連付けられた例示的なシナリオ６９０を図示している。この例示的なシナリオ６９０において、底面６９６は、楕円形状に関連付けられ、三次元幾何オブジェクトは、円錐形状または涙滴形状に関連付けられることができる。図６Ｆに示すように、底面６９６および１つまたは複数のオブジェクト側面を、改善されたデータ効率（例えば、データ送信、データ圧縮など）のために、仮想矩形６９２に嵌め込むことができる。
【００７８】
ここでも、本明細書の全ての例は、説明目的で提供され、開示技術に関連する多くの変形例または他の可能性が存在し得ることが企図される。上述の通り、開示技術の様々な実施形態は、球状のメディアコンテンツアイテムを取得することができる。底面と底面に接続された１つまたは複数のオブジェクト側面とを含む三次元幾何オブジェクトを選択することができる。１つまたは複数のオブジェクト側面は、後方に延在し、収束ポイントまで次第に狭くなり得る。球状のメディアコンテンツアイテムは、三次元幾何オブジェクトにマッピングされることができる。球状のメディアコンテンツアイテムの前部分は、底面の少なくとも一部にマッピングされることができる。球状のメディアコンテンツアイテムの後ろ部分を、１つまたは複数のオブジェクト側面の少なくとも一部にマッピングすることができる。一実施形態において、三次元幾何オブジェクトを、角錐形状、円錐形状、または涙滴形状のうちの少なくとも１つと関連付けることができる。
【００７９】
一実施形態では、底面は、矩形形状、菱形形状、円形形状、楕円形状、または球状の部分の形状のうちの少なくとも１つと関連付けることができる。
一実施形態では、４つの三角形のそれぞれに付属している２つのエッジの対応する組は、外方に拡張できる。２つのエッジは、底面に対して非隣接であってもよい。球状のメディアコンテンツアイテムの後ろ部分を、２つのエッジの対応する組を含む４つの三角形のそれぞれの少なくとも一部分に対してマッピングできる。
【００８０】
図７は、本開示の実施形態による、コンテンツを提示するための例示的な方法７００を図示している。別段の記載がない限り、本明細書において考察される多様な実施形態の範囲内で、類似のもしくは代替の順序で、または並行して実行される、追加の、より少ない、または代替のステップが存在し得ることを理解されたい。
【００８１】
ブロック７０２では、少なくとも１つの提示すべきコンテンツアイテムが判定され、コンテンツアイテムは、複数の異なる位置から少なくとも１つのシーンを捕捉するコンテンツストリームのセットを使用して構成されている。ブロック７０４では、コンテンツアイテムを提示するためのビューポートインタフェースが判定され、ビューポートインタフェースは、ビューポート形状に関連付けられている。ブロック７０６では、ビューポートインタフェースは、ディスプレイを介して提供され、少なくとも１つのコンテンツストリームは、ビューポートインタフェースを介して提示され、ビューポート形状の内側の領域に対応するコンテンツストリームの部分は、第１のコンテンツ品質で提示される。
【００８２】
図８は、本開示の実施形態による、コンテンツを提示するための例示的な方法８００を図示している。別段の記載がない限り、本明細書において考察される多様な実施形態の範囲内で、類似のもしくは代替の順序で、または並行して実行される、追加の、より少ない、または代替のステップが存在し得ることを理解されたい。
【００８３】
ブロック８０２では、複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得する。ブロック８０４では、複数の面を有する三次元オブジェクトが判定され、それぞれの面は、元の境界のそれぞれのセットに関連付けられている。ブロック８０６では、複数の面のうちの１つまたは複数に対する拡張された境界のそれぞれのセットが判定される。ブロック８０８では、球状のメディアコンテンツアイテムのそれぞれの部分は、１つまたは複数の面のそれぞれにマッピングされ、球状のメディアコンテンツアイテムの第１の部分は、拡張された境界のセットを有する第１の面にマッピングされる。
【００８４】
図９は、本開示の実施形態による、コンテンツを提示するための例示的な方法９００を図示している。別段の記載がない限り、本明細書において考察される多様な実施形態の範囲内で、類似のもしくは代替の順序で、または並行して実行される、追加の、より少ない、または代替のステップが存在し得ることを理解されたい。
【００８５】
ブロック９０２では、複数の異なる位置から少なくとも１つのシーンを捕捉する球状のメディアコンテンツアイテムを取得する。ブロック９０４では、一点に収束する複数の面を有する三次元オブジェクトが判定される。ブロック９０６では、球状のメディアコンテンツアイテムの少なくとも第１の部分は、複数の面の少なくとも第１の面にマッピングされる。
【００８６】
本開示の様々な実施形態に関連する多くの他の使用、用途、特徴、可能性、および／または変形があり得ることが企図される。一例では、場合によっては、ユーザは、開示された技術を利用するか否かを選択することができる。また、開示された技術は、例えば、様々なプライバシー設定および嗜好が維持され、個人情報が漏洩するのを防止することを保証することもできる。別の例では、本開示の様々な実施形態は、（例えば、機械学習または他の統計的手法を使用して）学習、改善、および／または経時的に改良され得る。
【００８７】
ソーシャルネットワーキングシステム−例示的な実装形態
図１０は、本開示の一実施形態による、向上したビデオ符号化のための様々な実施形態で利用され得る例示的なシステム１０００のネットワーク図を示す。システム１０００は、１つまたは複数のユーザデバイス１０１０と、１つまたは複数の外部システム１０２０と、ソーシャルネットワーキングシステム（ソーシャルネットワーキングサービス）１０３０と、ネットワーク１０５０とを含む。一実施形態では、前述の実施形態との関連で論じられたソーシャルネットワーキングサービス、プロバイダ、および／またはシステムは、ソーシャルネットワーキングシステム１０３０として実装されてよい。例示の目的のために、図１０によって示される、システム１０００の実施形態は、単一の外部システム１０２０と、単一のユーザデバイス１０１０とを含む。ただし、他の実施形態において、システム１０００は、より多くのユーザデバイス１０１０、および／または、より多くの外部システム１０２０を含んでもよい。特定の実施形態において、ソーシャルネットワーキングシステム１０３０は、ソーシャルネットワークプロバイダによって運営されるのに対して、外部システム１０２０は、異なるエンティティによって運営され得るという点で、ソーシャルネットワーキングシステム１０３０とは別個のものである。しかしながら、様々な実施形態において、ソーシャルネットワーキングシステム１０３０および外部システム１０２０は、共に動作して、ソーシャルネットワーキングシステム１０３０のユーザ（またはメンバー）に対してソーシャルネットワーキングサービスを提供する。この意味において、ソーシャルネットワーキングシステム１０３０は、外部システム１０２０などの他のシステムがインターネット上のユーザに対してソーシャルネットワーキングサービスおよび機能を提供するために使用し得るプラットフォームまたはバックボーンを提供する。いくつかの実施形態では、ソーシャルネットワーキングシステム１０３０は、ソーシャルメディアシステム（またはサービス）を含むか、またはそれに対応することができる。
【００８８】
ユーザデバイス１０１０は、ユーザから入力を受信し、ネットワーク１０５０を通じてデータを送受信することができる１つまたは複数のコンピューティングデバイス（またはコンピューティングシステム）を備える。一実施形態において、ユーザデバイス１０１０は、例えば、マイクロソフトウィンドウズ（登録商標）と互換性のあるオペレーティングシステム（ＯＳ）、Ａｐｐｌｅ  ＯＳ  Ｘ、および／またはＬｉｎｕｘ（登録商標）ディストリビューションを実行する従来のコンピュータシステムである。別の実施形態において、ユーザデバイス１０１０は、スマートフォン、タブレット、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、携帯電話、ラップトップコンピュータ、ウェアラブルデバイス（例えば、眼鏡、腕時計、ブレスレット、その他）、カメラ、機器、その他などのコンピュータ機能を有するコンピューティングデバイスまたはデバイスであってもよい。ユーザデバイス１０１０は、ネットワーク１０５０を通じて通信するように構成される。ユーザデバイス１０１０は、アプリケーション、例えば、ユーザデバイス１０１０のユーザがソーシャルネットワーキングシステム１０３０と対話することを可能にするブラウザアプリケーションを実行することができる。別の実施形態において、ユーザデバイス１０１０は、ｉＯＳおよびＡＮＤＲＯＩＤ（登録商標）などの、ユーザデバイス１０１０のネイティブオペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース（ＡＰＩ）を通じてソーシャルネットワーキングシステム１０３０を対話する。ユーザデバイス１０１０は、ネットワーク１０５０を通じて外部システム１０２０およびソーシャルネットワーキングシステム１０３０と通信するように構成される。ネットワーク１０５０は、有線通信システムおよび／または無線通信システムを使用する、ローカルエリアネットワークおよび／または広域ネットワークの任意の組み合わせを備え得る。
【００８９】
１つの実施形態において、ネットワーク１０５０は、標準的な通信技術およびプロトコルを使用する。したがって、ネットワーク１０５０は、イーサネット（登録商標）、８０２．１１、マイクロ波アクセスのための世界的相互運用性（ＷｉＭＡＸ：ｗｏｒｌｄｗｉｄｅ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  ｍｉｃｒｏｗａｖｅ  ａｃｃｅｓｓ）、３Ｇ、４Ｇ、ＣＤＭＡ、ＧＳＭ（登録商標）、ＬＴＥ、デジタル加入者線（ＤＳＬ：ｄｉｇｉｔａｌ  ｓｕｂｓｃｒｉｂｅｒ  ｌｉｎｅ）等などの技術を使用するリンクを含み得る。同様に、ネットワーク１０５０上で使用されるネットワーキングプロトコルは、マルチプロトコルラベルスイッチング（ＭＰＬＳ：ｍｕｌｔｉｐｒｏｔｏｃｏｌ  ｌａｂｅｌ  ｓｗｉｔｃｈｉｎｇ）、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、簡易メール転送プロトコル（ＳＭＴＰ：ｓｉｍｐｌｅ  ｍａｉｌ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）、ファイル転送プロトコル（ＦＴＰ）などを含み得る。ネットワーク１０５０上で交換されるデータは、ハイパーテキストマークアップ言語（ＨＴＭＬ）および拡張マークアップ言語（ＸＭＬ）を含む技術および／またはフォーマットを使用して表現され得る。また、全部または一部のリンクは、セキュアソケットレイヤ（ＳＳＬ）、トランスポートレイヤセキュリティ（ＴＬＳ）、およびインターネットプロトコルセキュリティ（ＩＰｓｅｃ）などの従来の暗号化技術を使用して暗号化され得る。
【００９０】
１つの実施形態において、ユーザデバイス１０１０は、外部システム１０２０から、およびソーシャルネットワーキングシステム１０３０から受信されるマークアップ言語文書１０１４を、ブラウザアプリケーション１０１２を使用して処理することによって、外部システム１０２０からのコンテンツおよび／またはソーシャルネットワーキングシステム１０３０からのコンテンツを表示し得る。マークアップ言語文書１０１４は、コンテンツと、そのコンテンツのフォーマッティングまたは表示方法を記述する１つまたは複数の命令とを識別する。マークアップ言語文書１０１４内に含まれる命令を実行することによって、ブラウザアプリケーション１０１２は、マークアップ言語文書１０１４によって記述されたフォーマットまたは表示方法を使用して、識別されたコンテンツを表示する。例えば、マークアップ言語文書１０１４は、外部システム１０２０およびソーシャルネットワーキングシステム１０３０から得られたテキストおよび／または画像データを含む複数のフレームを有するウェブページを生成および表示するための命令を含む。様々な実施形態において、マークアップ言語文書１０１４は、拡張マークアップ言語（ＸＭＬ）データ、拡張ハイパーテキストマークアップ言語（ＸＨＴＭＬ）データ、または、他のマークアップ言語データを含むデータファイルを備える。また、マークアップ言語文書１０１４は、外部システム１０２０とユーザデバイス１０１０との間のデータ交換を容易にするためのジャバスクリプトオブジェクトノーテーション（ＪＳＯＮ：ＪａｖａＳｃｒｉｐｔ（登録商標）Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）データ、パディング付きのＪＳＯＮ（ＪＳＯＮＰ：ＪＳＯＮ  ｗｉｔｈ  ｐａｄｄｉｎｇ）データ、およびジャバスクリプトデータを含み得る。ユーザデバイス１０１０上のブラウザアプリケーション１０１２は、ジャバスクリプトコンパイラを使用して、マークアップ言語文書１０１４を復号し得る。
【００９１】
マークアップ言語文書１０１４は、ＦＬＡＳＨ（商標）アプリケーションまたはＵｎｉｔｙ（商標）アプリケーション、ＳｉｌｖｅｒＬｉｇｈｔ（商標）アプリケーションフレームワーク等などの、アプリケーションまたはアプリケーションフレームワークも含み、または、これらに対してもリンクし得る。
【００９２】
１つの実施形態において、ユーザデバイス１０１０は、ユーザデバイス１０１０のユーザがソーシャルネットワーキングシステム１０３０へログインしたかを示すデータを含む、１つまたは複数のクッキー１０１６も含む。クッキー１０１６は、ソーシャルネットワーキングシステム１０３０からユーザデバイス１０１０へ通信されるデータのカスタム化を可能にし得る。
【００９３】
外部システム１０２０は、１つまたは複数のウェブページ１０２２ａ、１０２２ｂを含む、１つまたは複数のウェブサーバを含む。１つまたは複数のウェブページ１０２２ａ、１０２２ｂは、ネットワーク１０５０を使用して、ユーザデバイス１０１０へ通信される。外部システム１０２０は、ソーシャルネットワーキングシステム１０３０とは別個である。例えば、外部システム１０２０は、第１のドメインに対して関連付けられるが、ソーシャルネットワーキングシステム１０３０は、別個のソーシャルネットワーキングドメインに対して関連付けられる。外部システム１０２０に含まれるウェブページ１０２２ａ、１０２２ｂは、コンテンツを識別し、識別されたコンテンツのフォーマッティングおよび表示方法を特定する命令を含むマークアップ言語文書１０１４を備える。
【００９４】
ソーシャルネットワーキングシステム１０３０は、複数のユーザを含み、ソーシャルネットワークのユーザに対して、ソーシャルネットワークの他のユーザと通信および対話するための能力を提供する、ソーシャルネットワークのための１つまたは複数のコンピューティングデバイスを含む。さらに詳細に説明されるように、ソーシャルネットワークは、グラフ、すなわち、エッジとノードとを含むデータ構造によって表現され得る。データベース、オブジェクト、クラス、メタ要素、ファイル、または任意の他のデータ構造を含むが、これらに限定されない、他のデータ構造も、ソーシャルネットワークを表現するために使用され得る。ソーシャルネットワーキングシステム１０３０は、オペレータによって監督、管理、または制御されてよい。ソーシャルネットワーキングシステム１０３０のオペレータは、ソーシャルネットワーキングシステム１０３０内でコンテンツを管理し、ポリシを統制し、使用メトリクスを収集するための、人間、自動化されたアプリケーション、または一連のアプリケーションであってよい。任意のタイプのオペレータが使用されてよい。
【００９５】
ユーザは、ソーシャルネットワーキングシステム１０３０に加入し、次いで、そのユーザがつなげられることを望む、ソーシャルネットワーキングシステム１０３０の任意の数の他のユーザへのつながりを追加し得る。本明細書において、「友達」という用語は、ユーザがソーシャルネットワーキングシステム１０３０を通じてつながり、関連、または関係を形成した、ソーシャルネットワーキングシステム１０３０の任意の他のユーザに及ぶ。例えば、一実施形態において、ソーシャルネットワーキングシステム１０３０内のユーザが、ソーシャルグラフ内のノードとして表現される場合、「友達」という用語は、２つのユーザノード間に形成され、かつ、２つのユーザノードを直接的に接続するエッジを指し得る。
【００９６】
つながりは、ユーザによって明示的に追加されても、または、ユーザの共通の特性（例えば、同じ教育機関の卒業生であるユーザ）に基づいて、ソーシャルネットワーキングシステム１０３０によって自動的に作成されてもよい。例えば、第１のユーザは、友達になりたい特定の他のユーザを具体的に選択する。ソーシャルネットワーキングシステム１０３０におけるつながりは、通常は双方向であるが、双方向である必要はなく、そのため、「ユーザ」および「友達」という用語は、枠組みに依存する。ソーシャルネットワーキングシステム１０３０のユーザ間のつながりは、通常は、双務的（「二方向」）または「相互的」であるが、つながりは、片務的、または「一方向」であってもよい。例えば、ボブおよびジョーの両者が、ソーシャルネットワーキングシステム１０３０のユーザであり、互いにつながっている場合、ボブおよびジョーは、互いのつながりである。他方で、ボブは、ジョーによってソーシャルネットワーキングシステム１０３０へ通信されたデータを見るためにジョーとつながることを欲するが、ジョーは、相互的なつながりを形成することを欲しない場合、片務的なつながりが確立され得る。ユーザ間のつながりは、直接的なつながりであり得る。ただし、ソーシャルネットワーキングシステム１０３０のいくつかの実施形態は、つながりが、１つまたは複数のつながりのレベルまたは分離度を通じた間接的なものとなることを可能にする。
【００９７】
ユーザ間のつながりを確立および維持し、ユーザ間の対話を可能にすることに加えて、ソーシャルネットワーキングシステム１０３０は、ソーシャルネットワーキングシステム１０３０によってサポートされる様々なタイプのアイテムに対してアクションを行うための能力をユーザに対して提供する。こうしたアイテムは、ソーシャルネットワーキングシステム１０３０のユーザが所属し得るグループまたはネットワーク（すなわち、人々、エンティティ、およびコンセプトのソーシャルネットワーク）、ユーザが興味を持ち得るイベントまたはカレンダー入力、ユーザがソーシャルネットワーキングシステム１０３０を通じて使用し得るコンピュータベースのアプリケーション、ソーシャルネットワーキングシステム１０３０によって提供されるサービスを通じてまたはソーシャルネットワーキングシステム１０３０を通じてユーザがアイテムを購入または販売することを可能にする取引、ならびにユーザがソーシャルネットワーキングシステム１０３０内外で実行し得る広告との対話を含み得る。これらは、ユーザがソーシャルネットワーキングシステム１０３０上で作用を与え得るアイテムのわずかな例にすぎず、多くの他の例が可能である。ユーザは、ソーシャルネットワーキングシステム１０３０において、または、ソーシャルネットワーキングシステム１０３０とは別個の外部システム１０２０もしくはネットワーク１０５０を通じてソーシャルネットワーキングシステム１０３０に対して結合される外部システム１０２０において表現されることが可能なありとあらゆるものと対話し得る。
【００９８】
ソーシャルネットワーキングシステム１０３０は、多様なエンティティとリンクすることも可能である。例えば、ソーシャルネットワーキングシステム１０３０は、ユーザが互いに対話すること、および、ＡＰＩ、ウェブサービス、または他の通信チャネルを通じて外部システム１０２０または他のエンティティと対話することを可能にする。ソーシャルネットワーキングシステム１０３０は、複数のエッジによって相互接続された複数のノードを備える「ソーシャルグラフ」を生成および維持する。ソーシャルグラフ内の各ノードは、別のノードに対して作用を与え得るエンティティおよび／または別のノードによって作用を与えられ得るエンティティを表現し得る。ソーシャルグラフは、様々なタイプのノードを含み得る。ノードのタイプの例は、ユーザ、人間以外のエンティティ、コンテンツアイテム、ウェブページ、グループ、アクティビティ、メッセージ、コンセプト、およびソーシャルネットワーキングシステム１０３０内のオブジェクトによって表現され得る任意の他のものを含む。ソーシャルグラフ内の２つのノード間のエッジは、ノード関係から、またはノードのうちの一方によって他方に対して実行されたアクションから生じ得る、２つのノード間の特定の種類のつながり、または関連を表現し得る。いくつかのケースでは、ノード間のエッジは、重み付けされ得る。エッジの重みは、ノード間のつながりまたは関連の強度などの、そのエッジに対して関連付けられている属性を表現し得る。異なるタイプのエッジが、異なる重みと共に提供され得る。例えば、あるユーザが別のユーザに対して「いいね」を表明するときに作成されるエッジには、ある重みが与えられてよく、ユーザが別のユーザと友達になるときに作成されるエッジには、異なる重みが与えられてよい。
【００９９】
例として、第１のユーザが第２のユーザを友達として識別した場合、第１のユーザを表すノードと、第２のユーザを表す第２のノードとを接続するソーシャルグラフ中のエッジが生成される。様々なノードが互いに関係するかまたは対話するのに伴い、ソーシャルネットワーキングシステム１０３０は、関係および対話を反映するように、様々なノードを接続するエッジを修正する。
【０１００】
ソーシャルネットワーキングシステム１０３０は、ユーザによるソーシャルネットワーキングシステム１０３０との対話を高める、ユーザにより生成されたコンテンツも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム１０３０に対して追加し、アップロードし、送信し、または「投稿し」得るあらゆるものを含み得る。例えば、ユーザは、ユーザデバイス１０１０からソーシャルネットワーキングシステム１０３０への投稿を通信する。投稿は、ステータスアップデートもしくは他の文字情報などのデータ、位置情報、写真などの画像、映像、リンク、音楽、または、他の同様のデータおよび／もしくはメディアを含み得る。コンテンツも、第三者によってソーシャルネットワーキングシステム１０３０に対して追加され得る。コンテンツ「アイテム」は、ソーシャルネットワーキングシステム１０３０においてオブジェクトとして表現される。このようにして、ソーシャルネットワーキングシステム１０３０のユーザは、様々な通信チャネルを通じて様々なタイプのテキストおよびコンテンツアイテムを投稿することによって、互いに通信することを促される。そのような通信は、ユーザ同士の対話を増加させ、ユーザがソーシャルネットワーキングシステム１０３０と対話する頻度を増加させる。
【０１０１】
ソーシャルネットワーキングシステム１０３０は、ウェブサーバ１０３２と、ＡＰＩ要求サーバ１０３４と、ユーザプロファイルストア１０３６と、つながりストア１０３８と、アクションロガー１０４０と、アクティビティログ１０４２と、認証サーバ１０４４とを含む。本発明の一実施形態において、ソーシャルネットワーキングシステム１０３０は、様々なアプリケーションのための追加的な構成要素、より少ない構成要素、または異なる構成要素を含み得る。ネットワークインタフェース、セキュリティ機構、負荷分散装置、フェイルオーバサーバ、管理およびネットワーク操作コンソールなどの他の構成要素は、本システムの詳細を曖昧にしないように、図示されていない。
【０１０２】
ユーザプロファイルストア１０３６は、ユーザによって申告され、またはソーシャルネットワーキングシステム１０３０によって推測された職歴、学歴、趣味または嗜好、住所などの経歴的情報、人口学的情報、および他のタイプの記述的情報を含む、ユーザアカウントに関する情報を維持する。この情報は、各ユーザが一意に識別されるように、ユーザプロファイルストア１０３６内に記憶される。ソーシャルネットワーキングシステム１０３０は、異なるユーザ間の１つまたは複数のつながりを記述するデータも、つながりストア１０３８内に記憶する。つながり情報は、同様または共通の職歴、グループメンバーシップ、趣味、または学歴を有するユーザを示し得る。また、ソーシャルネットワーキングシステム１０３０は、ユーザの他のユーザとの関係をユーザが特定することを可能にする、異なるユーザ間におけるユーザによって定義されたつながりを含む。例えば、ユーザによって定義されたつながりは、友達、同僚、パートナー等などの、ユーザの実生活の関係と並行する、他のユーザとの関係をユーザが生成することを可能にする。ユーザは、予め定義されたタイプのつながりから選択しても、またはユーザ自身のつながりタイプを必要に応じて定義してもよい。非人間エンティティ、バケット、クラスタセンタ、画像、興味、ページ、外部システム、コンセプト等などの、ソーシャルネットワーキングシステム１０３０内の他のノードとのつながりも、つながりストア１０３８内に記憶される。
【０１０３】
ソーシャルネットワーキングシステム１０３０は、ユーザが対話し得るオブジェクトに関するデータを維持する。このデータを維持するために、ユーザプロファイルストア１０３６およびつながりストア１０３８は、ソーシャルネットワーキングシステム１０３０によって維持されるオブジェクトの対応するタイプのインスタンスを記憶する。各オブジェクトタイプは、オブジェクトのタイプに適した情報を記憶するのに適した情報フィールドを有する。例えば、ユーザプロファイルストア１０３６は、ユーザのアカウントおよびユーザのアカウントに関連した情報を記述するのに適したフィールドを有するデータ構造を含む。特定のタイプの新たなオブジェクトが作成される場合、ソーシャルネットワーキングシステム１０３０は、対応するタイプの新たなデータ構造を初期化し、その新たなデータ構造に対して一意のオブジェクト識別子を割り当て、必要に応じて、そのオブジェクトに対してデータを追加することを開始する。これは、例えば、ユーザがソーシャルネットワーキングシステム１０３０のユーザになった場合に発生し、ソーシャルネットワーキングシステム１０３０は、ユーザプロファイルストア１０３６内にユーザプロファイルの新たなインスタンスを生成し、ユーザアカウントに対して一意の識別子を割り当て、ユーザによって提供される情報をユーザアカウントのフィールドへ投入し始める。
【０１０４】
つながりストア１０３８は、他のユーザに対するユーザのつながり、外部システム１０２０に対するつながり、または他のエンティティに対するつながりを記述するのに適したデータ構造を含む。つながりストア１０３８は、つながりタイプもユーザのつながりと関連付け得る。つながりタイプは、ユーザのプライバシー設定と共に使用されて、ユーザに関する情報に対するアクセスを規制し得る。本発明の一実施形態において、ユーザプロファイルストア１０３６およびつながりストア１０３８は、連合データベースとして実装され得る。
【０１０５】
つながりストア１０３８、ユーザプロファイルストア１０３６、およびアクティビティログ１０４２内に記憶されるデータは、ノードを使用して、ノードを接続する様々なオブジェクトおよびエッジを識別して、異なるオブジェクト間の関係を識別するソーシャルグラフをソーシャルネットワーキングシステム１０３０が生成することを可能にする。例えば、第１のユーザが、ソーシャルネットワーキングシステム１０３０内で第２のユーザとのつながりを確立する場合、ユーザプロファイルストア１０３６からの第１のユーザおよび第２のユーザのユーザアカウントは、ソーシャルグラフ内のノードとして動作し得る。つながりストア１０３８によって記憶される、第１のユーザと第２のユーザとの間のつながりは、第１のユーザおよび第２のユーザに対して関連付けられるノード間のエッジである。この例を続けると、第２のユーザは、次いで、第１のユーザに対して、ソーシャルネットワーキングシステム１０３０内でメッセージを送信し得る。メッセージを送信するアクションは、第１のユーザおよび第２のユーザを表現する、ソーシャルグラフ内の２つのノード間の別のエッジであり、メッセージを送信するアクションは、記憶され得る。また、メッセージ自体が、第１のユーザを表現するノードおよび第２のユーザを表現するノードに対して接続される別のノードとして、ソーシャルグラフにおいて識別され、ソーシャルグラフに含まれ得る。
【０１０６】
別の例において、第１のユーザは、ソーシャルネットワーキングシステム１０３０によって維持される画像において（または、代替的に、ソーシャルネットワーキングシステム１０３０の外部の別のシステムによって維持される画像において）第２のユーザをタグ付けし得る。画像は、それ自体がソーシャルネットワーキングシステム１０３０内のノードとして表現され得る。このタグ付けアクションは、ユーザの各々と画像との間にエッジを作成するだけでなく、第１のユーザと第２のユーザとの間のエッジも作成し得る。画像もソーシャルグラフ内のノードである。また別の例において、ユーザが、イベントへ参加することを確かめる場合、そのユーザおよびそのイベントは、ユーザプロファイルストア１０３６から取得されるノードであり、そのイベントへの参加は、アクティビティログ１０４２から得られ得るノード間のエッジである。ソーシャルグラフを生成および維持することによって、ソーシャルネットワーキングシステム１０３０は、多くの異なるタイプのオブジェクトを記述するデータ、ならびに、それらのオブジェクト間の対話およびつながりを含み、社会的に関連する情報の豊富なソースを提供する。
【０１０７】
ウェブサーバ１０３２は、ソーシャルネットワーキングシステム１０３０を、ネットワーク１０５０を通じて、１つもしくは複数のユーザデバイス１０１０および／または１つもしくは複数の外部システム１０２０に対してリンクする。ウェブサーバ１０３２は、ウェブページ、およびＪａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ、Ｆｌａｓｈ、ＸＭＬなどの他のウェブ関連コンテンツを供給する。ウェブサーバ１０３２は、メールサーバを含み、または、ソーシャルネットワーキングシステム１０３０と１つもしくは複数のユーザデバイス１０１０との間のメッセージを受信およびルーティングするための他のメッセージング機能を含み得る。メッセージは、インスタントメッセージ、キューメッセージ（例えば、電子メール）、テキストおよびＳＭＳメッセージ、または任意の他の適切なメッセージングフォーマットであり得る。
【０１０８】
ＡＰＩ要求サーバ１０３４は、１つまたは複数の外部システム１０２０およびユーザデバイス１０１０が、１つまたは複数のＡＰＩ関数を呼び出すことによって、ソーシャルネットワーキングシステム１０３０からのアクセス情報を呼び出すことを可能にする。ＡＰＩ要求サーバ１０３４は、外部システム１０２０が、ＡＰＩを呼び出すことによって、ソーシャルネットワーキングシステム１０３０に対して情報を送信することも可能にし得る。外部システム１０２０は、１つの実施形態において、ネットワーク１０５０を通じてソーシャルネットワーキングシステム１０３０へＡＰＩ要求を送信し、ＡＰＩ要求サーバ１０３４は、そのＡＰＩ要求を受信する。ＡＰＩ要求サーバ１０３４は、ＡＰＩ要求に対して関連付けられているＡＰＩを呼び出すことによって要求を処理して、適当な応答を生成する。ＡＰＩ要求サーバ１０３４は、その適当な応答を、ネットワーク１０５０を通じて外部システム１０２０へ通信する。例えば、ＡＰＩ要求に応答して、ＡＰＩ要求サーバ１０３４は、外部システム１０２０に対してログインしたユーザのつながりなどの、ユーザに対して関連付けられているデータを収集し、収集されたデータを外部システム１０２０へ通信する。別の実施形態において、ユーザデバイス１０１０は、外部システム１０２０と同じ手法で、ＡＰＩを通じてソーシャルネットワーキングシステム１０３０と通信する。
【０１０９】
アクションロガー１０４０は、ソーシャルネットワーキングシステム１０３０内での、および／またはソーシャルネットワーキングシステム１０３０外でのユーザアクションに関する通信をウェブサーバ１０３２から受信することが可能である。アクションロガー１０４０は、ユーザアクションに関する情報をアクティビティログ１０４２へ投入し、ソーシャルネットワーキングシステム１０３０の内部で、およびソーシャルネットワーキングシステム１０３０の外部で、そのユーザによって行われた様々なアクションをソーシャルネットワーキングシステム１０３０が発見することを可能にする。特定のユーザが、ソーシャルネットワーキングシステム１０３０上の別のノードに関して行う任意のアクションは、アクティビティログ１０４２内または同様のデータベースもしくは他のデータレポジトリ内で維持される情報を通じて、各ユーザのアカウントに対して関連付けられ得る。識別および記憶される、ソーシャルネットワーキングシステム１０３０内でユーザによって行われるアクションの例は、例えば、別のユーザに対するつながりを追加すること、別のユーザへメッセージを送信すること、別のユーザからのメッセージを読むこと、別のユーザに対して関連付けられるコンテンツを視聴すること、別のユーザによって投稿されたイベントに参加すること、画像を投稿すること、画像を投稿しようと試行すること、または、別のユーザもしくは別のオブジェクトと対話する他のアクションを含み得る。ユーザが、ソーシャルネットワーキングシステム１０３０内でアクションを行う場合、そのアクションは、アクティビティログ１０４２内に記録される。一実施形態において、ソーシャルネットワーキングシステム１０３０は、アクティビティログ１０４２をエントリのデータベースとして維持する。アクションが、ソーシャルネットワーキングシステム１０３０内で行われる場合、そのアクションについてのエントリが、アクティビティログ１０４２に対して追加される。アクティビティログ１０４２は、アクションログと称され得る。
【０１１０】
また、ユーザアクションは、ソーシャルネットワーキングシステム１０３０とは別個の外部システム１０２０などの、ソーシャルネットワーキングシステム１０３０の外部のエンティティ内で発生するコンセプトおよびアクションに対して関連付けられ得る。例えば、アクションロガー１０４０は、ユーザによる外部システム１０２０との対話を記述するデータを、ウェブサーバ１０３２から受信し得る。この例において、外部システム１０２０は、ソーシャルグラフにおける構造化されたアクションおよびオブジェクトに従って、ユーザによる対話を報告する。
【０１１１】
ユーザが外部システム１０２０と対話するアクションの他の例は、ユーザが外部システム１０２０もしくは別のエンティティにおいて興味を表現すること、外部システム１０２０もしくは外部システム１０２０内のウェブページ１０２２ａと議論するソーシャルネットワーキングシステム１０３０に対してユーザがコメントを投稿すること、ユーザがソーシャルネットワーキングシステム１０３０に対してユニフォームリソースロケータ（ＵＲＬ）もしくは外部システム１０２０に対して関連付けられる他の識別子を投稿すること、ユーザが外部システム１０２０に対して関連付けられるイベントへ参加すること、または、外部システム１０２０に関連する、ユーザによる任意の他のアクションを含む。したがって、アクティビティログ１０４２は、ソーシャルネットワーキングシステム１０３０のユーザと、ソーシャルネットワーキングシステム１０３０とは別個の外部システム１０２０との間の対話を記述するアクションを含み得る。
【０１１２】
認証サーバ１０４４は、ソーシャルネットワーキングシステム１０３０のユーザの１つまたは複数のプライバシー設定を強化する。ユーザのプライバシー設定は、ユーザに対して関連付けられる特定の情報がどのように共有され得るかを決定する。プライバシー設定は、ユーザに対して関連付けられる特定の情報の仕様、および情報が共有され得る１つまたは複数のエンティティの仕様を備える。情報が共有され得るエンティティの例は、他のユーザ、アプリケーション、外部システム１０２０、または、その情報に潜在的にアクセスし得る任意のエンティティを含み得る。ユーザによって共有され得る情報は、プロフィール写真などのユーザアカウント情報、ユーザに対して関連付けられる電話番号、ユーザのつながり、つながりを追加すること、ユーザプロフィール情報を変更することなどのユーザによって行われるアクション等を備える。
【０１１３】
プライバシー設定仕様は、異なるレベルの粒度で提供され得る。例えば、プライバシー設定は、他のユーザと共有されるべき具体的な情報を識別し得る。プライバシー設定は、職場電話番号、または、プロフィール写真、自宅電話番号、およびステータスを含む個人情報などの関連情報の具体的なセットを識別する。代替的に、プライバシー設定は、ユーザに対して関連付けられる全ての情報に対して適用されてもよい。特定の情報にアクセスすることができるエンティティのセットの仕様も、様々なレベルの粒度で特定され得る。情報が共有され得るエンティティの様々なセットは、例えば、ユーザの全ての友達、友達の全ての友達、全てのアプリケーション、または全ての外部システム１０２０を含み得る。１つの実施形態は、エンティティのセットの仕様がエンティティの一覧表を備えることを可能にする。例えば、ユーザは、一定の情報に対してアクセスすることを許可される外部システム１０２０のリストを提供し得る。別の実施形態は、情報に対してアクセスすることを許可されない例外と共にエンティティのセットを仕様が備えることを可能にする。例えば、ユーザは、全ての外部システム１０２０がユーザの職場情報に対してアクセスすることを許可し得るが、職場情報に対してアクセスすることを許可されない外部システム１０２０のリストを特定し得る。一定の実施形態は、一定の情報に対してアクセスすることを許可されない例外のリストを「ブロックリスト」と呼ぶ。ユーザによって特定されるブロックリストに所属する外部システム１０２０は、プライバシー設定において特定される情報に対してアクセスすることをブロックされる。情報の仕様の粒度と、情報が共有されるエンティティの仕様の粒度との様々な組み合わせが可能である。例えば、全ての個人情報は、友達と共有され得るのに対して、全ての職場情報は、友達の友達と共有され得る。
【０１１４】
認証サーバ１０４４は、ユーザに対して関連付けられる一定の情報がユーザの友達、外部システム１０２０、ならびに／または他のアプリケーションおよびエンティティによってアクセスされ得るかを決定するためのロジックを含む。外部システム１０２０は、ユーザの職場電話番号などの、ユーザのより個人的かつ機密的な情報に対してアクセスするために、認証サーバ１０４４からの認証を必要とし得る。ユーザのプライバシー設定に基づいて、認証サーバ１０４４は、別のユーザ、外部システム１０２０、アプリケーション、または別のエンティティが、ユーザによって行われるアクションに関する情報を含む、ユーザに対して関連付けられる情報に対してアクセスすることを許可されているかを決定する。
【０１１５】
図１Ａ〜図９を参照して説明したような開示された技術の様々な実施形態は、ソーシャルネットワーキングシステム１０３０（例えば、コンテンツプロバイダモジュール１０４６）および／またはユーザデバイス１０１０として具体化され、含まれ、及び／又は動作可能である。開示された技術に関連する多くの変形または他の可能性があり得ることを理解されたい。
【０１１６】
ハードウェア実装形態
前述のプロセスおよび特徴は、多種多様なマシンおよびコンピュータシステムアーキテクチャによって、ならびに、多種多様なネットワークおよびコンピューティング環境において実装され得る。図１１は、本発明に応じて本明細書に記載された１つまたは複数の実施形態を実装するために使用され得るコンピュータシステム１１００の例を例示する。コンピュータシステム１１００は、コンピュータシステム１１００に対して、本明細書において議論されるプロセスおよび特徴を実行させるための命令のセットを含む。コンピュータシステム１１００は、他のマシンへ接続され（例えば、ネットワーク化され）得る。ネットワーク化された配置において、コンピュータシステム１１００は、クライアント／サーバネットワーク環境内のサーバマシンもしくはクライアントマシンの資格において動作し、または、ピアツーピア（もしくは分散）ネットワーク環境内のピアマシンとして動作し得る。本発明の一実施形態において、コンピュータシステム１１００は、ソーシャルネットワーキングシステム１０３０、ユーザデバイス１０１０、外部システム１１２０、またはこれらの構成要素であってもよい。本発明の一実施形態において、コンピュータシステム１１００は、ソーシャルネットワーキングシステム１０３０の全てまたは部分を構成する多くのサー間のうちの１つのサーバであってもよい。
【０１１７】
コンピュータシステム１１００は、プロセッサ１１０２と、キャッシュ１１０４と、コンピュータ読取可能な媒体上に記憶され、本明細書において説明されるプロセスおよび特徴へ向けられた、１つまたは複数の実行可能なモジュールおよびドライバとを含む。また、コンピュータシステム１１００は、高性能入出力（Ｉ／Ｏ）バス１１０６と、標準Ｉ／Ｏバス１１０８とを含む。ホストブリッジ１１１０は、プロセッサ１１０２を高性能Ｉ／Ｏバス１１０６に対して結合する一方で、Ｉ／Ｏバスブリッジ１１１２は、２つのバス１１０６および１１０８を互いに結合する。システムメモリ１１１４および１つまたは複数のネットワークインタフェース１１１６は、高性能Ｉ／Ｏバス１１０６へ結合される。コンピュータシステム１１００は、ビデオメモリと、ビデオメモリに対して結合される表示デバイスとをさらに含んでもよい（図示せず）。マスストレージ１１１８およびＩ／Ｏポート１１２０は、標準Ｉ／Ｏバス１１０８へ結合される。コンピュータシステム１１００は、バス１１０８に対して結合される、キーボードおよびポインティングデバイス、表示デバイス、または他の入出力デバイス（図示せず）を随意的に含んでもよい。全体的に、これらの要素は、カリフォルニア州サンタクララのインテルコーポレーション社（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）によって製造されるｘ８６互換性のあるプロセッサ、カリフォルニア州サニーベルのアドバンストマイクロデバイス社（ＡＭＤ：Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ，Ｉｎｃ）によって製造されるｘ８６互換性のあるプロセッサ、および任意の他の適切なプロセッサを含むが、これらに限定されない、広範なカテゴリのコンピュータハードウェアシステムを表現することが意図される。
【０１１８】
オペレーティングシステムは、ソフトウェアアプリケーション（図示せず）へのデータの入力およびソフトウェアアプリケーションからのデータの出力を含む、コンピュータシステム１１００の動作を管理および制御する。オペレーティングシステムは、システム上で実行されているソフトウェアアプリケーションと、システムのハードウェア構成要素との間のインタフェースを提供する。任意の適切なオペレーティングシステム、例えば、ＬＩＮＵＸオペレーティングシステム、カリフォルニア州クパチーノのアップルコンピュータ社（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ，Ｉｎｃ．）から市販されているアップルマッキントッシュオペレーティングシステム、ＵＮＩＸ（登録商標）オペレーティングシステム、マイクロソフト（登録商標）ウィンドウズ（登録商標）オペレーティングシステム、ＢＳＤオペレーティングシステム等などが使用され得る。他の実装も可能である。
【０１１９】
コンピュータシステム１１００の要素は、下記においてより詳細に説明される。具体的には、ネットワークインタフェース１１１６は、コンピュータシステム１１００と、幅広いネットワークのうちの任意のもの、例えば、イーサネット（例えば、ＩＥＥＥ８０２．３）ネットワーク、バックプレーン等などとの間の通信を提供する。マスストレージ１１１８は、上記に識別されたそれぞれのコンピューティングシステムによって実装される上述されたプロセスおよび特徴を実行するためのデータおよびプログラミング命令のための永続的なストレージを提供するのに対して、システムメモリ１１１４（例えば、ＤＲＡＭ）は、プロセッサ１１０２によって実行される場合のデータおよびプログラミング命令のための一時的なストレージを提供する。Ｉ／Ｏポート１１２０は、コンピュータシステム１１００へ結合され得る付加的な周辺デバイス間の通信を提供する、１つまたは複数のシリアル通信ポートおよび／またはパラレル通信ポートであり得る。
【０１２０】
コンピュータシステム１１００は、多様なシステムアーキテクチャを含むことができ、コンピュータシステム１１００の様々な構成要素は、再配置されてもよい。例えば、キャッシュ１１０４は、プロセッサ１１０２と共にチップ上に実装されてもよい。代替的に、キャッシュ１１０４およびプロセッサ１１０２は、「プロセッサモジュール」としてまとめられて、プロセッサ１１０２が「プロセッサコア」と称されてもよい。さらに、本発明の一定の実施形態は、上記構成要素の全部を必要としなくても、または、含まなくてもよい。例えば、標準Ｉ／Ｏバス１１０８へ結合される周辺デバイスは、高性能Ｉ／Ｏバス１１０６へ結合されてもよい。また、いくつかの実施形態において、単一のバスのみが存在して、コンピュータシステム１１００の構成要素が、その単一のバスへ結合されてもよい。さらに、コンピュータシステム１１００は、付加的なプロセッサ、記憶デバイス、またはメモリなどの付加的な構成要素を含んでもよい。
【０１２１】
一般に、本明細書において説明されるプロセスおよび特徴は、オペレーティングシステムの一部もしくは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、または「プログラム」と称される一連の命令として実装され得る。例えば、１つまたは複数のプログラムは、本明細書において説明される具体的なプロセスを実行するために使用され得る。プログラムは、典型的には、１つまたは複数のプロセッサによって読み出され、実行される場合に、コンピュータシステム１１００に対して、本明細書において説明されるプロセスおよび特徴を実行するための動作を実行させる、１つまたは複数の命令を、コンピュータシステム１１００内の様々なメモリおよび記憶デバイスにおいて備える。本明細書において説明されるプロセスおよび特徴は、ソフトウェア、ファームウェア、ハードウェア（例えば、特定用途向け集積回路）、または、これらの任意の組み合わせにおいて実装され得る。
【０１２２】
１つの実施形態において、本明細書において説明されるプロセスおよび特徴は、分散コンピューティング環境において個々にまたはまとめて、コンピュータシステム１１００によって実行される一連の実行可能なモジュールとして実装される。前述のモジュールは、ハードウェア、コンピュータ読取可能な媒体（もしくはマシン読取可能な媒体）上に記憶される実行可能なモジュール、または、両者の組み合わせによって実現され得る。例えば、モジュールは、プロセッサ１１０２などの、ハードウェアシステム内のプロセッサによって実行されるべき複数の命令または一連の命令を備え得る。まず、一連の命令は、マスストレージ１１１８などの記憶デバイス上に記憶され得る。ただし、一連の命令は、任意の適切なコンピュータ読取可能な記憶媒体上に記憶されてもよい。さらに、一連の命令は、局所的に記憶される必要はなく、ネットワーク上のサーバなどの遠隔記憶デバイスからネットワークインタフェース１１１６を通じて受信されてもよい。命令は、マスストレージ１１１８などの記憶デバイスからシステムメモリ１１１４内へコピーされ、次いで、プロセッサ１１０２によってアクセスされ、実行される。様々な実施形態において、１つまたは複数のモジュールは、並列処理環境内の複数のサーバなどの、１つまたは複数の位置における、１つまたは複数のプロセッサによって実行され得る。
【０１２３】
コンピュータ読取可能な媒体の例は、揮発性メモリデバイスおよび不揮発性メモリデバイスなどの記録可能なタイプの媒体、ソリッドステートメモリ、フロッピー（登録商標）ディスクおよび他の取り外し可能なディスク、ハードディスクドライブ、磁気媒体、光ディスク（例えば、コンパクトディスク読取専用メモリ（ＣＤ  ＲＯＭＳ）、デジタル多用途ディスク（ＤＶＤ））、他の同様の非一時的で（もしくは一時的で）、有形の（もしくは無形の）記憶媒体、または、本明細書において説明されるプロセスおよび特徴のうちの任意の１つもしくは複数を実行すべく、コンピュータシステム１１００による実行のために一連の命令を記憶し、符号化し、もしくは担持するのに適切な任意のタイプの媒体を含むが、これらに限定されない。
【０１２４】
説明の目的のために、多くの具体的な詳細が、本説明の完全な理解を提供するために述べられている。しかしながら、こうした具体的な詳細なしに本開示の実施形態が実施され得ることは、当業者には明らかであろう。いくつかの例において、モジュール、構造、プロセス、特徴、およびデバイスは、本説明を曖昧にすることを回避するために、ブロック図の形式で示される。他の例において、機能ブロック図およびフロー図は、データおよび論理フローを表現するために示される。ブロック図およびフロー図の構成要素（例えば、モジュール、ブロック、構造、デバイス、特徴等）は、本明細書において明示的に説明および図示されたような手法以外の手法で、様々に組み合わされ、分離され、除去され、順序を並べ替えられ、置換されてもよい。
【０１２５】
この明細書における、「１つの実施形態」、「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「様々な実施形態」等への言及は、実施形態に関連して説明される特定の特徴、設計、構造、または特性が本開示の少なくとも１つの実施形態に含まれることを意味する。本明細書内の様々な部分における「１つの実施形態において」または「別の実施形態」という句の出現は、必ずしも全て同じ実施形態に言及するものとは限らず、別個の実施形態または代替的な実施形態は、他の実施形態と相互排他的ではない。さらに、「実施形態」等への明示的な言及が存在しても存在しなくても、様々な特徴が説明され、様々な特徴は、いくつかの実施形態において様々に組み合わされ、含まれ得るが、他の実施形態においては様々に省略され得る。同様に、いくつかの実施形態にとっては選好事項または要件であり得るが、他の実施形態にとっては選好事項または要件ではない、様々な特徴が説明される。さらに、本明細書において、「〜に基づく」とは、「少なくとも部分的に基づいて」、「少なくとも一部／部分に基づいて」、「少なくとも部分的に／部分的に基づいている」、および／またはそれらの任意の組み合わせを含む。
【０１２６】
本明細書において使用される文言は、主に、読みやすさと教育的目的のために選択されており、発明の主題の輪郭を描くため、または境界線を描くために選択されたものではない。そのため、本発明の範囲は、この詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願について発行される任意の請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、本発明の範囲の例示とはなるが、限定とはならないことが意図され、本発明の範囲は、下記の特許請求の範囲において述べられる。
【図１Ａ】
2018534661.tif 000003
【図１Ｂ】
2018534661.tif 000004
【図１Ｃ】
2018534661.tif 000005
【図１Ｄ】
2018534661.tif 000006
【図１Ｅ】
2018534661.tif 000007
【図２Ａ】
2018534661.tif 000008
【図２Ｂ】
2018534661.tif 000009
【図２Ｃ】
2018534661.tif 000010
【図２Ｄ】
2018534661.tif 000011
【図３Ａ】
2018534661.tif 000012
【図３Ｂ】
2018534661.tif 000013
【図４Ａ】
2018534661.tif 000014
【図４Ｂ】
2018534661.tif 000015
【図４Ｃ】
2018534661.tif 000016
【図４Ｄ】
2018534661.tif 000017
【図４Ｅ】
2018534661.tif 000018
【図５Ａ】
2018534661.tif 000019
【図５Ｂ】
2018534661.tif 000020
【図５Ｃ】
2018534661.tif 000021
【図５Ｄ】
2018534661.tif 000022
【図６Ａ】
2018534661.tif 000023
【図６Ｂ】
2018534661.tif 000024
【図６Ｃ】
2018534661.tif 000025
【図６Ｄ】
2018534661.tif 000026
【図６Ｅ】
2018534661.tif 000027
【図６Ｆ】
2018534661.tif 000028
【図７】
2018534661.tif 000029
【図８】
2018534661.tif 000030
【図９】
2018534661.tif 000031
【図１０】
2018534661.tif 000032
【図１１】
2018534661.tif 000033
【国際調査報告】
2018534661.tif 000034
2018534661.tif 000035