IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特許7558980スケーラビリティサポートのための同じピクチャ順序カウント(POC)番号付け
<>
  • 特許-スケーラビリティサポートのための同じピクチャ順序カウント(POC)番号付け 図1
  • 特許-スケーラビリティサポートのための同じピクチャ順序カウント(POC)番号付け 図2
  • 特許-スケーラビリティサポートのための同じピクチャ順序カウント(POC)番号付け 図3
  • 特許-スケーラビリティサポートのための同じピクチャ順序カウント(POC)番号付け 図4
  • 特許-スケーラビリティサポートのための同じピクチャ順序カウント(POC)番号付け 図5
  • 特許-スケーラビリティサポートのための同じピクチャ順序カウント(POC)番号付け 図6
  • 特許-スケーラビリティサポートのための同じピクチャ順序カウント(POC)番号付け 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-20
(45)【発行日】2024-10-01
(54)【発明の名称】スケーラビリティサポートのための同じピクチャ順序カウント(POC)番号付け
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240924BHJP
   H04N 19/30 20140101ALI20240924BHJP
【FI】
H04N19/70
H04N19/30
【請求項の数】 15
(21)【出願番号】P 2021572459
(86)(22)【出願日】2020-06-02
(65)【公表番号】
(43)【公表日】2022-08-29
(86)【国際出願番号】 US2020035700
(87)【国際公開番号】W WO2020251801
(87)【国際公開日】2020-12-17
【審査請求日】2023-05-10
(31)【優先権主張番号】62/861,281
(32)【優先日】2019-06-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/863,804
(32)【優先日】2019-06-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/889,601
(32)【優先日】2020-06-01
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(72)【発明者】
【氏名】セレジン、バディム
(72)【発明者】
【氏名】ラマスブラモニアン、アダルシュ・クリシュナン
(72)【発明者】
【氏名】コバン、ムハンメド・ゼイド
(72)【発明者】
【氏名】カルチェビチ、マルタ
【審査官】田中 純一
(56)【参考文献】
【文献】特開2018-007279(JP,A)
【文献】特表2019-509669(JP,A)
【文献】国際公開第2017/143211(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
ビデオデータを復号するための装置であって、前記装置が、
メモリと、
回路中に実装されたプロセッサとを備え、前記プロセッサは、
ビットストリーム中に含まれるピクチャの少なくとも一部分を取得することと、
前記ビットストリームから、重み付け予測が前記ピクチャの少なくとも前記一部分について有効にされると決定することと、
重み付け予測が前記ピクチャの少なくとも前記一部分について有効にされるという前記決定に基づいて、参照ピクチャリストからの参照ピクチャを示すピクチャ順序カウントオフセットを識別することと、ここにおいて、前記ピクチャ順序カウントオフセットは、異なる重みを有する予測のために同じ参照ピクチャが使用されることを示す0値を有することができる、
前記ピクチャ順序カウントオフセットによって識別された前記参照ピクチャの少なくとも一部分を使用して、前記ピクチャの少なくとも前記一部分を再構築することと、
前記ビットストリーム中に含まれる第2のピクチャの少なくとも一部分を取得することと、
前記ビットストリームから、重み付け予測が前記第2のピクチャの前記一部分について無効にされると決定することと、
前記重み付け予測が前記第2のピクチャについて無効にされることに基づいて、シンタックス要素の再構築された値を、シグナリングされた値+1として生成することによって、第2の参照ピクチャのためのピクチャ順序カウントオフセットを示す前記ビットストリームの第2のシンタックス要素をパースすることと、
前記シンタックス要素の前記再構築された値を使用して前記第2のピクチャを再構築することと
を行うように構成された、装置。
【請求項2】
前記プロセッサは、
前記ビットストリームから、前記ピクチャの複数の部分を取得することと、前記複数の部分が、前記0値ピクチャ順序カウントオフセットによって識別された前記参照ピクチャを使用して再構築された前記ピクチャの少なくとも前記一部分を含む、
前記ピクチャの前記複数の部分のための複数の対応するピクチャ順序カウントオフセットを識別することと、ここにおいて、前記0値ピクチャ順序カウントオフセットが、前記参照ピクチャに関連する前記複数の対応するピクチャ順序カウントオフセットのうちの対応するピクチャ順序カウントオフセットである、
前記複数の対応するピクチャ順序カウントオフセットによって識別された複数の参照ピクチャを使用して、前記ピクチャを再構築することと
を行うようにさらに構成された、請求項1に記載の装置。
【請求項3】
前記プロセッサは、前記ピクチャのための1つまたは複数の重み付け予測フラグを識別するために前記ビットストリームをパースすることによって、重み付け予測が有効にされると決定するようにさらに構成された、請求項1に記載の装置。
【請求項4】
前記ピクチャの前記一部分のための前記1つまたは複数の重み付け予測フラグが、シーケンスパラメータセット重み付け予測フラグとピクチャパラメータセット重み付け予測フラグとを備える、請求項3に記載の装置。
【請求項5】
前記シーケンスパラメータセット重み付け予測フラグおよび前記ピクチャパラメータセット重み付け予測フラグが、単方向予測されたフレームのためのフラグである、請求項4に記載の装置。
【請求項6】
前記シーケンスパラメータセット重み付け予測フラグおよび前記ピクチャパラメータセット重み付け予測フラグが、双方向予測フレームのためのフラグである、請求項4に記載の装置。
【請求項7】
前記ピクチャパラメータセット重み付け予測フラグが、前記シーケンスパラメータセット重み付け予測フラグによって制約される、請求項4に記載の装置。
【請求項8】
参照ピクチャシンタックス要素の値は、重み付け予測が無効にされるとき、前記第2のピクチャのピクチャ順序カウント値と、前記第2の参照ピクチャのための前記参照ピクチャリストにおける前の参照ピクチャエントリとの間の絶対差分を、シグナリングされた値+1として指定する、請求項1に記載の装置。
【請求項9】
前記参照ピクチャが、重みの第1のセットに関連し、前記ピクチャが、重みの前記第1のセットとは異なる重みの第2のセットに関連し、
ここにおいて、前記参照ピクチャが、前記ピクチャとは異なるサイズを有し、
ここにおいて、前記参照ピクチャが、0に等しいピクチャ順序カウント最下位ビット値をもつ短期参照ピクチャとしてシグナリングされる、
請求項1に記載の装置。
【請求項10】
前記ピクチャが、非瞬時復号リフレッシュ(非IDR)ピクチャである、請求項1に記載の装置。
【請求項11】
前記プロセッサが、
前記ビットストリームから、レイヤ間予測のためのレイヤインデックスのレイヤを示す前記参照ピクチャのためのレイヤ識別子を決定すること
を行うように構成され、
ここにおいて、前記0値ピクチャ順序カウントオフセットは、前記レイヤ識別子が現在のレイヤ識別子とは異なるとき、シグナリングされていない前記参照ピクチャのためのピクチャ順序カウントから0値を推論することによって識別される、
請求項1に記載の装置。
【請求項12】
前記装置が、前記ピクチャをキャプチャおよび記憶するための、前記プロセッサと前記メモリとに結合されたカメラをもつモバイルデバイスと、ディスプレイとを備える、請求項1に記載の装置。
【請求項13】
ビデオデータを復号するための方法であって、前記方法は、
ビットストリームから、ピクチャの少なくとも一部分を取得することと、
前記ビットストリームから、重み付け予測が前記ピクチャの前記一部分について有効にされると決定することと、
重み付け予測が前記ピクチャの前記一部分について有効にされるという前記決定に基づいて、参照ピクチャリストからの参照ピクチャを示すピクチャ順序カウントオフセットを識別することと、ここにおいて、前記ピクチャ順序カウントオフセットは、異なる重みを有する予測のために同じ参照ピクチャが使用されることを示す0値を有することができ、
前記ピクチャ順序カウントオフセットによって識別された前記参照ピクチャの少なくとも一部分を使用して、前記ピクチャの少なくとも前記一部分を再構築することと、
前記ビットストリーム中に含まれる第2のピクチャの少なくとも一部分を取得することと、
前記ビットストリームから、重み付け予測が前記第2のピクチャについて無効にされると決定することと、
前記重み付け予測が前記第2のピクチャについて無効にされることに基づいて、第2のシンタックス要素の再構築された値を、シグナリングされた値+1として生成することによって、第2の参照ピクチャのためのピクチャ順序カウントオフセットを示す前記ビットストリームの前記第2のシンタックス要素をパースすることと、
前記第2のシンタックス要素の前記再構築された値を使用して前記第2のピクチャの少なくとも前記一部分を再構築することと、
を備える、方法。
【請求項14】
ビデオデータを符号化するための装置であって、前記装置が、
メモリと、
回路中に実装されたプロセッサとを備え、前記プロセッサは、
ピクチャの少なくとも一部分を識別することと、
前記ピクチャの前記一部分について有効にされるような重み付け予測を選択することと、
前記ピクチャの前記一部分のための参照ピクチャを識別することと、
重み付け予測が前記ピクチャの前記一部分について有効にされるという決定に基づいて、参照ピクチャリストからの前記参照ピクチャを示すピクチャ順序カウントオフセットを生成することと、ここにおいて、前記ピクチャ順序カウントオフセットの0値は、異なる重みを有する予測のために同じ参照ピクチャが使用されることを示す、
第2のピクチャの少なくとも一部分を識別することと、
前記第2のピクチャの前記一部分について無効にされるような重み付け予測を選択することと、
前記重み付け予測が前記第2のピクチャについて無効にされることに基づいて、第2の参照ピクチャについてピクチャ順序カウントオフセット-1を示す第2のシンタックス要素を生成することと、
ビットストリームを生成することと、前記ビットストリームが、前記ピクチャの前記一部分および前記ピクチャの前記一部分に関連するような前記ピクチャ順序カウントオフセットと、前記第2のピクチャの前記一部分および前記第2のピクチャの前記一部分に関連するような前記第2のシンタックス要素とを備える、
を行うように構成された、装置。
【請求項15】
ビデオデータを符号化するための方法であって、前記方法は、
ピクチャの少なくとも一部分を識別することと、
重み付け予測が前記ピクチャの前記一部分について有効にされることを選択することと、
前記ピクチャの前記一部分のための参照ピクチャを識別することと、
重み付け予測が前記ピクチャの前記一部分について有効にされるという決定に基づいて、参照ピクチャリストからの前記参照ピクチャを示すピクチャ順序カウントオフセットを生成することと、ここにおいて、前記ピクチャ順序カウントオフセットの0値は、異なる重みを有する予測のために同じ参照ピクチャが使用されることを示す、
第2のピクチャの少なくとも一部分を識別することと、
前記第2のピクチャの前記一部分について無効にされるような重み付け予測を選択することと、
前記重み付け予測が前記第2のピクチャについて無効にされることに基づいて、第2の参照ピクチャについてピクチャ順序カウントオフセット-1を示す第2のシンタックス要素を生成することと、
ビットストリームを生成することと、前記ビットストリームが、前記ピクチャの前記一部分および前記ピクチャの前記一部分に関連するような前記ピクチャ順序カウントオフセットと、前記第2のピクチャの前記一部分および前記第2のシンタックス要素とを備える、
を備える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本出願は、ビデオコーディングに関する。より詳細には、本出願は、ビデオコーディングシステムのためのスケーラビリティサポート(scalability support)を提供するシステム、方法、およびコンピュータ可読媒体に関する。
【背景技術】
【0002】
[0002] 多くのデバイスおよびシステムは、ビデオデータ(video data)が消費のために処理および出力されることを可能にする。デジタルビデオデータは、消費者およびビデオプロバイダの需要を満たすための大量のデータを含む。たとえば、ビデオデータの消費者は、高い忠実度、解像度、フレームレートなどを伴う、最高の品質のビデオを望む。その結果、これらの需要を満たすために必要とされる大量のビデオデータは、ビデオデータを処理および記憶する通信ネットワークおよびデバイスに負担をかける。
【0003】
[0003] 様々なビデオコーディング技法が、ビデオデータを圧縮するために使用され得る。ビデオコーディングは、1つまたは複数のビデオコーディング規格に従って実施される。たとえば、ビデオコーディング規格は、特に、汎用ビデオコーディング(VVC)、高効率ビデオコーディング(HEVC)、アドバンストビデオコーディング(AVC)、ムービングピクチャエキスパートグループ(MPEG)コーディングを含む。ビデオコーディングは、ビデオ画像またはシーケンス中に存在する冗長を利用する予測方法(たとえば、インター予測、イントラ予測など)を利用することができる。ビデオコーディング技法の重要な目標は、ビデオ品質に対する劣化を回避するかまたは最小限に抑えながら、より低いビットレートを使用する形式にビデオデータを圧縮することである。常に発展しつつあるビデオサービスが利用可能になるとともに、より良いコーディング効率をもつ符号化技法が必要とされる。
【発明の概要】
【0004】
[0004] 改善されたビデオ処理のためのシステムおよび方法が本明細書で説明される。デジタルビデオデータは、消費者およびビデオプロバイダの需要を満たすための大量のデータを含み、これは、ビデオデータを処理および記憶する通信ネットワークおよびデバイスに負担をかける。ビデオ処理のいくつかの例は、ビデオデータを効率的に符号化および復号するために、予測を用いたビデオ圧縮技法を使用する。たとえば、予測は、符号化されているブロック(block)中のピクセル値と予測されたブロック中のピクセル値との間の差分として決定され得る。予測誤差は残差と呼ばれることもある。ビデオエンコーダはまた、変換係数を生成するために、予測誤差に変換(たとえば、離散コサイン変換(DCT)または他の好適な変換)を適用し得る。変換の後に、ビデオエンコーダは変換係数を量子化し得る。量子化変換係数と動きベクトルとは、シンタックス要素(syntax element)を使用して表され、制御情報とともに、ビデオシーケンスのコード化表現を形成し得る。いくつかの事例では、ビデオエンコーダはシンタックス要素をエントロピーコーディングし、それにより、さらに、それらの表現のために必要とされるビット数を低減し得る。
【0005】
[0005] いくつかの例では、予測は、分析されているフレームと同じレイヤ中の参照フレームを使用することができる。そのような予測は、異なるサイズまたは解像度をもつ同じフレームのコピーを含めることができる。いくつかのそのような例では、参照フレームは、参照リスト内で識別され、ピクチャ順序カウントオフセット値(picture order count offset value)を使用して参照され得る。重み付け予測(weighted prediction)の場合、符号化または復号されているフレームと同じレイヤ内の例示的な参照フレームが、0値ピクチャ順序カウントオフセット(zero value picture order count offset)で参照され得る。いくつかのそのような例では、重み付け予測が使用されないとき、ピクチャ順序カウントオフセット値は、シグナリングされた値(signaled value)からのプラスまたはマイナス1としてエンコーダまたはデコーダによって解釈され得る。そのような動作は、シグナリングを低減することと、参照フレームを識別および使用するための動作の効率的な処理を提供することとによって、ネットワークおよび符号化デバイス(encoding device)または復号デバイス(decoding device)の効率を改善する。
【0006】
[0006] 1つの例示的な例では、ビデオデータを処理するための装置(apparatus)が提供される。本装置は、メモリ(memory)と、回路(circuitry)中に実装されたプロセッサ(processor)とを含む。プロセッサは、ビットストリーム(bitstream)中に含まれるピクチャ(picture)の少なくとも一部分を取得するように構成される。プロセッサは、ビットストリームから、重み付け予測がピクチャの少なくとも一部分について有効にされると決定することと、重み付け予測がピクチャの少なくとも一部分について有効にされるという決定に基づいて、参照ピクチャリスト(reference picture list)からの参照ピクチャ(reference picture)を示す0値ピクチャ順序カウントオフセットを識別することとを行うようにも構成される。プロセッサは、0値ピクチャ順序カウントオフセットによって識別された参照ピクチャの少なくとも一部分を使用して、ピクチャの少なくとも一部分を再構築(reconstruct)するようにも構成される。
【0007】
[0007] 別の例では、ビデオデータを処理する方法が提供される。本方法は、ビットストリームから、ピクチャの少なくとも一部分を取得することを含む。本方法は、ビットストリームから、重み付け予測がピクチャの一部分について有効にされると決定することをさらに含む。本方法は、重み付け予測がピクチャの一部分について有効にされるという決定に基づいて、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを識別することをさらに含む。本方法は、0値ピクチャ順序カウントオフセットによって識別された参照ピクチャの少なくとも一部分を使用して、ピクチャの少なくとも一部分を再構築することをさらに含む。
【0008】
[0008] 別の例では、実行されたとき、ビデオデータを復号するためのデバイスの1つまたは複数のプロセッサに、ビットストリーム中に含まれるピクチャの少なくとも一部分を取得することと、ビットストリームから、重み付け予測がピクチャの少なくとも一部分について有効にされると決定することと、重み付け予測がピクチャの少なくとも一部分について有効にされるという決定に基づいて、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを識別することと、0値ピクチャ順序カウントオフセットによって識別された参照ピクチャの少なくとも一部分を使用して、ピクチャの少なくとも一部分を再構築することとを行わせる命令を記憶するコンピュータ可読記憶媒体。
【0009】
[0009] 別の例では、ビデオデータを復号するための装置が提供される。本装置は、ビットストリーム中に含まれるピクチャの少なくとも一部分を取得するための手段と、ビットストリームから、重み付け予測がピクチャの少なくとも一部分について有効にされると決定するための手段と、重み付け予測がピクチャの少なくとも一部分について有効にされるという決定に基づいて、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを識別するための手段と、0値ピクチャ順序カウントオフセットによって識別された参照ピクチャの少なくとも一部分を使用して、ピクチャの少なくとも一部分を再構築するための手段とを含む。
【0010】
[0010] いくつかの場合には、上記で説明された方法、装置、およびコンピュータ可読記憶媒体は、ビットストリームから、ピクチャの複数の部分を取得することと、複数の部分が、0値ピクチャ順序カウントオフセットによって識別された参照ピクチャを使用して再構築されたピクチャの少なくとも一部分を含む、ピクチャの複数の部分のための複数の対応するピクチャ順序カウントオフセット(corresponding picture order count offset)を識別することと、ここにおいて、0値ピクチャ順序カウントオフセットが、参照ピクチャに関連する複数の対応するピクチャ順序カウントオフセットのうちの対応するピクチャ順序カウントオフセットである、複数の対応するピクチャ順序カウントオフセットによって識別された複数の参照ピクチャを使用して、ピクチャを再構築することとを含む。
【0011】
[0011] いくつかの場合には、上記で説明された方法、装置、およびコンピュータ可読記憶媒体は、ピクチャのための1つまたは複数の重み付け予測フラグ(weighted prediction flag)を識別するためにビットストリームをパース(parse)することによって、重み付け予測が有効にされると決定することを含む。いくつかの場合には、ピクチャの一部分のための1つまたは複数の重み付け予測フラグは、シーケンスパラメータセット重み付け予測フラグ(sequence parameter set weighted prediction flag)とピクチャパラメータセット重み付け予測フラグ(picture parameter set weighted prediction flag)とを備える。いくつかの場合には、シーケンスパラメータセット重み付け予測フラグおよびピクチャパラメータセット重み付け予測フラグは、単方向予測されたフレーム(uni-directional predicted frame)のためのフラグ(flag)である。いくつかの場合には、シーケンスパラメータセット重み付け予測フラグおよびピクチャパラメータセット重み付け予測フラグは、双方向予測フレーム(bi-directional predictive frame)のためのフラグである。いくつかの場合には、ピクチャパラメータセット重み付け予測フラグは、シーケンスパラメータセット重み付け予測フラグによって制約される。
【0012】
[0012] いくつかの場合には、上記で説明された方法、装置、およびコンピュータ可読記憶媒体は、ビットストリーム中に含まれる第2のピクチャ(second picture)の少なくとも一部分を取得することと、ビットストリームから、重み付け予測が第2のピクチャの一部分について無効にされると決定することと、重み付け予測が第2のピクチャの少なくとも一部分について無効にされるという決定に基づいて、第2のピクチャの一部分のための参照ピクチャリストからの第2の参照ピクチャ(second reference picture)を示すような、第2の0値ピクチャ順序カウントオフセット(second zero value picture order count offset)が可能にされないと決定することとを含む。
【0013】
[0013] いくつかの場合には、上記で説明された方法、装置、およびコンピュータ可読記憶媒体は、第2の0値ピクチャ順序カウントオフセットが可能にされないという決定に基づいて、重み付け予測が第2のピクチャについて無効にされることに基づいて、シンタックス要素の値を、シグナリングされた値+1として再構築することによって、第2の参照ピクチャのためのピクチャ順序カウントオフセットを示すビットストリームのシンタックス要素をパースすることと、シンタックス要素の再構築された値を使用して第2のピクチャを再構築することとを含む。
【0014】
[0014] いくつかの場合には、参照ピクチャシンタックス要素の値は、重み付け予測が無効にされるとき、第2のピクチャのピクチャ順序カウント値(picture order count value)と、第2の参照ピクチャのための参照ピクチャリストにおける前の参照ピクチャエントリ(previous reference picture entry)との間の絶対差分(absolute difference)を、値+1として指定する。
【0015】
[0015] いくつかの場合には、参照ピクチャは、重みの第1のセット(a first set of weights)に関連し、ピクチャは、重みの第1のセットとは異なる重みの第2のセット(a second set of weights)に関連する。いくつかの場合には、参照ピクチャは、ピクチャとは異なるサイズ(different size)を有する。いくつかの場合には、参照ピクチャは、0に等しいピクチャ順序カウント最下位ビット値(picture order count least significant bit value)をもつ短期参照ピクチャ(short-term reference picture)としてシグナリングされる。いくつかの場合には、ピクチャは、非瞬時復号リフレッシュ(非IDR)ピクチャ(non-instantaneous decoding refresh (non-IDR) picture)である。いくつかの場合には、ピクチャの少なくとも一部分はスライス(slice)である。スライスは、ピクチャの複数のブロックを含むことができる。いくつかの場合には、ピクチャの少なくとも一部分は、ピクチャのブロック(たとえば、コーディングツリーユニット(CTU)、マクロブロック、コーディングユニットまたはブロック、予測ユニットまたはブロック、あるいはピクチャの他のタイプのブロック)である。
【0016】
[0016] いくつかの場合には、上記で説明された方法、装置、およびコンピュータ可読記憶媒体は、ビットストリームから、レイヤ間予測のためのレイヤインデックス(layer index for inter-layer prediction)のレイヤを示す参照ピクチャのためのレイヤ識別子(layer identifier)を決定することを含む。いくつかの例では、0値ピクチャ順序カウントオフセットは、レイヤ識別子が現在のレイヤ識別子(current layer identifier)とは異なるとき、シグナリングされていない参照ピクチャのためのピクチャ順序カウントから0値を推論(infer)することによって識別される。
【0017】
[0017] 別の例示的な例では、ビデオデータを符号化するための装置が提供される。例示的な装置は、メモリと、回路中に実装されたプロセッサとを含み、プロセッサは、ピクチャの少なくとも一部分を識別するように構成される。プロセッサは、ピクチャの一部分について有効にされるような重み付け予測を選択するようにさらに構成される。プロセッサは、ピクチャの一部分のための参照ピクチャを識別することと、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成することとを行うようにさらに構成される。プロセッサは、ビットストリームを生成すること、ビットストリームが、ピクチャの一部分と、ピクチャの一部分に関連するような0値ピクチャ順序カウントオフセットとを備える、を行うようにさらに構成される。
【0018】
[0018] 別の例では、ビデオデータを符号化するための方法が提供される。本方法は、ピクチャの少なくとも一部分を識別することを含む。本方法は、ピクチャの一部分について有効にされるような重み付け予測が選択されると決定することを含む。本方法は、ピクチャの一部分のための参照ピクチャを識別することと、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成することとを含む。本方法は、ビットストリームを生成すること、ここで、ビットストリームが、ピクチャの一部分と、ピクチャの一部分に関連するような0値ピクチャ順序カウントオフセットとを備える、をさらに含む。
【0019】
[0019] 別の例示的な例では、実行されたとき、ビデオデータを符号化するためのデバイスの1つまたは複数のプロセッサに、ピクチャの少なくとも一部分を識別することと、ピクチャの一部分について有効にされるような重み付け予測を選択することと、ピクチャの一部分のための参照ピクチャを識別することと、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成することと、ビットストリームを生成することと、ビットストリームが、ピクチャの一部分と、ピクチャの一部分に関連するような0値ピクチャ順序カウントオフセットとを備える、を行わせる命令を記憶するコンピュータ可読記憶媒体。
【0020】
[0020] 別の例示的な例では、ビデオデータを符号化するための装置が提供される。本装置は、ピクチャの少なくとも一部分を識別するための手段と、ピクチャの一部分について有効にされるような重み付け予測を選択するための手段と、ピクチャの一部分のための参照ピクチャを識別するための手段と、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成するための手段と、ビットストリームを生成するための手段と、ビットストリームが、ピクチャの一部分と、ピクチャの一部分に関連するような0値ピクチャ順序カウントオフセットとを備える、を含む。
【0021】
[0021] 別の例では、ビデオデータを符号化するための方法が提供される。本方法は、ピクチャの少なくとも一部分を識別することを含む。本方法は、ピクチャの一部分について有効にされるような重み付け予測が選択されると決定することを含む。本方法は、ピクチャの一部分のための参照ピクチャを識別することと、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成することとを含む。本方法は、ビットストリームを生成すること、ここで、ビットストリームが、ピクチャの一部分と、ピクチャの一部分に関連するような0値ピクチャ順序カウントオフセットとを備える、をさらに含む。
【0022】
[0022] いくつかの態様では、ビデオデータを復号するための装置および/またはビデオデータを符号化するための装置は、カメラ(camera)、モバイルデバイス(mobile device)(たとえば、携帯電話またはいわゆる「スマートフォン」または他のモバイルデバイス)、ウェアラブルデバイス、エクステンデッドリアリティ(extended reality)デバイス(たとえば、仮想現実(VR)デバイス、拡張現実(AR:augmented reality)デバイス、または複合現実(MR)デバイス)、パーソナルコンピュータ、ラップトップコンピュータ、サーバコンピュータ、または他のデバイスを備える。いくつかの態様では、ビデオデータを復号するための装置および/またはビデオデータを符号化するための装置は、1つまたは複数の画像をキャプチャするための1つまたは複数のカメラを含む。いくつかの態様では、ビデオデータを復号するための装置および/またはビデオデータを符号化するための装置は、1つまたは複数の画像、通知、および/または他の表示可能なデータを表示するためのディスプレイ(display)を含む。
【0023】
[0023] 方法、装置、およびコンピュータ可読媒体のいずれかに関係する上記で説明された態様は、個々に、または任意の好適な組合せで使用され得る。
【0024】
[0024] 本発明の概要は、請求される主題の主要なまたは本質的な特徴を識別するものではなく、請求される主題の範囲を決定するために独立して使用されるものでもない。本主題は、本特許の明細書全体、いずれかまたはすべての図面、および各請求項の適切な部分を参照することによって理解されたい。
【0025】
[0025] 上記のことは、他の特徴および実施形態とともに、以下の明細書、特許請求の範囲、および添付の図面を参照すると、より明らかになろう。
【0026】
[0026] 本出願の例示的な例が、以下の図を参照しながら以下で詳細に説明される。
【図面の簡単な説明】
【0027】
図1】[0027] いくつかの例による、符号化デバイスおよび復号デバイスの一例を示すブロック図。
図2】[0028] 本開示の技法を実施するためのフィルタユニットの例示的な一実装形態を示す図。
図3】[0029] いくつかの例による、異なるピクチャ順序カウント(POC:picture order count)をもつ複数のアクセスユニット(AU)の一例を示す図。
図4】[0030] 本明細書で説明される様々な例による、例示的な方法を示す流れ図。
図5】[0031] 本明細書で説明される様々な例による、例示的な方法を示す流れ図。
図6】[0032] いくつかの例による、例示的なビデオ符号化デバイスを示すブロック図。
図7】[0033] いくつかの例による、例示的なビデオ復号デバイスを示すブロック図。
【発明を実施するための形態】
【0028】
[0034] 本開示のいくつかの態様および例が以下で与えられる。当業者に明らかであるように、これらの態様および例のうちのいくつかは独立して適用され得、それらのうちのいくつかは組み合わせて適用され得る。以下の説明では、説明の目的で、本出願の例の完全な理解を与えるために具体的な詳細が記載される。ただし、様々な例は、これらの具体的な詳細なしに実施され得ることが明らかであろう。図および説明は限定するものではない。
【0029】
[0035] 以下の説明は、例示的な例のみを与えるものであり、本開示の範囲、適用性、または構成を限定するものではない。そうではなく、例示的な例の以下の説明は、例示的な例を実装することを可能にする説明を当業者に与える。添付の特許請求の範囲に記載されるように、本出願の趣旨および範囲から逸脱することなく、要素の機能および構成において様々な変更が行われ得ることを理解されたい。
【0030】
[0036] ビデオコーディングデバイスは、ビデオデータを効率的に符号化および復号するためのビデオ圧縮技法を実装する。ビデオ圧縮技法は、ビデオシーケンスに固有の冗長を低減または除去するために、空間予測(たとえば、イントラフレーム予測またはイントラ予測)、時間予測(たとえば、インターフレーム予測またはインター予測)、(ビデオデータの異なるレイヤにわたるレイヤ間予測、および/または他の予測技法を含む、異なる予測モードを適用することを含み得る。ビデオエンコーダは、元のビデオシーケンスの各ピクチャを(以下でより詳細に説明される)ビデオブロックまたはコーディングユニットと呼ばれる矩形領域に区分することができる。これらのビデオブロックは、特定の予測モードを使用して符号化され得る。
【0031】
[0037] ビデオブロックは、1つまたは複数のやり方で、より小さいブロックの1つまたは複数のグループに分割され得る。ブロックは、コーディングツリーブロック、予測ブロック、変換ブロック、および/または他の好適なブロックを含むことができる。概して「ブロック」への言及は、別段に規定されていない限り、そのようなビデオブロック(たとえば、当業者によって理解されるように、コーディングツリーブロック、コーディングブロック、予測ブロック、変換ブロック、あるいは他の適切なブロックまたはサブブロック)を指すことがある。さらに、これらのブロックの各々はまた、本明細書では、互換的に「ユニット」(たとえば、コーディングツリーユニット(CTU)、コーディングユニット、予測ユニット(PU)、変換ユニット(TU)など)と呼ばれることがある。いくつかの場合には、ユニットは、ビットストリーム中で符号化されるコーディング論理ユニットを示し得、ブロックは、プロセスがターゲットであるビデオフレームバッファの一部分を示し得る。
【0032】
[0038] インター予測モードの場合、ビデオエンコーダは、参照フレームまたは参照ピクチャと呼ばれる、別の時間ロケーション中にあるフレーム(またはピクチャ)中で符号化されているブロックと同様のブロックを探索することができる。ビデオエンコーダは、その探索を、符号化されるべきブロックからのある空間変位に制限することができる。いくつかのシステムでは、水平変位成分と垂直変位成分とを含む2次元(2D)動きベクトルを使用して、最良の一致が特定される。イントラ予測モードの場合、ビデオエンコーダは、同じピクチャ内の前に符号化された隣接ブロックからのデータに基づいて、空間予測技法を使用して、予測されたブロックを形成することができる。
【0033】
[0039] ビデオエンコーダは予測誤差を決定し得る。たとえば、予測は、符号化されているブロック中のピクセル値と予測されたブロック中のピクセル値との間の差分として決定され得る。予測誤差は残差と呼ばれることもある。ビデオエンコーダはまた、変換係数を生成するために、予測誤差に変換(たとえば、離散コサイン変換(DCT)または他の好適な変換)を適用することができる。変換の後に、ビデオエンコーダは変換係数を量子化し得る。いくつかの例では、量子化変換係数と動きベクトルとは、シンタックス要素を使用して表現され、制御情報とともに、ビデオシーケンスのコード化表現を形成する。いくつかの事例では、ビデオエンコーダはシンタックス要素をエントロピーコーディングし、それにより、さらに、それらの表現のためのビット数を低減し得る。
【0034】
[0040] ビデオデコーダは、上記で説明されたシンタックス要素および制御情報を使用して、現在フレームを復号するための予測データ(たとえば、予測ブロック)を構築することができる。たとえば、ビデオデコーダは、予測されたブロックと圧縮された予測誤差とを加え得る。ビデオデコーダは、量子化係数を使用して変換基底関数を重み付けすることによって、圧縮された予測誤差を決定し得る。再構築されたフレームと元のフレームとの間の差分は、再構築誤差と呼ばれる。
【0035】
[0041] 上述のように、参照ピクチャが、インター予測を実施するときに使用され得る。参照ピクチャを識別するために、ピクチャ順序カウント(POC:picture order count)オフセット値または「デルタPOC」値が使用され得る。POC値は、選択されたピクチャのためのピクチャ順序カウント値と、前のピクチャまたは元のピクチャのためのピクチャ順序カウント値との間の差分(たとえば、オフセットまたはデルタ)に基づいて、選択されたピクチャを識別する。いくつかの参照ピクチャは、複数の参照ピクチャが同じPOC値を有する(たとえば、同じピクチャが複数回参照として使用される)ときなど、0に等しいデルタPOC値を有することができる。たとえば、0デルタPOC値は、重み付け予測で使用され得る。しかしながら、いくつかの例では、重み付け予測が無効にされるとき、0デルタPOC値は使用されないことがある。非0デルタPOC値をシグナリングすることは、追加のビットを使用し、これは、デルタPOC値が定期的に同じ非0値であるとき、リソースを浪費し得る。
【0036】
[0042] 関連するモード(たとえば、重み付け予測)がいつ有効または無効にされるかを決定することと、この決定に基づいて、シグナリングされたデルタPOC値を解釈することとによって、符号化ビデオデータをシグナリングするために使用されるビットレートを低減することができる、システムおよび技法が本明細書で説明される。いくつかの例では、重み付け予測が有効にされることを示す重み付け予測フラグなど、フラグが、現在モードを決定するために使用される。そのような例では、重み付け予測が有効にされるとき、0のシグナリングされたデルタPOC値が、ピクチャを再構築するための実際のデルタPOCとして使用され得る。重み付け予測が無効にされるとき、0のシグナリングされたデルタPOCは、実際の(非0)デルタPOC値を決定するために修正され得る。上記で説明されたように、そのような実装形態は、画像品質を低減することなしに、画像シグナリングのために使用されるビットレートを低減することによって、システムの動作を改善することができる。
【0037】
[0043] 本明細書で説明される技法は、既存のビデオコーデック(たとえば、高効率ビデオコーディング(HEVC)、アドバンストビデオコーディング(AVC)、または他の好適な既存のビデオコーデック)のいずれかに適用され得るか、ならびに/あるいは、たとえば、汎用ビデオコーディング(VVC)、ジョイント探査モデル(JEM)、および/または開発中のもしくは開発されることになる他のビデオコーディング規格など、任意の開発されているビデオコーディング規格および/または将来のビデオコーディング規格のための効率的なコーディングツールであり得る。本明細書で説明される例は、JEMモデル、VVC、HEVC規格、および/またはそれらの拡張を使用する例を与えるが、本明細書で説明される技法およびシステムは、他のコーディング規格にも適用可能であり得る。したがって、本明細書で説明される技法およびシステムは、特定のビデオコーディング規格を参照しながら説明され得るが、当業者は、説明がその特定の規格にのみ適用されると解釈されるべきではないことを諒解されよう。
【0038】
[0044] 図1は、符号化デバイス(encoding device)104と復号デバイス(decoding device)112とを含むシステム100の一例を示すブロック図である。符号化デバイス104はソースデバイスの一部であり得、復号デバイス112は受信デバイスの一部であり得る。ソースデバイスおよび/または受信デバイスは、モバイルもしくは固定電話ハンドセット(たとえば、スマートフォン、セルラー電話など)、デスクトップコンピュータ、ラップトップもしくはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、インターネットプロトコル(IP)カメラ、または任意の他の好適な電子デバイスなど、電子デバイスを含み得る。いくつかの例では、ソースデバイスおよび受信デバイスは、ワイヤレス通信のための1つまたは複数のワイヤレストランシーバを含み得る。本明細書で説明されるコーディング技法は、(たとえば、インターネットを介した)ストリーミングビデオ送信、テレビジョン放送もしくは送信、データ記憶媒体上に記憶するためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例を含む、様々なマルチメディア適用例におけるビデオコーディングに適用可能である。いくつかの例では、システム100は、ビデオ会議、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、ゲーム、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートすることができる。
【0039】
[0045] 符号化デバイス104(またはエンコーダ)は、符号化ビデオビットストリームを生成するためにビデオコーディング規格またはプロトコルを使用してビデオデータを符号化するために使用され得る。ビデオコーディング規格の例は、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、そのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含む(ISO/IEC MPEG-4 AVCとしても知られる)ITU-T H.264、およびHEVCまたはITU-T H.265を含む。範囲およびスクリーンコンテンツコーディング拡張、3Dビデオコーディング(3D-HEVC)ならびにマルチビュー拡張(MV-HEVC)ならびにスケーラブル拡張(SHVC)を含む、マルチレイヤビデオコーディングに対処するHEVCへの様々な拡張が存在する。ジョイント探査ビデオチーム(JVET)によって開発されている新しいビデオコーディング規格は、汎用ビデオコーディング(VVC)と呼ばれる。
【0040】
[0046] 図1を参照すると、ビデオソース102は、符号化デバイス104にビデオデータを与え得る。ビデオソース102は、ソースデバイスの一部であり得るか、またはソースデバイス以外のデバイスの一部であり得る。ビデオソース102は、ビデオキャプチャデバイス(たとえば、ビデオカメラ、カメラフォン、ビデオフォンなど)、記憶されたビデオを含んでいるビデオアーカイブ、ビデオデータを与えるビデオサーバまたはコンテンツプロバイダ、ビデオサーバまたはコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組合せ、あるいは任意の他の好適なビデオソースを含み得る。
【0041】
[0047] ビデオソース102からのビデオデータは、1つまたは複数の入力ピクチャを含み得る。ピクチャは「フレーム」と呼ばれることもある。ピクチャまたはフレームは、いくつかの場合には、ビデオの一部である静止画像である。いくつかの例では、ビデオソース102からのデータは、ビデオの一部でない静止画像であり得る。HEVC、VVC、および他のビデオコーディング仕様では、ビデオシーケンスは、一連のピクチャを含むことができる。ピクチャは、SL、SCbおよびSCrと示される、3つのサンプルアレイを含み得る。SLはルーマサンプルの2次元アレイであり、SCbはCbクロミナンスサンプルの2次元アレイであり、SCrはCrクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。ピクセルは、ルーマ成分、Cb成分、およびCr成分を含むピクチャ内のロケーションを指すことができる。他の事例では、ピクチャは、モノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【0042】
[0048] 符号化デバイス104のエンコーダエンジン106(またはエンコーダ)は、符号化ビデオビットストリームを生成するためにビデオデータを符号化する。いくつかの例では、符号化ビデオビットストリーム(または「ビデオビットストリーム」または「ビットストリーム」)は、一連の1つまたは複数のコード化ビデオシーケンスである。コード化ビデオシーケンス(CVS)は、ベースレイヤ中の、いくつかのプロパティをもつランダムアクセスポイントピクチャを有するアクセスユニット(AU)で始まり、ベースレイヤ中の、いくつかのプロパティをもつランダムアクセスポイントピクチャを有する次のAUまでの、次のAUを含まない一連のAUを含む。AUは、1つまたは複数のコード化ピクチャと、同じ出力時間を共有するコード化ピクチャに対応する制御情報とを含む。ピクチャのコード化スライスは、ビットストリームレベルにおいて、ネットワークアブストラクションレイヤ(NAL)ユニットと呼ばれるデータユニット中にカプセル化される。たとえば、HEVCビデオビットストリームは、NALユニットを含む1つまたは複数のCVSを含み得る。NALユニットの各々はNALユニットヘッダを有する。
【0043】
[0049] エンコーダエンジン106は、各ピクチャを複数のスライスに区分することによってピクチャのコード化表現を生成する。スライスは、スライス中の情報が、同じピクチャ内の他のスライスからのデータへの依存性なしにコーディングされるように、他のスライスから独立している。スライスは、次いで、ルーマサンプルおよびクロマサンプルのコーディングツリーブロック(CTB)に区分される。ルーマサンプルのCTBおよびクロマサンプルの1つまたは複数のCTBは、サンプルのためのシンタックスとともに、コーディングツリーユニット(CTU)と呼ばれる。CTUは、HEVC符号化のための基本処理ユニットである。CTUは、様々なサイズの複数のコーディングユニット(CU)にスプリットされ得る。CUは、コーディングブロック(CB)と呼ばれるルーマおよびクロマサンプルアレイを含んでいる。
【0044】
[0050] ルーマおよびクロマCBは、予測ブロック(PB)にさらにスプリットされ得る。PBは、(利用可能なとき、または使用のために有効にされたとき)インター予測またはイントラブロックコピー予測のために同じ動きパラメータを使用するルーマ成分またはクロマ成分のサンプルのブロックである。ルーマPBおよび1つまたは複数のクロマPBは、関連するシンタックスとともに、予測ユニット(PU)を形成する。インター予測の場合、動きパラメータのセット(たとえば、1つまたは複数の動きベクトル、参照インデックスなど)は、PUごとにビットストリーム中でシグナリングされ、ルーマPBおよび1つまたは複数のクロマPBのインター予測のために使用される。動きパラメータは動き情報と呼ばれることもある。CBはまた、1つまたは複数の変換ブロック(TB)に区分され得る。TBは、予測残差信号をコーディングするために同じ2次元変換が適用される色成分のサンプルの正方形ブロックを表現する。変換ユニット(TU)は、ルーマおよびクロマサンプルのTBと、対応するシンタックス要素とを表現する。
【0045】
[0051] CUのサイズは、コーディングモードのサイズに対応し、形状が正方形であり得る。たとえば、CUのサイズは、8×8サンプル、16×16サンプル、32×32サンプル、64×64サンプル、または対応するCTUのサイズまでの任意の他の適切なサイズであり得る。「N×N」という句は、本明細書では、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法(たとえば、8ピクセル×8ピクセル)を指すために使用される。ブロック中のピクセルは行および列に配置され得る。いくつかの例では、ブロックは、水平方向において垂直方向と同じ数のピクセルを有するとは限らない。CUに関連するシンタックスデータは、たとえば、1つまたは複数のPUへのCUの区分を表し得る。区分モードは、CUがイントラ予測モード符号化されるか、インター予測モード符号化されるかの間で異なり得る。PUは、形状が非正方形になるように区分され得る。
【0046】
[0052] HEVC規格によれば、変換は、上記で説明されたTUを使用して実施され得る。TUは、異なるCUでは異なり得る。TUは、所与のCU内のPUのサイズに基づいてサイズ決定され得る。TUは、PUと同じサイズであるか、またはPUよりも小さいことがある。いくつかの例では、CUに対応する残差サンプルは、残差クワッドツリー(RQT:residual quad tree)として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードはTUに対応し得る。TUに関連するピクセル差分値は、変換係数を作り出すために変換され得る。変換係数は、次いで、エンコーダエンジン106によって量子化され得る。
【0047】
[0053] ビデオデータのピクチャがCUに区分されると、エンコーダエンジン106は、予測モードを使用して各PUを予測する。予測ユニットまたは予測ブロックは、次いで、(以下で説明される)残差を得るために元のビデオデータから減算される。CUごとに、シンタックスデータを使用してビットストリーム内で予測モードがシグナリングされ得る。予測モードは、イントラ予測(またはピクチャ内予測)またはインター予測(またはピクチャ間予測)を含み得る。ピクチャ間予測を使用してピクチャエリアをコーディングすべきなのか、ピクチャ内予測を使用してピクチャエリアをコーディングすべきなのかの決定は、たとえば、CUレベルにおいて行われ得る。
【0048】
[0054] ピクチャ内予測は、ピクチャ内の空間的に隣接するサンプル間の相関を利用する。たとえば、イントラ予測を使用して、各PUは、たとえば、PUに関する平均値を見つけるためのDC予測、平坦面をPUに適合させるための平面予測、隣接データから外挿するための方向性予測、または任意の他の好適なタイプの予測を使用して、同じピクチャ中の隣接画像データから予測される。
【0049】
[0055] ピクチャ間予測は、画像サンプルのブロックについての動き補償予測を導出するためにピクチャ間の時間相関を使用する。並進運動モデルを使用して、前に復号されたピクチャ(参照ピクチャ)中のブロックの位置は、動きベクトル(Δx,Δy)によって示され、Δxは、現在ブロックの位置に対する参照ブロックの水平変位を指定し、Δyはその垂直変位を指定する。いくつかの場合には、動きベクトル(Δx,Δy)は、(整数精度とも呼ばれる)整数サンプル精度であり得、その場合、動きベクトルは、参照フレームの整数ペルグリッド(または整数ピクセルサンプリンググリッド)を指す。いくつかの場合には、動きベクトル(Δx,Δy)は、参照フレームの整数ペルグリッドに制限されることなしに、基礎をなすオブジェクトの移動をより正確にキャプチャするために、(分数ペル精度または非整数精度とも呼ばれる)分数サンプル精度のものであり得る。動きベクトルの精度は、動きベクトルの量子化レベルによって表され得る。たとえば、量子化レベルは、整数精度(たとえば、1ピクセル)または分数ペル精度(たとえば、1/4ピクセル、1/2ピクセル、または他のサブピクセル値)であり得る。対応する動きベクトルが分数サンプル精度を有するとき、予測信号を導出するために、参照ピクチャに補間が適用される。たとえば、整数位置において利用可能なサンプルは、分数位置における値を推定するために、(たとえば、1つまたは複数の補間フィルタを使用して)フィルタ処理され得る。前に復号された参照ピクチャは、参照ピクチャリストへの参照インデックス(refIdx)によって示される。動きベクトルおよび参照インデックスは、動きパラメータと呼ばれることがある。単予測と双予測とを含む、2つの種類のピクチャ間予測が実施され得る。
【0050】
[0056] 双予測を使用するインター予測の場合、動きパラメータの2つのセット(Δx0、Δy0、refIdx0、および、Δx1、Δy1、refIdx1)が、(同じ参照ピクチャから、または場合によっては異なる参照ピクチャから)2つの動き補償予測を生成するために使用される。たとえば、双予測の場合、各予測ブロックは、2つの動き補償予測信号を使用し、B予測ユニットを生成する。2つの動き補償予測は、次いで、最終の動き補償予測を得るために組み合わせられる。たとえば、2つの動き補償予測は、平均化によって組み合わせられ得る。別の例では、重み付け予測が使用され得、その場合、異なる重みが、各動き補償予測に適用され得る。双予測において使用され得る参照ピクチャは、リスト0およびリスト1として示される、2つの別個のリストに記憶される。動きパラメータは、動き推定プロセスを使用してエンコーダにおいて導出され得る。
【0051】
[0057] 単予測を使用するインター予測の場合、動きパラメータ(Δx0,Δy0,refIdx0)の1つのセットが、参照ピクチャから動き補償予測を生成するために使用される。たとえば、単予測の場合、各予測ブロックは、高々1つの動き補償予測信号を使用し、P予測ユニットを生成する。
【0052】
[0058] PUは、予測プロセスに関係するデータ(たとえば、動きパラメータまたは他の好適なデータ)を含み得る。たとえば、PUがイントラ予測を使用して符号化されるとき、PUは、PUのためのイントラ予測モードを表すデータを含み得る。別の例として、PUがインター予測を使用して符号化されるとき、PUは、PUのための動きベクトルを定義するデータを含み得る。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分(Δx)、動きベクトルの垂直成分(Δy)、動きベクトルの解像度(たとえば、整数精度、1/4ピクセル精度、または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、参照インデックス、動きベクトルのための参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)、またはそれらの任意の組合せを表し得る。
【0053】
[0059] 符号化デバイス104は、次いで、変換および量子化を実施し得る。たとえば、予測の後に、エンコーダエンジン106は、PUに対応する残差値を計算し得る。残差値は、コーディングされているピクセルの現在ブロック(PU)と、現在ブロックを予測するために使用される予測ブロック(たとえば、現在ブロックの予測されたバージョン)との間のピクセル差分値を備え得る。たとえば、(たとえば、インター予測またはイントラ予測を使用して)予測ブロックを生成した後に、エンコーダエンジン106は、現在ブロックから、予測ユニットによって作り出された予測ブロックを減算することによって、残差ブロックを生成することができる。残差ブロックは、現在ブロックのピクセル値と予測ブロックのピクセル値との間の差分を定量化するピクセル差分値のセットを含む。いくつかの例では、残差ブロックは、2次元ブロックフォーマット(たとえば、ピクセル値の2次元行列またはアレイ)で表現され得る。そのような例では、残差ブロックはピクセル値の2次元表現である。
【0054】
[0060] 予測が実施された後に残存し得るいずれの残差データも、離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、他の好適な変換関数、またはそれらの任意の組合せに基づき得るブロック変換を使用して変換される。いくつかの場合には、1つまたは複数のブロック変換(たとえば、サイズ32×32、16×16、8×8、4×4、または他の好適なサイズ)が各CUにおける残差データに適用され得る。いくつかの例では、エンコーダエンジン106によって実装される変換および量子化プロセスのためにTUが使用され得る。1つまたは複数のPUを有する所与のCUは、1つまたは複数のTUをも含み得る。以下でさらに詳細に説明されるように、残差値は、ブロック変換を使用して変換係数に変換され得、次いで、エントロピーコーディングのためのシリアル化変換係数を作り出すために、TUを使用して量子化および走査され得る。
【0055】
[0061] いくつかの例では、CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後に、エンコーダエンジン106は、CUのTUのための残差データを計算し得る。PUは、空間ドメイン(またはピクセルドメイン)においてピクセルデータを備え得る。TUは、ブロック変換の適用の後に変換ドメインにおいて係数を備え得る。前記のように、残差データは、符号化されていないピクチャのピクセルとPUに対応する予測値との間のピクセル差分値に対応し得る。エンコーダエンジン106は、CUのための残差データを含むTUを形成し得、次いで、CUのための変換係数を作り出すためにTUを変換し得る。
【0056】
[0062] エンコーダエンジン106は、変換係数の量子化を実施し得る。量子化は、係数を表現するために使用されるデータの量を低減するために変換係数を量子化することによって、さらなる圧縮を与える。たとえば、量子化は、係数の一部または全部に関連するビット深度を低減し得る。一例では、nビット値をもつ係数は、量子化中にmビット値に切り捨てられ得、nはmよりも大きい。
【0057】
[0063] 量子化が実施されると、コード化ビデオビットストリームは、量子化変換係数と、予測情報(たとえば、予測モード、動きベクトル、ブロックベクトルなど)と、区分情報と、他のシンタックスデータなどの任意の他の好適なデータとを含む。コード化ビデオビットストリームの異なる要素は、次いで、エンコーダエンジン106によってエントロピー符号化され得る。いくつかの例では、エンコーダエンジン106は、エントロピー符号化され得るシリアル化ベクトルを作り出すために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。いくつかの例では、エンコーダエンジン106は適応型走査を実施し得る。ベクトル(たとえば、1次元ベクトル)を形成するために量子化変換係数を走査した後に、エンコーダエンジン106は、ベクトルをエントロピー符号化し得る。たとえば、エンコーダエンジン106は、コンテキスト適応型可変長コーディング、コンテキスト適応型バイナリ算術コーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング、確率間隔区分エントロピーコーディング、または別の好適なエントロピー符号化技法を使用し得る。
【0058】
[0064] 符号化デバイス104の出力部110は、通信リンク120を介して受信デバイスの復号デバイス112に、符号化ビデオビットストリームデータを構成するNALユニットを送り得る。復号デバイス112の入力部114はNALユニットを受信し得る。通信リンク120は、ワイヤレスネットワーク、ワイヤードネットワーク、またはワイヤードネットワークとワイヤレスネットワークとの組合せによって与えられるチャネルを含み得る。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組合せを含み得、任意の好適なワイヤレスネットワーク(たとえば、インターネットまたは他のワイドエリアネットワーク、パケットベースネットワーク、WiFi(登録商標)、無線周波数(RF)、UWB、WiFi-Direct、セルラー、ロングタームエボリューション(LTE(登録商標))、WiMax(登録商標)など)を含み得る。ワイヤードネットワークは、任意のワイヤードインターフェース(たとえば、ファイバー、イーサネット(登録商標)、電力線イーサネット、同軸ケーブルを介したイーサネット、デジタル信号線(DSL)など)を含み得る。ワイヤードおよび/またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチなど、様々な機器を使用して実装され得る。符号化ビデオビットストリームデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、受信デバイスに送信され得る。
【0059】
[0065] いくつかの例では、符号化デバイス104は、符号化ビデオビットストリームデータを記憶装置108に記憶し得る。出力部110は、エンコーダエンジン106から、または記憶装置108から符号化ビデオビットストリームデータを取り出し得る。記憶装置108は、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。たとえば、記憶装置108は、ハードドライブ、記憶ディスク、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。記憶装置108は、インター予測において使用するための参照ピクチャを記憶するための復号ピクチャバッファ(DPB)をも含むことができる。
【0060】
[0066] エンコーダエンジン106および(以下でより詳細に説明される)デコーダエンジン116は、VVCに従って動作するように構成され得る。VVCに従って、(エンコーダエンジン106および/またはデコーダエンジン116などの)ビデオコーダは、ピクチャを複数のコーディングツリーユニット(CTU)に区分する。ビデオコーダは、クワッドツリーバイナリツリー(QTBT)構造またはマルチタイプツリー(MTT)構造など、ツリー構造に従ってCTUを区分することができる。QTBT構造は、HEVCのCUとPUとTUとの間の分離など、複数の区分タイプの概念を除去する。QTBT構造は、クワッドツリー区分に従って区分される第1のレベルと、バイナリツリー区分に従って区分される第2のレベルとを含む、2つのレベルを含む。QTBT構造のルートノードは、CTUに対応する。バイナリツリーのリーフノードは、コーディングユニット(CU)に対応する。
【0061】
[0067] MTT区分構造では、ブロックは、クワッドツリー区分と、バイナリツリー区分と、1つまたは複数のタイプのトリプルツリー区分とを使用して区分され得る。トリプルツリー区分は、ブロックが3つのサブブロックにスプリットされる区分である。いくつかの例では、トリプルツリー区分は、中心を通って元のブロックを分割することなしに、ブロックを3つのサブブロックに分割する。MTTにおける区分タイプ(たとえば、クワッドツリー、バイナリツリー、およびトライプツリー)は、対称的または非対称的であり得る。
【0062】
[0068] いくつかの例では、ビデオコーダは、ルミナンス成分とクロミナンス成分との各々を表現するために単一のQTBTまたはMTT構造を使用することができ、他の例では、ビデオコーダは、ルミナンス成分のための1つのQTBTまたはMTT構造、および両方のクロミナンス成分のための別のQTBTまたはMTT構造(またはそれぞれのクロミナンス成分のための2つのQTBTおよび/またはMTT構造)など、2つ以上のQTBTまたはMTT構造を使用することができる。
【0063】
[0069] ビデオコーダは、HEVCによるクワッドツリー区分、QTBT区分、MTT区分、または他の区分構造を使用するように構成され得る。説明の目的で、本明細書の説明は、QTBT区分を指すことがある。しかしながら、本開示の技法は、クワッドツリー区分、または同様に他のタイプの区分を使用するように構成されたビデオコーダにも適用され得ることを理解されたい。
【0064】
[0070] VVCでは、ピクチャは、スライス、タイル、およびブリックに区分され得る。概して、ブリックは、ピクチャ中の特定のタイル内のCTU行の矩形領域であり得る。タイルは、ピクチャの中の特定のタイル列内および特定のタイル行内のCTUの矩形領域であり得る。タイル列は、ピクチャの高さに等しい高さと、ピクチャパラメータセット中のシンタックス要素によって指定された幅とを有するCTUの矩形領域である。タイル行は、ピクチャパラメータセット中のシンタックス要素によって指定された高さと、ピクチャの幅に等しい幅とを有するCTUの矩形領域である。いくつかの場合には、タイルは複数のブリックに区分され得、それらの各々は、タイル内に1つまたは複数のCTU行を含むことができる。複数のブリックに区分されないタイルもブリックと呼ばれる。しかしながら、タイルの真のサブセットであるブリックは、タイルと呼ばれない。スライスは、もっぱら単一のNALユニット中に含まれているピクチャの整数個のブリックであり得る。いくつかの場合には、スライスは、いくつかの完全なタイル、または1つのタイルの完全なブリックの連続シーケンスのみのいずれかを含むことができる。
【0065】
[0071] 復号デバイス112の入力部114は、符号化ビデオビットストリームデータを受信し、ビデオビットストリームデータをデコーダエンジン116に、またはデコーダエンジン116による後の使用のために記憶装置118に与え得る。復号デバイス112の入力部114は、符号化ビデオビットストリームデータを受信し、ビデオビットストリームデータをデコーダエンジン116に、またはデコーダエンジン116による後の使用のために記憶装置118に与え得る。たとえば、記憶装置118は、インター予測において使用するための参照ピクチャを記憶するためのDPBを含むことができる。復号デバイス112を含む受信デバイスは、記憶装置108を介して復号されるべき符号化ビデオデータを受信することができる。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、受信デバイスに送信され得る。デコーダエンジン116は、(たとえば、エントロピーデコーダを使用して)エントロピー復号し、符号化ビデオデータを構成する1つまたは複数のコード化ビデオシーケンスの要素を抽出することによって、符号化ビデオビットストリームデータを復号し得る。デコーダエンジン116は、次いで、符号化ビデオビットストリームデータを再スケーリングし、符号化ビデオビットストリームデータに対して逆変換を実施し得る。残差データが、次いで、デコーダエンジン116の予測段階にパスされる。デコーダエンジン116は、次いで、ピクセルのブロック(たとえば、PU)を予測する。いくつかの例では、逆変換の出力(残差データ)に予測が加算される。
【0066】
[0072] 復号デバイス112は、復号ビデオをビデオ宛先デバイス122に出力し得、ビデオ宛先デバイス122は、復号ビデオデータをコンテンツの消費者に表示するためのディスプレイまたは他の出力デバイスを含み得る。いくつかの態様では、ビデオ宛先デバイス122は、復号デバイス112を含む受信デバイスの一部であり得る。いくつかの態様では、ビデオ宛先デバイス122は、受信デバイス以外の別個のデバイスの一部であり得る。
【0067】
[0073] 符号化デバイス104の具体的な詳細の一例は、図6を参照しながら以下で説明される。復号デバイス112の具体的な詳細の一例は、図7を参照しながら以下で説明される。
【0068】
[0074] 前に説明されたように、HEVCビットストリームは、VCL NALユニットと非VCL NALユニットとを含む、NALユニットのグループを含む。VCL NALユニットは、コード化ビデオビットストリームを形成するコード化ピクチャデータを含む。たとえば、コード化ビデオビットストリームを形成するビットのシーケンスは、VCL NALユニット中に存在する。非VCL NALユニットは、他の情報に加えて、符号化ビデオビットストリームに関係する高レベル情報をもつパラメータセットを含んでいることがある。たとえば、パラメータセットは、ビデオパラメータセット(VPS)と、シーケンスパラメータセット(SPS)と、ピクチャパラメータセット(PPS)とを含み得る。パラメータセットの目標の例は、ビットレート効率と、エラーレジリエンシーと、システムレイヤインターフェースを与えることとを含む。各スライスは、復号デバイス112がそのスライスを復号するために使用し得る情報にアクセスするために、単一のアクティブなPPS、SPS、およびVPSを参照する。VPS識別子(ID)と、SPS IDと、PPS IDとを含むIDが、パラメータセットごとにコーディングされ得る。SPSは、SPS IDとVPS IDとを含む。PPSは、PPS IDとSPS IDとを含む。各スライスヘッダはPPS IDを含む。IDを使用して、アクティブなパラメータセットが所与のスライスについて識別され得る。
【0069】
[0075] PPSは、所与のピクチャ中のすべてのスライスに適用される情報を含む。このため、ピクチャ中のすべてのスライスは、同じPPSを指す。異なるピクチャ中のスライスも、同じPPSを指すことがある。SPSは、同じコード化ビデオシーケンス(CVS)またはビットストリーム中のすべてのピクチャに適用される情報を含む。SPS中の情報は、コード化ビデオシーケンス内でピクチャごとに変化しないことがある。コード化ビデオシーケンス中のピクチャは、同じSPSを使用し得る。VPSは、コード化ビデオシーケンスまたはビットストリーム内のすべてのレイヤに適用される情報を含む。VPSは、コード化ビデオシーケンス全体に適用されるシンタックス要素をもつシンタックス構造を含む。いくつかの例では、VPS、SPS、またはPPSは、符号化ビットストリームとともに帯域内で送信され得る。いくつかの例では、VPS、SPS、またはPPSは、コード化ビデオデータを含んでいるNALユニットとは別個の送信において帯域外で送信され得る。
【0070】
[0076] ビデオビットストリームは、補足エンハンスメント情報(SEI)メッセージをも含むことができる。たとえば、SEI NALユニットはビデオビットストリームの一部であり得る。いくつかの場合には、SEIメッセージは、復号プロセスによって使用されない情報を含んでいることがある。たとえば、SEIメッセージ中の情報は、ビットストリームのビデオピクチャを復号するためのデコーダにとって必須でないことがあるが、デコーダは、ピクチャの表示または処理(たとえば、復号された出力)を改善するためにその情報を使用であることができる。
【0071】
[0077] 本明細書で説明されるように、各ブロックについて、(本明細書では動きパラメータとも呼ばれる)動き情報のセットが利用可能であり得る。動き情報のセットは、前方予測方向および後方予測方向のための動き情報を含んでいる。前方予測方向および後方予測方向は、双方向予測モードの2つの予測方向であり、その場合、「前方」および「後方」という用語は、必ずしも幾何学的意味を有するとは限らない。代わりに、「前方」および「後方」は、現在ピクチャの参照ピクチャリスト0(RefPicList0またはL0)および参照ピクチャリスト1(RefPicList1またはL1)に対応する。いくつかの例では、ピクチャまたはスライスについて1つの参照ピクチャリストのみが利用可能であるとき、RefPicList0のみが利用可能であり、スライスの各ブロックの動き情報は常に前方である。
【0072】
[0078] いくつかの場合には、動きベクトルが、その参照インデックスとともに、コーディングプロセス(たとえば、動き補償)において使用される。関連する参照インデックスをもつそのような動きベクトルは、動き情報の単予測セットとして示される。各予測方向について、動き情報は、参照インデックスと動きベクトルとを含んでいることがある。いくつかの場合には、簡単のために、動きベクトル自体は、それが、関連する参照インデックスを有すると仮定されるように言及され得る。参照インデックスは、現在参照ピクチャリスト(RefPicList0またはRefPicList1)中の参照ピクチャを識別するために使用される。動きベクトルは、現在ピクチャにおける座標位置から、参照インデックスによって識別される参照ピクチャにおける座標へのオフセットを与える水平成分と垂直成分とを有する。たとえば、参照インデックスは、現在ピクチャ中のブロックのために使用されるべきである特定の参照ピクチャを示すことができ、動きベクトルは、参照ピクチャ中で、最も良く一致したブロック(現在ブロックに最も良く一致するブロック)が参照ピクチャ中のどこにあるかを示すことができる。
【0073】
[0079] ビデオコーディング規格において、ピクチャの表示順序を識別するためにピクチャ順序カウント(POC)が使用され得る。1つのコード化ビデオシーケンス内の2つのピクチャが同じPOC値を有し得る場合があるが、一般に、それはコード化ビデオシーケンス内で起こらない。複数のコード化ビデオシーケンスがビットストリーム中に存在するとき、POCの同じ値をもつピクチャは、復号順序に関して互いに近いことがある。ピクチャのPOC値は、参照ピクチャリスト構築と、HEVCの場合のような参照ピクチャセットの導出と、動きベクトルスケーリングとのために使用され得る。
【0074】
[0080] HEVCにおける動き予測の場合、予測ユニット(PU)のためのマージモードと高度動きベクトル予測(AMVP)モードとを含む、2つのインター予測モードがある。スキップは、マージの特殊な場合と見なされる。AMVPモードまたはマージモードのいずれかでは、動きベクトル(MV)候補リストが、複数の動きベクトル予測子について維持される。現在PUの、(1つまたは複数の)動きベクトル、ならびにマージモードにおける参照インデックスは、参照リストから1つの候補をとることによって生成される。
【0075】
[0081] MV候補リストがブロックの動き予測のために使用される例では、参照リストは、符号化デバイスと復号デバイスとによって別個に構築され得る。たとえば、候補リストは、ブロック(たとえば、ピクチャのCTU、CU、または他のブロック)を符号化するときに符号化デバイスによって生成され得、ブロックを復号するときに復号デバイスによって生成され得る。候補リスト中の動き情報候補に関係する情報が、符号化デバイスと復号デバイスとの間でシグナリングされ得る。たとえば、マージモードでは、記憶された動き情報候補へのインデックス値が、(たとえば、PPS、SPS、VPSなどのシンタックス構造、スライスヘッダ、ビデオビットストリーム中でまたはビデオビットストリームとは別個に送られるSEIメッセージ、および/あるいは他のシグナリング中で)符号化デバイスから復号デバイスにシグナリングされ得る。復号デバイスは、候補リストを構築し、動き補償予測のために使用するために、構築された候補リストから1つまたは複数の動き情報候補を取得するために、シグナリングされた参照またはインデックスを使用することができる。たとえば、復号デバイス112は、MV候補リストを構築し、ブロックの動き予測のために、インデックス付けされたロケーションからの動きベクトルを使用し得る。AMVPモードの場合、参照またはインデックスに加えて、差分または残差値もデルタとしてシグナリングされ得る。たとえば、AMVPモードの場合、復号デバイスは、1つまたは複数のMV候補リストを構築し、ブロックの動き補償予測を実施する際に、シグナリングされたインデックス値を使用して取得された1つまたは複数の動き情報候補に、デルタ値を適用することができる。
【0076】
[0082] いくつかの例では、MV候補リストは、マージモードのための最高5つの候補とAMVPモードのための2つの候補とを含んでいる。他の例では、異なる数の候補が、マージモードおよび/またはAMVPモードのための候補リスト中に含まれ得る。マージ候補は、動き情報のセットを含んでいることがある。たとえば、動き情報のセットは、両方の参照ピクチャリスト(リスト0およびリスト1)に対応する動きベクトルと、参照インデックスとを含むことができる。マージ候補がマージインデックスによって識別される場合、現在ブロックの予測のために参照ピクチャが使用され、ならびに関連する動きベクトルが決定される。しかしながら、AMVPモードの下では、リスト0またはリスト1のいずれかからの各潜在的予測方向について、AMVP候補が動きベクトルのみを含んでいるので、候補リストへのインデックスとともに参照インデックスが明示的にシグナリングされる必要がある。AMVPモードでは、予測される動きベクトルはさらに改良され得る。
【0077】
[0083] 上記でわかるように、マージ候補は動き情報のフルセットに対応し、AMVP候補は、特定の予測方向および参照インデックスのためのただ1つの動きベクトルを含んでいる。両方のモードのための候補は、同じ空間および時間隣接ブロックから同様に導出される。いくつかの例では、マージモードは、インター予測PUが、空間的に隣接する動きデータ位置と2つの時間的にコロケートされた動きデータ位置のうちの1つとのグループから選択される動きデータ位置を含むインター予測PUから、1つまたは複数の同じ動きベクトルと、予測方向と、1つまたは複数の参照ピクチャインデックスとを継承することを可能にする。AMVPモードの場合、PUの1つまたは複数の動きベクトルは、エンコーダおよび/またはデコーダによって構築されたAMVP候補リストからの1つまたは複数の動きベクトル予測子(MVP)に対して叙述的にコーディングされ得る。いくつかの事例では、PUの単一方向インター予測の場合、エンコーダおよび/またはデコーダは、単一のAMVP候補リストを生成することができる。いくつかの事例では、PUの双方向予測の場合、エンコーダおよび/またはデコーダは、1つが前方予測方向からの空間および時間隣接PUの動きデータを使用し、1つが後方予測方向からの空間および時間隣接PUの動きデータを使用する、2つのAMVP候補リストを生成することができる。
【0078】
[0084] VVCでは、検討中の参照ピクチャリサンプリング(RPR)ツールがあり、これは、すべての目的のために、その全体が参照により本明細書に組み込まれる、S.Wenger、BD.Choi、S.C.Han、X.Li、S.Liu、「AHG8: Spatial Scalability using Reference Picture Resampling」、JVET-O0045に記載されている。RPRツールは、現在ピクチャサイズとは異なるピクチャサイズをもつ(1つまたは複数の)参照ピクチャの使用を可能にする。この場合、現在ピクチャサイズに一致するピクチャのアップサンプリングまたはダウンサンプリングされたバージョン(たとえば、参照ピクチャ)を与えるために、ピクチャリサンプリングプロセスが呼び出される。ツールは、たとえば、H.265/HEVC規格のスケーラブル拡張(SHVC)において存在した空間スケーラビリティ(spatial scalability)と同様である。
【0079】
[0085] RPRを使用してVVCにおける空間スケーラビリティのサポートを追加するためのいくつかの態様を与えるシステム、方法、装置、およびコンピュータ可読媒体が本明細書で説明される。いくつかの場合には、(たとえばHEVCおよびSHVCにおける手法と同様に)同じコンテンツを、ただし異なる表現(たとえば、異なる解像度を有する)において有するピクチャは、同じピクチャ順序カウント(POC)値を有すると仮定され得る。
【0080】
[0086] 本明細書で説明される技法を使用すると、アクセスユニット(AU)定義は、VVCにおいて変更される必要がなく、なぜなら、図3に示されているように、次のピクチャVCL NALユニットに遭遇するときに起こる、新しいPOC値をもつVCL NALユニット(または新しいPOCをもつVCL NALユニットに関連する非VCL NALユニット)においてAUが開始するからであり、ここで、レイヤ0およびレイヤ1とラベル付けされた2つの異なるレイヤ(たとえば、レイヤ0はレイヤ1よりも低い解像度ピクチャを有する)にわたって、第1のAUはn-1のPOC値を有し、第2のAUはnのPOC値を有し、第3のAUはn+1のPOC値を有する。
【0081】
[0087] しかしながら、どのピクチャが、どのレイヤから、レイヤ間予測のために使用され得るかを示すために、他のレイヤピクチャが参照ピクチャ構造(RPS)および参照ピクチャリスト(RPL)に含まれる必要があり得る。現在のVVCでは、他のレイヤからのピクチャは、参照されることを可能にされない。
【0082】
[0088] 様々な例が、すべての目的のために、その全体が参照により本明細書に組み込まれる、「Versatile Video Coding (Draft 5)」、バージョン7、JVET-N1001-v7など、ドラフトVVCドキュメントを参照しながら以下で与えられる。上述のように、本明細書で説明される技法は、高効率ビデオコーディング(HEVC)および/またはアドバンストビデオコーディング(AVC)など、既存のビデオコーデックのいずれかに適用され得るか、あるいは、汎用ビデオコーディング(VVC)など、現在開発されている規格に、および他の将来のビデオコーディング規格に、有望なコーディングツールとして提案され得る。
【0083】
[0089] 図2は、参照ピクチャテーブル209によって識別され得る(たとえば、ピクチャメモリ92などの)参照ピクチャ記憶装置208に参照ピクチャを入れることを含む、図6および図7に関して以下で説明されるように使用され得るフィルタユニット91の例示的な一実装形態を示す図である。参照ピクチャテーブル209の追加の態様が以下で説明される。フィルタユニット63が、同様の様式で実装され得る。フィルタユニット63および91は、場合によってはビデオ符号化デバイス104またはビデオ復号デバイス112の他の構成要素と連携して、本明細書で説明される実装形態および他の実装形態を有効にするために、本明細書で説明されるようにスケーラビリティサポートのためにPOC番号付け(numbering)と参照ピクチャオフセット値とを使用し得る。
【0084】
[0090] 示されているフィルタユニット91は、デブロッキングフィルタ202と、サンプル適応オフセット(SAO)フィルタ204と、一般的なフィルタ206とを含むが、図2に示されているフィルタよりも少数のフィルタを含み得、および/または追加のフィルタを含み得る。さらに、図2に示されている特定のフィルタは、異なる順序で実装され得る。ピクセル遷移を平滑化するか、または場合によってはビデオ品質を改善するために、(コーディングループ中またはコーディングループ後のいずれかの)他のループフィルタも使用され得る。コーディングループ中のとき、所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、参照ピクチャ記憶装置208の一部として参照ピクチャを記憶する、復号ピクチャバッファ(DPB)に記憶される。DPB(たとえば、参照ピクチャ記憶装置208)は、図1のビデオ宛先デバイス122のディスプレイなどのディスプレイデバイス上での後の提示のために、復号ビデオを記憶する追加のメモリの一部であるか、または追加のメモリとは別個であり得る。
【0085】
[0091] 重み付け予測(WP:Weighted Prediction)は、参照ピクチャを使用する予測の形態であり、その場合、(aによって示される)スケーリングファクタ、(sによって示される)シフト数、および(bによって示される)オフセットが、動き補償において使用される。たとえば、以下の式(1)によって示されるように、線形モデルがWPにおいて使用され得る。
【0086】
【数1】
【0087】
[0092] 式(1)では、PUcは現在PUであり、(i,j)はPUc中のサンプル(またはいくつかの場合にはピクセル)の座標であり、(dvx,dvy)はPUcのディスパリティベクトルであり、p(i,j)はPUcの予測であり、rはPUの参照ピクチャであり、aおよびbはモデルパラメータである(ここで、上述のように、aはスケーリングファクタであり、bはオフセットである)。
【0088】
[0093] WPが有効にされるとき、現在スライスの各参照ピクチャについて、WPが参照ピクチャのために適用されるか否かを示すためのフラグがシグナリングされる。WPが1つの参照ピクチャについて適用される場合、WPパラメータのセット(すなわち、a、sおよびb)がデコーダに送られ、参照ピクチャからの動き補償のために使用される。いくつかの例では、ルーマおよびクロマサンプルのためのWPをオンまたはオフにする際のフレキシビリティを与えるために、WPフラグおよびWPパラメータは、ピクセルのルーマ成分とクロマ成分とについて別個にシグナリングされ得る。いくつかの場合には、WPでは、WPパラメータの1つの同じセットが、1つの参照ピクチャ中のすべてのサンプルのために使用される。いくつかの例では、変数が現在コーディングブロックの幅および高さを指定し、同じ幅および高さをもつアレイが予測サンプルとして使用される。予測サンプルは、重み付けサンプル予測プロセスで導出され、ピクチャを再構築する際に使用され得る。
【0089】
[0094] ピクチャは、1つまたは複数のオフセット(たとえば、オフセットb)、1つまたは複数の重みまたはスケーリングファクタ(たとえば、スケーリングファクタa)、シフト数、および/あるいは他の好適な重み付け予測パラメータを含むことができる。双方向インター予測の場合、1つまたは複数の重みは、第1の参照ピクチャのための第1の重みと、第2の参照ピクチャのための第2の重みとを含むことができる。本明細書で説明されるように、いくつかの例では、参照ブロックは、現在ブロックと同じブロックであるが、(たとえば、重み付け予測のための)異なる関連する重みパラメータを伴い得る。他の例では、参照ブロックは、同じピクチャのブロックであるが、異なるサイズ(たとえば、異なる解像度)をもち得、したがって、図3に関してより詳細に説明されるように、参照ブロックはレイヤ間予測プロセスの一部である。いくつかの例では、重み付け予測とレイヤ間予測の両方は、単一の現在ブロックに対して実施され得、参照ブロックは、異なる重みを有し、異なるサイズのピクチャに関連する。
【0090】
[0095] 図3は、一連のアクセスユニット310、320、および330を示す図である。各アクセスユニットは、アクセスユニット310、320、および330に対応する、POC値316、326、および336として示される、関連するPOC値を有する。アクセスユニットは、各々、異なるサイズ(たとえば、解像度)をもつピクチャフレームのための2つのレイヤを有する。図3の例は、アクセスユニット310のためのレイヤ0ユニット312およびレイヤ1ユニット314と、アクセスユニット320のためのレイヤ0ユニット322およびレイヤ1ユニット324と、アクセスユニット330のためのレイヤ0ユニット332およびレイヤ1ユニット334とを含む。レイヤ0ユニット312(たとえば、VCL NALユニット)は、レイヤ1ユニット314(たとえば、同じく VCL NALユニット)とは異なるサイズを有する。上述のように、本明細書で説明される技法を使用すると、VVC AU定義は変更される必要がなく、なぜなら、新しいPOC値をもつVCL NALユニット、または新しいPOCをもつVCL NALユニットに関連する非VCL NALユニットにおいて、AUが開始するからである。たとえば、レイヤ0およびレイヤ1とラベル付けされた2つの異なるレイヤ(たとえば、レイヤ0はレイヤ1よりも低い解像度ピクチャを有する)にわたって、第1のAUはn-1のPOC値を有し、第2のAUはnのPOC値を有し、第3のAUはn+1のPOC値を有する、図3に示されているように、次のピクチャVCL NALユニットに遭遇するとき、新しいPOC値が使用され得る。図3の例は2つのレイヤを含むが、様々な例では、他の数のレイヤが使用され得る。
【0091】
[0096] 本明細書で説明される例は、異なるレイヤ中のピクチャによって参照ピクチャとして使用されるべき他のレイヤからのデータの使用を効率的に可能にするためのシンタックスおよび動作構造を用いてVVCデバイスおよびネットワークの動作を改善する。本明細書で説明されるように、そのような改善は、重み付け予測が有効にされるとき、共有アクセスユニットの別のレイヤ中の参照ピクチャを識別するための効率的なシグナリングを可能にし、重み付け予測が有効にされないとき、0のシグナリングされた値をもつオフセットを使用して他のフレーム中の参照ピクチャの効率的なシグナリングを可能にする。
【0092】
[0097] VVCは、短期参照ピクチャと長期参照ピクチャの両方で動作する。ここで説明されるいくつかの例は、短期参照ピクチャのための参照ピクチャのシグナリングで動作する。様々なシステムでは、短期参照ピクチャは、前の短期参照ピクチャに対して、前の参照ピクチャPOCに対するPOCデルタとしてシグナリングされる。最初のPOC値は、現在ピクチャPOCに等しくなるように初期化され得る。0に等しいデルタPOCが可能にされる(たとえば、異なる解像度の同じピクチャが存在する場合など、同じPOC値をもつ複数の参照ピクチャがあり得る)が、POC値は現在ピクチャPOCに等しくなり得ない(たとえば、現在ピクチャは、参照ピクチャ構造またはリスト中に参照ピクチャとして挿入され得ない)。様々な例では、長期参照ピクチャPOCは、最上位ビット(MSB)および最下位ビット(LSB)としてシグナリングされ、LSB部分は0に等しくなり得る。
【0093】
[0098] いくつかの例では、参照ピクチャを指す、図2に示されているテーブル209が、(たとえば、メモリまたは図2に示されている参照ピクチャ記憶装置208を使用して)DPBに記憶される。いくつかの例では、このテーブル209は、(たとえば、ピクチャメモリ92などのピクチャメモリの一部として)参照ピクチャ記憶装置208からのピクチャを識別する、現在ピクチャまたは前のピクチャからのピクチャ順序カウントオフセット値のリストである。いくつかの例では、そのようなテーブル209はループにおいて生成され得、初期テーブル値は初期ピクチャPOC値に等しい。ベースPOC値(たとえば、ピクチャ順序カウントオフセット値)が、初期ピクチャのための参照ピクチャのPOC値を識別するために割り当てられる。初期POC値に関連する初期ピクチャのための第1の参照ピクチャのPOC値が、テーブルのためのベースPOC値として割り当てられる。次いで、すべての後続の参照ピクチャが、ベースPOC値(たとえば、前の参照ピクチャのPOC値)からのデルタ値として識別され、テーブル中の各エントリについてデルタPOC値と新しいベースPOC値とをもつ。このプロセスは、テーブル209が、テーブルに関連する各ピクチャのためのすべての参照ピクチャで完了されるまで、ループする。上記で説明されたように、初期デルタPOCは第1のピクチャPOCに加算され、後続のデルタPOCは前の参照ピクチャPOCに加算される。次いで、テーブル209がデコーダによって再構築されることを可能にしながら、ビットストリームにおけるデータ使用率を制限するために、ビットストリーム信号がデルタPOCおよびベースPOCで構築される。次いで、上記で説明されたテーブル209からの反復的な参照ピクチャが、予測のために使用され得る。重み付け予測を使用するいくつかの例では、同じピクチャが予測のために使用されているが、異なる重みをもつとき、参照ピクチャおよび処理されているピクチャのためのデルタPOCは0であり得る。いくつかの例では、いくつかのタイプの予測は、修正されたテーブルまたは修正されたデルタPOC値を使用することができる。たとえば、同じPOCをもつ2つのピクチャが、異なる重みを有することができる。1つの例示的な例では、ピクチャのうちの1つが、値1.5をもつ重みと、2.5の値の同じ重みをもつ参照ピクチャとを有し得る。異なる重み付けされたパラメータをもつ同じピクチャは、したがって、重み付け予測のために使用されている参照ピクチャを識別する(「0値ピクチャ順序カウントオフセット」または「0値POCオフセット」とも呼ばれる)0値デルタPOCをもつ参照として使用され得る。別の例では、重み付け予測が無効にされるとき、修正されたデルタPOC値が使用される。たとえば、いくつかの場合には、重み付け予測は、ピクチャパラメータセット(PPS)中でシグナリングされ得るweighted_pred_flagなどのフラグによってオフに切り替えられ得る。weighted_pred_flagは、PPS重み付け予測フラグと呼ばれることがある。いくつかの例では、重み付け予測が無効にされるとき、2つ以上の参照ピクチャについての同じ値のPOCシグナリングは可能にされない。そのような制限または制約を達成するために、重み付け予測フラグ(たとえば、sps_weighted_pred_flagおよびsps_weighted_bipred_flag)が、パラメータセット中で(たとえば、RPS情報がSPS中でシグナリングされ得るのでSPS中で、または他のパラメータセット中で)シグナリングされ得る。sps_weighted_pred_flagおよび/またはsps_weighted_bipred_flagは、(1つまたは複数の)シーケンスパラメータセット(SPS)重み付け予測フラグと呼ばれることがある。
【0094】
[0099] 重み付け予測が無効にされるときに0デルタPOC値を可能にすることは、同じ参照ピクチャを参照ピクチャリスト中に複数回挿入するための理由がないので、デルタPOCシグナリングにおける非効率性を生じる。そのような場合、デルタPOC値は少なくとも1に等しくなり、デルタPOC値0は使用されない。しかしながら、0のデルタPOC値が、いくつかの例では予約済みコードワードに関連し得る。PPSフラグおよびSPSフラグの使用は、本明細書で説明される重み付け予測の場合と非重み付け予測の場合とにおけるデルタPOCシグナリングの異なるハンドリングを可能にする。そのフラグは、したがって、重み付け予測がピクチャスライス(あるいはCTU、CU、または他のブロックなど、ピクチャの他の部分(other portion))について有効にされるという決定に基づいて、0値ピクチャ順序カウントオフセット(たとえば、0デルタPOC値)を可能にし、重み付け予測が無効にされるとき、シグナリングされた0デルタPOCの、異なる値(たとえば、シグナリングされた値+1)としての解釈を有効にするために使用され得る。重み付け予測の場合、異なる重みをもつ同じピクチャは、したがって、重み付け予測のために使用され得る。レイヤ間予測の場合、同じアクセスユニットからの異なるレイヤピクチャは、次いで、参照ピクチャとして使用されるべきできる。0デルタPOCシグナリング値の条件付き使用は、参照ピクチャシグナリングにおける効率と、改善されたシステムおよびデバイス動作とを与え、重み付け予測が無効にされるとき、シグナリングのための追加のオーバーヘッドを制限し、システムおよびデバイス性能を改善する。
【0095】
[0100] 処理されている現在ピクチャと同じアクセスユニット中に参照ピクチャがある、0値ピクチャ順序カウントオフセットの場合、参照ピクチャサンプリングツールが、現在ピクチャを処理するための必要な参照データを生成するために使用され得る。いくつかの例では、この参照ピクチャサンプリングツールは、フィルタユニット(たとえば、フィルタユニット91)の一部であり得、他の例では、本明細書で説明される符号化または復号のためのデバイスの任意の態様の一部であり得る。
【0096】
[0101] そのようなフラグのためのVVCドラフト(たとえば、Versatile Video Coding (Draft 5)、バージョン7)に対する修正の1つの例示的な例が以下で示される。例示的な実装形態のシンタックス表と、シンタックス用語と、シンタックス論理および値と、他の態様との追加の例が以下で示される。追加が示される場合、それらは、下線と、「<insert>」シンボルと「<insertend>」シンボルとの中間のテキスト(たとえば、「<insert>追加されたテキスト<insertend>」)とで記述される。重み付け予測フラグのための一例は以下の通りである。
【0097】
<insert>0に等しいsps_weighted_pred_flagは、重み付け予測がPスライスに適用されないことを指定する。1に等しいweighted_pred_flagは、重み付け予測がPスライスに適用され得ることを指定する。
【0098】
0に等しいsps_weighted_bipred_flagは、デフォルト重み付け予測がBスライスに適用されることを指定する。1に等しいweighted_bipred_flagは、重み付け予測がBスライスに適用され得ることを指定する。<insertend>
[0102] そのような例では、PPS中でシグナリングされるフラグは、SPS重み付け予測フラグによって制約され得る(たとえば、PPSフラグは、SPSフラグが1に等しいときのみ、1に等しくなり得る)。別の例示的な例では、
0に等しいweighted_pred_flagは、重み付け予測がPスライスに適用されないことを指定する。1に等しいweighted_pred_flagは、重み付け予測がPスライスに適用され得ることを指定する。<insert>weighted_pred_flagは、対応するsps_weighted_pred_flagが1に等しいときのみ、1に等しくなり得る<insertend>。
【0099】
0に等しいweighted_bipred_flagは、デフォルト重み付け予測がBスライスに適用されることを指定する。1に等しいweighted_bipred_flagは、重み付け予測がBスライスに適用され得ることを指定する。<insert>weighted_bipred_flagは、対応するsps_weighted_bipred_flagが1に等しいときのみ、1に等しくなり得る<insertend>。
【0100】
[0103] いくつかの例では、0に等しいデルタPOCと、0に等しいPOC LSBとは、たとえばSPS中のフラグによって示されるように、重み付け予測が有効にされるときのみ、可能にされ得る。別の例では、0デルタPOCと、0 POC LSBとは、レイヤ間予測が有効にされるときに必要とされる。レイヤ間予測フラグの有効化は、SPSなどのパラメータセット中でシグナリングされ得る。上記の2つの場合を合わせると、0に等しいデルタPOCと、0に等しいPOC LSBとは、重み付け予測またはレイヤ間予測が有効にされるときのみ、可能にされ得る。
【0101】
[0104] VVCでは、参照ピクチャのPOC値は、以下のように、ref_pic_list_struct(RPS)中でシグナリングされる。
【0102】
【表1】
【0103】
[0105] シンタックス例は以下を含む。
【0104】
abs_delta_poc_st[listIdx][rplsIdx][i]は、i番目のエントリがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造における第1のSTRPエントリであるとき、現在ピクチャのピクチャ順序カウント値と、i番目のエントリによって指されるピクチャのピクチャ順序カウント値との間の絶対差分を指定するか、または、i番目のエントリがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造におけるSTRPエントリであるが、第1のSTRPエントリでないとき、i番目のエントリによって指されるピクチャのピクチャ順序カウント値と、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造における前のSTRPエントリによって指されるピクチャのピクチャ順序カウント値との間の絶対差分を指定する。
abs_delta_poc_st[listIdx][rplsIdx][i]の値は、両端値を含む、0~215-1の範囲内にあるものとする。
【0105】
rpls_poc_lsb_lt[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造におけるi番目のエントリによって指されるピクチャの、MaxPicOrderCntLsbを法とするピクチャ順序カウントの値を指定する。rpls_poc_lsb_lt[listIdx][rplsIdx][i]シンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
【0106】
[0106] 1つの例示的な実装例では、abs_delta_poc_stおよびrpls_poc_lsb_ltなど、0デルタPOC(たとえば、0値ピクチャ順序カウントオフセットを使用して参照ピクチャを識別する)または参照ピクチャのための同じ値のPOCを示すことができるシンタックス要素は、重み付け予測とレイヤ間予測の両方が無効にされるとき、0に等しくなり得ないか、または、同じPOC値を、そのPOC値はすでに他の参照ピクチャのためのものであるので、示されることができない。いくつかの例では、0デルタPOCは、重み付け予測が無効にされるとき、可能にされない。いくつかの例では、0デルタPOCは、レイヤ間予測が無効にされるとき、可能にされない。
【0107】
[0107] 別の例示的な実装例では、それらのシンタックス要素の値(たとえば、ビットストリーム中のピクチャ順序カウントオフセット(picture order count offset)など、参照ピクチャを識別するシグナリングされた値)は、重み付け予測とレイヤ間予測の両方が無効にされるとき、シンタックス要素-1として扱われ得る。いくつかのそのような例では、シンタックス要素の値は、シグナリングされた値+1として再構築される。そのような例では、0値がシグナリングされることは可能でない。1つの実装例が以下で示される。
【0108】
abs_delta_poc_st[listIdx][rplsIdx][i]は、i番目のエントリがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造における第1のSTRPエントリであるとき、現在ピクチャのピクチャ順序カウント値と、i番目のエントリによって指されるピクチャのピクチャ順序カウント値との間の絶対差分を指定するか、または、i番目のエントリがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造におけるSTRPエントリであるが、第1のSTRPエントリでないとき、i番目のエントリによって指されるピクチャのピクチャ順序カウント値と、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造における前のSTRPエントリによって指されるピクチャのピクチャ順序カウント値との間の絶対差分<insert>または、重み付け予測およびレイヤ間予測が無効にされるとき、絶対差分+1<insertend>を指定する。
abs_delta_poc_st[listIdx][rplsIdx][i]の値は、両端値を含む、0~215-1の範囲内にあるものとする。
【0109】
rpls_poc_lsb_lt[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造におけるi番目のエントリによって指されるピクチャの、MaxPicOrderCntLsbを法とするピクチャ順序カウントの値<insert>または、重み付け予測およびレイヤ間予測が無効にされるとき、MaxPicOrderCntLsbを法とするピクチャ順序カウントの値+1<insertend>を指定する。rpls_poc_lsb_lt[listIdx][rplsIdx][i]シンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
【0110】
[0108] いくつかの例では、RPSに他のレイヤピクチャを追加することが示唆されるが、RPSは、ピクチャを識別するためのPOC値のみを有するので、レイヤIDが、各参照ピクチャについてさらにシグナリングされる。
【0111】
[0109] 別の例では、各参照ピクチャについてレイヤIDをシグナリングすることを回避するために、レイヤIDは、参照ピクチャのPOC値が現在ピクチャのPOC値に等しいときのみ、シグナリングされる。現在POC値に対するデルタPOCが0に等しい(たとえば、参照ピクチャPOCが現在ピクチャPOCに等しい)場合、レイヤIDは、レイヤを識別するためにシグナリングされる。この例では、現在ピクチャのレイヤID以外のレイヤIDをもつピクチャは、そのピクチャが現在ピクチャと同じPOCを有する(または現在ピクチャと同じアクセスユニットに属する)ときのみ、予測のために使用され得る。さらに、レイヤ間参照ピクチャが、長期参照ピクチャ(LTRP)であるとのみ見なされ得、動きベクトルスケーリングを回避するためにLTRPとしてマークされ得る。この場合、レイヤIDは、LTRPタイプについてのみシグナリングされ得る。別の例では、レイヤIDは、LTRPについてのみシグナリングされ、デルタPOCが0に等しいかまたは参照ピクチャが現在ピクチャと同じPOC値を有するときにシグナリングされる。別の例では、レイヤIDは、参照ピクチャのPOC値をシグナリングする前に、参照ピクチャについて、またはLTRPのみについて、シグナリングされ得る。この場合、POC値は、シグナリングされたレイヤIDおよび現在レイヤIDに基づいて、おそらく条件付きでシグナリングした。たとえば、POCは、レイヤIDが現在レイヤIDに等しくないとき、シグナリングされず(たとえば、レイヤ間参照ピクチャ)、その場合、POC値は現在ピクチャPOCに等しいと推論される。いくつかの例では、レイヤIDは、レイヤを識別するためのインジケータであり得、レイヤ番号、予測のために使用される、レイヤのリスト内のレイヤインデックス、または別のインジケータであり得る。
【0112】
【表2】
【0113】
[0110] 表2によって示されるref_pic_list_structのための上記のシンタックス表に従って、一例は以下を含むことができる。
【0114】
num_ref_entriesは、通常参照ピクチャとレイヤ間参照ピクチャの両方の総数を含み得る。一代替形態では、レイヤ間参照ピクチャの数num_inter_layer_ref_entries[listIdx][rplsIdx]が、別個にシグナリングされる。
たとえば、SPS中でシグナリングされるsps_interlayer_ref_pics_present_flagなど、パラメータセット(PS)中でシグナリングされる高レベルフラグが、レイヤ間参照ピクチャが存在するかどうかを示したことがある。
【0115】
<insert>1に等しいsps_inter_layer_ref_pics_present_flagは、レイヤ間予測が、SPSを指すピクチャの復号において使用され得ることを指定する。0に等しいsps_inter_layer_ref_pics_present_flagは、レイヤ間予測が、SPSを指すピクチャの復号において使用されないことを指定する。<insertend>
[0111] いくつかのそのような例では、nuh_layer_idを直接シグナリングする代わりに、レイヤインデックスがシグナリングされ得る。たとえば、レイヤ10が、レイヤ0とレイヤ9とを、依存するレイヤとして使用し得る。値0と値9とを直接シグナリングする代わりに、(レイヤID 0に対応する)レイヤインデックス0と(レイヤID 9に対応する)レイヤインデックス1とが、代わりにシグナリングされ得る。レイヤIDとレイヤインデックスとの間のマッピングは、コーダにおいて推論または導出され得る。
【0116】
[0112] いくつかの例では、ピクチャがレイヤ間予測のためのものであることを示すために、以下で表3に示されているように、別個のフラグil_ref_pic_flagがシグナリングされ得る。このフラグは、各ピクチャについて、または(たとえば、st_ref_pic_flagが0に等しいとき)LTRPについてのみ、シグナリングされ得る。いくつかのそのような例では、レイヤIDまたはレイヤインデックスは、il_ref_pic_flagが1に等しいときのみ、シグナリングされ得る。そのようなフラグは、レイヤインデックスがシグナリングされるとき、おそらく必要とされ、なぜなら、現在レイヤIDは、依存するレイヤとして含まれず、関連するレイヤインデックスを有しないことがあるからである。
【0117】
【表3】
【0118】
[0113] 次いで、以下の表4は、以下の詳細とともにref_pic_list_structのためのシンタックス表の一例を示す。
【0119】
<insert>layer_dependency_idc[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造におけるにおけるi番目のエントリの依存性レイヤインデックスを指定する。layer_dependency_idc[listIdx][rplsIdx][i]の値は、両端値を含む、0~現在レイヤidc LayerIdc[nuh_layer_id]-1の範囲内にあるものとする。
【0120】
1に等しいil_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造におけるi番目のエントリがレイヤ間参照ピクチャであることを指定する。0に等しいil_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造におけるi番目のエントリがレイヤ間refernceピクチャエントリでないことを指定する。存在しないとき、il_ref_pic_flag[listIdx][rplsIdx][i]の値は0に等しいと推論される。
【0121】
num_inter_layer_ref_entries[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造における直接のレイヤ間エントリの数を指定する。num_inter_layer_ref_entries[listIdx][rplsIdx]の値は、両端値を含む、0~sps_max_dec_pic_buffering_minus1+14-num_ref_entries[listIdx][rplsIdx]の範囲内にあるものとする。<insertend>
[0114] いくつかのそのような例では、レイヤ間参照ピクチャの数num_inter_layer_ref_entriesは、参照ピクチャの最大数-通常インター参照ピクチャの数を超えないように制限され得、たとえば、num_inter_layer_ref_entries[listIdx][rplsIdx]の値は、両端値を含む、0~sps_max_dec_pic_buffering_minus1+14-num_ref_entries[listIdx][rplsIdx]の範囲内にあるものとするが、num_inter_layer_ref_entriesのセマンティクスに追加される。num_inter_layer_ref_entriesシンタックス要素は、レイヤ間参照ピクチャエントリシンタックス要素と呼ばれることがある。ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造は、参照ピクチャリストシンタックス構造と呼ばれることがある。いくつかの例では、il_ref_pic_flag[][]は、レイヤ間参照ピクチャが可能にされるとき、すべての長期参照ピクチャについてシグナリングされる。
【0122】
【表4】
【0123】
[0115] 次いで、表5および表6は、ref_pic_list_structおよび関連するスライスヘッダのための例示的なシンタックス表を示す。そのような追加の例では、レイヤ情報は、スライスヘッダ中でシグナリングされ得る。このシグナリングは、ref_pic_list_struct()シンタックス構造において可能にされるシグナリングに加えるものであり得る。そのような定義は、レイヤ情報が、参照ピクチャのLSBが現在ピクチャのLSBに等しいときのみシグナリングされる場合、役立つ。
【0124】
【表5】
【0125】
【表6】
【0126】
[0116] 表7によって説明される他の実施形態では、スライスヘッダ中のil_ref_pic_flag[][]は、長期参照ピクチャのPOC LSBが現在ピクチャのPOC LSBに等しいときのみ、シグナリングされる。いくつかの例では、rpls_poc_lsb_ltも使用され得る。
【0127】
【表7】
【0128】
[0117] いくつかの例では、以下の表8は、上記の表6および表7の例の代替として動作することができる。
【0129】
【表8】
【0130】
[0118] いくつかの例では、layer_depdendency_idcの指示が、レイヤ間参照ピクチャを識別するのに必要でない場合、layer_depdendency_idcシンタックス要素は送られないことがある。いくつかの例では、参照のために使用され得る1つのレイヤ間参照ピクチャのみがあり、il_ref_pic_flag[][][]が、(たとえば、以下で定義される)条件Aを満たす参照のために参照ピクチャが使用され得ることを示す場合、layer_dependency_idcは、シグナリングされず、参照のために使用され得るそのレイヤ間参照ピクチャであると推論される。いくつかの場合には、条件Aを満たす参照のために使用され得る2つ以上のレイヤ間参照ピクチャがあるとき(たとえば、数がn)、リスト中のi-the位置のための特定のレイヤ間参照ピクチャを示すためにn-1個以下のlayer_dependency_idc値をシグナリングすることが十分であり得る。そのような例では、条件Aは、現在ピクチャのためのレイヤ間予測を可能にする何らかの条件であり得る。たとえば、いくつかの場合には、条件Aは、レイヤ間参照ピクチャが現在ピクチャと同じPOC LSBを共有することを検査する。いくつかの場合には、条件Aは、レイヤ間参照ピクチャが現在ピクチャと同じPOCを共有することを検査する。いくつかの場合には、条件Aは、レイヤ間参照ピクチャのPOCと現在ピクチャのPOCとの間の差分がしきい値を超えないことを検査する。いくつかの場合には、条件Aは、アクセスユニット内で適用されるように制限され得る。いくつかの例では、現在ピクチャについて条件Aを満たすピクチャが存在しないとき、レイヤ間参照ピクチャの指示(たとえば、関係するシンタックス要素)がシグナリングされないことがある。
【0131】
[0119] いくつかの事例では、(たとえば、il_ref_pic_flag[]または同様のシンタックスを使用して)参照ピクチャがレイヤ間参照ピクチャとして示されるとき、ピクチャマーキングは、それらのピクチャを「レイヤ間参照ピクチャのために使用される」として示すように修正され得る。いくつかの場合には、このマーキングは、他のマーキングと連携するか(たとえば、短期参照のために使用される、または長期参照のために使用される)、または他のマーキングを除き得る(たとえば、ピクチャが以下のうちの2つとしてのみマークされ得る、すなわち、短期参照のために使用される、または長期参照のために使用される、またはレイヤ間参照ピクチャのために使用される。)。いくつかの場合には、ピクチャのマーキングは以下のように修正され得る。
【0132】
- ピクチャが復号された後に、そのピクチャは「レイヤ間参照のために使用される」としてマークされる。
【0133】
- アクセスユニットが完了した後に、または次のアクセスユニット始まりにおいて、現在アクセスユニット中のすべてのピクチャが、短期参照のために使用されるとしてマークされる。
【0134】
[0120] いくつかの場合には、ピクチャがレイヤ間参照のために使用されないことがあることを示すために、discardable_flagがシグナリングされ得る。この場合、いくつかの修正が、上記で開示された方法のうちのいくつかに適用され得る。一例では、1に等しいdiscardable_flagを有するピクチャは、ピクチャの復号の後に「参照のために使用されない」としてマークされ得る。別の例では、1に等しいdiscardable_flagを有するピクチャは、決して「参照のために使用されない」以外のものでマークされ得ない。別の例では、1に等しいdiscardable_flagを有するピクチャは、いかなる予測のためにも考慮されないことがあり、したがって、それは、概して、場合によってはレイヤ間参照ピクチャまたは参照ピクチャに適用され得るいくつかの条件の決定において考慮されないことがある。たとえば、2つのピクチャAおよびBが、現在アクセスユニット中で現在ピクチャとは差分レイヤにあり、それらのうちの1つ(たとえば、ピクチャA)のみが、1に等しいdiscardable_flagを有する場合、レイヤ間参照ピクチャが示されるとき、システムは、レイヤ間参照ピクチャがピクチャBであると推論することができ、その場合、ピクチャAは参照ピクチャリストのいずれにも追加されない。
【0135】
[0121] 上述のマッピングテーブル(たとえば、vps_direct_dependency_flag[i][j])は、たとえば、例示的な表10に示されているVPSなどのパラメータセット中で、シグナリングされ得る。
【0136】
【表9】
【0137】
[0122] 例示的な表10は、以下のようにシンタックス要素で動作することができる。
【0138】
【数2】
【0139】
1に等しいvps_independent_layer_flag[i]は、インデックスiをもつレイヤがレイヤ間予測を使用しないことを指定する。1に等しいvps_independent_layer_flag[i]は、インデックスiをもつレイヤがレイヤ間予測を使用し得、vps_layer_dependency_flagがVPS中に存在することを指定する。
【0140】
0に等しいvps_direct_dependency_flag[i][j]は、インデックスjをもつレイヤがインデックスiをもつレイヤのための直接参照レイヤでないことを指定する。1に等しいvps_direct_dependency_flag[i][j]は、インデックスjをもつレイヤがインデックスiをもつレイヤのための直接参照レイヤであることを指定する。vps_direct_dependency_flag[i][j]が、iおよびjについて0~MaxLayersMinus1の範囲内に存在しないとき、それは0に等しいと推論される。
【0141】
変数DependencyIdc[i][j]は以下のように導出される。
【0142】
【数3】
【0143】
[0123] いくつかの例による参照ピクチャリストでは、POC値がシグナリングされないとき(たとえば、レイヤ間参照ピクチャの場合など、レイヤIDが現在レイヤIDに等しくないとき)、POC値は現在ピクチャPOCに等しいと推論される。レイヤIDは、レイヤを識別するためのインジケータであり、予測のために使用されるレイヤのリスト内のレイヤインデックスであり得る。他の例では、他のインジケータが使用され得る。num_ref_entriesは、通常参照ピクチャとレイヤ間参照ピクチャの両方の総数を含むことができる。いくつかの例では、様々な例ではピクチャがレイヤ間予測のためのものであることを示すために別個の参照フラグがシグナリングされ得、このフラグは各参照ピクチャについてシグナリングされ得る。
【0144】
[0124] いくつかの例では、レイヤ間参照ピクチャはPOC値によって示されない。そのような例では、レイヤ間参照ピクチャは、フラグ(たとえば、inter_layer_ref_pic_flag)およびレイヤインデックスによって示され得る。レイヤ間参照ピクチャのPOC値は、参照ピクチャレイヤIDに等しいnuh_layer_idと、現在ピクチャと同じピクチャ順序カウント値とをもつ参照ピクチャがDPB中にあるというコンディクション通りに、現在ピクチャPOCに等しいものとして導出され得る。したがって、上記で説明されたように、参照ピクチャリスト構築は、いくつかの例では、レイヤIDと0の推論されたPOC値とを用いた信号レイヤ間予測のために構造化され得る。他の例では、他の参照ピクチャリスト構造が使用され得る。
【0145】
[0125] いくつかのそのような例では、参照ピクチャリストRefPicList[0]およびRefPicList[1]が以下のように構築される。
【0146】
【数4】
【0147】
[0126] いくつかの場合には、nuh_layer_id[i][RplsIdx[i]][j]が直接シグナリングされない場合、それは、layer_dependency_idcを使用してLayerIdcおよびDependencyIdc変数から導出され得る。たとえば、nuh_layer_id[listIdx][rplsIdx][j]=DependencyIdc[LayerIdc[nuh_layer_id]][layer_dependency_idc[listIdx][rplsIdx][j]]であり、ここで、nuh_layer_idは現在ピクチャのレイヤIDである。この値は、参照ピクチャリスト導出においてレイヤIDとして使用され得る。
【0148】
[0127] いくつかの場合には、レイヤ間参照ピクチャがRPS中でシグナリングされるとき、RPSから導出されるレイヤ間参照ピクチャのPOC値は現在ピクチャのPOC値に等しいものとするという制約が追加され得る。レイヤ間予測が使用されるとき、0動きベクトルが仮定され得、その場合、異なる表現(解像度)のピクチャにおけるコンテンツの変位はない。動き情報が、インター予測モードのためにシグナリングされ得る。オーバーヘッドを節約するために、動き情報は、それがレイヤ間予測のために使用されないとき(いくつかの場合には、そのときのみ)、シグナリングされ得る。他の場合(レイヤ間予測の場合)、動きベクトルは、シグナリングなしに、0に等しいと推論される。
【0149】
[0128] 表11は、以下で示されているように、coding_unit(x0,y0,cbWidth,cbHeight,treeType)の変更を伴う、VVCドラフト(たとえば、Versatile Video Coding (Draft 5)、バージョン7)に基づく実装例である。
【0150】
【表10-1】
【表10-2】
【0151】
[0129] ここで、スライスヘッダ中で、アクティブなレイヤ間ピクチャの数に関する情報が、以下で説明されるようにシンタックス要素を用いて例示的な表12によって示されるようにシグナリングされ得る。
【0152】
【表11】
【0153】
<insert>1に等しいnum_inter_layer_active_override_flagは、シンタックス要素num_inter_layer_ref_pics_minus1[0]がPおよびBスライスについて存在することと、シンタックス要素num_inter_layer_ref_pics_minus1[1]がBスライスについて存在することとを指定する。0に等しいnum_inter_layer_active_override_flagは、シンタックス要素num_inter_layer_ref_pics_minus1[0]およびnum_inter_layer_ref_pics_minus1[1]が存在しないことを指定する。存在しないとき、num_inter_layer_active_override_flagの値は0に等しいと推論される。
【0154】
num_inter_layer_ref_pics_minus1[i]は、変数NumInterLayerActive[i]の導出のために使用される。num_ref_idx_active_minus1[i]の値は、0~num_inter_layer_ref_entries[i][RplsIdx[i]]の範囲内にあるものとする。
【0155】
変数NumInterLayerActive[i]は以下のように導出される。
【0156】
【数5】
【0157】
[0130] いくつかの例では、時間IDと同様に、空間IDが定義され得、空間IDは、nuh_layer_idによってキャプチャされないことがあるピクチャの空間表現を示す。NALユニットヘッダ中でnuh_layer_idをシグナリングする目的のうちの1つは、特定のレイヤに属するNALユニットを容易に識別することであり、これは、サブビットストリーム抽出目的の場合に除去され得る。特定のレイヤに属するNALユニットの容易な識別は、システムの動作に利益を与え、したがって、spatial_idもNALユニットヘッダ中でシグナリングされると見なされる。この目的で、nuh_reserved_zero_bitはlayer_id_interpret_flagとしてリネームされ得、セマンティクスが以下のように修正され得るか、またはいくつかの場合には、新しいシンタックス要素spatial_idも送られ得る。
【0158】
- layer_id_interpret_flagが0に等しいとき、シンタックス要素nuh_layer_id_plus1は、現在、現在ピクチャのレイヤIDを指定するためのものとして解釈される。
【0159】
- layer_id_interpret_flagが1に等しいとき、シンタックス要素nuh_layer_id_plus1は、レイヤIDを示すいくつかのビットと、空間IDを指定するいくつかのビットとを含んでいると解釈される。たとえば、最初の4ビットがレイヤIDを示し得、最後の3ビットが空間IDを示し得る。概して、そのこの場合、実際のレイヤIDおよび空間IDは、所定の方法を使用してシンタックス要素nuh_layer_id_plus1からおそらく導出した。
【0160】
[0131] spatial_idとレイヤIDとの間の差分は、「単一レイヤ」デコーダの適合性が、複数のspatial_idを含んでいるビットストリームの復号にも関与することである。spatial_idの値は、レイヤ概念を再使用する必要なしに、「単一レイヤ」コーダにおいて参照ピクチャを識別するために使用され得、このようにして、レイヤの概念は、時間および空間レイヤから明確にはっきり区別されるであろう。簡単のために、適合性は、単純なデコーダが、非0 spatial_idをもつビットストリーム、すなわち、単一レイヤと1つのタイプに準拠する1つの空間IDとのみを有する単一レイヤビットストリーム(たとえば、Main-Simple)と、単一レイヤを有するが複数の空間IDを含んでいることがある単一レイヤビットストリーム(たとえば、Main-Representation)とを考慮する必要がないように、さらに簡略化され得る。
【0161】
[0132] 単一レイヤ内で、複数の空間ID値をもつピクチャが、異なる空間アクセスユニットの一部であると見なされ得、すなわち、0に等しいspatial_idをもつPOC 0をもつピクチャは、ある空間アクセスユニットに属するが、1に等しいspatial idをもつ(同じアクセスユニット中の)POC 0をもつピクチャは、別の空間アクセスユニットに属する。空間アクセスユニットの概念は、(レイヤアクセスユニットと同様に)必ずしも出力時間に対する異なる関係を有するとは限らないことがあるが、それらはCPBおよびDPB内の異なる表現において重要である。出力順序はまた、レイヤアクセスユニット中の1つまたは複数の空間アクセスユニットが出力されるべきであるとき、空間アクセスユニットによって影響を及ぼされ得る。spatial_idに属するピクチャは、より低いspatial_idをもつ他のピクチャに依存し得、空間ID Sに属するピクチャは、Sよりも大きい空間IDを有する同じレイヤに属するピクチャを参照しないことがある。
【0162】
[0133] 空間レイヤの最大数が、ビットストリームについて指定され得、各ピクチャのためのPOC値は、ピクチャ順序カウントLSB(シンタックス要素)および空間IDの関数として導出され得る。たとえば、レイヤにわたるピクチャのPOCは、同じになるように制約され得るが、レイヤ内の同じアクセスユニット中の、ただし異なる空間IDをもつピクチャのPOCは、同じでないことがある。いくつかの場合には、この制約は、明示的にシグナリングされず、むしろ、pic_order_cnt_lsbおよびspatial_id値に基づいてデコーダにおいて導出され得る。
【0163】
[0134] 図4は、いくつかの例による、例示的なプロセス400を示す流れ図である。いくつかの例では、プロセス400は、復号デバイス(たとえば、復号デバイス112)によって実施される。いくつかの例ではでは、プロセス400は、1つまたは複数の参照ピクチャを復号ピクチャバッファ(DPB)に記憶するための復号プロセスを実施するときなど、符号化デバイス(たとえば、符号化デバイス104)によって実施され得る。他の例では、プロセス400は、デバイスのプロセッサが命令を実行するとき、デバイスにプロセス400を実施させる、非一時的記憶媒体における命令として実装され得る。いくつかの場合には、プロセス400がビデオデコーダによって実施されるとき、ビデオデータは、符号化ビデオビットストリーム中に含まれるコード化ピクチャまたはそのコード化ピクチャの部分(たとえば、1つまたは複数のブロック)を含むことができるか、あるいは符号化ビデオビットストリーム中に含まれる複数のコード化ピクチャを含むことができる。
【0164】
[0135] ブロック402において、プロセス400は、ビットストリームからピクチャの少なくとも一部分を取得する。いくつかの例では、ピクチャのこの部分は、ピクチャのスライスである。本明細書で説明されるように、これは、スマートフォンなどのモバイルデバイス、コンピュータ、スクリーンをもつ任意のデバイス、テレビジョン、または復号ハードウェアをもつ任意のデバイスによって取得されたビットストリームであり得る。
【0165】
[0136] ブロック404において、プロセス400は、ビットストリームから、重み付け予測がピクチャの一部分について有効にされると決定する。プロセス400は、重み付け予測を示すフラグについてビットストリームをパースすることによって、重み付け予測が有効にされると決定することができる。本明細書で説明されるように、パースは、SPSフラグおよび/またはPPSフラグを使用して実施され得る。いくつかの場合には、PPSフラグは、SPSフラグによって制約される。いくつかの例では、フラグ(たとえば、SPSフラグおよび/またはPPSフラグ)は、単方向予測されたフレーム(たとえば、Pフレーム)または双方向予測フレーム(たとえば、Bフレーム)を指定することができる。
【0166】
[0137] ブロック406において、重み付け予測がピクチャの一部分について有効にされるという決定に基づいて、プロセス400は、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを識別する。本明細書で説明されるように、0値ピクチャ順序カウントオフセットは、テーブルから参照ピクチャを識別することができ、参照ピクチャは、次いで、重み付け予測のために使用され得る。重み付け予測のためにブロック404において0値ピクチャ順序カウントオフセットによって参照される参照ピクチャは、ブロック402において取得されたピクチャの一部分を含むピクチャのバージョンであり得、ブロック402からのピクチャは、0値ピクチャ順序カウントオフセットによって示される参照ピクチャ(たとえば、異なる重みをもつブロック402からのピクチャのコピー)とは異なる重み付けパラメータを有する。
【0167】
[0138] ブロック408において、プロセス400は、0値ピクチャ順序カウントオフセットによって識別された参照ピクチャの少なくとも一部分を使用して、ピクチャの少なくとも一部分を再構築する。ピクチャの再構築は、VVC準拠復号演算の一部としてビットストリームからのピクチャの再構築の一部として実施され得るか、または任意の同様の復号演算の一部であり得る。このプロセス400は、ピクチャの追加の部分またはビットストリームから取得された他のピクチャについて繰り返され得る。ピクチャの複数の部分のための異なる対応するピクチャ順序カウントオフセットが、プロセスの一部として識別される。このプロセスは、任意の数のピクチャについてさらに繰り返され得、いくつかのピクチャは重み付け予測を使用し、他のピクチャは重み付け予測を無効にする。重み付け予測が有効にされるとき、ビデオのいくつかの参照ピクチャは、0である関連するピクチャ順序カウントオフセット値を有し、他の参照ピクチャは非0値を有し、他のアクセスユニットからのフレームを用いてが、現在フレームの重み付け予測のために使用される。関連するピクチャは、次いで、プロセスが追加のピクチャについて繰り返すにつれて、再構築される。
【0168】
[0139] いくつかの例では、追加のフレームは、重み付け予測が無効にされることを示すフラグを識別する。いくつかのそのような実施形態では、追加のピクチャまたはピクチャ部分またはピクチャスライスは、複数の対応するピクチャ順序カウントオフセットを示すビットストリームのシンタックス要素の値を、シグナリングされた値+1として再構築することによって、シンタックス要素をパースするための動作で処理され得る。いくつかのそのような例では、abs_delta_poc_st短期参照ピクチャシンタックス値は、重み付け予測が無効にされるとき、第2のピクチャのピクチャ順序カウント値と、第2の参照ピクチャのための参照ピクチャリストにおける前の短期参照ピクチャエントリとの間の絶対差分を、abs_delta_poc_st短期参照ピクチャシンタックス値+1として指定する。
【0169】
[0140] いくつかの例では、重み付け予測とレイヤ間予測の両方は、ピクチャの一部分に適用され得、したがって、参照ピクチャは、ピクチャとは異なるサイズを有し、参照ピクチャは、(たとえば、ブロック402からの)ピクチャに関連する異なる重みの第2のセットとは異なる重みのセットに関連する。いくつかのそのような例では、参照ピクチャは、0に等しいピクチャ順序カウント最下位ビット値をもつ短期参照ピクチャとしてシグナリングされる。
【0170】
[0141] いくつかの例では、ピクチャは、上記で説明されたように、非瞬時復号リフレッシュ(非IDR)ピクチャである(たとえば、ピクチャは、別のタイプのピクチャまたはランダムアクセスピクチャを含むことができる)。
【0171】
[0142] 図5は、いくつかの例による、プロセス500の一例を示す流れ図である。いくつかの例では、プロセス500は、符号化デバイス(たとえば、符号化デバイス104)によって実施される。他の例では、プロセス500は、デバイスのプロセッサが命令を実行するとき、デバイスにプロセス500を実施させる、非一時的記憶媒体における命令として実装され得る。いくつかの場合には、プロセス500がビデオエンコーダによって実施されるとき、ビデオデータは、符号化ビデオビットストリーム中で符号化されるべきピクチャまたはそのピクチャの部分(たとえば、1つまたは複数のブロック)を含むことができるか、あるいは符号化ビデオビットストリーム中で符号化されるべき複数のピクチャを含むことができる。
【0172】
[0143] ブロック502において、プロセス500は、ピクチャの少なくとも一部分を識別することを含む。ブロック504において、プロセス500は、ピクチャの一部分について有効にされるような重み付け予測を選択することを含む。ブロック506において、プロセス500は、ピクチャの一部分のための参照ピクチャを識別することを含む。参照ピクチャを識別することは、様々なピクチャのための重みを選択すること、ならびに、第1のピクチャのための参照ピクチャとして異なる重みを有するコピーにピクチャを関連付けることを含むことができる。
【0173】
[0144] ブロック508において、プロセス500は、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成することを含む。ブロック510において、プロセス500は、ビットストリームを生成することを含む。ビットストリームは、ピクチャの一部分と、ピクチャの一部分に関連するような0値ピクチャ順序カウントオフセットとを含む。
【0174】
[0145] ちょうどプロセス400についての上記のように、プロセス500は、様々なデバイスにおいて実装され得る。いくつかの実装形態では、プロセス500は、少なくとも1つのピクチャをキャプチャおよび記憶する(capturing and storing)ための、プロセッサとメモリとに結合されたカメラをもつモバイルデバイスの処理回路によって実施される。他の例では、プロセス500は、プロセッサに結合されたディスプレイをもつ任意のデバイスによって実施され、ディスプレイは、少なくとも1つのピクチャがプロセス400を使用して処理され、ビットストリーム中で送信されるより前に、そのピクチャを表示するために構成される。
【0175】
[0146] いくつかの実装形態では、(プロセス400および500を含む)本明細書で説明されるプロセス(または方法)は、図1に示されているシステム100など、コンピューティングデバイスまたは装置によって実施され得る。たとえば、プロセスは、図1および図6に示されている符号化デバイス104によって、別のビデオソース側デバイスまたはビデオ送信デバイスによって、図1および図7に示されている復号デバイス112によって、ならびに/あるいは、プレーヤデバイス、ディスプレイ、または任意の他のクライアント側デバイスなど、別のクライアント側デバイスによって実施され得る。いくつかの場合には、コンピューティングデバイスまたは装置は、本明細書で説明されるプロセスのステップを行うように構成された、1つまたは複数の入力デバイス、1つまたは複数のプロセッサ、1つまたは複数のマイクロプロセッサ、1つまたは複数のマイクロコンピュータ、および/またはデバイスの(1つまたは複数の)他の構成要素を含み得る。
【0176】
[0147] いくつかの例では、コンピューティングデバイスまたは装置は、モバイルデバイス、デスクトップコンピュータ、サーバコンピュータおよび/もしくはサーバシステム、または他のタイプのコンピューティングデバイスを含むか、あるいはそれらであり得る。コンピューティングデバイスの構成要素(たとえば、1つまたは複数の入力デバイス、1つまたは複数の出力デバイス、1つまたは複数のプロセッサ、1つまたは複数のマイクロプロセッサ、1つまたは複数のマイクロコンピュータ、および/または(1つまたは複数の)他の構成要素)は、回路において実装され得る。たとえば、構成要素は、本明細書で説明される様々な動作を実施するために、1つまたは複数のプログラマブル電子回路(たとえば、マイクロプロセッサ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、中央処理ユニット(CPU)、および/または他の好適な電子回路)を含むことができる、電子回路もしくは他の電子ハードウェアを含むことができ、および/またはそれらを使用して実装され得、ならびに/あるいは、コンピュータソフトウェア、ファームウェア、もしくはそれらの任意の組合せを含むことができ、および/またはそれらを使用して実装され得る。いくつかの例では、コンピューティングデバイスまたは装置は、ビデオフレームを含むビデオデータ(たとえば、ビデオシーケンス)をキャプチャするように構成されたカメラを含み得る。いくつかの例では、ビデオデータをキャプチャするカメラまたは他のキャプチャデバイスは、コンピューティングデバイスとは別個であり、その場合、コンピューティングデバイスは、キャプチャされたビデオデータを受信または取得する。コンピューティングデバイスは、ビデオデータを通信するように構成されたネットワークインターフェースを含み得る。ネットワークインターフェースは、インターネットプロトコル(IP)ベースのデータまたは他のタイプのデータを通信するように構成され得る。いくつかの例では、コンピューティングデバイスまたは装置は、ビデオビットストリームのピクチャのサンプルなど、出力ビデオコンテンツを表示するためのディスプレイを含み得る。
【0177】
[0148] プロセスは、論理流れ図に関して説明され得、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せにおいて実施され得る動作のシーケンスを表現する。コンピュータ命令のコンテキストでは、動作は、1つまたは複数のプロセッサによって実行されたとき、具陳された動作を実施する1つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表現する。概して、コンピュータ実行可能命令は、特定の機能を実施するか、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が説明される順序は、限定として解釈されるものではなく、任意の数の説明される動作は、プロセスを実装するために任意の順序でおよび/または並行して組み合わせられ得る。
【0178】
[0149] さらに、プロセスは、実行可能命令で構成された1つまたは複数のコンピュータシステムの制御下で実施され得、まとめて1つまたは複数のプロセッサ上で、ハードウェアによって、あるいはそれらの組合せで実行するコード(たとえば、実行可能命令、1つまたは複数のコンピュータプログラム、または1つまたは複数のアプリケーション)として実装され得る。上述のように、コードは、たとえば、1つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読または機械可読記憶媒体に記憶され得る。コンピュータ可読または機械可読記憶媒体は非一時的であり得る。
【0179】
[0150] 本明細書で説明されたコーディング技法は、例示的なビデオ符号化および復号システム(video encoding and decoding system)(たとえば、システム100)において実装され得る。いくつかの例では、システムは、宛先デバイスによって後で復号されるべき符号化ビデオデータを与えるソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介してビデオデータを宛先デバイスに与える。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。いくつかの場合には、ソースデバイスおよび宛先デバイスはワイヤレス通信のために装備され得る。
【0180】
[0151] 宛先デバイスは、コンピュータ可読媒体を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体は、ソースデバイスから宛先デバイスに符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体は、ソースデバイスが符号化ビデオデータを宛先デバイスにリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイスに送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイスから宛先デバイスへの通信を可能にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【0181】
[0152] いくつかの例では、符号化データは、出力インターフェースから記憶デバイスに出力され得る。同様に、符号化データは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイスによって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイスに送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi-Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【0182】
[0153] 本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【0183】
[0154] 一例では、ソースデバイスは、ビデオソースと、ビデオエンコーダと、出力インターフェースとを含む。宛先デバイスは、入力インターフェースと、ビデオデコーダと、ディスプレイデバイスとを含み得る。ソースデバイスのビデオエンコーダは、本明細書で開示される技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイスは、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイスは、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【0184】
[0155] 上記の例示的なシステムは一例にすぎない。ビデオデータを並行して処理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実施され得る。概して、本開示の技法はビデオ符号化デバイスによって実施されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実施され得る。その上、本開示の技法はビデオプリプロセッサによっても実施され得る。ソースデバイスおよび宛先デバイスは、ソースデバイスが宛先デバイスに送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、ソースデバイスおよび宛先デバイスは、デバイスの各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、例示的なシステムは、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのための、ビデオデバイス間の一方向または双方向のビデオ送信をサポートし得る。
【0185】
[0156] ビデオソースは、ビデオカメラなどのビデオキャプチャデバイス、前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソースは、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。いくつかの場合には、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダによって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェースによってコンピュータ可読媒体上に出力され得る。
【0186】
[0157] 述べられたように、コンピュータ可読媒体は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-rayディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、たとえば、ネットワーク送信を介して、ソースデバイスから符号化ビデオデータを受信し、その符号化ビデオデータを宛先デバイスに与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイスから符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを作り出し得る。したがって、コンピュータ可読媒体は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解され得る。
【0187】
[0158] 宛先デバイスの入力インターフェースはコンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ビデオエンコーダによって定義され、またビデオデコーダによって使用される、ブロックおよび他のコード化ユニット、たとえば、ピクチャグループ(GOP)の特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイスは、復号ビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。本出願の様々な例が説明された。符号化デバイス104および復号デバイス112の具体的な詳細が、それぞれ図6および図7に示されている。
【0188】
[0159] 符号化デバイス104および復号デバイス112の具体的な詳細が、それぞれ図6および図7に示されている。図6は、本開示で説明される技法のうちの1つまたは複数を実装し得る例示的な符号化デバイス104を示すブロック図である。符号化デバイス104は、たとえば、本明細書で説明されるシンタックス構造(たとえば、VPS、SPS、PPS、または他のシンタックス要素のシンタックス構造)を生成し得る。符号化デバイス104は、ビデオ内のビデオブロックのイントラ予測コーディングおよびインター予測コーディングを実施し得る。前に説明されたように、イントラコーディングは、所与のビデオフレームまたはピクチャ内の空間冗長性を低減または除去するために、空間予測に少なくとも部分的に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたは周囲のフレーム内の時間冗長性を低減または除去するために、時間予測に少なくとも部分的に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)または双予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
【0189】
[0160] 符号化デバイス104は、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測処理ユニット46とを含む。ビデオブロック再構築のために、符号化デバイス104はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表現するものとする。図6ではフィルタユニット63はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット63はループ後フィルタとして実装され得る。後処理デバイス57は、符号化デバイス104によって生成された符号化ビデオデータに対して追加の処理を実施し得る。本開示の技法は、いくつかの事例では、符号化デバイス104によって実装され得る。しかしながら、他の事例では、本開示の技法のうちの1つまたは複数は、後処理デバイス57によって実装され得る。
【0190】
[0161] 図6に示されているように、符号化デバイス104はビデオデータを受信し、区分ユニット35はデータをビデオブロックに区分する。区分はまた、たとえば、LCUおよびCUのクワッドツリー構造に従って、スライス、スライスセグメント、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分を含み得る。符号化デバイス104は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、誤差結果(たとえば、コーディングレートおよびひずみレベルなど)に基づいて現在ビデオブロックについて、複数のイントラ予測コーディングモードのうちの1つ、または複数のインター予測コーディングモードのうちの1つなど、複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構築するために加算器62に与え得る。
【0191】
[0162] 予測処理ユニット41内のイントラ予測処理ユニット46は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実施し得る。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングを実施する。
【0192】
[0163] 動き推定ユニット42は、ビデオシーケンスに対する所定のパターンに従って、ビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Pスライス、Bスライス、またはGPBスライスに指定し得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別個に示されている。動き推定ユニット42によって実施される動き推定は、ビデオブロックについての動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する、現在ビデオフレームまたはピクチャ内のビデオブロックの予測ユニット(PU)の変位を示し得る。
【0193】
[0164] 予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUにぴったり一致することがわかるブロックである。いくつかの例では、符号化デバイス104は、ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算し得る。たとえば、符号化デバイス104は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【0194】
[0165] 動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUについての動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの各々は、ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
【0195】
[0166] 動き補償ユニット44によって実施される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によっては、サブピクセル精度への補間を実施することを伴い得る。現在ビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストにおいて指す予測ブロックの位置を特定し得る。符号化デバイス104は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックのための残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器50は、この減算演算を実施する1つまたは複数の構成要素を表現する。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際に復号デバイス112が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【0196】
[0167] イントラ予測処理ユニット46は、上記で説明されたように、動き推定ユニット42と動き補償ユニット44とによって実施されるインター予測の代替として、現在ブロックをイントラ予測することができる。特に、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット46は、(たとえば、別個の符号化パス中に)様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測処理ユニット46は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードのためにレートひずみ分析を使用してレートひずみ値を計算し得、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを作り出すために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを作り出すために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのためのひずみおよびレートから比を計算し得る。
【0197】
[0168] いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に与え得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。符号化デバイス104は、様々なブロックのための符号化コンテキストの構成データ定義、ならびにコンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示を送信ビットストリーム中に含め得る。ビットストリーム構成データは、複数のイントラ予測モードインデックステーブルと、(コードワードマッピングテーブルとも呼ばれる)複数の修正されたイントラ予測モードインデックステーブルとを含み得る。
【0198】
[0169] 予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、符号化デバイス104は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセルドメインから周波数ドメインなどの変換ドメインに変換し得る。
【0199】
[0170] 変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット56が走査を実施し得る。
【0200】
[0171] 量子化の後に、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピー符号化技法を実施し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化ビットストリームは復号デバイス112に送信されるか、あるいは復号デバイス112が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【0201】
[0172] 逆量子化ユニット58および逆変換処理ユニット60は、参照ピクチャの参照ブロックとして後で使用するためにピクセルドメインにおいて残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット44は、残差ブロックを参照ピクチャリスト内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構築された残差ブロックに1つまたは複数の補間フィルタを適用し得る。加算器62は、ピクチャメモリ64に記憶するための参照ブロックを作り出すために、再構築された残差ブロックを動き補償ユニット44によって作り出された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
【0202】
[0173] このようにして、図6の符号化デバイス104は、図4および図5に関して上記で説明されたプロセスを含む、本明細書で説明される技法のうちの1つまたは複数を実施するように構成されたビデオエンコーダの一例を表現する。いくつかの場合には、本開示の技法のうちのいくつかは、後処理デバイス57によっても実装され得る。
【0203】
[0174] 図7は、例示的な復号デバイス112を示すブロック図である。復号デバイス112は、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、フィルタユニット91と、ピクチャメモリ92とを含む。予測処理ユニット81は、動き補償ユニット82と、イントラ予測処理ユニット84とを含む。復号デバイス112は、いくつかの例では、図6からの符号化デバイス104に関して説明された符号化パスとは概して逆の復号パスを実施し得る。
【0204】
[0175] 復号プロセス中に、復号デバイス112は、符号化デバイス104によって送られた、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表現する符号化ビデオビットストリームを受信する。いくつかの例では、復号デバイス112は、符号化デバイス104から符号化ビデオビットストリームを受信し得る。いくつかの例では、復号デバイス112は、サーバ、メディアアウェアネットワーク要素(MANE)、ビデオエディタ/スプライサ、または上記で説明された技法のうちの1つまたは複数を実装するように構成された他のそのようなデバイスなど、ネットワークエンティティ79から符号化ビデオビットストリームを受信し得る。ネットワークエンティティ79は、符号化デバイス104を含むことも、含まないこともある。本開示で説明される技法のうちのいくつかは、ネットワークエンティティ79が符号化ビデオビットストリームを復号デバイス112に送信するより前に、ネットワークエンティティ79によって実装され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ79および復号デバイス112は別個のデバイスの部分であり得るが、他の事例では、ネットワークエンティティ79に関して説明される機能は、復号デバイス112を備える同じデバイスによって実施され得る。
【0205】
[0176] 復号デバイス112のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルと他のシンタックス要素とを予測処理ユニット81に転送する。復号デバイス112は、ビデオスライスレベルおよび/またはビデオブロックレベルのシンタックス要素を受信し得る。エントロピー復号ユニット80は、VPS、SPS、およびPPSなど、または複数のパラメータセット中の固定長シンタックス要素と可変長シンタックス要素の両方を処理し、パースし得る。
【0206】
[0177] ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、B、PまたはGPB)スライスとしてコーディングされたとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを作り出す。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの1つから作り出され得る。復号デバイス112は、ピクチャメモリ92に記憶された参照ピクチャに基づいて、構築技法を使用して、参照フレームリスト、すなわち、リスト0とリスト1とを構築し得る。
【0207】
[0178] 動き補償ユニット82は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを作り出すために、その予測情報を使用する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスのための1つまたは複数の参照ピクチャリストのための構築情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、パラメータセット中の1つまたは複数のシンタックス要素を使用し得る。
【0208】
[0179] 動き補償ユニット82はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット82は、参照ブロックのサブ整数ピクセルのための補間値を計算するために、ビデオブロックの符号化中に符号化デバイス104によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット82は、受信されたシンタックス要素から符号化デバイス104によって使用された補間フィルタを決定し得、予測ブロックを作り出すためにその補間フィルタを使用し得る。
【0209】
[0180] 逆量子化ユニット86は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべきである逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとに符号化デバイス104によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット88は、ピクセルドメインにおける残差ブロックを作り出すために、逆変換(たとえば、逆DCTまたは他の好適な逆変換)、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【0210】
[0181] 動き補償ユニット82が、動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックのための予測ブロックを生成した後に、復号デバイス112は、逆変換処理ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器90は、この加算演算を実施する1つまたは複数の構成要素を表現する。所望される場合、(コーディングループ内またはコーディングループ後のいずれかの)ループフィルタも、ピクセル遷移を平滑化するために、またはさもなければビデオ品質を改善するために使用され得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表現するものとする。図7では、フィルタユニット91はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット91はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、後続の動き補償のために使用される参照ピクチャを記憶するピクチャメモリ92に記憶される。ピクチャメモリ92はまた、図1に示されているビデオ宛先デバイス122など、ディスプレイデバイス上で後で提示するために復号ビデオを記憶する。
【0211】
[0182] このようにして、図7の復号デバイス112は、図3および図4に関して上記で説明されたプロセスを含む、本明細書で説明される技法のうちの1つまたは複数を実施するように構成されたビデオデコーダの一例を表現する。
【0212】
[0183] フィルタユニット91は、再構築されたブロック(たとえば、加算器90の出力)をフィルタ処理し、参照ブロックとして使用するために、フィルタ処理された再構築されたブロックをDPB94に記憶し、および/またはフィルタ処理された再構築されたブロック(復号ビデオ)を出力する。参照ブロックは、後続のビデオフレームまたはピクチャの中のブロックをインター予測するために、動き補償ユニット82によって参照ブロックとして使用され得る。フィルタユニット91は、デブロッキングフィルタ処理、SAOフィルタ処理、ピークSAOフィルタ処理、ALF、および/またはGALF、ならびに/あるいは他のタイプのループフィルタなど、任意のタイプのフィルタ処理を実施し得る。デブロッキングフィルタは、たとえば、再構築されたビデオからブロッキネスアーティファクトを除去するために、フィルタブロック境界にデブロッキングフィルタ処理を適用し得る。ピークSAOフィルタは、全体的なコーディング品質を改善するために、再構築されたピクセル値にオフセットを適用し得る。(ループ内またはループ後の)追加のループフィルタも使用され得る。
【0213】
[0184] さらに、フィルタユニット91は、適応ループフィルタ処理に関係する本開示における技法のいずれかを実施するように構成され得る。たとえば、上記で説明されたように、フィルタユニット91は、現在ブロックと同じAPS、異なるAPS、またはあらかじめ定義されたフィルタ中に含まれた、前のブロックをフィルタ処理するためのパラメータに基づいて、現在ブロックをフィルタ処理するためのパラメータを決定するように構成され得る。
【0214】
[0185] 本明細書で使用される「コンピュータ可読媒体」という用語は、限定はしないが、ポータブルまたは非ポータブル記憶デバイス、光記憶デバイス、ならびに(1つまたは複数の)命令および/またはデータを記憶、含有、または担持することが可能な様々な他の媒体を含む。コンピュータ可読媒体は、データがそこに記憶され得る非一時的媒体を含み得、それは、ワイヤレスにまたはワイヤード接続を介して伝搬する搬送波および/または一時的電子信号を含まない。非一時的媒体の例は、限定はしないが、磁気ディスクまたはテープ、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリまたはメモリデバイスを含み得る。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表現し得るコードおよび/または機械実行可能命令をその上に記憶していることがある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、転送、または送信され得る。
【0215】
[0186] いくつかの例では、コンピュータ可読記憶デバイス、媒体、およびメモリは、ビットストリームなどを含んでいるケーブル信号またはワイヤレス信号を含むことができる。しかしながら、述べられるとき、非一時的コンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波、および信号自体などの媒体を明確に除外する。
【0216】
[0187] 本明細書で提供される例および例の完全な理解を与えるために、具体的な詳細が上記の説明で与えられる。ただし、例はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。説明の明快のために、いくつかの事例では、本技術は、デバイス、デバイス構成要素、ソフトウェアで具現される方法におけるステップまたはルーチン、あるいはハードウェアとソフトウェアとの組合せを備える機能ブロックを含む個々の機能ブロックを含むものとして提示され得る。図に示されているおよび/または本明細書で説明される構成要素以外の追加の構成要素が使用され得る。たとえば、回路、システム、ネットワーク、プロセス、および他の構成要素は、例を不要な詳細で不明瞭にしないためにブロック図の形態で構成要素として示され得る。他の事例では、例を不明瞭にすることを回避するために、よく知られている回路、プロセス、アルゴリズム、構造、および技法が不要な詳細なしに示され得る。
【0217】
[0188] 個々の例は、フローチャート、流れ図、データフロー図、構造図、またはブロック図として示されるプロセスまたは方法として、上記で説明され得る。フローチャートは動作を逐次プロセスとして説明することがあるが、動作の多くは並行してまたは同時に実施され得る。さらに、動作の順序は並べ替えられ得る。それの動作が完了されるとき、プロセスは終了されるが、図中に含まれない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、それの終了は呼出し関数またはメイン関数への関数の復帰に対応することができる。
【0218】
[0189] 上記で説明された例によるプロセスおよび方法は、記憶されるかまたはさもなければコンピュータ可読媒体から利用可能である、コンピュータ実行可能命令を使用して実装され得る。そのような命令は、たとえば、汎用コンピュータ、専用コンピュータ、または処理デバイスが、ある機能または機能のグループを実施することを引き起こすか、あるいはさもなければそれらを実施するように構成する、命令とデータとを含むことができる。使用されるコンピュータリソースの一部分が、ネットワークを介してアクセス可能であり得る。コンピュータ実行可能命令は、たとえば、バイナリ、アセンブリ言語などの中間フォーマット命令、ファームウェア、ソースコードなどであり得る。命令、使用される情報、および/または説明される例による方法中に作成される情報を記憶するために使用され得るコンピュータ可読媒体の例は、磁気または光ディスク、フラッシュメモリ、不揮発性メモリを備えたUSBデバイス、ネットワーク化された記憶デバイスなどを含む。
【0219】
[0190] これらの開示によるプロセスおよび方法を実装するデバイスは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せを含むことができ、様々なフォームファクタのいずれかをとることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実施するためのプログラムコードまたはコードセグメント(たとえば、コンピュータプログラム製品)は、コンピュータ可読または機械可読媒体に記憶され得る。(1つまたは複数の)プロセッサが、必要なタスクを実施し得る。フォームファクタの一般的な例は、ラップトップ、スマートフォン、モバイルフォン、タブレットデバイスまたは他のスモールフォームファクタパーソナルコンピュータ、携帯情報端末、ラックマウント(rackmount)デバイス、スタンドアロンデバイスなどを含む。本明細書で説明される機能はまた、周辺機器またはアドインカードで具現され得る。そのような機能はまた、さらなる例として、単一のデバイスにおいて実行する異なるチップまたは異なるプロセスの間で回路板上に実装され得る。
【0220】
[0191] 命令、そのような命令を伝達するための媒体、それらを実行するためのコンピューティングリソース、およびそのようなコンピューティングリソースをサポートするための他の構造は、本開示で説明される機能を提供するための例示的な手段である。
【0221】
[0192] 上記の説明では、本出願の態様がそれの特定の例を参照しながら説明されたが、本出願はそれに限定されないことを、当業者は認識されよう。したがって、本出願の例示的な例が本明細書で詳細に説明されているが、従来技術によって限定される場合を除いて、発明的概念が、場合によっては様々に具現および採用され得、添付の特許請求の範囲が、そのような変形形態を含むように解釈されるものであることを理解されたい。上記で説明された適用例の様々な特徴および態様は、個々にまたは一緒に使用され得る。さらに、例は、本明細書のより広い趣旨および範囲から逸脱することなく、本明細書で説明された環境および適用例以外に、任意の数の環境および適用例において利用され得る。したがって、本明細書および図面は、限定的なものではなく例示的なものとして考慮されるべきである。説明の目的で、方法は特定の順序で説明された。代替例では、方法は、説明された順序とは異なる順序で実施され得ることを諒解されたい。
【0222】
[0193] 本明細書で使用される、よりも小さい(「<」)、および、よりも大きい(「>」)のシンボルまたは専門用語は、本明細書の範囲から逸脱することなく、それぞれ、よりも小さいかまたはそれに等しい(「≦」)、および、よりも大きいかまたはそれに等しい(「≧」)のシンボルと置き換えられ得ることを、当業者は諒解されよう。
【0223】
[0194] 構成要素が、ある動作を実施する「ように構成されて」いるものとして説明される場合、そのような構成は、たとえば、動作を実施するように電子回路または他のハードウェアを設計することによって、動作を実施するようにプログラマブル電子回路(たとえば、マイクロプロセッサ、または他の好適な電子回路)をプログラムすることによって、またはそれらの任意の組合せによって、達成され得る。
【0224】
[0195] 「に結合された」という句は、直接的にまたは間接的にのいずれかで別の構成要素に物理的に接続された任意の構成要素、および/あるいは直接的にまたは間接的にのいずれかで別の構成要素と通信している(たとえば、ワイヤードまたはワイヤレス接続および/あるいは他の好適な通信インターフェースを介して他の構成要素に接続された)任意の構成要素を指す。
【0225】
[0196] セット「のうちの少なくとも1つ」、および/またはセットのうちの「1つまたは複数」を具陳するクレームの文言または他の文言は、セットのうちの1つのメンバーまたは(任意の組合せにおける)セットのうちの複数のメンバーがクレームを満たすことを示す。たとえば、「AおよびBのうちの少なくとも1つ」を具陳するクレームの文言は、A、B、またはAおよびBを意味する。別の例では、「A、B、およびCのうちの少なくとも1つ」を具陳するクレームの文言は、A、B、C、またはAおよびB、またはAおよびC、またはBおよびC、またはAおよびBおよびCを意味する。セット「のうちの少なくとも1つ」、および/またはセットのうちの「1つまたは複数」という文言は、セットを、セットに記載されている項目に限定しない。たとえば、「AおよびBのうちの少なくとも1つ」を具陳するクレームの文言は、A、B、またはAおよびBを意味することができ、さらに、AおよびBのセットに記載されていない項目を含むことができる。
【0226】
[0197] 本明細書で開示される例に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記で説明された。そのような機能がハードウェアとして実装されるのかソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明される機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本出願の範囲からの逸脱を生じるものと解釈されるべきではない。
【0227】
[0198] 本明細書で説明された技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明された特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別個に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたとき、上記で説明された方法のうちの1つまたは複数を実施する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【0228】
[0199] プログラムコードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、あるいは本明細書で説明された技法の実装に好適な他の構造または装置のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオエンコーダ/デコーダ(コーデック)に組み込まれ得る。
【0229】
[0200] 本開示の例示的な例は、以下を含む。
【0230】
[0201] 例1. ビデオデータを処理する方法であって、方法は、1つまたは複数のピクチャを含むビデオデータを取得することと、重み付け予測が1つまたは複数のピクチャの少なくとも一部分について無効にされると決定することと、重み付け予測が1つまたは複数のピクチャの少なくとも一部分について無効にされると決定したことに応答して、2つ以上の参照ピクチャについて同じピクチャ順序カウント(POC)値を有することが可能にされないと決定することとを備える、方法。
【0231】
[0202] 例2. 1つまたは複数のピクチャの少なくとも一部分が、ピクチャのスライスを含む、例1に記載の方法。
【0232】
[0203] 例3. 重み付け予測フラグを取得することと、重み付け予測フラグに基づいて、重み付け予測が1つまたは複数のピクチャについて無効にされると決定することとをさらに備える、例1~2のいずれか1つに記載の方法。
【0233】
[0204] 例4. 重み付け予測フラグは、重み付け予測が、単方向予測されたスライス(Pスライス)に適用されるかどうかを示す、例3に記載の方法。
【0234】
[0205] 例5. 重み付け予測フラグは、重み付け予測が、双方向予測されたスライス(Bスライス)に適用されるかどうかを示す、例3に記載の方法。
【0235】
[0206] 例6. ビデオデータを記憶するように構成されたメモリと、例1~5のいずれかに従ってビデオデータを処理するように構成されたプロセッサとを備える装置。
【0236】
[0207] 例7. 装置がエンコーダを含む、例6に記載の装置。
【0237】
[0208] 例8. 装置がデコーダを含む、例6に記載の装置。
【0238】
[0209] 例9. 装置がモバイルデバイスである、例6~8のいずれか1つに記載の装置。
【0239】
[0210] 例10. ビデオデータを表示するように構成されたディスプレイをさらに備える、例6~9のいずれか1つに記載の装置。
【0240】
[0211] 例11. 1つまたは複数のピクチャをキャプチャするように構成されたカメラをさらに備える、例6~10のいずれか1つに記載の装置。
【0241】
[0212] 例12. プロセッサによって実行されたとき、例1~5のいずれかに記載の方法を実施する命令を記憶したコンピュータ可読媒体。
【0242】
[0213] 例13. ビデオデータを処理する方法であって、方法は、複数のレイヤにおける複数の参照ピクチャを含むビデオデータを取得することと、参照ピクチャ構造(RPS)を生成することと、RPSが、複数の参照ピクチャのうちの少なくとも1つの参照ピクチャのためのピクチャ順序カウント(POC)値とレイヤ識別子(ID)とを含み、ここにおいて、参照ピクチャのためのレイヤIDが、参照ピクチャのレイヤを識別する、を備える、方法。
【0243】
[0214] 例14. 複数の参照ピクチャの各参照ピクチャのためのレイヤIDを含むようにRPSを生成することをさらに備える、例13に記載の方法。
【0244】
[0215] 例15. 参照ピクチャのPOC値が現在ピクチャのPOC値に等しいとき、参照ピクチャのためのレイヤIDを含むようにRPSを生成することをさらに備える、例13に記載の方法。
【0245】
[0216] 例16. ビデオデータを記憶するように構成されたメモリと、例13~15のいずれかに従ってビデオデータを処理するように構成されたプロセッサとを備える装置。
【0246】
[0217] 例17. 装置がエンコーダを含む、例16に記載の装置。
【0247】
[0218] 例18. 装置がモバイルデバイスである、例16~17のいずれか1つに記載の装置。
【0248】
[0219] 例19. ビデオデータを表示するように構成されたディスプレイをさらに備える、例16~18のいずれか1つに記載の装置。
【0249】
[0220] 例20. 1つまたは複数のピクチャをキャプチャするように構成されたカメラをさらに備える、例16~19のいずれか1つに記載の装置。
【0250】
[0221] 例21. 処理されたビデオデータを送信するように構成された通信回路をさらに備える、例16~20のいずれか1つに記載の装置。
【0251】
[0222] 例22. プロセッサによって実行されたとき、例13~15のいずれかに記載の方法を実施する命令を記憶したコンピュータ可読媒体。
【0252】
[0223] 例23. ビデオデータを処理する方法であって、方法は、複数のレイヤにおける複数の参照ピクチャを含むビデオデータを取得することと、ビデオデータから、参照ピクチャ構造(RPS)を処理することと、RPSが、複数の参照ピクチャのうちの少なくとも1つの参照ピクチャのためのピクチャ順序カウント(POC)値とレイヤ識別子(ID)とを含み、ここにおいて、参照ピクチャのためのレイヤIDが、参照ピクチャのレイヤを識別する、を備える、方法。
【0253】
[0224] 例24. RPSが、複数の参照ピクチャの各参照ピクチャのためのレイヤIDを含む、例23に記載の方法。
【0254】
[0225] 例25. RPSは、参照ピクチャのPOC値が現在ピクチャのPOC値に等しいとき、参照ピクチャのためのレイヤIDを含む、例23に記載の方法。
【0255】
[0226] 例26. ビデオデータを記憶するように構成されたメモリと、例23~25のいずれかに従ってビデオデータを処理するように構成されたプロセッサとを備える装置。
【0256】
[0227] 例27. 装置がデコーダを含む、例26に記載の装置。
【0257】
[0228] 例28. 装置がモバイルデバイスである、例26~27のいずれか1つに記載の装置。
【0258】
[0229] 例29. ビデオデータを表示するように構成されたディスプレイをさらに備える、例26~28のいずれか1つに記載の装置。
【0259】
[0230] 例30. 1つまたは複数のピクチャをキャプチャするように構成されたカメラをさらに備える、例26~29のいずれか1つに記載の装置。
【0260】
[0231] 例31. プロセッサによって実行されたとき、例23~25のいずれかに記載の方法を実施する命令を記憶したコンピュータ可読媒体。
【0261】
[0232] 例32. ビデオデータを処理する方法であって、方法は、複数のレイヤにおける複数のピクチャを含むビデオデータを取得することと、複数のレイヤが、ビデオコンテンツの複数の表現に対応する、レイヤ間予測が複数のピクチャについて有効にされると決定することと、レイヤ間予測が複数のピクチャについて有効にされると決定したことに基づいて、0動きベクトルを推論することと、0動きベクトルは、複数の表現の複数ピクチャにおけるコンテンツの変位がないことを示す、を備える、方法。
【0262】
[0233] 例33. 動き情報は、動き情報がレイヤ間予測のために使用されないとき、複数のピクチャを含む符号化ビデオビットストリーム中でシグナリングされる、例33に記載の方法。
【0263】
[0234] 例34. ビデオデータを記憶するように構成されたメモリと、例32~33のいずれかに従ってビデオデータを処理するように構成されたプロセッサとを備える装置。
【0264】
[0235] 例35. 装置がエンコーダを含む、例34に記載の装置。
【0265】
[0236] 例36. 装置がデコーダを含む、例34に記載の装置。
【0266】
[0237] 例37. 装置がモバイルデバイスである、例34~36のいずれか1つに記載の装置。
【0267】
[0238] 例38. ビデオデータを表示するように構成されたディスプレイをさらに備える、例34~37のいずれか1つに記載の装置。
【0268】
[0239] 例39. 1つまたは複数のピクチャをキャプチャするように構成されたカメラをさらに備える、例34~38のいずれか1つに記載の装置。
【0269】
[0240] 例40. プロセッサによって実行されたとき、例32~33のいずれかに記載の方法を実施する命令を記憶したコンピュータ可読媒体。
【0270】
[0241] 例41. ビデオデータを処理する方法であって、方法は、ビデオデータを取得することと、ビデオデータから、1つまたは複数のシンタックス要素と複数のレイヤにおける複数のピクチャとを含む符号化ビデオビットストリームを生成することと、複数のレイヤが、ビデオコンテンツの複数の表現に対応する、ここにおいて、レイヤ間参照ピクチャエントリシンタックス要素におけるエントリの数が、参照ピクチャの最大数-インター予測参照ピクチャの数を超えないように制限される、を備える、方法。
【0271】
[0242] 例42. レイヤ間参照ピクチャエントリシンタックス要素が、参照ピクチャリストシンタックス構造における直接のレイヤ間参照ピクチャエントリの数を指定する、例41に記載の方法。
【0272】
[0243] 例43. ビデオデータを記憶するように構成されたメモリと、例41~42のいずれかに従ってビデオデータを処理するように構成されたプロセッサとを備える装置。
【0273】
[0244] 例44. 装置がエンコーダを含む、例43に記載の装置。
【0274】
[0245] 例45. 装置がモバイルデバイスである、例43に記載の装置。
【0275】
[0246] 例46. ビデオデータを表示するように構成されたディスプレイをさらに備える、例43~45のいずれか1つに記載の装置。
【0276】
[0247] 例47. 1つまたは複数のピクチャをキャプチャするように構成されたカメラをさらに備える、例43~46のいずれか1つに記載の装置。
【0277】
[0248] 例48. プロセッサによって実行されたとき、例41~42のいずれかに記載の方法を実施する命令を記憶したコンピュータ可読媒体。
【0278】
[0249] 例49. ビデオデータを処理する方法であって、方法は、1つまたは複数のシンタックス要素と複数のレイヤにおける複数のピクチャとを含む符号化ビデオビットストリームを取得することと、複数のレイヤが、ビデオコンテンツの複数の表現に対応する、符号化ビデオビットストリームから、レイヤ間参照ピクチャエントリシンタックス要素を処理することと、ここにおいて、レイヤ間参照ピクチャエントリシンタックス要素におけるエントリの数が、参照ピクチャの最大数-インター予測参照ピクチャの数を超えないように制限される、を備える、方法。
【0279】
[0250] 例50. レイヤ間参照ピクチャエントリシンタックス要素が、参照ピクチャリストシンタックス構造における直接のレイヤ間参照ピクチャエントリの数を指定する、例33に記載の方法。
【0280】
[0251] 例51. ビデオデータを記憶するように構成されたメモリと、例49~50のいずれかに従ってビデオデータを処理するように構成されたプロセッサとを備える装置。
【0281】
[0252] 例52. 装置がデコーダを含む、例51に記載の装置。
【0282】
[0253] 例53. 装置がモバイルデバイスである、例51に記載の装置。
【0283】
[0254] 例54. ビデオデータを表示するように構成されたディスプレイをさらに備える、例51~53のいずれか1つに記載の例示的な装置。
【0284】
[0255] 例55. 1つまたは複数のピクチャをキャプチャするように構成されたカメラをさらに備える、例51~54のいずれか1つに記載の例示的な装置。
【0285】
[0256] 例56. プロセッサによって実行されたとき、例49~50のいずれかに記載の方法を実施する命令を記憶した例示的なコンピュータ可読媒体。
【0286】
[0257] 例57. ビデオデータを復号するための方法であって、方法は、ビットストリームから、ピクチャの少なくとも一部分を取得することと、ビットストリームから、重み付け予測がピクチャの一部分について有効にされると決定することと、重み付け予測がピクチャの一部分について有効にされるという決定に基づいて、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを識別することと、0値ピクチャ順序カウントオフセットによって識別された参照ピクチャの少なくとも一部分を使用して、ピクチャの少なくとも一部分を再構築することとを備える、方法。
【0287】
[0258] 例58. ビットストリームから、ピクチャの複数の部分を取得することと、複数の部分が、0値ピクチャ順序カウントオフセットによって識別された参照ピクチャを使用して再構築されたピクチャの少なくとも一部分を含む、ピクチャの複数の部分のための複数の対応するピクチャ順序カウントオフセットを識別することと、ここにおいて、0値ピクチャ順序カウントオフセットが、複数の対応するピクチャ順序カウントオフセットのうちのピクチャのための対応するピクチャ順序カウントオフセットである、複数の対応するピクチャ順序カウントオフセットによって識別された複数の参照ピクチャを使用して、ピクチャを再構築することとをさらに備える、例57に記載の方法。
【0288】
[0259] 例59. ピクチャのための1つまたは複数の重み付け予測フラグを識別するためにビットストリームをパースすることによって、重み付け予測が有効にされると決定することをさらに備える、例57に記載の方法。
【0289】
[0260] 例60. ピクチャのための1つまたは複数の重み付け予測フラグが、シーケンスパラメータセット重み付け予測フラグとピクチャパラメータセット重み付け予測フラグとを備える、例59に記載の方法。
【0290】
[0261] 例61. シーケンスパラメータセット重み付け予測フラグおよびピクチャパラメータセット重み付け予測フラグが、単方向予測されたフレームのためのフラグである、例60に記載の方法。
【0291】
[0262] 例62. シーケンスパラメータセット重み付け予測フラグおよびピクチャパラメータセット重み付け予測フラグが、双方向予測フレームのためのフラグである、例60に記載の方法。
【0292】
[0263] 例63. ピクチャパラメータセット重み付け予測フラグが、シーケンスパラメータセット重み付け予測フラグによって制約される、例60に記載の方法。[]
[0264] 例64. ビットストリーム中に含まれる第2のピクチャの少なくとも一部分を取得することと、ビットストリームから、重み付け予測が第2のピクチャについて無効にされると決定することと、重み付け予測が第2のピクチャについて無効にされることに基づいて、第2の参照ピクチャのためのピクチャ順序カウントオフセットを示すビットストリームのシンタックス要素の値を、シグナリングされた値+1として再構築することによって、シンタックス要素をパースすることと、シンタックス要素の再構築された値を使用して第2のピクチャを再構築することとをさらに備える、例57に記載の方法。
【0293】
[0265] 例65. 参照ピクチャシンタックス要素の値は、重み付け予測が無効にされるとき、第2のピクチャのピクチャ順序カウント値と、第2の参照ピクチャのための参照ピクチャリストにおける前の参照ピクチャエントリとの間の絶対差分を、値+1として指定する、例64に記載の方法。
【0294】
[0266] 例66. 参照ピクチャが、重みの第1のセットに関連し、ピクチャが、重みの第1のセットとは異なる重みの第2のセットに関連し、ここにおいて、参照ピクチャが、ピクチャとは異なるサイズを有し、ここにおいて、参照ピクチャが、0に等しいピクチャ順序カウント最下位ビット値をもつ短期参照ピクチャとしてシグナリングされる、例57に記載の方法。
【0295】
[0267] 例67. ピクチャが、非瞬時復号リフレッシュ(非IDR)ピクチャである、例57に記載の方法。
【0296】
[0268] 例68. ピクチャの少なくとも一部分がスライスである、例57に記載の方法。
【0297】
[0269] 例69. ビットストリームから、レイヤ間予測のためのレイヤインデックスのレイヤを示す参照ピクチャのためのレイヤ識別子を決定することをさらに備え、ここにおいて、0値ピクチャ順序カウントオフセットは、レイヤ識別子が現在のレイヤ識別子とは異なるとき、シグナリングされていない参照ピクチャのためのピクチャ順序カウントから0値を推論することによって識別される、例57に記載の方法。
【0298】
[0270] 例70. ビデオデータを記憶するように構成されたメモリと、例57~69のいずれかに従ってビデオデータを処理するように構成されたプロセッサとを備える装置。
【0299】
[0271] 例71. ビデオデータを符号化するための装置であって、装置が、メモリと、回路中に実装されたプロセッサとを備え、プロセッサは、ピクチャの少なくとも一部分を識別することと、ピクチャの一部分について有効にされるような重み付け予測を選択することと、ピクチャの一部分のための参照ピクチャを識別することと、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成することと、ビットストリームを生成することと、ビットストリームが、ピクチャの一部分と、ピクチャの一部分に関連するような0値ピクチャ順序カウントオフセットとを備える、を行うように構成された、装置。
【0300】
[0272] 例72. ビデオデータを符号化するための方法であって、方法は、ピクチャの少なくとも一部分を識別することと、ピクチャの一部分について有効にされるような重み付け予測が選択されると決定することと、ピクチャの一部分のための参照ピクチャを識別することと、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成することと、ビットストリームを生成することと、ビットストリームが、ピクチャの一部分と、ピクチャの一部分に関連するような0値ピクチャ順序カウントオフセットとを備える、を備える、方法。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号するための装置であって、前記装置が、
メモリと、
回路中に実装されたプロセッサとを備え、前記プロセッサは、
ビットストリーム中に含まれるピクチャの少なくとも一部分を取得することと、
前記ビットストリームから、重み付け予測が前記ピクチャの少なくとも前記一部分について有効にされると決定することと、
重み付け予測が前記ピクチャの少なくとも前記一部分について有効にされるという前記決定に基づいて、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを識別することと、
前記0値ピクチャ順序カウントオフセットによって識別された前記参照ピクチャの少なくとも一部分を使用して、前記ピクチャの少なくとも前記一部分を再構築することとを行うように構成された、装置。
[C2]
前記プロセッサは、
前記ビットストリームから、前記ピクチャの複数の部分を取得することと、前記複数の部分が、前記0値ピクチャ順序カウントオフセットによって識別された前記参照ピクチャを使用して再構築された前記ピクチャの少なくとも前記一部分を含む、
前記ピクチャの前記複数の部分のための複数の対応するピクチャ順序カウントオフセットを識別することと、ここにおいて、前記0値ピクチャ順序カウントオフセットが、前記参照ピクチャに関連する前記複数の対応するピクチャ順序カウントオフセットのうちの対応するピクチャ順序カウントオフセットである、
前記複数の対応するピクチャ順序カウントオフセットによって識別された複数の参照ピクチャを使用して、前記ピクチャを再構築することと
を行うようにさらに構成された、C1に記載の装置。
[C3]
前記プロセッサは、前記ピクチャのための1つまたは複数の重み付け予測フラグを識別するために前記ビットストリームをパースすることによって、重み付け予測が有効にされると決定するようにさらに構成された、C1に記載の装置。
[C4]
前記ピクチャの前記一部分のための前記1つまたは複数の重み付け予測フラグが、シーケンスパラメータセット重み付け予測フラグとピクチャパラメータセット重み付け予測フラグとを備える、C3に記載の装置。
[C5]
前記シーケンスパラメータセット重み付け予測フラグおよび前記ピクチャパラメータセット重み付け予測フラグが、単方向予測されたフレームのためのフラグである、C4に記載の装置。
[C6]
前記シーケンスパラメータセット重み付け予測フラグおよび前記ピクチャパラメータセット重み付け予測フラグが、双方向予測フレームのためのフラグである、C4に記載の装置。
[C7]
前記ピクチャパラメータセット重み付け予測フラグが、前記シーケンスパラメータセット重み付け予測フラグによって制約される、C4に記載の装置。
[C8]
前記プロセッサは、
前記ビットストリーム中に含まれる第2のピクチャの少なくとも一部分を取得することと、
前記ビットストリームから、重み付け予測が前記第2のピクチャの前記一部分について無効にされると決定することと、
重み付け予測が前記第2のピクチャの前記一部分について無効にされるという前記決定に基づいて、前記第2のピクチャの前記一部分のための前記参照ピクチャリストからの第2の参照ピクチャを示すような、第2の0値ピクチャ順序カウントオフセットが可能にされないと決定することと
を行うようにさらに構成された、C1に記載の装置。
[C9]
前記プロセッサは、
前記第2の0値ピクチャ順序カウントオフセットが可能にされないという前記決定に基づいて、前記重み付け予測が前記第2のピクチャについて無効にされることに基づいて、シンタックス要素の再構築された値を、シグナリングされた値+1として生成することによって、前記第2の参照ピクチャのためのピクチャ順序カウントオフセットを示す前記ビットストリームの前記シンタックス要素をパースすることと、
前記シンタックス要素の前記再構築された値を使用して前記第2のピクチャを再構築することと
を行うようにさらに構成された、C8に記載の装置。
[C10]
参照ピクチャシンタックス要素の値は、重み付け予測が無効にされるとき、前記第2のピクチャのピクチャ順序カウント値と、前記第2の参照ピクチャのための前記参照ピクチャリストにおける前の参照ピクチャエントリとの間の絶対差分を、シグナリングされた値+1として指定する、C8に記載の装置。
[C11]
前記参照ピクチャが、重みの第1のセットに関連し、前記ピクチャが、重みの前記第1のセットとは異なる重みの第2のセットに関連し、
ここにおいて、前記参照ピクチャが、前記ピクチャとは異なるサイズを有し、
ここにおいて、前記参照ピクチャが、0に等しいピクチャ順序カウント最下位ビット値をもつ短期参照ピクチャとしてシグナリングされる、
C1に記載の装置。
[C12]
前記ピクチャが、非瞬時復号リフレッシュ(非IDR)ピクチャである、C1に記載の装置。
[C13]
前記プロセッサが、
前記ビットストリームから、レイヤ間予測のためのレイヤインデックスのレイヤを示す前記参照ピクチャのためのレイヤ識別子を決定すること
を行うように構成され、
ここにおいて、前記0値ピクチャ順序カウントオフセットは、前記レイヤ識別子が現在のレイヤ識別子とは異なるとき、シグナリングされていない前記参照ピクチャのためのピクチャ順序カウントから0値を推論することによって識別される、
C1に記載の装置。
[C14]
前記装置が、前記ピクチャをキャプチャおよび記憶するための、前記プロセッサと前記メモリとに結合されたカメラをもつモバイルデバイスを備える、C1に記載の装置。
[C15]
ディスプレイをさらに備える、C1に記載の装置。
[C16]
ビデオデータを復号するための方法であって、前記方法は、
ビットストリームから、ピクチャの少なくとも一部分を取得することと、
前記ビットストリームから、重み付け予測が前記ピクチャの前記一部分について有効にされると決定することと、
重み付け予測が前記ピクチャの前記一部分について有効にされるという前記決定に基づいて、参照ピクチャリストからの参照ピクチャを示す0値ピクチャ順序カウントオフセットを識別することと、
前記0値ピクチャ順序カウントオフセットによって識別された前記参照ピクチャの少なくとも一部分を使用して、前記ピクチャの少なくとも前記一部分を再構築することと
を備える、方法。
[C17]
前記ビットストリームから、前記ピクチャの複数の部分を取得することと、前記複数の部分が、前記0値ピクチャ順序カウントオフセットによって識別された前記参照ピクチャを使用して再構築された前記ピクチャの少なくとも前記一部分を含む、
前記ピクチャの前記複数の部分のための複数の対応するピクチャ順序カウントオフセットを識別することと、ここにおいて、前記0値ピクチャ順序カウントオフセットが、前記複数の対応するピクチャ順序カウントオフセットのうちの前記ピクチャのための対応するピクチャ順序カウントオフセットである、
前記複数の対応するピクチャ順序カウントオフセットによって識別された複数の参照ピクチャを使用して、前記ピクチャを再構築することと
をさらに備える、C16に記載の方法。
[C18]
前記ピクチャのための1つまたは複数の重み付け予測フラグを識別するために前記ビットストリームをパースすることによって、重み付け予測が有効にされると決定することをさらに備える、C16に記載の方法。
[C19]
前記ピクチャのための前記1つまたは複数の重み付け予測フラグが、シーケンスパラメータセット重み付け予測フラグとピクチャパラメータセット重み付け予測フラグとを備える、C18に記載の方法。
[C20]
前記シーケンスパラメータセット重み付け予測フラグおよび前記ピクチャパラメータセット重み付け予測フラグが、単方向予測されたフレームのためのフラグである、C19に記載の方法。
[C21]
前記シーケンスパラメータセット重み付け予測フラグおよび前記ピクチャパラメータセット重み付け予測フラグが、双方向予測フレームのためのフラグである、C19に記載の方法。
[C22]
前記ピクチャパラメータセット重み付け予測フラグが、前記シーケンスパラメータセット重み付け予測フラグによって制約される、C19に記載の方法。
[C23]
前記ビットストリーム中に含まれる第2のピクチャの少なくとも一部分を取得することと、
前記ビットストリームから、重み付け予測が前記第2のピクチャについて無効にされると決定することと、
前記重み付け予測が前記第2のピクチャについて無効にされることに基づいて、第2のシンタックス要素の再構築された値を、シグナリングされた値+1として生成することによって、第2の参照ピクチャのためのピクチャ順序カウントオフセットを示す前記ビットストリームの前記第2のシンタックス要素をパースすることと
をさらに備える、C16に記載の方法。
[C24]
前記第2のシンタックス要素の前記パースに基づいて、前記0値ピクチャ順序カウントオフセットが可能にされないと決定することと、
前記第2のシンタックス要素の前記再構築された値を使用して前記第2のピクチャを再構築することと
をさらに備える、C23に記載の方法。
[C25]
参照ピクチャシンタックス要素の値は、重み付け予測が無効にされるとき、前記第2のピクチャのピクチャ順序カウント値と、前記第2の参照ピクチャのための前記参照ピクチャリストにおける前の参照ピクチャエントリとの間の絶対差分を、前記シグナリングされた値+1として指定する、C23に記載の方法。
[C26]
前記参照ピクチャが、重みの第1のセットに関連し、前記ピクチャが、重みの前記第1のセットとは異なる重みの第2のセットに関連し、
ここにおいて、前記参照ピクチャが、前記ピクチャとは異なるサイズを有し、
ここにおいて、前記参照ピクチャが、0に等しいピクチャ順序カウント最下位ビット値をもつ短期参照ピクチャとしてシグナリングされる、
C16に記載の方法。
[C27]
前記ピクチャが、非瞬時復号リフレッシュ(非IDR)ピクチャである、C16に記載の方法。
[C28]
前記ピクチャの少なくとも前記一部分がスライスである、C16に記載の方法。
[C29]
前記ビットストリームから、レイヤ間予測のためのレイヤインデックスのレイヤを示す前記参照ピクチャのためのレイヤ識別子を決定すること
をさらに備え、
ここにおいて、前記0値ピクチャ順序カウントオフセットは、前記レイヤ識別子が現在のレイヤ識別子とは異なるとき、シグナリングされていない前記参照ピクチャのためのピクチャ順序カウントから0値を推論することによって識別される、
C16に記載の方法。
[C30]
ビデオデータを符号化するための装置であって、前記装置が、
メモリと、
回路中に実装されたプロセッサとを備え、前記プロセッサは、
ピクチャの少なくとも一部分を識別することと、
前記ピクチャの前記一部分について有効にされるような重み付け予測を選択することと、
前記ピクチャの前記一部分のための参照ピクチャを識別することと、
参照ピクチャリストからの前記参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成することと、
ビットストリームを生成することと、前記ビットストリームが、前記ピクチャの前記一部分と、前記ピクチャの前記一部分に関連するような前記0値ピクチャ順序カウントオフセットとを備える、
を行うように構成された、装置。
[C31]
ビデオデータを符号化するための方法であって、前記方法は、
ピクチャの少なくとも一部分を識別することと、
前記ピクチャの前記一部分について有効にされるような重み付け予測が選択されると決定することと、
前記ピクチャの前記一部分のための参照ピクチャを識別することと、
参照ピクチャリストからの前記参照ピクチャを示す0値ピクチャ順序カウントオフセットを生成することと、
ビットストリームを生成することと、前記ビットストリームが、前記ピクチャの前記一部分と、前記ピクチャの前記一部分に関連するような前記0値ピクチャ順序カウントオフセットとを備える、
を備える、方法。
図1
図2
図3
図4
図5
図6
図7