(57)【特許請求の範囲】
【請求項１】
ビデオエンコーダによって動作可能な方法であって、
少なくとも1つのレイヤと、ビデオデコーダによって処理されるビットストリームの少なくとも1つのレイヤを指定する少なくとも1つのレイヤセットとを有するビットストリームを形成するためにビデオデータをコーディングするステップであって、前記ビットストリームが、ベースビデオパラメータセット(VPS)およびビデオユーザビリティ情報(VUI)パラメータセットと関連付けられる、ステップと、
少なくとも1つの出力レイヤセットを各レイヤセットと関連付けるステップであって、前記出力レイヤセットが、前記ビデオデコーダによって出力される前記少なくとも1つのレイヤを指定し、前記少なくとも1つの出力レイヤセットのうちの第1の出力レイヤセットが、前記ビデオデコーダによって出力されるべき、その関連するレイヤセットのサブセットを示し、前記少なくとも1つの出力レイヤセットのうちの第2の出力レイヤセットが、前記ビデオデコーダによって出力されるべき、前記関連するレイヤセットの別のサブセットを示す、ステップと、
少なくとも1つの区分方式を、前記少なくとも1つの出力レイヤセットのうちの前記第1の出力レイヤセットおよび前記第2の出力レイヤセットと関連付けるステップであって、前記少なくとも1つの区分方式が、前記ビットストリームの前記少なくとも1つのレイヤがいかにして送信のために区分されるべきであるかを指定する、ステップと、
前記ビデオエンコーダおよび/または1つもしくは複数のエンコーダ構成設定に基づいて、前記ビットストリームの一部として適合性パラメータをシグナリングするか否かに関する決定を実行するステップであって、前記適合性パラメータは前記ビットストリームの適合性を検出するために使用される、ステップと、
前記ベースVPS内でシグナリングされる少なくとも1つの適合性パラメータの第1の部分を決定するステップと、
前記VUI内でシグナリングされる前記少なくとも1つの適合性パラメータの第2の部分を識別するステップと、
前記ベースVPSと関連付けられたデータ構造を介してアクセス可能であるように前記第2の部分を拡張するステップと
前記ビットストリームの一部として適合性パラメータをシグナリングするとの決定に応答して、前記第1の出力レイヤセットに基づいて、第1の適合性パラメータを前記少なくとも1つの区分方式の中の区分方式の区分にマッピングし、前記第2の出力レイヤセットに基づいて、第2の適合性パラメータを前記少なくとも1つの区分方式の中の前記区分方式の区分にマッピングするステップであって、前記第1の適合性パラメータをマッピングするステップが、前記ベースVPSと関連付けられた前記データ構造に基づいて、前記少なくとも1つの適合性パラメータの前記第1の部分および前記第2の部分を前記区分にマッピングするステップを含む、ステップと
を含む、方法。
【請求項２】
前記第1の適合性パラメータが、仮想参照デコーダ(HRD)パラメータを含む、請求項1に記載の方法。
【請求項３】
前記第1の適合性パラメータを前記区分にマッピングする前に、適合性パラメータをシグナリングするか否かに関する決定を実行するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記第1の出力レイヤセットが1つの区分方式のみと関連付けられることに応答して、前記第1の出力レイヤセットがデフォルト区分方式と関連付けられることを示すために前記ビットストリーム内のビットをシグナリングするステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記デフォルト区分方式が、少なくとも1つのレイヤの各レイヤをそれ自体の区分内に分離するステップを含む、請求項4に記載の方法。
【請求項６】
前記第1の出力レイヤセットの第1のインデックスを決定するステップと、
前記第1の出力レイヤセットと関連付けられた前記区分方式の第2のインデックスを決定するステップと、
少なくとも1つのネスト化補足エンハンスメント情報(SEI)メッセージを含むネスティングSEIメッセージを識別するステップと、
前記第1および前記第2のインデックスに基づいて、前記少なくとも1つのネスト化SEIメッセージと前記区分方式との間の関連付けを定義するステップと
をさらに含む、請求項1に記載の方法。
【請求項７】
少なくとも1つの区分方式が、前記少なくとも1つの出力レイヤセットの各出力レイヤセットと関連付けられる、請求項1に記載の方法。
【請求項８】
ビデオデコーダによって動作可能な方法であって、
少なくとも1つのレイヤと、前記ビデオデコーダによって処理されるビデオデータビットストリームの少なくとも1つのレイヤを指定する少なくとも1つのレイヤセットとを有する前記ビデオデータビットストリームを受信するステップであって、前記ビデオデータビットストリームが、ベースビデオパラメータセット(VPS)およびビデオユーザビリティ情報(VUI)パラメータセットと関連付けられる、ステップと、
前記ビットストリームの前記少なくとも1つのレイヤセットの中のレイヤセットを識別するステップであって、前記識別されたレイヤセットが、復号されるべき前記少なくとも1つのレイヤのサブセットを示す、ステップと、
前記識別されたレイヤセットと関連付けられた少なくとも1つの出力レイヤセットを決定するステップであって、前記少なくとも1つの出力レイヤセットは、前記ビデオデコーダによって出力されるべき前記少なくとも1つのレイヤ、前記ビデオデコーダによって出力されるべき前記識別されたレイヤセットのサブセットを示す前記少なくとも1つの出力レイヤセットの第1の出力レイヤセット、前記ビデオデコーダによって出力されるべき前記識別されたレイヤセットの別のサブセットを示す前記少なくとも1つの出力レイヤセットの第2の出力レイヤセットを指定する、ステップと、
前記少なくとも1つの出力レイヤセットのうちの前記第1の出力レイヤセットおよび前記第2の出力レイヤセットと関連付けられた少なくとも1つの区分方式を決定するステップであって、前記少なくとも1つの区分方式が、前記ビデオデータビットストリームの前記レイヤがいかにして送信のために区分されるべきであるかを指定する、ステップと、
前記ベースVPS内でシグナリングされる前記1つまたは複数の適合性パラメータの第1の部分を識別するステップと、
前記VUI内でシグナリングされる前記1つまたは複数の適合性パラメータの第2の部分を識別するステップであって、前記第2の部分の前記適合性パラメータが、それらが前記ベースVPSと関連付けられたデータ構造を介してアクセス可能となるように拡張される、ステップと
を含み、
前記ビデオデータビットストリームが、前記出力レイヤセットと関連付けられた前記少なくとも1つの区分方式に従って1つまたは複数の区分として受信され、前記ビデオビットストリームの適合性を検出するために使用される適合性パラメータが前記ビデオデータビットストリームの一部としてシグナリングされ、第1の適合性パラメータが、前記第1の出力レイヤセットに基づいて前記少なくとも1つの区分方式の中の前記区分方式の区分にマッピングされ、第2の適合性パラメータが、前記第2の出力レイヤセットに基づいて前記少なくとも1つの区分方式の中の前記区分方式の区分にマッピングされ、
前記区分にマッピングされた前記1つまたは複数の適合性パラメータが、前記ベースVPSと関連付けられた前記データ構造を介してアクセスされる、適合性パラメータの前記第1の部分および適合性パラメータの前記第2の部分を含む、
方法。
【請求項９】
前記少なくとも1つの適合性パラメータが、仮想参照デコーダ(HRD)パラメータを含む、請求項8に記載の方法。
【請求項１０】
前記出力レイヤセットがデフォルト区分方式のみと関連付けられることを示す、前記ビットストリーム内で受信されたビットを検査することによって、前記出力レイヤセットがデフォルト区分方式のみと関連付けられるものと決定するステップをさらに含む、請求項8に記載の方法。
【請求項１１】
前記出力レイヤセットと関連付けられたインデックスを識別するステップと、
前記出力レイヤセットと関連付けられた前記区分方式と関連付けられたインデックスを識別するステップと、
1つまたは複数の含まれた補足エンハンスメント情報(SEI)メッセージを含むネスティングSEIメッセージを識別するステップと、
前記識別された区分方式インデックスおよび識別された出力レイヤセットインデックスを使用して、前記ネスティングSEIメッセージと前記区分方式を有するその含まれたSEIメッセージとの間の関連付けを識別するステップと
をさらに含む、請求項8に記載の方法。
【請求項１２】
ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しているプロセッサと
を備え、前記プロセッサが、
少なくとも1つのレイヤと、ビデオデコーダによって処理されるビデオデータビットストリームの少なくとも1つのレイヤを指定する少なくとも1つのレイヤセットとを有するビットストリームを形成するために前記ビデオデータをコーディングすることであって、前記ビットストリームが、ベースビデオパラメータセット(VPS)およびビデオユーザビリティ情報(VUI)パラメータセットと関連付けられる、コーディングすることと、
少なくとも1つの出力レイヤセットを各レイヤセットと関連付けることであって、前記出力レイヤセットが、前記ビデオデコーダによって出力される前記少なくとも1つのレイヤを指定し、前記少なくとも1つの出力レイヤセットのうちの第1の出力レイヤセットが、前記ビデオデコーダによって出力されるべき、その関連するレイヤセットのサブセットを示し、前記少なくとも1つの出力レイヤセットのうちの第2の出力レイヤセットが、前記ビデオデコーダによって出力されるべき、前記関連するレイヤセットの別のサブセットを示す、関連付けることと、
ビデオデータの前記ビットストリームの前記レイヤがいかにして送信のために区分されるべきであるかを指定する少なくとも1つの区分方式を、前記少なくとも1つの出力レイヤセットのうちの前記第1の出力レイヤセットおよび前記第2の出力レイヤセットと関連付けることと、
前記ビデオエンコーダおよび/または1つもしくは複数のエンコーダ構成設定に基づいて、前記ビットストリームの一部として適合性パラメータをシグナリングするか否かに関する決定を実行することであって、前記適合性パラメータは前記ビットストリームの適合性を検出するために使用される、実行することと、
前記ベースVPS内でシグナリングされる前記少なくとも1つの適合性パラメータの第1の部分を決定することと、
前記VUI内でシグナリングされる前記少なくとも1つの適合性パラメータの第2の部分を識別することと、
前記ベースVPSと関連付けられたデータ構造を介してアクセス可能であるように前記第2の部分を拡張することと
前記ビットストリームの一部として適合性パラメータをシグナリングするとの決定に応答して、前記第1の出力レイヤセットに基づいて、少なくとも1つの適合性パラメータを前記少なくとも1つの区分方式の中の区分方式の区分にマッピングし、前記第2の出力レイヤセットに基づいて、第2の適合性パラメータを前記少なくとも1つの区分方式の中の前記区分方式の区分にマッピングすることであって、前記少なくとも1つの適合性パラメータをマッピングすることが、前記ベースVPSと関連付けられた前記データ構造に基づいて、前記第1の部分および前記第2の部分をマッピングすることを含む、マッピングすることと
を行うように構成される、ビデオエンコーダ。
【請求項１３】
前記少なくとも1つの適合性パラメータが、仮想参照デコーダ(HRD)パラメータを含む、請求項12に記載のビデオエンコーダ。
【請求項１４】
前記プロセッサが、前記少なくとも1つの適合性パラメータを前記区分にマッピングする前に、適合性パラメータをシグナリングするか否かに関する決定を実行するようにさらに構成される、請求項12に記載のビデオエンコーダ。
【請求項１５】
前記プロセッサが、前記第1の出力レイヤセットが1つの区分方式のみと関連付けられることに応答して、前記第1の出力レイヤセットがデフォルト区分方式と関連付けられることを示すために前記ビットストリーム内のビットをシグナリングするようにさらに構成される、請求項12に記載のビデオエンコーダ。
【請求項１６】
前記デフォルト区分方式が、少なくとも1つのレイヤの各レイヤをそれ自体の区分内に分離することを含む、請求項15に記載のビデオエンコーダ。
【請求項１７】
前記プロセッサが、
前記第1の出力レイヤセットの第1のインデックスを決定することと、
前記第1の出力レイヤセットと関連付けられた前記区分方式の第2のインデックスを決定することと、
少なくとも1つのネスト化補足エンハンスメント情報(SEI)メッセージを含むネスティングSEIメッセージを識別することと、
前記第1および前記第2のインデックスに基づいて、前記少なくとも1つのネスト化SEIメッセージと前記区分方式との間の関連付けを定義することと
を行うようにさらに構成される、請求項12に記載のビデオエンコーダ。
【請求項１８】
復号ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しているプロセッサと
を備え、前記プロセッサが、
前記復号ビデオデータを形成するために、受信されたビデオデータビットストリームを復号することであって、前記受信されたビデオデータビットストリームが、少なくとも1つのレイヤと、ビデオデコーダによって処理されるビデオデータビットストリームの少なくとも1つのレイヤを指定する少なくとも1つのレイヤセットとを有し、前記ビデオデータビットストリームが、ベースビデオパラメータセット(VPS)およびビデオユーザビリティ情報(VUI)パラメータセットと関連付けられる、復号することを行うように構成され、前記復号することが、
前記ビットストリームの前記少なくとも1つのレイヤセットの中のレイヤセットを識別することであって、前記識別されたレイヤセットが、復号されるべき前記少なくとも1つのレイヤのサブセットを示す、識別することと、
前記識別されたレイヤセットと関連付けられた少なくとも1つの出力レイヤセットを決定することであって、前記少なくとも1つの出力レイヤセットは、前記ビデオデコーダによって出力されるべき前記少なくとも1つのレイヤ、前記ビデオデコーダによって出力されるべき前記識別されたレイヤセットのサブセットを示す前記少なくとも1つの出力レイヤセットの第1の出力レイヤセット、前記ビデオデコーダによって出力されるべき前記識別されたレイヤセットの別のサブセットを示す前記少なくとも1つの出力レイヤセットの第2の出力レイヤセットを指定する、決定することと、
前記少なくとも1つの出力レイヤセットのうちの前記第1の出力レイヤセットおよび前記第2の出力レイヤセットと関連付けられた少なくとも1つの区分方式を決定することであって、前記少なくとも1つの区分方式が、前記ビデオデータビットストリームの前記レイヤがいかにして送信のために区分されるべきであるかを指定する、決定することと、
前記ベースVPS内でシグナリングされる前記1つまたは複数の適合性パラメータの第1の部分を識別することと、
前記VUI内でシグナリングされる前記1つまたは複数の適合性パラメータの第2の部分を識別することであって、前記第2の部分の前記適合性パラメータが、それらが前記ベースVPSと関連付けられたデータ構造を介してアクセス可能となるように拡張される、識別することと
を含み、
前記ビデオデータビットストリームが、前記出力レイヤセットと関連付けられた前記少なくとも1つの区分方式に従って1つまたは複数の区分として受信され、前記ビデオビットストリームの適合性を検出するために使用される適合性パラメータが前記ビデオデータビットストリームの一部としてシグナリングされ、第1の適合性パラメータが、前記第1の出力レイヤセットに基づいて前記少なくとも1つの区分方式の中の前記区分方式の区分にマッピングされ、第2の適合性パラメータが、前記第2の出力レイヤセットに基づいて前記少なくとも1つの区分方式の中の前記区分方式の区分にマッピングされ、
前記区分にマッピングされた前記1つまたは複数の適合性パラメータが、前記ベースVPSと関連付けられた前記データ構造を介してアクセスされる、適合性パラメータの前記第1の部分および適合性パラメータの前記第2の部分を含む、
ビデオデコーダ。
【請求項１９】
前記少なくとも1つの適合性パラメータが、仮想参照デコーダ(HRD)パラメータを含む、請求項18に記載のビデオデコーダ。
【請求項２０】
前記プロセッサが、前記出力レイヤセットがデフォルト区分方式のみと関連付けられることを示す、前記ビットストリーム内で受信されたビットを検査することによって、前記出力レイヤセットが、デフォルト区分方式のみと関連付けられるものと決定するようにさらに構成される、請求項18に記載のビデオデコーダ。
【請求項２１】
前記プロセッサが、
前記出力レイヤセットと関連付けられたインデックスを識別することと、
前記出力レイヤセットと関連付けられた前記区分方式と関連付けられたインデックスを識別することと、
1つまたは複数の含まれた補足エンハンスメント情報(SEI)メッセージを含むネスティングSEIメッセージを識別することと、
前記識別された区分方式インデックスおよび識別された出力レイヤセットインデックスを使用して、前記ネスティングSEIメッセージと前記区分方式を有するその含まれたSEIメッセージとの間の関連付けを識別することと
を行うようにさらに構成される、請求項18に記載のビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオコーディングの分野に関する。より詳細には、本開示は、ビットストリーム区分に対して動作しているマルチレイヤコーデックのビットストリーム適合性パラメータの仕様に適用可能である。
【背景技術】
【０００２】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ会議デバイスなどを含む、幅広いデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding(AVC)、High Efficiency Video Coding(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、かつ/または記憶することができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示のシステム、方法、およびデバイスは、いくつかの革新的態様を各々有し、それらのうちのいずれの態様も、本明細書において開示される望ましい属性を単独では担わない。本明細書では、添付の特許請求の範囲を限定することなく、いくつかの特徴が説明される。
【０００４】
本明細書において説明される主題の1つまたは複数の実施態様の詳細は、添付の図面および以下の説明に記載される。他の特徴、態様および利点は、説明、図面および特許請求の範囲から明らかになるであろう。以下の図の相対寸法は、原寸に比例して描かれていないことがあることに留意されたい。
【０００５】
本開示の1つまたは複数の態様によれば、ビデオエンコーダによって動作可能な方法が提供される。方法は、少なくとも1つのレイヤと、少なくとも1つのレイヤセットとを有するビットストリームを形成するためにビデオデータをコーディングするステップと、各レイヤセットを少なくとも1つの出力レイヤセットと関連付けるステップとを含んでよく、少なくとも1つの出力レイヤセットの中の出力レイヤセットは、ビデオデコーダによって出力されるべき、その関連するレイヤセットのサブセットを示す。方法は、少なくとも1つの区分方式を少なくとも1つの出力レイヤセットの出力レイヤセットと関連付けるステップと、出力レイヤセットに少なくとも部分的に基づいて、第1の適合性パラメータを少なくとも1つの区分方式の中の区分方式の区分にマッピングするステップとをさらに含んでよい。いくつかの実施形態では、少なくとも1つの適合性パラメータは、仮想参照デコーダ(HRD)パラメータを含んでよい。
【０００６】
いくつかの実施形態では、方法は、第1の適合性パラメータを区分にマッピングする前に、適合性パラメータをシグナリングするか否かに関する決定を実行してよい。
【０００７】
いくつかの実施形態では、方法は、出力レイヤセットが1つの区分方式のみと関連付けられる場合、出力レイヤセットがデフォルト区分方式と関連付けられることを示すために、ビットストリーム内のビットをシグナリングするステップをさらに含んでよい。いくつかの実施形態では、デフォルト区分方式は、各レイヤがそれ自体の区分内に分離される区分方式に対応する。
【０００８】
いくつかの実施形態では、方法は、出力レイヤセットの第1のインデックスを決定するステップと、出力レイヤセットと関連付けられた区分方式の第2のインデックスを決定するステップと、少なくとも1つのネスト化補足エンハンスメント情報(SEI)メッセージを含むネスティングSEIメッセージを識別するステップと、第1および第2のインデックスに少なくとも部分的に基づいて少なくとも1つのネスト化SEIメッセージと区分方式との間の関連付けを定義するステップとをさらに含んでよい。
【０００９】
いくつかの実施形態では、ビットストリームは、ベースビデオパラメータセット(VPS)およびビデオユーザビリティ情報(VUI)パラメータセットと関連付けられてよく、方法は、ベースVPS内でシグナリングされる少なくとも1つの適合性パラメータの第1の部分を決定するステップと、VUI内でシグナリングされる少なくとも1つの適合性パラメータの第2の部分を識別するステップと、ベースVPSと関連付けられたデータ構造を介してアクセス可能になるように第2の部分を拡張するステップとをさらに含んでよい。いくつかの実施形態では、第1の適合性パラメータをマッピングするステップは、ベースVPSと関連付けられたデータ構造に基づいて、少なくとも1つの適合性パラメータの第1の部分および第2の部分をマッピングするステップを含んでよい。
【００１０】
いくつかの実施形態では、少なくとも1つの区分方式は、少なくとも1つの出力レイヤセットのうちの各出力レイヤセットと関連付けられてよい。
【００１１】
いくつかの実施形態では、方法は、区分方式を少なくとも1つの出力レイヤセットの第2の出力レイヤセットと関連付けるステップと、第2の出力レイヤセットに少なくとも部分的に基づいて、第2の適合性パラメータを第2の出力レイヤセットと関連付けられた区分方式の区分にマッピングするステップとをさらに含んでよい。
【００１２】
本開示の別の態様は、ビデオデコーダによって動作可能であるための方法を提供する。方法は、少なくとも1つのレイヤと、少なくとも1つのレイヤセットとを有するビデオデータビットストリームを受信するステップと、ビットストリームの少なくとも1つのレイヤセットの中のレイヤセットを識別するステップとを含んでよく、識別されたレイヤセットは、復号されるべき少なくとも1つのレイヤのサブセットを示す。方法は、識別されたレイヤセットと関連付けられ、ビデオデコーダによって出力されるべき識別されたレイヤセットのサブセットを示す、出力レイヤセットを決定するステップと、出力レイヤセットと関連付けられた区分方式を決定するステップとをさらに含んでよく、ビットストリームは、出力レイヤセットと関連付けられた区分方式に従って1つまたは複数の区分として受信され、少なくとも1つの適合性パラメータは、区分方式と関連付けられた出力レイヤセットに少なくとも部分的に基づいて、区分方式の区分にマッピングされる。いくつかの実施形態では、少なくとも1つの適合性パラメータは、仮想参照デコーダ(HRD)パラメータを含んでよい。
【００１３】
いくつかの実施形態では、方法は、出力レイヤセットがデフォルト区分方式のみと関連付けられるかどうかを決定するために、ビットストリーム内で受信されたビットを検査するステップをさらに含んでよい。いくつかの実施形態では、デフォルト区分方式は、各レイヤがそれ自体の区分内に分離される区分方式に対応する。
【００１４】
いくつかの実施形態では、方法は、出力レイヤセットと関連付けられたインデックスを識別するステップと、出力レイヤセットと関連付けられた区分方式と関連付けられたインデックスを識別するステップと、1つまたは複数の含まれた補足エンハンスメント情報(SEI)メッセージを含むネスティングSEIメッセージを識別するステップと、識別された区分方式インデックスおよび識別された出力レイヤセットインデックスを使用して、ネスティングSEIメッセージと区分方式を有するその含まれたSEIメッセージとの間の関連付けを識別するステップとをさらに含んでよい。
【００１５】
いくつかの実施形態では、ビットストリームはVPSおよびVUIと関連付けられてよく、方法は、ベースVPS内でシグナリングされる1つまたは複数の適合性パラメータの第1の部分を識別するステップと、VUI内でシグナリングされた1つまたは複数の適合性パラメータの第2の部分を識別するステップとをさらに含んでよく、適合性パラメータの第2の部分は、それらが、ベースVPSと関連付けられたデータ構造を介してアクセス可能であるように拡張される。いくつかの実施形態では、区分にマッピングされた1つまたは複数の適合性パラメータは、ベースVPSと関連付けられたデータ構造を介してアクセスされる、適合性パラメータの第1の部分および適合性パラメータの第2の部分を含んでよい。
【００１６】
本開示の別の態様は、ビデオエンコーダを提供する。ビデオエンコーダは、ビデオデータを記憶するように構成されたメモリと、メモリと通信するプロセッサとを備えてよい。いくつかの実施形態では、プロセッサは、少なくとも1つのレイヤと、少なくとも1つのレイヤセットとを有するビットストリームを形成するためにビデオデータをコーディングすることと、少なくとも1つの出力レイヤセットを各レイヤセットと関連付けることとを行うように構成され、少なくとも1つの出力レイヤセットの中の1つの出力レイヤセットは、ビデオデコーダによって出力されるべき、その関連するレイヤセットのサブセットを示す。プロセッサは、少なくとも1つの区分方式を少なくとも1つの出力レイヤセットのうちの出力レイヤセットと関連付けることと、出力レイヤセットに少なくとも部分的に基づいて、少なくとも1つの適合性パラメータを少なくとも1つの区分方式の中の区分方式にマッピングすることとを行うようにさらに構成されてよい。いくつかの実施形態では、少なくとも1つの適合性パラメータは、仮想参照デコーダ(HRD)パラメータを含む。いくつかの実施形態では、プロセッサは、少なくとも1つの適合性パラメータを区分にマッピングする前に、適合性パラメータをシグナリングするか否かに関する決定を実行するように構成されてよい。
【００１７】
いくつかの実施形態では、プロセッサは、出力レイヤセットが1つの区分方式のみと関連付けられることに応答して、出力レイヤセットがデフォルト区分方式と関連付けられることを示すためにビットストリーム内のビットをシグナリングするようにさらに構成されてよい。いくつかの実施形態では、デフォルト区分方式は、少なくとも1つのレイヤのうちの各レイヤをそれ自体の区分内に分離する区分方式に対応してよい。
【００１８】
いくつかの実施形態では、プロセッサは、出力レイヤセットの第1のインデックスを決定することと、出力レイヤセットと関連付けられた区分方式の第2のインデックスを決定することと、少なくとも1つのネスト化補足エンハンスメント情報(SEI)メッセージを含むネスティングSEIメッセージを識別することと、第1および第2のインデックスに少なくとも部分的に基づいて少なくとも1つのネスト化SEIメッセージと区分方式との間の関連付けを定義することとを行うようにさらに構成されてよい。
【００１９】
いくつかの実施形態では、ビットストリームは、VPSおよびVUIパラメータセットと関連付けられてよく、プロセッサは、ベースVPS内でシグナリングされる少なくとも1つの適合性パラメータの第1の部分を決定することと、VUI内でシグナリングされる少なくとも1つの適合性パラメータの第2の部分を識別することと、ベースVPSと関連付けられたデータ構造を介してアクセス可能になるように第2の部分を拡張することとを行うようにさらに構成されてよい。いくつかの実施形態では、少なくとも1つの適合性パラメータをマッピングするステップは、ベースVPSと関連付けられたデータ構造に基づいて、第1の部分および第2の部分をマッピングするステップを含んでよい。
【００２０】
本開示の別の態様は、ビデオデコーダを提供する。ビデオデコーダは、復号ビデオデータを記憶するように構成されたメモリと、メモリと通信するプロセッサとを備えてよい。プロセッサは、復号ビデオデータを形成するために、少なくとも1つのレイヤと、少なくとも1つのレイヤセットとを有する受信されたビデオデータビットストリームを復号するように構成されてよく、復号することは、ビットストリームの少なくとも1つのレイヤセットの中のレイヤセットを識別することであって、識別されたレイヤセットが復号されるべき少なくとも1つのレイヤのサブセットを示す、識別することと、識別されたレイヤセットと関連付けられ、ビデオデコーダによって出力されるべき識別されたレイヤセットのサブセットを示す、出力レイヤセットを決定することと、出力レイヤセットと関連付けられた区分方式を決定することとを含み、ビットストリームは、出力レイヤセットと関連付けられた区分方式に従って1つまたは複数の区分として受信され、少なくとも1つの適合性パラメータは、区分方式と関連付けられた出力レイヤセットに少なくとも部分的に基づいて、区分方式の区分にマッピングされる。いくつかの実施形態では、少なくとも1つの適合性パラメータは、仮想参照デコーダ(HRD)パラメータを含む。
【００２１】
いくつかの実施形態では、プロセッサは、出力レイヤセットがデフォルト区分方式のみと関連付けられるかどうかを決定するために、ビットストリーム内で受信されたビットを検査するようにさらに構成されてよい。いくつかの実施形態では、デフォルト区分方式は、各レイヤがそれ自体の区分内に分離される区分方式に対応する。
【００２２】
いくつかの実施形態では、プロセッサは、出力レイヤセットと関連付けられたインデックスを識別することと、出力レイヤセットと関連付けられた区分方式と関連付けられたインデックスを識別することと、1つまたは複数の含まれた補足エンハンスメント情報(SEI)メッセージを含むネスティングSEIメッセージを識別することと、識別された区分方式インデックスおよび識別された出力レイヤセットインデックスを使用して、ネスティングSEIメッセージと区分方式を有するその含まれたSEIメッセージとの間の関連付けを識別することとを行うようにさらに構成されてよい。
【００２３】
いくつかの実施形態では、ビットストリームはVPSおよびVUIと関連付けられてよく、プロセッサは、ベースVPS内でシグナリングされる1つまたは複数の適合性パラメータの第1の部分を識別することと、VUI内でシグナリングされる1つまたは複数の適合性パラメータの第2の部分を識別することとを行うようにさらに構成されてよく、適合性パラメータの第2の部分は、それらが、ベースVPSと関連付けられたデータ構造を介してアクセス可能であるように拡張される。いくつかの実施形態では、区分にマッピングされた1つまたは複数の適合性パラメータは、ベースVPSと関連付けられたデータ構造を介してアクセスされる、適合性パラメータの第1の部分および適合性パラメータの第2の部分を含んでよい。
【図面の簡単な説明】
【００２４】
【図１Ａ】本開示で説明する態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図である。
【図１Ｂ】本開示で説明する態様による技法を実行し得る別の例示的なビデオ符号化および復号システムを示すブロック図である。
【図２Ａ】本開示で説明する態様による技法を実装し得るビデオエンコーダの例を示すブロック図である。
【図２Ｂ】本開示で説明する態様による技法を実装し得るビデオエンコーダの例を示すブロック図である。
【図３Ａ】本開示で説明する態様による技法を実装し得るビデオデコーダの例を示すブロック図である。
【図３Ｂ】本開示で説明する態様による技法を実装し得るビデオデコーダの例を示すブロック図である。
【図４Ａ】本開示で説明する態様による、ビデオデータレイヤ、レイヤセット、出力レイヤセット、および区分方式の間の関係を示す図である。
【図４Ｂ】本開示で説明する態様による、ビデオデータレイヤ、レイヤセット、出力レイヤセット、および区分方式の間の関係を示す図である。
【図５Ａ】本開示で説明する態様による、符号化ビデオデータ内のHRDパラメータをマッピングするための方法のフローチャートである。
【図５Ｂ】本開示で説明する態様による、マッピングされたHRDパラメータを有するビデオデータを復号するための方法のフローチャートである。
【図６】本開示で説明する態様による、区分方式をシグナリングするためのプロセスのフローチャートである。
【図７】本開示で説明する態様による、HRDパラメータが、ベースVPSと関連付けられた単一のデータ構造を介してマッピングされ得るようにVPS_VUIにおいてHRDパラメータを拡張することを示す図である。
【図８】本開示で説明する態様による、SEIメッセージが、いかにして区分にマッピングされ得るかを示す図である。
【発明を実施するための形態】
【００２５】
一般に、本開示は、高効率ビデオコーディング(HEVC)など、アドバンストビデオコーデックのコンテキストにおいて適合性パラメータを指定することに関する。より具体的には、本開示は、SHVCと呼ばれるHEVCのスケーラブルビデオコーディング拡張におけるビットストリーム適合性パラメータの改善された仕様およびマッピングのためのシステムおよび方法に関する。
【００２６】
スケーラブルビデオコーディングは、参照レイヤ(RL)と呼ばれることがあるベースレイヤ(BL)、および1つまたは複数のスケーラブルエンハンスメントレイヤ(EL)が使用されるビデオコーディングを指す。スケーラブルビデオコーディングでは、BLは、基本レベルの品質を有するビデオデータを搬送することができる。1つまたは複数のELは、たとえば、より高い空間レベル、時間レベル、および/または信号対雑音比(SNR)レベルをサポートするために、追加のビデオデータを搬送することができる。ELは、前に符号化されたレイヤに対して定義され得る。たとえば、最下位レイヤはBLとして機能することができ、一方で最上位レイヤはELとして機能することができる。中間レイヤは、ELまたはRLのいずれか、またはその両方として機能することができる。たとえば、中間レイヤ(たとえば、最下位レイヤでもなく最上位レイヤでもないレイヤ)は、BLまたは任意の介在ELなどの中間レイヤの下のレイヤのためのELであってよく、同時に、中間レイヤの上の1つまたは複数のELのためのRLとして機能してよい。同様に、HEVC規格のマルチビューまたは3D拡張では、複数のビューがあってよく、あるビューの情報が、別のビューの情報(たとえば、動き推定、動きベクトル予測、および/または他の冗長性)をコーディング(たとえば、符号化または復号)するために利用され得る。
【００２７】
仮想参照デコーダ(HRD)パラメータなどのビットストリーム適合性パラメータは、受信されたビットストリームの適合性をデコーダが試験することを可能にするために、ビデオデータビットストリームの一部として含まれてよい。区分を使用して送信されるマルチレイヤコーデックにおいて、HRDパラメータは、特定の区分にマッピングされてよい。しかしながら、HRDパラメータを区分にマッピングすることのみによって、使用されている出力レイヤセットが考慮されることはない。使用されている出力セットに応じて、特定の区分が、異なるHRDパラメータと関連付けられる必要があり得る。したがって、ビットストリーム適合性パラメータを指定してマッピングするための改善された方法が望まれる。説明のために、本開示は、主にHRDパラメータに言及する。しかしながら、本開示の技法はまた、他のタイプの適合性パラメータにも適用可能であり得ることを理解されたい。
【００２８】
以下の説明では、いくつかの実施形態に関するH.264/AVC技法が説明され、HEVC規格および関連する技法も説明される。いくつかの実施形態が、本明細書でHEVC規格および/またはH.264規格の文脈において説明されるが、当業者は、本明細書で開示されるシステムおよび方法が、任意の適切なビデオコーディング規格に適用可能であり得ることを
諒解し得る。たとえば、本明細書で開示する実施形態は、(たとえば、国際電気通信連合電気通信標準化部門[ITU-T]ビデオ符号化専門家グループ[VCEG]または国際標準化機構/国際電気標準会議[ISO/IEC]動画専門家集団[MPEG]によって開発された規格を含む)以下の規格:ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、および、そのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含むITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られる)のうちの1つまたは複数に適用可能であることがある。
【００２９】
HEVCは全般に、多くの点で、前のビデオコーディング規格のフレームワークに従う。HEVCにおける予測のユニットは、いくつかの前のビデオコーディング規格における予測のユニット(たとえば、マクロブロック)とは異なる。実際、いくつかの前のビデオコーディング規格において理解されているようなマクロブロックの概念は、HEVCに存在しない。マクロブロックは、4分木方式に基づく階層構造と置き換えられ、このことは、あり得る利点の中でもとりわけ、高い柔軟性を実現し得る。たとえば、HEVC方式では、コーディングユニット(CU)、予測ユニット(PU)、および変換ユニット(TU)という3つのタイプのブロックが定義される。CUは、領域分割の基本単位を指し得る。CUはマクロブロックの概念に類似すると見なされることがあるが、HEVCは、CUの最大サイズを制限せず、コンテンツ適応性を改善するために4つの等しいサイズのCUへの再帰的分割を許容し得る。PUはインター/イントラ予測の基本単位と見なされることがあり、単一のPUは、不規則な画像パターンを効果的にコーディングするために、複数の任意の形状区分を含むことがある。TUは、変換の基本単位と見なされることがある。TUは、PUとは無関係に定義され得るが、TUのサイズは、TUが属するCUのサイズに制限され得る。3つの異なる概念へのブロック構造のこの分離により、各ユニットをユニットのそれぞれの役割に従って最適化することが可能になり、このことはコーディング効率の改善をもたらし得る。
【００３０】
単に説明の目的で、本明細書で開示されるいくつかの実施形態は、ビデオデータの2つのレイヤ(たとえば、BLのなどの下位レイヤおよびELなどの上位レイヤ)のみを含む例とともに説明される。ビデオデータの「レイヤ」は、一般に、ビュー、フレームレート、解像度などの、少なくとも1つの共通の特性を有するピクチャのシーケンスを指し得る。たとえば、レイヤは、マルチビュービデオデータの特定のビュー(たとえば、視点)と関連付けられたビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤと関連付けられたビデオデータを含み得る。したがって、本開示は、ビデオデータのレイヤおよびビューに交換可能に言及することがある。たとえば、ビデオデータのビューはビデオデータのレイヤと呼ばれることがあり、ビデオデータのレイヤはビデオデータのビューと呼ばれることがある。加えて、マルチレイヤコーデック(マルチレイヤビデオコーダまたはマルチレイヤエンコーダデコーダとも呼ばれる)は、マルチビューコーデックまたはスケーラブルコーデック(たとえば、MV-HEVC、3D-HEVC、SHVC、または別のマルチレイヤコーディング技法を使用してビデオデータを符号化および/または復号するように構成されるコーデック)を一緒に指すことがある。ビデオ符号化およびビデオ復号は、一般に、両方ともビデオコーディングと呼ばれることがある。そのような例は、複数のBL、RL、および/またはELを含む構成に適用可能であり得ることを理解されたい。加えて、説明を簡単にするために、以下の開示は、いくつかの実施形態に関して「フレーム」または「ブロック」という用語を含む。しかしながら、これらの用語は限定的なものではない。たとえば、下で説明される技法は、ブロック(たとえば、CU、PU、TU、マクロブロックなど)、スライス、フレームなどの、任意の適切なビデオユニットとともに使用され得る。
【００３１】
ビデオコーディング規格
ビデオ画像、TV画像、静止画像、またはビデオレコーダもしくはコンピュータによって生成された画像のようなデジタル画像は、水平な線および垂直な線に並べられたピクセルまたはサンプルからなり得る。単一の画像中のピクセルの数は、一般に数万個である。各ピクセルは、一般に、ルミナンス情報とクロミナンス情報とを含む。圧縮がなければ、画像エンコーダから画像デコーダに搬送されるべき著しい量の情報により、リアルタイムの画像送信は不可能になるであろう。送信されるべき情報の量を減らすために、JPEG、MPEG、およびH.263規格のような、いくつかの異なる圧縮方法が開発された。
【００３２】
ビデオコーディング規格には、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、および、そのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含むITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られる)が含まれる。
【００３３】
加えて、ビデオコーディング規格、すなわち、HEVCが、ITU-T VCEGおよびISO/IEC MPEGのJoint Collaboration Team on Video Coding (JCT-VC)によって開発されている。HEVC Draft 10の完全な引用は、文書JCTVC-L1003、Bross他、「High Efficiency Video Coding (HEVC) Text Specification Draft 10」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のJoint Collaborative Team on Video Coding(JCT-VC)、第12回会合:ジュネーブ、スイス、2013年1月14日〜2013年1月23日である。HEVCのマルチビュー拡張すなわちMV-HEVC、およびSHVCという名称であるHEVCのスケーラブル拡張も、それぞれ、JCT-3V(ITU-T/ISO/IEC Joint Collaborative Team on 3D Video Coding Extension Development)およびJCT-VCによって開発されている。
【００３４】
ビデオコーディングシステム
添付の図面を参照して、新規のシステム、装置、および方法の様々な態様が以下でより十分に説明される。しかしながら、本開示は、多くの異なる形態で具現化されることが可能であり、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるために与えられるものである。本明細書の教示に基づいて、本開示の範囲は、本開示の他の態様とは無関係に実装されるにせよ、本開示の任意の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載の任意の数の態様を使用して、装置が実装され得るか、または方法が実行され得る。さらに、本開示の範囲は、本明細書に記載の本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能性、または構造および機能性を使用して実行されるそのような装置または方法をカバーするものとする。本明細書で開示する任意の態様は、特許請求の範囲の1つまたは複数の要素により具現化され得ることが理解されるべきである。
【００３５】
特定の態様について本明細書において説明するが、これらの態様の数多くの変形実施形態および置換実施形態が、本開示の範囲内に入る。好ましい態様のいくつかの利益および利点が述べられるが、本開示の範囲は、特定の利益、用途、または目的に限定されることは意図していない。むしろ、本開示の態様は、異なるワイヤレス技法、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であることを意図しており、それらのうちのいくつかが例として図および好ましい態様の以下の説明において示される。詳細な説明および図面は、限定的ではなく本開示の例示にすぎず、本開示の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
【００３６】
添付の図面は、例を示す。添付の図面において参照番号によって示される要素は、以下の説明において同様の参照番号によって示される要素に対応する。本開示において、順序を示す言葉(たとえば、「第1」、「第2」、「第3」など)で始まる名称を有する要素は、それらの要素が特定の順序を有することを必ずしも含意するわけではない。そうではなく、そのような順序を示す言葉は単に、同じまたは類似したタイプの異なる要素を指すのに使われる。
【００３７】
図1Aは、本開示で説明する態様による技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用され説明される場合、「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指し得る。ビデオエンコーダおよびビデオデコーダに加えて、本出願で説明される態様は、トランスコーダ(たとえば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス)およびミドルボックス(たとえば、ビットストリームを修正し、変換し、かつ/または別様に操作することができるデバイス)のような、他の関連するデバイスに拡張され得る。
【００３８】
図1Aに示すように、ビデオコーディングシステム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。図1Aの例では、ソースデバイス12および宛先デバイス14は別々のデバイス上にあり、特に、ソースデバイス12はソースデバイスの一部であり、宛先デバイス14は宛先デバイスの一部である。しかしながら、ソースデバイス12および宛先デバイス14は、図1Bの例に示されるように、同じデバイス上にあるかまたは同じデバイスの一部であり得ることに留意されたい。
【００３９】
図1Aを再度参照すると、ソースデバイス12および宛先デバイス14はそれぞれ、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイスなどを含む、様々なデバイスのいずれかを含み得る。様々な実施形態において、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備されてもよい。
【００４０】
宛先デバイス14は、リンク16を介して、復号されるべき符号化ビデオデータを受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備えてもよい。図1Aの例では、リンク16は、ソースデバイス12がリアルタイムで直接宛先デバイス14に符号化ビデオデータを送信することを可能にする通信媒体を備えてもよい。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信されてもよい。通信媒体は、無線周波数(RF)スペクトルなどの任意のワイヤレスもしくはワイヤード通信媒体、または、1つもしくは複数の物理的伝送線を備えてもよい。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースのネットワークの一部を形成してもよい。通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス14への通信を容易にするために有用であってもよい任意の他の機器を含んでもよい。
【００４１】
代替的に、符号化されたデータは、出力インターフェース22から任意選択の記憶デバイス31に出力され得る。同様に、符号化されたデータは、たとえば、宛先デバイス14の入力インターフェース28によって記憶デバイス31からアクセスされ得る。記憶デバイス31は、ハードドライブ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイス31は、ソースデバイス12によって生成された符号化されたビデオを保持し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイス31から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、ワイヤレスローカルエリアネットワーク[WLAN]接続)、有線接続(たとえば、デジタル加入者線(DSL)、ケーブルモデムなど)、またはその両方の組合せを含み得る。記憶デバイス31からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００４２】
本開示の技法は、ワイヤレスの適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信(たとえば、ハイパーテキスト転送プロトコル(HTTP)上での動的適応ストリーミングなど)、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例のような、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話のような用途をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
【００４３】
図1Aの例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかの場合、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、図1Bの例に示すように、いわゆる「カメラフォン」または「ビデオフォン」を形成し得る。しかしながら、本開示で説明する技術は、一般にビデオコーディングに適用可能であってもよく、ワイヤレス用途および/またはワイヤード用途に適用されてもよい。
【００４４】
キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して直接宛先デバイス14に送信され得る。符号化ビデオデータは、さらに(または代替的に)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのために記憶デバイス31上に記憶され得る。図1Aおよび図1Bに示されるビデオエンコーダ20は、図2Aに示されるビデオエンコーダ20、図2Bに示されるビデオエンコーダ23、または本明細書で説明される任意の他のビデオエンコーダを備え得る。
【００４５】
図1Aの例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかの場合には、入力インターフェース28は、受信機および/またはモデムを含んでもよい。宛先デバイス14の入力インターフェース28は、リンク16を介して、および/または記憶デバイス31から、符号化ビデオデータを受信し得る。リンク16を介して通信され、または記憶デバイス31上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30などのビデオデコーダが使用するための、ビデオエンコーダ20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバ上に記憶された符号化ビデオデータとともに含まれてもよい。図1Aおよび図1Bに示されるビデオデコーダ30は、図3Aに示されるビデオデコーダ30、図3Bに示されるビデオデコーダ33、または本明細書で説明される任意の他のビデオデコーダを備えてよい。
【００４６】
ディスプレイデバイス32は、宛先デバイス14と一体化されてよく、またはその外部にあってよい。いくつかの例では、宛先デバイス14は、集積ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを含み得る。
【００４７】
関連する態様では、図1Bは例示的なビデオ符号化および復号システム10'を示し、ソースデバイス12および宛先デバイス14はデバイス11上にあるかまたはデバイス11の一部である。デバイス11は、「スマート」フォンなどのような電話ハンドセットであり得る。デバイス11は、ソースデバイス12および宛先デバイス14と動作可能に通信している任意選択のプロセッサ/コントローラデバイス13を含み得る。図1Bのシステム10'およびそのコンポーネントは、その他の点では図1Aのシステム10およびそのコンポーネントと同様である。
【００４８】
ビデオエンコーダ20およびビデオデコーダ30は、HEVC規格のようなビデオ圧縮規格に従って動作することができ、HEVCテストモデル(HM)に準拠することができる。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG-4、Part 10、AVCと呼ばれるITU-T H.264規格のような、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。本開示の技術は、しかしながら、任意の特定のコーディング規格に限定されない。ビデオ圧縮規格の他の例は、MPEG-2とITU-T H.263とを含む。
【００４９】
図1Aおよび図1Bの例には示されていないが、ビデオエンコーダ20およびビデオデコーダ30は各々、オーディオエンコーダおよびオーディオデコーダと一体化され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX-DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。該当する場合、いくつかの例では、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、または、ユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠してもよい。
【００５０】
ビデオエンコーダ20およびビデオデコーダ30は、各々、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、様々な適切なエンコーダ回路のうちのいずれかとして実装され得る。本技法が部分的にソフトウェアにおいて実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体内にソフトウェアのための命令を記憶してよく、本開示の技法を実行するために、1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ内に含まれてもよく、そのいずれかは、それぞれのデバイス内に、組み合わされたエンコーダ/デコーダ(たとえば、コーデック)の一部として組み込まれてもよい。
【００５１】
ビデオコーディングプロセス
上で手短に言及したように、ビデオエンコーダ20はビデオデータを符号化する。ビデオデータは、1つまたは複数のピクチャを含み得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャはビデオ「フレーム」と呼ばれ得る。ビデオエンコーダ20がビデオデータを符号化するとき、ビデオエンコーダ20はビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャおよび関連データを含み得る。コード化ピクチャは、ピクチャのコード化表現である。
【００５２】
ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ中の各ピクチャに対して符号化動作を実行し得る。ビデオエンコーダ20がピクチャに対して符号化動作を実行するとき、ビデオエンコーダ20は、一連のコード化ピクチャおよび関連データを生成し得る。関連データは、ビデオパラメータセット(VPS)と、シーケンスパラメータセット(SPS)と、ピクチャパラメータセット(PPS)と、適応パラメータセット(APS)と、他のシンタックス構造とを含み得る。SPSは、0個以上のピクチャのシーケンスに適用可能なパラメータを含み得る。PPSは、0個以上のピクチャに適用可能なパラメータを含み得る。APSは、0個以上のピクチャに適用可能なパラメータを含み得る。APS中のパラメータは、PPS中のパラメータよりも変化する可能性が高いパラメータであり得る。
【００５３】
コード化ピクチャを生成するために、ビデオエンコーダ20は、ピクチャを、等しいサイズのビデオブロックに区分すればよい。ビデオブロックは、サンプルの2次元アレイであり得る。ビデオブロックの各々は、ツリーブロックと関連付けられる。いくつかの事例では、ツリーブロックは、最大コーディングユニット(LCU)と呼ばれ得る。HEVCのツリーブロックは、H.264/AVCのような、以前の規格のマクロブロックに広い意味で類似し得る。しかしながら、ツリーブロックは、特定のサイズに必ずしも限定されず、1つまたは複数のコーディングユニット(CU)を含み得る。ビデオエンコーダ20は、4分木区分を使用して、ツリーブロックのビデオブロックを、CUと関連付けられたビデオブロックに区分することができ、したがって「ツリーブロック」という名前がある。
【００５４】
いくつかの例では、ビデオエンコーダ20は、ピクチャを複数のスライスに区分し得る。スライスの各々は、整数個のCUを含み得る。いくつかの事例では、スライスは整数個のツリーブロックを備える。他の事例では、スライスの境界はツリーブロック内にあり得る。
【００５５】
ピクチャに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化動作を実行し得る。ビデオエンコーダ20がスライスに対して符号化動作を実行するとき、ビデオエンコーダ20は、スライスと関連付けられた符号化データを生成することができる。スライスと関連付けられた符号化データは、「コード化スライス」と呼ばれ得る。
【００５６】
コード化スライスを生成するために、ビデオエンコーダ20は、スライス中の各ツリーブロックに対して符号化動作を実行し得る。ビデオエンコーダ20がツリーブロックに対して符号化動作を実行するとき、ビデオエンコーダ20はコード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化されたバージョンを表すデータを備え得る。
【００５７】
ビデオエンコーダ20がコード化スライスを生成するとき、ビデオエンコーダ20は、ラスター走査順序に従って、スライス中のツリーブロックに対して符号化動作を実行し得る(たとえば、そのツリーブロックを符号化し得る)。たとえば、ビデオエンコーダ20は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む順序で、ビデオエンコーダ20がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
【００５８】
ラスター走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上および左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下および右のツリーブロックはまだ符号化されていない。したがって、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上および左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下および右のツリーブロックを符号化することによって生成された情報にアクセスすることが不可能であり得る。
【００５９】
コード化ツリーブロックを生成するために、ビデオエンコーダ20は、ツリーブロックのビデオブロックに対して4分木区分を再帰的に実行して、ビデオブロックを徐々により小さくなるビデオブロックに分割し得る。より小さなビデオブロックの各々は、異なるCUと関連付けられ得る。たとえば、ビデオエンコーダ20は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分することができ、以下同様である。区分されたCUは、そのビデオブロックが他のCUと関連付けられるビデオブロックに区分された、CUであり得る。区分されていないCUは、そのビデオブロックが他のCUと関連付けられたビデオブロックに区分されていない、CUであり得る。
【００６０】
ビットストリーム中の1つまたは複数のシンタックス要素は、ビデオエンコーダ20がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。CUのビデオブロックは、形状が正方形であり得る。CUのビデオブロックのサイズ(たとえば、CUのサイズ)は、8×8のピクセルから、最大で64×64以上のピクセルをもつツリーブロックのビデオブロックのサイズ(たとえば、ツリーブロックのサイズ)にまで及び得る。
【００６１】
ビデオエンコーダ20は、z走査順序に従って、ツリーブロックの各CUに対して符号化動作を実行し得る(たとえば、各CUを符号化し得る)。言い換えれば、ビデオエンコーダ20は、左上のCUと、右上のCUと、左下のCUと、次いで右下のCUとを、その順序で符号化し得る。ビデオエンコーダ20が、区分されたCUに対して符号化動作を実行するとき、ビデオエンコーダ20は、z走査順序に従って、区分されたCUのビデオブロックのサブブロックと関連付けられたCUを符号化し得る。言い換えれば、ビデオエンコーダ20は、左上のサブブロックと関連付けられたCUと、右上のサブブロックと関連付けられたCUと、左下のサブブロックと関連付けられたCUと、次いで右下のサブブロックと関連付けられたCUとを、その順序で符号化し得る。
【００６２】
z走査順序に従ってツリーブロックのCUを符号化した結果として、所与のCUの上、左上、右上、左、および左下のCUは符号化されていることがある。所与のCUの下および右のCUはまだ符号化されていない。したがって、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接するいくつかのCUを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接する他のCUを符号化することによって生成された情報にアクセスすることが不可能であり得る。
【００６３】
ビデオエンコーダ20が区分されていないCUを符号化するとき、ビデオエンコーダ20は、CUのために1つまたは複数の予測ユニット(PU)を生成し得る。CUのPUの各々は、CUのビデオブロック内の異なるビデオブロックと関連付けられ得る。ビデオエンコーダ20は、CUの各PUのための予測されたビデオブロックを生成し得る。PUの予測されたビデオブロックは、サンプルのブロックであり得る。ビデオエンコーダ20は、イントラ予測またはインター予測を使用して、PUのための予測されたビデオブロックを生成し得る。
【００６４】
ビデオエンコーダ20がイントラ予測を使用してPUの予測されたビデオブロックを生成するとき、ビデオエンコーダ20は、PUと関連付けられたピクチャの復号されたサンプルに基づいて、PUの予測されたビデオブロックを生成し得る。ビデオエンコーダ20がイントラ予測を使用してCUのPUの予測されたビデオブロックを生成する場合、CUはイントラ予測されたCUである。ビデオエンコーダ20がインター予測を使用してPUの予測されたビデオブロックを生成するとき、ビデオエンコーダ20は、PUと関連付けられたピクチャ以外の1つまたは複数のピクチャの復号されたサンプルに基づいて、PUの予測されたビデオブロックを生成し得る。ビデオエンコーダ20がインター予測を使用してCUのPUの予測されたビデオブロックを生成する場合、CUはインター予測されたCUである。
【００６５】
さらに、ビデオエンコーダ20がインター予測を使用してPUのための予測されたビデオブロックを生成するとき、ビデオエンコーダ20はPUの動き情報を生成し得る。PUの動き情報は、PUの1つまたは複数の参照ブロックを示し得る。PUの各参照ブロックは、参照ピクチャ内のビデオブロックであり得る。参照ピクチャは、PUと関連付けられたピクチャ以外のピクチャであり得る。いくつかの事例では、PUの参照ブロックは、PUの「参照サンプル」と呼ばれることもある。ビデオエンコーダ20は、PUの参照ブロックに基づいて、PUのための予測されたビデオブロックを生成し得る。
【００６６】
ビデオエンコーダ20がCUの1つまたは複数のPUのための予測されたビデオブロックを生成した後、ビデオエンコーダ20は、CUのPUのための予測されたビデオブロックに基づいて、CUの残差データを生成し得る。CUの残差データは、CUのPUのための予測されたビデオブロック中のサンプルと、CUの元のビデオブロック中のサンプルとの間の差を示し得る。
【００６７】
さらに、区分されていないCUに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、CUの残差データに対して再帰的な4分木区分を実行して、CUの残差データを、CUの変換ユニット(TU)と関連付けられた残差データの1つまたは複数のブロック(たとえば、残差ビデオブロック)に区分し得る。CUの各TUは、異なる残差ビデオブロックと関連付けられ得る。
【００６８】
ビデオエンコーダ20は、TUと関連付けられた変換係数ブロック(たとえば、変換係数のブロック)を生成するために、TUと関連付けられた残差ビデオブロックに1つまたは複数の変換を適用し得る。概念的に、変換係数ブロックは変換係数の2次元(2D)行列であり得る。
【００６９】
変換係数ブロックを生成した後、ビデオエンコーダ20は、変換係数ブロックに対して量子化処理を実行し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現する処理を指す。量子化プロセスは、変換係数の一部または全部と関連付けられたビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、ただし、nはmよりも大きい。
【００７０】
ビデオエンコーダ20は、各CUを量子化パラメータ(QP)値と関連付け得る。CUと関連付けられたQP値は、ビデオエンコーダ20が、CUと関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ20は、CUと関連付けられたQP値を調整することによって、CUと関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
【００７１】
ビデオエンコーダ20が変換係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数ブロック中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ20は、これらのシンタックス要素のうちのいくつかに、コンテキスト適応型バイナリ算術コーディング(CABAC)動作のようなエントロピー符号化動作を適用し得る。コンテキスト適応型可変長コーディング(CALVC)、確率間隔区分エントロピー(PIPE)コーディング、または他のバイナリ算術コーディングのような、他のエントロピーコーディング技法も使用され得る。
【００７２】
ビデオエンコーダ20によって生成されるビットストリームは、一連のネットワーク抽象化レイヤ(NAL)ユニットを含み得る。NALユニットの各々は、NALユニット中のデータのタイプの指示と、データを含むバイトとを含む、シンタックス構造であり得る。たとえば、NALユニットは、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足エンハンスメント情報(SEI)、アクセスユニットデリミタ、フィラーデータ、または別のタイプのデータを表すデータを含み得る。NALユニット中のデータは、様々なシンタックス構造を含み得る。
【００７３】
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ20によって符号化されたビデオデータのコード化表現を含み得る。ビデオデコーダ30がビットストリームを受信するとき、ビデオデコーダ30は、ビットストリームに対して解析動作を実行し得る。ビデオデコーダ30が解析動作を実行するとき、ビデオデコーダ30は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ30は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構築し得る。シンタックス要素に基づいてビデオデータを再構築するための処理は、一般に、シンタックス要素を生成するためにビデオエンコーダ20によって実行される処理とは逆であり得る。
【００７４】
ビデオデコーダ30がCUと関連付けられたシンタックス要素を抽出した後、ビデオデコーダ30は、シンタックス要素に基づいて、CUのPUのための予測されたビデオブロックを生成し得る。加えて、ビデオデコーダ30は、CUのTUと関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ30は、変換係数ブロックに対して逆変換を実行して、CUのTUと関連付けられた残差ビデオブロックを再構築し得る。予測されたビデオブロックを生成し、残差ビデオブロックを再構築した後、ビデオデコーダ30は、予測されたビデオブロックと残差ビデオブロックとに基づいてCUのビデオブロックを再構築し得る。このようにして、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、CUのビデオブロックを再構築し得る。
【００７５】
ビデオエンコーダ
図2Aは、本開示で説明する態様による技法を実装し得るビデオエンコーダの例を示すブロック図である。ビデオデコーダ20は、HEVCの場合のように、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオエンコーダ20は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、予測処理ユニット100は、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。別の実施形態では、ビデオエンコーダ20は、本開示で説明される技法のいずれかまたはすべてを実行するように構成される任意選択のレイヤ間予測ユニット128を含む。他の実施形態では、レイヤ間予測は、予測処理ユニット100(たとえば、インター予測ユニット121および/またはイントラ予測ユニット126)によって実行されてよく、その場合、レイヤ間予測ユニット128は省略されてよい。しかしながら、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオエンコーダ20の様々な構成要素の間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示されず)が、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。
【００７６】
説明のために、本開示は、HEVCコーディングのコンテキストにおけるビデオエンコーダ20を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。図2Aに示される例は、シングルレイヤコーデックのためのものである。しかしながら、図2Bに関してさらに説明されるように、ビデオエンコーダ20の一部またはすべてが、マルチレイヤコーデックの処理のために複製され得る。
【００７７】
ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行してもよい。イントラコーディングは、空間的予測を利用して、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去する。インターコーディングは、時間的予測を利用して、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間的冗長性を低減または除去する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)のようなインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【００７８】
図2Aの例において、ビデオエンコーダ20は複数の機能構成要素を含む。ビデオエンコーダ20の機能コンポーネントは、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換ユニット110と、再構築ユニット112と、フィルタユニット113と、復号ピクチャバッファ114と、エントロピー符号化ユニット116とを含む。予測処理ユニット100は、インター予測ユニット121と、動き推定ユニット122と、動き補償ユニット124と、イントラ予測ユニット126と、レイヤ間予測ユニット128とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる機能の構成要素を含んでよい。さらに、動き推定ユニット122および動き補償ユニット124は、高度に統合され得るが、図2Aの例では、説明の目的で別々に表されている。
【００７９】
ビデオエンコーダ20は、ビデオデータを受信し得る。ビデオエンコーダ20は、様々なソースからビデオデータを受信し得る。たとえば、ビデオエンコーダ20は、(たとえば、図1Aまたは図1Bに示された)ビデオソース18、または別のソースからビデオデータを受信し得る。ビデオデータは、一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ20は、ピクチャの各々に対して符号化動作を実行し得る。ピクチャに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化動作を実行し得る。スライスに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、スライス中のツリーブロックに対して符号化動作を実行し得る。
【００８０】
ツリーブロックに対して符号化動作を実行することの一部として、予測処理ユニット100は、ツリーブロックのビデオブロックに対して4分木区分を実行して、ビデオブロックを徐々により小さくなるビデオブロックに分割し得る。より小さなビデオブロックの各々は、異なるCUと関連付けられ得る。たとえば、予測処理ユニット100は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分することができ、以下同様である。
【００８１】
CUと関連付けられたビデオブロックのサイズは、8×8のサンプルから、最大で64×64以上のサンプルをもつツリーブロックのサイズにまで及び得る。本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直方向の寸法および水平方向の寸法に関するビデオブロックのサンプルの寸法、たとえば、16×16(16x16)のサンプルまたは16×16(16 by 16)のサンプルを指すために交換可能に使用され得る。一般に、16×16のビデオブロックは、垂直方向に16個のサンプルを有し(y=16)、水平方向に16個のサンプルを有する(x=16)。同様に、N×Nのブロックは、一般に、垂直方向にN個のサンプルを有し、水平方向にN個のサンプルを有し、ここで、Nは非負の整数値を表す。
【００８２】
さらに、ツリーブロックに対して符号化動作を実行することの一部として、予測処理ユニット100は、ツリーブロックのための階層的な4分木データ構造を生成し得る。たとえば、ツリーブロックは、4分木データ構造のルートノードに対応し得る。予測処理ユニット100がツリーブロックのビデオブロックを4つのサブブロックに区分する場合、ルートノードは、4分木データ構造中に4つの子ノードを有する。子ノードの各々は、サブブロックの1つと関連付けられたCUに対応する。予測処理ユニット100がサブブロックの1つを4つのサブサブブロックに区分する場合、サブブロックと関連付けられたCUに対応するノードは、サブサブブロックの1つと関連付けられたCUに各々が対応する、4つの子ノードを有し得る。
【００８３】
4分木データ構造の各ノードは、対応するツリーブロックまたはCUのシンタックスデータ(たとえば、シンタックス要素)を含み得る。たとえば、4分木の中のノードは、そのノードに対応するCUのビデオブロックが4つのサブブロックに区分(たとえば、分割)されているかどうかを示す分割フラグを含み得る。CUのためのシンタックス要素は、再帰的に定義されてよく、CUのビデオブロックがサブブロックに分割されているかどうかに依存し得る。ビデオブロックが区分されていないCUは、4分木データ構造におけるリーフノードに対応し得る。コード化ツリーブロックは、対応するツリーブロックのための4分木データ構造に基づくデータを含み得る。
【００８４】
ビデオエンコーダ20は、ツリーブロックの区分されていない各CUに対して符号化動作を実行し得る。ビデオエンコーダ20が、区分されていないCUに対して符号化動作を実行するとき、ビデオエンコーダ20は、区分されていないCUの符号化された表現を表すデータを生成する。
【００８５】
CUに対して符号化動作を実行することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの中で、CUのビデオブロックを区分し得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なPUサイズをサポートし得る。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、2N×2NまたはN×NというPUサイズと、2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N、または同様の対称なPUサイズでのインター予測とをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30は、2N×nU、2N×nD、nL×2N、およびnR×2NというPUサイズに対する非対称区分もサポートし得る。いくつかの例では、予測処理ユニット100は、CUのビデオブロックの辺と直角に交わらない境界に沿ってCUのPUの間でCUのビデオブロックを区分するように、幾何学的な区分を実行し得る。
【００８６】
インター予測ユニット121は、CUの各PUに対してインター予測を実行し得る。インター予測は、時間圧縮を実現し得る。PUに対してインター予測を実行するために、動き推定ユニット122は、PUのための動き情報を生成し得る。動き補償ユニット124は、PUベースの動き情報およびCUと関連付けられたピクチャ以外のピクチャ(たとえば、参照ピクチャ)の復号されたサンプルのための、予測されたビデオブロックを生成し得る。本開示では、動き補償ユニット124によって生成される予測されたビデオブロックは、インター予測されたビデオブロックと呼ばれることがある。
【００８７】
スライスは、Iスライス、Pスライス、またはBスライスであり得る。動き推定ユニット122および動き補償ユニット124は、PUがIスライス中にあるか、Pスライス中にあるか、またはBスライス中にあるかに応じて、CUのPUのために異なる動作を実行し得る。Iスライス中では、すべてのPUがイントラ予測される。したがって、PUがIスライス中にある場合、動き推定ユニット122および動き補償ユニット124は、PUに対してインター予測を実行しない。
【００８８】
PUがPスライス中にある場合、PUを含むピクチャは、「リスト0」と呼ばれる参照ピクチャのリストと関連付けられる。リスト0中の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含む。動き推定ユニット122が、Pスライス中のPUに関して動き推定動作を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得る。PUの参照ブロックは、PUのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、たとえば、サンプルのブロックであり得る。動き推定ユニット122は、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定するために、様々な尺度を使用し得る。たとえば、動き推定ユニット122は、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分尺度によって、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定し得る。
【００８９】
Pスライス中のPUの参照ブロックを識別した後、動き推定ユニット122は、参照ブロックを含むリスト0中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット122は、動きベクトルを変化する精度で生成し得る。たとえば、動き推定ユニット122は、1/4サンプル精度、1/8サンプル精度、または他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって識別された参照ブロックに基づいて、PUの予測されるビデオブロックを生成し得る。
【００９０】
PUがBスライス中にある場合、PUを含むピクチャは、「リスト0」および「リスト1」と呼ばれる参照ピクチャの2つのリストと関連付けられ得る。いくつかの例では、Bスライスを含むピクチャは、リスト0およびリスト1の組合せである、リストの組合せと関連付けられ得る。
【００９１】
さらに、PUがBスライス中にある場合、動き推定ユニット122は、PUのための単方向予測または双方向予測を実行し得る。動き推定ユニット122がPUのための単方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0またはリスト1の参照ピクチャを探索し得る。動き推定ユニット122は次いで、参照ブロックを含む、リスト0またはリスト1中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスがリスト0中の参照ピクチャを示すのかまたはリスト1中の参照ピクチャを示すのかを示し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測されたビデオブロックを生成し得る。
【００９２】
動き推定ユニット122がPUのための双方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索することができ、また、PUのための別の参照ブロックについて、リスト1中の参照ピクチャを探索することができる。動き推定ユニット122は次いで、参照ブロックを含む、リスト0およびリスト1中の参照ピクチャを示す参照インデックスと、参照ブロックとPUとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報として、PUの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測されるビデオブロックを生成し得る。
【００９３】
いくつかの事例では、動き推定ユニット122は、PUのための動き情報の完全なセットをエントロピー符号化ユニット116に出力しない。そうではなく、動き推定ユニット122は、別のPUの動き情報を参照して、PUの動き情報をシグナリングし得る。たとえば、動き推定ユニット122は、PUの動き情報が、隣接PUの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット122は、PUと関連付けられたシンタックス構造において、PUが隣接PUと同じ動き情報を有することをビデオデコーダ30に示す値を示し得る。別の例では、動き推定ユニット122は、PUと関連付けられたシンタックス構造において、隣接PUと動きベクトル差分(MVD)とを識別し得る。動きベクトル差分は、PUの動きベクトルと、示される隣接PUの動きベクトルとの差分を示す。ビデオデコーダ30は、示される隣接PUの動きベクトルと、動きベクトルの差分とを使用して、PUの動きベクトルを決定し得る。第2のPUの動き情報をシグナリングするときに第1のPUの動き情報を参照することによって、ビデオエンコーダ20は、より少数のビットを使用して、第2のPUの動き情報をシグナリングすることが可能であり得る。
【００９４】
CUに対して符号化動作を実行することの一部として、イントラ予測ユニット126は、CUのPUに対してイントラ予測を実行し得る。イントラ予測は、空間圧縮を実現し得る。イントラ予測ユニット126がPUに対してイントラ予測を実行するとき、イントラ予測ユニット126は、同じピクチャ中の他のPUの復号されたサンプルに基づいて、PUのための予測データを生成し得る。PUのための予測データは、予測されるビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット126は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を実行し得る。
【００９５】
PUに対してイントラ予測を実行するために、イントラ予測ユニット126は、PUのための予測データの複数のセットを生成するために、複数のイントラ予測モードを使用し得る。イントラ予測ユニット126がイントラ予測モードを使用してPUのための予測データのセットを生成するとき、イントラ予測ユニット126は、イントラ予測モードと関連付けられる方向および/または勾配で、隣接PUのビデオブロックからPUのビデオブロックにわたってサンプルを延ばし得る。PU、CU、およびツリーブロックについて左から右、上から下の符号化順序を仮定すると、隣接PUは、PUの上、右上、左上、または左にあり得る。イントラ予測ユニット126は、PUのサイズに応じて、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。
【００９６】
予測処理ユニット100は、PUについて動き補償ユニット124によって生成された予測データ、またはPUについてイントラ予測ユニット126によって生成された予測データの中から、PUのための予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみの尺度に基づいて、PUのための予測データを選択する。
【００９７】
予測処理ユニット100が、イントラ予測ユニット126によって生成された予測データを選択する場合、予測処理ユニット100は、PUの予測データを生成するために使用されたイントラ予測モード、たとえば、選択されたイントラ予測モードをシグナリングし得る。予測処理ユニット100は、選択されたイントラ予測モードを様々な方法でシグナリングし得る。たとえば、選択されたイントラ予測モードは、隣接PUのイントラ予測モードと同じである可能性があり得る。言い換えれば、隣接PUのイントラ予測モードは、現在のPUに対して最も可能性のあるモードであり得る。したがって、予測処理ユニット100は、選択されたイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示すための、シンタックス要素を生成し得る。
【００９８】
上で説明されたように、ビデオエンコーダ20は、レイヤ間予測ユニット128を含み得る。レイヤ間予測ユニット128は、スケーラブルビデオコーディングにおいて利用可能である1つまたは複数の異なるレイヤ(たとえば、BLまたはRL)を使用して、現在のブロック(たとえば、EL中の現在のブロック)を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれることがある。レイヤ間予測ユニット128は、レイヤ間の冗長性を低減するための予測方法を利用し、それによって、コーディング効率を改善し、計算リソースの要件を下げる。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測を含む。レイヤ間イントラ予測は、EL中の現在のブロックを予測するために、BLの中で併置されているブロックの再構築を使用する。レイヤ間動き予測は、EL中の動作を予測するために、BLの動き情報を使用する。レイヤ間残差予測は、ELの残差を予測するために、BLの残差を使用する。レイヤ間予測方式の各々が、以下でより詳細に説明される。
【００９９】
予測処理ユニット100がCUのPUのための予測データを選択した後、残差生成ユニット102は、CUのビデオブロックからCUのPUの予測されたビデオブロックを差し引くこと(たとえば、マイナス符号によって示される)によって、CUの残差データを生成し得る。CUの残差データは、CUのビデオブロック中のサンプルの異なるサンプル成分に対応する、2D残差ビデオブロックを含み得る。たとえば、残差データは、CUのPUの予測されるビデオブロック中のサンプルのルミナンス成分と、CUの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。加えて、CUの残差データは、CUのPUの予測されるビデオブロック中のサンプルのクロミナンス成分と、CUの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
【０１００】
予測処理ユニット100は、4分木区分を実行して、CUの残差ビデオブロックをサブブロックに区分し得る。分割されていない各残差ビデオブロックは、CUの異なるTUと関連付けられ得る。CUのTUと関連付けられる残差ビデオブロックのサイズおよび位置は、CUのPUと関連付けられたビデオブロックのサイズおよび位置に基づいてよく、または基づかなくてよい。「残差4分木」(RQT)と呼ばれる4分木構造は、残差ビデオブロックの各々と関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
【０１０１】
変換処理ユニット104は、TUと関連付けられた残差ビデオブロックに1つまたは複数の変換を適用することによって、CUの各TUのための1つまたは複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の2D行列であり得る。変換処理ユニット104は、TUと関連付けられた残差ビデオブロックに様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向性変換、または概念的に同様の変換を、TUと関連付けられた残差ビデオブロックに適用し得る。
【０１０２】
変換処理ユニット104が、TUと関連付けられた変換係数ブロックを生成した後、量子化ユニット106は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット106は、CUと関連付けられたQP値に基づいて、CUのTUと関連付けられた変換係数ブロックを量子化し得る。
【０１０３】
ビデオエンコーダ20は、様々な方法でQP値をCUと関連付け得る。たとえば、ビデオエンコーダ20は、CUと関連付けられたツリーブロックに対してレートひずみ分析を実行し得る。レートひずみ分析では、ビデオエンコーダ20は、ツリーブロックに対して符号化動作を複数回実行することによって、ツリーブロックの複数のコード化表現を生成し得る。ビデオエンコーダ20がツリーブロックの異なる符号化された表現を生成するとき、ビデオエンコーダ20は、異なるQP値をCUと関連付け得る。ビデオエンコーダ20は、最小のビットレートおよびひずみの尺度を有するツリーブロックのコード化表現において所与のQP値がCUと関連付けられるとき、所与のQP値がCUと関連付けられることをシグナリングし得る。
【０１０４】
逆量子化ユニット108および逆変換ユニット110は、変換係数ブロックから残差ビデオブロックを再構築するために、それぞれ、逆量子化と逆変換とを変換係数ブロックに適用し得る。再構築ユニット112は、TUと関連付けられる再構築されたビデオブロックを生成するために、再構築された残差ビデオブロックを、予測処理ユニット100によって生成された1つまたは複数の予測されたビデオブロックからの対応するサンプルに追加し得る。このようにCUの各TUのためのビデオブロックを再構築することによって、ビデオエンコーダ20は、CUのビデオブロックを再構築し得る。
【０１０５】
再構築ユニット112がCUのビデオブロックを再構築した後、フィルタユニット113は、CUと関連付けられたビデオブロックにおけるブロッキングアーティファクトを低減するために、デブロッキング動作を実行し得る。1つまたは複数のデブロッキング動作を実行した後、フィルタユニット113は、CUの再構築されたビデオブロックを復号ピクチャバッファ114に記憶し得る。動き推定ユニット122および動き補償ユニット124は、再構築されたビデオブロックを含む参照ピクチャを使用して、後続のピクチャのPUに対してインター予測を実行し得る。加えて、イントラ予測ユニット126は、復号ピクチャバッファ114の中の再構築されたビデオブロックを使用して、CUと同じピクチャ中の他のPUに対してイントラ予測を実行し得る。
【０１０６】
エントロピー符号化ユニット116は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット116は、量子化ユニット106から変換係数ブロックを受け取ることができ、予測処理ユニット100からシンタックス要素を受け取ることができる。エントロピー符号化ユニット116がデータを受信するとき、エントロピー符号化ユニット116は、1つまたは複数のエントロピー符号化動作を実行して、エントロピー符号化されたデータを生成し得る。たとえば、ビデオエンコーダ20は、CALVC動作、CABAC動作、変数間(V2V)レングスコーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率間隔区分エントロピー(PIPE)コーディング動作、または別のタイプのエントロピー符号化動作をデータに対して実行し得る。エントロピー符号化ユニット116は、エントロピー符号化されたデータを含むビットストリームを出力し得る。
【０１０７】
データに対してエントロピー符号化動作を実行することの一部として、エントロピー符号化ユニット116は、コンテキストモデルを選択し得る。エントロピー符号化ユニット116がCABAC動作を実行している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。CABACの状況では、「ビン」という用語は、シンタックス要素の2値化されたバージョンのビットを指すために使用される。
【０１０８】
マルチレイヤビデオエンコーダ
図2Bは、本開示で説明される態様による技法を実装し得る(単にビデオエンコーダ23とも呼ばれる)マルチレイヤビデオエンコーダ23の例を示すブロック図である。ビデオエンコーダ23は、SHVCおよびマルチビューコーディングの場合のように、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオエンコーダ23は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
【０１０９】
ビデオエンコーダ23はビデオエンコーダ20Aとビデオエンコーダ20Bとを含み、それらの各々はビデオエンコーダ20として構成されてよく、ビデオエンコーダ20に関して上で説明された機能を実行し得る。さらに、参照番号の再使用によって示されるように、ビデオエンコーダ20Aおよび20Bは、ビデオエンコーダ20としてのシステムおよびサブシステムの少なくともいくつかを含み得る。ビデオエンコーダ23は、2つのビデオエンコーダ20Aおよび20Bを含むように示されるが、ビデオエンコーダ23は、そのように限定されず、任意の数のビデオエンコーダ20のレイヤを含み得る。いくつかの実施形態では、ビデオエンコーダ23は、アクセスユニット中の各ピクチャまたは各フレームに対してビデオエンコーダ20を含み得る。たとえば、5つのピクチャを含むアクセスユニットは、5つのエンコーダレイヤを含むビデオエンコーダによって処理または符号化され得る。いくつかの実施形態では、ビデオエンコーダ23は、アクセスユニット中のフレームよりも多くのエンコーダレイヤを含み得る。いくつかのそのような場合では、ビデオエンコーダレイヤのいくつかは、いくつかのアクセスユニットを処理するときに無効であり得る。
【０１１０】
ビデオエンコーダ20Aおよび20Bに加えて、ビデオエンコーダ23は、リサンプリングユニット90を含み得る。いくつかの場合、リサンプリングユニット90は、たとえば、ELを作成するために、受信されたビデオフレームのBLをアップサンプリングし得る。リサンプリングユニット90は、フレームの受信されたBLと関連付けられた特定の情報をアップサンプリングし得るが、他の情報をアップサンプリングしないことがある。たとえば、リサンプリングユニット90は、BLの空間サイズまたはピクセルの数をアップサンプリングし得るが、スライスの数またはピクチャ順序カウントは一定のままであり得る。いくつかの場合、リサンプリングユニット90は、受信されたビデオを処理しないことがあり、および/または任意選択であり得る。たとえば、いくつかの場合、予測処理ユニット100は、アップサンプリングを実行し得る。いくつかの実施形態では、リサンプリングユニット90は、レイヤをアップサンプリングし、スライス境界の規則および/またはラスター走査の規則のセットに適合するように1つまたは複数のスライスを再編成し、再定義し、修正し、または調整するように構成される。アクセスユニット中のBLまたは下位レイヤをアップサンプリングするものとして主に説明されたが、いくつかの場合、リサンプリングユニット90は、レイヤをダウンサンプリングし得る。たとえば、ビデオのストリーミングの間に帯域幅が減少した場合、フレームは、アップサンプリングされるのではなく、ダウンサンプリングされ得る。
【０１１１】
リサンプリングユニット90は、下位レイヤエンコーダ(たとえば、ビデオエンコーダ20A)の復号ピクチャバッファ114からピクチャまたはフレーム(またはピクチャと関連付けられたピクチャ情報)を受信し、ピクチャ(または受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤエンコーダと同じアクセスユニット中のピクチャを符号化するように構成された、上位レイヤエンコーダ(たとえば、ビデオエンコーダ20B)の予測処理ユニット100に提供され得る。いくつかの場合、上位レイヤエンコーダは、下位レイヤエンコーダから除去された1つのレイヤである。他の場合には、図2Bのレイヤ0ビデオエンコーダとレイヤ1エンコーダとの間に、1つまたは複数の上位レイヤエンコーダがあり得る。
【０１１２】
いくつかの場合、リサンプリングユニット90は、省略またはバイパスされ得る。そのような場合、ビデオエンコーダ20Aの復号ピクチャバッファ114からのピクチャは、直接、または少なくともリサンプリングユニット90に提供されずに、ビデオエンコーダ20Bの予測処理ユニット100に提供され得る。たとえば、ビデオエンコーダ20Bに提供されたビデオデータ、およびビデオエンコーダ20Aの復号ピクチャバッファ114からの参照ピクチャが、同じサイズまたは解像度である場合、参照ピクチャは、いかなるリサンプリングも伴わずにビデオエンコーダ20Bに提供され得る。
【０１１３】
いくつかの実施形態では、ビデオエンコーダ23は、ビデオエンコーダ20Aにビデオデータを提供する前に、ダウンサンプリングユニット94を使用して下位レイヤエンコーダに供給されるべきビデオデータをダウンサンプリングする。代替的に、ダウンサンプリングユニット94は、ビデオデータをアップサンプリングまたはダウンサンプリングすることが可能なリサンプリングユニット90であり得る。さらに他の実施形態では、ダウンサンプリングユニット94は省略され得る。
【０１１４】
図2Bに示されるように、ビデオエンコーダ23はさらに、マルチプレクサ98、すなわちmuxを含み得る。mux98は、ビデオエンコーダ23から合成されたビットストリームを出力することができる。合成されたビットストリームは、ビデオエンコーダ20Aおよび20Bの各々からビットストリームを取り、所与の時間においてどちらのビットストリームが出力されるかを切り替えることによって作成され得る。いくつかの場合には、2つの(または、3つ以上のビデオエンコーダレイヤの場合には、より多くの)ビットストリームからのビットが一度に1ビット切り替えられ得るが、多くの場合、ビットストリームは異なるように合成され得る。たとえば、出力ビットストリームは、選択されたビットストリームを一度に1ブロック切り替えることによって作成され得る。別の例では、出力ビットストリームは、ビデオエンコーダ20Aおよび20Bの各々から1:1ではない比のブロックを出力することによって作成され得る。たとえば、ビデオエンコーダ20Aから出力された各ブロックについて、2つのブロックがビデオエンコーダ20Bから出力され得る。いくつかの実施形態では、mux98からの出力ストリームは事前にプログラムされ得る。他の実施形態では、mux98は、ビデオエンコーダ23の外部のシステムから、たとえばソースデバイス12を含むソースデバイス上のプロセッサから受信された制御信号に基づいて、ビデオエンコーダ20A、20Bからのビットストリームを合成し得る。制御信号は、ビデオソース18からのビデオの解像度またはビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザと関連付けられるサブスクリプション(たとえば、有料サブスクリプション対無料サブスクリプション)に基づいて、またはビデオエンコーダ23から望まれる解像度出力を決定するための任意の他の要因に基づいて生成され得る。
【０１１５】
ビデオデコーダ
図3Aは、本開示で説明する態様による技法を実装し得るビデオデコーダの例を示すブロック図である。ビデオデコーダ30は、HEVCの場合のように、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオデコーダ30は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、動き補償ユニット162および/またはイントラ予測ユニット164は、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。一実施形態では、ビデオデコーダ30は、任意選択で、本開示で説明される技法のいずれかまたはすべてを実行するように構成されたレイヤ間予測ユニット166を含み得る。他の実施形態では、レイヤ間予測は、予測処理ユニット152(たとえば、動き補償ユニット162および/またはイントラ予測ユニット164)によって実行されてよく、その場合、レイヤ間予測ユニット166は省略されてよい。しかしながら、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明される技法は、ビデオデコーダ30の様々なコンポーネント間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示されず)が、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。
【０１１６】
説明のために、本開示は、HEVCコーディングのコンテキストにおけるビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。図3Aに示される例は、シングルレイヤコーデックのためのものである。しかしながら、図3Bに関してさらに説明されるように、ビデオデコーダ30の一部またはすべてが、マルチレイヤコーデックの処理のために複製され得る。
【０１１７】
図3Aの例において、ビデオデコーダ30は複数の機能構成要素を含む。ビデオデコーダ30の機能コンポーネントは、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換ユニット156と、再構築ユニット158と、フィルタユニット159と、復号ピクチャバッファ160とを含む。予測処理ユニット152は、動き補償ユニット162と、イントラ予測ユニット164と、レイヤ間予測ユニット166とを含む。いくつかの例では、ビデオデコーダ30は、図2Aのビデオエンコーダ20に関して説明された符号化経路とは全般に逆の復号経路を実行し得る。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能の構成要素を含んでよい。
【０１１８】
ビデオデコーダ30は、符号化されたビデオデータを備えるビットストリームを受信し得る。ビットストリームは、複数のシンタックス要素を含み得る。ビデオデコーダ30がビットストリームを受信するとき、エントロピー復号ユニット150は、ビットストリームに対して解析動作を実行し得る。ビットストリームに対して解析動作を実行した結果として、エントロピー復号ユニット150は、ビットストリームからシンタックス要素を抽出し得る。解析動作を実行することの一部として、エントロピー復号ユニット150は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換ユニット156、再構築ユニット158、およびフィルタユニット159は、ビットストリームから抽出されたシンタックス要素に基づいて復号ビデオデータを生成する、再構築動作を実行し得る。
【０１１９】
上で論じられたように、ビットストリームは、一連のNALユニットを備え得る。ビットストリームのNALユニットは、ビデオパラメータセットNALユニット、シーケンスパラメータセットNALユニット、ピクチャパラメータセットNALユニット、SEI NALユニットなどを含み得る。ビットストリームに対して解析動作を実行することの一部として、エントロピー復号ユニット150は、シーケンスパラメータセットNALユニットからのシーケンスパラメータセット、ピクチャパラメータセットNALユニットからのピクチャパラメータセット、SEI NALユニットからのSEIデータなどを抽出しエントロピー復号する、解析動作を実行し得る。
【０１２０】
さらに、ビットストリームのNALユニットは、コード化スライスNALユニットを含み得る。ビットストリームに対して解析動作を実行することの一部として、エントロピー復号ユニット150は、コード化スライスNALユニットからコード化スライスを抽出しエントロピー復号する、解析動作を実行し得る。コード化スライスの各々は、スライスヘッダと、スライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。スライスヘッダ中のシンタックス要素は、スライスを含むピクチャと関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット150は、コード化スライスヘッダ中のシンタックス要素に対してCABAC復号動作のようなエントロピー復号演算を実行して、スライスヘッダを復元し得る。
【０１２１】
コード化スライスNALユニットからスライスデータを抽出することの一部として、エントロピー復号ユニット150は、スライスデータ中のコード化CUからシンタックス要素を抽出する解析動作を実行し得る。抽出されたシンタックス要素は、変換係数ブロックと関連付けられるシンタックス要素を含み得る。エントロピー復号ユニット150は次いで、シンタックス要素のいくつかに対してCABAC復号動作を実行し得る。
【０１２２】
エントロピー復号ユニット150が区分されていないCUに対して解析動作を実行した後、ビデオデコーダ30は、区分されていないCUに対して再構築動作を実行し得る。区分されていないCUに対して再構成動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成動作を実行し得る。CUの各TUについて再構築動作を実行することによって、ビデオデコーダ30は、CUと関連付けられた残差ビデオブロックを再構築し得る。
【０１２３】
TUに対して再構築動作を実行することの一部として、逆量子化ユニット154は、TUと関連付けられた変換係数ブロックを逆量子化(inverse quantize)、たとえば、逆量子化(de-quantize)し得る。逆量子化ユニット154は、HEVCのために提案された、またはH.264復号規格によって定義された逆量子化処理と同様の方式で、変換係数ブロックを逆量子化し得る。逆量子化ユニット154は、変換係数ブロックのCUのためにビデオエンコーダ20によって計算される量子化パラメータQPを使用して、量子化の程度を決定し、同様に、逆量子化ユニット154が適用すべき逆量子化の程度を決定し得る。
【０１２４】
逆量子化ユニット154が変換係数ブロックを逆量子化した後、逆変換ユニット156は、変換係数ブロックと関連付けられたTUのための残差ビデオブロックを生成し得る。逆変換ユニット156は、変換係数ブロックに逆変換を適用して、TUのための残差ビデオブロックを生成し得る。たとえば、逆変換ユニット156は、変換係数ブロックに、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を適用し得る。いくつかの例では、逆変換ユニット156は、ビデオエンコーダ20からのシグナリングに基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット156は、変換係数ブロックと関連付けられたツリーブロックの4分木のルートノードにおけるシグナリングされた変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット156は、ブロックサイズ、コーディングモードなどのような、1つまたは複数のコーディング特性から逆変換を推測し得る。いくつかの例では、逆変換ユニット156はカスケード逆変換を適用し得る。
【０１２５】
いくつかの例では、動き補償ユニット162は、補間フィルタに基づく補間を実行することによって、PUの予測されるビデオブロックを改良し得る。サブサンプル精度を有する動き補償のために使用されるべき補間フィルタのための識別子は、シンタックス要素に含まれ得る。動き補償ユニット162は、PUの予測されたビデオブロックの生成の間にビデオエンコーダ20によって使用されたのと同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルのための補間された値を計算し得る。動き補償ユニット162は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測されたビデオブロックを生成し得る。
【０１２６】
PUが、イントラ予測を使用して符号化される場合、イントラ予測ユニット164は、イントラ予測を実行して、PUのための予測されたビデオブロックを生成し得る。たとえば、イントラ予測ユニット164は、ビットストリーム中のシンタックス要素に基づいて、PUのためのイントラ予測モードを決定し得る。ビットストリームは、PUのイントラ予測モードを決定するためにイントラ予測ユニット164が使用し得るシンタックス要素を含み得る。
【０１２７】
いくつかの事例では、シンタックス要素は、イントラ予測ユニット164が現在のPUのイントラ予測モードを決定するために別のPUのイントラ予測モードを使用すべきであることを、示し得る。たとえば、現在のPUのイントラ予測モードが隣接PUのイントラ予測モードと同じであることが起こり得る。言い換えれば、隣接PUのイントラ予測モードは、現在のPUに対して最も可能性のあるモードであり得る。したがって、この例では、ビットストリームは、PUのイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット164は次いで、イントラ予測モードを使用して、空間的に隣接するPUのビデオブロックに基づいてPUのための予測データ(たとえば、予測されるサンプル)を生成し得る。
【０１２８】
上で説明されたように、ビデオデコーダ30もレイヤ間予測ユニット166を含み得る。レイヤ間予測ユニット166は、スケーラブルビデオコーディングにおいて利用可能である1つまたは複数の異なるレイヤ(たとえば、BLまたはRL)を使用して、現在のブロック(たとえば、EL中の現在のブロック)を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれることがある。レイヤ間予測ユニット166は、レイヤ間の冗長性を低減するための予測方法を利用し、それによって、コーディング効率を改善し、計算リソースの要件を下げる。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測を含む。レイヤ間イントラ予測は、EL中の現在のブロックを予測するために、BLの中で併置されているブロックの再構築を使用する。レイヤ間動き予測は、EL中の動作を予測するために、BLの動き情報を使用する。レイヤ間残差予測は、ELの残差を予測するために、BLの残差を使用する。レイヤ間予測方式の各々が、以下でより詳細に説明される。
【０１２９】
再構築ユニット158は、適用可能なとき、CUのTUと関連付けられた残差ビデオブロックとCUのPUの予測されたビデオブロックとを使用して、たとえば、イントラ予測データまたはインター予測データのいずれかを使用して、CUのビデオブロックを再構築し得る。したがって、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、予測されたビデオブロックと残差ビデオブロックとを生成することができ、予測されたビデオブロックと残差ビデオブロックとに基づいて、ビデオブロックを生成することができる。
【０１３０】
再構築ユニット158がCUのビデオブロックを再構築した後、フィルタユニット159は、デブロッキング動作を実行して、CUと関連付けられるブロッキングアーティファクトを低減し得る。フィルタユニット159が、デブロッキング動作を実行してCUと関連付けられたブロッキングアーティファクトを低減した後、ビデオデコーダ30はCUのビデオブロックを復号ピクチャバッファ160に記憶し得る。復号ピクチャバッファ160は、後続の動き補償、イントラ予測、および図1Aまたは図1Bのディスプレイデバイス32のようなディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ160中のビデオブロックに基づいて、他のCUのPUに対してイントラ予測動作またはインター予測動作を実行し得る。
【０１３１】
マルチレイヤデコーダ
図3Bは、本開示で説明される態様による技法を実装し得る(単にビデオデコーダ33とも呼ばれる)マルチレイヤビデオデコーダ33の例を示すブロック図である。ビデオデコーダ33は、SHVCおよびマルチビューコーディングの場合のように、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオデコーダ33は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
【０１３２】
ビデオデコーダ33はビデオデコーダ30Aとビデオデコーダ30Bとを含み、それらの各々はビデオデコーダ30として構成されてよく、ビデオデコーダ30に関して上で説明された機能を実行し得る。さらに、参照番号の再使用によって示されるように、ビデオデコーダ30Aおよび30Bは、ビデオデコーダ30としてのシステムおよびサブシステムのうちの少なくともいくつかを含み得る。ビデオデコーダ33は、2つのビデオデコーダ30Aおよび30Bを含むように示されるが、ビデオデコーダ33は、そのように限定されず、任意の数のビデオデコーダ30のレイヤを含み得る。いくつかの実施形態では、ビデオデコーダ33は、アクセスユニット中の各ピクチャまたは各フレームに対してビデオデコーダ30を含み得る。たとえば、5つのピクチャを含むアクセスユニットは、5つのデコーダレイヤを含むビデオデコーダによって処理または復号され得る。いくつかの実施形態では、ビデオデコーダ33は、アクセスユニット中のフレームよりも多くのデコーダレイヤを含み得る。いくつかのそのような場合には、ビデオデコーダレイヤのいくつかは、いくつかのアクセスユニットを処理するときに無効であり得る。
【０１３３】
ビデオデコーダ30Aおよび30Bに加えて、ビデオデコーダ33は、アップサンプリングユニット92を含み得る。いくつかの実施形態では、アップサンプリングユニット92は、受信されたビデオフレームのBLをアップサンプリングして、フレームまたはアクセスユニットのための参照ピクチャリストに追加されるべきエンハンストレイヤを作成し得る。このエンハンストレイヤは、復号ピクチャバッファ160に記憶され得る。いくつかの実施形態では、アップサンプリングユニット92は、図2Aのリサンプリングユニット90に関して説明された実施形態の一部またはすべてを含み得る。いくつかの実施形態では、アップサンプリングユニット92は、レイヤをアップサンプリングし、スライス境界の規則および/またはラスター走査の規則のセットに準拠するように、1つまたは複数のスライスを再編成し、再定義し、修正し、または調整するように構成される。いくつかの場合は、アップサンプリングユニット92は、受信されたビデオフレームのレイヤをアップサンプリングおよび/またはダウンサンプリングするように構成されたリサンプリングユニットであり得る。
【０１３４】
アップサンプリングユニット92は、下位レイヤデコーダ(たとえば、ビデオデコーダ30A)の復号ピクチャバッファ160からピクチャまたはフレーム(またはピクチャと関連付けられたピクチャ情報)を受信し、ピクチャ(または受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは次いで、下位レイヤデコーダと同じアクセスユニット中のピクチャを復号するように構成された上位レイヤデコーダ(たとえば、ビデオデコーダ30B)の予測処理ユニット152に与えられ得る。いくつかの場合、上位レイヤデコーダは、下位レイヤデコーダから除去された1つのレイヤである。他の場合には、図3Bのレイヤ0デコーダとレイヤ1デコーダとの間に1つまたは複数の上位レイヤデコーダがあり得る。
【０１３５】
いくつかの場合は、アップサンプリングユニット92は、省略またはバイパスされ得る。そのような場合、ビデオデコーダ30Aの復号ピクチャバッファ160からのピクチャは、直接、または少なくともアップサンプリングユニット92に提供されずに、ビデオデコーダ30Bの予測処理ユニット152に提供され得る。たとえば、ビデオデコーダ30Bに提供されたビデオデータ、およびビデオデコーダ30Aの復号ピクチャバッファ160からの参照ピクチャが、同じサイズまたは解像度である場合、参照ピクチャは、アップサンプリングを伴わずにビデオデコーダ30Bに提供され得る。さらに、いくつかの実施形態では、アップサンプリングユニット92は、ビデオデコーダ30Aの復号ピクチャバッファ160から受信された参照ピクチャをアップサンプリングまたはダウンサンプリングするように構成された、リサンプリングユニット90であり得る。
【０１３６】
図3Bに示されるように、ビデオデコーダ33はさらに、デマルチプレクサ99、すなわちdemuxを含み得る。demux99は、符号化されたビデオビットストリームを複数のビットストリームに分割することができ、demux99によって出力された各ビットストリームは、異なるビデオデコーダ30Aおよび30Bに提供される。複数のビットストリームはビットストリームを受信することによって作成されてよく、ビデオデコーダ30Aおよび30Bの各々は所与の時間においてビットストリームの一部分を受信する。いくつかの場合、demux99において受信されるビットストリームからのビットは、ビデオデコーダの各々(たとえば、図3Bの例ではビデオデコーダ30Aおよび30B)の間で、一度に1ビット切り替えられ得るが、多くの場合、ビットストリームは異なるように分割される。たとえば、ビットストリームは、どのビデオデコーダがビットストリームを受信するかを一度に1ブロック切り替えることによって分割され得る。別の例では、ビットストリームは、1:1ではない比のブロックによって、ビデオデコーダ30Aおよび30Bの各々に分割され得る。たとえば、2つのブロックは、ビデオデコーダ30Aに提供される各ブロックについてビデオデコーダ30Bに提供され得る。いくつかの実施形態では、demux99によるビットストリームの分割は、事前にプログラムされ得る。他の実施形態では、demux99は、ビデオデコーダ33の外部のシステムから、たとえば宛先デバイス14を含む宛先デバイス上のプロセッサから受信された制御信号に基づいて、ビットストリームを分割し得る。制御信号は、入力インターフェース28からのビデオの解像度またはビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザと関連付けられたサブスクリプション(たとえば、有料サブスクリプション対無料サブスクリプション)に基づいて、またはビデオデコーダ33によって取得可能な解像度を決定するための任意の他の要因に基づいて生成され得る。
【０１３７】
レイヤセット、出力レイヤセット、および区分方式
いくつかの実施形態では、エンコーダからのビデオデータは、デコーダの必要性または能力に応じて異なって復号または出力されることがある。たとえば、第1のデコーダは、最高品質のピクチャをもたらすために、符号化ビデオデータの全レイヤを復号および出力してよい。一方、異なるデコーダは、(スクリーンサイズ、処理応力、および/または他の制約によって)最高品質のピクチャをもたらす必要はないことがあり、したがって、レイヤのサブセットだけを復号および出力することがある。
【０１３８】
エンコーダは、符号化ビデオデータビットストリームを作成するとき、様々なレイヤセットを指定し、ビデオデータを復号するときに使用され得るレイヤセットを出力してよい。たとえば、ビデオデータの全レイヤを含む第1のレイヤセットが指定されてよく、同様に、ビデオデータのレイヤのサブセットのみを含む第2のレイヤセットが指定されてもよい。デコーダは、それの特定の構成に応じて、特定のレイヤセットを選択してよく、および/またはビデオデータを復号するときに使用されるべきレイヤセットを出力してもよい。
【０１３９】
いくつかの実施形態では、ビデオデータは、1つまたは複数の異なる区分を介してエンコーダとデコーダとの間で送信されてよく、区分は、ビデオデータの1つまたは複数のレイヤを含む。区分に対するレイヤの配列は、指定された区分方式に基づいて決定されてよい。いくつかの実施形態では、使用される区分方式は、使用されるレイヤセットおよび/または出力レイヤセットに基づくことがある。加えて、区分方式はまた、デコーダの要件および/またはビデオデータのフォーマットに少なくとも部分的に基づくことがある。
【０１４０】
図4Aおよび図4Bは、本開示で説明する態様による、ビデオデータレイヤ、レイヤセット、出力レイヤセット、および区分方式の間の関係を示す。上記で説明したように、ビデオデータは、複数のレイヤ402を含むことがある。たとえば、図4Aに示すように、ビデオデータは、底レイヤ「レイヤ0」、ならびに「レイヤ1」および「レイヤ2」の3つの異なるレイヤを含む。
【０１４１】
ビデオデータは、1つまたは複数の異なるレイヤセットと関連付けられてよい。レイヤセットは、デコーダによって処理されることになる全レイヤのサブセットに対応する。いくつかの実施形態では、異なるデコーダは、異なるレイヤセットを利用してよい。たとえば、符号化ビデオデータは、エンコーダから複数の異なるデコーダに送信されてよい。デコーダは、異なる必要性または能力を有する異なるタイプの出力またはアプリケーションと関連付けられてよい。たとえば、第1のデコーダは、大きいテレビジョンまたはコンピュータのモニタスクリーンと関連付けられてよく、一方、第2のデコーダは、小さいスマートフォンスクリーンと関連付けられてよい。したがって、第1のデコーダは、最大のピクチャ品質を取得することは大きな関心事でない第2のデコーダと比較して、より高品質のピクチャを取得するためにより大きいレイヤセットを処理するように構成されてよい。
【０１４２】
図に示すように、レイヤ402は、レイヤ402の3つのレイヤすべてを含む第1のレイヤセット404、および3つのレイヤのうちの2つだけを含む第2のレイヤセット406と関連付けられてよい。デコーダが、レイヤ402のすべてのレイヤを含むことはないレイヤセット(たとえば、第2のレイヤセット406)を使用する場合、デコーダは、そのレイヤセットの一部でない任意の残りのレイヤ(たとえば、レイヤ2)を無視するかまたは廃棄しながら、そのレイヤセットに含まれるレイヤ(たとえば、レイヤ0およびレイヤ1)だけを処理することになる。
【０１４３】
いくつかの実施形態では、各レイヤセットは、1つまたは複数の異なる出力レイヤセットと関連付けられてよい。レイヤセットと関連付けられた出力レイヤセットは、復号後にデコーダによって実際に出力されることになるレイヤセット内のレイヤのサブセットに対応する。たとえば、第1のレイヤセット404は、第1の出力レイヤセット408および第2の出力レイヤセット410と関連付けられてよい。同様に、第2のレイヤセット406もまた、1つまたは複数の異なる出力レイヤセット(図示せず)と関連付けられてよい。1つまたは複数の出力レイヤセットのうちの「第1の」出力レイヤセット、「第2の」出力レイヤセットなどの言及は、必ずしも1つまたは複数の出力レイヤセットのうちの特定の出力レイヤセット、または1つまたは複数の出力レイヤセットの特定の順序に言及しているとは限らず、1つまたは複数の出力レイヤセットのうちの任意の個別の出力レイヤセットに対応してよいことを理解されたい。
【０１４４】
デコーダは、所与のレイヤセット内に指定されるすべてのレイヤを処理/復号することになるが、出力レイヤセットの一部のレイヤだけが出力されて表示されることになる。たとえば、第2の出力レイヤセット410を使用するデコーダは、レイヤセット404の3つのレイヤ(レイヤ0、レイヤ1およびレイヤ2)のすべてを復号することになる。しかしながら、復号されたレイヤ2だけが、表示のために実際に出力されることになる。いくつかの実施形態では、これは、出力レイヤセット内で指定されるレイヤ(たとえば、レイヤ2)は、出力レイヤセット内にない他のレイヤ(たとえば、レイヤ0、レイヤ1)に依存しており、したがって、レイヤセットの他のレイヤは、表示のために実際に出力されないけれども復号されることを必要とするからである。
【０１４５】
符号化ビデオビットストリームは、1つまたは複数の区分としてエンコーダとデコーダとの間で送信されてよい。いくつかの実施形態では、区分は、ファイル内のトランスポートストリームまたはトラック内のエレメンタリストリームに対応し、ビデオデータの1つまたは複数のレイヤを含むことがある。いくつかの実施形態では、各出力レイヤセットは、異なる区分の間のビデオデータのレイヤが、エンコーダとデコーダとの間でいかにして送信されるかを定義する1つまたは複数の異なる区分方式と関連付けられてよい。
【０１４６】
たとえば、第1の出力レイヤセット408は、各レイヤがそれ自体の別々の区分内にある第1の区分方式、ならびにレイヤ0が第1の区分の一部である一方でレイヤ1および2が第2の区分を共有する第2の区分方式と関連付けられてよい。同様に、第2の出力レイヤセット410は、各レイヤがそれ自体の別々の区分内にある第1の区分方式、ならびに第1の区分方式と異なる第2の区分方式(たとえば、レイヤ0および1が第1の区分を共有し、レイヤ2が別々の第2の区分内にある)と関連付けられてよい。いくつかの実施形態では、各レイヤがそれ自体の別々の区分内にある区分方式は、デフォルト区分方式と見なされる。
【０１４７】
いくつかの実施形態では、使用される区分方式は、ビデオデータと関連付けられたメディアファイルフォーマットに少なくとも部分的に基づくことがある。たとえば、図4Bに示すように、ビデオデータがMPEG-2トランスポートストリームを介してトランスポートされるべきである場合、特定の区分方式(たとえば、各レイヤがそれ自体の別々の区分内にある)が使用されることがある。一方、ビデオデータが、ISOベースメディアファイルフォーマットに従ってトランスポートされるべきである場合、異なる区分方式が使用されることがある。ビデオデータが受信された後、受信されたビデオデータの適合性が、区分方式の区分および出力レイヤセットと関連付けられた適合性パラメータ(たとえば、HRDパラメータ)を使用して試験されることがある。
【０１４８】
HRDパラメータのマッピング
いくつかの実施形態では、仮想参照デコーダ(HRD)パラメータが、受信されたビデオデータビットストリームの予期されるフォーマットに対する適合性を試験するために使用されることがある。たとえば、デコーダが、1つまたは複数の区分を含むビデオビットストリームを受信すると、受信された区分にマッピングされたHRDパラメータが識別される。次いで、受信されたビットストリームの適合性が、区分方式内の区分と関連付けられたHRDパラメータと受信された区分とを比較することによって試験されてよい。
【０１４９】
いくつかの実施形態では、異なるレイヤセットが、同じ区分方式および区分と関連付けられてよい。たとえば、図4Aに示すように、レイヤセット404は、同じ区分(たとえば、レイヤ0を含む区分#1)を有する同じ区分方式(たとえば、各レイヤがそれ自体の別々の区分内にあるデフォルト区分方式)である区分方式412および416と関連付けられてよい。
【０１５０】
いくつかのHRDパラメータは、区分内のレイヤが出力レイヤであるか否かとは無関係であってよいが、区分方式が関連付けられる出力レイヤセットによって定義されるので、他のHRDパラメータは出力レイヤセットに依存する。たとえば、HRDパラメータは、適用される出力レイヤセットに依存するfixed_pic_rate_general_flag[]、fixed_pic_rate_cvs_flag[]、elemental_duration_in_tc_minus1[]などのシンタックス要素を含むことがある。
【０１５１】
したがって、同じ区分(たとえば、区分方式412における区分#1および区分方式416における区分#2)が、異なる出力レイヤセット(たとえば、区分方式412におけるレイヤ0は出力レイヤであるが、区分方式416におけるレイヤ0は出力レイヤではない)と関連付けられることがあるので、区分と関連付けられたHRDパラメータが、区分が関連付けられる特定の出力レイヤセットに応じて異なる必要がある場合、HRDパラメータが単にレイヤセットによって区分にマッピングされることだけでは不十分である。その結果、HRDパラメータは、単に区分にマッピングされるのではなく、区分/区分方式が関連付けられる出力レイヤセットにもマッピングされる。
【０１５２】
図5Aは、本開示で説明する態様による、HRDパラメータなど、符号化ビデオデータ内の適合性パラメータをマッピングするための方法のフローチャートを示す。いくつかの実施形態では、方法は、図2Aおよび/または図2Bに示すエンコーダなどのビデオエンコーダによって実行されてよい。ブロック502において開始して、ビデオデータは、少なくとも1つのレイヤを含むビデオデータビットストリームを形成するようにコーディングされる。ビデオデータは、1つまたは複数のレイヤセットと関連付けられてよい。レイヤセットは、デコーダによって処理されることになるビデオデータビットストリームのレイヤを指定する。いくつかの実施形態では、レイヤセットは、ビデオデータビットストリーム内のすべてのレイヤ、またはビデオデータビットストリームのレイヤのサブセットだけを含んでよい。
【０１５３】
ブロック504において、各レイヤセットは、1つまたは複数の出力レイヤセットと関連付けられる。レイヤセットは、デコーダによって処理されるべきビデオデータのレイヤを指定するが、出力レイヤセットは、デコーダによって実際に出力されることになるレイヤを指定する。出力レイヤセットは、その関連するレイヤセットのすべてのレイヤ、またはレイヤセット内のレイヤのサブセットを含んでよい。
【０１５４】
ブロック506において、各出力レイヤセットは、1つまたは複数の区分方式と関連付けられる。区分方式は、エンコーダとデコーダとの間の送信中にビデオデータのレイヤがいかにして区分されるべきかを指定する。区分方式の各区分は、ビデオデータの1つまたは複数のレイヤを含んでよい。いくつかの実施形態では、各出力レイヤセットは、デフォルト区分方式および1つまたは複数の追加の区分方式と関連付けられる。
【０１５５】
ブロック508において、1つまたは複数の適合性パラメータ(たとえば、HRDパラメータ)がビデオデータビットストリームの一部としてシグナリングされるべきかどうかに関して決定がなされてよい。いくつかの実施形態では、適合性パラメータがシグナリングされることになるか否か、ならびにどんな適合性パラメータがシグナリングされるかについての決定は、エンコーダおよび/または1つもしくは複数のエンコーダ構成設定に少なくとも部分的に基づくことがある。
【０１５６】
ブロック510において、1つまたは複数の適合性パラメータがビデオデータビットストリームの一部としてシグナリングされるべきであるとの決定に応答して、少なくとも1つの適合性パラメータが、区分方式と関連付けられた出力レイヤセットに少なくとも部分的に基づいて、少なくとも1つの区分方式の中の区分方式の区分にマッピングされる。出力レイヤセットに少なくとも部分的に基づいて適合性パラメータをマッピングすることによって、同じ区分を指定するが異なる出力レイヤセットと関連付けられる等価な区分方式が、異なるマッピングされた適合性パラメータを有することができる。したがって、第1のパラメータが、第1の出力レイヤセットと関連付けられた区分方式の区分にマッピングされてよく、一方、第2の異なるパラメータが、第2の出力レイヤセットと関連付けられるときに区分方式の区分にマッピングされてよい。たとえば、区分方式412および区分方式416は、図4Aに示すように、同じ区分方式(たとえば、デフォルト区分方式)であるにもかかわらず、それらは異なる出力レイヤセットと関連付けられているので、異なってマッピングされた適合性パラメータを有することがある。1つまたは複数の適合性パラメータのうちの「第1の」適合性パラメータ、「第2の」適合性パラメータなどの言及は、必ずしも1つまたは複数の適合性パラメータのうちの特定の適合性パラメータ、または1つまたは複数の適合性パラメータの特定の順序に言及しているとは限らず、1つまたは複数の適合性パラメータのうちの任意の個別の適合性パラメータに対応することを理解されたい。
【０１５７】
図5Bは、本開示で説明する態様による、HRDパラメータなど、符号化ビデオデータ内の適合性パラメータをマッピングするための方法のフローチャートを示す。いくつかの実施形態では、方法は、図3Aおよび/または図3Bに示すデコーダなどのビデオデコーダによって実行されてよい。ブロック512において開始して、少なくとも1つのレイヤと、少なくとも1つのレイヤセットとを有するビデオデータビットストリームが受信される。
【０１５８】
ブロック514において、ビットストリームと関連付けられた少なくとも1つのレイヤセットの中のレイヤセットが識別される。いくつかの実施形態では、識別されたレイヤセットは、ビデオデータビットストリームの復号においてデコーダによって使用されることになるレイヤセットに対応する。
【０１５９】
ブロック516において、識別されたレイヤセットと関連付けられ出力レイヤセットが決定される。いくつかの実施形態では、出力レイヤセットは、どの復号されたレイヤを表示のために出力するかを決定するときにデコーダによって使用されることになる出力レイヤセットに対応する。
【０１６０】
ブロック518において、出力レイヤセットと関連付けられた区分方式が決定される。いくつかの実施形態では、区分方式は、ビデオデータビットストリームがデコーダに送信された区分方式に対応する。
【０１６１】
ブロック520において、1つまたは複数の適合性パラメータ(たとえば、HRDパラメータ)が受信されたビデオデータビットストリームの一部としてシグナリングされたかどうかに関して決定がなされてよい。ブロック522において、少なくとも1つの適合性パラメータが受信されたビデオデータビットストリームの一部としてシグナリングされたものと決定することに応答して、区分方式の区分にマッピングされた少なくとも1つの適合性パラメータが決定される。いくつかの実施形態では、決定された適合性パラメータは、ビデオデータビットストリームを復号するため、および/または適合性に対してビデオデータビットストリームを試験するために使用されてよい。
【０１６２】
デフォルト区分方式のシグナリング
受信しているデコーダに出力レイヤセットの区分方式および区分をシグナリングするために、ビットストリームは、出力レイヤセットと関連付けられた区分方式および区分を指定するいくつかのビットを含むことになる。いくつかの実施形態では、区分方式をシグナリングするために使用されるいくつかのビットは、出力レイヤセットと関連付けられてよいいくつかの可能な区分方式に少なくとも部分的に基づくことがある。
【０１６３】
いくつかの実施形態では、あらゆる出力レイヤセットは、デフォルト区分方式およびゼロ以上の追加の区分方式と関連付けられる。デフォルト区分方式は、ビデオデータ内の各レイヤが別々のビットストリーム区分である区分方式を含んでよい。いくつかの実施形態では、2または3レイヤなど、少数のレイヤを含むビットストリームにとって、デフォルト区分方式のみと関連付けられることは一般的なことである。デフォルト区分方式は、一般に、エンコーダとデコーダの両方によって知られているので、ビットストリーム内で特別に指定される必要はない。したがって、ビットストリームがデフォルト区分方式のみと関連付けられるとき、出力レイヤセットと関連付けられた区分方式および区分を指定するために必要ないくつかのビットを低減することは有利である。たとえば、いくつかの実施形態では、出力レイヤセットがデフォルト区分方式のみと関連付けられるとき、シングルビットフラグのみがシグナリングされる必要があり、区分方式を指定するための追加ビットを使用する必要はない。
【０１６４】
本開示は、各レイヤが、デフォルト区分方式としてそれ自体の区分を有する区分方式に言及しているが、他の実施形態では、異なる区分方式がデフォルト区分方式であってもよいことを理解されたい。
【０１６５】
図6は、本開示で説明する態様による、区分方式をシグナリングするためのプロセスのフローチャートを示す。ブロック602において開始して、出力レイヤセットが識別される。ブロック604において、いくつの区分方式が識別された出力レイヤセットと関連付けられているかに関して、決定がなされる。
【０１６６】
上記のように、出力レイヤセットは、デフォルト区分方式およびゼロ以上の追加の区分方式と関連付けられてよい。したがって、出力レイヤセットと関連付けられる区分方式が1つだけであることが決定される場合、その区分方式は、デフォルト区分方式でなければならない。ブロック606において、シングルビットフラグがシグナリングされ、識別された出力レイヤセットは、デフォルト区分方式のみと関連付けられることを示す。デコーダは、デフォルト区分方式を理解することができることになるので、区分方式を指定するためにビットストリーム内に追加ビットが送られる必要はない。
【０１６７】
一方、出力レイヤセットが1つ以上の区分方式と関連付けられているものと決定される場合、ブロック608において、シングルビットフラグはシグナリングされず、識別された出力レイヤセットは、デフォルト区分方式だけでなくそれ以外の区分方式にも関連付けられることを示す。加えて、追加の区分方式を指定するビットは、ビットストリーム内で送信されることになる。
【０１６８】
したがって、出力レイヤセットがデフォルト区分方式のみと関連付けられているかどうかを指定するためにシングルビットフラグを実施することによって、区分方式を示すために必要なビット数は、大幅に低減されることがある。
【０１６９】
ベースVPSおよびVPS VUIのデータ構造からのHRDパラメータのマッピング
いくつかの実施形態では、区分、出力レイヤセット、およびレイヤセットにマッピングされるべきHRDパラメータは、1つまたは複数のVPSデータ構造内に含まれる。いくつかの実施形態では、VPSデータ構造は、ベースVPSを含む。たとえば、HEVCまたはHEVC拡張(たとえば、SHVC、MV-HEVC、など)に準拠するビデオデータビットストリームは、一般に、ベースVPSデータ構造を常に含むことになる。加えて、いくつかの実施形態では、VPSデータ構造はまた、VPS VUIと呼ばれることがあるビデオユーザビリティ情報(VUI)パラメータセットを含むことがある。いくつかの実施形態では、出力レイヤセットと関連付けられた区分および/または区分方式は、VPS VUI内で定義またはシグナリングされることがある。いくつかの実施形態では、ベースVPSと関連付けられたHRDパラメータがVPS VUIによって定義された出力レイヤセットと関連付けられた区分によって使用可能であるために、HRDパラメータは、VPS VUI内のパラメータによってアクセス可能である必要がある。たとえば、VPS VUIと関連付けられたビットストリーム区分(BSP)HRDインデックスパラメータ(bsp_hrd_idxパラメータ)が、レイヤセットのみに固有であるのでなく、区分に固有であるHRDパラメータを割り当てるために使用されてよい。
【０１７０】
1つまたは複数のHRDパラメータが、ベースVPS内のHRDパラメータ構造内に含まれる。加えて、1つまたは複数の追加のHRDパラメータが、VPS VUI内の異なるHRDパラメータ構造内に含まれてよい。図7は、本開示で説明する態様によって、HRDパラメータが、ベースVPSと関連付けられた単一のデータ構造を介してマッピングされ得るようにVPS_VUIにおいてHRDパラメータを拡張することを示す。図7に示すように、ベースVPSは、n個のHRDパラメータ(HRD[0]、HRD[1]、...、HRD[n])を有するデータ構造を含む。加えて、VPS VUIは、m個の追加のHRDパラメータ(HRD'[0]、HRD'[1]、...、HRD'[m])を有するデータ構造を含む。
【０１７１】
いくつかの実施形態では、ベースVPSおよびVPS VUIデータ構造においてHRDパラメータをマッピングするために、VPS VUI(HRD'[0]、HRD'[1]、...、HRD'[m])のHRDパラメータは、ベースVPS構造のパラメータに少なくとも部分的に基づいて拡張される。たとえば、VPS VUI内のパラメータは、拡張されて、ベースVPS構造(HRD[n+1]、HRD[n+2]、...、HRD[n+m+1])の追加のパラメータとなり、それらがベースVPSデータ構造に付加されることが可能になる。そのような拡張では、HRDパラメータのビットストリーム区分および出力レイヤセットへのマッピングが、別々のベースVPSおよびVPS VUIの構造からではなく、単一のベースVPSデータ構造からなされることが可能になる。
【０１７２】
ベースVPSのHRDパラメータを有する連続的インデックスを有するようにVPS VUIのHRDパラメータを拡張することによって、ベースVPSと関連付けられたHRDパラメータとVPS VUIと関連付けられたHRDパラメータの両方が、VPS VUI内のシンタックス要素によって参照され得る。たとえば、VPS VUIのHRDパラメータが拡張されない場合、VPS VUIのシンタックス要素(たとえば、bsp_hrd_idxパラメータ)は、VPS VUIのHRDパラメータを参照するために使用され得るが、ベースVPSのHRDパラメータを参照するために使用できない(たとえば、0の値を有するbsp_hrd_idxパラメータは、VPS VUIのHRD'[0]を参照するが、ベースVPSのHRD[0]を参照しない)。ベースVPSと関連付けられた任意のHRDパラメータが、VPS VUIのシンタックス要素として参照され得るべきである場合、それらは、VPS VUI内で繰り返され、再シグナリングされる必要がある。
【０１７３】
しかしながら、ベースVPSおよびVPS VUIのHRDパラメータが連続するインデックスを有するようにVPS VUIのHRDパラメータを拡張することによって、VPS VUIのシンタックス要素は、ベースVPSまたはVPS VUIのいずれかと関連付けられるHRDパラメータを参照するために使用され得る。たとえば、0の値を有するbsp_hrd_idxパラメータは、ベースVPSのHRD[0]を参照する一方で、n+1の値を有するbsp_hrd_idxパラメータは、VPS VUIのHRD[n+1]を参照する。したがって、ベースVPSのHRDパラメータは、VPS VUI内で繰り返される必要なしに、VPS VUIシンタックス要素によって参照され得る。
【０１７４】
SEIメッセージ
いくつかの実施形態では、補足エンハンスメント情報(SEI)メッセージは、ビデオデータビットストリームの区分と関連付けられた追加の情報を提供してよい。たとえば、SEIメッセージは、ビットレート情報、ピクチャレート情報などを含んでよい。図8は、本開示で説明する態様によって、SEIメッセージがいかにして区分にマッピングされ得るかを示す。
【０１７５】
いくつかの実施形態では、ビデオデータビットストリームは、1つまたは複数のSEIメッセージ容器(ネスティングSEIメッセージとも呼ばれることがある)を含むことがあり、1つまたは複数のSEIメッセージは、各SEIメッセージ容器内に含まれるかまたはネスト化される。たとえば、図8は、SEIメッセージAおよびBを含む第1のSEI容器Aと、SEIメッセージCおよびDを含む第2のSEI容器Bとを示す。
【０１７６】
一般に、SEI容器は、その容器、ならびにその容器内に含まれるすべてのSEIメッセージが関連付けられる区分をシグナリングする。たとえば、図8に示すように、SEI容器Aは、デフォルト区分方式の区分#1にマッピングされる。しかしながら、同じ区分方式が、異なる出力レイヤセットと関連付けられてもよい(たとえば、デフォルト区分方式が、出力レイヤセット#1と出力レイヤセット#2の両方と関連付けられてよい)。SEI容器を区分/区分方式にマッピングすることのみでは、区分/区分方式が関連付けられる出力レイヤセットが考慮されることはない。そのために、いくつかの実施形態では、区分をシグナリングすることに加えて、SEI容器もまた、区分と関連付けられる出力レイヤセットをシグナリングすることになる。
【０１７７】
いくつかの実施形態では、出力レイヤセットおよび区分方式の各々が、インデックス値と関連付けられる。SEI容器が関連付けられる出力レイヤセットおよび区分をシグナリングするために、SEI容器は、出力レイヤセットおよび/または区分方式のインデックス値をシグナリングしてよい。
【０１７８】
したがって、SEI容器を特定の出力レイヤセットインデックスおよび区分方式インデックスにマッピングすることによって、異なる出力レイヤセットと関連付けられる同じ区分が、異なるSEI容器およびSEIメッセージと関連付けられてよい。
【０１７９】
HEVC規格
上記で説明したように、本明細書で開示するシステムおよび方法は、HEVC規格に適用されてよい。いくつかの実施形態によれば、HEVC規格のシンタックスおよび意味論は、以下で説明するように修正されてよい。
【０１８０】
ビットストリーム適合性の試験
複数の試験が、ビットストリームの適合性を検査するために使用されてよく、それは、試験対象のビットストリームと呼ばれる。各試験に対して、以下のステップが、記載された順序で適用されてよい。
【０１８１】
TargetOpで示される試験対象の出力動作点が、ターゲットのOLSを識別するTargetOlsIdxの値を選択すること、およびターゲットの最高のTemporalIdの値HighestTidを選択することによって選択されてよい。TargetOlsIdxの値は、両端を含む0〜NumOutputLayerSets-1の範囲内にある。HighestTidの値は、両端を含む0〜MaxSubLayersInLayerSetMinus1[OlsIdxToLsIdx[TargetOlsIdx]]の範囲内にある。次いで、変数TargetDecLayerSetIdx、TargetOptLayerIdList、およびTargetDecLayerIdListが、MV-HEVCの草案JCT3V-H1002-v5の式8 1によって指定されるように導出される。試験対象の出力動作点は、TargetOptLayerIdListに等しいOptLayerIdList、TargetDecLayerIdListに等しいOpLayerIdList、およびHighestTidに等しいOpTidを有する。
【０１８２】
MV-HEVCの草案JCT3V-H1002-v5の節10に指定されるサブビットストリーム抽出プロセスは、入力として試験対象のビットストリーム、HighestTidおよびTargetDecLayerIdListによって起動されてよく、出力は、BitstreamToDecodeに割り当てられる。区分方式は、選択されたOLSに対するアクティブVPS内でシグナリングされる区分方式のリストから選択される。選択された区分方式は、TargetPartitioningSchemeとして示される。
【０１８３】
TargetPartitioningSchemeに対してビットストリーム区分が1つだけ存在する場合、ビットストリームに固有のCPB動作が試験されてよい。さもなければ、ビットストリーム区分に固有のCPB動作が試験されてよい。後続のステップが、ターゲットのOLSの選択された区分方式の、試験対象のビットストリーム区分TargetBitstreamPartitionと呼ばれる、各ビットストリーム区分に適用される。TargetPartitioningSchemeに対してビットストリーム区分が1つだけ存在する場合、TargetBitstreamPartitionは、BitstreamToDecodeと等価である。さもなければ、各ビットストリーム区分は、BitstreamToDecode、TargetBitstreamPartition内のレイヤのリスト、および入力としてのTargetBitstreamPartition内のレイヤの数を用いて、MV-HEVCの草案JCT3V-H1002-v5の従属節C.6におけるビットストリーム区分を導出するための逆多重化プロセスによって導出される。
【０１８４】
TargetOpに適用可能なhrd_parameters()シンタックス構造およびsub_layer_hrd_parameters()シンタックス構造は、次のように選択されてよい。
・  ビットストリームに固有のCPB動作が試験され、TargetDecLayerIdListが、試験対象のビットストリーム内に存在するすべてのnuh_layer_id値を含む場合、ベースレイヤに対するアクティブSPS内の(または外部手法を介して与えられる)hrd_parameters()シンタックス構造が選択される。
・  さもなければ、TargetOp、TargetPartitioningScheme、およびTargetBitstreamPartitionに適用されるアクティブVPS内の(または外部手法を介して与えられる)hrd_parameters()シンタックス構造が選択される。
・  選択されたhrd_parameters()シンタックス構造内で、TargetBitstreamPartitionがタイプIのビットストリームである場合、条件「(vcl_hrd_parameters_present_flag)かどうか」の直後に来るsub_layer_hrd_parameters(HighestTid)シンタックス構造が選択されて変数NalHrdModeFlagが0に等しく設定され、さもなければ(TargetBitstreamPartitionはタイプIIのビットストリームである)、条件「(vcl_hrd_parameters_present_flag)かどうか」(この場合、変数NalHrdModeFlagは0に等しく設定される)または条件「(nal_hrd_parameters_present_flag)かどうか」(この場合、変数NalHrdModeFlagは1に等しく設定される)のいずれかの直後に来るsub_layer_hrd_parameters(HighestTid)シンタックス構造が選択される。TargetBitstreamPartitionがタイプIIのビットストリームであり、NalHrdModeFlagが0に等しいとき、フィラーデータNALユニットを除くすべての非VCL NALユニット、ならびにNALユニットストリームからバイトストリームを形成するすべてのleading_zero_8bits、zero_byte、start_code_prefix_one_3bytes、およびtrailing_zero_8bitsシンタックス要素は、存在するとき、TargetBitstreamPartitionから廃棄され、残りのビットストリームが、TargetBitstreamPartitionに割り当てられる。
【０１８５】
TargetOp、TargetPartitioningScheme、およびTargetBitstreamPartitionに適用可能なバッファリング期間SEIメッセージ(BitstreamToDecode内に存在するかまたは外部手法を介して利用可能である)と関連付けられたアクセスユニットが、HRD初期化ポイントとして選択されてよく、アクセスユニット0と呼ばれる。適用可能なバッファリング期間SEIメッセージは、外部手法を介して利用可能であるかまたは次のようにアクセスユニット0から選択される。
・  ビットストリームに固有のCPB動作が試験され、TargetDecLayerIdListが、試験対象のビットストリーム内に存在するすべてのnuh_layer_id値を含む場合、非ネスト化バッファリング期間SEIメッセージが選択される。
・  さもなければ、TargetOp、TargetPartitioningScheme、およびTargetBitstreamPartitionに適用可能なバッファリング期間SEIメッセージが選択される。
・  変数MultiLayerCpbOperationFlagが次のように導出されてよい。選択されたバッファリング期間SEIメッセージが非ネスト化であるかまたはBitstreamToDecodeがベースレイヤのみを含む場合、MultiLayerCpbOperationFlagは0に等しく設定される。さもなければ、MultiLayerCpbOperationFlagは1に等しく設定される。
【０１８６】
アクセスユニット0から開始するTargetBitstreamPartition内の各アクセスユニットに対して、アクセスユニットに関連付けられ、TargetOp、TargetPartitioningScheme、およびTargetBitstreamPartitionに適用されるバッファリング期間SEIメッセージ(BitstreamToDecode内に存在するかまたは外部手法を介して利用可能である)が選択され、アクセスユニットと関連付けられ、TargetOp、TargetPartitioningScheme、およびTargetBitstreamPartitionに適用されるピクチャタイミングSEIメッセージ(BitstreamToDecode内に存在するかまたは外部手法を介して利用可能である)が選択され、SubPicHrdFlagが1に等しく、sub_pic_cpb_params_in_pic_timing_sei_flagが0に等しいとき、アクセスユニット内の復号ユニットと関連付けられ、TargetOp、TargetPartitioningScheme、およびTargetBitstreamPartitionに適用される復号ユニット情報SEIメッセージ(BitstreamToDecode内に存在するかまたは外部手法を介して利用可能である)が、次のように選択される。
・  ビットストリームに固有のCPB動作が試験され、TargetDecLayerIdListが、試験対象のビットストリーム内に存在するすべてのnuh_layer_id値を含む場合、非ネスト化バッファリング期間、ピクチャタイミング、および復号ユニット情報のSEIメッセージが選択される。
・  さもなければ、スケーラブルネスティングSEIメッセージ内に直接含まれるかまたはビットストリーム区分ネスティングSEIメッセージ内に直接含まれるかのいずれかであり、TargetOp、TargetPartitioningScheme、およびTargetBitstreamPartitionに適用可能な、バッファリング期間、ピクチャタイミング、および復号ユニット情報のSEIメッセージが選択される。
【０１８７】
SchedSelIdxの値が次のように選択されてよい。
・  ビットストリームに固有のCPB動作が試験される場合、選択されたSchedSelIdxは、両端を含む0〜cpb_cnt_minus1[HighestTid]の範囲内にあり、cpb_cnt_minus1[HighestTid]は、上記で選択されたsub_layer_hrd_parameters(HighestTid)シンタックス構造内で発見される。
・  さもなければ(ビットストリーム区分に固有のCPBが試験される)、SchedSelCombIdxがBitstreamToDecodeに対して選択され、各TargetBitstreamPartitionに対して使用される。選択されたSchedSelCombIdxは、両端を含む0〜num_bsp_sched_combinations_minus1[TargetOlsIdx][TargetPartitioningScheme]の範囲内にある。TargetBitstreamPartitionに対して選択されたSchedSelIdxは、bsp_comb_sched_idx[TargetOlsIdx][TargetPartitioningScheme][SchedSelCombIdx][j]に等しく設定され、ここで、jはTargetBitstreamPartitionのビットストリーム区分インデックスのインデックスである。
【０１８８】
変数initialAltParamSelectionFlagは、次のように導出されてよい。
・  次の条件のすべてが真である場合、initialAltParamSelectionFlagは1に等しく設定される。
(a)アクセスユニット0内で0に等しいnuh_layer_idを有するコード化ピクチャが、CRA_NUTまたはBLA_W_LPに等しいnal_unit_typeを有する。
(b)MultiLayerCpbOperationFlagが0に等しい。
(c)選択されたバッファリング期間SEIメッセージ内のirap_cpb_params_present_flagが1に等しい。
・  さもなければ、次の条件のすべてが真である場合、initialAltParamSelectionFlagは1に等しく設定される。
(a)アクセスユニット0内で0に等しいnuh_layer_idを有するコード化ピクチャが、IRAPピクチャである。
(b)MultiLayerCpbOperationFlagが1に等しい。
(c)選択されたバッファリング期間SEIメッセージ内のirap_cpb_params_present_flagが1に等しい。
【０１８９】
さもなければ、initialAltParamSelectionFlagは0に等しく設定される。
・  initialAltParamSelectionFlagが1に等しいとき、以下が適用される。
(a)選択されたバッファリング期間SEIメッセージが、スケーラブルネスティングSEIメッセージ内に直接含まれるかまたはビットストリーム区分ネスティングSEIメッセージ内に直接含まれるかのいずれかであり、2つ以上のレイヤを含む1つのサブビットストリームに少なくとも適用可能である場合、スキップされたリーディングピクチャのセットskippedPictureListは、LayerInitializedFlag[nuhLayerId]がIRAPピクチャの復号の開始において0に等しく、nuhLayerIdがTargetDecLayerIdListの中にある、nuhLayerIdに等しいnuh_layer_idを有するIRAPピクチャと関連付けられたCL-RASピクチャおよびRASLピクチャを含む。さもなければ(バッファリング期間SEIメッセージはスケーラブルネスティングSEIメッセージ内にネスト化されない)、skippedPictureListは、アクセスユニット0において0に等しいnuh_layer_idを有するコード化ピクチャと関連付けられたRASLピクチャを含む。
(b)以下のいずれかが、初期CPB除去遅延および遅延オフセットの選択のために適用される。
(i)NalHrdModeFlagが1に等しい場合、選択されたバッファリング期間SEIメッセージ内の、nal_initial_cpb_removal_delay[SchedSelIdx]およびnal_initial_cpb_removal_offset[SchedSelIdx]によってそれぞれ表される、デフォルトの初期CPB除去遅延および遅延オフセットが選択される。さもなければ、選択されたバッファリング期間SEIメッセージ内の、vcl_initial_cpb_removal_delay[SchedSelIdx]およびvcl_initial_cpb_removal_offset[SchedSelIdx]によってそれぞれ表される、デフォルトの初期CPB除去遅延および遅延オフセットが選択される。変数DefaultInitCpbParamsFlagは1に等しく設定される。
(ii)NalHrdModeFlagが1に等しい場合、選択されたバッファリング期間SEIメッセージ内の、nal_initial_alt_cpb_removal_delay[SchedSelIdx]およびnal_initial_alt_cpb_removal_offset[SchedSelIdx]によってそれぞれ表される、代替の初期CPB除去遅延および遅延オフセットが選択される。さもなければ、選択されたバッファリング期間SEIメッセージ内の、vcl_initial_alt_cpb_removal_delay[SchedSelIdx]およびvcl_initial_alt_cpb_removal_offset[SchedSelIdx]によってそれぞれ表される、代替の初期CPB除去遅延および遅延オフセットが選択される。変数DefaultInitCpbParamsFlagは0に等しく設定され、skippedPictureList内のすべてのピクチャはBitstreamToDecodeから廃棄され、残りのビットストリームはBitstreamToDecodeに割り当てられる。
【０１９０】
ビットストリーム区分に固有のCPB動作に対して、SubPicHrdFlagが1に等しく設定されてよい。ビットストリームに固有のCPB動作に対して、選択されたhrd_parameters()シンタックス構造内のsub_pic_hrd_params_present_flagが1に等しいとき、CPBは、アクセスユニットレベル(その場合、変数SubPicHrdFlagは0に等しく設定される)またはサブピクチャレベル(その場合、変数SubPicHrdFlagは1に等しく設定される)のいずれかにおいて動作するようにスケジュールされる。
【０１９１】
一実装形態では、HRDは、以下の態様のうちの1つまたは複数に従って動作してよい。
【０１９２】
HRDは、復号ユニット0において初期化されてよく、CPB、DPBの各サブDPB、および各BPBは、空になるように設定される(各サブDPBに対するサブDPBフルネスは0に等しく設定される)。初期化の後、HRDは、後続のバッファリング期間SEIメッセージによって再び初期化されることはないことに留意されたい。
【０１９３】
ビットストリームに固有のCPB動作に対して、指定された到着スケジュールに従ってCPBに流入する復号ユニットと関連付けられたデータが、HSSによって配信される。ビットストリーム区分に固有のCPB動作に対して、指定された到着スケジュールに従ってBPBに流入する復号ユニットと関連付けられたデータが、HBPSによって配信される。
【０１９４】
ビットストリーム区分に固有のCPB動作が使用されるとき、インデックスjを有する各ビットストリーム区分は、HBPSによって置き換えられたHSSを用いて、およびbsp_comb_sched_idx[TargetOlsIdx][TargetPartitioningScheme][SchedSelCombIdx][j]に等しいSchedSelIdxを用いて、MV-HEVCの草案JCT3V-H1002-v5の従属節C.2に指定されるように処理される。
【０１９５】
各復号ユニットと関連付けられたデータは、復号ユニットのCPB除去時刻において除去され、瞬時復号処理によって瞬時に復号されてよい。
【０１９６】
復号されたピクチャの各々は、DPB内に設置されてよい。
【０１９７】
復号されたピクチャは、それがインター予測基準に対しておよび出力に対してもはや必要でなくなるとき、DPBから除去されてよい。
【０１９８】
ビットストリーム適合性
MV-HEVCの草案JCT3V-H1002-v5に適合するコード化データのビットストリームは、以下と整合するシンタックス、意味論、および制約によって構成されてよい。
【０１９９】
ビットストリーム内の第1のアクセスユニットは、IRAPアクセスユニットである。
【０２００】
vps_base_layer_internal_flagが0に等しいとき、以下のビットストリーム適合性制約が、0に等しいnuh_layer_idを有するピクチャを考慮することなく適用され、それらのピクチャに対してビットストリーム内にコード化ピクチャはなく、復号ピクチャが外部手法を介して供給される。
【０２０１】
currPicLayerIdを、現在のピクチャのnuh_layer_idに等しくならしめる。
【０２０２】
現在の各ピクチャに対して、変数maxPicOrderCntおよびminPicOrderCntを、それぞれ、currPicLayerIdに等しいnuh_layer_idを有する以下のピクチャのPicOrderCntVal値の最大値および最小値に等しく設定する。
(a)現在のピクチャ。
(b)0に等しいTemporalIdを有し、RASLピクチャ、RADLピクチャ、またはサブレイヤ非参照ピクチャでない復号順序内の以前のピクチャ。
(c)現在のピクチャのRPS内の短期間参照ピクチャ。
(d)1に等しいPicOutputFlag、AuCpbRemovalTime[currPic]より小さいAuCpbRemovalTime[n]、およびAuCpbRemovalTime[currPic]以上のDpbOutputTime[n]を有するすべてのピクチャn、ここでcurrPicは現在のピクチャである。
【０２０３】
各区分方式の各ビットストリーム区分のサブビットストリームは、MV-HEVCの草案JCT3V-H1002-v5の従属節C.1に指定される適合性に対して、HRDによって試験される。
【０２０４】
HRDパラメータ意味論
MV-HEVCの草案JCT3V-H1002-v5の節E.3.2における仕様は、以下の修正および追加とともに適用される。
【０２０５】
一態様では、initial_cpb_removal_delay_length_minus1プラス1は、バッファリング期間SEIメッセージのnal_initial_cpb_removal_delay[i]、nal_initial_cpb_removal_offset[i]、vcl_initial_cpb_removal_delay[i]、およびvcl_initial_cpb_removal_offset[i]シンタックス要素の長さをビットで指定する。加えて、VPS内のj番目のhrd_parameters()シンタックス構造内のinitial_cpb_removal_delay_length_minus1プラス1は、sei_ols_idx、sei_partitioning_scheme_idx、およびbsp_comb_hrd_idx[sei_ols_idx][sei_partitioning_scheme_idx][k][bsp_idx]がjに等しくなるようなbsp_idxの値を有するスケーラブルネスティングSEIメッセージ内のビットストリーム区分ネスティングSEIメッセージ内に含まれるビットストリーム区分初期到着時間SEIメッセージのnal_initial_arrival_delay[k]およびvcl_initial_arrival_delay[k]のシンタックス要素の長さをビットで指定する。initial_cpb_removal_delay_length_minus1シンタックス要素が存在しないとき、23に等しいことが推測される。
【０２０６】
ビデオパラメータセット(VPS)シンタックスに対する変更
シンタックス、意味論、および復号プロセスに対する変更は、以下で強調表示され、追加はイタリック体で示され、削除は[[二重括弧]]で示される。Table 1(表1)は、vps_extension()シンタックスに対する変更を示す。
【０２０７】
【表１】
0006527889.tif 000002
【０２０８】
VPS VUIビットストリーム区分HRDパラメータシンタックスに対する変更
Table 2(表2)は、vps_vui_bsp_hrd_parameters()シンタックスに対する変更を示す。
【０２０９】
【表２】
0006527889.tif 000003
【０２１０】
ビデオパラメータセット意味論
num_signalled_partitioning_schemes[i]は、i番目のOLSに対してシグナリングされる区分方式の数を指定する。num_signalled_partitioning_schemes[i]の値は、両端を含む0〜16の範囲内にある。vps_base_layer_internal_flagが1に等しいとき、num_signalled_partitioning_schemes[0]の値は、0に等しいものと推測される。
【０２１１】
変数NumPartitioningSchemes[i]は、(num_signalled_partitioning_schemes[i]==0)? 1:num_signalled_partitioning_schemes[i]に等しく設定される。
【０２１２】
num_partitions_in_scheme_minus1[i][j]プラス1は、i番目のOLSのj番目の区分方式に対するビットストリーム区分の数を指定する。num_partitions_in_scheme_minus1[i][j]の値は、両端を含む0〜NumLayersInIdList[OlsIdxToLsIdx[i]]-1の範囲内にある。vps_base_layer_internal_flagが1に等しいとき、num_partitions_in_scheme_minus1[0][0]の値は、0に等しいものと推測される。num_signalled_partitioning_schemes[i]が0に等しいとき、num_partitions_in_scheme_minus1[i][j]の値は、NumLayersInIdList[i]-1に等しいものと推測される。
【０２１３】
1に等しいlayer_included_in_partition_flag[i][j][k][r]は、i番目のOLS内のr番目のレイヤが、i番目のOLSのj番目の区分方式のk番目のビットストリーム区分内に含まれることを指定する。0に等しいlayer_included_in_partition_flag[i][j][k][r]は、i番目のOLS内のr番目のレイヤが、i番目のOLSのj番目の区分方式のk番目のビットストリーム区分内に含まれないことを指定する。vps_base_layer_internal_flagが1に等しいとき、layer_included_in_partition_flag[0][0][0][0]の値は、1に等しいものと推測される。num_signalled_partitioning_schemes[i]が0に等しいとき、layer_included_in_partition_flag[i][j][k][r]の値は、kがrに等しい場合に1に、そうでない場合に0に等しいものと推測される。以下の制約が適用されることが、ビットストリーム適合性の要件である。
(a)i番目のOLSのj番目の区分方式に対して、インデックスk1を有するビットストリーム区分は、両端を含む0〜num_partitions_in_scheme_minus1[i][j]の範囲内で、k2がk1より小さくなるような任意のk1およびk2の値に対して、インデックスk2を有するビットストリーム区分内の任意のレイヤの直接的または間接的参照レイヤを含まない。
(b)vps_base_layer_internal_flagが0に等しく、両端を含む1〜NumOutputLayerSets-1の範囲内の任意のiの値、両端を含む0〜NumPartitioningSchemes[i]-1の範囲内の任意のjの値、および両端を含む0〜num_partitions_in_scheme_minus1[i][j]の範囲内の任意のkの値に対してlayer_included_in_partition_flag[i][j][k][0]が1に等しいとき、両端を含む1〜NumLayersInIdList[OlsIdxToLsIdx[i]]-1の範囲内の少なくとも1つのrの値に対するlayer_included_in_partition_flag[i][j][k][r]の値は1に等しい。
(c)i番目のOLSのインデックスjを有する各区分方式に対して、およびi番目のOLS内のcurrLayerIdに等しいnuh_layer_idを有する各レイヤに対して、layer_included_in_partition_flag[i][j][k][LayerIdxInVps[currLayerId]]が1に等しくなるように、両端を含む0〜num_partitions_in_scheme_minus1[i][j]の範囲内に、1つの唯一のkの値が存在する。
【０２１４】
profile_tier_level_idx[i][j][k]は、i番目のOLSのj番目の区分方式のk番目のビットストリーム区分に適用されるprofile_tier_level()シンタックス構造の、VPS内のprofile_tier_level()シンタックス構造のリストへのインデックスを指定する。num_add_layer_setsが0より大きく、OlsIdxToLsIdx[i]が、両端を含むFirstAddLayerSetIdx〜LastAddLayerSetIdxの範囲内にあるとき、i番目のOLSは、OlsIdxToLsIdx[i]に等しい入力変数lsIdxセットを有する、MV-HEVCの草案JCT3V-H1002-v5の従属節F.10.2の非ベースレイヤサブツリー抽出プロセスの出力を指し、ここで、出力ビットストリームoutBitstreamのアクティブVPSは、存在する場合、現在のVPSのi番目のOLSと同じレイヤの出力を指定するOLSを含む。profile_tier_level_idx[i][j][k]シンタックス要素の長さは、Ceil(Log2(vps_num_profile_tier_level_minus1+1))ビットである。vps_base_layer_internal_flagが1に等しいとき、profile_tier_level_idx[0][0][0]の値は、0に等しいものと推測される。profile_tier_level_idx[i][j][k]の値は、両端を含む(vps_base_layer_internal_flag ? 0:1)〜vps_num_profile_tier_level_minus1の範囲内にある。
【０２１５】
VPS VUIビットストリーム区分HRDパラメータ意味論
vps_num_add_hrd_parametersは、VPS内に存在する追加のhrd_parameters()シンタックス構造の数を指定する。vps_num_add_hrd_parametersの値は、両端を含む0〜1024-vps_num_hrd_parametersの範囲内にある。
【０２１６】
1に等しいcprms_add_present_flag[i]は、すべてのサブレイヤに共通であるHRDパラメータが、i番目のhrd_parameters()シンタックス構造内に存在することを指定する。0に等しいcprms_add_present_flag[i]は、すべてのサブレイヤに共通であるHRDパラメータが、i番目のhrd_parameters()シンタックス構造内に存在せず、(i-1)番目のhrd_parameters()シンタックス構造と同じであるように導出されることを指定する。
【０２１７】
1に等しいbsp_hrd_parameters_present_flag[h][i]は、HRDパラメータが、h番目のOLSのi番目の区分方式のすべてのビットストリーム区分に対して存在することを指定する。0に等しいbsp_hrd_parameters_present_flag[h][i]は、HRDパラメータが、h番目のOLSのi番目の区分方式の任意のビットストリーム区分に対して存在しないことを指定する。
【０２１８】
num_bsp_sched_combinations_minus1[h][i]プラス1は、h番目のOLSのi番目の区分方式のビットストリーム区分に対して指定された配信スケジュールとhrd_parameters()との組合せの数を指定する。
【０２１９】
変数SchedCombCnt[h][i]は、num_bsp_sched_combinations_minus1[h][i]+1に等しく設定される。
【０２２０】
bsp_comb_hrd_idx[h][i][j][k]は、h番目のOLSに対するi番目の区分方式のk番目のビットストリーム区分に対して指定された配信スケジュールとhrd_parameters()とのj番目の組合せに対するVPS内のhrd_parameters()シンタックス構造のインデックスを指定する。bsp_comb_hrd_idx[h][i][j][k]シンタックス要素の長さは、Ceil(Log2(vps_num_hrd_parameters+vps_num_add_hrd_parameters))ビットである。bsp_comb_hrd_idx[h][i][j][k]の値は、両端を含む0〜vps_num_hrd_parameters+vps_num_add_hrd_parameters-1の範囲内にある。
【０２２１】
bsp_comb_sched_idx[h][i][j][k]は、h番目のOLSに対するi番目の区分方式のk番目のビットストリーム区分に対して指定された配信スケジュールとhrd_parameters()とのj番目の組合せにおいて使用されるインデックスbsp_comb_hrd_idx[h][i][j][k]を有するhrd_parameters()シンタックス構造内の配信スケジュールのインデックスを指定する。bsp_comb_sched_idx[h][i][j][k]の値は、両端を含む0〜cpb_cnt_minus1[HighestTid]の範囲内にあり、ここで、cpb_cnt_minus1[HighestTid]は、インデックスbsp_comb_hrd_idx[h][i][j][k]に対応するhrd_parameters()シンタックス構造からsub_layer_hrd_parameters(HighestTid)シンタックス構造内で発見される。
【０２２２】
ビットストリーム区分ネスティングSEIメッセージシンタックスに対する変更
Table 3(表3)は、bsp_nesting()シンタックスに対する変更を示す。
【０２２３】
【表３】
0006527889.tif 000004
【０２２４】
ビットストリーム区分初期到着時間SEIメッセージシンタックスに対する変更
Table 4(表4)は、bsp_initial_arrival_time()シンタックスに対する変更を示す。
【０２２５】
【表４】
0006527889.tif 000005
【０２２６】
SEIメッセージの一般的意味論
MV-HEVCの草案JCT3V-H1002-v5の節D.3.1において指定されるビットストリーム適合性の制約は、以下の追加とともに適用されてよい。
【０２２７】
SEI NALユニットまたはSEIメッセージのprevVclNalUnitInAuを、存在する場合、同じアクセスユニット内の復号順序において先行するVCL NALユニットにならしめ、SEI NALユニットまたはSEIメッセージのnextVclNalUnitInAuを、存在する場合、同じアクセスユニット内の復号順序において次のVCL NALにならしめる。
【０２２８】
一例では、以下の制限が適用されることが、ビットストリーム適合性の要件である。バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、復号ユニット情報SEIメッセージ、またはビットストリーム区分初期到着時間SEIメッセージが、スケーラブルネスティングSEIメッセージ内に含まれるビットストリーム区分ネスティングSEIメッセージ内に存在するとき、スケーラブルネスティングSEIメッセージは、スケーラブルネスティングSEIメッセージのprevVclNalUnitInAuに続く任意の他のSEIメッセージに後続せず、アクティブパラメータセットSEIメッセージ、非ネスト化バッファリング期間SEIメッセージ、非ネスト化ピクチャタイミングSEIメッセージ、非ネスト化復号ユニット情報SEIメッセージ、バッファリング期間SEIメッセージを含むスケーラブルネスティングSEIメッセージ、ピクチャタイミングSEIメッセージ、復号ユニット情報SEIメッセージ、あるいはバッファリング期間SEIメッセージを含むビットストリーム区分ネスティングSEIメッセージ、ピクチャタイミングSEIメッセージ、復号ユニット情報SEIメッセージ、またはビットストリーム区分初期到着時間SEIメッセージを含む別のスケーラブルネスティングSEIメッセージ以外のスケーラブルネスティングSEIメッセージのnextVclNalUnitInAuに先行する。
【０２２９】
ビットストリーム区分ネスティングSEIメッセージ意味論
ビットストリーム区分ネスティングSEIメッセージは、SEIメッセージをOLSの区分方式のビットストリーム区分と関連付けるための機構を提供する。
【０２３０】
存在するとき、このSEIメッセージは、スケーラブルネスティングSEIメッセージ内に含まれる。このSEIメッセージがスケーラブルネスティングSEIメッセージ内に含まれるとき、それは、ネスト化SEIメッセージのみである。このSEIメッセージを含むスケーラブルネスティングSEIメッセージにおいて、bitstream_subset_flagは1に等しく、nesting_op_flagは1に等しく、default_op_flagは0に等しく、nesting_num_ops_minus1は0に等しく、nesting_op_idx[0]は0に等しくない。SEI NALユニットのnuh_layer_idは、リストnestingLayerIdList[0]内の最高の値に等しい。
【０２３１】
ビットストリーム区分ネスティングSEIメッセージは、1つまたは複数のSEIメッセージを含む。
【０２３２】
sei_ols_idxは、含まれるSEIメッセージが適用されるOLSのインデックスを指定する。sei_ols_idxの値は、両端を含む0〜NumOutputLayerSets-1の範囲内にある。
【０２３３】
OlsIdxToLsIdx[sei_ols_idx]が、ビットストリーム区分ネスティングSEIメッセージを含むスケーラブルネスティングSEIメッセージのnesting_op_idx[0]に等しいことが、ビットストリーム適合性の要件である。
【０２３４】
sei_partitioning_scheme_idxは、含まれるSEIメッセージが適用される区分方式のインデックスを指定する。sei_partitioning_scheme_idxの値は、両端を含む0〜NumPartitioningSchemes[sei_ols_idx]-1の範囲内にある。
【０２３５】
bsp_idxは、含まれるSEIメッセージが適用されるビットストリーム区分のインデックスを指定する。bsp_idxの値は、両端を含む0〜num_partitions_in_scheme_minus1[sei_ols_idx][sei_partitioning_scheme_idx]の範囲内にある。
【０２３６】
ビットストリーム区分初期到着SEIメッセージ意味論
ビットストリーム区分初期到着時間SEIメッセージは、ビットストリーム区分に固有のCPB動作において使用されるべき初期到着時間を指定してよい。
【０２３７】
存在するとき、このSEIメッセージは、ビットストリーム区分ネスティングSEIメッセージ内に含まれ、同じビットストリーム区分ネスティングSEIメッセージがまた、バッファリング期間SEIメッセージを含む。
【０２３８】
両端を含む0〜SchedCombCnt[sei_ols_idx][sei_partitioning_scheme_idx]の範囲内のiに対するhrdParamIdx[i]を、bsp_comb_hrd_idx[olsIdx][partitioningSchemeIdx][i][bspIdx]の値に等しくならしめ、ここで、olsIdx、partitioningSchemeIdx、およびbspIdxは、それぞれ、このビットストリーム区分初期到着時間SEIメッセージを含むビットストリーム区分ネスティングSEIメッセージのsei_ols_idx、sei_partitioning_scheme_idx、およびbsp_idxに等しい。initialCpbRemovalDelayLength[i]を、initial_cpb_removal_delay_length_minus1+1に等しくならしめ、ここで、initial_cpb_removal_delay_length_minus1は、アクティブVPS内のhrdParamIdx[i]番目のhrd_parameters()シンタックス構造内で発見される。
【０２３９】
nal_initial_arrival_delay[i]は、NAL HRDパラメータが使用中であるときに、このSEIメッセージが適用されるビットストリーム区分のi番目のスケジュールの組合せに対する初期到着時間を指定する。nal_initial_arrival_delay[i]シンタックス要素のビットにおける長さは、initialCpbRemovalDelayLength[i]に等しい。
【０２４０】
vcl_initial_arrival_delay[i]は、VCL HRDパラメータが使用中であるときに、このSEIメッセージが適用されるビットストリーム区分のi番目のスケジュールの組合せに対する初期到着時間を指定する。vcl_initial_arrival_delay[i]シンタックス要素のビットにおける長さは、initialCpbRemovalDelayLength[i]に等しい。
【０２４１】
他の検討事項
本明細書で開示する情報および信号は、種々の異なる技術および技法のいずれかを使用して表すことができる。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光学場もしくは光学粒子、またはそれらの任意の組合せによって表すことができる。
【０２４２】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的構成要素、ブロック、モジュール、回路、およびステップが、一般にそれらの機能に関して上述された。そのような機能がハードウェアとして実現されるか、ソフトウェアとして実現されるかは、特定の用途およびシステム全体に課せられる設計制約によって決まる。当業者は、説明された機能を特定のアプリケーションごとに様々な方法で実装し得るが、そのような実装決定は本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【０２４３】
本明細書で説明した技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなどの、様々なデバイスのいずれかにおいて実装され得る。モジュールまたはコンポーネントとして説明された任意の特徴が、集積論理デバイス内で一緒に、または個別であるが相互動作可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、本技法は、実行されると上で説明された方法の1つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、ランダムアクセスメモリ(RAM)、たとえば同期式ダイナミックランダムアクセスメモリ(SDRAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などのようなメモリまたはデータ記憶媒体を含み得る。本技法は、追加または代替として、伝搬信号または電波などの、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０２４４】
プログラムコードは、1つまたは複数のDSP、汎用マイクロプロセッサ、ASIC、FPGA、または他の等価の集積論理回路もしくはディスクリート論理回路など、1つまたは複数のプロセッサを含んでよいプロセッサによって実行されてもよい。そのようなプロセッサは、本開示に記載された技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替実施形態では、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。したがって、本明細書で使用する「プロセッサ」という用語は、本明細書で説明する技法の実装に適した、前述の構造、前述の構造または任意の他の構造もしくは装置の任意の組合せのうちの任意のものを指し得る。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内で提供されてよく、または複合ビデオエンコーダ/デコーダ(コーデック)に組み込まれてよい。また、本技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
【０２４５】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装されてもよい。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。そうではなくて、上で説明されたように、様々なユニットは、コーデックハードウェアユニットの中で組み合わされてよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、前述のような1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
【０２４６】
本発明の様々な実施形態が説明されてきた。これらおよび他の実施形態は、以下の特許請求の範囲に含まれる。
【符号の説明】
【０２４７】
10  ビデオコーディングシステム
10'  ビデオ符号化および復号システム
11  デバイス
12  ソースデバイス
13  プロセッサ/コントローラデバイス
14  宛先デバイス
16  リンク
18  ビデオソース
20  ビデオエンコーダ
20A  ビデオエンコーダ
20B  ビデオエンコーダ
22  出力インターフェース
23  ビデオエンコーダ
28  入力インターフェース
30  ビデオデコーダ
30A  ビデオデコーダ
30B  ビデオデコーダ
31  記憶デバイス
32  ディスプレイデバイス
33  ビデオデコーダ
90  リサンプリングユニット
92  アップサンプリングユニット
94  ダウンサンプリングユニット
98  マルチプレクサ
99  デマルチプレクサ
100  予測処理ユニット
102  残差生成ユニット
104  変換処理ユニット
106  量子化ユニット
108  逆量子化ユニット
110  逆変換ユニット
112  再構築ユニット
113  フィルタユニット
114  復号ピクチャバッファ
116  エントロピー符号化ユニット
121  インター予測ユニット
122  動き推定ユニット
124  動き補償ユニット
126  イントラ予測ユニット
128  レイヤ間予測ユニット
150  エントロピー復号ユニット
152  予測処理ユニット
154  逆量子化ユニット
156  逆変換ユニット
158  再構築ユニット
159  フィルタユニット
160  復号ピクチャバッファ
162  動き補償ユニット
164  イントラ予測ユニット
166  レイヤ間予測ユニット
402  レイヤ
404  第1のレイヤセット
406  第2のレイヤセット
408  第1の出力レイヤセット
410  第2の出力レイヤセット
412  区分方式
416  区分方式
【図１Ａ】
0006527889.tif 000006
【図１Ｂ】
0006527889.tif 000007
【図２Ａ】
0006527889.tif 000008
【図２Ｂ】
0006527889.tif 000009
【図３Ａ】
0006527889.tif 000010
【図３Ｂ】
0006527889.tif 000011
【図４Ａ】
0006527889.tif 000012
【図４Ｂ】
0006527889.tif 000013
【図５Ａ】
0006527889.tif 000014
【図５Ｂ】
0006527889.tif 000015
【図６】
0006527889.tif 000016
【図７】
0006527889.tif 000017
【図８】
0006527889.tif 000018