(57)【要約】  様々な実装形態では、ＩＳＯＢＭＦＦへの修正および／または追加は、ＩＳＯＢＭＦＦ、またはＩＳＯＢＭＦＦから派生されたフォーマットに従ってフォーマットされたファイルが、バーチャルリアリティコンテンツを含むことを示すことができる。ファイルは、ファイル中のトラックボックス中に書き込まれた、制限付き方式情報ボックスを含むことができる。制限付き方式情報ボックスは、トラックのコンテンツのためのバーチャルリアリティ方式を示すことができる。たとえば、制限付き方式情報ボックスは方式タイプボックスを含むことができ、ここで、タイプはバーチャルリアリティ方式を示す。さらなる例として、制限付き方式情報ボックスは、バーチャルリアリティ方式に関係するパラメータを与えることができる方式情報ボックスを含むことができる。
2019512186.tif 000002
【特許請求の範囲】
【請求項１】
バーチャルリアリティデータを処理する方法であって、
前記バーチャルリアリティデータを取得することと、ここにおいて、前記バーチャルリアリティデータがバーチャル環境の３６０度ビューを表す、
前記バーチャルリアリティデータをファイルに記憶することと、ここにおいて、前記バーチャルリアリティデータが、ファイルフォーマットに従って前記ファイルに記憶され、ここにおいて、前記ファイルフォーマットが、前記バーチャルリアリティデータの前記ファイル内での配置を指定し、前記バーチャルリアリティデータ関連する情報の前記ファイル内での配置を指定し、ここにおいて、前記バーチャルリアリティデータに関連する前記情報がトラックボックス内に記憶される、
サンプルエントリを前記トラックボックスに記憶することと、ここにおいて、前記サンプルエントリが１つまたは複数のサンプルに関連し、ここにおいて、前記サンプルエントリが制限付き方式情報ボックスを含み、ここにおいて、前記制限付き方式情報ボックスが、前記１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義し、ここにおいて、前記１つまたは複数のサンプルが前記バーチャルリアリティデータの少なくとも一部分を含む、
を備える、方法。
【請求項２】
方式タイプボックスを前記サンプルエントリに記憶することをさらに備え、ここにおいて、前記方式タイプボックスが方式タイプを含み、ここにおいて、前記方式タイプが前記バーチャルリアリティ方式として定義される、
請求項１に記載の方法。
【請求項３】
前記バーチャルリアリティデータに関係するパラメータを前記ファイル内に記憶すること
をさらに備える、請求項１に記載の方法。
【請求項４】
前記パラメータは、前記バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、前記ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、または前記ビデオデータのためのマッピングタイプのうちの１つまたは複数を含む、請求項３に記載の方法。
【請求項５】
前記パラメータを方式情報ボックスに記憶すること
をさらに備える、請求項３に記載の方法。
【請求項６】
前記ファイルフォーマットが、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットに基づく、請求項１に記載の方法。
【請求項７】
バーチャルリアリティデータを符号化するためのデバイスであって、
前記バーチャルリアリティデータを記憶するように構成されたメモリと、ここにおいて、前記バーチャルリアリティデータがバーチャル環境の３６０度ビューを表す、
前記メモリと通信している出力エンジンと
を備え、ここにおいて、前記出力エンジンは、
前記バーチャルリアリティデータをファイルに記憶することと、ここにおいて、前記バーチャルリアリティデータが、ファイルフォーマットに従って前記ファイルへ記憶され、ここにおいて、前記ファイルフォーマットが、前記バーチャルリアリティデータの前記ファイル内での配置を指定し、前記バーチャルリアリティデータ関連する情報の前記ファイル内での配置を指定し、ここにおいて、前記バーチャルリアリティデータに関連する前記情報がトラックボックス内に記憶される、
サンプルエントリを前記トラックボックス中に記憶することと、ここにおいて、前記サンプルエントリが１つまたは複数のサンプルに関連し、ここにおいて、前記サンプルエントリが制限付き方式情報ボックスを含み、ここにおいて、前記制限付き方式情報ボックスが、前記１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義し、ここにおいて、前記１つまたは複数のサンプルが前記バーチャルリアリティデータの少なくとも一部分を含む、
を行うように構成された、デバイス。
【請求項８】
前記出力エンジンが、
方式タイプボックスを前記サンプルエントリ中に記憶するようにさらに構成され、ここにおいて、前記方式タイプボックスが方式タイプを含み、ここにおいて、前記方式タイプが前記バーチャルリアリティ方式として定義される、
請求項７に記載のデバイス。
【請求項９】
前記出力エンジンが、
前記バーチャルリアリティデータに関係するパラメータを前記ファイルに記憶すること
を行うようにさらに構成された、請求項７に記載のデバイス。
【請求項１０】
前記パラメータは、前記バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、前記ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、または前記ビデオデータのためのマッピングタイプのうちの１つまたは複数を含む、請求項９に記載のデバイス。
【請求項１１】
前記出力エンジンが、
前記パラメータを方式情報ボックスに記憶すること
を行うようにさらに構成された、請求項９に記載のデバイス。
【請求項１２】
前記ファイルフォーマットが、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットに基づく、請求項７に記載のデバイス。
【請求項１３】
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
バーチャルリアリティデータを取得することと、ここにおいて、前記バーチャルリアリティデータがバーチャル環境の３６０度ビューを表す、
前記バーチャルリアリティデータをファイルに記憶することと、ここにおいて、前記バーチャルリアリティデータが、ファイルフォーマットに従って前記ファイルに記憶され、ここにおいて、前記ファイルフォーマットが、前記バーチャルリアリティデータの前記ファイル内での配置を指定し、前記バーチャルリアリティデータ関連する情報の前記ファイル内での配置を指定し、ここにおいて、前記バーチャルリアリティデータに関連する前記情報がトラックボックス内に記憶される、
サンプルエントリを前記トラックボックスに記憶することと、ここにおいて、前記サンプルエントリが１つまたは複数のサンプルに関連し、ここにおいて、前記サンプルエントリが制限付き方式情報ボックスを含み、ここにおいて、前記制限付き方式情報ボックスが、前記１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義し、ここにおいて、前記１つまたは複数のサンプルが前記バーチャルリアリティデータの少なくとも一部分を含む、
を行わせる命令を記憶した非一時的コンピュータ可読媒体。
【請求項１４】
前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
方式タイプボックスを前記サンプルエントリに記憶することを行わせる命令をさらに備え、ここにおいて、前記方式タイプボックスが方式タイプを含み、ここにおいて、前記方式タイプが前記バーチャルリアリティ方式として定義される、
請求項１３に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記バーチャルリアリティデータに関係するパラメータを前記ファイル内に記憶すること
を行わせる命令をさらに備える、請求項１３に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記パラメータは、前記バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、前記ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、または前記ビデオデータのためのマッピングタイプのうちの１つまたは複数を含む、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記パラメータを方式情報ボックスに記憶すること
を行わせる命令をさらに備える、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記ファイルフォーマットが、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットに基づく、請求項１３に記載の非一時的コンピュータ可読媒体。
【請求項１９】
バーチャルリアリティデータを処理するための装置であって、
前記バーチャルリアリティデータを取得するための手段と、ここにおいて、前記バーチャルリアリティデータがバーチャル環境の３６０度ビューを表す、
前記バーチャルリアリティデータをファイルに記憶するための手段と、ここにおいて、前記バーチャルリアリティデータが、ファイルフォーマットに従って前記ファイルに記憶され、ここにおいて、前記ファイルフォーマットが、前記バーチャルリアリティデータの前記ファイル内での配置を指定し、前記バーチャルリアリティデータ関連する情報の前記ファイル内での配置を指定し、ここにおいて、前記バーチャルリアリティデータに関連する前記情報がトラックボックス内に記憶される、
サンプルエントリを前記トラックボックスに記憶するための手段と、ここにおいて、前記サンプルエントリが１つまたは複数のサンプルに関連し、ここにおいて、前記サンプルエントリが制限付き方式情報ボックスを含み、ここにおいて、前記制限付き方式情報ボックスが、前記１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義し、ここにおいて、前記１つまたは複数のサンプルが前記バーチャルリアリティデータの少なくとも一部分を含む、
を備える、装置。
【請求項２０】
方式タイプボックスを前記サンプルエントリに記憶するための手段をさらに備え、ここにおいて、前記方式タイプボックスが方式タイプを含み、ここにおいて、前記方式タイプが前記バーチャルリアリティ方式として定義される、
請求項１９に記載の装置。
【請求項２１】
前記バーチャルリアリティデータに関係するパラメータを前記ファイル内に記憶するための手段
をさらに備える、請求項１９に記載の装置。
【請求項２２】
前記パラメータは、前記バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、前記ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、または前記ビデオデータのためのマッピングタイプのうちの１つまたは複数を含む、請求項２１に記載の装置。
【請求項２３】
前記パラメータを方式情報ボックスに記憶するための手段
をさらに備える、請求項２１に記載の装置。
【請求項２４】
前記ファイルフォーマットが、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットに基づく、請求項１９に記載の装置。
【請求項２５】
バーチャルリアリティデータを処理する方法であって、
ファイルを取得することと、ここにおいて、前記ファイルが前記バーチャルリアリティデータを含み、ここにおいて、前記バーチャルリアリティデータが、ファイルフォーマットに従って前記ファイルに記憶され、ここにおいて、前記ファイルフォーマットが、前記バーチャルリアリティデータの前記ファイル内での配置を指定し、前記バーチャルリアリティデータに関連する情報の前記ファイル内での配置を指定し、ここにおいて、前記バーチャルリアリティデータに関連する前記情報がトラックボックス内に記憶される、
前記ファイル内の前記トラックボックス中のサンプルエントリを処理することと、ここにおいて、前記サンプルエントリが１つまたは複数のサンプルに関連し、ここにおいて、前記サンプルエントリが制限付き方式情報ボックスを含む、
前記制限付き方式情報ボックスによって与えられる情報に基づいて、前記１つまたは複数のサンプルのための方式がバーチャルリアリティ方式であると決定すると、ここにおいて、前記制限付き方式情報ボックスが、前記１つまたは複数のサンプルのための前記方式を前記バーチャルリアリティ方式として定義し、ここにおいて、前記１つまたは複数のサンプルが前記バーチャルリアリティデータの少なくとも一部分を含む、
前記バーチャルリアリティ方式に従って前記１つまたは複数のサンプルを処理することと
を備える、方法。
【請求項２６】
前記サンプルエントリ中の方式タイプボックスを処理することをさらに備え、ここにおいて、前記方式タイプボックスが方式タイプを含み、ここにおいて、前記方式タイプが前記バーチャルリアリティ方式として定義される、
請求項２５に記載の方法。
【請求項２７】
前記バーチャルリアリティデータに関係するパラメータを処理することをさらに備え、ここにおいて、前記パラメータが前記ファイルに記憶される、
請求項２５に記載の方法。
【請求項２８】
前記パラメータは、前記バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、前記ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、または前記ビデオデータのためのマッピングタイプのうちの１つまたは複数を含む、請求項２７に記載の方法。
【請求項２９】
前記パラメータが、前記ファイルにおいて方式情報ボックスに記憶される、請求項２７に記載の方法。
【請求項３０】
前記ファイルフォーマットが、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットに基づく、請求項２５に記載の方法。
【請求項３１】
バーチャルリアリティデータを復号するためのデバイスであって、
ファイルを記憶するように構成されたメモリと、ここにおいて、前記ファイルが前記バーチャルリアリティデータを含み、ここにおいて、前記バーチャルリアリティデータが、ファイルフォーマットに従って前記ファイルに記憶され、ここにおいて、前記ファイルフォーマットが、前記バーチャルリアリティデータの前記ファイル内での配置を指定し、前記バーチャルリアリティデータに関連する情報の前記ファイル内での配置を指定し、ここにおいて、前記バーチャルリアリティデータに関連する前記情報がトラックボックス内に記憶される、
前記メモリと通信している入力エンジンと
を備え、ここにおいて、前記入力エンジンは、
前記ファイル内の前記トラックボックス中のサンプルエントリを処理することと、ここにおいて、前記サンプルエントリが１つまたは複数のサンプルに関連し、ここにおいて、前記サンプルエントリが制限付き方式情報ボックスを含む、
前記制限付き方式情報ボックス中の情報に基づいて、前記１つまたは複数のサンプルのための方式がバーチャルリアリティ方式であると決定することと、ここで、前記制限付き方式情報ボックスが、前記１つまたは複数のサンプルのための前記方式を前記バーチャルリアリティ方式として定義し、ここにおいて、前記１つまたは複数のサンプルが前記バーチャルリアリティデータの少なくとも一部分を含む、
前記バーチャルリアリティ方式に従って前記１つまたは複数のサンプルを処理することと
を行うように構成された、デバイス。
【請求項３２】
前記入力エンジンが、
前記サンプルエントリ中の方式タイプボックスを処理するようにさらに構成され、ここにおいて、前記方式タイプボックスが方式タイプを含み、ここにおいて、前記方式タイプが前記バーチャルリアリティ方式として定義される、
請求項３１に記載のデバイス。
【請求項３３】
前記入力エンジンが、
前記バーチャルリアリティデータに関係するパラメータを処理するようにさらに構成され、ここにおいて、前記パラメータが前記ファイルに記憶される、
請求項３１に記載のデバイス。
【請求項３４】
前記パラメータは、前記バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、前記ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、または前記ビデオデータのためのマッピングタイプのうちの１つまたは複数を含む、請求項３３に記載のデバイス。
【請求項３５】
前記パラメータが、前記ファイルにおいて方式情報ボックスに記憶される、請求項３３に記載のデバイス。
【請求項３６】
前記ファイルフォーマットが、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットに基づく、請求項３１に記載のデバイス。
【請求項３７】
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
ファイルを取得することと、ここにおいて、前記ファイルが前記バーチャルリアリティデータを含み、ここにおいて、前記バーチャルリアリティデータが、ファイルフォーマットに従って前記ファイルに記憶され、ここにおいて、前記ファイルフォーマットが、前記バーチャルリアリティデータの前記ファイル内での配置を指定し、前記バーチャルリアリティデータに関連する情報の前記ファイル内での配置を指定し、ここにおいて、前記バーチャルリアリティデータに関連する前記情報がトラックボックス内に記憶される、
前記ファイル内の前記トラックボックス中のサンプルエントリを処理することと、ここにおいて、前記サンプルエントリが１つまたは複数のサンプルに関連し、ここにおいて、前記サンプルエントリが制限付き方式情報ボックスを含む
前記制限付き方式情報ボックスによって与えられる情報に基づいて、前記１つまたは複数のサンプルのための方式がバーチャルリアリティ方式として決定することと、ここにおいて、前記制限付き方式ボックスが、前記１つまたは複数のサンプルのための前記方式を前記バーチャルリアリティ方式として定義し、ここにおいて、前記１つまたは複数のサンプルが前記バーチャルリアリティデータの少なくとも一部分を含む、
前記バーチャルリアリティ方式に従って前記１つまたは複数のサンプルを処理することと
を行わせる命令を記憶した非一時的コンピュータ可読媒体。
【請求項３８】
前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記サンプルエントリ中の方式タイプボックスを処理することを行わせる命令をさらに備え、ここにおいて、前記方式タイプボックスが方式タイプを含み、ここにおいて、前記方式タイプが前記バーチャルリアリティ方式として定義される、
請求項３７に記載の非一時的コンピュータ可読媒体。
【請求項３９】
前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記バーチャルリアリティデータに関係するパラメータを処理することを行わせる命令をさらに備え、ここにおいて、前記パラメータが前記ファイルに記憶される、
請求項３７に記載の非一時的コンピュータ可読媒体。
【請求項４０】
前記パラメータは、前記バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、前記ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、または前記ビデオデータのためのマッピングタイプのうちの１つまたは複数を含む、請求項３９に記載の非一時的コンピュータ可読媒体。
【請求項４１】
前記パラメータが、前記ファイルにおいて方式情報ボックスに記憶される、請求項３９に記載の非一時的コンピュータ可読媒体。
【請求項４２】
前記ファイルフォーマットが、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットに基づく、請求項３７に記載の非一時的コンピュータ可読媒体。
【請求項４３】
バーチャルリアリティデータを処理するための装置であって、
ファイルを取得するための手段と、ここにおいて、前記ファイルが前記バーチャルリアリティデータを含み、ここにおいて、前記バーチャルリアリティデータが、ファイルフォーマットに従って前記ファイルに記憶され、ここにおいて、前記ファイルフォーマットが、前記バーチャルリアリティデータの前記ファイル内での配置を指定し、前記バーチャルリアリティデータに関連する情報の前記ファイル内での配置を指定し、ここにおいて、前記バーチャルリアリティデータに関連する前記情報がトラックボックス内に記憶される、
前記ファイル内の前記トラックボックス中のサンプルエントリを処理するための手段と、ここにおいて、前記サンプルエントリが１つまたは複数のサンプルに関連し、ここにおいて、前記サンプルエントリが制限付き方式情報ボックスを含む、
前記制限付き方式情報ボックスによって与えられる情報に基づいて、前記１つまたは複数のサンプルのための方式がバーチャルリアリティ方式であると決定するための手段と、ここにおいて、前記制限付き方式情報ボックスが、前記１つまたは複数のサンプルのための前記方式を前記バーチャルリアリティ方式として定義し、ここにおいて、前記１つまたは複数のサンプルが前記バーチャルリアリティデータの少なくとも一部分を含む、
前記バーチャルリアリティ方式に従って前記１つまたは複数のサンプルを処理するための手段と
を備える、装置。
【請求項４４】
前記サンプルエントリ中の方式タイプボックスを処理するための手段をさらに備え、ここにおいて、前記方式タイプボックスが方式タイプを含み、ここにおいて、前記方式タイプが前記バーチャルリアリティ方式として定義される、
請求項４３に記載の装置。
【請求項４５】
前記バーチャルリアリティデータに関係するパラメータを処理するための手段をさらに備え、ここにおいて、前記パラメータが前記ファイルに記憶される、
請求項４３に記載の装置。
【請求項４６】
前記パラメータは、前記バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、前記ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、または前記ビデオデータのためのマッピングタイプのうちの１つまたは複数を含む、請求項４５に記載の装置。
【請求項４７】
前記パラメータが、前記ファイルにおいて方式情報ボックスに記憶される、請求項４５に記載の装置。
【請求項４８】
前記ファイルフォーマットが、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットに基づく、請求項４３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、ＩＳＯベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）および／またはＩＳＯＢＭＦＦから派生されたファイルフォーマットなど、１つまたは複数のメディアファイルフォーマットでのバーチャルリアリティ（ＶＲ）ビデオコンテンツの記憶に関する。たとえば、本出願は、後方互換性がある様式での、いくつかの例では、１つまたは複数のＶＲビデオ固有詳細を含む、ＶＲビデオコンテンツの識別情報（identification）のシグナリングのための方法およびシステムに関する。
【背景技術】
【０００２】
[0002]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、スケーラブルビデオコーディング（ＳＶＣ）として知られるそれのスケーラブルビデオコーディング拡張、およびマルチビュービデオコーディング（ＭＶＣ）拡張それのマルチビュービデオコーディング拡張を含む、ＩＴＵ−Ｔ  Ｈ．２６４またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣと、それのスケーラブルコーディング拡張（すなわち、スケーラブル高効率ビデオコーディング、ＳＨＶＣ）およびマルチビュー拡張（すなわち、マルチビュー高効率ビデオコーディング、ＭＶ−ＨＥＶＣ）を含む、ＩＴＵ−Ｔ  Ｈ．２６５およびＩＳＯ／ＩＥＣ２３００８−２としても知られる、高効率ビデオコーディング（ＨＥＶＣ）とを含む。
【発明の概要】
【０００３】
[0003]いくつかの実施形態では、ビデオプレーヤデバイスがバーチャルリアリティコンテンツを適切にレンダリングおよび／または無視することができるように、ファイルがバーチャルリアリティコンテンツを含むことをそのファイル中で示すための技法が説明される。
【０００４】
[0004]少なくとも１つの例によれば、バーチャルリアリティデータを取得することを含む、ファイル中のバーチャルリアリティコンテンツを示すための方法が提供される。バーチャルリアリティデータはバーチャル環境の３６０度ビューを表すことができる。本方法は、バーチャルリアリティデータをファイルに記憶することをさらに含む。バーチャルリアリティデータは、フォーマットに従ってファイルに記憶され得る。ファイルフォーマットは、バーチャルリアリティデータのファイル内での配置（placement within the file of the virtual reality data）と、またバーチャルリアリティデータに関連する情報のファイル内での配置（placement within the file of information associated with the virtual reality data）とを指定することができる。バーチャルリアリティデータに関連する情報はトラックボックスに記憶され得る。本方法は、サンプルエントリをトラックボックス中に記憶することをさらに含む。サンプルエントリは、１つまたは複数のサンプルに関連することができる。サンプルエントリは、制限付き方式情報ボックスを含むことができる。制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義することができる。サンプルは、バーチャルリアリティデータの少なくとも一部分を含むことができる。
【０００５】
[0005]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、バーチャルリアリティデータを取得するように構成され、バーチャルリアリティデータを取得することができる。バーチャルリアリティデータはバーチャル環境の３６０度ビューを表すことができる。プロセスは、バーチャルリアリティデータをファイルに記憶するように構成され、バーチャルリアリティデータをファイルに記憶することができる。バーチャルリアリティデータは、フォーマットに従ってファイルに記憶され得る。ファイルフォーマットは、ファイル内でのバーチャルリアリティデータの配置と、またバーチャルリアリティデータに関連する情報の配置とを指定することができる。バーチャルリアリティデータに関連する情報はトラックボックスに記憶され得る。プロセッサは、サンプルエントリをトラックボックス中にさらに記憶するように構成され、サンプルエントリをトラックボックス中にさらに記憶することができる。サンプルエントリは、１つまたは複数のサンプルに関連することができる。サンプルエントリは、制限付き方式情報ボックスを含むことができる。制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義することができる。サンプルは、バーチャルリアリティデータの少なくとも一部分を含むことができる
[0006]別の例では、プロセッサによって実行されたとき、バーチャルリアリティデータを取得することを含む方法を実施する命令を記憶したコンピュータ可読媒体が提供される。バーチャルリアリティデータはバーチャル環境の３６０度ビューを表すことができる。本方法は、バーチャルリアリティデータをファイルに記憶することをさらに含む。バーチャルリアリティデータは、フォーマットに従ってファイルに記憶され得る。ファイルフォーマットは、ファイル内での、バーチャルリアリティデータと、またバーチャルリアリティデータに関連する情報との配置を規定することができる。バーチャルリアリティデータに関連する情報はトラックボックスに記憶され得る。本方法は、サンプルエントリをトラックボックス中に書き込むことをさらに含む。サンプルエントリは、１つまたは複数のサンプルに関連することができる。サンプルエントリは、制限付き方式情報ボックスを含むことができる。制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義することができる。サンプルは、バーチャルリアリティデータの少なくとも一部分を含むことができる。
【０００６】
[0007]別の例では、ファイル中のバーチャルリアリティコンテンツを示すための手段を含む装置が提供される。本装置は、バーチャルリアリティデータを取得するための手段をさらに備える。バーチャルリアリティデータはバーチャル環境の３６０度ビューを表すことができる。本装置は、バーチャルリアリティデータをファイルに記憶するための手段をさらに含む。バーチャルリアリティデータは、フォーマットに従ってファイルに記憶され得る。ファイルフォーマットは、ファイル内でのバーチャルリアリティデータの配置と、またファイル内でのバーチャルリアリティデータに関連する情報の配置とを指定することができる。バーチャルリアリティデータに関連する情報はトラックボックスに記憶され得る。本装置は、サンプルエントリをトラックボックス中に記憶するための手段をさらに備える。サンプルエントリは、１つまたは複数のサンプルに関連することができる。サンプルエントリは、制限付き方式情報ボックスを含むことができる。制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義することができる。サンプルは、バーチャルリアリティデータの少なくとも一部分を含むことができる。
【０００７】
[0008]いくつかの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、方式タイプボックス（scheme type box）をサンプルエントリ中に記憶することをさらに備える。方式タイプボックスは方式タイプを含むことができる。方式タイプは、バーチャルリアリティ方式として定義され得る。
【０００８】
[0009]いくつかの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、バーチャルリアリティデータに関係するパラメータをファイルへ記憶すること（storing parameters related to the virtual reality data to the file）をさらに備える。いくつかの態様では、パラメータは、バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのか（whether the virtual reality data includes 2-dimensional or 3-dimensional video data）、ビデオデータがプリスティッチされるのかポストスティッチされるのか（whether the video data is pre-stitched or post-stitched）、またはビデオデータのためのマッピングタイプのうちの１つまたは複数を含む。いくつかの態様では、パラメータを記憶することは、パラメータを方式情報ボックス中に（into）記憶することを含む。
【０００９】
[0010]いくつかの態様では、ファイルフォーマットはＩＳＯベースメディアファイルフォーマットに基づく。
【００１０】
[0011]少なくとも１つの例によれば、ファイルを取得することを含む、ファイル中のリアリティデータコンテンツを処理するための方法が提供され、ここで、ファイルはバーチャルリアリティデータを含む。バーチャルリアリティデータは、ファイルフォーマットに従ってファイルに記憶され得る。ファイルフォーマットは、ファイル内でのバーチャルリアリティデータの配置を指定し、ファイル内でのバーチャルリアリティデータに関連する情報の配置を指定することができる。バーチャルリアリティデータに関連する情報はトラックボックス内に記憶され得る。本方法は、ファイルを処理することをさらに含み、ここで、ファイルを処理することは、トラックボックス中のサンプルエントリを処理することを含む。サンプルエントリは、１つまたは複数のサンプルに関連することができる。サンプルエントリは、制限付き方式情報ボックスを含むことができる。制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義することができる。１つまたは複数のサンプルは、バーチャルリアリティデータの少なくとも一部分を含むことができる。本方法は、バーチャルリアリティ方式に従って１つまたは複数のサンプルを処理することをさらに含む。
【００１１】
[0012]別の例では、ファイルを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。ファイルはバーチャルリアリティデータを含む。バーチャルリアリティデータは、ファイルフォーマットに従ってファイルに記憶され得る。ファイルフォーマットは、ファイル内でのバーチャルリアリティデータの配置と、ファイル内でのバーチャルリアリティデータに関連する情報の配置とを指定することができる。バーチャルリアリティデータに関連する情報はトラックボックスに記憶され得る。プロセッサは、ファイルを処理するように構成され、ファイルを処理することができ、ここで、ファイルを処理することは、トラックボックス中のサンプルエントリを処理することを含む。サンプルエントリは、１つまたは複数のサンプルに関連することができる。サンプルエントリは、制限付き方式情報ボックスを含むことができる。制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義することができる。１つまたは複数のサンプルは、バーチャルリアリティデータの少なくとも一部分を含むことができる。プロセッサは、バーチャルリアリティ方式に従って１つまたは複数のサンプルを処理するように構成され、バーチャルリアリティ方式に従って１つまたは複数のサンプルを処理することができる。
【００１２】
[0013]別の例では、プロセッサによって実行されたとき、ファイルを取得することを含む方法を実施する命令を記憶したコンピュータ可読媒体が提供され、ここで、ファイルはバーチャルリアリティデータを含む。バーチャルリアリティデータは、ファイルフォーマットに従ってファイルに記憶され得る。ファイルフォーマットは、ファイル内でのバーチャルリアリティデータの配置を指定し、ファイル内でのバーチャルリアリティデータに関連する情報の配置を指定することができる。バーチャルリアリティデータに関連する情報はトラックボックス内に記憶され得る。本方法は、ファイルを処理することをさらに含み、ここで、ファイルを処理することは、トラックボックス中のサンプルエントリを処理することを含む。サンプルエントリは、１つまたは複数のサンプルに関連することができる。サンプルエントリは、制限付き方式情報ボックスを含むことができる。制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義することができる。１つまたは複数のサンプルは、バーチャルリアリティデータの少なくとも一部分を含むことができる。本方法は、バーチャルリアリティ方式に従って１つまたは複数のサンプルを処理することをさらに含む。
【００１３】
[0014]別の例では、バーチャルリアリティコンテンツを含むファイルを処理するための手段を含む装置が提供される。ための本装置は、ファイルを取得するための手段を備え、ここで、ファイルはバーチャルリアリティデータを含む。バーチャルリアリティデータは、ファイルフォーマットに従ってファイルに記憶され得る。ファイルフォーマットは、ファイル内でのバーチャルリアリティデータの配置を指定し、ファイル内でのバーチャルリアリティデータに関連する情報の配置を指定することができる。バーチャルリアリティデータに関連する情報はトラックボックス内に記憶され得る。本装置は、ファイルを処理するための手段をさらに含み、ここで、ファイルを処理することは、トラックボックス中のサンプルエントリを処理することを含む。サンプルエントリは、１つまたは複数のサンプルに関連することができる。サンプルエントリは、制限付き方式情報ボックスを含むことができる。制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義することができる。１つまたは複数のサンプルは、バーチャルリアリティデータの少なくとも一部分を含むことができる。本装置は、バーチャルリアリティ方式に従って１つまたは複数のサンプルを処理するための手段をさらに含む。
【００１４】
[0015]いくつかの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、サンプルエントリ中の方式タイプボックスを処理することをさらに備える。方式タイプボックスは方式タイプを含むことができる。方式タイプは、バーチャルリアリティ方式として定義される。
【００１５】
[0016]いくつかの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、バーチャルリアリティデータに関係するパラメータを処理することをさらに備える。パラメータはファイルに記憶され得る。
【００１６】
[0017]いくつかの態様では、パラメータは、バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、またはビデオデータのためのマッピングタイプのうちの１つまたは複数を含む。いくつかの態様では、パラメータは、ファイルにおいて方式情報ボックスに記憶される（the parameters are stored in the file in a scheme information box）。
【００１７】
[0018]いくつかの態様では、ファイルフォーマットは、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットに基づく。
【００１８】
[0019]少なくとも１つの例によれば、バーチャルリアリティデータを取得することを含む、ファイル中のバーチャルリアリティコンテンツを示すための方法が提供される。バーチャルリアリティデータはバーチャル環境の３６０度ビューを表すことができる。本方法は、バーチャルリアリティデータをファイルへ書き込むことをさらに含む。バーチャルリアリティデータは、フォーマットに従ってファイルへ書き込まれ得る。ファイルフォーマットは、ファイル内での、バーチャルリアリティデータと、またバーチャルリアリティデータを記述する情報との配置を規定することができる。バーチャルリアリティデータを記述する情報はトラックボックス中に書き込まれ得る。本方法は、トラックボックス中の値を設定することをさらに含む。その値は、トラックボックスによって参照されるサンプルがバーチャルリアリティプレゼンテーションのためにフォーマットされることを示すことができる。
【００１９】
[0020]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、バーチャルリアリティデータを取得するように構成され、バーチャルリアリティデータを取得することができる。バーチャルリアリティデータはバーチャル環境の３６０度ビューを表すことができる。プロセッサは、バーチャルリアリティデータをファイルへ書き込むように構成され、バーチャルリアリティデータをファイルへ書き込むことができる。バーチャルリアリティデータは、フォーマットに従ってファイルへ書き込まれ得る。ファイルフォーマットは、ファイル内での、バーチャルリアリティデータと、またバーチャルリアリティデータを記述する情報との配置を規定することができる。バーチャルリアリティデータを記述する情報はトラックボックス中に書き込まれ得る。プロセッサは、トラックボックス中の値を設定するように構成され、トラックボックス中の値を設定することができる。その値は、トラックボックスによって参照されるサンプルがバーチャルリアリティプレゼンテーションのためにフォーマットされることを示すことができる。
【００２０】
[0021]別の例では、プロセッサによって実行されたとき、バーチャルリアリティデータを取得することを含む方法を実施する命令を記憶したコンピュータ可読媒体が提供される。バーチャルリアリティデータはバーチャル環境の３６０度ビューを表すことができる。本方法は、バーチャルリアリティデータをファイルへ書き込むことをさらに含む。バーチャルリアリティデータは、フォーマットに従ってファイルへ書き込まれ得る。ファイルフォーマットは、ファイル内での、バーチャルリアリティデータと、またバーチャルリアリティデータを記述する情報との配置を規定することができる。バーチャルリアリティデータを記述する情報はトラックボックス中に書き込まれ得る。本方法は、トラックボックス中の値を設定することをさらに含む。その値は、トラックボックスによって参照されるサンプルがバーチャルリアリティプレゼンテーションのためにフォーマットされることを示すことができる。
【００２１】
[0022]別の例では、バーチャルリアリティデータを取得するための手段を含む装置が提供される。バーチャルリアリティデータはバーチャル環境の３６０度ビューを表すことができる。本装置は、バーチャルリアリティデータをファイルへ書き込むための手段をさらに備える。バーチャルリアリティデータは、フォーマットに従ってファイルへ書き込まれ得る。ファイルフォーマットは、ファイル内での、バーチャルリアリティデータと、またバーチャルリアリティデータを記述する情報との配置を規定することができる。バーチャルリアリティデータを記述する情報はトラックボックス中に書き込まれ得る。本装置は、トラックボックス中の値を設定するための手段をさらに備える。その値は、トラックボックスによって参照されるサンプルがバーチャルリアリティプレゼンテーションのためにフォーマットされることを示すことができる。
【００２２】
[0023]いくつかの態様では、トラックボックス中の値を設定することは、メディアハンドラボックス中の値を設定することを含む。メディアハンドラボックスはビデオハンドラボックスであり得る。いくつかの態様では、メディアハンドラボックスはバーチャルリアリティハンドラボックスであり得る。
【００２３】
[0024]いくつかの態様では、トラックボックス中の値を設定することは、サンプルエントリボックス中の値を設定することを含む。
【００２４】
[0025]いくつかの態様では、トラックボックス中の値を設定することは、トラックヘッダボックス、メディアヘッダボックス、またはビデオメディアヘッダボックス中の値を設定することを含む。
【００２５】
[0026]いくつかの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、バーチャルリアリティデータに関係するパラメータをファイルへ書き込むことをさらに備える。いくつかの態様では、パラメータは、バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのか、ビデオデータがプリスティッチされるのかポストスティッチされるのか、またはビデオデータのためのマッピングタイプのうちの１つまたは複数を含む。いくつかの態様では、パラメータを書き込むことは、パラメータを方式情報ボックスへ書き込むことを含む。
【００２６】
[0027]いくつかの態様では、ファイルフォーマットはＩＳＯベースメディアファイルフォーマットに基づく。いくつかの態様では、バーチャルリアリティデータは、ビデオデータとオーディオデータとを含む。
【００２７】
[0028]本発明の概要は、請求される主題の主要なまたは本質的な特徴を識別するものではなく、請求される主題の範囲を決定するために独立して使用されるものでもない。本主題は、本特許の明細書全体、いずれかまたはすべての図面、および各請求項の適切な部分を参照することによって理解されたい。
【００２８】
[0029]上記のことは、他の特徴および実施形態とともに、以下の明細書、特許請求の範囲、および添付の図面を参照すると、より明らかになろう。
【００２９】
[0030]本発明の例示的な実施形態が、以下の図面を参照しながら以下で詳細に説明される。
【図面の簡単な説明】
【００３０】
【図１】[0031]符号化デバイスと復号デバイスとを含むシステムの一例を示すブロック図。
【図２】[0032]ＩＳＯＢＭＦＦに従ってフォーマットされた、ビデオプレゼンテーションのためのデータとメタデータとを含んでいるＩＳＯベースメディアファイルの一例を示す図。
【図３Ａ】[0033]ＩＳＯベースメディアファイルがバーチャルリアリティコンテンツを含むことを示すために、ＩＳＯベースメディアファイル中のトップレベルボックスが使用される例を示す図。
【図３Ｂ】ＩＳＯベースメディアファイルがバーチャルリアリティコンテンツを含むことを示すために、ＩＳＯベースメディアファイル中のトップレベルボックスが使用される例を示す図。
【図４】[0034]ＩＳＯベースメディアファイル４００がバーチャルリアリティコンテンツを含むことを示すために、ＩＳＯベースメディアファイル４００中でムービーレベル指示が使用される一例を示す図。
【図５】[0035]ＩＳＯベースメディアファイルがバーチャルリアリティコンテンツを含むことを示すために、そのファイル中でトラックレベルインジケータが使用される一例を示す図。
【図６】[0036]トラックのコンテンツがバーチャルリアリティビデオを含むことをシグナリングするためにハンドラボックスが使用される、ＩＳＯベースメディアファイルの一例を示す図。
【図７】[0037]トラックがバーチャルリアリティコンテンツを含むことを示すために新しいハンドラボックスが定義された、ＩＳＯベースメディアファイルの一例を示す図。
【図８】[0038]ＩＳＯベースメディアファイル中に含まれ得るメディアボックスの一例を示す図。
【図９】[0039]バーチャルリアリティコンテンツを含んでいるファイルを生成するためのプロセスの一例を示す図。
【図１０】[0040]バーチャルリアリティコンテンツを含んでいるファイルを処理するためのプロセスの一例を示す図
【図１１】[0041]バーチャルリアリティコンテンツを含んでいるファイルを生成するためのプロセスの一例を示す図。
【図１２】[0042]本開示で説明される技法のうちの１つまたは複数を実装し得る例示的な符号化デバイスを示すブロック図。
【図１３】[0043]例示的な復号デバイスを示すブロック図。
【発明を実施するための形態】
【００３１】
[0044]本開示のいくつかの態様および実施形態が以下で与えられる。当業者に明らかであるように、これらの態様および実施形態のうちのいくつかは独立して適用され得、それらのうちのいくつかは組合せで適用され得る。以下の説明では、説明の目的で、本発明の実施形態の完全な理解を与えるために具体的な詳細が記載される。ただし、様々な実施形態は、これらの具体的な詳細なしに実施され得ることが明らかであろう。図および説明は限定するものではない。
【００３２】
[0045]以下の説明は、例示的な実施形態のみを与えるものであり、本開示の範囲、適用性、または構成を限定するものではない。そうではなく、例示的な実施形態の以下の説明は、例示的な実施形態を実装することを可能にする説明を当業者に与える。添付の特許請求の範囲に記載されるように、本発明の趣旨および範囲から逸脱することなく、要素の機能および構成において様々な変更が行われ得ることを理解されたい。
【００３３】
[0046]以下の説明では、実施形態の完全な理解を与えるために具体的な詳細が与えられる。ただし、実施形態はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。たとえば、回路、システム、ネットワーク、プロセス、および他の構成要素は、実施形態を不要な詳細で不明瞭にしないためにブロック図の形態で構成要素として示され得る。他の事例では、実施形態を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法が不要な詳細なしに示され得る。
【００３４】
[0047]また、個々の実施形態は、フローチャート、流れ図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されることがあることに留意されたい。フローチャートは動作を逐次プロセスとして説明することがあるが、動作の多くは並行してまたは同時に実施され得る。さらに、動作の順序は並べ替えられ得る。それの動作が完了されるとき、プロセスは終了されるが、図中に含まれない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、それの終了は呼出し関数またはメイン関数への関数の復帰に対応することができる。
【００３５】
[0048]「コンピュータ可読媒体」という用語は、限定はしないが、ポータブルまたは非ポータブル記憶デバイス、光記憶デバイス、ならびに（１つまたは複数の）命令および／またはデータを記憶、含有、または担持することが可能な様々な他の媒体を含む。コンピュータ可読媒体は、データがそこに記憶され得る非一時的媒体を含み得、それは、ワイヤレスにまたはワイヤード接続を介して伝搬する搬送波および／または一時的電子信号を含まない。非一時的媒体の例としては、限定はしないが、磁気ディスクまたはテープ、コンパクトディスク（ＣＤ）またはデジタル多用途ディスク（ＤＶＤ）などの光記憶媒体、フラッシュメモリ、メモリまたはメモリデバイスがあり得る。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表し得るコードおよび／または機械実行可能命令をその上に記憶していることがある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび／または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、フォワーディング、または送信され得る。
【００３６】
[0049]さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスク（たとえば、コンピュータプログラム製品）を実施するためのプログラムコードまたはコードセグメントは、コンピュータ可読または機械可読媒体に記憶され得る。（１つまたは複数の）プロセッサが、必要なタスクを実施し得る。
【００３７】
[0050]バーチャルリアリティ（ＶＲ）は、一見したところ（seemingly）現実的または身体的な方法内で相互作用され得る、３次元のコンピュータ生成された環境を記述する。概して、バーチャルリアリティ環境を経験しているユーザは、バーチャル環境と相互作用するために、ヘッドマウントディスプレイ（ＨＭＤ）および随意に（optionally）また衣類（たとえば、センサーを取り付けたグローブ）など、電子機器を使用する。ユーザが実世界中で移動するにつれて、バーチャル環境中でレンダリングされる画像も変化し、ユーザがバーチャル環境内で移動しているという知覚をユーザに与える。いくつかの場合には、バーチャル環境は、ユーザの移動と相関する音を含み、音が特定の方向またはソースから発生するという印象をユーザに与える。バーチャルリアリティビデオは、極めて高い品質でキャプチャおよびレンダリングされ、真に没入型のバーチャルリアリティエクスペリエンスを潜在的に与えることができる。バーチャルリアリティ適用例は、特に、ゲーム、トレーニング、教育、スポーツビデオ、およびオンラインショッピングを含む。
【００３８】
[0051]バーチャルリアリティシステムは、一般に、ビデオキャプチャデバイスとビデオディスプレイデバイスとを含み、場合によっては、サーバ、データ記憶装置、およびデータ伝送機器など、他の中間デバイスをも含む。ビデオキャプチャデバイスは、カメラセット、すなわち、各々が、異なる方向に配向され、異なるビューをキャプチャする、複数のカメラのセットを含み得る。わずか６つのカメラが、カメラセットのロケーションを中心とする完全な３６０度ビューをキャプチャするために使用され得る。いくつかのビデオキャプチャデバイスは、たとえば、主に横方向ビューをキャプチャするビデオキャプチャデバイスなど、より少数のカメラを使用し得る。ビデオは、概してフレームを含み、ここで、フレームは、シーンの電子的にコード化された静止画像である。カメラは、毎秒一定数のフレームをキャプチャし、これは、通常、カメラのフレームレートと呼ばれる。
【００３９】
[0052]シームレスな３６０度ビューを与えるために、カメラセット中のカメラの各々によってキャプチャされたビデオは、一般に画像スティッチングを受ける。３６０度ビデオ生成の場合の画像スティッチングは、ビデオフレームが重複するかまたは場合によっては接続するであろうエリア中の隣接するカメラからのビデオフレームを組み合わせるかまたはマージすることを伴う。結果は、近似的に球状のフレームになるであろうが、メルカトル図法と同様に、マージされたデータは、一般に平面様式で表される。たとえば、マージされたビデオフレーム中のピクセルは、立方体形状、または何らかの他の３次元の平面形状（たとえば、ピラミッド、８面体、１０面体など）の平面上にマッピングされ得る。ビデオキャプチャおよびビデオディスプレイデバイスは、概して、ビデオフレームがピクセルのグリッドとして扱われることを意味するラスタ原理上で動作し、したがって、正方形または長方形平面が、一般に、球状環境を表すために使用される。
【００４０】
[0053]平面表現にマッピングされたバーチャルリアリティビデオフレームは、記憶および／または送信のために符号化および／または圧縮され得る。符号化および／または圧縮は、ビデオコーデック（たとえば、Ｈ．２６５／ＨＥＶＣ準拠コーデック、Ｈ．２６４／ＡＶＣ準拠コーデック、または他の好適なコーデック）を使用して達成され得、圧縮されたビデオビットストリームまたはビットストリームのグループを生じる。ビデオコーデックを使用するビデオデータの符号化は、以下でさらに詳細に説明される。
【００４１】
[0054]（１つまたは複数の）符号化ビデオビットストリームは、メディアフォーマットまたはファイルフォーマットで記憶および／またはカプセル化され得る。（１つまたは複数の）記憶されたビットストリームは、表示のためにビデオを復号およびレンダリングすることができる受信機デバイスに、たとえば、ネットワークを介して、送信され得る。そのような受信機デバイスは、本明細書ではビデオディスプレイデバイスと呼ばれることがある。たとえば、バーチャルリアリティシステムは、（たとえば、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットおよび／または派生ファイルフォーマットを使用して）符号化ビデオデータから、カプセル化されたファイルを生成することができる。たとえば、ビデオコーデックはビデオデータを符号化することができ、カプセル化エンジンは、ビデオデータを１つまたは複数のＩＳＯフォーマットメディアファイル中にカプセル化することによってメディアファイルを生成することができる。代替または追加として、（１つまたは複数の）記憶されたビットストリームは、記憶媒体から受信機デバイスに直接与えられ得る。
【００４２】
[0055]受信機デバイスも、符号化ビデオビットストリームを復号および／または復元するためにコーデックを実装することができる。受信機デバイスは、ビデオビットストリームを１つのファイル（または複数のファイル）中にパックするために使用されたメディアまたはファイルフォーマットをサポートし、符号化ビデオデータを生成するために、ビデオ（および場合によってはまたオーディオ）データを抽出することができる。たとえば、受信機デバイスは、符号化ビデオデータを生成するために、カプセル化されたビデオデータをもつメディアファイルをパースすることができ、受信機デバイス中のコーデックは、符号化ビデオデータを復号することができる。
【００４３】
[0056]受信機デバイスは、次いで、復号ビデオ信号をレンダリングデバイス（たとえば、ビデオディスプレイデバイス）に送ることができる。レンダリングデバイスは、たとえば、ヘッドマウントディスプレイ、バーチャルリアリティテレビジョン、および他の１８０または３６０度ディスプレイデバイスを含む。概して、ヘッドマウントディスプレイは、着用者の頭の移動および／または着用者の眼の移動を追跡することが可能である。ヘッドマウントディスプレイは、着用者が、その人が実世界を経験するであろうということと同様に（in the same way）バーチャル環境を経験するように、着用者が見ている方向に対応する３６０度ビデオの部分をレンダリングするために追跡情報を使用することができる。レンダリングデバイスは、ビデオがキャプチャされた同じフレームレートで、または異なるフレームレートでビデオをレンダリングし得る。
【００４４】
[0057]ファイルフォーマット規格は、１つまたは複数のファイル中にビデオ（および場合によってはまたオーディオ）データをパックおよびアンパックするためのフォーマットを定義することができる。ファイルフォーマット規格は、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ、ＩＳＯ／ＩＥＣ１４４９６−１２において定義されている）と、モーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Pictures Experts Group）ＭＰＥＧ−４ファイルフォーマット（ＩＳＯ／ＩＥＣ１４４９６−１５において定義されている）、第３世代パートナーシッププロジェクト（３ＧＰＰ（登録商標））ファイルフォーマット（３ＧＰＰ  ＴＳ２６．２４４において定義されている）、ならびにアドバンストビデオコーディング（ＡＶＣ）ファイルフォーマットおよび高効率ビデオコーディング（ＨＥＶＣ）ファイルフォーマット（両方ともＩＳＯ／ＩＥＣ１４４９６−１５において定義されている）を含む、ＩＳＯＢＭＦＦから派生された他のファイルフォーマットとを含む。ＩＳＯ／ＩＥＣ１４４９６−１２および１４４９６−１５のための最近の新版のドラフトテキストは、それぞれ、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において入手可能である。
【００４５】
[0058]ＩＳＯＢＭＦＦは、多くのコーデックカプセル化フォーマット（たとえば、ＡＶＣファイルフォーマットまたは他の好適なコーデックカプセル化フォーマット）のための、ならびに多くのマルチメディアコンテナフォーマット（たとえば、ＭＰＥＧ−４ファイルフォーマット、３ＧＰＰファイルフォーマット（３ＧＰ）、ＤＶＢファイルフォーマット、または他の好適なマルチメディアコンテナフォーマット）のための、基礎として使用される。ＩＳＯＢＭＦＦベースファイルフォーマットは、ストリーミングメディアとも呼ばれる連続メディアのために使用され得る。
【００４６】
[0059]連続メディア（たとえば、オーディオおよびビデオ）に加えて、静的メディア（たとえば、画像）およびメタデータが、ＩＳＯＢＭＦＦに準拠するファイルに記憶され得る。ＩＳＯＢＭＦＦに従って構造化されたファイルは、ローカルメディアファイル再生、リモートファイルのプログレッシブダウンロードを含む、多くの目的のために、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）のためのセグメントとして、ストリーミングされるべきコンテンツのためのコンテナとして（その場合、コンテナはパケット化命令を含む）、受信されたリアルタイムメディアストリームの記録、または他の用途のために使用され得る。
【００４７】
[0060]ＩＳＯＢＭＦＦおよびそれの派生ファイルフォーマット（たとえば、ＡＶＣファイルフォーマットまたは他の派生ファイルフォーマット）は、多くのマルチメディア適用例において、（たとえば、ビデオ、オーディオ、およびタイムドテキストを含む）メディアコンテンツの記憶およびカプセル化のために広く使用される。ＩＳＯＢＭＦＦおよびＩＳＯＢＭＦＦから派生されたファイルフォーマットは、しかしながら、バーチャルリアリティ（ＶＲ）ビデオを記憶するための仕様を含まない。たとえば、バーチャルリアリティビデオがＩＳＯＢＭＦＦまたは派生ファイルフォーマットに基づいてファイルに記憶された場合、プレーヤデバイスは、バーチャルリアリティビデオを従来の平面ビデオとして扱い得る（たとえば、処理することを試み得る）（たとえば、プレーヤデバイスは、バーチャルリアリティビデオを、バーチャルリアリティコンテンツを含まないものとして扱い得る）。したがって、プレーヤは、レンダリング中にバーチャルリアリティビデオの必要な投影を適用せず、その結果、ビデオは、表示されたとき、ひずんでおり、潜在的に閲覧可能でないことがある。
【００４８】
[0061]様々な実装形態では、ＩＳＯＢＭＦＦへの修正および／または追加は、ＩＳＯＢＭＦＦ、またはＩＳＯＢＭＦＦから派生されたフォーマットに従ってフォーマットされたファイルが、バーチャルリアリティコンテンツを含むことを示すことができる。たとえば、いくつかの実装形態では、ファイルは、そのファイルのコンテンツが、バーチャルリアリティ使用事例または実装形態において使用するためにフォーマットされることをシグナリングする（たとえば、示す）、ファイルレベル指示を含むことができる。別の例として、いくつかの実装形態では、ファイルは、そのファイル中のムービープレゼンテーションがバーチャルリアリティコンテンツを含むことをシグナリングする（たとえば、示す）、ムービーレベル指示を含むことができる。別の例として、いくつかの実装形態では、ファイルは、トラックがバーチャルリアリティコンテンツを含むことをシグナリングする（たとえば、示す）、トラックレベル指示を含むことができる。様々な実装形態では、バーチャルリアリティコンテンツに関係するパラメータも、ファイル、ムービー、および／またはトラックレベルにおいてシグナリングされ得る。
【００４９】
[0062]これらおよび他の実装形態では、プレーヤデバイスは、ファイルがバーチャルリアリティコンテンツを含むときを認識することができる。いくつかの場合には、バーチャルリアリティコンテンツを表示することが可能でないプレーヤデバイスは、バーチャルリアリティメディアを無視および／またはスキップすることができる。
【００５０】
[0063]図１は、符号化デバイス１０４と復号デバイス１１２とを含むシステム１００の一例を示すブロック図である。符号化デバイス１０４はソースデバイスの一部であり得、復号デバイス１１２は受信デバイスの一部であり得る。ソースデバイスおよび／または受信デバイスは、モバイルもしくは固定電話ハンドセット（たとえば、スマートフォン、セルラー電話など）、デスクトップコンピュータ、ラップトップもしくはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、または任意の他の好適な電子デバイスなど、電子デバイスを含み得る。いくつかの例では、ソースデバイスおよび受信デバイスは、ワイヤレス通信のための１つまたは複数のワイヤレストランシーバを含み得る。本明細書で説明されるコーディング技法は、（たとえば、インターネットを介した）ストリーミングビデオ送信、テレビジョン放送もしくは送信、データ記憶媒体上に記憶するためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例を含む、様々なマルチメディア適用例におけるビデオコーディングに適用可能である。いくつかの例では、システム１００は、ビデオ会議、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、ゲーム、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートすることができる。
【００５１】
[0064]符号化デバイス１０４（またはエンコーダ）は、符号化ビデオビットストリームを生成するために、ビデオコーディング規格またはプロトコルを使用して、バーチャルリアリティビデオデータを含むビデオデータを符号化するために使用され得る。ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、それぞれＳＶＣおよびＭＶＣとして知られる、それのスケーラブルビデオコーディング拡張およびマルチビュービデオコーディング拡張を含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。より最近のビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣムービングピクチャエキスパートグループ（ＭＰＥＧ：Moving Picture Experts Group）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって確定された。ＭＶ−ＨＥＶＣと呼ばれるＨＥＶＣに対するマルチビュー拡張、およびＳＨＶＣと呼ばれるＨＥＶＣに対するスケーラブル拡張、または任意の他の好適なコーディングプロトコルを含む、ＨＥＶＣに対する様々な拡張が、マルチレイヤビデオコーディングに対処し、また、ＪＣＴ−ＶＣによって開発されている。
【００５２】
[0065]本明細書で説明される実装形態は、ＨＥＶＣ規格またはそれの拡張を使用する例について説明する。しかしながら、本明細書で説明される技法およびシステムは、ＡＶＣ、ＭＰＥＧ、それの拡張、あるいはすでに利用可能であるか、またはまだ利用可能ではないか、もしくは開発されていない他の好適なコーディング規格など、他のコーディング規格にも適用可能であり得る。したがって、本明細書で説明される技法およびシステムは、特定のビデオコーディング規格を参照しながら説明され得るが、当業者は、説明がその特定の規格にのみ適用されると解釈されるべきではないことを諒解されよう。
【００５３】
[0066]ビデオソース１０２は、符号化デバイス１０４にビデオデータを与え得る。ビデオソース１０２は、ソースデバイスの一部であり得るか、またはソースデバイス以外のデバイスの一部であり得る。ビデオソース１０２は、ビデオキャプチャデバイス（たとえば、ビデオカメラ、カメラフォン、ビデオフォンなど）、記憶されたビデオを含むビデオアーカイブ、ビデオデータを与えるビデオサーバもしくはコンテンツプロバイダ、ビデオサーバもしくはコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組合せ、または任意の他の好適なビデオソースを含み得る。ビデオソース１０２の一例としては、インターネットプロトコルカメラ（ＩＰカメラ）があり得る。ＩＰカメラは、監視、ホームセキュリティ、または他の好適な適用例に使用され得るタイプのデジタルビデオカメラである。アナログ閉回路テレビジョン（ＣＣＴＶ）カメラとは異なり、ＩＰカメラは、コンピュータネットワークおよびインターネットを介してデータを送り、受信することができる。
【００５４】
[0067]ビデオソース１０２からのビデオデータは、１つまたは複数の入力ピクチャまたはフレームを含み得る。ピクチャまたはフレームは、ビデオの一部である静止画像である。符号化デバイス１０４のエンコーダエンジン１０６（またはエンコーダ）は、符号化ビデオビットストリームを生成するためにビデオデータを符号化する。いくつかの例では、符号化ビデオビットストリーム（または「ビデオビットストリーム」もしくは「ビットストリーム」）は、一連の１つまたは複数のコード化ビデオシーケンスである。コード化ビデオシーケンス（ＣＶＳ）は、ベースレイヤ中の、いくつかのプロパティをもつランダムアクセスポイントピクチャを有するアクセスユニット（ＡＵ）で始まり、ベースレイヤ中の、いくつかのプロパティをもつランダムアクセスポイントピクチャを有する次のＡＵまでの、次のＡＵを含まない一連のＡＵを含む。たとえば、ＣＶＳを開始するランダムアクセスポイントピクチャのいくつかのプロパティは、１に等しいＲＡＳＬフラグ（たとえば、ＮｏＲａｓｌＯｕｔｐｕｔＦｌａｇ）を含み得る。他の場合、（０に等しいＲＡＳＬフラグをもつ）ランダムアクセスポイントピクチャはＣＶＳを開始しない。アクセスユニット（ＡＵ）は、１つまたは複数のコード化ピクチャと、同じ出力時間を共有するコード化ピクチャに対応する制御情報とを含む。ピクチャのコード化スライスは、ビットストリームレベルにおいて、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと呼ばれるデータユニット中にカプセル化される。たとえば、ＨＥＶＣビデオビットストリームは、ＮＡＬユニットを含む１つまたは複数のＣＶＳを含み得る。ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとを含む、ＮＡＬユニットの２つのクラスがＨＥＶＣ規格に存在する。ＶＣＬ  ＮＡＬユニットは、コード化ピクチャデータの（以下で説明される）１つのスライスまたはスライスセグメントを含み、非ＶＣＬ  ＮＡＬユニットは、１つまたは複数のコード化ピクチャに関係する制御情報を含む。
【００５５】
[0068]ＮＡＬユニットは、ビデオ中のピクチャのコード化表現など、ビデオデータのコード化表現を形成するビットのシーケンス（たとえば、符号化ビデオビットストリーム、ビットストリームのＣＶＳなど）を含んでいることがある。エンコーダエンジン１０６は、各ピクチャを複数のスライスに区分することによってピクチャのコード化表現を生成する。スライスは、次いで、ルーマサンプルおよびクロマサンプルのコーディングツリーブロック（ＣＴＢ）に区分される。ルーマサンプルのＣＴＢおよびクロマサンプルの１つまたは複数のＣＴＢは、サンプルのためのシンタックスとともに、コーディングツリーユニット（ＣＴＵ）と呼ばれる。ＣＴＵは、ＨＥＶＣ符号化のための基本処理ユニットである。ＣＴＵは、様々なサイズの複数のコーディングユニット（ＣＵ）にスプリットされ得る。ＣＵは、コーディングブロック（ＣＢ）と呼ばれるルーマおよびクロマサンプルアレイを含んでいる。
【００５６】
[0069]ルーマおよびクロマＣＢは、予測ブロック（ＰＢ）にさらにスプリットされ得る。ＰＢは、インター予測のために同じ動きパラメータを使用するルーマまたはクロマ成分のサンプルのブロックである。ルーマＰＢおよび１つまたは複数のクロマＰＢは、関連するシンタックスとともに、予測ユニット（ＰＵ）を形成する。動きパラメータのセットは、ＰＵごとにビットストリーム中でシグナリングされ、ルーマＰＢおよび１つまたは複数のクロマＰＢのインター予測のために使用される。ＣＢはまた、１つまたは複数の変換ブロック（ＴＢ）に区分され得る。ＴＢは、予測残差信号をコーディングするために同じ２次元変換が適用される色成分のサンプルの正方形ブロックを表す。変換ユニット（ＴＵ）は、ルーマおよびクロマサンプルのＴＢと、対応するシンタックス要素とを表す。
【００５７】
[0070]ＣＵのサイズは、コーディングノードのサイズに対応し、形状が正方形であり得る。たとえば、ＣＵのサイズは、８×８サンプル、１６×１６サンプル、３２×３２サンプル、６４×６４サンプル、または対応するＣＴＵのサイズまでの任意の他の適切なサイズであり得る。「Ｎ×Ｎ」という句は、本明細書では、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法（たとえば、８ピクセル×８ピクセル）を指すために使用される。ブロック中のピクセルは行および列に配列され得る。いくつかの実施形態では、ブロックは、水平方向において垂直方向と同じ数のピクセルを有するとは限らない。ＣＵに関連するシンタックスデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分を記述し得る。区分モードは、ＣＵがイントラ予測モード符号化されるか、インター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＴＵに従う１つまたは複数のＴＵへのＣＵの区分をも記述し得る。ＴＵは、形状が正方形または非正方形であり得る。
【００５８】
[0071]ＨＥＶＣ規格によれば、変換は、変換ユニット（ＴＵ）を使用して実施され得る。ＴＵは、異なるＣＵでは異なり得る。ＴＵは、所与のＣＵ内のＰＵのサイズに基づいてサイズ決定され得る。ＴＵは、ＰＵと同じサイズであるか、またはＰＵよりも小さいことがある。いくつかの例では、ＣＵに対応する残差サンプルは、残差４分木（ＲＱＴ）として知られる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードはＴＵに対応し得る。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され得る。変換係数は、次いで、エンコーダエンジン１０６によって量子化され得る。
【００５９】
[0072]ビデオデータのピクチャがＣＵに区分されると、エンコーダエンジン１０６は、予測モードを使用して各ＰＵを予測する。予測は、次いで、（以下で説明される）残差を得るために元のビデオデータから減算される。ＣＵごとに、シンタックスデータを使用してビットストリーム内で予測モードがシグナリングされ得る。予測モードは、イントラ予測（もしくはピクチャ内予測）またはインター予測（もしくはピクチャ間予測）を含み得る。イントラ予測を使用して、各ＰＵは、たとえば、ＰＵに関する平均値を見つけるためのＤＣ予測、平坦面をＰＵに適合させるための平面予測、隣接データから外挿するための方向予測、または任意の他の好適なタイプの予測を使用して、同じピクチャ中の隣接画像データから予測される。インター予測を使用して、各ＰＵは、（出力順序において現在ピクチャの前または後の）１つまたは複数の参照ピクチャ中の画像データからの動き補償予測を使用して予測される。ピクチャ間予測を使用してピクチャエリアをコーディングすべきなのか、ピクチャ内予測を使用してピクチャエリアをコーディングすべきなのかの決定は、たとえば、ＣＵレベルにおいて行われ得る。いくつかの例では、ピクチャの１つまたは複数のスライスは、スライスタイプを割り当てられる。スライスタイプは、Ｉスライスと、Ｐスライスと、Ｂスライスとを含む。Ｉスライス（フレーム内、独立して復号可能）は、イントラ予測によってのみコーディングされるピクチャのスライスであり、したがって、Ｉスライスは、スライスの任意のブロックを予測するためにフレーム内のデータのみを必要とするので、独立して復号可能である。Ｐスライス（単方向予測されるフレーム）は、イントラ予測および単方向インター予測を用いてコーディングされ得るピクチャのスライスである。Ｐスライス内の各ブロックは、イントラ予測またはインター予測のいずれかを用いてコーディングされる。インター予測が適用されるとき、ブロックは、１つの参照ピクチャによってのみ予測され、したがって、参照サンプルは、１つのフレームの１つの参照領域からのみのものである。Ｂスライス（双方向予測フレーム）は、イントラ予測およびインター予測を用いてコーディングされ得るピクチャのスライスである。Ｂスライスのブロックは、２つの参照ピクチャから双方向予測され得、ここで、各ピクチャが１つの参照領域を導き（contribute）、双方向予測されたブロックの予測信号を生成するために、２つの参照領域のサンプルセットが（たとえば、等しい重みを用いて）重み付けされる。上記で説明されたように、１つのピクチャのスライスが独立してコーディングされる。いくつかの場合には、ピクチャは、ただ１つのスライスとしてコーディングされ得る。
【００６０】
[0073]ＰＵは、予測プロセスに関係するデータを含み得る。たとえば、ＰＵがイントラ予測を使用して符号化されるとき、ＰＵは、ＰＵのためのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインター予測を使用して符号化されるとき、ＰＵは、ＰＵのための動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルのための参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００６１】
[0074]符号化デバイス１０４は、次いで、変換および量子化を実施し得る。たとえば、予測の後に、エンコーダエンジン１０６は、ＰＵに対応する残差値を計算し得る。残差値は、ピクセル差分値を備え得る。予測が実施された後に残存し得るいずれの残差データも、離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、または他の好適な変換関数に基づき得るブロック変換を使用して変換される。いくつかの場合には、１つまたは複数のブロック変換（たとえば、サイズ３２×３２、１６×１６、８×８、４×４など）が各ＣＵにおける残差データに適用され得る。いくつかの実施形態では、エンコーダエンジン１０６によって実装される変換および量子化プロセスのためにＴＵが使用され得る。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数のＴＵをも含み得る。以下でさらに詳細に説明されるように、残差値は、ブロック変換を使用して変換係数に変換され得、次いで、エントロピーコーディングのためのシリアル化変換係数を生成するために、ＴＵを使用して量子化および走査され得る。
【００６２】
[0075]いくつかの実施形態では、ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、エンコーダエンジン１０６は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、空間領域（またはピクセル領域）においてピクセルデータを備え得る。ＴＵは、ブロック変換の適用の後に変換領域において係数を備え得る。前記のように、残差データは、符号化されていないピクチャのピクセルとＰＵに対応する予測値との間のピクセル差分値に対応し得る。エンコーダエンジン１０６は、ＣＵのための残差データを含むＴＵを形成し得、次いで、ＣＵのための変換係数を生成するためにＴＵを変換し得る。
【００６３】
[0076]エンコーダエンジン１０６は、変換係数の量子化を実施し得る。量子化は、係数を表すために使用されるデータの量を低減するために変換係数を量子化することによって、さらなる圧縮をもたらす。たとえば、量子化は、係数の一部または全部に関連するビット深度を低減し得る。一例では、ｎビット値をもつ係数は、量子化中にｍビット値に切り捨てられ得、ｎはｍよりも大きい。
【００６４】
[0077]量子化が実施されると、コード化ビデオビットストリームは、量子化変換係数と、予測情報（たとえば、予測モード、動きベクトルなど）と、区分情報と、他のシンタックスデータなどの任意の他の好適なデータとを含む。コード化ビデオビットストリームの異なる要素は、次いで、エンコーダエンジン１０６によってエントロピー符号化され得る。いくつかの例では、エンコーダエンジン１０６は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。いくつかの例では、エンコーダエンジン１０６は適応走査を実施し得る。ベクトル（たとえば、１次元ベクトル）を形成するために量子化変換係数を走査した後、エンコーダエンジン１０６は、ベクトルをエントロピー符号化し得る。たとえば、エンコーダエンジン１０６は、コンテキスト適応型可変長コーディング、コンテキスト適応型バイナリ算術コーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング、確率間隔区分エントロピーコーディング、または別の好適なエントロピー符号化技法を使用し得る。
【００６５】
[0078]符号化デバイス１０４の出力部１１０は、通信リンク１２０を介して受信デバイスの復号デバイス１１２に、符号化ビデオビットストリームデータを構成するＮＡＬユニットを送り得る。復号デバイス１１２の入力部１１４はＮＡＬユニットを受信し得る。通信リンク１２０は、ワイヤレスネットワーク、ワイヤードネットワーク、またはワイヤードネットワークとワイヤレスネットワークとの組合せによって与えられるチャネルを含み得る。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組合せを含み得、任意の好適なワイヤレスネットワーク（たとえば、インターネットまたは他のワイドエリアネットワーク、パケットベースネットワーク、ＷｉＦｉ（登録商標）、無線周波数（ＲＦ）、ＵＷＢ、ＷｉＦｉ−Ｄｉｒｅｃｔ、セルラー、ロングタームエボリューション（ＬＴＥ（登録商標））、ＷｉＭａｘ（登録商標）など）を含み得る。ワイヤードネットワークは、任意のワイヤードインターフェース（たとえば、ファイバー、イーサネット（登録商標）、電力線イーサネット、同軸ケーブルを介したイーサネット、デジタル信号線（ＤＳＬ）など）を含み得る。ワイヤードおよび／またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチなど、様々な機器を使用して実装され得る。符号化ビデオビットストリームデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、受信デバイスに送信され得る。
【００６６】
[0079]いくつかの例では、符号化デバイス１０４は、符号化ビデオビットストリームデータを記憶装置１０８に記憶し得る。出力部１１０は、エンコーダエンジン１０６から、または記憶装置１０８から符号化ビデオビットストリームデータを取り出し得る。記憶装置１０８は、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。たとえば、記憶装置１０８は、ハードドライブ、記憶ディスク、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。
【００６７】
[0080]復号デバイス１１２の入力部１１４は、符号化ビデオビットストリームデータを受信し、ビデオビットストリームデータをデコーダエンジン１１６に、またはデコーダエンジン１１６による後の使用のために記憶装置１１８に与え得る。デコーダエンジン１１６は、（たとえば、エントロピーデコーダを使用して）エントロピー復号し、符号化ビデオデータを構成する１つまたは複数のコード化ビデオシーケンスの要素を抽出することによって、符号化ビデオビットストリームデータを復号し得る。デコーダエンジン１１６は、次いで、符号化ビデオビットストリームデータを再スケーリングし、符号化ビデオビットストリームデータに対して逆変換を実施し得る。残差データが、次いで、デコーダエンジン１１６の予測段階にパスされる。デコーダエンジン１１６は、次いで、ピクセルのブロック（たとえば、ＰＵ）を予測する。いくつかの例では、逆変換の出力（残差データ）に予測が加算される。
【００６８】
[0081]復号デバイス１１２は、復号ビデオをビデオ宛先デバイス１２２に出力し得、ビデオ宛先デバイス１２２は、復号ビデオデータをコンテンツの消費者に表示するためのディスプレイまたは他の出力デバイスを含み得る。いくつかの態様では、ビデオ宛先デバイス１２２は、復号デバイス１１２を含む受信デバイスの一部であり得る。いくつかの態様では、ビデオ宛先デバイス１２２は、受信デバイス以外の別個のデバイスの一部であり得る。
【００６９】
[0082]補足エンハンスメント情報（ＳＥＩ）メッセージがビデオビットストリーム中に含まれ得る。たとえば、ＳＥＩメッセージは、復号デバイス１１２によってビットストリームを復号するために不可欠でない情報（たとえば、メタデータ）を搬送するために使用され得る。この情報は、復号された出力の表示または処理を改善する際に有用である（たとえば、そのような情報は、コンテンツの視認性を改善するためにデコーダ側エンティティによって使用され得る）。
【００７０】
[0083]いくつかの実施形態では、ビデオ符号化デバイス１０４および／またはビデオ復号デバイス１１２は、それぞれオーディオ符号化デバイスおよびオーディオ復号デバイスと統合され得る。ビデオ符号化デバイス１０４および／またはビデオ復号デバイス１１２はまた、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、上記で説明されたコーディング技法を実装するために必要である他のハードウェアまたはソフトウェアを含み得る。ビデオ符号化デバイス１０４およびビデオ復号デバイス１１２は、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００７１】
[0084]ＨＥＶＣ規格に対する拡張は、ＭＶ−ＨＥＶＣと呼ばれるマルチビュービデオコーディング拡張と、ＳＨＶＣと呼ばれるスケーラブルビデオコーディング拡張とを含む。ＭＶ−ＨＥＶＣ拡張およびＳＨＶＣ拡張は、階層化コーディングの概念を共有し、異なるレイヤが符号化ビデオビットストリーム中に含まれる。コード化ビデオシーケンス中の各レイヤは、一意のレイヤ識別子（ＩＤ）によってアドレス指定される。レイヤＩＤは、ＮＡＬユニットがそれに関連するレイヤを識別するために、ＮＡＬユニットのヘッダ中に存在し得る。ＭＶ−ＨＥＶＣでは、異なるレイヤは、ビデオビットストリーム中の同じシーンの異なるビューを表すことができる。ＳＨＶＣでは、異なる空間解像度（またはピクチャ解像度）で、または異なる再構成忠実度でビデオビットストリームを表す異なるスケーラブルレイヤが与えられる。スケーラブルレイヤは、（レイヤＩＤ＝０である）ベースレイヤと（レイヤＩＤ＝１、２、．．．ｎである）１つまたは複数のエンハンスメントレイヤとを含み得る。ベースレイヤは、ＨＥＶＣの第１のバージョンのプロファイルに適合し得、ビットストリーム中の利用可能な最下位レイヤを表す。エンハンスメントレイヤは、ベースレイヤと比較して、増加された空間解像度、時間解像度もしくはフレームレート、および／または再構成忠実度（もしくは品質）を有する。エンハンスメントレイヤは、階層的に編成されており、下位レイヤに依存すること（または依存しないこと）がある。いくつかの例では、単一規格コーデックを使用して、異なるレイヤがコーディングされ得る（たとえば、ＨＥＶＣ、ＳＨＶＣ、または他のコーディング規格を使用して、すべてのレイヤが符号化される）。いくつかの例では、多規格コーデックを使用して、異なるレイヤがコーディングされ得る。たとえば、ベースレイヤは、ＡＶＣを使用してコーディングされ得るが、１つまたは複数のエンハンスメントレイヤは、ＨＥＶＣ規格に対するＳＨＶＣ拡張および／またはＭＶ−ＨＥＶＣ拡張を使用してコーディングされ得る。概して、レイヤは、ＶＣＬ  ＮＡＬユニットのセットと非ＶＣＬ  ＮＡＬユニットの対応するセットとを含む。ＮＡＬユニットは、特定のレイヤＩＤ値を割り当てられる。レイヤは、あるレイヤが下位レイヤに依存し得るという意味で、階層的であり得る。
【００７２】
[0085]前に説明されたように、ＨＥＶＣビットストリームは、ＶＣＬ  ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとを含む、ＮＡＬユニットのグループを含む。非ＶＣＬ  ＮＡＬユニットは、他の情報に加えて、符号化ビデオビットストリームに関係する高レベル情報をもつパラメータセットを含んでいることがある。たとえば、パラメータセットは、ビデオパラメータセット（ＶＰＳ）と、シーケンスパラメータセット（ＳＰＳ）と、ピクチャパラメータセット（ＰＰＳ）とを含み得る。パラメータセットの目的の例としては、ビットレート効率、エラーレジリエンシー、およびシステムレイヤインターフェースを与えることがある。各スライスは、復号デバイス１１２がそのスライスを復号するために使用し得る情報にアクセスするために、単一のアクティブなＰＰＳ、ＳＰＳ、およびＶＰＳを参照する。ＶＰＳ識別子（ＩＤ）と、ＳＰＳ  ＩＤと、ＰＰＳ  ＩＤとを含むＩＤが、パラメータセットごとにコーディングされ得る。ＳＰＳは、ＳＰＳ  ＩＤとＶＰＳ  ＩＤとを含む。ＰＰＳは、ＰＰＳ  ＩＤとＳＰＳ  ＩＤとを含む。各スライスヘッダはＰＰＳ  ＩＤを含む。ＩＤを使用して、アクティブなパラメータセットが所与のスライスについて識別され得る。
【００７３】
[0086]ＶＣＬ  ＮＡＬユニットは、コード化ビデオビットストリームを形成するコード化ピクチャデータを含む。以下の表Ａに示されるように、様々なタイプのＶＣＬ  ＮＡＬユニットがＨＥＶＣ規格において定義されている。第１のＨＥＶＣ規格において定義されているシングルレイヤビットストリームでは、ＡＵ中に含まれているＶＣＬ  ＮＡＬユニットは同じＮＡＬユニットタイプ値を有し、ＮＡＬユニットタイプ値は、ＡＵのタイプとＡＵ内のコード化ピクチャのタイプとを定義する。たとえば、特定のＡＵのＶＣＬ  ＮＡＬユニットは、瞬時復号リフレッシュ（ＩＤＲ）ＮＡＬユニット（値１９）を含み得、これは、ＡＵをＩＤＲ  ＡＵにし、ＡＵのコード化ピクチャをＩＤＲピクチャにする。ＶＣＬ  ＮＡＬユニットの所与のタイプは、ＶＣＬ  ＮＡＬユニット中に含まれている、ピクチャまたはそれの一部分（たとえば、ＶＣＬ  ＮＡＬユニット中のピクチャのスライスまたはスライスセグメント）に関係する。リーディングピクチャと、トレーリングピクチャと、イントラランダムアクセス（ＩＲＡＰ）ピクチャ（「ランダムアクセスピクチャ」とも呼ばれる）とを含む、３つのクラスのピクチャがＨＥＶＣ規格において定義されている。マルチレイヤビットストリームでは、ＡＵ内のピクチャのＶＣＬ  ＮＡＬユニットは、同じＮＡＬユニットタイプ値と同じタイプのコード化ピクチャとを有する。たとえば、タイプＩＤＲのＶＣＬ  ＮＡＬユニットを含んでいるピクチャは、ＡＵ中のＩＤＲピクチャであると言われる。別の例では、ベースレイヤ（０に等しいレイヤＩＤ）におけるＩＲＡＰピクチャであるピクチャをＡＵが含んでいるとき、ＡＵはＩＲＡＰ  ＡＵである。
【００７４】
[0087]上記で説明されたように符号化されたビデオビットストリームは、そのビットストリームを符号化デバイス１０４から復号デバイス１１２に転送するために、１つまたは複数のファイル中に書き込まれるかまたはパックされ得る。たとえば、出力部１１０は、ビットストリームを含んでいる１つまたは複数のファイルを生成するように構成されたファイル書込みエンジンを含み得る。出力部１１０は、１つまたは複数のファイルを通信リンク１２０を介してデコーダデバイス１１２に送信することができる。代替または追加として、１つまたは複数のファイルは、復号デバイス１１２に後で送信するために記憶媒体（たとえば、テープ、磁気ディスク、またはハードドライブ、または何らかの他の媒体）に記憶され得る。
【００７５】
[0088]デコーダデバイス１１２は、たとえば入力部１１４中に、ファイルパーシングエンジンを含むことができる。ファイルパーシングエンジンは、通信リンク１２０を介してまたは記憶媒体から受信されたファイルを読み取ることができる。ファイルパーシングエンジンは、さらに、ファイルからサンプルを抽出し、デコーダエンジン１１６によって復号するためにビットストリームを再構成することができる。いくつかの場合には、再構成されたビットストリームは、エンコーダエンジン１０６によって生成されたビットストリームと同じであり得る。いくつかの場合には、エンコーダエンジン１０６は、ビットストリームを復号するためのいくつかの可能なオプションをもつビットストリームを生成していることがあり（may have generated）、その場合、再構成されたビットストリームは、１つのオプションのみ、またはすべての可能なオプションよりも少数のオプションを含み得る。
【００７６】
[0089]上記で説明されたように符号化されたビデオビットストリームは、ＩＳＯＢＭＦＦ、ＩＳＯＢＭＦＦから派生されたファイルフォーマット、何らかの他のファイルフォーマット、および／またはＩＳＯＢＭＦＦを含むファイルフォーマットの組合せを使用して、１つまたは複数のファイル中に書き込まれるかまたはパックされ得る。１つまたは複数のファイルは、ビデオプレーヤデバイスを使用して再生され得、送信され、次いで表示され、および／または記憶され得る。
【００７７】
[0090]図２は、ＩＳＯＢＭＦＦに従ってフォーマットされた、ビデオプレゼンテーションのためのデータとメタデータとを含んでいるＩＳＯベースメディアファイル２００の一例を示す。ＩＳＯＢＭＦＦは、メディアの交換、管理、編集、およびプレゼンテーションを可能にする（facilitates）、フレキシブルで拡張可能なフォーマットにおいてタイムドメディア情報を含んでいるように設計される。メディアのプレゼンテーションは、プレゼンテーションを含んでいるシステムに対して「ローカル」であり得るか、あるいはプレゼンテーションは、ネットワークまたは他のストリーム配信機構を介して行われ（be）得る。
【００７８】
[0091]ＩＳＯＢＭＦＦ仕様によって定義された「プレゼンテーション」は、ビデオキャプチャデバイスによって連続して（sequentially）キャプチャされたことによってしばしば関係付けられた、または何らかの他の理由で関係付けられた、ピクチャのシーケンスである。本明細書では、プレゼンテーションは、ムービーまたはビデオプレゼンテーションと呼ばれることもある。プレゼンテーションはオーディオを含み得る。単一のプレゼンテーションは、１つまたは複数のファイル中に含まれていることがあり、１つのファイルが、プレゼンテーション全体のためのメタデータを含んでいる。メタデータは、タイミングおよびフレーミングデータ、記述子、ポインタ、パラメータ、ならびにプレゼンテーションを記述する他の情報など、情報を含む。メタデータは、それ自体にビデオおよび／またはオーディオデータを含まない。メタデータを含んでいるファイル以外のファイルは、ＩＳＯＢＭＦＦに従ってフォーマットされる必要がなく、これらのファイルがメタデータによって参照され得るようにのみフォーマットされる必要がある。
【００７９】
[0092]ＩＳＯベースメディアファイルのファイル構造はオブジェクト指向であり、ファイル中の個々のオブジェクトの構造はオブジェクトのタイプから直接推論され得る。ＩＳＯベースメディアファイル中のオブジェクトは、ＩＳＯＢＭＦＦ仕様によって「ボックス」と呼ばれる。ＩＳＯベースメディアファイルは、他のボックスを含んでいることができるボックスのシーケンスとして構造化される。ボックスは、概して、ボックスのためのサイズとタイプとを与えるヘッダを含む。サイズは、ボックス内に含まれているヘッダと、フィールドと、すべてのボックスとを含む、ボックスのサイズ全体を記述する。プレーヤデバイスによって認識されないタイプをもつ（with）ボックスは、一般に、無視およびスキップされる。
【００８０】
[0093]図２の例によって示されるように、ファイルのトップレベルにおいて、ＩＳＯベースメディアファイル２００は、ファイルタイプボックス２１０と、ムービーボックス２２０と、１つまたは複数のムービーフラグメントボックス２３０ａ、２３０ｎとを含むことができる。このレベルにおいて含まれ得るが、この例には表されていない他のボックスは、特に、フリースペースボックスと、メタデータボックスと、メディアデータボックスとを含む。
【００８１】
[0094]ＩＳＯベースメディアファイルは、ボックスタイプ「ｆｔｙｐ」によって識別されるファイルタイプボックス２１０を含むことができる。ファイルタイプボックス２１０は、ファイルをパースするのに最も好適であるＩＳＯＢＭＦＦ仕様を識別する。この場合の「最も」は、ＩＳＯベースメディアファイル２００が、特定のＩＳＯＢＭＦＦ仕様に従ってフォーマットされていることがあるが、仕様の他のイタレーション（iteration）に適合する可能性があることを意味する。この最も好適な仕様はメジャーブランドと呼ばれる。プレーヤデバイスは、そのデバイスが、ファイルのコンテンツを復号および表示することが可能であるかどうかを決定するために、メジャーブランドを使用することができる。ファイルタイプボックス２１０はまた、ＩＳＯＢＭＦＦ仕様のバージョンを示すために使用され得るバージョン番号を含むことができる。ファイルタイプボックス２１０は、ファイルが適合する他のブランドのリストを含む、適合ブランドのリストをも含むことができる。ＩＳＯベースメディアファイルは、２つ以上の（more than one）メジャーブランドに適合することができる。
【００８２】
[0095]ＩＳＯベースメディアファイル２００がファイルタイプボックス２１０を含むとき、１つのファイルタイプボックスのみがある。ＩＳＯベースメディアファイル２００は、より古いプレーヤデバイスに適合するためにファイルタイプボックス２１０を省略し得る。ＩＳＯベースメディアファイル２００がファイルタイプボックス２１０を含まないとき、プレーヤデバイスは、デフォルトメジャーブランド（たとえば「ｍｐ４１」）と、マイナーバージョン（たとえば、「０」）と、適合ブランド（たとえば、「ｍｐ４１」）とを仮定することができる。ファイルタイプボックス２１０は、一般に、ＩＳＯベースメディアファイル２００中のできるだけ早くに配置される（placed）。
【００８３】
[0096]ＩＳＯベースメディアファイルは、プレゼンテーションのためのメタデータを含んでいるムービーボックス２２０をさらに含むことができる。ムービーボックス２２０は、ボックスタイプ「ｍｏｏｖ」によって識別される。ＩＳＯ／ＩＥＣ１４４９６−１２は、プレゼンテーションが、１つのファイル中に含まれているのか複数のファイル中に含まれているのかにかかわらず（whether）、１つのムービーボックス２２０のみを含むことができることを規定している（provides）。しばしば、ムービーボックス２２０はＩＳＯベースメディアファイルの始まりの近くにある。ムービーボックス２２０は、ムービーヘッダボックス２２２を含み、１つまたは複数のトラックボックス２２４ならびに他のボックスを含むことができる。
【００８４】
[0097]ボックスタイプ「ｍｖｈｄ」によって識別されるムービーヘッダボックス２２２は、メディア独立型であり、全体としてのプレゼンテーションに関連する、情報を含むことができる。たとえば、ムービーヘッダボックス２２２は、特に、プレゼンテーションのための作成時間、修正時間、時間スケール、および／または持続時間などの情報を含むことができる。ムービーヘッダボックス２２２は、プレゼンテーション中の次のトラックを識別する識別子をも含むことができる。たとえば、識別子は、図示の例ではムービーボックス２２０によって含まれているトラックボックス２２４を指すことができる。
【００８５】
[0098]ボックスタイプ「ｔｒａｋ」によって識別されるトラックボックス２２４は、プレゼンテーションのためのトラックについての情報を含んでいることができる。プレゼンテーションは、１つまたは複数のトラックを含むことができ、ここで、各トラックは、プレゼンテーション中の他のトラックから独立している。各トラックは、トラック中のコンテンツに固有である（that is specific to）時間および空間情報を含むことができ、各トラックはメディアボックスに関連することができる。トラック中のデータはメディアデータであり得、その場合、トラックはメディアトラックであり、またはデータは、ストリーミングプロトコルのためのパケット化情報であり得、その場合、トラックはヒントトラック（hint track）である。メディアデータは、たとえば、ビデオおよびオーディオデータを含む。図示の例では、例示的なトラックボックス２２４は、トラックヘッダボックス２２４ａとメディアボックス２２４ｂとを含む。トラックボックスは、トラック参照ボックス、トラックグループボックス、編集ボックス、ユーザデータボックス、メタボックスなど、他のボックスを含むことができる。
【００８６】
[0099]ボックスタイプ「ｔｋｈｄ」によって識別されるトラックヘッダボックス２２４ａは、トラックボックス２２４中に含まれているトラックの特性を指定することができる。たとえば、トラックヘッダボックス２２４ａは、特に、トラックの作成時間、修正時間、持続時間、トラック識別子、レイヤ識別子、グループ識別子、ボリューム、幅、および／または高さを含むことができる。メディアトラックの場合、トラックヘッダボックス２２４ａは、さらに、特に、トラックが使用可能にされるかどうか、トラックがプレゼンテーションの一部として再生されるべきであるかどうか、またはトラックが、プレゼンテーションをプレビューするために使用され得るかどうかを識別することができる。トラックのプレゼンテーションは、概して、プレゼンテーションの始まりにあると仮定される。トラックボックス２２４は、明示的タイムラインマップを含むことができる、ここでは示されていない、編集リストボックスを含むことができる。タイムラインマップは、特に、トラックのためのオフセット時間を指定することができ、ここで、オフセットは、そのトラックのための、プレゼンテーションの始まりの後の、開始時間を示す。
【００８７】
[0100]図示の例では、トラックボックス２２４は、ボックスタイプ「ｍｄｉａ」によって識別されるメディアボックス２２４ｂをも含む。メディアボックス２２４ｂは、トラック中のメディアデータに関するオブジェクトおよび情報を含んでいることができる。たとえば、メディアボックス２２４ｂは、トラックのメディアタイプと、トラック中のメディアが提示されるプロセスとを識別することができる、ハンドラ参照ボックスを含んでいることができる（can）。別の例として、メディアボックス２２４ｂは、トラック中のメディアの特性を指定することができるメディア情報ボックスを含んでいることができる。メディア情報ボックスは、さらに、サンプルのテーブルを含むことができ、ここで、各サンプルは、たとえば、サンプルのためのデータのロケーションを含めて、メディアデータ（たとえば、ビデオまたはオーディオデータ）のチャンクを記述する。サンプルのためのデータは、以下でさらに説明されるメディアデータボックスに記憶される。たいていの他のボックスの場合と同様に、メディアボックス２２４ｂもメディアヘッダボックスを含むことができる。
【００８８】
[0101]図示の例では、例示的なＩＳＯベースメディアファイル２００は、プレゼンテーションの複数のフラグメント２３０ａ、２３０ｂ、２３０ｃ、２３０ｎをも含む。フラグメント２３０ａ、２３０ｂ、２０３ｃ、２３０ｎは、ＩＳＯＢＭＦＦボックスではなく、むしろ、ムービーフラグメントボックス２３２と、ムービーフラグメントボックス２３２によって参照されるメディアデータボックス２３８とを記述する。ムービーフラグメントボックス２３２およびメディアデータボックス２３８は、トップレベルボックスであるが、ムービーフラグメントボックス２３２とメディアデータボックス２３８との間の関係を示すために、ここではグループ化される。
【００８９】
[0102]ボックスタイプ「ｍｏｏｆ」によって識別されるムービーフラグメントボックス２３２は、さもなければムービーボックス２２０に記憶されるであろう追加情報を含むことによって、プレゼンテーションを拡張することができる。ムービーフラグメントボックス２３２を使用して、プレゼンテーションは増分的に構築され（built incrementally）得る。ムービーフラグメントボックス２３２は、ムービーフラグメントヘッダボックス２３４およびトラックフラグメントボックス２３６、ならびに、ここでは示されていない他のボックスを含むことができる。
【００９０】
[0103]ボックスタイプ「ｍｆｈｄ」によって識別されるムービーフラグメントヘッダボックス２３４は、シーケンス番号を含むことができる。プレーヤデバイスは、フラグメント２３０ａがプレゼンテーションのための次の１つのデータ（next piece of data）を含むことを検証するために、シーケンス番号を使用することができる。いくつかの場合には、ファイルのコンテンツ、またはプレゼンテーションのためのファイルは、プレーヤデバイスに順が狂って与えられ得る。たとえば、ネットワークパケットは、頻繁に、パケットが最初に送信された順序以外の順序で到着することがある。これらの場合、シーケンス番号は、プレーヤデバイスがフラグメントのための正しい順序を決定するのを支援することができる。
【００９１】
[0104]ムービーフラグメントボックス２３２は、ボックスタイプ「ｔｒａｆ」によって識別される、１つまたは複数のトラックフラグメントボックス２３６をも含むことができる。ムービーフラグメントボックス２３２は、トラックごとに０個以上の（zero or more per track）トラックフラグメントのセットを含むことができる。トラックフラグメントは、０個以上のトラックランを含んでいることができ、その各々は、トラックのためのサンプルの連続するランを記述する。トラックフラグメントは、トラックにサンプルを追加することに加えて、トラックに空き時間を追加するために使用され得る。
【００９２】
[0105]ボックスタイプ「ｍｄａｔ」によって識別されるメディアデータボックス２３８は、メディアデータを含んでいる。ビデオトラックでは、メディアデータボックス２３８はビデオフレームを含んでいるであろう。メディアデータボックスは、代替または追加としてオーディオデータを含むことができる。プレゼンテーションは、１つまたは複数の個々のファイル中に含まれている、０個以上のメディアデータボックスを含むことができる。メディアデータはメタデータによって記述される。図示の例では、メディアデータボックス２３８中のメディアデータは、トラックフラグメントボックス２３６中に含まれるメタデータによって記述され得る。他の例では、メディアデータボックス中のメディアデータは、ムービーボックス２２０中のメタデータによって記述され得る。メタデータは、メディアデータボックス２３８内のメディアデータヘッダおよび／またはフリースペースがスキップされ得るように、ファイル２００内の絶対オフセットによって特定のメディアデータを指すことができる。
【００９３】
[0106]ＩＳＯベースメディアファイル２００中の他のフラグメント２３０ｂ、２３０ｃ、２３０ｎは、第１のフラグメント２３０ａについて示されたボックスと同様のボックスを含んでいることができ、および／または他のボックスを含んでいることができる。
【００９４】
[0107]ＩＳＯＢＭＦＦは、メディアのローカル再生をサポートすることに加えて、ネットワークを介してメディアデータをストリーミングするためのサポートを含む。１つのムービープレゼンテーションを含む１つまたは複数のファイルは、ストリーミングサーバが、１つまたは複数のファイルをパケットとして形成し、送信するのを支援することができる命令を含んでいる、ヒントトラックと呼ばれる追加のトラックを含むことができる。これらの命令は、たとえば、サーバが送るべきデータ（たとえば、ヘッダ情報）またはメディアデータのセグメントへの参照を含むことができる。ファイルは、異なるストリーミングプロトコルのための別個のヒントトラックを含むことができる。ヒントトラックはまた、ファイルを再フォーマットする必要なしに、ファイルに追加され得る。
【００９５】
[0108]メディアデータをストリーミングするための１つの方法は、（ＩＳＯ／ＩＥＣ２３００９−１：２０１４において定義されている）ハイパーテキスト転送プロトコル（ＨＴＴＰ）上での動的適応ストリーミング、またはＤＡＳＨである。ＭＰＥＧ−ＤＡＳＨとしても知られるＤＡＳＨは、従来のＨＴＴＰウェブサーバを使用してメディアコンテンツの高品質ストリーミングを可能にする適応ビットレートストリーミング技法である。ＤＡＳＨは、メディアコンテンツを小さい（small）ＨＴＴＰベースファイルセグメントのシーケンスに分けることによって動作し、ここで、各セグメントは、コンテンツの短い時間間隔を含んでいる。ＤＡＳＨを使用して、サーバは、異なるビットレートでメディアコンテンツを与えることができる。メディアを再生しているクライアントデバイスは、次のセグメントをダウンロードするときに代替ビットレートの中から選択し、したがって、変化するネットワーク状態に適応することができる。ＤＡＳＨは、ワールドワイドウェブ上でコンテンツを配信するためにインターネットのＨＴＴＰウェブサーバインフラストラクチャを使用する。ＤＡＳＨは、メディアコンテンツを符号化および復号するために使用されるコーデックから独立しており、したがって、特に、Ｈ．２６４およびＨＥＶＣなどのコーデックとともに動作する。
【００９６】
[0109]ＩＳＯＢＭＦＦ仕様は、ＤＡＳＨとともに使用するための６つのタイプのストリームアクセスポイント（ＳＡＰ）を指定する。最初の２つのＳＡＰタイプ（タイプ１および２）は、Ｈ．２６４／ＡＶＣおよびＨＥＶＣにおける瞬時復号リフレッシュ（ＩＤＲ）ピクチャに対応する。たとえば、ＩＤＲピクチャは、デコーダにおける復号プロセスを完全にリフレッシュまたは再初期化し、新しいコード化ビデオシーケンスを開始する、イントラピクチャ（Ｉピクチャ）である。いくつかの例では、ＩＤＲピクチャおよび復号順序においてＩＤＲピクチャに続く任意のピクチャは、復号順序においてＩＤＲピクチャの前に来るいかなるピクチャにも依存することができない。
【００９７】
[0110]第３のＳＡＰタイプ（タイプ３）は、オープンＧＯＰ（ピクチャグループ）ランダムアクセスポイント、したがって、ＨＥＶＣにおける切断リンクアクセス（ＢＬＡ）ピクチャまたはクリーンランダムアクセス（ＣＲＡ）ピクチャに対応する。たとえば、ＣＲＡピクチャもＩピクチャである。ＣＲＡピクチャは、デコーダをリフレッシュしなくてよく、新しいＣＶＳを開始しなくてよいので、ＣＲＡピクチャのリーディングピクチャが、復号順序においてＣＲＡピクチャの前に来るピクチャに依存することが可能になる。ランダムアクセスは、ＣＲＡピクチャにおいて、ＣＲＡピクチャと、復号順序においてＣＲＡピクチャの前に来るいかなるピクチャにも依存しないＣＲＡピクチャに関連するリーディングピクチャと、復号順序と出力順序の両方においてＣＲＡに続くすべての関連するピクチャとを復号することによって行われ得る。いくつかの場合には、ＣＲＡピクチャは、関連するリーディングピクチャを有しないことがある。いくつかの実施形態では、マルチレイヤの場合、０よりも大きいレイヤＩＤをもつレイヤに属するＩＤＲまたはＣＲＡピクチャは、ＰピクチャまたはＢピクチャであり得るが、これらのピクチャは、ＩＤＲまたはＣＲＡピクチャと同じアクセスユニットに属し、ＩＤＲまたはＣＲＡピクチャを含んでいるレイヤよりも小さいレイヤＩＤを有する、他のピクチャからのレイヤ間予測のみを使用することができる。
【００９８】
[0111]第４のＳＡＰタイプ（タイプ４）は、漸進的復号リフレッシュ（ＧＤＲ）ランダムアクセスポイントに対応する。
【００９９】
[0112]ＩＳＯＢＭＦＦは、フレキシブルで拡張可能であり、様々なタイプのメディアを記憶および送信するために広く使用されているが、バーチャルリアリティビデオを記憶するか、またはＩＳＯベースメディアファイルのコンテンツを、バーチャルリアリティコンテンツを含むものとして識別するための機構を含まない。したがって、プレーヤデバイスは、ファイルのコンテンツがバーチャルリアリティビデオを含むと決定することが可能でないことがある。バーチャルリアリティコンテンツを表示することが可能でないプレーヤデバイスは、いずれにせよコンテンツを表示することを試み、ひずんだプレゼンテーションを生じ得る。
【０１００】
[0113]様々な実装形態では、ＩＳＯＢＭＦＦおよび／またはＩＳＯＢＭＦＦから派生されたファイルフォーマットは、バーチャルリアリティコンテンツが識別され得るように修正および／または拡張され得る。これらの実装形態は、各々独立してまたは組合せで、バーチャルリアリティコンテンツを識別することができるボックス、ブランド値（brand values）、ボックス中の予約済みビット、および／または他のインジケータを伴うことができる。
【０１０１】
[0114]図３Ａおよび図３Ｂは、ＩＳＯベースメディアファイル３００がバーチャルリアリティコンテンツを含むことを示すために、ファイル３００中のトップレベルボックスが使用される例を示す。様々な実装形態では、トップレベルボックスを使用することは、ファイル３００中のコンテンツのすべてがバーチャルリアリティコンテンツであることを示す。ファイル３００はファイルタイプボックス３１０を含むことができ、それは、ファイル３００が適合する、ＩＳＯＢＭＦＦあるいはＩＳＯＢＭＦＦの派生物の（１つまたは複数の）ブランドまたは特定のイタレーションを指定することができる。ファイル３００は、プレゼンテーションのためのメタデータを含んでいることができるムービーボックス３２０をも含むことができる。ファイル３００は、上記で説明されたように、１つまたは複数のフラグメント３３０ａ、３３０ｂ、３３０ｃ、３３０ｎをも随意に含むことができる。
【０１０２】
[0115]図３Ａの例では、ファイルタイプボックス３１０は、ファイル３００がバーチャルリアリティコンテンツを含むことを示すために使用され得る。ファイルタイプボックス３１０は、たとえば、ファイルがバーチャルリアリティブランドに適合することを示すブランド値を指定するために使用され得る。様々な実装形態では、ファイルタイプボックス３１０にリストされた適合ブランドはまた、バーチャルリアリティ関係パラメータを与えるために使用され得る随意のブランドインジケータを与えるために使用され得る。たとえば、ある適合ブランド値は、バーチャルリアリティコンテンツが２次元（２Ｄ）であることを示すことができ、別の適合ブランド値は、バーチャルリアリティコンテンツが３次元（３Ｄ）であることを示すことができる。別の例として、適合ブランド値は、マッピングタイプ、すなわち、バーチャルリアリティビデオの球状表現が、ファイル３００に記憶するために、正距円筒（equirectangular）形式にマッピングされたのか、立方体形式にマッピングされたのか、またはピラミッド形式にマッピングされたのか、あるいは何らかの他の形式にマッピングされたのかを示すために使用され得る。様々な実装形態では、ビデオの次元数および／またはマッピングなどの情報は、代替または追加として、ファイルタイプボックス３１０中の随意のフィールドを使用して示され得る。
【０１０３】
[0116]図３Ｂの例では、新しいボックスタイプ３６０が定義されている。新しいボックスタイプ３６０は、ファイルタイプボックス３１０と同様にトップレベルボックスである。ファイル中の新しいボックスタイプ３６０の存在、および／または新しいボックスタイプ３６０中のインジケータは、ファイル３００がバーチャルリアリティコンテンツを含むことを示すために使用され得る。たとえば、新しいボックスタイプ３６０は、バーチャルリアリティ適合ブランド値を指定し、および／またはバーチャルリアリティコンテンツに適合するブランド値を適合ブランドリスト中に含む（include brand value compatible with virtual reality content in a compatible brands list）ことができる。新しいボックスタイプ３６０は、さらに、たとえば、バーチャルリアリティコンテンツが２Ｄであるのか３Ｄであるのか、および／またはファイル３００に記憶されたバーチャルリアリティデータのためのマッピングを示すことができる、随意のパラメータを含むことができる。新しいボックスタイプ３６０を指定することは、図３Ａの例の場合のようにファイルタイプボックス３１０を修正する必要を回避することができる。新しいボックスタイプ３６０を認識することができないプレーヤデバイスは、それを無視し得る。
【０１０４】
[0117]いくつかの実装形態において、ファイルタイプボックス３１０、またはファイルのトップレベルのために定義された新しいボックスタイプ３６０が、ファイル３００がバーチャルリアリティコンテンツを含むことを示すために使用されるとき、ファイル３００は、バーチャルリアリティコンテンツの存在をシグナリングするために、ファイル３００中の他のボックス中にもインジケータを含む必要はないことがある。
【０１０５】
[0118]図４は、ＩＳＯベースメディアファイル４００がバーチャルリアリティコンテンツを含むことを示すために、ファイル４００中でムービーレベル指示が使用される一例を示す。ファイル４００はファイルタイプボックス４１０を含むことができ、ファイルタイプボックス４１０は、ファイル４００がそれに適合する、ＩＳＯＢＭＦＦあるいはＩＳＯＢＭＦＦの派生物の（１つまたは複数の）ブランドまたは特定のイタレーションを指定することができる。ファイル４００は、プレゼンテーションのためのメタデータを含んでいることができるムービーボックス４２０をも含むことができる。ファイル４００は、上記で説明されたように、１つまたは複数のフラグメント４３０ａ、４３０ｂ、４３０ｃ、４３０ｎをも随意に含むことができる。
【０１０６】
[0119]上記で説明されたように、ムービーボックス４２０は、ムービーヘッダボックス４２２と、随意に１つまたは複数のトラックボックス４２４とを含むことができる。図４の例では、ムービーヘッダボックス４２２は、ムービーボックス４２０によって記述されるムービーまたはプレゼンテーションがバーチャルリアリティコンテンツを含むことを示すために使用される。たとえば、ムービーヘッダボックス４２２中の予約済みビットは、１の値に設定されるとき、ムービーコンテンツがバーチャルリアリティビデオであることを示すことができ、ムービーがバーチャルリアリティビデオであることもないこともあるとき、別の値に設定され得る。１つの例示的な例では、予約済みビットのうちの１つが指示を伝達するために使用される場合、１に等しいビットは、コンテンツがバーチャルリアリティビデオコンテンツであることを示し、０に等しいビットは、コンテンツがバーチャルリアリティビデオコンテンツであるかもしれないまたはないかもしれない（may or may not）ことを示す。予約済みビットを処理するように構成されないプレーヤデバイスは、これらのビットを無視し得る。
【０１０７】
[0120]ムービーヘッダボックス４２２中の他のフィールドおよび／または予約済みビットは、バーチャルリアリティコンテンツに関係する随意のパラメータを与えるために使用され得る。たとえば、ムービーヘッダボックス４２２は、バーチャルリアリティコンテンツが２Ｄであるのか３Ｄであるのかを示すパラメータを含むことができる。
【０１０８】
[0121]別の例として、ムービーヘッダボックス４２２は、バーチャルリアリティコンテンツがプリスティッチされるのかポストスティッチされるのかを示すパラメータを含むことができる。「プリスティッチ」は、バーチャルリアリティプレゼンテーションのためにキャプチャされた異なるビューが、ファイル４００に記憶される前に、単一の表現にアセンブルされたことを意味する「ポストスティッチ」は、異なるビューが、ファイル４００に個々に記憶されたということ、デコーダデバイスによって単一の表現にアセンブルされることになることを意味する。
【０１０９】
[0122]プリスティッチバーチャルリアリティビデオは、一般に、形状が球状として表され、記憶のためにより好都合である別の形状（たとえば、正距円筒、立方体マッピング型、ピラミッドマッピング型、または何らかの他の形状）にマッピングされる。使用されるマッピングタイプを示すパラメータは、たとえば、予約済みビットを使用して、ムービーヘッダボックス４２２中でシグナリングされ得るパラメータの別の例である。たとえば、１つの予約済みビットは、各マッピングタイプ指示を伝達するために使用され得る。様々な実装形態では、プレーヤデバイスは、複数のマッピングタイプをサポートすることができる。これらの実装形態では、ムービーヘッダボックス４２２は、各個々のトラックのための、および／またはトラックのグループのためのマッピングタイプを含むことができる。
【０１１０】
[0123]様々な実装形態において、ムービーボックス４２０に記憶されたムービープレゼンテーションがバーチャルリアリティビデオを含むことを示すためにムービーヘッダボックス４２２が使用されるとき、ムービーボックス４２０中の他のボックスがバーチャルリアリティビデオの存在を同じく（also）シグナリングする必要はないことがある。
【０１１１】
[0124]図５は、ＩＳＯベースメディアファイル５００がバーチャルリアリティコンテンツを含むことを示すために、ファイル５００中でトラックレベルインジケータが使用される一例を示す。ファイル５００はファイルタイプボックス５１０を含むことができ、ファイルタイプボックス５１０は、ファイル５００がそれに適合する、ＩＳＯＢＭＦＦあるいはＩＳＯＢＭＦＦの派生物の（１つまたは複数の）ブランドまたは特定のイタレーションを指定することができる。ファイル５００は、プレゼンテーションのためのメタデータを含んでいることができるムービーボックス５２０をも含むことができる。ファイル５００は、上記で説明されたように、１つまたは複数のフラグメント５３０ａ、５３０ｂ、５３０ｃ、５３０ｎをも随意に含むことができる。
【０１１２】
[0125]ムービーボックス５２０は、ムービーヘッダボックス５２２および１つまたは複数のトラックボックス５２４、ならびに、ここでは示されていない他のボックスを含むことができる。ムービーヘッダボックス５２２は、プレゼンテーションを全体として記述する情報を含むことができる。トラックボックス５２４は、プレゼンテーション中のトラックについての情報を含むことができる。トラックボックス５２４は、トラックヘッダボックス５２４ａと、０個以上のメディアデータボックス５２４ｂとを含むことができる。
【０１１３】
[0126]図５の例では、特定のトラックボックス５２４のためのトラックヘッダボックス５２４ａは、トラックによって指されるサンプルがバーチャルリアリティビデオデータを含むことを意味する、トラックボックス５２４によって記述されるトラックがバーチャルリアリティトラックであることを示すために使用される。トラック中のバーチャルリアリティコンテンツは、たとえば、トラックヘッダボックス５２４ａ中の予約済みビットを使用して示され得る。たとえば、特定の予約済みビットが１の値に設定されるとき、トラックはバーチャルリアリティコンテンツを含み、そのビットが別の値に設定されるとき、トラックはバーチャルリアリティコンテンツを含むことも含まないこともある。１つの例示的な例では、予約済みビットのうちの１つが指示を伝達するために使用される場合、１に等しいビットは、コンテンツがバーチャルリアリティビデオコンテンツであることを示し、０に等しいビットは、コンテンツがバーチャルリアリティビデオコンテンツであることもないこともあることを示す。いくつかの実装形態では、トラックヘッダボックス５２４中でのバーチャルリアリティコンテンツのシグナリングは、ムービーヘッダボックス５２２中で何がシグナリングされるかに依存し得る。たとえば、ムービーヘッダボックス６２２が、ムービーがバーチャルリアリティコンテンツを含まないことを示すとき、トラックがバーチャルリアリティデータを含んでいるというトラックヘッダボックス５２４ａ中の任意の（any）指示は無視され得る。
【０１１４】
[0127]様々な実装形態では、他のバーチャルリアリティ関係パラメータも、トラックヘッダボックス５２４ａ中でシグナリングされ得る。たとえば、予約済みビットまたは何らかの（some）他の変数が、トラック中のバーチャルリアリティビデオがプリスティッチされるのかポストスティッチされるのかを示すために使用され得る。トラック中のビデオがプリスティッチされるとき、追加のパラメータが、（たとえば、視点および／または視野角に関して）カメラ位置などの情報を与えることができる。トラック中のビデオがポストスティッチされるとき、追加のパラメータが、球状ビデオ表現と、データをファイル５００に記憶する（store the data in the file 500）ために使用された表現（たとえば、正距円筒、立方体マップ、ピラミッドマップ、または何らかの他の形状）との間のマッピングタイプを与えることができる。
【０１１５】
[0128]いくつかの実装形態において、トラックボックス５２４のためのトラックヘッダボックス５２４ａが、トラックがバーチャルリアリティコンテンツを含むことをシグナリングするために使用されるとき、トラックボックス５２４中の他のボックスがトラック中のバーチャルリアリティコンテンツの存在を同じくシグナリングする必要はないことがある。
【０１１６】
[0129]様々な実装形態では、上記で説明された技法と同様の技法が、ＤＡＳＨを使用して送信されるファイル中のバーチャルリアリティコンテンツを示すために使用され得る。たとえば、バーチャルリアリティコンテンツは、ＤＡＳＨプレゼンテーションのメディアプレゼンテーションレベルにおいてシグナリングされ得る。ＤＡＳＨ仕様によって定義されたような（as）メディアプレゼンテーションは、有界または非有界（bounded or unbounded）メディアプレゼンテーション（たとえば、例の中でも、単一の映画または連続ライブストリーム）のためのデータの集合である。メディアプレゼンテーションは、メディアプレゼンテーション記述によって記述され得、ドキュメントは、メディアプレゼンテーションのセグメントにアクセスするための適切なＨＴＴＰユニフォームリソースロケータ（ＵＲＬ）を構成するために、ＤＡＳＨクライアントによって使用され得るメタデータを含んでいる。
【０１１７】
[0130]様々な実装形態では、メディアプレゼンテーション記述は、メディアプレゼンテーション記述によって記述されるメディアコンテンツがバーチャルリアリティコンテンツを含むことを示すために使用され得る。たとえば、要素が、メディアプレゼンテーション記述のためのスキーマに対して修正または追加され得、ここで、その要素は、次いで、バーチャルリアリティコンテンツをシグナリングする。様々な実装形態では、属性も、コンテンツが２Ｄであるのか３Ｄであるのか、コンテンツがプリスティッチされるのかポストスティッチされるのか、および／またはコンテンツがポストスティッチされるときのビデオフレームのためのマッピングなど、バーチャルリアリティコンテンツに関する情報を与えるために、メディアプレゼンテーション記述に対して修正または追加され得る。いくつかの実装形態では、メディアプレゼンテーション記述中のバーチャルリアリティインジケータは、プレゼンテーション中のコンテンツのすべてがバーチャルリアリティのためにフォーマットされることを示す。
【０１１８】
[0131]ＤＡＳＨプレゼンテーションでは、１つのプレゼンテーションのためのメディアコンテンツは期間（periods）に分割される。ＤＡＳＨによって定義された期間は、メディアプレゼンテーション内の時間間隔である。したがって、プレゼンテーションは、期間の連続するシーケンスからなる。期間内に、メディアコンテンツは、一般に、１つの平均ビットレート、１つの言語、１つのキャプション設定、１つのサブタイトル設定などを有することを含めて、符号化の無矛盾な（consistent）セットを有する。
【０１１９】
[0132]様々な実装形態では、期間の要素および／または属性が、バーチャルリアリティコンテンツを示すために使用され得る。たとえば、要素が、期間のためのスキーマに対して修正または追加され得、ここで、その要素は、次いで、バーチャルリアリティコンテンツをシグナリングする。様々な実装形態では、属性も、コンテンツが２Ｄであるのか３Ｄであるのか、コンテンツがプリスティッチされるのかポストスティッチされるのか、および／またはコンテンツがポストスティッチされるときのビデオフレームのためのマッピングなど、バーチャルリアリティコンテンツに関する情報を与えるために、期間に対して修正または追加され得る。いくつかの実装形態では、期間中のバーチャルリアリティインジケータは、期間中のコンテンツがバーチャルリアリティのためにフォーマットされることを示す。
【０１２０】
[0133]期間内に、コンテンツは適応セットに構成され得る。適応セットは、１つまたは複数のメディアコンテンツ構成要素の交換可能な符号化バージョンのセットを表す。たとえば、期間は、主要なビデオ構成要素のための１つの適応セットと、主要なオーディオ構成要素のための別個の適応セットとを含み得る。この例では、キャプションまたはオーディオ記述など、利用可能な他のコンテンツがある場合、これらの各々は別個の適応セットを有し得る。
【０１２１】
[0134]様々な実装形態では、バーチャルリアリティコンテンツは適応セット中でシグナリングされ得る。たとえば、要素が、適応セットのためのスキーマに対して修正または追加され得、ここで、その要素は、次いで、バーチャルリアリティコンテンツをシグナリングする。様々な実装形態では、属性も、コンテンツが２Ｄであるのか３Ｄであるのか、コンテンツがプリスティッチされるのかポストスティッチされるのか、および／またはコンテンツがポストスティッチされるときのビデオフレームのためのマッピングなど、バーチャルリアリティコンテンツに関する情報を与えるために、適応セットに対して修正または追加され得る。いくつかの実装形態では、適応セット中のバーチャルリアリティインジケータは、適応セット中の表現の各々がバーチャルリアリティコンテンツを含むことを示す。
【０１２２】
[0135]適応セットは、複数の（multiple）代替表現を含んでいることができる。表現は、１つまたは複数の（one or several）メディアコンテンツ構成要素の配信可能な符号化バージョンを記述する。適応セット内の任意の単一の表現が、期間中にメディアコンテンツ構成要素をレンダリングするために使用され得る。１つの適応セント中の異なる表現は知覚的に等価であると考えられ得、これは、クライアントデバイスが、ネットワーク状態または他のファクタに適応するために、適応セット内のある表現から別の表現に動的に切り替えることができることを意味する。
【０１２３】
[0136]様々な実装形態では、バーチャルリアリティコンテンツは表現中でシグナリングされ得る。たとえば、要素が、表現のためのスキーマに対して修正または追加され得、ここで、その要素は、次いで、バーチャルリアリティコンテンツを示す。様々な実装形態では、属性も、コンテンツが２Ｄであるのか３Ｄであるのか、コンテンツがプリスティッチされるのかポストスティッチされるのか、および／またはコンテンツがポストスティッチされるときのビデオフレームのためのマッピングなど、バーチャルリアリティコンテンツに関する情報を与えるために、表現に対して修正または追加され得る。いくつかの実装形態では、表現中のバーチャルリアリティインジケータは、表現のコンテンツがバーチャルリアリティのためにフォーマットされたことを示す。
【０１２４】
[0137]メディアコンテンツのストリーミングに関係する別のフォーマットは、ＲＦＣ４５６６に記載されているセッション記述プロトコル（ＳＤＰ）である。ＳＤＰは、マルチメディア通信セッションを記述するために使用され得る。そのような記述は、たとえば、セッション告知、セッション招待、およびパラメータネゴシエーションのために使用され得る。ＳＤＰは、メディア自体を配信するためには使用されないが、メディアタイプ、フォーマット、および関連するプロパティのネゴシエーションのためにエンドポイント間で使用され得る。プロパティおよびパラメータのセットは、しばしばセッションプロファイルと呼ばれる。ＳＤＰは、初めはセッション告知プロトコル（ＳＡＰ）の構成要素であったが、リアルタイム転送プロトコル（ＲＴＰ）、リアルタイムストリーミングプロトコル（ＲＴＳＰ）、セッション開始プロトコル（ＳＩＰ）に関連して、およびマルチキャストセッションを記述するためのスタンドアロンフォーマットとして、他の用途（uses）を見つけた。
【０１２５】
[0138]様々な実装形態では、バーチャルリアリティコンテンツの指示は、ＳＤＰメッセージ中のメディア記述中におよび／またはセッション記述中に含まれ得る。たとえば、ストリーミングコンテンツ中のバーチャルリアリティコンテンツの存在を示すために、セッション記述および／またはメディア記述中でフィールドが追加または修正され得る。さらに、いくつかの実装形態では、バーチャルリアリティコンテンツに関係するパラメータも、ＳＤＰメッセージに追加され得る。そのようなパラメータは、たとえば、バーチャルリアリティコンテンツが２Ｄであるのか３Ｄであるのか、コンテンツがプリスティッチされるのかポストスティッチされるのか、および／またはデータを記憶するために使用されるマッピングを含むことができる。このおよび他の例では、ＳＤＰは、メディアコンテンツがバーチャルリアリティコンテンツを含むことを示すために、ＲＴＰベースストリーミング、ブロードキャスト、および／またはテレプレゼンスまたは会議適用例において使用され得る。
【０１２６】
[0139]別の例として、バーチャルリアリティコンテンツが３ＧＰＰセルラーネットワーク上で送信されるとき、そのコンテンツを示すために、マルチメディアブロードキャストマルチキャストサービス（ＭＢＭＳ）が使用され得る。ＭＢＭＳは、セルとコアネットワークの両方内で、ブロードキャストおよびマルチキャストサービスの効率的な配信を行うことができるポイントツーマルチポイントインターフェース仕様である。ＭＢＭＳのためのターゲット適用例は、モバイルテレビジョンと、ライブビデオおよびオーディオストリームライニングと、ファイル配信と、緊急警報の配信とを含む。
【０１２７】
[0140]様々な実装形態では、バーチャルリアリティコンテンツ、ならびにそのコンテンツに関係するパラメータのシグナリングは、ＭＢＭＳ特徴要件リストに新しい特徴を追加することによって達成され得る。様々な実装形態では、バーチャルリアリティコンテンツのシグナリングは、他のブロードキャストおよびマルチキャスト適用例のための同様の様式で達成され得る。
【０１２８】
[0141]様々な実装形態では、ＩＳＯベースメディアファイル中のトラックがバーチャルリアリティコンテンツを含むとき、様々な追加または代替の手法が、プレーヤデバイスにバーチャルリアリティコンテンツをシグナリングするために使用され得る。図６は、トラックのコンテンツがバーチャルリアリティビデオを含むことをシグナリングするためにハンドラボックス６２４ｃが使用される、ＩＳＯベースメディアファイル６００の一例を示す。ファイル６００はファイルタイプボックス６１０を含むことができ、ファイルタイプボックス６１０は、ファイル６００がそれに適合する、ＩＳＯＢＭＦＦあるいはＩＳＯＢＭＦＦの派生物の（１つまたは複数の）ブランドまたは特定のイタレーションを指定することができる。ファイル６００は、プレゼンテーションのためのメタデータを含んでいることができるムービーボックス６２０をも含むことができる。ファイル６００は、上記で説明されたように、１つまたは複数のフラグメント６３０ａ、６３０ｂ、６３０ｃ、６３０ｎをも随意に含むことができる。
【０１２９】
[0142]ムービーボックス６２０は、ムービーヘッダボックス６２２および１つまたは複数のトラックボックス６２４、ならびに、ここでは示されていない他のボックスを含むことができる。ムービーヘッダボックス６２２は、プレゼンテーションを全体として記述する情報を含むことができる。トラックボックス６２４は、プレゼンテーション中のトラックについての情報を含むことができる。トラックボックス６２４は、トラックヘッダボックス６２４ａと、０個以上のメディアデータボックス６２４ｂとを含むことができる。
【０１３０】
[0143]メディアデータボックス６２４ｂは、ボックスの中でも、ハンドラボックス６４２ｃを含むことができる。ハンドラ参照ボックスと呼ばれることもあるハンドラボックス６４２ｃは、トラックのメディアタイプを示すことができる。トラックのメディアタイプは、トラック中のメディアデータが提示されるプロセスを定義する。メディアタイプの例は、特に、ビデオおよびオーディオを含む。メディアが提示される様式は、メディアのためのフォーマットを含むことができる。たとえば、プレーヤデバイスがトラック中のビデオデータを配信するために使用するフォーマット（たとえば、アスペクト比、解像度、フレームレートなど）は、ビデオトラックに記憶され、ハンドラボックス６４２ｃのビデオハンドラバージョンによって識別され得る。いくつかの場合には、ファイル６００は、任意のタイプのメタデータストリームのための一般的なハンドラを含むことができる。これらの場合、ビデオコンテンツの固有のフォーマットは、コンテンツを記述するサンプルエントリによって識別され得る。
【０１３１】
[0144]いくつかの場合には、メディアデータボックス６２４ｂはハンドラボックス６４２ｃを含むことができる。ハンドラボックス６４２ｃは、トラックボックス６２４によって記述されるトラックがバーチャルリアリティデータを含むことを示すために使用され得る。たとえば、トラックがビデオデータを記述するとき、ハンドラボックス６４２ｃは、詳細には、ボックスタイプ「ｖｉｄｅ」によって識別され得るビデオハンドラボックスであり得る。
【０１３２】
[0145]様々な実装形態では、ハンドラボックス６４２ｃは、メディアデータボックス６２４ｂによって参照されるメディアコンテンツがバーチャルリアリティコンテンツを含むことを示すために使用され得る。たとえば、ハンドラボックス６４２ｃは、トラック中に含まれているビデオコンテンツがバーチャルリアリティビデオであるという随意のインジケータを（たとえば、予約済みビットまたは新しい変数中に）含むことができる。随意のインジケータを読み取るように構成されないビデオプレーヤは、それを無視し得る。
【０１３３】
[0146]いくつかの実装形態では、ビデオハンドラボックスは、バーチャルリアリティビデオが２Ｄであるのか３Ｄであるのか、バーチャルリアリティビデオがプリスティッチされるのかポストスティッチされるのか、および／またはバーチャルリアリティビデオのためのマッピングなど、バーチャルリアリティコンテンツを記述するパラメータをも随意に含むことができる。様々な実装形態では、バーチャルリアリティコンテンツに関係するパラメータは、トラックボックス５２４中に見つかり得る様々な他のボックス中で示され得る。たとえば、パラメータは、トラックヘッダボックス６２４ａ中でシグナリングされ得る。代替または追加として、パラメータは、ここでは示されていない、（ボックスタイプ「ｍｄｈｄ」によって識別される）メディアヘッダボックス中で、および／または（ボックスタイプ「ｖｍｈｄ」によって識別される）ビデオメディアヘッダボックス中でシグナリングされ得る。代替または追加として、パラメータは、サンプルエントリ中で、および／またはトラックボックス６２４のトップレベルに配置され得る新たに定義されたボックス中で示され得る。
【０１３４】
[0147]図７は、トラックがバーチャルリアリティコンテンツを含むことを示すために新しいハンドラボックス７２４ｄが定義された、ＩＳＯベースメディアファイル７００の一例を示す。ファイル７００はファイルタイプボックス７１０を含むことができ、ファイルタイプボックス７１０は、ファイル７００がそれに適合する、ＩＳＯＢＭＦＦあるいはＩＳＯＢＭＦＦの派生物の（１つまたは複数の）ブランドまたは特定のイタレーションを指定することができる。ファイル７００は、プレゼンテーションのためのメタデータを含んでいることができるムービーボックス７２０をも含むことができる。ファイル７００は、上記で説明されたように、１つまたは複数のフラグメント７３０ａ、７３０ｂ、７３０ｃ、７３０ｎをも随意に含むことができる。
【０１３５】
[0148]ムービーボックス７２０は、ムービーヘッダボックス７２２および１つまたは複数のトラックボックス７２４、ならびに、ここでは示されていない他のボックスを含むことができる。ムービーヘッダボックス７２２は、プレゼンテーションを全体として記述する情報を含むことができる。トラックボックス７２４は、プレゼンテーション中のトラックについての情報を含むことができる。トラックボックス７２４は、トラックヘッダボックス７２４ａと、０個以上のメディアデータボックス７２４ｂとを含むことができる。
【０１３６】
[0149]上記で説明されたように、いくつかの場合には、メディアデータボックス７２４ｂは、メディアデータボックス７２４ｂによって記述されるメディアコンテンツを提示するためのフォーマットを記述することができるハンドラボックス７２４ｄを含むことができる。図７の例では、バーチャルリアリティビデオデータに固有である、新しいハンドラボックス７２４ｄが定義されている。新しいハンドラボックス７２４ｄは、たとえば、ボックスタイプ「ｖｒｖｄ」によって識別され得る。この例では、バーチャルリアリティコンテンツに適合しないビデオプレーヤは、新しいハンドラボックス７２４ｄを識別することが可能でないことがあり、したがって、新しいハンドラボックス７２４ｄを無視し、トラックボックス７２４によって指される任意のコンテンツをスキップし得る。したがって、バーチャルリアリティコンテンツは、バーチャルリアリティビデオを表示するように構成されないプレーヤによってレンダリングおよび表示されないことになる。
【０１３７】
[0150]いくつかの実装形態では、新しいハンドラボックスは、バーチャルリアリティビデオが２Ｄであるのか３Ｄであるのか、バーチャルリアリティビデオがプリスティッチされるのかポストスティッチされるのか、および／またはバーチャルリアリティビデオのためのマッピングなど、バーチャルリアリティコンテンツを記述するパラメータをも随意に含むことができる。様々な実装形態では、バーチャルリアリティコンテンツに関係するパラメータは、トラックボックス７２４中に見つかり得る様々な他のボックス中で示され得る。たとえば、パラメータは、トラックヘッダボックス７２４ａ中でシグナリングされ得る。代替または追加として、パラメータは、ここでは示されていない、（ボックスタイプ「ｍｄｈｄ」によって識別される）メディアヘッダボックス中で、および／または（ボックスタイプ「ｖｍｈｄ」によって識別される）ビデオメディアヘッダボックス中でシグナリングされ得る。代替または追加として、パラメータは、サンプルエントリ中で、および／またはトラックボックス７２４のトップレベルに配置され得る新たに定義されたボックス中で示され得る。
【０１３８】
[0151]図８は、ＩＳＯベースメディアファイル中に含まれ得るメディアボックス８４０の一例を示す。上記で説明されたように、メディアボックスは、トラックボックス中に含まれ得、トラック中のメディアデータを記述するオブジェクトおよび情報を含んでいることができる。図示の例では、メディアボックス８４０はメディア情報ボックス８４２を含む。メディアボックス８４０は、ここでは示されていない他のボックスをも含むことができる。
【０１３９】
[0152]メディア情報ボックス８４２は、トラック中のメディアに関する特性情報を記述するオブジェクトを含んでいることができる。たとえば、メディア情報ボックス８４２は、トラック中のメディア情報のロケーションを記述するデータ情報ボックスを含むことができる。別の例として、メディア情報ボックス８４２は、トラックがビデオデータを含むとき、ビデオメディアヘッダを含むことができる。ビデオメディアヘッダは、ビデオメディアのコーディングから独立している一般的なプレゼンテーション情報を含んでいることができる。メディア情報ボックス８４２はまた、トラックがオーディオデータを含むとき、サウンドメディアヘッダを含むことができる。
【０１４０】
[0153]メディア情報ボックス８４２は、図示の例で与えられるように、サンプルテーブルボックス８４４をも含むことができる。ボックスタイプ「ｓｔｂｌ」によって識別されるサンプルテーブルボックス８４４は、トラック中のメディアサンプルのためのロケーション（たとえば、ファイルに関する（with）ロケーション）、ならびにサンプルのための時間情報を与えることができる。サンプルテーブルボックス８４４によって与えられる情報を使用して、プレーヤデバイスは、特に、正しい（correct）時間順序においてサンプルの位置を特定し、サンプルのタイプを決定し、および／またはコンテナ内のサンプルのサイズとコンテナとオフセットとを決定することができる。
【０１４１】
[0154]サンプルテーブルボックス８４４は、ボックスタイプ「ｓｔｓｄ」によって識別されるサンプル記述ボックス８４６を含むことができる。サンプル記述ボックス８４６は、たとえば、サンプルのために使用されるコーディングタイプ、およびそのコーディングタイプのために必要とされる任意の初期化情報に関する、詳細な情報を与えることができる。サンプル記述ボックスに記憶された情報は、サンプルを含むトラックのタイプに固有であり得る。たとえば、トラックがビデオトラックであるとき、サンプル記述のためにあるフォーマットが使用され得、トラックがヒントトラックであるとき、異なるフォーマットが使用され得る。さらなる例として、サンプル記述のためのフォーマットはまた、ヒントトラックのフォーマットに応じて異なり得る。
【０１４２】
[0155]サンプル記述ボックス８４６は、１つまたは複数のサンプルエントリボックス８４８ａ、８４８ｂ、８４８ｃを含むことができる。サンプルエントリタイプは抽象クラスであり、したがって、一般に、サンプル記述ボックスは、例の中でも、ビデオデータのためのビジュアルサンプルエントリ、またはオーディオサンプルのためのオーディオサンプルエントリなど、固有のサンプルエントリボックスを含む。サンプルエントリボックスは、特定のサンプルのためのパラメータを記憶することができる。たとえば、ビデオサンプルの場合、サンプルエントリボックスは、特に、ビデオサンプルのための幅、高さ、水平解像度、垂直解像度、フレームカウント、および／または深度を含むことができる。別の例として、オーディオサンプルの場合、サンプルエントリは、特に、チャネルカウント、チャネルレイアウト、および／またはサンプリングレートを含むことができる。
【０１４３】
[0156]図示の例では、第１のサンプルエントリ８４８ａは、制限付き方式情報ボックス８６０を含む。ボックスタイプ「ｒｉｎｆ」によって識別される制限付き方式情報ボックスは、サンプルに適用される制限付き方式とその方式のパラメータの両方を理解するために必要とされる情報を含んでいることができる。いくつかの場合には、ファイルのオーサーは、いくつかのアクションがプレーヤデバイスを形成する要求し（require certain actions form a player device）得る。これらの場合、ファイルは、プレーヤデバイスが、ファイルのメディアコンテンツをレンダリングするための要件を決定するために、その位置を特定し、使用することができる、制限付き方式情報ボックスを含むことができる。コンテンツをレンダリングすることが可能でないことがあるプレーヤは、また、それらが、コンテンツをレンダリングすることができず、したがって、コンテンツを処理することを試みるべきではないと決定するために、制限付き方式情報ボックスを使用することができる。制限付き方式情報ボックスは、一般に、元のサンプルエントリタイプ、すなわち、制限付き方式情報ボックスによって記述される任意の変換（transformation）より前のサンプルエントリのタイプを含む。
【０１４４】
[0157]様々な実装形態では、制限付き方式は、バーチャルリアリティコンテンツのために定義され得る。これらの実装形態では、制限付き方式情報ボックス８６０は、バーチャルリアリティデータを含むサンプルエントリ８４８ａに追加され得る。制限付き方式のタイプは、ボックスタイプ「ｓｃｈｍ」によって識別される方式タイプボックス８６２において指定され得る。たとえば、「ｖｒｖｄ」に対応する符号化は、バーチャルリアリティコンテンツのための制限付き方式を識別するために使用され得る。
【０１４５】
[0158]図示の例における制限付き方式情報ボックス８６０は、ボックスタイプ「ｓｃｈｉ」によって識別される方式情報ボックス８６４を含む。方式情報ボックス８６４は、固有の方式についての情報を記憶する（store）ことができる。たとえば、制限付き方式がバーチャルリアリティコンテンツのためのものであるとき、方式情報ボックス８６４は、バーチャルリアリティコンテンツのためのパラメータを含むことができる。これらのパラメータは、たとえば、バーチャルリアリティビデオが２Ｄであるのか３Ｄであるのか、バーチャルリアリティビデオがプリスティッチされるのかポストスティッチされるのか、および／またはバーチャルリアリティビデオのためのマッピングを含むことができる。様々な実装形態では、方式情報ボックスは、バーチャルリアリティコンテンツのために、詳細には、バーチャルリアリティコンテンツのためのパラメータを含んでいるために定義され得る。
【０１４６】
[0159]図８に示された技法を使用して、レガシープレーヤデバイスによって理解されないことがある新しいボックスが、ＩＳＯＢＭＦＦ仕様に追加される必要はない。新しいボックスをもつ（with）場合でも、レガシープレーヤデバイスは、そのデバイスが識別することができないコンテンツを再生することを試み得、このコンテンツがバーチャルリアリティメディアであるとき、結果はひずんだ（distorted）プレゼンテーションになり得る。新しいボックスを追加することを回避する際に、バーチャルリアリティコンテンツのためにファイルが生成され得、ここで、そのファイルは、おそらく、レガシープレーヤデバイスが識別することができるボックスのみを含む。レガシープレーヤデバイスは、さらに、そのデバイスが、制限付き方式情報ボックス８６４によって記述される制限付き方式を実装することができず、したがって、バーチャルリアリティコンテンツを表示することを試みないと決定することができる。
【０１４７】
[0160]本技法は、さらに（additionally）、レガシープレーヤと、バーチャルリアリティコンテンツをレンダリングすることが可能なプレーヤの両方にフレキシビリティを与える。レガシープレーヤは、たとえば、そのプレーヤが、制限付き方式情報ボックスによって識別されるバーチャルリアリティ方式を理解するかどうかを決定することができる。プレーヤデバイスが、制限付き方式に準拠する（conform to）ことが可能でないとき、プレーヤデバイスは、トラック中のコンテンツをまったくレンダリングしないことを選定し得るか、または、代わりに元の変換されていないサンプルを処理することが可能であり得る。したがって、制限付き方式機構は、プレーヤデバイスが、ビットストリームをレンダリングするための要件を決定するためにファイルを検査する（inspect）ことを可能にすることができ、レガシープレーヤデバイスが、そのデバイスが処理することが可能でないことがあるファイルを復号およびレンダリングするのを阻止することができる。
【０１４８】
[0161]様々な実装形態では、バーチャルリアリティコンテンツは、代替または追加として、ビデオビットストリーム中の補足エンハンスメント情報（ＳＥＩ）メッセージ中に含まれ得る。したがって、ＳＥＩメッセージは、ビットストリームがバーチャルリアリティコンテンツを含むことを示すことができる。様々な実装形態では、ＳＥＩメッセージは、ファイルのレベル、ムービーレベル、および／またはトラックレベルにおいてバーチャルリアリティコンテンツを示すことができる。様々な実装形態では、ＳＥＩメッセージはまた、バーチャルリアリティビデオのプロパティ（たとえば、ビデオが２Ｄであるのか３Ｄであるのか、プリスティッチされるのかポストスティッチされるのかなど）を記述するパラメータを含むことができる。
【０１４９】
[0162]様々な実装形態では、ＩＳＯＢＭＦＦ仕様に対する拡張は、トラックがバーチャルリアリティビデオを含むことを示すためのトラックレベル指示を含む。様々な実装形態では、ポストデコーダ要件機構が、たとえば、制限付き方式情報（ｒｉｎｆ）ボックスを使用して、このトラックレベル指示のために使用され得る。様々な実装形態では、拡張は、ＩＳＯＢＭＦＦ仕様のセクション８．１５に対する修正を含むことができる。以下の段落は、新しいセクションおよびサブセクション８．１５．５（「バーチャルリアリティビデオのための方式」）、８．１５．５．１（「概略」）、８．１５．５．２（「ＶＲビデオボックス」）、８．１５．５．２．１（「定義」）、８．１５．５．２．２（「シンタックス」）、および８．１５．５．２．３（「セマンティクス」）を含む、ＩＳＯ／ＩＥＣ１４４９６−１２のセクション８．１５のテキストを与える。セクション８．１５のテキストに対する変更は、下線付きのテキストを使用して示される（テキストに対する変更の例）。
【０１５０】
[0163]８．１５  メディアに関するポストデコーダ要件
[0164]８．１５．１  概略
[0165]ファイルオーサーがいくつかのアクションをプレーヤまたはレンダラに対して要求する状況を扱うために、このサブクローズは、プレーヤが、ビットストリームをレンダリングするためのそのような要件を見つけ出すためにファイルを単に検査することを可能にし、レガシープレーヤが、さらなる処理を必要とするファイルを復号およびレンダリングするのを阻止する、機構を指定する。機構は、任意のタイプのビデオコーデックに適用される。特に、それはＡＶＣに適用され、この場合、ファイルオーサーが、発生している（occurring）ＳＥＩメッセージＩＤをリストすることと、レンダリングプロセスのための必要とされるアクションと必要とされないアクションとの間で区別することとを可能にする、固有のシグナリングが、ＡＶＣファイルフォーマット（ＩＳＯ／ＩＥＣ１４４９６−１５）において定義されている。
【０１５１】
[0166]機構は、サンプルエントリが、暗号化またはカプセル化されたメディアを示す一般サンプルエントリ‘ｅｎｃｖ’、‘ｅｎｃａ’などの後ろに隠される、コンテンツ保護変換と同様である。制限付きビデオのための類似する機構は、一般サンプルエントリ‘ｒｅｓｖ’を用いた変換を使用する。方法は、コンテンツが、それを正しく提示するプレーヤによってのみ復号されるべきであるとき、適用され得る。
【０１５２】
[0167]８．１５．２  変換
[0168]方法は以下のように適用される。
【０１５３】
[0169]１）  サンプルエントリの４文字コードが、制限付きビデオを意味する新しいサンプルエントリコード‘ｒｅｓｖ’ によって置き換えられる。
【０１５４】
[0170]２）  制限付き方式情報（Restricted Scheme Info）ボックスがサンプル記述に追加され、すべての他のボックスは修正されないままになる。
【０１５５】
[0171]３）  元のサンプルエントリタイプが、制限付き方式情報ボックス中に含まれている元のフォーマット（Original Format）ボックス内に記憶される。
【０１５６】
[0172]ＲｅｓｔｒｉｃｔｅｄＳｃｈｅｍｅＩｎｆｏＢｏｘは、識別子‘ｓｉｎｆ’の代わりに‘ｒｉｎｆ’を使用するであることを除いて、ＰｒｏｔｅｃｔｉｏｎＳｃｈｅｍｅＩｎｆｏＢｏｘとまったく同じにフォーマットされる（下記参照）。
【０１５７】
[0173]元のサンプルエントリタイプは、（暗号化されたメディアのための保護方式情報（Protection Scheme Info）ボックスと同等の（identical）方法で）制限付き方式情報ボックス中にある（the）元のフォーマットボックス中に含まれている。
【０１５８】
[0174]制限の厳密な性質は、ＳｃｈｅｍｅＴｙｐｅＢｏｘにおいて定義されており、その方式のために必要とされるデータは、この場合も、保護情報と同様にＳｃｈｅｍｅＩｎｆｏｒｍａｔｉｏｎＢｏｘに記憶される。
【０１５９】
[0175]制限と保護とは同時に適用され得ることに留意されたい。変換の順序はサンプルエントリの４文字コードから得られる（follows）。たとえば、サンプルエントリタイプが‘ｒｅｓｖ’である場合、上記の変換を元に戻すことは、メディアが保護されることを示すサンプルエントリタイプ‘ｅｎｃｖ’を生じ得る。
【０１６０】
[0176]ファイルオーサーが、レガシープレーヤがファイルを再生するのを阻止することなしに、助言（advisory）情報を与えることのみを希望する場合、制限付き方式情報ボックスは、４文字コード変換を適用することなしに、サンプルエントリ内に配置され得ることに留意されたい。この場合、元のフォーマットボックスを含むことは必要ではない。
【０１６１】
[0177]８．１５．３  制限付き方式情報ボックス
[0178]８．１５．３．１  定義
[0179]ボックスタイプ：  ‘ｒｉｎｆ’
[0180]コンテナ：  制限付きサンプルエントリ（Restricted Sample Entry）またはサンプルエントリ（Sample Entry）
[0181]必須：  はい
[0182]数量：  厳密に１つ
[0183]制限付き方式情報ボックスは、適用される制限方式とそれのパラメータの両方を理解するために必要とされるすべての情報を含んでいる。それはまた、メディアの元の（変換されていない）サンプルエントリタイプをドキュメント化する。制限付き方式情報ボックスはコンテナボックスである。それは、制限付きストリームを示すコード、すなわち、‘ｒｅｓｖ’を使用するサンプルエントリでは必須である。
【０１６２】
[0184]制限付きサンプルエントリ中で使用されるとき、このボックスは、元のサンプルエントリタイプをドキュメント化するための元のフォーマットボックスと方式タイプ（Scheme type）ボックスとを含んでいなければならない。方式情報（Scheme Information）ボックスは、制限方式に応じて必要とされ得る。
【０１６３】
[0185]８．１５．３．２  シンタックス
[0186]  
【０１６４】
【数１】
2019512186.tif 000003
【０１６５】
[0187]８．１５．４  立体視ビデオ構成のための方式
[0188]８．１５．４．１  概略
[0189]ステレオコード化ビデオフレームが復号されるとき、復号フレームは、ステレオペア（異なるトラック中の左および右ビュー）の１つのビューのみの１つ、または、ステレオペアを形成する２つの空間的にパックされた成分フレーム（フレームパッキング）の表現（a representation of two spatially packed constituent frames that form a stereo pair (frame packing)）のいずれかを含んでいる。ステレオコード化ビデオによる制限は、ステレオビデオ（Stereo Video）ボックス中に含まれている。
【０１６６】
[0190]ＳｃｈｅｍｅＴｙｐｅ‘ｓｔｖｉ’（立体視ビデオ）が使用される。
【０１６７】
[0191]８．１５．４．２  ステレオビデオボックス
[0192]８．１５．４．２．１  定義
[0193]ボックスタイプ：  ‘ｓｔｖｉ’
[0194]コンテナ：  方式情報ボックス（‘ｓｃｈｉ’）
[0195]必須：  はい（ＳｃｈｅｍｅＴｙｐｅが‘ｓｔｖｉ’であるとき）
[0196]数量：  １つ
[0197]ステレオビデオボックスは、復号フレームが、ステレオペアを形成する２つの空間的にパックされた成分フレームの表現を含んでいること、またはステレオペアの２つのビューのうちの１つを含んでいることのいずれかを示すために使用される。ステレオビデオボックスは、ＳｃｈｅｍｅＴｙｐｅが‘ｓｔｖｉ’であるとき、存在するものとする。
【０１６８】
[0198]８．１５．４．２．２  シンタックス
[0199]  
【０１６９】
【数２】
2019512186.tif 000004
【０１７０】
[0200]８．１５．４．２．３  セマンティクス
[0201]ｓｉｎｇｌｅ＿ｖｉｅｗ＿ａｌｌｏｗｅｄは整数である。０値（zero value）は、コンテンツが立体視（stereoscopic）ディスプレイ上にのみ表示され得ることを示す。（ｓｉｎｇｌｅ＿ｖｉｅｗ＿ａｌｌｏｗｅｄ  ＆  １）が１に等しいとき、平面視（monoscopic）単一ビューディスプレイ上に右ビューを表示することが可能にされる。（ｓｉｎｇｌｅ＿ｖｉｅｗ＿ａｌｌｏｗｅｄ  ＆  ２）が２に等しいとき、平面視単一ビューディスプレイ上に左ビューを表示することが可能にされる。
【０１７１】
[0202]ｓｔｅｒｅｏ＿ｓｃｈｅｍｅは、使用されるステレオ構成方式と、使用される方式によるステレオ指示タイプとを示す整数である。ｓｔｅｒｅｏ＿ｓｃｈｅｍｅのための以下の値が指定される。
【０１７２】
[0203]１：  ＩＳＯ／ＩＥＣ１４４９６−１０［ＩＳＯ／ＩＥＣ１４４９６−１０］のフレームパッキング構成補足エンハンスメント情報メッセージによって指定されたフレームパッキング方式
[0204]２：  ＩＳＯ／ＩＥＣ１３８１８−２［ＩＳＯ／ＩＥＣ１３８１８−２：２０００／Ａｍｄ．４］のアネックスＬにおいて指定された構成タイプ方式
[0205]３：  フレーム／サービス適合と２Ｄ／３Ｄ混合サービスの両方のためのＩＳＯ／ＩＥＣ２３０００−１１において指定されたステレオ方式。
【０１７３】
[0206]ｓｔｅｒｅｏ＿ｓｃｈｅｍｅの他の値は予約済みである。
【０１７４】
[0207]ｌｅｎｇｔｈは、ｓｔｅｒｅｏ＿ｉｎｄｉｃａｔｉｏｎ＿ｔｙｐｅフィールドのためのバイト数を示す。
【０１７５】
[0208]ｓｔｅｒｅｏ＿ｉｎｄｉｃａｔｉｏｎ＿ｔｙｐｅは、使用されるステレオ指示方式によるステレオ構成タイプを示す。ｓｔｅｒｅｏ＿ｉｎｄｉｃａｔｉｏｎ＿ｔｙｐｅのシンタックスおよびセマンティクスは、ｓｔｅｒｅｏ＿ｓｃｈｅｍｅの値に依存する。ｓｔｅｒｅｏ＿ｓｃｈｅｍｅの以下の値についてのｓｔｅｒｅｏ＿ｉｎｄｉｃａｔｉｏｎ＿ｔｙｐｅのためのシンタックスおよびセマンティクスは、以下のように指定される。
【０１７６】
[0209]１に等しいｓｔｅｒｅｏ＿ｓｃｈｅｍｅ：  ｌｅｎｇｔｈの値は４であるものとし、ｓｔｅｒｅｏ＿ｉｎｄｉｃａｔｉｏｎ＿ｔｙｐｅは、ＩＳＯ／ＩＥＣ１４４９６−１０［ＩＳＯ／ＩＥＣ１４４９６−１０］の表Ｄ−８（「ｆｒａｍｅ＿ｐａｃｋｉｎｇ＿ａｒｒａｎｇｅｍｅｎｔ＿ｔｙｐｅの定義」）からのｆｒａｍｅ＿ｐａｃｋｉｎｇ＿ａｒｒａｎｇｅｍｅｎｔ＿ｔｙｐｅ値を含んでいるｕｎｓｉｇｎｅｄ  ｉｎｔ（３２）であるものとする。
【０１７７】
[0210]２に等しいｓｔｅｒｅｏ＿ｓｃｈｅｍｅ：  ｌｅｎｇｔｈの値は４であるものとし、ｓｔｅｒｅｏ＿ｉｎｄｉｃａｔｉｏｎ＿ｔｙｐｅは、ＩＳＯ／ＩＥＣ１３８１８−２［ＩＳＯ／ＩＥＣ１３８１８−２：２０００／Ａｍｄ．４］の表Ｌ−１（「ａｒｒａｎｇｅｍｅｎｔ＿ｔｙｐｅの定義」）からのタイプ値を含んでいるｕｎｓｉｇｎｅｄ  ｉｎｔ（３２）であるものとする。
【０１７８】
[0211]３に等しいｓｔｅｒｅｏ＿ｓｃｈｅｍｅ：  ｌｅｎｇｔｈの値は２であるものとし、ｓｔｅｒｅｏ＿ｉｎｄｉｃａｔｉｏｎ＿ｔｙｐｅは、ｕｎｓｉｇｎｅｄ  ｉｎｔ（８）の２つのシンタックス要素を含んでいるものとする（shall）。第１のシンタックス要素は、ＩＳＯ／ＩＥＣ２３０００−１１：２００９の表４からの立体視組成タイプを含んでいるものとする。第２のシンタックス要素の最下位ビットは、ＩＳＯ／ＩＥＣ２３０００−１１：２００９の８．４．３において指定されたｉｓ＿ｌｅｆｔ＿ｆｉｒｓｔの値を含んでいるものとし、他のビットは、予約済みであり、０に設定されるものとする。
【０１７９】
[0212]以下は、ステレオビデオボックスが使用されるときに適用される。
【０１８０】
[0213]トラックヘッダ（Track Header）ボックスにおいて
[0214]ｗｉｄｔｈおよびｈｅｉｇｈｔは、アンパックした後の単一のビューのビジュアルプレゼンテーションサイズを指定する。
【０１８１】
[0215]サンプル記述（Sample Description）ボックスにおいて
[0216]ｆｒａｍｅ＿ｃｏｕｎｔは、デコーダが単一のフレームを物理的に出力するので、１であるものとする。言い換えれば、フレームパックされたピクチャ内に含まれる成分フレームは、ｆｒａｍｅ＿ｃｏｕｎｔによってドキュメント化されない。
【０１８２】
[0217]ｗｉｄｔｈおよびｈｅｉｇｈｔは、（フレームパックされたピクチャ内の単一のビューのピクセルカウントではなく）フレームパックされたピクチャのピクセルカウントをドキュメント化する。
【０１８３】
[0218]ピクセルアスペクト比（Pixel Aspect Ratio）ボックスは、ビューが平面視単一ビューディスプレイ上に表示されるときの、各ビューのピクセルアスペクト比をドキュメント化する（document）。たとえば、多くの空間フレームパッキング構成では、したがって、ピクセルアスペクト比ボックスは、フレームパックされたビデオの１つのビューの空間解像度が、一般に、同じフォーマットの単一ビュービデオのそれと比較して、１つの座標軸に沿って１／２にされる（halved）ので、２：１または１：２のピクセルアスペクト比を示す。
【０１８４】
[0219]８．１５．５  バーチャルリアリティビデオのための方式
[0220]８．１５．５．１  概略
[0221]バーチャルリアリティ（ＶＲ）ビデオの復号ピクチャは特殊レンダリングプロセスを必要とする。ＶＲビデオに関する情報はＶＲビデオ（VR Video）ボックス中に含まれている。
【０１８５】
[0222]ＳｃｈｅｍｅＴｙｐｅ‘ｖｒｖｄ’（ＶＲビデオ）が使用される。
【０１８６】
[0223]８．１５．５．２  ＶＲビデオボックス
[0224]８．１５．５．２．１  定義
[0225]ボックスタイプ：  ‘ｖｒｖｄ’
[0226]コンテナ：  方式情報ボックス（‘ｓｃｈｉ’）
[0227]必須：  はい（ＳｃｈｅｍｅＴｙｐｅが‘ｖｒｖｄ’であるとき）
[0228]数量：  １つ
[0229]ＶＲビデオボックスは、トラック中に含まれているビデオがＶＲビデオであることを示すために使用される。ＶＲビデオボックスは、ＳｃｈｅｍｅＴｙｐｅが‘ｖｒｖｄ’であるとき、存在するものとする。
【０１８７】
[0230]８．１５．５．２．２  シンタックス
[0231]  
【０１８８】
【数３】
2019512186.tif 000005
【０１８９】
[0232]８．１５．５．２．３  セマンティクス
[0233]ｖｒ＿ｍａｐｐｉｎｇ＿ｔｙｐｅは、球状ビデオから矩形形式（format）へのマッピングタイプを示す整数である。０値は正距円筒（equi-rectangular）マップを示す。値１（value one）は立方体マップを示す。値２はピラミッドマップを示す。他の値は予約済みである。
【０１９０】
[0234]図９は、本明細書で説明される、バーチャルリアリティコンテンツを含んでいるファイルを生成するためのプロセス９００の一例を示す。９０２において、プロセス９００は、バーチャルリアリティデータを取得することを含み、ここにおいて、バーチャルリアリティデータはバーチャル環境の３６０度ビューを表す。いくつかの実装形態では、バーチャルリアリティデータはバーチャルリアリティビデオを含む。いくつかの実装形態では、バーチャルリアリティビデオはプリスティッチされ得る。いくつかの実装形態では、バーチャルリアリティビデオ中のフレームは、アセンブルされないことがあり、ポストスティッチングを必要とし得る。
【０１９１】
[0235]９０４において、プロセス９００は、バーチャルリアリティデータをファイルへ記憶することを含み、ここにおいて、バーチャルリアリティデータはファイルフォーマットに従って記憶され、ここにおいて、ファイルフォーマットは、バーチャルリアリティデータのファイル内での配置を指定し、バーチャルリアリティデータに関連する情報のファイル内での配置を指定し、ここにおいて、バーチャルリアリティデータに関連する情報はトラックボックスに記憶される。様々な実装形態では、ファイルフォーマットは、ＩＳＯＢＭＦＦ、またはＩＳＯＢＭＦＦから派生されたファイルフォーマットである。いくつかの実装形態では、バーチャルリアリティデータに関連する情報は、たとえば、フレームレート、解像度、ビデオおよび／もしくはオーディオサンプルのファイル内でのまたは他のファイル内でのロケーション、ならびに／あるいは他の情報を含むことができる。
【０１９２】
[0236]９０６において、プロセス９００は、サンプルエントリをトラックボックス中に記憶することを含み、ここにおいて、サンプルエントリは１つまたは複数のサンプルに関連し、ここにおいて、サンプルエントリは制限付き方式情報ボックスを含み、ここにおいて、制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義し、ここにおいて、１つまたは複数のサンプルはバーチャルリアリティデータの少なくとも一部分を含む。いくつかの実装形態では、制限付き方式情報ボックスは方式タイプボックスを含むことができる。これらの実装形態では、バーチャルリアリティ方式は、方式タイプボックスを使用して定義され得る。いくつかの実装形態では、制限付き方式情報ボックスは方式情報ボックスを含むことができる。これらの実装形態では、バーチャルリアリティデータ中のビデオに関係する随意のパラメータが、方式情報ボックスを使用してファイルへ書き込まれ得る。随意のパラメータは、たとえば、バーチャルリアリティデータが２Ｄビデオを含むのか３Ｄビデオを含むのか、ビデオがプリスティッチされるのかポストスティッチングを必要とするのか、および／またはビデオのためのマッピングタイプを含む。
【０１９３】
[0237]いくつかの実装形態では、プロセス９００は、バーチャルリアリティビデオに関係するパラメータ（たとえば、上記で説明された随意のパラメータ）をファイルへ記憶することをも含むことができる。いくつかの実装形態では、パラメータは方式情報ボックスに記憶される。
【０１９４】
[0238]図１０は、本明細書で説明される、バーチャルリアリティコンテンツを含んでいるファイルを処理するためのプロセス１０００の一例を示す。１００２において、プロセスは、ファイルを取得することを含み、ここにおいて、ファイルはバーチャルリアリティデータを含み、ここにおいて、バーチャルリアリティデータは、ファイルフォーマットに従ってファイルに記憶され、ここにおいて、ファイルフォーマットは、ファイル内でのバーチャルリアリティコンテンツの配置と、ファイル内でのバーチャルリアリティデータに関連する情報の配置とを指定し、ここにおいて、バーチャルリアリティデータに関連する情報はトラックボックス内に記憶される。様々な実装形態では、ファイルフォーマットはＩＳＯＢＭＦＦフォーマットに基づく。。
【０１９５】
[0239]１００４において、プロセスは、ファイルを処理することを含み、ここにおいて、ファイルを処理することは、トラックボックス中のサンプルエントリを処理することを含み、ここにおいて、サンプルエントリは１つまたは複数のサンプルに関連し、ここにおいて、サンプルエントリは制限付き方式情報ボックスを含み、ここにおいて、制限付き方式情報ボックスは、１つまたは複数のサンプルのための方式をバーチャルリアリティ方式として定義し、ここで、１つまたは複数のサンプルはバーチャルリアリティデータの少なくとも一部分を含む。いくつかの実装形態では、ファイルを処理することは、サンプルエントリ中の方式タイプボックスを処理することをさらに含む。これらの実装形態では、方式タイプボックスは、バーチャルリアリティ方式として定義される方式タイプを含む。
【０１９６】
[0240]いくつかの実装形態では、ファイルを処理することは、バーチャルリアリティデータに関係するパラメータを処理することを含む。パラメータは、またファイルに記憶される。様々な実装形態では、パラメータは、バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのかの指示、ビデオデータがプリスティッチビデオデータであるのかポストスティッチビデオデータであるのかの指示、またはビデオデータのためのマッピングタイプのうちの１つまたは複数を含むことができる。
【０１９７】
[0241]１００６において、プロセスは、バーチャルリアリティ方式に従って１つまたは複数のサンプルを処理するを含む。様々な実装形態では、サンプルを処理することは、バーチャルリアリティコンテンツを表示することが可能なデバイスによる表示のためにビデオフレームを生成することを含むことができる。
【０１９８】
[0242]図１１は、本明細書で説明される、バーチャルリアリティコンテンツを含んでいるファイルを生成するためのプロセス１１００の一例を示す。１１０２において、プロセス１１００は、バーチャルリアリティデータを取得することを含み、ここにおいて、バーチャルリアリティデータはバーチャル環境の３６０度ビューを表す。バーチャルリアリティデータは、ビデオデータとオーディオデータとを含むことができる。
【０１９９】
[0243]１１０４において、プロセス１１００は、バーチャルリアリティデータをファイルへ書き込むことを含み、ここにおいて、バーチャルリアリティデータはファイルフォーマットに従って書き込まれ、ここにおいて、ファイルフォーマットは、ファイル内での、バーチャルリアリティデータと、バーチャルリアリティデータを記述する情報との配置を規定し、ここにおいて、バーチャルリアリティデータを記述する情報はトラックボックス中に書き込まれる。
【０２００】
[0244]１１０６において、プロセス１１００は、トラックボックス中の値を設定することを含み、ここにおいて、その値は、トラックボックスによって参照されるサンプルがバーチャルリアリティプレゼンテーションのためにフォーマットされることを示す。バーチャルリアリティプレゼンテーションは、ファイルに記憶されたビデオデータを球状の３６０度フォーマットにマッピングすることを含むことができる。ビデオデータは、次いで、３６０度ビデオを閲覧するために構成されたデバイスを使用して表示され得る。
【０２０１】
[0245]いくつかの実装形態では、サンプルがバーチャルリアリティプレゼンテーションのためにフォーマットされることを示す値は、メディアハンドラボックス中で設定され得る。これらの実装形態では、メディアハンドラボックスはビデオハンドラボックスであり得る。いくつかの実装形態では、メディアハンドラボックスは、より詳細にはバーチャルリアリティビデオハンドラボックスである。
【０２０２】
[0246]いくつかの実装形態では、値は、サンプルエントリボックス中に書き込まれ得る。これらの実装形態では、値は、例の中でも、トラックヘッダボックス、メディアヘッダボックス、またはビデオメディアヘッダボックス中に書き込まれ得る。
【０２０３】
[0247]様々な実装形態では、バーチャルリアリティデータに関係するパラメータもファイルへ書き込まれ得る。そのようなパラメータは、たとえば、例の中でも、バーチャルリアリティデータが２次元ビデオデータを含むのか３次元ビデオデータを含むのか、ビデオデータがプリスティッチされるのかポストスティッチされるのか、またはビデオデータのためのマッピングタイプを含むことができる。
【０２０４】
[0248]様々な実装形態では、ファイルフォーマットは、ＩＳＯベースメディアファイルフォーマットに基づき得る。
【０２０５】
[0249]いくつかの例では、プロセス９００、１０００、および１１００は、システム１００など、コンピューティングデバイスまたは装置によって実施され得る。たとえば、プロセス９００、１０００、および／または１１００は、図１に示されているシステム１００および／あるいは記憶装置１０８または出力部１１０によって実施され得る。いくつかの場合には、コンピューティングデバイスまたは装置は、プロセス９００、１０００、または１１００のステップを行う（carry out）ように構成されたデバイスのプロセッサ、マイクロプロセッサ、マイクロコンピュータ、または他の構成要素を含み得る。いくつかの例では、コンピューティングデバイスまたは装置は、ビデオフレームを含むビデオデータ（たとえば、ビデオシーケンス）をキャプチャするように構成されたカメラを含み得る。たとえば、コンピューティングデバイスは、ビデオコーデックを含み得るカメラデバイス（たとえば、ＩＰカメラまたは他のタイプのカメラデバイス）を含み得る。いくつかの例では、ビデオデータをキャプチャするカメラまたは他のキャプチャデバイスは、コンピューティングデバイスとは別個であり、その場合、コンピューティングデバイスは、キャプチャされたビデオデータを受信する。コンピューティングデバイスは、ビデオデータを通信するように構成されたネットワークインターフェースをさらに含み得る。ネットワークインターフェースは、インターネットプロトコル（ＩＰ）ベースのデータを通信するように構成され得る。
【０２０６】
[0250]プロセス９００、１０００、および１１００は論理フロー図として示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せで実装され得る動作のシーケンスを表す。コンピュータ命令のコンテキストでは、動作は、１つまたは複数のプロセッサによって実行されたとき、具陳された動作を実施する１つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実施するか、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が説明される順序は、限定として解釈されるものではなく、任意の数の説明される動作は、プロセスを実装するために任意の順序でおよび／または並行して組み合わせられ得る。
【０２０７】
[0251]さらに、プロセス９００、１０００、および１１００は、実行可能な命令で構成された１つまたは複数のコンピュータシステムの制御下で実施され得、１つまたは複数のプロセッサ上でまとめて実行するコード（たとえば、実行可能な命令、１つまたは複数のコンピュータプログラム、または１つまたは複数のアプリケーション）として、ハードウェア、またはそれらの組合せによって、実装され得る。上述のように、コードは、たとえば、１つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読または機械可読記憶媒体に記憶され得る。コンピュータ可読または機械可読記憶媒体は非一時的であり得る。
【０２０８】
[0252]符号化デバイス１２０４および復号デバイス１３１２の具体的な詳細が、それぞれ図１２および図１３に示されている。図１２は、本開示で説明される技法のうちの１つまたは複数を実装し得る例示的な符号化デバイス１２０４を示すブロック図である。符号化デバイス１２０４は、たとえば、本明細書で説明されるシンタックス構造（たとえば、ＶＰＳ、ＳＰＳ、ＰＰＳ、または他のシンタックス要素のシンタックス構造）を生成し得る。符号化デバイス１２０４は、ビデオスライス内のビデオブロックのイントラ予測コーディングおよびインター予測コーディングを実施し得る。前に説明されたように、イントラコーディングは、所与のビデオフレームまたはピクチャ内の空間冗長性を低減または除去するために、空間予測に少なくとも部分的に依拠する。インターコーディングは、ビデオシーケンスの隣接するまたは周囲のフレーム内の時間冗長性を低減または除去するために、時間予測に少なくとも部分的に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベース圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベース圧縮モードのいずれかを指すことがある。
【０２０９】
[0253]符号化デバイス１２０４は、区分ユニット３５と、予測処理ユニット４１と、フィルタユニット６３と、ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測処理ユニット４６とを含む。ビデオブロック再構成のために、符号化デバイス１２０４はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。フィルタユニット６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すものとする。図１２では、フィルタユニット６３はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット６３はループ後フィルタとして実装され得る。後処理デバイス５７は、符号化デバイス１２０４によって生成された符号化ビデオデータに対して追加の処理を実施し得る。本開示の技法は、いくつかの事例では、符号化デバイス１２０４によって実装され得る。しかしながら、他の事例では、本開示の技法のうちの１つまたは複数は、後処理デバイス５７によって実装され得る。
【０２１０】
[0254]図１２に示されているように、符号化デバイス１２０４はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。区分はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、スライス、スライスセグメント、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分を含み得る。符号化デバイス１２０４は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（たとえば、コーディングレートおよびひずみレベルなど）に基づいて現在ビデオブロックについて、複数のイントラ予測コーディングモードのうちの１つ、または複数のインター予測コーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【０２１１】
[0255]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実施し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングを実施する。
【０２１２】
[0256]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Ｐスライス、Ｂスライス、またはＧＰＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する、現在ビデオフレームまたはピクチャ内のビデオブロックの予測ユニット（ＰＵ）の変位を示し得る。
【０２１３】
[0257]予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、符号化デバイス１２０４は、ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算し得る。たとえば、符号化デバイス１２０４は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０２１４】
[0258]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々は、ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０２１５】
[0259]動き補償ユニット４４によって実施される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実施することを伴い得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストにおいて指す予測ブロックの位置を特定し得る。符号化デバイス１２０４は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックのための残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実施する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際に復号デバイス１３１２が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０２１６】
[0260]イントラ予測処理ユニット４６は、上記で説明されたように、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット処理４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためにレートひずみ分析を使用してレートひずみ値を計算し得、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのためのひずみおよびレートから比を計算し得る。
【０２１７】
[0261]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。符号化デバイス１２０４は、様々なブロックのための符号化コンテキストの構成データ定義、ならびにコンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示を送信ビットストリーム中に含み得る。ビットストリーム構成データは、複数のイントラ予測モードインデックステーブルと、（コードワードマッピングテーブルとも呼ばれる）複数の修正されたイントラ予測モードインデックステーブルとを含み得る。
【０２１８】
[0262]予測処理ユニット４１が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、符号化デバイス１２０４は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０２１９】
[0263]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット５６が走査を実施し得る。
【０２２０】
[0264]量子化の後に、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化技法を実施し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは復号デバイス１３１２に送信されるか、あるいは復号デバイス１３１２が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０２２１】
[0265]逆量子化ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、残差ブロックを参照ピクチャリスト内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。加算器６２は、ピクチャメモリ６４に記憶するための参照ブロックを生成するために、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０２２２】
[0266]このようにして、図１２の符号化デバイス１２０４は、符号化ビデオビットストリームのためのシンタックスを生成するように構成されたビデオエンコーダの一例を表す。符号化デバイス１２０４は、たとえば、上記で説明されたようにＶＰＳ、ＳＰＳ、およびＰＰＳパラメータセットを生成し得る。符号化デバイス１２０４は、図１２および図１３に関して上記で説明されたプロセスを含む、本明細書で説明される技法のいずれかを実施し得る。本開示の技法は、概して符号化デバイス１２０４に関して説明されたが、上述のように、本開示の技法のうちのいくつかは後処理デバイス５７によっても実装され得る。
【０２２３】
[0267]図１３は、例示的な復号デバイス１３１２を示すブロック図である。復号デバイス１３１２は、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、フィルタユニット９１と、ピクチャメモリ９２とを含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測処理ユニット８４とを含む。復号デバイス１３１２は、いくつかの例では、図１２からの符号化デバイス１２０４に関して説明された符号化パスとは概して逆の復号パスを実施し得る。
【０２２４】
[0268]復号プロセス中に、復号デバイス１３１２は、符号化デバイス１２０４によって送られた、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。いくつかの実施形態では、復号デバイス１３１２は、符号化デバイス１２０４から符号化ビデオビットストリームを受信し得る。いくつかの実施形態では、復号デバイス１３１２は、サーバ、メディアアウェアネットワーク要素（ＭＡＮＥ）、ビデオエディタ／スプライサ、または上記で説明された技法のうちの１つまたは複数を実装するように構成された他のそのようなデバイスなど、ネットワークエンティティ７９から符号化ビデオビットストリームを受信し得る。ネットワークエンティティ７９は、符号化デバイス１２０４を含むことも、含まないこともある。本開示で説明される技法のうちのいくつかは、ネットワークエンティティ７９が符号化ビデオビットストリームを復号デバイス１３１２に送信するより前に、ネットワークエンティティ７９によって実装され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ７９および復号デバイス１３１２は別個のデバイスの部分であり得るが、他の事例では、ネットワークエンティティ７９に関して説明される機能は、復号デバイス１３１２を備える同じデバイスによって実施され得る。
【０２２５】
[0269]復号デバイス１３１２のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。復号デバイス１３１２は、ビデオスライスレベルおよび／またはビデオブロックレベルのシンタックス要素を受信し得る。エントロピー復号ユニット８０は、ＶＰＳ、ＳＰＳ、およびＰＰＳなど、１つまたは複数のパラメータセット中の固定長シンタックス要素と可変長シンタックス要素の両方を処理し、パースし得る。
【０２２６】
[0270]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされたとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの１つから生成され得る。復号デバイス１３１２は、ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０とリスト１とを構成し得る。
【０２２７】
[0271]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために、その予測情報を使用する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスのための１つまたは複数の参照ピクチャリストのための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、パラメータセット中の１つまたは複数のシンタックス要素を使用し得る。
【０２２８】
[0272]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルのための補間値を計算するために、ビデオブロックの符号化中に符号化デバイス１２０４によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素から符号化デバイス１２０４によって使用された補間フィルタを決定し得、予測ブロックを生成するためにその補間フィルタを使用し得る。
【０２２９】
[0273]逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとに符号化デバイス１２０４によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセル領域における残差ブロックを生成するために、逆変換（たとえば、逆ＤＣＴまたは他の好適な逆変換）、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０２３０】
[0274]動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、復号デバイス１３１２は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実施する１つまたは複数の構成要素を表す。所望される場合、（コーディングループ内またはコーディングループ後のいずれかの）ループフィルタも、ピクセル遷移を平滑化するために、またはさもなければビデオ品質を改善するために使用され得る。フィルタユニット９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すものとする。図１３では、フィルタユニット９１はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット９１はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶するピクチャメモリ９２に記憶される。ピクチャメモリ９２はまた、図１に示されているビデオ宛先デバイス１２２など、ディスプレイデバイス上で後で提示するために復号ビデオを記憶する。
【０２３１】
[0275]上記の説明では、本出願の態様がそれの特定の実施形態を参照しながら説明されたが、本発明はそれに限定されないことを、当業者は認識されよう。したがって、本出願の例示的な実施形態が本明細書で詳細に説明されているが、従来技術によって限定される場合を除いて、発明的概念が、場合によっては様々に実施および採用され得、添付の特許請求の範囲が、そのような変形形態を含むように解釈されるものであることを理解されたい。上記で説明された発明の様々な特徴および態様は、個々にまたは一緒に使用され得る。さらに、実施形態は、本明細書のより広い趣旨および範囲から逸脱することなく、本明細書で説明された環境および適用例以外に、任意の数の環境および適用例において利用され得る。したがって、本明細書および図面は、限定的なものではなく例示的なものとして考慮されるべきである。説明の目的で、方法は特定の順序で説明された。代替実施形態では、方法は、説明された順序とは異なる順序で実施され得ることを諒解されたい。
【０２３２】
[0276]構成要素が、ある動作を実施する「ように構成されて」いるものとして説明される場合、そのような構成は、たとえば、動作を実施するように電子回路または他のハードウェアを設計することによって、動作を実施するようにプログラマブル電子回路（たとえば、マイクロプロセッサ、または他の好適な電子回路）をプログラムすることによって、またはそれらの任意の組合せによって、達成され得る。
【０２３３】
[0277]本明細書で開示された実施形態に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記で説明された。そのような機能がハードウェアとして実装されるのかソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【０２３４】
[0278]本明細書で説明された技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明された特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたとき、上記で説明された方法のうちの１つまたは複数を実施する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０２３５】
[0279]プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価の集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明された技法の実装に好適な他の構造または装置のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。
【０２３６】
[0280]本明細書で説明されたコーディング技法は、例示的なビデオ符号化および復号システムにおいて実施され得る。システムは、宛先デバイスによって後で復号されるべき符号化ビデオデータを与えるソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介して宛先デバイスにビデオデータを与える。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。いくつかの場合には、ソースデバイスおよび宛先デバイスはワイヤレス通信のために装備され得る。
【０２３７】
[0281]宛先デバイスは、コンピュータ可読媒体を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体は、ソースデバイスから宛先デバイスに符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体は、ソースデバイスが符号化ビデオデータを宛先デバイスにリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイスに送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を可能にするために有用であり得る任意の他の機器を含み得る。
【０２３８】
[0282]いくつかの例では、符号化データは、出力インターフェースから記憶デバイスに出力され得る。同様に、符号化データは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイスによって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイスに送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイスは、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【０２３９】
[0283]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【０２４０】
[0284]一例では、ソースデバイスは、ビデオソースと、ビデオエンコーダと、出力インターフェースとを含む。宛先デバイスは、入力インターフェースと、ビデオデコーダと、ディスプレイデバイスとを含み得る。ソースデバイスのビデオエンコーダは、本明細書で開示される技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイスは、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイスは、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【０２４１】
[0285]上記の例示的なシステムは一例にすぎない。ビデオデータを並行して処理するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実施され得る。概して、本開示の技法はビデオ符号化デバイスによって実施されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実施され得る。その上、本開示の技法はビデオプリプロセッサによっても実施され得る。ソースデバイスおよび宛先デバイスは、ソースデバイスが宛先デバイスに送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、ソースデバイスおよび宛先デバイスは、デバイスの各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、例示的なシステムは、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのための、ビデオデバイス間の一方向または双方向のビデオ送信をサポートし得る。
【０２４２】
[0286]ビデオソースは、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソースは、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。いくつかの場合には、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダによって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェースによってコンピュータ可読媒体上に出力され得る。
【０２４３】
[0287]述べられたように、コンピュータ可読媒体は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイスから符号化ビデオデータを受信し、その符号化ビデオデータを宛先デバイスに与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイスから符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解され得る。
【０２４４】
[0288]宛先デバイスの入力インターフェースはコンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ビデオエンコーダによって定義され、またビデオデコーダによって使用される、ブロックおよび他のコード化ユニット、たとえば、ピクチャグループ（ＧＯＰ）の特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイスは、復号ビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。本発明の様々な実施形態が説明された。
【図１】
2019512186.tif 000006
【図２】
2019512186.tif 000007
【図３Ａ】
2019512186.tif 000008
【図３Ｂ】
2019512186.tif 000009
【図４】
2019512186.tif 000010
【図５】
2019512186.tif 000011
【図６】
2019512186.tif 000012
【図７】
2019512186.tif 000013
【図８】
2019512186.tif 000014
【図９】
2019512186.tif 000015
【図１０】
2019512186.tif 000016
【図１１】
2019512186.tif 000017
【図１２】
2019512186.tif 000018
【図１３】
2019512186.tif 000019
【国際調査報告】
2019512186.tif 000020
2019512186.tif 000021
2019512186.tif 000022