第1の態様は、ビデオデコーダによって実装される復号化の方法に関し、ビデオデコーダによって、複数のレイヤと、フラグを含むシーケンスパラメータセット(SPS)とを含むビデオビットストリームを受信することであって、フラグが第1の値を有するとき、SPSを参照する複数のレイヤの各々が、複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、(DPB)パラメータの同じセットを有し、フラグが第2の値を有するとき、SPSを参照する複数のレイヤの各々が、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有する、ことと、ビデオデコーダによって、複数のレイヤのうちの1つからのピクチャを復号化して、復号ピクチャを取得することと、を含む。
本方法は、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるか、あるいはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、フラグを利用して、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータおよび/またはレベル情報の同じセットを有するかどうかを指定する技術を提供する。フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、フラグが第1の値を有するとき、DPBパラメータの同じセットを使用して、復号化において使用するためのメモリを割り当てることを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、フラグが第2の値を有し、複数のレイヤが出力レイヤであるとき、DPBパラメータの第1のセットを使用して、復号化において使用するためのメモリを割り当てることと、フラグが第2の値を有し、複数のレイヤが非出力レイヤであるとき、DPBパラメータの第2のセットを使用して、復号化において使用するためのメモリを割り当てることと、を提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、復号化の前に、複数のレイヤから出力レイヤを選択することと、出力レイヤが選択された後に、出力レイヤからピクチャを選択することと、を提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、復号化の前に、複数のレイヤから出力レイヤを選択することと、出力レイヤが選択された後に、出力レイヤからピクチャを選択することと、を提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBサイズパラメータに含まれる第1のDPBサイズから第2のDPBサイズを推論することを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータがピクチャ並べ替え数とレイテンシ情報とを含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、フラグが第1の値を有するとき、SPSを参照する複数のレイヤの各々が、複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、同じレベル情報を有することを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、複数のレイヤのうち1または複数が1または複数のサブレイヤを含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、電子デバイスのディスプレイ上に復号ピクチャを表示することを提供する。
第2の態様は、ビデオエンコーダによって実装される符号化の方法に関し、方法は、ビデオエンコーダによって、複数のレイヤと、フラグを含むシーケンスパラメータセット(SPS)とを生成することと、ビデオエンコーダによって、SPS中のフラグを第1の値または第2の値に設定することであって、第1の値は、SPSを参照する複数のレイヤの各々が、複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、復号ピクチャバッファ(DPB)パラメータの同じセットを有することを指定し、第2の値は、SPSを参照する複数のレイヤの各々が、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有することを指定する、ことと、ビデオエンコーダによって、複数のレイヤおよびSPSをビデオビットストリームに符号化することと、ビデオエンコーダによって、ビデオデコーダへの通信のためにビデオビットストリームを記憶することと、を含む。
本方法は、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるか、あるいはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、フラグを利用して、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータおよび/またはレベル情報の同じセットを有するかどうかを指定する技術を提供する。フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータが1または複数のDPBサイズを含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータが単一のDPBサイズのみを含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータがピクチャ並べ替え数およびレイテンシ情報のうち1または複数を含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、複数のレイヤのうち1または複数が1または複数のサブレイヤを含むことを提供する。
第3の態様は、復号化デバイスに関し、複数のレイヤとフラグを含むシーケンスパラメータセット(SPS)とを含むビデオビットストリームを受信するように構成された受信機であって、フラグが第1の値を有するとき、SPSを参照する複数のレイヤの各々が、複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、(DPB)パラメータの同じセットを有し、フラグが第2の値を有するとき、SPSを参照する複数のレイヤの各々が、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有する、受信機と、受信機に結合されたメモリであって、メモリが、命令を記憶する、メモリと、メモリに結合されたプロセッサであって、プロセッサが、命令を実行して、復号化デバイスに複数のレイヤのうちの1つからピクチャを復号化させて復号ピクチャを取得させるように構成されたプロセッサと、を含む。
復号化デバイスは、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるか、あるいはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、フラグを利用して、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータおよび/またはレベル情報の同じセットを有するかどうかを指定する技術を提供する。フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、プロセッサが、復号化の前に、1または複数のレイヤのうちの1つから出力レイヤを選択することと、出力レイヤが選択された後に、出力レイヤからピクチャを選択することと、を行うようにさらに構成されることを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータが1または複数のDPBレベルと1または複数のDPBサイズとを含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、プロセッサが、DPBサイズパラメータに含まれる第1のDPBサイズから第2のDPBサイズを推論するように構成されることを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータがピクチャ並べ替え数を含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータがレイテンシ情報を含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、複数のレイヤのうち1または複数が1または複数のサブレイヤを含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、復号ピクチャを表示するように構成されたディスプレイを提供する。
第4の態様は、符号化デバイスに関し、命令を含むメモリと、メモリに結合されたプロセッサであって、プロセッサが、命令を実装して、符号化デバイスに、複数のレイヤと、フラグを含むシーケンスパラメータセット(SPS)とを生成することと、複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、SPSを参照する複数のレイヤの各々が復号ピクチャバッファ(DPB)パラメータの同じセットを有するとき、SPS中のフラグを第1の値に設定することと、SPSを参照する複数のレイヤの各々が、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有するとき、SPS中のフラグを第2の値に設定することと、複数のレイヤおよびSPSをビデオビットストリームに符号化することと、を行わせるように構成されたプロセッサと、プロセッサに結合された送信機であって、送信機が、ビデオビットストリームをビデオデコーダに向けて送信するように構成されている、送信機と、を含む。
符号化デバイスは、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるか、あるいはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、フラグを利用して、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータおよび/またはレベル情報の同じセットを有するかどうかを指定する技術を提供する。フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、プロセッサが、符号化デバイスに、複数のレイヤのうちの1つを出力レイヤとして指定させ、複数のレイヤのうちの別のレイヤを非出力レイヤとして指定させるようにさらに構成されることを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータが1または複数のDPBレベルと1または複数のDPBサイズとを含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータが単一のDPBサイズのみを含むことを提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、複数のレイヤのうち1または複数が1または複数のサブレイヤを含むことを提供する。
第5の態様は、コーディング装置に関する。コーディング装置は、符号化するピクチャを受信するか、または復号化するビットストリームを受信するように構成された受信機と、受信機に結合された送信機であって、送信機が、ビットストリームをデコーダに送信するか、または復号化された画像をディスプレイに送信するように構成されている、送信機と、受信機または送信機のうちの少なくとも1つに結合されたメモリであって、メモリが、命令を記憶するように構成されている、メモリと、メモリに結合されたプロセッサであって、プロセッサが、メモリに記憶された命令を実行して、本明細書に開示された方法を実行するように構成されている、プロセッサと、を含む。
コーディング装置は、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるか、あるいはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、フラグを利用して、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータおよび/またはレベル情報の同じセットを有するかどうかを指定する技術を提供する。フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、復号ピクチャを表示するように構成されたディスプレイを提供する。
第6の態様は、システムに関する。システムは、エンコーダと、エンコーダと通信するデコーダとを含み、エンコーダまたはデコーダは、本明細書に開示される復号化デバイス、符号化デバイス、またはコーディング装置を含む。
システムは、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、またはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータおよび/またはレベル情報の同じセットを有するかどうかを指定するためにフラグを利用する技術を提供する。フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
第7の態様は、コーディングのための手段に関する。コーディングのための手段は、符号化するピクチャを受信するか、または復号化するビットストリームを受信するように構成された受信手段と、受信手段に結合された送信手段であって、送信手段が、ビットストリームを復号化手段に送信するか、または復号化された画像を表示手段に送信するように構成されている、送信手段と、受信手段または送信手段のうちの少なくとも1つに結合された記憶手段であって、記憶手段が、命令を記憶するように構成されている、記憶手段と、記憶手段に結合された処理手段であって、処理手段が、記憶手段に記憶された命令を実行して、本明細書に開示された方法を実行するように構成されている、処理手段と、を含む。
コーディングのための手段は、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるか、あるいはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、フラグを利用して、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータおよび/またはレベル情報の同じセットを有するかどうかを指定する技術を提供する。フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
明確にするために、前述の実施形態のうちのいずれか1つは、本開示の範囲内の新しい実施形態を作成するために、他の前述の実施形態のうちのいずれか1または複数と組み合わせてもよい。
これらおよび他の特徴は、添付の図面および特許請求の範囲と併せて以下の詳細な説明からより明確に理解されるであろう。
1または複数の実施形態の例示的な実装形態が以下に提供されるが、開示されるシステムおよび/または方法は、現在知られているかまたは存在しているかにかかわらず、任意の数の技術を使用して実装され得ることを最初に理解されたい。本開示は、本明細書で図示および説明される例示的な設計および実装形態を含む、以下に示される例示的な実装形態、図面、および技術に決して限定されるべきではなく、添付の特許請求の範囲内で、それらの均等物の全範囲とともに修正され得る。
以下の用語は、本明細書において反対の文脈で使用されない限り、以下のように定義される。具体的には、以下の定義は、本開示にさらなる明確性を提供することを意図する。しかしながら、用語は、異なる文脈において異なるように説明される場合がある。したがって、以下の定義は、補足として考慮されるべきであり、本明細書においてかかる用語について提供される説明の任意の他の定義を限定すると考慮されるべきではない。
ビットストリームは、エンコーダとデコーダとの間の送信のために圧縮されたビデオデータを含むビットのシーケンスである。エンコーダは、ビデオデータをビットストリームに圧縮するために符号化プロセスを採用するように構成されたデバイスである。デコーダは、表示のためにビットストリームからビデオデータを再構成するために復号化プロセスを採用するように構成されたデバイスである。ピクチャは、フレームまたはそのフィールドを作成する輝度サンプルのアレイおよび/または彩度サンプルのアレイである。符号化または復号化されているピクチャは、説明を明確にするために、カレントピクチャと称されることがある。参照ピクチャは、インター予測および/またはインターレイヤ予測に従って参照によって他のピクチャをコーディングするときに使用され得る参照サンプルを含むピクチャである。参照ピクチャリストは、インター予測および/またはインターレイヤ予測のために使用される参照ピクチャのリストである。一部のビデオコーディングシステムは、参照ピクチャリスト1および参照ピクチャリスト0として示され得る、2つの参照ピクチャリストを利用する。参照ピクチャリスト構造は、複数の参照ピクチャリストを含むアドレス指定可能なシンタックス構造である。インター予測は、参照ピクチャとカレントピクチャとが同じレイヤ中にある場合に、カレントピクチャとは異なる参照ピクチャ中の示されたサンプルを参照することによってカレントピクチャのサンプルをコーディングするメカニズムである。参照ピクチャリスト構造エントリは、参照ピクチャリストに関連付けられた参照ピクチャを示す参照ピクチャリスト構造内のアドレス指定可能な位置である。スライスヘッダは、スライス中で表されるタイル内の全てのビデオデータに関係するデータ要素を含むコード化スライスの一部である。ピクチャパラメータセット(PPS)は、ピクチャ全体に関連するデータを含むパラメータセットである。より具体的には、PPSは、各ピクチャヘッダ内に見出されるシンタックス要素によって決定されるような0以上のコード化ピクチャ全体に適用されるシンタックス要素を含むシンタックス構造である。シーケンスパラメータセット(SPS)は、ピクチャのシーケンスに関係するデータを含むパラメータセットである。アクセスユニット(AU)は、(例えば、ユーザに表示するための)復号ピクチャバッファ(DPB)からの出力のための同じ表示時間(例えば、同じピクチャ順序カウント)に関連付けられた1または複数のコード化ピクチャのセットである。アクセスユニットデリミタ(AUD)は、AUの開始またはAU間の境界を示すために使用されるインジケータまたはデータ構造である。復号化されたビデオシーケンスは、ユーザへの表示に備えてデコーダによって再構成されたピクチャのシーケンスである。
ネットワーク抽象化レイヤ(NAL)ユニットは、データのタイプの指示である生バイトシーケンスペイロード(RBSP)の形態のデータを含み、所望に応じてエミュレーション防止バイトが散在するシンタックス構造である。ビデオコーディングレイヤ(VCL)NALユニットは、ピクチャのコード化スライスなど、ビデオデータを含むようにコーディングされたNALユニットである。非VCL NALユニットは、ビデオデータの復号化、適合性検査の実行、または他の動作をサポートするシンタックスおよび/またはパラメータなどの非ビデオデータを含むNALユニットである。レイヤは、指定された特性(例えば、共通の解像度、フレームレート、画像サイズなど)を共有するVCL NALユニットと、関連する非VCL NALユニットとのセットである。レイヤのVCL NALユニットは、NALユニットヘッダレイヤ識別子(nuh_layer_id)の特定の値を共有し得る。コード化ピクチャは、アクセスユニット(AU)内のNALユニットヘッダレイヤ識別子(nuh_layer_id)の特定の値を有するVCL NALユニットを含み、ピクチャの全てのコーディングツリーユニット(CTU)を含むピクチャのコード化表現である。復号ピクチャは、コード化ピクチャに復号化プロセスを適用して生成されたピクチャである。
出力レイヤセット(OLS)は、1または複数のレイヤが出力レイヤ(複数可)として指定されるレイヤのセットである。出力レイヤは、(例えば、ディスプレイへの)出力のために指定されるレイヤである。第0(0番目)のOLSは、最下位レイヤ(最下位レイヤ識別子を有するレイヤ)のみを含むOLSであり、出力レイヤのみを含むOLSである。ビデオパラメータセット(VPS)は、ビデオ全体に関連するパラメータを含むデータユニットである。インターレイヤ予測は、参照レイヤ中の参照ピクチャを参照することによって現在のレイヤ中のカレントピクチャをコーディングするメカニズムであり、カレントピクチャと参照ピクチャとは同じAU中に含まれ、参照レイヤは現在のレイヤよりも低いnuh_layer_idを含む。
階層およびレベルは、最大ビットレート、最大輝度サンプルレート、最大輝度ピクチャサイズ、最小圧縮比、許容されるスライスの最大数、および許容されるタイルの最大数に関してビットストリームを定義する制約である。より低い階層はより高い階層よりも制約され、より低いレベルはより高いレベルよりも制約される。
復号ピクチャバッファ(DPB)は、仮想リファレンスデコーダに対して指定される参照、出力並べ替え、または出力遅延のために復号ピクチャを保持するバッファである。DPBパラメータは、DPBサイズと、任意選択的に、最大ピクチャ並べ替え数および最大レイテンシ情報とを与えるシンタックス構造である。サブレイヤは、時間スケーラブルビットストリームの時間スケーラブルレイヤであり、TemporalId変数の特定の値を有するVCL NALユニットと、関連する非VCL NALユニットとからなる。フラグは、変数または単一ビットのシンタックス要素であり、0および1という2つの可能な値のうちの1つをとることができる。
本明細書では、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、コード化ビデオシーケンス(CVS)、ジョイントビデオエキスパートチーム(JVET)、動き制約タイルセット(MCTS)、最大転送ユニット(MTU)、ネットワーク抽象化レイヤ(NAL)、ピクチャ順序カウント(POC)、ピクチャパラメータセット(PPS)、ローバイトシーケンスペイロード(RBSP)、シーケンスパラメータセット(SPS)、汎用ビデオコーディング(VVC)、およびワーキングドラフト(WD)の略語が使用される。
図1は、ビデオ信号をコーディングする例示的な動作方法100のフローチャートである。具体的には、ビデオ信号はエンコーダで符号化される。符号化プロセスは、ビデオファイルサイズを低減するために種々のメカニズムを採用することによってビデオ信号を圧縮する。ファイルサイズを小さくすることで、関連する帯域幅オーバーヘッドを低減しながら、圧縮されたビデオファイルをユーザに向けて送信することができる。デコーダは、圧縮されたビデオファイルを復号化して、エンドユーザに表示するための元のビデオ信号を再構成する。復号化プロセスは概して、符号化プロセスをミラーリングして、デコーダがビデオ信号を一貫して再構成することを可能にする。
ステップ101において、ビデオ信号がエンコーダに入力される。例えば、ビデオ信号は、メモリに記憶された非圧縮ビデオファイルであってもよい。別の例として、ビデオファイルは、ビデオカメラなどのビデオキャプチャデバイスによって取り込まれ、ビデオのライブストリーミングをサポートするために符号化されてもよい。ビデオファイルは、オーディオ成分とビデオ成分の両方を含み得る。ビデオ成分には一連の画像フレームが含まれており、これは、連続して見る場合、動きの視覚的な印象を与える。フレームには、本明細書では輝度成分(または輝度サンプル)と称される光と、彩度成分(または色サンプル)と称される色とで表されるピクセルが含まれる。一部の例では、フレームはまた、3次元ビューをサポートするための深度値を含み得る。
ステップ103において、ビデオはブロックに分割される。分割には、各フレーム内のピクセルを圧縮のために正方形および/または長方形のブロックに細分化することが含まれる。例えば、高効率ビデオコーディング(HEVC)(H.265およびMPEG-H Part2としても知られている)では、フレームは最初に、あらかじめ定義されたサイズ(例えば、64ピクセル×64ピクセル)のブロックであるコーディングツリーユニット(CTU)に分割することができる。CTUは、輝度サンプルと彩度サンプルとの両方を含む。コーディングツリーを採用して、CTUをブロックに分割し、次いで、さらなる符号化をサポートする構成が達成されるまで、ブロックを再帰的に細分化することができる。例えば、フレームの輝度成分は、個々のブロックが比較的均一な明度値を含むまで細分化されてもよい。さらに、フレームの彩度成分は、個々のブロックが比較的均一な色値を含むまで細分化されてもよい。このように、分割メカニズムは、ビデオフレームのコンテンツに応じて変化する。
ステップ105では、ステップ103で分割された画像ブロックを圧縮するために種々の圧縮メカニズムが採用される。例えば、インター予測および/またはイントラ予測が採用されてもよい。インター予測は、共通シーン中のオブジェクトが連続フレーム中に現れる傾向があるという事実を利用するように設計される。これにより、参照フレーム内のオブジェクトを示すブロックを隣接フレーム間で重複して記述する必要がなくなる。具体的には、テーブルなどのオブジェクトは、複数のフレームにわたって一定の位置に留まることができる。したがって、テーブルを一度記述すれば、隣接するフレームは参照フレームを参照することができる。パターンマッチングメカニズムを採用して、複数のフレームにわたってオブジェクトをマッチングすることができる。さらに、移動するオブジェクトは、例えばオブジェクトの移動またはカメラの移動に起因して、複数のフレームにわたって表現することができる。特定の例として、ビデオは、複数のフレームにわたってスクリーンを横切って移動する自動車を示すことができる。動きベクトルを採用して、かかる移動を記述することができる。動きベクトルは、フレーム内のオブジェクトの座標から参照フレーム内のオブジェクトの座標へのオフセットを提供する2次元ベクトルである。このように、インター予測は、現在のフレーム中の画像ブロックを、参照フレーム中の対応するブロックからのオフセットを示す動きベクトルのセットとして符号化することができる。
イントラ予測は、共通フレーム内のブロックを符号化する。イントラ予測は、輝度成分および彩度成分がフレーム内でクラスタ化する傾向があるという事実を利用する。例えば、ツリーの一部分における緑のパッチは、同様の緑のパッチに隣接して配置される傾向がある。イントラ予測は、複数の方向予測モード(例えば、HEVCでは33方向)と、平面モードと、直接カレント(DC)モードとを採用している。方向モードは、現在のブロックが該当方向の隣接ブロックのサンプルと類似/同一であることを示す。[0]平面モードは、行/列(例えば、平面)に沿った一連のブロックが、行の縁部における隣接ブロックに基づいて補間され得ることを示す。平面モードは、実際に、値を変化させる際に比較的一定の傾きを採用することによって、行/列にわたる光/色の遷移を滑らかにする。DCモードは、境界平滑化のために採用され、ブロックが、方向予測モードの角度方向に関連付けられた全ての隣接ブロックのサンプルに関連付けられた平均値と類似/同一であることを示す。このように、イントラ予測ブロックは、実際の値の代わりに種々の関係予測モード値として画像ブロックを表すことができる。さらに、インター予測ブロックは、実際の値の代わりに動きベクトル値として画像ブロックを表すことができる。いずれの場合も、予測ブロックは、場合によっては、画像ブロックを正確に表さないことがある。差分は、残差ブロックに記憶される。ファイルをさらに圧縮するために、残差ブロックに変換を適用することもできる。
ステップ107において、種々のフィルタリング技術を適用することができる。HEVCでは、フィルタは、ループ内フィルタリング方式に従って適用される。上記で説明したブロックベースの予測では、デコーダにおいてブロック状画像の作成が生じ得る。さらに、ブロックベースの予測方式は、ブロックを符号化し、次いで、参照ブロックとして後で使用するために符号化されたブロックを再構築することができる。ループ内フィルタリング方式は、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびサンプル適応オフセット(SAO)フィルタをブロック/フレームに反復的に適用する。これらのフィルタは、符号化されたファイルが正確に再構成され得るように、かかるブロッキングアーチファクトを軽減する。さらに、これらのフィルタは、再構築された参照ブロックにおけるアーチファクトを軽減し、それにより、アーチファクトは、再構築された参照ブロックに基づいて符号化される後続のブロックにおいて追加のアーチファクトを生成する可能性が低くなる。
ビデオ信号が分割され、圧縮され、フィルタリングされると、ステップ109において、得られたデータがビットストリームに符号化される。ビットストリームには、上述のデータの他、デコーダにおいて適切なビデオ信号の再構成をサポートするために所望される任意のシグナリングデータが含まれる。例えば、かかるデータには、パーティションデータと、予測データと、残差ブロックと、デコーダにコーディング命令を与える種々のフラグとが含まれてもよい。ビットストリームは、要求時にデコーダに向けて送信するためにメモリに記憶することができる。ビットストリームはまた、複数のデコーダに向けてブロードキャストおよび/またはマルチキャストされ得る。ビットストリームの作成は反復プロセスである。したがって、ステップ101、103、105、107、および109は、多くのフレームおよびブロックにわたって連続的におよび/または同時に行われ得る。図1に示される順序は、説明を明確にし、容易にするために提示されており、ビデオコーディングプロセスを特定の順序に限定することを意図するものではない。
デコーダは、ビットストリームを受信し、ステップ111において復号化プロセスを開始する。具体的には、デコーダは、エントロピー復号化方式を採用して、ビットストリームを対応するシンタックスおよびビデオデータに変換する。デコーダは、ステップ111において、ビットストリームからのシンタックスデータを採用して、フレームのパーティションを決定する。この分割は、ステップ103におけるブロック分割の結果と一致するはずである。次に、ステップ111で採用されるエントロピー符号化/復号化について説明する。エンコーダは、圧縮プロセス中に多くの選択を行い、例えば、入力画像(複数可)における値の空間的配置に基づいて複数の可能な選択からブロック分割方式を選択する。正確な選択をシグナリングするには、多数のビンを採用する場合がある。本明細書で使用される場合、ビンは、変数として扱われるバイナリ値(例えば、コンテキストに応じて変化し得るビット値)である。エントロピーコーディングにより、エンコーダが、特定のケースに対して明らかに実行可能でない任意のオプションを破棄し、許容可能なオプションのセットを残すことが可能になる。各許容可能なオプションにはコードワードが割り当てられる。コードワードの長さは、許容可能なオプションの数に基づく(例えば、2つのオプションに対して1つのビン、3~4つのオプションに対して2つのビンなど)。次いで、エンコーダは、選択されたオプションに対するコードワードを符号化する。この方式は、コードワードのサイズを低減するものであり、全ての可能なオプションの潜在的に大きなセットからの選択を一意的に示すのではなく、許容可能なオプションの小さなサブセットからの選択を一意的に示すためにコードワードが所望の大きさとなる。次いで、デコーダは、エンコーダと同様の方法で許容可能なオプションのセットを決定することによって選択を復号化する。許容可能なオプションのセットを決定することによって、デコーダは、コードワードを読み出し、エンコーダによって行われた選択を決定することができる。
ステップ113において、デコーダはブロック復号化を実行する。具体的には、デコーダは、残差ブロックを生成するために逆変換を採用する。次いで、デコーダは、残差ブロックおよび対応する予測ブロックを採用して、分割に従って画像ブロックを再構成する。予測ブロックは、ステップ105においてエンコーダで生成されたイントラ予測ブロックとインター予測ブロックとの両方を含み得る。次いで、再構成された画像ブロックは、ステップ111で決定された分割データに従って、再構成されたビデオ信号のフレームに配置される。ステップ113のシンタックスはまた、上記で説明したように、エントロピーコーディングを介してビットストリーム中でシグナリングされ得る。
ステップ115において、エンコーダにおけるステップ107と同様の方法で、再構成されたビデオ信号のフレームに対してフィルタリングが実行される。例えば、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびSAOフィルタをフレームに適用して、ブロッキングアーチファクトが除去されてもよい。フレームがフィルタリングされると、ビデオ信号は、エンドユーザによる視聴のために、ステップ117においてディスプレイに出力され得る。
図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とを含んでもよい。以下、これらについて説明する。
分割ビデオ信号201は、コーディングツリーによってピクセルのブロックに分割された取り込まれたビデオシーケンスである。コーディングツリーは、種々の分割モードを採用して、ピクセルのブロックをより小さいピクセルのブロックに細分化する。次いで、これらのブロックは、より小さいブロックにさらに細分化することができる。ブロックは、コーディングツリー上のノードと称され得る。より大きな親ノードは、より小さな子ノードに分割される。ノードが細分化される回数は、ノード/コーディングツリーの深度と称される。分割されたブロックは、場合によってはコーディングユニット(CU)に含まれ得る。例えば、CUは、CUのための対応するシンタックス命令とともに、輝度ブロック、赤色差彩度(Cr)ブロック(複数可)、および青色差彩度(Cb)ブロック(複数可)を含むCTUの下位部分であってもよい。分割モードは、二分木(BT)、三分木(TT)、および四分木(QT)を含み得、これらは、採用される分割モードに応じて種々の形状の2つ、3つ、または4つの子ノードにノードをそれぞれ分割するために採用される。分割ビデオ信号201は、圧縮のために、汎用コーダ制御コンポーネント211、変換スケーリングおよび量子化コンポーネント213、イントラピクチャ推定コンポーネント215、フィルタ制御分析コンポーネント227、および動き推定コンポーネント221に転送される。
汎用コーダ制御コンポーネント211は、アプリケーション制約に従ってビデオシーケンスの画像をビットストリームにコーディングすることに関連する決定を行うように構成される。例えば、汎用コーダ制御コンポーネント211は、再構成品質に対するビットレート/ビットストリームサイズの最適化を管理する。かかる決定は、記憶空間/帯域幅利用可能性および画像解像度の要求に基づいて行うことができる。汎用コーダ制御コンポーネント211はまた、バッファのアンダーランおよびオーバーランの問題を軽減するために、送信速度を考慮してバッファ利用量を管理する。これらの問題を管理するために、汎用コーダ制御コンポーネント211は、他のコンポーネントによる分割、予測、およびフィルタリングを管理する。例えば、汎用コーダ制御コンポーネント211は、解像度を増加させ、帯域幅使用量を増加させるために圧縮複雑度を動的に増加させるか、または解像度および帯域幅使用量を減少させるために圧縮複雑度を減少させてもよい。したがって、汎用コーダ制御コンポーネント211は、コーデックシステム200の他のコンポーネントを制御して、ビデオ信号の再構成品質とビットレートの関係とのバランスをとる。汎用コーダ制御コンポーネント211は、他のコンポーネントの動作を制御する制御データを作成する。制御データはまた、ヘッダフォーマッティングおよびCABACコンポーネント231に転送され、ビットストリーム中で符号化されて、デコーダにおける復号化のためのパラメータをシグナリングする。
分割ビデオ信号201はまた、インター予測のために動き推定コンポーネント221および動き補償コンポーネント219に送られる。分割ビデオ信号201のフレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定コンポーネント221および動き補償コンポーネント219は、時間予測を行うために、1または複数の参照フレーム中の1または複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。コーデックシステム200は、例えば、複数のコーディングパスを実行して、ビデオデータの各ブロックについて適切なコーディングモードを選択してもよい。
動き推定コンポーネント221および動き補償コンポーネント219は、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定コンポーネント221によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、予測ブロックに対するコード化オブジェクトの変位を示してもよい。予測ブロックは、ピクセル差分に関して、コーディングされるブロックに厳密に一致することが判明したブロックである。予測ブロックは参照ブロックと称されることもある。かかるピクセル差分は、差分絶対値和(SAD)、差分二乗和(SSD)、または他の差分メトリックによって決定され得る。HEVCは、CTUと、コーディングツリーブロック(CTB)と、CUとを含む複数のコード化オブジェクトとを採用する。例えば、CTUはCTBに分割されてもよく、次いで、CTBは、CU中に含めるためにCBに分割されてもよい。CUは、予測データを含む予測ユニット(PU)および/またはCUのための変換された残差データを含む変換ユニット(TU)として符号化され得る。動き推定コンポーネント221は、レート歪み最適化プロセスの一部としてレート歪み分析を使用することによって、動きベクトル、PU、およびTUを生成する。例えば、動き推定コンポーネント221は、現在のブロック/フレームに関する複数の参照ブロック、複数の動きベクトルなどを決定してもよく、最良のレート歪み特性を有する参照ブロック、動きベクトルなどを選択してもよい。最良のレート歪み特性により、ビデオ再構成の品質(例えば、圧縮によるデータ損失の量)とコーディング効率(例えば、最終的な符号化のサイズ)との両方のバランスがとられる。
一部の例では、コーデックシステム200は、復号ピクチャバッファコンポーネント223に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算し得る。例えば、ビデオコーデックシステム200は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間してもよい。したがって、動き推定コンポーネント221は、全ピクセル位置と分数ピクセル位置とに対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。動き推定コンポーネント221は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUの動きベクトルを計算する。動き推定コンポーネント221は、計算された動きベクトルを動きデータとして、符号化のためにヘッダフォーマッティングおよびCABACコンポーネント231に出力し、動きを、動き補償コンポーネント219に出力する。
動き補償コンポーネント219によって実行される動き補償は、動き推定コンポーネント221によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。この場合も、動き推定コンポーネント221および動き補償コンポーネント219は、一部の例では機能的に統合され得る。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償コンポーネント219は、動きベクトルが指す予測ブロックの位置を特定し得る。次いで、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックが形成される。概して、動き推定コンポーネント221は、輝度成分に対して動き推定を実行し、動き補償コンポーネント219は、彩度成分と輝度成分の両方について、輝度成分に基づいて計算された動きベクトルを使用する。予測ブロックおよび残差ブロックは、変換スケーリングおよび量子化コンポーネント213に転送される。
分割ビデオ信号201はまた、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217に送られる。動き推定コンポーネント221および動き補償コンポーネント219と同様に、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、高度に統合され得るが、概念的な目的のために別々に示されている。イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、上記で説明したように、フレーム間で動き推定コンポーネント221および動き補償コンポーネント219によって実行されるインター予測の代替として、現在のフレーム中のブロックに対して現在のブロックをイントラ予測する。特に、イントラピクチャ推定コンポーネント215は、現在のブロックを符号化するために使用されるイントラ予測モードを決定する。一部の例では、イントラピクチャ推定コンポーネント215は、複数の試験済みのイントラ予測モードから、現在のブロックを符号化するために適切なイントラ予測モードを選択する。選択されたイントラ予測モードは、次いで、符号化のためにヘッダフォーマッティングおよびCABACコンポーネント231に転送される。
例えば、イントラピクチャ推定コンポーネント215は、種々の試験済みのイントラ予測モードについてレート歪み分析を使用してレート歪み値を計算し、試験されたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択する。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(またはエラー)の量、ならびに符号化ブロックを生成するために使用されるビットレート(例えば、ビット数)を決定する。イントラピクチャ推定コンポーネント215は、種々の符号化ブロックについて歪みおよびレートから比率を計算し、どのイントラ予測モードがブロックについて最良のレート歪み値を示すかを判定する。加えて、イントラピクチャ推定コンポーネント215は、レート歪み最適化(RDO)に基づく深度モデリングモード(DMM)を使用して深度マップの深度ブロックをコーディングするように構成されてもよい。
イントラピクチャ予測コンポーネント217は、エンコーダ上で実装される場合、イントラピクチャ推定コンポーネント215によって決定された選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成することができ、またはデコーダ上で実装される場合、ビットストリームから残差ブロックを読み出すことができる。残差ブロックには、行列として表される、予測ブロックと元のブロックとの間の値の差が含まれる。残差ブロックは、次いで、変換スケーリングおよび量子化コンポーネント213に転送される。イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、輝度成分と彩度成分との両方に対して動作し得る。
変換スケーリングおよび量子化コンポーネント213は、残差ブロックをさらに圧縮するように構成される。変換スケーリングおよび量子化コンポーネント213は、離散コサイン変換(DCT)、離散サイン変換(DST)、または概念的に同様の変換などの変換を残差ブロックに適用して、残差変換係数値を含むビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換を使用することもできる。この変換により、残差情報をピクセル値領域から周波数領域などの変換領域に変換することができる。変換スケーリングおよび量子化コンポーネント213はまた、例えば周波数に基づいて、変換された残差情報をスケーリングするように構成される。かかるスケーリングは、異なる周波数情報が異なる粒度で量子化されるように残差情報にスケールファクタを適用するものであり、再構成されたビデオの最終的な視覚的品質に影響を及ぼす可能性がある。変換スケーリングおよび量子化コンポーネント213はまた、変換係数を量子化してビットレートをさらに低減するように構成される。量子化プロセスにより、係数の一部または全部に関連するビット深度を低減させることができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。一部の例では、変換スケーリングおよび量子化コンポーネント213は、次いで、量子化変換係数を含む行列のスキャンを実行し得る。量子化変換係数は、ヘッダフォーマッティングおよびCABACコンポーネント231に転送され、ビットストリーム中で符号化される。
スケーリングおよび逆変換コンポーネント229は、変換スケーリングおよび量子化コンポーネント213の逆演算を適用して、動き推定をサポートする。スケーリングおよび逆変換コンポーネント229は、逆スケーリング、変換、および/または量子化を適用して、例えば、別の現在のブロックのための予測ブロックになり得る参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き推定コンポーネント221および/または動き補償コンポーネント219は、後のブロック/フレームの動き推定において使用するために、残差ブロックを対応する予測ブロックに加算することによって、参照ブロックを計算することができる。再構成された参照ブロックにフィルタを適用して、スケーリング、量子化、および変換中に生成されるアーチファクトが軽減される。かかるアーチファクトがあると、別様で、後続のブロックが予測される際に不正確な予測を引き起こす(かつ、追加のアーチファクトを生成する)可能性がある。
フィルタ制御分析コンポーネント227およびループ内フィルタコンポーネント225は、残差ブロックおよび/または再構成画像ブロックにフィルタを適用する。例えば、スケーリングおよび逆変換コンポーネント229からの変換された残差ブロックは、イントラピクチャ予測コンポーネント217および/または動き補償コンポーネント219からの対応する予測ブロックと組み合わせて、元の画像ブロックを再構成することができる。次いで、フィルタは、再構成された画像ブロックに適用され得る。一部の例では、フィルタは、代わりに残差ブロックに適用され得る。図2の他のコンポーネントと同様に、フィルタ制御分析コンポーネント227およびループ内フィルタコンポーネント225は、高度に統合され、一緒に実装され得るが、概念的な目的のために別々に示されている。再構成された参照ブロックに適用されるフィルタは、特定の空間領域に適用されており、かかるフィルタがどのように適用されるかを調整するための複数のパラメータを含む。フィルタ制御分析コンポーネント227は、再構成された参照ブロックを分析して、かかるフィルタが適用されるべき場所を決定し、対応するパラメータを設定する。かかるデータは、符号化のためのフィルタ制御データとしてヘッダフォーマッティングおよびCABACコンポーネント231に転送される。ループ内フィルタコンポーネント225は、フィルタ制御データに基づいてかかるフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、および適応ループフィルタを含み得る。かかるフィルタは、例に応じて、空間/ピクセル領域において(例えば、再構成されたピクセルブロック上で)、または周波数領域において適用されてもよい。
エンコーダとして動作する場合、フィルタリングされた再構成画像ブロック、残差ブロック、および/または予測ブロックは、上記で説明した動き推定において後で使用するために、復号ピクチャバッファコンポーネント223に記憶される。デコーダとして動作する場合、復号ピクチャバッファコンポーネント223は、再構成されフィルタリングされたブロックを記憶し、出力ビデオ信号の一部としてディスプレイに転送する。復号ピクチャバッファコンポーネント223は、予測ブロック、残差ブロック、および/または再構築された画像ブロックを記憶することが可能な任意のメモリデバイスであり得る。
ヘッダフォーマッティングおよびCABACコンポーネント231は、コーデックシステム200の種々のコンポーネントからデータを受信し、デコーダに向けて送信するために、かかるデータをコード化ビットストリームに符号化する。具体的には、ヘッダフォーマッティングおよびCABACコンポーネント231は、種々のヘッダを生成して、一般制御データおよびフィルタ制御データなどの制御データを符号化する。さらに、イントラ予測および動きデータを含む予測データ、ならびに量子化変換係数データの形態の残差データは全て、ビットストリームにおいて符号化される。最終的なビットストリームは、元の分割ビデオ信号201を再構成するためにデコーダによって所望される全ての情報を含む。かかる情報はまた、イントラ予測モードインデックステーブル(コードワードマッピングテーブルとも称される)、種々のブロックのための符号化コンテキストの定義、最確イントラ予測モードの指示、パーティション情報の指示などを含み得る。かかるデータは、エントロピーコーディングを採用することによって符号化され得る。例えば、情報は、コンテキスト適応型可変長コーディング(CAVLC)、CABAC、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率区間区分エントロピー(PIPE)コーディング、または別のエントロピーコーディング技術を採用することによって符号化されてもよい。エントロピーコーディングに続いて、コード化ビットストリームは、別のデバイス(例えば、ビデオデコーダ)に送信されるか、または後の送信もしくは取り出しのためにアーカイブされ得る。
図3は、例示的なビデオエンコーダ300を示すブロック図である。ビデオエンコーダ300を採用して、コーデックシステム200の符号化機能を実装し、かつ/または動作方法100のステップ101、103、105、107、および/もしくは109を実装することができる。エンコーダ300は、入力ビデオ信号を分割し、それにより、分割ビデオ信号201と実質的に同様の分割ビデオ信号301をもたらす。次いで、分割ビデオ信号301は、エンコーダ300のコンポーネントによって圧縮され、ビットストリームに符号化される。
具体的には、分割ビデオ信号301は、イントラ予測のためにイントラピクチャ予測コンポーネント317に転送される。イントラピクチャ予測コンポーネント317は、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217と実質的に同様であり得る。分割ビデオ信号301はまた、復号ピクチャバッファコンポーネント323内の参照ブロックに基づくインター予測のために動き補償コンポーネント321に転送される。動き補償コンポーネント321は、動き推定コンポーネント221および動き補償コンポーネント219と実質的に同様であり得る。イントラピクチャ予測コンポーネント317および動き補償コンポーネント321からの予測ブロックおよび残差ブロックは、残差ブロックの変換および量子化のために変換および量子化コンポーネント313に転送される。変換および量子化コンポーネント313は、変換スケーリングおよび量子化コンポーネント213と実質的に同様であり得る。変換および量子化された残差ブロックおよび対応する予測ブロックは、(関連する制御データとともに)ビットストリームにコーディングするためにエントロピーコーディングコンポーネント331に転送される。エントロピーコーディングコンポーネント331は、ヘッダフォーマッティングおよびCABACコンポーネント231と実質的に同様であり得る。
変換および量子化された残差ブロックおよび/または対応する予測ブロックはまた、動き補償コンポーネント321による使用のために参照ブロックに再構成するために、変換および量子化コンポーネント313から逆変換および量子化コンポーネント329に転送される。逆変換および量子化コンポーネント329は、スケーリングおよび逆変換コンポーネント229と実質的に同様であり得る。例に応じて、ループ内フィルタコンポーネント325中のループ内フィルタも、残差ブロックおよび/または再構成された参照ブロックに適用される。ループ内フィルタコンポーネント325は、フィルタ制御分析コンポーネント227およびループ内フィルタコンポーネント225と実質的に同様であり得る。ループ内フィルタコンポーネント325は、ループ内フィルタコンポーネント225に関して説明したような複数のフィルタを含み得る。次いで、フィルタリングされたブロックは、動き補償コンポーネント321によって参照ブロックとして使用するために、復号ピクチャバッファコンポーネント323に記憶される。復号ピクチャバッファコンポーネント323は、復号ピクチャバッファコンポーネント223と実質的に同様であり得る。
図4は、例示的なビデオデコーダ400を示すブロック図である。ビデオデコーダ400を採用して、コーデックシステム200の復号化機能を実装し、かつ/または動作方法100のステップ111、113、115、および/もしくは117を実装することができる。デコーダ400は、例えばエンコーダ300からビットストリームを受信し、エンドユーザに表示するためにビットストリームに基づいて再構成された出力ビデオ信号を生成する。
ビットストリームは、エントロピー復号化コンポーネント433によって受信される。エントロピー復号化コンポーネント433は、CAVLC、CABAC、SBAC、PIPEコーディング、または他のエントロピーコーディング技術などのエントロピー復号化方式を実装するように構成される。例えば、エントロピー復号化コンポーネント433は、ビットストリーム中のコードワードとして符号化された追加のデータを解釈するためのコンテキストを与えるためにヘッダ情報を採用してもよい。復号化された情報には、一般制御データ、フィルタ制御データ、パーティション情報、動きデータ、予測データ、および残差ブロックからの量子化変換係数など、ビデオ信号を復号化するための任意の所望の情報が含まれる。量子化変換係数は、残差ブロックへの再構成のために逆変換および量子化コンポーネント429に転送される。逆変換および量子化コンポーネント429は、逆変換および量子化コンポーネント329と同様であり得る。
再構成された残差ブロックおよび/または予測ブロックは、イントラ予測動作に基づいて画像ブロックに再構成するために、イントラピクチャ予測コンポーネント417に転送される。イントラピクチャ予測コンポーネント417は、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217と同様であり得る。具体的には、イントラピクチャ予測コンポーネント417は、予測モードを採用してフレーム内の参照ブロックの位置を特定し、その結果に残差ブロックを適用してイントラ予測された画像ブロックを再構成する。再構成されたイントラ予測画像ブロックおよび/または残差ブロックならびに対応するインター予測データは、ループ内フィルタコンポーネント425を介して復号ピクチャバッファコンポーネント423に転送され、これらはそれぞれ、ループ内フィルタコンポーネント225および復号ピクチャバッファコンポーネント223と実質的に同様であり得る。ループ内フィルタコンポーネント425は、再構成された画像ブロック、残差ブロック、および/または予測ブロックをフィルタリングし、かかる情報は、復号ピクチャバッファコンポーネント423に記憶される。復号ピクチャバッファコンポーネント423からの再構成された画像ブロックは、インター予測のために動き補償コンポーネント421に転送される。動き補償コンポーネント421は、動き推定コンポーネント221および/または動き補償コンポーネント219と実質的に同様であり得る。具体的には、動き補償コンポーネント421は、参照ブロックからの動きベクトルを採用して予測ブロックを生成し、その結果に残差ブロックを適用して画像ブロックを再構成する。結果として得られる再構成ブロックはまた、ループ内フィルタコンポーネント425を介して復号ピクチャバッファコンポーネント423に転送され得る。復号ピクチャバッファコンポーネント423は、追加の再構成画像ブロックを記憶し続け、これは、パーティション情報を介してフレームに再構成され得る。かかるフレームはまた、シーケンス内に配置することができる。シーケンスは、再構成された出力ビデオ信号としてディスプレイに向けて出力される。
上記を念頭に置くと、ビデオ圧縮技術は、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を実行して、ビデオシーケンスに固有の冗長性を低減または除去する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオピクチャまたはビデオピクチャの一部分)は、ビデオブロックに分割され得、これは、ツリーブロック、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、および/またはコーディングノードと称されることもある。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと称されることがあり、参照ピクチャは参照フレームと称されることがある。POCは、各ピクチャに関連付けられた変数であり、コード化レイヤビデオシーケンス(CLVS)中の全てのピクチャの中で関連するピクチャを一意に識別し、関連するピクチャがいつDPBから出力されるかを示し、DPBから出力される同じCLVS中の他のピクチャの出力順序位置に対する出力順序における関連するピクチャの位置を示す。フラグは、変数または単一ビットのシンタックス要素であり、0および1という2つの可能な値のうちの1つをとることができる。
空間予測または時間予測は、コーディングされるブロックの予測ブロックをもたらす。残差データは、コーディングされる元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され得、残差変換係数をもたらし、残差変換係数は次いで量子化され得る。最初に2次元アレイに配列された量子化変換係数は、変換係数の1次元ベクトルを生成するためにスキャンされ得、さらに多くの圧縮を達成するためにエントロピーコーディングが適用され得る。
画像およびビデオ圧縮は急速な成長しており、種々のコーディング規格につながっている。かかるビデオコーディング規格には、ITU-T H.261、国際標準化機構/国際電気標準会議(ISO/IEC)MPEG-1 Part2、ITU-T H.262またはISO/IEC MPEG-2 Part2、ITU-T H.263、ISO/IEC MPEG-4 Part2、ITU-T H.264またはISO/IEC MPEG-4 Part10としても知られるアドバンストビデオコーディング(AVC)、およびITU-T H.265またはMPEG-H Part2としても知られる高効率ビデオコーディング(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規格は複数のワーキングドラフトを有するが、特にVVCの1つのワーキングドラフト(WD)、すなわち、B.Bross、J.Chen、およびS.Liu、「Versatile Video Coding(Draft5)」、JVET-N1001-v3、13th JVET Meeting、2019年3月27日(VVC Draft5)が本明細書で参照される。
ビデオコーディングにおけるスケーラビリティは、通常、マルチレイヤコーディング技術を使用することによってサポートされる。マルチレイヤビットストリームは、ベースレイヤ(BL)と1または複数のエンハンスメントレイヤ(EL)とを含む。スケーラビリティの例として、空間スケーラビリティ、品質/信号対雑音(SNR)スケーラビリティ、マルチビュースケーラビリティなどが挙げられる。マルチレイヤコーディング技術が使用される場合、ピクチャまたはその一部は、(1)参照ピクチャを使用せずに、すなわちイントラ予測を使用して、(2)同じレイヤ中にある参照ピクチャを参照することによって、すなわちインター予測を使用して、または(3)他のレイヤ(複数可)中にある参照ピクチャを参照することによって、すなわちインターレイヤ予測を使用して、コーディングされてもよい。カレントピクチャのインターレイヤ予測に使用される参照ピクチャを、インターレイヤ参照ピクチャ(ILRP)という。
図5は、レイヤベース予測500の一例を示す概略図であり、レイヤベース予測500を実行して、例えば、ブロック圧縮ステップ105、ブロック復号化ステップ113、動き推定コンポーネント221、動き補償コンポーネント219、動き補償コンポーネント321、および/または動き補償コンポーネント421においてMVが決定される。レイヤベース予測500は、単方向インター予測および/または双方向インター予測と互換性があるが、異なるレイヤ中のピクチャ間でも実行される。
レイヤベース予測500は、異なるレイヤ中のピクチャ511、512、513、および514とピクチャ515、516、517、および518との間で適用される。図示の例では、ピクチャ511、512、513、および514はレイヤN+1 532の一部であり、ピクチャ515、516、517、および518はレイヤN 531の一部である。レイヤN 531および/またはレイヤN+1 532などのレイヤは、同様のサイズ、品質、解像度、信号対雑音比、能力などの特性の同様の値に全て関連付けられたピクチャのグループである。図示の例では、レイヤN+1 532は、レイヤN 531よりも大きい画像サイズに関連付けられている。したがって、この例では、レイヤN+1 532中のピクチャ511、512、513、および514は、レイヤN 531中のピクチャ515、516、517、および518よりも大きいピクチャサイズ(例えば、より大きい高さおよび幅、したがってより多くのサンプル)を有する。しかしながら、かかるピクチャは、他の特性によってレイヤN+1 532とレイヤN 531との間で分離され得る。2つのレイヤ、レイヤN+1 532およびレイヤN 531のみが示されているが、ピクチャのセットは、関連する特性に基づいて任意の数のレイヤに分離され得る。レイヤN+1 532およびレイヤN 531はまた、レイヤIDによって示され得る。レイヤIDは、ピクチャに関連付けられたデータのアイテムであり、ピクチャが示されたレイヤの一部であることを示している。したがって、各ピクチャ511~518は、対応するレイヤIDに関連付けられて、どのレイヤN+1 532またはレイヤN 531が対応するピクチャを含むかを示すことができる。
異なるレイヤ531~532におけるピクチャ511~518は、択一的に表示されるように構成される。したがって、異なるレイヤ531~532中のピクチャ511~518は、同じテンポラル識別子(ID)を共有することができ、同じAU中に含まれ得る。本明細書で使用される場合、AUは、DPBからの出力のための同じ表示時間に関連付けられた1または複数のコード化ピクチャのセットである。例えば、例として、デコーダは、より小さいピクチャが所望される場合、現在の表示時間においてピクチャ515を復号化および表示することができ、またはデコーダは、より大きいピクチャが所望される場合、現在の表示時間においてピクチャ511を復号化および表示することができる。したがって、上位レイヤN+1 532におけるピクチャ511~514は、(ピクチャサイズの違いにもかかわらず)下位レイヤN 531における対応するピクチャ515~518と実質的に同じ画像データを含む。具体的には、ピクチャ511はピクチャ515と実質的に同じ画像データを含み、ピクチャ512はピクチャ516と実質的に同じ画像データを含み、以下同様である。
ピクチャ511~518は、同じレイヤN 531またはN+1 532中の他のピクチャ511~518を参照することによってコーディングされ得る。同じレイヤ中の別のピクチャを参照してピクチャをコーディングすることで、インター予測523が得られ、これは、単方向インター予測および/または双方向インター予測と互換性を有している。インター予測523は、実線矢印によって示されている。例えば、ピクチャ513は、レイヤN+1 532中のピクチャ511、512、および/または514のうちの1つまたは2つを参照として使用するインター予測523を採用することによってコーディングされてもよく、ここで、1つのピクチャは単方向インター予測のために参照され、かつ/または2つのピクチャは双方向インター予測のために参照される。さらに、ピクチャ517は、レイヤN 531中のピクチャ515、516、および/または518のうちの1つまたは2つを参照として使用するインター予測523を採用することによってコーディングされてもよく、ここで、1つのピクチャは、単方向インター予測のために参照され、かつ/または2つのピクチャは、双方向インター予測のために参照される。ピクチャが、インター予測523を実行する際に同じレイヤ中の別のピクチャのための参照として使用される場合、ピクチャは参照ピクチャと称されることがある。例えば、ピクチャ512は、インター予測523に従ってピクチャ513をコーディングするために使用される参照ピクチャであってもよい。インター予測523は、マルチレイヤコンテキストにおいてイントラレイヤ予測と称されることもある。したがって、インター予測523は、参照ピクチャとカレントピクチャとが同じレイヤ中にある場合に、カレントピクチャとは異なる参照ピクチャ中の示されたサンプルを参照することによってカレントピクチャのサンプルをコーディングするメカニズムである。
ピクチャ511~518はまた、異なるレイヤ中の他のピクチャ511~518を参照することによってコーディングされ得る。このプロセスは、インターレイヤ予測521として知られており、破線矢印によって示されている。インターレイヤ予測521は、カレントピクチャと参照ピクチャとが異なるレイヤ中にあり、それにより異なるレイヤIDを有する場合に、参照ピクチャ中の示されたサンプルを参照することによってカレントピクチャのサンプルをコーディングするメカニズムである。例えば、下位レイヤN 531中のピクチャは、上位レイヤN+1 532における対応するピクチャをコーディングするための参照ピクチャとして使用されてもよい。特定の例として、ピクチャ511は、インターレイヤ予測521に従ってピクチャ515を参照することによってコーディングされ得る。かかる場合、ピクチャ515はインターレイヤ参照ピクチャとして使用される。インターレイヤ参照ピクチャは、インターレイヤ予測521に使用される参照ピクチャである。ほとんどの場合、インターレイヤ予測521は、ピクチャ511などのカレントピクチャが、同じAUに含まれ、ピクチャ515などの下位レイヤにあるインターレイヤ参照ピクチャ(複数可)のみを使用できるように制約される。複数のレイヤ(例えば、3つ以上)が利用可能であるとき、インターレイヤ予測521は、カレントピクチャよりも低いレベルの複数のインターレイヤ参照ピクチャ(複数可)に基づいてカレントピクチャを符号化/復号化することができる。
ビデオエンコーダは、レイヤベース予測500を採用して、インター予測523およびインターレイヤ予測521の多くの異なる組み合わせおよび/または置換を介してピクチャ511~518を符号化することができる。例えば、ピクチャ515は、イントラ予測に従ってコーディングされてもよい。ピクチャ516~518は、次いで、ピクチャ515を参照ピクチャとして使用することによって、インター予測523に従ってコーディングされ得る。さらに、ピクチャ511は、ピクチャ515をインターレイヤ参照ピクチャとして使用することによって、インターレイヤ予測521に従ってコーディングされ得る。ピクチャ512~514は、次いで、ピクチャ511を参照ピクチャとして使用することによって、インター予測523に従ってコーディングされ得る。したがって、参照ピクチャは、異なるコーディングメカニズムのためのシングルレイヤ参照ピクチャとインターレイヤ参照ピクチャとの両方として機能し得る。下位レイヤN 531ピクチャに基づいて上位レイヤN+1 532ピクチャをコーディングすることによって、上位レイヤN+1 532は、インター予測523およびインターレイヤ予測521よりもコーディング効率が極めて低いイントラ予測を採用することを回避することができる。したがって、イントラ予測の低いコーディング効率は、最小/最低品質のピクチャに限定され得、それにより、最小量のビデオデータをコーディングすることに限定することができる。参照ピクチャおよび/またはインターレイヤ参照ピクチャとして使用されるピクチャは、参照ピクチャリスト構造に含まれる参照ピクチャリスト(複数可)のエントリ中で示され得る。
図5中の各AU506は、複数のピクチャを含み得る。例えば、1つのAU506は、ピクチャ511および515を含んでもよい。別のAU506は、ピクチャ512および516を含んでもよい。実際、各AU506は、(例えば、ユーザに表示するための)復号ピクチャバッファ(DPB)からの出力のための同じ表示時間(例えば、同じテンポラルID)に関連付けられた1または複数のコード化ピクチャのセットである。各AUD508は、AU(例えば、AU508)の開始またはAU間の境界を示すために使用されるインジケータまたはデータ構造である。
過去のH.26xビデオコーディングファミリは、単一レイヤコーディングのためのプロファイル(複数可)とは別のプロファイル(複数可)におけるスケーラビリティのサポートを提供している。スケーラブルビデオコーディング(SVC)は、空間スケーラビリティ、時間スケーラビリティ、および品質スケーラビリティのサポートを提供するAVC/H.264のスケーラブル拡張機能である。SVCの場合、EL MBが下位レイヤからのコロケートブロックを使用して予測されるかどうかを示すために、ELピクチャ中の各マクロブロック(MB)中でフラグがシグナリングされる。コロケートされたブロックからの予測は、テクスチャ、動きベクトル、および/またはコーディングモードを含み得る。SVCの実装形態は、それらの設計において、修正されていないH.264/AVC実装形態を直接再使用することはできない。SVC ELマクロブロックシンタックスおよび復号化プロセスは、H.264/AVCシンタックスおよび復号化プロセスとは異なる。
スケーラブルHEVC(SHVC)は、空間スケーラビリティおよび品質スケーラビリティのサポートを提供するHEVC/H.265規格の拡張機能であり、マルチビューHEVC(MV-HEVC)は、マルチビュースケーラビリティのサポートを提供するHEVC/H.265の拡張機能であり、3D HEVC(3D-HEVC)は、MV-HEVCよりも高度で効率的な3次元(3D)ビデオコーディングのサポートを提供するHEVC/H.264の拡張機能である。時間スケーラビリティは、単一レイヤHEVCコーデックの一体部分として含まれることに留意されたい。HEVCのマルチレイヤ拡張機能の設計は、インターレイヤ予測のために使用される復号ピクチャが同じアクセスユニット(AU)からのみ取得され、長期参照ピクチャ(LTRP)として扱われ、現在のレイヤ中の他の時間参照ピクチャとともに参照ピクチャリスト(複数可)中の参照インデックスを割り当てられるという考えを採用している。インターレイヤ予測(ILP)は、参照ピクチャリスト(複数可)中のインターレイヤ参照ピクチャ(複数可)を参照するように参照インデックスの値を設定することによって、予測ユニット(PU)レベルで達成される。
特に、参照ピクチャリサンプリングおよび空間スケーラビリティ特徴の両方は、参照ピクチャまたはその一部のリサンプリングを必要とする。参照ピクチャリサンプリング(RPR)は、ピクチャレベルまたはコーディングブロックレベルのいずれかで実現することができる。しかしながら、RPRがコーディング特徴として参照されるとき、それは単一レイヤコーディングのための特徴である。それでも、単一レイヤコーディングのRPR特徴およびマルチレイヤコーディングの空間スケーラビリティ特徴の両方に同じリサンプリングフィルタを使用することは、は、コーデック設計の観点から可能であり、また望ましいとさえ言える。
図6は、出力レイヤセット(OLS)を利用するレイヤベース予測600の一例を示しており、レイヤベース予測600を実行して、例えば、ブロック圧縮ステップ105、ブロック復号化ステップ113、動き推定コンポーネント221、動き補償コンポーネント219、動き補償コンポーネント321、および/または動き補償コンポーネント421においてMVが決定される。レイヤベース予測600は、単方向インター予測および/または双方向インター予測と互換性があるが、異なるレイヤ中のピクチャ間でも実行される。図6のレイヤベース予測は、図5のレイヤベース予測と同様である。したがって、簡潔にするために、レイヤベースの予測の完全な説明は繰り返さない。
図6のコード化ビデオシーケンス(CVS)690中のレイヤの一部は、OLS中に含まれる。OLSは、1または複数のレイヤが出力レイヤとして指定されるレイヤのセットである。出力レイヤは、出力されるOLSのレイヤである。図6は、3つの異なるOLS、すなわちOLS1、OLS2、およびOLS3を示している。図示のように、OLS1は、レイヤN 631およびレイヤN+1 632を含む。OLS2は、レイヤN 631、レイヤN+1 632、レイヤN+2 633、およびレイヤN+1 634を含む。OLS3は、レイヤN 631、レイヤN+1 632、およびレイヤN+2 633を含む。3つのOLSが示されているが、実際のアプリケーションでは異なる数のOLSを使用することができる。
異なるOLSの各々は、任意の数のレイヤを含み得る。異なるOLSは、種々のコーディング能力を有する種々の異なるデバイスのコーディング能力に対応するために生成される。例えば、2つのレイヤのみを含むOLS1は、比較的限られたコーディング能力を有する携帯電話を収容するために生成されてもよい。[0]一方、4つのレイヤを含むOLS2は、携帯電話よりも高いレイヤを復号化することができる大画面テレビを収容するために生成されてもよい。3つのレイヤを含むOLS3は、パーソナルコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータを収容するために生成されてもよい。これらは、携帯電話よりも上位のレイヤを復号化することが可能であり得るが、大画面テレビのような最上位レイヤを復号化することができない。
図6のレイヤは全て互いに独立していてもよい。すなわち、各レイヤは、インターレイヤ予測(ILP)を使用せずにコーディングされてもよい。この場合、レイヤはサイマルキャストレイヤと称される。図6中のレイヤのうち1または複数はまた、ILPを使用してコーディングされ得る。レイヤがサイマルキャストレイヤであるかどうか、またはレイヤのうちの一部がILPを使用してコーディングされるかどうかは、ビデオパラメータセット(VPS)中のフラグによってシグナリングされ、これについては以下でより完全に説明する。一部のレイヤがILPを使用する場合、レイヤ間のレイヤ依存関係もVPS中でシグナリングされる。
一実施形態では、レイヤがサイマルキャストレイヤである場合、1つのレイヤのみが復号化および出力のために選択される。一実施形態では、一部のレイヤがILPを使用する場合、レイヤの全て(例えば、ビットストリーム全体)が復号化されるように指定され、レイヤの中の一部のレイヤが出力レイヤであるように指定される。1または複数の出力レイヤは、例えば、1)最上位レイヤのみ、2)全てのレイヤ、または3)最上位レイヤと示された下位レイヤとのセットであり得る。例えば、最上位レイヤに加えて示された下位レイヤのセットがVPS中のフラグによって出力のために指定されるとき、OLS2からのレイヤN+3 634(最上位レイヤである)ならびにレイヤN 631およびN+1 632(下位レイヤである)が出力される。
図7は、時間スケーラビリティのために構成された例示的なマルチレイヤビデオシーケンス700を示す概略図である。マルチレイヤビデオシーケンス700は、例えば方法100に従って、コーデックシステム200および/またはエンコーダ300などのエンコーダによって符号化され、コーデックシステム200および/またはデコーダ400などのデコーダによって復号化されてもよい。マルチレイヤビデオシーケンス700は、コード化ビデオシーケンス中のレイヤのための別の例示的な適用を示すために含まれる。例えば、マルチレイヤビデオシーケンス700は、別個の実施形態として採用されてもよく、またはマルチレイヤビデオシーケンス500もしくは600に関して説明した技術と組み合わされてもよい。
マルチレイヤビデオシーケンス700は、サブレイヤ710、720、および730を含む。サブレイヤは、特定のテンポラル識別子値を有するVCL NALユニット(例えば、ピクチャ)と、関連する非VCL NALユニット(例えば、サポートパラメータ)とを含む時間スケーラブルビットストリームの時間スケーラブルレイヤである。サブレイヤ710はベースレイヤと称されることがあり、サブレイヤ720および730はエンハンスメントレイヤと称されることがある。図示のように、サブレイヤ710は、毎秒30フレームなどの第1のフレームレートでピクチャ711を含む。サブレイヤ710はベース/最低フレームレートを含むので、サブレイヤ710はベースレイヤである。サブレイヤ720は、サブレイヤ710のピクチャ711から時間的にオフセットされたピクチャ721を含む。その結果、サブレイヤ710とサブレイヤ720とを組み合わせることができ、その結果、サブレイヤ710単独のフレームレートよりも全体として高いフレームレートが得られる。例えば、サブレイヤ710および720は、毎秒60フレームの結合フレームレートを有してもよい。したがって、サブレイヤ720は、サブレイヤ710のフレームレートを向上させる。さらに、サブレイヤ730は、やはりサブレイヤ720および710のピクチャ721および711から時間的にオフセットされたピクチャ731を含む。したがって、サブレイヤ730をサブレイヤ720および710と組み合わせて、サブレイヤ710をさらに向上させることができる。例えば、サブレイヤ710、720、および730は、毎秒90フレームの結合フレームレートを有してもよい。
サブレイヤ表現740は、サブレイヤ710、720、および/または730を組み合わせることによって動的に作成することができる。サブレイヤ表現740は、特定のサブレイヤおよび下位サブレイヤのNALユニットを含むビットストリームのサブセットである。図示の例では、サブレイヤ表現740は、サブレイヤ710、720、および730の合成ピクチャ711、721、および731であるピクチャ741を含む。したがって、マルチレイヤビデオシーケンス700は、サブレイヤ710、720、および/または730の所望のセットを含むサブレイヤ表現740を選択することによって、所望のフレームレートに時間的にスケーリングすることができる。サブレイヤ表現740は、サブレイヤ710、720、および/または730をレイヤとして含むOLSを採用することによって作成され得る。かかる場合、サブレイヤ表現740が出力レイヤとして選択される。したがって、時間スケーラビリティは、マルチレイヤメカニズムを使用して達成され得る複数のメカニズムのうちの1つである。
HEVC、SHVC、MV-HEVC、およびVVCなどのビデオコーディング規格は、プロファイル、階層、およびレベルを指定し、シグナリングする。プロファイル、階層、およびレベルは、ビットストリームに対する制限を指定しており、それにより、ビットストリームを復号化するために必要とされる能力に対する制限を指定する。プロファイル、階層、およびレベルはまた、個々のデコーダ実装形態間の相互運用性ポイントを示すために使用され得る。プロファイルは、準拠または適合ビットストリームを作成するために使用されるコーディングツールの定義されたセットである。各プロファイルは、そのプロファイルに適合する全てのデコーダによってサポートされるアルゴリズムの特徴および制限のサブセットを指定する。
レベルは、ビットストリームに関する制約のセット(例えば、最大輝度サンプルレート、解像度に関する最大ビットレートなど)である。すなわち、レベルは、指定されたプロファイルのビットストリームを再生するために必要とされるデコーダ性能を示す制約のセットである。
レベルは、メインおよびハイの2つの階層に分割される。メイン階層は、ハイ階層よりも下位の階層である。階層は、最大ビットレートが異なるアプリケーションを処理するために作成されている。メイン階層は大部分のアプリケーションのために設計され、一方、ハイ階層は非常に要求の厳しいアプリケーションのために設計されている。レベルに対応する制約および/または階層のセットは、本明細書ではレベル情報と称され得る。
階層の各レベルは、特定の規格(例えば、HEVC、VVC)のシンタックス要素によって取得され得る値に対する一連の制限を指定する。同じセットの階層およびレベル定義が全てのプロファイルとともに使用されるが、個々の実装形態は、異なる階層をサポートし、階層内ではサポートされるプロファイルごとに異なるレベルをサポートすることができる。任意の所与のプロファイルについて、階層のレベルは、概して、特定のデコーダ処理負荷およびメモリ能力に対応する。
HEVC規格を使用して、異なるプロファイルのレベルと階層の代表的な例を以下の表1に示す。
復号ピクチャバッファ(DPB)パラメータは、DPBサイズと、所望により、最大ピクチャ並べ替え数および最大レイテンシ情報とを与えるシンタックス構造である。最大ピクチャ並べ替え数および最大レイテンシ情報は、略語MRMLによってまとめて参照され得る。一実施形態では、上記の表に示されているレベルのうち1または複数が、DPBパラメータとともにシグナリングされる。
一実施形態では、最大ピクチャ並べ替え数はdpb_max_num_reorder_pics[i]と指定され、これは、Htidがiに等しい場合に、復号順序でOLS中の任意のピクチャに先行し、出力順序でそのピクチャに後続し得るOLSのピクチャの最大許容数を指定する。dpb_max_num_reorder_pics[i]の値は、両端値を含む0~dpb_max_dec_pic_buffering_minus1[i]の範囲内にあるものとする。iが0より大きい場合、dpb_max_num_reorder_pics[i]はdpb_max_num_reorder_pics[i-1]以上であるものとする。subLayerInfoFlagが0に等しいために、dpb_max_num_reorder_pics[i]が、両端値を含む0~MaxSubLayersMinus1-1の範囲内のiについて存在しないとき、dpb_max_num_reorder_pics[MaxSubLayersMinus1]に等しいと推論される。Htidは、復号化される最上位時間サブレイヤを識別する変数である。
dpb_max_dec_pic_buffering_minus1[i]プラス1は、Htidがiに等しい場合、ピクチャ記憶バッファの単位でDPBの最大必要サイズを指定する。dpb_max_dec_pic_buffering_minus1[i]の値は、両端値を含む0~MaxDpbSize-1の範囲内にあるものとし、ここで、MaxDpbSizeは、VVC規格のA.4.2節において指定されている通りである。iが0より大きい場合、dpb_max_dec_pic_buffering_minus1[i]はdpb_max_dec_pic_buffering_minus1[i-1]以上であるものとする。subLayerInfoFlagが0に等しいために、dpb_max_dec_pic_buffering_minus1[i]が、両端値を含む0~MaxSubLayersMinus1-1の範囲内のiについて存在しないとき、dpb_max_dec_pic_buffering_minus1[MaxSubLayersMinus1]に等しいと推論される。
一実施形態では、最大レイテンシ情報は、dpb_max_latency_increase_plus1[i]で指定される。0に等しくないdpb_max_latency_increase_plus1[i]は、MaxLatencyPictures[i]の値を計算するために使用される。MaxLatencyPictures[i]は、Htidがiに等しい場合、出力順序でOLS中の任意のピクチャに先行し、復号順序でそのピクチャに後続し得るOLS中のピクチャの最大数を指定する。
MaxLatencyPictures[ i ]=dpb_max_num_reorder_pics[ i ]+dpb_max_latency_ increase_plus1[ i ]-1.
例えば、SHVCおよびMV-HEVCにおけるように、OLSが指定されるとき、任意の特定のレイヤが複数のOLS中に含まれてもよい。特定のレイヤは、一部のOLSにおいて出力レイヤであり得、同時に、一部の他のOLSにおいて非出力レイヤであり得る。あるレイヤが与えられた場合、そのレイヤが出力レイヤであるか非出力レイヤであるかの主な違いは、DPBサイズである。したがって、利用可能なDPBには2つの選択肢しかない。すなわち、レイヤの第3のDPBサイズは使用できない。したがって、任意の特定のレイヤについて最大で2つのDPBサイズをシグナリングすることで十分である。しかしながら、レイヤがOLS中に含まれるたびに特定のレイヤについてのDPBサイズをシグナリングすることは不要であり、3つよりも多くのOLSがある場合はビットを浪費する可能性がある。
SHVCおよびMV-HEVCでは、DPBサイズは、各レイヤ(例えば、レイヤN 631およびN+1 632)またはOLS(例えば、OLS1)中に含まれる各サブレイヤについて指定され、シグナリングされる。一例として図6を使用すると、レイヤN 631およびN+1 632がOLS1に含まれるので、それらのレイヤについてDPBサイズがシグナリングされる。また、レイヤN 631、N+1 632、N+2 633、およびN+3 634のレイヤがOLS2に含まれるので、それらのレイヤについてDPBサイズがシグナリングされる。加えて、レイヤN 631、N+1 632、およびN+2 633がOLS3に含まれるので、それらのレイヤについてDPBサイズがシグナリングされる。したがって、レイヤN 631に対応するDPBサイズは、そのレイヤがOLSの3つ全て、すなわちOLS1、OLS2、およびOLS3に含まれるので、3回シグナリングされることになる。同様に、レイヤN+1 632に対応するDPBサイズも、そのレイヤがOLSの3つ全て、すなわちOLS1、OLS2、およびOLS3に含まれるので、3回シグナリングされることになる。最後に、レイヤN+2 633に対応するDPBサイズは、そのレイヤがOLSのうちの2つ、すなわちOLS1およびOLS2に含まれるので、2回シグナリングされることになる。かかる同じDPBサイズ(またはDBPパラメータ)を繰り返しシグナリングすることは冗長であり、コーディング非効率性につながる。
本明細書では、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、またはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータおよび/またはレベル情報の同じセットを有するかどうかを指定するためにフラグを利用する技術が開示される。フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
図8は、ビデオビットストリーム800の一実施形態を示している。本明細書で使用されるとき、ビデオビットストリーム800は、コード化ビデオビットストリーム、ビットストリーム、またはそれらの変形形態と称されることもある。図8に示すように、ビットストリーム800は、少なくとも1つのピクチャユニット(PU)801を含む。PU801のうちの3つが図8に示されているが、実際の適用例では、異なる数のPU801がビットストリーム800中に存在し得る。各PU801は、指定された分類ルールに従って互いに関連付けられ、復号順序で連続し、厳密に1つのコード化ピクチャ(例えば、ピクチャ814)を含むNALユニットのセットである。
一実施形態では、各PU801は、復号能力情報(DCI)802、ビデオパラメータセット(VPS)804、シーケンスパラメータセット(SPS)806、ピクチャパラメータセット(PPS)808、ピクチャヘッダ(PH)812、およびピクチャ814のうち1または複数を含む。DCI802、VPS804、SPS806、およびPPS808の各々は、総称してパラメータセットと称され得る。一実施形態では、図8に示されていない他のパラメータセット、例えば、適応パラメータセット(APS)なども、ビットストリーム800中に含まれ得、APSは、スライスヘッダ中に見出される0個以上のシンタックス要素によって決定される0個以上のスライスに適用されるシンタックス要素を含むシンタックス構造である。
復号パラメータセット(DPS)またはデコーダパラメータセットと称されることもあるDCI802は、ビットストリーム全体に適用されるシンタックス要素を含むシンタックス構造である。DCI802は、ビデオビットストリーム(例えば、ビットストリーム800)の寿命にわたって一定のままであるパラメータを含み、これは、セッションの寿命に変換することができる。DCI802は、プロファイル、レベル、およびサブプロファイル情報を含み、ビデオシーケンスのスプライシングがセッション内で発生する場合であっても決して超えないことが保証される最大複雑度インターオペポイントを決定することができる。それはさらに、所望により制約フラグを含み、制約フラグは、ビデオビットストリームが、それらのフラグの値によって示される特定の特徴の使用が制約されることを示す。これにより、ビットストリームは、特定のツールを使用しないものとしてラベル付けすることができ、これにより、特に、デコーダ実装形態におけるリソース割り当てが可能になる。全てのパラメータセットと同様に、DCI802は、最初に参照されるときに存在し、ビデオシーケンス内のまさに第1のピクチャによって参照される。これは、ビットストリーム内の第1のNALユニットの間で送信する必要があることを示唆している。複数のDCI802がビットストリーム内に存在し得るが、その中のシンタックス要素の値は、参照されるときに矛盾することはない。
VPS804は、エンハンスメントレイヤの参照ピクチャセット構成のための復号依存性または情報を含む。VPS804は、どのタイプのオペレーションポイントが提供されるか、オペレーションポイントのプロファイル、階層、およびレベル、ならびにセッションネゴシエーションおよびコンテンツ選択などのための基礎として使用され得るビットストリームの一部の他の高レベルプロパティを含む、スケーラブルシーケンスの全体的な展望またはビューを提供する。
一実施形態では、レイヤのうちの一部がILPを使用することが示される場合、VPS804は、VPSによって指定されるOLSの総数がレイヤの数に等しいことを示し、i番目のOLSが両端値を含む0からiまでのレイヤインデックスを有するレイヤを含むことを示し、各OLSについて、OLS中の最上位レイヤのみが出力されることを示す。
SPS806は、ピクチャシーケンス(SOP)内の全てのピクチャに共通のデータを含む。SPS806は、各ピクチャヘッダ内に見出されるシンタックス要素によって参照されるPPS内に見出されるシンタックス要素の内容によって決定される、0以上のCLVS全体に適用されるシンタックス要素を含むシンタックス構造である。対照的に、PPS808は、ピクチャ全体に共通のデータを含む。PPS808は、各ピクチャヘッダ(例えば、PH812)内に見出されるシンタックス要素によって決定されるような0以上のコード化ピクチャ全体に適用されるシンタックス要素を含むシンタックス構造である。
一実施形態では、SPS806はフラグ850を含む。フラグ850は、第1の値(例えば、1)または第2の値(例えば、0)を有するようにエンコーダによって設定され得る。フラグ850が第1の値を有するとき、SPS806を参照する複数のレイヤ(例えば、レイヤ631、632など)またはサブレイヤ(例えば、サブレイヤ710、720など)の各々は、複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、DPBパラメータの同じセットを有する。すなわち、SPS806を参照するレイヤまたはサブレイヤの全てが、DPBパラメータの同じセットを共有する。
フラグ850が第2の値を有するとき、SPS806を参照する複数の(例えば、レイヤ631、632など)またはサブレイヤ(例えば、サブレイヤ710、720など)の各々は、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有する。すなわち、出力レイヤはDPBパラメータの1つのセットを共有し、非出力レイヤはDPBパラメータの別のセットを共有する。したがって、出力レイヤは、非出力レイヤとは別個のおよび/または異なるDPBパラメータのセットに依拠する。
それに応じてフラグ850を設定することによって、エンコーダは、一部の状況において(例えば、出力レイヤと非出力レイヤの両方に同じDPBパラメータを使用すれば十分な場合)、DPBパラメータの同じセットを繰り返しシグナリングする必要を回避することができる。さらに、デコーダは、一部の状況において、DPBパラメータの同じセットを繰り返し受信して処理する必要を回避することができる。
一実施形態において、フラグ850は、same_nonoutput_level_and_dpb_size_flagとして指定される。一実施形態では、フラグ850の代わりに2つ以上のフラグを使用することができる。例えば、DPBパラメータの全てをシグナリングするためにフラグ850を使用する代わりに、レイヤまたはサブレイヤについてのレベルをシグナリングするために1つのフラグが使用されてもよく、レイヤまたはサブレイヤについてのDPBサイズをシグナリングするために別のフラグが使用されてもよい。すなわち、フラグ850の代わりに2つ以上のフラグを用いることができる。
一実施形態では、VPS804および/またはSPS806は、本明細書で開示される実施形態のうち1または複数を実装するために、以下のSPSシンタックスおよびセマンティクスを含む。
SPSセマンティクスは、以下を含む。
SPS RBSPは、参照される前に復号化プロセスに利用可能であるか、0に等しいTemporalIdを有する少なくとも1つのアクセスユニットに含まれるか、または外部手段を介して提供されるものとし、SPS RBSPを含むSPS NALユニットは、それを参照するPPS NALユニットの最低nuh_layer_id値に等しいnuh_layer_idを有するものとする。
CVS中のsps_seq_parameter_set_idの特定の値を有する全てのSPS NALユニットは、同じコンテンツを有するものとする。
sps_decoding_parameter_set_idは、0より大きい場合、SPSによって参照されるDPSのdps_decoding_parameter_set_idの値を指定する。sps_decoding_parameter_set_idが0に等しい場合、SPSはDPSを参照せず、SPSを参照する各CLVSを復号化するときにDPSは参照されない。sps_decoding_parameter_set_idの値は、ビットストリーム内のコード化ピクチャによって参照される全てのSPSにおいて同一であるものとする。
sps_video_parameter_set_idは、0より大きい場合、SPSによって参照されるVPSのvps_video_parameter_set_idの値を指定する。sps_video_parameter_set_idが0に等しい場合、SPSはVPSを参照せず、SPSを参照する各CLVSを復号化するときにVPSは参照されない。
sps_max_sub_layers_minus1プラス1は、SPSを参照する各CLVS中に存在し得る時間サブレイヤの最大数を指定する。sps_max_sub_layers_minus1の値は、両端値を含む0~vps_max_sub_layers_minus1の範囲内にあるものとする。
sps_reserved_0_4bitsは、本明細書のこのバージョンに適合するビットストリームにおいて0に等しいものとする。sps_reserved_0_4bitsの他の値は、ITU-T ISO/IECによる将来の使用のために予約されている。
1に等しいsame_nonoutput_level_and_dpb_size_flagは、レベルおよびDPBサイズパラメータの同じセットが、レイヤが出力レイヤであるかどうかにかかわらずSPSを参照する各レイヤに適用されることを指定する。0に等しいsame_nonoutput_level_and_dpb_size_flagは、レベルおよびDPBサイズパラメータの2つの別個のセットが、レイヤが出力レイヤであるかどうかに応じてSPSを参照する各レイヤに適用されることを指定する。
代替的に、2つの別個のフラグが使用され、一方は、レイヤが出力レイヤであるかどうかにかかわらず、SPSを参照する各レイヤにレベルパラメータの同じセットが適用されるかどうかを指定し、他方は、レイヤが出力レイヤであるかどうかにかかわらず、SPSを参照する各レイヤにDPBサイズパラメータの同じセットが適用されるかどうかを指定する。
一実施形態では、VPS804および/またはSPS806は、本明細書で開示される実施形態のうち1または複数を実装するために、以下のDPBシンタックスおよびセマンティクスを含む。
DPBセマンティクスは、以下を含む。
dpb_parameters()シンタックス構造は、DPBサイズ情報と、所望により、最大ピクチャ並べ替え数および最大レイテンシ情報(MRML情報として示される)とを提供する。
各SPSは、1または複数のdpb_parameters()シンタックス構造を含む。SPS中の第1のdpb_parameters()シンタックス構造は、DPBサイズ情報とMRML情報との両方を含む。[0]存在する場合、SPS中の第2のdpb_parameters()シンタックス構造は、DPBサイズ情報のみを含む。SPS内の第1のdpb_parameters()シンタックス構造内のMRML情報は、レイヤがOLS内の出力レイヤであるかどうかにかかわらず、SPSを参照するレイヤに適用される。SPS内の第1のdpb_parameters()シンタックス構造内のDPBサイズ情報は、レイヤがOLSの出力レイヤであるとき、SPSを参照するレイヤに適用される。SPS中の第2のdpb_parameters()シンタックス構造中に含まれるDPBサイズ情報は、存在する場合、レイヤがOLSの非出力レイヤであるとき、SPSを参照するレイヤに適用される。SPSが1つのdpb_parameters()シンタックス構造のみを含むとき、非出力レイヤとしてのレイヤについてのDPBサイズ情報は、出力レイヤとしてのレイヤについてのDPBサイズ情報と同じであると推論される。
sps_max_dec_pic_buffering_minus1[i]プラス1は、Htidがiに等しい場合、ピクチャ記憶バッファの単位でCLVSのための復号ピクチャバッファの最大必要サイズを指定する。sps_max_dec_pic_buffering_minus1[i]の値は、両端値を含む0~MaxDpbSize-1の範囲内にあるものとし、ここで、MaxDpbSizeは他の場所で指定されている通りである。iが0より大きい場合、sps_max_dec_pic_buffering_minus1[i]はsps_max_dec_pic_buffering_minus1[i-1]以上であるものとする。sps_sub_layer_ordering_info_present_flagが0に等しいために、sps_max_dec_pic_buffering_minus1[i]が、両端値を含む0~sps_max_sub_layers_minus1-1の範囲内のiについて存在しないとき、sps_max_dec_pic_buffering_minus1[sps_max_sub_layers_minus1]に等しいと推論される。
sps_max_num_reorder_pics[i]は、Htidがiに等しい場合、復号順序でCLVS中の任意のピクチャに先行し、出力順序でそのピクチャに後続し得るピクチャの最大許容数を示す。sps_max_num_reorder_pics[i]の値は、両端値を含む0~sps_max_dec_pic_buffering_minus1[i]の範囲内にあるものとする。iが0より大きい場合、sps_max_num_reorder_pics[i]はsps_max_num_reorder_pics[i-1]以上であるものとする。sps_sub_layer_ordering_info_present_flagが0に等しいために、sps_max_num_reorder_pics[i]が、両端値を含む0~sps_max_sub_layers_minus1-1の範囲内のiについて存在しないとき、sps_max_num_reorder_pics[sps_max_sub_layers_minus1]に等しいと推論される。
0に等しくないsps_max_latency_increase_plus1[i]は、SpsMaxLatencyPictures[i]の値を計算するために使用される。これは、Htidがiに等しい場合、出力順序でCLVS中の任意のピクチャに先行し、復号順序でそのピクチャに後続し得るピクチャの最大数を指定する。
sps_max_latency_increase_plus1[i]が0に等しくない場合、SpsMaxLatencyPictures[i]の値は以下のように指定される。
sps_max_latency_increase_plus1[i]が0に等しい場合、対応する制限は表現されない。
sps_max_latency_increase_plus1[i]の値は、両端値を含む0~232-2の範囲内にあるものとする。sps_sub_layer_ordering_info_present_flagが0に等しいために、sps_max_latency_increase_plus1[i]が、両端値を含む0~sps_max_sub_layers_minus1-1の範囲内のiについて存在しないとき、sps_max_latency_increase_plus1[sps_max_sub_layers_minus1]に等しいと推論される。
DCI802、VPS804、SPS806、およびPPS808は、異なるタイプのネットワーク抽象化レイヤ(NAL)ユニットに含まれる。NALユニットは、後続するデータ(例えば、コード化ビデオデータ)のタイプの指示を含むシンタックス構造である。NALユニットは、ビデオコーディングレイヤ(VCL)および非VCL NALユニットに分類される。VCL NALユニットは、ビデオピクチャ中のサンプルの値を表すデータを含み、非VCL NALユニットは、パラメータセット(複数のVCL NALユニットに適用し得る重要なデータ)および補助強化情報(復号化されたビデオ信号の有用性を高めることができるが、ビデオピクチャ中のサンプルの値を復号化するのに必要ではないタイミング情報および他の補足データ)などの任意の関連する追加情報を含む。
一実施形態では、DCI802は、DCI NALユニットまたはDPS NALユニットとして指定された非VCL NALユニットに含まれる。すなわち、DCI NALユニットはDCI NALユニットタイプ(NUT)を有し、DPS NALユニットはDPS NUTを有する。一実施形態では、VPS804は、VPS NALユニットとして指定された非VCL NALユニットに含まれる。したがって、VPS NALユニットはVPS NUTを有する。一実施形態では、SPS806は、SPS NALユニットとして指定された非VCL NALユニットである。したがって、SPS NALユニットはSPS NUTを有する。一実施形態では、PPS808は、PPS NALユニットとして指定された非VCL NALユニットに含まれる。したがって、PPS NALユニットはPPS NUTを有する。
PH812は、コード化ピクチャ(例えば、ピクチャ814)の全てのスライス(例えば、スライス818)に適用されるシンタックス要素を含むシンタックス構造である。一実施形態では、PH812は、PH NALユニットと指定された新しいタイプの非VCL NALユニット内にある。したがって、PH NALユニットはPH NUT(例えば、PH_NUT)を有する。一実施形態では、各PU801に含まれる唯一のPH812が存在する。すなわち、PU801は、単一または単独のPH812を含む。一実施形態では、ビットストリーム800内の各ピクチャ801に対して正確に1つのPH NALユニットが存在する。
一実施形態では、PH812に関連付けられたPH NALユニットは、テンポラルIDおよびレイヤIDを有する。テンポラルID識別子は、ビットストリーム(例えば、ビットストリーム801)中の他のPH NALユニットに対するPH NALユニットの時間的位置を示す。レイヤIDは、PH NALユニットを含むレイヤ(例えば、レイヤ531またはレイヤ532)を示す。一実施形態では、テンポラルIDはPOCと同様であるが、POCとは異なる。POCは、各ピクチャを順番に一意に識別する。単一レイヤビットストリームでは、テンポラルIDおよびPOCは同じである。マルチレイヤビットストリーム(例えば、図5を参照)では、同じAU中のピクチャは、異なるPOCを有するが、同じテンポラルIDを有することになる。
一実施形態では、PH NALユニットは、関連するピクチャ814の第1のスライス818を含むVCL NALユニットに先行する。これにより、PH812においてシグナリングされ、スライスヘッダ820から参照されるピクチャヘッダIDを有する必要なく、PH812と、PH812に関連付けられたピクチャ814のスライス818との間の関連付けが確立される。その結果、2つのPH812間の全てのVCL NALユニットが同じピクチャ814に属し、ピクチャ814が2つのPH812間の第1のPH812に関連付けられることが推論され得る。一実施形態では、PH812に続く第1のVCL NALユニットは、PH812に関連付けられたピクチャ814の第1のスライス818を含む。
一実施形態では、PH NALユニットは、それぞれ、PH NALユニットのテンポラルIDおよびレイヤIDよりも小さいテンポラルIDおよびレイヤIDの両方を有する、ピクチャレベルパラメータセット(例えば、PPS)またはDCI(別名、DPS)、VPS、SPS、PPSなどのより高いレベルのパラメータセットに従う。その結果、それらのパラメータセットは、ピクチャまたはアクセスユニット内で繰り返されない。この順序付けのために、PH812を直ちに解決することができる。すなわち、ピクチャ全体に関連するパラメータを含むパラメータセットは、ビットストリーム中でPH NALユニットの前に配置される。ピクチャの一部に対するパラメータを含むものは、PH NALユニットの後に配置される。
一代替形態では、PH NALユニットは、ピクチャレベルパラメータセットおよびプレフィックス補助強化情報(SEI)メッセージ、またはDCI(別名、DPS)、VPS、SPS、PPS、APS、SEIメッセージなどのより高いレベルのパラメータセットに続く。
ピクチャ814は、モノクロームフォーマットにおける輝度サンプルのアレイ、または4:2:0、4:2:2、および4:4:4カラーフォーマットにおける輝度サンプルのアレイおよび彩度サンプルの2つの対応するアレイである。一実施形態では、各PU801に含まれる唯一のピクチャ814が存在する。したがって、各PU801中には、ただ1つのPH812と、そのPH812に対応するただ1つのピクチャ814とが存在する。すなわち、PU801は、単一または単独のピクチャ814を含む。
ピクチャ814は、フレームであってもフィールドであってもよい。しかし、1つのCVS816では、全てのピクチャ814がフレームであるか、全てのピクチャ814がフィールドであるかのいずれかである。CVS816は、ビデオビットストリーム800中の全てのコード化レイヤビデオシーケンス(CLVS)についてのコード化ビデオシーケンスである。特に、ビデオビットストリーム800が単一のレイヤを含むとき、CVS816およびCLVSは同じである。CVS816およびCLVSは、ビデオビットストリーム800が(例えば、図5および6に示すように)複数のレイヤを含むときにのみ異なる。
各ピクチャ814は、1または複数のスライス818を含む。スライス818は、ピクチャ(例えば、ピクチャ814)のタイル内の整数個の完全なタイルまたは整数個の連続する完全なCTU行である。各スライス818は、単一のNALユニット(例えば、VCL NALユニット)中に排他的に含まれる。タイル(図示せず)は、ピクチャ(例えば、ピクチャ814)中の特定のタイル列および特定のタイル行内のCTUの矩形領域である。CTU(図示せず)は、輝度サンプルのCTB、3つのサンプルアレイを有するピクチャの彩度サンプルの2つの対応するCTB、またはモノクロームピクチャもしくはサンプルをコーディングするために使用される3つの別個の色平面およびシンタックス構造を使用してコーディングされるピクチャのサンプルのCTBである。CTB(図示せず)は、Nのある値に対するサンプルのN×Nブロックであり、コンポーネントのCTBへの分割は区分化である。ブロック(図示せず)は、サンプル(例えば、ピクセル)のM×N(M列×N行)アレイ、または変換係数のM×Nアレイである。
一実施形態では、各スライス818はスライスヘッダ820を含む。スライスヘッダ820は、スライス818中で表されるタイル内の全てのタイルまたはCTU行に関係するデータ要素を含むコード化スライス818の一部である。すなわち、スライスヘッダ820は、例えば、スライスタイプ、どの参照ピクチャが使用されるかなどのスライス818に関する情報を含む。
ピクチャ814およびそれらのスライス818は、符号化または復号化されている画像またはビデオに関連するデータを含む。したがって、ピクチャ814およびそれらのスライス818は、単に、ビットストリーム800中で搬送されているペイロードまたはデータと称され得る。
当業者は、ビットストリーム800が実際のアプリケーションにおいて他のパラメータおよび情報を含んでもよいことを理解するであろう。
図9は、ビデオデコーダ(例えば、ビデオデコーダ400)によって実装される復号化の方法900の一実施形態である。方法900は、ビットストリームがビデオエンコーダ(例えば、ビデオエンコーダ300)から直接または間接的に受信された後に実行され得る。方法900は、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるか、あるいはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、フラグを利用して、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータの同じセットを有するかどうかを指定することによって復号化プロセスを改善する。[0]フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
ブロック902において、ビデオデコーダはビデオビットストリームを受信する。ビデオビットストリームは、複数のレイヤ(例えば、レイヤ631~635)と、フラグ(例えば、フラグ850)を含むシーケンスパラメータセット(例えば、SPS806)とを含む。フラグが第1の値(例えば、1)を有するとき、SPSを参照する複数のレイヤの各々は、複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、DPBパラメータの同じセットを有する。フラグが第2の値(例えば、0)を有するとき、SPSを参照する複数のレイヤの各々は、出力レイヤに適用されるDPBパラメータの第1のセットと、フラグが第2の値を有するとき非出力レイヤに適用されるDPBパラメータの第2のセットとを有する。
ブロック904において、ビデオデコーダは、復号ピクチャを取得するために、複数のレイヤのうちの1つからピクチャを復号化する。
一実施形態では、方法900は、復号化の前に複数のレイヤから出力レイヤを選択することをさらに含む。一実施形態では、方法900は、出力レイヤが選択された後に、出力レイヤからピクチャを選択することをさらに含む。
一実施形態では、DPBパラメータは、1または複数のDPBレベルおよび1または複数のDPBサイズを含む。一実施形態では、第2のDPBサイズは、DPBサイズパラメータに含まれる第1のDPBサイズから推論される。
一実施形態では、DPBパラメータはピクチャ並べ替え数を含む。一実施形態では、DPBパラメータはレイテンシ情報を含む。一実施形態では、複数のレイヤからの1または複数のレイヤのうちの1つは、1または複数のサブレイヤ(例えば、サブレイヤ710、720、730)を含む。
ピクチャが復号化されると、ピクチャは、電子デバイス(例えば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のディスプレイまたはスクリーン上でユーザに表示するための画像またはビデオシーケンスを生成または作成するために使用され得る。
図10は、ビデオエンコーダ(例えば、ビデオエンコーダ300)によって実装されるビデオビットストリームを符号化する方法1000の一実施形態である。方法900は、(例えば、ビデオからの)ピクチャがビデオビットストリームに符号化され、次いでビデオデコーダ(例えば、ビデオデコーダ400)に向けて送信されるときに実行され得る。方法900は、複数のレイヤまたはサブレイヤの各々が出力レイヤであるか非出力レイヤであるか、あるいはSPSを参照する複数のレイヤまたはサブレイヤの各々が出力レイヤに適用されるDPBパラメータの1つのセットと非出力レイヤに適用されるDPBパラメータの別のセットとを有するかどうかにかかわらず、フラグを利用して、シーケンスパラメータセット(SPS)を参照する複数のレイヤまたはサブレイヤの各々が(DPB)パラメータの同じセットを有するかどうかを指定することによって符号化プロセスを改善する。フラグを使用することによって、同じDPBパラメータは、一部の状況では同じレイヤまたはサブレイヤについて繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
ブロック1002において、ビデオエンコーダは、複数のレイヤ(例えば、レイヤ631~635)およびシーケンスと、複数のレイヤ(例えば、レイヤ631~635)と、フラグ(例えば、フラグ850)を含むシーケンスパラメータセット(例えば、SPS806)とを生成する。
ブロック1004において、フラグは、第1の値(例えば、1)または第2の値(例えば、0)に設定される。第1の値は、SPSを参照する複数のレイヤの各々が、複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、DPBパラメータの同じセットを有することを指定する。第2の値は、SPSを参照する複数のレイヤの各々が、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有することを指定する。
一実施形態では、DPBパラメータは、1または複数のDPBレベルおよび1または複数のDPBサイズを含む。一実施形態では、DPBパラメータは、単一のDPBサイズのみを含む。一実施形態では、DPBパラメータは、ピクチャ並べ替え数およびレイテンシ情報のうち1または複数を含む。一実施形態では、複数のレイヤのうち1または複数は、1または複数のサブレイヤを含む。
ブロック1006において、ビデオエンコーダは、複数のレイヤとSPSとをビデオビットストリームに符号化する。ブロック1008において、ビデオエンコーダは、ビデオデコーダへの通信のためにビデオビットストリームを記憶する。ビデオビットストリームは、ビデオビットストリームがビデオデコーダに向けて送信されるまで、メモリに記憶され得る。ビデオデコーダによって受信されると、符号化ビデオビットストリームは、(例えば、上記で説明したように)復号化されて、電子デバイス(例えば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のディスプレイまたはスクリーン上でユーザに表示するための画像またはビデオシーケンスを生成または作成するために使用され得る。
図11は、本開示の一実施形態によるビデオコーディングデバイス1100(例えば、ビデオエンコーダ300またはビデオデコーダ400)の概略図である。ビデオコーディングデバイス1100は、本明細書に記載の開示される実施形態を実装するのに適している。ビデオコーディングデバイス1100は、データを受信するための入口ポート1110および受信機ユニット(Rx)1120と、データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(CPU)1130と、データを送信するための送信機ユニット(Tx)1140および出口ポート1150と、データを記憶するためのメモリ1160と、を含む。ビデオコーディングデバイス1100はまた、光または電気信号の出力または入力のために、入口ポート1110、受信機ユニット1120、送信機ユニット1140、および出口ポート1150に結合された光-電気(OE)コンポーネントおよび電気-光(EO)コンポーネントを含み得る。
プロセッサ1130は、ハードウェアおよびソフトウェアによって実装される。プロセッサ1130は、1または複数のCPUチップ、コア(例えば、マルチコアプロセッサとして)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデジタル信号プロセッサ(DSP)として実装され得る。プロセッサ1130は、入口ポート1110、受信機ユニット1120、送信機ユニット1140、出口ポート1150、およびメモリ1160と通信する。プロセッサ1130は、コーディングモジュール1170を含む。コーディングモジュール1170は、上述の開示される実施形態を実装する。例えば、コーディングモジュール1170は、種々のコーデック機能を実装、処理、準備、または提供する。したがって、コーディングモジュール1170を含むことで、ビデオコーディングデバイス1100の機能に対する実質的な改善が提供され、ビデオコーディングデバイス1100の異なる状態への変換をもたらす。代替的に、コーディングモジュール1170は、メモリ1160に記憶され、プロセッサ1130によって実行される命令として実装される。
ビデオコーディングデバイス1100はまた、ユーザとの間でデータを通信するための入力および/または出力(I/O)デバイス1180を含み得る。I/Oデバイス1180は、ビデオデータを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどの出力デバイスを含み得る。I/Oデバイス1180はまた、キーボード、マウス、トラックボールなどの入力デバイス、および/またはかかる出力デバイスと対話するための対応するインターフェースを含み得る。
メモリ1160は、1または複数のディスク、テープドライブ、およびソリッドステートドライブを含み、オーバーフローデータストレージデバイスとして使用されて、かかるプログラムが実行のために選択されたときにプログラムを記憶し、プログラム実行中に読み取られる命令およびデータを記憶することができる。メモリ1160は、揮発性および/または不揮発性であってよく、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ターナリ連想メモリ(TCAM)、および/またはスタティックランダムアクセスメモリ(SRAM)であってよい。
図12は、コーディングのための手段1200の一実施形態の概略図である。一実施形態では、コーディングのための手段1200は、ビデオコーディングデバイス1202(例えば、ビデオエンコーダ300またはビデオデコーダ400)中に実装される。ビデオコーディングデバイス1202は、受信手段1201を含む。受信手段1201は、符号化するピクチャを受信するか、または復号化するビットストリームを受信するように構成される。ビデオコーディングデバイス1202は、受信手段1201に結合された送信手段1207を含む。送信手段1207は、ビットストリームをデコーダに送信するように、または復号化された画像を表示手段(例えば、I/Oデバイス1180のうちの1つ)に送信するように構成される。
ビデオコーディングデバイス1202は、記憶手段1203を含む。記憶手段1203は、受信手段1201または送信手段1207のうちの少なくとも1つに結合される。記憶手段1203は、命令を記憶するように構成される。ビデオコーディングデバイス1202はまた、処理手段1205を含む。処理手段1205は、記憶手段1203に結合される。処理手段1205は、記憶手段1203に記憶された命令を実行して、本明細書に開示される方法を実行するように構成される。
本明細書に記載される例示的な方法のステップは、必ずしも記載された順序で実行される必要はなく、かかる方法のステップの順序は単なる例示であると理解されるべきであることも理解されるべきである。同様に、本開示の種々の実施形態と一致する方法において、追加のステップがかかる方法に含まれてもよく、特定のステップが省略または組み合わされてもよい。
本開示において複数の実施形態が提供されているが、開示されたシステムおよび方法は、本開示の精神または範囲から逸脱することなく、多くの他の特定の形態で具現化され得ることを理解されたい。本実施例は、例示的であって限定的ではないと見なされるべきであり、本発明は、本明細書に与えられた詳細に限定されるべきではない。例えば、種々の要素または構成要素は、別のシステムにおいて組み合わされるか、もしくは統合されてもよく、または特定の特徴が省略されるか、もしくは実装されなくてもよい。
加えて、離散的または別個のものとして種々の実施形態において説明および図示される技術、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術、または方法と組み合わせられるか、または統合され得る。互いに結合され、または直接結合され、または通信するものとして図示または説明される他のアイテムは、電気的、機械的、または他の方法にかかわらず、一部のインターフェース、デバイス、または中間構成要素を介して間接的に結合または通信することができる。変更、置換、および代替の他の例は、当業者によって確認可能であり、本明細書に開示される精神および範囲から逸脱することなく行われ得る。
[他の考えられる項目]
[項目1]
ビデオデコーダによって実装される復号化の方法であって、
上記ビデオデコーダによって、複数のレイヤと、フラグを含むシーケンスパラメータセット(SPS)とを含むビデオビットストリームを受信する段階であって、上記フラグが第1の値を有するとき、上記SPSを参照する上記複数のレイヤの各々が、上記複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、(DPB)パラメータの同じセットを有し、上記フラグが第2の値を有するとき、上記SPSを参照する上記複数のレイヤの各々が、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有する、段階と、
上記ビデオデコーダによって、上記複数のレイヤのうちの1つからのピクチャを復号化して、復号ピクチャを取得する段階と、
を備える、方法。
[項目2]
上記フラグが上記第1の値を有するとき、DPBパラメータの同じセットを使用して、上記復号化において使用するためのメモリを割り当てる段階をさらに含む、項目1に記載の方法。
[項目3]
上記フラグが上記第2の値を有し、上記複数のレイヤが出力レイヤであるとき、上記DPBパラメータの第1のセットを使用して、上記復号化において使用するためのメモリを割り当てる段階と、上記フラグが上記第2の値を有し、上記複数のレイヤが非出力レイヤであるとき、上記DPBパラメータの第2のセットを使用して、上記復号化において使用するためのメモリを割り当てる段階と、をさらに含む、項目1または2に記載の方法。
[項目4]
上記復号化の前に、上記複数のレイヤから上記出力レイヤを選択する段階と、上記出力レイヤが選択された後に、上記出力レイヤから上記ピクチャを選択する段階と、をさらに含む、項目1~3のいずれか一項に記載の方法。
[項目5]
上記DPBサイズパラメータに含まれる第1のDPBサイズから第2のDPBサイズを推論する段階をさらに含む、項目1~4のいずれか一項に記載の方法。
[項目6]
上記DPBパラメータが、ピクチャ並べ替え数およびレイテンシ情報を含む、項目1~5のいずれか一項に記載の方法。
[項目7]
上記フラグが第1の値を有するとき、上記SPSを参照する上記複数のレイヤの各々が、上記複数のレイヤの各々が上記出力レイヤであるか上記非出力レイヤであるかにかかわらず、同じレベル情報を有する、項目1~6のいずれか一項に記載の方法。
[項目8]
上記複数のレイヤのうち1または複数が、1または複数のサブレイヤを含む、項目1~7のいずれか一項に記載の方法。
[項目9]
上記復号ピクチャを電子デバイスのディスプレイ上に表示する段階をさらに含む、項目1~8のいずれか一項に記載の方法。
[項目10]
ビデオエンコーダによって実装される符号化の方法であって、上記方法が、
上記ビデオエンコーダによって、複数のレイヤと、フラグを含むシーケンスパラメータセット(SPS)とを生成する段階と、
上記ビデオエンコーダによって、上記SPS中の上記フラグを第1の値または第2の値に設定する段階であって、上記第1の値は、上記SPSを参照する上記複数のレイヤの各々が、上記複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、復号ピクチャバッファ(DPB)パラメータの同じセットを有する段階を指定し、上記第2の値は、上記SPSを参照する上記複数のレイヤの各々が、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有する段階を指定する、段階と、
上記ビデオエンコーダによって、上記複数のレイヤおよび上記SPSをビデオビットストリームに符号化する段階と、
上記ビデオエンコーダによって、ビデオデコーダへの通信のために上記ビデオビットストリームを記憶する段階と、
を備える、方法。
[項目11]
上記DPBパラメータが、1または複数のDPBサイズを含む、項目10に記載の方法。
[項目12]
上記DPBパラメータが、単一のDPBサイズのみを含む、項目10に記載の方法。
[項目13]
上記DPBパラメータが、ピクチャ並べ替え数およびレイテンシ情報のうち1または複数を含む、項目10~12のいずれか一項に記載の方法。
[項目14]
上記複数のレイヤのうち1または複数が、1または複数のサブレイヤを含む、項目10~13のいずれか一項に記載の方法。
[項目15]
復号化デバイスであって、
複数のレイヤとフラグを含むシーケンスパラメータセット(SPS)とを含むビデオビットストリームを受信するように構成された受信機であって、上記フラグが第1の値を有するとき、上記SPSを参照する上記複数のレイヤの各々が、上記複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、(DPB)パラメータの同じセットを有し、上記フラグが第2の値を有するとき、上記SPSを参照する上記複数のレイヤの各々が、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有する、受信機と、
上記受信機に結合されたメモリであって、上記メモリが、命令を記憶する、メモリと、
上記メモリに結合されたプロセッサであって、上記プロセッサが、上記命令を実行して、上記復号化デバイスに複数のレイヤのうちの1つからピクチャを復号化させて復号ピクチャを取得させるように構成されたプロセッサと、
を備える、復号化デバイス。
[項目16]
上記プロセッサが、
上記復号化の前に、上記1または複数のレイヤのうちの1つから出力レイヤを選択することと、
上記出力レイヤが選択された後に、上記出力レイヤから上記ピクチャを選択することと、
を行うようにさらに構成されている、項目15に記載の復号化デバイス。
[項目17]
上記DPBパラメータが、1または複数のDPBレベルおよび1または複数のDPBサイズを含む、項目15または16に記載の復号化デバイス。
[項目18]
上記プロセッサが、上記DPBサイズパラメータに含まれる第1のDPBサイズから第2のDPBサイズを推論するように構成されている、項目15~17のいずれか一項に記載の復号化デバイス。
[項目19]
上記DPBパラメータが、ピクチャ並べ替え数を含む、項目18に記載の復号化デバイス。
[項目20]
上記DPBパラメータが、レイテンシ情報を含む、項目15~19のいずれか一項に記載の復号化デバイス。
[項目21]
上記複数のレイヤのうち1または複数が、1または複数のサブレイヤを含む、項目15~20のいずれか一項に記載の復号化デバイス。
[項目22]
上記復号ピクチャを表示するように構成されたディスプレイをさらに含む、項目15~21のいずれか一項に記載の復号化デバイス。
[項目23]
符号化デバイスであって、
命令を含むメモリと、
上記メモリに結合されたプロセッサであって、上記プロセッサが、上記命令を実装して、上記符号化デバイスに、
複数のレイヤと、フラグを含むシーケンスパラメータセット(SPS)とを生成することと、
上記複数のレイヤの各々が出力レイヤであるか非出力レイヤであるかにかかわらず、上記SPSを参照する上記複数のレイヤの各々が復号ピクチャバッファ(DPB)パラメータの同じセットを有するとき、上記SPS中の上記フラグを第1の値に設定することと、
上記SPSを参照する上記複数のレイヤの各々が、出力レイヤに適用されるDPBパラメータの第1のセットと、非出力レイヤに適用されるDPBパラメータの第2のセットとを有するとき、上記SPS中の上記フラグを第2の値に設定することと、
上記複数のレイヤおよび上記SPSをビデオビットストリームに符号化することと、
を行わせるように構成されたプロセッサと、
上記プロセッサに結合された送信機であって、上記送信機が、上記ビデオビットストリームをビデオデコーダに向けて送信するように構成されている、送信機と、
を備える、符号化デバイス。
[項目24]
上記プロセッサが、上記符号化デバイスに、上記複数のレイヤのうちの1つを出力レイヤとして指定させ、上記複数のレイヤのうちの別のレイヤを非出力レイヤとして指定させるようにさらに構成されている、項目23に記載の符号化デバイス。
[項目25]
上記DPBパラメータが、1または複数のDPBレベルおよび1または複数のDPBサイズを含む、項目23または24に記載の符号化デバイス。
[項目26]
上記DPBパラメータが、単一のDPBサイズのみを含む、項目23に記載の符号化デバイス。
[項目27]
上記複数のレイヤのうち1または複数が、1または複数のサブレイヤを含む、項目23~26のいずれか一項に記載の符号化デバイス。
[項目28]
コーディング装置であって、
符号化するピクチャを受信するか、または復号化するビットストリームを受信するように構成された受信機と、
上記受信機に結合された送信機であって、上記送信機が、上記ビットストリームをデコーダに送信するか、または復号化された画像をディスプレイに送信するように構成されている、送信機と、
上記受信機または上記送信機のうちの少なくとも1つに結合されたメモリであって、上記メモリが、命令を記憶するように構成されている、メモリと、
上記メモリに結合されたプロセッサであって、上記プロセッサが、上記メモリに記憶された上記命令を実行して、項目1~9のいずれか一項および項目10~14のいずれか一項に記載の方法を実行するように構成されている、プロセッサと、
を備える、コーディング装置。
[項目29]
復号ピクチャを表示するように構成されたディスプレイをさらに含む、項目28に記載のコーディング装置。
[項目30]
システムであって、
エンコーダと、
上記エンコーダと通信するデコーダと、
を備え、上記エンコーダまたは上記デコーダが、項目15~29のいずれか一項に記載の復号化デバイス、符号化デバイス、またはコーディング装置を含む、
システム。
[項目31]
コーディングのための手段であって、
符号化するピクチャを受信するか、または復号化するビットストリームを受信するように構成された受信手段と、
上記受信手段に結合された送信手段であって、上記送信手段が、上記ビットストリームを復号化手段に送信するか、または復号化された画像を表示手段に送信するように構成されている、送信手段と、
上記受信手段または上記送信手段のうちの少なくとも1つに結合された記憶手段であって、上記記憶手段が、命令を記憶するように構成されている、記憶手段と、
上記記憶手段に結合された処理手段であって、上記処理手段が、上記記憶手段に記憶された上記命令を実行して、項目1~9のいずれか一項および項目10~14のいずれか一項に記載の方法を実行するように構成されている、処理手段と、
を備える、コーディングのための手段。