(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024023566
(43)【公開日】2024-02-21
(54)【発明の名称】SEIメッセージのための時間識別子の制限
(51)【国際特許分類】
H04N 19/70 20140101AFI20240214BHJP
H04N 19/31 20140101ALI20240214BHJP
【FI】
H04N19/70
H04N19/31
【審査請求】有
【請求項の数】11
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023206257
(22)【出願日】2023-12-06
(62)【分割の表示】P 2022518794の分割
【原出願日】2020-09-17
(31)【優先権主張番号】62/905,236
(32)【優先日】2019-09-24
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】イェ-クイ・ワン
(57)【要約】
【課題】ビデオコーディングメカニズムが開示される。
【解決手段】メカニズムは、ビットストリームで、1つ以上のビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニット内のコーディングされたピクチャをエンコードすることを含む。非VCL NALユニットは、非VCL NALのNALユニットタイプ(nal_unit_type)が付加拡張情報(SEI)メッセージを示すときは、非VCL NALユニットの時間識別子(TemporalId)が、非VCL NALユニットを含むアクセスユニット(AU)のTemporalIdと等しくなるよう制限されるように、ビットストリームへとエンコードされる。SEIメッセージに基づいて、ビットストリームに対して一組のビットストリーム適合性テストが行われる。ビットストリームは、デコーダに向けて通信するために記憶される。
【選択図】
図7
【特許請求の範囲】
【請求項1】
デコーダによって実施される方法であって、
前記デコーダの受信器によって、1つ以上のビデオコーディングレイヤ(VCL)ネットワ
ーク抽象化レイヤ(NAL)ユニット内のコーディングされたピクチャと非VCL NALユニット
とを含むビットストリームを受信するステップであって、前記非VCL NALのNALユニットタ
イプ(nal_unit_type)が、プレフィックス付加拡張情報(SEI)NALユニットタイプ(P
REFIX_SEI_NUT)またはサフィックスSEI NALユニットタイプ(SUFFIX_SEI_NUT)と等
しいときは、前記非VCL NALユニットの時間識別子(TemporalId)は、前記非VCL NALユニ
ットを含むアクセスユニット(AU)のTemporalIdと等しくなるように制限される、ステッ
プと、
前記デコーダのプロセッサによって、前記非VCL NALユニット内のNALユニットヘッダ時
間識別子プラスワン(nuh_temporal_id_plus1)シンタックス要素に基づいて、前記非
VCL NALユニットの前記TemporalIdを導出する、ステップと、
復号されたピクチャを生成するために、前記デコーダの前記プロセッサによって、前記
VCL NALユニットから前記コーディングされたピクチャを復号する、ステップと
を含む、方法。
【請求項2】
前記非VCL NALの前記nal_unit_typeは、前記PREFIX_SEI_NUTと等しい、請求項1に
記載の方法。
【請求項3】
前記非VCL NALの前記nal_unit_typeは、前記SUFFIX_SEI_NUTと等しい、請求項1に
記載の方法。
【請求項4】
前記コーディングされたピクチャは、前記非VCL NALユニット内のSEIメッセージに基づ
いて、前記VCL NALユニットから復号される、請求項1から3のいずれか一項に記載の方法
。
【請求項5】
TemporalId=nuh_temporal_id_plus1-1に従って、前記非VCL NALユニットの前記Te
mporalIdを導出するステップをさらに含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
nuh_temporal_id_plus1の値がゼロではない、請求項1から5のいずれか一項に記載の
方法。
【請求項7】
前記VCL NALユニットのTemporalIdは、同じAU内の全VCL NALユニットと同じになるよう
に制限される、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記デコーダによって、1つ以上の第2のVCL NALユニットとおよび第2の非VCL NALユニ
ットとを含む第2のビットストリームを受信するステップであって、前記第2の非VCL NAL
のnal_unit_typeがSEIメッセージのときは、前記第2の非VCL NALユニットのTemporalId
は、前記第2の非VCL NALユニットを含む第2のAUのTemporalIdと等しくならない、ステッ
プと、
受信する前記ステップに応答して、前記第2のVCL NALユニットから前記コーディングさ
れたピクチャを復号する前に、前記第2のビットストリームに適合するビットストリーム
が受信されることを確実にするために、他の何らかの修正手段をとる、ステップと、
をさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
プログラムが記録されたコンピュータ可読記憶媒体であって、前記プログラムは、前記
コンピュータに請求項1~8のいずれか一項に記載の方法を実行させる、コンピュータ可
読記憶媒体。
【請求項10】
デコーディングデバイスであって、
1つ以上のビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニッ
ト内のコーディングされたピクチャと非VCL NALユニットとを含むビットストリームを受
信するよう構成された受信器であって、前記非VCL NALのNALユニットタイプ(nal_unit
_type)が付加拡張情報(SEI)メッセージのときは、前記非VCL NALユニットの時間識別
子(TemporalId)は、前記非VCL NALユニットを含むアクセスユニット(AU)のTemporalI
dと等しくなるように制限される、受信器と、
前記受信器に結合されたメモリであって、前記メモリは命令を記憶する、メモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサは、前記デコーディング
デバイスに請求項1~8のいずれか一項に記載の方法を行わせる前記命令を実行するよう
構成される、プロセッサと、
を備えるデコーディングデバイス。
【請求項11】
コンピュータに請求項1~8のいずれかに記載の方法を実行することを行わせる、プロ
グラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本特許出願は、Ye-Kui Wangによって2019年9月24日に提出された「Video Coding Impr
ovements」なる名称の米国仮特許出願第62/905,236号に基づく優先権を主張する。
【0002】
本開示は、一般的にはビデオコーディングに関し、具体的には、マルチレイヤビットス
トリームの符号化をサポートするために、シグナリングパラメータを改善することに関す
る。
【背景技術】
【0003】
たとえ比較的短いビデオであっても、これを表すのに必要なビデオデータはかなりの量
となるため、帯域幅容量に限りがある通信ネットワークを介してデータのストリーミング
が行われたり、他の方法でデータが通信されたりする場合には困難が生じることがある。
このため、ビデオデータは通常、今日の通信ネットワークを介して通信される前に圧縮さ
れる。ビデオが記憶装置に格納される場合に、メモリリソースが乏しい場合もあるため、
ビデオのサイズが問題になることもある。ビデオ圧縮装置は多くの場合、送信または記憶
に先立ち供給元でソフトウェアおよび/またはハードウェアを使ってビデオデータをコー
ディングし、そうすることでデジタルビデオ画像を表すのに必要なデータの量を減らす。
圧縮されたデータは、つぎに、供給先において、ビデオデータを復号するビデオ解凍装置
によって受け取られる。ネットワークリソースには限りがあり、より高いビデオ品質を求
める要求が増大しているため、画質をほとんど犠牲にしないかまったく犠牲にせずに圧縮
率を高める改善された圧縮・解凍技法が望まれている。
【発明の概要】
【課題を解決するための手段】
【0004】
一実施形態において、本開示はデコーダによって実施される方法を含み、本方法は、デ
コーダの受信器によって、1つ以上のビデオコーディングレイヤ(VCL)ネットワーク抽象
化レイヤ(NAL)ユニット内のコーディングされたピクチャと非VCL NALユニットとを含む
ビットストリームを受信するステップであって、非VCL NALのNALユニットタイプ(nal_u
nit_type)が、プレフィックス付加拡張情報(SEI)NALユニットタイプ(PREFIX_SEI_
NUT)またはサフィックスSEI NALユニットタイプ(SUFFIX_SEI_NUT)と等しいときは、
非VCL NALユニットの時間識別子(TemporalId)が、非VCL NALユニットを含むアクセスユ
ニット(AU)のTemporalIdと等しくなるように制限される、ステップと、デコーダのプロ
セッサによって、非VCL NALユニット内のNALユニットヘッダ時間識別子プラスワン(nuh
_temporal_id_plus1)シンタックス要素に基づいて、非VCL NALユニットのTemporalId
を導出する、ステップと、復号されたピクチャを生成するために、デコーダのプロセッサ
によって、VCL NALユニットからコーディングされたピクチャを復号する、ステップと
を含む。
【0005】
ビデオシーケンスは、多くのピクチャを含むことができる。ピクチャが確実に正しい順
序で表示されるように、ビデオコーディングシステムはピクチャにTemporalIdを割り当て
うる。いくつかのビデオコーディングシステムはピクチャのレイヤを用い、各レイヤは、
解像度、ピクチャサイズ、フレームレートなどが異なった実質的に同じビデオを含む。異
なったレイヤ内のピクチャは、デコーダ側の条件によって選択的に表示され得る。したが
って、ビデオシーケンスにおける同じ点に配置された異なったレイヤ内のピクチャは、同
じTemporalIdを共有する。さらに、同じTemporalIdを共有する異なったレイヤ内のピクチ
ャは、AUを成す。例えば、デコーダは、ビデオシーケンスを表示するために、各AUにおい
て単一のレイヤから選択した単一のピクチャを表示し得る。いくつかのビデオコーディン
グシステムは、SEIメッセージを用いる。SEIメッセージは、復号されたピクチャ内のサン
プルの値を決定するために復号プロセスで必要とされない情報を含む。例えば、SEIメッ
セージは、規格との適合性についてビットストリームを検証するために、エンコーダで動
作する仮想参照デコーダ(HRD)によって使用されるパラメータを含み得る。さらに、ビ
デオコーディングシステムは、ビデオシーケンスをピクチャのレイヤとしてビットストリ
ームへと符号化し得る。SEIメッセージは、変化するピクチャおよび/またはレイヤの変
化する組み合わせに関連付けられ得る。したがって、複雑なマルチレイヤビットストリー
ムでは、適切なSEIメッセージが適切なピクチャ/レイヤに確実に関連付けられるように
することが難しくなる可能性がある。SEIメッセージが正しいレイヤ/ピクチャに関連付
けられていない場合は、HRDがレイヤ/ピクチャの適合性を適切に検証できない場合があ
る。これはエンコードエラーにつながる場合がある。
【0006】
この例は、SEIメッセージを対応するピクチャ/レイヤに正しく関連付けるメカニズム
を含む。マルチレイヤビットストリームは、ピクチャおよび関連付けられたパラメータを
AUへと整理し得る。AUは、異なったレイヤに含まれる1組のコーディングされたピクチャ
であり、同じ出力時間に関連付けられる。SEIメッセージは、SEIメッセージに関連付けら
れた第1のピクチャと同じAU内に配置され得る。さらに、SEIメッセージは、TemporalIdを
割り当てられる。TemporalIdは、ビデオシーケンスにおけるNALユニットの相対的な位置
を示す識別子である。SEIメッセージのTemporalIdは、SEIメッセージを含むAUのTemporal
Idと等しくなるように制限される。別の言い方をすれば、ピクチャはVCL NALユニットに
含まれ、パラメータは非VCL NALユニットに含まれる。非VCL NALユニットがSEIメッセー
ジを含むSEI NALユニットのとき、非VCL NALユニットのTemporalIdは、非VCL NALユニッ
トを含むAUのTemporalIdと等しくなるように制限される。この手法により、SEIメッセー
ジがAU内の対応するピクチャに正しく関連付けられることが確実になる。それ故、様々な
エラーが回避され得る。結果として、エンコーダおよびデコーダの機能が改善される。さ
らに、コーディング効率が向上され、エンコーダにおいてもデコーダにおいても、プロセ
ッサ、メモリ、および/またはネットワークシグナリングリソースの使用率を減少させる
。
【0007】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、ここで非VCL
NALのnal_unit_typeはPREFIX_SEI_NUTと等しい。
【0008】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、ここで非VCL
NALのnal_unit_typeはSUFFIX_SEI_NUTと等しい。
【0009】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、ここでコーデ
ィングされたピクチャは、非VCL NALユニット内のSEIメッセージに基づいてVCL NALユニ
ットから復号される。
【0010】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、TemporalId=
nuh_temporal_id_plus1-1に従って非VCL NALユニットのTemporalIdを導出することを
さらに含む。
【0011】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、ここでnuh_t
emporal_id_plus1の値はゼロではない。
【0012】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、ここでVCL NA
LユニットのTemporalIdは、同じAU内の全VCL NALユニットと同じになるように制限される
。
【0013】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、デコーダによ
って、1つ以上の第2のVCL NALユニットと第2の非VCL NALユニットとを含む第2のビットス
トリームを受信するステップであって、第2の非VCL NALのnal_unit_typeがSEIメッセー
ジのときは、第2の非VCL NALユニットのTemporalIdは、第2の非VCL NALユニットを含む第
2のAUのTemporalIdと等しくならない、ステップと、受信するステップに応答して、第2の
VCL NALユニットからコーディングされたピクチャを復号する前に、第2のビットストリー
ムに適合するビットストリームが受信されることを確実にするために、他の何らかの修正
手段をとる、ステップと、をさらに含む。
【0014】
一実施形態において、本開示は、エンコーダによって実施される方法を含み、本方法は
、エンコーダのプロセッサによって、ビットストリーム内の1つ以上のVCL NALユニット内
のコーディングされたピクチャをエンコードする、ステップと、プロセッサによって、非
VCL NALユニットをビットストリームへとエンコードするステップであって、その結果、
非VCL NALのnal_unit_typeがSEIメッセージのときは、非VCL NALユニットのnuh_tempo
ral_id_plus1が、非VCL NALユニットを含むAUのnuh_temporal_id_plus1と等しくな
るように制限される、ステップと、プロセッサによって、SEIメッセージに基づいて、ビ
ットストリームに対して一組のビットストリーム適合性テストを行う、ステップと、プロ
セッサに結合されたメモリによって、デコーダに向けて通信するためのビットストリーム
を記憶する、ステップとを含む。
【0015】
ビデオシーケンスは、多くのピクチャを含むことができる。ピクチャが確実に正しい順
序で表示されるように、ビデオコーディングシステムはピクチャにTemporalIdを割り当て
うる。いくつかのビデオコーディングシステムはピクチャのレイヤを用い、各レイヤは、
解像度、ピクチャサイズ、フレームレートなどが異なった実質的に同じビデオを含む。異
なったレイヤ内のピクチャは、デコーダ側の条件によって選択的に表示され得る。したが
って、ビデオシーケンスにおける同じ点に配置された異なったレイヤ内のピクチャは、同
じTemporalIdを共有する。さらに、同じTemporalIdを共有する異なったレイヤ内のピクチ
ャは、AUを成す。例えば、デコーダは、ビデオシーケンスを表示するために、各AUにおい
て単一のレイヤから選択した単一のピクチャを表示し得る。いくつかのビデオコーディン
グシステムは、SEIメッセージを用いる。SEIメッセージは、復号されたピクチャ内のサン
プルの値を決定するために、復号プロセスで必要とされない情報を含む。例えば、SEIメ
ッセージは、規格との適合性についてビットストリームを検証するために、エンコーダで
動作する仮想参照デコーダ(HRD)によって使用されるパラメータを含み得る。さらに、
ビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤとしてビットスト
リームへと符号化し得る。SEIメッセージは、変化するピクチャおよび/またはレイヤの
変化する組み合わせに関連付けられ得る。したがって、複雑なマルチレイヤビットストリ
ームでは、適切なSEIメッセージが適切なピクチャ/レイヤに確実に関連付けられるよう
にすることが難しくなる可能性がある。SEIメッセージが正しいレイヤ/ピクチャに関連
付けられていない場合は、HRDがレイヤ/ピクチャの適合性を適切に検証できない場合が
ある。これはエンコードエラーにつながる場合がある。
【0016】
この例は、SEIメッセージを対応するピクチャ/レイヤに正しく関連付けるメカニズム
を含む。マルチレイヤビットストリームは、ピクチャおよび関連付けられたパラメータを
AUへと整理し得る。AUは、異なったレイヤに含まれる1組のコーディングされたピクチャ
であり、同じ出力時間に関連付けられる。SEIメッセージは、SEIメッセージに関連付けら
れた第1のピクチャと同じAU内に配置され得る。さらに、SEIメッセージは、TemporalIdを
割り当てられる。TemporalIdは、ビデオシーケンスにおけNALユニットの相対的な位置を
示す識別子である。SEIメッセージのTemporalIdは、SEIメッセージを含むAUのTemporalId
と等しくなるように制限される。別の言い方をすれば、ピクチャはVCL NALユニットに含
まれ、パラメータは非VCL NALユニットに含まれる。非VCL NALユニットがSEIメッセージ
を含むSEI NALユニットのとき、非VCL NALユニットのTemporalIdは、非VCL NALユニット
を含むAUのTemporalIdと等しくなるように制限される。この手法により、SEIメッセージ
がAU内の対応するピクチャに正しく関連付けられることが確実になる。それ故、様々なエ
ラーが回避され得る。結果として、エンコーダおよびデコーダの機能が改善される。さら
に、コーディング効率が向上され、エンコーダにおいてもデコーダにおいても、プロセッ
サ、メモリ、および/またはネットワークシグナリングリソースの使用率を減少させる。
【0017】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、ここで非VCL
NALのnal_unit_typeはPREFIX_SEI_NUTと等しい。
【0018】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、ここで非VCL
NALのnal_unit_typeはSUFFIX_SEI_NUTと等しい。
【0019】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、ここでnuh_t
emporal_id_plus1の値はゼロではない。
【0020】
任意選択で、前述の態様のいずれかにおいて、態様の別の実装を提供し、ここでVCL NA
Lユニットのnuh_temporal_id_plus1は、同じAU内の全VCL NALユニットと同じになるよ
うに制限される。
【0021】
一実施形態において、本開示は、プロセッサと、プロセッサに結合された受信器と、プ
ロセッサに結合されたメモリと、プロセッサに結合された送信器とを備え、プロセッサ、
受信器、メモリ、および送信器は、前述の態様の方法を行うように構成される、ビデオコ
ーディング装置を含む。
【0022】
一実施形態において、本開示は、ビデオコーディング装置によって使用されるコンピュ
ータプログラム製品を含む非一時的コンピュータ可読媒体を含み、コンピュータプログラ
ム製品は非一時的コンピュータ可読媒体に記憶されたコンピュータ実行可能命令を含み、
プロセッサによって実行されると、ビデオコーディング装置に前述の態様のいずれかの方
法を行わせる。
【0023】
一実施形態において、本開示は、1つ以上のVCL NALユニット内のコーディングされたピ
クチャと非VCL NALユニットとを含むビットストリームを受信する受信手段であって、非V
CL NALのnal_unit_typeがSEIメッセージのときは、非VCL NALユニットのTemporalIdが
、非VCL NALユニットを含むAUのTemporalIdと等しくなるように制限される、受信手段と
、復号されたピクチャを生成するために、VCL NALユニットからコーディングされたピク
チャを復号するための、復号手段と、復号されたビデオシーケンスの一部として表示する
ために、復号されたピクチャを転送するための、転送手段と、を備えるデコーダを含む。
【0024】
ビデオシーケンスは、多くのピクチャを含むことができる。ピクチャが確実に正しい順
序で表示されるように、ビデオコーディングシステムはピクチャにTemporalIdを割り当て
うる。いくつかのビデオコーディングシステムはピクチャのレイヤを用い、各レイヤは、
解像度、ピクチャサイズ、フレームレートなどが異なった実質的に同じビデオを含む。異
なったレイヤ内のピクチャは、デコーダ側の条件によって選択的に表示され得る。したが
って、ビデオシーケンスにおける同じ点に配置された異なったレイヤ内のピクチャは、同
じTemporalIdを共有する。さらに、同じTemporalIdを共有する異なったレイヤ内のピクチ
ャは、AUを成す。例えば、デコーダは、ビデオシーケンスを表示するために、各AUにおい
て単一のレイヤから選択した単一のピクチャを表示し得る。いくつかのビデオコーディン
グシステムは、SEIメッセージを用いる。SEIメッセージは、復号されたピクチャ内のサン
プルの値を決定するために、復号プロセスで必要とされない情報を含む。例えば、SEIメ
ッセージは、規格との適合性についてビットストリームを検証するためにエンコーダで動
作する仮想参照デコーダ(HRD)によって使用されるパラメータを含み得る。さらに、ビ
デオコーディングシステムは、ビデオシーケンスをピクチャのレイヤとしてビットストリ
ームへと符号化し得る。SEIメッセージは、変化するピクチャおよび/またはレイヤの変
化する組み合わせに関連付けられ得る。したがって、複雑なマルチレイヤビットストリー
ムでは、適切なSEIメッセージが適切なピクチャ/レイヤに確実に関連付けられるように
することが難しくなる可能性がある。SEIメッセージが正しいレイヤ/ピクチャに関連付
けられていない場合は、HRDがレイヤ/ピクチャの適合性を適切に検証できない場合があ
る。これはエンコードエラーにつながる場合がある。
【0025】
この例は、SEIメッセージを対応するピクチャ/レイヤに正しく関連付けるメカニズム
を含む。マルチレイヤビットストリームは、ピクチャおよび関連付けられたパラメータを
AUへと整理し得る。AUは、異なったレイヤに含まれる1組のコーディングされたピクチャ
であり、同じ出力時間に関連付けられる。SEIメッセージは、SEIメッセージに関連付けら
れた第1のピクチャと同じAU内に配置され得る。さらに、SEIメッセージは、TemporalIdを
割り当てられる。TemporalIdは、ビデオシーケンスにおけるNALユニットの相対的な位置
を示す識別子である。SEIメッセージのTemporalIdは、SEIメッセージを含むAUのTemporal
Idと等しくなるように制限される。別の言い方をすれば、ピクチャはVCL NALユニットに
含まれ、パラメータは非VCL NALユニットに含まれる。非VCL NALユニットがSEIメッセー
ジを含むSEI NALユニットのとき、非VCL NALユニットのTemporalIdは、非VCL NALユニッ
トを含むAUのTemporalIdと等しくなるように制限される。この手法により、SEIメッセー
ジがAU内の対応するピクチャに正しく関連付けられることが確実になる。それ故、様々な
エラーが回避され得る。結果として、エンコーダおよびデコーダの機能が改善される。さ
らに、コーディング効率が向上され、エンコーダにおいてもデコーダにおいても、プロセ
ッサ、メモリ、および/またはネットワークシグナリングリソースの使用率を減少させる
。
【0026】
任意選択で、前述の態様のいずれかにおいて、デコーダは、前述の態様のいずれかの方
法を遂行するようにさらに構成される、態様の別の実装が提供される。
【0027】
一実施形態において、本開示は、ビットストリーム内の1つ以上のVCL NALユニット内の
コーディングされたピクチャをエンコードし、非VCL NALのnal_unit_typeが付加SEIメ
ッセージのときは、非VCL NALユニットのTemporalIdが、非VCL NALユニットを含むAUのTe
mporalIdと等しくなるよう制限されるように、非VCL NALユニットをビットストリームへ
とエンコードする、エンコード手段と、SEIメッセージに基づいて、ビットストリームに
対して一組のビットストリーム適合性テストを行う、HRD手段と、デコーダに向けて通信
するためのビットストリームを記憶する、記憶手段とを備える、エンコーダを備える。
【0028】
ビデオシーケンスは、多くのピクチャを含むことができる。ピクチャが確実に正しい順
序で表示されるように、ビデオコーディングシステムはピクチャにTemporalIdを割り当て
うる。いくつかのビデオコーディングシステムはピクチャのレイヤを用い、各レイヤは、
解像度、ピクチャサイズ、フレームレートなどが異なった実質的に同じビデオを含む。異
なったレイヤ内のピクチャは、デコーダ側の条件によって選択的に表示され得る。したが
って、ビデオシーケンスにおける同じ点に配置された異なったレイヤ内のピクチャは、同
じTemporalIdを共有する。さらに、同じTemporalIdを共有する異なったレイヤ内のピクチ
ャは、AUを成す。例えば、デコーダは、ビデオシーケンスを表示するために、各AUにおい
て単一のレイヤから選択した単一のピクチャを表示し得る。いくつかのビデオコーディン
グシステムは、SEIメッセージを用いる。SEIメッセージは、復号されたピクチャ内のサン
プルの値を決定するために、復号プロセスで必要とされない情報を含む。例えば、SEIメ
ッセージは、規格との適合性についてビットストリームを検証するために、エンコーダで
動作する仮想参照デコーダ(HRD)によって使用されるパラメータを含み得る。さらに、
ビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤとしてビットスト
リームへと符号化し得る。SEIメッセージは、変化するピクチャおよび/またはレイヤの
変化する組み合わせに関連付けられ得る。したがって、複雑なマルチレイヤビットストリ
ームでは、適切なSEIメッセージが適切なピクチャ/レイヤに確実に関連付けられるよう
にすることが難しくなる可能性がある。SEIメッセージが正しいレイヤ/ピクチャに関連
付けられていない場合は、HRDがレイヤ/ピクチャの適合性を適切に検証できない場合が
ある。これはエンコードエラーにつながる場合がある。
【0029】
この例は、SEIメッセージを対応するピクチャ/レイヤに正しく関連付けるメカニズム
を含む。マルチレイヤビットストリームは、ピクチャおよび関連付けられたパラメータを
AUへと整理し得る。AUは、異なったレイヤに含まれる1組のコーディングされたピクチャ
であり、同じ出力時間に関連付けられる。SEIメッセージは、SEIメッセージに関連付けら
れた第1のピクチャと同じAU内に配置され得る。さらに、SEIメッセージは、TemporalIdを
割り当てられる。TemporalIdは、ビデオシーケンスにおけるNALユニットの相対的な位置
を示す識別子である。SEIメッセージのTemporalIdは、SEIメッセージを含むAUのTemporal
Idと等しくなるように制限される。別の言い方をすれば、ピクチャはVCL NALユニットに
含まれ、パラメータは非VCL NALユニットに含まれる。非VCL NALユニットがSEIメッセー
ジを含むSEI NALユニットのとき、非VCL NALユニットのTemporalIdは、非VCL NALユニッ
トを含むAUのTemporalIdと等しくなるように制限される。この手法により、SEIメッセー
ジがAU内の対応するピクチャに正しく関連付けられることが確実になる。それ故、様々な
エラーが回避され得る。結果として、エンコーダおよびデコーダの機能が改善される。さ
らに、コーディング効率が向上され、エンコーダにおいてもデコーダにおいても、プロセ
ッサ、メモリ、および/またはネットワークシグナリングリソースの使用率を減少させる
。
【0030】
任意選択で、前述の態様のいずれかにおいて、エンコーダは、前述の態様のいずれかの
方法を遂行するようにさらに構成される、態様の別の実装が提供される。
【0031】
明確にするために、前述の実施形態のうちのいずれか1つは、他の前述の実施形態のう
ちのいずれか1つまたは複数と組み合わされて、本開示の範囲内の新しい実施形態を作成
する場合がある。
【0032】
上記その他の特徴は、以下の詳細な説明を添付の図面および特許請求の範囲と併せて読
めばより明確に理解されるであろう。
【0033】
本開示をより十分に理解するために、次に、添付の図面および詳細な説明と関連して理
解される以下の簡単な説明を参照する。添付の図面および詳細な説明において、類似の参
照番号は類似の部分を表す。
【図面の簡単な説明】
【0034】
【
図1】ビデオ信号を符号化する例示的な方法の流れ図である。
【
図2】ビデオ符号化のための例示的な符号化・復号(コーデック)システムの概略図である。
【
図3】例示的なビデオエンコーダを示す概略図である。
【
図4】例示的なビデオデコーダを示す概略図である。
【
図5】例示的な仮想参照デコーダ(HRD)を示す概略図である。
【
図6】例示的なマルチレイヤビデオシーケンスを示す概略図である。
【
図7】例示的なビットストリームを示す概略図である。
【
図8】例示的なビデオコーディング装置の概略図である。
【
図9】ビットストリーム内の付加拡張情報(SEI)メッセージの時間識別子(TemporalId)を制限することによって、ビデオシーケンスをビットストリームにエンコードする例示的な方法の流れ図である。
【
図10】ビットストリーム内のSEIメッセージのTemporalIdが制限されている、ビットストリームからビデオシーケンスを復号する例示的な方法の流れ図である。
【
図11】ビットストリーム内のSEIメッセージのTemporalIdが制限されている、ビットストリームを使用してビデオシーケンスを符号化する例示的なシステムの概略図である。
【発明を実施するための形態】
【0035】
最初に、1つまたは複数の実施形態の例示的な実施態様が以下に提供されるが、開示さ
れたシステムおよび/または方法は、現在知られているか存在するかにかかわらず、任意
の数の技術を使用して実装され得ることを理解されたい。本開示は、本明細書において図
示または記載される例示的な設計および実装形態を含む、以下に示される例示的な実装形
態、図面、および技法に決して限定されるべきでなく、それらの均等物の全範囲とともに
添付の特許請求の範囲の範囲内で修正されてよい。
【0036】
以下の用語は、本明細書で反対の文脈で使用されない限り、次のように定義される。具
体的に述べると、以下の定義は本開示をさらに明確にすることを意図している。しかしな
がら、用語は、異なる文脈では異なって記載される場合がある。したがって、以下の定義
は補助的なものとみなされるべきであり、本明細書でかかる用語に与えられている説明の
他の定義を制限するものと考えられるべきではない。
【0037】
ビットストリームは、エンコーダとデコーダとの間で送信するために圧縮されたビデオ
データを含む、一連のビットである。エンコーダは、ビデオデータを圧縮してビットスト
リームにするために、符号化プロセスを用いるように構成された装置である。デコーダは
、表示用にビットストリームからビデオデータを復元するために、復号プロセスを用いる
ように構成された装置である。ピクチャは、フレームまたはそのフィールドを生成する、
ルマサンプルの配列および/またはクロマサンプルの配列である。スライスは、単一のネ
ットワーク抽象化レイヤ(NAL)ユニットに排他的に含まれるピクチャの整数個の完全な
タイル、または(例えば、タイル内の)整数個の連続する完全なコーディングツリーユニ
ット(CTU)行である。説明を明確にするために、エンコードまたは復号されるピクチャ
は現在ピクチャと呼ばれてもよい。コーディングされたピクチャは、アクセスユニット(
AU)内でNALユニットヘッダレイヤ識別子(nuh_layer_id)の特定の値を有するビデオ
コーディングレイヤ(VCL)NALユニットを含むピクチャのコーディングされた表現であり
、ピクチャの全コーディングツリーユニット(CTU)を含む。復号されたピクチャは、コ
ーディングされたピクチャに復号プロセスを適用して生成されたピクチャである。
【0038】
AUは、異なったレイヤに含まれる1組のコーディングされたピクチャであり、復号ピク
チャバッファ(DPB)から出力するために同じ時間に関連付けられる。NALユニットは、生
のバイトシーケンスペイロード(RBSP)形式のデータを含むシンタックス構造であり、デ
ータの種類を示すものであり、必要に応じてエミュレーション防止バイトが散在される。
VCL NALユニットは、ピクチャのコーディングされたスライスなどの、ビデオデータを含
むように符号化されたNALユニットである。非VCL NALユニットは、ビデオデータの復号、
適合性検査の実行その他の動作をサポートするシンタックスおよび/またはパラメータな
どの、非ビデオデータを含むNALユニットである。NALユニットタイプ(nal_unit_type
)は、NALユニットに含まれるデータのタイプを示す、NALユニットに含まれるシンタック
ス要素である。レイヤは、レイヤIDおよび関連付けられた非VCL NALユニットで示される
通りに、指定した特性(例えば、共通の解像度、フレームレート、画像サイズ)を共有す
るVCL NALユニットのセットである。NALユニットヘッダレイヤ識別子(nuh_layer_id)
は、NALユニットを含むレイヤの識別子を指定するシンタックス要素である。時間識別子
(TemporalId)は、ビデオシーケンス内のNALユニットの相対的な位置を示す、導出され
た識別子である。NALユニットヘッダ時間識別子プラスワン(nuh_temporal_id_plus1
)は、ビデオシーケンス内のNALユニットの相対的な位置を示す、シグナリングされた識
別子である。
【0039】
仮想参照デコーダ(HRD)は、特定の制約条件に対する適合性を検証するために、符号
化プロセスで生成されたビットストリームの可変性を検査する、エンコーダで動作するデ
コーダモデルである。ビットストリーム適合性テストは、エンコードされたビットストリ
ームが、汎用ビデオ符号化(VVC)などの規格に準拠しているかどうかを判定するテスト
である。HRDパラメータは、HRDの動作条件を初期化および/または定義するシンタックス
要素である。HRDパラメータは、付加拡張情報(SEI)メッセージに、かつ/またはビデオ
パラメータセット(VPS)に含まれ得る。SEIメッセージは、復号されたピクチャ内のサン
プルの値を決定するために、復号プロセスで必要とされない情報を伝達する、特定のセマ
ンティクスを有するシンタックス構造である。SEI NALユニットは、1つ以上のSEIメッセ
ージを含むNALユニットである。特定のSEI NALユニットが、現在SEI NALユニットと呼ば
れてもよい。スケーラブルネスティングSEIメッセージは、1つ以上の出力レイヤセット(
OLS)、または1つ以上のレイヤに対応する、複数のSEIメッセージを含むメッセージであ
る。バッファリング期間(BP)SEIメッセージは、コーディングされたピクチャバッファ
(CPB)を管理するために、HRDを初期化するためのHRDパラメータを含むSEIメッセージで
ある。ピクチャタイミング(PT)SEIメッセージは、CPBおよび/または復号ピクチャバッ
ファ(DPB)でAUの送達情報を管理するためのHRDパラメータを含むSEIメッセージである
。復号ユニット情報(DUI)SEIメッセージは、CPBおよび/またはDPBでDUの送達情報を管
理するためのHRDパラメータを含むSEIメッセージである。スケーラブルネスティングSEI
メッセージは、スケーラブルネストされたSEIメッセージのセットである。スケーラブル
ネストされたSEIメッセージは、スケーラブルネスティングSEIメッセージの内部でネスト
されたSEIメッセージである。プレフィックスSEIメッセージは、1つ以上の後続のNALユニ
ットに適用されるSEIメッセージである。サフィックスSEIメッセージは、1つ以上の先行
するNALユニットに適用されるSEIメッセージである。
【0040】
ピクチャパラメータセット(PPS)は、各ピクチャヘッダに見出されるシンタックス要
素によって決定される通りの、コーディングされたピクチャ全体に適用されるシンタック
ス要素を含むシンタックス構造である。ピクチャヘッダは、コーディングされたピクチャ
の全スライスに適用されるシンタックス要素を含む、シンタックス構造である。スライス
ヘッダは、全タイル、またはスライスで表されたタイル内のCTU行に関するデータ要素を
含む、コーディングされたスライスの一部である。コーディングされたビデオシーケンス
は、1つ以上のコーディングされたピクチャのセットである。復号されたビデオシーケン
スは、1つ以上の復号されたピクチャのセットである。
【0041】
本明細書では、アクセスユニット(AU)、コーディングツリーブロック(CTB)、コー
ディングツリーユニット(CTU)、コーティングユニット(CU)、符号化レイヤビデオシ
ーケンス(CLVS)、符号化レイヤビデオシーケンス開始(CLVSS)、コーディングされた
ビデオシーケンス(CVS)、コーディングされたビデオシーケンス開始(CVSS)、合同ビ
デオ専門家チーム(JVET)、仮想参照デコーダHRD、動き制限タイルセット(MCTS)、最
大送信単位(MTU)、ネットワーク抽象化レイヤ(NAL)、出力レイヤセット(OLS)、ピ
クチャ順序カウント(POC)、ランダムアクセスポイント(RAP)、生のバイトシーケンス
ペイロード(RBSP)、シーケンスパラメータセット(SPS)、ビデオパラメータセット(V
PS)、汎用ビデオ符号化(VVC)といった頭字語が使用される。
【0042】
データ損失を最小にしながらビデオファイルのサイズを縮小するために、多くのビデオ
圧縮技法を使用することができる。例えば、ビデオ圧縮技法は、ビデオシーケンスにおけ
るデータ冗長性を低減または除去するために、空間(例えば、イントラピクチャ)予測お
よび/または時間(例えば、インターピクチャ)予測を実行することを含むことができる
。ブロックベースのビデオ符号化では、ビデオスライス(例えば、ビデオピクチャまたは
ビデオピクチャの一部)はビデオブロックにパーティショニングされてよく、ビデオブロ
ックは、ツリーブロック、コーディングツリーブロック(CTB)、コーディングツリーユ
ニット(CTU)、コーティングユニット(CU)、および/または、符号化ノードとも称さ
れてよい。ピクチャのイントラ符号化(I)スライス内のビデオブロックは、同じピクチ
ャ内の隣り合うブロックにおける、参照サンプルに対する空間予測を使用して符号化され
る。ピクチャのインター符号化片方向予測(P)または双方向予測(B)スライス内のビデ
オブロックは、同じピクチャ内の隣り合うブロックにおける、参照サンプルに対する空間
予測、または他の参照ピクチャにおける、参照サンプルに対する時間予測を使用して符号
化されてよい。ピクチャはフレームおよび/または画像と称されてもよく、参照ピクチャ
はフレームおよび/または参照画像と称されてよい。空間予測または時間予測は、画像ブ
ロックを表す予測ブロックになる。残差データは、元の画像ブロックと予測ブロックとの
画素差を表す。したがって、インター符号化ブロックは、予測ブロックを形成する参照サ
ンプルのブロックを指し示す動きベクトルと、符号化ブロックと予測ブロックとの差分を
示す残差データとに従ってエンコードされる。イントラ符号化ブロックは、イントラ符号
化モードと残差データとに従ってエンコードされる。さらに圧縮するために、残差データ
は、画素領域から変換領域に変換されてよい。これらは残差変換係数になり、量子化され
得る。量子化された変換係数は、最初は二次元配列で配置されてよい。量子化された変換
係数は、変換係数の一次元ベクトルを生成するためにスキャンされ得る。さらなる圧縮を
実現するために、エントロピー符号化が適用される場合がある。かかるビデオ圧縮技法は
、以下でより詳細に説明される。
【0043】
エンコードされたビデオを正確に復号できることを確実にするために、ビデオは、対応
するビデオ符号化規格に従ってエンコードされ復号される。ビデオ符号化規格には、国際
電気通信連合(ITU)標準化部門(ITU-T)H.261、国際標準化機構/国際電気標準会議
(ISO/IEC)動画専門家グループ(MPEG)-1パート2、ITU-T H.262またはISO/IEC MP
EG-2パート2、ITU-T H.263、ISO/IEC MPEG-4パート2、ITU-T H.264またはISO/IE
C MPEG-4パート10としても知られる高度ビデオ符号化(AVC)、およびITU-T H.265ま
たはMPEG-Hパート2としても知られる高効率ビデオ符号化(HEVC)が含まれる。AVCは、
スケーラブルビデオ符号化(SVC)、マルチビュービデオ符号化(MVC)、マルチビュービ
デオ符号化プラス深度(MVC+D)、および三次元(3D)AVC(3D-AVC)などの拡張を含む
。HEVCは、スケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)、および3D HEVC
(3D-HEVC)などの拡張を含む。ITU-TおよびISO/IECの合同ビデオ専門家チーム(JVET
)は、汎用ビデオ符号化(VVC)と称されるビデオ符号化規格の開発に着手した。VVCは草
案(WD)に含まれており、JVET-O2001-v14を含む。
【0044】
ビデオシーケンスは、多くのピクチャを含むことができる。ピクチャが確実に正しい順
序で表示されるように、ビデオコーディングシステムはピクチャに時間識別子(Temporal
Id)を割り当ててよい。いくつかのビデオコーディングシステムはピクチャのレイヤを使
用し、各レイヤは、解像度、ピクチャサイズ、フレームレートなどが異なる、実質的に同
じビデオを含む。異なったレイヤ内のピクチャは、デコーダ側の条件によって選択的に表
示され得る。したがって、ビデオシーケンスの同じ点に配置された異なったレイヤ内のピ
クチャは、同じTemporalIdを共有する。さらに、同じTemporalIdを共有する異なったレイ
ヤ内のピクチャは、アクセスユニット(AU)を構成する。例えば、デコーダは、ビデオシ
ーケンスを表示するために、各AUで単一のレイヤから選択した単一のピクチャを表示し得
る。
【0045】
いくつかのビデオコーディングシステムは、SEIメッセージを使用する。SEIメッセージ
は、復号されたピクチャ内のサンプルの値を決定するために、復号プロセスで必要とされ
ない情報を含む。例えば、SEIメッセージは、ビットストリームの規格との適合性を検証
するために、エンコーダで動作するHRDによって使用されるパラメータを含み得る。さら
に、ビデオコーディングシステムは、ビデオシーケンスをピクチャのレイヤとしてビット
ストリームに符号化し得る。SEIメッセージは、様々なピクチャおよび/またはレイヤの
様々な組み合わせに関連付けられ得る。したがって、複雑なマルチレイヤビットストリー
ムでは、適切なSEIメッセージが適切なピクチャ/レイヤに確実に関連付けられるように
することが難しくなる可能性がある。SEIメッセージが正しいレイヤ/ピクチャに関連付
けられていない場合は、HRDがレイヤ/ピクチャの適合性を適切に検証できない場合があ
る。これはエンコードエラーにつながる場合がある。
【0046】
本明細書で開示するのは、SEIメッセージを対応するピクチャ/レイヤに正しく関連付
けるメカニズムである。マルチレイヤビットストリームは、ピクチャおよび関連付けられ
たパラメータをAUへと整理し得る。AUは、異なったレイヤに含まれる1組のコーディング
されたピクチャであり、同じ出力時間に関連付けられる。SEIメッセージは、SEIメッセー
ジに関連付けられた第1のピクチャと同じAU内に配置され得る。さらに、SEIメッセージは
、TemporalIdを割り当てられる。TemporalIdは、ビデオシーケンスにおけるネットワーク
抽象化レイヤ(NAL)ユニットの相対的な位置を示す識別子である。SEIメッセージのTemp
oralIdは、SEIメッセージを含むAUのTemporalIdと等しくなるように制限される。別の言
い方をすれば、ピクチャはビデオコーディングレイヤ(VCL)NALユニットに含まれ、パラ
メータは非VCL NALユニットに含まれる。非VCL NALユニットがSEIメッセージを含むSEI N
ALユニットのとき、非VCL NALユニットのTemporalIdは、非VCL NALユニットを含むAUのTe
mporalIdと等しくなるように制限される。この手法により、SEIメッセージがAU内の対応
するピクチャに正しく関連付けられることが確実になる。それ故、様々なエラーが回避さ
れ得る。結果として、エンコーダおよびデコーダの機能が改善される。さらに、コーディ
ング効率が向上され、エンコーダにおいてもデコーダにおいても、プロセッサ、メモリ、
および/またはネットワークシグナリングリソースの使用率を減少させる。
【0047】
図1は、ビデオ信号の符号化の例示的な動作方法100の流れ図である。具体的に述べると
、ビデオ信号はエンコーダでエンコードされる。符号化プロセスは、ビデオファイルのサ
イズを減じる様々な手法を用いてビデオ信号を圧縮する。ファイルのサイズが小さければ
、圧縮されたビデオファイルをユーザーへ伝送し、これにともなう帯域幅オーバーヘッド
を減らすことが可能となる。その後、デコーダは圧縮されたビデオファイルを復号し、エ
ンドユーザーに向けて表示するため元のビデオ信号を復元する。デコーダでビデオ信号を
着実に復元することを可能にするため、復号プロセスは通常、符号化プロセスを反映する
。
【0048】
ステップ101では、ビデオ信号がエンコーダに入力される。例えば、ビデオ信号はメモ
リに記憶された圧縮されていないビデオファイルであってよい。もうひとつの例として、
ビデオカメラなどのビデオキャプチャ装置によってビデオファイルがキャプチャされ、ビ
デオのライブストリーミングをサポートするためエンコードされてもよい。ビデオファイ
ルはオーディオ成分とビデオ成分の両方を含むことがある。ビデオ成分は一連の画像フレ
ームを含み、これが連続して見られると、視覚的な動きの印象を与える。フレームは画素
を含み、画素は、ここでルマ成分(またはルマサンプル)と呼ばれる光と、クロマ成分(
または色サンプル)と呼ばれる色とによって表される。いくつかの例では、三次元閲覧を
サポートするため、フレームがデプス値を含むこともある。
【0049】
ステップ103では、ビデオがブロックへとパーティショニングされる。パーティショニ
ングは、各フレーム内の画素を圧縮のために正方形および/または矩形のブロックに細分
することを含む。例えば、高効率ビデオ符号化(HEVC)(H.265およびMPEG-Hパート2と
しても知られている)では、フレームは、まずコーディングツリーユニット(CTU)に細
分化でき、これは所定のサイズ(例えば、64画素×64画素)のブロックである。CTUはル
マおよびクロマの両方のサンプルを含む。コーディングツリーを使ってCTUをブロックに
分割し、その後、さらなるエンコーディングをサポートする構成が達成されるまでブロッ
クを再帰的に細分することができる。例えば、フレームのルマ成分は、個々のブロックが
比較的均一な照明値を含むようになるまで細分されてよい。さらに、フレームのクロマ成
分は、個々のブロックが比較的均一な色値を含むようになるまで細分されてよい。したが
って、パーティショニング手法はビデオフレームの内容に応じて異なる。
【0050】
ステップ105では、ステップ103でパーティショニングされた画像ブロックを様々な圧縮
手法を用いて圧縮する。例えば、インター予測および/またはイントラ予測が使われてよ
い。インター予測は、一般的なシーンの中の物体が連続するフレームに現れる傾向がある
という事実を利用するようになっている。したがって、参照フレーム内の物体を表すブロ
ックは、近接するフレームで繰り返し記述される必要はない。具体的に述べると、机など
の物体は複数のフレームにわたって一定の位置にとどまることがある。それ故、机は一度
記述され、近接するフレームは参照フレームを参照できる。パターンマッチング手法を用
いることで、複数のフレームにわたって物体を整合させることができる。さらに、例えば
物体の動きやカメラの動きにより、複数のフレームにわたって動く物体が表されることが
ある。個別の一例として、ビデオは複数のフレームにわたって画面を横切る自動車を表示
することがある。このような動きは動きベクトルを使って記述できる。動きベクトルは、
或るフレーム内の或る物体の座標から参照フレーム内の当該物体の座標までのオフセット
を提供する二次元ベクトルである。このため、インター予測は、現在フレーム内の画像ブ
ロックを、参照フレーム内の対応するブロックからのオフセットを示す1組の動きベクト
ルとしてエンコードできる。
【0051】
イントラ予測は一般的なフレーム内のブロックをエンコードする。イントラ予測は、ル
マ成分とクロマ成分がフレームの中で群がる傾向があるという事実を利用する。例えば、
木の一部分にある緑のパッチは、同様の緑のパッチの近くに位置する傾向がある。イント
ラ予測は、複数の方向予測モード(例えばHEVCで33)、平面モード、およびダイレクトカ
レント(DC)モードを使用する。方向モードは、現在ブロックが対応する方向で隣接ブロ
ックのサンプルと同様/同じであることを指示する。平面モードは、行/列(例えば平面
)沿いの一連のブロックを、行のエッジの隣接ブロックに基づいて補間できることを指示
する。平面モードは、実際には、変化する値の比較的一定のスロープを使うことによって
、行/列にわたる光/色の滑らかな遷移を示す。DCモードは境界平滑化に使われ、ブロッ
クが、方向予測モードの角度方向と関連するすべての隣接ブロックのサンプルと関連する
平均値と同様/同じであることを指示する。したがって、イントラ予測ブロックは、実際
の値の代わりに様々な関係予測モード値として画像ブロックを表すことができる。さらに
、インター予測ブロックは、実際の値の代わりに動きベクトル値として画像ブロックを表
すことができる。いずれの場合でも、予測ブロックは場合によっては画像ブロックを正確
に表さないことがある。差異は残差ブロックに記憶される。ファイルをさらに圧縮するた
め、残差ブロックには変換が適用できる。
【0052】
ステップ107では、様々なフィルタリング技法が適用される。HEVCではインループフィ
ルタリング方式に従ってフィルタが適用される。上述したブロックに基づく予測は、デコ
ーダでブロック状の画像を作ることがある。さらに、ブロックに基づく予測方式はブロッ
クをエンコードし、エンコードされたブロックを後ほど参照ブロックとして使用するため
復元することができる。インループフィルタリング方式は、ノイズ抑制フィルタ、デブロ
ッキングフィルタ、適応型ループフィルタ、およびサンプル適応型オフセット(SAO)フ
ィルタをブロック/フレームに繰り返し適用される。これらのフィルタはそのようなブロ
ッキングアーチファクトを軽減するため、エンコードされたファイルは正確に復元できる
。さらに、これらのフィルタは復元された参照ブロックでアーチファクトを軽減するため
、復元された参照ブロックに基づいてエンコードされる後続のブロックでさらなるアーチ
ファクトが発生する見込みは少なくなる。
【0053】
ビデオ信号がパーティショニングされ、圧縮され、フィルタされたら、できあがったデ
ータがステップ109にてビットストリームでエンコードされる。このビットストリームは
上述したデータを含むほか、デコーダでの適切なビデオ信号復元をサポートするにあたっ
て望ましいシグナリングデータを含む。例えば、かかるデータは、パーティションデータ
、予測データ、残差ブロック、およびデコーダに符号化指図を提供する様々なフラグを含
み得る。ビットストリームは、要求に応じてデコーダへ伝送できるようにメモリに記憶さ
れてよい。ビットストリームはまた、複数のデコーダに向けてブロードキャストおよび/
またはマルチキャストされてもよい。ビットストリームの作成は繰り返し作業である。し
たがって、ステップ101、103、105、107、および109は、多数のフレームおよびブロック
にわたって連続的に、および/または同時に、行われてよい。
図1に示された順序は説明
を明瞭かつ平易にするために提示されており、ビデオ符号化プロセスを特定の順序に限定
することを意図するものではない。
【0054】
デコーダはビットストリームを受け取り、ステップ111で復号プロセスを開始する。具
体的に述べると、デコーダはエントロピー復号方式を用いてビットストリームを対応する
シンタックスデータとビデオデータに変換する。デコーダはステップ111で、ビットスト
リームからのシンタックスデータを使ってフレームのパーティションを決定する。パーテ
ィショニングはステップ103におけるブロックパーティショニングの結果に整合しなけれ
ばならない。これより、ステップ111で使われるエントロピーエンコーディング/復号を
説明する。エンコーダは、入力画像における値の空間的配置に基づいて数通りの選択肢か
らブロックパーティショニング方式を選択するなど、圧縮過程で多数の選択を行う。ぴっ
たりの選択肢を伝えるため、多数のビンを使用することがある。ここで使われるビンは、
変数として扱われる2進値である(例えば、状況に応じて変わり得るビット値)。エント
ロピー符号化では、エンコーダはある特定の状況で明らかに成り立たないオプションを破
棄し、許容可能なオプションからなる集合を残すことができる。その後、それぞれの許容
可能オプションには符号語が割り当てられる。符号語の長さは許容可能オプションの数に
基づいている(例えば、2つのオプションに対し1ビン、3乃至4つのオプションに対し2ビ
ンなど)。その後、エンコーダは選択されたオプションの符号語をエンコードする。符号
語は、すべての可能なオプションからなる潜在的に大きな集合からの選択を一意に指示す
るのに対し、許容可能オプションからなる小さい部分集合からの選択を一意に指示する場
合に所望の大きさになるため、この方式は符号語のサイズを縮小する。その後、デコーダ
は、エンコーダと同様に許容可能オプションからなる集合を割り出すことによって選択を
復号する。デコーダは、許容可能オプションからなる集合を割り出すことによって符号語
を読み取り、エンコーダによって行われた選択を割り出すことができる。
【0055】
ステップ113では、デコーダがブロック復号を行う。具体的に述べると、デコーダは逆
変換を用いて残差ブロックを生成する。その後、デコーダは残差ブロックと対応する予測
ブロックを使用し、パーティショニングに基づいて画像ブロックを復元する。予測ブロッ
クは、ステップ105においてエンコーダで生成されたイントラ予測ブロックとインター予
測ブロックの両方を含み得る。その後、復元された画像ブロックは、ステップ111で判断
されたパーティショニングデータに基づいて復元されたビデオ信号のフレームの中に配置
される。ステップ113のシンタックスも上述したエントロピー符号化によりビットストリ
ームで伝達されてよい。
【0056】
ステップ115では、エンコーダにおけるステップ107と同様に復元されたビデオ信号のフ
レームに対してフィルタリングが行われる。ブロッキングアーチファクトを除去するため
、例えばノイズ抑制フィルタ、デブロッキングフィルタ、適応型ループフィルタ、および
SAOフィルタをフレームに適用できる。フレームがフィルタされたら、ステップ117でビデ
オ信号をエンドユーザーによる閲覧のためディスプレイへ出力できる。
【0057】
図2は、ビデオ符号化のための例示的な符号化および復号(コーデック)システム200の
概略図である。具体的に述べると、コーデックシステム200は動作方法100の実施をサポー
トする機能を提供する。エンコーダとデコーダの両方で使われるコンポーネントを示すた
めに、コーデックシステム200は概括されている。コーデックシステム200は動作方法100
のステップ101および103に関して述べたようにビデオ信号を受け取り、これをパーティシ
ョニングし、その結果、パーティショニングされたビデオ信号201が得られる。コーデッ
クシステム200はその後、方法100のステップ105、107、および109に関して述べたように
エンコーダとして機能する場合に、パーティショニングされたビデオ信号201を符号化さ
れたビットストリームへと圧縮する。コーデックシステム200は、デコーダとして機能す
る場合に、動作方法100のステップ111、113、115、および117に関して述べたように、ビ
ットストリームから出力ビデオ信号を生成する。コーデックシステム200は、一般コーダ
制御コンポーネント211、変換スケーリング量子化コンポーネント213、イントラピクチャ
推定コンポーネント215、イントラピクチャ予測コンポーネント217、動き補償コンポーネ
ント219、動き推定コンポーネント221、スケーリング逆変換コンポーネント229、フィル
タ制御解析コンポーネント227、インループフィルタコンポーネント225、復号ピクチャバ
ッファコンポーネント223、およびヘッダフォーマッティング・コンテキスト適応型バイ
ナリ算術符号化(CABAC)コンポーネント231を含む。かかるコンポーネントは図示のよう
に結合されている。
図2で、黒い線はエンコード/復号されるデータの動きを示しており
、破線は他のコンポーネントの動作を制御する制御データの動きを示している。コーデッ
クシステム200のコンポーネントはいずれもエンコーダ内に存在してよい。デコーダはコ
ーデックシステム200のコンポーネントの部分集合を含んでよい。例えば、デコーダは、
イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、スケーリング逆
変換コンポーネント229、インループフィルタコンポーネント225、および復号ピクチャバ
ッファコンポーネント223を含んでよい。以下、こ
れらのコンポーネントを説明する。
【0058】
パーティショニングされたビデオ信号201は、コーディングツリーによって画素のブロ
ックへとパーティショニングされたキャプチャされたビデオシーケンスである。コーディ
ングツリーは様々なスプリットモードを用いて画素のブロックをより小さい画素のブロッ
クへ細分する。その後、これらのブロックはより小さいブロックにさらに細分されうる。
ブロックはコーディングツリー上のノードと呼ばれることがある。より大きい親ノードは
より小さい子ノードへスプリットされる。ノードが細分される回数はノード/コーディン
グツリーの深度と呼ばれる。分割されたブロックは、場合によってはコーティングユニッ
ト(CU)に含まれる可能性がある。例えば、CUは、対応するCUのシンタックス命令ととも
に、ルマブロック、(1つまたは複数の)赤差クロマ(Cr)ブロック、および(1つまたは
複数の)青差クロマ(Cb)ブロックを含む、CTUのサブ部分であってもよい。スプリット
モードは、バイナリツリー(BT)、トリプルツリー(TT)、およびクアドツリー(QT)を
含み、これらのモードは、使用するスプリットモードに応じて形が異なる2つ、3つ、また
は4つの子ノードにノードをパーティショニングするために使われる。パーティショニン
グされたビデオ信号201は、圧縮のため、一般コーダ制御コンポーネント211、変換スケー
リング量子化コンポーネント213、イントラピクチャ推定コンポーネント215、フィルタ制
御解析コンポーネント227、および動き推定コンポーネント221へ転送される。
【0059】
一般コーダ制御コンポーネント211は、用途の制約条件に応じてビデオシーケンスの画
像をビットストリームへと符号化することに関係する決定を下すように構成される。例え
ば、一般コーダ制御コンポーネント211はビットレート/ビットストリームサイズと復元
品質との最適化を管理する。そのような決定は、使用できるストレージ空間/帯域幅と画
像の解像度要求に基づいて下されうる。一般コーダ制御コンポーネント211はまた、バッ
ファのアンダーラン問題とオーバーラン問題を軽減するため、伝送速度を踏まえてバッフ
ァの使用状況を管理する。これらの問題を管理するため、一般コーダ制御コンポーネント
211は、他のコンポーネントによるパーティショニングと予測とフィルタリングを管理す
る。例えば、一般コーダ制御コンポーネント211は、解像度を上げて帯域幅使用を増大さ
せるために圧縮の複雑度を動的に増大させてもよく、あるいは解像度と帯域幅使用を低下
させるために圧縮の複雑度を低下させてもよい。それ故、一般コーダ制御コンポーネント
211はコーデックシステム200の他のコンポーネントを制御することで、ビデオ信号の復元
品質とビットレート問題のバランスをとる。一般コーダ制御コンポーネント211は、他の
コンポーネントの動作を制御する制御データを生成する。制御データははまた、デコーダ
での復号のためのパラメータをシグナリングするためにビットストリームにエンコードさ
れるべく、ヘッダフォーマッティングCABACコンポーネント231へ転送される。
【0060】
パーティショニングされたビデオ信号201は、インター予測のため、動き推定コンポー
ネント221と動き補償コンポーネント219にも送信される。パーティショニングされたビデ
オ信号201のフレームまたはスライスは複数のビデオブロックに分割されうる。動き推定
コンポーネント221と動き補償コンポーネント219は、時間予測を提供するため、1つ以上
の参照フレーム内の1つ以上のブロックを基準にして受信したビデオブロックのインター
予測符号化を行う。コーデックシステム200は、例えばビデオデータのブロックごとに適
切な符号化モードを選択するために、複数の符号化工程を行うことができる。
【0061】
動き推定コンポーネント221と動き補償コンポーネント219は高度に一体化されてもよい
が、概念的な目的のため別々に示されている。動き推定コンポーネント221によって行わ
れる動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスであ
る。動きベクトルは、例えば、予測ブロックに対する符号化された物体の移動を示すこと
ができる。予測ブロックとは、画素差の観点から、符号化されるブロックによく一致する
ことが分かっているブロックである。予測ブロックは参照ブロックとも称されてよい。か
かる画素差は、絶対差の和(SAD)、二乗差の和(SSD)、またはその他の差指標によって
割り出すことができる。HEVCは、CTU、コーディングツリーブロック(CTB)、およびCUを
含むいくつかの符号化された物体を使用する。例えば、CTUはCTBに分割でき、その後CTB
は、CUに含めるためにCBに分割することができる。CUは、予測データを含む予測ユニット
として、および/またはCUの変換された残差データを含む変換ユニット(TU)として、エ
ンコードできる。動き推定コンポーネント221は、レート歪み最適化プロセスの一部とし
てレート歪み解析を用いることによって動きベクトル、予測ユニット、およびTUを生成す
る。例えば、動き推定コンポーネント221は、現在ブロック/フレームについて複数の参
照ブロック、複数の動きベクトルなどを割り出すことができ、最良のレート歪み特性を有
する参照ブロック、動きベクトルなどを選択できる。最良のレート歪み特性とは、ビデオ
復元の質(例えば、圧縮によるデータ損失量)と符号化効率(例えば、最終的なエンコー
ディングのサイズ)とのバランスをとるものである。
【0062】
いくつかの例において、コーデックシステム200は、復号ピクチャバッファコンポーネ
ント223に記憶された参照ピクチャのサブ整数画素位置の値を計算できる。例えば、ビデ
オコーデックシステム200は、参照ピクチャの4分の1画素位置、8分の1画素位置、または
その他の分数画素位置の値を補間できる。したがって、動き推定コンポーネント221はフ
ル画素位置と分数画素位置を基準にして動き探索を行い、分数画素精度の動きベクトルを
出力できる。動き推定コンポーネント221は、予測ユニットの位置を参照ピクチャの予測
ブロックの位置に比較することによって、インターコーディングされたスライス内のビデ
オブロックの予測ユニットについて動きベクトルを計算する。動き推定コンポーネント22
1は、計算した動きベクトルを動きデータとしてヘッダフォーマッティングCABACコンポー
ネント231にエンコーディングのため出力し、動き補償コンポーネント219に動きを出力す
る。
【0063】
動き補償コンポーネント219によって行われる動き補償では、動き推定コンポーネント2
21によって割り出された動きベクトルに基づいて予測ブロックを取得または生成できる。
繰り返しになるが、いくつかの例において、動き推定コンポーネント221と動き補償コン
ポーネント219は機能的に一体化されてもよい。現在ビデオブロックの予測ユニットの動
きベクトルを受け取った動き補償コンポーネント219は、動きベクトルが指し示す予測ブ
ロックの位置を特定できる。その後、符号化される現在ビデオブロックの画素値から予測
ブロックの画素値を引いて画素差の値を形成することによって、残差ビデオブロックが形
成される。通常、動き推定コンポーネント221はルマ成分について動き推定を行い、動き
補償コンポーネント219はルマ成分に基づいて計算された動きベクトルをクロマ成分とル
マ成分の両方に使用する。予測ブロックと残差ブロックは変換スケーリング量子化コンポ
ーネント213へ転送される。
【0064】
パーティショニングされたビデオ信号201はイントラピクチャ推定コンポーネント215と
イントラピクチャ予測コンポーネント217にも送信される。動き推定コンポーネント221お
よび動き補償コンポーネント219と同様、イントラピクチャ推定コンポーネント215とイン
トラピクチャ予測コンポーネント217も高度に一体化されてよいが、概念的な目的のため
別々に示されている。イントラピクチャ推定コンポーネント215とイントラピクチャ予測
コンポーネント217は、上述したように、動き推定コンポーネント221と動き補償コンポー
ネント219によってフレームからフレームにかけて行われるインター予測の代わりに、現
在フレーム内のブロックを基準にして現在ブロックをイントラ予測する。具体的に述べる
と、イントラピクチャ推定コンポーネント215は現在ブロックをエンコードするために使
うイントラ予測モードを決定する。いくつかの例において、イントラピクチャ推定コンポ
ーネント215は複数の実証済みイントラ予測モードから現在ブロックをエンコードする適
切なイントラ予測モードを選択する。その後、選択されたイントラ予測モードはエンコー
ディングのためヘッダフォーマッティングCABACコンポーネント231へ転送される。
【0065】
例えば、イントラピクチャ推定コンポーネント215は様々な実証済みイントラ予測モー
ドについてレート歪み解析を用いてレート歪み値を計算し、実証済みモードの中から最良
のレート歪み特性を有するイントラ予測モードを選択する。レート歪み解析は通常、エン
コードされたブロックと、エンコードされたブロックを生成するためにエンコードされた
元のエンコードされていないブロックとの歪み(または誤差)の量と、エンコードされた
ブロックの生成に使われたビットレート(例えばビット数)を割り出す。イントラピクチ
ャ推定コンポーネント215は様々なエンコードされたブロックの歪みとレートから比率を
計算することで、ブロックで最良のレート歪み値を示すイントラ予測モードがどれかを判
断する。加えて、イントラピクチャ推定コンポーネント215は、レート歪み最適化(RDO)
に基づくデプスモデリングモード(DMM)を使ってデプスマップのデプスブロックを符号
化するように構成されてよい。
【0066】
イントラピクチャ予測コンポーネント217は、エンコーダ上で実装される場合は、イン
トラピクチャ推定コンポーネント215によって決定された選択済みのイントラ予測モード
に基づいて予測ブロックから残差ブロックを生成でき、あるいはデコーダ上で実装される
場合は、ビットストリームから残差ブロックを読み取る。残差ブロックは、行列として表
現される、予測ブロックと元のブロックとの値の差を含む。その後、残差ブロックは変換
スケーリング量子化コンポーネント213へ転送される。イントラピクチャ推定コンポーネ
ント215とイントラピクチャ予測コンポーネント217はルマ成分とクロマ成分の両方に作用
できる。
【0067】
変換スケーリング量子化コンポーネント213は、残差ブロックをさらに圧縮するように
構成される。変換スケーリング量子化コンポーネント213は、離散コサイン変換(DCT)、
離散サイン変換(DST)、または概念的に類似する変換などの変換を残差ブロックに適用
し、残差変換係数値を含むビデオブロックを生成する。ウェーブレット変換、整数変換、
サブバンド変換、または他種変換を用いることもできる。変換は、画素値領域から周波数
領域などの変換領域に残差情報を変換できる。変換スケーリング量子化コンポーネント21
3はまた、例えば周波数に基づいて、変換された残差情報をスケールするように構成され
る。かかるスケーリングでは残差情報にスケール率を適用し、これにより様々な周波数情
報が様々な粒度で量子化され、これにより、復元されたビデオの最終的な視覚的品質が左
右され得る。変換スケーリング量子化コンポーネント213はまた、ビットレートをさらに
低減するため、変換係数を量子化するように構成される。量子化プロセスは係数の一部ま
たは全部に関連するビット深度を減らすことができる。量子化の度合いは量子化パラメー
タを調節することによって変更できる。いくつかの例において、変換スケーリング量子化
コンポーネント213はその後、量子化された変換係数を含む行列のスキャンを行うことが
できる。量子化された変換係数は、ビットストリームの中にエンコードされるべく、ヘッ
ダフォーマッティングCABACコンポーネント231へ転送される。
【0068】
スケーリング逆変換コンポーネント229は、動き推定をサポートするため、変換スケー
リング量子化コンポーネント213の逆の操作を適用する。スケーリング逆変換コンポーネ
ント229は、逆スケーリング、変換、および/または量子化を適用することで、例えば、
別の現在ブロックの予測ブロックになり得る参照ブロックとして後ほど使用するため、残
差ブロックを画素領域で復元する。動き推定コンポーネント221および/または動き補償
コンポーネント219は、残差ブロックを、後のブロック/フレームの動き推定で使用する
対応する予測ブロックに加えることによって、参照ブロックを計算できる。スケーリング
と量子化と変換のときに生じるアーチファクトを軽減するため、復元された参照ブロック
にはフィルタが適用される。さもないと、後続のブロックが予測されるときに、そのよう
なアーチファクトによって予測が不正確になる(また、さらなるアーチファクトが生じる
)可能性がある。
【0069】
フィルタ制御解析コンポーネント227とインループフィルタコンポーネント225は、残差
ブロックに、および/または復元された画像ブロックに、フィルタを適用する。例えば、
元の画像ブロックを復元するため、スケーリング逆変換コンポーネント229からの変換済
み残差ブロックを、イントラピクチャ予測コンポーネント217および/または動き補償コ
ンポーネント219からの対応する予測ブロックに組み合わせることができる。その後、復
元された画像ブロックにフィルタを適用できる。いくつかの例において、フィルタは、代
わりに、残差ブロックに適用できる。
図2の他のコンポーネントと同様、フィルタ制御解
析コンポーネント227とインループフィルタコンポーネント225は高度に一体化されて共に
実行されてもよいが、概念的な目的のため別々に描かれている。復元された参照ブロック
に適用されるフィルタは特定の空間領域に適用され、かかるフィルタがどのように適用さ
れるかを調整する複数のパラメータを含む。フィルタ制御解析コンポーネント227は復元
された参照ブロックを解析することで、かかるフィルタが適用されるべき状況を判断し、
該当するパラメータを設定する。かかるデータは、エンコーディングのため、フィルタ制
御データとしてヘッダフォーマッティングCABACコンポーネント231へ転送される。インル
ープフィルタコンポーネント225はフィルタ制御データに基づいてかかるフィルタを適用
する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、およ
び適応型ループフィルタを含み得る。かかるフィルタは、例に応じて空間/画素領域(例
えば、復元された画素ブロック上)で、または周波数領域で、適用されてよい。
【0070】
エンコーダとして作動する場合、フィルタされた復元済み画像ブロック、残差ブロック
、および/または予測ブロックは、上述した動き推定で後ほど使用するため復号ピクチャ
バッファコンポーネント223に記憶される。デコーダとして作動する場合、復号ピクチャ
バッファコンポーネント223は復元されフィルタされたブロックを記憶し、出力ビデオ信
号の一部としてディスプレイへ転送する。復号ピクチャバッファコンポーネント223は、
予測ブロック、残差ブロック、および/または復元済み画像ブロックを記憶できる何らか
のメモリ装置であってよい。
【0071】
ヘッダフォーマッティングCABACコンポーネント231はコーデックシステム200の様々な
コンポーネントからデータを受信し、かかるデータをデコーダへ伝送するため符号化され
たビットストリームの中にエンコードする。具体的に述べると、ヘッダフォーマッティン
グCABACコンポーネント231は、一般制御データやフィルタ制御データなどの制御データを
エンコードするため、様々なヘッダを生成する。さらに、イントラ予測および動きデータ
を含む予測データ、ならびに量子化された変換係数データの形をとる残差データは、いず
れもビットストリームの中にエンコードされる。最終的なビットストリームは、デコーダ
が元のパーティショニングされたビデオ信号201を復元するにあたって必要となる全情報
を含んでいる。かかる情報は、イントラ予測モードインデックステーブル(符号語マッピ
ングテーブルとも呼ばれる)、様々なブロックのエンコーディングコンテキストの定義、
最も可能性の高いイントラ予測モードの指示、パーティション情報の指示なども含み得る
。かかるデータは、エントロピー符号化を使用してエンコードされ得る。例えば、情報は
、コンテキスト適応型可変長符号化(CAVLC)、CABAC、シンタックス方式コンテキスト適
応型バイナリ算術符号化(SBAC)、確率区間パーティショニングエントロピー(PIPE)符
号化、または他のエントロピー符号化技法を用いてエンコードできる。エントロピー符号
化の後には、符号化されたビットストリームを別の装置(例えばビデオデコーダ)へ伝送
でき、あるいは後ほど伝送したり取り出したりするため記憶できる。
【0072】
図3は、例示的なビデオエンコーダ300を示すブロック図である。ビデオエンコーダ300
は、コーデックシステム200のエンコーディング機能を実施するため、および/または動
作方法100のステップ101、103、105、107、および/または109を実施するために使われて
よい。エンコーダ300は入力ビデオ信号をパーティショニングし、その結果として得られ
るパーティショニングされたビデオ信号301はパーティショニングされたビデオ信号201と
実質的に同様である。その後、パーティショニングされたビデオ信号301はエンコーダ300
のコンポーネントによって圧縮され、ビットストリームにエンコードされる。
【0073】
具体的に述べると、パーティショニングされたビデオ信号301はイントラ予測のためイ
ントラピクチャ予測コンポーネント317へ転送される。イントラピクチャ予測コンポーネ
ント317はイントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポー
ネント217と実質的に同様であってよい。パーティショニングされたビデオ信号301は、復
号ピクチャバッファコンポーネント323内の参照ブロックに基づくインター予測のため、
動き補償コンポーネント321にも転送される。動き補償コンポーネント321は動き推定コン
ポーネント221および動き補償コンポーネント219と実質的に同様であってよい。イントラ
ピクチャ予測コンポーネント317と動き補償コンポーネント321からの予測ブロックと残差
ブロックは、残差ブロックの変換と量子化のため、変換量子化コンポーネント313へ転送
される。変換量子化コンポーネント313は変換スケーリング量子化コンポーネント213と実
質的に同様であってよい。変換され量子化された残差ブロックと対応する予測ブロックは
(関連制御データとともに)、ビットストリームへの符号化のため、エントロピー符号化
コンポーネント331へ転送される。エントロピー符号化コンポーネント331はヘッダフォー
マッティングCABACコンポーネント231と実質的に同様であってよい。
【0074】
変換され量子化された残差ブロックおよび/または対応する予測ブロックは、動き補償
コンポーネント321によって使用される参照ブロックへの復元のため、変換量子化コンポ
ーネント313から逆変換量子化コンポーネント329にも転送される。逆変換量子化コンポー
ネント329はスケーリング逆変換コンポーネント229と実質的に同様であってよい。例によ
っては、残差ブロックおよび/または復元された参照ブロックにインループフィルタコン
ポーネント325内のインループフィルタも適用される。インループフィルタコンポーネン
ト325はフィルタ制御解析コンポーネント227およびインループフィルタコンポーネント22
5と実質的に同様であってよい。インループフィルタコンポーネント325はインループフィ
ルタコンポーネント225に関して述べた複数のフィルタを含んでよい。フィルタされたブ
ロックはその後、動き補償コンポーネント321によって参照ブロックとして使用されるた
め、復号ピクチャバッファコンポーネント323に記憶される。復号ピクチャバッファコン
ポーネント323は復号ピクチャバッファコンポーネント223と実質的に同様であってよい。
【0075】
図4は、例示的なビデオデコーダ400を示すブロック図である。ビデオデコーダ400は、
コーデックシステム200の復号機能を実施するため、および/または動作方法100のステッ
プ111、113、115、および/または117を実施するために使われてよい。デコーダ400は、
例えばエンコーダ300から、ビットストリームを受信し、エンドユーザー向けの表示のた
め、ビットストリームに基づいて復元された出力ビデオ信号を生成する。
【0076】
ビットストリームはエントロピー復号コンポーネント433によって受信される。エント
ロピー復号コンポーネント433は、CAVLC、CABAC、SBAC、PIPE符号化、またはその他のエ
ントロピー符号化技法など、エントロピー復号方式を実施するように構成される。例えば
、エントロピー復号コンポーネント433はヘッダ情報を使用して、ビットストリームで符
号語としてエンコードされる追加データを解釈するためのコンテキストを提供できる。復
号された情報は、一般制御データ、フィルタ制御データ、パーティション情報、動きデー
タ、予測データ、残差ブロックからの量子化された変換係数など、ビデオ信号の復号にあ
たって望ましい情報を含む。量子化された変換係数は残差ブロックへの復元のため逆変換
量子化コンポーネント429へ転送される。逆変換量子化コンポーネント429は逆変換量子化
コンポーネント329と同様であってよい。
【0077】
復元された残差ブロックおよび/または予測ブロックは、イントラ予測操作に基づく画
像ブロックへの復元のためイントラピクチャ予測コンポーネント417へ転送される。イン
トラピクチャ予測コンポーネント417はイントラピクチャ推定コンポーネント215およびイ
ントラピクチャ予測コンポーネント217と同様であってよい。具体的に述べると、イント
ラピクチャ予測コンポーネント417は予測モードを使ってフレーム内で参照ブロックの位
置を特定し、その結果に残差ブロックを適用してイントラ予測された画像ブロックを復元
する。復元されたイントラ予測済み画像ブロックおよび/または残差ブロックと対応する
インター予測データは、インループフィルタコンポーネント425を経由して復号ピクチャ
バッファコンポーネント423へ転送され、これらのコンポーネントはそれぞれ復号ピクチ
ャバッファコンポーネント223およびインループフィルタコンポーネント225と実質的に同
様であってよい。インループフィルタコンポーネント425は復元済みの画像ブロック、残
差ブロック、および/または予測ブロックをフィルタし、かかる情報は復号ピクチャバッ
ファコンポーネント423に記憶される。復号ピクチャバッファコンポーネント423からの復
元済み画像ブロックは、インター予測のために動き補償コンポーネント421へ転送される
。動き補償コンポーネント421は動き推定コンポーネント221および/または動き補償コン
ポーネント219と実質的に同様であってよい。具体的に述べると、動き補償コンポーネン
ト421は参照ブロックからの動きベクトルを使って予測ブロックを生成し、その結果に残
差ブロックを適用して画像ブロックを復元する。そうして得られた復元済みブロックはま
た、インループフィルタコンポーネント425を経由して復号ピクチャバッファコンポーネ
ント423へ転送されてもよい。復号ピクチャバッファコンポーネント423はさらなる復元済
み画像ブロックを引き続き記憶し、これらの復元済み画像ブロックはパーティション情報
によってフレームに復元できる。かかるフレームはシーケンスにも並べられてもよい。こ
のシーケンスは復元された出力ビデオ信号としてディスプレイへ出力される。
【0078】
図5は、例示的なHRD 500を示す概略図である。HRD 500は、コーデックシステム200およ
び/またはエンコーダ300などのエンコーダで使用されてよい。HRD 500は、ビットストリ
ームがデコーダ400などのデコーダに転送される前に、方法100のステップ109で生成され
たビットストリームを検査し得る。いくつかの例において、ビットストリームがエンコー
ドされると、ビットストリームはHRD 500を介して継続的に転送され得る。ビットストリ
ームの一部が関連する制約条件に適合しない場合、HRD 500は、エンコーダがビットスト
リームの対応部分を別のメカニズムで再エンコードするように、このような異常をエンコ
ーダに示すことができる。
【0079】
HRD 500は、仮想ストリームスケジューラ(HSS)541を備える。HSS 541は、仮想配信メ
カニズムを実行するように構成されたコンポーネントである。仮想配信メカニズムは、HR
D 500に入力されるビットストリーム551のタイミングおよびデータフローに関して、ビッ
トストリームまたはデコーダの適合性を検査するために使用される。例えば、HSS 541は
、エンコーダから出力されたビットストリーム551を受信し、ビットストリーム551の適合
性テストのプロセスを管理し得る。個別の一例において、HSS 541は、コーディングされ
たピクチャがHRD 500を通過するレートを制御し、ビットストリーム551が不適合データを
含んでいないことを検証することができる。
【0080】
HSS 541は、CPB 543にビットストリーム551を所定のレートで転送し得る。HRD 500は、
復号ユニット(DU)553でデータを管理し得る。DU 553は、アクセスユニット(AU)また
はAUのサブセットであり、非ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイ
ヤ(NAL)ユニットに関連付けられる。具体的には、AUは、出力時間に関連付けられた1つ
以上のピクチャを含む。例えば、AUは、1つのレイヤビットストリーム内に1つのピクチャ
を含み、かつマルチレイヤビットストリーム内の各レイヤに対するピクチャを含み得る。
AUの各ピクチャは、それぞれが対応するVCL NALユニットに含まれるスライスに分割され
得る。それ故、DU 553は、1つ以上のピクチャ、1つ以上のピクチャのスライス、またはこ
れらの組み合わせを含み得る。また、AU、ピクチャ、および/またはスライスの復号に使
用されるパラメータは、非VCL NALユニットに含まれ得る。このように、DU 553は、DU 55
3内のVCL NALユニットの復号をサポートするのに必要なデータを含む、非VCL NALユニッ
トを含んでいる。CPB 543は、HRD 500の先入先出バッファである。CPB 543は、ビデオデ
ータを復号順に含むDU 553を含んでいる。CPB 543は、ビットストリーム適合性検証中に
使用するために、ビデオデータを記憶する。
【0081】
CPB 543は、DU 553を復号プロセスコンポーネント545に転送する。復号プロセスコンポ
ーネント545は、VVC規格に適合したコンポーネントである。例えば、復号プロセスコンポ
ーネント545は、エンドユーザーによって使用されるデコーダ400をエミュレートしてよい
。復号プロセスコンポーネント545は、例示的なエンドユーザーデコーダで達成できるレ
ートでDU 553を復号する。復号プロセスコンポーネント545が、CPB 543のオーバーフロー
を防止するほど充分な速さでDU 553を復号できない場合は、ビットストリーム551は規格
に適合しておらず、再エンコードが必要になる。
【0082】
復号プロセスコンポーネント545はDU 553を復号し、復号されたDU 555を生成する。復
号されたDU 555は、復号されたピクチャを含む。復号されたDU 555は、DPB 547に転送さ
れる。DPB 547は、復号ピクチャバッファコンポーネント223、323、および/または423と
実質的に同様であってよい。インター予測をサポートする目的で、復号されたDU 555から
取得された、参照ピクチャ556として使用するためにマーキングされたピクチャは、さら
なる復号をサポートするために、復号プロセスコンポーネント545に戻される。DPB 547は
、復号されたビデオシーケンスを一連のピクチャ557として出力する。ピクチャ557は、通
常はエンコーダによってビットストリーム551にエンコードされたピクチャを反映した、
復元されたピクチャである。
【0083】
ピクチャ557は、出力クロッピングコンポーネント549に転送される。出力クロッピング
コンポーネント549は、ピクチャ557に適合性クロッピングウィンドウを適用するように構
成される。これにより、出力クロッピング済みピクチャ559が得られる。出力クロッピン
グ済みピクチャ559は、完全に復元されたピクチャである。したがって、出力クロッピン
グ済みピクチャ559は、ビットストリーム551を復号したときにエンドユーザーが見ること
になるものを模倣している。このようにエンコーダは、エンコードが良好なことを確認す
るために、出力クロッピング済みピクチャ559を検討することができる。
【0084】
HRD 500は、ビットストリーム551内のHRDパラメータに基づいて初期化される。例えば
、HRD 500は、VPS、SPS、および/またはSEIメッセージからHRDパラメータを読み出し得
る。HRD 500は、次に、かかるHRDパラメータ内の情報に基づいて、ビットストリーム551
で適合性テスト動作を行い得る。具体的な例として、HRD 500は、HRDパラメータから1つ
以上のCPB送達スケジュールを決定してよい。送達スケジュールは、ビデオデータをCPBお
よび/またはDPBなどのメモリ位置から/メモリ位置へ送達するタイミングを指定する。
それ故、CPB送達スケジュールは、AU、DU 553、および/またはピクチャを、CPB 543へ/
CPB 543から送達するタイミングを指定する。HRD 500は、DPB 547に対してDPB送達スケジ
ュールを使用してよく、これはCPB送達スケジュールと同様であることに留意されたい。
【0085】
ビデオは、様々なハードウェア能力を有するデコーダで使用するために、また、様々な
ネットワーク条件に対応するために、異なったレイヤおよび/またはOLSに符号化され得
る。CPB送達スケジュールは、このような問題を考慮して選択される。したがって、最適
なハードウェアおよびネットワーク条件のために上位レイヤのサブビットストリームが指
定され、それ故、上位レイヤは1つ以上のCPB送達スケジュールを受信する場合があり、CP
B 543で使用するメモリの量は多く、DU 553をDPB 547に移送する際の遅延は小さくなる。
同様に、デコーダハードウェア能力に制限がありかつ/またはネットワーク条件が悪い場
合は、下位レイヤのサブビットストリームが指定される。それ故、下位レイヤは1つ以上
のCPB送達スケジュールを受信する場合があり、CPB 543で使用するメモリの量は少なく、
DU 553をDPB 547に移送する際の遅延は大きくなる。次に、サブビットストリームに予想
される条件下で、結果として生じたサブビットストリームが正しく復号され得ることを確
実にするために、OLS、レイヤ、サブレイヤ、またはこれらの組み合わせが、対応する送
達スケジュールに従ってテストされ得る。したがって、ビットストリーム551のHRDパラメ
ータは、CPB送達スケジュールを示すと同時に、HRD 500がCPB送達スケジュールを決定で
き、かつCPB送達スケジュールを対応するOLS、レイヤ、および/またはサブレイヤと相関
させられるような十分なデータを含むことができる。
【0086】
図6は、例示的なマルチレイヤビデオシーケンス600を示す概略図である。マルチレイヤ
ビデオシーケンス600は、例えば方法100に従って、コーデックシステム200および/また
はエンコーダ300などのエンコーダでエンコードされ、コーデックシステム200および/ま
たはデコーダ400などのデコーダで復号され得る。さらに、マルチレイヤビデオシーケン
ス600は、HRD 500などのHRDによって、規格適合性について検査され得る。マルチレイヤ
ビデオシーケンス600は、コーディングされたビデオシーケンスにおけるレイヤの例示的
な適用を表すために含まれている。マルチレイヤビデオシーケンス600は、レイヤN 631お
よびレイヤN+1 632といった複数のレイヤを用いる任意のビデオシーケンスである。
【0087】
一例では、マルチレイヤビデオシーケンス600は、レイヤ間予測621を用い得る。レイヤ
間予測621は、ピクチャ611、612、613、および614間、ならびに異なったレイヤのピクチ
ャ615、616、617、および618間に適用される。図示されている例では、ピクチャ611、612
、613、および614はレイヤN+1 632の一部であり、ピクチャ615、616、617、および618は
レイヤN 631 の一部である。レイヤN 631および/またはレイヤN+1 632などのレイヤは
、そのすべてが同様のサイズ、品質、解像度、信号対雑音比、能力といった同様の特性値
に関連付けられたピクチャのグループである。レイヤは、同じレイヤIDおよび関連付けら
れた非VCL NALユニットを共有する1組のVCL NALユニットとして正式に定義され得る。VCL
NALユニットは、ピクチャのコーディングされたスライスといったビデオデータを含むよ
うにコーディングされたNALユニットである。非VCL NALユニットは、ビデオデータの復号
、適合性検査を行うことその他の動作をサポートするシンタックスおよび/またはパラメ
ータといった非ビデオデータを含むNALユニットである。
【0088】
図示されている例では、レイヤN+1 632は、レイヤN 631よりも大きい画像サイズに関
連付けられている。したがって、この例では、レイヤN+1 632のピクチャ611、612、613
、および614は、レイヤN 631のピクチャ615、616、617、および618よりも大きいピクチャ
サイズ(例えば、高さおよび幅が大きく、それ故サンプル数が多い)を有する。しかしな
がら、かかるピクチャは、他の特性によってレイヤN+1 632とレイヤN 631とに分けられ
得る。レイヤN+1 632およびレイヤN 631の2つのレイヤのみが図示されているが、一連の
ピクチャは、関連付けられた特性に基づいて、任意の数のレイヤに分けられることができ
る。レイヤN+1 632およびレイヤN 631は、レイヤIDによっても表される。レイヤIDは、
ピクチャに関連付けられるデータの項目であり、ピクチャが示されたレイヤの一部である
ことを表す。したがって、どのレイヤN+1 632またはレイヤN 631が対応するピクチャを
含むかを示すために、各ピクチャ611~618は対応するレイヤIDに関連付けられ得る。例え
ば、レイヤIDは、NALユニットヘッダレイヤ識別子(nuh_layer_id)を含む場合があり
、これは、NALユニットを含むレイヤ(例えば、レイヤ内にスライスおよび/またはピク
チャのパラメータを含む)の識別子を指定するシンタックス要素である。レイヤN 631の
ように、低品質/小さい画像サイズ/小さいビットストリームサイズに関連付けられたレ
イヤは、通常は下位のレイヤIDが割り当てられ、下位レイヤと称される。さらに、レイヤ
N+1 632のように、高品質/大きい画像サイズ/大きいビットストリームサイズに関連付
けられたレイヤは、通常は上位のレイヤIDが割り当てられ、上位レイヤと称される。
【0089】
異なったレイヤ631~632内のピクチャ611~618は、選択的に表示されるように構成され
る。具体例として、小さいピクチャが望ましい場合は、デコーダは現在表示時刻において
ピクチャ615を復号して表示してよく、あるいは、大きいピクチャが望ましい場合は、デ
コーダは現在表示時刻においてピクチャ611を復号して表示してもよい。このように、上
位レイヤN+1 632にあるピクチャ611~614は、(ピクチャサイズの違いにかかわらず)下
位レイヤN 631にある対応するピクチャ615~618と実質的に同じ画像データを含む。具体
的には、例えば、ピクチャ611はピクチャ615と実質的に同じ画像データを含み、ピクチャ
612はピクチャ616と実質的に同じ画像データを含む。
【0090】
ピクチャ611~618は、同じレイヤN 631またはN+1 632内の他のピクチャ611~618を参
照してコーディングされ得る。同じレイヤ内の別のピクチャを参照してピクチャをコーデ
ィングすることは、結果的にインター予測623になる。インター予測623は、実線の矢印で
示されている。例えば、ピクチャ613は、レイヤN+1 632内のピクチャ611、612、および
/または614のうちの1つまたは2つを参照として使用するインター予測623を用いてコーデ
ィングされてよく、一方向インター予測のために1つのピクチャが参照され、かつ/また
は双方向インター予測のために2つのピクチャが参照される。さらに、ピクチャ617は、レ
イヤN 631内のピクチャ615、616、および/または618のうちの1つまたは2つを参照として
使用するインター予測623を用いてコーディングされてよく、一方向インター予測のため
に1つのピクチャが参照され、かつ/または双方向インター予測のために2つのピクチャが
参照される。インター予測623を行う場合、ピクチャが同じレイヤ内の別のピクチャの参
照用として使用されるとき、そのピクチャは参照ピクチャと呼ばれうる。例えば、ピクチ
ャ612は、インター予測623に従ってピクチャ613をコーディングするのに使用される参照
ピクチャになり得る。インター予測623は、マルチレイヤのコンテキストにおいてイント
ラレイヤ予測と呼ばれてもよい。このように、インター予測623は、現在ピクチャとは異
なる参照ピクチャ内で示されたサンプルを参照することによって、現在ピクチャのサンプ
ルをコーディングするメカニズムであり、参照ピクチャと現在ピクチャとは同じレイヤ内
にある。
【0091】
ピクチャ611~618はまた、異なったレイヤ内の他のピクチャ611~618を参照してコーデ
ィングされ得る。このプロセスはレイヤ間予測621として知られており、破線の矢印で表
されている。レイヤ間予測621は、参照ピクチャ内で示されたサンプルを参照することに
よって、現在ピクチャのサンプルをコーディングするメカニズムであり、現在ピクチャと
参照ピクチャとは異なったレイヤ内にあり、それ故、異なったレイヤIDを有する。例えば
、下位レイヤN 631内のピクチャは、上位レイヤN+1 632における対応するピクチャを符
号化するために、参照ピクチャとして使用され得る。具体例として、ピクチャ611は、レ
イヤ間予測621に従って、ピクチャ615を参照してコーディングされ得る。このような場合
、ピクチャ615はレイヤ間参照ピクチャとして使用される。レイヤ間参照ピクチャは、レ
イヤ間予測621に使用される参照ピクチャである。ほとんどの場合、レイヤ間予測621は、
ピクチャ611といった現在ピクチャが、同じAU 627に含まれかつ下位レイヤにあるピクチ
ャ615といった(1つまたは複数の)レイヤ間参照ピクチャのみを使用できるように制限さ
れる。複数の(例えば、2つより多い)レイヤが利用可能なときは、レイヤ間予測621は、
現在ピクチャより下位にある(1つまたは複数の)複数レイヤ間参照ピクチャに基づいて
、現在ピクチャをエンコード/復号することができる。
【0092】
ビデオエンコーダは、インター予測623とレイヤ間予測621との多くの別の組み合わせお
よび/または置換を介してピクチャ611~618をエンコードするために、マルチレイヤビデ
オシーケンス600を使用することができる。例えば、ピクチャ615は、イントラ予測に従っ
てコーディングされ得る。次に、ピクチャ616~618が、ピクチャ615を参照ピクチャとし
て使用して、インター予測623に従ってコーディングされ得る。さらに、ピクチャ611は、
ピクチャ615をレイヤ間参照ピクチャとして使用して、レイヤ間予測621に従ってコーディ
ングされ得る。次に、ピクチャ612~614が、ピクチャ611を参照ピクチャとして使用して
、インター予測623に従ってコーディングされ得る。このように、参照ピクチャは、異な
ったコーディングメカニズムに対し、単一のレイヤ参照ピクチャ、およびレイヤ間参照ピ
クチャの両方の働きをすることができる。下位レイヤN 631に基づいて、上位レイヤN+1
632ピクチャをコーディングすることによって、上位レイヤN+1 632は、インター予測623
およびレイヤ間予測621よりコーディング効率がずっと低いイントラ予測を用いることを
回避することができる。このように、イントラ予測の符号化効率の悪さは最小/最低品質
のピクチャに限定され、それ故ビデオデータの最小量をコーディングすることに限定され
得る。参照ピクチャおよび/またはレイヤ間参照ピクチャとして使用されるピクチャは、
参照ピクチャリスト構造に含まれる(1つまたは複数の)参照ピクチャリストのエントリ
に示され得る。
【0093】
ピクチャ611~618は、アクセスユニット(AU)627にも含まれ得る。AU 627は、異なっ
たレイヤに含まれるコーディングされたピクチャのセットであり、復号中に同じ出力時間
に関連付けられる。したがって、同じAU 627内のコーディングされたピクチャは、デコー
ダにおいて同時にDPBから出力されるようにスケジュールされる。例えば、ピクチャ614と
618とは同じAU 627内にある。ピクチャ613および617は、ピクチャ614および618とは異な
るAU 627内にある。同じAU 627内のピクチャ614と618とは、選択的に表示されてよい。例
えば、小さいピクチャサイズが望ましいときはピクチャ618が表示されてよく、大きいピ
クチャサイズが望ましいときはピクチャ614が表示されてよい。大きいピクチャサイズが
望ましいときはピクチャ614が出力され、ピクチャ618はレイヤ間予測621にのみ使用され
る。この場合、ピクチャ618は、レイヤ間予測621が終了すると、出力されることなく破棄
される。
【0094】
AU 627は、1つ以上のピクチャユニット(PU)628にさらに分割され得る。PU 628は、1
つのコーディングされたピクチャを含むAU 627のサブセットである。PU 628は、指定した
分類ルールに従って互いに関連付けられ、復号順に連続し、厳密に1つのコーディングさ
れたピクチャを含む、NALユニットのセットとして正式に定義され得る。PU 628は、HRDお
よび/または関連付けられた適合性テストに関して述べられるときは、復号ユニット(DU
)と呼ばれる場合があることに留意されたい。
【0095】
ピクチャ611~618、そしてAU 627およびPU 628は、それぞれ時間識別子(TemporalId)
629に関連付けられることにも留意されたい。TemporalId 629は、ビデオシーケンス内のN
ALユニットの相対的な位置を示す導出された識別子である。同じAU 627内のピクチャおよ
び/またはPU 628は、TemporalId 629の同じ値に関連付けられる。例えば、シーケンス内
の第1のAU 627はゼロのTemporalId 629を含み、後続のAU 627は、連続的に増加するTempo
ralId 629を含み得る。非VCL NALユニットもまた、TemporalId 629と関連付けられ得る。
例えば、パラメータセットは、AU 627に含まれ、AU 627内の1つ以上のピクチャに関連付
けられてもよい。そのような場合、パラメータセットのTemporalId 629は、AU 627のTemp
oralId 629以下であってもよい。
【0096】
図7は、例示的なビットストリーム700を示す概略図である。例えば、ビットストリーム
700は、方法100に従って、コーデックシステム200および/またはデコーダ400による復号
のために、コーデックシステム200および/またはエンコーダ300によって生成されうる。
さらに、ビットストリーム700は、マルチレイヤビデオシーケンス600を含み得る。加えて
、ビットストリーム700は、HRD 500などのHRDの動作を制御するために、様々なパラメー
タを含み得る。かかるパラメータに基づき、HRDは、復号のためのデコーダに向けた送信
の前に、規格との適合性についてビットストリーム700を検証することができる。
【0097】
ビットストリーム700は、VPS 711と、1つ以上のSPS 713と、複数のピクチャパラメータ
セット(PPS)715と、複数の適応パラメータセット(APS)716と、複数のピクチャヘッダ
718と、複数のスライスヘッダ717と、画像データ720と、SEIメッセージ719とを含む。VPS
711は、ビットストリーム700全体に関するデータを含む。例えば、VPS 711は、ビットス
トリーム700内で使用されるOLS、レイヤ、および/またはサブレイヤに関するデータを含
み得る。SPS 713は、ビットストリーム700に含まれるコーディングされたビデオシーケン
ス内の全ピクチャに共通するシーケンスデータを含む。例えば、各レイヤは1つ以上のコ
ーディングされたビデオシーケンスを含み、各コーディングされたビデオシーケンスは、
対応するパラメータについてSPS 713を参照してよい。SPS 713内のパラメータは、ピクチ
ャのサイズ調整、ビット深度、コーディングツールパラメータ、ビットレート制限などを
含むことができる。各シーケンスがSPS 713を参照する際は、いくつかの例では、1つのSP
S 713が複数シーケンスについてのデータを含みうることに留意されたい。PPS 715は、ピ
クチャ全体に適用されるパラメータを含む。それ故、ビデオシーケンス内の各ピクチャは
、PPS 715を参照してよい。いくつかの例において、各ピクチャがPPS 715を参照する一方
で、単一のPPS 715が、複数のピクチャのデータを含みうることに留意されたい。例えば
、複数の同様のピクチャが、同様のパラメータに従ってコーディングされうる。このよう
な場合は、単一のPPS 715が、かかる同様のピクチャのデータを含み得る。PPS 715は、対
応するピクチャ内のスライスに使用できるコーディングツール、量子化パラメータ、オフ
セットなどを示すことができる。
【0098】
APS 716は、1つ以上のピクチャ725内の1つ以上のスライス727に適用されるシンタック
ス要素/パラメータを含むシンタックス構造である。このような相関関係は、スライス72
7に関連付けられたスライスヘッダ717で見出されたシンタックス要素に基づいて決定され
得る。例えば、APS 716は、第1のピクチャ721内の少なくとも1つの、ただしすべてではな
いスライス727、第2のピクチャ725内の少なくとも1つの、ただしすべてではないスライス
727などに適用され得る。APS 716は、APS 716に含まれているパラメータに基づいて、複
数のタイプに分割され得る。このようなタイプは、適応型ループフィルタ(ALF)APS、ク
ロマスケーリングによるルママッピング(LMCS)APS、およびスケーリングリスト(Scali
ng)APSを含み得る。ALFは、変数パラメータで制御される伝達関数を含み、伝達関数を精
緻化するためにフィードバックループからのフィードバックを用いる適応型ブロックに基
づくフィルタである。さらに、ALFは、ブロックに基づくコーディングの結果生じる、に
じみアーチファクトおよびリンギングアーチファクトなどのコーディングアーチファクト
(例えば、エラー)を補正するために使用される。このように、ALF APSに含まれるALFパ
ラメータは、デコーダでの復号中に、ブロックに基づくコーディングアーチファクトをAL
Fに除去させるように、エンコーダによって選択されたパラメータを含み得る。LMCSは、
ルマサンプルを特定の値にマッピングする復号プロセスの一部として適用され、場合によ
ってはクロマサンプルの値にスケーリング動作をさらに適用するプロセスである。LMCSツ
ールは、レート歪みを低減するために、対応するクロマ成分に対するマッピングに基づい
て、ルマ成分をリシェイプし得る。このように、LMCS APSは、LMCSツールにルマ成分をリ
シェイプさせるために、エンコーダによって選択されたパラメータを含む。スケーリング
リストAPSは、指定したフィルタによって使用される量子化マトリックスに関連付けられ
たコーディングツールパラメータを含む。このように、APS 716は、HRDにおける適合性テ
スト中に、かつ/またはデコーダでの復号中に、コーディングされたスライス727に様々
なフィルタを適用するために使用されるパラメータを含み得る。
【0099】
ピクチャヘッダ718は、コーディングされたピクチャ725の全スライス727に適用される
シンタックス要素を含むシンタックス構造である。例えば、ピクチャヘッダ718は、ピク
チャ順序カウント情報、参照ピクチャデータ、イントラランダムアクセスポイント(IRAP
)ピクチャに関するデータ、ピクチャ725に対するフィルタ適用などに関するデータなど
を含み得る。PUは、厳密に1つのピクチャヘッダ718、および厳密に1つのピクチャ725を含
み得る。このように、ビットストリーム700は、ピクチャ725ごとに厳密に1つのピクチャ
ヘッダ718を含み得る。スライスヘッダ717は、ピクチャ725内の各スライス727に固有のパ
ラメータを含む。それ故、ビデオシーケンスにおいて、スライス727ごとに1つのスライス
ヘッダ717があってよい。スライスヘッダ717は、スライス種別情報、フィルタリング情報
、予測重み付け、タイルエントリポイント、デブロッキングパラメータなどを含み得る。
場合によっては、シンタックス要素は、ピクチャ725内の全スライス727で同じであってよ
い。冗長性を低減するために、ピクチャヘッダ718およびスライスヘッダ717は、数種類の
情報を共有してもよい。例えば、ピクチャ725全体に適用するときは、いくつかのパラメ
ータ(例えば、フィルタリングパラメータ)がピクチャヘッダ718に含まれてもよく、あ
るいはピクチャ725全体のサブセットであるスライス727のグループに適用するときは、ス
ライスヘッダ717に含まれてもよい。
【0100】
画像データ720は、インター予測および/またはイントラ予測に従ってエンコードされ
たビデオデータ、ならびに対応する変換され量子化された残差データを含む。例えば、画
像データ720は、レイヤ723、ピクチャ725、および/またはスライス727を含み得る。レイ
ヤ723は、nuh_layer_idといったレイヤIDで示される通りに指定された特性(例えば、
共通の解像度、フレームレート、画像サイズなど)を共有するVCL NALユニット745、およ
び関連付けられた非VCL NALユニット741のセットである。例えば、レイヤ723は、同じnuh
_layer_idを共有するピクチャ725のセットを含み得る。レイヤ723は、レイヤ631および
/または632と実質的に同様であってもよい。nuh_layer_idは、少なくとも1つのNALユ
ニットを含むレイヤ723の識別子を指定するシンタックス要素である。例えば、ベースレ
イヤとして知られる最低の質のレイヤ723はnuh_layer_idの最低値を含んでよく、より
高い質のレイヤ723のnuh_layer_idの値は大きくなる。それ故、より下位のレイヤはnuh
_layer_idの値がより小さいレイヤ723であり、より上位のレイヤはnuh_layer_idの値
がより大きいレイヤ723になる。
【0101】
ピクチャ725は、フレームまたはそのフィールドを生成するルマサンプルの配列および
/またはクロマサンプルの配列である。例えば、ピクチャ725は、表示するために出力さ
れる、または出力するために(1つまたは複数の)他のピクチャ725の符号化をサポートす
るのに使用され得る、コーディングされた画像である。ピクチャ725は、1つ以上のスライ
ス727を含む。スライス727は、単一のNALユニットに排他的に含まれるピクチャ725の整数
個の完全なタイル、または(例えば、タイル内の)整数個の連続する完全なコーディング
ツリーユニット(CTU)行で定義され得る。スライス727は、CTUおよび/またはコーディ
ングツリーブロック(CTB)へとさらに分割される。CTUは、コーディングツリーによって
パーティショニングされうる所定のサイズの一群のサンプルである。CTBは、CTUのサブセ
ットであり、CTUのルマ成分またはクロマ成分を含む。CTU/CTBは、コーディングツリー
に基づいて、符号化ブロックへとさらに分割される。符号化ブロックは、次に、予測メカ
ニズムに従ってエンコード/復号されることができる。
【0102】
SEIメッセージ719は、復号されたピクチャ内のサンプルの値を決定するために、復号プ
ロセスで必要とされない情報を伝達する、特定のセマンティクスを有するシンタックス構
造である。例えば、SEIメッセージ719は、HRDプロセスをサポートするデータ、またはデ
コーダでビットストリーム700を復号するのに直接関係しない他のサポートデータを含み
得る。1組のSEIメッセージ719は、スケーラブルネスティングSEIメッセージとして実施さ
れ得る。スケーラブルネスティングSEIメッセージは、SEIメッセージ719を特定のレイヤ7
23と関連付けるメカニズムを提供する。スケーラブルネスティングSEIメッセージは、複
数のスケーラブルネストされたSEIメッセージを含むメッセージである。スケーラブルネ
ストされたSEIメッセージは、1つ以上のOLS、または1つ以上のレイヤ723に対応するSEIメ
ッセージ719である。OLSは、少なくとも1つのレイヤ723が出力レイヤである、1組のレイ
ヤ723である。したがって、スケーラブルネスティングSEIメッセージは、状況に応じて、
スケーラブルネストされたSEIメッセージのセットを含むものと言われてよく、あるいはS
EIメッセージ719のセットを含むものと言われてもよい。さらに、スケーラブルネスティ
ングSEIメッセージは、同種のスケーラブルネストされたSEIメッセージのセットを含む。
SEIメッセージ719は、対応するOLSおよび/またはレイヤ723をテストするCPBを管理する
ために、HRDを初期化するためのHRDパラメータを含む、BP SEIメッセージを含み得る。SE
Iメッセージ719はまた、対応するOLSおよび/またはレイヤ723をテストするために、CPB
および/またはDPBでAUの送達情報を管理するHRDパラメータを含む、PT SEIメッセージを
含み得る。SEIメッセージ719はまた、対応するOLSおよび/またはレイヤ723をテストする
ために、CPBおよび/またはDPBでDUの送達情報を管理するHRDパラメータを含む、DUI SEI
メッセージを含み得る。
【0103】
ビットストリーム700は、NALユニットのシーケンスとしてコーディングされ得る。NAL
ユニットは、ビデオデータおよび/またはサポートするシンタックスの入れ物である。NA
Lユニットは、VCL NALユニット745または非VCL NALユニット741でありうる。VCL NALユニ
ット745は、ビデオデータを含むようにコーディングされたNALユニットである。具体的に
は、VCL NALユニット745は、スライス727、および関連付けられたスライスヘッダ717を含
む。非VCL NALユニット741は、ビデオデータの復号、適合性検査を行うことその他の動作
をサポートするシンタックスおよび/またはパラメータなどの、非ビデオデータを含むNA
Lユニットである。非VCL NALユニット741は、VPS NALユニット、SPS NALユニット、PPS N
ALユニット、APS NALユニット、ピクチャヘッダ(PH)NALユニット、およびSEI NALユニ
ットを含んでよく、これらはそれぞれVPS 711、SPS 713、PPS 715、APS 716、ピクチャヘ
ッダ718、およびSEIメッセージ719を含む。前述のNALユニットのリストは、例示的なもの
であって網羅的なものではないことに留意されたい。
【0104】
各NALユニットは、NALユニットヘッダ時間識別子プラスワン(nuh_temporal_id_plu
s1)731に関連付けられる。nuh_temporal_id_plus1 731は、ビデオシーケンス内の対
応するNALユニットの相対的な位置を示す、シグナリングされる識別子である。デコーダ
および/またはHRDは、nuh_temporal_id_plus1 731の値に基づいて、対応するNALユニ
ットのTemporalIdを決定することができる。具体的には、nuh_temporal_id_plus1 731
は、NALユニットのヘッダでシグナリングされる。NALユニットのTemporalIdは、デコーダ
/HRDによって、nuh_temporal_id_plus1 731の値から1を引くことによって決定され得
る。このように、nuh_temporal_id_plus1 731の値は、ゼロに設定されてはならず、こ
れはTemporalIdが負の値になることを生じさせるためである。
【0105】
さらに、SEIメッセージ719は、プレフィックスSEIメッセージおよび/またはサフィッ
クスSEIメッセージとして用いられ得る。プレフィックスSEIメッセージは、1つ以上の後
続のNALユニットに適用するSEIメッセージ719である。サフィックスSEIメッセージは、1
つ以上の先行するNALユニットに適用するSEIメッセージ719である。プレフィックスSEIメ
ッセージはプレフィックスSEI NALユニットタイプ(PREFIX_SEI_NUT)742に含まれ、サ
フィックスSEIメッセージはサフィックスSEI NALユニットタイプ(SUFFIX_SEI_NUT)74
3に含まれる。PREFIX_SEI_NUT 742は非VCL NALユニットであり、非VCL NALユニットが
プレフィックスSEIメッセージを含んでいることを示すように設定されたタイプ値を有す
る。SUFFIX_SEI_NUT 743は非VCL NALユニットであり、非VCL NALユニットがサフィック
スSEIメッセージを含んでいることを示すように設定されたタイプ値を有する。
【0106】
上述したように、SEIメッセージ719は、ビットストリームの規格との適合性を検証する
ために、エンコーダで動作するHRDによって使用されるパラメータを含み得る。SEIメッセ
ージ719は、変化するピクチャ725および/またはレイヤ723の変化する組み合わせに関連
し得る。したがって、複雑なマルチレイヤビットストリームでは、適切なSEIメッセージ7
19が適切なピクチャ725および/またはレイヤ723に確実に関連付けられるようにすること
が難しくなる可能性がある。さらに、プレフィックスSEIメッセージは、プレフィックスS
EIメッセージに関連付けられた第1のNALユニットよりも前にビットストリーム700に含ま
れていなければならず、サフィックスSEIメッセージは、サフィックスSEIメッセージに関
連付けられた第1のNALユニットの直後にビットストリーム700に含まれていなければなら
ない。SEIメッセージ719がビットストリーム700内で正しく配置されておらず、かつ/ま
たは正しいレイヤ723および/またはピクチャ725に関連付けられていない場合は、HRDが
レイヤ723および/またはピクチャ725の適合性を適切に検証できない場合がある。これは
、HRDによって生じるエンコードエラー、および/またはデコーダで復号するときのエラ
ーになる場合がある。例えば、HRDがピクチャを不適切にフィルタリングしたり、規格違
反の検出に失敗したりする場合がある。さらに、デコーダが送信に関連する符号化エラー
の検出に失敗したり、送信に関連する符号化エラーの表示をそのようなエラーが存在しな
いときに不適切に返したりする場合がある。
【0107】
ビットストリーム700は、SEIメッセージ719が、対応するレイヤ723、ピクチャ725、ス
ライス727、および/またはNALユニットに確実に正しく関連付けられるように修正される
。
図6を参照して説明したように、マルチレイヤビットストリームは、ピクチャおよび関
連付けられたパラメータをAUへと整理し得る。AUは、異なったレイヤに含まれる1組のコ
ーディングされたピクチャであり、同じ出力時間に関連付けられる。ビットストリーム70
0において、各SEIメッセージ719は、SEIメッセージ719に関連付けられた第1のピクチャ72
5として同じAU内に配置される。さらに、SEIメッセージ719は、TemporalIdを割り当てら
れる。SEIメッセージ719のTemporalIdは、SEIメッセージ719を含むAUのTemporalIdと等し
くなるように制限される。特定の例において、AU内の各ピクチャ725は、同じTemporalId
の値を共有し、それ故、nuh_temporal_id_plus1 731の同じ値を共有する。したがって
、SEIメッセージ719のnuh_temporal_id_plus1 731は、SEIメッセージ719が適用するも
のに対応するピクチャ725の各々のnuh_temporal_id_plus1 731と同じである。
【0108】
別の言い方をすれば、ピクチャ725はVCL NALユニット745に含まれ、パラメータは非VCL
NALユニット741に含まれる。非VCL NALユニット741が、SEIメッセージ719を含む、タイ
プがPREFIX_SEI_NUT 742またはSUFFIX_SEI_NUT 743のSEI NALユニットのとき、非VCL
NALユニット741のTemporalId/nuh_temporal_id_plus1 731は、非VCL NALユニット74
1を含むAUのTemporalId/nuh_temporal_id_plus1 731と等しくなるように制限される
。この手法により、SEIメッセージ719がAU内の対応するピクチャ725に正しく関連付けら
れることが確実になる。それ故、様々なエラーが回避され得る。結果として、エンコーダ
およびデコーダの機能が向上される。さらに、符号化効率が向上され、エンコーダにおい
てもデコーダにおいても、プロセッサ、メモリ、および/またはネットワークシグナリン
グリソースの使用率が減少する。
【0109】
ここで、前述した情報を、以下においてより詳細に説明する。階層化されたビデオコー
ディングは、スケーラブルなビデオコーディング、またはスケーラビリティを有するビデ
オコーディングとも称される。ビデオコーディングのスケーラビリティは、マルチレイヤ
コーディング技術を使用してサポートされ得る。マルチレイヤビットストリームは、ベー
スレイヤ(BL)と、1つ以上の拡張レイヤ(EL)とを含む。スケーラビリティの例は、空
間スケーラビリティ、品質/信号対雑音比(SNR)スケーラビリティ、マルチビュースケ
ーラビリティ、フレームレートスケーラビリティなどを含む。マルチレイヤコーディング
技術が使用されるときは、ピクチャまたはその一部は、参照ピクチャを使用せずにコーデ
ィングされてもよく(イントラ予測)、同じレイヤにある参照ピクチャを参照してコーデ
ィングされてもよく(インター予測)、かつ/または(1つまたは複数の)他のレイヤに
ある参照ピクチャを参照してコーディングされてもよい(レイヤ間予測)。現在ピクチャ
のレイヤ間予測に使用される参照ピクチャは、レイヤ間参照ピクチャ(ILRP)と称される
。
図6は、空間スケーラビリティ用のマルチレイヤコーディングの一例を示し、異なった
レイヤ内のピクチャは解像度が異なる。
【0110】
単一レイヤコーディング用の(1つまたは複数の)プロファイルから離れた(1つまたは
複数の)プロファイルにおいて、いくつかのビデオコーディングファミリがスケーラビリ
ティについてのサポートを提供する。スケーラブルビデオコーディング(SVC)は、空間
、時間、および品質のスケーラビリティについてのサポートを提供する、高度ビデオコー
ディング(AVC)のスケーラブルな拡張である。SVCの場合、下位レイヤからのコロケート
ブロックを使用してEL MBが予測されるかどうかを示すために、ELピクチャ内の各マクロ
ブロック(MB)でフラグがシグナリングされる。コロケートブロックからの予測は、テク
スチャ、動きベクトル、および/またはコーディングモードを含み得る。SVCの実施態様
は、未修正のAVCの実施態様をその設計に直接再使用しない場合がある。SVC ELマクロブ
ロックシンタックスおよび復号プロセスは、AVCシンタックスおよび復号プロセスとは異
なる。
【0111】
スケーラブルHEVC(SHVC)は、空間および品質のスケーラビリティについてのサポート
を提供するHEVCの拡張である。マルチビューHEVC(MV-HEVC)は、マルチビュースケーラ
ビリティについてのサポートを提供するHEVCの拡張である。3D HEVC(3D-HEVC)は、MV
-HEVCよりも高度かつ効率的な3Dビデオコーディングについてのサポートを提供する、HE
VCの拡張である。時間スケーラビリティは、単一レイヤのHEVCコーデックの一体部分とし
て含まれ得る。HEVCのマルチレイヤ拡張において、レイヤ間予測に使用される復号された
ピクチャは同じAUからのみ得られ、ロングターム参照ピクチャ(LTRP)として扱われる。
かかるピクチャは、現在レイヤ内の他の時間参照ピクチャとともに、(1つまたは複数の
)参照ピクチャリスト内の参照インデックスが割り当てられる。レイヤ間予測(ILP)は
、(1つまたは複数の)参照ピクチャリスト内の(1つまたは複数の)レイヤ間参照ピクチ
ャを参照するために、参照インデックスの値を設定することによって、予測ユニットレベ
ルで達成される。空間スケーラビリティは、ILRPが、エンコードまたは復号される現在ピ
クチャとは異なる空間解像度を有するときに、参照ピクチャまたはその一部をリサンプリ
ングする。参照ピクチャのリサンプリングは、ピクチャレベルまたはコーディングブロッ
クレベルのいずれかで実現され得る。
【0112】
VVCもまた、階層化されたビデオコーディングをサポートし得る。VVCビットストリーム
は、複数のレイヤを含むことができる。レイヤは、すべて互いに独立することができる。
例えば、各レイヤは、レイヤ間予測を使用せずにコーディングされ得る。この場合、レイ
ヤは同報配信レイヤとも称される。場合によっては、いくつかのレイヤはILPを使用して
コーディングされる。VPS内のフラグは、レイヤが同報配信レイヤかどうか、あるいは一
部のレイヤがILPを使用しているかどうかを示すことができる。一部のレイヤがILPを使用
しているときは、レイヤ間のレイヤ依存性もまたVPS内でシグナリングされる。SHVCおよ
びMV-HEVCとは異なり、VVCはOLSを指定しなくてよい。OLSは、指定された1組のレイヤを
含み、1組のレイヤのうちの1つ以上のレイヤが出力レイヤになるように指定される。出力
レイヤは、出力されるOLSのレイヤである。VVCのいくつかの実施態様では、レイヤが同報
配信レイヤのときは、1つのレイヤのみが復号および出力用に選択され得る。VVCのいくつ
かの実施態様では、いずれかのレイヤがILPを使用しているときは、すべてのレイヤを含
むビットストリーム全体が復号されるように指定される。さらに、レイヤのうちのいくつ
かのレイヤが出力レイヤに指定される。出力レイヤは、唯一の最上位レイヤ、全レイヤ、
あるいは最上位レイヤに1組の表示された下位レイヤを加えたものになるように表示され
得る。
【0113】
前述した態様には、いくつか問題がある。例えば、SPS、PPS、およびAPS NALユニット
のnuh_layer_id値が適切に制限されない場合がある。さらに、SEI NALユニットのTempo
ralId値が適切に制限されない場合がある。加えて、参照ピクチャのリサンプリングが可
能にされ、かつCLVS内のピクチャの空間解像度が異なるときは、NoOutputOfPriorPicsFla
gの設定が適切に指定されない場合がある。また、いくつかのビデオコーディングシステ
ムサフィックスSEIメッセージは、スケーラブルネスティングSEIメッセージに含めること
ができない。別の例として、バッファリング期間、ピクチャタイミング、および復号ユニ
ット情報のSEIメッセージは、VPSおよび/またはSPSに対する解析依存性を含む場合があ
る。
【0114】
概して、本開示はビデオ符号化の改善手法について説明する。技術の説明はVVCに基づ
く。しかしながら、この技術は、他のビデオコーデック仕様に基づく階層化されたビデオ
符号化にも適合する。
【0115】
上述した1つ以上の問題が、以下の通り解決され得る。SPS、PPS、およびAPS NALユニッ
トのnuh_layer_id値が、ここでは適切に制限される。SEI NALユニットのTemporalId値
が、ここでは適切に制限される。参照ピクチャのリサンプリングが可能にされ、かつCLVS
内のピクチャの空間解像度が異なるときに、NoOutputOfPriorPicsFlagの設定が適切に指
定される。サフィックスSEIメッセージは、スケーラブルネスティングSEIメッセージに含
めることができる。VPSまたはSPSに対するBP、PT、およびDUI SEIメッセージの解析依存
性は、BP SEIメッセージシンタックス内のシンタックス要素decoding_unit_hrd_param
s_present_flagと、PT SEIメッセージシンタックス内のシンタックス要素decoding_un
it_hrd_params_present_flag、およびdecoding_unit_cpb_params_in_pic_timi
ng_sei_flagと、DUI SEIメッセージ内のシンタックス要素decoding_unit_cpb_param
s_in_pic_timing_sei_flagとを繰り返すことによって除去され得る。
【0116】
前述したメカニズムの例示的な実施態様は、以下の通りである。例示的な汎用NALユニ
ットのセマンティクスは、以下の通りである。
【0117】
nuh_temporal_id_plus1から1を引いたものは、NALユニットの時間識別子を指定する
。nuh_temporal_id_plus1の値はゼロであってはならない。変数TemporalIdは以下の通
りに導出される。
TemporalId=nuh_temporal_id_plus1-1
nal_unit_typeが両端値を含めてIDR_W_RADL~RSV_IRAP_13の範囲内にあるときは
、TemporalIdはゼロでなければならない。nal_unit_typeがSTSA_NUTのときは、Tempor
alIdはゼロであってはならない。
【0118】
TemporalIdの値は、アクセスユニットの全VCL NALユニットと同じでなければならない
。コーディングされたピクチャ、レイヤアクセスユニット、またはアクセスユニットのTe
mporalIdの値は、コーディングされたピクチャのVCL NALユニット、レイヤアクセスユニ
ット、またはアクセスユニットのTemporalIdの値であってもよい。サブレイヤ表現のTemp
oralIdの値は、サブレイヤ表現内の全VCL NALユニットのTemporalIdの最大値であっても
よい。
【0119】
非VCL NALユニットのTemporalIdの値は、以下のように制限される。nal_unit_typeが
DPS_NUT、VPS_NUT、またはSPS_NUTと等しければ、TemporalIdはゼロであり、NALユニ
ットを含むアクセスユニットのTemporalIdはゼロでなければならない。あるいはnal_uni
t_typeがEOS_NUTまたはEOB_NUTと等しければ、TemporalIdはゼロでなければならない
。あるいは、nal_unit_typeがAUD_NUT、FD_NUT、PREFIX_SEI_NUT、またはSUFFIX_
SEI_NUTと等しければ、TemporalIdは、NALユニットを含むアクセスユニットのTemporalI
dと等しくなければならない。あるいは、nal_unit_typeがPPS_NUTまたはAPS_NUTと等
しければ、TemporalIdは、NALユニットを含むアクセスユニットのTemporalId以上でなけ
ればならない。NALユニットが非VCL NALユニットのとき、TemporalIdの値は、非VCL NAL
ユニットを適用する全アクセスユニットのTemporalId値の最小値でなければならない。na
l_unit_typeがPPS_NUTまたはAPS_NUTと等しければ、TemporalIdは、含んでいるアク
セスユニットのTemporalId以上であってよい。これは、ビットストリームの先頭にPPSお
よびAPSがすべて含まれ得るからである。さらに、第1のコーディングされたピクチャは、
ゼロと等しいTemporalIdを有する。
【0120】
例示的なシーケンスパラメータセットRBSPセマンティクスは以下の通りである。SPS RB
SPは、参照される前に、復号プロセスに使用可能でなければならない。SPSは、TemporalI
dがゼロの少なくとも1つのアクセスユニットに含まれるか、あるいは外部メカニズムによ
って提供されてもよい。SPSを含むSPS NALユニットは、SPSを参照する、PPS NALユニット
の最低nuh_layer_id値と等しいnuh_layer_id を有するように制限され得る。
【0121】
例示的なピクチャパラメータセットRBSPセマンティクスは以下の通りである。PPS RBSP
は、参照される前に、復号プロセスに使用可能でなければならない。PPSは、TemporalId
がPPS NALユニットのTemporalId以下の少なくとも1つのアクセスユニットに含まれるか、
あるいは外部メカニズムによって提供されねばならない。PPS RBSPを含むPPS NALユニッ
トは、PPSを参照するコーディングされたスライスNALユニットの最低nuh_layer_id値と
等しいnuh_layer_idを有していなければならない。
【0122】
例示的な適応パラメータセットセマンティクスは以下の通りである。各APS RBSPは、参
照される前に、復号プロセスに使用可能でなければならない。APSもまた、TemporalIdが
、APSを参照するコーディングされたスライスNALユニットのTemporalId以下の少なくとも
1つのアクセスユニットに含まれるか、あるいは外部メカニズムによって提供されねばな
らない。APS NALユニットは、複数レイヤのピクチャ/スライスによって共有されること
を許可される。APS NALユニットのnuh_layer_idは、APS NALユニットを参照するコーデ
ィングされたスライスNALユニットの最低nuh_layer_id値と等しくなければならない。
あるいは、APS NALユニットは、複数レイヤのピクチャ/スライスによって共有されなく
てよい。APS NALユニットのnuh_layer_idは、APSを参照するスライスのnuh_layer_id
と等しくなければならない。
【0123】
一例において、現在ピクチャを復号する前にDPBからピクチャを除去することについて
、以下の通り説明される。現在ピクチャを復号する前に(ただし現在ピクチャの第1のス
ライスのスライスヘッダの解析後に)、DPBからピクチャを除去することが、アクセスユ
ニットn(現在ピクチャを含む)の第1の復号ユニットのCPB除去時間に生じ得る。このプ
ロセスは以下の通りである。参照ピクチャリスト構築のための復号プロセスが呼び出され
、かつ参照ピクチャマーキングのための復号プロセスが呼び出される。
【0124】
現在ピクチャが、ピクチャゼロでない符号化レイヤビデオシーケンス開始(CLVSS)ピ
クチャのときは、以下の順序のステップが適用される。テスト対象のデコーダに対し、変
数NoOutputOfPriorPicsFlagが以下の通りに導出される。SPSから導出されたpic_width_
max_in_luma_samples、pic_height_max_in_luma_samples、chroma_format_idc
、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_m
inus8、またはsps_max_dec_pic_buffering_minus1[ Htid ]の値が、先行するピク
チャによって参照されるSPSから導出された pic_width_in_luma_samples、pic_hei
ght_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit
_depth_luma_minus8、bit_depth_chroma_minus8、またはsps_max_dec_pic_buf
fering_minus1[ Htid ]の値とそれぞれ異なるときは、NoOutputOfPriorPicsFlagは、n
o_output_of_prior_pics_flagの値にかかわらず、テスト対象のデコーダによって1
に設定される場合がある。このような条件下では、NoOutputOfPriorPicsFlagをno_outpu
t_of_prior_pics_flagと同じに設定することが好ましい場合があるが、この場合は、
テスト対象のデコーダが、NoOutputOfPriorPicsFlagを1に設定することが許容されている
ことに留意されたい。そうでない場合は、NoOutputOfPriorPicsFlagは、no_output_of
_prior_pics_flagと同じに設定してよい。
【0125】
テスト対象のデコーダに対して導出されたNoOutputOfPriorPicsFlagの値がHRDに適用さ
れ、その結果、NoOutputOfPriorPicsFlagの値が1のときは、DPB内のすべてのピクチャス
トレージバッファが、含んでいるピクチャを出力することなく空にされ、DPBフルネスが
ゼロに設定される。以下の条件の両方が、DPB内の任意のピクチャkに当てはまるとき、DP
B内のかかるピクチャkはすべてDPBから除去される。ピクチャkは、参照に使用されないも
のとしてマークされ、ピクチャkはゼロと等しいPictureOutputFlagを有し、あるいは対応
するDPB出力時間が、現在ピクチャnの第1の復号ユニット(復号ユニットmで表される)の
CPB除去時間以下である。これは、DpbOutputTime[ k ]がDuCpbRemovalTime[ m ]以下
のときに生じ得る。DPBから除去される各ピクチャに対し、DPBフルネスが1だけデクリメ
ントされる。
【0126】
一例において、DPBからのピクチャの出力または除去は以下の通り説明される。現在ピ
クチャを含むアクセスユニットの第1の復号ユニットがCPBから除去されたときは、現在ピ
クチャを復号する前に(ただし現在ピクチャの第1のスライスのスライスヘッダの解析後
に)、DPBからのピクチャの出力および除去が生じる場合があり、以下の通りに進む。参
照ピクチャリスト構築のための復号プロセス、および参照ピクチャマーキングのための復
号プロセスが呼び出される。
【0127】
現在ピクチャが、ピクチャゼロでないCLVSSピクチャである場合は、以下の順序のステ
ップが適用される。テスト対象のデコーダに対し、変数NoOutputOfPriorPicsFlagが以下
の通りに導出され得る。SPSから導出されたpic_width_max_in_luma_samples、pic_
height_max_in_luma_samples、chroma_format_idc、separate_colour_plane_fl
ag、bit_depth_luma_minus8、bit_depth_chroma_minus8、またはsps_max_dec_p
ic_buffering_minus1[ Htid ]の値が、先行するピクチャによって参照されるSPSから
導出されたpic_width_in_luma_samples、pic_height_in_luma_samples、chroma
_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_dep
th_chroma_minus8、またはsps_max_dec_pic_buffering_minus1[ Htid ]の値と
それぞれ異なるときは、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_fl
agの値にかかわらず、テスト対象のデコーダによって1に設定される場合がある。このよ
うな条件下では、NoOutputOfPriorPicsFlagをno_output_of_prior_pics_flagと同じ
に設定することが好ましいが、この場合は、テスト対象のデコーダがNoOutputOfPriorPic
sFlagを1に設定できることに留意されたい。あるいは、NoOutputOfPriorPicsFlagは、no
_output_of_prior_pics_flagと同じに設定され得る。
【0128】
テスト対象のデコーダに対して導出されたNoOutputOfPriorPicsFlagの値は、以下の通
りにHRDに適用され得る。NoOutputOfPriorPicsFlagの値が1のときは、DPB内のすべてのピ
クチャストレージバッファは、それが含むピクチャを出力することなく空にされ、DPBフ
ルネスがゼロに設定される。そうでない場合(NoOutputOfPriorPicsFlagの値が0のとき)
は、出力する必要がなく、参照用に使用されないものとしてマーキングされた、ピクチャ
を含むすべてのピクチャストレージバッファが(出力することなく)空にされ、かつバン
ピングプロセスを繰り返し呼び出すことによって、DPB内の空でないピクチャストレージ
バッファがすべて空にされ、DPBフルネスがゼロに設定される。
【0129】
そうでない場合(現在ピクチャがCLVSSピクチャでない場合)は、出力する必要がなく
、かつ参照のために使用されないとマークされたピクチャを含む、すべてのピクチャスト
レージバッファが(出力することなく)空にされる。空にされる各ピクチャストレージバ
ッファに対し、DPBフルネスが1だけデクリメントされる。以下の条件の1つ以上が当ては
まるときは、バンピングプロセスが繰り返し呼び出され、その一方で、以下の条件がいず
れも当てはまらなくなるまで、空にされた追加ピクチャストレージバッファのそれぞれに
対して、さらにDPBフルネスを1だけデクリメントする。条件とは、出力に必要とマークさ
れたDPB内のピクチャの数が、sps_max_num_reorder_pics[ Htid ]より多いことで
ある。他の条件は、sps_max_latency_increase_plus1[ Htid ]がゼロでないこと、
および関連付けられた変数PicLatencyCountがSpsMaxLatencyPictures[ Htid ]以上であ
る、出力に必要とマークされた、少なくとも1つのピクチャがDPB内にあることである。他
の条件は、DPB内のピクチャの数が、SubDpbSize[ Htid ]以上になることである。
【0130】
例示的な汎用SEIメッセージのシンタックスは、以下の通りである。
【0131】
【0132】
例示的なスケーラブルネスティングSEIメッセージのシンタックスは、以下の通りであ
る。
【0133】
【0134】
例示的なスケーラブルネスティングSEIメッセージのセマンティクスは、以下の通りで
ある。スケーラブルネスティングSEIメッセージは、特定のOLSのコンテキストにおいて、
SEIメッセージを特定のレイヤと関連付けるメカニズム、またはOLSのコンテキストとは関
係なく、特定のレイヤと関連付けるメカニズムを提供する。スケーラブルネスティングSE
Iメッセージは、1つ以上のSEIメッセージを含む。スケーラブルネスティングSEIメッセー
ジに含まれるSEIメッセージは、スケーラブルネストされたSEIメッセージとも称される。
ビットストリーム適合性は、スケーラブルネスティングSEIメッセージにSEIメッセージが
含まれているときは、以下の制限の適用を必要とする場合がある。
【0135】
payloadTypeが132(復号されたピクチャハッシュ)、または133(スケーラブルネステ
ィング)のSEIメッセージは、スケーラブルネスティングSEIメッセージに含まれてはなら
ない。スケーラブルネスティングSEIメッセージがバッファリング期間、ピクチャタイミ
ング、または復号ユニット情報のSEIメッセージを含むときは、スケーラブルネスティン
グSEIメッセージは、payloadTypeがゼロではない(バッファリング期間)、1である(ピ
クチャタイミング)、または130(復号ユニット情報)のいかなる他のSEIメッセージも含
んではならない。
【0136】
ビットストリーム適合性は、スケーラブルネスティングSEIメッセージを含むSEI NALユ
ニットのnal_unit_typeの値に対して、以下の制限の適用をさらに必要とする場合があ
る。スケーラブルネスティングSEIメッセージが、payloadTypeがゼロ(バッファリング期
間)、1(ピクチャタイミング)、130(復号ユニット情報)、145(RAP指示依存)または
168(フレームフィールド情報)のSEIメッセージを含んでいるときは、スケーラブルネス
ティングSEIメッセージを含むSEI NALユニットは、nal_unit_typeをPREFIX_SEI_NUT
と等しくなるように設定しなければならない。スケーラブルネスティングSEIメッセージ
が、payloadTypeが132(復号されたピクチャハッシュ)のSEIメッセージを含んでいると
きは、スケーラブルネスティングSEIメッセージを含むSEI NALユニットは、nal_unit_t
ypeをSUFFIX_SEI_NUTと等しくなるように設定しなければならない。
【0137】
特定のOLSのコンテキストでは、スケーラブルネストされたSEIメッセージを特定のレイ
ヤに適用することを指定するには、nesting_ols_flagは1になるように設定され得る。
スケーラブルネストされたSEIメッセージを(例えば、OLSのコンテキストによらずに)通
常は特定のレイヤに適用することを指定するには、nesting_ols_flagはゼロになるよう
に設定され得る。
【0138】
ビットストリーム適合性は、nesting_ols_flagの値に以下の制限が適用されることを
必要とする場合がある。スケーラブルネスティングSEIメッセージが、payloadTypeがゼロ
(バッファリング期間)、1(ピクチャタイミング)、または130(復号ユニット情報)の
SEIメッセージを含むときは、nesting_ols_flagの値は1でなければならない。スケーラ
ブルネスティングSEIメッセージが、VclAssociatedSeiList内の値と等しいpayloadTypeを
有するSEIメッセージを含むときは、nesting_ols_flagの値はゼロでなければならない
。
【0139】
nesting_num_olss_minus1に1を加えたものは、スケーラブルネストされたSEIメッセ
ージを適用するOLSの数を指定する。nesting_num_olss_minus1の値は、両端値を含め
て0~TotalNumOlss-1の範囲内でなければならない。nesting_ols_idx_delta_minus1
[ i ]は、nesting_ols_flagが1のときにスケーラブルネストされたSEIメッセージを
適用する、i番目のOLSのOLSインデックスを指定する、変数NestingOlsIdx[ i ]を導出
するために使用される。nesting_ols_idx_delta_minus1[ i ]の値は、両端値を含
めて0~TotalNumOlss-2の範囲内でなければならない。変数NestingOlsIdx[ i ]は以下
の通りに導出される。
if(i==0)
NestingOlsIdx[ i ]=nesting_ols_idx_delta_minus1[ i ]
else
NestingOlsIdx[ i ]=NestingOlsIdx[ i-1 ]+nesting_ols_idx_delta_m
inus1[ i ]+1
【0140】
nesting_num_ols_layers_minus1[ i ]に1を加えたものは、NestingOlsIdx[ i
]番目のOLSのコンテキストにおいて、スケーラブルネストされたSEIメッセージを適用す
るレイヤの数を指定する。nesting_num_ols_layers_minus1[ i ]の値は、両端値を
含めて0~NumLayersInOls[ NestingOlsIdx[ i ] ]-1の範囲内でなければならない。
【0141】
nesting_ols_layer_idx_delta_minus1[ i ][ j ]は、nesting_ols_flagが1
のときに、NestingOlsIdx[ i ]番目のOLSのコンテキストにおいて、スケーラブルネス
トされたSEIメッセージを適用するj番目のレイヤのOLSレイヤインデックスを指定する、
変数NestingOlsLayerIdx[ i ][ j ]を導出するために使用される。nesting_ols_la
yer_idx_delta_minus1[ i ]の値は、両端値を含めて0~NumLayersInOls[ nestingO
lsIdx[ i ] ]-2の範囲内でなければならない。
【0142】
変数NestingOlsLayerIdx[ i ][ j ]は以下の通りに導出される。
if(j==0)
NestingOlsLayerIdx[ i ][ j ]=nesting_ols_layer_idx_delta_minus1
[ i ][ j ]
else
NestingOlsLayerIdx[ i ][ j ]=NestingOlsLayerIdx[ i ][ j-1 ]+
nesting_ols_layer_idx_delta_minus1[ i ][ j ]+1
【0143】
両端値を含めて0~nesting_num_olss_minus1の範囲内のiに対する、LayerIdInOls[
NestingOlsIdx[ i ] ][ NestingOlsLayerIdx[ i ][ 0 ] ]のすべての値の中の
最低値は、現在のSEI NALユニット(例えば、スケーラブルネスティングSEIメッセージを
含むSEI NALユニット)のnuh_layer_idと等しくなければならない。nuh_layer_idが
現在のSEI NALユニットのnuh_layer_id以上であるスケーラブルネストされたSEIメッセ
ージが、すべてのレイヤに通常は適用されることを指定するには、nesting_all_layers
_flagは1に設定されてよい。nuh_layer_idが現在のSEI NALユニットのnuh_layer_id
以上であるスケーラブルネストされたSEIメッセージを、通常はすべてのレイヤに適用し
てもしなくてもよいことを指定するには、nesting_all_layers_flagは0に設定されて
よい。
【0144】
nesting_num_layers_minus1に1を加えたものは、スケーラブルネストされたSEIメッ
セージが通常は適用されるレイヤの数を指定する。nesting_num_layers_minus1の値は
、両端値を含めて0~vps_max_layers_minus1-GeneralLayerIdx[ nuh_layer_id ]
の範囲内でなければならず、nuh_layer_idは、現在のSEI NALユニットのnuh_layer_i
dである。nesting_layer_id[ i ]は、nesting_all_layers_flagがゼロのときは、
スケーラブルネストされたSEIメッセージを通常は適用するi番目のレイヤのnuh_layer_
id値を指定する。nesting_layer_id[ i ]の値はnuh_layer_idより大きくなければ
ならず、nuh_layer_idは、現在のSEI NALユニットのnuh_layer_idである。
【0145】
nesting_ols_flagが1のときは、スケーラブルネストされたSEIメッセージを通常は適
用するレイヤの数を指定する変数NestingNumLayers、およびスケーラブルネストされたSE
Iメッセージを通常は適用するレイヤのnuh_layer_id値のリストを指定する、両端値を
含めて0~NestingNumLayers-1の範囲内にある、iに対するリストNestingLayerId[ i ]
が以下のように導出され、nuh_layer_idは現在のSEI NALユニットのnuh_layer_idで
ある。
if(nesting_all_layers_flag){
NestingNumLayers=
vps_max_layers_minus1+1-GeneralLayerIdx[ nuh_layer_id ]
for(i=0;i < NestingNumLayers;i++)
NestingLayerId[ i ]=vps_layer_id[ GeneralLayerIdx[ nuh_layer_id
]+i ](D-2)
} else {
NestingNumLayers=nesting_num_layers_minus1+1
for(i=0;i < NestingNumLayers;i++)
NestingLayerId[ i ]=(i==0)? nuh_layer_id:nesting_layer_id[
i ]
}
【0146】
nesting_num_seis_minus1に1を加えたものは、スケーラブルネストされたSEIメッセ
ージの数を指定する。nesting_num_seis_minus1の値は、両端値を含めて0~63の範囲
内でなければならない。nesting_zero_bitは、ゼロになるように設定されなければなら
ない。
【0147】
図8は、例示的なビデオコーディング装置800の概略図である。ビデオコーディング装置
800は、ここで説明されているように、開示される例/実施形態を実施するのに適してい
る。ビデオコーディング装置800は、ダウンストリームポート820、アップストリームポー
ト850、および/またはネットワークにわたってデータをアップストリームおよび/また
はダウンストリームに伝達する送信器および/または受信器を含むトランシーバユニット
(Tx/Rx)810を含む。ビデオコーディング装置800はまた、データを処理するために論理
装置および/または中央処理装置(CPU)を含むプロセッサ830と、データを記憶するメモ
リ832とを含む。ビデオコーディング装置800はまた、電気、光-電気(OE)コンポーネン
ト、電気-光(EO)コンポーネント、および/または電気、光または無線通信ネットワー
クを介したデータ通信のためにアップストリームポート850および/またはダウンストリ
ームポート820に結合された無線通信コンポーネントを含んでよい。ビデオコーディング
装置800はまた、ユーザーとデータをやり取りする入力および/または出力(I/O)装置8
60を含んでよい。I/O装置860は、ビデオデータを表示するためのディスプレイ、オーデ
ィオデータを出力するためのスピーカなどの出力装置を含んでもよい。I/O装置860はま
た、キーボード、マウス、トラックボールなどの入力装置、および/またはそのような出
力装置と対話するための対応するインターフェースを含んでもよい。
【0148】
プロセッサ830は、ハードウェアおよびソフトウェアによって実装される。プロセッサ8
30は、1つまたは複数のCPUチップ、コア(例えば、マルチコアプロセッサとして)、フィ
ールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデ
ジタル信号プロセッサ(DSP)として実装されてもよい。プロセッサ830は、ダウンストリ
ームポート820、Tx/Rx 810、アップストリームポート850、およびメモリ832と通信する
。プロセッサ830は符号化モジュール814を含む。符号化モジュール814は、方法100、900
、および1000などの本明細書で開示される実施形態を実装し、これらはマルチレイヤビデ
オシーケンス600および/またはビットストリーム700を使用し得る。符号化モジュール81
4は、本明細書で説明する他の任意の方法/メカニズムも実装してもよい。さらに、符号
化モジュール814は、コーデックシステム200、エンコーダ300、デコーダ400、および/ま
たはHRD 500を実装し得る。例えば、符号化モジュール814は、本明細書で説明するように
、様々なパラメータのシグナリングおよび/または読み出しに使用され得る。さらに、符
号化モジュールは、このようなパラメータに基づいて、ビデオシーケンスをエンコードお
よび/または復号するために使用されてもよい。このように、本明細書で説明するシグナ
リング変更により、符号化モジュール814における効率が高まり、かつ/またはエラーを
回避し得る。したがって、符号化モジュール814は、上述した問題の1つ以上に対処するメ
カニズムを実行するように構成され得る。それ故、符号化モジュール814により、ビデオ
コーディング装置800は、ビデオデータを符号化するときに、追加機能および/または符
号化効率を提供する。このように、符号化モジュール814は、ビデオコーディング装置800
の機能を向上させるとともに、ビデオ符号化技術固有の問題に対処する。さらに、符号化
モジュール814はビデオコーディング装置800の変換を異なる状態まで達成する。あるいは
、符号化モジュール814はメモリ832に記憶された命令として実施でき、(例えば、非一時
的媒体に記憶されたコンピュータプログラム製品として)プロセッサ830によって実行で
きる。
【0149】
メモリ832は、ディスク、テープドライブ、ソリッドステートドライブ、読取専用メモ
リ(ROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリ、3値連想メモリ(TCAM
)、スタティックランダムアクセスメモリ(SRAM)などの1つ以上のメモリ種別を含む。
メモリ832は、かかるプログラムが実行のために選択されたときにそのようなプログラム
を記憶するため、かつプログラムの実行中に読み取られる命令およびデータを記憶するた
めに、オーバーフローデータストレージ装置として使用されてもよい。
【0150】
図9は、ビットストリーム内のSEIメッセージのTemporalIdを制限することによって、ビ
デオシーケンスをビットストリーム700などのビットストリームにエンコードする、例示
的な方法900の流れ図である。方法900は、方法100を行うときに、コーデックシステム200
、エンコーダ300、および/またはビデオコーディング装置800などのエンコーダで用いら
れうる。さらに、方法900は、HRD 500上で動作してもよく、それ故マルチレイヤビデオシ
ーケンス600に適合性テストを行い得る。
【0151】
方法900は、例えば、ユーザーの入力に基づいて、エンコーダがビデオシーケンスを受
信し、そのビデオシーケンスをマルチレイヤビットストリームへとエンコードすることを
決定したときに開始し得る。ステップ901において、エンコーダは、1つ以上のVCL NALユ
ニットの中のコーディングされたピクチャをビットストリームにエンコードする。例えば
、コーディングされたピクチャは、レイヤ内のAUに含まれ得る。さらに、エンコーダは、
コーディングされたピクチャを含む1つ以上のレイヤをマルチレイヤビットストリームに
エンコードすることができる。レイヤは、同じレイヤIDを有するVCL NALユニットのセッ
トと、関連付けられた非VCL NALユニットとを含み得る。例えば、VCL NALユニットのセッ
トがすべてnuh_layer_idの特定の値を有するときは、VCL NALユニットのセットはレイ
ヤの一部である。レイヤは、エンコードされたピクチャのビデオデータを含むVCL NALユ
ニットのセットを含み、このようなピクチャの符号化に使用される任意のパラメータセッ
トも含み得る。1つ以上のレイヤが、出力レイヤであってもよい。出力レイヤでないレイ
ヤは、(1つまたは複数の)出力レイヤの再構築をサポートするようにエンコードされる
が、このようなサポートレイヤは、デコーダで出力されることは意図されない。このよう
にして、エンコーダは、要求に応じてデコーダに送信するために、レイヤの様々な組み合
わせをエンコードすることができる。レイヤは、デコーダがネットワーク条件、ハードウ
ェア性能、および/またはユーザー設定に応じてビデオシーケンスの別の表現を取得でき
るように、必要に応じて伝送されてよい。
【0152】
ステップ903において、エンコーダは、1つ以上の非VCL NALユニットをビットストリー
ムへとエンコードすることができる。例えば、レイヤおよび/またはレイヤのセットは、
様々な非VCL NALユニットも含んでいる。非VCL NALユニットは、すべてがnuh_layer_id
の特定の値を有する、VCL NALユニットのセットに関連付けられる。具体的には、非VCL N
ALユニットのnal_unit_typeが、非VCL NALユニットにSEIメッセージが含まれているこ
とを示しているときは、非VCL NALユニットは、非VCL NALユニットのTemporalIdが、非VC
L NALユニットを含むAUのTemporalIdと等しくなるよう制限されるようにエンコードされ
る。別の言い方をすれば、SEIメッセージは、SEIを適用するピクチャと同じAUに含まれ得
る。したがって、非VCL NALユニットに含まれるSEIメッセージのTemporalIdは、SEIメッ
セージ/非VCL NALユニットを含むAUのTemporalIdと等しくなるように制限される。いく
つかの例では、SEIメッセージはプレフィックスSEIメッセージであり、それ故非VCL NAL
のnal_unit_typeはPREFIX_SEI_NUTと等しい。いくつかの例では、SEIメッセージはサ
フィックスSEIメッセージであり、それ故非VCL NALのnal_unit_typeはSUFFIX_SEI_NU
Tと等しい。
【0153】
非VCL NALユニットのTemporalIdは、非VCL NALユニット内のnuh_temporal_id_plus1
シンタックス要素によって指定され得る。同様に、AUのTemporalIdは、AU内のコーディン
グされたピクチャのスライスを含む、VCL NALユニット内のnuh_temporal_id_plus1シ
ンタックス要素によって指定され得る。VCL NALユニットのTemporalIdは、同じAU内の全V
CL NALユニットと同じになるように制限される。したがって、VCL NALユニットのnuh_te
mporal_id_plus1シンタックス要素は、同じAU内の全VCL NALユニットと同じになるよう
に制限される。それ故、SEIメッセージを含む非VCL NALユニット内のnuh_temporal_id
_plus1シンタックス要素の値は、SEIメッセージと同じAU内にある任意のVCL NALユニッ
ト内の、nuh_temporal_id_plus1シンタックス要素の値と同じである。非VCL NALユニ
ットのTemporalIdは、以下のように導出される。
TemporalId=nuh_temporal_id_plus1-1
加えて、AU内の非VCL NALユニットおよびVCL NALユニットのnuh_temporal_id_plus1
の値は、TemporalIdが負の値になるため、ゼロに設定されなくてよい。前述の制限および
/または要件により、ビットストリームは、本明細書で示すように変更されて、VVCその
他いくつかの規格などに適合することが確実になる。しかしながら、エンコーダは、例え
ば、別の規格、または同じ規格の別のバージョンで動作するときは、制限が少ない他のモ
ードで動作できるようにされてもよい。
【0154】
ステップ905において、エンコーダは、SEIメッセージに基づいてビットストリームに対
して一組のビットストリーム適合性テストを行うために、HRDを用いる。一組は、1つ以上
の適合性テストを含み得る。例えば、HRDは、SEIメッセージをピクチャと相関させるため
に、TemporalIdおよび/またはnuh_temporal_id_plus1値を使用することができる。そ
れ故、HRDは、SEIメッセージと同じAU内のコーディングされたピクチャに1つ以上の適合
性テストを行うために、SEIメッセージからのパラメータを使用することができる。エン
コーダは、次に、ステップ907において、デコーダに向けた通信のためにビットストリー
ムを記憶することができる。エンコーダは、必要に応じて、デコーダに向けてビットスト
リームを伝送することもできる。
【0155】
図10は、ビットストリーム内のSEIメッセージのTemporalIdが制限されている、ビット
ストリーム700などのビットストリームから、ビデオシーケンスを復号する例示的な方法1
000の流れ図である。方法1000は、方法100を実行するときに、コーデックシステム200、
デコーダ400、および/またはビデオコーディング装置800などのデコーダで使用されてよ
い。さらに、方法1000は、HRD 500などのHRDによって適合性を検証されたマルチレイヤビ
デオシーケンス600で使用され得る。
【0156】
方法1000は、例えば、方法900の結果として、かつ/またはデコーダによる要求に応答
して、デコーダが、マルチレイヤビデオシーケンスを表す符号化データのビットストリー
ムを受信し始めたときに開始し得る。ステップ1001において、デコーダは、1つ以上のVCL
NALユニットと、非VCL NALユニットの中のコーディングされたピクチャを含む、ビット
ストリームを受信する。例えば、コーディングされたピクチャはAUに含まれ得る。さらに
、ビットストリームは、コーディングされたピクチャを含む1つ以上のレイヤを含み得る
。レイヤは、同じレイヤIDを有するVCL NALユニットのセットと、関連する非VCL NALユニ
ットとを含み得る。例えば、VCL NALユニットのセットがすべてnuh_layer_idの特定の
値を有するときは、VCL NALユニットのセットはレイヤの一部である。レイヤは、コーデ
ィングされたピクチャのビデオデータを含むVCL NALユニットのセットを含み、このよう
なピクチャの符号化に使用される任意のパラメータセットも含み得る。1つ以上のレイヤ
が、出力レイヤであってもよい。出力レイヤでないレイヤは、(1つまたは複数の)出力
レイヤの再構築をサポートするようにエンコードされるが、このようなサポートレイヤは
出力は意図されない。このようにして、デコーダは、ネットワーク条件、ハードウェア性
能、および/またはユーザー設定に応じて、ビデオシーケンスの別の表現を取得すること
ができる。レイヤは様々な非VCL NALユニットをさらに含む。非VCL NALユニットは、すべ
てがnuh_layer_idの特定の値を有する、VCL NALユニットのセットに関連付けられる。
【0157】
具体的には、非VCL NALユニットのnal_unit_typeが、非VCL NALユニットにSEIメッセ
ージが含まれていることを示しているときは、非VCL NALユニットはビットストリームで
、非VCL NALユニットのTemporalIdが、非VCL NALユニットを含むAUのTemporalIdと等しく
なるよう制限されるように符号化される。別の言い方をすれば、SEIメッセージは、SEIを
適用するピクチャと同じAUに含まれ得る。したがって、非VCL NALユニットに含まれるSEI
メッセージのTemporalIdは、SEIメッセージ/非VCL NALユニットを含むAUのTemporalIdと
等しくなるように制限される。いくつかの例では、SEIメッセージはプレフィックスSEIメ
ッセージであり、それ故非VCL NALのnal_unit_typeはPREFIX_SEI_NUTと等しい。いく
つかの例では、SEIメッセージはサフィックスSEIメッセージであり、それ故非VCL NALのn
al_unit_typeはSUFFIX_SEI_NUTと等しい。
【0158】
非VCL NALユニットのTemporalIdは、非VCL NALユニット内のnuh_temporal_id_plus1
シンタックス要素によって指定され得る。したがって、デコーダは、ステップ1002におい
て、非VCL NALユニット内のnuh_temporal_id_plus1シンタックス要素に基づいて、非V
CL NALユニットのTemporalIdを導出することができる。同様に、AUのTemporalIdは、AU内
のコーディングされたピクチャのスライスを含む、VCL NALユニット内のnuh_temporal_
id_plus1シンタックス要素によって指定され得る。VCL NALユニットのTemporalIdは、同
じAU内の全VCL NALユニットと同じになるように制限される。したがって、VCL NALユニッ
トのnuh_temporal_id_plus1シンタックス要素は、同じAU内の全VCL NALユニットと同
じになるように制限される。それ故、SEIメッセージを含む非VCL NALユニット内のnuh_t
emporal_id_plus1シンタックス要素の値は、SEIメッセージと同じAU内にある任意のVCL
NALユニット内の、nuh_temporal_id_plus1シンタックス要素の値と同じである。非VC
L NALユニットのTemporalIdは、以下のように導出される。
TemporalId=nuh_temporal_id_plus1-1
加えて、AU内の非VCL NALユニットおよびVCL NALユニットのnuh_temporal_id_plus1
の値は、TemporalIdが負の値になるため、ゼロに設定されなくてよい。
【0159】
一実施形態では、ビデオデコーダは、VVCその他いくつかの規格に基づいて、非VCL NAL
ユニットのnal_unit_typeが前述したようなSEIメッセージのときは、非VCL NALユニッ
トのTemporalIdが、非VCL NALユニットを含むAUのTemporalIdと等しくなることを期待す
る。しかしながら、この条件が当てはまらないとデコーダが判断した場合は、デコーダは
、適合するビットストリームが受信されることを確実にするために、エラーを検出する、
エラーをシグナリングする、修正したビットストリーム(またはその一部)の再送を要求
する、あるいはその他の修正手段をとってもよい。
【0160】
ステップ1003において、デコーダは、復号されたピクチャを生成するために、VCL NAL
ユニットからのコーディングされたピクチャを復号することができる。例えば、デコーダ
は、SEIメッセージをピクチャと相関させるために、TemporalIdおよび/またはnuh_temp
oral_id_plus1値を使用することができる。その後デコーダは、コーディングされたピ
クチャを復号するときは、必要に応じてSEIメッセージを使用することができる。ステッ
プ1005において、デコーダは、復号されたビデオシーケンスの一部として表示のための復
号されたピクチャを転送することができる。
【0161】
図11は、ビットストリーム内のSEIメッセージのTemporalIdが制限されている、ビット
ストリームを使用してビデオシーケンスを符号化する例示的なシステム1100の概略図であ
る。システム1100は、コーデックシステム200、エンコーダ300、デコーダ400、および/
またはビデオコーディング装置800などのエンコーダおよびデコーダで実施されてよい。
さらに、システム1100は、マルチレイヤビデオシーケンス600および/またはビットスト
リーム700に適合性テストを行うために、HRD 500を用いてよい。加えて、システム1100は
、方法100、900、および/または1000を実施するときに使用されてもよい。
【0162】
システム1100は、ビデオエンコーダ1102を含む。ビデオエンコーダ1102は、ビットスト
リームにおける1つ以上のVCL NALユニット内のコーディングされたピクチャをエンコード
する、エンコーディングモジュール1103を備える。エンコーディングモジュール1103はさ
らに、非VCL NALユニットのnal_unit_typeがSEIメッセージのときは、非VCL NALユニッ
トのTemporalIdが、非VCL NALユニットを含むAUのTemporalIdと等しくなるよう制限され
るように、非VCL NALユニットをビットストリームにエンコードするためのものである。
ビデオエンコーダ1102は、SEIメッセージに基づいてビットストリームに対して一組のビ
ットストリーム適合性テストを行うための、HRDモジュール1105をさらに含む。ビデオエ
ンコーダ1102は、デコーダに向けて通信するためのビットストリームを記憶する記憶モジ
ュール1106をさらに備える。ビデオエンコーダ1102は、ビデオデコーダ1110に向けてビッ
トストリームを伝送する送信モジュール1107をさらに備える。ビデオエンコーダ1102は、
方法900の任意のステップを実行するようにさらに構成され得る。
【0163】
システム1100は、ビデオデコーダ1110をさらに含む。ビデオデコーダ1110は、1つ以上
のVCL NALユニットおよび非VCL NALユニット内にコーディングされたピクチャを含むビッ
トストリームを受信する、受信モジュール1111を備え、非VCL NALユニットのTemporalId
は、非VCL NALユニットのnal_unit_typeがSEIメッセージのときは、非VCL NALユニット
を含むAUのTemporalIdと等しくなるように制限される。ビデオデコーダ1110は、復号され
たピクチャを生成するためにVCL NALユニットからコーディングされたピクチャを復号す
る、復号モジュール1113をさらに備える。ビデオデコーダ1110は、復号されたビデオシー
ケンスの一部として表示するための復号されたピクチャを転送する、転送モジュール1115
をさらに備える。ビデオデコーダ1110は、方法1000の任意のステップを実行するようにさ
らに構成され得る。
【0164】
第1のコンポーネントは、第1のコンポーネントと第2のコンポーネントとの間の線、ト
レース、またはその他の媒介物を除いて介在するコンポーネントがない場合は、第2のコ
ンポーネントに直接的に結合される。第1のコンポーネントは、第1のコンポーネントと第
2のコンポーネントとの間の線、トレース、またはその他の媒介物以外に介在するコンポ
ーネントがある場合は、第2のコンポーネントに間接的に結合される。用語「結合」とそ
の変化形は直接的な結合と間接的な結合の両方を含む。用語「約」の使用は、別段の記載
がない限り、後続する数値の±10%を含む範囲を意味する。
【0165】
本明細書に記載されている例示的な方法のステップは、記載されている順に実行するこ
とを必ずしも必要としていないことも理解されたく、かかる方法のステップの順序は、単
なる例と理解されるべきである。同様に、本開示の様々な実施形態と合致する方法におい
て、かかる方法には追加のステップが含まれてよく、いくつかのステップが省略されたり
組み合わされたりしてよい。
【0166】
本開示ではいくつかの実施形態が提供されているが、開示されたシステムおよび方法は
、本開示の趣旨または範囲から逸脱することなく、多くの他の特定の形態で具現化されて
もよいことが理解されよう。本開示の例は、限定ではなく例示とみなされるべきであり、
その意図は、本明細書に与えられた詳細に限定されるべきではない。例えば、様々な要素
または構成要素が別のシステムにおいて結合もしくは統合されてもよく、または特定の機
能が省略されるか、もしくは実装されなくてもよい。
【0167】
加えて、様々な実施形態において個別または別個のものとして記載および例示された技
法、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他の
システム、構成要素、技法、または方法と結合または統合されてもよい。変更、代用、お
よび改変の他の例は当業者によって解明可能であり、本明細書に開示された趣旨および範
囲から逸脱することなく行われてもよい。
【符号の説明】
【0168】
100 動作方法
200 コーデックシステム
201 パーティショニングされたビデオ信号
211 一般コーダ制御コンポーネント
213 変換スケーリング量子化コンポーネント
215 イントラピクチャ推定コンポーネント
217 イントラピクチャ予測コンポーネント
219 動き補償コンポーネント
221 動き推定コンポーネント
223 復号ピクチャバッファコンポーネント
225 インループフィルタコンポーネント
227 フィルタ制御解析コンポーネント
229 スケーリング逆変換コンポーネント
231 ヘッダフォーマッティング・コンテキスト適応型バイナリ算術符号化(CABAC)
コンポーネント
300 エンコーダ
301 パーティショニングされたビデオ信号
313 変換量子化コンポーネント
317 イントラピクチャ予測コンポーネント
321 動き補償コンポーネント
323 復号ピクチャバッファコンポーネント
325 インループフィルタコンポーネント
329 逆変換量子化コンポーネント
331 エントロピー符号化コンポーネント
400 デコーダ
417 イントラピクチャ予測コンポーネント
421 動き補償コンポーネント
423 復号ピクチャバッファコンポーネント
425 インループフィルタコンポーネント
429 逆変換量子化コンポーネント
433 エントロピー復号コンポーネント
500 仮想参照デコーダ(HRD)
541 仮想ストリームスケジューラ(HSS)
543 コーディングされたピクチャバッファ(CPB)
545 復号プロセスコンポーネント
547 復号ピクチャバッファ(DPB)
549 出力クロッピングコンポーネント
551 ビットストリーム
553 復号ユニット(DU)
555 復号されたDU
556 参照ピクチャ
557 ピクチャ
559 出力クロッピング済みピクチャ
600 マルチレイヤビデオシーケンス
611 ピクチャ
611 ピクチャ
612 ピクチャ
613 ピクチャ
614 ピクチャ
615 ピクチャ
616 ピクチャ
617 ピクチャ
618 ピクチャ
621 レイヤ間予測
623 インター予測
627 アクセスユニット(AU)
628 ピクチャユニット(PU)
629 TemporalId
631 レイヤN
632 レイヤN+1
700 ビットストリーム
711 VPS
713 SPS
715 PPS
716 APS
717 スライスヘッダ
718 ピクチャヘッダ
719 付加拡張情報(SEI)メッセージ
720 画像データ
721 ピクチャ
723 レイヤ
725 ピクチャ
727 スライス
731 NALユニットヘッダ時間識別子プラスワン(nuh_temporal_id_plus1)
741 非VCL NALユニット
742 プレフィックスSEI NALユニットタイプ(PREFIX_SEI_NUT)
743 サフィックスSEI NALユニットタイプ(SUFFIX_SEI_NUT)
745 VCL NALユニット
800 ビデオコーディング装置
810 トランシーバユニット(Tx/Rx)
814 符号化モジュール
820 ダウンストリームポート
830 プロセッサ
832 メモリ
850 アップストリームポート
860 入力および/または出力(I/O)装置
900 ビデオシーケンスをビットストリームにエンコードする方法
1000 ビデオシーケンスを復号する方法
1100 ビデオシーケンスを符号化するシステム
1102 ビデオエンコーダ
1103 エンコーディングモジュール
1105 HRDモジュール
1106 記憶モジュール
1107 送信モジュール
1110 ビデオデコーダ
1111 受信モジュール
1113 復号モジュール
1115 転送モジュール
【外国語明細書】