(57)【要約】  ３６０度のビデオを用いて３６０度のビデオ中に魚眼画像を記述するパラメータを含むためのシステム、方法、コンピュータ可読媒体が提供される。３６０度のビデオは、次いで、魚眼画像を何らかの他の形式に変換することなく、全方位カメラによってキャプチャされると記憶され、および／または送信されることができる。パラメータは、魚眼画像を、エクイレクタングラー形式などの、中間形式にマッピングするために、後に使用されることができる。中間形式は、３６０度のビデオを記憶、送信、および／または、表示するために使用されることができる。パラメータは、魚眼画像を、球形の形式のような、３６０度のビデオプレゼンテーションにおいて表示されることができる形式に直接にマッピングするために、代替的または追加的に使用されることができる。
2019517212.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを処理するための方法であって、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得すること、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得すること、ここにおいて、前記パラメータは、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化することと、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を備える、方法。
【請求項２】
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項３】
前記符号化されたビデオデータを生成することは、前記符号化された３６０度のビデオデータをファイルに書き込むことを含み、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、請求項１に記載の方法。
【請求項４】
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、請求項３に記載の方法。
【請求項５】
前記パラメータは、制限されたスキーム情報ボックスに含まれる、請求項３に記載の方法。
【請求項６】
前記パラメータを付加拡張情報（ＳＥＩ）メッセージに符号化すること、ここにおいて、前記ＳＥＩメッセージは、前記符号化された３６０度のビデオデータに含まれる、
をさらに備える、請求項１に記載の方法。
【請求項７】
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、請求項６に記載の方法。
【請求項８】
前記符号化されたビデオデータを生成することは、前記パラメータをセッションデータプロトコル（ＳＤＰ）属性として符号化することを含む、請求項１に記載の方法。
【請求項９】
前記符号化されたビデオデータを生成することは、前記パラメータをメディアプレゼンテーション記述（ＭＰＤ）ファイルに書き込むことを含む、請求項１に記載の方法。
【請求項１０】
前記符号化されたビデオデータを生成することは、前記パラメータをＭｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームに書き込むことを含む、請求項１に記載の方法。
【請求項１１】
符号化されたビデオを処理するための装置であって、
全方位カメラによってキャプチャされた２次元ビデオデータを記憶するように構成されたメモリと、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得すること、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得すること、ここにおいて、前記パラメータは、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化することと、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を行うように構成されたプロセッサと
を備える、装置。
【請求項１２】
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、請求項１１に記載の装置。
【請求項１３】
前記符号化されたビデオデータを生成することは、前記符号化された３６０度のビデオデータをファイルに書き込むことを含み、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、請求項１１に記載の装置。
【請求項１４】
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、請求項１３に記載の装置。
【請求項１５】
前記パラメータは、制限されたスキーム情報ボックスに含まれる、請求項１３に記載の装置。
【請求項１６】
前記プロセッサは、
前記パラメータを付加拡張情報（ＳＥＩ）メッセージに符号化すること、ここにおいて、前記ＳＥＩメッセージは、前記符号化された３６０度のビデオデータに含まれる、
を行うようにさらに構成される、請求項１１に記載の装置。
【請求項１７】
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、請求項１６に記載の装置。
【請求項１８】
前記符号化されたビデオデータを生成することは、前記パラメータをセッションデータプロトコル（ＳＤＰ）属性として符号化することを含む、請求項１１に記載の装置。
【請求項１９】
前記符号化されたビデオデータを生成することは、前記パラメータをメディアプレゼンテーション記述（ＭＰＤ）ファイルに書き込むことを含む、請求項１１に記載の装置。
【請求項２０】
前記符号化されたビデオデータを生成することは、前記パラメータをＭｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームに書き込むことを含む、請求項１１に記載の装置。
【請求項２１】
モバイルデバイス、ここにおいて、前記モバイルデバイスは、前記全方位カメラを含む、
をさらに備える、請求項１１に記載の装置。
【請求項２２】
非一時的なコンピュータ可読媒体であって、１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得すること、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得すること、ここにおいて、前記パラメータは、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化することと、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を行わせる命令を記憶した、非一時的コンピュータ可読媒体。
【請求項２３】
装置であって、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得するための手段、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得するための手段、ここにおいて、前記パラメータは、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化することと、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を備える、装置。
【請求項２４】
ビデオデータを処理するための方法であって、
符号化されたビデオデータを取得すること、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
前記３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号すること、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
３６０度のビデオプレゼンテーションを生成すること、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を備える、方法。
【請求項２５】
前記円形領域をエクイレクタングラー形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記エクイレクタングラー形式を使用することと
をさらに備える、請求項２４に記載の方法。
【請求項２６】
前記円形領域を直接に前記３６０度の形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記３６０度の形式を使用することと
をさらに備える、請求項２４に記載の方法。
【請求項２７】
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、請求項２４に記載の方法。
【請求項２８】
前記符号化されたビデオデータは、ファイルから取得され、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、請求項２４に記載の方法。
【請求項２９】
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、請求項２８に記載の方法。
【請求項３０】
前記パラメータは、制限されたスキーム情報ボックスに含まれる、請求項２８に記載の方法。
【請求項３１】
前記パラメータを付加拡張情報（ＳＥＩ）メッセージから復号すること、ここにおいて、前記ＳＥＩメッセージは、前記符号化されたビデオデータに含まれる、
をさらに備える、請求項２４に記載の方法。
【請求項３２】
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、請求項３１に記載の方法。
【請求項３３】
前記符号化されたビデオデータを復号することは、セッションデータプロトコル（ＳＤＰ）属性から前記パラメータを取得することを含む、請求項２４に記載の方法。
【請求項３４】
前記符号化されたビデオデータを復号することは、メディアプレゼンテーション記述（ＭＰＤ）ファイルから前記パラメータを取得することを含む、請求項２４に記載の方法。
【請求項３５】
前記符号化されたビデオデータを復号することは、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームから前記パラメータを取得することを含む、請求項２４に記載の方法。
【請求項３６】
符号化されたビデオを処理するための装置であって、
全方位カメラによってキャプチャされた２次元ビデオデータを記憶するように構成されたメモリと、
前記符号化されたビデオデータを取得すること、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
前記３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号すること、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
３６０度のビデオプレゼンテーションを生成すること、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を行うように構成されたプロセッサと
を備える、装置。
【請求項３７】
前記プロセッサは、
前記円形領域をエクイレクタングラー形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記エクイレクタングラー形式を使用することと
を行うようにさらに構成される、請求項３６に記載の装置。
【請求項３８】
前記プロセッサは、
前記円形領域を直接に前記３６０度の形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記３６０度の形式を使用することと
を行うようにさらに構成される、請求項３６に記載の装置。
【請求項３９】
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、請求項３６に記載の装置。
【請求項４０】
前記符号化されたビデオデータは、ファイルから取得され、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、請求項３６に記載の装置。
【請求項４１】
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、請求項４０に記載の装置。
【請求項４２】
前記パラメータは、制限されたスキーム情報ボックスに含まれる、請求項４０に記載の装置。
【請求項４３】
前記プロセッサは、
前記パラメータを付加拡張情報（ＳＥＩ）メッセージから復号し、ここにおいて、前記ＳＥＩメッセージは、前記符号化されたビデオデータに含まれる、
を行うようにさらに構成される、請求項３６に記載の装置。
【請求項４４】
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、請求項４３に記載の装置。
【請求項４５】
前記符号化されたビデオデータを復号することは、セッションデータプロトコル（ＳＤＰ）属性から前記パラメータを取得することを含む、請求項３６に記載の装置。
【請求項４６】
前記符号化されたビデオデータを復号することは、メディアプレゼンテーション記述（ＭＰＤ）ファイルから前記パラメータを取得することを含む、請求項３６に記載の装置。
【請求項４７】
前記符号化されたビデオデータを復号することは、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームから前記パラメータを取得することを含む、請求項３６に記載の装置。
【請求項４８】
モバイルデバイスをさらに備え、ここにおいて、前記モバイルデバイスは、前記３６０度のビデオプレゼンテーションを表示するためのディスプレイを含む、
請求項３６に記載の装置。
【請求項４９】
非一時的なコンピュータ可読媒体であって、１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
前記符号化されたビデオデータを取得すること、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
前記３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号すること、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
３６０度のビデオプレゼンテーションを生成すること、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を行わせる命令を記憶した、非一時的コンピュータ可読媒体。
【請求項５０】
装置であって、
前記符号化されたビデオデータを取得するための手段、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
前記３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号するための手段、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
３６０度のビデオプレゼンテーションを生成するための手段、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を備える、装置。
【発明の詳細な説明】
【発明の概要】
【０００１】
[0001]３６０度のビデオは、視聴者に没頭した体験（immersed experience）を提供することができる。例えば、３６０度のビデオは、視聴者を、仮想的に（virtually）異なる時間および／または場所に置いて、視聴者にバーチャル・リアリティ体験を提供することができる。別の例として、３６０度のビデオは、視聴者に、遠隔デバイス（例えば、無人航空機（unmanned aerial vehicle）、または他のデバイス）によってキャプチャされたビデオ・コンテンツの一人称視点（first-person view）を提供することができる。３６０度のビデオをキャプチャするための１つの方法は、全方位カメラを使用することである。全方位カメラは、ほんの少数のレンズを用いて、広視野（wide field of view）をキャプチャすることができる。結果として生じる画像は、魚眼効果を示す（exhibit）。
【０００２】
[0002]様々なインプリメンテーションにおいて、３６０度のビデオを用いて３６０度のビデオ中に魚眼画像を記述するパラメータを含むためのシステム、方法、コンピュータ可読媒体が提供される。３６０度のビデオは、次いで、魚眼画像を何らかの他の形式に変換する（transforming）ことなく、全方位カメラによってキャプチャされると記憶され、および／または送信されることができる。パラメータは、魚眼画像を、エクイレクタングラー（equirectangular）形式などの、中間形式にマッピングするために、後に使用されることができる。中間形式は、３６０度のビデオを記憶、送信、および／または、表示するために使用されることができる。パラメータは、魚眼画像を、球形の形式（spherical format）のような、３６０度のビデオプレゼンテーションにおいて表示されることができる形式に直接にマッピングするために、代替的または追加的に使用されることができる。
【０００３】
[0003]少なくとも１つの例に従って、ビデオデータを処理するための方法が提供される。方法は、全方位カメラによってキャプチャされた３６０度のビデオデータを取得することを含む。３６０度のビデオデータのビデオフレームは、シーンの画像を含むことができる。その画像において、シーンは、画像の円形領域にゆがませられる。方法は、全方位カメラに関連付けられたパラメータを取得することをさらに含む。パラメータは、画像の円形領域を記述することができる。方法は、３６０度のビデオデータを符号化することをさらに含む。方法は、符号化されたビデオデータを生成することをさらに含む。符号化されたビデオデータは、符号化された３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含むことができる。
【０００４】
[0004]別の例において、全方位カメラによってキャプチャされた３６０度のビデオデータを取得するように構成されたメモリプロセッサを含む装置が提供される。３６０度のビデオデータのビデオフレームは、シーンの画像を含むことができる。その画像において、シーンは、画像の円形領域にゆがませられる。プロセッサは、全方位カメラに関連付けられたパラメータを取得するように構成され、およびそれを取得することができる。パラメータは、画像の円形領域を記述することができる。プロセッサは、３６０度のビデオデータを符号化するように構成され、およびそれを符号化することができる。プロセッサは、符号化されたビデオデータを生成するように構成され、およびそれを生成することができる。符号化されたビデオデータは、符号化された３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含むことができる。
【０００５】
[0005]別の例において、プロセッサによって実行されると、全方位カメラによってキャプチャされた３６０度のビデオデータを取得することを含む方法を行う命令を記憶するコンピュータ可読媒体が提供される。３６０度のビデオデータのビデオフレームは、シーンの画像を含むことができる。その画像において、シーンは、画像の円形領域にゆがませられる。方法は、全方位カメラに関連付けられたパラメータを取得することをさらに含む。パラメータは、画像の円形領域を記述することができる。方法は、３６０度のビデオデータを符号化することをさらに含む。方法は、符号化されたビデオデータを生成することをさらに含む。符号化されたビデオデータは、符号化された３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含むことができる。
【０００６】
[0006]別の例において、全方位カメラによってキャプチャされた３６０度のビデオデータを取得するための手段を含む装置が提供される。３６０度のビデオデータのビデオフレームは、シーンの画像を含むことができる。その画像において、シーンは、画像の円形領域にゆがませられる。装置は、全方位カメラに関連付けられたパラメータを取得するための手段をさらに含む。パラメータは、画像の円形領域を記述することができる。装置は、３６０度のビデオデータを符号化するための手段をさらに含む。装置は、符号化されたビデオデータを生成するための手段をさらに含む。符号化されたビデオデータは、符号化された３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含むことができる。
【０００７】
[0007]いくつかの態様において、シーンは、画像の１つまたは複数の円形領域にゆがませられる。これらの態様において、パラメータは、１つまたは複数の円形領域の量（a quantity of）を含む。いくつかの態様において、パラメータは、円形領域の中心の水平座標を含む。いくつかの態様において、パラメータは、円形領域の中心の垂直座標を含む。いくつかの態様において、パラメータは、全半径値を含み、ここにおいて、全半径は、円形領域の中心から円形領域の外側エッジまでの距離である。いくつかの態様において、パラメータは、フレーム半径値を含み、ここにおいて、フレーム半径は、円形領域の中心から画像のエッジまでの距離である。いくつかの態様において、パラメータは、シーン半径値を含み、ここで、シーン半径は、円形領域の中心から画像においてキャプチャされた障害物（obstruction）の外側エッジまでの距離である。いくつかの態様において、パラメータは、円形領域内のシーンの回転を含み、ここにおいて、回転は、画像の向き（orientation）に関する。いくつかの態様において、パラメータは、フリップ値（flip value）を含み、ここにおいて、フリップ値は、シーンが円形領域内で反転していたかどうか、およびシーンが反転されていた方向を示す。
【０００８】
[0008]いくつかの態様において、パラメータは、スケーリング値を含み、ここにおいて、スケーリング値は、シーンが円形領域内でスケーリングされていたかどうか、シーンが沿ってスケーリングされていた軸、および前記シーンがスケーリングされていた分の量を示す。いくつかの態様において、パラメータは、視野値（field-of-view value）を含み、ここにおいて、視野値は、円形領域においてキャプチャされた眺めの度の数を示す。いくつかの態様において、パラメータは、圧縮曲線値を含み、ここにおいて、圧縮曲線値は、円形領域において含まれるシーンに対する円形領域の幾何学的圧縮曲線を示す。いくつかの態様において、パラメータは、使用できない画素を含む画像内の面積の量を示す値を含む。いくつかの態様において、パラメータは、使用できない画素を含む画像内の面積の位置およびサイズを含む。
【０００９】
[0009]いくつかの態様において、符号化されたビデオデータを生成することは、符号化された３６０度のビデオデータをファイルに書き込むことを含む。これらの態様において、ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ：International Standards Organization Base Media File Format）形式に従って、フォーマットされることができる。いくつかの態様において、パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはファイルのトラックレベルにおいて含まれる。いくつかの態様において、パラメータは、制限されたスキーム情報ボックスに含まれる。
【００１０】
[0010]いくつかの態様において、上記に説明された、方法、装置、およびコンピュータ可読媒体は、パラメータを付加拡張情報（ＳＥＩ：Supplemental Enhancement Information）メッセージに符号化することをさらに備える。ＳＥＩメッセージは、符号化された３６０度のビデオデータに含まれることができる。いくつかの態様において、ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる。
【００１１】
[0011]いくつかの態様において、上記に説明された、方法、装置、およびコンピュータ可読媒体は、符号化されたビデオデータを生成することは、パラメータをセッションデータプロトコル（ＳＤＰ：Session Data Protocol）属性として符号化することを含むことをさらに備える。
【００１２】
[0012]いくつかの態様において、上記に説明された、方法、装置、およびコンピュータ可読媒体は、符号化されたビデオデータを生成することは、パラメータをメディアプレゼンテーション記述（ＭＰＤ：Media Presentation Description）ファイルに書き込むことを含むことをさらに備える。
【００１３】
[0013]いくつかの態様において、上記に説明された、方法、装置、およびコンピュータ可読媒体は、符号化されたビデオデータを生成することは、パラメータをＭｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームに書き込むことを含むことをさらに備える。
【００１４】
[0014]いくつかの態様において、上記に説明されたような装置は、モバイルデバイスを含むことができる。いくつかのインプリメンテーションにおいて、モバイルデバイスは、全方位カメラを含む。
【００１５】
[0015]少なくとも１つの例に従って、ビデオデータを処理するための方法が提供される。方法は、符号化されたビデオデータを取得することを含む。符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含む。方法は、３６０度のビデオデータを作り出すために、符号化されたビデオデータを復号することをさらに含む。３６０度のビデオデータからのビデオフレームは、シーンの画像を含むことができ、ここにおいて、その画像において、シーンは、画像の円形領域にゆがませられる。方法は、３６０度のビデオプレゼンテーションを生成することをさらに含む。３６０度のビデオプレゼンテーションを生成することは、円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするためにパラメータを使用することを含むことができる。
【００１６】
[0016]別の例において、符号化されたビデオデータを取得するように構成されたメモリプロセッサを含む装置は、提供される。符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含む。プロセッサは、３６０度のビデオデータを作り出すために、符号化されたビデオデータを復号するように構成され、およびそれを復号することができる。３６０度のビデオデータからのビデオフレームは、シーンの画像を含むことができ、ここにおいて、その画像において、シーンは、画像の円形領域にゆがませられる。プロセッサは、３６０度のビデオプレゼンテーションを生成するように構成され、およびそれを生成することができる。３６０度のビデオプレゼンテーションを生成することは、円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするためにパラメータを使用することを含むことができる。
【００１７】
[0017]別の例において、プロセッサによって実行されると、符号化されたビデオデータを取得することを含む方法を行う命令を記憶するコンピュータ可読媒体が提供される。符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含む。方法は、３６０度のビデオデータを作り出すために、符号化されたビデオデータを復号することをさらに含む。３６０度のビデオデータからのビデオフレームは、シーンの画像を含むことができ、ここにおいて、その画像において、シーンは、画像の円形領域にゆがませられる。方法は、３６０度のビデオプレゼンテーションを生成することをさらに含む。３６０度のビデオプレゼンテーションを生成することは、円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするためにパラメータを使用することを含むことができる。
【００１８】
[0018]別の例において、符号化されたビデオデータを取得するための手段を含む装置が提供される。符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含む。装置は、３６０度のビデオデータを作り出すために、符号化されたビデオデータを復号するための手段をさらに含む。３６０度のビデオデータからのビデオフレームは、シーンの画像を含むことができ、ここにおいて、その画像において、シーンは、画像の円形領域にゆがませられる。装置は、３６０度のビデオプレゼンテーションを生成するための手段をさらに含む。３６０度のビデオプレゼンテーションを生成することは、円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするためにパラメータを使用することを含むことができる。
【００１９】
[0019]いくつかの態様において、上記に説明された、方法、装置、およびコンピュータ可読媒体は、円形領域をエクイレクタングラー形式にマッピングすることをさらに備える。これらの態様は、３６０度のビデオプレゼンテーションのためにエクイレクタングラー形式を使用することをさらに含む。
【００２０】
[0020]いくつかの態様において、上記に説明された、方法、装置、およびコンピュータ可読媒体は、円形領域を直接に３６０度の形式にマッピングすることをさらに備える。これらの態様は、３６０度のビデオプレゼンテーションのために３６０度の形式を使用することをさらに含む。
【００２１】
[0021]いくつかの態様において、そのシーンは、画像の１つまたは複数の円形領域にゆがませられる。これらの態様において、パラメータは、１つまたは複数の円形領域の量を含む。いくつかの態様において、パラメータは、円形領域の中心の水平座標を含む。いくつかの態様において、パラメータは、円形領域の中心の垂直座標を含む。いくつかの態様において、パラメータは、全半径値を含み、ここにおいて、全半径は、円形領域の中心から円形領域の外側エッジまでの距離である。いくつかの態様において、パラメータは、フレーム半径値を含み、ここにおいて、フレーム半径は、円形領域の中心から画像のエッジまでの距離である。いくつかの態様において、パラメータは、シーン半径値を含み、ここで、シーン半径は、円形領域の中心から画像においてキャプチャされた障害物の外側エッジまでの距離である。いくつかの態様において、パラメータは、円形領域内のシーンの回転を含み、ここにおいて、回転は、画像の向きに関する。いくつかの態様において、パラメータは、フリップ値を含み、ここにおいて、フリップ値は、シーンが円形領域内で反転していたかどうか、およびシーンが反転されていた方向を示す。
【００２２】
[0022]いくつかの態様において、パラメータは、スケーリング値を含み、ここにおいて、スケーリング値は、シーンが円形領域内でスケーリングされていたかどうか、シーンが沿ってスケーリングされていた軸、および前記シーンがスケーリングされていた分の量を示す。いくつかの態様において、パラメータは、視野値を含み、ここにおいて、視野値は、円形領域においてキャプチャされた眺めの度の数を示す。いくつかの態様において、パラメータは、圧縮曲線値を含み、ここにおいて、圧縮曲線値は、円形領域において含まれるシーンに対する円形領域の幾何学的圧縮曲線を示す。いくつかの態様において、パラメータは、使用できない画素を含む画像内の面積の量を示す値を含む。いくつかの態様において、パラメータは、使用できない画素を含む画像内の面積の位置およびサイズを含む。
【００２３】
[0023]いくつかの態様において、符号化されたビデオデータは、ファイルから取得され、ここにおいて、ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる。いくつかの態様において、パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる。いくつかの態様において、パラメータは、制限されたスキーム情報ボックスに含まれる。
【００２４】
[0024]いくつかの態様において、付加拡張情報（ＳＥＩ）メッセージからパラメータを復号すること、ここにおいて、ＳＥＩメッセージは、符号化されたビデオデータに含まれる。いくつかの態様において、ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる。
【００２５】
[0025]いくつかの態様において、符号化されたビデオデータを復号することは、セッションデータプロトコル（ＳＤＰ）属性からパラメータを取得することを含む。
【００２６】
[0026]いくつかの態様において、符号化されたビデオデータを復号することは、メディアプレゼンテーション記述（ＭＰＤ）ファイルからパラメータを取得することを含む。
【００２７】
[0027]いくつかの態様において、符号化されたビデオデータを復号することは、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームからパラメータを取得することを含む。
【００２８】
[0028]いくつかの態様において、上記に説明されたような装置は、モバイルデバイスを含むことができる。いくつかのインプリメンテーションにおいて、モバイルデバイスは、３６０度のビデオプレゼンテーションを表示するためのディスプレイを含む。
【００２９】
[0029]この発明の概要は、特許請求された主題事項の肝要な（key）特徴または本質的な（essential）特徴を特定することを意図しておらず、特許請求された主題事項の範囲を分離して決定するために使用されることも意図していない。本主題事項は、この特許の完全な明細書、図面のいずれかまたは全て、および各請求項の、適切な部分への参照によって、理解されるべきである。
【００３０】
[0030]前述したことは、他の特徴および実施形態と一緒に、以下の明細書、請求項、および添付の図面を参照する際に、より明らかになるだろう。
【図面の簡単な説明】
【００３１】
[0031]本願の例示的な実施形態は、以下の作図を参照して、下記の詳細において説明される。
【図１Ａ】[0032]図１Ａは、広視野をキャプチャするために魚眼レンズを使用する全方位カメラによってキャプチャされたビデオフレームの例を例示する。
【図１Ｂ】図１Ｂは、広視野をキャプチャするために魚眼レンズを使用する全方位カメラによってキャプチャされたビデオフレームの例を例示する。
【図２】[0033]図２は、エクイレクタングラービデオフレームの例を例示する。
【図３】[0034]図３は、３６０度のビデオプレゼンテーションにおいて使用されているエクイレクタングラービデオフレームの例を例示する。
【図４Ａ】[0035]図４Ａは、３６０度のビデオフレームにおける魚眼画像が直接に半球形表現にマッピングされている例を例示する。
【図４Ｂ】図４Ｂは、３６０度のビデオフレームにおける魚眼画像が直接に半球形表現にマッピングされている例を例示する。
【図５】[0036]図５は、２つの魚眼レンズを有する全方位カメラによってキャプチャされたビデオフレームの例を例示する。
【図６Ａ】[0037]図６Ａは、ビデオフレームにおいてキャプチャされた魚眼画像を記述するために使用されることができる追加のパラメータの例を例示する。
【図６Ｂ】[0038]図６Ｂは、画像におけるカメラ本体の存在を例示するために、魚眼画像の下方部分の例を例示する。
【図７】[0039]図７は、ＩＳＯＢＭＦＦに従ってフォーマットされた、ビデオプレゼンテーションのためのデータおよびメタデータを包含するＩＳＯベースメディアファイルの例を例示する。
【図８Ａ】[0040]図８Ａは、ＩＳＯベースメディアファイルにおける最高位のボックス（top-level box）が、そのファイルが、バーチャル・リアリティ・コンテンツを含むことを示すために使用される例を例示する。
【図８Ｂ】図８Ｂは、ＩＳＯベースメディアファイルにおける最高位のボックスが、そのファイルが、バーチャル・リアリティ・コンテンツを含むことを示すために使用される例を例示する。
【図９】[0041]図９は、ムービーレベルのインジケーションが、ファイルがバーチャル・リアリティ・コンテンツを含むことを示すために、ＩＳＯベースメディアファイルにおいて使用される例を例示する。
【図１０】[0042]図１０は、トラックレベルインジケータが、ファイルがバーチャル・リアリティ・コンテンツを含むことを示すために、ＩＳＯベースメディアファイルにおいて使用される例を例示する。
【図１１】[0043]図１１は、トラックのコンテンツがバーチャル・リアリティ・コンテンツを含むことをシグナリングするためにハンドラーボックスが使用されるＩＳＯベースメディアファイルの１つの例を例示する。
【図１２】[0044]図１２は、トラックがバーチャル・リアリティ・コンテンツを含むことを示すために新しいハンドラーボックスが定義されていたＩＳＯベースメディアファイルの例を例示する。
【図１３】[0045]図１３は、ＩＳＯベースメディアファイルに含まれることができるメディアボックスの例を例示する。
【図１４】[0046]図１４は、ビットストリームの部分であることができるアクセスユニットの例を例示する。
【図１５】[0047]図１５は、ネットワーク通信のための開放型システム間相互接続（Open Systems Interconnect）モデルの例を例示する。
【図１６】[0048]図１６は、ビデオ・コンテンツをストリーミングするためのＤＡＳＨプレゼンテーションの例を例示する。
【図１７】[0049]図１７は、ＭＰＥＧトランスポートストリームの例を例示する。
【図１８】[0050]図１８は、ビデオにおいて魚眼画像を記述するパラメータを用いて、３６０度の魚眼ビデオを符号化するためのプロセスの例を例示する。
【図１９】[0051]図１９は、３６０度のビデオを含む符号化されたビデオデータを復号するためのプロセスの例を例示する。
【図２０】[0052]図２０は、符号化デバイスおよび復号デバイスを含むシステムの例を例示するブロック図である。
【図２１】[0053]図２１は、例となる符号化デバイスを例示するブロック図である。
【図２２】[0054]図２２は、例となる復号デバイスを例示するブロック図である。
【詳細な説明】
【００３２】
[0055]本開示のある特定の態様および実施形態は、以下に提示される。これらの態様および実施形態のいくつかは、当業者にとって明らかであるように、独立して適用され得、それらのいくつかは、組み合わせて適用され得る。以下の説明において、説明の目的のために、本開示の実施形態の完全な理解を提供するために、特定の詳細が記載される。しかしながら、様々な実施形態がこれらの特定の詳細なく実施され得ることが明らかであろう。図および説明は、制限的である（restrictive）ようには、意図されていない。
【００３３】
[0056]次に続く説明は、例示的な実施形態のみを提供しており、本開示の範囲、適用可能性、または構成を限定するようには意図されていない。むしろ、例示的な実施形態の次に続く説明は、例示的な実施形態をインプリメントするためにそれを実施可能とする（enabling）説明を当業者に提供するだろう。添付の請求項に記載された本開示の趣旨および範囲から逸脱することなく、エレメントの機能および配置において様々な変更がなされ得ることは理解されるべきである。
【００３４】
[0057]実施形態の徹底的な理解を提供するために、以下の説明において特定の詳細が与えられる。しかしながら、これらの実施形態が、これらの特定の詳細なしで実施され得ることは、当業者のうちの一人によって理解されるであろう。例えば、回路、システム、ネットワーク、プロセス、および他のコンポーネントは、不必要な詳細において実施形態を曖昧にしないために、ブロック図の形式でコンポーネントとして、示され得る。他の例において、周知の回路、プロセス、アルゴリズム、構造、および技法は、実施形態を曖昧することを回避するために、不必要な詳細なしで示され得る。
【００３５】
[0058]また、個々の実施形態が、フローチャート、フロー図、データフロー図、構造図、またはブロック図として描かれる、プロセスとして説明され得ることに留意されたい。フローチャートは、逐次プロセスとして動作を説明し得るが、動作の多くは並行してまたはコンカレントに実行され得る。加えて、動作の順序は並べ換えられ得る。プロセスは、それの動作が完了するときに、終了するが、図に含まれていない追加のステップも含むことができる。プロセスは、方法、ファンクション、プロシージャ、サブルーチン、サブプログラム、等に対応し得る。プロセスがファンクションに対応するとき、それの終了は、呼び出しファンクションまたは主ファンクションへのファンクションの戻りに対応することができる。
【００３６】
[0059]「コンピュータ可読媒体」という用語は、（１つまたは複数の）命令および／またはデータを記憶すること、包含すること、あるいは、搬送することを行う能力があるポータブルまたは非ポータブルな記憶装置デバイス、光学の記憶装置デバイス、および様々な他の媒体を含むが、それらに制限されない。コンピュータ可読媒体は、データがそれにおいて記憶されることができ、かつ、搬送波を含まない非一時的な媒体、ならびに／あるいはワイヤレスにまたは有線接続上で伝搬する一時的な電子信号を含み得る。非一時的な媒体の例は、磁気ディスクまたはテープ、コンパクトディスク（ＣＤ）またはデジタル多用途ディスク（ＤＶＤ）のような光学記憶媒体、フラッシュメモリ、メモリ、あるいはメモリデバイス、を含み得るが、それらに限定されない。コンピュータ可読媒体は、それ上に、プロシージャ、ファンクション、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表し得るコードおよび／または機械実行可能命令を記憶している可能性がある。コードセグメントは、情報、データ、引き数、パラメータ、またはメモリコンテンツを渡すことおよび／または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引き数、パラメータ、データ、等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信、または同種のものを含む、任意の適した手段を介して渡される、転送される、または送信されることができる。
【００３７】
[0060]さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または、それらの任意の組合せによってインプリメントされ得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードでインプリメントされるとき、必要なタスクを行うためのプログラムコードまたはコードセグメント（例えば、コンピュータプログラム製品）は、コンピュータ可読または機械可読媒体に記憶され得る。（１つまたは複数の）プロセッサは、必要なタスクを行い得る。
【００３８】
[0061]バーチャル・リアリティは、一見現実的かまたは物理的なやり方で相互に作用されることができる３次元の環境を描く（describes）。いくつかの事例において、バーチャル・リアリティ環境を体験するユーザは、バーチャル環境と相互に作用するために、ヘッドマウント・ディスプレー（ＨＭＤ：head-mounted display）および、随意的に、また衣類（例えば、センサが備え付けられた（fitted with）手袋）などのような、電子設備を使用する。実世界においてユーザが動くと、バーチャル環境においてレンダリングされる画像はまた、変化し、ユーザにユーザがバーチャル環境内で動いているという知覚を与える。いくつかの事例において、バーチャル環境は、ユーザの動きと相互関係を示す（correlates with）音を含み、ユーザに、その音が特定の方向またはソースから生じる（originate from）という印象を与える。バーチャル・リアリティ・ビデオは、非常に高い質で、キャプチャされることができ、およびレンダリングされることができ、本当に没入した（truly immersive）バーチャル・リアリティ体験を提供する可能性を秘めている（potentially）。バーチャル・リアリティ・アプリケーションは、数ある中でも、ゲーミング、トレーニング、教育、スポーツビデオ、およびオンラインショッピングを含む。
【００３９】
[0062]３６０度のビデオは、バーチャル・リアリティ環境における表示のためにキャプチャされるビデオである。いくつかのアプリケーションにおいて、実世界からのビデオは、コンピュータ生成のグラフィックとは対照的に、ゲーミングおよびバーチャル世界において発見され得るような、バーチャル・リアリティ環境のプレゼンテーションにおいて使用されることができる。これらのアプリケーションにおいて、ユーザは、ユーザが彼らの現在のロケーションを体験することができるのと同じやり方で別のロケーションを体験することができる。例えば、ユーザは、サンフランシスコに位置している３６０度のビデオシステムを使用しながら、ベルリンの徒歩ツアー（walking tour）を体験することができる。
【００４０】
[0063]３６０度のビデオシステムは、典型的に、ビデオキャプチャデバイスおよびビデオディスプレイデバイス、そして場合により、また、サーバ、データストレージ、およびデータ送信設備のような、他の中間デバイスを含む。ビデオキャプチャデバイスは、カメラセット、つまり、複数のカメラのセットを含み得、各々は、異なる方向に方向づけられ、および、異なる眺め（view）をキャプチャする。いくつかのアプリケーションにおいて、６個のカメラは、カメラセットのロケーションの中心に置かれた（centered on）フル３６０度の眺めをキャプチャするために使用されることができる。いくつかのビデオキャプチャデバイスは、より少ないカメラを使用し得る。例えば、いくつかのビデオキャプチャデバイスは、サイドツーサイドビュー（side-to-side views）を主に（primarily）キャプチャするか、または広視野を有するレンズを使用する。ビデオは、一般に、フレームを含み、ここで、フレームは、シーンの電子的にコーディングされた静止画像である。カメラは、秒ごとのある特定の数のフレームをキャプチャし、それは、通常、カメラのフレームレートと呼ばれる。
【００４１】
[0064]いくつかの事例において、シームレスな（seamless）３６０度の眺めを提供するために、画像ステッチング（image stitching）が、カメラセットにおけるカメラの各々によってキャプチャされたビデオ上で行われることができる。３６０度のビデオ生成の事例における画像ステッチングは、ビデオフレームが重複するかまたはさもなければ接続するであろうエリアにおける隣接カメラからのビデオフレームを組み合わせるかまたはマージすることを伴う（involves）。結果は、およそ球形フレームであろうし、メルカトル図法と同様に、マージされたデータは、平面様式（planar fashion）において、表現されることができる。例えば、マージされたビデオフレームにおける画素は、立方体形状の、または何らかの他の３次元の、平面形状（例えば、角錐、８面体、１０面体、等）の平面上にマッピングされ得る。ビデオキャプチャおよびビデオディスプレイデバイスは、ラスタ原理上で動作することができる−ビデオフレームは、画素のグリッドとして扱われることを意味する−その事例において、正方形の平面、長方形の平面、または他の適切に成形された平面は、球形環境を表現するために使用されることができる。
【００４２】
[0065]３６０度のビデオフレームは、平面の表現にマッピングされて、記憶および／または送信のために、符号化および／または圧縮されることができる。符号化および／または圧縮は、ビデオコーデック（例えば、Ｈ．２６５としても知られる、Ｈｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格、Ｈ．２６４としても知られる、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ規格に準拠しているコード、または他の適したコーデック）、および圧縮されたビデオストリーム（または符号化されたビデオストリーム）またはビットストリームのグループにおける結果を使用して、達成されることができる。ビデオコーデックを使用するビデオデータの符号化は、下記のさらなる詳細において、説明される。
【００４３】
[0066]いくつかのインプリメンテーションにおいて、（１つまたは複数の）符号化されたビデオビットストリームは、メディア形式またはファイル形式において記憶されることができるかおよび／またはカプセル化されることができる。（１つまたは複数の）記憶されたビットストリームは、例えば、ネットワーク上で、表示のためにビデオを復号およびレンダリングすることができる受信機デバイスに送信されることができる。そのような受信機デバイスは、本明細書において、ビデオディスプレイデバイスとして呼ばれ得る。例えば、３６０度のビデオシステムは、（例えば、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットおよび／または派生されたファイル形式を使用して）符号化されたビデオデータからカプセル化されたファイルを生成することができる。例えば、ビデオコーデックは、ビデオデータを符号化することができ、カプセル化されたエンジンは、１つまたは複数のＩＳＯ形式メディアファイルにビデオデータをカプセル化することによって、メディアファイルを生成することができる。代替的または追加的に、（１つまたは複数の）記憶されたビットストリームは、記憶媒体から受信機デバイスに直接に提供されることができる。
【００４４】
[0067]受信機デバイスはまた、符号化されたビデオビットストリームを復号および／または解凍（decompress）するために、コーデックをインプリメントすることができる。（１つまたは複数の）符号化されたビデオビットストリームが、メディア形式またはファイル形式に記憶および／またはカプセル化される事例において、受信機デバイスは、ビデオビットストリームを１つのファイル（または複数のファイル）にパックする（pack）ために使用されたメディアまたはファイル形式をサポートすることができ、符号化されたビデオデータを生成するために、ビデオ（および場合によりまた音声の）データを抽出することができる。例えば、受信機デバイスは、符号化されたビデオデータを生成するために、カプセル化されたビデオデータを有するメディアファイルをパーシングする（parse）ことができ、受信機デバイスにおけるコーデックは、符号化されたビデオデータを復号することができる。
【００４５】
[0068]受信機デバイスは、次いで、復号されたビデオ信号をレンダリングデバイス（例えば、ビデオディスプレイデバイス、プレーヤーデバイス、または他の適したレンダリングデバイス）に送ることができる。デバイスをレンダリングすることは、例えば、ヘッドマウント・ディスプレー、バーチャル・リアリティ・テレビジョン、および他の１８０度または３６０度のディスプレイデバイスを含む。一般に、ヘッドマウント・ディスプレーは、着用者の頭部の動きおよび／または着用者の目の動きをトラッキングすることができる。ヘッドマウント・ディスプレーは、着用者が実世界を体験するであろうと同じやり方で着用者がバーチャル環境を体験するように、着用者が見ている方向に対応する３６０度のビデオの部分をレンダリングするためにトラッキング情報を使用することができる。レンダリングデバイスは、ビデオがキャプチャされたのと同じフレームレートで、または異なるフレームレートで、ビデオをレンダリングし得る。
【００４６】
[0069]３６０度のビデオをキャプチャするためのカメラセットは、様々な全方位カメラ、反射屈折（catadioptric）カメラ（レンズおよび局面鏡を使用するカメラ）、魚眼レンズを具備したカメラ、および／または、他の適したカメラを含むことができる。全方位カメラの１つの例は、Ｒｉｃｏｈ  Ｔｈｅｔａ−Ｓであり、それは、反対の方向に焦点が集まる（focus）２つの魚眼レンズを使用する。
【００４７】
[0070]反射屈折カメラおよび魚眼レンズを伴うカメラなどの、全方位カメラは、典型的に、かなりの量のひずみ（distortion）を伴って、画像をキャプチャする。図１Ａおよび図１Ｂは、広視野をキャプチャするために魚眼レンズを使用する全方位カメラによってキャプチャされたビデオフレームの例を例示する。図１Ａの例において、ビデオフレーム１００は、円周魚眼画像を含む。魚眼レンズは、例えば、１８０度またはそれより大きい、非常に広い角度（wide angle）をキャプチャする能力がある。従って、背中合わせに（back-to-back）配置されている、２つの魚眼レンズを具備したカメラは、３６０度の眺め（またはそれより多く）を共に提供する２つの画像をキャプチャし得る。非広角魚眼レンズは、約（on the order of）およそ４５からおよそ９０度までの視野（field of view）をキャプチャする。視野は、代替的にまたは追加的に、ラジアンで表される（expressed）ことができる。
【００４８】
[0071]広い角度をキャプチャするために、魚眼レンズは、シーンの画像をひずませる（distort）。図１Ａにおいて例示されるように、ビデオフレーム１００においてキャプチャされたシーンは、形状が円であり、その中心からこの円形領域のそれら外側エッジに（from the center to the outside edges of this circular region）ゆがませられる。カメラセンサは、長方形であるので、ビデオフレーム１００は、長方形であり、画像は、シーンの部分でない、本明細書において点刻（stippling）を使用して例示された、エリアを含む。これらの領域における画素は、これらの画素はシーンの部分ではないので、使用可能でないとみなされる。
【００４９】
[0072]図１Ｂの例は、フルフレームの魚眼画像を含むビデオフレーム１０２を含む。ビデオフレーム１０２のこのタイプにおいて、広角視野はまた、円形領域において、キャプチャされており、そのシーンは、円形領域にゆがませられている。この例において、シーンが長方形のフレームのエッジを占める（fill）ように、画像がスケーリングされている（例えば、大きくされている）。この例となるビデオフレーム１０２は、使用可能でないエリアを含まず、レンズによってキャプチャされることができるシーンのいくつかの部分は、切り取られて（cropped out）いたかまたはキャプチャされていない。
【００５０】
[0073]広視野をキャプチャするために魚眼画像を使用する３６０度のビデオは、他の形式に再マッピングされることができる。これらの他の形式は、３６０度のビデオを、記憶、送信、および／または、眺めるために使用されることができる。１つの例となる形式は、エクイレクタングラー形式である。図２は、エクイレクタングラービデオフレーム２００の例を例示する。この例となるエクイレクタングラービデオフレーム２００において、２つの魚眼画像２０２ａ、２０２ｂからの使用可能な画素（例えば、円形領域における画素）は、エクイレクタングラー形式にマッピングされていた。この例において、各魚眼画像２０２ａ、２０２ｂは、共に、２つの魚眼画像２０２ａ、２０２ｂが、場合によりいくつかの重複を有する（possibly with some overlap）３６０度の視野を網羅する（encompass）ように、１８０度のまたはそれよりも大きい視野を含む。
【００５１】
[0074]魚眼画像２０２ａ、２０２ｂからの画素をマッピングすることは、魚眼画像２０２ａ、２０２ｂにおいてキャプチャされたシーンをゆがませず（unwarping）、ビデオフレーム２００のエッジに対して画素を伸ばす（stretching）効果を有する。結果として生じるエクイレクタングラー画像は、ビデオフレーム２００の上部および下部において、伸ばされて現れ得る。周知のエクイレクタングラー投影は、メルカトル図法であり、それにおいて、地球の地理が、直交の緯度線および経度線を用いて、提示される。
【００５２】
[0075]様々なインプリメンテーションにおいて、魚眼画像２０２ａ、２０２ｂは、立方体、円柱、角錐、切頂角錐、または何らかの他の幾何学的形状によって、形成された面上に、など、他の形式にマッピングされることができる。これらの事例の各々において、魚眼画像２０２ａ、２０２ｂに存在するひずみは、補正されることができ、使用可能でない画素は、除去される（eliminated）ことができる。平面のデータはまた、記憶および／または送信のためにパッケージ化されることができ、３６０度のビデオを表示するために使用されることができる。
【００５３】
[0076]いくつかの事例において、中間形式は、例えば、３６０度のビデオデータを記憶および／または送信することに関して、あるいは、ビデオデータを別の形式に変換する（converting）ことに関して、役立ち（useful）得る。例えば、エクイレクタングラー表現は、図３において例示されるように、ビデオデータを表示するために、球形の形式（例えば、球形幾何学）にマッピングされることができる。
【００５４】
[0077]図３は、３６０度のビデオプレゼンテーションにおいて使用されているエクイレクタングラービデオフレーム３００の例を例示する。エクイレクタングラービデオフレーム３００は、球形幾何学上にマッピングされることができ、結果となる球形表現は、ヘッドマウント・ディスプレーまたは何らかの他の３６０度のビデオディスプレイデバイスを使用して、視聴者３２０に表示されることができる。他の例において、エクイレクタングラービデオフレーム３００は、立方体の、円柱の、角錐の、または何らかの他の幾何学的形状に、マッピングされることができ、ここで、幾何学的形状は、ビデオを表示するために３６０度のビデオディスプレイデバイスによって使用されることができる。
【００５５】
[0078]上記に述べたように、エクイレクタングラービデオフレーム３００は、伸ばされたおよび／または圧縮されたように見える上方領域および下方領域における画素を用いて、フル３６０度の視野をキャプチャすることができる。３６０度のビデオプレゼンテーションにおいて、エクイレクタングラービデオフレーム３００を使用するために、エクイレクタングラービデオフレーム３００における画素は、球形表現にマッピングされることができる。このマッピングは、エクイレクタングラービデオフレーム３００の上方領域および下方の領域を、球形表現の上部および下部（例えば、それぞれ、「北極」および「南極」）に向けて、拡大することの効果を有することができる。上方領域および下方領域を拡大することは、エクイレクタングラービデオフレーム３００において見えている（apparent）これらのエリアにおけるひずみを補正することができる。
【００５６】
[0079]エクイレクタングラービデオフレーム３００を球形表現にマッピングすることは、球形表現の中心の周り（例えば、赤道）でフレームの幅をゆがませる効果をさらに有することができる。エクイレクタングラービデオフレーム３００の左および右のエッジは、「縫い目（seam）」が何も現れないように、隣同士にマッピングされることができる。
【００５７】
[0080]一旦、エクイレクタングラービデオフレーム３００が球形表現にマッピングされると、球形表現は、表示されることができる。視聴者３２０は、ヘッドマウント・ディスプレーまたは別の３６０度のビデオディスプレイデバイスを使用して、球形表現内から球形表現を眺めることができる。多くの事例において、視聴者３２０は、視聴者の視点から、「地面（ground）」が、球形表現の最下部点（the bottom-most point）あるように、配置される。いくつかの事例において、球形表現の赤道は、視聴者の目の高さに（at the viewer’s eye level）配置される。様々なインプリメンテーションにおいて、球形表現は、視聴者の高さおよび／または位置（例えば、視聴者が、座っている、立っている、または何らかの他の位置にある）に適するように拡大されるかまたは縮小される（contracted）ことができる。
【００５８】
[0081]しかしながら、いくつかの事例において、エクイレクタングラー形式のような、中間形式は、必要ではない。様々なインプリメンテーションにおいて、エクイレクタングラー形状に最初にマッピングすることの代わりに、３６０度のビデオにおける魚眼画像は、表示されることができる表現に直接にマッピングされることができる。図４Ａおよび図４Ｂは、３６０度のビデオフレーム４００における魚眼画像が半球形表現４１０に直接にマッピングされている例を例示する。上記で議論されるように、図４Ａのビデオフレーム４００は、形状が長方形であり、ここで、長方形形状は、カメラの画像キャプチャセンサのサイズおよび形状に対応する。ビデオフレーム４００は、シーンをキャプチャする画素を含む円形領域４０２を含む。画素が何もキャプチャされなかった、ビデオフレーム４００の角４０４は、空白のままにされることができるか、または（例えば、０または２５５の画素値を有する）黒い画素を含むことができる。
【００５９】
[0082]円形領域４０２においてキャプチャされる画素は、ある特定の視野を含み、ここで、視野は、レンズおよび／またはカメラによって決定づけられる。例えば、円形領域４０２は、カメラのレンズ、（１つまたは複数の）鏡、および／またはセンサの構築（construction）に依存して、９０度の視野、１８０度の視野、２７０度の視野、または何らかの他の度の視野を含むことができる。視野は、代替的にまたは追加的に、ラジアンで表されることができる。視野をビデオフレーム４００の中に納める（fit）ために、画素は、線形または線形のやり方で、円形領域４０２にゆがませられる。
【００６０】
[0083]様々なインプリメンテーションにおいて、下記に説明される技法は、円形領域４０２における画素を半球形表現４１０にマッピングし、それの例は、図２Ｂにおいて例示される。半球形表現４１０は、次いで、３６０度のビデオディスプレイデバイスを使用して、ビデオフレーム４００を視聴者４２０に提示するために使用されることができる。半球形表現４１０は、（１８０度の眺めを表現する）球の半分であることができ、（例えば、ビデオフレーム４００が１８０度よりも少ない眺めをキャプチャするとき）球の半分より少なくあることができ、または（例えば、ビデオフレーム４００が１８０度の眺めよりも多くをキャプチャするとき）球の半分よりも多くあることができる。
【００６１】
[0084]様々なインプリメンテーションにおいて、ビデオフレーム４００の円形領域４０２を半球形表現４１０にマッピングすることは、円領域４０２における画素を半球形形状に伸ばすことの効果を有することができる。例えば、円形領域４０２の中心４１２は、中心４２２または半球形表現４１０の頂点に対応することができる。さらなる例として、円形領域４０２の最上部点（the top-most point）４１４ａは、球形表現４１０の最上部点４２４ａ（例えば、北の極）に対応することができ、円形領域４０２の最下部点４１４ｂは、半球形表現４１０の最下部点４２４ｂ（例えば、南の極）に対応することができる。同様に、円形領域４０２の極右４１４ｃおよび極左４１４ｄは、この例における半球形表現４１０の極右４２４ｃおよび目には見えない極左（not-visible far-left）４２４ｄにあるものに対応することができる。円形領域４０２のエッジと中心４１２との間における画素は、半球形表現４１０の表面にわたって、さらに均等に分布される（distributed）ことができる。
【００６２】
[0085]結果として生じる半球形表現４１０は、３６０度のビデオプレゼンテーションにおいて、平坦なビデオフレーム４００を提示するために使用されることができる。３６０度のビデオディスプレイデバイスを使用して、半球形表現４１０は、視聴者４２０が、彼が半球形表現４１０によってキャプチャされる画素によって表現されるシーンの内側にいるという印象を与えられるように、レンダリングされることができる。いくつかの事例において、半球形表現４１０の頂点（apex）は、視聴者の視野の中心にあるように向けられることができる。
【００６３】
[0086]様々なインプリメンテーションにおいて、追加の半球形表現は、視聴者４２０の後ろにあるであろう眺めに関して提供されることができる。例えば、上記に述べたように、カメラは、背中合わせに配置されている２つの魚眼レンズを具備することができる。カメラは、シーンの３６０度の眺め（またはそれより多く）を共に提供する２つの画像をキャプチャすることができる。そのような例において、カメラは、第２の魚眼画像をキャプチャすることができ（図示せず）、それは、図４において示される魚眼画像と同じフレーム４００に含まれることができ、または異なるフレームに含まれることができる。２つの魚眼画像は、視聴者４２０の真後ろにある別の半球形表現に直接にマッピングされることができる（図示せず）。２つの半球（half-spheres）は、全球（full sphere）を作り上げ（make up）、それらは、（１つまたは複数の）ビデオフレームによってキャプチャされたシーンのフル３６０度の眺めを提供するために、表示のためにレンダリングされることができる。
【００６４】
[0087]魚眼画像からディスプレイ形式に直接にマッピングすること、および中間形式をバイパスすることによって、３６０度のビデオを表示するために必要とされる処理の量、および処理を実行するために必要とされる時間は、減らされることができる。処理の必須要件（processing requirements）を減らすことはまた、携帯デバイスにおけるバッテリーの使用量を減らすという付加利益を有する。加えて、中間形式を避けることにおける時間の節約は、スポーツイベントの３６０度のライブブロードキャストのような、ライブストリーミングアプリケーションにおいて有益であり得る。フィッシング画像からディスプレイ形式に直接にマッピングすることからの他の見込まれる（possible）利益は、画像の質の改善および／または帯域幅の必須要件の減少である。例えば、中間形式を生成する際に起こり得る画素の伸ばしおよび／または外挿が、避けられ得る。この例において、外挿する画素データにおいて生成されたデータもまた、避けられることができる。代わりに、魚眼レンズの光学圧縮は、保たれる（preserved）。
【００６５】
[0088]キャプチャされたビデオからディスプレイ形式に直接にマッピングすることは、キャプチャされたビデオが魚眼レンズを使用するとき、場合により、より効率的に実行され得る。例えば、４つまたは６つのレンズを使用するカメラセットは、隣接したレンズ間の、大きな、重複するエリアをキャプチャし得る。この冗長データは、中間形式において取り除かれるが、中間マッピングなしでは、３６０度のビデオデータのサイズは、かなり大きくあり得る。対照的に、魚眼レンズを使用するカメラセットは、より少ないかまたはわずかしかない重複を有する画像を作り出すことができる。ビデオデータは、それ故、より小型であることができる。
【００６６】
[0089]３６０度のビデオにおける魚眼画像をディスプレイ形式に直接にマッピングするために、または中間形式にマッピングするために、マッピングを実行するコンピューティングデバイスは、魚眼画像についての情報を必要とする。そのような情報は、例えば、各魚眼画像においてキャプチャされた視野、ビデオフレーム内の魚眼画像のサイズおよび向き、および、さらに以下で議論されるような、他のパラメータを含むことができる。現在、３６０度のビデオにおいて魚眼画像を記述する（describes）情報は、全方位カメラから提供されないか、または標準外の（non-standard）やり方で提供される。加えて、各カメラは、３６０度の魚眼ビデオにおける使用可能な画素の位置が容易に想定される（assumed）ことができないように、異なって画像をキャプチャおよび記録し得る。
【００６７】
[0090]３６０度ビデオにおいて魚眼画像を記述するパラメータなしに、ソフトウェアアプリケーションは、魚眼データを中間形式に容易には変換することができない。ソフトウェアアプリケーションは、ビデオにおいて使用可能な画素と使用可能でない画素との間を区別することを試みることができるが、画像における半径のひずみ度および視野といった、情報を決定することは、非常に難しく、不正確になる傾向があり得る。魚眼画像を記述するパラメータを有さないソフトウェアは、それ故、低い表示品位（low visual quality）を有する再マッピングされたビデオフレームを作り出すことができる。
【００６８】
[0091]ビデオ変換（video conversion）の必須要件は、追加の課題を導入する（introduce）。例えば、ウェブサイトのような、ビデオ・コンテンツをホストするサービスは、しばしば、サービスのサーバにアップロードされた３６０度のビデオが、ある特定の中間形式（例えば、エクイレクタングラー形式、またはサービスによって指定された他の適した形式）に従ってフォーマットされることを必要とする。ビデオホスティングサービスは、キャプチャされたビデオから必要とされる中間形式への変換を提供しない可能性があり、その事例において、ビデオをアップローディングしている個人が、変換を実行することの責任を負う場合がある。
【００６９】
[0092]３６０度のビデオカメラは、カメラによって作り出されたビデオを他の形式に変換するための適したソフトウェアを搭載し（come with）得るが、しかしこのソフトウェアは、使用することが難しい可能性がある。カメラユーザは、ソフトウェアおよび任意の可能な設定（例えば、ビューモード、展開モード（unfold modes）、制御エリア、較正、等）を理解するために必要とされる技術的な知識を有さない可能性がある。実際に、カメラユーザは、掘り下げた（in-depth）技術的な知識を必要としない簡素なソフトウェア（例えば、押しボタン、または他の簡素なソフトウェア）を望む可能性がある。加えて、ソフトウェアは、キャプチャされたビデオの形式を記述する独占所有権のある（proprietary）、標準外のデータに依拠し得る。ソフトウェアは、それ故、他のタイプを有する複数のカメラからではなく、１つのタイプのカメラからのみ、ビデオデータを処理することができる。
【００７０】
[0093]様々なインプリメンテーションにおいて、魚眼３６０度のビデオ・コンテンツを記述する様々なパラメータが定義されることができる。これらのパラメータは、３６０度のビデオにおける魚眼画像を中間形式にマッピングするために、または３６０度のビデオにおける魚眼画像を直接にディスプレイ形式にマッピングするために、使用されることができる。
【００７１】
[0094]様々なインプリメンテーションにおいて、魚眼３６０度のビデオデータは、如何なる中間処理なしに、カメラから直接に符号化されることができる。様々なインプリメンテーションにおいて、ビデオキャプチャデバイスは、ビデオデータを用いて、パラメータ、それらはビデオデータにおける魚眼画像を記述する、を符号化することができる。ビデオディスプレイデバイス、または符号化されたデータを復号する何らかの他のデバイスは、３６０度の魚眼ビデオを中間形式またはディスプレイ形式にマッピングするためのパラメータを使用することができる。
【００７２】
[0095]いくつかのインプリメンテーションにおいて、魚眼ビデオのパラメータは、３６０度のビデオデータを記憶するファイルに符号化されることができる。例えば、ファイルは、ＩＳＯベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）規格を使用して、フォーマットされることができる。この例において、パラメータは、ファイルにおける１つまたは複数のデータ構造（ＩＳＯＢＭＦＦによって「ボックス」と呼ばれる）に含まれることができる。別の例として、パラメータは、付加拡張情報（ＳＥＩ）メッセージに含まれることができ、ビデオデータを含む符号化されたビットストリームに含まれることができる。別の例として、パラメータは、メディアプレゼンテーション記述（ＭＰＤ）ファイルにおける属性または要素に含まれることができ、それは、ＤＡＳＨ規格に従って、ビデオをストリーミングするために使用される。別の例として、パラメータは、セッション記述プロトコル（ＳＤＰ：Session Description Protocol）属性に含まれることができる。別の例として、パラメータは、ＭＰＥＧ−２トランスポートストリームにおいて記述子として含まれることができる。これらおよび他の例は、独立してまたは様々な組合せにおいて、使用されることができる。
【００７３】
[0096]上記の例のうちの１つまたは複数を使用して提供される魚眼ビデオのパラメータは、様々なアプリケーションに使用されることができる。例えば、ユーザが生成した３６０度のビデオは、サーバにアップロードされることができるか、または他のデバイスは、ＤＡＳＨまたは何らかの他の適応ストリーミング技術を使用して、ビデオを消費する（consume）ことができる。この例において、３６０度のビデオデータは、魚眼形式から、エクイレクタングラーまたは立方体マップ（cube map）形式のような、共通に使用される形式に、トランスコードされるかまたは変換されることができる。いくつかの事例において、ビデオ・コンテンツをホストするサーバは、再マッピングを実行するために魚眼ビデオのパラメータを使用することができる。いくつかの事例において、ビデオは、魚眼ビデオのパラメータを有するクライアントデバイスに、提供されることができ、クライアントデバイスは、再マッピングを実行することができる。この例において、パラメータは、例えば、ＩＳＯＢＭＦＦファイルにおいて、符号化されたビットストリームにおけるＳＥＩメッセージにおいて、ＤＡＳＨ  ＭＰＤにおいて、セッション記述において、ＭＰＥＧ−２トランスポートストリームにおいて、または何らかの他の適した形式において、符号化されることができる。
【００７４】
[0097]別の例となるアプリケーションは、Ｓｅｅ−Ｗｈａｔ−Ｉ−Ｓｅｅ（ＳＷＩＳ）タイプのビデオチャットまたは同様のアプリケーションである。このタイプのアプリケーションの例において、２つのユーザは、ライブビデオを使用して、話すことができ、１人のユーザは、リアルタイムに、そのユーザの環境を、もう一方のユーザに、３６０度のビデオを使用して、示すことができる。この例において、魚眼ビデオは、魚眼パラメータと一緒に、第１のユーザデバイスから第２のユーザデバイスに送信されることができる。第２のユーザのデバイスは、次いで、第２のユーザへの表示のための魚眼ビデオをレンダリングすることができる。この例において、ＲＴＰ／ＵＤＰ／ＩＰプロトコルスタックは、ビデオ送信に使用されることができ、それはなぜなら、ビデオ電話通信およびビデオ会議開催と同様に、送信の会話の性質（conversational nature of the transmission）は、低い端末間レイテンシ（low end-to-end latency）を必要とするからである。ＨＴＴＰ／ＴＣＰ／ＩＰプロトコルスタック、それは、ビデオをストリーミングするために使用されるであろうが、十分に低いレイテンシを有さない可能性がある。この例において、魚眼パラメータは、例えば、とりわけ、セッション記述において、符号化されることができる。
【００７５】
[0098]図５は、様々な魚眼パラメータの例を例示し、ここで、２つの魚眼レンズを有する全方位カメラによってキャプチャされるビデオフレーム５００を使用して、例示される。この例において、レンズは、反対の方向に面して、マウントされ、カメラは、両方のレンズからの画像を１つのビデオフレーム５００に同時に記録することができる。結果として、例となるビデオフレーム５００は、２つの円形領域５０２ａ、５０２ｂを含む。左手の円形領域５０２ａは、シーンのゆがんだ眺めを包含し、一方で、右手の円形領域５０２ｂは、同じシーンであるが、左手の円形領域５０２ａにおけるシーンから１８０度を向いているシーンを含む。他の例において、全方位カメラからのビデオフレームは、１つの魚眼画像を有し得、または、２つよりも多い魚眼画像を有し得る。
【００７６】
[0099]図５の例において、様々なパラメータは、ビデオフレーム５００においてキャプチャされた魚眼画像を記述することができる。例えば、パラメータは、ビデオフレーム５００が２つの魚眼画像を含むこと（あるいは１つまたは４つのまたはしかしながら多くの魚眼画像がビデオフレーム５００においてキャプチャされること）を規定する（provide）ことができる。別の例として、パラメータは、各魚眼画像の向きを記述することができる。例示された例において、両方の魚眼画像は、横倒しになっており（on their sides）、地面は、右手の画像における左に配置され、および左手の画像における左に配置される。
【００７７】
[0100]様々なインプリメンテーションにおいて、パラメータは魚眼画像のロケーションおよび幾何学を記述することができる。例えば、パラメータは、１つまたはもう一方または両方の円形領域５０２ａ、５０２ｂの中心の水平座標５１２を提供することができる。水平座標５１２は、ビデオフレーム５００の左または右のエッジに関して、提供されることができる。別の例として、パラメータは、１つまたはもう一方または両方の円形領域５０２ａ、５０２ｂの中心の垂直座標５１４を提供することができる。垂直座標５１４は、ビデオフレーム５００の上方または下方のエッジに対して、提供されることができる。水平５１２座標および垂直５１４座標は、ミリメートルまたは画素または何らかの他の測定単位で表されることができる。別の例として、パラメータは、円形領域５０２ａ、５０２ｂの直径５２０または半径を含むことができる。
【００７８】
[0101]様々なインプリメンテーションにおいて、パラメータはまた、ビデオフレーム５００の使用されていないエリア、つまり、円形領域５０２ａ、５０２ｂの外側のエリア、を記述することができる。例えば、垂直距離５１６は、ビデオフレーム５００の下方エッジ（および／または上方エッジ）と円形領域５０２ａ、５０２ｂとの間の距離を記述することができる。別の例として、水平距離５１８は、ビデオフレーム５００の右のエッジ（および／または左のエッジ）と円形領域５０２ａ、５０２ｂとの間の距離を記述することができる。水平５１６距離および垂直５１８距離は、ミリメートルまたは画素または何らかの他の測定単位で表されることができる。
【００７９】
[0102]様々なインプリメンテーションにおいて、パラメータはまた、画像をキャプチャするレンズについての情報を含むことができる。例えば、パラメータは、視野を含むことができる。視野は、レンズによってキャプチャされることができる実世界の部分である。視野は、度で表わされることができる。例えば、魚眼レンズは、１８０度またはそれよりも大きい（または少ない）視野を有することができる。例示された例において、視野は、左手５０２ａおよび右手５０２ｂの円形領域の両方に現れる要素５２４によって示されるように、１８０度よりも大きい。別の例として、パラメータは、魚眼のひずみがレンズの中心から外側エッジに対して線形であるか、または非線形であるかを含むことができる。ひずみが非線形である場合、パラメータは、非線形性に関して調整するスケーリング値を含むことができる。
【００８０】
[0103]様々なインプリメンテーションにおいて、パラメータはまた、カメラおよび／またはレンズのアーチファクト（artifacts）を記述する。例えば、例示された例において、カメラボディ５２２は、円形領域５０２ａ、５０２ｂの両方において目に見える（visible）。他の例において、カメラボディおよび／またはレンズボディの部分は、円形領域５０２ａ、５０２ｂの他の部分において目に見え得る。いくつかの例において、カメラボディおよび／またはレンズボディは、円形領域５０２ａ、５０２ｂの辺り一帯に目に見え得る。
【００８１】
[0104]様々な他のパラメータは、本明細書において例示されていない状況を記述することができる。例えば、パラメータは、一方のまたはもう一方の魚眼画像が、もう一方の魚眼画像に関して鏡映される（mirrored）か、または実世界に関して鏡映されるかを記述することができる。例えば、右手の魚眼画像は、上下方向に、左右方向に、または何らかの他の方向に、フリップされ得る。如何なるミラーリング（mirroring）を記述するパラメータは、左手の円形領域５０２ａおよび右手の円形領域５０２ｂのエッジ間での対応を決定するために使用されることができる。
【００８２】
[0105]ビデオフレーム５００をレンダリングするために役立ち得る様々な他のパラメータがまた、提供されることができる。例えば、パラメータは、回転度（例えば、勾配（pitch）、偏揺れ（yaw）、および／または横揺れ（roll））、および実世界におけるカメラのロケーションなどの、カメラ較正パラメータを含むことができる。
【００８３】
[0106]上記で議論されたパラメータのいくつかまたは全ては、ビデオフレーム５００をキャプチャしたカメラによって提供されることができる。例えば、カメラは、例えば、レンズの視野、および／またはおよびレンズが画像をゆがませるやり方を含む、魚眼画像をキャプチャするために使用されたレンズを記述する情報を有し得る。別の例として、カメラは、魚眼画像がビデオフレーム５００に書き込まれたやり方を記述する情報を有し得る。
【００８４】
[0107]いくつかの事例において、同じ視野、焦点距離、形状、および／または他の特性を有する、同じタイプのレンズは、これは、常に当てはまるわけではない可能性があるが、左手のおよび右手の魚眼画像の両方をキャプチャするために使用されていた。２つの魚眼画像が異なるとき、別個のパラメータは、各々に提供され得る。
【００８５】
[0108]図６Ａは、ビデオフレーム６００においてキャプチャされた魚眼画像を記述するために使用されることができる追加のパラメータの例を例示する。この例において、魚眼レンズによってキャプチャされることができる円形領域６０２は、ビデオフレーム６００内に十分には包含されない。これは、例えば、カメラがフルフレームの魚眼ビデオをキャプチャするように構成されるとき、起こり得、それはなぜなら、視野が画像センサより広いためであり、または何らかの他の理由のためである。
【００８６】
[0109]このおよび別の例において、魚眼画像を記述するパラメータは、全半径６２０、およびシーン半径６２４を含むことができる。全半径６２０は、円形領域６０２の中心６２６から円形領域６０２の外側エッジまでの距離を表す。別に述べると、全半径６２０は、レンズによってキャプチャされることができる領域を表す。フレーム半径６２２は、円形領域６０２の中心６２６からビデオフレーム６００の最も近いエッジまでの距離を表す。フレーム半径６２２は、それ故、ビデオフレーム６００において実際にキャプチャされた領域を表す。いくつかのインプリメンテーションにおいて、フレーム半径値は、ビデオフレーム６００の全ての４つのエッジのために提供されることができる。シーン半径６２４は、円形領域６０２の中心６２６から障害物のエッジまでの距離を表し、それは、この例において、カメラボディ６１６である。いくつかの事例において、魚眼レンズの視野は、画像にカメラそれ自体の部分をその中にキャプチャするのに十分に大きい。代替的または追加的に、カメラボディ６１６は、カメラボディに対するレンズの向きに起因して、画像において現れ得る。様々なインプリメンテーションにおいて、シーン半径６２４の値は、ビデオフレーム６００において現れる、カメラボディ６１６、または何らかの他の一貫した障害物、に対して対応する（accommodate）ことができる。シーン半径６２４は、魚眼画像が別の形式にマッピングされるとき、この障害物を無視するために使用されることができる。
【００８７】
[0110]図６Ｂは、画像６３０におけるカメラボディ６１６の存在を例示するために、魚眼画像６３０の下方部分の例を例示する。この例において、撮影された（photographed）手は、魚眼画像の最も下方のエッジに現れるはずであるが、その代わりに、カメラボディ６１６が、画像のこのエリアの障害物となる（obstructs）。
【００８８】
[0111]様々なインプリメンテーションにおいて、３６０度の魚眼ビデオは、魚眼画像を別の形式に再マッピングするための如何なる中間処理なしに、ファイルに直接にパックされる（packed）ことができる。これらのインプリメンテーションにおいて、魚眼画像を記述するパラメータは、ファイルに含まれることができる。
【００８９】
[0112]ファイル形式規格は、ビデオ（およびまた場合により音声）データを１つまたは複数のファイルにパッキング（packing）および解凍する（unpacking）ための形式を定義することができる。ファイル形式規格は、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマット（ＩＳＯ／ＩＥＣ１４４９６−１２において定義される、ＩＳＯＢＭＦＦ）、および（ＩＳＯ／ＩＥＣ１４４９６−１５において定義される）Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）ＭＰＥＧ−４ファイル形式、（３ＧＰＰ（登録商標）  ＴＳ２６．２４４において定義される）第３世代パートナーシッププロジェクト（３ＧＰＰ）ファイル形式、および（両方がＩＳＯ／ＩＥＣ１４４９６−１５において定義される）Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）ファイル形式およびＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）ファイル形式を含む、ＩＳＯＢＭＦＦから派生する他のファイル形式を含む。ＩＳＯ／ＩＥＣ１４４９６−１２および１４４９６−１５の最新のバージョンの草案文面は、それぞれ、http://phenix.int-evry.fr/mpeg/doc_end_user/documents/111_Geneva/wg11/w15177-v6-w15177.zipおよびhttp://phenix.int-evry.fr/mpeg/doc_end_user/documents/112_Warsaw/wg11/w15479-v2-w15479.zipにおいて、入手可能である。
【００９０】
[0113]ＩＳＯＢＭＦＦは、多くのコーデックカプセル化形式（例えば、ＡＶＣファイル形式または任意の他の適したコーデックカプセル化形式）の、ならびに、多くのマルチメディアコンテナ形式（例えば、ＭＰＥＧ−４ファイル形式、３ＧＰＰファイル形式（３ＧＰＰ）、デジタルビデオブロードキャスティング（ＤＶＢ）ファイル形式、または任意の他の適したマルチメディアコンテナ形式）の、基礎として使用される。ＩＳＯＢＭＦＦベースのファイル形式は、連続媒体に使用されることができ、それはまたストリーミングメディアとしても呼ばれる。
【００９１】
[0114]連続媒体（例えば、音声およびビデオ）に加えて、静的媒体（例えば、画像）およびメタデータは、ＩＳＯＢＭＦＦに適合するファイルにおいて記憶されることができる。ＩＳＯＢＭＦＦに従って構造化されたファイルは、受信されたリアルタイムメディアストリームを記録するための、または他の使途のための、ストリーミングされることになるコンテンツのためのコンテナ（containers）として（その場合、コンテナは、パケット化の命令を含む）、Ｄｙｎａｍｉｃ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ（ＤＡＳＨ）のためのセグメントとして、ローカルメディアファイルプレイバック、遠隔ファイルのプログレッシブダウンローディングを含む、多くの目的に使用され得る。
【００９２】
[0115]ＩＳＯＢＭＦＦおよびそれの派生したファイル形式（例えば、ＡＶＣファイル形式または他の派生したファイル形式）は、多くのマルチメディアアプリケーションにおける（例えば、ビデオ、音声、およびタイムドテキスト（timed text）を含む）メディア・コンテンツの記憶およびカプセル化に広く使用される。しかしながら、ＩＳＯＢＭＦＦおよびＩＳＯＢＭＦＦから派生したファイル形式は、バーチャル・リアリティ（ＶＲ）・コンテンツを記憶するための仕様を含まない。例えば、３６０度のビデオがＩＳＯＢＭＦＦまたは派生したファイル形式に基づいてファイルに記憶される場合、プレーヤーデバイスは、３６０度のビデオを従来の平面のビデオとして取り扱い得る（例えば、処理しようと試み得る）（例えば、プレーヤーデバイスは、３６０度のビデオを３６０度のコンテンツを含まないものとして取り扱い得る）。プレーヤーは、それ故、レンダリングの間、３６０度のビデオの必要な投影を適用しない場合があり、結果として、ビデオはひずませられて、場合によっては、表示されたときに視聴可能でなくなる。
【００９３】
[0116]様々なインプリメンテーションにおいて、ＩＳＯＢＭＦＦへの修正および／または追加は、ＩＳＯＢＭＦＦ、またはＩＳＯＢＭＦＦから派生した形式に従ってフォーマットされていたファイルが、バーチャル・リアリティ・コンテンツを含むことを示すことができる。例えば、いくつかのインプリメンテーションにおいて、ファイルは、ファイルレベルのインジケーションを含むことができ、それは、ファイルのコンテンツが、バーチャル・リアリティの使用事例またはインプリメンテーションにおける、使用のためにフォーマットされていることをシグナリングする（例えば、示す）。別の例として、いくつかのインプリメンテーションにおいて、ファイルは、ムービーレベルのインジケーションを含むことができ、それは、ファイルにおけるムービープレゼンテーションがバーチャル・リアリティ・コンテンツを含むことをシグナリングする（例えば、示す）。別の例として、いくつかのインプリメンテーションにおいて、ファイルは、トラックレベルのインジケーションを含むことができ、それは、トラックがバーチャル・リアリティ・コンテンツを含むことをシグナリングする（例えば、示す）。様々なインプリメンテーションにおいて、バーチャル・リアリティ・コンテンツに関連したパラメータはまた、ファイル、ムービー、および／またはトラックレベルにおいて、シグナリングされることができる。
【００９４】
[0117]これらおよび他のインプリメンテーションにおいて、プレーヤーデバイスは、いつファイルがバーチャル・リアリティ・コンテンツを含むかを認識することができる。いくつかの事例において、バーチャル・リアリティ・コンテンツを表示する能力がないプレーヤーデバイスは、バーチャル・リアリティ・メディアを無視および／またはスキップできる。
【００９５】
[0118]図７は、ＩＳＯＢＭＦＦに従ってフォーマットされた、ビデオプレゼンテーションのためのデータおよびメタデータを包含するＩＳＯベースメディアファイル７００の例を例示する。ＩＳＯＢＭＦＦは、メディアの、交換、管理、編集、プレゼンテーションを容易にするフレキシブルおよび拡張可能な形式においてタイムドメディア情報を包含するように設計されている。メディアのプレゼンテーションは、プレゼンテーションを包含するシステムに対して「局所的（local）」であり得るか、あるいはプレゼンテーションは、ネットワークまたは他のストリーム配信機構を介し得る。
【００９６】
[0119]ＩＳＯＢＭＦＦ仕様によって定義されるような、「プレゼンテーション（presentation）」は、しばしば、ビデオキャプチャデバイスによって連続してキャプチャされていることによって関連付けられるか、または何らかの他の理由のために関連付けられる、一連の（a sequence of）ピクチャである。本明細書において、プレゼンテーションはまた、ムービーまたはビデオプレゼンテーションと呼ばれ得る。プレゼンテーションは、音声を含み得る。単一のプレゼンテーションは、１つまたは複数のファイルに包含され得、１つのファイルは、完全なプレゼンテーションのためのメタデータを包含する。メタデータは、タイミングおよびフレーミングデータ、記述子、ポインタ、パラメータ、およびプレゼンテーションを記述する他の情報などの情報を含む。メタデータは、ビデオおよび／または音声データそれ自体を含まない。メタデータを包含するファイル以外のファイルは、ＩＳＯＢＭＦＦに従ってフォーマットされることを必要とせず、これらのファイルがメタデータによって参照されることができるようにフォーマットされることのみを必要とする。
【００９７】
[0120]ＩＳＯベースメディアファイルのファイル構造は、オブジェクト指向であり、ファイルにおける個々のオブジェクトの構造は、オブジェクトのタイプから直接推論される（inferred）ことができる。ＩＳＯベースメディアファイルにおけるオブジェクトは、ＩＳＯＢＭＦＦ仕様によって、「ボックス」と呼ばれ得る。ＩＳＯベースメディアファイルは、一連のボックスとして構造化され、それは、他のボックスを包含することができる。ボックスは、一般に、ボックスに関するサイズおよびタイプを提供するヘッダを含む。サイズは、そのボックス内に包含されるヘッダ、フィールド、全てのボックスを含む、ボックスの全体のサイズを表す。プレーヤーデバイスによって認識されないタイプを有するボックスは、典型的に、無視およびスキップされる。
【００９８】
[0121]図７の例によって例示されるように、ファイルの最高位において、ＩＳＯベースメディアファイル７００は、ファイルタイプボックス７１０、ムービーボックス７２０、および１つまたは複数のムービーフラグメント７３０ａ、７３０ｎを含むことができる。このレベルに含まれることができるがこの例においては表現されていない他のボックスは、とりわけ、空き領域ボックス、メタデータボックス、およびメディアデータボックスを含む。
【００９９】
[0122]ＩＳＯベースメディアファイルは、ボックスタイプ「ftyp」によって識別された、ファイルタイプボックス７１０を含むことができる。ファイルタイプボックス７１０は、ファイルをパーシングするために最も適したＩＳＯＢＭＦＦ仕様を識別する。この例における「最も（most）」は、ＩＳＯベースメディアファイル７００が、特定のＩＳＯＢＭＦＦの仕様に従って、フォーマットされていた可能性があるが、おそらく、その仕様の他の反復と互換性がありそうであることを意味する。この最も適した仕様は、主要ブランド（major brand）と呼ばれる。プレーヤーデバイスは、デバイスがファイルのコンテンツを復号および表示する能力があるかどうかを決定するために、主要ブランドを使用することができる。ファイルタイプボックス７１０はまた、バージョン番号を含むことができ、それは、ＩＳＯＢＭＦＦ仕様のバージョンを示すために使用されることができる。ファイルタイプボックス７１０はまた、互換性のあるブランドのリストを含むことができ、それは、ファイルがそれと互換性のある他のブランドのリストを含む。ＩＳＯベースメディアファイルは、１つよりも多い主要ブランドと互換性があり得る。
【０１００】
[0123]ＩＳＯベースメディアファイル７００がファイルタイプボックス７１０を含むとき、１つのファイルタイプボックスのみがある。ＩＳＯベースメディアファイル７００は、より古いプレーヤーデバイスとの互換性をもたせるためにファイルタイプボックス７１０を省き（omit）得る。ＩＳＯベースメディアファイル７００がファイルタイプボックス７１０を含まないとき、プレーヤーデバイスは、デフォルトの主要ブランド（例えば、「ｍｐ４１」）、マイナーバージョン（例えば、「０」）、および互換性のあるブランド（例えば、「ｍｐ４１」）を想定することができる。ファイルタイプボックス７１０は、典型的に、ＩＳＯベースメディアファイル７００において、できるだけ早く配置される。
【０１０１】
[0124]ＩＳＯベースメディアファイルは、ムービーボックス７２０をさらに含むことができ、それは、プレゼンテーションのためのメタデータを包含する。ムービーボックス７２０は、ボックスタイプ「moov」によって、識別される。ＩＳＯ／ＩＥＣ１４４９６−１２は、プレゼンテーションが、１つのファイルに含まれようと、または複数のファイルに含まれようと、１つのムービーボックス７２０のみを含むことができることを提供する。頻繁に、ムービーボックス７２０は、ＩＳＯベースメディアファイルの始めの近くにある。ムービーボックス７２０は、ムービーヘッダボックス７２２を含み、１つまたは複数トラックボックス７２４ならびに他のボックスを含むことができる。
【０１０２】
[0125]ボックスタイプ「mvhd」によって識別される、ムービーヘッダボックス７２２は、全体として、メディア独立であり、プレゼンテーションに関連する情報を含むことができる。例えば、ムービーヘッダボックス７２２は、とりわけ、作成時間、修正時間、時間尺度、および／またはプレゼンテーションの持続時間などの情報を含むことができる。ムービーヘッダボックス７２２はまた、プレゼンテーションにおける次のトラックを識別する識別子を含むことができる。例えば、識別子は、例示された例におけるムービーボックス７２０によって含まれるトラックボックス７２４を指し示すことができる。
【０１０３】
[0126]ボックスタイプ「trak」によって識別される、トラックボックス７２４は、プレゼンテーションのためのトラックに関する情報を包含することができる。プレゼンテーションは、１つまたは複数のトラックを含むことができ、ここで、各トラックは、プレゼンテーションにおいて他のトラックから独立している。各トラックは、トラックにおけるコンテンツに特有の時間的および空間的な情報を含むことができ、各トラックは、メディアボックスに関連付けられることができる。トラックにおけるデータは、メディアデータであることができ、その場合、トラックは、メディアトラックである、またはデータは、ストリーミングプロトコルのためのパケット化情報であることでき、その場合、トラックは、ヒントトラックである。メディアデータは、例えば、ビデオおよび音声データを含む。例示された例において、例となるトラックボックス７２４は、トラックヘッダボックス７２４ａおよびメディアボックス７２４ｂを含む。トラックボックスは、トラック参照ボックス、トラックグループボックス、編集ボックス、ユーザデータボックス、メタボックス、およびその他などの、他のボックスを含むことができる。
【０１０４】
[0127]ボックスタイプ「tkhd」によって識別される、トラックヘッダボックス７２４ａは、トラックボックス７２４において包含されるトラックの特性を特定することができる。例えば、トラックヘッダボックス７２４ａは、とりわけ、作成時間、修正時間、持続時間、トラック識別子、レイヤ識別子、グループ識別子、ボリューム、幅、および／またはトラックの高さを含むことができる。メディアラックに関して、トラックヘッダボックス７２４ａは、とりわけ、トラックがイネーブルされるかどうか、トラックがプレゼンテーションの部分として再生されるべきかどうか、またはトラックがプレゼンテーションをプレビューするために使用されることができるかどうか、をさらに特定することができる。トラックのプレゼンテーションは、概して、プレゼンテーションの始めにあるように想定される。トラックボックス７２４は、明示的なタイプラインマップを含むことができる、本明細書に例示されていない、編集リストボックスを含むことができる。タイプラインマップは、とりわけ、トラックに関するオフセットタイム、を特定することができ、ここで、オフセットは、トラックに関して、プレゼンテーションの始めの後に、開始時間を示す。
【０１０５】
[0128]例示された例において、トラックボックス７２４はまた、ボックスタイプ「mdia」によって識別される、メディアボックス７２４ｂを含む。メディアボックス７２４ｂは、トラックにおけるメディアデータについてのオブジェクトおよび情報を包含することができる。例えば、メディアボックス７２４ｂは、ハンドラー参照ボックスを包含することができ、それは、トラックのメディアタイプおよびトラックにおけるメディアがそれによって提示されるプロセスを識別することができる。別の例として、メディアボックス７２４ｂは、メディア情報ボックスを包含することができ、それは、トラックにおけるメディアの特性を特定することができる。メディア情報ボックスは、サンプルの表をさらに含むことができ、ここで、各サンプルは、例えば、サンプルに関するデータのロケーションを含む、メディアデータ（例えば、ビデオまたは音声データ）の塊（chunk）を記述する。サンプルに関するデータは、下記でさらに議論される、メディアデータボックスに記憶される。大部分の他のボックスと同様に、メディアボックス７２４ｂはまた、メディアヘッダボックスを含むことができる。
【０１０６】
[0129]例示された例において、例となるＩＳＯベースメディアファイル７００はまた、プレゼンテーションの複数のフラグメント７３０ａ、７３０ｂ、７３０ｃ、７３０ｎを含む。フラグメント７３０ａ、７３０ｂ、７３０ｃ、７３０ｎは、ＩＳＯＢＭＦＦボックスではないが、むしろムービーフラグメントボックス７３２およびムービーフラグメントボックス７３２によって言及されるメディアデータボックス７３８を記述する。ムービーフラグメントボックス７３２およびメディアデータボックス７３８は、最高位ボックスであるが、本明細書において、ムービーフラグメントボックス７３２とメディアデータボックス７３８との間の関係を示すためにグループ化される。
【０１０７】
[0130]ボックスタイプ「moof」によって識別される、ムービーフラグメントボックス７３２は、さもなければムービーボックス７２０において記憶されるであろう追加の情報を含むことによって、プレゼンテーションを拡張することができる。ムービーフラグメントボックス７３２を使用して、プレゼンテーションは、増分的に（incrementally）ビルドされる（built）ことができる。ムービーフラグメントボックス７３２は、ムービーフラグメントヘッダボックス７３４およびトラックフラグメントボックス７３６、ならびに本明細書において例示されていない他のボックスを含むことができる。
【０１０８】
[0131]ボックスタイプ「mfhd」によって識別される、ムービーフラグメントヘッダボックス７３４は、シーケンス番号を含むことができる。プレーヤーデバイスは、フラグメント７３０ａがプレゼンテーションのためのデータの次の一片を含むことを検証する（verify）ためにシーケンス番号を使用することができる。いくつかの事例において、ファイルのコンテンツ、またはプレゼンテーションのためのファイルは、ばらばらの順序で（out of order）プレーヤーデバイス提供されることができる。例えば、ネットワークパケットは、パケットが当初送信された順序以外の順序において頻繁に到着することができる。これらの事例において、シーケンス番号は、フラグメントに関する正確な順序を決定する際に、プレーヤーデバイスを支援する（assist）ことができる。
【０１０９】
[0132]ムービーフラグメントボックス７３２はまた、ボックスタイプ「traf」によって識別された、１つまたは複数のトラックフラグメントボックス７３６を含むことができる。ムービーフラグメントボックス７３２は、トラックにつきゼロまたはそれより多くの、トラックフラグメントのセットを含むことができる。トラックフラグメントは、ゼロまたはそれより多くのトラックの走行（runs）を包含することができ、それらの各々は、トラックに関するサンプルの連続的な走行を記述する。トラックフラグメントは、トラックへサンプルを追加することに加えて、空の時間をトラックに追加するために使用されることができる。
【０１１０】
[0133]ボックスタイプ「mdat」によって識別されるメディアデータボックス７３８は、メディアデータを包含する。ビデオトラックにおいて、メディアデータボックス７３８は、ビデオフレームを包含するだろう。メディアデータボックスは、音声データを代替的または追加的に含む。プレゼンテーションは、１つまたは複数の個々のファイルにおいて包含される、ゼロまたはそれより多くのメディアデータボックスを含むことができる。メディアデータは、メタデータによって記述される。例示された例において、メディアデータボックス７３８におけるメディアデータは、トラックフラグメントボックス７３６において含まれるメタデータによって記述されることができる。他の例において、メディアデータボックスにおけるメディアデータは、ムービーボックス７２０におけるメタデータによって記述されることができる。メタデータは、メディアデータボックス７３８内のメディアデータヘッダおよび／または空き領域がスキップされることができるように、ファイル７００内の絶対オフセットによる（by）特定のメディアデータを指し得る。
【０１１１】
[0134]ＩＳＯベースメディアファイル７００における他のフラグメント７３０ｂ、７３０ｃ、７３０ｎは、第１のフラグメント７３０ａに関して例示されているようなものと同様のボックスを包含することができる、および／または他のボックスを包含することができる。
【０１１２】
[0135]ＴＩＳＯＢＭＦＦは、メディアのローカルプレイバックをサポートすることに加えて、ネットワーク上でメディアデータをストリーミングするためのサポートを含む。１つのムービープレゼンテーションを含む１つまたは複数のファイルは、ヒントトラック（hint tracks）と呼ばれる、追加のトラック、を含むことができ、それらは、パケットとして１つまたは複数のファイルを形成して送信する際のストリーミングサーバを支援することができる命令を包含する。これらの命令は、例えば、サーバが送るためデータ（例えば、ヘッダ情報）またはメディアデータのセグメントへの参照を含むことができる。ファイルは、異なるストリーミングプロトコルに関して別個のヒントトラックを含むことができる。ヒントトラックはまた、ファイルを再フォーマットする必要なくファイルに追加されることができる。
【０１１３】
[0136]メディアデータをストリーミングするための１つの方法は、Ｄｙｎａｍｉｃ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）、または（ＩＳＯ／ＩＥＣ２３００９−１：２０１４において定義された）ＤＡＳＨである。ＤＡＳＨは、それは、ＭＰＥＧ−ＤＡＳＨとしてもまた知られるが、従来のＨＴＴＰウェブサーバを使用してメディア・コンテンツの高品質ストリーミングを可能にするアダプティブビットレートストリーミング（adaptive bitrate streaming）技法である。ＤＡＳＨは、メディア・コンテンツを一連の小さいＨＴＴＰベースのファイルセグメントに分割することによって動作し、ここで、各セグメントは、そのコンテンツの短い時間間隔を包含する。ＤＡＳＨを使用して、サーバは、異なるビットレートにおいてメディア・コンテンツを提供することができる。メディアを再生しているクライアントデバイスは、次のセグメントをダウンロードするとき、代替的なビットレートの中から選択することができ、それ故、ネットワーク状態を変えることに適合することができる。ＤＡＳＨは、ワールドワイドウェブ上でコンテンツを配信するために、インターネットのＨＴＴＰウェブサーバインフラストラクチャを使用する。ＤＡＳＨは、メディア・コンテンツを符号化および復号することに使用されるコーデックから独立であり、それ故、とりわけ、Ｈ．２６４およびＨＥＶＣなどのコーデックを用いて、動作する。
【０１１４】
[0137]ＩＳＯＢＭＦＦ仕様は、ＤＡＳＨを用いた使用のための６つのタイプのＳｔｒｅａｍ  Ａｃｃｅｓｓ  Ｐｏｉｎｔｓ（ＳＡＰ）を特定する。最初の２つのＳＡＰタイプ（タイプ１および２）は、Ｈ．２６４／ＡＶＣおよびＨＥＶＣにおける瞬時復号リフレッシュ（ＩＤＲ：instantaneous decoding refresh）ピクチャに対応する。例えば、ＩＤＲピクチャは、デコーダにおいて復号プロセスを完全に更新するかまたは、再初期化し、および新しいコーディングされたビデオシーケンスを開始するイントラピクチャ（Ｉ−ピクチャ）である。いくつかの例において、ＩＤＲピクチャおよび復号順序においてＩＤＲピクチャに続くあらゆるピクチャは、復号順序においてＩＤＲピクチャの前に来るいずれのピクチャにも依存することはできない。
【０１１５】
[0138]第３のＳＡＰタイプ（タイプ３）は、オープン−ＧＯＰ（ピクチャのグループ）ランダムアクセスポイントに対応し、それ故に、ＨＥＶＣにおけるブロークンリンクアクセス（ＢＬＡ：broken link access）またはクリーンランダムアクセス（ＣＲＡ：clean random access）ピクチャに対応する。例えば、ＣＲＡピクチャはまた、Ｉ−ピクチャである。ＣＲＡピクチャは、ＣＲＡピクチャの先導するピクチャが復号順序においてＣＲＡピクチャの前に来るピクチャに依存することを可能にして、デコーダを更新しない可能性があり、および新しいＣＶＳを開始しない可能性がある。ランダムアクセスは、ＣＲＡピクチャ、復号順序においてＣＲＡピクチャの前に来るいずれのピクチャにも依存しないＣＲＡピクチャと関連付けられた先導するピクチャ、および復号および出力順序の両方においてＣＲＡに続く全てのアソシエートされたピクチャ、を復号することによってＣＲＡピクチャにおいてなされ得る。いくつかの事例において、ＣＲＡピクチャは、アソシエートされた先導するピクチャを有さない可能性がある。いくつかの実施形態において、マルチレイヤの事例において、０よりも大きいレイヤＩＤを有するレイヤに属するＩＤＲまたはＣＲＡピクチャは、Ｐ−ピクチャまたはＢ−ピクチャであり得るが、これらのピクチャは、ＩＤＲまたはＣＲＡピクチャと同じアクセセスユニットに属し、かつＩＤＲまたはＣＲＡピクチャを包含するレイヤよりも小さいレイヤＩＤを有する他のピクチャからのインターレイヤ予測のみを使用する。
【０１１６】
[0139]第４のＳＡＰタイプ（タイプ４）は、漸次復号リフレッシュ（ＧＤＲ：gradual decoding refresh）ランダムアクセスポイントに対応する。
【０１１７】
[0140]ＩＳＯＢＭＦＦは、フレキシブルおよび拡張可能（extensible）であり、またメディアの様々なタイプを記憶および送信するために広く使用される一方で、バーチャル・リアリティ・ビデオを記憶するための、または、バーチャル・リアリティ・コンテンツを含むものとして、ＩＳＯベースメディアファイルのコンテンツを識別するための、機構を含まない。プレーヤーデバイスは、それ故、ファイルのコンテンツが、バーチャル・リアリティまたは３６０度のビデオを含むことを決定することができない可能性がある。バーチャル・リアリティ・コンテンツを表示する能力がないプレーヤーデバイスは、とにかくコンテンツを表示することを試み得、ひずんだプレゼンテーションをもたらす。
【０１１８】
[0141]様々なインプリメンテーションにおいて、ＩＳＯＢＭＦＦおよび／またはＩＳＯＢＭＦＦから派生したファイル形式は、バーチャル・リアリティ・コンテンツが識別されることができるように、修正されることができ、および／または拡張されることができる。これらのインフォメーションは、ボックス、ブランド価値（brand values）、ボックスにおいてリザーブされたビット、および／または各々がバーチャル・リアリティ・コンテンツを独立してまたは組み合わせて識別することができる他のインジケータを伴うことができる。
【０１１９】
[0142]様々なインプリメンテーションにおいて、３６０度のビデオにおいて魚眼画像を記述するパラメータは、ＩＳＯＢＭＦＦファイルに含まれることができる。例えば、パラメータは、ファイルレベルに、ムービーレベルにおいて、および／またはトラックレベルにおいて含まれることができる。いくつかのインプリメンテーションにおいて、パラメータは、後方互換性のあるやり方でＩＳＯＢＭＦＦファイルに含まれることができる。このコンテキストにおける「後方互換性がある（backwards-compatible）」は、３６０度のビデオをサポートしない、または魚眼画像をディスプレイ形式にレンダリングすることをサポートしないビデオディスプレイデバイスが、３６０度のビデオを提示することおよびひずんだ結果を提供することを試みることの代わりに、未だにパーシングすることおよびビデオにおいていくつかのバーションを再生ができることを意味する。
【０１２０】
[0143]図８Ａおよび図８Ｂは、ＩＳＯベースメディアファイル８００における最高位のボックスが、そのファイル８００が、バーチャル・リアリティ・コンテンツを含むことを示すために使用される例を例示する。様々なインプリメンテーションにおいて、最高位のボックスを使用することは、ファイル８００におけるコンテンツの全てが、バーチャル・リアリティ・コンテンツであることを示す。ファイル８００は、ファイルタイプボックス８１０を含むことができ、それは、ファイル８００がそれと互換性のあるＩＳＯＢＭＦＦの派生物（derivations）またはＩＳＯＢＭＦＦの特定の反復または（１つまたは複数の）ブランドを特定することができる。ファイル８００はまた、ムービーボックス８２０を含むことができ、それは、プレゼンテーションのためのメタデータを包含することができる。ファイル８００はまた、上記で議論されたように、１つまたは複数フラグメント８３０ａ、８３０ｂ、８３０ｃ、８３０ｎを随意的に含むことができる。
【０１２１】
[0144]図８Ａの例において、ファイルタイプボックス８１０は、ファイル８００がバーチャル・リアリティ・コンテンツを含むことを示すために使用されることができる。ファイルタイプボックス８１０は、例えば、ファイルがバーチャル・リアリティのブランドと互換性があることを示すブランド価値を特定するために、使用されることができる。様々なインプリメンテーションにおいて、ファイルタイプボックス８１０においてリストされる互換性のあるブランドはまた、随意的なブランドインジケータを提供するために使用されることができ、それは、バーチャル・リアリティに関連したパラメータを提供するために使用されることができる。例えば、１つの互換性のあるブランド価値がバーチャル・リアリティ・コンテンツが２次元（２−Ｄ）であることを示すことができる一方で、他の互換性のあるブランド価値は、バーチャル・リアリティ・コンテンツが３次元（３−Ｄ）であることを示すことができる。別の例として、互換性のあるブランド価値が、マッピングタイプ、つまり、バーチャル・リアリティまたは３６０度のビデオの球形表現がエクイレクタングラー、立方体、または角錐形式、あるいはファイル８００における記憶のための何らかの他の形式にマッピングされていたかどうか、を示すために使用されることができる。様々なインプリメンテーションにおいて、次元性および／またはビデオのマッピングのような情報は、ファイルタイプボックス８１０における随意的なフィールドを使用して、代替的または追加的に示されることができる。
【０１２２】
[0145]図８Ｂの例において、新しいボックスタイプ８６０は、定義されていた。新しいボックスタイプ８６０は、ファイルタイプボックス８１０と同様に、最高位のボックスである。ファイルにおける新しいボックスタイプ８６０の存在、および／または新しいボックスタイプ８６０におけるインジケータは、ファイル８００がバーチャル・リアリティ・コンテンツを含むことを示すために使用されることができる。例えば、新しいボックスタイプ８６０は、バーチャル・リアリティと互換性のあるブランド価値（a virtual reality-compatible brand value）を特定することができ、および／または互換性のあるブランドリストにおいてバーチャル・リアリティ・コンテンツと互換性のあるブランド価値を含む。新しいボックスタイプ８６０は、例えば、３６０度のビデオが魚眼画像を含むとき、バーチャル・リアリティ・コンテンツが２−Ｄの３６０度のビデオであるか、または３−Ｄの３６０度のビデオであるか、ファイル８００に記憶された３６０度のビデオデータに関するマッピング、および／または魚眼パラメータを示すことができる随意的なパラメータをさらに含むことができる。新しいボックスタイプ８６０を特定することは、図８Ａの例におけるように、ファイルタイプボックス８１０を修正することの必要性を避けることができる。新しいボックスタイプ８６０を認識することができないプレーヤーデバイスは、それを無視し得る。
【０１２３】
[0146]ファイルの最高位に関して定義されたファイルタイプボックス８１０または新しいボックスタイプ８６０が、ファイル８００がバーチャル・リアリティ・コンテンツを含むことを示すために使用されるとき、いくつかのインプリメンテーションにおいて、ファイル８００はまた、バーチャル・リアリティ・コンテンツの存在をシグナリングするためにファイル８００における他のボックスの中にインジケータを含むことが必要でない場合がある。
【０１２４】
[0147]図９は、ムービーレベルのインジケーションが、ファイル９００がバーチャル・リアリティ・コンテンツを含むことを示すために、ＩＳＯベースメディアファイル９００において使用される例を例示する。ファイル９００は、ファイルタイプボックス９１０を含むことができ、それは、ファイル９００がそれと互換性のあるＩＳＯＢＭＦＦの派生物またはＩＳＯＢＭＦＦの特定の反復または（１つまたは複数の）ブランドを特定することができる。ファイル９００はまた、ムービーボックス９２０を含むことができ、それは、プレゼンテーションのためのメタデータを包含することができる。ファイル９００はまた、上記で議論されたように、１つまたは複数フラグメント９３０ａ、９３０ｂ、９３０ｃ、９３０ｎを随意的に含むことができる。
【０１２５】
[0148]上記で議論されるように、ムービーボックス９２０は、ムービーヘッダボックス９２２および随意的に１つまたは複数トラックボックス９２４を含むことができる。図９の例において、ムービーヘッダボックス９２２は、ムービーボックス９２０によって記述されるムービーまたはプレゼンテーションは、バーチャル・リアリティ・コンテンツを含むことを示すために使用される。例えば、ムービーヘッダボックス９２２におけるリザーブされたビットは、１つの値に設定されたとき、ムービー・コンテンツは、バーチャル・リアリティまたは３６０度のビデオであること、および、ムービーが３６０度のビデオであり得るかまたはそうでない可能性があるとき、他の値に設定されることができること、を示すことができる。１つの例示的な例において、リザーブされたビットのうちの１つがインジケーションを運ぶために使用される場合、１に等しいビットは、コンテンツが３６０度のビデオ・コンテンツであることを示し、および０に等しいビットは、コンテンツが３６０度のビデオ・コンテンツであり得るかまたはそうでない可能性があることを示すことを示す。リザーブされたビットを処理するように構成されていないプレーヤーデバイスは、これらのビットを無視し得る。
【０１２６】
[0149]他のフィールドおよび／またはムービーヘッダボックス９２２においてリザーブされたビットは、バーチャル・リアリティ・コンテンツに関連する随意的なパラメータを提供するために使用されることができる。例えば、ムービーヘッダボックス９２２は、バーチャル・リアリティ・コンテンツが２−Ｄの３６０度のビデオであるか、または３−Ｄの３６０度のビデオであるかを示すパラメータを含むことができる。
【０１２７】
[0150]別の例として、ムービーヘッダボックス９２２は、３６０度のビデオ・コンテンツが、事前にステッチされるか（pre-stitched）または後にステッチされる（post-stitched）かを示すパラメータを含むことができる。「事前にステッチされる」は、３６０度のビデオプレゼンテーションのためにキャプチャされた異なる眺めがファイル９００において記憶される前に単一表現にアセンブルされたことを意味し、「後にステッチされる」は、異なる眺めがファイル９００において個別に記憶されており、デコーダデバイスによって単一表現にアセンブルされることを意味する。
【０１２８】
[0151]事前にステッチされる３６０度のビデオは、形状が球形として、典型的に表現され、記憶のためにより便利な（convenient）別の形状（例えば、エクイレクタングラー、立方体マッピングされた、角錐マッピングされた、または何らかの他の形状）にマッピングされる。使用されるマッピングタイプを示すパラメータは、例えば、リザーブされたビットを使用して、ムービーヘッダボックス９２２においてシグナリングされることができるパラメータの別の例である。例えば、１つのリザーブされたビットは、各マッピングタイプインジケーションを運ぶために使用されることができる。様々なインプリメンテーションにおいて、プレーヤーデバイスは、複数のマッピングタイプをサポートすることができる。これらのインプリメンテーションにおいて、ムービーヘッダボックス９２２は、個々のトラックごとに、および／またはトラックのグループに関して、マッピングタイプを含むことができる。
【０１２９】
[0152]ムービーヘッダボックス９２２が、ムービーボックス９２０において記憶されるムービープレゼンテーションが３６０度のビデオを含むことを示すために使用されるとき、様々なインプリメンテーションにおいて、ムービーボックス９２０における他のボックスはまた、３６０度のビデオが存在することをシグナリングする必要がない場合がある。
【０１３０】
[0153]図１０は、トラックレベルインジケータが、ファイル１０００がバーチャル・リアリティ・コンテンツを含むことを示すために、ＩＳＯベースメディアファイル１０００において使用される例を例示する。ファイル１０００は、ファイルタイプボックス１０１０を含むことができ、それは、ファイル１０００がそれと互換性のあるＩＳＯＢＭＦＦの派生物またはＩＳＯＢＭＦＦの特定の反復または（１つまたは複数の）ブランドを特定することができる。ファイル１０００はまた、ムービーボックス１０２０を含むことができ、それは、プレゼンテーションのためのメタデータを包含することができる。ファイル１０００はまた、上記で説明されるように、１つまたは複数フラグメント１０３０ａ、１０３０ｂ、１０３０ｃ、１０３０ｎを随意的に含むことができる。
【０１３１】
[0154]ムービーボックス１０２０は、ムービーヘッダボックス１０２２および１つまたは複数トラックボックス１０２４、ならびに本明細書において例示されていない他のボックスを含むことができる。ムービーヘッダボックス１０２２は、全体として、プレゼンテーションを記述する情報を含むことができる。トラックボックス１０２４は、プレゼンテーションにおいてトラックに関する情報を含むことができる。トラックボックス１０２４は、トラックヘッダボックス１０２４ａおよびゼロまたはそれより多くのメディアデータボックス１０２４ｂを含むことができる。
【０１３２】
[0155]図１０の例において、特定のトラックボックス１０２４のためのトラックヘッダボックス１０２４ａは、トラックボックス１０２４によって説明されるトラックは、バーチャル・リアリティ・トラックであることを示すために使用され、トラックによって言及されるサンプルは、バーチャル・リアリティ・データを含むことを意味する。トラックにおけるバーチャル・リアリティ・コンテンツは、例えば、トラックヘッダボックス１０２４ａにおいてリザーブされたビットを使用して、示されることができる。例えば、特定のリザーブされたビットが１つの値に設定されているとき、トラックは、バーチャル・リアリティ・コンテンツを含み、ビットが他の値に設定されているとき、トラックは、バーチャル・リアリティ・コンテンツを含み得るかまたは含まない可能性がある。１つの例示的な例において、リザーブされたビットのうちの１つがインジケーションを運ぶために使用される場合、１に等しいビットは、コンテンツがバーチャル・リアリティ・コンテンツであることを示し、および０に等しいビットは、コンテンツが、バーチャル・リアリティ・コンテンツであり得るかまたはそうでない可能性があるかを示す。いくつかのインプリメンテーションにおいて、トラックヘッダボックス１０２４ａにおけるバーチャル・リアリティ・コンテンツのシグナリングは、ムービーヘッダボックス１０２２においてシグナリングされるものに依存し得る。例えば、ムービーヘッダボックス１１２２が、ムービーがバーチャル・リアリティ・コンテンツを含まないことを示すとき、トラックがバーチャル・リアリティ・データを包含するというトラックヘッダボックス１０２４ａにおけるいずれのインジケーションも、無視されることができる。
【０１３３】
[0156]様々なインプリメンテーションにおいて、他のバーチャル・リアリティ関連のパラメータはまた、トラックヘッダボックス１０２４ａにおいてシグナリングされることができる。例えば、リザーブされたビットまたは何らかの他の変数は、バーチャル・リアリティまたはトラックにおける３６０度のビデオが事前にステッチされるかまたは後にステッチされるかを示すために使用されることができる。トラックにおけるビデオが、事前にステッチされるとき、追加のパラメータは、（例えば、視点（a point of view）および／または視野角（viewing angle）に関して）カメラ位置のような、情報を提供することができる。トラックにおけるビデオが後にステッチされるとき、追加のパラメータは、ファイル１０００においてデータを記憶するために使用される表現（例えば、エクイレクタングラー、立体マップ、角錐マップ、または何らかの他の形状）と球形ビデオ表現との間にマッピングタイプを提供することができる。様々なインプリメンテーションにおいて、３６０度のビデオデータにおいて魚眼画像を記述する、魚眼パラメータはまた、トラックヘッダボックス１０２４ａにおいて記憶されることができる。
【０１３４】
[0157]トラックボックス１０２４のためのトラックヘッダボックス１０２４ａが、トラックがバーチャル・リアリティ・コンテンツを含むことをシグナリングするために使用されるとき、いくつかのインプリメンテーションにおいて、トラックボックス１０２４における他のボックスは、トラックにおけるバーチャル・リアリティ・コンテンツの存在をまた（also）シグナリングする必要がない可能性がある。
【０１３５】
[0158]様々なインプリメンテーションにおいて、ＩＳＯベースメディアファイルにおけるトラックがバーチャル・リアリティ・コンテンツを含むとき、バーチャル・リアリティ・コンテンツをプレーヤーデバイスにシグナリングするために様々な追加的または代替的なアプローチが使用されることができる。図１１は、ＩＳＯベースメディアファイル１１００の１つの例を例示し、ここで、ハンドラーボックス１１２４ｃは、トラックのコンテンツが、バーチャル・リアリティ・コンテンツを含むことをシグナリングするために使用される。ファイル１１００は、ファイルタイプボックス１１１０を含むことができ、それは、ファイル１１００がそれと互換性のあるＩＳＯＢＭＦＦの派生物またはＩＳＯＢＭＦＦの特定の反復または（１つまたは複数の）ブランドを特定することができる。ファイル１１００はまた、ムービーボックス１１２０を含むことができ、それは、プレゼンテーションのためのメタデータを包含することができる。ファイル１１００はまた、上記で説明されるように、１つまたは複数フラグメント１１３０ａ、１１３０ｂ、１１３０ｃ、１１３０ｎを随意的に含むことができる。
【０１３６】
[0159]ムービーボックス１１２０は、ムービーヘッダボックス１１２２および１つまたは複数トラックボックス１１２４、ならびに本明細書において例示されていない他のボックスを含むことができる。ムービーヘッダボックス１１２２は、全体として、プレゼンテーションを記述する情報を含むことができる。トラックボックス１１２４は、プレゼンテーションにおいてトラックに関する情報を含むことができる。トラックボックス１１２４は、トラックヘッダボックス１１２４ａおよびゼロまたはそれより多くのメディアデータボックス１１２４ｂを含むことができる。
【０１３７】
[0160]メディアデータボックス１１２４ｂは、他のボックスの中でも、ハンドラーボックス１１２４ｃを含むことができる。ハンドラーボックス１１２４ｃ、それは、ハンドラー参照ボックスとして呼ばれ得るが、トラックのメディアタイプを示すことができる。トラックのメディアタイプは、トラックにおけるメディアデータがそれにより提示されるプロセスを定義する。メディアタイプの例は、とりわけ、ビデオおよび音声を含む。メディアが提示されるやり方は、メディアのための形式を含むことができる。例えば、プレーヤーデバイスがトラックにおけるビデオデータを配信するために使用する形式（例えば、縦横比、解像度、フレームレート、等）は、ビデオトラックにおいて記憶されることができ、ハンドラーボックス１１２４ｃのビデオハンドラーバージョンによって識別されることができる。いくつかの事例において、ファイル１１００は、いずれのタイプのメタデータストリームのための一般的なハンドラーを含むことができる。これらの事例において、ビデオ・コンテンツの特定の形式は、コンテンツを記述するサンプルエントリーによって識別されることができる。
【０１３８】
[0161]いくつかの事例において、メディアデータボックス１１２４ｂは、ハンドラーボックス１１２４ｃを含むことができる。ハンドラーボックス１１２４ｃは、トラックボックス１１２４によって説明されるトラックがバーチャル・リアリティ・データを含むことを示すために使用されることができる。例えば、トラックがビデオデータを記述するとき、ハンドラーボックス１１２４ｃは、具体的にはビデオハンドラーボックスであることができ、それは、ボックスタイプ「vide」によって識別されることができる。
【０１３９】
[0162]様々なインプリメンテーションにおいて、ハンドラーボックス１１２４ｃは、メディアデータボックス１１２４ｂによって参照されるメディア・コンテンツがバーチャル・リアリティ・コンテンツを含むことを示すために、使用されることができる。例えば、ハンドラーボックス１１２４ｃは、トラックにおいて包含されるビデオ・コンテンツがバーチャル・リアリティまたは３６０度のビデオである（例えば、リザーブされたビットまたは新しい変数における）随意的なインジケータを含むことができる。随意的なインジケータを読み込むように構成されていないビデオプレーヤーは、それを無視し得る。
【０１４０】
[0163]いくつかのインプリメンテーションにおいて、ビデオハンドラーボックスはまた、バーチャル・リアリティまたは３６０度のビデオが２−Ｄであるかまたは３−Ｄであるか、３６０度のビデオが事前にステッチされるかまたは後にステッチされるか、３６０度のビデオに関するマッピング、および／または３６０度のビデオが魚眼画像を含むときの魚眼パラメータなどの、バーチャル・リアリティ・コンテンツを記述するパラメータを随意的に含むことができる。様々なインプリメンテーションにおいて、バーチャル・リアリティ・コンテンツに関連したパラメータは、トラックボックス１０２４において発見されることができる様々な他のボックスにおいて示されることができる。例えば、パラメータは、トラックヘッダボックス１１２４ａにおいてシグナリングすることができる。代替的または追加的に、パラメータは、（ボックスタイプ「mdhd」によって識別される）メディアヘッダボックスにおいて、および／または、（ボックスタイプ「vmhd」によって識別される）ビデオメディアヘッダボックスにおいて、シグナリングされることができるが、それらは本明細書には、例示されていない。代替的または追加的に、パラメータは、サンプルエントリーにおいて、および／またはトラックボックス１１２４の最高位に置かれることができる新しく定義されたボックスにおいて、示されることができる。
【０１４１】
[0164]図１２は、トラックがバーチャル・リアリティ・コンテンツを含むことを示すために新しいハンドラーボックス１２２４ｄが定義されていたＩＳＯベースメディアファイル１２００の例を例示する。ファイル１２００は、ファイルタイプボックス１２１０を含むことができ、それは、ファイル１２００がそれと互換性のあるＩＳＯＢＭＦＦの派生物またはＩＳＯＢＭＦＦの特定の反復または（１つまたは複数の）ブランドを特定することができる。ファイル１２００はまた、ムービーボックス１２２０を含むことができ、それは、プレゼンテーションのためのメタデータを包含することができる。ファイル１２００はまた、上記で説明されるように、１つまたは複数フラグメント１２３０ａ、１２３０ｂ、１２３０ｃ、１２３０ｎを随意的に含むことができる。
【０１４２】
[0165]ムービーボックス１２２０は、ムービーヘッダボックス１２２２および１つまたは複数トラックボックス１２２４、ならびに本明細書において例示されていない他のボックスを含むことができる。ムービーヘッダボックス１２２２は、全体として、プレゼンテーションを記述する情報を含むことができる。トラックボックス１２２４は、プレゼンテーションにおけるトラックに関する情報を含むことができる。トラックボックス１２２４は、トラックヘッダボックス１２２４ａおよびゼロまたはそれより多くのメディアデータボックス１２２４ｂを含むことができる。
【０１４３】
[0166]上記で議論されるように、いくつかの事例において、メディアデータボックス１２２４ｂは、ハンドラーボックス１２２４ｄを含むことができ、それは、メディアデータボックス１２２４ｂによって記述されるメディア・コンテンツを提示するための形式を記述することができる。図１２の例において、新しいハンドラーボックス１２２４ｄは、定義されており、それは、バーチャル・リアリティまたは３６０度のビデオデータに特有である。新しいハンドラーボックス１２２４ｄは、例えば、ボックスタイプ「vrvd」によって、識別されることができる。この例において、バーチャル・リアリティ・コンテンツと互換性のないビデオプレーヤーは、新しいハンドラーボックス１２２４ｄを識別することができず、それ故、新しいハンドラーボックス１２２４ｄを無視し得、およびトラックボックス１２２４によって言及されるいかなるコンテンツもスキップし得る。バーチャル・リアリティ・コンテンツは、それ故、バーチャル・リアリティ・ビデオを表示するように構成されていないプレーヤーによってレンダリングおよび表示されない。
【０１４４】
[0167]いくつかのインプリメンテーションにおいて、新しいハンドラーボックスは、随意に、バーチャル・リアリティまたは３６０度のビデオが２−Ｄであるかまたは３−Ｄであるか、３６０度のビデオが事前にステッチされるかまたは後にステッチされるか、３６０度のビデオに関するマッピング、および／または魚眼パラメータなどの、バーチャル・リアリティ・コンテンツを記述するパラメータを含むことができる。様々なインプリメンテーションにおいて、バーチャル・リアリティ・コンテンツに関連したパラメータは、トラックボックス１２２４において発見されることができる様々な他のボックスにおいて示されることができる。例えば、パラメータは、トラックヘッダボックス１２２４ａにおいてシグナリングすることができる。代替的または追加的に、パラメータは、（ボックスタイプ「mdhd」によって識別される）メディアヘッダボックスにおいて、および／または、（ボックスタイプ「vmhd」によって識別される）ビデオメディアヘッダボックスにおいて、シグナリングされることができるが、それらは本明細書には、例示されていない。代替的または追加的に、パラメータは、サンプルエントリーにおいて、および／またはトラックボックス１２２４の最高位に置かれることができる新しく定義されたボックスにおいて、示されることができる。
【０１４５】
[0168]図１３は、ＩＳＯベースメディアファイルに含まれることができるメディアボックス１３４０の例を例示する。上記で議論されるように、メディアボックスは、トラックボックスに含まれることができ、トラックにおいてメディアデータを記述するオブジェクトおよび情報を包含することができる。例示された例において、メディアボックス１３４０はメディア情報ボックス１３４２を含む。メディアボックス１３４０はまた、他のボックスを含むことができるが、それは、ここで例示されていない。
【０１４６】
[0169]メディア情報ボックス１３４２は、トラックにおけるメディアについての特性情報を記述するオブジェクトを包含することができる。例えば、メディア情報ボックス１３４２は、データ情報ボックスを含むことができ、それは、トラックにおけるメディア情報のロケーションを記述する。別の例として、メディア情報ボックス１３４２は、トラックがビデオデータを含むとき、ビデオメディアヘッダを含むことができる。ビデオメディアヘッダは、ビデオメディアのコーディングから独立した一般的なプレゼンテーション情報を包含することができる。メディア情報ボックス１３４２はまた、トラックが音声データを含むとき、サウンドメディアヘッダを含むことができる。
【０１４７】
[0170]メディア情報ボックス１３４２はまた、例示された例において提供されるような、サンプルテーブルボックス１３４４を含むことができる。ボックスタイプ「stbl」によって識別される、サンプルテーブルボックス１３４４は、トラックにおけるメディアサンプルに関するロケーション（例えば、ファイルを伴うロケーション）、ならびにサンプルに関する時間情報を提供することができる。サンプルテーブルボックス１３４４によって提供される情報を使用して、プレーヤーデバイスは、とりわけ、正しい時間順序にサンプルを位置づける（locate）こと、サンプルのタイプを決定すること、および／またはコンテナ内の、サンプルのオフセット、コンテナ、およびサイズを決定することができる。
【０１４８】
[0171]サンプルテーブルボックス１３４４は、ボックスタイプ「stsd」によって識別される、サンプル記述ボックス１３４６、を含むことができる。サンプル記述ボックス１３４６は、例えば、サンプルに使用されるコーディングタイプ、およびそのコーディングタイプに必要とされるいずれの初期化情報についての詳細な情報を提供することができる。サンプル記述ボックスにおいて記憶された情報は、サンプルを含むトラックのタイプに特有であることができる。例えば、１つの形式は、トラックがビデオトラックであるとき、サンプル記述のために使用され得、トラックがヒントトラックであるとき、異なる形式が使用され得る。さらなる例として、サンプル記述のための形式はまた、ヒントトラックの形式に依存して、異なり得る。
【０１４９】
[0172]サンプル記述ボックス１３４６は、１つまたは複数サンプルエントリー１３４８ａ、１３４８ｂ、１３４８ｃを含むことができる。サンプルエントリータイプは、抽象型クラスであり、それ故、典型的に、サンプル記述ボックスは、他の例の中でも、ビデオデータのための視覚のサンプルエントリーまたは音声サンプルのための音声サンプルエントリーのような、特定のサンプルエントリーボックスを含む。サンプルエントリーボックスは、特定のサンプルに関するパラメータを記憶することができる。例えば、ビデオサンプルに関して、サンプルエントリーボックスは、とりわけ、ビデオサンプルに関する、幅、高さ、水平解像度、垂直解像度、フレームカウント（frame count）、および／または奥行きを含むことができる。別の例として、音声サンプルに関して、サンプルエントリーは、とりわけ、チャネルカウント、チャネルレイアウト、および／またはサンプルレートを含むことができる。
【０１５０】
[0173]例示された例において、第１のサンプルエントリー１３４８ａは、制限されたスキーム情報ボックス１３６０を含む。ボックスタイプ「rinf」によって識別される、制限されたスキーム情報ボックスは、スキームのパラメータおよびサンプルに適用される制限されたスキームを理解するために両方に必要とされる情報を包含することができる。いくつかの事例において、ファイルの著者は、プレーヤーデバイスからのある特定のアクションを必要とし得る。これらの事例において、ファイルは、制限されたスキーム情報ボックスを含むことができ、それは、プレーヤーデバイスが、ファイルのメディア・コンテンツをレンダリングするための必須要件を決定するために、場所を見つける（locate）ことができおよび使用することができる。コンテンツをレンダリングすることができない可能性があるプレーヤーはまた、それらがコンテンツをレンダリングすることができないこと、それ故、コンテンツを処理することを試みるべきではないことを決定するために、制限されたスキーム情報ボックスを使用することができる。制限されたスキーム情報ボックスは、典型的に、オリジナルのサンプルエントリータイプ、つまり、制限されたスキーム情報ボックスによって記述されるいずれの変換の前のサンプルエントリーのタイプを含む。
【０１５１】
[0174]様々なインプリメンテーションにおいて、制限されたスキームは、バーチャル・リアリティ・コンテンツに関して定義されることができる。これらのインプリメンテーションにおいて、制限されたスキーム情報ボックス１３６０は、バーチャル・リアリティ・データを含むサンプルエントリー１３４８ａに追加されることができる。制限されたスキームのタイプは、ボックスタイプ「schm」によって識別される、スキームタイプボックス１３６２において特定されることができる。例えば、「vrvd」に対応する符号化は、バーチャル・リアリティ・コンテンツに関する制限されたスキームを識別するために使用されることができる。
【０１５２】
[0175]例示された例における制限されたスキーム情報ボックス１３６０は、ボックスタイプ「schi」によって識別される、スキーム情報ボックス１３６４を含む。スキーム情報ボックス１３６４は、特定のスキームのため情報を記憶することができる。例えば、制限されたスキームがバーチャル・リアリティ・コンテンツに関するとき、スキーム情報ボックス１３６４は、バーチャル・リアリティ・コンテンツに関するパラメータを含むことができる。これらのパラメータは、例えば、バーチャル・リアリティまたは３６０度のビデオが２−Ｄであるかまたは３−Ｄであるか、３６０度のビデオが事前にステッチされるかまたは後にステッチされるか、３６０度のビデオに関するマッピング、および／または３６０度のビデオが魚眼画像を含むときの魚眼パラメータ、を含むことができる。様々なインプリメンテーションにおいて、スキーム情報ボックスは、バーチャル・リアリティ・コンテンツに関して、特にバーチャル・リアリティ・コンテンツに関するパラメータを包含することに関して、定義されることができる。
【０１５３】
[0176]図１３において例示される技法を使用して、新しいボックスな何も、レガシープレーヤーデバイスによって理解されない可能性があるＩＳＯＢＭＦＦ仕様に追加される必要がない。新しいボックスを用いてさえも、レガシープレーヤーデバイスは、デバイスが識別できないコンテンツを再生することを試み得、このコンテンツがバーチャル・リアリティ・メディアであるとき、結果は、ひずんだプレゼンテーションであり得る。新しいボックスを加えることを避けることにおいて、ファイルは、バーチャル・リアリティ・コンテンツに関して生成されることができ、ここで、ファイルは、恐らくレガシープレーヤーデバイスが識別できるボックスのみを含む。レガシープレーヤーデバイスは、デバイスが、制限されたスキーム情報ボックス１３６４によって記述される制限されたスキームをインプリメントすることができないこと、それ故、バーチャル・リアリティ・コンテンツを表示することを試みないことをさらに決定することができる。
【０１５４】
[0177]技法は、バーチャル・リアリティ・コンテンツをレンダリングする能力があるレガシープレーヤーおよびプレーヤーの両方にフレキシビリティを追加的に提供する。レガシープレーヤーは、例えば、プレーヤーが制限されたスキーム情報ボックスによって識別されるバーチャル・リアリティ・スキームを理解するかどうかを決定することができる。プレーヤーデバイスが制限されたスキームに適合することができないとき、プレーヤーデバイスは、トラックにおけるコンテンツを全くレンダリングしないことを選び得るか、またはオリジナルの、変換されていないサンプルを代わりに処理し得る。制限されたスキーム機構は、それ故、プレーヤーデバイスが、ビットストリームをレンダリングするための必須要件を決定するためにファイルを調査（inspect）することを可能にすることができ、レガシープレーヤーデバイスがそのデバイスが処理する能力がない可能性があるファイルを復号およびレンダリングすることを止めることができる。
【０１５５】
[0178]様々なインプリメンテーションにおいて、バーチャル・リアリティ・コンテンツは、ビデオビットストリームにおける付加拡張情報（ＳＥＩ）メッセージに追加的または代替的に含まれることができる。ＳＥＩメッセージは、それ故、ビットストリームがバーチャル・リアリティ・コンテンツを含むことを示すことができる。様々なインプリメンテーションにおいて、ＳＥＩメッセージは、ファイルのレベルにおいて、ムービーレベルにおいて、および／またはトラックレベルにおいて、バーチャル・リアリティ・コンテンツを示すことができる。様々なインプリメンテーションにおいて、ＳＥＩメッセージはまた、３６０度のビデオのプロパティ（例えば、ビデオが２−Ｄであるかまたは３−Ｄであるか、事前にステッチされるかまたは後にステッチされるか、魚眼パラメータ、等）を記述するパラメータを含むことができる。
【０１５６】
[0179]上記に説明された技術のうちの１つまたは複数を使用して、魚眼パラメータは、後方互換性のあるやり方でＩＳＯＢＭＦＦファイルに含まれることができる。例えば、後方互換性は、次のステップを使用して、達成されることができる。
【０１５７】
[0180]−ジェネリックサンプルエントリー‘resv’は、サンプルエントリーの４文字コード（４ＣＣ）を取り換えるために使用される。
【０１５８】
[0181]−制限されたスキームＩｎｆｏボックスは、サンプル記述に加えられ、全ての他のボックスを修正のないままにする。
【０１５９】
[0182]−オリジナルのサンプルエントリータイプは、制限されたスキームＩｎｆｏボックスにおいて包含されるオリジナルの形式ボックス内に記憶される。
【０１６０】
[0183]−新しいボックスは、３６０度のビデオメタデータ情報を包含するために定義され、およびこの新しいボックスは、制限されたスキームＩｎｆｏボックスにおいて含まれる。
【０１６１】
[0184]−バーチャル・リアリティ・スキームタイプが定義され、それは、SchemeTypeBoxに含まれる。
【０１６２】
[0185]−３６０度のビデオメタデータは、SchemeInformationBoxにおいて記憶される（例えば、ＶＲビデオボックスと呼ばれる）新しいボックスに含まれる。
【０１６３】
[0186]ＩＳＯＢＭＦＦファイルにおいてバーチャル・リアリティまたは３６０度のビデオ情報を提供するための定義、シンタックス、およびセマンティクスが下記に提供される。以下のセクションは、ＩＳＯＢＭＦＦ仕様のセクション８．１５への修正として、起草される（drafted）。このセクションへ追加されることになるテキストは、下線が引かれているテキスト（追加のテキストの例）として示される。
【０１６４】
[0187]バーチャル・リアリティ・ビデオ情報ボックスの定義、シンタックス、およびセマンティクスは、以下の通りである。
【０１６５】
[0188]定義
[0189]ボックスタイプ：‘vrvd’
[0190]コンテナ：スキーム情報ボックス（‘schi’）
[0191]必須か（Mandatory）Ｍ：はい（Yes）（スキームタイプが‘vrvd’であるとき）
[0192]量：１
[0193]ＶＲビデオボックスは、トラックに包含されるビデオがＶＲビデオであることを示すために使用される。ＶＲビデオボックスは、スキームタイプが‘vrvd’であるとき、存在するものとする。
【０１６６】
[0194]シンタックス
【０１６７】
【表１】
2019517212.tif 000003
【０１６８】
[0195]セマンティクス
[0196]vr_mapping_typeは、球形ビデオから長方形形式へのマッピングタイプを示す整数である。ゼロ値は、エクイレクタングラーマップを示す。１の値は、立方体マップを示す。２の値は、どの投影マップも使用されず、各コーディングされたビデオピクチャが、魚眼カメラレンズによって各々がキャプチャされた、複数の（通常は２つの）円形画像を包含する魚眼ビデオピクチャであることを示し、形式は、FisheyeVideoInfoBoxによって記述される。他の値は、リザーブされる。
【０１６９】
[0197]紹介された魚眼ビデオ情報ボックス（Fisheye Video Information box）の定義、シンタックス、およびセマンティクスは、以下の通りである（例えば、ＩＳＯＢＭＦＦ仕様のセクション８．１５への追加）：
[0198]定義
[0199]ボックスタイプ：‘fevi’
[0200]コンテナ：スキーム情報ボックス（‘vrvd’）
[0201]必須か：はい（vr_mapping_typeが２に等しいとき）
[0202]量：１
[0203]魚眼ビデオ情報ボックスは、トラックにおいて含まれる魚眼ＶＲビデオの形式を示すために使用される。形式情報は、魚眼ＶＲビデオをレンダリングする際に使用されることができる。このボックスは、コンテナ‘vrvd'ボックスのvr_mapping_typeが２に等しいとき、存在するものとする。
【０１７０】
[0204]シンタックス
【０１７１】
【表２】
2019517212.tif 000004
【０１７２】
[0205]セマンティクス
[0206]num_circular_imagesは、このボックスが適用される各サンプルのコーディングされたピクチャにおける円形画像の数を示す。典型的に、値は、２に等しいが、他の非ゼロの値がまた、可能である。
【０１７３】
[0207]image_center_xは、このボックスが適用される各サンプルのコーディングされたピクチャにおける円形画像の中心の、ルマサンプル（luma samples）における、水平座標を示す固定少数点１６．１６の値である。
【０１７４】
[0208]image_center_yは、このボックスが適用される各サンプルのコーディングされたピクチャにおける円形画像の中心の、ルマサンプルにおける、垂直座標を示す固定少数点１６．１６の値である。
【０１７５】
[0209]full_radiusは、円形画像の中心からの完全球形の（full round）画像のエッジまでの、ルマサンプルにおける、半径を示す固定少数点１６．１６の値である。［全半径、フレーム半径、およびシーン半径を示す例については図４を参照］。全半径は、万が一円形画像が完全には円形でなく、実際には楕円形（elliptical）である場合に備えて、水平および垂直半径の両方として定義され得る。円形画像が切り取られる場合、この値は、理論上は切り取られていない全半径として、それでもなお定義される。
【０１７６】
[0210]frame_radiusは、円形画像の中心からの画像の境界の最も近いエッジまでの、ルマサンプルにおける、半径を示す固定少数点１６．１６の値である。円周魚眼画像は、カメラフレームによって切り取られ得、それ故、この値は、円の半径を示し、ここにおいて、画素は、使用可能である。
【０１７７】
[0211]scene_radiusは、カメラボディそれ自体からの障害物はないことが保証される画像における円形画像の中心からエリアの最も近いエッジまでの、ルマサンプルにおける、半径を示す固定小数点の１６．１６の値である。
【０１７８】
[0212]image_rotationは、円形画像の、度における、回転量を示す固定少数点１６．１６の値である。異なるビデオカメラ製造業者は、キャプチャされた個々の魚眼画像ごとに異なる座標系（coordinate systems）またはレイアウトを選び得る。画像は、画像＋／−９０度、または＋／−１８０度、あるいは任意の他の値だけ回転され得る。
【０１７９】
[0213]image_flipは、画像がフリップされていたか、そしてそれ故、反転フリッピング動作が適用されることが必要とされるかどうか、およびどのように画像がフリップされていたか、そしてそれ故、どのように反転フリッピング動作が適用されることが必要とされるかを示す。０の値は、画像がフリップされていなかったことを示す。１の値は、画像が垂直にフリップされていたことを示す。２の値は、画像が水平にフリップされていたことを示す。３の値は、画像が垂直にと水平にの両方でフリップされていたことを示す。
【０１８０】
[0214]image_scale_axis_angle、image_scale_x、およびimage_scale_yは、画像が軸に沿ってスケーリングされていたか、およびどのように画像が軸に沿ってスケーリングされていたかを示す３つの固定少数点１６．１６の値である。軸は、度において、image_scale_axis_angleの値によって示されるように、単一の角度によって定義される。０度の角度は、水平ベクトルが完全に水平であること、および垂直ベクトルが完全に垂直であることを意味する。image_scale_xおよびimage_scale_yの値は、軸に対して、それぞれ、平行である方向および直交である方向におけるスケーリング比を示す。
【０１８１】
[0215]field_of_viewは、度において、魚眼レンズの視野を示す固定少数点１６．１６の値である。半球形魚眼レンズのための典型的な値は、１８０．０度である。
【０１８２】
[0216]num_compression_curve_piontsは、次の、compression_curve_xとcompression_curve_yとのペアを示す整数である。
【０１８３】
[0217]compression_curve_xおよびcompression_curve_yのペアのリストは、キャプチャされた球のシーンの部分に対する円形画像のジオメトリック（幾何学的）圧縮曲線を表す固定少数点１６．１６の値である。compression_curve_xの値のアレイは、画像の中心の０．０から画像境界リムの１．０までに及ぶ半径長の正規化された値を表す。compression_curve_yの値のアレイは、カメラビュー方向（camera view direction）からの、度における、角度を表す。１８０度の視野を有する魚眼レンズに関して、正規化された軸に沿った度の範囲は、画像の中心における０．０から、画像の境界リムにおける９０．０度までである。
【０１８４】
[0218]num_deadzonesは、このボックスが適用される各サンプルのコーディングされたピクチャにおけるデッドゾーンの数を示す整数である。
【０１８５】
[0219]deadzone_left_horizontal_offset、deadzone_top_vertical_offset、deadzone_widthおよびdeadzone_heightは、画素が使用可能でないデッドゾーン長方形エリアの位置およびサイズを示す整数値である。deadzone_left_horizontal_offsetおよびdeadzone_top_vertical_offsetは、コーディングされたピクチャのデッドゾーンの左上角の、ルマサンプルにおいて、それぞれ、水平および垂直座標を示す。deadzone_widthおよびdeadzone_heightは、デッドゾーンの、ルマサンプルにおける、それぞれ、幅および高さを示す。ビデオを表現するためにビットを節約するために、デッドゾーン内の全ての画素は、同じ画素値、例えば、全て黒、に設定されるべきである。
【０１８６】
[0220]様々なインプリメンテーションにおいて、魚眼画像を有する３６０度のビデオに関する魚眼パラメータは、代替的または追加的に、付加拡張情報（ＳＥＩ）メッセージにおいて提供されることができる。ＳＥＩメッセージは、ビデオについての情報を提供するためにビデオビットストリームにおいて使用されるネットワーク抽象化レイヤ（ＮＡＬ）ユニットの一タイプである。ＳＥＩメッセージは、例えば、復号されたビデオ信号のユーザビリティを拡張し得るが、ビデオピクチャにおけるサンプルの値を復号するために必要ではないタイミング情報および他の補足データを提供することができる。
【０１８７】
[0221]図１４は、ビットストリームの部分であることができるアクセスユニット１４００（ＡＵ）の例を例示する。さらに下記に議論されるように、ビットストリームは、一連のアクセスユニットを含むことができる。各アクセスユニットを復号することは、結果として、１つの復号されたピクチャをもたらす。本明細書において例示される例となるアクセスユニット１４００のような、アクセスユニットは、Ｈ．２６４／ＡＶＣおよびＨ．２６５／ＨＥＶＣ規格において含まれる。
【０１８８】
[0222]図１４の例において例示される、アクセスユニット１４００は、ＮＡＬユニットのセットを含むことができ、それらは、一緒に、プライマリにコーディングされたピクチャを構成する。アクセスユニット１４００は、随意的なＮＡＬユニットを含むことができ、それは、点線において本明細書において例示される。アクセスユニット１４００は、アクセスユニットデリミタ（delimiter）１４０２を用いて随意的に開始することができる。アクセスユニットデリミタは、アクセスユニットの開始の場所を示すことを支援することができる。アクセスユニット１４００はまた、プライマリにコーディングされたピクチャ１４０６に先行する付加拡張情報１４０４を随意的に含むことができる。ＳＥＩは、ピクチャタイミング情報のような、データを包含することができる。プライマリにコーディングされたピクチャ１４０６は、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットを含むことができる。ＶＣＬ  ＮＡＬユニットは、ビデオピクチャのサンプルを表すスライスまたはスライスデータ区分を含む。プライマリにコーディングされたピクチャ１４０６に続くのは、冗長コーディングされたピクチャ１４０８を包含するいくつかの追加のＶＣＬ  ＮＡＬユニットであり得る。冗長コーディングされたピクチャ１４０８は、同じビデオピクチャのエリアの冗長表現を含むことができ、プライマリにコーディングされたピクチャ１４０６においてデータの損失または破損から復元する際にデコーダによる使用のために利用可能である。デコーダは、冗長コーディングされたピクチャを、それらが存在しない場合は、復号するために必要とされない。
【０１８９】
[0223]プライマリにコーディングされたピクチャ１４０６がコーディングされたビデオシーケンスの最後のピクチャであるとき、アクセスユニット１４００は、シーケンスの終わりを示すためにシーケンスの終わり１４１０ＮＡＬユニットを含むことができる。プライマリにコーディングされたピクチャ１４０６がまた、ビットストリームにおいて最後にコーディングされたピクチャであるとき、アクセスユニット１４００はまた、ストリームの終わり１４１２ＮＡＬユニット（また、ビットストリームの終わりＮＡＬユニットとしても呼ばれる）を含むことができる。
【０１９０】
[0224]アクセスユニットにおけるＮＡＬユニットは、下記にさらに説明される。
【０１９１】
[0225]様々なインプリメンテーションにおいて、ＳＥＩ  ＮＡＬユニットは、符号化された３６０度の魚眼ピクチャを有する魚眼パラメータを提供するために使用されることができる。魚眼パラメータを含むＳＥＩ  ＮＡＬユニットに関する例となるシンタックスおよびセマンティクスが下記に提供される。
【０１９２】
[0226]シンタックス
【０１９３】
【表３】
2019517212.tif 000005
【０１９４】
[0227]セマンティクス
[0228]コーディングされたレイヤワイズビデオシーケンス（ＣＬＶＳ：Coded Layer-wise Video Sequence）における３６０魚眼ビデオ情報ＳＥＩメッセージの存在は、ＣＬＶＳにおける各コーディングされたビデオピクチャが、魚眼カメラレンズによってキャプチャされた複数の（通常は２つの）円形画像を包含する３６０度の魚眼ビデオピクチャであることを示す。３６０魚眼ビデオ情報ＳＥＩメッセージにおいて運ばれる３６０度の魚眼ビデオの情報は、バーチャル・リアリティ環境において３６０魚眼ビデオを直接にレンダリングするために受信機によって使用されることができる。
【０１９５】
[0229]３６０魚眼ビデオ情報ＳＥＩメッセージは、ＳＥＩメッセージを包含するＣＬＶＳに適用され、また現在のＣＬＶＳとも呼ばれ得る。ＣＶＬＳにおいて存在するとき、３６０魚眼ビデオ情報ＳＥＩメッセージは、ＣＬＶＳの第１のアクセスユニットにおいて存在するものとし、およびＣＬＶＳの他のアクセスユニットにおいて存在し得る。
【０１９６】
[0230]num_circular_images_minus1 plus 1は、現在のＣＬＶＳにおける各コーディングされたピクチャにおける円形画像の数を特定する。典型的に、num_circular_images_minus1の値は、１に等しいが、他の非ゼロの値がまた、可能である。
【０１９７】
[0231]image_center_x_int[ i ]およびimage_center_x_frac[ i ]は、現在のＣＬＶＳにおける各コーディングされたピクチャにおけるｉ番目の円形画像の中心の、ルマサンプルにおける、水平座標の、それぞれ、整数および分数部分を特定する。
【０１９８】
[0232]image_center_y_int[ i ]およびimage_center_y_frac[ i ]は、現在のＣＬＶＳにおける各コーディングされたピクチャにおけるｉ番目の円形画像の中心の、ルマサンプルにおける、垂直座標の、それぞれ、整数および分数部分を特定する。
【０１９９】
[0233]full_radius_int[ i ]およびfull_radius_frac[ i ]は、円形ｉ番目の円形画像の中心から完全球形の画像のエッジまでの、ルマサンプルにおける、半径の、それぞれ、整数および分数部分を特定する。［例については図４を参照］。全半径は、万が一円形画像が完全には円形でなく、実際には楕円形である場合に備えて、水平および垂直半径の両方として定義され得る。円形画像が切り取られる場合、この値は、理論上は切り取られていない全半径として、それでもなお定義される。
【０２００】
[0234]picture_radius_int[ i ]およびpicture_radius_frac[ i ]は、ｉ番目の円形画像の中心から画像境界の最も近いエッジまでの、ルマサンプルにおける、半径の、それぞれ、整数および分数部分を特定する。［例については図４を参照］。円周魚眼画像は、カメラフレームによって切り取られ得、それ故、この値は、円の半径を示し、ここにおいて、画素は、使用可能である。
【０２０１】
[0235]scene_radius_int[ i ]およびscene_radius_frac[ i ]は、それぞれ、カメラボディそれ自体からの障害物はないことが保証される画像におけるｉ番目の円形画像の中心からエリアの最も近いところまでの、ルマサンプルにおける、半径の整数および分数部分を特定する。［例については図４を参照］。
【０２０２】
[0236]image_rotation_int[ i ]およびimage_rotation_frac[ i ]は、ｉ番目の円形画像の、度における、回転量の、それぞれ、整数および分数部分を特定する。異なるビデオカメラ製造業者は、キャプチャされた個々の魚眼画像ごとに異なる座標系またはレイアウトを選び得る。画像は、画像＋／−９０度、または＋／−１８０度、あるいは、任意の他の値だけ、回転され得る。［図３は、２つの画像を示し、１つは、＋９０度回転され、もう１つは、−９０度回転される（すなわち、＋２７０度）］。
【０２０３】
[0237]image_flip_idc[ i ]は、ｉ番目の円形画像がフリップされていたか、そしてそれ故、反転フリッピング動作が適用されることが必要とされるかどうか、およびどのようにｉ番目の円形画像がフリップされていたか、そしてそれ故、どのように反転フリッピング動作が適用されることが必要とされるかを示す。０の値は、画像がフリップされていなかったことを示す。１の値は、画像が垂直にフリップされていたことを示す。２の値は、画像が水平にフリップされていたことを示す。３の値は、画像が垂直にと水平にの両方でフリップされていたことを示す。
【０２０４】
[0238]image_scale_axis_angle_int[ i ]およびimage_scale_axis_angle_frac[ i ]は、ｉ番目の円形画像が沿ってスケーリングされていたスケーリング軸の、度における、角度の、それぞれ、整数および分数部分を特定する。０度の角度は、水平ベクトルが完全に水平であり、垂直ベクトルが完全に垂直であることを意味する。
【０２０５】
[0239]image_scale_x_int[ i ]およびimage_scale_x_frac[ i ]は、ｉ番目の円形画像に関するスケーリング軸に対して平行である方向のスケーリング比の、それぞれ、整数および分数部分を特定する。
【０２０６】
[0240]image_scale_y_int[ i ]およびimage_scale_y_frac[ i ]は、ｉ番目の円形画像に関するスケーリング軸に対して直交である方向のスケーリング比の、それぞれ、整数および分数部分を特定する。
【０２０７】
[0241]field_of_view_int[ i ]およびfield_of_view_frac[ i ]は、ｉ番目の円形画像に関する、度における、魚眼レンズの視野の、それぞれ、整数および分数部分を特定する。半球形魚眼レンズのための典型的な値は、１８０．０度である。
【０２０８】
[0242]num_compression_curve_pionts[ i ]は、次の、compression_curve_x_int[ i ]、compression_curve_x_frac[ i ]、compression_curve_y_int[ i ]、およびcompression_curve_y_frac[ i ]のリストの数を特定する。
【０２０９】
[0243]num_compression_curve_pionts[ i ]は、次の、compression_curve_x_int[ i ]、compression_curve_x_frac[ i ]、compression_curve_y_int[ i ]、およびcompression_curve_y_frac[ i ]のリストの数を特定する。
【０２１０】
[0244]compression_curve_x_int[ i ][ j ]およびcompression_curve_x_frac[ i ][ j ]は、ｉ番目の円形画像に関する、画像の中心における０．０から画像境界リムにおける１．０までに及ぶ、半径長のｊ番目の正規化された値を特定する。
【０２１１】
[0245]compression_curve_y_int[ i ][ j ]およびcompression_curve_y_frac[ i ][ j ]は、ｉ番目の円形画像に関する、カメラビュー方向からの、度数における、ｊ番目の角度を特定する。１８０度の視野を有する魚眼レンズに関して、正規化された軸に沿った度の範囲は、画像の中心における０．０から、画像の境界リムにおける９０．０度までである。
【０２１２】
[0246]半径長および角度の正規化された値のペアのリストは、ｉ番目の魚眼カメラレンズによってキャプチャされた球のシーンの部分に対する円形画像におけるジオメトリック（幾何学的）圧縮曲線を表す。
【０２１３】
[0247]num_deadzonesは、現在のＣＬＶＳにおいて各コーディングされたピクチャにおけるデッドゾーンの数を特定する。
【０２１４】
[0248]deadzone_left_horizontal_offset[ i ]、deadzone_top_vertical_offset[ i ]、deadzone_width[ i ]、およびdeadzone_height[ i ]は、画素が使用可能でないｉ番目のデッドゾーンの長方形エリアの位置およびサイズを特定する。deadzone_left_horizontal_offset[ i ]およびdeadzone_top_vertical_offset[ i ]は、現在のＣＬＶＳにおける各コーディングされたピクチャにおけるｉ番目のデッドゾーンの左上角の、ルマサンプルにおける、それぞれ、水平および垂直座標を特定する。deadzone_width[ i ]およびdeadzone_height[ i ]は、現在のＣＬＶＳにおける各コーディングされたピクチャにおけるｉ番目のデッドゾーンの、ルマサンプルにおいて、それぞれ、幅および高さを特定する。ビデオを表現するためにビットを節約するために、デッドゾーン内の全ての画素は、同じ画素値、例えば、全て黒、に設定されるべきであることを留意されたい。
【０２１５】
[0249]様々なインプリメンテーションにおいて、魚眼画像を有する３６０度のビデオに関する魚眼パラメータは、代替的または追加的に、セッション記述プロトコル（ＳＤＰ）を使用して、提供されることができる。ＳＤＰは、マルチメディア通信セッションを記述するために使用されることができる。このような記述は、例えば、セッション告知、セッション勧誘、およびパラメータ交渉のために、使用されることができる。ＳＤＰは、メディアそれ自体を配信するために使用されないが、メディアタイプ、形式、およびアソシエートされたプロパティの交渉のためのエンドポイント間で使用されることができる。プロパティおよびパラメータのセットは、しばしば、セッションプロフィールとして呼ばれ得る。ＳＤＰは、当初は、セッション告知プロトコル（ＳＡＰ）のコンポーネントであったが、リアルタイムトランスファープロトコル（ＲＴＰ）、リアルタイムストリーミングプロトコル（ＲＴＳＰ）、セッション開始プロトコル（ＳＩＰ）と併せた、およびマルチキャストセッションを記述するためのスタンドアロン形式としての、他の使途が発見された。ＳＤＰは、ＲＦＣ４５６６において記述される。
【０２１６】
[0250]図１５は、ネットワーク通信のための開放型システム間相互接続（ＯＳＩ）モデル１５００の例を例示する。このモデル内で、ＳＤＰは、セッションレイヤ１５１０においてインプリメントされ、ここで、接続管理、エラーリカバリ、セキュリティ、遠隔操作、および他の機能が発生する。下記にさらに記述されるように、魚眼パラメータは、セッション属性１５２０において含まれることができ、それは、セッションレイヤ１５１０において交換される。
【０２１７】
[0251]ＯＳＩモデル１５００は、通信機能を規格化し、適合性（compliance）は、多様な通信システム間の相互運用性を可能にする。モデル１５００における各レイヤは、上のレイヤをサービスし、下のレイヤによりサービスされる。物理レイヤ１５０２は、物理媒体上で、生ビットストリームの送信および受信を定義する。データリンクレイヤ１５０４は、２つのノード間のデータフレームの信頼性のある（reliable）送信を定義する。物理アドレス指定（physical addressing）のような動作は、データリンクレイヤ１５０４においてハンドリングされる。ネットワークレイヤ１５０６は、アドレス指定、ルーティング、およびトラフィック制御を含め、マルチノードネットワークの構造および管理を定義する。パケットフラグメント化および論理アドレス指定（logical addressing）のような動作は、ネットワークレイヤ１５０６において、起こる。トランスポートレイヤ１５０８は、セグメンテーション、肯定応答、および多重化を含め、ネットワーク上のポイント間のデータセグメントの信頼性のある送信を定義する。端末間接続管理のような動作、メッセージセグメンテーション、メッセージ順序付け（message sequencing）、信頼性、およびフロー制御は、トランスポートレイヤ１５０８において起こることができる。セッションレイヤ１５１０は、複数のセッションの管理を定義し、それらは、２つのノード間での複数のバックツーバック送信（back-to-back transmissions）の形での情報の連続的な交換である。前に述べたように、接続管理、エラーリカバリ、セキュリティ、および遠隔操作のような、動作は、セッションレイヤ１５１０において発生し得る。プレゼンテーションレイヤ１５１２は、文字符号化、データ圧縮、および暗号化および／または暗号解読を含め、ネットワークサービスとアプリケーションとの間のデータの送信を定義する。アプリケーションレイヤ１５１４は、リソース共有、遠隔ファイルアクセス、および他の動作を含む、高レベルのアプリケーション・プログラミング・インターフェース（ＡＰＩ）を含む。
【０２１８】
[0252]様々なインプリメンテーションにおいて、魚眼パラメータは、ＳＤＰメッセージにおけるメディア記述においておよび／またはセッション記述において含まれることができる。例えば、フィールドは、ストリーミングコンテンツにおいて３６０度のビデオの存在を示すためにセッション記述および／またはメディア記述中に追加されるかまたは修正することができる。加えて、いくつかのインプリメンテーションにおいて、バーチャル・リアリティ・コンテンツに関連するパラメータはまた、ＳＤＰメッセージに追加されることができる。このようなパラメータは、例えば、バーチャル・リアリティ・コンテンツが２−Ｄであるかまたは３−Ｄであるか、コンテンツが事前にステッチされるかまたは後にステッチされるかまたは後にステッチされるか、データを記憶するために使用されるマッピング、および／またはビデオデータにおいて魚眼画像を記述するパラメータ、を含むことができる。このおよび別の例において、ＳＤＰは、バーチャル・リアリティ・コンテンツを含むメディア・コンテンツを示すために、ＲＴＰベースのストリーミング、ブロードキャスト、および／またはテレプレゼンス（telepresence）または会議アプリケーションにおいて使用されることができる。
【０２１９】
[0253]セッション記述におけるフィールドの例が下記に提供される。随意的なフィールドは、「=*」を用いて、および下記の例において特定されることができ、３６０度のビデオパラメータは、セッション属性行および／またはメディア属性行を使用して、特定されることができる。
【０２２０】
[0254]セッション記述
v=（プロトコルバージョン番号、現在は、０のみ）
o=（発信元およびセッション識別子：ユーザネーム、ｉｄ、バージョン番号、ネットワークアドレス）
s=（セッション名称：少なくとも１つのＵＴＦ−８で符号化された文字を伴って必須である）
i=*（セッションタイトルまたはショート情報）
u=*（記述のＵＲＩ）
e=*（連絡先（contacts）の随意的な名前を有するゼロまたはそれより多くのｅメールアドレス）
p=*（連絡先の随意的な名称を有するゼロまたはそれより多くの電話番号）
c=*（接続情報−全てのメディアにおいて含まれる場合、必要とされない）
b=*（ゼロまたはそれより多くの帯域幅情報行）
１つまたは複数の時間記述（「t=」および「r=」行；下記を参照）
z=*（タイムゾーン調整）
k=*（暗号鍵）
a=*（ゼロまたはそれより多くのセッション属性行）
ゼロまたはそれより多くのメディア記述（各１つは、「m=」行から開始する；下記を参照）
[0255]時間記述
t=（セッションがアクティブな時間）
r=*（ゼロまたはそれより多くの繰り返し回数）
[0256]メディア記述
m=（メディア名称およびトランスポートアドレス）
i=*（メディアのタイトルまたは情報フィールド）
c=*（接続情報−セッションレベルにおいて含まれる場合は随意的）
b=*（ゼロまたはそれより多くの帯域幅情報行）
k=*（暗号鍵）
a=*（ゼロまたはそれより多くのメディア属性行−セッション属性行をオーバーライドする）
[0257]様々なインプリメンテーションにおいて、魚眼画像を含む３６０度のビデオに関する魚眼パラメータは、代替的または追加的に、ＤＡＳＨを使用して送信されたビデオデータにおいて提供されることができる。例えば、３６０度のビデオは、ＤＡＳＨプレゼンテーションのメディアプレゼンテーションレベルにおいて示されることができる。ＤＡＳＨ仕様によって定義されるような、メディアプレゼンテーションは、有界（bounded）または非有界の（unbounded）メディアプレゼンテーション（例えば、他の例の中でも、単一の動きピクチャまたは連続したライブストリーム）に関するデータの一群（collection）の収集である。メディアプレゼンテーションは、メディアプレゼンテーション記述によって、記述されることができ、ドキュメント（document）は、メディアプレゼンテーションのセグメントにアクセスするために、適切なＨＴＴＰユニフォームリソースロケータ（uniform resource locator）を構築するためにＤＡＳＨクライアントによって使用されることができるメタデータを包含する。
【０２２１】
[0258]図１６は、ビデオ・コンテンツをストリーミングするためのＤＡＳＨプレゼンテーション１６００の例を例示する。ビデオ・コンテンツは、メディアプレゼンテーション１６０２において包含され、それは、連続的なビデオストリームを記述することができる。メディアプレゼンテーション１６０２は、メディアプレゼンテーション記述（ＭＰＤ）を含むことができ、それはまたマニフェスト（manifest）として呼ばれることができる。ＭＰＤは、例えば、メディアプレゼンテーション１６０２におけるメディアセグメントについての情報を包含する、例となるＸＭＬ（eXtensible Markup Language）を使用して形式化された、ドキュメントである。この情報は、例えば、セグメントとセグメント間で選ぶために使用されることができる情報との間の関係を含むことができる。ＭＰＤはまた、クライアントデバイス（例えば、コンテンツを受信するデバイス）が使用できる他のデータを含むことができる。
【０２２２】
[0259]様々なインプリメンテーションにおいて、メディアプレゼンテーション記述は、メディアプレゼンテーション記述によって記述されたメディア・コンテンツがバーチャル・リアリティ・コンテンツを含むことを示すために使用されることができる。例えば、要素は、メディアプレゼンテーション記述のためのスキーマに追加または修正されることができ、ここで、要素は、次いで、バーチャル・リアリティ・コンテンツをシグナリングする。様々なインプリメンテーションにおいて、属性はまた、上記で説明されたような、コンテンツが２−Ｄであるかまたは３−Ｄであるか、コンテンツが事前にステッチされるかまたは後にステッチされるか、コンテンツが後にステッチされるときのビデオフレームに関するマッピング、および／または魚眼パラメータ、などの、バーチャル・リアリティ・コンテンツについての情報を提供するためにメディアプレゼンテーション記述に追加されるかまたは修正されることができる。いくつかのインプリメンテーションにおいて、メディアプレゼンテーション記述におけるバーチャル・リアリティ・インジケータは、プレゼンテーションのコンテンツのうちの全てがバーチャル・リアリティのためにフォーマットされることを示す。
【０２２３】
[0260]メディアプレゼンテーション１６０２は、期間（period）１６０４ａ〜１６０４ｃに分割されることができる。ＤＡＳＨによって定義されるような、期間は、メディアプレゼンテーション１６０２内の時間の間隔である。プレゼンテーションは、それ故、期間１６０４ａ〜１６０４ｃの連続的なシーケンスから成る。期間１６０４ａ〜１６０４ｃは、例えば、開始時間によって説明されることができ、ここで、開始時間は、その期間における時間の間隔が開始する時間を示す。別の言い方で述べると、開始時間は、時間ゼロからオフセットされる。
【０２２４】
[0261]様々なインプリメンテーションにおいて、期間の要素および／または属性は、期間が３６０度のビデオ・コンテンツを含むことを示すために使用されることができる。例えば、要素は、期間に関するスキーマに追加されるかまたは修正されることができ、ここで、要素は、次いで、バーチャル・リアリティ・コンテンツをシグナリングする。様々なインプリメンテーションにおいて、属性はまた、コンテンツが２−Ｄであるかまたは３−Ｄであるか、コンテンツが事前にステッチされるかまたは後にステッチされるか、コンテンツが後にステッチされるときのビデオフレームに関するマッピング、および／または魚眼パラメータ、などの、バーチャル・リアリティ・コンテンツについての情報を提供するために期間に追加されるかまたは修正されることができる。いくつかのインプリメンテーションにおいて、期間におけるバーチャル・リアリティ・インジケータは、期間におけるコンテンツがバーチャル・リアリティのためにフォーマットされていることを示す。
【０２２５】
[0262]期間１６０４ｂ（例えば、例示された例における期間２）内において、メディア・コンテンツは、符号化の一貫したセットを有することができ、例えば、平均ビットレート、言語、キャプション設定、字幕設定、等を含む。期間１６０４ｂはまた、ソース（例えば、ベースユニフォームリソースロケータ（ＵＲＬ））を提供することができ、ここで、コンテンツは、それからストリーミングされることができる。期間１６０４ｂにおけるコンテンツは、適応セット１６２４、１６２６に配置されることができる。適応セットは、１つまたは複数のメディア・コンテンツ・コンポーネントの相互交換可能な符号化されたバージョンのセットを表す。例えば、期間は、主ビデオコンポーネントに関して、１つの適応セット１６２４、および主音声コンポーネントに関して、別個の適応セット１６２６を含み得る。キャプションまたは音声記述のような、利用可能な他のコンテンツがあるとき、これらの各々は、別個の適応セットを有することができる。
【０２２６】
[0263]様々なインプリメンテーションにおいて、３６０度のビデオ情報は、適応セットにおいて含まれることができる。例えば、要素は、適応セットに関するスキーマに追加されるかまたは修正されることができ、ここで、要素は、次いで、３６０度のビデオ・コンテンツをシグナリングする。様々なインプリメンテーションにおいて、属性はまた、コンテンツが２−Ｄであるかまたは３−Ｄであるか、コンテンツが事前にステッチされるかまたは後にステッチされるか、コンテンツが後にステッチされるときのビデオフレームに関するマッピング、および／または魚眼パラメータ、などの、バーチャル・リアリティ・コンテンツについての情報を提供するために適応セットに追加されるかまたは修正されることができる。いくつかのインプリメンテーションにおいて、適応セットにおける３６０度のビデオインジケータは、適応セットにおける表現の各々が３６０度のビデオ・コンテンツを含むことを示す。
【０２２７】
[0264]適応セット（例えば、ビデオ適応セット１６２４）は、複数の代替表現１６３２を包含することができる。表現は、１つまたはいくつかのメディア・コンテンツ・コンポーネントの配信可能な符号化されたバージョンを記述する。適応セット内におけるいずれの単一の表現は、期間においてメディア・コンテンツ・コンポーネントをレンダリングするために使用されることができる。送られた１つの適応における異なる表現は、知覚的に同等であると考えられ得、クライアントデバイスが動的に、適応セット内において、ネットワーク状況または他の要因に適合するために、１つの表現から別の表現に動的に切り替わることができることを意味する。例えば、各表現は、特定の帯域幅、およびフレームの高さおよび幅、ならびにフレームレートまたは符号化タイプなどの、他の情報を有することができる。表現１６３２は、メディアプレゼンテーション１６０２においてセグメントを記述するセグメント情報１６４２をさらに含むことができる。
【０２２８】
[0265]様々なインプリメンテーションにおいて、３６０度のビデオ・コンテンツについての情報は、表現１６３２において提供されることができる。例えば、要素は、表現に関するスキーマに追加されるかまたは修正されることができ、ここで、要素は、次いで、バーチャル・リアリティ・コンテンツを示す。様々なインプリメンテーションにおいて、属性はまたは、コンテンツが２−Ｄであるかまたは３−Ｄであるか、コンテンツが事前にステッチされるかまたは後にステッチされるか、および／またはコンテンツが後にステッチされるときのビデオフレームに関するマッピング、などの、バーチャル・リアリティ・コンテンツについての情報を提供するために表現に追加されるかまたは修正されることができる。いくつかのインプリメンテーションにおいて、表現におけるバーチャル・リアリティ・インジケータは、表現のコンテンツ（the content of the representation）がバーチャル・リアリティのためにフォーマットされることを示す。
【０２２９】
[0266]セグメント情報１６４２は、初期化セグメント１６４４および１つまたは複数のメディアセグメント１６４６ａ〜１６４６ｃを記述することができる。初期化セグメント１６４４は、メディアそれ自体に先行するいくつかのコンテンツ内容を含むことができる。各メディアセグメント１６４６ａ〜１６４６ｃは、全体の期間１６０４ｂの部分を含む。メディアセグメント１６４６ａ〜１６４６ｃは、期間１６０４ｂの開始に関連する開始時間、および、ソースロケーション（例えば、ＵＲＬ）によって、記述されることができる。
【０２３０】
[0267]様々なインプリメンテーションにおいて、魚眼コンテンツを含む３６０度のビデオに関する魚眼パラメータは、ＭＰＥＧトランスポートストリーム（ＭＰＥＧ−ＴＳ）において代替的にまたは追加的に提供されることができない。図１７は、ＭＰＥＧトランスポートストリーム１７００の例を例示する。ＭＰＥＧ−ＴＳは、音声、ビデオ、およびプログラミングデータを送信および記憶するために使用されるコンテナ形式である。ＭＰＥＧ−ＴＳは、信号が低下したときに送信の完全性を維持するためのエラー補正およびストリーム同期機能（stream synchronization feature）を用いて、パケット化された基本的なストリーム（elementary streams）をカプセル化するコンテナの形式を指定する。ＭＰＥＧ−ＴＳは、地上波のおよび衛星のブロードキャストのような、信頼できない送信媒体上でストリームラインニング（streamlining）するために意図される。
【０２３１】
[0268]ＭＰＥＧトランスポートストリーム１７００は、複数のトランスポートパケット１７０２を含む。パケットは、トランスポートストリームにおけるデータの基本単位である。トランスポートストリームそれ自体は、如何なるグローバルヘッダも有さない、一連のパケットである。各パケット１７０２は、ヘッダ１７０４およびペイロード１７０６を含む。ヘッダ１７０４は、例えば、ペイロードのコンテンツ、他のパケットに関するパケットシーケンス、エラー情報、などを記述することを含む、パケット１７０２についての情報を提供する。
【０２３２】
[0269]他のフィールドの中で、ヘッダ１７０４は、パケット識別子１７０８（ＰＩＤ）を含むことができる。パケット識別子１７０８は、ペイロード１７０６に含まれるデータを記述することができる。例えば、ＰＩＤ＝２は、ペイロード１７０６がトランスポートストリーム記述子テーブル（ＴＳＤＴ）のいくつかまたは全てを含むことを示す。トランスポートストリーム記述子テーブルは、トランスポートストリーム１７００に関する記述子１７１０を包含することができる。
【０２３３】
[0270]様々なインプリメンテーションにおいて、記述子は、３６０度のビデオ・コンテンツを記述するトランスポートストリーム記述子テーブルに追加されることができる。例えば、記述子は、コンテンツが２−Ｄであるかまたは３−Ｄであるか、コンテンツが事前にステッチされるかまたは後にステッチされるか、コンテンツが後にステッチされるときのビデオフレームに関するマッピング、および／または魚眼パラメータ、などの、３６０度のビデオパラメータに対して追加されることができる。これらおよび他の例において、トランスポートストリーム１７００を受信しているクライアントデバイスは、トランスポートストリーム１７０において送信されたビデオデータを再マッピングおよび／または復号するためにパラメータを使用することができる。
【０２３４】
[0271]別の例として、マルチメディアブロードキャストマルチキャストサービス（ＭＢＭＳ）は、コンテンツが３ＧＰＰのセルラネットワーク上で送信されるとき、３６０度のビデオ・コンテンツを示すために使用されることができる。ＭＢＭＳは、両方ともセル内およびコアネットワーク内である、ブロードキャストおよびマルチキャストサービスの効率的な配信を提供することができるポイントツーマルチポイントインターフェース仕様を提供することができる。ＭＢＭＳに関するターゲットアプリケーションは、モバイルテレビジョン、ライブビデオおよび音声ストリーミング、ファイル配信、および緊急警報の配信を含む。
【０２３５】
[0272]様々なインプリメンテーションにおいて、３６０度のビデオ・コンテンツをシグナリングすること、ならびにコンテンツに関連したパラメータは、ＭＢＭＳ機能必須要件リストに新しい機能を追加することによって、達成されることができる。様々なインプリメンテーションにおいて、３６０度のビデオ・コンテンツのシグナリングは、他のブロードキャストおよびマルチキャストアプリケーションに関して、同様のやり方で、達成されることができる。
【０２３６】
[0273]図１８は、ビデオにおいて魚眼画像を記述するパラメータを用いて、３６０度の魚眼ビデオを符号化するためのプロセス１８００の例を例示する。１８０２において、プロセス１８００は、全方位カメラによってキャプチャされた３６０度のビデオデータを取得することを含み、ここにおいて、３６０度のビデオデータのビデオフレームは、シーンの画像を含み、ここにおいて、その画像において、シーンは、画像の円形領域にゆがませられる。円形領域はまた、魚眼画像と呼ばれることができる。
【０２３７】
[0274]１８０４において、プロセス１８００は、全方位カメラに関連付けられたパラメータを取得することを含み、ここにおいて、パラメータは、画像の円形領域を記述する。パラメータは、他のパラメータの中でも特に、図５、図６Ａ、および図６Ｂに関して説明されるパラメータを含む。いくつかのインプリメンテーションにおいて、パラメータは、カメラから直接に取得される。いくつかのインプリメンテーションにおいて、パラメータは、メタデータとして３６０度のビデオデータに埋め込まれる。
【０２３８】
[0275]図１８の１８０６において、プロセス１８００は、３６０度のビデオデータを符号化することを含む。様々なインプリメンテーションにおいて、３６０度のビデオは、ビデオにおける魚眼画像が全方位カメラによってキャプチャされるように符号化されるように、データの如何なる変換または操作なしに符号化される。様々なインプリメンテーションにおいて、３６０度のビデオは、ＡＶＣまたはＨＥＶＣ規格、あるいは何らかの他のビデオ符号化規格を使用して、符号化される。
【０２３９】
[0276]１８０８において、プロセッサ１８００は、符号化されたビデオデータを生成することを含み、ここにおいて、符号化されたビデオデータは、符号化された３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含む。
【０２４０】
[0277]いくつかのインプリメンテーションにおいて、符号化されたビデオデータを生成することは、符号化された３６０度のビデオをファイルに書き込むことを含み、ここで、ファイルは、ＩＳＯＢＭＦＦファイル形式に従って、フォーマットされる。これらのインプリメンテーションにおいて、パラメータは、ファイルレベルに、ムービーレベルに、および／またはファイルのトラックレベルにおいて含まれることができる。いくつかのインプリメンテーションにおいて、パラメータは、ファイルにおける制限されたスキーム情報ボックスにおいて含まれることができる。
【０２４１】
[0278]いくつかのインプリメンテーションにおいて、符号化されたビデオデータを生成することは、ＳＥＩメッセージにおけるパラメータを符号化することを含む。これらのインプリメンテーションにおいて、ＳＥＩメッセージは、符号化された３６０度のビデオデータに含まれることができる。例えば、ＳＥＩメッセージ、それは、ＮＡＬユニットであることができるが、符号化された３６０度のビデオデータを含むビットストリームのアクセスユニットにおいて含まれることができる。
【０２４２】
[0279]いくつかのインプリメンテーションにおいて、符号化されたビデオデータを生成することは、パラメータをＳＤＰ属性として符号化することを含む。これらのインプリメンテーションにおいて、パラメータは、セッションデータプロトコルを使用して宛先に通信されることができる。
【０２４３】
[0280]いくつかのインプリメンテーションにおいて、符号化されたビデオデータを生成することは、ＭＰＤファイルにパラメータを書き込むことを含む。ＭＰＤファイルは、符号化されたビデオデータのＤＡＳＨプレゼンテーションに含まれることができる。ＤＡＳＨプレゼンテーションは、１つのロケーションから別のロケーションへとストリーミングされることができる。
【０２４４】
[0281]いくつかのインプリメンテーションにおいて、符号化されたビデオデータを生成することは、ＭＰＥＧトランスポートストリームにパラメータを書き込むことを含む。これらのインプリメンテーションにおいて、パラメータは、トランスポートストリームにおいて記述子として含まれることができる。パラメータは、その次に、ＭＰＥＧトランスポートストリームを使用して、宛先に通信されることができる。
【０２４５】
[0282]図１９は、３６０度のビデオを含む符号化されたビデオデータを復号するためのプロセス１９００の例を例示する。１９０２において、プロセス１９００は、符号化されたビデオデータを取得することを含み、ここにおいて、符号化されたビデオデータは、全方位カメラによってキャプチャされた３６０度のビデオデータおよび全方位カメラに関連付けられたパラメータを含む。パラメータは、他のパラメータの中でも特に、図５、図６Ａ、および図６Ｂに関して上記に説明されるものを含むことができる。
【０２４６】
[0283]図１９の１９０４において、プロセス１９００は、３６０度のビデオデータを作り出すために、符号化されたビデオデータを復号することを含み、ここにおいて、３６０度のビデオデータのフレームは、シーンの画像を含み、ここにおいて、その画像において、シーンは、画像の円形領域にゆがませられる。円形領域はまた、魚眼画像と呼ばれることができる。
【０２４７】
[0284]１９０６において、処理１９００は、３６０度のビデオプレゼンテーションを生成することを含み、ここにおいて、３６０度のビデオプレゼンテーションを生成することは、円形領域を３６０度の形式にマッピングするためにパラメータを使用することを含む。
【０２４８】
[0285]いくつかのインプリメンテーションにおいて、符号化されたビデオデータは、ファイルから取得され、ここにおいて、ファイルは、ＩＳＯＢＭＦＦファイル形式に従って、フォーマットされる。これらのインプリメンテーションにおいて、パラメータは、ファイルレベルにおいて、ムービーレベル、および／またはトラックレベルにおけるファイルにあることができる。いくつかのインプリメンテーションにおいて、パラメータは、ファイルにおける制限されたスキーム情報ボックスにあることができる。
【０２４９】
[0286]いくつかのインプリメンテーションにおいて、パラメータは、ＳＥＩメッセージから復号される。これらのインプリメンテーションにおいて、ＳＥＩメッセージは、符号化されたビデオデータにおいて含まれることができる。例えば、ＳＥＩメッセージは、３６０度のビデオデータを含む符号化されたビットストリームにおけるＮＡＬユニットであることができる。様々なインプリメンテーションにおいて、ＳＥＩメッセージは、ＡＶＣまたはＨＥＶＣ規格、あるいは何らかの他の規格に従って、フォーマットされることができる。
【０２５０】
[0287]いくつかのインプリメンテーションにおいて、符号化されたビデオデータを復号することは、ＳＤＰ属性からパラメータを取得することを含む。これらのインプリメンテーションにおいて、符号化されたビデオデータは、ＳＤＰプロトコルを使用して、ネットワーク上で、取得されることができる。
【０２５１】
[0288]いくつかのインプリメンテーションにおいて、符号化されたビデオデータを復号することは、ＭＰＤファイルからパラメータを取得することを含む。これらのインプリメンテーションにおいて、符号化されたビデオデータは、ＤＡＳＨプロトコルを使用してストリーミングされたビデオとして取得されることができる。
【０２５２】
[0289]いくつかのインプリメンテーションにおいて、符号化されたビデオデータを復号することは、ＭＰＥＧトランスポートストリームからのパラメータを取得すること含む。これらのインプリメンテーションにおいて、パラメータは、トランスポートストリームにおける記述子として符号化されることができ、符号化されたビデオデータは、トランスポートストリームから取得されることができる。
【０２５３】
[0290]いくつかのインプリメンテーションにおいて、上記において議論されたプロセス１８００、１９００は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、携帯情報端末、またはネットワークに無線電信（wireless）を接続することができるおよび／または容易に運搬されるのに小型でありかつ軽量であるコンピューティングデバイスの何らかの他の種類のような、モバイルデバイスにおいてインプリメントされることができる。これらのインプリメンテーションにおいて、モバイルデバイスは、３６０度のビデオをキャプチャするための全方位カメラを含むことができる。いくつかのインプリメンテーションにおいて、モバイルデバイスは、３６０度のビデオを表示するためのディスプレイを含むことができる。
【０２５４】
[0291]いくつかの例において、プロセス１８００、１９００は、図２０に関して以下に議論されたシステムなどの、コンピューティングデバイスまたは装置によって、行われ得る。例えば、プロセス１８００、１９００は、図２０において示されるシステム２０００および／または記憶装置２００８あるいは出力２０１０によって、行われることができる。いくつかの事例において、コンピューティングデバイスまたは装置は、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、または図１８および図１９のプロセス１８００、１９００のステップを実行するように構成されるデバイスの他のコンポーネントを含み得る。いくつかの例において、コンピューティングデバイスまたは装置は、ビデオフレームを含むビデオデータ（例えば、ビデオシーケンス）をキャプチャするように構成されるカメラを含み得る。例えば、コンピューティングデバイスは、ビデオコーデックを含み得るカメラデバイス（例えば、全方位カメラ、または他のタイプのカメラデバイス）を含み得る。いくつかの例において、ビデオデータをキャプチャするカメラまたは他のキャプチャデバイスは、コンピューティングデバイスから離れており、その場合、コンピューティングデバイスがキャプチャされたビデオデータを受信する。コンピューティングデバイスは、ビデオデータを通信するように構成されたネットワークインターフェースをさらに含み得る。ネットワークインターフェースは、インターネットプロトコル（ＩＰ）ベースのデータまたは任意の他の適したタイプのデータを通信するために構成され得る。
【０２５５】
[0292]プロセス１８００、１９００は、論理フロー図として例示され、それの動作は、ハードウェア、コンピュータ命令、またはそれらの組合せにおいてインプリメントされることができる一連の動作を表す。コンピュータ命令のコンテキストにおいて、動作は、１つまたは複数のプロセッサによって実行されると、記載された動作を行う１つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定のファンクションを行うかまたは特定のデータタイプをインプリメントするルーチン、プログラム、オブジェクト、コンポーネント、データ構造、などを含む。動作が説明される順序は、限定として解釈されることを意図しておらず、任意の数の説明された動作は、任意の順序および／または処理をインプリメントするために平行に組み合わせられることができる。
【０２５６】
[0293]加えて、プロセス１８００、１９００は、実行可能な命令を用いて構成される１つまたは複数のコンピュータシステムの制御下において行われ得、１つまたは複数のプロセッサ上で、ハードウェア、またはそれらの組合せによって、集合的に実行するコード（例えば、実行可能な命令、１つまたは複数のコンピュータプログラム、または１つまたは複数のアプリケーション）としてインプリメントされ得る。上記に述べたように、コードは、例えば、１つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形式で、コンピュータ可読または機械可読記憶媒体上に記憶され得る。コンピュータ可読または機械可読記憶媒体は、非一時的であり得る。
【０２５７】
[0294]より多くのデバイスおよびシステムは、消費者にデジタルビデオデータを消費する能力を提供するにつれ、効率的なビデオコーディング技法への必要性は、より重要になる。ビデオコーディングは、デジタルビデオデータにおいて存在するデータの大きな量を扱うために必要な送信必須要件および記憶装置を減らすために必要とされる。様々なビデオコーディング技法は、高いビデオ品質を維持しながら、ビデオデータをより低いビットレートを使用する形式に圧縮するために使用され得る。
【０２５８】
[0295]図２０は、符号化デバイス２００４および復号デバイス２０１２を含むシステム２０００の例を例示するブロック図である。符号化デバイス２００４は、ソースデバイスの部分であり得、復号デバイス２０１２は、受信デバイスの部分であり得る。ソースデバイスおよび／または受信デバイスは、移動式または固定式の電話の送受話器（例えば、スマートフォン、セルラ電話、または同種のもの）、デスクトップコンピュータ、ラップトップまたはノードブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビジョン、カメラ、ディスプレイデバイス、ディスプレイメディアプレーヤー、ビデオゲーム機、ビデオストリーミングデバイス、または任意の他の適した電子デバイス、などのような、電子デバイスを含み得る。いくつかの例において、ソースデバイスおよび受信デバイスは、ワイヤレス通信のための１つまたは複数のワイヤレストランシーバを含み得る。本明細書において説明されるコーディング技法は、（例えば、インターネット上の）ストリーミングビデオ送信、テレビジョンブロードキャストまたは送信、データ記憶媒体上への記憶のためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションを含む、様々なマルチメディアアプリケーションにおけるビデオコーディングに適用可能である。いくつかの例において、システム２０００は、ビデオ会議、ビデオストリーミング、ビデオプレイバック、ビデオブロードキャスティング、ゲーミング、および／またはビデオ電話通信のような、アプリケーションをサポートするために、一方通行または２方向通行のビデオ送信をサポートすることができる。
【０２５９】
[0296]符号化デバイス２００４（またはエンコーダ）は、符号化されたビデオビットストリームを生成するために、ビデオコーディング規格またはプロトコルを使用して、バーチャル・リアリティ・ビデオデータを含む、ビデオデータを符号化するために使用されることができる。ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１ビジュアル、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２ビジュアル、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４ビジュアルおよび  ＩＴＵ−Ｔ  Ｈ．２６４（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４ＡＶＣとしても知られる）を含み、それぞれ、ＳＶＣおよびＭＶＣとして知られる、それの拡張性のある（scalable）ビデオコーディングおよびマルチビュー（multiview）ビデオコーディング拡張を含む。より最近のビデオコーディング規格、Ｈｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）は、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）およびＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）のビデオコーディングのジョイントコラボレーションチーム（ＪＣＴ−ＶＣ）によってまとめられた。ＨＥＶＣへの様々な拡張は、ＭＶ−ＨＥＶＣと呼ばれる、ＨＥＶＣへのマルチビュー拡張、および、ＳＨＶＣと呼ばれる、ＨＥＶＣへの拡張性のある拡張、または何らかの他の適したコーディングプロトコルを含め、マルチレイヤビデオコーディングを扱い、またＪＣＴ−ＶＣによって発展させられている。
【０２６０】
[0297]本明細書において説明されるインプリメンテーションは、ＨＥＶＣ規格、またはそれの拡張を使用する例を説明する。しかしながら、本明細書において説明される技法およびシステムはまた、ＡＶＣ、ＭＰＥＧ、それらの拡張、あるいは既に利用可能であるかまたは未だに利用可能でないかまたは展開されていない他の適したコーディング規格などの、他のコーディング規格に適用され得る。したがって、本明細書において説明される技法およびシステムが特定のビデオコーディング規格を参照して説明され得るが、当業者のうちの１人は、記述がその特定の規格にのみ適用されるように解釈されるべきではないことを理解するだろう。
【０２６１】
[0298]ビデオソース２００２は、符号化デバイス２００４にビデオデータを提供し得る。ビデオソース２００２は、ソースデバイスの部分であり得、または、ソースデバイス以外のデバイスの部分であり得る。ビデオソース２００２は、ビデオキャプチャデバイス（例えば、ビデオカメラ、カメラ電話、ビデオ電話、または同種のもの）、記憶されたビデオを含むビデオアーカイブ、ビデオデータを提供するビデオサーバまたはコンテンツプロバイダ、ビデオサーバまたはコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、コンピュータグラフィックビデオデータを生成するためのコンピュータグラフィックシステム、そのようなソースの組合せ、または他の任意の適したビデオソースを含み得る。ビデオソース２００２の１つの例は、インターネットプロトコルカメラ（ＩＰカメラ）を含むことができる。ＩＰカメラは、監視、ホームセキュリティ、または他の適したアプリケーションに使用されることができるデジタルビデオカメラの一タイプである。アナログ閉回路テレビ（ＣＣＴＶ）カメラとは異なって、ＩＰカメラは、コンピュータネットワークおよびインターネットを介して、データを送ることおよび受信することができる。
【０２６２】
[0299]ビデオソース２００２からのビデオデータは、１つまたは複数の入力ピクチャまたはフレームを含み得る。ピクチャまたはフレームは、ビデオの一部である静止画像である。符号化デバイス２００４の復号エンジン２００６（またはエンコーダ）は、符号化されたビデオビットストリームを生成するために、ビデオデータを符号化する。いくつかの例において、符号化されたビデオビットストリーム（または「ビデオビットストリーム」または「ビットストリーム」）は、１つまたは複数のコーディングされたビデオシーケンスのシリーズである。コーディングされたビデオシーケンス（ＣＶＳ）は、ベースレイヤにおいてランダムアクセスポイントピクチャを有しおよびそれまでのある特定のプロパティを有するＡＵから始まり、かつベースレイヤにおいてランダムアクセスポイントピクチャを有しおよびある特定のプロパティを有する次のＡＵを含まない、一連のアクセスユニット（ＡＵ）を含む。例えば、ＣＶＳを開始するランダムアクセスポイントピクチャのある特定のプロパティは、１に等しいＲＡＳＬフラグ（例えば、ＮｏＲａｓｌＯｕｔｐｕｔＦｌａｇ）を含み得る。そうでなければ、（０に等しいＲＡＳＬフラグを有する）ランダムアクセスポイントピクチャは、ＣＶＳを開始しない。アクセスユニット（ＡＵ）は、同じ出力時間を共有するコーディングされたピクチャに対応する１つまたは複数のコーディングされたピクチャおよび制御情報を含む。ピクチャのコーディングされたスライスは、ビットストリームレベルにおいてネットワーク抽象化レイヤ（ＮＡＬ）ユニットと呼ばれるデータユニットにカプセル化されている。例えば、ＨＥＶＣビデオビットストリームは、ＮＡＬユニットを含む１つまたは複数のＣＶＳを含み得る。ＮＡＬユニットの２つのクラスは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットおよび非ＶＣＬ  ＮＡＬユニットを含むＨＥＶＣ規格において存在する。ＶＣＬ  ＮＡＬユニットは、コーディングされたピクチャデータの（以下に説明される）１つのスライスまたはスライスセグメントを含み、非ＶＣＬ  ＮＡＬユニットは、１つまたは複数のコーディングされたピクチャに関連する制御情報を含む。
【０２６３】
[0300]ＮＡＬユニットは、ビデオにおけるピクチャのコーディングされた表現のような、ビデオデータのコーディングされた表現を形成する一連のビット（例えば、符号化されたビデオビットストリーム、ビットストリームのＣＶＳ、または同種のもの）を包含し得る。エンコーダエンジン２００６は、各ピクチャを複数のスライスに区分化する（partitioning）ことによって、ピクチャのコーディングされた表現を生成する。スライスは、次に、ルマサンプルおよびクロマサンプルのコーディングツリーブロック（ＣＴＢ）に区分化される。ルマサンプルのＣＴＢおよびクロマサンプルの１つまたは複数のＣＴＢは、サンプルに関するシンタックスと一緒に、コーディングツリーユニット（ＣＴＵ）と呼ばれる。ＣＴＵは、ＨＥＶＣ符号化に関するベーシック処理ユニットである。ＣＴＵは、可変サイズの複数のコーディングユニット（ＣＵ）に分割されることができる。ＣＵは、コーディングブロック（ＣＢ）と呼ばれるルマおよびクロマサンプルアレイを包含する。
【０２６４】
[0301]ルマおよびクロマＣＢは、予測ブロック（ＰＢ）にさらに分割されることができる。ＰＢは、インター予測に関して同じ動きパラメータを使用するルマまたはクロマコンポーネントのサンプルのブロックである。ルマＰＢおよび１つまたは複数のクロマＰＢ、アソシエートされたシンタックスと共に、予測ユニット（ＰＵ）を形成する。動きパラメータのセットは、各ＰＵごとにビットストリームにおいてシグナリングされ、ルマＰＢおよび１つまたは複数のクロマＰＢのインター予測に使用される。ＣＢはまた、１つまたは複数の変換ブロック（ＴＢ）に区分化されることができる。ＴＢは、同じ２次元の変換が、予測残余信号をコーディングするために、その上で適用される色コンポーネントのサンプルの正方形ブロックを表す。変換ユニット（ＴＵ）は、ルマおよびクロマサンプルのＴＢを表し、シンタックス要素に対応する。
【０２６５】
[0302]ＣＵのサイズはコーディングノードのサイズに対応し、形状が正方形であり得る。例えば、ＣＵのサイズは、８ｘ８のサンプル、１６ｘ１６のサンプル、３２ｘ３２のサンプル、６４ｘ６４のサンプル、または対応するＣＴＵのサイズまでの任意の他の適切なサイズであり得る。フレーズ「ＮｘＮ」は、垂直および水平次元（例えば、８画素ｘ８画素）の観点からビデオブロックの画素次元を参照するために本明細書において使用される。ブロックにおける画素は、行および列において配置され得る。いくつかの実施形態において、ブロックは、水平方向において、垂直方向においてとは同じ数の画素を有さない可能性がある。ＣＵに関連付けられたシンタックスデータは、例えば、１つまたは複数のＰＵへのＣＵの区分化を記述することができる。区分モードは、ＣＵがイントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非正方形であるように、区分化され得る。ＣＵに関連付けられたシンタックスデータはまた、例えば、ＣＴＵに従った、１つまたは複数のＴＵへのＣＵの区分化を記述し得る。ＴＵは、形状が正方形であるかまたは非正方形であることができる。
【０２６６】
[0303]ＨＥＶＣ規格に従って、変換は、変換ユニット（ＴＵ）を使用して行われ得る。ＴＵは、異なるＣＵによって、異なり得る。ＴＵは、所与のＣＵ内のＰＵのサイズに基づいて、サイズ付けされ得る。ＴＵは、ＰＵと同じサイズであるかまたはそれより小さい場合がある。いくつかの例において、ＣＵに対応する残差サンプルは、「残差四分木」（ＲＱＴ）として知られる四分木構造を使用してより小さい単位にさらに分割され（subdivided into）得る。ＲＱＴの葉ノードは、ＴＵに対応し得る。ＴＵと関連付けられた画素差分値は、変換係数を作り出すために変換され得る。変換係数は、次いで、エンコーダエンジン２００６によって量子化され得る。
【０２６７】
[0304]ビデオデータのピクチャがＣＵに一旦区分されると、エンコーダエンジン２００６は、予測モードを使用して、各ＰＵを予測する。予測は、次いで、残余を得るためにオリジナルのビデオデータから減算される（下記に説明される）。各ＣＵに関して、予測モードは、シンタックスデータを使用して、ビットストリームの内部において、シグナリングされ得る。予測モードは、イントラ予測（またはイントラピクチャ予測）またはインター予測（またはインターピクチャ予測）を含み得る。イントラ予測を使用して、各ＰＵは、例えば、ＰＵに関する平均値を発見するためのＤＣ予測、平面（planar surface）をＰＵに納めるための平面予測、近隣の（neighboring）データから外挿する（extrapolate）ための方向予測、または何らかの他の適したタイプの予測を使用して、同じピクチャにおける近隣の画像データから予測される。インター予測を使用して、各ＰＵは、（出力順序における現在のピクチャの前または後の）１つまたは複数の参照ピクチャにおける画像データからの動き補償予測を使用して、予測される。インターピクチャまたはイントラピクチャ予測を使用して、ピクチャエリアをコーディングするかどうかの決定は、例えば、ＣＵレベルにおいて、なされ得る。いくつかの例において、ピクチャの１つまたは複数のスライスは、スライスタイプに割り当てられる。スライスタイプは、Ｉスライス、Ｐスライス、およびＢスライスを含む。Ｉスライス（イントラフレーム、独立して復号可能である）は、イントラ予測によってのみコーディングされるピクチャのスライスであり、それ故、Ｉスライスは、スライスの任意のブロックを予測するためにフレーム内のデータのみを必要とするので、独立して、復号可能である。Ｐスライス（単一方向予測された（uni-directional predicted）フレーム）は、イントラ予測および単一方向インター予測を用いてコーディングされ得るピクチャのスライスである。Ｐスライス内の各ブロックは、イントラ予測またはインター予測のいずれかを用いて、コーディングされる。インター予測が適用されるとき、ブロックは１つの参照ピクチャによってのみ予測され、それ故、参照サンプルは、１つのフレームの１つの参照領域からのみである。Ｂスライス（双方向予測フレーム）は、イントラ予測およびインター予測内でコーディングされ得るピクチャのスライスである。Ｂスライスのブロックは、２つの参照ピクチャから双方向予測され（bi-directional predicted）得、ここで、各ピクチャは、１つの参照領域に寄与し（contributes）、双方向予測されたブロックの予測信号を作り出すために、２つの参照領域のサンプルセットが（例えば、等しい重さで）重み付けされる（weighted）。上記で説明されたように、１つのピクチャのスライスは、独立してコーディングされる。いくつかの事例において、ピクチャは、ただ１つのスライスとしてコーディングされることができる。
【０２６８】
[0305]ＰＵは、予測プロセスに関連したデータを含み得る。例えば、イントラ予測を使用してＰＵが符号化されるとき、ＰＵは、ＰＵに関するイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインター予測を使用して符号化されるとき、ＰＵは、ＰＵに関する動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、例えば、動きベクトルの水平コンポーネント、動きベクトルの垂直コンポーネント、動きベクトルのための解像度（例えば、４分の１画素精度または８分の１画素精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルに関する参照ピクチャリスト（例えば、リスト０、リスト１、またはリストＣ）を記述することができる。
【０２６９】
[0306]符号化デバイス２００４は、次いで、変換および量子化を行い得る。例えば、予測に続いて、エンコーダエンジン２００６は、ＰＵに対応する残差値を計算し得る。残差値は、画素差分値を備え得る。予測が行われた後に残り得るいずれの残差データは、ブロック変換を使用して変換され、それは、離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、または他の適した変換関数に基づき得る。いくつかの事例において、１つまたは複数のブロック変換（例えば、サイズ３２ｘ３２、１６ｘ１６、８ｘ８、４ｘ４、または同種のもの）は、各ＣＵにおいて、残余データに適用され得る。いくつかの実施形態において、ＴＵは、エンコーダエンジン２００６によってインプリメントされた変換および量子化プロセスに使用され得る。１つまたは複数のＰＵを有する所与のＣＵはまた、１つまたは複数のＴＵを有し得る。下記でさらに詳細に説明されるように、残余値は、ブロック変換を使用して、変換係数に変換され得、次いで、エントロピーコーディングのための直列に変換された（serialized）変換係数を作り出すためにＴＵを使用して、量子化され得、およびスキャンされ得る。
【０２７０】
[0307]ＣＵのＰＵを使用するイントラ予測またはインター予測コーディングに従ういくつかの実施形態において、エンコーダエンジン２００６は、ＣＵのＴＵに関する残差データを計算し得る。ＰＵは、空間ドメイン（または画素ドメイン）において画素データを備え得る。ＴＵは、ブロック変換のアプリケーションに続く変換ドメインにおいて係数を備え得る。前に述べられたように、残差データは、ＰＵに対応する予測値と符号化されていないピクチャの画素との間の画素差分値に対応し得る。エンコーダエンジン２００６は、ＣＵに関する残差データを含むＴＵを形成し得、次いで、ＣＵに関する変換係数を作り出すためにＴＵを変換し得る。
【０２７１】
[0308]エンコーダエンジン２００６は、変換係数の量子化を行い得る。量子化は、係数を表すために使用されるデータの量を減らすために、変換係数を量子化することによって、さらなる圧縮を提供する。例えば、量子化は、いくつかまたは全ての係数に関連付けられたビット深度を減らし得る。１つの例において、ｎビットの値を有する係数は、量子化の間、ｍビット値まで、数値の端数が切り捨てられ得、ｎは、ｍよりも大きい。
【０２７２】
[0309]一旦、量子化が行われると、コーディングされたビデオビットストリームは、量子化された変換係数、予測情報（例えば、予測モード、動きベクトル、または同種のもの）、区分化情報、および、他のシンタックスデータのような、あらゆる他の適したデータ、を含む。コーディングされたビデオビットストリームの異なる要素は、次いで、エンコーダエンジン２００６によってエントロピー符号化され得る。いくつかの例において、エンコーダエンジン２００６は、エントロピー符号化されることができる直列に変換されたベクトルを作り出すために量子化された変換係数をスキャンするために、事前に定義されたスキャン順序を利用し得る。いくつかの例において、エンコーダエンジン２００６は、適応スキャンを行い得る。ベクトルを形成するために量子化された変換係数をスキャンした後に（例えば、１次元のベクトル）、エンコーダエンジン２００６は、ベクトルをエントロピー符号化し得る。例えば、エンコーダエンジン２００６は、コンテキスト適応型可変長コーディング、コンテキスト適応型バイナリ算術コーディング、シンタックスベースのコンテキスト適応型バイナリ算術コーディング、確率間隔区分化エントロピーコーディング、または別の適したエントロピー符号化技法を使用し得る。
【０２７３】
[0310]符号化デバイス２００４の出力２０１０は、受信デバイスの復号デバイス２０１２への通信リンク２０２０上で符号化されたビデオビットストリームデータを作り上げるＮＡＬユニットを送り得る。復号デバイス２０１２の入力２０１４は、ＮＡＬユニットを受信し得る。通信リンク２０２０は、ワイヤレスネットワーク、有線ネットワーク、または有線およびワイヤレスネットワークの組合せによって提供されたチャネルを含み得る。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組合せを含み得、および任意の適したワイヤレスネットワーク（例えば、インターネットまたは他のワイドエリアネットワーク、パケットベースのネットワーク、ＷｉＦｉＴＭ、無線周波数（ＲＦ）、ＵＷＢ、ＷｉＦｉ−Ｄｉｒｅｃｔ、セルラ、ＬＴＥ（登録商標）（Long-Term Evolution）、ＷｉＭａｘＴＭ、または同種のもの）を含み得る。有線ネットワークは、任意の有線のインターフェース（例えば、ファイバ、イーサネット（登録商標）、電力線イーサネット、同軸ケーブル上のイーサネット、デジタルシグナルライン（ＤＳＬ）、または同種のもの）を含み得る。有線および／またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチ、または同種のもののような、様々な設備を使用して、インプリメントされ得る。符号化されたビデオビットストリームデータは、ワイヤレス通信プロトコルのような、通信規格に従って変調され、宛先デバイスに送信され得る。
【０２７４】
[0311]いくつかの例において、符号化デバイス２００４は、記憶装置２００８において、符号化されたビデオビットストリームデータを記憶し得る。出力２０１０は、エンコーダエンジン２００６からまたは記憶装置２００８から符号化されたビデオビットストリームデータを取り出し得る。記憶装置２００８は、様々な分散された（distributed）または局所的にアクセスされたデータ記憶媒体のうちの任意のものを含み得る。例えば、記憶装置２００８は、ハードドライブ、記憶ディスク、フラッシュメモリ、揮発性または非揮発性メモリ、または符号化されたビデオデータを記憶するためのあらゆる他の適したデジタル記憶媒体を含み得る。
【０２７５】
[0312]復号デバイス２０１２の入力２０１４は、符号化されたビデオビットストリームデータを受信し、ビデオビットストリームデータをデコーダエンジン２０１６に、または、デコーダエンジン２０１６による後の使用のための記憶装置２０１８に、提供し得る。デコーダエンジン２０１６は、符号化されたビデオデータを作り上げる１つまたは複数コーディングされたビデオシーケンスの要素を（例えば、エントロピーデコーダを使用して）エントロピー復号することおよび抽出することによって、符号化されたビデオビットストリームデータを復号し得る。デコーダエンジン２０１６は、次いで、符号化されたビデオビットストリームデータの縮尺を変更し（rescale）およびそれに逆変換を行い得る。残差データは、そして、デコーダエンジン２０１６の予測ステージに渡される。デコーダエンジン２０１６は、次いで、画素のブロック（例えば、ＰＵ）を予測する。いくつかの例において、予測は、逆変換（残差データ）の出力に加えられる。
【０２７６】
[0313]復号デバイス２０１２は、ビデオ宛先デバイス２０２２に復号されたビデオを出力し得、それは、コンテンツの消費者に復号されたビデオデータを表示するためのディスプレイまたは他の出力デバイスを含み得る。いくつかの態様において、ビデオ宛先デバイス２０２２は、復号デバイス２０１２を含む受信デバイスの部分であり得る。いくつかの態様において、ビデオ宛先デバイス２０２２は、受信デバイスとは異なる別個のデバイスの部分であり得る。
【０２７７】
[0314]付加拡張情報（ＳＥＩ）メッセージは、ビデオビットストリームにおいて含まれることができる。例えば、ＳＥＩメッセージは、復号デバイス２０１２によってビットストリームを復号するために必須ではない（not essential）情報（例えば、メタデータ）を運ぶために使用され得る。この情報は、復号された出力（例えば、そのような情報は、コンテンツの見易さ（viewability）を改善するためにデコーダ側のエンティティによって使用されることができる）の表示または処理を改善することにおいて役立ち得る。
【０２７８】
[0315]いくつかの実施形態において、ビデオ符号化デバイス２００４および／またはビデオ復号デバイス２０１２は、それぞれ、音声符号化デバイスおよび音声復号デバイスと統合されることができる。ビデオ符号化デバイス２００４および／またはビデオ復号デバイス２０１２はまた、１つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらのおいずれの組み合わせなどの、上記で説明されるコーディング技法をインプリメントするために必要な他のハードウェアまたはソフトウェアを含み得る。ビデオ符号化デバイス２００４およびビデオ復号デバイス２０１２は、それぞれのデバイスにおいて組み合わされたエンコーダ／デコーダ（コーデック）の部分として統合され得る。
【０２７９】
[0316]ＨＥＶＣ規格への拡張は、ＭＶ−ＨＥＶＣと呼ばれる、マルチビュービデオコーディング拡張、および、ＳＨＶＣと呼ばれる、スケーラブルビデオコーディング拡張を含む。ＭＶ−ＨＥＶＣおよびＳＨＶＣ拡張は、レイヤードコーディングの概念を、符号化されたビデオビットストリームにおいて含まれている異なるレイヤと、共有する。コーディングされたビデオシーケンスにおいて各レイヤは、固有レイヤ識別子（ＩＤ）によって、アドレス指定される。レイヤＩＤは、ＮＡＬユニットがそれと関連付けられたレイヤを識別するために、ＮＡＬユニットのヘッダにおいて存在し得る。ＭＶ−ＨＥＶＣにおいて、異なるレイヤは、ビデオビットストリームにおける同じシーンの異なる眺めを表すことができる。ＳＨＶＣにおいて、異なる空間解像度（spatial resolutions）（またはピクチャ解像度）または、異なる再構築の忠実性（fidelities）において、ビデオビットストリームを表す異なる拡張性のあるレイヤは、提供される。拡張性のあるレイヤは、（レイヤＩＤ  ＝０を有する）ベースレイヤおよび１つまたは複数の（レイヤＩＤ  ＝１、２、…  ｎを有する）拡張レイヤを含み得る。ベースレイヤは、ＨＥＶＣの初版のプロファイルに適合し得、およびビットストリームにおける最も低い利用可能なレイヤを表す。拡張レイヤは、基準レイヤと比較すると、空間解像度、時間解像度（temporal resolution）またはフレームレート、および／または再構築忠実性（または質）を増やした。拡張レイヤは、階層的に編成されており、下層レイヤに依存し得る（かまたはしない可能性がある）。いくつかの例において、異なるレイヤは、単一の規格コーデックを使用してコーディングされ得る（例えば、ＨＥＶＣ、ＳＨＶＣ、または他のコーディング規格を使用して、全てのレイヤは符号化されている）。いくつかの例において、異なるレイヤは、マルチスタンダードのコーデックを使用してコーディングされ得る。例えば、ベースレイヤは、ＡＶＣを使用してコーディングされ得る一方で、１つまたは複数の拡張レイヤは、ＨＥＶＣ規格へのＳＨＶＣおよび／またはＭＶ−ＨＥＶＣ拡張を使用して、コーディングされ得る。一般に、レイヤは、ＶＣＬ  ＮＡＬユニットのセットおよび非ＶＣＬ  ＮＡＬユニットの対応するセットを含む。ＮＡＬユニットは、特定のレイヤＩＤの値に割り当てられる。レイヤは、レイヤが下層レイヤ（a lower layer）に依存し得るという意味において階層的であることができる。
【０２８０】
[0317]一般に、レイヤは、ＶＣＬ  ＮＡＬユニットのセットおよび非ＶＣＬ  ＮＡＬユニットの対応するセットを含む。ＮＡＬユニットは、特定のレイヤＩＤの値に割り当てられる。レイヤは、レイヤが下層レイヤに依存し得るという意味において階層的であることができる。レイヤセットは、ビットストリーム内で表現される独立言語である（self-contained）レイヤのセットを指し、レイヤセット内のレイヤは、復号プロセスにおいてレイヤセットにおける他のレイヤに依存することができるが、復号するために他の如何なるレイヤにも依存するのではないことを意味する。したがって、レイヤセットにおけるレイヤは、ビデオ・コンテンツを表すことができる独立したビットストリームを形成することができる。レイヤセットのけるレイヤのセットは、サブビットストリーム抽出プロセスの動作によって、他のビットストリームから取得され得る。レイヤセットは、デコーダがある特定のパラメータに従って動作することを望むとき、復号されることになるレイヤのセットに対応し得る。
【０２８１】
[0318]カメラ（例えば、魚眼カメラまたは他の全方位カメラ）によってキャプチャされたビデオデータは、送信および記憶に必要とされるデータの量を減らすためにコーディングされることができる。コーディング技術は、例となるビデオ符号化および復号システム（例えば、システム２０００）においてインプリメントされ得る。いくつかの例において、システムは、宛先デバイスによってその後の時間に復号されることになる符号化されたビデオデータを提供するソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介して宛先デバイスにビデオデータを提供する。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話の送受話器、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤー、ビデオゲーム機、ビデオストリーミングデバイスまたは同様のものを含む、広範囲のデバイスのうちの任意のものを備え得る。いくつかの事例において、ソースデバイスおよび宛先デバイスは、ワイヤレス通信のために装備され得る。
【０２８２】
[0319]符号化デバイス２１０４および復号デバイス２２１２の特定の詳細が、それぞれ、図２１および図２２に示される。図２１は、本開示において説明される技法のうちの１つまたは複数をインプリメントし得る例となる符号化デバイス２１０４を例示しているブロック図である。符号化デバイス２１０４は、例えば、本明細書において説明されるシンタックス構造（例えば、ＶＰＳ、ＳＰＳ、ＰＰＳのシンタックス構造、あるいは、他のシンタックス要素）を生成し得る。符号化デバイス２１０４は、ビデオスライス内のビデオブロックのイントラ予測およびインター予測コーディングを行い得る。前に説明されたように、イントラコーディングは、所与のビデオフレームまたはピクチャ内の空間的冗長性を減らすかまたは取り除くために空間的予測に、少なくとも部分的に、依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたは周囲のフレーム内の時間冗長性を減らすかまたは取り除くために時間予測に、少なくとも部分的に、依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのうちの任意のものを指し得る。単一方向予測（Ｐモード）または双方向予測（Ｂモード）のような、インターモードは、いくつかの時間ベースの圧縮モードのうちの任意のものに言及し得る。
【０２８３】
[0320]符号化デバイス２１０４は、区分化ユニット３５、予測処理ユニット４１、フィルタユニット６３、ピクチャメモリ６４、加算器５０、変換処理ユニット５２、量子化ユニット５４、およびエントロピー符号化ユニット５６を含む。予測処理ユニット４１は、動き推定ユニット４２、動き補償ユニット４４、およびイントラ予測処理ユニット４６を含む。ビデオブロック再構築のために、符号化デバイス２１０４はまた、逆量子化ユニット５８、逆変換処理ユニット６０、および加算器６２を含む。フィルタユニット６３は、非ブロック化フィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなどの、１つまたは複数のループフィルタを表すことが意図される。フィルタユニット６３が図２１においてインループフィルタであるとして示されるが、他の構成において、フィルタユニット６３は、ポストループフィルタとしてインプリメントされ得る。後処理デバイス５７は、符号化デバイス２１０４によって生成される符号化されたビデオデータ上で追加の処理を行い得る。本開示の技法は、いくつかの例において、符号化デバイス２１０４によって、インプリメントされ得る。しかしながら、他の例において、本開示の技法のうちの１つまたは複数は、後処理デバイス５７によってインプリメントされ得る。
【０２８４】
[0321]図２１において示されるように、符号化デバイス２１０４は、ビデオデータを受信し、区分化ユニット３５は、データをビデオブロックに区分する。この区分化はまた、例えば、ＬＣＵおよびＣＵの四分木構造に従った、ビデオブロック区分化に加え、スライス、スライスセグメント、タイルまたは他のより大きなユニットへの区分化を含み得る。符号化デバイス２１０４は、一般に、符号化されることになるビデオスライス内のビデオブロックを符号化するコンポーネントを例示する。スライスは、複数のビデオブロック（そして、場合によっては、タイルと呼ばれるビデオブロックのセット）へと分割され得る。予測処理ユニット４１は、誤差結果（例えば、コーディングレートおよびひずみのレベル、または同種のもの）に基づいて、現在のビデオブロックに対して、複数の可能なコーディングモードのうちの１つ、例えば、複数のイントラ予測コーディングモードのうちの１つまたは複数のインター予測コーディングモードのうちの１つ、を選択し得る。予測処理ユニット４１は、結果として生じるイントラまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器５０に、参照ピクチャとしての使用のための符号化されたブロックを再構築するために加算器６２に、提供し得る。
【０２８５】
[0322]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間的圧縮を提供するためにコーディングされることになる現在のブロックと同じフレームまたはスライスにおける１つまたは複数の近隣のブロックに対して、現在のビデオブロックのイントラ予測コーディングを行い得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を提供するために、１つまたは複数の参照ピクチャ内の１つまたは複数の予測ブロックに対して、現在のビデオブロックのインター予測コーディングを実行する。
【０２８６】
[0323]動き推定ユニット４２は、ビデオシーケンスに関する所定のパターンに従って、ビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、Ｐスライス、Ｂスライス、またはＧＰＢスライスとしてシーケンスにおけるビデオスライスを指定することができる。動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的な目的のために別個に例示されている。動き推定ユニット４２によって行われる、動き推定は、ビデオブロックのための動きを推定する、動きベクトルを生成する処理である。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内でのビデオブロックの予測ユニット（ＰＵ）の変位（displacement）を示し得る。
【０２８７】
[0324]予測ブロックは、画素差分の観点から、コーディングされる予定のビデオブロックのＰＵに密接に一致すると発見されるブロックであり、それは、絶対値差分の和（ＳＡＤ）、二乗差分の和（ＳＳＤ）、または他の差分メトリックによって決定され得る。いくつかの例において、符号化デバイス２１０４は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数画素位置に関する値を計算し得る。例えば、符号化デバイス２１０４は、参照ピクチャの４分の１画素位置、８分の１画素位置、または他の分数画素位置の値を補間し得る。それ故に、動き推定ユニット４２は、全画素位置および分数画素位置に対して、動き探索を実行し得、分数画素精度で動きベクトルを出力し得る。
【０２８８】
[0325]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することで、インターコーディングされたスライス内のビデオブロックのＰＵについての動きベクトルを算出する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々は、ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、算出された動きベクトルを、エントロピー符号化ユニット５６および動き補償ユニット４４に送る。
【０２８９】
[0326]動き補償ユニット４４によって実行される、動き補償は、動き推定によって決定される動きベクトルに基づく予測ブロックを取り込むこと（fetching）または生成することを伴い得、場合によりサブ画素精度に対する補間を実行する。現在のビデオブロックのＰＵについての動きベクトルを受ける際、動き補償ユニット４４は、動きベクトルが指す予測ブロックを参照ピクチャリストにおいて場所を見つけ得る。符号化デバイス２１０４は、コーディングされている現在のビデオブロックの画素値から予測ブロックの画素値を減算することで残差ビデオブロックを形成し、画素差分値を形成する。画素差分値は、このブロックに関する残差データを形成し、ルマおよびクロマの両方の差分成分を含み得る。加算器５０は、この減算演算を実行する１つまたは複数のコンポーネントを表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際に、復号デバイス２２１２による使用のためのビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成し得る。
【０２９０】
[0327]イントラ予測処理ユニット４６は、上記に説明されるように、動き推定ユニット４２および動き補償ユニット４４によって実行されるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測処理ユニット４６は、現在のブロックを符号化するために使用するためにイントラ予測モードを決定し得る。いくつかの例において、イントラ予測処理ユニット４６は、例えば、別個の符号化パスの間に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測処理ユニット４６（または、いくつかの例においては、モード選択ユニット４０）は、テストされたモードから使用するための適切なイントラ予測モードを選択し得る。例えば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためにレートひずみ分析を使用してレートひずみ値を計算し得、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックを作り出すために使用されるビットレート（つまり、ビットの数）に加えて、符号化されたブロックと、符号化されたブロックを作り出すために符号化された、オリジナルの、符号化されていないブロックとの間のひずみ（または誤り）の量を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがそのブロックに関して最良のレートひずみ値を示すかを決定するために、様々な符号化されたブロックに関するひずみおよびレートからの比率を計算し得る。
【０２９１】
[0328]いずれの場合でも、ブロックのためのイントラ予測モードを選択した後で、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供することができる。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。符号化デバイス２１０４は、送信されたビットストリーム構成データにおいて、様々なブロックに関するコンテキストを符号化することの定義、ならびに、最も可能性の高い（most probable）イントラ予測モード、イントラ予測モードインデックステーブル、およびコンテキストの各々に使用するための修正されたイントラ予測モードインデックステーブルのインジケーションを含み得る。ビットストリーム構成データは、複数のイントラ予測モードインデックステーブルおよび複数の（また、コードワードマッピングテーブルとも呼ばれ得る）修正されたイントラ予測モードインデックステーブルを含み得る。
【０２９２】
[0329]予測処理ユニット４１がインター予測またはイントラ予測のいずれかを介して現在のビデオブロックに関する予測ブロックを生成した後で、符号化デバイス２１０４は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、１つまたは複数のＴＵに含まれ得、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念上で同様の変換などの、変換を使用して残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータを画素ドメインから、周波数ドメインのような、変換ドメインに変換し得る。
【０２９３】
[0330]変換処理ユニット５２は、結果として生じる変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに減らすために変換係数を量子化する。量子化処理は、いくつかまたは全ての係数に関連付けられたビット深度を減らし得る。量子化の程度は、量子化パラメータを調整することで修正され得る。いくつかの例において、量子化ユニット５４は、次いで、量子化された変換係数を含む行列のスキャンを実行し得る。代替的に、エントロピー符号化ユニット５６が、スキャンを実行し得る。
【０２９４】
[0331]量子化に続いて、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースのコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分化エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コーディング、または別のエントロピー符号化技法を実行することができる。エントロピー符号化ユニット５６によるエントロピー符号化に続いて、符号化されたビットストリームは、復号デバイス２２１２に送信され得るか、または復号デバイス２２１２による後の送信または取り出しのためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在のビデオスライスについての動きベクトルおよび他のシンタックス要素をエントロピー符号化し得る。
【０２９５】
[0332]逆量子化ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとしての後の使用のための画素ドメインにおいて残差ブロックを再構築するために、逆量子化および逆変換を、それぞれ適用する。動き補償ユニット４４は、参照ピクチャリスト内の参照ピクチャのうちの１つの予測ブロックに残差ブロックを加えることで参照ブロックを算出し得る。動き補償ユニット４４はまた、再構築された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定における使用のためのサブ整数画素値を算出し得る。加算器６２は、ピクチャメモリ６４内への記憶のための参照ブロックを作り出すために動き補償ユニット４４によって作り出された動き補償予測ブロックに再構築されたビデオブロックを追加する。参照ブロックは、その後のビデオフレームまたはピクチャにおいてブロックをインター予測するために、参照ブロックとして、動き推定ユニット４２および動き補償ユニット４４によって使用され得る。
【０２９６】
[0333]このように、図２１の符号化デバイス２１０４は、符号化されたビデオビットストリームに関するシンタックスを生成するために構成されたビデオエンコーダの例を表す。符号化デバイス２１０４は、例えば、上記で説明されたような、ＶＰＳ、ＳＰＳ、およびＰＰＳのパラメータセットを生成し得る。符号化デバイス２１０４は、図２１および図２２に関して上記で説明された処理を含め、本明細書で説明される技法のうちの任意のものを行い得る。本開示の技法は、概して符号化デバイス２１０４に関して説明されているが、上記で述べたように、本開示の技法のうちのいくつかはまた、後処理デバイス５７によってインプリメントされ得る。
【０２９７】
[0334]図２２は、例となる復号デバイス２２１２を例示するブロック図である。復号デバイス２２１２は、エントロピー復号ユニット８０、予測処理ユニット８１、逆量子化ユニット８６、逆変換処理ユニット８８、加算器９０、フィルタユニット９１、およびピクチャメモリ９２を含む。予測処理ユニット８１は、動き補償ユニット８２およびイントラ予測処理ユニット８４を含む。復号デバイス２２１２は、いくつかの例において、図２１からの符号化デバイス２１０４に関して説明される符号化パスと概して逆の（reciprocal to）復号パスを実行することができる。
【０２９８】
[0335]復号プロセスの間、復号デバイス２２１２は、符号化されたビデオスライスのビデオブロックおよび符号化デバイス２１０４から送られたアソシエートされたシンタックス要素を表す符号化されたビデオビットストリームを受信する。いくつかの実施形態において、復号デバイス２２１２は、符号化デバイス２１０４から符号化されたビデオビットストリームを受信し得る。いくつかの実施形態において、復号デバイス２２１２は、サーバ、メディア認識ネットワーク要素（ＭＡＮＥ：media-aware network element）、ビデオエディタ／スプライサ、または上記で説明された技法のうちの１つまたは複数をインプリメントするように構成された他のそのようなデバイス、などの、ネットワークエンティティ７９から符号化されたビデオビットストリームを受信し得る。ネットワークエンティティ７９は、符号化デバイス２１０４を含み得るかまたは含まない可能性がある。本開示で説明される技法のうちのいくつかは、ネットワークエンティティ７９が復号デバイス２２１２に符号化されたビデオビットストリームを送信することに先だって、ネットワークエンティティ７９によってインプリメントされ得る。いくつかのビデオ復号システムにおいて、ネットワークエンティティ７９および復号デバイス２２１２は、別個のデバイスの部分であり得、一方で、他の例において、ネットワークエンティティ７９に関して説明される機能性は、復号デバイス２２１２を備える同じデバイスによって行われ得る。
【０２９９】
[0336]復号デバイス２２１２のエントロピー復号ユニット８０は、量子化された係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルおよび他のシンタックス要素を予測処理ユニット８１に転送する。復号デバイス２２１２は、ビデオスライスレベルおよび／またはビデオブロックレベルにおいてシンタックス要素を受け得る。エントロピー復号ユニット８０は、ＶＰＳ、ＳＰＳ、およびＰＰＳのセットのような、１つまたは複数のパラメータセットにおける固定長のシンタックス要素および可変長のシンタックス要素の両方を処理およびパーシングし得る。
【０３００】
[0337]ビデオスライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、現在のフレームまたはピクチャの以前に復号されたブロックからのシグナリングされたイントラ予測モードおよびデータに基づいて現在のビデオスライスのビデオブロックに関する予測データを生成し得る。ビデオフレームがインターコーディングされた（即ち、Ｂ、Ｐ、またはＧＰＢ）スライスとしてコーディングされるとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受けた動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックについての予測ブロックを作り出す。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの１つから作り出され得る。復号デバイス２２１２は、ピクチャメモリ９２内に記憶された参照ピクチャに基づいてデフォルト構築技法を使用して参照フレームリスト、リスト０およびリスト１を構築し得る。
【０３０１】
[0338]動き補償ユニット８２は、動きベクトルおよび他のシンタックス要素をパーシングすることで現在のビデオスライスのビデオブロックについての予測情報を決定し、この予測情報を使用して、復号されている現在のビデオブロックについての予測ブロックを作り出す。例えば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（例えば、イントラまたはインター予測）を決定するためにパラメータセットにおける１つまたは複数のシンタックス要素、インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）、スライスに関する１つまたは複数の参照ピクチャリストについての構築情報、スライスの各インター符号化されたビデオブロックについての動きベクトル、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータス、および現在のビデオスライス内のビデオブロックを復号するための他の情報を使用し得る。
【０３０２】
[0339]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、参照ブロックのサブ整数画素についての補間値を算出するためにビデオブロックの符号化の間、符号化デバイス２１０４によって使用されるような補間フィルタを使用し得る。この事例において、動き補償ユニット８２は、受信されたシンタックス要素から符号化デバイス２１０４によって使用される補間フィルタを決定し得、予測ブロックを作り出すために補間フィルタを使用し得る。
【０３０３】
[0340]逆量子化ユニット８６は、ビットストリームにおいて提供され、かつ、エントロピー復号ユニット８０によって復号された量子化された変換係数を逆量子化（inverse quantize）、または、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度、また同じ様に、適用されるべき逆量子化の程度を決定するために、ビデオスライスにおける各ビデオブロックについて、符号化デバイス２１０４によって算出される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、画素ドメインにおいて残差ブロックを作り出すために、逆変換、（例えば、逆ＤＣＴまたは他の適した逆変換）、逆整数変換、または概念上で同様の逆変換プロセスを、変換係数に適用する。
【０３０４】
[0341]動き補償ユニット８２が動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックに関する予測ブロックを生成した後で、復号デバイス２２１２は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成される対応する予測ブロックと合計することによって復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数のコンポーネントを表す。所望される場合、（コーディングループ内またはコーディングループ後のどちらかの）ループフィルタは、画素遷移を平滑にするために、またはそうでなければビデオ品質を改善するためにもされ得る。フィルタユニット９１は、非ブロック化フィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなどの、１つまたは複数のループフィルタを表すことが意図される。フィルタユニット９１が図２２においてインループフィルタであるとして示されるが、他の構成において、フィルタユニット９１は、ポストループフィルタとしてインプリメントされ得る。所与のフレームまたはピクチャにおいて復号されたビデオブロックは、次いで、ピクチャメモリ９２において記憶され、それは、後の動き補償のために使用される参照ピクチャを記憶する。ピクチャメモリ９２はまた、図２０において示されるビデオ宛先デバイス２０２２などのような、ディスプレイデバイス上での後のプレゼンテーションのために復号されたビデオを記憶する。
【０３０５】
[0342]前述の記述において、出願の態様は、それの特定の実施形態を参照して説明されるが、当業者は、本開示がそれに限定されないことを認識するだろう。このように、出願の例示的な実施形態が、本明細書の詳細において記述される一方で、発明概念がさもなければ様々に実現され得および用いられ得ること、および、先行技術によって制限される場合を除き、添付の請求項がそのような変形を含むように解釈されるように意図されることが理解されるべきである。上記に説明された開示の様々な特徴および態様が個々にまたは合同で（jointly）され得る。さらに、実施形態は、本明細書のより広範な精神と範囲を逸脱することなく、本明細書で説明されるものを超えるいずれの数の環境およびアプリケーションにおいて、利用されることができる。従って、本明細書および図面は、制限的ではなく、例示的と見なされるべきである。例示の目的のために、方法は、特定の順序で説明された。代替的な実施形態において、方法は、説明されるものとは異なる順序で行われ得ることが理解されるべきである。
【０３０６】
[0343]コンポーネントが、ある特定の動作を行う「ように構成される（configured to）」であると説明される場合、そのような構成は、例えば、動作を行うように電子回路または他のハードウェアを設計することによって、動作を行うようにプログラム可能な電子回路（例えば、マイクロプロセッサ、または他の適した電子回路）をプログラミングすることによって、あるいはそれらの任意の組合せで、達成されることができる。
【０３０７】
[0344]本明細書で開示された実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとしてインプリメントされ得る。ハードウェアおよびソフトウェアのこの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップは、概してそれらの機能の観点から上記に説明された。このような機能が、ハードウェアとしてインプリメントされるか、またはソフトウェアとしてインプリメントされるかは、特定のアプリケーションおよびシステム全体に課せられる設計制約に依存する。当業者は、各特定のアプリケーションごとに多様な方法において、説明される機能をインプリメントし得るが、このようなインプリメンテーションの決定は、本開示の範囲から逸脱を引き起こしていると解釈されるべきでない。
【０３０８】
[0345]本明細書で説明される技法は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せにおいてインプリメントされ得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットにおけるアプリケーションおよび他のデバイスを含む複数の用途を有する集積回路デバイスのような、様々なデバイスの任意のものにおいてインプリメントされ得る。モジュールまたはコンポーネントとして説明される任意の特徴は、集積論理デバイスで纏めて、または、ディスクリートではあるが相互動作可能な論理デバイスとして別々にインプリメントされ得る。ソフトウェアでインプリメントされる場合、この技法は、実行されると、上記で説明された方法のうちの１つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ読取可能なデータ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ読取可能なデータ記憶媒体は、パッケージングマテリアルを含み得る、コンピュータプログラム製品の部分を形成し得る。コンピュータ読取可能な媒体は、同期動的ランダムアクセスメモリ（ＳＤＲＡＭ）のようなランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、不揮発ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能なプログラマブル読取専用メモリ（ＥＥＰＲＯＭ（登録商標））、ＦＬＡＳＨメモリ、磁気または光学データ記憶媒体、等のメモリまたはデータ記憶媒体を備え得る。技法は、追加的にまたは代替的に、少なくとも部分的に、伝播される信号または波のような、コンピュータによってアクセス、読取、および／または実行されることができ、かつ、データ構造または命令の形式でプログラムコードを搬送または通信するコンピュータ読取可能な通信媒体によって実現され得る。
【０３０９】
[0346]プログラムコードは、１つまたは複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の同等の集積回路またはディスクリート論理回路のような、１つまたは複数のプロセッサを含み得る、プロセッサによって実行され得る。そのようなプロセッサは、本開示で説明される技法のうちの任意のものを実行するように構成され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携した１つまたは複数のマイクロプロセッサ、または任意の他のそのような構成としてインプリメントされ得る。従って、「プロセッサ」という用語は、本明細書で使用される場合、前述の構造の任意のもの、前述の構造の任意の組み合わせ、または本明細書で説明される技法のインプリメンテーションに適した任意の他の構造または装置を指し得る。加えて、いくつかの態様において、本明細書で説明される機能性は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得るか、あるいは、複合ビデオエンコーダ−デコーダ（ＣＯＤＥＣ）に組み込まれ得る。
【０３１０】
[0347]本明細書において議論されたコーディング技法は、例となるビデオ符号化および復号システムにおいて具現化され得る。システムは、宛先デバイスによってその後の時間に復号されることになる符号化されたビデオデータを提供するソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介して宛先デバイスにビデオデータを提供する。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話の送受話器、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤー、ビデオゲーム機、ビデオストリーミングデバイスまたは同様のものを含む、広範囲のデバイスのうちの任意のものを備え得る。いくつかの事例において、ソースデバイスおよび宛先デバイスは、ワイヤレス通信のために装備され得る。
【０３１１】
[0348]宛先デバイスは、コンピュータ可読媒体を介して復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体は、符号化されたビデオデータをソースデバイスから宛先デバイスに動かす能力がある任意のタイプの媒体またはデバイスを備え得る。１つの例において、コンピュータ可読媒体は、ソースデバイスがリアルタイムに直接に宛先デバイスに符号化されたビデオデータを送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような、通信規格に従って変調され得、宛先デバイスに送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理伝送線のような、任意のワイヤレスのまたは有線の通信媒体を備え得る。通信媒体は、ワイドエリアネットワーク、ローカルエリアネットワーク、またはインターネットのようなグローバルネットワークなどの、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を容易にするのに役立ち得る任意の他の設備を含み得る。
【０３１２】
[0349]いくつかの例において、符号化されたデータは、出力インターフェースから記憶デバイスに出力され得る。同様に、符号化されたデータは、入力インターフェースによって、記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または非揮発性メモリ、あるいは符号化されたビデオデータを記憶するためのあらゆる他の適したデジタル記憶媒体のような、様々な分散型または局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。さらなる例において、記憶デバイスは、ファイルサーバ、またはソースデバイスによって生成された符号化されたビデオを記憶し得る別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶することとその符号化されたビデオデータを宛先デバイスに送信することとを行う能力がある任意のタイプのサーバであり得る。例となるファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含む、任意の標準データ接続を通じて、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバ上に記憶された符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデム等）、またはその両方の組み合わせを含むことができる。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組み合わせであり得る。
【０３１３】
[0350]本開示の技法は、必ずしも、ワイヤレスアプリケーションまたはセッティングに制限されるわけではない。この技術は、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、ＨＴＴＰを介した動的適応型ストリーミング（ＤＡＳＨ）のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されるデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションのような、様々なマルチメディアアプリケーションのうちの任意のものをサポートするビデオコーディングに適用され得る。いくつかの例において、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話のようなアプリケーションをサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
【０３１４】
[0351]１つの例において、ソースデバイスは、ビデオソース、ビデオエンコーダ、および出力インターフェースを含む。宛先デバイスは、入力インターフェース、ビデオデコーダ、およびディスプレイデバイスを含み得る。ソースデバイスのビデオエンコーダは、本明細書において開示された技法を適用するように構成され得る。他の例において、ソースデバイスおよび宛先デバイスは、他のコンポーネントまたは配置（arrangemants）を含むことができる。例えば、ソースデバイスは、外部のカメラのような、外部のビデオソースからビデオデータを受信することができる。同様に、宛先デバイスは、統合されたディスプレイデバイスを含むのではなく、むしろ外部のディスプレイデバイスとインターフェースで接続し得る。
【０３１５】
[0352]上記の例となるシステムは、単なる１つの例に過ぎない。並列にビデオデータを処理するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法は、ビデオ符号化デバイスによって行われるが、技法はまた、典型的に「ＣＯＤＥＣ」と呼ばれる、ビデオエンコーダ／デコーダによっても行われ得る。さらに、本開示の技法はまた、ビデオプレプロセッサによっても実行され得る。ソースデバイスおよび宛先デバイスは単に、ソースデバイスが宛先デバイスへの送信のためにコーディングされたビデオデータをその中で生成するそのようなコーディングデバイスの例に過ぎない。いくつかの例において、ソースデバイスおよび宛先デバイスは、デバイスの各々がビデオ符号化および復号コンポーネントを含むような実質的に対称なやり方で動作し得る。従って、例となるシステムは、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話のための、ビデオデバイス間の一方向または二方向ビデオ送信をサポートし得る。
【０３１６】
[0353]ビデオソースは、ビデオカメラ、以前にキャプチャされたビデオを包含するビデオアーカイブ、および／またはビデオ・コンテンツ・プロバイダからビデオを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代わりとして、ビデオソースは、ソースビデオのようなコンピュータグラフィックベースのデータ、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ生成されたビデオの組み合わせを生成することができる。いくつかの事例において、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラ付電話、またはビデオ電話を形成できる。しかしながら、上記で言及されたように、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／または有線アプリケーションに適用され得る。各事例において、キャプチャされた、事前キャプチャされた、またはコンピュータ生成のビデオは、ビデオエンコーダによって符号化され得る。符号化されたビデオ情報は、次いで、コンピュータ可読媒体上に出力インターフェースによって出力され得る。
【０３１７】
[0354]述べたように、コンピュータ可読媒体は、ワイヤレスブロードキャストまたは有線ネットワーク送信のような一時的な媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、または他のコンピュータ可読媒体のような記憶媒体（つまり、非一時的な記憶媒体）を含むことができる。いくつかの例において、ネットワークサーバ（図示せず）は、ソースデバイスから符号化されたビデオデータを受信し得、例えばネットワーク送信を介して、宛先デバイスに符号化されたビデオデータを提供し得る。同様に、ディスクスタンピング設備のような媒体製造設備（medium production facility）のコンピュータデバイスは、ソースデバイスから符号化されたビデオデータを受信し得、符号化されたビデオデータを包含するディスクを作り出すことができる。従って、コンピュータ可読媒体は、様々な例において、様々な形式の１つまたは複数のコンピュータ可読媒体を含むように理解され得る。
【０３１８】
[0355]宛先デバイスの入力インターフェースは、コンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ブロックおよび他のコーディングされたユニット、例えば、ピクチャのグループ（ＧＯＰ）、の処理および／または特性を記述するシンタックス要素を含む、ビデオエンコーダによって定義されるシンタックス情報を含み得、それはまたビデオデコーダによっても使用される。ディスプレイデバイスは、ユーザに復号されたビデオデータを表示し、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような様々なディスプレイデバイスのうちの任意のものを備えることができる。本出願の様々な実施形態が説明された。
【図１Ａ】
2019517212.tif 000006
【図１Ｂ】
2019517212.tif 000007
【図２】
2019517212.tif 000008
【図３】
2019517212.tif 000009
【図４Ａ】
2019517212.tif 000010
【図４Ｂ】
2019517212.tif 000011
【図５】
2019517212.tif 000012
【図６Ａ】
2019517212.tif 000013
【図６Ｂ】
2019517212.tif 000014
【図７】
2019517212.tif 000015
【図８Ａ】
2019517212.tif 000016
【図８Ｂ】
2019517212.tif 000017
【図９】
2019517212.tif 000018
【図１０】
2019517212.tif 000019
【図１１】
2019517212.tif 000020
【図１２】
2019517212.tif 000021
【図１３】
2019517212.tif 000022
【図１４】
2019517212.tif 000023
【図１５】
2019517212.tif 000024
【図１６】
2019517212.tif 000025
【図１７】
2019517212.tif 000026
【図１８】
2019517212.tif 000027
【図１９】
2019517212.tif 000028
【図２０】
2019517212.tif 000029
【図２１】
2019517212.tif 000030
【図２２】
2019517212.tif 000031
【手続補正書】
【提出日】平成31年1月17日(2019.1.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを処理するための方法であって、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得すること、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得すること、ここにおいて、前記パラメータは、前記ビデオフレームに関して、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化すること、ここにおいて、符号化することは、前記画像の前記円形領域を符号化することを含む、と、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を備える、方法。
【請求項２】
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項３】
前記符号化されたビデオデータを生成することは、前記符号化された３６０度のビデオデータをファイルに書き込むことを含み、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、請求項１に記載の方法。
【請求項４】
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、請求項３に記載の方法。
【請求項５】
前記パラメータは、制限されたスキーム情報ボックスに含まれる、請求項３に記載の方法。
【請求項６】
前記パラメータを付加拡張情報（ＳＥＩ）メッセージに符号化すること、ここにおいて、前記ＳＥＩメッセージは、前記符号化された３６０度のビデオデータに含まれる、
をさらに備える、請求項１に記載の方法。
【請求項７】
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、請求項６に記載の方法。
【請求項８】
前記符号化されたビデオデータを生成することは、前記パラメータをセッションデータプロトコル（ＳＤＰ）属性として符号化することを含む、請求項１に記載の方法。
【請求項９】
前記符号化されたビデオデータを生成することは、前記パラメータをメディアプレゼンテーション記述（ＭＰＤ）ファイルに書き込むことを含む、請求項１に記載の方法。
【請求項１０】
前記符号化されたビデオデータを生成することは、前記パラメータをＭｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームに書き込むことを含む、請求項１に記載の方法。
【請求項１１】
符号化されたビデオを処理するための装置であって、
全方位カメラによってキャプチャされた２次元ビデオデータを記憶するように構成されたメモリと、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得すること、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得すること、ここにおいて、前記パラメータは、前記ビデオフレームに関して、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化すること、ここにおいて、符号化することは、前記画像の前記円形領域を符号化することを含む、と、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を行うように構成されたプロセッサと
を備える、装置。
【請求項１２】
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、請求項１１に記載の装置。
【請求項１３】
前記符号化されたビデオデータを生成することは、前記符号化された３６０度のビデオデータをファイルに書き込むことを含み、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、請求項１１に記載の装置。
【請求項１４】
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、請求項１３に記載の装置。
【請求項１５】
前記パラメータは、制限されたスキーム情報ボックスに含まれる、請求項１３に記載の装置。
【請求項１６】
前記プロセッサは、
前記パラメータを付加拡張情報（ＳＥＩ）メッセージに符号化すること、ここにおいて、前記ＳＥＩメッセージは、前記符号化された３６０度のビデオデータに含まれる、
を行うようにさらに構成される、請求項１１に記載の装置。
【請求項１７】
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、請求項１６に記載の装置。
【請求項１８】
前記符号化されたビデオデータを生成することは、前記パラメータをセッションデータプロトコル（ＳＤＰ）属性として符号化することを含む、請求項１１に記載の装置。
【請求項１９】
前記符号化されたビデオデータを生成することは、前記パラメータをメディアプレゼンテーション記述（ＭＰＤ）ファイルに書き込むことを含む、請求項１１に記載の装置。
【請求項２０】
前記符号化されたビデオデータを生成することは、前記パラメータをＭｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームに書き込むことを含む、請求項１１に記載の装置。
【請求項２１】
モバイルデバイス、ここにおいて、前記モバイルデバイスは、前記全方位カメラを含む、
をさらに備える、請求項１１に記載の装置。
【請求項２２】
非一時的なコンピュータ可読媒体であって、１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得すること、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得すること、ここにおいて、前記パラメータは、前記ビデオフレームに関して、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化すること、ここにおいて、符号化することは、前記画像の前記円形領域を符号化することを含む、と、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を行わせる命令を記憶した、非一時的コンピュータ可読媒体。
【請求項２３】
装置であって、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得するための手段、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得するための手段、ここにおいて、前記パラメータは、前記ビデオフレームに関して、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化すること、ここにおいて、符号化することは、前記画像の前記円形領域を符号化することを含む、と、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を備える、装置。
【請求項２４】
ビデオデータを処理するための方法であって、
符号化されたビデオデータを取得すること、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号すること、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられ、前記パラメータは、前記ビデオフレームに関して、前記円形領域を記述する、と、
３６０度のビデオプレゼンテーションを生成すること、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を備える、方法。
【請求項２５】
前記円形領域をエクイレクタングラー形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記エクイレクタングラー形式を使用することと
をさらに備える、請求項２４に記載の方法。
【請求項２６】
前記円形領域を直接に３６０度の形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記３６０度の形式を使用することと
をさらに備える、請求項２４に記載の方法。
【請求項２７】
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、請求項２４に記載の方法。
【請求項２８】
前記符号化されたビデオデータは、ファイルから取得され、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、請求項２４に記載の方法。
【請求項２９】
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、請求項２８に記載の方法。
【請求項３０】
前記パラメータは、制限されたスキーム情報ボックスに含まれる、請求項２８に記載の方法。
【請求項３１】
前記パラメータを付加拡張情報（ＳＥＩ）メッセージから復号すること、ここにおいて、前記ＳＥＩメッセージは、前記符号化されたビデオデータに含まれる、
をさらに備える、請求項２４に記載の方法。
【請求項３２】
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、請求項３１に記載の方法。
【請求項３３】
前記符号化されたビデオデータを復号することは、セッションデータプロトコル（ＳＤＰ）属性から前記パラメータを取得することを含む、請求項２４に記載の方法。
【請求項３４】
前記符号化されたビデオデータを復号することは、メディアプレゼンテーション記述（ＭＰＤ）ファイルから前記パラメータを取得することを含む、請求項２４に記載の方法。
【請求項３５】
前記符号化されたビデオデータを復号することは、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームから前記パラメータを取得することを含む、請求項２４に記載の方法。
【請求項３６】
符号化されたビデオデータを処理するための装置であって、
全方位カメラによってキャプチャされた２次元ビデオデータを記憶するように構成されたメモリと、
前記符号化されたビデオデータを取得すること、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
前記３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号すること、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられ、前記パラメータは、前記ビデオフレームに関して、前記円形領域を記述する、と、
３６０度のビデオプレゼンテーションを生成すること、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を行うように構成されたプロセッサと
を備える、装置。
【請求項３７】
前記プロセッサは、
前記円形領域をエクイレクタングラー形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記エクイレクタングラー形式を使用することと
を行うようにさらに構成される、請求項３６に記載の装置。
【請求項３８】
前記プロセッサは、
前記円形領域を直接に３６０度の形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記３６０度の形式を使用することと
を行うようにさらに構成される、請求項３６に記載の装置。
【請求項３９】
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、請求項３６に記載の装置。
【請求項４０】
前記符号化されたビデオデータは、ファイルから取得され、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、請求項３６に記載の装置。
【請求項４１】
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、請求項４０に記載の装置。
【請求項４２】
前記パラメータは、制限されたスキーム情報ボックスに含まれる、請求項４０に記載の装置。
【請求項４３】
前記プロセッサは、
前記パラメータを付加拡張情報（ＳＥＩ）メッセージから復号し、ここにおいて、前記ＳＥＩメッセージは、前記符号化されたビデオデータに含まれる、
を行うようにさらに構成される、請求項３６に記載の装置。
【請求項４４】
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、請求項４３に記載の装置。
【請求項４５】
前記符号化されたビデオデータを復号することは、セッションデータプロトコル（ＳＤＰ）属性から前記パラメータを取得することを含む、請求項３６に記載の装置。
【請求項４６】
前記符号化されたビデオデータを復号することは、メディアプレゼンテーション記述（ＭＰＤ）ファイルから前記パラメータを取得することを含む、請求項３６に記載の装置。
【請求項４７】
前記符号化されたビデオデータを復号することは、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームから前記パラメータを取得することを含む、請求項３６に記載の装置。
【請求項４８】
モバイルデバイスをさらに備え、ここにおいて、前記モバイルデバイスは、前記３６０度のビデオプレゼンテーションを表示するためのディスプレイを含む、
請求項３６に記載の装置。
【請求項４９】
非一時的なコンピュータ可読媒体であって、１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
符号化されたビデオデータを取得すること、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号すること、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられ、前記パラメータは、前記ビデオフレームに関して、前記円形領域を記述する、と、
３６０度のビデオプレゼンテーションを生成すること、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を行わせる命令を記憶した、非一時的コンピュータ可読媒体。
【請求項５０】
装置であって、
符号化されたビデオデータを取得するための手段、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号するための手段、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられ、前記パラメータは、前記ビデオフレームに関して、前記円形領域を記述する、と、
３６０度のビデオプレゼンテーションを生成するための手段、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を備える、装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０３１８
【補正方法】変更
【補正の内容】
【０３１８】
[0355]宛先デバイスの入力インターフェースは、コンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ブロックおよび他のコーディングされたユニット、例えば、ピクチャのグループ（ＧＯＰ）、の処理および／または特性を記述するシンタックス要素を含む、ビデオエンコーダによって定義されるシンタックス情報を含み得、それはまたビデオデコーダによっても使用される。ディスプレイデバイスは、ユーザに復号されたビデオデータを表示し、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような様々なディスプレイデバイスのうちの任意のものを備えることができる。本出願の様々な実施形態が説明された。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]
ビデオデータを処理するための方法であって、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得すること、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得すること、ここにおいて、前記パラメータは、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化することと、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を備える、方法。
[Ｃ２]
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、Ｃ１に記載の方法。
[Ｃ３]
前記符号化されたビデオデータを生成することは、前記符号化された３６０度のビデオデータをファイルに書き込むことを含み、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、Ｃ１に記載の方法。
[Ｃ４]
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、Ｃ３に記載の方法。
[Ｃ５]
前記パラメータは、制限されたスキーム情報ボックスに含まれる、Ｃ３に記載の方法。
[Ｃ６]
前記パラメータを付加拡張情報（ＳＥＩ）メッセージに符号化すること、ここにおいて、前記ＳＥＩメッセージは、前記符号化された３６０度のビデオデータに含まれる、
をさらに備える、Ｃ１に記載の方法。
[Ｃ７]
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、Ｃ６に記載の方法。
[Ｃ８]
前記符号化されたビデオデータを生成することは、前記パラメータをセッションデータプロトコル（ＳＤＰ）属性として符号化することを含む、Ｃ１に記載の方法。
[Ｃ９]
前記符号化されたビデオデータを生成することは、前記パラメータをメディアプレゼンテーション記述（ＭＰＤ）ファイルに書き込むことを含む、Ｃ１に記載の方法。
[Ｃ１０]
前記符号化されたビデオデータを生成することは、前記パラメータをＭｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームに書き込むことを含む、Ｃ１に記載の方法。
[Ｃ１１]
符号化されたビデオを処理するための装置であって、
全方位カメラによってキャプチャされた２次元ビデオデータを記憶するように構成されたメモリと、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得すること、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得すること、ここにおいて、前記パラメータは、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化することと、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を行うように構成されたプロセッサと
を備える、装置。
[Ｃ１２]
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、Ｃ１１に記載の装置。
[Ｃ１３]
前記符号化されたビデオデータを生成することは、前記符号化された３６０度のビデオデータをファイルに書き込むことを含み、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、Ｃ１１に記載の装置。
[Ｃ１４]
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、Ｃ１３に記載の装置。
[Ｃ１５]
前記パラメータは、制限されたスキーム情報ボックスに含まれる、Ｃ１３に記載の装置。
[Ｃ１６]
前記プロセッサは、
前記パラメータを付加拡張情報（ＳＥＩ）メッセージに符号化すること、ここにおいて、前記ＳＥＩメッセージは、前記符号化された３６０度のビデオデータに含まれる、
を行うようにさらに構成される、Ｃ１１に記載の装置。
[Ｃ１７]
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、Ｃ１６に記載の装置。
[Ｃ１８]
前記符号化されたビデオデータを生成することは、前記パラメータをセッションデータプロトコル（ＳＤＰ）属性として符号化することを含む、Ｃ１１に記載の装置。
[Ｃ１９]
前記符号化されたビデオデータを生成することは、前記パラメータをメディアプレゼンテーション記述（ＭＰＤ）ファイルに書き込むことを含む、Ｃ１１に記載の装置。
[Ｃ２０]
前記符号化されたビデオデータを生成することは、前記パラメータをＭｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームに書き込むことを含む、Ｃ１１に記載の装置。
[Ｃ２１]
モバイルデバイス、ここにおいて、前記モバイルデバイスは、前記全方位カメラを含む、
をさらに備える、Ｃ１１に記載の装置。
[Ｃ２２]
非一時的なコンピュータ可読媒体であって、１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得すること、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得すること、ここにおいて、前記パラメータは、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化することと、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を行わせる命令を記憶した、非一時的コンピュータ可読媒体。
[Ｃ２３]
装置であって、
全方位カメラによってキャプチャされた３６０度のビデオデータを取得するための手段、ここにおいて、前記３６０度のビデオデータのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
前記全方位カメラに関連付けられたパラメータを取得するための手段、ここにおいて、前記パラメータは、前記画像の前記円形領域を記述する、と、
前記３６０度のビデオデータを符号化することと、
符号化されたビデオデータを生成すること、ここにおいて、前記符号化されたビデオデータは、前記符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられた前記パラメータを含む、と
を備える、装置。
[Ｃ２４]
ビデオデータを処理するための方法であって、
符号化されたビデオデータを取得すること、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
前記３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号すること、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
３６０度のビデオプレゼンテーションを生成すること、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を備える、方法。
[Ｃ２５]
前記円形領域をエクイレクタングラー形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記エクイレクタングラー形式を使用することと
をさらに備える、Ｃ２４に記載の方法。
[Ｃ２６]
前記円形領域を直接に前記３６０度の形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記３６０度の形式を使用することと
をさらに備える、Ｃ２４に記載の方法。
[Ｃ２７]
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、Ｃ２４に記載の方法。
[Ｃ２８]
前記符号化されたビデオデータは、ファイルから取得され、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、Ｃ２４に記載の方法。
[Ｃ２９]
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、Ｃ２８に記載の方法。
[Ｃ３０]
前記パラメータは、制限されたスキーム情報ボックスに含まれる、Ｃ２８に記載の方法。
[Ｃ３１]
前記パラメータを付加拡張情報（ＳＥＩ）メッセージから復号すること、ここにおいて、前記ＳＥＩメッセージは、前記符号化されたビデオデータに含まれる、
をさらに備える、Ｃ２４に記載の方法。
[Ｃ３２]
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、Ｃ３１に記載の方法。
[Ｃ３３]
前記符号化されたビデオデータを復号することは、セッションデータプロトコル（ＳＤＰ）属性から前記パラメータを取得することを含む、Ｃ２４に記載の方法。
[Ｃ３４]
前記符号化されたビデオデータを復号することは、メディアプレゼンテーション記述（ＭＰＤ）ファイルから前記パラメータを取得することを含む、Ｃ２４に記載の方法。
[Ｃ３５]
前記符号化されたビデオデータを復号することは、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームから前記パラメータを取得することを含む、Ｃ２４に記載の方法。
[Ｃ３６]
符号化されたビデオを処理するための装置であって、
全方位カメラによってキャプチャされた２次元ビデオデータを記憶するように構成されたメモリと、
前記符号化されたビデオデータを取得すること、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
前記３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号すること、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
３６０度のビデオプレゼンテーションを生成すること、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を行うように構成されたプロセッサと
を備える、装置。
[Ｃ３７]
前記プロセッサは、
前記円形領域をエクイレクタングラー形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記エクイレクタングラー形式を使用することと
を行うようにさらに構成される、Ｃ３６に記載の装置。
[Ｃ３８]
前記プロセッサは、
前記円形領域を直接に前記３６０度の形式にマッピングすることと、
前記３６０度のビデオプレゼンテーションのために前記３６０度の形式を使用することと
を行うようにさらに構成される、Ｃ３６に記載の装置。
[Ｃ３９]
前記パラメータは、前記画像における１つまたは複数の円形領域の量、前記円形領域の中心の水平座標、前記円形領域の中心の垂直座標、全半径値、フレーム半径値、シーン半径値、前記円形領域内の前記シーンの回転、フリップ値、スケーリング値、視野値、圧縮曲線値、使用できない画素を含む前記画像内の面積の量を示す値、または使用できない画素を含む前記画像内の面積の位置およびサイズのうちの１つまたは複数を含む、Ｃ３６に記載の装置。
[Ｃ４０]
前記符号化されたビデオデータは、ファイルから取得され、前記ファイルは、国際標準化機構ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）形式に従って、フォーマットされる、Ｃ３６に記載の装置。
[Ｃ４１]
前記パラメータは、ファイルレベルにおいて、ムービーレベルにおいて、またはトラックレベルにおいて含まれる、Ｃ４０に記載の装置。
[Ｃ４２]
前記パラメータは、制限されたスキーム情報ボックスに含まれる、Ｃ４０に記載の装置。
[Ｃ４３]
前記プロセッサは、
前記パラメータを付加拡張情報（ＳＥＩ）メッセージから復号し、ここにおいて、前記ＳＥＩメッセージは、前記符号化されたビデオデータに含まれる、
を行うようにさらに構成される、Ｃ３６に記載の装置。
[Ｃ４４]
前記ＳＥＩメッセージは、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）またはＨｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｅ（ＨＥＶＣ）規格に従って、フォーマットされる、Ｃ４３に記載の装置。
[Ｃ４５]
前記符号化されたビデオデータを復号することは、セッションデータプロトコル（ＳＤＰ）属性から前記パラメータを取得することを含む、Ｃ３６に記載の装置。
[Ｃ４６]
前記符号化されたビデオデータを復号することは、メディアプレゼンテーション記述（ＭＰＤ）ファイルから前記パラメータを取得することを含む、Ｃ３６に記載の装置。
[Ｃ４７]
前記符号化されたビデオデータを復号することは、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）トランスポートストリームから前記パラメータを取得することを含む、Ｃ３６に記載の装置。
[Ｃ４８]
モバイルデバイスをさらに備え、ここにおいて、前記モバイルデバイスは、前記３６０度のビデオプレゼンテーションを表示するためのディスプレイを含む、
Ｃ３６に記載の装置。
[Ｃ４９]
非一時的なコンピュータ可読媒体であって、１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
前記符号化されたビデオデータを取得すること、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
前記３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号すること、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
３６０度のビデオプレゼンテーションを生成すること、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を行わせる命令を記憶した、非一時的コンピュータ可読媒体。
[Ｃ５０]
装置であって、
前記符号化されたビデオデータを取得するための手段、ここにおいて、前記符号化されたビデオデータは、全方位カメラによってキャプチャされた符号化された３６０度のビデオデータおよび前記全方位カメラに関連付けられたパラメータを含む、と、
前記３６０度のビデオデータを作り出すために、前記符号化されたビデオデータを復号するための手段、ここにおいて、前記３６０度のビデオデータからのビデオフレームは、シーンの画像を含み、前記画像において、前記シーンは、前記画像の円形領域にゆがませられる、と、
３６０度のビデオプレゼンテーションを生成するための手段、ここにおいて、前記３６０度のビデオプレゼンテーションを生成することは、前記円形領域を３６０度のビデオプレゼンテーションにおいて使用されることができる形式にマッピングするために前記パラメータを使用することを含む、と
を備える、装置。
【国際調査報告】
2019517212.tif 000032
2019517212.tif 000033
2019517212.tif 000034