(57)【特許請求の範囲】
【請求項１】
ビデオデータを含むビットストリームを処理する方法であって、
前記ビットストリームから記述子を抽出することと、ここにおいて、前記ビットストリームが、前記記述子とは別個の、動作点およびパラメータセットについてのビデオデータの複数のレイヤを含み、したがって、各動作点が、ビデオデータの前記レイヤのうちの１つまたは複数を含む、ここにおいて、前記記述子が、前記動作点についての情報を含む、前記情報が、前記動作点のための関連する出力レイヤセットを含む、ここにおいて、前記記述子を抽出することが、
複数のプロファイル、ティア、およびレベル（ＰＴＬ）構造を抽出することと、
前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータを抽出することと、ここにおいて、前記レイヤの各々を前記ＰＴＬ構造のうちの前記対応する１つに関連付ける前記データが、前記記述子中の前記ＰＴＬ構造とは別個である、
を含む、
前記動作点のうちの１つの前記レイヤが対応する前記ＰＴＬ構造に少なくとも部分的に基づいて前記ビットストリームから前記動作点のうちの前記１つについてのビデオデータを抽出することと、ここにおいて、前記ビデオデータを抽出することが、
前記記述子のデータに基づいて前記動作点のうちの前記１つのための出力レイヤセットを決定することと、
前記ビットストリームから前記出力レイヤセットの各レイヤを抽出することと、
前記ビットストリームから前記出力レイヤセットの前記レイヤが依存するレイヤを抽出することと
を備える、
ビデオデコーダに前記抽出されたビデオデータを与えることと
を備える方法。
【請求項２】
前記ビデオデータを抽出することが、
前記ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のプロファイルと、前記ビデオデコーダがサポートする前記ビデオコーディング規格の１つまたは複数のティアと、前記ビデオデコーダがサポートする前記１つまたは複数のティア内の１つまたは複数のレベルとを決定することと、
前記動作点のうちの前記１つの前記レイヤが対応する前記ＰＴＬ構造によって示されるように、前記動作点のうちの選択された１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記プロファイルのうちの１つを有し、前記動作点のうちの前記選択された１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記ティアのうちの１つを有し、前記動作点のうちの前記選択された１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記レベルのうちの１つを有するように前記動作点のうちの前記１つを選択することと
を備える、請求項１に記載の方法。
【請求項３】
前記ＰＴＬ構造の各々についての少なくともプロファイル情報と、ティア情報と、レベル情報とを決定するために前記ＰＴＬ構造を繰返し処理することと、
前記動作点の各々の前記レイヤの各々について、前記記述子から、前記レイヤのうちの対応する１つについての前記プロファイル、ティア、およびレベル情報を決定するために、前記レイヤのうちの前記対応する１つを前記ＰＴＬ構造のうちの１つにマッピングするＰＴＬ参照インデックスの値を取り出すことと
をさらに備える、請求項１に記載の方法。
【請求項４】
前記ＰＴＬ構造の各々が、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅ値、ｇｅｎｅｒａｌ＿ｔｉｅｒ＿ｆｌａｇ値、複数のｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｉｄｃ値、ｉ番目のｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｉｄｃ値のｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｃｏｍｐａｔｉｂｉｌｉｔｙ＿ｆｌａｇ［ｉ］値、ｇｅｎｅｒａｌ＿ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｏｕｒｃｅ＿ｆｌａｇ値、ｇｅｎｅｒａｌ＿ｉｎｔｅｒｌａｃｅｄ＿ｓｏｕｒｃｅ＿ｆｌａｇ値、ｇｅｎｅｒａｌ＿ｎｏｎ＿ｐａｃｋｅｄ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ値、ｇｅｎｅｒａｌ＿ｆｒａｍｅ＿ｏｎｌｙ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ値、ｇｅｎｅｒａｌ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿４４ｂｉｔｓ値、およびｌｅｖｅｌ＿ｉｄｃ値を表すデータを含む、請求項１に記載の方法。
【請求項５】
前記記述子が、前記動作点のための関連する区分方式と、前記対応する動作点のための最高時間サブレイヤと、前記動作点を構成するエレメンタリストリームのリストと、前記対応する動作点のための出力レイヤの数と、前記動作点の各エレメンタリストリーム中に含まれているレイヤの前記ＰＴＬ構造へのマッピングと、前記動作点についてのフレームレート情報とについての情報をさらに含む、請求項１に記載の方法。
【請求項６】
前記出力レイヤセットを決定することが、前記記述子から、前記動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値を取り出すことを備える、ここにおいて、前記ターゲット出力レイヤセットシンタックス要素が、前記動作点に関連するターゲット出力レイヤセットを指定する、請求項１に記載の方法。
【請求項７】
前記出力レイヤセットを決定することが、前記記述子から、前記レイヤの各々のためのフラグの値を取り出すことを備える、ここにおいて、前記フラグが、前記対応するレイヤが出力レイヤであるかどうかを示す、請求項１に記載の方法。
【請求項８】
前記ビットストリームから少なくとも１つのエレメンタリストリームのための１つまたは複数の参照エレメンタリストリームを示す情報を抽出することをさらに備える、請求項１に記載の方法。
【請求項９】
前記１つまたは複数の参照エレメンタリストリームの前記ビデオデータが、１つまたは複数の時間レイヤの第１のセットにビデオデータを備える、ここにおいて、前記少なくとも１つのエレメンタリストリームの前記ビデオデータが、前記第１のセットの前記時間レイヤよりも高い時間レイヤのビデオデータを備える、請求項８に記載の方法。
【請求項１０】
拡張次元ビットシンタックス要素のビットの値を処理すること、ここにおいて、前記拡張次元ビットシンタックス要素の少なくとも１つのビットが、前記少なくとも１つのエレメンタリストリームの前記ビデオデータが時間拡張を表すことを示す値を有する、をさらに備える、請求項９に記載の方法。
【請求項１１】
前記記述子のｈｉｅｒａｒｃｈｙ＿ｔｙｐｅシンタックス要素の値を処理すること、ここにおいて、前記値が、現在のエレメンタリストリームの前記ビデオデータと前記１つまたは複数の参照エレメンタリストリームとの間の拡張のためのタイプが補助タイプであることを示す、をさらに備える、請求項９に記載の方法。
【請求項１２】
前記記述子を抽出することが、前記ビットストリームから複数の記述子を抽出することを備える、前記記述子の各々が、前記ビットストリーム中で連続しており、ＰＴＬ構造のそれぞれのセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、請求項１に記載の方法。
【請求項１３】
前記記述子が、プログラムレベルの記述子を備える、請求項１に記載の方法。
【請求項１４】
前記記述子が、エレメンタリストリームレベルの記述子を備える、請求項１に記載の方法。
【請求項１５】
前記記述子を抽出することが、前記ビットストリームのプログラムマップテーブルのｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを備える、請求項１に記載の方法。
【請求項１６】
前記記述子を抽出することが、前記ビットストリームのプログラムマップテーブルのＥＳ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを備える、請求項１に記載の方法。
【請求項１７】
前記ビットストリームのプログラムの１つまたは複数のエレメンタリストリームのためのストリームタイプに基づいて前記記述子が前記ビットストリーム中に含まれるかどうかを決定することをさらに備える、請求項１に記載の方法。
【請求項１８】
前記ビットストリームのプログラムの少なくとも１つのエレメンタリストリームのためのストリームタイプが、０ｘ２７、０ｘ２８、０ｘ２９、または０ｘ２Ａの値を有するとき、前記記述子が前記ビットストリーム中に含まれると決定することをさらに備える、請求項１に記載の方法。
【請求項１９】
ビデオデータを含むビットストリームを処理するためのデバイスであって、
前記ビットストリームから抽出されたデータを記憶するためのメモリと、
前記ビットストリームから記述子を抽出することと、ここにおいて、前記ビットストリームが、前記記述子とは別個の、動作点およびパラメータセットについてのビデオデータの複数のレイヤを含み、したがって、各動作点が、ビデオデータの前記レイヤのうちの１つまたは複数を含む、ここにおいて、前記記述子が、前記動作点についての情報を含む、前記情報が、前記動作点のための関連する出力レイヤセットを含む、ここにおいて、前記記述子を抽出するために、１つまたは複数の処理ユニットが、
複数のプロファイル、ティア、およびレベル（ＰＴＬ）構造を抽出することと、
前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータを抽出することと、ここにおいて、前記レイヤの各々を前記ＰＴＬ構造のうちの前記対応する１つに関連付ける前記データが、前記記述子中の前記ＰＴＬ構造とは別個である、
を行うように構成され、
前記動作点のうちの１つの前記レイヤが対応する前記ＰＴＬ構造に少なくとも部分的に基づいて前記ビットストリームから前記動作点のうちの前記１つについてのビデオデータを抽出することと、ここにおいて、前記ビデオデータを抽出するために、前記１つまたは複数の処理ユニットが、
前記記述子のデータに基づいて前記動作点のうちの前記１つのための出力レイヤセットを決定することと、
前記ビットストリームから前記出力レイヤセットの各レイヤを抽出することと、
前記ビットストリームから前記出力レイヤセットの前記レイヤが依存するレイヤを抽出することと
を行うように構成され、
ビデオデコーダに前記抽出されたビデオデータを与えることと
を行うように構成された前記１つまたは複数の処理ユニットと
を備えるデバイス。
【請求項２０】
前記１つまたは複数の処理ユニットが、
前記ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のプロファイルと、前記ビデオデコーダがサポートする前記ビデオコーディング規格の１つまたは複数のティアと、前記ビデオデコーダがサポートする前記１つまたは複数のティア内の１つまたは複数のレベルとを決定することと、
前記動作点のうちの前記１つの前記レイヤが対応する前記ＰＴＬ構造によって示されるように、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記プロファイルのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記ティアのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記レベルのうちの１つを有するように前記動作点のうちの前記１つを選択することと
を行うようにさらに構成された、請求項１９に記載のデバイス。
【請求項２１】
前記１つまたは複数の処理ユニットが、
前記ＰＴＬ構造の各々についての少なくともプロファイル情報と、ティア情報と、レベル情報とを決定するために前記ＰＴＬ構造を繰返し処理することと、
前記動作点の各々の前記レイヤの各々について、前記記述子から、前記レイヤのうちの対応する１つについての前記プロファイル、ティア、およびレベル情報を決定するために、前記レイヤのうちの前記対応する１つを前記ＰＴＬ構造のうちの１つにマッピングするＰＴＬ参照インデックスの値を取り出すことと
を行うようにさらに構成された、請求項１９に記載のデバイス。
【請求項２２】
前記記述子が、前記動作点のための関連する区分方式と、前記動作点のための最高時間サブレイヤと、前記動作点を構成するエレメンタリストリームのリストと、前記対応する動作点のための出力レイヤの数と、前記動作点の各エレメンタリストリーム中に含まれているレイヤの前記ＰＴＬ構造へのマッピングと、前記動作点についてのフレームレート情報とについての情報をさらに含む、請求項１９に記載のデバイス。
【請求項２３】
前記出力レイヤセットを決定するために、前記１つまたは複数のプロセッサが、前記記述子から、前記動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値を取り出すこと、ここにおいて、前記ターゲット出力レイヤセットシンタックス要素が、前記動作点に関連するターゲット出力レイヤセットを指定する、を行うように構成された、請求項１９に記載のデバイス。
【請求項２４】
前記出力レイヤセットを決定するために、前記１つまたは複数のプロセッサが、前記記述子から、前記レイヤの各々のためのフラグの値を取り出すこと、ここにおいて、前記フラグが、前記対応するレイヤが出力レイヤであるかどうかを示す、を行うように構成された、請求項１９に記載のデバイス。
【請求項２５】
前記１つまたは複数の処理ユニットが、前記ビットストリームから少なくとも１つのエレメンタリストリームのための１つまたは複数の参照エレメンタリストリームを示す情報を抽出するようにさらに構成された、請求項１９に記載のデバイス。
【請求項２６】
前記１つまたは複数の処理ユニットが、前記ビットストリームから複数の記述子を抽出すること、前記記述子の各々が、前記ビットストリーム中で連続しており、ＰＴＬ構造のそれぞれのセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、を行うように構成された、請求項１９に記載のデバイス。
【請求項２７】
前記記述子が、プログラムレベルの記述子を備える、請求項１９に記載のデバイス。
【請求項２８】
前記記述子が、エレメンタリストリームレベルの記述子を備える、請求項１９に記載のデバイス。
【請求項２９】
前記１つまたは複数の処理ユニットが、前記ビットストリームのプログラムマップテーブルのｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出するように構成された、請求項１９に記載のデバイス。
【請求項３０】
前記１つまたは複数の処理ユニットが、前記ビットストリームのプログラムマップテーブルのＥＳ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出するように構成された、請求項１９に記載のデバイス。
【請求項３１】
前記１つまたは複数の処理ユニットが、前記ビットストリームのプログラムの１つまたは複数のエレメンタリストリームのためのストリームタイプに基づいて前記記述子が前記ビットストリーム中に含まれるかどうかを決定するように構成された、請求項１９に記載のデバイス。
【請求項３２】
前記１つまたは複数の処理ユニットが、前記ビットストリームのプログラムの少なくとも１つのエレメンタリストリームのためのストリームタイプが、０ｘ２７、０ｘ２８、０ｘ２９、または０ｘ２Ａの値を有するとき、前記記述子が前記ビットストリーム中に含まれると決定するように構成された、請求項１９に記載のデバイス。
【請求項３３】
ビデオデータを処理するためのデバイスであって、
ビットストリームから記述子を抽出するための手段と、ここにおいて、前記ビットストリームが、前記記述子とは別個の、動作点およびパラメータセットについてのビデオデータの複数のレイヤを含み、したがって、各動作点が、ビデオデータの前記レイヤのうちの１つまたは複数を含む、ここにおいて、前記記述子が、前記動作点についての情報を含む、前記情報が、前記動作点のための関連する出力レイヤセットを含む、ここにおいて、前記記述子を抽出するための前記手段が、
複数のプロファイル、ティア、およびレベル（ＰＴＬ）構造を抽出するための手段と、
前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータを抽出するための手段と、ここにおいて、前記レイヤの各々を前記ＰＴＬ構造のうちの前記対応する１つに関連付ける前記データが、前記記述子中の前記ＰＴＬ構造とは別個である、
を含む、
前記動作点のうちの１つの前記レイヤが対応する前記ＰＴＬ構造に少なくとも部分的に基づいて前記ビットストリームから前記動作点のうちの前記１つについてのビデオデータを抽出するための手段と、
ビデオデコーダに前記抽出されたビデオデータを与えるための手段と
を備えるデバイス。
【請求項３４】
前記ビデオデータを抽出するための前記手段が、
前記ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のプロファイルと、前記ビデオデコーダがサポートする前記ビデオコーディング規格の１つまたは複数のティアと、前記ビデオデコーダがサポートする前記１つまたは複数のティア内の１つまたは複数のレベルとを決定するための手段と、
前記動作点のうちの前記１つの前記レイヤが対応する前記ＰＴＬ構造によって示されるように、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記プロファイルのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記ティアのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記レベルのうちの１つを有するように前記動作点のうちの前記１つを選択するための手段と
を備える、請求項３３に記載のデバイス。
【請求項３５】
前記ＰＴＬ構造の各々についての少なくともプロファイル情報と、ティア情報と、レベル情報とを決定するために前記ＰＴＬ構造を繰返し処理することと、
前記記述子から、前記動作点の各々の前記レイヤの各々について、前記レイヤのうちの対応する１つについての前記プロファイル、ティア、およびレベル情報を決定するために、前記レイヤのうちの前記対応する１つを前記ＰＴＬ構造のうちの１つにマッピングするＰＴＬ参照インデックスの値を取り出すための手段と
をさらに備える、請求項３３に記載のデバイス。
【請求項３６】
前記記述子が、前記動作点のための関連する区分方式と、前記動作点のための最高時間サブレイヤと、前記動作点を構成するエレメンタリストリームのリストと、前記対応する動作点のための出力レイヤの数と、前記動作点の各エレメンタリストリーム中に含まれているレイヤの前記ＰＴＬ構造へのマッピングと、前記動作点についてのフレームレート情報とについての情報をさらに含む、請求項３３に記載のデバイス。
【請求項３７】
前記ビデオデータを抽出するための前記手段が、
前記記述子のデータに基づいて前記動作点のうちの前記１つのための出力レイヤセットを決定するための手段と、
前記ビットストリームから前記出力レイヤセットの各レイヤを抽出するための手段と、
前記ビットストリームから前記出力レイヤセットの前記レイヤが依存するレイヤを抽出するための手段と
を備える、請求項３３に記載のデバイス。
【請求項３８】
前記出力レイヤセットを決定するための前記手段が、前記記述子から、前記動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値を取り出すための手段を備える、ここにおいて、前記ターゲット出力レイヤセットシンタックス要素が、前記対応する動作点に関連するターゲット出力レイヤセットを指定する、請求項３３に記載のデバイス。
【請求項３９】
前記出力レイヤセットを決定するための前記手段が、前記記述子から、前記レイヤの各々のためのフラグの値を取り出すための手段を備える、ここにおいて、前記フラグが、前記対応するレイヤが出力レイヤであるかどうかを示す、請求項３８に記載のデバイス。
【請求項４０】
前記ビットストリームから少なくとも１つのエレメンタリストリームのための１つまたは複数の参照エレメンタリストリームを示す情報を抽出するための手段をさらに備える、請求項３３に記載のデバイス。
【請求項４１】
前記記述子を抽出するための前記手段が、前記ビットストリームから複数の記述子を抽出するための手段を備える、前記記述子の各々が、前記ビットストリーム中で連続しており、ＰＴＬ構造のそれぞれのセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、請求項３３に記載のデバイス。
【請求項４２】
前記記述子を抽出するための前記手段が、前記ビットストリームのプログラムマップテーブルのｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを備える、請求項３３に記載のデバイス。
【請求項４３】
前記記述子を抽出するための前記手段が、前記ビットストリームのプログラムマップテーブルのＥＳ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出するための手段を備える、請求項３３に記載のデバイス。
【請求項４４】
前記ビットストリームのプログラムの１つまたは複数のエレメンタリストリームのためのストリームタイプに基づいて前記記述子が前記ビットストリーム中に含まれるかどうかを決定するための手段をさらに備える、請求項３３に記載のデバイス。
【請求項４５】
前記ビットストリームのプログラムの少なくとも１つのエレメンタリストリームのためのストリームタイプが、０ｘ２７、０ｘ２８、０ｘ２９、または０ｘ２Ａの値を有するとき、前記記述子が前記ビットストリーム中に含まれると決定するための手段をさらに備える、請求項３３に記載のデバイス。
【請求項４６】
実行されたときに、プロセッサに、
ビデオデータを含むビットストリームから記述子を抽出することを行わせる命令と、ここにおいて、前記ビットストリームが、前記記述子とは別個の、動作点およびパラメータセットについてのビデオデータの複数のレイヤを含み、したがって、各動作点が、ビデオデータの前記レイヤのうちの１つまたは複数を含む、ここにおいて、前記記述子が、前記動作点についての情報を含む、前記情報が、前記動作点のための関連する出力レイヤセットを含む、ここにおいて、前記プロセッサに前記記述子を抽出することを行わせる前記命令が、前記プロセッサに、
複数のプロファイル、ティア、およびレベル（ＰＴＬ）構造を抽出することと、
前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータを抽出することと、ここにおいて、前記レイヤの各々を前記ＰＴＬ構造のうちの前記対応する１つに関連付ける前記データが、前記記述子中の前記ＰＴＬ構造とは別個である、
を行わせる命令を備える、
前記動作点のうちの１つの前記レイヤが対応する前記ＰＴＬ構造に少なくとも部分的に基づいて前記ビットストリームから前記動作点のうちの前記１つについてのビデオデータを抽出することを行わせる命令と、
ビデオデコーダに前記抽出されたビデオデータを与えることを行わせる命令と
を記憶した非一時的コンピュータ可読記憶媒体。
【請求項４７】
前記プロセッサに前記ビデオデータを抽出することを行わせる前記命令が、前記プロセッサに、
前記ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のプロファイルと、前記ビデオデコーダがサポートする前記ビデオコーディング規格の１つまたは複数のティアと、前記ビデオデコーダがサポートする前記１つまたは複数のティア内の１つまたは複数のレベルとを決定することと、
前記動作点のうちの前記１つの前記レイヤが対応する前記ＰＴＬ構造によって示されるように、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記プロファイルのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記ティアのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記レベルのうちの１つを有するように前記動作点のうちの前記１つを選択することと
を行わせる命令を備える、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【請求項４８】
前記プロセッサに、
前記ＰＴＬ構造の各々についての少なくともプロファイル情報と、ティア情報と、レベル情報とを決定するために前記ＰＴＬ構造を繰返し処理することと、
前記動作点の各々の前記レイヤの各々について、前記記述子から、前記レイヤのうちの対応する１つについての前記プロファイル、ティア、およびレベル情報を決定するために、前記レイヤのうちの前記対応する１つを前記ＰＴＬ構造のうちの１つにマッピングするＰＴＬ参照インデックスの値を取り出すことと
を行わせる命令をさらに備える、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【請求項４９】
前記記述子が、前記動作点のための関連する区分方式と、前記動作点のための最高時間サブレイヤと、前記動作点を構成するエレメンタリストリームのリストと、前記動作点のための出力レイヤの数と、前記動作点の各エレメンタリストリーム中に含まれているレイヤの前記ＰＴＬ構造へのマッピングと、前記動作点についてのフレームレート情報とについての情報をさらに含む、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【請求項５０】
前記プロセッサに前記ビデオデータを抽出することを行わせる前記命令が、前記プロセッサに、
前記記述子のデータに基づいて前記動作点のうちの前記１つのための出力レイヤセットを決定することと、
前記ビットストリームから前記出力レイヤセットの各レイヤを抽出することと、
前記ビットストリームから前記出力レイヤセットの前記レイヤが依存するレイヤを抽出することと
を行わせる命令を備える、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【請求項５１】
前記プロセッサに前記出力レイヤセットを決定することを行わせる前記命令が、前記プロセッサに、前記記述子から、前記動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値を取り出すこと、ここにおいて、前記ターゲット出力レイヤセットシンタックス要素が、前記対応する動作点に関連するターゲット出力レイヤセットを指定する、を行わせる命令を備える、請求項５０に記載の非一時的コンピュータ可読記憶媒体。
【請求項５２】
前記プロセッサに前記出力レイヤセットを決定することを行わせる前記命令が、前記プロセッサに、前記記述子から、前記レイヤの各々のためのフラグの値を取り出すこと、ここにおいて、前記フラグが、前記対応するレイヤが出力レイヤであるかどうかを示す、を行わせる命令を備える、請求項５０に記載の非一時的コンピュータ可読記憶媒体。
【請求項５３】
前記プロセッサに、前記ビットストリームから少なくとも１つのエレメンタリストリームのための１つまたは複数の参照エレメンタリストリームを示す情報を抽出することを行わせる命令をさらに備える、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【請求項５４】
前記プロセッサに前記記述子を抽出することを行わせる前記命令が、前記プロセッサに、前記ビットストリームから複数の記述子を抽出することを行わせる命令を備える、前記記述子の各々が、前記ビットストリーム中で連続しており、ＰＴＬ構造のそれぞれのセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【請求項５５】
前記プロセッサに前記記述子を抽出することを行わせる前記命令が、前記プロセッサに、前記ビットストリームのプログラムマップテーブルのｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを行わせる命令を備える、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【請求項５６】
前記プロセッサに前記記述子を抽出することを行わせる前記命令が、前記プロセッサに、前記ビットストリームのプログラムマップテーブルのＥＳ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを行わせる命令を備える、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【請求項５７】
前記プロセッサに、前記ビットストリームのプログラムの１つまたは複数のエレメンタリストリームのためのストリームタイプに基づいて前記記述子が前記ビットストリーム中に含まれるかどうかを決定することを行わせる命令をさらに備える、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【請求項５８】
前記プロセッサに、前記ビットストリームのプログラムの少なくとも１つのエレメンタリストリームのためのストリームタイプが、値０ｘ２７、０ｘ２８、０ｘ２９、または０ｘ２Ａを有するとき、前記記述子が前記ビットストリーム中に含まれると決定することを行わせる命令をさらに備える、請求項４６に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、２０１４年１０月１０日に出願された米国仮出願第６２／０６２，６８１号、および２０１４年１０月１５日に出願された米国仮出願第６２／０６４，４２８号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコーディングに関し、より詳細には、コード化されたビデオデータのトランスポートに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータもしくはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイス、および類似物を含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、およびＩＴＵ−Ｔ  Ｈ．２６５、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）、およびそのような規格の拡張によって定められた規格に記載されたものなどのビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（イントラピクチャ）予測および／または時間的（ピクチャ間）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングユニット（ＣＵ）、および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測により、コーディングされるべきブロックのための予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コーディングされたブロックと予測ブロックとの差分を示す。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示は、たとえば、ＭＰＥＧ−２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システムに従って、コード化されたビデオデータをトランスポートするための技法について説明する。コード化されたビデオデータのトランスポートは、コード化されたビデオデータの搬送と呼ばれることもある。たとえば、本開示は、階層化されたＨＥＶＣ（高効率ビデオコーディング）ビットストリームのレイヤ間の依存情報のシグナリングのために使用されるＭＰＥＧ−２トランスポートストリーム（ＴＳ：Transport Stream）記述子の改善であり得る例示的な技法について説明する。本開示の技法は、ビデオコーディング規格の拡張、たとえば、ＨＥＶＣ規格の拡張についてのコード化されたビデオデータのトランスポートのために使用され得る。そのような拡張は、マルチビュー拡張（たとえば、ＭＶ−ＨＥＶＣ）と、スケーラブル拡張（たとえば、ＳＨＶＣ）と、３次元拡張（たとえば、３Ｄ−ＨＥＶＣ）とを含み得る。
【０００７】
[0007]一例では、ビデオデータを含むビットストリームを処理する方法は、ビットストリームから記述子を抽出することと、ここにおいて、ビットストリームは、記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点は、ビデオデータのレイヤのうちの１つまたは複数を含む、ここにおいて、記述子は、プロファイル、ティア（tier）、およびレベル（ＰＴＬ：profile, tier, and level）構造のセットと、動作点の各々のレイヤの各々をＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、動作点のうちの１つのレイヤが対応するＰＴＬ構造に少なくとも部分的に基づいてビットストリームから動作点のうちの１つについてのビデオデータを抽出することと、ビデオデコーダに抽出されたビデオデータを与えることとを含む。
【０００８】
[0008]別の例では、ビデオデータを含むビットストリームを処理するためのデバイスは、ビットストリームから抽出されたデータを記憶するためのメモリと、ビットストリームから記述子を抽出することと、ここにおいて、ビットストリームは、記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点は、ビデオデータのレイヤのうちの１つまたは複数を含む、ここにおいて、記述子は、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、動作点の各々のレイヤの各々をＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、動作点のうちの１つのレイヤが対応するＰＴＬ構造に少なくとも部分的に基づいてビットストリームから動作点のうちの１つについてのビデオデータを抽出することと、ビデオデコーダに抽出されたビデオデータを与えることとを行うように構成された１つまたは複数の処理ユニットとを含む。
【０００９】
[0009]別の例では、ビデオデータを処理するためのデバイスは、ビットストリームから記述子を抽出するための手段と、ここにおいて、ビットストリームは、記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点は、ビデオデータのレイヤのうちの１つまたは複数を含む、ここにおいて、記述子は、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、動作点の各々のレイヤの各々をＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、動作点のうちの１つのレイヤが対応するＰＴＬ構造に少なくとも部分的に基づいてビットストリームから動作点のうちの１つについてのビデオデータを抽出するための手段と、ビデオデコーダに抽出されたビデオデータを与えるための手段とを含む。
【００１０】
[0010]別の例では、実行されたときに、プロセッサに、ビデオデータを含むビットストリームから記述子を抽出することと、ここにおいて、ビットストリームは、記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点は、ビデオデータのレイヤのうちの１つまたは複数を含む、ここにおいて、記述子は、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、動作点の各々のレイヤの各々をＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、動作点のうちの１つのレイヤが対応するＰＴＬ構造に少なくとも部分的に基づいてビットストリームから動作点のうちの１つについてのビデオデータを抽出することと、ビデオデコーダに抽出されたビデオデータを与えることとを行わせる命令を記憶したコンピュータ可読記憶媒体。
【００１１】
[0011]１つまたは複数の例の詳細が以下の添付の図面および説明において記載されている。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】[0012]ビデオコーディング規格の拡張に従ってコーディングされたビデオデータをトランスポートするための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0013]ビデオコーディング規格の拡張に従ってコーディングされたビデオデータをトランスポートするための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】[0014]ビデオコーディング規格の拡張に従ってコーディングされたビデオデータをトランスポートするための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0015]オーディオ／ビデオ（Ａ／Ｖ）ソースデバイスがオーディオおよびビデオデータをＡ／Ｖ宛先デバイスにトランスポートする例示的なシステムを示すブロック図。
【図５】[0016]エレメンタリストリーム間の依存の一例を示す概念図。
【図６】[0017]エレメンタリストリーム間の依存の一例を示す別の概念図。
【図７】[0018]エレメンタリストリーム間の依存の一例を示す別の概念図。
【図８】[0019]ビデオデータの複数のレイヤの一例を示す概念図。
【図９】[0020]本開示の技法による、例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１３】
[0021]概して、本開示は、メディアデータについてのＭｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）−２システムレベルデータに関する技法について説明する。ＭＰＥＧ−２システムは、概して、単一のデータストリームを形成するために２つ以上のデータストリームをどのように一緒に多重化するかを記述する。本開示は、マルチレイヤビデオデータについてのＭＰＥＧ−２システムデータに関する技法について説明する。より詳細には、本開示は、階層化されたＨＥＶＣビットストリームのレイヤ間の依存情報をシグナリングするために使用され得るＭＰＥＧ−２トランスポートストリーム（ＴＳ）記述子について説明する（たとえば、いくつかの既存の技法に関する改善であり得る階層化されたＨＥＶＣビットストリームのレイヤ間の依存（または関係）について説明する）。ＨＥＶＣ規格文書は、ＩＴＵ−Ｔ  Ｈ．２６５，  Ｓｅｒｉｅｓ  Ｈ：Ａｕｄｉｏｖｉｓｕａｌ  ａｎｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｓｙｓｔｅｍｓ，  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ｏｆ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ  −  Ｃｏｄｉｎｇ  ｏｆ  ｍｏｖｉｎｇ  ｖｉｄｅｏ，  Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ、国際電気通信連合（ＩＴＵ）の電気通信標準化部門、２０１５年４月として公開されている。
【００１４】
[0022]本開示の技法は、概して、ビデオコーディング規格の拡張（たとえば、ＩＴＵ−Ｔ  Ｈ．２６５とも呼ばれる、高効率ビデオコーディング（ＨＥＶＣ）規格、ＨＥＶＣ規格の拡張）に従ってコーディングされたビデオデータの搬送（たとえば、トランスポート）を対象とする。そのような拡張は、マルチビュー拡張、３次元拡張、および／またはスケーラブル拡張を含み得る。したがって、本開示の技法は、マルチビューＨＥＶＣ（ＭＶ−ＨＥＶＣ）、３次元ＨＥＶＣ（３Ｄ−ＨＥＶＣ）、およびスケーラブルＨＥＶＣ（ＳＨＶＣ）に適用され得る。
【００１５】
[0023]マルチレイヤビデオデータ、たとえば、マルチビュービデオデータおよび／または複数のスケーラブルレイヤをもつビデオデータは、指定された動作点を含み得る。概して、動作点は、マルチレイヤビデオデータのレイヤのフルセットのうちのレイヤ（たとえば、ビュー（views））のサブセットを含む。動作点はまた、ターゲット出力レイヤ、すなわち、データが出力されるべきレイヤを識別し得る。いくつかの事例では、レイヤのデータは、参照レイヤとして使用するためだけに動作点中に含まれ得、したがって、そのようなレイヤは、ターゲット出力レイヤと見なされないことがある。
【００１６】
[0024]スケーラブル次元の１つのタイプは時間次元である。たとえば、時間スケーラビリティでは、ビデオデータのセットは、様々なフレームレートまたは再生速度、たとえば、１５フレーム毎秒（ＦＰＳ）、３０ＦＰＳ、６０ＦＰＳ、および１２０ＦＰＳをサポートし得る。所与の時間レベルは、そのレベルと下位のレベルとにあるすべてのピクチャを含み得る。たとえば、前の例を続けると、０の時間レベルは、１５ＦＰＳに対応し得、１の時間レベルは、時間レベル０のピクチャならびに３０ＦＰＳをサポートするために時間レベル１にあるピクチャを含み得、２の時間レベルは、時間レベル０および１のピクチャならびに６０ＦＰＳをサポートするために時間レベル２にあるピクチャを含み得、以下同様である。時間識別子またはＴｅｍｐｏｒａｌＩＤは、特定のピクチャが属する時間レベルを表すようにシグナリングされ得る。
【００１７】
[0025]宛先デバイスは、復号され、最終的にユーザに提示（たとえば、表示）されるべき動作点のうちの１つを選択するために、ビットストリーム中に含まれる動作点記述子を使用し得る。受信時にビューの全部のデータをビデオデコーダに渡すのではなく、宛先デバイスは、選択された動作点のビューのみをビデオデコーダに送り得る。このようにして、宛先デバイスは、復号されないビューのデータを廃棄し得る。追加または代替として、中間ネットワークデバイスは、たとえば、帯域幅をより良く利用するために、要求された動作点に対応しないビューについてのデータを破棄し得る。宛先デバイスは、ビットストリームの動作点のうち、最高品質をサポートする動作点に基づいておよび／またはネットワーク帯域幅の利用可能な量に基づいて動作点を選択し得る。
【００１８】
[0026]ビデオデータはまた、プロファイル、レイヤおよびティアによって記述され得る。「プロファイル」は、適用可能なビデオコーディング規格によって指定されるビットストリームシンタックス全体のサブセットである。「レベル」は、たとえば、ピクチャの解像度、ビットレート、およびブロック処理レートに関連するデコーダメモリおよび計算などの、デコーダリソース消費の制限に対応する。
【００１９】
[0027]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、そのスケーラブルビデオコーディング（ＳＶＣ）拡張およびマルチビュービデオコーディング（ＭＶＣ）拡張を含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。
【００２０】
[0028]最近、高効率ビデオコーディング（ＨＥＶＣ）という名前の新しいビデオコーディング規格、ＭＶ−ＨＥＶＣという名前のＨＥＶＣに対するマルチビュー拡張、およびＳＨＶＣという名前のＨＥＶＣに対するスケーラブル拡張の設計が、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）およびＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって確定された。
【００２１】
[0029]ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのＪＣＴ−ＶＣ、第１８回会合：日本、札幌、２０１４年６月３０日〜７月９日についての「Ｄｒａｆｔ  ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）ｖｅｒｓｉｏｎ  ２，ｃｏｍｂｉｎｅｄ  ｆｏｒｍａｔ  ｒａｎｇｅ  ｅｘｔｅｎｓｉｏｎｓ（ＲＥｘｔ），ｓｃａｌａｂｉｌｉｔｙ（ＳＨＶＣ），ａｎｄ  ｍｕｌｔｉ−ｖｉｅｗ（ＭＶ−ＨＥＶＣ）ｅｘｔｅｎｓｉｏｎｓ」と題する最新のＨＥＶＣドラフト仕様（ＪＣＴＶＣ−Ｒ１０１３＿ｖ６）は、ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１８＿Ｓａｐｐｏｒｏ／ｗｇ１１／ＪＣＴＶＣ−Ｒ１０１３−ｖ６．ｚｉｐから入手可能である。
【００２２】
[0030]ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｔｅｎｓｉｏｎｓ、第９回会合：日本、札幌、２０１４年７月３日〜９日についての「ＭＶ−ＨＥＣＶ  Ｄｒａｆｔ  Ｔｅｘｔ  ９」と題する最新のＭＶ−ＨＥＶＣドラフト仕様（ＪＣＴ３Ｖ−Ｉ１００２−ｖ７）は、ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／９＿Ｓａｐｐｏｒｏ／ｗｇ１１／ＪＣＴ３Ｖ−Ｉ１００２−ｖ７．ｚｉｐから入手可能である。
【００２３】
[0031]  ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのＪＣＴ−ＶＣ、第１８回会合：日本、札幌、２０１４年６月３０日〜７月９日についての「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）ｓｃａｌａｂｌｅ  ｅｘｔｅｎｓｉｏｎ  Ｄｒａｆｔ  ７」と題するＳＨＶＣドラフト仕様（ＪＣＴＶＣ−Ｒ１００８ｖ７）は、ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１８＿Ｓａｐｐｏｒｏ／ｗｇ１１／ＪＣＴＶＣ−Ｒ１００８−ｖ７．ｚｉｐから入手可能である。
【００２４】
[0032]ＭＰＥＧ−２システム（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）技術は、ビデオデータをトランスポートするために採用され得る。ＭＰＥＧ−２システムは、ＭＰＥＧ−２  ＴＳと呼ばれることがある。ＭＰＥＧ−２  ＴＳの最新の仕様は、ｗｗｗ．ｉｔｕ．ｉｎｔ／ｒｅｃ／Ｔ−ＲＥＣ−Ｈ．２２２．０−２０１２０６−Ｉ／ｅｎから有料で入手可能なＩＴＵ−Ｔ勧告Ｈ．２２２．０、２０１２年６月版である。本仕様は、ＡＶＣおよびＡＶＣ拡張のサポートを行う。
【００２５】
[0033]ＨＥＶＣについてのＭＰＥＧ−２  ＴＳの改正が開発された。最新の文書は、ＭＰＥＧ文書ｗ１３６５６、２０１３年７月中の「Ｔｅｘｔ  ｏｆ  ＩＳＯ／ＩＥＣ１３８１８−１：２０１３／Ｆｉｎａｌ  Ｄｒａｆｔ  Ａｍｅｎｄｍｅｎｔ  ３−Ｔｒａｎｓｐｏｒｔ  ｏｆ  ＨＥＶＣ  ｖｉｄｅｏ  ｏｖｅｒ  ＭＰＥＧ−２  Ｓｙｓｔｅｍｓ」である。最近、階層化されたＨＥＶＣの搬送についてのＭＰＥＧ−２  ＴＳの改正が開始された。最新の文書は、ＭＰＥＧ文書ｗ１４５６２、２０１４年７月中の「Ｔｅｘｔ  ｏｆ  ＩＳＯ／ＩＥＣ１３８１８−１：２０１３／Ｓｔｕｄｙ  ｏｆ  ＰＤＡＭ  ７−Ｃａｒｒｉａｇｅ  ｏｆ  Ｌａｙｅｒｅｄ  ＨＥＶＣ」であり、本文書ではＬ−ＨＥＶＣ  ＴＳドラフトと呼ぶことにする。ＨＥＶＣ拡張の搬送のためのＭＰＥＧ−２  ＴＳの設計の一例は、２０１４年１月８日に出願された米国仮特許出願番号第６１／９２５，１９１号に記載されており、参照により本明細書に組み込まれる。ＨＥＶＣ拡張の搬送のためのＭＰＥＧ−２  ＴＳの設計の別の例は、２０１４年７月１６日に出願された米国仮特許出願番号第６２／０２５，４３２号に記載されている。
【００２６】
[0034]ＭＰＥＧ−２システム仕様には、デジタル送信または記憶に好適な単一のデータストリームを形成するために、圧縮マルチメディア（ビデオおよび／またはオーディオ）データストリームが他のデータとともにどのように多重化され得るかが記載されている。ＭＰＥＧ−２システムは、プログラム（ｐｒｏｇｒａｍ）（「プログラム（ｐｒｏｇｒａｍｍｅ）」とつづられることもある）の単一の、デジタル的にコーディングされた（場合によってはＭＰＥＧ圧縮された）構成要素であるエレメンタリストリームについて記載する。たとえば、プログラムのコーディングされたビデオまたはオーディオ部分はエレメンタリストリームであり得る。エレメンタリストリームは、第一に、プログラムストリームまたはトランスポートストリームに多重化される前に、パケット化エレメンタリストリーム（ＰＥＳ）に変換される。同じプログラム内では、１つのエレメンタリストリームに属するＰＥＳパケットを別のものと区別するためにｓｔｒｅａｍ＿ｉｄシンタックス要素が使用される。
【００２７】
[0035]プログラムストリームとトランスポートストリームとは、異なるアプリケーションをターゲットにする２つの代替多重化である。プログラムストリームは、デジタルストレージサービスからの単一のプログラムの記憶および表示のためにバイアスされ、プログラムストリームは、誤りが起こりやすいので、誤りのない環境での使用を目的とする。プログラムストリームは、それに属するエレメンタリストリームを含み、通常、可変長のパケットをもつパケットを含んでいる。プログラムストリームでは、寄与しているエレメンタリストリームから導出されたＰＥＳパケットが「パック（packs）」に編成される。パックは、パックヘッダと、随意のシステムヘッダと、寄与しているエレメンタリストリームのいずれかから取られる任意の数のＰＥＳパケットとを任意の順序で含む。システムヘッダは、プログラムストリームの最大データレート、寄与しているビデオおよびオーディオエレメンタリストリームの数、さらなるタイミング情報など、プログラムストリームの特性の概要を含んでいる。デコーダは、デコーダがプログラムストリームを復号することが可能であるか否かを決定するために、システムヘッダ中に含まれている情報を使用し得る。
【００２８】
[0036]トランスポートストリームは、潜在的に誤りを起こしやすいチャネルを介したいくつかのプログラムの同時配信を目的とする。それは、単一のトランスポートストリームが多くの独立したプログラムに適応することができるように、ブロードキャストなどのマルチプログラムアプリケーションのために考案された多重化である。
【００２９】
[0037]トランスポートストリームは、トランスポートパケットの連続を含み、トランスポートパケットの各々は、１８８バイトの長さがある。短い、固定長パケットの使用は、トランスポートストリームはプログラムストリームよりも誤りが起こりにくいことを意味する。さらに、各長さ１８８バイトのトランスポートパケットは、リードソロモン符号化などの標準誤り防止プロセスを通してそれを処理することによって追加の誤り保護を容易に与えられる。トランスポートストリームの誤り耐性の改善は、たとえば、ブロードキャスト環境において発見されるべき、誤りを起こしやすいチャネルを克服する可能性がより高いことを意味する。
【００３０】
[0038]トランスポートストリームは、それの誤り耐性の向上と多くの同時プログラムを搬送する能力との点で２つの多重化のうち明らかにより良いものであるように見えることがある。ただし、トランスポートストリームは、プログラムストリームよりもさらに高度な多重化であり、したがって、作成および多重分離を行うのがより困難である。
【００３１】
[0039]トランスポートパケットの最初のバイトは同期バイトであり、０ｘ４７（すなわち、１６進値の４７または０１００  ０１１１）である。単一のトランスポートストリームは、各々が多くのパケット化エレメンタリストリームを備える多くの異なるプログラムを搬送し得る。１つのエレメンタリストリームのデータを含んでいるトランスポートパケットを、他のエレメンタリストリームのデータを搬送しているものと区別するために、１３ビットパケット識別子（ＰＩＤ）フィールドが使用される。各エレメンタリストリームが一意のＰＩＤ値を与えられることを保証することは、マルチプレクサの責任である。トランスポートパケットの最後のバイトは連続性カウントフィールドである。それは、同じエレメンタリストリームに属する連続するトランスポートパケットの間に増分される。これにより、デコーダが、トランスポートパケットの損失または利得を検出し、そうでない場合そのようなイベントから生じ得る誤りをうまくいけば隠匿することが可能になる。
【００３２】
[0040]トランスポートパケットがどのエレメンタリストリームに属するかをＰＩＤ値が明らかにするが、デコーダはまた、どのエレメンタリストリームがどのプログラムに属するかを決定することが必要であり得る。プログラム固有情報は、プログラムと構成要素エレメンタリストリームとの関係を明示的に指定するために使用される。プログラム固有情報は、プログラムマップテーブル（ＰＭＴ：program map table）、プログラムストリームマップ（ＰＳＭ：program stream map）、プログラム関連付けテーブル（ＰＡＴ：program association table）、ネットワーク情報テーブル（ＮＩＴ：network information table）、および／または限定アクセステーブル（ＣＡＴ：conditional access table）を含み得る。
【００３３】
[0041]トランスポートストリーム中で搬送されるあらゆるプログラムは、それに関連するプログラムマップテーブルを有する。このテーブルは、プログラムとプログラムを形成するエレメンタリストリームとに関する詳細を与える。たとえば、ＰＩＤ３３をもつビデオと、ＰＩＤ５７をもつ英語のオーディオと、ＰＩＤ６０をもつ中国語のオーディオとを含んでいる、番号３をもつプログラムがあり得る。ＰＭＴが２つ以上のプログラムを含むことが許可される。基本プログラムマップテーブルは、ＭＰＥＧ−２システム仕様内で指定された多くの記述子のうちのいくつかで装飾され得る。記述子は、プログラムまたはそれの構成要素エレメンタリストリームに関するさらなる情報を搬送する。記述子は、たとえば、ビデオ符号化パラメータ、オーディオ符号化パラメータ、言語識別情報、パンアンドスキャン情報、限定アクセス詳細、著作権情報などを含み得る。放送事業者または他のユーザは、必要な場合、追加のプライベート記述子を定義し得る。ビデオに関する構成要素エレメンタリストリーム中には、階層的コード化ビデオ、オーディオ、およびプライベートストリームの構成要素を含んでいるプログラム要素を識別する情報を与える階層記述子もある。
【００３４】
[0042]ＰＳＭは、プログラムストリーム中のエレメンタリストリームと、互いのそれらの関係の説明とを与える。トランスポートストリーム中で搬送されるとき、この構造は、ＭＰＥＧ−２システム仕様に従って変更されないことになる。ＰＳＭは、ｓｔｒｅａｍ＿ｉｄ値が０ｘＢＣ（１６進値ＢＣまたは１０１１  １１００）であるときにＰＥＳパケットとして存在する。
【００３５】
[0043]トランスポートストリーム中で利用可能なすべてのプログラムの完全なリストは、プログラム関連付けテーブル中に維持される。このテーブルは、ＰＩＤ値０を常に有するので、容易に発見され得る。各プログラムは、それのプログラムマップテーブルを含んでいるトランスポートパケットのＰＩＤ値とともにリストされる。上述の同じ例を使用して、プログラム番号３のエレメンタリストリームを指定するＰＭＴはＰＩＤ１００１を有し、別のＰＭＴは別のＰＩＤ１００２を有する。情報のこのセットは、ＰＡＴ中に含まれる。
【００３６】
[0044]ＰＡＴ中に指定されるプログラム番号０は特殊な意味を有する。このプログラムは、ネットワーク情報テーブルへの順路をポイントするために使用される。ＮＩＴは、随意である。存在するとき、ＮＩＴは、チャネル周波数、衛星トランスポンダ詳細、変調特性、サービス発信者、サービス名称、および利用可能な代替ネットワークの詳細など、トランスポートストリームを搬送する物理ネットワークに関する情報を与えることを目的とする。
【００３７】
[0045]トランスポートストリーム内のいずれかのエレメンタリストリームがスクランブルされた場合、限定アクセステーブルは、ＭＰＥＧ−２システム仕様に従って存在しなければならない。ＣＡＴは、使用中の（１つまたは複数の）スクランブリングシステムの詳細を与え、限定アクセス管理および資格情報を含んでいるトランスポートパケットのＰＩＤ値を与える。この情報のフォーマットは、ＭＰＥＧ−２システム仕様内で規定されていない。
【００３８】
[0046]ＭＰＥＧ−２  ＴＳでは、階層記述子は、異なるエレメンタリストリーム中でサブビットストリームの階層をシグナリングするように設計されている。階層記述子は、階層的コード化ビデオ、オーディオ、およびプライベートストリームの構成要素を含んでいるプログラム要素を識別する情報を与える。ＭＰＥＧ−２システム仕様の表２−４９を以下に再現する。より詳細に説明するように、いくつかの例では、本開示は、改善された階層記述子と、直下に示す表２−４９の更新とについて説明する。改善された階層記述子についての更新された表２−４９については、以下でさらにより詳細に説明する。
【００３９】
【表１】
0006594967.tif 000002
【００４０】
[0047]ＭＰＥＧ−２システムの表２−４９のシンタックス要素についてのセマンティクス（semantics）を以下に与える。
【００４１】
[0048]ｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームのフレームレートを拡張することを示す。このフラグの「１」の値は予約済みである。
【００４２】
[0049]ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームの空間解像度（spatial resolution）を拡張することを示す。このフラグの「１」の値は予約済みである。
【００４３】
[0050]ｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームのＳＮＲ品質または忠実度（fidelity）を拡張することを示す。このフラグの「１」の値は予約済みである。
【００４４】
[0051]ｈｉｅｒａｒｃｈｙ＿ｔｙｐｅ−関連する階層レイヤとそれの階層埋め込み済みレイヤの階層関係が表２−５０において定義されている。スケーラビリティが２つ以上の次元に適用される場合、このフィールドは、「８」の値（「合成スケーラビリティ」）に設定されることになり、フラグｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇおよびｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇはそれに応じて設定されることになる。ＭＶＣビデオサブビットストリームの場合、このフィールドは、「９」の値（「ＭＶＣビデオサブビットストリーム」）に設定されることになり、フラグｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇおよびｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになる。ＭＶＣベースビューサブビットストリームの場合、このフィールドは、「１５」の値に設定されることになり、フラグｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇおよびｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになる。
【００４５】
[0052]ｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘ−ｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘは、コーディングレイヤ階層のテーブルにおいて関連するプログラム要素の一意のインデックスを定義する６ビットフィールドである。インデックスは、シングルプログラム定義内で一意になることになる。Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の付属書類Ｇにおいて規定されている１つまたは複数のプロファイルに準拠するＡＶＣビデオストリームのビデオサブビットストリームの場合、これは、同じアクセスユニットのビデオサブビットストリームの関連するＳＶＣ依存性表現がｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘの昇順で再アセンブルされた場合にビットストリーム順序が正しくなるように割り当てられるプログラム要素インデックスである。Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の付属書類Ｈにおいて規定されている１つまたは複数のプロファイルに準拠するＡＶＣビデオストリームのＭＶＣビデオサブビットストリームの場合、これは、同じアクセスユニットのＭＶＣビデオサブビットストリームの関連するＭＶＣビュー構成要素サブセットがｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘの昇順で再アセンブルされた場合にビットストリーム順序が正しくなるように割り当てられるプログラム要素インデックスである。
【００４６】
[0053]ｔｒｅｆ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、ＴＲＥＦフィールドが関連するエレメンタリストリーム中のＰＥＳパケットヘッダ中に存在し得ることを示す。このフラグの「１」の値は予約済みである。
【００４７】
[0054]ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘ−ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘは、復号順序でこのｈｉｅｒａｒｃｈｙ＿ｄｅｓｃｒｉｐｔｏｒに関連するエレメンタリストリームの復号の前にアクセスされ、存在する必要があるプログラム要素のｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘを定義する６ビットフィールドである。ｈｉｅｒａｒｃｈｙ＿ｔｙｐｅ値が１５である場合、このフィールドは未定義になる。
【００４８】
[0055]ｈｉｅｒａｒｃｈｙ＿ｃｈａｎｎｅｌ−ｈｉｅｒａｒｃｈｙ＿ｃｈａｎｎｅｌは、送信チャネルの順序セットにおいて関連するプログラム要素のための意図されたチャネル番号を示す６ビットフィールドである。最もロバスト（robust）な送信チャネルは、全体的な送信階層定義に関して、このフィールドの最低値によって定義される。所与のｈｉｅｒａｒｃｈｙ＿ｃｈａｎｎｅｌは、いくつかのプログラム要素に同時に割り当てられ得る。
【００４９】
[0056]ＭＰＥＧ−２システム仕様の表２−５０を直下に再現する。いくつかの例では、本開示は、表２−５０の更新について改善された階層記述子の説明の一部として説明する。更新された表２−５０については、以下でさらにより詳細に説明する。
【００５０】
【表２】
0006594967.tif 000003
【００５１】
[0057]ＭＰＥＧ−２  ＴＳでは、ＳＶＣ拡張記述子とＭＶＣ拡張記述子との２つの記述子が、それぞれＳＶＣとＭＶＣとのためのサブビットストリームの特性をシグナリングするように設計されている。ＳＶＣおよびＭＶＣは、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣのスケーラブルビデオコーディングおよびマルチビュービデオコーディング拡張である。さらに、ＭＰＥＧ−２  ＴＳでは、動作点の特性を記述するＭＶＣ動作点記述子がある。３つの記述子のシンタックスおよびセマンティクスを以下に与える。
【００５２】
[0058]以下の表２−９６に、ＭＰＥＧ−２システムのＳＶＣ拡張記述子のためのシンタックス要素を示す。Ｒｅｃ．ＩＴＵ  Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の付属書類Ｇにおいて規定されている１つまたは複数のプロファイルに準拠するＡＶＣビデオストリームのビデオサブビットストリームの場合、表２−９６のＳＶＣ拡張記述子は、（最大）関連するビデオサブビットストリームを再アセンブルすることから生じるＡＶＣビデオストリームに関する情報を与え、関連するビデオサブビットストリームのスケーラビリティおよび再アセンブリに関する情報を与える。Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６−１０の付属書類Ｇにおいて規定されている１つまたは複数のプロファイルに準拠するＡＶＣビデオストリームのビデオサブビットストリームのいずれかに関連する１つのＳＶＣ拡張記述子があり得る。
【００５３】
【表３】
0006594967.tif 000004
【００５４】
[0059]ＭＰＥＧ−２システム仕様による表２−９６のシンタックス要素についてのセマンティクスを以下に与える。
【００５５】
[0060]ｗｉｄｔｈ−この１６ビットフィールドは、再アセンブルされたＡＶＣビデオストリームのピクセル単位での最大画像幅解像度を示す。
【００５６】
[0061]ｈｅｉｇｈｔ−この１６ビットフィールドは、再アセンブルされたＡＶＣビデオストリームのピクセル単位での最大画像高さ解像度を示す。
【００５７】
[0062]ｆｒａｍｅ＿ｒａｔｅ−この１６ビットフィールドは、再アセンブルされたＡＶＣビデオストリームのフレーム／２５６秒単位での最大フレームレートを示す。
【００５８】
[0063]ａｖｅｒａｇｅ＿ｂｉｔｒａｔｅ−この１６ビットフィールドは、再アセンブルされたＡＶＣビデオストリームのキロビット毎秒単位での平均ビットレートを示す。
【００５９】
[0064]ｍａｘｉｍｕｍ＿ｂｉｔｒａｔｅ−この１６ビットフィールドは、再アセンブルされたＡＶＣビデオストリームのキロビット毎秒単位での最大ビットレートを示す。
【００６０】
[0065]ｄｅｐｅｎｄｅｎｃｙ＿ｉｄ−この３ビットフィールドは、ビデオサブビットストリームに関連するｄｅｐｅｎｄｅｎｃｙ＿ｉｄの値を示す。
【００６１】
[0066]ｑｕａｌｉｔｙ＿ｉｄ＿ｓｔａｒｔ−この４ビットフィールドは、関連するビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのＮＡＬユニットヘッダシンタックス要素のｑｕａｌｉｔｙ＿ｉｄの最小値を示す。
【００６２】
[0067]ｑｕａｌｉｔｙ＿ｉｄ＿ｅｎｄ−この４ビットフィールドは、関連するビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのＮＡＬユニットヘッダシンタックス要素のｑｕａｌｉｔｙ＿ｉｄの最大値を示す。
【００６３】
[0068]ｔｅｍｐｏｒａｌ＿ｉｄ＿ｓｔａｒｔ−この３ビットフィールドは、関連するビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのＮＡＬユニットヘッダシンタックス要素のｔｅｍｐｏｒａｌ＿ｉｄの最小値を示す。
【００６４】
[0069]ｔｅｍｐｏｒａｌ＿ｉｄ＿ｅｎｄ−この３ビットフィールドは、関連するビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのＮＡＬユニットヘッダシンタックス要素のｔｅｍｐｏｒａｌ＿ｉｄの最大値を示す。
【００６５】
[0070]ｎｏ＿ｓｅｉ＿ｎａｌ＿ｕｎｉｔ＿ｐｒｅｓｅｎｔ−この１ビットフラグは、「１」に設定されると、ＳＥＩ  ＮＡＬユニットが関連するビデオサブビットストリーム中に存在しないことを示す。ｎｏ＿ｓｅｉ＿ｎａｌ＿ｕｎｉｔ＿ｐｒｅｓｅｎｔフラグが、すべてのＳＶＣビデオサブビットストリームについて「１」に設定され、ＳＶＣのＡＶＣビデオサブビットストリームについて「１」に設定されていないか、または存在しない場合、存在する場合は任意のＳＥＩ  ＮＡＬユニットがＳＶＣのＡＶＣビデオサブビットストリーム中に含まれる。すべてのビデオサブビットストリームについてＳＶＣ拡張記述子がない場合、ＳＥＩ  ＮＡＬユニットは、ＳＶＣビデオサブビットストリームのいずれかのＳＶＣ依存表現中に存在し得、アクセスユニットが再アセンブルする前にＲｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６−１０において規定されているようにアクセスユニット内でＮＡＬユニットの順序に並べ替えることを必要とし得る。
【００６６】
[0071]以下の表２−９７は、ＭＰＥＧ−２システム仕様のＭＶＣ拡張記述子についてのシンタックスを与える。Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の付属書類Ｈにおいて規定されている１つまたは複数のプロファイルに準拠するＡＶＣビデオストリームのＭＶＣビデオサブビットストリームの場合、ＭＶＣ拡張記述子は、（最大）関連するＭＶＣビデオサブビットストリームを再アセンブルすることから生じるＡＶＣビデオストリームに関する情報を与え、含まれているＭＶＣビデオサブビットストリームに関する情報と関連するＭＶＣビデオサブビットストリームの再アセンブリについての情報を与える。Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６  １０の付属書類Ｈにおいて規定されている１つまたは複数のプロファイルに準拠するＡＶＣビデオストリームの（ｓｔｒｅａｍ＿ｔｙｐｅが０ｘ２０に等しい）ＭＶＣビデオサブビットストリームのいずれかに関連する１つのＭＶＣ拡張記述子があり得る。ＭＶＣビデオサブビットストリームがＭＶＣベースビューサブビットストリームであるとき、ＭＶＣ拡張記述子は、０ｘ１Ｂに等しいｓｔｒｅａｍ＿ｔｙｐｅについて、関連するＰＭＴまたはＰＳＭ中に存在することになる。
【００６７】
【表４】
0006594967.tif 000005
【００６８】
[0072]ＭＰＥＧ−２システム仕様による表２−９７のシンタックス要素についてのセマンティクスを以下に与える。
【００６９】
[0073]ａｖｅｒａｇｅ＿ｂｉｔｒａｔｅ−この１６ビットフィールドは、再アセンブルされたＡＶＣビデオストリームのキロビット毎秒単位での平均ビットレートを示す。０に設定されたときに、平均ビットレートは示されない。
【００７０】
[0074]ｍａｘｉｍｕｍ＿ｂｉｔｒａｔｅ−この１６ビットフィールドは、再アセンブルされたＡＶＣビデオストリームのキロビット毎秒単位での最大ビットレートを示す。０に設定されたときに、最大ビットレートは示されない。
【００７１】
[0075]ｖｉｅｗ＿ｏｒｄｅｒ＿ｉｎｄｅｘ＿ｍｉｎ−この１０ビットフィールドは、関連するＭＶＣビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのビュー順序インデックスの最小値を示す。
【００７２】
[0076]ｖｉｅｗ＿ｏｒｄｅｒ＿ｉｎｄｅｘ＿ｍａｘ−この１０ビットフィールドは、関連するＭＶＣビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのビュー順序インデックスの最大値を示す。
【００７３】
[0077]ｔｅｍｐｏｒａｌ＿ｉｄ＿ｓｔａｒｔ−この３ビットフィールドは、関連するＭＶＣビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのＮＡＬユニットヘッダシンタックス要素のｔｅｍｐｏｒａｌ＿ｉｄの最小値を示す。
【００７４】
[0078]ｔｅｍｐｏｒａｌ＿ｉｄ＿ｅｎｄ−この３ビットフィールドは、関連するＭＶＣビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのＮＡＬユニットヘッダシンタックス要素のｔｅｍｐｏｒａｌ＿ｉｄの最大値を示す。
【００７５】
[0079]ｎｏ＿ｓｅｉ＿ｎａｌ＿ｕｎｉｔ＿ｐｒｅｓｅｎｔ−この１ビットフラグは、「１」に設定されると、ＳＥＩ  ＮＡＬユニットが関連するビデオサブビットストリーム中に存在しないことを示す。ｎｏ＿ｓｅｉ＿ｎａｌ＿ｕｎｉｔ＿ｐｒｅｓｅｎｔフラグが、すべてのＭＶＣビデオサブビットストリームについて「１」に設定され、ＭＶＣのＡＶＣビデオサブビットストリームについて「１」に設定されていないか、または存在しない場合、存在する場合、任意のＳＥＩ  ＮＡＬユニットがＭＶＣのＡＶＣビデオサブビットストリーム中に含まれる。すべてのＭＶＣビデオサブビットストリームについてＭＶＣ拡張記述子がない場合、ＳＥＩ  ＮＡＬユニットは、ＭＶＣビデオサブビットストリームのいずれかのＭＶＣビュー構成要素サブセット中に存在し得、アクセスユニットが再アセンブルする前にＲｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６−１０において規定されているようにアクセスユニット内でＮＡＬユニットの順序に並べ替えることを必要とし得る。
【００７６】
[0080]ｎｏ＿ｐｒｅｆｉｘ＿ｎａｌ＿ｕｎｉｔ＿ｐｒｅｓｅｎｔ−この１ビットフラグは、「１」に設定されると、プレフィックスＮＡＬユニットがＭＶＣのＡＶＣビデオサブビットストリームまたはＭＶＣビデオサブビットストリームのいずれかの中に存在しないことを示す。このビットが「０」に設定されると、プレフィックスＮＡＬユニットがＭＶＣのＡＶＣビデオサブビットストリーム中にのみ存在することを示す。
【００７７】
[0081]以下の表２−１００は、ＭＰＥＧ−２システム仕様のＭＶＣ動作点記述子についてのシンタックスを与える。ＭＶＣ動作点記述子（表２−１００を参照）は、各々が１つまたは複数のＭＶＣビデオサブビットストリームのセットによって構成される１つまたは複数の動作点のためのプロファイルおよびレベルを示す方法を与える。存在する場合、ＭＶＣ動作点記述子は、ｐｒｏｇｒａｍ＿ｍａｐ＿ｓｅｃｔｉｏｎ中のｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後のデータ要素のグループ中に含まれることになる。ＭＶＣ動作点記述子がプログラム記述内に存在する場合、同じプログラム中に存在するＭＶＣビデオサブビットストリームごとに少なくとも１つの階層記述子が存在することになる。ＭＰＥＧ−２システム仕様によれば、異なるプロファイルを示すために、プロファイルごとに１つのＭＶＣ動作点記述子が使用される。
【００７８】
【表５】
0006594967.tif 000006
【００７９】
[0082]ＭＰＥＧ−２システム仕様による表２−１００のシンタックス要素についてのセマンティクスを以下に与える。
【００８０】
[0083]ｐｒｏｆｉｌｅ＿ｉｄｃ−この８ビットフィールドは、Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６−１０において規定されているように、ＭＶＣビットストリームについてこの記述子内で記述されるすべての動作点のプロファイルを示す。
【００８１】
[0084]ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ０＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ１＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ２＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ３＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ４＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ５＿ｆｌａｇ−これらのフィールドは、Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６−１０において規定されているこれらのフィールドについてのセマンティクスに従ってコーディングされることになる。
【００８２】
[0085]ＡＶＣ＿ｃｏｍｐａｔｉｂｌｅ＿ｆｌａｇｓ−ＡＶＣ＿ｃｏｍｐａｔｉｂｌｅ＿ｆｌａｇｓのセマンティクスは、Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６−１０において規定されているように、シーケンスパラメータセット中のｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ２フラグとｌｅｖｅｌ＿ｉｄｃフィールドとの間の２ビットに対して定義されるフィールドのセマンティクスに正確に等しくなる。
【００８３】
[0086]ｌｅｖｅｌ＿ｃｏｕｎｔ−この８ビットフィールドは、動作点が記述されるレベルの数を示す。
【００８４】
[0087]ｌｅｖｅｌ＿ｉｄｃ−この８ビットフィールドは、Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６−１０において規定されているように、データ要素の以下のグループによって記述される動作点のためのＭＶＣビットストリームのレベルを示す。
【００８５】
[0088]ｏｐｅｒａｔｉｏｎ＿ｐｏｉｎｔｓ＿ｃｏｕｎｔ−この８ビットフィールドは、データ要素の以下のグループ中に含まれるリストによって記述される動作点の数を示す。
【００８６】
[0089]ａｐｐｌｉｃａｂｌｅ＿ｔｅｍｐｏｒａｌ＿ｉｄ−この３ビットフィールドは、再アセンブルされたＡＶＣビデオストリーム中のＶＣＬ  ＮＡＬユニットのｔｅｍｐｏｒａｌ＿ｉｄの最高値を示す。
【００８７】
[0090]ｎｕｍ＿ｔａｒｇｅｔ＿ｏｕｔｐｕｔ＿ｖｉｅｗｓ−この８ビットフィールドは、関連する動作点のための出力の対象とされるビューの数の値を示す。
【００８８】
[0091]ＥＳ＿ｃｏｕｎｔ−この８ビットフィールドは、データ要素の以下のグループ中に含まれるＥＳ＿ｒｅｆｅｒｅｎｃｅ値の数を示す。データ要素の以下のグループ中で示されるエレメンタリストリームは一緒に、ＭＶＣビデオビットストリームの動作点を形成する。値０ｘｆｆは予約済みである。
【００８９】
[0092]ＥＳ＿ｒｅｆｅｒｅｎｃｅ−この６ビットフィールドは、ビデオサブビットストリームを識別する階層記述子中に存在する階層レイヤインデックス値を示す。単一の動作点のためのプロファイルおよびレベル、たとえば、ＭＶＣビデオビットストリーム全体は、ＡＶＣビデオ記述子を使用してシグナリングされ得る。その上、ＭＶＣは、異なるプロファイルおよび／またはレベルを必要とすることができる異なるビューサブセットを復号することを可能にする。ＭＶＣ動作点記述子の仕様は、複数の動作点のための異なるプロファイルおよびレベルの指示をサポートする。
【００９０】
[0093]以下の表Ａｍｄ７−１は、ＭＰＥＧ−２システム仕様によるＨＥＶＣビデオ記述子についてのシンタックスを与える。ＨＥＶＣビデオストリームの場合、ＨＥＶＣビデオ記述子は、そのＨＥＶＣビデオストリームの、プロファイルおよびレベルパラメータなどのコーディングパラメータを識別するための基本情報を与える。ＨＥＶＣ時間ビデオサブビットストリームまたはＨＥＶＣ時間ビデオサブセットの場合、ＨＥＶＣビデオ記述子は、それが適用されるエレメンタリストリーム中に含まれている関連するＨＥＶＣ最高時間サブレイヤ表現などの情報を与える。
【００９１】
[0094]Ｌ−ＨＥＶＣ  ＴＳドラフトでは、プロファイル、ティア、およびレベル（ＰＴＬ）情報および動作点情報は、ＨＥＶＣ拡張記述子およびＨＥＶＣ動作点記述子中でシグナリングされる。
【００９２】
【表６】
0006594967.tif 000007
【００９３】
[0095]ＭＰＥＧ−２システム仕様による表Ｘ−１のシンタックス要素についてのセマンティクスを以下に与える。
【００９４】
[0096]ｐｒｏｆｉｌｅ＿ｓｐａｃｅ、ｔｉｅｒ＿ｆｌａｇ、ｐｒｏｆｉｌｅ＿ｉｄｃ、ｐｒｏｆｉｌｅ＿ｃｏｍｐａｔｉｂｉｌｉｔｙ＿ｉｎｄｉｃａｔｉｏｎ、ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｏｕｒｃｅ＿ｆｌａｇ、ｉｎｔｅｒｌａｃｅｄ＿ｓｏｕｒｃｅ＿ｆｌａｇ、ｎｏｎ＿ｐａｃｋｅｄ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ、ｆｒａｍｅ＿ｏｎｌｙ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ、ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿４４ｂｉｔｓ、ｌｅｖｅｌ＿ｉｄｃ−ＨＥＶＣビデオ記述子が、ＨＥＶＣビデオストリームまたはＨＥＶＣ完全時間表現に適用されるとき、これらのフィールドは、対応するＨＥＶＣビデオストリームまたはＨＥＶＣ完全時間表現について、それぞれ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅ、ｇｅｎｅｒａｌ＿ｔｉｅｒ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｉｄｃ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｃｏｍｐａｔｉｂｉｌｉｔｙ＿ｆｌａｇ［ｉ］、ｇｅｎｅｒａｌ＿ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｏｕｒｃｅ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｉｎｔｅｒｌａｃｅｄ＿ｓｏｕｒｃｅ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｎｏｎ＿ｐａｃｋｅｄ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｆｒａｍｅ＿ｏｎｌｙ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿４４ｂｉｔｓ、ｇｅｎｅｒａｌ＿ｌｅｖｅｌ＿ｉｄｃについてＲｅｃ．ＩＴＵ−Ｔ  Ｈ．２６５｜ＩＳＯ／ＩＥＣ  ２３００８−２において規定されているセマンティクスに従ってコーディングされたることになり、ＨＥＶＣビデオ記述子が関連付けられるＨＥＶＣビデオストリームまたはＨＥＶＣ完全時間表現全体は、これらのフィールドによってシグナリングされる情報に準拠することになる。
【００９５】
[0097]ＨＥＶＣビデオ記述子は、対応するＨＥＶＣ最高時間サブレイヤ表現がＨＥＶＣ完全時間表現でないＨＥＶＣ時間ビデオサブビットストリームまたはＨＥＶＣ時間ビデオサブセットに適用されるとき、これらのフィールドは、対応するＨＥＶＣ最高時間サブレイヤ表現について、それぞれ、ｓｕｂ＿ｌａｙｅｒ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅ、ｓｕｂ＿ｌａｙｅｒ＿ｔｉｅｒ＿ｆｌａｇ、ｓｕｂ＿ｌａｙｅｒ＿ｐｒｏｆｉｌｅ＿ｉｄｃ、ｓｕｂ＿ｌａｙｅｒ＿ｐｒｏｆｉｌｅ＿ｃｏｍｐａｔｉｂｉｌｉｔｙ＿ｆｌａｇ［ｉ］、ｓｕｂ＿ｌａｙｅｒ＿ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｏｕｒｃｅ＿ｆｌａｇ、ｓｕｂ＿ｌａｙｅｒ＿ｉｎｔｅｒｌａｃｅｄ＿ｓｏｕｒｃｅ＿ｆｌａｇ、ｓｕｂ＿ｌａｙｅｒ＿ｎｏｎ＿ｐａｃｋｅｄ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ、ｓｕｂ＿ｌａｙｅｒ＿ｆｒａｍｅ＿ｏｎｌｙ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ、ｓｕｂ＿ｌａｙｅｒ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿４４ｂｉｔｓ、ｓｕｂ＿ｌａｙｅｒ＿ｌｅｖｅｌ＿ｉｄｃについてＲｅｃ．ＩＴＵ−Ｔ  Ｈ．２６５｜ＩＳＯ／ＩＥＣ  ２３００８−２において規定セマンティクスに従ってコーディングされることになり、ＨＥＶＣビデオ記述子が関連付けられるＨＥＶＣ最高時間サブレイヤ表現全体は、これらのフィールドによってシグナリングされる情報に準拠することになる。
【００９６】
[0098]ＨＥＶＣビデオストリーム中の１つまたは複数のシーケンスにおいて、レベルは、ＨＥＶＣビデオ記述子中でシグナリングされるレベルよりも低くなり得、一方、ＨＥＶＣビデオ記述子中でシグナリングされるプロファイルのサブセットであるプロファイルも生じ得る。ただし、ＨＥＶＣビデオストリーム全体において、存在する場合、ＨＥＶＣビデオ記述子中でシグナリングされるプロファイル中に含まれる、ビットストリームシンタックス全体のサブセットのみが使用されることになる。ＨＥＶＣビデオストリーム中のシーケンスパラメータセットが異なるプロファイルをシグナリンスし、追加の制約がシグナリングされない場合、ストリームは、ストリーム全体が、もしあれば、どのプロファイルに準拠するかを決定する審査を必要とし得る。ＨＥＶＣビデオ記述子が、単一のプロファイルに準拠しないＨＥＶＣビデオストリームに関連付けられるべきである場合、ＨＥＶＣビデオストリームは、２つ以上のサブストリームに区分されるべきであり、したがって、ＨＥＶＣビデオ記述子は、そのようなサブストリームごとに単一のプロファイルをシグナリングすることができる。
【００９７】
[0099]ｔｅｍｐｏｒａｌ＿ｌａｙｅｒ＿ｓｕｂｓｅｔ＿ｆｌａｇ−この１ビットフラグは、「１」に設定されると、時間レイヤのサブセットを記述するシンタックス要素がこの記述子中に含まれることを示す。このフィールドは、ＨＥＶＣ時間ビデオサブセットについて、およびＨＥＶＣ時間ビデオサブビットストリームについて１に設定されることになる。「０」に設定されると、シンタックス要素ｔｅｍｐｏｒａｌ＿ｉｄ＿ｍｉｎおよびｔｅｍｐｏｒａｌ＿ｉｄ＿ｍａｘは、この記述子中に含まれない。
【００９８】
[0100]ＨＥＶＣ＿ｓｔｉｌｌ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ−この１ビットフィールドは、「１」に設定されると、ＨＥＶＣビデオストリームまたはＨＥＶＣ最高時間サブレイヤ表現がＨＥＶＣ静止ピクチャを含み得ることを示す。「０」に設定されると、関連するＨＥＶＣビデオストリームはＨＥＶＣ静止ピクチャを含んでいないことになる。Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６５｜ＩＳＯ／ＩＥＣ  ２３００８−２によれば、ＩＤＲピクチャが常に０に等しいＴｅｍｐｏｒａｌＩｄ値に関連付けられ、したがって、ＨＥＶＣビデオ記述子が、ＨＥＶＣ時間ビデオサブセットに適用される場合、ＨＥＶＣ静止ピクチャは、関連するＨＥＶＣ時間ビデオサブビットストリーム中にのみ存在することができる。
【００９９】
[0101]ＨＥＶＣ＿２４＿ｈｏｕｒ＿ｐｉｃｔｕｒｅ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ−この１ビットフラグは、「１」に設定されると、関連するＨＥＶＣビデオストリームまたはＨＥＶＣ最高時間サブレイヤ表現がＨＥＶＣ２４時間ピクチャを含み得ることを示す。ＨＥＶＣ２４時間ピクチャの定義については、２．１．９７を参照されたい。このフラグが「０」に設定される場合、関連するＨＥＶＣビデオストリームは、いかなるＨＥＶＣ２４時間ピクチャをも含んでいないことになる。
【０１００】
[0102]ｔｅｍｐｏｒａｌ＿ｉｄ＿ｍｉｎ−この３ビットフィールドは、関連するエレメンタリストリーム中のすべてのＨＥＶＣアクセスユニットの、Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６５｜ＩＳＯ／ＩＥＣ  ２３００８−２において規定されているＴｅｍｐｏｒａｌＩｄの最小値を示す。
【０１０１】
[0103]ｔｅｍｐｏｒａｌ＿ｉｄ＿ｍａｘ−この３ビットフィールドは、関連するエレメンタリストリーム中のすべてのＨＥＶＣアクセスユニットの、Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６５｜ＩＳＯ／ＩＥＣ  ２３００８−２において規定されているＴｅｍｐｏｒａｌＩｄの最大値を示す。
【０１０２】
【表７】
0006594967.tif 000008
【０１０３】
[0104]２０１５年７月１５日に出願された、Ｈｅｎｄｒｙら、「ＴＲＡＮＳＰＯＲＴ  ＳＴＲＥＡＭ  ＦＯＲ  ＣＡＲＲＩＡＧＥ  ＯＦ  ＶＩＤＥＯ  ＣＯＤＩＮＧ  ＥＸＴＥＮＳＩＯＮＳ」の米国特許出願番号第１４／８００，４９８号は、ＨＥＶＣ拡張の搬送のためのＭＰＥＧ−２  ＴＳの設計に関する詳細について記載している。
【０１０４】
[0105]本開示の技法は、以下で説明する問題など、階層化されたＨＥＶＣビットストリームのレイヤ間の依存情報のために使用される記述子をシグナリングするための既存の技法に関するいくつかの問題を克服するために使用され得る。
【０１０５】
[0106]本開示は、階層記述子と階層拡張記述子との機能の重複を認識する。ＩＳＯ／ＩＥＣ１３８１８−１：２０１３／ＰＤＡＭ７の研究テキストでは、依存情報のシグナリングのための２つの記述子、すなわち、階層記述子と階層拡張記述子とがある。２つの記述子は、どちらも依存の空間、品質、およびマルチビュータイプを記述することが可能であるなど、重複する機能を有する。Ｌ−ＨＥＶＣ  ＴＳドラフトでは、両方の記述子が、存在し、同じエレメンタリストリームに関連付けられる可能性がある。これは、混乱をもたらし、規格の実装に不要な複雑さを追加することになる。
【０１０６】
[0107]階層記述子と階層拡張記述子とは、重複する機能を有するが、それらだけで、それらのどちらも、ＳＨＶＣおよびＭＶ−ＨＥＶＣ中のすべて可能なレイヤ間依存タイプを記述するために使用されないことがある。階層記述子は、補助ピクチャの依存を記述することが可能でなく、一方、階層拡張記述子は、時間依存を記述することが可能でない。
【０１０７】
[0108]本開示はまた、いつ階層拡張記述子が存在しなければならないのかについて欠落した（missing）記述があることを認識する。ＩＳＯ／ＩＥＣ１３８１８−１：２０１３／ＰＤＡＭ７の研究テキストでは、階層記述子または階層拡張記述子の存在は必須ではない。以下に、いつ階層記述子が存在しなければならないのかを記述するが、いつ階層拡張記述子が存在しなければならないのかについての記述はない
ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２２２．０｜ＩＳＯ／ＩＥＣ１３８１８−１プログラムが２つ以上のＨＥＶＣビデオ時間サブセット、または２つ以上のＨＥＶＣ時間ビデオサブビットストリームおよび少なくとも１つのＨＥＶＣビデオ時間サブセットまたは少なくとも１つのＨＥＶＣ拡張サブパーティションを含むとき、２．６．７において定義されている１つまたは複数の階層記述子は、０ｘ２４、０ｘ２５、または０ｘ２７〜０ｘ２Ａに等しいストリームタイプをもつすべての関連するエレメンタリストリームについて存在しなければならない。階層記述子は、すべてのＨＥＶＣ時間ビデオサブビットストリーム、ＨＥＶＣビデオ時間サブセットおよびＨＥＶＣサブパーティションの依存を示すために使用されなければならない。
【０１０８】
[0109]さらに、本開示は、階層記述子も階層拡張記述子も存在しないときにエレメンタリストリーム参照の欠落した記述があることを認識する。動作点のシグナリングについて、エレメンタリストリームへの参照は、階層記述子と階層拡張記述子との中でシグナリングされるｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘの値を使用して行われる。階層記述子と階層拡張記述子とのいずれもプログラム中に存在しないとき、動作点シグナリングのためのエレメンタリストリームへの参照がどのように解決されるのかについての記述はない。
【０１０９】
[0110]本開示はまた、プロファイル、ティア、およびレベル（ＰＴＬ）情報のシグナリングに関する問題があることを認識する。第９回ＪＣＴ３Ｖおよび第１８回ＪＣＴ−ＶＣ会合では、階層化されたＨＥＶＣビットストリーム（すなわち、ＳＨＶＣまたはＭＶ−ＨＥＶＣ）中の各レイヤについてＰＴＬ情報がシグナリングされるべきであると合意した。したがって、ＰＴＬ情報のすべてのシンタックスとセマンティクスとは、レイヤのために設計されている。一方、Ｌ−ＨＥＶＣ  ＴＳドラフトでは、各動作点中に含まれる各レイヤについてではなく各動作点についてＰＴＬ情報のシグナリングがシグナリングされる。Ｌ−ＨＥＶＣ  ＴＳドラフトでのシグナリングは、ＰＴＬ情報についての異なるシンタックスおよびセマンティクスを指定しないが、単に、ＳＨＶＣ／ＭＶ−ＨＥＶＣドラフト仕様において定義されているＰＴＬ情報のシンタックスおよびセマンティックを参照するので、そのようなシグナリングは、正しくない。
【０１１０】
[0111]本開示は、さらに、ＰＴＬ情報をシグナリングすることについての非効率があることを認識する。階層化されたＨＥＶＣビットストリーム中のレイヤは、１つまたは複数の動作点の一部であり得る。ＰＴＬ情報が動作点内のレイヤに関連付けられるべきであることを考慮すると、ＰＴＬ構造がＨＥＶＣ拡張記述子またはＨＥＶＣ動作点のいずれかを使用してシグナリングされる場合、同じＰＴＬ構造が繰り返しシグナリングされる可能性がある。したがって、同じ情報のシグナリングを繰り返すことを回避することによって、ＰＴＬ情報をシグナリングすることについての効率が改善されるべきである。
【０１１１】
[0112]さらに、本開示は、動作点シグナリングにおいてある情報が欠落していることを認識する。ＨＥＶＣ拡張記述子またはＨＥＶＣ動作点記述子のいずれかでの現在の動作点シグナリングは、関連する出力レイヤセットおよび区分方式の指示などの重要な情報がない。情報のこれらの２つの部分は、各動作点中のエレメンタリストリームのための適用可能なＨＲＤパラメータを決定するために重要である。Ｒｅｃ．ＩＴＵ−Ｔ  Ｈ．２６５｜ＩＳＯ／ＩＥＣ２３００８−２の付属書類Ｆにおいて指定されているように、パーティションのための適用可能なＨＲＤパラメータは、ｂｓｐ＿ｈｒｄ＿ｉｄｘの値によって決定され、これは、ターゲット出力レイヤセット（ＴａｒｇｅｔＯｌｓＩｄｘ）、区分方式（ＴａｒｇｅｔＰｓＩｄｘ）、最高時間ｉｄ（ＨｉｇｈｅｓｔＴｉｄ）、配信スケジュールインデックス（ＳｃｈｅｄＳｅｌＣｏｍｂＩｄｘ）へのインデックスならびにパーティション（ｐａｒｔｉｔｉｏｎＩｄｘ）へのインデックスによってインデックス付けされる。階層化されたＨＥＶＣビットストリームのトランスポートでは、ＨｉｇｈｅｓｔＴｉｄは、動作点の適用可能な／最大の時間ｉｄに基づいて割り当てられ、ＳｃｈｅｄＳｅｌＣｏｍｂＩｄｘは、ＨＥＶＣタイミングとＨＲＤ記述子とに記述されているＳｃｈｅｄＳｅｌＩｄｘに基づいて割り当てられ、ｐａｒｔｉｔｉｏｎＩｄｘは、サブパーティションのインデックスに基づいて割り当てられる。ただし、ＴａｒｇｅｔＯｌｓＩｄｘおよびＴａｒｇｅｔＰｓＩｄｘを割り当てるために使用され得るＩＳＯ／ＩＥＣ１３８１８−１：２０１３／ＰＤＡＭ７の研究テキスト内の任意の記述子中でシグナリング／導出される値はない。
【０１１２】
[0113]本開示はまた、プログラムについての欠落したプロファイル、欠落したティア、および／または欠落したレベル情報の可能性があることを認識する。Ｌ−ＨＥＶＣ  ＴＳドラフトの従属節２．１７．４中でのエレメンタリストリームのアグリゲーションについての記述によれば、ＨＥＶＣ拡張記述子とＨＥＶＣ動作点記述子との存在は必須ではない。ＨＥＶＣ拡張記述子もＨＥＶＣ動作点記述子も存在しないとき、プログラム中にエレメンタリストリームに関連するＰＴＬ情報はない。ＰＴＬ情報の存在は、２つの理由で重要である。第１に、ＰＴＬ情報は、システムネゴシエーション目的のために有用である。ＰＴＬ情報がトランスポートレベルで利用可能でないとき、システムエンティティ（たとえば、配信システムの中央のスマートミドルボックス）は、コーデックレベルまでルックダウンすることを強制され（すなわち、システムエンティティは、コーデックレベルからＰＴＬ情報を決定するために、トランスポートレベルからＰＴＬ情報を決定するために必要なリソースよりも多くのリソースを利用および／または消費しなければならず）、これは、負担である。第２に、ＨＲＤパラメータが存在しないとき、バッファモデルによってＰＴＬ情報が必要とされ得る。
【０１１３】
[0114]以下に、本開示による例について説明する。例示的技法は、一緒に、または別々に実装され得る。いくつかの例では、例示的な技法は、上記で説明した問題に対処し得る。ただし、上記で説明した問題に対処することは必要ではない。たとえば、本開示で説明する技法は、上記で説明した問題に対処すること、または必ずしも本開示で説明する利点を与えることに限定されると見なすべきではない。上記で説明した問題および潜在的な利点は、コンテキストのために、理解を手助けするために与えたものにすぎず、要件と見なすべきではない。
【０１１４】
[0115]本開示のいくつかの方法の概要を以下に与え、いくつかの例示的な技法の詳細な実装形態をさらに以下で与える。これらの例示的な技法のうちのいくつかは単独で適用され得、それらのうちのいくつかは組み合わせて適用され得る。
【０１１５】
[0116]いくつかの例では、既存のＨＥＶＣ拡張記述子とＨＥＶＣ動作点記述子とは１つの記述子（すなわち、単一の記述子）にマージされ得、この単一の記述子は名前「ＨＥＶＣ動作点記述子」を再使用し得る。このＨＥＶＣ動作点記述子は、以下の構成要素を有し得る。
【０１１６】
ａ．  ＰＴＬ構造のリスト。リスト中のＰＴＬ構造は、インデックスによって参照され、動作点のレイヤに関連付けられなければならない。
【０１１７】
ｂ．  動作点のリスト。各動作点は、以下の情報を含む
ｉ．  関連する出力レイヤセット
ｉｉ．  関連する区分方式
ｉｉｉ．  最高時間サブレイヤ
ｉｖ．  動作点を構成するエレメンタリストリームのリスト（すなわち、サブパーティション）
ｖ．  出力レイヤの数
ｖｉ．  動作点の各エレメンタリストリーム中に含まれているレイヤのＰＴＬとのマッピング
ｖｉｉ．  フレームレート情報
[0117]ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２２２．０｜ＩＳＯ／ＩＥＣ１３８１８−１プログラム内のエレメンタリストリーム間の依存が利用可能である（たとえば、階層記述子または階層拡張記述子中でシグナリングされる）とき、動作点を構成するエレメンタリストリームのリスト（すなわち、サブパーティション）は、エレメンタリストリームの最小数のみを含み得る。利用可能な依存情報を使用することによって、動作点を構成するエレメンタリストリームのリストはポピュレートされ（populated）得る。
【０１１８】
[0118]ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２２２．０｜ＩＳＯ／ＩＥＣ１３８１８−１プログラム内のエレメンタリストリーム間の依存が利用可能である（たとえば、階層記述子または階層拡張記述子中でシグナリングされる）とき、動作点を構成するエレメンタリストリームのリスト（すなわち、サブパーティション）は、動作点を構成するエレメンタリストリームの完全なリストを含む必要があり得る。
【０１１９】
[0119]一例では、動作点中で出力レイヤの数をシグナリングするのではなく、動作点中に含まれるの各レイヤについて、レイヤが出力レイヤであるか否かを示すためにフラグがシグナリングされる。代替的に、各レイヤについて出力レイヤの数と（それぞれのレイヤが出力レイヤであるかどうかを示す）フラグ指示との両方がシグナリングされ得る。
【０１２０】
[0120]ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２２２．０｜ＩＳＯ／ＩＥＣ１３８１８−１プログラムのために２つ以上のＨＥＶＣ動作点記述子が存在するとき、以下が適用され得る。第１に、（ｎ＋１）番目のＨＥＶＣ動作点記述子中でシグナリングされるＰＴＬ情報のリスト、ここで、ｎは、１から開始する、は、ｎ番目のＨＥＶＣ動作点記述子中でシグナリングされるＰＴＬ情報のリストの継続であり得る。第２に、（ｎ＋１）番目のＨＥＶＣ動作点記述子中でシグナリングされる動作点のリスト、ここで、ｎは、１で開始する、は、ｎ番目のＨＥＶＣ動作点記述子中でシグナリングされる動作点のリストの継続であり得る。言い換えれば、シグナリングされる２つ以上の連続するＨＥＶＣ動作点記述子からの情報は、単一の記述子を形成するために連結され得る。すなわち、同様の情報は、２つ以上の別個のＨＥＶＣ動作点記述子中でシグナリングされ得、この情報は、情報のすべてが単一の記述子中でシグナリングされたかのように連結され得る。
【０１２１】
[0121]本明細書で説明するＨＥＶＣ動作点記述子は、プログラムレベルの記述子であり得る（すなわち、プログラムマップテーブル中でシンタックス要素ｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後に来る他の記述子とともにシグナリングされ得る）。代替的に、ＨＥＶＣ動作点記述子は、エレメンタリストリームレベルの記述子であり得る（すなわち、プログラムマップテーブル中でシンタックス要素ＥＳ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後に来る他の記述子とともにシグナリングされ得る）。
【０１２２】
[0122]プログラムが、０ｘ２７、０ｘ２８、０ｘ２９または０ｘ２Ａに等しいｓｔｒｅａｍ＿ｔｙｐｅをもつ１つまたは複数のエレメンタリストリームを有するとき、ＨＥＶＣ動作点記述子の存在は必須であり得る。同様に、ＨＥＶＣビデオ記述子の存在は、０ｘ２４および０ｘ２５に等しいｓｔｒｅａｍ＿ｔｙｐｅをもつ各エレメンタリストリームに必須であり得る。
【０１２３】
[0123]いくつかの例では、階層拡張記述子は、時間依存／拡張を記述することをサポートするように変更され得る。この目的のために、Ｌ−ＨＥＶＣ  ＴＳドラフト中の表ａｍｄ７−４−拡張次元ビットのセマンティクス中の予約された値のうちの１つは時間拡張のために割り振られる。
【０１２４】
[0124]いくつかの例では、階層記述子は、補助レイヤ拡張をサポートするように変更される。この目的のために、以下が適用され得る。
【０１２５】
ａ．  補助拡張を示すためにｈｉｅｒａｒｃｈｙ＿ｄｅｓｃｒｉｐｔｏｒのシンタックステーブル中の予約されたフラグのうちの１つを使用する。
【０１２６】
ｂ．  補助拡張を示すために、表２−５０−ｈｉｅｒａｒｃｈｙ＿ｔｙｐｅフィールド値中の予約された値のうちの１つを割り当てる。
【０１２７】
[0125]いくつかの例では、階層記述子と階層拡張記述子との重複する使用を回避するために、以下が利用され得る。
【０１２８】
ａ．  ＨＥＶＣコード化ピクチャを搬送する各エレメンタリストリームについて、１つの記述子（いくつかの例では、正確に１つ）、階層記述子または階層拡張記述子のいずれか、が存在し、エレメンタリストリームに関連付けられ得る（いくつかの例では、そうでなければならない）。
【０１２９】
ｂ．  ０に等しいｌａｙｅｒＩｄをもつピクチャを含んでいる各エレメンタリストリームについて、階層記述子が存在し、エレメンタリストリームに関連付けられ得る（いくつかの例では、そうでなければならない）。
【０１３０】
ｃ．  ０に等しいｌａｙｅｒＩｄをもつピクチャを含んでいない、０に等しくないｌａｙｅｒＩｄをもつピクチャを含んでいる各エレメンタリストリームについて、階層拡張記述子が存在し、エレメンタリストリームに関連付けられ得る（いくつかの例では、そうでなければならない（すなわち、そうである必要がある））。
【０１３１】
[0126]図１は、ビデオコーディング規格の拡張に従ってコーディングされたビデオデータをトランスポートするための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを提供するソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に提供する。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、タブレット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信に対する機能を備え得る。
【０１３２】
[0127]宛先デバイス１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、符号化ビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信するのを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波（ＲＦ）スペクトルあるいは１つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどのパケットベースのネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【０１３３】
[0128]いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイスへ出力され得る。同様に、符号化データは、ストレージデバイスから入力インターフェースによってアクセスされ得る。ストレージデバイスは、ハードドライブ、Ｂｌｕｅ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれをも含み得る。さらなる例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶することができるファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワークアタッチドストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【０１３４】
[0129]本開示の技法は、ワイヤレスの適用例または設定に必ずしも限定されるとは限らない。本技法は、無線テレビジョンブロードキャスト、ケーブルテレビジョン送信、衛星テレビジョン送信、ＨＴＴＰ上の動的適応ストリーミング（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の応用例など、様々なマルチメディア応用のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／もしくはビデオ電話などの応用をサポートするために一方向または両方向のビデオ送信をサポートするように構成され得る。
【０１３５】
[0130]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、マルチプレクサ２１と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、デマルチプレクサ２９と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のマルチプレクサ２１は、ビデオコーディング規格の拡張に従ってコーディングされたビデオデータをトランスポートするための技法を適用するように構成され得、一方、デマルチプレクサ２９は、処理のためにそのようなデータを受信し、処理されたビデオデータを、たとえば、ビデオデコーダ３０に転送し得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部のビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【０１３６】
[0131]図１の図示のシステム１０は一例にすぎない。ビデオコーディング規格の拡張に従ってコーディングされたビデオデータをトランスポートするための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。一般に、本開示の技法は、ビデオ符号化デバイスによって実行されるが、これらの技法は、通常は「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、宛先デバイス１４に送信するためのコーディングされたビデオデータを生成するコーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素と復号構成要素とを含むように、実質的に対称的な方式で動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオ放送、もしくはビデオ電話のためのビデオデバイス１２とビデオデバイス１４の間の一方向または双方向のビデオ送信をサポートし得る。
【０１３７】
[0132]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代わりとして、ビデオソース１８は、ソースビデオとしてコンピュータグラフィックスベースのデータ、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成のビデオの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはビデオ付き電話を形成し得る。しかしながら、上記で述べたように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび／またはワイヤード用途に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。次いで、符号化ビデオ情報は、出力インターフェース２２によってコンピュータ可読媒体１６に出力され得る。
【０１３８】
[0133]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化ビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス１４に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【０１３９】
[0134]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義されビデオデコーダ３０によっても使用される、ブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、ユーザに復号ビデオデータを表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【０１４０】
[0135]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオコーディング規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれ、オーディオエンコーダおよびオーディオデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【０１４１】
[0136]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、ジョイントビデオチーム（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣムービングピクチャエキスパートグループ（ＭＰＥＧ）とともにＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付のＩＴＵ−Ｔ勧告Ｈ．２６４、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓに記載されており、本明細書ではＨ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ばれることがある。ジョイントビデオチーム（ＪＶＴ）は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【０１４２】
[0137]ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法がソフトウェアで部分的に実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアで命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つもしくは複数のエンコーダまたはデコーダの中に含まれ得、そのいずれかが、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【０１４３】
[0138]ＪＣＴ−ＶＣは、ＨＥＶＣ規格を開発し、ＨＥＶＣ規格の拡張に取り組み続けている。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の機能を仮定する。たとえば、Ｈ．２６４は、９つのイントラ予測符号化モードを提供するが、ＨＭは、３３もの（３５もあり得る）イントラ予測符号化モードを提供し得る。
【０１４４】
[0139]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマ（luma）サンプルとクロマ（chroma）サンプルの両方を含む一連のツリーブロックまたは（「コーディングツリーユニット」とも呼ばれる）最大コーディングユニット（ＬＣＵ）に分割され得ることを記述する。ビットストリーム内のシンタックスデータは、ピクセルの数の点で最大のコーディングユニットであるＬＣＵにとってのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木（quadtree）に従って、コーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは４つのリーフノード（leaf nodes）を含み、その各々はサブＣＵのうちの１つに対応する。
【０１４５】
[0140]４分木データ構造の各ノードは、対応するＣＵのためのシンタックスデータを与え得る。たとえば、４分木中のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示すスプリットフラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しない場合でも、リーフＣＵの４つのサブＣＵはリーフＣＵとも呼ばれる。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。
【０１４６】
[0141]ＣＵは、ＣＵがサイズ差異を有しないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、（サブＣＵとも呼ばれる）４つの子ノードに分割され得、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コーディングされたビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。したがって、ビットストリームはまた、最小コーディングユニット（ＳＣＵ：smallest coding unit）を定義し得る。本開示は、「ブロック」という用語を、ＨＥＶＣのコンテキストにおいてＣＵ、ＰＵ、またはＴＵのうちのいずれか、または他の規格のコンテキストにおいて類似のデータ構造（たとえば、Ｈ．２６４／ＡＶＣのマクロブロックおよびそのサブブロック）を参照するために使用する。
【０１４７】
[0142]ＣＵは、コーディングノードと、コーディングノードに関連付けられた予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４ピクセル以上をもつツリーブロックのサイズにまでわたり得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵの１つまたは複数のＰＵへの区分を記述し得る。区分モードは、ＣＵがスキップであるのか、または直接モード符号化されるのか、イントラ予測モード符号化されるのか、またはインター予測モード符号化されるのかの間で異なり得る。ＰＵは、形状が非正方形に区分され得る。ＣＵに関連するシンタックスデータはまた、たとえば、４分木に従うＣＵの１つまたは複数のＴＵへの区分を記述し得る。ＴＵは、形状が正方形または非正方形（たとえば、矩形）であり得る。
【０１４８】
[0143]ＨＥＶＣ規格は、ＣＵごとに異なり得る、ＴＵに従う変換を可能にする。ＴＵは、通常、区分されたＬＣＵのために定義された、所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。ＴＵは、一般に、ＰＵと同じサイズであるか、またはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）と呼ばれる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれ得る。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され、その変換係数は量子化され得る。
【０１４９】
[0144]ビデオエンコーダ２０は、ＣＵのルーマ残差ブロックと、Ｃｂ残差ブロックと、Ｃｒ残差ブロックとを、１つまたは複数のルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに分解するために、４分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロック、クロマサンプルの２つの対応する変換ブロック、および変換ブロックサンプルを変換するために使用されるシンタックス構造であり得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連付けられ得る。ＴＵに関連付けられたルーマ変換ブロックはＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【０１５０】
[0145]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵのすべてまたは一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモードで符号化されるとき、ＰＵに関するデータは、残差４分木（ＲＱＴ）に含まれ、残差４分木は、ＰＵに対応するＴＵに関するイントラ予測モードを記述するデータを含め得る。別の例として、ＰＵがインターモードで符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルに関する解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【０１５１】
[0146]１つまたは複数のＰＵを有するリーフＣＵは、１つまたは複数の変換ユニット（ＴＵ）をも含み得る。変換ユニットは、上記で説明したように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらなるサブＴＵにさらに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、同じイントラ予測モードが、概して、リーフＣＵのすべてのＴＵのための予測値を計算するために適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応するＣＵの部分と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、ＰＵよりも大きいことも小さいこともある。イントラコーディングの場合、ＰＵは、同じＣＵの対応するリーフＴＵとコロケートされ（collocated）得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【０１５２】
[0147]その上、リーフＣＵのＴＵはまた、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連し得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは一般にリーフＣＵに対応し、ＣＵ４分木のルートノードは一般にツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、別段に明記されていない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【０１５３】
[0148]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、一般に、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰに含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つもしくは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに作用する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定されたサイズまたは変化するサイズを有することができ、規定されたコーディング規格に従ってサイズが異なり得る。
【０１５４】
[0149]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測と、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称ＰＵサイズでのインター予測とをサポートする。ＨＭは、また、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための、非対称な区分をサポートする。非対称な区分では、ＣＵの一方向は区分されず、他の方向は２５％および７５％に区分される。ＣＵのうちで２５％区分に対応する部分は、「ｎ」とそれに続く「Ｕｐ（上）」、「Ｄｏｗｎ（下）」、「Ｌｅｆｔ（左）」、または「Ｒｉｇｈｔ（右）」の表示とによって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部で２Ｎ×０．５Ｎ  ＰＵ、および下部で２Ｎ×１．５Ｎ  ＰＵに水平に区分される２Ｎ×２Ｎ  ＣＵを指す。
【０１５５】
[0150]本開示では、「Ｎ×Ｎ（ＮｘＮ）」および「Ｎ×Ｎ（Ｎ  ｂｙ  Ｎ）」は、垂直寸法および水平寸法の観点からビデオブロックのピクセル寸法、たとえば、１６×１６（１６ｘ１６）ピクセルまたは１６×１６（１６  ｂｙ  １６）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）、および水平方向に１６ピクセル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセル、および水平方向にＮピクセルを有し、ここでＮは、非負の整数値を表す。ブロック中のピクセルは、行および列に配列され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有するとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、この場合、Ｍは必ずしもＮに等しいとは限らない。
【０１５６】
[0151]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングに続いて、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、空間領域（ピクセル領域とも呼ばれる）において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するために、ＴＵを変換し得る。
【０１５７】
[0152]変換係数を生成するための任意の変換の後で、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、ｎビット値は、量子化中にｍビット値に切り捨てられ得、ここで、ｎはｍよりも大きい。
【０１５８】
[0153]量子化の後に、ビデオエンコーダは、変換係数を走査し、量子化された変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、アレイの前部により高いエネルギー（したがって、より低い周波数）係数を配置し、アレイの後部により低いエネルギー（したがって、より高い周波数）係数を配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するために所定の走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実施し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際のビデオデコーダ３０による使用のために、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
【０１５９】
[0154]ＣＡＢＡＣを実施するために、ビデオエンコーダ２０は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、たとえば、シンボルの隣接する値がゼロ以外であるか否かに関係し得る。ＣＡＶＬＣを実施するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣ中のコードワードは、比較的より短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのための等長コードワードを使用することに勝るビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【０１６０】
[0155]本開示は、ＨＥＶＣ拡張ビットストリームの搬送のための技法について説明する。すなわち、本開示の技法によれば、マルチプレクサ２１および／またはデマルチプレクサ２９は、ＨＥＶＣ、ＨＥＶＣ規格の拡張（たとえば、ＳＨＶＣまたはＭＶ−ＨＥＶＣ）、または他のまだ開発されていないビデオコーディング規格などのビデオコーディング規格の拡張に従ってコーディングされたビデオデータをトランスポートすること（すなわち、ビデオデータを送信または受信すること）を行うように構成され得る。概して、マルチプレクサ２１は、たとえば、ＭＰＥＧ−２システムおよび本開示の技法に実質的に従って、ビットストリームを形成するために、符号化されたビデオデータをカプセル化し得、一方、デマルチプレクサ２９は、カプセル化されたデータ、たとえば、ビデオコーディング規格の拡張に従って符号化されたビデオデータを受信し、カプセル化解除し得る。
【０１６１】
[0156]いくつかの例では、マルチプレクサ２１とデマルチプレクサ２９とは、上記で説明したように、表Ａｍｄ７−１の動作点記述子の修正されたバージョンをコーディングするように構成され得る。「提案された表Ａｍｄ７−１−ＨＥＶＣ動作点記述子」と標示された以下の表は、現在の表Ａｍｄ７−１への変更の一例を表す。以下で説明するＨＥＶＣ動作点記述子は、本開示のいくつかの技法を実行するために使用され得る。以下の表中のイタリック体のテキストは、上記のように、現在の表Ａｍｄ７−１に対する追加を強調する。
【０１６２】
【表８】
0006594967.tif 000009
【０１６３】
[0157]本表の追加されたシンタックス要素についての例示的なセマンティクスについて以下で説明する。他のシンタックス要素についてのセマンティクスは、Ｌ−ＨＥＶＣ  ＴＳの場合と同じままであり得る。
【０１６４】
[0158]ｎｕｍ＿ｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ−この記述子中でシグナリングされるプロファイル、ティアおよびレベル構造の数を指定する８ビットフィールド。
【０１６５】
[0159]ｐｒｏｆｉｌｅ＿ｓｐａｃｅ［ｐｔｌＩｄｘ］、ｔｉｅｒ＿ｆｌａｇ［ｐｔｌＩｄｘ］、ｐｒｏｆｉｌｅ＿ｉｄｃ［ｐｔｌＩｄｘ］、ｐｒｏｆｉｌｅ＿ｃｏｍｐａｔｉｂｉｌｉｔｙ＿ｉｎｄｉｃａｔｉｏｎ［ｐｔｌＩｄｘ］、ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｏｕｒｃｅ＿ｆｌａｇ［ｐｔｌＩｄｘ］、ｉｎｔｅｒｌａｃｅｄ＿ｓｏｕｒｃｅ＿ｆｌａｇ［ｐｔｌＩｄｘ］、ｎｏｎ＿ｐａｃｋｅｄ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ［ｐｔｌＩｄｘ］、ｆｒａｍｅ＿ｏｎｌｙ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ［ｐｔｌＩｄｘ］、ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿４４ｂｉｔｓ［ｐｔｌＩｄｘ］、ｌｅｖｅｌ＿ｉｄｃ［ｐｔｌＩｄｘ］−これらのフィールドは、この記述子内に記述されるＨＥＶＣ動作点のレイヤについて、それぞれ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅ  ｇｅｎｅｒａｌ＿ｔｉｅｒ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｉｄｃ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｃｏｍｐａｔｉｂｉｌｉｔｙ＿ｆｌａｇ［ｉ］、ｇｅｎｅｒａｌ＿ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｏｕｒｃｅ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｉｎｔｅｒｌａｃｅｄ＿ｓｏｕｒｃｅ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｎｏｎ＿ｐａｃｋｅｄ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｆｒａｍｅ＿ｏｎｌｙ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿４４ｂｉｔｓ、ｌｅｖｅｌ＿ｉｄｃについてＲｅｃ．ＩＴＵ−Ｔ  Ｈ．２６５｜ＩＳＯ／ＩＥＣ２３００８−２において定義されているセマンティクスに従ってコーディングされなければならない。
【０１６６】
[0160]ｐｔｌＩｄｘおよびｏｐＩｄｘの値はどちらも、プログラムの第１のＨＥＶＣ動作点について０に等しく初期化される。
【０１６７】
[0161]ｎｕｍ＿ｏｐｅｒａｔｉｏｎ＿ｐｏｉｎｔｓ−この８ビットフィールドは、この記述子に記述された動作点の数を示す。
【０１６８】
[0162]ｔａｒｇｅｔ＿ｏｌｓ［ｏｐＩｄｘ］−この記述子において定義されているｏｐＩｄｘ番目の動作点に関連する出力レイヤセットを指定する８ビットフィールド。
【０１６９】
[0163]ｔａｒｇｅｔ＿ｐａｒｔｉｔｉｏｎｉｎｇ＿ｓｃｈｅｍｅ［ｏｐＩｄｘ］−この記述子において定義されているｏｐＩｄｘ番目の動作点に関連する出力レイヤセットの区分方式を指定する８ビットフィールド。
【０１７０】
[0164]ｍａｘ＿ｔｅｍｐｏｒａｌ＿ｉｄ［ｏｐＩｄｘ］−この記述子において定義されているｏｐＩｄｘ番目の動作点に属するＮＡＬユニットの最大のＴｅｍｐｏｒａｌＩｄを指定する３ビットフィールド。
【０１７１】
[0165]ｅｓ＿ｃｏｕｎｔ［ｏｐＩｄｘ］−データ要素の以下のグループ中に含まれるｅｓ＿ｒｅｆｅｒｅｎｃｅ値の数を示す８ビットフィールド。データ要素の以下のグループ中で示される順位リストによるエレメンタリストリームのアグリゲーションは、ＨＥＶＣ動作点を形成する。値０ｘｆｆは予約済みである。
【０１７２】
[0166]ｐｒｅｐｅｎｄ＿ｄｅｐｅｎｄｅｎｃｉｅｓ［ｏｐＩｄｘ］［ｊ］−１に設定されたとき、階層記述子中のシンタックス要素ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによってシグナリングされるエレメンタリストリームと後続のシンタックス要素ｅｓ＿ｒｅｆｅｒｅｎｃｅ［ｏｐＩｄｘ］［ｊ］によって指定される階層レイヤインデックス値をもつｈｉｅｒａｒｃｈｙ＿ｅｘｔｅｎｓｉｏｎ＿ｄｅｓｃｒｉｐｔｏｒとが、ｅｓ＿ｒｅｆｅｒｅｎｃｅ［ｏｐＩｄｘ］［ｊ］によってシグナリングされるエレメンタリストリームの前にターゲット動作点のためのエレメンタリストリームのリストに追加されなければならないことを示す１ビットフラグ。ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによってシグナリングされるエレメンタリストリームが、階層記述子によってシグナリングされるさらなる依存を有する場合、これらの依存は、再帰的方法でＥＳリストに追加されなければならない。シンタックス要素ＥＳ＿ｒｅｆｅｒｅｎｃｅ［ｏｐＩｄｘ］［ｊ］によって参照されるエレメンタリストリームのいずれかのための階層記述子と階層拡張記述子とが存在しないとき、ｐｒｅｐｅｎｄ＿ｄｅｐｅｎｄｅｎｃｉｅｓ［ｏｐＩｄｘ］［ｊ］の値は１に等しくなってはならない。
【０１７３】
[0167]ＥＳ＿ｒｅｆｅｒｅｎｃｅ［ｏｐＩｄｘ］［ｊ］−エレメンタリストリームを識別する階層記述子中に存在する階層レイヤインデックス値を指定する６ビットフィールド。
【０１７４】
[0168]ｎｕｍ＿ｔａｒｇｅｔ＿ｏｕｔｐｕｔ＿ｌａｙｅｒｓ［ｏｐＩｄｘ］−この６ビットフィールドは、この記述子において定義されているｏｐｔＩｄｘ番目の動作点のための出力の対象とされる、レイヤの数の値を指定する。
【０１７５】
[0169]ｎｕｍ＿ｌａｙｅｒｓ［ｏｐＩｄｘ］−この記述子において定義されているｏｐｔＩｄｘ番目の動作点中に含まれるレイヤの数を指定する６ビットフィールド。
【０１７６】
[0170]ｏｕｔｐｕｔ＿ｌａｙｅｒ＿ｆｌａｇ［ｏｐＩｄｘ］［ｊ］−１ビットフィールドは、値「１」が割り当てられると、この記述子において定義されているｏｐＩｄｘ番目の動作点のｊ番目のレイヤが出力レイヤであることを示す。そうでない場合、値「０」が割り当てられると、この記述子において定義されているｏｐＩｄｘ番目の動作点のｊ番目のレイヤが出力レイヤでないことを示す。
【０１７７】
[0171]ｐｔｌ＿ｒｅｆ＿ｉｄｘ［ｏｐＩｄｘ］［ｊ］−この記述子において定義されているｏｐｔＩｄｘ番目の動作点のｊ番目のレイヤに割り当てられるプロファイル、ティアおよびレベルへのインデックスを指定する８ビットフィールド。
【０１７８】
[0172]ｃｏｎｓｔａｎｔ＿ｆｒａｍｅ＿ｒａｔｅ＿ｉｎｆｏ＿ｉｄｃ［ｏｐＩｄｘ］−以下に指定するシンタックス要素ｆｒａｍｅ＿ｒａｔｅ＿ｉｎｄｉｃａｔｏｒと組み合わせて、この記述子において定義されている関連するｏｐＩｄｘ番目の動作点のフレームレートがどのように決定されるのかを指定する２ビットフィールド。０の値は、フレームレートが動作点について指定されていないことと、シンタックス要素ｆｒａｍｅ＿ｒａｔｅ＿ｉｎｄｉｃａｔｏｒが動作点についてこの記述子中に存在しないこととを示す。
【０１７９】
[0173]ｆｒａｍｅ＿ｒａｔｅ＿ｉｎｄｉｃａｔｏｒ［ｏｐＩｄｘ］−ｃｏｎｓｔａｎｔ＿ｆｒａｍｅ＿ｒａｔｅ＿ｉｎｆｏ＿ｉｄｃ［ｏｐＩｄｘ］が１に等しい場合、この１２ビットフィールドは、この記述子において定義されているｉ番目の動作点における２つのピクチャ間の時間的な距離について、ＨＥＶＣタイミングとＨＲＤ記述子とにおいて指定されているように、一定の数のチックを示す。それ以外の場合、ｃｏｎｓｔａｎｔ＿ｆｒａｍｅ＿ｒａｔｅ＿ｉｎｆｏ＿ｉｄｃ［ｏｐＩｄｘ］が２に等しい場合、この１２ビットフィールドは、フレーム毎秒で測定される動作点のフレームレートを示す。それ以外の場合、ｃｏｎｓｔａｎｔ＿ｆｒａｍｅ＿ｒａｔｅ＿ｉｎｆｏ＿ｉｄｃ［ｏｐＩｄｘ］が３に等しい場合、この１２ビットフィールドは、１．００１秒当たりのフレーム数で測定される動作点のフレームレートを示す。
【０１８０】
[0174]したがって、提案された表Ａｍｄ７−１による記述子は、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、動作点の各々のレイヤの各々をＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む記述子の一例を表す。すなわち、「ｆｏｒ（ｉ＝０；ｉ＜ｎｕｍ＿ｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ；ｉ＋＋，ｐｔｌＩｄｘ＋＋）」ループに記載の要素は、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットの一例を表し、一方、「ｆｏｒ（ｊ＝０；ｊ＜ｎｕｍ＿ｌａｙｅｒｓ［ｏｐＩｄｘ］；ｊ＋＋」ループに記載の要素は、動作点の各々のレイヤの各々をＰＴＬ構造のうちの対応する１つに関連付けるデータの例を表す。
【０１８１】
[0175]提案された表Ａｍｄ７−１による記述子はまた、動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値を含む記述子、ここにおいて、ターゲット出力レイヤセットシンタックス要素は、対応する動作点に関連するターゲット出力レイヤセットを指定する、の一例を表す。すなわち、動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値は、対応する動作点に関連するターゲット出力レイヤセットを指定するので、ｔａｒｇｅｔ＿ｏｌｓ［ｏｐＩｄｘ］シンタックス要素は、これらの値の例を表す。
【０１８２】
[0176]したがって、デマルチプレクサ２９は、ビットストリームの各動作点のためのＰＴＬ構造を決定するために、ビットストリームから記述子を抽出し得る。すなわち、デマルチプレクサ２９は、プロファイル、ティア、およびレベル情報の様々なセットを決定するために、ｐｒｏｆｉｌｅ＿ｉｄｃ［ｐｔｌＩｄｘ］、ｔｉｅｒ＿ｆｌａｇ［ｐｔｌＩｄｘ］、およびｌｅｖｅｌ＿ｉｄｃ［ｐｔｌＩｄｘ］シンタックス要素など、「ｆｏｒ（ｉ＝０；ｉ＜ｎｕｍ＿ｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ；ｉ＋＋，ｐｔｌＩｄｘ＋＋）（）」の各々の内のデータを抽出し得る。これらのセットの各々は、順番にインデックス付けされた、デマルチプレクサ２９がインスタンス化（instantiate）し得る単一のＰＴＬデータ構造に対応し得る。デマルチプレクサ２９は、さらに、各動作点の各レイヤを繰返し処理し、ｐｔｌ＿ｒｅｆ＿ｉｄｘ［ｏｐＩｄｘ］［ｊ］シンタックス要素に基づいてＰＴＬデータ構造のいずれが各動作点の各レイヤに対応するのかを決定し得る。すなわち、「ｏｐＩｄｘ」は、動作点へのインデックスを表し、「ｊ」は、動作点のレイヤへのインデックスを表す。したがって、ｐｔｌ＿ｒｅｆ＿ｉｄｘ［ｏｐＩｄｘ］［ｊ］シンタックス要素の値は、ｏｐＩｄｘ番目の動作点のｊ番目のレイヤが対応するＰＴＬデータ構造のうちの１つを表す。
【０１８３】
[0177]さらに、デマルチプレクサ２９は、動作点の各々のためのターゲット出力レイヤセットを決定し得る。すなわち、動作点の各々について、デマルチプレクサ２９は、ｔａｒｇｅｔ＿ｏｌｓ［ｏｐＩｄｘ］の値を取り出し得、これは、「ｏｐＩｄｘ」によって表される動作点のためのターゲット出力レイヤセットを表す。
【０１８４】
[0178]本開示はまた、例について説明し、ここで、依存（場合によっては、レイヤの依存）を記述するなど、ＨＥＶＣレイヤ（エレメンタリストリーム）についてのデータをシグナリングするために使用され得る階層記述子および階層拡張記述子。たとえば、本開示の階層記述子と階層拡張記述子とは、既存の階層記述子と階層拡張記述子とは異なり得る。したがって、本開示が「階層拡張記述子」または「階層記述子」という用語を使用するとき、記述からそのような記述子の前のバージョンに言及していると明らかでない限り、本開示は、そのような記述子の更新版に言及している。いくつかの例では、これらの変更された階層拡張記述子または階層記述子のいずれかまたは両方は、上記で説明したように、提案された表Ａｍｄ７−１のＨＥＶＣ動作点記述子とマージされ得る。
【０１８５】
[0179]したがって、デマルチプレクサ２９は、上記で説明したように、たとえば、階層記述子および／または階層拡張記述子を使用してエレメンタリストリーム間の依存を決定するように構成され得る。
【０１８６】
[0180]マルチプレクサ２１は、ＨＥＶＣ動作点記述子、階層記述子および／または階層拡張記述子を形成するように構成され得、一方、デマルチプレクサ２９は、たとえば、ビデオデコーダ３０によって使用され得る形態にビデオデータをアセンブルするために、受信されたビデオデータを処理するためにＨＥＶＣ動作点記述子、階層記述子および／または階層拡張記述子を使用し得る。図１の例には示されていないが、中間デバイスはまた、たとえば、サブビットストリーム抽出を実行するために、これらの記述子を使用し得る。たとえば、メディアアウェアネットワーク要素（ＭＡＮＥ：media aware network element）は、ＨＥＶＣ動作点記述子、階層記述子、および／または階層拡張記述子を使用してサブビットストリーム抽出を実行し得る。
【０１８７】
[0181]マルチプレクサ２１、デマルチプレクサ２９、ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、離散論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な好適なエンコーダまたはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／または携帯電話のようなワイヤレス通信デバイスを備え得る。
【０１８８】
[0182]このようにして、デマルチプレクサ２９は、ビットストリームから抽出されたデータを記憶するためのメモリと、ビットストリームから記述子を抽出することと、ここにおいて、ビットストリームは、記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点は、ビデオデータのレイヤのうちの１つまたは複数を含む、ここにおいて、記述子は、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、動作点の各々のレイヤの各々をＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、動作点のうちの１つのレイヤが対応するＰＴＬ構造に少なくとも部分的に基づいてビットストリームから動作点のうちの１つについてのビデオデータを抽出することと、ビデオデコーダに抽出されたビデオデータを与えることとを行うように構成された１つまたは複数の処理ユニットとを含むデバイスの一例を表す。
【０１８９】
[0183]図２は、ビデオコーディング規格の拡張に従ってコーディングされたビデオデータをトランスポートするための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオデータは、ベースレイヤに複数の（たとえば、２つ以上の）エンハンスメントレイヤを含み得、ここで、エンハンスメントレイヤは、異なるスケーラビリティ次元に対応し得る。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスまたは参照レイヤ（たとえば、参照ビュー）のフレームまたはピクチャ内のビデオの冗長性を低減または除去するために時間的予測またはレイヤ間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースコーディングモードのいずれかを指すことがある。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースコーディングモードのいずれかを指すことがある。
【０１９０】
[0184]図２に示されているように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、パーティションユニット４８とを含む。ビデオブロック再構築のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構築されたビデオからブロッキネスアーティファクト（blockiness artifacts）を除去するためにブロック境界をフィルタリングするための、デブロッキングフィルタ（図２に示されず）も含まれ得る。所望される場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタ処理することになる。デブロッキングフィルタに加えて、（ループ内またはループ後の）追加のフィルタも使用され得る。そのようなフィルタは、簡約のために図示されないが、必要な場合、加算器５０の出力を（インループフィルタとして）フィルタリングし得る。
【０１９１】
[0185]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間的予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、代替的に、空間予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の近隣ブロックに対する受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ２０は、たとえば、ビデオデータの各ブロックに適切なコーディングモードを選択するために、複数のコーディングパスを実施し得る。
【０１９２】
[0186]その上、分割ユニット４８は、前のコーディングパスでの前の区分化方式の評価に基づいて、ビデオデータのブロックを、サブブロックに区分し得る。たとえば、区分ユニット４８は、最初は、レートひずみ分析（たとえば、レートひずみ最適化）に基づいて、フレームまたはスライスをＬＣＵに区分し、ＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、さらに、ＬＣＵのサブＣＵへの区分を示す４分木データ構造を生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。
【０１９３】
[0187]モード選択ユニット４０は、たとえば誤差結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの１つを選択し得、残差ブロックデータを生成するために、得られたイントラ予測ブロックまたはインター予測ブロックを加算器５０に与え、参照フレーム中で使用するための符号化ブロックを再構成するために、得られたイントラ予測ブロックまたはインター予測ブロックを加算器６２に与える。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報など、シンタックス要素をエントロピー符号化ユニット５６に与える。
【０１９４】
[0188]動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念上の目的から別々に図示されている。動き推定ユニット４２によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレーム（または他のコード化ユニット）内でコーディングされている現在ブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対差の合計（ＳＡＤ：sum of absolute difference）、二乗差の合計（ＳＳＤ：sum of square difference）、または他の差分基準によって決定され得るピクセル差に関する、コーディングされるべきブロックとよく一致することがわかったブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの、４分の１ピクセル位置、８分の１ピクセル位置、または他の分数のピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、完全なピクセル位置および分数ピクセル位置に対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【０１９５】
[0189]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックに関するＰＵの動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０１９６】
[0190]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。同様に、動き推定ユニット４２および動き補償ユニット４４は、いくつかの例では、機能的に統合され得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいてそれを指す予測ブロックの位置を特定し得る。加算器５０は、下で論じるように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット４２は、ルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方に関して、ルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０は、また、ビデオデコーダ３０によるビデオスライスのビデオブロックの復号での使用のために、ビデオブロックおよびビデオスライスと関連したシンタックス要素を生成する。
【０１９７】
[0191]代替的に、動き推定ユニット４２は、依存レイヤ中のピクチャのブロックに対してレイヤ間（たとえば、ビュー間）予測を実行し得る。たとえば、動き推定ユニット４２は、従属ビュー中のピクチャのビュー間予測を実行するときに視差動きベクトルを計算するように構成され得る。他の例では、動き補償ユニット４４は、レイヤ間予測を実行するとき、たとえば、エンハンスメントレイヤ中のブロックが拡張されているベースレイヤ中のブロックと同じまたは実質的に同じ位置にあるスケーラビリティ次元にエンハンスメントレイヤが対応するとき、ブロックの０動きベクトル予測を実行し得る。そのようなスケーラビリティ次元は、たとえば、クロマビット深度、色フォーマット、色域、ＰＳＮＲなどを含み得る。
【０１９８】
[0192]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に様々なイントラ予測モードを使用して現在ブロックを符号化し、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、使用するのに適切なイントラ予測モードを、テストされたモードから選択し得る。
【０１９９】
[0193]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみおよびレートから比を計算し得る。
【０２００】
[0194]イントラ予測ユニット４６は、ブロックに関するイントラ予測モードを選択した後、ブロックに関して選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信されるビットストリーム中に構成データを含む場合があり、構成データは、コンテキストの各々に関して使用する、複数のイントラ予測モードのインデックステーブルおよび複数の修正されたイントラ予測モードのインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックに関する符号化コンテキストの定義と、最も起こりそうなイントラ予測モードの表示と、イントラ予測モードのインデックステーブルと、修正されたイントラ予測モードのインデックステーブルとを含み得る。
【０２０１】
[0195]ビデオエンコーダ２０は、モード選択ユニット４０からの予測データを、コーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。合計器５０は、この減算演算を実行する、１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に類似する変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実施し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプ変換も使用され得る。
【０２０２】
[0196]いずれの場合でも、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、ピクセル値領域からの残差情報を、周波数領域などの変換領域に転換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減させるために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減し得る。量子化プロセスは「スケーリング」プロセスと呼ばれることもあり、したがって、量子化変換係数は「スケーリングされた変換係数」と呼ばれることもある。量子化（またはスケーリング）の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、エントロピー符号化ユニット５６は、次いで、量子化変換係数を含む行列の走査を実行し得る。
【０２０３】
[0197]量子化に続いて、エントロピー符号化ユニット５６は、スキャンされた量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングに続いて、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信され、または後の送信もしくは取出のためにアーカイブされ得る。
【０２０４】
[0198]逆量子化ユニット５８および逆変換ユニット６０は、たとえば、参照ブロックとして後で使用できるように、ピクセル領域で残差ブロックを再構築するために、それぞれ、逆量子化と、逆変換とを適用する。動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、動き推定ユニット４２および動き補償ユニット４４によって、後続のビデオフレーム中のブロックをインターコーディングするために参照ブロックとして使用され得る。
【０２０５】
[0199]図３は、ビデオコーディング規格の拡張に従ってコーディングされたビデオデータをトランスポートするための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照ピクチャメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実施し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて、予測データを生成し得、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて、予測データを生成し得る。
【０２０６】
[0200]復号プロセスの間、ビデオデコーダ３０は、符号化ビデオスライスのビデオブロックおよび関連付けられたシンタックス要素を表す符号化ビットストリームをビデオエンコーダ２０から受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化された係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０２０７】
[0201]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、ＢまたはＰ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックに関する予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づくデフォルトの構成技法を使用して参照フレームリストのリスト０およびリスト１を構成し得る。
【０２０８】
[0202]動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０２０９】
[0203]動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、参照ブロックのサブ整数ピクセルのための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０２１０】
[0204]いくつかの例では、動き補償ユニット７２は、レイヤ間予測を実行するとき、たとえば、エンハンスメントレイヤ中のブロックが拡張されているベースレイヤ中のブロックと同じまたは実質的に同じ位置にあるスケーラビリティ次元にエンハンスメントレイヤが対応するとき、ブロックの０動きベクトル予測を実行し得る。そのようなスケーラビリティ次元は、たとえば、クロマビット深度、色フォーマット、色域、ＰＳＮＲなどを含み得る。代替的に、動き補償ユニット７２は、１つまたは複数の参照ビュー（たとえば、ベースビュー）から従属ビューのブロックを予測するために視差動きベクトルを使用し得る。ビューがレイヤの一例であることを理解されたい。すなわち、エンハンスメントレイヤがビューであるとき、スケーラビリティ次元は、（たとえば、閲覧者に３次元効果を生成するためのデータを与えるために）ビュー次元に対応し得る。
【０２１１】
[0205]逆量子化ユニット７６は、ビットストリーム内で提供され、エントロピー復号ユニット７０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックに関してビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０２１２】
[0206]動き補償ユニット７２が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器８０は、この加算演算を実施する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを削除するために、復号ブロックをフィルタ処理するためのデブロッキングフィルタも適用され得る。他のループフィルタ（コーディングループの中、またはコーディングループの後のいずれかにおける）も、ピクセルの遷移を平滑化し、または場合によってはビデオ品質を改善するために使用され得る。その後、所与のフレームまたはピクチャ内の復号されたビデオブロックは、参照ピクチャメモリ８２内に記憶され、参照ピクチャメモリ８２は、後続の動き補償のために使用される参照ピクチャを記憶する。参照ピクチャメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上で後で提示するために復号ビデオを記憶する。
【０２１３】
[0207]図４は、オーディオ／ビデオ（Ａ／Ｖ）ソースデバイス１２０がオーディオおよびビデオデータをＡ／Ｖ宛先デバイス１４０にトランスポートする例示的なシステム１００を示すブロック図である。図４のシステム１００は、ビデオ通信会議システム、サーバ／クライアントシステム、放送事業者／受信機システム、またはＡ／Ｖソースデバイス１２０などのソースデバイスからＡ／Ｖ宛先デバイス１４０などの宛先デバイスにビデオデータが送られる任意の他のシステムに対応し得る。いくつかの例では、Ａ／Ｖソースデバイス１２０およびＡ／Ｖ宛先デバイス１４０は双方向情報交換を実行し得る。すなわち、Ａ／Ｖソースデバイス１２０およびＡ／Ｖ宛先デバイス１４０は、オーディオおよびビデオデータの符号化と復号（および、送信と受信）の両方が可能であり得る。いくつかの例では、オーディオエンコーダ１２６は、ボコーダとも呼ばれるボイスエンコーダを備え得る。
【０２１４】
[0208]Ａ／Ｖソースデバイス１２０は、図４の例では、オーディオソース１２２とビデオソース１２４とを備える。オーディオソース１２２は、たとえば、オーディオエンコーダ１２６によって符号化されるべき、キャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオソース１２２は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータシンセサイザなどのオーディオデータ生成器、またはオーディオデータの任意の他のソースを備え得る。ビデオソース１２４は、ビデオエンコーダ１２８によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、ビデオデータ生成ユニット、またはビデオデータの任意の他のソースを備え得る。
【０２１５】
[0209]「生」（すなわち、コーディングされていないキャプチャまたは収集されたデータ）オーディオおよびビデオデータは、アナログまたはデジタルデータを備え得る。アナログデータは、オーディオエンコーダ１２６および／またはビデオエンコーダ１２８によって符号化される前にデジタル化され得る。オーディオソース１２２は、通話参加者が話している間、通話参加者からオーディオデータを取得し得、同時に、ビデオソース１２４は、通話参加者のビデオデータを取得し得る。他の例では、オーディオソース１２２は、記憶されたオーディオデータを備えるコンピュータ可読記憶媒体を備え得、ビデオソース１２４は、記憶されたビデオデータを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明する技法は、ライブ、ストリーミング、リアルタイムオーディオおよびビデオデータ、またはアーカイブされた、あらかじめ記録されたオーディオおよびビデオデータに適用され得る。
【０２１６】
[0210]ビデオフレームに対応するオーディオフレームは、概して、ビデオフレーム内に含まれているビデオソース１２４によってキャプチャされたビデオデータと同時に、オーディオソース１２２によってキャプチャされたオーディオデータを含むオーディオフレームである。たとえば、通話参加者が概して話すことによってオーディオデータを生成する間、オーディオソース１２２はオーディオデータをキャプチャし、同時に、すなわちオーディオソース１２２がオーディオデータをキャプチャしている間、ビデオソース１２４は通話参加者のビデオデータをキャプチャする。したがって、オーディオフレームは、１つまたは複数の特定のビデオフレームに時間的に対応し得る。したがって、ビデオフレームに対応するオーディオフレームは、一般に、オーディオデータとビデオデータとが同時にキャプチャされる状況、およびオーディオフレームとビデオフレームとが、それぞれ、同時にキャプチャされたオーディオデータとビデオデータとを備える状況に対応する。
【０２１７】
[0211]いくつかの例では、オーディオエンコーダ１２６は、符号化オーディオフレームのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化し得、同様に、ビデオエンコーダ１２８は、符号化ビデオフレームのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化し得る。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと、同じタイムスタンプを備えるビデオフレームとを備え得る。Ａ／Ｖソースデバイス１２０は、オーディオエンコーダ１２６および／またはビデオエンコーダ１２８がそこからタイムスタンプを生成し得るか、あるいはオーディオソース１２２およびビデオソース１２４がオーディオおよびビデオデータをそれぞれタイムスタンプに関連付けるために使用し得る、内部クロックを含み得る。
【０２１８】
[0212]いくつかの例では、オーディオソース１２２は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ１２６に送り得、ビデオソース１２４は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ１２８に送り得る。いくつかの例では、オーディオエンコーダ１２６は、必ずしもオーディオデータが記録された絶対時刻を示すことなしに、符号化オーディオデータの相対的時間順序を示すために、符号化オーディオデータ中のシーケンス識別子を符号化し得、同様に、ビデオエンコーダ１２８も、符号化ビデオデータの相対的時間順序を示すためにシーケンス識別子を使用し得る。同様に、いくつかの例では、シーケンス識別子は、タイムスタンプにマッピングされるか、または他の方法でタイムスタンプと相関させられ得る。
【０２１９】
[0213]本開示の技法は、概して、符号化マルチメディア（たとえば、オーディオおよび／またはビデオ）データのトランスポートと、トランスポートされたマルチメディアデータの受信ならびに後続の解釈および復号とを対象とする。本開示の技法は、特にマルチビュービデオコーディング（ＭＶＣ）データ、すなわち複数のビューを備えるビデオデータのトランスポートに適用可能である。図４の例に示すように、ビデオソース１２４はシーンの複数のビューをビデオエンコーダ１２８に与え得る。マルチビューコーディングは、立体視または自動立体視３次元ディスプレイなど、３次元ディスプレイによって使用されるべき３次元ビデオデータを生成するために有用であり得る。
【０２２０】
[0214]Ａ／Ｖソースデバイス１２０は、Ａ／Ｖ宛先デバイス１４０に「サービス」を提供し得る。サービスは、概して、マルチビューデータの利用可能なビューのサブセットに対応する。たとえば、マルチビューデータは、０から７まで順序付けられた８つのビューについて利用可能であり得る。あるサービスは、２つのビューを有するステレオビデオに対応し得るが、別のサービスは４つのビューに対応し得、さらに別のサービスは８つのビューすべてに対応し得る。概して、サービスは、利用可能なビューの任意の組合せ（すなわち、任意のサブセット）に対応する。サービスはまた、利用可能なビューならびにオーディオデータの組合せに対応し得る。Ａ／Ｖソースデバイス１２０が、Ａ／Ｖソースデバイス１２０によって提供されるサービスごとに動作点記述子をさらに与え得るように、動作点がサービスに対応し得る。
【０２２１】
[0215]Ａ／Ｖソースデバイス１２０は、本開示の技法に従って、ビューのサブセットに対応するサービスを提供することができる。概して、ビューは、「ｖｉｅｗ＿ｉｄ」とも呼ばれるビュー識別子によって表される。ビュー識別子は、概して、ビューを識別するために使用され得るシンタックス要素を備える。ビューが符号化されるとき、ＭＶＣエンコーダはビューのｖｉｅｗ＿ｉｄを与える。ｖｉｅｗ＿ｉｄは、ＭＶＣデコーダによってビュー間予測（inter-view prediction）のために使用されるか、または他のユニットによって他の目的、たとえばレンダリングのために使用され得る。
【０２２２】
[0216]ビュー間予測は、フレームのＭＶＣビデオデータを、共通の時間ロケーションにおける１つまたは複数のフレームを参照して、異なるビューの符号化フレームとして符号化するための技法である。概して、ＭＶＣビデオデータの符号化フレームは、空間的に、時間的に、および／または共通の時間ロケーションにおける他のビューのフレームを参照して、予測符号化され得る。したがって、他のビューがそこから予測される参照ビューは、概して、参照ビューを復号するときに、復号された参照ビューが参照のために使用され得るように、参照ビューが参照として働くビューの前に復号される。復号順序は必ずしもｖｉｅｗ＿ｉｄの順序に対応しない。したがって、ビューの復号順序はビュー順序インデックスを使用して記述される。ビュー順序インデックスは、アクセスユニット中の対応するビュー構成要素の復号順序を示すインデックスである。
【０２２３】
[0217]各個のデータストリームは（オーディオかビデオかにかかわらず）エレメンタリストリームと呼ばれる。エレメンタリストリームは、デジタル的にコーディングされた（場合によっては圧縮された）プログラムの単一の構成要素である。たとえば、プログラムのコーディングされたビデオ部分またはコーディングされたオーディオ部分はエレメンタリストリームであり得る。エレメンタリストリームは、プログラムストリームまたはトランスポートストリームに多重化される前に、パケット化エレメンタリストリーム（ＰＥＳ）に変換され得る。同じプログラム内では、１つのエレメンタリストリームに属するＰＥＳパケットを別のものから区別するためにストリームＩＤが使用される。エレメンタリストリームの基本データ単位はパケット化されたエレメンタリストリーム（ＰＥＳ）パケットである。したがって、ＭＶＣビデオデータの各ビューはそれぞれのエレメンタリストリームに対応する。同様に、オーディオデータは１つまたは複数のそれぞれのエレメンタリストリームに対応する。
【０２２４】
[0218]ＭＶＣコード化ビデオシーケンスは、各々がエレメンタリストリームであるいくつかのサブビットストリームに分離され得る。各サブビットストリームは、ＭＶＣ  ｖｉｅｗ＿ｉｄサブセットを使用して識別され得る。各ＭＶＣ  ｖｉｅｗ＿ｉｄサブセットの概念に基づいて、ＭＶＣビデオサブビットストリームが定義される。ＭＶＣビデオサブビットストリームは、ＭＶＣ  ｖｉｅｗ＿ｉｄサブセットに記載されているビューのＮＡＬユニットを含んでいる。プログラムストリームは、概して、エレメンタリストリームのものであるＮＡＬユニットのみを含んでいる。それはまた、２つのエレメンタリストリームが同じビューを含んでいることができないように設計されている。
【０２２５】
[0219]図４の例では、マルチプレクサ１３０は、ビデオエンコーダ１２８からビデオデータを備えるエレメンタリストリームを受信し、オーディオエンコーダ１２６からオーディオデータを備えるエレメンタリストリームを受信する。いくつかの例では、ビデオエンコーダ１２８およびオーディオエンコーダ１２６は各々、符号化データからＰＥＳパケットを形成するためのパケッタイザ（packetizers）を含み得る。他の例では、ビデオエンコーダ１２８およびオーディオエンコーダ１２６はそれぞれ、符号化データからＰＥＳパケットを形成するためのそれぞれのパケッタイザとインターフェースし得る。さらに他の例では、マルチプレクサ１３０は、符号化オーディオデータと符号化ビデオデータとからＰＥＳパケットを形成するためのパケッタイザを含み得る。
【０２２６】
[0220]本開示で使用する「プログラム」は、オーディオデータとビデオデータとの組合せ、たとえば、Ａ／Ｖソースデバイス１２０のサービスによって配信されたオーディオエレメンタリストリームと利用可能なビューのサブセットとを備え得る。各ＰＥＳパケットは、ＰＥＳパケットが属するエレメンタリストリームを識別するｓｔｒｅａｍ＿ｉｄを含む。マルチプレクサ１３０は、エレメンタリストリームを構成プログラムストリームまたはトランスポートストリームにアセンブルすることを担当する。プログラムストリームとトランスポートストリームとは、異なるアプリケーションをターゲットにする２つの代替多重である。
【０２２７】
[0221]概して、プログラムストリームは１つのプログラムのデータを含み、トランスポートストリームは１つまたは複数のプログラムのデータを含み得る。マルチプレクサ１３０は、提供されているサービス、ストリームが渡される媒体、送られるべきプログラムの数、または他の考慮事項に基づいて、プログラムストリームまたはトランスポートストリームのいずれかあるいは両方を符号化し得る。たとえば、記憶媒体中のビデオデータが符号化されるべきであるときは、マルチプレクサ１３０はプログラムストリームを形成する可能性がより高くなり得、ビデオデータがネットワークを介してストリーミングされるか、ブロードキャストされるか、またはビデオテレフォニーの一部として送られるべきであるときは、マルチプレクサ１３０はトランスポートストリームを使用する可能性がより高くなり得る。
【０２２８】
[0222]マルチプレクサ１３０は、デジタルストレージサービスからの単一のプログラムの記憶および表示のためにプログラムストリームを使用することのほうを優先してバイアスされ得る。プログラムストリームはむしろ誤りが起こりやすいので、プログラムストリームは、誤りのない環境、または誤りがより起こりにくい環境での使用を対象とする。プログラムストリームは、それに属するエレメンタリストリームを備えるにすぎず、通常、可変長さのパケットを含んでいる。プログラムストリームでは、寄与しているエレメンタリストリームから導出されたＰＥＳパケットが「パック」に編成される。パックは、パックヘッダと、随意のシステムヘッダと、寄与しているエレメンタリストリームのいずれかから取られる任意の数のＰＥＳパケットとを任意の順序で備える。システムヘッダは、プログラムストリームの最大データレート、寄与しているビデオおよびオーディオエレメンタリストリームの数、さらなるタイミング情報、または他の情報など、プログラムストリームの特性の概要を含んでいる。デコーダは、デコーダがプログラムストリームを復号することが可能か否かを決定するために、システムヘッダ中に含まれている情報を使用し得る。
【０２２９】
[0223]マルチプレクサ１３０は、潜在的に誤りを起こしやすいチャネルを介した複数のプログラムの同時配信のためにトランスポートストリームを使用し得る。トランスポートストリームは、単一のトランスポートストリームが多くの独立したプログラムに適応することができるように、ブロードキャストなどのマルチプログラムアプリケーションのために考案された多重である。トランスポートストリームは、トランスポートパケットの各々が長さ１８８バイトである、トランスポートパケットの連続を備え得る。短い、固定長パケットの使用により、トランスポートストリームはプログラムストリームよりも誤りが起こりにくくなる。さらに、各長さ１８８バイトのトランスポートパケットは、リードソロモン符号化などの標準誤り防止プロセスを通してパケットを処理することによって追加の誤り保護を与えられ得る。トランスポートストリームの誤り耐性の改善は、たとえば、ブロードキャスト環境において発見されるべき、誤りを起こしやすいチャネルを克服する可能性がより高いことを意味する。
【０２３０】
[0224]トランスポートストリームは、その誤り耐性の向上と多くの同時プログラムを搬送する能力とにより、プログラムストリームよりも良好であるように見えることがある。ただし、トランスポートストリームは、プログラムストリームよりもさらに高度な多重であり、したがって、プログラムストリームよりも作成がより困難であり、多重分離がより複雑である。トランスポートパケットの最初のバイトは、０ｘ４７の値（１６進値４７、２進値「０１０００１１１」、１０進値７１）を有する同期バイトであり得る。単一のトランスポートストリームは多くの異なるプログラムを搬送し得、各プログラムは多くのパケット化エレメンタリストリームを備える。マルチプレクサ１３０は、１つのエレメンタリストリームのデータを含んでいるトランスポートパケットを、他のエレメンタリストリームのデータを搬送しているものと区別するために１３ビットパケット識別子（ＰＩＤ）フィールドを使用し得る。各エレメンタリストリームが一意のＰＩＤ値を与えられることを保証することは、マルチプレクサの責任である。トランスポートパケットの最後のバイトは連続性カウントフィールドであり得る。マルチプレクサ１３０は、同じエレメンタリストリームに属する連続するトランスポートパケット間で連続性カウントフィールドの値を増分する。これは、Ａ／Ｖ宛先デバイス１４０など、宛先デバイスのデコーダまたは他のユニットがトランスポートパケットの損失または利得を検出し、他の場合はそのようなイベントから生じ得る誤りを願わくは隠匿することを可能にする。
【０２３１】
[0225]マルチプレクサ１３０は、オーディオエンコーダ１２６とビデオエンコーダ１２８とからプログラムのエレメンタリストリームのＰＥＳパケットを受信し、ＰＥＳパケットから対応するネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成する。Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）の例では、コード化ビデオセグメントは、ビデオテレフォニー、ストレージ、ブロードキャスト、またはストリーミングなどの適用例に対処する「ネットワークフレンドリーな」ビデオ表現を与えるＮＡＬユニットに編成される。ＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとに分類され得る。ＶＣＬユニットは、コア圧縮エンジンを含んでおり、ブロック、マクロブロック、および／またはスライスレベルを備え得る。他のＮＡＬユニットは非ＶＣＬ  ＮＡＬユニットである。
【０２３２】
[0226]マルチプレクサ１３０は、ＮＡＬが属するプログラムを識別するヘッダ、ならびにペイロード、たとえば、オーディオデータ、ビデオデータ、あるいはＮＡＬユニットが対応するトランスポートまたはプログラムストリームを記述するデータを備えるＮＡＬユニットを形成し得る。たとえば、Ｈ．２６４／ＡＶＣでは、ＮＡＬユニットは１バイトのヘッダと変動するサイズのペイロードとを含む。一例では、ＮＡＬユニットヘッダは、ｐｒｉｏｒｉｔｙ＿ｉｄ要素と、ｔｅｍｐｏｒａｌ＿ｉｄ要素と、ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇ要素と、ｖｉｅｗ＿ｉｄ要素と、ｎｏｎ＿ｉｄｒ＿ｆｌａｇ要素と、ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇ要素とを備える。従来のＭＶＣでは、４バイトのＭＶＣ  ＮＡＬユニットヘッダとＮＡＬユニットペイロードとを含む、プレフィックスＮＡＬユニットとＭＶＣコード化スライスＮＡＬユニットとを除いて、Ｈ．２６４によって定義されたＮＡＬユニットが保持される。
【０２３３】
[0227]ＮＡＬヘッダのｐｒｉｏｒｉｔｙ＿ｉｄ要素は、単純なワンパス（one-path）ビットストリーム適合プロセスのために使用され得る。ｔｅｍｐｏｒａｌ＿ｉｄ要素は、異なる時間レベルが異なるフレームレートに対応する場合、対応するＮＡＬユニットの時間レベルを指定するために使用され得る。
【０２３４】
[0228]ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇ要素は、ピクチャがアンカーピクチャであるか非アンカーピクチャであるかを示し得る。アンカーピクチャと出力順序（すなわち、表示順序）でそれに続くすべてのピクチャとは、復号順序（すなわち、ビットストリーム順序）で前のピクチャを復号することなしに正しく復号され得、したがってランダムアクセスポイントとして使用され得る。アンカーピクチャと非アンカーピクチャとは異なる依存性を有することができ、その両方はシーケンスパラメータセット中でシグナリングされる。他のフラグについては、本章の以下のセクションで説明され、使用される。そのようなアンカーピクチャは、開いたＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）アクセスポイントと呼ばれることもあり、ｎｏｎ＿ｉｄｒ＿ｆｌａｇ要素が０に等しいとき、閉じたＧＯＰアクセスポイントもサポートされる。ｎｏｎ＿ｉｄｒ＿ｆｌａｇ要素は、ピクチャが瞬時デコーダリフレッシュ（ＩＤＲ：instantaneous decoder refresh）であるかビューＩＤＲ（Ｖ−ＩＤＲ）ピクチャであるかを示す。概して、ＩＤＲピクチャと出力順序またはビットストリーム順序でそれに続くすべてのピクチャとは、復号順序または表示順序のいずれかで前のピクチャを復号することなしに正しく復号され得る。
【０２３５】
[0229]ｖｉｅｗ＿ｉｄ要素は、ＭＶＣデコーダ内でデータ対話性のために、たとえば、ビュー間予測のために、およびデコーダ外で、たとえば、レンダリングのために使用され得る、ビューを識別するために使用され得るシンタックス情報を備え得る。ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇ要素は、対応するＮＡＬユニットが他のビューによってビュー間予測のために使用されるかどうかを指定し得る。ＡＶＣに準拠し得る、ベースビューの４バイトＮＡＬユニットヘッダ情報を搬送するために、ＭＶＣにおいてプレフィックスＮＡＬユニットが定義される。ＭＶＣのコンテキストにおいて、ベースビューアクセスユニットは、ビューの現在時間インスタンスのＶＣＬ  ＮＡＬユニット、ならびにＮＡＬユニットヘッドのみを含んでいるプレフィックスＮＡＬユニットを含む。Ｈ．２６４／ＡＶＣデコーダはプレフィックスＮＡＬユニットを無視し得る。
【０２３６】
[0230]そのペイロード中にビデオデータを含むＮＡＬユニットは、様々なグラニュラリティレベルのビデオデータを備え得る。たとえば、ＮＡＬユニットは、ビデオデータのブロック、マクロブロック、複数のマクロブロック、ビデオデータのスライス、またはビデオデータのフレーム全体を備え得る。マルチプレクサ１３０は、ビデオエンコーダ１２８から符号化ビデオデータをエレメンタリストリームのＰＥＳパケットの形態で受信し得る。マルチプレクサ１３０は、ｓｔｒｅａｍ＿ｉｄを、たとえば、データベース中の、あるいはプログラムマップテーブル（ＰＭＴ）またはプログラムストリームマップ（ＰＳＭ）など、他のデータ構造中の対応するプログラムにマッピングすることによって、各エレメンタリストリームを対応するプログラムに関連付け得る。
【０２３７】
[0231]マルチプレクサ１３０はまた、複数のＮＡＬユニットからアクセスユニットをアセンブルし得る。概して、アクセスユニットは、ビデオデータのフレームを表すための１つまたは複数のＮＡＬユニット、そのフレームに対応するオーディオデータが利用可能なとき、そのようなオーディオデータも備え得る。アクセスユニットは、概して、１つの出力時間インスタンスにわたるすべてのＮＡＬユニット、たとえば１つの時間インスタンスにわたるすべてのオーディオおよびビデオデータを含む。たとえば、各ビューが１２０フレーム毎秒（ｆｐｓ）のフレームレートを有する場合、各時間インスタンスは０．０５秒の時間間隔に対応し得る。この時間間隔中に、同じアクセスユニット（同じ時間インスタンス）のすべてのビューの固有のフレームは同時にレンダリングされ得る。Ｈ．２６４／ＡＶＣに対応する例では、アクセスユニットは、１次コード化ピクチャとして提示され得る、１つの時間インスタンス中のコード化ピクチャを備え得る。したがって、アクセスユニットは、共通の時間インスタンスのすべてのオーディオおよびビデオフレーム、たとえば、時間Ｘに対応するすべてのビューを備え得る。本開示はまた、特定のビューの符号化ピクチャを「ビュー構成要素」と呼ぶ。すなわち、ビュー構成要素は、特定の時間における特定のビューの符号化ピクチャ（またはフレーム）を備え得る。したがって、アクセスユニットは、共通の時間インスタンスのすべてのビュー構成要素を備えるものと定義され得る。アクセスユニットの復号順序は、必ずしも出力または表示順序と同じである必要はない。
【０２３８】
[0232]マルチプレクサ１３０はまた、プログラムに関するデータをＮＡＬユニット中に埋め込み得る。たとえば、マルチプレクサ１３０は、プログラムマップテーブル（ＰＭＴ）またはプログラムストリームマップ（ＰＳＭ）を備えるＮＡＬユニットを作成し得る。概して、ＰＭＴはトランスポートストリームを記述するために使用され、ＰＳＭはプログラムストリームを記述するために使用される。図２の例に関して以下でより詳細に説明するように、マルチプレクサ１３０は、オーディオエンコーダ１２６とビデオエンコーダ１２８とから受信されたエレメンタリストリームをプログラムに関連付け、それに応じてそれぞれのトランスポートストリームおよび／またはプログラムストリームに関連付けるデータストレージユニットを備えるかあるいはそれと対話し得る。
【０２３９】
[0233]多くのビデオコーディング規格の場合と同様に、Ｈ．２６４／ＡＶＣおよびＨＥＶＣは、誤りのないビットストリームのシンタックスと、セマンティクスと、復号プロセスとを定義し、そのいずれも特定のプロファイルまたはレベルに準拠する。これらの規格は、エンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダの規格に準拠することを保証することを課される。ビデオコーディング規格のコンテキストでは、「プロファイル」は、アルゴリズム、機能、またはツール、およびそれらに適用される制約のサブセットに対応する。たとえば、Ｈ．２６４規格によって定義される「プロファイル」は、Ｈ．２６４規格によって指定されたビットストリームシンタックス全体のサブセットである。「レベル」は、たとえば、ピクチャの解像度、ビットレート、およびマクロブロック（ＭＢ）処理レートに関係するデコーダメモリおよび計算など、デコーダリソース消費の制限に対応する。
【０２４０】
[0234]Ｈ．２６４規格は、たとえば、所与のプロファイルのシンタックスによって課される限界内で、復号ピクチャの指定されたサイズなど、ビットストリーム中のシンタックス要素がとる値に応じて、エンコーダおよびデコーダのパフォーマンスの大きい変動を必要とする可能性が依然としてあることを認識している。Ｈ．２６４規格は、多くの適用例において、特定のプロファイル内でシンタックスのすべての仮定的使用を処理することが可能なデコーダを実装することが現実的でもなく、経済的でもないことをさらに認める。したがって、Ｈ．２６４規格は、ビットストリーム中のシンタックス要素の値に課された制約の規定されたセットとして「レベル」を定義する。これらの制約は、値に関する単純な制限であり得る。代替的に、これらの制約は、値の演算の組合せ（たとえば、ピクチャの幅×ピクチャの高さ×毎秒復号されるピクチャの数）に関する制約の形態をとり得る。Ｈ．２６４規格は、個々の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートし得ることをさらに規定する。
【０２４１】
[0235]プロファイルに準拠するデコーダは、通常、プロファイル中で定義されたすべての機能をサポートする。たとえば、コーディング機能として、Ｂピクチャコーディングは、Ｈ．２６４／ＡＶＣのベースラインプロファイルではサポートされないが、Ｈ．２６４／ＡＶＣの他のプロファイルではサポートされる。レベルに準拠するデコーダは、レベルにおいて定義された制限を超えてリソースを必要としない任意のビットストリームを復号することが可能である必要がある。プロファイルおよびレベルの定義は、解釈可能性のために役立ち得る。たとえば、ビデオ送信中に、プロファイル定義とレベル定義のペアが全送信セッションについてネゴシエートされ、同意され得る。より具体的には、Ｈ．２６４／ＡＶＣでは、レベルは、たとえば、処理される必要があるマクロブロックの数に関する制限と、復号されたピクチャバッファ（ＤＰＢ）のサイズと、コーディングされたピクチャバッファ（ＣＰＢ）のサイズと、垂直方向の動きベクトルの範囲と、２つの連続するＭＢごとの動きベクトルの最大数と、Ｂブロックが８×８ピクセル未満のサブマクロブロックパーティションを有することができるかどうかとを定義し得る。このようにして、デコーダは、デコーダがビットストリームを適切に復号することが可能であるかどうかを決定し得る。
【０２４２】
[0236]パラメータセットは、一般に、シーケンスパラメータセット（ＳＰＳ）中のシーケンスレイヤヘッダ情報とピクチャパラメータセット（ＰＰＳ）中のまれに変化するピクチャレイヤヘッダ情報とを含む。パラメータセットがある場合、このまれに変化する情報をシーケンスごとまたはピクチャごとに繰り返す必要はなく、したがってコーディング効率が改善され得る。さらに、パラメータセットの使用はヘッダ情報の帯域外送信を可能にし、誤り耐性を達成するための冗長送信の必要を回避し得る。帯域外送信では、他のＮＡＬユニットとは異なるチャネル上でパラメータセットＮＡＬユニットが送信される。
【０２４３】
[0237]ＭＰＥＧ−２システム規格は、「記述子」によってシステムの拡張を可能にする。ＰＭＴとＰＳＭの両方は、１つまたは複数の記述子が挿入され得る記述子ループを含む。概して、記述子は、プログラムおよび／またはプログラム要素の定義を拡張するために使用され得るデータ構造を備え得る。本開示は、本開示の技法を実行するための動作点記述子について説明する。概して、本開示の動作点記述子は、動作点のレンダリング能力と、復号能力と、ビットレートとを記述することによって、従来のＭＶＣ拡張記述子を拡張する。Ａ／Ｖ宛先デバイス１４０などの宛先デバイスは、復号されるべきビットストリームの動作点のうちの１つを選択するために、動作点ごとに動作点記述子を使用し得る。
【０２４４】
[0238]各ＰＭＴまたはＰＳＭは、動作点の特性を記述する動作点記述子を含み得る。たとえば、ソースデバイス１２０は、クライアント／宛先デバイス１４０のレンダリング能力を記述するレンダリング能力値を与えるために動作点記述子を与え得る。クライアントデバイス１４０が動作点のビデオデータを適切にレンダリング（たとえば、表示）するために、クライアントデバイス１４０は、レンダリング能力値によってシグナリングされたレンダリング能力を満たす必要がある。レンダリング能力値は、たとえば、表示されるべきビューの数（たとえば、レンダリングの対象となるビューの数）および／またはビューのビデオデータのフレームレートを記述し得る。したがって、クライアントデバイス１４０は、クライアントデバイス１４０のビデオ出力１４４が、動作点記述子によって指定されたフレームレートで、動作点のその数のビューを表示することができるとき、レンダリング能力が満たされると決定し得る。
【０２４５】
[0239]マルチプレクサ３０が、受信したデータからＮＡＬユニットおよび／またはアクセスユニットをアセンブルした後、マルチプレクサ３０はユニットを出力のために出力インターフェース１３２に渡す。出力インターフェース１３２は、たとえば、送信機、トランシーバ、たとえば、オプティカルドライブ、磁気メディアドライブ（たとえば、フロッピー（登録商標）ドライブ）など、コンピュータ可読媒体にデータを書き込むためのデバイス、ユニバーサルシリアルバス（ＵＳＢ）ポート、ネットワークインターフェース、または他の出力インターフェースを備え得る。出力インターフェース１３２は、ＮＡＬユニットまたはアクセスユニットを、たとえば、送信チャネル、磁気メディア、光メディア、メモリ、フラッシュドライブ、または他のコンピュータ可読媒体など、コンピュータ可読媒体１３４に出力する。
【０２４６】
[0240]最終的に、入力インターフェース１３６はコンピュータ可読媒体１３４からデータを取り出す。入力インターフェース１３６は、たとえば、オプティカルドライブ、磁気メディアドライブ、ＵＳＢポート、受信機、トランシーバ、または他のコンピュータ可読媒体インターフェースを備え得る。入力インターフェース１３６は、ＮＡＬユニットまたはアクセスユニットをデマルチプレクサ１３８に与え得る。デマルチプレクサ１３８は、トランスポートストリームまたはプログラムストリームを構成ＰＥＳストリームに多重分離し、符号化データを取り出すためにＰＥＳストリームをパケット化解除し、たとえば、ストリームのＰＥＳパケットヘッダによって示されるように、符号化データがオーディオまたはビデオストリームの一部であるかどうかに応じて、符号化データをオーディオデコーダ１４６またはビデオデコーダ１４８に送り得る。オーディオデコーダ１４６は、符号化オーディオデータを復号し、復号オーディオデータをオーディオ出力１４２に送り、ビデオデコーダ１４８は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをビデオ出力１４４に送る。ビデオ出力１４４は、シーンの複数のビュー、たとえばシーンの各ビューを同時に提示する立体視または自動立体視ディスプレイを使用するディスプレイを備え得る。
【０２４７】
[0241]特に、デマルチプレクサ１３８は、受信したビットストリームの動作点を選択し得る。たとえば、デマルチプレクサ１３８は、Ａ／Ｖ宛先デバイス１４０によって使用されるべき適切な動作点を選択するために、ビットストリームの動作点の特性を比較し得る。概して、デマルチプレクサ１３８は、ビデオデコーダ１４８によって復号され得る、ユーザにとって最高品質の閲覧エクスペリエンスを与える動作点の１つを選択しようと試み得る。たとえば、デマルチプレクサ１３８は、ビデオデコーダ１４８のレンダリング能力および復号能力を、ビットストリームの動作点記述子によってシグナリングされた、示唆されたレンダリング能力および復号能力と比較し得る。デマルチプレクサ１３８が決定するオブザ動作点はビデオデコーダ１４８によって適切に復号され得、デマルチプレクサ１３８は最高品質ビデオデータ（たとえば、最高フレームレートおよび／またはビットレート）を与える動作点を選択し得る。他の例では、デマルチプレクサ１３８は、たとえば、電力消費量など、他の考慮事項に基づいて、サポートされる動作点の１つを選択し得る。
【０２４８】
[0242]概して、システム１００は、図１のシステム１０に実質的に対応し得る。同様に、マルチプレクサ１３０は、図１のマルチプレクサ２１に実質的に対応し得、デマルチプレクサ１３８は、図１のデマルチプレクサ２９に実質的に対応し得、システム１００の他の同様に名前がつけられた構成要素は、図１の同様に名前がつけられた構成要素に実質的に対応し得る。したがって、マルチプレクサ１３０およびデマルチプレクサ１３８は、本開示で説明する様々な技法のいずれかを、単独でまたは任意の組合せで実行するように構成され得る。
【０２４９】
[0243]以下に、いくつかの例示的な使用事例について説明する。階層記述子と階層拡張記述子との使用を以下の例に示す。図５は、４つのエレメンタリストリーム中で搬送されるＬ−ＨＥＶＣビットストリームを示す一例を示す概念図である。たとえば、図５に示すように４つのエレメンタリストリーム中で搬送されるＬ−ＨＥＶＣビットストリームを含んでいるプログラムを仮定すると、各エレメンタリストリームについての依存情報は、次のようにシグナリングされる。
【０２５０】
ａ．  ｅｓＡがベースレイヤエレメンタリストリームであることを記述するために、ｅｓＡのための階層記述子が存在しなければならない。
【０２５１】
ｂ．  ｅｓＢがｅｓＡへの時間依存を有することを記述するために、ｅｓＢのための階層記述子が存在しなければならない。
【０２５２】
ｃ．  ｅｓＣがｅｓＡへのレイヤ依存を有することを記述するために、ｅｓＣのための階層拡張記述子が存在しなければならない。
【０２５３】
ｄ．  以下を記述するために、ｅｓＤのための階層拡張記述子が存在しなければならない。
【０２５４】
ｉ．  ｅｓＤがｅｓＢへのレイヤ依存を有する。
【０２５５】
ｉｉ．  ｅｓＤが、ｅｓＣへの時間依存を有する。
【０２５６】
[0244]階層記述子と階層拡張記述子との重複する使用を回避することの一代替としてまたはそれに追加して、以下が利用され得る。
【０２５７】
ａ．  ＨＥＶＣコード化ピクチャを搬送する各エレメンタリストリームについて、１つ（たとえば、正確に１つ）の記述子、階層記述子または階層拡張記述子のいずれか、が存在し、エレメンタリストリームに関連付けられ得る（一例では、そうでなければならない）。
【０２５８】
ｂ．  エレメンタリストリームが正確に１つの他の参照エレメンタリストリームへの依存（たとえば、時間、空間、マルチビューなど）を有する場合、階層記述子が存在し、エレメンタリストリームに関連付けられ得る（一例では、そうでなければならない）。現在のエレメンタリストリームの参照エレメンタリストリームは、現在のエレメンタリストリームによる直接依存するエレメンタリストリームである。
【０２５９】
ｃ．  エレメンタリストリームが２つ以上の参照エレメンタリストリームへの依存を有する場合、階層拡張記述子が存在し、エレメンタリストリームに関連付けられ得る（一例では、そうでなければならない）。
【０２６０】
[0245]図６は、エレメンタリストリーム間の依存の別の例である。図５と同様に、４つのエレメンタリストリーム中で搬送されるＬ−ＨＥＶＣビットストリームが示されている。図５に示した依存構造についてのこの代替または追加の例における階層記述子と階層拡張記述子との使用は、次の通りである。
【０２６１】
ａ．  ｅｓＡがベースレイヤエレメンタリストリームであることを記述するために、ｅｓＡのための階層記述子が存在しなければならない。
【０２６２】
ｂ．  ｅｓＢがｅｓＡへの時間依存を有することを記述するために、ｅｓＢのための階層記述子が存在しなければならない。
【０２６３】
ｃ．  ｅｓＣがｅｓＡへのレイヤ依存を有することを記述するために、ｅｓＣのための階層記述子が存在しなければならない。
【０２６４】
ｄ．  以下を記述するために、ｅｓＤのための階層拡張記述子が存在しなければならない。
【０２６５】
ｉｉｉ．  ｅｓＤがｅｓＢへのレイヤ依存を有する
ｉｖ．  ｅｓＤが、ｅｓＣへの時間依存を有する。
【０２６６】
[0246]図６中の所与の依存構造について、この代替における階層記述子と階層拡張記述子との使用は、次の通りである。
【０２６７】
ａ．  ｅｓＡがベースレイヤエレメンタリストリームであることを記述するために、ｅｓＡのための階層記述子が存在しなければならない。
【０２６８】
ｂ．  ｅｓＢがｅｓＡへの時間依存を有することを記述するために、ｅｓＢのための階層記述子が存在しなければならない。
【０２６９】
ｃ．  ｅｓＣがｅｓＢへのレイヤ依存を有することを記述するために、ｅｓＣのための階層記述子が存在しなければならない。
【０２７０】
ｄ．  ｅｓＤがｅｓＣへのレイヤ依存を有することを記述するために、ｅｓＤのための階層記述子が存在しなければならない。
【０２７１】
ｅ．  ｅｓＥがｅｓＤへの時間依存を有することを記述するために、ｅｓＥのための階層記述子が存在しなければならない。
【０２７２】
[0247]図７に、依存構造の別の例を示す。図７（場合によっては、図６）中の所与の依存構造について、この代替における階層記述子と階層拡張記述子との使用は、次の通りである。
【０２７３】
ａ．  ｅｓＡがベースレイヤエレメンタリストリームであることを記述するために、ｅｓＡのための階層記述子が存在しなければならない。
【０２７４】
ｂ．  ｅｓＢがｅｓＡへの時間依存を有することを記述するために、ｅｓＢのための階層記述子が存在しなければならない。
【０２７５】
ｃ．  ｅｓＣが単独でコーディングされたエレメンタリストリームであることを記述するために、ｅｓＣのための階層記述子が存在しなければならない。
【０２７６】
ｄ．  ｅｓＤがｅｓＣへの時間依存を有することを記述するために、ｅｓＤのための階層記述子が存在しなければならない。
【０２７７】
ｅ．  以下を記述するために、ｅｓＥのための階層拡張記述子が存在しなければならない。
【０２７８】
ｉ．  ｅｓＥがｅｓＣへのレイヤ依存を有する。
【０２７９】
ｉｉ．  ｅｓＥがｅｓＡへのレイヤ依存を有する。
【０２８０】
ｆ．  以下を記述するために、ｅｓＦのための階層拡張記述子が存在しなければならない。
【０２８１】
ｉｉｉ．  ｅｓＦが、ｅｓＥへの時間依存を有する。
【０２８２】
ｉｖ．  ｅｓＦがｅｓＤへのレイヤ依存を有する。
【０２８３】
ｖ．  ｅｓＦがｅｓＢへのレイヤ依存を有する。
【０２８４】
[0248]階層記述子と階層拡張記述子との重複する使用を回避するための第２の代替または追加の例では、以下が利用され得る。
【０２８５】
ａ．  エレメンタリストリームが時間依存を有する場合、階層記述子が存在し、エレメンタリストリームに関連付けられなければならない。
【０２８６】
ｂ．  エレメンタリストリームが正確に１つの他の参照エレメンタリストリームへのレイヤ依存（たとえば、空間、マルチビュー、品質）を有する場合、階層記述子が存在し、エレメンタリストリームに関連付けられなければならない。
【０２８７】
ｃ．  エレメンタリストリームが２つ以上の参照エレメンタリストリームへのレイヤ依存を有する場合、階層拡張記述子が存在し、エレメンタリストリームに関連付けられなければならない。
【０２８８】
[0249]図５（および場合によっては、図６または図７）に示した依存構造についてのこの代替または追加の例における階層記述子と階層拡張記述子との使用は、次の通りである。
【０２８９】
ａ．  ｅｓＡがベースレイヤエレメンタリストリームであることを記述するために、ｅｓＡのための階層記述子が存在しなければならない。
【０２９０】
ｂ．  ｅｓＢがｅｓＡへの時間依存を有することを記述するために、ｅｓＢのための階層記述子が存在しなければならない。
【０２９１】
ｃ．  ｅｓＣがｅｓＡへのレイヤ依存を有することを記述するために、ｅｓＣのための階層記述子が存在しなければならない。
【０２９２】
ｄ．  ｅｓＤがｅｓＣへの時間依存を有し、ｅｓＤがｅｓＢへのレイヤ依存を有することを記述するために、ｅｓＤのための２つの階層記述子が存在しなければならない。
【０２９３】
[0250]図７（場合によっては、図５または図６）に示す依存構造についてのこの代替における階層記述子と階層拡張記述子との使用は、次の通りである。
【０２９４】
ａ．  ｅｓＡがベースレイヤエレメンタリストリームであることを記述するために、ｅｓＡのための階層記述子が存在しなければならない。
【０２９５】
ｂ．  ｅｓＢがｅｓＡへの時間依存を有することを記述するために、ｅｓＢのための階層記述子が存在しなければならない。
【０２９６】
ｃ．  ｅｓＣが単独でコーディングされたエレメンタリストリームであることを記述するために、ｅｓＣのための階層記述子が存在しなければならない。
【０２９７】
ｄ．  ｅｓＤがｅｓＣへの時間依存を有することを記述するために、ｅｓＤのための階層記述子が存在しなければならない。
【０２９８】
ｅ．  以下を記述するために、ｅｓＥのための階層拡張記述子が存在しなければならない。
【０２９９】
ｖ．  ｅｓＥがｅｓＣへのレイヤ依存を有する。
【０３００】
ｖｉ．  ｅｓＥがｅｓＡへのレイヤ依存を有する。
【０３０１】
ｆ．  ｅｓＦがｅｓＥへの時間依存を有することを記述するために、ｅｓＦのための階層記述子が存在しなければならない。
【０３０２】
ｇ．  以下を記述するために、ｅｓＦのための階層拡張記述子が存在しなければならない。
【０３０３】
ｖｉｉ．  ｅｓＦがｅｓＤへのレイヤ依存を有する。
【０３０４】
ｖｉｉｉ．  ｅｓＦがｅｓＢへのレイヤ依存を有する。
【０３０５】
[0251]階層記述子と階層拡張記述子との重複する使用を回避することの第３の代替または追加の例では、階層記述子のみが使用されなければならず、階層拡張記述子は除去され得ることが提案されている。
【０３０６】
[0252]図５（場合によっては、図６または図７）に示した依存構造についてのこの代替における階層記述子の使用は、次の通りである。
【０３０７】
ａ．  ｅｓＡがベースレイヤエレメンタリストリームであることを記述するために、ｅｓＡのための階層記述子が存在しなければならない。
【０３０８】
ｂ．  ｅｓＢがｅｓＡへの時間依存を有することを記述するために、ｅｓＢのための階層記述子が存在しなければならない。
【０３０９】
ｃ．  ｅｓＣがｅｓＡへのレイヤ依存を有することを記述するために、ｅｓＣのための階層記述子が存在しなければならない。
【０３１０】
ｄ．  ｅｓＤがｅｓＣへの時間依存を有することを記述するために、ｅｓＤのための階層記述子が存在しなければならない。
【０３１１】
ｅ．  ｅｓＤがｅｓＢへのレイヤ依存を有することを記述するために、ｅｓＤのための階層記述子が存在しなければならない。
【０３１２】
[0253]階層記述子または階層拡張記述子またはその両方の存在時に、以下の２つのオプションが提案されている。
【０３１３】
ａ．  オプション１：ＨＥＶＣコード化ピクチャを含んでいる各エレメンタリストリームについて、依存情報を含んでいる少なくとも１つの記述子が存在しなければならない。
【０３１４】
ｂ．  オプション２：
ｉ．  プログラムが、ストリームタイプが同じ、ＨＥＶＣコード化ピクチャの２つ以上のエレメンタリストリームを含んでいるときのみ、依存情報を含んでいる記述子の存在が必須である。
【０３１５】
ｉｉ．  依存情報を含んでいる記述子がプログラム中に存在しないとき、ＨＥＶＣコード化ピクチャを含んでいるプログラム中の各エレメンタリストリームについて、エレメンタリストリームの各々のためのｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘの値は、エレメンタリストリームの第１のものに値０が与えられ、エレメンタリストリームの第２のものに値１が与えられ、エレメンタリストリームのｎ番目のものに値ｎ−１が与えられるように導出される。
【０３１６】
[0254]図５（場合によっては、図６または図７）に示した依存構造のための第２の代替または追加の例の例における階層記述子と階層拡張記述子との使用は、階層記述子または階層拡張記述子のいずれかを必要としない。エレメンタリストリームの各々は異なるタイプのものであるので、次のように推論され得るので、依存情報のための記述子をシグナリングする必要がない。
【０３１７】
ａ．  ｅｓＡは、ベースレイヤエレメンタリストリームである
ｂ．  ｅｓＢは、ｅｓＡへの時間依存を有する
ｃ．  ｅｓＣは、ｅｓＡへのマルチビュー依存を有する
ｄ．  ｅｓＤは、ｅｓＣにマルチビュー依存とｅｓＢへの時間依存との両方を有する。
【０３１８】
[0255]さらに、プログラムマップテーブル中のそれらのエレメンタリストリームの順序は、ｅｓＡ、ｅｓＢ、ｅｓＣおよびｅｓＣである。
【０３１９】
[0256]最後に、各エレメンタリストリームのｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘの値は、ｅｓＡのｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘは０に等しく、ｅｓＢのｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘは１に等しく、ｅｓＣのｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘは２に等しく、ｅｓＤのｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘは４に等しくなるように導出される。
【０３２０】
[0257]この以下のものは、上記で説明した１つまたは複数の例示的な技法の実装形態のための例である。上記の提案を実装するために示唆されるテキストを与える。
【０３２１】
[0258]階層拡張記述子を改善するために、ｅｘｔｅｎｓｉｏｎ＿ｄｉｍｅｎｓｉｏｎ＿ｂｉｔｓのセマンティックを次のように更新する。イタリック体のテキストは、ＭＰＥＧ−２ＴＳ規格の更新を表す。
【０３２２】
[0259]ｅｘｔｅｎｓｉｏｎ＿ｄｉｍｅｎｓｉｏｎ＿ｂｉｔｓ−０に等しいｎｕｈ＿ｌａｙｅｒ＿ｉｄをもつレイヤのプログラム要素から生じるベースレイヤからの関連するプログラム要素の可能な拡張を示す１６ビットフィールド。
【０３２３】
エンハンスメント次元へのビットの割当ては、表Ａｍｄ７−４中の以下の通りである。
【０３２４】
【表９】
0006594967.tif 000010
【０３２５】
[0260]時間拡張のために割り当てられたビットへのインデックスの値は予約された値（たとえば、５〜１５）のいずれかであり得ることに留意されたい。
【０３２６】
[0261]階層記述子の改善のために、階層記述子中での補助レイヤ拡張のサポートのための例の実装のために以下の変更が提案されている。更新された部分はグレーに強調表示されており、［［］］は削除を示すことに留意されたい。
項２．６．６
表２−４９を以下で置き換える
【０３２７】
【表１０】
0006594967.tif 000011
【０３２８】
項２．６．７
置き換え前：
ｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームのフレームレートを拡張することを示す。このフラグの「１」の値は予約済みである。
【０３２９】
ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームの空間解像度を拡張することを示す。このフラグの「１」の値は予約済みである。
【０３３０】
ｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームのＳＮＲ品質または忠実度を拡張することを示す。このフラグの「１」の値は予約済みである。
【０３３１】
ｈｉｅｒａｒｃｈｙ＿ｔｙｐｅ−関連する階層レイヤとそれの階層埋め込み済みレイヤの階層関係が表２−５０において定義されている。スケーラビリティが２つ以上の次元において適用される場合、このフィールドは、「８」の値（「合成スケーラビリティ」）に設定されることになり、フラグｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、およびｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇはそれに応じて設定されることになる。ＭＶＣビデオサブビットストリームの場合、このフィールドは、「９」の値（「ＭＶＣビデオサブビットストリーム」）に設定されることになり、フラグｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、およびｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになる。ＭＶＣベースビューサブビットストリームの場合、このフィールドは、「１５」の値に設定されることになり、フラグｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇおよびｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになる。ＭＶＣＤビデオサブビットストリームの場合、このフィールドは、「９」の値（「ＭＶＣＤビデオサブビットストリーム」）に設定されることになり、フラグｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、およびｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになる。ＭＶＣＤベースビューサブビットストリームの場合、このフィールドは、「１５」の値に設定されることになり、フラグｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇおよびｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになる。
入替え後：
ｎｏ＿ｖｉｅｗ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームのビューの数を拡張することを示す。このフラグの「１」の値は予約済みである。
【０３３２】
ｎｏ＿ｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームのフレームレートを拡張することを示す。このフラグの「１」の値は予約済みである。
【０３３３】
ｎｏ＿ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームの空間解像度を拡張することを示す。このフラグの「１」の値は予約済みである。
【０３３４】
ｎｏ＿ｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じるビットストリームのＳＮＲ品質または忠実度を拡張することを示す。このフラグの「１」の値は予約済みである。
【０３３５】
ｈｉｅｒａｒｃｈｙ＿ｔｙｐｅ−関連する階層レイヤとそれの階層埋め込み済みレイヤの階層関係が表２−５０において定義されている。スケーラビリティが２つ以上の次元において適用される場合、このフィールドは、「８」の値（「合成スケーラビリティ」）に設定されることになり、フラグｎｏ＿ｖｉｅｗ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇおよびｎｏ＿ｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇはそれに応じて設定されることになる。ＭＶＣビデオサブビットストリームの場合、このフィールドは、「９」の値（「ＭＶＣビデオサブビットストリーム」）に設定されることになり、フラグｎｏ＿ｖｉｅｗ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇおよびｎｏ＿ｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになる。ＭＶＣベースビューサブビットストリームの場合、このフィールドは、「１５」の値に設定されることになり、フラグｎｏ＿ｖｉｅｗ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、［［および］］ｎｏ＿ｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになり、ｎｏ＿ａｕｘｉｌｉａｒｙ＿ｆｌａｇは、「１」に設定されることになる。ＭＶＣＤビデオサブビットストリームの場合、このフィールドは、「９」の値（「ＭＶＣＤビデオサブビットストリーム」）に設定されることになり、フラグｎｏ＿ｖｉｅｗ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇおよびｎｏ＿ｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになる。ＭＶＣＤベースビューサブビットストリームの場合、このフィールドは、「１５」の値に設定されることになり、フラグｎｏ＿ｖｉｅｗ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｔｅｍｐｏｒａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、ｎｏ＿ｓｐａｔｉａｌ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇ、［［および］］ｎｏ＿ｑｕａｌｉｔｙ＿ｓｃａｌａｂｉｌｉｔｙ＿ｆｌａｇは、「１」に設定されることになり、ｎｏ＿ａｕｘｉｌｉａｒｙ＿ｆｌａｇは、「１」に設定されることになる。
【０３３６】
ｎｏ＿ａｕｘｉｌｉａｒｙ＿ｆｌａｇ−１ビットフラグは、「０」に設定されると、関連するプログラム要素が、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘによって参照されるプログラム要素から生じる補助拡張を与えることを示す。このフラグの「１」の値は予約済みである。
【０３３７】
表２−５０において値１５についての説明を、次のように置き換える。
【０３３８】
【表１１】
0006594967.tif 000012
【０３３９】
[0262]階層記述子と階層拡張記述子との提案された使用のために、階層記述子と階層拡張記述子との重複する使用を回避する実装形態のために以下の変更が提案されている。
【０３４０】
[0263]Ｌ−ＨＥＶＣ  ＴＳドラフトのセクション２．１７．１の箇条書きリストの終わりに以下を追加する。
【０３４１】
ａ．  ０ｘ２４および０ｘ２５に等しいｓｔｒｅａｍ＿ｔｙｐｅをもつエレメンタリストリームごとに１つの階層記述子が存在しなければならない。
【０３４２】
ｂ．  ０ｘ２７、０ｘ２８、０ｘ２９および０ｘ２Ａに等しいｓｔｒｅａｍ＿ｔｙｐｅをもつエレメンタリストリームごとに１つの階層拡張記述子が存在しなければならない。
【０３４３】
[0264]重複することを回避する実装形態のために以下の変更が提案されている。
【０３４４】
[0265]Ｌ−ＨＥＶＣ  ＴＳドラフトのセクション２．１７．１の箇条書きリストの終わりに以下を追加する。
【０３４５】
ａ．  ０ｘ２４および０ｘ２５に等しいｓｔｒｅａｍ＿ｔｙｐｅをもつエレメンタリストリームごとに１つの階層記述子が存在しなければならない。
【０３４６】
ｂ．  ０ｘ２７、０ｘ２８、０ｘ２９および０ｘ２Ａに等しいｓｔｒｅａｍ＿ｔｙｐｅをもつ各エレメンタリストリームについて、以下が適用される。
【０３４７】
ｉ．  エレメンタリストリームが正確に１つの他のエレメンタリストリームを拡張する場合、１つの階層記述子を提示しなければならない。
【０３４８】
ｉｉ．  そうでない場合、１つの階層拡張記述子を提示しなければならない
[0266]階層記述子と階層拡張記述子との提案された使用の第２の代替または追加の例について、次に説明する。重複することを回避する実装形態のために以下の変更が提案されている。
【０３４９】
[0267]Ｌ−ＨＥＶＣ  ＴＳドラフトのセクション２．１７．１の箇条書きリストの終わりに以下を追加する。
【０３５０】
ａ．  ０ｘ２４に等しいｓｔｒｅａｍ＿ｔｙｐｅをもつエレメンタリストリームについて、１５に等しいｈｉｅｒａｒｃｈｙ＿ｔｙｐｅをもつ１つの階層記述子を提示しなければならない。
【０３５１】
ｂ．  ０ｘ２５、０ｘ２８および０ｘ２９に等しいｓｔｒｅａｍ＿ｔｙｐｅをもつ各エレメンタリストリームについて、３に等しいｈｉｅｒａｒｃｈｙ＿ｔｙｐｅをもつ１つの階層記述子が存在しなければならない。
【０３５２】
ｃ．  ０ｘ２７、０ｘ２８、０ｘ２９および０ｘ２Ａに等しいｓｔｒｅａｍ＿ｔｙｐｅをもつ各エレメンタリストリームについて、以下が適用される。
【０３５３】
ｉ．  エレメンタリストリームが正確に１つの他のエレメンタリストリームを拡張する場合、３に等しくないｈｉｅｒａｒｃｈｙ＿ｔｙｐｅをもつ１つの階層記述子を提示しなければならない。
【０３５４】
ｉｉ．  そうでない場合、１つの階層拡張記述子を提示しなければならない
[0268]階層記述子と階層拡張記述子との提案された使用の第３の代替または追加。重複することを回避する実装形態のために以下の変更が提案されている。
【０３５５】
[0269]Ｌ−ＨＥＶＣ  ＴＳドラフトのセクション２．１７．１の箇条書きリストの終わりに以下を追加する。
【０３５６】
ａ．  ０ｘ２４および０ｘ２５に等しいｓｔｒｅａｍ＿ｔｙｐｅをもつ各エレメンタリストリームについて、１つの階層記述子を提示しなければならない。
【０３５７】
ｂ．  ０ｘ２７、０ｘ２８、０ｘ２９または０ｘ２Ａに等しいｓｔｒｅａｍ＿ｔｙｐｅをもつ各エレメンタリストリームについて、１つまたは複数の階層記述子を提示しなければならない。
【０３５８】
[0270]追加または代替として、ＨＥＶＣビデオ記述子は、０ｘ２４および０ｘ２５に等しいｓｔｒｅａｍ＿ｔｙｐｅをもつ各エレメンタリストリームに必須であり得る。同様に、ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２２２．０｜ＩＳＯ／ＩＥＣ１３８１８−１プログラムが、０ｘ２７、０ｘ２８、０ｘ２９または０ｘ２Ａに等しいｓｔｒｅａｍ＿ｔｙｐｅをもつ１つまたは複数のエレメンタリストリームを含むとき、少なくとも１つのＨＥＶＣ動作点記述子は、プログラムに関連するプログラムマップテーブル中に必須であり得る。
【０３５９】
[0271]図８は、ビデオデータの複数のレイヤの一例を示す概念図である。動作点情報がＨＥＶＣ動作点記述子、たとえば、上記で説明した提案された表Ａｍｄ７−１のＨＥＶＣ動作点記述子とともにシグナリングされ得る一例について、図８のビデオデータに関して説明する。図８は、５つのエレメンタリストリームに区分された、階層化されたＨＥＶＣビットストリームの５つのレイヤを有するプログラムの一例を表す。各エレメンタリストリームの依存は、図８にレイヤ間の矢印によって示した通りである。依存は、いくつかの例では、階層拡張記述子のデータによって記述され得る。
【０３６０】
[0272]限られた数のバイトを記述子が有することができるので、動作点のシグナリングは、以下に示すように、２つのＨＥＶＣ動作点記述子に分割され得る。第１のＨＥＶＣ動作点記述子は、この例では、最初の３つのＰＴＬ構造と最初の２つの動作点とについての情報を含んでいるが、第２のＨＥＶＣ動作点記述子は、次の２つのＰＴＬ構造と次の２つの動作点とについての情報を含んでいる。
【０３６１】
【数１】
0006594967.tif 000013
【０３６２】
[0273]ビットを節約するために、いくつかの動作点について、ｐｒｅｐａｎｄ＿ｄｅｐｅｎｄｅｎｃｉｅｓ［ｏｐＩｄｘ］の値が１に等しく設定され、動作点のエレメンタリストリームのリストが、階層拡張記述子中でシグナリングされる依存情報に基づいて導出され得ることに留意されたい。
【０３６３】
[0274]図９は、本開示の技法による例示的な方法を示す流れ図である。この例では、図９の方法を、図１のデマルチプレクサ２９に関して説明する。ただし、他のデバイスが、図４のデマルチプレクサ１３８またはソースデバイスと宛先デバイスとの間に位置するメディアアウェアネットワーク要素（ＭＡＮＥ）など、図９の方法を実行するように構成され得ることを理解されたい。さらに、逆方法は、図１のマルチプレクサ２１または図４のマルチプレクサ１３０などのマルチプレクサによって実行され得る。
【０３６４】
[0275]最初に、この例では、デマルチプレクサ２９は、ビットストリームから、提案された表Ａｍｄ７−１に従ってＨＥＶＣ動作点記述子などの記述子を抽出する（１５０）。デマルチプレクサ２９は、次いで、記述子から１つまたは複数のプロファイル、ティア、およびレベル（ＰＴＬ）構造を取り出す（１５２）。たとえば、ＰＴＬ構造は、上記で説明した提案された表Ａｍｄ７−１の「ｆｏｒ（ｉ＝０；ｉ＜ｎｕｍ＿ｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ；ｉ＋＋，ｐｔｌＩｄｘ＋＋）」ループのデータに対応し得る。
【０３６５】
[0276]デマルチプレクサ２９は、エレメンタリストリーム（すなわち、レイヤ）間の依存を決定し得る（１５４）。依存は、ＨＥＶＣ動作点記述子中で、または別個の記述子中でシグナリングされ得る。たとえば、デマルチプレクサ２９は、上記で説明したように、依存を示す情報を含む（たとえば、表２−４９に従って）階層記述子または階層拡張記述子を抽出し得る。
【０３６６】
[0277]デマルチプレクサ２９はまた、ＰＴＬ構造のうちのどれが複数の動作点の各々の各レイヤに対応するのかを決定する（１５６）。たとえば、デマルチプレクサ２９は、上記で説明した提案された表Ａｍｄ７−１の「ｆｏｒ（ｊ＝０；ｊ＜ｎｕｍ＿ｌａｙｅｒｓ［ｏｐＩｄｘ］；ｊ＋＋）」ループからこの対応を決定し得る。
【０３６７】
[0278]いくつかの例では、デマルチプレクサ２９は、ＰＴＬ構造の各々のＰＴＬ情報、たとえば、ｐｒｏｆｉｌｅ＿ｉｄｃ［ｐｔｌＩｄｘ］、ｔｉｅｒ＿ｆｌａｇ［ｐｔｌＩｄｘ］、およびｌｅｖｅｌ＿ｉｄｃ［ｐｔｌＩｄｘ］の値を決定するためにＰＴＬ構造を繰返し処理し得る。デマルチプレクサ２９は、記述子中でシグナリングされるＰＴＬ構造の各々（すなわち、ｐｔｌＩｄｘ値のうちの１つに対応するＰＴＬ構造の各々）を表すデータ構造を形成し得る。デマルチプレクサ２９は、さらにレイヤのうちの対応する１つのためのプロファイル、ティア、およびレベル情報を決定するために、レイヤのうちの対応する１つをＰＴＬ構造のうちの１つにマッピングする動作点の各々のレイヤの各々のためのＰＴＬ参照インデックスの値を取り出し得る。たとえば、提案された表Ａｍｄ７−１のｐｔｌ＿ｒｅｆ＿ｉｄｘ［ｏｐＩｄｘ］［ｊ］は、動作点「ｏｐＩｄｘ」のレイヤ「ｊ」をＰＴＬ構造のうちの１つにマッピングする値を有するシンタックス要素の一例を表す。
【０３６８】
[0279]さらに、デマルチプレクサ２９は、動作点の各々のための出力レイヤセットを決定し得る（１５８）。たとえば、デマルチプレクサ２９は、上記で説明した提案された表Ａｍｄ７−１のｔａｒｇｅｔ＿ｏｌｓ［ｏｐＩｄｘ］シンタックス要素から、レイヤのうちのどれが動作点の各々のための出力レイヤセット中に含まれるのかを決定し得る。一例では、デマルチプレクサ２９は、記述子から動作点の各々のためのｔａｒｇｅｔ＿ｏｌｓ［ｏｐＩｄｘ］シンタックス要素の値を取り出し、これが、対応する動作点に関連付けられたターゲット出力レイヤセットを指定する。
【０３６９】
[0280]記述子についての情報に基づいて、デマルチプレクサ２９は、動作点を選択する（１６０）。たとえば、デマルチプレクサ２９は、ビデオデコーダ３０によって復号され得る動作点のうちの１つを決定し得る。動作点は、動作点のビデオデータが対応するプロファイル、ティア、およびレベル要素をビデオデコーダがサポートするとき、ビデオデコーダによって復号され得る。したがって、ビデオデコーダ３０が、記述子からのＰＴＬ情報によって示される動作点の少なくともプロファイル、ティア、およびレベルをサポートする場合、デマルチプレクサ２９は動作点を選択し得る。デマルチプレクサ２９は、さらに、たとえば、動作点のための記述子の出力レイヤセット情報によって示される、出力レイヤセット中のいくつかのターゲット出力レイヤなどの他の特性に選択の基礎をおき得る。特に、デマルチプレクサ２９は、ディスプレイデバイス３２が動作点のためのターゲット出力レイヤの数に等しいいくつかのビューをレンダリングすることができるかどうかを決定し得る。復号および表示され得る複数の動作点がある場合、デマルチプレクサ２９は、表示され得る最大数のビューをも含む最高のプロファイル、ティア、およびレベルをもつ動作点を選択し得る。追加または代替として、デマルチプレクサ２９は、選択されるべき動作点を示す入力をユーザから受信し得る。
【０３７０】
[0281]このようにして、一例では、デマルチプレクサ２９は、ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のプロファイルと、ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のティアと、ビデオデコーダがサポートする１つまたは複数のティア内の１つまたは複数のレベルとを決定し、次いで、動作点のうちの１つのレイヤが対応するＰＴＬ構造によって示されるように、動作点のうちの１つのレイヤの各々が、ビデオデコーダがサポートするプロファイルのうちの１つを有し、動作点のうちの１つのレイヤの各々が、ビデオデコーダがサポートするティアのうちの１つを有し、動作点のうちの１つのレイヤの各々が、ビデオデコーダがサポートするレベルのうちの１つを有するように動作点のうちの１つを選択し得る。
【０３７１】
[0282]デマルチプレクサ２９は、次いで、選択された動作点に対応するエレメンタリストリームを抽出し得る（１６２）。抽出されるべきエレメンタリストリームは、ターゲット出力レイヤセットの各々についてのデータを含むエレメンタリストリームならびに（たとえば、時間および／またはビュー間予測についての）ターゲット出力レイヤセットが依存するデータを含むエレメンタリストリームを含み得る。デマルチプレクサ２９は、次いで、ビデオデコーダ３０に抽出されたエレメンタリストリームを送り得る（１６４）。
【０３７２】
[0283]このようにして、図９の方法は、ビットストリームから記述子を抽出することと、ここにおいて、ビットストリームは、記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点は、ビデオデータのレイヤのうちの１つまたは複数を含む、ここにおいて、記述子は、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、動作点の各々のレイヤの各々をＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、動作点のうちの１つのレイヤが対応するＰＴＬ構造に少なくとも部分的に基づいてビットストリームから動作点のうちの１つについてのビデオデータを抽出することと、ビデオデコーダに抽出されたビデオデータを与えることとを含む方法の一例を表す。
【０３７３】
[0284]例によっては、本明細書で説明された技法のうちのいずれかの、いくつかの動作またはイベントは、異なる順序で実行され得、追加、統合、または完全に除外され得る（たとえば、すべての説明された動作またはイベントが、本技法の実施のために必要であるとは限らない）ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実施され得る。
【０３７４】
[0285]１つまたは複数の例において、前述の機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実施される場合、機能は、コンピュータ可読媒体上の１つもしくは複数の命令またはコード上に記憶され、あるいはこれを介して伝送され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従う、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形のコンピュータ可読記憶媒体、または（２）信号もしくはキャリア波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０３７５】
[0286]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、任意の接続が、コンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含むのではなく、非一時的な有形の記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピーディスク（disk）、およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲の中に含まれるべきである。
【０３７６】
[0287]命令は、１つもしくは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは他の同等の集積回路またはディスクリート論理回路などの１つもしくは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または、本明細書で説明する技法の実装に好適な他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成されるか、または複合コーデックに組み込まれる、専用のハードウェアモジュールおよび／もしくはソフトウェアモジュール内で提供され得る。また、本技法は、１つもしくは複数の回路または論理要素で十分に実装され得る。
【０３７７】
[0288]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）もしくはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。そうではなく、上記で説明したように、様々なユニットは、コーデックハードウェアユニット中で組み合わせられるか、または上記で説明した１つもしくは複数のプロセッサを含む、適切なソフトウェアおよび／またはファームウェアとともに相互動作可能なハードウェアユニットの集合によって提供され得る。
【０３７８】
[0289]様々な例が、説明された。これらおよび他の例は、以下の特許請求の範囲に含まれる。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを含むビットストリームを処理する方法であって、
前記ビットストリームから記述子を抽出することと、ここにおいて、前記ビットストリームが、前記記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点が、ビデオデータの前記レイヤのうちの１つまたは複数を含む、ここにおいて、前記記述子が、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、
前記動作点のうちの１つの前記レイヤが対応する前記ＰＴＬ構造に少なくとも部分的に基づいて前記ビットストリームから前記動作点のうちの前記１つについてのビデオデータを抽出することと、
ビデオデコーダに前記抽出されたビデオデータを与えることと
を備える方法。
［Ｃ２］
前記ビデオデータを抽出することが、
前記ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のプロファイルと、前記ビデオデコーダがサポートする前記ビデオコーディング規格の１つまたは複数のティアと、前記ビデオデコーダがサポートする前記１つまたは複数のティア内の１つまたは複数のレベルとを決定することと、
前記動作点のうちの前記１つの前記レイヤが対応する前記ＰＴＬ構造によって示されるように、前記動作点のうちの選択された１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記プロファイルのうちの１つを有し、前記動作点のうちの前記選択された１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記ティアのうちの１つを有し、前記動作点のうちの前記選択された１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記レベルのうちの１つを有するように前記動作点のうちの前記１つを選択することと
を備える、Ｃ１に記載の方法。
［Ｃ３］
前記ＰＴＬ構造の各々についての少なくともプロファイル情報と、ティア情報と、レベル情報とを決定するために前記ＰＴＬ構造を繰返し処理することと、
前記動作点の各々の前記レイヤの各々について、前記記述子から、前記レイヤのうちの対応する１つについての前記プロファイル、ティア、およびレベル情報を決定するために、前記レイヤのうちの前記対応する１つを前記ＰＴＬ構造のうちの１つにマッピングするＰＴＬ参照インデックスの値を取り出すことと
をさらに備える、Ｃ１に記載の方法。
［Ｃ４］
前記ＰＴＬ構造の各々が、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅ値、ｇｅｎｅｒａｌ＿ｔｉｅｒ＿ｆｌａｇ値、複数のｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｉｄｃ値、ｉ番目のｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｉｄｃ値のｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｃｏｍｐａｔｉｂｉｌｉｔｙ＿ｆｌａｇ［ｉ］値、ｇｅｎｅｒａｌ＿ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｏｕｒｃｅ＿ｆｌａｇ値、ｇｅｎｅｒａｌ＿ｉｎｔｅｒｌａｃｅｄ＿ｓｏｕｒｃｅ＿ｆｌａｇ値、ｇｅｎｅｒａｌ＿ｎｏｎ＿ｐａｃｋｅｄ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ値、ｇｅｎｅｒａｌ＿ｆｒａｍｅ＿ｏｎｌｙ＿ｃｏｎｓｔｒａｉｎｔ＿ｆｌａｇ値、ｇｅｎｅｒａｌ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿４４ｂｉｔｓ値、およびｌｅｖｅｌ＿ｉｄｃ値を表すデータを含む、Ｃ１に記載の方法。
［Ｃ５］
前記記述子が、動作点のリストについての情報を含む、前記情報が、前記対応する動作点のための関連する出力レイヤセットと、前記対応する動作点のための関連する区分方式と、前記対応する動作点のための最高時間サブレイヤと、前記対応する動作点を構成するエレメンタリストリームのリストと、前記対応する動作点のための出力レイヤの数と、前記動作点の各エレメンタリストリーム中に含まれているレイヤの前記ＰＴＬ構造へのマッピングと、前記対応する動作点についてのフレームレート情報とを含む、Ｃ１に記載の方法。
［Ｃ６］
前記ビデオデータを抽出することが、
前記記述子のデータに基づいて前記動作点のうちの前記１つのための出力レイヤセットを決定することと、
前記ビットストリームから前記出力レイヤセットの各レイヤを抽出することと、
前記ビットストリームから前記出力レイヤセットの前記レイヤが依存するレイヤを抽出することと
を備える、Ｃ１に記載の方法。
［Ｃ７］
前記出力レイヤセットを決定することが、前記記述子から、前記動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値を取り出すことを備える、ここにおいて、前記ターゲット出力レイヤセットシンタックス要素が、前記対応する動作点に関連する前記ターゲット出力レイヤセットを指定する、Ｃ６に記載の方法。
［Ｃ８］
前記出力レイヤセットを決定することが、前記記述子から、前記レイヤの各々のためのフラグの値を取り出すことを備える、ここにおいて、前記フラグが、前記対応するレイヤが出力レイヤであるかどうかを示す、Ｃ６に記載の方法。
［Ｃ９］
前記ビットストリームから少なくとも１つのエレメンタリストリームのための１つまたは複数の参照エレメンタリストリームを示す情報を抽出することをさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
前記１つまたは複数の参照エレメンタリストリームの前記ビデオデータが、１つまたは複数の時間レイヤの第１のセットにビデオデータを備える、ここにおいて、前記少なくとも１つのエレメンタリストリームの前記ビデオデータが、前記第１のセットの前記時間レイヤよりも高い時間レイヤのビデオデータを備える、Ｃ９に記載の方法。
［Ｃ１１］
拡張次元ビットシンタックス要素のビットの値を処理すること、ここにおいて、前記拡張次元ビットシンタックス要素の少なくとも１つのビットが、前記少なくとも１つのエレメンタリストリームの前記ビデオデータが時間拡張を表すことを示す値を有する、をさらに備える、Ｃ１０に記載の方法。
［Ｃ１２］
前記記述子のｈｉｅｒａｒｃｈｙ＿ｔｙｐｅシンタックス要素の値を処理すること、ここにおいて、前記値が、前記現在のエレメンタリストリームの前記ビデオデータと前記１つまたは複数の参照エレメンタリストリームとの間の拡張のためのタイプが補助タイプであることを示す、をさらに備える、Ｃ１０に記載の方法。
［Ｃ１３］
前記記述子を抽出することが、前記ビットストリームから複数の記述子を抽出することを備える、前記記述子の各々が、前記ビットストリーム中で連続しており、ＰＴＬ構造のそれぞれのセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、Ｃ１に記載の方法。
［Ｃ１４］
前記記述子が、プログラムレベルの記述子を備える、Ｃ１に記載の方法。
［Ｃ１５］
前記記述子が、エレメンタリストリームレベルの記述子を備える、Ｃ１に記載の方法。
［Ｃ１６］
前記記述子を抽出することが、前記ビットストリームのプログラムマップテーブルのｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを備える、Ｃ１に記載の方法。
［Ｃ１７］
前記記述子を抽出することが、前記ビットストリームのプログラムマップテーブルのＥＳ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを備える、Ｃ１に記載の方法。
［Ｃ１８］
前記ビットストリームのプログラムの１つまたは複数のエレメンタリストリームのためのストリームタイプに基づいて前記記述子が前記ビットストリーム中に含まれるかどうかを決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ１９］
前記ビットストリームのプログラムの少なくとも１つのエレメンタリストリームのためのストリームタイプが、０ｘ２７、０ｘ２８、０ｘ２９、または０ｘ２Ａの値を有するとき、前記記述子が前記ビットストリーム中に含まれると決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ２０］
ビデオデータを含むビットストリームを処理するためのデバイスであって、
前記ビットストリームから抽出されたデータを記憶するためのメモリと、
前記ビットストリームから記述子を抽出することと、ここにおいて、前記ビットストリームが、前記記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点が、ビデオデータの前記レイヤのうちの１つまたは複数を含む、ここにおいて、前記記述子が、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、
前記動作点のうちの１つの前記レイヤが対応する前記ＰＴＬ構造に少なくとも部分的に基づいて前記ビットストリームから前記動作点のうちの前記１つについてのビデオデータを抽出することと、
ビデオデコーダに前記抽出されたビデオデータを与えることと
を行うように構成された１つまたは複数の処理ユニットと
を備えるデバイス。
［Ｃ２１］
前記１つまたは複数の処理ユニットが、
前記ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のプロファイルと、前記ビデオデコーダがサポートする前記ビデオコーディング規格の１つまたは複数のティアと、前記ビデオデコーダがサポートする前記１つまたは複数のティア内の１つまたは複数のレベルとを決定することと、
前記動作点のうちの前記１つの前記レイヤが対応する前記ＰＴＬ構造によって示されるように、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記プロファイルのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記ティアのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記レベルのうちの１つを有するように前記動作点のうちの前記１つを選択することと
を行うようにさらに構成された、Ｃ２０に記載のデバイス。
［Ｃ２２］
前記１つまたは複数の処理ユニットが、
前記ＰＴＬ構造の各々についての少なくともプロファイル情報と、ティア情報と、レベル情報とを決定するために前記ＰＴＬ構造を繰返し処理することと、
前記動作点の各々の前記レイヤの各々について、前記記述子から、前記レイヤのうちの対応する１つについての前記プロファイル、ティア、およびレベル情報を決定するために、前記レイヤのうちの前記対応する１つを前記ＰＴＬ構造のうちの１つにマッピングするＰＴＬ参照インデックスの値を取り出すことと
を行うようにさらに構成された、Ｃ２０に記載のデバイス。
［Ｃ２３］
前記記述子が、動作点のリストについての情報を含む、前記情報が、前記対応する動作点のための関連する出力レイヤセットと、前記対応する動作点のための関連する区分方式と、前記対応する動作点のための最高時間サブレイヤと、前記対応する動作点を構成するエレメンタリストリームのリストと、前記対応する動作点のための出力レイヤの数と、前記動作点の各エレメンタリストリーム中に含まれているレイヤの前記ＰＴＬ構造へのマッピングと、前記対応する動作点についてのフレームレート情報とを含む、Ｃ２０に記載のデバイス。
［Ｃ２４］
前記１つまたは複数の処理ユニットが、
前記記述子のデータに基づいて前記動作点のうちの前記１つのための出力レイヤセットを決定することと、
前記ビットストリームから前記出力レイヤセットの各レイヤを抽出することと、
前記ビットストリームから前記出力レイヤセットの前記レイヤが依存するレイヤを抽出することと
を行うようにさらに構成された、Ｃ２０に記載のデバイス。
［Ｃ２５］
前記出力レイヤセットを決定するために、前記１つまたは複数のプロセッサが、前記記述子から、前記動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値を取り出すこと、ここにおいて、前記ターゲット出力レイヤセットシンタックス要素が、前記対応する動作点に関連する前記ターゲット出力レイヤセットを指定する、を行うように構成された、Ｃ２４に記載のデバイス。
［Ｃ２６］
前記出力レイヤセットを決定するために、前記１つまたは複数のプロセッサが、前記記述子から、前記レイヤの各々のためのフラグの値を取り出すこと、ここにおいて、前記フラグが、前記対応するレイヤが出力レイヤであるかどうかを示す、を行うように構成された、Ｃ２４に記載のデバイス。
［Ｃ２７］
前記１つまたは複数の処理ユニットが、前記ビットストリームから少なくとも１つのエレメンタリストリームのための１つまたは複数の参照エレメンタリストリームを示す情報を抽出するようにさらに構成された、Ｃ２０に記載のデバイス。
［Ｃ２８］
前記１つまたは複数の処理ユニットが、前記ビットストリームから複数の記述子を抽出すること、前記記述子の各々が、前記ビットストリーム中で連続しており、ＰＴＬ構造のそれぞれのセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、を行うように構成された、Ｃ２０に記載のデバイス。
［Ｃ２９］
前記記述子が、プログラムレベルの記述子を備える、Ｃ２０に記載のデバイス。
［Ｃ３０］
前記記述子が、エレメンタリストリームレベルの記述子を備える、Ｃ２０に記載のデバイス。
［Ｃ３１］
前記１つまたは複数の処理ユニットが、前記ビットストリームのプログラムマップテーブルのｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出するように構成された、Ｃ２０に記載のデバイス。
［Ｃ３２］
前記１つまたは複数の処理ユニットが、前記ビットストリームのプログラムマップテーブルのＥＳ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出するように構成された、Ｃ２０に記載のデバイス。
［Ｃ３３］
前記１つまたは複数の処理ユニットが、前記ビットストリームのプログラムの１つまたは複数のエレメンタリストリームのためのストリームタイプに基づいて前記記述子が前記ビットストリーム中に含まれるかどうかを決定するように構成された、Ｃ２０に記載のデバイス。
［Ｃ３４］
前記１つまたは複数の処理ユニットが、前記ビットストリームのプログラムの少なくとも１つのエレメンタリストリームのためのストリームタイプが、０ｘ２７、０ｘ２８、０ｘ２９、または０ｘ２Ａの値を有するとき、前記記述子が前記ビットストリーム中に含まれると決定するように構成された、Ｃ２０に記載のデバイス。
［Ｃ３５］
ビデオデータを処理するためのデバイスであって、
前記ビットストリームから記述子を抽出するための手段と、ここにおいて、前記ビットストリームが、前記記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点が、ビデオデータの前記レイヤのうちの１つまたは複数を含む、ここにおいて、前記記述子が、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、
前記動作点のうちの１つの前記レイヤが対応する前記ＰＴＬ構造に少なくとも部分的に基づいて前記ビットストリームから前記動作点のうちの前記１つについてのビデオデータを抽出するための手段と、
ビデオデコーダに前記抽出されたビデオデータを与えるための手段と
を備えるデバイス。
［Ｃ３６］
前記ビデオデータを抽出するための前記手段が、
前記ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のプロファイルと、前記ビデオデコーダがサポートする前記ビデオコーディング規格の１つまたは複数のティアと、前記ビデオデコーダがサポートする前記１つまたは複数のティア内の１つまたは複数のレベルとを決定するための手段と、
前記動作点のうちの前記１つの前記レイヤが対応する前記ＰＴＬ構造によって示されるように、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記プロファイルのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記ティアのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記レベルのうちの１つを有するように前記動作点のうちの前記１つを選択するための手段と
を備える、Ｃ３５に記載のデバイス。
［Ｃ３７］
前記ＰＴＬ構造の各々についての少なくともプロファイル情報と、ティア情報と、レベル情報とを決定するために前記ＰＴＬ構造を繰返し処理することと、
前記記述子から、前記動作点の各々の前記レイヤの各々について、前記レイヤのうちの対応する１つについての前記プロファイル、ティア、およびレベル情報を決定するために、前記レイヤのうちの前記対応する１つを前記ＰＴＬ構造のうちの１つにマッピングするＰＴＬ参照インデックスの値を取り出すための手段と
をさらに備える、Ｃ３５に記載のデバイス。
［Ｃ３８］
前記記述子が、動作点のリストについての情報を含む、前記情報が、前記対応する動作点のための関連する出力レイヤセットと、前記対応する動作点のための関連する区分方式と、前記対応する動作点のための最高時間サブレイヤと、前記対応する動作点を構成するエレメンタリストリームのリストと、前記対応する動作点のための出力レイヤの数と、前記動作点の各エレメンタリストリーム中に含まれているレイヤの前記ＰＴＬ構造へのマッピングと、前記対応する動作点についてのフレームレート情報とを含む、Ｃ３５に記載のデバイス。
［Ｃ３９］
前記ビデオデータを抽出するための前記手段が、
前記記述子のデータに基づいて前記動作点のうちの前記１つのための出力レイヤセットを決定するための手段と、
前記ビットストリームから前記出力レイヤセットの各レイヤを抽出するための手段と、
前記ビットストリームから前記出力レイヤセットの前記レイヤが依存するレイヤを抽出するための手段と
を備える、Ｃ３５に記載のデバイス。
［Ｃ４０］
前記出力レイヤセットを決定するための前記手段が、前記記述子から、前記動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値を取り出すための手段を備える、ここにおいて、前記ターゲット出力レイヤセットシンタックス要素が、前記対応する動作点に関連する前記ターゲット出力レイヤセットを指定する、Ｃ３５に記載のデバイス。
［Ｃ４１］
前記出力レイヤセットを決定するための前記手段が、前記記述子から、前記レイヤの各々のためのフラグの値を取り出すための手段を備える、ここにおいて、前記フラグが、前記対応するレイヤが出力レイヤであるかどうかを示す、Ｃ４０に記載のデバイス。
［Ｃ４２］
前記ビットストリームから少なくとも１つのエレメンタリストリームのための１つまたは複数の参照エレメンタリストリームを示す情報を抽出するための手段をさらに備える、Ｃ３５に記載のデバイス。
［Ｃ４３］
前記記述子を抽出するための前記手段が、前記ビットストリームから複数の記述子を抽出するための手段を備える、前記記述子の各々が、前記ビットストリーム中で連続しており、ＰＴＬ構造のそれぞれのセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、Ｃ３５に記載のデバイス。
［Ｃ４４］
前記記述子を抽出するための前記手段が、前記ビットストリームのプログラムマップテーブルのｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを備える、Ｃ３５に記載のデバイス。
［Ｃ４５］
前記記述子を抽出するための前記手段が、前記ビットストリームのプログラムマップテーブルのＥＳ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出するための手段を備える、Ｃ３５に記載のデバイス。
［Ｃ４６］
前記ビットストリームのプログラムの１つまたは複数のエレメンタリストリームのためのストリームタイプに基づいて前記記述子が前記ビットストリーム中に含まれるかどうかを決定するための手段をさらに備える、Ｃ３５に記載のデバイス。
［Ｃ４７］
前記ビットストリームのプログラムの少なくとも１つのエレメンタリストリームのためのストリームタイプが、０ｘ２７、０ｘ２８、０ｘ２９、または０ｘ２Ａの値を有するとき、前記記述子が前記ビットストリーム中に含まれると決定するための手段をさらに備える、Ｃ３５に記載のデバイス。
［Ｃ４８］
実行されたときに、プロセッサに、
ビデオデータを含むビットストリームから記述子を抽出することと、ここにおいて、前記ビットストリームが、前記記述子とは別個の、動作点についてのビデオデータのレイヤを含み、したがって、各動作点が、ビデオデータの前記レイヤのうちの１つまたは複数を含む、ここにおいて、前記記述子が、プロファイル、ティア、およびレベル（ＰＴＬ）構造のセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、
前記動作点のうちの１つの前記レイヤが対応する前記ＰＴＬ構造に少なくとも部分的に基づいて前記ビットストリームから前記動作点のうちの前記１つについてのビデオデータを抽出することと、
ビデオデコーダに前記抽出されたビデオデータを与えることと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
［Ｃ４９］
前記プロセッサに前記ビデオデータを抽出することを行わせる前記命令が、前記プロセッサに、
前記ビデオデコーダがサポートするビデオコーディング規格の１つまたは複数のプロファイルと、前記ビデオデコーダがサポートする前記ビデオコーディング規格の１つまたは複数のティアと、前記ビデオデコーダがサポートする前記１つまたは複数のティア内の１つまたは複数のレベルとを決定することと、
前記動作点のうちの前記１つの前記レイヤが対応する前記ＰＴＬ構造によって示されるように、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記プロファイルのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記ティアのうちの１つを有し、前記動作点のうちの前記１つの前記レイヤの各々が、前記ビデオデコーダがサポートする前記レベルのうちの１つを有するように前記動作点のうちの前記１つを選択することと
を行わせる命令を備える、Ｃ４８に記載のコンピュータ可読記憶媒体。
［Ｃ５０］
前記プロセッサに、
前記ＰＴＬ構造の各々についての少なくともプロファイル情報と、ティア情報と、レベル情報とを決定するために前記ＰＴＬ構造を繰返し処理することと、
前記動作点の各々の前記レイヤの各々について、前記記述子から、前記レイヤのうちの対応する１つについての前記プロファイル、ティア、およびレベル情報を決定するために、前記レイヤのうちの前記対応する１つを前記ＰＴＬ構造のうちの１つにマッピングするＰＴＬ参照インデックスの値を取り出すことと
を行わせる命令をさらに備える、Ｃ４８に記載のコンピュータ可読記憶媒体。
［Ｃ５１］
前記記述子が、動作点のリストについての情報を含む、前記情報が、前記対応する動作点のための関連する出力レイヤセットと、前記対応する動作点のための関連する区分方式と、前記対応する動作点のための最高時間サブレイヤと、前記対応する動作点を構成するエレメンタリストリームのリストと、前記対応する動作点のための出力レイヤの数と、前記動作点の各エレメンタリストリーム中に含まれているレイヤの前記ＰＴＬ構造へのマッピングと、前記対応する動作点についてのフレームレート情報とを含む、Ｃ４８に記載のコンピュータ可読記憶媒体。
［Ｃ５２］
前記プロセッサに前記ビデオデータを抽出することを行わせる前記命令が、前記プロセッサに、
前記記述子のデータに基づいて前記動作点のうちの前記１つのための出力レイヤセットを決定することと、
前記ビットストリームから前記出力レイヤセットの各レイヤを抽出することと、
前記ビットストリームから前記出力レイヤセットの前記レイヤが依存するレイヤを抽出することと
を行わせる命令を備える、Ｃ４８に記載のコンピュータ可読記憶媒体。
［Ｃ５３］
前記プロセッサに前記出力レイヤセットを決定することを行わせる前記命令が、前記プロセッサに、前記記述子から、前記動作点の各々のためのターゲット出力レイヤセットシンタックス要素の値を取り出すこと、ここにおいて、前記ターゲット出力レイヤセットシンタックス要素が、前記対応する動作点に関連する前記ターゲット出力レイヤセットを指定する、を行わせる命令を備える、Ｃ５２に記載のコンピュータ可読記憶媒体。
［Ｃ５４］
前記プロセッサに前記出力レイヤセットを決定することを行わせる前記命令が、前記プロセッサに、前記記述子から、前記レイヤの各々のためのフラグの値を取り出すこと、ここにおいて、前記フラグが、前記対応するレイヤが出力レイヤであるかどうかを示す、を行わせる命令を備える、Ｃ５２に記載のコンピュータ可読記憶媒体。
［Ｃ５５］
前記プロセッサに、前記ビットストリームから少なくとも１つのエレメンタリストリームのための１つまたは複数の参照エレメンタリストリームを示す情報を抽出することを行わせる命令をさらに備える、Ｃ４８に記載のコンピュータ可読記憶媒体。
［Ｃ５６］
前記プロセッサに前記記述子を抽出することを行わせる前記命令が、前記プロセッサに、前記ビットストリームから複数の記述子を抽出することを行わせる命令を備える、前記記述子の各々が、前記ビットストリーム中で連続しており、ＰＴＬ構造のそれぞれのセットと、前記動作点の各々の前記レイヤの各々を前記ＰＴＬ構造のうちの対応する１つに関連付けるデータとを含む、Ｃ４８に記載のコンピュータ可読記憶媒体。
［Ｃ５７］
前記プロセッサに前記記述子を抽出することを行わせる前記命令が、前記プロセッサに、前記ビットストリームのプログラムマップテーブルのｐｒｏｇｒａｍ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを行わせる命令を備える、Ｃ４８に記載のコンピュータ可読記憶媒体。
［Ｃ５８］
前記プロセッサに前記記述子を抽出することを行わせる前記命令が、前記プロセッサに、前記ビットストリームのプログラムマップテーブルのＥＳ＿ｉｎｆｏ＿ｌｅｎｇｔｈフィールドの直後にくる記述子のグループを抽出することを行わせる命令を備える、Ｃ４８に記載のコンピュータ可読記憶媒体。
［Ｃ５９］
前記プロセッサに、前記ビットストリームのプログラムの１つまたは複数のエレメンタリストリームのためのストリームタイプに基づいて前記記述子が前記ビットストリーム中に含まれるかどうかを決定することを行わせる命令をさらに備える、Ｃ４８に記載のコンピュータ可読記憶媒体。
［Ｃ６０］
前記プロセッサに、前記ビットストリームのプログラムの少なくとも１つのエレメンタリストリームのためのストリームタイプが、値０ｘ２７、０ｘ２８、０ｘ２９、または０ｘ２Ａを有するとき、前記記述子が前記ビットストリーム中に含まれると決定することを行わせる命令をさらに備える、Ｃ４８に記載のコンピュータ可読記憶媒体。
【図１】
0006594967.tif 000014
【図２】
0006594967.tif 000015
【図３】
0006594967.tif 000016
【図４】
0006594967.tif 000017
【図５】
0006594967.tif 000018
【図６】
0006594967.tif 000019
【図７】
0006594967.tif 000020
【図８】
0006594967.tif 000021
【図９】
0006594967.tif 000022